{"version":3,"file":"static/js/main.ad723435.js","mappings":"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AY,WAAY,WAAY,UAAY,WAC5D,WAAY,WAAY,UAAY,WAAY,WAAY,WAC5D,UAAY,WAAY,WAAY,WAAY,UAAY,WAC5D,WAAY,WAAY,UAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,WAAY,UAAY,WAC5D,WAAY,WAAY,UAAY,WAAY,WAAY,WAC5D,UAAY,WAAY,WAAY,WAAY,UAAY,WAC5D,WAAY,WAAY,UAAY,WAAY,WAAY,WAC5D,UAAY,WAAY,WAAY,WAAY,WAAY,SAC5D,WAAY,WAAY,WAAY,UAAY,WAAY,WAC5D,WAAY,UAAY,WAAY,WAAY,WAAY,UAC5D,WAAY,WAAY,WAAY,UAAY,WAAY,WAC5D,WAAY,UAAY,WAAY,WAAY,WAAY,UAC5D,WAAY,WAAY,WAAY,UAAY,WAAY,WAC5D,WAAY,UAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,WAAY,UAAY,WAAY,WAC5D,WAAY,UAAY,WAAY,WAAY,WAAY,UAC5D,WAAY,WAAY,WAAY,UAAY,WAAY,WAC5D,WAAY,UAAY,WAAY,WAAY,WAAY,UAC5D,WAAY,WAAY,WAAY,WAAY,SAAY,WAC5D,WAAY,WAAY,SAAY,WAAY,WAAY,WAC5D,UAAY,WAAY,WAAY,WAAY,UAAY,WAC5D,WAAY,WAAY,UAAY,WAAY,WAAY,WAC5D,UAAY,WAAY,WAAY,WAAY,UAAY,WAC5D,WAAY,WAAY,UAAY,WAAY,WAAY,WAC5D,UAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,WAAY,UAAY,WAAY,WAAY,WAC5D,UAAY,WAAY,WAAY,WAAY,UAAY,WAC5D,WAAY,WAAY,UAAY,WAAY,WAAY,WAC5D,UAAY,WAAY,WAAY,WAAY,UAAY,WAC5D,WAAY,WAAY,WAAY,SAAY,WAAY,WAC5D,WAAY,SAAY,WAAY,WAAY,WAAY,UAC5D,WAAY,WAAY,WAAY,UAAY,WAAY,WAC5D,WAAY,UAAY,WAAY,WAAY,WAAY,UAC5D,WAAY,WAAY,WAAY,UAAY,WAAY,WAC5D,WAAY,UAAY,WAAY,WAAY,WAAY,UAC5D,WAAY,WAAY,WAAY,WAAY,WAAY,WAC5D,WAAY,SAAY,WAAY,WAAY,WAAY,UAC5D,WAAY,WAAY,WAAY,UAAY,WAAY,WAC5D,WAAY,UAAY,WAAY,WAAY,WAAY,UAC5D,WAAY,WAAY,WAAY,YAEpCC,GAA8B,WAC9B,SAASA,IACT,CAmKA,OAlKAA,EAAaC,WAAa,SAAUC,GAChCA,EAAMx0Q,QAAQiB,KAAKwzQ,UAAUjpQ,KAAKvK,MACtC,EACAqzQ,EAAaG,UAAY,SAAUhpP,GAC/BxqB,KAAKyzQ,QAAQz0Q,KAAK,CACdwrB,KAAMA,EACNkpP,QAAS,IAAInsQ,KACbosQ,UAAU,GAElB,EACAN,EAAaO,QAAU,SAAUppP,EAAM2iP,EAASwG,QAC3B,IAAbA,IAAuBA,GAAW,GACtC3zQ,KAAK6zQ,MAAM70Q,KAAK,CACZwrB,KAAMA,EACNkpP,QAAS,IAAInsQ,KACb4lQ,QAASA,EACTwG,SAAUA,GAElB,EACAN,EAAaS,WAAa,SAAUC,QACf,IAAbA,IAAuBA,EAAW,mBACtC,IAAIC,EAAah0Q,KAAKi0Q,kBAClBC,EAAcl0Q,KAAKm0Q,gBAAgBH,GAEvC,OADAh0Q,KAAKo0Q,cACE,IAAIlF,KAAK,CAACgF,GAAc,CAAE5iQ,KAAMyiQ,GAC3C,EACAV,EAAae,YAAc,WACvBp0Q,KAAKyzQ,QAAU,GACfzzQ,KAAK6zQ,MAAQ,EACjB,EACAR,EAAaY,gBAAkB,SAAUI,GACrC,IAAI1xO,EAAK5V,OACK,IAAVsnP,IAAoBA,EAAQ,IAChC,IAAIC,EAAat0Q,KAAKyzQ,QAAQzoQ,OAAOhL,KAAK6zQ,OACtCl6O,EAAM26O,EAAWl3Q,OACjBm3Q,EAAS,GACTC,EAAK,EACLC,EAAK,EACT,IACI,IAAK,IAAIC,EAAexB,GAAWoB,GAAaK,EAAiBD,EAAa75O,QAAS85O,EAAe75O,KAAM65O,EAAiBD,EAAa75O,OAAQ,CAC9I,IAAI+5O,EAAcD,EAAe53Q,MAC7B8lC,EAAK7iC,KAAK60Q,UAAUD,EAAaJ,GAAKM,EAAajyO,EAAGiyO,WAAYC,EAAelyO,EAAGkyO,aAAc5H,EAAUtqO,EAAGsqO,QACnHqH,GAAMM,EAAW13Q,OAAS+vQ,EAAQ/vQ,OAClCq3Q,GAAMM,EAAa33Q,OACnBi3Q,GAASS,EAAa3H,EACtBoH,GAAUQ,CACd,CACJ,CACA,MAAOnxO,GAASjB,EAAM,CAAEp3B,MAAOq4B,EAAS,CAAC,QAErC,IACQ+wO,IAAmBA,EAAe75O,OAAS/N,EAAK2nP,EAAahxO,SAAS3W,EAAGhnB,KAAK2uQ,EACtF,CAAC,QACS,GAAI/xO,EAAK,MAAMA,EAAIp3B,KAAO,CACxC,CAEA,OAAO8oQ,EAAQE,EADHv0Q,KAAKg1Q,eAAer7O,EAAK86O,EAAID,EAE7C,EACAnB,EAAawB,UAAY,SAAUD,EAAaz5H,GAC5C,IAAIgyH,EAAUyH,EAAYzH,QAAS3iP,EAAOoqP,EAAYpqP,KAAMkpP,EAAUkB,EAAYlB,QAASC,EAAWiB,EAAYjB,SAC9G/6O,EAAcwB,GAAExB,YAAa2tC,EAAWnsC,GAAEmsC,SAC1C0uM,EAAUr8O,EAAYpO,GACtB0qP,EAASD,IAAYzqP,EACrB2qP,EAAOn1Q,KAAKo1Q,YAAY1B,GACxB2B,EAAKr1Q,KAAKs1Q,YAAY5B,GACtB6B,EAAc,GAClB,GAAIL,EAAQ,CACR,IAAIM,EAAkBjvM,EAAS,EAAG,GAAKA,EAASvmE,KAAKy1Q,kBAAkBR,GAAU,GAAKA,EACtFM,EAAc,KAAahvM,EAASivM,EAAgBp4Q,OAAQ,GAAKo4Q,CACrE,CACA,IAAIzoP,EAAMogP,EAAqCntQ,KAAK01Q,oBAAoBvI,EAASwG,GAA7D,CAAE/iQ,KAAM,EAAGu8P,QAAS,IAAoDv8P,EAAOmc,EAAGnc,KAAM+kQ,EAAmB5oP,EAAGogP,QAC9HkB,EAAS,QACR6G,EAAS,OAAa,QACvB,OACA3uM,EAAS4uM,EAAM,GACf5uM,EAAS8uM,EAAI,GACb9uM,EAAS31D,EAAO5Q,KAAKy1Q,kBAAkBE,GAAoB,EAAG,GAC9DpvM,EAAS31D,EAAM,GACf21D,EAAS31D,EAAM,GACf21D,EAAS0uM,EAAQ73Q,OAAQ,GACzBmpE,EAASgvM,EAAYn4Q,OAAQ,GAYjC,MAAO,CAAE03Q,WAXQ,aAAezG,EAAS4G,EAAUM,EAWlBR,aAVd,mBAEf1G,EAFe,gBAMdlB,EAAU,WAAqB,cAChC5mM,EAAS40E,EAAQ,GACjB85H,EACAM,EACyDpI,QAASwI,GAAoB,GAC9F,EACAtC,EAAaqC,oBAAsB,SAAUvI,EAASwG,GAMlD,YALiB,IAAbA,IAAuBA,GAAW,GAClCA,IACAxG,EAAUA,EAAQ7pQ,MAAM,YAAY,IAGjC,CACHsN,MAFJu8P,EAAUwG,EAAWiC,KAAKzI,GAAWA,GAEnB/vQ,OACd+vQ,QAASA,EAEjB,EACAkG,EAAa2B,eAAiB,SAAUa,EAAMC,EAAMC,GAChD,IAAIxvM,EAAWnsC,GAAEmsC,SACjB,MAAO,qBAGHA,EAASsvM,EAAM,GACftvM,EAASsvM,EAAM,GACftvM,EAASuvM,EAAM,GACfvvM,EAASwvM,EAAM,GACf,MACR,EACA1C,EAAac,gBAAkB,SAAUhH,GAErC,IADA,IAAI6I,EAAQ,IAAIC,WAAW9I,EAAQ/vQ,QAC1BiD,EAAI,EAAGA,EAAI21Q,EAAM54Q,OAAQiD,IAC9B21Q,EAAM31Q,GAAK8sQ,EAAQtzO,WAAWx5B,GAElC,OAAO21Q,CACX,EACA3C,EAAaoC,kBAAoB,SAAUtI,GACvC,IAAKA,EAAQ/vQ,OACT,OAAO,EAIX,IAFA,IAAIwT,EAAOu8P,EAAQ/vQ,OACf84Q,EAAW,IAAID,WAAWrlQ,GACrBvQ,EAAI,EAAGA,EAAIuQ,EAAMvQ,IACtB61Q,EAAS71Q,GAAK8sQ,EAAQtzO,WAAWx5B,GAErC,IAAI81Q,GAAM,EACNluP,EAAI,EAGR,IAAS5nB,EAAI,EAAGA,EAAIuQ,EAAMvQ,IACtB4nB,EAAIiuP,EAAS71Q,GAGb81Q,EAAOA,IAAQ,EADXhD,GADY,KAAXgD,EAAMluP,IAIf,OAAOkuP,CACX,EACA9C,EAAa+B,YAAc,SAAUruM,GACjC,IAAIouM,EAAOpuM,EAAKO,WAKhB,OAJA6tM,IAAS,EACTA,GAAcpuM,EAAKQ,aACnB4tM,IAAS,EACTA,GAAcpuM,EAAKS,aAAe,CAEtC,EACA6rM,EAAaiC,YAAc,SAAUvuM,GACjC,IAAIsuM,EAAKtuM,EAAKI,cAAgB,KAK9B,OAJAkuM,IAAO,EACPA,GAAWtuM,EAAKK,WAAa,EAC7BiuM,IAAO,EACPA,GAAUtuM,EAAKM,SAEnB,EACAgsM,EAAaI,QAAU,GACvBJ,EAAaQ,MAAQ,GACdR,CACX,CAtKkC,GAwKlC7/P,GAAeC,SAASglP,IAA0B,GAClDjlP,GAAeC,SAAS6kP,IAAwB,GAChD9kP,GAAeC,SAAS05K,IAAiB,GAEzChuL,EAAQosL,uBAAyBA,GACjCpsL,EAAQsoF,gBAAkBA,GAC1BtoF,EAAQ+4N,cAAgBA,GACxB/4N,EAAQ+mM,WAAaA,GACrB/mM,EAAQ6gO,cAAgBA,GACxB7gO,EAAQ2/N,SAAWA,GACnB3/N,EAAQmhO,iBAAmBA,GAC3BnhO,EAAQo3N,mBAAqBA,GAC7Bp3N,EAAQ+3N,aAAeA,GACvB/3N,EAAQk3N,gBAAkBA,GAC1Bl3N,EAAQ22N,iBAAmBA,GAC3B32N,EAAQumO,oBAAsBA,GAC9BvmO,EAAQwlO,WAAaA,GACrBxlO,EAAQunO,YAAcA,GACtBvnO,EAAQw+N,QAAUA,GAClBx+N,EAAQgzE,UAAYA,GACpBhzE,EAAQs2N,cAAgBA,GACxBt2N,EAAQgsF,SAAWA,GACnBhsF,EAAQo4N,SAAWA,GACnBp4N,EAAQ6oD,0BAA4BA,GACpC7oD,EAAQy2N,eAAiBA,GACzBz2N,EAAQq1O,oBAAsBA,GAC9Br1O,EAAQqlG,8BAAgCA,GACxCrlG,EAAQqmG,yBAA2BA,GACnCrmG,EAAQ26M,sBAAwBA,GAChC36M,EAAQ2hJ,kBAAoBA,GAC5B3hJ,EAAQ6iN,oBAAsBA,GAC9B7iN,EAAQgP,UAAYA,EACpBhP,EAAQw5P,qBAAuBA,GAC/Bx5P,EAAQqsQ,YAAcA,GACtBrsQ,EAAQ+sQ,2BAA6BA,GACrC/sQ,EAAQ8O,KAAOA,EACf9O,EAAQgsB,SAAWA,GACnBhsB,EAAQuyJ,MAAQA,GAChBvyJ,EAAQokL,oBAAsBA,GAC9BpkL,EAAQuoL,eAAiBA,GACzBvoL,EAAQq+K,SAAWA,GACnBr+K,EAAQ62J,SAAWA,GACnB72J,EAAQuzO,sBAAwBA,GAChCvzO,EAAQutP,kBAAoBA,GAC5BvtP,EAAQyuN,YAAcA,GACtBzuN,EAAQuxG,2BAA6BA,GACrCvxG,EAAQ0pD,WAAaA,GACrB1pD,EAAQ4pD,MAAQA,GAChB5pD,EAAQsV,OAASA,GACjBtV,EAAQs4O,UAAYA,GACpBt4O,EAAQqtB,cAAgBA,GACxBrtB,EAAQglB,YAAcA,GACtBhlB,EAAQY,iBAAmBA,EAC3BZ,EAAQi8B,YAAcA,GACtBj8B,EAAQijD,YAAcA,GACtBjjD,EAAQy4E,UAAYA,GACpBz4E,EAAQ8lD,cAAgBA,GACxB9lD,EAAQyS,UAAYA,GACpBzS,EAAQ4J,QAAUA,EAClB5J,EAAQupL,gBAAkBA,GAC1BvpL,EAAQi4E,gBAAkBA,GAC1Bj4E,EAAQ0vQ,WAAaA,GACrB1vQ,EAAQguL,gBAAkBA,GAC1BhuL,EAAQgzP,aAAeA,GACvBhzP,EAAQ00E,qBAAuBA,GAC/B10E,EAAQo1F,WAAaA,GACrBp1F,EAAQ+jD,sBAAwBA,GAChC/jD,EAAQ8tQ,WAAaA,GACrB9tQ,EAAQuyG,mBAAqBA,GAC7BvyG,EAAQ6tH,YAAcA,GACtB7tH,EAAQ0mP,YAAcA,GACtB1mP,EAAQmQ,aAAeA,GACvBnQ,EAAQuyB,OAASA,GACjBvyB,EAAQy7O,kBAAoBA,GAC5Bz7O,EAAQowH,cAAgBA,GACxBpwH,EAAQupH,qBAAuBA,GAC/BvpH,EAAQ6pO,aAAeA,GACvB7pO,EAAQ02P,KAAOA,GACf12P,EAAQ+sL,QAAUA,GAClB/sL,EAAQ+2K,aAAeA,GACvB/2K,EAAQynJ,aAAeA,GACvBznJ,EAAQm/O,SAAWA,GACnBn/O,EAAQ22P,gBAAkBA,GAC1B32P,EAAQ69O,SAAWA,GACnB79O,EAAQg2M,eAAiBA,GACzBh2M,EAAQs1M,eAAiBA,GACzBt1M,EAAQk4H,mBAAqBA,GAC7Bl4H,EAAQkwQ,eAAiBA,GACzBlwQ,EAAQgjH,kBAAoBA,GAC5BhjH,EAAQ68G,sBAAwBA,GAChC78G,EAAQo4B,uBAAyBA,GACjCp4B,EAAQopM,eAAiBA,GACzBppM,EAAQy1H,qBAAuBA,GAC/Bz1H,EAAQgjM,qBAAuBA,GAC/BhjM,EAAQiuM,oBAAsBA,GAC9BjuM,EAAQ+zM,wBAA0BA,GAClC/zM,EAAQwwP,oBAAsBA,GAC9BxwP,EAAQsrL,cAAgBA,GACxBtrL,EAAQ2yM,uBAAyBA,GACjC3yM,EAAQywM,uBAAyBA,GACjCzwM,EAAQgvM,cAAgBA,GACxBhvM,EAAQo2M,wBAA0BA,GAClCp2M,EAAQihF,QAAUA,GAClBjhF,EAAQ4iG,oBAAsBA,GAC9B5iG,EAAQy9O,OAASA,GACjBz9O,EAAQu9O,cAAgBA,GACxBv9O,EAAQ0iF,oBAAsBA,GAC9B1iF,EAAQqU,eAAiBA,GACzBrU,EAAQ43K,kBAAoBA,GAC5B53K,EAAQ2kL,kBAAoBA,GAC5B3kL,EAAQw4K,kBAAoBA,GAC5Bx4K,EAAQg5F,aAAeA,GACvBh5F,EAAQwyE,eAAiBA,GACzBxyE,EAAQmP,SAAWA,EACnBnP,EAAQ+yN,gBAAkBA,GAC1B/yN,EAAQ2tN,eAAiBA,GACzB3tN,EAAQwiG,eAAiBA,GACzBxiG,EAAQi+K,mBAAqBA,GAC7Bj+K,EAAQokG,sBAAwBA,GAChCpkG,EAAQ+sO,aAAeA,GACvB/sO,EAAQklG,oBAAsBA,GAC9BllG,EAAQi9M,oBAAsBA,GAC9Bj9M,EAAQ0O,cAAgBA,EACxB1O,EAAQqO,aAAeA,EACvBrO,EAAQ4O,WAAaA,EACrB5O,EAAQklD,aAAeA,GACvBllD,EAAQ6nB,oBAAsBA,GAC9B7nB,EAAQ4jF,eAAiBA,GACzB5jF,EAAQsP,UAAYA,EACpBtP,EAAQi3Q,cAvnvCR,SAAuB96L,GACnB,OAAOD,GAAkB9wE,KAAKvK,KAAMs7E,OAAU99E,EAClD,EAsnvCA2B,EAAQi8E,YAAcA,GACtBj8E,EAAQw5M,sBAAwBA,GAChCx5M,EAAQsjL,iBAAmBA,GAC3BtjL,EAAQk0K,iBAAmBA,GAC3Bl0K,EAAQwgK,QAAUA,GAClBxgK,EAAQ4mG,QAAUA,GAClB5mG,EAAQowN,aAAeA,GACvBpwN,EAAQ4xN,mBAAqBA,GAC7B5xN,EAAQ8xP,cAAgBA,GACxB9xP,EAAQgtP,iBAAmBA,GAC3BhtP,EAAQ8jN,YAAcA,GACtB9jN,EAAQs0F,aAAeA,GACvBt0F,EAAQu3K,qBAAuBA,GAC/Bv3K,EAAQujG,iBAAmBA,GAC3BvjG,EAAQ+oP,kBAAoBA,GAC5B/oP,EAAQk3O,iBAAmBA,GAC3Bl3O,EAAQ8hM,eAAiBA,GACzB9hM,EAAQguF,aAAeA,GACvBhuF,EAAQ8/O,eAAiBA,GACzB9/O,EAAQ62M,oBAAsBA,GAC9B72M,EAAQs1N,eAAiBA,GACzBt1N,EAAQ2kO,aAAeA,GACvB3kO,EAAQijO,aAAeA,GACvBjjO,EAAQu3M,aAAeA,GACvBv3M,EAAQq8O,gBAAkBA,GAC1Br8O,EAAQukG,eAAiBA,GACzBvkG,EAAQg6F,WAAaA,GACrBh6F,EAAQi8F,mBAAqBA,GAC7Bj8F,EAAQk0E,MAAQA,GAChBl0E,EAAQk8F,cAAgBA,GACxBl8F,EAAQ+pH,qBAAuBA,GAC/B/pH,EAAQ+kH,sBAAwBA,GAChC/kH,EAAQ2jP,WAAaA,GACrB3jP,EAAQotN,sBAAwBA,GAChCptN,EAAQ85O,aAAeA,GACvB95O,EAAQ+yO,0BAA4BA,GACpC/yO,EAAQqxO,YAAcA,GACtBrxO,EAAQgzQ,WAAaA,GACrBhzQ,EAAQk0Q,aAAeA,GACvBl0Q,EAAQi7B,EAAIA,GACZj7B,EAAQk3Q,uBAtxHR,SAAgCt4Q,EAAQC,EAAQyyE,EAAOC,EAAOzyE,QAClC,IAApBA,IAA8BA,GAAkB,GACpD4F,QAAQC,KAAK,+GACb,IAAIwyQ,EAAet5Q,EAAOyzE,IAAUA,EAAMx2D,MACtCs8P,EAAev5Q,EAAO0zE,IAAUA,EAAMz2D,MAEtCu8P,GAAiBF,IAAiBC,EACtC,OAFoBD,GAAgBC,EAGzBz4Q,EAAkB2yE,EAAMzvE,IAAK0vE,EAAM1vE,IAAK/C,GAE/Cu4Q,EACO14Q,EAAkBC,EAAQC,EAAQC,GAEzCq4Q,EACO,GAEH,CACZ,EAswHAn3Q,EAAQqzK,2BAA6BA,GACrCrzK,EAAQs3Q,kBAjugBR,SAA2BztQ,GACvB,OAAO,IAAImpE,IAAU,SAAUS,GAC3B,IAAI8jM,EAAc,IAAI16B,eACtB06B,EAAYr9N,KAAK,MAAOrwC,EAAO2yO,KAC/B+6B,EAAYv6B,OACZu6B,EAAYC,mBAAqB,WACE,IAA3BD,EAAYE,YAA2C,MAAvBF,EAAYtkM,QAC5CQ,EAAQ/yE,KAAKsE,MAAMuyQ,EAAYp6B,cAEvC,CACJ,GACJ,EAutgBAn9O,EAAQg2D,cAAgBA,sCC7qkDxB,IAAInpC,EAAahsB,MAAQA,KAAKgsB,WAAe,WACzC,IAAIC,EAAgB,SAAUnd,EAAGvQ,GAI7B,OAHA0tB,EAAgBhtB,OAAOitB,gBAClB,CAAEC,UAAW,cAAgBtrB,OAAS,SAAUiO,EAAGvQ,GAAKuQ,EAAEqd,UAAY5tB,CAAG,GAC1E,SAAUuQ,EAAGvQ,GAAK,IAAK,IAAIgG,KAAKhG,EAAOA,EAAEkE,eAAe8B,KAAIuK,EAAEvK,GAAKhG,EAAEgG,GAAI,EACtE0nB,EAAcnd,EAAGvQ,EAC5B,EACA,OAAO,SAAUuQ,EAAGvQ,GAEhB,SAAS6tB,IAAOpsB,KAAK0B,YAAcoN,CAAG,CADtCmd,EAAcnd,EAAGvQ,GAEjBuQ,EAAE5O,UAAkB,OAAN3B,EAAaU,OAAOotB,OAAO9tB,IAAM6tB,EAAGlsB,UAAY3B,EAAE2B,UAAW,IAAIksB,EACnF,CACJ,CAZ6C,GAazC04B,EAAY9kD,MAAQA,KAAK8kD,UAAa,WAStC,OARAA,EAAW7lD,OAAO0wB,QAAU,SAASsB,GACjC,IAAK,IAAI4H,EAAGx4B,EAAI,EAAG46B,EAAI32B,UAAUlH,OAAQiD,EAAI46B,EAAG56B,IAE5C,IAAK,IAAIkE,KADTs0B,EAAIv0B,UAAUjE,GACOpB,OAAOiB,UAAUuC,eAAesD,KAAK8yB,EAAGt0B,KACzD0sB,EAAE1sB,GAAKs0B,EAAEt0B,IAEjB,OAAO0sB,CACX,EACO6zB,EAAS9+C,MAAMhG,KAAMsE,UAChC,EACIuyQ,EAAgB72Q,MAAQA,KAAK62Q,cAAiB,SAAUxf,GACxD,GAAIA,GAAOA,EAAIyf,WAAY,OAAOzf,EAClC,IAAI7xO,EAAS,CAAC,EACd,GAAW,MAAP6xO,EAAa,IAAK,IAAI3sM,KAAK2sM,EAASp4P,OAAOwD,eAAesD,KAAKsxP,EAAK3sM,KAAIllC,EAAOklC,GAAK2sM,EAAI3sM,IAE5F,OADAllC,EAAgB,QAAI6xO,EACb7xO,CACX,EACAvmB,OAAOC,eAAeC,EAAS,aAAc,CAAEpC,OAAO,IACtD,IAAIg6Q,EAAUF,EAAaG,EAAQ,OAC/BC,EAAsBD,EAAQ,MAC9BE,EAAkBF,EAAQ,MAC1BG,EAA6B,SAAU1qP,GAEvC,SAAS0qP,IACL,IAAI9sQ,EAAmB,OAAXoiB,GAAmBA,EAAOzmB,MAAMhG,KAAMsE,YAActE,KAKhE,OAJAqK,EAAM+sQ,WAAa,SAAU39P,EAAKE,GAC9BtP,EAAMoP,IAAMA,EACZpP,EAAMsP,UAAYA,CACtB,EACOtP,CACX,CAKA,OAbA2hB,EAAUmrP,EAAa1qP,GASvB0qP,EAAYj3Q,UAAUm3Q,OAAS,WAC3B,IAAIC,EAAsBt3Q,KAAK0N,MAAMi8H,gBAAkBstI,EAAoBM,kBAAoBL,EAAgBM,cAC/G,OAAOT,EAAQU,QAAQ7tP,cAAc0tP,EAAqBxyN,EAAS,CAAC,EAAG9kD,KAAK0N,MAAO,CAAE0pQ,WAAYp3Q,KAAKo3Q,aAC1G,EACOD,CACX,CAfiC,CAe/BJ,EAAQn/L,WACVz4E,EAAQg4Q,YAAcA,qCCnDtB,IAAInrP,EAAahsB,MAAQA,KAAKgsB,WAAe,WACzC,IAAIC,EAAgB,SAAUnd,EAAGvQ,GAI7B,OAHA0tB,EAAgBhtB,OAAOitB,gBAClB,CAAEC,UAAW,cAAgBtrB,OAAS,SAAUiO,EAAGvQ,GAAKuQ,EAAEqd,UAAY5tB,CAAG,GAC1E,SAAUuQ,EAAGvQ,GAAK,IAAK,IAAIgG,KAAKhG,EAAOA,EAAEkE,eAAe8B,KAAIuK,EAAEvK,GAAKhG,EAAEgG,GAAI,EACtE0nB,EAAcnd,EAAGvQ,EAC5B,EACA,OAAO,SAAUuQ,EAAGvQ,GAEhB,SAAS6tB,IAAOpsB,KAAK0B,YAAcoN,CAAG,CADtCmd,EAAcnd,EAAGvQ,GAEjBuQ,EAAE5O,UAAkB,OAAN3B,EAAaU,OAAOotB,OAAO9tB,IAAM6tB,EAAGlsB,UAAY3B,EAAE2B,UAAW,IAAIksB,EACnF,CACJ,CAZ6C,GAazC04B,EAAY9kD,MAAQA,KAAK8kD,UAAa,WAStC,OARAA,EAAW7lD,OAAO0wB,QAAU,SAASsB,GACjC,IAAK,IAAI4H,EAAGx4B,EAAI,EAAG46B,EAAI32B,UAAUlH,OAAQiD,EAAI46B,EAAG56B,IAE5C,IAAK,IAAIkE,KADTs0B,EAAIv0B,UAAUjE,GACOpB,OAAOiB,UAAUuC,eAAesD,KAAK8yB,EAAGt0B,KACzD0sB,EAAE1sB,GAAKs0B,EAAEt0B,IAEjB,OAAO0sB,CACX,EACO6zB,EAAS9+C,MAAMhG,KAAMsE,UAChC,EACIozQ,EAAmB13Q,MAAQA,KAAK03Q,iBAAoB,SAAUrgB,GAC9D,OAAQA,GAAOA,EAAIyf,WAAczf,EAAM,CAAE,QAAWA,EACxD,EACIwf,EAAgB72Q,MAAQA,KAAK62Q,cAAiB,SAAUxf,GACxD,GAAIA,GAAOA,EAAIyf,WAAY,OAAOzf,EAClC,IAAI7xO,EAAS,CAAC,EACd,GAAW,MAAP6xO,EAAa,IAAK,IAAI3sM,KAAK2sM,EAASp4P,OAAOwD,eAAesD,KAAKsxP,EAAK3sM,KAAIllC,EAAOklC,GAAK2sM,EAAI3sM,IAE5F,OADAllC,EAAgB,QAAI6xO,EACb7xO,CACX,EACAvmB,OAAOC,eAAeC,EAAS,aAAc,CAAEpC,OAAO,IACtD,IAAI46Q,EAAsBX,EAAQ,MAC9BY,EAAeF,EAAgBV,EAAQ,OACvCD,EAAUF,EAAaG,EAAQ,OAC/Ba,EAAyBb,EAAQ,MACjCc,EAAiBd,EAAQ,MACzBe,EAA2Bf,EAAQ,MACnCgB,EAAsBhB,EAAQ,MAC9BiB,EAAkBjB,EAAQ,MAC1BkB,EAA4BlB,EAAQ,MACpCO,EAAmC,SAAU9qP,GAE7C,SAAS8qP,EAAkB7pQ,GACvB,IAAIrD,EAAQoiB,EAAO1mB,KAAK/F,KAAM0N,IAAU1N,KAOxC,OANAqK,EAAMqD,MAAQA,EACdrD,EAAM8tQ,uBAAyB,IAAIJ,EAAyB10B,uBAC5Dh5O,EAAMoP,IAAM,KACZpP,EAAMlB,WAAY,EAClBkB,EAAM+tQ,8BAAgC,CAAC,WACvC/tQ,EAAMguQ,cAAgB,IAAIJ,EAAgBK,cAAcjuQ,EAAOqD,EAAM6qQ,yBAA0B7qQ,EAAM8qQ,4BAC9FnuQ,CACX,CAkLA,OA5LA2hB,EAAUurP,EAAmB9qP,GAW7B8qP,EAAkBr3Q,UAAUm3Q,OAAS,WACjC,IAAIhtQ,EAAQrK,KACZ,OAAO+2Q,EAAQU,QAAQ7tP,cAAc,MAAO,CACxC0uC,MAAOt4D,KAAKy4Q,oBACZ7qM,UAAW5tE,KAAK0N,MAAMkgE,UACtBhE,IAAK,SAAUnrE,GACX4L,EAAMkoI,SAAW9zI,CACrB,GACDuB,KAAKq4Q,cAAcK,aAC1B,EACAnB,EAAkBr3Q,UAAUu4Q,kBAAoB,WAC5C,OAAO3zN,EAAS,CAAEyT,OAAQ,QAAWv4D,KAAK0N,MAAMirQ,gBAAkB,CAAC,EACvE,EACApB,EAAkBr3Q,UAAU04Q,kBAAoB,WAC5C,IAAI7kQ,EAAU/T,KAAK0N,MAAMqG,SAAW,GAChC8kQ,EAAa,CACbjsQ,sBAAuB,CACnBksQ,YAAa94Q,KACbmsH,0BAA2B,IAAI4sJ,EAA+B/4Q,KAAMA,KAAKq4Q,gBAE7EtkQ,QAASA,EACT9D,mBAAoB,IAAIioQ,EAA0Bc,yBAAwB,IAE1EzzN,EAAcvlD,KAAK0N,MAAM63C,aAAe,CAAC,EACzC7gC,EAAW1kB,KAAK0N,MAAMgX,SACtBozP,EAAemB,aAAaC,gBAAgBx0P,KAC5C6gC,EAAY7nB,WAAao6O,EAAemB,aAAaE,mBAAmBz0P,IAE5E1kB,KAAKulD,YAAcoyN,EAAoB1yN,cAAcK,4BAA4BC,EAAavlD,KAAK0N,OAEnG,IAAIiqQ,EAAoB9hB,KAAK71P,KAAKuyI,SAAUvyI,KAAKulD,YAAaszN,GAC9D74Q,KAAKyZ,IAAMzZ,KAAKulD,YAAY9rC,IAC5BzZ,KAAK2Z,UAAY3Z,KAAKulD,YAAY5rC,UAClC3Z,KAAK0N,MAAM0pQ,WAAWp3Q,KAAKyZ,IAAKzZ,KAAK2Z,UACzC,EACA49P,EAAkBr3Q,UAAUk5Q,uBAAyB,SAAUC,GAC3D,GAAgB,YAAZA,EAAuB,CACvB,GAAIr5Q,KAAK0N,MAAM4rQ,+BACX,OAAOt5Q,KAAK0N,MAAM4rQ,+BAEjB,GAAIt5Q,KAAKu5Q,wBACV,OAAOxB,EAAyByB,4BAA4BC,aAEpE,CAEA,OAAO1B,EAAyByB,4BAA4BE,cAChE,EACAnC,EAAkBr3Q,UAAUq5Q,sBAAwB,WAChD,OAAQv5Q,KAAK0N,MAAMisQ,kBAAoB35Q,KAAK0N,MAAMw1H,eAAyC,MAAvBljI,KAAK0N,MAAMu1H,UAC1EjjI,KAAK0N,MAAM63C,cAAgBvlD,KAAK0N,MAAM63C,YAAYo0N,kBAC5C35Q,KAAK0N,MAAM63C,YAAY29E,eACY,MAAnCljI,KAAK0N,MAAM63C,YAAY09E,SACtC,EACAs0I,EAAkBr3Q,UAAU05Q,sBAAwB,SAAUC,GAK1D,OAJA75Q,KAAK85Q,oBAAoB95Q,KAAK0N,MAAOmsQ,IAI9B,CACX,EACAtC,EAAkBr3Q,UAAU65Q,mBAAqB,SAAUC,GACvDh6Q,KAAK85Q,oBAAoBE,EAAWh6Q,KAAK0N,MAC7C,EACA6pQ,EAAkBr3Q,UAAU45Q,oBAAsB,SAAUE,EAAWH,GACnE,IAAI9zN,EAAU,CAAC,EACf/lD,KAAKi6Q,2BAA2BD,EAAWH,EAAW9zN,GACtD/lD,KAAKk6Q,gCAAgCL,EAAW9zN,GAChD/lD,KAAKm6Q,0BAA0Bp0N,GAC/B/lD,KAAKo6Q,2BAA2Br0N,EACpC,EACAwxN,EAAkBr3Q,UAAUg6Q,gCAAkC,SAAUL,EAAW9zN,GAG/E,KAAK/lD,KAAK0N,MAAM63C,aAAevlD,KAAK0N,MAAM63C,YAAY7nB,YAAe19B,KAAK0N,MAAMgwB,YAAhF,CAGA,IAAI28O,IAAiBR,EAAUh0I,MAC3BwzI,EAAU,aACViB,EAAiBt6Q,KAAKulD,YAAY7nB,WACtC,GAAIo6O,EAAemB,aAAaC,gBAAgBW,EAAUn1P,UAAW,CACjE,IAAI61P,EAAoBv6Q,KAAKm4Q,uBAAuBqC,YAAYx6Q,KAAKo5Q,uBAAuBC,IACxFoB,EAAa3C,EAAemB,aAAaE,mBAAmBU,EAAUn1P,UACrE61P,EAAkBx4P,SAASu4P,EAAgBG,KACxCJ,GACAx2Q,QAAQyF,IAAI,4CAEhBy8C,EAAQszN,GACJ,CACIrxL,cAAesyL,EACfn0N,aAAcs0N,GAG9B,MACSH,GAAkBA,EAAel9Q,OAAS,IAC/C2oD,EAAQszN,GACJ,CACIrxL,cAAesyL,EACfn0N,aAAc,IAtB1B,CAyBJ,EACAoxN,EAAkBr3Q,UAAU+5Q,2BAA6B,SAAUD,EAAWH,EAAW9zN,GACrF,IAAI17C,EAAQrK,KACRq6Q,IAAiBR,EAAUh0I,MAC/B5mI,OAAOmB,KAAKy5Q,GAAW96Q,SAAQ,SAAUs6Q,GACjC1B,EAAoBv9O,EAAEvX,SAAS80P,EAAoB1yN,cAAcL,eAAgBy0N,KACnDhvQ,EAAM8tQ,uBAAuBqC,YAAYnwQ,EAAM+uQ,uBAAuBC,IACvEt3P,SAASi4P,EAAUX,GAAUQ,EAAUR,MAC5DgB,GACAx2Q,QAAQyF,IAAI,iBAAmB+vQ,EAAU,sBAE7CtzN,EAAQszN,GAAW,CACfrxL,cAAegyL,EAAUX,GACzBlzN,aAAc0zN,EAAUR,KAIxC,IACA1B,EAAoB1yN,cAAcC,oBAAoBnmD,SAAQ,SAAU27Q,GAChEV,EAAUU,KAAcb,EAAUa,KAC9BL,GACAx2Q,QAAQyF,IAAI,iBAAmBoxQ,EAAW,4BAE9C30N,EAAQ20N,GAAY,CAChB1yL,cAAegyL,EAAUU,GACzBv0N,aAAc0zN,EAAUa,IAGpC,GACJ,EACAnD,EAAkBr3Q,UAAUy6Q,qBAAuB,WAC3C36Q,KAAKyZ,MACLzZ,KAAKyZ,IAAItM,UACTnN,KAAKyZ,IAAM,MAEfzZ,KAAKmJ,WAAY,EACjBnJ,KAAKq4Q,cAAclrQ,SACvB,EACAoqQ,EAAkBr3Q,UAAU06Q,sBAAwB,WAChD,OAA0C,IAAnC56Q,KAAK0N,MAAMmtQ,mBACtB,EACAtD,EAAkBr3Q,UAAU46Q,2BAA6B,WACrD,OAA+C,IAAxC96Q,KAAK0N,MAAMqtQ,wBACtB,EACAxD,EAAkBr3Q,UAAUi6Q,0BAA4B,SAAUp0N,GAC9D,IAAIi1N,EAAel2N,EAAS,CAAC,EAAGiB,GAChC,GAAI9mD,OAAOmB,KAAK46Q,GAAc59Q,OAAS,EAAG,CACtC,IAAI69Q,EAAuB,CAAC,EAC5Bj7Q,KAAKo4Q,8BAA8Br5Q,SAAQ,SAAUm8Q,GAC7CF,EAAaE,KACbD,EAAqBC,GAA6BF,EAAaE,UACxDF,EAAaE,GAE5B,IACIj8Q,OAAOmB,KAAK66Q,GAAsB79Q,OAAS,GAAO4C,KAAKyZ,KACvDk+P,EAAoB1yN,cAAca,gBAAgBm1N,EAAsBj7Q,KAAKulD,YAAavlD,KAAKyZ,IAAKzZ,KAAK2Z,UAEjH,CACA,OAAOqhQ,CACX,EACAzD,EAAkBr3Q,UAAUk6Q,2BAA6B,SAAUr0N,GAC/D,IAAI17C,EAAQrK,KACRf,OAAOmB,KAAK2lD,GAAS3oD,OAAS,GAC9BmJ,OAAOC,YAAW,WAEV6D,EAAMoP,KACNk+P,EAAoB1yN,cAAca,gBAAgBC,EAAS17C,EAAMk7C,YAAal7C,EAAMoP,IAAKpP,EAAMsP,UAEvG,GAER,EACA49P,EAAkB4D,kCAAoC,IACtD5D,EAAkB6D,aAAe,CAC7BL,0BAA0B,EAC1BF,qBAAqB,EACrBrC,2BAA4BjB,EAAkB4D,mCAE3C5D,CACX,CA9LuC,CA8LrCR,EAAQn/L,WAYV,SAASyjM,EAAcC,EAAaC,GAChCD,EAAYv8Q,SAAQ,SAAUs6Q,GAC1B9B,EAAkB8B,GAAWkC,CACjC,GACJ,CAfAp8Q,EAAQo4Q,kBAAoBA,EAC5BA,EAAkBiE,UAAY,CAC1Bj2N,YAAaqyN,EAAaH,QAAQ94Q,QAEtC08Q,EAAc1D,EAAoB1yN,cAAcC,oBAAqB0yN,EAAaH,QAAQnyQ,MAC1F+1Q,EAAc1D,EAAoB1yN,cAAcP,mBAAoBkzN,EAAaH,QAAQgE,MACzFJ,EAAc1D,EAAoB1yN,cAAcX,kBAAmBszN,EAAaH,QAAQj+O,QACxF6hP,EAAc1D,EAAoB1yN,cAAcV,kBAAmBqzN,EAAaH,QAAQ94Q,QACxF08Q,EAAc1D,EAAoB1yN,cAAcT,iBAAkBozN,EAAaH,QAAQt1P,OACvFk5P,EAAc1D,EAAoB1yN,cAAcR,kBAAmBmzN,EAAaH,QAAQjxM,QACxF60M,EAAc1D,EAAoB1yN,cAAcN,oBAAqBizN,EAAaH,QAAQnyQ,MAM1F,IAAIyzQ,EAAgD,SAAUtsP,GAE1D,SAASssP,EAA+BD,EAAaT,GACjD,IAAIhuQ,EAAQoiB,EAAO1mB,KAAK/F,OAASA,KAGjC,OAFAqK,EAAMyuQ,YAAcA,EACpBzuQ,EAAMguQ,cAAgBA,EACfhuQ,CACX,CASA,OAfA2hB,EAAU+sP,EAAgCtsP,GAO1CssP,EAA+B74Q,UAAU44P,cAAgB,SAAU4iB,EAAoB7iB,GACnF,OAAI74P,KAAK84Q,YAAYgC,6BACV,IAAIjD,EAAuB8D,qBAAqBD,EAAoB17Q,KAAK84Q,YAAa94Q,KAAKq4Q,cAAexf,GAG1G,IAAImf,EAAoB4D,kBAAkBF,EAAoB17Q,KAAKq4Q,cAAexf,EAEjG,EACOkgB,CACX,CAjBoD,CAiBlDpB,EAAoBhf,yDC5QtB,IAAI3sO,EAAahsB,MAAQA,KAAKgsB,WAAe,WACzC,IAAIC,EAAgB,SAAUnd,EAAGvQ,GAI7B,OAHA0tB,EAAgBhtB,OAAOitB,gBAClB,CAAEC,UAAW,cAAgBtrB,OAAS,SAAUiO,EAAGvQ,GAAKuQ,EAAEqd,UAAY5tB,CAAG,GAC1E,SAAUuQ,EAAGvQ,GAAK,IAAK,IAAIgG,KAAKhG,EAAOA,EAAEkE,eAAe8B,KAAIuK,EAAEvK,GAAKhG,EAAEgG,GAAI,EACtE0nB,EAAcnd,EAAGvQ,EAC5B,EACA,OAAO,SAAUuQ,EAAGvQ,GAEhB,SAAS6tB,IAAOpsB,KAAK0B,YAAcoN,CAAG,CADtCmd,EAAcnd,EAAGvQ,GAEjBuQ,EAAE5O,UAAkB,OAAN3B,EAAaU,OAAOotB,OAAO9tB,IAAM6tB,EAAGlsB,UAAY3B,EAAE2B,UAAW,IAAIksB,EACnF,CACJ,CAZ6C,GAazCsrP,EAAmB13Q,MAAQA,KAAK03Q,iBAAoB,SAAUrgB,GAC9D,OAAQA,GAAOA,EAAIyf,WAAczf,EAAM,CAAE,QAAWA,EACxD,EACAp4P,OAAOC,eAAeC,EAAS,aAAc,CAAEpC,OAAO,IACtD,IAAIg6Q,EAAUC,EAAQ,MAClB6E,EAAc7E,EAAQ,MACtBW,EAAsBX,EAAQ,MAC9B8E,EAAmB9E,EAAQ,MAC3B+E,EAAW/E,EAAQ,MACnBgF,EAAiBtE,EAAgBV,EAAQ,OACzC2E,EAAsC,SAAUlvP,GAEhD,SAASkvP,EAAqBM,EAAgBxhM,EAAiB49L,EAAexf,GAC1E,IAAIxuP,EAAQoiB,EAAO1mB,KAAK/F,KAAMi8Q,EAAgB5D,EAAexf,IAAkB74P,KAI/E,OAHAqK,EAAM6xQ,aAAe,KACrB7xQ,EAAM8xQ,iBAAmB,EACzB9xQ,EAAMowE,gBAAkBA,EACjBpwE,CACX,CAgHA,OAvHA2hB,EAAU2vP,EAAsBlvP,GAQhCkvP,EAAqBz7Q,UAAU28B,KAAO,SAAU7zB,GAC5C,IAAIqB,EAAQrK,KAGZ,OAFAA,KAAKo8Q,eAAiBp8Q,KAAKq8Q,oBAAoBrzQ,GAC/ChJ,KAAKs8Q,mBAAmBtzQ,GACjB,IAAI2uQ,EAAoBxlM,WAAU,SAAUS,GAAW,OAAOvoE,EAAMkyQ,qBAAqBvzQ,EAAQ4pE,EAAU,GACtH,EACA+oM,EAAqBz7Q,UAAUq8Q,qBAAuB,SAAUvzQ,EAAQ4pE,GACpE,IAAIvoE,EAAQrK,KAEPA,KAAKw8Q,yBAENxzQ,EAAO4gE,IAAM,SAAUz/C,GACnB9f,EAAMoyQ,kBAAoBtyP,EAC1B9f,EAAMqyQ,oCACNryQ,EAAMsyQ,oBACV,GAEJ,IAAIV,EAAiBlF,EAAQntP,cAAc5pB,KAAKi8Q,eAAgBjzQ,GAC5D4zQ,EAASf,EAAYgB,aAAaZ,EAAgBj8Q,KAAKo8Q,eAAgBJ,EAAevE,WAE1Fz3Q,KAAK48Q,OAASA,EACd58Q,KAAKq4Q,cAAcyE,iBAAiBF,EAAQ58Q,MAAM,SAAUjD,GACxD61E,EAAQ71E,GAGJsN,EAAMmyQ,yBACFnyQ,EAAM0yQ,kBACN1yQ,EAAMsyQ,qBAEVn2Q,YAAW,WACP6D,EAAMsyQ,oBACV,IAER,GACJ,EACAhB,EAAqBz7Q,UAAU88Q,wBAA0B,SAAUv3Q,GAC/D,OAAO,CACX,EACAk2Q,EAAqBz7Q,UAAU+8Q,eAAiB,SAAUx3Q,EAAMuD,GAAU,EAC1E2yQ,EAAqBz7Q,UAAU68Q,eAAiB,WAC5C,OAAO/8Q,KAAKm8Q,kBAAoBR,EAAqBuB,wBACzD,EACAvB,EAAqBz7Q,UAAUi9Q,YAAc,WACzC,MAA6B,KAAtBn9Q,KAAKk8Q,YAChB,EAOAP,EAAqBz7Q,UAAUo8Q,mBAAqB,SAAUtzQ,GAC1D,IAAIhJ,KAAKy6E,gBAAgBmgM,yBAA4B56Q,KAAK64P,cAAc71L,aAAxE,CAGA,IAAIo6M,EAAuBv5Q,QAAQ0H,MAC/B0wQ,EAAiBlF,EAAQntP,cAAc5pB,KAAKi8Q,eAAgBjzQ,GAChE,IAIInF,QAAQ0H,MAAQ,WAChB,EACA,IAAI6/B,EAAQ7jC,KAAKq1F,MACbs/K,EAAeH,EAASsB,qBAAqBpB,GACjDj8Q,KAAKm8Q,iBAAmB50Q,KAAKq1F,MAAQxxD,EACrCvnC,QAAQ0H,MAAQ6xQ,EAEK,KAAjBlB,EACAl8Q,KAAKk8Q,aAAeA,EAGhBA,IAGAl8Q,KAAKk8Q,aAAevyP,SAASC,cAAc,QAC3C5pB,KAAKk8Q,aAAar/M,UAAYq/M,EAC9Bl8Q,KAAKo8Q,eAAe/jN,YAAYr4D,KAAKk8Q,cAGjD,CACA,MAAOz9Q,GACH,CACH,QAEGoF,QAAQ0H,MAAQ6xQ,CACpB,CAhCA,CAiCJ,EACAzB,EAAqBz7Q,UAAUy8Q,mBAAqB,YAC5C38Q,KAAKy6E,gBAAgBmgM,yBAA4B56Q,KAAK64P,cAAc71L,cAGpEhjE,KAAKk8Q,eACDl8Q,KAAKk8Q,aAAa1kM,QAElBx3E,KAAKk8Q,aAAa1kM,SAClBx3E,KAAKk8Q,aAAe,MAEfl8Q,KAAKo8Q,eAAe3jN,cAEzBz4D,KAAKo8Q,eAAe3jN,YAAYz4D,KAAKk8Q,cACrCl8Q,KAAKk8Q,aAAe,MAGhC,EACAP,EAAqBz7Q,UAAUo9Q,SAAW,WACtC,OAAOt9Q,KAAKm9Q,iBACNn9Q,KAAKk8Q,cAAiBl8Q,KAAKw8Q,wBAA0Bx8Q,KAAKu9Q,gCACxDv9Q,KAAKw8Q,yBAA0Bx8Q,KAAKgsL,gCAChD,EACA2vF,EAAqBuB,yBAA2B,EACzCvB,CACX,CAzH0C,CAyHxCG,EAAiB0B,gBACnBr+Q,EAAQw8Q,qBAAuBA,qCCjJ/B,IAAI3vP,EAAahsB,MAAQA,KAAKgsB,WAAe,WACzC,IAAIC,EAAgB,SAAUnd,EAAGvQ,GAI7B,OAHA0tB,EAAgBhtB,OAAOitB,gBAClB,CAAEC,UAAW,cAAgBtrB,OAAS,SAAUiO,EAAGvQ,GAAKuQ,EAAEqd,UAAY5tB,CAAG,GAC1E,SAAUuQ,EAAGvQ,GAAK,IAAK,IAAIgG,KAAKhG,EAAOA,EAAEkE,eAAe8B,KAAIuK,EAAEvK,GAAKhG,EAAEgG,GAAI,EACtE0nB,EAAcnd,EAAGvQ,EAC5B,EACA,OAAO,SAAUuQ,EAAGvQ,GAEhB,SAAS6tB,IAAOpsB,KAAK0B,YAAcoN,CAAG,CADtCmd,EAAcnd,EAAGvQ,GAEjBuQ,EAAE5O,UAAkB,OAAN3B,EAAaU,OAAOotB,OAAO9tB,IAAM6tB,EAAGlsB,UAAY3B,EAAE2B,UAAW,IAAIksB,EACnF,CACJ,CAZ6C,GAazC04B,EAAY9kD,MAAQA,KAAK8kD,UAAa,WAStC,OARAA,EAAW7lD,OAAO0wB,QAAU,SAASsB,GACjC,IAAK,IAAI4H,EAAGx4B,EAAI,EAAG46B,EAAI32B,UAAUlH,OAAQiD,EAAI46B,EAAG56B,IAE5C,IAAK,IAAIkE,KADTs0B,EAAIv0B,UAAUjE,GACOpB,OAAOiB,UAAUuC,eAAesD,KAAK8yB,EAAGt0B,KACzD0sB,EAAE1sB,GAAKs0B,EAAEt0B,IAEjB,OAAO0sB,CACX,EACO6zB,EAAS9+C,MAAMhG,KAAMsE,UAChC,EACIuyQ,EAAgB72Q,MAAQA,KAAK62Q,cAAiB,SAAUxf,GACxD,GAAIA,GAAOA,EAAIyf,WAAY,OAAOzf,EAClC,IAAI7xO,EAAS,CAAC,EACd,GAAW,MAAP6xO,EAAa,IAAK,IAAI3sM,KAAK2sM,EAASp4P,OAAOwD,eAAesD,KAAKsxP,EAAK3sM,KAAIllC,EAAOklC,GAAK2sM,EAAI3sM,IAE5F,OADAllC,EAAgB,QAAI6xO,EACb7xO,CACX,EACIkyP,EAAmB13Q,MAAQA,KAAK03Q,iBAAoB,SAAUrgB,GAC9D,OAAQA,GAAOA,EAAIyf,WAAczf,EAAM,CAAE,QAAWA,EACxD,EACAp4P,OAAOC,eAAeC,EAAS,aAAc,CAAEpC,OAAO,IACtD,IAAI46Q,EAAsBX,EAAQ,MAC9BD,EAAUF,EAAaG,EAAQ,OAC/Bc,EAAiBd,EAAQ,MACzBe,EAA2Bf,EAAQ,MACnCgB,EAAsBhB,EAAQ,MAC9BiB,EAAkBjB,EAAQ,MAC1ByG,EAAa/F,EAAgBV,EAAQ,MACrCkB,EAA4BlB,EAAQ,MAIxC,IAAIQ,EAA+B,SAAU/qP,GAEzC,SAAS+qP,EAAc9pQ,GACnB,IAAIrD,EAAQoiB,EAAO1mB,KAAK/F,KAAM0N,IAAU1N,KAaxC,OAZAqK,EAAMqD,MAAQA,EACdrD,EAAMkxF,aAAe,GACrBlxF,EAAM8tQ,uBAAyB,IAAIJ,EAAyB10B,uBAC5Dh5O,EAAMgsE,KAAO0gM,EAAQU,QAAQiG,YAC7BrzQ,EAAMszQ,eAAiB,GACvBtzQ,EAAM8xB,OAAQ,EACd9xB,EAAMuzQ,oBAAqB,EAC3BvzQ,EAAMwzQ,SAAU,EAEhBxzQ,EAAMwmC,MAAQ,CAAE5pC,aAASzJ,GACzB6M,EAAMguQ,cAAgB,IAAIJ,EAAgBK,cAAcjuQ,EAAOqD,EAAM6qQ,yBAA0B7qQ,EAAM8qQ,4BACrGnuQ,EAAMkxF,aAAav8F,MAAK,WAAc,OAAOqL,EAAMguQ,cAAclrQ,SAAW,IACrE9C,CACX,CAgLA,OAhMA2hB,EAAUwrP,EAAe/qP,GAiBzB+qP,EAAct3Q,UAAUm3Q,OAAS,WAK7B,OAJ4Cr3Q,KAAK6wC,MAAM5pC,QACnDjH,KAAK6wC,MAAM5pC,UACXjH,KAAK49Q,oBAAqB,GAEtB7G,EAAQU,QAAQ7tP,cAAc,MAAO,CAAE0uC,MAAOt4D,KAAKy4Q,oBAAqB7qM,UAAW5tE,KAAK0N,MAAMkgE,UAAWhE,IAAK5pE,KAAKq2E,MACvHr2E,KAAK6wC,MAAM5pC,SAAW8vQ,EAAQU,QAAQ7tP,cAAc6zP,EAAWhG,QAAS,CAAExwQ,QAASjH,KAAK6wC,MAAM5pC,UAC9FjH,KAAKq4Q,cAAcK,aAC3B,EACAlB,EAAct3Q,UAAUu4Q,kBAAoB,WACxC,OAAO3zN,EAAS,CAAEyT,OAAQ,QAAWv4D,KAAK0N,MAAMirQ,gBAAkB,CAAC,EACvE,EACAnB,EAAct3Q,UAAU04Q,kBAAoB,WACxC,IAAIvuQ,EAAQrK,KACZ,IAAIA,KAAK69Q,QAAT,CAKA79Q,KAAK69Q,SAAU,EACf,IAAI9pQ,EAAU/T,KAAK0N,MAAMqG,SAAW,GAChC8kQ,EAAa,CACbjsQ,sBAAuB,CACnBu/G,0BAA2B,IAAI4sJ,EAA+B/4Q,KAAKq4Q,gBAEvEtkQ,QAASA,EACT9D,mBAAoB,IAAIioQ,EAA0Bc,yBAAwB,IAE9Eh5Q,KAAKulD,YAAcvlD,KAAK0N,MAAM63C,aAAe,CAAC,EAC9C,IAAI7gC,EAAW1kB,KAAK0N,MAAMgX,SACtBozP,EAAemB,aAAaC,gBAAgBx0P,KAC5C1kB,KAAKulD,YAAY7nB,WAAao6O,EAAemB,aAAaE,mBAAmBz0P,IAEjF1kB,KAAKulD,YAAcoyN,EAAoB1yN,cAAcK,4BAA4BtlD,KAAKulD,YAAavlD,KAAK0N,QA0BlF,IAAIiqQ,EAAoB7hB,iBAC9BzpO,OAAOrsB,KAAKq2E,KAAKynM,QAAS99Q,KAAKulD,aA1BxB,SAAUt+C,GAC7BoD,EAAMgL,SAAS,CAAEpO,QAASA,IAEPA,EAAQiG,QAAQyqQ,EAAoBxlB,aAAaa,MACvDz4G,WAAU,WAEnBlwI,EAAMoP,IAAMpP,EAAMk7C,YAAY9rC,IAC9BpP,EAAMsP,UAAYtP,EAAMk7C,YAAY5rC,UACpCtP,EAAMqD,MAAM0pQ,WAAW/sQ,EAAMoP,IAAKpP,EAAMsP,WACxCtP,EAAMkxF,aAAav8F,MAAK,WAAc,OAAOqL,EAAMoP,IAAItM,SAAW,GACtE,GACJ,IAI4B,SAAUlG,GACfA,EAAQiG,QAAQyqQ,EAAoBxlB,aAAaa,MACvDz4G,WAAU,WAEnBlwI,EAAMszQ,eAAe5+Q,SAAQ,SAAU+J,GAAK,OAAOA,GAAK,IACxDuB,EAAMszQ,eAAevgR,OAAS,EAC9BiN,EAAM8xB,OAAQ,CAClB,GACJ,GAGqG08O,EA3CrG,CA4CJ,EACArB,EAAct3Q,UAAUy6Q,qBAAuB,WACvC36Q,KAAK49Q,qBAEL59Q,KAAKu7F,aAAax8F,SAAQ,SAAU+J,GAAK,OAAOA,GAAK,IACrD9I,KAAKu7F,aAAan+F,OAAS,EAKnC,EACAo6Q,EAAct3Q,UAAU65Q,mBAAqB,SAAUC,GACnDh6Q,KAAK85Q,oBAAoBE,EAAWh6Q,KAAK0N,MAC7C,EACA8pQ,EAAct3Q,UAAU45Q,oBAAsB,SAAUE,EAAWH,GAC/D,IAAI9zN,EAAU,CAAC,EACf/lD,KAAKi6Q,2BAA2BD,EAAWH,EAAW9zN,GACtD/lD,KAAKk6Q,gCAAgCL,EAAW9zN,GAChD/lD,KAAK+9Q,eAAeh4N,EACxB,EACAyxN,EAAct3Q,UAAUg6Q,gCAAkC,SAAUL,EAAW9zN,GAG3E,KAAK/lD,KAAK0N,MAAM63C,aAAevlD,KAAK0N,MAAM63C,YAAY7nB,YAAe19B,KAAK0N,MAAMgwB,YAAhF,CAGA,IAAI28O,IAAiBR,EAAUh0I,MAC3BwzI,EAAU,aACViB,EAAiBt6Q,KAAKulD,YAAY7nB,WACtC,GAAIo6O,EAAemB,aAAaC,gBAAgBW,EAAUn1P,UAAW,CACjE,IAAI61P,EAAoBv6Q,KAAKm4Q,uBAAuBqC,YAAYx6Q,KAAKo5Q,uBAAuBC,IACxFoB,EAAa3C,EAAemB,aAAaE,mBAAmBU,EAAUn1P,UACrE61P,EAAkBx4P,SAASu4P,EAAgBG,KACxCJ,GACAx2Q,QAAQyF,IAAI,4CAEhBy8C,EAAQszN,GACJ,CACIrxL,cAAesyL,EACfn0N,aAAcs0N,GAG9B,MACSH,GAAkBA,EAAel9Q,OAAS,IAC/C2oD,EAAQszN,GACJ,CACIrxL,cAAesyL,EACfn0N,aAAc,IAtB1B,CAyBJ,EACAqxN,EAAct3Q,UAAU+5Q,2BAA6B,SAAUD,EAAWH,EAAW9zN,GACjF,IAAI17C,EAAQrK,KACRq6Q,IAAiBR,EAAUh0I,MAC/B5mI,OAAOmB,KAAKy5Q,GAAW96Q,SAAQ,SAAUs6Q,GACjC1B,EAAoBv9O,EAAEvX,SAAS80P,EAAoB1yN,cAAcL,eAAgBy0N,KACnDhvQ,EAAM8tQ,uBAAuBqC,YAAYnwQ,EAAM+uQ,uBAAuBC,IACvEt3P,SAASi4P,EAAUX,GAAUQ,EAAUR,MAC5DgB,GACAx2Q,QAAQyF,IAAI,iBAAmB+vQ,EAAU,sBAE7CtzN,EAAQszN,GAAW,CACfrxL,cAAegyL,EAAUX,GACzBlzN,aAAc0zN,EAAUR,KAIxC,IACA1B,EAAoB1yN,cAAcC,oBAAoBnmD,SAAQ,SAAU27Q,GAChEV,EAAUU,KAAcb,EAAUa,KAC9BL,GACAx2Q,QAAQyF,IAAI,iBAAmBoxQ,EAAW,4BAE9C30N,EAAQ20N,GAAY,CAChB1yL,cAAegyL,EAAUU,GACzBv0N,aAAc0zN,EAAUa,IAGpC,GACJ,EACAlD,EAAct3Q,UAAU69Q,eAAiB,SAAUh4N,GAC/C,IAAI17C,EAAQrK,KACZA,KAAKg+Q,kBAAiB,WAClB,OAAOrG,EAAoB1yN,cAAca,gBAAgBC,EAAS17C,EAAMk7C,YAAal7C,EAAMoP,IAAKpP,EAAMsP,UAC1G,GACJ,EACA69P,EAAct3Q,UAAU89Q,iBAAmB,SAAU14Q,GAC7CtF,KAAKm8B,MAEL72B,IAIAtF,KAAK29Q,eAAe3+Q,KAAKsG,EAEjC,EACAkyQ,EAAct3Q,UAAUk5Q,uBAAyB,SAAUC,GACvD,GAAgB,YAAZA,EAAuB,CACvB,GAAIr5Q,KAAK0N,MAAM4rQ,+BACX,OAAOt5Q,KAAK0N,MAAM4rQ,+BAEtB,GAAIt5Q,KAAKu5Q,wBACL,OAAOxB,EAAyByB,4BAA4BC,aAEpE,CAEA,OAAO1B,EAAyByB,4BAA4BE,cAChE,EACAlC,EAAct3Q,UAAUq5Q,sBAAwB,WAC5C,OAAQv5Q,KAAK0N,MAAMisQ,kBAAoB35Q,KAAK0N,MAAMw1H,eAAwC,MAAvBljI,KAAK0N,MAAMu1H,UACzEjjI,KAAK0N,MAAM63C,cAAgBvlD,KAAK0N,MAAM63C,YAAYo0N,kBAC5C35Q,KAAK0N,MAAM63C,YAAY29E,eACY,MAAnCljI,KAAK0N,MAAM63C,YAAY09E,SACtC,EACOu0I,CACX,CAlMmC,CAkMjCT,EAAQn/L,WACVz4E,EAAQq4Q,cAAgBA,EACxB,IAAIuB,EAAgD,SAAUtsP,GAE1D,SAASssP,EAA+BviQ,GACpC,IAAInM,EAAQoiB,EAAO1mB,KAAK/F,OAASA,KAEjC,OADAqK,EAAMmM,OAASA,EACRnM,CACX,CAIA,OATA2hB,EAAU+sP,EAAgCtsP,GAM1CssP,EAA+B74Q,UAAU44P,cAAgB,SAAU4iB,EAAoB7iB,GACnF,OAAO,IAAImf,EAAoB4D,kBAAkBF,EAAoB17Q,KAAKwW,OAAQqiP,EACtF,EACOkgB,CACX,CAXoD,CAWlDpB,EAAoBhf,yDC7PtB,IAAI+e,EAAmB13Q,MAAQA,KAAK03Q,iBAAoB,SAAUrgB,GAC9D,OAAQA,GAAOA,EAAIyf,WAAczf,EAAM,CAAE,QAAWA,EACxD,EACAp4P,OAAOC,eAAeC,EAAS,aAAc,CAAEpC,OAAO,IACtD,IAAIg6Q,EAAUW,EAAgBV,EAAQ,OACtC73Q,EAAQ8+Q,aAAelH,EAAQU,QAAQyG,cAAc,CAAC,sCCLtD,IAAIp5N,EAAY9kD,MAAQA,KAAK8kD,UAAa,WAStC,OARAA,EAAW7lD,OAAO0wB,QAAU,SAASsB,GACjC,IAAK,IAAI4H,EAAGx4B,EAAI,EAAG46B,EAAI32B,UAAUlH,OAAQiD,EAAI46B,EAAG56B,IAE5C,IAAK,IAAIkE,KADTs0B,EAAIv0B,UAAUjE,GACOpB,OAAOiB,UAAUuC,eAAesD,KAAK8yB,EAAGt0B,KACzD0sB,EAAE1sB,GAAKs0B,EAAEt0B,IAEjB,OAAO0sB,CACX,EACO6zB,EAAS9+C,MAAMhG,KAAMsE,UAChC,EACIuyQ,EAAgB72Q,MAAQA,KAAK62Q,cAAiB,SAAUxf,GACxD,GAAIA,GAAOA,EAAIyf,WAAY,OAAOzf,EAClC,IAAI7xO,EAAS,CAAC,EACd,GAAW,MAAP6xO,EAAa,IAAK,IAAI3sM,KAAK2sM,EAASp4P,OAAOwD,eAAesD,KAAKsxP,EAAK3sM,KAAIllC,EAAOklC,GAAK2sM,EAAI3sM,IAE5F,OADAllC,EAAgB,QAAI6xO,EACb7xO,CACX,EACAvmB,OAAOC,eAAeC,EAAS,aAAc,CAAEpC,OAAO,IACtD,IAAIg6Q,EAAUF,EAAaG,EAAQ,OAC/BmH,EAAUnH,EAAQ,MAClBoH,EAAiBpH,EAAQ,MACzBE,EAAkBF,EAAQ,MAC1BqH,EAAkBrH,EAAQ,MAgF9B73Q,EAAAA,QAAkB43Q,EAAQuH,YA/ED,SAAU5wQ,EAAOk8D,GACtC,IAAI78C,EAAKgqP,EAAQwH,WAAWH,EAAeH,cAAepnB,EAAe9pO,EAAG8pO,aAAc5vP,EAAU8lB,EAAG9lB,QAAS+I,EAAqB+c,EAAG/c,mBAAoBuoJ,EAAwBxrI,EAAGwrI,sBAAuBvV,EAAqBj2H,EAAGi2H,mBAAoB4O,EAAqB7kI,EAAG6kI,mBAC9Q/uH,EAAKk0O,EAAQyH,SAAS,IAAIL,EAAQM,YAAe30G,EAAajnI,EAAG,GAAI67O,EAAgB77O,EAAG,GACxFO,EAAK2zO,EAAQyH,SAAS,IAAIL,EAAQM,YAAeE,EAAiBv7O,EAAG,GAAIw7O,EAAoBx7O,EAAG,GAChGG,EAAKwzO,EAAQyH,WAAYK,EAAoBt7O,EAAG,GAAIu7O,EAAuBv7O,EAAG,GAC9Ew7O,EAAKhI,EAAQyH,WAAYQ,EAAgBD,EAAG,GAAIE,EAAmBF,EAAG,GACtEG,EAAUnI,EAAQoI,SAClBC,EAAUrI,EAAQoI,OAAO,MACzBE,EAAetI,EAAQuI,SAAQ,WAAc,OAAOx1G,EAAWxsK,WAAa,iBAAmB,GAAG,CAACwsK,IACnGy1G,EAAgBxI,EAAQuI,SAAQ,WAAc,OAAOX,EAAerhR,WAAa,kBAAoB,GAAG,CAACqhR,IACzG/0M,GACAmtM,EAAQyI,oBAAoB51M,GAAK,WAAc,MAAQ,CACnDwzB,QAAS,WAAc,OAAO8hL,EAAQpB,QAAQ1gL,SAAW,EACzD,IAERihL,EAAgBoB,eAAc,WACtB/xQ,EAAMgvD,UAAsC,kBAAnBhvD,EAAMgvD,UAC/B74D,QAAQC,KAAK,yNAErB,IACAu6Q,EAAgBoB,eAAc,WAC1B,IAAIr9J,EAAY,CACZ1qC,oBAAqB,SAAUjyE,EAAMqvH,GAAM,OAAO4pJ,GAAc,SAAUn6G,GAAQ,OAAOA,EAAKm7G,SAASj6Q,EAAMqvH,EAAK,GAAI,EACtH6qJ,8BAA+B,SAAUl6Q,EAAMqvH,GAAM,OAAO8pJ,GAAkB,SAAUr6G,GAAQ,OAAOA,EAAKm7G,SAASj6Q,EAAMqvH,EAAK,GAAI,EACpI8qJ,cAAe,SAAUr6N,GAAe,OAAOu5N,EAAqBv5N,EAAc,EAClFmpI,WAAY,SAAUxpD,GAAW,OAAO+5I,EAAiB/5I,EAAU,EACnEhiE,OAAQ,WAAc,OAAOk8M,EAAQtB,OAAS,GAE9Cr7J,EAAOo0I,EAAarD,YAAY,sBACpC,GAAK/wI,EAAL,CAMA,IAAImmD,EACJ,GAJA3hK,EAAQ6C,WAAW24G,GACnBA,EAAK5lF,KAAKulF,EAAW10G,GACrBwxQ,EAAQpB,QAAUr7J,EAEdzyG,EAAmByyH,wBAAyB,CAC5C,IAAIkmC,EAAmB,WAGnB,GAAuB,MAAnBy2G,EAAQtB,QAAZ,CAGA,IAAItlN,EAAe4mN,EAAQtB,QAAQtlN,aAKnC,GAAoB,MAAhBA,GAAwBA,EAAe,EAAG,CAY1ChyD,YAT0B,WACtBkH,EAAM4L,KAAKixF,aAAa/xC,GACpBwqF,EACAA,EAAmBv8C,qBAEdmrD,GACLA,EAAmBnrD,oBAE3B,GACgC,EACpC,CAnBA,CAoBJ,EACAmiE,EAA4BrQ,EAAsBC,cAAc4mH,EAAQtB,QAASn1G,GACjFA,GACJ,CACA,OAAO,WACH1hK,EAAQoG,YAAYo1G,GAChBmmD,GACAA,GAER,CAxCA,CAyCJ,IACA,IAAIwuG,EAAaL,EAAQ8I,aAAY,SAAUpmQ,EAAKE,GAChDulQ,EAAQpB,QAAQgC,yBAAyBrmQ,EAAKE,EAClD,GAAG,IACH,OAAQo9P,EAAQU,QAAQ7tP,cAAc,MAAO,CAAEgkD,UAAWyxM,EAAcz1M,IAAKw1M,GAAWP,GACpF9H,EAAQU,QAAQ7tP,cAAcstP,EAAgBM,cAAe1yN,EAAS,CAAE8oB,UAAW2xM,GAAiBV,EAAmB,CAAE35I,QAAS85I,EAAe5H,WAAYA,KACrK,uCCtGA,IAAItyN,EAAY9kD,MAAQA,KAAK8kD,UAAa,WAStC,OARAA,EAAW7lD,OAAO0wB,QAAU,SAASsB,GACjC,IAAK,IAAI4H,EAAGx4B,EAAI,EAAG46B,EAAI32B,UAAUlH,OAAQiD,EAAI46B,EAAG56B,IAE5C,IAAK,IAAIkE,KADTs0B,EAAIv0B,UAAUjE,GACOpB,OAAOiB,UAAUuC,eAAesD,KAAK8yB,EAAGt0B,KACzD0sB,EAAE1sB,GAAKs0B,EAAEt0B,IAEjB,OAAO0sB,CACX,EACO6zB,EAAS9+C,MAAMhG,KAAMsE,UAChC,EACIuyQ,EAAgB72Q,MAAQA,KAAK62Q,cAAiB,SAAUxf,GACxD,GAAIA,GAAOA,EAAIyf,WAAY,OAAOzf,EAClC,IAAI7xO,EAAS,CAAC,EACd,GAAW,MAAP6xO,EAAa,IAAK,IAAI3sM,KAAK2sM,EAASp4P,OAAOwD,eAAesD,KAAKsxP,EAAK3sM,KAAIllC,EAAOklC,GAAK2sM,EAAI3sM,IAE5F,OADAllC,EAAgB,QAAI6xO,EACb7xO,CACX,EACAvmB,OAAOC,eAAeC,EAAS,aAAc,CAAEpC,OAAO,IACtD,IAAI46Q,EAAsBX,EAAQ,MAC9BD,EAAUF,EAAaG,EAAQ,OAC/BoH,EAAiBpH,EAAQ,MACzB+I,EAAW/I,EAAQ,MACnBqH,EAAkBrH,EAAQ,MAC1BmH,EAAUnH,EAAQ,MAClB70J,EAAoB40J,EAAQuH,YAAW,SAAU5wQ,EAAOk8D,GACxD,IAAI3iE,EAAU8vQ,EAAQwH,WAAWH,EAAeH,cAAch3Q,QAC1DovE,EAAO0gM,EAAQoI,OAAO,MACtBa,EAAYjJ,EAAQoI,OAAO,MAC3Bc,EAAelJ,EAAQoI,OAAO,MAC9Be,EAAenJ,EAAQoI,OAAO,MAC9BgB,EAAiBpJ,EAAQoI,OAAO,MAChCpyP,EAAKgqP,EAAQyH,WAAYjgK,EAAmBxxF,EAAG,GAAIqzP,EAAsBrzP,EAAG,GAC5E8V,EAAKk0O,EAAQyH,WAAY6B,EAAax9O,EAAG,GAAIg9E,EAAgBh9E,EAAG,GAChEO,EAAK2zO,EAAQyH,WAAYzhR,EAAQqmC,EAAG,GAAIm5C,EAAWn5C,EAAG,GACtDG,EAAKwzO,EAAQyH,SAAS,IAAIL,EAAQM,YAAe30G,EAAavmI,EAAG,GAAIm7O,EAAgBn7O,EAAG,GACxFw7O,EAAKhI,EAAQyH,SAAS,IAAIL,EAAQM,WAAW,cAAe6B,EAAqBvB,EAAG,GAAIwB,EAAwBxB,EAAG,GACnHyB,EAAKzJ,EAAQyH,SAAS,IAAIL,EAAQM,WAAW,cAAegC,EAAuBD,EAAG,GAAIE,EAA0BF,EAAG,GACvHG,EAAK5J,EAAQyH,SAAS,IAAIL,EAAQM,WAAW,iBAAkBmC,EAAqBD,EAAG,GAAIE,EAAwBF,EAAG,GAC1H5J,EAAQyI,oBAAoB51M,GAAK,WAC7B,MAAO,CAEHwzB,QAAS,WAAc,OAAO,CAAO,EAE7C,IACA25K,EAAQ+J,WAAU,WACd,OAAOf,EAASgB,WAAWxiK,EAAkBt3G,EAAS+4Q,EAAUlC,QACpE,GAAG,CAACv/J,IACJ8/J,EAAgBoB,eAAc,WAC1B,IAAIr9J,EAAY,CACZ1D,iBAAkB,SAAUS,EAASmD,GACjC89J,EAAoBjhK,GACpB5iC,EAAS+lC,EACb,EACAzC,cAAe,SAAUp/G,GAAS,OAAOo/G,EAAcp/G,EAAQ,EAC/Di3E,oBAAqB,SAAUjyE,EAAMqvH,GAAM,OAAO4pJ,GAAc,SAAUn6G,GAAQ,OAAOA,EAAKm7G,SAASj6Q,EAAMqvH,EAAK,GAAI,EACtHhU,uBAAwB,SAAUnmD,GAAa,OAAO+lN,GAAwB,SAAUn8G,GAAQ,OAAOA,EAAKm7G,SAAS,aAAc/kN,EAAY,GAAI,EACnJkmD,qBAAsB,SAAUlmD,GAAa,OAAO4lN,GAAsB,SAAUh8G,GAAQ,OAAOA,EAAKm7G,SAAS,aAAc/kN,EAAY,GAAI,EAC/IonD,mBAAoB,SAAUlsG,GAAW,OAAOgrQ,GAAsB,SAAUt8G,GAAQ,OAAOA,EAAKm7G,SAAS,gBAAiB7pQ,EAAU,GAAI,GAE5I4sG,EAAOx7G,EAAQ6C,WAAW,IAAI6tQ,EAAoB37J,uBAEtD,OADAyG,EAAK5lF,KAAKulF,EAAW/rC,EAAKynM,QAASmC,EAAanC,QAASoC,EAAapC,QAASqC,EAAerC,QAAS37J,EAAmBz0G,GACnH,WAAczG,EAAQoG,YAAYo1G,EAAO,CACpD,IACA,IAAI70C,EAAYmpM,EAAQuI,SAAQ,WAAc,MAAO,mBAAqBx1G,EAAWxsK,UAAY,GAAG,CAACwsK,IACjGk3G,EAAoBjK,EAAQuI,SAAQ,WAAc,MAAO,qBAAuBgB,EAAmBhjR,UAAY,GAAG,CAACgjR,IACnHW,EAAsBlK,EAAQuI,SAAQ,WAAc,MAAO,uBAAyBmB,EAAqBnjR,UAAY,GAAG,CAACmjR,IACzHS,EAAoBnK,EAAQuI,SAAQ,WAAc,MAAO,qBAAuBsB,EAAmBtjR,UAAY,GAAG,CAACsjR,IACnHO,EAAgB5iK,GAAoBA,EAAiByI,uBACrDo6J,EAAaD,EAAgB5iK,EAAiB/1D,oBAAiBhrD,EAC/D6jR,EAA+B,MAApB9iK,GAAqC,MAATxhH,EAC3C,OAAQg6Q,EAAQU,QAAQ7tP,cAAc,OAAQk7B,EAAS,CAAE8oB,UAAWA,EAAWhE,IAAKyM,GAAU3oE,EAAMgH,OAAgC,CAAC,EAAxB,CAAE6uD,KAAM,aACjHwzM,EAAQU,QAAQ7tP,cAAc,OAAQ,CAAEgkD,UAAWozM,EAAmBp3M,IAAKs2M,IAC3EnJ,EAAQU,QAAQ7tP,cAAc,OAAQ,CAAEgkD,UAAWqzM,EAAqBr3M,IAAKu2M,IAC7EpJ,EAAQU,QAAQ7tP,cAAc,OAAQ,CAAEgkD,UAAWszM,EAAmBt3M,IAAKq2M,IAC3ElJ,EAAQU,QAAQ7tP,cAAc,OAAQ,CAAEgkD,UAAW,iBAAkBhE,IAAKo2M,GACtEqB,GAAYtK,EAAQU,QAAQ7tP,cAAcmtP,EAAQU,QAAQ6J,SAAU,KAAMvkR,GAC1EokR,GAAiBpK,EAAQU,QAAQ7tP,cAAcw3P,EAAYt8N,EAAS,CAAC,EAAGy5D,EAAiBv1G,UAC7F+tQ,EAAQU,QAAQ7tP,cAAc,OAAQ,CAAEgkD,UAAW,wBAA0ByyM,GACrF,IAEAlhR,EAAAA,QAAkBgjH,oCCjFlB,IAAIr9D,EAAY9kD,MAAQA,KAAK8kD,UAAa,WAStC,OARAA,EAAW7lD,OAAO0wB,QAAU,SAASsB,GACjC,IAAK,IAAI4H,EAAGx4B,EAAI,EAAG46B,EAAI32B,UAAUlH,OAAQiD,EAAI46B,EAAG56B,IAE5C,IAAK,IAAIkE,KADTs0B,EAAIv0B,UAAUjE,GACOpB,OAAOiB,UAAUuC,eAAesD,KAAK8yB,EAAGt0B,KACzD0sB,EAAE1sB,GAAKs0B,EAAEt0B,IAEjB,OAAO0sB,CACX,EACO6zB,EAAS9+C,MAAMhG,KAAMsE,UAChC,EACIuyQ,EAAgB72Q,MAAQA,KAAK62Q,cAAiB,SAAUxf,GACxD,GAAIA,GAAOA,EAAIyf,WAAY,OAAOzf,EAClC,IAAI7xO,EAAS,CAAC,EACd,GAAW,MAAP6xO,EAAa,IAAK,IAAI3sM,KAAK2sM,EAASp4P,OAAOwD,eAAesD,KAAKsxP,EAAK3sM,KAAIllC,EAAOklC,GAAK2sM,EAAI3sM,IAE5F,OADAllC,EAAgB,QAAI6xO,EACb7xO,CACX,EACIkyP,EAAmB13Q,MAAQA,KAAK03Q,iBAAoB,SAAUrgB,GAC9D,OAAQA,GAAOA,EAAIyf,WAAczf,EAAM,CAAE,QAAWA,EACxD,EACAp4P,OAAOC,eAAeC,EAAS,aAAc,CAAEpC,OAAO,IACtD,IAAI46Q,EAAsBX,EAAQ,MAC9BD,EAAUF,EAAaG,EAAQ,OAC/BmH,EAAUnH,EAAQ,MAClBuK,EAAoB7J,EAAgBV,EAAQ,OAC5CwK,EAAmB9J,EAAgBV,EAAQ,OAC3CoH,EAAiBpH,EAAQ,MACzB+I,EAAW/I,EAAQ,MACnBqH,EAAkBrH,EAAQ,OAE9B,SAAWyK,GACPA,EAAcA,EAAyB,UAAI,GAAK,YAChDA,EAAcA,EAAyB,UAAI,GAAK,WACnD,CAHD,CAGmBtiR,EAAQsiR,gBAAkBtiR,EAAQsiR,cAAgB,CAAC,IAqQtEtiR,EAAAA,QAAkB43Q,EAAQ2K,MAxNX,SAAUh0Q,GACrB,IAAIzG,EAAU8vQ,EAAQwH,WAAWH,EAAeH,cAAch3Q,QAC1DokJ,EAAW39I,EAAM29I,SAAUwL,EAAcnpJ,EAAMmpJ,YAAayO,EAAa53J,EAAM43J,WAC/Ev4I,EAAKgqP,EAAQyH,WAAYmD,EAAgB50P,EAAG,GAAIw1F,EAAmBx1F,EAAG,GACtE8V,EAAKk0O,EAAQyH,WAAYoD,EAAc/+O,EAAG,GAAI+2H,EAAiB/2H,EAAG,GAClEO,EAAK2zO,EAAQyH,SAAS,GAAIqD,EAAYz+O,EAAG,GAAI0+O,EAAe1+O,EAAG,GAC/DG,EAAKwzO,EAAQyH,SAAS,IAAIL,EAAQM,YAAe30G,EAAavmI,EAAG,GAAIm7O,EAAgBn7O,EAAG,GACxFw7O,EAAKhI,EAAQyH,WAAYuD,EAAahD,EAAG,GAAIvuH,EAAgBuuH,EAAG,GAChEyB,EAAKzJ,EAAQyH,WAAYzmN,EAAWyoN,EAAG,GAAI9oH,EAAc8oH,EAAG,GAC5DG,EAAK5J,EAAQyH,WAAYwD,EAAkBrB,EAAG,GAAI18M,EAAqB08M,EAAG,GAC1EsB,EAAKlL,EAAQyH,WAAYj7M,EAAO0+M,EAAG,GAAIpqH,EAAUoqH,EAAG,GACpDC,EAAKnL,EAAQyH,WAAYj+Q,EAAQ2hR,EAAG,GAAItqH,EAAWsqH,EAAG,GACtDC,EAAKpL,EAAQyH,WAAY1gG,EAAQqkG,EAAG,GAAIpxH,EAAWoxH,EAAG,GACtDC,EAAKrL,EAAQyH,UAAS,GAAQ7lH,EAAmBypH,EAAG,GAAIrpH,EAAsBqpH,EAAG,GACjFC,EAAKtL,EAAQyH,UAAS,GAAQ3lH,EAAiBwpH,EAAG,GAAIppH,EAAoBopH,EAAG,GAC7EC,EAAKvL,EAAQyH,UAAS,GAAQ1lH,EAAmBwpH,EAAG,GAAItpH,EAAsBspH,EAAG,GACjFC,EAAKxL,EAAQyH,WAAYgE,GAAeD,EAAG,GAAIE,GAAkBF,EAAG,GACpE5kG,GAAeo5F,EAAQuI,SAAQ,WAAc,OAAOj0H,EAAS6N,gBAAkB,GAAG,IAClF7iF,GAAO0gM,EAAQoI,OAAO,MACtBuD,GAAkB3L,EAAQoI,OAAO,MACjCwD,GAAoB5L,EAAQoI,SAC5ByD,GAAgB7L,EAAQoI,SAExBvoH,GAAemgH,EAAQoI,SACvB0D,GAAK9L,EAAQyH,SAAS,GAAIsE,GAAqBD,GAAG,GAAIE,GAAwBF,GAAG,GACjFG,GAAoBjM,EAAQ8I,aAAY,SAAUj2M,GAClDgtF,GAAaknH,QAAUl0M,EACvBm5M,IAAsB,SAAU99Q,GAAK,OAAOA,EAAI,CAAG,GACvD,GAAG,IAEC+4K,GAAa+4F,EAAQoI,SACrB8D,GAAKlM,EAAQyH,SAAS,GAAI0E,GAAmBD,GAAG,GAAIE,GAAsBF,GAAG,GAC7EG,GAAkBrM,EAAQ8I,aAAY,SAAUj2M,GAChDo0G,GAAW8/F,QAAUl0M,EACrBu5M,IAAoB,SAAUl+Q,GAAK,OAAOA,EAAI,CAAG,GACrD,GAAG,IACCo+Q,GAA6B,MAAjB1B,IAA0BhpH,GAAoBG,GAAoBD,GAC9EyqH,GAAkB3lG,IAAgB0lG,GAClCE,GAAmBxM,EAAQ8I,aAAY,SAAU/zJ,EAAOjzG,IACxD+pQ,GAAc9E,QAAUjlQ,EACpBA,MApFsB,SAAUizG,EAAOjzG,EAAYwyI,GAC3D,IAAIvmI,EAAMumI,EAASr1G,YAEnB,IAAK81E,GAASjzG,EAAW+oF,SAAW/oF,EAAW+oF,UAAW,CACtD,IAAI4hL,EAAQ,qCAAuC1+P,EAAIpG,WAAa,yRACpEi5P,EAAoBv9O,EAAE/0B,QAAO,WAAc,OAAOxB,QAAQC,KAAK0/Q,EAAQ,GAAG,wBAA0Bn4H,EAASr1G,YAAYt3B,WAC7H,CAEA,GAAIotG,GAASjzG,EAAWioK,kBAAqD,MAAjCjoK,EAAWioK,mBAA4B,CAC/E,IAAI2iG,EAAQ,qCAAuC3+P,EAAIpG,WAAa,ySACpEi5P,EAAoBv9O,EAAE/0B,QAAO,WAAc,OAAOxB,QAAQC,KAAK2/Q,EAAQ,GAAG,iCAAmCp4H,EAASr1G,YAAYt3B,WACtI,CACJ,CAyEYglQ,CAA4B53J,EAAOjzG,EAAYwyI,GACdxyI,EAAW0nK,qBAAuB1nK,EAAW0nK,uBAG1E/5K,YAAW,WAAc,OAAO6kJ,EAASjoD,aAAe,GAAG,GAGvE,GAAG,IACCugL,GAAwB5M,EAAQ8I,aAAY,SAAU78M,GAAgB,OAAOugN,IAAiB,EAAMvgN,EAAe,GAAG,IACtH4gN,GAAyB7M,EAAQ8I,aAAY,SAAU78M,GAAgB,OAAOugN,IAAiB,EAAOvgN,EAAe,GAAG,IAC5Hw+M,EAAiB/J,QAAQkK,EAAe2B,GAAiBtlG,GAAW8/F,QAASoF,GAAkBP,GAAmBtsM,IAIlH,IAAIwtM,GAAoB9M,EAAQoI,SAChCpI,EAAQ+J,WAAU,WACd,IAAIgD,EAAaD,GAAkB/F,QAC/BiG,EAAapC,EAGjB,GAFAkC,GAAkB/F,QAAU6D,EAEV,MAAdmC,GAAgD,MAA1BA,EAAWzhK,aAChB,MAAd0hK,GAAgD,MAA1BA,EAAW1hK,YADxC,CAIA,IAAI2hK,EAAiBF,EAAWzhK,YAC5B8oF,EAAiB44E,EAAW1hK,YAEhC,GAAI2hK,EAAex7N,gBAAkB2iJ,EAAe3iJ,eAIpD,GAA+B,MAA3Bk6N,GAAgB5E,SAAsD,MAAnC4E,GAAgB5E,QAAQ1gL,QAIjD,GADDslL,GAAgB5E,QAAQ1gL,QAAQ+tG,EAAeniM,SAOxD84Q,GAAa,SAAUv9G,GAAQ,OAAOA,EAAO,CAAG,GAlBpD,CAoBJ,GAAG,CAACo9G,IACJ5K,EAAQ+J,WAAU,WAEd,GADoBc,IAAgBA,EAAYv/J,YAAY2E,uBAC5D,CAGA,IAAI3E,EAAcu/J,EAAYv/J,YAC1BzgB,GAAgC,IAAtBggL,EAAY91J,MACtBjzG,EAAaknQ,EAASkE,iBAAiB5hK,GAC3C,GAAKxpG,EAAL,CAGA,IAAIqrQ,EAAUrrQ,EAAWqqD,SAOzB,OANAqgN,GAAiB3hL,EAAS/oF,GACrB+oF,IACDvrB,GAAKynM,QAAQzlN,YAAY6rN,GACzBrrQ,EAAWikE,kBAAoBjkE,EAAWikE,oBAE9C2lM,GAAgB5pQ,GACT,WACH5R,EAAQoG,YAAYwL,GACpB0qQ,GAAiB3hL,OAASpkG,GAC1BilR,QAAgBjlR,GACZ0mR,GAAWA,EAAQj6P,eACnBi6P,EAAQj6P,cAAcwuC,YAAYyrN,EAE1C,CAfA,CANA,CAsBJ,GAAG,CAACtC,IAEJ7K,EAAQ+J,WAAU,WACd,GAAKz1H,GAAapkJ,IAGlBg9D,EAAqB2yF,GAAaknH,QAAU,QAAUzyH,EAAS/1I,qBAAkB9X,GAC5Eo5J,GAAaknH,SAAYwF,IAA9B,CAGA,IAAI/nL,EAAe,GACf4oL,EAAU,SAAUloK,GACpB,GAAIA,EAAM,CACN,IAAImoK,EAASnoK,EAAK/4C,SAClB0zF,GAAaknH,QAAQ7/M,sBAAsB,aAAcmmN,GACzD7oL,EAAav8F,MAAK,WACdiI,EAAQoG,YAAY4uG,GACpB07J,EAAoBv9O,EAAEijC,iBAAiB+mN,EAC3C,GACJ,CACA,OAAOnoK,CACX,EAUA,OATI08C,GACAwrH,EAAQ94H,EAASuT,2BAEjB9F,GACAqrH,EAAQ94H,EAASyT,mBAEjBjG,GACAsrH,EAAQ94H,EAAS8T,qBAEd,WACH5jE,EAAax8F,SAAQ,SAAU+J,GAC3BA,GACJ,GACJ,CA1BA,CA2BJ,GAAG,CAACw6Q,GAAiBxqH,EAAkBD,EAAgBF,EAAkBmqH,KACzEzE,EAAgBoB,eAAc,WAC1B,GAAKp0H,EAAL,CAGA,IAAIjpC,EAAY,CACZ1qC,oBAAqB,SAAUjyE,EAAMqvH,GAAM,OAAO4pJ,GAAc,SAAUn6G,GAAQ,OAAOA,EAAKm7G,SAASj6Q,EAAMqvH,EAAK,GAAI,EACtH07B,cAAe,SAAU/xF,GAAU,OAAO+xF,EAAc/xF,EAAS,EACjE+b,oBAAqB,WAAc,OAAOnE,GAAKynM,OAAS,EACxDpmH,YAAa,SAAU3/F,GAAY,OAAO2/F,EAAY3/F,EAAW,EACjE8/F,QAAS,SAAUt0F,GAAQ,OAAOs0F,EAAQt0F,EAAO,EACjDq0F,SAAU,SAAUr3J,GAAS,OAAOq3J,EAASr3J,EAAQ,EACrDwwJ,SAAU,SAAU+sB,GAAS,OAAO/sB,EAAS+sB,EAAQ,EACrD/kB,oBAAqB,SAAUglB,GAAW,OAAOhlB,EAAoBglB,EAAU,EAC/E9kB,kBAAmB,SAAU8kB,GAAW,OAAO9kB,EAAkB8kB,EAAU,EAC3E/kB,oBAAqB,SAAU+kB,GAAW,OAAO/kB,EAAoB+kB,EAAU,EAC/E1jB,cAAe,WAAc,OAAOuoH,GAAc9E,SAAW,IAAM,EACnEn/G,gBAAiB,WAAc,OAAO+jH,GAAgB5E,QAAU4E,GAAgB5E,QAAU6E,GAAkB7E,OAAS,EACrH3iH,iBAAkB,WAAc,OAAO6iB,GAAW8/F,QAAU9/F,GAAW8/F,QAAUlnH,GAAaknH,QAAUlnH,GAAaknH,QAAUznM,GAAKynM,OAAS,EAC7Iv7J,iBAAkB,SAAUF,EAAatlH,EAAOs0I,GAC5C9uB,EAAiB,CACbxlH,MAAOA,EACPslH,YAAaA,EACbgvB,MAAOA,GAEf,EACAuoB,eAAgB,SAAUv3C,EAAayJ,EAAOC,GACtC1J,GAEAu3C,EAAe,CACXv3C,YAAaA,EACbyJ,MAAOA,EACPC,cAAeA,IAEdD,GACDvJ,OAAiB/kH,IAKrBo8J,OAAep8J,EAEvB,GAEA6mR,EAAyBztH,GAAaknH,cAAWtgR,EACrD6tJ,EAAS71B,QAAQpT,EAAW/rC,GAAKynM,QAASuG,EAAwBxtH,EAAayO,EAzC/E,CA0CJ,IACA,IAAIg/G,GAA6BvN,EAAQuI,SAAQ,WAI7C,SAHUqC,GAAiBA,EAAct/J,aAClCs/J,EAAct/J,YAAY2E,wBAC1Bm3J,EAAQoG,qBAAqB5C,EAAct/J,YAAY75D,gBAElE,GAAG,CAACm5N,IACA/zM,GAAYmpM,EAAQuI,SAAQ,WAC5B,IAAIh+Q,EAAMwoK,EAAWxsK,WAIrB,OAHKgmR,KACDhiR,GAAO,kBAEJA,CACX,GAAG,CAACwoK,EAAYu5G,KACZmB,GAAiBzN,EAAQuI,SAAQ,WAAc,OAAOj0H,EAAS/1I,eAAiB,GAAG,IACnFmvQ,GAAe,WAAc,OAAO1N,EAAQU,QAAQ7tP,cAAcmtP,EAAQU,QAAQ6J,SAAU,KAC3E,MAAjBK,GAnOW,SAAU+C,EAAa1jR,EAAKmoN,EAAUu5D,EAAiBY,EAAiBgB,EAA4BK,GACnH,IAAItiK,EAAcqiK,EAAYriK,YAAatlH,EAAQ2nR,EAAY3nR,MAC3D6nR,GAAkBviK,EAClBwiK,EAAoBxiK,GAAeA,EAAY2E,uBAC/C89J,EAAoBziK,GAAeA,EAAY75D,eAI/Cu8N,EAA0BhoR,GAASA,EAAMO,SAAYP,EAAMO,WAAaP,EACxEioR,EAAc,WAAc,OAAQjO,EAAQU,QAAQ7tP,cAAcmtP,EAAQU,QAAQ6J,SAAU,KAC5FsD,GAAkB7N,EAAQU,QAAQ7tP,cAAcmtP,EAAQU,QAAQ6J,SAAU,KAAMyD,GAChFF,IAAsBP,GAA8BvN,EAAQU,QAAQ7tP,cAAck7P,EAAmBhgO,EAAS,CAAC,EAAGu9D,EAAYr5G,OAAQ,CAAEhI,IAAKA,EAAK4oE,IAAK84M,KACvJmC,GAAqBP,GAA8BvN,EAAQU,QAAQ7tP,cAAck7P,EAAmBhgO,EAAS,CAAC,EAAGu9D,EAAYr5G,OAAQ,CAAEhI,IAAKA,KAAW,EAC3J,OAAQ+1Q,EAAQU,QAAQ7tP,cAAcmtP,EAAQU,QAAQ6J,SAAU,KAAMgC,EAClEvM,EAAQU,QAAQ7tP,cAAc,OAAQ,CAAE25C,KAAM,eAAgB5wB,GAAI,QAAUw2K,EAAUv7I,UAAW,gBAAiBhE,IAAK+6M,GAAiBK,KAEpIA,IACZ,CAkNiCC,CAAatD,EAAeE,EAAW2C,GAAgB9B,GAAiBY,GAAiBgB,GAA4BlB,IAC/H,MAAfxB,GAjPW,SAAUA,EAAagC,EAAwBD,EAAuBttM,EAAMg1E,EAAUm3H,GACrG,IAAIngK,EAAcu/J,EAAYv/J,YAC1B6iK,EAAkB7iK,EAAY75D,eAC9B28N,EAAoB9iK,EAAY2E,yBAA2B46J,EAAY91J,MACvEs5J,EAAmB/iK,EAAY2E,wBAA0B46J,EAAY91J,MACrEu5J,GAAiBhjK,EAAY2E,wBAA0B46J,EAAY91J,MACvE,OAAQirJ,EAAQU,QAAQ7tP,cAAcmtP,EAAQU,QAAQ6J,SAAU,KAC5D6D,GACOpO,EAAQU,QAAQ7tP,cAAcs7P,EAAiBpgO,EAAS,CAAC,EAAG88N,EAAYv/J,YAAYr5G,OAAQ,CAAE4gE,IAAKg6M,KAC1GwB,GACOrO,EAAQU,QAAQ7tP,cAAc23P,EAAkB9J,QAAS,CAAEmK,YAAaA,EAAav2H,SAAUA,EAAU2M,YAAa3hF,EAAMivM,eAAgBvO,EAAQU,QAAQ7tP,cAAcs7P,EAAiBpgO,EAAS,CAAC,EAAG88N,EAAYv/J,YAAYr5G,OAAQ,CAAE4gE,IAAK+5M,OACtP0B,GAAiB7C,GAAgBzL,EAAQU,QAAQ7tP,cAAc23P,EAAkB9J,QAAS,CAAEmK,YAAaA,EAAav2H,SAAUA,EAAU2M,YAAa3hF,EAAMkvM,YAAa/C,IAClL,CAqO+BgD,CAAa5D,EAAagC,GAAwBD,GAAuBttM,GAAKynM,QAASzyH,EAAUm3H,IAAgB,EAC5I,OAAQzL,EAAQU,QAAQ7tP,cAAc,MAAO,CAAEggD,IAAKyM,GAAMzI,UAAWA,GAAWtV,MAAOypN,EAAYhqN,SAAUA,EAAUwL,KAAMA,EAAM,SAAUhjE,EAAOu9K,MAAOA,EAAO,mBAAoBkkG,GAAmBsB,GACrMvM,EAAQU,QAAQ7tP,cAAc,MAAO,CAAEgkD,UAAW,kBAAmBrK,KAAM,eAAgBqG,IAAKo5M,IAAqByB,MAEjHA,KACZ,uCCtSA,IAAI5N,EAAgB72Q,MAAQA,KAAK62Q,cAAiB,SAAUxf,GACxD,GAAIA,GAAOA,EAAIyf,WAAY,OAAOzf,EAClC,IAAI7xO,EAAS,CAAC,EACd,GAAW,MAAP6xO,EAAa,IAAK,IAAI3sM,KAAK2sM,EAASp4P,OAAOwD,eAAesD,KAAKsxP,EAAK3sM,KAAIllC,EAAOklC,GAAK2sM,EAAI3sM,IAE5F,OADAllC,EAAgB,QAAI6xO,EACb7xO,CACX,EACAvmB,OAAOC,eAAeC,EAAS,aAAc,CAAEpC,OAAO,IACtD,IAAI46Q,EAAsBX,EAAQ,MAC9BD,EAAUF,EAAaG,EAAQ,OAC/B6E,EAAc7E,EAAQ,MACtBoH,EAAiBpH,EAAQ,MACzBqH,EAAkBrH,EAAQ,MAkD9B73Q,EAAAA,QAAkB43Q,EAAQ2K,MAjDJ,SAAUh0Q,GAC5B,IAAIqf,EAAKgqP,EAAQyH,WAAYiH,EAAqB14P,EAAG,GAAI24P,EAAwB34P,EAAG,GAChF8V,EAAKk0O,EAAQwH,WAAWH,EAAeH,cAAeh3Q,EAAU47B,EAAG57B,QAASuvE,EAAe3zC,EAAG2zC,aAAcxmE,EAAqB6yB,EAAG7yB,mBA4CxI,OA3CAquQ,EAAgBoB,eAAc,WAC1B,IAAImC,EAAcl0Q,EAAMk0Q,YAAav2H,EAAW39I,EAAM29I,SAAU2M,EAActqJ,EAAMsqJ,YAChF31C,EAAcu/J,EAAYv/J,YAC1Bu+D,EAAgB5wK,EAAmB6zH,kCACnCzP,EAAUntH,EAAQ6C,WAAW,IAAI6tQ,EAAoBv6F,mBAAmB/6D,EAAYr5G,SACpF23K,EAAYvsD,EAAQlxD,SACxB,GAAIx1D,EAAM63Q,YAAa,CACnB,IAAII,EAAYj4Q,EAAM63Q,YAAYriN,SAC9ByiN,GACAhlG,EAAUtoH,YAAYstN,EAE9B,CACA,IAAI5kG,EAAiB,CACjBxnK,OAAQ8xI,EAASr1G,YACjB38B,QAASgyI,EAASjG,aAClB9zI,KAAM,kBACN26E,YAAa+rE,EACbjhF,OAAQ4pG,EACRz0F,kBAAkB,GAElB80F,EAAiD,UAA9B4gG,EAAY71J,cAC/Bv1C,EAAawV,4BAA4BzhF,KAAKisE,EAAcuqG,GAC1DvqG,EAAayqG,2BAA2B12K,KAAKisE,EAAcuqG,GAC7DzqG,EAAYtmE,EAAmB4nC,oBAC/B2+B,EAAcC,EAAaC,SAAS,CACpCmV,MAAOg1F,EACP/iH,OAAQ8iH,EACR90F,YAAY,EACZC,eAAgB,WAAcu/D,EAAS4O,qBAAuB,EAC9DqT,gBAAiBtV,EACjBgpB,iBAAkBA,EAClBtqG,UAAWJ,EAAU,sBAAuB,iBAE5CupG,EAAkBtpG,EAAcA,EAAYI,cAAWn5E,EAG3D,OAFAkoR,EAAsBtxJ,GACtB1mH,EAAM63Q,aAAe73Q,EAAM63Q,YAAYzoM,kBAAoBpvE,EAAM63Q,YAAYzoM,mBACtE,WACoB,MAAnB+iG,GACAA,IAEJ54K,EAAQoG,YAAY+mH,EACxB,CACJ,IACQ2iJ,EAAQU,QAAQ7tP,cAAcmtP,EAAQU,QAAQ6J,SAAU,KAAMmE,GAAsB/3Q,EAAM43Q,gBAC3FzJ,EAAYgB,aAAanvQ,EAAM43Q,eAAgBG,EAAmBviN,UAC7E,iCC7DAjkE,OAAOC,eAAeC,EAAS,aAAc,CAAEpC,OAAO,IACtD,IAAIg6Q,EAAUC,EAAQ,MAClBoH,EAAiBpH,EAAQ,MACzBqH,EAAkBrH,EAAQ,MAgE9B73Q,EAAAA,QA/DwB,SAAUulR,EAAarB,EAAWrlG,EAAYklG,EAAkBP,EAAmBtsM,GACvG,IAAItpD,EAAKgqP,EAAQwH,WAAWH,EAAeH,cAAeh3Q,EAAU8lB,EAAG9lB,QACnE2+Q,GADmG74P,EAAGkpD,qBAChF8gM,EAAQ8I,aAAY,WAC1C,IAAI5jK,EAAO0mK,EAAkB7E,QAC7B,GAAK7hK,EAAL,CAGA,IAAIioK,EAAUjoK,EAAK/4C,SACfghN,GAAWA,EAAQj6P,eACnBi6P,EAAQj6P,cAAcwuC,YAAYyrN,GAEtCj9Q,EAAQoG,YAAY4uG,GACpB0mK,EAAkB7E,aAAUtgR,CAN5B,CAOJ,GAAG,KAEHu5Q,EAAQ+J,WAAU,WACd,IAAIhpH,EAA2B,MAAf4sH,EACZmB,EAAgBnB,GAAeA,EAAYriK,cAAgBqiK,EAAYriK,YAAY2E,uBAIvF,GAFe8wC,GAAa+tH,KADDxC,GAA2B,MAAdrlG,GAGxC,CAIA,IAAI37D,EAAcqiK,EAAYriK,YAC9B,GAAIsgK,EAAkB7E,QAAS,CAE3B,IAAIgI,EAASnD,EAAkB7E,QAE3BiI,KADmC,MAAlBD,EAAO1oL,SAAwC,GAArBsnL,EAAYrzI,QACtBy0I,EAAO1oL,QAAQilB,EAAYr5G,QAGhE,IAFsC,IAAlB+8Q,QAA4CvoR,IAAlBuoR,EAG1C,OAGJH,GACJ,CACA,IAAI7yM,EAAUsvC,EAAYlsC,qBAE1B,GAAKpD,EAAL,CAGA,IAAIkpC,EAAOlpC,EAAQE,WAAW,MAAM,SAAUhR,GAAK,OAAOA,CAAG,IAC7D,GAAKg6C,EAAL,CAGA,IAAIioK,EAAUjoK,EAAK/4C,SACnB,GAAKghN,GAGQb,EAAYrlG,EAAa3nG,EAAKynM,SACpCzlN,YAAY6rN,GACnBvB,EAAkB7E,QAAU7hK,CAP5B,CAJA,CAnBA,MAFI2pK,GAiCR,GAAG,CAAClB,EAAarB,EAAWH,IAI5B7E,EAAgBoB,eAAc,WAC1B,OAAOmG,CACX,GACJ,qCClEA,IAAI/O,EAAgB72Q,MAAQA,KAAK62Q,cAAiB,SAAUxf,GACxD,GAAIA,GAAOA,EAAIyf,WAAY,OAAOzf,EAClC,IAAI7xO,EAAS,CAAC,EACd,GAAW,MAAP6xO,EAAa,IAAK,IAAI3sM,KAAK2sM,EAASp4P,OAAOwD,eAAesD,KAAKsxP,EAAK3sM,KAAIllC,EAAOklC,GAAK2sM,EAAI3sM,IAE5F,OADAllC,EAAgB,QAAI6xO,EACb7xO,CACX,EACIkyP,EAAmB13Q,MAAQA,KAAK03Q,iBAAoB,SAAUrgB,GAC9D,OAAQA,GAAOA,EAAIyf,WAAczf,EAAM,CAAE,QAAWA,EACxD,EACAp4P,OAAOC,eAAeC,EAAS,aAAc,CAAEpC,OAAO,IACtD,IAAI46Q,EAAsBX,EAAQ,MAC9BD,EAAUF,EAAaG,EAAQ,OAC/BoH,EAAiBpH,EAAQ,MACzBgP,EAAmBtO,EAAgBV,EAAQ,OAC3CiP,EAAiBvO,EAAgBV,EAAQ,OACzCkP,EAAqBxO,EAAgBV,EAAQ,OAC7CqH,EAAkBrH,EAAQ,MAC1BmH,EAAUnH,EAAQ,MAwHtB73Q,EAAAA,QAAkB43Q,EAAQ2K,MAvHP,WACf,IAAI30P,EAAKgqP,EAAQwH,WAAWH,EAAeH,cAAeh3Q,EAAU8lB,EAAG9lB,QAASkyE,EAA4BpsD,EAAGosD,0BAA2Bo/E,EAAwBxrI,EAAGwrI,sBACjK11H,EAAKk0O,EAAQyH,SAAS,IAAK2H,EAAoBtjP,EAAG,GAAIujP,EAAuBvjP,EAAG,GAChFO,EAAK2zO,EAAQyH,SAAS,GAAI6H,EAAejjP,EAAG,GAAI4hC,EAAkB5hC,EAAG,GACrEG,EAAKwzO,EAAQyH,SAAS,GAAI8H,EAAe/iP,EAAG,GAAIqhC,EAAkBrhC,EAAG,GACrEw7O,EAAKhI,EAAQyH,SAAS,GAAI+H,EAAYxH,EAAG,GAAIt0H,EAAes0H,EAAG,GAC/DyB,EAAKzJ,EAAQyH,SAAS,GAAIgI,EAAehG,EAAG,GAAI91H,EAAkB81H,EAAG,GACrEG,EAAK5J,EAAQyH,SAAS,IAAKiI,EAAa9F,EAAG,GAAIh2H,EAAgBg2H,EAAG,GAClEsB,EAAKlL,EAAQyH,SAAS,IAAKkI,EAAgBzE,EAAG,GAAIr3H,EAAmBq3H,EAAG,GACxEC,EAAKnL,EAAQyH,SAAS,MAAOmI,EAAYzE,EAAG,GAAI0E,EAAe1E,EAAG,GAClEC,EAAKpL,EAAQyH,SAAS,MAAOqI,EAA2B1E,EAAG,GAAI2E,EAA8B3E,EAAG,GAChGC,EAAKrL,EAAQyH,SAAS,IAAKuI,EAAwB3E,EAAG,GAAI4E,EAA2B5E,EAAG,GACxFC,EAAKtL,EAAQyH,SAAS,MAAOyI,EAAoB5E,EAAG,GAAIr6H,EAAuBq6H,EAAG,GAMlFC,EAAKvL,EAAQyH,SAAS,oBAAqB0I,EAAc5E,EAAG,GAAI6E,EAAiB7E,EAAG,GACpF8E,EAAQrQ,EAAQoI,OAAO,MACvBp4H,EAAOgwH,EAAQoI,OAAO,MACtBjlI,EAAgB68H,EAAQoI,OAAO,MAC/Bn4H,EAAU+vH,EAAQoI,OAAO,MAC7B8G,EAAexO,QAAQ,iBAAkB2P,GACzCnB,EAAexO,QAAQ,kBAAmB1wH,GAC1Ck/H,EAAexO,QAAQ,cAAev9H,GACtC+rI,EAAexO,QAAQ,qBAAsBzwH,GAC7Cq3H,EAAgBoB,eAAc,WAC1B,IAAI4H,EAAiB,GACjB9rL,EAAe,GACnB,GAAKt0F,EAAL,CAGA,IAAIi4J,EAAU,SAAUooH,GACpB,IAAIC,EAAYpuM,EAA0B1wB,kBAAkB6+N,GACxDrrK,EAAOh1G,EAAQ6C,WAAW,IAAIy9Q,GAElC,OADAF,EAAeroR,KAAKi9G,GACbA,CACX,EACAmrK,EAAMtJ,QAAQzlN,YAAY1uC,SAAS8vD,cAAc,gCACjD2tM,EAAMtJ,QAAQzlN,YAAY6mG,EAAQ,6BAA6Bh8F,UAC/DkkN,EAAMtJ,QAAQzlN,YAAY1uC,SAAS8vD,cAAc,yBACjD2tM,EAAMtJ,QAAQzlN,YAAY6mG,EAAQ,sBAAsBh8F,UACxD,IAAIk/C,EAAY,CACZynC,iCAAkCu8H,EAClCj+H,eAAgBnjF,EAChBkkF,YAAatkF,EACb6lF,aAAcA,EACdC,gBAAiBA,EACjBC,cAAeA,EACfC,iBAAkBA,EAClB7C,mBAAoB6+H,EACpBjtI,oBAAqBwtI,EACrB59H,6BAA8Bu9H,EAC9Bz9H,4BAA6B29H,EAC7Bh/H,qBAAsBA,EACtBmB,mCAAoC,SAAUr4I,GAC1C,IAAIwkK,EAAwB/c,EAAsBC,cAActe,EAAc4jI,QAAShtQ,GACvFyqF,EAAav8F,MAAK,WAAc,OAAOs2K,GAAyB,GACpE,GAEA7yD,EAAOx7G,EAAQ6C,WAAW,IAAI6tQ,EAAoB/wH,cAGtD,OAFAygI,EAAeroR,KAAKyjH,GACpBA,EAAK+S,QAAQpT,EAAWglK,EAAMtJ,QAAS5jI,EAAc4jI,QAAS/2H,EAAK+2H,QAAS92H,EAAQ82H,SAC7E,WACH72Q,EAAQmG,aAAai6Q,GACrB9rL,EAAax8F,SAAQ,SAAU+J,GAAK,OAAOA,GAAK,GACpD,CAnCA,CAoCJ,IACA,IAAI0+Q,EAAczQ,EAAQuI,SAAQ,WAC9B,OAAOnB,EAAQsJ,YAAY,UAAW,kBAAmBd,EAAWO,EACxE,GAAG,CAACP,EAAWO,IACXQ,EAAsB3Q,EAAQuI,SAAQ,WACtC,OAAOnB,EAAQsJ,YAAY,mBAAoBtB,EAAmBe,EAAaL,EAA0BI,EAC7G,GAAG,CAACd,EAAmBe,EAAaL,EAA0BI,IAC1DU,GAAa5Q,EAAQuI,SAAQ,WAC7B,OAAOnB,EAAQsJ,YAAY,kBAAmBR,EAClD,GAAG,CAACA,IACAW,GAAgB7Q,EAAQuI,SAAQ,WAChC,OAAOnB,EAAQsJ,YAAY,qBAAsBR,EACrD,GAAG,CAACA,IACAY,GAAW9Q,EAAQuI,SAAQ,WAAc,MAAQ,CACjD/mN,OAAQguN,EACRnnN,UAAWmnN,EACXzkH,QAAS2kH,EACTr9H,UAAW29H,EACX,GAAG,CAACR,EAAWE,EAAYM,IAC3Be,GAAc/Q,EAAQuI,SAAQ,WAAc,MAAQ,CACpD/mN,OAAQiuN,EACRpnN,UAAWonN,EACX1kH,QAAS4kH,EACTt9H,UAAW29H,EACX,GAAG,CAACP,EAAcE,EAAeK,IACjCgB,GAAqB,SAAU9lO,GAAa,OAAO80N,EAAQU,QAAQ7tP,cAAcs8P,EAAmBzO,QAAS,CAAEhyQ,KAAMw8C,EAAWjhD,IAAKihD,EAAY,cAAiB,EAClK+lO,GAAgB,SAAUj7P,GAC1B,IAAIk7P,EAAUl7P,EAAGk7P,QAASvjQ,EAAWqI,EAAGrI,SAAUkpD,EAAY7gD,EAAG6gD,UAAWtV,EAAQvrC,EAAGurC,MACvF,OAAQy+M,EAAQU,QAAQ7tP,cAAc,MAAO,CAAEggD,IAAKq+M,EAASr6M,UAAWA,EAAWrK,KAAM,eAAgBjL,MAAOA,GAAS5zC,EAAS/a,IAAIo+Q,IAC1I,EACA,OAAQhR,EAAQU,QAAQ7tP,cAAc,MAAO,CAAEggD,IAAKw9M,EAAOx5M,UAAW45M,EAAajkN,KAAM,OAAQ,gBAAiB8iN,EAAc,gBAAiBC,GAC7IvP,EAAQU,QAAQ7tP,cAAco8P,EAAiBvO,QAAS,MACxDuQ,GAAc,CAAEC,QAASlhI,EAAMn5E,UAAW+5M,GAAYrvN,MAAOuvN,GAAUnjQ,SAAU,CACzEizP,EAAoBn4G,iBAAiBoT,SACrC+kG,EAAoBn4G,iBAAiBkT,WACrCilG,EAAoBn4G,iBAAiBsT,UACrC6kG,EAAoBn4G,iBAAiBwT,kBAE7Cg1G,GAAc,CAAEC,QAAS/tI,EAAetsE,UAAW85M,EAAqBhjQ,SAAU,CAC1EizP,EAAoBn4G,iBAAiB9+E,KACrCi3L,EAAoBn4G,iBAAiBiT,OACrCklG,EAAoBn4G,iBAAiB5+E,MACrC+2L,EAAoBn4G,iBAAiB2B,cAE7C6mH,GAAc,CAAEC,QAASjhI,EAASp5E,UAAWg6M,GAAetvN,MAAOwvN,GAAapjQ,SAAU,CAClFizP,EAAoBn4G,iBAAiBqT,YACrC8kG,EAAoBn4G,iBAAiBmT,cACrCglG,EAAoBn4G,iBAAiBuT,aACrC4kG,EAAoBn4G,iBAAiByT,qBAErD,sCCzIA,IAAI4jG,EAAgB72Q,MAAQA,KAAK62Q,cAAiB,SAAUxf,GACxD,GAAIA,GAAOA,EAAIyf,WAAY,OAAOzf,EAClC,IAAI7xO,EAAS,CAAC,EACd,GAAW,MAAP6xO,EAAa,IAAK,IAAI3sM,KAAK2sM,EAASp4P,OAAOwD,eAAesD,KAAKsxP,EAAK3sM,KAAIllC,EAAOklC,GAAK2sM,EAAI3sM,IAE5F,OADAllC,EAAgB,QAAI6xO,EACb7xO,CACX,EACIkyP,EAAmB13Q,MAAQA,KAAK03Q,iBAAoB,SAAUrgB,GAC9D,OAAQA,GAAOA,EAAIyf,WAAczf,EAAM,CAAE,QAAWA,EACxD,EACAp4P,OAAOC,eAAeC,EAAS,aAAc,CAAEpC,OAAO,IACtD,IAAI46Q,EAAsBX,EAAQ,MAC9BD,EAAUF,EAAaG,EAAQ,OAC/BoH,EAAiBpH,EAAQ,MACzBkR,EAAiBxQ,EAAgBV,EAAQ,OACzCiP,EAAiBvO,EAAgBV,EAAQ,OACzCmR,EAAiBzQ,EAAgBV,EAAQ,OACzCqH,EAAkBrH,EAAQ,MAC1BmH,EAAUnH,EAAQ,MA6ItB73Q,EAAAA,QAAkB43Q,EAAQ2K,MA5IX,SAAU30P,GACrB,IAAI9lB,EAAU8lB,EAAG9lB,QACb47B,EAAKk0O,EAAQyH,SAAS,IAAK4J,EAAWvlP,EAAG,GAAIg7M,EAAch7M,EAAG,GAC9DO,EAAK2zO,EAAQyH,SAAS,IAAK6J,EAAqBjlP,EAAG,GAAIklP,EAAwBllP,EAAG,GAClFG,EAAKwzO,EAAQyH,SAAS,IAAK0I,EAAc3jP,EAAG,GAAI4jP,EAAiB5jP,EAAG,GACpEw7O,EAAKhI,EAAQyH,SAAS,MAAO//B,EAASsgC,EAAG,GAAIjhC,EAAYihC,EAAG,GAC5DyB,EAAKzJ,EAAQyH,SAAS,MAAOjgC,EAAaiiC,EAAG,GAAIziC,EAAgByiC,EAAG,GACpEG,EAAK5J,EAAQyH,UAAS,GAAQtlC,EAAcynC,EAAG,GAAI4H,EAAiB5H,EAAG,GACvEsB,EAAKlL,EAAQyH,WAAYgK,EAAgBvG,EAAG,GAAIwG,EAAmBxG,EAAG,GACtEyG,EAAc3R,EAAQoI,OAAO,MAC7BwJ,EAAkB5R,EAAQoI,OAAO,MACjCyJ,EAAc7R,EAAQoI,SACtB0J,EAAqB9R,EAAQoI,OAAO,MACpC2J,EAAuB/R,EAAQoI,QAAO,WAAgC,IACtEl9L,EAAe80L,EAAQ8I,aAAY,WAAgC,GAAG,IACtEvyQ,EAAQypQ,EAAQuI,SAAQ,WAAc,OAAOr4Q,EAAQiG,QAAQ,QAAU,GAAG,IAC9E+4Q,EAAexO,QAAQ,YAAakR,GAEpCtK,EAAgBoB,eAAc,WAC1B,IAAIsJ,EAAoBL,EAAY5K,QAAU72Q,EAAQ6C,WAAW,IAAI6tQ,EAAoB36B,UACzF,OAAO,WACH/1O,EAAQoG,YAAY07Q,GACpBL,EAAY5K,QAAU,IAC1B,CACJ,IAEAO,EAAgBoB,eAAc,WAC1B,IAAItmF,EAAWuvF,EAAY5K,QAC3BgL,EAAqBhL,QAAU3kF,EAASqpC,kBAAkBj4N,KAAK4uL,GAC/D,IAAI/2E,EAAY,CACZi3E,cAAe,WAAc,EAC7BwkD,YAAaA,EACbV,8BAA+B,SAAUxlK,GAAe,OAAO2wM,EAAsB3wM,EAAcggM,EAAoB3uC,aAAa6C,kBAAoB,GAAK,EAC7JpI,yBAA0B,WACtBmlD,EAAY9K,QAAQr6C,0BACxB,EACA9pF,oBAAqBwtI,EACrBlpC,uBAAwB,WACpB,IAAI+qC,EAAM,GACNC,EAAiBN,EAAgB7K,QAAQv9M,cAAc,YACvD2oN,EAAYP,EAAgB7K,QAAQv9M,cAAc,gBAOtD,OANI0oN,GACAD,EAAIhqR,KAAKiqR,GAETC,GACAF,EAAIhqR,KAAKkqR,GAENF,CACX,EACAlrC,UAAWA,EACXC,cAAeA,GAEnB5kD,EAAS3jE,QAAQpT,EAAWumK,EAAgB7K,QAAS6K,EAAgB7K,SACrEyK,GAAe,EACnB,IAEAxR,EAAQ+J,WAAU,WACd,GAAK0H,EAAL,CAGA,IAAIrvF,EAAWuvF,EAAY5K,QACvBuJ,EAAiB,GACjBluM,EAA4B7rE,EAAM6rE,0BAClCgwM,EAAuBhwM,EAA0B1wB,kBAAkB,6BACnE2gO,EAAejwM,EAA0B1wB,kBAAkB,eAC3D4gO,EAAiBlwM,EAA0B1wB,kBAAkB,iBAC7D6gO,EAAiBnwM,EAA0B1wB,kBAAkB,gBAC7D8gO,EAAkBpwM,EAA0B1wB,kBAAkB,iBAC9D+gO,EAAgB,GAChBC,EAAed,EAAgB7K,QAC/B4L,EAAkBb,EAAmB/K,QACzC,GAAI3kF,EAASmkD,iBAAmB6rC,EAAsB,CAClD,IAAIQ,EAAsB1iR,EAAQ6C,WAAW,IAAIq/Q,GAC7C9yM,EAAOszM,EAAoBzmN,SAC/BumN,EAAaxrN,sBAAsB,aAAcoY,GACjDmzM,EAAcxqR,KAAKq3E,GACnBgxM,EAAeroR,KAAK2qR,EACxB,CACA,GAAIxwF,EAASokD,eAAiB6rC,EAAc,CACxC,IAAI58F,EAAcvlL,EAAQ6C,WAAW,IAAIs/Q,GAErC9kD,GADAjuJ,EAAOm2G,EAAYtpH,SACFwmN,EAAgBnpN,cAAc,yBAC/C+jK,IACAA,EAAermK,sBAAsB,cAAeoY,GACpDmzM,EAAcxqR,KAAKq3E,IAEvBgxM,EAAeroR,KAAKwtL,EACxB,CACA,GAAI2M,EAASskD,iBAAmB4rC,EAAgB,CAC5C,IAAIO,EAAgB3iR,EAAQ6C,WAAW,IAAIu/Q,GACvChzM,EAAOuzM,EAAc1mN,SACzBumN,EAAaxrN,sBAAsB,YAAaoY,GAChDmzM,EAAcxqR,KAAKq3E,GACnBgxM,EAAeroR,KAAK4qR,EACxB,CACA,GAAIL,EAAiB,CACjB,IAAIM,EAAiB5iR,EAAQ6C,WAAW,IAAIy/Q,GACxClzM,EAAOwzM,EAAe3mN,SAC1BumN,EAAaxrN,sBAAsB,YAAaoY,GAChDmzM,EAAcxqR,KAAKq3E,GACnBgxM,EAAeroR,KAAK6qR,EACxB,CACA,GAAI1wF,EAASwkD,iBAAmB2rC,EAAgB,CAC5C,IAAIQ,EAAgB7iR,EAAQ6C,WAAW,IAAIw/Q,GACvCjzM,EAAOyzM,EAAc5mN,SACzBumN,EAAaxrN,sBAAsB,YAAaoY,GAChDmzM,EAAcxqR,KAAKq3E,GACnBgxM,EAAeroR,KAAK8qR,EACxB,CACA,OAAO,WACH7iR,EAAQmG,aAAai6Q,GACrBmC,EAAczqR,SAAQ,SAAU2qB,GACxBA,EAAGO,eACHP,EAAGO,cAAcwuC,YAAY/uC,EAErC,GACJ,CAzDA,CA0DJ,GAAG,CAAC8+P,IACJ,IAAIuB,EAAqBhT,EAAQuI,SAAQ,WAAc,OAAOnB,EAAQsJ,YAAY,kBAAmBW,EAAUC,EAAoBnB,EAAc,GAAG,CAACkB,EAAUC,EAAoBnB,IAC/K8C,EAAyBjT,EAAQuI,SAAQ,WAAc,OAAOnB,EAAQsJ,YAAY,uBAAwB,mBAAoBP,EAAc,GAAG,CAACA,IAChJW,EAAW9Q,EAAQuI,SAAQ,WAAc,MAAQ,CACjD/gC,WAA0B,MAAdA,EAAqBA,EAAa,GAC9C0rC,iBAAgC,MAAd1rC,EAAqBA,EAAa,GACpDE,OAAkB,MAAVA,EAAiBA,EAAS,GAClC,GAAG,CAACF,EAAYE,IAChBirC,EAAkBb,EAAmB/K,QACrCoM,EAAqBnT,EAAQ8I,aAAY,SAAUj2M,GACnDg/M,EAAY9K,QAAUl0M,EACtB6+M,GAAiB,EACrB,GAAG,IACH,OAAQ1R,EAAQU,QAAQ7tP,cAAc,MAAO,CAAEggD,IAAK++M,EAAiB/6M,UAAWm8M,EAAoBzxN,MAAOuvN,GACvG9Q,EAAQU,QAAQ7tP,cAAc,MAAO,CAAEgkD,UAAWo8M,EAAwBpgN,IAAKi/M,GAAsB3vC,GAAewwC,GAChH3S,EAAQU,QAAQ7tP,cAAcw0P,EAAeH,aAAakM,SAAU,CAAEptR,MAAOuQ,GACzEypQ,EAAQU,QAAQ7tP,cAAcu+P,EAAe1Q,QAAS,CAAE7tM,IAAKsgN,EAAoBpoM,kBAAmB4nM,EAAiBznM,aAAcA,EAAck3G,SAAUuvF,EAAY5K,SAKvK/G,EAAQU,QAAQ7tP,cAAcs+P,EAAezQ,QAAS,SACtE,uCC9JA,IAAIZ,EAAgB72Q,MAAQA,KAAK62Q,cAAiB,SAAUxf,GACxD,GAAIA,GAAOA,EAAIyf,WAAY,OAAOzf,EAClC,IAAI7xO,EAAS,CAAC,EACd,GAAW,MAAP6xO,EAAa,IAAK,IAAI3sM,KAAK2sM,EAASp4P,OAAOwD,eAAesD,KAAKsxP,EAAK3sM,KAAIllC,EAAOklC,GAAK2sM,EAAI3sM,IAE5F,OADAllC,EAAgB,QAAI6xO,EACb7xO,CACX,EACIkyP,EAAmB13Q,MAAQA,KAAK03Q,iBAAoB,SAAUrgB,GAC9D,OAAQA,GAAOA,EAAIyf,WAAczf,EAAM,CAAE,QAAWA,EACxD,EACAp4P,OAAOC,eAAeC,EAAS,aAAc,CAAEpC,OAAO,IACtD,IAAIg6Q,EAAUF,EAAaG,EAAQ,OAC/BoH,EAAiBpH,EAAQ,MACzBW,EAAsBX,EAAQ,MAC9BmH,EAAUnH,EAAQ,MAClBoT,EAA2B1S,EAAgBV,EAAQ,OACnDqH,EAAkBrH,EAAQ,MA8B9B73Q,EAAAA,QAAkB43Q,EAAQ2K,MA7BL,WACjB,IAAI30P,EAAKgqP,EAAQyH,SAAS,IAAIL,EAAQM,YAAe30G,EAAa/8I,EAAG,GAAI2xP,EAAgB3xP,EAAG,GACxF8V,EAAKk0O,EAAQyH,WAAYjmN,EAAS11B,EAAG,GAAIszI,EAAYtzI,EAAG,GACxD57B,EAAU8vQ,EAAQwH,WAAWH,EAAeH,cAAch3Q,QAC1DovE,EAAO0gM,EAAQoI,OAAO,MAC1Bd,EAAgBoB,eAAc,WAC1B,IAAIr9J,EAAY,CACZ1qC,oBAAqB,SAAUjyE,EAAMqvH,GAAM,OAAO4pJ,GAAc,SAAUn6G,GAAQ,OAAOA,EAAKm7G,SAASj6Q,EAAMqvH,EAAK,GAAI,EACtHigF,sBAAuB,SAAUx8I,GAAU,OAAO49G,EAAU59G,EAAS,GAErEkqD,EAAOx7G,EAAQ6C,WAAW,IAAI6tQ,EAAoBljE,gBAEtD,OADAhyF,EAAK+S,QAAQpT,EAAW/rC,EAAKynM,QAASznM,EAAKynM,SACpC,WACH72Q,EAAQoG,YAAYo1G,EACxB,CACJ,IACA,IAAI70C,EAAYmpM,EAAQuI,SAAQ,WAE5B,MAAO,aADGx1G,EAAWxsK,UAEzB,GAAG,CAACwsK,IACAxxG,EAAQy+M,EAAQuI,SAAQ,WAAc,MAAQ,CAC9C/mN,OAAQA,EACR6G,UAAW7G,EACX,GAAG,CAACA,IACR,OAAQw+M,EAAQU,QAAQ7tP,cAAc,MAAO,CAAEggD,IAAKyM,EAAMzI,UAAWA,EAAWtV,MAAOA,EAAOiL,KAAM,gBAChGwzM,EAAQU,QAAQ7tP,cAAcwgQ,EAAyB3S,QAAS,CAAE3hQ,OAAQ6hQ,EAAoB/lQ,UAAUsB,cACxG6jQ,EAAQU,QAAQ7tP,cAAcwgQ,EAAyB3S,QAAS,CAAE3hQ,OAAQ,OAC1EihQ,EAAQU,QAAQ7tP,cAAcwgQ,EAAyB3S,QAAS,CAAE3hQ,OAAQ6hQ,EAAoB/lQ,UAAUqB,eAChH,uCC7CA,IAAI6xC,EAAY9kD,MAAQA,KAAK8kD,UAAa,WAStC,OARAA,EAAW7lD,OAAO0wB,QAAU,SAASsB,GACjC,IAAK,IAAI4H,EAAGx4B,EAAI,EAAG46B,EAAI32B,UAAUlH,OAAQiD,EAAI46B,EAAG56B,IAE5C,IAAK,IAAIkE,KADTs0B,EAAIv0B,UAAUjE,GACOpB,OAAOiB,UAAUuC,eAAesD,KAAK8yB,EAAGt0B,KACzD0sB,EAAE1sB,GAAKs0B,EAAEt0B,IAEjB,OAAO0sB,CACX,EACO6zB,EAAS9+C,MAAMhG,KAAMsE,UAChC,EACIuyQ,EAAgB72Q,MAAQA,KAAK62Q,cAAiB,SAAUxf,GACxD,GAAIA,GAAOA,EAAIyf,WAAY,OAAOzf,EAClC,IAAI7xO,EAAS,CAAC,EACd,GAAW,MAAP6xO,EAAa,IAAK,IAAI3sM,KAAK2sM,EAASp4P,OAAOwD,eAAesD,KAAKsxP,EAAK3sM,KAAIllC,EAAOklC,GAAK2sM,EAAI3sM,IAE5F,OADAllC,EAAgB,QAAI6xO,EACb7xO,CACX,EACAvmB,OAAOC,eAAeC,EAAS,aAAc,CAAEpC,OAAO,IACtD,IAAIg6Q,EAAUF,EAAaG,EAAQ,OAC/BoH,EAAiBpH,EAAQ,MACzBW,EAAsBX,EAAQ,MAC9BmH,EAAUnH,EAAQ,MAClB+I,EAAW/I,EAAQ,MACnBqH,EAAkBrH,EAAQ,MAsD9B73Q,EAAAA,QAAkB43Q,EAAQ2K,MArDL,SAAUh0Q,GAC3B,IAAIzG,EAAU8vQ,EAAQwH,WAAWH,EAAeH,cAAch3Q,QAC1D8lB,EAAKgqP,EAAQyH,WAAYzlQ,EAAQgU,EAAG,GAAI+6D,EAAW/6D,EAAG,GACtD8V,EAAKk0O,EAAQyH,WAAY1gG,EAAQj7I,EAAG,GAAIkuH,EAAWluH,EAAG,GACtDO,EAAK2zO,EAAQyH,WAAYj+Q,EAAQ6iC,EAAG,GAAIw0H,EAAWx0H,EAAG,GACtDG,EAAKwzO,EAAQyH,WAAY6L,EAAW9mP,EAAG,GAAI8hC,EAAc9hC,EAAG,GAC5Dw7O,EAAKhI,EAAQyH,WAAY8L,EAAkBvL,EAAG,GAAIh7M,EAAqBg7M,EAAG,GAC1EyB,EAAKzJ,EAAQyH,WAAY90E,EAAkB82E,EAAG,GAAIj3F,EAAqBi3F,EAAG,GAC1EnqM,EAAO0gM,EAAQoI,OAAO,MACtBz1F,EAAUqtF,EAAQoI,OAAO,MACzBoL,EAAcxT,EAAQoI,SACtB18J,EAAO/0G,EAAM+0G,KACb3qC,EAAkBi/L,EAAQuI,SAAQ,WAAc,OAAO,IAAI3H,EAAoBvgM,iBAAgB,WAAc,OAAOf,EAAKynM,OAAS,GAAI,GAAG,IAC7IO,EAAgBoB,eAAc,WAC1B,IAAIr9J,EAAY,CACZt6B,SAAU,SAAU/uE,GAAS,OAAO+uE,EAAS/uE,EAAQ,EACrD2+D,oBAAqB,SAAUjyE,EAAMqvH,GAAM,OAAOh9C,EAAgBJ,oBAAoBjyE,EAAMqvH,EAAK,EACjG8iC,SAAU,SAAUjlH,GAAM,OAAOilH,EAASjlH,EAAK,EAC/Co+G,SAAU,SAAU+sB,GAAS,OAAO/sB,EAAS+sB,EAAQ,EACrD/5G,mBAAoB,SAAUC,GAAe,OAAOD,EAAmBC,EAAc,EACrFqB,YAAa,SAAU9vD,GAAQ,OAAO8vD,EAAY9vD,EAAO,EACzDg0K,mBAAoB,SAAUlnE,GAAe,OAAOknE,EAAmBlnE,EAAc,EACrFmnE,oBAAqB,WAAc,OAAO+gG,EAAYzM,cAAWtgR,CAAW,GAEhFilH,EAAK+S,QAAQpT,EAAW/rC,EAAKynM,QAASp0F,EAAQo0F,SAC9C,IAAIn0F,EAAelnE,EAAKmnE,kBACxBF,EAAQo0F,QAAQ7/M,sBAAsB,WAAY0rH,EACtD,IAEAotF,EAAQ+J,WAAU,WAAc,OAAOf,EAASgB,WAAWr3E,EAAiBziM,EAASovE,EAAKynM,QAASyM,EAAc,GAAG,CAAC7gF,IAErHqtE,EAAQ+J,WAAU,WACd,IAAI0J,OAAqBhtR,EACzB64E,EAAKynM,QAAQplM,WAAW35E,SAAQ,SAAUua,GAC1B,MAARA,GAAgBA,IAASowK,EAAQo0F,UACjC0M,EAAqBlxQ,EAE7B,IACAmpG,EAAKsnE,cAAcygG,EACvB,GAAG,CAAC9gF,IACJ,IAAIpxI,EAAQy+M,EAAQuI,SAAQ,WAAc,MAAQ,CAAEvmQ,MAAOA,EAAU,GAAG,CAACA,IACrE0xQ,EAAoB1T,EAAQuI,SAAQ,WACpC,IAAIvyP,EAEJ,UADsC,QAA1BA,EAAK28K,SAAoC,IAAP38K,OAAgB,EAASA,EAAGi6F,yBAA2Bm3J,EAAQoG,qBAAqB76E,EAAgBlhJ,gBAEtJ,GAAG,CAACkhJ,IACAghF,EAAgBhhF,GAAmBA,EAAgB1iF,uBACnD2jK,EAAgBjhF,GAAmBA,EAAgBlhJ,eACvD,OAAQuuN,EAAQU,QAAQ7tP,cAAc,MAAO,CAAEggD,IAAKyM,EAAMzI,UAAW,iBAAkBtV,MAAOA,EAAOwlH,MAAOA,EAAO,SAAUv9K,EAAO,YAAa8pR,EAAU9mN,KAAM,eAAgBxL,UAAW,EAAG,mBAAoBuyN,GAC/MvT,EAAQU,QAAQ7tP,cAAc,MAAO,CAAEggD,IAAK8/G,EAAS97G,UAAW,wBAAyBrK,KAAM,iBAC/FmnN,GAAiBD,GAAqB1T,EAAQU,QAAQ7tP,cAAc+gQ,EAAe7lO,EAAS,CAAC,EAAG4kJ,EAAgB1gM,SAChH0hR,IAAkBD,GAAqB1T,EAAQU,QAAQ7tP,cAAc+gQ,EAAe7lO,EAAS,CAAC,EAAG4kJ,EAAgB1gM,OAAQ,CAAE4gE,IAAK2gN,KACxI,uCC7EA,IAAIzlO,EAAY9kD,MAAQA,KAAK8kD,UAAa,WAStC,OARAA,EAAW7lD,OAAO0wB,QAAU,SAASsB,GACjC,IAAK,IAAI4H,EAAGx4B,EAAI,EAAG46B,EAAI32B,UAAUlH,OAAQiD,EAAI46B,EAAG56B,IAE5C,IAAK,IAAIkE,KADTs0B,EAAIv0B,UAAUjE,GACOpB,OAAOiB,UAAUuC,eAAesD,KAAK8yB,EAAGt0B,KACzD0sB,EAAE1sB,GAAKs0B,EAAEt0B,IAEjB,OAAO0sB,CACX,EACO6zB,EAAS9+C,MAAMhG,KAAMsE,UAChC,EACIuyQ,EAAgB72Q,MAAQA,KAAK62Q,cAAiB,SAAUxf,GACxD,GAAIA,GAAOA,EAAIyf,WAAY,OAAOzf,EAClC,IAAI7xO,EAAS,CAAC,EACd,GAAW,MAAP6xO,EAAa,IAAK,IAAI3sM,KAAK2sM,EAASp4P,OAAOwD,eAAesD,KAAKsxP,EAAK3sM,KAAIllC,EAAOklC,GAAK2sM,EAAI3sM,IAE5F,OADAllC,EAAgB,QAAI6xO,EACb7xO,CACX,EACAvmB,OAAOC,eAAeC,EAAS,aAAc,CAAEpC,OAAO,IACtD,IAAIg6Q,EAAUF,EAAaG,EAAQ,OAC/BoH,EAAiBpH,EAAQ,MACzBW,EAAsBX,EAAQ,MAC9BmH,EAAUnH,EAAQ,MAClB+I,EAAW/I,EAAQ,MACnBqH,EAAkBrH,EAAQ,MAyE9B73Q,EAAAA,QAAkB43Q,EAAQ2K,MAxEC,SAAUh0Q,GACjC,IAAIzG,EAAU8vQ,EAAQwH,WAAWH,EAAeH,cAAch3Q,QAC1D8lB,EAAKgqP,EAAQyH,SAAS,IAAIL,EAAQM,YAAe30G,EAAa/8I,EAAG,GAAI2xP,EAAgB3xP,EAAG,GACxF8V,EAAKk0O,EAAQyH,SAAS,IAAIL,EAAQM,YAAemM,EAAiB/nP,EAAG,GAAIgoP,EAAoBhoP,EAAG,GAChGO,EAAK2zO,EAAQyH,SAAS,IAAIL,EAAQM,YAAeqM,EAA0B1nP,EAAG,GAAI2nP,EAA6B3nP,EAAG,GAClHG,EAAKwzO,EAAQyH,WAAYzlQ,EAAQwqB,EAAG,GAAIukD,EAAWvkD,EAAG,GACtDw7O,EAAKhI,EAAQyH,WAAY90E,EAAkBq1E,EAAG,GAAIx1F,EAAqBw1F,EAAG,GAC1E1oM,EAAO0gM,EAAQoI,OAAO,MACtBnqJ,EAAsB+hJ,EAAQoI,OAAO,MACrCjqJ,EAAiB6hJ,EAAQoI,OAAO,MAChC5pJ,EAAwBwhJ,EAAQoI,OAAO,MACvC6L,EAAkBjU,EAAQoI,QAAO,GACjC8L,EAAkBlU,EAAQoI,SAC1B+L,EAAkBnU,EAAQoI,SAC9Bd,EAAgBoB,eAAc,WAC1ByL,EAAgBpN,QAAU,IAAInG,EAAoBxlM,WAAU,SAAUS,GAClEq4M,EAAgBnN,QAAUlrM,CAC9B,GACJ,IACA,IAAI23M,EAAc,SAAUxtR,GAKpBiuR,EAAgBlN,SAIP,MAAT/gR,IAGJkuR,EAAgBnN,SAAWmN,EAAgBnN,QAAQ/gR,GACnDiuR,EAAgBlN,SAAU,EAC9B,EACIr7J,EAAO/0G,EAAM+0G,KACjB47J,EAAgBoB,eAAc,WAC1B,IAAIr9J,EAAY,CACZ1qC,oBAAqB,SAAUjyE,EAAMqvH,GAAM,OAAO4pJ,GAAc,SAAUn6G,GAAQ,OAAOA,EAAKm7G,SAASj6Q,EAAMqvH,EAAK,GAAI,EACtHC,wBAAyB,SAAUtvH,EAAMqvH,GAAM,OAAO+1J,GAAkB,SAAUtmH,GAAQ,OAAOA,EAAKm7G,SAASj6Q,EAAMqvH,EAAK,GAAI,EAC9HG,iCAAkC,SAAUxvH,EAAMqvH,GAAM,OAAOi2J,GAA2B,SAAUxmH,GAAQ,OAAOA,EAAKm7G,SAASj6Q,EAAMqvH,EAAK,GAAI,EAChJhtC,SAAU,SAAU/uE,GAAS,OAAO+uE,EAAS/uE,EAAQ,EACrDo8G,eAAgB,SAAU9S,GAAe,OAAOknE,EAAmBlnE,EAAc,EACjF+S,sBAAuB,WAAc,OAAO81J,EAAgBpN,QAAUoN,EAAgBpN,QAAU,IAAM,EACtGxoJ,YAAa,SAAUrsC,GAAS,OAAOssC,EAAsBuoJ,QAAQzlN,YAAY4wB,EAAQ,GAE7Fw5B,EAAK+S,QAAQpT,EAAW/rC,EAAKynM,QAASvoJ,EAAsBuoJ,QAAS9oJ,EAAoB8oJ,QAC7F,IAEA/G,EAAQ+J,WAAU,WACd,OAAOf,EAASgB,WAAWr3E,EAAiBziM,EAAS+tH,EAAoB8oJ,QAASyM,EACtF,GAAG,CAAC7gF,IACJ,IAAIpxI,EAAQy+M,EAAQuI,SAAQ,WAAc,MAAQ,CAC9CvmQ,MAAOA,EACP,GAAG,CAACA,IACJ60D,EAAYmpM,EAAQuI,SAAQ,WAAc,MAAO,qCAAuCx1G,EAAWxsK,UAAY,GAAG,CAACwsK,IACnHqhH,EAAgBpU,EAAQuI,SAAQ,WAAc,OAAOsL,EAAettR,UAAY,GAAG,CAACstR,IACpFQ,EAAyBrU,EAAQuI,SAAQ,WAAc,MAAO,6BAA+BwL,EAAwBxtR,UAAY,GAAG,CAACstR,IACrIH,EAAoB1T,EAAQuI,SAAQ,WAIpC,SAHU51E,GACHA,EAAgB1iF,wBAChBm3J,EAAQoG,qBAAqB76E,EAAgBlhJ,gBAExD,GAAG,CAACkhJ,IACAghF,EAAgBhhF,GAAmBA,EAAgB1iF,uBACnD2jK,EAAgBjhF,GAAmBA,EAAgBlhJ,eACvD,OAAQuuN,EAAQU,QAAQ7tP,cAAc,MAAO,CAAEggD,IAAKyM,EAAMzI,UAAWA,EAAWtV,MAAOA,EAAOiL,KAAM,WAAYxL,UAAW,GACvHg/M,EAAQU,QAAQ7tP,cAAc,MAAO,CAAEggD,IAAKorD,EAAqBpnD,UAAWu9M,EAAe5nN,KAAM,gBAC7FmnN,GAAiBD,GAAqB1T,EAAQU,QAAQ7tP,cAAc+gQ,EAAe7lO,EAAS,CAAC,EAAG4kJ,EAAgB1gM,SAChH0hR,IAAkBD,GAAqB1T,EAAQU,QAAQ7tP,cAAc+gQ,EAAe7lO,EAAS,CAAC,EAAG4kJ,EAAgB1gM,OAAQ,CAAE4gE,IAAK2gN,MACpIxT,EAAQU,QAAQ7tP,cAAc,MAAO,CAAEggD,IAAKsrD,EAAgBtnD,UAAWw9M,EAAwB7nN,KAAM,gBACjGwzM,EAAQU,QAAQ7tP,cAAc,SAAU,CAAEggD,IAAK2rD,EAAuBjkH,KAAM,SAAU,aAAc,mBAAoBs8D,UAAW,mCAAoC7V,UAAW,KAC9L,uCChGA,IAAIjT,EAAY9kD,MAAQA,KAAK8kD,UAAa,WAStC,OARAA,EAAW7lD,OAAO0wB,QAAU,SAASsB,GACjC,IAAK,IAAI4H,EAAGx4B,EAAI,EAAG46B,EAAI32B,UAAUlH,OAAQiD,EAAI46B,EAAG56B,IAE5C,IAAK,IAAIkE,KADTs0B,EAAIv0B,UAAUjE,GACOpB,OAAOiB,UAAUuC,eAAesD,KAAK8yB,EAAGt0B,KACzD0sB,EAAE1sB,GAAKs0B,EAAEt0B,IAEjB,OAAO0sB,CACX,EACO6zB,EAAS9+C,MAAMhG,KAAMsE,UAChC,EACIuyQ,EAAgB72Q,MAAQA,KAAK62Q,cAAiB,SAAUxf,GACxD,GAAIA,GAAOA,EAAIyf,WAAY,OAAOzf,EAClC,IAAI7xO,EAAS,CAAC,EACd,GAAW,MAAP6xO,EAAa,IAAK,IAAI3sM,KAAK2sM,EAASp4P,OAAOwD,eAAesD,KAAKsxP,EAAK3sM,KAAIllC,EAAOklC,GAAK2sM,EAAI3sM,IAE5F,OADAllC,EAAgB,QAAI6xO,EACb7xO,CACX,EACAvmB,OAAOC,eAAeC,EAAS,aAAc,CAAEpC,OAAO,IACtD,IAAIg6Q,EAAUF,EAAaG,EAAQ,OAC/BoH,EAAiBpH,EAAQ,MACzB+I,EAAW/I,EAAQ,MACnBqH,EAAkBrH,EAAQ,MAC1BmH,EAAUnH,EAAQ,MAkDtB73Q,EAAAA,QAAkB43Q,EAAQ2K,MAjDA,SAAUh0Q,GAChC,IAAIzG,EAAU8vQ,EAAQwH,WAAWH,EAAeH,cAAch3Q,QAC1D8lB,EAAKgqP,EAAQyH,SAAS,IAAIL,EAAQM,YAAe30G,EAAa/8I,EAAG,GAAI2xP,EAAgB3xP,EAAG,GACxF8V,EAAKk0O,EAAQyH,SAAS,IAAIL,EAAQM,YAAe4M,EAAsBxoP,EAAG,GAAIyoP,EAAyBzoP,EAAG,GAC1GO,EAAK2zO,EAAQyH,WAAYzlQ,EAAQqqB,EAAG,GAAI0kD,EAAW1kD,EAAG,GACtDG,EAAKwzO,EAAQyH,WAAY1gG,EAAQv6I,EAAG,GAAIwtH,EAAWxtH,EAAG,GACtDw7O,EAAKhI,EAAQyH,WAAYj+Q,EAAQw+Q,EAAG,GAAInnH,EAAWmnH,EAAG,GACtDyB,EAAKzJ,EAAQyH,WAAY+M,EAAe/K,EAAG,GAAIn8M,EAAkBm8M,EAAG,GACpEG,EAAK5J,EAAQyH,WAAY90E,EAAkBi3E,EAAG,GAAIp3F,EAAqBo3F,EAAG,GAC1EtqM,EAAO0gM,EAAQoI,OAAO,MACtBz1F,EAAUqtF,EAAQoI,OAAO,MACzB18J,EAAO/0G,EAAM+0G,KACjB47J,EAAgBoB,eAAc,WAC1B,IAAIr9J,EAAY,CACZt6B,SAAU,SAAU/uE,GAAS,OAAO+uE,EAAS/uE,EAAQ,EACrD2+D,oBAAqB,SAAUjyE,EAAMqvH,GAAM,OAAO4pJ,GAAc,SAAUn6G,GAAQ,OAAOA,EAAKm7G,SAASj6Q,EAAMqvH,EAAK,GAAI,EACtH8iC,SAAU,SAAUjlH,GAAM,OAAOilH,EAASjlH,EAAK,EAC/Co+G,SAAU,SAAU+sB,GAAS,OAAO/sB,EAAS+sB,EAAQ,EACrDyL,mBAAoB,SAAUlnE,GAAe,OAAOknE,EAAmBlnE,EAAc,EACrF8nE,6BAA8B,SAAU1kL,EAAMqvH,GAAM,OAAOw2J,GAAuB,SAAU/mH,GAAQ,OAAOA,EAAKm7G,SAASj6Q,EAAMqvH,EAAK,GAAI,EACxIzwD,gBAAiB,SAAU/9C,GAAY,OAAO+9C,EAAgB/9C,EAAW,GAE7Em8F,EAAK+S,QAAQpT,EAAW/rC,EAAKynM,QAASp0F,EAAQo0F,QAClD,IAEA/G,EAAQ+J,WAAU,WACd,OAAOf,EAASgB,WAAWr3E,EAAiBziM,EAASovE,EAAKynM,QAC9D,GAAG,CAACp0E,IAEJqtE,EAAQ+J,WAAU,WACd,IAAI0J,OAAqBhtR,EACzB64E,EAAKynM,QAAQplM,WAAW35E,SAAQ,SAAUua,GAC1B,MAARA,GAAgBA,IAASowK,EAAQo0F,UACjC0M,EAAqBlxQ,EAE7B,IACAkxQ,GAAsB/nK,EAAKsnE,cAAcygG,EAC7C,GAAG,CAAC9gF,IACJ,IAAIpxI,EAAQy+M,EAAQuI,SAAQ,WAAc,MAAQ,CAC9CvmQ,MAAOA,EACP,GAAG,CAACA,IACJ60D,EAAYmpM,EAAQuI,SAAQ,WAAc,MAAO,wBAA0Bx1G,EAAWxsK,UAAY,GAAG,CAACwsK,IACtG0hH,EAAqBzU,EAAQuI,SAAQ,WAAc,MAAO,yBAA2B+L,EAAoB/tR,UAAY,GAAG,CAAC+tR,IACzHX,EAAgBhhF,GAAmBA,EAAgB1iF,uBACnD2jK,EAAgBjhF,GAAmBA,EAAgBlhJ,eACvD,OAAQuuN,EAAQU,QAAQ7tP,cAAc,MAAO,CAAEggD,IAAKyM,EAAMzI,UAAWA,EAAWtV,MAAOA,EAAOwlH,MAAOA,EAAO,SAAUv9K,EAAOgjE,KAAM,eAAgBxL,UAAW,EAAG,gBAAiBwzN,GAC9Kb,GAAiB3T,EAAQU,QAAQ7tP,cAAc+gQ,EAAe7lO,EAAS,CAAC,EAAG4kJ,EAAgB1gM,SAC3F+tQ,EAAQU,QAAQ7tP,cAAc,MAAO,CAAEggD,IAAK8/G,EAAS97G,UAAW49M,IACxE,uCCxEA,IAAIC,EAAkBzrR,MAAQA,KAAKyrR,gBAAmB,WAClD,IAAK,IAAI5yP,EAAI,EAAGx4B,EAAI,EAAGqrR,EAAKpnR,UAAUlH,OAAQiD,EAAIqrR,EAAIrrR,IAAKw4B,GAAKv0B,UAAUjE,GAAGjD,OACxE,IAAI4R,EAAInO,MAAMg4B,GAAI6xB,EAAI,EAA3B,IAA8BrqD,EAAI,EAAGA,EAAIqrR,EAAIrrR,IACzC,IAAK,IAAI/B,EAAIgG,UAAUjE,GAAI4nB,EAAI,EAAG0jQ,EAAKrtR,EAAElB,OAAQ6qB,EAAI0jQ,EAAI1jQ,IAAKyiC,IAC1D17C,EAAE07C,GAAKpsD,EAAE2pB,GACjB,OAAOjZ,CACX,EACI6nQ,EAAgB72Q,MAAQA,KAAK62Q,cAAiB,SAAUxf,GACxD,GAAIA,GAAOA,EAAIyf,WAAY,OAAOzf,EAClC,IAAI7xO,EAAS,CAAC,EACd,GAAW,MAAP6xO,EAAa,IAAK,IAAI3sM,KAAK2sM,EAASp4P,OAAOwD,eAAesD,KAAKsxP,EAAK3sM,KAAIllC,EAAOklC,GAAK2sM,EAAI3sM,IAE5F,OADAllC,EAAgB,QAAI6xO,EACb7xO,CACX,EACIkyP,EAAmB13Q,MAAQA,KAAK03Q,iBAAoB,SAAUrgB,GAC9D,OAAQA,GAAOA,EAAIyf,WAAczf,EAAM,CAAE,QAAWA,EACxD,EACAp4P,OAAOC,eAAeC,EAAS,aAAc,CAAEpC,OAAO,IACtD,IAAI46Q,EAAsBX,EAAQ,MAC9BD,EAAUF,EAAaG,EAAQ,OAC/BoH,EAAiBpH,EAAQ,MACzB4U,EAAmBlU,EAAgBV,EAAQ,OAC3C6U,EAAwBnU,EAAgBV,EAAQ,OAChD8U,EAAyBpU,EAAgBV,EAAQ,OACjDqH,EAAkBrH,EAAQ,MAgE9B73Q,EAAAA,QAAkB43Q,EAAQ2K,MA/DN,SAAUh0Q,GAC1B,IAAIsC,EAAqB+mQ,EAAQwH,WAAWH,EAAeH,cAAcjuQ,mBACrE+c,EAAKgqP,EAAQyH,WAAYv8Q,EAAY8qB,EAAG,GAAIk/I,EAAel/I,EAAG,GAC9D8V,EAAKk0O,EAAQyH,WAAYjmN,EAAS11B,EAAG,GAAIszI,EAAYtzI,EAAG,GACxDO,EAAK2zO,EAAQyH,WAAY7hN,EAAMv5B,EAAG,GAAI4oI,EAAS5oI,EAAG,GAClDG,EAAKwzO,EAAQyH,WAAYzlQ,EAAQwqB,EAAG,GAAIukD,EAAWvkD,EAAG,GACtDw7O,EAAKhI,EAAQyH,WAAYpyG,EAAe2yG,EAAG,GAAIj6M,EAAkBi6M,EAAG,GACpEyB,EAAKzJ,EAAQyH,SAAS,IAAKh9F,EAAYg/F,EAAG,GAAIx7G,EAAew7G,EAAG,GAChEnqM,EAAO0gM,EAAQoI,OAAO,MACtB18J,EAAO/0G,EAAM+0G,KACbspK,EAAatpK,EAAK3mE,YAAc67N,EAAoBn1F,cAAcmuB,OAClEq7E,EAAYvpK,EAAK3mE,YAAc67N,EAAoBn1F,cAAcoI,aACjEqhG,EAAaxpK,EAAK3mE,YAAc67N,EAAoBn1F,cAAcqI,gBAClEqhG,EAA4BnV,EAAQ8I,aAAY,SAAUt7G,EAAM1pI,GAEhE,GAAI7qB,EAAmBozH,mBACnB,OAAOvoG,EAIX,IAAIsxP,EAAUxU,EAAoBv9O,EAAED,QAAQoqI,GAAM,SAAUx1J,GAAK,OAAOA,EAAEuG,eAAiB,IACvF82Q,EAAUzU,EAAoBv9O,EAAED,QAAQU,GAAM,SAAU9rB,GAAK,OAAOA,EAAEuG,eAAiB,IACvF+2Q,EAAuB9nH,EAAKliK,QAAO,SAAU0M,GAAK,OAAOq9Q,EAAQn8O,IAAIlhC,EAAEuG,gBAAkB,IACzFg3Q,EAAWzxP,EAAKx4B,QAAO,SAAU0M,GAAK,OAAQo9Q,EAAQl8O,IAAIlhC,EAAEuG,gBAAkB,IAClF,OAAOm2Q,EAAeY,EAAsBC,EAChD,GAAG,IACHjO,EAAgBoB,eAAc,WAC1B,IAAIr9J,EAAY,CACZ6pD,aAAc,SAAUhqK,GAAa,OAAOgqK,EAAahqK,EAAY,EACrEk0K,UAAW,SAAU59G,GAAU,OAAO49G,EAAU59G,EAAS,EACzDyzG,OAAQ,SAAUrvG,GAAO,OAAOqvG,EAAOrvG,EAAM,EAC7CmuH,eAAgB,SAAUxf,GAAS,OAAOtG,GAAa,SAAUT,GAAQ,OAAO2nH,EAA0B3nH,EAAM+G,EAAQ,GAAI,EAC5HxjF,SAAU,SAAU/uE,GAAS,OAAO+uE,EAAS/uE,EAAQ,EACrD+rD,gBAAiB,SAAUC,GAAY,OAAOD,EAAgBC,EAAW,GAE7E09C,EAAK+S,QAAQpT,EACjB,IACA,IAAI9pD,EAAQy+M,EAAQuI,SAAQ,WAAc,MAAQ,CAC9Cr9Q,UAAWA,EACXs2D,OAAQA,EACRoE,IAAKA,EACL5jD,MAAOA,EACP,GAAG,CAAC9W,EAAWs2D,EAAQoE,EAAK5jD,IAC5B60D,EAAYmpM,EAAQuI,SAAQ,WAC5B,IAAIh+Q,EAAM,CAAC,iBAIX,OAHAyqR,GAAczqR,EAAItC,KAAK,wBACvBgtR,GAAa1qR,EAAItC,KAAK,8BACtBitR,GAAc3qR,EAAItC,KAAK,+BAChBsC,EAAI6J,KAAK,IACpB,GAAG,IACCohR,EAAgBxV,EAAQ8I,aAAY,SAAUx0H,GAC9C,OAAQ5oC,EAAK3mE,WACT,KAAK67N,EAAoBn1F,cAAcoI,aACnC,OAAOmsF,EAAQU,QAAQ7tP,cAAciiQ,EAAsBpU,QAAS,CAAEh1J,KAAM4oC,EAAUrqJ,IAAKqqJ,EAAS/1I,kBACxG,KAAKqiQ,EAAoBn1F,cAAcqI,gBACnC,OAAOksF,EAAQU,QAAQ7tP,cAAckiQ,EAAuBrU,QAAS,CAAEh1J,KAAM4oC,EAAUrqJ,IAAKqqJ,EAAS/1I,kBACzG,QACI,OAAOyhQ,EAAQU,QAAQ7tP,cAAcgiQ,EAAiBnU,QAAS,CAAEh1J,KAAM4oC,EAAUrqJ,IAAKqqJ,EAAS/1I,kBAE3G,GAAG,IAEH,OAAQyhQ,EAAQU,QAAQ7tP,cAAc,MAAO,CAAEggD,IAAKyM,EAAMzI,UAAWA,EAAWrK,KAAM,MAAOjL,MAAOA,EAAO,gBAAiB8zG,GAAgBoV,EAAU73K,IAAI4iR,GAC9J,uCCvFA,IAAI1V,EAAgB72Q,MAAQA,KAAK62Q,cAAiB,SAAUxf,GACxD,GAAIA,GAAOA,EAAIyf,WAAY,OAAOzf,EAClC,IAAI7xO,EAAS,CAAC,EACd,GAAW,MAAP6xO,EAAa,IAAK,IAAI3sM,KAAK2sM,EAASp4P,OAAOwD,eAAesD,KAAKsxP,EAAK3sM,KAAIllC,EAAOklC,GAAK2sM,EAAI3sM,IAE5F,OADAllC,EAAgB,QAAI6xO,EACb7xO,CACX,EACIkyP,EAAmB13Q,MAAQA,KAAK03Q,iBAAoB,SAAUrgB,GAC9D,OAAQA,GAAOA,EAAIyf,WAAczf,EAAM,CAAE,QAAWA,EACxD,EACAp4P,OAAOC,eAAeC,EAAS,aAAc,CAAEpC,OAAO,IACtD,IAAIg6Q,EAAUF,EAAaG,EAAQ,OAC/BoH,EAAiBpH,EAAQ,MACzBW,EAAsBX,EAAQ,MAC9BmH,EAAUnH,EAAQ,MAClBwV,EAAkB9U,EAAgBV,EAAQ,OAC1CqH,EAAkBrH,EAAQ,MAgD9B73Q,EAAAA,QAAkB43Q,EAAQ2K,MA/CG,SAAUh0Q,GACnC,IAAIqf,EAAKgqP,EAAQyH,SAAS,IAAIL,EAAQM,YAAe30G,EAAa/8I,EAAG,GAAI2xP,EAAgB3xP,EAAG,GACxF8V,EAAKk0O,EAAQyH,WAAYiO,EAAuB5pP,EAAG,GAAI6pP,EAA0B7pP,EAAG,GACpFO,EAAK2zO,EAAQyH,WAAYmO,EAA2BvpP,EAAG,GAAIwpP,EAA8BxpP,EAAG,GAC5FG,EAAKwzO,EAAQyH,WAAYqO,EAAuBtpP,EAAG,GAAImuK,EAA0BnuK,EAAG,GACpFw7O,EAAKhI,EAAQyH,SAAS,IAAKsO,EAAiB/N,EAAG,GAAIgO,EAAoBhO,EAAG,GAC1E93Q,EAAU8vQ,EAAQwH,WAAWH,EAAeH,cAAch3Q,QAC1DovE,EAAO0gM,EAAQoI,OAAO,MACtBhtE,EAAazkM,EAAMoI,SAAW6hQ,EAAoB/lQ,UAAUsB,YAC5Dk/L,EAAc1kM,EAAMoI,SAAW6hQ,EAAoB/lQ,UAAUqB,aAC7D+5Q,GAAU76E,IAAeC,EAC7BisE,EAAgBoB,eAAc,WAC1B,IAAIr9J,EAAY,CACZ1qC,oBAAqB,SAAUjyE,EAAMqvH,GAAM,OAAO4pJ,GAAc,SAAUn6G,GAAQ,OAAOA,EAAKm7G,SAASj6Q,EAAMqvH,EAAK,GAAI,EACtHq8E,SAAU,SAAU7lC,GAAS,OAAOyhH,EAAkBzhH,EAAQ,EAE9D+lC,eAAgB,SAAUt4L,GAAS,OAAO2zQ,EAAwB3zQ,EAAQ,EAC1Eu4L,sBAAuB,SAAUrvM,GAAa,OAAO2qR,EAA4B3qR,EAAY,EAE7FyvM,wBAAyB,SAAU34L,GAAS,OAAO24L,EAAwB34L,EAAQ,GAEnF0pG,EAAOx7G,EAAQ6C,WAAW,IAAI6tQ,EAAoB/nE,uBAAuBliM,EAAMoI,SAEnF,OADA2sG,EAAK+S,QAAQpT,EAAW/rC,EAAKynM,SACtB,WACH72Q,EAAQoG,YAAYo1G,EACxB,CACJ,IACA,IAAI70C,EAAYmpM,EAAQuI,SAAQ,WAAc,OAAOx1G,EAAWxsK,UAAY,GAAG,CAACwsK,IAC5EmjH,EAAgB,WAAc,OAAOH,EAAenjR,KAAI,SAAU84G,GAAQ,OAAOs0J,EAAQU,QAAQ7tP,cAAc4iQ,EAAgB/U,QAAS,CAAEh1J,KAAMA,EAAMzhH,IAAKyhH,EAAKntG,iBAAoB,GAAI,EACxL43Q,EAAwBnW,EAAQuI,SAAQ,WAAc,MAAQ,CAC9DvmQ,MAAO0zQ,EACPxqR,UAAW0qR,EACX,GAAG,CAACF,EAAsBE,IAC1BQ,EAAepW,EAAQuI,SAAQ,WAAc,MAAQ,CACrDvmQ,MAAO8zQ,EACPz1Q,SAAUy1Q,EACVt1Q,SAAUs1Q,EACV,GAAG,CAACA,IACR,OAAQ9V,EAAQU,QAAQ7tP,cAAcmtP,EAAQU,QAAQ6J,SAAU,KAC5DnvE,GACI4kE,EAAQU,QAAQ7tP,cAAc,MAAO,CAAEggD,IAAKyM,EAAMzI,UAAW,yBAA2BA,EAAWrK,KAAM,eAAgBjL,MAAO60N,GAAgBF,KACpJ76E,GACI2kE,EAAQU,QAAQ7tP,cAAc,MAAO,CAAEggD,IAAKyM,EAAMzI,UAAW,0BAA4BA,EAAWrK,KAAM,eAAgBjL,MAAO60N,GAAgBF,KACrJD,GACIjW,EAAQU,QAAQ7tP,cAAc,MAAO,CAAEggD,IAAKyM,EAAMzI,UAAW,sBAAwBA,EAAWrK,KAAM,gBAClGwzM,EAAQU,QAAQ7tP,cAAc,MAAO,CAAEgkD,UAAW,sBAAuBrK,KAAM,WAAYjL,MAAO40N,GAAyBD,MAC3I,+BC/DAhuR,OAAOC,eAAeC,EAAS,aAAc,CAAEpC,OAAO,IACtDoC,EAAQ4hR,WAAa,SAAU1+J,EAAap7G,EAASy1E,EAAS9S,GAE1D,MADiBy4C,GAAeA,EAAY2E,wBAC5C,CAGA,IAAIj0C,EAAUsvC,EAAYlsC,qBAC1B,GAAKpD,EAAL,CAKA,IAAIkpC,EACAioK,EACA/6Q,GAAY,EAWhB,OAVA4pE,EAAQhQ,MAAK,SAAUh0D,GACf5F,EACAlC,EAAQoG,YAAY0B,IAIxBm1Q,GADAjoK,EAAOltG,GACQm0D,SACfwZ,EAAQrkB,YAAY6rN,GACpBkJ,EAAOxjN,EAAKqyC,GAChB,IACO,WACH9yG,GAAY,EACP8yG,IAGDioK,GAAWA,EAAQj6P,eACnBi6P,EAAQj6P,cAAcwuC,YAAYyrN,GAEtCj9Q,EAAQoG,YAAY4uG,GAChBryC,GACAwjN,EAAOxjN,OAAKpsE,GAEpB,CA5BA,CAJA,CAiCJ,EACA,IAAI4vR,EAAS,SAAUxjN,EAAK7sE,GACnB6sE,IAGDA,aAAeyxK,SACGzxK,EACN7sE,GAGC6sE,EACNk0M,QAAU/gR,EAEzB,EACAoC,EAAQ8kR,iBAAmB,SAAU5hK,GACjC,IAAItvC,EAAUsvC,EAAYlsC,qBAC1B,GAAKpD,EAGL,OAAOA,EAAQE,WAAW,MAAM,SAAUhR,GAAK,OAAOA,CAAG,GAC7D,+BC1DAhjE,OAAOC,eAAeC,EAAS,aAAc,CAAEpC,OAAO,IACtD,IAAIshR,EAAkBrH,EAAQ,MAe9B73Q,EAAAA,QAd4B,SAAUkuR,EAASC,GAC3CjP,EAAgBoB,eAAc,WAC1B,IAAI8N,EAAcD,EAAexP,QAC7BphM,EAAU6wM,EAAYtjQ,cAC1B,GAAKyyD,EAAL,CAGA,IAAI8wM,EAAW7jQ,SAAS8vD,cAAc4zM,GAEtC,OADA3wM,EAAQ1e,aAAawvN,EAAUD,GACxB,WACH7wM,EAAQjkB,YAAY+0N,EACxB,CALA,CAMJ,GACJ,qCCfA,IAAI1oO,EAAY9kD,MAAQA,KAAK8kD,UAAa,WAStC,OARAA,EAAW7lD,OAAO0wB,QAAU,SAASsB,GACjC,IAAK,IAAI4H,EAAGx4B,EAAI,EAAG46B,EAAI32B,UAAUlH,OAAQiD,EAAI46B,EAAG56B,IAE5C,IAAK,IAAIkE,KADTs0B,EAAIv0B,UAAUjE,GACOpB,OAAOiB,UAAUuC,eAAesD,KAAK8yB,EAAGt0B,KACzD0sB,EAAE1sB,GAAKs0B,EAAEt0B,IAEjB,OAAO0sB,CACX,EACO6zB,EAAS9+C,MAAMhG,KAAMsE,UAChC,EACImnR,EAAkBzrR,MAAQA,KAAKyrR,gBAAmB,WAClD,IAAK,IAAI5yP,EAAI,EAAGx4B,EAAI,EAAGqrR,EAAKpnR,UAAUlH,OAAQiD,EAAIqrR,EAAIrrR,IAAKw4B,GAAKv0B,UAAUjE,GAAGjD,OACxE,IAAI4R,EAAInO,MAAMg4B,GAAI6xB,EAAI,EAA3B,IAA8BrqD,EAAI,EAAGA,EAAIqrR,EAAIrrR,IACzC,IAAK,IAAI/B,EAAIgG,UAAUjE,GAAI4nB,EAAI,EAAG0jQ,EAAKrtR,EAAElB,OAAQ6qB,EAAI0jQ,EAAI1jQ,IAAKyiC,IAC1D17C,EAAE07C,GAAKpsD,EAAE2pB,GACjB,OAAOjZ,CACX,EACI6nQ,EAAgB72Q,MAAQA,KAAK62Q,cAAiB,SAAUxf,GACxD,GAAIA,GAAOA,EAAIyf,WAAY,OAAOzf,EAClC,IAAI7xO,EAAS,CAAC,EACd,GAAW,MAAP6xO,EAAa,IAAK,IAAI3sM,KAAK2sM,EAASp4P,OAAOwD,eAAesD,KAAKsxP,EAAK3sM,KAAIllC,EAAOklC,GAAK2sM,EAAI3sM,IAE5F,OADAllC,EAAgB,QAAI6xO,EACb7xO,CACX,EACIkyP,EAAmB13Q,MAAQA,KAAK03Q,iBAAoB,SAAUrgB,GAC9D,OAAQA,GAAOA,EAAIyf,WAAczf,EAAM,CAAE,QAAWA,EACxD,EACAp4P,OAAOC,eAAeC,EAAS,aAAc,CAAEpC,OAAO,IACtD,IAAIg6Q,EAAUF,EAAaG,EAAQ,OAC/BW,EAAsBX,EAAQ,MAC9B+I,EAAW/I,EAAQ,MACnBmH,EAAUnH,EAAQ,MAClBoH,EAAiBpH,EAAQ,MACzByW,EAAa/V,EAAgBV,EAAQ,MACrCqH,EAAkBrH,EAAQ,MAwI9B73Q,EAAAA,QAAkB43Q,EAAQ2K,MAtGZ,SAAU14Q,GACpB,IAAI/B,EAAU8vQ,EAAQwH,WAAWH,EAAeH,cAAch3Q,QAC1D4sJ,EAAU7qJ,EAAO6qJ,QAASmN,EAAgBh4J,EAAOg4J,cACjDj0I,EAAKgqP,EAAQyH,WAAYz5M,EAAWh4C,EAAG,GAAIy8E,EAAcz8E,EAAG,GAC5D8V,EAAKk0O,EAAQyH,WAAY/8F,EAAQ5+I,EAAG,GAAI+/H,EAAW//H,EAAG,GACtDO,EAAK2zO,EAAQyH,WAAYj7M,EAAOngC,EAAG,GAAIy0H,EAAUz0H,EAAG,GACpDG,EAAKwzO,EAAQyH,WAAYkP,EAAiBnqP,EAAG,GAAIs/H,EAAoBt/H,EAAG,GACxEw7O,EAAKhI,EAAQyH,WAAYzmN,EAAWgnN,EAAG,GAAIrnH,EAAcqnH,EAAG,GAC5DyB,EAAKzJ,EAAQyH,WAAYuD,EAAavB,EAAG,GAAIhwH,EAAgBgwH,EAAG,GAChEG,EAAK5J,EAAQyH,SAAS,CAAEx6P,KAAM,GAAI2pQ,cAAe,IAAI9uR,MAAU2iL,EAAYm/F,EAAG,GAAI37G,EAAe27G,EAAG,GACpGsB,EAAKlL,EAAQyH,WAAYoP,EAAuB3L,EAAG,GAAI4L,EAA0B5L,EAAG,GACpFC,EAAKnL,EAAQyH,UAAS,GAAQj9F,EAAW2gG,EAAG,GAAI9sG,EAAc8sG,EAAG,GAGjEC,EAAKpL,EAAQyH,SAAS3qH,EAAQ+X,oBAAqBjvG,EAAMwlN,EAAG,GAAIn2G,EAASm2G,EAAG,GAC5EC,EAAKrL,EAAQyH,SAAS3qH,EAAQiY,uBAAwB7pK,EAAYmgR,EAAG,GAAIn2G,EAAem2G,EAAG,GAC3F/rM,EAAO0gM,EAAQoI,OAAO,MACtB2O,EAAmB/W,EAAQoI,SAC3B4O,EAAkBhX,EAAQoI,QAAO,GACjCkD,EAAKtL,EAAQyH,SAAS,GAAIwP,EAAyB3L,EAAG,GAAI4L,EAA4B5L,EAAG,GAM7FtL,EAAQ+J,WAAU,WACd,IAAI/zP,EACJ,IAAIghQ,EAAgBjQ,SAGf8P,KAGDI,EAAyB,IAA7B,CAGA,IAAInwN,EAAiC,QAAvB9wC,EAAKspD,EAAKynM,eAA4B,IAAP/wP,OAAgB,EAASA,EAAGqwC,WACrES,GACAg2F,EAAQ4U,yBAAyB5qG,GACjCkwN,EAAgBjQ,SAAU,GAG1BmQ,GAA0B,SAAU1pH,GAAQ,OAAOA,EAAO,CAAG,GAPjE,CASJ,GAAG,CAACqpH,EAAsBI,IAC1B,IAAIl2M,EAAkBi/L,EAAQuI,SAAQ,WAAc,OAAO,IAAI3H,EAAoBvgM,iBAAgB,WAAc,OAAOf,EAAKynM,OAAS,GAAI,GAAG,IAC7IO,EAAgBoB,eAAc,WAI1B,GAAK5rH,EAAQvoI,UAAb,CAGA,IAAI82F,EAAY,CAGZ4pD,OAAQ,SAAUjvK,GAAS,OAAOivK,EAAOjvK,EAAQ,EACjDkvK,aAAc,SAAUlvK,GAAS,OAAOkvK,EAAalvK,EAAQ,EAG7D26E,oBAAqB,SAAUjyE,EAAMqvH,GAAM,OAAOh9C,EAAgBJ,oBAAoBjyE,EAAMqvH,EAAK,EACjGsgD,YAAa,SAAUmM,GAAY,OAAOnM,EAAYmM,EAAW,EACjE/3E,YAAa,SAAUzsG,GAAS,OAAOysG,EAAYzsG,EAAQ,EAC3D6lK,SAAU,SAAU7lK,GAAS,OAAO6lK,EAAS7lK,EAAQ,EACrD8lK,kBAAmB,SAAU9lK,GAAS,OAAO8lK,EAAkB9lK,EAAQ,EACvE26J,YAAa,SAAU36J,GAAS,OAAO26J,EAAY36J,EAAQ,EAC3DyzJ,cAAe,SAAU/xF,GAAU,OAAO+xF,EAAc/xF,EAAS,EACjEo5F,QAAS,SAAU96J,GAAS,OAAO86J,EAAQ96J,EAAQ,EAGnDioK,aAAc,SAAUnqI,GAAQ,OAAOmqI,GAAa,SAAUT,GAAQ,OAvGrD,SAAUA,EAAM1pI,EAAM0mJ,GAC/C,GAAIA,EAAU,CACV,IAAIy+E,EAAQ,CAAEh8O,KAAM6W,EAAM8yP,cAAe,IAAI9uR,KAE7C,OADAg8B,EAAK97B,SAAQ,SAAUgQ,GAAK,OAAOixP,EAAM2tB,cAAc7oR,IAAIiK,EAAEuG,gBAAiBvG,EAAI,IAC3EixP,CACX,CAGA,IAAIkuB,EAAe,GACfC,EAAe,GACfC,EAAmB,IAAIvvR,IACvBwvR,EAAU,IAAIxvR,IAoBlB,OAnBAg8B,EAAK97B,SAAQ,SAAUgQ,GAAK,OAAOs/Q,EAAQvpR,IAAIiK,EAAEuG,gBAAiBvG,EAAI,IACtEw1J,EAAKvgJ,KAAKjlB,SAAQ,SAAUgQ,GACxB,IAAI8F,EAAa9F,EAAEuG,gBACf+4Q,EAAQp+O,IAAIp7B,KACZq5Q,EAAalvR,KAAK+P,GAClBq/Q,EAAiBtpR,IAAI+P,EAAY9F,GAEzC,IACA8rB,EAAK97B,SAAQ,SAAUgQ,GACnB,IAAI8F,EAAa9F,EAAEuG,gBACdivJ,EAAKopH,cAAc19O,IAAIp7B,KACxBs5Q,EAAanvR,KAAK+P,GAClBq/Q,EAAiBtpR,IAAI+P,EAAY9F,GAEzC,IACU,CACNiV,KAAMynQ,EAAeyC,EAAcC,GACnCR,cAAeS,EAGvB,CAuEyFE,CAAuB/pH,EAAM1pI,EAAM0mJ,EAAW,GAAI,EAC/H9d,cAAe,SAAUphD,GAAe,OAAOwrK,EAAwBxrK,EAAc,EACrFqjD,yBAA0B,WAAc,OAAOooH,EAAiBhQ,OAAS,GAE7EjqH,EAAQr+B,QAAQpT,EAAW/rC,EAAKynM,QAAS98G,EAtBzC,CAuBJ,IACA+1G,EAAQ+J,WAAU,WAAc,OAAOf,EAASgB,WAAW6M,EAAsB3mR,EAASovE,EAAKynM,QAASgQ,EAAmB,GAAG,CAACF,IAC/H,IAAI1jH,EAAY6sG,EAAQuI,SAAQ,WAC5B,IAAIh+Q,EAAM,CAAEq7D,IAAKA,EAAK16D,UAAWA,GAEjC,OADAhD,OAAO0wB,OAAOruB,EAAKygR,GACZzgR,CACX,GAAG,CAACq7D,EAAK16D,EAAW8/Q,IAChBwM,GAAyBX,GAAwBA,EAAqB5mK,uBACtEwnK,GAAyB,MAAbhtG,EACZitG,GAAsC1X,EAAQuI,SAAQ,WACtD,IAAIvyP,EAEJ,UAD2C,QAA/BA,EAAK6gQ,SAAyC,IAAP7gQ,OAAgB,EAASA,EAAGi6F,yBAA2Bm3J,EAAQoG,qBAAqBqJ,EAAqBplO,gBAEhK,GAAG,CAAColO,IAUJ,OAAQ7W,EAAQU,QAAQ7tP,cAAc,MAAO,CAAEggD,IAAKyM,EAAM9S,KAAMA,EAAMjL,MAAO4xG,EAAW,YAAanlG,EAAU,SAAU08G,EAAO,mBAAoBisG,EAAgB31N,SAAUA,GAC1Ky2N,IAVoChtG,EAAUx9J,KAAKra,KAAI,SAAU0hJ,GAAY,OAAQ0rH,EAAQU,QAAQ7tP,cAAc6jQ,EAAWhW,QAAS,CAAEpsH,SAAUA,EAAUia,WAAYzR,EAAQ5F,YAAa4I,YAAahD,EAAQrE,gBAAiBxuJ,IAAKqqJ,EAAS/1I,iBAAqB,IAWvQi5Q,IAV4B,WAC5B,IAAIG,EAAgBd,EAAqBplO,eACzC,OAAQuuN,EAAQU,QAAQ7tP,cAAcmtP,EAAQU,QAAQ6J,SAAU,KAC5DmN,IACO1X,EAAQU,QAAQ7tP,cAAc8kQ,EAAe5pO,EAAS,CAAC,EAAG8oO,EAAqB5kR,UACrFylR,IACM1X,EAAQU,QAAQ7tP,cAAc8kQ,EAAe5pO,EAAS,CAAC,EAAG8oO,EAAqB5kR,OAAQ,CAAE4gE,IAAKkkN,KAC7G,CAG8Ba,GAClC,uCC1KA,IAAIlD,EAAkBzrR,MAAQA,KAAKyrR,gBAAmB,WAClD,IAAK,IAAI5yP,EAAI,EAAGx4B,EAAI,EAAGqrR,EAAKpnR,UAAUlH,OAAQiD,EAAIqrR,EAAIrrR,IAAKw4B,GAAKv0B,UAAUjE,GAAGjD,OACxE,IAAI4R,EAAInO,MAAMg4B,GAAI6xB,EAAI,EAA3B,IAA8BrqD,EAAI,EAAGA,EAAIqrR,EAAIrrR,IACzC,IAAK,IAAI/B,EAAIgG,UAAUjE,GAAI4nB,EAAI,EAAG0jQ,EAAKrtR,EAAElB,OAAQ6qB,EAAI0jQ,EAAI1jQ,IAAKyiC,IAC1D17C,EAAE07C,GAAKpsD,EAAE2pB,GACjB,OAAOjZ,CACX,EACI6nQ,EAAgB72Q,MAAQA,KAAK62Q,cAAiB,SAAUxf,GACxD,GAAIA,GAAOA,EAAIyf,WAAY,OAAOzf,EAClC,IAAI7xO,EAAS,CAAC,EACd,GAAW,MAAP6xO,EAAa,IAAK,IAAI3sM,KAAK2sM,EAASp4P,OAAOwD,eAAesD,KAAKsxP,EAAK3sM,KAAIllC,EAAOklC,GAAK2sM,EAAI3sM,IAE5F,OADAllC,EAAgB,QAAI6xO,EACb7xO,CACX,EACIkyP,EAAmB13Q,MAAQA,KAAK03Q,iBAAoB,SAAUrgB,GAC9D,OAAQA,GAAOA,EAAIyf,WAAczf,EAAM,CAAE,QAAWA,EACxD,EACAp4P,OAAOC,eAAeC,EAAS,aAAc,CAAEpC,OAAO,IACtD,IAAI46Q,EAAsBX,EAAQ,MAC9BD,EAAUF,EAAaG,EAAQ,OAC/BmH,EAAUnH,EAAQ,MAClBiP,EAAiBvO,EAAgBV,EAAQ,OACzC4X,EAAYlX,EAAgBV,EAAQ,OACpCoH,EAAiBpH,EAAQ,MACzBqH,EAAkBrH,EAAQ,MAoE9B73Q,EAAAA,QAAkB43Q,EAAQ2K,MAnEH,SAAU14Q,GAC7B,IAAI/B,EAAU8vQ,EAAQwH,WAAWH,EAAeH,cAAch3Q,QAC1D8lB,EAAKgqP,EAAQyH,SAAS,IAAKt/H,EAAiBnyH,EAAG,GAAIsoJ,EAAoBtoJ,EAAG,GAC1E8V,EAAKk0O,EAAQyH,SAAS,IAAKqQ,EAAkBhsP,EAAG,GAAIisP,EAAqBjsP,EAAG,GAC5EO,EAAK2zO,EAAQyH,SAAS,IAAK17F,EAAW1/I,EAAG,GAAIwyI,EAAcxyI,EAAG,GAC9DG,EAAKwzO,EAAQyH,UAAS,GAAQj9F,EAAWh+I,EAAG,GAAI6xI,EAAc7xI,EAAG,GACjEw7O,EAAKhI,EAAQyH,SAAS,IAAKuQ,EAAiBhQ,EAAG,GAAI7pG,EAAoB6pG,EAAG,GAC1Et5Q,EAAOuD,EAAOvD,KACdu7J,EAAgB+1G,EAAQuI,SAAQ,WAAc,OAAO3H,EAAoBnlG,2BAA2B/sK,EAAO,GAAG,CAACA,IAC/GmjF,EAAWmuL,EAAQoI,OAAO,MAC1B7qG,EAAYyiG,EAAQoI,OAAO,MAC3BvhN,EAAam5M,EAAQoI,OAAO,MAC5Br1G,EAAaitG,EAAQuI,SAAQ,WAAc,OAAO3H,EAAoBtkG,iBAAiBC,0BAA0B7tK,EAAO,GAAG,CAACA,IAC5HupR,EAAiBjY,EAAQuI,SAAQ,WAAc,OAAOnB,EAAQsJ,YAAY39G,EAAW11C,QAAU,GAAG,IAClG66J,EAAkBlY,EAAQuI,SAAQ,WAAc,OAAOnB,EAAQsJ,YAAY39G,EAAWrhB,SAAW,GAAG,IACpGymI,EAAmBnY,EAAQuI,SAAQ,WAAc,OAAOnB,EAAQsJ,YAAY39G,EAAW7nH,UAAY,GAAG,IAEtGygI,EAAYj9K,IAASkyQ,EAAoBn4G,iBAAiBiT,OAC1DkQ,EAAYl9K,IAASkyQ,EAAoBn4G,iBAAiBkT,YAAcjtK,IAASkyQ,EAAoBn4G,iBAAiBmT,cACtHw8G,GAAazsG,IAAcC,EAC3BysG,EAAc1sG,EAAY95F,EAAW+5F,EAAYrO,EAAY12G,EACjEqoN,EAAexO,QAAQ,qBAAuBhyQ,EAAO,IAAK2pR,GAG1DrY,EAAQ+J,WAAU,WACdgO,GAAmB,SAAUvqH,GACzB,GAAIgd,EACA,OAAOuB,EAIX,IAAIE,EAAUze,EAAKliK,QAAO,SAAU2M,GAAK,OAAO8zK,EAASvhL,QAAQyN,IAAM,CAAG,IACtEqgR,EAAUvsG,EAASzgL,QAAO,SAAU2M,GAAK,OAAOg0K,EAAQzhL,QAAQyN,GAAK,CAAG,IAE5E,OADWy8Q,EAAezoG,EAASqsG,EAEvC,GACJ,GAAG,CAAC9tG,EAAUuB,IACdu7F,EAAgBoB,eAAc,WAC1B,IAAI4H,EAAiB,GACjBjlK,EAAY,CACZizD,kBAAmBA,EACnBO,YAAa,SAAUkN,GAAY,OAAOlN,EAAYkN,EAAW,EACjE1N,YAAa,SAAUmM,GAAY,OAAOnM,EAAYmM,EAAW,EACjErM,kBAAmB,SAAUn8J,GAAS,OAAOm8J,EAAkBn8J,EAAQ,GAEvE0pG,EAAOx7G,EAAQ6C,WAAW,IAAI6tQ,EAAoBtkG,iBAAiB5tK,IAGvE,OAFA4hR,EAAeroR,KAAKyjH,GACpBA,EAAK+S,QAAQpT,EAAWxkD,EAAWkgN,QAASxpG,EAAUwpG,QAASl1L,EAASk1L,SACjE,WACH72Q,EAAQmG,aAAai6Q,EACzB,CACJ,IACA,IAAIiI,EAAgBvY,EAAQuI,SAAQ,WAAc,MAAQ,CACtD/mN,OAAQ2mF,EACR,GAAG,CAACA,IACJy5H,EAAiB5B,EAAQuI,SAAQ,WAAc,MAAQ,CACvDvmQ,MAAOg2Q,EACP,GAAG,CAACA,IACJQ,EAAiB,WAAc,OAAQxY,EAAQU,QAAQ7tP,cAAc,MAAO,CAAEgkD,UAAWshN,EAAkBtlN,IAAKhM,EAAY2F,KAAMu/G,EAAS1lL,OAAS,WAAa,eAAgBk7D,MAAOqgN,GAAkBkW,EAAgBllR,KAAI,SAAUkqJ,GAAW,OAAOkjH,EAAQU,QAAQ7tP,cAAcglQ,EAAUnX,QAAS,CAAE5jH,QAASA,EAASmN,cAAeA,EAAehgK,IAAK6yJ,EAAQv+I,iBAAoB,IAAM,EACxY,OAAQyhQ,EAAQU,QAAQ7tP,cAAcmtP,EAAQU,QAAQ6J,SAAU,KAC5D5+F,GACIq0F,EAAQU,QAAQ7tP,cAAc,MAAO,CAAEgkD,UAAWohN,EAAgBplN,IAAKgf,EAAUrlB,KAAM,gBACnFwzM,EAAQU,QAAQ7tP,cAAc,MAAO,CAAEgkD,UAAWqhN,EAAiBrlN,IAAK0qG,EAAW/wG,KAAM,eAAgBjL,MAAOg3N,GAAiBC,MACzI5sG,GACIo0F,EAAQU,QAAQ7tP,cAAc,MAAO,CAAEgkD,UAAWqhN,EAAiBrlN,IAAK0qG,EAAW/wG,KAAM,eAAgBjL,MAAOg3N,GAAiBC,KACrIJ,GAAaI,IACrB,uCC3FA,IAAI1Y,EAAgB72Q,MAAQA,KAAK62Q,cAAiB,SAAUxf,GACxD,GAAIA,GAAOA,EAAIyf,WAAY,OAAOzf,EAClC,IAAI7xO,EAAS,CAAC,EACd,GAAW,MAAP6xO,EAAa,IAAK,IAAI3sM,KAAK2sM,EAASp4P,OAAOwD,eAAesD,KAAKsxP,EAAK3sM,KAAIllC,EAAOklC,GAAK2sM,EAAI3sM,IAE5F,OADAllC,EAAgB,QAAI6xO,EACb7xO,CACX,EACAvmB,OAAOC,eAAeC,EAAS,aAAc,CAAEpC,OAAO,IACtD,IAAIg6Q,EAAUF,EAAaG,EAAQ,OAC/BW,EAAsBX,EAAQ,MAC9BoH,EAAiBpH,EAAQ,MACzBqH,EAAkBrH,EAAQ,MAqC1BlzC,EAAeizC,EAAQuH,YApCL,SAAU5wQ,EAAO4wQ,GACnC,IAAI55P,EAAWhX,EAAMgX,SAAUo9D,EAAoBp0E,EAAMo0E,kBAAmBG,EAAev0E,EAAMu0E,aAAck3G,EAAWzrL,EAAMyrL,SAC5HlyL,EAAU8vQ,EAAQwH,WAAWH,EAAeH,cAAch3Q,QAC1DuoR,EAAiBzY,EAAQoI,OAAO,MAChCsQ,EAAoB1Y,EAAQoI,OAAO,MACnCuQ,EAAkB3Y,EAAQoI,SAC1BpyP,EAAKgqP,EAAQyH,WAAYzmN,EAAWhrC,EAAG,GAAI2qI,EAAc3qI,EAAG,GAChEgqP,EAAQyI,oBAAoBlB,GAAY,WAAc,MAAQ,CAC1D76C,yBAA0B,WACtBisD,EAAgB5R,QAAQr6C,0BAC5B,EACA,IACJ46C,EAAgBoB,eAAc,WAC1B,IAAIn9C,EAAYktD,EAAe1R,QAC3Bv7C,EAAektD,EAAkB3R,QACjC17J,EAAY,CACZs1C,YAAa,SAAU36J,GAAS,OAAuB26J,EAAP,MAAT36J,OAA4BS,EAAyBG,SAASZ,EAAO,IAAM,GAElH0lH,EAAOitK,EAAgB5R,QAAU72Q,EAAQ6C,WAAW,IAAI6tQ,EAAoBv1C,aAAa,CACzFnmH,KAAMmG,EACNkgH,UAAWA,EACXC,aAAcA,EACdzgJ,kBAAmBA,EACnBG,aAAcA,EACdugJ,kBAAmB,SAAUa,GAAc,OAAOlqC,EAASqpC,kBAAkBa,EAAa,KAE9F,OAAO,WACHp8N,EAAQoG,YAAYo1G,EACxB,CACJ,IACA,IAAIuhH,EAAiB,SAAUnlB,GAAQ,OAAQk4D,EAAQU,QAAQ7tP,cAAc,MAAO,CAAEgkD,UAAW,6BAA+BixI,EAAMt7I,KAAM,eAAgBxL,SAAUA,EAAU6R,IAAc,QAATi1I,EAAiB2wE,EAAiBC,GAAuB,EAC9O,OAAQ1Y,EAAQU,QAAQ7tP,cAAcmtP,EAAQU,QAAQ6J,SAAU,KAC5Dt9C,EAAe,OACft/M,EACAs/M,EAAe,UACvB,IAEA7kO,EAAAA,QAAkB43Q,EAAQ2K,KAAK59C,gCCjD/B7kO,OAAOC,eAAeC,EAAS,aAAc,CAAEpC,OAAO,IACtD,IAAIg6Q,EAAUC,EAAQ,MACtB73Q,EAAQsgR,cAAgB,SAAUkQ,GAC9B,IAAI/jQ,EAAcmrP,EAAQoI,SACtByQ,EAAe7Y,EAAQoI,QAAO,GAC9B0Q,EAAoB9Y,EAAQoI,QAAO,GACnCpyP,EAAKgqP,EAAQyH,SAAS,GAAiBsR,GAAP/iQ,EAAG,GAAaA,EAAG,IACnD6iQ,EAAa9R,UACb+R,EAAkB/R,SAAU,GAEhC/G,EAAQ+J,WAAU,WAQd,OANK8O,EAAa9R,UACdlyP,EAAYkyP,QAAU6R,IACtBC,EAAa9R,SAAU,GAG3BgS,GAAO,SAAUhqR,GAAO,OAAOA,EAAM,CAAG,IACjC,WAGE+pR,EAAkB/R,SAInBlyP,EAAYkyP,SACZlyP,EAAYkyP,SAEpB,CACJ,GAAG,GACP,mCC9BA,IAAIh5N,EAAY9kD,MAAQA,KAAK8kD,UAAa,WAStC,OARAA,EAAW7lD,OAAO0wB,QAAU,SAASsB,GACjC,IAAK,IAAI4H,EAAGx4B,EAAI,EAAG46B,EAAI32B,UAAUlH,OAAQiD,EAAI46B,EAAG56B,IAE5C,IAAK,IAAIkE,KADTs0B,EAAIv0B,UAAUjE,GACOpB,OAAOiB,UAAUuC,eAAesD,KAAK8yB,EAAGt0B,KACzD0sB,EAAE1sB,GAAKs0B,EAAEt0B,IAEjB,OAAO0sB,CACX,EACO6zB,EAAS9+C,MAAMhG,KAAMsE,UAChC,EACArF,OAAOC,eAAeC,EAAS,aAAc,CAAEpC,OAAO,IACtDoC,EAAQsoR,YAAc,WAElB,IADA,IAAIzjQ,EAAO,GACF3f,EAAK,EAAGA,EAAKC,UAAUlH,OAAQiH,IACpC2f,EAAK3f,GAAMC,UAAUD,GAGzB,OADe2f,EAAK3hB,QAAO,SAAUw2B,GAAK,OAAY,MAALA,GAAmB,KAANA,CAAU,IACxD1tB,KAAK,IACzB,EACA,IAAIszQ,EAA4B,WAC5B,SAASA,IAGL,IAFA,IAAIp0Q,EAAQrK,KACR+vR,EAAiB,GACZ1rR,EAAK,EAAGA,EAAKC,UAAUlH,OAAQiH,IACpC0rR,EAAe1rR,GAAMC,UAAUD,GAEnCrE,KAAKgwR,WAAa,CAAC,EACnBD,EAAehxR,SAAQ,SAAU6uE,GAC7BvjE,EAAM2lR,WAAWpiN,IAAa,CAClC,GACJ,CAkBA,OAjBA6wM,EAAWv+Q,UAAUw/Q,SAAW,SAAU9xM,EAAWknD,GAIjD,KAD0B90H,KAAKgwR,WAAWpiN,IAAcknD,EAEpD,OAAO90H,KAEX,IAAIsB,EAAM,IAAIm9Q,EAGd,OAFAn9Q,EAAI0uR,WAAalrO,EAAS,CAAC,EAAG9kD,KAAKgwR,YACnC1uR,EAAI0uR,WAAWpiN,GAAaknD,EACrBxzH,CACX,EACAm9Q,EAAWv+Q,UAAU5C,SAAW,WAC5B,IAAI+M,EAAQrK,KAEZ,OADUf,OAAOmB,KAAKJ,KAAKgwR,YAAY3tR,QAAO,SAAUrB,GAAO,OAAOqJ,EAAM2lR,WAAWhvR,EAAM,IAAGmK,KAAK,IAEzG,EACOszQ,CACX,CA9BgC,GA+BhCt/Q,EAAQs/Q,WAAaA,EACrBt/Q,EAAQolR,qBAAuB,SAAU3sM,GAGrC,MAA6B,oBAAdA,KAA8BA,EAAU13E,WAAa03E,EAAU13E,UAAU+vR,mBAA4C,kBAAdr4M,GAA0BA,EAAUs4M,YAFnG,oBAAXx1P,QAAyBA,OAAOy1P,IACvBz1P,OAAOy1P,IAAI,cAAgB,MAEpF,qCCxDA,IAAInkQ,EAAahsB,MAAQA,KAAKgsB,WAAe,WACzC,IAAIC,EAAgB,SAAUnd,EAAGvQ,GAI7B,OAHA0tB,EAAgBhtB,OAAOitB,gBAClB,CAAEC,UAAW,cAAgBtrB,OAAS,SAAUiO,EAAGvQ,GAAKuQ,EAAEqd,UAAY5tB,CAAG,GAC1E,SAAUuQ,EAAGvQ,GAAK,IAAK,IAAIgG,KAAKhG,EAAOA,EAAEkE,eAAe8B,KAAIuK,EAAEvK,GAAKhG,EAAEgG,GAAI,EACtE0nB,EAAcnd,EAAGvQ,EAC5B,EACA,OAAO,SAAUuQ,EAAGvQ,GAEhB,SAAS6tB,IAAOpsB,KAAK0B,YAAcoN,CAAG,CADtCmd,EAAcnd,EAAGvQ,GAEjBuQ,EAAE5O,UAAkB,OAAN3B,EAAaU,OAAOotB,OAAO9tB,IAAM6tB,EAAGlsB,UAAY3B,EAAE2B,UAAW,IAAIksB,EACnF,CACJ,CAZ6C,GAazCgkQ,EAAUpwR,MAAQA,KAAKowR,QAAW,SAAUv3P,EAAGp6B,GAC/C,IAAIwyB,EAAI,CAAC,EACT,IAAK,IAAI1sB,KAAKs0B,EAAO55B,OAAOiB,UAAUuC,eAAesD,KAAK8yB,EAAGt0B,IAAM9F,EAAE8C,QAAQgD,GAAK,IAC9E0sB,EAAE1sB,GAAKs0B,EAAEt0B,IACb,GAAS,MAALs0B,GAAqD,oBAAjC55B,OAAOoxR,sBACtB,KAAIhwR,EAAI,EAAb,IAAgBkE,EAAItF,OAAOoxR,sBAAsBx3P,GAAIx4B,EAAIkE,EAAEnH,OAAQiD,IAC3D5B,EAAE8C,QAAQgD,EAAElE,IAAM,GAAKpB,OAAOiB,UAAUwC,qBAAqBqD,KAAK8yB,EAAGt0B,EAAElE,MACvE4wB,EAAE1sB,EAAElE,IAAMw4B,EAAEt0B,EAAElE,IAF4B,CAItD,OAAO4wB,CACX,EACI4lP,EAAgB72Q,MAAQA,KAAK62Q,cAAiB,SAAUxf,GACxD,GAAIA,GAAOA,EAAIyf,WAAY,OAAOzf,EAClC,IAAI7xO,EAAS,CAAC,EACd,GAAW,MAAP6xO,EAAa,IAAK,IAAI3sM,KAAK2sM,EAASp4P,OAAOwD,eAAesD,KAAKsxP,EAAK3sM,KAAIllC,EAAOklC,GAAK2sM,EAAI3sM,IAE5F,OADAllC,EAAgB,QAAI6xO,EACb7xO,CACX,EACIkyP,EAAmB13Q,MAAQA,KAAK03Q,iBAAoB,SAAUrgB,GAC9D,OAAQA,GAAOA,EAAIyf,WAAczf,EAAM,CAAE,QAAWA,EACxD,EACAp4P,OAAOC,eAAeC,EAAS,aAAc,CAAEpC,OAAO,IACtD,IAAIg6Q,EAAUF,EAAaG,EAAQ,OAC/BY,EAAeF,EAAgBV,EAAQ,OACvCsZ,EAASzZ,EAAaG,EAAQ,OAC9BiC,EAA8B,SAAUxsP,GAExC,SAASwsP,EAAavrQ,GAClB,IAAIrD,EAAQoiB,EAAO1mB,KAAK/F,KAAM0N,IAAU1N,KAExC,OADAqK,EAAMqD,MAAQA,EACPrD,CACX,CAiBA,OAtBA2hB,EAAUitP,EAAcxsP,GAMxBwsP,EAAa/4Q,UAAUm3Q,OAAS,WAC5B,OAAO,IACX,EACA4B,EAAaE,mBAAqB,SAAUz0P,GACxC,OAAOqyP,EAAQU,QAAQ8Y,SAAS5mR,IAAI+a,GAAU,SAAUM,GAAS,OAASA,EAAQi0P,EAAauX,SAASxrQ,EAAMtX,OAAS,IAAM,GACjI,EACAurQ,EAAauX,SAAW,SAAUC,GAC9B,IAAI/rQ,EAAW+rQ,EAAY/rQ,SAAUhQ,EAAS07Q,EAAOK,EAAa,CAAC,aAInE,OAHIxX,EAAaC,gBAAgBx0P,KAC7BhQ,EAAOgQ,SAAWu0P,EAAaE,mBAAmBz0P,IAE/ChQ,CACX,EACAukQ,EAAaC,gBAAkB,SAAUx0P,GACrC,OAAOqyP,EAAQU,QAAQ8Y,SAAS9vR,MAAMikB,GAAY,CACtD,EACOu0P,CACX,CAxBkC,CAwBhClC,EAAQn/L,WAQV,SAASyjM,EAAcC,EAAaC,GAChCD,EAAYv8Q,SAAQ,SAAUs6Q,GAE1BJ,EAAaI,GAAWkC,CAC5B,GACJ,CAZAp8Q,EAAQ85Q,aAAeA,EACvBoC,EAAciV,EAAOznO,WAAWnE,mBAAoBkzN,EAAaH,QAAQgE,MACzEJ,EAAciV,EAAOznO,WAAWvE,kBAAmBszN,EAAaH,QAAQj+O,QACxE6hP,EAAciV,EAAOznO,WAAWtE,kBAAmBqzN,EAAaH,QAAQ94Q,QACxE08Q,EAAciV,EAAOznO,WAAWrE,iBAAkBozN,EAAaH,QAAQt1P,OACvEk5P,EAAciV,EAAOznO,WAAWpE,kBAAmBmzN,EAAaH,QAAQjxM,QACxE60M,EAAciV,EAAOznO,WAAWlE,oBAAqBizN,EAAaH,QAAQnyQ,iCCpE1E,IAAIk0Q,EADJv6Q,OAAOC,eAAeC,EAAS,aAAc,CAAEpC,OAAO,IAEtD,SAAWy8Q,GACPA,EAA2C,cAAI,gBAC/CA,EAA4C,eAAI,iBAChDA,EAAqC,QAAI,SAC5C,CAJD,CAIGA,EAA8Br6Q,EAAQq6Q,8BAAgCr6Q,EAAQq6Q,4BAA8B,CAAC,IAChH,IAAIkX,EAA0C,WAC1C,SAASA,EAAyB12K,GAC9Bh6G,KAAKg6G,SAAWA,CACpB,CAIA,OAHA02K,EAAyBxwR,UAAU6hB,SAAW,SAAUzjB,EAAGC,GACvD,OAAOyB,KAAKg6G,SAAS17G,EAAGC,EAC5B,EACOmyR,CACX,CAR8C,GAS1CC,EAAmC,WACnC,SAASA,IACT,CAmHA,OAlHAA,EAAkBzwR,UAAU6hB,SAAW,SAAUzjB,EAAGC,GAChD,OAAOoyR,EAAkBC,cAAcD,EAAkBzvR,KAAK5C,GAAIqyR,EAAkBzvR,KAAK3C,GAC7F,EAIAoyR,EAAkBE,qBAAuB,SAAUxvR,GAC/C,OAAOA,aAAeqL,QAAUrL,aAAe03B,OAAS13B,EAAIyvR,UAAYzvR,CAC5E,EAEAsvR,EAAkBzvR,KAAO,SAAUnE,GAC/B,IAAKA,EACD,OAAOA,EAEX,GAAI8D,MAAMC,QAAQ/D,GAAQ,CAGtB,IADA,IAAIg0R,EAAY,GACP1wR,EAAI,EAAGA,EAAItD,EAAMK,OAAQiD,IAC9B0wR,EAAU/xR,KAAKgB,KAAKkB,KAAKnE,EAAMsD,KAEnC,OAAO0wR,CACX,CAGA,MAAqB,kBAAVh0R,EACAA,EAEJ,CAAC,CAAC,EAAGA,GAAO6L,QAAO,SAAUoG,EAAGyrB,GAInC,OAHAx7B,OAAOmB,KAAKq6B,GAAG17B,SAAQ,SAAU2rD,GAC7B17C,EAAE07C,GAAKjwB,EAAEiwB,EACb,IACO17C,CACX,GAAG,CAAC,EACR,EACA2hR,EAAkBlzR,MAAQ,SAAUV,GAChC,OAAI2P,OAAOjP,MACAiP,OAAOjP,MAAMV,GAGE,kBAAXA,GAAuBU,MAAMV,EAChD,EASA4zR,EAAkBC,cAAgB,SAAUtyR,EAAGC,GAG3C,GAFAD,EAAIqyR,EAAkBE,qBAAqBvyR,GAC3CC,EAAIoyR,EAAkBE,qBAAqBtyR,GACvCD,IAAMC,EACN,OAAO,EACX,GAAU,OAAND,GAAoB,OAANC,UAAqBD,WAAaC,EAChD,OAAO,EACX,GAAIoyR,EAAkBlzR,MAAMa,IAAMqyR,EAAkBlzR,MAAMc,GACtD,OAAO,EAEX,GAAID,aAAaiJ,KACb,OAAOhJ,aAAagJ,MAAQjJ,EAAEwyR,YAAcvyR,EAAEuyR,UAElD,GAAiB,oBAANxyR,EAEP,OAAO,EAEX,GAAiB,kBAANA,GACNA,EAAE4xR,UAAsC,0BAA1B5xR,EAAE4xR,SAAS5yR,WAC1B,OAAOgB,GAAKC,EAEhB,GAAIU,OAAO+xR,SAAS1yR,IAAMW,OAAO+xR,SAASzyR,GACtC,OAAOD,IAAMC,EAEjB,IAAI0yR,OAAsCzzR,IAA/Bc,EAAE4yR,yBAAwCC,OAAsC3zR,IAA/Be,EAAE2yR,yBAC9D,IACI,IAAI74J,OAAO,EACX,GAAI44J,EACA3yR,EAAE4yR,yBAA2B,QAE5B,GAAI5yR,EAAE4yR,yBAAyB3pQ,MAAK,SAAU6pQ,GAC/C,OAAOA,IAAU7yR,CACrB,IACI,OAAO,EACX,GAAI4yR,EACA5yR,EAAE2yR,yBAA2B,QAE5B,GAAI3yR,EAAE2yR,yBAAyB3pQ,MAAK,SAAU6pQ,GAAS,OAAOA,IAAU9yR,CAAG,IAC5E,OAAO,EAEXA,EAAE4yR,yBAAyBlyR,KAAKT,GAChCA,EAAE2yR,yBAAyBlyR,KAAKV,GAChC,IAAI+yR,EAAM,CAAC,EACX,IAAKh5J,KAAQ/5H,EACG,4BAAR+5H,IACAg5J,EAAIh5J,GAAQ,MAEpB,IAAKA,KAAQ95H,EACG,4BAAR85H,IACAg5J,EAAIh5J,GAAQ,MAEpB,IAAKA,KAAQg5J,EACT,IAAKrxR,KAAK4wR,cAActyR,EAAE+5H,GAAO95H,EAAE85H,IAC/B,OAAO,EAGf,OAAO,CACX,CAAC,QAEO44J,UACO3yR,EAAE4yR,yBACTC,UACO5yR,EAAE2yR,wBACjB,CACJ,EACOP,CACX,CAtHuC,GAuHnCttC,EAAwC,WACxC,SAASA,IACL,IAAIt2N,EACJ/sB,KAAKsxR,cAAevkQ,EAAK,CAAC,GACnBysP,EAA4BE,gBAAkB,IAAIiX,EACrD5jQ,EAAGysP,EAA4BC,eAAiB,IAAIiX,GAAyB,SAAUpyR,EAAGC,GAAK,OAAOD,IAAMC,CAAG,IAC/GwuB,EAAGysP,EAA4B+X,SAAW,IAAIb,GAAyB,SAAUpyR,EAAGC,GAAK,OAAO,CAAO,IACvGwuB,EACR,CAIA,OAHAs2N,EAAuBnjP,UAAUs6Q,YAAc,SAAUgX,GACrD,OAAOxxR,KAAKsxR,YAAYE,EAC5B,EACOnuC,CACX,CAb4C,GAc5ClkP,EAAQkkP,uBAAyBA,6BCrJjCpkP,OAAOC,eAAeC,EAAS,aAAc,CAAEpC,OAAO,IACtD,IAAI68B,EAAU,EAIdz6B,EAAAA,QAHA,WACI,MAAO,kBAAmBy6B,CAC9B,qCCJA,IAAI5N,EAAahsB,MAAQA,KAAKgsB,WAAe,WACzC,IAAIC,EAAgB,SAAUnd,EAAGvQ,GAI7B,OAHA0tB,EAAgBhtB,OAAOitB,gBAClB,CAAEC,UAAW,cAAgBtrB,OAAS,SAAUiO,EAAGvQ,GAAKuQ,EAAEqd,UAAY5tB,CAAG,GAC1E,SAAUuQ,EAAGvQ,GAAK,IAAK,IAAIgG,KAAKhG,EAAOA,EAAEkE,eAAe8B,KAAIuK,EAAEvK,GAAKhG,EAAEgG,GAAI,EACtE0nB,EAAcnd,EAAGvQ,EAC5B,EACA,OAAO,SAAUuQ,EAAGvQ,GAEhB,SAAS6tB,IAAOpsB,KAAK0B,YAAcoN,CAAG,CADtCmd,EAAcnd,EAAGvQ,GAEjBuQ,EAAE5O,UAAkB,OAAN3B,EAAaU,OAAOotB,OAAO9tB,IAAM6tB,EAAGlsB,UAAY3B,EAAE2B,UAAW,IAAIksB,EACnF,CACJ,CAZ6C,GAazC04B,EAAY9kD,MAAQA,KAAK8kD,UAAa,WAStC,OARAA,EAAW7lD,OAAO0wB,QAAU,SAASsB,GACjC,IAAK,IAAI4H,EAAGx4B,EAAI,EAAG46B,EAAI32B,UAAUlH,OAAQiD,EAAI46B,EAAG56B,IAE5C,IAAK,IAAIkE,KADTs0B,EAAIv0B,UAAUjE,GACOpB,OAAOiB,UAAUuC,eAAesD,KAAK8yB,EAAGt0B,KACzD0sB,EAAE1sB,GAAKs0B,EAAEt0B,IAEjB,OAAO0sB,CACX,EACO6zB,EAAS9+C,MAAMhG,KAAMsE,UAChC,EACIozQ,EAAmB13Q,MAAQA,KAAK03Q,iBAAoB,SAAUrgB,GAC9D,OAAQA,GAAOA,EAAIyf,WAAczf,EAAM,CAAE,QAAWA,EACxD,EACAp4P,OAAOC,eAAeC,EAAS,aAAc,CAAEpC,OAAO,IACtD,IAAIg6Q,EAAUC,EAAQ,MAClB6E,EAAc7E,EAAQ,MACtBW,EAAsBX,EAAQ,MAC9B8E,EAAmB9E,EAAQ,MAC3B+E,EAAW/E,EAAQ,MACnBgF,EAAiBtE,EAAgBV,EAAQ,OACzC4E,EAAmC,SAAUnvP,GAE7C,SAASmvP,EAAkBK,EAAgBxhM,EAAiBo+K,GACxD,IAAIxuP,EAAQoiB,EAAO1mB,KAAK/F,KAAMi8Q,EAAgBxhM,EAAiBo+K,IAAkB74P,KAIjF,OAHAqK,EAAMonR,UAAY,KAClBpnR,EAAMrJ,IAAMg7Q,EAAevE,UAC3BptQ,EAAMqnR,UAAY1V,EAAevE,UAC1BptQ,CACX,CAgFA,OAvFA2hB,EAAU4vP,EAAmBnvP,GAQ7BmvP,EAAkB17Q,UAAU28B,KAAO,SAAU7zB,GACzC,IAAIqB,EAAQrK,KAIZ,OAHAA,KAAKo8Q,eAAiBp8Q,KAAKq8Q,oBAAoBrzQ,GAC/ChJ,KAAKgJ,OAASA,EACdhJ,KAAK2xR,qBAAqB3oR,GACnB,IAAI2uQ,EAAoBxlM,WAAU,SAAUS,GAAW,OAAOvoE,EAAMkyQ,qBAAqB3pM,EAAU,GAC9G,EACAgpM,EAAkB17Q,UAAUyxR,qBAAuB,SAAU3oR,GACzD,IAAIqB,EAAQrK,KACPA,KAAKw8Q,yBAENxzQ,EAAO4gE,IAAM,SAAUz/C,GACnB9f,EAAMoyQ,kBAAoBtyP,EAC1B9f,EAAMqyQ,mCACV,GAEJ18Q,KAAK4xR,aAAe7a,EAAQntP,cAAc5pB,KAAKi8Q,eAAgBn3N,EAASA,EAAS,CAAC,EAAG97C,GAAS,CAAEhI,IAAKhB,KAAKgB,OAC1GhB,KAAK48Q,OAASf,EAAYgB,aAAa78Q,KAAK4xR,aAAc5xR,KAAKo8Q,eAAgBp8Q,KAAK0xR,UAExF,EACA9V,EAAkB17Q,UAAUq8Q,qBAAuB,SAAU3pM,GACzD5yE,KAAKq4Q,cAAcyE,iBAAiB98Q,KAAK48Q,OAAQ58Q,MAAM,SAAUjD,GAC7D61E,EAAQ71E,EACZ,GACJ,EACA6+Q,EAAkB17Q,UAAUi9Q,YAAc,WACtC,OAAOn9Q,KAAK6xR,oBAAoB7xR,KAAKgJ,OACzC,EACA4yQ,EAAkB17Q,UAAUo9Q,SAAW,WACnC,OAAQt9Q,KAAKw8Q,wBAA0Bx8Q,KAAKu9Q,gCACpCv9Q,KAAKw8Q,yBAA0Bx8Q,KAAKgsL,gCAChD,EACA4vF,EAAkB17Q,UAAU2xR,oBAAsB,SAAU7oR,GAExD,IAAKhJ,KAAK64P,cAAc71L,aACpB,OAAO,EAKX,IAAIo6M,EAAuBv5Q,QAAQ0H,MACnC,IAOI,OAHA1H,QAAQ0H,MAAQ,WAChB,EAEwB,KADLwwQ,EAASsB,qBAAqBtG,EAAQntP,cAAc5pB,KAAKi8Q,eAAgBjzQ,GAEhG,CACA,MAAO8oR,GACP,CAAC,QAEGjuR,QAAQ0H,MAAQ6xQ,CACpB,CACA,OAAO,CACX,EAQAxB,EAAkB17Q,UAAU6xR,iBAAmB,SAAU/qR,GACrDhH,KAAKyxR,UAAYzxR,KAAK48Q,OACtB58Q,KAAK2xR,qBAAqB3qR,GAC1BhH,KAAKq4Q,cAAc2Z,kBAAkBhyR,KAAKyxR,UAAWzxR,KAAK48Q,OAC9D,EACAhB,EAAkB17Q,UAAU+8Q,eAAiB,SAAUx3Q,EAAMuD,GACzD,IAAIipR,EAASjyR,KAAKyF,EAAO,aACzB,GAAMwsR,EACF,OAAOA,EAAO1nR,KAAKvK,KAAZiyR,CAAkBjpR,EAEjC,EACA4yQ,EAAkB17Q,UAAU88Q,wBAA0B,SAAUv3Q,GAE5D,QADazF,KAAKyF,EAAO,YAE7B,EACOm2Q,CACX,CAzFuC,CAyFrCE,EAAiB0B,gBACnBr+Q,EAAQy8Q,kBAAoBA,mCC5H5B,IAAI6P,EAAkBzrR,MAAQA,KAAKyrR,gBAAmB,WAClD,IAAK,IAAI5yP,EAAI,EAAGx4B,EAAI,EAAGqrR,EAAKpnR,UAAUlH,OAAQiD,EAAIqrR,EAAIrrR,IAAKw4B,GAAKv0B,UAAUjE,GAAGjD,OACxE,IAAI4R,EAAInO,MAAMg4B,GAAI6xB,EAAI,EAA3B,IAA8BrqD,EAAI,EAAGA,EAAIqrR,EAAIrrR,IACzC,IAAK,IAAI/B,EAAIgG,UAAUjE,GAAI4nB,EAAI,EAAG0jQ,EAAKrtR,EAAElB,OAAQ6qB,EAAI0jQ,EAAI1jQ,IAAKyiC,IAC1D17C,EAAE07C,GAAKpsD,EAAE2pB,GACjB,OAAOjZ,CACX,EACA/P,OAAOC,eAAeC,EAAS,aAAc,CAAEpC,OAAO,IACtD,IAAIu7Q,EAA+B,WAC/B,SAASA,EAAc9hQ,EAAQ07Q,EAAiB1Z,GAC5Cx4Q,KAAKmJ,WAAY,EACjBnJ,KAAKmyR,QAAU,GACfnyR,KAAKoyR,wBAAyB,EAC9BpyR,KAAKkyR,gBAAkBA,GAAoC,MAC3DlyR,KAAKwW,OAASA,EACdxW,KAAKw4Q,2BAA6BA,GAA0DF,EAAc6C,iCAC9G,CAiEA,OAhEA7C,EAAcp4Q,UAAUw4Q,WAAa,WACjC,OAAO14Q,KAAKmyR,OAChB,EACA7Z,EAAcp4Q,UAAUiN,QAAU,WAC9BnN,KAAKmJ,WAAY,CACrB,EACAmvQ,EAAcp4Q,UAAUmyR,cAAgB,SAAUzV,GAC9C58Q,KAAKmyR,QAAUnyR,KAAKmyR,QAAQ9vR,QAAO,SAAUiwR,GAAa,OAAOA,IAAc1V,CAAQ,IACvF58Q,KAAKuyR,aACT,EACAja,EAAcp4Q,UAAUsyR,4BAA8B,WAClD,OAAOxyR,KAAKkyR,eAChB,EACA5Z,EAAcp4Q,UAAU48Q,iBAAmB,SAAUF,EAAQX,EAAgBrpM,GACzE5yE,KAAKmyR,QAAU1G,EAAezrR,KAAKmyR,QAAS,CAACvV,IAC7C58Q,KAAKyyR,gBAAgBxW,EAAgBrpM,GACrC5yE,KAAKuyR,aACT,EACAja,EAAcp4Q,UAAU8xR,kBAAoB,SAAUP,EAAWiB,GAC7D1yR,KAAKmyR,QAAQnyR,KAAKmyR,QAAQ5wR,QAAQkwR,IAAciB,EAChD1yR,KAAKuyR,aACT,EACAja,EAAcp4Q,UAAUqyR,YAAc,WAClC,IAAIloR,EAAQrK,KACRA,KAAKoyR,yBAGT5rR,YAAW,WACF6D,EAAMlB,WACPkB,EAAMmM,OAAOm8Q,aAAY,WACrBtoR,EAAM+nR,wBAAyB,CACnC,GAER,IACApyR,KAAKoyR,wBAAyB,EAClC,EACA9Z,EAAcp4Q,UAAUuyR,gBAAkB,SAAUxW,EAAgBrpM,EAASggN,GACzE,IAAIvoR,EAAQrK,KAGZ,QAFkB,IAAd4yR,IAAwBA,EAAYrrR,KAAKq1F,OAEzC58F,KAAKmJ,UACLypE,EAAQ,WAGZ,GAAIqpM,EAAeqB,WACf1qM,EAAQqpM,OAEP,CACD,GAAI10Q,KAAKq1F,MAAQg2L,GAAa5yR,KAAKw4Q,6BAA+Bx4Q,KAAKoyR,uBAGnE,OAAInW,EAAekB,mBACfvqM,EAAQqpM,QAGZp4Q,QAAQ0H,MAAM,6BAA+B0wQ,EAAe4W,wBAA0B,wBAA0B7yR,KAAKw4Q,2BAA6B,MAGtJjyQ,OAAOC,YAAW,WACd6D,EAAMooR,gBAAgBxW,EAAgBrpM,EAASggN,EACnD,GACJ,CACJ,EACAta,EAAc6C,kCAAoC,IAC3C7C,CACX,CA1EmC,GA2EnCn5Q,EAAQm5Q,cAAgBA,mCCnFxB,IAAItsP,EAAahsB,MAAQA,KAAKgsB,WAAe,WACzC,IAAIC,EAAgB,SAAUnd,EAAGvQ,GAI7B,OAHA0tB,EAAgBhtB,OAAOitB,gBAClB,CAAEC,UAAW,cAAgBtrB,OAAS,SAAUiO,EAAGvQ,GAAKuQ,EAAEqd,UAAY5tB,CAAG,GAC1E,SAAUuQ,EAAGvQ,GAAK,IAAK,IAAIgG,KAAKhG,EAAOA,EAAEkE,eAAe8B,KAAIuK,EAAEvK,GAAKhG,EAAEgG,GAAI,EACtE0nB,EAAcnd,EAAGvQ,EAC5B,EACA,OAAO,SAAUuQ,EAAGvQ,GAEhB,SAAS6tB,IAAOpsB,KAAK0B,YAAcoN,CAAG,CADtCmd,EAAcnd,EAAGvQ,GAEjBuQ,EAAE5O,UAAkB,OAAN3B,EAAaU,OAAOotB,OAAO9tB,IAAM6tB,EAAGlsB,UAAY3B,EAAE2B,UAAW,IAAIksB,EACnF,CACJ,CAZ6C,GAa7CntB,OAAOC,eAAeC,EAAS,aAAc,CAAEpC,OAAO,IACtD,IAKIygR,EAAgC,SAAU/wP,GAE1C,SAAS+wP,EAAevB,EAAgB5D,EAAexf,GACnD,IAAIxuP,EAAQoiB,EAAO1mB,KAAK/F,OAASA,KAMjC,OALAqK,EAAMuyQ,OAAS,KACfvyQ,EAAM4xQ,eAAiBA,EACvB5xQ,EAAMguQ,cAAgBA,EACtBhuQ,EAAMwuP,cAAgBA,EACtBxuP,EAAMyoR,mBAAqBzoR,EAAM0oR,YAAY1oR,EAAM4xQ,gBAC5C5xQ,CACX,CAkFA,OA3FA2hB,EAAUwxP,EAAgB/wP,GAU1B+wP,EAAet9Q,UAAUgjE,OAAS,WAC9B,OAAOljE,KAAKo8Q,cAChB,EACAoB,EAAet9Q,UAAUiN,QAAU,WAI/B,OAHInN,KAAKy8Q,mBAA8D,mBAAlCz8Q,KAAKy8Q,kBAAkBtvQ,SACxDnN,KAAKy8Q,kBAAkBtvQ,UAEpBnN,KAAKq4Q,cAAcga,cAAcryR,KAAK48Q,OACjD,EACAY,EAAet9Q,UAAUm8Q,oBAAsB,SAAUrzQ,GACrD,IAAIuvQ,EAA2Bv4Q,KAAKq4Q,cAAcma,8BAC9CpW,EAAiBzyP,SAASC,cAAc2uP,GAA4B,OAKxE,OAJA6D,EAAexhN,UAAU7pD,IAAI,sBAG7B/H,EAAOgqR,eAAiB5W,EACjBA,CACX,EACAoB,EAAet9Q,UAAUw8Q,kCAAoC,WACzD,IAAIryQ,EAAQrK,KACPA,KAAKy8Q,oBAGNz8Q,KAAKy8Q,kBAAkBwW,wBAA0BjzR,KAAKy8Q,kBAAkBwW,0BACxEh0R,OAAO0wB,OAAO3vB,KAAKo8Q,eAAe9jN,MAAOt4D,KAAKy8Q,kBAAkBwW,0BAEhEjzR,KAAKy8Q,kBAAkByW,0BAA4BlzR,KAAKy8Q,kBAAkByW,4BAC7ClzR,KAAKy8Q,kBAAkByW,2BAC7Bn0R,SAAQ,SAAU6uE,GAAa,OAAOvjE,EAAM+xQ,eAAexhN,UAAU7pD,IAAI68D,EAAY,IAEpH,EACA4vM,EAAet9Q,UAAUq9Q,2BAA6B,WAElD,OAAOv9Q,KAAKo8Q,eAAe+W,kBAAoB,GAAKnzR,KAAKo8Q,eAAe1jM,WAAWt7E,OAAS,CAChG,EACAogR,EAAet9Q,UAAU8rL,8BAAgC,WACrD,OAAOhsL,KAAKy8Q,iBAChB,EACAe,EAAet9Q,UAAUs8Q,qBAAuB,WAC5C,OAAOx8Q,KAAK8yR,kBAChB,EACAtV,EAAet9Q,UAAU2yR,sBAAwB,WAC7C,OAAO7yR,KAAKi8Q,eAAex2Q,IAC/B,EACA+3Q,EAAet9Q,UAAUkzR,YAAc,WACnC,OAAOpzR,KAAKqzR,YAAc34P,OAAOy1P,IAAI,cAAgB,KACzD,EACA3S,EAAet9Q,UAAUmzR,UAAY,WACjC,MAAyB,oBAAX34P,QAAyBA,OAAOy1P,GAClD,EACA3S,EAAet9Q,UAAU6yR,YAAc,SAAUn7M,GAC7C,MAA6B,oBAAdA,KAA8BA,EAAU13E,WAAa03E,EAAU13E,UAAU+vR,mBAC3D,kBAAdr4M,GAA0BA,EAAUs4M,WAAalwR,KAAKozR,aACzE,EACA5V,EAAet9Q,UAAUi5P,UAAY,SAAU1zP,GAC3C,IAAI6tR,EAA6BtzR,KAAKgsL,gCACtC,QAAUsnG,GAAmE,OAArCA,EAA2B7tR,IAC/DzF,KAAKg9Q,wBAAwBv3Q,EACrC,EACA+3Q,EAAet9Q,UAAUk5P,WAAa,SAAU3zP,EAAMuB,GAClD,IAAIqD,EAAQrK,KACRszR,EAA6BtzR,KAAKgsL,gCACtC,GAAIhsL,KAAKw8Q,uBACL,OAAOx8Q,KAAKi9Q,eAAex3Q,EAAQuB,GAAQA,EAAK,GAAKA,EAAK,GAAK,CAAC,GAE/D,GAAQssR,EAAR,CAKL,IAAIrB,EAASqB,EAA2B7tR,GACxC,OAAMwsR,EACKA,EAAOjsR,MAAMstR,EAA4BtsR,GAEhDhH,KAAKg9Q,wBAAwBv3Q,GACtBzF,KAAKi9Q,eAAex3Q,EAAQuB,GAAQA,EAAK,GAAKA,EAAK,GAAK,CAAC,QADpE,CALA,CAFIR,YAAW,WAAc,OAAO6D,EAAM+uP,WAAW3zP,EAAMuB,EAAO,GAUtE,EACAw2Q,EAAet9Q,UAAU+4P,UAAY,SAAUxzP,EAAM7E,GACjDZ,KAAKyF,GAAQ7E,CACjB,EACO48Q,CACX,CA7FoC,EAJhC,WACA,IAiGJr+Q,EAAQq+Q,eAAiBA,qCCjHzB,IAAIxxP,EAAahsB,MAAQA,KAAKgsB,WAAe,WACzC,IAAIC,EAAgB,SAAUnd,EAAGvQ,GAI7B,OAHA0tB,EAAgBhtB,OAAOitB,gBAClB,CAAEC,UAAW,cAAgBtrB,OAAS,SAAUiO,EAAGvQ,GAAKuQ,EAAEqd,UAAY5tB,CAAG,GAC1E,SAAUuQ,EAAGvQ,GAAK,IAAK,IAAIgG,KAAKhG,EAAOA,EAAEkE,eAAe8B,KAAIuK,EAAEvK,GAAKhG,EAAEgG,GAAI,EACtE0nB,EAAcnd,EAAGvQ,EAC5B,EACA,OAAO,SAAUuQ,EAAGvQ,GAEhB,SAAS6tB,IAAOpsB,KAAK0B,YAAcoN,CAAG,CADtCmd,EAAcnd,EAAGvQ,GAEjBuQ,EAAE5O,UAAkB,OAAN3B,EAAaU,OAAOotB,OAAO9tB,IAAM6tB,EAAGlsB,UAAY3B,EAAE2B,UAAW,IAAIksB,EACnF,CACJ,CAZ6C,GAazCsrP,EAAmB13Q,MAAQA,KAAK03Q,iBAAoB,SAAUrgB,GAC9D,OAAQA,GAAOA,EAAIyf,WAAczf,EAAM,CAAE,QAAWA,EACxD,EACAp4P,OAAOC,eAAeC,EAAS,aAAc,CAAEpC,OAAO,IACtD,IAAI46Q,EAAsBX,EAAQ,MAC9Buc,EAAsB7b,EAAgBV,EAAQ,OAC9Cwc,EAAuB9b,EAAgBV,EAAQ,OAC/CgC,EAAyC,SAAUvsP,GAEnD,SAASusP,EAAwBvvI,GAC7B,IAAIp/H,EAAQoiB,EAAO1mB,KAAK/F,OAASA,KAOjC,OANAqK,EAAMo8G,oBAAsB,CACxB5B,oBAAqB0uK,EAAoB9b,QACzC3yJ,mBAAoByuK,EAAoB9b,QACxCgc,qBAAsBD,EAAqB/b,SAE/CptQ,EAAMo/H,QAAUA,EACTp/H,CACX,CAeA,OAzBA2hB,EAAUgtP,EAAyBvsP,GAWnCusP,EAAwB94Q,UAAUgnH,mBAAqB,SAAUzhH,GAC7D,GAAKzF,KAAKypI,QAGV,OAAOzpI,KAAKymH,oBAAoBhhH,EACpC,EACAuzQ,EAAwB94Q,UAAUknH,qBAAuB,SAAUnL,GAC/D,IAAKA,EACD,OAAO,EAEX,IAAI/7G,EAAY+7G,EAAK/7G,UAErB,QADeA,GAAa,WAAYA,EAE5C,EACO84Q,CACX,CA3B6C,CA2B3CrB,EAAoBzlC,2BACtB/yO,EAAQ65Q,wBAA0BA,kBClDlC75Q,EAAQg4Q,YAAc,EAAtBh4Q,MAAAA,YACAA,EAAAA,MAAAA,aACAA,EAAAA,MAAAA,4BACAA,EAAAA,MAAAA,6BCHAuU,EAAOvU,QAAU,EAAjBuU,kCCEA,IAAIggR,EAAQ1c,EAAQ,MAChB2c,EAAS3c,EAAQ,MACjB4c,EAAU5c,EAAQ,MAClB6c,EAAW7c,EAAQ,MACnB8c,EAAgB9c,EAAQ,MACxB+c,EAAe/c,EAAQ,MACvBgd,EAAkBhd,EAAQ,KAC1Bid,EAAcjd,EAAQ,KACtBkd,EAAuBld,EAAQ,MAC/Bmd,EAASnd,EAAQ,MAErBtjQ,EAAOvU,QAAU,SAAoBsnF,GACnC,OAAO,IAAI2tM,SAAQ,SAA4BxhN,EAASyhN,GACtD,IAGIC,EAHAC,EAAc9tM,EAAOvjF,KACrBsxR,EAAiB/tM,EAAOguM,QACxBC,EAAejuM,EAAOiuM,aAE1B,SAAS55P,IACH2rD,EAAOkuM,aACTluM,EAAOkuM,YAAYC,YAAYN,GAG7B7tM,EAAOouM,QACTpuM,EAAOouM,OAAO7jR,oBAAoB,QAASsjR,EAE/C,CAEIZ,EAAMoB,WAAWP,WACZC,EAAe,gBAGxB,IAAIO,EAAU,IAAI/4C,eAGlB,GAAIv1J,EAAOuuM,KAAM,CACf,IAAIC,EAAWxuM,EAAOuuM,KAAKC,UAAY,GACnCC,EAAWzuM,EAAOuuM,KAAKE,SAAWC,SAASC,mBAAmB3uM,EAAOuuM,KAAKE,WAAa,GAC3FV,EAAea,cAAgB,SAAWC,KAAKL,EAAW,IAAMC,EAClE,CAEA,IAAIK,EAAWzB,EAAcrtM,EAAO+uM,QAAS/uM,EAAOk1J,KAMpD,SAAS85C,IACP,GAAKV,EAAL,CAIA,IAAIW,EAAkB,0BAA2BX,EAAUhB,EAAagB,EAAQY,yBAA2B,KAGvGt5C,EAAW,CACbn5O,KAHkBwxR,GAAiC,SAAjBA,GAA6C,SAAjBA,EACvCK,EAAQ14C,SAA/B04C,EAAQz4C,aAGRlqK,OAAQ2iN,EAAQ3iN,OAChBwjN,WAAYb,EAAQa,WACpBnB,QAASiB,EACTjvM,OAAQA,EACRsuM,QAASA,GAGXpB,GAAO,SAAkB52R,GACvB61E,EAAQ71E,GACR+9B,GACF,IAAG,SAAiB+6P,GAClBxB,EAAOwB,GACP/6P,GACF,GAAGuhN,GAGH04C,EAAU,IAvBV,CAwBF,CAmEA,GAnGAA,EAAQ17O,KAAKotC,EAAOwrM,OAAO/5P,cAAe27P,EAAS0B,EAAU9uM,EAAOz9E,OAAQy9E,EAAOqvM,mBAAmB,GAGtGf,EAAQhuR,QAAU0/E,EAAO1/E,QA+BrB,cAAeguR,EAEjBA,EAAQU,UAAYA,EAGpBV,EAAQpe,mBAAqB,WACtBoe,GAAkC,IAAvBA,EAAQne,aAQD,IAAnBme,EAAQ3iN,QAAkB2iN,EAAQgB,aAAwD,IAAzChB,EAAQgB,YAAYx0R,QAAQ,WAKjFiF,WAAWivR,EACb,EAIFV,EAAQiB,QAAU,WACXjB,IAILV,EAAOJ,EAAY,kBAAmBxtM,EAAQ,eAAgBsuM,IAG9DA,EAAU,KACZ,EAGAA,EAAQkB,QAAU,WAGhB5B,EAAOJ,EAAY,gBAAiBxtM,EAAQ,KAAMsuM,IAGlDA,EAAU,IACZ,EAGAA,EAAQmB,UAAY,WAClB,IAAIC,EAAsB1vM,EAAO1/E,QAAU,cAAgB0/E,EAAO1/E,QAAU,cAAgB,mBACxFqvR,EAAe3vM,EAAO2vM,cAAgBlC,EACtCztM,EAAO0vM,sBACTA,EAAsB1vM,EAAO0vM,qBAE/B9B,EAAOJ,EACLkC,EACA1vM,EACA2vM,EAAaC,oBAAsB,YAAc,eACjDtB,IAGFA,EAAU,IACZ,EAKIrB,EAAM4C,uBAAwB,CAEhC,IAAIC,GAAa9vM,EAAO+vM,iBAAmBxC,EAAgBuB,KAAc9uM,EAAOgwM,eAC9E7C,EAAQ8C,KAAKjwM,EAAOgwM,qBACpBj5R,EAEE+4R,IACF/B,EAAe/tM,EAAOkwM,gBAAkBJ,EAE5C,CAGI,qBAAsBxB,GACxBrB,EAAM30R,QAAQy1R,GAAgB,SAA0B1uR,EAAK9E,GAChC,qBAAhBuzR,GAAqD,iBAAtBvzR,EAAIg3B,qBAErCw8P,EAAexzR,GAGtB+zR,EAAQ6B,iBAAiB51R,EAAK8E,EAElC,IAIG4tR,EAAMmD,YAAYpwM,EAAO+vM,mBAC5BzB,EAAQyB,kBAAoB/vM,EAAO+vM,iBAIjC9B,GAAiC,SAAjBA,IAClBK,EAAQL,aAAejuM,EAAOiuM,cAIS,oBAA9BjuM,EAAOqwM,oBAChB/B,EAAQlkR,iBAAiB,WAAY41E,EAAOqwM,oBAIP,oBAA5BrwM,EAAOswM,kBAAmChC,EAAQiC,QAC3DjC,EAAQiC,OAAOnmR,iBAAiB,WAAY41E,EAAOswM,mBAGjDtwM,EAAOkuM,aAAeluM,EAAOouM,UAG/BP,EAAa,SAAS5oN,GACfqpN,IAGLV,GAAQ3oN,GAAWA,GAAUA,EAAOp6D,KAAQ,IAAI6iR,EAAO,YAAczoN,GACrEqpN,EAAQvrQ,QACRurQ,EAAU,KACZ,EAEAtuM,EAAOkuM,aAAeluM,EAAOkuM,YAAYsC,UAAU3C,GAC/C7tM,EAAOouM,SACTpuM,EAAOouM,OAAOqC,QAAU5C,IAAe7tM,EAAOouM,OAAOhkR,iBAAiB,QAASyjR,KAI9EC,IACHA,EAAc,MAIhBQ,EAAQ54C,KAAKo4C,EACf,GACF,8BCjNA,IAAIb,EAAQ1c,EAAQ,MAChBzsQ,EAAOysQ,EAAQ,MACfmgB,EAAQngB,EAAQ,MAChBogB,EAAcpgB,EAAQ,MA4B1B,IAAIqgB,EAnBJ,SAASC,EAAeC,GACtB,IAAItwR,EAAU,IAAIkwR,EAAMI,GACpBvrK,EAAWzhH,EAAK4sR,EAAMj3R,UAAU60R,QAAS9tR,GAa7C,OAVAysR,EAAM8D,OAAOxrK,EAAUmrK,EAAMj3R,UAAW+G,GAGxCysR,EAAM8D,OAAOxrK,EAAU/kH,GAGvB+kH,EAAS3/F,OAAS,SAAgBorQ,GAChC,OAAOH,EAAeF,EAAYG,EAAeE,GACnD,EAEOzrK,CACT,CAGYsrK,CA3BGtgB,EAAQ,OA8BvBqgB,EAAMF,MAAQA,EAGdE,EAAMlD,OAASnd,EAAQ,MACvBqgB,EAAMK,YAAc1gB,EAAQ,MAC5BqgB,EAAMM,SAAW3gB,EAAQ,MACzBqgB,EAAMO,QAAU5gB,EAAAA,MAAAA,QAGhBqgB,EAAM3kN,IAAM,SAAaC,GACvB,OAAOyhN,QAAQ1hN,IAAIC,EACrB,EACA0kN,EAAMQ,OAAS7gB,EAAQ,MAGvBqgB,EAAMS,aAAe9gB,EAAQ,MAE7BtjQ,EAAOvU,QAAUk4R,EAGjB3jR,EAAOvU,QAAPuU,QAAyB2jR,yBChDzB,SAASlD,EAAO1xN,GACdziE,KAAKyiE,QAAUA,CACjB,CAEA0xN,EAAOj0R,UAAU5C,SAAW,WAC1B,MAAO,UAAY0C,KAAKyiE,QAAU,KAAOziE,KAAKyiE,QAAU,GAC1D,EAEA0xN,EAAOj0R,UAAU63R,YAAa,EAE9BrkR,EAAOvU,QAAUg1R,+BChBjB,IAAIA,EAASnd,EAAQ,MAQrB,SAAS0gB,EAAYM,GACnB,GAAwB,oBAAbA,EACT,MAAM,IAAIj9P,UAAU,gCAGtB,IAAIk9P,EAEJj4R,KAAK+yE,QAAU,IAAIqhN,SAAQ,SAAyBxhN,GAClDqlN,EAAiBrlN,CACnB,IAEA,IAAIslN,EAAQl4R,KAGZA,KAAK+yE,QAAQhQ,MAAK,SAAS2I,GACzB,GAAKwsN,EAAMC,WAAX,CAEA,IAAI93R,EACA82O,EAAI+gD,EAAMC,WAAW/6R,OAEzB,IAAKiD,EAAI,EAAGA,EAAI82O,EAAG92O,IACjB63R,EAAMC,WAAW93R,GAAGqrE,GAEtBwsN,EAAMC,WAAa,IARU,CAS/B,IAGAn4R,KAAK+yE,QAAQhQ,KAAO,SAASq1N,GAC3B,IAAIC,EAEAtlN,EAAU,IAAIqhN,SAAQ,SAASxhN,GACjCslN,EAAMjB,UAAUrkN,GAChBylN,EAAWzlN,CACb,IAAG7P,KAAKq1N,GAMR,OAJArlN,EAAQrH,OAAS,WACfwsN,EAAMtD,YAAYyD,EACpB,EAEOtlN,CACT,EAEAilN,GAAS,SAAgBv1N,GACnBy1N,EAAMjkR,SAKVikR,EAAMjkR,OAAS,IAAIkgR,EAAO1xN,GAC1Bw1N,EAAeC,EAAMjkR,QACvB,GACF,CAKAyjR,EAAYx3R,UAAUo4R,iBAAmB,WACvC,GAAIt4R,KAAKiU,OACP,MAAMjU,KAAKiU,MAEf,EAMAyjR,EAAYx3R,UAAU+2R,UAAY,SAAmBnmR,GAC/C9Q,KAAKiU,OACPnD,EAAS9Q,KAAKiU,QAIZjU,KAAKm4R,WACPn4R,KAAKm4R,WAAWn5R,KAAK8R,GAErB9Q,KAAKm4R,WAAa,CAACrnR,EAEvB,EAMA4mR,EAAYx3R,UAAU00R,YAAc,SAAqB9jR,GACvD,GAAK9Q,KAAKm4R,WAAV,CAGA,IAAIp3R,EAAQf,KAAKm4R,WAAW52R,QAAQuP,IACrB,IAAX/P,GACFf,KAAKm4R,WAAW91Q,OAAOthB,EAAO,EAHhC,CAKF,EAMA22R,EAAY51R,OAAS,WACnB,IAAI4pE,EAIJ,MAAO,CACLwsN,MAJU,IAAIR,GAAY,SAAkB3oR,GAC5C28D,EAAS38D,CACX,IAGE28D,OAAQA,EAEZ,EAEAh4D,EAAOvU,QAAUu4R,yBCpHjBhkR,EAAOvU,QAAU,SAAkBpC,GACjC,SAAUA,IAASA,EAAMg7R,WAC3B,+BCFA,IAAIrE,EAAQ1c,EAAQ,MAChB6c,EAAW7c,EAAQ,MACnBuhB,EAAqBvhB,EAAQ,MAC7BwhB,EAAkBxhB,EAAQ,MAC1BogB,EAAcpgB,EAAQ,MACtByhB,EAAYzhB,EAAQ,MAEpB0hB,EAAaD,EAAUC,WAM3B,SAASvB,EAAMM,GACbz3R,KAAK24R,SAAWlB,EAChBz3R,KAAK44R,aAAe,CAClB7D,QAAS,IAAIwD,EACbl8C,SAAU,IAAIk8C,EAElB,CAOApB,EAAMj3R,UAAU60R,QAAU,SAAiB8D,EAAapyM,GAG3B,kBAAhBoyM,GACTpyM,EAASA,GAAU,CAAC,GACbk1J,IAAMk9C,EAEbpyM,EAASoyM,GAAe,CAAC,GAG3BpyM,EAAS2wM,EAAYp3R,KAAK24R,SAAUlyM,IAGzBwrM,OACTxrM,EAAOwrM,OAASxrM,EAAOwrM,OAAOj6P,cACrBh4B,KAAK24R,SAAS1G,OACvBxrM,EAAOwrM,OAASjyR,KAAK24R,SAAS1G,OAAOj6P,cAErCyuD,EAAOwrM,OAAS,MAGlB,IAAImE,EAAe3vM,EAAO2vM,kBAEL54R,IAAjB44R,GACFqC,EAAUK,cAAc1C,EAAc,CACpC2C,kBAAmBL,EAAWtC,aAAasC,EAAWM,SACtDC,kBAAmBP,EAAWtC,aAAasC,EAAWM,SACtD3C,oBAAqBqC,EAAWtC,aAAasC,EAAWM,WACvD,GAIL,IAAIE,EAA0B,GAC1BC,GAAiC,EACrCn5R,KAAK44R,aAAa7D,QAAQh2R,SAAQ,SAAoCq6R,GACjC,oBAAxBA,EAAYC,UAA0D,IAAhCD,EAAYC,QAAQ5yM,KAIrE0yM,EAAiCA,GAAkCC,EAAYE,YAE/EJ,EAAwBK,QAAQH,EAAYI,UAAWJ,EAAYK,UACrE,IAEA,IAKI1mN,EALA2mN,EAA2B,GAO/B,GANA15R,KAAK44R,aAAav8C,SAASt9O,SAAQ,SAAkCq6R,GACnEM,EAAyB16R,KAAKo6R,EAAYI,UAAWJ,EAAYK,SACnE,KAIKN,EAAgC,CACnC,IAAIQ,EAAQ,CAACnB,OAAiBh7R,GAM9B,IAJAqD,MAAMX,UAAUq5R,QAAQvzR,MAAM2zR,EAAOT,GACrCS,EAAQA,EAAM3uR,OAAO0uR,GAErB3mN,EAAUqhN,QAAQxhN,QAAQ6T,GACnBkzM,EAAMv8R,QACX21E,EAAUA,EAAQhQ,KAAK42N,EAAM90R,QAAS80R,EAAM90R,SAG9C,OAAOkuE,CACT,CAIA,IADA,IAAI6mN,EAAYnzM,EACTyyM,EAAwB97R,QAAQ,CACrC,IAAIy8R,EAAcX,EAAwBr0R,QACtCi1R,EAAaZ,EAAwBr0R,QACzC,IACE+0R,EAAYC,EAAYD,EAC1B,CAAE,MAAOruR,GACPuuR,EAAWvuR,GACX,KACF,CACF,CAEA,IACEwnE,EAAUylN,EAAgBoB,EAC5B,CAAE,MAAOruR,GACP,OAAO6oR,QAAQC,OAAO9oR,EACxB,CAEA,KAAOmuR,EAAyBt8R,QAC9B21E,EAAUA,EAAQhQ,KAAK22N,EAAyB70R,QAAS60R,EAAyB70R,SAGpF,OAAOkuE,CACT,EAEAokN,EAAMj3R,UAAU65R,OAAS,SAAgBtzM,GAEvC,OADAA,EAAS2wM,EAAYp3R,KAAK24R,SAAUlyM,GAC7BotM,EAASptM,EAAOk1J,IAAKl1J,EAAOz9E,OAAQy9E,EAAOqvM,kBAAkBvtR,QAAQ,MAAO,GACrF,EAGAmrR,EAAM30R,QAAQ,CAAC,SAAU,MAAO,OAAQ,YAAY,SAA6BkzR,GAE/EkF,EAAMj3R,UAAU+xR,GAAU,SAASt2C,EAAKl1J,GACtC,OAAOzmF,KAAK+0R,QAAQqC,EAAY3wM,GAAU,CAAC,EAAG,CAC5CwrM,OAAQA,EACRt2C,IAAKA,EACLz4O,MAAOujF,GAAU,CAAC,GAAGvjF,OAEzB,CACF,IAEAwwR,EAAM30R,QAAQ,CAAC,OAAQ,MAAO,UAAU,SAA+BkzR,GAErEkF,EAAMj3R,UAAU+xR,GAAU,SAASt2C,EAAKz4O,EAAMujF,GAC5C,OAAOzmF,KAAK+0R,QAAQqC,EAAY3wM,GAAU,CAAC,EAAG,CAC5CwrM,OAAQA,EACRt2C,IAAKA,EACLz4O,KAAMA,IAEV,CACF,IAEAwQ,EAAOvU,QAAUg4R,+BCjJjB,IAAIzD,EAAQ1c,EAAQ,MAEpB,SAASuhB,IACPv4R,KAAKg6R,SAAW,EAClB,CAUAzB,EAAmBr4R,UAAU+5R,IAAM,SAAaT,EAAWC,EAAU5uQ,GAOnE,OANA7qB,KAAKg6R,SAASh7R,KAAK,CACjBw6R,UAAWA,EACXC,SAAUA,EACVH,cAAazuQ,GAAUA,EAAQyuQ,YAC/BD,QAASxuQ,EAAUA,EAAQwuQ,QAAU,OAEhCr5R,KAAKg6R,SAAS58R,OAAS,CAChC,EAOAm7R,EAAmBr4R,UAAUg6R,MAAQ,SAAevnP,GAC9C3yC,KAAKg6R,SAASrnP,KAChB3yC,KAAKg6R,SAASrnP,GAAM,KAExB,EAUA4lP,EAAmBr4R,UAAUnB,QAAU,SAAiB8sB,GACtD6nQ,EAAM30R,QAAQiB,KAAKg6R,UAAU,SAAwB9vO,GACzC,OAANA,GACFr+B,EAAGq+B,EAEP,GACF,EAEAx2C,EAAOvU,QAAUo5R,+BCnDjB,IAAI4B,EAAgBnjB,EAAQ,MACxBojB,EAAcpjB,EAAQ,MAW1BtjQ,EAAOvU,QAAU,SAAuBq2R,EAAS6E,GAC/C,OAAI7E,IAAY2E,EAAcE,GACrBD,EAAY5E,EAAS6E,GAEvBA,CACT,8BCjBA,IAAIC,EAAetjB,EAAQ,MAY3BtjQ,EAAOvU,QAAU,SAAqBsjE,EAASgkB,EAAQqnF,EAAMinH,EAAS14C,GACpE,IAAI9wO,EAAQ,IAAItB,MAAMw4D,GACtB,OAAO63N,EAAa/uR,EAAOk7E,EAAQqnF,EAAMinH,EAAS14C,EACpD,+BCfA,IAAIq3C,EAAQ1c,EAAQ,MAChBujB,EAAgBvjB,EAAQ,MACxB2gB,EAAW3gB,EAAQ,MACnB2hB,EAAW3hB,EAAQ,MACnBmd,EAASnd,EAAQ,MAKrB,SAASwjB,EAA6B/zM,GAKpC,GAJIA,EAAOkuM,aACTluM,EAAOkuM,YAAY2D,mBAGjB7xM,EAAOouM,QAAUpuM,EAAOouM,OAAOqC,QACjC,MAAM,IAAI/C,EAAO,WAErB,CAQAzgR,EAAOvU,QAAU,SAAyBsnF,GA8BxC,OA7BA+zM,EAA6B/zM,GAG7BA,EAAOguM,QAAUhuM,EAAOguM,SAAW,CAAC,EAGpChuM,EAAOvjF,KAAOq3R,EAAcx0R,KAC1B0gF,EACAA,EAAOvjF,KACPujF,EAAOguM,QACPhuM,EAAOg0M,kBAITh0M,EAAOguM,QAAUf,EAAMgH,MACrBj0M,EAAOguM,QAAQkG,QAAU,CAAC,EAC1Bl0M,EAAOguM,QAAQhuM,EAAOwrM,SAAW,CAAC,EAClCxrM,EAAOguM,SAGTf,EAAM30R,QACJ,CAAC,SAAU,MAAO,OAAQ,OAAQ,MAAO,QAAS,WAClD,SAA2BkzR,UAClBxrM,EAAOguM,QAAQxC,EACxB,KAGYxrM,EAAOm0M,SAAWjC,EAASiC,SAE1Bn0M,GAAQ1jB,MAAK,SAA6Bs5K,GAWvD,OAVAm+C,EAA6B/zM,GAG7B41J,EAASn5O,KAAOq3R,EAAcx0R,KAC5B0gF,EACA41J,EAASn5O,KACTm5O,EAASo4C,QACThuM,EAAOo0M,mBAGFx+C,CACT,IAAG,SAA4BpoO,GAe7B,OAdK0jR,EAAS1jR,KACZumR,EAA6B/zM,GAGzBxyE,GAAUA,EAAOooO,WACnBpoO,EAAOooO,SAASn5O,KAAOq3R,EAAcx0R,KACnC0gF,EACAxyE,EAAOooO,SAASn5O,KAChB+Q,EAAOooO,SAASo4C,QAChBhuM,EAAOo0M,qBAKNzG,QAAQC,OAAOpgR,EACxB,GACF,yBC1EAP,EAAOvU,QAAU,SAAsBoM,EAAOk7E,EAAQqnF,EAAMinH,EAAS14C,GA6BnE,OA5BA9wO,EAAMk7E,OAASA,EACXqnF,IACFviK,EAAMuiK,KAAOA,GAGfviK,EAAMwpR,QAAUA,EAChBxpR,EAAM8wO,SAAWA,EACjB9wO,EAAMusR,cAAe,EAErBvsR,EAAMuvR,OAAS,WACb,MAAO,CAELr4N,QAASziE,KAAKyiE,QACdh9D,KAAMzF,KAAKyF,KAEXu+D,YAAahkE,KAAKgkE,YAClBwC,OAAQxmE,KAAKwmE,OAEbklM,SAAU1rQ,KAAK0rQ,SACfqvB,WAAY/6R,KAAK+6R,WACjBC,aAAch7R,KAAKg7R,aACnBC,MAAOj7R,KAAKi7R,MAEZx0M,OAAQzmF,KAAKymF,OACbqnF,KAAM9tK,KAAK8tK,KACX17F,OAAQpyE,KAAKq8O,UAAYr8O,KAAKq8O,SAASjqK,OAASpyE,KAAKq8O,SAASjqK,OAAS,KAE3E,EACO7mE,CACT,+BCxCA,IAAImoR,EAAQ1c,EAAQ,MAUpBtjQ,EAAOvU,QAAU,SAAqB+7R,EAASC,GAE7CA,EAAUA,GAAW,CAAC,EACtB,IAAI10M,EAAS,CAAC,EAEd,SAAS20M,EAAer5R,EAAQD,GAC9B,OAAI4xR,EAAM2H,cAAct5R,IAAW2xR,EAAM2H,cAAcv5R,GAC9C4xR,EAAMgH,MAAM34R,EAAQD,GAClB4xR,EAAM2H,cAAcv5R,GACtB4xR,EAAMgH,MAAM,CAAC,EAAG54R,GACd4xR,EAAM5yR,QAAQgB,GAChBA,EAAO4E,QAET5E,CACT,CAGA,SAASw5R,EAAoBjjK,GAC3B,OAAKq7J,EAAMmD,YAAYsE,EAAQ9iK,IAEnBq7J,EAAMmD,YAAYqE,EAAQ7iK,SAA/B,EACE+iK,OAAe59R,EAAW09R,EAAQ7iK,IAFlC+iK,EAAeF,EAAQ7iK,GAAO8iK,EAAQ9iK,GAIjD,CAGA,SAASkjK,EAAiBljK,GACxB,IAAKq7J,EAAMmD,YAAYsE,EAAQ9iK,IAC7B,OAAO+iK,OAAe59R,EAAW29R,EAAQ9iK,GAE7C,CAGA,SAASmjK,EAAiBnjK,GACxB,OAAKq7J,EAAMmD,YAAYsE,EAAQ9iK,IAEnBq7J,EAAMmD,YAAYqE,EAAQ7iK,SAA/B,EACE+iK,OAAe59R,EAAW09R,EAAQ7iK,IAFlC+iK,OAAe59R,EAAW29R,EAAQ9iK,GAI7C,CAGA,SAASojK,EAAgBpjK,GACvB,OAAIA,KAAQ8iK,EACHC,EAAeF,EAAQ7iK,GAAO8iK,EAAQ9iK,IACpCA,KAAQ6iK,EACVE,OAAe59R,EAAW09R,EAAQ7iK,SADpC,CAGT,CAEA,IAAIqjK,EAAW,CACb,IAAOH,EACP,OAAUA,EACV,KAAQA,EACR,QAAWC,EACX,iBAAoBA,EACpB,kBAAqBA,EACrB,iBAAoBA,EACpB,QAAWA,EACX,eAAkBA,EAClB,gBAAmBA,EACnB,QAAWA,EACX,aAAgBA,EAChB,eAAkBA,EAClB,eAAkBA,EAClB,iBAAoBA,EACpB,mBAAsBA,EACtB,WAAcA,EACd,iBAAoBA,EACpB,cAAiBA,EACjB,UAAaA,EACb,UAAaA,EACb,WAAcA,EACd,YAAeA,EACf,WAAcA,EACd,iBAAoBA,EACpB,eAAkBC,GASpB,OANA/H,EAAM30R,QAAQE,OAAOmB,KAAK86R,GAASlwR,OAAO/L,OAAOmB,KAAK+6R,KAAW,SAA4B9iK,GAC3F,IAAIqiK,EAAQgB,EAASrjK,IAASijK,EAC1BK,EAAcjB,EAAMriK,GACvBq7J,EAAMmD,YAAY8E,IAAgBjB,IAAUe,IAAqBh1M,EAAO4xC,GAAQsjK,EACnF,IAEOl1M,CACT,+BChGA,IAAIwtM,EAAcjd,EAAQ,KAS1BtjQ,EAAOvU,QAAU,SAAgByzE,EAASyhN,EAAQh4C,GAChD,IAAIu/C,EAAiBv/C,EAAS51J,OAAOm1M,eAChCv/C,EAASjqK,QAAWwpN,IAAkBA,EAAev/C,EAASjqK,QAGjEiiN,EAAOJ,EACL,mCAAqC53C,EAASjqK,OAC9CiqK,EAAS51J,OACT,KACA41J,EAAS04C,QACT14C,IAPFzpK,EAAQypK,EAUZ,+BCtBA,IAAIq3C,EAAQ1c,EAAQ,MAChB2hB,EAAW3hB,EAAQ,MAUvBtjQ,EAAOvU,QAAU,SAAuB+D,EAAMuxR,EAAS/rR,GACrD,IAAIzB,EAAUjH,MAAQ24R,EAMtB,OAJAjF,EAAM30R,QAAQ2J,GAAK,SAAmBmjB,GACpC3oB,EAAO2oB,EAAG9lB,KAAKkB,EAAS/D,EAAMuxR,EAChC,IAEOvxR,CACT,+BCnBA,IAAIwwR,EAAQ1c,EAAQ,MAChB6kB,EAAsB7kB,EAAQ,MAC9BsjB,EAAetjB,EAAQ,MACvBkd,EAAuBld,EAAQ,MAE/B8kB,EAAuB,CACzB,eAAgB,qCAGlB,SAASC,EAAsBtH,EAAS13R,IACjC22R,EAAMmD,YAAYpC,IAAYf,EAAMmD,YAAYpC,EAAQ,mBAC3DA,EAAQ,gBAAkB13R,EAE9B,CA6BA,IAAI47R,EAAW,CAEbvC,aAAclC,EAEd0G,QA/BF,WACE,IAAIA,EAQJ,OAP8B,qBAAnB5+C,gBAGmB,qBAAZ1zN,SAAuE,qBAA5CrpB,OAAOiB,UAAU5C,SAASyI,KAAKuiB,YAD1EsyQ,EAAU5jB,EAAQ,OAKb4jB,CACT,CAqBWoB,GAETvB,iBAAkB,CAAC,SAA0Bv3R,EAAMuxR,GAIjD,OAHAoH,EAAoBpH,EAAS,UAC7BoH,EAAoBpH,EAAS,gBAEzBf,EAAMoB,WAAW5xR,IACnBwwR,EAAMuI,cAAc/4R,IACpBwwR,EAAMwI,SAASh5R,IACfwwR,EAAMyI,SAASj5R,IACfwwR,EAAM0I,OAAOl5R,IACbwwR,EAAM2I,OAAOn5R,GAENA,EAELwwR,EAAM4I,kBAAkBp5R,GACnBA,EAAKq5R,OAEV7I,EAAM8I,kBAAkBt5R,IAC1B64R,EAAsBtH,EAAS,mDACxBvxR,EAAK5F,YAEVo2R,EAAM+I,SAASv5R,IAAUuxR,GAAuC,qBAA5BA,EAAQ,iBAC9CsH,EAAsBtH,EAAS,oBA1CrC,SAAyBiI,EAAUC,EAAQC,GACzC,GAAIlJ,EAAMmJ,SAASH,GACjB,IAEE,OADCC,GAAU98R,KAAKsE,OAAOu4R,GAChBhJ,EAAM9tR,KAAK82R,EACpB,CAAE,MAAOj+R,GACP,GAAe,gBAAXA,EAAEgH,KACJ,MAAMhH,CAEV,CAGF,OAAQm+R,GAAW/8R,KAAKC,WAAW48R,EACrC,CA8BaI,CAAgB55R,IAElBA,CACT,GAEA23R,kBAAmB,CAAC,SAA2B33R,GAC7C,IAAIkzR,EAAep2R,KAAKo2R,cAAgBuC,EAASvC,aAC7C2C,EAAoB3C,GAAgBA,EAAa2C,kBACjDE,EAAoB7C,GAAgBA,EAAa6C,kBACjD8D,GAAqBhE,GAA2C,SAAtB/4R,KAAK00R,aAEnD,GAAIqI,GAAsB9D,GAAqBvF,EAAMmJ,SAAS35R,IAASA,EAAK9F,OAC1E,IACE,OAAOyC,KAAKsE,MAAMjB,EACpB,CAAE,MAAOzE,GACP,GAAIs+R,EAAmB,CACrB,GAAe,gBAAXt+R,EAAEgH,KACJ,MAAM60R,EAAa77R,EAAGuB,KAAM,gBAE9B,MAAMvB,CACR,CACF,CAGF,OAAOyE,CACT,GAMA6D,QAAS,EAET0vR,eAAgB,aAChBE,eAAgB,eAEhBqG,kBAAmB,EACnBC,eAAgB,EAEhBrB,eAAgB,SAAwBxpN,GACtC,OAAOA,GAAU,KAAOA,EAAS,GACnC,EAEAqiN,QAAS,CACPkG,OAAQ,CACN,OAAU,uCAKhBjH,EAAM30R,QAAQ,CAAC,SAAU,MAAO,SAAS,SAA6BkzR,GACpE0G,EAASlE,QAAQxC,GAAU,CAAC,CAC9B,IAEAyB,EAAM30R,QAAQ,CAAC,OAAQ,MAAO,UAAU,SAA+BkzR,GACrE0G,EAASlE,QAAQxC,GAAUyB,EAAMgH,MAAMoB,EACzC,IAEApoR,EAAOvU,QAAUw5R,yBChIjBjlR,EAAOvU,QAAU,CACf45R,mBAAmB,EACnBE,mBAAmB,EACnB5C,qBAAqB,aCLvB3iR,EAAOvU,QAAU,CACf,QAAW,iCCCbuU,EAAOvU,QAAU,SAAc0sB,EAAIqxQ,GACjC,OAAO,WAEL,IADA,IAAIl2R,EAAO,IAAInG,MAAMyD,UAAUlH,QACtBiD,EAAI,EAAGA,EAAI2G,EAAK5J,OAAQiD,IAC/B2G,EAAK3G,GAAKiE,UAAUjE,GAEtB,OAAOwrB,EAAG7lB,MAAMk3R,EAASl2R,EAC3B,CACF,+BCRA,IAAI0sR,EAAQ1c,EAAQ,MAEpB,SAASmmB,EAAOr3R,GACd,OAAOsvR,mBAAmBtvR,GACxByC,QAAQ,QAAS,KACjBA,QAAQ,OAAQ,KAChBA,QAAQ,QAAS,KACjBA,QAAQ,OAAQ,KAChBA,QAAQ,QAAS,KACjBA,QAAQ,QAAS,IACrB,CASAmL,EAAOvU,QAAU,SAAkBw8O,EAAK3yO,EAAQ8sR,GAE9C,IAAK9sR,EACH,OAAO2yO,EAGT,IAAIyhD,EACJ,GAAItH,EACFsH,EAAmBtH,EAAiB9sR,QAC/B,GAAI0qR,EAAM8I,kBAAkBxzR,GACjCo0R,EAAmBp0R,EAAO1L,eACrB,CACL,IAAIisD,EAAQ,GAEZmqO,EAAM30R,QAAQiK,GAAQ,SAAmBlD,EAAK9E,GAChC,OAAR8E,GAA+B,qBAARA,IAIvB4tR,EAAM5yR,QAAQgF,GAChB9E,GAAY,KAEZ8E,EAAM,CAACA,GAGT4tR,EAAM30R,QAAQ+G,GAAK,SAAoBb,GACjCyuR,EAAM2J,OAAOp4R,GACfA,EAAIA,EAAEq4R,cACG5J,EAAM+I,SAASx3R,KACxBA,EAAIpF,KAAKC,UAAUmF,IAErBskD,EAAMvqD,KAAKm+R,EAAOn8R,GAAO,IAAMm8R,EAAOl4R,GACxC,IACF,IAEAm4R,EAAmB7zO,EAAMp+C,KAAK,IAChC,CAEA,GAAIiyR,EAAkB,CACpB,IAAIG,EAAgB5hD,EAAIp6O,QAAQ,MACT,IAAnBg8R,IACF5hD,EAAMA,EAAIj1O,MAAM,EAAG62R,IAGrB5hD,KAA8B,IAAtBA,EAAIp6O,QAAQ,KAAc,IAAM,KAAO67R,CACjD,CAEA,OAAOzhD,CACT,yBC5DAjoO,EAAOvU,QAAU,SAAqBq2R,EAASgI,GAC7C,OAAOA,EACHhI,EAAQjtR,QAAQ,OAAQ,IAAM,IAAMi1R,EAAYj1R,QAAQ,OAAQ,IAChEitR,CACN,+BCXA,IAAI9B,EAAQ1c,EAAQ,MAEpBtjQ,EAAOvU,QACLu0R,EAAM4C,uBAIK,CACLmH,MAAO,SAAeh4R,EAAM1I,EAAO2gS,EAASlzQ,EAAMmzQ,EAAQC,GACxD,IAAIC,EAAS,GACbA,EAAO7+R,KAAKyG,EAAO,IAAM2vR,mBAAmBr4R,IAExC22R,EAAMoK,SAASJ,IACjBG,EAAO7+R,KAAK,WAAa,IAAIuI,KAAKm2R,GAASK,eAGzCrK,EAAMmJ,SAASryQ,IACjBqzQ,EAAO7+R,KAAK,QAAUwrB,GAGpBkpQ,EAAMmJ,SAASc,IACjBE,EAAO7+R,KAAK,UAAY2+R,IAGX,IAAXC,GACFC,EAAO7+R,KAAK,UAGd2qB,SAASk0Q,OAASA,EAAO1yR,KAAK,KAChC,EAEAurR,KAAM,SAAcjxR,GAClB,IAAI+C,EAAQmhB,SAASk0Q,OAAOr1R,MAAM,IAAIytN,OAAO,aAAexwN,EAAO,cACnE,OAAQ+C,EAAQw1R,mBAAmBx1R,EAAM,IAAM,IACjD,EAEAgvE,OAAQ,SAAgB/xE,GACtBzF,KAAKy9R,MAAMh4R,EAAM,GAAI8B,KAAKq1F,MAAQ,MACpC,GAMK,CACL6gM,MAAO,WAAkB,EACzB/G,KAAM,WAAkB,OAAO,IAAM,EACrCl/M,OAAQ,WAAmB,0BCzCnC9jE,EAAOvU,QAAU,SAAuBw8O,GAItC,MAAO,8BAA8B99O,KAAK89O,EAC5C,+BCXA,IAAI+3C,EAAQ1c,EAAQ,MAQpBtjQ,EAAOvU,QAAU,SAAsB8+R,GACrC,OAAOvK,EAAM+I,SAASwB,KAAsC,IAAzBA,EAAQnG,YAC7C,8BCVA,IAAIpE,EAAQ1c,EAAQ,MAEpBtjQ,EAAOvU,QACLu0R,EAAM4C,uBAIH,WACC,IAEI4H,EAFAC,EAAO,kBAAkBtgS,KAAKk5D,UAAUC,WACxConO,EAAiBz0Q,SAASC,cAAc,KAS5C,SAASy0Q,EAAW1iD,GAClB,IAAI2iD,EAAO3iD,EAWX,OATIwiD,IAEFC,EAAevkO,aAAa,OAAQykO,GACpCA,EAAOF,EAAeE,MAGxBF,EAAevkO,aAAa,OAAQykO,GAG7B,CACLA,KAAMF,EAAeE,KACrBC,SAAUH,EAAeG,SAAWH,EAAeG,SAASh2R,QAAQ,KAAM,IAAM,GAChFi2R,KAAMJ,EAAeI,KACrBt1N,OAAQk1N,EAAel1N,OAASk1N,EAAel1N,OAAO3gE,QAAQ,MAAO,IAAM,GAC3Ek2R,KAAML,EAAeK,KAAOL,EAAeK,KAAKl2R,QAAQ,KAAM,IAAM,GACpEm2R,SAAUN,EAAeM,SACzBC,KAAMP,EAAeO,KACrBC,SAAiD,MAAtCR,EAAeQ,SAASj3O,OAAO,GACxCy2O,EAAeQ,SACf,IAAMR,EAAeQ,SAE3B,CAUA,OARAV,EAAYG,EAAW93R,OAAOmwC,SAAS4nP,MAQhC,SAAyBO,GAC9B,IAAIC,EAAUpL,EAAMmJ,SAASgC,GAAeR,EAAWQ,GAAcA,EACrE,OAAQC,EAAOP,WAAaL,EAAUK,UAClCO,EAAON,OAASN,EAAUM,IAChC,CACF,CAlDC,GAsDQ,WACL,OAAO,CACT,+BC/DN,IAAI9K,EAAQ1c,EAAQ,MAEpBtjQ,EAAOvU,QAAU,SAA6Bs1R,EAASsK,GACrDrL,EAAM30R,QAAQ01R,GAAS,SAAuB13R,EAAO0I,GAC/CA,IAASs5R,GAAkBt5R,EAAKyyB,gBAAkB6mQ,EAAe7mQ,gBACnEu8P,EAAQsK,GAAkBhiS,SACnB03R,EAAQhvR,GAEnB,GACF,+BCTA,IAAIiuR,EAAQ1c,EAAQ,MAIhBgoB,EAAoB,CACtB,MAAO,gBAAiB,iBAAkB,eAAgB,OAC1D,UAAW,OAAQ,OAAQ,oBAAqB,sBAChD,gBAAiB,WAAY,eAAgB,sBAC7C,UAAW,cAAe,cAgB5BtrR,EAAOvU,QAAU,SAAsBs1R,GACrC,IACIzzR,EACA8E,EACAzF,EAHAy+R,EAAS,CAAC,EAKd,OAAKrK,GAELf,EAAM30R,QAAQ01R,EAAQnxR,MAAM,OAAO,SAAgB27R,GAKjD,GAJA5+R,EAAI4+R,EAAK19R,QAAQ,KACjBP,EAAM0yR,EAAM9tR,KAAKq5R,EAAK7mQ,OAAO,EAAG/3B,IAAI23B,cACpClyB,EAAM4tR,EAAM9tR,KAAKq5R,EAAK7mQ,OAAO/3B,EAAI,IAE7BW,EAAK,CACP,GAAI89R,EAAO99R,IAAQg+R,EAAkBz9R,QAAQP,IAAQ,EACnD,OAGA89R,EAAO99R,GADG,eAARA,GACa89R,EAAO99R,GAAO89R,EAAO99R,GAAO,IAAIgK,OAAO,CAAClF,IAEzCg5R,EAAO99R,GAAO89R,EAAO99R,GAAO,KAAO8E,EAAMA,CAE3D,CACF,IAEOg5R,GAnBgBA,CAoBzB,yBC9BAprR,EAAOvU,QAAU,SAAgByB,GAC/B,OAAO,SAAckhB,GACnB,OAAOlhB,EAASoF,MAAM,KAAM8b,EAC9B,CACF,+BCxBA,IAAI81Q,EAAU5gB,EAAAA,MAAAA,QAEV0hB,EAAa,CAAC,EAGlB,CAAC,SAAU,UAAW,SAAU,WAAY,SAAU,UAAU35R,SAAQ,SAASuS,EAAMjR,GACrFq4R,EAAWpnR,GAAQ,SAAmB4tR,GACpC,cAAcA,IAAU5tR,GAAQ,KAAOjR,EAAI,EAAI,KAAO,KAAOiR,CAC/D,CACF,IAEA,IAAI6tR,EAAqB,CAAC,EAS1BzG,EAAWtC,aAAe,SAAsBqC,EAAWnlJ,EAAS7wE,GAClE,SAAS28N,EAAcxhN,EAAK/uE,GAC1B,MAAO,WAAa+oR,EAAU,0BAA6Bh6M,EAAM,IAAO/uE,GAAQ4zD,EAAU,KAAOA,EAAU,GAC7G,CAGA,OAAO,SAAS1lE,EAAO6gF,EAAKyhN,GAC1B,IAAkB,IAAd5G,EACF,MAAM,IAAIxuR,MAAMm1R,EAAcxhN,EAAK,qBAAuB01D,EAAU,OAASA,EAAU,MAczF,OAXIA,IAAY6rJ,EAAmBvhN,KACjCuhN,EAAmBvhN,IAAO,EAE1B/5E,QAAQC,KACNs7R,EACExhN,EACA,+BAAiC01D,EAAU,8CAK1CmlJ,GAAYA,EAAU17R,EAAO6gF,EAAKyhN,EAC3C,CACF,EAgCA3rR,EAAOvU,QAAU,CACf25R,cAxBF,SAAuBjuQ,EAASy0Q,EAAQC,GACtC,GAAuB,kBAAZ10Q,EACT,MAAM,IAAIkQ,UAAU,6BAItB,IAFA,IAAI36B,EAAOnB,OAAOmB,KAAKyqB,GACnBxqB,EAAID,EAAKhD,OACNiD,KAAM,GAAG,CACd,IAAIu9E,EAAMx9E,EAAKC,GACXo4R,EAAY6G,EAAO1hN,GACvB,GAAI66M,EAAJ,CACE,IAAI17R,EAAQ8tB,EAAQ+yD,GAChBp4D,OAAmBhoB,IAAVT,GAAuB07R,EAAU17R,EAAO6gF,EAAK/yD,GAC1D,IAAe,IAAXrF,EACF,MAAM,IAAIuV,UAAU,UAAY6iD,EAAM,YAAcp4D,EAGxD,MACA,IAAqB,IAAjB+5Q,EACF,MAAMt1R,MAAM,kBAAoB2zE,EAEpC,CACF,EAIE86M,WAAYA,gCC9Ed,IAAInuR,EAAOysQ,EAAQ,MAIf15Q,EAAW2B,OAAOiB,UAAU5C,SAQhC,SAASwD,EAAQgF,GACf,OAAOjF,MAAMC,QAAQgF,EACvB,CAQA,SAAS+wR,EAAY/wR,GACnB,MAAsB,qBAARA,CAChB,CAmBA,SAASm2R,EAAcn2R,GACrB,MAA8B,yBAAvBxI,EAASyI,KAAKD,EACvB,CAsDA,SAAS22R,EAAS32R,GAChB,OAAe,OAARA,GAA+B,kBAARA,CAChC,CAQA,SAASu1R,EAAcv1R,GACrB,GAA2B,oBAAvBxI,EAASyI,KAAKD,GAChB,OAAO,EAGT,IAAI5F,EAAYjB,OAAO0E,eAAemC,GACtC,OAAqB,OAAd5F,GAAsBA,IAAcjB,OAAOiB,SACpD,CAsCA,SAAS2F,EAAWC,GAClB,MAA8B,sBAAvBxI,EAASyI,KAAKD,EACvB,CAuEA,SAAS/G,EAAQsC,EAAKwqB,GAEpB,GAAY,OAARxqB,GAA+B,qBAARA,EAU3B,GALmB,kBAARA,IAETA,EAAM,CAACA,IAGLP,EAAQO,GAEV,IAAK,IAAIhB,EAAI,EAAG82O,EAAI91O,EAAIjE,OAAQiD,EAAI82O,EAAG92O,IACrCwrB,EAAG9lB,KAAK,KAAM1E,EAAIhB,GAAIA,EAAGgB,QAI3B,IAAK,IAAIL,KAAOK,EACVpC,OAAOiB,UAAUuC,eAAesD,KAAK1E,EAAKL,IAC5C6qB,EAAG9lB,KAAK,KAAM1E,EAAIL,GAAMA,EAAKK,EAIrC,CAuEAqS,EAAOvU,QAAU,CACf2B,QAASA,EACTm7R,cAAeA,EACfC,SAtSF,SAAkBp2R,GAChB,OAAe,OAARA,IAAiB+wR,EAAY/wR,IAA4B,OAApBA,EAAIpE,cAAyBm1R,EAAY/wR,EAAIpE,cAChD,oBAA7BoE,EAAIpE,YAAYw6R,UAA2Bp2R,EAAIpE,YAAYw6R,SAASp2R,EAClF,EAoSEgvR,WAlRF,SAAoBhvR,GAClB,MAA8B,sBAAvBxI,EAASyI,KAAKD,EACvB,EAiREw2R,kBAzQF,SAA2Bx2R,GAOzB,MAL4B,qBAAhB05R,aAAiCA,YAAYC,OAC9CD,YAAYC,OAAO35R,GAElBA,GAASA,EAAIy2R,QAAYN,EAAcn2R,EAAIy2R,OAGzD,EAkQEM,SA1PF,SAAkB/2R,GAChB,MAAsB,kBAARA,CAChB,EAyPEg4R,SAjPF,SAAkBh4R,GAChB,MAAsB,kBAARA,CAChB,EAgPE22R,SAAUA,EACVpB,cAAeA,EACfxE,YAAaA,EACbwG,OAlNF,SAAgBv3R,GACd,MAA8B,kBAAvBxI,EAASyI,KAAKD,EACvB,EAiNEs2R,OAzMF,SAAgBt2R,GACd,MAA8B,kBAAvBxI,EAASyI,KAAKD,EACvB,EAwMEu2R,OAhMF,SAAgBv2R,GACd,MAA8B,kBAAvBxI,EAASyI,KAAKD,EACvB,EA+LED,WAAYA,EACZs2R,SA9KF,SAAkBr2R,GAChB,OAAO22R,EAAS32R,IAAQD,EAAWC,EAAI45R,KACzC,EA6KElD,kBArKF,SAA2B12R,GACzB,MAA8B,6BAAvBxI,EAASyI,KAAKD,EACvB,EAoKEwwR,qBAzIF,WACE,OAAyB,qBAAdv/N,WAAoD,gBAAtBA,UAAU4oO,SACY,iBAAtB5oO,UAAU4oO,SACY,OAAtB5oO,UAAU4oO,WAI/B,qBAAXp5R,QACa,qBAAbojB,SAEX,EAgIE5qB,QAASA,EACT27R,MAvEF,SAASA,IACP,IAAIl1Q,EAAS,CAAC,EACd,SAASo6Q,EAAY95R,EAAK9E,GACpBq6R,EAAc71Q,EAAOxkB,KAASq6R,EAAcv1R,GAC9C0f,EAAOxkB,GAAO05R,EAAMl1Q,EAAOxkB,GAAM8E,GACxBu1R,EAAcv1R,GACvB0f,EAAOxkB,GAAO05R,EAAM,CAAC,EAAG50R,GACfhF,EAAQgF,GACjB0f,EAAOxkB,GAAO8E,EAAIY,QAElB8e,EAAOxkB,GAAO8E,CAElB,CAEA,IAAK,IAAIzF,EAAI,EAAG82O,EAAI7yO,UAAUlH,OAAQiD,EAAI82O,EAAG92O,IAC3CtB,EAAQuF,UAAUjE,GAAIu/R,GAExB,OAAOp6Q,CACT,EAsDEgyQ,OA5CF,SAAgBl5R,EAAGC,EAAG2+R,GAQpB,OAPAn+R,EAAQR,GAAG,SAAqBuH,EAAK9E,GAEjC1C,EAAE0C,GADAk8R,GAA0B,oBAARp3R,EACXyE,EAAKzE,EAAKo3R,GAEVp3R,CAEb,IACOxH,CACT,EAoCEsH,KAhKF,SAAckyB,GACZ,OAAOA,EAAIlyB,KAAOkyB,EAAIlyB,OAASkyB,EAAIvvB,QAAQ,aAAc,GAC3D,EA+JEs3R,SA7BF,SAAkB1yB,GAIhB,OAH8B,QAA1BA,EAAQtzO,WAAW,KACrBszO,EAAUA,EAAQzmQ,MAAM,IAEnBymQ,CACT,iBCnUA,OAOC,WACA,aAEA,IAAI2yB,EAAS,CAAC,EAAEr9R,eAEhB,SAASsyN,IAGR,IAFA,IAAIvqB,EAAU,GAELnqM,EAAI,EAAGA,EAAIiE,UAAUlH,OAAQiD,IAAK,CAC1C,IAAIsI,EAAMrE,UAAUjE,GACpB,GAAKsI,EAAL,CAEA,IAAIo3R,SAAiBp3R,EAErB,GAAgB,WAAZo3R,GAAoC,WAAZA,EAC3Bv1F,EAAQxrM,KAAK2J,QACP,GAAI9H,MAAMC,QAAQ6H,IACxB,GAAIA,EAAIvL,OAAQ,CACf,IAAI4iS,EAAQjrE,EAAW/uN,MAAM,KAAM2C,GAC/Bq3R,GACHx1F,EAAQxrM,KAAKghS,EAEf,OACM,GAAgB,WAAZD,EACV,GAAIp3R,EAAIrL,WAAa2B,OAAOiB,UAAU5C,SACrC,IAAK,IAAI0D,KAAO2H,EACXm3R,EAAO/5R,KAAK4C,EAAK3H,IAAQ2H,EAAI3H,IAChCwpM,EAAQxrM,KAAKgC,QAIfwpM,EAAQxrM,KAAK2J,EAAIrL,WArBD,CAwBnB,CAEA,OAAOktM,EAAQr/L,KAAK,IACrB,CAEqCuI,EAAOvU,SAC3C41N,EAAW0iD,QAAU1iD,EACrBrhN,EAAOvU,QAAU41N,QAKhB,KAFwB,EAAF,WACtB,OAAOA,CACP,UAFoB,OAEpB,YAIF,CAlDA,+BCLD,IAAIkrE,EAAUjpB,EAAQ,MAMlBkpB,EAAgB,CAClBC,mBAAmB,EACnBC,aAAa,EACbC,cAAc,EACdjlB,cAAc,EACd7pP,aAAa,EACb+uQ,iBAAiB,EACjBC,0BAA0B,EAC1BC,0BAA0B,EAC1BC,QAAQ,EACRjlB,WAAW,EACXlqQ,MAAM,GAEJovR,EAAgB,CAClBj7R,MAAM,EACNrI,QAAQ,EACR8C,WAAW,EACXygS,QAAQ,EACRC,QAAQ,EACRt8R,WAAW,EACXu8R,OAAO,GASLC,EAAe,CACjB,UAAY,EACZC,SAAS,EACT3lB,cAAc,EACd7pP,aAAa,EACbiqP,WAAW,EACXlqQ,MAAM,GAEJ0vR,EAAe,CAAC,EAIpB,SAASC,EAAWz7O,GAElB,OAAIy6O,EAAQiB,OAAO17O,GACVs7O,EAIFE,EAAax7O,EAAoB,WAAM06O,CAChD,CAXAc,EAAaf,EAAQkB,YAhBK,CACxB,UAAY,EACZ9pB,QAAQ,EACR+D,cAAc,EACd7pP,aAAa,EACbiqP,WAAW,GAYbwlB,EAAaf,EAAQmB,MAAQN,EAY7B,IAAI5hS,EAAiBD,OAAOC,eACxB25H,EAAsB55H,OAAO45H,oBAC7Bw3J,EAAwBpxR,OAAOoxR,sBAC/BphR,EAA2BhQ,OAAOgQ,yBAClCtL,EAAiB1E,OAAO0E,eACxB09R,EAAkBpiS,OAAOiB,UAsC7BwT,EAAOvU,QArCP,SAASmiS,EAAqBC,EAAiBC,EAAiBC,GAC9D,GAA+B,kBAApBD,EAA8B,CAEvC,GAAIH,EAAiB,CACnB,IAAIK,EAAqB/9R,EAAe69R,GAEpCE,GAAsBA,IAAuBL,GAC/CC,EAAqBC,EAAiBG,EAAoBD,EAE9D,CAEA,IAAIrhS,EAAOy4H,EAAoB2oK,GAE3BnR,IACFjwR,EAAOA,EAAK4K,OAAOqlR,EAAsBmR,KAM3C,IAHA,IAAIG,EAAgBV,EAAWM,GAC3BK,EAAgBX,EAAWO,GAEtBnhS,EAAI,EAAGA,EAAID,EAAKhD,SAAUiD,EAAG,CACpC,IAAIW,EAAMZ,EAAKC,GAEf,IAAKqgS,EAAc1/R,MAAUygS,IAAaA,EAAUzgS,OAAW4gS,IAAiBA,EAAc5gS,OAAW2gS,IAAiBA,EAAc3gS,IAAO,CAC7I,IAAIyM,EAAawB,EAAyBuyR,EAAiBxgS,GAE3D,IAEE9B,EAAeqiS,EAAiBvgS,EAAKyM,EACvC,CAAE,MAAOhP,GAAI,CACf,CACF,CACF,CAEA,OAAO8iS,CACT,yBC5FA,IAAIlR,EAAwBpxR,OAAOoxR,sBAC/B5tR,EAAiBxD,OAAOiB,UAAUuC,eAClCo/R,EAAmB5iS,OAAOiB,UAAUwC,qBAsDxCgR,EAAOvU,QA5CP,WACC,IACC,IAAKF,OAAO0wB,OACX,OAAO,EAMR,IAAImyQ,EAAQ,IAAI/oQ,OAAO,OAEvB,GADA+oQ,EAAM,GAAK,KACkC,MAAzC7iS,OAAO45H,oBAAoBipK,GAAO,GACrC,OAAO,EAKR,IADA,IAAIC,EAAQ,CAAC,EACJ1hS,EAAI,EAAGA,EAAI,GAAIA,IACvB0hS,EAAM,IAAMhpQ,OAAOC,aAAa34B,IAAMA,EAKvC,GAAwB,eAHXpB,OAAO45H,oBAAoBkpK,GAAOp4R,KAAI,SAAUsxB,GAC5D,OAAO8mQ,EAAM9mQ,EACd,IACW9vB,KAAK,IACf,OAAO,EAIR,IAAI62R,EAAQ,CAAC,EAIb,MAHA,uBAAuB1+R,MAAM,IAAIvE,SAAQ,SAAUkjS,GAClDD,EAAMC,GAAUA,CACjB,IAEE,yBADEhjS,OAAOmB,KAAKnB,OAAO0wB,OAAO,CAAC,EAAGqyQ,IAAQ72R,KAAK,GAMhD,CAAE,MAAO0qR,GAER,OAAO,CACR,CACD,CAEiBqM,GAAoBjjS,OAAO0wB,OAAS,SAAU5tB,EAAQD,GAKtE,IAJA,IAAI6nE,EAEAw4N,EADAC,EAtDL,SAAkBt8R,GACjB,GAAY,OAARA,QAAwBtI,IAARsI,EACnB,MAAM,IAAIi1B,UAAU,yDAGrB,OAAO97B,OAAO6G,EACf,CAgDUu8R,CAAStgS,GAGT82B,EAAI,EAAGA,EAAIv0B,UAAUlH,OAAQy7B,IAAK,CAG1C,IAAK,IAAI73B,KAFT2oE,EAAO1qE,OAAOqF,UAAUu0B,IAGnBp2B,EAAesD,KAAK4jE,EAAM3oE,KAC7BohS,EAAGphS,GAAO2oE,EAAK3oE,IAIjB,GAAIqvR,EAAuB,CAC1B8R,EAAU9R,EAAsB1mN,GAChC,IAAK,IAAItpE,EAAI,EAAGA,EAAI8hS,EAAQ/kS,OAAQiD,IAC/BwhS,EAAiB97R,KAAK4jE,EAAMw4N,EAAQ9hS,MACvC+hS,EAAGD,EAAQ9hS,IAAMspE,EAAKw4N,EAAQ9hS,IAGjC,CACD,CAEA,OAAO+hS,CACR,+BChFA,IAAIE,EAAuBtrB,EAAQ,MAEnC,SAASurB,IAAiB,CAC1B,SAASC,IAA0B,CACnCA,EAAuBC,kBAAoBF,EAE3C7uR,EAAOvU,QAAU,WACf,SAASujS,EAAKh1R,EAAO0mI,EAAU7rF,EAAe7R,EAAUisP,EAAcC,GACpE,GAAIA,IAAWN,EAAf,CAIA,IAAIzM,EAAM,IAAI5rR,MACZ,mLAKF,MADA4rR,EAAIpwR,KAAO,sBACLowR,CAPN,CAQF,CAEA,SAASgN,IACP,OAAOH,CACT,CAHAA,EAAKI,WAAaJ,EAMlB,IAAIK,EAAiB,CACnB5gR,MAAOugR,EACPM,OAAQN,EACRjnB,KAAMinB,EACNp9R,KAAMo9R,EACNl8N,OAAQk8N,EACR/jS,OAAQ+jS,EACRlpQ,OAAQkpQ,EACRrpQ,OAAQqpQ,EAERO,IAAKP,EACLQ,QAASL,EACT14Q,QAASu4Q,EACTS,YAAaT,EACbU,WAAYP,EACZvpR,KAAMopR,EACNW,SAAUR,EACVS,MAAOT,EACPU,UAAWV,EACXW,MAAOX,EACPY,MAAOZ,EAEPa,eAAgBlB,EAChBC,kBAAmBF,GAKrB,OAFAQ,EAAeY,UAAYZ,EAEpBA,CACT,kBC/CErvR,EAAOvU,QAAU63Q,EAAQ,KAARA,0BCNnBtjQ,EAAOvU,QAFoB,4ECDd,IAAIg4O,EAAE6/B,EAAQ,MAAiBp8O,EAAEo8O,EAAQ,MAAS,SAASzyQ,EAAEjG,GAAG,IAAI,IAAIC,EAAE,yDAAyDD,EAAEyQ,EAAE,EAAEA,EAAEzK,UAAUlH,OAAO2R,IAAIxQ,GAAG,WAAW62R,mBAAmB9wR,UAAUyK,IAAI,MAAM,yBAAyBzQ,EAAE,WAAWC,EAAE,gHAAgH,CAC1X,IAAI+sD,EAAE,MAAMt8C,EAAE,MAAM40R,EAAE,MAAMC,EAAE,MAAMz4O,EAAE,MAAM04O,EAAG,MAAMC,EAAG,MAAMxiN,EAAE,MAAMyiN,EAAG,MAAMC,EAAG,MAAMC,EAAG,MAAMC,EAAG,MAAMC,EAAG,MAAMC,EAAG,MAAMC,EAAG,MAAMC,EAAG,MACxI,GAAG,oBAAoB7pQ,QAAQA,OAAOy1P,IAAI,CAAC,IAAIqU,EAAE9pQ,OAAOy1P,IAAI7kO,EAAEk5O,EAAE,gBAAgBx1R,EAAEw1R,EAAE,kBAAkBZ,EAAEY,EAAE,qBAAqBX,EAAEW,EAAE,kBAAkBp5O,EAAEo5O,EAAE,kBAAkBV,EAAGU,EAAE,iBAAiBT,EAAGS,EAAE,qBAAqBjjN,EAAEijN,EAAE,kBAAkBR,EAAGQ,EAAE,uBAAuBP,EAAGO,EAAE,cAAcN,EAAGM,EAAE,cAAcL,EAAGK,EAAE,eAAeJ,EAAGI,EAAE,qBAAqBH,EAAGG,EAAE,eAAeF,EAAGE,EAAE,0BAA0BD,EAAGC,EAAE,sBAAsB,CAC/a,SAASC,EAAEnmS,GAAG,GAAG,MAAMA,EAAE,OAAO,KAAK,GAAG,oBAAoBA,EAAE,OAAOA,EAAEizB,aAAajzB,EAAEmH,MAAM,KAAK,GAAG,kBAAkBnH,EAAE,OAAOA,EAAE,OAAOA,GAAG,KAAK0Q,EAAE,MAAM,WAAW,KAAKs8C,EAAE,MAAM,SAAS,KAAKu4O,EAAE,MAAM,WAAW,KAAKD,EAAE,MAAM,aAAa,KAAKriN,EAAE,MAAM,WAAW,KAAKyiN,EAAG,MAAM,eAAe,GAAG,kBAAkB1lS,EAAE,OAAOA,EAAE4xR,UAAU,KAAK4T,EAAG,OAAOxlS,EAAEizB,aAAa,WAAW,YAAY,KAAK65B,EAAE,OAAO9sD,EAAEomS,SAASnzQ,aAAa,WAAW,YAAY,KAAKwyQ,EAAG,IAAIxlS,EAAED,EAAE+4Q,OAAmC,OAA5B94Q,EAAEA,EAAEgzB,aAAahzB,EAAEkH,MAAM,GAAUnH,EAAEizB,cACvf,KAAKhzB,EAAE,cAAcA,EAAE,IAAI,cAAc,KAAK0lS,EAAG,OAAOQ,EAAEnmS,EAAEgT,MAAM,KAAK6yR,EAAG,OAAOM,EAAEnmS,EAAEqmS,SAAS,KAAKT,EAAG3lS,EAAED,EAAEsmS,SAAStmS,EAAEA,EAAEumS,MAAM,IAAI,OAAOJ,EAAEnmS,EAAEC,GAAG,CAAC,MAAMwQ,GAAG,EAAE,OAAO,IAAI,CAAC,IAAI+1R,EAAGlqQ,EAAEmqQ,mDAAmDC,EAAG,CAAC,EAAE,SAASC,EAAE3mS,EAAEC,GAAG,IAAI,IAAIwQ,EAAiB,EAAfzQ,EAAE4mS,aAAen2R,GAAGxQ,EAAEwQ,IAAIzQ,EAAEyQ,GAAGzQ,EAAE6mS,eAAe7mS,EAAE4mS,aAAan2R,EAAE,CAAC,CACtU,IAAI,IAAIq2R,EAAE,IAAIC,YAAY,IAAIC,EAAE,EAAE,GAAGA,EAAEA,IAAIF,EAAEE,GAAGA,EAAE,EAAEF,EAAE,IAAI,EAAE,IAAIG,EAAG,8VAA8VC,EAAGvmS,OAAOiB,UAAUuC,eAAegjS,EAAG,CAAC,EAAEC,EAAG,CAAC,EAC9c,SAASC,EAAGrnS,GAAG,QAAGknS,EAAGz/R,KAAK2/R,EAAGpnS,KAAeknS,EAAGz/R,KAAK0/R,EAAGnnS,KAAeinS,EAAG1nS,KAAKS,GAAUonS,EAAGpnS,IAAG,GAAGmnS,EAAGnnS,IAAG,GAAS,GAAE,CACsG,SAASsnS,EAAEtnS,EAAEC,EAAEwQ,EAAED,EAAEhG,EAAEohD,EAAEj5B,GAAGjxB,KAAK6lS,gBAAgB,IAAItnS,GAAG,IAAIA,GAAG,IAAIA,EAAEyB,KAAK+L,cAAc+C,EAAE9O,KAAK8lS,mBAAmBh9R,EAAE9I,KAAK+lS,gBAAgBh3R,EAAE/O,KAAKynH,aAAanpH,EAAE0B,KAAKsR,KAAK/S,EAAEyB,KAAKgmS,YAAY97O,EAAElqD,KAAKimS,kBAAkBh1Q,CAAC,CAAC,IAAIi1Q,EAAE,CAAC,EACpb,uIAAuI5iS,MAAM,KAAKvE,SAAQ,SAAST,GAAG4nS,EAAE5nS,GAAG,IAAIsnS,EAAEtnS,EAAE,GAAE,EAAGA,EAAE,MAAK,GAAG,EAAG,IAAG,CAAC,CAAC,gBAAgB,kBAAkB,CAAC,YAAY,SAAS,CAAC,UAAU,OAAO,CAAC,YAAY,eAAeS,SAAQ,SAAST,GAAG,IAAIC,EAAED,EAAE,GAAG4nS,EAAE3nS,GAAG,IAAIqnS,EAAErnS,EAAE,GAAE,EAAGD,EAAE,GAAG,MAAK,GAAG,EAAG,IAAG,CAAC,kBAAkB,YAAY,aAAa,SAASS,SAAQ,SAAST,GAAG4nS,EAAE5nS,GAAG,IAAIsnS,EAAEtnS,EAAE,GAAE,EAAGA,EAAE05B,cAAc,MAAK,GAAG,EAAG,IAC1e,CAAC,cAAc,4BAA4B,YAAY,iBAAiBj5B,SAAQ,SAAST,GAAG4nS,EAAE5nS,GAAG,IAAIsnS,EAAEtnS,EAAE,GAAE,EAAGA,EAAE,MAAK,GAAG,EAAG,IAAG,8OAA8OgF,MAAM,KAAKvE,SAAQ,SAAST,GAAG4nS,EAAE5nS,GAAG,IAAIsnS,EAAEtnS,EAAE,GAAE,EAAGA,EAAE05B,cAAc,MAAK,GAAG,EAAG,IACxb,CAAC,UAAU,WAAW,QAAQ,YAAYj5B,SAAQ,SAAST,GAAG4nS,EAAE5nS,GAAG,IAAIsnS,EAAEtnS,EAAE,GAAE,EAAGA,EAAE,MAAK,GAAG,EAAG,IAAG,CAAC,UAAU,YAAYS,SAAQ,SAAST,GAAG4nS,EAAE5nS,GAAG,IAAIsnS,EAAEtnS,EAAE,GAAE,EAAGA,EAAE,MAAK,GAAG,EAAG,IAAG,CAAC,OAAO,OAAO,OAAO,QAAQS,SAAQ,SAAST,GAAG4nS,EAAE5nS,GAAG,IAAIsnS,EAAEtnS,EAAE,GAAE,EAAGA,EAAE,MAAK,GAAG,EAAG,IAAG,CAAC,UAAU,SAASS,SAAQ,SAAST,GAAG4nS,EAAE5nS,GAAG,IAAIsnS,EAAEtnS,EAAE,GAAE,EAAGA,EAAE05B,cAAc,MAAK,GAAG,EAAG,IAAG,IAAImuQ,EAAG,gBAAgB,SAASC,EAAG9nS,GAAG,OAAOA,EAAE,GAAG45B,aAAa,CACxZ,0jCAA0jC50B,MAAM,KAAKvE,SAAQ,SAAST,GAAG,IAAIC,EAAED,EAAEiK,QAAQ49R,EACzmCC,GAAIF,EAAE3nS,GAAG,IAAIqnS,EAAErnS,EAAE,GAAE,EAAGD,EAAE,MAAK,GAAG,EAAG,IAAG,2EAA2EgF,MAAM,KAAKvE,SAAQ,SAAST,GAAG,IAAIC,EAAED,EAAEiK,QAAQ49R,EAAGC,GAAIF,EAAE3nS,GAAG,IAAIqnS,EAAErnS,EAAE,GAAE,EAAGD,EAAE,gCAA+B,GAAG,EAAG,IAAG,CAAC,WAAW,WAAW,aAAaS,SAAQ,SAAST,GAAG,IAAIC,EAAED,EAAEiK,QAAQ49R,EAAGC,GAAIF,EAAE3nS,GAAG,IAAIqnS,EAAErnS,EAAE,GAAE,EAAGD,EAAE,wCAAuC,GAAG,EAAG,IAAG,CAAC,WAAW,eAAeS,SAAQ,SAAST,GAAG4nS,EAAE5nS,GAAG,IAAIsnS,EAAEtnS,EAAE,GAAE,EAAGA,EAAE05B,cAAc,MAAK,GAAG,EAAG,IACldkuQ,EAAEG,UAAU,IAAIT,EAAE,YAAY,GAAE,EAAG,aAAa,gCAA+B,GAAG,GAAI,CAAC,MAAM,OAAO,SAAS,cAAc7mS,SAAQ,SAAST,GAAG4nS,EAAE5nS,GAAG,IAAIsnS,EAAEtnS,EAAE,GAAE,EAAGA,EAAE05B,cAAc,MAAK,GAAG,EAAG,IAAG,IAAIsuQ,EAAG,UACtM,SAASC,EAAEjoS,GAAG,GAAG,mBAAmBA,GAAG,kBAAkBA,EAAE,MAAM,GAAGA,EAAEA,EAAE,GAAGA,EAAE,IAAIC,EAAE+nS,EAAG3gS,KAAKrH,GAAG,GAAGC,EAAE,CAAC,IAASuQ,EAALC,EAAE,GAAKjG,EAAE,EAAE,IAAIgG,EAAEvQ,EAAEwC,MAAM+N,EAAExQ,EAAElB,OAAO0R,IAAI,CAAC,OAAOxQ,EAAEu7B,WAAW/qB,IAAI,KAAK,GAAGvQ,EAAE,SAAS,MAAM,KAAK,GAAGA,EAAE,QAAQ,MAAM,KAAK,GAAGA,EAAE,SAAS,MAAM,KAAK,GAAGA,EAAE,OAAO,MAAM,KAAK,GAAGA,EAAE,OAAO,MAAM,QAAQ,SAASuK,IAAIgG,IAAIC,GAAGzQ,EAAE+N,UAAUvD,EAAEgG,IAAIhG,EAAEgG,EAAE,EAAEC,GAAGxQ,CAAC,CAACD,EAAEwK,IAAIgG,EAAEC,EAAEzQ,EAAE+N,UAAUvD,EAAEgG,GAAGC,CAAC,CAAC,OAAOzQ,CAAC,CAC/X,SAASkoS,EAAGloS,EAAEC,GAAG,IAAwCuQ,EAApCC,EAAEm3R,EAAEzjS,eAAenE,GAAG4nS,EAAE5nS,GAAG,KAAsH,OAAxGwQ,EAAE,UAAUxQ,KAAEwQ,EAAE,OAAOC,EAAE,IAAIA,EAAEuC,KAAO,EAAEhT,EAAElB,SAAS,MAAMkB,EAAE,IAAI,MAAMA,EAAE,MAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,KAAYwQ,GARzK,SAAYxQ,EAAEC,EAAEwQ,EAAED,GAAG,GAAG,OAAOvQ,GAAG,qBAAqBA,GAD4D,SAAYD,EAAEC,EAAEwQ,EAAED,GAAG,GAAG,OAAOC,GAAG,IAAIA,EAAEuC,KAAK,OAAM,EAAG,cAAc/S,GAAG,IAAK,WAAW,IAAK,SAAS,OAAM,EAAG,IAAK,UAAU,OAAGuQ,IAAc,OAAOC,GAASA,EAAE82R,gBAAmD,WAAnCvnS,EAAEA,EAAE05B,cAActxB,MAAM,EAAE,KAAsB,UAAUpI,GAAE,QAAQ,OAAM,EAAG,CACtTmoS,CAAGnoS,EAAEC,EAAEwQ,EAAED,GAAG,OAAM,EAAG,GAAGA,EAAE,OAAM,EAAG,GAAG,OAAOC,EAAE,OAAOA,EAAEuC,MAAM,KAAK,EAAE,OAAO/S,EAAE,KAAK,EAAE,OAAM,IAAKA,EAAE,KAAK,EAAE,OAAOd,MAAMc,GAAG,KAAK,EAAE,OAAOd,MAAMc,IAAI,EAAEA,EAAE,OAAM,CAAE,CAQ3CmoS,CAAGpoS,EAAEC,EAAEwQ,GAAE,GAAU,GAAM,OAAOA,GAAGzQ,EAAEyQ,EAAEhD,cAA0B,KAAZ+C,EAAEC,EAAEuC,OAAe,IAAIxC,IAAG,IAAKvQ,EAASD,EAAE,OAAMyQ,EAAEi3R,cAAcznS,EAAE,GAAGA,GAAUD,EAAE,KAAMioS,EAAEhoS,GAAG,MAAYonS,EAAGrnS,GAAGA,EAAE,KAAMioS,EAAEhoS,GAAG,IAAK,EAAE,CACnW,IAAIooS,EAAG,oBAAoB1nS,OAAO2nS,GAAG3nS,OAAO2nS,GADwT,SAAYtoS,EAAEC,GAAG,OAAOD,IAAIC,IAAI,IAAID,GAAG,EAAEA,IAAI,EAAEC,IAAID,IAAIA,GAAGC,IAAIA,CAAC,EACjXsoS,EAAE,KAAKC,EAAE,KAAKC,EAAE,KAAK57O,GAAE,EAAG67O,GAAE,EAAGC,EAAE,KAAK3lN,EAAE,EAAE,SAAS4lN,IAAI,GAAG,OAAOL,EAAE,MAAM58R,MAAM1F,EAAE,MAAM,OAAOsiS,CAAC,CAAC,SAASM,IAAK,GAAG,EAAE7lN,EAAE,MAAMr3E,MAAM1F,EAAE,MAAM,MAAM,CAAC6iS,cAAc,KAAKC,MAAM,KAAKxsQ,KAAK,KAAK,CAAC,SAASysQ,IAAqG,OAAhG,OAAOP,EAAE,OAAOD,GAAG37O,GAAE,EAAG27O,EAAEC,EAAEI,MAAOh8O,GAAE,EAAG47O,EAAED,GAAG,OAAOC,EAAElsQ,MAAMswB,GAAE,EAAG47O,EAAEA,EAAElsQ,KAAKssQ,MAAOh8O,GAAE,EAAG47O,EAAEA,EAAElsQ,MAAaksQ,CAAC,CAAC,SAASQ,EAAGjpS,EAAEC,EAAEwQ,EAAED,GAAG,KAAKk4R,GAAGA,GAAE,EAAG1lN,GAAG,EAAEylN,EAAE,KAAKh4R,EAAEzQ,EAAEC,EAAEuQ,GAAQ,OAAL04R,IAAYz4R,CAAC,CAAC,SAASy4R,IAAKX,EAAE,KAAKG,GAAE,EAAGF,EAAE,KAAKxlN,EAAE,EAAEylN,EAAEE,EAAE,IAAI,CACpd,SAASQ,GAAGnpS,EAAEC,GAAG,MAAM,oBAAoBA,EAAEA,EAAED,GAAGC,CAAC,CAAC,SAASmpS,GAAGppS,EAAEC,EAAEwQ,GAAgB,GAAb83R,EAAEK,IAAIH,EAAEO,IAAQn8O,EAAE,CAAC,IAAIr8C,EAAEi4R,EAAEM,MAAmB,GAAb9oS,EAAEuQ,EAAE64R,SAAY,OAAOV,QAAe,KAAXl4R,EAAEk4R,EAAExiS,IAAIqK,IAAe,CAACm4R,EAAEh2R,OAAOnC,GAAGA,EAAEi4R,EAAEK,cAAc,GAAGt4R,EAAExQ,EAAEwQ,EAAEC,EAAEkV,QAAQlV,EAAEA,EAAE8rB,WAAW,OAAO9rB,GAAqB,OAAlBg4R,EAAEK,cAAct4R,EAAQ,CAACA,EAAEvQ,EAAE,CAAC,MAAM,CAACwoS,EAAEK,cAAc7oS,EAAE,CAA6I,OAA5ID,EAAEA,IAAImpS,GAAG,oBAAoBlpS,EAAEA,IAAIA,OAAE,IAASwQ,EAAEA,EAAExQ,GAAGA,EAAEwoS,EAAEK,cAAc9oS,EAAsCA,GAApCA,EAAEyoS,EAAEM,MAAM,CAACxlR,KAAK,KAAK8lR,SAAS,OAAUA,SAASC,GAAGr9R,KAAK,KAAKs8R,EAAEvoS,GAAS,CAACyoS,EAAEK,cAAc9oS,EAAE,CAClc,SAASupS,GAAGvpS,EAAEC,GAAoC,GAAjCsoS,EAAEK,IAAW3oS,OAAE,IAASA,EAAE,KAAKA,EAAK,QAA9BwoS,EAAEO,KAAqC,CAAC,IAAIv4R,EAAEg4R,EAAEK,cAAc,GAAG,OAAOr4R,GAAG,OAAOxQ,EAAE,CAAC,IAAIuQ,EAAEC,EAAE,GAAGzQ,EAAE,GAAG,OAAOwQ,EAAEA,GAAE,MAAO,CAAC,IAAI,IAAIhG,EAAE,EAAEA,EAAEgG,EAAE1R,QAAQ0L,EAAEvK,EAAEnB,OAAO0L,IAAI,IAAI69R,EAAGpoS,EAAEuK,GAAGgG,EAAEhG,IAAI,CAACgG,GAAE,EAAG,MAAMxQ,CAAC,CAACwQ,GAAE,CAAE,CAAC,GAAGA,EAAE,OAAOC,EAAE,EAAE,CAAC,CAA6B,OAA5BzQ,EAAEA,IAAIyoS,EAAEK,cAAc,CAAC9oS,EAAEC,GAAUD,CAAC,CAAC,SAASspS,GAAGtpS,EAAEC,EAAEwQ,GAAG,KAAK,GAAGuyE,GAAG,MAAMr3E,MAAM1F,EAAE,MAAM,GAAGjG,IAAIuoS,EAAE,GAAGG,GAAE,EAAG1oS,EAAE,CAAC2lB,OAAOlV,EAAE8rB,KAAK,MAAM,OAAOosQ,IAAIA,EAAE,IAAIpoS,UAAgB,KAAXkQ,EAAEk4R,EAAExiS,IAAIlG,IAAc0oS,EAAEniS,IAAIvG,EAAED,OAAO,CAAC,IAAIC,EAAEwQ,EAAE,OAAOxQ,EAAEs8B,MAAMt8B,EAAEA,EAAEs8B,KAAKt8B,EAAEs8B,KAAKv8B,CAAC,CAAC,CAAC,SAASwpS,KAAK,CAChe,IAAIC,GAAE,KAAKC,GAAG,CAACC,YAAY,SAAS3pS,GAAG,IAAIC,EAAEwpS,GAAEG,SAAgB,OAAPjD,EAAE3mS,EAAEC,GAAUD,EAAEC,EAAE,EAAEggR,WAAW,SAASjgR,GAAG4oS,IAAI,IAAI3oS,EAAEwpS,GAAEG,SAAgB,OAAPjD,EAAE3mS,EAAEC,GAAUD,EAAEC,EAAE,EAAE+gR,QAAQuoB,GAAGM,WAAWT,GAAGvoB,OAAO,SAAS7gR,GAAGuoS,EAAEK,IAAW,IAAI3oS,GAAXwoS,EAAEO,KAAaF,cAAc,OAAO,OAAO7oS,GAAGD,EAAE,CAACw/Q,QAAQx/Q,GAAGyoS,EAAEK,cAAc9oS,GAAGC,CAAC,EAAEigR,SAAS,SAASlgR,GAAG,OAAOopS,GAAGD,GAAGnpS,EAAE,EAAE8pS,gBAAgB,WAAW,EAAEvoB,YAAY,SAASvhR,EAAEC,GAAG,OAAOspS,IAAG,WAAW,OAAOvpS,CAAC,GAAEC,EAAE,EAAEihR,oBAAoBsoB,GAAGhnB,UAAUgnB,GAAGO,cAAcP,GAAGQ,iBAAiB,SAAShqS,GAAO,OAAJ4oS,IAAW5oS,CAAC,EAAEiqS,cAAc,WAC9f,OADygBrB,IACngB,CAAC,SAAS5oS,GAAGA,GAAG,GAAE,EAAG,EAAEkqS,oBAAoB,WAAW,OAAOT,GAAEU,kBAAkB,IAAI,MAAMV,GAAEW,YAAYprS,SAAS,GAAG,EAAEqrS,iBAAiB,SAASrqS,EAAEC,GAAO,OAAJ2oS,IAAW3oS,EAAED,EAAEsqS,QAAQ,GAAGC,GAAS,+BAA6G,SAASC,GAAGxqS,GAAG,OAAOA,GAAG,IAAK,MAAM,MAAM,6BAA6B,IAAK,OAAO,MAAM,qCAAqC,QAAQ,MAAM,+BAA+B,CACvd,IAAIyqS,GAAG,CAACC,MAAK,EAAGC,MAAK,EAAGC,IAAG,EAAGpkR,KAAI,EAAGqkR,OAAM,EAAGC,IAAG,EAAGC,KAAI,EAAG//O,OAAM,EAAGggP,QAAO,EAAGC,MAAK,EAAGl2C,MAAK,EAAGr+J,OAAM,EAAGlzF,QAAO,EAAG0nS,OAAM,EAAGC,KAAI,GAAIC,GAAGvyD,EAAE,CAACwyD,UAAS,GAAIZ,IAAItnN,GAAE,CAACmoN,yBAAwB,EAAGC,mBAAkB,EAAGC,kBAAiB,EAAGC,kBAAiB,EAAGC,SAAQ,EAAGC,cAAa,EAAGC,iBAAgB,EAAGC,aAAY,EAAG5uR,SAAQ,EAAGtF,MAAK,EAAGm0R,UAAS,EAAGC,cAAa,EAAGC,YAAW,EAAGC,cAAa,EAAGC,WAAU,EAAGC,UAAS,EAAG/+E,SAAQ,EAAGg/E,YAAW,EAAGC,aAAY,EAAGC,cAAa,EAAGtgE,YAAW,EAAGugE,eAAc,EAAGC,gBAAe,EAC7fC,iBAAgB,EAAGC,YAAW,EAAGC,WAAU,EAAGhgI,YAAW,EAAGryG,SAAQ,EAAGsyO,OAAM,EAAGC,SAAQ,EAAGC,SAAQ,EAAGC,QAAO,EAAG37I,QAAO,EAAG47I,MAAK,EAAGC,aAAY,EAAGC,cAAa,EAAGC,aAAY,EAAGC,iBAAgB,EAAGC,kBAAiB,EAAGC,kBAAiB,EAAGC,eAAc,EAAGC,aAAY,GAAIC,GAAG,CAAC,SAAS,KAAK,MAAM,KAAK9sS,OAAOmB,KAAKqhF,IAAG1iF,SAAQ,SAAST,GAAGytS,GAAGhtS,SAAQ,SAASR,GAAGA,EAAEA,EAAED,EAAEqpD,OAAO,GAAGzvB,cAAc55B,EAAE+N,UAAU,GAAGo1E,GAAEljF,GAAGkjF,GAAEnjF,EAAE,GAAE,IAC3Z,IAAI0tS,GAAG,WAAWC,GAAG,OAAOzqN,GAAE5mD,EAAE21P,SAAS2b,QAAQC,GAAGrH,EAAGsH,uBAAuBC,GAAG,CAACC,SAAQ,EAAGC,KAAI,EAAGC,UAAS,GAAIC,GAAG,8BAA8BC,GAAG,CAAC,EAAEC,GAAG,CAAC,EAAuH,IAAIC,GAAG3tS,OAAOiB,UAAUuC,eAAeoqS,GAAG,CAACnoR,SAAS,KAAKooR,wBAAwB,KAAKC,+BAA+B,KAAKC,yBAAyB,MAAM,SAASC,GAAG3uS,EAAEC,GAAG,QAAG,IAASD,EAAE,MAAM2L,MAAM1F,EAAE,IAAIkgS,EAAElmS,IAAI,aAAc,CACjf,SAAS2uS,GAAG5uS,EAAEC,EAAEwQ,GAAG,SAASD,EAAEA,EAAEo7C,GAAG,IAAIzrD,EAAEyrD,EAAEhqD,WAAWgqD,EAAEhqD,UAAU+vR,iBAAiBnnR,EApBoP,SAAYxK,EAAEC,EAAEwQ,EAAED,GAAG,GAAGA,GAAoB,kBAAhBA,EAAExQ,EAAE8hS,cAAiC,OAAOtxR,EAAG,OAAOm2R,EAAEn2R,EAAEC,GAAGD,EAAEC,GAAG,GAAGzQ,EAAEA,EAAE+hS,aAAa,CAAM,IAAI,IAAIv3R,KAAbiG,EAAE,CAAC,EAAezQ,EAAEyQ,EAAEjG,GAAGvK,EAAEuK,GAAGvK,EAAEwQ,CAAC,MAAMxQ,EAAEymS,EAAG,OAAOzmS,CAAC,CAoBzZ4uS,CAAGjjP,EAAE3rD,EAAEwQ,EAAEtQ,GAAGwyB,EAAE,GAAG8G,GAAE,EAAGkD,EAAE,CAACmyQ,UAAU,WAAW,OAAM,CAAE,EAAEC,mBAAmB,WAAW,GAAG,OAAOp8Q,EAAE,OAAO,IAAI,EAAEq8Q,oBAAoB,SAAShvS,EAAEyQ,GAAGgpB,GAAE,EAAG9G,EAAE,CAACliB,EAAE,EAAEw+R,gBAAgB,SAASjvS,EAAEyQ,GAAG,GAAG,OAAOkiB,EAAE,OAAO,KAAKA,EAAEjyB,KAAK+P,EAAE,GAAG,GAAGtQ,GAAG,GAAGA,EAAE,IAAIyrD,EAAEp7C,EAAEpB,MAAM5E,EAAEmyB,GAAG,oBAAoBivB,EAAEs2O,yBAAyB,CAAC,IAAI91O,EAAER,EAAEs2O,yBAAyBz6R,KAAK,KAAK+I,EAAEpB,MAAMjP,EAAEoyC,OAAO,MAAM6Z,IAAIjsD,EAAEoyC,MAAMsmM,EAAE,CAAC,EAAE14O,EAAEoyC,MAAM6Z,GAAG,OAAO,GAAGm8O,EAAE,CAAC,EAAEpoS,EAAEyrD,EAAEp7C,EAAEpB,MACrf5E,EAAEmyB,GAAuB,OAApBx8B,EAAE8oS,EAAGr9O,EAAEp7C,EAAEpB,MAAMjP,EAAEqK,KAAY,MAAMrK,EAAE44Q,OAAoB,YAAR41B,GAAJ3uS,EAAEG,EAAOyrD,GAAyF,GAA/EzrD,EAAEiP,MAAMoB,EAAEpB,MAAMjP,EAAEwI,QAAQ6B,EAAErK,EAAE+uS,QAAQvyQ,OAAY,KAAVA,EAAEx8B,EAAEoyC,SAAmBpyC,EAAEoyC,MAAM5V,EAAE,MAAS,oBAAoBx8B,EAAEgvS,2BAA2B,oBAAoBhvS,EAAEivS,mBAAmB,GAAG,oBAAoBjvS,EAAEivS,oBAAoB,oBAAoBxjP,EAAEs2O,0BAA0B/hS,EAAEivS,qBAAqB,oBAAoBjvS,EAAEgvS,2BAA2B,oBAAoBvjP,EAAEs2O,0BAA0B/hS,EAAEgvS,4BAA4Bx8Q,EAAE7zB,OAAO,CAAC69B,EAAEhK,EAAE,IAAIhsB,EACtf8yB,EAAc,GAAZ9G,EAAE,KAAK8G,GAAE,EAAM9yB,GAAG,IAAIg2B,EAAE79B,OAAOqB,EAAEoyC,MAAM5V,EAAE,OAAO,CAACyvB,EAAEzlD,EAAEg2B,EAAE,GAAGx8B,EAAEoyC,MAAM,IAAIia,GAAE,EAAG,IAAI7lD,EAAEA,EAAE,EAAE,EAAEA,EAAEg2B,EAAE79B,OAAO6H,IAAI,CAAC,IAAIg9D,EAAEhnC,EAAEh2B,GAAmD,OAAhDg9D,EAAE,oBAAoBA,EAAEA,EAAEl8D,KAAKtH,EAAEisD,EAAE57C,EAAEpB,MAAM5E,GAAGm5D,KAAYnX,GAAGA,GAAE,EAAGJ,EAAEysL,EAAE,CAAC,EAAEzsL,EAAEuX,IAAIk1K,EAAEzsL,EAAEuX,GAAG,CAACxjE,EAAEoyC,MAAM6Z,CAAC,CAAC,MAAMz5B,EAAE,KAA0B,GAARg8Q,GAAb3uS,EAAEG,EAAE44Q,SAAcntN,GAAM,oBAAoBzrD,EAAEkvS,iBAAwC,kBAAtB7+R,EAAEo7C,EAAEi2O,mBAAuC,CAAC,IAAIn+N,EAAEvjE,EAAEkvS,kBAAkB,IAAI,IAAIvsN,KAAKpf,EAAE,KAAKof,KAAKtyE,GAAG,MAAM7E,MAAM1F,EAAE,IAAIkgS,EAAEv6O,IAAI,UAAUk3B,GAAI,CAACpf,IAAIzjE,EAAE44O,EAAE,CAAC,EAAE54O,EAAEyjE,GAAG,CAAC,KAAKpnC,EAAEgzQ,eAAetvS,IAAI,CAAC,IAAIwK,EAAExK,EAAE4rD,EAAEphD,EAAEwI,KAAK,GAAG,oBACpe44C,EAAE,MAAMp7C,EAAEhG,EAAEohD,EAAE,CAAC,MAAM,CAACllC,MAAM1mB,EAAE2I,QAAQ1I,EAAE,CAC/C,IAAIsvS,GAAG,WAAW,SAASvvS,EAAEA,EAAEC,EAAEuK,GAAG8xB,EAAEgzQ,eAAetvS,GAAGA,EAAEgT,OAAOtC,EAAE1Q,EAAE,CAACA,IAAIA,EAAEA,EAAEoP,MAAMgX,SAASpmB,EAAEs8B,EAAEgzQ,eAAetvS,GAAG,CAACA,GAAGkjF,GAAEljF,IAAIA,EAAEkjF,GAAEljF,GAAGA,EAAE,CAACgT,KAAK,KAAKw8R,aAAajF,GAAQnkR,SAASpmB,EAAE6qG,WAAW,EAAEliG,QAAQ+9R,EAAGr4L,OAAO,IAAI,IAAI59F,EAAEq2R,EAAE,GAAG,GAAG,IAAIr2R,EAAE,CAAC,IAAID,EAAEs2R,EAAiBrtQ,EAAE,GAAjBhpB,EAAED,EAAE1R,QAAiB,KAAK,OAAO26B,GAAG,MAAM9tB,MAAM1F,EAAE,MAAM,IAAI9F,EAAE,IAAI4mS,YAAYttQ,GAAyB,IAAtBt5B,EAAEqG,IAAIgK,IAAGs2R,EAAE3mS,GAAI,GAAGsQ,EAAE,EAAMD,EAAEC,EAAED,EAAEipB,EAAE,EAAEjpB,IAAIs2R,EAAEt2R,GAAGA,EAAE,EAAEs2R,EAAErtQ,EAAE,GAAG,CAAC,MAAMqtQ,EAAE,GAAGA,EAAEr2R,GAAG/O,KAAKkoS,SAASn5R,EAAE/O,KAAKi7R,MAAM,CAAC38R,GAAG0B,KAAK+tS,WAAU,EAAG/tS,KAAKguS,mBAAmB,KAAKhuS,KAAKiuS,qBAAoB,EAClfjuS,KAAKkuS,iBAAiB3vS,EAAEyB,KAAKmuS,cAAc,EAAEnuS,KAAKouS,cAAc,EAAEpuS,KAAKquS,aAAa,GAAGruS,KAAKsuS,kBAAkB,GAAGtuS,KAAK0oS,SAAS,EAAE1oS,KAAKyoS,iBAAiB3/R,GAAGA,EAAE2/R,kBAAkB,EAAE,CAAC,IAAIlqS,EAAED,EAAE4B,UAYP,OAZiB3B,EAAE4O,QAAQ,WAAW,IAAInN,KAAK+tS,UAAU,CAAC/tS,KAAK+tS,WAAU,EAAG/tS,KAAKuuS,iBAAiB,IAAIjwS,EAAE0B,KAAKkoS,SAAS9C,EAAE9mS,GAAG8mS,EAAE,GAAGA,EAAE,GAAG9mS,CAAC,CAAC,EAAEC,EAAEiwS,aAAa,SAASlwS,GAAG,IAAIC,IAAIyB,KAAKouS,aAAar/R,EAAEzQ,EAAEgT,KAAKozR,SAASx6O,EAAElqD,KAAKkoS,SAASjD,EAAEl2R,EAAEm7C,GAAG,IAAIj5B,EAAEliB,EAAEm7C,GAAGlqD,KAAKquS,aAAa9vS,GAAGwQ,EAAE/O,KAAKsuS,kBAAkB/vS,GAAG0yB,EAAEliB,EAAEm7C,GAAG5rD,EAAEoP,MAAM3Q,KAAK,EAAEwB,EAAEkwS,YAC7e,WAAW,IAAInwS,EAAE0B,KAAKouS,aAAa7vS,EAAEyB,KAAKquS,aAAa/vS,GAAGwK,EAAE9I,KAAKsuS,kBAAkBhwS,GAAG0B,KAAKquS,aAAa/vS,GAAG,KAAK0B,KAAKsuS,kBAAkBhwS,GAAG,KAAK0B,KAAKouS,eAAe7vS,EAAEyB,KAAKkoS,UAAUp/R,CAAC,EAAEvK,EAAEgwS,eAAe,WAAW,IAAI,IAAIjwS,EAAE0B,KAAKouS,aAAa,GAAG9vS,EAAEA,IAAI0B,KAAKquS,aAAa/vS,GAAG0B,KAAKkoS,UAAUloS,KAAKsuS,kBAAkBhwS,EAAE,EAAEC,EAAEm4R,KAAK,SAASp4R,GAAG,GAAG0B,KAAK+tS,UAAU,OAAO,KAAK,IAAIxvS,EAAEwpS,GAAEA,GAAE/nS,KAAK,IAAI+O,EAAEo9R,GAAGruB,QAAQquB,GAAGruB,QAAQkqB,GAAG,IAAI,IAAI,IAAI99O,EAAE,CAAC,IAAIj5B,GAAE,EAAGi5B,EAAE,GAAG9sD,OAAOkB,GAAG,CAAC,GAAG,IAAI0B,KAAKi7R,MAAM79R,OAAO,CAAC4C,KAAK+tS,WAAU,EAAG,IAAIh2Q,EAAE/3B,KAAKkoS,SACrf9C,EAAErtQ,GAAGqtQ,EAAE,GAAGA,EAAE,GAAGrtQ,EAAE,KAAK,CAAC,IAAIt5B,EAAEuB,KAAKi7R,MAAMj7R,KAAKi7R,MAAM79R,OAAO,GAAG,GAAG6zB,GAAGxyB,EAAE0qG,YAAY1qG,EAAEimB,SAAStnB,OAAO,CAAC,IAAIsxS,EAAEjwS,EAAEkuG,OAA8D,GAAvD,KAAK+hM,IAAI1uS,KAAKiuS,qBAAoB,GAAIjuS,KAAKi7R,MAAM3pN,MAAS,WAAW7yE,EAAE6S,KAAKtR,KAAKguS,mBAAmB,UAAU,GAAG,MAAMvvS,EAAE6S,MAAM,MAAM7S,EAAE6S,KAAKA,MAAM7S,EAAE6S,KAAKA,KAAK4+Q,WAAW9kO,EAAEprD,KAAKyuS,YAAYhwS,EAAE6S,WAAW,GAAG7S,EAAE6S,OAAOiwE,EAAE,CAACvhF,KAAKmuS,gBAAgB,IAAIQ,EAAEzkP,EAAEonB,MAAM,GAAGrgD,EAAE,CAACA,GAAE,EAAG,IAAIowD,EAAE5iF,EAAEmwS,cAAc,IAAIvtN,EAAE,MAAMp3E,MAAM1F,EAAE,MAAMvE,KAAKi7R,MAAMj8R,KAAKqiF,GAAGn3B,EAAElqD,KAAKmuS,gBAAgB,kBAAkB,QAAQ,CAAMjkP,EAAElqD,KAAKmuS,gBAC1fQ,CAAC,CAACzkP,EAAElqD,KAAKmuS,gBAAgBO,CAAC,KAAK,CAAC,IAAIzzQ,EAAEx8B,EAAEimB,SAASjmB,EAAE0qG,cAAcz+C,EAAE,GAAG,IAAIA,GAAG1qD,KAAKq3Q,OAAOp8O,EAAEx8B,EAAEwI,QAAQxI,EAAEqvS,aAAa,CAAC,MAAM7oS,GAAG,GAAG,MAAMA,GAAG,oBAAoBA,EAAE89D,KAAK,MAAM94D,MAAM1F,EAAE,MAAM,MAAMU,CAAE,CAAUilD,EAAE9sD,QAAQ4C,KAAKmuS,eAAejkP,EAAElrD,KAAK,IAAIkrD,EAAElqD,KAAKmuS,gBAAgBzjP,CAAC,CAAC,CAAC,OAAOR,EAAE,EAAE,CAAC,QAAQiiP,GAAGruB,QAAQ/uQ,EAAEg5R,GAAExpS,EAAEipS,GAAI,CAAC,EAAEjpS,EAAE84Q,OAAO,SAAS/4Q,EAAEC,EAAEuK,GAAG,GAAG,kBAAkBxK,GAAG,kBAAkBA,EAAU,MAAG,MAAVwK,EAAE,GAAGxK,GAAkB,GAAM0B,KAAKkuS,iBAAwB3H,EAAEz9R,GAAM9I,KAAKiuS,oBAA0B,iBAAiB1H,EAAEz9R,IACpf9I,KAAKiuS,qBAAoB,EAAU1H,EAAEz9R,IAAiD,GAAtBxK,GAAxBC,EAAE2uS,GAAG5uS,EAAEC,EAAEyB,KAAKkoS,WAAcljR,MAAMzmB,EAAEA,EAAE0I,QAAW,OAAO3I,IAAG,IAAKA,EAAE,MAAM,GAAG,IAAIs8B,EAAEgzQ,eAAetvS,GAAG,CAAC,GAAG,MAAMA,GAAG,MAAMA,EAAE4xR,SAAS,CAAc,IAAbpnR,EAAExK,EAAE4xR,YAAgB5kO,EAAE,MAAMrhD,MAAM1F,EAAE,MAAM,MAAM0F,MAAM1F,EAAE,IAAIuE,EAAExL,YAAa,CAAgG,OAA/FgB,EAAEkjF,GAAEljF,GAAG0B,KAAKi7R,MAAMj8R,KAAK,CAACsS,KAAK,KAAKw8R,aAAahlS,EAAE4b,SAASpmB,EAAE6qG,WAAW,EAAEliG,QAAQ1I,EAAEouG,OAAO,KAAW,EAAE,CAAC,IAAI59F,EAAEzQ,EAAEgT,KAAK,GAAG,kBAAkBvC,EAAE,OAAO/O,KAAK6uS,UAAUvwS,EAAEC,EAAEuK,GAAG,OAAOiG,GAAG,KAAKw1R,EAAG,KAAKD,EAAG,KAAKV,EAAE,KAAKC,EAAE,KAAKG,EAAG,KAAKh1R,EAAE,OAAO1Q,EAAEkjF,GAAEljF,EAAEoP,MAAMgX,UAAU1kB,KAAKi7R,MAAMj8R,KAAK,CAACsS,KAAK,KACzgBw8R,aAAahlS,EAAE4b,SAASpmB,EAAE6qG,WAAW,EAAEliG,QAAQ1I,EAAEouG,OAAO,KAAK,GAAG,KAAKprB,EAAE,MAAMt3E,MAAM1F,EAAE,MAAM,KAAK8/R,EAAG,MAAMp6R,MAAM1F,EAAE,MAAO,GAAG,kBAAkBwK,GAAG,OAAOA,EAAE,OAAOA,EAAEmhR,UAAU,KAAK6T,EAAG8C,EAAE,CAAC,EAAE,IAAI/3R,EAAEC,EAAEsoQ,OAAO/4Q,EAAEoP,MAAMpP,EAAEsrE,KAAmI,OAA9H96D,EAAEy4R,EAAGx4R,EAAEsoQ,OAAO/4Q,EAAEoP,MAAMoB,EAAExQ,EAAEsrE,KAAK96D,EAAE0yE,GAAE1yE,GAAG9O,KAAKi7R,MAAMj8R,KAAK,CAACsS,KAAK,KAAKw8R,aAAahlS,EAAE4b,SAAS5V,EAAEq6F,WAAW,EAAEliG,QAAQ1I,EAAEouG,OAAO,KAAW,GAAG,KAAKs3L,EAAG,OAAO3lS,EAAE,CAACs8B,EAAEhR,cAAc7a,EAAEuC,KAAK6lO,EAAE,CAACvtK,IAAItrE,EAAEsrE,KAAKtrE,EAAEoP,SAAS1N,KAAKi7R,MAAMj8R,KAAK,CAACsS,KAAK,KAAKw8R,aAAahlS,EAAE4b,SAASpmB,EAAE6qG,WAAW,EAAEliG,QAAQ1I,EAAEouG,OAAO,KACnf,GAAG,KAAKvhD,EAAE,OAA6BtiD,EAAE,CAACwI,KAAKhT,EAAEwvS,aAAahlS,EAAE4b,SAA/C3V,EAAEyyE,GAAEljF,EAAEoP,MAAMgX,UAA8CykF,WAAW,EAAEliG,QAAQ1I,EAAEouG,OAAO,IAAI3sG,KAAKwuS,aAAalwS,GAAG0B,KAAKi7R,MAAMj8R,KAAK8J,GAAG,GAAG,KAAKg7R,EAAG/0R,EAAEzQ,EAAEgT,KAAKxC,EAAExQ,EAAEoP,MAAM,IAAIqqB,EAAE/3B,KAAKkoS,SAA2H,OAAlHjD,EAAEl2R,EAAEgpB,GAAGhpB,EAAEyyE,GAAE1yE,EAAE4V,SAAS3V,EAAEgpB,KAAK/3B,KAAKi7R,MAAMj8R,KAAK,CAACsS,KAAKhT,EAAEwvS,aAAahlS,EAAE4b,SAAS3V,EAAEo6F,WAAW,EAAEliG,QAAQ1I,EAAEouG,OAAO,KAAW,GAAG,KAAKy3L,EAAG,MAAMn6R,MAAM1F,EAAE,MAAM,KAAK2/R,EAAG,OAA0Bn1R,GAAVD,GAATC,EAAEzQ,EAAEgT,MAASuzR,OAAU91R,EAAE61R,UAAUtmS,EAAE,CAACs8B,EAAEhR,cAAc7a,EAAEooO,EAAE,CAACvtK,IAAItrE,EAAEsrE,KAAKtrE,EAAEoP,SAAS1N,KAAKi7R,MAAMj8R,KAAK,CAACsS,KAAK,KAAKw8R,aAAahlS,EAAE4b,SAASpmB,EAAE6qG,WAAW,EAC9fliG,QAAQ1I,EAAEouG,OAAO,KAAK,GAAG,MAAM1iG,MAAM1F,EAAE,IAAI,MAAMwK,EAAEA,SAASA,EAAE,IAAK,EAAExQ,EAAEswS,UAAU,SAASvwS,EAAEC,EAAEuK,GAAG,IAAIiG,EAAEzQ,EAAEgT,KAAK0mB,cAAiC,GAAnBlvB,IAAI+/R,IAASC,GAAG/5R,IAAO29R,GAAGjqS,eAAesM,GAAG,CAAC,IAAI09R,GAAG5uS,KAAKkR,GAAG,MAAM9E,MAAM1F,EAAE,GAAGwK,IAAI29R,GAAG39R,IAAG,CAAE,CAAC,IAAID,EAAExQ,EAAEoP,MAAM,GAAG,UAAUqB,EAAED,EAAEqoO,EAAE,CAAC7lO,UAAK,GAAQxC,EAAE,CAACggS,oBAAe,EAAOnqS,kBAAa,EAAO5H,MAAM,MAAM+R,EAAE/R,MAAM+R,EAAE/R,MAAM+R,EAAEnK,aAAau8D,QAAQ,MAAMpyD,EAAEoyD,QAAQpyD,EAAEoyD,QAAQpyD,EAAEggS,sBAAsB,GAAG,aAAa//R,EAAE,CAAC,IAAIgpB,EAAEjpB,EAAE/R,MAAM,GAAG,MAAMg7B,EAAE,CAACA,EAAEjpB,EAAEnK,aAAa,IAAIlG,EAAEqQ,EAAE4V,SAAS,GAAG,MAAMjmB,EAAE,CAAC,GAAG,MACrfs5B,EAAE,MAAM9tB,MAAM1F,EAAE,KAAK,GAAG1D,MAAMC,QAAQrC,GAAG,CAAC,KAAK,GAAGA,EAAErB,QAAQ,MAAM6M,MAAM1F,EAAE,KAAK9F,EAAEA,EAAE,EAAE,CAACs5B,EAAE,GAAGt5B,CAAC,CAAC,MAAMs5B,IAAIA,EAAE,GAAG,CAACjpB,EAAEqoO,EAAE,CAAC,EAAEroO,EAAE,CAAC/R,WAAM,EAAO2nB,SAAS,GAAGqT,GAAG,MAAM,GAAG,WAAWhpB,EAAE/O,KAAKguS,mBAAmB,MAAMl/R,EAAE/R,MAAM+R,EAAE/R,MAAM+R,EAAEnK,aAAamK,EAAEqoO,EAAE,CAAC,EAAEroO,EAAE,CAAC/R,WAAM,SAAc,GAAG,WAAWgS,EAAE,CAACtQ,EAAEuB,KAAKguS,mBAAmB,IAAIU,EAdrJ,SAAYpwS,GAAG,QAAG,IAASA,GAAG,OAAOA,EAAE,OAAOA,EAAE,IAAIC,EAAE,GAAsD,OAAnDq8B,EAAE21P,SAASxxR,QAAQT,GAAE,SAASA,GAAG,MAAMA,IAAIC,GAAGD,EAAE,IAAUC,CAAC,CAcmCwwS,CAAGjgS,EAAE4V,UAAU,GAAG,MAAMjmB,EAAE,CAAC,IAAIkwS,EAAE,MAAM7/R,EAAE/R,MAAM+R,EAAE/R,MAAM,GAAG2xS,EAAO,GAAL32Q,GAAE,EAAMl3B,MAAMC,QAAQrC,IAAG,IAAI,IAAI4iF,EAAE,EAAEA,EAAE5iF,EAAErB,OAAOikF,IAAK,GAAG,GAAG5iF,EAAE4iF,KAAKstN,EAAE,CAAC52Q,GAAE,EAAG,KAAK,OAAOA,EAAE,GAAGt5B,IAAIkwS,EAAE7/R,EAAEqoO,EAAE,CAAC3xK,cAAS,EAAO9gD,cAAS,GAChf5V,EAAE,CAAC02D,SAASztC,EAAErT,SAASgqR,GAAG,CAAC,CAAC,GAAG32Q,EAAEjpB,EAAE,CAAC,GAAG46R,GAAG36R,KAAK,MAAMgpB,EAAErT,UAAU,MAAMqT,EAAE+0Q,yBAAyB,MAAM7iS,MAAM1F,EAAE,IAAIwK,IAAI,GAAG,MAAMgpB,EAAE+0Q,wBAAwB,CAAC,GAAG,MAAM/0Q,EAAErT,SAAS,MAAMza,MAAM1F,EAAE,KAAK,GAAK,kBAAkBwzB,EAAE+0Q,2BAAyB,WAAW/0Q,EAAE+0Q,yBAAyB,MAAM7iS,MAAM1F,EAAE,IAAK,CAAC,GAAG,MAAMwzB,EAAEugC,OAAO,kBAAkBvgC,EAAEugC,MAAM,MAAMruD,MAAM1F,EAAE,IAAK,CAACwzB,EAAEjpB,EAAErQ,EAAEuB,KAAKkuS,iBAAiBQ,EAAE,IAAI1uS,KAAKi7R,MAAM79R,OAAOuxS,EAAE,IAAIrwS,EAAEgT,KAAK/S,EAAE,IAAI,IAAIwQ,EAAExN,QAAQ,KAAK8/E,EAAE,kBAAkBtpD,EAAE6uQ,QAAQ,OAAO73R,GAAG,IAAK,iBAAiB,IAAK,gBAAgB,IAAK,YAAY,IAAK,gBAAgB,IAAK,gBAAgB,IAAK,mBAAmB,IAAK,iBAAiB,IAAK,gBAAgBsyE,GAC1pB,EAAG,MAAM9iF,EAAE,QAAQ8iF,GAAE,EAAG,IAAI2tN,KAAKj3Q,EAAE,GAAG60Q,GAAG7mS,KAAKgyB,EAAEi3Q,GAAG,CAAC,IAAI/zQ,EAAElD,EAAEi3Q,GAAG,GAAG,MAAM/zQ,EAAE,CAAC,GAAG,UAAU+zQ,EAAE,CAAC,IAAItkP,OAAE,EAAOzlD,EAAE,GAAG6lD,EAAE,GAAG,IAAIJ,KAAKzvB,EAAE,GAAGA,EAAEx4B,eAAeioD,GAAG,CAAC,IAAIuX,EAAE,IAAIvX,EAAEnpD,QAAQ,MAAMygE,EAAE/mC,EAAEyvB,GAAG,GAAG,MAAMsX,EAAE,CAAC,GAAGC,EAAE,IAAImf,EAAE12B,OAAO,GAAG02B,EAAE12B,EAAEiiP,GAAGlqS,eAAe2+E,GAAGA,EAAEurN,GAAGvrN,OAAO,CAAC,IAAI0Q,EAAG1Q,EAAE74E,QAAQyjS,GAAG,OAAOh0Q,cAAczvB,QAAQ0jS,GAAG,QAAQ7qN,EAAEurN,GAAGvrN,GAAG0Q,CAAE,CAAC7sF,GAAG6lD,EAAEs2B,EAAE,IAAIt2B,EAAEJ,EAA2HzlD,GAAzHg9D,EAAE,MAAMD,GAAG,mBAAmBA,GAAG,KAAKA,EAAE,GAAGC,GAAG,kBAAkBD,GAAG,IAAIA,GAAGyf,GAAEh/E,eAAeqoD,IAAI22B,GAAE32B,IAAI,GAAGkX,GAAGp8D,OAAOo8D,EAAE,KAAUlX,EAAE,GAAG,CAAC,CAAC7vB,EAAEh2B,GAAG,IAAI,CAACylD,EAAE,KAAK22B,EAAEwrN,GAAGpqS,eAAeusS,KACxftkP,EAAEi7O,EAANj7O,EAAEskP,IAAW,MAAM/zQ,EAAEyvB,EAAE,KAAM67O,EAAEtrQ,GAAG,IAAK,IAAIyvB,EAAE87O,EAAGwI,EAAE/zQ,GAAGyvB,IAAIikP,GAAG,IAAIjkP,EAAE,CAAC,CAACjsD,GAAGiwS,IAAIC,GAAG,sBAAsB,IAAIK,EAAEL,EAAE52Q,EAAE,GAAGgxQ,GAAGtmS,eAAesM,GAAGigS,GAAG,MAAMA,GAAG,IAAIj3Q,EAAE,KAAKz5B,EAAEgT,KAAK,KAAKhT,EAAE,CAA6B,GAAG,OAA/BG,EAAEqQ,EAAEg+R,0BAAoC,GAAG,MAAMruS,EAAEwwS,OAAO,CAACxwS,EAAEA,EAAEwwS,OAAO,MAAM3wS,CAAC,OAAO,GAAgB,kBAAbG,EAAEqQ,EAAE4V,WAA8B,kBAAkBjmB,EAAE,CAACA,EAAE8nS,EAAE9nS,GAAG,MAAMH,CAAC,CAACG,EAAE,IAAI,CACxK,OADyK,MAAMA,GAAGqQ,EAAE,GAAGu9R,GAAG5pS,eAAesM,IAAI,OAAOtQ,EAAEkpD,OAAO,KAAKqnP,GAAG,MAAMA,GAAGvwS,GAAGqQ,EAAE0yE,GAAE1yE,EAAE4V,UAAUpmB,EAAEA,EAAEgT,KAAKxI,EAAE,MAAMA,GAAG,iCAAiCA,EAAEggS,GAAGxqS,GAAG,+BACtewK,GAAG,kBAAkBxK,EAAE,+BAA+BwK,EAAE9I,KAAKi7R,MAAMj8R,KAAK,CAAC8uS,aAAahlS,EAAEwI,KAAKvC,EAAE2V,SAAS5V,EAAEq6F,WAAW,EAAEliG,QAAQ1I,EAAEouG,OAAO50E,IAAI/3B,KAAKiuS,qBAAoB,EAAUe,CAAC,EAAS1wS,CAAC,CAbnL,GAauLa,EAAQ+vS,mBAAmB,WAAW,MAAMjlS,MAAM1F,EAAE,KAAM,EAAEpF,EAAQk+Q,qBAAqB,SAAS/+Q,EAAEC,GAAGD,EAAE,IAAIuvS,GAAGvvS,GAAE,EAAGC,GAAG,IAAI,OAAOD,EAAEo4R,KAAKpiM,IAAS,CAAC,QAAQh2F,EAAE6O,SAAS,CAAC,EAAEhO,EAAQgwS,yBAAyB,WAAW,MAAMllS,MAAM1F,EAAE,KAAM,EAAEpF,EAAQiwS,eAAe,SAAS9wS,EAAEC,GAAGD,EAAE,IAAIuvS,GAAGvvS,GAAE,EAAGC,GAAG,IAAI,OAAOD,EAAEo4R,KAAKpiM,IAAS,CAAC,QAAQh2F,EAAE6O,SAAS,CAAC,EAChhBhO,EAAQm0I,QAAQ,sCCvCH,IAAIwwJ,EAAG9sB,EAAQ,MAASp8O,EAAEo8O,EAAQ,MAAiBhoQ,EAAEgoQ,EAAQ,MAAa,SAASh1M,EAAE1jE,GAAG,IAAI,IAAIC,EAAE,yDAAyDD,EAAEyQ,EAAE,EAAEA,EAAEzK,UAAUlH,OAAO2R,IAAIxQ,GAAG,WAAW62R,mBAAmB9wR,UAAUyK,IAAI,MAAM,yBAAyBzQ,EAAE,WAAWC,EAAE,gHAAgH,CAAC,IAAIulS,EAAG,MAAM75R,MAAM+3D,EAAE,MAAM,IAAI+hO,EAAG,IAAInlS,IAAIolS,EAAG,CAAC,EAAE,SAASC,EAAG3lS,EAAEC,GAAG2lS,EAAG5lS,EAAEC,GAAG2lS,EAAG5lS,EAAE,UAAUC,EAAE,CAC7e,SAAS2lS,EAAG5lS,EAAEC,GAAW,IAARylS,EAAG1lS,GAAGC,EAAMD,EAAE,EAAEA,EAAEC,EAAEnB,OAAOkB,IAAIylS,EAAGhzR,IAAIxS,EAAED,GAAG,CAC5D,IAAI6lS,IAAK,qBAAqB59R,QAAQ,qBAAqBA,OAAOojB,UAAU,qBAAqBpjB,OAAOojB,SAASC,eAAew6Q,EAAG,8VAA8VC,EAAGplS,OAAOiB,UAAUuC,eACrf6hS,EAAG,CAAC,EAAEC,EAAG,CAAC,EAC8M,SAASn5O,EAAE9sD,EAAEC,EAAEwQ,EAAED,EAAErQ,EAAEqK,EAAEivB,GAAG/3B,KAAK6lS,gBAAgB,IAAItnS,GAAG,IAAIA,GAAG,IAAIA,EAAEyB,KAAK+L,cAAc+C,EAAE9O,KAAK8lS,mBAAmBrnS,EAAEuB,KAAK+lS,gBAAgBh3R,EAAE/O,KAAKynH,aAAanpH,EAAE0B,KAAKsR,KAAK/S,EAAEyB,KAAKgmS,YAAYl9R,EAAE9I,KAAKimS,kBAAkBluQ,CAAC,CAAC,IAAIwpD,EAAE,CAAC,EACpb,uIAAuIj+E,MAAM,KAAKvE,SAAQ,SAAST,GAAGijF,EAAEjjF,GAAG,IAAI8sD,EAAE9sD,EAAE,GAAE,EAAGA,EAAE,MAAK,GAAG,EAAG,IAAG,CAAC,CAAC,gBAAgB,kBAAkB,CAAC,YAAY,SAAS,CAAC,UAAU,OAAO,CAAC,YAAY,eAAeS,SAAQ,SAAST,GAAG,IAAIC,EAAED,EAAE,GAAGijF,EAAEhjF,GAAG,IAAI6sD,EAAE7sD,EAAE,GAAE,EAAGD,EAAE,GAAG,MAAK,GAAG,EAAG,IAAG,CAAC,kBAAkB,YAAY,aAAa,SAASS,SAAQ,SAAST,GAAGijF,EAAEjjF,GAAG,IAAI8sD,EAAE9sD,EAAE,GAAE,EAAGA,EAAE05B,cAAc,MAAK,GAAG,EAAG,IAC1e,CAAC,cAAc,4BAA4B,YAAY,iBAAiBj5B,SAAQ,SAAST,GAAGijF,EAAEjjF,GAAG,IAAI8sD,EAAE9sD,EAAE,GAAE,EAAGA,EAAE,MAAK,GAAG,EAAG,IAAG,8OAA8OgF,MAAM,KAAKvE,SAAQ,SAAST,GAAGijF,EAAEjjF,GAAG,IAAI8sD,EAAE9sD,EAAE,GAAE,EAAGA,EAAE05B,cAAc,MAAK,GAAG,EAAG,IACxb,CAAC,UAAU,WAAW,QAAQ,YAAYj5B,SAAQ,SAAST,GAAGijF,EAAEjjF,GAAG,IAAI8sD,EAAE9sD,EAAE,GAAE,EAAGA,EAAE,MAAK,GAAG,EAAG,IAAG,CAAC,UAAU,YAAYS,SAAQ,SAAST,GAAGijF,EAAEjjF,GAAG,IAAI8sD,EAAE9sD,EAAE,GAAE,EAAGA,EAAE,MAAK,GAAG,EAAG,IAAG,CAAC,OAAO,OAAO,OAAO,QAAQS,SAAQ,SAAST,GAAGijF,EAAEjjF,GAAG,IAAI8sD,EAAE9sD,EAAE,GAAE,EAAGA,EAAE,MAAK,GAAG,EAAG,IAAG,CAAC,UAAU,SAASS,SAAQ,SAAST,GAAGijF,EAAEjjF,GAAG,IAAI8sD,EAAE9sD,EAAE,GAAE,EAAGA,EAAE05B,cAAc,MAAK,GAAG,EAAG,IAAG,IAAIutQ,EAAG,gBAAgB,SAASC,EAAGlnS,GAAG,OAAOA,EAAE,GAAG45B,aAAa,CAIxZ,SAASutQ,EAAGnnS,EAAEC,EAAEwQ,EAAED,GAAG,IAAIrQ,EAAE8iF,EAAE9+E,eAAelE,GAAGgjF,EAAEhjF,GAAG,MAAW,OAAOE,EAAE,IAAIA,EAAE6S,MAAKxC,IAAO,EAAEvQ,EAAEnB,SAAS,MAAMmB,EAAE,IAAI,MAAMA,EAAE,MAAI,MAAMA,EAAE,IAAI,MAAMA,EAAE,QAPnJ,SAAYD,EAAEC,EAAEwQ,EAAED,GAAG,GAAG,OAAOvQ,GAAG,qBAAqBA,GADwE,SAAYD,EAAEC,EAAEwQ,EAAED,GAAG,GAAG,OAAOC,GAAG,IAAIA,EAAEuC,KAAK,OAAM,EAAG,cAAc/S,GAAG,IAAK,WAAW,IAAK,SAAS,OAAM,EAAG,IAAK,UAAU,OAAGuQ,IAAc,OAAOC,GAASA,EAAE82R,gBAAmD,WAAnCvnS,EAAEA,EAAE05B,cAActxB,MAAM,EAAE,KAAsB,UAAUpI,GAAE,QAAQ,OAAM,EAAG,CAClU0mS,CAAG1mS,EAAEC,EAAEwQ,EAAED,GAAG,OAAM,EAAG,GAAGA,EAAE,OAAM,EAAG,GAAG,OAAOC,EAAE,OAAOA,EAAEuC,MAAM,KAAK,EAAE,OAAO/S,EAAE,KAAK,EAAE,OAAM,IAAKA,EAAE,KAAK,EAAE,OAAOd,MAAMc,GAAG,KAAK,EAAE,OAAOd,MAAMc,IAAI,EAAEA,EAAE,OAAM,CAAE,CAOvD4uS,CAAG5uS,EAAEwQ,EAAEtQ,EAAEqQ,KAAKC,EAAE,MAAMD,GAAG,OAAOrQ,EARpL,SAAYH,GAAG,QAAG+lS,EAAGt+R,KAAKw+R,EAAGjmS,KAAe+lS,EAAGt+R,KAAKu+R,EAAGhmS,KAAe8lS,EAAGvmS,KAAKS,GAAUimS,EAAGjmS,IAAG,GAAGgmS,EAAGhmS,IAAG,GAAS,GAAE,CAQoEwmS,CAAGvmS,KAAK,OAAOwQ,EAAEzQ,EAAE28D,gBAAgB18D,GAAGD,EAAEu7D,aAAat7D,EAAE,GAAGwQ,IAAItQ,EAAEsnS,gBAAgBznS,EAAEG,EAAEgpH,cAAc,OAAO14G,EAAE,IAAItQ,EAAE6S,MAAQ,GAAGvC,GAAGxQ,EAAEE,EAAEsN,cAAc+C,EAAErQ,EAAEqnS,mBAAmB,OAAO/2R,EAAEzQ,EAAE28D,gBAAgB18D,IAAawQ,EAAE,KAAXtQ,EAAEA,EAAE6S,OAAc,IAAI7S,IAAG,IAAKsQ,EAAE,GAAG,GAAGA,EAAED,EAAExQ,EAAE+wS,eAAevgS,EAAEvQ,EAAEwQ,GAAGzQ,EAAEu7D,aAAat7D,EAAEwQ,KAAK,CAHje,0jCAA0jCzL,MAAM,KAAKvE,SAAQ,SAAST,GAAG,IAAIC,EAAED,EAAEiK,QAAQg9R,EACzmCC,GAAIjkN,EAAEhjF,GAAG,IAAI6sD,EAAE7sD,EAAE,GAAE,EAAGD,EAAE,MAAK,GAAG,EAAG,IAAG,2EAA2EgF,MAAM,KAAKvE,SAAQ,SAAST,GAAG,IAAIC,EAAED,EAAEiK,QAAQg9R,EAAGC,GAAIjkN,EAAEhjF,GAAG,IAAI6sD,EAAE7sD,EAAE,GAAE,EAAGD,EAAE,gCAA+B,GAAG,EAAG,IAAG,CAAC,WAAW,WAAW,aAAaS,SAAQ,SAAST,GAAG,IAAIC,EAAED,EAAEiK,QAAQg9R,EAAGC,GAAIjkN,EAAEhjF,GAAG,IAAI6sD,EAAE7sD,EAAE,GAAE,EAAGD,EAAE,wCAAuC,GAAG,EAAG,IAAG,CAAC,WAAW,eAAeS,SAAQ,SAAST,GAAGijF,EAAEjjF,GAAG,IAAI8sD,EAAE9sD,EAAE,GAAE,EAAGA,EAAE05B,cAAc,MAAK,GAAG,EAAG,IACldupD,EAAE8kN,UAAU,IAAIj7O,EAAE,YAAY,GAAE,EAAG,aAAa,gCAA+B,GAAG,GAAI,CAAC,MAAM,OAAO,SAAS,cAAcrsD,SAAQ,SAAST,GAAGijF,EAAEjjF,GAAG,IAAI8sD,EAAE9sD,EAAE,GAAE,EAAGA,EAAE05B,cAAc,MAAK,GAAG,EAAG,IAE5L,IAAI0tQ,EAAG5B,EAAGiB,mDAAmDY,EAAG,MAAMc,EAAG,MAAMC,EAAG,MAAMN,EAAG,MAAME,EAAG,MAAME,EAAG,MAAM8I,EAAG,MAAM3I,EAAG,MAAMQ,EAAG,MAAMG,EAAG,MAAMC,EAAG,MAAMC,EAAG,MAAMC,EAAG,MAAMC,EAAG,MAAME,EAAG,MAAMC,EAAG,MAAMC,EAAG,MAChN,GAAG,oBAAoBptQ,QAAQA,OAAOy1P,IAAI,CAAC,IAAIqU,EAAE9pQ,OAAOy1P,IAAIwV,EAAGnB,EAAE,iBAAiBiC,EAAGjC,EAAE,gBAAgBkC,EAAGlC,EAAE,kBAAkB4B,EAAG5B,EAAE,qBAAqB8B,EAAG9B,EAAE,kBAAkBgC,EAAGhC,EAAE,kBAAkB8K,EAAG9K,EAAE,iBAAiBmC,EAAGnC,EAAE,qBAAqB2C,EAAG3C,EAAE,kBAAkB8C,EAAG9C,EAAE,uBAAuB+C,EAAG/C,EAAE,cAAcgD,EAAGhD,EAAE,cAAciD,EAAGjD,EAAE,eAAeA,EAAE,eAAekD,EAAGlD,EAAE,mBAAmBoD,EAAGpD,EAAE,0BAA0BqD,EAAGrD,EAAE,mBAAmBsD,EAAGtD,EAAE,sBAAsB,CAC9d,IAAmLsE,EAA/Kd,EAAG,oBAAoBttQ,QAAQA,OAAOC,SAAS,SAASkuQ,EAAGvqS,GAAG,OAAG,OAAOA,GAAG,kBAAkBA,EAAS,KAAwC,oBAAnCA,EAAE0pS,GAAI1pS,EAAE0pS,IAAK1pS,EAAE,eAA0CA,EAAE,IAAI,CAAQ,SAASyqS,EAAGzqS,GAAG,QAAG,IAASwqS,EAAG,IAAI,MAAM7+R,OAAQ,CAAC,MAAM8E,GAAG,IAAIxQ,EAAEwQ,EAAEksR,MAAMr1R,OAAO4C,MAAM,gBAAgBsgS,EAAGvqS,GAAGA,EAAE,IAAI,EAAE,CAAC,MAAM,KAAKuqS,EAAGxqS,CAAC,CAAC,IAAIorS,GAAG,EACjU,SAASqC,EAAGztS,EAAEC,GAAG,IAAID,GAAGorS,EAAG,MAAM,GAAGA,GAAG,EAAG,IAAI36R,EAAE9E,MAAMslS,kBAAkBtlS,MAAMslS,uBAAkB,EAAO,IAAI,GAAGhxS,EAAE,GAAGA,EAAE,WAAW,MAAM0L,OAAQ,EAAEhL,OAAOC,eAAeX,EAAE2B,UAAU,QAAQ,CAAC4E,IAAI,WAAW,MAAMmF,OAAQ,IAAI,kBAAkBiF,SAASA,QAAQsgS,UAAU,CAAC,IAAItgS,QAAQsgS,UAAUjxS,EAAE,GAAG,CAAC,MAAMmsD,GAAG,IAAI57C,EAAE47C,CAAC,CAACx7C,QAAQsgS,UAAUlxS,EAAE,GAAGC,EAAE,KAAK,CAAC,IAAIA,EAAEwH,MAAM,CAAC,MAAM2kD,GAAG57C,EAAE47C,CAAC,CAACpsD,EAAEyH,KAAKxH,EAAE2B,UAAU,KAAK,CAAC,IAAI,MAAM+J,OAAQ,CAAC,MAAMygD,GAAG57C,EAAE47C,CAAC,CAACpsD,GAAG,CAAC,CAAC,MAAMosD,GAAG,GAAGA,GAAG57C,GAAG,kBAAkB47C,EAAEuwO,MAAM,CAAC,IAAI,IAAIx8R,EAAEisD,EAAEuwO,MAAM33R,MAAM,MACnfwF,EAAEgG,EAAEmsR,MAAM33R,MAAM,MAAMy0B,EAAEt5B,EAAErB,OAAO,EAAE8sD,EAAEphD,EAAE1L,OAAO,EAAE,GAAG26B,GAAG,GAAGmyB,GAAGzrD,EAAEs5B,KAAKjvB,EAAEohD,IAAIA,IAAI,KAAK,GAAGnyB,GAAG,GAAGmyB,EAAEnyB,IAAImyB,IAAI,GAAGzrD,EAAEs5B,KAAKjvB,EAAEohD,GAAG,CAAC,GAAG,IAAInyB,GAAG,IAAImyB,EAAG,MAAMnyB,IAAQ,IAAJmyB,GAASzrD,EAAEs5B,KAAKjvB,EAAEohD,GAAG,MAAM,KAAKzrD,EAAEs5B,GAAGxvB,QAAQ,WAAW,cAAc,GAAGwvB,GAAG,GAAGmyB,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQw/O,GAAG,EAAGz/R,MAAMslS,kBAAkBxgS,CAAC,CAAC,OAAOzQ,EAAEA,EAAEA,EAAEizB,aAAajzB,EAAEmH,KAAK,IAAIsjS,EAAGzqS,GAAG,EAAE,CAC/T,SAAS0tS,EAAG1tS,GAAG,OAAOA,EAAEgpR,KAAK,KAAK,EAAE,OAAOyhB,EAAGzqS,EAAEgT,MAAM,KAAK,GAAG,OAAOy3R,EAAG,QAAQ,KAAK,GAAG,OAAOA,EAAG,YAAY,KAAK,GAAG,OAAOA,EAAG,gBAAgB,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,OAAOzqS,EAAEytS,EAAGztS,EAAEgT,MAAK,GAAM,KAAK,GAAG,OAAOhT,EAAEytS,EAAGztS,EAAEgT,KAAK+lQ,QAAO,GAAM,KAAK,GAAG,OAAO/4Q,EAAEytS,EAAGztS,EAAEgT,KAAKqzR,SAAQ,GAAM,KAAK,EAAE,OAAOrmS,EAAEytS,EAAGztS,EAAEgT,MAAK,GAAM,QAAQ,MAAM,GAAG,CACjU,SAAS26R,EAAG3tS,GAAG,GAAG,MAAMA,EAAE,OAAO,KAAK,GAAG,oBAAoBA,EAAE,OAAOA,EAAEizB,aAAajzB,EAAEmH,MAAM,KAAK,GAAG,kBAAkBnH,EAAE,OAAOA,EAAE,OAAOA,GAAG,KAAKooS,EAAG,MAAM,WAAW,KAAKD,EAAG,MAAM,SAAS,KAAKH,EAAG,MAAM,WAAW,KAAKF,EAAG,MAAM,aAAa,KAAKe,EAAG,MAAM,WAAW,KAAKG,EAAG,MAAM,eAAe,GAAG,kBAAkBhpS,EAAE,OAAOA,EAAE4xR,UAAU,KAAKof,EAAG,OAAOhxS,EAAEizB,aAAa,WAAW,YAAY,KAAKi1Q,EAAG,OAAOloS,EAAEomS,SAASnzQ,aAAa,WAAW,YAAY,KAAKo1Q,EAAG,IAAIpoS,EAAED,EAAE+4Q,OACnd,OAD0d94Q,EAAEA,EAAEgzB,aAAahzB,EAAEkH,MAAM,GAC5enH,EAAEizB,cAAc,KAAKhzB,EAAE,cAAcA,EAAE,IAAI,cAAc,KAAKgpS,EAAG,OAAO0E,EAAG3tS,EAAEgT,MAAM,KAAKm2R,EAAG,OAAOwE,EAAG3tS,EAAEqmS,SAAS,KAAK6C,EAAGjpS,EAAED,EAAEsmS,SAAStmS,EAAEA,EAAEumS,MAAM,IAAI,OAAOoH,EAAG3tS,EAAEC,GAAG,CAAC,MAAMwQ,GAAG,EAAE,OAAO,IAAI,CAAC,SAASo9R,EAAG7tS,GAAG,cAAcA,GAAG,IAAK,UAAU,IAAK,SAAS,IAAK,SAAS,IAAK,SAAS,IAAK,YAAY,OAAOA,EAAE,QAAQ,MAAM,GAAG,CAAC,SAAS+tS,EAAG/tS,GAAG,IAAIC,EAAED,EAAEgT,KAAK,OAAOhT,EAAEA,EAAEkhE,WAAW,UAAUlhE,EAAE05B,gBAAgB,aAAaz5B,GAAG,UAAUA,EAAE,CAE5Z,SAASmuS,EAAGpuS,GAAGA,EAAEmxS,gBAAgBnxS,EAAEmxS,cADvD,SAAYnxS,GAAG,IAAIC,EAAE8tS,EAAG/tS,GAAG,UAAU,QAAQyQ,EAAE9P,OAAOgQ,yBAAyB3Q,EAAEoD,YAAYxB,UAAU3B,GAAGuQ,EAAE,GAAGxQ,EAAEC,GAAG,IAAID,EAAEmE,eAAelE,IAAI,qBAAqBwQ,GAAG,oBAAoBA,EAAEtK,KAAK,oBAAoBsK,EAAEjK,IAAI,CAAC,IAAIrG,EAAEsQ,EAAEtK,IAAIqE,EAAEiG,EAAEjK,IAAiL,OAA7K7F,OAAOC,eAAeZ,EAAEC,EAAE,CAACmxS,cAAa,EAAGjrS,IAAI,WAAW,OAAOhG,EAAEsH,KAAK/F,KAAK,EAAE8E,IAAI,SAASxG,GAAGwQ,EAAE,GAAGxQ,EAAEwK,EAAE/C,KAAK/F,KAAK1B,EAAE,IAAIW,OAAOC,eAAeZ,EAAEC,EAAE,CAACoxS,WAAW5gS,EAAE4gS,aAAmB,CAACt6P,SAAS,WAAW,OAAOvmC,CAAC,EAAEytE,SAAS,SAASj+E,GAAGwQ,EAAE,GAAGxQ,CAAC,EAAEsxS,aAAa,WAAWtxS,EAAEmxS,cACxf,YAAYnxS,EAAEC,EAAE,EAAE,CAAC,CAAkDkuS,CAAGnuS,GAAG,CAAC,SAASquS,EAAGruS,GAAG,IAAIA,EAAE,OAAM,EAAG,IAAIC,EAAED,EAAEmxS,cAAc,IAAIlxS,EAAE,OAAM,EAAG,IAAIwQ,EAAExQ,EAAE82C,WAAevmC,EAAE,GAAqD,OAAlDxQ,IAAIwQ,EAAEu9R,EAAG/tS,GAAGA,EAAE4iE,QAAQ,OAAO,QAAQ5iE,EAAEvB,QAAOuB,EAAEwQ,KAAaC,IAAGxQ,EAAEg+E,SAASj+E,IAAG,EAAM,CAAC,SAASywS,EAAGzwS,GAAwD,GAAG,qBAAxDA,EAAEA,IAAI,qBAAqBqrB,SAASA,cAAS,IAAkC,OAAO,KAAK,IAAI,OAAOrrB,EAAEy5F,eAAez5F,EAAE45D,IAAI,CAAC,MAAM35D,GAAG,OAAOD,EAAE45D,IAAI,CAAC,CACpa,SAAS00O,EAAGtuS,EAAEC,GAAG,IAAIwQ,EAAExQ,EAAE2iE,QAAQ,OAAOtmC,EAAE,CAAC,EAAEr8B,EAAE,CAACuwS,oBAAe,EAAOnqS,kBAAa,EAAO5H,WAAM,EAAOmkE,QAAQ,MAAMnyD,EAAEA,EAAEzQ,EAAEuxS,cAAcC,gBAAgB,CAAC,SAASjD,GAAGvuS,EAAEC,GAAG,IAAIwQ,EAAE,MAAMxQ,EAAEoG,aAAa,GAAGpG,EAAEoG,aAAamK,EAAE,MAAMvQ,EAAE2iE,QAAQ3iE,EAAE2iE,QAAQ3iE,EAAEuwS,eAAe//R,EAAEo9R,EAAG,MAAM5tS,EAAExB,MAAMwB,EAAExB,MAAMgS,GAAGzQ,EAAEuxS,cAAc,CAACC,eAAehhS,EAAEgqC,aAAa/pC,EAAEghS,WAAW,aAAaxxS,EAAE+S,MAAM,UAAU/S,EAAE+S,KAAK,MAAM/S,EAAE2iE,QAAQ,MAAM3iE,EAAExB,MAAM,CAAC,SAASkwS,GAAG3uS,EAAEC,GAAe,OAAZA,EAAEA,EAAE2iE,UAAiBukO,EAAGnnS,EAAE,UAAUC,GAAE,EAAG,CAC9d,SAAS2uS,GAAG5uS,EAAEC,GAAG0uS,GAAG3uS,EAAEC,GAAG,IAAIwQ,EAAEo9R,EAAG5tS,EAAExB,OAAO+R,EAAEvQ,EAAE+S,KAAK,GAAG,MAAMvC,EAAK,WAAWD,GAAM,IAAIC,GAAG,KAAKzQ,EAAEvB,OAAOuB,EAAEvB,OAAOgS,KAAEzQ,EAAEvB,MAAM,GAAGgS,GAAOzQ,EAAEvB,QAAQ,GAAGgS,IAAIzQ,EAAEvB,MAAM,GAAGgS,QAAQ,GAAG,WAAWD,GAAG,UAAUA,EAA8B,YAA3BxQ,EAAE28D,gBAAgB,SAAgB18D,EAAEkE,eAAe,SAASorS,GAAGvvS,EAAEC,EAAE+S,KAAKvC,GAAGxQ,EAAEkE,eAAe,iBAAiBorS,GAAGvvS,EAAEC,EAAE+S,KAAK66R,EAAG5tS,EAAEoG,eAAe,MAAMpG,EAAE2iE,SAAS,MAAM3iE,EAAEuwS,iBAAiBxwS,EAAEwwS,iBAAiBvwS,EAAEuwS,eAAe,CACla,SAASh9M,GAAGxzF,EAAEC,EAAEwQ,GAAG,GAAGxQ,EAAEkE,eAAe,UAAUlE,EAAEkE,eAAe,gBAAgB,CAAC,IAAIqM,EAAEvQ,EAAE+S,KAAK,KAAK,WAAWxC,GAAG,UAAUA,QAAG,IAASvQ,EAAExB,OAAO,OAAOwB,EAAExB,OAAO,OAAOwB,EAAE,GAAGD,EAAEuxS,cAAc/2P,aAAa/pC,GAAGxQ,IAAID,EAAEvB,QAAQuB,EAAEvB,MAAMwB,GAAGD,EAAEqG,aAAapG,CAAC,CAAU,MAATwQ,EAAEzQ,EAAEmH,QAAcnH,EAAEmH,KAAK,IAAInH,EAAEwwS,iBAAiBxwS,EAAEuxS,cAAcC,eAAe,KAAK/gS,IAAIzQ,EAAEmH,KAAKsJ,EAAE,CACzV,SAAS8+R,GAAGvvS,EAAEC,EAAEwQ,GAAM,WAAWxQ,GAAGwwS,EAAGzwS,EAAEk0I,iBAAiBl0I,IAAE,MAAMyQ,EAAEzQ,EAAEqG,aAAa,GAAGrG,EAAEuxS,cAAc/2P,aAAax6C,EAAEqG,eAAe,GAAGoK,IAAIzQ,EAAEqG,aAAa,GAAGoK,GAAE,CAAsF,SAASihS,GAAG1xS,EAAEC,GAA6D,OAA1DD,EAAEs8B,EAAE,CAAClW,cAAS,GAAQnmB,IAAMA,EAAlI,SAAYD,GAAG,IAAIC,EAAE,GAAuD,OAApDulS,EAAGvT,SAASxxR,QAAQT,GAAE,SAASA,GAAG,MAAMA,IAAIC,GAAGD,EAAE,IAAUC,CAAC,CAAgD0xS,CAAG1xS,EAAEmmB,aAAUpmB,EAAEomB,SAASnmB,GAASD,CAAC,CACxU,SAAS4xS,GAAG5xS,EAAEC,EAAEwQ,EAAED,GAAe,GAAZxQ,EAAEA,EAAEusB,QAAWtsB,EAAE,CAACA,EAAE,CAAC,EAAE,IAAI,IAAIE,EAAE,EAAEA,EAAEsQ,EAAE3R,OAAOqB,IAAIF,EAAE,IAAIwQ,EAAEtQ,KAAI,EAAG,IAAIsQ,EAAE,EAAEA,EAAEzQ,EAAElB,OAAO2R,IAAItQ,EAAEF,EAAEkE,eAAe,IAAInE,EAAEyQ,GAAGhS,OAAOuB,EAAEyQ,GAAGy2D,WAAW/mE,IAAIH,EAAEyQ,GAAGy2D,SAAS/mE,GAAGA,GAAGqQ,IAAIxQ,EAAEyQ,GAAGohS,iBAAgB,EAAG,KAAK,CAAmB,IAAlBphS,EAAE,GAAGo9R,EAAGp9R,GAAGxQ,EAAE,KAASE,EAAE,EAAEA,EAAEH,EAAElB,OAAOqB,IAAI,CAAC,GAAGH,EAAEG,GAAG1B,QAAQgS,EAAiD,OAA9CzQ,EAAEG,GAAG+mE,UAAS,OAAG12D,IAAIxQ,EAAEG,GAAG0xS,iBAAgB,IAAW,OAAO5xS,GAAGD,EAAEG,GAAGs8D,WAAWx8D,EAAED,EAAEG,GAAG,CAAC,OAAOF,IAAIA,EAAEinE,UAAS,EAAG,CAAC,CACxY,SAAS4qO,GAAG9xS,EAAEC,GAAG,GAAG,MAAMA,EAAEuuS,wBAAwB,MAAM7iS,MAAM+3D,EAAE,KAAK,OAAOpnC,EAAE,CAAC,EAAEr8B,EAAE,CAACxB,WAAM,EAAO4H,kBAAa,EAAO+f,SAAS,GAAGpmB,EAAEuxS,cAAc/2P,cAAc,CAAC,SAASu3P,GAAG/xS,EAAEC,GAAG,IAAIwQ,EAAExQ,EAAExB,MAAM,GAAG,MAAMgS,EAAE,CAA+B,GAA9BA,EAAExQ,EAAEmmB,SAASnmB,EAAEA,EAAEoG,aAAgB,MAAMoK,EAAE,CAAC,GAAG,MAAMxQ,EAAE,MAAM0L,MAAM+3D,EAAE,KAAK,GAAGnhE,MAAMC,QAAQiO,GAAG,CAAC,KAAK,GAAGA,EAAE3R,QAAQ,MAAM6M,MAAM+3D,EAAE,KAAKjzD,EAAEA,EAAE,EAAE,CAACxQ,EAAEwQ,CAAC,CAAC,MAAMxQ,IAAIA,EAAE,IAAIwQ,EAAExQ,CAAC,CAACD,EAAEuxS,cAAc,CAAC/2P,aAAaqzP,EAAGp9R,GAAG,CAClZ,SAASuhS,GAAGhyS,EAAEC,GAAG,IAAIwQ,EAAEo9R,EAAG5tS,EAAExB,OAAO+R,EAAEq9R,EAAG5tS,EAAEoG,cAAc,MAAMoK,KAAIA,EAAE,GAAGA,KAAMzQ,EAAEvB,QAAQuB,EAAEvB,MAAMgS,GAAG,MAAMxQ,EAAEoG,cAAcrG,EAAEqG,eAAeoK,IAAIzQ,EAAEqG,aAAaoK,IAAI,MAAMD,IAAIxQ,EAAEqG,aAAa,GAAGmK,EAAE,CAAC,SAASyhS,GAAGjyS,GAAG,IAAIC,EAAED,EAAEkyS,YAAYjyS,IAAID,EAAEuxS,cAAc/2P,cAAc,KAAKv6C,GAAG,OAAOA,IAAID,EAAEvB,MAAMwB,EAAE,CAAC,IAAIkyS,GAAG,CAACC,KAAK,+BAA+BC,OAAO,qCAAqCC,IAAI,8BAC9X,SAASC,GAAGvyS,GAAG,OAAOA,GAAG,IAAK,MAAM,MAAM,6BAA6B,IAAK,OAAO,MAAM,qCAAqC,QAAQ,MAAM,+BAA+B,CAAC,SAASwyS,GAAGxyS,EAAEC,GAAG,OAAO,MAAMD,GAAG,iCAAiCA,EAAEuyS,GAAGtyS,GAAG,+BAA+BD,GAAG,kBAAkBC,EAAE,+BAA+BD,CAAC,CAC5U,IAAIyyS,GAAezyS,GAAZ0yS,IAAY1yS,GAAsJ,SAASA,EAAEC,GAAG,GAAGD,EAAE2yS,eAAeR,GAAGG,KAAK,cAActyS,EAAEA,EAAEu+D,UAAUt+D,MAAM,CAA2F,KAA1FwyS,GAAGA,IAAIpnR,SAASC,cAAc,QAAUizC,UAAU,QAAQt+D,EAAEuyR,UAAUxzR,WAAW,SAAaiB,EAAEwyS,GAAG3zO,WAAW9+D,EAAE8+D,YAAY9+D,EAAEm6D,YAAYn6D,EAAE8+D,YAAY,KAAK7+D,EAAE6+D,YAAY9+D,EAAE+5D,YAAY95D,EAAE6+D,WAAW,CAAC,EAAja,qBAAqB8zO,OAAOA,MAAMC,wBAAwB,SAAS5yS,EAAEwQ,EAAED,EAAErQ,GAAGyyS,MAAMC,yBAAwB,WAAW,OAAO7yS,GAAEC,EAAEwQ,EAAM,GAAE,EAAEzQ,IACtK,SAAS8yS,GAAG9yS,EAAEC,GAAG,GAAGA,EAAE,CAAC,IAAIwQ,EAAEzQ,EAAE8+D,WAAW,GAAGruD,GAAGA,IAAIzQ,EAAEoiE,WAAW,IAAI3xD,EAAEwwD,SAAwB,YAAdxwD,EAAEsiS,UAAU9yS,EAAS,CAACD,EAAEkyS,YAAYjyS,CAAC,CACtH,IAAI+yS,GAAG,CAAC1H,yBAAwB,EAAGC,mBAAkB,EAAGC,kBAAiB,EAAGC,kBAAiB,EAAGC,SAAQ,EAAGC,cAAa,EAAGC,iBAAgB,EAAGC,aAAY,EAAG5uR,SAAQ,EAAGtF,MAAK,EAAGm0R,UAAS,EAAGC,cAAa,EAAGC,YAAW,EAAGC,cAAa,EAAGC,WAAU,EAAGC,UAAS,EAAG/+E,SAAQ,EAAGg/E,YAAW,EAAGC,aAAY,EAAGC,cAAa,EAAGtgE,YAAW,EAAGugE,eAAc,EAAGC,gBAAe,EAAGC,iBAAgB,EAAGC,YAAW,EAAGC,WAAU,EAAGhgI,YAAW,EAAGryG,SAAQ,EAAGsyO,OAAM,EAAGC,SAAQ,EAAGC,SAAQ,EAAGC,QAAO,EAAG37I,QAAO,EAAG47I,MAAK,EAAGC,aAAY,EAC1fC,cAAa,EAAGC,aAAY,EAAGC,iBAAgB,EAAGC,kBAAiB,EAAGC,kBAAiB,EAAGC,eAAc,EAAGC,aAAY,GAAIyF,GAAG,CAAC,SAAS,KAAK,MAAM,KAA6H,SAASC,GAAGlzS,EAAEC,EAAEwQ,GAAG,OAAO,MAAMxQ,GAAG,mBAAmBA,GAAG,KAAKA,EAAE,GAAGwQ,GAAG,kBAAkBxQ,GAAG,IAAIA,GAAG+yS,GAAG7uS,eAAenE,IAAIgzS,GAAGhzS,IAAI,GAAGC,GAAGqH,OAAOrH,EAAE,IAAI,CACla,SAASkzS,GAAGnzS,EAAEC,GAAa,IAAI,IAAIwQ,KAAlBzQ,EAAEA,EAAEg6D,MAAmB/5D,EAAE,GAAGA,EAAEkE,eAAesM,GAAG,CAAC,IAAID,EAAE,IAAIC,EAAExN,QAAQ,MAAM9C,EAAE+yS,GAAGziS,EAAExQ,EAAEwQ,GAAGD,GAAG,UAAUC,IAAIA,EAAE,YAAYD,EAAExQ,EAAEsD,YAAYmN,EAAEtQ,GAAGH,EAAEyQ,GAAGtQ,CAAC,CAAC,CADXQ,OAAOmB,KAAKkxS,IAAIvyS,SAAQ,SAAST,GAAGizS,GAAGxyS,SAAQ,SAASR,GAAGA,EAAEA,EAAED,EAAEqpD,OAAO,GAAGzvB,cAAc55B,EAAE+N,UAAU,GAAGilS,GAAG/yS,GAAG+yS,GAAGhzS,EAAE,GAAE,IACzG,IAAIozS,GAAG92Q,EAAE,CAAC+uQ,UAAS,GAAI,CAACX,MAAK,EAAGC,MAAK,EAAGC,IAAG,EAAGpkR,KAAI,EAAGqkR,OAAM,EAAGC,IAAG,EAAGC,KAAI,EAAG//O,OAAM,EAAGggP,QAAO,EAAGC,MAAK,EAAGl2C,MAAK,EAAGr+J,OAAM,EAAGlzF,QAAO,EAAG0nS,OAAM,EAAGC,KAAI,IAClT,SAASkI,GAAGrzS,EAAEC,GAAG,GAAGA,EAAE,CAAC,GAAGmzS,GAAGpzS,KAAK,MAAMC,EAAEmmB,UAAU,MAAMnmB,EAAEuuS,yBAAyB,MAAM7iS,MAAM+3D,EAAE,IAAI1jE,IAAI,GAAG,MAAMC,EAAEuuS,wBAAwB,CAAC,GAAG,MAAMvuS,EAAEmmB,SAAS,MAAMza,MAAM+3D,EAAE,KAAK,GAAK,kBAAkBzjE,EAAEuuS,2BAAyB,WAAWvuS,EAAEuuS,yBAAyB,MAAM7iS,MAAM+3D,EAAE,IAAK,CAAC,GAAG,MAAMzjE,EAAE+5D,OAAO,kBAAkB/5D,EAAE+5D,MAAM,MAAMruD,MAAM+3D,EAAE,IAAK,CAAC,CAClW,SAAS4vO,GAAGtzS,EAAEC,GAAG,IAAI,IAAID,EAAEiD,QAAQ,KAAK,MAAM,kBAAkBhD,EAAEqoS,GAAG,OAAOtoS,GAAG,IAAK,iBAAiB,IAAK,gBAAgB,IAAK,YAAY,IAAK,gBAAgB,IAAK,gBAAgB,IAAK,mBAAmB,IAAK,iBAAiB,IAAK,gBAAgB,OAAM,EAAG,QAAQ,OAAM,EAAG,CAAC,SAASuzS,GAAGvzS,GAA6F,OAA1FA,EAAEA,EAAEyD,QAAQzD,EAAEwzS,YAAYvrS,QAASwrS,0BAA0BzzS,EAAEA,EAAEyzS,yBAAgC,IAAIzzS,EAAEihE,SAASjhE,EAAE26D,WAAW36D,CAAC,CAAC,IAAI0zS,GAAG,KAAKC,GAAG,KAAKC,GAAG,KACxb,SAASC,GAAG7zS,GAAG,GAAGA,EAAE8zS,GAAG9zS,GAAG,CAAC,GAAG,oBAAoB0zS,GAAG,MAAM/nS,MAAM+3D,EAAE,MAAM,IAAIzjE,EAAED,EAAE+zS,UAAU9zS,IAAIA,EAAE+zS,GAAG/zS,GAAGyzS,GAAG1zS,EAAE+zS,UAAU/zS,EAAEgT,KAAK/S,GAAG,CAAC,CAAC,SAASg0S,GAAGj0S,GAAG2zS,GAAGC,GAAGA,GAAGlzS,KAAKV,GAAG4zS,GAAG,CAAC5zS,GAAG2zS,GAAG3zS,CAAC,CAAC,SAASk0S,KAAK,GAAGP,GAAG,CAAC,IAAI3zS,EAAE2zS,GAAG1zS,EAAE2zS,GAAoB,GAAjBA,GAAGD,GAAG,KAAKE,GAAG7zS,GAAMC,EAAE,IAAID,EAAE,EAAEA,EAAEC,EAAEnB,OAAOkB,IAAI6zS,GAAG5zS,EAAED,GAAG,CAAC,CAAC,SAASm0S,GAAGn0S,EAAEC,GAAG,OAAOD,EAAEC,EAAE,CAAC,SAASm0S,GAAGp0S,EAAEC,EAAEwQ,EAAED,EAAErQ,GAAG,OAAOH,EAAEC,EAAEwQ,EAAED,EAAErQ,EAAE,CAAC,SAASk0S,KAAK,CAAC,IAAIC,GAAGH,GAAGI,IAAG,EAAGC,IAAG,EAAG,SAASC,KAAQ,OAAOd,IAAI,OAAOC,KAAGS,KAAKH,KAAI,CAEla,SAASQ,GAAG10S,EAAEC,GAAG,IAAIwQ,EAAEzQ,EAAE+zS,UAAU,GAAG,OAAOtjS,EAAE,OAAO,KAAK,IAAID,EAAEwjS,GAAGvjS,GAAG,GAAG,OAAOD,EAAE,OAAO,KAAKC,EAAED,EAAEvQ,GAAGD,EAAE,OAAOC,GAAG,IAAK,UAAU,IAAK,iBAAiB,IAAK,gBAAgB,IAAK,uBAAuB,IAAK,cAAc,IAAK,qBAAqB,IAAK,cAAc,IAAK,qBAAqB,IAAK,YAAY,IAAK,mBAAmB,IAAK,gBAAgBuQ,GAAGA,EAAEisD,YAAqBjsD,IAAI,YAAbxQ,EAAEA,EAAEgT,OAAuB,UAAUhT,GAAG,WAAWA,GAAG,aAAaA,IAAIA,GAAGwQ,EAAE,MAAMxQ,EAAE,QAAQA,GAAE,EAAG,GAAGA,EAAE,OAAO,KAAK,GAAGyQ,GAAG,oBACleA,EAAE,MAAM9E,MAAM+3D,EAAE,IAAIzjE,SAASwQ,IAAI,OAAOA,CAAC,CAAC,IAAIkkS,IAAG,EAAG,GAAG9O,EAAG,IAAI,IAAI+O,GAAG,CAAC,EAAEj0S,OAAOC,eAAeg0S,GAAG,UAAU,CAACzuS,IAAI,WAAWwuS,IAAG,CAAE,IAAI1sS,OAAOsK,iBAAiB,OAAOqiS,GAAGA,IAAI3sS,OAAOyK,oBAAoB,OAAOkiS,GAAGA,GAAG,CAAC,MAAM50S,IAAG20S,IAAG,CAAE,CAAC,SAASE,GAAG70S,EAAEC,EAAEwQ,EAAED,EAAErQ,EAAEqK,EAAEivB,EAAEmyB,EAAEQ,GAAG,IAAIysL,EAAEt2O,MAAMX,UAAUwG,MAAMX,KAAKzB,UAAU,GAAG,IAAI/F,EAAEyH,MAAM+I,EAAEooO,EAAE,CAAC,MAAMl8M,GAAGj7B,KAAKozS,QAAQn4Q,EAAE,CAAC,CAAC,IAAIo4Q,IAAG,EAAGC,GAAG,KAAKC,IAAG,EAAGC,GAAG,KAAKC,GAAG,CAACL,QAAQ,SAAS90S,GAAG+0S,IAAG,EAAGC,GAAGh1S,CAAC,GAAG,SAASo1S,GAAGp1S,EAAEC,EAAEwQ,EAAED,EAAErQ,EAAEqK,EAAEivB,EAAEmyB,EAAEQ,GAAG2oP,IAAG,EAAGC,GAAG,KAAKH,GAAGntS,MAAMytS,GAAGnvS,UAAU,CACjW,SAASqvS,GAAGr1S,GAAG,IAAIC,EAAED,EAAEyQ,EAAEzQ,EAAE,GAAGA,EAAEs1S,UAAU,KAAKr1S,EAAEmlC,QAAQnlC,EAAEA,EAAEmlC,WAAW,CAACplC,EAAEC,EAAE,GAAO,KAAa,MAAjBA,EAAED,GAASu1S,SAAc9kS,EAAExQ,EAAEmlC,QAAQplC,EAAEC,EAAEmlC,aAAaplC,EAAE,CAAC,OAAO,IAAIC,EAAE+oR,IAAIv4Q,EAAE,IAAI,CAAC,SAAS+kS,GAAGx1S,GAAG,GAAG,KAAKA,EAAEgpR,IAAI,CAAC,IAAI/oR,EAAED,EAAE8oS,cAAsE,GAAxD,OAAO7oS,IAAkB,QAAdD,EAAEA,EAAEs1S,aAAqBr1S,EAAED,EAAE8oS,gBAAmB,OAAO7oS,EAAE,OAAOA,EAAEw1S,UAAU,CAAC,OAAO,IAAI,CAAC,SAASC,GAAG11S,GAAG,GAAGq1S,GAAGr1S,KAAKA,EAAE,MAAM2L,MAAM+3D,EAAE,KAAM,CAE1S,SAASiyO,GAAG31S,GAAW,GAARA,EADtN,SAAYA,GAAG,IAAIC,EAAED,EAAEs1S,UAAU,IAAIr1S,EAAE,CAAS,GAAG,QAAXA,EAAEo1S,GAAGr1S,IAAe,MAAM2L,MAAM+3D,EAAE,MAAM,OAAOzjE,IAAID,EAAE,KAAKA,CAAC,CAAC,IAAI,IAAIyQ,EAAEzQ,EAAEwQ,EAAEvQ,IAAI,CAAC,IAAIE,EAAEsQ,EAAE20B,OAAO,GAAG,OAAOjlC,EAAE,MAAM,IAAIqK,EAAErK,EAAEm1S,UAAU,GAAG,OAAO9qS,EAAE,CAAY,GAAG,QAAdgG,EAAErQ,EAAEilC,QAAmB,CAAC30B,EAAED,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAGrQ,EAAEumB,QAAQlc,EAAEkc,MAAM,CAAC,IAAIlc,EAAErK,EAAEumB,MAAMlc,GAAG,CAAC,GAAGA,IAAIiG,EAAE,OAAOilS,GAAGv1S,GAAGH,EAAE,GAAGwK,IAAIgG,EAAE,OAAOklS,GAAGv1S,GAAGF,EAAEuK,EAAEA,EAAEs3D,OAAO,CAAC,MAAMn2D,MAAM+3D,EAAE,KAAM,CAAC,GAAGjzD,EAAE20B,SAAS50B,EAAE40B,OAAO30B,EAAEtQ,EAAEqQ,EAAEhG,MAAM,CAAC,IAAI,IAAIivB,GAAE,EAAGmyB,EAAEzrD,EAAEumB,MAAMklC,GAAG,CAAC,GAAGA,IAAIn7C,EAAE,CAACgpB,GAAE,EAAGhpB,EAAEtQ,EAAEqQ,EAAEhG,EAAE,KAAK,CAAC,GAAGohD,IAAIp7C,EAAE,CAACipB,GAAE,EAAGjpB,EAAErQ,EAAEsQ,EAAEjG,EAAE,KAAK,CAACohD,EAAEA,EAAEkW,OAAO,CAAC,IAAIroC,EAAE,CAAC,IAAImyB,EAAEphD,EAAEkc,MAAMklC,GAAG,CAAC,GAAGA,IAC5fn7C,EAAE,CAACgpB,GAAE,EAAGhpB,EAAEjG,EAAEgG,EAAErQ,EAAE,KAAK,CAAC,GAAGyrD,IAAIp7C,EAAE,CAACipB,GAAE,EAAGjpB,EAAEhG,EAAEiG,EAAEtQ,EAAE,KAAK,CAACyrD,EAAEA,EAAEkW,OAAO,CAAC,IAAIroC,EAAE,MAAM9tB,MAAM+3D,EAAE,KAAM,CAAC,CAAC,GAAGjzD,EAAE6kS,YAAY9kS,EAAE,MAAM7E,MAAM+3D,EAAE,KAAM,CAAC,GAAG,IAAIjzD,EAAEu4Q,IAAI,MAAMr9Q,MAAM+3D,EAAE,MAAM,OAAOjzD,EAAEsjS,UAAUv0B,UAAU/uQ,EAAEzQ,EAAEC,CAAC,CAAkB2sD,CAAG5sD,IAAOA,EAAE,OAAO,KAAK,IAAI,IAAIC,EAAED,IAAI,CAAC,GAAG,IAAIC,EAAE+oR,KAAK,IAAI/oR,EAAE+oR,IAAI,OAAO/oR,EAAE,GAAGA,EAAEymB,MAAMzmB,EAAEymB,MAAM0e,OAAOnlC,EAAEA,EAAEA,EAAEymB,UAAU,CAAC,GAAGzmB,IAAID,EAAE,MAAM,MAAMC,EAAE6hE,SAAS,CAAC,IAAI7hE,EAAEmlC,QAAQnlC,EAAEmlC,SAASplC,EAAE,OAAO,KAAKC,EAAEA,EAAEmlC,MAAM,CAACnlC,EAAE6hE,QAAQ18B,OAAOnlC,EAAEmlC,OAAOnlC,EAAEA,EAAE6hE,OAAO,CAAC,CAAC,OAAO,IAAI,CAChd,SAAS8zO,GAAG51S,EAAEC,GAAG,IAAI,IAAIwQ,EAAEzQ,EAAEs1S,UAAU,OAAOr1S,GAAG,CAAC,GAAGA,IAAID,GAAGC,IAAIwQ,EAAE,OAAM,EAAGxQ,EAAEA,EAAEmlC,MAAM,CAAC,OAAM,CAAE,CAAC,IAAIywQ,GAAGC,GAAGnpP,GAAGopP,GAAGC,IAAG,EAAGC,GAAG,GAAGC,GAAG,KAAKC,GAAG,KAAKC,GAAG,KAAKC,GAAG,IAAI91S,IAAI+1S,GAAG,IAAI/1S,IAAI8qD,GAAG,GAAGkrP,GAAG,6PAA6PvxS,MAAM,KACrb,SAAS0nD,GAAG1sD,EAAEC,EAAEwQ,EAAED,EAAErQ,GAAG,MAAM,CAACq2S,UAAUx2S,EAAEy2S,aAAax2S,EAAEy2S,iBAAmB,GAAFjmS,EAAKkmS,YAAYx2S,EAAEy2S,iBAAiB,CAACpmS,GAAG,CAAC,SAASqmS,GAAG72S,EAAEC,GAAG,OAAOD,GAAG,IAAK,UAAU,IAAK,WAAWk2S,GAAG,KAAK,MAAM,IAAK,YAAY,IAAK,YAAYC,GAAG,KAAK,MAAM,IAAK,YAAY,IAAK,WAAWC,GAAG,KAAK,MAAM,IAAK,cAAc,IAAK,aAAaC,GAAG1jS,OAAO1S,EAAE62S,WAAW,MAAM,IAAK,oBAAoB,IAAK,qBAAqBR,GAAG3jS,OAAO1S,EAAE62S,WAAW,CACta,SAASC,GAAG/2S,EAAEC,EAAEwQ,EAAED,EAAErQ,EAAEqK,GAAG,OAAG,OAAOxK,GAAGA,EAAE22S,cAAcnsS,GAASxK,EAAE0sD,GAAGzsD,EAAEwQ,EAAED,EAAErQ,EAAEqK,GAAG,OAAOvK,IAAY,QAARA,EAAE6zS,GAAG7zS,KAAa61S,GAAG71S,IAAID,IAAEA,EAAE02S,kBAAkBlmS,EAAEvQ,EAAED,EAAE42S,iBAAiB,OAAOz2S,IAAI,IAAIF,EAAEgD,QAAQ9C,IAAIF,EAAES,KAAKP,GAAUH,EAAC,CAE/M,SAASg3S,GAAGh3S,GAAG,IAAIC,EAAEg3S,GAAGj3S,EAAEyD,QAAQ,GAAG,OAAOxD,EAAE,CAAC,IAAIwQ,EAAE4kS,GAAGp1S,GAAG,GAAG,OAAOwQ,EAAE,GAAW,MAARxQ,EAAEwQ,EAAEu4Q,MAAY,GAAW,QAAR/oR,EAAEu1S,GAAG/kS,IAAmH,OAAtGzQ,EAAEw2S,UAAUv2S,OAAE81S,GAAG/1S,EAAEk3S,cAAa,WAAWxmS,EAAEymS,yBAAyBn3S,EAAEo3S,UAAS,WAAWzqP,GAAGl8C,EAAE,GAAE,SAAgB,GAAG,IAAIxQ,GAAGwQ,EAAEsjS,UAAUsD,QAA8D,YAArDr3S,EAAEw2S,UAAU,IAAI/lS,EAAEu4Q,IAAIv4Q,EAAEsjS,UAAUuD,cAAc,KAAY,CAACt3S,EAAEw2S,UAAU,IAAI,CAC9U,SAASe,GAAGv3S,GAAG,GAAG,OAAOA,EAAEw2S,UAAU,OAAM,EAAG,IAAI,IAAIv2S,EAAED,EAAE42S,iBAAiB,EAAE32S,EAAEnB,QAAQ,CAAC,IAAI2R,EAAE+mS,GAAGx3S,EAAEy2S,aAAaz2S,EAAE02S,iBAAiBz2S,EAAE,GAAGD,EAAE22S,aAAa,GAAG,OAAOlmS,EAAE,OAAe,QAARxQ,EAAE6zS,GAAGrjS,KAAaqlS,GAAG71S,GAAGD,EAAEw2S,UAAU/lS,GAAE,EAAGxQ,EAAEsG,OAAO,CAAC,OAAM,CAAE,CAAC,SAASkxS,GAAGz3S,EAAEC,EAAEwQ,GAAG8mS,GAAGv3S,IAAIyQ,EAAEkC,OAAO1S,EAAE,CAC3Q,SAASy3S,KAAK,IAAI1B,IAAG,EAAG,EAAEC,GAAGn3S,QAAQ,CAAC,IAAIkB,EAAEi2S,GAAG,GAAG,GAAG,OAAOj2S,EAAEw2S,UAAU,CAAmB,QAAlBx2S,EAAE8zS,GAAG9zS,EAAEw2S,aAAqBX,GAAG71S,GAAG,KAAK,CAAC,IAAI,IAAIC,EAAED,EAAE42S,iBAAiB,EAAE32S,EAAEnB,QAAQ,CAAC,IAAI2R,EAAE+mS,GAAGx3S,EAAEy2S,aAAaz2S,EAAE02S,iBAAiBz2S,EAAE,GAAGD,EAAE22S,aAAa,GAAG,OAAOlmS,EAAE,CAACzQ,EAAEw2S,UAAU/lS,EAAE,KAAK,CAACxQ,EAAEsG,OAAO,CAAC,OAAOvG,EAAEw2S,WAAWP,GAAG1vS,OAAO,CAAC,OAAO2vS,IAAIqB,GAAGrB,MAAMA,GAAG,MAAM,OAAOC,IAAIoB,GAAGpB,MAAMA,GAAG,MAAM,OAAOC,IAAImB,GAAGnB,MAAMA,GAAG,MAAMC,GAAG51S,QAAQg3S,IAAInB,GAAG71S,QAAQg3S,GAAG,CACxZ,SAASE,GAAG33S,EAAEC,GAAGD,EAAEw2S,YAAYv2S,IAAID,EAAEw2S,UAAU,KAAKR,KAAKA,IAAG,EAAGtlS,EAAEknS,0BAA0BlnS,EAAEmnS,wBAAwBH,KAAK,CAC1H,SAASI,GAAG93S,GAAG,SAASC,EAAEA,GAAG,OAAO03S,GAAG13S,EAAED,EAAE,CAAC,GAAG,EAAEi2S,GAAGn3S,OAAO,CAAC64S,GAAG1B,GAAG,GAAGj2S,GAAG,IAAI,IAAIyQ,EAAE,EAAEA,EAAEwlS,GAAGn3S,OAAO2R,IAAI,CAAC,IAAID,EAAEylS,GAAGxlS,GAAGD,EAAEgmS,YAAYx2S,IAAIwQ,EAAEgmS,UAAU,KAAK,CAAC,CAAyF,IAAxF,OAAON,IAAIyB,GAAGzB,GAAGl2S,GAAG,OAAOm2S,IAAIwB,GAAGxB,GAAGn2S,GAAG,OAAOo2S,IAAIuB,GAAGvB,GAAGp2S,GAAGq2S,GAAG51S,QAAQR,GAAGq2S,GAAG71S,QAAQR,GAAOwQ,EAAE,EAAEA,EAAE46C,GAAGvsD,OAAO2R,KAAID,EAAE66C,GAAG56C,IAAK+lS,YAAYx2S,IAAIwQ,EAAEgmS,UAAU,MAAM,KAAK,EAAEnrP,GAAGvsD,QAAiB,QAAR2R,EAAE46C,GAAG,IAAYmrP,WAAYQ,GAAGvmS,GAAG,OAAOA,EAAE+lS,WAAWnrP,GAAG9kD,OAAO,CACtY,SAASwxS,GAAG/3S,EAAEC,GAAG,IAAIwQ,EAAE,CAAC,EAAiF,OAA/EA,EAAEzQ,EAAE05B,eAAez5B,EAAEy5B,cAAcjpB,EAAE,SAASzQ,GAAG,SAASC,EAAEwQ,EAAE,MAAMzQ,GAAG,MAAMC,EAASwQ,CAAC,CAAC,IAAIunS,GAAG,CAACC,aAAaF,GAAG,YAAY,gBAAgBG,mBAAmBH,GAAG,YAAY,sBAAsBI,eAAeJ,GAAG,YAAY,kBAAkBK,cAAcL,GAAG,aAAa,kBAAkBM,GAAG,CAAC,EAAEC,GAAG,CAAC,EACpF,SAASC,GAAGv4S,GAAG,GAAGq4S,GAAGr4S,GAAG,OAAOq4S,GAAGr4S,GAAG,IAAIg4S,GAAGh4S,GAAG,OAAOA,EAAE,IAAYyQ,EAARxQ,EAAE+3S,GAAGh4S,GAAK,IAAIyQ,KAAKxQ,EAAE,GAAGA,EAAEkE,eAAesM,IAAIA,KAAK6nS,GAAG,OAAOD,GAAGr4S,GAAGC,EAAEwQ,GAAG,OAAOzQ,CAAC,CAA/X6lS,IAAKyS,GAAGjtR,SAASC,cAAc,OAAO0uC,MAAM,mBAAmB/xD,gBAAgB+vS,GAAGC,aAAaO,iBAAiBR,GAAGE,mBAAmBM,iBAAiBR,GAAGG,eAAeK,WAAW,oBAAoBvwS,eAAe+vS,GAAGI,cAAcj6I,YACxO,IAAIs6I,GAAGF,GAAG,gBAAgBG,GAAGH,GAAG,sBAAsBI,GAAGJ,GAAG,kBAAkBK,GAAGL,GAAG,iBAAiBM,GAAG,IAAIt4S,IAAIu4S,GAAG,IAAIv4S,IAAIw4S,GAAG,CAAC,QAAQ,QAAQN,GAAG,eAAeC,GAAG,qBAAqBC,GAAG,iBAAiB,UAAU,UAAU,iBAAiB,iBAAiB,iBAAiB,iBAAiB,UAAU,UAAU,YAAY,YAAY,QAAQ,QAAQ,QAAQ,QAAQ,oBAAoB,oBAAoB,OAAO,OAAO,aAAa,aAAa,iBAAiB,iBAAiB,YAAY,YAC/e,qBAAqB,qBAAqB,UAAU,UAAU,WAAW,WAAW,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,aAAa,aAAaC,GAAG,gBAAgB,UAAU,WAAW,SAASI,GAAGh5S,EAAEC,GAAG,IAAI,IAAIwQ,EAAE,EAAEA,EAAEzQ,EAAElB,OAAO2R,GAAG,EAAE,CAAC,IAAID,EAAExQ,EAAEyQ,GAAGtQ,EAAEH,EAAEyQ,EAAE,GAAGtQ,EAAE,MAAMA,EAAE,GAAGy5B,cAAcz5B,EAAEiI,MAAM,IAAI0wS,GAAGtyS,IAAIgK,EAAEvQ,GAAG44S,GAAGryS,IAAIgK,EAAErQ,GAAGwlS,EAAGxlS,EAAE,CAACqQ,GAAG,CAAC,EAAuByoS,EAAfvoS,EAAEwoS,gBAAkB,IAAI/S,GAAE,EAC/X,SAASgT,GAAGn5S,GAAG,GAAG,KAAK,EAAEA,GAAG,OAAOmmS,GAAE,GAAG,EAAE,GAAG,KAAK,EAAEnmS,GAAG,OAAOmmS,GAAE,GAAG,EAAE,GAAG,KAAK,EAAEnmS,GAAG,OAAOmmS,GAAE,GAAG,EAAE,IAAIlmS,EAAE,GAAGD,EAAE,OAAG,IAAIC,GAASkmS,GAAE,GAAGlmS,GAAK,KAAO,GAAFD,IAAammS,GAAE,GAAG,IAAc,KAAXlmS,EAAE,IAAID,IAAkBmmS,GAAE,GAAGlmS,GAAK,KAAO,IAAFD,IAAcmmS,GAAE,EAAE,KAAgB,KAAZlmS,EAAE,KAAKD,IAAkBmmS,GAAE,EAAElmS,GAAK,KAAO,KAAFD,IAAemmS,GAAE,EAAE,MAAoB,KAAflmS,EAAE,QAAQD,IAAkBmmS,GAAE,EAAElmS,GAAkB,KAAhBA,EAAE,SAASD,IAAkBmmS,GAAE,EAAElmS,GAAO,SAAFD,GAAkBmmS,GAAE,EAAE,UAAY,KAAO,UAAFnmS,IAAoBmmS,GAAE,EAAE,WAA2B,KAAjBlmS,EAAE,UAAUD,IAAkBmmS,GAAE,EAAElmS,GAAK,KAAK,WAAWD,IAAUmmS,GAAE,EAAE,aACjfA,GAAE,EAASnmS,EAAC,CACZ,SAASo5S,GAAGp5S,EAAEC,GAAG,IAAIwQ,EAAEzQ,EAAEq5S,aAAa,GAAG,IAAI5oS,EAAE,OAAO01R,GAAE,EAAE,IAAI31R,EAAE,EAAErQ,EAAE,EAAEqK,EAAExK,EAAEs5S,aAAa7/Q,EAAEz5B,EAAEu5S,eAAe3tP,EAAE5rD,EAAEw5S,YAAY,GAAG,IAAIhvS,EAAEgG,EAAEhG,EAAErK,EAAEgmS,GAAE,QAAQ,GAAiB,KAAd37R,EAAI,UAAFiG,GAAkB,CAAC,IAAI27C,EAAE5hD,GAAGivB,EAAE,IAAI2yB,GAAG57C,EAAE2oS,GAAG/sP,GAAGjsD,EAAEgmS,IAAS,KAALv6O,GAAGphD,KAAUgG,EAAE2oS,GAAGvtP,GAAGzrD,EAAEgmS,GAAG,MAAa,KAAP37R,EAAEiG,GAAGgpB,IAASjpB,EAAE2oS,GAAG3uS,GAAGrK,EAAEgmS,IAAG,IAAIv6O,IAAIp7C,EAAE2oS,GAAGvtP,GAAGzrD,EAAEgmS,IAAG,GAAG,IAAI31R,EAAE,OAAO,EAAqC,GAAxBA,EAAEC,IAAI,GAAjBD,EAAE,GAAGipS,GAAGjpS,IAAa,EAAE,GAAGA,IAAI,GAAG,EAAK,IAAIvQ,GAAGA,IAAIuQ,GAAG,KAAKvQ,EAAEw5B,GAAG,CAAO,GAAN0/Q,GAAGl5S,GAAME,GAAGgmS,GAAE,OAAOlmS,EAAEkmS,GAAEhmS,CAAC,CAAoB,GAAG,KAAtBF,EAAED,EAAE05S,gBAAwB,IAAI15S,EAAEA,EAAE25S,cAAc15S,GAAGuQ,EAAE,EAAEvQ,GAAcE,EAAE,IAAbsQ,EAAE,GAAGgpS,GAAGx5S,IAAUuQ,GAAGxQ,EAAEyQ,GAAGxQ,IAAIE,EAAE,OAAOqQ,CAAC,CAC3e,SAASopS,GAAG55S,GAAgC,OAAO,KAApCA,GAAkB,WAAhBA,EAAEq5S,cAAsCr5S,EAAI,WAAFA,EAAa,WAAW,CAAC,CAAC,SAAS65S,GAAG75S,EAAEC,GAAG,OAAOD,GAAG,KAAK,GAAG,OAAO,EAAE,KAAK,GAAG,OAAO,EAAE,KAAK,GAAG,OAAmB,KAAZA,EAAE85S,GAAG,IAAI75S,IAAS45S,GAAG,GAAG55S,GAAGD,EAAE,KAAK,GAAG,OAAoB,KAAbA,EAAE85S,GAAG,KAAK75S,IAAS45S,GAAG,EAAE55S,GAAGD,EAAE,KAAK,EAAE,OAAqB,KAAdA,EAAE85S,GAAG,MAAM75S,MAA4B,KAAjBD,EAAE85S,GAAG,SAAS75S,MAAWD,EAAE,MAAMA,EAAE,KAAK,EAAE,OAA0B,KAAnBC,EAAE65S,GAAG,WAAW75S,MAAWA,EAAE,WAAWA,EAAE,MAAM0L,MAAM+3D,EAAE,IAAI1jE,GAAI,CAAC,SAAS85S,GAAG95S,GAAG,OAAOA,GAAGA,CAAC,CAAC,SAAS+5S,GAAG/5S,GAAG,IAAI,IAAIC,EAAE,GAAGwQ,EAAE,EAAE,GAAGA,EAAEA,IAAIxQ,EAAES,KAAKV,GAAG,OAAOC,CAAC,CACtd,SAAS+5S,GAAGh6S,EAAEC,EAAEwQ,GAAGzQ,EAAEq5S,cAAcp5S,EAAE,IAAIuQ,EAAEvQ,EAAE,EAAED,EAAEu5S,gBAAgB/oS,EAAExQ,EAAEw5S,aAAahpS,GAAExQ,EAAEA,EAAEi6S,YAAWh6S,EAAE,GAAGw5S,GAAGx5S,IAAQwQ,CAAC,CAAC,IAAIgpS,GAAG74R,KAAKs5R,MAAMt5R,KAAKs5R,MAAiC,SAAYl6S,GAAG,OAAO,IAAIA,EAAE,GAAG,IAAIm6S,GAAGn6S,GAAGo6S,GAAG,GAAG,CAAC,EAAxED,GAAGv5R,KAAK5V,IAAIovS,GAAGx5R,KAAKy5R,IAAqD,IAAIC,GAAG5pS,EAAE6pS,8BAA8BC,GAAG9pS,EAAEymS,yBAAyBsD,IAAG,EAAG,SAASC,GAAG16S,EAAEC,EAAEwQ,EAAED,GAAG+jS,IAAIF,KAAK,IAAIl0S,EAAEw6S,GAAGnwS,EAAE+pS,GAAGA,IAAG,EAAG,IAAIH,GAAGj0S,EAAEH,EAAEC,EAAEwQ,EAAED,EAAE,CAAC,SAAS+jS,GAAG/pS,IAAIiqS,IAAI,CAAC,CAAC,SAASpgQ,GAAGr0C,EAAEC,EAAEwQ,EAAED,GAAGgqS,GAAGF,GAAGK,GAAG1uS,KAAK,KAAKjM,EAAEC,EAAEwQ,EAAED,GAAG,CACpb,SAASmqS,GAAG36S,EAAEC,EAAEwQ,EAAED,GAAU,IAAIrQ,EAAX,GAAGs6S,GAAU,IAAIt6S,EAAE,KAAO,EAAFF,KAAO,EAAEg2S,GAAGn3S,SAAS,EAAEy3S,GAAGtzS,QAAQjD,GAAGA,EAAE0sD,GAAG,KAAK1sD,EAAEC,EAAEwQ,EAAED,GAAGylS,GAAGv1S,KAAKV,OAAO,CAAC,IAAIwK,EAAEgtS,GAAGx3S,EAAEC,EAAEwQ,EAAED,GAAG,GAAG,OAAOhG,EAAErK,GAAG02S,GAAG72S,EAAEwQ,OAAO,CAAC,GAAGrQ,EAAE,CAAC,IAAI,EAAEo2S,GAAGtzS,QAAQjD,GAA+B,OAA3BA,EAAE0sD,GAAGliD,EAAExK,EAAEC,EAAEwQ,EAAED,QAAGylS,GAAGv1S,KAAKV,GAAU,GAfhO,SAAYA,EAAEC,EAAEwQ,EAAED,EAAErQ,GAAG,OAAOF,GAAG,IAAK,UAAU,OAAOi2S,GAAGa,GAAGb,GAAGl2S,EAAEC,EAAEwQ,EAAED,EAAErQ,IAAG,EAAG,IAAK,YAAY,OAAOg2S,GAAGY,GAAGZ,GAAGn2S,EAAEC,EAAEwQ,EAAED,EAAErQ,IAAG,EAAG,IAAK,YAAY,OAAOi2S,GAAGW,GAAGX,GAAGp2S,EAAEC,EAAEwQ,EAAED,EAAErQ,IAAG,EAAG,IAAK,cAAc,IAAIqK,EAAErK,EAAE22S,UAAkD,OAAxCT,GAAG7vS,IAAIgE,EAAEusS,GAAGV,GAAGlwS,IAAIqE,IAAI,KAAKxK,EAAEC,EAAEwQ,EAAED,EAAErQ,KAAU,EAAG,IAAK,oBAAoB,OAAOqK,EAAErK,EAAE22S,UAAUR,GAAG9vS,IAAIgE,EAAEusS,GAAGT,GAAGnwS,IAAIqE,IAAI,KAAKxK,EAAEC,EAAEwQ,EAAED,EAAErQ,KAAI,EAAG,OAAM,CAAE,CAehIy6S,CAAGpwS,EAAExK,EAAEC,EAAEwQ,EAAED,GAAG,OAAOqmS,GAAG72S,EAAEwQ,EAAE,CAACqqS,GAAG76S,EAAEC,EAAEuQ,EAAE,KAAKC,EAAE,CAAC,CAAE,CACnR,SAAS+mS,GAAGx3S,EAAEC,EAAEwQ,EAAED,GAAG,IAAIrQ,EAAEozS,GAAG/iS,GAAW,GAAG,QAAXrQ,EAAE82S,GAAG92S,IAAe,CAAC,IAAIqK,EAAE6qS,GAAGl1S,GAAG,GAAG,OAAOqK,EAAErK,EAAE,SAAS,CAAC,IAAIs5B,EAAEjvB,EAAEw+Q,IAAI,GAAG,KAAKvvP,EAAE,CAAS,GAAG,QAAXt5B,EAAEq1S,GAAGhrS,IAAe,OAAOrK,EAAEA,EAAE,IAAI,MAAM,GAAG,IAAIs5B,EAAE,CAAC,GAAGjvB,EAAEupS,UAAUsD,QAAQ,OAAO,IAAI7sS,EAAEw+Q,IAAIx+Q,EAAEupS,UAAUuD,cAAc,KAAKn3S,EAAE,IAAI,MAAMqK,IAAIrK,IAAIA,EAAE,KAAK,CAAC,CAAe,OAAd06S,GAAG76S,EAAEC,EAAEuQ,EAAErQ,EAAEsQ,GAAU,IAAI,CAAC,IAAIqqS,GAAG,KAAKC,GAAG,KAAKC,GAAG,KACzT,SAASC,KAAK,GAAGD,GAAG,OAAOA,GAAG,IAAIh7S,EAAkBwQ,EAAhBvQ,EAAE86S,GAAGtqS,EAAExQ,EAAEnB,OAASqB,EAAE,UAAU26S,GAAGA,GAAGr8S,MAAMq8S,GAAG5I,YAAY1nS,EAAErK,EAAErB,OAAO,IAAIkB,EAAE,EAAEA,EAAEyQ,GAAGxQ,EAAED,KAAKG,EAAEH,GAAGA,KAAK,IAAIy5B,EAAEhpB,EAAEzQ,EAAE,IAAIwQ,EAAE,EAAEA,GAAGipB,GAAGx5B,EAAEwQ,EAAED,KAAKrQ,EAAEqK,EAAEgG,GAAGA,KAAK,OAAOwqS,GAAG76S,EAAEiI,MAAMpI,EAAE,EAAEwQ,EAAE,EAAEA,OAAE,EAAO,CAAC,SAAS0qS,GAAGl7S,GAAG,IAAIC,EAAED,EAAEm7S,QAA+E,MAAvE,aAAan7S,EAAgB,KAAbA,EAAEA,EAAEywE,WAAgB,KAAKxwE,IAAID,EAAE,IAAKA,EAAEC,EAAE,KAAKD,IAAIA,EAAE,IAAW,IAAIA,GAAG,KAAKA,EAAEA,EAAE,CAAC,CAAC,SAASo7S,KAAK,OAAM,CAAE,CAAC,SAASC,KAAK,OAAM,CAAE,CACnY,SAASC,GAAGt7S,GAAG,SAASC,EAAEA,EAAEuQ,EAAErQ,EAAEqK,EAAEivB,GAA6G,IAAI,IAAIhpB,KAAlH/O,KAAK65S,WAAWt7S,EAAEyB,KAAK85S,YAAYr7S,EAAEuB,KAAKsR,KAAKxC,EAAE9O,KAAKi1S,YAAYnsS,EAAE9I,KAAK+B,OAAOg2B,EAAE/3B,KAAK+5S,cAAc,KAAkBz7S,EAAEA,EAAEmE,eAAesM,KAAKxQ,EAAED,EAAEyQ,GAAG/O,KAAK+O,GAAGxQ,EAAEA,EAAEuK,GAAGA,EAAEiG,IAAgI,OAA5H/O,KAAKg6S,oBAAoB,MAAMlxS,EAAEo5E,iBAAiBp5E,EAAEo5E,kBAAiB,IAAKp5E,EAAE01C,aAAak7P,GAAGC,GAAG35S,KAAKi6S,qBAAqBN,GAAU35S,IAAI,CAC9E,OAD+E46B,EAAEr8B,EAAE2B,UAAU,CAACqiF,eAAe,WAAWviF,KAAKkiF,kBAAiB,EAAG,IAAI5jF,EAAE0B,KAAKi1S,YAAY32S,IAAIA,EAAEikF,eAAejkF,EAAEikF,iBAAiB,mBAAmBjkF,EAAEkgD,cAC7elgD,EAAEkgD,aAAY,GAAIx+C,KAAKg6S,mBAAmBN,GAAG,EAAEp3M,gBAAgB,WAAW,IAAIhkG,EAAE0B,KAAKi1S,YAAY32S,IAAIA,EAAEgkG,gBAAgBhkG,EAAEgkG,kBAAkB,mBAAmBhkG,EAAE47S,eAAe57S,EAAE47S,cAAa,GAAIl6S,KAAKi6S,qBAAqBP,GAAG,EAAES,QAAQ,WAAW,EAAEC,aAAaV,KAAYn7S,CAAC,CACjR,IAAoL87S,GAAGC,GAAGC,GAAtLC,GAAG,CAACC,WAAW,EAAEntC,QAAQ,EAAEz/I,WAAW,EAAEjmH,UAAU,SAAStJ,GAAG,OAAOA,EAAEsJ,WAAWL,KAAKq1F,KAAK,EAAE1a,iBAAiB,EAAEw4N,UAAU,GAAGC,GAAGf,GAAGY,IAAII,GAAGhgR,EAAE,CAAC,EAAE4/Q,GAAG,CAAC9gK,KAAK,EAAE73B,OAAO,IAAIg5L,GAAGjB,GAAGgB,IAAaE,GAAGlgR,EAAE,CAAC,EAAEggR,GAAG,CAACjrE,QAAQ,EAAEE,QAAQ,EAAE5/J,QAAQ,EAAEE,QAAQ,EAAEwnC,MAAM,EAAED,MAAM,EAAE/oC,QAAQ,EAAElmC,SAAS,EAAEimC,OAAO,EAAEE,QAAQ,EAAEmsO,iBAAiBC,GAAGv2N,OAAO,EAAEP,QAAQ,EAAEyH,cAAc,SAASrtF,GAAG,YAAO,IAASA,EAAEqtF,cAAcrtF,EAAE28S,cAAc38S,EAAEwzS,WAAWxzS,EAAE48S,UAAU58S,EAAE28S,YAAY38S,EAAEqtF,aAAa,EAAEu0H,UAAU,SAAS5hN,GAAG,MAAG,cAC3eA,EAASA,EAAE4hN,WAAU5hN,IAAIi8S,KAAKA,IAAI,cAAcj8S,EAAEgT,MAAM+oS,GAAG/7S,EAAEqxO,QAAQ4qE,GAAG5qE,QAAQ2qE,GAAGh8S,EAAEuxO,QAAQ0qE,GAAG1qE,SAASyqE,GAAGD,GAAG,EAAEE,GAAGj8S,GAAU+7S,GAAE,EAAEj6F,UAAU,SAAS9hN,GAAG,MAAM,cAAcA,EAAEA,EAAE8hN,UAAUk6F,EAAE,IAAIa,GAAGvB,GAAGkB,IAAiCM,GAAGxB,GAA7Bh/Q,EAAE,CAAC,EAAEkgR,GAAG,CAACtlJ,aAAa,KAA4C6lJ,GAAGzB,GAA9Bh/Q,EAAE,CAAC,EAAEggR,GAAG,CAACjvN,cAAc,KAA0E2vN,GAAG1B,GAA5Dh/Q,EAAE,CAAC,EAAE4/Q,GAAG,CAACe,cAAc,EAAEC,YAAY,EAAEC,cAAc,KAAcC,GAAG9gR,EAAE,CAAC,EAAE4/Q,GAAG,CAACtkF,cAAc,SAAS53N,GAAG,MAAM,kBAAkBA,EAAEA,EAAE43N,cAAc3vN,OAAO2vN,aAAa,IAAIylF,GAAG/B,GAAG8B,IAAyBE,GAAGhC,GAArBh/Q,EAAE,CAAC,EAAE4/Q,GAAG,CAACt3S,KAAK,KAAc24S,GAAG,CAACC,IAAI,SACxfC,SAAS,IAAIhlM,KAAK,YAAYG,GAAG,UAAUF,MAAM,aAAaG,KAAK,YAAY6kM,IAAI,SAASC,IAAI,KAAKC,KAAK,cAAcC,KAAK,cAAcC,OAAO,aAAaC,gBAAgB,gBAAgBC,GAAG,CAAC,EAAE,YAAY,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,IAAI,GAAG,SAAS,GAAG,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,YAAY,GAAG,UAAU,GAAG,aAAa,GAAG,YAAY,GAAG,SAAS,GAAG,SAAS,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KACtf,IAAI,KAAK,IAAI,KAAK,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,UAAU,IAAI,aAAa,IAAI,QAAQC,GAAG,CAACC,IAAI,SAASC,QAAQ,UAAUC,KAAK,UAAUC,MAAM,YAAY,SAASC,GAAGt+S,GAAG,IAAIC,EAAEyB,KAAKi1S,YAAY,OAAO12S,EAAEw8S,iBAAiBx8S,EAAEw8S,iBAAiBz8S,MAAIA,EAAEi+S,GAAGj+S,OAAMC,EAAED,EAAK,CAAC,SAAS08S,KAAK,OAAO4B,EAAE,CAChS,IAAIC,GAAGjiR,EAAE,CAAC,EAAEggR,GAAG,CAAC55S,IAAI,SAAS1C,GAAG,GAAGA,EAAE0C,IAAI,CAAC,IAAIzC,EAAEs9S,GAAGv9S,EAAE0C,MAAM1C,EAAE0C,IAAI,GAAG,iBAAiBzC,EAAE,OAAOA,CAAC,CAAC,MAAM,aAAaD,EAAEgT,KAAc,MAARhT,EAAEk7S,GAAGl7S,IAAU,QAAQy6B,OAAOC,aAAa16B,GAAI,YAAYA,EAAEgT,MAAM,UAAUhT,EAAEgT,KAAKgrS,GAAGh+S,EAAEm7S,UAAU,eAAe,EAAE,EAAE3rI,KAAK,EAAEp3H,SAAS,EAAEi4B,QAAQ,EAAElmC,SAAS,EAAEimC,OAAO,EAAEE,QAAQ,EAAEkuO,OAAO,EAAEC,OAAO,EAAEhC,iBAAiBC,GAAGjsO,SAAS,SAASzwE,GAAG,MAAM,aAAaA,EAAEgT,KAAKkoS,GAAGl7S,GAAG,CAAC,EAAEm7S,QAAQ,SAASn7S,GAAG,MAAM,YAAYA,EAAEgT,MAAM,UAAUhT,EAAEgT,KAAKhT,EAAEm7S,QAAQ,CAAC,EAAEuD,MAAM,SAAS1+S,GAAG,MAAM,aAC7eA,EAAEgT,KAAKkoS,GAAGl7S,GAAG,YAAYA,EAAEgT,MAAM,UAAUhT,EAAEgT,KAAKhT,EAAEm7S,QAAQ,CAAC,IAAIwD,GAAGrD,GAAGiD,IAAiIK,GAAGtD,GAA7Hh/Q,EAAE,CAAC,EAAEkgR,GAAG,CAAC1F,UAAU,EAAEr8R,MAAM,EAAEw/C,OAAO,EAAE4kP,SAAS,EAAEC,mBAAmB,EAAEC,MAAM,EAAEC,MAAM,EAAEC,MAAM,EAAEC,YAAY,EAAEvlS,UAAU,KAAmIwlS,GAAG7D,GAArHh/Q,EAAE,CAAC,EAAEggR,GAAG,CAACx+M,QAAQ,EAAEshN,cAAc,EAAEzuL,eAAe,EAAEvgD,OAAO,EAAEE,QAAQ,EAAED,QAAQ,EAAElmC,SAAS,EAAEsyQ,iBAAiBC,MAA0E2C,GAAG/D,GAA3Dh/Q,EAAE,CAAC,EAAE4/Q,GAAG,CAAC/yL,aAAa,EAAE+zL,YAAY,EAAEC,cAAc,KAAcmC,GAAGhjR,EAAE,CAAC,EAAEkgR,GAAG,CAAC+C,OAAO,SAASv/S,GAAG,MAAM,WAAWA,EAAEA,EAAEu/S,OAAO,gBAAgBv/S,GAAGA,EAAEw/S,YAAY,CAAC,EACnfC,OAAO,SAASz/S,GAAG,MAAM,WAAWA,EAAEA,EAAEy/S,OAAO,gBAAgBz/S,GAAGA,EAAE0/S,YAAY,eAAe1/S,GAAGA,EAAE2/S,WAAW,CAAC,EAAEC,OAAO,EAAEC,UAAU,IAAIC,GAAGxE,GAAGgE,IAAIS,GAAG,CAAC,EAAE,GAAG,GAAG,IAAIC,GAAGna,GAAI,qBAAqB59R,OAAOg4S,GAAG,KAAKpa,GAAI,iBAAiBx6Q,WAAW40R,GAAG50R,SAASitC,cAAc,IAAI4nP,GAAGra,GAAI,cAAc59R,SAASg4S,GAAGE,GAAGta,KAAMma,IAAIC,IAAI,EAAEA,IAAI,IAAIA,IAAIG,GAAG3lR,OAAOC,aAAa,IAAI2lR,IAAG,EAC1W,SAASC,GAAGtgT,EAAEC,GAAG,OAAOD,GAAG,IAAK,QAAQ,OAAO,IAAI+/S,GAAG98S,QAAQhD,EAAEk7S,SAAS,IAAK,UAAU,OAAO,MAAMl7S,EAAEk7S,QAAQ,IAAK,WAAW,IAAK,YAAY,IAAK,WAAW,OAAM,EAAG,QAAQ,OAAM,EAAG,CAAC,SAASoF,GAAGvgT,GAAc,MAAM,kBAAjBA,EAAEA,EAAEujH,SAAkC,SAASvjH,EAAEA,EAAE4E,KAAK,IAAI,CAAC,IAAI47S,IAAG,EAE9Q,IAAIC,GAAG,CAACniF,OAAM,EAAG71J,MAAK,EAAGi4O,UAAS,EAAG,kBAAiB,EAAGC,OAAM,EAAGp3O,OAAM,EAAGrB,QAAO,EAAG0uN,UAAS,EAAGzoI,OAAM,EAAGvjF,QAAO,EAAGg2O,KAAI,EAAG51O,MAAK,EAAG6rM,MAAK,EAAGx5B,KAAI,EAAGwjE,MAAK,GAAI,SAASC,GAAG9gT,GAAG,IAAIC,EAAED,GAAGA,EAAEkhE,UAAUlhE,EAAEkhE,SAASxnC,cAAc,MAAM,UAAUz5B,IAAIwgT,GAAGzgT,EAAEgT,MAAM,aAAa/S,CAAO,CAAC,SAAS8gT,GAAG/gT,EAAEC,EAAEwQ,EAAED,GAAGyjS,GAAGzjS,GAAsB,GAAnBvQ,EAAE+gT,GAAG/gT,EAAE,aAAgBnB,SAAS2R,EAAE,IAAI4rS,GAAG,WAAW,SAAS,KAAK5rS,EAAED,GAAGxQ,EAAEU,KAAK,CAACoS,MAAMrC,EAAE2B,UAAUnS,IAAI,CAAC,IAAIghT,GAAG,KAAKC,GAAG,KAAK,SAASC,GAAGnhT,GAAGohT,GAAGphT,EAAE,EAAE,CAAC,SAASqhT,GAAGrhT,GAAe,GAAGquS,EAATiT,GAAGthT,IAAY,OAAOA,CAAC,CACpe,SAASuhT,GAAGvhT,EAAEC,GAAG,GAAG,WAAWD,EAAE,OAAOC,CAAC,CAAC,IAAIuhT,IAAG,EAAG,GAAG3b,EAAG,CAAC,IAAI4b,GAAG,GAAG5b,EAAG,CAAC,IAAI6b,GAAG,YAAYr2R,SAAS,IAAIq2R,GAAG,CAAC,IAAIC,GAAGt2R,SAASC,cAAc,OAAOq2R,GAAGpmP,aAAa,UAAU,WAAWmmP,GAAG,oBAAoBC,GAAGC,OAAO,CAACH,GAAGC,EAAE,MAAMD,IAAG,EAAGD,GAAGC,MAAMp2R,SAASitC,cAAc,EAAEjtC,SAASitC,aAAa,CAAC,SAASupP,KAAKZ,KAAKA,GAAGa,YAAY,mBAAmBC,IAAIb,GAAGD,GAAG,KAAK,CAAC,SAASc,GAAG/hT,GAAG,GAAG,UAAUA,EAAEmpH,cAAck4L,GAAGH,IAAI,CAAC,IAAIjhT,EAAE,GAAyB,GAAtB8gT,GAAG9gT,EAAEihT,GAAGlhT,EAAEuzS,GAAGvzS,IAAIA,EAAEmhT,GAAM5M,GAAGv0S,EAAEC,OAAO,CAACs0S,IAAG,EAAG,IAAIJ,GAAGn0S,EAAEC,EAAE,CAAC,QAAQs0S,IAAG,EAAGE,IAAI,CAAC,CAAC,CAAC,CAClf,SAASuN,GAAGhiT,EAAEC,EAAEwQ,GAAG,YAAYzQ,GAAG6hT,KAAUX,GAAGzwS,GAARwwS,GAAGhhT,GAAUgiT,YAAY,mBAAmBF,KAAK,aAAa/hT,GAAG6hT,IAAI,CAAC,SAASK,GAAGliT,GAAG,GAAG,oBAAoBA,GAAG,UAAUA,GAAG,YAAYA,EAAE,OAAOqhT,GAAGH,GAAG,CAAC,SAASiB,GAAGniT,EAAEC,GAAG,GAAG,UAAUD,EAAE,OAAOqhT,GAAGphT,EAAE,CAAC,SAASmiT,GAAGpiT,EAAEC,GAAG,GAAG,UAAUD,GAAG,WAAWA,EAAE,OAAOqhT,GAAGphT,EAAE,CAAiE,IAAIoiT,GAAG,oBAAoB1hT,OAAO2nS,GAAG3nS,OAAO2nS,GAA5G,SAAYtoS,EAAEC,GAAG,OAAOD,IAAIC,IAAI,IAAID,GAAG,EAAEA,IAAI,EAAEC,IAAID,IAAIA,GAAGC,IAAIA,CAAC,EAAmDqiT,GAAG3hT,OAAOiB,UAAUuC,eAC7a,SAASo+S,GAAGviT,EAAEC,GAAG,GAAGoiT,GAAGriT,EAAEC,GAAG,OAAM,EAAG,GAAG,kBAAkBD,GAAG,OAAOA,GAAG,kBAAkBC,GAAG,OAAOA,EAAE,OAAM,EAAG,IAAIwQ,EAAE9P,OAAOmB,KAAK9B,GAAGwQ,EAAE7P,OAAOmB,KAAK7B,GAAG,GAAGwQ,EAAE3R,SAAS0R,EAAE1R,OAAO,OAAM,EAAG,IAAI0R,EAAE,EAAEA,EAAEC,EAAE3R,OAAO0R,IAAI,IAAI8xS,GAAG76S,KAAKxH,EAAEwQ,EAAED,MAAM6xS,GAAGriT,EAAEyQ,EAAED,IAAIvQ,EAAEwQ,EAAED,KAAK,OAAM,EAAG,OAAM,CAAE,CAAC,SAASgyS,GAAGxiT,GAAG,KAAKA,GAAGA,EAAE8+D,YAAY9+D,EAAEA,EAAE8+D,WAAW,OAAO9+D,CAAC,CACnU,SAASyiT,GAAGziT,EAAEC,GAAG,IAAwBuQ,EAApBC,EAAE+xS,GAAGxiT,GAAO,IAAJA,EAAE,EAAYyQ,GAAG,CAAC,GAAG,IAAIA,EAAEwwD,SAAS,CAA0B,GAAzBzwD,EAAExQ,EAAEyQ,EAAEyhS,YAAYpzS,OAAUkB,GAAGC,GAAGuQ,GAAGvQ,EAAE,MAAM,CAAC+a,KAAKvK,EAAEosI,OAAO58I,EAAED,GAAGA,EAAEwQ,CAAC,CAACxQ,EAAE,CAAC,KAAKyQ,GAAG,CAAC,GAAGA,EAAEgvD,YAAY,CAAChvD,EAAEA,EAAEgvD,YAAY,MAAMz/D,CAAC,CAACyQ,EAAEA,EAAEkqD,UAAU,CAAClqD,OAAE,CAAM,CAACA,EAAE+xS,GAAG/xS,EAAE,CAAC,CAAC,SAASiyS,GAAG1iT,EAAEC,GAAG,SAAOD,IAAGC,KAAED,IAAIC,KAAKD,GAAG,IAAIA,EAAEihE,YAAYhhE,GAAG,IAAIA,EAAEghE,SAASyhP,GAAG1iT,EAAEC,EAAE06D,YAAY,aAAa36D,EAAEA,EAAEi9D,SAASh9D,KAAGD,EAAE2iT,4BAAwD,GAA7B3iT,EAAE2iT,wBAAwB1iT,KAAY,CAC9Z,SAAS2iT,KAAK,IAAI,IAAI5iT,EAAEiI,OAAOhI,EAAEwwS,IAAKxwS,aAAaD,EAAE6iT,mBAAmB,CAAC,IAAI,IAAIpyS,EAAE,kBAAkBxQ,EAAE6iT,cAAc1qQ,SAAS4nP,IAAI,CAAC,MAAMxvR,GAAGC,GAAE,CAAE,CAAC,IAAGA,EAAyB,MAAMxQ,EAAEwwS,GAA/BzwS,EAAEC,EAAE6iT,eAAgCz3R,SAAS,CAAC,OAAOprB,CAAC,CAAC,SAAS8iT,GAAG/iT,GAAG,IAAIC,EAAED,GAAGA,EAAEkhE,UAAUlhE,EAAEkhE,SAASxnC,cAAc,OAAOz5B,IAAI,UAAUA,IAAI,SAASD,EAAEgT,MAAM,WAAWhT,EAAEgT,MAAM,QAAQhT,EAAEgT,MAAM,QAAQhT,EAAEgT,MAAM,aAAahT,EAAEgT,OAAO,aAAa/S,GAAG,SAASD,EAAEgjT,gBAAgB,CACxa,IAAIC,GAAGpd,GAAI,iBAAiBx6Q,UAAU,IAAIA,SAASitC,aAAa4qP,GAAG,KAAKC,GAAG,KAAKC,GAAG,KAAKC,IAAG,EAC3F,SAASC,GAAGtjT,EAAEC,EAAEwQ,GAAG,IAAID,EAAEC,EAAExI,SAASwI,EAAEA,EAAE4a,SAAS,IAAI5a,EAAEwwD,SAASxwD,EAAEA,EAAEyjI,cAAcmvK,IAAI,MAAMH,IAAIA,KAAKzS,EAAGjgS,KAAU,mBAALA,EAAE0yS,KAAyBH,GAAGvyS,GAAGA,EAAE,CAACs8B,MAAMt8B,EAAE+yS,eAAelhK,IAAI7xI,EAAEgzS,cAAuFhzS,EAAE,CAACizS,YAA3EjzS,GAAGA,EAAE0jI,eAAe1jI,EAAE0jI,cAAc56B,aAAarxG,QAAQy7S,gBAA+BD,WAAWE,aAAanzS,EAAEmzS,aAAaC,UAAUpzS,EAAEozS,UAAUC,YAAYrzS,EAAEqzS,aAAcT,IAAIb,GAAGa,GAAG5yS,KAAK4yS,GAAG5yS,EAAsB,GAApBA,EAAEwwS,GAAGmC,GAAG,aAAgBrkT,SAASmB,EAAE,IAAIo8S,GAAG,WAAW,SAAS,KAAKp8S,EAAEwQ,GAAGzQ,EAAEU,KAAK,CAACoS,MAAM7S,EAAEmS,UAAU5B,IAAIvQ,EAAEwD,OAAOy/S,KAAK,CACtflK,GAAG,mjBAAmjBh0S,MAAM,KAC5jB,GAAGg0S,GAAG,oRAAoRh0S,MAAM,KAAK,GAAGg0S,GAAGD,GAAG,GAAG,IAAI,IAAI+K,GAAG,qFAAqF9+S,MAAM,KAAK++S,GAAG,EAAEA,GAAGD,GAAGhlT,OAAOilT,KAAKjL,GAAGtyS,IAAIs9S,GAAGC,IAAI,GAAGne,EAAG,eAAe,CAAC,WAAW,cACleA,EAAG,eAAe,CAAC,WAAW,cAAcA,EAAG,iBAAiB,CAAC,aAAa,gBAAgBA,EAAG,iBAAiB,CAAC,aAAa,gBAAgBD,EAAG,WAAW,oEAAoE3gS,MAAM,MAAM2gS,EAAG,WAAW,uFAAuF3gS,MAAM,MAAM2gS,EAAG,gBAAgB,CAAC,iBAAiB,WAAW,YAAY,UAAUA,EAAG,mBAAmB,2DAA2D3gS,MAAM,MAC5f2gS,EAAG,qBAAqB,6DAA6D3gS,MAAM,MAAM2gS,EAAG,sBAAsB,8DAA8D3gS,MAAM,MAAM,IAAIg/S,GAAG,sNAAsNh/S,MAAM,KAAKi/S,GAAG,IAAI3jT,IAAI,0CAA0C0E,MAAM,KAAK0H,OAAOs3S,KACnf,SAASE,GAAGlkT,EAAEC,EAAEwQ,GAAG,IAAID,EAAExQ,EAAEgT,MAAM,gBAAgBhT,EAAEy7S,cAAchrS,EA/CjE,SAAYzQ,EAAEC,EAAEwQ,EAAED,EAAErQ,EAAEqK,EAAEivB,EAAEmyB,EAAEQ,GAA4B,GAAzBgpP,GAAG1tS,MAAMhG,KAAKsE,WAAc+uS,GAAG,CAAC,IAAGA,GAAgC,MAAMppS,MAAM+3D,EAAE,MAA1C,IAAIm1K,EAAEm8D,GAAGD,IAAG,EAAGC,GAAG,KAA8BC,KAAKA,IAAG,EAAGC,GAAGr8D,EAAE,CAAC,CA+CpEsrE,CAAG3zS,EAAEvQ,OAAE,EAAOD,GAAGA,EAAEy7S,cAAc,IAAI,CACxG,SAAS2F,GAAGphT,EAAEC,GAAGA,EAAE,KAAO,EAAFA,GAAK,IAAI,IAAIwQ,EAAE,EAAEA,EAAEzQ,EAAElB,OAAO2R,IAAI,CAAC,IAAID,EAAExQ,EAAEyQ,GAAGtQ,EAAEqQ,EAAEsC,MAAMtC,EAAEA,EAAE4B,UAAUpS,EAAE,CAAC,IAAIwK,OAAE,EAAO,GAAGvK,EAAE,IAAI,IAAIw5B,EAAEjpB,EAAE1R,OAAO,EAAE,GAAG26B,EAAEA,IAAI,CAAC,IAAImyB,EAAEp7C,EAAEipB,GAAG2yB,EAAER,EAAE8hE,SAASmrH,EAAEjtL,EAAE6vP,cAA2B,GAAb7vP,EAAEA,EAAEp5C,SAAY45C,IAAI5hD,GAAGrK,EAAEw7S,uBAAuB,MAAM37S,EAAEkkT,GAAG/jT,EAAEyrD,EAAEitL,GAAGruO,EAAE4hD,CAAC,MAAM,IAAI3yB,EAAE,EAAEA,EAAEjpB,EAAE1R,OAAO26B,IAAI,CAAoD,GAA5C2yB,GAAPR,EAAEp7C,EAAEipB,IAAOi0F,SAASmrH,EAAEjtL,EAAE6vP,cAAc7vP,EAAEA,EAAEp5C,SAAY45C,IAAI5hD,GAAGrK,EAAEw7S,uBAAuB,MAAM37S,EAAEkkT,GAAG/jT,EAAEyrD,EAAEitL,GAAGruO,EAAE4hD,CAAC,CAAC,CAAC,CAAC,GAAG6oP,GAAG,MAAMj1S,EAAEk1S,GAAGD,IAAG,EAAGC,GAAG,KAAKl1S,CAAE,CAC5a,SAASqwS,GAAErwS,EAAEC,GAAG,IAAIwQ,EAAE2zS,GAAGnkT,GAAGuQ,EAAExQ,EAAE,WAAWyQ,EAAEkhC,IAAInhC,KAAK6zS,GAAGpkT,EAAED,EAAE,GAAE,GAAIyQ,EAAEgC,IAAIjC,GAAG,CAAC,IAAI8zS,GAAG,kBAAkB1jS,KAAKs4G,SAASl6H,SAAS,IAAIoJ,MAAM,GAAG,SAASm8S,GAAGvkT,GAAGA,EAAEskT,MAAMtkT,EAAEskT,KAAI,EAAG7e,EAAGhlS,SAAQ,SAASR,GAAGgkT,GAAGtyQ,IAAI1xC,IAAIukT,GAAGvkT,GAAE,EAAGD,EAAE,MAAMwkT,GAAGvkT,GAAE,EAAGD,EAAE,KAAK,IAAG,CAC9O,SAASwkT,GAAGxkT,EAAEC,EAAEwQ,EAAED,GAAG,IAAIrQ,EAAE,EAAE6F,UAAUlH,aAAQ,IAASkH,UAAU,GAAGA,UAAU,GAAG,EAAEwE,EAAEiG,EAA6D,GAA3D,oBAAoBzQ,GAAG,IAAIyQ,EAAEwwD,WAAWz2D,EAAEiG,EAAEyjI,eAAkB,OAAO1jI,IAAIvQ,GAAGgkT,GAAGtyQ,IAAI3xC,GAAG,CAAC,GAAG,WAAWA,EAAE,OAAOG,GAAG,EAAEqK,EAAEgG,CAAC,CAAC,IAAIipB,EAAE2qR,GAAG55S,GAAGohD,EAAE5rD,EAAE,MAAMC,EAAE,UAAU,UAAUw5B,EAAEkY,IAAIia,KAAK3rD,IAAIE,GAAG,GAAGkkT,GAAG75S,EAAExK,EAAEG,EAAEF,GAAGw5B,EAAEhnB,IAAIm5C,GAAG,CACrS,SAASy4P,GAAGrkT,EAAEC,EAAEwQ,EAAED,GAAG,IAAIrQ,EAAE24S,GAAG3yS,IAAIlG,GAAG,YAAO,IAASE,EAAE,EAAEA,GAAG,KAAK,EAAEA,EAAEu6S,GAAG,MAAM,KAAK,EAAEv6S,EAAEk0C,GAAG,MAAM,QAAQl0C,EAAEw6S,GAAGlqS,EAAEtQ,EAAE8L,KAAK,KAAKhM,EAAEwQ,EAAEzQ,GAAGG,OAAE,GAAQw0S,IAAI,eAAe10S,GAAG,cAAcA,GAAG,UAAUA,IAAIE,GAAE,GAAIqQ,OAAE,IAASrQ,EAAEH,EAAEuS,iBAAiBtS,EAAEwQ,EAAE,CAACujO,SAAQ,EAAGxnN,QAAQrsB,IAAIH,EAAEuS,iBAAiBtS,EAAEwQ,GAAE,QAAI,IAAStQ,EAAEH,EAAEuS,iBAAiBtS,EAAEwQ,EAAE,CAAC+b,QAAQrsB,IAAIH,EAAEuS,iBAAiBtS,EAAEwQ,GAAE,EAAG,CACvW,SAASoqS,GAAG76S,EAAEC,EAAEwQ,EAAED,EAAErQ,GAAG,IAAIqK,EAAEgG,EAAE,GAAG,KAAO,EAAFvQ,IAAM,KAAO,EAAFA,IAAM,OAAOuQ,EAAExQ,EAAE,OAAO,CAAC,GAAG,OAAOwQ,EAAE,OAAO,IAAIipB,EAAEjpB,EAAEw4Q,IAAI,GAAG,IAAIvvP,GAAG,IAAIA,EAAE,CAAC,IAAImyB,EAAEp7C,EAAEujS,UAAUuD,cAAc,GAAG1rP,IAAIzrD,GAAG,IAAIyrD,EAAEqV,UAAUrV,EAAE+O,aAAax6D,EAAE,MAAM,GAAG,IAAIs5B,EAAE,IAAIA,EAAEjpB,EAAE40B,OAAO,OAAO3L,GAAG,CAAC,IAAI2yB,EAAE3yB,EAAEuvP,IAAI,IAAG,IAAI58N,GAAG,IAAIA,MAAKA,EAAE3yB,EAAEs6Q,UAAUuD,iBAAkBn3S,GAAG,IAAIisD,EAAE6U,UAAU7U,EAAEuO,aAAax6D,GAAE,OAAOs5B,EAAEA,EAAE2L,MAAM,CAAC,KAAK,OAAOwmB,GAAG,CAAS,GAAG,QAAXnyB,EAAEw9Q,GAAGrrP,IAAe,OAAe,GAAG,KAAXQ,EAAE3yB,EAAEuvP,MAAc,IAAI58N,EAAE,CAAC57C,EAAEhG,EAAEivB,EAAE,SAASz5B,CAAC,CAAC4rD,EAAEA,EAAE+O,UAAU,CAAC,CAACnqD,EAAEA,EAAE40B,MAAM,EAvDnd,SAAYplC,EAAEC,EAAEwQ,GAAG,GAAG+jS,GAAG,OAAOx0S,EAAEC,EAAEwQ,GAAG+jS,IAAG,EAAG,IAAI,OAAOF,GAAGt0S,EAAEC,EAAEwQ,EAAE,CAAC,QAAQ+jS,IAAG,EAAGC,IAAI,CAAC,CAuD+XgQ,EAAG,WAAW,IAAIj0S,EAAEhG,EAAErK,EAAEozS,GAAG9iS,GAAGgpB,EAAE,GACpfz5B,EAAE,CAAC,IAAI4rD,EAAEitP,GAAG1yS,IAAInG,GAAG,QAAG,IAAS4rD,EAAE,CAAC,IAAIQ,EAAEiwP,GAAG14O,EAAE3jE,EAAE,OAAOA,GAAG,IAAK,WAAW,GAAG,IAAIk7S,GAAGzqS,GAAG,MAAMzQ,EAAE,IAAK,UAAU,IAAK,QAAQosD,EAAEuyP,GAAG,MAAM,IAAK,UAAUh7O,EAAE,QAAQvX,EAAE2wP,GAAG,MAAM,IAAK,WAAWp5O,EAAE,OAAOvX,EAAE2wP,GAAG,MAAM,IAAK,aAAa,IAAK,YAAY3wP,EAAE2wP,GAAG,MAAM,IAAK,QAAQ,GAAG,IAAItsS,EAAE01E,OAAO,MAAMnmF,EAAE,IAAK,WAAW,IAAK,WAAW,IAAK,YAAY,IAAK,YAAY,IAAK,UAAU,IAAK,WAAW,IAAK,YAAY,IAAK,cAAcosD,EAAEywP,GAAG,MAAM,IAAK,OAAO,IAAK,UAAU,IAAK,YAAY,IAAK,WAAW,IAAK,YAAY,IAAK,WAAW,IAAK,YAAY,IAAK,OAAOzwP,EAC1iB0wP,GAAG,MAAM,IAAK,cAAc,IAAK,WAAW,IAAK,YAAY,IAAK,aAAa1wP,EAAE+yP,GAAG,MAAM,KAAK1G,GAAG,KAAKC,GAAG,KAAKC,GAAGvsP,EAAE4wP,GAAG,MAAM,KAAKpE,GAAGxsP,EAAEizP,GAAG,MAAM,IAAK,SAASjzP,EAAEmwP,GAAG,MAAM,IAAK,QAAQnwP,EAAE0zP,GAAG,MAAM,IAAK,OAAO,IAAK,MAAM,IAAK,QAAQ1zP,EAAEixP,GAAG,MAAM,IAAK,oBAAoB,IAAK,qBAAqB,IAAK,gBAAgB,IAAK,cAAc,IAAK,cAAc,IAAK,aAAa,IAAK,cAAc,IAAK,YAAYjxP,EAAEwyP,GAAG,IAAIlO,EAAE,KAAO,EAAFzwS,GAAKslS,GAAGmL,GAAG,WAAW1wS,EAAEslS,EAAEoL,EAAE,OAAO9kP,EAAEA,EAAE,UAAU,KAAKA,EAAE8kP,EAAE,GAAG,IAAI,IAAQ1jP,EAAJr6B,EAAEniB,EAAI,OAC/emiB,GAAG,CAAK,IAAIhsB,GAARqmD,EAAEr6B,GAAUohR,UAAsF,GAA5E,IAAI/mP,EAAEg8N,KAAK,OAAOriR,IAAIqmD,EAAErmD,EAAE,OAAO2+R,IAAc,OAAV3+R,EAAE+tS,GAAG/hR,EAAE2yQ,KAAYoL,EAAEhwS,KAAKgkT,GAAG/xR,EAAEhsB,EAAEqmD,MAASu4O,EAAE,MAAM5yQ,EAAEA,EAAEyS,MAAM,CAAC,EAAEsrQ,EAAE5xS,SAAS8sD,EAAE,IAAIQ,EAAER,EAAE+X,EAAE,KAAKlzD,EAAEtQ,GAAGs5B,EAAE/4B,KAAK,CAACoS,MAAM84C,EAAEx5C,UAAUs+R,IAAI,CAAC,CAAC,GAAG,KAAO,EAAFzwS,GAAK,CAA4E,GAAnCmsD,EAAE,aAAapsD,GAAG,eAAeA,KAAtE4rD,EAAE,cAAc5rD,GAAG,gBAAgBA,IAA2C,KAAO,GAAFC,MAAQ0jE,EAAElzD,EAAE48E,eAAe58E,EAAEksS,eAAe1F,GAAGtzO,KAAIA,EAAEghP,OAAgBv4P,GAAGR,KAAGA,EAAEzrD,EAAE8H,SAAS9H,EAAEA,GAAGyrD,EAAEzrD,EAAE+zI,eAAetoF,EAAE0tD,aAAa1tD,EAAEg5P,aAAa38S,OAAUmkD,GAAqCA,EAAE57C,EAAiB,QAAfmzD,GAAnCA,EAAElzD,EAAE48E,eAAe58E,EAAEmsS,WAAkB3F,GAAGtzO,GAAG,QACleA,KAAR4hO,EAAE8P,GAAG1xO,KAAU,IAAIA,EAAEqlN,KAAK,IAAIrlN,EAAEqlN,OAAKrlN,EAAE,QAAUvX,EAAE,KAAKuX,EAAEnzD,GAAK47C,IAAIuX,GAAE,CAAgU,GAA/T+sO,EAAEmM,GAAGl2S,EAAE,eAAe2+R,EAAE,eAAe3yQ,EAAE,QAAW,eAAe3yB,GAAG,gBAAgBA,IAAE0wS,EAAEkO,GAAGj4S,EAAE,iBAAiB2+R,EAAE,iBAAiB3yQ,EAAE,WAAU4yQ,EAAE,MAAMn5O,EAAER,EAAE01P,GAAGl1P,GAAGY,EAAE,MAAM2W,EAAE/X,EAAE01P,GAAG39O,IAAG/X,EAAE,IAAI8kP,EAAE/pS,EAAEgsB,EAAE,QAAQy5B,EAAE37C,EAAEtQ,IAAKsD,OAAO8hS,EAAE35O,EAAEyhC,cAAcrgC,EAAErmD,EAAE,KAAKswS,GAAG92S,KAAKqQ,KAAIkgS,EAAE,IAAIA,EAAEpL,EAAE3yQ,EAAE,QAAQgxC,EAAElzD,EAAEtQ,IAAKsD,OAAOupD,EAAE0jP,EAAErjN,cAAck4M,EAAE5+R,EAAE+pS,GAAGnL,EAAE5+R,EAAKylD,GAAGuX,EAAE1jE,EAAE,CAAa,IAARqlS,EAAE3hO,EAAEhxC,EAAE,EAAMq6B,EAAhB0jP,EAAEtkP,EAAkBY,EAAEA,EAAE63P,GAAG73P,GAAGr6B,IAAQ,IAAJq6B,EAAE,EAAMrmD,EAAE2+R,EAAE3+R,EAAEA,EAAEk+S,GAAGl+S,GAAGqmD,IAAI,KAAK,EAAEr6B,EAAEq6B,GAAG0jP,EAAEmU,GAAGnU,GAAG/9Q,IAAI,KAAK,EAAEq6B,EAAEr6B,GAAG2yQ,EACpfuf,GAAGvf,GAAGt4O,IAAI,KAAKr6B,KAAK,CAAC,GAAG+9Q,IAAIpL,GAAG,OAAOA,GAAGoL,IAAIpL,EAAEgQ,UAAU,MAAMr1S,EAAEywS,EAAEmU,GAAGnU,GAAGpL,EAAEuf,GAAGvf,EAAE,CAACoL,EAAE,IAAI,MAAMA,EAAE,KAAK,OAAOtkP,GAAG04P,GAAGrrR,EAAEmyB,EAAEQ,EAAEskP,GAAE,GAAI,OAAO/sO,GAAG,OAAO4hO,GAAGuf,GAAGrrR,EAAE8rQ,EAAE5hO,EAAE+sO,GAAE,EAAG,CAA8D,GAAG,YAA1CtkP,GAAjBR,EAAEp7C,EAAE8wS,GAAG9wS,GAAGvI,QAAWi5D,UAAUtV,EAAEsV,SAASxnC,gBAA+B,UAAU0yB,GAAG,SAASR,EAAE54C,KAAK,IAAI8zR,EAAEya,QAAQ,GAAGT,GAAGl1P,GAAG,GAAG41P,GAAG1a,EAAEsb,OAAO,CAACtb,EAAEob,GAAG,IAAIlb,EAAEgb,EAAE,MAAM51P,EAAER,EAAEsV,WAAW,UAAU9U,EAAE1yB,gBAAgB,aAAakyB,EAAE54C,MAAM,UAAU44C,EAAE54C,QAAQ8zR,EAAEqb,IAClV,OADyVrb,IAAIA,EAAEA,EAAE9mS,EAAEwQ,IAAKuwS,GAAGtnR,EAAEqtQ,EAAEr2R,EAAEtQ,IAAW6mS,GAAGA,EAAEhnS,EAAE4rD,EAAEp7C,GAAG,aAAaxQ,IAAIgnS,EAAEp7O,EAAE2lP,gBACtevK,EAAEyK,YAAY,WAAW7lP,EAAE54C,MAAMu8R,GAAG3jP,EAAE,SAASA,EAAEntD,QAAOuoS,EAAEx2R,EAAE8wS,GAAG9wS,GAAGvI,OAAcjI,GAAG,IAAK,WAAa8gT,GAAG9Z,IAAI,SAASA,EAAEgc,mBAAgBE,GAAGlc,EAAEmc,GAAG3yS,EAAE4yS,GAAG,MAAK,MAAM,IAAK,WAAWA,GAAGD,GAAGD,GAAG,KAAK,MAAM,IAAK,YAAYG,IAAG,EAAG,MAAM,IAAK,cAAc,IAAK,UAAU,IAAK,UAAUA,IAAG,EAAGC,GAAG7pR,EAAEhpB,EAAEtQ,GAAG,MAAM,IAAK,kBAAkB,GAAG8iT,GAAG,MAAM,IAAK,UAAU,IAAK,QAAQK,GAAG7pR,EAAEhpB,EAAEtQ,GAAG,IAAIqoS,EAAE,GAAGwX,GAAG//S,EAAE,CAAC,OAAOD,GAAG,IAAK,mBAAmB,IAAIowS,EAAE,qBAAqB,MAAMnwS,EAAE,IAAK,iBAAiBmwS,EAAE,mBAAmB,MAAMnwS,EACrf,IAAK,oBAAoBmwS,EAAE,sBAAsB,MAAMnwS,EAAEmwS,OAAE,CAAM,MAAMoQ,GAAGF,GAAGtgT,EAAEyQ,KAAK2/R,EAAE,oBAAoB,YAAYpwS,GAAG,MAAMyQ,EAAE0qS,UAAU/K,EAAE,sBAAsBA,IAAI+P,IAAI,OAAO1vS,EAAEguS,SAAS+B,IAAI,uBAAuBpQ,EAAE,qBAAqBA,GAAGoQ,KAAKhY,EAAEyS,OAAYF,GAAG,UAARD,GAAG36S,GAAkB26S,GAAGr8S,MAAMq8S,GAAG5I,YAAYsO,IAAG,IAAe,GAAVxZ,EAAEga,GAAGxwS,EAAE4/R,IAAOtxS,SAASsxS,EAAE,IAAIkN,GAAGlN,EAAEpwS,EAAE,KAAKyQ,EAAEtQ,GAAGs5B,EAAE/4B,KAAK,CAACoS,MAAMs9R,EAAEh+R,UAAU40R,IAAIwB,EAAE4H,EAAExrS,KAAK4jS,EAAW,QAARA,EAAE+X,GAAG9vS,MAAc2/R,EAAExrS,KAAK4jS,MAASA,EAAE0X,GA1BjK,SAAYlgT,EAAEC,GAAG,OAAOD,GAAG,IAAK,iBAAiB,OAAOugT,GAAGtgT,GAAG,IAAK,WAAW,OAAG,KAAKA,EAAEy+S,MAAa,MAAK2B,IAAG,EAAUD,IAAG,IAAK,YAAY,OAAOpgT,EAAEC,EAAE2E,QAASw7S,IAAIC,GAAG,KAAKrgT,EAAE,QAAQ,OAAO,KAAK,CA0B7B+kT,CAAG/kT,EAAEyQ,GAzB1b,SAAYzQ,EAAEC,GAAG,GAAGugT,GAAG,MAAM,mBAAmBxgT,IAAIggT,IAAIM,GAAGtgT,EAAEC,IAAID,EAAEi7S,KAAKD,GAAGD,GAAGD,GAAG,KAAK0F,IAAG,EAAGxgT,GAAG,KAAK,OAAOA,GAAG,IAAK,QAAgQ,QAAQ,OAAO,KAA3P,IAAK,WAAW,KAAKC,EAAEowE,SAASpwE,EAAEmwE,QAAQnwE,EAAEqwE,UAAUrwE,EAAEowE,SAASpwE,EAAEmwE,OAAO,CAAC,GAAGnwE,EAAEg3D,MAAM,EAAEh3D,EAAEg3D,KAAKn4D,OAAO,OAAOmB,EAAEg3D,KAAK,GAAGh3D,EAAEy+S,MAAM,OAAOjkR,OAAOC,aAAaz6B,EAAEy+S,MAAM,CAAC,OAAO,KAAK,IAAK,iBAAiB,OAAOyB,IAAI,OAAOlgT,EAAEw+S,OAAO,KAAKx+S,EAAE2E,KAAyB,CAyBsDogT,CAAGhlT,EAAEyQ,MAA2B,GAAxBD,EAAEwwS,GAAGxwS,EAAE,kBAAqB1R,SAASqB,EAAE,IAAIm9S,GAAG,gBACnf,cAAc,KAAK7sS,EAAEtQ,GAAGs5B,EAAE/4B,KAAK,CAACoS,MAAM3S,EAAEiS,UAAU5B,IAAIrQ,EAAEyE,KAAK4jS,GAAE,CAAC4Y,GAAG3nR,EAAEx5B,EAAE,GAAE,CAAC,SAASykT,GAAG1kT,EAAEC,EAAEwQ,GAAG,MAAM,CAACi9G,SAAS1tH,EAAEwS,SAASvS,EAAEw7S,cAAchrS,EAAE,CAAC,SAASuwS,GAAGhhT,EAAEC,GAAG,IAAI,IAAIwQ,EAAExQ,EAAE,UAAUuQ,EAAE,GAAG,OAAOxQ,GAAG,CAAC,IAAIG,EAAEH,EAAEwK,EAAErK,EAAE4zS,UAAU,IAAI5zS,EAAE6oR,KAAK,OAAOx+Q,IAAIrK,EAAEqK,EAAY,OAAVA,EAAEkqS,GAAG10S,EAAEyQ,KAAYD,EAAEyqR,QAAQypB,GAAG1kT,EAAEwK,EAAErK,IAAc,OAAVqK,EAAEkqS,GAAG10S,EAAEC,KAAYuQ,EAAE9P,KAAKgkT,GAAG1kT,EAAEwK,EAAErK,KAAKH,EAAEA,EAAEolC,MAAM,CAAC,OAAO50B,CAAC,CAAC,SAASq0S,GAAG7kT,GAAG,GAAG,OAAOA,EAAE,OAAO,KAAK,GAAGA,EAAEA,EAAEolC,aAAaplC,GAAG,IAAIA,EAAEgpR,KAAK,OAAOhpR,GAAI,IAAI,CAC5a,SAAS8kT,GAAG9kT,EAAEC,EAAEwQ,EAAED,EAAErQ,GAAG,IAAI,IAAIqK,EAAEvK,EAAEs7S,WAAW9hR,EAAE,GAAG,OAAOhpB,GAAGA,IAAID,GAAG,CAAC,IAAIo7C,EAAEn7C,EAAE27C,EAAER,EAAE0pP,UAAUz8D,EAAEjtL,EAAEmoP,UAAU,GAAG,OAAO3nP,GAAGA,IAAI57C,EAAE,MAAM,IAAIo7C,EAAEo9N,KAAK,OAAOnwC,IAAIjtL,EAAEitL,EAAE14O,EAAa,OAAVisD,EAAEsoP,GAAGjkS,EAAEjG,KAAYivB,EAAEwhQ,QAAQypB,GAAGj0S,EAAE27C,EAAER,IAAKzrD,GAAc,OAAVisD,EAAEsoP,GAAGjkS,EAAEjG,KAAYivB,EAAE/4B,KAAKgkT,GAAGj0S,EAAE27C,EAAER,KAAMn7C,EAAEA,EAAE20B,MAAM,CAAC,IAAI3L,EAAE36B,QAAQkB,EAAEU,KAAK,CAACoS,MAAM7S,EAAEmS,UAAUqnB,GAAG,CAAC,SAASwrR,KAAK,CAAC,IAAIC,GAAG,KAAKC,GAAG,KAAK,SAASC,GAAGplT,EAAEC,GAAG,OAAOD,GAAG,IAAK,SAAS,IAAK,QAAQ,IAAK,SAAS,IAAK,WAAW,QAAQC,EAAEolT,UAAU,OAAM,CAAE,CAC7b,SAASC,GAAGtlT,EAAEC,GAAG,MAAM,aAAaD,GAAG,WAAWA,GAAG,aAAaA,GAAG,kBAAkBC,EAAEmmB,UAAU,kBAAkBnmB,EAAEmmB,UAAU,kBAAkBnmB,EAAEuuS,yBAAyB,OAAOvuS,EAAEuuS,yBAAyB,MAAMvuS,EAAEuuS,wBAAwBmC,MAAM,CAAC,IAAI4U,GAAG,oBAAoBr9S,WAAWA,gBAAW,EAAOs9S,GAAG,oBAAoB38S,aAAaA,kBAAa,EAAO,SAAS48S,GAAGzlT,GAAG,IAAIA,EAAEihE,SAASjhE,EAAEkyS,YAAY,GAAG,IAAIlyS,EAAEihE,WAAoB,OAATjhE,EAAEA,EAAE45D,QAAe55D,EAAEkyS,YAAY,IAAI,CAC5c,SAASwT,GAAG1lT,GAAG,KAAK,MAAMA,EAAEA,EAAEA,EAAEy/D,YAAY,CAAC,IAAIx/D,EAAED,EAAEihE,SAAS,GAAG,IAAIhhE,GAAG,IAAIA,EAAE,KAAK,CAAC,OAAOD,CAAC,CAAC,SAAS2lT,GAAG3lT,GAAGA,EAAEA,EAAE4lT,gBAAgB,IAAI,IAAI3lT,EAAE,EAAED,GAAG,CAAC,GAAG,IAAIA,EAAEihE,SAAS,CAAC,IAAIxwD,EAAEzQ,EAAE4E,KAAK,GAAG,MAAM6L,GAAG,OAAOA,GAAG,OAAOA,EAAE,CAAC,GAAG,IAAIxQ,EAAE,OAAOD,EAAEC,GAAG,KAAK,OAAOwQ,GAAGxQ,GAAG,CAACD,EAAEA,EAAE4lT,eAAe,CAAC,OAAO,IAAI,CAAC,IAAIC,GAAG,EAA0D,IAAIC,GAAGllS,KAAKs4G,SAASl6H,SAAS,IAAIoJ,MAAM,GAAG29S,GAAG,gBAAgBD,GAAGE,GAAG,gBAAgBF,GAAGnB,GAAG,oBAAoBmB,GAAGG,GAAG,iBAAiBH,GAC9d,SAAS7O,GAAGj3S,GAAG,IAAIC,EAAED,EAAE+lT,IAAI,GAAG9lT,EAAE,OAAOA,EAAE,IAAI,IAAIwQ,EAAEzQ,EAAE26D,WAAWlqD,GAAG,CAAC,GAAGxQ,EAAEwQ,EAAEk0S,KAAKl0S,EAAEs1S,IAAI,CAAe,GAAdt1S,EAAExQ,EAAEq1S,UAAa,OAAOr1S,EAAEymB,OAAO,OAAOjW,GAAG,OAAOA,EAAEiW,MAAM,IAAI1mB,EAAE2lT,GAAG3lT,GAAG,OAAOA,GAAG,CAAC,GAAGyQ,EAAEzQ,EAAE+lT,IAAI,OAAOt1S,EAAEzQ,EAAE2lT,GAAG3lT,EAAE,CAAC,OAAOC,CAAC,CAAKwQ,GAAJzQ,EAAEyQ,GAAMkqD,UAAU,CAAC,OAAO,IAAI,CAAC,SAASm5O,GAAG9zS,GAAkB,QAAfA,EAAEA,EAAE+lT,KAAK/lT,EAAE2kT,MAAc,IAAI3kT,EAAEgpR,KAAK,IAAIhpR,EAAEgpR,KAAK,KAAKhpR,EAAEgpR,KAAK,IAAIhpR,EAAEgpR,IAAI,KAAKhpR,CAAC,CAAC,SAASshT,GAAGthT,GAAG,GAAG,IAAIA,EAAEgpR,KAAK,IAAIhpR,EAAEgpR,IAAI,OAAOhpR,EAAE+zS,UAAU,MAAMpoS,MAAM+3D,EAAE,IAAK,CAAC,SAASswO,GAAGh0S,GAAG,OAAOA,EAAEgmT,KAAK,IAAI,CACtb,SAAS5B,GAAGpkT,GAAG,IAAIC,EAAED,EAAEimT,IAAkC,YAA9B,IAAShmT,IAAIA,EAAED,EAAEimT,IAAI,IAAI3lT,KAAYL,CAAC,CAAC,IAAIimT,GAAG,GAAGC,IAAI,EAAE,SAASC,GAAGpmT,GAAG,MAAM,CAACw/Q,QAAQx/Q,EAAE,CAAC,SAASwsD,GAAExsD,GAAG,EAAEmmT,KAAKnmT,EAAEw/Q,QAAQ0mC,GAAGC,IAAID,GAAGC,IAAI,KAAKA,KAAK,CAAC,SAASxf,GAAE3mS,EAAEC,GAAGkmT,KAAKD,GAAGC,IAAInmT,EAAEw/Q,QAAQx/Q,EAAEw/Q,QAAQv/Q,CAAC,CAAC,IAAIomT,GAAG,CAAC,EAAE/e,GAAE8e,GAAGC,IAAIze,GAAEwe,IAAG,GAAIE,GAAGD,GAC5P,SAASE,GAAGvmT,EAAEC,GAAG,IAAIwQ,EAAEzQ,EAAEgT,KAAK+uR,aAAa,IAAItxR,EAAE,OAAO41S,GAAG,IAAI71S,EAAExQ,EAAE+zS,UAAU,GAAGvjS,GAAGA,EAAEg2S,8CAA8CvmT,EAAE,OAAOuQ,EAAEi2S,0CAA0C,IAASj8S,EAALrK,EAAE,CAAC,EAAI,IAAIqK,KAAKiG,EAAEtQ,EAAEqK,GAAGvK,EAAEuK,GAAoH,OAAjHgG,KAAIxQ,EAAEA,EAAE+zS,WAAYyS,4CAA4CvmT,EAAED,EAAEymT,0CAA0CtmT,GAAUA,CAAC,CAAC,SAASumT,GAAG1mT,GAAyB,OAAO,QAA7BA,EAAEA,EAAE6hS,yBAAmC,IAAS7hS,CAAC,CAAC,SAAS2mT,KAAKn6P,GAAEo7O,IAAGp7O,GAAE86O,GAAE,CAAC,SAASsf,GAAG5mT,EAAEC,EAAEwQ,GAAG,GAAG62R,GAAE9nB,UAAU6mC,GAAG,MAAM16S,MAAM+3D,EAAE,MAAMijO,GAAEW,GAAErnS,GAAG0mS,GAAEiB,GAAEn3R,EAAE,CACjf,SAASo2S,GAAG7mT,EAAEC,EAAEwQ,GAAG,IAAID,EAAExQ,EAAE+zS,UAAgC,GAAtB/zS,EAAEC,EAAE4hS,kBAAqB,oBAAoBrxR,EAAE6+R,gBAAgB,OAAO5+R,EAAwB,IAAI,IAAItQ,KAA9BqQ,EAAEA,EAAE6+R,kBAAiC,KAAKlvS,KAAKH,GAAG,MAAM2L,MAAM+3D,EAAE,IAAIiqO,EAAG1tS,IAAI,UAAUE,IAAI,OAAOm8B,EAAE,CAAC,EAAE7rB,EAAED,EAAE,CAAC,SAASs2S,GAAG9mT,GAAyG,OAAtGA,GAAGA,EAAEA,EAAE+zS,YAAY/zS,EAAE+mT,2CAA2CV,GAAGC,GAAGhf,GAAE9nB,QAAQmnB,GAAEW,GAAEtnS,GAAG2mS,GAAEiB,GAAEA,GAAEpoB,UAAe,CAAE,CAAC,SAASwnC,GAAGhnT,EAAEC,EAAEwQ,GAAG,IAAID,EAAExQ,EAAE+zS,UAAU,IAAIvjS,EAAE,MAAM7E,MAAM+3D,EAAE,MAAMjzD,GAAGzQ,EAAE6mT,GAAG7mT,EAAEC,EAAEqmT,IAAI91S,EAAEu2S,0CAA0C/mT,EAAEwsD,GAAEo7O,IAAGp7O,GAAE86O,IAAGX,GAAEW,GAAEtnS,IAAIwsD,GAAEo7O,IAAGjB,GAAEiB,GAAEn3R,EAAE,CAC/e,IAAIw2S,GAAG,KAAKC,GAAG,KAAKC,GAAGz2S,EAAEymS,yBAAyBiQ,GAAG12S,EAAEknS,0BAA0ByP,GAAG32S,EAAE42S,wBAAwBC,GAAG72S,EAAE82S,qBAAqBC,GAAG/2S,EAAEg3S,sBAAsBC,GAAGj3S,EAAEwoS,aAAa0O,GAAGl3S,EAAEm3S,iCAAiCC,GAAGp3S,EAAEq3S,2BAA2BC,GAAGt3S,EAAE6pS,8BAA8B0N,GAAGv3S,EAAEmnS,wBAAwBqQ,GAAGx3S,EAAEy3S,qBAAqBC,GAAG13S,EAAE23S,sBAAsBC,GAAG,CAAC,EAAEC,QAAG,IAASd,GAAGA,GAAG,WAAW,EAAEe,GAAG,KAAKC,GAAG,KAAKC,IAAG,EAAGC,GAAGhB,KAAK1f,GAAE,IAAI0gB,GAAGhB,GAAG,WAAW,OAAOA,KAAKgB,EAAE,EACxd,SAASC,KAAK,OAAOhB,MAAM,KAAKE,GAAG,OAAO,GAAG,KAAKE,GAAG,OAAO,GAAG,KAAKC,GAAG,OAAO,GAAG,KAAKC,GAAG,OAAO,GAAG,KAAKE,GAAG,OAAO,GAAG,QAAQ,MAAMz8S,MAAM+3D,EAAE,MAAO,CAAC,SAASmlP,GAAG7oT,GAAG,OAAOA,GAAG,KAAK,GAAG,OAAO8nT,GAAG,KAAK,GAAG,OAAOE,GAAG,KAAK,GAAG,OAAOC,GAAG,KAAK,GAAG,OAAOC,GAAG,KAAK,GAAG,OAAOE,GAAG,QAAQ,MAAMz8S,MAAM+3D,EAAE,MAAO,CAAC,SAASolP,GAAG9oT,EAAEC,GAAW,OAARD,EAAE6oT,GAAG7oT,GAAUmnT,GAAGnnT,EAAEC,EAAE,CAAC,SAAS8oT,GAAG/oT,EAAEC,EAAEwQ,GAAW,OAARzQ,EAAE6oT,GAAG7oT,GAAUonT,GAAGpnT,EAAEC,EAAEwQ,EAAE,CAAC,SAASu4S,KAAK,GAAG,OAAOP,GAAG,CAAC,IAAIzoT,EAAEyoT,GAAGA,GAAG,KAAKpB,GAAGrnT,EAAE,CAACipT,IAAI,CAC/a,SAASA,KAAK,IAAIP,IAAI,OAAOF,GAAG,CAACE,IAAG,EAAG,IAAI1oT,EAAE,EAAE,IAAI,IAAIC,EAAEuoT,GAAGM,GAAG,IAAG,WAAW,KAAK9oT,EAAEC,EAAEnB,OAAOkB,IAAI,CAAC,IAAIyQ,EAAExQ,EAAED,GAAG,GAAGyQ,EAAEA,GAAE,SAAU,OAAOA,EAAE,CAAC,IAAG+3S,GAAG,IAAI,CAAC,MAAM/3S,GAAG,MAAM,OAAO+3S,KAAKA,GAAGA,GAAGpgT,MAAMpI,EAAE,IAAIonT,GAAGU,GAAGkB,IAAIv4S,CAAE,CAAC,QAAQi4S,IAAG,CAAE,CAAC,CAAC,CAAC,IAAIQ,GAAG9hB,EAAG+hB,wBAAwB,SAASC,GAAGppT,EAAEC,GAAG,GAAGD,GAAGA,EAAE88Q,aAAa,CAA4B,IAAI,IAAIrsQ,KAAnCxQ,EAAEq8B,EAAE,CAAC,EAAEr8B,GAAGD,EAAEA,EAAE88Q,kBAA4B,IAAS78Q,EAAEwQ,KAAKxQ,EAAEwQ,GAAGzQ,EAAEyQ,IAAI,OAAOxQ,CAAC,CAAC,OAAOA,CAAC,CAAC,IAAIopT,GAAGjD,GAAG,MAAMkD,GAAG,KAAKC,GAAG,KAAKC,GAAG,KAAK,SAASC,KAAKD,GAAGD,GAAGD,GAAG,IAAI,CAChc,SAAS/lJ,GAAGvjK,GAAG,IAAIC,EAAEopT,GAAG7pC,QAAQhzN,GAAE68P,IAAIrpT,EAAEgT,KAAKozR,SAASsjB,cAAczpT,CAAC,CAAC,SAAS0pT,GAAG3pT,EAAEC,GAAG,KAAK,OAAOD,GAAG,CAAC,IAAIyQ,EAAEzQ,EAAEs1S,UAAU,IAAIt1S,EAAE4pT,WAAW3pT,KAAKA,EAAC,CAAC,GAAG,OAAOwQ,IAAIA,EAAEm5S,WAAW3pT,KAAKA,EAAE,MAAWwQ,EAAEm5S,YAAY3pT,CAAE,MAAKD,EAAE4pT,YAAY3pT,EAAE,OAAOwQ,IAAIA,EAAEm5S,YAAY3pT,GAAGD,EAAEA,EAAEolC,MAAM,CAAC,CAAC,SAASykR,GAAG7pT,EAAEC,GAAGqpT,GAAGtpT,EAAEwpT,GAAGD,GAAG,KAAsB,QAAjBvpT,EAAEA,EAAE8pT,eAAuB,OAAO9pT,EAAE+pT,eAAe,KAAK/pT,EAAEgqT,MAAM/pT,KAAKgqT,IAAG,GAAIjqT,EAAE+pT,aAAa,KAAK,CAC5Y,SAASG,GAAGlqT,EAAEC,GAAG,GAAGupT,KAAKxpT,IAAG,IAAKC,GAAG,IAAIA,EAAmG,GAA7F,kBAAkBA,GAAG,aAAaA,IAAEupT,GAAGxpT,EAAEC,EAAE,YAAWA,EAAE,CAAC0I,QAAQ3I,EAAEmqT,aAAalqT,EAAEs8B,KAAK,MAAS,OAAOgtR,GAAG,CAAC,GAAG,OAAOD,GAAG,MAAM39S,MAAM+3D,EAAE,MAAM6lP,GAAGtpT,EAAEqpT,GAAGQ,aAAa,CAACE,MAAM,EAAED,aAAa9pT,EAAEmqT,WAAW,KAAK,MAAMb,GAAGA,GAAGhtR,KAAKt8B,EAAE,OAAOD,EAAE0pT,aAAa,CAAC,IAAIW,IAAG,EAAG,SAASC,GAAGtqT,GAAGA,EAAEuqT,YAAY,CAACC,UAAUxqT,EAAE8oS,cAAc2hB,gBAAgB,KAAKC,eAAe,KAAKC,OAAO,CAACltG,QAAQ,MAAMmtG,QAAQ,KAAK,CAC/a,SAASC,GAAG7qT,EAAEC,GAAGD,EAAEA,EAAEuqT,YAAYtqT,EAAEsqT,cAAcvqT,IAAIC,EAAEsqT,YAAY,CAACC,UAAUxqT,EAAEwqT,UAAUC,gBAAgBzqT,EAAEyqT,gBAAgBC,eAAe1qT,EAAE0qT,eAAeC,OAAO3qT,EAAE2qT,OAAOC,QAAQ5qT,EAAE4qT,SAAS,CAAC,SAASE,GAAG9qT,EAAEC,GAAG,MAAM,CAAC8qT,UAAU/qT,EAAEgrT,KAAK/qT,EAAE+oR,IAAI,EAAE2W,QAAQ,KAAKr9R,SAAS,KAAKi6B,KAAK,KAAK,CAAC,SAAS0uR,GAAGjrT,EAAEC,GAAmB,GAAG,QAAnBD,EAAEA,EAAEuqT,aAAwB,CAAY,IAAI95S,GAAfzQ,EAAEA,EAAE2qT,QAAeltG,QAAQ,OAAOhtM,EAAExQ,EAAEs8B,KAAKt8B,GAAGA,EAAEs8B,KAAK9rB,EAAE8rB,KAAK9rB,EAAE8rB,KAAKt8B,GAAGD,EAAEy9M,QAAQx9M,CAAC,CAAC,CACvZ,SAASirT,GAAGlrT,EAAEC,GAAG,IAAIwQ,EAAEzQ,EAAEuqT,YAAY/5S,EAAExQ,EAAEs1S,UAAU,GAAG,OAAO9kS,GAAoBC,KAAhBD,EAAEA,EAAE+5S,aAAmB,CAAC,IAAIpqT,EAAE,KAAKqK,EAAE,KAAyB,GAAG,QAAvBiG,EAAEA,EAAEg6S,iBAA4B,CAAC,EAAE,CAAC,IAAIhxR,EAAE,CAACsxR,UAAUt6S,EAAEs6S,UAAUC,KAAKv6S,EAAEu6S,KAAKhiC,IAAIv4Q,EAAEu4Q,IAAI2W,QAAQlvR,EAAEkvR,QAAQr9R,SAASmO,EAAEnO,SAASi6B,KAAK,MAAM,OAAO/xB,EAAErK,EAAEqK,EAAEivB,EAAEjvB,EAAEA,EAAE+xB,KAAK9C,EAAEhpB,EAAEA,EAAE8rB,IAAI,OAAO,OAAO9rB,GAAG,OAAOjG,EAAErK,EAAEqK,EAAEvK,EAAEuK,EAAEA,EAAE+xB,KAAKt8B,CAAC,MAAME,EAAEqK,EAAEvK,EAAiH,OAA/GwQ,EAAE,CAAC+5S,UAAUh6S,EAAEg6S,UAAUC,gBAAgBtqT,EAAEuqT,eAAelgT,EAAEmgT,OAAOn6S,EAAEm6S,OAAOC,QAAQp6S,EAAEo6S,cAAS5qT,EAAEuqT,YAAY95S,EAAQ,CAAoB,QAAnBzQ,EAAEyQ,EAAEi6S,gBAAwBj6S,EAAEg6S,gBAAgBxqT,EAAED,EAAEu8B,KACnft8B,EAAEwQ,EAAEi6S,eAAezqT,CAAC,CACpB,SAASkrT,GAAGnrT,EAAEC,EAAEwQ,EAAED,GAAG,IAAIrQ,EAAEH,EAAEuqT,YAAYF,IAAG,EAAG,IAAI7/S,EAAErK,EAAEsqT,gBAAgBhxR,EAAEt5B,EAAEuqT,eAAe9+P,EAAEzrD,EAAEwqT,OAAOltG,QAAQ,GAAG,OAAO7xJ,EAAE,CAACzrD,EAAEwqT,OAAOltG,QAAQ,KAAK,IAAIrxJ,EAAER,EAAEitL,EAAEzsL,EAAE7vB,KAAK6vB,EAAE7vB,KAAK,KAAK,OAAO9C,EAAEjvB,EAAEquO,EAAEp/M,EAAE8C,KAAKs8M,EAAEp/M,EAAE2yB,EAAE,IAAIzvB,EAAE38B,EAAEs1S,UAAU,GAAG,OAAO34Q,EAAE,CAAiB,IAAImmD,GAApBnmD,EAAEA,EAAE4tR,aAAoBG,eAAe5nO,IAAIrpD,IAAI,OAAOqpD,EAAEnmD,EAAE8tR,gBAAgB5xE,EAAE/1J,EAAEvmD,KAAKs8M,EAAEl8M,EAAE+tR,eAAet+P,EAAE,CAAC,CAAC,GAAG,OAAO5hD,EAAE,CAA8B,IAA7Bs4E,EAAE3iF,EAAEqqT,UAAU/wR,EAAE,EAAEkD,EAAEk8M,EAAEzsL,EAAE,OAAO,CAACR,EAAEphD,EAAEwgT,KAAK,IAAI/kT,EAAEuE,EAAEugT,UAAU,IAAIv6S,EAAEo7C,KAAKA,EAAE,CAAC,OAAOjvB,IAAIA,EAAEA,EAAEJ,KAAK,CAACwuR,UAAU9kT,EAAE+kT,KAAK,EAAEhiC,IAAIx+Q,EAAEw+Q,IAAI2W,QAAQn1R,EAAEm1R,QAAQr9R,SAASkI,EAAElI,SACrfi6B,KAAK,OAAOv8B,EAAE,CAAC,IAAI+iF,EAAE/iF,EAAE2jE,EAAEn5D,EAAU,OAARohD,EAAE3rD,EAAEgG,EAAEwK,EAASkzD,EAAEqlN,KAAK,KAAK,EAAc,GAAG,oBAAfjmM,EAAEpf,EAAEg8N,SAAiC,CAAC78M,EAAEC,EAAEt7E,KAAKxB,EAAE68E,EAAEl3B,GAAG,MAAM5rD,CAAC,CAAC8iF,EAAEC,EAAE,MAAM/iF,EAAE,KAAK,EAAE+iF,EAAEwyN,OAAe,KAATxyN,EAAEwyN,MAAY,GAAG,KAAK,EAAsD,GAAG,QAA3C3pP,EAAE,oBAAdm3B,EAAEpf,EAAEg8N,SAAgC58M,EAAEt7E,KAAKxB,EAAE68E,EAAEl3B,GAAGm3B,SAAe,IAASn3B,EAAE,MAAM5rD,EAAE8iF,EAAExmD,EAAE,CAAC,EAAEwmD,EAAEl3B,GAAG,MAAM5rD,EAAE,KAAK,EAAEqqT,IAAG,EAAG,CAAC,OAAO7/S,EAAElI,WAAWtC,EAAEu1S,OAAO,GAAe,QAAZ3pP,EAAEzrD,EAAEyqT,SAAiBzqT,EAAEyqT,QAAQ,CAACpgT,GAAGohD,EAAElrD,KAAK8J,GAAG,MAAMvE,EAAE,CAAC8kT,UAAU9kT,EAAE+kT,KAAKp/P,EAAEo9N,IAAIx+Q,EAAEw+Q,IAAI2W,QAAQn1R,EAAEm1R,QAAQr9R,SAASkI,EAAElI,SAASi6B,KAAK,MAAM,OAAOI,GAAGk8M,EAAEl8M,EAAE12B,EAAEmmD,EAAE02B,GAAGnmD,EAAEA,EAAEJ,KAAKt2B,EAAEwzB,GAAGmyB,EAAW,GAAG,QAAZphD,EAAEA,EAAE+xB,MAC1e,IAAsB,QAAnBqvB,EAAEzrD,EAAEwqT,OAAOltG,SAAiB,MAAWjzM,EAAEohD,EAAErvB,KAAKqvB,EAAErvB,KAAK,KAAKp8B,EAAEuqT,eAAe9+P,EAAEzrD,EAAEwqT,OAAOltG,QAAQ,IAAI,EAAU,OAAO9gL,IAAIyvB,EAAE02B,GAAG3iF,EAAEqqT,UAAUp+P,EAAEjsD,EAAEsqT,gBAAgB5xE,EAAE14O,EAAEuqT,eAAe/tR,EAAEyuR,IAAI3xR,EAAEz5B,EAAEgqT,MAAMvwR,EAAEz5B,EAAE8oS,cAAchmN,CAAC,CAAC,CAAC,SAASuoO,GAAGrrT,EAAEC,EAAEwQ,GAA8B,GAA3BzQ,EAAEC,EAAE2qT,QAAQ3qT,EAAE2qT,QAAQ,KAAQ,OAAO5qT,EAAE,IAAIC,EAAE,EAAEA,EAAED,EAAElB,OAAOmB,IAAI,CAAC,IAAIuQ,EAAExQ,EAAEC,GAAGE,EAAEqQ,EAAElO,SAAS,GAAG,OAAOnC,EAAE,CAAqB,GAApBqQ,EAAElO,SAAS,KAAKkO,EAAEC,EAAK,oBAAoBtQ,EAAE,MAAMwL,MAAM+3D,EAAE,IAAIvjE,IAAIA,EAAEsH,KAAK+I,EAAE,CAAC,CAAC,CAAC,IAAI86S,IAAI,IAAI9lB,EAAGlsN,WAAWiyO,KAC3b,SAASC,GAAGxrT,EAAEC,EAAEwQ,EAAED,GAA8BC,EAAE,QAAXA,EAAEA,EAAED,EAAtBvQ,EAAED,EAAE8oS,sBAAmC,IAASr4R,EAAExQ,EAAEq8B,EAAE,CAAC,EAAEr8B,EAAEwQ,GAAGzQ,EAAE8oS,cAAcr4R,EAAE,IAAIzQ,EAAEgqT,QAAQhqT,EAAEuqT,YAAYC,UAAU/5S,EAAE,CAC7I,IAAIg7S,GAAG,CAAC3c,UAAU,SAAS9uS,GAAG,SAAOA,EAAEA,EAAE0rT,kBAAiBrW,GAAGr1S,KAAKA,CAAI,EAAEivS,gBAAgB,SAASjvS,EAAEC,EAAEwQ,GAAGzQ,EAAEA,EAAE0rT,gBAAgB,IAAIl7S,EAAEm7S,KAAKxrT,EAAEyrT,GAAG5rT,GAAGwK,EAAEsgT,GAAGt6S,EAAErQ,GAAGqK,EAAEm1R,QAAQ1/R,OAAE,IAASwQ,GAAG,OAAOA,IAAIjG,EAAElI,SAASmO,GAAGw6S,GAAGjrT,EAAEwK,GAAGqhT,GAAG7rT,EAAEG,EAAEqQ,EAAE,EAAEw+R,oBAAoB,SAAShvS,EAAEC,EAAEwQ,GAAGzQ,EAAEA,EAAE0rT,gBAAgB,IAAIl7S,EAAEm7S,KAAKxrT,EAAEyrT,GAAG5rT,GAAGwK,EAAEsgT,GAAGt6S,EAAErQ,GAAGqK,EAAEw+Q,IAAI,EAAEx+Q,EAAEm1R,QAAQ1/R,OAAE,IAASwQ,GAAG,OAAOA,IAAIjG,EAAElI,SAASmO,GAAGw6S,GAAGjrT,EAAEwK,GAAGqhT,GAAG7rT,EAAEG,EAAEqQ,EAAE,EAAEu+R,mBAAmB,SAAS/uS,EAAEC,GAAGD,EAAEA,EAAE0rT,gBAAgB,IAAIj7S,EAAEk7S,KAAKn7S,EAAEo7S,GAAG5rT,GAAGG,EAAE2qT,GAAGr6S,EAAED,GAAGrQ,EAAE6oR,IAAI,OAAE,IAAS/oR,GAAG,OAAOA,IAAIE,EAAEmC,SACjfrC,GAAGgrT,GAAGjrT,EAAEG,GAAG0rT,GAAG7rT,EAAEwQ,EAAEC,EAAE,GAAG,SAASq7S,GAAG9rT,EAAEC,EAAEwQ,EAAED,EAAErQ,EAAEqK,EAAEivB,GAAiB,MAAM,oBAApBz5B,EAAEA,EAAE+zS,WAAsCz4B,sBAAsBt7Q,EAAEs7Q,sBAAsB9qQ,EAAEhG,EAAEivB,IAAGx5B,EAAE2B,YAAW3B,EAAE2B,UAAUmqT,wBAAsBxJ,GAAG9xS,EAAED,KAAK+xS,GAAGpiT,EAAEqK,GAAK,CACpN,SAASwhT,GAAGhsT,EAAEC,EAAEwQ,GAAG,IAAID,GAAE,EAAGrQ,EAAEkmT,GAAO77S,EAAEvK,EAAE6hS,YAA2W,MAA/V,kBAAkBt3R,GAAG,OAAOA,EAAEA,EAAE0/S,GAAG1/S,IAAIrK,EAAEumT,GAAGzmT,GAAGqmT,GAAGhf,GAAE9nB,QAAyBh1Q,GAAGgG,EAAE,QAAtBA,EAAEvQ,EAAE8hS,oBAA4B,IAASvxR,GAAG+1S,GAAGvmT,EAAEG,GAAGkmT,IAAIpmT,EAAE,IAAIA,EAAEwQ,EAAEjG,GAAGxK,EAAE8oS,cAAc,OAAO7oS,EAAEsyC,YAAO,IAAStyC,EAAEsyC,MAAMtyC,EAAEsyC,MAAM,KAAKtyC,EAAEivS,QAAQuc,GAAGzrT,EAAE+zS,UAAU9zS,EAAEA,EAAEyrT,gBAAgB1rT,EAAEwQ,KAAIxQ,EAAEA,EAAE+zS,WAAYyS,4CAA4CrmT,EAAEH,EAAEymT,0CAA0Cj8S,GAAUvK,CAAC,CAC5Z,SAASgsT,GAAGjsT,EAAEC,EAAEwQ,EAAED,GAAGxQ,EAAEC,EAAEsyC,MAAM,oBAAoBtyC,EAAEisT,2BAA2BjsT,EAAEisT,0BAA0Bz7S,EAAED,GAAG,oBAAoBvQ,EAAEksT,kCAAkClsT,EAAEksT,iCAAiC17S,EAAED,GAAGvQ,EAAEsyC,QAAQvyC,GAAGyrT,GAAGzc,oBAAoB/uS,EAAEA,EAAEsyC,MAAM,KAAK,CACpQ,SAAS65Q,GAAGpsT,EAAEC,EAAEwQ,EAAED,GAAG,IAAIrQ,EAAEH,EAAE+zS,UAAU5zS,EAAEiP,MAAMqB,EAAEtQ,EAAEoyC,MAAMvyC,EAAE8oS,cAAc3oS,EAAEorT,KAAKD,GAAGhB,GAAGtqT,GAAG,IAAIwK,EAAEvK,EAAE6hS,YAAY,kBAAkBt3R,GAAG,OAAOA,EAAErK,EAAEwI,QAAQuhT,GAAG1/S,IAAIA,EAAEk8S,GAAGzmT,GAAGqmT,GAAGhf,GAAE9nB,QAAQr/Q,EAAEwI,QAAQ49S,GAAGvmT,EAAEwK,IAAI2gT,GAAGnrT,EAAEyQ,EAAEtQ,EAAEqQ,GAAGrQ,EAAEoyC,MAAMvyC,EAAE8oS,cAA2C,oBAA7Bt+R,EAAEvK,EAAEiiS,4BAAiDspB,GAAGxrT,EAAEC,EAAEuK,EAAEiG,GAAGtQ,EAAEoyC,MAAMvyC,EAAE8oS,eAAe,oBAAoB7oS,EAAEiiS,0BAA0B,oBAAoB/hS,EAAEksT,yBAAyB,oBAAoBlsT,EAAEgvS,2BAA2B,oBAAoBhvS,EAAEivS,qBACvenvS,EAAEE,EAAEoyC,MAAM,oBAAoBpyC,EAAEivS,oBAAoBjvS,EAAEivS,qBAAqB,oBAAoBjvS,EAAEgvS,2BAA2BhvS,EAAEgvS,4BAA4BlvS,IAAIE,EAAEoyC,OAAOk5Q,GAAGzc,oBAAoB7uS,EAAEA,EAAEoyC,MAAM,MAAM44Q,GAAGnrT,EAAEyQ,EAAEtQ,EAAEqQ,GAAGrQ,EAAEoyC,MAAMvyC,EAAE8oS,eAAe,oBAAoB3oS,EAAEm6Q,oBAAoBt6Q,EAAEu1S,OAAO,EAAE,CAAC,IAAI+W,GAAG/pT,MAAMC,QACvT,SAAS+pT,GAAGvsT,EAAEC,EAAEwQ,GAAW,GAAG,QAAXzQ,EAAEyQ,EAAE66D,MAAiB,oBAAoBtrE,GAAG,kBAAkBA,EAAE,CAAC,GAAGyQ,EAAE+7S,OAAO,CAAY,GAAX/7S,EAAEA,EAAE+7S,OAAY,CAAC,GAAG,IAAI/7S,EAAEu4Q,IAAI,MAAMr9Q,MAAM+3D,EAAE,MAAM,IAAIlzD,EAAEC,EAAEsjS,SAAS,CAAC,IAAIvjS,EAAE,MAAM7E,MAAM+3D,EAAE,IAAI1jE,IAAI,IAAIG,EAAE,GAAGH,EAAE,OAAG,OAAOC,GAAG,OAAOA,EAAEqrE,KAAK,oBAAoBrrE,EAAEqrE,KAAKrrE,EAAEqrE,IAAImhP,aAAatsT,EAASF,EAAEqrE,KAAIrrE,EAAE,SAASD,GAAG,IAAIC,EAAEuQ,EAAE+6S,KAAKtrT,IAAIqrT,KAAKrrT,EAAEuQ,EAAE+6S,KAAK,CAAC,GAAG,OAAOvrT,SAASC,EAAEE,GAAGF,EAAEE,GAAGH,CAAC,EAAEC,EAAEwsT,WAAWtsT,EAASF,EAAC,CAAC,GAAG,kBAAkBD,EAAE,MAAM2L,MAAM+3D,EAAE,MAAM,IAAIjzD,EAAE+7S,OAAO,MAAM7gT,MAAM+3D,EAAE,IAAI1jE,GAAI,CAAC,OAAOA,CAAC,CACje,SAAS0sT,GAAG1sT,EAAEC,GAAG,GAAG,aAAaD,EAAEgT,KAAK,MAAMrH,MAAM+3D,EAAE,GAAG,oBAAoB/iE,OAAOiB,UAAU5C,SAASyI,KAAKxH,GAAG,qBAAqBU,OAAOmB,KAAK7B,GAAG4M,KAAK,MAAM,IAAI5M,GAAI,CACtK,SAAS0sT,GAAG3sT,GAAG,SAASC,EAAEA,EAAEwQ,GAAG,GAAGzQ,EAAE,CAAC,IAAIwQ,EAAEvQ,EAAE2sT,WAAW,OAAOp8S,GAAGA,EAAEq8S,WAAWp8S,EAAExQ,EAAE2sT,WAAWn8S,GAAGxQ,EAAE6sT,YAAY7sT,EAAE2sT,WAAWn8S,EAAEA,EAAEo8S,WAAW,KAAKp8S,EAAE8kS,MAAM,CAAC,CAAC,CAAC,SAAS9kS,EAAEA,EAAED,GAAG,IAAIxQ,EAAE,OAAO,KAAK,KAAK,OAAOwQ,GAAGvQ,EAAEwQ,EAAED,GAAGA,EAAEA,EAAEsxD,QAAQ,OAAO,IAAI,CAAC,SAAStxD,EAAExQ,EAAEC,GAAG,IAAID,EAAE,IAAIO,IAAI,OAAON,GAAG,OAAOA,EAAEyC,IAAI1C,EAAEwG,IAAIvG,EAAEyC,IAAIzC,GAAGD,EAAEwG,IAAIvG,EAAEwC,MAAMxC,GAAGA,EAAEA,EAAE6hE,QAAQ,OAAO9hE,CAAC,CAAC,SAASG,EAAEH,EAAEC,GAAsC,OAAnCD,EAAE+sT,GAAG/sT,EAAEC,IAAKwC,MAAM,EAAEzC,EAAE8hE,QAAQ,KAAY9hE,CAAC,CAAC,SAASwK,EAAEvK,EAAEwQ,EAAED,GAAa,OAAVvQ,EAAEwC,MAAM+N,EAAMxQ,EAA4B,QAAjBwQ,EAAEvQ,EAAEq1S,YAA6B9kS,EAAEA,EAAE/N,OAAQgO,GAAGxQ,EAAEs1S,MAAM,EACpf9kS,GAAGD,GAAEvQ,EAAEs1S,MAAM,EAAS9kS,GADoaA,CACna,CAAC,SAASgpB,EAAEx5B,GAAsC,OAAnCD,GAAG,OAAOC,EAAEq1S,YAAYr1S,EAAEs1S,MAAM,GAAUt1S,CAAC,CAAC,SAAS2rD,EAAE5rD,EAAEC,EAAEwQ,EAAED,GAAG,OAAG,OAAOvQ,GAAG,IAAIA,EAAE+oR,MAAW/oR,EAAE+sT,GAAGv8S,EAAEzQ,EAAEitT,KAAKz8S,IAAK40B,OAAOplC,EAAEC,KAAEA,EAAEE,EAAEF,EAAEwQ,IAAK20B,OAAOplC,EAASC,EAAC,CAAC,SAASmsD,EAAEpsD,EAAEC,EAAEwQ,EAAED,GAAG,OAAG,OAAOvQ,GAAGA,EAAE4kS,cAAcp0R,EAAEuC,OAAYxC,EAAErQ,EAAEF,EAAEwQ,EAAErB,QAASk8D,IAAIihP,GAAGvsT,EAAEC,EAAEwQ,GAAGD,EAAE40B,OAAOplC,EAAEwQ,KAAEA,EAAE08S,GAAGz8S,EAAEuC,KAAKvC,EAAE/N,IAAI+N,EAAErB,MAAM,KAAKpP,EAAEitT,KAAKz8S,IAAK86D,IAAIihP,GAAGvsT,EAAEC,EAAEwQ,GAAGD,EAAE40B,OAAOplC,EAASwQ,EAAC,CAAC,SAASqoO,EAAE74O,EAAEC,EAAEwQ,EAAED,GAAG,OAAG,OAAOvQ,GAAG,IAAIA,EAAE+oR,KAAK/oR,EAAE8zS,UAAUuD,gBAAgB7mS,EAAE6mS,eAAer3S,EAAE8zS,UAAUoZ,iBAAiB18S,EAAE08S,iBAAsBltT,EACrgBmtT,GAAG38S,EAAEzQ,EAAEitT,KAAKz8S,IAAK40B,OAAOplC,EAAEC,KAAEA,EAAEE,EAAEF,EAAEwQ,EAAE2V,UAAU,KAAMgf,OAAOplC,EAASC,EAAC,CAAC,SAAS08B,EAAE38B,EAAEC,EAAEwQ,EAAED,EAAEhG,GAAG,OAAG,OAAOvK,GAAG,IAAIA,EAAE+oR,MAAW/oR,EAAEotT,GAAG58S,EAAEzQ,EAAEitT,KAAKz8S,EAAEhG,IAAK46B,OAAOplC,EAAEC,KAAEA,EAAEE,EAAEF,EAAEwQ,IAAK20B,OAAOplC,EAASC,EAAC,CAAC,SAAS6iF,EAAE9iF,EAAEC,EAAEwQ,GAAG,GAAG,kBAAkBxQ,GAAG,kBAAkBA,EAAE,OAAOA,EAAE+sT,GAAG,GAAG/sT,EAAED,EAAEitT,KAAKx8S,IAAK20B,OAAOplC,EAAEC,EAAE,GAAG,kBAAkBA,GAAG,OAAOA,EAAE,CAAC,OAAOA,EAAE2xR,UAAU,KAAKyV,EAAG,OAAO52R,EAAEy8S,GAAGjtT,EAAE+S,KAAK/S,EAAEyC,IAAIzC,EAAEmP,MAAM,KAAKpP,EAAEitT,KAAKx8S,IAAK66D,IAAIihP,GAAGvsT,EAAE,KAAKC,GAAGwQ,EAAE20B,OAAOplC,EAAEyQ,EAAE,KAAK03R,EAAG,OAAOloS,EAAEmtT,GAAGntT,EAAED,EAAEitT,KAAKx8S,IAAK20B,OAAOplC,EAAEC,EAAE,GAAGqsT,GAAGrsT,IAAIsqS,EAAGtqS,GAAG,OAAOA,EAAEotT,GAAGptT,EACnfD,EAAEitT,KAAKx8S,EAAE,OAAQ20B,OAAOplC,EAAEC,EAAEysT,GAAG1sT,EAAEC,EAAE,CAAC,OAAO,IAAI,CAAC,SAASgG,EAAEjG,EAAEC,EAAEwQ,EAAED,GAAG,IAAIrQ,EAAE,OAAOF,EAAEA,EAAEyC,IAAI,KAAK,GAAG,kBAAkB+N,GAAG,kBAAkBA,EAAE,OAAO,OAAOtQ,EAAE,KAAKyrD,EAAE5rD,EAAEC,EAAE,GAAGwQ,EAAED,GAAG,GAAG,kBAAkBC,GAAG,OAAOA,EAAE,CAAC,OAAOA,EAAEmhR,UAAU,KAAKyV,EAAG,OAAO52R,EAAE/N,MAAMvC,EAAEsQ,EAAEuC,OAAOo1R,EAAGzrQ,EAAE38B,EAAEC,EAAEwQ,EAAErB,MAAMgX,SAAS5V,EAAErQ,GAAGisD,EAAEpsD,EAAEC,EAAEwQ,EAAED,GAAG,KAAK,KAAK23R,EAAG,OAAO13R,EAAE/N,MAAMvC,EAAE04O,EAAE74O,EAAEC,EAAEwQ,EAAED,GAAG,KAAK,GAAG87S,GAAG77S,IAAI85R,EAAG95R,GAAG,OAAO,OAAOtQ,EAAE,KAAKw8B,EAAE38B,EAAEC,EAAEwQ,EAAED,EAAE,MAAMk8S,GAAG1sT,EAAEyQ,EAAE,CAAC,OAAO,IAAI,CAAC,SAASsyE,EAAE/iF,EAAEC,EAAEwQ,EAAED,EAAErQ,GAAG,GAAG,kBAAkBqQ,GAAG,kBAAkBA,EAAE,OACleo7C,EAAE3rD,EADueD,EAAEA,EAAEmG,IAAIsK,IACtf,KAAW,GAAGD,EAAErQ,GAAG,GAAG,kBAAkBqQ,GAAG,OAAOA,EAAE,CAAC,OAAOA,EAAEohR,UAAU,KAAKyV,EAAG,OAAOrnS,EAAEA,EAAEmG,IAAI,OAAOqK,EAAE9N,IAAI+N,EAAED,EAAE9N,MAAM,KAAK8N,EAAEwC,OAAOo1R,EAAGzrQ,EAAE18B,EAAED,EAAEwQ,EAAEpB,MAAMgX,SAASjmB,EAAEqQ,EAAE9N,KAAK0pD,EAAEnsD,EAAED,EAAEwQ,EAAErQ,GAAG,KAAKgoS,EAAG,OAA2CtvD,EAAE54O,EAAtCD,EAAEA,EAAEmG,IAAI,OAAOqK,EAAE9N,IAAI+N,EAAED,EAAE9N,MAAM,KAAW8N,EAAErQ,GAAG,GAAGmsT,GAAG97S,IAAI+5R,EAAG/5R,GAAG,OAAwBmsB,EAAE18B,EAAnBD,EAAEA,EAAEmG,IAAIsK,IAAI,KAAWD,EAAErQ,EAAE,MAAMusT,GAAGzsT,EAAEuQ,EAAE,CAAC,OAAO,IAAI,CAAC,SAASmzD,EAAExjE,EAAEs5B,EAAEmyB,EAAEQ,GAAG,IAAI,IAAIysL,EAAE,KAAKlmN,EAAE,KAAK2yQ,EAAE7rQ,EAAE8rQ,EAAE9rQ,EAAE,EAAEuzB,EAAE,KAAK,OAAOs4O,GAAGC,EAAE35O,EAAE9sD,OAAOymS,IAAI,CAACD,EAAE7iS,MAAM8iS,GAAGv4O,EAAEs4O,EAAEA,EAAE,MAAMt4O,EAAEs4O,EAAExjO,QAAQ,IAAInlC,EAAE12B,EAAE9F,EAAEmlS,EAAE15O,EAAE25O,GAAGn5O,GAAG,GAAG,OAAOzvB,EAAE,CAAC,OAAO2oQ,IAAIA,EAAEt4O,GAAG,KAAK,CAAChtD,GAAGslS,GAAG,OACjf3oQ,EAAE24Q,WAAWr1S,EAAEE,EAAEmlS,GAAG7rQ,EAAEjvB,EAAEmyB,EAAElD,EAAE8rQ,GAAG,OAAO5yQ,EAAEkmN,EAAEl8M,EAAEhK,EAAEmvC,QAAQnlC,EAAEhK,EAAEgK,EAAE2oQ,EAAEt4O,CAAC,CAAC,GAAGu4O,IAAI35O,EAAE9sD,OAAO,OAAO2R,EAAEtQ,EAAEmlS,GAAGzsD,EAAE,GAAG,OAAOysD,EAAE,CAAC,KAAKC,EAAE35O,EAAE9sD,OAAOymS,IAAkB,QAAdD,EAAExiN,EAAE3iF,EAAEyrD,EAAE25O,GAAGn5O,MAAc3yB,EAAEjvB,EAAE86R,EAAE7rQ,EAAE8rQ,GAAG,OAAO5yQ,EAAEkmN,EAAEysD,EAAE3yQ,EAAEmvC,QAAQwjO,EAAE3yQ,EAAE2yQ,GAAG,OAAOzsD,CAAC,CAAC,IAAIysD,EAAE90R,EAAErQ,EAAEmlS,GAAGC,EAAE35O,EAAE9sD,OAAOymS,IAAsB,QAAlBv4O,EAAE+1B,EAAEuiN,EAAEnlS,EAAEolS,EAAE35O,EAAE25O,GAAGn5O,MAAcpsD,GAAG,OAAOgtD,EAAEsoP,WAAWhQ,EAAE3yR,OAAO,OAAOq6C,EAAEtqD,IAAI6iS,EAAEv4O,EAAEtqD,KAAK+2B,EAAEjvB,EAAEwiD,EAAEvzB,EAAE8rQ,GAAG,OAAO5yQ,EAAEkmN,EAAE7rL,EAAEr6B,EAAEmvC,QAAQ9U,EAAEr6B,EAAEq6B,GAA4C,OAAzChtD,GAAGslS,EAAE7kS,SAAQ,SAAST,GAAG,OAAOC,EAAEE,EAAEH,EAAE,IAAU64O,CAAC,CAAC,SAAS63D,EAAEvwS,EAAEs5B,EAAEmyB,EAAEQ,GAAG,IAAIysL,EAAE0xD,EAAG3+O,GAAG,GAAG,oBAAoBitL,EAAE,MAAMltO,MAAM+3D,EAAE,MAAkB,GAAG,OAAf9X,EAAEitL,EAAEpxO,KAAKmkD,IAC1e,MAAMjgD,MAAM+3D,EAAE,MAAM,IAAI,IAAI/wC,EAAEkmN,EAAE,KAAKysD,EAAE7rQ,EAAE8rQ,EAAE9rQ,EAAE,EAAEuzB,EAAE,KAAKrwB,EAAEivB,EAAErvB,OAAO,OAAO+oQ,IAAI3oQ,EAAEH,KAAK+oQ,IAAI5oQ,EAAEivB,EAAErvB,OAAO,CAAC+oQ,EAAE7iS,MAAM8iS,GAAGv4O,EAAEs4O,EAAEA,EAAE,MAAMt4O,EAAEs4O,EAAExjO,QAAQ,IAAI4uO,EAAEzqS,EAAE9F,EAAEmlS,EAAE3oQ,EAAEl+B,MAAM2tD,GAAG,GAAG,OAAOskP,EAAE,CAAC,OAAOpL,IAAIA,EAAEt4O,GAAG,KAAK,CAAChtD,GAAGslS,GAAG,OAAOoL,EAAE4E,WAAWr1S,EAAEE,EAAEmlS,GAAG7rQ,EAAEjvB,EAAEkmS,EAAEj3Q,EAAE8rQ,GAAG,OAAO5yQ,EAAEkmN,EAAE63D,EAAE/9Q,EAAEmvC,QAAQ4uO,EAAE/9Q,EAAE+9Q,EAAEpL,EAAEt4O,CAAC,CAAC,GAAGrwB,EAAEH,KAAK,OAAO/rB,EAAEtQ,EAAEmlS,GAAGzsD,EAAE,GAAG,OAAOysD,EAAE,CAAC,MAAM3oQ,EAAEH,KAAK+oQ,IAAI5oQ,EAAEivB,EAAErvB,OAAwB,QAAjBI,EAAEmmD,EAAE3iF,EAAEw8B,EAAEl+B,MAAM2tD,MAAc3yB,EAAEjvB,EAAEmyB,EAAElD,EAAE8rQ,GAAG,OAAO5yQ,EAAEkmN,EAAEl8M,EAAEhK,EAAEmvC,QAAQnlC,EAAEhK,EAAEgK,GAAG,OAAOk8M,CAAC,CAAC,IAAIysD,EAAE90R,EAAErQ,EAAEmlS,IAAI3oQ,EAAEH,KAAK+oQ,IAAI5oQ,EAAEivB,EAAErvB,OAA4B,QAArBI,EAAEomD,EAAEuiN,EAAEnlS,EAAEolS,EAAE5oQ,EAAEl+B,MAAM2tD,MAAcpsD,GAAG,OAAO28B,EAAE24Q,WAChfhQ,EAAE3yR,OAAO,OAAOgqB,EAAEj6B,IAAI6iS,EAAE5oQ,EAAEj6B,KAAK+2B,EAAEjvB,EAAEmyB,EAAElD,EAAE8rQ,GAAG,OAAO5yQ,EAAEkmN,EAAEl8M,EAAEhK,EAAEmvC,QAAQnlC,EAAEhK,EAAEgK,GAA4C,OAAzC38B,GAAGslS,EAAE7kS,SAAQ,SAAST,GAAG,OAAOC,EAAEE,EAAEH,EAAE,IAAU64O,CAAC,CAAC,OAAO,SAAS74O,EAAEwQ,EAAEhG,EAAEohD,GAAG,IAAIQ,EAAE,kBAAkB5hD,GAAG,OAAOA,GAAGA,EAAEwI,OAAOo1R,GAAI,OAAO59R,EAAE9H,IAAI0pD,IAAI5hD,EAAEA,EAAE4E,MAAMgX,UAAU,IAAIyyN,EAAE,kBAAkBruO,GAAG,OAAOA,EAAE,GAAGquO,EAAE,OAAOruO,EAAEonR,UAAU,KAAKyV,EAAGrnS,EAAE,CAAS,IAAR64O,EAAEruO,EAAE9H,IAAQ0pD,EAAE57C,EAAE,OAAO47C,GAAG,CAAC,GAAGA,EAAE1pD,MAAMm2O,EAAE,CAAC,GAAmB,IAAZzsL,EAAE48N,KAAY,GAAGx+Q,EAAEwI,OAAOo1R,EAAG,CAAC33R,EAAEzQ,EAAEosD,EAAE0V,UAAStxD,EAAErQ,EAAEisD,EAAE5hD,EAAE4E,MAAMgX,WAAYgf,OAAOplC,EAAEA,EAAEwQ,EAAE,MAAMxQ,CAAC,OAAe,GAAGosD,EAAEy4O,cAAcr6R,EAAEwI,KAAK,CAACvC,EAAEzQ,EAAEosD,EAAE0V,UAC5etxD,EAAErQ,EAAEisD,EAAE5hD,EAAE4E,QAASk8D,IAAIihP,GAAGvsT,EAAEosD,EAAE5hD,GAAGgG,EAAE40B,OAAOplC,EAAEA,EAAEwQ,EAAE,MAAMxQ,CAAC,CAAEyQ,EAAEzQ,EAAEosD,GAAG,KAAK,CAAMnsD,EAAED,EAAEosD,GAAGA,EAAEA,EAAE0V,OAAO,CAACt3D,EAAEwI,OAAOo1R,IAAI53R,EAAE68S,GAAG7iT,EAAE4E,MAAMgX,SAASpmB,EAAEitT,KAAKrhQ,EAAEphD,EAAE9H,MAAO0iC,OAAOplC,EAAEA,EAAEwQ,KAAIo7C,EAAEshQ,GAAG1iT,EAAEwI,KAAKxI,EAAE9H,IAAI8H,EAAE4E,MAAM,KAAKpP,EAAEitT,KAAKrhQ,IAAK0f,IAAIihP,GAAGvsT,EAAEwQ,EAAEhG,GAAGohD,EAAExmB,OAAOplC,EAAEA,EAAE4rD,EAAE,CAAC,OAAOnyB,EAAEz5B,GAAG,KAAKmoS,EAAGnoS,EAAE,CAAC,IAAIosD,EAAE5hD,EAAE9H,IAAI,OAAO8N,GAAG,CAAC,GAAGA,EAAE9N,MAAM0pD,EAAC,CAAC,GAAG,IAAI57C,EAAEw4Q,KAAKx4Q,EAAEujS,UAAUuD,gBAAgB9sS,EAAE8sS,eAAe9mS,EAAEujS,UAAUoZ,iBAAiB3iT,EAAE2iT,eAAe,CAAC18S,EAAEzQ,EAAEwQ,EAAEsxD,UAAStxD,EAAErQ,EAAEqQ,EAAEhG,EAAE4b,UAAU,KAAMgf,OAAOplC,EAAEA,EAAEwQ,EAAE,MAAMxQ,CAAC,CAAMyQ,EAAEzQ,EAAEwQ,GAAG,KAAM,CAAKvQ,EAAED,EAAEwQ,GAAGA,EAAEA,EAAEsxD,OAAO,EAACtxD,EACpf48S,GAAG5iT,EAAExK,EAAEitT,KAAKrhQ,IAAKxmB,OAAOplC,EAAEA,EAAEwQ,CAAC,CAAC,OAAOipB,EAAEz5B,GAAG,GAAG,kBAAkBwK,GAAG,kBAAkBA,EAAE,OAAOA,EAAE,GAAGA,EAAE,OAAOgG,GAAG,IAAIA,EAAEw4Q,KAAKv4Q,EAAEzQ,EAAEwQ,EAAEsxD,UAAStxD,EAAErQ,EAAEqQ,EAAEhG,IAAK46B,OAAOplC,EAAEA,EAAEwQ,IAAIC,EAAEzQ,EAAEwQ,IAAGA,EAAEw8S,GAAGxiT,EAAExK,EAAEitT,KAAKrhQ,IAAKxmB,OAAOplC,EAAEA,EAAEwQ,GAAGipB,EAAEz5B,GAAG,GAAGssT,GAAG9hT,GAAG,OAAOm5D,EAAE3jE,EAAEwQ,EAAEhG,EAAEohD,GAAG,GAAG2+O,EAAG//R,GAAG,OAAOkmS,EAAE1wS,EAAEwQ,EAAEhG,EAAEohD,GAAc,GAAXitL,GAAG6zE,GAAG1sT,EAAEwK,GAAM,qBAAqBA,IAAI4hD,EAAE,OAAOpsD,EAAEgpR,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,MAAMr9Q,MAAM+3D,EAAE,IAAIiqO,EAAG3tS,EAAEgT,OAAO,cAAe,OAAOvC,EAAEzQ,EAAEwQ,EAAE,CAAC,CAAC,IAAI88S,GAAGX,IAAG,GAAIY,GAAGZ,IAAG,GAAIa,GAAG,CAAC,EAAEC,GAAGrH,GAAGoH,IAAIE,GAAGtH,GAAGoH,IAAIG,GAAGvH,GAAGoH,IACtd,SAASI,GAAG5tT,GAAG,GAAGA,IAAIwtT,GAAG,MAAM7hT,MAAM+3D,EAAE,MAAM,OAAO1jE,CAAC,CAAC,SAAS6tT,GAAG7tT,EAAEC,GAAyC,OAAtC0mS,GAAEgnB,GAAG1tT,GAAG0mS,GAAE+mB,GAAG1tT,GAAG2mS,GAAE8mB,GAAGD,IAAIxtT,EAAEC,EAAEghE,UAAmB,KAAK,EAAE,KAAK,GAAGhhE,GAAGA,EAAEA,EAAE+6D,iBAAiB/6D,EAAE0yS,aAAaH,GAAG,KAAK,IAAI,MAAM,QAAkEvyS,EAAEuyS,GAArCvyS,GAAvBD,EAAE,IAAIA,EAAEC,EAAE06D,WAAW16D,GAAM0yS,cAAc,KAAK3yS,EAAEA,EAAE0wH,SAAkBlkE,GAAEihQ,IAAI9mB,GAAE8mB,GAAGxtT,EAAE,CAAC,SAAS6tT,KAAKthQ,GAAEihQ,IAAIjhQ,GAAEkhQ,IAAIlhQ,GAAEmhQ,GAAG,CAAC,SAASI,GAAG/tT,GAAG4tT,GAAGD,GAAGnuC,SAAS,IAAIv/Q,EAAE2tT,GAAGH,GAAGjuC,SAAa/uQ,EAAE+hS,GAAGvyS,EAAED,EAAEgT,MAAM/S,IAAIwQ,IAAIk2R,GAAE+mB,GAAG1tT,GAAG2mS,GAAE8mB,GAAGh9S,GAAG,CAAC,SAASu9S,GAAGhuT,GAAG0tT,GAAGluC,UAAUx/Q,IAAIwsD,GAAEihQ,IAAIjhQ,GAAEkhQ,IAAI,CAAC,IAAInlB,GAAE6d,GAAG,GAC9c,SAAS6H,GAAGjuT,GAAG,IAAI,IAAIC,EAAED,EAAE,OAAOC,GAAG,CAAC,GAAG,KAAKA,EAAE+oR,IAAI,CAAC,IAAIv4Q,EAAExQ,EAAE6oS,cAAc,GAAG,OAAOr4R,IAAmB,QAAfA,EAAEA,EAAEglS,aAAqB,OAAOhlS,EAAE7L,MAAM,OAAO6L,EAAE7L,MAAM,OAAO3E,CAAC,MAAM,GAAG,KAAKA,EAAE+oR,UAAK,IAAS/oR,EAAEiuT,cAAcC,aAAa,GAAG,KAAa,GAARluT,EAAEs1S,OAAU,OAAOt1S,OAAO,GAAG,OAAOA,EAAEymB,MAAM,CAACzmB,EAAEymB,MAAM0e,OAAOnlC,EAAEA,EAAEA,EAAEymB,MAAM,QAAQ,CAAC,GAAGzmB,IAAID,EAAE,MAAM,KAAK,OAAOC,EAAE6hE,SAAS,CAAC,GAAG,OAAO7hE,EAAEmlC,QAAQnlC,EAAEmlC,SAASplC,EAAE,OAAO,KAAKC,EAAEA,EAAEmlC,MAAM,CAACnlC,EAAE6hE,QAAQ18B,OAAOnlC,EAAEmlC,OAAOnlC,EAAEA,EAAE6hE,OAAO,CAAC,OAAO,IAAI,CAAC,IAAIssP,GAAG,KAAKC,GAAG,KAAKC,IAAG,EACpd,SAASC,GAAGvuT,EAAEC,GAAG,IAAIwQ,EAAE+9S,GAAG,EAAE,KAAK,KAAK,GAAG/9S,EAAEo0R,YAAY,UAAUp0R,EAAEuC,KAAK,UAAUvC,EAAEsjS,UAAU9zS,EAAEwQ,EAAE20B,OAAOplC,EAAEyQ,EAAE8kS,MAAM,EAAE,OAAOv1S,EAAE4sT,YAAY5sT,EAAE4sT,WAAWC,WAAWp8S,EAAEzQ,EAAE4sT,WAAWn8S,GAAGzQ,EAAE8sT,YAAY9sT,EAAE4sT,WAAWn8S,CAAC,CAAC,SAASg+S,GAAGzuT,EAAEC,GAAG,OAAOD,EAAEgpR,KAAK,KAAK,EAAE,IAAIv4Q,EAAEzQ,EAAEgT,KAAyE,OAAO,QAA3E/S,EAAE,IAAIA,EAAEghE,UAAUxwD,EAAEipB,gBAAgBz5B,EAAEihE,SAASxnC,cAAc,KAAKz5B,KAAmBD,EAAE+zS,UAAU9zS,GAAE,GAAO,KAAK,EAAE,OAAoD,QAA7CA,EAAE,KAAKD,EAAE0uT,cAAc,IAAIzuT,EAAEghE,SAAS,KAAKhhE,KAAYD,EAAE+zS,UAAU9zS,GAAE,GAAwB,QAAQ,OAAM,EAAG,CAC1e,SAAS0uT,GAAG3uT,GAAG,GAAGsuT,GAAG,CAAC,IAAIruT,EAAEouT,GAAG,GAAGpuT,EAAE,CAAC,IAAIwQ,EAAExQ,EAAE,IAAIwuT,GAAGzuT,EAAEC,GAAG,CAAqB,KAApBA,EAAEylT,GAAGj1S,EAAEgvD,gBAAqBgvP,GAAGzuT,EAAEC,GAAuC,OAAnCD,EAAEu1S,OAAe,KAATv1S,EAAEu1S,MAAY,EAAE+Y,IAAG,OAAGF,GAAGpuT,GAASuuT,GAAGH,GAAG39S,EAAE,CAAC29S,GAAGpuT,EAAEquT,GAAG3I,GAAGzlT,EAAE6+D,WAAW,MAAM9+D,EAAEu1S,OAAe,KAATv1S,EAAEu1S,MAAY,EAAE+Y,IAAG,EAAGF,GAAGpuT,CAAC,CAAC,CAAC,SAAS4uT,GAAG5uT,GAAG,IAAIA,EAAEA,EAAEolC,OAAO,OAAOplC,GAAG,IAAIA,EAAEgpR,KAAK,IAAIhpR,EAAEgpR,KAAK,KAAKhpR,EAAEgpR,KAAKhpR,EAAEA,EAAEolC,OAAOgpR,GAAGpuT,CAAC,CAC7S,SAAS6uT,GAAG7uT,GAAG,GAAGA,IAAIouT,GAAG,OAAM,EAAG,IAAIE,GAAG,OAAOM,GAAG5uT,GAAGsuT,IAAG,GAAG,EAAG,IAAIruT,EAAED,EAAEgT,KAAK,GAAG,IAAIhT,EAAEgpR,KAAK,SAAS/oR,GAAG,SAASA,IAAIqlT,GAAGrlT,EAAED,EAAEkuT,eAAe,IAAIjuT,EAAEouT,GAAGpuT,GAAGsuT,GAAGvuT,EAAEC,GAAGA,EAAEylT,GAAGzlT,EAAEw/D,aAAmB,GAANmvP,GAAG5uT,GAAM,KAAKA,EAAEgpR,IAAI,CAAgD,KAA7BhpR,EAAE,QAApBA,EAAEA,EAAE8oS,eAAyB9oS,EAAEy1S,WAAW,MAAW,MAAM9pS,MAAM+3D,EAAE,MAAM1jE,EAAE,CAAiB,IAAhBA,EAAEA,EAAEy/D,YAAgBx/D,EAAE,EAAED,GAAG,CAAC,GAAG,IAAIA,EAAEihE,SAAS,CAAC,IAAIxwD,EAAEzQ,EAAE4E,KAAK,GAAG,OAAO6L,EAAE,CAAC,GAAG,IAAIxQ,EAAE,CAACouT,GAAG3I,GAAG1lT,EAAEy/D,aAAa,MAAMz/D,CAAC,CAACC,GAAG,KAAK,MAAMwQ,GAAG,OAAOA,GAAG,OAAOA,GAAGxQ,GAAG,CAACD,EAAEA,EAAEy/D,WAAW,CAAC4uP,GAAG,IAAI,CAAC,MAAMA,GAAGD,GAAG1I,GAAG1lT,EAAE+zS,UAAUt0O,aAAa,KAAK,OAAM,CAAE,CACxf,SAASqvP,KAAKT,GAAGD,GAAG,KAAKE,IAAG,CAAE,CAAC,IAAIS,GAAG,GAAG,SAASC,KAAK,IAAI,IAAIhvT,EAAE,EAAEA,EAAE+uT,GAAGjwT,OAAOkB,IAAI+uT,GAAG/uT,GAAGivT,8BAA8B,KAAKF,GAAGjwT,OAAO,CAAC,CAAC,IAAIowT,GAAG9nB,EAAG0G,uBAAuBqhB,GAAG/nB,EAAG+hB,wBAAwBiG,GAAG,EAAE3mB,GAAE,KAAK57O,GAAE,KAAK67O,GAAE,KAAK2mB,IAAG,EAAGC,IAAG,EAAG,SAASC,KAAK,MAAM5jT,MAAM+3D,EAAE,KAAM,CAAC,SAAS8rP,GAAGxvT,EAAEC,GAAG,GAAG,OAAOA,EAAE,OAAM,EAAG,IAAI,IAAIwQ,EAAE,EAAEA,EAAExQ,EAAEnB,QAAQ2R,EAAEzQ,EAAElB,OAAO2R,IAAI,IAAI4xS,GAAGriT,EAAEyQ,GAAGxQ,EAAEwQ,IAAI,OAAM,EAAG,OAAM,CAAE,CAChY,SAASg/S,GAAGzvT,EAAEC,EAAEwQ,EAAED,EAAErQ,EAAEqK,GAAyH,GAAtH4kT,GAAG5kT,EAAEi+R,GAAExoS,EAAEA,EAAE6oS,cAAc,KAAK7oS,EAAEsqT,YAAY,KAAKtqT,EAAE+pT,MAAM,EAAEkF,GAAG1vC,QAAQ,OAAOx/Q,GAAG,OAAOA,EAAE8oS,cAAc4mB,GAAGC,GAAG3vT,EAAEyQ,EAAED,EAAErQ,GAAMmvT,GAAG,CAAC9kT,EAAE,EAAE,EAAE,CAAO,GAAN8kT,IAAG,IAAQ,GAAG9kT,GAAG,MAAMmB,MAAM+3D,EAAE,MAAMl5D,GAAG,EAAEk+R,GAAE77O,GAAE,KAAK5sD,EAAEsqT,YAAY,KAAK2E,GAAG1vC,QAAQowC,GAAG5vT,EAAEyQ,EAAED,EAAErQ,EAAE,OAAOmvT,GAAG,CAA+D,GAA9DJ,GAAG1vC,QAAQqwC,GAAG5vT,EAAE,OAAO4sD,IAAG,OAAOA,GAAEtwB,KAAK6yR,GAAG,EAAE1mB,GAAE77O,GAAE47O,GAAE,KAAK4mB,IAAG,EAAMpvT,EAAE,MAAM0L,MAAM+3D,EAAE,MAAM,OAAO1jE,CAAC,CAAC,SAAS8vT,KAAK,IAAI9vT,EAAE,CAAC8oS,cAAc,KAAK0hB,UAAU,KAAKuF,UAAU,KAAKhnB,MAAM,KAAKxsQ,KAAK,MAA8C,OAAxC,OAAOmsQ,GAAED,GAAEK,cAAcJ,GAAE1oS,EAAE0oS,GAAEA,GAAEnsQ,KAAKv8B,EAAS0oS,EAAC,CAChf,SAASsnB,KAAK,GAAG,OAAOnjQ,GAAE,CAAC,IAAI7sD,EAAEyoS,GAAE6M,UAAUt1S,EAAE,OAAOA,EAAEA,EAAE8oS,cAAc,IAAI,MAAM9oS,EAAE6sD,GAAEtwB,KAAK,IAAIt8B,EAAE,OAAOyoS,GAAED,GAAEK,cAAcJ,GAAEnsQ,KAAK,GAAG,OAAOt8B,EAAEyoS,GAAEzoS,EAAE4sD,GAAE7sD,MAAM,CAAC,GAAG,OAAOA,EAAE,MAAM2L,MAAM+3D,EAAE,MAAU1jE,EAAE,CAAC8oS,eAAPj8O,GAAE7sD,GAAqB8oS,cAAc0hB,UAAU39P,GAAE29P,UAAUuF,UAAUljQ,GAAEkjQ,UAAUhnB,MAAMl8O,GAAEk8O,MAAMxsQ,KAAK,MAAM,OAAOmsQ,GAAED,GAAEK,cAAcJ,GAAE1oS,EAAE0oS,GAAEA,GAAEnsQ,KAAKv8B,CAAC,CAAC,OAAO0oS,EAAC,CAAC,SAASunB,GAAGjwT,EAAEC,GAAG,MAAM,oBAAoBA,EAAEA,EAAED,GAAGC,CAAC,CACxY,SAASiwT,GAAGlwT,GAAG,IAAIC,EAAE+vT,KAAKv/S,EAAExQ,EAAE8oS,MAAM,GAAG,OAAOt4R,EAAE,MAAM9E,MAAM+3D,EAAE,MAAMjzD,EAAE0/S,oBAAoBnwT,EAAE,IAAIwQ,EAAEq8C,GAAE1sD,EAAEqQ,EAAEu/S,UAAUvlT,EAAEiG,EAAEgtM,QAAQ,GAAG,OAAOjzM,EAAE,CAAC,GAAG,OAAOrK,EAAE,CAAC,IAAIs5B,EAAEt5B,EAAEo8B,KAAKp8B,EAAEo8B,KAAK/xB,EAAE+xB,KAAK/xB,EAAE+xB,KAAK9C,CAAC,CAACjpB,EAAEu/S,UAAU5vT,EAAEqK,EAAEiG,EAAEgtM,QAAQ,IAAI,CAAC,GAAG,OAAOt9M,EAAE,CAACA,EAAEA,EAAEo8B,KAAK/rB,EAAEA,EAAEg6S,UAAU,IAAI5+P,EAAEnyB,EAAEjvB,EAAE,KAAK4hD,EAAEjsD,EAAE,EAAE,CAAC,IAAI04O,EAAEzsL,EAAE4+P,KAAK,IAAIoE,GAAGv2E,KAAKA,EAAE,OAAOjtL,IAAIA,EAAEA,EAAErvB,KAAK,CAACyuR,KAAK,EAAErlS,OAAOymC,EAAEzmC,OAAOyqS,aAAahkQ,EAAEgkQ,aAAaC,WAAWjkQ,EAAEikQ,WAAW9zR,KAAK,OAAO/rB,EAAE47C,EAAEgkQ,eAAepwT,EAAEosD,EAAEikQ,WAAWrwT,EAAEwQ,EAAE47C,EAAEzmC,YAAY,CAAC,IAAIgX,EAAE,CAACquR,KAAKnyE,EAAElzN,OAAOymC,EAAEzmC,OAAOyqS,aAAahkQ,EAAEgkQ,aAC9fC,WAAWjkQ,EAAEikQ,WAAW9zR,KAAK,MAAM,OAAOqvB,GAAGnyB,EAAEmyB,EAAEjvB,EAAEnyB,EAAEgG,GAAGo7C,EAAEA,EAAErvB,KAAKI,EAAE8rQ,GAAEuhB,OAAOnxE,EAAEuyE,IAAIvyE,CAAC,CAACzsL,EAAEA,EAAE7vB,IAAI,OAAO,OAAO6vB,GAAGA,IAAIjsD,GAAG,OAAOyrD,EAAEphD,EAAEgG,EAAEo7C,EAAErvB,KAAK9C,EAAE4oR,GAAG7xS,EAAEvQ,EAAE6oS,iBAAiBmhB,IAAG,GAAIhqT,EAAE6oS,cAAct4R,EAAEvQ,EAAEuqT,UAAUhgT,EAAEvK,EAAE8vT,UAAUnkQ,EAAEn7C,EAAE6/S,kBAAkB9/S,CAAC,CAAC,MAAM,CAACvQ,EAAE6oS,cAAcr4R,EAAE44R,SAAS,CAC/Q,SAASknB,GAAGvwT,GAAG,IAAIC,EAAE+vT,KAAKv/S,EAAExQ,EAAE8oS,MAAM,GAAG,OAAOt4R,EAAE,MAAM9E,MAAM+3D,EAAE,MAAMjzD,EAAE0/S,oBAAoBnwT,EAAE,IAAIwQ,EAAEC,EAAE44R,SAASlpS,EAAEsQ,EAAEgtM,QAAQjzM,EAAEvK,EAAE6oS,cAAc,GAAG,OAAO3oS,EAAE,CAACsQ,EAAEgtM,QAAQ,KAAK,IAAIhkL,EAAEt5B,EAAEA,EAAEo8B,KAAK,GAAG/xB,EAAExK,EAAEwK,EAAEivB,EAAE9T,QAAQ8T,EAAEA,EAAE8C,WAAW9C,IAAIt5B,GAAGkiT,GAAG73S,EAAEvK,EAAE6oS,iBAAiBmhB,IAAG,GAAIhqT,EAAE6oS,cAAct+R,EAAE,OAAOvK,EAAE8vT,YAAY9vT,EAAEuqT,UAAUhgT,GAAGiG,EAAE6/S,kBAAkB9lT,CAAC,CAAC,MAAM,CAACA,EAAEgG,EAAE,CACrV,SAASggT,GAAGxwT,EAAEC,EAAEwQ,GAAG,IAAID,EAAEvQ,EAAEwwT,YAAYjgT,EAAEA,EAAEvQ,EAAEqqS,SAAS,IAAInqS,EAAEF,EAAEgvT,8BAAyI,GAAxG,OAAO9uT,EAAEH,EAAEG,IAAIqQ,GAAUxQ,EAAEA,EAAE0wT,kBAAiB1wT,GAAGovT,GAAGpvT,KAAKA,KAAEC,EAAEgvT,8BAA8Bz+S,EAAEu+S,GAAGruT,KAAKT,KAAMD,EAAE,OAAOyQ,EAAExQ,EAAEqqS,SAAoB,MAAXykB,GAAGruT,KAAKT,GAAS0L,MAAM+3D,EAAE,KAAM,CAC/P,SAASitP,GAAG3wT,EAAEC,EAAEwQ,EAAED,GAAG,IAAIrQ,EAAEwoS,GAAE,GAAG,OAAOxoS,EAAE,MAAMwL,MAAM+3D,EAAE,MAAM,IAAIl5D,EAAEvK,EAAEwwT,YAAYh3R,EAAEjvB,EAAEvK,EAAEqqS,SAAS1+O,EAAEsjQ,GAAG1vC,QAAQpzN,EAAER,EAAEs0N,UAAS,WAAW,OAAOswC,GAAGrwT,EAAEF,EAAEwQ,EAAE,IAAGooO,EAAEzsL,EAAE,GAAGzvB,EAAEyvB,EAAE,GAAGA,EAAEs8O,GAAE,IAAI5lN,EAAE9iF,EAAE8oS,cAAc7iS,EAAE68E,EAAEyoO,KAAKxoO,EAAE98E,EAAE2qT,YAAYjtP,EAAEmf,EAAEt/E,OAAOs/E,EAAEA,EAAE61M,UAAU,IAAI+X,EAAEjI,GACuO,OADrOzoS,EAAE8oS,cAAc,CAACyiB,KAAKtlT,EAAEzC,OAAOvD,EAAE04R,UAAUnoR,GAAGo7C,EAAE42N,WAAU,WAAWv8Q,EAAE2qT,YAAYngT,EAAExK,EAAE4qT,YAAYh4E,EAAE,IAAI74O,EAAEwK,EAAEvK,EAAEqqS,SAAS,IAAI+X,GAAG5oR,EAAEz5B,GAAG,CAACA,EAAEyQ,EAAExQ,EAAEqqS,SAAS+X,GAAG1lR,EAAE38B,KAAK64O,EAAE74O,GAAGA,EAAE4rT,GAAGlb,GAAGvwS,EAAEuwT,kBAAkB1wT,EAAEG,EAAEk5S,cAAcr5S,EAAEG,EAAEuwT,iBAAiBvwT,EAAEu5S,gBAAgB15S,EAAE,IAAI,IAAIwQ,EAC5frQ,EAAEw5S,cAAc/tP,EAAE5rD,EAAE,EAAE4rD,GAAG,CAAC,IAAIQ,EAAE,GAAGqtP,GAAG7tP,GAAGjlD,EAAE,GAAGylD,EAAE57C,EAAE47C,IAAIpsD,EAAE4rD,IAAIjlD,CAAC,CAAC,CAAC,GAAE,CAAC8J,EAAExQ,EAAEuQ,IAAIo7C,EAAE42N,WAAU,WAAW,OAAOhyQ,EAAEvQ,EAAEqqS,SAAQ,WAAW,IAAItqS,EAAEiG,EAAE2qT,YAAYngT,EAAExK,EAAE4qT,YAAY,IAAIpgT,EAAEzQ,EAAEC,EAAEqqS,UAAU,IAAI95R,EAAEo7S,GAAGlb,GAAGvwS,EAAEuwT,kBAAkBlgT,EAAErQ,EAAEk5S,YAAY,CAAC,MAAMrsP,GAAGv8C,GAAE,WAAW,MAAMu8C,CAAE,GAAE,CAAC,GAAE,GAAE,CAAC/sD,EAAEuQ,IAAI6xS,GAAGt/N,EAAEtyE,IAAI4xS,GAAG1+O,EAAE1jE,IAAIoiT,GAAGv/N,EAAEtyE,MAAKxQ,EAAE,CAACy9M,QAAQ,KAAK4rF,SAAS,KAAK8mB,oBAAoBF,GAAGK,kBAAkB3zR,IAAK0sQ,SAASxwD,EAAEi4E,GAAG7kT,KAAK,KAAKw8R,GAAEzoS,GAAGosD,EAAE28O,MAAM/oS,EAAEosD,EAAE2jQ,UAAU,KAAKpzR,EAAE6zR,GAAGrwT,EAAEF,EAAEwQ,GAAG27C,EAAE08O,cAAc18O,EAAEo+P,UAAU7tR,GAAUA,CAAC,CACve,SAASo0R,GAAG/wT,EAAEC,EAAEwQ,GAAc,OAAOkgT,GAAZX,KAAiBhwT,EAAEC,EAAEwQ,EAAE,CAAC,SAASugT,GAAGhxT,GAAG,IAAIC,EAAE6vT,KAAmL,MAA9K,oBAAoB9vT,IAAIA,EAAEA,KAAKC,EAAE6oS,cAAc7oS,EAAEuqT,UAAUxqT,EAAoFA,GAAlFA,EAAEC,EAAE8oS,MAAM,CAACtrF,QAAQ,KAAK4rF,SAAS,KAAK8mB,oBAAoBF,GAAGK,kBAAkBtwT,IAAOqpS,SAASynB,GAAG7kT,KAAK,KAAKw8R,GAAEzoS,GAAS,CAACC,EAAE6oS,cAAc9oS,EAAE,CAClR,SAASixT,GAAGjxT,EAAEC,EAAEwQ,EAAED,GAAkO,OAA/NxQ,EAAE,CAACgpR,IAAIhpR,EAAE+tB,OAAO9tB,EAAE4O,QAAQ4B,EAAEygT,KAAK1gT,EAAE+rB,KAAK,MAAsB,QAAhBt8B,EAAEwoS,GAAE8hB,cAAsBtqT,EAAE,CAAC2sT,WAAW,MAAMnkB,GAAE8hB,YAAYtqT,EAAEA,EAAE2sT,WAAW5sT,EAAEu8B,KAAKv8B,GAAmB,QAAfyQ,EAAExQ,EAAE2sT,YAAoB3sT,EAAE2sT,WAAW5sT,EAAEu8B,KAAKv8B,GAAGwQ,EAAEC,EAAE8rB,KAAK9rB,EAAE8rB,KAAKv8B,EAAEA,EAAEu8B,KAAK/rB,EAAEvQ,EAAE2sT,WAAW5sT,GAAWA,CAAC,CAAC,SAASmxT,GAAGnxT,GAA4B,OAAdA,EAAE,CAACw/Q,QAAQx/Q,GAAhB8vT,KAA4BhnB,cAAc9oS,CAAC,CAAC,SAASoxT,KAAK,OAAOpB,KAAKlnB,aAAa,CAAC,SAASuoB,GAAGrxT,EAAEC,EAAEwQ,EAAED,GAAG,IAAIrQ,EAAE2vT,KAAKrnB,GAAE8M,OAAOv1S,EAAEG,EAAE2oS,cAAcmoB,GAAG,EAAEhxT,EAAEwQ,OAAE,OAAO,IAASD,EAAE,KAAKA,EAAE,CACnc,SAAS8gT,GAAGtxT,EAAEC,EAAEwQ,EAAED,GAAG,IAAIrQ,EAAE6vT,KAAKx/S,OAAE,IAASA,EAAE,KAAKA,EAAE,IAAIhG,OAAE,EAAO,GAAG,OAAOqiD,GAAE,CAAC,IAAIpzB,EAAEozB,GAAEi8O,cAA0B,GAAZt+R,EAAEivB,EAAE5qB,QAAW,OAAO2B,GAAGg/S,GAAGh/S,EAAEipB,EAAEy3R,MAAmB,YAAZD,GAAGhxT,EAAEwQ,EAAEjG,EAAEgG,EAAU,CAACi4R,GAAE8M,OAAOv1S,EAAEG,EAAE2oS,cAAcmoB,GAAG,EAAEhxT,EAAEwQ,EAAEjG,EAAEgG,EAAE,CAAC,SAAS+gT,GAAGvxT,EAAEC,GAAG,OAAOoxT,GAAG,IAAI,EAAErxT,EAAEC,EAAE,CAAC,SAASuxT,GAAGxxT,EAAEC,GAAG,OAAOqxT,GAAG,IAAI,EAAEtxT,EAAEC,EAAE,CAAC,SAASwxT,GAAGzxT,EAAEC,GAAG,OAAOqxT,GAAG,EAAE,EAAEtxT,EAAEC,EAAE,CAAC,SAASyxT,GAAG1xT,EAAEC,GAAG,MAAG,oBAAoBA,GAASD,EAAEA,IAAIC,EAAED,GAAG,WAAWC,EAAE,KAAK,GAAK,OAAOA,QAAG,IAASA,GAASD,EAAEA,IAAIC,EAAEu/Q,QAAQx/Q,EAAE,WAAWC,EAAEu/Q,QAAQ,IAAI,QAA1E,CAA2E,CACnd,SAASmyC,GAAG3xT,EAAEC,EAAEwQ,GAA6C,OAA1CA,EAAE,OAAOA,QAAG,IAASA,EAAEA,EAAE/D,OAAO,CAAC1M,IAAI,KAAYsxT,GAAG,EAAE,EAAEI,GAAGzlT,KAAK,KAAKhM,EAAED,GAAGyQ,EAAE,CAAC,SAASmhT,KAAK,CAAC,SAASC,GAAG7xT,EAAEC,GAAG,IAAIwQ,EAAEu/S,KAAK/vT,OAAE,IAASA,EAAE,KAAKA,EAAE,IAAIuQ,EAAEC,EAAEq4R,cAAc,OAAG,OAAOt4R,GAAG,OAAOvQ,GAAGuvT,GAAGvvT,EAAEuQ,EAAE,IAAWA,EAAE,IAAGC,EAAEq4R,cAAc,CAAC9oS,EAAEC,GAAUD,EAAC,CAAC,SAAS8xT,GAAG9xT,EAAEC,GAAG,IAAIwQ,EAAEu/S,KAAK/vT,OAAE,IAASA,EAAE,KAAKA,EAAE,IAAIuQ,EAAEC,EAAEq4R,cAAc,OAAG,OAAOt4R,GAAG,OAAOvQ,GAAGuvT,GAAGvvT,EAAEuQ,EAAE,IAAWA,EAAE,IAAGxQ,EAAEA,IAAIyQ,EAAEq4R,cAAc,CAAC9oS,EAAEC,GAAUD,EAAC,CAC1Z,SAAS+xT,GAAG/xT,EAAEC,GAAG,IAAIwQ,EAAEm4S,KAAKE,GAAG,GAAGr4S,EAAE,GAAGA,GAAE,WAAWzQ,GAAE,EAAG,IAAG8oT,GAAG,GAAGr4S,EAAE,GAAGA,GAAE,WAAW,IAAIA,EAAE0+S,GAAGhxJ,WAAWgxJ,GAAGhxJ,WAAW,EAAE,IAAIn+J,GAAE,GAAIC,GAAG,CAAC,QAAQkvT,GAAGhxJ,WAAW1tJ,CAAC,CAAC,GAAE,CAChK,SAASqgT,GAAG9wT,EAAEC,EAAEwQ,GAAG,IAAID,EAAEm7S,KAAKxrT,EAAEyrT,GAAG5rT,GAAGwK,EAAE,CAACwgT,KAAK7qT,EAAEwlB,OAAOlV,EAAE2/S,aAAa,KAAKC,WAAW,KAAK9zR,KAAK,MAAM9C,EAAEx5B,EAAEw9M,QAA6E,GAArE,OAAOhkL,EAAEjvB,EAAE+xB,KAAK/xB,GAAGA,EAAE+xB,KAAK9C,EAAE8C,KAAK9C,EAAE8C,KAAK/xB,GAAGvK,EAAEw9M,QAAQjzM,EAAEivB,EAAEz5B,EAAEs1S,UAAat1S,IAAIyoS,IAAG,OAAOhvQ,GAAGA,IAAIgvQ,GAAE6mB,GAAGD,IAAG,MAAO,CAAC,GAAG,IAAIrvT,EAAEgqT,QAAQ,OAAOvwR,GAAG,IAAIA,EAAEuwR,QAAiC,QAAxBvwR,EAAEx5B,EAAEkwT,qBAA8B,IAAI,IAAIvkQ,EAAE3rD,EAAEqwT,kBAAkBlkQ,EAAE3yB,EAAEmyB,EAAEn7C,GAAmC,GAAhCjG,EAAE4lT,aAAa32R,EAAEjvB,EAAE6lT,WAAWjkQ,EAAKi2P,GAAGj2P,EAAER,GAAG,MAAM,CAAC,MAAMitL,GAAG,CAAUgzE,GAAG7rT,EAAEG,EAAEqQ,EAAE,CAAC,CACja,IAAIq/S,GAAG,CAAClmB,YAAYugB,GAAG3oC,YAAYguC,GAAGtvC,WAAWsvC,GAAG/sC,UAAU+sC,GAAGruC,oBAAoBquC,GAAGzlB,gBAAgBylB,GAAGvuC,QAAQuuC,GAAG1lB,WAAW0lB,GAAG1uC,OAAO0uC,GAAGrvC,SAASqvC,GAAGxlB,cAAcwlB,GAAGvlB,iBAAiBulB,GAAGtlB,cAAcslB,GAAGllB,iBAAiBklB,GAAGrlB,oBAAoBqlB,GAAGyC,0BAAyB,GAAItC,GAAG,CAAC/lB,YAAYugB,GAAG3oC,YAAY,SAASvhR,EAAEC,GAA4C,OAAzC6vT,KAAKhnB,cAAc,CAAC9oS,OAAE,IAASC,EAAE,KAAKA,GAAUD,CAAC,EAAEigR,WAAWiqC,GAAG1nC,UAAU+uC,GAAGrwC,oBAAoB,SAASlhR,EAAEC,EAAEwQ,GAA6C,OAA1CA,EAAE,OAAOA,QAAG,IAASA,EAAEA,EAAE/D,OAAO,CAAC1M,IAAI,KAAYqxT,GAAG,EAAE,EAAEK,GAAGzlT,KAAK,KACvfhM,EAAED,GAAGyQ,EAAE,EAAEq5R,gBAAgB,SAAS9pS,EAAEC,GAAG,OAAOoxT,GAAG,EAAE,EAAErxT,EAAEC,EAAE,EAAE+gR,QAAQ,SAAShhR,EAAEC,GAAG,IAAIwQ,EAAEq/S,KAAqD,OAAhD7vT,OAAE,IAASA,EAAE,KAAKA,EAAED,EAAEA,IAAIyQ,EAAEq4R,cAAc,CAAC9oS,EAAEC,GAAUD,CAAC,EAAE6pS,WAAW,SAAS7pS,EAAEC,EAAEwQ,GAAG,IAAID,EAAEs/S,KAAuK,OAAlK7vT,OAAE,IAASwQ,EAAEA,EAAExQ,GAAGA,EAAEuQ,EAAEs4R,cAAct4R,EAAEg6S,UAAUvqT,EAAmFD,GAAjFA,EAAEwQ,EAAEu4R,MAAM,CAACtrF,QAAQ,KAAK4rF,SAAS,KAAK8mB,oBAAoBnwT,EAAEswT,kBAAkBrwT,IAAOopS,SAASynB,GAAG7kT,KAAK,KAAKw8R,GAAEzoS,GAAS,CAACwQ,EAAEs4R,cAAc9oS,EAAE,EAAE6gR,OAAOswC,GAAGjxC,SAAS8wC,GAAGjnB,cAAc6nB,GAAG5nB,iBAAiB,SAAShqS,GAAG,IAAIC,EAAE+wT,GAAGhxT,GAAGyQ,EAAExQ,EAAE,GAAGuQ,EAAEvQ,EAAE,GAC5Z,OAD+ZsxT,IAAG,WAAW,IAAItxT,EAAEkvT,GAAGhxJ,WAC9egxJ,GAAGhxJ,WAAW,EAAE,IAAI3tJ,EAAExQ,EAAE,CAAC,QAAQmvT,GAAGhxJ,WAAWl+J,CAAC,CAAC,GAAE,CAACD,IAAWyQ,CAAC,EAAEw5R,cAAc,WAAW,IAAIjqS,EAAEgxT,IAAG,GAAI/wT,EAAED,EAAE,GAA8B,OAANmxT,GAArBnxT,EAAE+xT,GAAG9lT,KAAK,KAAKjM,EAAE,KAAgB,CAACA,EAAEC,EAAE,EAAEoqS,iBAAiB,SAASrqS,EAAEC,EAAEwQ,GAAG,IAAID,EAAEs/S,KAAkF,OAA7Et/S,EAAEs4R,cAAc,CAACyiB,KAAK,CAACqF,YAAY3wT,EAAE4wT,YAAY,MAAMrtT,OAAOxD,EAAE24R,UAAUloR,GAAUkgT,GAAGngT,EAAExQ,EAAEC,EAAEwQ,EAAE,EAAEy5R,oBAAoB,WAAW,GAAGokB,GAAG,CAAC,IAAItuT,GAAE,EAAGC,EAzDlD,SAAYD,GAAG,MAAM,CAAC4xR,SAASwX,EAAGpqS,SAASgB,EAAEwyR,QAAQxyR,EAAE,CAyDHiyT,EAAG,WAAiD,MAAtCjyT,IAAIA,GAAE,EAAGyQ,EAAE,MAAMo1S,MAAM7mT,SAAS,MAAY2M,MAAM+3D,EAAE,KAAM,IAAGjzD,EAAEugT,GAAG/wT,GAAG,GAC1Z,OAD6Z,KAAY,EAAPwoS,GAAEwkB,QAAUxkB,GAAE8M,OAAO,IAAI0b,GAAG,GAAE,WAAWxgT,EAAE,MAAMo1S,MAAM7mT,SAAS,IAAI,QACpf,EAAO,OAAciB,CAAC,CAAkC,OAAN+wT,GAA3B/wT,EAAE,MAAM4lT,MAAM7mT,SAAS,KAAiBiB,CAAC,EAAE+xT,0BAAyB,GAAIrC,GAAG,CAAChmB,YAAYugB,GAAG3oC,YAAYswC,GAAG5xC,WAAWiqC,GAAG1nC,UAAUgvC,GAAGtwC,oBAAoBywC,GAAG7nB,gBAAgB2nB,GAAGzwC,QAAQ8wC,GAAGjoB,WAAWqmB,GAAGrvC,OAAOuwC,GAAGlxC,SAAS,WAAW,OAAOgwC,GAAGD,GAAG,EAAElmB,cAAc6nB,GAAG5nB,iBAAiB,SAAShqS,GAAG,IAAIC,EAAEiwT,GAAGD,IAAIx/S,EAAExQ,EAAE,GAAGuQ,EAAEvQ,EAAE,GAA6F,OAA1FuxT,IAAG,WAAW,IAAIvxT,EAAEkvT,GAAGhxJ,WAAWgxJ,GAAGhxJ,WAAW,EAAE,IAAI3tJ,EAAExQ,EAAE,CAAC,QAAQmvT,GAAGhxJ,WAAWl+J,CAAC,CAAC,GAAE,CAACD,IAAWyQ,CAAC,EAAEw5R,cAAc,WAAW,IAAIjqS,EAAEkwT,GAAGD,IAAI,GAAG,MAAM,CAACmB,KAAK5xC,QAC9ex/Q,EAAE,EAAEqqS,iBAAiB0mB,GAAG7mB,oBAAoB,WAAW,OAAOgmB,GAAGD,IAAI,EAAE,EAAE+B,0BAAyB,GAAIpC,GAAG,CAACjmB,YAAYugB,GAAG3oC,YAAYswC,GAAG5xC,WAAWiqC,GAAG1nC,UAAUgvC,GAAGtwC,oBAAoBywC,GAAG7nB,gBAAgB2nB,GAAGzwC,QAAQ8wC,GAAGjoB,WAAW0mB,GAAG1vC,OAAOuwC,GAAGlxC,SAAS,WAAW,OAAOqwC,GAAGN,GAAG,EAAElmB,cAAc6nB,GAAG5nB,iBAAiB,SAAShqS,GAAG,IAAIC,EAAEswT,GAAGN,IAAIx/S,EAAExQ,EAAE,GAAGuQ,EAAEvQ,EAAE,GAA6F,OAA1FuxT,IAAG,WAAW,IAAIvxT,EAAEkvT,GAAGhxJ,WAAWgxJ,GAAGhxJ,WAAW,EAAE,IAAI3tJ,EAAExQ,EAAE,CAAC,QAAQmvT,GAAGhxJ,WAAWl+J,CAAC,CAAC,GAAE,CAACD,IAAWyQ,CAAC,EAAEw5R,cAAc,WAAW,IAAIjqS,EAAEuwT,GAAGN,IAAI,GAAG,MAAM,CAACmB,KAAK5xC,QACrfx/Q,EAAE,EAAEqqS,iBAAiB0mB,GAAG7mB,oBAAoB,WAAW,OAAOqmB,GAAGN,IAAI,EAAE,EAAE+B,0BAAyB,GAAIE,GAAG9qB,EAAG+qB,kBAAkBlI,IAAG,EAAG,SAASmI,GAAGpyT,EAAEC,EAAEwQ,EAAED,GAAGvQ,EAAEymB,MAAM,OAAO1mB,EAAEutT,GAAGttT,EAAE,KAAKwQ,EAAED,GAAG88S,GAAGrtT,EAAED,EAAE0mB,MAAMjW,EAAED,EAAE,CAAC,SAAS6hT,GAAGryT,EAAEC,EAAEwQ,EAAED,EAAErQ,GAAGsQ,EAAEA,EAAEsoQ,OAAO,IAAIvuQ,EAAEvK,EAAEqrE,IAA8B,OAA1Bu+O,GAAG5pT,EAAEE,GAAGqQ,EAAEi/S,GAAGzvT,EAAEC,EAAEwQ,EAAED,EAAEhG,EAAErK,GAAM,OAAOH,GAAIiqT,IAA0EhqT,EAAEs1S,OAAO,EAAE6c,GAAGpyT,EAAEC,EAAEuQ,EAAErQ,GAAUF,EAAEymB,QAAhGzmB,EAAEsqT,YAAYvqT,EAAEuqT,YAAYtqT,EAAEs1S,QAAQ,IAAIv1S,EAAEgqT,QAAQ7pT,EAAEmyT,GAAGtyT,EAAEC,EAAEE,GAAwC,CAChZ,SAASoyT,GAAGvyT,EAAEC,EAAEwQ,EAAED,EAAErQ,EAAEqK,GAAG,GAAG,OAAOxK,EAAE,CAAC,IAAIy5B,EAAEhpB,EAAEuC,KAAK,MAAG,oBAAoBymB,GAAI+4R,GAAG/4R,SAAI,IAASA,EAAEqjP,cAAc,OAAOrsQ,EAAEgyR,cAAS,IAAShyR,EAAEqsQ,eAAsD98Q,EAAEktT,GAAGz8S,EAAEuC,KAAK,KAAKxC,EAAEvQ,EAAEA,EAAEgtT,KAAKziT,IAAK8gE,IAAIrrE,EAAEqrE,IAAItrE,EAAEolC,OAAOnlC,EAASA,EAAEymB,MAAM1mB,IAAvGC,EAAE+oR,IAAI,GAAG/oR,EAAE+S,KAAKymB,EAAEg5R,GAAGzyT,EAAEC,EAAEw5B,EAAEjpB,EAAErQ,EAAEqK,GAAyE,CAAW,OAAVivB,EAAEz5B,EAAE0mB,MAAS,KAAKvmB,EAAEqK,KAAKrK,EAAEs5B,EAAEy0R,eAA0Bz9S,EAAE,QAAdA,EAAEA,EAAEgyR,SAAmBhyR,EAAE8xS,IAAKpiT,EAAEqQ,IAAIxQ,EAAEsrE,MAAMrrE,EAAEqrE,KAAYgnP,GAAGtyT,EAAEC,EAAEuK,IAAGvK,EAAEs1S,OAAO,GAAEv1S,EAAE+sT,GAAGtzR,EAAEjpB,IAAK86D,IAAIrrE,EAAEqrE,IAAItrE,EAAEolC,OAAOnlC,EAASA,EAAEymB,MAAM1mB,EAAC,CACnb,SAASyyT,GAAGzyT,EAAEC,EAAEwQ,EAAED,EAAErQ,EAAEqK,GAAG,GAAG,OAAOxK,GAAGuiT,GAAGviT,EAAEkuT,cAAc19S,IAAIxQ,EAAEsrE,MAAMrrE,EAAEqrE,IAAI,IAAG2+O,IAAG,EAAG,KAAKz/S,EAAErK,GAAqC,OAAOF,EAAE+pT,MAAMhqT,EAAEgqT,MAAMsI,GAAGtyT,EAAEC,EAAEuK,GAAhE,KAAa,MAARxK,EAAEu1S,SAAe0U,IAAG,EAAyC,CAAC,OAAOyI,GAAG1yT,EAAEC,EAAEwQ,EAAED,EAAEhG,EAAE,CACrL,SAASmoT,GAAG3yT,EAAEC,EAAEwQ,GAAG,IAAID,EAAEvQ,EAAEyuT,aAAavuT,EAAEqQ,EAAE4V,SAAS5b,EAAE,OAAOxK,EAAEA,EAAE8oS,cAAc,KAAK,GAAG,WAAWt4R,EAAEy8S,MAAM,kCAAkCz8S,EAAEy8S,KAAK,GAAG,KAAY,EAAPhtT,EAAEgtT,MAAQhtT,EAAE6oS,cAAc,CAAC8pB,UAAU,GAAGC,GAAG5yT,EAAEwQ,OAAQ,IAAG,KAAO,WAAFA,GAA8E,OAAOzQ,EAAE,OAAOwK,EAAEA,EAAEooT,UAAUniT,EAAEA,EAAExQ,EAAE+pT,MAAM/pT,EAAE2pT,WAAW,WAAW3pT,EAAE6oS,cAAc,CAAC8pB,UAAU5yT,GAAG6yT,GAAG5yT,EAAED,GAAG,KAAxKC,EAAE6oS,cAAc,CAAC8pB,UAAU,GAAGC,GAAG5yT,EAAE,OAAOuK,EAAEA,EAAEooT,UAAUniT,EAAoH,MAAM,OAAOjG,GAAGgG,EAAEhG,EAAEooT,UAAUniT,EAAExQ,EAAE6oS,cAAc,MAAMt4R,EAAEC,EAAEoiT,GAAG5yT,EAAEuQ,GAAe,OAAZ4hT,GAAGpyT,EAAEC,EAAEE,EAAEsQ,GAAUxQ,EAAEymB,KAAK,CAC/e,SAASosS,GAAG9yT,EAAEC,GAAG,IAAIwQ,EAAExQ,EAAEqrE,KAAO,OAAOtrE,GAAG,OAAOyQ,GAAG,OAAOzQ,GAAGA,EAAEsrE,MAAM76D,KAAExQ,EAAEs1S,OAAO,IAAG,CAAC,SAASmd,GAAG1yT,EAAEC,EAAEwQ,EAAED,EAAErQ,GAAG,IAAIqK,EAAEk8S,GAAGj2S,GAAG61S,GAAGhf,GAAE9nB,QAA4C,OAApCh1Q,EAAE+7S,GAAGtmT,EAAEuK,GAAGq/S,GAAG5pT,EAAEE,GAAGsQ,EAAEg/S,GAAGzvT,EAAEC,EAAEwQ,EAAED,EAAEhG,EAAErK,GAAM,OAAOH,GAAIiqT,IAA0EhqT,EAAEs1S,OAAO,EAAE6c,GAAGpyT,EAAEC,EAAEwQ,EAAEtQ,GAAUF,EAAEymB,QAAhGzmB,EAAEsqT,YAAYvqT,EAAEuqT,YAAYtqT,EAAEs1S,QAAQ,IAAIv1S,EAAEgqT,QAAQ7pT,EAAEmyT,GAAGtyT,EAAEC,EAAEE,GAAwC,CACtS,SAAS4yT,GAAG/yT,EAAEC,EAAEwQ,EAAED,EAAErQ,GAAG,GAAGumT,GAAGj2S,GAAG,CAAC,IAAIjG,GAAE,EAAGs8S,GAAG7mT,EAAE,MAAMuK,GAAE,EAAW,GAARq/S,GAAG5pT,EAAEE,GAAM,OAAOF,EAAE8zS,UAAU,OAAO/zS,IAAIA,EAAEs1S,UAAU,KAAKr1S,EAAEq1S,UAAU,KAAKr1S,EAAEs1S,OAAO,GAAGyW,GAAG/rT,EAAEwQ,EAAED,GAAG47S,GAAGnsT,EAAEwQ,EAAED,EAAErQ,GAAGqQ,GAAE,OAAQ,GAAG,OAAOxQ,EAAE,CAAC,IAAIy5B,EAAEx5B,EAAE8zS,UAAUnoP,EAAE3rD,EAAEiuT,cAAcz0R,EAAErqB,MAAMw8C,EAAE,IAAIQ,EAAE3yB,EAAE9wB,QAAQkwO,EAAEpoO,EAAEqxR,YAAY,kBAAkBjpD,GAAG,OAAOA,EAAEA,EAAEqxE,GAAGrxE,GAAyBA,EAAE0tE,GAAGtmT,EAA1B44O,EAAE6tE,GAAGj2S,GAAG61S,GAAGhf,GAAE9nB,SAAmB,IAAI7iP,EAAElsB,EAAEyxR,yBAAyBp/M,EAAE,oBAAoBnmD,GAAG,oBAAoBlD,EAAE4yR,wBAAwBvpO,GAAG,oBAAoBrpD,EAAE0yR,kCACpd,oBAAoB1yR,EAAEyyR,4BAA4BtgQ,IAAIp7C,GAAG47C,IAAIysL,IAAIozE,GAAGhsT,EAAEw5B,EAAEjpB,EAAEqoO,GAAGwxE,IAAG,EAAG,IAAIpkT,EAAEhG,EAAE6oS,cAAcrvQ,EAAE8Y,MAAMtsC,EAAEklT,GAAGlrT,EAAEuQ,EAAEipB,EAAEt5B,GAAGisD,EAAEnsD,EAAE6oS,cAAcl9O,IAAIp7C,GAAGvK,IAAImmD,GAAGw7O,GAAEpoB,SAAS6qC,IAAI,oBAAoB1tR,IAAI6uR,GAAGvrT,EAAEwQ,EAAEksB,EAAEnsB,GAAG47C,EAAEnsD,EAAE6oS,gBAAgBl9O,EAAEy+P,IAAIyB,GAAG7rT,EAAEwQ,EAAEm7C,EAAEp7C,EAAEvK,EAAEmmD,EAAEysL,KAAK/1J,GAAG,oBAAoBrpD,EAAE01Q,2BAA2B,oBAAoB11Q,EAAE21Q,qBAAqB,oBAAoB31Q,EAAE21Q,oBAAoB31Q,EAAE21Q,qBAAqB,oBAAoB31Q,EAAE01Q,2BAA2B11Q,EAAE01Q,6BAA6B,oBACze11Q,EAAE6gP,oBAAoBr6Q,EAAEs1S,OAAO,KAAK,oBAAoB97Q,EAAE6gP,oBAAoBr6Q,EAAEs1S,OAAO,GAAGt1S,EAAEiuT,cAAc19S,EAAEvQ,EAAE6oS,cAAc18O,GAAG3yB,EAAErqB,MAAMoB,EAAEipB,EAAE8Y,MAAM6Z,EAAE3yB,EAAE9wB,QAAQkwO,EAAEroO,EAAEo7C,IAAI,oBAAoBnyB,EAAE6gP,oBAAoBr6Q,EAAEs1S,OAAO,GAAG/kS,GAAE,EAAG,KAAK,CAACipB,EAAEx5B,EAAE8zS,UAAU8W,GAAG7qT,EAAEC,GAAG2rD,EAAE3rD,EAAEiuT,cAAcr1E,EAAE54O,EAAE+S,OAAO/S,EAAE4kS,YAAYj5O,EAAEw9P,GAAGnpT,EAAE+S,KAAK44C,GAAGnyB,EAAErqB,MAAMypO,EAAE/1J,EAAE7iF,EAAEyuT,aAAazoT,EAAEwzB,EAAE9wB,QAAwB,kBAAhByjD,EAAE37C,EAAEqxR,cAAiC,OAAO11O,EAAEA,EAAE89P,GAAG99P,GAAyBA,EAAEm6P,GAAGtmT,EAA1BmsD,EAAEs6P,GAAGj2S,GAAG61S,GAAGhf,GAAE9nB,SAAmB,IAAIz8L,EAAEtyE,EAAEyxR,0BAA0BvlQ,EAAE,oBAAoBomD,GACnf,oBAAoBtpD,EAAE4yR,0BAA0B,oBAAoB5yR,EAAE0yR,kCAAkC,oBAAoB1yR,EAAEyyR,4BAA4BtgQ,IAAIk3B,GAAG78E,IAAImmD,IAAI6/P,GAAGhsT,EAAEw5B,EAAEjpB,EAAE47C,GAAGi+P,IAAG,EAAGpkT,EAAEhG,EAAE6oS,cAAcrvQ,EAAE8Y,MAAMtsC,EAAEklT,GAAGlrT,EAAEuQ,EAAEipB,EAAEt5B,GAAG,IAAIwjE,EAAE1jE,EAAE6oS,cAAcl9O,IAAIk3B,GAAG78E,IAAI09D,GAAGikO,GAAEpoB,SAAS6qC,IAAI,oBAAoBtnO,IAAIyoO,GAAGvrT,EAAEwQ,EAAEsyE,EAAEvyE,GAAGmzD,EAAE1jE,EAAE6oS,gBAAgBjwD,EAAEwxE,IAAIyB,GAAG7rT,EAAEwQ,EAAEooO,EAAEroO,EAAEvK,EAAE09D,EAAEvX,KAAKzvB,GAAG,oBAAoBlD,EAAEu5R,4BAA4B,oBAAoBv5R,EAAEw5R,sBAAsB,oBAAoBx5R,EAAEw5R,qBAAqBx5R,EAAEw5R,oBAAoBziT,EAC1gBmzD,EAAEvX,GAAG,oBAAoB3yB,EAAEu5R,4BAA4Bv5R,EAAEu5R,2BAA2BxiT,EAAEmzD,EAAEvX,IAAI,oBAAoB3yB,EAAEgiP,qBAAqBx7Q,EAAEs1S,OAAO,GAAG,oBAAoB97Q,EAAE4yR,0BAA0BpsT,EAAEs1S,OAAO,OAAO,oBAAoB97Q,EAAEgiP,oBAAoB7vN,IAAI5rD,EAAEkuT,eAAejoT,IAAIjG,EAAE8oS,gBAAgB7oS,EAAEs1S,OAAO,GAAG,oBAAoB97Q,EAAE4yR,yBAAyBzgQ,IAAI5rD,EAAEkuT,eAAejoT,IAAIjG,EAAE8oS,gBAAgB7oS,EAAEs1S,OAAO,KAAKt1S,EAAEiuT,cAAc19S,EAAEvQ,EAAE6oS,cAAcnlO,GAAGlqC,EAAErqB,MAAMoB,EAAEipB,EAAE8Y,MAAMoxB,EAAElqC,EAAE9wB,QAAQyjD,EAAE57C,EAAEqoO,IAAI,oBAAoBp/M,EAAEgiP,oBAC7f7vN,IAAI5rD,EAAEkuT,eAAejoT,IAAIjG,EAAE8oS,gBAAgB7oS,EAAEs1S,OAAO,GAAG,oBAAoB97Q,EAAE4yR,yBAAyBzgQ,IAAI5rD,EAAEkuT,eAAejoT,IAAIjG,EAAE8oS,gBAAgB7oS,EAAEs1S,OAAO,KAAK/kS,GAAE,EAAG,CAAC,OAAO0iT,GAAGlzT,EAAEC,EAAEwQ,EAAED,EAAEhG,EAAErK,EAAE,CAC3L,SAAS+yT,GAAGlzT,EAAEC,EAAEwQ,EAAED,EAAErQ,EAAEqK,GAAGsoT,GAAG9yT,EAAEC,GAAG,IAAIw5B,EAAE,KAAa,GAARx5B,EAAEs1S,OAAU,IAAI/kS,IAAIipB,EAAE,OAAOt5B,GAAG6mT,GAAG/mT,EAAEwQ,GAAE,GAAI6hT,GAAGtyT,EAAEC,EAAEuK,GAAGgG,EAAEvQ,EAAE8zS,UAAUme,GAAG1yC,QAAQv/Q,EAAE,IAAI2rD,EAAEnyB,GAAG,oBAAoBhpB,EAAEwxR,yBAAyB,KAAKzxR,EAAEuoQ,SAAwI,OAA/H94Q,EAAEs1S,OAAO,EAAE,OAAOv1S,GAAGy5B,GAAGx5B,EAAEymB,MAAM4mS,GAAGrtT,EAAED,EAAE0mB,MAAM,KAAKlc,GAAGvK,EAAEymB,MAAM4mS,GAAGrtT,EAAE,KAAK2rD,EAAEphD,IAAI4nT,GAAGpyT,EAAEC,EAAE2rD,EAAEphD,GAAGvK,EAAE6oS,cAAct4R,EAAE+hC,MAAMpyC,GAAG6mT,GAAG/mT,EAAEwQ,GAAE,GAAWxQ,EAAEymB,KAAK,CAAC,SAASysS,GAAGnzT,GAAG,IAAIC,EAAED,EAAE+zS,UAAU9zS,EAAEmzT,eAAexM,GAAG5mT,EAAEC,EAAEmzT,eAAenzT,EAAEmzT,iBAAiBnzT,EAAE0I,SAAS1I,EAAE0I,SAASi+S,GAAG5mT,EAAEC,EAAE0I,SAAQ,GAAIklT,GAAG7tT,EAAEC,EAAEq3S,cAAc,CAC3e,IAS0V+b,GAAGC,GAAGC,GAAGC,GAT/VC,GAAG,CAAChe,WAAW,KAAKie,UAAU,GAClC,SAASC,GAAG3zT,EAAEC,EAAEwQ,GAAG,IAAsCgpB,EAAlCjpB,EAAEvQ,EAAEyuT,aAAavuT,EAAEooS,GAAE/oB,QAAQh1Q,GAAE,EAA6M,OAAvMivB,EAAE,KAAa,GAARx5B,EAAEs1S,UAAa97Q,GAAE,OAAOz5B,GAAG,OAAOA,EAAE8oS,gBAAiB,KAAO,EAAF3oS,IAAMs5B,GAAGjvB,GAAE,EAAGvK,EAAEs1S,QAAQ,IAAI,OAAOv1S,GAAG,OAAOA,EAAE8oS,oBAAe,IAASt4R,EAAEmmF,WAAU,IAAKnmF,EAAEojT,6BAA6BzzT,GAAG,GAAGwmS,GAAE4B,GAAI,EAAFpoS,GAAQ,OAAOH,QAAG,IAASwQ,EAAEmmF,UAAUg4N,GAAG1uT,GAAGD,EAAEwQ,EAAE4V,SAASjmB,EAAEqQ,EAAEmmF,SAAYnsF,GAASxK,EAAE6zT,GAAG5zT,EAAED,EAAEG,EAAEsQ,GAAGxQ,EAAEymB,MAAMoiR,cAAc,CAAC8pB,UAAUniT,GAAGxQ,EAAE6oS,cAAc2qB,GAAGzzT,GAAK,kBAAkBwQ,EAAEsjT,2BAAiC9zT,EAAE6zT,GAAG5zT,EAAED,EAAEG,EAAEsQ,GAAGxQ,EAAEymB,MAAMoiR,cAAc,CAAC8pB,UAAUniT,GAC/fxQ,EAAE6oS,cAAc2qB,GAAGxzT,EAAE+pT,MAAM,SAAShqT,KAAEyQ,EAAEsjT,GAAG,CAAC9G,KAAK,UAAU7mS,SAASpmB,GAAGC,EAAEgtT,KAAKx8S,EAAE,OAAQ20B,OAAOnlC,EAASA,EAAEymB,MAAMjW,KAAYzQ,EAAE8oS,cAAkBt+R,GAASgG,EAAEwjT,GAAGh0T,EAAEC,EAAEuQ,EAAE4V,SAAS5V,EAAEmmF,SAASlmF,GAAGjG,EAAEvK,EAAEymB,MAAMvmB,EAAEH,EAAE0mB,MAAMoiR,cAAct+R,EAAEs+R,cAAc,OAAO3oS,EAAE,CAACyyT,UAAUniT,GAAG,CAACmiT,UAAUzyT,EAAEyyT,UAAUniT,GAAGjG,EAAEo/S,WAAW5pT,EAAE4pT,YAAYn5S,EAAExQ,EAAE6oS,cAAc2qB,GAAGjjT,IAAEC,EAAEwjT,GAAGj0T,EAAEC,EAAEuQ,EAAE4V,SAAS3V,GAAGxQ,EAAE6oS,cAAc,KAAYr4R,GACnQ,CAAC,SAASojT,GAAG7zT,EAAEC,EAAEwQ,EAAED,GAAG,IAAIrQ,EAAEH,EAAEitT,KAAKziT,EAAExK,EAAE0mB,MAAuK,OAAjKzmB,EAAE,CAACgtT,KAAK,SAAS7mS,SAASnmB,GAAG,KAAO,EAAFE,IAAM,OAAOqK,GAAGA,EAAEo/S,WAAW,EAAEp/S,EAAEkkT,aAAazuT,GAAGuK,EAAEupT,GAAG9zT,EAAEE,EAAE,EAAE,MAAMsQ,EAAE48S,GAAG58S,EAAEtQ,EAAEqQ,EAAE,MAAMhG,EAAE46B,OAAOplC,EAAEyQ,EAAE20B,OAAOplC,EAAEwK,EAAEs3D,QAAQrxD,EAAEzQ,EAAE0mB,MAAMlc,EAASiG,CAAC,CACtV,SAASwjT,GAAGj0T,EAAEC,EAAEwQ,EAAED,GAAG,IAAIrQ,EAAEH,EAAE0mB,MAAiL,OAA3K1mB,EAAEG,EAAE2hE,QAAQrxD,EAAEs8S,GAAG5sT,EAAE,CAAC8sT,KAAK,UAAU7mS,SAAS3V,IAAI,KAAY,EAAPxQ,EAAEgtT,QAAUx8S,EAAEu5S,MAAMx5S,GAAGC,EAAE20B,OAAOnlC,EAAEwQ,EAAEqxD,QAAQ,KAAK,OAAO9hE,IAAIA,EAAE6sT,WAAW,KAAK7sT,EAAEu1S,MAAM,EAAEt1S,EAAE6sT,YAAY7sT,EAAE2sT,WAAW5sT,GAAUC,EAAEymB,MAAMjW,CAAC,CAC9N,SAASujT,GAAGh0T,EAAEC,EAAEwQ,EAAED,EAAErQ,GAAG,IAAIqK,EAAEvK,EAAEgtT,KAAKxzR,EAAEz5B,EAAE0mB,MAAM1mB,EAAEy5B,EAAEqoC,QAAQ,IAAIlW,EAAE,CAACqhQ,KAAK,SAAS7mS,SAAS3V,GAAoS,OAAjS,KAAO,EAAFjG,IAAMvK,EAAEymB,QAAQ+S,IAAGhpB,EAAExQ,EAAEymB,OAAQkjS,WAAW,EAAEn5S,EAAEi+S,aAAa9iQ,EAAiB,QAAfnyB,EAAEhpB,EAAEm8S,aAAqB3sT,EAAE6sT,YAAYr8S,EAAEq8S,YAAY7sT,EAAE2sT,WAAWnzR,EAAEA,EAAEozR,WAAW,MAAM5sT,EAAE6sT,YAAY7sT,EAAE2sT,WAAW,MAAMn8S,EAAEs8S,GAAGtzR,EAAEmyB,GAAG,OAAO5rD,EAAEwQ,EAAEu8S,GAAG/sT,EAAEwQ,IAAIA,EAAE68S,GAAG78S,EAAEhG,EAAErK,EAAE,OAAQo1S,OAAO,EAAG/kS,EAAE40B,OAAOnlC,EAAEwQ,EAAE20B,OAAOnlC,EAAEwQ,EAAEqxD,QAAQtxD,EAAEvQ,EAAEymB,MAAMjW,EAASD,CAAC,CAAC,SAAS0jT,GAAGl0T,EAAEC,GAAGD,EAAEgqT,OAAO/pT,EAAE,IAAIwQ,EAAEzQ,EAAEs1S,UAAU,OAAO7kS,IAAIA,EAAEu5S,OAAO/pT,GAAG0pT,GAAG3pT,EAAEolC,OAAOnlC,EAAE,CACxd,SAASk0T,GAAGn0T,EAAEC,EAAEwQ,EAAED,EAAErQ,EAAEqK,GAAG,IAAIivB,EAAEz5B,EAAE8oS,cAAc,OAAOrvQ,EAAEz5B,EAAE8oS,cAAc,CAACsrB,YAAYn0T,EAAEo0T,UAAU,KAAKC,mBAAmB,EAAE/wS,KAAK/S,EAAE+jT,KAAK9jT,EAAE+jT,SAASr0T,EAAEysT,WAAWpiT,IAAIivB,EAAE26R,YAAYn0T,EAAEw5B,EAAE46R,UAAU,KAAK56R,EAAE66R,mBAAmB,EAAE76R,EAAElW,KAAK/S,EAAEipB,EAAE86R,KAAK9jT,EAAEgpB,EAAE+6R,SAASr0T,EAAEs5B,EAAEmzR,WAAWpiT,EAAE,CACzQ,SAASiqT,GAAGz0T,EAAEC,EAAEwQ,GAAG,IAAID,EAAEvQ,EAAEyuT,aAAavuT,EAAEqQ,EAAE29S,YAAY3jT,EAAEgG,EAAE+jT,KAAsC,GAAjCnC,GAAGpyT,EAAEC,EAAEuQ,EAAE4V,SAAS3V,GAAkB,KAAO,GAAtBD,EAAE+3R,GAAE/oB,UAAqBhvQ,EAAI,EAAFA,EAAI,EAAEvQ,EAAEs1S,OAAO,OAAO,CAAC,GAAG,OAAOv1S,GAAG,KAAa,GAARA,EAAEu1S,OAAUv1S,EAAE,IAAIA,EAAEC,EAAEymB,MAAM,OAAO1mB,GAAG,CAAC,GAAG,KAAKA,EAAEgpR,IAAI,OAAOhpR,EAAE8oS,eAAeorB,GAAGl0T,EAAEyQ,QAAQ,GAAG,KAAKzQ,EAAEgpR,IAAIkrC,GAAGl0T,EAAEyQ,QAAQ,GAAG,OAAOzQ,EAAE0mB,MAAM,CAAC1mB,EAAE0mB,MAAM0e,OAAOplC,EAAEA,EAAEA,EAAE0mB,MAAM,QAAQ,CAAC,GAAG1mB,IAAIC,EAAE,MAAMD,EAAE,KAAK,OAAOA,EAAE8hE,SAAS,CAAC,GAAG,OAAO9hE,EAAEolC,QAAQplC,EAAEolC,SAASnlC,EAAE,MAAMD,EAAEA,EAAEA,EAAEolC,MAAM,CAACplC,EAAE8hE,QAAQ18B,OAAOplC,EAAEolC,OAAOplC,EAAEA,EAAE8hE,OAAO,CAACtxD,GAAG,CAAC,CAAQ,GAAPm2R,GAAE4B,GAAE/3R,GAAM,KAAY,EAAPvQ,EAAEgtT,MAAQhtT,EAAE6oS,cACze,UAAU,OAAO3oS,GAAG,IAAK,WAAqB,IAAVsQ,EAAExQ,EAAEymB,MAAUvmB,EAAE,KAAK,OAAOsQ,GAAiB,QAAdzQ,EAAEyQ,EAAE6kS,YAAoB,OAAO2Y,GAAGjuT,KAAKG,EAAEsQ,GAAGA,EAAEA,EAAEqxD,QAAY,QAAJrxD,EAAEtQ,IAAYA,EAAEF,EAAEymB,MAAMzmB,EAAEymB,MAAM,OAAOvmB,EAAEsQ,EAAEqxD,QAAQrxD,EAAEqxD,QAAQ,MAAMqyP,GAAGl0T,GAAE,EAAGE,EAAEsQ,EAAEjG,EAAEvK,EAAE2sT,YAAY,MAAM,IAAK,YAA6B,IAAjBn8S,EAAE,KAAKtQ,EAAEF,EAAEymB,MAAUzmB,EAAEymB,MAAM,KAAK,OAAOvmB,GAAG,CAAe,GAAG,QAAjBH,EAAEG,EAAEm1S,YAAuB,OAAO2Y,GAAGjuT,GAAG,CAACC,EAAEymB,MAAMvmB,EAAE,KAAK,CAACH,EAAEG,EAAE2hE,QAAQ3hE,EAAE2hE,QAAQrxD,EAAEA,EAAEtQ,EAAEA,EAAEH,CAAC,CAACm0T,GAAGl0T,GAAE,EAAGwQ,EAAE,KAAKjG,EAAEvK,EAAE2sT,YAAY,MAAM,IAAK,WAAWuH,GAAGl0T,GAAE,EAAG,KAAK,UAAK,EAAOA,EAAE2sT,YAAY,MAAM,QAAQ3sT,EAAE6oS,cAAc,KAAK,OAAO7oS,EAAEymB,KAAK,CACpgB,SAAS4rS,GAAGtyT,EAAEC,EAAEwQ,GAAyD,GAAtD,OAAOzQ,IAAIC,EAAE6pT,aAAa9pT,EAAE8pT,cAAcsB,IAAInrT,EAAE+pT,MAAS,KAAKv5S,EAAExQ,EAAE2pT,YAAY,CAAC,GAAG,OAAO5pT,GAAGC,EAAEymB,QAAQ1mB,EAAE0mB,MAAM,MAAM/a,MAAM+3D,EAAE,MAAM,GAAG,OAAOzjE,EAAEymB,MAAM,CAA4C,IAAjCjW,EAAEs8S,GAAZ/sT,EAAEC,EAAEymB,MAAa1mB,EAAE0uT,cAAczuT,EAAEymB,MAAMjW,EAAMA,EAAE20B,OAAOnlC,EAAE,OAAOD,EAAE8hE,SAAS9hE,EAAEA,EAAE8hE,SAAQrxD,EAAEA,EAAEqxD,QAAQirP,GAAG/sT,EAAEA,EAAE0uT,eAAgBtpR,OAAOnlC,EAAEwQ,EAAEqxD,QAAQ,IAAI,CAAC,OAAO7hE,EAAEymB,KAAK,CAAC,OAAO,IAAI,CAKhQ,SAASguS,GAAG10T,EAAEC,GAAG,IAAIquT,GAAG,OAAOtuT,EAAEw0T,UAAU,IAAK,SAASv0T,EAAED,EAAEu0T,KAAK,IAAI,IAAI9jT,EAAE,KAAK,OAAOxQ,GAAG,OAAOA,EAAEq1S,YAAY7kS,EAAExQ,GAAGA,EAAEA,EAAE6hE,QAAQ,OAAOrxD,EAAEzQ,EAAEu0T,KAAK,KAAK9jT,EAAEqxD,QAAQ,KAAK,MAAM,IAAK,YAAYrxD,EAAEzQ,EAAEu0T,KAAK,IAAI,IAAI/jT,EAAE,KAAK,OAAOC,GAAG,OAAOA,EAAE6kS,YAAY9kS,EAAEC,GAAGA,EAAEA,EAAEqxD,QAAQ,OAAOtxD,EAAEvQ,GAAG,OAAOD,EAAEu0T,KAAKv0T,EAAEu0T,KAAK,KAAKv0T,EAAEu0T,KAAKzyP,QAAQ,KAAKtxD,EAAEsxD,QAAQ,KAAK,CACla,SAAS6yP,GAAG30T,EAAEC,EAAEwQ,GAAG,IAAID,EAAEvQ,EAAEyuT,aAAa,OAAOzuT,EAAE+oR,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,OAAO,KAAK,KAAK,EAQyC,KAAK,GAAG,OAAO09B,GAAGzmT,EAAE+S,OAAO2zS,KAAK,KAR1C,KAAK,EAAsL,OAApLmH,KAAKthQ,GAAEo7O,IAAGp7O,GAAE86O,IAAG0nB,MAAKx+S,EAAEvQ,EAAE8zS,WAAYqf,iBAAiB5iT,EAAE7H,QAAQ6H,EAAE4iT,eAAe5iT,EAAE4iT,eAAe,MAAS,OAAOpzT,GAAG,OAAOA,EAAE0mB,QAAMmoS,GAAG5uT,GAAGA,EAAEs1S,OAAO,EAAE/kS,EAAE6mS,UAAUp3S,EAAEs1S,OAAO,MAAK+d,GAAGrzT,GAAU,KAAK,KAAK,EAAE+tT,GAAG/tT,GAAG,IAAIE,EAAEytT,GAAGD,GAAGnuC,SAAkB,GAAT/uQ,EAAExQ,EAAE+S,KAAQ,OAAOhT,GAAG,MAAMC,EAAE8zS,UAAUwf,GAAGvzT,EAAEC,EAAEwQ,EAAED,EAAErQ,GAAGH,EAAEsrE,MAAMrrE,EAAEqrE,MAAMrrE,EAAEs1S,OAAO,SAAS,CAAC,IAAI/kS,EAAE,CAAC,GAAG,OAC7fvQ,EAAE8zS,UAAU,MAAMpoS,MAAM+3D,EAAE,MAAM,OAAO,IAAI,CAAkB,GAAjB1jE,EAAE4tT,GAAGH,GAAGjuC,SAAYqvC,GAAG5uT,GAAG,CAACuQ,EAAEvQ,EAAE8zS,UAAUtjS,EAAExQ,EAAE+S,KAAK,IAAIxI,EAAEvK,EAAEiuT,cAA8B,OAAhB19S,EAAEu1S,IAAI9lT,EAAEuQ,EAAEw1S,IAAIx7S,EAASiG,GAAG,IAAK,SAAS4/R,GAAE,SAAS7/R,GAAG6/R,GAAE,QAAQ7/R,GAAG,MAAM,IAAK,SAAS,IAAK,SAAS,IAAK,QAAQ6/R,GAAE,OAAO7/R,GAAG,MAAM,IAAK,QAAQ,IAAK,QAAQ,IAAIxQ,EAAE,EAAEA,EAAEgkT,GAAGllT,OAAOkB,IAAIqwS,GAAE2T,GAAGhkT,GAAGwQ,GAAG,MAAM,IAAK,SAAS6/R,GAAE,QAAQ7/R,GAAG,MAAM,IAAK,MAAM,IAAK,QAAQ,IAAK,OAAO6/R,GAAE,QAAQ7/R,GAAG6/R,GAAE,OAAO7/R,GAAG,MAAM,IAAK,UAAU6/R,GAAE,SAAS7/R,GAAG,MAAM,IAAK,QAAQ+9R,GAAG/9R,EAAEhG,GAAG6lS,GAAE,UAAU7/R,GAAG,MAAM,IAAK,SAASA,EAAE+gS,cAC5f,CAACqjB,cAAcpqT,EAAEqqT,UAAUxkB,GAAE,UAAU7/R,GAAG,MAAM,IAAK,WAAWuhS,GAAGvhS,EAAEhG,GAAG6lS,GAAE,UAAU7/R,GAAkB,IAAI,IAAIipB,KAAvB45Q,GAAG5iS,EAAEjG,GAAGxK,EAAE,KAAkBwK,EAAEA,EAAErG,eAAes1B,KAAKt5B,EAAEqK,EAAEivB,GAAG,aAAaA,EAAE,kBAAkBt5B,EAAEqQ,EAAE0hS,cAAc/xS,IAAIH,EAAE,CAAC,WAAWG,IAAI,kBAAkBA,GAAGqQ,EAAE0hS,cAAc,GAAG/xS,IAAIH,EAAE,CAAC,WAAW,GAAGG,IAAIulS,EAAGvhS,eAAes1B,IAAI,MAAMt5B,GAAG,aAAas5B,GAAG42Q,GAAE,SAAS7/R,IAAI,OAAOC,GAAG,IAAK,QAAQ29R,EAAG59R,GAAGgjF,GAAGhjF,EAAEhG,GAAE,GAAI,MAAM,IAAK,WAAW4jS,EAAG59R,GAAGyhS,GAAGzhS,GAAG,MAAM,IAAK,SAAS,IAAK,SAAS,MAAM,QAAQ,oBAAoBhG,EAAEsqT,UAAUtkT,EAAEukT,QACtf9P,IAAIz0S,EAAExQ,EAAEC,EAAEsqT,YAAY/5S,EAAE,OAAOA,IAAIvQ,EAAEs1S,OAAO,EAAE,KAAK,CAAiZ,OAAhZ97Q,EAAE,IAAIt5B,EAAE8gE,SAAS9gE,EAAEA,EAAE+zI,cAAcl0I,IAAImyS,GAAGC,OAAOpyS,EAAEuyS,GAAG9hS,IAAIzQ,IAAImyS,GAAGC,KAAK,WAAW3hS,IAAGzQ,EAAEy5B,EAAEnO,cAAc,QAASizC,UAAU,qBAAuBv+D,EAAEA,EAAEm6D,YAAYn6D,EAAE8+D,aAAa,kBAAkBtuD,EAAE83R,GAAGtoS,EAAEy5B,EAAEnO,cAAc7a,EAAE,CAAC63R,GAAG93R,EAAE83R,MAAMtoS,EAAEy5B,EAAEnO,cAAc7a,GAAG,WAAWA,IAAIgpB,EAAEz5B,EAAEwQ,EAAEqkT,SAASp7R,EAAEo7R,UAAS,EAAGrkT,EAAE8B,OAAOmnB,EAAEnnB,KAAK9B,EAAE8B,QAAQtS,EAAEy5B,EAAEu7R,gBAAgBh1T,EAAEyQ,GAAGzQ,EAAE+lT,IAAI9lT,EAAED,EAAEgmT,IAAIx1S,EAAE6iT,GAAGrzT,EAAEC,GAAE,GAAG,GAAIA,EAAE8zS,UAAU/zS,EAAEy5B,EAAE65Q,GAAG7iS,EAAED,GAAUC,GAAG,IAAK,SAAS4/R,GAAE,SAASrwS,GAAGqwS,GAAE,QAAQrwS,GACpfG,EAAEqQ,EAAE,MAAM,IAAK,SAAS,IAAK,SAAS,IAAK,QAAQ6/R,GAAE,OAAOrwS,GAAGG,EAAEqQ,EAAE,MAAM,IAAK,QAAQ,IAAK,QAAQ,IAAIrQ,EAAE,EAAEA,EAAE6jT,GAAGllT,OAAOqB,IAAIkwS,GAAE2T,GAAG7jT,GAAGH,GAAGG,EAAEqQ,EAAE,MAAM,IAAK,SAAS6/R,GAAE,QAAQrwS,GAAGG,EAAEqQ,EAAE,MAAM,IAAK,MAAM,IAAK,QAAQ,IAAK,OAAO6/R,GAAE,QAAQrwS,GAAGqwS,GAAE,OAAOrwS,GAAGG,EAAEqQ,EAAE,MAAM,IAAK,UAAU6/R,GAAE,SAASrwS,GAAGG,EAAEqQ,EAAE,MAAM,IAAK,QAAQ+9R,GAAGvuS,EAAEwQ,GAAGrQ,EAAEmuS,EAAGtuS,EAAEwQ,GAAG6/R,GAAE,UAAUrwS,GAAG,MAAM,IAAK,SAASG,EAAEuxS,GAAG1xS,EAAEwQ,GAAG,MAAM,IAAK,SAASxQ,EAAEuxS,cAAc,CAACqjB,cAAcpkT,EAAEqkT,UAAU10T,EAAEm8B,EAAE,CAAC,EAAE9rB,EAAE,CAAC/R,WAAM,IAAS4xS,GAAE,UAAUrwS,GAAG,MAAM,IAAK,WAAW+xS,GAAG/xS,EAAEwQ,GAAGrQ,EACpf2xS,GAAG9xS,EAAEwQ,GAAG6/R,GAAE,UAAUrwS,GAAG,MAAM,QAAQG,EAAEqQ,EAAE6iS,GAAG5iS,EAAEtQ,GAAG,IAAIyrD,EAAEzrD,EAAE,IAAIqK,KAAKohD,EAAE,GAAGA,EAAEznD,eAAeqG,GAAG,CAAC,IAAI4hD,EAAER,EAAEphD,GAAG,UAAUA,EAAE2oS,GAAGnzS,EAAEosD,GAAG,4BAA4B5hD,EAAuB,OAApB4hD,EAAEA,EAAEA,EAAEukP,YAAO,IAAgB+B,GAAG1yS,EAAEosD,GAAI,aAAa5hD,EAAE,kBAAkB4hD,GAAG,aAAa37C,GAAG,KAAK27C,IAAI0mP,GAAG9yS,EAAEosD,GAAG,kBAAkBA,GAAG0mP,GAAG9yS,EAAE,GAAGosD,GAAG,mCAAmC5hD,GAAG,6BAA6BA,GAAG,cAAcA,IAAIk7R,EAAGvhS,eAAeqG,GAAG,MAAM4hD,GAAG,aAAa5hD,GAAG6lS,GAAE,SAASrwS,GAAG,MAAMosD,GAAG+6O,EAAGnnS,EAAEwK,EAAE4hD,EAAE3yB,GAAG,CAAC,OAAOhpB,GAAG,IAAK,QAAQ29R,EAAGpuS,GAAGwzF,GAAGxzF,EAAEwQ,GAAE,GACnf,MAAM,IAAK,WAAW49R,EAAGpuS,GAAGiyS,GAAGjyS,GAAG,MAAM,IAAK,SAAS,MAAMwQ,EAAE/R,OAAOuB,EAAEu7D,aAAa,QAAQ,GAAGsyO,EAAGr9R,EAAE/R,QAAQ,MAAM,IAAK,SAASuB,EAAE60T,WAAWrkT,EAAEqkT,SAAmB,OAAVrqT,EAAEgG,EAAE/R,OAAcmzS,GAAG5xS,IAAIwQ,EAAEqkT,SAASrqT,GAAE,GAAI,MAAMgG,EAAEnK,cAAcurS,GAAG5xS,IAAIwQ,EAAEqkT,SAASrkT,EAAEnK,cAAa,GAAI,MAAM,QAAQ,oBAAoBlG,EAAE20T,UAAU90T,EAAE+0T,QAAQ9P,IAAIG,GAAG30S,EAAED,KAAKvQ,EAAEs1S,OAAO,EAAE,CAAC,OAAOt1S,EAAEqrE,MAAMrrE,EAAEs1S,OAAO,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE,GAAGv1S,GAAG,MAAMC,EAAE8zS,UAAUyf,GAAGxzT,EAAEC,EAAED,EAAEkuT,cAAc19S,OAAO,CAAC,GAAG,kBAAkBA,GAAG,OAAOvQ,EAAE8zS,UAAU,MAAMpoS,MAAM+3D,EAAE,MAC/ejzD,EAAEm9S,GAAGD,GAAGnuC,SAASouC,GAAGH,GAAGjuC,SAASqvC,GAAG5uT,IAAIuQ,EAAEvQ,EAAE8zS,UAAUtjS,EAAExQ,EAAEiuT,cAAc19S,EAAEu1S,IAAI9lT,EAAEuQ,EAAEuiS,YAAYtiS,IAAIxQ,EAAEs1S,OAAO,MAAK/kS,GAAG,IAAIC,EAAEwwD,SAASxwD,EAAEA,EAAEyjI,eAAe+gL,eAAezkT,IAAKu1S,IAAI9lT,EAAEA,EAAE8zS,UAAUvjS,EAAE,CAAC,OAAO,KAAK,KAAK,GAA0B,OAAvBg8C,GAAE+7O,IAAG/3R,EAAEvQ,EAAE6oS,cAAiB,KAAa,GAAR7oS,EAAEs1S,QAAiBt1S,EAAE+pT,MAAMv5S,EAAExQ,IAAEuQ,EAAE,OAAOA,EAAEC,GAAE,EAAG,OAAOzQ,OAAE,IAASC,EAAEiuT,cAAcv3N,UAAUk4N,GAAG5uT,GAAGwQ,EAAE,OAAOzQ,EAAE8oS,cAAiBt4R,IAAIC,GAAG,KAAY,EAAPxQ,EAAEgtT,QAAW,OAAOjtT,IAAG,IAAKC,EAAEiuT,cAAc0F,4BAA4B,KAAe,EAAVrrB,GAAE/oB,SAAW,IAAIx8L,KAAIA,GAAE,IAAW,IAAIA,IAAG,IAAIA,KAAEA,GACrf,GAAE,OAAO2lN,IAAG,KAAQ,UAAHyiB,KAAe,KAAQ,UAAH8J,KAAeC,GAAGxsB,GAAEC,OAAMp4R,GAAGC,KAAExQ,EAAEs1S,OAAO,GAAS,MAAK,KAAK,EAAE,OAAOuY,KAAKwF,GAAGrzT,GAAG,OAAOD,GAAGukT,GAAGtkT,EAAE8zS,UAAUuD,eAAe,KAAK,KAAK,GAAG,OAAO/zI,GAAGtjK,GAAG,KAA0C,KAAK,GAA0B,GAAvBusD,GAAE+7O,IAAwB,QAArB/3R,EAAEvQ,EAAE6oS,eAA0B,OAAO,KAAsC,GAAjCt+R,EAAE,KAAa,GAARvK,EAAEs1S,OAA2B,QAAjB97Q,EAAEjpB,EAAE6jT,WAAsB,GAAG7pT,EAAEkqT,GAAGlkT,GAAE,OAAQ,CAAC,GAAG,IAAIwyE,IAAG,OAAOhjF,GAAG,KAAa,GAARA,EAAEu1S,OAAU,IAAIv1S,EAAEC,EAAEymB,MAAM,OAAO1mB,GAAG,CAAS,GAAG,QAAXy5B,EAAEw0R,GAAGjuT,IAAe,CACjW,IADkWC,EAAEs1S,OAAO,GAAGmf,GAAGlkT,GAAE,GAAoB,QAAhBhG,EAAEivB,EAAE8wR,eAAuBtqT,EAAEsqT,YAAY//S,EAAEvK,EAAEs1S,OAAO,GACnf,OAAO/kS,EAAEo8S,aAAa3sT,EAAE6sT,YAAY,MAAM7sT,EAAE2sT,WAAWp8S,EAAEo8S,WAAWp8S,EAAEC,EAAMA,EAAExQ,EAAEymB,MAAM,OAAOjW,GAAOzQ,EAAEwQ,GAANhG,EAAEiG,GAAQ8kS,OAAO,EAAE/qS,EAAEqiT,WAAW,KAAKriT,EAAEsiT,YAAY,KAAKtiT,EAAEoiT,WAAW,KAAmB,QAAdnzR,EAAEjvB,EAAE8qS,YAAoB9qS,EAAEo/S,WAAW,EAAEp/S,EAAEw/S,MAAMhqT,EAAEwK,EAAEkc,MAAM,KAAKlc,EAAE0jT,cAAc,KAAK1jT,EAAEs+R,cAAc,KAAKt+R,EAAE+/S,YAAY,KAAK//S,EAAEs/S,aAAa,KAAKt/S,EAAEupS,UAAU,OAAOvpS,EAAEo/S,WAAWnwR,EAAEmwR,WAAWp/S,EAAEw/S,MAAMvwR,EAAEuwR,MAAMx/S,EAAEkc,MAAM+S,EAAE/S,MAAMlc,EAAE0jT,cAAcz0R,EAAEy0R,cAAc1jT,EAAEs+R,cAAcrvQ,EAAEqvQ,cAAct+R,EAAE+/S,YAAY9wR,EAAE8wR,YAAY//S,EAAEwI,KAAKymB,EAAEzmB,KAAKhT,EAAEy5B,EAAEqwR,aACpft/S,EAAEs/S,aAAa,OAAO9pT,EAAE,KAAK,CAACgqT,MAAMhqT,EAAEgqT,MAAMD,aAAa/pT,EAAE+pT,eAAet5S,EAAEA,EAAEqxD,QAA2B,OAAnB6kO,GAAE4B,GAAY,EAAVA,GAAE/oB,QAAU,GAAUv/Q,EAAEymB,KAAK,CAAC1mB,EAAEA,EAAE8hE,OAAO,CAAC,OAAOtxD,EAAE+jT,MAAMtsB,KAAImtB,KAAKn1T,EAAEs1S,OAAO,GAAG/qS,GAAE,EAAGkqT,GAAGlkT,GAAE,GAAIvQ,EAAE+pT,MAAM,SAAS,KAAK,CAAC,IAAIx/S,EAAE,GAAW,QAARxK,EAAEiuT,GAAGx0R,KAAa,GAAGx5B,EAAEs1S,OAAO,GAAG/qS,GAAE,EAAmB,QAAhBiG,EAAEzQ,EAAEuqT,eAAuBtqT,EAAEsqT,YAAY95S,EAAExQ,EAAEs1S,OAAO,GAAGmf,GAAGlkT,GAAE,GAAI,OAAOA,EAAE+jT,MAAM,WAAW/jT,EAAEgkT,WAAW/6R,EAAE67Q,YAAYgZ,GAAG,OAAmC,QAA5BruT,EAAEA,EAAE2sT,WAAWp8S,EAAEo8S,cAAsB3sT,EAAE4sT,WAAW,MAAM,UAAU,EAAE5kB,KAAIz3R,EAAE8jT,mBAAmBc,IAAI,aAAa3kT,IAAIxQ,EAAEs1S,OACjf,GAAG/qS,GAAE,EAAGkqT,GAAGlkT,GAAE,GAAIvQ,EAAE+pT,MAAM,UAAUx5S,EAAE4jT,aAAa36R,EAAEqoC,QAAQ7hE,EAAEymB,MAAMzmB,EAAEymB,MAAM+S,IAAa,QAAThpB,EAAED,EAAE+S,MAAc9S,EAAEqxD,QAAQroC,EAAEx5B,EAAEymB,MAAM+S,EAAEjpB,EAAE+S,KAAKkW,EAAE,CAAC,OAAO,OAAOjpB,EAAE+jT,MAAM9jT,EAAED,EAAE+jT,KAAK/jT,EAAE6jT,UAAU5jT,EAAED,EAAE+jT,KAAK9jT,EAAEqxD,QAAQtxD,EAAEo8S,WAAW3sT,EAAE2sT,WAAWp8S,EAAE8jT,mBAAmBrsB,KAAIx3R,EAAEqxD,QAAQ,KAAK7hE,EAAEsoS,GAAE/oB,QAAQmnB,GAAE4B,GAAE/9R,EAAI,EAAFvK,EAAI,EAAI,EAAFA,GAAKwQ,GAAG,KAAK,KAAK,GAAG,KAAK,GAAG,OAAO4kT,KAAK,OAAOr1T,GAAG,OAAOA,EAAE8oS,iBAAiB,OAAO7oS,EAAE6oS,gBAAgB,kCAAkCt4R,EAAEy8S,OAAOhtT,EAAEs1S,OAAO,GAAG,KAAK,MAAM5pS,MAAM+3D,EAAE,IAAIzjE,EAAE+oR,KAAM,CACtd,SAASssC,GAAGt1T,GAAG,OAAOA,EAAEgpR,KAAK,KAAK,EAAE09B,GAAG1mT,EAAEgT,OAAO2zS,KAAK,IAAI1mT,EAAED,EAAEu1S,MAAM,OAAS,KAAFt1S,GAAQD,EAAEu1S,OAAS,KAAHt1S,EAAQ,GAAGD,GAAG,KAAK,KAAK,EAAgC,GAA9B8tT,KAAKthQ,GAAEo7O,IAAGp7O,GAAE86O,IAAG0nB,KAAkB,KAAO,IAApB/uT,EAAED,EAAEu1S,QAAoB,MAAM5pS,MAAM+3D,EAAE,MAAyB,OAAnB1jE,EAAEu1S,OAAS,KAAHt1S,EAAQ,GAAUD,EAAE,KAAK,EAAE,OAAOguT,GAAGhuT,GAAG,KAAK,KAAK,GAAG,OAAOwsD,GAAE+7O,IAAe,MAAZtoS,EAAED,EAAEu1S,QAAcv1S,EAAEu1S,OAAS,KAAHt1S,EAAQ,GAAGD,GAAG,KAAK,KAAK,GAAG,OAAOwsD,GAAE+7O,IAAG,KAAK,KAAK,EAAE,OAAOulB,KAAK,KAAK,KAAK,GAAG,OAAOvqJ,GAAGvjK,GAAG,KAAK,KAAK,GAAG,KAAK,GAAG,OAAOq1T,KAAK,KAAK,QAAQ,OAAO,KAAK,CAC1a,SAASE,GAAGv1T,EAAEC,GAAG,IAAI,IAAIwQ,EAAE,GAAGD,EAAEvQ,EAAE,GAAGwQ,GAAGi9R,EAAGl9R,GAAGA,EAAEA,EAAE40B,aAAa50B,GAAG,IAAIrQ,EAAEsQ,CAAC,CAAC,MAAMjG,GAAGrK,EAAE,6BAA6BqK,EAAE25D,QAAQ,KAAK35D,EAAEmyR,KAAK,CAAC,MAAM,CAACl+R,MAAMuB,EAAEwD,OAAOvD,EAAE08R,MAAMx8R,EAAE,CAAC,SAASq1T,GAAGx1T,EAAEC,GAAG,IAAIsF,QAAQ0H,MAAMhN,EAAExB,MAAM,CAAC,MAAMgS,GAAGvI,YAAW,WAAW,MAAMuI,CAAE,GAAE,CAAC,CAlBhQ4iT,GAAG,SAASrzT,EAAEC,GAAG,IAAI,IAAIwQ,EAAExQ,EAAEymB,MAAM,OAAOjW,GAAG,CAAC,GAAG,IAAIA,EAAEu4Q,KAAK,IAAIv4Q,EAAEu4Q,IAAIhpR,EAAE+5D,YAAYtpD,EAAEsjS,gBAAgB,GAAG,IAAItjS,EAAEu4Q,KAAK,OAAOv4Q,EAAEiW,MAAM,CAACjW,EAAEiW,MAAM0e,OAAO30B,EAAEA,EAAEA,EAAEiW,MAAM,QAAQ,CAAC,GAAGjW,IAAIxQ,EAAE,MAAM,KAAK,OAAOwQ,EAAEqxD,SAAS,CAAC,GAAG,OAAOrxD,EAAE20B,QAAQ30B,EAAE20B,SAASnlC,EAAE,OAAOwQ,EAAEA,EAAE20B,MAAM,CAAC30B,EAAEqxD,QAAQ18B,OAAO30B,EAAE20B,OAAO30B,EAAEA,EAAEqxD,OAAO,CAAC,EAAEwxP,GAAG,WAAW,EACxTC,GAAG,SAASvzT,EAAEC,EAAEwQ,EAAED,GAAG,IAAIrQ,EAAEH,EAAEkuT,cAAc,GAAG/tT,IAAIqQ,EAAE,CAACxQ,EAAEC,EAAE8zS,UAAU6Z,GAAGH,GAAGjuC,SAAS,IAAyU/lP,EAArUjvB,EAAE,KAAK,OAAOiG,GAAG,IAAK,QAAQtQ,EAAEmuS,EAAGtuS,EAAEG,GAAGqQ,EAAE89R,EAAGtuS,EAAEwQ,GAAGhG,EAAE,GAAG,MAAM,IAAK,SAASrK,EAAEuxS,GAAG1xS,EAAEG,GAAGqQ,EAAEkhS,GAAG1xS,EAAEwQ,GAAGhG,EAAE,GAAG,MAAM,IAAK,SAASrK,EAAEm8B,EAAE,CAAC,EAAEn8B,EAAE,CAAC1B,WAAM,IAAS+R,EAAE8rB,EAAE,CAAC,EAAE9rB,EAAE,CAAC/R,WAAM,IAAS+L,EAAE,GAAG,MAAM,IAAK,WAAWrK,EAAE2xS,GAAG9xS,EAAEG,GAAGqQ,EAAEshS,GAAG9xS,EAAEwQ,GAAGhG,EAAE,GAAG,MAAM,QAAQ,oBAAoBrK,EAAE20T,SAAS,oBAAoBtkT,EAAEskT,UAAU90T,EAAE+0T,QAAQ9P,IAAyB,IAAIpsE,KAAzBw6D,GAAG5iS,EAAED,GAASC,EAAE,KAActQ,EAAE,IAAIqQ,EAAErM,eAAe00O,IAAI14O,EAAEgE,eAAe00O,IAAI,MAAM14O,EAAE04O,GAAG,GAAG,UAC3eA,EAAE,CAAC,IAAIjtL,EAAEzrD,EAAE04O,GAAG,IAAIp/M,KAAKmyB,EAAEA,EAAEznD,eAAes1B,KAAKhpB,IAAIA,EAAE,CAAC,GAAGA,EAAEgpB,GAAG,GAAG,KAAK,4BAA4Bo/M,GAAG,aAAaA,GAAG,mCAAmCA,GAAG,6BAA6BA,GAAG,cAAcA,IAAI6sD,EAAGvhS,eAAe00O,GAAGruO,IAAIA,EAAE,KAAKA,EAAEA,GAAG,IAAI9J,KAAKm4O,EAAE,OAAO,IAAIA,KAAKroO,EAAE,CAAC,IAAI47C,EAAE57C,EAAEqoO,GAAyB,GAAtBjtL,EAAE,MAAMzrD,EAAEA,EAAE04O,QAAG,EAAUroO,EAAErM,eAAe00O,IAAIzsL,IAAIR,IAAI,MAAMQ,GAAG,MAAMR,GAAG,GAAG,UAAUitL,EAAE,GAAGjtL,EAAE,CAAC,IAAInyB,KAAKmyB,GAAGA,EAAEznD,eAAes1B,IAAI2yB,GAAGA,EAAEjoD,eAAes1B,KAAKhpB,IAAIA,EAAE,CAAC,GAAGA,EAAEgpB,GAAG,IAAI,IAAIA,KAAK2yB,EAAEA,EAAEjoD,eAAes1B,IAAImyB,EAAEnyB,KAAK2yB,EAAE3yB,KAAKhpB,IAClfA,EAAE,CAAC,GAAGA,EAAEgpB,GAAG2yB,EAAE3yB,GAAG,MAAMhpB,IAAIjG,IAAIA,EAAE,IAAIA,EAAE9J,KAAKm4O,EAAEpoO,IAAIA,EAAE27C,MAAM,4BAA4BysL,GAAGzsL,EAAEA,EAAEA,EAAEukP,YAAO,EAAO/kP,EAAEA,EAAEA,EAAE+kP,YAAO,EAAO,MAAMvkP,GAAGR,IAAIQ,IAAI5hD,EAAEA,GAAG,IAAI9J,KAAKm4O,EAAEzsL,IAAI,aAAaysL,EAAE,kBAAkBzsL,GAAG,kBAAkBA,IAAI5hD,EAAEA,GAAG,IAAI9J,KAAKm4O,EAAE,GAAGzsL,GAAG,mCAAmCysL,GAAG,6BAA6BA,IAAI6sD,EAAGvhS,eAAe00O,IAAI,MAAMzsL,GAAG,aAAaysL,GAAGw3D,GAAE,SAASrwS,GAAGwK,GAAGohD,IAAIQ,IAAI5hD,EAAE,KAAK,kBAAkB4hD,GAAG,OAAOA,GAAGA,EAAEwlO,WAAWwX,EAAGh9O,EAAEptD,YAAYwL,EAAEA,GAAG,IAAI9J,KAAKm4O,EAAEzsL,GAAG,CAAC37C,IAAIjG,EAAEA,GAAG,IAAI9J,KAAK,QAC/e+P,GAAG,IAAIooO,EAAEruO,GAAKvK,EAAEsqT,YAAY1xE,KAAE54O,EAAEs1S,OAAO,EAAC,CAAC,EAAEie,GAAG,SAASxzT,EAAEC,EAAEwQ,EAAED,GAAGC,IAAID,IAAIvQ,EAAEs1S,OAAO,EAAE,EAc8K,IAAIkgB,GAAG,oBAAoBC,QAAQA,QAAQn1T,IAAI,SAASo1T,GAAG31T,EAAEC,EAAEwQ,IAAGA,EAAEq6S,IAAI,EAAEr6S,IAAKu4Q,IAAI,EAAEv4Q,EAAEkvR,QAAQ,CAAC9zQ,QAAQ,MAAM,IAAIrb,EAAEvQ,EAAExB,MAAsD,OAAhDgS,EAAEnO,SAAS,WAAWszT,KAAKA,IAAG,EAAGC,GAAGrlT,GAAGglT,GAAGx1T,EAAEC,EAAE,EAASwQ,CAAC,CACrb,SAASqlT,GAAG91T,EAAEC,EAAEwQ,IAAGA,EAAEq6S,IAAI,EAAEr6S,IAAKu4Q,IAAI,EAAE,IAAIx4Q,EAAExQ,EAAEgT,KAAKivR,yBAAyB,GAAG,oBAAoBzxR,EAAE,CAAC,IAAIrQ,EAAEF,EAAExB,MAAMgS,EAAEkvR,QAAQ,WAAmB,OAAR61B,GAAGx1T,EAAEC,GAAUuQ,EAAErQ,EAAE,CAAC,CAAC,IAAIqK,EAAExK,EAAE+zS,UAA8O,OAApO,OAAOvpS,GAAG,oBAAoBA,EAAEurT,oBAAoBtlT,EAAEnO,SAAS,WAAW,oBAAoBkO,IAAI,OAAOwlT,GAAGA,GAAG,IAAI11T,IAAI,CAACoB,OAAOs0T,GAAGvjT,IAAI/Q,MAAM8zT,GAAGx1T,EAAEC,IAAI,IAAIwQ,EAAExQ,EAAE08R,MAAMj7R,KAAKq0T,kBAAkB91T,EAAExB,MAAM,CAACw3T,eAAe,OAAOxlT,EAAEA,EAAE,IAAI,GAAUA,CAAC,CAAC,IAAIylT,GAAG,oBAAoBC,QAAQA,QAAQ71T,IACxc,SAAS81T,GAAGp2T,GAAG,IAAIC,EAAED,EAAEsrE,IAAI,GAAG,OAAOrrE,EAAE,GAAG,oBAAoBA,EAAE,IAAIA,EAAE,KAAK,CAAC,MAAMwQ,GAAG4lT,GAAGr2T,EAAEyQ,EAAE,MAAMxQ,EAAEu/Q,QAAQ,IAAI,CAAC,SAAS82C,GAAGt2T,EAAEC,GAAG,OAAOA,EAAE+oR,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAA8Q,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,OAAjS,KAAK,EAAE,GAAW,IAAR/oR,EAAEs1S,OAAW,OAAOv1S,EAAE,CAAC,IAAIyQ,EAAEzQ,EAAEkuT,cAAc19S,EAAExQ,EAAE8oS,cAA4B7oS,GAAdD,EAAEC,EAAE8zS,WAAcsY,wBAAwBpsT,EAAE4kS,cAAc5kS,EAAE+S,KAAKvC,EAAE24S,GAAGnpT,EAAE+S,KAAKvC,GAAGD,GAAGxQ,EAAEu2T,oCAAoCt2T,CAAC,CAAC,OAAO,KAAK,EAA6C,YAAnC,IAARA,EAAEs1S,OAAWkQ,GAAGxlT,EAAE8zS,UAAUuD,gBAA0D,MAAM3rS,MAAM+3D,EAAE,KAAM,CAClf,SAAS8yP,GAAGx2T,EAAEC,EAAEwQ,GAAG,OAAOA,EAAEu4Q,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAgD,GAAG,QAAhC/oR,EAAE,QAAlBA,EAAEwQ,EAAE85S,aAAuBtqT,EAAE2sT,WAAW,MAAiB,CAAC5sT,EAAEC,EAAEA,EAAEs8B,KAAK,EAAE,CAAC,GAAG,KAAW,EAANv8B,EAAEgpR,KAAO,CAAC,IAAIx4Q,EAAExQ,EAAE+tB,OAAO/tB,EAAE6O,QAAQ2B,GAAG,CAACxQ,EAAEA,EAAEu8B,IAAI,OAAOv8B,IAAIC,EAAE,CAA8C,GAAG,QAAhCA,EAAE,QAAlBA,EAAEwQ,EAAE85S,aAAuBtqT,EAAE2sT,WAAW,MAAiB,CAAC5sT,EAAEC,EAAEA,EAAEs8B,KAAK,EAAE,CAAC,IAAIp8B,EAAEH,EAAEwQ,EAAErQ,EAAEo8B,KAAa,KAAO,GAAfp8B,EAAEA,EAAE6oR,OAAe,KAAO,EAAF7oR,KAAOs2T,GAAGhmT,EAAEzQ,GAAG02T,GAAGjmT,EAAEzQ,IAAIA,EAAEwQ,CAAC,OAAOxQ,IAAIC,EAAE,CAAC,OAAO,KAAK,EACtR,OADwRD,EAAEyQ,EAAEsjS,UAAkB,EAARtjS,EAAE8kS,QAAU,OAAOt1S,EAAED,EAAEs6Q,qBAAqB9pQ,EAAEC,EAAEo0R,cAAcp0R,EAAEuC,KAAK/S,EAAEiuT,cAAc9E,GAAG34S,EAAEuC,KAAK/S,EAAEiuT,eAAeluT,EAAEy7Q,mBAAmBjrQ,EACxgBvQ,EAAE6oS,cAAc9oS,EAAEu2T,4CAAuD,QAAhBt2T,EAAEwQ,EAAE85S,cAAsBc,GAAG56S,EAAExQ,EAAED,IAAU,KAAK,EAAkB,GAAG,QAAnBC,EAAEwQ,EAAE85S,aAAwB,CAAQ,GAAPvqT,EAAE,KAAQ,OAAOyQ,EAAEiW,MAAM,OAAOjW,EAAEiW,MAAMsiQ,KAAK,KAAK,EAA4B,KAAK,EAAEhpR,EAAEyQ,EAAEiW,MAAMqtR,UAAUsX,GAAG56S,EAAExQ,EAAED,EAAE,CAAC,OAAO,KAAK,EAA2E,OAAzEA,EAAEyQ,EAAEsjS,eAAU,OAAO9zS,GAAW,EAARwQ,EAAE8kS,OAAS6P,GAAG30S,EAAEuC,KAAKvC,EAAEy9S,gBAAgBluT,EAAEgkF,SAAe,KAAK,EAAS,KAAK,EAAS,KAAK,GACnX,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,OAD6U,KAAK,GACzY,YAD4Y,OAAOvzE,EAAEq4R,gBAAgBr4R,EAAEA,EAAE6kS,UAAU,OAAO7kS,IAAIA,EAAEA,EAAEq4R,cAAc,OAAOr4R,IAAIA,EAAEA,EAAEglS,WAAW,OAAOhlS,GAAGqnS,GAAGrnS,OACzb,MAAM9E,MAAM+3D,EAAE,KAAM,CAClF,SAASizP,GAAG32T,EAAEC,GAAG,IAAI,IAAIwQ,EAAEzQ,IAAI,CAAC,GAAG,IAAIyQ,EAAEu4Q,IAAI,CAAC,IAAIx4Q,EAAEC,EAAEsjS,UAAU,GAAG9zS,EAAY,oBAAVuQ,EAAEA,EAAEwpD,OAA4B12D,YAAYkN,EAAElN,YAAY,UAAU,OAAO,aAAakN,EAAEgzJ,QAAQ,WAAW,CAAChzJ,EAAEC,EAAEsjS,UAAU,IAAI5zS,EAAEsQ,EAAEy9S,cAAcl0P,MAAM75D,OAAE,IAASA,GAAG,OAAOA,GAAGA,EAAEgE,eAAe,WAAWhE,EAAEqjK,QAAQ,KAAKhzJ,EAAEwpD,MAAMwpG,QAAQ0vI,GAAG,UAAU/yS,EAAE,CAAC,MAAM,GAAG,IAAIsQ,EAAEu4Q,IAAIv4Q,EAAEsjS,UAAUhB,UAAU9yS,EAAE,GAAGwQ,EAAEy9S,mBAAmB,IAAI,KAAKz9S,EAAEu4Q,KAAK,KAAKv4Q,EAAEu4Q,KAAK,OAAOv4Q,EAAEq4R,eAAer4R,IAAIzQ,IAAI,OAAOyQ,EAAEiW,MAAM,CAACjW,EAAEiW,MAAM0e,OAAO30B,EAAEA,EAAEA,EAAEiW,MAAM,QAAQ,CAAC,GAAGjW,IACtfzQ,EAAE,MAAM,KAAK,OAAOyQ,EAAEqxD,SAAS,CAAC,GAAG,OAAOrxD,EAAE20B,QAAQ30B,EAAE20B,SAASplC,EAAE,OAAOyQ,EAAEA,EAAE20B,MAAM,CAAC30B,EAAEqxD,QAAQ18B,OAAO30B,EAAE20B,OAAO30B,EAAEA,EAAEqxD,OAAO,CAAC,CACzH,SAAS80P,GAAG52T,EAAEC,GAAG,GAAGinT,IAAI,oBAAoBA,GAAG2P,qBAAqB,IAAI3P,GAAG2P,qBAAqB5P,GAAGhnT,EAAE,CAAC,MAAMuK,GAAG,CAAC,OAAOvK,EAAE+oR,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAmB,GAAG,QAAnBhpR,EAAEC,EAAEsqT,cAAyC,QAAfvqT,EAAEA,EAAE4sT,YAAqB,CAAC,IAAIn8S,EAAEzQ,EAAEA,EAAEu8B,KAAK,EAAE,CAAC,IAAI/rB,EAAEC,EAAEtQ,EAAEqQ,EAAE3B,QAAgB,GAAR2B,EAAEA,EAAEw4Q,SAAO,IAAS7oR,EAAE,GAAG,KAAO,EAAFqQ,GAAKimT,GAAGx2T,EAAEwQ,OAAO,CAACD,EAAEvQ,EAAE,IAAIE,GAAG,CAAC,MAAMqK,GAAG6rT,GAAG7lT,EAAEhG,EAAE,CAAC,CAACiG,EAAEA,EAAE8rB,IAAI,OAAO9rB,IAAIzQ,EAAE,CAAC,MAAM,KAAK,EAAsB,GAApBo2T,GAAGn2T,GAAoB,oBAAjBD,EAAEC,EAAE8zS,WAAmC13B,qBAAqB,IAAIr8Q,EAAEoP,MAAMnP,EAAEiuT,cAAcluT,EAAEuyC,MAAMtyC,EAAE6oS,cAAc9oS,EAAEq8Q,sBAAsB,CAAC,MAAM7xQ,GAAG6rT,GAAGp2T,EAC/gBuK,EAAE,CAAC,MAAM,KAAK,EAAE4rT,GAAGn2T,GAAG,MAAM,KAAK,EAAE62T,GAAG92T,EAAEC,GAAG,CAAC,SAAS82T,GAAG/2T,GAAGA,EAAEs1S,UAAU,KAAKt1S,EAAE0mB,MAAM,KAAK1mB,EAAE8pT,aAAa,KAAK9pT,EAAE8sT,YAAY,KAAK9sT,EAAE4sT,WAAW,KAAK5sT,EAAEkuT,cAAc,KAAKluT,EAAE8oS,cAAc,KAAK9oS,EAAE0uT,aAAa,KAAK1uT,EAAEolC,OAAO,KAAKplC,EAAEuqT,YAAY,IAAI,CAAC,SAASyM,GAAGh3T,GAAG,OAAO,IAAIA,EAAEgpR,KAAK,IAAIhpR,EAAEgpR,KAAK,IAAIhpR,EAAEgpR,GAAG,CACtS,SAASiuC,GAAGj3T,GAAGA,EAAE,CAAC,IAAI,IAAIC,EAAED,EAAEolC,OAAO,OAAOnlC,GAAG,CAAC,GAAG+2T,GAAG/2T,GAAG,MAAMD,EAAEC,EAAEA,EAAEmlC,MAAM,CAAC,MAAMz5B,MAAM+3D,EAAE,KAAM,CAAC,IAAIjzD,EAAExQ,EAAgB,OAAdA,EAAEwQ,EAAEsjS,UAAiBtjS,EAAEu4Q,KAAK,KAAK,EAAE,IAAIx4Q,GAAE,EAAG,MAAM,KAAK,EAA+B,KAAK,EAAEvQ,EAAEA,EAAEq3S,cAAc9mS,GAAE,EAAG,MAAM,QAAQ,MAAM7E,MAAM+3D,EAAE,MAAe,GAARjzD,EAAE8kS,QAAWzC,GAAG7yS,EAAE,IAAIwQ,EAAE8kS,QAAQ,IAAIv1S,EAAEC,EAAE,IAAIwQ,EAAEzQ,IAAI,CAAC,KAAK,OAAOyQ,EAAEqxD,SAAS,CAAC,GAAG,OAAOrxD,EAAE20B,QAAQ4xR,GAAGvmT,EAAE20B,QAAQ,CAAC30B,EAAE,KAAK,MAAMzQ,CAAC,CAACyQ,EAAEA,EAAE20B,MAAM,CAA2B,IAA1B30B,EAAEqxD,QAAQ18B,OAAO30B,EAAE20B,OAAW30B,EAAEA,EAAEqxD,QAAQ,IAAIrxD,EAAEu4Q,KAAK,IAAIv4Q,EAAEu4Q,KAAK,KAAKv4Q,EAAEu4Q,KAAK,CAAC,GAAW,EAARv4Q,EAAE8kS,MAAQ,SAASt1S,EAAE,GAAG,OAC/ewQ,EAAEiW,OAAO,IAAIjW,EAAEu4Q,IAAI,SAAS/oR,EAAOwQ,EAAEiW,MAAM0e,OAAO30B,EAAEA,EAAEA,EAAEiW,KAAK,CAAC,KAAa,EAARjW,EAAE8kS,OAAS,CAAC9kS,EAAEA,EAAEsjS,UAAU,MAAM/zS,CAAC,CAAC,CAACwQ,EAAE0mT,GAAGl3T,EAAEyQ,EAAExQ,GAAGk3T,GAAGn3T,EAAEyQ,EAAExQ,EAAE,CAC3H,SAASi3T,GAAGl3T,EAAEC,EAAEwQ,GAAG,IAAID,EAAExQ,EAAEgpR,IAAI7oR,EAAE,IAAIqQ,GAAG,IAAIA,EAAE,GAAGrQ,EAAEH,EAAEG,EAAEH,EAAE+zS,UAAU/zS,EAAE+zS,UAAUrmL,SAASztH,EAAE,IAAIwQ,EAAEwwD,SAASxwD,EAAEkqD,WAAW+E,aAAa1/D,EAAEC,GAAGwQ,EAAEivD,aAAa1/D,EAAEC,IAAI,IAAIwQ,EAAEwwD,UAAUhhE,EAAEwQ,EAAEkqD,YAAa+E,aAAa1/D,EAAEyQ,IAAKxQ,EAAEwQ,GAAIspD,YAAY/5D,GAA4B,QAAxByQ,EAAEA,EAAE2mT,2BAA8B,IAAS3mT,GAAG,OAAOxQ,EAAE80T,UAAU90T,EAAE80T,QAAQ9P,UAAU,GAAG,IAAIz0S,GAAc,QAAVxQ,EAAEA,EAAE0mB,OAAgB,IAAIwwS,GAAGl3T,EAAEC,EAAEwQ,GAAGzQ,EAAEA,EAAE8hE,QAAQ,OAAO9hE,GAAGk3T,GAAGl3T,EAAEC,EAAEwQ,GAAGzQ,EAAEA,EAAE8hE,OAAO,CACrZ,SAASq1P,GAAGn3T,EAAEC,EAAEwQ,GAAG,IAAID,EAAExQ,EAAEgpR,IAAI7oR,EAAE,IAAIqQ,GAAG,IAAIA,EAAE,GAAGrQ,EAAEH,EAAEG,EAAEH,EAAE+zS,UAAU/zS,EAAE+zS,UAAUrmL,SAASztH,EAAEwQ,EAAEivD,aAAa1/D,EAAEC,GAAGwQ,EAAEspD,YAAY/5D,QAAQ,GAAG,IAAIwQ,GAAc,QAAVxQ,EAAEA,EAAE0mB,OAAgB,IAAIywS,GAAGn3T,EAAEC,EAAEwQ,GAAGzQ,EAAEA,EAAE8hE,QAAQ,OAAO9hE,GAAGm3T,GAAGn3T,EAAEC,EAAEwQ,GAAGzQ,EAAEA,EAAE8hE,OAAO,CAC5N,SAASg1P,GAAG92T,EAAEC,GAAG,IAAI,IAAaE,EAAEqK,EAAXiG,EAAExQ,EAAEuQ,GAAE,IAAS,CAAC,IAAIA,EAAE,CAACA,EAAEC,EAAE20B,OAAOplC,EAAE,OAAO,CAAC,GAAG,OAAOwQ,EAAE,MAAM7E,MAAM+3D,EAAE,MAAoB,OAAdvjE,EAAEqQ,EAAEujS,UAAiBvjS,EAAEw4Q,KAAK,KAAK,EAAEx+Q,GAAE,EAAG,MAAMxK,EAAE,KAAK,EAAiC,KAAK,EAAEG,EAAEA,EAAEm3S,cAAc9sS,GAAE,EAAG,MAAMxK,EAAEwQ,EAAEA,EAAE40B,MAAM,CAAC50B,GAAE,CAAE,CAAC,GAAG,IAAIC,EAAEu4Q,KAAK,IAAIv4Q,EAAEu4Q,IAAI,CAAChpR,EAAE,IAAI,IAAIy5B,EAAEz5B,EAAE4rD,EAAEn7C,EAAE27C,EAAER,IAAI,GAAGgrQ,GAAGn9R,EAAE2yB,GAAG,OAAOA,EAAE1lC,OAAO,IAAI0lC,EAAE48N,IAAI58N,EAAE1lC,MAAM0e,OAAOgnB,EAAEA,EAAEA,EAAE1lC,UAAU,CAAC,GAAG0lC,IAAIR,EAAE,MAAM5rD,EAAE,KAAK,OAAOosD,EAAE0V,SAAS,CAAC,GAAG,OAAO1V,EAAEhnB,QAAQgnB,EAAEhnB,SAASwmB,EAAE,MAAM5rD,EAAEosD,EAAEA,EAAEhnB,MAAM,CAACgnB,EAAE0V,QAAQ18B,OAAOgnB,EAAEhnB,OAAOgnB,EAAEA,EAAE0V,OAAO,CAACt3D,GAAGivB,EAAEt5B,EAAEyrD,EAAEn7C,EAAEsjS,UACrf,IAAIt6Q,EAAEwnC,SAASxnC,EAAEkhC,WAAWR,YAAYvO,GAAGnyB,EAAE0gC,YAAYvO,IAAIzrD,EAAEg6D,YAAY1pD,EAAEsjS,UAAU,MAAM,GAAG,IAAItjS,EAAEu4Q,KAAK,GAAG,OAAOv4Q,EAAEiW,MAAM,CAACvmB,EAAEsQ,EAAEsjS,UAAUuD,cAAc9sS,GAAE,EAAGiG,EAAEiW,MAAM0e,OAAO30B,EAAEA,EAAEA,EAAEiW,MAAM,QAAQ,OAAO,GAAGkwS,GAAG52T,EAAEyQ,GAAG,OAAOA,EAAEiW,MAAM,CAACjW,EAAEiW,MAAM0e,OAAO30B,EAAEA,EAAEA,EAAEiW,MAAM,QAAQ,CAAC,GAAGjW,IAAIxQ,EAAE,MAAM,KAAK,OAAOwQ,EAAEqxD,SAAS,CAAC,GAAG,OAAOrxD,EAAE20B,QAAQ30B,EAAE20B,SAASnlC,EAAE,OAAkB,KAAXwQ,EAAEA,EAAE20B,QAAa4jP,MAAMx4Q,GAAE,EAAG,CAACC,EAAEqxD,QAAQ18B,OAAO30B,EAAE20B,OAAO30B,EAAEA,EAAEqxD,OAAO,CAAC,CAC1Z,SAASu1P,GAAGr3T,EAAEC,GAAG,OAAOA,EAAE+oR,KAAK,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,IAAIv4Q,EAAExQ,EAAEsqT,YAAyC,GAAG,QAAhC95S,EAAE,OAAOA,EAAEA,EAAEm8S,WAAW,MAAiB,CAAC,IAAIp8S,EAAEC,EAAEA,EAAE8rB,KAAK,GAAG,KAAW,EAAN/rB,EAAEw4Q,OAAShpR,EAAEwQ,EAAE3B,QAAQ2B,EAAE3B,aAAQ,OAAO,IAAS7O,GAAGA,KAAKwQ,EAAEA,EAAE+rB,WAAW/rB,IAAIC,EAAE,CAAC,OAAO,KAAK,EAErJ,KAAK,GAAoG,KAAK,GAAG,OAF6C,KAAK,EAAgB,GAAG,OAAjBA,EAAExQ,EAAE8zS,WAAqB,CAACvjS,EAAEvQ,EAAEiuT,cAAc,IAAI/tT,EAAE,OAAOH,EAAEA,EAAEkuT,cAAc19S,EAAExQ,EAAEC,EAAE+S,KAAK,IAAIxI,EAAEvK,EAAEsqT,YAA+B,GAAnBtqT,EAAEsqT,YAAY,KAAQ,OAAO//S,EAAE,CAAgF,IAA/EiG,EAAEu1S,IAAIx1S,EAAE,UAAUxQ,GAAG,UAAUwQ,EAAEwC,MAAM,MAAMxC,EAAErJ,MAAMwnS,GAAGl+R,EAAED,GAAG8iS,GAAGtzS,EAAEG,GAAGF,EAAEqzS,GAAGtzS,EAAEwQ,GAAOrQ,EAAE,EAAEA,EAAEqK,EAAE1L,OAAOqB,GAClf,EAAE,CAAC,IAAIs5B,EAAEjvB,EAAErK,GAAGyrD,EAAEphD,EAAErK,EAAE,GAAG,UAAUs5B,EAAE05Q,GAAG1iS,EAAEm7C,GAAG,4BAA4BnyB,EAAEi5Q,GAAGjiS,EAAEm7C,GAAG,aAAanyB,EAAEq5Q,GAAGriS,EAAEm7C,GAAGu7O,EAAG12R,EAAEgpB,EAAEmyB,EAAE3rD,EAAE,CAAC,OAAOD,GAAG,IAAK,QAAQ4uS,GAAGn+R,EAAED,GAAG,MAAM,IAAK,WAAWwhS,GAAGvhS,EAAED,GAAG,MAAM,IAAK,SAASxQ,EAAEyQ,EAAE8gS,cAAcqjB,YAAYnkT,EAAE8gS,cAAcqjB,cAAcpkT,EAAEqkT,SAAmB,OAAVrqT,EAAEgG,EAAE/R,OAAcmzS,GAAGnhS,IAAID,EAAEqkT,SAASrqT,GAAE,GAAIxK,MAAMwQ,EAAEqkT,WAAW,MAAMrkT,EAAEnK,aAAaurS,GAAGnhS,IAAID,EAAEqkT,SAASrkT,EAAEnK,cAAa,GAAIurS,GAAGnhS,IAAID,EAAEqkT,SAASrkT,EAAEqkT,SAAS,GAAG,IAAG,IAAK,CAAC,CAAC,OAAO,KAAK,EAAE,GAAG,OAAO50T,EAAE8zS,UAAU,MAAMpoS,MAAM+3D,EAAE,MAC/c,YADqdzjE,EAAE8zS,UAAUhB,UACjf9yS,EAAEiuT,eAAqB,KAAK,EAA8D,aAA5Dz9S,EAAExQ,EAAE8zS,WAAYsD,UAAU5mS,EAAE4mS,SAAQ,EAAGS,GAAGrnS,EAAE6mS,iBAAsC,KAAK,GAAyD,OAAtD,OAAOr3S,EAAE6oS,gBAAgBwuB,GAAGrvB,KAAI0uB,GAAG12T,EAAEymB,OAAM,SAAK6wS,GAAGt3T,GAAU,KAAK,GAAS,YAANs3T,GAAGt3T,GAAyB,KAAK,GAAG,KAAK,GAAgC,YAA7B02T,GAAG12T,EAAE,OAAOA,EAAE6oS,eAAsB,MAAMn9R,MAAM+3D,EAAE,KAAM,CAAC,SAAS6zP,GAAGv3T,GAAG,IAAIC,EAAED,EAAEuqT,YAAY,GAAG,OAAOtqT,EAAE,CAACD,EAAEuqT,YAAY,KAAK,IAAI95S,EAAEzQ,EAAE+zS,UAAU,OAAOtjS,IAAIA,EAAEzQ,EAAE+zS,UAAU,IAAImiB,IAAIj2T,EAAEQ,SAAQ,SAASR,GAAG,IAAIuQ,EAAEgnT,GAAGvrT,KAAK,KAAKjM,EAAEC,GAAGwQ,EAAEkhC,IAAI1xC,KAAKwQ,EAAEgC,IAAIxS,GAAGA,EAAEwkE,KAAKj0D,EAAEA,GAAG,GAAE,CAAC,CACze,SAASinT,GAAGz3T,EAAEC,GAAG,OAAO,OAAOD,IAAsB,QAAlBA,EAAEA,EAAE8oS,gBAAwB,OAAO9oS,EAAEy1S,cAA+B,QAAlBx1S,EAAEA,EAAE6oS,gBAAwB,OAAO7oS,EAAEw1S,WAAc,CAAC,IAAIiiB,GAAG92S,KAAKm9C,KAAK45P,GAAGvwB,EAAG0G,uBAAuB8pB,GAAGxwB,EAAG+qB,kBAAkB1oB,GAAE,EAAEd,GAAE,KAAKxlN,GAAE,KAAKylN,GAAE,EAAEivB,GAAG,EAAEC,GAAG1R,GAAG,GAAGpjO,GAAE,EAAE+0O,GAAG,KAAKC,GAAG,EAAE5M,GAAG,EAAE8J,GAAG,EAAE+C,GAAG,EAAEC,GAAG,KAAKZ,GAAG,EAAElC,GAAGp/N,IAAS,SAASmiO,KAAK/C,GAAGntB,KAAI,GAAG,CAAC,IA8BsFmwB,GA9BlFl1O,GAAE,KAAK0yO,IAAG,EAAGC,GAAG,KAAKG,GAAG,KAAKqC,IAAG,EAAGC,GAAG,KAAKC,GAAG,GAAGC,GAAG,GAAGC,GAAG,GAAGC,GAAG,KAAKC,GAAG,EAAEC,GAAG,KAAKC,IAAI,EAAEC,GAAG,EAAEC,GAAG,EAAEC,GAAG,KAAKC,IAAG,EAAG,SAAStN,KAAK,OAAO,KAAO,GAAFliB,IAAMxB,MAAK,IAAI4wB,GAAGA,GAAGA,GAAG5wB,IAAG,CAC9e,SAAS2jB,GAAG5rT,GAAY,GAAG,KAAO,GAAnBA,EAAEA,EAAEitT,OAAkB,OAAO,EAAE,GAAG,KAAO,EAAFjtT,GAAK,OAAO,KAAK4oT,KAAK,EAAE,EAAkB,GAAhB,IAAIkQ,KAAKA,GAAGd,IAAO,IAAI9O,GAAG/qJ,WAAW,CAAC,IAAI46J,KAAKA,GAAG,OAAOb,GAAGA,GAAG7e,aAAa,GAAGr5S,EAAE84T,GAAG,IAAI74T,EAAE,SAAS84T,GAAsD,OAA7C,KAAN94T,IAAIA,KAA8B,KAAPA,GAAbD,EAAE,SAASA,IAAOA,KAAUC,EAAE,OAAcA,CAAC,CAA2D,OAA1DD,EAAE4oT,KAAK,KAAO,EAAFnf,KAAM,KAAKzpS,EAAEA,EAAE65S,GAAG,GAAGif,IAAa94T,EAAE65S,GAAV75S,EAtK3Q,SAAYA,GAAG,OAAOA,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,EAAE,KAAK,GAAG,OAAO,EAAE,QAAQ,OAAO,EAAE,CAsKqJk5T,CAAGl5T,GAAU84T,IAAY94T,CAAC,CACpT,SAAS6rT,GAAG7rT,EAAEC,EAAEwQ,GAAG,GAAG,GAAGkoT,GAAG,MAAMA,GAAG,EAAEC,GAAG,KAAKjtT,MAAM+3D,EAAE,MAAgB,GAAG,QAAb1jE,EAAEm5T,GAAGn5T,EAAEC,IAAe,OAAO,KAAK+5S,GAAGh6S,EAAEC,EAAEwQ,GAAGzQ,IAAI2oS,KAAIusB,IAAIj1T,EAAE,IAAI+iF,IAAGmyO,GAAGn1T,EAAE4oS,KAAI,IAAIp4R,EAAEo4S,KAAK,IAAI3oT,EAAE,KAAO,EAAFwpS,KAAM,KAAO,GAAFA,IAAM2vB,GAAGp5T,IAAIq5T,GAAGr5T,EAAEyQ,GAAG,IAAIg5R,KAAI0uB,KAAKnP,QAAQ,KAAO,EAAFvf,KAAM,KAAKj5R,GAAG,KAAKA,IAAI,OAAOkoT,GAAGA,GAAG,IAAIp4T,IAAI,CAACN,IAAI04T,GAAGjmT,IAAIzS,IAAIq5T,GAAGr5T,EAAEyQ,IAAIynT,GAAGl4T,CAAC,CAAC,SAASm5T,GAAGn5T,EAAEC,GAAGD,EAAEgqT,OAAO/pT,EAAE,IAAIwQ,EAAEzQ,EAAEs1S,UAAqC,IAA3B,OAAO7kS,IAAIA,EAAEu5S,OAAO/pT,GAAGwQ,EAAEzQ,EAAMA,EAAEA,EAAEolC,OAAO,OAAOplC,GAAGA,EAAE4pT,YAAY3pT,EAAgB,QAAdwQ,EAAEzQ,EAAEs1S,aAAqB7kS,EAAEm5S,YAAY3pT,GAAGwQ,EAAEzQ,EAAEA,EAAEA,EAAEolC,OAAO,OAAO,IAAI30B,EAAEu4Q,IAAIv4Q,EAAEsjS,UAAU,IAAI,CAC7e,SAASslB,GAAGr5T,EAAEC,GAAG,IAAI,IAAIwQ,EAAEzQ,EAAEs5T,aAAa9oT,EAAExQ,EAAEu5S,eAAep5S,EAAEH,EAAEw5S,YAAYhvS,EAAExK,EAAEu5T,gBAAgB9/R,EAAEz5B,EAAEq5S,aAAa,EAAE5/Q,GAAG,CAAC,IAAImyB,EAAE,GAAG6tP,GAAGhgR,GAAG2yB,EAAE,GAAGR,EAAEitL,EAAEruO,EAAEohD,GAAG,IAAI,IAAIitL,GAAG,GAAG,KAAKzsL,EAAE57C,IAAI,KAAK47C,EAAEjsD,GAAG,CAAC04O,EAAE54O,EAAEk5S,GAAG/sP,GAAG,IAAIzvB,EAAEwpQ,GAAE37R,EAAEohD,GAAG,IAAIjvB,EAAEk8M,EAAE,IAAI,GAAGl8M,EAAEk8M,EAAE,KAAK,CAAC,OAAOA,GAAG54O,IAAID,EAAEs5S,cAAcltP,GAAG3yB,IAAI2yB,CAAC,CAAuB,GAAtB57C,EAAE4oS,GAAGp5S,EAAEA,IAAI2oS,GAAEC,GAAE,GAAG3oS,EAAEkmS,GAAK,IAAI31R,EAAE,OAAOC,IAAIA,IAAI63S,IAAIjB,GAAG52S,GAAGzQ,EAAEs5T,aAAa,KAAKt5T,EAAEw5T,iBAAiB,OAAO,CAAC,GAAG,OAAO/oT,EAAE,CAAC,GAAGzQ,EAAEw5T,mBAAmBv5T,EAAE,OAAOwQ,IAAI63S,IAAIjB,GAAG52S,EAAE,CAAC,KAAKxQ,GAAGwQ,EAAE2oT,GAAGntT,KAAK,KAAKjM,GAAG,OAAOwoT,IAAIA,GAAG,CAAC/3S,GAAGg4S,GAAGrB,GAAGU,GAAGmB,KAAKT,GAAG9nT,KAAK+P,GACrfA,EAAE63S,IAAI,KAAKroT,EAAEwQ,EAAEs4S,GAAG,GAAGqQ,GAAGntT,KAAK,KAAKjM,KAAKyQ,EAzK+F,SAAYzQ,GAAG,OAAOA,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,EAAE,OAAO,GAAG,QAAQ,MAAM2L,MAAM+3D,EAAE,IAAI1jE,IAAK,CAyK7Ty5T,CAAGx5T,GAAGwQ,EAAEs4S,GAAGt4S,EAAEipT,GAAGztT,KAAK,KAAKjM,KAAKA,EAAEw5T,iBAAiBv5T,EAAED,EAAEs5T,aAAa7oT,CAAC,CAAC,CAC9G,SAASipT,GAAG15T,GAAiB,GAAd64T,IAAI,EAAEE,GAAGD,GAAG,EAAK,KAAO,GAAFrvB,IAAM,MAAM99R,MAAM+3D,EAAE,MAAM,IAAIzjE,EAAED,EAAEs5T,aAAa,GAAGK,MAAM35T,EAAEs5T,eAAer5T,EAAE,OAAO,KAAK,IAAIwQ,EAAE2oS,GAAGp5S,EAAEA,IAAI2oS,GAAEC,GAAE,GAAG,GAAG,IAAIn4R,EAAE,OAAO,KAAK,IAAID,EAAEC,EAAMtQ,EAAEspS,GAAEA,IAAG,GAAG,IAAIj/R,EAAEovT,KAAkC,IAA1BjxB,KAAI3oS,GAAG4oS,KAAIp4R,IAAE2nT,KAAK0B,GAAG75T,EAAEwQ,UAAUspT,KAAK,KAAK,CAAC,MAAMluQ,GAAGmuQ,GAAG/5T,EAAE4rD,EAAE,CAA8D,GAApD69P,KAAKkO,GAAGn4C,QAAQh1Q,EAAEi/R,GAAEtpS,EAAE,OAAOgjF,GAAE3yE,EAAE,GAAGm4R,GAAE,KAAKC,GAAE,EAAEp4R,EAAEwyE,IAAM,KAAKg1O,GAAG9C,IAAI2E,GAAG75T,EAAE,QAAQ,GAAG,IAAIwQ,EAAE,CAAyF,GAAxF,IAAIA,IAAIi5R,IAAG,GAAGzpS,EAAEq3S,UAAUr3S,EAAEq3S,SAAQ,EAAGoO,GAAGzlT,EAAEs3S,gBAAwB,KAAR7mS,EAAEmpS,GAAG55S,MAAWwQ,EAAEwpT,GAAGh6T,EAAEyQ,KAAQ,IAAID,EAAE,MAAMvQ,EAAE83T,GAAG8B,GAAG75T,EAAE,GAAGm1T,GAAGn1T,EAAEyQ,GAAG4oT,GAAGr5T,EAAEioS,MAAKhoS,EAC3c,OAD6cD,EAAEi6T,aACrfj6T,EAAEw/Q,QAAQ81B,UAAUt1S,EAAEk6T,cAAczpT,EAASD,GAAG,KAAK,EAAE,KAAK,EAAE,MAAM7E,MAAM+3D,EAAE,MAAM,KAAK,EACI,KAAK,EAAEy2P,GAAGn6T,GAAG,MADH,KAAK,EAAU,GAARm1T,GAAGn1T,EAAEyQ,IAAS,SAAFA,KAAcA,GAAiB,IAAbD,EAAE8mT,GAAG,IAAIrvB,MAAU,CAAC,GAAG,IAAImR,GAAGp5S,EAAE,GAAG,MAAyB,KAAnBG,EAAEH,EAAEu5S,gBAAqB9oS,KAAKA,EAAE,CAACk7S,KAAK3rT,EAAEw5S,aAAax5S,EAAEu5S,eAAep5S,EAAE,KAAK,CAACH,EAAEo6T,cAAc7U,GAAG4U,GAAGluT,KAAK,KAAKjM,GAAGwQ,GAAG,KAAK,CAAC2pT,GAAGn6T,GAAG,MAAM,KAAK,EAAU,GAARm1T,GAAGn1T,EAAEyQ,IAAS,QAAFA,KAAaA,EAAE,MAAqB,IAAfD,EAAExQ,EAAEi6S,WAAe95S,GAAG,EAAE,EAAEsQ,GAAG,CAAC,IAAIgpB,EAAE,GAAGggR,GAAGhpS,GAAGjG,EAAE,GAAGivB,GAAEA,EAAEjpB,EAAEipB,IAAKt5B,IAAIA,EAAEs5B,GAAGhpB,IAAIjG,CAAC,CAClZ,GADmZiG,EAAEtQ,EAClZ,IAD4ZsQ,GAAG,KAAXA,EAAEw3R,KAAIx3R,GAAW,IAAI,IAAIA,EAAE,IAAI,KAAKA,EAAE,KAAK,KAAKA,EAAE,KAAK,IAAIA,EAAE,IAAI,KAClfA,EAAE,KAAK,KAAKinT,GAAGjnT,EAAE,OAAOA,GAAU,CAACzQ,EAAEo6T,cAAc7U,GAAG4U,GAAGluT,KAAK,KAAKjM,GAAGyQ,GAAG,KAAK,CAAC0pT,GAAGn6T,GAAG,MAAyB,QAAQ,MAAM2L,MAAM+3D,EAAE,MAAO,CAAW,OAAV21P,GAAGr5T,EAAEioS,MAAYjoS,EAAEs5T,eAAer5T,EAAEy5T,GAAGztT,KAAK,KAAKjM,GAAG,IAAI,CAAC,SAASm1T,GAAGn1T,EAAEC,GAAuD,IAApDA,IAAIg4T,GAAGh4T,IAAIi1T,GAAGl1T,EAAEu5S,gBAAgBt5S,EAAED,EAAEw5S,cAAcv5S,EAAMD,EAAEA,EAAEu5T,gBAAgB,EAAEt5T,GAAG,CAAC,IAAIwQ,EAAE,GAAGgpS,GAAGx5S,GAAGuQ,EAAE,GAAGC,EAAEzQ,EAAEyQ,IAAI,EAAExQ,IAAIuQ,CAAC,CAAC,CAC5U,SAAS4oT,GAAGp5T,GAAG,GAAG,KAAO,GAAFypS,IAAM,MAAM99R,MAAM+3D,EAAE,MAAW,GAALi2P,KAAQ35T,IAAI2oS,IAAG,KAAK3oS,EAAEs5S,aAAa1Q,IAAG,CAAC,IAAI3oS,EAAE2oS,GAAMn4R,EAAEupT,GAAGh6T,EAAEC,GAAG,KAAK+3T,GAAG9C,MAAgBzkT,EAAEupT,GAAGh6T,EAAfC,EAAEm5S,GAAGp5S,EAAEC,IAAa,MAAgBwQ,EAAEupT,GAAGh6T,EAAfC,EAAEm5S,GAAGp5S,EAAE,IAAgH,GAAnG,IAAIA,EAAEgpR,KAAK,IAAIv4Q,IAAIg5R,IAAG,GAAGzpS,EAAEq3S,UAAUr3S,EAAEq3S,SAAQ,EAAGoO,GAAGzlT,EAAEs3S,gBAAwB,KAARr3S,EAAE25S,GAAG55S,MAAWyQ,EAAEupT,GAAGh6T,EAAEC,KAAQ,IAAIwQ,EAAE,MAAMA,EAAEsnT,GAAG8B,GAAG75T,EAAE,GAAGm1T,GAAGn1T,EAAEC,GAAGo5T,GAAGr5T,EAAEioS,MAAKx3R,EAAuE,OAArEzQ,EAAEi6T,aAAaj6T,EAAEw/Q,QAAQ81B,UAAUt1S,EAAEk6T,cAAcj6T,EAAEk6T,GAAGn6T,GAAGq5T,GAAGr5T,EAAEioS,MAAY,IAAI,CACvR,SAASoyB,GAAGr6T,EAAEC,GAAG,IAAIwQ,EAAEg5R,GAAEA,IAAG,EAAE,IAAI,OAAOzpS,EAAEC,EAAE,CAAC,QAAY,KAAJwpS,GAAEh5R,KAAU0nT,KAAKnP,KAAK,CAAC,CAAC,SAASsR,GAAGt6T,EAAEC,GAAG,IAAIwQ,EAAEg5R,GAAEA,KAAI,EAAEA,IAAG,EAAE,IAAI,OAAOzpS,EAAEC,EAAE,CAAC,QAAY,KAAJwpS,GAAEh5R,KAAU0nT,KAAKnP,KAAK,CAAC,CAAC,SAAS6J,GAAG7yT,EAAEC,GAAG0mS,GAAEmxB,GAAGD,IAAIA,IAAI53T,EAAE+3T,IAAI/3T,CAAC,CAAC,SAASo1T,KAAKwC,GAAGC,GAAGt4C,QAAQhzN,GAAEsrQ,GAAG,CAC/V,SAAS+B,GAAG75T,EAAEC,GAAGD,EAAEi6T,aAAa,KAAKj6T,EAAEk6T,cAAc,EAAE,IAAIzpT,EAAEzQ,EAAEo6T,cAAiD,IAAlC,IAAI3pT,IAAIzQ,EAAEo6T,eAAe,EAAE5U,GAAG/0S,IAAO,OAAO0yE,GAAE,IAAI1yE,EAAE0yE,GAAE/9C,OAAO,OAAO30B,GAAG,CAAC,IAAID,EAAEC,EAAE,OAAOD,EAAEw4Q,KAAK,KAAK,EAA6B,QAA3Bx4Q,EAAEA,EAAEwC,KAAK6uR,yBAA4B,IAASrxR,GAAGm2S,KAAK,MAAM,KAAK,EAAEmH,KAAKthQ,GAAEo7O,IAAGp7O,GAAE86O,IAAG0nB,KAAK,MAAM,KAAK,EAAEhB,GAAGx9S,GAAG,MAAM,KAAK,EAAEs9S,KAAK,MAAM,KAAK,GAAc,KAAK,GAAGthQ,GAAE+7O,IAAG,MAAM,KAAK,GAAGhlI,GAAG/yJ,GAAG,MAAM,KAAK,GAAG,KAAK,GAAG6kT,KAAK5kT,EAAEA,EAAE20B,MAAM,CAACujQ,GAAE3oS,EAAEmjF,GAAE4pO,GAAG/sT,EAAEw/Q,QAAQ,MAAMopB,GAAEivB,GAAGG,GAAG/3T,EAAE+iF,GAAE,EAAE+0O,GAAG,KAAKE,GAAG/C,GAAG9J,GAAG,CAAC,CACxc,SAAS2O,GAAG/5T,EAAEC,GAAG,OAAE,CAAC,IAAIwQ,EAAE0yE,GAAE,IAAuB,GAAnBsmO,KAAKyF,GAAG1vC,QAAQqwC,GAAMR,GAAG,CAAC,IAAI,IAAI7+S,EAAEi4R,GAAEK,cAAc,OAAOt4R,GAAG,CAAC,IAAIrQ,EAAEqQ,EAAEu4R,MAAM,OAAO5oS,IAAIA,EAAEs9M,QAAQ,MAAMjtM,EAAEA,EAAE+rB,IAAI,CAAC8yR,IAAG,CAAE,CAAuC,GAAtCD,GAAG,EAAE1mB,GAAE77O,GAAE47O,GAAE,KAAK6mB,IAAG,EAAGsI,GAAGp4C,QAAQ,KAAQ,OAAO/uQ,GAAG,OAAOA,EAAE20B,OAAO,CAAC49C,GAAE,EAAE+0O,GAAG93T,EAAEkjF,GAAE,KAAK,KAAK,CAACnjF,EAAE,CAAC,IAAIwK,EAAExK,EAAEy5B,EAAEhpB,EAAE20B,OAAOwmB,EAAEn7C,EAAE27C,EAAEnsD,EAAoD,GAAlDA,EAAE2oS,GAAEh9O,EAAE2pP,OAAO,KAAK3pP,EAAEkhQ,YAAYlhQ,EAAEghQ,WAAW,KAAQ,OAAOxgQ,GAAG,kBAAkBA,GAAG,oBAAoBA,EAAEqY,KAAK,CAAC,IAAIo0K,EAAEzsL,EAAE,GAAG,KAAY,EAAPR,EAAEqhQ,MAAQ,CAAC,IAAItwR,EAAEivB,EAAE0pP,UAAU34Q,GAAGivB,EAAE2+P,YAAY5tR,EAAE4tR,YAAY3+P,EAAEk9O,cAAcnsQ,EAAEmsQ,cAAcl9O,EAAEo+P,MAAMrtR,EAAEqtR,QACpfp+P,EAAE2+P,YAAY,KAAK3+P,EAAEk9O,cAAc,KAAK,CAAC,IAAIhmN,EAAE,KAAe,EAAVylN,GAAE/oB,SAAWv5Q,EAAEwzB,EAAE,EAAE,CAAC,IAAIspD,EAAE,GAAGA,EAAE,KAAK98E,EAAE+iR,IAAI,CAAC,IAAIrlN,EAAE19D,EAAE6iS,cAAc,GAAG,OAAOnlO,EAAEof,EAAE,OAAOpf,EAAE8xO,eAAqB,CAAC,IAAI/E,EAAEzqS,EAAEioT,cAAcnrO,OAAE,IAAS2tN,EAAE/5M,YAAY,IAAK+5M,EAAEkjB,6BAA8B9wO,EAAO,CAAC,CAAC,GAAGC,EAAE,CAAC,IAAIwiN,EAAEt/R,EAAEskT,YAAY,GAAG,OAAOhlB,EAAE,CAAC,IAAID,EAAE,IAAIhlS,IAAIglS,EAAE7yR,IAAIomO,GAAG5yO,EAAEskT,YAAYjlB,CAAC,MAAMC,EAAE9yR,IAAIomO,GAAG,GAAG,KAAY,EAAP5yO,EAAEgnT,MAAQ,CAA2C,GAA1ChnT,EAAEsvS,OAAO,GAAG3pP,EAAE2pP,OAAO,MAAM3pP,EAAE2pP,QAAQ,KAAQ,IAAI3pP,EAAEo9N,IAAI,GAAG,OAAOp9N,EAAE0pP,UAAU1pP,EAAEo9N,IAAI,OAAO,CAAC,IAAIr2P,EAAEm4R,IAAI,EAAE,GAAGn4R,EAAEq2P,IAAI,EAAEiiC,GAAGr/P,EAAEj5B,EAAE,CAACi5B,EAAEo+P,OAAO,EAAE,MAAMhqT,CAAC,CAACosD,OAC5f,EAAOR,EAAE3rD,EAAE,IAAI+sD,EAAExiD,EAAE+vT,UAA+G,GAArG,OAAOvtQ,GAAGA,EAAExiD,EAAE+vT,UAAU,IAAI9E,GAAGrpQ,EAAE,IAAI9rD,IAAI0sD,EAAExmD,IAAIqyO,EAAEzsL,SAAgB,KAAXA,EAAEY,EAAE7mD,IAAI0yO,MAAgBzsL,EAAE,IAAI9rD,IAAI0sD,EAAExmD,IAAIqyO,EAAEzsL,KAASA,EAAEza,IAAIia,GAAG,CAACQ,EAAE35C,IAAIm5C,GAAG,IAAIjlD,EAAE6zT,GAAGvuT,KAAK,KAAKzB,EAAEquO,EAAEjtL,GAAGitL,EAAEp0K,KAAK99D,EAAEA,EAAE,CAACV,EAAEsvS,OAAO,KAAKtvS,EAAE+jT,MAAM/pT,EAAE,MAAMD,CAAC,CAACiG,EAAEA,EAAEm/B,MAAM,OAAO,OAAOn/B,GAAGmmD,EAAEzgD,OAAOgiS,EAAG/hP,EAAE54C,OAAO,qBAAqB,wLAAwL,CAAC,IAAIgwE,KAAIA,GAAE,GAAG52B,EAAEmpQ,GAAGnpQ,EAAER,GAAG3lD,EACpfwzB,EAAE,EAAE,CAAC,OAAOxzB,EAAE+iR,KAAK,KAAK,EAAEx+Q,EAAE4hD,EAAEnmD,EAAEsvS,OAAO,KAAKt1S,IAAIA,EAAEgG,EAAE+jT,OAAO/pT,EAAkBirT,GAAGjlT,EAAb0vT,GAAG1vT,EAAEuE,EAAEvK,IAAW,MAAMD,EAAE,KAAK,EAAEwK,EAAE4hD,EAAE,IAAI46O,EAAE/gS,EAAE+M,KAAKw1R,EAAEviS,EAAE8tS,UAAU,GAAG,KAAa,GAAR9tS,EAAEsvS,SAAY,oBAAoBvO,EAAE/E,0BAA0B,OAAOuG,GAAG,oBAAoBA,EAAEutB,oBAAoB,OAAOC,KAAKA,GAAGrkR,IAAI62P,KAAK,CAACviS,EAAEsvS,OAAO,KAAKt1S,IAAIA,EAAEgG,EAAE+jT,OAAO/pT,EAAkBirT,GAAGjlT,EAAb6vT,GAAG7vT,EAAEuE,EAAEvK,IAAW,MAAMD,CAAC,EAAEiG,EAAEA,EAAEm/B,MAAM,OAAO,OAAOn/B,EAAE,CAACw0T,GAAGhqT,EAAE,CAAC,MAAMo3R,GAAI5nS,EAAE4nS,EAAG1kN,KAAI1yE,GAAG,OAAOA,IAAI0yE,GAAE1yE,EAAEA,EAAE20B,QAAQ,QAAQ,CAAC,KAAK,CAAS,CAC7b,SAASw0R,KAAK,IAAI55T,EAAE23T,GAAGn4C,QAAsB,OAAdm4C,GAAGn4C,QAAQqwC,GAAU,OAAO7vT,EAAE6vT,GAAG7vT,CAAC,CAAC,SAASg6T,GAAGh6T,EAAEC,GAAG,IAAIwQ,EAAEg5R,GAAEA,IAAG,GAAG,IAAIj5R,EAAEopT,KAA2B,IAAtBjxB,KAAI3oS,GAAG4oS,KAAI3oS,GAAG45T,GAAG75T,EAAEC,SAAUy6T,KAAK,KAAK,CAAC,MAAMv6T,GAAG45T,GAAG/5T,EAAEG,EAAE,CAAgC,GAAtBspT,KAAKhgB,GAAEh5R,EAAEknT,GAAGn4C,QAAQhvQ,EAAK,OAAO2yE,GAAE,MAAMx3E,MAAM+3D,EAAE,MAAiB,OAAXilO,GAAE,KAAKC,GAAE,EAAS5lN,EAAC,CAAC,SAAS03O,KAAK,KAAK,OAAOv3O,IAAGw3O,GAAGx3O,GAAE,CAAC,SAAS22O,KAAK,KAAK,OAAO32O,KAAIokO,MAAMoT,GAAGx3O,GAAE,CAAC,SAASw3O,GAAG36T,GAAG,IAAIC,EAAEm4T,GAAGp4T,EAAEs1S,UAAUt1S,EAAE63T,IAAI73T,EAAEkuT,cAAcluT,EAAE0uT,aAAa,OAAOzuT,EAAEw6T,GAAGz6T,GAAGmjF,GAAEljF,EAAE23T,GAAGp4C,QAAQ,IAAI,CAChb,SAASi7C,GAAGz6T,GAAG,IAAIC,EAAED,EAAE,EAAE,CAAC,IAAIyQ,EAAExQ,EAAEq1S,UAAqB,GAAXt1S,EAAEC,EAAEmlC,OAAU,KAAa,KAARnlC,EAAEs1S,OAAY,CAAc,GAAG,QAAhB9kS,EAAEkkT,GAAGlkT,EAAExQ,EAAE43T,KAAqB,YAAJ10O,GAAE1yE,GAAa,GAAG,MAAPA,EAAExQ,GAAY+oR,KAAK,KAAKv4Q,EAAEu4Q,KAAK,OAAOv4Q,EAAEq4R,eAAe,KAAQ,WAAH+uB,KAAgB,KAAY,EAAPpnT,EAAEw8S,MAAQ,CAAC,IAAI,IAAIz8S,EAAE,EAAErQ,EAAEsQ,EAAEiW,MAAM,OAAOvmB,GAAGqQ,GAAGrQ,EAAE6pT,MAAM7pT,EAAEypT,WAAWzpT,EAAEA,EAAE2hE,QAAQrxD,EAAEm5S,WAAWp5S,CAAC,CAAC,OAAOxQ,GAAG,KAAa,KAARA,EAAEu1S,SAAc,OAAOv1S,EAAE8sT,cAAc9sT,EAAE8sT,YAAY7sT,EAAE6sT,aAAa,OAAO7sT,EAAE2sT,aAAa,OAAO5sT,EAAE4sT,aAAa5sT,EAAE4sT,WAAWC,WAAW5sT,EAAE6sT,aAAa9sT,EAAE4sT,WAAW3sT,EAAE2sT,YAAY,EAAE3sT,EAAEs1S,QAAQ,OAC/ev1S,EAAE4sT,WAAW5sT,EAAE4sT,WAAWC,WAAW5sT,EAAED,EAAE8sT,YAAY7sT,EAAED,EAAE4sT,WAAW3sT,GAAG,KAAK,CAAS,GAAG,QAAXwQ,EAAE6kT,GAAGr1T,IAAkC,OAAlBwQ,EAAE8kS,OAAO,UAAKpyN,GAAE1yE,GAAS,OAAOzQ,IAAIA,EAAE8sT,YAAY9sT,EAAE4sT,WAAW,KAAK5sT,EAAEu1S,OAAO,KAAK,CAAa,GAAG,QAAft1S,EAAEA,EAAE6hE,SAAyB,YAAJqhB,GAAEljF,GAASkjF,GAAEljF,EAAED,CAAC,OAAO,OAAOC,GAAG,IAAI+iF,KAAIA,GAAE,EAAE,CAAC,SAASm3O,GAAGn6T,GAAG,IAAIC,EAAE2oT,KAA8B,OAAzBE,GAAG,GAAG8R,GAAG3uT,KAAK,KAAKjM,EAAEC,IAAW,IAAI,CAC1T,SAAS26T,GAAG56T,EAAEC,GAAG,GAAG05T,WAAW,OAAOrB,IAAI,GAAG,KAAO,GAAF7uB,IAAM,MAAM99R,MAAM+3D,EAAE,MAAM,IAAIjzD,EAAEzQ,EAAEi6T,aAAa,GAAG,OAAOxpT,EAAE,OAAO,KAA2C,GAAtCzQ,EAAEi6T,aAAa,KAAKj6T,EAAEk6T,cAAc,EAAKzpT,IAAIzQ,EAAEw/Q,QAAQ,MAAM7zQ,MAAM+3D,EAAE,MAAM1jE,EAAEs5T,aAAa,KAAK,IAAI9oT,EAAEC,EAAEu5S,MAAMv5S,EAAEm5S,WAAWzpT,EAAEqQ,EAAEhG,EAAExK,EAAEq5S,cAAcl5S,EAAEH,EAAEq5S,aAAal5S,EAAEH,EAAEu5S,eAAe,EAAEv5S,EAAEw5S,YAAY,EAAEx5S,EAAEs5S,cAAcn5S,EAAEH,EAAE0wT,kBAAkBvwT,EAAEH,EAAE05S,gBAAgBv5S,EAAEA,EAAEH,EAAE25S,cAAc,IAAI,IAAIlgR,EAAEz5B,EAAEi6S,WAAWruP,EAAE5rD,EAAEu5T,gBAAgB,EAAE/uT,GAAG,CAAC,IAAI4hD,EAAE,GAAGqtP,GAAGjvS,GAAGquO,EAAE,GAAGzsL,EAAEjsD,EAAEisD,GAAG,EAAE3yB,EAAE2yB,IAAI,EAAER,EAAEQ,IAAI,EAAE5hD,IAAIquO,CAAC,CACpV,GADqV,OACjf6/E,IAAI,KAAO,GAAFloT,IAAOkoT,GAAG/mR,IAAI3xC,IAAI04T,GAAG/lT,OAAO3S,GAAGA,IAAI2oS,KAAIxlN,GAAEwlN,GAAE,KAAKC,GAAE,GAAG,EAAEn4R,EAAE8kS,MAAM,OAAO9kS,EAAEm8S,YAAYn8S,EAAEm8S,WAAWC,WAAWp8S,EAAED,EAAEC,EAAEq8S,aAAat8S,EAAEC,EAAED,EAAEC,EAAEq8S,YAAe,OAAOt8S,EAAE,CAAwC,GAAvCrQ,EAAEspS,GAAEA,IAAG,GAAGmuB,GAAGp4C,QAAQ,KAAK0lC,GAAGzK,GAAasI,GAAVtpR,EAAEmpR,MAAc,CAAC,GAAG,mBAAmBnpR,EAAEmyB,EAAE,CAAC9e,MAAMrT,EAAE8pR,eAAelhK,IAAI5oH,EAAE+pR,mBAAmBxjT,EAAE,GAAG4rD,GAAGA,EAAEnyB,EAAEy6G,gBAAgBtoF,EAAE0tD,aAAarxG,QAAQ4wO,EAAEjtL,EAAE83P,cAAc93P,EAAE83P,iBAAiB,IAAI7qE,EAAE3rF,WAAW,CAACthG,EAAEitL,EAAE4qE,WAAWj5S,EAAEquO,EAAE8qE,aAAav3P,EAAEysL,EAAE+qE,UAAU/qE,EAAEA,EAAEgrE,YAAY,IAAIj4P,EAAEqV,SAAS7U,EAAE6U,QAAQ,CAAC,MAAM4mO,GAAIj8O,EAAE,KACnf,MAAM5rD,CAAC,CAAC,IAAI28B,EAAE,EAAEmmD,GAAG,EAAE78E,GAAG,EAAE88E,EAAE,EAAEpf,EAAE,EAAE+sO,EAAEj3Q,EAAE8rQ,EAAE,KAAKtlS,EAAE,OAAO,CAAC,IAAI,IAAIqlS,EAAKoL,IAAI9kP,GAAG,IAAIphD,GAAG,IAAIkmS,EAAEzvO,WAAW6hB,EAAEnmD,EAAEnyB,GAAGkmS,IAAItkP,GAAG,IAAIysL,GAAG,IAAI63D,EAAEzvO,WAAWh7D,EAAE02B,EAAEk8M,GAAG,IAAI63D,EAAEzvO,WAAWtkC,GAAG+zQ,EAAEqC,UAAUj0S,QAAW,QAAQwmS,EAAEoL,EAAE5xO,aAAkBymO,EAAEmL,EAAEA,EAAEpL,EAAE,OAAO,CAAC,GAAGoL,IAAIj3Q,EAAE,MAAMx5B,EAA8C,GAA5CslS,IAAI35O,KAAKm3B,IAAIv4E,IAAIs4E,EAAEnmD,GAAG4oQ,IAAIn5O,KAAKuX,IAAIk1K,IAAI5yO,EAAE02B,GAAM,QAAQ2oQ,EAAEoL,EAAEjxO,aAAa,MAAU8lO,GAAJmL,EAAEnL,GAAM5qO,UAAU,CAAC+1O,EAAEpL,CAAC,CAAC15O,GAAG,IAAIk3B,IAAI,IAAI78E,EAAE,KAAK,CAAC6mC,MAAMg2C,EAAEu/D,IAAIp8I,EAAE,MAAM2lD,EAAE,KAAKA,EAAEA,GAAG,CAAC9e,MAAM,EAAEu1G,IAAI,EAAE,MAAMz2F,EAAE,KAAKu5P,GAAG,CAAC0V,YAAYphS,EAAEqhS,eAAelvQ,GAAG6uP,IAAG,EAAGue,GAAG,KAAKC,IAAG,EAAG/1O,GAAE1yE,EAAE,OAAOuqT,IAAI,CAAC,MAAMlzB,GAAI,GAAG,OACvgB3kN,GAAE,MAAMv3E,MAAM+3D,EAAE,MAAM2yP,GAAGnzO,GAAE2kN,GAAI3kN,GAAEA,GAAE2pO,UAAU,QAAO,OAAO3pO,IAAG81O,GAAG,KAAK91O,GAAE1yE,EAAE,OAAO,IAAIipB,EAAEz5B,EAAE,OAAOkjF,IAAG,CAAC,IAAIvwD,EAAEuwD,GAAEqyN,MAA+B,GAAvB,GAAF5iR,GAAMmgR,GAAG5vN,GAAE6wN,UAAU,IAAS,IAAFphR,EAAM,CAAC,IAAIq6B,EAAEk2B,GAAEoyN,UAAU,GAAG,OAAOtoP,EAAE,CAAC,IAAIrmD,EAAEqmD,EAAEse,IAAI,OAAO3kE,IAAI,oBAAoBA,EAAEA,EAAE,MAAMA,EAAE64Q,QAAQ,KAAK,CAAC,CAAC,OAAS,KAAF7sP,GAAQ,KAAK,EAAEskS,GAAG/zO,IAAGA,GAAEqyN,QAAQ,EAAE,MAAM,KAAK,EAAE0hB,GAAG/zO,IAAGA,GAAEqyN,QAAQ,EAAE8hB,GAAGn0O,GAAEoyN,UAAUpyN,IAAG,MAAM,KAAK,KAAKA,GAAEqyN,QAAQ,KAAK,MAAM,KAAK,KAAKryN,GAAEqyN,QAAQ,KAAK8hB,GAAGn0O,GAAEoyN,UAAUpyN,IAAG,MAAM,KAAK,EAAEm0O,GAAGn0O,GAAEoyN,UAAUpyN,IAAG,MAAM,KAAK,EAAM4zO,GAAGr9R,EAAPmyB,EAAEs3B,IAAU,IAAI4jN,EAAEl7O,EAAE0pP,UAAUyhB,GAAGnrQ,GAAG,OACnfk7O,GAAGiwB,GAAGjwB,GAAG5jN,GAAEA,GAAE2pO,UAAU,CAAC,CAAC,MAAMhlB,GAAI,GAAG,OAAO3kN,GAAE,MAAMv3E,MAAM+3D,EAAE,MAAM2yP,GAAGnzO,GAAE2kN,GAAI3kN,GAAEA,GAAE2pO,UAAU,QAAO,OAAO3pO,IAAkD,GAA/Cv8E,EAAEw+S,GAAGn4P,EAAE41P,KAAKjwR,EAAEhsB,EAAEk0T,YAAYphS,EAAE9yB,EAAEm0T,eAAkB9tQ,IAAIr6B,GAAGA,GAAGA,EAAEuhH,eAAewuK,GAAG/vR,EAAEuhH,cAAcl5E,gBAAgBroC,GAAG,CAAC,OAAO8G,GAAGspR,GAAGpwR,KAAKq6B,EAAEvzB,EAAEqT,WAAc,KAARnmC,EAAE8yB,EAAE4oH,OAAiB17I,EAAEqmD,GAAG,mBAAmBr6B,GAAGA,EAAE4wR,eAAev2P,EAAEr6B,EAAE6wR,aAAa5iS,KAAKK,IAAIta,EAAEgsB,EAAEl0B,MAAMK,UAAU6H,GAAGqmD,EAAEr6B,EAAEuhH,eAAe7oH,WAAW2hC,EAAEssD,aAAarxG,QAASy7S,eAAe/8S,EAAEA,EAAE+8S,eAAe93P,EAAEj5B,EAAEu/Q,YAAYpzS,OAAOgoS,EAAElmR,KAAKK,IAAIwY,EAAEqT,MAAM8e,GAAGnyB,OAAE,IACpfA,EAAE4oH,IAAIykJ,EAAElmR,KAAKK,IAAIwY,EAAE4oH,IAAIz2F,IAAIjlD,EAAEuyR,QAAQ4N,EAAErtQ,IAAImyB,EAAEnyB,EAAEA,EAAEqtQ,EAAEA,EAAEl7O,GAAGA,EAAE62P,GAAG9vR,EAAEm0Q,GAAGt8R,EAAEi4S,GAAG9vR,EAAE8G,GAAGmyB,GAAGphD,IAAI,IAAI7D,EAAEumJ,YAAYvmJ,EAAE88S,aAAa73P,EAAE5wC,MAAMrU,EAAEg9S,eAAe/3P,EAAEixF,QAAQl2I,EAAEi9S,YAAYp5S,EAAEwQ,MAAMrU,EAAEk9S,cAAcr5S,EAAEqyI,WAAU7vF,EAAEA,EAAEguQ,eAAgBC,SAASrvQ,EAAE5wC,KAAK4wC,EAAEixF,QAAQl2I,EAAEu0T,kBAAkBp0B,EAAErtQ,GAAG9yB,EAAEw0T,SAASnuQ,GAAGrmD,EAAEuyR,OAAO1uR,EAAEwQ,KAAKxQ,EAAEqyI,UAAU7vF,EAAEouQ,OAAO5wT,EAAEwQ,KAAKxQ,EAAEqyI,QAAQl2I,EAAEw0T,SAASnuQ,OAAQA,EAAE,GAAG,IAAIrmD,EAAEgsB,EAAEhsB,EAAEA,EAAEg0D,YAAY,IAAIh0D,EAAEs6D,UAAUjU,EAAEtsD,KAAK,CAACmrB,QAAQllB,EAAEzF,KAAKyF,EAAE63D,WAAWH,IAAI13D,EAAE8yG,YAAmD,IAAvC,oBAAoB9mF,EAAEqxD,OAAOrxD,EAAEqxD,QAAYrxD,EACrf,EAAEA,EAAEq6B,EAAEluD,OAAO6zB,KAAIhsB,EAAEqmD,EAAEr6B,IAAK9G,QAAQ2yC,WAAW73D,EAAEzF,KAAKyF,EAAEklB,QAAQ4tF,UAAU9yG,EAAE03D,GAAG,CAACo8O,KAAKyK,GAAGC,GAAGD,GAAG,KAAKllT,EAAEw/Q,QAAQ/uQ,EAAEyyE,GAAE1yE,EAAE,OAAO,IAAImiB,EAAE3yB,EAAE,OAAOkjF,IAAG,CAAC,IAAI8jN,EAAE9jN,GAAEqyN,MAAgC,GAAxB,GAAFvO,GAAMwvB,GAAG7jS,EAAEuwD,GAAEoyN,UAAUpyN,IAAQ,IAAF8jN,EAAM,CAACh6O,OAAE,EAAO,IAAIw7O,EAAEtlN,GAAE5X,IAAI,GAAG,OAAOk9N,EAAE,CAAC,IAAI4H,EAAEltN,GAAE6wN,UAAiB7wN,GAAE8lM,IAA8Bh8N,EAAEojP,EAAE,oBAAoB5H,EAAEA,EAAEx7O,GAAGw7O,EAAEhpB,QAAQxyN,CAAC,CAAC,CAACk2B,GAAEA,GAAE2pO,UAAU,CAAC,CAAC,MAAMhlB,GAAI,GAAG,OAAO3kN,GAAE,MAAMv3E,MAAM+3D,EAAE,MAAM2yP,GAAGnzO,GAAE2kN,GAAI3kN,GAAEA,GAAE2pO,UAAU,QAAO,OAAO3pO,IAAGA,GAAE,KAAKqlO,KAAK9e,GAAEtpS,CAAC,MAAMH,EAAEw/Q,QAAQ/uQ,EAAE,GAAG4nT,GAAGA,IAAG,EAAGC,GAAGt4T,EAAEu4T,GAAGt4T,OAAO,IAAIijF,GAAE1yE,EAAE,OAAO0yE,IAAGjjF,EACpfijF,GAAE2pO,WAAW3pO,GAAE2pO,WAAW,KAAa,EAAR3pO,GAAEqyN,SAAUvO,EAAE9jN,IAAIphB,QAAQ,KAAKklO,EAAE+M,UAAU,MAAM7wN,GAAEjjF,EAAqF,GAAlE,KAAjBuQ,EAAExQ,EAAEq5S,gBAAqB2c,GAAG,MAAM,IAAIxlT,EAAExQ,IAAI44T,GAAGD,MAAMA,GAAG,EAAEC,GAAG54T,GAAG24T,GAAG,EAAEloT,EAAEA,EAAEsjS,UAAamT,IAAI,oBAAoBA,GAAGmU,kBAAkB,IAAInU,GAAGmU,kBAAkBpU,GAAGx2S,OAAE,EAAO,MAAsB,GAAhBA,EAAE+uQ,QAAQ+1B,OAAU,CAAC,MAAM1N,GAAI,CAAW,GAAVwxB,GAAGr5T,EAAEioS,MAAQ2tB,GAAG,MAAMA,IAAG,EAAG51T,EAAE61T,GAAGA,GAAG,KAAK71T,EAAE,OAAG,KAAO,EAAFypS,KAAiBuf,KAAL,IAAqB,CACtX,SAAS+R,KAAK,KAAK,OAAO73O,IAAG,CAAC,IAAIljF,EAAEkjF,GAAEoyN,UAAU2jB,IAAI,OAAOD,KAAK,KAAa,EAAR91O,GAAEqyN,OAASK,GAAG1yN,GAAE81O,MAAMC,IAAG,GAAI,KAAK/1O,GAAE8lM,KAAKyuC,GAAGz3T,EAAEkjF,KAAI0yN,GAAG1yN,GAAE81O,MAAMC,IAAG,IAAK,IAAIh5T,EAAEijF,GAAEqyN,MAAM,KAAO,IAAFt1S,IAAQq2T,GAAGt2T,EAAEkjF,IAAG,KAAO,IAAFjjF,IAAQo4T,KAAKA,IAAG,EAAGtP,GAAG,IAAG,WAAgB,OAAL4Q,KAAY,IAAI,KAAIz2O,GAAEA,GAAE2pO,UAAU,CAAC,CAAC,SAAS8M,KAAK,GAAG,KAAKpB,GAAG,CAAC,IAAIv4T,EAAE,GAAGu4T,GAAG,GAAGA,GAAS,OAANA,GAAG,GAAUzP,GAAG9oT,EAAEs7T,GAAG,CAAC,OAAM,CAAE,CAAC,SAAS5E,GAAG12T,EAAEC,GAAGu4T,GAAG93T,KAAKT,EAAED,GAAGq4T,KAAKA,IAAG,EAAGtP,GAAG,IAAG,WAAgB,OAAL4Q,KAAY,IAAI,IAAG,CAAC,SAASlD,GAAGz2T,EAAEC,GAAGw4T,GAAG/3T,KAAKT,EAAED,GAAGq4T,KAAKA,IAAG,EAAGtP,GAAG,IAAG,WAAgB,OAAL4Q,KAAY,IAAI,IAAG,CAChe,SAAS2B,KAAK,GAAG,OAAOhD,GAAG,OAAM,EAAG,IAAIt4T,EAAEs4T,GAAW,GAARA,GAAG,KAAQ,KAAO,GAAF7uB,IAAM,MAAM99R,MAAM+3D,EAAE,MAAM,IAAIzjE,EAAEwpS,GAAEA,IAAG,GAAG,IAAIh5R,EAAEgoT,GAAGA,GAAG,GAAG,IAAI,IAAIjoT,EAAE,EAAEA,EAAEC,EAAE3R,OAAO0R,GAAG,EAAE,CAAC,IAAIrQ,EAAEsQ,EAAED,GAAGhG,EAAEiG,EAAED,EAAE,GAAGipB,EAAEt5B,EAAE0O,QAAyB,GAAjB1O,EAAE0O,aAAQ,EAAU,oBAAoB4qB,EAAE,IAAIA,GAAG,CAAC,MAAM2yB,GAAG,GAAG,OAAO5hD,EAAE,MAAMmB,MAAM+3D,EAAE,MAAM2yP,GAAG7rT,EAAE4hD,EAAE,CAAC,CAAY,IAAX37C,EAAE+nT,GAAGA,GAAG,GAAOhoT,EAAE,EAAEA,EAAEC,EAAE3R,OAAO0R,GAAG,EAAE,CAACrQ,EAAEsQ,EAAED,GAAGhG,EAAEiG,EAAED,EAAE,GAAG,IAAI,IAAIo7C,EAAEzrD,EAAE4tB,OAAO5tB,EAAE0O,QAAQ+8C,GAAG,CAAC,MAAMQ,GAAG,GAAG,OAAO5hD,EAAE,MAAMmB,MAAM+3D,EAAE,MAAM2yP,GAAG7rT,EAAE4hD,EAAE,CAAC,CAAC,IAAIR,EAAE5rD,EAAEw/Q,QAAQstC,YAAY,OAAOlhQ,GAAG5rD,EAAE4rD,EAAEihQ,WAAWjhQ,EAAEihQ,WAAW,KAAa,EAARjhQ,EAAE2pP,QAAU3pP,EAAEkW,QACjf,KAAKlW,EAAEmoP,UAAU,MAAMnoP,EAAE5rD,EAAW,OAATypS,GAAExpS,EAAE+oT,MAAW,CAAE,CAAC,SAASuS,GAAGv7T,EAAEC,EAAEwQ,GAAyBw6S,GAAGjrT,EAAfC,EAAE01T,GAAG31T,EAAfC,EAAEs1T,GAAG9kT,EAAExQ,GAAY,IAAWA,EAAE0rT,KAAe,QAAV3rT,EAAEm5T,GAAGn5T,EAAE,MAAcg6S,GAAGh6S,EAAE,EAAEC,GAAGo5T,GAAGr5T,EAAEC,GAAG,CAC5I,SAASo2T,GAAGr2T,EAAEC,GAAG,GAAG,IAAID,EAAEgpR,IAAIuyC,GAAGv7T,EAAEA,EAAEC,QAAQ,IAAI,IAAIwQ,EAAEzQ,EAAEolC,OAAO,OAAO30B,GAAG,CAAC,GAAG,IAAIA,EAAEu4Q,IAAI,CAACuyC,GAAG9qT,EAAEzQ,EAAEC,GAAG,KAAK,CAAM,GAAG,IAAIwQ,EAAEu4Q,IAAI,CAAC,IAAIx4Q,EAAEC,EAAEsjS,UAAU,GAAG,oBAAoBtjS,EAAEuC,KAAKivR,0BAA0B,oBAAoBzxR,EAAEulT,oBAAoB,OAAOC,KAAKA,GAAGrkR,IAAInhC,IAAI,CAAW,IAAIrQ,EAAE21T,GAAGrlT,EAAnBzQ,EAAEu1T,GAAGt1T,EAAED,GAAgB,GAA4B,GAAzBirT,GAAGx6S,EAAEtQ,GAAGA,EAAEwrT,KAAkB,QAAbl7S,EAAE0oT,GAAG1oT,EAAE,IAAeupS,GAAGvpS,EAAE,EAAEtQ,GAAGk5T,GAAG5oT,EAAEtQ,QAAQ,GAAG,oBAAoBqQ,EAAEulT,oBAAoB,OAAOC,KAAKA,GAAGrkR,IAAInhC,IAAI,IAAIA,EAAEulT,kBAAkB91T,EAAED,EAAE,CAAC,MAAMwK,GAAG,CAAC,KAAK,CAAC,CAACiG,EAAEA,EAAE20B,MAAM,CAAC,CAC3d,SAASo1R,GAAGx6T,EAAEC,EAAEwQ,GAAG,IAAID,EAAExQ,EAAEu6T,UAAU,OAAO/pT,GAAGA,EAAEmC,OAAO1S,GAAGA,EAAE0rT,KAAK3rT,EAAEw5S,aAAax5S,EAAEu5S,eAAe9oS,EAAEk4R,KAAI3oS,IAAI4oS,GAAEn4R,KAAKA,IAAI,IAAIuyE,IAAG,IAAIA,KAAM,SAAF4lN,MAAcA,IAAG,IAAIX,KAAIqvB,GAAGuC,GAAG75T,EAAE,GAAGi4T,IAAIxnT,GAAG4oT,GAAGr5T,EAAEC,EAAE,CAAC,SAASu3T,GAAGx3T,EAAEC,GAAG,IAAIwQ,EAAEzQ,EAAE+zS,UAAU,OAAOtjS,GAAGA,EAAEkC,OAAO1S,GAAO,KAAJA,EAAE,KAAmB,KAAO,GAAhBA,EAAED,EAAEitT,OAAehtT,EAAE,EAAE,KAAO,EAAFA,GAAKA,EAAE,KAAK2oT,KAAK,EAAE,GAAG,IAAIkQ,KAAKA,GAAGd,IAAuB,KAAnB/3T,EAAE65S,GAAG,UAAUgf,OAAY74T,EAAE,WAAWwQ,EAAEk7S,KAAe,QAAV3rT,EAAEm5T,GAAGn5T,EAAEC,MAAc+5S,GAAGh6S,EAAEC,EAAEwQ,GAAG4oT,GAAGr5T,EAAEyQ,GAAG,CAUpZ,SAAS+qT,GAAGx7T,EAAEC,EAAEwQ,EAAED,GAAG9O,KAAKsnR,IAAIhpR,EAAE0B,KAAKgB,IAAI+N,EAAE/O,KAAKogE,QAAQpgE,KAAKglB,MAAMhlB,KAAK0jC,OAAO1jC,KAAKqyS,UAAUryS,KAAKsR,KAAKtR,KAAKmjS,YAAY,KAAKnjS,KAAKe,MAAM,EAAEf,KAAK4pE,IAAI,KAAK5pE,KAAKgtT,aAAazuT,EAAEyB,KAAKooT,aAAapoT,KAAKonS,cAAcpnS,KAAK6oT,YAAY7oT,KAAKwsT,cAAc,KAAKxsT,KAAKurT,KAAKz8S,EAAE9O,KAAK6zS,MAAM,EAAE7zS,KAAKkrT,WAAWlrT,KAAKorT,YAAYprT,KAAKmrT,WAAW,KAAKnrT,KAAKkoT,WAAWloT,KAAKsoT,MAAM,EAAEtoT,KAAK4zS,UAAU,IAAI,CAAC,SAASkZ,GAAGxuT,EAAEC,EAAEwQ,EAAED,GAAG,OAAO,IAAIgrT,GAAGx7T,EAAEC,EAAEwQ,EAAED,EAAE,CAAC,SAASgiT,GAAGxyT,GAAiB,UAAdA,EAAEA,EAAE4B,aAAuB5B,EAAE2xR,iBAAiB,CAEte,SAASo7B,GAAG/sT,EAAEC,GAAG,IAAIwQ,EAAEzQ,EAAEs1S,UACuB,OADb,OAAO7kS,IAAGA,EAAE+9S,GAAGxuT,EAAEgpR,IAAI/oR,EAAED,EAAE0C,IAAI1C,EAAEitT,OAAQpoB,YAAY7kS,EAAE6kS,YAAYp0R,EAAEuC,KAAKhT,EAAEgT,KAAKvC,EAAEsjS,UAAU/zS,EAAE+zS,UAAUtjS,EAAE6kS,UAAUt1S,EAAEA,EAAEs1S,UAAU7kS,IAAIA,EAAEi+S,aAAazuT,EAAEwQ,EAAEuC,KAAKhT,EAAEgT,KAAKvC,EAAE8kS,MAAM,EAAE9kS,EAAEo8S,WAAW,KAAKp8S,EAAEq8S,YAAY,KAAKr8S,EAAEm8S,WAAW,MAAMn8S,EAAEm5S,WAAW5pT,EAAE4pT,WAAWn5S,EAAEu5S,MAAMhqT,EAAEgqT,MAAMv5S,EAAEiW,MAAM1mB,EAAE0mB,MAAMjW,EAAEy9S,cAAcluT,EAAEkuT,cAAcz9S,EAAEq4R,cAAc9oS,EAAE8oS,cAAcr4R,EAAE85S,YAAYvqT,EAAEuqT,YAAYtqT,EAAED,EAAE8pT,aAAar5S,EAAEq5S,aAAa,OAAO7pT,EAAE,KAAK,CAAC+pT,MAAM/pT,EAAE+pT,MAAMD,aAAa9pT,EAAE8pT,cAC3et5S,EAAEqxD,QAAQ9hE,EAAE8hE,QAAQrxD,EAAEhO,MAAMzC,EAAEyC,MAAMgO,EAAE66D,IAAItrE,EAAEsrE,IAAW76D,CAAC,CACxD,SAASy8S,GAAGltT,EAAEC,EAAEwQ,EAAED,EAAErQ,EAAEqK,GAAG,IAAIivB,EAAE,EAAM,GAAJjpB,EAAExQ,EAAK,oBAAoBA,EAAEwyT,GAAGxyT,KAAKy5B,EAAE,QAAQ,GAAG,kBAAkBz5B,EAAEy5B,EAAE,OAAOz5B,EAAE,OAAOA,GAAG,KAAKooS,EAAG,OAAOilB,GAAG58S,EAAE2V,SAASjmB,EAAEqK,EAAEvK,GAAG,KAAKqpS,EAAG7vQ,EAAE,EAAEt5B,GAAG,GAAG,MAAM,KAAK2nS,EAAGruQ,EAAE,EAAEt5B,GAAG,EAAE,MAAM,KAAK6nS,EAAG,OAAOhoS,EAAEwuT,GAAG,GAAG/9S,EAAExQ,EAAI,EAAFE,IAAO0kS,YAAYmD,EAAGhoS,EAAEgT,KAAKg1R,EAAGhoS,EAAEgqT,MAAMx/S,EAAExK,EAAE,KAAK6oS,EAAG,OAAO7oS,EAAEwuT,GAAG,GAAG/9S,EAAExQ,EAAEE,IAAK6S,KAAK61R,EAAG7oS,EAAE6kS,YAAYgE,EAAG7oS,EAAEgqT,MAAMx/S,EAAExK,EAAE,KAAKgpS,EAAG,OAAOhpS,EAAEwuT,GAAG,GAAG/9S,EAAExQ,EAAEE,IAAK0kS,YAAYmE,EAAGhpS,EAAEgqT,MAAMx/S,EAAExK,EAAE,KAAKupS,EAAG,OAAOwqB,GAAGtjT,EAAEtQ,EAAEqK,EAAEvK,GAAG,KAAKupS,EAAG,OAAOxpS,EAAEwuT,GAAG,GAAG/9S,EAAExQ,EAAEE,IAAK0kS,YAAY2E,EAAGxpS,EAAEgqT,MAAMx/S,EAAExK,EAAE,QAAQ,GAAG,kBAChfA,GAAG,OAAOA,EAAE,OAAOA,EAAE4xR,UAAU,KAAKsW,EAAGzuQ,EAAE,GAAG,MAAMz5B,EAAE,KAAKgxS,EAAGv3Q,EAAE,EAAE,MAAMz5B,EAAE,KAAKqoS,EAAG5uQ,EAAE,GAAG,MAAMz5B,EAAE,KAAKipS,EAAGxvQ,EAAE,GAAG,MAAMz5B,EAAE,KAAKkpS,EAAGzvQ,EAAE,GAAGjpB,EAAE,KAAK,MAAMxQ,EAAE,KAAKmpS,EAAG1vQ,EAAE,GAAG,MAAMz5B,EAAE,MAAM2L,MAAM+3D,EAAE,IAAI,MAAM1jE,EAAEA,SAASA,EAAE,KAAuD,OAAjDC,EAAEuuT,GAAG/0R,EAAEhpB,EAAExQ,EAAEE,IAAK0kS,YAAY7kS,EAAEC,EAAE+S,KAAKxC,EAAEvQ,EAAE+pT,MAAMx/S,EAASvK,CAAC,CAAC,SAASotT,GAAGrtT,EAAEC,EAAEwQ,EAAED,GAA2B,OAAxBxQ,EAAEwuT,GAAG,EAAExuT,EAAEwQ,EAAEvQ,IAAK+pT,MAAMv5S,EAASzQ,CAAC,CAAC,SAAS+zT,GAAG/zT,EAAEC,EAAEwQ,EAAED,GAA6C,OAA1CxQ,EAAEwuT,GAAG,GAAGxuT,EAAEwQ,EAAEvQ,IAAK4kS,YAAY0E,EAAGvpS,EAAEgqT,MAAMv5S,EAASzQ,CAAC,CAAC,SAASgtT,GAAGhtT,EAAEC,EAAEwQ,GAA8B,OAA3BzQ,EAAEwuT,GAAG,EAAExuT,EAAE,KAAKC,IAAK+pT,MAAMv5S,EAASzQ,CAAC,CACnc,SAASotT,GAAGptT,EAAEC,EAAEwQ,GAA8J,OAA3JxQ,EAAEuuT,GAAG,EAAE,OAAOxuT,EAAEomB,SAASpmB,EAAEomB,SAAS,GAAGpmB,EAAE0C,IAAIzC,IAAK+pT,MAAMv5S,EAAExQ,EAAE8zS,UAAU,CAACuD,cAAct3S,EAAEs3S,cAAcmkB,gBAAgB,KAAKtO,eAAentT,EAAEmtT,gBAAuBltT,CAAC,CACtL,SAASy7T,GAAG17T,EAAEC,EAAEwQ,GAAG/O,KAAKsnR,IAAI/oR,EAAEyB,KAAK41S,cAAct3S,EAAE0B,KAAKu4T,aAAav4T,KAAK64T,UAAU74T,KAAK89Q,QAAQ99Q,KAAK+5T,gBAAgB,KAAK/5T,KAAK04T,eAAe,EAAE14T,KAAK0xT,eAAe1xT,KAAKiH,QAAQ,KAAKjH,KAAK21S,QAAQ5mS,EAAE/O,KAAK43T,aAAa,KAAK53T,KAAK83T,iBAAiB,EAAE93T,KAAKu4S,WAAWF,GAAG,GAAGr4S,KAAK63T,gBAAgBxf,IAAI,GAAGr4S,KAAKg4S,eAAeh4S,KAAKw4T,cAAcx4T,KAAKgvT,iBAAiBhvT,KAAK43S,aAAa53S,KAAK83S,YAAY93S,KAAK63S,eAAe73S,KAAK23S,aAAa,EAAE33S,KAAKi4S,cAAcI,GAAG,GAAGr4S,KAAKi6T,gCAAgC,IAAI,CAEjf,SAASC,GAAG57T,EAAEC,EAAEwQ,EAAED,GAAG,IAAIrQ,EAAEF,EAAEu/Q,QAAQh1Q,EAAEmhT,KAAKlyR,EAAEmyR,GAAGzrT,GAAGH,EAAE,GAAGyQ,EAAE,CAAqBxQ,EAAE,CAAC,GAAGo1S,GAA1B5kS,EAAEA,EAAEi7S,mBAA8Bj7S,GAAG,IAAIA,EAAEu4Q,IAAI,MAAMr9Q,MAAM+3D,EAAE,MAAM,IAAI9X,EAAEn7C,EAAE,EAAE,CAAC,OAAOm7C,EAAEo9N,KAAK,KAAK,EAAEp9N,EAAEA,EAAEmoP,UAAUprS,QAAQ,MAAM1I,EAAE,KAAK,EAAE,GAAGymT,GAAG96P,EAAE54C,MAAM,CAAC44C,EAAEA,EAAEmoP,UAAUgT,0CAA0C,MAAM9mT,CAAC,EAAE2rD,EAAEA,EAAExmB,MAAM,OAAO,OAAOwmB,GAAG,MAAMjgD,MAAM+3D,EAAE,KAAM,CAAC,GAAG,IAAIjzD,EAAEu4Q,IAAI,CAAC,IAAI58N,EAAE37C,EAAEuC,KAAK,GAAG0zS,GAAGt6P,GAAG,CAAC37C,EAAEo2S,GAAGp2S,EAAE27C,EAAER,GAAG,MAAM5rD,CAAC,CAAC,CAACyQ,EAAEm7C,CAAC,MAAMn7C,EAAE41S,GACrW,OADwW,OAAOpmT,EAAE0I,QAAQ1I,EAAE0I,QAAQ8H,EAAExQ,EAAEmzT,eAAe3iT,GAAExQ,EAAE6qT,GAAGtgT,EAAEivB,IAAKkmQ,QAAQ,CAAC9zQ,QAAQ7rB,GAAuB,QAApBwQ,OAAE,IAASA,EAAE,KAAKA,KAC1evQ,EAAEqC,SAASkO,GAAGy6S,GAAG9qT,EAAEF,GAAG4rT,GAAG1rT,EAAEs5B,EAAEjvB,GAAUivB,CAAC,CAAC,SAASoiS,GAAG77T,GAAe,OAAZA,EAAEA,EAAEw/Q,SAAc94P,OAAyB1mB,EAAE0mB,MAAMsiQ,IAAoDhpR,EAAE0mB,MAAMqtR,WAAhF,IAA0F,CAAC,SAAS+nB,GAAG97T,EAAEC,GAAqB,GAAG,QAArBD,EAAEA,EAAE8oS,gBAA2B,OAAO9oS,EAAEy1S,WAAW,CAAC,IAAIhlS,EAAEzQ,EAAE0zT,UAAU1zT,EAAE0zT,UAAU,IAAIjjT,GAAGA,EAAExQ,EAAEwQ,EAAExQ,CAAC,CAAC,CAAC,SAAS87T,GAAG/7T,EAAEC,GAAG67T,GAAG97T,EAAEC,IAAID,EAAEA,EAAEs1S,YAAYwmB,GAAG97T,EAAEC,EAAE,CAC1V,SAAS+7T,GAAGh8T,EAAEC,EAAEwQ,GAAG,IAAID,EAAE,MAAMC,GAAG,MAAMA,EAAEwrT,kBAAkBxrT,EAAEwrT,iBAAiBC,gBAAgB,KAAiK,GAA5JzrT,EAAE,IAAIirT,GAAG17T,EAAEC,EAAE,MAAMwQ,IAAG,IAAKA,EAAE4mS,SAASp3S,EAAEuuT,GAAG,EAAE,KAAK,KAAK,IAAIvuT,EAAE,EAAE,IAAIA,EAAE,EAAE,GAAGwQ,EAAE+uQ,QAAQv/Q,EAAEA,EAAE8zS,UAAUtjS,EAAE65S,GAAGrqT,GAAGD,EAAE2kT,IAAIl0S,EAAE+uQ,QAAQ+kC,GAAG,IAAIvkT,EAAEihE,SAASjhE,EAAE26D,WAAW36D,GAAMwQ,EAAE,IAAIxQ,EAAE,EAAEA,EAAEwQ,EAAE1R,OAAOkB,IAAI,CAAQ,IAAIG,GAAXF,EAAEuQ,EAAExQ,IAAWywT,YAAYtwT,EAAEA,EAAEF,EAAEqqS,SAAS,MAAM75R,EAAEkrT,gCAAgClrT,EAAEkrT,gCAAgC,CAAC17T,EAAEE,GAAGsQ,EAAEkrT,gCAAgCj7T,KAAKT,EAAEE,EAAE,CAACuB,KAAKy6T,cAAc1rT,CAAC,CAChS,SAAS2rT,GAAGp8T,GAAG,SAASA,GAAG,IAAIA,EAAEihE,UAAU,IAAIjhE,EAAEihE,UAAU,KAAKjhE,EAAEihE,WAAW,IAAIjhE,EAAEihE,UAAU,iCAAiCjhE,EAAE+yS,WAAW,CAElU,SAASspB,GAAGr8T,EAAEC,EAAEwQ,EAAED,EAAErQ,GAAG,IAAIqK,EAAEiG,EAAE2mT,oBAAoB,GAAG5sT,EAAE,CAAC,IAAIivB,EAAEjvB,EAAE2xT,cAAc,GAAG,oBAAoBh8T,EAAE,CAAC,IAAIyrD,EAAEzrD,EAAEA,EAAE,WAAW,IAAIH,EAAE67T,GAAGpiS,GAAGmyB,EAAEnkD,KAAKzH,EAAE,CAAC,CAAC47T,GAAG37T,EAAEw5B,EAAEz5B,EAAEG,EAAE,KAAK,CAAmD,GAAlDqK,EAAEiG,EAAE2mT,oBAD1K,SAAYp3T,EAAEC,GAA0H,GAAvHA,IAA2DA,MAAvDA,EAAED,EAAE,IAAIA,EAAEihE,SAASjhE,EAAEg7D,gBAAgBh7D,EAAE8+D,WAAW,OAAa,IAAI7+D,EAAEghE,WAAWhhE,EAAE4kO,aAAa,qBAAwB5kO,EAAE,IAAI,IAAIwQ,EAAEA,EAAEzQ,EAAEoiE,WAAWpiE,EAAEm6D,YAAY1pD,GAAG,OAAO,IAAIurT,GAAGh8T,EAAE,EAAEC,EAAE,CAACo3S,SAAQ,QAAI,EAAO,CAClCilB,CAAG7rT,EAAED,GAAGipB,EAAEjvB,EAAE2xT,cAAiB,oBAAoBh8T,EAAE,CAAC,IAAIisD,EAAEjsD,EAAEA,EAAE,WAAW,IAAIH,EAAE67T,GAAGpiS,GAAG2yB,EAAE3kD,KAAKzH,EAAE,CAAC,CAACs6T,IAAG,WAAWsB,GAAG37T,EAAEw5B,EAAEz5B,EAAEG,EAAE,GAAE,CAAC,OAAO07T,GAAGpiS,EAAE,CAGpG,SAAS8iS,GAAGv8T,EAAEC,GAAG,IAAIwQ,EAAE,EAAEzK,UAAUlH,aAAQ,IAASkH,UAAU,GAAGA,UAAU,GAAG,KAAK,IAAIo2T,GAAGn8T,GAAG,MAAM0L,MAAM+3D,EAAE,MAAM,OATnV,SAAY1jE,EAAEC,EAAEwQ,GAAG,IAAID,EAAE,EAAExK,UAAUlH,aAAQ,IAASkH,UAAU,GAAGA,UAAU,GAAG,KAAK,MAAM,CAAC4rR,SAASuW,EAAGzlS,IAAI,MAAM8N,EAAE,KAAK,GAAGA,EAAE4V,SAASpmB,EAAEs3S,cAAcr3S,EAAEktT,eAAe18S,EAAE,CASgL+rT,CAAGx8T,EAAEC,EAAE,KAAKwQ,EAAE,CA1BxW2nT,GAAG,SAASp4T,EAAEC,EAAEwQ,GAAG,IAAID,EAAEvQ,EAAE+pT,MAAM,GAAG,OAAOhqT,EAAE,GAAGA,EAAEkuT,gBAAgBjuT,EAAEyuT,cAAc9mB,GAAEpoB,QAAQyqC,IAAG,MAAQ,IAAG,KAAKx5S,EAAED,GAAoC,CAAO,OAANy5S,IAAG,EAAUhqT,EAAE+oR,KAAK,KAAK,EAAEmqC,GAAGlzT,GAAG6uT,KAAK,MAAM,KAAK,EAAEf,GAAG9tT,GAAG,MAAM,KAAK,EAAEymT,GAAGzmT,EAAE+S,OAAO8zS,GAAG7mT,GAAG,MAAM,KAAK,EAAE4tT,GAAG5tT,EAAEA,EAAE8zS,UAAUuD,eAAe,MAAM,KAAK,GAAG9mS,EAAEvQ,EAAEiuT,cAAczvT,MAAM,IAAI0B,EAAEF,EAAE+S,KAAKozR,SAASO,GAAE0iB,GAAGlpT,EAAEupT,eAAevpT,EAAEupT,cAAcl5S,EAAE,MAAM,KAAK,GAAG,GAAG,OAAOvQ,EAAE6oS,cAAe,OAAG,KAAKr4R,EAAExQ,EAAEymB,MAAMkjS,YAAmB+J,GAAG3zT,EAAEC,EAAEwQ,IAAGk2R,GAAE4B,GAAY,EAAVA,GAAE/oB,SAA8B,QAAnBv/Q,EAAEqyT,GAAGtyT,EAAEC,EAAEwQ,IAC/exQ,EAAE6hE,QAAQ,MAAK6kO,GAAE4B,GAAY,EAAVA,GAAE/oB,SAAW,MAAM,KAAK,GAA0B,GAAvBhvQ,EAAE,KAAKC,EAAExQ,EAAE2pT,YAAe,KAAa,GAAR5pT,EAAEu1S,OAAU,CAAC,GAAG/kS,EAAE,OAAOikT,GAAGz0T,EAAEC,EAAEwQ,GAAGxQ,EAAEs1S,OAAO,EAAE,CAA6F,GAA1E,QAAlBp1S,EAAEF,EAAE6oS,iBAAyB3oS,EAAEk0T,UAAU,KAAKl0T,EAAEo0T,KAAK,KAAKp0T,EAAEysT,WAAW,MAAMjmB,GAAE4B,GAAEA,GAAE/oB,SAAYhvQ,EAAE,MAAW,OAAO,KAAK,KAAK,GAAG,KAAK,GAAG,OAAOvQ,EAAE+pT,MAAM,EAAE2I,GAAG3yT,EAAEC,EAAEwQ,GAAG,OAAO6hT,GAAGtyT,EAAEC,EAAEwQ,EAAE,CAD7Lw5S,GAAG,KAAa,MAARjqT,EAAEu1S,MACmL,MAAM0U,IAAG,EAAa,OAAVhqT,EAAE+pT,MAAM,EAAS/pT,EAAE+oR,KAAK,KAAK,EAA+I,GAA7Ix4Q,EAAEvQ,EAAE+S,KAAK,OAAOhT,IAAIA,EAAEs1S,UAAU,KAAKr1S,EAAEq1S,UAAU,KAAKr1S,EAAEs1S,OAAO,GAAGv1S,EAAEC,EAAEyuT,aAAavuT,EAAEomT,GAAGtmT,EAAEqnS,GAAE9nB,SAASqqC,GAAG5pT,EAAEwQ,GAAGtQ,EAAEsvT,GAAG,KAAKxvT,EAAEuQ,EAAExQ,EAAEG,EAAEsQ,GAAGxQ,EAAEs1S,OAAO,EAAK,kBACrep1S,GAAG,OAAOA,GAAG,oBAAoBA,EAAE44Q,aAAQ,IAAS54Q,EAAEyxR,SAAS,CAAiD,GAAhD3xR,EAAE+oR,IAAI,EAAE/oR,EAAE6oS,cAAc,KAAK7oS,EAAEsqT,YAAY,KAAQ7D,GAAGl2S,GAAG,CAAC,IAAIhG,GAAE,EAAGs8S,GAAG7mT,EAAE,MAAMuK,GAAE,EAAGvK,EAAE6oS,cAAc,OAAO3oS,EAAEoyC,YAAO,IAASpyC,EAAEoyC,MAAMpyC,EAAEoyC,MAAM,KAAK+3Q,GAAGrqT,GAAG,IAAIw5B,EAAEjpB,EAAE0xR,yBAAyB,oBAAoBzoQ,GAAG+xR,GAAGvrT,EAAEuQ,EAAEipB,EAAEz5B,GAAGG,EAAE+uS,QAAQuc,GAAGxrT,EAAE8zS,UAAU5zS,EAAEA,EAAEurT,gBAAgBzrT,EAAEmsT,GAAGnsT,EAAEuQ,EAAExQ,EAAEyQ,GAAGxQ,EAAEizT,GAAG,KAAKjzT,EAAEuQ,GAAE,EAAGhG,EAAEiG,EAAE,MAAMxQ,EAAE+oR,IAAI,EAAEopC,GAAG,KAAKnyT,EAAEE,EAAEsQ,GAAGxQ,EAAEA,EAAEymB,MAAM,OAAOzmB,EAAE,KAAK,GAAGE,EAAEF,EAAE4kS,YAAY7kS,EAAE,CAChX,OADiX,OAAOA,IAAIA,EAAEs1S,UAAU,KAAKr1S,EAAEq1S,UAAU,KAAKr1S,EAAEs1S,OAAO,GACnfv1S,EAAEC,EAAEyuT,aAAuBvuT,GAAVqK,EAAErK,EAAEomS,OAAUpmS,EAAEmmS,UAAUrmS,EAAE+S,KAAK7S,EAAEqK,EAAEvK,EAAE+oR,IAOxD,SAAYhpR,GAAG,GAAG,oBAAoBA,EAAE,OAAOwyT,GAAGxyT,GAAG,EAAE,EAAE,QAAG,IAASA,GAAG,OAAOA,EAAE,CAAc,IAAbA,EAAEA,EAAE4xR,YAAgByW,EAAG,OAAO,GAAG,GAAGroS,IAAIipS,EAAG,OAAO,EAAE,CAAC,OAAO,CAAC,CAPnFwzB,CAAGt8T,GAAGH,EAAEopT,GAAGjpT,EAAEH,GAAUwK,GAAG,KAAK,EAAEvK,EAAEyyT,GAAG,KAAKzyT,EAAEE,EAAEH,EAAEyQ,GAAG,MAAMzQ,EAAE,KAAK,EAAEC,EAAE8yT,GAAG,KAAK9yT,EAAEE,EAAEH,EAAEyQ,GAAG,MAAMzQ,EAAE,KAAK,GAAGC,EAAEoyT,GAAG,KAAKpyT,EAAEE,EAAEH,EAAEyQ,GAAG,MAAMzQ,EAAE,KAAK,GAAGC,EAAEsyT,GAAG,KAAKtyT,EAAEE,EAAEipT,GAAGjpT,EAAE6S,KAAKhT,GAAGwQ,EAAEC,GAAG,MAAMzQ,EAAE,MAAM2L,MAAM+3D,EAAE,IAAIvjE,EAAE,IAAK,CAAC,OAAOF,EAAE,KAAK,EAAE,OAAOuQ,EAAEvQ,EAAE+S,KAAK7S,EAAEF,EAAEyuT,aAA2CgE,GAAG1yT,EAAEC,EAAEuQ,EAArCrQ,EAAEF,EAAE4kS,cAAcr0R,EAAErQ,EAAEipT,GAAG54S,EAAErQ,GAAcsQ,GAAG,KAAK,EAAE,OAAOD,EAAEvQ,EAAE+S,KAAK7S,EAAEF,EAAEyuT,aAA2CqE,GAAG/yT,EAAEC,EAAEuQ,EAArCrQ,EAAEF,EAAE4kS,cAAcr0R,EAAErQ,EAAEipT,GAAG54S,EAAErQ,GAAcsQ,GAAG,KAAK,EAAwB,GAAtB0iT,GAAGlzT,GAAGuQ,EAAEvQ,EAAEsqT,YAAe,OAAOvqT,GAAG,OAAOwQ,EAAE,MAAM7E,MAAM+3D,EAAE,MAC3Y,GAA9GlzD,EAAEvQ,EAAEyuT,aAA+BvuT,EAAE,QAApBA,EAAEF,EAAE6oS,eAAyB3oS,EAAE0rB,QAAQ,KAAKg/R,GAAG7qT,EAAEC,GAAGkrT,GAAGlrT,EAAEuQ,EAAE,KAAKC,IAAGD,EAAEvQ,EAAE6oS,cAAcj9Q,WAAe1rB,EAAE2uT,KAAK7uT,EAAEqyT,GAAGtyT,EAAEC,EAAEwQ,OAAO,CAAuF,IAArEjG,GAAjBrK,EAAEF,EAAE8zS,WAAiBsD,WAAQgX,GAAG3I,GAAGzlT,EAAE8zS,UAAUuD,cAAcx4O,YAAYsvP,GAAGnuT,EAAEuK,EAAE8jT,IAAG,GAAM9jT,EAAE,CAAqC,GAAG,OAAvCxK,EAAEG,EAAEw7T,iCAA2C,IAAIx7T,EAAE,EAAEA,EAAEH,EAAElB,OAAOqB,GAAG,GAAEqK,EAAExK,EAAEG,IAAK8uT,8BAA8BjvT,EAAEG,EAAE,GAAG4uT,GAAGruT,KAAK8J,GAAoB,IAAjBiG,EAAE88S,GAAGttT,EAAE,KAAKuQ,EAAEC,GAAOxQ,EAAEymB,MAAMjW,EAAEA,GAAGA,EAAE8kS,OAAe,EAAT9kS,EAAE8kS,MAAS,KAAK9kS,EAAEA,EAAEqxD,OAAO,MAAMswP,GAAGpyT,EAAEC,EAAEuQ,EAAEC,GAAGq+S,KAAK7uT,EAAEA,EAAEymB,KAAK,CAAC,OAAOzmB,EAAE,KAAK,EAAE,OAAO8tT,GAAG9tT,GAAG,OAAOD,GACnf2uT,GAAG1uT,GAAGuQ,EAAEvQ,EAAE+S,KAAK7S,EAAEF,EAAEyuT,aAAalkT,EAAE,OAAOxK,EAAEA,EAAEkuT,cAAc,KAAKz0R,EAAEt5B,EAAEimB,SAASk/R,GAAG90S,EAAErQ,GAAGs5B,EAAE,KAAK,OAAOjvB,GAAG86S,GAAG90S,EAAEhG,KAAKvK,EAAEs1S,OAAO,IAAIud,GAAG9yT,EAAEC,GAAGmyT,GAAGpyT,EAAEC,EAAEw5B,EAAEhpB,GAAGxQ,EAAEymB,MAAM,KAAK,EAAE,OAAO,OAAO1mB,GAAG2uT,GAAG1uT,GAAG,KAAK,KAAK,GAAG,OAAO0zT,GAAG3zT,EAAEC,EAAEwQ,GAAG,KAAK,EAAE,OAAOo9S,GAAG5tT,EAAEA,EAAE8zS,UAAUuD,eAAe9mS,EAAEvQ,EAAEyuT,aAAa,OAAO1uT,EAAEC,EAAEymB,MAAM4mS,GAAGrtT,EAAE,KAAKuQ,EAAEC,GAAG2hT,GAAGpyT,EAAEC,EAAEuQ,EAAEC,GAAGxQ,EAAEymB,MAAM,KAAK,GAAG,OAAOlW,EAAEvQ,EAAE+S,KAAK7S,EAAEF,EAAEyuT,aAA2C2D,GAAGryT,EAAEC,EAAEuQ,EAArCrQ,EAAEF,EAAE4kS,cAAcr0R,EAAErQ,EAAEipT,GAAG54S,EAAErQ,GAAcsQ,GAAG,KAAK,EAAE,OAAO2hT,GAAGpyT,EAAEC,EAAEA,EAAEyuT,aAAaj+S,GAAGxQ,EAAEymB,MAAM,KAAK,EACtc,KAAK,GAAG,OAAO0rS,GAAGpyT,EAAEC,EAAEA,EAAEyuT,aAAatoS,SAAS3V,GAAGxQ,EAAEymB,MAAM,KAAK,GAAG1mB,EAAE,CAACwQ,EAAEvQ,EAAE+S,KAAKozR,SAASjmS,EAAEF,EAAEyuT,aAAaj1R,EAAEx5B,EAAEiuT,cAAc1jT,EAAErK,EAAE1B,MAAM,IAAImtD,EAAE3rD,EAAE+S,KAAKozR,SAAiD,GAAxCO,GAAE0iB,GAAGz9P,EAAE89P,eAAe99P,EAAE89P,cAAcl/S,EAAK,OAAOivB,EAAE,GAAGmyB,EAAEnyB,EAAEh7B,MAA0G,KAApG+L,EAAE63S,GAAGz2P,EAAEphD,GAAG,EAAwF,GAArF,oBAAoBgG,EAAEksT,sBAAsBlsT,EAAEksT,sBAAsB9wQ,EAAEphD,GAAG,cAAqB,GAAGivB,EAAErT,WAAWjmB,EAAEimB,WAAWwhR,GAAEpoB,QAAQ,CAACv/Q,EAAEqyT,GAAGtyT,EAAEC,EAAEwQ,GAAG,MAAMzQ,CAAC,OAAO,IAAc,QAAV4rD,EAAE3rD,EAAEymB,SAAiBklC,EAAExmB,OAAOnlC,GAAG,OAAO2rD,GAAG,CAAC,IAAIQ,EAAER,EAAEk+P,aAAa,GAAG,OAAO19P,EAAE,CAAC3yB,EAAEmyB,EAAEllC,MAAM,IAAI,IAAImyN,EACtfzsL,EAAE29P,aAAa,OAAOlxE,GAAG,CAAC,GAAGA,EAAElwO,UAAU6H,GAAG,KAAKqoO,EAAEsxE,aAAa3/S,GAAG,CAAC,IAAIohD,EAAEo9N,OAAMnwC,EAAEiyE,IAAI,EAAEr6S,GAAGA,IAAKu4Q,IAAI,EAAEiiC,GAAGr/P,EAAEitL,IAAIjtL,EAAEo+P,OAAOv5S,EAAgB,QAAdooO,EAAEjtL,EAAE0pP,aAAqBz8D,EAAEmxE,OAAOv5S,GAAGk5S,GAAG/9P,EAAExmB,OAAO30B,GAAG27C,EAAE49P,OAAOv5S,EAAE,KAAK,CAACooO,EAAEA,EAAEt8M,IAAI,CAAC,MAAM9C,EAAE,KAAKmyB,EAAEo9N,KAAIp9N,EAAE54C,OAAO/S,EAAE+S,KAAK,KAAa44C,EAAEllC,MAAM,GAAG,OAAO+S,EAAEA,EAAE2L,OAAOwmB,OAAO,IAAInyB,EAAEmyB,EAAE,OAAOnyB,GAAG,CAAC,GAAGA,IAAIx5B,EAAE,CAACw5B,EAAE,KAAK,KAAK,CAAa,GAAG,QAAfmyB,EAAEnyB,EAAEqoC,SAAoB,CAAClW,EAAExmB,OAAO3L,EAAE2L,OAAO3L,EAAEmyB,EAAE,KAAK,CAACnyB,EAAEA,EAAE2L,MAAM,CAACwmB,EAAEnyB,CAAC,CAAC24R,GAAGpyT,EAAEC,EAAEE,EAAEimB,SAAS3V,GAAGxQ,EAAEA,EAAEymB,KAAK,CAAC,OAAOzmB,EAAE,KAAK,EAAE,OAAOE,EAAEF,EAAE+S,KAAsBxC,GAAjBhG,EAAEvK,EAAEyuT,cAAiBtoS,SAASyjS,GAAG5pT,EAAEwQ,GACndD,EAAEA,EADodrQ,EAAE+pT,GAAG/pT,EACpfqK,EAAEmyT,wBAA8B18T,EAAEs1S,OAAO,EAAE6c,GAAGpyT,EAAEC,EAAEuQ,EAAEC,GAAGxQ,EAAEymB,MAAM,KAAK,GAAG,OAAgBlc,EAAE4+S,GAAXjpT,EAAEF,EAAE+S,KAAY/S,EAAEyuT,cAA6B6D,GAAGvyT,EAAEC,EAAEE,EAAtBqK,EAAE4+S,GAAGjpT,EAAE6S,KAAKxI,GAAcgG,EAAEC,GAAG,KAAK,GAAG,OAAOgiT,GAAGzyT,EAAEC,EAAEA,EAAE+S,KAAK/S,EAAEyuT,aAAal+S,EAAEC,GAAG,KAAK,GAAG,OAAOD,EAAEvQ,EAAE+S,KAAK7S,EAAEF,EAAEyuT,aAAavuT,EAAEF,EAAE4kS,cAAcr0R,EAAErQ,EAAEipT,GAAG54S,EAAErQ,GAAG,OAAOH,IAAIA,EAAEs1S,UAAU,KAAKr1S,EAAEq1S,UAAU,KAAKr1S,EAAEs1S,OAAO,GAAGt1S,EAAE+oR,IAAI,EAAE09B,GAAGl2S,IAAIxQ,GAAE,EAAG8mT,GAAG7mT,IAAID,GAAE,EAAG6pT,GAAG5pT,EAAEwQ,GAAGu7S,GAAG/rT,EAAEuQ,EAAErQ,GAAGisT,GAAGnsT,EAAEuQ,EAAErQ,EAAEsQ,GAAGyiT,GAAG,KAAKjzT,EAAEuQ,GAAE,EAAGxQ,EAAEyQ,GAAG,KAAK,GAAG,OAAOgkT,GAAGz0T,EAAEC,EAAEwQ,GAAG,KAAK,GAAoB,KAAK,GAAG,OAAOkiT,GAAG3yT,EAAEC,EAAEwQ,GAAG,MAAM9E,MAAM+3D,EAAE,IAAIzjE,EAAE+oR,KAC/e,EAYAgzC,GAAGp6T,UAAUm3Q,OAAO,SAAS/4Q,GAAG47T,GAAG57T,EAAE0B,KAAKy6T,cAAc,KAAK,KAAK,EAAEH,GAAGp6T,UAAUg7T,QAAQ,WAAW,IAAI58T,EAAE0B,KAAKy6T,cAAcl8T,EAAED,EAAEs3S,cAAcskB,GAAG,KAAK57T,EAAE,MAAK,WAAWC,EAAE0kT,IAAI,IAAI,GAAE,EAEkJ9O,GAAG,SAAS71S,GAAM,KAAKA,EAAEgpR,MAAgB6iC,GAAG7rT,EAAE,EAAV2rT,MAAeoQ,GAAG/7T,EAAE,GAAG,EAAE81S,GAAG,SAAS91S,GAAM,KAAKA,EAAEgpR,MAAgB6iC,GAAG7rT,EAAE,SAAV2rT,MAAsBoQ,GAAG/7T,EAAE,UAAU,EAC7c2sD,GAAG,SAAS3sD,GAAG,GAAG,KAAKA,EAAEgpR,IAAI,CAAC,IAAI/oR,EAAE0rT,KAAKl7S,EAAEm7S,GAAG5rT,GAAG6rT,GAAG7rT,EAAEyQ,EAAExQ,GAAG87T,GAAG/7T,EAAEyQ,EAAE,CAAC,EAAEslS,GAAG,SAAS/1S,EAAEC,GAAG,OAAOA,GAAG,EAChGyzS,GAAG,SAAS1zS,EAAEC,EAAEwQ,GAAG,OAAOxQ,GAAG,IAAK,QAAyB,GAAjB2uS,GAAG5uS,EAAEyQ,GAAGxQ,EAAEwQ,EAAEtJ,KAAQ,UAAUsJ,EAAEuC,MAAM,MAAM/S,EAAE,CAAC,IAAIwQ,EAAEzQ,EAAEyQ,EAAEkqD,YAAYlqD,EAAEA,EAAEkqD,WAAsF,IAA3ElqD,EAAEA,EAAEosD,iBAAiB,cAAct7D,KAAKC,UAAU,GAAGvB,GAAG,mBAAuBA,EAAE,EAAEA,EAAEwQ,EAAE3R,OAAOmB,IAAI,CAAC,IAAIuQ,EAAEC,EAAExQ,GAAG,GAAGuQ,IAAIxQ,GAAGwQ,EAAEqsT,OAAO78T,EAAE68T,KAAK,CAAC,IAAI18T,EAAE6zS,GAAGxjS,GAAG,IAAIrQ,EAAE,MAAMwL,MAAM+3D,EAAE,KAAK2qO,EAAG79R,GAAGo+R,GAAGp+R,EAAErQ,EAAE,CAAC,CAAC,CAAC,MAAM,IAAK,WAAW6xS,GAAGhyS,EAAEyQ,GAAG,MAAM,IAAK,SAAmB,OAAVxQ,EAAEwQ,EAAEhS,QAAemzS,GAAG5xS,IAAIyQ,EAAEokT,SAAS50T,GAAE,GAAI,EAAEk0S,GAAGkmB,GAC9ZjmB,GAAG,SAASp0S,EAAEC,EAAEwQ,EAAED,EAAErQ,GAAG,IAAIqK,EAAEi/R,GAAEA,IAAG,EAAE,IAAI,OAAOqf,GAAG,GAAG9oT,EAAEiM,KAAK,KAAKhM,EAAEwQ,EAAED,EAAErQ,GAAG,CAAC,QAAY,KAAJspS,GAAEj/R,KAAU2tT,KAAKnP,KAAK,CAAC,EAAE3U,GAAG,WAAW,KAAO,GAAF5K,MAhD/H,WAAc,GAAG,OAAOivB,GAAG,CAAC,IAAI14T,EAAE04T,GAAGA,GAAG,KAAK14T,EAAES,SAAQ,SAAST,GAAGA,EAAEs5S,cAAc,GAAGt5S,EAAEq5S,aAAaggB,GAAGr5T,EAAEioS,KAAI,GAAE,CAAC+gB,IAAI,CAgDkB8T,GAAKnD,KAAK,EAAErlB,GAAG,SAASt0S,EAAEC,GAAG,IAAIwQ,EAAEg5R,GAAEA,IAAG,EAAE,IAAI,OAAOzpS,EAAEC,EAAE,CAAC,QAAY,KAAJwpS,GAAEh5R,KAAU0nT,KAAKnP,KAAK,CAAC,EAAyI,IAAI+T,GAAG,CAAC3pS,OAAO,CAAC0gR,GAAGwN,GAAGtN,GAAGC,GAAGC,GAAGylB,GAAG,CAACn6C,SAAQ,KAAMw9C,GAAG,CAACC,wBAAwBhmB,GAAGimB,WAAW,EAAEloL,QAAQ,SAASmoL,oBAAoB,aACveC,GAAG,CAACF,WAAWF,GAAGE,WAAWloL,QAAQgoL,GAAGhoL,QAAQmoL,oBAAoBH,GAAGG,oBAAoBE,eAAeL,GAAGK,eAAeC,kBAAkB,KAAKC,4BAA4B,KAAKC,4BAA4B,KAAKC,cAAc,KAAKC,wBAAwB,KAAKC,wBAAwB,KAAKC,mBAAmB,KAAKC,eAAe,KAAKC,qBAAqB12B,EAAG0G,uBAAuBiwB,wBAAwB,SAAS/9T,GAAW,OAAO,QAAfA,EAAE21S,GAAG31S,IAAmB,KAAKA,EAAE+zS,SAAS,EAAEkpB,wBAAwBD,GAAGC,yBAR/I,WAAc,OAAO,IAAI,EASjXe,4BAA4B,KAAKC,gBAAgB,KAAKC,aAAa,KAAKC,kBAAkB,KAAKC,gBAAgB,MAAM,GAAG,qBAAqBC,+BAA+B,CAAC,IAAIC,GAAGD,+BAA+B,IAAIC,GAAG30O,YAAY20O,GAAGC,cAAc,IAAItX,GAAGqX,GAAGE,OAAOpB,IAAIlW,GAAGoX,EAAE,CAAC,MAAMt+T,IAAG,CAAC,CAACa,EAAQ4lS,mDAAmDs2B,GAAGl8T,EAAQ09Q,aAAag+C,GACnX17T,EAAQ49T,YAAY,SAASz+T,GAAG,GAAG,MAAMA,EAAE,OAAO,KAAK,GAAG,IAAIA,EAAEihE,SAAS,OAAOjhE,EAAE,IAAIC,EAAED,EAAE0rT,gBAAgB,QAAG,IAASzrT,EAAE,CAAC,GAAG,oBAAoBD,EAAE+4Q,OAAO,MAAMptQ,MAAM+3D,EAAE,MAAM,MAAM/3D,MAAM+3D,EAAE,IAAI/iE,OAAOmB,KAAK9B,IAAK,CAAqC,OAA5BA,EAAE,QAAVA,EAAE21S,GAAG11S,IAAc,KAAKD,EAAE+zS,SAAkB,EAAElzS,EAAQ69T,UAAU,SAAS1+T,EAAEC,GAAG,IAAIwQ,EAAEg5R,GAAE,GAAG,KAAO,GAAFh5R,GAAM,OAAOzQ,EAAEC,GAAGwpS,IAAG,EAAE,IAAI,GAAGzpS,EAAE,OAAO8oT,GAAG,GAAG9oT,EAAEiM,KAAK,KAAKhM,GAAG,CAAC,QAAQwpS,GAAEh5R,EAAEu4S,IAAI,CAAC,EAAEnoT,EAAQw2S,QAAQ,SAASr3S,EAAEC,EAAEwQ,GAAG,IAAI2rT,GAAGn8T,GAAG,MAAM0L,MAAM+3D,EAAE,MAAM,OAAO24P,GAAG,KAAKr8T,EAAEC,GAAE,EAAGwQ,EAAE,EACrd5P,EAAQk4Q,OAAO,SAAS/4Q,EAAEC,EAAEwQ,GAAG,IAAI2rT,GAAGn8T,GAAG,MAAM0L,MAAM+3D,EAAE,MAAM,OAAO24P,GAAG,KAAKr8T,EAAEC,GAAE,EAAGwQ,EAAE,EAAE5P,EAAQ89T,uBAAuB,SAAS3+T,GAAG,IAAIo8T,GAAGp8T,GAAG,MAAM2L,MAAM+3D,EAAE,KAAK,QAAO1jE,EAAEo3T,sBAAqBkD,IAAG,WAAW+B,GAAG,KAAK,KAAKr8T,GAAE,GAAG,WAAWA,EAAEo3T,oBAAoB,KAAKp3T,EAAE2kT,IAAI,IAAI,GAAE,KAAG,EAAM,EAAE9jT,EAAQ+9T,wBAAwBvE,GAAGx5T,EAAQg+T,sBAAsB,SAAS7+T,EAAEC,GAAG,OAAOs8T,GAAGv8T,EAAEC,EAAE,EAAE+F,UAAUlH,aAAQ,IAASkH,UAAU,GAAGA,UAAU,GAAG,KAAK,EACnbnF,EAAQi+T,oCAAoC,SAAS9+T,EAAEC,EAAEwQ,EAAED,GAAG,IAAI4rT,GAAG3rT,GAAG,MAAM9E,MAAM+3D,EAAE,MAAM,GAAG,MAAM1jE,QAAG,IAASA,EAAE0rT,gBAAgB,MAAM//S,MAAM+3D,EAAE,KAAK,OAAO24P,GAAGr8T,EAAEC,EAAEwQ,GAAE,EAAGD,EAAE,EAAE3P,EAAQm0I,QAAQ,uCCtS7L,SAAS+pL,IAEP,GAC4C,qBAAnCV,gCAC4C,oBAA5CA,+BAA+BU,SAcxC,IAEEV,+BAA+BU,SAASA,EAC1C,CAAE,MAAOxnC,GAGPhyR,QAAQ0H,MAAMsqR,EAChB,CACF,CAKEwnC,GACA3pT,EAAOvU,QAAU,EAAjBuU,mCC/BAA,EAAOvU,QAAU,EAAjBuU,gBCDF,IAAI4pT,EAAoC,qBAAZjjQ,QACxBkjQ,EAAwB,oBAAR1+T,IAChB2+T,EAAwB,oBAAR5+T,IAChB6+T,EAAwC,oBAAhBj+B,eAAgCA,YAAYC,OAIxE,SAASi+B,EAAMp/T,EAAGC,GAEhB,GAAID,IAAMC,EAAG,OAAO,EAEpB,GAAID,GAAKC,GAAiB,iBAALD,GAA6B,iBAALC,EAAe,CAC1D,GAAID,EAAEoD,cAAgBnD,EAAEmD,YAAa,OAAO,EAE5C,IAAItE,EAAQiD,EAAGD,EA6BXi2H,EA5BJ,GAAIx1H,MAAMC,QAAQxC,GAAI,CAEpB,IADAlB,EAASkB,EAAElB,SACGmB,EAAEnB,OAAQ,OAAO,EAC/B,IAAKiD,EAAIjD,EAAgB,IAARiD,KACf,IAAKq9T,EAAMp/T,EAAE+B,GAAI9B,EAAE8B,IAAK,OAAO,EACjC,OAAO,CACT,CAuBA,GAAIk9T,GAAWj/T,aAAaO,KAASN,aAAaM,IAAM,CACtD,GAAIP,EAAEsS,OAASrS,EAAEqS,KAAM,OAAO,EAE9B,IADAylH,EAAK/3H,EAAEq/T,YACEt9T,EAAIg2H,EAAGx7F,QAAQC,UACjBv8B,EAAE0xC,IAAI5vC,EAAEtD,MAAM,IAAK,OAAO,EAEjC,IADAs5H,EAAK/3H,EAAEq/T,YACEt9T,EAAIg2H,EAAGx7F,QAAQC,UACjB4iS,EAAMr9T,EAAEtD,MAAM,GAAIwB,EAAEkG,IAAIpE,EAAEtD,MAAM,KAAM,OAAO,EACpD,OAAO,CACT,CAEA,GAAIygU,GAAWl/T,aAAaM,KAASL,aAAaK,IAAM,CACtD,GAAIN,EAAEsS,OAASrS,EAAEqS,KAAM,OAAO,EAE9B,IADAylH,EAAK/3H,EAAEq/T,YACEt9T,EAAIg2H,EAAGx7F,QAAQC,UACjBv8B,EAAE0xC,IAAI5vC,EAAEtD,MAAM,IAAK,OAAO,EACjC,OAAO,CACT,CAGA,GAAI0gU,GAAkBj+B,YAAYC,OAAOnhS,IAAMkhS,YAAYC,OAAOlhS,GAAI,CAEpE,IADAnB,EAASkB,EAAElB,SACGmB,EAAEnB,OAAQ,OAAO,EAC/B,IAAKiD,EAAIjD,EAAgB,IAARiD,KACf,GAAI/B,EAAE+B,KAAO9B,EAAE8B,GAAI,OAAO,EAC5B,OAAO,CACT,CAEA,GAAI/B,EAAEoD,cAAgBu0N,OAAQ,OAAO33N,EAAEwD,SAAWvD,EAAEuD,QAAUxD,EAAEu1S,QAAUt1S,EAAEs1S,MAC5E,GAAIv1S,EAAEwyR,UAAY7xR,OAAOiB,UAAU4wR,QAAS,OAAOxyR,EAAEwyR,YAAcvyR,EAAEuyR,UACrE,GAAIxyR,EAAEhB,WAAa2B,OAAOiB,UAAU5C,SAAU,OAAOgB,EAAEhB,aAAeiB,EAAEjB,WAIxE,IADAF,GADAgD,EAAOnB,OAAOmB,KAAK9B,IACLlB,UACC6B,OAAOmB,KAAK7B,GAAGnB,OAAQ,OAAO,EAE7C,IAAKiD,EAAIjD,EAAgB,IAARiD,KACf,IAAKpB,OAAOiB,UAAUuC,eAAesD,KAAKxH,EAAG6B,EAAKC,IAAK,OAAO,EAKhE,GAAIi9T,GAAkBh/T,aAAa+7D,QAAS,OAAO,EAGnD,IAAKh6D,EAAIjD,EAAgB,IAARiD,KACf,IAAiB,WAAZD,EAAKC,IAA+B,QAAZD,EAAKC,IAA4B,QAAZD,EAAKC,KAAiB/B,EAAE4xR,YAarEwtC,EAAMp/T,EAAE8B,EAAKC,IAAK9B,EAAE6B,EAAKC,KAAM,OAAO,EAK7C,OAAO,CACT,CAEA,OAAO/B,IAAMA,GAAKC,IAAMA,CAC1B,CAGAmV,EAAOvU,QAAU,SAAiBb,EAAGC,GACnC,IACE,OAAOm/T,EAAMp/T,EAAGC,EAClB,CAAE,MAAOgN,GACP,IAAMA,EAAMk3D,SAAW,IAAIj6D,MAAM,oBAO/B,OADA3E,QAAQC,KAAK,mDACN,EAGT,MAAMyH,CACR,CACF,6BCnIAtM,OAAOC,eAAeC,EAAS,aAAc,CAC3CpC,OAAO,IAEToC,EAAiB,QA4BjB,WACE,IAAI05B,EAAIv0B,UAAUlH,OAAS,QAAsBI,IAAjB8G,UAAU,GAAmBA,UAAU,GAAK,GACxEs5T,IAAYt5T,UAAUlH,OAAS,QAAsBI,IAAjB8G,UAAU,KAAmBA,UAAU,GAC3Eu5T,IAAiBv5T,UAAUlH,OAAS,QAAsBI,IAAjB8G,UAAU,KAAmBA,UAAU,GAChFw5T,EAAOjlS,GAAK,GACZ+kS,IACFE,EAAmBjlS,EA/BPv7B,WAAWsI,OAAO2C,QAAQ,qCAAqC,SAAUC,EAAOzH,EAAO+8K,GACnG,OAAI/8K,EAAQ,GAAKA,EAAQyH,EAAMpL,SAAW0gL,EAAM1gL,QAAUoL,EAAM0gE,OAAO60P,IAAe,GAAiC,MAA5BjgJ,EAAMn2H,OAAO5mD,EAAQ,KAAsD,MAAvC+8K,EAAMn2H,OAAO5mD,EAAQyH,EAAMpL,SAA+C,MAA5B0gL,EAAMn2H,OAAO5mD,EAAQ,KAAe+8K,EAAMn2H,OAAO5mD,EAAQ,GAAGmoE,OAAO,UAAY,EACnP1gE,EAAMwvB,cAEXxvB,EAAM4vB,OAAO,GAAG8wC,OAAO,cAAgB,EAClC1gE,EAEFA,EAAMm/C,OAAO,GAAGzvB,cAAgB1vB,EAAM4vB,OAAO,EACtD,KAyBIylS,IACFC,EAhBJ,SAAqBtkS,GACnB,GANF,SAAsBX,GAEpB,MAAoB,kBAANA,IAAsC,IAApBA,EAAEt3B,QAAQ,IAC5C,CAGMy8T,CAAaxkS,GAEf,OADA31B,QAAQC,KAAK,oDACNm6T,EAET,OAAOzkS,CACT,CAUW0kS,CAAYJ,IAErB,OAAOA,CACT,EAvCA,IAAIC,EAAa,6EAmBjB,IAAIE,EAAW,iECvBfh/T,OAAOC,eAAeC,EAAS,aAAc,CAC3CpC,OAAO,IAEToC,EAAiB,QAAIA,EAAQg/T,SAAM,EACnC,IAAIC,EAAQC,EAAuBrnD,EAAQ,MACvCsnD,EAAUD,EAAuBrnD,EAAQ,OACzCunD,EAAY,CAAC,gBAAiB,cAAe,aAAc,aAAc,WAC3EC,EAAa,CAAC,QAAS,YACvBC,EAAa,CAAC,OAAQ,WACxB,SAASJ,EAAuBh9T,GAAO,OAAOA,GAAOA,EAAIy1Q,WAAaz1Q,EAAM,CAAE,QAAWA,EAAO,CAChG,SAASq9T,EAAyB58T,EAAQ68T,GAAY,GAAc,MAAV78T,EAAgB,MAAO,CAAC,EAAG,IAAkEd,EAAKX,EAAnE0B,EACzF,SAAuCD,EAAQ68T,GAAY,GAAc,MAAV78T,EAAgB,MAAO,CAAC,EAAG,IAA2Dd,EAAKX,EAA5D0B,EAAS,CAAC,EAAO68T,EAAa3/T,OAAOmB,KAAK0B,GAAqB,IAAKzB,EAAI,EAAGA,EAAIu+T,EAAWxhU,OAAQiD,IAAOW,EAAM49T,EAAWv+T,GAAQs+T,EAASp9T,QAAQP,IAAQ,IAAae,EAAOf,GAAOc,EAAOd,IAAQ,OAAOe,CAAQ,CADhN88T,CAA8B/8T,EAAQ68T,GAAuB,GAAI1/T,OAAOoxR,sBAAuB,CAAE,IAAIyuC,EAAmB7/T,OAAOoxR,sBAAsBvuR,GAAS,IAAKzB,EAAI,EAAGA,EAAIy+T,EAAiB1hU,OAAQiD,IAAOW,EAAM89T,EAAiBz+T,GAAQs+T,EAASp9T,QAAQP,IAAQ,GAAkB/B,OAAOiB,UAAUwC,qBAAqBqD,KAAKjE,EAAQd,KAAgBe,EAAOf,GAAOc,EAAOd,GAAQ,CAAE,OAAOe,CAAQ,CAE3e,SAASg9T,EAAQ19T,GAAkC,OAAO09T,EAAU,mBAAqBrkS,QAAU,iBAAmBA,OAAOC,SAAW,SAAUt5B,GAAO,cAAcA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAO,mBAAqBq5B,QAAUr5B,EAAIK,cAAgBg5B,QAAUr5B,IAAQq5B,OAAOx6B,UAAY,gBAAkBmB,CAAK,EAAG09T,EAAQ19T,EAAM,CAC/U,SAAS29T,EAAmBl9S,GAAO,OAGnC,SAA4BA,GAAO,GAAIjhB,MAAMC,QAAQghB,GAAM,OAAOm9S,EAAkBn9S,EAAM,CAHhDo9S,CAAmBp9S,IAE7D,SAA0Bq9S,GAAQ,GAAsB,qBAAXzkS,QAAmD,MAAzBykS,EAAKzkS,OAAOC,WAA2C,MAAtBwkS,EAAK,cAAuB,OAAOt+T,MAAM8oE,KAAKw1P,EAAO,CAFxFC,CAAiBt9S,IAAQu9S,EAA4Bv9S,IAC1H,WAAgC,MAAM,IAAIiZ,UAAU,uIAAyI,CAD3DukS,EAAsB,CAIxJ,SAASC,EAAQ5gU,EAAQ6gU,GAAkB,IAAIp/T,EAAOnB,OAAOmB,KAAKzB,GAAS,GAAIM,OAAOoxR,sBAAuB,CAAE,IAAI8R,EAAUljS,OAAOoxR,sBAAsB1xR,GAAS6gU,IAAmBr9B,EAAUA,EAAQ9/R,QAAO,SAAUo9T,GAAO,OAAOxgU,OAAOgQ,yBAAyBtQ,EAAQ8gU,GAAK9vB,UAAY,KAAKvvS,EAAKpB,KAAKgH,MAAM5F,EAAM+hS,EAAU,CAAE,OAAO/hS,CAAM,CACpV,SAASs/T,EAAc39T,GAAU,IAAK,IAAI1B,EAAI,EAAGA,EAAIiE,UAAUlH,OAAQiD,IAAK,CAAE,IAAIyB,EAAS,MAAQwC,UAAUjE,GAAKiE,UAAUjE,GAAK,CAAC,EAAGA,EAAI,EAAIk/T,EAAQtgU,OAAO6C,IAAS,GAAI/C,SAAQ,SAAUiC,GAAO2+T,EAAgB59T,EAAQf,EAAKc,EAAOd,GAAO,IAAK/B,OAAO2gU,0BAA4B3gU,OAAO+E,iBAAiBjC,EAAQ9C,OAAO2gU,0BAA0B99T,IAAWy9T,EAAQtgU,OAAO6C,IAAS/C,SAAQ,SAAUiC,GAAO/B,OAAOC,eAAe6C,EAAQf,EAAK/B,OAAOgQ,yBAAyBnN,EAAQd,GAAO,GAAI,CAAE,OAAOe,CAAQ,CACzf,SAAS89T,EAAe/9S,EAAKzhB,GAAK,OAKlC,SAAyByhB,GAAO,GAAIjhB,MAAMC,QAAQghB,GAAM,OAAOA,CAAK,CAL3Bg+S,CAAgBh+S,IAIzD,SAA+BA,EAAKzhB,GAAK,IAAIgE,EAAK,MAAQyd,EAAM,KAAO,oBAAsB4Y,QAAU5Y,EAAI4Y,OAAOC,WAAa7Y,EAAI,cAAe,GAAI,MAAQzd,EAAI,CAAE,IAAI07T,EAAIhhD,EAAIihD,EAAI/8C,EAAIg9C,EAAO,GAAIC,GAAK,EAAI38R,GAAK,EAAI,IAAM,GAAIy8R,GAAM37T,EAAKA,EAAG0B,KAAK+b,IAAM+Y,KAAM,IAAMx6B,EAAG,CAAE,GAAIpB,OAAOoF,KAAQA,EAAI,OAAQ67T,GAAK,CAAI,MAAO,OAASA,GAAMH,EAAKC,EAAGj6T,KAAK1B,IAAKy2B,QAAUmlS,EAAKjhU,KAAK+gU,EAAGhjU,OAAQkjU,EAAK7iU,SAAWiD,GAAI6/T,GAAK,GAAK,CAAE,MAAOrqC,GAAOtyP,GAAK,EAAIw7O,EAAK8W,CAAK,CAAE,QAAU,IAAM,IAAKqqC,GAAM,MAAQ77T,EAAW,SAAM4+Q,EAAK5+Q,EAAW,SAAKpF,OAAOgkR,KAAQA,GAAK,MAAQ,CAAE,QAAU,GAAI1/O,EAAI,MAAMw7O,CAAI,CAAE,CAAE,OAAOkhD,CAAM,CAAE,CAJhhBE,CAAsBr+S,EAAKzhB,IAAMg/T,EAA4Bv9S,EAAKzhB,IACnI,WAA8B,MAAM,IAAI06B,UAAU,4IAA8I,CADvDqlS,EAAoB,CAE7J,SAASf,EAA4B5kS,EAAG4lS,GAAU,GAAK5lS,EAAL,CAAgB,GAAiB,kBAANA,EAAgB,OAAOwkS,EAAkBxkS,EAAG4lS,GAAS,IAAIplS,EAAIh8B,OAAOiB,UAAU5C,SAASyI,KAAK00B,GAAG/zB,MAAM,GAAI,GAAiE,MAAnD,WAANu0B,GAAkBR,EAAE/4B,cAAau5B,EAAIR,EAAE/4B,YAAY+D,MAAgB,QAANw1B,GAAqB,QAANA,EAAoBp6B,MAAM8oE,KAAKlvC,GAAc,cAANQ,GAAqB,2CAA2Cp9B,KAAKo9B,GAAWgkS,EAAkBxkS,EAAG4lS,QAAzG,CAA7O,CAA+V,CAC/Z,SAASpB,EAAkBn9S,EAAK6X,IAAkB,MAAPA,GAAeA,EAAM7X,EAAI1kB,UAAQu8B,EAAM7X,EAAI1kB,QAAQ,IAAK,IAAIiD,EAAI,EAAGijB,EAAO,IAAIziB,MAAM84B,GAAMt5B,EAAIs5B,EAAKt5B,IAAKijB,EAAKjjB,GAAKyhB,EAAIzhB,GAAI,OAAOijB,CAAM,CAIlL,SAASg9S,EAAkBv+T,EAAQ2L,GAAS,IAAK,IAAIrN,EAAI,EAAGA,EAAIqN,EAAMtQ,OAAQiD,IAAK,CAAE,IAAIoN,EAAaC,EAAMrN,GAAIoN,EAAWkiS,WAAaliS,EAAWkiS,aAAc,EAAOliS,EAAWiiS,cAAe,EAAU,UAAWjiS,IAAYA,EAAW1J,UAAW,GAAM9E,OAAOC,eAAe6C,EAAQw+T,EAAe9yT,EAAWzM,KAAMyM,EAAa,CAAE,CAE5U,SAASkyT,EAAgBt+T,EAAKL,EAAKjE,GAA4L,OAAnLiE,EAAMu/T,EAAev/T,MAAiBK,EAAOpC,OAAOC,eAAemC,EAAKL,EAAK,CAAEjE,MAAOA,EAAO4yS,YAAY,EAAMD,cAAc,EAAM3rS,UAAU,IAAkB1C,EAAIL,GAAOjE,EAAgBsE,CAAK,CAC3O,SAASk/T,EAAe53T,GAAO,IAAI3H,EACnC,SAAsBsoD,EAAOk3Q,GAAQ,GAAuB,WAAnBzB,EAAQz1Q,IAAiC,OAAVA,EAAgB,OAAOA,EAAO,IAAIm3Q,EAAOn3Q,EAAM5uB,OAAOgmS,aAAc,QAAaljU,IAATijU,EAAoB,CAAE,IAAIn/T,EAAMm/T,EAAK16T,KAAKujD,EAAOk3Q,GAAQ,WAAY,GAAqB,WAAjBzB,EAAQz9T,GAAmB,OAAOA,EAAK,MAAM,IAAIy5B,UAAU,+CAAiD,CAAE,OAAiB,WAATylS,EAAoBznS,OAASrsB,QAAQ48C,EAAQ,CADnVq3Q,CAAah4T,EAAK,UAAW,MAAwB,WAAjBo2T,EAAQ/9T,GAAoBA,EAAM+3B,OAAO/3B,EAAM,CA4C5H,IAAIm9T,EAAmB,WACrB,SAASA,IACP,IAAI9zT,EAAQrK,MAlDhB,SAAyBgsH,EAAU40M,GAAe,KAAM50M,aAAoB40M,GAAgB,MAAM,IAAI7lS,UAAU,oCAAwC,CAmDpJ8lS,CAAgB7gU,KAAMm+T,GACtBwB,EAAgB3/T,KAAM,SAAS,WAC7BqK,EAAMy2T,eAAgB,EACtBz2T,EAAM02T,WAAY,EAClB12T,EAAM22T,sBACN32T,EAAM42T,cAAe,EACrB52T,EAAM62T,YAAa,EACnB72T,EAAM82T,WAAa,EACrB,IACAxB,EAAgB3/T,KAAM,SAAS,WAC7B,IAAK,IAAIohU,EAAO98T,UAAUlH,OAAQ4J,EAAO,IAAInG,MAAMugU,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC/Er6T,EAAKq6T,GAAQ/8T,UAAU+8T,GAEpBh3T,EAAM02T,WACL12T,EAAM62T,WAMV72T,EAAM82T,WAAWniU,KAAKgI,GAHpBo3T,EAAe,QAAEp4T,WAAM,EAAQgB,EAKrC,IACA24T,EAAgB3/T,KAAM,WAAW,SAAUshU,EAAmBC,GAC5D,IAAIC,EAAUl9T,UAAUlH,OAAS,QAAsBI,IAAjB8G,UAAU,GAAmBA,UAAU,GAAK,2CAClF,GAAsB,qBAAXiC,QAA8C,qBAAbojB,WAGvCtf,EAAM42T,aAAc,CAEvB,IAAIQ,EAAS93S,SAASC,cAAc,UACpC63S,EAAOtxT,OAAQ,EACfsxT,EAAO99S,IAAM,GAAG3Y,OAAOw2T,EAAS,QAAQx2T,OAAOs2T,GAC3CC,GACFE,EAAO5nQ,aAAa,QAAS0nQ,GAE/B53S,SAASuuC,KAAKG,YAAYopQ,GAC1Bl7T,OAAOm7T,UAAYn7T,OAAOm7T,WAAa,GACvCn7T,OAAOo7T,KAAO,WACZp7T,OAAOm7T,UAAU1iU,KAAKsF,UACxB,EACA+F,EAAM42T,cAAe,CACvB,CACF,IACAtB,EAAgB3/T,KAAM,kBAAkB,SAAU4hU,GAChD,GAAKA,EAAL,CAGA,IAAIC,EAAY,CAGdC,aAAc,gBACdC,cAAe,iBACfC,aAAc,gBACdC,YAAa,eAEbC,OAAQ,UACRC,SAAU,YACVC,YAAa,eAEbC,cAAe,iBACfC,cAAe,iBACfC,cAAe,iBACfC,cAAe,iBACfC,cAAe,iBAEfC,gBAAiB,uBACjBC,8BAA+B,mCAC/BC,eAAgB,kBAChB/hI,KAAM,YACNgiI,YAAa,kBAaf,OAXkB5jU,OAAO0+T,QAAQiE,GAAWh5T,QAAO,SAAU27J,EAAMu+J,GACjE,IAAIC,EAAQlD,EAAeiD,EAAM,GAC/B9hU,EAAM+hU,EAAM,GACZhmU,EAAQgmU,EAAM,GAMhB,OALIlB,EAAU7gU,GACZujK,EAAKs9J,EAAU7gU,IAAQjE,EAEvBwnK,EAAKvjK,GAAOjE,EAEPwnK,CACT,GAAG,CAAC,EAnCJ,CAqCF,IACAo7J,EAAgB3/T,KAAM,cAAc,SAAUshU,GAC5C,IAAIz2S,EAAUvmB,UAAUlH,OAAS,QAAsBI,IAAjB8G,UAAU,GAAmBA,UAAU,GAAK,CAAC,EACnF,IAAKg9T,EACH,MAAM,IAAIr3T,MAAM,6BAElB,IAAI+4T,EAA2C,kBAAtB1B,EAAiC,CAAC,CACzD2B,WAAY3B,IACTA,EACLj3T,EAAM22T,sBAAwBgC,EAAY,GAAGC,WAC7C,IAAIrB,EAAY/2S,EAAQ+2S,UACtBsB,EAAcr4S,EAAQq4S,YACtB3B,EAAQ12S,EAAQ02S,MAChB4B,EAAoBt4S,EAAQu4S,SAC5BA,OAAiC,IAAtBD,GAAuCA,EAClD3B,EAAU32S,EAAQ22S,QAiBpB,GAhBAn3T,EAAM02T,UAAYqC,EACbA,GACH/4T,EAAMg5T,QAAQh5T,EAAM22T,sBAAuBO,EAAOC,GAE/Cn3T,EAAMy2T,gBACTz2T,EAAM+zT,MAAM,KAAM,IAAI72T,MACtBy7T,EAAYjkU,SAAQ,SAAU0nF,GAC5B,IAAI68O,EAAoB5D,EAAcA,EAAcA,EAAc,CAAC,EAAGr1T,EAAMk5T,eAAe7D,EAAcA,EAAc,CAAC,EAAGkC,GAAYn7O,EAAOm7O,aAAcsB,GAAcz8O,EAAOy8O,aAC7KjkU,OAAOmB,KAAKkjU,GAAmBlmU,OACjCiN,EAAM+zT,MAAM,SAAU33O,EAAOw8O,WAAYK,GAEzCj5T,EAAM+zT,MAAM,SAAU33O,EAAOw8O,WAEjC,KAEF54T,EAAMy2T,eAAgB,GACjBsC,EAAU,CACb,IAAII,EAASxE,EAAmB30T,EAAM82T,YAGtC,IAFA92T,EAAM82T,WAAa,GACnB92T,EAAM62T,YAAa,EACZsC,EAAOpmU,QAAQ,CACpB,IAAIiqS,EAAQm8B,EAAO3+T,QACnBwF,EAAM+zT,MAAMp4T,MAAMqE,EAAO20T,EAAmB33B,IAC3B,QAAbA,EAAM,KACRh9R,EAAM62T,YAAa,EAEvB,CACF,CACF,IACAvB,EAAgB3/T,KAAM,OAAO,SAAUyjU,GAChCA,EAIyB,WAA1B1E,EAAQ0E,IAI6B,IAArCxkU,OAAOmB,KAAKqjU,GAAcrmU,QAC5ByG,QAAQC,KAAK,wCAEfuG,EAAMq5T,WAAW,MAAOD,IANtB5/T,QAAQC,KAAK,+CAJbD,QAAQC,KAAK,uCAWjB,IACA67T,EAAgB3/T,KAAM,uBAAuB,SAAU2jU,EAAeC,EAAaC,EAAYC,EAAYL,GACzGp5T,EAAM+zT,MAAM,QAASwF,EAAalE,EAAcA,EAAc,CAC5DqE,eAAgBJ,EAChBK,YAAaH,EACb9mU,MAAO+mU,GACNL,GAAgB,CACjBQ,gBAAiBR,EAAab,iBAC5Bv4T,EAAMk5T,eAAeE,IAC3B,IACA9D,EAAgB3/T,KAAM,iCAAiC,WACrD,IAAK,IAAIkkU,EAAQ5/T,UAAUlH,OAAQ4J,EAAO,IAAInG,MAAMqjU,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFn9T,EAAKm9T,GAAS7/T,UAAU6/T,GAE1B,GAAuB,kBAAZn9T,EAAK,GACdqD,EAAM+5T,oBAAoBp+T,MAAMqE,EAAO20T,EAAmBh4T,EAAKN,MAAM,SAChE,CACL,IAAI29T,EAASr9T,EAAK,GAChB28T,EAAgBU,EAAOV,cACvBC,EAAcS,EAAOT,YACrBC,EAAaQ,EAAOR,WACpBC,EAAaO,EAAOP,WAEpBQ,GADUD,EAAOE,QACV7F,EAAyB2F,EAAQ9F,IAC1Cl0T,EAAM+5T,oBAAoBT,EAAeC,EAAaC,EAAYC,EAAYQ,EAChF,CACF,IACA3E,EAAgB3/T,KAAM,wBAAwB,SAAUwkU,EAAgBC,EAAWC,EAAaC,GAC9Ft6T,EAAM+zT,MAAM,QAAS,kBAAmB,CACtC34T,KAAMg/T,EACN1nU,MAAO2nU,EACPX,eAAgBS,EAChBR,YAAaW,GAEjB,IACAhF,EAAgB3/T,KAAM,0BAA0B,SAAU6gM,EAAM4iI,GAC9D,GAAIA,GAAgBxkU,OAAOmB,KAAKqjU,GAAcrmU,OAAQ,CACpD,IAAIwnU,EAAuBv6T,EAAMk5T,eAAeE,GAC9C3lJ,EAAQ8mJ,EAAqB9mJ,MAC7BpnI,EAAWkuR,EAAqBluR,SAChC4tR,EAAO5F,EAAyBkG,EAAsBpG,GACxDn0T,EAAM+zT,MAAM,QAAS,YAAasB,EAAcA,EAAcA,EAAcA,EAAc,CAAC,EAAG7+H,GAAQ,CACpGgkI,UAAWhkI,IACT/iB,GAAS,CACXgnJ,WAAYhnJ,IACVpnI,GAAY,CACdquR,cAAeruR,IACb4tR,GACN,MAAWzjI,EACTx2L,EAAM+zT,MAAM,QAAS,YAAa,CAChCyG,UAAWhkI,IAGbx2L,EAAM+zT,MAAM,QAAS,YAEzB,IACAuB,EAAgB3/T,KAAM,oCAAoC,WACxD,IAAK,IAAIglU,EAAQ1gU,UAAUlH,OAAQ4J,EAAO,IAAInG,MAAMmkU,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFj+T,EAAKi+T,GAAS3gU,UAAU2gU,GAE1B,GAAuB,kBAAZj+T,EAAK,GACdqD,EAAM66T,uBAAuBl/T,MAAMqE,EAAO20T,EAAmBh4T,EAAKN,MAAM,SACnE,CACL,IAAIy+T,EAAUn+T,EAAK,GACjB65L,EAAOskI,EAAQtkI,KAEfyjI,GADUa,EAAQZ,QACX7F,EAAyByG,EAAS1G,IAC3Cp0T,EAAM66T,uBAAuBrkI,EAAMyjI,EACrC,CACF,IACA3E,EAAgB3/T,KAAM,kBAAkB,WACtC,IAAK,IAAIolU,EAAQ9gU,UAAUlH,OAAQ4J,EAAO,IAAInG,MAAMukU,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFr+T,EAAKq+T,GAAS/gU,UAAU+gU,GAE1B,IAAId,EAA6B,kBAAZv9T,EAAK,GAAkBA,EAAK,GAAKA,EAAK,GAAGu9T,QAC9D,OAAQA,GACN,IAAK,QACHl6T,EAAMi7T,8BAA8Bt/T,MAAMqE,EAAOrD,GACjD,MACF,IAAK,WACHqD,EAAMk7T,iCAAiCv/T,MAAMqE,EAAOrD,GACpD,MACF,IAAK,SACHqD,EAAMm7T,qBAAqBx/T,MAAMqE,EAAO20T,EAAmBh4T,EAAKN,MAAM,KACtE,MACF,IAAK,aACL,IAAK,cACL,IAAK,OACL,IAAK,SACL,IAAK,YACH7C,QAAQC,KAAK,6BAA6BkH,OAAOu5T,IACjD,MACF,QACE1gU,QAAQC,KAAK,+BAA+BkH,OAAOu5T,IAEzD,IACA5E,EAAgB3/T,KAAM,iBAAiB,WACrC,IAAK,IAAIylU,EAAQnhU,UAAUlH,OAAQ4J,EAAO,IAAInG,MAAM4kU,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpF1+T,EAAK0+T,GAASphU,UAAUohU,GAEH,kBAAZ1+T,EAAK,KACdA,EAAK,GAAK24T,EAAgB,CAAC,EAAG34T,EAAK,GAAIA,EAAK,KAE9CqD,EAAM+zT,MAAM,MAAO/zT,EAAMk5T,eAAev8T,EAAK,IAC/C,IACA24T,EAAgB3/T,KAAM,cAAc,SAAU2lU,GAC5C,IAAK,IAAIC,EAAQthU,UAAUlH,OAAQ4J,EAAO,IAAInG,MAAM+kU,EAAQ,EAAIA,EAAQ,EAAI,GAAIC,EAAQ,EAAGA,EAAQD,EAAOC,IACxG7+T,EAAK6+T,EAAQ,GAAKvhU,UAAUuhU,GAE9B,OAAQF,GACN,IAAK,OACHt7T,EAAMy7T,eAAe9/T,MAAMqE,EAAOrD,GAClC,MACF,IAAK,MACHqD,EAAM07T,cAAc//T,MAAMqE,EAAOrD,GACjC,MACF,QACEnD,QAAQC,KAAK,0BAA0BkH,OAAO26T,IAEpD,IACAhG,EAAgB3/T,KAAM,MAAM,WAC1B,IAAK,IAAIgmU,EAAQ1hU,UAAUlH,OAAQ4J,EAAO,IAAInG,MAAMmlU,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFj/T,EAAKi/T,GAAS3hU,UAAU2hU,GAE1B,GAAuB,kBAAZj/T,EAAK,GACdqD,EAAMq5T,WAAW19T,MAAMqE,EAAOrD,OACzB,CACL,IAAIk/T,EAAgBl/T,EAAK,GACzBqD,EAAM+zT,MAAM,MAAO/zT,EAAM22T,sBAAuB,aAAa,SAAUmB,GACrE93T,EAAM62T,YAAa,EACnB,IAAIsC,EAASn5T,EAAM82T,WAMnB,IALA+E,EAAc,CACZzhU,IAAK,SAAazC,GAChB,MAAoB,aAAbA,EAA0BmgU,EAAwB,eAAbngU,EAA4BqI,EAAM22T,sBAAqC,eAAbh/T,EAA4B,SAAMxE,CAC1I,IAEKgmU,EAAOpmU,QAAQ,CACpB,IAAIiqS,EAAQm8B,EAAO3+T,QACnBwF,EAAM+zT,MAAMp4T,MAAMqE,EAAO20T,EAAmB33B,GAC9C,CACF,IACAh9R,EAAM62T,YAAa,CACrB,CACA,OAAO72T,EAAM87T,EACf,IACAxG,EAAgB3/T,KAAM,SAAS,SAAUomU,EAAep9T,GACtD,GAA6B,kBAAlBo9T,EACT/7T,EAAM+zT,MAAM,QAASgI,EAAe/7T,EAAMk5T,eAAev6T,QACpD,CACL,IAAIib,EAASmiT,EAAcniT,OACzBoiT,EAAWD,EAAcC,SACzBziQ,EAAQwiQ,EAAcxiQ,MACtB7mE,EAAQqpU,EAAcrpU,MACtB6lU,EAAiBwD,EAAcxD,eAC/B0D,EAAYF,EAAcE,UAC5B,IAAKD,IAAapiT,EAEhB,YADApgB,QAAQC,KAAK,yDAKf,IAAIyiU,EAAc,CAChBhC,QAAS,QACTZ,eAAe,EAAIrF,EAAiB,SAAG+H,GACvCzC,aAAa,EAAItF,EAAiB,SAAGr6S,IAInC2/C,IACF2iQ,EAAY1C,YAAa,EAAIvF,EAAiB,SAAG16P,IAE9B,qBAAV7mE,IACY,kBAAVA,EACT8G,QAAQC,KAAK,6CAEbyiU,EAAYzC,WAAa/mU,GAGC,qBAAnB6lU,IACqB,mBAAnBA,EACT/+T,QAAQC,KAAK,4CAEbyiU,EAAY3D,eAAiBA,GAGR,qBAAd0D,IACgB,kBAAdA,EACTziU,QAAQC,KAAK,wCAE0C,IAAnD,CAAC,SAAU,MAAO,SAASvC,QAAQ+kU,IACrCziU,QAAQC,KAAK,mFAEfyiU,EAAYD,UAAYA,IAG5Bj8T,EAAMq5T,WAAW,OAAQ6C,EAC3B,CACF,IACA5G,EAAgB3/T,KAAM,QAAQ,SAAUumU,GACtCl8T,EAAMq5T,WAAW,OAAQ6C,EAC3B,IACAvmU,KAAKykB,OACP,CAzYF,IAAsBm8S,EAAa4F,EAAYC,EAgZ7C,OAhZoB7F,EA0YPzC,EA1YoBqI,EA0Yf,CAAC,CACjBxlU,IAAK,OACLjE,MAAO,WACLiD,KAAKo+T,MAAMp4T,MAAMhG,KAAMsE,UACzB,IA9Y8DkiU,GAAYlG,EAAkBM,EAAY1gU,UAAWsmU,GAAiBC,GAAanG,EAAkBM,EAAa6F,GAAcxnU,OAAOC,eAAe0hU,EAAa,YAAa,CAAE78T,UAAU,IAgZrPo6T,CACT,CAnWuB,GAoWvBh/T,EAAQg/T,IAAMA,EACd,IAAIuI,EAAW,IAAIvI,EACnBh/T,EAAiB,QAAIunU,4BC/arBznU,OAAOC,eAAeC,EAAS,aAAc,CAC3CpC,OAAO,IAEToC,EAAiB,aAAI,EACrB,IAeIunU,EAfO,WACT,IAAK,IAAItF,EAAO98T,UAAUlH,OAAQ4J,EAAO,IAAInG,MAAMugU,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC/Er6T,EAAKq6T,GAAQ/8T,UAAU+8T,GAGvB,IAAIsF,EADgB,qBAAXpgU,SAEkB,qBAAhBA,OAAOo7T,OAChBp7T,OAAOm7T,UAAYn7T,OAAOm7T,WAAa,GACvCn7T,OAAOo7T,KAAO,WACZp7T,OAAOm7T,UAAU1iU,KAAKsF,UACxB,IAEDqiU,EAAUpgU,QAAQo7T,KAAK37T,MAAM2gU,EAAS3/T,GAE3C,EAEA7H,EAAiB,QAAIunU,+BCpBrB,SAAS3H,EAAQ19T,GAAkC,OAAO09T,EAAU,mBAAqBrkS,QAAU,iBAAmBA,OAAOC,SAAW,SAAUt5B,GAAO,cAAcA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAO,mBAAqBq5B,QAAUr5B,EAAIK,cAAgBg5B,QAAUr5B,IAAQq5B,OAAOx6B,UAAY,gBAAkBmB,CAAK,EAAG09T,EAAQ19T,EAAM,CAI/UlC,EAAAA,QAAqD,EACrD,IAAIynU,EAEJ,SAAiCvlU,EAAKwlU,GAAe,IAAKA,GAAexlU,GAAOA,EAAIy1Q,WAAc,OAAOz1Q,EAAO,GAAY,OAARA,GAAiC,WAAjB09T,EAAQ19T,IAAoC,oBAARA,EAAsB,MAAO,CAAE,QAAWA,GAAS,IAAIylU,EAAQC,EAAyBF,GAAc,GAAIC,GAASA,EAAM72R,IAAI5uC,GAAQ,OAAOylU,EAAMriU,IAAIpD,GAAQ,IAAI2lU,EAAS,CAAC,EAAOC,EAAwBhoU,OAAOC,gBAAkBD,OAAOgQ,yBAA0B,IAAK,IAAIjO,KAAOK,EAAO,GAAY,YAARL,GAAqB/B,OAAOiB,UAAUuC,eAAesD,KAAK1E,EAAKL,GAAM,CAAE,IAAI6N,EAAOo4T,EAAwBhoU,OAAOgQ,yBAAyB5N,EAAKL,GAAO,KAAU6N,IAASA,EAAKpK,KAAOoK,EAAK/J,KAAQ7F,OAAOC,eAAe8nU,EAAQhmU,EAAK6N,GAAgBm4T,EAAOhmU,GAAOK,EAAIL,EAAQ,CAAIgmU,EAAgB,QAAI3lU,EAASylU,GAASA,EAAMhiU,IAAIzD,EAAK2lU,GAAW,OAAOA,CAAQ,CAFhyBE,CAAwBlwD,EAAQ,MAC1C,SAAS+vD,EAAyBF,GAAe,GAAuB,oBAAZ7S,QAAwB,OAAO,KAAM,IAAImT,EAAoB,IAAInT,QAAeoT,EAAmB,IAAIpT,QAAW,OAAQ+S,EAA2B,SAAkCF,GAAe,OAAOA,EAAcO,EAAmBD,CAAmB,GAAGN,EAAc,CAElTD,EAAIzI,IAEhC,IAAIuI,EAAWE,EAAa,QAC5BznU,EAAAA,GAAqBunU,6BCJR,IAAInoU,EAAE,oBAAoBm8B,QAAQA,OAAOy1P,IAAIphR,EAAExQ,EAAEm8B,OAAOy1P,IAAI,iBAAiB,MAAMrhR,EAAEvQ,EAAEm8B,OAAOy1P,IAAI,gBAAgB,MAAM1xR,EAAEF,EAAEm8B,OAAOy1P,IAAI,kBAAkB,MAAMrnR,EAAEvK,EAAEm8B,OAAOy1P,IAAI,qBAAqB,MAAMp4P,EAAEx5B,EAAEm8B,OAAOy1P,IAAI,kBAAkB,MAAMjmO,EAAE3rD,EAAEm8B,OAAOy1P,IAAI,kBAAkB,MAAMzlO,EAAEnsD,EAAEm8B,OAAOy1P,IAAI,iBAAiB,MAAMh5C,EAAE54O,EAAEm8B,OAAOy1P,IAAI,oBAAoB,MAAMv1P,EAAEr8B,EAAEm8B,OAAOy1P,IAAI,yBAAyB,MAAMl1P,EAAE18B,EAAEm8B,OAAOy1P,IAAI,qBAAqB,MAAM5rR,EAAEhG,EAAEm8B,OAAOy1P,IAAI,kBAAkB,MAAM7kO,EAAE/sD,EACpfm8B,OAAOy1P,IAAI,uBAAuB,MAAMnhR,EAAEzQ,EAAEm8B,OAAOy1P,IAAI,cAAc,MAAMl/P,EAAE1yB,EAAEm8B,OAAOy1P,IAAI,cAAc,MAAMlrR,EAAE1G,EAAEm8B,OAAOy1P,IAAI,eAAe,MAAM6e,EAAEzwS,EAAEm8B,OAAOy1P,IAAI,qBAAqB,MAAMluN,EAAE1jE,EAAEm8B,OAAOy1P,IAAI,mBAAmB,MAAMnuN,EAAEzjE,EAAEm8B,OAAOy1P,IAAI,eAAe,MAClQ,SAAS0T,EAAEvlS,GAAG,GAAG,kBAAkBA,GAAG,OAAOA,EAAE,CAAC,IAAIslS,EAAEtlS,EAAE4xR,SAAS,OAAO0T,GAAG,KAAK70R,EAAE,OAAOzQ,EAAEA,EAAEgT,MAAQ,KAAK6lO,EAAE,KAAKv8M,EAAE,KAAKn8B,EAAE,KAAKs5B,EAAE,KAAKjvB,EAAE,KAAKvE,EAAE,OAAOjG,EAAE,QAAQ,OAAOA,EAAEA,GAAGA,EAAE4xR,UAAY,KAAKxlO,EAAE,KAAKzvB,EAAE,KAAKhK,EAAE,KAAKjiB,EAAE,KAAKk7C,EAAE,OAAO5rD,EAAE,QAAQ,OAAOslS,GAAG,KAAK90R,EAAE,OAAO80R,EAAE,CAAC,CAAC,SAASxiN,EAAE9iF,GAAG,OAAOulS,EAAEvlS,KAAKs8B,CAAC,CAACz7B,EAAQkoU,UAAUlwF,EAAEh4O,EAAQmoU,eAAe1sS,EAAEz7B,EAAQooU,gBAAgB78Q,EAAEvrD,EAAQqoU,gBAAgBt9Q,EAAE/qD,EAAQk7D,QAAQtrD,EAAE5P,EAAQgiS,WAAWlmQ,EAAE97B,EAAQmiR,SAAS7iR,EAAEU,EAAQsoU,KAAKx2S,EAAE9xB,EAAQiiS,KAAKpyR,EAAE7P,EAAQuoU,OAAO54T,EAChf3P,EAAQwoU,SAAS5vS,EAAE54B,EAAQyoU,WAAW9+T,EAAE3J,EAAQ0oU,SAAStjU,EAAEpF,EAAQ2oU,YAAY,SAASxpU,GAAG,OAAO8iF,EAAE9iF,IAAIulS,EAAEvlS,KAAK64O,CAAC,EAAEh4O,EAAQ4oU,iBAAiB3mP,EAAEjiF,EAAQ6oU,kBAAkB,SAAS1pU,GAAG,OAAOulS,EAAEvlS,KAAKosD,CAAC,EAAEvrD,EAAQ8oU,kBAAkB,SAAS3pU,GAAG,OAAOulS,EAAEvlS,KAAK4rD,CAAC,EAAE/qD,EAAQsgE,UAAU,SAASnhE,GAAG,MAAM,kBAAkBA,GAAG,OAAOA,GAAGA,EAAE4xR,WAAWnhR,CAAC,EAAE5P,EAAQ+oU,aAAa,SAAS5pU,GAAG,OAAOulS,EAAEvlS,KAAK28B,CAAC,EAAE97B,EAAQgpU,WAAW,SAAS7pU,GAAG,OAAOulS,EAAEvlS,KAAKG,CAAC,EAAEU,EAAQipU,OAAO,SAAS9pU,GAAG,OAAOulS,EAAEvlS,KAAK2yB,CAAC,EAC1d9xB,EAAQ+hS,OAAO,SAAS5iS,GAAG,OAAOulS,EAAEvlS,KAAK0Q,CAAC,EAAE7P,EAAQkpU,SAAS,SAAS/pU,GAAG,OAAOulS,EAAEvlS,KAAKwQ,CAAC,EAAE3P,EAAQmpU,WAAW,SAAShqU,GAAG,OAAOulS,EAAEvlS,KAAKy5B,CAAC,EAAE54B,EAAQopU,aAAa,SAASjqU,GAAG,OAAOulS,EAAEvlS,KAAKwK,CAAC,EAAE3J,EAAQqpU,WAAW,SAASlqU,GAAG,OAAOulS,EAAEvlS,KAAKiG,CAAC,EAC1OpF,EAAQspU,mBAAmB,SAASnqU,GAAG,MAAM,kBAAkBA,GAAG,oBAAoBA,GAAGA,IAAIG,GAAGH,IAAIs8B,GAAGt8B,IAAIy5B,GAAGz5B,IAAIwK,GAAGxK,IAAIiG,GAAGjG,IAAIgtD,GAAG,kBAAkBhtD,GAAG,OAAOA,IAAIA,EAAE4xR,WAAWj/P,GAAG3yB,EAAE4xR,WAAWlhR,GAAG1Q,EAAE4xR,WAAWhmO,GAAG5rD,EAAE4xR,WAAWxlO,GAAGpsD,EAAE4xR,WAAWj1P,GAAG38B,EAAE4xR,WAAW8e,GAAG1wS,EAAE4xR,WAAWjuN,GAAG3jE,EAAE4xR,WAAWluN,GAAG1jE,EAAE4xR,WAAWjrR,EAAE,EAAE9F,EAAQupU,OAAO7kC,+BCXjUnwR,EAAOvU,QAAU,EAAjBuU,mCCKWsjQ,EAAQ,MAAiB,IAAIluQ,EAAEkuQ,EAAQ,MAASj/O,EAAE,MAA6B,GAAvB54B,EAAQmiR,SAAS,MAAS,oBAAoB5mP,QAAQA,OAAOy1P,IAAI,CAAC,IAAIjmO,EAAExvB,OAAOy1P,IAAIp4P,EAAEmyB,EAAE,iBAAiB/qD,EAAQmiR,SAASp3N,EAAE,iBAAiB,CAAC,IAAItvB,EAAE9xB,EAAEi8R,mDAAmD0rB,kBAAkBx1R,EAAEh8B,OAAOiB,UAAUuC,eAAe8B,EAAE,CAACvD,KAAI,EAAG4oE,KAAI,EAAG++P,QAAO,EAAGC,UAAS,GACrW,SAASt9Q,EAAEv8C,EAAEzQ,EAAEosD,GAAG,IAAInsD,EAAEuQ,EAAE,CAAC,EAAErQ,EAAE,KAAK04O,EAAE,KAAiF,IAAI54O,UAAhF,IAASmsD,IAAIjsD,EAAE,GAAGisD,QAAG,IAASpsD,EAAE0C,MAAMvC,EAAE,GAAGH,EAAE0C,UAAK,IAAS1C,EAAEsrE,MAAMutK,EAAE74O,EAAEsrE,KAActrE,EAAE28B,EAAEl1B,KAAKzH,EAAEC,KAAKgG,EAAE9B,eAAelE,KAAKuQ,EAAEvQ,GAAGD,EAAEC,IAAI,GAAGwQ,GAAGA,EAAEqsQ,aAAa,IAAI78Q,KAAKD,EAAEyQ,EAAEqsQ,kBAAe,IAAStsQ,EAAEvQ,KAAKuQ,EAAEvQ,GAAGD,EAAEC,IAAI,MAAM,CAAC2xR,SAASn4P,EAAEzmB,KAAKvC,EAAE/N,IAAIvC,EAAEmrE,IAAIutK,EAAEzpO,MAAMoB,EAAEg8S,OAAOlwR,EAAEkjP,QAAQ,CAAC3+Q,EAAQ0pU,IAAIv9Q,EAAEnsD,EAAQ2pU,KAAKx9Q,+BCD1U,IAAI6rL,EAAE6/B,EAAQ,MAAiB/7O,EAAE,MAAM12B,EAAE,MAAMpF,EAAQmiR,SAAS,MAAMniR,EAAQyoU,WAAW,MAAMzoU,EAAQwoU,SAAS,MAAM,IAAIr8Q,EAAE,MAAMt8C,EAAE,MAAMiiB,EAAE,MAAM9xB,EAAQ0oU,SAAS,MAAM,IAAIjkC,EAAE,MAAM3+R,EAAE,MACpM,GAAG,oBAAoBy1B,QAAQA,OAAOy1P,IAAI,CAAC,IAAI6e,EAAEt0Q,OAAOy1P,IAAIl1P,EAAE+zQ,EAAE,iBAAiBzqS,EAAEyqS,EAAE,gBAAgB7vS,EAAQmiR,SAAS0tB,EAAE,kBAAkB7vS,EAAQyoU,WAAW54B,EAAE,qBAAqB7vS,EAAQwoU,SAAS34B,EAAE,kBAAkB1jP,EAAE0jP,EAAE,kBAAkBhgS,EAAEggS,EAAE,iBAAiB/9Q,EAAE+9Q,EAAE,qBAAqB7vS,EAAQ0oU,SAAS74B,EAAE,kBAAkBpL,EAAEoL,EAAE,cAAc/pS,EAAE+pS,EAAE,aAAa,CAAC,IAAI/sO,EAAE,oBAAoBvnC,QAAQA,OAAOC,SACtR,SAASkpQ,EAAEvlS,GAAG,IAAI,IAAIC,EAAE,yDAAyDD,EAAEyQ,EAAE,EAAEA,EAAEzK,UAAUlH,OAAO2R,IAAIxQ,GAAG,WAAW62R,mBAAmB9wR,UAAUyK,IAAI,MAAM,yBAAyBzQ,EAAE,WAAWC,EAAE,gHAAgH,CACpb,IAAI6iF,EAAE,CAACgsN,UAAU,WAAW,OAAM,CAAE,EAAEC,mBAAmB,WAAW,EAAEC,oBAAoB,WAAW,EAAEC,gBAAgB,WAAW,GAAGniP,EAAE,CAAC,EAAE,SAASi2B,EAAE/iF,EAAEC,EAAEwQ,GAAG/O,KAAK0N,MAAMpP,EAAE0B,KAAKiH,QAAQ1I,EAAEyB,KAAK6pT,KAAKz+P,EAAEprD,KAAKwtS,QAAQz+R,GAAGqyE,CAAC,CACrN,SAASG,IAAI,CAAyB,SAASijN,EAAElmS,EAAEC,EAAEwQ,GAAG/O,KAAK0N,MAAMpP,EAAE0B,KAAKiH,QAAQ1I,EAAEyB,KAAK6pT,KAAKz+P,EAAEprD,KAAKwtS,QAAQz+R,GAAGqyE,CAAC,CADqGC,EAAEnhF,UAAU+vR,iBAAiB,CAAC,EAAE5uM,EAAEnhF,UAAUmV,SAAS,SAAS/W,EAAEC,GAAG,GAAG,kBAAkBD,GAAG,oBAAoBA,GAAG,MAAMA,EAAE,MAAM2L,MAAM45R,EAAE,KAAK7jS,KAAKwtS,QAAQD,gBAAgBvtS,KAAK1B,EAAEC,EAAE,WAAW,EAAE8iF,EAAEnhF,UAAUyyR,YAAY,SAASr0R,GAAG0B,KAAKwtS,QAAQH,mBAAmBrtS,KAAK1B,EAAE,cAAc,EACjeijF,EAAErhF,UAAUmhF,EAAEnhF,UAAsF,IAAIukS,EAAED,EAAEtkS,UAAU,IAAIqhF,EAAEkjN,EAAE/iS,YAAY8iS,EAAErtD,EAAEstD,EAAEpjN,EAAEnhF,WAAWukS,EAAE4lB,sBAAqB,EAAG,IAAI1b,EAAE,CAAC7wB,QAAQ,MAAMhzN,EAAE7rD,OAAOiB,UAAUuC,eAAewiS,EAAE,CAACjkS,KAAI,EAAG4oE,KAAI,EAAG++P,QAAO,EAAGC,UAAS,GAChS,SAASxjC,EAAE9mS,EAAEC,EAAEwQ,GAAG,IAAItQ,EAAEqQ,EAAE,CAAC,EAAE47C,EAAE,KAAKR,EAAE,KAAK,GAAG,MAAM3rD,EAAE,IAAIE,UAAK,IAASF,EAAEqrE,MAAM1f,EAAE3rD,EAAEqrE,UAAK,IAASrrE,EAAEyC,MAAM0pD,EAAE,GAAGnsD,EAAEyC,KAAKzC,EAAEusD,EAAE/kD,KAAKxH,EAAEE,KAAKwmS,EAAExiS,eAAehE,KAAKqQ,EAAErQ,GAAGF,EAAEE,IAAI,IAAIs5B,EAAEzzB,UAAUlH,OAAO,EAAE,GAAG,IAAI26B,EAAEjpB,EAAE4V,SAAS3V,OAAO,GAAG,EAAEgpB,EAAE,CAAC,IAAI,IAAIjvB,EAAEjI,MAAMk3B,GAAG6C,EAAE,EAAEA,EAAE7C,EAAE6C,IAAI9xB,EAAE8xB,GAAGt2B,UAAUs2B,EAAE,GAAG9rB,EAAE4V,SAAS5b,CAAC,CAAC,GAAGxK,GAAGA,EAAE88Q,aAAa,IAAI38Q,KAAKs5B,EAAEz5B,EAAE88Q,kBAAe,IAAStsQ,EAAErQ,KAAKqQ,EAAErQ,GAAGs5B,EAAEt5B,IAAI,MAAM,CAACyxR,SAASj1P,EAAE3pB,KAAKhT,EAAE0C,IAAI0pD,EAAEkf,IAAI1f,EAAEx8C,MAAMoB,EAAEg8S,OAAOnc,EAAE7wB,QAAQ,CAChV,SAAS4wB,EAAEpwS,GAAG,MAAM,kBAAkBA,GAAG,OAAOA,GAAGA,EAAE4xR,WAAWj1P,CAAC,CAAoG,IAAI2qQ,EAAE,OAAO,SAASM,EAAE5nS,EAAEC,GAAG,MAAM,kBAAkBD,GAAG,OAAOA,GAAG,MAAMA,EAAE0C,IAA7K,SAAgB1C,GAAG,IAAIC,EAAE,CAAC,IAAI,KAAK,IAAI,MAAM,MAAM,IAAID,EAAEiK,QAAQ,SAAQ,SAASjK,GAAG,OAAOC,EAAED,EAAE,GAAE,CAA+EyqU,CAAO,GAAGzqU,EAAE0C,KAAKzC,EAAEjB,SAAS,GAAG,CAC/W,SAASipS,EAAEjoS,EAAEC,EAAEwQ,EAAEtQ,EAAEqQ,GAAG,IAAI47C,SAASpsD,EAAK,cAAcosD,GAAG,YAAYA,IAAEpsD,EAAE,MAAK,IAAI4rD,GAAE,EAAG,GAAG,OAAO5rD,EAAE4rD,GAAE,OAAQ,OAAOQ,GAAG,IAAK,SAAS,IAAK,SAASR,GAAE,EAAG,MAAM,IAAK,SAAS,OAAO5rD,EAAE4xR,UAAU,KAAKj1P,EAAE,KAAK12B,EAAE2lD,GAAE,GAAI,GAAGA,EAAE,OAAWp7C,EAAEA,EAANo7C,EAAE5rD,GAASA,EAAE,KAAKG,EAAE,IAAIynS,EAAEh8O,EAAE,GAAGzrD,EAAEoC,MAAMC,QAAQgO,IAAIC,EAAE,GAAG,MAAMzQ,IAAIyQ,EAAEzQ,EAAEiK,QAAQq9R,EAAE,OAAO,KAAKW,EAAEz3R,EAAEvQ,EAAEwQ,EAAE,IAAG,SAASzQ,GAAG,OAAOA,CAAC,KAAI,MAAMwQ,IAAI4/R,EAAE5/R,KAAKA,EAD/W,SAAWxQ,EAAEC,GAAG,MAAM,CAAC2xR,SAASj1P,EAAE3pB,KAAKhT,EAAEgT,KAAKtQ,IAAIzC,EAAEqrE,IAAItrE,EAAEsrE,IAAIl8D,MAAMpP,EAAEoP,MAAMo9S,OAAOxsT,EAAEwsT,OAAO,CACqRxlB,CAAEx2R,EAAEC,IAAID,EAAE9N,KAAKkpD,GAAGA,EAAElpD,MAAM8N,EAAE9N,IAAI,IAAI,GAAG8N,EAAE9N,KAAKuH,QAAQq9R,EAAE,OAAO,KAAKtnS,IAAIC,EAAES,KAAK8P,IAAI,EAAyB,GAAvBo7C,EAAE,EAAEzrD,EAAE,KAAKA,EAAE,IAAIA,EAAE,IAAOoC,MAAMC,QAAQxC,GAAG,IAAI,IAAIy5B,EACzf,EAAEA,EAAEz5B,EAAElB,OAAO26B,IAAI,CAAQ,IAAIjvB,EAAErK,EAAEynS,EAAfx7O,EAAEpsD,EAAEy5B,GAAeA,GAAGmyB,GAAGq8O,EAAE77O,EAAEnsD,EAAEwQ,EAAEjG,EAAEgG,EAAE,MAAM,GAAGhG,EANhE,SAAWxK,GAAG,OAAG,OAAOA,GAAG,kBAAkBA,EAAS,KAAsC,oBAAjCA,EAAE2jE,GAAG3jE,EAAE2jE,IAAI3jE,EAAE,eAA0CA,EAAE,IAAI,CAMtD0jE,CAAE1jE,GAAG,oBAAoBwK,EAAE,IAAIxK,EAAEwK,EAAE/C,KAAKzH,GAAGy5B,EAAE,IAAI2yB,EAAEpsD,EAAEu8B,QAAQC,MAA6BovB,GAAGq8O,EAA1B77O,EAAEA,EAAE3tD,MAA0BwB,EAAEwQ,EAAtBjG,EAAErK,EAAEynS,EAAEx7O,EAAE3yB,KAAkBjpB,QAAQ,GAAG,WAAW47C,EAAE,MAAMnsD,EAAE,GAAGD,EAAE2L,MAAM45R,EAAE,GAAG,oBAAoBtlS,EAAE,qBAAqBU,OAAOmB,KAAK9B,GAAG6M,KAAK,MAAM,IAAI5M,IAAI,OAAO2rD,CAAC,CAAC,SAAS28O,EAAEvoS,EAAEC,EAAEwQ,GAAG,GAAG,MAAMzQ,EAAE,OAAOA,EAAE,IAAIG,EAAE,GAAGqQ,EAAE,EAAmD,OAAjDy3R,EAAEjoS,EAAEG,EAAE,GAAG,IAAG,SAASH,GAAG,OAAOC,EAAEwH,KAAKgJ,EAAEzQ,EAAEwQ,IAAI,IAAUrQ,CAAC,CAC3Z,SAASqoS,EAAExoS,GAAG,IAAI,IAAIA,EAAE0qU,QAAQ,CAAC,IAAIzqU,EAAED,EAAE2qU,QAAQ1qU,EAAEA,IAAID,EAAE0qU,QAAQ,EAAE1qU,EAAE2qU,QAAQ1qU,EAAEA,EAAEwkE,MAAK,SAASxkE,GAAG,IAAID,EAAE0qU,UAAUzqU,EAAEA,EAAEk5Q,QAAQn5Q,EAAE0qU,QAAQ,EAAE1qU,EAAE2qU,QAAQ1qU,EAAE,IAAE,SAASA,GAAG,IAAID,EAAE0qU,UAAU1qU,EAAE0qU,QAAQ,EAAE1qU,EAAE2qU,QAAQ1qU,EAAE,GAAE,CAAC,GAAG,IAAID,EAAE0qU,QAAQ,OAAO1qU,EAAE2qU,QAAQ,MAAM3qU,EAAE2qU,OAAQ,CAAC,IAAIliC,EAAE,CAACjpB,QAAQ,MAAM,SAAS3yN,IAAI,IAAI7sD,EAAEyoS,EAAEjpB,QAAQ,GAAG,OAAOx/Q,EAAE,MAAM2L,MAAM45R,EAAE,MAAM,OAAOvlS,CAAC,CAAC,IAAI0oS,EAAE,CAACoF,uBAAuBrF,EAAE0gB,wBAAwB,CAAChrJ,WAAW,GAAGg0J,kBAAkB9hB,EAAEu6B,qBAAqB,CAACprD,SAAQ,GAAInuP,OAAOwnN,GACjeh4O,EAAQoxR,SAAS,CAAC5mR,IAAIk9R,EAAE9nS,QAAQ,SAAST,EAAEC,EAAEwQ,GAAG83R,EAAEvoS,GAAE,WAAWC,EAAEyH,MAAMhG,KAAKsE,UAAU,GAAEyK,EAAE,EAAEtO,MAAM,SAASnC,GAAG,IAAIC,EAAE,EAAuB,OAArBsoS,EAAEvoS,GAAE,WAAWC,GAAG,IAAUA,CAAC,EAAE2tS,QAAQ,SAAS5tS,GAAG,OAAOuoS,EAAEvoS,GAAE,SAASA,GAAG,OAAOA,CAAC,KAAI,EAAE,EAAE6qU,KAAK,SAAS7qU,GAAG,IAAIowS,EAAEpwS,GAAG,MAAM2L,MAAM45R,EAAE,MAAM,OAAOvlS,CAAC,GAAGa,EAAQy4E,UAAUyJ,EAAEliF,EAAQiqU,cAAc5kC,EAAErlS,EAAQ4lS,mDAAmDiC,EAChX7nS,EAAQkqU,aAAa,SAAS/qU,EAAEC,EAAEwQ,GAAG,GAAG,OAAOzQ,QAAG,IAASA,EAAE,MAAM2L,MAAM45R,EAAE,IAAIvlS,IAAI,IAAIG,EAAE04O,EAAE,CAAC,EAAE74O,EAAEoP,OAAOoB,EAAExQ,EAAE0C,IAAI0pD,EAAEpsD,EAAEsrE,IAAI1f,EAAE5rD,EAAEwsT,OAAO,GAAG,MAAMvsT,EAAE,CAAoE,QAAnE,IAASA,EAAEqrE,MAAMlf,EAAEnsD,EAAEqrE,IAAI1f,EAAEykP,EAAE7wB,cAAS,IAASv/Q,EAAEyC,MAAM8N,EAAE,GAAGvQ,EAAEyC,KAAQ1C,EAAEgT,MAAMhT,EAAEgT,KAAK8pQ,aAAa,IAAIrjP,EAAEz5B,EAAEgT,KAAK8pQ,aAAa,IAAItyQ,KAAKvK,EAAEusD,EAAE/kD,KAAKxH,EAAEuK,KAAKm8R,EAAExiS,eAAeqG,KAAKrK,EAAEqK,QAAG,IAASvK,EAAEuK,SAAI,IAASivB,EAAEA,EAAEjvB,GAAGvK,EAAEuK,GAAG,CAAC,IAAIA,EAAExE,UAAUlH,OAAO,EAAE,GAAG,IAAI0L,EAAErK,EAAEimB,SAAS3V,OAAO,GAAG,EAAEjG,EAAE,CAACivB,EAAEl3B,MAAMiI,GAAG,IAAI,IAAI8xB,EAAE,EAAEA,EAAE9xB,EAAE8xB,IAAI7C,EAAE6C,GAAGt2B,UAAUs2B,EAAE,GAAGn8B,EAAEimB,SAASqT,CAAC,CAAC,MAAM,CAACm4P,SAASj1P,EAAE3pB,KAAKhT,EAAEgT,KACxftQ,IAAI8N,EAAE86D,IAAIlf,EAAEh9C,MAAMjP,EAAEqsT,OAAO5gQ,EAAE,EAAE/qD,EAAQ++Q,cAAc,SAAS5/Q,EAAEC,GAA8K,YAA3K,IAASA,IAAIA,EAAE,OAAMD,EAAE,CAAC4xR,SAASlhR,EAAEgsT,sBAAsBz8T,EAAEypT,cAAc1pT,EAAE6mS,eAAe7mS,EAAE4mS,aAAa,EAAE/a,SAAS,KAAKm/C,SAAS,OAAQn/C,SAAS,CAAC+F,SAAS5kO,EAAEo5O,SAASpmS,GAAUA,EAAEgrU,SAAShrU,CAAC,EAAEa,EAAQyqB,cAAcw7Q,EAAEjmS,EAAQoqU,cAAc,SAASjrU,GAAG,IAAIC,EAAE6mS,EAAE76R,KAAK,KAAKjM,GAAY,OAATC,EAAE+S,KAAKhT,EAASC,CAAC,EAAEY,EAAQu+Q,UAAU,WAAW,MAAM,CAACI,QAAQ,KAAK,EAAE3+Q,EAAQm/Q,WAAW,SAAShgR,GAAG,MAAM,CAAC4xR,SAASj/P,EAAEomP,OAAO/4Q,EAAE,EAAEa,EAAQyuS,eAAec,EAC3evvS,EAAQqqU,KAAK,SAASlrU,GAAG,MAAM,CAAC4xR,SAASjrR,EAAE2/R,SAAS,CAACokC,SAAS,EAAEC,QAAQ3qU,GAAGumS,MAAMiC,EAAE,EAAE3nS,EAAQuiR,KAAK,SAASpjR,EAAEC,GAAG,MAAM,CAAC2xR,SAAS0T,EAAEtyR,KAAKhT,EAAEyiS,aAAQ,IAASxiS,EAAE,KAAKA,EAAE,EAAEY,EAAQ0gR,YAAY,SAASvhR,EAAEC,GAAG,OAAO4sD,IAAI00N,YAAYvhR,EAAEC,EAAE,EAAEY,EAAQo/Q,WAAW,SAASjgR,EAAEC,GAAG,OAAO4sD,IAAIozN,WAAWjgR,EAAEC,EAAE,EAAEY,EAAQkpS,cAAc,WAAW,EAAElpS,EAAQ2hR,UAAU,SAASxiR,EAAEC,GAAG,OAAO4sD,IAAI21N,UAAUxiR,EAAEC,EAAE,EAAEY,EAAQqgR,oBAAoB,SAASlhR,EAAEC,EAAEwQ,GAAG,OAAOo8C,IAAIq0N,oBAAoBlhR,EAAEC,EAAEwQ,EAAE,EAChd5P,EAAQipS,gBAAgB,SAAS9pS,EAAEC,GAAG,OAAO4sD,IAAIi9O,gBAAgB9pS,EAAEC,EAAE,EAAEY,EAAQmgR,QAAQ,SAAShhR,EAAEC,GAAG,OAAO4sD,IAAIm0N,QAAQhhR,EAAEC,EAAE,EAAEY,EAAQgpS,WAAW,SAAS7pS,EAAEC,EAAEwQ,GAAG,OAAOo8C,IAAIg9O,WAAW7pS,EAAEC,EAAEwQ,EAAE,EAAE5P,EAAQggR,OAAO,SAAS7gR,GAAG,OAAO6sD,IAAIg0N,OAAO7gR,EAAE,EAAEa,EAAQq/Q,SAAS,SAASlgR,GAAG,OAAO6sD,IAAIqzN,SAASlgR,EAAE,EAAEa,EAAQm0I,QAAQ,sCCnBnT5/H,EAAOvU,QAAU,EAAjBuU,kCCAAA,EAAOvU,QAAU,EAAjBuU,iCCKW,IAAI5K,EAAEivB,EAAEmyB,EAAEQ,EAAE,GAAG,kBAAkB++Q,aAAa,oBAAoBA,YAAY7sO,IAAI,CAAC,IAAIu6I,EAAEsyF,YAAYtqU,EAAQq4S,aAAa,WAAW,OAAOrgE,EAAEv6I,KAAK,CAAC,KAAK,CAAC,IAAIr4F,EAAEgD,KAAK+jD,EAAE/mD,EAAEq4F,MAAMz9F,EAAQq4S,aAAa,WAAW,OAAOjzS,EAAEq4F,MAAMtxC,CAAC,CAAC,CAC7O,GAAG,qBAAqB/kD,QAAQ,oBAAoBmjU,eAAe,CAAC,IAAIz4S,EAAE,KAAK2yQ,EAAE,KAAKoL,EAAE,WAAW,GAAG,OAAO/9Q,EAAE,IAAI,IAAI3yB,EAAEa,EAAQq4S,eAAevmR,GAAE,EAAG3yB,GAAG2yB,EAAE,IAAI,CAAC,MAAM1yB,GAAG,MAAMiI,WAAWwoS,EAAE,GAAGzwS,CAAE,CAAC,EAAEuK,EAAE,SAASxK,GAAG,OAAO2yB,EAAEzqB,WAAWsC,EAAE,EAAExK,IAAI2yB,EAAE3yB,EAAEkI,WAAWwoS,EAAE,GAAG,EAAEj3Q,EAAE,SAASz5B,EAAEC,GAAGqlS,EAAEp9R,WAAWlI,EAAEC,EAAE,EAAE2rD,EAAE,WAAW/iD,aAAay8R,EAAE,EAAEzkS,EAAQ2mT,qBAAqB,WAAW,OAAM,CAAE,EAAEp7P,EAAEvrD,EAAQwqU,wBAAwB,WAAW,CAAC,KAAK,CAAC,IAAI1nQ,EAAE17D,OAAOC,WAAWw7D,EAAEz7D,OAAOY,aAAa,GAAG,qBAAqBtD,QAAQ,CAAC,IAAIggS,EAC7ft9R,OAAOqjU,qBAAqB,oBAAoBrjU,OAAOs1M,uBAAuBh4M,QAAQ0H,MAAM,sJAAsJ,oBAAoBs4R,GAAGhgS,QAAQ0H,MAAM,oJAAoJ,CAAC,IAAI61E,GAAE,EAAGh2B,EAAE,KAAKi2B,GAAG,EAAEE,EAAE,EAAEijN,EAAE,EAAErlS,EAAQ2mT,qBAAqB,WAAW,OAAO3mT,EAAQq4S,gBAChgBhT,CAAC,EAAE95O,EAAE,WAAW,EAAEvrD,EAAQwqU,wBAAwB,SAASrrU,GAAG,EAAEA,GAAG,IAAIA,EAAEuF,QAAQ0H,MAAM,mHAAmHg2E,EAAE,EAAEjjF,EAAE4gB,KAAKmsC,MAAM,IAAI/sD,GAAG,CAAC,EAAE,IAAImmS,EAAE,IAAIilC,eAAe/6B,EAAElK,EAAEolC,MAAMplC,EAAEqlC,MAAMC,UAAU,WAAW,GAAG,OAAO3+Q,EAAE,CAAC,IAAI9sD,EAAEa,EAAQq4S,eAAehT,EAAElmS,EAAEijF,EAAE,IAAIn2B,GAAE,EAAG9sD,GAAGqwS,EAAEq7B,YAAY,OAAO5oP,GAAE,EAAGh2B,EAAE,KAAK,CAAC,MAAM7sD,GAAG,MAAMowS,EAAEq7B,YAAY,MAAMzrU,CAAE,CAAC,MAAM6iF,GAAE,CAAE,EAAEt4E,EAAE,SAASxK,GAAG8sD,EAAE9sD,EAAE8iF,IAAIA,GAAE,EAAGutN,EAAEq7B,YAAY,MAAM,EAAEjyS,EAAE,SAASz5B,EAAEC,GAAG8iF,EACtfpf,GAAE,WAAW3jE,EAAEa,EAAQq4S,eAAe,GAAEj5S,EAAE,EAAE2rD,EAAE,WAAW8X,EAAEqf,GAAGA,GAAG,CAAC,CAAC,CAAC,SAASv2B,EAAExsD,EAAEC,GAAG,IAAIwQ,EAAEzQ,EAAElB,OAAOkB,EAAEU,KAAKT,GAAGD,EAAE,OAAO,CAAC,IAAIwQ,EAAEC,EAAE,IAAI,EAAEtQ,EAAEH,EAAEwQ,GAAG,UAAG,IAASrQ,GAAG,EAAEwmS,EAAExmS,EAAEF,IAA0B,MAAMD,EAA7BA,EAAEwQ,GAAGvQ,EAAED,EAAEyQ,GAAGtQ,EAAEsQ,EAAED,CAAc,CAAC,CAAC,SAASs2R,EAAE9mS,GAAU,YAAO,KAAdA,EAAEA,EAAE,IAAqB,KAAKA,CAAC,CACjP,SAASgnS,EAAEhnS,GAAG,IAAIC,EAAED,EAAE,GAAG,QAAG,IAASC,EAAE,CAAC,IAAIwQ,EAAEzQ,EAAEgzE,MAAM,GAAGviE,IAAIxQ,EAAE,CAACD,EAAE,GAAGyQ,EAAEzQ,EAAE,IAAI,IAAIwQ,EAAE,EAAErQ,EAAEH,EAAElB,OAAO0R,EAAErQ,GAAG,CAAC,IAAIm8B,EAAE,GAAG9rB,EAAE,GAAG,EAAEmsB,EAAE38B,EAAEs8B,GAAG31B,EAAE21B,EAAE,EAAE5rB,EAAE1Q,EAAE2G,GAAG,QAAG,IAASg2B,GAAG,EAAEgqQ,EAAEhqQ,EAAElsB,QAAG,IAASC,GAAG,EAAEi2R,EAAEj2R,EAAEisB,IAAI38B,EAAEwQ,GAAGE,EAAE1Q,EAAE2G,GAAG8J,EAAED,EAAE7J,IAAI3G,EAAEwQ,GAAGmsB,EAAE38B,EAAEs8B,GAAG7rB,EAAED,EAAE8rB,OAAQ,WAAG,IAAS5rB,GAAG,EAAEi2R,EAAEj2R,EAAED,IAA0B,MAAMzQ,EAA7BA,EAAEwQ,GAAGE,EAAE1Q,EAAE2G,GAAG8J,EAAED,EAAE7J,CAAc,EAAC,CAAC,OAAO1G,CAAC,CAAC,OAAO,IAAI,CAAC,SAAS0mS,EAAE3mS,EAAEC,GAAG,IAAIwQ,EAAEzQ,EAAEmX,UAAUlX,EAAEkX,UAAU,OAAO,IAAI1G,EAAEA,EAAEzQ,EAAEq0C,GAAGp0C,EAAEo0C,EAAE,CAAC,IAAI+7P,EAAE,GAAG9I,EAAE,GAAGM,EAAE,EAAEK,EAAE,KAAKM,EAAE,EAAEC,GAAE,EAAGC,GAAE,EAAG57O,GAAE,EACja,SAAS67O,EAAE1oS,GAAG,IAAI,IAAIC,EAAE6mS,EAAEQ,GAAG,OAAOrnS,GAAG,CAAC,GAAG,OAAOA,EAAEqC,SAAS0kS,EAAEM,OAAQ,MAAGrnS,EAAEq0R,WAAWt0R,GAAgD,MAA9CgnS,EAAEM,GAAGrnS,EAAEkX,UAAUlX,EAAE0rU,eAAen/Q,EAAE4jP,EAAEnwS,EAAa,CAACA,EAAE6mS,EAAEQ,EAAE,CAAC,CAAC,SAASqB,EAAE3oS,GAAa,GAAV6sD,GAAE,EAAG67O,EAAE1oS,IAAOyoS,EAAE,GAAG,OAAO3B,EAAEsJ,GAAG3H,GAAE,EAAGj+R,EAAEw4E,OAAO,CAAC,IAAI/iF,EAAE6mS,EAAEQ,GAAG,OAAOrnS,GAAGw5B,EAAEkvQ,EAAE1oS,EAAEq0R,UAAUt0R,EAAE,CAAC,CACzP,SAASgjF,EAAEhjF,EAAEC,GAAGwoS,GAAE,EAAG57O,IAAIA,GAAE,EAAGjB,KAAK48O,GAAE,EAAG,IAAI/3R,EAAE83R,EAAE,IAAS,IAALG,EAAEzoS,GAAOgoS,EAAEnB,EAAEsJ,GAAG,OAAOnI,MAAMA,EAAE0jC,eAAe1rU,IAAID,IAAIa,EAAQ2mT,yBAAyB,CAAC,IAAIh3S,EAAEy3R,EAAE3lS,SAAS,GAAG,oBAAoBkO,EAAE,CAACy3R,EAAE3lS,SAAS,KAAKimS,EAAEN,EAAE2jC,cAAc,IAAIzrU,EAAEqQ,EAAEy3R,EAAE0jC,gBAAgB1rU,GAAGA,EAAEY,EAAQq4S,eAAe,oBAAoB/4S,EAAE8nS,EAAE3lS,SAASnC,EAAE8nS,IAAInB,EAAEsJ,IAAIpJ,EAAEoJ,GAAG1H,EAAEzoS,EAAE,MAAM+mS,EAAEoJ,GAAGnI,EAAEnB,EAAEsJ,EAAE,CAAC,GAAG,OAAOnI,EAAE,IAAI3rQ,GAAE,MAAO,CAAC,IAAIK,EAAEmqQ,EAAEQ,GAAG,OAAO3qQ,GAAGlD,EAAEkvQ,EAAEhsQ,EAAE23P,UAAUr0R,GAAGq8B,GAAE,CAAE,CAAC,OAAOA,CAAC,CAAC,QAAQ2rQ,EAAE,KAAKM,EAAE93R,EAAE+3R,GAAE,CAAE,CAAC,CAAC,IAAII,EAAEx8O,EAAEvrD,EAAQwnT,sBAAsB,EACtexnT,EAAQknT,2BAA2B,EAAElnT,EAAQsnT,qBAAqB,EAAEtnT,EAAQg3S,wBAAwB,EAAEh3S,EAAQgrU,mBAAmB,KAAKhrU,EAAQ05S,8BAA8B,EAAE15S,EAAQymT,wBAAwB,SAAStnT,GAAGA,EAAEsC,SAAS,IAAI,EAAEzB,EAAQirU,2BAA2B,WAAWrjC,GAAGD,IAAIC,GAAE,EAAGj+R,EAAEw4E,GAAG,EAAEniF,EAAQgnT,iCAAiC,WAAW,OAAOtf,CAAC,EAAE1nS,EAAQkrU,8BAA8B,WAAW,OAAOjlC,EAAEsJ,EAAE,EACtavvS,EAAQmrU,cAAc,SAAShsU,GAAG,OAAOuoS,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAItoS,EAAE,EAAE,MAAM,QAAQA,EAAEsoS,EAAE,IAAI93R,EAAE83R,EAAEA,EAAEtoS,EAAE,IAAI,OAAOD,GAAG,CAAC,QAAQuoS,EAAE93R,CAAC,CAAC,EAAE5P,EAAQorU,wBAAwB,WAAW,EAAEprU,EAAQ6mT,sBAAsB9e,EAAE/nS,EAAQs2S,yBAAyB,SAASn3S,EAAEC,GAAG,OAAOD,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQA,EAAE,EAAE,IAAIyQ,EAAE83R,EAAEA,EAAEvoS,EAAE,IAAI,OAAOC,GAAG,CAAC,QAAQsoS,EAAE93R,CAAC,CAAC,EACtW5P,EAAQ+2S,0BAA0B,SAAS53S,EAAEC,EAAEwQ,GAAG,IAAID,EAAE3P,EAAQq4S,eAA8F,OAA/E,kBAAkBzoS,GAAG,OAAOA,EAAaA,EAAE,kBAAZA,EAAEA,EAAEkmE,QAA6B,EAAElmE,EAAED,EAAEC,EAAED,EAAGC,EAAED,EAASxQ,GAAG,KAAK,EAAE,IAAIG,GAAG,EAAE,MAAM,KAAK,EAAEA,EAAE,IAAI,MAAM,KAAK,EAAEA,EAAE,WAAW,MAAM,KAAK,EAAEA,EAAE,IAAI,MAAM,QAAQA,EAAE,IAA2M,OAAjMH,EAAE,CAACq0C,GAAGuzP,IAAItlS,SAASrC,EAAE2rU,cAAc5rU,EAAEs0R,UAAU7jR,EAAEk7T,eAAvDxrU,EAAEsQ,EAAEtQ,EAAoEgX,WAAW,GAAG1G,EAAED,GAAGxQ,EAAEmX,UAAU1G,EAAE+7C,EAAE86O,EAAEtnS,GAAG,OAAO8mS,EAAEsJ,IAAIpwS,IAAI8mS,EAAEQ,KAAKz6O,EAAEjB,IAAIiB,GAAE,EAAGpzB,EAAEkvQ,EAAEl4R,EAAED,MAAMxQ,EAAEmX,UAAUhX,EAAEqsD,EAAE4jP,EAAEpwS,GAAGyoS,GAAGD,IAAIC,GAAE,EAAGj+R,EAAEw4E,KAAYhjF,CAAC,EAC3da,EAAQqrU,sBAAsB,SAASlsU,GAAG,IAAIC,EAAEsoS,EAAE,OAAO,WAAW,IAAI93R,EAAE83R,EAAEA,EAAEtoS,EAAE,IAAI,OAAOD,EAAE0H,MAAMhG,KAAKsE,UAAU,CAAC,QAAQuiS,EAAE93R,CAAC,CAAC,CAAC,+BChB9H2E,EAAOvU,QAAU,EAAjBuU,6BCaF,IAEI+2T,EAAU,WAAY,EA2C1B/2T,EAAOvU,QAAUsrU,IC5DbC,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBptU,IAAjBqtU,EACH,OAAOA,EAAa1rU,QAGrB,IAAIuU,EAASg3T,EAAyBE,GAAY,CAGjDzrU,QAAS,CAAC,GAOX,OAHA2rU,EAAoBF,GAAU7kU,KAAK2N,EAAOvU,QAASuU,EAAQA,EAAOvU,QAASwrU,GAGpEj3T,EAAOvU,OACf,CAGAwrU,EAAoB/vS,EAAIkwS,ECxBxBH,EAAoB1vS,EAAKvnB,IACxB,IAAIq3T,EAASr3T,GAAUA,EAAOojQ,WAC7B,IAAOpjQ,EAAiB,QACxB,IAAM,EAEP,OADAi3T,EAAoB77T,EAAEi8T,EAAQ,CAAEzsU,EAAGysU,IAC5BA,CAAM,QCNd,IACIC,EADAC,EAAWhsU,OAAO0E,eAAkBtC,GAASpC,OAAO0E,eAAetC,GAASA,GAASA,EAAa,UAQtGspU,EAAoB15S,EAAI,SAASl0B,EAAOwuT,GAEvC,GADU,EAAPA,IAAUxuT,EAAQiD,KAAKjD,IAChB,EAAPwuT,EAAU,OAAOxuT,EACpB,GAAoB,kBAAVA,GAAsBA,EAAO,CACtC,GAAW,EAAPwuT,GAAaxuT,EAAM+5Q,WAAY,OAAO/5Q,EAC1C,GAAW,GAAPwuT,GAAoC,oBAAfxuT,EAAMgmE,KAAqB,OAAOhmE,CAC5D,CACA,IAAImuU,EAAKjsU,OAAOotB,OAAO,MACvBs+S,EAAoB37T,EAAEk8T,GACtB,IAAI/7S,EAAM,CAAC,EACX67S,EAAiBA,GAAkB,CAAC,KAAMC,EAAS,CAAC,GAAIA,EAAS,IAAKA,EAASA,IAC/E,IAAI,IAAIntD,EAAiB,EAAPytC,GAAYxuT,EAAyB,iBAAX+gR,KAAyBktD,EAAezpU,QAAQu8Q,GAAUA,EAAUmtD,EAASntD,GACxH7+Q,OAAO45H,oBAAoBilJ,GAAS/+Q,SAASiC,GAASmuB,EAAInuB,GAAO,IAAOjE,EAAMiE,KAI/E,OAFAmuB,EAAa,QAAI,IAAM,EACvBw7S,EAAoB77T,EAAEo8T,EAAI/7S,GACnB+7S,CACR,MCxBAP,EAAoB77T,EAAI,CAAC3P,EAASgsU,KACjC,IAAI,IAAInqU,KAAOmqU,EACXR,EAAoBlwS,EAAE0wS,EAAYnqU,KAAS2pU,EAAoBlwS,EAAEt7B,EAAS6B,IAC5E/B,OAAOC,eAAeC,EAAS6B,EAAK,CAAE2uS,YAAY,EAAMlrS,IAAK0mU,EAAWnqU,IAE1E,ECND2pU,EAAoB7hU,EAAI,CAAC,EAGzB6hU,EAAoBlsU,EAAK2sU,GACjBh3C,QAAQ1hN,IAAIzzE,OAAOmB,KAAKuqU,EAAoB7hU,GAAGF,QAAO,CAAC+pE,EAAU3xE,KACvE2pU,EAAoB7hU,EAAE9H,GAAKoqU,EAASz4P,GAC7BA,IACL,KCNJg4P,EAAoB/mC,EAAKwnC,GAEjB,aAAeA,EAAf,qBCFRT,EAAoBU,SAAYD,IAEf,ECHjBT,EAAoB5yS,EAAI,WACvB,GAA0B,kBAAfuzS,WAAyB,OAAOA,WAC3C,IACC,OAAOtrU,MAAQ,IAAIq7O,SAAS,cAAb,EAChB,CAAE,MAAO58O,GACR,GAAsB,kBAAX8H,OAAqB,OAAOA,MACxC,CACA,CAPuB,GCAxBokU,EAAoBlwS,EAAI,CAACp5B,EAAKg3H,IAAUp5H,OAAOiB,UAAUuC,eAAesD,KAAK1E,EAAKg3H,SCAlF,IAAI6yH,EAAa,CAAC,EACdqgF,EAAoB,gBAExBZ,EAAoBxzF,EAAI,CAACwE,EAAK7gN,EAAM95B,EAAKoqU,KACxC,GAAGlgF,EAAWvP,GAAQuP,EAAWvP,GAAK38O,KAAK87B,OAA3C,CACA,IAAI2mS,EAAQ+J,EACZ,QAAWhuU,IAARwD,EAEF,IADA,IAAIyqU,EAAU9hT,SAASiwC,qBAAqB,UACpCv5D,EAAI,EAAGA,EAAIorU,EAAQruU,OAAQiD,IAAK,CACvC,IAAIw4B,EAAI4yS,EAAQprU,GAChB,GAAGw4B,EAAEm/B,aAAa,QAAU2jL,GAAO9iN,EAAEm/B,aAAa,iBAAmBuzQ,EAAoBvqU,EAAK,CAAEygU,EAAS5oS,EAAG,KAAO,CACpH,CAEG4oS,IACH+J,GAAa,GACb/J,EAAS93S,SAASC,cAAc,WAEzB8hT,QAAU,QACjBjK,EAAO16T,QAAU,IACb4jU,EAAoBh2B,IACvB8sB,EAAO5nQ,aAAa,QAAS8wQ,EAAoBh2B,IAElD8sB,EAAO5nQ,aAAa,eAAgB0xQ,EAAoBvqU,GAExDygU,EAAO99S,IAAMg4N,GAEduP,EAAWvP,GAAO,CAAC7gN,GACnB,IAAI6wS,EAAmB,CAACpnK,EAAMnzJ,KAE7BqwT,EAAOxrC,QAAUwrC,EAAOxlF,OAAS,KACjC90O,aAAaJ,GACb,IAAI6kU,EAAU1gF,EAAWvP,GAIzB,UAHOuP,EAAWvP,GAClB8lF,EAAOxoQ,YAAcwoQ,EAAOxoQ,WAAWR,YAAYgpQ,GACnDmK,GAAWA,EAAQ7sU,SAAS8sB,GAAQA,EAAGza,KACpCmzJ,EAAM,OAAOA,EAAKnzJ,EAAM,EAExBrK,EAAUP,WAAWmlU,EAAiBphU,KAAK,UAAM/M,EAAW,CAAE8T,KAAM,UAAWvP,OAAQ0/T,IAAW,MACtGA,EAAOxrC,QAAU01C,EAAiBphU,KAAK,KAAMk3T,EAAOxrC,SACpDwrC,EAAOxlF,OAAS0vF,EAAiBphU,KAAK,KAAMk3T,EAAOxlF,QACnDuvF,GAAc7hT,SAASkiT,KAAKxzQ,YAAYopQ,EApCkB,CAoCX,MCvChDkJ,EAAoB37T,EAAK7P,IACH,qBAAXu7B,QAA0BA,OAAOoxS,aAC1C7sU,OAAOC,eAAeC,EAASu7B,OAAOoxS,YAAa,CAAE/uU,MAAO,WAE7DkC,OAAOC,eAAeC,EAAS,aAAc,CAAEpC,OAAO,GAAO,ECL9D4tU,EAAoBpmU,EAAI,UCKxB,IAAIwnU,EAAkB,CACrB,IAAK,GAGNpB,EAAoB7hU,EAAEmf,EAAI,CAACmjT,EAASz4P,KAElC,IAAIq5P,EAAqBrB,EAAoBlwS,EAAEsxS,EAAiBX,GAAWW,EAAgBX,QAAW5tU,EACtG,GAA0B,IAAvBwuU,EAGF,GAAGA,EACFr5P,EAAS3zE,KAAKgtU,EAAmB,QAC3B,CAGL,IAAIj5P,EAAU,IAAIqhN,SAAQ,CAACxhN,EAASyhN,IAAY23C,EAAqBD,EAAgBX,GAAW,CAACx4P,EAASyhN,KAC1G1hN,EAAS3zE,KAAKgtU,EAAmB,GAAKj5P,GAGtC,IAAI4oK,EAAMgvF,EAAoBpmU,EAAIomU,EAAoB/mC,EAAEwnC,GAEpD7/T,EAAQ,IAAItB,MAgBhB0gU,EAAoBxzF,EAAEwE,GAfFvqO,IACnB,GAAGu5T,EAAoBlwS,EAAEsxS,EAAiBX,KAEf,KAD1BY,EAAqBD,EAAgBX,MACRW,EAAgBX,QAAW5tU,GACrDwuU,GAAoB,CACtB,IAAIC,EAAY76T,IAAyB,SAAfA,EAAME,KAAkB,UAAYF,EAAME,MAChE46T,EAAU96T,GAASA,EAAMrP,QAAUqP,EAAMrP,OAAO4hB,IACpDpY,EAAMk3D,QAAU,iBAAmB2oQ,EAAU,cAAgBa,EAAY,KAAOC,EAAU,IAC1F3gU,EAAM9F,KAAO,iBACb8F,EAAM+F,KAAO26T,EACb1gU,EAAMwpR,QAAUm3C,EAChBF,EAAmB,GAAGzgU,EACvB,CACD,GAEwC,SAAW6/T,EAASA,EAE/D,CACD,EAcF,IAAIe,EAAuB,CAACC,EAA4BlpU,KACvD,IAKI0nU,EAAUQ,EALViB,EAAWnpU,EAAK,GAChBopU,EAAcppU,EAAK,GACnBm0D,EAAUn0D,EAAK,GAGI7C,EAAI,EAC3B,GAAGgsU,EAAS9kT,MAAMorB,GAAgC,IAAxBo5R,EAAgBp5R,KAAa,CACtD,IAAIi4R,KAAY0B,EACZ3B,EAAoBlwS,EAAE6xS,EAAa1B,KACrCD,EAAoB/vS,EAAEgwS,GAAY0B,EAAY1B,IAGhD,GAAGvzQ,EAAsBA,EAAQszQ,EAClC,CAEA,IADGyB,GAA4BA,EAA2BlpU,GACrD7C,EAAIgsU,EAASjvU,OAAQiD,IACzB+qU,EAAUiB,EAAShsU,GAChBsqU,EAAoBlwS,EAAEsxS,EAAiBX,IAAYW,EAAgBX,IACrEW,EAAgBX,GAAS,KAE1BW,EAAgBX,GAAW,CAC5B,EAIGmB,EAAqBC,KAA+B,yBAAIA,KAA+B,0BAAK,GAChGD,EAAmBxtU,QAAQotU,EAAqB5hU,KAAK,KAAM,IAC3DgiU,EAAmBvtU,KAAOmtU,EAAqB5hU,KAAK,KAAMgiU,EAAmBvtU,KAAKuL,KAAKgiU,gECvFxE,SAAS,IAYtB,OAXA,EAAWttU,OAAO0wB,OAAS1wB,OAAO0wB,OAAOplB,OAAS,SAAUxI,GAC1D,IAAK,IAAI1B,EAAI,EAAGA,EAAIiE,UAAUlH,OAAQiD,IAAK,CACzC,IAAIyB,EAASwC,UAAUjE,GACvB,IAAK,IAAIW,KAAOc,EACV7C,OAAOiB,UAAUuC,eAAesD,KAAKjE,EAAQd,KAC/Ce,EAAOf,GAAOc,EAAOd,GAG3B,CACA,OAAOe,CACT,EACO,EAASiE,MAAMhG,KAAMsE,UAC9B,o0BCSA,SAASmoU,EAAUC,EAAWjqQ,GAC5B,IAAKiqQ,EAAM,MAAM,IAAIziU,MAAMw4D,EAC5B,OAgDKkqQ,GAAoBC,EAAAA,EAAAA,eAA6C,YAWjEC,GAAkBD,EAAAA,EAAAA,eAA2C,YAW7DE,GAAeF,EAAAA,EAAAA,eAAwC,CAC3DG,OAAQ,KACRrnU,QAAS,KAuIJ,SAASsnU,EACdC,GAEAR,GAAU,EAKX,CAoBM,SAASS,EAATA,GAOoC,IANzCC,SAAUC,EAAe,IADJ,SAErB1oT,EAAW,KACXgyB,SAAU22R,EAHW,eAIrBC,EAAiBC,EAAeC,IAJX,UAKrBz2Q,EACA02Q,OAAQC,GAAa,GACoB,EAEtCC,KADHlB,GAAU,GAMV,IAAIU,EAAWS,EAAkBR,GAC7BS,GAAoBjB,EAAAA,EAAAA,UACtB,KAAM,CAAGO,WAAUp2Q,YAAW02Q,OAAQC,KACtC,CAACP,EAAUp2Q,EAAW22Q,IAGI,kBAAjBL,IACTA,EAAeS,EAAUT,IAG3B,IAAI,SACFzuC,EAAW,IADT,OAEF11N,EAAS,GAFP,KAGFu1N,EAAO,GAHL,MAIF5tP,EAAQ,KAJN,IAKF7vC,EAAM,WACJqsU,EAEA32R,GAAWk2R,EAAAA,EAAAA,UAAc,KAC3B,IAAImB,EAAmBC,EAAcpvC,EAAUuuC,GAE/C,OAAwB,MAApBY,EACK,KAGF,CACLnvC,SAAUmvC,EACV7kQ,SACAu1N,OACA5tP,QACA7vC,MALF,GAOC,CAACmsU,EAAUvuC,EAAU11N,EAAQu1N,EAAM5tP,EAAO7vC,IAS7C,OAAgB,MAAZ01C,EACK,MAIPu3R,EAAAA,EAAAA,eAACtB,EAAkBxiD,SAAnB,CAA4BptR,MAAO8wU,IACjCI,EAAAA,EAAAA,eAACpB,EAAgB1iD,SAAjB,CACEzlQ,SAAUA,EACV3nB,MAAO,CAAE25C,WAAU42R,oBAI1B,CAaM,SAASY,EAATA,GAGoC,IAHpB,SACrBxpT,EADqB,SAErBgyB,GACyC,EACzC,OAsSK,SACLy3R,EACAC,GAGET,KADFlB,GAAU,GAOV,IAAM/mU,QAAS2oU,IAAkBzB,EAAAA,EAAAA,YAAiBE,GAC9CwB,EAAaD,EAAcA,EAAcjxU,OAAS,GAClDmxU,EAAeD,EAAaA,EAAWtlU,OAAS,CAAC,EAEjDwlU,GADiBF,GAAaA,EAAW1vC,SACpB0vC,EAAaA,EAAWG,aAAe,KAC9CH,GAAcA,EAAWvwI,MAEvC,EAmCJ,IAEIrnJ,EAFAg4R,EAAsBC,IAG1B,GAAIP,EAAa,OACf,IAAIQ,EACqB,kBAAhBR,EAA2BN,EAAUM,GAAeA,EAGpC,MAAvBI,IAAA,SACEI,EAAkBhwC,eADpB,EACEiwC,EAA4Bn9R,WAAW88R,KAF3C/B,GAAU,GASV/1R,EAAWk4R,CACZ,MACCl4R,EAAWg4R,EAGb,IAAI9vC,EAAWloP,EAASkoP,UAAY,IAChCkwC,EACqB,MAAvBN,EACI5vC,EACAA,EAASl4R,MAAM8nU,EAAmBpxU,SAAW,IAC/CsI,EAsJC,SACLyoU,EACAC,EACAjB,QACqB,IADrBA,IAAAA,EAAW,KAEX,IAAIz2R,EACqB,kBAAhB03R,EAA2BN,EAAUM,GAAeA,EAEzDxvC,EAAWovC,EAAct3R,EAASkoP,UAAY,IAAKuuC,GAEvD,GAAgB,MAAZvuC,EACF,OAAO,KAGT,IAAImwC,EAAWC,EAAcb,IA6E/B,SAA2BY,GACzBA,EAASx5T,MAAK,CAACjX,EAAGC,IAChBD,EAAE2wU,QAAU1wU,EAAE0wU,MACV1wU,EAAE0wU,MAAQ3wU,EAAE2wU,MAyCpB,SAAwB3wU,EAAaC,GACnC,IAAIi+C,EACFl+C,EAAElB,SAAWmB,EAAEnB,QAAUkB,EAAEoI,MAAM,GAAI,GAAGub,OAAM,CAACgZ,EAAG56B,IAAM46B,IAAM18B,EAAE8B,KAElE,OAAOm8C,EAKHl+C,EAAEA,EAAElB,OAAS,GAAKmB,EAAEA,EAAEnB,OAAS,GAG/B,CACL,CArDO8xU,CACE5wU,EAAE6wU,WAAWxlU,KAAK0pP,GAASA,EAAK+7E,gBAChC7wU,EAAE4wU,WAAWxlU,KAAK0pP,GAASA,EAAK+7E,kBAGzC,CArFCC,CAAkBN,GAElB,IAAIrpU,EAAU,KACd,IAAK,IAAIrF,EAAI,EAAc,MAAXqF,GAAmBrF,EAAI0uU,EAAS3xU,SAAUiD,EACxDqF,EAAU4pU,EAAiBP,EAAS1uU,GAAIu+R,GAG1C,OAAOl5R,CACR,CA7Ke6pU,CAAYpB,EAAQ,CAAEvvC,SAAUkwC,IAE1C,EAcJ,OAAOU,EACL9pU,GACEA,EAAQiE,KAAKnB,GACXvJ,OAAO0wB,OAAO,CAAC,EAAGnnB,EAAO,CACvBQ,OAAQ/J,OAAO0wB,OAAO,CAAC,EAAG4+S,EAAc/lU,EAAMQ,QAC9C41R,SAAU6wC,EAAU,CAACjB,EAAoBhmU,EAAMo2R,WAC/C6vC,aACyB,MAAvBjmU,EAAMimU,aACFD,EACAiB,EAAU,CAACjB,EAAoBhmU,EAAMimU,mBAGjDJ,EAEH,CAnZQqB,CAAUC,EAAyBjrT,GAAWgyB,EACtD,CAYM,SAASk5R,EAAQxtC,GAEpBurC,KADFlB,GAAU,GAOV,IAAI,SAAEU,EAAF,UAAYp2Q,IAAc61Q,EAAAA,EAAAA,YAAiBD,IAC3C,KAAEluC,EAAF,SAAQG,EAAR,OAAkB11N,GAAW2mQ,EAAgBztC,GAE7C0tC,EAAiBlxC,EACrB,GAAiB,MAAbuuC,EAAkB,CACpB,IAAI4C,EAw9BR,SAAuB3tC,GAErB,MAAc,KAAPA,GAAuC,KAAzBA,EAAYxD,SAC7B,IACc,kBAAPwD,EACP0rC,EAAU1rC,GAAIxD,SACdwD,EAAGxD,QACR,CA/9BoBoxC,CAAc5tC,GAC3B6tC,EAA8B,MAAdF,GAAsBA,EAAWjwP,SAAS,KAC9DgwP,EACe,MAAblxC,EACIuuC,GAAY8C,EAAgB,IAAM,IAClCR,EAAU,CAACtC,EAAUvuC,GAC5B,CAED,OAAO7nO,EAAUm5Q,WAAW,CAAEtxC,SAAUkxC,EAAgB5mQ,SAAQu1N,QACjE,CAOM,SAASkvC,IACd,OAA4C,OAArCf,EAAAA,EAAAA,YAAiBC,EACzB,CAYM,SAAS8B,IAQd,OANEhB,KADFlB,GAAU,IAOHG,EAAAA,EAAAA,YAAiBC,GAAiBn2R,QAC1C,CAsGM,SAASy5R,IAEZxC,KADFlB,GAAU,GAOV,IAAI,SAAEU,EAAF,UAAYp2Q,IAAc61Q,EAAAA,EAAAA,YAAiBD,IAC3C,QAAEjnU,IAAYknU,EAAAA,EAAAA,YAAiBE,IAC7BluC,SAAUwxC,GAAqBzB,IAEjC0B,EAAqBxwU,KAAKC,UAC5B4F,EAAQiE,KAAKnB,GAAUA,EAAMimU,gBAG3B6B,GAAY1D,EAAAA,EAAAA,SAAa,IAC7BA,EAAAA,EAAAA,YAAgB,KACd0D,EAAUxyD,SAAU,CAApB,IAGF,IAAI5sC,GAA6B07F,EAAAA,EAAAA,cAC/B,SAACxqC,EAAiBv3Q,GAOhB,QAPkD,IAAlCA,IAAAA,EAA2B,CAAC,IAOvCylT,EAAUxyD,QAAS,OAExB,GAAkB,kBAAPskB,EAET,YADArrO,EAAUw5Q,GAAGnuC,GAIf,IAAI53Q,EAAOgmT,EACTpuC,EACAviS,KAAKsE,MAAMksU,GACXD,GAGe,MAAbjD,IACF3iT,EAAKo0Q,SAAW6wC,EAAU,CAACtC,EAAU3iT,EAAKo0Q,aAGzC/zQ,EAAQtiB,QAAUwuD,EAAUxuD,QAAUwuD,EAAU/3D,MACjDwrB,EACAK,EAAQgmB,MAEX,GACD,CAACs8R,EAAUp2Q,EAAWs5Q,EAAoBD,IAG5C,OAAOl/F,CACR,CAmCM,SAASu/F,IAKd,IAAI,QAAE/qU,IAAYknU,EAAAA,EAAAA,YAAiBE,GAC/BwB,EAAa5oU,EAAQA,EAAQtI,OAAS,GAC1C,OAAOkxU,EAAcA,EAAWtlU,OAAiB,CAAC,CACnD,CAOM,SAAS6mU,EAAgBztC,GAC9B,IAAI,QAAE18R,IAAYknU,EAAAA,EAAAA,YAAiBE,IAC7BluC,SAAUwxC,GAAqBzB,IAEjC0B,EAAqBxwU,KAAKC,UAC5B4F,EAAQiE,KAAKnB,GAAUA,EAAMimU,gBAG/B,OAAO7B,EAAAA,EAAAA,UACL,IAAM4D,EAAUpuC,EAAIviS,KAAKsE,MAAMksU,GAAqBD,IACpD,CAAChuC,EAAIiuC,EAAoBD,GAE5B,CAoIM,SAAST,EACdjrT,GAEA,IAAIypT,EAAwB,GAuC5B,OArCAvB,EAAAA,SAAe7tU,QAAQ2lB,GAAWyF,IAChC,KAAKyiT,EAAAA,EAAAA,gBAAqBziT,GAGxB,OAGF,GAAIA,EAAQ7Y,OAASs7T,EAAAA,SAMnB,YAJAuB,EAAOnvU,KAAKgH,MACVmoU,EACAwB,EAAyBxlT,EAAQzc,MAAMgX,WAMzCyF,EAAQ7Y,OAAS07T,GADnBP,GAAU,GAOV,IAAI1uI,EAAqB,CACvBpkG,cAAexvE,EAAQzc,MAAMisF,cAC7BxvE,QAASA,EAAQzc,MAAMyc,QACvBppB,MAAOopB,EAAQzc,MAAM3M,MACrBypB,KAAML,EAAQzc,MAAM8c,MAGlBL,EAAQzc,MAAMgX,WAChBq5K,EAAMr5K,SAAWirT,EAAyBxlT,EAAQzc,MAAMgX,WAG1DypT,EAAOnvU,KAAK++L,EAAZ,IAGKowI,CACR,CAsGD,SAASa,EACPb,EACAY,EACA2B,EACAC,GA8CA,YA7Ce,IAHf5B,IAAAA,EAA0B,SAGX,IAFf2B,IAAAA,EAA2B,SAEZ,IADfC,IAAAA,EAAa,IAEbxC,EAAOpvU,SAAQ,CAACg/L,EAAOh9L,KACrB,IAAIsyP,EAAkB,CACpBu9E,aAAc7yI,EAAMvzK,MAAQ,GAC5BmvE,eAAuC,IAAxBokG,EAAMpkG,cACrBy1O,cAAeruU,EACfg9L,SAGEs1D,EAAKu9E,aAAal/R,WAAW,OAE7B2hN,EAAKu9E,aAAal/R,WAAWi/R,IAD/BlE,GAAU,GAOVp5E,EAAKu9E,aAAev9E,EAAKu9E,aAAalqU,MAAMiqU,EAAWvzU,SAGzD,IAAIotB,EAAOilT,EAAU,CAACkB,EAAYt9E,EAAKu9E,eACnCzB,EAAauB,EAAY1lU,OAAOqoP,GAKhCt1D,EAAMr5K,UAAYq5K,EAAMr5K,SAAStnB,OAAS,KAE1B,IAAhB2gM,EAAMh9L,OADR0rU,GAAU,GAMVuC,EAAcjxI,EAAMr5K,SAAUqqT,EAAUI,EAAY3kT,KAKpC,MAAduzK,EAAMvzK,MAAiBuzK,EAAMh9L,QAIjCguU,EAAS/vU,KAAK,CAAEwrB,OAAMykT,MAAO4B,EAAarmT,EAAMuzK,EAAMh9L,OAAQouU,cAA9D,IAGKJ,CACR,CAaD,MAAM+B,EAAU,SACVC,EAAsB,EACtBC,EAAkB,EAClBC,EAAoB,EACpBC,EAAqB,GACrBC,GAAgB,EAChBC,EAAWv4S,GAAoB,MAANA,EAE/B,SAASg4S,EAAarmT,EAAczpB,GAClC,IAAIswU,EAAW7mT,EAAKlnB,MAAM,KACtBguU,EAAeD,EAASj0U,OAS5B,OARIi0U,EAAS9pT,KAAK6pT,KAChBE,GAAgBH,GAGdpwU,IACFuwU,GAAgBN,GAGXK,EACJhvU,QAAQw2B,IAAOu4S,EAAQv4S,KACvBjwB,QACC,CAACqmU,EAAOsC,IACNtC,GACC6B,EAAQjzU,KAAK0zU,GACVR,EACY,KAAZQ,EACAN,EACAC,IACNI,EAEL,CAiBD,SAAShC,EACPkC,EACA5yC,GAEA,IAAI,WAAEuwC,GAAeqC,EAEjBC,EAAgB,CAAC,EACjBC,EAAkB,IAClBhsU,EAAwB,GAC5B,IAAK,IAAIrF,EAAI,EAAGA,EAAI8uU,EAAW/xU,SAAUiD,EAAG,CAC1C,IAAIgzP,EAAO87E,EAAW9uU,GAClBsgJ,EAAMtgJ,IAAM8uU,EAAW/xU,OAAS,EAChC0xU,EACkB,MAApB4C,EACI9yC,EACAA,EAASl4R,MAAMgrU,EAAgBt0U,SAAW,IAC5CoL,EAAQmpU,EACV,CAAEnnT,KAAM6oO,EAAKu9E,aAAcj3O,cAAe05J,EAAK15J,cAAegnD,OAC9DmuL,GAGF,IAAKtmU,EAAO,OAAO,KAEnBvJ,OAAO0wB,OAAO8hT,EAAejpU,EAAMQ,QAEnC,IAAI+0L,EAAQs1D,EAAKt1D,MAEjBr4L,EAAQ1G,KAAK,CACXgK,OAAQyoU,EACR7yC,SAAU6wC,EAAU,CAACiC,EAAiBlpU,EAAMo2R,WAC5C6vC,aAAcb,EACZ6B,EAAU,CAACiC,EAAiBlpU,EAAMimU,gBAEpC1wI,UAGyB,MAAvBv1L,EAAMimU,eACRiD,EAAkBjC,EAAU,CAACiC,EAAiBlpU,EAAMimU,eAEvD,CAED,OAAO/oU,CACR,CAWD,SAAS8pU,EACP9pU,EACA2oU,GAEA,YAD2B,IAD3BA,IAAAA,EAA8B,IAEf,MAAX3oU,EAAwB,KAErBA,EAAQksU,aAAY,CAAC7E,EAAQvkU,EAAOzH,KAEvCktU,EAAAA,EAAAA,eAACnB,EAAa3iD,SAAd,CACEzlQ,cAC0BlnB,IAAxBgL,EAAMu1L,MAAM5zK,QAAwB3hB,EAAMu1L,MAAM5zK,QAAU4iT,EAE5DhwU,MAAO,CACLgwU,SACArnU,QAAS2oU,EAAcrjU,OAAOtF,EAAQgB,MAAM,EAAG3F,EAAQ,QAI5D,KACJ,CAuDM,SAAS4wU,EAId37G,EACA4oE,GAEuB,kBAAZ5oE,IACTA,EAAU,CAAExrM,KAAMwrM,EAASr8H,eAAe,EAAOgnD,KAAK,IAGxD,IAAKpnD,EAASs4O,GAwChB,SACErnT,EACAmvE,EACAgnD,QACoB,IAFpBhnD,IAAAA,GAAgB,QAEI,IADpBgnD,IAAAA,GAAM,GAUN,IAAIkxL,EAAuB,GACvBC,EACF,IACAtnT,EACGjiB,QAAQ,UAAW,IACnBA,QAAQ,OAAQ,KAChBA,QAAQ,sBAAuB,QAC/BA,QAAQ,WAAW,CAAC6xB,EAAW23S,KAC9BF,EAAW7yU,KAAK+yU,GACT,eAGTvnT,EAAKs1D,SAAS,MAChB+xP,EAAW7yU,KAAK,KAChB8yU,GACW,MAATtnT,GAAyB,OAATA,EACZ,QACA,qBAENsnT,GAAgBnxL,EACZ,QAOA,uCAGN,IAAIpnD,EAAU,IAAI08H,OAAO67G,EAAcn4O,OAAgBn8F,EAAY,KAEnE,MAAO,CAAC+7F,EAASs4O,EAClB,CAtF6BG,CAC1Bh8G,EAAQxrM,KACRwrM,EAAQr8H,cACRq8H,EAAQr1E,KAGNn4I,EAAQo2R,EAASp2R,MAAM+wF,GAC3B,IAAK/wF,EAAO,OAAO,KAEnB,IAAIkpU,EAAkBlpU,EAAM,GACxBimU,EAAeiD,EAAgBnpU,QAAQ,UAAW,MAClD0pU,EAAgBzpU,EAAM9B,MAAM,GAqBhC,MAAO,CACLsC,OArBmB6oU,EAAWjpU,QAC9B,CAAC84Q,EAAMqwD,EAAWhxU,KAGhB,GAAkB,MAAdgxU,EAAmB,CACrB,IAAIG,EAAaD,EAAclxU,IAAU,GACzC0tU,EAAeiD,EACZhrU,MAAM,EAAGgrU,EAAgBt0U,OAAS80U,EAAW90U,QAC7CmL,QAAQ,UAAW,KACvB,CAMD,OAJAm5Q,EAAKqwD,GAiEX,SAAkCh1U,EAAeg1U,GAC/C,IACE,OAAO/zC,mBAAmBjhS,EAC3B,CAAC,MAAOwO,GAQP,OAAOxO,CACR,CACF,CA9EuBo1U,CAChBF,EAAclxU,IAAU,IAGnB2gR,CAAP,GAEF,CAAC,GAKDkd,SAAU8yC,EACVjD,eACAz4G,UAEH,CA0GD,SAASw6G,EACP4B,EACAC,EACAjC,GAEA,IAUIzmQ,EAVAy4N,EAAsB,kBAAVgwC,EAAqBtE,EAAUsE,GAASA,EACpDrC,EAAuB,KAAVqC,GAAgC,KAAhBhwC,EAAGxD,SAAkB,IAAMwD,EAAGxD,SAU/D,GAAkB,MAAdmxC,EACFpmQ,EAAOymQ,MACF,CACL,IAAIkC,EAAqBD,EAAej1U,OAAS,EAEjD,GAAI2yU,EAAWr+R,WAAW,MAAO,CAC/B,IAAI6gS,EAAaxC,EAAWzsU,MAAM,KAKlC,KAAyB,OAAlBivU,EAAW,IAChBA,EAAW1tU,QACXytU,GAAsB,EAGxBlwC,EAAGxD,SAAW2zC,EAAWpnU,KAAK,IAC/B,CAIDw+D,EAAO2oQ,GAAsB,EAAID,EAAeC,GAAsB,GACvE,CAED,IAAI9nT,EA5EC,SAAqB43Q,EAAQowC,QAA0B,IAA1BA,IAAAA,EAAe,KACjD,IACE5zC,SAAUmxC,EADR,OAEF7mQ,EAAS,GAFP,KAGFu1N,EAAO,IACS,kBAAP2D,EAAkB0rC,EAAU1rC,GAAMA,EAEzCxD,EAAWmxC,EACXA,EAAWr+R,WAAW,KACpBq+R,EAWR,SAAyBa,EAAsB4B,GAC7C,IAAInB,EAAWmB,EAAajqU,QAAQ,OAAQ,IAAIjF,MAAM,KAYtD,OAXuBstU,EAAattU,MAAM,KAEzBvE,SAASwyU,IACR,OAAZA,EAEEF,EAASj0U,OAAS,GAAGi0U,EAAS//P,MACb,MAAZigQ,GACTF,EAASryU,KAAKuyU,EACf,IAGIF,EAASj0U,OAAS,EAAIi0U,EAASlmU,KAAK,KAAO,GACnD,CAxBOsnU,CAAgB1C,EAAYyC,GAC9BA,EAEJ,MAAO,CACL5zC,WACA11N,OAAQwpQ,EAAgBxpQ,GACxBu1N,KAAMk0C,EAAcl0C,GAEvB,CA0DYm0C,CAAYxwC,EAAIz4N,GAY3B,OAREomQ,GACe,MAAfA,GACAA,EAAWjwP,SAAS,OACnBt1D,EAAKo0Q,SAAS9+M,SAAS,OAExBt1D,EAAKo0Q,UAAY,KAGZp0Q,CACR,CAWD,SAASwjT,EAAcpvC,EAAkBuuC,GACvC,GAAiB,MAAbA,EAAkB,OAAOvuC,EAE7B,IAAKA,EAAS5mQ,cAAc0Z,WAAWy7R,EAASn1S,eAC9C,OAAO,KAGT,IAAI+9B,EAAW6oO,EAASj3O,OAAOwlR,EAAS/vU,QACxC,OAAI24D,GAAyB,MAAbA,EAEP,KAGF6oO,EAASl4R,MAAMymU,EAAS/vU,SAAW,GAC3C,CAED,MAAMqyU,EAAal8D,GACjBA,EAAMpoQ,KAAK,KAAK5C,QAAQ,SAAU,KAE9BqlU,EAAqBhvC,GACzBA,EAASr2R,QAAQ,OAAQ,IAAIA,QAAQ,OAAQ,KAEzCmqU,EAAmBxpQ,GACtBA,GAAqB,MAAXA,EAEPA,EAAOx3B,WAAW,KAClBw3B,EACA,IAAMA,EAHN,GAKAypQ,EAAiBl0C,GACpBA,GAAiB,MAATA,EAAoBA,EAAK/sP,WAAW,KAAO+sP,EAAO,IAAMA,EAAzC,ixIC9yCdo0C,GAWAC,GAYAC,GASAC,GAsDAC,GAnJCrhU,GAAY,CACrBshU,aAAc,UACdC,IAAK,iBAELC,aAAc,OAEdC,kBAAmB,4CACnBC,uBAAwB,4BACxBC,sBAAuB,SAEvBC,KAAM,OAENC,6BAA8B,sGAE9BC,eAAgB,IAEhBC,WAAY,aAEZC,OAAQ,SAERC,cAAe,uCAEfC,aAAc,SACdC,cAAe,UACfC,qBAAsB,iBACtBC,YAAa,QAEbC,mBAAoB,OACpBC,gBAAiB,qBACjBC,cAAe,gBACfC,uBAAwB,WACxBC,2BAA4B,OAC5BC,sBAAuB,kDACvBC,sBAAuB,wBACvBC,YAAa,cACbC,aAAc,GACdC,cAAe,IACfC,cAAe,4DACfC,aAAc,aACdC,aAAc,IACdC,gCAAiC,gBACjCC,kCAAmC,sBACnCC,oBAAqB,CAAC,4BAA6B,oBAAqB,sBAAuB,mBAC/FC,oBAAqB,QACrBC,uBAAwB,YAGfC,GAAsB,CAC/BxjU,GAAUkiU,aACVliU,GAAUmiU,cACVniU,GAAUoiU,sBAGDqB,GAAc,GACpBD,GAAmB,CACtBxjU,GAAUqiU,eAMd,SAAYpB,GACRA,EAAAA,aAAAA,eACAA,EAAAA,YAAAA,cACAA,EAAAA,WAAAA,kBACAA,EAAAA,gBAAAA,mBACAA,EAAAA,mBAAAA,qBACH,CAND,CAAYA,KAAAA,GAAW,KAWvB,SAAYC,GACRA,EAAAA,SAAAA,UACAA,EAAAA,YAAAA,cACAA,EAAAA,cAAAA,eACAA,EAAAA,MAAAA,QACAA,EAAAA,WAAAA,oBACAA,EAAAA,eAAAA,gBACH,CAPD,CAAYA,KAAAA,GAAmB,KAY/B,SAAYC,GACRA,EAAAA,OAAAA,SACAA,EAAAA,cAAAA,gBACAA,EAAAA,UAAAA,WACH,CAJD,CAAYA,KAAAA,GAAqB,KASjC,SAAYC,GACRA,EAAAA,UAAAA,YACAA,EAAAA,aAAAA,eACAA,EAAAA,cAAAA,gBACAA,EAAAA,cAAAA,gBACAA,EAAAA,WAAAA,aACAA,EAAAA,OAAAA,SACAA,EAAAA,MAAAA,QACAA,EAAAA,MAAAA,QACAA,EAAAA,kBAAAA,oBACAA,EAAAA,aAAAA,eACAA,EAAAA,SAAAA,WACAA,EAAAA,cAAAA,gBACAA,EAAAA,WAAAA,aACAA,EAAAA,MAAAA,QACAA,EAAAA,MAAAA,QACAA,EAAAA,OAAAA,SACAA,EAAAA,cAAAA,gBACAA,EAAAA,YAAAA,cACAA,EAAAA,KAAAA,OACAA,EAAAA,eAAAA,iBACAA,EAAAA,sBAAAA,wBACAA,EAAAA,cAAAA,gBACAA,EAAAA,kBAAAA,oBACAA,EAAAA,aAAAA,eACAA,EAAAA,aAAAA,eACAA,EAAAA,YAAAA,cACAA,EAAAA,aAAAA,eACAA,EAAAA,oBAAAA,6BACAA,EAAAA,oBAAAA,0BACAA,EAAAA,oBAAAA,sBACAA,EAAAA,WAAAA,aACAA,EAAAA,UAAAA,YACAA,EAAAA,gBAAAA,2BACAA,EAAAA,cAAAA,gBACAA,EAAAA,YAAAA,cACAA,EAAAA,cAAAA,gBACAA,EAAAA,iBAAAA,mBACAA,EAAAA,sBAAAA,wBACAA,EAAAA,WAAAA,aACAA,EAAAA,QAAAA,UACAA,EAAAA,cAAAA,YACAA,EAAAA,oBAAAA,sBACAA,EAAAA,aAAAA,eACAA,EAAAA,KAAAA,OACAA,EAAAA,WAAAA,kBACAA,EAAAA,gBAAAA,kBACAA,EAAAA,cAAAA,eACAA,EAAAA,YAAAA,aACH,CAjDD,CAAYA,KAAAA,GAAkB,KAsD9B,SAAYC,GACRA,EAAAA,aAAAA,eACAA,EAAAA,OAAAA,QACH,CAHD,CAAYA,KAAAA,GAAiB,SAqBjBqC,GAXCC,GAAc,CACvBC,MAAO,QACPC,eAAgB,iBAChBC,QAAS,UACTC,KAAM,OACNC,OAAQ,WAMZ,SAAYN,GACRA,EAAAA,QAAAA,UACAA,EAAAA,IAAAA,MACAA,EAAAA,WAAAA,aACAA,EAAAA,SAAAA,WACAA,EAAAA,YAAAA,cACAA,EAAAA,cAAAA,gBACAA,EAAAA,UAAAA,YACAA,EAAAA,WAAAA,oBACAA,EAAAA,eAAAA,uBACH,CAVD,CAAYA,KAAAA,GAAQ,SAyCRO,GASAC,GAaAC,GAUAC,GAQAC,GAUAC,GAgBAC,GApFCC,GAA4B,CACrCC,MAAO,QACPC,KAAM,SAgBV,SAAYT,GACRA,EAAAA,MAAAA,QACAA,EAAAA,SAAAA,WACAA,EAAAA,UAAAA,WACH,CAJD,CAAYA,KAAAA,GAAY,KASxB,SAAYC,GACRA,EAAAA,eAAAA,WACAA,EAAAA,yBAAAA,qBACAA,EAAAA,yBAAAA,qBACAA,EAAAA,8BAAAA,WACAA,EAAAA,oBAAAA,gBACAA,EAAAA,kBAAAA,cACAA,EAAAA,WAAAA,6CACH,CARD,CAAYA,KAAAA,GAAS,KAarB,SAAYC,GACRA,EAAAA,mBAAAA,QACAA,EAAAA,kBAAAA,OACAA,EAAAA,mBAAAA,MACAA,EAAAA,qBAAAA,SACH,CALD,CAAYA,KAAAA,GAAgB,KAU5B,SAAYC,GACRA,EAAAA,oBAAAA,IACAA,EAAAA,sBAAAA,GACH,CAHD,CAAYA,KAAAA,GAAU,KAQtB,SAAYC,GACRA,EAAAA,SAAAA,UACAA,EAAAA,aAAAA,cACAA,EAAAA,8BAAAA,8BACAA,EAAAA,cAAAA,cACH,CALD,CAAYA,KAAAA,GAAc,KAU1B,SAAYC,GACRA,EAAAA,QAAAA,UACAA,EAAAA,WAAAA,aACAA,EAAAA,SAAAA,UACAA,EAAAA,aAAAA,cACAA,EAAAA,cAAAA,eACAA,EAAAA,aAAAA,cACAA,EAAAA,UAAAA,YACAA,EAAAA,UAAAA,YACAA,EAAAA,UAAAA,YACAA,EAAAA,WAAAA,YACH,CAXD,CAAYA,KAAAA,GAAe,KAgB3B,SAAYC,GACRA,EAAAA,EAAAA,KAAAA,MAAAA,OACAA,EAAAA,EAAAA,IAAAA,MAAAA,MACAA,EAAAA,EAAAA,MAAAA,MAAAA,QACAA,EAAAA,EAAAA,QAAAA,MAAAA,UACAA,EAAAA,EAAAA,aAAAA,MAAAA,eACAA,EAAAA,EAAAA,cAAAA,MAAAA,gBACAA,EAAAA,EAAAA,SAAAA,MAAAA,WACAA,EAAAA,EAAAA,aAAAA,MAAAA,eACAA,EAAAA,EAAAA,UAAAA,MAAAA,WACH,CAVD,CAAYA,KAAAA,GAAS,SAwBTI,GATCC,GAAe,cAEfC,GAAgB,IAEhBC,GACE,qBADFA,GAEa,OAG1B,SAAYH,GACRA,EAAAA,OAAAA,SACAA,EAAAA,MAAAA,QACAA,EAAAA,QAAAA,SACH,CAJD,CAAYA,KAAAA,GAAuB,SAsBvBI,GAhBCC,GAAyB,CAClCC,eAAgB,EAChBC,qBAAsB,GACtBC,sBAAuB,IACvBC,kBAAmB,GACnBC,UAAW,mBACXC,mBAAoB,IACpBC,gBAAiB,IACjBC,cAAe,IACfC,eAAgB,IAChBC,cAAe,kBAMnB,SAAYX,GACRA,EAAAA,OAAAA,SACAA,EAAAA,IAAAA,MACAA,EAAAA,IAAAA,UACH,CAJD,CAAYA,KAAAA,GAAoB,SA4BpBY,GAQCC,GAQDC,GAUAC,GAQAC,GAQAC,GA7DCC,GAEsB,GAFtBA,GAI0B,KAJ1BA,GAMU,aANVA,GAQkB,oBAGlBC,GACY,gBADZA,GAEc,mBAM3B,SAAYP,GACRA,EAAAA,SAAAA,WACAA,EAAAA,SAAAA,UACH,CAHD,CAAYA,KAAAA,GAAsB,KAQlC,SAAaC,GACTA,EAAAA,EAAAA,YAAAA,KAAAA,cACAA,EAAAA,EAAAA,eAAAA,KAAAA,gBACH,CAHD,CAAaA,KAAAA,GAAa,KAQ1B,SAAYC,GACRA,EAAAA,sBAAAA,IACAA,EAAAA,eAAAA,IACAA,EAAAA,qBAAAA,IACAA,EAAAA,KAAAA,GACH,CALD,CAAYA,KAAAA,GAAsB,KAUlC,SAAYC,GACRA,EAAAA,4BAAAA,IACAA,EAAAA,6BAAAA,IACAA,EAAAA,wBAAAA,IACAA,EAAAA,oCAAAA,IACAA,EAAAA,gCAAAA,GACH,CAND,CAAYA,KAAAA,GAAuB,KAQnC,SAAYC,GACRA,EAAAA,aAAAA,IACAA,EAAAA,cAAAA,IACAA,EAAAA,uBAAAA,IACAA,EAAAA,4BAAAA,IACAA,EAAAA,4BAAAA,GACH,CAND,CAAYA,KAAAA,GAAY,KAQxB,SAAYC,GACRA,EAAAA,IAAAA,MACAA,EAAAA,IAAAA,KACH,CAHD,CAAYA,KAAAA,GAAS,SCjWTG,GASAC,GAQAC,GAmBAC,GAWAC,GAeAC,GAWAC,GC1GCC,GACQ,CACbxqK,KAAM,mBACNj/J,KAAM,sDA6BV,WAAY0pU,EAAoBC,EAAuBC,GAAvD,WACUC,EAAcF,EAAkBD,EAAS,KAAKC,EAAiBD,SACrEluU,EAAAA,EAAAA,KAAAA,KAAMquU,IAAY,KAClBz5U,OAAOitB,eAAe7hB,EAAMsuU,EAAUz4U,WAEtCmK,EAAKkuU,UAAYA,GAAa3mU,GAAU8iU,aACxCrqU,EAAKmuU,aAAeA,GAAgB5mU,GAAU8iU,aAC9CrqU,EAAKuuU,SAAWH,GAAY7mU,GAAU8iU,aACtCrqU,EAAK5E,KAAO,cAcpB,OA5C+BumB,GAAAA,EAAAA,GAiC3B2sT,EAAAA,UAAAA,iBAAA,SAAiBE,GACb74U,KAAK64U,cAAgBA,GAOlBF,EAAAA,sBAAP,SAA6BG,GACzB,OAAO,IAAIH,EAAUL,GAAiCxqK,KAASwqK,GAAiCzpU,KAAI,KAAKiqU,IAEjH,GA5C+B7uU,OCVlB8uU,GACU,CACfjrK,KAAM,qBACNj/J,KAAM,oEAHDkqU,GAKY,CACjBjrK,KAAM,wBACNj/J,KAAM,4CAPDkqU,GASiB,CACtBjrK,KAAM,wBACNj/J,KAAM,yDAXDkqU,GAae,CACpBjrK,KAAM,wBACNj/J,KAAM,+PAfDkqU,GAuBc,CACnBjrK,KAAM,2CACNj/J,KAAM,kLAzBDkqU,GA2BiB,CACtBjrK,KAAM,8BACNj/J,KAAM,wSASV,WAAY0pU,EAAmBC,GAA/B,MACI/rT,EAAAA,KAAAA,KAAM8rT,EAAWC,IAAa,YAC9BnuU,EAAK5E,KAAO,gCAEZxG,OAAOitB,eAAe7hB,EAAM2uU,EAA8B94U,aAiDlE,OAvDmD8rB,EAAAA,EAAAA,GAYxCgtT,EAAAA,4BAAP,WACI,OAAO,IAAIA,EAA8BD,GAAuDjrK,KAC5FirK,GAAuDlqU,OAMxDmqU,EAAAA,sCAAP,WACI,OAAO,IAAIA,EAA8BD,GAAyDjrK,KAC9FirK,GAAyDlqU,OAO1DmqU,EAAAA,+BAAP,SAAsCC,GAClC,OAAO,IAAID,EAA8BD,GAA8DjrK,KAASirK,GAA8DlqU,KAAI,oBAAoBoqU,IAMnMD,EAAAA,mCAAP,WACI,OAAO,IAAIA,EAA8BD,GAA4DjrK,KACjGirK,GAA4DlqU,OAM7DmqU,EAAAA,iCAAP,WACI,OAAO,IAAIA,EAA8BD,GAA2DjrK,KAChGirK,GAA2DlqU,OAM5DmqU,EAAAA,uCAAP,WACI,OAAO,IAAIA,EAA8BD,GAA8DjrK,KAAMirK,GAA8DlqU,OAEnL,GAvDmD8pU,ICGtCO,GAA2D,CACpEC,kBAAmB,WACf,OAAO/kD,QAAQC,OAAO2kD,GAA8BI,qCAExDC,qBAAsB,WAClB,OAAOjlD,QAAQC,OAAO2kD,GAA8BI,qCAExDE,mBAAoB,WAChB,OAAOllD,QAAQC,OAAO2kD,GAA8BI,qCAExDG,mBAAoB,WAChB,OAAOnlD,QAAQC,OAAO2kD,GAA8BI,qCAExDI,eAAgB,WACZ,MAAO,IAEXC,mBAAoB,WAChB,OAAO,MAEXC,qBAAsB,WAClB,OAAO,MAEXC,oBAAqB,WACjB,OAAO,MAEXC,sBAAuB,WACnB,OAAOxlD,QAAQC,OAAO2kD,GAA8BI,qCAExDS,WAAY,WACR,OAAOzlD,QAAQC,OAAO2kD,GAA8BI,qCAExDU,cAAe,WACX,OAAO1lD,QAAQC,OAAO2kD,GAA8BI,qCAExDW,OAAQ,WACJ,OAAO3lD,QAAQC,OAAO2kD,GAA8BI,qCAExDY,eAAgB,WACZ,OAAO5lD,QAAQC,OAAO2kD,GAA8BI,qCAExDa,YAAa,WACT,OAAO7lD,QAAQC,OAAO2kD,GAA8BI,qCAExDc,UAAW,WACP,OAAO9lD,QAAQC,OAAO2kD,GAA8BI,qCAExDe,iBAAkB,WACd,OAAO,MAEXC,oBAAqB,aAGrBC,2BAA4B,aAG5BC,4BAA6B,aAG7BC,cAAe,WACX,MAAMvB,GAA8BI,oCAExCoB,UAAW,WACP,MAAMxB,GAA8BI,oCAExCqB,UAAW,aAGXC,iBAAkB,aAGlBC,iBAAkB,WACd,OAAO,MAEXC,yBAA0B,aAG1BC,oBAAqB,aAGrBC,iBAAkB,WACd,MAAM9B,GAA8BI,qCHrH/B2B,GAQY,gBARZA,GAYI,IAZJA,GAgBK,IAhBLA,GAoBU,OApBVA,GAwBS,GAxBTA,GA4BC,mBAGd,SAAYhD,GACRA,EAAAA,aAAAA,eACAA,EAAAA,eAAAA,iBACAA,EAAAA,cAAAA,eACH,CAJD,CAAYA,KAAAA,GAAoB,KAShC,SAAYC,GACRA,EAAAA,IAAAA,MACAA,EAAAA,KAAAA,MACH,CAHD,CAAYA,KAAAA,GAAiB,KAQ7B,SAAYC,GACRA,EAAAA,UAAAA,YACAA,EAAAA,sBAAAA,uBACAA,EAAAA,cAAAA,gBACAA,EAAAA,cAAAA,gBACAA,EAAAA,cAAAA,iBACAA,EAAAA,WAAAA,iBACAA,EAAAA,aAAAA,qBACAA,EAAAA,SAAAA,UACAA,EAAAA,eAAAA,iBACAA,EAAAA,OAAAA,SACAA,EAAAA,uBAAAA,qBACAA,EAAAA,eAAAA,iBACAA,EAAAA,eAAAA,uBACH,CAdD,CAAYA,KAAAA,GAAkB,KAmB9B,SAAYC,GACRA,EAAAA,YAAAA,cACAA,EAAAA,YAAAA,iBACH,CAHD,CAAYA,KAAAA,GAAiB,KAW7B,SAAYC,GACRA,EAAAA,EAAAA,qBAAAA,KAAAA,uBACAA,EAAAA,EAAAA,kBAAAA,KAAAA,oBACAA,EAAAA,EAAAA,UAAAA,KAAAA,YACAA,EAAAA,EAAAA,4BAAAA,KAAAA,8BACAA,EAAAA,EAAAA,sBAAAA,KAAAA,wBACAA,EAAAA,EAAAA,mBAAAA,KAAAA,qBACAA,EAAAA,EAAAA,8BAAAA,IAAAA,gCACAA,EAAAA,EAAAA,OAAAA,KAAAA,SACAA,EAAAA,EAAAA,YAAAA,KAAAA,aACH,CAVD,CAAYA,KAAAA,GAAK,KAejB,SAAYC,GACRA,EAAAA,SAAAA,WACAA,EAAAA,MAAAA,QACAA,EAAAA,OAAAA,SACAA,EAAAA,KAAAA,MACH,CALD,CAAYA,KAAAA,GAAe,KAW3B,SAAYC,GAIRA,EAAAA,QAAAA,UAIAA,EAAAA,MAAAA,QAIAA,EAAAA,OAAAA,SAIAA,EAAAA,aAAAA,eAIAA,EAAAA,UAAAA,YAIAA,EAAAA,eAAAA,iBAIAA,EAAAA,KAAAA,MACH,CA7BD,CAAYA,KAAAA,GAAiB,SAyCjB2C,GAVCC,GAAgD,CACzDC,OAAQ9F,IAMC+F,GAAiB,OAG9B,SAAYH,GACRA,EAAAA,MAAAA,oBACAA,EAAAA,QAAAA,qBACH,CAHD,CAAYA,KAAAA,GAAU,SIvIVI,GJ6ICC,GAAU,UAEVC,GAAmBD,GAAO,QK3J1BE,GACgB,CACrBztK,KAAM,6BACNj/J,KAAM,+GAHD0sU,GAKa,CAClBztK,KAAM,0BACNj/J,KAAM,mFAPD0sU,GASU,CACfztK,KAAM,sBACNj/J,KAAM,8EAXD0sU,GAaS,CACdztK,KAAM,sBACNj/J,KAAM,oFAfD0sU,GAiBgB,CACrBztK,KAAM,6BACNj/J,KAAM,2EAnBD0sU,GAqBK,CACVztK,KAAM,gBACNj/J,KAAM,+EAvBD0sU,GAyBqB,CAC1BztK,KAAM,sBACNj/J,KAAM,+IA3BD0sU,GA6BY,CACjBztK,KAAM,wBACNj/J,KAAM,uGA/BD0sU,GAqCU,CACfztK,KAAM,gBACNj/J,KAAM,6IAvCD0sU,GAyCW,CAChBztK,KAAM,iBACNj/J,KAAM,iGA3CD0sU,GA6CW,CAChBztK,KAAM,kBACNj/J,KAAM,mBA/CD0sU,GAiDW,CAChBztK,KAAM,iBACNj/J,KAAM,wFAnDD0sU,GAqDW,CAChBztK,KAAM,kBACNj/J,KAAM,mBAvDD0sU,GA6De,CACpBztK,KAAM,2BACNj/J,KAAM,qJA/DD0sU,GAkEiB,CACtBztK,KAAM,6BACNj/J,KAAM,6HApED0sU,GAsEoB,CACzBztK,KAAM,gCACNj/J,KAAM,oIAxED0sU,GA0EiB,CACtBztK,KAAM,yBACNj/J,KAAM,6EA5ED0sU,GA8Ec,CACnBztK,KAAM,4BACNj/J,KAAM,8FAhFD0sU,GAkFc,CACnBztK,KAAM,4BACNj/J,KAAM,gGApFD0sU,GAsFY,CACjBztK,KAAM,yBACNj/J,KAAM,wCAxFD0sU,GA0FgB,CACrBztK,KAAM,uBACNj/J,KAAM,6CA5FD0sU,GA8FmB,CACxBztK,KAAM,gCACNj/J,KAAM,mHAhGD0sU,GAkGU,CACfztK,KAAM,sBACNj/J,KAAM,2BApGD0sU,GAsGe,CACpBztK,KAAM,4BACNj/J,KAAM,oDAxGD0sU,GA0GiB,CACtBztK,KAAM,+BACNj/J,KAAM,2FA5GD0sU,GA8GW,CAChBztK,KAAM,uBACNj/J,KAAM,8CAhHD0sU,GAkHgB,CACrBztK,KAAM,4BACNj/J,KAAM,6DApHD0sU,GAsHO,CACZztK,KAAM,mBACNj/J,KAAM,4CAxHD0sU,GA0HS,CACdztK,KAAM,sCACNj/J,KAAM,iFA5HD0sU,GA8HI,CACTztK,KAAM,mBACNj/J,KAAM,6EAhID0sU,GAkIS,CACdztK,KAAM,qBACNj/J,KAAM,sBApID0sU,GAsIc,CACnBztK,KAAM,0BACNj/J,KAAM,4BAxID0sU,GA0IiB,CACtBztK,KAAM,6BACNj/J,KAAM,+BA5ID0sU,GA8IS,CACdztK,KAAM,oBACNj/J,KAAM,4FAhJD0sU,GAkJgB,CACrBztK,KAAM,4BACNj/J,KAAM,kKApJD0sU,GAsJa,CAClBztK,KAAM,yBACNj/J,KAAM,sOAxJD0sU,GA0JW,CAChBztK,KAAM,uBACNj/J,KAAM,wDA5JD0sU,GA8JY,CACjBztK,KAAM,0CACNj/J,KAAM,mEAhKD0sU,GAkKsB,CAC3BztK,KAAM,kDACNj/J,KAAM,qEApKD0sU,GA8KkB,CACvBztK,KAAM,0BACNj/J,KAAM,+DAhLD0sU,GAkLW,CAChBztK,KAAM,qCACNj/J,KAAM,+CApLD0sU,GAsLK,CACVztK,KAAM,iBACNj/J,KAAM,wJASV,WAAY0pU,EAAmBC,GAA/B,MACI/rT,EAAAA,KAAAA,KAAM8rT,EAAWC,IAAa,YAC9BnuU,EAAK5E,KAAO,kBAEZxG,OAAOitB,eAAe7hB,EAAMmxU,EAAgBt7U,aAkUpD,OAxUqC8rB,GAAAA,EAAAA,GAa1BwvT,EAAAA,8BAAP,SAAqCC,GACjC,OAAO,IAAID,EAAgBD,GAA+CztK,KACnEytK,GAA+C1sU,KAAI,uBAAuB4sU,IAO9ED,EAAAA,2BAAP,WACI,OAAO,IAAIA,EAAgBD,GAA4CztK,KACnE,GAAGytK,GAA4C1sU,OAOhD2sU,EAAAA,wBAAP,SAA+BE,GAC3B,OAAO,IAAIF,EAAgBD,GAAyCztK,KAC7DytK,GAAyC1sU,KAAI,uBAAuB6sU,IAOxEF,EAAAA,4BAAP,SAAmCG,GAC/B,OAAO,IAAIH,EAAgBD,GAAwCztK,KAC5DytK,GAAwC1sU,KAAI,qBAAqB8sU,IAMrEH,EAAAA,uCAAP,SAA8CI,GAC1C,OAAO,IAAIJ,EAAgBD,GAA+CztK,KACnEytK,GAA+C1sU,KAAI,YAAY+sU,IAMnEJ,EAAAA,mBAAP,SAA0BK,EAAkBD,GACxC,OAAO,IAAIJ,EAAgBD,GAAoCztK,KACxDytK,GAAoC1sU,KAAI,0BAA0B+sU,EAAS,0BAA0BC,EAASv4U,MAAM,KAAK,KAM7Hk4U,EAAAA,mCAAP,SAA0CI,GACtC,OAAO,IAAIJ,EAAgBD,GAAoDztK,KACxEytK,GAAoD1sU,KAAI,0CAA0C+sU,IAOtGJ,EAAAA,+BAAP,SAAsCM,GAClC,OAAO,IAAIN,EAAgBD,GAA2CztK,KAC/DytK,GAA2C1sU,KAAI,kBAAkBitU,IAOrEN,EAAAA,wBAAP,SAA+BO,EAAsBrD,GACjD,OAAO,IAAI8C,EAAgBD,GAAyCztK,KAC7DytK,GAAyC1sU,KAAI,mBAAmBktU,EAAY,eAAerD,IAM/F8C,EAAAA,yBAAP,WACI,OAAO,IAAIA,EAAgBD,GAA0CztK,KACjEytK,GAA0C1sU,OAO3C2sU,EAAAA,yBAAP,SAAgCQ,GAC5B,OAAO,IAAIR,EAAgBD,GAA0CztK,KAC9DytK,GAA0C1sU,KAAI,MAAMmtU,IAMxDR,EAAAA,yBAAP,WACI,OAAO,IAAIA,EAAgBD,GAA0CztK,KACjEytK,GAA0C1sU,OAO3C2sU,EAAAA,yBAAP,SAAgCS,GAC5B,OAAO,IAAIT,EAAgBD,GAA0CztK,KAC9DytK,GAA0C1sU,KAAI,MAAMotU,IAMxDT,EAAAA,yCAAP,WACI,OAAO,IAAIA,EAAgBD,GAA8CztK,KAClEytK,GAA8C1sU,KAAI,MAMtD2sU,EAAAA,2CAAP,WACI,OAAO,IAAIA,EAAgBD,GAAgDztK,KACvEytK,GAAgD1sU,OAMjD2sU,EAAAA,8CAAP,WACI,OAAO,IAAIA,EAAgBD,GAAmDztK,KAC1EytK,GAAmD1sU,OAMpD2sU,EAAAA,oCAAP,WACI,OAAO,IAAIA,EAAgBD,GAAgDztK,KAAMytK,GAAgD1sU,OAO9H2sU,EAAAA,iCAAP,SAAwCU,GACpC,OAAO,IAAIV,EAAgBD,GAA6CztK,KAASytK,GAA6C1sU,KAAI,iBAAiBqtU,IAOhJV,EAAAA,mCAAP,SAA0CU,GACtC,OAAO,IAAIV,EAAgBD,GAA6CztK,KAASytK,GAA6C1sU,KAAI,iBAAiBqtU,IAOhJV,EAAAA,0BAAP,SAAiCW,GAC7B,OAAO,IAAIX,EAAgBD,GAA2CztK,KAASytK,GAA2C1sU,KAAI,kBAAkBstU,IAO7IX,EAAAA,8BAAP,WACI,OAAO,IAAIA,EAAgBD,GAA+CztK,KAAM,GAAGytK,GAA+C1sU,OAM/H2sU,EAAAA,+BAAP,WACI,OAAO,IAAIA,EAAgBD,GAAkDztK,KAAM,GAAGytK,GAAkD1sU,OAMrI2sU,EAAAA,6BAAP,WACI,OAAO,IAAIA,EAAgBD,GAAyCztK,KAAM,GAAGytK,GAAyC1sU,OAMnH2sU,EAAAA,6BAAP,WACI,OAAO,IAAIA,EAAgBD,GAA8CztK,KAAM,GAAGytK,GAA8C1sU,OAM7H2sU,EAAAA,oCAAP,WACI,OAAO,IAAIA,EAAgBD,GAAgDztK,KAAM,GAAGytK,GAAgD1sU,OAMjI2sU,EAAAA,iCAAP,WACI,OAAO,IAAIA,EAAgBD,GAA0CztK,KAAMytK,GAA0C1sU,OAMlH2sU,EAAAA,mCAAP,WACI,OAAO,IAAIA,EAAgBD,GAA+CztK,KAAMytK,GAA+C1sU,OAM5H2sU,EAAAA,0BAAP,WACI,OAAO,IAAIA,EAAgBD,GAAsCztK,KAAMytK,GAAsC1sU,OAM1G2sU,EAAAA,uBAAP,WACI,OAAO,IAAIA,EAAgBD,GAAwCztK,KAAM,GAAGytK,GAAwC1sU,OAOjH2sU,EAAAA,0BAAP,SAAiCY,GAC7B,OAAO,IAAIZ,EAAgBD,GAAmCztK,KAAM,GAAGytK,GAAmC1sU,KAAOutU,IAM9GZ,EAAAA,4BAAP,WACI,OAAO,IAAIA,EAAgBD,GAAwCztK,KAAM,GAAGytK,GAAwC1sU,OAMjH2sU,EAAAA,iCAAP,WACI,OAAO,IAAIA,EAAgBD,GAA6CztK,KAAM,GAAGytK,GAA6C1sU,OAM3H2sU,EAAAA,oCAAP,WACI,OAAO,IAAIA,EAAgBD,GAAgDztK,KAAM,GAAGytK,GAAgD1sU,OAMjI2sU,EAAAA,4BAAP,WACI,OAAO,IAAIA,EAAgBD,GAAwCztK,KAAM,GAAGytK,GAAwC1sU,OAMjH2sU,EAAAA,6BAAP,WACI,OAAO,IAAIA,EAAgBD,GAA+CztK,KAAM,GAAGytK,GAA+C1sU,OAM/H2sU,EAAAA,2BAAP,WACI,OAAO,IAAIA,EAAgBD,GAA4CztK,KAAMytK,GAA4C1sU,OAMtH2sU,EAAAA,8BAAP,WACI,OAAO,IAAIA,EAAgBD,GAA0CztK,KAAMytK,GAA0C1sU,OAMlH2sU,EAAAA,+BAAP,WACI,OAAO,IAAIA,EAAgBD,GAA2CztK,KAAMytK,GAA2C1sU,OAMpH2sU,EAAAA,sCAAP,WACI,OAAO,IAAIA,EAAgBD,GAAqDztK,KAAMytK,GAAqD1sU,OAGxI2sU,EAAAA,gCAAP,WACI,OAAO,IAAIA,EAAgBD,GAAiDztK,KAAMytK,GAAiD1sU,OAMhI2sU,EAAAA,8BAAP,WACI,OAAO,IAAIA,EAAgBD,GAA0CztK,KAAMytK,GAA0C1sU,OAMlH2sU,EAAAA,wBAAP,WACI,OAAO,IAAIA,EAAgBD,GAAoCztK,KAAMytK,GAAoC1sU,OAEjH,GAxUqC8pU,kBC9LrC,cAwHA,OAjHWhgT,EAAAA,gBAAP,SAAuB0jT,GACnB,GAAI1jT,EAAYiV,QAAQyuS,GACpB,MAAMb,GAAgBc,4BAA4BD,GAEtD,IACM32U,EADkB,uCACQC,KAAK02U,GACrC,IAAK32U,GAAWA,EAAQtI,OAAS,EAC7B,MAAMo+U,GAAgBe,wBAAwB,6BAA6B18U,KAAKC,UAAUu8U,IAO9F,MALuC,CACnChuE,OAAQ3oQ,EAAQ,GAChB82U,WAAY92U,EAAQ,GACpB+2U,OAAQ/2U,EAAQ,KAUjBizB,EAAAA,QAAP,SAAeb,GACX,MAAuB,qBAARA,IAAwBA,GAAO,IAAMA,EAAI16B,QAOrDu7B,EAAAA,WAAP,SAAkB+jT,GACd,GAAIA,IAAW/jT,EAAYiV,QAAQ8uS,GAC/B,IACI,IAAMr7U,EAAMxB,KAAKsE,MAAMu4U,GACvB,OAAmC,IAA5Bz9U,OAAOmB,KAAKiB,GAAKjE,OAC1B,MAAOqB,GAAI,CAEjB,OAAO,GAGJk6B,EAAAA,WAAP,SAAkBb,EAAaoxC,GAC3B,OAA+B,IAAxBpxC,EAAIv2B,QAAQ2nE,IAGhBvwC,EAAAA,SAAP,SAAgBb,EAAaoxC,GACzB,OAAQpxC,EAAI16B,QAAU8rE,EAAO9rE,QAAY06B,EAAIyiE,YAAYrxB,KAAapxC,EAAI16B,OAAS8rE,EAAO9rE,QAQvFu7B,EAAAA,oBAAP,SAA8BgkT,GAC1B,IAAMt7U,EAAU,CAAC,EACX2H,EAAS2zU,EAAMr5U,MAAM,KACrBs5U,EAAS,SAAC/jT,GAAc,OAAAmlQ,mBAAmBnlQ,EAAEtwB,QAAQ,MAAO,KAAK,EASvE,OARAS,EAAOjK,SAAQ,SAACk7B,GACZ,GAAIA,EAAKr0B,OAAQ,CACP,MAAeq0B,EAAK32B,MAAM,SAAU,GAAnCtC,EAAG,KAAEjE,EAAK,KACbiE,GAAOjE,IACPsE,EAAIu7U,EAAO57U,IAAQ47U,EAAO7/U,QAI/BsE,GAQJs3B,EAAAA,iBAAP,SAAwB7W,GACpB,OAAOA,EAAInY,KAAI,SAAAkzU,GAAS,OAAAA,EAAMj3U,MAAM,KAOjC+yB,EAAAA,4BAAP,SAAmC7W,GAC/B,OAAOA,EAAIzf,QAAO,SAAAw6U,GACd,OAAQlkT,EAAYiV,QAAQivS,OAQ7BlkT,EAAAA,gBAAP,SAA0Bb,GACtB,IACI,OAAOj4B,KAAKsE,MAAM2zB,GACpB,MAAOr5B,GACL,OAAO,OASRk6B,EAAAA,aAAP,SAAoBq9L,EAAiB1sK,GAOjC,OAFsB,IAAI2sK,OAAOD,EAAQztN,QAAQ,MAAO,QAAQA,QAAQ,MAAO,SAASA,QAAQ,MAAO,QAE1F1K,KAAKyrD,IAE1B,MF7GA,SAAY8xR,GACRA,EAAAA,EAAAA,MAAAA,GAAAA,QACAA,EAAAA,EAAAA,QAAAA,GAAAA,UACAA,EAAAA,EAAAA,KAAAA,GAAAA,OACAA,EAAAA,EAAAA,QAAAA,GAAAA,UACAA,EAAAA,EAAAA,MAAAA,GAAAA,OACH,CAND,CAAYA,KAAAA,GAAQ,SGjBR0B,iBHuDR,WAAYC,EAA8BC,EAAsBC,GAdxD,KAAA91T,MAAkBi0T,GAAS8B,KAkB/Bl9U,KAAKm9U,cAAgBJ,EAAcK,gBAHL,aAI9Bp9U,KAAKq9U,kBAAoBN,EAAcM,oBAAqB,EAC5Dr9U,KAAKmnB,MAA2C,kBAA5B41T,EAAcO,SAAyBP,EAAcO,SAAWlC,GAAS8B,KAC7Fl9U,KAAK64U,cAAgBkE,EAAclE,eAAiBjnU,GAAU8iU,aAE9D10U,KAAKg9U,YAAcA,GAAeprU,GAAU8iU,aAC5C10U,KAAKi9U,eAAiBA,GAAkBrrU,GAAU8iU,aA+J1D,OAzJW93F,EAAAA,UAAAA,MAAP,SAAaogG,EAAqBC,EAAwBpE,GACtD,OAAO,IAAIj8F,EAAO,CAACwgG,eAAgBp9U,KAAKm9U,cAAeE,kBAAmBr9U,KAAKq9U,kBAAmBC,SAAUt9U,KAAKmnB,MAAO0xT,cAAeA,GAAiB74U,KAAK64U,eAAgBmE,EAAaC,IAMtLrgG,EAAAA,UAAAA,WAAR,SAAmB2gG,EAAoB1yT,GACnC,KAAKA,EAAQyyT,SAAWt9U,KAAKmnB,QAAYnnB,KAAKq9U,mBAAqBxyT,EAAQ2yT,aAA3E,CAGA,IAAMlqQ,GAAY,IAAI/rE,MAAOk2U,cAYvBn0U,GARDqvB,GAAYiV,QAAQ/iB,EAAQguT,eAErBlgT,GAAYiV,QAAQ5tC,KAAK64U,eAGrB,IAAIvlQ,EAAS,IAFb,IAAIA,EAAS,QAAQtzE,KAAK64U,cAAa,IAFvC,IAAIvlQ,EAAS,QAAQzoD,EAAQguT,cAAa,KAOlC,MAAM74U,KAAKg9U,YAAW,IAAIh9U,KAAKi9U,eAAc,MAAM7B,GAASvwT,EAAQyyT,UAAS,MAAMC,EAE3Gv9U,KAAK09U,gBAAgB7yT,EAAQyyT,SAAUh0U,EAAKuhB,EAAQ2yT,cAAe,KAMvE5gG,EAAAA,UAAAA,gBAAA,SAAgBz1N,EAAiBs7C,EAAiB+6Q,GAC1Cx9U,KAAKm9U,eACLn9U,KAAKm9U,cAAch2T,EAAOs7C,EAAS+6Q,IAO3C5gG,EAAAA,UAAAA,MAAA,SAAMn6K,EAAiBo2Q,GACnB74U,KAAKu9U,WAAW96Q,EAAS,CACrB66Q,SAAUlC,GAASnxU,MACnBuzU,aAAa,EACb3E,cAAeA,GAAiBjnU,GAAU8iU,gBAOlD93F,EAAAA,UAAAA,SAAA,SAASn6K,EAAiBo2Q,GACtB74U,KAAKu9U,WAAW96Q,EAAS,CACrB66Q,SAAUlC,GAASnxU,MACnBuzU,aAAa,EACb3E,cAAeA,GAAiBjnU,GAAU8iU,gBAOlD93F,EAAAA,UAAAA,QAAA,SAAQn6K,EAAiBo2Q,GACrB74U,KAAKu9U,WAAW96Q,EAAS,CACrB66Q,SAAUlC,GAASuC,QACnBH,aAAa,EACb3E,cAAeA,GAAiBjnU,GAAU8iU,gBAOlD93F,EAAAA,UAAAA,WAAA,SAAWn6K,EAAiBo2Q,GACxB74U,KAAKu9U,WAAW96Q,EAAS,CACrB66Q,SAAUlC,GAASuC,QACnBH,aAAa,EACb3E,cAAeA,GAAiBjnU,GAAU8iU,gBAOlD93F,EAAAA,UAAAA,KAAA,SAAKn6K,EAAiBo2Q,GAClB74U,KAAKu9U,WAAW96Q,EAAS,CACrB66Q,SAAUlC,GAAS8B,KACnBM,aAAa,EACb3E,cAAeA,GAAiBjnU,GAAU8iU,gBAOlD93F,EAAAA,UAAAA,QAAA,SAAQn6K,EAAiBo2Q,GACrB74U,KAAKu9U,WAAW96Q,EAAS,CACrB66Q,SAAUlC,GAAS8B,KACnBM,aAAa,EACb3E,cAAeA,GAAiBjnU,GAAU8iU,gBAOlD93F,EAAAA,UAAAA,QAAA,SAAQn6K,EAAiBo2Q,GACrB74U,KAAKu9U,WAAW96Q,EAAS,CACrB66Q,SAAUlC,GAASwC,QACnBJ,aAAa,EACb3E,cAAeA,GAAiBjnU,GAAU8iU,gBAOlD93F,EAAAA,UAAAA,WAAA,SAAWn6K,EAAiBo2Q,GACxB74U,KAAKu9U,WAAW96Q,EAAS,CACrB66Q,SAAUlC,GAASwC,QACnBJ,aAAa,EACb3E,cAAeA,GAAiBjnU,GAAU8iU,gBAOlD93F,EAAAA,UAAAA,MAAA,SAAMn6K,EAAiBo2Q,GACnB74U,KAAKu9U,WAAW96Q,EAAS,CACrB66Q,SAAUlC,GAASyC,MACnBL,aAAa,EACb3E,cAAeA,GAAiBjnU,GAAU8iU,gBAOlD93F,EAAAA,UAAAA,SAAA,SAASn6K,EAAiBo2Q,GACtB74U,KAAKu9U,WAAW96Q,EAAS,CACrB66Q,SAAUlC,GAASyC,MACnBL,aAAa,EACb3E,cAAeA,GAAiBjnU,GAAU8iU,gBAOlD93F,EAAAA,UAAAA,oBAAA,WACI,OAAO58O,KAAKq9U,oBAAqB,GAEzC,MGhOA,SAAYP,GACRA,EAAAA,cAAAA,oBACAA,EAAAA,gBAAAA,sBACAA,EAAAA,YAAAA,kBACAA,EAAAA,cAAAA,oBACAA,EAAAA,cAAAA,oBACAA,EAAAA,oBAAAA,yBACAA,EAAAA,sBAAAA,2BACAA,EAAAA,sBAAAA,2BACAA,EAAAA,4BAAAA,oCACAA,EAAAA,iBAAAA,sBACAA,EAAAA,mBAAAA,wBACAA,EAAAA,mBAAAA,wBACAA,EAAAA,4BAAAA,+BACAA,EAAAA,8BAAAA,iCACAA,EAAAA,8BAAAA,iCACAA,EAAAA,sBAAAA,2BACAA,EAAAA,oBAAAA,yBACAA,EAAAA,aAAAA,mBACAA,EAAAA,aAAAA,mBACAA,EAAAA,eAAAA,qBACAA,EAAAA,eAAAA,qBACAA,EAAAA,WAAAA,gBACH,CAvBD,CAAYA,KAAAA,GAAS,uBCuBrB,cA0DA,OAnDWgB,EAAAA,8BAAP,SAAqCr7Q,EAAuBs7Q,GACxD,OAAQt7Q,EAAQlyD,WACZ,KAAKusU,GAAUkB,YACX,OAAO3F,GAAkB4F,MAC7B,KAAKnB,GAAUoB,iBACX,OAAO7F,GAAkB8F,UAC7B,KAAKrB,GAAUsB,oBACX,GAAI37Q,EAAQ47Q,kBAAoBjG,GAAgBkG,UAAY77Q,EAAQ47Q,kBAAoBjG,GAAgBmG,MACpG,OAAOlG,GAAkBmG,aAE7B,MACJ,KAAK1B,GAAU2B,sBACX,OAAOpG,GAAkBqG,eAC7B,KAAK5B,GAAU6B,aACX,OAAOtG,GAAkBuG,OAC7B,KAAK9B,GAAU+B,mBACf,KAAK/B,GAAUgC,mBACX,GAAIf,GAAiBA,IAAkB1F,GAAkB8F,UAErD,MAEJ,OAAO9F,GAAkB0G,KAC7B,KAAKjC,GAAUkC,WACX,GAAIjB,GAAiBA,IAAkB1F,GAAkBuG,OAErD,MAEJ,OAAOvG,GAAkB0G,KAC7B,KAAKjC,GAAUmC,oBACX,GAAIlB,GAAiBA,IAAkB1F,GAAkBqG,eAErD,MAEJ,OAAOrG,GAAkB0G,KAC7B,KAAKjC,GAAUoC,cACf,KAAKpC,GAAUqC,cACf,KAAKrC,GAAUsC,sBACf,KAAKtC,GAAUuC,sBACX,GAAI58Q,EAAQ47Q,kBAAoBjG,GAAgBkG,UAAY77Q,EAAQ47Q,kBAAoBjG,GAAgBmG,MAAO,CAC3G,GAAIR,GAAiBA,IAAkB1F,GAAkB4F,OAASF,IAAkB1F,GAAkBmG,aAElG,MAEJ,OAAOnG,GAAkB0G,MAMrC,OAAO,MAEf,KCnEA,MAAMO,GAAmC,CACrCtzN,SAAUktN,GACVhuF,WAAYmtF,GAAkB0G,KAC9BQ,SAAU,GACVt2U,OAAQ,IAAI2zO,GAAO,CAAC,IAGX4iG,IAAc5S,EAAAA,EAAAA,eACvB0S,IAEwBE,GAAYlW,SCnBxC,SAAgBmW,GACZ/6T,EACA1d,GAEA,MAAwB,oBAAb0d,EACAA,EAAS1d,GAEb0d,CACV,CAmCD,SAAgBg7T,GAAwBC,EAA4BC,GAChE,GAAID,EAAYviV,OAAS,IAAMwiV,EAAmBC,eAAiBD,EAAmBE,gBAAkBF,EAAmB3qD,UAAW,CAelI,OAdwB0qD,EAAYt9U,QAAO09U,KACnCH,EAAmB3qD,UAAY2qD,EAAmB3qD,SAASj9P,gBAAkB+nT,EAAW9qD,SAASj9P,mBAGjG4nT,EAAmBC,eAAiBD,EAAmBC,cAAc7nT,gBAAkB+nT,EAAWF,cAAc7nT,kBAGhH4nT,EAAmBE,gBAAkBF,EAAmBE,eAAe9nT,gBAAkB+nT,EAAWD,eAAe9nT,kBAOpG,IAAM,IAChC,CACG,OAAO,IAEd,CCxED,MACas7G,GAAU,QCGvB,IAuBK0sM,IAAL,SAAKA,GACDA,EAAAA,mBAAAA,qBACAA,EAAAA,MAAAA,OAFJ,EAAKA,KAAAA,GAAsB,KAmB3B,MAAMC,GAAUA,CAACC,EAA0Bj8T,KACvC,MAAM,KAAE3S,EAAF,QAAQ2sR,GAAYh6Q,EAC1B,IAAIk8T,EAAcD,EAAcX,SAC5Ba,EAAgBF,EAAch1F,WAElC,OAAQ55O,GACJ,KAAK0uU,GAAuBK,mBACpBH,EAAch1F,aAAemtF,GAAkBiI,UAC/CF,EAAgB/H,GAAkB0G,KAClC9gD,EAAQh1R,OAAOwqE,KAAK,gFAExB,MACJ,KAAKusQ,GAAuBO,MACxB,MAAM99Q,EAAUw7N,EAAQx7N,QAClB2P,EAAS0rQ,GAAkB0C,8BAA8B/9Q,EAASy9Q,EAAch1F,YAClF94K,IACA6rN,EAAQh1R,OAAOwqE,KAAf,yBAAsChR,EAAQlyD,UAAAA,wCAAAA,OAAgD2vU,EAAch1F,WAAAA,QAAAA,OAAiB94K,IAC7HguQ,EAAgBhuQ,GAEpB,MACJ,QACI,MAAM,IAAInoE,MAAJ,+BAAkCqH,IAGhD,MAAMmvU,EAAkBxiD,EAAQjyK,SAASwtN,iBAQzC,OF7CJ,SAAsCkH,EAAmCC,GACrE,GAAID,EAAOtjV,SAAWujV,EAAOvjV,OACzB,OAAO,EAGX,MAAMwjV,EAAkB,IAAID,GAE5B,OAAOD,EAAOz+T,OAAO4+T,IACjB,MAAMC,EAAWF,EAAgB/7U,QACjC,SAAKg8U,IAAaC,IAIVD,EAAShB,gBAAkBiB,EAASjB,eACpCgB,EAASf,iBAAmBgB,EAAShB,gBACrCe,EAAS5rD,WAAa6rD,EAAS7rD,QAFvC,GAIP,CEqBQ8rD,CAAsBN,EAAiBP,EAAcX,WACtDthD,EAAQh1R,OAAOwqE,KAAK,yCACpB0sQ,EAAcM,GAEdxiD,EAAQh1R,OAAO+3U,QAAQ,qCAGpB,IACAd,EACHh1F,WAAYk1F,EACZb,SAAUY,EAHd,EAUJ,SAAgBc,GAAa,gBAACj1N,EAAD,SAAWtnG,GAAX,GACzBo8P,EAAAA,EAAAA,YAAU,KACN90J,EAAS4uN,yBAAyBI,GAAWpO,MAAOt5L,GAApD,GACD,CAACtnB,IAEJ,MAAM/iH,GAASq2Q,EAAAA,EAAAA,UAAQ,IACZtzJ,EAASwuN,YAAY0G,MD9FhB,oBC8F2B5tM,KACxC,CAACtnB,KAEGn7E,EAAO83J,IAAew/F,EAAAA,EAAAA,YAAW83C,QAASziV,GAAW,KAEjD,CACH0tP,WAAYmtF,GAAkBiI,QAC9Bf,SAAUvzN,EAASwtN,sBAI3B14D,EAAAA,EAAAA,YAAU,KACN,MAAMqgE,EAAan1N,EAASmuN,kBAAkB13Q,IAC1CkmI,EAAY,CACRs1F,QAAS,CACLjyK,WACA/iH,SACAw5D,WAEJnxD,KAAM0uU,GAAuBO,OANjC,IA4BJ,OAnBAt3U,EAAO+3U,QAAP,4DAAoEG,IAEpEn1N,EAAS4tN,wBAAwBwH,OAAM,KAE7B,IACPC,SAAQ,KAKP14I,EAAY,CACRs1F,QAAS,CACLjyK,WACA/iH,UAEJqI,KAAM0uU,GAAuBK,oBALjC,IASG,KAECc,IACAl4U,EAAO+3U,QAAP,iDAAyDG,IACzDn1N,EAASouN,oBAAoB+G,GAChC,CALL,GAOD,CAACn1N,EAAU/iH,IAEd,MAAMq4U,EAA6B,CAC/Bt1N,WACAk/H,WAAYr6M,EAAMq6M,WAClBq0F,SAAU1uS,EAAM0uS,SAChBt2U,UAGJ,OACI2jU,EAAAA,cAAC4S,GAAYr1D,SAAb,CAAsBptR,MAAOukV,GACxB58T,EAGZ,CClJD,MAAa68T,GAAUA,KAAoBhjE,EAAAA,EAAAA,YAAWihE,ICAtD,SAASgC,GAAgB7B,EAA4B8B,GACjD,OAAGA,IAAiBA,EAAaxsD,UAAYwsD,EAAa5B,eAAiB4B,EAAa3B,kBAC3EJ,GAAwBC,EAAa8B,GAG3C9B,EAAYviV,OAAS,CAC/B,CAMD,SAAgBskV,GAAmBD,GAC/B,MAAQlC,SAAUI,GAAgB4B,MAE3BI,EAAkBC,IAAuBpjE,EAAAA,EAAAA,WAAkB,IAAMgjE,GAAgB7B,EAAa8B,KAMrG,OAJA3gE,EAAAA,EAAAA,YAAU,KACN8gE,EAAoBJ,GAAgB7B,EAAa8B,GAAjD,GACD,CAAC9B,EAAa8B,IAEVE,CACV,CCfD,SAAgBE,GAAsB,gBAAE5sD,EAAF,cAAY4qD,EAAZ,eAA2BC,EAA3B,SAA2Cp7T,GAA3C,EAClC,MAAMzd,EAAUs6U,KAUhB,OAFwBG,IAPsBpiE,EAAAA,EAAAA,UAAQ,KAC3C,CACH2V,WACA4qD,gBACAC,oBAEL,CAAC7qD,EAAU4qD,EAAeC,MAGN74U,EAAQikP,aAAemtF,GAAkBiI,QAExD1T,EAAAA,cAACA,EAAAA,SAAD,KACK6S,GAAsB/6T,EAAUzd,IAItC,IACV,CCnBD,SAAgB66U,GAAwB,gBAAE7sD,EAAF,cAAY4qD,EAAZ,eAA2BC,EAA3B,SAA2Cp7T,GAA3C,EACpC,MAAMzd,EAAUs6U,KAUhB,OAFwBG,IAPsBpiE,EAAAA,EAAAA,UAAQ,KAC3C,CACH2V,WACA4qD,gBACAC,oBAEL,CAAC7qD,EAAU4qD,EAAeC,MAGL74U,EAAQikP,aAAemtF,GAAkBiI,SAAWr5U,EAAQikP,aAAemtF,GAAkBqG,eAO9G,KALC9R,EAAAA,cAACA,EAAAA,SAAD,KACK6S,GAAsB/6T,EAAUzd,GAKhD,sCCpCU86U,GAA8BnV,EAAAA,gBAC9BoV,GAAoCpV,EAAAA,gBACxC,SAASqV,GAAQnf,GACtB,IAAIp+S,EAAWo+S,EAAKp+S,SAEhBw9T,EAAkBtV,EAAAA,SAAe,MACjCuV,EAAgBD,EAAgB,GAChCE,EAAmBF,EAAgB,GAEnCG,EAAezV,EAAAA,QAAa,GAChCA,EAAAA,WAAgB,WACd,OAAO,WACLyV,EAAavkE,SAAU,CACzB,CACF,GAAG,IACH,IAAIwkE,EAAyB1V,EAAAA,aAAkB,SAAUtzT,GAClD+oU,EAAavkE,SAChBskE,EAAiB9oU,EAErB,GAAG,IACH,OAAoBszT,EAAAA,cAAoBmV,GAA4B53D,SAAU,CAC5EptR,MAAOolV,GACOvV,EAAAA,cAAoBoV,GAAkC73D,SAAU,CAC9EptR,MAAOulV,GACN59T,GACL,CCpBO,IAAI69T,GAAc,SAAqB55U,GAC5C,OAAO9H,MAAMC,QAAQ6H,GAAOA,EAAI,GAAKA,CACvC,EAMW65U,GAAa,SAAoB32T,GAC1C,GAAkB,oBAAPA,EAAmB,CAC5B,IAAK,IAAIu1S,EAAO98T,UAAUlH,OAAQ4J,EAAO,IAAInG,MAAMugU,EAAO,EAAIA,EAAO,EAAI,GAAIC,EAAO,EAAGA,EAAOD,EAAMC,IAClGr6T,EAAKq6T,EAAO,GAAK/8T,UAAU+8T,GAG7B,OAAOx1S,EAAG7lB,WAAM,EAAQgB,EAC1B,CACF,EAKWomR,GAAS,SAAgBxjN,EAAKtwD,GAEvC,GAAmB,oBAARswD,EACT,OAAO44Q,GAAW54Q,EAAKtwD,GAET,MAAPswD,IACLA,EAAIk0M,QAAUxkQ,EAEpB,EAKWmpU,GAAc,SAAqB9kB,GAC5C,OAAOA,EAAQ/0T,QAAO,SAAUg7P,EAAKk/D,GACnC,IAAI9hU,EAAM8hU,EAAK,GACX/lU,EAAQ+lU,EAAK,GAEjB,OADAl/D,EAAI5iQ,GAAOjE,EACJ6mQ,CACT,GAAG,CAAC,EACN,EAKW8+E,GAA8C,qBAAXn8U,QAA0BA,OAAOojB,UAAYpjB,OAAOojB,SAASC,cAAgBgjT,EAAAA,gBAAwBA,EAAAA,UCpDpI,SAAS+V,GAAUrpU,GAChC,GAAY,MAARA,EACF,OAAO/S,OAGT,GAAwB,oBAApB+S,EAAKhc,WAAkC,CACzC,IAAIk1I,EAAgBl5H,EAAKk5H,cACzB,OAAOA,GAAgBA,EAAc56B,aAAwBrxG,MAC/D,CAEA,OAAO+S,CACT,CCTA,SAASmmD,GAAUnmD,GAEjB,OAAOA,aADUqpU,GAAUrpU,GAAM+gD,SACI/gD,aAAgB+gD,OACvD,CAEA,SAASuoR,GAActpU,GAErB,OAAOA,aADUqpU,GAAUrpU,GAAMqS,aACIrS,aAAgBqS,WACvD,CAEA,SAASk3T,GAAavpU,GAEpB,MAA0B,qBAAfwpU,aAKJxpU,aADUqpU,GAAUrpU,GAAMwpU,YACIxpU,aAAgBwpU,WACvD,CCpBO,IAAI3jU,GAAMD,KAAKC,IACXI,GAAML,KAAKK,IACX8qB,GAAQnrB,KAAKmrB,MCAT,SAASurE,GAAsBzrF,EAAS44T,QAChC,IAAjBA,IACFA,GAAe,GAGjB,IAAIptO,EAAOxrF,EAAQyrF,wBACfotO,EAAS,EACTC,EAAS,EAEb,GAAIL,GAAcz4T,IAAY44T,EAAc,CAC1C,IAAIzmR,EAAenyC,EAAQmyC,aACvBvD,EAAc5uC,EAAQ4uC,YAGtBA,EAAc,IAChBiqR,EAAS34S,GAAMsrE,EAAK58F,OAASggD,GAAe,GAG1CuD,EAAe,IACjB2mR,EAAS54S,GAAMsrE,EAAKp9C,QAAU+D,GAAgB,EAElD,CAEA,MAAO,CACLvjD,MAAO48F,EAAK58F,MAAQiqU,EACpBzqR,OAAQo9C,EAAKp9C,OAAS0qR,EACtBtmR,IAAKg5C,EAAKh5C,IAAMsmR,EAChBxjV,MAAOk2G,EAAKl2G,MAAQujV,EACpBjtO,OAAQJ,EAAKI,OAASktO,EACtBzjV,KAAMm2G,EAAKn2G,KAAOwjV,EAClB/gR,EAAG0zC,EAAKn2G,KAAOwjV,EACfhhR,EAAG2zC,EAAKh5C,IAAMsmR,EAElB,CClCe,SAASC,GAAgB5pU,GACtC,IAAI49C,EAAMyrR,GAAUrpU,GAGpB,MAAO,CACLwjD,WAHe5F,EAAI+gD,YAInBF,UAHc7gD,EAAI4gD,YAKtB,CCTe,SAASqrO,GAAYh5T,GAClC,OAAOA,GAAWA,EAAQq1C,UAAY,IAAIxnC,cAAgB,IAC5D,CCDe,SAASorT,GAAmBj5T,GAEzC,QAASs1C,GAAUt1C,GAAWA,EAAQqoH,cACtCroH,EAAQR,WAAapjB,OAAOojB,UAAU2vC,eACxC,CCFe,SAAS+pR,GAAoBl5T,GAQ1C,OAAOyrF,GAAsBwtO,GAAmBj5T,IAAU3qB,KAAO0jV,GAAgB/4T,GAAS2yC,UAC5F,CCXe,SAAS9C,GAAiB7vC,GACvC,OAAOw4T,GAAUx4T,GAAS6vC,iBAAiB7vC,EAC7C,CCFe,SAASm5T,GAAen5T,GAErC,IAAIo5T,EAAoBvpR,GAAiB7vC,GACrC0uC,EAAW0qR,EAAkB1qR,SAC7B2qR,EAAYD,EAAkBC,UAC9Bp6L,EAAYm6L,EAAkBn6L,UAElC,MAAO,6BAA6BvrJ,KAAKg7D,EAAWuwF,EAAYo6L,EAClE,CCSe,SAASC,GAAiBC,EAAyBpmR,EAAcqmR,QAC9D,IAAZA,IACFA,GAAU,GAGZ,IAAIC,EAA0BhB,GAActlR,GACxCumR,EAAuBjB,GAActlR,IAf3C,SAAyBnzC,GACvB,IAAIwrF,EAAOxrF,EAAQyrF,wBACfotO,EAAS34S,GAAMsrE,EAAK58F,OAASoR,EAAQ4uC,aAAe,EACpDkqR,EAAS54S,GAAMsrE,EAAKp9C,QAAUpuC,EAAQmyC,cAAgB,EAC1D,OAAkB,IAAX0mR,GAA2B,IAAXC,CACzB,CAU4Da,CAAgBxmR,GACtEhE,EAAkB8pR,GAAmB9lR,GACrCq4C,EAAOC,GAAsB8tO,EAAyBG,GACtDE,EAAS,CACXjnR,WAAY,EACZi7C,UAAW,GAETisO,EAAU,CACZ/hR,EAAG,EACHD,EAAG,GAkBL,OAfI4hR,IAA4BA,IAA4BD,MACxB,SAA9BR,GAAY7lR,IAChBgmR,GAAehqR,MACbyqR,ECnCS,SAAuBzqU,GACpC,OAAIA,IAASqpU,GAAUrpU,IAAUspU,GAActpU,GCJxC,CACLwjD,YAFyC3yC,EDQb7Q,GCNRwjD,WACpBi7C,UAAW5tF,EAAQ4tF,WDGZmrO,GAAgB5pU,GCNZ,IAA8B6Q,CDU7C,CD6Be85T,CAAc3mR,IAGrBslR,GAActlR,KAChB0mR,EAAUpuO,GAAsBt4C,GAAc,IACtC2E,GAAK3E,EAAa4mR,WAC1BF,EAAQhiR,GAAK1E,EAAa6mR,WACjB7qR,IACT0qR,EAAQ/hR,EAAIohR,GAAoB/pR,KAI7B,CACL2I,EAAG0zC,EAAKn2G,KAAOukV,EAAOjnR,WAAaknR,EAAQ/hR,EAC3CD,EAAG2zC,EAAKh5C,IAAMonR,EAAOhsO,UAAYisO,EAAQhiR,EACzCjpD,MAAO48F,EAAK58F,MACZw/C,OAAQo9C,EAAKp9C,OAEjB,CGtDe,SAAS6rR,GAAcj6T,GACpC,IAAIk6T,EAAazuO,GAAsBzrF,GAGnCpR,EAAQoR,EAAQ4uC,YAChBR,EAASpuC,EAAQmyC,aAUrB,OARIp9C,KAAK+9C,IAAIonR,EAAWtrU,MAAQA,IAAU,IACxCA,EAAQsrU,EAAWtrU,OAGjBmG,KAAK+9C,IAAIonR,EAAW9rR,OAASA,IAAW,IAC1CA,EAAS8rR,EAAW9rR,QAGf,CACL0J,EAAG93C,EAAQo3L,WACXv/I,EAAG73C,EAAQq3L,UACXzoM,MAAOA,EACPw/C,OAAQA,EAEZ,CCrBe,SAAS+rR,GAAcn6T,GACpC,MAA6B,SAAzBg5T,GAAYh5T,GACPA,EAMPA,EAAQo6T,cACRp6T,EAAQ8uC,aACR4pR,GAAa14T,GAAWA,EAAQq0Q,KAAO,OAEvC4kD,GAAmBj5T,EAGvB,CCde,SAASq6T,GAAgBlrU,GACtC,MAAI,CAAC,OAAQ,OAAQ,aAAa/X,QAAQ4hV,GAAY7pU,KAAU,EAEvDA,EAAKk5H,cAAct6E,KAGxB0qR,GAActpU,IAASgqU,GAAehqU,GACjCA,EAGFkrU,GAAgBF,GAAchrU,GACvC,CCJe,SAASmrU,GAAkBt6T,EAASnG,GACjD,IAAI0gU,OAES,IAAT1gU,IACFA,EAAO,IAGT,IAAI2gU,EAAeH,GAAgBr6T,GAC/BwjN,EAASg3G,KAAqE,OAAlDD,EAAwBv6T,EAAQqoH,oBAAyB,EAASkyM,EAAsBxsR,MACpHhB,EAAMyrR,GAAUgC,GAChB5iV,EAAS4rO,EAAS,CAACz2K,GAAKlsD,OAAOksD,EAAI0tR,gBAAkB,GAAItB,GAAeqB,GAAgBA,EAAe,IAAMA,EAC7GE,EAAc7gU,EAAKhZ,OAAOjJ,GAC9B,OAAO4rO,EAASk3G,EAChBA,EAAY75U,OAAOy5U,GAAkBH,GAAcviV,IACrD,CCxBe,SAAS+iV,GAAe36T,GACrC,MAAO,CAAC,QAAS,KAAM,MAAM5oB,QAAQ4hV,GAAYh5T,KAAa,CAChE,CCIA,SAAS46T,GAAoB56T,GAC3B,OAAKy4T,GAAcz4T,IACoB,UAAvC6vC,GAAiB7vC,GAAS4hB,SAInB5hB,EAAQmzC,aAHN,IAIX,CAwCe,SAAS0nR,GAAgB76T,GAItC,IAHA,IAAI5jB,EAASo8U,GAAUx4T,GACnBmzC,EAAeynR,GAAoB56T,GAEhCmzC,GAAgBwnR,GAAexnR,IAA6D,WAA5CtD,GAAiBsD,GAAcvxB,UACpFuxB,EAAeynR,GAAoBznR,GAGrC,OAAIA,IAA+C,SAA9B6lR,GAAY7lR,IAA0D,SAA9B6lR,GAAY7lR,IAAwE,WAA5CtD,GAAiBsD,GAAcvxB,UAC3HxlC,EAGF+2D,GAhDT,SAA4BnzC,GAC1B,IAAIksC,GAAsE,IAA1DU,UAAUC,UAAUh/B,cAAcz2B,QAAQ,WAG1D,IAFuD,IAA5Cw1D,UAAUC,UAAUz1D,QAAQ,YAE3BqhV,GAAcz4T,IAII,UAFX6vC,GAAiB7vC,GAEnB4hB,SACb,OAAO,KAIX,IAAI+3G,EAAcwgM,GAAcn6T,GAMhC,IAJI04T,GAAa/+L,KACfA,EAAcA,EAAY06I,MAGrBokD,GAAc9+L,IAAgB,CAAC,OAAQ,QAAQviJ,QAAQ4hV,GAAYr/L,IAAgB,GAAG,CAC3F,IAAImhM,EAAMjrR,GAAiB8pF,GAI3B,GAAsB,SAAlBmhM,EAAIhjV,WAA4C,SAApBgjV,EAAIC,aAA0C,UAAhBD,EAAIE,UAAiF,IAA1D,CAAC,YAAa,eAAe5jV,QAAQ0jV,EAAIG,aAAsB/uR,GAAgC,WAAnB4uR,EAAIG,YAA2B/uR,GAAa4uR,EAAI5iV,QAAyB,SAAf4iV,EAAI5iV,OACjO,OAAOyhJ,EAEPA,EAAcA,EAAY7qF,UAE9B,CAEA,OAAO,IACT,CAgByBosR,CAAmBl7T,IAAY5jB,CACxD,CCnEO,IAAIo2D,GAAM,MACNo5C,GAAS,SACTt2G,GAAQ,QACRD,GAAO,OACP8lV,GAAO,OACPC,GAAiB,CAAC5oR,GAAKo5C,GAAQt2G,GAAOD,IACtC4rC,GAAQ,QACRu1G,GAAM,MACN6kM,GAAkB,kBAClB/8L,GAAW,WACXg9L,GAAS,SACTC,GAAY,YACZC,GAAmCJ,GAAe38U,QAAO,SAAUg7P,EAAK53N,GACjF,OAAO43N,EAAI54P,OAAO,CAACghC,EAAY,IAAMZ,GAAOY,EAAY,IAAM20G,IAChE,GAAG,IACQilM,GAA0B,GAAG56U,OAAOu6U,GAAgB,CAACD,KAAO18U,QAAO,SAAUg7P,EAAK53N,GAC3F,OAAO43N,EAAI54P,OAAO,CAACghC,EAAWA,EAAY,IAAMZ,GAAOY,EAAY,IAAM20G,IAC3E,GAAG,IAaQklM,GAAiB,CAXJ,aACN,OACK,YAEC,aACN,OACK,YAEE,cACN,QACK,cC3BxB,SAAS36C,GAAM46C,GACb,IAAIn8U,EAAM,IAAI9K,IACVknV,EAAU,IAAInnV,IACd4mB,EAAS,GAKb,SAASjQ,EAAKywU,GACZD,EAAQh1U,IAAIi1U,EAASvgV,MACN,GAAGuF,OAAOg7U,EAASC,UAAY,GAAID,EAASE,kBAAoB,IACtEnnV,SAAQ,SAAUonV,GACzB,IAAKJ,EAAQ91S,IAAIk2S,GAAM,CACrB,IAAIC,EAAcz8U,EAAIlF,IAAI0hV,GAEtBC,GACF7wU,EAAK6wU,EAET,CACF,IACA5gU,EAAOxmB,KAAKgnV,EACd,CAQA,OAzBAF,EAAU/mV,SAAQ,SAAUinV,GAC1Br8U,EAAI7E,IAAIkhV,EAASvgV,KAAMugV,EACzB,IAiBAF,EAAU/mV,SAAQ,SAAUinV,GACrBD,EAAQ91S,IAAI+1S,EAASvgV,OAExB8P,EAAKywU,EAET,IACOxgU,CACT,CChCe,SAAS5e,GAASilB,GAC/B,IAAIkwL,EACJ,OAAO,WAUL,OATKA,IACHA,EAAU,IAAIq4E,SAAQ,SAAUxhN,GAC9BwhN,QAAQxhN,UAAU7P,MAAK,WACrBg5I,OAAUv+M,EACVo1E,EAAQ/mD,IACV,GACF,KAGKkwL,CACT,CACF,CCAA,IAEIsqI,GAAkB,CACpBr6S,UAAW,SACX85S,UAAW,GACX9rO,SAAU,YAGZ,SAASssO,KACP,IAAK,IAAIllB,EAAO98T,UAAUlH,OAAQ4J,EAAO,IAAInG,MAAMugU,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC/Er6T,EAAKq6T,GAAQ/8T,UAAU+8T,GAGzB,OAAQr6T,EAAKugB,MAAK,SAAU4C,GAC1B,QAASA,GAAoD,oBAAlCA,EAAQyrF,sBACrC,GACF,CAEO,SAAS2wO,GAAgBC,QACL,IAArBA,IACFA,EAAmB,CAAC,GAGtB,IAAIC,EAAoBD,EACpBE,EAAwBD,EAAkBE,iBAC1CA,OAA6C,IAA1BD,EAAmC,GAAKA,EAC3DE,EAAyBH,EAAkBlpQ,eAC3CA,OAA4C,IAA3BqpQ,EAAoCP,GAAkBO,EAC3E,OAAO,SAAsBlB,EAAWD,EAAQ56T,QAC9B,IAAZA,IACFA,EAAU0yD,GAGZ,IAAI1sC,EAAQ,CACV7E,UAAW,SACX66S,iBAAkB,GAClBh8T,QAAS5rB,OAAO0wB,OAAO,CAAC,EAAG02T,GAAiB9oQ,GAC5CupQ,cAAe,CAAC,EAChBh/L,SAAU,CACR49L,UAAWA,EACXD,OAAQA,GAEVh6U,WAAY,CAAC,EACbgzD,OAAQ,CAAC,GAEPsoR,EAAmB,GACnBr2G,GAAc,EACd1kH,EAAW,CACbn7E,MAAOA,EACPm2S,WAAY,SAAoBC,GAC9B,IAAIp8T,EAAsC,oBAArBo8T,EAAkCA,EAAiBp2S,EAAMhmB,SAAWo8T,EACzFC,IACAr2S,EAAMhmB,QAAU5rB,OAAO0wB,OAAO,CAAC,EAAG4tD,EAAgB1sC,EAAMhmB,QAASA,GACjEgmB,EAAMs2S,cAAgB,CACpBzB,UAAWjmR,GAAUimR,GAAajB,GAAkBiB,GAAaA,EAAU0B,eAAiB3C,GAAkBiB,EAAU0B,gBAAkB,GAC1I3B,OAAQhB,GAAkBgB,IAI5B,IAAIoB,EFvCG,SAAwBf,GAErC,IAAIe,EAAmB37C,GAAM46C,GAE7B,OAAOD,GAAej9U,QAAO,SAAUg7P,EAAKyjF,GAC1C,OAAOzjF,EAAI54P,OAAO67U,EAAiBxkV,QAAO,SAAU2jV,GAClD,OAAOA,EAASqB,QAAUA,CAC5B,IACF,GAAG,GACL,CE8B+BC,CCzEhB,SAAqBxB,GAClC,IAAIyB,EAASzB,EAAUl9U,QAAO,SAAU2+U,EAAQzpE,GAC9C,IAAI0pE,EAAWD,EAAOzpE,EAAQr4Q,MAK9B,OAJA8hV,EAAOzpE,EAAQr4Q,MAAQ+hV,EAAWvoV,OAAO0wB,OAAO,CAAC,EAAG63T,EAAU1pE,EAAS,CACrEjzP,QAAS5rB,OAAO0wB,OAAO,CAAC,EAAG63T,EAAS38T,QAASizP,EAAQjzP,SACrD3nB,KAAMjE,OAAO0wB,OAAO,CAAC,EAAG63T,EAAStkV,KAAM46Q,EAAQ56Q,QAC5C46Q,EACEypE,CACT,GAAG,CAAC,GAEJ,OAAOtoV,OAAOmB,KAAKmnV,GAAQ59U,KAAI,SAAU3I,GACvC,OAAOumV,EAAOvmV,EAChB,GACF,CD4D8CymV,CAAY,GAAGz8U,OAAO27U,EAAkB91S,EAAMhmB,QAAQi7T,aAyC5F,OAvCAj1S,EAAMg2S,iBAAmBA,EAAiBxkV,QAAO,SAAUu4B,GACzD,OAAOA,EAAE6lM,OACX,IAoJF5vL,EAAMg2S,iBAAiB9nV,SAAQ,SAAU2oV,GACvC,IAAIjiV,EAAOiiV,EAAMjiV,KACbkiV,EAAgBD,EAAM78T,QACtBA,OAA4B,IAAlB88T,EAA2B,CAAC,EAAIA,EAC1Ch4D,EAAS+3D,EAAM/3D,OAEnB,GAAsB,oBAAXA,EAAuB,CAChC,IAAIi4D,EAAYj4D,EAAO,CACrB9+O,MAAOA,EACPprC,KAAMA,EACNumH,SAAUA,EACVnhG,QAASA,IAGPg9T,EAAS,WAAmB,EAEhCd,EAAiB/nV,KAAK4oV,GAAaC,EACrC,CACF,IAjIS77N,EAASnlB,QAClB,EAMA8rL,YAAa,WACX,IAAIjiD,EAAJ,CAIA,IAAIo3G,EAAkBj3S,EAAMi3G,SACxB49L,EAAYoC,EAAgBpC,UAC5BD,EAASqC,EAAgBrC,OAG7B,GAAKa,GAAiBZ,EAAWD,GAAjC,CASA50S,EAAMk3S,MAAQ,CACZrC,UAAWjC,GAAiBiC,EAAWV,GAAgBS,GAAoC,UAA3B50S,EAAMhmB,QAAQmvF,UAC9EyrO,OAAQrB,GAAcqB,IAOxB50S,EAAMpsB,OAAQ,EACdosB,EAAM7E,UAAY6E,EAAMhmB,QAAQmhB,UAKhC6E,EAAMg2S,iBAAiB9nV,SAAQ,SAAUinV,GACvC,OAAOn1S,EAAMi2S,cAAcd,EAASvgV,MAAQxG,OAAO0wB,OAAO,CAAC,EAAGq2T,EAAS9iV,KACzE,IAGA,IAFA,IAESnC,EAAQ,EAAGA,EAAQ8vC,EAAMg2S,iBAAiBzpV,OAAQ2D,IAUzD,IAAoB,IAAhB8vC,EAAMpsB,MAAV,CAMA,IAAIujU,EAAwBn3S,EAAMg2S,iBAAiB9lV,GAC/C8qB,EAAKm8T,EAAsBn8T,GAC3Bo8T,EAAyBD,EAAsBn9T,QAC/Cq9T,OAAsC,IAA3BD,EAAoC,CAAC,EAAIA,EACpDxiV,EAAOuiV,EAAsBviV,KAEf,oBAAPomB,IACTglB,EAAQhlB,EAAG,CACTglB,MAAOA,EACPhmB,QAASq9T,EACTziV,KAAMA,EACNumH,SAAUA,KACNn7E,EAdR,MAHEA,EAAMpsB,OAAQ,EACd1jB,GAAS,CAnCb,CAbA,CAmEF,EAGA8lG,OAAQjgG,IAAS,WACf,OAAO,IAAIwtR,SAAQ,SAAUxhN,GAC3Bo5C,EAAS2mK,cACT//M,EAAQ/hC,EACV,GACF,IACA1jC,QAAS,WACP+5U,IACAx2G,GAAc,CAChB,GAGF,IAAK41G,GAAiBZ,EAAWD,GAK/B,OAAOz5N,EAmCT,SAASk7N,IACPH,EAAiBhoV,SAAQ,SAAU8sB,GACjC,OAAOA,GACT,IACAk7T,EAAmB,EACrB,CAEA,OAvCA/6N,EAASg7N,WAAWn8T,GAASk4C,MAAK,SAAUlyB,IACrC6/L,GAAe7lN,EAAQs9T,eAC1Bt9T,EAAQs9T,cAAct3S,EAE1B,IAmCOm7E,CACT,CACF,CACO,IE9PHlhG,GAAU,CACZA,SAAS,GAsCX,UACErlB,KAAM,iBACNg7N,SAAS,EACT4mH,MAAO,QACPx7T,GAAI,WAAe,EACnB8jQ,OAxCF,SAAgBmzC,GACd,IAAIjyR,EAAQiyR,EAAKjyR,MACbm7E,EAAW82M,EAAK92M,SAChBnhG,EAAUi4S,EAAKj4S,QACfu9T,EAAkBv9T,EAAQk5T,OAC1BA,OAA6B,IAApBqE,GAAoCA,EAC7CC,EAAkBx9T,EAAQ85K,OAC1BA,OAA6B,IAApB0jJ,GAAoCA,EAC7C9hV,EAASo8U,GAAU9xS,EAAMi3G,SAAS29L,QAClC0B,EAAgB,GAAGn8U,OAAO6lC,EAAMs2S,cAAczB,UAAW70S,EAAMs2S,cAAc1B,QAYjF,OAVI1B,GACFoD,EAAcpoV,SAAQ,SAAU4lV,GAC9BA,EAAa9zU,iBAAiB,SAAUm7G,EAASnlB,OAAQ/7E,GAC3D,IAGE65K,GACFp+L,EAAOsK,iBAAiB,SAAUm7G,EAASnlB,OAAQ/7E,IAG9C,WACDi5T,GACFoD,EAAcpoV,SAAQ,SAAU4lV,GAC9BA,EAAa3zU,oBAAoB,SAAUg7G,EAASnlB,OAAQ/7E,GAC9D,IAGE65K,GACFp+L,EAAOyK,oBAAoB,SAAUg7G,EAASnlB,OAAQ/7E,GAE1D,CACF,EASE5nB,KAAM,CAAC,GC9CM,SAASolV,GAAiBt8S,GACvC,OAAOA,EAAU1oC,MAAM,KAAK,EAC9B,CCHe,SAASilV,GAAav8S,GACnC,OAAOA,EAAU1oC,MAAM,KAAK,EAC9B,CCFe,SAASklV,GAAyBx8S,GAC/C,MAAO,CAAC,MAAO,UAAUzqC,QAAQyqC,IAAc,EAAI,IAAM,GAC3D,CCEe,SAASy8S,GAAe3lB,GACrC,IAOIkhB,EAPA0B,EAAY5iB,EAAK4iB,UACjBv7T,EAAU24S,EAAK34S,QACf6hB,EAAY82R,EAAK92R,UACjB08S,EAAgB18S,EAAYs8S,GAAiBt8S,GAAa,KAC1D28S,EAAY38S,EAAYu8S,GAAav8S,GAAa,KAClD48S,EAAUlD,EAAUzjR,EAAIyjR,EAAU3sU,MAAQ,EAAIoR,EAAQpR,MAAQ,EAC9D8vU,EAAUnD,EAAU1jR,EAAI0jR,EAAUntR,OAAS,EAAIpuC,EAAQouC,OAAS,EAGpE,OAAQmwR,GACN,KAAK/rR,GACHqnR,EAAU,CACR/hR,EAAG2mR,EACH5mR,EAAG0jR,EAAU1jR,EAAI73C,EAAQouC,QAE3B,MAEF,KAAKw9C,GACHiuO,EAAU,CACR/hR,EAAG2mR,EACH5mR,EAAG0jR,EAAU1jR,EAAI0jR,EAAUntR,QAE7B,MAEF,KAAK94D,GACHukV,EAAU,CACR/hR,EAAGyjR,EAAUzjR,EAAIyjR,EAAU3sU,MAC3BipD,EAAG6mR,GAEL,MAEF,KAAKrpV,GACHwkV,EAAU,CACR/hR,EAAGyjR,EAAUzjR,EAAI93C,EAAQpR,MACzBipD,EAAG6mR,GAEL,MAEF,QACE7E,EAAU,CACR/hR,EAAGyjR,EAAUzjR,EACbD,EAAG0jR,EAAU1jR,GAInB,IAAI8mR,EAAWJ,EAAgBF,GAAyBE,GAAiB,KAEzE,GAAgB,MAAZI,EAAkB,CACpB,IAAInvT,EAAmB,MAAbmvT,EAAmB,SAAW,QAExC,OAAQH,GACN,KAAKv9S,GACH44S,EAAQ8E,GAAY9E,EAAQ8E,IAAapD,EAAU/rT,GAAO,EAAIxP,EAAQwP,GAAO,GAC7E,MAEF,KAAKgnH,GACHqjM,EAAQ8E,GAAY9E,EAAQ8E,IAAapD,EAAU/rT,GAAO,EAAIxP,EAAQwP,GAAO,GAKnF,CAEA,OAAOqqT,CACT,CCnDA,UACEv+U,KAAM,gBACNg7N,SAAS,EACT4mH,MAAO,OACPx7T,GApBF,SAAuBi3S,GACrB,IAAIjyR,EAAQiyR,EAAKjyR,MACbprC,EAAOq9T,EAAKr9T,KAKhBorC,EAAMi2S,cAAcrhV,GAAQgjV,GAAe,CACzC/C,UAAW70S,EAAMk3S,MAAMrC,UACvBv7T,QAAS0mB,EAAMk3S,MAAMtC,OACrBzrO,SAAU,WACVhuE,UAAW6E,EAAM7E,WAErB,EAQE9oC,KAAM,CAAC,GCdT,IAAI6lV,GAAa,CACfpsR,IAAK,OACLl9D,MAAO,OACPs2G,OAAQ,OACRv2G,KAAM,QAgBD,SAASwpV,GAAYjmB,GAC1B,IAAIkmB,EAEAxD,EAAS1iB,EAAM0iB,OACfyD,EAAanmB,EAAMmmB,WACnBl9S,EAAY+2R,EAAM/2R,UAClB28S,EAAY5lB,EAAM4lB,UAClB3E,EAAUjhB,EAAMihB,QAChBj4S,EAAWg3R,EAAMh3R,SACjBo9S,EAAkBpmB,EAAMomB,gBACxBC,EAAWrmB,EAAMqmB,SACjBC,EAAetmB,EAAMsmB,aACrB1F,EAAU5gB,EAAM4gB,QAChB2F,EAAatF,EAAQ/hR,EACrBA,OAAmB,IAAfqnR,EAAwB,EAAIA,EAChCC,EAAavF,EAAQhiR,EACrBA,OAAmB,IAAfunR,EAAwB,EAAIA,EAEhC7B,EAAgC,oBAAjB2B,EAA8BA,EAAa,CAC5DpnR,EAAGA,EACHD,EAAGA,IACA,CACHC,EAAGA,EACHD,EAAGA,GAGLC,EAAIylR,EAAMzlR,EACVD,EAAI0lR,EAAM1lR,EACV,IAAIwnR,EAAOxF,EAAQvhV,eAAe,KAC9BgnV,EAAOzF,EAAQvhV,eAAe,KAC9BinV,EAAQlqV,GACRmqV,EAAQhtR,GACRzF,EAAM3wD,OAEV,GAAI6iV,EAAU,CACZ,IAAI9rR,EAAe0nR,GAAgBS,GAC/BmE,EAAa,eACbC,EAAY,cAchB,GAZIvsR,IAAiBqlR,GAAU8C,IAGmB,WAA5CzrR,GAFJsD,EAAe8lR,GAAmBqC,IAEC15S,UAAsC,aAAbA,IAC1D69S,EAAa,eACbC,EAAY,eAOZ79S,IAAc2wB,KAAQ3wB,IAAcxsC,IAAQwsC,IAAcvsC,KAAUkpV,IAAchoM,GACpFgpM,EAAQ5zO,GAGR/zC,IAFc2hR,GAAWrmR,IAAiBpG,GAAOA,EAAI0tR,eAAiB1tR,EAAI0tR,eAAersR,OACzF+E,EAAassR,IACEV,EAAW3wR,OAC1ByJ,GAAKmnR,EAAkB,GAAK,EAG9B,GAAIn9S,IAAcxsC,KAASwsC,IAAc2wB,IAAO3wB,IAAc+pE,KAAW4yO,IAAchoM,GACrF+oM,EAAQjqV,GAGRwiE,IAFc0hR,GAAWrmR,IAAiBpG,GAAOA,EAAI0tR,eAAiB1tR,EAAI0tR,eAAe7rU,MACzFukD,EAAausR,IACEX,EAAWnwU,MAC1BkpD,GAAKknR,EAAkB,GAAK,CAEhC,CAEA,IAgBMW,EAhBFC,EAAe9qV,OAAO0wB,OAAO,CAC/Boc,SAAUA,GACTq9S,GAAYL,IAEXiB,GAAyB,IAAjBX,EAnFd,SAA2BvmB,GACzB,IAAI7gQ,EAAI6gQ,EAAK7gQ,EACTD,EAAI8gQ,EAAK9gQ,EAETioR,EADM1jV,OACI2jV,kBAAoB,EAClC,MAAO,CACLjoR,EAAG53B,GAAM43B,EAAIgoR,GAAOA,GAAO,EAC3BjoR,EAAG33B,GAAM23B,EAAIioR,GAAOA,GAAO,EAE/B,CA0EsCE,CAAkB,CACpDloR,EAAGA,EACHD,EAAGA,IACA,CACHC,EAAGA,EACHD,EAAGA,GAML,OAHAC,EAAI+nR,EAAM/nR,EACVD,EAAIgoR,EAAMhoR,EAENmnR,EAGKlqV,OAAO0wB,OAAO,CAAC,EAAGo6T,IAAeD,EAAiB,CAAC,GAAkBH,GAASF,EAAO,IAAM,GAAIK,EAAeJ,GAASF,EAAO,IAAM,GAAIM,EAAe7nV,WAAai1D,EAAIgzR,kBAAoB,IAAM,EAAI,aAAejoR,EAAI,OAASD,EAAI,MAAQ,eAAiBC,EAAI,OAASD,EAAI,SAAU8nR,IAG5R7qV,OAAO0wB,OAAO,CAAC,EAAGo6T,IAAed,EAAkB,CAAC,GAAmBU,GAASF,EAAOznR,EAAI,KAAO,GAAIinR,EAAgBS,GAASF,EAAOvnR,EAAI,KAAO,GAAIgnR,EAAgBhnV,UAAY,GAAIgnV,GAC9L,CAuDA,UACExjV,KAAM,gBACNg7N,SAAS,EACT4mH,MAAO,cACPx7T,GAzDF,SAAuBu+T,GACrB,IAAIv5S,EAAQu5S,EAAMv5S,MACdhmB,EAAUu/T,EAAMv/T,QAChBw/T,EAAwBx/T,EAAQs+T,gBAChCA,OAA4C,IAA1BkB,GAA0CA,EAC5DC,EAAoBz/T,EAAQu+T,SAC5BA,OAAiC,IAAtBkB,GAAsCA,EACjDC,EAAwB1/T,EAAQw+T,aAChCA,OAAyC,IAA1BkB,GAA0CA,EAYzDR,EAAe,CACjB/9S,UAAWs8S,GAAiBz3S,EAAM7E,WAClC28S,UAAWJ,GAAa13S,EAAM7E,WAC9By5S,OAAQ50S,EAAMi3G,SAAS29L,OACvByD,WAAYr4S,EAAMk3S,MAAMtC,OACxB0D,gBAAiBA,EACjBxF,QAAoC,UAA3B9yS,EAAMhmB,QAAQmvF,UAGgB,MAArCnpE,EAAMi2S,cAAc0D,gBACtB35S,EAAM4tB,OAAOgnR,OAASxmV,OAAO0wB,OAAO,CAAC,EAAGkhB,EAAM4tB,OAAOgnR,OAAQuD,GAAY/pV,OAAO0wB,OAAO,CAAC,EAAGo6T,EAAc,CACvG/F,QAASnzS,EAAMi2S,cAAc0D,cAC7Bz+S,SAAU8E,EAAMhmB,QAAQmvF,SACxBovO,SAAUA,EACVC,aAAcA,OAIe,MAA7Bx4S,EAAMi2S,cAAc2D,QACtB55S,EAAM4tB,OAAOgsR,MAAQxrV,OAAO0wB,OAAO,CAAC,EAAGkhB,EAAM4tB,OAAOgsR,MAAOzB,GAAY/pV,OAAO0wB,OAAO,CAAC,EAAGo6T,EAAc,CACrG/F,QAASnzS,EAAMi2S,cAAc2D,MAC7B1+S,SAAU,WACVq9S,UAAU,EACVC,aAAcA,OAIlBx4S,EAAMplC,WAAWg6U,OAASxmV,OAAO0wB,OAAO,CAAC,EAAGkhB,EAAMplC,WAAWg6U,OAAQ,CACnE,wBAAyB50S,EAAM7E,WAEnC,EAQE9oC,KAAM,CAAC,GCvGT,UACEuC,KAAM,cACNg7N,SAAS,EACT4mH,MAAO,QACPx7T,GA5EF,SAAqBi3S,GACnB,IAAIjyR,EAAQiyR,EAAKjyR,MACjB5xC,OAAOmB,KAAKywC,EAAMi3G,UAAU/oJ,SAAQ,SAAU0G,GAC5C,IAAI6yD,EAAQznB,EAAM4tB,OAAOh5D,IAAS,CAAC,EAC/BgG,EAAaolC,EAAMplC,WAAWhG,IAAS,CAAC,EACxC0kB,EAAU0mB,EAAMi3G,SAASriJ,GAExBm9U,GAAcz4T,IAAag5T,GAAYh5T,KAO5ClrB,OAAO0wB,OAAOxF,EAAQmuC,MAAOA,GAC7Br5D,OAAOmB,KAAKqL,GAAY1M,SAAQ,SAAU0G,GACxC,IAAI1I,EAAQ0O,EAAWhG,IAET,IAAV1I,EACFotB,EAAQ8wC,gBAAgBx1D,GAExB0kB,EAAQ0vC,aAAap0D,GAAgB,IAAV1I,EAAiB,GAAKA,EAErD,IACF,GACF,EAoDE4yR,OAlDF,SAAgBozC,GACd,IAAIlyR,EAAQkyR,EAAMlyR,MACd65S,EAAgB,CAClBjF,OAAQ,CACN15S,SAAU8E,EAAMhmB,QAAQmvF,SACxBx6G,KAAM,IACNm9D,IAAK,IACLguR,OAAQ,KAEVF,MAAO,CACL1+S,SAAU,YAEZ25S,UAAW,CAAC,GASd,OAPAzmV,OAAO0wB,OAAOkhB,EAAMi3G,SAAS29L,OAAOntR,MAAOoyR,EAAcjF,QACzD50S,EAAM4tB,OAASisR,EAEX75S,EAAMi3G,SAAS2iM,OACjBxrV,OAAO0wB,OAAOkhB,EAAMi3G,SAAS2iM,MAAMnyR,MAAOoyR,EAAcD,OAGnD,WACLxrV,OAAOmB,KAAKywC,EAAMi3G,UAAU/oJ,SAAQ,SAAU0G,GAC5C,IAAI0kB,EAAU0mB,EAAMi3G,SAASriJ,GACzBgG,EAAaolC,EAAMplC,WAAWhG,IAAS,CAAC,EAGxC6yD,EAFkBr5D,OAAOmB,KAAKywC,EAAM4tB,OAAOh8D,eAAegD,GAAQorC,EAAM4tB,OAAOh5D,GAAQilV,EAAcjlV,IAE7EmD,QAAO,SAAU0vD,EAAOt2D,GAElD,OADAs2D,EAAMt2D,GAAY,GACXs2D,CACT,GAAG,CAAC,GAECsqR,GAAcz4T,IAAag5T,GAAYh5T,KAI5ClrB,OAAO0wB,OAAOxF,EAAQmuC,MAAOA,GAC7Br5D,OAAOmB,KAAKqL,GAAY1M,SAAQ,SAAU4M,GACxCwe,EAAQ8wC,gBAAgBtvD,EAC1B,IACF,GACF,CACF,EASEs6U,SAAU,CAAC,kBCnCb,UACExgV,KAAM,SACNg7N,SAAS,EACT4mH,MAAO,OACPpB,SAAU,CAAC,iBACXp6T,GA5BF,SAAgBk3S,GACd,IAAIlyR,EAAQkyR,EAAMlyR,MACdhmB,EAAUk4S,EAAMl4S,QAChBplB,EAAOs9T,EAAMt9T,KACbmlV,EAAkB//T,EAAQswH,OAC1BA,OAA6B,IAApByvM,EAA6B,CAAC,EAAG,GAAKA,EAC/C1nV,EAAO0iV,GAAWh9U,QAAO,SAAUg7P,EAAK53N,GAE1C,OADA43N,EAAI53N,GA5BD,SAAiCA,EAAW+7S,EAAO5sM,GACxD,IAAIutM,EAAgBJ,GAAiBt8S,GACjC6+S,EAAiB,CAACrrV,GAAMm9D,IAAKp7D,QAAQmnV,IAAkB,GAAK,EAAI,EAEhE5lB,EAAyB,oBAAX3nL,EAAwBA,EAAOl8I,OAAO0wB,OAAO,CAAC,EAAGo4T,EAAO,CACxE/7S,UAAWA,KACPmvG,EACF2vM,EAAWhoB,EAAK,GAChBioB,EAAWjoB,EAAK,GAIpB,OAFAgoB,EAAWA,GAAY,EACvBC,GAAYA,GAAY,GAAKF,EACtB,CAACrrV,GAAMC,IAAO8B,QAAQmnV,IAAkB,EAAI,CACjDzmR,EAAG8oR,EACH/oR,EAAG8oR,GACD,CACF7oR,EAAG6oR,EACH9oR,EAAG+oR,EAEP,CASqBC,CAAwBh/S,EAAW6E,EAAMk3S,MAAO5sM,GAC1DyoH,CACT,GAAG,CAAC,GACAqnF,EAAwB/nV,EAAK2tC,EAAM7E,WACnCi2B,EAAIgpR,EAAsBhpR,EAC1BD,EAAIipR,EAAsBjpR,EAEW,MAArCnxB,EAAMi2S,cAAc0D,gBACtB35S,EAAMi2S,cAAc0D,cAAcvoR,GAAKA,EACvCpxB,EAAMi2S,cAAc0D,cAAcxoR,GAAKA,GAGzCnxB,EAAMi2S,cAAcrhV,GAAQvC,CAC9B,GC5CA,IAAIu7R,GAAO,CACTj/R,KAAM,QACNC,MAAO,OACPs2G,OAAQ,MACRp5C,IAAK,UAEQ,SAASuuR,GAAqBl/S,GAC3C,OAAOA,EAAUzjC,QAAQ,0BAA0B,SAAU4iV,GAC3D,OAAO1sD,GAAK0sD,EACd,GACF,CCVA,IAAI1sD,GAAO,CACTrzP,MAAO,MACPu1G,IAAK,SAEQ,SAASyqM,GAA8Bp/S,GACpD,OAAOA,EAAUzjC,QAAQ,cAAc,SAAU4iV,GAC/C,OAAO1sD,GAAK0sD,EACd,GACF,CCPe,SAAS5vR,GAAS/kD,EAAQwO,GACvC,IAAI8oM,EAAW9oM,EAAMyxN,aAAezxN,EAAMyxN,cAE1C,GAAIjgO,EAAO+kD,SAASv2C,GAClB,OAAO,EAEJ,GAAI8oM,GAAY+0H,GAAa/0H,GAAW,CACzC,IAAIjzL,EAAO7V,EAEX,EAAG,CACD,GAAI6V,GAAQrkB,EAAO60U,WAAWxwT,GAC5B,OAAO,EAITA,EAAOA,EAAKo+B,YAAcp+B,EAAK2jQ,IACjC,OAAS3jQ,EACX,CAGF,OAAO,CACT,CCtBe,SAASywT,GAAiB31O,GACvC,OAAO12G,OAAO0wB,OAAO,CAAC,EAAGgmF,EAAM,CAC7Bn2G,KAAMm2G,EAAK1zC,EACXtF,IAAKg5C,EAAK3zC,EACVviE,MAAOk2G,EAAK1zC,EAAI0zC,EAAK58F,MACrBg9F,OAAQJ,EAAK3zC,EAAI2zC,EAAKp9C,QAE1B,CCqBA,SAASgzR,GAA2BphU,EAASqhU,GAC3C,OAAOA,IAAmB/iM,GAAW6iM,GC1BxB,SAAyBnhU,GACtC,IAAI+sC,EAAMyrR,GAAUx4T,GAChBumR,EAAO0yC,GAAmBj5T,GAC1By6T,EAAiB1tR,EAAI0tR,eACrB7rU,EAAQ23R,EAAK13O,YACbT,EAASm4O,EAAKl4O,aACdyJ,EAAI,EACJD,EAAI,EAuBR,OAjBI4iR,IACF7rU,EAAQ6rU,EAAe7rU,MACvBw/C,EAASqsR,EAAersR,OASnB,iCAAiC16D,KAAKk5D,UAAUC,aACnDiL,EAAI2iR,EAAerjI,WACnBv/I,EAAI4iR,EAAepjI,YAIhB,CACLzoM,MAAOA,EACPw/C,OAAQA,EACR0J,EAAGA,EAAIohR,GAAoBl5T,GAC3B63C,EAAGA,EAEP,CDVwDypR,CAAgBthU,IAAYs1C,GAAU+rR,GAd9F,SAAoCrhU,GAClC,IAAIwrF,EAAOC,GAAsBzrF,GASjC,OARAwrF,EAAKh5C,IAAMg5C,EAAKh5C,IAAMxyC,EAAQg6T,UAC9BxuO,EAAKn2G,KAAOm2G,EAAKn2G,KAAO2qB,EAAQ+5T,WAChCvuO,EAAKI,OAASJ,EAAKh5C,IAAMxyC,EAAQquC,aACjCm9C,EAAKl2G,MAAQk2G,EAAKn2G,KAAO2qB,EAAQ6uC,YACjC28C,EAAK58F,MAAQoR,EAAQ6uC,YACrB28C,EAAKp9C,OAASpuC,EAAQquC,aACtBm9C,EAAK1zC,EAAI0zC,EAAKn2G,KACdm2G,EAAK3zC,EAAI2zC,EAAKh5C,IACPg5C,CACT,CAGgH+1O,CAA2BF,GAAkBF,GEtB9I,SAAyBnhU,GACtC,IAAIu6T,EAEAh0C,EAAO0yC,GAAmBj5T,GAC1BwhU,EAAYzI,GAAgB/4T,GAC5B+tC,EAA0D,OAAlDwsR,EAAwBv6T,EAAQqoH,oBAAyB,EAASkyM,EAAsBxsR,KAChGn/C,EAAQoG,GAAIuxR,EAAK3wQ,YAAa2wQ,EAAK13O,YAAad,EAAOA,EAAKn4B,YAAc,EAAGm4B,EAAOA,EAAKc,YAAc,GACvGT,EAASp5C,GAAIuxR,EAAK7xO,aAAc6xO,EAAKl4O,aAAcN,EAAOA,EAAK2G,aAAe,EAAG3G,EAAOA,EAAKM,aAAe,GAC5GyJ,GAAK0pR,EAAU7uR,WAAaumR,GAAoBl5T,GAChD63C,GAAK2pR,EAAU5zO,UAMnB,MAJiD,QAA7C/9C,GAAiB9B,GAAQw4O,GAAM9hQ,YACjCqzB,GAAK9iD,GAAIuxR,EAAK13O,YAAad,EAAOA,EAAKc,YAAc,GAAKjgD,GAGrD,CACLA,MAAOA,EACPw/C,OAAQA,EACR0J,EAAGA,EACHD,EAAGA,EAEP,CFC8K4pR,CAAgBxI,GAAmBj5T,IACjN,CAsBe,SAAS0hU,GAAgB1hU,EAAS2hU,EAAUC,GACzD,IAAIC,EAAmC,oBAAbF,EAlB5B,SAA4B3hU,GAC1B,IAAIq7T,EAAkBf,GAAkBH,GAAcn6T,IAElD8hU,EADoB,CAAC,WAAY,SAAS1qV,QAAQy4D,GAAiB7vC,GAAS4hB,WAAa,GACnD62S,GAAcz4T,GAAW66T,GAAgB76T,GAAWA,EAE9F,OAAKs1C,GAAUwsR,GAKRzG,EAAgBnjV,QAAO,SAAUmpV,GACtC,OAAO/rR,GAAU+rR,IAAmBjwR,GAASiwR,EAAgBS,IAAmD,SAAhC9I,GAAYqI,EAC9F,IANS,EAOX,CAK6DU,CAAmB/hU,GAAW,GAAGnf,OAAO8gV,GAC/FtG,EAAkB,GAAGx6U,OAAOghV,EAAqB,CAACD,IAClDI,EAAsB3G,EAAgB,GACtC4G,EAAe5G,EAAgB58U,QAAO,SAAUyjV,EAASb,GAC3D,IAAI71O,EAAO41O,GAA2BphU,EAASqhU,GAK/C,OAJAa,EAAQ1vR,IAAMx9C,GAAIw2F,EAAKh5C,IAAK0vR,EAAQ1vR,KACpC0vR,EAAQ5sV,MAAQ8f,GAAIo2F,EAAKl2G,MAAO4sV,EAAQ5sV,OACxC4sV,EAAQt2O,OAASx2F,GAAIo2F,EAAKI,OAAQs2O,EAAQt2O,QAC1Cs2O,EAAQ7sV,KAAO2f,GAAIw2F,EAAKn2G,KAAM6sV,EAAQ7sV,MAC/B6sV,CACT,GAAGd,GAA2BphU,EAASgiU,IAKvC,OAJAC,EAAarzU,MAAQqzU,EAAa3sV,MAAQ2sV,EAAa5sV,KACvD4sV,EAAa7zR,OAAS6zR,EAAar2O,OAASq2O,EAAazvR,IACzDyvR,EAAanqR,EAAImqR,EAAa5sV,KAC9B4sV,EAAapqR,EAAIoqR,EAAazvR,IACvByvR,CACT,CGpEe,SAASE,GAAmBC,GACzC,OAAOttV,OAAO0wB,OAAO,CAAC,ECDf,CACLgtC,IAAK,EACLl9D,MAAO,EACPs2G,OAAQ,EACRv2G,KAAM,GDHuC+sV,EACjD,CEHe,SAASC,GAAgBzvV,EAAOqD,GAC7C,OAAOA,EAAKwI,QAAO,SAAU6jV,EAASzrV,GAEpC,OADAyrV,EAAQzrV,GAAOjE,EACR0vV,CACT,GAAG,CAAC,EACN,CCKe,SAASC,GAAe77S,EAAOhmB,QAC5B,IAAZA,IACFA,EAAU,CAAC,GAGb,IAAIq9T,EAAWr9T,EACX8hU,EAAqBzE,EAASl8S,UAC9BA,OAAmC,IAAvB2gT,EAAgC97S,EAAM7E,UAAY2gT,EAC9DC,EAAoB1E,EAAS4D,SAC7BA,OAAiC,IAAtBc,EAA+BpH,GAAkBoH,EAC5DC,EAAwB3E,EAAS6D,aACjCA,OAAyC,IAA1Bc,EAAmCpkM,GAAWokM,EAC7DC,EAAwB5E,EAAS6E,eACjCA,OAA2C,IAA1BD,EAAmCrH,GAASqH,EAC7DE,EAAuB9E,EAAS+E,YAChCA,OAAuC,IAAzBD,GAA0CA,EACxDE,EAAmBhF,EAAShhU,QAC5BA,OAA+B,IAArBgmU,EAA8B,EAAIA,EAC5CX,EAAgBD,GAAsC,kBAAZplU,EAAuBA,EAAUslU,GAAgBtlU,EAASq+T,KACpG4H,EAAaJ,IAAmBtH,GAASC,GAAYD,GACrDyD,EAAar4S,EAAMk3S,MAAMtC,OACzBt7T,EAAU0mB,EAAMi3G,SAASmlM,EAAcE,EAAaJ,GACpDK,EAAqBvB,GAAgBpsR,GAAUt1C,GAAWA,EAAUA,EAAQi9T,gBAAkBhE,GAAmBvyS,EAAMi3G,SAAS29L,QAASqG,EAAUC,GACnJsB,EAAsBz3O,GAAsB/kE,EAAMi3G,SAAS49L,WAC3D8E,EAAgB/B,GAAe,CACjC/C,UAAW2H,EACXljU,QAAS++T,EACTlvO,SAAU,WACVhuE,UAAWA,IAETshT,EAAmBhC,GAAiBrsV,OAAO0wB,OAAO,CAAC,EAAGu5T,EAAYsB,IAClE+C,EAAoBR,IAAmBtH,GAAS6H,EAAmBD,EAGnEG,EAAkB,CACpB7wR,IAAKywR,EAAmBzwR,IAAM4wR,EAAkB5wR,IAAM4vR,EAAc5vR,IACpEo5C,OAAQw3O,EAAkBx3O,OAASq3O,EAAmBr3O,OAASw2O,EAAcx2O,OAC7Ev2G,KAAM4tV,EAAmB5tV,KAAO+tV,EAAkB/tV,KAAO+sV,EAAc/sV,KACvEC,MAAO8tV,EAAkB9tV,MAAQ2tV,EAAmB3tV,MAAQ8sV,EAAc9sV,OAExEguV,EAAa58S,EAAMi2S,cAAc3rM,OAErC,GAAI4xM,IAAmBtH,IAAUgI,EAAY,CAC3C,IAAItyM,EAASsyM,EAAWzhT,GACxB/sC,OAAOmB,KAAKotV,GAAiBzuV,SAAQ,SAAUiC,GAC7C,IAAI0sV,EAAW,CAACjuV,GAAOs2G,IAAQx0G,QAAQP,IAAQ,EAAI,GAAK,EACpD2sV,EAAO,CAAChxR,GAAKo5C,IAAQx0G,QAAQP,IAAQ,EAAI,IAAM,IACnDwsV,EAAgBxsV,IAAQm6I,EAAOwyM,GAAQD,CACzC,GACF,CAEA,OAAOF,CACT,CC2EA,UACE/nV,KAAM,OACNg7N,SAAS,EACT4mH,MAAO,OACPx7T,GA5HF,SAAci3S,GACZ,IAAIjyR,EAAQiyR,EAAKjyR,MACbhmB,EAAUi4S,EAAKj4S,QACfplB,EAAOq9T,EAAKr9T,KAEhB,IAAIorC,EAAMi2S,cAAcrhV,GAAMmoV,MAA9B,CAoCA,IAhCA,IAAIC,EAAoBhjU,EAAQi+T,SAC5BgF,OAAsC,IAAtBD,GAAsCA,EACtDE,EAAmBljU,EAAQmjU,QAC3BC,OAAoC,IAArBF,GAAqCA,EACpDG,EAA8BrjU,EAAQsjU,mBACtCjnU,EAAU2D,EAAQ3D,QAClB4kU,EAAWjhU,EAAQihU,SACnBC,EAAelhU,EAAQkhU,aACvBkB,EAAcpiU,EAAQoiU,YACtBmB,EAAwBvjU,EAAQwjU,eAChCA,OAA2C,IAA1BD,GAA0CA,EAC3DE,EAAwBzjU,EAAQyjU,sBAChCC,EAAqB19S,EAAMhmB,QAAQmhB,UACnC08S,EAAgBJ,GAAiBiG,GAEjCJ,EAAqBD,IADHxF,IAAkB6F,IACqCF,EAAiB,CAACnD,GAAqBqD,IAjCtH,SAAuCviT,GACrC,GAAIs8S,GAAiBt8S,KAAes5S,GAClC,MAAO,GAGT,IAAIkJ,EAAoBtD,GAAqBl/S,GAC7C,MAAO,CAACo/S,GAA8Bp/S,GAAYwiT,EAAmBpD,GAA8BoD,GACrG,CA0B6IC,CAA8BF,IACrK3I,EAAa,CAAC2I,GAAoBvjV,OAAOmjV,GAAoBvlV,QAAO,SAAUg7P,EAAK53N,GACrF,OAAO43N,EAAI54P,OAAOs9U,GAAiBt8S,KAAes5S,GCvCvC,SAA8Bz0S,EAAOhmB,QAClC,IAAZA,IACFA,EAAU,CAAC,GAGb,IAAIq9T,EAAWr9T,EACXmhB,EAAYk8S,EAASl8S,UACrB8/S,EAAW5D,EAAS4D,SACpBC,EAAe7D,EAAS6D,aACxB7kU,EAAUghU,EAAShhU,QACnBmnU,EAAiBnG,EAASmG,eAC1BK,EAAwBxG,EAASoG,sBACjCA,OAAkD,IAA1BI,EAAmCC,GAAgBD,EAC3E/F,EAAYJ,GAAav8S,GACzB45S,EAAa+C,EAAY0F,EAAiB1I,GAAsBA,GAAoBtjV,QAAO,SAAU2pC,GACvG,OAAOu8S,GAAav8S,KAAe28S,CACrC,IAAKpD,GACDqJ,EAAoBhJ,EAAWvjV,QAAO,SAAU2pC,GAClD,OAAOsiT,EAAsB/sV,QAAQyqC,IAAc,CACrD,IAEiC,IAA7B4iT,EAAkBxxV,SACpBwxV,EAAoBhJ,GAQtB,IAAIiJ,EAAYD,EAAkBhmV,QAAO,SAAUg7P,EAAK53N,GAOtD,OANA43N,EAAI53N,GAAa0gT,GAAe77S,EAAO,CACrC7E,UAAWA,EACX8/S,SAAUA,EACVC,aAAcA,EACd7kU,QAASA,IACRohU,GAAiBt8S,IACb43N,CACT,GAAG,CAAC,GACJ,OAAO3kQ,OAAOmB,KAAKyuV,GAAWt5U,MAAK,SAAUjX,EAAGC,GAC9C,OAAOswV,EAAUvwV,GAAKuwV,EAAUtwV,EAClC,GACF,CDH6DuwV,CAAqBj+S,EAAO,CACnF7E,UAAWA,EACX8/S,SAAUA,EACVC,aAAcA,EACd7kU,QAASA,EACTmnU,eAAgBA,EAChBC,sBAAuBA,IACpBtiT,EACP,GAAG,IACC+iT,EAAgBl+S,EAAMk3S,MAAMrC,UAC5BwD,EAAar4S,EAAMk3S,MAAMtC,OACzBuJ,EAAY,IAAInwV,IAChBowV,GAAqB,EACrBC,EAAwBtJ,EAAW,GAE9BvlV,EAAI,EAAGA,EAAIulV,EAAWxoV,OAAQiD,IAAK,CAC1C,IAAI2rC,EAAY45S,EAAWvlV,GAEvB8uV,EAAiB7G,GAAiBt8S,GAElCojT,EAAmB7G,GAAav8S,KAAeZ,GAC/Ck2K,EAAa,CAAC3kJ,GAAKo5C,IAAQx0G,QAAQ4tV,IAAmB,EACtDx1T,EAAM2nL,EAAa,QAAU,SAC7BzoJ,EAAW6zR,GAAe77S,EAAO,CACnC7E,UAAWA,EACX8/S,SAAUA,EACVC,aAAcA,EACdkB,YAAaA,EACb/lU,QAASA,IAEPmoU,EAAoB/tI,EAAa8tI,EAAmB3vV,GAAQD,GAAO4vV,EAAmBr5O,GAASp5C,GAE/FoyR,EAAcp1T,GAAOuvT,EAAWvvT,KAClC01T,EAAoBnE,GAAqBmE,IAG3C,IAAIC,EAAmBpE,GAAqBmE,GACxCE,EAAS,GAUb,GARIzB,GACFyB,EAAOvwV,KAAK65D,EAASs2R,IAAmB,GAGtClB,GACFsB,EAAOvwV,KAAK65D,EAASw2R,IAAsB,EAAGx2R,EAASy2R,IAAqB,GAG1EC,EAAOttU,OAAM,SAAU0pD,GACzB,OAAOA,CACT,IAAI,CACFujR,EAAwBljT,EACxBijT,GAAqB,EACrB,KACF,CAEAD,EAAUlqV,IAAIknC,EAAWujT,EAC3B,CAEA,GAAIN,EAqBF,IAnBA,IAEIO,EAAQ,SAAenrV,GACzB,IAAIorV,EAAmB7J,EAAWx1T,MAAK,SAAU4b,GAC/C,IAAIujT,EAASP,EAAUvqV,IAAIunC,GAE3B,GAAIujT,EACF,OAAOA,EAAO7oV,MAAM,EAAGrC,GAAI4d,OAAM,SAAU0pD,GACzC,OAAOA,CACT,GAEJ,IAEA,GAAI8jR,EAEF,OADAP,EAAwBO,EACjB,OAEX,EAESprV,EAnBYgqV,EAAiB,EAAI,EAmBZhqV,EAAK,EAAGA,IAAM,CAG1C,GAAa,UAFFmrV,EAAMnrV,GAEK,KACxB,CAGEwsC,EAAM7E,YAAckjT,IACtBr+S,EAAMi2S,cAAcrhV,GAAMmoV,OAAQ,EAClC/8S,EAAM7E,UAAYkjT,EAClBr+S,EAAMpsB,OAAQ,EA5GhB,CA8GF,EAQEyhU,iBAAkB,CAAC,UACnBhjV,KAAM,CACJ0qV,OAAO,IE/IJ,SAAS8B,GAAOnwU,EAAKxiB,EAAOoiB,GACjC,OAAOwwU,GAAQpwU,EAAKqwU,GAAQ7yV,EAAOoiB,GACrC,CCoIA,UACE1Z,KAAM,kBACNg7N,SAAS,EACT4mH,MAAO,OACPx7T,GA/HF,SAAyBi3S,GACvB,IAAIjyR,EAAQiyR,EAAKjyR,MACbhmB,EAAUi4S,EAAKj4S,QACfplB,EAAOq9T,EAAKr9T,KACZooV,EAAoBhjU,EAAQi+T,SAC5BgF,OAAsC,IAAtBD,GAAsCA,EACtDE,EAAmBljU,EAAQmjU,QAC3BC,OAAoC,IAArBF,GAAsCA,EACrDjC,EAAWjhU,EAAQihU,SACnBC,EAAelhU,EAAQkhU,aACvBkB,EAAcpiU,EAAQoiU,YACtB/lU,EAAU2D,EAAQ3D,QAClB2oU,EAAkBhlU,EAAQilU,OAC1BA,OAA6B,IAApBD,GAAoCA,EAC7CE,EAAwBllU,EAAQmlU,aAChCA,OAAyC,IAA1BD,EAAmC,EAAIA,EACtDl3R,EAAW6zR,GAAe77S,EAAO,CACnCi7S,SAAUA,EACVC,aAAcA,EACd7kU,QAASA,EACT+lU,YAAaA,IAEXvE,EAAgBJ,GAAiBz3S,EAAM7E,WACvC28S,EAAYJ,GAAa13S,EAAM7E,WAC/BikT,GAAmBtH,EACnBG,EAAWN,GAAyBE,GACpCsF,ECrCY,MDqCSlF,ECrCH,IAAM,IDsCxB0B,EAAgB35S,EAAMi2S,cAAc0D,cACpCuE,EAAgBl+S,EAAMk3S,MAAMrC,UAC5BwD,EAAar4S,EAAMk3S,MAAMtC,OACzByK,EAA4C,oBAAjBF,EAA8BA,EAAa/wV,OAAO0wB,OAAO,CAAC,EAAGkhB,EAAMk3S,MAAO,CACvG/7S,UAAW6E,EAAM7E,aACbgkT,EACFG,EAA2D,kBAAtBD,EAAiC,CACxEpH,SAAUoH,EACVlC,QAASkC,GACPjxV,OAAO0wB,OAAO,CAChBm5T,SAAU,EACVkF,QAAS,GACRkC,GACCE,EAAsBv/S,EAAMi2S,cAAc3rM,OAAStqG,EAAMi2S,cAAc3rM,OAAOtqG,EAAM7E,WAAa,KACjG9oC,EAAO,CACT++D,EAAG,EACHD,EAAG,GAGL,GAAKwoR,EAAL,CAIA,GAAIsD,EAAe,CACjB,IAAIuC,EAEAC,EAAwB,MAAbxH,EAAmBnsR,GAAMn9D,GACpC+wV,EAAuB,MAAbzH,EAAmB/yO,GAASt2G,GACtCk6B,EAAmB,MAAbmvT,EAAmB,SAAW,QACpC3tM,EAASqvM,EAAc1B,GACvBvpU,EAAM47H,EAAStiF,EAASy3R,GACxBnxU,EAAMg8H,EAAStiF,EAAS03R,GACxBC,EAAWV,GAAU5G,EAAWvvT,GAAO,EAAI,EAC3C0mS,EAASsoB,IAAcv9S,GAAQ2jT,EAAcp1T,GAAOuvT,EAAWvvT,GAC/D82T,EAAS9H,IAAcv9S,IAAS89S,EAAWvvT,IAAQo1T,EAAcp1T,GAGjE+2T,EAAe7/S,EAAMi3G,SAAS2iM,MAC9BkG,EAAYb,GAAUY,EAAetM,GAAcsM,GAAgB,CACrE33U,MAAO,EACPw/C,OAAQ,GAENq4R,EAAqB//S,EAAMi2S,cAAc,oBAAsBj2S,EAAMi2S,cAAc,oBAAoB5/T,QNhFtG,CACLy1C,IAAK,EACLl9D,MAAO,EACPs2G,OAAQ,EACRv2G,KAAM,GM6EFqxV,EAAkBD,EAAmBN,GACrCQ,EAAkBF,EAAmBL,GAMrCQ,EAAWrB,GAAO,EAAGX,EAAcp1T,GAAMg3T,EAAUh3T,IACnDq3T,EAAYf,EAAkBlB,EAAcp1T,GAAO,EAAI62T,EAAWO,EAAWF,EAAkBV,EAA4BrH,SAAWzoB,EAAS0wB,EAAWF,EAAkBV,EAA4BrH,SACxMmI,EAAYhB,GAAmBlB,EAAcp1T,GAAO,EAAI62T,EAAWO,EAAWD,EAAkBX,EAA4BrH,SAAW2H,EAASM,EAAWD,EAAkBX,EAA4BrH,SACzMoI,EAAoBrgT,EAAMi3G,SAAS2iM,OAASzF,GAAgBn0S,EAAMi3G,SAAS2iM,OAC3E0G,EAAeD,EAAiC,MAAbpI,EAAmBoI,EAAkB/M,WAAa,EAAI+M,EAAkBhN,YAAc,EAAI,EAC7HkN,EAAwH,OAAjGf,EAA+C,MAAvBD,OAA8B,EAASA,EAAoBtH,IAAqBuH,EAAwB,EAEvJgB,EAAYl2M,EAAS81M,EAAYG,EACjCE,EAAkB5B,GAAOI,EAASF,GAAQrwU,EAF9B47H,EAAS61M,EAAYI,EAAsBD,GAEK5xU,EAAK47H,EAAQ20M,EAASH,GAAQxwU,EAAKkyU,GAAalyU,GAChHqrU,EAAc1B,GAAYwI,EAC1BpuV,EAAK4lV,GAAYwI,EAAkBn2M,CACrC,CAEA,GAAI8yM,EAAc,CAChB,IAAIsD,EAEAC,EAAyB,MAAb1I,EAAmBnsR,GAAMn9D,GAErCiyV,GAAwB,MAAb3I,EAAmB/yO,GAASt2G,GAEvCiyV,GAAUlH,EAAcwD,GAExB5sB,GAAmB,MAAZ4sB,EAAkB,SAAW,QAEpC2D,GAAOD,GAAU74R,EAAS24R,GAE1BI,GAAOF,GAAU74R,EAAS44R,IAE1BI,IAAuD,IAAxC,CAACl1R,GAAKn9D,IAAM+B,QAAQmnV,GAEnCoJ,GAAyH,OAAjGP,EAAgD,MAAvBnB,OAA8B,EAASA,EAAoBpC,IAAoBuD,EAAyB,EAEzJQ,GAAaF,GAAeF,GAAOD,GAAU3C,EAAc3tB,IAAQ8nB,EAAW9nB,IAAQ0wB,GAAuB3B,EAA4BnC,QAEzIgE,GAAaH,GAAeH,GAAU3C,EAAc3tB,IAAQ8nB,EAAW9nB,IAAQ0wB,GAAuB3B,EAA4BnC,QAAU4D,GAE5IK,GAAmBnC,GAAU+B,GDzH9B,SAAwBtyU,EAAKxiB,EAAOoiB,GACzC,IAAIla,EAAIyqV,GAAOnwU,EAAKxiB,EAAOoiB,GAC3B,OAAOla,EAAIka,EAAMA,EAAMla,CACzB,CCsHoDitV,CAAeH,GAAYL,GAASM,IAActC,GAAOI,EAASiC,GAAaJ,GAAMD,GAAS5B,EAASkC,GAAaJ,IAEpKpH,EAAcwD,GAAWiE,GACzB/uV,EAAK8qV,GAAWiE,GAAmBP,EACrC,CAEA7gT,EAAMi2S,cAAcrhV,GAAQvC,CAvE5B,CAwEF,EAQEgjV,iBAAkB,CAAC,WEhDrB,UACEzgV,KAAM,QACNg7N,SAAS,EACT4mH,MAAO,OACPx7T,GA9EF,SAAei3S,GACb,IAAIqvB,EAEAthT,EAAQiyR,EAAKjyR,MACbprC,EAAOq9T,EAAKr9T,KACZolB,EAAUi4S,EAAKj4S,QACf6lU,EAAe7/S,EAAMi3G,SAAS2iM,MAC9BD,EAAgB35S,EAAMi2S,cAAc0D,cACpC9B,EAAgBJ,GAAiBz3S,EAAM7E,WACvC2hT,EAAOnF,GAAyBE,GAEhC/uT,EADa,CAACn6B,GAAMC,IAAO8B,QAAQmnV,IAAkB,EAClC,SAAW,QAElC,GAAKgI,GAAiBlG,EAAtB,CAIA,IAAI+B,EAxBgB,SAAyBrlU,EAAS2pB,GAItD,OAAOy7S,GAAsC,kBAH7CplU,EAA6B,oBAAZA,EAAyBA,EAAQjoB,OAAO0wB,OAAO,CAAC,EAAGkhB,EAAMk3S,MAAO,CAC/E/7S,UAAW6E,EAAM7E,aACb9kB,GACkDA,EAAUslU,GAAgBtlU,EAASq+T,IAC7F,CAmBsB6M,CAAgBvnU,EAAQ3D,QAAS2pB,GACjD8/S,EAAYvM,GAAcsM,GAC1B2B,EAAmB,MAAT1E,EAAehxR,GAAMn9D,GAC/B8yV,EAAmB,MAAT3E,EAAe53O,GAASt2G,GAClC8yV,EAAU1hT,EAAMk3S,MAAMrC,UAAU/rT,GAAOkX,EAAMk3S,MAAMrC,UAAUiI,GAAQnD,EAAcmD,GAAQ98S,EAAMk3S,MAAMtC,OAAO9rT,GAC9G64T,EAAYhI,EAAcmD,GAAQ98S,EAAMk3S,MAAMrC,UAAUiI,GACxDuD,EAAoBlM,GAAgB0L,GACpC+B,EAAavB,EAA6B,MAATvD,EAAeuD,EAAkB14R,cAAgB,EAAI04R,EAAkBl4R,aAAe,EAAI,EAC3H05R,EAAoBH,EAAU,EAAIC,EAAY,EAG9CjzU,EAAMgtU,EAAc8F,GACpBlzU,EAAMszU,EAAa9B,EAAUh3T,GAAO4yT,EAAc+F,GAClDx1I,EAAS21I,EAAa,EAAI9B,EAAUh3T,GAAO,EAAI+4T,EAC/Cv3M,EAASu0M,GAAOnwU,EAAKu9L,EAAQ39L,GAE7BwzU,EAAWhF,EACf98S,EAAMi2S,cAAcrhV,KAAS0sV,EAAwB,CAAC,GAAyBQ,GAAYx3M,EAAQg3M,EAAsBS,aAAez3M,EAAS2hE,EAAQq1I,EAnBzJ,CAoBF,EA4CExiE,OA1CF,SAAgBozC,GACd,IAAIlyR,EAAQkyR,EAAMlyR,MAEdgiT,EADU9vB,EAAMl4S,QACWV,QAC3BumU,OAAoC,IAArBmC,EAA8B,sBAAwBA,EAErD,MAAhBnC,IAKwB,kBAAjBA,IACTA,EAAe7/S,EAAMi3G,SAAS29L,OAAOllR,cAAcmwR,MAahDn1R,GAAS1qB,EAAMi3G,SAAS29L,OAAQiL,KAQrC7/S,EAAMi3G,SAAS2iM,MAAQiG,EACzB,EASEzK,SAAU,CAAC,iBACXC,iBAAkB,CAAC,oBChGrB,SAAS4M,GAAej6R,EAAU88C,EAAMo9O,GAQtC,YAPyB,IAArBA,IACFA,EAAmB,CACjB9wR,EAAG,EACHD,EAAG,IAIA,CACLrF,IAAK9D,EAAS8D,IAAMg5C,EAAKp9C,OAASw6R,EAAiB/wR,EACnDviE,MAAOo5D,EAASp5D,MAAQk2G,EAAK58F,MAAQg6U,EAAiB9wR,EACtD8zC,OAAQl9C,EAASk9C,OAASJ,EAAKp9C,OAASw6R,EAAiB/wR,EACzDxiE,KAAMq5D,EAASr5D,KAAOm2G,EAAK58F,MAAQg6U,EAAiB9wR,EAExD,CAEA,SAAS+wR,GAAsBn6R,GAC7B,MAAO,CAAC8D,GAAKl9D,GAAOs2G,GAAQv2G,IAAM+nB,MAAK,SAAUs3L,GAC/C,OAAOhmJ,EAASgmJ,IAAS,CAC3B,GACF,CA+BA,UACEp5M,KAAM,OACNg7N,SAAS,EACT4mH,MAAO,OACPnB,iBAAkB,CAAC,mBACnBr6T,GAlCF,SAAci3S,GACZ,IAAIjyR,EAAQiyR,EAAKjyR,MACbprC,EAAOq9T,EAAKr9T,KACZspV,EAAgBl+S,EAAMk3S,MAAMrC,UAC5BwD,EAAar4S,EAAMk3S,MAAMtC,OACzBsN,EAAmBliT,EAAMi2S,cAAcmM,gBACvCC,EAAoBxG,GAAe77S,EAAO,CAC5Ck8S,eAAgB,cAEdoG,EAAoBzG,GAAe77S,EAAO,CAC5Co8S,aAAa,IAEXmG,EAA2BN,GAAeI,EAAmBnE,GAC7DsE,EAAsBP,GAAeK,EAAmBjK,EAAY6J,GACpEO,EAAoBN,GAAsBI,GAC1CG,EAAmBP,GAAsBK,GAC7CxiT,EAAMi2S,cAAcrhV,GAAQ,CAC1B2tV,yBAA0BA,EAC1BC,oBAAqBA,EACrBC,kBAAmBA,EACnBC,iBAAkBA,GAEpB1iT,EAAMplC,WAAWg6U,OAASxmV,OAAO0wB,OAAO,CAAC,EAAGkhB,EAAMplC,WAAWg6U,OAAQ,CACnE,+BAAgC6N,EAChC,sBAAuBC,GAE3B,GCzCA,IACIC,GAA4BjN,GAAgB,CAC9CI,iBAFqB,CAAC8M,GAAgBjJ,GAAekJ,GAAeC,GAAax4M,GAAQy4M,GAAMX,GAAiBxI,GAAO90U,4BCNrHk+U,GAAkB,GCClBC,GAAO,WAEX,EAEIC,GAAe,WACjB,OAAO3/D,QAAQxhN,QAAQ,KACzB,EAEIihR,GAAkB,GACf,SAASG,GAAOlxB,GACrB,IAAImxB,EAAiBnxB,EAAK92R,UACtBA,OAA+B,IAAnBioT,EAA4B,SAAWA,EACnDC,EAAgBpxB,EAAK9oN,SACrBA,OAA6B,IAAlBk6O,EAA2B,WAAaA,EACnDC,EAAiBrxB,EAAKgjB,UACtBA,OAA+B,IAAnBqO,EAA4BN,GAAkBM,EAC1DC,EAAmBtxB,EAAKsxB,iBACxBjM,EAAgBrlB,EAAKqlB,cACrBkM,EAAWvxB,EAAKuxB,SAChB3vU,EAAWo+S,EAAKp+S,SAChBy9T,EAAgBvV,EAAAA,WAAiBmV,IAEjCG,EAAkBtV,EAAAA,SAAe,MACjC0nB,EAAgBpS,EAAgB,GAChCqS,EAAmBrS,EAAgB,GAEnCsS,EAAmB5nB,EAAAA,SAAe,MAClC8jB,EAAe8D,EAAiB,GAChCC,EAAkBD,EAAiB,GAEvC5nB,EAAAA,WAAgB,WACdx/C,GAAOinE,EAAUC,EACnB,GAAG,CAACD,EAAUC,IACd,IAAIzpU,EAAU+hT,EAAAA,SAAc,WAC1B,MAAO,CACL5gS,UAAWA,EACXguE,SAAUA,EACVmuO,cAAeA,EACfrC,UAAW,GAAG96U,OAAO86U,EAAW,CAAC,CAC/BrgV,KAAM,QACNg7N,QAAyB,MAAhBiwH,EACT7lU,QAAS,CACPV,QAASumU,MAIjB,GAAG,CAAC1kT,EAAWguE,EAAUmuO,EAAerC,EAAW4K,IAE/CgE,EDhDiB,SAAmBN,EAAkBE,EAAezpU,QACzD,IAAZA,IACFA,EAAU,CAAC,GAGb,IAAI8pU,EAAc/nB,EAAAA,OAAa,MAC3BgoB,EAAsB,CACxBzM,cAAet9T,EAAQs9T,cACvBn8S,UAAWnhB,EAAQmhB,WAAa,SAChCguE,SAAUnvF,EAAQmvF,UAAY,WAC9B8rO,UAAWj7T,EAAQi7T,WAAa+N,IAG9B3R,EAAkBtV,EAAAA,SAAe,CACnCnuQ,OAAQ,CACNgnR,OAAQ,CACN15S,SAAU6oT,EAAoB56O,SAC9Bx6G,KAAM,IACNm9D,IAAK,KAEP8tR,MAAO,CACL1+S,SAAU,aAGdtgC,WAAY,CAAC,IAEXolC,EAAQqxS,EAAgB,GACxB7sU,EAAW6sU,EAAgB,GAE3B2S,EAAsBjoB,EAAAA,SAAc,WACtC,MAAO,CACLnnU,KAAM,cACNg7N,SAAS,EACT4mH,MAAO,QACPx7T,GAAI,SAAYi3S,GACd,IAAIjyR,EAAQiyR,EAAKjyR,MACbi3G,EAAW7oJ,OAAOmB,KAAKywC,EAAMi3G,UACjCzyI,EAAS,CACPopD,OAAQgkR,GAAY36L,EAASn+I,KAAI,SAAUwgB,GACzC,MAAO,CAACA,EAAS0mB,EAAM4tB,OAAOt0C,IAAY,CAAC,EAC7C,KACA1e,WAAYg3U,GAAY36L,EAASn+I,KAAI,SAAUwgB,GAC7C,MAAO,CAACA,EAAS0mB,EAAMplC,WAAW0e,GACpC,MAEJ,EACA87T,SAAU,CAAC,iBAEf,GAAG,IACC6O,EAAgBloB,EAAAA,SAAc,WAChC,IAAImoB,EAAa,CACf5M,cAAeyM,EAAoBzM,cACnCn8S,UAAW4oT,EAAoB5oT,UAC/BguE,SAAU46O,EAAoB56O,SAC9B8rO,UAAW,GAAG96U,OAAO4pV,EAAoB9O,UAAW,CAAC+O,EAAqB,CACxEpvV,KAAM,cACNg7N,SAAS,MAIb,OAAIu0H,KAAQL,EAAY72E,QAASi3E,GACxBJ,EAAY72E,SAAWi3E,GAE9BJ,EAAY72E,QAAUi3E,EACfA,EAEX,GAAG,CAACH,EAAoBzM,cAAeyM,EAAoB5oT,UAAW4oT,EAAoB56O,SAAU46O,EAAoB9O,UAAW+O,IAC/HI,EAAoBroB,EAAAA,SAmBxB,OAlBA8V,IAA0B,WACpBuS,EAAkBn3E,SACpBm3E,EAAkBn3E,QAAQkpE,WAAW8N,EAEzC,GAAG,CAACA,IACJpS,IAA0B,WACxB,GAAwB,MAApB0R,GAA6C,MAAjBE,EAAhC,CAIA,IACIY,GADerqU,EAAQ2oU,cAAgB2B,IACTf,EAAkBE,EAAeQ,GAEnE,OADAG,EAAkBn3E,QAAUo3E,EACrB,WACLA,EAAe/nV,UACf8nV,EAAkBn3E,QAAU,IAC9B,CARA,CASF,GAAG,CAACs2E,EAAkBE,EAAezpU,EAAQ2oU,eACtC,CACL3iT,MAAOokT,EAAkBn3E,QAAUm3E,EAAkBn3E,QAAQjtO,MAAQ,KACrE4tB,OAAQ5tB,EAAM4tB,OACdhzD,WAAYolC,EAAMplC,WAClBo7F,OAAQouP,EAAkBn3E,QAAUm3E,EAAkBn3E,QAAQj3K,OAAS,KACvE8rL,YAAasiE,EAAkBn3E,QAAUm3E,EAAkBn3E,QAAQ6U,YAAc,KAErF,CC7CmByiE,CAAUhB,GAAoBjS,EAAemS,EAAezpU,GACzEgmB,EAAQ6jT,EAAW7jT,MACnB4tB,EAASi2R,EAAWj2R,OACpBk0N,EAAc+hE,EAAW/hE,YACzB9rL,EAAS6tP,EAAW7tP,OAEpBwuP,EAAgBzoB,EAAAA,SAAc,WAChC,MAAO,CACLhjQ,IAAK2qR,EACLj8R,MAAOmG,EAAOgnR,OACdz5S,UAAW6E,EAAQA,EAAM7E,UAAYA,EACrCunT,iBAAkB1iT,GAASA,EAAMi2S,cAAcnxU,KAAOk7B,EAAMi2S,cAAcnxU,KAAK49U,iBAAmB,KAClGD,kBAAmBziT,GAASA,EAAMi2S,cAAcnxU,KAAOk7B,EAAMi2S,cAAcnxU,KAAK29U,kBAAoB,KACpGgC,WAAY,CACVh9R,MAAOmG,EAAOgsR,MACd7gR,IAAK6qR,GAEP9hE,YAAaA,GAAemhE,GAC5BjtP,OAAQA,GAAUktP,GAEtB,GAAG,CAACQ,EAAkBE,EAAiBzoT,EAAW6E,EAAO4tB,EAAQooC,EAAQ8rL,IACzE,OAAO4vD,GAAY79T,EAAZ69T,CAAsB8S,EAC/B,2BCvEO,SAASE,GAAUzyB,GACxB,IAAIp+S,EAAWo+S,EAAKp+S,SAChB2vU,EAAWvxB,EAAKuxB,SAChBjS,EAAmBxV,EAAAA,WAAiBoV,IACpCwT,EAAa5oB,EAAAA,aAAkB,SAAUtzT,GAC3C8zQ,GAAOinE,EAAU/6U,GACjBkpU,GAAWJ,EAAkB9oU,EAC/B,GAAG,CAAC+6U,EAAUjS,IAUd,OARAxV,EAAAA,WAAgB,WACd,OAAO,WACL,OAAOx/C,GAAOinE,EAAU,KAC1B,CACF,IACAznB,EAAAA,WAAgB,WACdnC,KAAQgrB,QAAQrT,GAAmB,mEACrC,GAAG,CAACA,IACGG,GAAY79T,EAAZ69T,CAAsB,CAC3B34Q,IAAK4rR,GAET,CCxBe,SAAS32B,GAA8B/8T,EAAQ68T,GAC5D,GAAc,MAAV78T,EAAgB,MAAO,CAAC,EAC5B,IAAIC,EAAS,CAAC,EACd,IAAK,IAAIf,KAAOc,EACd,GAAI7C,OAAOiB,UAAUuC,eAAesD,KAAKjE,EAAQd,GAAM,CACrD,GAAI29T,EAASp9T,QAAQP,IAAQ,EAAG,SAChCe,EAAOf,GAAOc,EAAOd,EACvB,CAEF,OAAOe,CACT,CCVe,SAAS2zV,GAAgBj7T,EAAGl2B,GAKzC,OAJAmxV,GAAkBz2V,OAAOitB,eAAiBjtB,OAAOitB,eAAe3hB,OAAS,SAAyBkwB,EAAGl2B,GAEnG,OADAk2B,EAAEtO,UAAY5nB,EACPk2B,CACT,EACOi7T,GAAgBj7T,EAAGl2B,EAC5B,CCNA,UACY,ECAZ,GAAeqoU,EAAAA,cAAoB,MCO5B,IAAI+oB,GAAY,YACZC,GAAS,SACTC,GAAW,WACXC,GAAU,UACVC,GAAU,UA6FjBC,GAA0B,SAAUC,GCxGzB,IAAwBC,EAAUC,ED2G/C,SAASH,EAAWtoV,EAAOzG,GACzB,IAAIoD,EAEJA,EAAQ4rV,EAAiBlwV,KAAK/F,KAAM0N,EAAOzG,IAAYjH,KACvD,IAGIo2V,EADAC,EAFcpvV,MAEuBqvV,WAAa5oV,EAAM6oV,MAAQ7oV,EAAM2oV,OAuB1E,OArBAhsV,EAAMmsV,aAAe,KAEjB9oV,EAAM+oV,GACJJ,GACFD,EAAgBR,GAChBvrV,EAAMmsV,aAAeX,IAErBO,EAAgBN,GAIhBM,EADE1oV,EAAMgpV,eAAiBhpV,EAAMipV,aACfhB,GAEAC,GAIpBvrV,EAAMwmC,MAAQ,CACZuhC,OAAQgkR,GAEV/rV,EAAMusV,aAAe,KACdvsV,CACT,CCzI+C8rV,EDyGpBF,GCzGUC,EDyGtBF,GCxGN91V,UAAYjB,OAAOotB,OAAO8pU,EAAWj2V,WAC9Cg2V,EAASh2V,UAAUwB,YAAcw0V,EACjC,GAAeA,EAAUC,GDwIzBH,EAAWx1D,yBAA2B,SAAkCsiC,EAAM+zB,GAG5E,OAFa/zB,EAAK2zB,IAEJI,EAAUzkR,SAAWujR,GAC1B,CACLvjR,OAAQwjR,IAIL,IACT,EAkBA,IAAIkB,EAASd,EAAW91V,UA0OxB,OAxOA42V,EAAOl+E,kBAAoB,WACzB54Q,KAAK+2V,cAAa,EAAM/2V,KAAKw2V,aAC/B,EAEAM,EAAO/8E,mBAAqB,SAA4BC,GACtD,IAAIg9E,EAAa,KAEjB,GAAIh9E,IAAch6Q,KAAK0N,MAAO,CAC5B,IAAI0kE,EAASpyE,KAAK6wC,MAAMuhC,OAEpBpyE,KAAK0N,MAAM+oV,GACTrkR,IAAWyjR,IAAYzjR,IAAW0jR,KACpCkB,EAAanB,IAGXzjR,IAAWyjR,IAAYzjR,IAAW0jR,KACpCkB,EAAajB,GAGnB,CAEA/1V,KAAK+2V,cAAa,EAAOC,EAC3B,EAEAF,EAAOn8E,qBAAuB,WAC5B36Q,KAAKi3V,oBACP,EAEAH,EAAOI,YAAc,WACnB,IACIC,EAAMZ,EAAOF,EADbtvV,EAAU/G,KAAK0N,MAAM3G,QAWzB,OATAowV,EAAOZ,EAAQF,EAAStvV,EAET,MAAXA,GAAsC,kBAAZA,IAC5BowV,EAAOpwV,EAAQowV,KACfZ,EAAQxvV,EAAQwvV,MAEhBF,OAA4B74V,IAAnBuJ,EAAQsvV,OAAuBtvV,EAAQsvV,OAASE,GAGpD,CACLY,KAAMA,EACNZ,MAAOA,EACPF,OAAQA,EAEZ,EAEAS,EAAOC,aAAe,SAAsBK,EAAUJ,QACnC,IAAbI,IACFA,GAAW,GAGM,OAAfJ,GAEFh3V,KAAKi3V,qBAEDD,IAAenB,GACjB71V,KAAKq3V,aAAaD,GAElBp3V,KAAKs3V,eAEEt3V,KAAK0N,MAAMgpV,eAAiB12V,KAAK6wC,MAAMuhC,SAAWwjR,IAC3D51V,KAAKqV,SAAS,CACZ+8D,OAAQujR,IAGd,EAEAmB,EAAOO,aAAe,SAAsBD,GAC1C,IAAIG,EAASv3V,KAETu2V,EAAQv2V,KAAK0N,MAAM6oV,MACnBiB,EAAYx3V,KAAKiH,QAAUjH,KAAKiH,QAAQqvV,WAAac,EAErDr0B,EAAQ/iU,KAAK0N,MAAM+pV,QAAU,CAACD,GAAa,CAACE,EAAAA,YAAqB13V,MAAOw3V,GACxEG,EAAY50B,EAAM,GAClB60B,EAAiB70B,EAAM,GAEvB80B,EAAW73V,KAAKk3V,cAChBY,EAAeN,EAAYK,EAASxB,OAASwB,EAAStB,OAGrDa,IAAab,GAAS9vQ,GACzBzmF,KAAK+3V,aAAa,CAChB3lR,OAAQ0jR,KACP,WACDyB,EAAO7pV,MAAMsqV,UAAUL,EACzB,KAIF33V,KAAK0N,MAAMuqV,QAAQN,EAAWC,GAC9B53V,KAAK+3V,aAAa,CAChB3lR,OAAQyjR,KACP,WACD0B,EAAO7pV,MAAMwqV,WAAWP,EAAWC,GAEnCL,EAAOY,gBAAgBL,GAAc,WACnCP,EAAOQ,aAAa,CAClB3lR,OAAQ0jR,KACP,WACDyB,EAAO7pV,MAAMsqV,UAAUL,EAAWC,EACpC,GACF,GACF,IACF,EAEAd,EAAOQ,YAAc,WACnB,IAAIc,EAASp4V,KAETm3V,EAAOn3V,KAAK0N,MAAMypV,KAClBU,EAAW73V,KAAKk3V,cAChBS,EAAY33V,KAAK0N,MAAM+pV,aAAUj6V,EAAYk6V,EAAAA,YAAqB13V,MAEjEm3V,IAAQ1wQ,IASbzmF,KAAK0N,MAAM2qV,OAAOV,GAClB33V,KAAK+3V,aAAa,CAChB3lR,OAAQ2jR,KACP,WACDqC,EAAO1qV,MAAM4qV,UAAUX,GAEvBS,EAAOD,gBAAgBN,EAASV,MAAM,WACpCiB,EAAOL,aAAa,CAClB3lR,OAAQwjR,KACP,WACDwC,EAAO1qV,MAAM6qV,SAASZ,EACxB,GACF,GACF,KArBE33V,KAAK+3V,aAAa,CAChB3lR,OAAQwjR,KACP,WACDwC,EAAO1qV,MAAM6qV,SAASZ,EACxB,GAkBJ,EAEAb,EAAOG,mBAAqB,WACA,OAAtBj3V,KAAK42V,eACP52V,KAAK42V,aAAalrR,SAClB1rE,KAAK42V,aAAe,KAExB,EAEAE,EAAOiB,aAAe,SAAsBS,EAAW53V,GAIrDA,EAAWZ,KAAKy4V,gBAAgB73V,GAChCZ,KAAKqV,SAASmjV,EAAW53V,EAC3B,EAEAk2V,EAAO2B,gBAAkB,SAAyB73V,GAChD,IAAI83V,EAAS14V,KAETkd,GAAS,EAcb,OAZAld,KAAK42V,aAAe,SAAUxlV,GACxB8L,IACFA,GAAS,EACTw7U,EAAO9B,aAAe,KACtBh2V,EAASwQ,GAEb,EAEApR,KAAK42V,aAAalrR,OAAS,WACzBxuD,GAAS,CACX,EAEOld,KAAK42V,YACd,EAEAE,EAAOqB,gBAAkB,SAAyBpxV,EAAS4xV,GACzD34V,KAAKy4V,gBAAgBE,GACrB,IAAIr/U,EAAOtZ,KAAK0N,MAAM+pV,QAAUz3V,KAAK0N,MAAM+pV,QAAQ35E,QAAU45E,EAAAA,YAAqB13V,MAC9E44V,EAA0C,MAAX7xV,IAAoB/G,KAAK0N,MAAMmrV,eAElE,GAAKv/U,IAAQs/U,EAAb,CAKA,GAAI54V,KAAK0N,MAAMmrV,eAAgB,CAC7B,IAAInR,EAAQ1nV,KAAK0N,MAAM+pV,QAAU,CAACz3V,KAAK42V,cAAgB,CAACt9U,EAAMtZ,KAAK42V,cAC/De,EAAYjQ,EAAM,GAClBoR,EAAoBpR,EAAM,GAE9B1nV,KAAK0N,MAAMmrV,eAAelB,EAAWmB,EACvC,CAEe,MAAX/xV,GACFP,WAAWxG,KAAK42V,aAAc7vV,EAXhC,MAFEP,WAAWxG,KAAK42V,aAAc,EAelC,EAEAE,EAAOz/E,OAAS,WACd,IAAIjlM,EAASpyE,KAAK6wC,MAAMuhC,OAExB,GAAIA,IAAWujR,GACb,OAAO,KAGT,IAAIoD,EAAc/4V,KAAK0N,MACnBgX,EAAWq0U,EAAYr0U,SAgBvBs0U,GAfMD,EAAYtC,GACFsC,EAAYpC,aACXoC,EAAYrC,cACnBqC,EAAY1C,OACb0C,EAAYxC,MACbwC,EAAY5B,KACT4B,EAAYhyV,QACLgyV,EAAYF,eACnBE,EAAYd,QACTc,EAAYb,WACba,EAAYf,UACfe,EAAYV,OACTU,EAAYT,UACbS,EAAYR,SACbQ,EAAYtB,QACV54B,GAA8Bk6B,EAAa,CAAC,WAAY,KAAM,eAAgB,gBAAiB,SAAU,QAAS,OAAQ,UAAW,iBAAkB,UAAW,aAAc,YAAa,SAAU,YAAa,WAAY,aAEjP,OAGEnsB,EAAAA,cAAoBqsB,GAAuB9uE,SAAU,CACnDptR,MAAO,MACc,oBAAb2nB,EAA0BA,EAAS0tD,EAAQ4mR,GAAcpsB,EAAAA,aAAmBA,EAAAA,SAAezD,KAAKzkT,GAAWs0U,GAEzH,EAEOhD,CACT,CA1S8B,CA0S5BppB,EAAAA,WA+LF,SAASssB,KAAQ,CA7LjBlD,GAAW51D,YAAc64D,GACzBjD,GAAWx6E,UA0LP,CAAC,EAILw6E,GAAW56E,aAAe,CACxBq7E,IAAI,EACJE,cAAc,EACdD,eAAe,EACfL,QAAQ,EACRE,OAAO,EACPY,MAAM,EACNc,QAASiB,GACThB,WAAYgB,GACZlB,UAAWkB,GACXb,OAAQa,GACRZ,UAAWY,GACXX,SAAUW,IAEZlD,GAAWL,UAAYA,GACvBK,GAAWJ,OAASA,GACpBI,GAAWH,SAAWA,GACtBG,GAAWF,QAAUA,GACrBE,GAAWD,QAAUA,GACrB,ixCEpmBO,SAASr9R,KACd,IAAIygS,EAAYxvU,SAASC,cAAc,OAEvCuvU,EAAU7gS,MAAMvsB,SAAW,WAC3BotT,EAAU7gS,MAAMqE,IAAM,UACtBw8R,EAAU7gS,MAAMv/C,MAAQ,OACxBogV,EAAU7gS,MAAMC,OAAS,OACzB4gS,EAAU7gS,MAAMO,SAAW,SAC3BlvC,SAASuuC,KAAKG,YAAY8gS,GAC1B,MAAMnmN,EAAiBmmN,EAAUpgS,YAAcogS,EAAUngS,YAEzD,OADArvC,SAASuuC,KAAKO,YAAY0gS,GACnBnmN,CACR,CAEM,SAASomN,GAAkBlyU,GAChCyC,SAASuuC,KAAKI,MAAMoD,aAAex0C,EAAU,EAAV,UAAiBA,EAAQ,MAAM,IACnE,CAEM,SAASmyU,KACd,OAAO1vU,SAASuuC,KAAKc,YAAczyD,OAAO8yD,UAC3C,CAEM,SAASigS,KACd,MAAMhhS,EAAQ/xD,OAAOyzD,iBAAiBrwC,SAASuuC,KAAM,MAErD,OAAOv6D,SAAU26D,GAASA,EAAMy8E,iBAAiB,kBAAqB,EAAG,GAC1E,CAEM,SAASwkN,KACd,MAAMvmN,EAAiBt6E,KAEjB8gS,EAAe7vU,SAASwxC,iBAC5B,qDACA,GACIs+R,EAAcD,EAChB77V,SAAS67V,EAAalhS,MAAMoD,cAAgB,EAAG,IAC/C,EAEA29R,MACFD,GAAkBK,EAAczmN,EAEnC,CAED,IAAI0mN,GAMG,SAASC,KAA6D,IAA7C/rR,EAAY,UAAH,6CAAG,GAAIgsR,EAAY,UAAH,6CAAGF,GAC1D,OAAKE,EACEhsR,EACJtqE,MAAM,KACNqG,KAAIoF,GAAK6qV,EAAU7qV,IAAMA,IACzB5D,KAAK,KAJeyiE,CAKxB,CAKM,SAASisR,GAAKx4V,EAAKy4V,GACxB,MAAMt0U,EAAS,CAAC,EAMhB,OALAvmB,OAAOmB,KAAKiB,GAAKtC,SAAQiC,KACQ,IAA3B84V,EAASv4V,QAAQP,KACnBwkB,EAAOxkB,GAAOK,EAAIL,GACnB,IAEIwkB,CACR,CAKM,SAASu0U,GAAK14V,EAAKjB,GACxB,MAAM45V,EAAWn5V,MAAMC,QAAQV,GAAQA,EAAO,CAACA,GAC/C,IACIY,EADA5D,EAAS48V,EAAS58V,OAEtB,MAAMooB,EAAS,CAAC,EAEhB,KAAOpoB,EAAS,GACdA,GAAU,EACV4D,EAAMg5V,EAAS58V,GACfooB,EAAOxkB,GAAOK,EAAIL,GAEpB,OAAOwkB,CACR,CAED,IAAIy0U,GAAS,CAAC,EAEP,SAAS1hV,GAASkqD,GAClBw3R,GAAOx3R,KAEa,qBAAZ5+D,SACTA,QAAQ0H,MAAMk3D,GAEhBw3R,GAAOx3R,IAAW,EAErB,CAEM,SAASy3R,GAAW3+E,EAAU4+E,GACnC,OAAO,SAAkBzsV,EAAO0mI,EAAU7rF,GAChB,OAApB76C,EAAM0mI,IAAiD,qBAApB1mI,EAAM0mI,IAC3C77H,GAAS,IAAD,OACF67H,EAAS,0BAAiB7rF,EAAc,mCAA0B4xS,IAEzE,2BALyD71B,EAArD,iCAAqDA,EAArD,kBAOL,OAAO/oD,EAAS7tQ,EAAO0mI,EAAU7rF,KAAkB+7Q,EACpD,CACF,CAGD,MAAMjqQ,GAA6B,kBAAX9zD,QAAuBA,OAAO8zD,SAAY,WAAY,EAEvE,SAAS+/R,GAAW1sV,EAAO0mI,EAAU7rF,GAC1C,KAAM76C,EAAM0mI,aAAqB/5E,IAC/B,OAAO,IAAIpwD,MACT,iBACEmqI,EACA,kBACA7rF,EACA,oEAGP,CAEM,MAAM8xS,GAAiB12D,GAAAA,UAAoB,CAChDA,GAAAA,OACAA,GAAAA,KACAy2D,GACAz2D,GAAAA,MAAgB,CAAE7lB,QAAS6lB,GAAAA,QAGhB22D,GAAc32D,GAAAA,UAAoB,CAC7CA,GAAAA,KACAA,GAAAA,OACAA,GAAAA,MAAgB,CAAEzT,SAAUyT,GAAAA,OAAkBtsB,OAAQssB,GAAAA,OACtDA,GAAAA,QAAkBA,GAAAA,UAAoB,CACpCA,GAAAA,KACAA,GAAAA,OACAA,GAAAA,MAAgB,CAAEzT,SAAUyT,GAAAA,OAAkBtsB,OAAQssB,GAAAA,YAO7C42D,GAAqB,CAChCC,KAAW,IACXC,SAAW,IACXC,MAAW,IACXC,SAAW,IACXC,UAAW,KAMAC,GAAyB,CACpC,KACA,eACA,gBACA,SACA,QACA,OACA,UACA,UACA,aACA,YACA,SACA,YACA,YAGWC,GAAqB,CAChCjF,SAAU,WACVC,QAAU,UACVC,QAAU,UACVH,OAAU,UAGCmF,GAAW,CACtBC,IAAO,GACPC,MAAO,GACP1E,MAAO,GACP2E,IAAO,EACP7hL,GAAO,GACP8hL,KAAO,GACPC,KAAO,GACPz6M,IAAO,GACP1lH,EAAO,GACP12B,EAAO,IAGI82V,GAAmB,CAC9B,aACA,OACA,WACA,YACA,MACA,UACA,cACA,QACA,YACA,aACA,SACA,eACA,WACA,OACA,cAGWC,KACO,qBAAX/0V,SACPA,OAAOojB,WACPpjB,OAAOojB,SAASC,eAGX,SAAS2xU,GAAcx5V,GAC5B,SAAIA,GAA4B,kBAAXA,IACZ,YAAaA,CAGvB,CAED,SAASy5V,GAAOz+V,GACd,OAAa,MAATA,OACmBS,IAAVT,EAAsB,qBAAuB,gBAEjDkC,OAAOiB,UAAU5C,SAASyI,KAAKhJ,EACzC,CAEM,SAASqB,GAASrB,GACvB,MAAMuU,SAAcvU,EAEpB,GAAa,WAATuU,EACF,OAAOvU,EAET,GAAa,WAATuU,GAA+B,WAATA,GAAuC,oBAAlBkqV,GAAOz+V,GACpD,OALU,IAOZ,GAAI0/R,GAAS1/R,GAAQ,CACnB,MAAMq0R,EAAiC,oBAAlBr0R,EAAM+zR,QAAyB/zR,EAAM+zR,UAAY/zR,EACtEA,EAAQ0/R,GAASrL,GAAT,UAAqBA,GAAUA,CACxC,CACD,GAAa,WAAT9/Q,EACF,OAAiB,IAAVvU,EAAcA,GAASA,EAEhCA,EAAQA,EAAMwL,QAAQ,aAAc,IACpC,MAAMkzV,EAAW,aAAa59V,KAAKd,GACnC,OAAQ0+V,GAAY,cAAc59V,KAAKd,GACnCY,SAASZ,EAAM2J,MAAM,GAAI+0V,EAAW,EAAI,GACvC,qBAAqB59V,KAAKd,GAlBnB,KAkBmCA,CAChD,CAEM,SAAS0/R,GAAS1/R,GACvB,MAAMuU,SAAcvU,EACpB,OAAgB,MAATA,IAA2B,WAATuU,GAA8B,aAATA,EAC/C,CAEM,SAASzL,GAAW9I,GACzB,IAAK0/R,GAAS1/R,GACZ,OAAO,EAGT,MAAMuqR,EAAMk0E,GAAOz+V,GACnB,MAAe,sBAARuqR,GAAuC,2BAARA,GAC5B,+BAARA,GAAgD,mBAARA,CAC3C,CAEM,SAASo0E,GAAgB35V,GAC9B,GAAIw5V,GAAcx5V,GAChB,OAAOA,EAAO+7Q,QAEhB,GAAIj4Q,GAAW9D,GACb,OAAOA,IAET,GAAsB,kBAAXA,GAAuBu5V,GAAW,CAC3C,IAAI/gP,EAAY5wF,SAASwxC,iBAAiBp5D,GAI1C,GAHKw4G,EAAUn9G,SACbm9G,EAAY5wF,SAASwxC,iBAAT,WAA8Bp5D,MAEvCw4G,EAAUn9G,OACb,MAAM,IAAI6M,MAAJ,sBACWlI,EAAO,8DAG1B,OAAOw4G,CACR,CACD,OAAOx4G,CACR,CAEM,SAAS45V,GAAkB3yE,GAChC,OAAY,OAARA,IAGGnoR,MAAMC,QAAQkoR,IAASsyE,IAAmC,kBAAftyE,EAAI5rR,OACvD,CAEM,SAASw+V,GAAU75V,EAAQ85V,GAChC,MAAM7yE,EAAM0yE,GAAgB35V,GAC5B,OAAI85V,EACEF,GAAkB3yE,GACbA,EAEG,OAARA,EACK,GAEF,CAACA,GAEJ2yE,GAAkB3yE,GACbA,EAAI,GAENA,CAEV,CAEM,MAAM8yE,GAAsB,CAAC,aAAc,SAE3C,SAASC,GAA0BC,EAAMrD,EAASsD,EAAS7pH,GAChE,IAAI42C,EAAMgzE,EACLL,GAAkB3yE,KACrBA,EAAM,CAACA,IAGT,IAAI96J,EAAS+tO,EAKb,GAJsB,kBAAX/tO,IACTA,EAASA,EAAO5qH,MAAM,SAIrBq4V,GAAkB3yE,IACA,oBAAZ2vE,IACN93V,MAAMC,QAAQotH,GAEf,MAAM,IAAIjkH,MAAJ,iOAYR,OALApJ,MAAMX,UAAUnB,QAAQgH,KAAKmoH,GAAQ98G,IACnCvQ,MAAMX,UAAUnB,QAAQgH,KAAKijR,GAAKt/P,IAChCA,EAAG7Y,iBAAiBO,EAAOunV,EAASvmH,EAApC,GADF,IAIK,WACLvxO,MAAMX,UAAUnB,QAAQgH,KAAKmoH,GAAQ98G,IACnCvQ,MAAMX,UAAUnB,QAAQgH,KAAKijR,GAAKt/P,IAChCA,EAAG1Y,oBAAoBI,EAAOunV,EAASvmH,EAAvC,GADF,GAIH,CACF,CAEM,MAAMlH,GAAoB,CAC/B,UACA,aACA,2CACA,yBACA,2BACA,yBACA,SACA,QACA,yBACA,kBACA,kBACA,qGC9WIswC,GAAY,CAChB8L,IAAKgzE,GACL4B,MAAOv4D,GAAAA,UAAoB,CAACA,GAAAA,KAAgBA,GAAAA,SAC5C/1N,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,QAOPw4D,GAAazuV,IACjB,MAAM,UACJkgE,EADI,UAEJgsR,EAFI,MAGJsC,EACA50E,IAAK80E,GAEH1uV,EADCjC,EALL,GAMIiC,EANJ,IAQA,IAAI2uV,EAAiB,aACP,IAAVH,EACFG,EAAiB,kBAEVH,IACPG,EAAiB,aAAH,OAAgBH,IAGhC,MAAM1xJ,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACAyuR,GACCzC,GAEH,OACEhtB,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqBmiE,UAAW48H,IADlC,EAKF2xJ,GAAU3gF,UAAYA,GACtB2gF,GAAU/gF,aAhCW,CACnBkM,IAAK,4ECPDg1E,GAAkB34D,GAAAA,UAAoB,CAACA,GAAAA,OAAkBA,GAAAA,SAEzDnoB,GAAY,CAChB8L,IAAKgzE,GACLiC,UAAWrC,GAAWv2D,GAAAA,KAAgB,oGACtC/1N,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,OACXw3B,KAAMx3B,GAAAA,KACN64D,GAAIF,GACJG,GAAIH,GACJhjD,GAAIgjD,GACJ50C,GAAI40C,GACJI,GAAIJ,GACJK,IAAKL,IAGDlhF,GAAe,CACnBkM,IAAK,MACLs1E,OAnBmB,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,QAsB9CC,GAAOnvV,IACX,MAAM,UACJkgE,EADI,UAEJgsR,EAFI,UAGJ2C,EACAj1E,IAAK80E,EAJD,KAKJjhC,EALI,OAMJyhC,GAEElvV,EADCjC,EAPL,GAQIiC,EARJ,IAUMovV,EAAa,GAEnBF,EAAO79V,SAAQ,CAAC4zI,EAAUtyI,KACxB,IAAI08V,EAAUrvV,EAAMilI,GAIpB,UAFOlnI,EAAWknI,IAEboqN,EACH,OAGF,MAAMC,GAAQ38V,EACdy8V,EAAW99V,KAAKg+V,EAAO,YAAH,OAAeD,GAAQ,mBAAgBpqN,EAAS,YAAGoqN,GAAvE,IAGF,MAAMvyJ,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACA2uR,EAAY,OAAS,KACrBphC,EAAO,WAAa,MACpB2hC,GACClD,GAEH,OACEhtB,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqBmiE,UAAW48H,IADlC,EAKFqyJ,GAAIrhF,UAAYA,GAChBqhF,GAAIzhF,aAAeA,GAEnB,OAAeyhF,qDC/DTI,GAAY,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,OAC3CC,GAAqBv5D,GAAAA,UAAoB,CAACA,GAAAA,OAAkBA,GAAAA,SAE5DlT,GAAckT,GAAAA,UAAoB,CACtCA,GAAAA,KACAA,GAAAA,OACAA,GAAAA,OACAA,GAAAA,MAAgB,CACd/yR,KAAM+yR,GAAAA,UAAoB,CAACA,GAAAA,KAAgBA,GAAAA,OAAkBA,GAAAA,SAC7DuH,MAAOgyD,GACP/hN,OAAQ+hN,OAIN1hF,GAAY,CAChB8L,IAAKgzE,GACLkC,GAAI/rE,GACJgsE,GAAIhsE,GACJ6oB,GAAI7oB,GACJi3B,GAAIj3B,GACJisE,GAAIjsE,GACJksE,IAAKlsE,GACL7iN,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,OACXi5D,OAAQj5D,GAAAA,OAGJvoB,GAAe,CACnBkM,IAAK,MACLs1E,OAAQK,IAGJE,GAAqBC,CAACJ,EAAMrqN,EAAUoqN,KAC1B,IAAZA,GAAgC,KAAZA,EACfC,EAAO,MAAH,cAAkBrqN,GACR,SAAZoqN,EACFC,EAAO,WAAH,cAAuBrqN,EAAS,SAGtCqqN,EAAO,OAAH,OAAUD,GAAQ,cAAWpqN,EAAS,YAAGoqN,GAIzCM,GAAmB,SAAC5xV,EAAYmuV,GAC3C,MAAMkD,EAAa,GA4BnB,OA7B4D,uDAACG,IAGtDl+V,SAAQ,CAAC4zI,EAAUtyI,KACxB,IAAIi9V,EAAa7xV,EAAWknI,GAI5B,UAFOlnI,EAAWknI,IAEb2qN,GAA6B,KAAfA,EACjB,OAGF,MAAMN,GAAQ38V,EAEd,GAAIo8R,GAAS6gE,GAAa,CACxB,MAAMC,EAAkBP,EAAO,IAAH,WAAarqN,EAAS,KAC5C6qN,EAAWL,GAAmBH,EAAMrqN,EAAU2qN,EAAW1sV,MAE/DksV,EAAW99V,KAAK26V,GAAgB5kI,GAAW,CACzC,CAACyoI,GAAWF,EAAW1sV,MAA4B,KAApB0sV,EAAW1sV,KAC1C,CAAC,QAAD,OAAS2sV,GAAgB,OAAED,EAAWpyD,QAAUoyD,EAAWpyD,OAA8B,IAArBoyD,EAAWpyD,MAC/E,CAAC,SAAD,OAAUqyD,GAAgB,OAAED,EAAWniN,SAAWmiN,EAAWniN,QAAgC,IAAtBmiN,EAAWniN,SAChFy+M,GACL,KAAM,CACL,MAAM4D,EAAWL,GAAmBH,EAAMrqN,EAAU2qN,GACpDR,EAAW99V,KAAKw+V,EACjB,KAGI,CACLV,aACArxV,aAEH,EAGKgyV,GAAO/vV,IACX,MAAM,UACJkgE,EADI,UAEJgsR,EAFI,OAGJgD,EACAt1E,IAAK80E,GAEH1uV,EADCjC,EALL,GAMIiC,EANJ,IAQA,IAAMjC,WAAaiyV,EAAf,WAAmCZ,GAAeO,GAAiB5xV,EAAYmuV,EAAWgD,GAEzFE,EAAW1/V,QACd0/V,EAAW99V,KAAK,OAGlB,MAAMwrM,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACAkvR,GACClD,GAEH,OACEhtB,EAAAA,cAACwvB,EAAD,MAASsB,EAAT,CAA6B9vR,UAAW48H,IAD1C,EAKFizJ,GAAIjiF,UAAYA,GAChBiiF,GAAIriF,aAAeA,GAEnB,OAAeqiF,oHC3GTjiF,GAAY,CAChBmiF,MAAOh6D,GAAAA,KACPi6D,KAAMj6D,GAAAA,KACNk6D,KAAMl6D,GAAAA,KACNm6D,MAAOn6D,GAAAA,OACPo6D,OAAQp6D,GAAAA,OACR/mE,MAAO+mE,GAAAA,OACPpgO,KAAMogO,GAAAA,OACNrc,IAAKgzE,GACLr4S,UAAW0hP,GAAAA,UAAoB,CAACA,GAAAA,KAAgBA,GAAAA,SAChD/1N,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,OACXrkC,OAAQqkC,GAAAA,UAAoB,CAACA,GAAAA,KAAgBA,GAAAA,SAC7Cj/Q,SAAUi/Q,GAAAA,MAmBNq6D,GAAUtwV,IACd,MAAM,OACJ4xP,EADI,UAEJ1xL,EAFI,UAGJgsR,EAHI,MAIJ+D,EAJI,KAKJC,EALI,MAMJE,EANI,OAOJC,EAPI,MAQJnhI,EARI,UASJ36K,EACAqlO,IAAK80E,EAVD,SAWJ13U,GAEEhX,EADCjC,EAZL,GAaIiC,EAbJ,IAeM88L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACA,SA5BoB0xL,KACP,IAAXA,KAEkB,IAAXA,GAA8B,OAAXA,EACrB,gBAGF,iBAAP,OAAwBA,IAsBtB2+F,CAAe3+F,GACf,CACE,eAAgBq+F,EAChB,cAAeC,EACf,CAAC,MAAD,OAAOhhI,IAAUA,EACjB,CAAC,SAAD,OAAUkhI,IAAUA,EACpB,CAAC,UAAD,OAAWC,IAAWA,IAEvBnE,GAEGyC,EAAiBp6S,IAA4B,IAAdA,EAAsB,YAApC,oBAA+DA,GAEtF,OACE2qR,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqBmiE,UAAW48H,IAC5BvoJ,EACA2qR,EAAAA,cAAAA,MAAAA,CAAKh/P,UAAWyuR,GACb33U,GAEHA,EANN,EAYFs5U,GAAOxiF,UAAYA,GACnBwiF,GAAO5iF,aA5Dc,CACnBkM,IAAK,MACLhoB,QAAQ,EACRr9M,UAAW,SA2Db,OAAe+7S,4CC9ETxiF,GAAY,CAChB8L,IAAKgzE,GACL1sR,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,QAOPu6D,GAAexwV,IACnB,MAAM,UACJkgE,EADI,UAEJgsR,EACAtyE,IAAK80E,GAEH1uV,EADCjC,EAJL,GAKIiC,EALJ,IAOM88L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACA,gBACCgsR,GAEH,OACEhtB,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqBmiE,UAAW48H,IADlC,EAKF0zJ,GAAY1iF,UAAYA,GACxB0iF,GAAY9iF,aAvBS,CACnBkM,IAAK,uDCPD9L,GAAY,CAChB8L,IAAKgzE,GACL1sR,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,QAOPw6D,GAAczwV,IAClB,MAAM,UACJkgE,EADI,UAEJgsR,EAFI,OAGJ18U,EACAoqQ,IAAK80E,GAEH1uV,EADCjC,EALL,GAMIiC,EANJ,IAQM88L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACA,eACCgsR,GAEH,OACEhtB,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqBmiE,UAAW48H,IADlC,EAKF2zJ,GAAW3iF,UAAYA,GACvB2iF,GAAW/iF,aAxBU,CACnBkM,IAAK,4DCPD9L,GAAY,CAChB8L,IAAKgzE,GACLhpV,KAAMqyR,GAAAA,OACN/1N,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,OACXj/Q,SAAUi/Q,GAAAA,MAQNy6D,GAAiB1wV,IACrB,MAAM,UACJkgE,EADI,UAEJgsR,EAFI,SAGJl1U,EACA4iQ,IAAK80E,GAEH1uV,EADCjC,EALL,GAMIiC,EANJ,IAQM88L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACA,kBACCgsR,GAEH,OACEhtB,EAAAA,cAACwvB,EAAD,IAAK,aAAW,qBAAwB3wV,EAAxC,CAAoDmiE,UAAW48H,IAC5D9lL,GAAYkoT,EAAAA,cAAAA,OAAAA,CAAMh/P,UAAW+rR,GAAgB,sBAAuBC,KAFzE,EAOFwE,GAAc5iF,UAAYA,GAC1B4iF,GAAchjF,aA3BO,CACnBkM,IAAK,SACLh2Q,KAAM,UA2BR,OAAe8sV,sHCrCT5iF,GAAY,CAChB6iF,KAAM16D,GAAAA,KACN26D,MAAO36D,GAAAA,KACPxiF,SAAUwiF,GAAAA,UAAoB,CAACA,GAAAA,KAAgBA,GAAAA,SAC/C72D,WAAY62D,GAAAA,OACZ46D,UAAW56D,GAAAA,KACX66D,KAAM76D,GAAAA,KACN86D,OAAQ96D,GAAAA,KACR+6D,KAAM/6D,GAAAA,KACNrc,IAAKgzE,GACL1sR,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,QAkBPg7D,GAAOjxV,IACX,MAAM,UACJkgE,EADI,UAEJgsR,EAFI,KAGJyE,EAHI,MAIJC,EAJI,SAKJn9I,EALI,WAMJ2rB,EANI,UAOJyxH,EAPI,KAQJC,EARI,OASJC,EATI,KAUJC,EACAp3E,IAAK80E,GAEH1uV,EADCjC,EAZL,GAaIiC,EAbJ,IAeM88L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACA6wR,EAAS,aAAe,QACxB3xH,GAAa,mBAAH,OAAsBA,GA7BV3rB,KACP,IAAbA,KAEoB,IAAbA,GAAkC,OAAbA,EACvB,cAGF,QAAP,OAAeA,EAAS,YAuBtBy9I,CAAiBz9I,GACjB,CACE,WAAYk9I,EACZ,mBAAoBK,GAAQL,EAC5B,YAAaC,EACb,oBAAqBI,GAAQJ,EAC7B,gBAAiBC,EACjB,WAAYC,IAEb5E,GAEH,OACEhtB,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqBmiE,UAAW48H,IADlC,EAKFm0J,GAAInjF,UAAYA,GAChBmjF,GAAIvjF,aApDiB,CACnBkM,IAAK,KACLnmE,UAAU,GAoDZ,OAAew9I,qDCpETnjF,GAAY,CAChB8L,IAAKgzE,GACLp9U,OAAQymR,GAAAA,KACR/1N,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,QAOPk7D,GAAWnxV,IACf,MAAM,UACJkgE,EADI,UAEJgsR,EAFI,OAGJ18U,EACAoqQ,IAAK80E,GAEH1uV,EADCjC,EALL,GAMIiC,EANJ,IAQM88L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACA,aACA1wD,GAAS,UACR08U,GAEH,OACEhtB,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqBmiE,UAAW48H,IADlC,EAKFq0J,GAAQrjF,UAAYA,GACpBqjF,GAAQzjF,aAzBa,CACnBkM,IAAK,MA0BP,OAAeu3E,gEClCTrjF,GAAY,CAChB8L,IAAKgzE,GACLjG,SAAU1wD,GAAAA,UAAoB,CAACA,GAAAA,OAAkBA,GAAAA,KAAgBA,GAAAA,SACjE5oO,SAAU4oO,GAAAA,KACVzmR,OAAQymR,GAAAA,KACR/1N,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,OACXyvB,QAASzvB,GAAAA,KACTrF,KAAMqF,GAAAA,KAOR,MAAMm7D,WAAgBlyB,EAAAA,UACpBlrU,WAAAA,CAAYgM,GACVqxV,MAAMrxV,GAEN1N,KAAKozT,QAAUpzT,KAAKozT,QAAQ7oT,KAAKvK,KAClC,CAEDozT,OAAAA,CAAQ30T,GACFuB,KAAK0N,MAAMqtD,SACbt8D,EAAE8jF,kBAIoB,MAApBviF,KAAK0N,MAAM4wR,MACb7/R,EAAE8jF,iBAGAviF,KAAK0N,MAAM0lT,SACbpzT,KAAK0N,MAAM0lT,QAAQ30T,GAEtB,CAED44Q,MAAAA,GACE,IAAI,EAOAr3Q,KAAK0N,OAPL,UACFkgE,EADE,UAEFgsR,EAFE,OAGF18U,EACAoqQ,IAAK80E,EAJH,SAKF/H,GALF,EAMK5oV,EANL,SASA,MAAM++L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACA,WACA,CACE7S,SAAUtvD,EAAWsvD,SACrB79C,OAAQA,IAET08U,GAEH,OACEhtB,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqBm+D,IAAKyqR,EAAUjhC,QAASpzT,KAAKozT,QAASxlP,UAAW48H,IAEzE,EAGHs0J,GAAQtjF,UAAYA,GACpBsjF,GAAQ1jF,aApDa,CACnBkM,IAAK,gGCZD9L,GAAY,CAChB8L,IAAKgzE,GACL0E,QAAS1E,GACT1sR,UAAW+1N,GAAAA,OACXs7D,cAAet7D,GAAAA,OACfi2D,UAAWj2D,GAAAA,OACXj/Q,SAAUi/Q,GAAAA,KACV,aAAcA,GAAAA,QASVu7D,GAAcxxV,IAClB,MAAM,UACJkgE,EADI,cAEJqxR,EAFI,UAGJrF,EAHI,SAIJl1U,EACA4iQ,IAAK80E,EACL4C,QAASG,EACT,aAAcv7R,GAEZl2D,EADCjC,EARL,GASIiC,EATJ,IAWM88L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,GACCgsR,GAEGwF,EAAczF,GAAgB5kI,GAClC,aACAkqI,GACCrF,GAEH,OACEhtB,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqBmiE,UAAW48H,EAAS,aAAY5mI,IACnDgpQ,EAAAA,cAACuyB,EAAD,CAASvxR,UAAWwxR,GACjB16U,GAHP,EASFw6U,GAAW1jF,UAAYA,GACvB0jF,GAAW9jF,aArCU,CACnBkM,IAAK,MACL03E,QAAS,KACT,aAAc,gECbVxjF,GAAY,CAChB8L,IAAKgzE,GACLp9U,OAAQymR,GAAAA,KACR/1N,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,QAOP07D,GAAkB3xV,IACtB,MAAM,UACJkgE,EADI,UAEJgsR,EAFI,OAGJ18U,EACAoqQ,IAAK80E,GAEH1uV,EADCjC,EALL,GAMIiC,EANJ,IAOM88L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,IACA1wD,GAAS,SACT,mBACC08U,GAEH,OACEhtB,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqBmiE,UAAW48H,EAAS,eAActtL,EAAS,YAAS1f,IAD3E,EAKF6hW,GAAe7jF,UAAYA,GAC3B6jF,GAAejkF,aAxBM,CACnBkM,IAAK,yHCRD9L,GAAY,CAChBt+P,OAAQymR,GAAAA,KACR,aAAcA,GAAAA,OACdhzE,MAAOgzE,GAAAA,KACP/mE,MAAO+mE,GAAAA,OACP5oO,SAAU4oO,GAAAA,KACV27D,QAAS37D,GAAAA,KACTrc,IAAKgzE,GACLjG,SAAU1wD,GAAAA,UAAoB,CAACA,GAAAA,OAAkBA,GAAAA,KAAgBA,GAAAA,SACjEyvB,QAASzvB,GAAAA,KACT/yR,KAAM+yR,GAAAA,OACNj/Q,SAAUi/Q,GAAAA,KACV/1N,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,OACXl4N,MAAOk4N,GAAAA,MAQT,MAAM47D,WAAe3yB,EAAAA,UACnBlrU,WAAAA,CAAYgM,GACVqxV,MAAMrxV,GAEN1N,KAAKozT,QAAUpzT,KAAKozT,QAAQ7oT,KAAKvK,KAClC,CAEDozT,OAAAA,CAAQ30T,GACN,IAAIuB,KAAK0N,MAAMqtD,SAKf,OAAI/6D,KAAK0N,MAAM0lT,QACNpzT,KAAK0N,MAAM0lT,QAAQ30T,QAD5B,EAJEA,EAAE8jF,gBAOL,CAED80L,MAAAA,GACE,IAAI,EAaAr3Q,KAAK0N,OAbL,OACFwP,EACA,aAAcw5D,EAFZ,MAGFi6I,EAHE,UAIF/iJ,EAJE,MAKFnC,EALE,UAMFmuR,EANE,MAOFh9H,EAPE,QAQF0iI,EARE,KASF1uV,EACA02Q,IAAK80E,EAVH,SAWF/H,GAXF,EAYK5oV,EAZL,SAeA,MAAM+zV,EAAkB,MAAH,OAASF,EAAU,WAAa,GAAG,YAAG1iI,GAErDpyB,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACAnC,GAAS,YACTA,GAAS,MACTA,GAAS+zR,IACT5uV,GAAO,OAAH,OAAUA,KACd+/M,GAAQ,gBACR,CAAEzzM,SAAQ69C,SAAU/6D,KAAK0N,MAAMqtD,WAC9B6+R,GAECnuV,EAAW6yR,MAAgB,WAAR89D,IACrBA,EAAM,KAGR,MAAMqD,EAAmBh0R,EAAQ,QAAU,KAE3C,OACEmhQ,EAAAA,cAACwvB,EAAD,IACE9qV,KAAe,WAAR8qV,GAAoB3wV,EAAW2nT,QAAW,cAAW51T,GACxDiO,EAFN,CAGEmiE,UAAW48H,EACX5gI,IAAKyqR,EACLjhC,QAASpzT,KAAKozT,QACd,aAAY18O,GAAa+oR,IAG9B,EAGHF,GAAO/jF,UAAYA,GACnB+jF,GAAOnkF,aAvEc,CACnBx+C,MAAO,YACP0qD,IAAK,UAuEP,OAAei4E,0BCzFT/jF,GAAY,CAChB43C,QAASzvB,GAAAA,KACT+7D,OAAQ/7D,GAAAA,KACR1gE,QAAS0gE,GAAAA,KACTh/R,aAAcg/R,GAAAA,MAOhB,MAAMg8D,WAAqB/yB,EAAAA,UACzBlrU,WAAAA,CAAYgM,GACVqxV,MAAMrxV,GAEN1N,KAAK6wC,MAAQ,CACX+uT,QAASlyV,EAAM/I,aACf29E,OAAO,GAGTtiF,KAAK0/V,OAAS1/V,KAAK0/V,OAAOn1V,KAAKvK,MAC/BA,KAAKijO,QAAUjjO,KAAKijO,QAAQ14N,KAAKvK,MACjCA,KAAKozT,QAAUpzT,KAAKozT,QAAQ7oT,KAAKvK,KAClC,CAED0/V,MAAAA,CAAOjhW,GACFuB,KAAK0N,MAAMgyV,QACZ1/V,KAAK0N,MAAMgyV,OAAOjhW,GAGpBuB,KAAKqV,SAAS,CACZitE,OAAO,GAEV,CAED2gJ,OAAAA,CAAQxkO,GACHuB,KAAK0N,MAAMu1N,SACZjjO,KAAK0N,MAAMu1N,QAAQxkO,GAGrBuB,KAAKqV,SAAS,CACZitE,OAAO,GAEV,CAED8wO,OAAAA,CAAQ30T,GACHuB,KAAK0N,MAAM0lT,SACZpzT,KAAK0N,MAAM0lT,QAAQ30T,GAGrBuB,KAAKqV,UAAS0tT,IAAA,IAAC,QAAE68B,GAAH,QAAkB,CAC9BA,SAAUA,EADE,GAGf,CAEDvoF,MAAAA,GACE,MAAM,EAGFr3Q,KAAK0N,OAHH,UACJkgE,GADF,EAEKniE,EAFL,SAKM++L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACA,CACE0U,MAAOtiF,KAAK6wC,MAAMyxC,QAEjBtiF,KAAK0N,MAAMksV,WAEhB,OAAOhtB,EAAAA,cAAC2yB,GAAD,IACLriV,OAAQld,KAAK6wC,MAAM+uT,QACnBF,OAAQ1/V,KAAK0/V,OACbz8H,QAASjjO,KAAKijO,QACdmwF,QAASpzT,KAAKozT,QACdxlP,UAAW48H,GACP/+L,GAEP,EAGHk0V,GAAankF,UAAYA,GACzBmkF,GAAavkF,aAzEQ,CACnBz2Q,cAAc,SCFHk7V,GAAkBjzB,EAAAA,cAAoB,CAAC,yHCF9CpxD,GAAY,CAChBskF,KAAMn8D,GAAAA,KACN5oO,SAAU4oO,GAAAA,KACV/0P,UAAW+0P,GAAAA,MAAgB,CAAC,KAAM,OAAQ,QAAS,MAAO,OAAQ,UAClE1pR,MAAO0pR,GAAAA,KACPo8D,OAAQp8D,GAAAA,KACRq8D,IAAKr8D,GAAAA,KACLzmR,OAAQymR,GAAAA,KACR/yR,KAAM+yR,GAAAA,OACNrc,IAAKgzE,GACLz/R,OAAQ8oO,GAAAA,KACRj/Q,SAAUi/Q,GAAAA,KACV/1N,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,OACXs8D,SAAUt8D,GAAAA,KACVu8D,mBAAoBv8D,GAAAA,KACpBw8D,SAAUx8D,GAAAA,MAAgB,CAAC,UAAW,UAalCy8D,GAAqB,CACzBrF,GAASE,MACTF,GAASxE,MACTwE,GAAS1hL,GACT0hL,GAASI,KACTJ,GAASp6M,IACTo6M,GAASK,MAGX,MAAMiF,WAAiBzzB,EAAAA,UACrBlrU,WAAAA,CAAYgM,GACVqxV,MAAMrxV,GAEN1N,KAAKsgW,UAAYtgW,KAAKsgW,UAAU/1V,KAAKvK,MACrCA,KAAKugW,oBAAsBvgW,KAAKugW,oBAAoBh2V,KAAKvK,MACzDA,KAAK4iF,cAAgB5iF,KAAK4iF,cAAcr4E,KAAKvK,MAC7CA,KAAKwgW,aAAexgW,KAAKwgW,aAAaj2V,KAAKvK,MAC3CA,KAAK66D,OAAS76D,KAAK66D,OAAOtwD,KAAKvK,MAC/BA,KAAKygW,cAAgBzgW,KAAKygW,cAAcl2V,KAAKvK,MAE7CA,KAAK0gW,aAAe9zB,EAAAA,YACpB5sU,KAAK2gW,QAAU/zB,EAAAA,WAChB,CAED6zB,aAAAA,CAAcE,GACZ3gW,KAAK2gW,QAAQ7iF,QAAU6iF,CACxB,CAEDC,eAAAA,GACE,MAAO,CACL/lS,OAAQ76D,KAAK66D,OACbklS,OAAQ//V,KAAK0N,MAAMqyV,OACnBnxT,UAAqC,SAAzB5uC,KAAK0N,MAAMkhC,WAAwB5uC,KAAK0N,MAAMmzV,OAAU,KAAO7gW,KAAK0N,MAAMkhC,UACtFqxT,SAAUjgW,KAAK0N,MAAMuyV,SACrBllS,SAAU/6D,KAAK0N,MAAMqtD,SAGrB+lS,UAAW9gW,KAAKygW,cAChBN,SAAUngW,KAAK0N,MAAMyyV,SAExB,CAEDvnF,iBAAAA,GACE54Q,KAAK+gW,aACN,CAEDhnF,kBAAAA,CAAmBC,GACbh6Q,KAAK0N,MAAMqyV,SAAW/lF,EAAU+lF,QAClC//V,KAAK+gW,aAER,CAEDpmF,oBAAAA,GACE36Q,KAAKwgW,cACN,CAED9rP,YAAAA,GACE,OAAO10G,KAAK0gW,aAAa5iF,OAC1B,CAEDkjF,OAAAA,GACE,OAAOhhW,KAAK2gW,QAAQ7iF,OACrB,CAEDmjF,WAAAA,GACE,OAAIjhW,KAAKkhW,aACTlhW,KAAKkhW,WAAalhW,KAAK00G,eAAen0C,cAAc,oBADxBvgE,KAAKkhW,UAGlC,CAEDC,WAAAA,GACE,MAA6B,YAA1BnhW,KAAKiH,QAAQk5V,SACP,SAEF,UACR,CAEDiB,YAAAA,GAIE,MAAMC,EAAgBrhW,KAAKghW,WAAahhW,KAAK00G,eAC7C,MAAO,GAAGhuG,MAAMX,KAAKs7V,EAAclmS,iBAAd,iBAAyCn7D,KAAKmhW,cAAc,OAClF,CAEDb,SAAAA,GACE,CAAC,QAAS,aAAc,SAASvhW,SAAQqS,GACvCuY,SAAS9Y,iBAAiBO,EAAOpR,KAAKugW,qBAAqB,IAE9D,CAEDC,YAAAA,GACE,CAAC,QAAS,aAAc,SAASzhW,SAAQqS,GACvCuY,SAAS3Y,oBAAoBI,EAAOpR,KAAKugW,qBAAqB,IAEjE,CAEDA,mBAAAA,CAAoB9hW,GAClB,GAAIA,IAAkB,IAAZA,EAAEu+S,OAA2B,UAAXv+S,EAAE6S,MAAoB7S,EAAEu+S,QAAU+9C,GAASG,KAAO,OAC9E,MAAMj5S,EAAYjiD,KAAK00G,eACjBzoC,EAAOjsE,KAAKghW,UACZM,EAAqBr/S,EAAUsZ,SAAS98D,EAAEsD,SAAWkgD,IAAcxjD,EAAEsD,OACrEw/V,EAAiBt/S,EAAU2Y,UAAUW,SAAS,gBAAkBtZ,EAAU2Y,UAAUW,SAAS,aAAoC,UAArB98D,EAAEsD,OAAOitH,QACrHwyO,EAAgBv1R,GAAQA,EAAK1Q,SAAS98D,EAAEsD,SAAWkqE,IAASxtE,EAAEsD,UAC9Du/V,IAAuBC,GAAmBC,IAA8B,UAAX/iW,EAAE6S,MAAoB7S,EAAEu+S,QAAU+9C,GAASG,MAI9Gl7V,KAAK66D,OAAOp8D,EACb,CAEDmkF,aAAAA,CAAcnkF,GACZ,MAAMgjW,EAAqD,aAAlChjW,EAAEsD,OAAOi2D,aAAa,SAA4D,WAAlCv5D,EAAEsD,OAAOi2D,aAAa,QACzF0pS,EAAmB1hW,KAAKihW,gBAAkBxiW,EAAEsD,OAC5C4/V,EAAQ5G,GAASG,MAAQz8V,EAAEu+S,MAEjC,KACE,kBAAkBn/S,KAAKY,EAAEsD,OAAOitH,UAC5B2yO,IAAU3hW,KAAK0N,MAAMoyV,MACrB6B,IAAWF,IAAoBC,OAKQ,IAAzCtB,GAAmB7+V,QAAQ9C,EAAEu+S,QAAmBv+S,EAAEu+S,OAAS,IAAQv+S,EAAEu+S,OAAS,KAChFv+S,EAAE8jF,kBAGAviF,KAAK0N,MAAMqtD,WAEX2mS,IACE,CAAC3G,GAASE,MAAOF,GAASxE,MAAOwE,GAAS1hL,GAAI0hL,GAASI,MAAM55V,QAAQ9C,EAAEu+S,QAAU,GAE9Eh9S,KAAK0N,MAAMqyV,QACd//V,KAAK66D,OAAOp8D,GAEd+H,YAAW,IAAMxG,KAAKohW,eAAe,GAAG9+Q,WAC/BtiF,KAAK0N,MAAMqyV,QAAU4B,GAI9BljW,EAAE8jF,iBACFviF,KAAKohW,eAAe,GAAG9+Q,SACdtiF,KAAK0N,MAAMqyV,QAAUthW,EAAEu+S,QAAU+9C,GAASC,KACnDh7V,KAAK66D,OAAOp8D,IAIZuB,KAAK0N,MAAMqyV,QAAU0B,IACvB,GAAI,CAAC1G,GAASG,IAAKH,GAASC,KAAKz5V,QAAQ9C,EAAEu+S,QAAU,EACnDh9S,KAAK66D,OAAOp8D,GACZuB,KAAKihW,cAAc3+Q,aACd,GAAI,CAACy4Q,GAASE,MAAOF,GAASxE,OAAOh1V,QAAQ9C,EAAEu+S,QAAU,EAC9Dv+S,EAAEsD,OAAO4sO,QACT3uO,KAAKihW,cAAc3+Q,aACd,GACL,CAACy4Q,GAASI,KAAMJ,GAAS1hL,IAAI93K,QAAQ9C,EAAEu+S,QAAU,GAC7C,CAAC+9C,GAAS9/T,EAAG8/T,GAASx2V,GAAGhD,QAAQ9C,EAAEu+S,QAAU,GAAKv+S,EAAEkwE,QACxD,CACA,MAAMizR,EAAa5hW,KAAKohW,eACxB,IAAIrgW,EAAQ6gW,EAAWrgW,QAAQ9C,EAAEsD,QAC7Bg5V,GAAS1hL,KAAO56K,EAAEu+S,OAAU+9C,GAASx2V,IAAM9F,EAAEu+S,OAASv+S,EAAEkwE,QAC1D5tE,EAAkB,IAAVA,EAAcA,EAAQ,EAAI6gW,EAAWxkW,OAAS,GAC7C29V,GAASI,OAAS18V,EAAEu+S,OAAU+9C,GAAS9/T,IAAMx8B,EAAEu+S,OAASv+S,EAAEkwE,WACnE5tE,EAAQA,IAAU6gW,EAAWxkW,OAAS,EAAI,EAAI2D,EAAQ,GAExD6gW,EAAW7gW,GAAOuhF,OACnB,MAAM,GAAIy4Q,GAASp6M,MAAQliJ,EAAEu+S,MAAO,CACnC,MAAM4kD,EAAa5hW,KAAKohW,eACxBQ,EAAWA,EAAWxkW,OAAS,GAAGklF,OACnC,MAAM,GAAIy4Q,GAASK,OAAS38V,EAAEu+S,MAAO,CACjBh9S,KAAKohW,eACb,GAAG9+Q,OACf,MAAM,GAAK7jF,EAAEu+S,OAAS,IAAQv+S,EAAEu+S,OAAS,GAAK,CAC7C,MAAM4kD,EAAa5hW,KAAKohW,eAClBS,EAAc9oU,OAAOC,aAAav6B,EAAEu+S,OAAOhlR,cACjD,IAAK,IAAI33B,EAAI,EAAGA,EAAIuhW,EAAWxkW,OAAQiD,GAAK,EAAG,CAE7C,IADoBuhW,EAAWvhW,GAAGmwS,aAAeoxD,EAAWvhW,GAAGmwS,YAAY,GAAGx4Q,iBAC1D6pU,EAAa,CAC/BD,EAAWvhW,GAAGiiF,QACd,KACD,CACF,CACF,CAEJ,CAEDy+Q,WAAAA,GACM/gW,KAAK0N,MAAMqyV,OACb//V,KAAKsgW,YAELtgW,KAAKwgW,cAER,CAED3lS,MAAAA,CAAOp8D,GACL,OAAIuB,KAAK0N,MAAMqtD,SACNt8D,GAAKA,EAAE8jF,iBAGTviF,KAAK0N,MAAMmtD,OAAOp8D,EAC1B,CAED44Q,MAAAA,GACE,MAAM,EAaFwiF,GAAK75V,KAAK0N,MAAO,CAAC,SAAU,WAAY,WAAY,UAblD,UACJkgE,EADI,UAEJgsR,EAFI,UAGJhrT,EAHI,OAIJmxT,EAJI,MAKJ9lV,EALI,KAMJrJ,EANI,IAOJovV,EAPI,mBAQJE,EARI,OASJhjV,EATI,IAUJoqQ,EAVI,SAWJ64E,GAXF,EAYK2B,EAZL,SAeM1F,EAAM90E,IAAQ04E,EAAM,KAAO,OAEjC,IAAI+B,GAAkB,EAClB7B,GACFtzB,EAAAA,SAAejjU,IAAI3J,KAAK0N,MAAMgX,SAAS,GAAGhX,MAAMgX,UAC7Cs9U,IACKA,GAAgBA,EAAat0V,MAAMwP,SAAQ6kV,GAAkB,EAAlB,IAKrD,MAAMv3J,EAAUmvJ,GAAgB5kI,GAC9BnnJ,KACAoyR,IAAO9iV,IAAS,YAChBgjV,IAAsB6B,IAAkB,SACxC,CACE,YAAa9nV,EACb,CAAC,aAAD,OAAcrJ,MAAWA,EACzBqxV,UAAWhoV,EACX4mV,OAAsB,OAAdjyT,EACRszT,UAAyB,UAAdtzT,GAAuC,SAAdA,EACpCuzT,QAAuB,QAAdvzT,GAAqC,UAAdA,EAChC06G,KAAMy2M,EACN,WAAYC,IAEbpG,GAEH,OACEhtB,EAAAA,cAACizB,GAAgB11E,SAAjB,CAA0BptR,MAAOiD,KAAK4gW,mBACpCh0B,EAAAA,cAACqV,GAAD,KACErV,EAAAA,cAACwvB,EAAD,MACM0F,EADN,CAEQ,CAAgB,kBAAR1F,EAAmB,MAAQ,YAAap8V,KAAK0gW,aAC3D3rR,UAAW/0E,KAAK4iF,cAChBhV,UAAW48H,MAKpB,EAGH61J,GAAS7kF,UAAYA,GACrB6kF,GAASjlF,aAhRY,CACnB0kF,MAAM,EACNC,QAAQ,EACRnxT,UAAW,OACXoxT,KAAK,EACL9iV,QAAQ,EACR+iV,UAAU,EACVC,oBAAoB,GA2QtB,OAAeG,GC3Sf,MAAM7kF,GAAY,CAChB92P,SAAUi/Q,GAAAA,MAGNy+D,GAAkB10V,GAEpBk/T,EAAAA,cAACyzB,GAAD,IAAUpmV,OAAK,GAAKvM,IAIxB00V,GAAe5mF,UAAYA,GAE3B,OAAe4mF,8DCXT5mF,GAAY,CAChB8L,IAAKgzE,GACL,aAAc32D,GAAAA,OACd/1N,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,OACXpgO,KAAMogO,GAAAA,OACN/yR,KAAM+yR,GAAAA,OACNxiF,SAAUwiF,GAAAA,MAQN0+D,GAAe30V,IACnB,MAAM,UACJkgE,EADI,UAEJgsR,EAFI,KAGJhpV,EAHI,SAIJuwM,EACAmmE,IAAK80E,GAEH1uV,EADCjC,EANL,GAOIiC,EAPJ,IASM88L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,IACAh9D,GAAO,aAAeA,EACtBuwM,EAAW,qBAAuB,aACjCy4I,GAEH,OACEhtB,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqBmiE,UAAW48H,IADlC,EAKF63J,GAAY7mF,UAAYA,GACxB6mF,GAAYjnF,aA3BS,CACnBkM,IAAK,MACL/jN,KAAM,kDCZFi4M,GAAY,CAChB8L,IAAKgzE,GACL,aAAc32D,GAAAA,OACd/1N,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,OACXpgO,KAAMogO,GAAAA,QAQF2+D,GAAiB50V,IACrB,MAAM,UACJkgE,EADI,UAEJgsR,EACAtyE,IAAK80E,GAEH1uV,EADCjC,EAJL,GAKIiC,EALJ,IAOM88L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACA,eACCgsR,GAEH,OACEhtB,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqBmiE,UAAW48H,IADlC,EAKF83J,GAAc9mF,UAAYA,GAC1B8mF,GAAclnF,aAxBO,CACnBkM,IAAK,MACL/jN,KAAM,uFCTFi4M,GAAY,CAChB92P,SAAUi/Q,GAAAA,KACVzmR,OAAQymR,GAAAA,KACR5oO,SAAU4oO,GAAAA,KACV4+D,QAAS5+D,GAAAA,KACTrc,IAAKgzE,GACLjsF,OAAQs1B,GAAAA,KACRyvB,QAASzvB,GAAAA,KACT/1N,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,OACX9oO,OAAQ8oO,GAAAA,KACRr6N,KAAMq6N,GAAAA,MAQR,MAAM6+D,WAAqB51B,EAAAA,UACzBlrU,WAAAA,CAAYgM,GACVqxV,MAAMrxV,GAEN1N,KAAKozT,QAAUpzT,KAAKozT,QAAQ7oT,KAAKvK,MACjCA,KAAK63D,YAAc73D,KAAK63D,YAAYttD,KAAKvK,KAC1C,CAEDyiW,OAAAA,GACE,MAA6B,YAA1BziW,KAAKiH,QAAQk5V,SACP,SAEF,UACR,CAED/sC,OAAAA,CAAQ30T,GACN,MAAM,SAAEs8D,EAAF,OAAYszM,EAAZ,QAAoBk0F,EAApB,KAA6Bj5R,GAAStpE,KAAK0N,MAC7CqtD,GAAYszM,GAAUk0F,GAAWj5R,EACnC7qE,EAAE8jF,kBAIAviF,KAAK0N,MAAM0lT,SACbpzT,KAAK0N,MAAM0lT,QAAQ30T,GAGjBuB,KAAK0N,MAAMmtD,QACb76D,KAAKiH,QAAQ4zD,OAAOp8D,GAEvB,CAEDo5D,WAAAA,GACE,MAAM,SAAEkD,EAAF,OAAYszM,EAAZ,QAAoBk0F,EAApB,KAA6Bj5R,GAAStpE,KAAK0N,MACjD,OAAIqtD,GAAYszM,GAAUk0F,GAAWj5R,EAC5B,KAGF,GACR,CAED+tM,MAAAA,GACE,MAAMt/M,EAAW/3D,KAAK63D,cAChB0L,EAAOxL,GAAY,EAAI/3D,KAAKyiW,eAAYjlW,EAC9C,IAAI,EAQWq8V,GAAK75V,KAAK0N,MAAO,CAAC,YAR7B,UACFkgE,EADE,UAEFgsR,EAFE,QAGF2I,EACAj7E,IAAK80E,EAJH,OAKF/tF,EALE,OAMFnxP,EANE,KAOFosD,GAPF,EAQK57D,EARL,SAUA,MAAM88L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACA,CACE7S,SAAUrtD,EAAMqtD,SAChB,iBAAkBwnS,IAAYl0F,IAAW/kM,EACzCpsD,OAAQA,EACR,kBAAmBmxP,EACnB,mBAAoBk0F,EACpB,qBAAsBj5R,IAEvBswR,GAcH,MAZY,WAARwC,IACE/tF,EACF+tF,EAAM,KACGmG,EACTnG,EAAM,MACG1uV,EAAM4wR,KACf89D,EAAM,IACG9yR,IACT8yR,EAAM,SAKRxvB,EAAAA,cAACwvB,EAAD,IACE9qV,KAAe,WAAR8qV,IAAqB1uV,EAAM0lT,SAAWpzT,KAAK0N,MAAMmtD,QAAW,cAAWr9D,GAC1EkQ,EAFN,CAGEqqD,SAAUA,EACVwL,KAAMA,EACNqK,UAAW48H,EACX4oH,QAASpzT,KAAKozT,UAGnB,EAGHovC,GAAahnF,UAAYA,GACzBgnF,GAAapnF,aAhGQ,CACnBkM,IAAK,SACLzsN,QAAQ,GA+FV2nS,GAAapiE,YAAcy/D,qHC7GrBrkF,GAAY,CAChB8L,IAAKgzE,GACL51U,SAAUi/Q,GAAAA,KAAeb,WACzB86D,KAAMj6D,GAAAA,KACNhjJ,IAAKgjJ,GAAAA,KACLiwD,KAAMjwD,GAAAA,KACNmiD,UAAWniD,GAAAA,MACX/1N,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,OACXwW,QAASxW,GAAAA,KACT3pL,SAAU2pL,GAAAA,OACV1hP,UAAWo4S,GACX56V,MAAOy6V,GAAWv2D,GAAAA,KAAgB,8BAS9B++D,GAAuB,CAC3BrpL,GAAI,MACJ75K,KAAM,OACNC,MAAO,QACP2rC,MAAO,OACPu1G,IAAK,QACLw6M,KAAM,UAGR,MAAMwH,WAAqB/1B,EAAAA,UAEzB61B,OAAAA,GACE,MAA6B,YAA1BziW,KAAKiH,QAAQk5V,SACP,UAEF,MACR,CAED9oF,MAAAA,GACE,MAAM,EAaFr3Q,KAAK0N,OAbH,UACJkgE,EADI,UAEJgsR,EAFI,KAGJgE,EAHI,IAIJj9M,EAJI,MAKJlhJ,EALI,IAMJ6nR,EANI,KAOJssE,EAPI,UAQJ9N,EARI,QASJ3rC,EATI,SAUJngM,EAVI,UAWJ/3D,GAXF,EAYK6/S,EAZL,SAeMt3J,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACA,gBACA,CACE,qBAAsBgwR,EACtB,oBAAqBj9M,GAAOlhJ,EAC5B6pJ,KAAMtpJ,KAAKiH,QAAQ84V,SAEpBnG,GAEGwC,EAAM90E,EAEZ,GAAI6yB,GAAYn6S,KAAKiH,QAAQ84V,SAAW//V,KAAKiH,QAAQg5V,SAAW,CAE9D,MAAM2C,EAAYF,GAAqB1iW,KAAKiH,QAAQ2nC,YAAc,SAC5Di0T,EAAaliN,GAAOlhJ,EAAS,MAAQ,QACrCqjW,EAAiB,GAAH,OAAMF,EAAU,YAAGC,GACjCE,EAAiB,IAClBjd,EACH,CACErgV,KAAM,OACNg7N,UAAWmzH,IAITnO,EACJ7Y,EAAAA,cAAConB,GAAD,CACEhoT,UAAW82T,EACXhd,UAAWid,EACX/oP,SAAUA,IAET0tO,IAA+B,IAA9B,IAAE99Q,EAAF,MAAOtR,EAAP,UAActsB,GAAf,EACKg3T,EAAgB,SAAKhjW,KAAK0N,MAAM4qD,OAAUA,GAW9C,OACEs0Q,EAAAA,cAACwvB,EAAD,IACErkS,SAAS,KACTwL,KAAMvjE,KAAKyiW,UACX74R,IAbeq5R,IAEjBr5R,EAAIq5R,GAGJ,MAAM,UAAEnC,GAAc9gW,KAAKiH,QACvB65V,GAAWA,EAAUmC,EAAV,GAQTnB,EAJN,CAKExpS,MAAO0qS,EACP,eAAchjW,KAAKiH,QAAQ84V,OAC3BnyR,UAAW48H,EACX,wBAAuBx+J,IAT3B,IAgBN,OAAIiW,EACKy1S,EAAAA,aAAsBjS,EAAQmW,GAAU35S,IAExCwjS,CAEV,CAED,OACE7Y,EAAAA,cAACwvB,EAAD,IACErkS,SAAS,KACTwL,KAAMvjE,KAAKyiW,WACPX,EAHN,CAIE,eAAc9hW,KAAKiH,QAAQ84V,OAC3BnyR,UAAW48H,EACX,wBAAuBs3J,EAAM91T,YAGlC,EAGH22T,GAAannF,UAAYA,GACzBmnF,GAAavnF,aAxHQ,CACnBkM,IAAK,MACLssE,MAAM,EACN9N,UAAW,IAsHb6c,GAAaviE,YAAcy/D,GAE3B,OAAe8C,qFC1ITnnF,GAAY,CAChB0nF,MAAOv/D,GAAAA,KACP/mE,MAAO+mE,GAAAA,OACPj/Q,SAAUi/Q,GAAAA,KACV/1N,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,OACX5oO,SAAU4oO,GAAAA,KACVyvB,QAASzvB,GAAAA,KACT,gBAAiBA,GAAAA,KACjBrgS,MAAOqgS,GAAAA,KACPrc,IAAKgzE,GACL0F,IAAKr8D,GAAAA,MAQP,MAAMw/D,WAAuBv2B,EAAAA,UAC3BlrU,WAAAA,CAAYgM,GACVqxV,MAAMrxV,GAEN1N,KAAKozT,QAAUpzT,KAAKozT,QAAQ7oT,KAAKvK,KAClC,CAEDozT,OAAAA,CAAQ30T,GACFuB,KAAK0N,MAAMqtD,UAAY/6D,KAAKiH,QAAQ8zD,SACtCt8D,EAAE8jF,kBAIAviF,KAAK0N,MAAMsyV,MAAQhgW,KAAK0N,MAAM45Q,KAChC7oR,EAAE8jF,iBAGAviF,KAAK0N,MAAM0lT,SACbpzT,KAAK0N,MAAM0lT,QAAQ30T,GAGrBuB,KAAKiH,QAAQ4zD,OAAOp8D,GACrB,CAEDgkW,OAAAA,GACE,OAAOziW,KAAKiH,QAAQk5V,UAAYngW,KAAK0N,MAAM,gBAC5C,CAED2pQ,MAAAA,GACE,MAAM,EAA8Er3Q,KAAK0N,OAAnF,UAAEkgE,EAAF,MAAagvJ,EAAb,UAAoBg9H,EAApB,MAA+BsJ,EAA/B,MAAsC5/V,EAAtC,IAA6C08V,EAA7C,IAAkD14E,EAAlD,SAAuD+sE,GAA7D,EAA0E3mV,EAA1E,SACMgpE,EAAYhpE,EAAM,eAAiB,kBACnC88L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACA,CACE,kBAAmBs1R,GAAS5/V,EAC5B,wBAAyBA,EACzB,WAAY08V,IAEbpG,GACGl1U,EACsB,qBAAnBhX,EAAMgX,SACXhX,EAAMgX,SAENkoT,EAAAA,cAAAA,OAAAA,CAAMh/P,UAAU,mBAAmB8I,GAGvC,IAAI0lR,EAaJ,OAXI4D,IAAQ14E,GACV80E,EAAM,IACN1uV,EAAM4wR,KAAO,KACHhX,EAKV80E,EAAM90E,GAJN80E,EAAMmD,GACN7xV,EAAMkvN,MAAQA,EACdlvN,EAAMksV,UAAYA,GAKhB55V,KAAKiH,QAAQg5V,SAEbrzB,EAAAA,cAACwvB,EAAD,MACM1uV,EADN,CAEEkgE,UAAW48H,EACX4oH,QAASpzT,KAAKozT,QACd,gBAAepzT,KAAKiH,QAAQ84V,OAC5B,gBAAe//V,KAAKyiW,UACpB/9U,SAAUA,KAMdkoT,EAAAA,cAAC2oB,GAAD,CAAWlB,SAAUA,IAClBrK,IAAA,IAAC,IAAEpgR,GAAH,SACCgjQ,EAAAA,cAACwvB,EAAD,MACM1uV,EADN,CAEQ,CAAgB,kBAAR0uV,EAAmB,MAAQ,YAAaxyR,EAEtDgE,UAAW48H,EACX4oH,QAASpzT,KAAKozT,QACd,gBAAepzT,KAAKiH,QAAQ84V,OAC5B,gBAAe//V,KAAKyiW,UACpB/9U,SAAUA,IAVhB,GAeH,EAGHy+U,GAAe3nF,UAAYA,GAC3B2nF,GAAe/nF,aAjGM,CACnBx+C,MAAO,YACP,iBAAiB,GAgGnBumI,GAAe/iE,YAAcy/D,GAE7B,OAAesD,gGCpHT3nF,GAAY,SACbw6E,GAAWx6E,WADD,IAEb92P,SAAUi/Q,GAAAA,UAAoB,CAC5BA,GAAAA,QAAkBA,GAAAA,MAClBA,GAAAA,OAEFrc,IAAKgzE,GACL8I,UAAWz/D,GAAAA,OACX0/D,gBAAiB1/D,GAAAA,OACjB/1N,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,OACX0wD,SAAU1wD,GAAAA,UAAoB,CAC5BA,GAAAA,OACAA,GAAAA,OACAA,GAAAA,SAIEvoB,GAAe,SAChB46E,GAAW56E,cADE,IAEhBkM,IAAK,MACL87E,UAAW,OACXC,gBAAiB,OACjBt8V,QAASwzV,GAAmBC,KAC5BnE,QAAQ,EACRE,OAAO,EACPY,MAAM,EACNV,IAAI,IAGN,SAAS+D,GAAK9sV,GACZ,MACE45Q,IAAK80E,EADD,UAEJgH,EAFI,gBAGJC,EAHI,UAIJz1R,EAJI,UAKJgsR,EALI,SAMJl1U,EANI,SAOJ2vU,GAEE3mV,EADC41V,EARL,GASI51V,EATJ,IAWM61V,EAAkBxJ,GAAKuJ,EAAYzI,IACnC7B,EAAaa,GAAKyJ,EAAYzI,IAEpC,OACEjuB,EAAAA,cAACopB,GAAeuN,GACZnxR,IACA,MACMo4H,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACAw1R,EAH0B,YAAXhxR,GAIHixR,GACXzJ,GACH,OACEhtB,EAAAA,cAACwvB,EAAD,IAAKxuR,UAAW48H,GAAawuJ,EAA7B,CAAyCpvR,IAAKyqR,IAC3C3vU,EAFL,GAQP,CAED81U,GAAKh/E,UAAYA,GACjBg/E,GAAKp/E,aAAeA,SC9DPooF,GAAmB52B,EAAAA,cAAoB,CAAC,yECH/CpxD,GAAY,CAChB8L,IAAKgzE,GACL1sR,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,OACX0wD,SAAU1wD,GAAAA,UAAoB,CAC5BA,GAAAA,OACAA,GAAAA,OACAA,GAAAA,OAEFj/Q,SAAUi/Q,GAAAA,KACV1iD,MAAO0iD,GAAAA,KACPtqP,KAAMsqP,GAAAA,UAAoB,CAACA,GAAAA,MAAiBA,GAAAA,SAAmBb,WAC/DjoO,OAAQ8oO,GAAAA,KAAeb,YAOnB2gE,GAAa/1V,IACjB,MAAM,MACJuzO,EADI,KAEJ5nM,EAFI,OAGJwhB,EAHI,UAIJ+S,EAJI,UAKJgsR,EACAtyE,IAAK80E,EAND,SAOJ/H,GAEE3mV,EADCjC,EARL,GASIiC,EATJ,IAUM88L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACA,YACA,CACE,kBAAmBqzK,IAEpB24G,GAEG8J,GAAmBpkF,EAAAA,EAAAA,UAAQ,KAAM,CACrCjmO,OACAwhB,aAGF,OACE+xQ,EAAAA,cAAC42B,GAAiBr5E,SAAlB,CAA2BptR,MAAO2mW,GAChC92B,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqBmiE,UAAW48H,EAAS5gI,IAAKyqR,KAFlD,EAOFoP,GAAUjoF,UAAYA,GACtBioF,GAAUroF,aApCW,CACnBkM,IAAK,OAqCP,OAAem8E,SCtDTjoF,GAAY,CAChB8L,IAAKgzE,GACL1sR,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,OACX0wD,SAAU1wD,GAAAA,UAAoB,CAC5BA,GAAAA,OACAA,GAAAA,OACAA,GAAAA,OAEFj/Q,SAAUi/Q,GAAAA,KACVggE,YAAahgE,GAAAA,UAAoB,CAACA,GAAAA,MAAiBA,GAAAA,SACnDigE,SAAUjgE,GAAAA,MAoBZ8/D,GAAUjoF,UAAYA,GACtBioF,GAAUroF,aAlBW,CACnBkM,IAAK,iFCdD9L,GAAY,CAChB8L,IAAKgzE,GACL1sR,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,OACX0wD,SAAU1wD,GAAAA,UAAoB,CAC5BA,GAAAA,OACAA,GAAAA,OACAA,GAAAA,OAEFj/Q,SAAUi/Q,GAAAA,KACVkgE,SAAUlgE,GAAAA,OAAiBb,YAOvBghE,GAAmBp2V,IACvB,MAAM,UACJkgE,EADI,UAEJgsR,EACAtyE,IAAK80E,EAHD,SAIJ/H,EAJI,SAKJ3vU,EALI,SAMJm/U,GAEEn2V,EADCjC,EAPL,GAQIiC,EARJ,KASM,KAAE2rC,EAAF,OAAQwhB,IAAW0jN,EAAAA,EAAAA,YAAWilF,IAE9Bh5J,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACA,oBACCgsR,GAEGmK,EAAgBpK,GAAgB5kI,GACpC,mBACA,CACEivI,YAAanjW,MAAMC,QAAQu4C,GAAQA,EAAKx2B,SAASghV,GAAYxqT,IAASwqT,KAEvEjK,GAEH,OACEhtB,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqBmiE,UAAW48H,EAAS5gI,IAAKyqR,IAC5CznB,EAAAA,cAAAA,SAAAA,CAAQt7T,KAAK,SAASs8D,UAAWm2R,EAAe3wC,QAASA,IAAMv4P,EAAOgpS,IACnEn/U,GAHP,EASFo/U,GAAgBtoF,UAAYA,GAC5BsoF,GAAgB1oF,aAtCK,CACnBkM,IAAK,0DCfD9L,GAAY,CAChB8L,IAAKgzE,GACL1sR,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,OACX0wD,SAAU1wD,GAAAA,UAAoB,CAC5BA,GAAAA,OACAA,GAAAA,OACAA,GAAAA,OAEFj/Q,SAAUi/Q,GAAAA,MAONsgE,GAAiBv2V,IACrB,MAAM,UACJkgE,EADI,UAEJgsR,EACAtyE,IAAK80E,EAHD,SAIJ/H,GAEE3mV,EADCjC,EALL,GAMIiC,EANJ,IAOM88L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACA,kBACCgsR,GAEH,OACEhtB,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqBmiE,UAAW48H,EAAS5gI,IAAKyqR,IADhD,EAKF4P,GAAczoF,UAAYA,GAC1ByoF,GAAc7oF,aAvBO,CACnBkM,IAAK,qGCZD9L,GAAY,SACbw6E,GAAWx6E,WADD,IAEb1uC,WAAY62D,GAAAA,KACZo8D,OAAQp8D,GAAAA,KACRj/Q,SAAUi/Q,GAAAA,UAAoB,CAC5BA,GAAAA,QAAkBA,GAAAA,MAClBA,GAAAA,OAEFrc,IAAKgzE,GACL1sR,UAAW+1N,GAAAA,KACX86D,OAAQ96D,GAAAA,KACRi2D,UAAWj2D,GAAAA,OACX0wD,SAAU1wD,GAAAA,UAAoB,CAC5BA,GAAAA,KACAA,GAAAA,OACAA,GAAAA,WAIEvoB,GAAe,SAChB46E,GAAW56E,cADE,IAEhBtuC,YAAY,EACZizH,QAAQ,EACR1J,QAAQ,EACRE,OAAO,EACPY,MAAM,EACN7vE,IAAK,MACLvgR,QAASwzV,GAAmBE,WAGxByJ,GAA8B,CAClC,CAACpJ,GAAmBjF,UAAW,aAC/B,CAACiF,GAAmBhF,SAAU,gBAC9B,CAACgF,GAAmB/E,SAAU,aAC9B,CAAC+E,GAAmBlF,QAAS,YAO/B,MAAM6E,WAAiB7iR,EAAAA,UACrBl2E,WAAAA,CAAYgM,GACVqxV,MAAMrxV,GAEN1N,KAAK6wC,MAAQ,CACXszT,UAAW,MAGb,CAAC,aAAc,YAAa,SAAU,YAAa,YAAYplW,SAAS0G,IACtEzF,KAAKyF,GAAQzF,KAAKyF,GAAM8E,KAAKvK,KAA7B,GAEH,CAEDokW,YAAAA,CAAa9qV,GACX,OAAOtZ,KAAK0N,MAAMo/N,WAAaxzN,EAAKymB,YAAczmB,EAAKulD,YACxD,CAEDq5R,UAAAA,CAAW5+U,EAAM+qV,GACfrkW,KAAKqV,SAAS,CAAE8uV,UAAWnkW,KAAKokW,aAAa9qV,KAC7CtZ,KAAK0N,MAAMwqV,WAAW5+U,EAAM+qV,EAC7B,CAEDrM,SAAAA,CAAU1+U,EAAM+qV,GACdrkW,KAAKqV,SAAS,CAAE8uV,UAAW,OAC3BnkW,KAAK0N,MAAMsqV,UAAU1+U,EAAM+qV,EAC5B,CAEDhM,MAAAA,CAAO/+U,GACLtZ,KAAKqV,SAAS,CAAE8uV,UAAWnkW,KAAKokW,aAAa9qV,KAC7CtZ,KAAK0N,MAAM2qV,OAAO/+U,EACnB,CAEDg/U,SAAAA,CAAUh/U,GAEQtZ,KAAKokW,aAAa9qV,GAClCtZ,KAAKqV,SAAS,CAAE8uV,UAAW,IAC3BnkW,KAAK0N,MAAM4qV,UAAUh/U,EACtB,CAEDi/U,QAAAA,CAASj/U,GACPtZ,KAAKqV,SAAS,CAAE8uV,UAAW,OAC3BnkW,KAAK0N,MAAM6qV,SAASj/U,EACrB,CAED+9P,MAAAA,GACE,MAAM,EAUFr3Q,KAAK0N,OATP45Q,IAAK80E,EADD,WAEJtvH,EAFI,OAGJizH,EAHI,UAIJnyR,EAJI,OAKJ6wR,EALI,UAMJ7E,EANI,SAOJl1U,EAPI,SAQJ2vU,GARF,EASKiP,EATL,UAYM,UAAEa,GAAcnkW,KAAK6wC,MAErB0yT,EAAkBxJ,GAAKuJ,EAAYzI,IACnC7B,EAAaa,GAAKyJ,EAAYzI,IACpC,OACEjuB,EAAAA,cAACopB,GAAD,MACMuN,EADN,CAEE9M,GAAIsJ,EACJ7H,WAAYl4V,KAAKk4V,WACjBF,UAAWh4V,KAAKg4V,UAChBK,OAAQr4V,KAAKq4V,OACbC,UAAWt4V,KAAKs4V,UAChBC,SAAUv4V,KAAKu4V,YAEbnmR,IACA,IAAIkyR,EA5Ed,SAA4BlyR,GAC1B,OAAO8xR,GAA4B9xR,IAAW,UAC/C,CA0E6BmyR,CAAmBnyR,GACvC,MAAMo4H,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACAk/J,GAAc,sBACdw3H,EACA7F,GAAU,mBACT7E,GACGthS,EAAsB,OAAd6rS,EAAqB,KAAO,CAAE,CAACr3H,EAAa,QAAU,UAAWq3H,GAC/E,OACEv3B,EAAAA,cAACwvB,EAAD,MACMpD,EADN,CAEE1gS,MAAK,SAAO0gS,EAAW1gS,OAAUA,GACjCsV,UAAW48H,EACX5gI,IAAK5pE,KAAK0N,MAAM2mV,WAEf3vU,EAPL,GAaP,EAGH+1U,GAASj/E,UAAYA,GACrBi/E,GAASr/E,aAAeA,GACxB,OAAeq/E,gFC1ITj/E,GAAY,CAChB8L,IAAKgzE,GACL1sR,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,OACX0wD,SAAU1wD,GAAAA,UAAoB,CAC5BA,GAAAA,OACAA,GAAAA,OACAA,GAAAA,OAEFj/Q,SAAUi/Q,GAAAA,KACV6gE,YAAa7gE,GAAAA,OAAiBb,YAO1BmhE,GAAiBv2V,IACrB,MAAM,UACJkgE,EADI,UAEJgsR,EACAtyE,IAAK80E,EAHD,SAIJ/H,EAJI,SAKJ3vU,EALI,YAMJ8/U,GAEE92V,EADCjC,EAPL,GAQIiC,EARJ,KAUM,KAAE2rC,IAASklO,EAAAA,EAAAA,YAAWilF,IAEtBh5J,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACA,sBACCgsR,GAEH,OACEhtB,EAAAA,cAAC6tB,GAAD,MACMhvV,EADN,CAEEmiE,UAAW48H,EACX5gI,IAAKyqR,EAAU0L,OAAQl/V,MAAMC,QAAQu4C,GAAQA,EAAKx2B,SAAS2hV,GAAenrT,IAASmrT,IACnF53B,EAAAA,cAACwvB,EAAD,CAAKxuR,UAAU,kBAAkBlpD,GALrC,EAUFu/U,GAAczoF,UAAYA,GAC1ByoF,GAAc7oF,aAjCO,CACnBkM,IAAK,0EChBD9L,GAAY,CAChB5+C,MAAO+mE,GAAAA,OACP8gE,KAAM9gE,GAAAA,KACNrc,IAAKgzE,GACLjG,SAAU1wD,GAAAA,UAAoB,CAACA,GAAAA,OAAkBA,GAAAA,KAAgBA,GAAAA,SACjEj/Q,SAAUi/Q,GAAAA,KACV/1N,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,QASP+gE,GAASh3V,IACb,IAAI,UACFkgE,EADE,UAEFgsR,EAFE,MAGFh9H,EAHE,SAIFy3H,EAJE,KAKFoQ,EACAn9E,IAAK80E,GAEH1uV,EADCjC,EAPL,GAQIiC,EARJ,IAUA,MAAM88L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACA,QACA,MAAQgvJ,IACR6nI,GAAO,gBACN7K,GAMH,OAJInuV,EAAW6yR,MAAgB,SAAR89D,IACrBA,EAAM,KAINxvB,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqBmiE,UAAW48H,EAAS5gI,IAAKyqR,IADhD,EAKFqQ,GAAMlpF,UAAYA,GAClBkpF,GAAMtpF,aAlCe,CACnBx+C,MAAO,YACP6nI,MAAM,EACNn9E,IAAK,+FCbD9L,GAAY,CAChB8L,IAAKgzE,GACLqK,QAAShhE,GAAAA,KACT/mE,MAAO+mE,GAAAA,OACPzrO,KAAMyrO,GAAAA,KACN27D,QAAS37D,GAAAA,KACT/1N,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,OACX0wD,SAAU1wD,GAAAA,UAAoB,CAC5BA,GAAAA,OACAA,GAAAA,OACAA,GAAAA,QAQEihE,GAAQl3V,IACZ,MAAM,UACJkgE,EADI,UAEJgsR,EAFI,MAGJh9H,EAHI,KAIJ1kK,EAJI,QAKJysS,EALI,QAMJrF,EACAh4E,IAAK80E,EAPD,SAQJ/H,GAEE3mV,EADCjC,EATL,GAUIiC,EAVJ,IAWM88L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACA,SACA+2R,GAAU,eACVzsS,GAAO,cACP0kK,GAAQ,GAAH,OAAM0iI,EAAU,SAAW,KAAK,YAAG1iI,IACvCg9H,GAEH,OACEhtB,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqBmiE,UAAW48H,EAAS5gI,IAAKyqR,IADhD,EAKFuQ,GAAKppF,UAAYA,GACjBopF,GAAKxpF,aA9BgB,CACnBkM,IAAK,OA+BP,OAAes9E,4CC/CTppF,GAAY,CAChB8L,IAAKgzE,GACL1sR,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,QAOPkhE,GAAan3V,IACjB,MAAM,UACJkgE,EADI,UAEJgsR,EACAtyE,IAAK80E,GAEH1uV,EADCjC,EAJL,GAKIiC,EALJ,IAMM88L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACA,cACCgsR,GAEH,OACEhtB,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqBmiE,UAAW48H,IADlC,EAKFq6J,GAAUrpF,UAAYA,GACtBqpF,GAAUzpF,aAtBW,CACnBkM,IAAK,gDCPD9L,GAAY,CAChB8L,IAAKgzE,GACL1sR,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,QAOPmhE,GAAYp3V,IAChB,MAAM,UACJkgE,EADI,UAEJgsR,EACAtyE,IAAK80E,GAEH1uV,EADCjC,EAJL,GAKIiC,EALJ,IAMM88L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACA,aACCgsR,GAEH,OACEhtB,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqBmiE,UAAW48H,IADlC,EAKFs6J,GAAStpF,UAAYA,GACrBspF,GAAS1pF,aAtBY,CACnBkM,IAAK,gDCPD9L,GAAY,CAChB8L,IAAKgzE,GACL1sR,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,QAOPohE,GAAer3V,IACnB,MAAM,UACJkgE,EADI,UAEJgsR,EACAtyE,IAAK80E,GAEH1uV,EADCjC,EAJL,GAKIiC,EALJ,IAMM88L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACA,gBACCgsR,GAEH,OACEhtB,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqBmiE,UAAW48H,IADlC,EAKFu6J,GAAYvpF,UAAYA,GACxBupF,GAAY3pF,aAtBS,CACnBkM,IAAK,2DCPD9L,GAAY,CAChB8L,IAAKgzE,GACL1sR,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,OACX0wD,SAAU1wD,GAAAA,UAAoB,CAC5BA,GAAAA,OACAA,GAAAA,OACAA,GAAAA,QAQEqhE,GAAYt3V,IAChB,MAAM,UACJkgE,EADI,UAEJgsR,EAFI,SAGJvF,EACA/sE,IAAK80E,GAEH1uV,EADCjC,EALL,GAMIiC,EANJ,IAOM88L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACA,aACCgsR,GAEH,OACEhtB,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqBmiE,UAAW48H,EAAS5gI,IAAKyqR,IADhD,EAKF2Q,GAASxpF,UAAYA,GACrBwpF,GAAS5pF,aAvBY,CACnBkM,IAAK,OAwBP,OAAe09E,uDCpCTxpF,GAAY,CAChB8L,IAAKgzE,GACLjG,SAAU1wD,GAAAA,UAAoB,CAACA,GAAAA,OAAkBA,GAAAA,KAAgBA,GAAAA,SACjE/1N,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,QAOPshE,GAAYv3V,IAChB,MAAM,UACJkgE,EADI,UAEJgsR,EACAtyE,IAAK80E,EAHD,SAIJ/H,GAEE3mV,EADCjC,EALL,GAMIiC,EANJ,IAOM88L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACA,aACCgsR,GAEH,OACEhtB,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqBm+D,IAAKyqR,EAAUzmR,UAAW48H,IADjD,EAKFy6J,GAASzpF,UAAYA,GACrBypF,GAAS7pF,aAvBY,CACnBkM,IAAK,8CCRD9L,GAAY,CAChB8L,IAAKgzE,GACL1sR,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,QAOPuhE,GAAcx3V,IAClB,MAAM,UACJkgE,EADI,UAEJgsR,EACAtyE,IAAK80E,GAEH1uV,EADCjC,EAJL,GAKIiC,EALJ,IAMM88L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACA,eACCgsR,GAEH,OACEhtB,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqBmiE,UAAW48H,IADlC,EAKF06J,GAAW1pF,UAAYA,GACvB0pF,GAAW9pF,aAtBU,CACnBkM,IAAK,gDCPD9L,GAAY,CAChB8L,IAAKgzE,GACL1sR,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,QAOPwhE,GAAcz3V,IAClB,MAAM,UACJkgE,EADI,UAEJgsR,EACAtyE,IAAK80E,GAEH1uV,EADCjC,EAJL,GAKIiC,EALJ,IAMM88L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACA,eACCgsR,GAEH,OACEhtB,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqBmiE,UAAW48H,IADlC,EAKF26J,GAAW3pF,UAAYA,GACvB2pF,GAAW/pF,aAtBU,CACnBkM,IAAK,OAuBP,OAAe69E,2DC9BT3pF,GAAY,CAChB8L,IAAKgzE,GACL39R,IAAKgnO,GAAAA,KACL5tL,OAAQ4tL,GAAAA,KACR/1N,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,QAOPyhE,GAAW13V,IACf,MAAM,UACJkgE,EADI,UAEJgsR,EAFI,IAGJj9R,EAHI,OAIJo5C,EACAuxK,IAAK80E,GAEH1uV,EADCjC,EANL,GAOIiC,EAPJ,IASA,IAAI23V,EAAmB,WACnB1oS,IACF0oS,EAAmB,gBAEjBtvP,IACFsvP,EAAmB,mBAGrB,MAAM76J,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACAy3R,GACCzL,GAEH,OACEhtB,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqBmiE,UAAW48H,IADlC,EAKF46J,GAAQ5pF,UAAYA,GACpB4pF,GAAQhqF,aAjCa,CACnBkM,IAAK,gDCTD9L,GAAY,CAChB8L,IAAKgzE,GACL1sR,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,QAOP2hE,GAAkB53V,IACtB,MAAM,UACJkgE,EADI,UAEJgsR,EACAtyE,IAAK80E,GAEH1uV,EADCjC,EAJL,GAKIiC,EALJ,IAMM88L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACA,oBACCgsR,GAEH,OACEhtB,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqBmiE,UAAW48H,IADlC,EAKF86J,GAAe9pF,UAAYA,GAC3B8pF,GAAelqF,aAtBM,CACnBkM,IAAK,wECNP,MAAMi+E,WAAqB34B,EAAAA,UACzBlrU,WAAAA,CAAYgM,GACVqxV,MAAMrxV,GAEN1N,KAAK6wC,MAAQ,CACX20T,gBAAgB,GAGlBxlW,KAAKi4V,QAAUj4V,KAAKi4V,QAAQ1tV,KAAKvK,MACjCA,KAAKk4V,WAAal4V,KAAKk4V,WAAW3tV,KAAKvK,MACvCA,KAAKq4V,OAASr4V,KAAKq4V,OAAO9tV,KAAKvK,MAC/BA,KAAKs4V,UAAYt4V,KAAKs4V,UAAU/tV,KAAKvK,MACrCA,KAAKu4V,SAAWv4V,KAAKu4V,SAAShuV,KAAKvK,KACpC,CAEDi4V,OAAAA,CAAQ3+U,EAAM+qV,GACZrkW,KAAKqV,SAAS,CAAEmwV,gBAAgB,IAChCxlW,KAAK0N,MAAMuqV,QAAQ3+U,EAAM+qV,EAC1B,CAEDnM,UAAAA,CAAW5+U,EAAM+qV,GAEf,MAAM/nS,EAAehjD,EAAKgjD,aAG1B,OAFAt8D,KAAKqV,SAAS,CAAEmwV,gBAAgB,IAChCxlW,KAAK0N,MAAMwqV,WAAW5+U,EAAM+qV,GACrB/nS,CACR,CAED+7R,MAAAA,CAAO/+U,GACLtZ,KAAKqV,SAAS,CAAEmwV,gBAAgB,IAChCxlW,KAAK0N,MAAM2qV,OAAO/+U,EACnB,CAEDg/U,SAAAA,CAAUh/U,GACRtZ,KAAKqV,SAAS,CAAEmwV,gBAAgB,IAChClsV,EAAKnI,cAAc,IAAIs0V,YAAY,sBACnCzlW,KAAK0N,MAAM4qV,UAAUh/U,EACtB,CAEDi/U,QAAAA,CAASj/U,GACPA,EAAKnI,cAAc,IAAIs0V,YAAY,qBACnCzlW,KAAK0N,MAAM6qV,SAASj/U,EACrB,CAED+9P,MAAAA,GACE,MAAM,EAAoFr3Q,KAAK0N,OAAvF+oV,GAAIiP,EAAN,SAAYhhV,EAAZ,UAAsBk1U,EAAtB,MAAiC+L,EAAOr+E,IAAK80E,EAA7C,UAAkDxuR,GAAxD,EAAsE21R,EAAtE,SAEA,OACE32B,EAAAA,cAACopB,GAAD,MACMuN,EADN,CAEEhN,MAAOoP,EACPxO,KAAMwO,EACNlP,GAAIiP,EACJzN,QAASj4V,KAAKi4V,QACdC,WAAYl4V,KAAKk4V,WACjBG,OAAQr4V,KAAKq4V,OACbC,UAAWt4V,KAAKs4V,UAChBC,SAAUv4V,KAAKu4V,YAEbnmR,IACA,MAAM,UAAExjC,GAAc5uC,KAAKiH,QACrB2nL,EAAYx8G,IAAW0oR,GAAmBhF,SAAa1jR,IAAW0oR,GAAmB/E,QACrF6P,GAAsBxzR,IAAW0oR,GAAmBjF,UAAYzjR,IAAW0oR,GAAmB/E,UAClG/1V,KAAK6wC,MAAM20T,iBACI,QAAd52T,EAAsB,sBAAwB,qBAG3Ci3T,EAAclM,GAAgB5kI,GAClCnnJ,EACA,gBACAghH,GAAY,SACZg3K,EANsBxzR,IAAW0oR,GAAmBjF,WACrC,QAAdjnT,EAAsB,qBAAuB,uBAO7CgrT,GAEH,OACEhtB,EAAAA,cAACwvB,EAAD,CAAKxuR,UAAWi4R,GACbnhV,EAFL,GAQP,EAGH6gV,GAAa/pF,UAAb,SACKw6E,GAAWx6E,WADhB,IAEE8L,IAAKgzE,GACL7D,GAAI9yD,GAAAA,KACJi2D,UAAWj2D,GAAAA,OACXj/Q,SAAUi/Q,GAAAA,KACVgiE,MAAOhiE,GAAAA,KACP/1N,UAAW+1N,GAAAA,SAGb4hE,GAAanqF,aAAb,SACK46E,GAAW56E,cADhB,IAEEkM,IAAK,MACLvgR,QAASwzV,GAAmBI,SAC5BgL,OAAO,IAGTJ,GAAallE,aAAe,CAC1BzxP,UAAW+0P,GAAAA,QAGb,OAAe4hE,GCzGR,MAAMO,GAAkBl5B,EAAAA,cAAoB,CAAC,GCCpD,MAAM+tB,WAAiB/tB,EAAAA,UACrBlrU,WAAAA,CAAYgM,GACVqxV,MAAMrxV,GACN1N,KAAK+lW,eAAiB/lW,KAAK+lW,eAAex7V,KAAKvK,MAC/CA,KAAKgmW,YAAchmW,KAAKgmW,YAAYz7V,KAAKvK,MACzCA,KAAKimW,WAAajmW,KAAKimW,WAAW17V,KAAKvK,MACvCA,KAAKkmW,SAAWlmW,KAAKkmW,SAAS37V,KAAKvK,MACnCA,KAAKmmW,iBAAmBnmW,KAAKmmW,iBAAiB57V,KAAKvK,MACnDA,KAAKomW,eAAiBpmW,KAAKomW,eAAe77V,KAAKvK,MAC/CA,KAAKqmW,YAAc,EACnBrmW,KAAKsmW,YAAc,EACnBtmW,KAAK6wC,MAAQ,CACX01T,YAAavmW,KAAK0N,MAAM64V,YACxB33T,UAAW,MACX43T,kBAAkB,EAErB,CAED5F,eAAAA,GACE,MAAO,CAAEhyT,UAAW5uC,KAAK6wC,MAAMjC,UAChC,CAEDgqO,iBAAAA,GAE0B,aAApB54Q,KAAK0N,MAAM+4V,MACbzmW,KAAKkI,cAIPyhB,SAAS9Y,iBAAiB,QAAS7Q,KAAK+lW,eACzC,CAE8B,+BAAxBvlE,CAAyB3mB,EAAWg9E,GACzC,IAAI6P,EAAW,MACX,YAAEH,EAAF,UAAe33T,EAAf,iBAA0B43T,GAAqB3P,EAqBnD,OAnBIh9E,EAAU0sF,cAAgBA,IAExB1sF,EAAU0sF,cAAgBA,EAAc,EAC1C33T,EAAY,MACHirO,EAAU0sF,cAAgBA,EAAa,EAChD33T,EAAY,QACHirO,EAAU0sF,YAAcA,EACjC33T,EAAY43T,EAAmB,QAAU,MAChC3sF,EAAU0sF,cAAgBA,IACnC33T,EAAY43T,EAAmB,MAAQ,SAGzCE,EAAW,CACTH,YAAa1sF,EAAU0sF,YACvB33T,YACA43T,kBAAkB,IAIfE,CACR,CAED3sF,kBAAAA,CAAmBC,EAAW68E,GACxBA,EAAU0P,cAAgBvmW,KAAK6wC,MAAM01T,aACzCvmW,KAAKkI,YAAYlI,KAAK0N,MACvB,CAEDitQ,oBAAAA,GACE36Q,KAAKiI,gBACL0hB,SAAS3Y,oBAAoB,QAAShR,KAAK+lW,eAC5C,CAED79V,WAAAA,GAAgC,IAApBwF,EAAQ,UAAH,6CAAG1N,KAAK0N,MAEvB1N,KAAKiI,gBACDyF,EAAM7F,WACR7H,KAAK2mW,cAAgBz+V,aAAY,KAC/BwF,EAAMmtB,MAAN,GACCl9B,SAAS+P,EAAM7F,SAAU,KAE/B,CAEDI,aAAAA,GACEA,cAAcjI,KAAK2mW,cACpB,CAEDV,UAAAA,GAC2B,UAArBjmW,KAAK0N,MAAMk5V,OACb5mW,KAAKiI,gBAEHjI,KAAK0N,MAAMm5V,YACb7mW,KAAK0N,MAAMm5V,cAAc,UAE5B,CAEDX,QAAAA,GAC2B,UAArBlmW,KAAK0N,MAAMk5V,OACb5mW,KAAKkI,cAEHlI,KAAK0N,MAAMo5V,YACb9mW,KAAK0N,MAAMo5V,cAAc,UAE5B,CAEDf,cAAAA,CAAegB,GACT/mW,KAAK0N,MAAMs5V,WACO,KAAhBD,EAAIttD,QACNz5S,KAAK0N,MAAMk+D,WACc,KAAhBm7R,EAAIttD,SACbz5S,KAAK0N,MAAMmtB,OAGhB,CAEDsrU,gBAAAA,CAAiB1nW,GACXuB,KAAK0N,MAAMu5V,cAGfjnW,KAAKqmW,YAAc5nW,EAAEwwH,eAAe,GAAG0gH,QACvC3vO,KAAKsmW,YAAc7nW,EAAEwwH,eAAe,GAAG4gH,QACxC,CAEDu2H,cAAAA,CAAe3nW,GACb,IAAIuB,KAAK0N,MAAMu5V,YACb,OAGF,MAAMC,EAAWzoW,EAAEwwH,eAAe,GAAG0gH,QAC/Bw3H,EAAW1oW,EAAEwwH,eAAe,GAAG4gH,QAC/B7/J,EAAQ9wD,KAAK+9C,IAAIj9D,KAAKqmW,YAAca,GAIvCl3R,EAHW9wD,KAAK+9C,IAAIj9D,KAAKsmW,YAAca,IAOvCn3R,EAvIiB,KA2IjBk3R,EAAWlnW,KAAKqmW,YACjBrmW,KAAK0N,MAAMmtB,OAEX76B,KAAK0N,MAAMk+D,WAEd,CAEDo6R,WAAAA,CAAYoB,EAAex5R,GACzB,MAAM,MAAE+3R,GAAU3lW,KAAK0N,MACvB,OACEk/T,EAAAA,cAAAA,MAAAA,CAAKh/P,UAAWA,GACbw5R,EAAcz9V,KAAI,CAACgP,EAAM5X,KACxB,MAAM2kW,EAAQ3kW,IAAUf,KAAK6wC,MAAM01T,YACnC,OAAO35B,EAAAA,aAAmBj0T,EAAM,CAC9B89U,GAAIiP,EACJC,MAAOA,GAFT,IAOP,CAEDtuF,MAAAA,GACE,MAAM,UAAEuiF,EAAF,MAAa+L,EAAb,UAAoB/3R,EAApB,KAA+BgwR,EAA/B,KAAqCyJ,GAASrnW,KAAK0N,MACnD45V,EAAe3N,GAAgB5kI,GACnCnnJ,EACA,WACmBy5R,EACnB1B,GAAS,QACT/H,GAAQ,iBACPhE,GAEG2N,EAAe5N,GAAgB5kI,GACnC,kBACC6kI,GAGGl1U,EAAW1kB,KAAK0N,MAAMgX,SAASriB,QAAO2iB,GAAmB,OAAVA,QAA4BxnB,IAAVwnB,GAAwC,mBAAVA,IAKrG,GAHmBN,EAASzC,OAAM+C,GAASA,EAAM1T,OAASi0V,KAIxD,OACE34B,EAAAA,cAAAA,MAAAA,CAAKh/P,UAAW05R,EAAc3yR,aAAc30E,KAAKimW,WAAYrxR,aAAc50E,KAAKkmW,UAC9Et5B,EAAAA,cAACk5B,GAAgB37E,SAAjB,CAA0BptR,MAAOiD,KAAK4gW,mBACnC5gW,KAAKgmW,YAAYthV,EAAU6iV,KAOpC,GAAI7iV,EAAS,aAAc7jB,MAAO,CAChC,MAAMumW,EAAgB1iV,EAAS,GACzB8iV,EAAc9iV,EAAS,GACvB+iV,EAAe/iV,EAAS,GAE9B,OACEkoT,EAAAA,cAAAA,MAAAA,CAAKh/P,UAAW05R,EAAc3yR,aAAc30E,KAAKimW,WAAYrxR,aAAc50E,KAAKkmW,UAC9Et5B,EAAAA,cAACk5B,GAAgB37E,SAAjB,CAA0BptR,MAAOiD,KAAK4gW,mBACnC5gW,KAAKgmW,YAAYoB,EAAeG,GAChCC,EACAC,GAIR,CAGD,MAAMC,EAAahjV,EAAS,GAMtBijV,EAAoB/6B,EAAAA,aAAmB86B,EAAY,CAAEE,eALnCnpW,IACyB,oBAApCipW,EAAWh6V,MAAMk6V,gBAC1B5nW,KAAKqV,SAAS,CAAEmxV,kBAAkB,IAAQ,IAAMkB,EAAWh6V,MAAMk6V,eAAenpW,IACjF,IAGG2oW,EAAgB1iV,EAAS,GACzB8iV,EAAc9iV,EAAS,GACvB+iV,EAAe/iV,EAAS,GAE9B,OACEkoT,EAAAA,cAAAA,MAAAA,CAAKh/P,UAAW05R,EAAc3yR,aAAc30E,KAAKimW,WAAYrxR,aAAc50E,KAAKkmW,SAC9ExqQ,aAAc17F,KAAKmmW,iBAAkBrqQ,WAAY97F,KAAKomW,gBACtDx5B,EAAAA,cAACk5B,GAAgB37E,SAAjB,CAA0BptR,MAAOiD,KAAK4gW,mBACnC+G,EACA3nW,KAAKgmW,YAAYoB,EAAeG,GAChCC,EACAC,GAIR,EAGH9M,GAASn/E,UAAY,CAEnB+qF,YAAa5iE,GAAAA,OAEb9oQ,KAAM8oQ,GAAAA,KAAeb,WAErBl3N,SAAU+3N,GAAAA,KAAeb,WAEzBkkE,SAAUrjE,GAAAA,KAIVijE,MAAOjjE,GAAAA,MAAgB,CAAC,SAAS,IAGjC8iE,KAAM9iE,GAAAA,MAAgB,CAAC,aAGvB97R,SAAU87R,GAAAA,UAAoB,CAC5BA,GAAAA,OACAA,GAAAA,OACAA,GAAAA,OAEFj/Q,SAAUi/Q,GAAAA,MAEVkjE,WAAYljE,GAAAA,KAEZmjE,WAAYnjE,GAAAA,KAEZgiE,MAAOhiE,GAAAA,KAEPi6D,KAAMj6D,GAAAA,KACNi2D,UAAWj2D,GAAAA,OACX/1N,UAAW+1N,GAAAA,OACXsjE,YAAatjE,GAAAA,MAGfg3D,GAASv/E,aAAe,CACtBvzQ,SAAU,IACV++V,MAAO,QACPI,UAAU,EACVrB,OAAO,EACPsB,aAAa,EACbI,MAAM,GAGR1M,GAASx6D,kBAAoB,CAC3BvxP,UAAW+0P,GAAAA,QAGb,OAAeg3D,GC9Rf,MAAMkN,GAAmBn6V,IACvB,MAAM,UAAEkhC,EAAF,eAAag5T,EAAb,UAA6BhO,EAA7B,cAAwCkO,EAAxC,UAAuDl6R,GAAclgE,EAErEq6V,EAAgBpO,GAAgB5kI,GACpCnnJ,EAD8C,2BAE1Bh/B,IACnBgrT,GAEGoO,EAAcrO,GAAgB5kI,GAAW,oBAAD,OACxBnmL,EAAU,UAC7BgrT,GAEGqO,EAAsBtO,GAAgB5kI,GAC1C,mBACC6kI,GAGH,OAKEhtB,EAAAA,cAAAA,IAAAA,CACEh/P,UAAWm6R,EACXzvS,MAAO,CAACmmL,OAAQ,WAChBl7K,KAAK,SACLxL,SAAS,IACTq7P,QAAU30T,IACRA,EAAE8jF,iBACFqlR,GAAgB,GAGlBh7B,EAAAA,cAAAA,OAAAA,CAAMh/P,UAAWo6R,EAAa,cAAY,SAC1Cp7B,EAAAA,cAAAA,OAAAA,CAAMh/P,UAAWq6R,GAAsBH,GAAiBl5T,GAX1D,EAgBJi5T,GAAgBrsF,UAAY,CAC1B5sO,UAAW+0P,GAAAA,MAAgB,CAAC,OAAQ,SAASb,WAC7C8kE,eAAgBjkE,GAAAA,KAAeb,WAC/B82D,UAAWj2D,GAAAA,OACXmkE,cAAenkE,GAAAA,OACf/1N,UAAW+1N,GAAAA,QAGb,OAAekkE,GC9Cf,MAAMK,GAAsBx6V,IAC1B,MAAM,MAAE6a,EAAF,YAASg+U,EAAT,UAAsB3M,EAAtB,eAAiCgO,EAAjC,UAAiDh6R,GAAclgE,EAE/D0xV,EAAczF,GAAgB5kI,GAAWnnJ,EAAW,uBAAwBgsR,GAC5E8N,EAAan/U,EAAM5e,KAAI,CAACgP,EAAM0xD,KAClC,MAAM89R,EAAmBxO,GAAgB5kI,GACvC,CAAE73M,OAAQqpV,IAAgBl8R,IACzBuvR,GACH,OACEhtB,EAAAA,cAAAA,SAAAA,CACE,aAAYj0T,EAAKyvV,QACjB,oBACApnW,IAAG,UAAK2X,EAAK3X,KAAO/B,OAAOP,OAAOia,GAAMxN,KAAK,KAC7CioT,QAAU30T,IACRA,EAAE8jF,iBACFqlR,EAAev9R,EAAf,EAEFuD,UAAWu6R,GAEVxvV,EAAKyvV,QAXV,IAeF,OACEx7B,EAAAA,cAAAA,MAAAA,CAAKh/P,UAAWwxR,GACbsI,EAFL,EAOFQ,GAAmB1sF,UAAY,CAC7BjzP,MAAOo7Q,GAAAA,MAAgBb,WACvByjE,YAAa5iE,GAAAA,OAAiBb,WAC9B82D,UAAWj2D,GAAAA,OACXikE,eAAgBjkE,GAAAA,KAAeb,WAC/Bl1N,UAAW+1N,GAAAA,QAGb,OAAeukE,GCtCf,MAAMG,GAAmB36V,IACvB,MAAM,cAAE46V,EAAF,YAAiBC,EAAjB,UAA8B3O,EAA9B,UAAyChsR,GAAclgE,EACvD88L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACA,mBACA,SACA,cACCgsR,GAEH,OACEhtB,EAAAA,cAAAA,MAAAA,CAAKh/P,UAAW48H,GACdoiI,EAAAA,cAAAA,KAAAA,KAAK07B,GACL17B,EAAAA,cAAAA,IAAAA,KAAI27B,GAHR,EAQFF,GAAgB7sF,UAAY,CAC1B8sF,cAAe3kE,GAAAA,KACf4kE,YAAa5kE,GAAAA,KAAeb,WAC5B82D,UAAWj2D,GAAAA,OACX/1N,UAAW+1N,GAAAA,QAGb,OAAe0kE,0FCrBT7sF,GAAY,CAChBjzP,MAAOo7Q,GAAAA,MAAgBb,WACvB4kE,WAAY/jE,GAAAA,KACZ6kE,SAAU7kE,GAAAA,KACV8kE,SAAU9kE,GAAAA,KACV+kE,mBAAoB/kE,GAAAA,OACpB4iE,YAAa5iE,GAAAA,OACb9oQ,KAAM8oQ,GAAAA,KACN/3N,SAAU+3N,GAAAA,KACVglE,UAAWhlE,GAAAA,MAGb,MAAMilE,WAA6BhxR,EAAAA,UACjCl2E,WAAAA,CAAYgM,GACVqxV,MAAMrxV,GACN1N,KAAK6oW,WAAY,EACjB7oW,KAAK6wC,MAAQ,CAAE01T,YAAa74V,EAAMg7V,oBAAsB,GACxD1oW,KAAK66B,KAAO76B,KAAK66B,KAAKtwB,KAAKvK,MAC3BA,KAAK4rE,SAAW5rE,KAAK4rE,SAASrhE,KAAKvK,MACnCA,KAAK2oW,UAAY3oW,KAAK2oW,UAAUp+V,KAAKvK,MACrCA,KAAKs4V,UAAYt4V,KAAKs4V,UAAU/tV,KAAKvK,MACrCA,KAAKu4V,SAAWv4V,KAAKu4V,SAAShuV,KAAKvK,KACpC,CAEDs4V,SAAAA,GACEt4V,KAAK6oW,WAAY,CAClB,CAEDtQ,QAAAA,GACEv4V,KAAK6oW,WAAY,CAClB,CAEDhuU,IAAAA,GACE,GAAI76B,KAAK6oW,UAAW,OACpB,MAAMv9H,EAAYtrO,KAAK6wC,MAAM01T,cAAgBvmW,KAAK0N,MAAM6a,MAAMnrB,OAAS,EAAI,EAAI4C,KAAK6wC,MAAM01T,YAAc,EACxGvmW,KAAKqV,SAAS,CAAEkxV,YAAaj7H,GAC9B,CAED1/J,QAAAA,GACE,GAAI5rE,KAAK6oW,UAAW,OACpB,MAAMv9H,EAAuC,IAA3BtrO,KAAK6wC,MAAM01T,YAAoBvmW,KAAK0N,MAAM6a,MAAMnrB,OAAS,EAAI4C,KAAK6wC,MAAM01T,YAAc,EACxGvmW,KAAKqV,SAAS,CAAEkxV,YAAaj7H,GAC9B,CAEDq9H,SAAAA,CAAUG,GACJ9oW,KAAK6oW,WACT7oW,KAAKqV,SAAS,CAAEkxV,YAAauC,GAC9B,CAEDzxF,MAAAA,GACE,MAAM,EAAqFr3Q,KAAK0N,OAA1F,mBAAEg7V,EAAF,SAAsBD,EAAtB,WAAgCf,EAAhC,SAA4Cc,EAA5C,MAAsDjgV,EAAtD,UAA6DogV,GAAnE,EAAiFj7V,EAAjF,UACM,YAAE64V,GAAgBvmW,KAAK6wC,MAEvBk4T,EAASxgV,EAAM5e,KAAKgP,IACxB,MAAM3X,EAAM2X,EAAK3X,KAAO2X,EAAKgL,IAC7B,OACEipT,EAAAA,cAAC24B,GAAD,CACEjN,UAAWt4V,KAAKs4V,UAChBC,SAAUv4V,KAAKu4V,SACfv3V,IAAKA,GAEL4rU,EAAAA,cAAAA,MAAAA,CAAKh/P,UAAU,gBAAgBjqD,IAAKhL,EAAKgL,IAAKm0J,IAAKn/J,EAAKqwV,UACxDp8B,EAAAA,cAACy7B,GAAD,CAAiBE,YAAa5vV,EAAKyvV,QAASE,cAAe3vV,EAAK01P,QAAU11P,EAAKyvV,UAPnF,IAYF,OACEx7B,EAAAA,cAAC+tB,GAAD,IACE4L,YAAaA,EACb1rU,KAAM76B,KAAK66B,KACX+wC,SAAU5rE,KAAK4rE,SACf66R,KAAMgC,EAAW,gBAAajrW,GAC1BkQ,GAEHg6V,GAAc96B,EAAAA,cAACs7B,GAAD,CACb3/U,MAAOA,EACPg+U,YAAa74V,EAAM64V,aAAeA,EAClCqB,eAAgBe,GAAa3oW,KAAK2oW,YAEnCI,EACAP,GAAY57B,EAAAA,cAACi7B,GAAD,CACXj5T,UAAU,OACVk5T,cAAc,WACdF,eAAgBl6V,EAAMk+D,UAAY5rE,KAAK4rE,WAExC48R,GAAY57B,EAAAA,cAACi7B,GAAD,CACXj5T,UAAU,OACVk5T,cAAc,OACdF,eAAgBl6V,EAAMmtB,MAAQ76B,KAAK66B,OAI1C,EAGH+tU,GAAqBptF,UAAYA,GACjCotF,GAAqBxtF,aAAe,CAClCotF,UAAU,EACVd,YAAY,EACZe,UAAU,4CCvGNjtF,GAAY,CAChB8L,IAAKgzE,GACL1sR,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,QAOPslE,GAAgBv7V,IACpB,MAAM,UACJkgE,EADI,UAEJgsR,EACAtyE,IAAK80E,GAEH1uV,EADCjC,EAJL,GAKIiC,EALJ,IAMM88L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACA,iBACCgsR,GAEH,OACEhtB,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqBmiE,UAAW48H,IADlC,EAKFy+J,GAAaztF,UAAYA,GACzBytF,GAAa7tF,aAtBQ,CACnBkM,IAAK,gDCPD9L,GAAY,CAChB8L,IAAKgzE,GACL1sR,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,QAOPulE,GAAYx7V,IAChB,MAAM,UACJkgE,EADI,UAEJgsR,EACAtyE,IAAK80E,GAEH1uV,EADCjC,EAJL,GAKIiC,EALJ,IAMM88L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACA,aACCgsR,GAEH,OACEhtB,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqBmiE,UAAW48H,IADlC,EAKF0+J,GAAS1tF,UAAYA,GACrB0tF,GAAS9tF,aAtBY,CACnBkM,IAAK,8CCPD9L,GAAY,CAChB8L,IAAKgzE,GACL1sR,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,QAOPwlE,GAAaz7V,IACjB,MAAM,UACJkgE,EADI,UAEJgsR,EACAtyE,IAAK80E,GAEH1uV,EADCjC,EAJL,GAKIiC,EALJ,IAMM88L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACA,cACCgsR,GAEH,OACEhtB,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqBmiE,UAAW48H,IADlC,EAKF2+J,GAAU3tF,UAAYA,GACtB2tF,GAAU/tF,aAtBW,CACnBkM,IAAK,yQCFP,MAAM9L,GAAY,CAChB92P,SAAUi/Q,GAAAA,UAAoB,CAACA,GAAAA,KAAgBA,GAAAA,OAAiBb,WAChEsmE,gBAAiBzlE,GAAAA,OACjB33P,UAAW23P,GAAAA,OACX0lE,gBAAiB1lE,GAAAA,OACjB2lE,eAAgB3lE,GAAAA,OAChB4lE,UAAW5lE,GAAAA,KACXrc,IAAKgzE,GACLyF,OAAQp8D,GAAAA,KAAeb,WACvB82D,UAAWj2D,GAAAA,OACXxoJ,OAAQwoJ,GAAAA,QAAkBA,GAAAA,QAC1BwqD,mBAAoBxqD,GAAAA,MACpBiwD,KAAMjwD,GAAAA,KACN1hP,UAAWo4S,GACXt4V,OAAQs4V,GAAev3D,WACvBgjD,UAAWniD,GAAAA,MACX3pL,SAAU2pL,GAAAA,OACV6lE,kBAAmB7lE,GAAAA,UAAoB,CAACA,GAAAA,OAAkBy2D,KAC1DqP,SAAU9lE,GAAAA,KACV0jE,KAAM1jE,GAAAA,KACNlnI,WAAYknI,GAAAA,MAAgB62D,GAAKh/E,YAG7BJ,GAAe,CACnBouF,kBAAmB,eACnBx9T,UAAW,OACXu9T,WAAW,EACXxJ,QAAQ,EACR5kN,OAAQ,CAAC,EAAG,GACZy4M,MAAM,EACN3xS,UAAW,OACX6jS,UAAW,GACX2jB,SAlCF,WAAiB,EAmCfpC,MAAM,EACN5qM,WAAY,MACL+9L,GAAKp/E,eAId,MAAMsuF,WAAsB98B,EAAAA,UAC1BlrU,WAAAA,CAAYgM,GACVqxV,MAAMrxV,GAEN1N,KAAK2pW,cAAgB3pW,KAAK2pW,cAAcp/V,KAAKvK,MAC7CA,KAAK4pW,cAAgB5pW,KAAK4pW,cAAcr/V,KAAKvK,MAC7CA,KAAK6pW,OAAS7pW,KAAK6pW,OAAOt/V,KAAKvK,MAC/BA,KAAKypW,SAAWzpW,KAAKypW,SAASl/V,KAAKvK,MACnCA,KAAK6wC,MAAQ,CAAEkvT,OAAQryV,EAAMqyV,OAC9B,CAE8B,+BAAxBv/D,CAAyB9yR,EAAOmjC,GACrC,OAAInjC,EAAMqyV,SAAWlvT,EAAMkvT,OAClB,CAAEA,OAAQryV,EAAMqyV,QAEb,IACb,CAEDhmF,kBAAAA,GACM/5Q,KAAK8pW,UAAY9pW,KAAK8pW,SAASpxR,YAAc14E,KAAK8pW,SAASpxR,WAAW,IAAM14E,KAAK8pW,SAASpxR,WAAW,GAAG4J,OAC1GtiF,KAAK8pW,SAASpxR,WAAW,GAAG4J,OAE/B,CAEDqnR,aAAAA,CAAcrwV,GACZtZ,KAAK+pW,WAA6B,kBAATzwV,EAAoBsiV,GAAUtiV,GAAQA,CAChE,CAEDswV,aAAAA,GACE,OAAO5pW,KAAK+pW,UACb,CAEDC,gBAAAA,GACE,OAAOpO,GAAU57V,KAAK0N,MAAMu0C,UAC7B,CAED4nT,MAAAA,CAAOjgS,GACL5pE,KAAK8pW,SAAWlgS,CACjB,CAED6/R,QAAAA,GACEzpW,KAAK0N,MAAM+7V,WACXzpW,KAAKqV,SAAS,CAAE0qV,QAAQ,GACzB,CAEDkK,cAAAA,GACE,MAAM,EAsBFjqW,KAAK0N,OAtBH,UACJksV,EADI,SAEJl1U,EAFI,OAGJq7U,EAHI,KAIJnM,EAJI,OAKJ7xV,EALI,OAMJo5I,EANI,mBAOJgzM,EAPI,gBAQJkb,EACAC,eAAgBY,EATZ,UAUJX,EACAH,gBAAiBe,EAXb,IAYJ7iF,EAZI,UAaJrlO,EAbI,UAcJ6jS,EAdI,SAeJ9rO,EAfI,kBAgBJwvP,EAhBI,SAiBJC,EAjBI,KAkBJpC,EAlBI,WAmBJ5qM,EAnBI,UAoBJzwH,GApBF,EAqBK81T,EArBL,SAuBMwH,EAAiB3P,GAAgB5kI,GACrC,QACAm1I,GACCtQ,GACGwP,EAAkBzP,GAAgB5kI,GACtCo1I,EACAd,EAAkB,GAAH,OAAMA,EAAgB,SAAS,IAC7CrpW,KAAK0N,MAAMksV,WAERwQ,EAAgBtkB,EAAUn8U,KAAIixB,GAAKA,EAAEn1B,OAsBrC4kW,EAAoB,IArBJ,CACpB,CACE5kW,KAAM,SACNolB,QAAS,CACPswH,WAGJ,CACE11I,KAAM,OACNg7N,QAASmzH,EACT/oU,QAAS,CACPsjU,uBAGJ,CACE1oV,KAAM,kBACNolB,QAAS,CACPihU,SAAU0d,KAGdnnW,QAAOu4B,IAAMwvU,EAAcvnV,SAAS+X,EAAEn1B,WACSqgV,GAE3CwkB,EAAmB,YACpB9P,GAAKp/E,cACL3+G,GAFiB,IAGpB2mM,UAAWiE,EAAO5qM,EAAW2mM,UAAY,GACzCr8V,QAASsgW,EAAO5qM,EAAW11J,QAAU,IAGvC,OACE6lU,EAAAA,cAAC4tB,GAAD,MACM8P,EACAxI,EAFN,CAGErL,GAAIsJ,EACJxH,SAAUv4V,KAAKypW,SACfniF,IAAKA,IAELslD,EAAAA,cAAC29B,GAAD,CACEnW,iBAAkBp0V,KAAK+pW,WACvBjkB,UAAWukB,EACXr+T,UAAWA,EACXguE,SAAUA,IAETowO,IAAA,IAAC,IAAExgR,EAAF,MAAOtR,EAAOtsB,UAAWw+T,EAAzB,kBAA0ClX,EAA1C,WAA6DgC,EAA7D,OAAyEzuP,GAA1E,SACC+lO,EAAAA,cAAAA,MAAAA,CAAKhjQ,IAAKA,EAAKtR,MAAOA,EAAOsV,UAAWw7R,EAAiB,wBAAuBoB,EAAiB,+BAA8BlX,EAAoB,YAAS91V,GACrI,oBAAbknB,EAA0BA,EAAS,CAAEmiF,WAAYniF,GACvD6kV,GAAa38B,EAAAA,cAAAA,OAAAA,CAAMhjQ,IAAK0rR,EAAW1rR,IAAKgE,UAAW07R,EAAgBhxS,MAAOg9R,EAAWh9R,QAT7F,IAeL,CAED++M,MAAAA,GAGE,OAFAr3Q,KAAK2pW,cAAc3pW,KAAK0N,MAAM3L,QAE1B/B,KAAK6wC,MAAMkvT,OACmB,WAAzB//V,KAAK0N,MAAMu0C,UAChBjiD,KAAKiqW,iBACLvS,EAAAA,aAAuB9qB,EAAAA,cAAAA,MAAAA,CAAKhjQ,IAAK5pE,KAAK6pW,QAAS7pW,KAAKiqW,kBAA0BjqW,KAAKgqW,oBAGhF,IACR,EAGHN,GAAcluF,UAAYA,GAC1BkuF,GAActuF,aAAeA,GAE7B,OAAesuF,GCpMf,MAAMe,GAAqBA,CAAC/8V,EAAOzG,KACjCA,EAAQyjW,cAAcf,cAAc/N,GAAUluV,EAAM3L,SAC7C,MAGT0oW,GAAmBpqE,aAAe,CAChCqqE,cAAe/mE,GAAAA,OAAiBb,YAGlC2nE,GAAmBjvF,UAAY,CAC7Bz5Q,OAAQs4V,GAAev3D,YCDlB,MAAMtnB,GAAY,CACvB92P,SAAUi/Q,GAAAA,UAAoB,CAACA,GAAAA,KAAgBA,GAAAA,OAC/C33P,UAAW23P,GAAAA,MAAgB03D,IAC3Bt5V,OAAQs4V,GAAev3D,WACvB7gP,UAAWo4S,GACX0F,OAAQp8D,GAAAA,KACR5oO,SAAU4oO,GAAAA,KACV4lE,UAAW5lE,GAAAA,KACX6lE,kBAAmB7lE,GAAAA,UAAoB,CAACA,GAAAA,OAAkBy2D,KAC1DxsR,UAAW+1N,GAAAA,OACXgnE,eAAgBhnE,GAAAA,OAChB2lE,eAAgB3lE,GAAAA,OAChBylE,gBAAiBzlE,GAAAA,OACjBi2D,UAAWj2D,GAAAA,OACX9oO,OAAQ8oO,GAAAA,KACRinE,SAAUjnE,GAAAA,KACV0lE,gBAAiB1lE,GAAAA,OACjB1uN,MAAO0uN,GAAAA,UAAoB,CACzBA,GAAAA,MAAgB,CAAEr6I,KAAMq6I,GAAAA,OAAkBhuR,KAAMguR,GAAAA,SAChDA,GAAAA,SAEFmiD,UAAWniD,GAAAA,MACX3pL,SAAU2pL,GAAAA,OACVxoJ,OAAQwoJ,GAAAA,QAAkBA,GAAAA,QAC1B0wD,SAAU1wD,GAAAA,UAAoB,CAC5BA,GAAAA,KACAA,GAAAA,OACAA,GAAAA,SAEFknE,QAASlnE,GAAAA,OACT0jE,KAAM1jE,GAAAA,KACNiwD,KAAMjwD,GAAAA,MAGFmnE,GAAiB,CACrBxhN,KAAM,EACN3zI,KAAM,IAGFylQ,GAAe,CACnB2kF,QAAQ,EACRwJ,WAAW,EACXqB,UAAU,EACV31R,MAAO61R,GACPjwS,OAAQ,WAAa,EACrBgwS,QAAS,QACTxD,MAAM,GAGR,SAAS0D,GAAe5gV,EAAS6gV,GAC/B,OAAOA,IAAgB7gV,IAAY6gV,GAAeA,EAAYzvS,SAASpxC,GACxE,CAED,SAAS8gV,GAAgB9gV,GAA4B,IAAnB+gV,EAAe,UAAH,6CAAG,GAC/C,OAAOA,GAAgBA,EAAa9tW,QAAU8tW,EAAa7oW,QAAO8oW,GAAcJ,GAAe5gV,EAASghV,KAAc,EACvH,CAED,MAAMC,WAA8Bx+B,EAAAA,UAClClrU,WAAAA,CAAYgM,GACVqxV,MAAMrxV,GAEN1N,KAAKqrW,SAAW,GAChBrrW,KAAKsrW,qBAAuB,KAC5BtrW,KAAKurW,gBAAkBvrW,KAAKurW,gBAAgBhhW,KAAKvK,MACjDA,KAAKugW,oBAAsBvgW,KAAKugW,oBAAoBh2V,KAAKvK,MACzDA,KAAKwrW,mBAAqBxrW,KAAKwrW,mBAAmBjhW,KAAKvK,MACvDA,KAAK66D,OAAS76D,KAAK66D,OAAOtwD,KAAKvK,MAC/BA,KAAKyrW,cAAgBzrW,KAAKyrW,cAAclhW,KAAKvK,MAC7CA,KAAK0rW,cAAgB1rW,KAAK0rW,cAAcnhW,KAAKvK,MAC7CA,KAAK2rW,0BAA4B3rW,KAAK2rW,0BAA0BphW,KAAKvK,MACrEA,KAAK4rW,2BAA6B5rW,KAAK4rW,2BAA2BrhW,KAChEvK,MAEFA,KAAKspJ,KAAOtpJ,KAAKspJ,KAAK/+I,KAAKvK,MAC3BA,KAAK2V,KAAO3V,KAAK2V,KAAKpL,KAAKvK,MAC3BA,KAAK6rW,aAAe7rW,KAAK6rW,aAAathW,KAAKvK,MAC3CA,KAAK6pW,OAAS7pW,KAAK6pW,OAAOt/V,KAAKvK,MAC/BA,KAAK6wC,MAAQ,CAAEkvT,OAAQryV,EAAMqyV,QAC7B//V,KAAK8rW,YAAa,CACnB,CAEDlzF,iBAAAA,GACE54Q,KAAK8rW,YAAa,EAClB9rW,KAAK+rW,cACN,CAEDpxF,oBAAAA,GACE36Q,KAAK8rW,YAAa,EAClB9rW,KAAKwrW,qBACLxrW,KAAKqrW,SAAW,KAChBrrW,KAAKgsW,mBACLhsW,KAAKisW,kBACN,CAE8B,+BAAxBzrE,CAAyB9yR,EAAOmjC,GACrC,OAAInjC,EAAMqyV,SAAWlvT,EAAMkvT,OAClB,CAAEA,OAAQryV,EAAMqyV,QAEb,IACb,CAED4L,yBAAAA,GACM3rW,KAAK0N,MAAMm9V,QAAQtpW,QAAQ,UAAY,IAAMvB,KAAK0N,MAAMk9V,WACtD5qW,KAAKksW,cACPlsW,KAAKisW,mBAEHjsW,KAAK6wC,MAAMkvT,SAAW//V,KAAK0N,MAAMqyV,QACnC//V,KAAK66D,SAGV,CAED+wS,0BAAAA,CAA2BntW,GACrBuB,KAAK0N,MAAMm9V,QAAQtpW,QAAQ,UAAY,IAAMvB,KAAK0N,MAAMk9V,WACtD5qW,KAAKmsW,cACPnsW,KAAKgsW,mBAEPvtW,EAAE07S,UACFn6S,KAAKksW,aAAe1lW,WAClBxG,KAAK2V,KAAKpL,KAAKvK,KAAMvB,GACrBuB,KAAKosW,SAAS,SAGnB,CAEDP,YAAAA,CAAaptW,GACG,WAAVA,EAAEuC,KACJhB,KAAK2V,KAAKlX,EAEb,CAEDorW,MAAAA,CAAOjgS,GACL,MAAM,SAAEyqR,GAAar0V,KAAK0N,MACtB2mV,IACsB,oBAAbA,EACTA,EAASzqR,GACoB,kBAAbyqR,IAChBA,EAASv2E,QAAUl0M,IAGvB5pE,KAAKqsW,SAAWziS,CACjB,CAEDwiS,QAAAA,CAASprW,GACP,MAAM,MAAEi0E,GAAUj1E,KAAK0N,MACvB,MAAqB,kBAAVunE,EACFx3E,MAAMw3E,EAAMj0E,IAAQ8pW,GAAe9pW,GAAOi0E,EAAMj0E,GAElDi0E,CACR,CAEDq3R,gBAAAA,CAAiBvqW,GACf,IAAKA,EACH,OAAO,KACT,MAAMhB,EAAQf,KAAKqrW,SAAS9pW,QAAQQ,GACpC,OAAIhB,GAAS,EACJf,KAAKqrW,SAAStqW,GAChBf,KAAKssW,iBAAiBvqW,EAAOkoB,cACrC,CAEDq/H,IAAAA,CAAK7qJ,GACH,IAAKuB,KAAK0N,MAAMqyV,OAAQ,CAGtB,GAFA//V,KAAKgsW,mBACLhsW,KAAKsrW,qBAAuB7sW,EAAIA,EAAEs7S,eAAiB/5S,KAAKssW,iBAAiB7tW,EAAEsD,QAAU,KACjFtD,GAAKA,EAAEgsB,cAA0C,oBAAnBhsB,EAAEgsB,aAA6B,CAC/D,MAAMD,EAAO/rB,EAAEgsB,eACfzqB,KAAKsrW,qBAAwB9gV,GAAQA,EAAK,IAAOxqB,KAAKsrW,oBACvD,CACDtrW,KAAK66D,OAAOp8D,EACb,CACF,CAEDgtW,aAAAA,CAAchtW,GACRuB,KAAKksW,cACPlsW,KAAKisW,mBAEPjsW,KAAKmsW,aAAe3lW,WAClBxG,KAAKspJ,KAAK/+I,KAAKvK,KAAMvB,GACrBuB,KAAKosW,SAAS,QAEjB,CACDz2V,IAAAA,CAAKlX,GACCuB,KAAK0N,MAAMqyV,SACb//V,KAAKisW,mBACLjsW,KAAKsrW,qBAAuB,KAC5BtrW,KAAK66D,OAAOp8D,GAEf,CAEDitW,aAAAA,CAAcjtW,GACRuB,KAAKmsW,cACPnsW,KAAKgsW,mBAEPhsW,KAAKksW,aAAe1lW,WAClBxG,KAAK2V,KAAKpL,KAAKvK,KAAMvB,GACrBuB,KAAKosW,SAAS,QAEjB,CAGDJ,gBAAAA,GACE7kW,aAAanH,KAAKmsW,cAClBnsW,KAAKmsW,kBAAe3uW,CACrB,CAEDyuW,gBAAAA,GACE9kW,aAAanH,KAAKksW,cAClBlsW,KAAKksW,kBAAe1uW,CACrB,CAED+iW,mBAAAA,CAAoB9hW,GAClB,MAAM8tW,EAAWvsW,KAAK0N,MAAMm9V,QAAQvnW,MAAM,KAEtCipW,EAAShrW,QAAQ,WAAa,IAAMvB,KAAK0N,MAAMqyV,QAAUkL,GAAgBxsW,EAAEsD,OAAQ/B,KAAKqrW,YACtFrrW,KAAKksW,cACPlsW,KAAKisW,mBAEHjsW,KAAK0N,MAAMqyV,SAAWgL,GAAetsW,EAAEsD,OAAQ/B,KAAKqsW,UACtDrsW,KAAK0rW,cAAcjtW,GACTuB,KAAK0N,MAAMqyV,QACrB//V,KAAKyrW,cAAchtW,IAEZ8tW,EAAShrW,QAAQ,UAAY,GAAK0pW,GAAgBxsW,EAAEsD,OAAQ/B,KAAKqrW,YACtErrW,KAAKksW,cACPlsW,KAAKisW,mBAGFjsW,KAAK0N,MAAMqyV,OAGd//V,KAAK0rW,cAAcjtW,GAFnBuB,KAAKyrW,cAAchtW,GAKxB,CAED+tW,iBAAAA,CAAkBl7V,EAAMqnV,EAAS8T,GAC/BzsW,KAAKqrW,SAAStsW,SAAQgD,IACpBA,EAAO8O,iBAAiBS,EAAMqnV,EAAS8T,EAAvC,GAEH,CAEDC,oBAAAA,CAAqBp7V,EAAMqnV,EAAS8T,GAClCzsW,KAAKqrW,SAAStsW,SAAQgD,IACpBA,EAAOiP,oBAAoBM,EAAMqnV,EAAS8T,EAA1C,GAEH,CAEDlB,eAAAA,GACE,GAAIvrW,KAAK0N,MAAMm9V,QAAS,CACtB,IAAI0B,EAAWvsW,KAAK0N,MAAMm9V,QAAQvnW,MAAM,MACJ,IAAhCipW,EAAShrW,QAAQ,aACfgrW,EAAShrW,QAAQ,UAAY,GAAKgrW,EAAShrW,QAAQ,WAAa,IAClEooB,SAAS9Y,iBAAiB,QAAS7Q,KAAKugW,qBAAqB,GAG3DvgW,KAAKqrW,UAAYrrW,KAAKqrW,SAASjuW,SAC7BmvW,EAAShrW,QAAQ,UAAY,IAC/BvB,KAAKwsW,kBACH,YACAxsW,KAAKyrW,eACL,GAEFzrW,KAAKwsW,kBACH,WACAxsW,KAAK0rW,eACL,IAGAa,EAAShrW,QAAQ,UAAY,IAC/BvB,KAAKwsW,kBAAkB,UAAWxsW,KAAKspJ,MAAM,GAC7CtpJ,KAAKwsW,kBAAkB,WAAYxsW,KAAK2V,MAAM,IAEhD3V,KAAKwsW,kBAAkB,UAAWxsW,KAAK6rW,cAAc,IAG1D,CACF,CAEDL,kBAAAA,GACMxrW,KAAKqrW,WACPrrW,KAAK0sW,qBACH,YACA1sW,KAAKyrW,eACL,GAEFzrW,KAAK0sW,qBACH,WACA1sW,KAAK0rW,eACL,GAEF1rW,KAAK0sW,qBAAqB,UAAW1sW,KAAK6rW,cAAc,GACxD7rW,KAAK0sW,qBAAqB,UAAW1sW,KAAKspJ,MAAM,GAChDtpJ,KAAK0sW,qBAAqB,WAAY1sW,KAAK2V,MAAM,IAGnDgU,SAAS3Y,oBAAoB,QAAShR,KAAKugW,qBAAqB,EACjE,CAEDwL,YAAAA,GACE,MAAMY,EAAY/Q,GAAU57V,KAAK0N,MAAM3L,QAAQ,GAC3C4qW,IAAc3sW,KAAKqrW,WACrBrrW,KAAKwrW,qBACLxrW,KAAKqrW,SAAWsB,EAAY9rW,MAAM8oE,KAAKgjS,GAAa,GACpD3sW,KAAKsrW,qBAAuBtrW,KAAKsrW,sBAAwBtrW,KAAKqrW,SAAS,GACvErrW,KAAKurW,kBAER,CAED1wS,MAAAA,CAAOp8D,GACL,OAAIuB,KAAK0N,MAAMqtD,WAAa/6D,KAAK8rW,WACxBrtW,GAAKA,EAAE8jF,iBAGTviF,KAAK0N,MAAMmtD,OAAOp8D,EAC1B,CAED44Q,MAAAA,GACMr3Q,KAAK0N,MAAMqyV,QACb//V,KAAK+rW,eAGP,MAAMhqW,EAAS/B,KAAKsrW,sBAAwBtrW,KAAKqrW,SAAS,GAC1D,IAAKtpW,EACH,OAAO,KAGT,MAAM,UACJ6rE,EADI,UAEJgsR,EAFI,eAGJ+Q,EAHI,OAIJ5K,EAJI,UAKJwJ,EALI,kBAMJC,EANI,UAOJx9T,EAPI,gBAQJq9T,EARI,eASJC,EATI,gBAUJF,EAVI,UAWJnnT,EAXI,UAYJ6jS,EAZI,SAaJ9rO,EAbI,OAcJmhC,EAdI,KAeJksN,EAfI,KAgBJzT,EAhBI,SAiBJlvU,GACE1kB,KAAK0N,MAEHjC,EAAaouV,GAAK75V,KAAK0N,MAAOzO,OAAOmB,KAAKo7Q,KAE1CoxF,EAAgBjT,GAAgByP,EAAiBxP,GAEjDpvJ,EAAUmvJ,GAAgBgR,EAAgB/Q,GAEhD,OACEhtB,EAAAA,cAAC88B,GAAD,CACE97R,UAAWA,EACX7rE,OAAQA,EACRg+V,OAAQA,EACRwJ,UAAWA,EACXC,kBAAmBA,EACnBx9T,UAAWA,EACXq9T,gBAAiBA,EACjBC,eAAgBA,EAChBF,gBAAiBwD,EACjB3qT,UAAWA,EACX6jS,UAAWA,EACX9rO,SAAUA,EACVmhC,OAAQA,EACRy+M,UAAWA,EACXyN,KAAMA,EACNzT,KAAMA,IAELiZ,IAAA,IAAC,OAAEhmQ,GAAH,SACC+lO,EAAAA,cAAAA,MAAAA,GAAAA,CAAAA,EACMnhU,EADN,CAEEm+D,IAAK5pE,KAAK6pW,OACVj8R,UAAW48H,EACXjnI,KAAK,UACL4uF,YAAanyJ,KAAK2rW,0BAClB/2R,aAAc50E,KAAK4rW,2BACnB72R,UAAW/0E,KAAK6rW,eAEK,oBAAbnnV,EAA0BA,EAAS,CAAEmiF,WAAYniF,EA5B/D,GAkCH,EAGH0mV,GAAsB5vF,UAAYA,GAClC4vF,GAAsBhwF,aAAeA,GAErC,OAAegwF,GCjZf,MAOM0B,GAAWp/V,IACf,MAAMk/V,EAAgB73I,GACpB,UACA,OACArnN,EAAM07V,iBAGF5+J,EAAUuqB,GACd,gBACArnN,EAAMi9V,gBAIR,OACE/9B,EAAAA,cAACw+B,GAAD,MACM19V,EADN,CAEE47V,eAAe,gBACfF,gBAAiBwD,EACjBjC,eAAgBngK,IALpB,EAUFsiK,GAAQtxF,UAAYA,GACpBsxF,GAAQ1xF,aA/Ba,CACnBpvO,UAAW,QACXq9T,gBAAiB,aACjBwB,QAAS,QACT1vN,OAAQ,CAAC,EAAG,IA8Bd,OAAe2xN,GCjCf,MAAMhT,GAAW,CAAC,eAEH,MAAMiT,WAA4Bn1R,EAAAA,UAC/Cl2E,WAAAA,CAAYgM,GACVqxV,MAAMrxV,GAEN1N,KAAK6wC,MAAQ,CAAEkvT,OAAQryV,EAAMi2V,cAAe,GAC5C3jW,KAAK66D,OAAS76D,KAAK66D,OAAOtwD,KAAKvK,KAChC,CAED66D,MAAAA,GACE76D,KAAKqV,SAAS,CAAE0qV,QAAS//V,KAAK6wC,MAAMkvT,QACrC,CAED1oF,MAAAA,GACE,OAAOu1D,EAAAA,cAACkgC,GAAD,IAAS/M,OAAQ//V,KAAK6wC,MAAMkvT,OAAQllS,OAAQ76D,KAAK66D,QAAYg/R,GAAK75V,KAAK0N,MAAOosV,KACtF,EAGHiT,GAAoBvxF,UAApB,IACEmoF,YAAahgE,GAAAA,MACVmpE,GAAQtxF,oDCrBPA,GAAY,CAChB8L,IAAKgzE,GACL1sR,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,QAOPqpE,GAAiBt/V,IACrB,MAAM,UACJkgE,EADI,UAEJgsR,EACAtyE,IAAK80E,GAEH1uV,EADCjC,EAJL,GAKIiC,EALJ,IAOM88L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACA,kBACCgsR,GAEH,OACEhtB,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqBmiE,UAAW48H,IADlC,EAKFwiK,GAAcxxF,UAAYA,GAC1BwxF,GAAc5xF,aAvBO,CACnBkM,IAAK,+CCPD9L,GAAY,CAChB8L,IAAKgzE,GACL1sR,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,QAOPspE,GAAev/V,IACnB,MAAM,UACJkgE,EADI,UAEJgsR,EACAtyE,IAAK80E,GAEH1uV,EADCjC,EAJL,GAKIiC,EALJ,IAOM88L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACA,gBACCgsR,GAEH,OACEhtB,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqBmiE,UAAW48H,IADlC,EAKFyiK,GAAYzxF,UAAYA,GACxByxF,GAAY7xF,aAvBS,CACnBkM,IAAK,mMCPD9L,GAAY,CAChB92P,SAAUi/Q,GAAAA,KACVupE,IAAKvpE,GAAAA,KACL76K,MAAO66K,GAAAA,KACPrc,IAAKgzE,GACLv9V,MAAO4mS,GAAAA,UAAoB,CACzBA,GAAAA,OACAA,GAAAA,SAEFpkR,IAAKokR,GAAAA,UAAoB,CACvBA,GAAAA,OACAA,GAAAA,SAEFxkR,IAAKwkR,GAAAA,UAAoB,CACvBA,GAAAA,OACAA,GAAAA,SAEFwpE,SAAUxpE,GAAAA,KACVypE,QAASzpE,GAAAA,KACT/mE,MAAO+mE,GAAAA,OACP/1N,UAAW+1N,GAAAA,OACX0pE,aAAc1pE,GAAAA,OACdi2D,UAAWj2D,GAAAA,OACXrrO,MAAOqrO,GAAAA,OACP2pE,SAAU3pE,GAAAA,OACV4pE,iBAAkB5pE,GAAAA,OAClB6pE,kBAAmB7pE,GAAAA,QAYf8pE,GAAY//V,IAChB,MAAM,SACJgX,EADI,UAEJkpD,EAFI,aAGJy/R,EAHI,UAIJzT,EAJI,MAKJ78V,EALI,IAMJwiB,EANI,IAOJJ,EAPI,SAQJguV,EARI,QASJC,EATI,MAUJxwI,EAVI,IAWJswI,EAXI,MAYJpkP,EACAw+J,IAAK80E,EAbD,MAcJ9jS,EAdI,SAeJg1S,EAfI,iBAgBJC,EAhBI,kBAiBJC,GAEE9/V,EADCjC,EAlBL,GAmBIiC,EAnBJ,IAqBMggW,EAAYtvW,GAASrB,GAASqB,GAAS+gB,GAAQ,IAE/CwuV,EAAkBhU,GAAgB5kI,GACtCnnJ,EACA,YACCgsR,GAUGgU,EAAmB,CACvBhgS,UATyB+rR,GAAgB5kI,GACzC,eACAm4I,GAAMt/R,GAA4By/R,EAClCF,EAAW,wBAA0B,KACrCvwI,EAAQ,MAAH,OAASA,GAAU,KACxBwwI,GAAWD,EAAW,uBAAyB,MAC9CvT,GAIDthS,MAAO,YACD40S,EAAM50S,EAAQ,CAAC,GAChBg1S,GAFA,IAGHv0V,MAAO,GAAF,OAAK20V,EAAQ,OAEpBnqS,KAAM,cACN,gBAAiBxmE,EACjB,gBAAiBwiB,EACjB,gBAAiBJ,EACjB,iBAAkBouV,EAClB,kBAAmBC,EACnB9oV,SAAUA,GAGZ,OAAIwoV,EAEAtgC,EAAAA,cAACwvB,EAAD,MACM3wV,EACAmiW,IAMRhhC,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqB6sD,MAAOA,EAAOsV,UAAW+/R,IAC3C7kP,EAAQpkG,EAAWkoT,EAAAA,cAAAA,MAASghC,GAFjC,EAOFH,GAASjyF,UAAYA,GACrBiyF,GAASryF,aA/EY,CACnBkM,IAAK,MACLvqR,MAAO,EACPwiB,IAAK,EACLJ,IAAK,IACLm5C,MAAO,CAAC,EACRg1S,SAAU,CAAC,GCnCb,MAAM9xF,GAAY,CAChB92P,SAAUi/Q,GAAAA,KAAeb,WACzBxpR,KAAMqqR,GAAAA,KAGR,MAAM+jC,WAAekF,EAAAA,UACnBjyD,oBAAAA,GACM36Q,KAAK6tW,aACPlkV,SAASuuC,KAAKO,YAAYz4D,KAAK6tW,aAEjC7tW,KAAK6tW,YAAc,IACpB,CAEDx2F,MAAAA,GACE,OAAKikF,IAIAt7V,KAAK0N,MAAM4L,MAAStZ,KAAK6tW,cAC5B7tW,KAAK6tW,YAAclkV,SAASC,cAAc,OAC1CD,SAASuuC,KAAKG,YAAYr4D,KAAK6tW,cAG1BnW,EAAAA,aACL13V,KAAK0N,MAAMgX,SACX1kB,KAAK0N,MAAM4L,MAAQtZ,KAAK6tW,cAVjB,IAYV,EAGHnmC,GAAOlsD,UAAYA,GAEnB,OAAeksD,GCnBf,SAASwxB,KAAQ,CAEjB,MAAM4U,GAAgBnqE,GAAAA,MAAgB62D,GAAKh/E,WAErCA,GAAY,CAChBukF,OAAQp8D,GAAAA,KACRggB,UAAWhgB,GAAAA,KACXzmF,SAAUymF,GAAAA,KACVoqE,WAAYpqE,GAAAA,UAAoB,CAC9BA,GAAAA,KACAA,GAAAA,MAAgB,CAAC,KAAM,KAAM,KAAM,SAErCqqE,WAAYrqE,GAAAA,KACZ/yR,KAAM+yR,GAAAA,OACN9oO,OAAQ8oO,GAAAA,KACRqjE,SAAUrjE,GAAAA,KACVpgO,KAAMogO,GAAAA,OACN7/N,WAAY6/N,GAAAA,OACZsqE,SAAUtqE,GAAAA,UAAoB,CAC5BA,GAAAA,KACAA,GAAAA,MAAgB,CAAC,aAEnBs0D,QAASt0D,GAAAA,KACT00D,OAAQ10D,GAAAA,KACRuqE,SAAUvqE,GAAAA,KACV8lE,SAAU9lE,GAAAA,KACVj/Q,SAAUi/Q,GAAAA,KACV/1N,UAAW+1N,GAAAA,OACXwqE,cAAexqE,GAAAA,OACfyqE,eAAgBzqE,GAAAA,OAChB0qE,kBAAmB1qE,GAAAA,OACnB2qE,iBAAkB3qE,GAAAA,OAClBhtL,SAAUgtL,GAAAA,KACV0jE,KAAM1jE,GAAAA,KACNi2D,UAAWj2D,GAAAA,OACXj0I,OAAQi0I,GAAAA,UAAoB,CAC1BA,GAAAA,OACAA,GAAAA,SAEF4qE,mBAAoBT,GACpBU,gBAAiBV,GACjBzZ,SAAU1wD,GAAAA,UAAoB,CAC5BA,GAAAA,OACAA,GAAAA,OACAA,GAAAA,OAEF8qE,eAAgB9qE,GAAAA,KAChB+qE,sBAAuB/qE,GAAAA,KACvB1hP,UAAWo4S,GACXsU,UAAWhrE,GAAAA,MAGPirE,GAAc3vW,OAAOmB,KAAKo7Q,IAE1BJ,GAAe,CACnB2kF,QAAQ,EACRp8C,WAAW,EACXzmG,UAAU,EACV8wJ,YAAY,EACZzqS,KAAM,SACN0qS,UAAU,EACVjH,UAAU,EACVt3M,OAAQ,KACR23M,MAAM,EACN6G,SAAUhV,GACVuQ,SAAUvQ,GACVsV,gBAAiB,CACfznW,QAASwzV,GAAmBG,OAE9B6T,mBAAoB,CAClB5X,cAAc,EACd5vV,QAASwzV,GAAmBC,MAE9BiU,gBAAgB,EAChBC,uBAAuB,EACvBzsT,UAAW,OACX0sT,WAAW,GAGb,MAAMjU,WAAc9tB,EAAAA,UAClBlrU,WAAAA,CAAYgM,GACVqxV,MAAMrxV,GAEN1N,KAAK8pW,SAAW,KAChB9pW,KAAK6uW,qBAAuB,KAC5B7uW,KAAK8uW,qBAAuB9uW,KAAK8uW,qBAAqBvkW,KAAKvK,MAC3DA,KAAK+uW,oBAAsB/uW,KAAK+uW,oBAAoBxkW,KAAKvK,MACzDA,KAAKgvW,wBAA0BhvW,KAAKgvW,wBAAwBzkW,KAAKvK,MACjEA,KAAKivW,aAAejvW,KAAKivW,aAAa1kW,KAAKvK,MAC3CA,KAAKkvW,8BAAgClvW,KAAKkvW,8BAA8B3kW,KAAKvK,MAC7EA,KAAKmvW,UAAYnvW,KAAKmvW,UAAU5kW,KAAKvK,MACrCA,KAAKkuW,SAAWluW,KAAKkuW,SAAS3jW,KAAKvK,MACnCA,KAAKypW,SAAWzpW,KAAKypW,SAASl/V,KAAKvK,MACnCA,KAAKovW,sBAAwBpvW,KAAKovW,sBAAsB7kW,KAAKvK,MAC7DA,KAAKqvW,8BAAgCrvW,KAAKqvW,8BAA8B9kW,KAAKvK,MAC7EA,KAAK2uW,UAAY3uW,KAAK2uW,UAAUpkW,KAAKvK,MAErCA,KAAK6wC,MAAQ,CACXkvT,QAAQ,EACRuP,6BAA6B,EAEhC,CAED12F,iBAAAA,GACE,MAAM,OAAEmnF,EAAF,UAAUp8C,EAAV,QAAqBs0C,GAAYj4V,KAAK0N,MAExCqyV,IACF//V,KAAK68B,OACL78B,KAAKqV,SAAS,CAAE0qV,QAAQ,IACpBp8C,GACF3jT,KAAKuvW,YAILtX,GACFA,IAIFtuU,SAAS9Y,iBAAiB,QAAS7Q,KAAK2uW,WAAW,GAEnD3uW,KAAK8rW,YAAa,CACnB,CAED/xF,kBAAAA,CAAmBC,EAAW68E,GAC5B,GAAI72V,KAAK0N,MAAMqyV,SAAW/lF,EAAU+lF,OAIlC,OAHA//V,KAAK68B,YACL78B,KAAKqV,SAAS,CAAE0qV,QAAQ,IAMtB//V,KAAK0N,MAAMi2S,WAAa3jT,KAAK6wC,MAAMkvT,SAAWlJ,EAAUkJ,QAC1D//V,KAAKuvW,WAGHvvW,KAAK8pW,UAAY9vF,EAAUtqH,SAAW1vJ,KAAK0N,MAAMgiJ,SACnD1vJ,KAAK8pW,SAASxxS,MAAMo3F,OAAS1vJ,KAAK0N,MAAMgiJ,OAE3C,CAEDirH,oBAAAA,GACE36Q,KAAKqvW,gCAEDrvW,KAAK0N,MAAM2qV,QACbr4V,KAAK0N,MAAM2qV,SAGTr4V,KAAK8pW,WACP9pW,KAAKmN,WACDnN,KAAK0N,MAAMqyV,QAAU//V,KAAK6wC,MAAMkvT,SAClC//V,KAAKyrE,SAIT9hD,SAAS3Y,oBAAoB,QAAShR,KAAK2uW,WAAW,GACtD3uW,KAAK8rW,YAAa,CACnB,CAED6C,SAAAA,CAAWa,GACT,IAAKxvW,KAAK0N,MAAMihW,UACd,OAGF,IAAK3uW,KAAK8pW,SACR,OAEF,GAAI9pW,KAAKyvW,SAAWzvW,KAAKyvW,QAAQx2S,aAAeu2S,EAAGztW,OACjD,OAEF,GAAI/B,KAAK0vW,WAAchV,GAAMiV,UAAY,EACvC,OAEF,MAAMjrV,EAAW1kB,KAAK8uW,uBAEtB,IAAK,IAAIzuW,EAAI,EAAGA,EAAIqkB,EAAStnB,OAAQiD,IACnC,GAAIqkB,EAASrkB,KAAOmvW,EAAGztW,OACrB,OAGA2iB,EAAStnB,OAAS,IACpBoyW,EAAGjtR,iBACHitR,EAAGltQ,kBACH59E,EAAS,GAAG49D,QAEf,CAED4rR,QAAAA,CAAS50V,EAAM+qV,GACbrkW,KAAK0N,MAAMwgW,YACVluW,KAAK0N,MAAM8gW,gBAAgBxW,WAAakB,IAAM5/U,EAAM+qV,EACtD,CAEDoF,QAAAA,CAASnwV,GACP,MAAM,eAAEm1V,GAAmBzuW,KAAK0N,MAEhC1N,KAAK0N,MAAM+7V,YACVzpW,KAAK0N,MAAM8gW,gBAAgBjW,UAAYW,IAAM5/U,GAE1Cm1V,GACFzuW,KAAKmN,UAEPnN,KAAKyrE,QAEDzrE,KAAK8rW,YACP9rW,KAAKqV,SAAS,CAAE0qV,QAAQ,GAE3B,CAEDwP,QAAAA,GACMvvW,KAAKyvW,SAAWzvW,KAAKyvW,QAAQx2S,YAAuD,oBAAlCj5D,KAAKyvW,QAAQx2S,WAAWqpB,OAC5EtiF,KAAKyvW,QAAQx2S,WAAWqpB,OAE3B,CAEDwsR,oBAAAA,GACE,OAAO9uW,KAAK8pW,SAAS3uS,iBAAiB+vK,GAAkB//N,KAAK,MAC9D,CAEDykW,eAAAA,GACE,IAAIC,EACJ,MAAMC,EAAoB9vW,KAAK8uW,uBAE/B,IACEe,EAAelmV,SAASouE,aACzB,CAAC,MAAO89L,GACPg6E,EAAeC,EAAkB,EAClC,CACD,OAAOD,CACR,CAGDd,mBAAAA,CAAoBtwW,GAClB,GAAIA,EAAEsD,SAAW/B,KAAK+vW,kBAAmB,CACvCtxW,EAAE6jG,kBAEF,MAAM2rQ,EAAWjuW,KAAKyvW,QAAUzvW,KAAKyvW,QAAQx2S,WAAa,KAM1D,GAJIg1S,GAAYxvW,EAAEsD,SAAWksW,GAAoC,WAAxBjuW,KAAK0N,MAAMugW,UAClDjuW,KAAKkvW,iCAGFlvW,KAAK0N,MAAMqyV,SAAkC,IAAxB//V,KAAK0N,MAAMugW,SAAmB,OAEpDA,GAAYxvW,EAAEsD,SAAWksW,GAAYjuW,KAAK0N,MAAMmtD,QAClD76D,KAAK0N,MAAMmtD,OAAOp8D,EAErB,CACF,CAED0wW,SAAAA,CAAU1wW,GACR,GAAgB,IAAZA,EAAEu+S,MAAa,OACnB,GAAIh9S,KAAK0vW,WAAchV,GAAMiV,UAAY,EAAI,OAE7C,MAAMG,EAAoB9vW,KAAK8uW,uBACzBkB,EAAiBF,EAAkB1yW,OACzC,GAAuB,IAAnB4yW,EAAsB,OAC1B,MAAMH,EAAe7vW,KAAK4vW,kBAE1B,IAAIK,EAAe,EAEnB,IAAK,IAAI5vW,EAAI,EAAGA,EAAI2vW,EAAgB3vW,GAAK,EACvC,GAAIyvW,EAAkBzvW,KAAOwvW,EAAc,CACzCI,EAAe5vW,EACf,KACD,CAGC5B,EAAEgqC,UAA6B,IAAjBwnU,GAChBxxW,EAAE8jF,iBACFutR,EAAkBE,EAAiB,GAAG1tR,SAC5B7jF,EAAEgqC,UAAYwnU,IAAiBD,EAAiB,IAC1DvxW,EAAE8jF,iBACFutR,EAAkB,GAAGxtR,QAExB,CAED0sR,uBAAAA,CAAwBvwW,GACtBuB,KAAK+vW,kBAAoBtxW,EAAEsD,MAC5B,CAEDktW,YAAAA,CAAaxwW,GACPuB,KAAK0N,MAAMqyV,QAAUthW,EAAEg7S,UAAYshD,GAASC,KAAOh7V,KAAK0N,MAAMmtD,SAC5D76D,KAAK0N,MAAMs5V,UACbvoW,EAAE8jF,iBACF9jF,EAAE6jG,kBAEFtiG,KAAK0N,MAAMmtD,OAAOp8D,IAEa,WAAxBuB,KAAK0N,MAAMugW,WAClBxvW,EAAE8jF,iBACF9jF,EAAE6jG,kBAEFtiG,KAAKkvW,iCAGV,CAEDA,6BAAAA,GACElvW,KAAKqvW,gCACLrvW,KAAKqV,SAAS,CAAEi6V,6BAA6B,IAC7CtvW,KAAKkwW,0BAA4B1pW,YAAW,KAC1CxG,KAAKqV,SAAS,CAAEi6V,6BAA6B,GAA7C,GACC,IACJ,CAEDzyU,IAAAA,GACE,IACE78B,KAAKmwW,mBAAqBxmV,SAASouE,aACpC,CAAC,MAAO89L,GACP71R,KAAKmwW,mBAAqB,IAC3B,CAEInwW,KAAK8pW,WACR9pW,KAAK8pW,SAAWngV,SAASC,cAAc,OACvC5pB,KAAK8pW,SAASjwS,aAAa,WAAY,MACvC75D,KAAK8pW,SAASxxS,MAAMvsB,SAAW,WAC/B/rC,KAAK8pW,SAASxxS,MAAMo3F,OAAS1vJ,KAAK0N,MAAMgiJ,OACxC1vJ,KAAKowW,gBAAkBxU,GAAU57V,KAAK0N,MAAMu0C,WAC5CjiD,KAAKowW,gBAAgB/3S,YAAYr4D,KAAK8pW,WAGxC9pW,KAAK6uW,qBAAuBvV,KAC5BC,KAEwB,IAApBmB,GAAMiV,YACRhmV,SAASuuC,KAAK0V,UAAYmnJ,GACxBprM,SAASuuC,KAAK0V,UACd+rR,GAAgB,aAAc35V,KAAK0N,MAAMksV,aAI7C55V,KAAK0vW,WAAahV,GAAMiV,UACxBjV,GAAMiV,WAAa,CACpB,CAEDxiW,OAAAA,GACMnN,KAAK8pW,WACP9pW,KAAKowW,gBAAgB33S,YAAYz4D,KAAK8pW,UACtC9pW,KAAK8pW,SAAW,MAGlB9pW,KAAKovW,uBACN,CAEDA,qBAAAA,GACE,GAAIpvW,KAAKmwW,mBAAoB,CAC3B,MAAM,sBAAEzB,GAA0B1uW,KAAK0N,MACnC1N,KAAKmwW,mBAAmB7tR,OAASosR,GAAuB1uW,KAAKmwW,mBAAmB7tR,QACpFtiF,KAAKmwW,mBAAqB,IAC3B,CACF,CAED1kS,KAAAA,GACE,GAAIivR,GAAMiV,WAAa,EAAG,CACxB,MAAMU,EAAqB1W,GAAgB,aAAc35V,KAAK0N,MAAMksV,WAE9D0W,EAA0B,IAAIr6I,OAAJ,eAAmBo6I,EAAmB,UACtE1mV,SAASuuC,KAAK0V,UAAYjkD,SAASuuC,KAAK0V,UAAUrlE,QAAQ+nW,EAAyB,KAAK1qW,MACzF,CACD5F,KAAKovW,wBACL1U,GAAMiV,UAAYzwV,KAAKC,IAAI,EAAGu7U,GAAMiV,UAAY,GAEhDvW,GAAkBp5V,KAAK6uW,qBACxB,CAED0B,iBAAAA,GACE,MAAM9kW,EAAaouV,GAAK75V,KAAK0N,MAAOkhW,IAC9B4B,EAAkB,eAExB,OACE5jC,EAAAA,cAAAA,MAAAA,GAAAA,CAAAA,EACMnhU,EADN,CAEEmiE,UAAW+rR,GAAgB5kI,GAAWy7I,EAAiBxwW,KAAK0N,MAAMkgE,UAAW,CAC3E,CAAC,SAAD,OAAU5tE,KAAK0N,MAAMkD,OAAS5Q,KAAK0N,MAAMkD,KACzC,CAAC,GAAD,OAAI4/V,EAAgB,cAAaxwW,KAAK0N,MAAMwvM,SAC5C,CAAC,GAAD,OAAIszJ,EAAgB,gBAAexwW,KAAK0N,MAAMsgW,WAC9C,oBAA8C,IAA1BhuW,KAAK0N,MAAMqgW,WAC/B,CAAC,oBAAD,OAAqB/tW,KAAK0N,MAAMqgW,WAAW,UAA4C,kBAA3B/tW,KAAK0N,MAAMqgW,aACrE/tW,KAAK0N,MAAMksV,WACfr2R,KAAK,WACLqG,IAAM76D,IACJ/O,KAAKyvW,QAAU1gW,CAAf,IAGF69T,EAAAA,cAAAA,MAAAA,CACEh/P,UAAW+rR,GACT5kI,GAAW,gBAAiB/0N,KAAK0N,MAAM4gW,kBACvCtuW,KAAK0N,MAAMksV,YAGZ55V,KAAK0N,MAAMgX,UAInB,CAED2yP,MAAAA,GACE,MAAM,eACJo3F,GACEzuW,KAAK0N,MAET,GAAM1N,KAAK8pW,WAAa9pW,KAAK6wC,MAAMkvT,SAAW0O,GAAiB,CAC7D,MAAMgC,IAAkBzwW,KAAK8pW,WAAa9pW,KAAK6wC,MAAMkvT,SAAW0O,EAChEzuW,KAAK8pW,SAASxxS,MAAMwpG,QAAU2uM,EAAgB,OAAS,QAEvD,MAAM,cACJtC,EADI,eAEJC,EAFI,kBAGJC,EAHI,UAIJzU,EAJI,OAKJmG,EALI,SAMJkO,EANI,KAOJ1qS,EAPI,WAQJO,EARI,SASJ6yC,EATI,SAUJ09O,GACEr0V,KAAK0N,MAEHgjW,EAAkB,CACtBt9C,QAASpzT,KAAK+uW,oBACdj6R,YAAa90E,KAAKgvW,wBAClB2B,QAAS3wW,KAAKivW,aACdl6R,UAAW/0E,KAAKmvW,UAChB72S,MAAO,CAAEwpG,QAAS,SAClB,kBAAmBh+F,EACnBP,OACAxL,SAAU,MAGN64S,EAAgB5wW,KAAK0N,MAAM25V,KAC3BmH,EAAkB,YACnBhU,GAAKp/E,cACLp7Q,KAAK0N,MAAM8gW,iBAFK,IAGnBpL,UAAWwN,EAAgB5wW,KAAK0N,MAAM8gW,gBAAgBpL,UAAY,GAClEr8V,QAAS6pW,EAAgB5wW,KAAK0N,MAAM8gW,gBAAgBznW,QAAU,IAE1DwnW,EAAqB,YACtB/T,GAAKp/E,cACLp7Q,KAAK0N,MAAM6gW,oBAFQ,IAGtBnL,UAAWwN,EAAgB5wW,KAAK0N,MAAM6gW,mBAAmBnL,UAAY,GACrEr8V,QAAS6pW,EAAgB5wW,KAAK0N,MAAM6gW,mBAAmBxnW,QAAU,IAG7D8pW,EAAW5C,IACf2C,EACGhkC,EAAAA,cAAC4tB,GAAD,MACK+T,EADL,CAEC9X,GAAIsJ,KAAYkO,EAChBrU,UAAWA,EACXhsR,UAAW+rR,GAAgB5kI,GAAW,iBAAkBs5I,GAAoBzU,MAE5EhtB,EAAAA,cAAAA,MAAAA,CAAKh/P,UAAW+rR,GAAgB5kI,GAAW,iBAAkB,OAAQs5I,GAAoBzU,MAG/F,OACEhtB,EAAAA,cAAClF,GAAD,CAAQpuT,KAAMtZ,KAAK8pW,UACjBl9B,EAAAA,cAAAA,MAAAA,CAAKh/P,UAAW+rR,GAAgBwU,IAC9BvhC,EAAAA,cAAC4tB,GAAD,MACMkW,EACAlC,EAFN,CAGE/X,GAAIsJ,EACJ/H,UAAWh4V,KAAKkuW,SAChB3V,SAAUv4V,KAAKypW,SACf7P,UAAWA,EACXhsR,UAAW+rR,GAAgB5kI,GAAW,QAASq5I,EAAgBpuW,KAAK6wC,MAAMy+T,6BAA+B,gBAAiB1V,GAC1HvF,SAAUA,IAET19O,EACA32G,KAAKuwW,qBAEPM,GAIR,CACD,OAAO,IACR,CAEDxB,6BAAAA,GACMrvW,KAAKkwW,4BACP/oW,aAAanH,KAAKkwW,2BAClBlwW,KAAKkwW,+BAA4B1yW,EAEpC,EAGHk9V,GAAMl/E,UAAYA,GAClBk/E,GAAMt/E,aAAeA,GACrBs/E,GAAMiV,UAAY,EAElB,OAAejV,mGCxfTl/E,GAAY,CAChB8L,IAAKgzE,GACLwW,QAASxW,GACTz/R,OAAQ8oO,GAAAA,KACR/1N,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,OACXj/Q,SAAUi/Q,GAAAA,KACVotE,eAAgBptE,GAAAA,OAChBl4N,MAAOk4N,GAAAA,QASHqtE,GAAetjW,IACnB,IAAIujW,EACJ,MAAM,UACJrjS,EADI,UAEJgsR,EAFI,SAGJl1U,EAHI,OAIJm2C,EACAysN,IAAK80E,EACL0U,QAASI,EANL,eAOJH,EAPI,MAQJtlS,GACkB/9D,EAAfjC,EATL,GASoBiC,EATpB,IAWM88L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACA,gBACCgsR,GAQH,OANKnuR,GAAS5Q,IACZo2S,EACErkC,EAAAA,cAAAA,SAAAA,CAAQt7T,KAAK,SAAS8hT,QAASv4P,EAAQ+S,UAAW+rR,GAAgB,YAAaC,GAAY,aAAYmX,KAKzGnkC,EAAAA,cAACskC,EAAD,MAAazlW,EAAb,CAAyBmiE,UAAW48H,IAClCoiI,EAAAA,cAACwvB,EAAD,CAAKxuR,UAAW+rR,GAAgB,cAAeC,IAC5Cl1U,GAEF+mD,GAASwlS,EALd,EAUFD,GAAYx1F,UAAYA,GACxBw1F,GAAY51F,aAzCS,CACnBkM,IAAK,KACLwpF,QAAS,MACTC,eAAgB,SAwClB,OAAeC,4CCtDTx1F,GAAY,CAChB8L,IAAKgzE,GACL1sR,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,QAOPwtE,GAAazjW,IACjB,MAAM,UACJkgE,EADI,UAEJgsR,EACAtyE,IAAK80E,GACa1uV,EAAfjC,EAJL,GAIoBiC,EAJpB,IAKM88L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACA,cACCgsR,GAEH,OACEhtB,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqBmiE,UAAW48H,IADlC,EAKF2mK,GAAU31F,UAAYA,GACtB21F,GAAU/1F,aArBW,CACnBkM,IAAK,OAsBP,OAAe6pF,4CC7BT31F,GAAY,CAChB8L,IAAKgzE,GACL1sR,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,QAOPytE,GAAe1jW,IACnB,MAAM,UACJkgE,EADI,UAEJgsR,EACAtyE,IAAK80E,GACa1uV,EAAfjC,EAJL,GAIoBiC,EAJpB,IAKM88L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACA,gBACCgsR,GAEH,OACEhtB,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqBmiE,UAAW48H,IADlC,EAKF4mK,GAAY51F,UAAYA,GACxB41F,GAAYh2F,aArBS,CACnBkM,IAAK,OAsBP,OAAe8pF,GC9Bf,MAOMC,GAAW3jW,IACf,MAAMk/V,EAAgB73I,GACpB,UACA,OACArnN,EAAM07V,iBAGF5+J,EAAUuqB,GACd,gBACArnN,EAAMi9V,gBAIR,OACE/9B,EAAAA,cAACw+B,GAAD,MACM19V,EADN,CAEE47V,eAAe,gBACfF,gBAAiBwD,EACjBjC,eAAgBngK,IALpB,EAUF6mK,GAAQ71F,UAAYA,GACpB61F,GAAQj2F,aA/Ba,CACnBpvO,UAAW,MACX4+T,UAAU,EACVvB,gBAAiB,aACjBwB,QAAS,eA8BX,OAAewG,4ICjCT71F,GAAY,CAChB5tM,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,OACX/yR,KAAM+yR,GAAAA,OACN2tE,SAAU3tE,GAAAA,KACV4tE,WAAY5tE,GAAAA,KACZypE,QAASzpE,GAAAA,KACTi6D,KAAMj6D,GAAAA,KACN6tE,MAAO7tE,GAAAA,KACP8tE,WAAY9tE,GAAAA,UAAoB,CAACA,GAAAA,KAAgBA,GAAAA,SACjDrc,IAAKgzE,GACLoX,cAAepX,GACfjG,SAAU1wD,GAAAA,UAAoB,CAACA,GAAAA,KAAgBA,GAAAA,OAAkBA,GAAAA,UAQ7DguE,GAASjkW,IACb,MAAM,UACJkgE,EADI,UAEJgsR,EAFI,KAGJhpV,EAHI,SAIJ0gW,EAJI,WAKJC,EALI,QAMJnE,EANI,KAOJxP,EAPI,MAQJ4T,EARI,WASJC,EACAnqF,IAAK80E,EACLsV,cAAeE,EAXX,SAYJvd,GAEE3mV,EADCjC,EAbL,GAcIiC,EAdJ,IAgBM88L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACA,UACAh9D,GAAO,SAAWA,IAClB0gW,GAAW,mBACXC,GAAa,qBACbnE,GAAU,kBACVxP,GAAO,eACP4T,GAAQ,eACP5X,GAEGiY,EAAQjlC,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqBm+D,IAAKyqR,EAAUzmR,UAAW48H,KAE7D,GAAIinK,EAAY,CACd,MAAMK,EAAsBnY,IAA+B,IAAf8X,EAAsB,mBAAtB,2BAA+DA,GAAc7X,GAEzH,OACEhtB,EAAAA,cAACglC,EAAD,CAAehkS,UAAWkkS,GAAsBD,EAEnD,CAED,OAAOA,CAAP,EAGFF,GAAMn2F,UAAYA,GAClBm2F,GAAMv2F,aA/Ce,CACnBkM,IAAK,QACLoqF,cAAe,gFCjBXl2F,GAAY,CAChB8L,IAAKgzE,GACLr5G,MAAO0iD,GAAAA,KACP/1N,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,OACX72D,WAAY62D,GAAAA,UAAoB,CAACA,GAAAA,KAAgBA,GAAAA,SACjDouE,SAAUpuE,GAAAA,MAkBNquE,GAAatkW,IACjB,MAAM,UACJkgE,EADI,UAEJgsR,EACAtyE,IAAK80E,EAHD,MAIJn7G,EAJI,WAKJnU,EALI,SAMJilI,GAEErkW,EADCjC,EAPL,GAQIiC,EARJ,IASM88L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACA,aAGAqzK,EAAQ,mBAxBenU,KACN,IAAfA,KAEsB,IAAfA,GAAsC,OAAfA,EACzB,wBAEF,yBAAP,OAAgCA,IAkBDmlI,CAAmBnlI,GAChD,CACE,sBAAuBilI,IAExBnY,GAEH,OACEhtB,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqBmiE,UAAW48H,IADlC,EAKFwnK,GAAUx2F,UAAYA,GACtBw2F,GAAU52F,aA1CW,CACnBkM,IAAK,KACLx6C,YAAY,EACZilI,UAAU,gECZNv2F,GAAY,CAChB92P,SAAUi/Q,GAAAA,KACVuuE,OAAQvuE,GAAAA,KACRrc,IAAKgzE,GACLjG,SAAU1wD,GAAAA,UAAoB,CAACA,GAAAA,OAAkBA,GAAAA,KAAgBA,GAAAA,SACjE/1N,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,QAMb,MAAMwuE,WAAav6R,EAAAA,UACjBl2E,WAAAA,CAAYgM,GACVqxV,MAAMrxV,GACN1N,KAAK6pW,OAAS7pW,KAAK6pW,OAAOt/V,KAAKvK,MAC/BA,KAAKspB,OAAStpB,KAAKspB,OAAO/e,KAAKvK,KAChC,CAED6pW,MAAAA,CAAOjgS,GACD5pE,KAAK0N,MAAM2mV,UACbr0V,KAAK0N,MAAM2mV,SAASzqR,GAEtB5pE,KAAK4pE,IAAMA,CACZ,CAEDtgD,MAAAA,GACMtpB,KAAK4pE,KACP5pE,KAAK4pE,IAAItgD,QAEZ,CAED+tP,MAAAA,GACE,MAAM,EAOFr3Q,KAAK0N,OAPH,UACJkgE,EADI,UAEJgsR,EAFI,OAGJsY,EACA5qF,IAAK80E,EAJD,SAKJ/H,GALF,EAMK5oV,EANL,SASM++L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,IACAskS,GAAS,eACRtY,GAEH,OACEhtB,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqBm+D,IAAKyqR,EAAUzmR,UAAW48H,IAElD,EAGH2nK,GAAK32F,UAAYA,GACjB22F,GAAK/2F,aA7CgB,CACnBkM,IAAK,mECVD9L,GAAY,CAChB92P,SAAUi/Q,GAAAA,KACVrc,IAAKgzE,GACL1sR,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,OACX7tM,MAAO6tM,GAAAA,KACP3yI,QAAS2yI,GAAAA,MAGLvoB,GAAe,CACnBkM,IAAK,MACLxxL,WAAOt4F,GAGH40W,GAAgB1kW,IACpB,MAAM,UACJkgE,EADI,UAEJgsR,EAFI,MAGJ9jQ,EAHI,QAIJk7D,EACAs2H,IAAK80E,GAEH1uV,EADCjC,EANL,GAOIiC,EAPJ,IASM2kW,EAAYrhN,EAAU,UAAY,WAElCw5C,EAAUmvJ,GACd5kI,GACEnnJ,EACAkoB,EAAQ,SAAH,OAAYu8Q,GAAU,kBAAeA,IAE5CzY,GAGF,OAAOhtB,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqBmiE,UAAW48H,IAAvC,EAGF4nK,GAAa52F,UAAYA,GACzB42F,GAAah3F,aAAeA,yFCtCtBI,GAAY,CAChB92P,SAAUi/Q,GAAAA,KACV/tO,IAAK+tO,GAAAA,KACLh4N,MAAOg4N,GAAAA,KACP2uE,OAAQ3uE,GAAAA,KACRuuE,OAAQvuE,GAAAA,KACR1nH,SAAU0nH,GAAAA,KACV5oO,SAAU4oO,GAAAA,KACVrc,IAAKgzE,GACL1sR,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,QAOP4uE,GAAa7kW,IACjB,MAAM,UACJkgE,EADI,UAEJgsR,EAFI,IAGJhkS,EAHI,SAIJmF,EAJI,MAKJ4Q,EALI,OAMJumS,EANI,SAOJj2L,EACAqrG,IAAK80E,GAEH1uV,EADCjC,EATL,GAUIiC,EAVJ,IAYM8kW,EAAY7mS,GAASj+D,EAAM4kW,OAE3B9nK,EAAUmvJ,GAAgB5kI,GAC9BnnJ,IACAhY,GAAM,MACN48S,EAAY,aAAe,SAC3B9kW,EAAM4kW,QAAS,iBACfE,IAAaN,IAAS,uBACtBM,IAAaz3S,IAAW,WACxBkhH,GAAY,iBACX29K,GAMH,MAJY,aAARwC,IACF3wV,EAAWsvD,SAAWA,GAItB6xQ,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqBmiE,UAAW48H,IADlC,EAKF+nK,GAAU/2F,UAAYA,GACtB+2F,GAAUn3F,aAvCW,CACnBkM,IAAK,OAwCP,OAAeirF,6DCtDT/2F,GAAY,CAChB92P,SAAUi/Q,GAAAA,KACVuuE,OAAQvuE,GAAAA,KACRrc,IAAKgzE,GACL19H,MAAO+mE,GAAAA,OACP/1N,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,QAQP8uE,GAAY/kW,IAChB,MAAM,UACJkgE,EADI,UAEJgsR,EAFI,OAGJsY,EAHI,MAIJt1I,EACA0qD,IAAK80E,GAEH1uV,EADCjC,EANL,GAOIiC,EAPJ,IASM88L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,GACCskS,GAAS,cACVt1I,GAAQ,QAAH,OAAWA,IACfg9H,GAEH,OACEhtB,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqBmiE,UAAW48H,IADlC,EAKFioK,GAASj3F,UAAYA,GACrBi3F,GAASr3F,aA3BY,CACnBkM,IAAK,QACL1qD,MAAO,mHCTH4+C,GAAY,CAChB92P,SAAUi/Q,GAAAA,KACVryR,KAAMqyR,GAAAA,OACN/yR,KAAM+yR,GAAAA,UAAoB,CAACA,GAAAA,OAAkBA,GAAAA,SAC7C+uE,OAAQ/uE,GAAAA,OACR7tM,MAAO6tM,GAAAA,KACPgvE,QAAShvE,GAAAA,KACTrc,IAAKgzE,GACLjG,SAAU1wD,GAAAA,UAAoB,CAC5BA,GAAAA,OACAA,GAAAA,KACAA,GAAAA,SAEFivE,UAAWjvE,GAAAA,KACXkvE,MAAOlvE,GAAAA,KACP/1N,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,QAOb,MAAMmvE,WAAclmC,EAAAA,UAClBlrU,WAAAA,CAAYgM,GACVqxV,MAAMrxV,GACN1N,KAAK6pW,OAAS7pW,KAAK6pW,OAAOt/V,KAAKvK,MAC/BA,KAAKsiF,MAAQtiF,KAAKsiF,MAAM/3E,KAAKvK,KAC9B,CAED6pW,MAAAA,CAAOjgS,GACD5pE,KAAK0N,MAAM2mV,UACbr0V,KAAK0N,MAAM2mV,SAASzqR,GAEtB5pE,KAAK4pE,IAAMA,CACZ,CAED0Y,KAAAA,GACMtiF,KAAK4pE,KACP5pE,KAAK4pE,IAAI0Y,OAEZ,CAED+0L,MAAAA,GACE,IAAI,EAYAr3Q,KAAK0N,OAZL,UACFkgE,EADE,UAEFgsR,EAFE,KAGFtoV,EAHE,OAIFohW,EAJE,MAKF58Q,EALE,QAMF68Q,EANE,IAOFrrF,EAPE,MAQFurF,EARE,UASFD,EATE,SAUFve,GAVF,EAWK5oV,EAXL,SAcA,MAAMsnW,EAAa,CAAC,SAAU,QAAS,YAAYxxW,QAAQ+P,IAAS,EAC9D0hW,EAAe,IAAI/8I,OAAO,MAAO,KAGjCg9I,EAAuB,WAAT3hW,EACd4hW,EAAsB,UAAT5hW,EACnB,IAAI8qV,EAAM90E,IAAQ2rF,GAHa,aAAT3hW,EAG2BA,EAAO,SAEpD6hW,EAAmB,eAEnBP,GACFO,EAAmB,GAAH,OAAMA,EAAiB,cACvC/W,EAAM90E,GAAO,SACJ4rF,EACTC,EAAmB,aACVF,EACTE,EAAmB,cACVJ,IAEPI,EADEN,EACiB,KAEA,oBAInBpnW,EAAWmF,MAAQoiW,EAAan1W,KAAK4N,EAAWmF,QAClD2H,GACE,oFAEFm6V,EAASjnW,EAAWmF,YACbnF,EAAWmF,MAGpB,MAAM45L,EAAUmvJ,GACd5kI,GACEnnJ,EACA+kS,GAAW,aACX78Q,GAAS,aACT48Q,IACIO,EAAW,sBACMP,GAAO,uBACNA,IAEtBS,GAEFvZ,GAsBF,OAnBY,UAARwC,GAAoB90E,GAAsB,oBAARA,KACpC77Q,EAAW6F,KAAgB,WAATA,EAAoB,WAAaA,GAInD7F,EAAWiZ,WAETkuV,GACS,WAATthW,GACe,kBAAR8qV,GACC,WAARA,IAGF7jV,GAAS,yBAAD,OACmBjH,EAAK,8EAEzB7F,EAAWiZ,UAGbkoT,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqBm+D,IAAKyqR,EAAUzmR,UAAW48H,EAAS,eAAcmoK,IAC9E,EAGHG,GAAMt3F,UAAYA,GAClBs3F,GAAM13F,aA/Ge,CACnB9pQ,KAAM,QAgHR,OAAewhW,0DCrITt3F,GAAY,CAChB8L,IAAKgzE,GACLhpV,KAAMqyR,GAAAA,KACN/yR,KAAM+yR,GAAAA,OACN/1N,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,QAOPyvE,GAAc1lW,IAClB,MAAM,UACJkgE,EADI,UAEJgsR,EACAtyE,IAAK80E,EAHD,KAIJ9qV,EAJI,KAKJV,GAEElD,EADCjC,EANL,GAOIiC,EAPJ,IAQM88L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACA,cACAh9D,EAAO,eAAH,OAAkBA,GAAS,MAC9BgpV,GAEH,MAAmB,aAAflsV,EAAM4D,KACDs7T,EAAAA,cAACyzB,GAAD,MAAc50V,EAAd,CAA0BmiE,UAAW48H,KAI5CoiI,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqBmiE,UAAW48H,IADlC,EAKF4oK,GAAW53F,UAAYA,GACvB43F,GAAWh4F,aA7BU,CACnBkM,IAAK,OA8BP,OAAe8rF,4CCxCT53F,GAAY,CAChB8L,IAAKgzE,GACL1sR,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,QAOP0vE,GAAkB3lW,IACtB,MAAM,UACJkgE,EADI,UAEJgsR,EACAtyE,IAAK80E,GAEH1uV,EADCjC,EAJL,GAKIiC,EALJ,IAOM88L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACA,oBACCgsR,GAEH,OACEhtB,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqBmiE,UAAW48H,IADlC,EAKF6oK,GAAe73F,UAAYA,GAC3B63F,GAAej4F,aAvBM,CACnBkM,IAAK,wFCLD41E,GAAqBv5D,GAAAA,UAAoB,CAACA,GAAAA,OAAkBA,GAAAA,SAE5DlT,GAAckT,GAAAA,UAAoB,CACtCA,GAAAA,KACAA,GAAAA,OACAA,GAAAA,OACAA,GAAAA,MAAgB,CACd/yR,KAAMssV,GACNhyD,MAAOgyD,GACP/hN,OAAQ+hN,OAIN1hF,GAAY,CAChB92P,SAAUi/Q,GAAAA,KACVnyF,OAAQmyF,GAAAA,KACRh4N,MAAOg4N,GAAAA,KACP/yR,KAAM+yR,GAAAA,OACNxT,IAAKwT,GAAAA,OACLrc,IAAKgzE,GACL1sR,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,OACX64D,GAAI/rE,GACJgsE,GAAIhsE,GACJ6oB,GAAI7oB,GACJi3B,GAAIj3B,GACJisE,GAAIjsE,GACJksE,IAAKlsE,GACLmsE,OAAQj5D,GAAAA,OAGJvoB,GAAe,CACnBkM,IAAK,QACLs1E,OAnCgB,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,QAsC3CO,GAAqBA,CAACH,EAAMrqN,EAAUoqN,KAC1B,IAAZA,GAAgC,KAAZA,EACfC,EAAO,MAAH,cAAkBrqN,GACR,SAAZoqN,EACFC,EAAO,WAAH,cAAuBrqN,EAAS,SAGtCqqN,EAAO,OAAH,OAAUD,GAAQ,cAAWpqN,EAAS,YAAGoqN,GAGhDuW,GAAS5lW,IACb,MAAM,UACJkgE,EADI,UAEJgsR,EAFI,OAGJpoJ,EAHI,OAIJorJ,EACAt1E,IAAK80E,EALD,MAMJzwR,EANI,KAOJ/6D,EACAu/Q,IAAKojF,GAEH7lW,EADCjC,EATL,GAUIiC,EAVJ,IAYMovV,EAAa,GAEnBF,EAAO79V,SAAQ,CAAC4zI,EAAUtyI,KACxB,IAAIi9V,EAAa5vV,EAAMilI,GAIvB,UAFOlnI,EAAWknI,IAEb2qN,GAA6B,KAAfA,EACjB,OAGF,MAAMN,GAAQ38V,EACd,IAAIm9V,EAEJ,GAAI/gE,GAAS6gE,GAAa,CACxB,MAAMC,EAAkBP,EAAO,IAAH,WAAarqN,EAAS,KAClD6qN,EAAWL,GAAmBH,EAAMrqN,EAAU2qN,EAAW1sV,MAEzDksV,EAAW99V,KAAK26V,GAAgB5kI,GAAW,CACzC,CAACyoI,GAAWF,EAAW1sV,MAA4B,KAApB0sV,EAAW1sV,KAC1C,CAAC,QAAD,OAAS2sV,GAAgB,OAAED,EAAWpyD,QAAUoyD,EAAWpyD,OAA8B,IAArBoyD,EAAWpyD,MAC/E,CAAC,SAAD,OAAUqyD,GAAgB,OAAED,EAAWniN,SAAWmiN,EAAWniN,QAAgC,IAAtBmiN,EAAWniN,UAC/Ey+M,EACN,MACC4D,EAAWL,GAAmBH,EAAMrqN,EAAU2qN,GAC9CR,EAAW99V,KAAKw+V,EACjB,IAGH,MAAMhzJ,EAAUmvJ,GAAgB5kI,GAC9BnnJ,IACA4jI,GAAS,oBACT7lI,GAAQ,qBACR/6D,GAAO,kBAAH,OAAqBA,GACzBksV,EACAA,EAAW1/V,OAAS,iBAAmB,cACtCw8V,GAEH,OACEhtB,EAAAA,cAACwvB,EAAD,IAAKmX,QAASA,GAAa9nW,EAA3B,CAAuCmiE,UAAW48H,IADpD,EAKF8oK,GAAM93F,UAAYA,GAClB83F,GAAMl4F,aAAeA,GAErB,OAAek4F,oHC3GT93F,GAAY,CAChBtjN,KAAMyrO,GAAAA,KACN5tL,OAAQ4tL,GAAAA,KACRj/Q,SAAUi/Q,GAAAA,KACV/1N,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,OACX6vE,QAAS7vE,GAAAA,KACTnkS,KAAMmkS,GAAAA,KACN3/Q,KAAM2/Q,GAAAA,KACN8vE,OAAQ9vE,GAAAA,KACRhlS,OAAQglS,GAAAA,KACRlkS,MAAOkkS,GAAAA,KACPrc,IAAKgzE,GACL39R,IAAKgnO,GAAAA,MAGD+vE,GAAShmW,IACb,MAAM,KACJwqD,EADI,OAEJ69C,EAFI,UAGJnoC,EAHI,UAIJgsR,EAJI,QAKJ4Z,EALI,KAMJh0W,EANI,KAOJwkB,EAPI,OAQJyvV,EARI,OASJ90W,EATI,MAUJc,EAVI,IAWJ6nR,EAXI,IAYJ3qN,GAEEjvD,EADCjC,EAbL,GAcIiC,EAdJ,IAgBA,IAAIimW,EAEFA,EADEH,EACW,KACJ/nW,EAAW6yR,KACP,IACJ7yR,EAAWkY,KAAOhlB,EACd,MACJqlB,EACI,KAEA,MAEf,MAAMo4U,EAAM90E,GAAOqsF,EAEbnpK,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACA,CACE,aAAc1V,EACd,gBAAiBs7S,EACjB,aAAch0W,EACd,cAAeC,EACf,YAAak9D,EACb,eAAgBo5C,EAChB,eAAgB09P,EAChB,eAAgB90W,EAChB,aAAcqlB,EACd4vV,OAAQ17S,IAASs7S,IAAYh0W,IAASC,IAAUk9D,IAAQo5C,IAAW09P,IAAW90W,IAAWqlB,IAE1F41U,GAEH,OACEhtB,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqBmiE,UAAW48H,IADlC,EAKFkpK,GAAMl4F,UAAYA,GCvDlB,SAAS09E,KAAQ,CAEjB,MAAM4U,GAAgBnqE,GAAAA,MAAgB62D,GAAKh/E,WAErCA,GAAY,CAChBmoC,UAAWhgB,GAAAA,KACXsqE,SAAUtqE,GAAAA,KACV0qE,kBAAmB1qE,GAAAA,OACnB4qE,mBAAoBT,GACpBppV,SAAUi/Q,GAAAA,KACV/1N,UAAW+1N,GAAAA,OACX1hP,UAAWo4S,GACXT,UAAWj2D,GAAAA,OACX/0P,UAAW+0P,GAAAA,MAAgB,CAAC,QAAS,MAAO,SAAU,MAAO,OAAQ,UACrE0jE,KAAM1jE,GAAAA,KACN0wD,SAAU1wD,GAAAA,UAAoB,CAACA,GAAAA,OAAkBA,GAAAA,OAAkBA,GAAAA,OACnEo8D,OAAQp8D,GAAAA,KACRqjE,SAAUrjE,GAAAA,KACV7/N,WAAY6/N,GAAAA,OACZkwE,oBAAqB/F,GACrBrE,SAAU9lE,GAAAA,KACVs0D,QAASt0D,GAAAA,KACT00D,OAAQ10D,GAAAA,KACRuqE,SAAUvqE,GAAAA,KACV+qE,sBAAuB/qE,GAAAA,KACvBpgO,KAAMogO,GAAAA,OACNqqE,WAAYrqE,GAAAA,KACZ9oO,OAAQ8oO,GAAAA,KACRgrE,UAAWhrE,GAAAA,KACX8qE,eAAgB9qE,GAAAA,KAChBj0I,OAAQi0I,GAAAA,UAAoB,CAACA,GAAAA,OAAkBA,GAAAA,UAG3CirE,GAAc3vW,OAAOmB,KAAKo7Q,IAE1BJ,GAAe,CACnB2kF,QAAQ,EACRp8C,WAAW,EACX/0Q,UAAW,QACXo/T,YAAY,EACZzqS,KAAM,SACN0qS,UAAU,EACVjH,UAAU,EACVt3M,OAAQ,KACR23M,MAAM,EACN6G,SAAUhV,GACVuQ,SAAUvQ,GACV2a,oBAAqB,CACnB9sW,QAASwzV,GAAmBK,WAE9B2T,mBAAoB,CAClB5X,cAAc,EACd5vV,QAASwzV,GAAmBC,MAE9BiU,gBAAgB,EAChBC,uBAAuB,EACvBzsT,UAAW,OACX0sT,WAAW,GAGb,MAAM/T,WAAkBhuB,EAAAA,UACtBlrU,WAAAA,CAAYgM,GACVqxV,MAAMrxV,GAEN1N,KAAK8pW,SAAW,KAChB9pW,KAAK6uW,qBAAuB,KAC5B7uW,KAAK8uW,qBAAuB9uW,KAAK8uW,qBAAqBvkW,KAAKvK,MAC3DA,KAAK+uW,oBAAsB/uW,KAAK+uW,oBAAoBxkW,KAAKvK,MACzDA,KAAKgvW,wBAA0BhvW,KAAKgvW,wBAAwBzkW,KAAKvK,MACjEA,KAAKivW,aAAejvW,KAAKivW,aAAa1kW,KAAKvK,MAC3CA,KAAKmvW,UAAYnvW,KAAKmvW,UAAU5kW,KAAKvK,MACrCA,KAAKkuW,SAAWluW,KAAKkuW,SAAS3jW,KAAKvK,MACnCA,KAAKypW,SAAWzpW,KAAKypW,SAASl/V,KAAKvK,MACnCA,KAAKovW,sBAAwBpvW,KAAKovW,sBAAsB7kW,KAAKvK,MAC7DA,KAAKqvW,8BAAgCrvW,KAAKqvW,8BAA8B9kW,KAAKvK,MAC7EA,KAAK2uW,UAAY3uW,KAAK2uW,UAAUpkW,KAAKvK,MAErCA,KAAK6wC,MAAQ,CACXkvT,QAAQ,EAEX,CAEDnnF,iBAAAA,GACE,MAAM,OAAEmnF,EAAF,UAAUp8C,EAAV,QAAqBs0C,GAAYj4V,KAAK0N,MAExCqyV,IACF//V,KAAK68B,OACL78B,KAAKqV,SAAS,CAAE0qV,QAAQ,IACpBp8C,GACF3jT,KAAKuvW,YAILtX,GACFA,IAIFtuU,SAAS9Y,iBAAiB,QAAS7Q,KAAK2uW,WAAW,GAEnD3uW,KAAK8rW,YAAa,CACnB,CAED/xF,kBAAAA,CAAmBC,EAAW68E,GAC5B,GAAI72V,KAAK0N,MAAMqyV,SAAW/lF,EAAU+lF,OAIlC,OAHA//V,KAAK68B,YACL78B,KAAKqV,SAAS,CAAE0qV,QAAQ,IAMtB//V,KAAK0N,MAAMi2S,WAAa3jT,KAAK6wC,MAAMkvT,SAAWlJ,EAAUkJ,QAC1D//V,KAAKuvW,WAGHvvW,KAAK8pW,UAAY9vF,EAAUtqH,SAAW1vJ,KAAK0N,MAAMgiJ,SACnD1vJ,KAAK8pW,SAASxxS,MAAMo3F,OAAS1vJ,KAAK0N,MAAMgiJ,OAE3C,CAEDirH,oBAAAA,GACE36Q,KAAKqvW,gCAEDrvW,KAAK0N,MAAM2qV,QACbr4V,KAAK0N,MAAM2qV,SAGTr4V,KAAK8pW,WACP9pW,KAAKmN,WACDnN,KAAK0N,MAAMqyV,QAAU//V,KAAK6wC,MAAMkvT,SAClC//V,KAAKyrE,SAIT9hD,SAAS3Y,oBAAoB,QAAShR,KAAK2uW,WAAW,GACtD3uW,KAAK8rW,YAAa,CACnB,CAED6C,SAAAA,CAAWa,GACT,IAAKxvW,KAAK0N,MAAMihW,UACd,OAGF,IAAK3uW,KAAK8pW,SACR,OAEF,GAAI9pW,KAAKyvW,UAAYD,EAAGztW,OACtB,OAEF,GAAI/B,KAAK8zW,eAAkBlZ,GAAU+U,UAAY,EAC/C,OAEF,MAAMjrV,EAAW1kB,KAAK8uW,uBAEtB,IAAK,IAAIzuW,EAAI,EAAGA,EAAIqkB,EAAStnB,OAAQiD,IACnC,GAAIqkB,EAASrkB,KAAOmvW,EAAGztW,OACrB,OAGA2iB,EAAStnB,OAAS,IACpBoyW,EAAGjtR,iBACHitR,EAAGltQ,kBACH59E,EAAS,GAAG49D,QAEf,CAED4rR,QAAAA,CAAS50V,EAAM+qV,GACbrkW,KAAK0N,MAAMwgW,YACVluW,KAAK0N,MAAMmmW,oBAAoB7b,WAAakB,IAAM5/U,EAAM+qV,EAC1D,CAEDoF,QAAAA,CAASnwV,GACP,MAAM,eAAEm1V,GAAmBzuW,KAAK0N,MAEhC1N,KAAK0N,MAAM+7V,YACVzpW,KAAK0N,MAAMmmW,oBAAoBtb,UAAYW,IAAM5/U,GAE9Cm1V,GACFzuW,KAAKmN,UAEPnN,KAAKyrE,QAEDzrE,KAAK8rW,YACP9rW,KAAKqV,SAAS,CAAE0qV,QAAQ,GAE3B,CAEDwP,QAAAA,GACMvvW,KAAKyvW,SAAyC,oBAAvBzvW,KAAKyvW,QAAQntR,OACtCtiF,KAAKyvW,QAAQntR,OAEhB,CAEDwsR,oBAAAA,GACE,OAAO9uW,KAAK8pW,SAAS3uS,iBAAiB+vK,GAAkB//N,KAAK,MAC9D,CAEDykW,eAAAA,GACE,IAAIC,EACJ,MAAMC,EAAoB9vW,KAAK8uW,uBAE/B,IACEe,EAAelmV,SAASouE,aACzB,CAAC,MAAO89L,GACPg6E,EAAeC,EAAkB,EAClC,CACD,OAAOD,CACR,CAGDd,mBAAAA,CAAoBtwW,GAClB,GAAIA,EAAEsD,SAAW/B,KAAK+vW,kBAAmB,CACvCtxW,EAAE6jG,kBACF,MAAM2rQ,EAAWjuW,KAAK+zW,UAEtB,IAAK/zW,KAAK0N,MAAMqyV,SAAkC,IAAxB//V,KAAK0N,MAAMugW,SAAmB,OAEpDA,GAAYxvW,EAAEsD,SAAWksW,GAAYjuW,KAAK0N,MAAMmtD,QAClD76D,KAAK0N,MAAMmtD,OAAOp8D,EAErB,CACF,CAED0wW,SAAAA,CAAU1wW,GACR,GAAgB,IAAZA,EAAEu+S,MAAa,OACnB,GAAIh9S,KAAK8zW,eAAkBlZ,GAAU+U,UAAY,EAAI,OAErD,MAAMG,EAAoB9vW,KAAK8uW,uBACzBkB,EAAiBF,EAAkB1yW,OACzC,GAAuB,IAAnB4yW,EAAsB,OAC1B,MAAMH,EAAe7vW,KAAK4vW,kBAE1B,IAAIK,EAAe,EAEnB,IAAK,IAAI5vW,EAAI,EAAGA,EAAI2vW,EAAgB3vW,GAAK,EACvC,GAAIyvW,EAAkBzvW,KAAOwvW,EAAc,CACzCI,EAAe5vW,EACf,KACD,CAGC5B,EAAEgqC,UAA6B,IAAjBwnU,GAChBxxW,EAAE8jF,iBACFutR,EAAkBE,EAAiB,GAAG1tR,SAC5B7jF,EAAEgqC,UAAYwnU,IAAiBD,EAAiB,IAC1DvxW,EAAE8jF,iBACFutR,EAAkB,GAAGxtR,QAExB,CAED0sR,uBAAAA,CAAwBvwW,GACtBuB,KAAK+vW,kBAAoBtxW,EAAEsD,MAC5B,CAEDktW,YAAAA,CAAaxwW,GACPuB,KAAK0N,MAAMqyV,QAAUthW,EAAEg7S,UAAYshD,GAASC,KAAOh7V,KAAK0N,MAAMmtD,QAC5D76D,KAAK0N,MAAMs5V,WACbvoW,EAAE8jF,iBACF9jF,EAAE6jG,kBAEFtiG,KAAK0N,MAAMmtD,OAAOp8D,GAGvB,CAEDo+B,IAAAA,GACE,IACE78B,KAAKmwW,mBAAqBxmV,SAASouE,aACpC,CAAC,MAAO89L,GACP71R,KAAKmwW,mBAAqB,IAC3B,CAEInwW,KAAK8pW,WACR9pW,KAAK8pW,SAAWngV,SAASC,cAAc,OACvC5pB,KAAK8pW,SAASjwS,aAAa,WAAY,MACvC75D,KAAK8pW,SAASxxS,MAAMvsB,SAAW,WAC/B/rC,KAAK8pW,SAASxxS,MAAMo3F,OAAS1vJ,KAAK0N,MAAMgiJ,OACxC1vJ,KAAKowW,gBAAkBxU,GAAU57V,KAAK0N,MAAMu0C,WAC5CjiD,KAAKowW,gBAAgB/3S,YAAYr4D,KAAK8pW,WAGxC9pW,KAAK6uW,qBAAuBvV,KAC5BC,KAE4B,IAAxBqB,GAAU+U,WAAoB3vW,KAAK0N,MAAMugW,WAAajuW,KAAK0N,MAAMsgW,aACnErkV,SAASuuC,KAAKI,MAAMO,SAAW,UAGjC74D,KAAK8zW,eAAiBlZ,GAAU+U,UAChC/U,GAAU+U,WAAa,CACxB,CAEDxiW,OAAAA,GACMnN,KAAK8pW,WACP9pW,KAAKowW,gBAAgB33S,YAAYz4D,KAAK8pW,UACtC9pW,KAAK8pW,SAAW,MAGlB9pW,KAAKovW,uBACN,CAEDA,qBAAAA,GACE,GAAIpvW,KAAKmwW,mBAAoB,CAC3B,MAAM,sBAAEzB,GAA0B1uW,KAAK0N,MACnC1N,KAAKmwW,mBAAmB7tR,OAASosR,GAAuB1uW,KAAKmwW,mBAAmB7tR,QACpFtiF,KAAKmwW,mBAAqB,IAC3B,CACF,CAED1kS,KAAAA,GACEzrE,KAAKovW,wBACLxU,GAAU+U,UAAYzwV,KAAKC,IAAI,EAAGy7U,GAAU+U,UAAY,GAExDhmV,SAASuuC,KAAKI,MAAMO,SAAW,KAC/BugS,GAAkBp5V,KAAK6uW,qBACxB,CAEDx3F,MAAAA,GACE,MAAM,UACJzoO,EADI,eAEJ6/T,GACEzuW,KAAK0N,MAET,GAAM1N,KAAK8pW,WAAa9pW,KAAK6wC,MAAMkvT,SAAW0O,GAAiB,CAC7D,MAAMuF,IAAsBh0W,KAAK8pW,WAAa9pW,KAAK6wC,MAAMkvT,SAAW0O,EACpEzuW,KAAK8pW,SAASxxS,MAAMwpG,QAAUkyM,EAAoB,OAAS,QAE3D,MAAM,UACJpmS,EADI,kBAEJygS,EAFI,UAGJzU,EAHI,OAIJmG,EAJI,SAKJkO,EALI,KAMJ1qS,EANI,WAOJO,EAPI,MAQJxL,GACEt4D,KAAK0N,MAEHumW,EAAsB,CAC1BtD,QAAS3wW,KAAKivW,aACdl6R,UAAW/0E,KAAKmvW,UAChB,kBAAmBrrS,EACnBP,OACAxL,SAAU,MAGN64S,EAAgB5wW,KAAK0N,MAAM25V,KAC3BwM,EAAsB,YACvBrZ,GAAKp/E,cACLp7Q,KAAK0N,MAAMmmW,qBAFS,IAGvBzQ,UAAWwN,EAAgB5wW,KAAK0N,MAAMmmW,oBAAoBzQ,UAAY,GACtEr8V,QAAS6pW,EAAgB5wW,KAAK0N,MAAMmmW,oBAAoB9sW,QAAU,IAE9DwnW,EAAqB,YACtB/T,GAAKp/E,cACLp7Q,KAAK0N,MAAM6gW,oBAFQ,IAGtBnL,UAAWwN,EAAgB5wW,KAAK0N,MAAM6gW,mBAAmBnL,UAAY,GACrEr8V,QAAS6pW,EAAgB5wW,KAAK0N,MAAM6gW,mBAAmBxnW,QAAU,IAG7D8pW,EAAW5C,IACf2C,EACGhkC,EAAAA,cAAC4tB,GAAD,MACK+T,EADL,CAEC9X,GAAIsJ,KAAYkO,EAChB5Z,SAAWtlV,IACT/O,KAAK+zW,UAAYhlW,CAAjB,EAEF6qV,UAAWA,EACXhsR,UAAW+rR,GAAgB5kI,GAAW,qBAAsBs5I,GAAoBzU,GAChFxmC,QAASpzT,KAAK+uW,oBACdj6R,YAAa90E,KAAKgvW,2BAElBpiC,EAAAA,cAAAA,MAAAA,CACEh/P,UAAW+rR,GAAgB5kI,GAAW,qBAAsB,OAAQs5I,GAAoBzU,GACxFxmC,QAASpzT,KAAK+uW,oBACdj6R,YAAa90E,KAAKgvW,2BAIpBvjW,EAAaouV,GAAK75V,KAAK0N,MAAOkhW,IAEpC,OACEhiC,EAAAA,cAAClF,GAAD,CAAQpuT,KAAMtZ,KAAK8pW,UACjBl9B,EAAAA,cAAC4tB,GAAD,MACM/uV,EACAwoW,EACAJ,EAHN,CAIEpd,GAAIsJ,EACJ/H,UAAWh4V,KAAKkuW,SAChB3V,SAAUv4V,KAAKypW,SACf7P,UAAWA,EACXhsR,UAAW+rR,GAAgB5kI,GAAW,YAAannJ,EAAd,oBACtBh/B,IACZgrT,GACHvF,SAAWtlV,IACT/O,KAAKyvW,QAAU1gW,CAAf,EAEFupD,MAAK,SACAA,GADA,IAEH47S,WAAYnU,EAAS,UAAY,aAGlC//V,KAAK0N,MAAMgX,UAEbmsV,EAGN,CACD,OAAO,IACR,CAEDxB,6BAAAA,GACMrvW,KAAKkwW,4BACP/oW,aAAanH,KAAKkwW,2BAClBlwW,KAAKkwW,+BAA4B1yW,EAEpC,EAGHo9V,GAAUp/E,UAAYA,GACtBo/E,GAAUx/E,aAAeA,GACzBw/E,GAAU+U,UAAY,2CCpbhBn0F,GAAY,CAChB8L,IAAKgzE,GACL1sR,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,QAOPwwE,GAAiBzmW,IACrB,MAAM,UACJkgE,EADI,UAEJgsR,EACAtyE,IAAK80E,GACa1uV,EAAfjC,EAJL,GAIoBiC,EAJpB,IAKM88L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACA,kBACCgsR,GAEH,OACEhtB,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqBmiE,UAAW48H,IADlC,EAKF2pK,GAAc34F,UAAYA,GAC1B24F,GAAc/4F,aArBO,CACnBkM,IAAK,uGCPD9L,GAAY,CAChB92P,SAAUi/Q,GAAAA,KACV/1N,UAAW+1N,GAAAA,OACXl4N,MAAOk4N,GAAAA,OACPotE,eAAgBptE,GAAAA,OAChBi2D,UAAWj2D,GAAAA,OACXrc,IAAKgzE,GACLz/R,OAAQ8oO,GAAAA,KACRmtE,QAASxW,IASL8Z,GAAmB1mW,IACvB,IAAIujW,EACJ,MAAM,SACJvsV,EADI,UAEJkpD,EAFI,MAGJnC,EAHI,eAIJslS,EAJI,UAKJnX,EACAtyE,IAAK80E,EAND,OAOJvhS,EACAi2S,QAASI,GACSxjW,EAAfjC,EATL,GASoBiC,EATpB,IAWM88L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACA,oBACCgsR,GAQH,OANKnuR,GAAS5Q,IACZo2S,EACErkC,EAAAA,cAAAA,SAAAA,CAAQt7T,KAAK,SAAS8hT,QAASv4P,EAAQ+S,UAAW+rR,GAAgB,YAAaC,GAAY,aAAYmX,KAKzGnkC,EAAAA,cAACskC,EAAD,MAAazlW,EAAb,CAAyBmiE,UAAW48H,IAClCoiI,EAAAA,cAACwvB,EAAD,CAAKxuR,UAAW+rR,GAAgB,kBAAmBC,IAChDl1U,GAEF+mD,GAASwlS,EALd,EAUFmD,GAAgB54F,UAAYA,GAC5B44F,GAAgBh5F,aAzCK,CACnB21F,eAAgB,QAChBzpF,IAAK,KACLwpF,QAAS,8FCdLt1F,GAAY,CAChB92P,SAAUi/Q,GAAAA,KACV/1N,UAAW+1N,GAAAA,OACXs7D,cAAet7D,GAAAA,OACfi2D,UAAWj2D,GAAAA,OACX/yR,KAAM+yR,GAAAA,OACNrc,IAAKgzE,GACL0E,QAAS1E,GACT,aAAc32D,GAAAA,QASV0wE,GAAc3mW,IAClB,MAAM,UACJkgE,EADI,cAEJqxR,EAFI,UAGJrF,EAHI,KAIJhpV,EACA02Q,IAAK80E,EACL4C,QAASG,EACT,aAAcv7R,GAEZl2D,EADCjC,EARL,GASIiC,EATJ,IAWM88L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,GACCgsR,GAEGwF,EAAczF,GAAgB5kI,GAClCkqI,EACA,aACA,CACE,CAAC,cAAD,OAAeruV,MAAWA,IAE3BgpV,GAEH,OACEhtB,EAAAA,cAACwvB,EAAD,CAAKxuR,UAAW48H,EAAS,aAAY5mI,GACnCgpQ,EAAAA,cAACuyB,EAAD,MAAa1zV,EAAb,CAAyBmiE,UAAWwxR,KAFxC,EAOFiV,GAAW74F,UAAYA,GACvB64F,GAAWj5F,aAtCU,CACnBkM,IAAK,MACL03E,QAAS,KACT,aAAc,2ECdVxjF,GAAY,CAChBt+P,OAAQymR,GAAAA,KACRj/Q,SAAUi/Q,GAAAA,KACV/1N,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,OACX5oO,SAAU4oO,GAAAA,KACVrc,IAAKgzE,IAODga,GAAkB5mW,IACtB,MAAM,OACJwP,EADI,UAEJ0wD,EAFI,UAGJgsR,EAHI,SAIJ7+R,EACAusN,IAAK80E,GAEH1uV,EADCjC,EANL,GAOIiC,EAPJ,IASM88L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACA,YACA,CACE1wD,SACA69C,aAED6+R,GAEH,OACEhtB,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqBmiE,UAAW48H,IADlC,EAKF8pK,GAAe94F,UAAYA,GAC3B84F,GAAel5F,aA7BM,CACnBkM,IAAK,gFCVD9L,GAAY,CAChB,aAAcmoB,GAAAA,OACdj/Q,SAAUi/Q,GAAAA,KACV/1N,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,OACX9oQ,KAAM8oQ,GAAAA,KACN/3N,SAAU+3N,GAAAA,KACV59N,MAAO49N,GAAAA,KACP9hR,KAAM8hR,GAAAA,KACNrc,IAAKgzE,IAODia,GAAkB7mW,IACtB,IAAI,UACFkgE,EADE,UAEFgsR,EAFE,KAGF/+T,EAHE,SAIF+wC,EAJE,MAKF7F,EALE,KAMFlkD,EACAylQ,IAAK80E,GAEH1uV,EADCjC,EARL,GASIiC,EATJ,IAWA,MAAM88L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACA,aACCgsR,GAEH,IAAI6F,EACA7zR,EACF6zR,EAAmB,WACV5kU,EACT4kU,EAAmB,OACV15R,EACT05R,EAAmB,QACV59U,IACT49U,EAAmB,QAGrB,MAAM/oR,EAAYhpE,EAAM,eAAiB+xV,EAEzC,IAAI+U,EACA5oS,EACF4oS,EAAe,SACN35U,EACT25U,EAAe,SACNzuS,EACTyuS,EAAe,OACN3yV,IACT2yV,EAAe,QAGjB,IAAI9vV,EAAWhX,EAAMgX,SA0BrB,OAzBIA,GAAY7jB,MAAMC,QAAQ4jB,IAAiC,IAApBA,EAAStnB,SAClDsnB,EAAW,MAGRjZ,EAAW6yR,MAAgB,MAAR89D,IACtBA,EAAM,WAGJxwR,GAAY/wC,GAAQkrC,GAASlkD,KAC/B6C,EAAW,CACTkoT,EAAAA,cAAAA,OAAAA,CACE,cAAY,OACZ5rU,IAAI,SAEH0jB,GAAY8vV,GAEf5nC,EAAAA,cAAAA,OAAAA,CACEh/P,UAAU,kBACV5sE,IAAI,aAEH01E,KAMLk2P,EAAAA,cAACwvB,EAAD,MACM3wV,EADN,CAEEmiE,UAAW48H,EACX,aAAY9zH,IAEXhyD,EANL,EAWF6vV,GAAe/4F,UAAYA,GAC3B+4F,GAAen5F,aAnFM,CACnBkM,IAAK,KCVA,MAAMmtF,GAAa7nC,EAAAA,cAAoB,CAAC,GCDzCpxD,GAAY,CAChB8L,IAAKgzE,GACLoa,UAAW/wE,GAAAA,IACX/1N,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,QAQb,MAAMgxE,WAAmB/8R,EAAAA,UACQ,+BAAxB4oN,CAAyB3mB,EAAWg9E,GACzC,OAAIA,EAAU6d,YAAc76F,EAAU66F,UAC7B,CACLA,UAAW76F,EAAU66F,WAGlB,IACR,CACDhzW,WAAAA,CAAYgM,GACVqxV,MAAMrxV,GACN1N,KAAK6wC,MAAQ,CACX6jU,UAAW10W,KAAK0N,MAAMgnW,UAEzB,CAEDr9F,MAAAA,GACE,MAAM,UACJzpM,EADI,UAEJgsR,EACAtyE,IAAK80E,GACHp8V,KAAK0N,MAEHjC,EAAaouV,GAAK75V,KAAK0N,MAAOzO,OAAOmB,KAAKo7Q,KAE1ChxE,EAAUmvJ,GAAgB5kI,GAAW,cAAennJ,GAAYgsR,GAEtE,OACEhtB,EAAAA,cAAC6nC,GAAWtqF,SAAZ,CAAqBptR,MAAO,CAAC63W,YAAa50W,KAAK6wC,MAAM6jU,YACnD9nC,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqBmiE,UAAW48H,KAGrC,EAKHmqK,GAAWn5F,UAAYA,GACvBm5F,GAAWv5F,aA3CU,CACnBkM,IAAK,wDCTD9L,GAAY,CAChB8L,IAAKgzE,GACL1sR,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,OACXkxE,MAAOlxE,GAAAA,KAOM,SAASmxE,GAAQpnW,GAC9B,MAAM,UACJkgE,EADI,UAEJgsR,EAFI,MAGJib,EACAvtF,IAAK80E,GAEH1uV,EADCjC,EALL,GAMIiC,EANJ,IAOMqnW,EAAcH,GAAgBjb,GAAgB5kI,GAAW,WAAYnnJ,EAAW,CAAE1wD,OAAQ23V,IAAUD,IAAgBhb,GAC1H,OACEhtB,EAAAA,cAAC6nC,GAAWnrC,SAAZ,MACG0rC,IAAA,IAAC,YAACJ,GAAF,SAAmBhoC,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqBmiE,UAAWmnS,EAAWH,KADjE,GAIH,CACDE,GAAQt5F,UAAYA,GACpBs5F,GAAQ15F,aApBa,CACnBkM,IAAK,sJCRD9L,GAAY,CAChB92P,SAAUi/Q,GAAAA,KACV/1N,UAAW+1N,GAAAA,OACXsxE,eAAgBtxE,GAAAA,OAChBotE,eAAgBptE,GAAAA,OAChBi2D,UAAWj2D,GAAAA,OACX/mE,MAAO+mE,GAAAA,OACP0jE,KAAM1jE,GAAAA,KACNo8D,OAAQp8D,GAAAA,KACR9oO,OAAQ8oO,GAAAA,KACRrc,IAAKgzE,GACL79L,WAAYknI,GAAAA,MAAgB62D,GAAKh/E,WACjC64E,SAAU1wD,GAAAA,UAAoB,CAC5BA,GAAAA,OACAA,GAAAA,OACAA,GAAAA,QAIEvoB,GAAe,CACnBx+C,MAAO,UACPmjI,QAAQ,EACRz4E,IAAK,MACLypF,eAAgB,QAChB1J,MAAM,EACN5qM,WAAY,SACP+9L,GAAKp/E,cADA,IAERs7E,eAAe,KAInB,SAASwe,GAAMxnW,GACb,MAAM,UACJkgE,EADI,eAEJqnS,EAFI,eAGJlE,EAHI,UAIJnX,EACAtyE,IAAK80E,EALD,MAMJx/H,EANI,OAOJmjI,EAPI,OAQJllS,EARI,SASJn2C,EATI,WAUJ+3I,EAVI,KAWJ4qM,EAXI,SAYJhT,GAEE3mV,EADCjC,EAbL,GAcIiC,EAdJ,IAgBM88L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACA,QAFwC,gBAG/BgvJ,GACT,CAAE,oBAAqB/hK,IACtB++R,GAEGub,EAAexb,GAAgB5kI,GAAW,YAAakgJ,GAAiBrb,GAExEwb,EAAkB,YACnB5a,GAAKp/E,cACL3+G,GAFgB,IAGnB2mM,UAAWiE,EAAO5qM,EAAW2mM,UAAY,GACzCr8V,QAASsgW,EAAO5qM,EAAW11J,QAAU,IAGvC,OACE6lU,EAAAA,cAAC4tB,GAAD,MAAU/uV,EAAgB2pW,EAA1B,CAA2C9tF,IAAK80E,EAAKxuR,UAAW48H,EAASisJ,GAAIsJ,EAAQx8R,KAAK,QAAQ8wR,SAAUA,IACzGx5R,EACC+xQ,EAAAA,cAAAA,SAAAA,CAAQt7T,KAAK,SAASs8D,UAAWunS,EAAc,aAAYpE,EAAgB39C,QAASv4P,IAClF,KACHn2C,EAGN,CAEDwwV,GAAM15F,UAAYA,GAClB05F,GAAM95F,aAAeA,+FC3EfI,GAAY,CAChB92P,SAAUi/Q,GAAAA,KACV/1N,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,OACX0jE,KAAM1jE,GAAAA,KACNo8D,OAAQp8D,GAAAA,KACRrc,IAAKgzE,GACL79L,WAAYknI,GAAAA,MAAgB62D,GAAKh/E,WACjC64E,SAAU1wD,GAAAA,UAAoB,CAC5BA,GAAAA,OACAA,GAAAA,OACAA,GAAAA,QAIEvoB,GAAe,CACnB2kF,QAAQ,EACRz4E,IAAK,MACL+/E,MAAM,EACN5qM,WAAY,SACP+9L,GAAKp/E,cADA,IAERs7E,eAAe,KAInB,SAAS2e,GAAM3nW,GACb,MAAM,UACJkgE,EADI,UAEJgsR,EACAtyE,IAAK80E,EAHD,OAIJ2D,EAJI,SAKJr7U,EALI,WAMJ+3I,EANI,KAOJ4qM,EAPI,SAQJhT,GAEE3mV,EADCjC,EATL,GAUIiC,EAVJ,IAYM88L,EAAUmvJ,GAAgB5kI,GAAWnnJ,EAAW,SAAUgsR,GAE1D0b,EAAkB,YACnB9a,GAAKp/E,cACL3+G,GAFgB,IAGnB2mM,UAAWiE,EAAO5qM,EAAW2mM,UAAY,GACzCr8V,QAASsgW,EAAO5qM,EAAW11J,QAAU,IAGvC,OACE6lU,EAAAA,cAAC4tB,GAAD,MAAU/uV,EAAgB6pW,EAA1B,CAA2ChuF,IAAK80E,EAAKxuR,UAAW48H,EAASisJ,GAAIsJ,EAAQx8R,KAAK,QAAQ8wR,SAAUA,IACzG3vU,EAGN,CAED2wV,GAAM75F,UAAYA,GAClB65F,GAAMj6F,aAAeA,uDCxDfI,GAAY,CAChB8L,IAAKgzE,GACL1sR,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,OACX0wD,SAAU1wD,GAAAA,UAAoB,CAC5BA,GAAAA,OACAA,GAAAA,OACAA,GAAAA,QAQE4xE,GAAa7nW,IACjB,MAAM,UACJkgE,EADI,UAEJgsR,EAFI,SAGJvF,EACA/sE,IAAK80E,GAEH1uV,EADCjC,EALL,GAMIiC,EANJ,IAOM88L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACA,cACCgsR,GAEH,OACEhtB,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqBmiE,UAAW48H,EAAS5gI,IAAKyqR,IADhD,EAKFkhB,GAAU/5F,UAAYA,GACtB+5F,GAAUn6F,aAvBW,CACnBkM,IAAK,6HCZD9L,GAAY,CAChB8L,IAAKgzE,GACLtxQ,KAAM26M,GAAAA,UAAoB,CAACA,GAAAA,OAAkBA,GAAAA,OAC7CmtE,QAASxW,GACTz/R,OAAQ8oO,GAAAA,KACR/1N,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,OACXj/Q,SAAUi/Q,GAAAA,KACVotE,eAAgBptE,GAAAA,OAChB50N,SAAU40N,GAAAA,UAAoB,CAACA,GAAAA,OAAkBA,GAAAA,SACjDl4N,MAAOk4N,GAAAA,QAUH6xE,GAAe9nW,IACnB,IAAIujW,EACAjoR,EACJ,MAAM,UACJpb,EADI,UAEJgsR,EAFI,SAGJl1U,EAHI,OAIJm2C,EACAysN,IAAK80E,EACL0U,QAASI,EANL,eAOJH,EAPI,MAQJtlS,EARI,aASJgqS,EACAzsR,KAAM0sR,GACYhoW,EAAfjC,EAXL,GAWoBiC,EAXpB,IAaM88L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACA,gBACCgsR,GA0BH,OAxBKnuR,GAAS5Q,IACZo2S,EACErkC,EAAAA,cAAAA,SAAAA,CAAQt7T,KAAK,SAAS8hT,QAASv4P,EAAQ+S,UAAW+rR,GAAgB,YAAaC,GAAY,aAAYmX,KAInF,kBAAb2E,EACT1sR,EACE4jP,EAAAA,cAAAA,MAAAA,CACEh/P,UAAW+rR,GAAgB,gBAAD,OAAiB+b,IAC3C38V,MAAM,KACNw/C,OAAO,KACPo9S,MAAM,6BACNC,oBAAoB,iBACpBryI,UAAU,QACVhgK,KAAK,OAELqpQ,EAAAA,cAAAA,OAAAA,CAAM4xB,KAAK,eAAezlV,MAAM,OAAOw/C,OAAO,UAGzCm9S,IACT1sR,EAAO0sR,GAIP9oC,EAAAA,cAACskC,EAAD,MAAazlW,EAAb,CAAyBmiE,UAAW48H,IACjCxhH,EACD4jP,EAAAA,cAACwvB,EAAD,CAAKxuR,UAAW+rR,GAAgB5kI,GAAW0gJ,EAAc,CAAE,OAAgB,MAARzsR,IAAiB4wQ,IACjFl1U,GAEF+mD,GAASwlS,EANd,EAWFuE,GAAYh6F,UAAYA,GACxBg6F,GAAYp6F,aAhES,CACnBkM,IAAK,SACLwpF,QAAS,MACT2E,aAAc,UACd1E,eAAgB,uFCjBZv1F,GAAY,CAChB8L,IAAKgzE,GACLp9U,OAAQymR,GAAAA,KACR5oO,SAAU4oO,GAAAA,KACV/mE,MAAO+mE,GAAAA,OACP1/Q,OAAQ0/Q,GAAAA,KACR/1N,UAAW+1N,GAAAA,IACXi2D,UAAWj2D,GAAAA,QAOPkyE,GAAyBp3W,IAC7BA,EAAE8jF,gBAAF,EAGIuzR,GAAiBpoW,IACrB,MAAM,UACJkgE,EADI,UAEJgsR,EACAtyE,IAAK80E,EAHD,OAIJl/U,EAJI,SAKJ69C,EALI,OAMJ92C,EANI,MAOJ24M,GAEElvN,EADCjC,EARL,GASIiC,EATJ,IAUM88L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,IACA1wD,GAAS,WACT69C,GAAW,aACX92C,GAAS,2BACT24M,GAAQ,mBAAH,OAAsBA,GAC3B,mBACCg9H,GAMH,OAHI7+R,IACFtvD,EAAW2nT,QAAUyiD,IAGrBjpC,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqBmiE,UAAW48H,IADlC,EAKFsrK,GAAct6F,UAAYA,GAC1Bs6F,GAAc16F,aAtCO,CACnBkM,IAAK,+CCXD9L,GAAY,CAChB8L,IAAKgzE,GACL1sR,UAAW+1N,GAAAA,IACXi2D,UAAWj2D,GAAAA,QAOPoyE,GAAwBroW,IAC5B,MAAM,UACJkgE,EADI,UAEJgsR,EACAtyE,IAAK80E,GAEH1uV,EADCjC,EAJL,GAKIiC,EALJ,IAMM88L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACA,2BACCgsR,GAEH,OACEhtB,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqBmiE,UAAW48H,IADlC,EAKFurK,GAAqBv6F,UAAYA,GACjCu6F,GAAqB36F,aAtBA,CACnBkM,IAAK,+CCPD9L,GAAY,CAChB8L,IAAKgzE,GACL1sR,UAAW+1N,GAAAA,IACXi2D,UAAWj2D,GAAAA,QAOPqyE,GAAqBtoW,IACzB,MAAM,UACJkgE,EADI,UAEJgsR,EACAtyE,IAAK80E,GAEH1uV,EADCjC,EAJL,GAKIiC,EALJ,IAMM88L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACA,wBACCgsR,GAEH,OACEhtB,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqBmiE,UAAW48H,IADlC,EAKFwrK,GAAkBx6F,UAAYA,GAC9Bw6F,GAAkB56F,aAtBG,CACnBkM,IAAK,qDCPD9L,GAAY,CAChB8L,IAAKgzE,GACL1sR,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,OACXryR,KAAMqyR,GAAAA,QAOFsyE,IAAO33F,EAAAA,EAAAA,aAAW,CAAC5wQ,EAAOk8D,KAC9B,MAAM,UACJgE,EADI,UAEJgsR,EACAtyE,IAAK80E,EAHD,KAIJ9qV,GAEE5D,EADCjC,EALL,GAMIiC,EANJ,IAOM88L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,IACAt8D,GAAO,QAAH,OAAWA,IACdsoV,GAEH,OACEhtB,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqBmiE,UAAW48H,EAAS5gI,IAAKA,IADhD,IAKFqsS,GAAKxwW,KAAO,OACZwwW,GAAKz6F,UAAYA,GACjBy6F,GAAK76F,aAxBe,CAClBkM,IAAK,+CCRD9L,GAAY,CAChB8L,IAAKgzE,GACL1sR,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,QAOPuyE,IAAiB53F,EAAAA,EAAAA,aAAW,CAAC5wQ,EAAOk8D,KACxC,MAAM,UACJgE,EADI,UAEJgsR,EACAtyE,IAAK80E,GAEH1uV,EADCjC,EAJL,GAKIiC,EALJ,IAMM88L,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACA,oBACCgsR,GAEH,OACEhtB,EAAAA,cAACwvB,EAAD,MAAS3wV,EAAT,CAAqBmiE,UAAW48H,EAAS5gI,IAAKA,IADhD,IAKFssS,GAAezwW,KAAO,iBACtBywW,GAAe16F,UAAYA,GAC3B06F,GAAe96F,aAvBK,CAClBkM,IAAK,MCTyB1vM,EAAAA,UCEhC,MAAMkiR,GAAW,CAAC,eAEH,MAAMqc,WAAmCv+R,EAAAA,UACtDl2E,WAAAA,CAAYgM,GACVqxV,MAAMrxV,GAEN1N,KAAK6wC,MAAQ,CAAEkvT,OAAQryV,EAAMi2V,cAAe,GAC5C3jW,KAAK66D,OAAS76D,KAAK66D,OAAOtwD,KAAKvK,KAChC,CAED66D,MAAAA,GACE76D,KAAKqV,SAAS,CAAE0qV,QAAS//V,KAAK6wC,MAAMkvT,QACrC,CAED1oF,MAAAA,GACE,OAAOu1D,EAAAA,cAACw1B,GAAD,IAAgBrC,OAAQ//V,KAAK6wC,MAAMkvT,OAAQllS,OAAQ76D,KAAK66D,QAAYg/R,GAAK75V,KAAK0N,MAAOosV,KAC7F,EAGHqc,GAA2B36F,UAA3B,IACEmoF,YAAahgE,GAAAA,MACVy+D,GAAe5mF,WCrBpB,MAAMs+E,GAAW,CAAC,eAAgB,eAE5Bt+E,GAAY,CAChBmoF,YAAahgE,GAAAA,KACbyyE,QAASzyE,GAAAA,OAAiBb,WAC1BuzE,aAAc1yE,GAAAA,QAAkBA,GAAAA,SAG5BvoB,GAAe,CACnBi7F,aAAcva,IAGhB,MAAMwa,WAA6B1+R,EAAAA,UACjCl2E,WAAAA,CAAYgM,GACVqxV,MAAMrxV,GAEN1N,KAAKu2W,SAAW,KAChBv2W,KAAKw2W,qBAAuB,KAC5Bx2W,KAAK66D,OAAS76D,KAAK66D,OAAOtwD,KAAKvK,MAE/BA,KAAK6wC,MAAQ,CAAEkvT,OAAQryV,EAAMi2V,cAAe,EAC7C,CAED/qF,iBAAAA,GACE54Q,KAAKu2W,SAAW7a,GAAgB17V,KAAK0N,MAAM0oW,SACvCp2W,KAAKu2W,SAASn5W,SAChB4C,KAAKw2W,qBAAuBza,GAC1B/7V,KAAKu2W,SACLv2W,KAAK66D,OACL76D,KAAK0N,MAAM2oW,cAGhB,CAED17F,oBAAAA,GACM36Q,KAAKu2W,SAASn5W,QAAU4C,KAAKw2W,sBAC/Bx2W,KAAKw2W,sBAER,CAED37S,MAAAA,CAAOp8D,GACLuB,KAAKqV,UAASohW,IAAA,IAAC,OAAE1W,GAAH,QAAiB,CAAEA,QAASA,EAA5B,IACdthW,EAAE8jF,gBACH,CAED80L,MAAAA,GACE,OAAOu1D,EAAAA,cAAC6tB,GAAD,IAAUsF,OAAQ//V,KAAK6wC,MAAMkvT,QAAYlG,GAAK75V,KAAK0N,MAAOosV,KAClE,EAGHwc,GAAqB96F,UAAYA,GACjC86F,GAAqBl7F,aAAeA,GCnDpC,MAAM0+E,GAAW,CAAC,eAEH,MAAM4c,WAA6B9+R,EAAAA,UAChDl2E,WAAAA,CAAYgM,GACVqxV,MAAMrxV,GAEN1N,KAAK6wC,MAAQ,CAAEkvT,OAAQryV,EAAMi2V,cAAe,GAC5C3jW,KAAK66D,OAAS76D,KAAK66D,OAAOtwD,KAAKvK,KAChC,CAED66D,MAAAA,CAAOp8D,GACL,MAAMshW,GAAU//V,KAAK6wC,MAAMkvT,OAC3B//V,KAAKqV,SAAS,CAAE0qV,WAAU,KACpB//V,KAAK0N,MAAMipW,UACb32W,KAAK0N,MAAMipW,SAASl4W,EAAGshW,EACxB,GAEJ,CAED1oF,MAAAA,GACE,OAAOu1D,EAAAA,cAACyzB,GAAD,IAAUN,OAAQ//V,KAAK6wC,MAAMkvT,OAAQllS,OAAQ76D,KAAK66D,QAAYg/R,GAAK75V,KAAK0N,MAAOosV,KACvF,EAGH4c,GAAqBl7F,UAArB,IACEmoF,YAAahgE,GAAAA,KACbgzE,SAAUhzE,GAAAA,MACP08D,GAAS7kF,WC3Bd,MAAMs+E,GAAW,CAAC,eAEH,MAAM8c,WAA4Bh/R,EAAAA,UAC/Cl2E,WAAAA,CAAYgM,GACVqxV,MAAMrxV,GAEN1N,KAAK6wC,MAAQ,CAAEkvT,OAAQryV,EAAMi2V,cAAe,GAC5C3jW,KAAK66D,OAAS76D,KAAK66D,OAAOtwD,KAAKvK,KAChC,CAED66D,MAAAA,GACE76D,KAAKqV,SAAS,CAAE0qV,QAAS//V,KAAK6wC,MAAMkvT,QACrC,CAED1oF,MAAAA,GACE,OAAOu1D,EAAAA,cAACykC,GAAD,IAAStR,OAAQ//V,KAAK6wC,MAAMkvT,OAAQllS,OAAQ76D,KAAK66D,QAAYg/R,GAAK75V,KAAK0N,MAAOosV,KACtF,EAGH8c,GAAoBp7F,UAApB,IACEmoF,YAAahgE,GAAAA,MACV0tE,GAAQ71F,qFCrBPA,GAAY,CAChB8L,IAAKgzE,GACLhpV,KAAMqyR,GAAAA,OACN/yR,KAAM+yR,GAAAA,OACN/mE,MAAO+mE,GAAAA,OACP/1N,UAAW+1N,GAAAA,OACXi2D,UAAWj2D,GAAAA,OACXj/Q,SAAUi/Q,GAAAA,QASNkzE,GAAUnpW,IACd,MAAM,UACJkgE,EADI,UAEJgsR,EAFI,KAGJtoV,EAHI,KAIJV,EAJI,MAKJgsN,EALI,SAMJl4M,EACA4iQ,IAAK80E,GAEH1uV,EADCjC,EARL,GASIiC,EATJ,IAWM88L,EAAUmvJ,GACd5kI,GACEnnJ,IACAh9D,GAAO,WAAH,OAAcU,EAAK,YAAGV,GAFlB,kBAGGU,KACXsrN,GAAQ,QAAH,OAAWA,IAElBg9H,GAGF,OACEhtB,EAAAA,cAACwvB,EAAD,IAAK74R,KAAK,UAAa93D,EAAvB,CAAmCmiE,UAAW48H,IAC3C9lL,GACCkoT,EAAAA,cAAAA,OAAAA,CAAMh/P,UAAW+rR,GAAgB,kBAAmBC,IACjDl1U,GAJT,EAWFmyV,GAAQr7F,UAAYA,GACpBq7F,GAAQz7F,aAxCa,CACnBkM,IAAK,MACLh2Q,KAAM,SACNoT,SAAU,cAuCZ,OAAemyV,2FCnDTr7F,GAAY,SACbiiF,GAAIjiF,WADM,IAEb5+C,MAAO+mE,GAAAA,OACPrc,IAAKgzE,GACLxjD,UAAWnT,GAAAA,MAAgB,CAAC,OAAQ,SACpC0wD,SAAU1wD,GAAAA,UAAoB,CAACA,GAAAA,OAAkBA,GAAAA,KAAgBA,GAAAA,SACjE/yR,KAAM+yR,GAAAA,MAAgB,CAAC,KAAM,KAAM,SAO/BmzE,GAAeppW,IACnB,IAAI,UACFkgE,EADE,UAEFgsR,EAFE,MAGFh9H,EAHE,SAIFy3H,EACA/sE,IAAK80E,EALH,UAMFtlD,EANE,KAOFlmS,EAPE,OAQFgsV,GAEElvV,EADCjC,EATL,GAUIiC,EAVJ,KAYMjC,WAAYiyV,EAAd,WAAkCZ,GAAeO,GAAiB5xV,EAAYmuV,EAAWgD,GAE7F,MAAMpyJ,EAAUmvJ,GAAgB5kI,GAC9BnnJ,EACAkvR,EACA,eAAiBhmD,EAAY,IAAIA,EAAY,MAC7ClmS,GAAO,eAAgBA,IACvBgsN,GAAQ,MAAMA,GACbg9H,GAIH,OACEhtB,EAAAA,cAACwvB,EAAD,MAASsB,EAAT,CAA6B9vR,UAAW48H,EAAS5gI,IAAKyqR,IADxD,EAKFyiB,GAAYt7F,UAAYA,GACxBs7F,GAAY17F,aAnCS,CACnBkM,IAAK,iDCTD9L,GAAY,CAChB5qQ,KAAM+yR,GAAAA,OACN/mE,MAAO+mE,GAAAA,OACP27D,QAAS37D,GAAAA,KACT/1N,UAAW+1N,GAAAA,OACXrc,IAAKgzE,IAGDl/E,GAAe,CACnBx+C,MAAO,UACP0qD,IAAKi4E,IAGDwX,GAAqBrpW,IACzB,IAAI,UACFksV,EADE,UAEFhsR,EACA05M,IAAK80E,GAEH1uV,EADCjC,EAJL,GAKIiC,EALJ,KAOMjC,WAAYiyV,EAAd,WAAkCZ,GAAeO,GAAiB5xV,EAAYmuV,GAElF,MAAMpvJ,EAAUmvJ,GAAgB5kI,GAC9B,cACAnnJ,EACAkvR,GACClD,GAEH,OACEhtB,EAAAA,cAAC2yB,GAAD,MAAY7B,EAAZ,CAAgC9vR,UAAW48H,EAASzvI,UAAU,IADhE,EAKFg8S,GAAkBv7F,UAAYA,GAC9Bu7F,GAAkB37F,aAAeA,GC1CjC,MACE,GAAuB,kBAAX70Q,QAAqD,oBAAvBA,OAAOk/V,YAA6B,OAS9El/V,OAAOk/V,YAPcA,CAAEr0V,EAAOpI,KAC5BA,EAASA,GAAU,CAAEskQ,SAAS,EAAOz/I,YAAY,EAAOhM,OAAQ,MAChE,IAAIklP,EAAMp9U,SAASykB,YAAa,eAEhC,OADA24T,EAAIiQ,gBAAiB5lW,EAAOpI,EAAOskQ,QAAStkQ,EAAO6kH,WAAY7kH,EAAO64G,QAC/DklP,CAAP,CAPJ,KAaA,MACE,GAA8B,oBAAlB9nW,OAAOP,OAAwB,OAI3CO,OAAOP,OAFW6nS,GAAMtnS,OAAOmB,KAAKmmS,GAAG58R,KAAK3I,GAAQulS,EAAEvlS,IAHxD,mBCVA,MAUA,GAVei2W,KAEPC,EAAAA,GAAAA,KAAAC,GAAAA,SAAA,CAAAzyV,UACIwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,SAAQlpD,UACnBwyV,EAAAA,GAAAA,KAACL,GAAO,CAACv+S,MAAO,CAAEv/C,MAAO,OAAQw/C,OAAQ,8aCsIlD,SAAS6+S,GAATA,GAIgB,IAJO,SAC5BjqC,EAD4B,SAE5BzoT,EAF4B,OAG5Bne,GACqB,EACjB8wW,GAAazqC,EAAAA,EAAAA,UACS,MAAtByqC,EAAWv5F,UACbu5F,EAAWv5F,0jDAAUw5F,CAAqB,CAAE/wW,YAG9C,IAAIgxW,EAAUF,EAAWv5F,SACpBjtO,EAAOx7B,IAAYu3T,EAAAA,EAAAA,UAAe,CACrC3oT,OAAQszV,EAAQtzV,OAChByyB,SAAU6gU,EAAQ7gU,WAKpB,OAFAk2R,EAAAA,EAAAA,kBAAsB,IAAM2qC,EAAQC,OAAOniW,IAAW,CAACkiW,KAGrDtpC,EAAAA,EAAAA,eAACf,EAAD,CACEC,SAAUA,EACVzoT,SAAUA,EACVgyB,SAAU7F,EAAM6F,SAChB42R,eAAgBz8R,EAAM5sB,OACtB8yC,UAAWwgT,GAGhB,OAyFYE,IAAO7qC,EAAAA,EAAAA,aAClB,SAAA8qC,EAEE9tS,GACA,IAFA,QAAEwpP,EAAF,eAAWukD,EAAX,QAA2BpvW,GAAU,EAArC,MAA4CsoC,EAA5C,OAAmD9uC,EAAnD,GAA2DqgS,GAE3D,EAFkEkiC,EAElE,SACIhmC,EAAOsxC,EAAQxtC,GACfw1E,EAwHD,SACLx1E,EADK,GAW6C,IATlD,OACErgS,EACAwG,QAASsvW,EAFX,MAGEhnU,QAMgD,MAD9C,CAAC,EAC6C,EAC9CqgM,EAAWi/F,IACXz5R,EAAWi4R,IACXnkT,EAAOqlT,EAAgBztC,GAE3B,OAAOwqC,EAAAA,EAAAA,cACJx7T,IACC,GACmB,IAAjBA,EAAMqzE,UACJ1iF,GAAqB,UAAXA,KAjKpB,SAAyBqP,GACvB,SAAUA,EAAMw9D,SAAWx9D,EAAMs9D,QAAUt9D,EAAMu9D,SAAWv9D,EAAMq3B,SACnE,CAgKQqvU,CAAgB1mW,GACjB,CACAA,EAAMmxE,iBAIN,IAAIh6E,IACAsvW,GAAeE,EAAWrhU,KAAcqhU,EAAWvtV,GAEvD0mN,EAASkxD,EAAI,CAAE75R,UAASsoC,SACzB,IAEH,CAAC6F,EAAUw6L,EAAU1mN,EAAMqtV,EAAahnU,EAAO9uC,EAAQqgS,GAE1D,CA3JyB41E,CAAoB51E,EAAI,CAAE75R,UAASsoC,QAAO9uC,WAUhE,OAEE6nB,EAAAA,EAAAA,eAAAA,IAAAA,GAAAA,CAAAA,EACM06S,EADN,CAEEhmC,KAAMA,EACN80B,QAdJ,SACEhiT,GAEIgiT,GAASA,EAAQhiT,GAChBA,EAAM8wE,kBAAqBy1R,GAC9BC,EAAgBxmW,EAEnB,EAQGw4D,IAAKA,EACL7nE,OAAQA,IAGb,IC3RH,IAAI4+Q,GACJ,SAAS,KAA2Q,OAA9P,GAAW1hR,OAAO0wB,QAAU,SAAU5tB,GAAU,IAAK,IAAI1B,EAAI,EAAGA,EAAIiE,UAAUlH,OAAQiD,IAAK,CAAE,IAAIyB,EAASwC,UAAUjE,GAAI,IAAK,IAAIW,KAAOc,EAAc7C,OAAOiB,UAAUuC,eAAesD,KAAKjE,EAAQd,KAAQe,EAAOf,GAAOc,EAAOd,GAAU,CAAE,OAAOe,CAAQ,EAAU,GAASiE,MAAMhG,KAAMsE,UAAY,CAE5T,SAAS2zW,GAAen1C,EAAMo1C,GAC5B,IAAI,MACFp6L,EAAK,QACLq6L,KACGzqW,GACDo1T,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtD/pT,MAAO,GACPw/C,OAAQ,GACR6/S,QAAS,YACTzC,MAAO,6BACP/rS,IAAKsuS,EACL,kBAAmBC,GAClBzqW,GAAQowK,EAAqB,gBAAoB,QAAS,CAC3DnrI,GAAIwlU,GACHr6L,GAAS,KAAM6iG,KAAOA,GAAkB,gBAAoB,IAAK,CAClE69E,KAAM,OACN6Z,SAAU,WACI,gBAAoB,OAAQ,CAC1C7Z,KAAM,OACN1vV,EAAG,qBACY,gBAAoB,OAAQ,CAC3CA,EAAG,qBACHwpW,OAAQ,WAEZ,CACA,MAAMn3E,GAA0B,aAAiB82E,IAClC,IC9Bf,IAAI,GACJ,SAAS,KAA2Q,OAA9P,GAAWh5W,OAAO0wB,QAAU,SAAU5tB,GAAU,IAAK,IAAI1B,EAAI,EAAGA,EAAIiE,UAAUlH,OAAQiD,IAAK,CAAE,IAAIyB,EAASwC,UAAUjE,GAAI,IAAK,IAAIW,KAAOc,EAAc7C,OAAOiB,UAAUuC,eAAesD,KAAKjE,EAAQd,KAAQe,EAAOf,GAAOc,EAAOd,GAAU,CAAE,OAAOe,CAAQ,EAAU,GAASiE,MAAMhG,KAAMsE,UAAY,CAE5T,SAASi0W,GAAaz1C,EAAMo1C,GAC1B,IAAI,MACFp6L,EAAK,QACLq6L,KACGzqW,GACDo1T,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtD/pT,MAAO,GACPw/C,OAAQ,GACR6/S,QAAS,YACTzC,MAAO,6BACP/rS,IAAKsuS,EACL,kBAAmBC,GAClBzqW,GAAQowK,EAAqB,gBAAoB,QAAS,CAC3DnrI,GAAIwlU,GACHr6L,GAAS,KAAM,KAAO,GAAkB,gBAAoB,IAAK,CAClE0gL,KAAM,OACN6Z,SAAU,WACI,gBAAoB,OAAQ,CAC1C7Z,KAAM,OACN1vV,EAAG,kBACY,gBAAoB,OAAQ,CAC3CA,EAAG,oBACHwpW,OAAQ,WAEZ,CACA,MAAM,GAA0B,aAAiBC,IAClC,IC9BR,ICAH,GCCOC,GAAiB,CAC1B57I,WAAOp/N,EACPoT,UAAMpT,EACNowE,eAAWpwE,EACX86D,WAAO96D,EACPsiE,UAAMtiE,GAEGi7W,GAAc7rC,EAAAA,eAAoCA,EAAAA,cAAoB4rC,ICR7Ej6C,GAAY,CAAC,OAAQ,OAAQ,SACjC,SAASG,GAAyB58T,EAAQ68T,GAAY,GAAc,MAAV78T,EAAgB,MAAO,CAAC,EAAG,IAAkEd,EAAKX,EAAnE0B,EACzF,SAAuCD,EAAQ68T,GAAY,GAAc,MAAV78T,EAAgB,MAAO,CAAC,EAAG,IAAIC,EAAS,CAAC,EAAG,IAAK,IAAIf,KAAOc,EAAU,GAAI7C,OAAOiB,UAAUuC,eAAesD,KAAKjE,EAAQd,GAAM,CAAE,GAAI29T,EAASp9T,QAAQP,IAAQ,EAAG,SAAUe,EAAOf,GAAOc,EAAOd,EAAM,CAAI,OAAOe,CAAQ,CADpL88T,CAA8B/8T,EAAQ68T,GAAuB,GAAI1/T,OAAOoxR,sBAAuB,CAAE,IAAIyuC,EAAmB7/T,OAAOoxR,sBAAsBvuR,GAAS,IAAKzB,EAAI,EAAGA,EAAIy+T,EAAiB1hU,OAAQiD,IAAOW,EAAM89T,EAAiBz+T,GAAQs+T,EAASp9T,QAAQP,IAAQ,GAAkB/B,OAAOiB,UAAUwC,qBAAqBqD,KAAKjE,EAAQd,KAAgBe,EAAOf,GAAOc,EAAOd,GAAQ,CAAE,OAAOe,CAAQ,CAE3e,SAAS22W,KAAiS,OAApRA,GAAWz5W,OAAO0wB,OAAS1wB,OAAO0wB,OAAOplB,OAAS,SAAUxI,GAAU,IAAK,IAAI1B,EAAI,EAAGA,EAAIiE,UAAUlH,OAAQiD,IAAK,CAAE,IAAIyB,EAASwC,UAAUjE,GAAI,IAAK,IAAIW,KAAOc,EAAc7C,OAAOiB,UAAUuC,eAAesD,KAAKjE,EAAQd,KAAQe,EAAOf,GAAOc,EAAOd,GAAU,CAAE,OAAOe,CAAQ,EAAU22W,GAAS1yW,MAAMhG,KAAMsE,UAAY,CAClV,SAASi7T,GAAQ9gU,EAAGuQ,GAAK,IAAIiiB,EAAIhyB,OAAOmB,KAAK3B,GAAI,GAAIQ,OAAOoxR,sBAAuB,CAAE,IAAI51P,EAAIx7B,OAAOoxR,sBAAsB5xR,GAAIuQ,IAAMyrB,EAAIA,EAAEp4B,QAAO,SAAU2M,GAAK,OAAO/P,OAAOgQ,yBAAyBxQ,EAAGuQ,GAAG2gS,UAAY,KAAK1+Q,EAAEjyB,KAAKgH,MAAMirB,EAAGwJ,EAAI,CAAE,OAAOxJ,CAAG,CAC9P,SAASyuS,GAAcjhU,GAAK,IAAK,IAAIuQ,EAAI,EAAGA,EAAI1K,UAAUlH,OAAQ4R,IAAK,CAAE,IAAIiiB,EAAI,MAAQ3sB,UAAU0K,GAAK1K,UAAU0K,GAAK,CAAC,EAAGA,EAAI,EAAIuwT,GAAQtgU,OAAOgyB,IAAI,GAAIlyB,SAAQ,SAAUiQ,GAAK2wT,GAAgBlhU,EAAGuQ,EAAGiiB,EAAEjiB,GAAK,IAAK/P,OAAO2gU,0BAA4B3gU,OAAO+E,iBAAiBvF,EAAGQ,OAAO2gU,0BAA0B3uS,IAAMsuS,GAAQtgU,OAAOgyB,IAAIlyB,SAAQ,SAAUiQ,GAAK/P,OAAOC,eAAeT,EAAGuQ,EAAG/P,OAAOgQ,yBAAyBgiB,EAAGjiB,GAAK,GAAI,CAAE,OAAOvQ,CAAG,CACtb,SAASkhU,GAAgBt+T,EAAKL,EAAKjE,GAA4L,OAAnLiE,EAC5C,SAAwBiwB,GAAK,IAAI5wB,EACjC,SAAsB4wB,EAAGjiB,GAAK,GAAI,iBAAmBiiB,IAAMA,EAAG,OAAOA,EAAG,IAAIxyB,EAAIwyB,EAAEyJ,OAAOgmS,aAAc,QAAI,IAAWjiU,EAAG,CAAE,IAAI4B,EAAI5B,EAAEsH,KAAKkrB,EAAGjiB,GAAK,WAAY,GAAI,iBAAmB3O,EAAG,OAAOA,EAAG,MAAM,IAAI06B,UAAU,+CAAiD,CAAE,OAAQ,WAAa/rB,EAAI+pB,OAASrsB,QAAQukB,EAAI,CADlR0vS,CAAa1vS,EAAG,UAAW,MAAO,iBAAmB5wB,EAAIA,EAAIA,EAAI,EAAI,CADxDkgU,CAAev/T,GAAUA,KAAOK,EAAOpC,OAAOC,eAAemC,EAAKL,EAAK,CAAEjE,MAAOA,EAAO4yS,YAAY,EAAMD,cAAc,EAAM3rS,UAAU,IAAkB1C,EAAIL,GAAOjE,EAAgBsE,CAAK,CAK3O,SAASs3W,GAAa36T,GACpB,OAAOA,GAAQA,EAAKr0C,KAAI,CAAC2P,EAAMjZ,IAAmBusU,EAAAA,cAAoBtzT,EAAKguQ,IAAKo4C,GAAc,CAC5F1+T,IAAKX,GACJiZ,EAAKwmD,MAAO64S,GAAar/V,EAAK0L,SACnC,CACO,SAAS4zV,GAAQ11W,GACtB,OAAOwK,GAAsBk/T,EAAAA,cAAoBisC,GAAUH,GAAS,CAClE54S,KAAM4/P,GAAc,CAAC,EAAGx8T,EAAK48D,OAC5BpyD,GAAQirW,GAAaz1W,EAAK8hB,OAC/B,CACO,SAAS6zV,GAASnrW,GACvB,IAAIorW,EAAOC,IACT,IAOInrS,GAPA,KACA9N,EAAI,KACJlvD,EAAI,MACJktK,GACEpwK,EACJsrW,EAAWt6C,GAAyBhxT,EAAO6wT,IACzC06C,EAAeroW,GAAQmoW,EAAKnoW,MAAQ,MAIxC,OAFImoW,EAAKnrS,YAAWA,EAAYmrS,EAAKnrS,WACjClgE,EAAMkgE,YAAWA,GAAaA,EAAYA,EAAY,IAAM,IAAMlgE,EAAMkgE,WACxDg/P,EAAAA,cAAoB,MAAO8rC,GAAS,CACtDJ,OAAQ,eACR9Z,KAAM,eACN1yD,YAAa,KACZitE,EAAKj5S,KAAMA,EAAMk5S,EAAU,CAC5BprS,UAAWA,EACXtV,MAAOonQ,GAAcA,GAAc,CACjC9iG,MAAOlvN,EAAMkvN,OAASm8I,EAAKn8I,OAC1Bm8I,EAAKzgT,OAAQ5qD,EAAM4qD,OACtBC,OAAQ0gT,EACRlgW,MAAOkgW,EACPtD,MAAO,+BACL73L,GAAsB8uJ,EAAAA,cAAoB,QAAS,KAAM9uJ,GAAQpwK,EAAMgX,SAAS,EAEtF,YAAuBlnB,IAAhBi7W,GAAyC7rC,EAAAA,cAAoB6rC,GAAYnvC,SAAU,MAAMyvC,GAAQD,EAAKC,KAASD,EAAKN,GAC7H,CC0BO,SAASU,GAAgBxrW,GAC9B,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,iBAAiB,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,2OAA2O,MAAQ,MAA9UA,CAAqVlrW,EAC9V,CAkCO,SAASyrW,GAAmBzrW,GACjC,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,iBAAiB,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,gQAAgQ,MAAQ,MAAnWA,CAA0WlrW,EACnX,CA2CO,SAAS0rW,GAAkB1rW,GAChC,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,iBAAiB,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,iOAAiO,MAAQ,MAApUA,CAA2UlrW,EACpV,CAOO,SAAS2rW,GAAiB3rW,GAC/B,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,iBAAiB,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,slCAAslC,MAAQ,MAAzrCA,CAAgsClrW,EACzsC,CA4NO,SAAS4rW,GAAgB5rW,GAC9B,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,iBAAiB,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,mYAAmY,MAAQ,MAAteA,CAA6elrW,EACtf,CAkFO,SAAS6rW,GAAmB7rW,GACjC,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,iBAAiB,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,0lBAA0lB,MAAQ,MAA7rBA,CAAosBlrW,EAC7sB,CAwRO,SAAS8rW,GAAc9rW,GAC5B,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,iBAAiB,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,0jCAA0jC,MAAQ,MAA7pCA,CAAoqClrW,EAC7qC,CAIO,SAAS+rW,GAAsB/rW,GACpC,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,EAAI,gBAAgB,QAAU,gBAAgB,QAAU,OAAO,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAE,MAAQ,IAAI,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,6jBAA6jB,MAAQ,MAAxuBA,CAA+uBlrW,EACxvB,CA0GO,SAASgsW,GAAmBhsW,GACjC,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,iBAAiB,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,8hBAA8hB,MAAQ,MAAjoBA,CAAwoBlrW,EACjpB,CAOO,SAASisW,GAAejsW,GAC7B,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,iBAAiB,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,2aAA2a,MAAQ,MAA9gBA,CAAqhBlrW,EAC9hB,CA4BO,SAASksW,GAAsBlsW,GACpC,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,iBAAiB,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,gMAAgM,MAAQ,IAAI,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,iLAAiL,MAAQ,MAA1fA,CAAigBlrW,EAC1gB,CAIO,SAASmsW,GAAgBnsW,GAC9B,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,iBAAiB,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,6LAA6L,MAAQ,MAAhSA,CAAuSlrW,EAChT,CAqCO,SAASosW,GAAgBpsW,GAC9B,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,iBAAiB,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,slBAAslB,MAAQ,MAAzrBA,CAAgsBlrW,EACzsB,CACO,SAASqsW,GAAkBrsW,GAChC,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,iBAAiB,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,w0BAAw0B,MAAQ,MAA36BA,CAAk7BlrW,EAC37B,CAIO,SAASssW,GAAetsW,GAC7B,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,iBAAiB,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,gaAAga,MAAQ,MAAngBA,CAA0gBlrW,EACnhB,CAqCO,SAASusW,GAAevsW,GAC7B,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,iBAAiB,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,2XAA2X,MAAQ,MAA9dA,CAAqelrW,EAC9e,CAsBO,SAASwsW,GAAmBxsW,GACjC,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,iBAAiB,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,sTAAsT,MAAQ,MAAzZA,CAAgalrW,EACza,CAmEO,SAASysW,GAAmBzsW,GACjC,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,iBAAiB,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,mTAAmT,MAAQ,MAAtZA,CAA6ZlrW,EACta,CAyHO,SAAS0sW,GAAmB1sW,GACjC,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,iBAAiB,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,iaAAia,MAAQ,MAApgBA,CAA2gBlrW,EACphB,CAuGO,SAAS2sW,GAAgB3sW,GAC9B,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,EAAI,gBAAgB,QAAU,gBAAgB,QAAU,OAAO,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAE,MAAQ,IAAI,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,wmBAAwmB,MAAQ,IAAI,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,gQAAgQ,MAAQ,MAAzjCA,CAAgkClrW,EACzkC,CA2CO,SAAS4sW,GAAqB5sW,GACnC,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,iBAAiB,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,iLAAiL,MAAQ,IAAI,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,uIAAuI,MAAQ,MAAjcA,CAAwclrW,EACjd,CAsBO,SAAS6sW,GAAsB7sW,GACpC,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,iBAAiB,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,kmBAAkmB,MAAQ,MAArsBA,CAA4sBlrW,EACrtB,CAqCO,SAAS8sW,GAAoB9sW,GAClC,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,iBAAiB,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,qWAAqW,MAAQ,MAAxcA,CAA+clrW,EACxd,CAyBO,SAAS+sW,GAAgB/sW,GAC9B,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,iBAAiB,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAE,MAAQ,IAAI,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,ixBAAixB,MAAQ,MAAx5BA,CAA+5BlrW,EACx6B,CAOO,SAASgtW,GAAehtW,GAC7B,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,iBAAiB,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,sVAAsV,MAAQ,MAAzbA,CAAgclrW,EACzc,CA+BO,SAASitW,GAAkBjtW,GAChC,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,iBAAiB,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,i6BAAi6B,MAAQ,MAApgCA,CAA2gClrW,EACphC,CAiDO,SAASktW,GAAsBltW,GACpC,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,iBAAiB,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,qwBAAqwB,MAAQ,MAAx2BA,CAA+2BlrW,EACx3B,CAIO,SAASmtW,GAAoBntW,GAClC,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,EAAI,gBAAgB,QAAU,gBAAgB,QAAU,OAAO,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAE,MAAQ,IAAI,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,8kBAA8kB,MAAQ,MAAzvBA,CAAgwBlrW,EACzwB,CAaO,SAASotW,GAAgBptW,GAC9B,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,iBAAiB,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,quBAAquB,MAAQ,MAAx0BA,CAA+0BlrW,EACx1B,CAkCO,SAASqtW,GAAsBrtW,GACpC,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,iBAAiB,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,urBAAurB,MAAQ,MAA1xBA,CAAiyBlrW,EAC1yB,CAaO,SAASstW,GAAkBttW,GAChC,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,iBAAiB,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,+gBAA+gB,MAAQ,MAAlnBA,CAAynBlrW,EACloB,CACO,SAASutW,GAAkBvtW,GAChC,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,iBAAiB,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,qZAAqZ,MAAQ,MAAxfA,CAA+flrW,EACxgB,CA2CO,SAASwtW,GAAextW,GAC7B,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,iBAAiB,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,69BAA69B,MAAQ,MAAhkCA,CAAukClrW,EAChlC,CACO,SAASytW,GAAyBztW,GACvC,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,iBAAiB,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,yrBAAyrB,MAAQ,MAA5xBA,CAAmyBlrW,EAC5yB,CA4BO,SAAS0tW,GAAe1tW,GAC7B,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,iBAAiB,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,mSAAmS,MAAQ,MAAtYA,CAA6YlrW,EACtZ,CAmBO,SAAS2tW,GAA4B3tW,GAC1C,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,iBAAiB,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,wfAAwf,MAAQ,MAA3lBA,CAAkmBlrW,EAC3mB,CA4BO,SAAS4tW,GAAkB5tW,GAChC,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,iBAAiB,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,izDAAizD,MAAQ,MAAp5DA,CAA25DlrW,EACp6D,CAoDO,SAAS6tW,GAAmB7tW,GACjC,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,iBAAiB,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,8zBAA8zB,MAAQ,MAAj6BA,CAAw6BlrW,EACj7B,CAyEO,SAAS8tW,GAAe9tW,GAC7B,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,iBAAiB,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,4vCAA4vC,MAAQ,MAA/1CA,CAAs2ClrW,EAC/2C,CA4EO,SAAS+tW,GAAe/tW,GAC7B,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,iBAAiB,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,mrBAAmrB,MAAQ,MAAtxBA,CAA6xBlrW,EACtyB,CA+BO,SAASguW,GAAiBhuW,GAC/B,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,iBAAiB,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,wQAAwQ,MAAQ,MAA3WA,CAAkXlrW,EAC3X,CA+BO,SAASiuW,GAAYjuW,GAC1B,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,gBAAgB,KAAO,eAAe,SAAW,WAAW,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,yMAAyM,UAAY,sBAAsB,MAAQ,MAAzXA,CAAgYlrW,EACzY,CHz+DA,SAAS,KAA2Q,OAA9P,GAAWzO,OAAO0wB,QAAU,SAAU5tB,GAAU,IAAK,IAAI1B,EAAI,EAAGA,EAAIiE,UAAUlH,OAAQiD,IAAK,CAAE,IAAIyB,EAASwC,UAAUjE,GAAI,IAAK,IAAIW,KAAOc,EAAc7C,OAAOiB,UAAUuC,eAAesD,KAAKjE,EAAQd,KAAQe,EAAOf,GAAOc,EAAOd,GAAU,CAAE,OAAOe,CAAQ,EAAU,GAASiE,MAAMhG,KAAMsE,UAAY,CAE5T,SAASs3W,GAAY94C,EAAMo1C,GACzB,IAAI,MACFp6L,EAAK,QACLq6L,KACGzqW,GACDo1T,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtD/pT,MAAO,OACPw/C,OAAQ,OACR6/S,QAAS,YACTzC,MAAO,6BACPkG,WAAY,+BACZjyS,IAAKsuS,EACL,kBAAmBC,GAClBzqW,QAAkBlQ,IAAVsgL,EAAmC,gBAAoB,QAAS,CACzEnrI,GAAIwlU,GACH,uBAAyBr6L,EAAqB,gBAAoB,QAAS,CAC5EnrI,GAAIwlU,GACHr6L,GAAS,KAAM,KAAO,GAAkB,gBAAoB,IAAK,CAClEnrI,GAAI,UACJ2lU,OAAQ,OACRxsE,YAAa,EACb0yD,KAAM,OACN6Z,SAAU,WACI,gBAAoB,IAAK,CACvC1lU,GAAI,uBACU,gBAAoB,OAAQ,CAC1CA,GAAI,aACJ44P,YAAa,EACbizD,KAAM,UACNv8R,EAAG,EACHD,EAAG,EACHjpD,MAAO,GACPw/C,OAAQ,KACO,gBAAoB,IAAK,CACxC5lB,GAAI,QACJmpU,cAAe,SACf75W,UAAW,kCACXq2W,OAAQ,WACM,gBAAoB,OAAQ,CAC1CxpW,EAAG,kFACH6jC,GAAI,uBAER,CACA,MAAM,GAA0B,aAAiBipU,IAClC,IIhDf,IAAI,GACJ,SAAS,KAA2Q,OAA9P,GAAW38W,OAAO0wB,QAAU,SAAU5tB,GAAU,IAAK,IAAI1B,EAAI,EAAGA,EAAIiE,UAAUlH,OAAQiD,IAAK,CAAE,IAAIyB,EAASwC,UAAUjE,GAAI,IAAK,IAAIW,KAAOc,EAAc7C,OAAOiB,UAAUuC,eAAesD,KAAKjE,EAAQd,KAAQe,EAAOf,GAAOc,EAAOd,GAAU,CAAE,OAAOe,CAAQ,EAAU,GAASiE,MAAMhG,KAAMsE,UAAY,CAE5T,SAASy3W,GAAej5C,EAAMo1C,GAC5B,IAAI,MACFp6L,EAAK,QACLq6L,KACGzqW,GACDo1T,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtD/pT,MAAO,OACPw/C,OAAQ,OACR6/S,QAAS,YACTzC,MAAO,6BACPkG,WAAY,+BACZjyS,IAAKsuS,EACL,kBAAmBC,GAClBzqW,QAAkBlQ,IAAVsgL,EAAmC,gBAAoB,QAAS,CACzEnrI,GAAIwlU,GACH,wCAA0Cr6L,EAAqB,gBAAoB,QAAS,CAC7FnrI,GAAIwlU,GACHr6L,GAAS,KAAM,KAAO,GAAkB,gBAAoB,IAAK,CAClEnrI,GAAI,WACJ2lU,OAAQ,OACRxsE,YAAa,EACb0yD,KAAM,OACN6Z,SAAU,WACI,gBAAoB,IAAK,CACvC1lU,GAAI,cACJ1wC,UAAW,wCACG,gBAAoB,IAAK,CACvC0wC,GAAI,MACJ1wC,UAAW,sCACG,gBAAoB,IAAK,CACvC0wC,GAAI,iBACJ1wC,UAAW,mCACG,gBAAoB,OAAQ,CAC1C0wC,GAAI,aACJ44P,YAAa,EACbizD,KAAM,UACNv8R,EAAG,EACHD,EAAG,EACHjpD,MAAO,GACPw/C,OAAQ,KACO,gBAAoB,IAAK,CACxC5lB,GAAI,QACJmpU,cAAe,SACf75W,UAAW,kCACXq2W,OAAQ,WACM,gBAAoB,OAAQ,CAC1CxpW,EAAG,iDACH6jC,GAAI,yBAER,CACA,MAAM,GAA0B,aAAiBopU,QAClC,iEC8Gf,GAxJgBC,KAEZ,MAAMtlU,EAAWi4R,KAEVoxB,EAAQkc,IAAaz9F,EAAAA,EAAAA,WAAS,IAC9B09F,EAAcC,IAAmB39F,EAAAA,EAAAA,WAAS,IAC1C49F,EAAaC,IAAkB79F,EAAAA,EAAAA,WAAS,IACxC89F,EAAgBC,IAAqB/9F,EAAAA,EAAAA,WAAS,IAC9Cg+F,EAAaC,IAAkBj+F,EAAAA,EAAAA,WAAS,IACxCk+F,EAAaC,IAAkBn+F,EAAAA,EAAAA,WAAS,IAE/C4pB,EAAAA,EAAAA,kBAAgB,KACZ6zE,GAAU,EAAM,GACjB,CAACvlU,IAEJ,MAGMkmU,EAAkBxrW,IACpB,MAAMyrW,EAAYzrW,EAAMrP,OAAO4wC,GAAGrvC,MAAM,KAAK,GACvCw5W,EAAe7a,IACjBka,EAA6B,SAAbla,GAChBoa,EAA4B,YAAbpa,GACfsa,EAA+B,eAAbta,GAClBwa,EAA4B,YAAbxa,GACf0a,EAA4B,YAAb1a,EAAuB,EAGtC17V,OAAO8yD,YAAc,IACF,eAAfjoD,EAAME,KACNwrW,EAAYD,GACU,eAAfzrW,EAAME,MACbwrW,EAAY,MAEM,UAAf1rW,EAAME,OACb6qW,EAA8B,SAAdU,IAAyBX,GACzCG,EAA6B,YAAdQ,IAA4BT,GAC3CG,EAAgC,eAAdM,IAA+BP,GACjDG,EAA6B,YAAdI,IAA4BL,GAC3CG,EAA6B,YAAdE,IAA4BH,GAC/C,EAGEK,EAAaA,KACfZ,GAAgB,GAChBE,GAAe,GACfE,GAAkB,GAClBE,GAAe,GACfE,GAAe,EAAM,EAGzB,OACIK,EAAAA,GAAAA,MAAChf,GAAM,CAACpwR,UAAU,mBAAmB+vR,OAAK,EAACr+F,OAAO,KAAI56O,SAAA,EAClDwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,YAAWlpD,UACtBwyV,EAAAA,GAAAA,KAACO,GAAI,CAACr1E,GAAG,IAAIx0N,UAAU,YAAWlpD,UAC9BwyV,EAAAA,GAAAA,KAAA,OAAKvzV,IAAKs5V,GAAYnlM,IAAI,cAAclqG,UAAU,oBAI1DspS,EAAAA,GAAAA,KAAC9Y,GAAa,CAAChrC,QA5CRv4P,IAAMohT,GAAWlc,GA4CQnyR,UAAU,eAAclpD,SACnDq7U,GAASmX,EAAAA,GAAAA,KAACgG,GAAQ,KAAMhG,EAAAA,GAAAA,KAACiG,GAAW,OAEzCjG,EAAAA,GAAAA,KAACzc,GAAQ,CAACsF,OAAQA,EAAQtB,QAAM,EAAA/5U,UAC5Bs4V,EAAAA,GAAAA,MAACre,GAAG,CAACF,QAAM,EAAC7wR,UAAU,UAASlpD,SAAA,EAC3Bs4V,EAAAA,GAAAA,MAACtG,GAAoB,CACjB/jU,GAAG,wBACHstT,UAAQ,EACRD,KAAG,EACHrrR,aAAcioS,EACdhoS,aAAcgoS,EACdxpD,QAASwpD,EACT7c,OAAQmc,EACR5jT,MAAO,CAAEmmL,OAAQ,WAAY/5N,SAAA,EAE7BwyV,EAAAA,GAAAA,KAAC/T,GAAc,CAACnD,KAAG,EAACpyR,UAAU,YAAYj7B,GAAG,kBAAiBjuB,UAC1Ds4V,EAAAA,GAAAA,MAAA,QAAMrqU,GAAG,YAAYi7B,UAAU,WAAUlpD,SAAA,CAAC,YAC5Bw3V,GAAehF,EAAAA,GAAAA,KAACkG,GAAI,CAACzqU,GAAG,eAAiBukU,EAAAA,GAAAA,KAACmG,GAAM,CAAC1qU,GAAG,oBAGtEukU,EAAAA,GAAAA,KAACvU,GAAY,CAAC/0R,UAAU,qBAAqBj7B,GAAG,gBAAejuB,UAC3DwyV,EAAAA,GAAAA,KAACra,GAAG,CAAClqT,GAAG,WAAUjuB,UACdwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAK7pT,GAAG,WAAUjuB,UACtBs4V,EAAAA,GAAAA,MAACre,GAAG,CAACx9I,UAAQ,EAACxuK,GAAG,WAAUjuB,SAAA,EACvBs4V,EAAAA,GAAAA,MAACvf,GAAG,CAAC7vR,UAAU,mBAAmB05M,IAAKmwF,GAAMr1E,GAAG,YAAYgxB,QAAS2pD,EAAWr4V,SAAA,EAC5EwyV,EAAAA,GAAAA,KAAC8C,GAAa,CAACppW,KAAM,GAAI+hC,GAAG,eAAe,YAC/BukU,EAAAA,GAAAA,KAAA,QAAMvkU,GAAG,aAAYjuB,SAAC,iBAEtCs4V,EAAAA,GAAAA,MAACvf,GAAG,CAAC7vR,UAAU,mBAAmB05M,IAAKmwF,GAAMr1E,GAAG,WAAWgxB,QAAS2pD,EAAWr4V,SAAA,EAC3EwyV,EAAAA,GAAAA,KAAC0D,GAAoB,CAAChqW,KAAM,GAAI+hC,GAAG,eAAe,YACtCukU,EAAAA,GAAAA,KAAA,QAAMvkU,GAAG,aAAYjuB,SAAC,gBAEtCs4V,EAAAA,GAAAA,MAACvf,GAAG,CAAC7vR,UAAU,mBAAmB05M,IAAKmwF,GAAMr1E,GAAG,YAAYgxB,QAAS2pD,EAAWr4V,SAAA,EAC5EwyV,EAAAA,GAAAA,KAAC+D,GAAgB,CAACrqW,KAAM,GAAI+hC,GAAG,eAAe,YAClCukU,EAAAA,GAAAA,KAAA,QAAMvkU,GAAG,aAAYjuB,SAAC,6BAQ1Ds4V,EAAAA,GAAAA,MAACtG,GAAoB,CACjBzW,UAAQ,EACRttT,GAAG,2BACHqtT,KAAG,EACHrrR,aAAcioS,EACdhoS,aAAcgoS,EACdxpD,QAASwpD,EACT7c,OAAQqc,EACR9jT,MAAO,CAAEmmL,OAAQ,WAAY/5N,SAAA,EAE7BwyV,EAAAA,GAAAA,KAAC/T,GAAc,CAACnD,KAAG,EAACpyR,UAAU,YAAYj7B,GAAG,qBAAoBjuB,UAC7Ds4V,EAAAA,GAAAA,MAAA,QAAMrqU,GAAG,eAAei7B,UAAU,WAAUlpD,SAAA,CAAC,WAChC03V,GAAclF,EAAAA,GAAAA,KAACkG,GAAI,CAACzqU,GAAG,kBAAoBukU,EAAAA,GAAAA,KAACmG,GAAM,CAAC1qU,GAAG,uBAGvEukU,EAAAA,GAAAA,KAACvU,GAAY,CAAC/0R,UAAU,qBAAqBj7B,GAAG,mBAAkBjuB,UAC9DwyV,EAAAA,GAAAA,KAACra,GAAG,CAAClqT,GAAG,cAAajuB,UACjBwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAK7pT,GAAG,cAAajuB,UACzBs4V,EAAAA,GAAAA,MAACre,GAAG,CAACx9I,UAAQ,EAACxuK,GAAG,cAAajuB,SAAA,EAC1Bs4V,EAAAA,GAAAA,MAACvf,GAAG,CAAC7vR,UAAU,mBAAmB05M,IAAKmwF,GAAMr1E,GAAG,SAASgxB,QAAS2pD,EAAWr4V,SAAA,EACzEwyV,EAAAA,GAAAA,KAACoD,GAAmB,CAAC1pW,KAAM,KAAM,YACrBsmW,EAAAA,GAAAA,KAAA,QAAAxyV,SAAM,iBAEtBs4V,EAAAA,GAAAA,MAACvf,GAAG,CAAC7vR,UAAU,mBAAmB05M,IAAKmwF,GAAMr1E,GAAG,QAAQgxB,QAAS2pD,EAAWr4V,SAAA,EACxEwyV,EAAAA,GAAAA,KAACsE,GAAa,CAAC5qW,KAAM,KAAM,YACfsmW,EAAAA,GAAAA,KAAA,QAAAxyV,SAAM,aAEtBs4V,EAAAA,GAAAA,MAACvf,GAAG,CAAC7vR,UAAU,mBAAmB05M,IAAKmwF,GAAMr1E,GAAG,WAAWgxB,QAAS2pD,EAAWr4V,SAAA,EAC3EwyV,EAAAA,GAAAA,KAAC6C,GAAgB,CAACnpW,KAAM,KAAM,YAClBsmW,EAAAA,GAAAA,KAAA,QAAAxyV,SAAM,4BAQ1CwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAAC7vR,UAAU,2BAA0BlpD,UACrCwyV,EAAAA,GAAAA,KAACO,GAAI,CAACr1E,GAAG,SAASx0N,UAAU,WAAUlpD,UAClCwyV,EAAAA,GAAAA,KAAA,QAAAxyV,SAAM,eAGdwyV,EAAAA,GAAAA,KAACO,GAAI,CAACr1E,GAAG,WAAU19Q,UACfwyV,EAAAA,GAAAA,KAAA,UAAQtpS,UAAU,0BAA0Bh9D,KAAK,KAAI8T,SAAC,0BAI7D,ECwFjB,GA/OgBhX,IA4CRwpW,EAAAA,GAAAA,KAAAC,GAAAA,SAAA,CAAAzyV,UA8CIs4V,EAAAA,GAAAA,MAAA,UAAQpvS,UAAU,SAAStV,MAAO,CAAEskK,MAAO,OAAQ0gJ,UAAW,uBAAwB54V,SAAA,EAClFwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,YAAYtV,MAAO,CAAEykK,gBAAiB,WAAYr4M,UAC7DwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,kBAAiBlpD,UAC5Bs4V,EAAAA,GAAAA,MAACngB,GAAG,CAAAn4U,SAAA,EACAs4V,EAAAA,GAAAA,MAACvf,GAAG,CAACjB,GAAG,KAAK90C,GAAG,IAAIg1C,GAAG,IAAI9uR,UAAU,OAAMlpD,SAAA,EACvCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,YAAWlpD,SAAE,YAC5BwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,kBAAiBlpD,UAC5Bs4V,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,OAAMlpD,SAAA,EACjBs4V,EAAAA,GAAAA,MAAA,WAASpvS,UAAU,cAAalpD,SAAA,CAAC,qBACZwyV,EAAAA,GAAAA,KAAA,SAAM,WAChBA,EAAAA,GAAAA,KAAA,SAAM,SACRA,EAAAA,GAAAA,KAAA,SAAM,eAGf8F,EAAAA,GAAAA,MAAA,OAAAt4V,SAAA,EACIwyV,EAAAA,GAAAA,KAAA,QAAAxyV,UACIs4V,EAAAA,GAAAA,MAAA,KAAGpvS,UAAU,cAAc0wN,KAAK,yBAAwB55Q,SAAA,EAACwyV,EAAAA,GAAAA,KAACwD,GAAa,CAACpiT,MAAO,CAAEskK,MAAO,OAAQ2gJ,SAAU,UAAY,QAAMrG,EAAAA,GAAAA,KAAA,QAAAxyV,SAAO,0BAEvIwyV,EAAAA,GAAAA,KAAA,QAAAxyV,UACIs4V,EAAAA,GAAAA,MAAA,KAAGpvS,UAAU,cAAc0wN,KAAK,sBAAqB55Q,SAAA,EAACwyV,EAAAA,GAAAA,KAAC4D,GAAc,CAACxiT,MAAO,CAAEskK,MAAO,OAAQ2gJ,SAAU,UAAY,wCASxIP,EAAAA,GAAAA,MAACvf,GAAG,CAACjB,GAAG,KAAKljD,GAAG,IAAIoO,GAAG,IAAIg1C,GAAG,IAAI9uR,UAAU,OAAMlpD,SAAA,EAC9CwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,YAAWlpD,SAAC,cAC3Bs4V,EAAAA,GAAAA,MAACre,GAAG,CAACx9I,UAAQ,EAAAz8L,SAAA,EACTwyV,EAAAA,GAAAA,KAACrY,GAAO,CAAAn6U,UACJwyV,EAAAA,GAAAA,KAACO,GAAI,CAACr1E,GAAG,YAAYx0N,UAAU,wBAAuBlpD,SAAC,gBAI3DwyV,EAAAA,GAAAA,KAACrY,GAAO,CAAAn6U,UACJwyV,EAAAA,GAAAA,KAACO,GAAI,CAACr1E,GAAG,WAAWx0N,UAAU,wBAAuBlpD,SAAC,eAI1DwyV,EAAAA,GAAAA,KAACrY,GAAO,CAAAn6U,UACJwyV,EAAAA,GAAAA,KAACO,GAAI,CAACr1E,GAAG,YAAYx0N,UAAU,wBAAuBlpD,SAAC,sBAWnEs4V,EAAAA,GAAAA,MAACvf,GAAG,CAACjB,GAAG,KAAKljD,GAAG,IAAIoO,GAAG,IAAIg1C,GAAG,IAAI9uR,UAAU,OAAMlpD,SAAA,EAC9CwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,YAAWlpD,SAAC,aAC3Bs4V,EAAAA,GAAAA,MAACre,GAAG,CAACx9I,UAAQ,EAAAz8L,SAAA,EACTwyV,EAAAA,GAAAA,KAACrY,GAAO,CAAAn6U,UACJwyV,EAAAA,GAAAA,KAACO,GAAI,CAACr1E,GAAG,SAASx0N,UAAU,wBAAuBlpD,SAAC,gBAIxDwyV,EAAAA,GAAAA,KAACrY,GAAO,CAAAn6U,UACJwyV,EAAAA,GAAAA,KAACO,GAAI,CAACr1E,GAAG,QAAQx0N,UAAU,wBAAuBlpD,SAAC,YAIvDwyV,EAAAA,GAAAA,KAACrY,GAAO,CAAAn6U,UACJwyV,EAAAA,GAAAA,KAACO,GAAI,CAACr1E,GAAG,WAAWx0N,UAAU,wBAAuBlpD,SAAC,eAI1DwyV,EAAAA,GAAAA,KAACrY,GAAO,CAAAn6U,UACJwyV,EAAAA,GAAAA,KAACO,GAAI,CAACr1E,GAAG,WAAWx0N,UAAU,wBAAuBlpD,SAAC,qBAQlEs4V,EAAAA,GAAAA,MAACvf,GAAG,CAACjB,GAAG,KAAKljD,GAAG,IAAIoO,GAAG,IAAIg1C,GAAG,IAAI9uR,UAAU,OAAMlpD,SAAA,EAC9CwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,YAAWlpD,SAAC,eAC3BwyV,EAAAA,GAAAA,KAACvY,GAAG,CAACx9I,UAAQ,EAAAz8L,UACTwyV,EAAAA,GAAAA,KAACrY,GAAO,CAAAn6U,UACJwyV,EAAAA,GAAAA,KAACO,GAAI,CAACr1E,GAAG,QAAQx0N,UAAU,wBAAuBlpD,SAAC,iBAW/DwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,IAAIE,GAAG,OACfsgB,EAAAA,GAAAA,MAACvf,GAAG,CAACjB,GAAG,KAAKC,GAAG,IAAIC,GAAG,IAAI9uR,UAAU,OAAMlpD,SAAA,EACvCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,YAAWlpD,SAAC,YAC3Bs4V,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,YAAWlpD,SAAA,EACtBwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,IAAI5uR,UAAU,OAAMlpD,UACxBs4V,EAAAA,GAAAA,MAAA,KAAG1kT,MAAO,CAAEskK,MAAO,QAAU0hE,KAAK,uBAAuBv8R,OAAO,SAASy7W,IAAI,sBAAqB94V,SAAA,CAAC,KAACwyV,EAAAA,GAAAA,KAACyE,GAAU,CAAC/qW,KAAM,WAE1HsmW,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,IAAG93U,UACPs4V,EAAAA,GAAAA,MAAA,KAAG1kT,MAAO,CAAEskK,MAAO,QAAU0hE,KAAK,2CAA2Cv8R,OAAO,SAASy7W,IAAI,sBAAqB94V,SAAA,CAAC,KAACwyV,EAAAA,GAAAA,KAACoC,GAAc,CAAC1oW,KAAM,wBAOtKsmW,EAAAA,GAAAA,KAAA,WAAS5+S,MAAO,CAAEmD,WAAY,OAAQE,cAAe,OAAQohK,gBAAiB,WAAYr4M,UACtFwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,kBAAiBlpD,UAC5Bs4V,EAAAA,GAAAA,MAACngB,GAAG,CAAAn4U,SAAA,EACAwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAKE,GAAG,IAAI9uR,UAAU,QAAOlpD,UACjCs4V,EAAAA,GAAAA,MAACngB,GAAG,CAAAn4U,SAAA,EAEAwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAKC,GAAG,IAAG/3U,UACfwyV,EAAAA,GAAAA,KAACO,GAAI,CAACr1E,GAAG,SAASx0N,UAAU,YAAYkwG,MAAM,eAAcp5J,SAAC,oBAIjEwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAKC,GAAG,IAAIn+D,KAAK,IAAIxgH,MAAM,iBAAgBp5J,UAC/CwyV,EAAAA,GAAAA,KAACO,GAAI,CAACr1E,GAAG,WAAWx0N,UAAU,YAAWlpD,SAAE,sBAI/CwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAKC,GAAG,IAAIn+D,KAAK,IAAIxgH,MAAM,iBAAgBp5J,UAC/CwyV,EAAAA,GAAAA,KAACO,GAAI,CAACr1E,GAAG,UAAUx0N,UAAU,YAAWlpD,SAAE,0BAQtDwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAKE,GAAG,IAAI9uR,UAAU,gBAAelpD,UAEzCs4V,EAAAA,GAAAA,MAAA,KAAGpvS,UAAU,iBAAgBlpD,SAAA,CAAC,QACnB,IAAInd,MAAO4/D,cAAc,iDCmGpE,MACA,GAAe,IAA0B,mHCtSzC,GAxCwB27P,IAA2D,IAA1D,SAAE26C,EAAQ,QAAEjK,EAAO,WAAEkK,EAAU,SAAEC,EAAQ,QAAE3U,GAASlmC,EAGzE,MAAOxkT,EAAWs/V,IAAgBp/F,EAAAA,EAAAA,WAAS,GAM3C,OAJAsC,EAAAA,EAAAA,YAAU,KACN88F,GAAa,EAAK,GACnB,KAGCZ,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,kBAAiBlpD,SAAA,EAC5Bs4V,EAAAA,GAAAA,MAAA,OAAKpvS,UAAS,WAAA5iE,OAAasT,EAAY,UAAY,IAAKoG,SAAA,EACpDwyV,EAAAA,GAAAA,KAAA,MAAItpS,UAAW+vS,EAAW,eAAiB,mBAAmBj5V,SAAGg5V,IAChEC,IACGX,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,EACIwyV,EAAAA,GAAAA,KAAA,MAAItpS,UAAW+vS,EAAW,4BAA8B,gCAAgCj5V,SAAG8uV,KAC3F0D,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,gBAAgBtV,MAAO,CAAEuD,UAAW,SAAUn3C,UACzDwyV,EAAAA,GAAAA,KAACO,GAAI,CAACr1E,GAAG,WAAU19Q,UACfwyV,EAAAA,GAAAA,KAAA,UAAQtpS,UAAU,qBAAoBlpD,SAAC,0BAY3DwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,mBACfspS,EAAAA,GAAAA,KAAA,OAAKvzV,IAAK85V,EAAU3lM,IAAKkxL,EAASp7R,UAAW+vS,EAAW,cAAgB,sBAKrE,ECFf,GAlC0BE,MAEtB/8F,EAAAA,EAAAA,YAAU,KACNn3P,SAASm0J,MAAQ,uBACjB,MAAMggM,EAAan0V,SAASC,cAAc,QAK1C,OAJAk0V,EAAWjkT,aAAa,OAAQ,UAChCikT,EAAW3wG,QAAU,UACrBxjP,SAASkiT,KAAKxzQ,YAAYylT,GAEnB,KACHn0V,SAASkiT,KAAKpzQ,YAAYqlT,EAAW,CACxC,GACF,IAEH,MAAMJ,GACFxG,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,yBAAwBlpD,SAAC,kBAK7C,OACIs4V,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,GAAElpD,SAAA,EACbwyV,EAAAA,GAAAA,KAAC6G,GAAW,CAACN,SAAUO,GAAOxK,QAAS,gBAAiBkK,WAAYA,EAAYC,UAAU,EAAO3U,QAAS,sBAE1GkO,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,4BAA2BlpD,UACtCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,wBAAuBlpD,UAClCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,SAASjqD,IAAKs6V,GAAUnmM,IAAI,YAAYx/G,MAAO,CAAEC,OAAQ,iBAI7E,ECoGR,SAAS2lT,GAAaxwW,GAC3B,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,eAAe,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,KAAO,OAAO,cAAgB,QAAQ,eAAiB,QAAQ,YAAc,KAAK,EAAI,wCAAwC,MAAQ,MAA3NA,CAAkOlrW,EAC3O,CAqFO,SAASywW,GAAgBzwW,GAC9B,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,eAAe,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,KAAO,OAAO,cAAgB,SAAS,iBAAmB,KAAK,YAAc,KAAK,EAAI,wCAAwC,MAAQ,MAA3NA,CAAkOlrW,EAC3O,CAoGO,SAAS0wW,GAAO1wW,GACrB,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,eAAe,MAAQ,CAAC,CAAC,IAAM,SAAS,KAAO,CAAC,GAAK,MAAM,GAAK,MAAM,EAAI,MAAM,KAAO,OAAO,iBAAmB,KAAK,YAAc,MAAM,MAAQ,IAAI,CAAC,IAAM,OAAO,KAAO,CAAC,iBAAmB,KAAK,YAAc,KAAK,EAAI,gCAAgC,MAAQ,MAA1SA,CAAiTlrW,EAC1T,CAgfO,SAAS2wW,GAA6B3wW,GAC3C,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,eAAe,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,KAAO,OAAO,cAAgB,QAAQ,iBAAmB,KAAK,YAAc,KAAK,EAAI,0aAA0a,MAAQ,IAAI,CAAC,IAAM,SAAS,KAAO,CAAC,GAAK,MAAM,GAAK,MAAM,EAAI,MAAM,MAAQ,IAAI,CAAC,IAAM,SAAS,KAAO,CAAC,GAAK,MAAM,GAAK,MAAM,EAAI,MAAM,MAAQ,IAAI,CAAC,IAAM,SAAS,KAAO,CAAC,GAAK,MAAM,GAAK,MAAM,EAAI,MAAM,MAAQ,MAAxyBA,CAA+yBlrW,EACxzB,CAgEO,SAAS4wW,GAAkB5wW,GAChC,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,eAAe,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,KAAO,OAAO,cAAgB,SAAS,iBAAmB,KAAK,YAAc,KAAK,EAAI,2BAA2B,MAAQ,MAA9MA,CAAqNlrW,EAC9N,CAwFO,SAAS6wW,GAAoB7wW,GAClC,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,eAAe,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,+LAA+L,MAAQ,MAAhSA,CAAuSlrW,EAChT,CA+KO,SAAS8wW,GAAoB9wW,GAClC,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,eAAe,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,KAAO,OAAO,cAAgB,QAAQ,iBAAmB,KAAK,YAAc,KAAK,EAAI,wXAAwX,MAAQ,IAAI,CAAC,IAAM,OAAO,KAAO,CAAC,KAAO,OAAO,cAAgB,QAAQ,eAAiB,QAAQ,YAAc,KAAK,EAAI,iVAAiV,MAAQ,IAAI,CAAC,IAAM,OAAO,KAAO,CAAC,KAAO,OAAO,cAAgB,QAAQ,eAAiB,QAAQ,YAAc,KAAK,EAAI,ywBAAywB,MAAQ,MAAp3DA,CAA23DlrW,EACp4D,CAkIO,SAAS+wW,GAAuB/wW,GACrC,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,eAAe,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,KAAO,OAAO,eAAiB,QAAQ,YAAc,KAAK,EAAI,mJAAmJ,MAAQ,IAAI,CAAC,IAAM,OAAO,KAAO,CAAC,KAAO,OAAO,cAAgB,QAAQ,eAAiB,QAAQ,YAAc,KAAK,EAAI,6DAA6D,MAAQ,MAAneA,CAA0elrW,EACnf,CAs0BO,SAASgxW,GAAmBhxW,GACjC,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,eAAe,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,KAAO,OAAO,cAAgB,QAAQ,eAAiB,QAAQ,YAAc,KAAK,EAAI,iCAAiC,MAAQ,IAAI,CAAC,IAAM,OAAO,KAAO,CAAC,MAAQ,MAAM,OAAS,MAAM,EAAI,KAAK,EAAI,MAAM,KAAO,OAAO,cAAgB,QAAQ,eAAiB,QAAQ,YAAc,KAAK,GAAK,KAAK,GAAK,MAAM,MAAQ,MAA7YA,CAAoZlrW,EAC7Z,CAoMO,SAASixW,GAAajxW,GAC3B,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,eAAe,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,+wFAA+wF,MAAQ,IAAI,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,gEAAgE,MAAQ,MAAt9FA,CAA69FlrW,EACt+F,CAibO,SAASkxW,GAAelxW,GAC7B,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,eAAe,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,uNAAuN,MAAQ,MAAxTA,CAA+TlrW,EACxU,CAkOO,SAASmxW,GAASnxW,GACvB,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,eAAe,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,+RAA+R,MAAQ,IAAI,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,yEAAyE,MAAQ,MAA/eA,CAAsflrW,EAC/f,CAwRO,SAASoxW,GAAiBpxW,GAC/B,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,eAAe,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,KAAO,OAAO,cAAgB,QAAQ,eAAiB,QAAQ,YAAc,KAAK,EAAI,giBAAgiB,MAAQ,IAAI,CAAC,IAAM,OAAO,KAAO,CAAC,KAAO,OAAO,cAAgB,QAAQ,eAAiB,QAAQ,YAAc,KAAK,EAAI,4HAA4H,MAAQ,MAAv8BA,CAA88BlrW,EACv9B,CAyBO,SAASqxW,GAAerxW,GAC7B,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,eAAe,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,KAAO,OAAO,cAAgB,QAAQ,eAAiB,QAAQ,YAAc,KAAK,EAAI,8TAA8T,MAAQ,MAAjfA,CAAwflrW,EACjgB,CAOO,SAASsxW,GAAgBtxW,GAC9B,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,eAAe,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,MAAQ,MAAM,OAAS,MAAM,EAAI,KAAK,EAAI,KAAK,KAAO,OAAO,eAAiB,QAAQ,YAAc,KAAK,GAAK,MAAM,MAAQ,IAAI,CAAC,IAAM,OAAO,KAAO,CAAC,KAAO,OAAO,eAAiB,QAAQ,YAAc,KAAK,EAAI,mRAAmR,MAAQ,MAApkBA,CAA2kBlrW,EACplB,CA0GO,SAASuxW,GAA0BvxW,GACxC,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,eAAe,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,KAAO,OAAO,cAAgB,QAAQ,eAAiB,QAAQ,YAAc,KAAK,EAAI,gCAAgC,MAAQ,IAAI,CAAC,IAAM,OAAO,KAAO,CAAC,KAAO,OAAO,cAAgB,QAAQ,eAAiB,QAAQ,YAAc,KAAK,EAAI,+JAA+J,MAAQ,MAA1eA,CAAiflrW,EAC1f,CAyBO,SAASwxW,GAAgBxxW,GAC9B,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,eAAe,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,KAAO,OAAO,cAAgB,QAAQ,eAAiB,QAAQ,YAAc,KAAK,EAAI,yQAAyQ,MAAQ,MAA5bA,CAAmclrW,EAC5c,CA4EO,SAASyxW,GAAQzxW,GACtB,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,eAAe,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,2OAA2O,MAAQ,MAA5UA,CAAmVlrW,EAC5V,CAOO,SAAS0xW,GAAc1xW,GAC5B,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,eAAe,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,6XAA6X,MAAQ,MAA9dA,CAAqelrW,EAC9e,CAuDO,SAAS2xW,GAAyB3xW,GACvC,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,eAAe,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,KAAO,OAAO,cAAgB,QAAQ,eAAiB,QAAQ,YAAc,KAAK,EAAI,2EAA2E,MAAQ,MAA9PA,CAAqQlrW,EAC9Q,CC5/GA,MAAM4xW,GAAY,UAgWlB,GA9VqB,CACjB,CACI3sU,GAAI,sBACJq2C,MAAMkuR,EAAAA,GAAAA,KAACuC,GAAoB,CAAC7oW,KAAM,IAAKgsN,MAAO0iJ,KAC9C9L,QAAS,uBACT+L,YACIvC,EAAAA,GAAAA,MAAA,QAAAt4V,SAAA,EACIwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,yBAAwBlpD,SAAC,yBAA2B,cAI5Es/C,YAAa,4NACbw7S,SAAU,qnBACVryG,QAAS,CAAC,CACNx6N,GAAI,EACJ6gU,SAASwJ,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,6BAA4BlpD,SAAA,CAAC,+BAA2BwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,gDAA+ClpD,SAAC,iCAC/Ig5V,WAAY,2RACZ10R,MAAMkuR,EAAAA,GAAAA,KAAC2H,GAAO,CAACjxS,UAAU,iCAE7B,CACIj7B,GAAI,EACJ6gU,SAASwJ,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,yBAAwBlpD,SAAA,EAACwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,kCAAiClpD,SAAC,uBAAyB,4BAC3Hg5V,WAAY,qdACZ10R,MAAMkuR,EAAAA,GAAAA,KAACgI,GAAc,CAACtxS,UAAU,sBAEpC,CACIj7B,GAAI,EACJ6gU,SAASwJ,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,yBAAwBlpD,SAAA,EAACwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,gDAA+ClpD,SAAC,aAAe,oCAC/Hg5V,WAAY,uaACZ10R,MAAMkuR,EAAAA,GAAAA,KAAC8H,GAAc,CAACpxS,UAAU,iCAEpC,CACIj7B,GAAI,EACJ6gU,SAASwJ,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,6BAA4BlpD,SAAA,CAAC,aAASwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,gDAA+ClpD,SAAC,mCAC7Hg5V,WAAY,qYACZ10R,MAAMkuR,EAAAA,GAAAA,KAACsD,GAAkB,CAAC5sS,UAAU,iCAExC,CACIj7B,GAAI,EACJ6gU,SAASwJ,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,yBAAwBlpD,SAAA,CAAC,aAASwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,kCAAiClpD,SAAC,+BAC3Gg5V,WAAY,oaACZ10R,MAAMkuR,EAAAA,GAAAA,KAACmH,GAA2B,CAACzwS,UAAU,sBAEjD,CACIj7B,GAAI,EACJ6gU,SAASwJ,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,yBAAwBlpD,SAAA,CAAC,gBAAYwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,gDAA+ClpD,SAAC,0BAC5Hg5V,WAAY,uTACZ10R,MAAMkuR,EAAAA,GAAAA,KAACwH,GAAiB,CAAC9wS,UAAU,mCAsD3C,CACIj7B,GAAI,iBACJq2C,MAAMkuR,EAAAA,GAAAA,KAAC8C,GAAa,CAACppW,KAAM,IAAKgsN,MAAO0iJ,KACvC9L,QAAS,kBACT+L,YACIvC,EAAAA,GAAAA,MAAA,QAAAt4V,SAAA,EACIwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,yBAAwBlpD,SAAC,oBAAsB,cAIvEs/C,YAAa,kPACbw7S,SAAU,kaACVryG,QAAS,CAAC,CACNx6N,GAAI,EACJ6gU,SAASwJ,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,6BAA4BlpD,SAAA,CAAC,+BAA2BwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,gDAA+ClpD,SAAC,8BAC/Ig5V,WAAY,oQACZ10R,MAAMkuR,EAAAA,GAAAA,KAACiH,GAAc,CAACvwS,UAAU,iCAEpC,CACIj7B,GAAI,EACJ6gU,SAASwJ,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,yBAAwBlpD,SAAA,EAACwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,kCAAiClpD,SAAC,2BAA6B,4BAC/Hg5V,WAAY,yZACZ10R,MAAMkuR,EAAAA,GAAAA,KAACgI,GAAc,CAACtxS,UAAU,sBAEpC,CACIj7B,GAAI,EACJ6gU,SAASwJ,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,yBAAwBlpD,SAAA,EAACwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,gDAA+ClpD,SAAC,yBAA2B,4BAC3Ig5V,WAAY,oVACZ10R,MAAMkuR,EAAAA,GAAAA,KAACsC,GAAY,CAAC5rS,UAAU,iCAElC,CACIj7B,GAAI,EACJ6gU,SAASwJ,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,6BAA4BlpD,SAAA,EAACwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,gDAA+ClpD,SAAC,6BAA+B,qBACnJg5V,WAAY,oXACZ10R,MAAMkuR,EAAAA,GAAAA,KAACsD,GAAkB,CAAC5sS,UAAU,iCAExC,CACIj7B,GAAI,EACJ6gU,SAASwJ,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,yBAAwBlpD,SAAA,CAAC,iBAAawyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,kCAAiClpD,SAAC,kCAC/Gg5V,WAAY,kWACZ10R,MAAMkuR,EAAAA,GAAAA,KAACmH,GAA2B,CAACzwS,UAAU,sBAEjD,CACIj7B,GAAI,EACJ6gU,SAASwJ,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,yBAAwBlpD,SAAA,CAAC,gBAAYwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,gDAA+ClpD,SAAC,0BAC5Hg5V,WAAY,sWACZ10R,MAAMkuR,EAAAA,GAAAA,KAACwH,GAAiB,CAAC9wS,UAAU,mCAI3C,CACIj7B,GAAI,kBACJq2C,MAAMkuR,EAAAA,GAAAA,KAACsC,GAAY,CAAC5oW,KAAM,IAAKgsN,MAAO0iJ,KACtC9L,QAAS,mBACT+L,YACIvC,EAAAA,GAAAA,MAAA,QAAAt4V,SAAA,EACIwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,yBAAwBlpD,SAAC,qBAAuB,cAIxEs/C,YAAa,wOACbw7S,SAAU,sjBACVryG,QAAS,CAAC,CACNx6N,GAAI,EACJ6gU,SAASwJ,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,6BAA4BlpD,SAAA,CAAC,+BAA2BwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,gDAA+ClpD,SAAC,yBAC/Ig5V,WAAY,8RACZ10R,MAAMkuR,EAAAA,GAAAA,KAACiH,GAAc,CAACvwS,UAAU,iCAEpC,CACIj7B,GAAI,EACJ6gU,SAASwJ,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,yBAAwBlpD,SAAA,EAACwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,kCAAiClpD,SAAC,qCAAuC,4BACzIg5V,WAAY,gXACZ10R,MAAMkuR,EAAAA,GAAAA,KAACsC,GAAY,CAAC5rS,UAAU,uBAElC,CACIj7B,GAAI,EACJ6gU,SAASwJ,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,yBAAwBlpD,SAAA,EAACwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,gDAA+ClpD,SAAC,iBAAmB,6BACnIg5V,WAAY,uYACZ10R,MAAMkuR,EAAAA,GAAAA,KAACgD,GAAiB,CAACtsS,UAAU,2CAEvC,CACIj7B,GAAI,EACJ6gU,SAASwJ,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,eAAclpD,SAAA,CAAC,aAASwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,gDAA+ClpD,SAAC,oCAC/Gg5V,WAAY,6UACZ10R,MAAMkuR,EAAAA,GAAAA,KAACsD,GAAkB,CAAC5sS,UAAU,sBAExC,CACIj7B,GAAI,EACJ6gU,SAASwJ,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,yBAAwBlpD,SAAA,CAAC,gBAAYwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,iDAAgDlpD,SAAC,sBAC7Hg5V,WAAY,sSACZ10R,MAAMkuR,EAAAA,GAAAA,KAACwH,GAAiB,CAAC9wS,UAAU,uCAI3C,CACIj7B,GAAI,wBACJq2C,MAAMkuR,EAAAA,GAAAA,KAACyH,GAAW,CAAC/tW,KAAM,IAAKgsN,MAAO0iJ,KACrC9L,QAAS,yBACT+L,YACIvC,EAAAA,GAAAA,MAAA,QAAAt4V,SAAA,EACIwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,yBAAwBlpD,SAAC,2BAA6B,cAI9Es/C,YAAa,+OACbw7S,SAAU,ulBACVryG,QAAS,CAAC,CACNx6N,GAAI,EACJ6gU,SAASwJ,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,6BAA4BlpD,SAAA,EAACwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,gDAA+ClpD,SAAC,cAAgB,0BACpIg5V,WAAY,sQACZ10R,MAAMkuR,EAAAA,GAAAA,KAACiH,GAAc,CAACvwS,UAAU,iCAEpC,CACIj7B,GAAI,EACJ6gU,SAASwJ,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,yBAAwBlpD,SAAA,EAACwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,kCAAiClpD,SAAC,iBAAmB,oBACrHg5V,WAAY,qVACZ10R,MAAMkuR,EAAAA,GAAAA,KAACsC,GAAY,CAAC5rS,UAAU,uBAElC,CACIj7B,GAAI,EACJ6gU,SAASwJ,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,yBAAwBlpD,SAAA,CAAC,YAAQwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,gDAA+ClpD,SAAC,mCACxHg5V,WAAY,6ZACZ10R,MAAMkuR,EAAAA,GAAAA,KAACgD,GAAiB,CAACtsS,UAAU,2CAEvC,CACIj7B,GAAI,EACJ6gU,SAASwJ,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,eAAclpD,SAAA,CAAC,YAAQwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,gDAA+ClpD,SAAC,+BAC9Gg5V,WAAY,4UACZ10R,MAAMkuR,EAAAA,GAAAA,KAAC+H,GAAwB,CAACrxS,UAAU,sBAE9C,CACIj7B,GAAI,EACJ6gU,SAASwJ,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,yBAAwBlpD,SAAA,CAAC,aAASwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,iDAAgDlpD,SAAC,kBAC1Hg5V,WAAY,iVACZ10R,MAAMkuR,EAAAA,GAAAA,KAACmI,GAAuB,CAACzxS,UAAU,qCAG7C,CACIj7B,GAAI,EACJ6gU,SAASwJ,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,yBAAwBlpD,SAAA,CAAC,WAAOwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,gDAA+ClpD,SAAC,iCACvHg5V,WAAY,mWACZ10R,MAAMkuR,EAAAA,GAAAA,KAACwH,GAAiB,CAAC9wS,UAAU,mCAI3C,CACIj7B,GAAI,qBACJq2C,MAAMkuR,EAAAA,GAAAA,KAACgD,GAAiB,CAACtpW,KAAM,IAAKgsN,MAAO0iJ,KAC3C9L,QAAS,sBACT+L,YACIvC,EAAAA,GAAAA,MAAA,QAAAt4V,SAAA,EACIwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,yBAAwBlpD,SAAC,wBAA0B,cAI3EyoP,QAAS,CAAC,CACNx6N,GAAI,EACJ6gU,SAASwJ,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,6BAA4BlpD,SAAA,EAACwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,uCAAsClpD,SAAC,aAAe,gBAC1Hg5V,WAAY,2RACZ10R,MAAMkuR,EAAAA,GAAAA,KAACiH,GAAc,CAACvwS,UAAU,iCAEpC,CACIj7B,GAAI,EACJ6gU,SAASwJ,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,yBAAwBlpD,SAAA,CAAC,eAAWwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,yBAAwBlpD,SAAC,uBAAyB,qBAC7Hg5V,WAAY,+TACZ10R,MAAMkuR,EAAAA,GAAAA,KAACsC,GAAY,CAAC5rS,UAAU,uBAElC,CACIj7B,GAAI,EACJ6gU,SAASwJ,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,yBAAwBlpD,SAAA,CAAC,YAAQwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,uCAAsClpD,SAAC,mCAC/Gg5V,WAAY,+YACZ10R,MAAMkuR,EAAAA,GAAAA,KAACgD,GAAiB,CAACtsS,UAAU,2CAEvC,CACIj7B,GAAI,EACJ6gU,SAASwJ,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,eAAclpD,SAAA,CAAC,YAAQwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,uCAAsClpD,SAAC,oCACrGg5V,WAAY,6YACZ10R,MAAMkuR,EAAAA,GAAAA,KAAC+H,GAAwB,CAACrxS,UAAU,sBAE9C,CACIj7B,GAAI,EACJ6gU,SAAS0D,EAAAA,GAAAA,KAAA,MAAItpS,UAAU,yBAAwBlpD,UAACwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,wCAAuClpD,SAAC,0BACxGg5V,WAAY,qYACZ10R,MAAMkuR,EAAAA,GAAAA,KAAC6H,GAAa,CAACnxS,UAAU,qCAGnC,CACIj7B,GAAI,EACJ6gU,SAASwJ,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,yBAAwBlpD,SAAA,CAAC,eAAWwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,uCAAsClpD,SAAC,0BAClHg5V,WAAY,sRACZ10R,MAAMkuR,EAAAA,GAAAA,KAACwH,GAAiB,CAAC9wS,UAAU,kCAGvC5J,YAAa,qOACbw7S,SAAU,4gBAEd,CACI7sU,GAAI,aACJq2C,MAAMkuR,EAAAA,GAAAA,KAACoE,GAAgB,CAAC1qW,KAAM,IAAKgsN,MAAO0iJ,KAC1C9L,QAAS,aACT+L,YACIvC,EAAAA,GAAAA,MAAA,QAAAt4V,SAAA,EACIwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,yBAAwBlpD,SAAC,eAAiB,cAIlEyoP,QAAS,CAAC,CACNx6N,GAAI,EACJ6gU,SAASwJ,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,6BAA4BlpD,SAAA,EAACwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,gDAA+ClpD,SAAC,kBAAoB,sBACxIg5V,WAAY,8QACZ10R,MAAMkuR,EAAAA,GAAAA,KAACoE,GAAgB,CAAC1tS,UAAU,iCAEtC,CACIj7B,GAAI,EACJ6gU,SAASwJ,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,yBAAwBlpD,SAAA,EAACwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,kCAAiClpD,SAAC,wBAA0B,gCAC5Hg5V,WAAY,iWACZ10R,MAAMkuR,EAAAA,GAAAA,KAAC8C,GAAa,CAACpsS,UAAU,uBAEnC,CACIj7B,GAAI,EACJ6gU,SAASwJ,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,yBAAwBlpD,SAAA,CAAC,UAAMwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,gDAA+ClpD,SAAC,mCACtHg5V,WAAY,2TACZ10R,MAAMkuR,EAAAA,GAAAA,KAACsD,GAAkB,CAAC5sS,UAAU,2CAExC,CACIj7B,GAAI,EACJ6gU,SAASwJ,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,eAAclpD,SAAA,EAACwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,gDAA+ClpD,SAAC,uBAAyB,iBAC/Hg5V,WAAY,0WACZ10R,MAAMkuR,EAAAA,GAAAA,KAAC+H,GAAwB,CAACrxS,UAAU,sBAE9C,CACIj7B,GAAI,EACJ6gU,SAAS0D,EAAAA,GAAAA,KAAA,MAAItpS,UAAU,yBAAwBlpD,UAACwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,iDAAgDlpD,SAAC,8BACjHg5V,WAAY,wWACZ10R,MAAMkuR,EAAAA,GAAAA,KAACmH,GAA2B,CAACzwS,UAAU,qCAGjD,CACIj7B,GAAI,EACJ6gU,SAASwJ,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,yBAAwBlpD,SAAA,CAAC,gBAAYwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,gDAA+ClpD,SAAC,uBAAyB,sBACrJg5V,WAAY,sTACZ10R,MAAMkuR,EAAAA,GAAAA,KAACwH,GAAiB,CAAC9wS,UAAU,kCAGvC5J,YAAa,wOACbw7S,SAAU,ocC7VH,SAASC,KAGpB,OACIvI,EAAAA,GAAAA,KAAA,OAAAxyV,UACIwyV,EAAAA,GAAAA,KAACra,GAAG,CAACjvR,UAAU,qBAAoBlpD,SAC9Bg7V,GAAa/1W,KAAKgP,IACfqkW,EAAAA,GAAAA,MAACvf,GAAG,CAAenkD,GAAG,IAAIoO,GAAG,IAAI80C,GAAG,KAAK5uR,UAAU,YAAWlpD,SAAA,EAC1Ds4V,EAAAA,GAAAA,MAAA,UAAAt4V,SAAA,CACK/L,EAAKqwE,MACNg0R,EAAAA,GAAAA,MAAA,cAAAt4V,SAAA,EACIwyV,EAAAA,GAAAA,KAAA,MAAItpS,UAAU,6BAA4BlpD,SAAE/L,EAAK66V,WACjD0D,EAAAA,GAAAA,KAAA,KAAGtpS,UAAU,WAAWtV,MAAO,CAAE8G,UAAW,OAAQugT,UAAW,QAASj7V,SAAE/L,EAAKqrD,qBAIvFkzS,EAAAA,GAAAA,KAACra,GAAG,CAAAn4U,UACAwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAK5uR,UAAU,mBAAkBlpD,UACrCwyV,EAAAA,GAAAA,KAACO,GAAI,CAACr1E,GAAE,aAAAp3R,OAAe2N,EAAKg6B,IAAM2lB,MAAO,CAAEsnT,eAAgB,QAASl7V,UAEhEwyV,EAAAA,GAAAA,KAAA,UAAQtpS,UAAU,kBAAkBh9D,KAAK,KAAI8T,SAAE,uBAbrD/L,EAAKg6B,SAwBnC,+DCuCA,GArEiB8sU,MAEb3+F,EAAAA,EAAAA,YAAU,KACNn3P,SAASm0J,MAAQ,8DAGjB,MAAM+hM,EAAkBl2V,SAASC,cAAc,QAC/Ci2V,EAAgBhmT,aAAa,OAAQ,eACrCgmT,EAAgB1yG,QAAU,qJAG1B,MAAM2yG,EAAen2V,SAASC,cAAc,QAC5Ck2V,EAAajmT,aAAa,OAAQ,YAClCimT,EAAa3yG,QAAU,sNAEvB,MAAM2wG,EAAan0V,SAASC,cAAc,QAU1C,OATAk0V,EAAWjkT,aAAa,OAAQ,UAChCikT,EAAW3wG,QAAU,QACrBxjP,SAASkiT,KAAKxzQ,YAAYylT,GAG1Bn0V,SAASkiT,KAAKxzQ,YAAYwnT,GAC1Bl2V,SAASkiT,KAAKxzQ,YAAYynT,GAC1Bn2V,SAASkiT,KAAKxzQ,YAAYylT,GAEnB,KAEHn0V,SAASkiT,KAAKpzQ,YAAYonT,GAC1Bl2V,SAASkiT,KAAKpzQ,YAAYqnT,GAC1Bn2V,SAASkiT,KAAKpzQ,YAAYqlT,EAAW,CAExC,GAGF,IAEH,MAAMJ,GAKFxG,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,yBAAwBlpD,SAAC,aAK7C,OACIs4V,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,OAAMlpD,SAAA,EAEjBwyV,EAAAA,GAAAA,KAAC6G,GAAW,CAACN,SAAUO,GAAOxK,QAAS,WAAYkK,WAAYA,EAAYC,UAAU,EAAO3U,QAAS,mCAErGgU,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,kBAAiBlpD,SAAA,EAC5BwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,gBAAelpD,UAC1Bs4V,EAAAA,GAAAA,MAAA,MAAIpvS,UAAS,+BAAiClpD,SAAA,CAAC,sCACTwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAW,2BAA2BlpD,SAAC,iCAGvFwyV,EAAAA,GAAAA,KAACra,GAAG,CAACjvR,UAAU,eAAclpD,UAEzBwyV,EAAAA,GAAAA,KAAC6I,GAAa,WAMnB,EClEA,SAASC,KAEpB,MAAMC,EAAe,CACjB,CACIttU,GAAI,EACJq2C,MAAMkuR,EAAAA,GAAAA,KAACyC,GAAa,CAAC/rS,UAAU,aAAagvJ,MAAM,YAClD42I,QAAS,WACTkK,WAAY,yJAEhB,CACI/qU,GAAI,EACJq2C,MAAMkuR,EAAAA,GAAAA,KAAC0D,GAAoB,CAAChtS,UAAU,aAAagvJ,MAAM,YACzD42I,QAAS,eACTkK,WAAY,oJAEhB,CACI/qU,GAAI,EACJq2C,MAAMkuR,EAAAA,GAAAA,KAACuH,GAAqB,CAAC7wS,UAAU,aAAagvJ,MAAM,SAC1D42I,QAAS,WACTkK,WAAY,2IAEhB,CACI/qU,GAAI,EACJq2C,MAAMkuR,EAAAA,GAAAA,KAAC0H,GAAa,CAAChxS,UAAU,aAAagvJ,MAAM,YAClD42I,QAAS,SACTkK,WAAY,6GAEhB,CACI/qU,GAAI,EACJq2C,MAAMkuR,EAAAA,GAAAA,KAAC8C,GAAa,CAACpsS,UAAU,aAAagvJ,MAAM,YAClD42I,QAAS,cACTkK,WAAY,oHAEhB,CACI/qU,GAAI,EACJq2C,MAAMkuR,EAAAA,GAAAA,KAAC0C,GAAoB,CAAChsS,UAAU,aAAagvJ,MAAM,SACzD42I,QAAS,UACTkK,WAAY,mGAEhB,CACI/qU,GAAI,EACJq2C,MAAMkuR,EAAAA,GAAAA,KAAC4H,GAAe,CAAClxS,UAAU,aAAagvJ,MAAM,YACpD42I,QAAS,aACTkK,WAAY,sFAEhB,CACI/qU,GAAI,EACJq2C,MAAMkuR,EAAAA,GAAAA,KAACmH,GAA2B,CAACzwS,UAAU,aAAagvJ,MAAM,YAChE42I,QAAS,0BACTkK,WAAY,mJAWpB,OACIV,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,EACIwyV,EAAAA,GAAAA,KAACra,GAAG,CAACjvR,UAAU,kBAAkBtV,MAAO,CAAEykK,gBAAiB,QAC1Dr4M,UACGwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,gBAAelpD,UAC1Bs4V,EAAAA,GAAAA,MAAA,MAAIpvS,UAAS,6BAA+BlpD,SAAA,CAAC,YAEzCwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAW,2BAA2BlpD,SAAC,8BAAgC,2CAMxFu7V,EAAat2W,KAAI,CAACgP,EAAM5X,KACrB,MAAM67N,EAnBU77N,KACxB,MAAMm/W,EAAS,CAAC,OAAQ,UAAW,WACnC,OAAOA,EAAOn/W,EAAQm/W,EAAO9iX,OAAO,EAiBd+iX,CAAmBp/W,GACjC,IAAIq/W,EACAC,EACAC,EACJ,OAAQ1jJ,GACJ,IAAK,UAUL,QACIwjJ,EAAY,iBACZC,EAAY,WACZC,EAAY,iBACZ,MATJ,IAAK,UACDF,EAAY,aACZC,EAAY,iBACZC,EAAY,aAQpB,OACIpJ,EAAAA,GAAAA,KAACra,GAAG,CAACjvR,UAAU,kBAA8BtV,MAAO,CAAEykK,gBAAiBH,GACtEl4M,UAEGwyV,EAAAA,GAAAA,KAACra,GAAG,CAACjvR,UAAU,gBAAelpD,SAEtB3jB,EAAQ,IAAM,GACVi8W,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,EACIwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,IAAI5uR,UAAS,iCAAA5iE,OAA6C,IAAVjK,EAAc,UAAY,IAAK2jB,SAClF/L,EAAKqwE,QAEVg0R,EAAAA,GAAAA,MAACvf,GAAG,CAAC7vR,UAAS,sBAAA5iE,OAAkC,IAAVjK,EAAc,UAAY,IAAK2jB,SAAA,EACjEs4V,EAAAA,GAAAA,MAAA,MAAIpvS,UAAS,eAAA5iE,OAAiBo1W,GAAY17V,SAAA,CAAC,SAChC3jB,EAAQ,EAAE,MAAEm2W,EAAAA,GAAAA,KAAA,QAAMtpS,UAAW0yS,EAAU57V,SAAE/L,EAAK66V,cAEzD0D,EAAAA,GAAAA,KAAA,KAAG5+S,MAAO,CAAEqnT,UAAW,QAAU/xS,UAAS,gBAAA5iE,OAAkBq1W,GAAY37V,SAAE/L,EAAK+kW,oBAKvFV,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,EACIwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,IAAI5uR,UAAS,iCAAmClpD,SACnD/L,EAAKqwE,QAEVg0R,EAAAA,GAAAA,MAACvf,GAAG,CAAC7vR,UAAS,sBAAwBlpD,SAAA,EAClCs4V,EAAAA,GAAAA,MAAA,MAAIpvS,UAAS,eAAA5iE,OAAiBo1W,GAAY17V,SAAA,CAAC,SAChC3jB,EAAQ,EAAE,MAAEm2W,EAAAA,GAAAA,KAAA,QAAMtpS,UAAW0yS,EAAU57V,SAAE/L,EAAK66V,cAEzD0D,EAAAA,GAAAA,KAAA,KAAG5+S,MAAO,CAAEqnT,UAAW,QAAU/xS,UAAS,gBAAA5iE,OAAkBq1W,GAAY37V,SAAE/L,EAAK+kW,sBA3BjE38W,EAiChC,MAQ1B,8DC5FA,GA7CgBw/W,MAEZz/F,EAAAA,EAAAA,YAAU,KACNn3P,SAASm0J,MAAQ,sDAGjB,MAAM+hM,EAAkBl2V,SAASC,cAAc,QAC/Ci2V,EAAgBhmT,aAAa,OAAQ,eACrCgmT,EAAgB1yG,QAAU,6HAG1B,MAAM2yG,EAAen2V,SAASC,cAAc,QAC5Ck2V,EAAajmT,aAAa,OAAQ,YAClCimT,EAAa3yG,QAAU,mMAGvB,MAAM2wG,EAAan0V,SAASC,cAAc,QAS1C,OARAk0V,EAAWjkT,aAAa,OAAQ,UAChCikT,EAAW3wG,QAAU,QACrBxjP,SAASkiT,KAAKxzQ,YAAYylT,GAE1Bn0V,SAASkiT,KAAKxzQ,YAAYwnT,GAC1Bl2V,SAASkiT,KAAKxzQ,YAAYynT,GAC1Bn2V,SAASkiT,KAAKxzQ,YAAYynT,GAEnB,KAEHn2V,SAASkiT,KAAKpzQ,YAAYonT,GAC1Bl2V,SAASkiT,KAAKpzQ,YAAYqnT,GAC1Bn2V,SAASkiT,KAAKpzQ,YAAYqlT,EAAW,CAExC,GACF,IACH,MAAMJ,GACFxG,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,yBAAwBlpD,SAAC,gBAG7C,OACIs4V,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,GAAElpD,SAAA,EACbwyV,EAAAA,GAAAA,KAAC6G,GAAW,CAACN,SAAUO,GAAOxK,QAAS,cAAekK,WAAYA,EAAYC,UAAU,EAAO3U,QAAS,kCACxGkO,EAAAA,GAAAA,KAAC8I,GAAY,MACX,8WC3CVQ,GAAgBnpF,KAAAA,OAAa,CAC7B7B,QAASltQ,gCAIb,MAAMm4V,GAActwW,eAAO8hR,EAAQt2C,EAAKz4O,EAAMw9W,GAAyC,IAA3BC,EAAgBr8W,UAAAlH,OAAA,QAAAI,IAAA8G,UAAA,GAAAA,UAAA,GAAG,CAAC,EAC5E,IACI,MAAMmiF,EAAS,CACXwrM,SACAt2C,MACAz4O,OACAszR,iBAAiB,KACdmqF,GAEDtkI,QAAiBmkI,GAAc/5R,GACrC,OAAO41J,GAAYA,CACvB,CAAE,MAAO9wO,GAEL,MADA1H,QAAQ0H,MAAM,gBAADP,OAAiBinR,EAAO/5P,cAAa,gBAAAltB,OAAe2wO,EAAG,KAAKpwO,EAAMk3D,SACzEl3D,CACV,CACJ,EAYA,GAVa,CACTq1W,OAASjlI,GAAQ8kI,GAAY,MAAO9kI,EAAK,MAEzCl3O,IAAKA,CAACk3O,EAAKhpM,IAAO8tU,GAAY,MAAM,GAADz1W,OAAK2wO,EAAG,KAAA3wO,OAAI2nC,GAAM,MAErDkuU,IAAKA,CAACllI,EAAKhpM,IAAO8tU,GAAY,MAAM,GAADz1W,OAAK2wO,EAAG,KAAA3wO,OAAI2nC,GAAM,MAErD5hC,IAAKA,CAAC4qO,EAAKz4O,IAASu9W,GAAY,OAAQ9kI,EAAKz4O,ICrBlC,SAAS49W,GAAQh+C,GAAa,IAAZ,MAAExqQ,GAAOwqQ,EAEtC,MAAOi+C,EAAeC,IAAoBxiG,EAAAA,EAAAA,UAAS,IAQnD,OANAsC,EAAAA,EAAAA,YAAU,KACNmoB,GAAK23E,OAAO,eAAe79S,MAAMzhE,IAC7B0/W,EAAiB1/W,EAAI4B,KAAK,GAC5B,GACH,KAGCg0W,EAAAA,GAAAA,KAACra,GAAG,CAAAn4U,SACCq8V,EAAcp3W,KAAI,CAACgP,EAAM5X,KAGtB,IAAIi9W,EACJ,OAFkBrlW,EAAKg6B,IAGnB,KAAK,EACDqrU,EAAQiD,GACR,MACJ,KAAK,EACDjD,EAAQkD,GACR,MACJ,KAAK,EACDlD,EAAQmD,GAER,MACJ,KAAK,EACDnD,EAAQoD,GACR,MACJ,KAAK,EACDpD,EAAQqD,GACR,MACJ,KAAK,EACDrD,EAAQsD,GAMhB,OACIpK,EAAAA,GAAAA,KAACtqC,EAAAA,SAAc,CAAAloT,UACO,IAAjB/L,EAAKmpJ,SACFo1M,EAAAA,GAAAA,KAACzZ,GAAG,CAACf,GAAG,IAAIh1C,GAAG,IAAI80C,GAAG,KAAK5uR,UAAU,GAAElpD,UACnCwyV,EAAAA,GAAAA,KAAA,OAAAxyV,UACIs4V,EAAAA,GAAAA,MAACpY,GAAI,CAACh3R,UAAU,sBAAsBtV,MAAOA,EAAM5zC,SAAA,EAC/CwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,GAAElpD,UACbwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,YAAYjqD,IAAKq6V,EAAOlmM,IAAKn/J,EAAKqwV,aAErDgU,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,oBAAmBlpD,SAAA,EAC9BwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,4BAA2BlpD,SAAE/L,EAAK66V,WACjD0D,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,+BAA8BlpD,SAAE/L,EAAK+kW,cACpDxG,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,qCAAoClpD,SAAE/L,EAAK4oW,gBAE9DrK,EAAAA,GAAAA,KAACra,GAAG,CAAAn4U,UACAwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAK5uR,UAAU,mBAAkBlpD,UACrCwyV,EAAAA,GAAAA,KAACO,GAAI,CAACr1E,GAAE,aAAAp3R,OAAe2N,EAAKg6B,IACxB2lB,MAAO,CAAEsnT,eAAgB,QAASl7V,UAClCwyV,EAAAA,GAAAA,KAAA,UAAQtpS,UAAU,kBAAkBh9D,KAAK,KAAI8T,SAAE,4BAQvE,IAAE,QAAA1Z,OAzBmBjK,GA2BZ,KAKrC,6DCrBA,GA1DiB+hU,IAA8D,IAA7D,aAAE0+C,EAAY,gBAAEC,EAAe,qBAAEC,GAAsB5+C,GAErEhiD,EAAAA,EAAAA,YAAU,KACNn3P,SAASm0J,MAAQ,yFAGjB,MAAM+hM,EAAkBl2V,SAASC,cAAc,QAC/Ci2V,EAAgBhmT,aAAa,OAAQ,eACrCgmT,EAAgB1yG,QAAU,gMAG1B,MAAM2yG,EAAen2V,SAASC,cAAc,QAC5Ck2V,EAAajmT,aAAa,OAAQ,YAClCimT,EAAa3yG,QAAU,6MAEvB,MAAM2wG,EAAan0V,SAASC,cAAc,QAU1C,OATAk0V,EAAWjkT,aAAa,OAAQ,UAChCikT,EAAW3wG,QAAU,QACrBxjP,SAASkiT,KAAKxzQ,YAAYylT,GAG1Bn0V,SAASkiT,KAAKxzQ,YAAYwnT,GAC1Bl2V,SAASkiT,KAAKxzQ,YAAYynT,GAC1Bn2V,SAASkiT,KAAKxzQ,YAAYynT,GAEnB,KAEHn2V,SAASkiT,KAAKpzQ,YAAYonT,GAC1Bl2V,SAASkiT,KAAKpzQ,YAAYqnT,GAC1Bn2V,SAASkiT,KAAKpzQ,YAAYqlT,EAAW,CAExC,GACF,IAQH,OACId,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,OAAMlpD,SAAA,EACjBwyV,EAAAA,GAAAA,KAAC6G,GAAW,CAACN,SAAUO,GAAON,YAAYxG,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,yBAAwBlpD,SAAC,aAAiBi5V,UAAU,EAAO3U,QAAS,6CAC9HgU,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,kBAAiBlpD,SAAA,EAE5BwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,gBAAelpD,UAC1Bs4V,EAAAA,GAAAA,MAAA,MAAIpvS,UAAS,8BAAgClpD,SAAA,CAAC,wCACJwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,2BAA0BlpD,SAAC,4BAA8B,sBAGvHwyV,EAAAA,GAAAA,KAACyK,GAAa,CAACrpT,MAhBb,CACVspT,OAAQ,uBAe6BJ,aAAcA,EAAcC,gBAAiBA,EAAiBC,qBAAsBA,SAInH,kHC8Cd,GA7FiBG,KAET7E,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,OAAMlpD,SAAA,EAEjBs4V,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,mCAAkClpD,SAAA,EAC7CwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,eAAclpD,SAAC,gBAC9BwyV,EAAAA,GAAAA,KAAA,KAAGtpS,UAAU,kBAAiBlpD,SAAC,gFAEnCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,kBAAiBlpD,UAC5Bs4V,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,mBAAkBlpD,SAAA,EAC7Bs4V,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,mBAAkBlpD,SAAA,EAC7Bs4V,EAAAA,GAAAA,MAACvf,GAAG,CAACnkD,GAAG,IAAG50R,SAAA,EACPwyV,EAAAA,GAAAA,KAAA,OAAK5+S,MAAO,CAAEC,OAAQ,SAAWqV,UAAU,eAAclpD,UACrDwyV,EAAAA,GAAAA,KAAA,OAAKvzV,y+YAAgBm0J,IAAI,aAE7Bo/L,EAAAA,GAAAA,KAAA,KAAGtpS,UAAU,uBAAsBlpD,SAAC,sfAKxCs4V,EAAAA,GAAAA,MAACvf,GAAG,CAACnkD,GAAG,IAAG50R,SAAA,EACPwyV,EAAAA,GAAAA,KAAA,OAAK5+S,MAAO,CAAEC,OAAQ,SAAWqV,UAAU,eAAclpD,UACrDwyV,EAAAA,GAAAA,KAAA,OAAKvzV,IAAKm+V,GAAQhqM,IAAI,eAE1Bo/L,EAAAA,GAAAA,KAAA,KAAGtpS,UAAU,uBAAsBlpD,SAAC,0iBAIxCs4V,EAAAA,GAAAA,MAACvf,GAAG,CAACnkD,GAAG,IAAG50R,SAAA,EACPwyV,EAAAA,GAAAA,KAAA,OAAK5+S,MAAO,CAAEC,OAAQ,SAAWqV,UAAU,eAAclpD,UACrDwyV,EAAAA,GAAAA,KAAA,OAAKvzV,IAAKo+V,GAAQjqM,IAAI,iBAE1Bo/L,EAAAA,GAAAA,KAAA,KAAGtpS,UAAU,uBAAsBlpD,SAAC,gqBAM5Cs4V,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,mBAAkBlpD,SAAA,EAE7Bs4V,EAAAA,GAAAA,MAACvf,GAAG,CAACnkD,GAAG,IAAG50R,SAAA,EACPwyV,EAAAA,GAAAA,KAAA,OAAK5+S,MAAO,CAAEC,OAAQ,SAAWqV,UAAU,eAAclpD,UACrDwyV,EAAAA,GAAAA,KAAA,OAAKvzV,kxTAAgBm0J,IAAI,kBAE7Bo/L,EAAAA,GAAAA,KAAA,KAAGtpS,UAAU,uBAAsBlpD,SAAC,ijBAIxCs4V,EAAAA,GAAAA,MAACvf,GAAG,CAACnkD,GAAG,IAAG50R,SAAA,EACPwyV,EAAAA,GAAAA,KAAA,OAAK5+S,MAAO,CAAEC,OAAQ,SAAWqV,UAAU,eAAclpD,UACrDwyV,EAAAA,GAAAA,KAAA,OAAKvzV,8zOAAUm0J,IAAI,WAEvBo/L,EAAAA,GAAAA,KAAA,KAAGtpS,UAAU,uBAAsBlpD,SAAC,2jBAExCs4V,EAAAA,GAAAA,MAACvf,GAAG,CAACnkD,GAAG,IAAG50R,SAAA,EACPwyV,EAAAA,GAAAA,KAAA,OAAK5+S,MAAO,CAAEC,OAAQ,SAAWqV,UAAU,eAAclpD,UACrDwyV,EAAAA,GAAAA,KAAA,OAAKvzV,qgZAAYm0J,IAAI,uBAEzBo/L,EAAAA,GAAAA,KAAA,KAAGtpS,UAAU,uBAAsBlpD,SAAC,wnBAK5Cs4V,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,mBAAkBlpD,SAAA,EAC7Bs4V,EAAAA,GAAAA,MAACvf,GAAG,CAACnkD,GAAG,IAAG50R,SAAA,EACPwyV,EAAAA,GAAAA,KAAA,OAAK5+S,MAAO,CAAEC,OAAQ,SAAWqV,UAAU,eAAclpD,UACrDwyV,EAAAA,GAAAA,KAAA,OAAKvzV,ioYAAam0J,IAAI,oBAE1Bo/L,EAAAA,GAAAA,KAAA,KAAGtpS,UAAU,uBAAsBlpD,SAAC,ySAExCs4V,EAAAA,GAAAA,MAACvf,GAAG,CAACnkD,GAAG,IAAG50R,SAAA,EACPwyV,EAAAA,GAAAA,KAAA,OAAK5+S,MAAO,CAAEC,OAAQ,SAAWqV,UAAU,eAAclpD,UAErDwyV,EAAAA,GAAAA,KAAA,OAAKvzV,yxXAAiBm0J,IAAI,mBAE9Bo/L,EAAAA,GAAAA,KAAA,KAAGtpS,UAAU,uBAAsBlpD,SAAC,qXAGxCs4V,EAAAA,GAAAA,MAACvf,GAAG,CAACnkD,GAAG,IAAG50R,SAAA,EACPwyV,EAAAA,GAAAA,KAAA,OAAK5+S,MAAO,CAAEC,OAAQ,SAAWqV,UAAU,eAAclpD,UACrDwyV,EAAAA,GAAAA,KAAA,OAAKvzV,y3LAAcm0J,IAAI,8BAE3Bo/L,EAAAA,GAAAA,KAAA,KAAGtpS,UAAU,uBAAsBlpD,SAAC,iTC8uDzD,SAASs9V,GAAet0W,GAC7B,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,eAAe,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,wWAAwW,MAAQ,MAAzcA,CAAgdlrW,EACzd,CAuzEO,SAASu0W,GAAQv0W,GACtB,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,eAAe,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,oQAAoQ,MAAQ,MAArWA,CAA4WlrW,EACrX,sVC3nIMw0W,GAAcp/C,IAAA,IAAC,MAAEhlJ,EAAK,KAAEqkM,GAAMr/C,EAAA,OAChCk6C,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,EACIwyV,EAAAA,GAAAA,KAACra,GAAG,CAACjvR,UAAU,4BAA2BlpD,UACtCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,2CAA0ClpD,SACpDo5J,OAGTo5L,EAAAA,GAAAA,KAACra,GAAG,CAACjvR,UAAU,6CAA4ClpD,SACtDy9V,EAAKx4W,KAAI,CAACy4W,EAAQrhX,KACfi8W,EAAAA,GAAAA,MAACvf,GAAG,CAAajB,GAAG,KAAK90C,GAAG,IAAIpO,GAAG,IAAI1rO,UAAU,OAAMlpD,SAAA,EACnDwyV,EAAAA,GAAAA,KAAA,OAAAxyV,UACIwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,qBAAoBlpD,SACb,OAAjB09V,EAAOpE,OACJ9G,EAAAA,GAAAA,KAAC+K,GAAM,CAACrxW,KAAM,IAAKgsN,MAAM,aAEzBs6I,EAAAA,GAAAA,KAAA,OAAKvzV,IAAKy+V,EAAOpE,MAAOlmM,IAAKsqM,EAAO38W,YAIhDyxW,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,MAAAxyV,SAAK09V,EAAO38W,QACZyxW,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,uBAAsBlpD,SAAE09V,EAAOtkM,UAZxC/8K,SAgBnB,EAgFP,GA7EashX,KACT,MAAMC,EAAmB,CACrB,CAAE78W,KAAM,iBAAkBq4K,MAAO,qCAAsCkgM,MAAOuE,IAC9E,CAAE98W,KAAM,aAAcq4K,MAAO,6CAA8CkgM,MAAO,MAClF,CAAEv4W,KAAM,aAAcq4K,MAAO,qBAAsBkgM,MAAO,OAGxDwE,EAAkB,CACpB,CAAE/8W,KAAM,gBAAiBq4K,MAAO,yBAA0BkgM,MAAOyE,IACjE,CAAEh9W,KAAM,eAAgBq4K,MAAO,uBAAwBkgM,MAAO0E,KAG5DC,EAAqB,CACvB,CAAEl9W,KAAM,cAAeq4K,MAAO,gCAAiCkgM,MAAO,MACtE,CAAEv4W,KAAM,oBAAqBq4K,MAAO,iCAAkCkgM,MAAO4E,IAC7E,CAAEn9W,KAAM,gBAAiBq4K,MAAO,0BAA2BkgM,MAAO6E,MAGtE/hG,EAAAA,EAAAA,YAAU,KACNn3P,SAASm0J,MAAQ,yCAGjB,MAAM+hM,EAAkBl2V,SAASC,cAAc,QAC/Ci2V,EAAgBhmT,aAAa,OAAQ,eACrCgmT,EAAgB1yG,QACZ,yJAGJ,MAAM2yG,EAAen2V,SAASC,cAAc,QAC5Ck2V,EAAajmT,aAAa,OAAQ,YAClCimT,EAAa3yG,QACT,qKAEJ,MAAM2wG,EAAan0V,SAASC,cAAc,QAS1C,OARAk0V,EAAWjkT,aAAa,OAAQ,UAChCikT,EAAW3wG,QAAU,QACrBxjP,SAASkiT,KAAKxzQ,YAAYylT,GAG1Bn0V,SAASkiT,KAAKxzQ,YAAYwnT,GAC1Bl2V,SAASkiT,KAAKxzQ,YAAYynT,GAEnB,KAEHn2V,SAASkiT,KAAKpzQ,YAAYonT,GAC1Bl2V,SAASkiT,KAAKpzQ,YAAYqnT,GAC1Bn2V,SAASkiT,KAAKpzQ,YAAYqlT,EAAW,CACxC,GACF,IAEH,MAAMJ,GACFxG,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,yBAAwBlpD,SAAC,SAG7C,OACIs4V,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,GAAElpD,SAAA,EACbwyV,EAAAA,GAAAA,KAAC6G,GAAW,CACRN,SAAUO,GACVxK,QAAS,WACTkK,WAAYA,EACZC,UAAU,EACV3U,QAAS,8BAEbgU,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,kBAAiBlpD,SAAA,EAC5BwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,gBAAelpD,UAC1Bs4V,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,6BAA4BlpD,SAAA,CAAC,gBAC3BwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,eAAclpD,SAAC,eAAiB,aAGpEwyV,EAAAA,GAAAA,KAACgL,GAAW,CAACpkM,MAAM,oBAAoBqkM,KAAMG,KAC7CpL,EAAAA,GAAAA,KAACgL,GAAW,CAACpkM,MAAM,mBAAmBqkM,KAAMK,KAC5CtL,EAAAA,GAAAA,KAACgL,GAAW,CAACpkM,MAAM,sBAAsBqkM,KAAMQ,SAEjD,yDCzBd,GApFoBG,MAEhBhiG,EAAAA,EAAAA,YAAU,KACNn3P,SAASm0J,MAAQ,8DAGjB,MAAM+hM,EAAkBl2V,SAASC,cAAc,QAC/Ci2V,EAAgBhmT,aAAa,OAAQ,eACrCgmT,EAAgB1yG,QAAU,0CAG1B,MAAM2yG,EAAen2V,SAASC,cAAc,QAC5Ck2V,EAAajmT,aAAa,OAAQ,YAClCimT,EAAa3yG,QAAU,2FAEvB,MAAM2wG,EAAan0V,SAASC,cAAc,QAU1C,OATAk0V,EAAWjkT,aAAa,OAAQ,UAChCikT,EAAW3wG,QAAU,QACrBxjP,SAASkiT,KAAKxzQ,YAAYylT,GAG1Bn0V,SAASkiT,KAAKxzQ,YAAYwnT,GAC1Bl2V,SAASkiT,KAAKxzQ,YAAYynT,GAC1Bn2V,SAASkiT,KAAKxzQ,YAAYynT,GAEnB,KAEHn2V,SAASkiT,KAAKpzQ,YAAYonT,GAC1Bl2V,SAASkiT,KAAKpzQ,YAAYqnT,GAC1Bn2V,SAASkiT,KAAKpzQ,YAAYqlT,EAAW,CAExC,GACF,IAEH,MAAMJ,GACFxG,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,yBAAwBlpD,SAAC,YAK7C,OACIwyV,EAAAA,GAAAA,KAAAC,GAAAA,SAAA,CAAAzyV,UACIs4V,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,GAAElpD,SAAA,EAGbwyV,EAAAA,GAAAA,KAAC6G,GAAW,CAACN,SAAUO,GAAOxK,QAAS,WAAYkK,WAAYA,EAAYC,UAAU,EAAO3U,QAAS,qBAErGgU,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,kBAAiBlpD,SAAA,EAC5BwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,gBAAelpD,UAC1Bs4V,EAAAA,GAAAA,MAAA,MAAIpvS,UAAS,6BAA+BlpD,SAAA,CAAC,sCACLwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,eAAclpD,SAAC,cAAgB,aAG3FwyV,EAAAA,GAAAA,KAACra,GAAG,CAACjvR,UAAU,OAAMlpD,UACjBs4V,EAAAA,GAAAA,MAACvf,GAAG,CAACjB,GAAG,KAAK5uR,UAAU,OAAMlpD,SAAA,EACzBs4V,EAAAA,GAAAA,MAAA,OAAAt4V,SAAA,EACIwyV,EAAAA,GAAAA,KAAA,KAAG5+S,MAAO,CAAEqnT,UAAW,QAAU/xS,UAAU,gBAAelpD,SAAC,i0BAG3DwyV,EAAAA,GAAAA,KAAA,KAAG5+S,MAAO,CAAEqnT,UAAW,QAAU/xS,UAAU,gBAAelpD,SAAC,0KAG3DwyV,EAAAA,GAAAA,KAAA,KAAAxyV,UACIwyV,EAAAA,GAAAA,KAAA,KAAG54E,KAAK,yBAAwB55Q,SAAC,uBAErCwyV,EAAAA,GAAAA,KAAA,KAAGtpS,UAAU,gBAAelpD,SAAC,6CAIjCwyV,EAAAA,GAAAA,KAAA,OAAAxyV,UACIwyV,EAAAA,GAAAA,KAAA,QAAM5+S,MAAO,CAAEskK,MAAO,sBAAwBhvJ,UAAU,cAAalpD,SAAC,yBAU3F,ECDJ,SAASq+V,GAAQr1W,GACtB,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,MAAM,QAAU,aAAa,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,qMAAqM,MAAQ,MAApTA,CAA2TlrW,EACpU,CAuSO,SAASs1W,GAAet1W,GAC7B,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,MAAM,QAAU,aAAa,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,+uKAA+uK,MAAQ,MAA91KA,CAAq2KlrW,EAC92K,CAuDO,SAASu1W,GAASv1W,GACvB,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,MAAM,QAAU,aAAa,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,oIAAoI,MAAQ,IAAI,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,w2GAAw2G,MAAQ,MAAjoHA,CAAwoHlrW,EACjpH,4DC/OA,GAjMcw1W,MAEVpiG,EAAAA,EAAAA,YAAU,KACNn3P,SAASm0J,MAAQ,0EAGjB,MAAM+hM,EAAkBl2V,SAASC,cAAc,QAC/Ci2V,EAAgBhmT,aAAa,OAAQ,eACrCgmT,EAAgB1yG,QAAU,gJAG1B,MAAM2yG,EAAen2V,SAASC,cAAc,QAC5Ck2V,EAAajmT,aAAa,OAAQ,YAClCimT,EAAa3yG,QAAU,wEAEvB,MAAM2wG,EAAan0V,SAASC,cAAc,QAU1C,OATAk0V,EAAWjkT,aAAa,OAAQ,UAChCikT,EAAW3wG,QAAU,QACrBxjP,SAASkiT,KAAKxzQ,YAAYylT,GAG1Bn0V,SAASkiT,KAAKxzQ,YAAYwnT,GAC1Bl2V,SAASkiT,KAAKxzQ,YAAYynT,GAC1Bn2V,SAASkiT,KAAKxzQ,YAAYynT,GAEnB,KAEHn2V,SAASkiT,KAAKpzQ,YAAYonT,GAC1Bl2V,SAASkiT,KAAKpzQ,YAAYqnT,GAC1Bn2V,SAASkiT,KAAKpzQ,YAAYqlT,EAAW,CAExC,GACF,IAEH,MAAMJ,GACFxG,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,yBAAwBlpD,SAAC,aAM7C,OACIs4V,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,GAAElpD,SAAA,EAGbwyV,EAAAA,GAAAA,KAAC6G,GAAW,CAACN,SAAUO,GAAOxK,QAAS,WAAYkK,WAAYA,EAAYC,UAAU,EAAO3U,QAAS,sBAErGgU,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,kBAAiBlpD,SAAA,EAC5BwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,gBAAelpD,UAC1Bs4V,EAAAA,GAAAA,MAAA,MAAIpvS,UAAS,6BAA+BlpD,SAAA,CAAC,iBAC1BwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,eAAclpD,SAAC,mBAAqB,uCAU3EwyV,EAAAA,GAAAA,KAACra,GAAG,CAACjvR,UAAU,GAAElpD,UACbs4V,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,WAAUlpD,SAAA,EACpBs4V,EAAAA,GAAAA,MAAA,MAAAt4V,SAAA,EACIwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,iBAAgBlpD,UAACwyV,EAAAA,GAAAA,KAAC+L,GAAO,CAACryW,KAAM,QAC/CosW,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,iBAAgBlpD,SAAA,EAC3BwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,mBAAkBlpD,UAC7BwyV,EAAAA,GAAAA,KAAA,MAAItpS,UAAU,iBAAgBlpD,SAAC,oCAEnCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,gBAAelpD,UAC1BwyV,EAAAA,GAAAA,KAAA,KAAG5+S,MAAO,CAAEqnT,UAAW,QAAU/xS,UAAU,aAAYlpD,SAAC,0ZAIpEs4V,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,oBAAmBlpD,SAAA,EAC7BwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,iBAAgBlpD,UAACwyV,EAAAA,GAAAA,KAACuD,GAAc,CAAC7pW,KAAM,QACtDosW,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,iBAAgBlpD,SAAA,EAC3BwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,mBAAkBlpD,UAC7BwyV,EAAAA,GAAAA,KAAA,MAAItpS,UAAU,iBAAgBlpD,SAAC,gEAEnCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,gBAAelpD,UAC1BwyV,EAAAA,GAAAA,KAAA,KAAG5+S,MAAO,CAAEqnT,UAAW,QAAU/xS,UAAU,aAAYlpD,SAAC,iwBAMpEs4V,EAAAA,GAAAA,MAAA,MAAAt4V,SAAA,EACIwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,iBAAgBlpD,UAACwyV,EAAAA,GAAAA,KAAC+L,GAAO,CAACryW,KAAM,QAC/CosW,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,iBAAgBlpD,SAAA,EAC3BwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,mBAAkBlpD,UAC7BwyV,EAAAA,GAAAA,KAAA,MAAItpS,UAAU,iBAAgBlpD,SAAC,+CAEnCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,gBAAelpD,UAC1BwyV,EAAAA,GAAAA,KAAA,KAAG5+S,MAAO,CAAEqnT,UAAW,QAAU/xS,UAAU,aAAYlpD,SAAC,4bAIpEs4V,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,oBAAmBlpD,SAAA,EAC7BwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,iBAAgBlpD,UAACwyV,EAAAA,GAAAA,KAACuD,GAAc,CAAC7pW,KAAM,QACtDosW,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,iBAAgBlpD,SAAA,EAC3BwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,mBAAkBlpD,UAC7BwyV,EAAAA,GAAAA,KAAA,MAAItpS,UAAU,iBAAgBlpD,SAAC,oEAEnCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,gBAAelpD,UAC1BwyV,EAAAA,GAAAA,KAAA,KAAG5+S,MAAO,CAAEqnT,UAAW,QAAU/xS,UAAU,aAAYlpD,SAAC,sdAIpEs4V,EAAAA,GAAAA,MAAA,MAAAt4V,SAAA,EACIwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,iBAAgBlpD,UAACwyV,EAAAA,GAAAA,KAAC+L,GAAO,CAACryW,KAAM,QAC/CosW,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,iBAAgBlpD,SAAA,EAC3BwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,mBAAkBlpD,UAC7BwyV,EAAAA,GAAAA,KAAA,MAAItpS,UAAU,iBAAgBlpD,SAAC,gCAEnCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,gBAAelpD,UAC1BwyV,EAAAA,GAAAA,KAAA,KAAG5+S,MAAO,CAAEqnT,UAAW,QAAU/xS,UAAU,aAAYlpD,SAAC,saAIpEs4V,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,oBAAmBlpD,SAAA,EAC7BwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,iBAAgBlpD,UAACwyV,EAAAA,GAAAA,KAAC8L,GAAa,CAACpyW,KAAM,QACrDosW,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,iBAAgBlpD,SAAA,EAC3BwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,mBAAkBlpD,UAC7BwyV,EAAAA,GAAAA,KAAA,MAAItpS,UAAU,iBAAgBlpD,SAAC,mCAEnCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,gBAAelpD,UAC1BwyV,EAAAA,GAAAA,KAAA,KAAG5+S,MAAO,CAAEqnT,UAAW,QAAU/xS,UAAU,aAAYlpD,SAAC,8jBAIpEs4V,EAAAA,GAAAA,MAAA,MAAAt4V,SAAA,EACIwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,iBAAgBlpD,UAACwyV,EAAAA,GAAAA,KAAC4C,GAAc,CAAClpW,KAAM,QACtDosW,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,iBAAgBlpD,SAAA,EAC3BwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,mBAAkBlpD,UAC7BwyV,EAAAA,GAAAA,KAAA,MAAItpS,UAAU,iBAAgBlpD,SAAC,yCAEnCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,gBAAelpD,UAC1BwyV,EAAAA,GAAAA,KAAA,KAAG5+S,MAAO,CAAEqnT,UAAW,QAAU/xS,UAAU,aAAYlpD,SAAC,mZAIpEs4V,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,oBAAmBlpD,SAAA,EAC7BwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,iBAAgBlpD,UAACwyV,EAAAA,GAAAA,KAACgD,GAAiB,CAACtpW,KAAM,QACzDosW,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,iBAAgBlpD,SAAA,EAC3BwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,mBAAkBlpD,UAC7BwyV,EAAAA,GAAAA,KAAA,MAAItpS,UAAU,iBAAgBlpD,SAAC,oCAEnCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,gBAAelpD,UAC1BwyV,EAAAA,GAAAA,KAAA,KAAG5+S,MAAO,CAAEqnT,UAAW,QAAU/xS,UAAU,aAAYlpD,SAAC,+hBAIpEs4V,EAAAA,GAAAA,MAAA,MAAAt4V,SAAA,EACIwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,iBAAgBlpD,UAACwyV,EAAAA,GAAAA,KAACuE,GAAa,CAAC7qW,KAAM,QACrDosW,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,iBAAgBlpD,SAAA,EAC3BwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,mBAAkBlpD,UAC7BwyV,EAAAA,GAAAA,KAAA,MAAItpS,UAAU,iBAAgBlpD,SAAC,4CAEnCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,gBAAelpD,UAC1BwyV,EAAAA,GAAAA,KAAA,KAAG5+S,MAAO,CAAEqnT,UAAW,QAAU/xS,UAAU,aAAYlpD,SAAC,wSAIpEs4V,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,oBAAmBlpD,SAAA,EAC7BwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,iBAAgBlpD,UAACwyV,EAAAA,GAAAA,KAAC6L,GAAM,CAACnyW,KAAM,QAC9CosW,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,iBAAgBlpD,SAAA,EAC3BwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,mBAAkBlpD,UAC7BwyV,EAAAA,GAAAA,KAAA,MAAItpS,UAAU,iBAAgBlpD,SAAC,mCAEnCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,gBAAelpD,UAC1BwyV,EAAAA,GAAAA,KAAA,KAAG5+S,MAAO,CAAEqnT,UAAW,QAAU/xS,UAAU,aAAYlpD,SAAC,2RAIpEs4V,EAAAA,GAAAA,MAAA,MAAAt4V,SAAA,EACIwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,iBAAgBlpD,UAACwyV,EAAAA,GAAAA,KAAC2C,GAAc,CAACjpW,KAAM,QACtDosW,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,iBAAgBlpD,SAAA,EAC3BwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,mBAAkBlpD,UAC7BwyV,EAAAA,GAAAA,KAAA,MAAItpS,UAAU,iBAAgBlpD,SAAC,6BAEnCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,gBAAelpD,UAC1BwyV,EAAAA,GAAAA,KAAA,KAAG5+S,MAAO,CAAEqnT,UAAW,QAAU/xS,UAAU,aAAYlpD,SAAC,iXAQ9E,ECpMd,SAASg0V,KAA2Q,OAA9PA,GAAWz5W,OAAO0wB,QAAU,SAAU5tB,GAAU,IAAK,IAAI1B,EAAI,EAAGA,EAAIiE,UAAUlH,OAAQiD,IAAK,CAAE,IAAIyB,EAASwC,UAAUjE,GAAI,IAAK,IAAIW,KAAOc,EAAc7C,OAAOiB,UAAUuC,eAAesD,KAAKjE,EAAQd,KAAQe,EAAOf,GAAOc,EAAOd,GAAU,CAAE,OAAOe,CAAQ,EAAU22W,GAAS1yW,MAAMhG,KAAMsE,UAAY,CAI5T,SAAS6+W,GAAuB32C,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAI42C,eAAe,6DAAgE,OAAO52C,CAAM,CAOrK,IAAI62C,GAEJ,SAAUptB,GAPV,IAAwBC,EAAUC,EAUhC,SAASktB,IACP,IAAIh5W,EAOJ,OALAA,EAAQ4rV,EAAiBlwV,KAAK/F,OAASA,MACjCsjX,cAAgBj5W,EAAMi5W,cAAc/4W,KAAK44W,GAAuB94W,IACtEA,EAAMk5W,cAAgBl5W,EAAMk5W,cAAch5W,KAAK44W,GAAuB94W,IACtEA,EAAMm5W,aAAen5W,EAAMm5W,aAAaj5W,KAAK44W,GAAuB94W,IACpEA,EAAMo5W,mBAAqBp5W,EAAMo5W,mBAAmBl5W,KAAK44W,GAAuB94W,IACzEA,CACT,CAnBgC8rV,EAQNF,GARJC,EAQPmtB,GARwCnjX,UAAYjB,OAAOotB,OAAO8pU,EAAWj2V,WAAYg2V,EAASh2V,UAAUwB,YAAcw0V,EAAUA,EAAS/pU,UAAYgqU,EAqBxK,IAAIW,EAASusB,EAAUnjX,UAkKvB,OAhKA42V,EAAOzhT,SAAW,WAChB,OAAIr1C,KAAK0N,MAAMg2W,iBAAiClmX,IAAnBwC,KAAK2jX,UACzB3jX,KAAK0N,MAAMg2W,WAAWE,YAAY5jX,KAAK2jX,WAGzC,IACT,EAEA7sB,EAAO+sB,YAAc,WACnB,OAAI7jX,KAAK0N,MAAMg2W,iBAAiClmX,IAAnBwC,KAAK2jX,UACzB3jX,KAAK2jX,UAGP,IACT,EAEA7sB,EAAO13F,QAAU,WACf,IAAIskH,EAAa1jX,KAAK0N,MAAMg2W,WAE5B,GAAIA,QAAiClmX,IAAnBwC,KAAK2jX,UACrB,OAAOD,EAAWtkH,QAAQp/P,KAAK2jX,WAE/B3jX,KAAK8jX,mBAAoB,CAE7B,EAEAhtB,EAAOitB,aAAe,WACpB,IAAIxsB,EAASv3V,KAEb,OAAO,IAAIo0R,SAAQ,SAAUxhN,EAASyhN,GACpCkjE,EAAOysB,iBAAmBpxS,EAC1B2kR,EAAO0sB,gBAAkB5vF,EAEzBkjE,EAAOn4F,SACT,GACF,EAEA03F,EAAOryU,MAAQ,WACTzkB,KAAK0N,MAAMg2W,iBAAiClmX,IAAnBwC,KAAK2jX,WAChC3jX,KAAK0N,MAAMg2W,WAAWj/V,MAAMzkB,KAAK2jX,UAErC,EAEA7sB,EAAOwsB,cAAgB,WACjBtjX,KAAK0N,MAAMw2W,UACblkX,KAAK0N,MAAMw2W,YAEXlkX,KAAKwjX,aAAa,KAEtB,EAEA1sB,EAAOysB,cAAgB,WACjBvjX,KAAK0N,MAAMy2W,WACbnkX,KAAK0N,MAAMy2W,YAGTnkX,KAAKikX,kBACPjkX,KAAKikX,yBACEjkX,KAAKgkX,wBACLhkX,KAAKikX,gBAEhB,EAEAntB,EAAO0sB,aAAe,SAAsBtrF,GACtCl4R,KAAK0N,MAAMgoN,UACb11N,KAAK0N,MAAMgoN,SAASwiE,GAGlBl4R,KAAKgkX,mBACPhkX,KAAKgkX,iBAAiB9rF,UACfl4R,KAAKikX,uBACLjkX,KAAKgkX,iBAEhB,EAEAltB,EAAOstB,eAAiB,WACtB,GAAIpkX,KAAK0N,MAAMg2W,YAAc1jX,KAAK0N,MAAMg2W,WAAWrsG,aAA6B75Q,IAAnBwC,KAAK2jX,UAAyB,CACzF,IAAIvvP,EAAUzqG,SAASC,cAAc,OACrC5pB,KAAK2jX,UAAY3jX,KAAK0N,MAAMg2W,WAAWrsG,OAAOjjJ,EAAS,CACrDiwP,QAASrkX,KAAK0N,MAAM22W,QACpBzjX,SAAUZ,KAAKwjX,aACfprQ,MAAOp4G,KAAK0N,MAAM0qG,MAClB9mG,KAAMtR,KAAK0N,MAAM4D,KACjBgzW,SAAUtkX,KAAK0N,MAAM42W,SACrB,mBAAoBtkX,KAAKsjX,cACzB,iBAAkBtjX,KAAKujX,cACvB3yW,KAAM5Q,KAAK0N,MAAMkD,KACjB2zW,OAAQvkX,KAAK0N,MAAM62W,OACnBC,GAAIxkX,KAAK0N,MAAM82W,GACfC,MAAOzkX,KAAK0N,MAAM+2W,QAEpBzkX,KAAK0kX,QAAQrsT,YAAY+7D,EAC3B,CAEIp0H,KAAK8jX,mBAAqB9jX,KAAK0N,MAAMg2W,iBAAiClmX,IAAnBwC,KAAK2jX,YAC1D3jX,KAAK8jX,mBAAoB,EACzB9jX,KAAKo/P,UAET,EAEA03F,EAAOl+E,kBAAoB,WACzB54Q,KAAKokX,gBACP,EAEAttB,EAAO/8E,mBAAqB,WAC1B/5Q,KAAKokX,gBACP,EAEAttB,EAAOn8E,qBAAuB,gBACLn9Q,IAAnBwC,KAAK2jX,YACP3jX,KAAK2kX,+BACL3kX,KAAKykB,QAET,EAEAqyU,EAAO6tB,6BAA+B,WACpC,IAAIC,EAAgBj7V,SAASC,cAAc,OAI3C,IAHAD,SAASuuC,KAAKG,YAAYusT,GAC1BA,EAActsT,MAAMwpG,QAAU,OAEvB9hK,KAAK0kX,QAAQtnT,YAClBwnT,EAAcvsT,YAAYr4D,KAAK0kX,QAAQtnT,YAIzC52D,YAAW,WACTmjB,SAASuuC,KAAKO,YAAYmsT,EAC5B,GAAG,IACL,EAEA9tB,EAAO2sB,mBAAqB,SAA4B3K,GACtD94W,KAAK0kX,QAAU5L,CACjB,EAEAhiB,EAAOz/E,OAAS,WAId,IAAI0hF,EAAc/4V,KAAK0N,MAanBsrV,GAZUD,EAAYsrB,QACXtrB,EAAYrjI,SACfqjI,EAAY3gP,MACb2gP,EAAYznV,KACRynV,EAAYurB,SACXvrB,EAAYmrB,UACZnrB,EAAYorB,UACjBprB,EAAYnoV,KACVmoV,EAAYwrB,OACRxrB,EAAY2qB,WACjB3qB,EAAY0rB,MACf1rB,EAAYyrB,GAjLzB,SAAuC1iX,EAAQ68T,GAAY,GAAc,MAAV78T,EAAgB,MAAO,CAAC,EAAG,IAA2Dd,EAAKX,EAA5D0B,EAAS,CAAC,EAAO68T,EAAa3/T,OAAOmB,KAAK0B,GAAqB,IAAKzB,EAAI,EAAGA,EAAIu+T,EAAWxhU,OAAQiD,IAAOW,EAAM49T,EAAWv+T,GAAQs+T,EAASp9T,QAAQP,IAAQ,IAAae,EAAOf,GAAOc,EAAOd,IAAQ,OAAOe,CAAQ,CAkL7R88T,CAA8Bk6B,EAAa,CAAC,UAAW,WAAY,QAAS,OAAQ,WAAY,YAAa,YAAa,OAAQ,SAAU,aAAc,QAAS,QAIpL,OAAOnsB,EAAAA,cAAoB,MAAO8rC,GAAS,CAAC,EAAG1f,EAAY,CACzDpvR,IAAK5pE,KAAKyjX,qBAEd,EAEOJ,CACT,CAjLA,CAiLEz2C,EAAAA,WAGFy2C,GAAU9xV,YAAc,YACxB8xV,GAAU7nG,UAAY,CACpB6oG,QAAS1gF,KAAAA,OAAiBb,WAC1BptE,SAAUiuE,KAAAA,KACV+/E,WAAY//E,KAAAA,OACZvrL,MAAOurL,KAAAA,MAAgB,CAAC,OAAQ,UAChCryR,KAAMqyR,KAAAA,MAAgB,CAAC,QAAS,UAChC2gF,SAAU3gF,KAAAA,OACVugF,UAAWvgF,KAAAA,KACXwgF,UAAWxgF,KAAAA,KACX/yR,KAAM+yR,KAAAA,MAAgB,CAAC,UAAW,SAAU,cAC5C4gF,OAAQ5gF,KAAAA,OACR6gF,GAAI7gF,KAAAA,OACJ8gF,MAAO9gF,KAAAA,MAAgB,CAAC,cAAe,aAAc,YAEvD0/E,GAAUjoG,aAAe,CACvB1lD,SAAU,WAAqB,EAC/Bt9G,MAAO,QACP9mG,KAAM,QACNgzW,SAAU,EACV1zW,KAAM,SACN6zW,MAAO,wCCtNT,SAAS/L,KAA2Q,OAA9PA,GAAWz5W,OAAO0wB,QAAU,SAAU5tB,GAAU,IAAK,IAAI1B,EAAI,EAAGA,EAAIiE,UAAUlH,OAAQiD,IAAK,CAAE,IAAIyB,EAASwC,UAAUjE,GAAI,IAAK,IAAIW,KAAOc,EAAc7C,OAAOiB,UAAUuC,eAAesD,KAAKjE,EAAQd,KAAQe,EAAOf,GAAOc,EAAOd,GAAU,CAAE,OAAOe,CAAQ,EAAU22W,GAAS1yW,MAAMhG,KAAMsE,UAAY,CAS5T,IAAIugX,GAAa,CAAC,EAEdC,GAAU,ECTd,IAAIC,GAAe,iBAanB,SDHe,SAAyBC,EAAcn6V,GAEpD,OADAA,EAAUA,GAAW,CAAC,EACf,SAA6Bo6V,GAClC,IAAIC,EAAuBD,EAAiB1zV,aAAe0zV,EAAiBx/W,MAAQ,YAEhF0/W,EAEJ,SAAUC,GAfd,IAAwBlvB,EAAUC,EAkB5B,SAASgvB,EAAkBz3W,EAAOzG,GAChC,IAAIoD,EAKJ,OAHAA,EAAQ+6W,EAAWr/W,KAAK/F,KAAM0N,EAAOzG,IAAYjH,MAC3C6wC,MAAQ,CAAC,EACfxmC,EAAMg7W,YAAc,GACbh7W,CACT,CAzB4B8rV,EAgBMivB,GAhBhBlvB,EAgBHivB,GAhBoCjlX,UAAYjB,OAAOotB,OAAO8pU,EAAWj2V,WAAYg2V,EAASh2V,UAAUwB,YAAcw0V,EAAUA,EAAS/pU,UAAYgqU,EA2BpK,IAAIW,EAASquB,EAAkBjlX,UAmM/B,OAjMA42V,EAAOwuB,mCAAqC,WAK1C,OAJKtlX,KAAKulX,mBACRvlX,KAAKulX,iBAAmB,uBAAyBT,MAG5C9kX,KAAKulX,gBACd,EAEAzuB,EAAO0uB,eAAiB,WAEtB,OADAxlX,KAAKqlX,YAAsC,oBAAjBL,EAA8BA,IAAiBA,EAClEhlX,KAAKqlX,WACd,EAEAvuB,EAAO2uB,4BAA8B,SAAqC50U,GACxE,IAAI0mT,EAASv3V,KAGbA,KAAKqV,SAASw7B,GAAO,WACnB,OAAO0mT,EAAO7pV,MAAMg4W,mBAAqBnuB,EAAO7pV,MAAMg4W,kBAAkBnuB,EAAO1mT,MACjF,GACF,EAEAimT,EAAO6uB,uCAAyC,WAC9C,IAAIC,EAAWf,GAAW7kX,KAAKqlX,aAE/B,IAAKO,IAAaA,EAASC,OACzB,MAAM,IAAI57W,MAAM,yBAGlB,IAAK,IAAI67W,KAAUF,EAASG,UAC1BH,EAASG,UAAUD,GAAQF,UAGtBr/W,OAAOskB,EAAQk6V,aACxB,EAEAjuB,EAAOl+E,kBAAoB,WACzB,IAAIw/E,EAASp4V,KAETgmX,EAAYhmX,KAAKwlX,iBACjBxkX,EAAMhB,KAAKslX,qCACXp9B,EAAWr9T,EACXo7V,EAAa/9B,EAAS+9B,WACtBlB,EAAe78B,EAAS68B,aACxBmB,EAAWh+B,EAASg+B,SAUxB,GARID,GAA4C,qBAAvB1/W,OAAO0/W,KAC9BpB,GAAWmB,GAAa,CACtBH,QAAQ,EACRE,UAAW,CAAC,IAKZlB,GAAWmB,GAAY,CACzB,IAAInpC,EAAQgoC,GAAWmB,GAEvB,OAAInpC,IAAUA,EAAMgpC,QAAUhpC,EAAMspC,cAClCnmX,KAAKylX,4BAA4B5oC,QAKnCA,EAAMkpC,UAAU/kX,GAAO,SAAU67U,GAC/B,OAAOub,EAAOqtB,4BAA4B5oC,EAC5C,EAGF,CAQA,IAAIkpC,EAAY,CAAC,EAEjBA,EAAU/kX,GAAO,SAAU67U,GACzB,OAAOub,EAAOqtB,4BAA4B5oC,EAC5C,EAEAgoC,GAAWmB,GAAa,CACtBH,QAAQ,EACRE,UAAWA,GAEb,IAAItkD,EAAS93S,SAASC,cAAc,UAIpC,IAAK,IAAIje,KAHT81T,EAAO99S,IAAMqiW,EACbvkD,EAAOtxT,OAAQ,EAEO0a,EAAQpf,WAC5Bg2T,EAAO5nQ,aAAaluD,EAAWkf,EAAQpf,WAAWE,IAGhDu6W,IACFzkD,EAAO9uR,GAAKuzU,GAGd,IAAIE,EAAoC,SAA2C9gX,GACjF,GAAIu/W,GAAWmB,GAAY,CACzB,IACIK,EADWxB,GAAWmB,GACED,UAE5B,IAAK,IAAID,KAAUO,EACb/gX,EAAK+gX,EAAaP,YACbO,EAAaP,EAG1B,CACF,EAEIf,GAAkC,qBAAXx+W,SACzBA,OAAOw+W,GAAgB,WACrB,OAAO3sB,EAAOutB,wCAChB,GAGFlkD,EAAOxlF,OAAS,WACd,IAAI2pI,EAAWf,GAAWmB,GAEtBJ,IACFA,EAASC,QAAS,EAClBO,GAAkC,SAAUE,GAC1C,OAAIvB,IAIJuB,EAASV,IACF,EACT,IAEJ,EAEAnkD,EAAOxrC,QAAU,WACf,IAAI2vF,EAAWf,GAAWmB,GAEtBJ,IACFA,EAASO,SAAU,EACnBC,GAAkC,SAAUE,GAE1C,OADAA,EAASV,IACF,CACT,IAEJ,EAEAj8V,SAASuuC,KAAKG,YAAYopQ,EAC5B,EAEAq1B,EAAOn8E,qBAAuB,WAE5B,IAAIqrG,EAAYhmX,KAAKqlX,YAErB,IAAgC,IAA5Bx6V,EAAQ07V,gBAGV,IAFA,IAAIC,EAAa78V,SAASiwC,qBAAqB,UAEtCv5D,EAAI,EAAGA,EAAImmX,EAAWppX,OAAQiD,GAAK,EACtCmmX,EAAWnmX,GAAGsjB,IAAIpiB,QAAQykX,IAAc,GACtCQ,EAAWnmX,GAAG44D,YAChButT,EAAWnmX,GAAG44D,WAAWR,YAAY+tT,EAAWnmX,IAOxD,IAAIulX,EAAWf,GAAWmB,GAEtBJ,WACKA,EAASG,UAAU/lX,KAAKslX,uCAEC,IAA5Bz6V,EAAQ07V,wBACH1B,GAAWmB,GAGxB,EAEAlvB,EAAOz/E,OAAS,WACd,IAAI4uG,EAAap7V,EAAQo7V,WAErBltB,EAAc/4V,KAAK0N,MAEnB+4W,GADoB1tB,EAAY2sB,kBACjB3sB,EAAY0tB,cAC3BztB,EArNZ,SAAuCl3V,EAAQ68T,GAAY,GAAc,MAAV78T,EAAgB,MAAO,CAAC,EAAG,IAA2Dd,EAAKX,EAA5D0B,EAAS,CAAC,EAAO68T,EAAa3/T,OAAOmB,KAAK0B,GAAqB,IAAKzB,EAAI,EAAGA,EAAIu+T,EAAWxhU,OAAQiD,IAAOW,EAAM49T,EAAWv+T,GAAQs+T,EAASp9T,QAAQP,IAAQ,IAAae,EAAOf,GAAOc,EAAOd,IAAQ,OAAOe,CAAQ,CAqNzR88T,CAA8Bk6B,EAAa,CAAC,oBAAqB,iBAQlF,OALIktB,GAAgC,qBAAX1/W,SACvByyV,EAAWitB,GAA4C,qBAAvB1/W,OAAO0/W,GAA8B1/W,OAAO0/W,QAAczoX,GAG5Fw7V,EAAWpvR,IAAM68S,GACV78V,EAAAA,EAAAA,eAAcq7V,EAAkBjsB,EACzC,EAEOmsB,CACT,CAhNA,CAgNEvtS,EAAAA,WAKE8uS,GAAqBpoG,EAAAA,EAAAA,aAAW,SAAU5wQ,EAAOk8D,GACnD,OAAOhgD,EAAAA,EAAAA,eAAcu7V,EAAmBzM,GAAS,CAAC,EAAGhrW,EAAO,CAC1D+4W,aAAc78S,IAElB,IAKA,OAJA88S,EAAmBn1V,YAAc,qBAAuB2zV,EAAuB,IAC/EwB,EAAmBlrG,UAAY,CAC7BkqG,kBAAmB/hF,KAAAA,MAEdgjF,KAAaD,EAAoBzB,EAC1C,CACF,CCpOe2B,EANf,WAGE,MAAO,aANkB,qBAAXrgX,QAA0BA,OAAOsgX,kBAAoB,CAAC,GAKtCC,gBAAkB,gBAAkB,kBACnC,4BAA8B/B,GAAe,kBAC9E,GAE6C,CAC3CA,aAAcA,GACdkB,WAde,cAYjB,CAGG5C,IChBH,mEC4PA,GAnPgB0D,KACZ,MAAMC,GAAe7nG,EAAAA,EAAAA,QAAO,KACrB8nG,EAAO90R,IAAWqsL,EAAAA,EAAAA,UAAS,KAC3B0oG,EAAaC,IAAkB3oG,EAAAA,EAAAA,WAAS,IACxC4oG,EAAQC,IAAY7oG,EAAAA,EAAAA,UAAS,KAE7B8oG,EAAcC,IAAmB/oG,EAAAA,EAAAA,WAAS,IAC1CgpG,EAAUC,IAAcjpG,EAAAA,EAAAA,UAAS,KACjCkpG,EAAgBC,IAAqBnpG,EAAAA,EAAAA,WAAS,IAE9CopG,EAAgBC,IAAqBrpG,EAAAA,EAAAA,WAAS,IAC9CspG,EAAYC,IAAiBvpG,EAAAA,EAAAA,WAAS,IACtCwpG,EAAWC,IAAgBzpG,EAAAA,EAAAA,WAAS,GACrC0pG,EAAc,CAAC,GAOrBpnG,EAAAA,EAAAA,YAAU,KACNn3P,SAASm0J,MAAQ,qBAAqB,GACvC,IAEH,MA4CM0lM,EAAgB/kX,IAIlB,IAAI0pX,EAAiB,GAIrB,GACS,YADD1pX,EAAEsD,OAAO0D,KAGT0iX,EAAiB1pX,EAAEsD,OAAOhF,MAAMwL,QAAQ,iBAAkB,SAI1D4/W,EAAiB1pX,EAAEsD,OAAOhF,MAAMwL,QAAQ,eAAgB,IA4BhE,GAvBsB,aAAlB9J,EAAEsD,OAAO0D,OACT0sF,EAAQg2R,GACRx+V,SAASy+V,eAAe,YAAY9vT,MAAMspT,OAAS,oBAC/CuG,EAAeviX,OAAOxI,OAAS,EAC/B+pX,GAAe,GAGfA,GAAe,IAgBD,YAAlB1oX,EAAEsD,OAAO0D,KAGT,GAFA4hX,EAASc,GACTx+V,SAASy+V,eAAe,WAAW9vT,MAAMspT,OAAS,oBAC9CuG,EAAeviX,OAAOxI,OAAS,EAC/BmqX,GAAgB,OAEf,CACS,8CACD1pX,KAAKY,EAAEsD,OAAOhF,OAKnBwqX,GAAgB,GAJhBA,GAAgB,EAMxB,CAEkB,YAAlB9oX,EAAEsD,OAAO0D,OACTgiX,EAAWU,GACXx+V,SAASy+V,eAAe,WAAW9vT,MAAMspT,OAAS,oBAC9CuG,EAAeviX,OAAOxI,OAAS,EAC/BuqX,GAAkB,GAGlBA,GAAkB,GAG1B,EAGEjK,GACFxG,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,yBAAwBlpD,SAAC,eAM7C,OACIs4V,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,GAAElpD,SAAA,EAEbwyV,EAAAA,GAAAA,KAAC6G,GAAW,CAACN,SAAUO,GAAOxK,QAAS,aAAcxK,QAAS,8DAA+D0U,WAAYA,EAAYC,UAAU,KAE/JX,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,kBAAiBlpD,SAAA,EAC5BwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,gBAAelpD,UAC1Bs4V,EAAAA,GAAAA,MAAA,MAAIpvS,UAAS,6BAA+BlpD,SAAA,CAAC,4BACjBwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,eAAclpD,SAAC,wCAG/DwyV,EAAAA,GAAAA,KAACra,GAAG,CAACjvR,UAAU,QAAOlpD,UAClBwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAAC/1C,GAAG,KAAKg1C,GAAG,KAAIh4U,SACfkjW,GACG5K,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,4CAA4CtV,MAAO,CAAEyD,aAAc,SAAUr3C,SAAA,EACxFwyV,EAAAA,GAAAA,KAACxrH,GAAO,KACRwrH,EAAAA,GAAAA,KAAA,UAAMA,EAAAA,GAAAA,KAAA,UACNA,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,yBAAwBlpD,SAAC,2BACxCwyV,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,8BAGlBk6S,GA6CG9K,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,gCAAgCtV,MAAO,CAAEyD,aAAc,SAAUr3C,SAAA,EAC5EwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,uBAAsBlpD,UACjCwyV,EAAAA,GAAAA,KAAC8K,GAAa,CAACpxW,KAAM,IAAKgsN,MAAM,eAEpCs6I,EAAAA,GAAAA,KAAA,UAAMA,EAAAA,GAAAA,KAAA,UACNA,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,yBAAwBlpD,SAAC,sCACxCwyV,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,yBAAwBlpD,SAAC,kCAnD5CwyV,EAAAA,GAAAA,KAAAC,GAAAA,SAAA,CAAAzyV,UACIs4V,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,OAAMlpD,SAAA,EACjBs4V,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,aAAYlpD,SAAA,EACvBwyV,EAAAA,GAAAA,KAAA,SAAO3D,QAAQ,WAAU7uV,SAAC,gBAC1BwyV,EAAAA,GAAAA,KAAA,SAAOvkU,GAAG,WAAWltC,KAAK,WAAW6L,KAAK,OAAOs8D,UAAU,eAAe7wE,MAAOkqX,EAAOvxJ,SAAU8tJ,EAAcz2R,UAAW,SAE/HiwR,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,aAAYlpD,SAAA,EACvBwyV,EAAAA,GAAAA,KAAA,SAAO3D,QAAQ,QAAO7uV,SAAC,YACvBwyV,EAAAA,GAAAA,KAAA,SAAOvkU,GAAG,UAAUltC,KAAK,UAAU6L,KAAK,QAAQs8D,UAAU,eAAe7wE,MAAOqqX,EAAQ,mBAAiB,YAAY1xJ,SAAU8tJ,EAAcz2R,UAAW,UAM5JiwR,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,aAAYlpD,SAAA,EACvBwyV,EAAAA,GAAAA,KAAA,SAAO3D,QAAQ,UAAS7uV,SAAC,cACzBwyV,EAAAA,GAAAA,KAAA,YAAUvkU,GAAG,UAAUltC,KAAK,UAAU6yD,MAAO,CAAE8G,UAAW,SAAWriE,MAAOyqX,EAAU55S,UAAU,eAAey0B,KAAK,IAAIqzH,SAAU8tJ,EAAcz2R,UAAW,UAE/JmqR,EAAAA,GAAAA,KAAA,UACAA,EAAAA,GAAAA,KAACmM,GAAS,CACNz5S,IAAKo9S,EACL3C,QAAQ,2CACR3uJ,SAjLxC,SAAkB34N,GACdkrX,GAAa,EACjB,EAgLwCr3W,KAAK,eAGTosW,EAAAA,GAAAA,MAAA,OAAAt4V,SAAA,CAAK,mEAC8DwyV,EAAAA,GAAAA,KAAA,KAAG54E,KAAK,iCAAiCv8R,OAAO,SAASy7W,IAAI,aAAY94V,SAAC,uBAE7IwyV,EAAAA,GAAAA,KAAA,SAEC8Q,IACGhL,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,EACIwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,cAAalpD,SAAC,2BAC7BwyV,EAAAA,GAAAA,KAAA,aAGRA,EAAAA,GAAAA,KAAA,UAAQ5lW,KAAK,SAASs8D,UAAU,qBAC5BwlP,QAASA,IAzLnBjjT,WAC1B,GAAK+2W,GAAeI,GAAgBI,EAAiB,CACjD,MAAMxvF,QAAc8uF,EAAalpG,QAAQimG,eACzCiD,EAAalpG,QAAQ1e,UACP,KAAV84B,GACA2vF,GAAkB,GAElBK,EAAYziX,KAAOwhX,EACnBiB,EAAYjpE,MAAQmoE,EACpBc,EAAY76F,QAAUm6F,EACtBv+E,GAAKl4R,IAAI,eAAgBm3W,GAAanlT,MAAMzhE,IACxCuC,QAAQyF,IAAIhI,GACO,MAAfA,EAAI8wE,QACJ21S,GAAc,GACdE,GAAa,GACbJ,GAAkB,IAGlBA,GAAkB,EACtB,KAIJI,GAAa,EAErB,MAESf,IACDv9V,SAASy+V,eAAe,YAAY9vT,MAAMspT,OAAS,qBAElD0F,IACD39V,SAASy+V,eAAe,WAAW9vT,MAAMspT,OAAS,qBAGjD8F,IACD/9V,SAASy+V,eAAe,WAAW9vT,MAAMspT,OAAS,oBAK1D,EAiJmDyG,GAAwB3jW,SAC1C,wBAmB7BwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,kBAAiBlpD,UAE5BwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,kCAAiClpD,SAAC,wBAKrDwyV,EAAAA,GAAAA,KAAA,OAAK5+S,MAAO,CAAEO,SAAU,qBAAsBn0C,UAC1CwyV,EAAAA,GAAAA,KAAA,UAAQp5L,MAAM,UAAUn6J,IAAI,6QAA6Q20C,MAAO,CAAEC,OAAQ,QAASx/C,MAAO,OAAQuvW,YAAa,WAEhW,EC1If,GA5GgBC,MAEZznG,EAAAA,EAAAA,YAAU,KACNn3P,SAASm0J,MAAQ,yBAAyB,GAC3C,IAEH,MAAM4/L,GACFxG,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,yBAAwBlpD,SAAC,mBAM7C,OACIs4V,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,EACIwyV,EAAAA,GAAAA,KAAC6G,GAAW,CAACN,SAAUO,GAAOxK,QAAS,WAAYkK,WAAYA,EAAYC,UAAU,EAAO3U,QAAS,sBAErGkO,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,YAAWlpD,UACtBs4V,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,kBAAiBlpD,SAAA,EAC5BwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,OAAMlpD,SAAC,iCAGtBs4V,EAAAA,GAAAA,MAAA,MAAAt4V,SAAA,EACIs4V,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,OAAMlpD,SAAA,EAChBwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,eAAclpD,SAAC,kBAC/BwyV,EAAAA,GAAAA,KAAA,KAAG5+S,MAAO,CAAEqnT,UAAW,QAASj7V,SAAE,iRAGtCs4V,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,OAAMlpD,SAAA,EAChBwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,eAAclpD,SAAC,4BAC/Bs4V,EAAAA,GAAAA,MAAA,OAAK1kT,MAAO,CAAEqnT,UAAW,QAASj7V,SAAA,CAAC,gEAE/Bs4V,EAAAA,GAAAA,MAAA,MAAAt4V,SAAA,EACIwyV,EAAAA,GAAAA,KAAA,MAAAxyV,SAAI,wKAGJwyV,EAAAA,GAAAA,KAAA,MAAAxyV,SAAI,sKAMhBs4V,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,OAAMlpD,SAAA,EAChBwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,eAAclpD,SAAC,qBAC/Bs4V,EAAAA,GAAAA,MAAA,OAAK1kT,MAAO,CAAEqnT,UAAW,QAASj7V,SAAA,CAAC,sEAE/Bs4V,EAAAA,GAAAA,MAAA,MAAAt4V,SAAA,EACIwyV,EAAAA,GAAAA,KAAA,MAAAxyV,SAAI,wIAGJwyV,EAAAA,GAAAA,KAAA,MAAAxyV,SAAI,8HAGJwyV,EAAAA,GAAAA,KAAA,MAAAxyV,SAAI,mIAGJwyV,EAAAA,GAAAA,KAAA,MAAAxyV,SAAI,uIAOhBs4V,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,OAAMlpD,SAAA,EAChBwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,eAAclpD,SAAC,wCAC/BwyV,EAAAA,GAAAA,KAAA,OAAK5+S,MAAO,CAAEqnT,UAAW,QAASj7V,SAAC,qJAKvCs4V,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,OAAMlpD,SAAA,EAEhBwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,eAAclpD,SAAC,cAC/Bs4V,EAAAA,GAAAA,MAAA,OAAK1kT,MAAO,CAAEqnT,UAAW,QAASj7V,SAAA,CAAC,kGAE/Bs4V,EAAAA,GAAAA,MAAA,MAAAt4V,SAAA,EACIwyV,EAAAA,GAAAA,KAAA,MAAAxyV,SAAI,kIAGJwyV,EAAAA,GAAAA,KAAA,MAAAxyV,SAAI,4IAMhBs4V,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,OAAMlpD,SAAA,EAChBwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,eAAclpD,SAAC,oCAC/BwyV,EAAAA,GAAAA,KAAA,OAAK5+S,MAAO,CAAEqnT,UAAW,QAASj7V,SAAC,yNAKvCs4V,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,OAAMlpD,SAAA,EAChBwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,eAAclpD,SAAC,gBAC/Bs4V,EAAAA,GAAAA,MAAA,KAAG1kT,MAAO,CAAEqnT,UAAW,QAASj7V,SAAA,CAAC,yFACwDwyV,EAAAA,GAAAA,KAAA,KAAG54E,KAAK,yBAAwB55Q,SAAC,oCAS3I,ECIX,GA5GgB6jW,MAEZznG,EAAAA,EAAAA,YAAU,KACNn3P,SAASm0J,MAAQ,wBAAwB,GAC1C,IAEH,MAAM4/L,GACFxG,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,yBAAwBlpD,SAAC,kBAM7C,OACIs4V,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,EACIwyV,EAAAA,GAAAA,KAAC6G,GAAW,CAACN,SAAUO,GAAOxK,QAAS,WAAYkK,WAAYA,EAAYC,UAAU,EAAO3U,QAAS,sBACrGkO,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,YAAWlpD,UACtBs4V,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,kBAAiBlpD,SAAA,EAC5BwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,OAAMlpD,SAAC,iCAGtBs4V,EAAAA,GAAAA,MAAA,MAAAt4V,SAAA,EACIs4V,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,OAAMlpD,SAAA,EAChBwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,eAAclpD,SAAC,kBAC/BwyV,EAAAA,GAAAA,KAAA,KAAG5+S,MAAO,CAAEqnT,UAAW,QAASj7V,SAAE,8KAItCs4V,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,OAAMlpD,SAAA,EAChBwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,eAAclpD,SAAC,uBAC/BwyV,EAAAA,GAAAA,KAAA,KAAG5+S,MAAO,CAAEqnT,UAAW,QAASj7V,SAAE,mRAGtCs4V,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,OAAMlpD,SAAA,EAChBwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,eAAclpD,SAAC,8BAC/BwyV,EAAAA,GAAAA,KAAA,KAAG5+S,MAAO,CAAEqnT,UAAW,QAASj7V,SAAC,2DAGjCs4V,EAAAA,GAAAA,MAAA,MAAAt4V,SAAA,EACIs4V,EAAAA,GAAAA,MAAA,MAAAt4V,SAAA,EACIwyV,EAAAA,GAAAA,KAAA,UAAAxyV,SAAQ,uBAA2B,8OAEvCs4V,EAAAA,GAAAA,MAAA,MAAAt4V,SAAA,EACIwyV,EAAAA,GAAAA,KAAA,UAAAxyV,SAAQ,uBAA2B,yNAI/Cs4V,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,OAAMlpD,SAAA,EAChBwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,eAAclpD,SAAC,wBAC/BwyV,EAAAA,GAAAA,KAAA,KAAG5+S,MAAO,CAAEqnT,UAAW,QAASj7V,SAAC,gDAGjCs4V,EAAAA,GAAAA,MAAA,MAAAt4V,SAAA,EACIwyV,EAAAA,GAAAA,KAAA,MAAAxyV,SAAI,+EAGJwyV,EAAAA,GAAAA,KAAA,MAAAxyV,SAAI,gEAGJwyV,EAAAA,GAAAA,KAAA,MAAAxyV,SAAI,qFAGJwyV,EAAAA,GAAAA,KAAA,MAAAxyV,SAAI,8EAMZs4V,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,OAAMlpD,SAAA,EAChBwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,eAAclpD,SAAC,sBAC/BwyV,EAAAA,GAAAA,KAAA,KAAG5+S,MAAO,CAAEqnT,UAAW,QAASj7V,SAAC,0QAGrCs4V,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,OAAMlpD,SAAA,EAChBwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,eAAclpD,SAAC,kBAC/BwyV,EAAAA,GAAAA,KAAA,KAAG5+S,MAAO,CAAEqnT,UAAW,QAASj7V,SAAC,oGAGjCs4V,EAAAA,GAAAA,MAAA,MAAAt4V,SAAA,EACIs4V,EAAAA,GAAAA,MAAA,MAAAt4V,SAAA,EACIwyV,EAAAA,GAAAA,KAAA,UAAAxyV,SAAQ,wBAA4B,8HAExCs4V,EAAAA,GAAAA,MAAA,MAAAt4V,SAAA,EACIwyV,EAAAA,GAAAA,KAAA,UAAAxyV,SAAQ,uBAA2B,2HAI/Cs4V,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,OAAMlpD,SAAA,EAChBwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,eAAclpD,SAAC,4BAC/BwyV,EAAAA,GAAAA,KAAA,KAAG5+S,MAAO,CAAEqnT,UAAW,QAASj7V,SAAC,uNAGrCs4V,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,OAAMlpD,SAAA,EAChBwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,eAAclpD,SAAC,gBAC/Bs4V,EAAAA,GAAAA,MAAA,KAAG1kT,MAAO,CAAEqnT,UAAW,QAASj7V,SAAA,CAAC,oFACmDwyV,EAAAA,GAAAA,KAAA,KAAG54E,KAAK,yBAAwB55Q,SAAC,oCAStI,ECuCX,GAxIa8jW,KACT,MAAOC,EAAOC,IAAYlqG,EAAAA,EAAAA,UAAS,KAEnCsC,EAAAA,EAAAA,YAAU,KACNn3P,SAASm0J,MAAQ,gBAGjB,MAAM+hM,EAAkBl2V,SAASC,cAAc,QAC/Ci2V,EAAgBhmT,aAAa,OAAQ,eACrCgmT,EAAgB1yG,QAAU,uHAG1B,MAAM2yG,EAAen2V,SAASC,cAAc,QAC5Ck2V,EAAajmT,aAAa,OAAQ,YAClCimT,EAAa3yG,QAAU,2CAEvB,MAAM2wG,EAAan0V,SAASC,cAAc,QAU1C,OATAk0V,EAAWjkT,aAAa,OAAQ,UAChCikT,EAAW3wG,QAAU,QACrBxjP,SAASkiT,KAAKxzQ,YAAYylT,GAG1Bn0V,SAASkiT,KAAKxzQ,YAAYwnT,GAC1Bl2V,SAASkiT,KAAKxzQ,YAAYynT,GAC1Bn2V,SAASkiT,KAAKxzQ,YAAYynT,GAEnB,KAEHn2V,SAASkiT,KAAKpzQ,YAAYonT,GAC1Bl2V,SAASkiT,KAAKpzQ,YAAYqnT,GAC1Bn2V,SAASkiT,KAAKpzQ,YAAYqlT,EAAW,CAExC,GACF,IAEH,MAAMJ,GACFxG,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,yBAAwBlpD,SAAC,SAW7C,OANAo8P,EAAAA,EAAAA,YAAU,KACNmoB,GAAK23E,OAAO,YAAY79S,MAAMzhE,IAC1BonX,EAASpnX,EAAI4B,KAAK,GACpB,GACH,KAGC85W,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,OAAMlpD,SAAA,EAGjBwyV,EAAAA,GAAAA,KAAC6G,GAAW,CAACN,SAAUO,GAAOxK,QAAS,WAAYkK,WAAYA,EAAYC,UAAU,EAAO3U,QAAS,sBAErGgU,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,kBAAiBlpD,SAAA,EAC5BwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,gBAAelpD,UAC1Bs4V,EAAAA,GAAAA,MAAA,MAAIpvS,UAAS,6BAA+BlpD,SAAA,CAAC,4DACewyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,eAAclpD,SAAC,eAAiB,aAGhHwyV,EAAAA,GAAAA,KAACra,GAAG,CAAAn4U,SACC+jW,EAAM9+W,KAAI,CAACgP,EAAM5X,KAGd,IAAI4nX,EACJ,OAFehwW,EAAKiwW,QAGhB,IAAK,iBACDD,EAAYpG,GACZ,MACJ,IAAK,oBACDoG,EAAY/F,GAMpB,OACI1L,EAAAA,GAAAA,KAACtqC,EAAAA,SAAc,CAAAloT,UACO,IAAjB/L,EAAKmpJ,SACFo1M,EAAAA,GAAAA,KAAAC,GAAAA,SAAA,CAAAzyV,UACIwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACf,GAAG,IAAIh1C,GAAG,IAAIpO,GAAG,IAAImjD,GAAG,KAAKD,GAAG,KAAK5uR,UAAU,QAAOlpD,UACvDs4V,EAAAA,GAAAA,MAACpY,GAAI,CAAAlgV,SAAA,EACDwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,GAAElpD,UACbwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,YAAYjqD,IAAK29V,GAAOxpM,IAAI,+CAE/CklM,EAAAA,GAAAA,MAACvf,GAAG,CAAC7vR,UAAU,MAAKlpD,SAAA,EAChBwyV,EAAAA,GAAAA,KAACra,GAAG,CAACjvR,UAAU,MAAKlpD,UAChBwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAAA/4U,UACAwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,sCAAqClpD,SAAE/L,EAAK66V,eAGnE0D,EAAAA,GAAAA,KAACra,GAAG,CAACjvR,UAAU,MAAKlpD,UAChBs4V,EAAAA,GAAAA,MAACvf,GAAG,CAACnlS,MAAO,CAAEqnT,UAAW,QAAU/xS,UAAU,WAAUlpD,SAAA,CAClD/L,EAAK+kW,WAAWrxW,UAAU,EAAG,KAAK,OACnC6qW,EAAAA,GAAAA,KAACO,GAAI,CAACr1E,GAAE,YAAAp3R,OAAc2N,EAAKg6B,IAAKjuB,SAAE,oBAK1Cs4V,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,MAAKlpD,SAAA,EAChBwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,IAAG93U,UACPs4V,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,mBAAkBlpD,SAAA,CAAC,KAACwyV,EAAAA,GAAAA,KAAA,OAAKvzV,IAAKglW,EAAW7wM,IAAI,WAAW,UAE3EklM,EAAAA,GAAAA,MAACvf,GAAG,CAACjB,GAAG,KAAI93U,SAAA,EACRwyV,EAAAA,GAAAA,KAACra,GAAG,CAAAn4U,UACAwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAAC7vR,UAAU,yCAAwClpD,SAClD/L,EAAKiwW,YAGd5L,EAAAA,GAAAA,MAACngB,GAAG,CAAAn4U,SAAA,EACAwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAAA/4U,UACAwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,yCAAwClpD,SAAE/L,EAAKkwW,UAAUx8W,UAAU,EAAG,SAEzF6qW,EAAAA,GAAAA,KAACzZ,GAAG,CAAA/4U,UACAwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,yCAAwClpD,SAAE/L,EAAK4oW,iCAU9F,IAAE,QAAAv2W,OA/CmBjK,GAiDZ,WAO9B,EC9Bf,GAxGgB+nX,KAEZ,MAAOC,EAAYC,IAAiBxqG,EAAAA,EAAAA,UAAS,KACtCyqG,EAAMC,IAAW1qG,EAAAA,EAAAA,UAAS,KAC3B,OAAE2qG,GAAW14C,KAEnB3vD,EAAAA,EAAAA,YAAU,KACNn3P,SAASm0J,MAAQ,uCAGjB,MAAM+hM,EAAkBl2V,SAASC,cAAc,QAC/Ci2V,EAAgBhmT,aAAa,OAAQ,eACrCgmT,EAAgB1yG,QAAU,uJAG1B,MAAM2yG,EAAen2V,SAASC,cAAc,QAC5Ck2V,EAAajmT,aAAa,OAAQ,YAClCimT,EAAa3yG,QAAU,kKAEvB,MAAM2wG,EAAan0V,SAASC,cAAc,QAU1C,OATAk0V,EAAWjkT,aAAa,OAAQ,UAChCikT,EAAW3wG,QAAU,QACrBxjP,SAASkiT,KAAKxzQ,YAAYylT,GAG1Bn0V,SAASkiT,KAAKxzQ,YAAYwnT,GAC1Bl2V,SAASkiT,KAAKxzQ,YAAYynT,GAC1Bn2V,SAASkiT,KAAKxzQ,YAAYynT,GAEnB,KAEHn2V,SAASkiT,KAAKpzQ,YAAYonT,GAC1Bl2V,SAASkiT,KAAKpzQ,YAAYqnT,GAC1Bn2V,SAASkiT,KAAKpzQ,YAAYqlT,EAAW,CAExC,GACF,IAEH,MAAMJ,GACFxG,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,yBAAwBlpD,SAAC,oBAoB7C,OAfAo8P,EAAAA,EAAAA,YAAU,KAEN,MAAMnuM,EAAW,CACbs2N,GAAK23E,OAAO,YAAD51W,OAAam+W,IACxBlgF,GAAK23E,OAAO,mBAAD51W,OAAoBm+W,KAGnC/0F,QAAQ1hN,IAAIC,GACP5P,MAAK+/P,IAAoB,IAAlBxhU,EAAKugH,GAAOihN,EAChBomD,EAAQ5nX,EAAI4B,MACZ8lX,EAAcnnQ,EAAO3+G,KAAK,GAC5B,GAEP,CAACimX,KAGAnM,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,EACIwyV,EAAAA,GAAAA,KAAC6G,GAAW,CAACN,SAAUO,GAAON,WAAYA,EAAYC,UAAU,EAAO3U,QAAS,sBAChFgU,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,kBAAiBlpD,SAAA,EAE5BwyV,EAAAA,GAAAA,KAACO,GAAI,CAACr1E,GAAG,QAAO19Q,UACZwyV,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3xR,UAAU,oBAAmBlpD,UACjCs4V,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,SAAQlpD,SAAA,EACnBwyV,EAAAA,GAAAA,KAAA,OAAAxyV,UACIwyV,EAAAA,GAAAA,KAACgH,GAAW,CAACttW,KAAM,OACjB,YAENsmW,EAAAA,GAAAA,KAAA,OAAK5+S,MAAO,CAAEmD,WAAY,OAAQ/2C,SAAC,iBAK/CwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,GAAElpD,UACbwyV,EAAAA,GAAAA,KAAA,MAAItpS,UAAU,cAAalpD,SACtBukW,EAAKzV,aAGdwJ,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,OAAMlpD,SAAA,EACjBwyV,EAAAA,GAAAA,KAAA,KAAG5+S,MAAO,CAAEqnT,UAAW,QAAU/xS,UAAU,eAAclpD,SACpDukW,EAAKvL,aAETqL,EAAWp/W,KAAI,CAACgP,EAAM5X,KAEfi8W,EAAAA,GAAAA,MAACpwC,EAAAA,SAAc,CAAAloT,SAAA,EACXwyV,EAAAA,GAAAA,KAAA,MAAItpS,UAAU,oBAAmBlpD,SAC5B/L,EAAK66V,WAEV0D,EAAAA,GAAAA,KAAA,KAAG5+S,MAAO,CAAEqnT,UAAW,QAAU/xS,UAAU,eAAek/N,wBAAyB,CAAEmC,OAAQt2R,EAAKywW,cAE9F,cAAAp+W,OAN2BjK,cAapD,ECtDX,GArDgBwnX,KAERrR,EAAAA,GAAAA,KAAAC,GAAAA,SAAA,CAAAzyV,UACIs4V,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,OAAMlpD,SAAA,EAEjBs4V,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,mCAAkClpD,SAAA,EAC7CwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,eAAclpD,SAAC,oBAC9BwyV,EAAAA,GAAAA,KAAA,KAAGtpS,UAAU,kBAAiBlpD,SAAC,yRAEnCs4V,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,YAAWlpD,SAAA,EACtBs4V,EAAAA,GAAAA,MAAA,MAAAt4V,SAAA,EACIs4V,EAAAA,GAAAA,MAAA,MAAAt4V,SAAA,EACIwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,eAAclpD,SAAC,4BAC/BwyV,EAAAA,GAAAA,KAAA,KAAAxyV,SAAG,4MAIPs4V,EAAAA,GAAAA,MAAA,MAAAt4V,SAAA,EACIwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,eAAclpD,SAAC,0BAC/BwyV,EAAAA,GAAAA,KAAA,KAAAxyV,SAAG,iWAIPs4V,EAAAA,GAAAA,MAAA,MAAAt4V,SAAA,EACIwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,eAAclpD,SAAC,sBAC/BwyV,EAAAA,GAAAA,KAAA,KAAAxyV,SAAG,mQAIPs4V,EAAAA,GAAAA,MAAA,MAAAt4V,SAAA,EACIwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,eAAclpD,SAAC,0BAC/BwyV,EAAAA,GAAAA,KAAA,KAAAxyV,SAAG,mNAIPs4V,EAAAA,GAAAA,MAAA,MAAAt4V,SAAA,EACIwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,eAAclpD,SAAC,kBAC/BwyV,EAAAA,GAAAA,KAAA,KAAAxyV,SAAG,2PAKXwyV,EAAAA,GAAAA,KAAA,OAAAxyV,SAAK,6CCqDzB,GA7Fc2kW,MAEVvoG,EAAAA,EAAAA,YAAU,KACNn3P,SAASm0J,MAAQ,uBAAuB,GACzC,IAEH,MAAM4/L,GACFxG,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,yBAAwBlpD,SAAC,iBAK7C,OACIs4V,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,EACIwyV,EAAAA,GAAAA,KAAC6G,GAAW,CAACN,SAAUO,GAAOxK,QAAS,WAAYkK,WAAYA,EAAYC,UAAU,EAAO3U,QAAS,sBAGrGkO,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,YAAWlpD,UACtBs4V,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,kBAAiBlpD,SAAA,EAC5BwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,OAAMlpD,SAAC,qCAGtBs4V,EAAAA,GAAAA,MAAA,MAAAt4V,SAAA,EACIs4V,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,OAAMlpD,SAAA,EAChBwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,eAAclpD,SAAC,kBAC/BwyV,EAAAA,GAAAA,KAAA,KAAG5+S,MAAO,CAAEqnT,UAAW,QAASj7V,SAAE,yVAKtCs4V,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,OAAMlpD,SAAA,EAChBwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,eAAclpD,SAAC,oBAC/BwyV,EAAAA,GAAAA,KAAA,KAAG5+S,MAAO,CAAEqnT,UAAW,QAASj7V,SAAE,maAItCs4V,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,OAAMlpD,SAAA,EAChBwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,eAAclpD,SAAC,gBAC/BwyV,EAAAA,GAAAA,KAAA,KAAG5+S,MAAO,CAAEqnT,UAAW,QAASj7V,SAAC,wfAIrCs4V,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,OAAMlpD,SAAA,EAChBwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,eAAclpD,SAAC,6BAC/BwyV,EAAAA,GAAAA,KAAA,KAAG5+S,MAAO,CAAEqnT,UAAW,QAASj7V,SAAC,+NAIrCs4V,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,OAAMlpD,SAAA,EAChBwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,eAAclpD,SAAC,aAC/BwyV,EAAAA,GAAAA,KAAA,KAAG5+S,MAAO,CAAEqnT,UAAW,QAASj7V,SAAC,0RAIrCs4V,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,OAAMlpD,SAAA,EAChBwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,eAAclpD,SAAC,qBAC/BwyV,EAAAA,GAAAA,KAAA,KAAG5+S,MAAO,CAAEqnT,UAAW,QAASj7V,SAAC,6VAIrCs4V,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,OAAMlpD,SAAA,EAChBwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,eAAclpD,SAAC,iBAC/BwyV,EAAAA,GAAAA,KAAA,KAAG5+S,MAAO,CAAEqnT,UAAW,QAASj7V,SAAC,qKAIrCs4V,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,OAAMlpD,SAAA,EAChBwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,eAAclpD,SAAC,mBAC/BwyV,EAAAA,GAAAA,KAAA,KAAG5+S,MAAO,CAAEqnT,UAAW,QAASj7V,SAAC,uJAIrCs4V,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,OAAMlpD,SAAA,EAChBwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,eAAclpD,SAAC,6BAC/BwyV,EAAAA,GAAAA,KAAA,KAAG5+S,MAAO,CAAEqnT,UAAW,QAASj7V,SAAC,mOAIrCs4V,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,OAAMlpD,SAAA,EAChBwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,eAAclpD,SAAC,gBAC/Bs4V,EAAAA,GAAAA,MAAA,KAAG1kT,MAAO,CAAEqnT,UAAW,QAASj7V,SAAA,CAAC,iFACgDwyV,EAAAA,GAAAA,KAAA,KAAG54E,KAAK,yBAAwB55Q,SAAC,oCAQnI,kECsGX,GAxLwB4kW,MAEpBxoG,EAAAA,EAAAA,YAAU,KACN,MAAMyoG,EAAeA,KACA5/V,SAASwxC,iBAAiB,kBAClCp8D,SAASorB,IACd,MAAMq/V,EAAkBr/V,EAAQyrF,wBAAwBj5C,IAClD8sT,EAAYljX,OAAO6yD,YAAc,IACvCv1D,QAAQyF,IAAIkgX,EAAiBC,GACzBD,EAAkBC,EAClBt/V,EAAQywC,UAAU7pD,IAAI,WAEtBoZ,EAAQywC,UAAU4c,OAAO,UAC7B,GACF,EAKN,OAFAjxE,OAAOsK,iBAAiB,SAAU04W,GAE3B,KACHhjX,OAAOyK,oBAAoB,SAAUu4W,EAAa,CACrD,GACF,KAEHzoG,EAAAA,EAAAA,YAAU,KACNn3P,SAASm0J,MAAQ,6DAGjB,MAAM+hM,EAAkBl2V,SAASC,cAAc,QAC/Ci2V,EAAgBhmT,aAAa,OAAQ,eACrCgmT,EAAgB1yG,QAAU,gJAG1B,MAAM2yG,EAAen2V,SAASC,cAAc,QAC5Ck2V,EAAajmT,aAAa,OAAQ,YAClCimT,EAAa3yG,QAAU,sNAEvB,MAAM2wG,EAAan0V,SAASC,cAAc,QAU1C,OATAk0V,EAAWjkT,aAAa,OAAQ,UAChCikT,EAAW3wG,QAAU,QACrBxjP,SAASkiT,KAAKxzQ,YAAYylT,GAG1Bn0V,SAASkiT,KAAKxzQ,YAAYwnT,GAC1Bl2V,SAASkiT,KAAKxzQ,YAAYynT,GAC1Bn2V,SAASkiT,KAAKxzQ,YAAYylT,GAEnB,KAEHn0V,SAASkiT,KAAKpzQ,YAAYonT,GAC1Bl2V,SAASkiT,KAAKpzQ,YAAYqnT,GAC1Bn2V,SAASkiT,KAAKpzQ,YAAYqlT,EAAW,CAExC,GACF,IACH,MAAMJ,GACFV,EAAAA,GAAAA,MAAA,QAAMpvS,UAAU,cAAalpD,SAAA,CAAC,+BACCwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,2BAA0BlpD,SAAC,2BAM9E,OACIs4V,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,EACIwyV,EAAAA,GAAAA,KAAA,OAAAxyV,UACIwyV,EAAAA,GAAAA,KAAC6G,GAAW,CAACN,SAAUiM,GAAQlW,QAAQ,2FACnCkK,WAAYA,EAAYC,UAAU,EAAM3U,QAAS,+CAKzDgU,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,GAAElpD,SAAA,EACbwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,eAAclpD,UACzBs4V,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,kBAAiBlpD,SAAA,EAC5BwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,8BAA6BlpD,SAAC,cAG7CwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,6BAA4BlpD,SAAC,iFAI5CwyV,EAAAA,GAAAA,KAAC6I,GAAa,KAEd7I,EAAAA,GAAAA,KAACra,GAAG,CAACjvR,UAAU,YAAWlpD,UACtBwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAAC7vR,UAAU,cAAalpD,UACxBwyV,EAAAA,GAAAA,KAACO,GAAI,CAACr1E,GAAG,YAAW19Q,UAChBwyV,EAAAA,GAAAA,KAAA,UAAQtpS,UAAU,qBAAqBh9D,KAAK,KAAI8T,SAAC,kCASrEwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,eAAclpD,UACzBs4V,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,eAAclpD,SAAA,EACzBs4V,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,kBAAiBlpD,SAAA,EAE5BwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,0BAAyBlpD,SAAC,cAGzCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,mCAAkClpD,SAAC,wFAIlDwyV,EAAAA,GAAAA,KAACyK,GAAa,CAACrpT,MA/CzB,CACVspT,OAAQ,2BAkDQ1K,EAAAA,GAAAA,KAACra,GAAG,CAACjvR,UAAU,YAAWlpD,UACtBwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAAC7vR,UAAU,cAAalpD,UACxBwyV,EAAAA,GAAAA,KAACO,GAAI,CAACr1E,GAAG,YAAW19Q,UAChBwyV,EAAAA,GAAAA,KAAA,UAAQtpS,UAAU,qBAAqBh9D,KAAK,KAAI8T,SAAC,sCAiE1E,8DCrLI,SAASilW,KACpB,MAAM,UAAEC,GAAcn5C,IAChBo5C,EAAUC,GAAa15V,MAAKzX,GAAQA,EAAKg6B,KAAOi3U,KAE/CtrW,EAAWs/V,IAAgBp/F,EAAAA,EAAAA,WAAS,IAE3CsC,EAAAA,EAAAA,YAAU,KACN88F,GAAa,EAAK,GACnB,KAEH98F,EAAAA,EAAAA,YAAU,KACN,QAAgBtjR,IAAZqsX,EAGG,CACHlgW,SAASm0J,MAAK,GAAA9yK,OAAM6+W,EAAQrW,QAAO,aAEnC,MAAMqM,EAAkBl2V,SAASC,cAAc,QAC/Ci2V,EAAgBhmT,aAAa,OAAQ,eACrCgmT,EAAgB1yG,QAAO,GAAAniQ,OAAM6+W,EAAQrW,SAGrC,MAAMsM,EAAen2V,SAASC,cAAc,QAC5Ck2V,EAAajmT,aAAa,OAAQ,YAClCimT,EAAa3yG,QAAO,GAAAniQ,OAAM6+W,EAAQrK,UAElC,MAAM1B,EAAan0V,SAASC,cAAc,QAU1C,OATAk0V,EAAWjkT,aAAa,OAAQ,UAChCikT,EAAW3wG,QAAU,QACrBxjP,SAASkiT,KAAKxzQ,YAAYylT,GAG1Bn0V,SAASkiT,KAAKxzQ,YAAYwnT,GAC1Bl2V,SAASkiT,KAAKxzQ,YAAYynT,GAC1Bn2V,SAASkiT,KAAKxzQ,YAAYynT,GAEnB,KAEHn2V,SAASkiT,KAAKpzQ,YAAYonT,GAC1Bl2V,SAASkiT,KAAKpzQ,YAAYqnT,GAC1Bn2V,SAASkiT,KAAKpzQ,YAAYqlT,EAAW,CAG7C,CA/BIn0V,SAASm0J,MAAK,mBA+BlB,GACD,CAAC+rM,IAQJ,OACKA,GAyCG7M,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,EACIwyV,EAAAA,GAAAA,KAAC6G,GAAW,CAAoBN,SAAUO,GAAOxK,QAASqW,EAAQrW,QAASkK,WAAYmM,EAAQtK,WAAY5B,UAAU,EAAO3U,QAAS,yCAAnH,eAClBkO,EAAAA,GAAAA,KAACra,GAAG,CAAuBjvR,UAAU,kBAAiBlpD,UAClDwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAAA/4U,UACAwyV,EAAAA,GAAAA,KAACO,GAAI,CAACr1E,GAAG,YAAW19Q,UAChBwyV,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3xR,UAAU,oBAAmBlpD,UACjCs4V,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,SAAQlpD,SAAA,EACnBwyV,EAAAA,GAAAA,KAAA,OAAAxyV,UACIwyV,EAAAA,GAAAA,KAACgH,GAAW,CAACttW,KAAM,OAEjB,YAENsmW,EAAAA,GAAAA,KAAA,OAAK5+S,MAAO,CAAEmD,WAAY,OAAQ/2C,SAAC,uBAV7C,iBAoBTmlW,EAAQ18G,QAAQxjQ,KAAI,CAACgP,EAAM5X,KACxB,MAAM67N,EAtEM77N,KACxB,MAAMm/W,EAAS,CAAC,OAAQ,UAAW,WACnC,OAAOA,EAAOn/W,EAAQm/W,EAAO9iX,OAAO,EAoEV+iX,CAAmBp/W,GACjC,IAAIq/W,EACAC,EACAC,EACJ,OAAQ1jJ,GACJ,IAAK,UAUL,QACIwjJ,EAAY,iBACZC,EAAY,WACZC,EAAY,iBACZ,MATJ,IAAK,UACDF,EAAY,aACZC,EAAY,iBACZC,EAAY,aAQpB,OACIpJ,EAAAA,GAAAA,KAACra,GAAG,CAACjvR,UAAU,kBAA8BtV,MAAO,CAAEykK,gBAAiBH,GACtEl4M,UAEGwyV,EAAAA,GAAAA,KAACra,GAAG,CAACjvR,UAAU,gBAAelpD,UAGlBs4V,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,EACIwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,IAAI5uR,UAAS,iCAAA5iE,OAAmCjK,EAAQ,EAAI,UAAY,IAAK2jB,SAChF/L,EAAKqwE,QAEVg0R,EAAAA,GAAAA,MAACvf,GAAG,CAAC7vR,UAAS,sBAAA5iE,OAAwBjK,EAAQ,EAAI,UAAY,IAAK2jB,SAAA,EAC/DwyV,EAAAA,GAAAA,KAAA,MAAItpS,UAAS,eAAA5iE,OAAiBo1W,GAAY17V,UACtCwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAW0yS,EAAU57V,SAAE/L,EAAK66V,aAEtC0D,EAAAA,GAAAA,KAAA,KAAG5+S,MAAO,CAAEqnT,UAAW,QAAU/xS,UAAS,gBAAA5iE,OAAkBq1W,GAAY37V,SAAE/L,EAAK+kW,sBAdjE38W,EAiChC,QAtHlBi8W,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,EACIwyV,EAAAA,GAAAA,KAAC6G,GAAW,CAAsBN,SAAUO,GAAOxK,QAAS,OAAQkK,YAAYV,EAAAA,GAAAA,MAAA,QAAAt4V,SAAA,EAC5EwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,yBAAwBlpD,SAAC,wBAA0B,cAE9Di5V,UAAU,EAAO3U,QAAS,yCAHjB,iBAIlBkO,EAAAA,GAAAA,KAACra,GAAG,CAAyBjvR,UAAU,kBAAiBlpD,UACpDwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAAA/4U,UACAwyV,EAAAA,GAAAA,KAACO,GAAI,CAACr1E,GAAG,YAAW19Q,UAChBwyV,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3xR,UAAU,oBAAmBlpD,UACjCs4V,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,SAAQlpD,SAAA,EACnBwyV,EAAAA,GAAAA,KAAA,OAAAxyV,UACIwyV,EAAAA,GAAAA,KAACgH,GAAW,CAACttW,KAAM,OAEjB,YAENsmW,EAAAA,GAAAA,KAAA,OAAK5+S,MAAO,CAAEmD,WAAY,OAAQ/2C,SAAC,uBAV7C,oBAiBVwyV,EAAAA,GAAAA,KAACra,GAAG,CAAsBjvR,UAAU,uBAAsBlpD,UAEtDs4V,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,EACIwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,IAAI5uR,UAAS,iCAAA5iE,OAAmCsT,EAAY,UAAY,IAAKoG,UACjFwyV,EAAAA,GAAAA,KAACqH,GAAkB,CAAC3wS,UAAU,wBAElCovS,EAAAA,GAAAA,MAACvf,GAAG,CAAC7vR,UAAS,sBAAA5iE,OAAwBsT,EAAY,UAAY,IAAKoG,SAAA,EAC/DwyV,EAAAA,GAAAA,KAAA,MAAItpS,UAAS,6BAA+BlpD,UACxCwyV,EAAAA,GAAAA,KAAA,QAAAxyV,SAAQ,6CAEZwyV,EAAAA,GAAAA,KAAA,KAAGtpS,UAAS,8BAAgClpD,SAAE,sHAVhD,kBAyG1B,CCrLe,SAASqlW,KAEpB,MAAOC,EAAeC,IAAoBzrG,EAAAA,EAAAA,UAAS,KAC5C0rG,EAASC,IAAc3rG,EAAAA,EAAAA,UAAS,KAChC4rG,EAAYC,IAAiB7rG,EAAAA,EAAAA,WAAS,IACtCzsD,EAAWu4J,IAAgB9rG,EAAAA,EAAAA,WAAS,IAErC,UAAE+rG,GAAc95C,IAmBtB,OAjBA3vD,EAAAA,EAAAA,YAAU,KAEN,MAAMnuM,EAAW,CACbs2N,GAAK23E,OAAO,eAAD51W,OAAgBu/W,IAC3BthF,GAAK23E,OAAO,sBAAD51W,OAAuBu/W,KAGtCn2F,QAAQ1hN,IAAIC,GACP5P,MAAK+/P,IAAoB,IAAlBxhU,EAAKugH,GAAOihN,EAChBqnD,EAAW7oX,GACX2oX,EAAiBpoQ,GACjBwoQ,GAAc,EAAK,IACpBhpC,SAAQ,KACPipC,GAAa,EAAM,GACrB,GACP,CAACC,KAGAvN,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,EACIwyV,EAAAA,GAAAA,KAAC6G,GAAW,CAACN,SAAUO,GAEnBN,YAAYV,EAAAA,GAAAA,MAAA,QAAAt4V,SAAA,EACRwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,yBAAwBlpD,SAAEwlW,EAAQ1W,UAAe,cAErEmK,UAAU,EACV3U,QAAS,2CAEbgU,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,kBAAiBlpD,SAAA,EAC5BwyV,EAAAA,GAAAA,KAACO,GAAI,CAACr1E,GAAG,YAAW19Q,UAChBwyV,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3xR,UAAU,oBAAmBlpD,UACjCs4V,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,SAAQlpD,SAAA,EACnBwyV,EAAAA,GAAAA,KAAA,OAAAxyV,UACIwyV,EAAAA,GAAAA,KAACgH,GAAW,CAACttW,KAAM,OACjB,YAENsmW,EAAAA,GAAAA,KAAA,OAAK5+S,MAAO,CAAEmD,WAAY,OAAQ/2C,SAAC,oBAI9CqtM,GACGmlJ,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,UAAUtV,MAAO,CAAE8G,UAAW,WAE7CgrT,EACAJ,EAAc5sX,OAAS,GACnB4/W,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,EACIwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,gBAAelpD,UAC1BwyV,EAAAA,GAAAA,KAAA,MAAItpS,UAAU,cAAalpD,SAAEwlW,EAAQ1W,aAEzCwJ,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,OAAMlpD,SAAA,EACjBwyV,EAAAA,GAAAA,KAAA,KAAG5+S,MAAO,CAAEqnT,UAAW,QAAU/xS,UAAU,eAAclpD,SACpDwlW,EAAQxM,aAEZsM,EAAcrgX,KAAI,CAACgP,EAAM5X,KACtBi8W,EAAAA,GAAAA,MAACpwC,EAAAA,SAAc,CAAAloT,SAAA,EACXwyV,EAAAA,GAAAA,KAAA,MAAItpS,UAAU,oBAAmBlpD,SAAE/L,EAAK66V,WACxC0D,EAAAA,GAAAA,KAAA,KACI5+S,MAAO,CAAEqnT,UAAW,QACpB/xS,UAAU,eACVk/N,wBAAyB,CAAEmC,OAAQt2R,EAAKywW,cAL3BroX,YAYjCi8W,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,uBAAsBlpD,SAAA,EACjCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,IAAI5uR,UAAU,iCAAgClpD,UAClDwyV,EAAAA,GAAAA,KAACsH,GAAkB,CAAC5wS,UAAU,uBAElCovS,EAAAA,GAAAA,MAACvf,GAAG,CAAC7vR,UAAU,sBAAqBlpD,SAAA,EAChCwyV,EAAAA,GAAAA,KAAA,MAAItpS,UAAS,6BAA+BlpD,UACxCwyV,EAAAA,GAAAA,KAAA,QAAAxyV,SAAO,qDAEXwyV,EAAAA,GAAAA,KAAA,KAAGtpS,UAAS,8BAAgClpD,SACvC,6EAKjB,UAapB,CClGA,IAAI8lW,GAgCJ,SAAe1yV,EAAKjN,GAClB,GAAmB,kBAARiN,EACT,MAAM,IAAIiD,UAAU,iCAGtB,IAAI15B,EAAM,CAAC,EACPu8E,EAAM/yD,GAAW,CAAC,EAClB4/V,EAAM7sS,EAAIg/P,QAAUA,GAEpB77U,EAAQ,EACZ,KAAOA,EAAQ+2B,EAAI16B,QAAQ,CACzB,IAAIstX,EAAQ5yV,EAAIv2B,QAAQ,IAAKR,GAG7B,IAAe,IAAX2pX,EACF,MAGF,IAAIC,EAAS7yV,EAAIv2B,QAAQ,IAAKR,GAE9B,IAAgB,IAAZ4pX,EACFA,EAAS7yV,EAAI16B,YACR,GAAIutX,EAASD,EAAO,CAEzB3pX,EAAQ+2B,EAAIyiE,YAAY,IAAKmwR,EAAQ,GAAK,EAC1C,QACF,CAEA,IAAI1pX,EAAM82B,EAAIpxB,MAAM3F,EAAO2pX,GAAO9kX,OAGlC,QAAIpI,IAAc6D,EAAIL,GAAM,CAC1B,IAAI8E,EAAMgyB,EAAIpxB,MAAMgkX,EAAQ,EAAGC,GAAQ/kX,OAGb,KAAtBE,EAAI+zB,WAAW,KACjB/zB,EAAMA,EAAIY,MAAM,GAAI,IAGtBrF,EAAIL,GAAO4pX,GAAU9kX,EAAK2kX,EAC5B,CAEA1pX,EAAQ4pX,EAAS,CACnB,CAEA,OAAOtpX,CACT,EA7EIwpX,GA+FJ,SAAmBplX,EAAMK,EAAK+kB,GAC5B,IAAI+yD,EAAM/yD,GAAW,CAAC,EAClBigW,EAAMltS,EAAIu/M,QAAUA,GAExB,GAAmB,oBAAR2tF,EACT,MAAM,IAAI/vV,UAAU,4BAGtB,IAAKgwV,GAAmBltX,KAAK4H,GAC3B,MAAM,IAAIs1B,UAAU,4BAGtB,IAAIh+B,EAAQ+tX,EAAIhlX,GAEhB,GAAI/I,IAAUguX,GAAmBltX,KAAKd,GACpC,MAAM,IAAIg+B,UAAU,2BAGtB,IAAIjD,EAAMryB,EAAO,IAAM1I,EAEvB,GAAI,MAAQ6gF,EAAIotS,OAAQ,CACtB,IAAIA,EAASptS,EAAIotS,OAAS,EAE1B,GAAIvtX,MAAMutX,KAAY/kT,SAAS+kT,GAC7B,MAAM,IAAIjwV,UAAU,4BAGtBjD,GAAO,aAAe5Y,KAAKmsC,MAAM2/T,EACnC,CAEA,GAAIptS,EAAI+/M,OAAQ,CACd,IAAKotF,GAAmBltX,KAAK+/E,EAAI+/M,QAC/B,MAAM,IAAI5iQ,UAAU,4BAGtBjD,GAAO,YAAc8lD,EAAI+/M,MAC3B,CAEA,GAAI//M,EAAIpzD,KAAM,CACZ,IAAKugW,GAAmBltX,KAAK+/E,EAAIpzD,MAC/B,MAAM,IAAIuQ,UAAU,0BAGtBjD,GAAO,UAAY8lD,EAAIpzD,IACzB,CAEA,GAAIozD,EAAI8/M,QAAS,CACf,IAAIA,EAAU9/M,EAAI8/M,QAElB,IA+FJ,SAAiB53R,GACf,MAAgC,kBAAzBmlX,GAAWllX,KAAKD,IACrBA,aAAeyB,IACnB,CAlGS81R,CAAOK,IAAYjgS,MAAMigS,EAAQ5M,WACpC,MAAM,IAAI/1P,UAAU,6BAGtBjD,GAAO,aAAe4lQ,EAAQ+/C,aAChC,CAEI7/P,EAAIstS,WACNpzV,GAAO,cAGL8lD,EAAIggN,SACN9lQ,GAAO,YAGL8lD,EAAIutS,cACNrzV,GAAO,iBAGT,GAAI8lD,EAAI83N,SAAU,CAKhB,OAJuC,kBAAjB93N,EAAI83N,SACtB93N,EAAI83N,SAAS19Q,cACb4lD,EAAI83N,UAGN,IAAK,MACH59Q,GAAO,iBACP,MACF,IAAK,SACHA,GAAO,oBACP,MACF,IAAK,OACHA,GAAO,kBACP,MACF,QACE,MAAM,IAAIiD,UAAU,8BAE1B,CAEA,GAAI6iD,EAAIwtS,SAAU,CAIhB,OAHuC,kBAAjBxtS,EAAIwtS,SACtBxtS,EAAIwtS,SAASpzV,cAAgB4lD,EAAIwtS,UAGnC,KAAK,EACHtzV,GAAO,oBACP,MACF,IAAK,MACHA,GAAO,iBACP,MACF,IAAK,SACHA,GAAO,oBACP,MACF,IAAK,OACHA,GAAO,kBACP,MACF,QACE,MAAM,IAAIiD,UAAU,8BAE1B,CAEA,OAAOjD,CACT,EAvMImzV,GAAahsX,OAAOiB,UAAU5C,SAU9BytX,GAAqB,wCAsMzB,SAASnuC,GAAQ9kT,GACf,OAA6B,IAAtBA,EAAIv2B,QAAQ,KACfy8R,mBAAmBlmQ,GACnBA,CACN,CASA,SAASqlQ,GAAQr3R,GACf,OAAOsvR,mBAAmBtvR,EAC5B,CAsBA,SAAS8kX,GAAU9yV,EAAK8kT,GACtB,IACE,OAAOA,EAAO9kT,EAChB,CAAE,MAAOr5B,GACP,OAAOq5B,CACT,CACF,CAuBA,SAASuzV,GAAWtuX,GAAqB,IAAd8tB,EAAOvmB,UAAAlH,OAAA,QAAAI,IAAA8G,UAAA,GAAAA,UAAA,GAAG,CAAC,EAClC,MAAM41F,EAaV,SAA4Bn9F,GAExB,GAAIA,GAAsB,MAAbA,EAAM,IAA2B,MAAbA,EAAM,GACnC,OAAOA,EAAMq7B,OAAO,GAExB,OAAOr7B,CACX,CAnBuBuuX,CAAmBvuX,GACtC,IAAK8tB,EAAQ0gW,WACT,IACI,OAAO1rX,KAAKsE,MAAM+1F,EACtB,CACA,MAAOz7F,GACH,CAKR,OAAO1B,CACX,CASA,MAAMyuX,GACF9pX,WAAAA,CAAYkyR,GAAiC,IAAxB63F,EAAiBnnX,UAAAlH,OAAA,QAAAI,IAAA8G,UAAA,GAAAA,UAAA,GAAG,CAAC,EACtCtE,KAAK0rX,gBAAkB,GACvB1rX,KAAK2rX,qBAAsB,EAC3B3rX,KAAK6mG,OAAS,KACV,IAAK7mG,KAAK2rX,oBACN,OAEJ,MAAMC,EAAkB5rX,KAAK4zR,QAC7B5zR,KAAK4zR,QAAU42F,GAAQ7gW,SAASk0Q,QAChC79R,KAAK6rX,cAAcD,EAAgB,EAEvC,MAAME,EAAiC,qBAAbniW,SAA2B,GAAKA,SAASk0Q,OACnE79R,KAAK4zR,QA9Cb,SAAsBA,GAClB,MAAuB,kBAAZA,EACA42F,GAAQ52F,GAES,kBAAZA,GAAoC,OAAZA,EAC7BA,EAGA,CAAC,CAEhB,CAoCuBm4F,CAAan4F,GAAWk4F,GACvC9rX,KAAKyrX,kBAAoBA,EACzBzrX,KAAK2rX,oBA1Db,WACI,MAAMK,EAAiC,qBAAXz5I,YACtB/0O,EACA+0O,OAAO05I,yBACb,MAA4B,mBAAjBD,EACAA,EAGgB,kBAAbriW,UAAoD,kBAApBA,SAASk0Q,MAC3D,CAiDmCquF,EAC/B,CACAC,WAAAA,CAAYnjX,GACR,IAAK,IAAI3I,EAAI,EAAGA,EAAIL,KAAK0rX,gBAAgBtuX,SAAUiD,EAC/CL,KAAK0rX,gBAAgBrrX,GAAG2I,EAEhC,CACA6iX,aAAAA,CAAcD,GACI,IAAIhtX,IAAIK,OAAOmB,KAAKwrX,GAAiB5gX,OAAO/L,OAAOmB,KAAKJ,KAAK4zR,WACrE70R,SAAS0G,IACPmmX,EAAgBnmX,KAAUzF,KAAK4zR,QAAQnuR,IACvCzF,KAAKmsX,YAAY,CACb1mX,OACA1I,MAAOsuX,GAAWrrX,KAAK4zR,QAAQnuR,KAEvC,GAER,CACA2mX,aAAAA,GACIpsX,KAAKqsX,gBAAkBnkX,YAAYlI,KAAK6mG,OAAQ,IACpD,CACAylR,YAAAA,GACQtsX,KAAKqsX,iBACLpkX,cAAcjI,KAAKqsX,gBAE3B,CACA5nX,GAAAA,CAAIgB,GAAoB,IAAdolB,EAAOvmB,UAAAlH,OAAA,QAAAI,IAAA8G,UAAA,GAAAA,UAAA,GAAG,CAAC,EAIjB,OAHKumB,EAAQ0hW,aACTvsX,KAAK6mG,SAEFwkR,GAAWrrX,KAAK4zR,QAAQnuR,GAAOolB,EAC1C,CACA+1V,MAAAA,GAAqB,IAAd/1V,EAAOvmB,UAAAlH,OAAA,QAAAI,IAAA8G,UAAA,GAAAA,UAAA,GAAG,CAAC,EACTumB,EAAQ0hW,aACTvsX,KAAK6mG,SAET,MAAMrhF,EAAS,CAAC,EAChB,IAAK,IAAI/f,KAAQzF,KAAK4zR,QAClBpuQ,EAAO/f,GAAQ4lX,GAAWrrX,KAAK4zR,QAAQnuR,GAAOolB,GAElD,OAAOrF,CACX,CACA1gB,GAAAA,CAAIW,EAAM1I,EAAO8tB,GAETA,EADAA,EACU5rB,OAAO0wB,OAAO1wB,OAAO0wB,OAAO,CAAC,EAAG3vB,KAAKyrX,mBAAoB5gW,GAGzD7qB,KAAKyrX,kBAEnB,MAAM/8G,EAA+B,kBAAV3xQ,EAAqBA,EAAQ8C,KAAKC,UAAU/C,GACvEiD,KAAK4zR,QAAU30R,OAAO0wB,OAAO1wB,OAAO0wB,OAAO,CAAC,EAAG3vB,KAAK4zR,SAAU,CAAE,CAACnuR,GAAOipQ,IACpE1uQ,KAAK2rX,sBACLhiW,SAASk0Q,OAASgtF,GAAYplX,EAAMipQ,EAAa7jP,IAErD7qB,KAAKmsX,YAAY,CAAE1mX,OAAM1I,QAAO8tB,WACpC,CACA2sD,MAAAA,CAAO/xE,EAAMolB,GACT,MAAM2hW,EAAgB3hW,EAAU5rB,OAAO0wB,OAAO1wB,OAAO0wB,OAAO1wB,OAAO0wB,OAAO,CAAC,EAAG3vB,KAAKyrX,mBAAoB5gW,GAAU,CAAE6yQ,QAAS,IAAIn2R,KAAK,KAAM,EAAG,EAAG,EAAG,EAAG,GAAIyjX,OAAQ,IACnKhrX,KAAK4zR,QAAU30R,OAAO0wB,OAAO,CAAC,EAAG3vB,KAAK4zR,gBAC/B5zR,KAAK4zR,QAAQnuR,GAChBzF,KAAK2rX,sBACLhiW,SAASk0Q,OAASgtF,GAAYplX,EAAM,GAAI+mX,IAE5CxsX,KAAKmsX,YAAY,CAAE1mX,OAAM1I,WAAOS,EAAWqtB,WAC/C,CACAG,iBAAAA,CAAkBpqB,GACdZ,KAAK0rX,gBAAgB1sX,KAAK4B,GACtBZ,KAAK2rX,qBAAuD,IAAhC3rX,KAAK0rX,gBAAgBtuX,SAC3B,kBAAXmJ,QAAuB,gBAAiBA,OAC/CA,OAAOkmX,YAAY57W,iBAAiB,SAAU7Q,KAAK6mG,QAGnD7mG,KAAKosX,gBAGjB,CACAM,oBAAAA,CAAqB9rX,GACjB,MAAMypE,EAAMrqE,KAAK0rX,gBAAgBnqX,QAAQX,GACrCypE,GAAO,GACPrqE,KAAK0rX,gBAAgBrpW,OAAOgoD,EAAK,GAEjCrqE,KAAK2rX,qBAAuD,IAAhC3rX,KAAK0rX,gBAAgBtuX,SAC3B,kBAAXmJ,QAAuB,gBAAiBA,OAC/CA,OAAOkmX,YAAYz7W,oBAAoB,SAAUhR,KAAK6mG,QAGtD7mG,KAAKssX,eAGjB,EChaG,MAAMK,IAAgBzuG,EAAAA,EAAAA,iBAEhB0uG,GAAiB9pD,IAAmB,IAAlB,SAAEp+S,GAAUo+S,EACvC,IAAIlvC,EAAU,IAAI43F,GAClB,MAAMqB,EAAWj5F,EAAQnvR,IAAI,oBACtBqoX,EAAiBC,IAAsBvuG,EAAAA,EAAAA,UAASquG,GAYjDvrC,EAAe,CACjBwrC,kBACAE,cAZkBA,KAClBD,GAAmB,GACnBn5F,EAAQ9uR,IAAI,kBAAmB,SAAS,EAWxCmoX,cARkBA,KAClBF,GAAmB,GACnBn5F,EAAQ9uR,IAAI,kBAAmB,UAAU,GAS7C,OACIoyW,EAAAA,GAAAA,KAACyV,GAAcxiG,SAAQ,CAACptR,MAAOukV,EAAa58T,SACvCA,GACoB,ECGjC,GA5BqBwoW,KACjB,MAAM,gBAAEJ,EAAe,cAAEE,EAAa,cAAEC,IAAkB1uG,EAAAA,EAAAA,YAAWouG,IAErE,YAAwBnvX,IAApBsvX,EACO,MAIP5V,EAAAA,GAAAA,KAAAC,GAAAA,SAAA,CAAAzyV,UACIwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,gBAAelpD,UAC1BwyV,EAAAA,GAAAA,KAACra,GAAG,CAAAn4U,UACAs4V,EAAAA,GAAAA,MAACvf,GAAG,CAACjB,GAAG,KAAI93U,SAAA,CAAC,2KAC8JwyV,EAAAA,GAAAA,KAAA,KAAG54E,KAAK,gCAAgCv8R,OAAO,SAASy7W,IAAI,aAAY94V,SAAC,kBAAiB,sBAEjQwyV,EAAAA,GAAAA,KAAA,QAAM5+S,MAAO,CAAEsnT,eAAgB,YAAanhI,OAAQ,WAAa20E,QAAS45D,EAActoW,SAAC,WAElF,oBAEPwyV,EAAAA,GAAAA,KAAA,QAAM5+S,MAAO,CAAEsnT,eAAgB,YAAanhI,OAAQ,WAAa20E,QAAS65D,EAAcvoW,SAAC,oBAMtG,ECSX,GAhCqByoW,KAEjB,MAAMzP,GACFxG,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,yBAAwBlpD,SAAC,uBAK7C,OACIs4V,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,GAAElpD,SAAA,EACbwyV,EAAAA,GAAAA,KAAC6G,GAAW,CAACN,SAAUO,GAAOxK,QAAS,qBAAsBkK,WAAYA,EAAYC,UAAU,EAAO3U,QAAS,sBAE/GgU,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,4BAA2BlpD,SAAA,EACtCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,IAAI5uR,UAAU,iCAAgClpD,UAClDwyV,EAAAA,GAAAA,KAACkH,GAAK,CAACxwS,UAAU,uBAErBovS,EAAAA,GAAAA,MAACvf,GAAG,CAAC7vR,UAAU,sBAAqBlpD,SAAA,EAChCwyV,EAAAA,GAAAA,KAAA,MAAItpS,UAAS,6BAA+BlpD,UACxCwyV,EAAAA,GAAAA,KAAA,QAAAxyV,SAAM,qBAEVs4V,EAAAA,GAAAA,MAAA,KAAGpvS,UAAS,8BAAgClpD,SAAA,CAAC,mDAEzCwyV,EAAAA,GAAAA,KAAA,SAAM,yEAMf,iBCvBR,MAAMkW,GAAa,CACtBp4F,KAAM,CACFmtC,SAAU75S,uCACV+kW,UAAW,yEACXC,YAAahlW,IACbilW,2BAA2B,EAC3BC,sBAAuBllW,KAG3Bw+S,MAAO,CACH2mD,cAAe,iBACfC,wBAAwB,GAE5BC,OAAQ,CACJ5wC,cAAe,CACXK,eAAgBA,CAACj2T,EAAOs7C,EAAS+6Q,KAC7B,IAAIA,EAGJ,OAAQr2T,GACJ,QAEI,OACJ,KAAKi0T,GAASnxU,MAEV,YADApG,QAAQ0H,MAAMk3D,GAElB,KAAK24Q,GAAS8B,KAEV,OACJ,KAAK9B,GAASwC,QAEV,YADA/5U,QAAQgiI,MAAMpjE,GAElB,KAAK24Q,GAASuC,QAEV,YADA95U,QAAQC,KAAK2+D,GAErB,KAOHmrT,GAAe,CACxB1yC,OAAQ,CAAC,0DAGA2yC,GAAoB,CAC7B3yC,OAAQ,CAAC,cAGA4yC,GACW,uDCtDZC,iBCAZ,cAcA,OAPWC,EAAAA,aAAP,SAAoBC,GAEhB,IADA,IAAI/kU,EAAc+kU,EAAI3wX,SAAS,IACxB4rD,EAAI9rD,OAAS,GAChB8rD,EAAM,IAAMA,EAEhB,OAAOA,GAEf,mBCTI,WAAYglU,GACRluX,KAAKkuX,UAAYA,EAgFzB,OAvDIC,EAAAA,UAAAA,aAAA,WACI,IACI,IAAM5xF,EAAqB,IAAItmB,WAAW,IAW1C,OAVAj2Q,KAAKkuX,UAAUE,gBAAgB7xF,GAG/BA,EAAO,IAAM,GACbA,EAAO,IAAM,GAGbA,EAAO,IAAM,IACbA,EAAO,IAAM,IAENyxF,GAAUK,aAAa9xF,EAAO,IAAMyxF,GAAUK,aAAa9xF,EAAO,IACnEyxF,GAAUK,aAAa9xF,EAAO,IAAMyxF,GAAUK,aAAa9xF,EAAO,IAClE,IAAMyxF,GAAUK,aAAa9xF,EAAO,IAAMyxF,GAAUK,aAAa9xF,EAAO,IACxE,IAAMyxF,GAAUK,aAAa9xF,EAAO,IAAMyxF,GAAUK,aAAa9xF,EAAO,IACxE,IAAMyxF,GAAUK,aAAa9xF,EAAO,IAAMyxF,GAAUK,aAAa9xF,EAAO,IACxE,IAAMyxF,GAAUK,aAAa9xF,EAAO,KAAOyxF,GAAUK,aAAa9xF,EAAO,KACzEyxF,GAAUK,aAAa9xF,EAAO,KAAOyxF,GAAUK,aAAa9xF,EAAO,KACnEyxF,GAAUK,aAAa9xF,EAAO,KAAOyxF,GAAUK,aAAa9xF,EAAO,KAE7E,MAAO1G,GAKH,IAJA,IAAMy4F,EAAqB,uCACrBplU,EAAc,mBAChBl6C,EAAY,EACZu/W,EAAuB,GAClBluX,EAAY,EAAGA,EAAI,GAAIA,IACN,MAAlBiuX,EAAWjuX,IAAgC,MAAlBiuX,EAAWjuX,KAEpC2O,EAAoB,GAAhBkQ,KAAKs4G,SAAgB,GAEP,MAAlB82P,EAAWjuX,GACXkuX,GAAgBrlU,EAAIl6C,GACK,MAAlBs/W,EAAWjuX,IAElB2O,GAAK,EAELu/W,GAAgBrlU,EADhBl6C,GAAK,IAGLu/W,GAAgBD,EAAWjuX,GAGnC,OAAOkuX,IAQRJ,EAAAA,OAAP,SAAcK,GAEV,MADkB,6EACD3wX,KAAK2wX,IAE9B,mBCrFA,cAoGA,OA9FWC,EAAAA,gBAAP,SAAwBC,GAKpB,IAJA,IAAIC,EACAC,EAAU,EACRC,EAAUH,EAAQtxX,OAEf0xX,EAAU,EAAGA,EAAUD,EAASC,IAErCF,IADAD,EAAOD,EAAQ70V,WAAWi1V,IACR,IAAO,EAAIH,EAAO,KAAQ,EAAIA,EAAO,MAAU,EAAIA,EAAO,QAAW,EAAIA,EAAO,SAAY,EAAI,EAOtH,IAJA,IAAMI,EAAS,IAAI94G,WAAW24G,GAIrBI,EAAO,EAAGC,EAAU,EAAGD,EAAOJ,EAASK,KAC5CN,EAAOD,EAAQ70V,WAAWo1V,IACf,IAEPF,EAAOC,KAAUL,EACVA,EAAO,MAEdI,EAAOC,KAAU,KAAOL,IAAS,GACjCI,EAAOC,KAAU,KAAc,GAAPL,IACjBA,EAAO,OAEdI,EAAOC,KAAU,KAAOL,IAAS,IACjCI,EAAOC,KAAU,KAAOL,IAAS,EAAI,IACrCI,EAAOC,KAAU,KAAc,GAAPL,IACjBA,EAAO,SAEdI,EAAOC,KAAU,KAAOL,IAAS,IACjCI,EAAOC,KAAU,KAAOL,IAAS,GAAK,IACtCI,EAAOC,KAAU,KAAOL,IAAS,EAAI,IACrCI,EAAOC,KAAU,KAAc,GAAPL,IACjBA,EAAO,UAEdI,EAAOC,KAAU,KAAOL,IAAS,IACjCI,EAAOC,KAAU,KAAOL,IAAS,GAAK,IACtCI,EAAOC,KAAU,KAAOL,IAAS,GAAK,IACtCI,EAAOC,KAAU,KAAOL,IAAS,EAAI,IACrCI,EAAOC,KAAU,KAAc,GAAPL,KAGxBI,EAAOC,KAAU,KAAOL,IAAS,IACjCI,EAAOC,KAAU,KAAOL,IAAS,GAAK,IACtCI,EAAOC,KAAU,KAAOL,IAAS,GAAK,IACtCI,EAAOC,KAAU,KAAOL,IAAS,GAAK,IACtCI,EAAOC,KAAU,KAAOL,IAAS,EAAI,IACrCI,EAAOC,KAAU,KAAc,GAAPL,IAIhC,OAAOI,GAOJN,EAAAA,oBAAP,SAA2BS,GAGvB,IAFA,IAAMhsX,EAAO,IAAIs8R,YAAY0vF,EAAW9xX,QAClC+xX,EAAW,IAAIl5G,WAAW/yQ,GACvB7C,EAAY,EAAGA,EAAI6uX,EAAW9xX,OAAQiD,IAC3C8uX,EAAS9uX,GAAK6uX,EAAWr1V,WAAWx5B,GAExC,OAAO6C,GAOJurX,EAAAA,gBAAP,SAAwBM,GAEpB,IADA,IAAIK,EAAQ,GACHC,OAAK,EAAEC,EAAOP,EAAO3xX,OAAQ4xX,EAAO,EAAGA,EAAOM,EAAMN,IACzDK,EAAQN,EAAOC,GACfI,GAASr2V,OAAOC,aACZq2V,EAAQ,KAAOA,EAAQ,KAAOL,EAAO,EAAIM,EAErB,YAAfD,EAAQ,MAAqBN,IAASC,GAAQ,KAAO,KAAOD,IAASC,GAAQ,KAAO,KAAOD,IAASC,GAAQ,KAAO,KAAOD,IAASC,GAAQ,KAAO,GAAKD,IAASC,GAAQ,IACvKK,EAAQ,KAAOA,EAAQ,KAAOL,EAAO,EAAIM,GACtCD,EAAQ,KAAO,KAAON,IAASC,GAAQ,KAAO,KAAOD,IAASC,GAAQ,KAAO,KAAOD,IAASC,GAAQ,KAAO,GAAKD,IAASC,GAAQ,IACjIK,EAAQ,KAAOA,EAAQ,KAAOL,EAAO,EAAIM,GACtCD,EAAQ,KAAO,KAAON,IAASC,GAAQ,KAAO,KAAOD,IAASC,GAAQ,KAAO,GAAKD,IAASC,GAAQ,IAClGK,EAAQ,KAAOA,EAAQ,KAAOL,EAAO,EAAIM,GACtCD,EAAQ,KAAO,KAAON,IAASC,GAAQ,KAAO,GAAKD,IAASC,GAAQ,IACnEK,EAAQ,KAAOA,EAAQ,KAAOL,EAAO,EAAIM,GACtCD,EAAQ,KAAO,GAAKN,IAASC,GAAQ,IAEtCK,GAG5B,OAAOD,GAEf,mBClGA,cAgFA,OA1EIG,EAAAA,UAAAA,UAAA,SAAUjmU,GACN,OAAO8rO,mBAAmBp1R,KAAKm9R,OAAO7zO,GACjC/gD,QAAQ,KAAM,IACdA,QAAQ,MAAO,KACfA,QAAQ,MAAO,OAOxBgnX,EAAAA,UAAAA,aAAA,SAAaC,GACT,OAAOxvX,KAAKyvX,aAAaD,GACpBjnX,QAAQ,KAAM,IACdA,QAAQ,MAAO,KACfA,QAAQ,MAAO,MAOxBgnX,EAAAA,UAAAA,OAAA,SAAOjmU,GACH,IAAMomU,EAAejB,GAAmBkB,gBAAgBrmU,GACxD,OAAOtpD,KAAKyvX,aAAaC,IAOrBH,EAAAA,UAAAA,aAAR,SAAqBR,GAIjB,IAHA,IAAMa,GAAS,EAAKb,EAAO3xX,OAAS,GAAM,EACtCyyX,EAAU,GAELC,OAAK,EAAER,EAAOP,EAAO3xX,OAAQ2yX,EAAU,EAAGf,EAAO,EAAGA,EAAOM,EAAMN,IACtEc,EAAQd,EAAO,EAKfe,GAAWhB,EAAOC,KAAU,KAAOc,EAAQ,IAC7B,IAAVA,GAAef,EAAO3xX,OAAS4xX,IAAS,IACxCa,GAAW92V,OAAOC,aACdh5B,KAAKgwX,WAAWD,IAAY,GAAK,IACjC/vX,KAAKgwX,WAAWD,IAAY,GAAK,IACjC/vX,KAAKgwX,WAAWD,IAAY,EAAI,IAChC/vX,KAAKgwX,WAAqB,GAAVD,IAEpBA,EAAU,GAIlB,OAAkB,IAAVH,EAAcC,EAAUA,EAAQxjX,UAAU,EAAGwjX,EAAQzyX,OAASwyX,IAAoB,IAAVA,EAAc,IAAM,OAOhGL,EAAAA,UAAAA,WAAR,SAAoBU,GAChB,OAAOA,EAAS,GACZA,EAAS,GACPA,EAAS,GACPA,EAAS,GACPA,EAAS,GACPA,EAAS,EACI,KAAXA,EACE,GACa,KAAXA,EACE,GAEA,IAE5B,mBChFA,cAoEA,OA9DIC,EAAAA,UAAAA,OAAA,SAAO5mU,GACH,IAAI6mU,EAAgB7mU,EAAM/gD,QAAQ,KAAM,KAAKA,QAAQ,KAAM,KAC3D,OAAQ4nX,EAAc/yX,OAAS,GAC3B,KAAK,EACD,MACJ,KAAK,EACD+yX,GAAiB,KACjB,MACJ,KAAK,EACDA,GAAiB,IACjB,MACJ,QACI,MAAM,IAAIlmX,MAAM,yBAGxB,IAAMylX,EAAe1vX,KAAKowX,eAAeD,GACzC,OAAO1B,GAAmB4B,gBAAgBX,IAQtCQ,EAAAA,UAAAA,eAAR,SAAuBI,EAAsBC,GAMzC,IALA,IAAMV,EAAUS,EAAa/nX,QAAQ,oBAAqB,IACpDioX,EAASX,EAAQzyX,OACjBqzX,EAAUF,EAAarxW,KAAKm9C,MAAe,EAATm0T,EAAa,IAAM,GAAKD,GAAcA,EAAsB,EAATC,EAAa,IAAM,EACxGzB,EAAS,IAAI94G,WAAWw6G,GAErBX,OAAK,EAAEY,OAAK,EAAEX,EAAU,EAAGY,EAAU,EAAGC,EAAS,EAAGA,EAASJ,EAAQI,IAG1E,GAFAF,EAAiB,EAATE,EACRb,GAAW/vX,KAAK6wX,WAAWhB,EAAQh2V,WAAW+2V,KAAY,GAAK,EAAIF,EACrD,IAAVA,GAAeF,EAASI,IAAW,EAAG,CACtC,IAAKd,EAAQ,EAAGA,EAAQ,GAAKa,EAAUF,EAASX,IAASa,IACrD5B,EAAO4B,GAAWZ,KAAa,KAAOD,EAAQ,IAAM,IAExDC,EAAU,EAIlB,OAAOhB,GAOHmB,EAAAA,UAAAA,WAAR,SAAmBY,GACf,OAAOA,EAAU,IAAMA,EAAU,GAC7BA,EAAU,GACRA,EAAU,IAAMA,EAAU,IACxBA,EAAU,GACRA,EAAU,IAAMA,EAAU,GACxBA,EAAU,EACI,KAAZA,EACE,GACc,KAAZA,EACE,GAEA,GAE5B,KCrEaC,GACS,CACdjjN,KAAM,mBACNj/J,KAAM,gEAHDkiX,GAKW,CAChBjjN,KAAM,qBACNj/J,KAAM,mDAPDkiX,GASsB,CAC3BjjN,KAAM,8BACNj/J,KAAM,mEAXDkiX,GAac,CACnBjjN,KAAM,qBACNj/J,KAAM,oEAfDkiX,GAiBO,CACZjjN,KAAM,mBACNj/J,KAAM,qHAnBDkiX,GAqBqB,CAC1BjjN,KAAM,mBACNj/J,KAAM,qFAvBDkiX,GAyB+B,CACpCjjN,KAAM,yCACNj/J,KAAM,yGA3BDkiX,GA6BgB,CACrBjjN,KAAM,wBACNj/J,KAAM,+EA/BDkiX,GAiC0B,CAC/BjjN,KAAM,kCACNj/J,KAAM,2EAnCDkiX,GAqCc,CACnBjjN,KAAM,0BACNj/J,KAAM,kLAvCDkiX,GAyCS,CACdjjN,KAAM,qBACNj/J,KAAM,4GA3CDkiX,GA6CS,CACdjjN,KAAM,qBACNj/J,KAAM,yDA/CDkiX,GAiDW,CAChBjjN,KAAM,iBACNj/J,KAAM,4BAnDDkiX,GAqDiB,CACtBjjN,KAAM,yBACNj/J,KAAM,mGAvDDkiX,GAyDkB,CACvBjjN,KAAM,yBACNj/J,KAAM,oGA3DDkiX,GA6Dc,CACnBjjN,KAAM,qBACNj/J,KAAM,oKA/DDkiX,GAiE8B,CACnCjjN,KAAM,sBACNj/J,KAAM,uIAnEDkiX,GAqEuB,CAC5BjjN,KAAM,sBACNj/J,KAAM,uFAvEDkiX,GAyEqB,CAC1BjjN,KAAM,4BACNj/J,KAAM,sDA3EDkiX,GA6EqB,CAC1BjjN,KAAM,4BACNj/J,KAAM,mFA/EDkiX,GAiFO,CACZjjN,KAAM,mBACNj/J,KAAM,2JAnFDkiX,GAqFe,CACpBjjN,KAAM,4BACNj/J,KAAM,kGAvFDkiX,GAyFiB,CACtBjjN,KAAM,+BACNj/J,KAAM,oCA3FDkiX,GA6F4B,CACjCjjN,KAAM,4CACNj/J,KAAM,iDA/FDkiX,GAiGe,CACpBjjN,KAAM,4BACNj/J,KAAM,8BAnGDkiX,GAqGU,CACfjjN,KAAM,6BACNj/J,KAAM,kGAvGDkiX,GAyGS,CACdjjN,KAAM,qBACNj/J,KAAM,sBA3GDkiX,GA6GgB,CACrBjjN,KAAM,0BACNj/J,KAAM,2EA/GDkiX,GAiHQ,CACbjjN,KAAM,oBACNj/J,KAAM,yBAnHDkiX,GAqHc,CACnBjjN,KAAM,0BACNj/J,KAAM,4DAvHDkiX,GAyHU,CACfjjN,KAAM,sBACNj/J,KAAM,6IA3HDkiX,GA6HS,CACdjjN,KAAM,qBACNj/J,KAAM,mFA/HDkiX,GAiIqB,CAC1BjjN,KAAM,2BACNj/J,KAAM,0DAnIDkiX,GAqIe,CACpBjjN,KAAM,uBACNj/J,KAAM,iCAvIDkiX,GAyIoB,CACzBjjN,KAAM,uBACNj/J,KAAM,8DA3IDkiX,GA6IS,CACdjjN,KAAM,qBACNj/J,KAAM,gGA/IDkiX,GAiJY,CACjBjjN,KAAM,uBACNj/J,KAAM,gNASV,WAAY0pU,EAAmBC,GAA/B,MACI/rT,EAAAA,KAAAA,KAAM8rT,EAAWC,IAAa,YAE9Bv5U,OAAOitB,eAAe7hB,EAAM2mX,EAAiB9wX,WAC7CmK,EAAK5E,KAAO,qBA4RpB,OAlSsCumB,EAAAA,EAAAA,GAa3BglW,EAAAA,4BAAP,SAAmCp1C,GAC/B,OAAO,IAAIo1C,EAAiBD,GAAyCjjN,KAC9DijN,GAAyCliX,KAAI,WAAW+sU,IAO5Do1C,EAAAA,8BAAP,SAAqCp1C,GACjC,OAAO,IAAIo1C,EAAiBD,GAA2CjjN,KAChEijN,GAA2CliX,KAAI,WAAW+sU,IAO9Do1C,EAAAA,oCAAP,SAA2C/+F,GACvC,OAAO,IAAI++F,EAAiBD,GAAsDjjN,KAC3EijN,GAAsDliX,KAAI,kBAAkBojR,IAMhF++F,EAAAA,8BAAP,WACI,OAAO,IAAIA,EAAiBD,GAA8CjjN,KAAMijN,GAA8CliX,OAO3HmiX,EAAAA,qBAAP,SAA4BC,GACxB,OAAO,IAAID,EAAiBD,GAAuCjjN,KAASijN,GAAuCliX,KAAI,eAAeoiX,IAMnID,EAAAA,mCAAP,WACI,OAAO,IAAIA,EAAiBD,GAAqDjjN,KAAMijN,GAAqDliX,OAMzImiX,EAAAA,6CAAP,WACI,OAAO,IAAIA,EAAiBD,GAA+DjjN,KAAMijN,GAA+DliX,OAM7JmiX,EAAAA,8BAAP,WACI,OAAO,IAAIA,EAAiBD,GAAgDjjN,KAAMijN,GAAgDliX,OAM/HmiX,EAAAA,wCAAP,WACI,OAAO,IAAIA,EAAiBD,GAA0DjjN,KAAMijN,GAA0DliX,OAMnJmiX,EAAAA,iCAAP,WACI,OAAO,IAAIA,EAAiBD,GAA8CjjN,KAAMijN,GAA8CliX,OAO3HmiX,EAAAA,uBAAP,SAA8Bp1C,GAC1B,IAAIpD,EAAeu4C,GAAyCliX,KAE5D,OADA2pU,EAAgB7/S,GAAYiV,QAAQguS,GAAuDpD,EAAvCA,EAAY,aAAaoD,EACtE,IAAIo1C,EAAiBD,GAAyCjjN,KAAM0qK,IAOxEw4C,EAAAA,8BAAP,WACI,OAAO,IAAIA,EAAiBD,GAAyCjjN,KAAMijN,GAAyCliX,OAMjHmiX,EAAAA,yBAAP,WACI,OAAO,IAAIA,EAAiBD,GAA2CjjN,KACnEijN,GAA2CliX,OAM5CmiX,EAAAA,+BAAP,WACI,OAAO,IAAIA,EAAiBD,GAAiDjjN,KACzEijN,GAAiDliX,OAMlDmiX,EAAAA,gCAAP,WACI,OAAO,IAAIA,EAAiBD,GAAkDjjN,KAC1EijN,GAAkDliX,OAOnDmiX,EAAAA,4BAAP,SAAmCE,GAC/B,OAAO,IAAIF,EAAiBD,GAA8CjjN,KACnEijN,GAA8CliX,KAAI,kCAAkCqiX,IAMxFF,EAAAA,qCAAP,WACI,OAAO,IAAIA,EAAiBD,GAA8DjjN,KACtFijN,GAA8DliX,OAO/DmiX,EAAAA,qCAAP,WACI,OAAO,IAAIA,EAAiBD,GAAuDjjN,KAC/EijN,GAAuDliX,OAMxDmiX,EAAAA,mCAAP,WACI,OAAO,IAAIA,EAAiBD,GAAqDjjN,KAAMijN,GAAqDliX,OAMzImiX,EAAAA,mCAAP,WACI,OAAO,IAAIA,EAAiBD,GAAqDjjN,KAAMijN,GAAqDliX,OAMzImiX,EAAAA,qBAAP,WACI,OAAO,IAAIA,EAAiBD,GAAuCjjN,KAAMijN,GAAuCliX,OAM7GmiX,EAAAA,6BAAP,SAAoCG,GAChC,OAAO,IAAIH,EAAiBD,GAA+CjjN,KAASijN,GAA+CliX,KAAI,iBAAiBsiX,IAMrJH,EAAAA,0CAAP,WACI,OAAO,IAAIA,EAAiBD,GAA4DjjN,KACpFijN,GAA4DliX,OAM7DmiX,EAAAA,+BAAP,WACI,OAAO,IAAIA,EAAiBD,GAAiDjjN,KACzEijN,GAAiDliX,OAMlDmiX,EAAAA,6BAAP,WACI,OAAO,IAAIA,EAAiBD,GAA0CjjN,KAClEijN,GAA0CliX,OAM3CmiX,EAAAA,6BAAP,WACI,OAAO,IAAIA,EAAiBD,GAA+CjjN,KACvEijN,GAA+CliX,OAMhDmiX,EAAAA,4BAAP,WACI,OAAO,IAAIA,EAAiBD,GAAyCjjN,KAAM,GAAGijN,GAAyCliX,OAMpHmiX,EAAAA,iCAAP,WACI,OAAO,IAAIA,EAAiBD,GAAgDjjN,KAAMijN,GAAgDliX,OAM/HmiX,EAAAA,2BAAP,WACI,OAAO,IAAIA,EAAiBD,GAAwCjjN,KAAMijN,GAAwCliX,OAM/GmiX,EAAAA,iCAAP,WACI,OAAO,IAAIA,EAAiBD,GAA8CjjN,KAAMijN,GAA8CliX,OAM3HmiX,EAAAA,6BAAP,SAAoCI,EAAmBv1C,GACnD,OAAO,IAAIm1C,EAAiBD,GAA0CjjN,KAASijN,GAA0CliX,KAAI,4BAA4BuiX,EAAS,0BAA0Bv1C,EAASv4U,MAAM,KAAK,KAM7M0tX,EAAAA,4BAAP,SAAmCI,EAAmBv1C,GAClD,OAAO,IAAIm1C,EAAiBD,GAAyCjjN,KAASijN,GAAyCliX,KAAI,4BAA4BuiX,EAAS,0BAA0Bv1C,EAASv4U,MAAM,KAAK,KAM3M0tX,EAAAA,wCAAP,SAA+Cn1C,GAC3C,OAAO,IAAIm1C,EAAiBD,GAAqDjjN,KAASijN,GAAqDliX,KAAI,0BAA0BgtU,EAASv4U,MAAM,KAAK,KAM9L0tX,EAAAA,6BAAP,SAAoCK,GAChC,OAAO,IAAIL,EAAiBD,GAA+CjjN,KAASijN,GAA+CliX,KAAI,MAAMwiX,IAM1IL,EAAAA,uCAAP,SAA8CM,GAC1C,OAAO,IAAIN,EAAiBD,GAAoDjjN,KAASijN,GAAoDliX,KAAI,gCAAgCyiX,IAM9KN,EAAAA,4BAAP,WACI,OAAO,IAAIA,EAAiBD,GAAyCjjN,KAAMijN,GAAyCliX,OAMjHmiX,EAAAA,+BAAP,WACI,OAAO,IAAIA,EAAiBD,GAA4CjjN,KAAMijN,GAA4CliX,OAElI,GAlSsC8pU,kBC/IlC,WAAYu1C,GACRluX,KAAKuxX,aAAe,IAAIhC,GACxBvvX,KAAKkuX,UAAYA,EA8CzB,OAxCUsD,EAAAA,UAAAA,cAAN,6GAE0B,OADhBC,EAAezxX,KAAK0xX,uBACJ,GAAM1xX,KAAK2xX,kCAAkCF,WACnE,OADMG,EAAgB7kW,EAAAA,OACf,CAAP,EAAO,CACH8kW,SAAUJ,EACVK,UAAWF,YAQXJ,EAAAA,UAAAA,qBAAR,WACI,IAEI,IAAMj1F,EAAqB,IAAItmB,WAlCZ,IAsCnB,OAHAj2Q,KAAKkuX,UAAUE,gBAAgB7xF,GAEKv8R,KAAKuxX,aAAaQ,aAAax1F,GAErE,MAAO99R,GACL,MAAMuyX,GAAiBgB,4BAA4BvzX,KAQ7C+yX,EAAAA,UAAAA,kCAAd,SAAgDS,qGAGT,gCAAMjyX,KAAKkuX,UAAUgE,aAAaD,WAEjE,OAFME,EAAyBplW,EAAAA,OAExB,CAAP,EAAO/sB,KAAKuxX,aAAaQ,aAAa,IAAI97G,WAAWk8G,YAErD,iBAAMnB,GAAiBgB,4BAA4BrvV,4BAG/D,KCtDMyvV,GAAgB,UAIhBC,GAA8B,IAAIp8G,WAAW,CAAC,EAAM,EAAM,kBAW5D,WAAYhtQ,GAGR,GAFAjJ,KAAKiJ,OAASA,GAERjJ,KAAKsyX,eACP,MAAMtB,GAAiBuB,8BAA8B,oDAGzDvyX,KAAKwyX,wBAA0B,CAC3B/sX,KAzBiB,oBA0BjBg5R,KAAM2zF,GACNK,cAvBW,KAwBXC,eAAgBL,IAwN5B,OAhNUM,EAAAA,UAAAA,aAAN,SAAmBzD,4EAGf,OAFMhsX,EAAOurX,GAAmBkB,gBAAgBT,GAEzC,CAAP,EAAOlvX,KAAK4yX,cAAgB5yX,KAAK6yX,kBAAkBT,GAAelvX,GAAQlD,KAAK8yX,sBAAsBV,GAAelvX,WAOxHyvX,EAAAA,UAAAA,gBAAA,SAAgBI,GACZ,IAAM7E,EAAY3nX,OAAiB,UAAKA,OAAOysX,OAC/C,IAAK9E,EAAUE,gBACX,MAAM4C,GAAiBuB,8BAA8B,mCAEzDrE,EAAUE,gBAAgB2E,IAQxBJ,EAAAA,UAAAA,gBAAN,SAAsBM,EAAsBC,sEACxC,MAAO,CAAP,EACIlzX,KAAK4yX,cACD5yX,KAAKmzX,oBAAoBF,EAAaC,GACpC3sX,OAAOysX,OAAOI,OAAOC,YAAYrzX,KAAKwyX,wBAAyBS,EAAaC,WASpFP,EAAAA,UAAAA,UAAN,SAAgB3xX,sEACZ,MAAO,CAAP,EAAOhB,KAAK4yX,cAAgB5yX,KAAKszX,kBAAkBtyX,GAAOuF,OAAOysX,OAAOI,OAAOG,UAAUp4C,GAAgBn6U,WAUvG2xX,EAAAA,UAAAA,UAAN,SAAgB3xX,EAAiBiyX,EAAsBC,8EAInD,OAHMM,EAAYb,EAAcc,aAAazyX,GACvC0yX,EAAYjF,GAAmBkF,oBAAoBH,GAElD,CAAP,EAAOxzX,KAAK4yX,cACR5yX,KAAK4zX,kBAAkBF,EAAWT,EAAaC,GAC7C3sX,OAAOysX,OAAOI,OAAOS,UAAU14C,GAAgBn6U,EAAKhB,KAAKwyX,wBAAyBS,EAAaC,WAQnGP,EAAAA,UAAAA,KAAN,SAAW3xX,EAAgBkC,sEACvB,MAAO,CAAP,EAAOlD,KAAK4yX,cACR5yX,KAAK8zX,aAAa9yX,EAAKkC,GACrBqD,OAAOysX,OAAOI,OAAOW,KAAK/zX,KAAKwyX,wBAAyBxxX,EAAKkC,WAM/DyvX,EAAAA,UAAAA,aAAR,WACI,OAAO3yX,KAAK4yX,eAAiB5yX,KAAKg0X,oBAM9BrB,EAAAA,UAAAA,YAAR,WACI,MAAO,aAAcpsX,QAMjBosX,EAAAA,UAAAA,iBAAR,WACI,MAAO,WAAYpsX,QAQTosX,EAAAA,UAAAA,sBAAd,SAAoCsB,EAAmB/wX,sEACnD,MAAO,CAAP,EAAOqD,OAAOysX,OAAOI,OAAOc,OAAOD,EAAW/wX,WAQpCyvX,EAAAA,UAAAA,kBAAd,SAAgCsB,EAAmB/wX,sEAC/C,MAAO,CAAP,EAAO,IAAIkxR,SAAQ,SAACxhN,EAASyhN,GACzB,IAAM8/F,EAAkB5tX,OAAiB,SAAE6sX,OAAOc,OAAOD,EAAW/wX,EAAKq5R,QACzE43F,EAAgBtjX,iBAAiB,YAAY,SAACpS,GAC1Cm0E,EAAQn0E,EAAEsD,OAAOyjB,WAErB2uW,EAAgBtjX,iBAAiB,SAAS,SAACtF,GACvC8oR,EAAO9oR,iBAULonX,EAAAA,UAAAA,oBAAd,SAAkCM,EAAsBC,iFACpD,MAAO,CAAP,EAAO,IAAI9+F,SAAQ,SAACxhN,EAAmByhN,GACnC,IAAM+/F,EAAgB7tX,OAAiB,SAAE6sX,OAAOC,YAAYhpX,EAAKmoX,wBAAyBS,EAAaC,GACvGkB,EAAcvjX,iBAAiB,YAAY,SAACpS,GACxCm0E,EAAQn0E,EAAEsD,OAAOyjB,WAGrB4uW,EAAcvjX,iBAAiB,SAAS,SAACtF,GACrC8oR,EAAO9oR,iBAULonX,EAAAA,UAAAA,kBAAd,SAAgC3xX,sEAC5B,MAAO,CAAP,EAAO,IAAIozR,SAAQ,SAACxhN,EAAmByhN,GACnC,IAAMggG,EAAc9tX,OAAiB,SAAE6sX,OAAOG,UAAUp4C,GAAgBn6U,GACxEqzX,EAAYxjX,iBAAiB,YAAY,SAACpS,GACtC,IAAM61X,EAA4B71X,EAAEsD,OAAOyjB,OAErC+uW,EAAe9F,GAAmB4B,gBAAgB,IAAIp6G,WAAWq+G,IAClE/rX,QAAQ,MAAO,IACfA,QAAQ,MAAO,IACfA,QAAQ,MAAO,IACfjF,MAAM,KAAK6H,KAAK,IAChB5C,QAAQ,KAAU,IAEvB,IACIqqE,EAAQ/yE,KAAKsE,MAAMowX,IACrB,MAAO91X,GACL41R,EAAO51R,OAIf41X,EAAYxjX,iBAAiB,SAAS,SAACtF,GACnC8oR,EAAO9oR,iBAYLonX,EAAAA,UAAAA,kBAAd,SAAgCe,EAAwBT,EAAsBC,iFAC1E,MAAO,CAAP,EAAO,IAAI9+F,SAAQ,SAACxhN,EAAmByhN,GACnC,IAAMmgG,EAAcjuX,OAAiB,SAAE6sX,OAAOS,UAAU14C,GAAgBu4C,EAAWrpX,EAAKmoX,wBAAyBS,EAAaC,GAC9HsB,EAAY3jX,iBAAiB,YAAY,SAACpS,GACtCm0E,EAAQn0E,EAAEsD,OAAOyjB,WAGrBgvW,EAAY3jX,iBAAiB,SAAS,SAACtF,GACnC8oR,EAAO9oR,iBAULonX,EAAAA,UAAAA,aAAd,SAA2B3xX,EAAgBkC,iFACvC,MAAO,CAAP,EAAO,IAAIkxR,SAAQ,SAACxhN,EAAmByhN,GACnC,IAAMogG,EAASluX,OAAiB,SAAE6sX,OAAOW,KAAK1pX,EAAKmoX,wBAAyBxxX,EAAKkC,GACjFuxX,EAAO5jX,iBAAiB,YAAY,SAACpS,GACjCm0E,EAAQn0E,EAAEsD,OAAOyjB,WAGrBivW,EAAO5jX,iBAAiB,SAAS,SAACtF,GAC9B8oR,EAAO9oR,iBASZonX,EAAAA,aAAP,SAAoB+B,GAChB,OAAO70X,KAAKC,UAAU40X,EAAKz1X,OAAOmB,KAAKs0X,GAAKn/W,SAEpD,mBClOI,aACIvV,KAAK20X,OAASt5C,GACdr7U,KAAKszI,QlPmIa,EkPlIlBtzI,KAAK40X,UAAYt5C,GACjBt7U,KAAK60X,QAAS,EA0JtB,OApJUC,EAAAA,UAAAA,KAAN,yFACI,MAAO,CAAP,EAAO,IAAI1gG,SAAQ,SAACxhN,EAASyhN,GACzB,IAAM0gG,EAASxuX,OAAOyuX,UAAU37U,KAAKhvC,EAAKsqX,OAAQtqX,EAAKipI,SACvDyhP,EAAOlkX,iBAAiB,iBAAiB,SAACpS,GACxBA,EACRsD,OAAOyjB,OAAOyvW,kBAAkB5qX,EAAKuqX,cAE/CG,EAAOlkX,iBAAiB,WAAW,SAACpS,GAChC,IAAM2S,EAAQ3S,EACd4L,EAAK4lS,GAAK7+R,EAAMrP,OAAOyjB,OACvBnb,EAAKwqX,QAAS,EACdjiT,OAEJmiT,EAAOlkX,iBAAiB,SAAU,WAAM,OAAAwjR,EAAO28F,GAAiBkE,iCAAiC,eAO3FJ,EAAAA,UAAAA,iBAAd,4GACS90X,KAAK60X,OAAN,MACO,GAAM70X,KAAKq5C,eAAlB,MAAO,CAAP,EAAOtsB,EAAAA,iCAQT+nW,EAAAA,UAAAA,QAAN,SAAc9zX,wGACV,SAAMhB,KAAKm1X,2BAEX,OAFApoW,EAAAA,OAEO,CAAP,EAAO,IAAIqnQ,SAAW,SAACxhN,EAASyhN,GAE5B,IAAKhqR,EAAK4lS,GACN,OAAO5b,EAAO28F,GAAiBoE,8BAEnC,IAEMC,EAFchrX,EAAK4lS,GAAG7zG,YAAY,CAAC/xL,EAAKuqX,WAAY,YAC1BU,YAAYjrX,EAAKuqX,WACvBnwX,IAAIzD,GAC9Bq0X,EAAMxkX,iBAAiB,WAAW,SAACpS,GAE/Bm0E,EADcn0E,EACAsD,OAAOyjB,WAEzB6vW,EAAMxkX,iBAAiB,SAAS,SAACpS,GAAM,OAAA41R,EAAO51R,EAAE,gBASlDq2X,EAAAA,UAAAA,QAAN,SAAc9zX,EAAai9R,wGACvB,SAAMj+R,KAAKm1X,2BAEX,OAFApoW,EAAAA,OAEO,CAAP,EAAO,IAAIqnQ,SAAc,SAACxhN,EAAmByhN,GAEzC,IAAKhqR,EAAK4lS,GACN,OAAO5b,EAAO28F,GAAiBoE,8BAEnC,IAIMG,EAJclrX,EAAK4lS,GAAG7zG,YAAY,CAAC/xL,EAAKuqX,WAAY,aAE1BU,YAAYjrX,EAAKuqX,WAEvBY,IAAIv3F,EAASj9R,GAEvCu0X,EAAM1kX,iBAAiB,WAAW,WAAM,OAAA+hE,GAAS,IACjD2iT,EAAM1kX,iBAAiB,SAAS,SAACpS,GAAM,OAAA41R,EAAO51R,EAAE,gBAQlDq2X,EAAAA,UAAAA,WAAN,SAAiB9zX,wGACb,SAAMhB,KAAKm1X,2BAEX,OAFApoW,EAAAA,OAEO,CAAP,EAAO,IAAIqnQ,SAAc,SAACxhN,EAAmByhN,GACzC,IAAKhqR,EAAK4lS,GACN,OAAO5b,EAAO28F,GAAiBoE,8BAEnC,IAEMK,EAFcprX,EAAK4lS,GAAG7zG,YAAY,CAAC/xL,EAAKuqX,WAAY,aAC1BU,YAAYjrX,EAAKuqX,WACpB3jX,OAAOjQ,GACpCy0X,EAAS5kX,iBAAiB,WAAW,WAAM,OAAA+hE,GAAS,IACpD6iT,EAAS5kX,iBAAiB,SAAS,SAACpS,GAAM,OAAA41R,EAAO51R,EAAE,gBAOrDq2X,EAAAA,UAAAA,QAAN,gHACI,SAAM90X,KAAKm1X,2BAEX,OAFApoW,EAAAA,OAEO,CAAP,EAAO,IAAIqnQ,SAAkB,SAACxhN,EAAmByhN,GAC7C,IAAKhqR,EAAK4lS,GACN,OAAO5b,EAAO28F,GAAiBoE,8BAGnC,IAEMM,EAFcrrX,EAAK4lS,GAAG7zG,YAAY,CAAC/xL,EAAKuqX,WAAY,YAC1BU,YAAYjrX,EAAKuqX,WACnBe,aAC9BD,EAAU7kX,iBAAiB,WAAW,SAACpS,GAEnCm0E,EADcn0E,EACAsD,OAAOyjB,WAEzBkwW,EAAU7kX,iBAAiB,SAAU,SAACpS,GAAa,OAAA41R,EAAO51R,EAAE,gBAQ9Dq2X,EAAAA,UAAAA,YAAN,SAAkB9zX,wGACd,SAAMhB,KAAKm1X,2BAEX,OAFApoW,EAAAA,OAEO,CAAP,EAAO,IAAIqnQ,SAAiB,SAACxhN,EAAmByhN,GAC5C,IAAKhqR,EAAK4lS,GACN,OAAO5b,EAAO28F,GAAiBoE,8BAEnC,IAEMQ,EAFcvrX,EAAK4lS,GAAG7zG,YAAY,CAAC/xL,EAAKuqX,WAAY,YAC1BU,YAAYjrX,EAAKuqX,WACfn0X,MAAMO,GACxC40X,EAAc/kX,iBAAiB,WAAW,SAACpS,GAEvCm0E,EAAgC,IADlBn0E,EACAsD,OAAOyjB,WAEzBowW,EAAc/kX,iBAAiB,SAAS,SAACpS,GAAa,OAAA41R,EAAO51R,EAAE,gBASjEq2X,EAAAA,UAAAA,eAAN,8EACI,MAAO,CAAP,EAAO,IAAI1gG,SAAiB,SAACxhN,EAAmByhN,GAC5C,IAAMwhG,EAAkBtvX,OAAOyuX,UAAUc,eAAez6C,IACxDw6C,EAAgBhlX,iBAAiB,WAAW,WAAM,OAAA+hE,GAAQ,EAAK,IAC/DijT,EAAgBhlX,iBAAiB,SAAS,WAAM,OAAAwjR,GAAO,EAAM,eAGzE,mBClLI,aACIr0R,KAAK8mU,MAAQ,IAAIjoU,IA8BzB,OA3BIk3X,EAAAA,UAAAA,QAAA,SAAQ/0X,GACJ,OAAOhB,KAAK8mU,MAAMriU,IAAIzD,IAAQ,MAGlC+0X,EAAAA,UAAAA,QAAA,SAAQ/0X,EAAajE,GACjBiD,KAAK8mU,MAAMhiU,IAAI9D,EAAKjE,IAGxBg5X,EAAAA,UAAAA,WAAA,SAAW/0X,GACPhB,KAAK8mU,MAAM71T,OAAOjQ,IAGtB+0X,EAAAA,UAAAA,QAAA,WACI,IAAMC,EAAsB,GAI5B,OAHAh2X,KAAK8mU,MAAM/nU,SAAQ,SAAChC,EAAUiE,GAC1Bg1X,EAAUh3X,KAAKgC,MAEZg1X,GAGXD,EAAAA,UAAAA,YAAA,SAAY/0X,GACR,OAAOhB,KAAK8mU,MAAM72R,IAAIjvC,IAG1B+0X,EAAAA,UAAAA,MAAA,WACI/1X,KAAK8mU,MAAM5qI,SAEnB,mBCtBI,WAAYjzL,GACRjJ,KAAKi2X,cAAgB,IAAIF,GACzB/1X,KAAKk2X,eAAiB,IAAIpB,GAC1B90X,KAAKiJ,OAASA,EAmGtB,OAhGYktX,EAAAA,UAAAA,0BAAR,SAAkC5qX,GAC1BA,aAAiBylX,IAAoBzlX,EAAMgtU,YAAcw4C,GAA4CjjN,MACrG9tK,KAAKiJ,OAAOsC,MAAM,gJAQpB4qX,EAAAA,UAAAA,QAAN,SAAcn1X,wGACJ2X,EAAO3Y,KAAKi2X,cAAcG,QAAQp1X,GACrC,6BAGY,6BADPhB,KAAKiJ,OAAO+3U,QAAQ,+EACb,GAAMhhV,KAAKk2X,eAAeE,QAAQp1X,WAAzC,MAAO,CAAP,EAAO+rB,EAAAA,iCAEP/sB,KAAKq2X,0BAA0B1zV,gBAGvC,MAAO,CAAP,EAAOhqB,WASLw9W,EAAAA,UAAAA,QAAN,SAAcn1X,EAAajE,mGACvBiD,KAAKi2X,cAAcK,QAAQt1X,EAAKjE,oBAE5B,gCAAMiD,KAAKk2X,eAAeI,QAAQt1X,EAAKjE,kBAAvCgwB,EAAAA,sCAEA/sB,KAAKq2X,0BAA0BzzV,kCAQjCuzV,EAAAA,UAAAA,WAAN,SAAiBn1X,mGACbhB,KAAKi2X,cAAcM,WAAWv1X,oBAE1B,gCAAMhB,KAAKk2X,eAAeK,WAAWv1X,kBAArC+rB,EAAAA,sCAEA/sB,KAAKq2X,0BAA0BG,kCAQjCL,EAAAA,UAAAA,QAAN,gHAE6B,KADnBH,EAAYh2X,KAAKi2X,cAAcQ,WACvBr5X,OAAV,6BAGW,6BADP4C,KAAKiJ,OAAO+3U,QAAQ,8DACb,GAAMhhV,KAAKk2X,eAAeO,kBAAjC,MAAO,CAAP,EAAO1pW,EAAAA,iCAEP/sB,KAAKq2X,0BAA0BK,gBAGvC,MAAO,CAAP,EAAOV,WAOLG,EAAAA,UAAAA,YAAN,SAAkBn1X,wGACR21X,EAAc32X,KAAKi2X,cAAcU,YAAY31X,GAChD,6BAGY,6BADPhB,KAAKiJ,OAAO+3U,QAAQ,sEACb,GAAMhhV,KAAKk2X,eAAeS,YAAY31X,WAA7C,MAAO,CAAP,EAAO+rB,EAAAA,iCAEP/sB,KAAKq2X,0BAA0BO,gBAGvC,MAAO,CAAP,EAAOD,WAMLR,EAAAA,UAAAA,MAAN,2GACIn2X,KAAKi2X,cAAc/5L,yBAEf,gCAAMl8L,KAAKk2X,eAAeJ,gCAA1B/oW,EAAAA,sCAEA/sB,KAAKq2X,0BAA0BQ,kCAG3C,mBC1EI,WAAY5tX,GACRjJ,KAAKiJ,OAASA,EAEdjJ,KAAK82X,cAAgB,IAAInE,GAAc3yX,KAAKiJ,QAC5CjJ,KAAK+2X,UAAY,IAAIxH,GACrBvvX,KAAKg3X,UAAY,IAAI9G,GACrBlwX,KAAKi3X,cAAgB,IAAI9I,GAAcnuX,KAAK82X,eAC5C92X,KAAKk3X,cAAgB,IAAI1F,GAAcxxX,KAAK82X,eAC5C92X,KAAK8mU,MAAQ,CACTqwD,eAAgB,IAAIhB,GAAkCn2X,KAAKiJ,QAC3DmuX,cAAe,IAAIjB,GAA8Bn2X,KAAKiJ,SA8IlE,OAtIIouX,EAAAA,UAAAA,cAAA,WACI,OAAOr3X,KAAKi3X,cAAcK,gBAO9BD,EAAAA,UAAAA,aAAA,SAAa/tU,GACT,OAAOtpD,KAAK+2X,UAAU55F,OAAO7zO,IAOjC+tU,EAAAA,UAAAA,aAAA,SAAa/tU,GACT,OAAOtpD,KAAKg3X,UAAUp6C,OAAOtzR,IAM3B+tU,EAAAA,UAAAA,kBAAN,8EACI,MAAO,CAAP,EAAOr3X,KAAKk3X,cAAcK,wBAOxBF,EAAAA,UAAAA,uBAAN,SAA6BtiG,+GAEM,SAAM/0R,KAAK82X,cAAcU,gBAAgBH,EAAUI,YAAaJ,EAAUK,wBAGxE,OAH3BC,EAAyB5qW,EAAAA,OAGE,GAAM/sB,KAAK82X,cAAcc,UAAUD,EAAQE,mBAStD,OAThBC,EAA2B/qW,EAAAA,OAE3BgrW,EAAiC,CACnCt5X,EAAGq5X,EAAar5X,EAChBu5X,IAAKF,EAAaE,IAClB/8V,EAAG68V,EAAa78V,GAGdg9V,EAA0BtF,GAAcc,aAAasE,GACrC,GAAM/3X,KAAKk4X,WAAWD,WAGV,OAH5BE,EAAgBprW,EAAAA,OAGY,GAAM/sB,KAAK82X,cAAcc,UAAUD,EAAQS,oBAElC,OAFrCC,EAA4BtrW,EAAAA,OAES,GAAM/sB,KAAK82X,cAAcwB,UAAUD,GAAe,EAAO,CAAC,iBAGrG,OAHME,EAAqCxrW,EAAAA,OAG3C,GAAM/sB,KAAK8mU,MAAMqwD,eAAeb,QAC5B6B,EACA,CACIC,WAAYG,EACZV,UAAWF,EAAQE,UACnBW,cAAezjG,EAAQ0jG,sBACvBC,WAAY3jG,EAAQ4jG,6BAI5B,OAVA5rW,EAAAA,OAUO,CAAP,EAAOorW,WAOLd,EAAAA,UAAAA,sBAAN,SAA4BuB,6FACxB,SAAM54X,KAAK8mU,MAAMqwD,eAAeZ,WAAWqC,WAC1B,OADjB7rW,EAAAA,OACiB,GAAM/sB,KAAK8mU,MAAMqwD,eAAeR,YAAYiC,WAC7D,MAAO,CAAP,GADiB7rW,EAAAA,gBAOfsqW,EAAAA,UAAAA,cAAN,sHACUwB,EAAiB55X,OAAOmB,KAAKJ,KAAK8mU,QAClCgyD,EAAkB94X,KAAK8mU,MAAM+xD,EAAe,KACzB,GAAMC,EAAgBhD,kBAAxC,oBAAkB/oW,EAAAA,EAAAA,oBAAyCA,GAAAA,mBAAlE,MAAO,CAAP,aAQEsqW,EAAAA,UAAAA,QAAN,SAAcp5F,EAA4B26F,qHAChB,SAAM54X,KAAK8mU,MAAMqwD,eAAef,QAAQwC,WAE9D,KAFMG,EAAgBhsW,EAAAA,QAGlB,MAAMikW,GAAiBgI,uCAAuCJ,GAI7C,SAAM54X,KAAK82X,cAAcc,UAAUmB,EAAclB,mBAqB9C,OArBlBC,EAAe/qW,EAAAA,OACfksW,EAAqBtG,GAAcc,aAAaqE,GAGhDzpH,EAAS,CACX6qH,IAAKpB,EAAaoB,IAClB5nX,KAAM6pU,IAEJg+C,EAAgBn5X,KAAK+2X,UAAUqC,UAAUv5X,KAAKC,UAAUuuQ,IAG9D4vB,EAAQo7F,IAAM,CACV3E,IAAK70X,KAAKsE,MAAM80X,IAEdK,EAAiBt5X,KAAK+2X,UAAUqC,UAAUv5X,KAAKC,UAAUm+R,IAGzDs7F,EAAiBJ,EAAa,IAAIG,EAGlCE,EAAc/K,GAAmBkF,oBAAoB4F,GACnC,GAAMv5X,KAAK82X,cAAc/C,KAAKgF,EAAcX,WAAYoB,WAGhF,OAHMC,EAAkB1sW,EAAAA,OAClB2sW,EAAmB15X,KAAK+2X,UAAUhF,aAAa,IAAI97G,WAAWwjH,IAE7D,CAAP,EAAUF,EAAW,IAAIG,WAOvBrC,EAAAA,UAAAA,WAAN,SAAiBsC,qGACmB,SAAM35X,KAAK82X,cAAc5E,aAAayH,WAEtE,OAFMC,EAA0B7sW,EAAAA,OAC1B8sW,EAAY,IAAI5jH,WAAW2jH,GAC1B,CAAP,EAAO55X,KAAK+2X,UAAUhF,aAAa8H,YA1JxBxC,EAAAA,eAAkC,CAAC,OAAQ,UAC3CA,EAAAA,aAAuB,EA2J1C,KCjIayC,GAAyC,CAClDC,cAAe,WAEX,MAAMphD,GAAUqhD,sBADG,gEAGvBC,aAAc,WAEV,MAAMthD,GAAUqhD,sBADG,+DAGvBzI,aAAc,WAEV,MAAM54C,GAAUqhD,sBADG,+DAGjBE,kBAAN,gFAEI,KADmB,kEACbvhD,GAAUqhD,sBADG,0EAGjBG,uBAAN,gFAEI,KADmB,uEACbxhD,GAAUqhD,sBADG,+EAGjBI,sBAAN,gFAEI,KADmB,sEACbzhD,GAAUqhD,sBADG,8EAGjBK,cAAN,gFAEI,KADmB,8DACb1hD,GAAUqhD,sBADG,sEAGjBM,QAAN,gFAEI,KADmB,wDACb3hD,GAAUqhD,sBADG,gEAGjB9B,WAAN,gFAEI,KADmB,2DACbv/C,GAAUqhD,sBADG,mFC7FvB,WAAYzhD,EAAoBC,EAAuBI,GAAvD,MACInsT,EAAAA,KAAAA,KAAM8rT,EAAWC,EAAcI,IAAS,YACxCvuU,EAAK5E,KAAO,cAEZxG,OAAOitB,eAAe7hB,EAAMkwX,EAAYr6X,aAEhD,OARiC8rB,GAAAA,EAAAA,GAQjC,GARiC2sT,ICApB6hD,GAAwC,CACjD,uBACA,mBACA,kBAGSC,GAAyC,CAClD,eACA,oBACA,eACA,wBACA,oBAMSC,GACW,CAChB5sN,KAAM,kBACNj/J,KAAM,uEASV,WAAY0pU,EAAoBC,EAAuBI,GAAvD,MACInsT,EAAAA,KAAAA,KAAM8rT,EAAWC,EAAcI,IAAS,YACxCvuU,EAAK5E,KAAO,+BAEZxG,OAAOitB,eAAe7hB,EAAMswX,EAA6Bz6X,aAyBjE,OA/BkD8rB,GAAAA,EAAAA,GAevC2uW,EAAAA,2BAAP,SAAkCpiD,EAAoBG,EAAsBE,GACxE,IAAMgiD,IAAmCriD,GAAaiiD,GAAsCj5X,QAAQg3U,IAAc,EAC5GsiD,IAAkCjiD,GAAY6hD,GAAuCl5X,QAAQq3U,IAAa,EAC1GkiD,IAAmCpiD,GAAe8hD,GAAsCjzW,MAAK,SAACwzW,GAChG,OAAOriD,EAAYn3U,QAAQw5X,IAAgB,KAG/C,OAAOH,GAAkCE,GAAkCD,GAMxEF,EAAAA,yBAAP,WACI,OAAO,IAAIA,EAA6BD,GAAuD5sN,KAAM4sN,GAAuD7rX,OAEpK,GA/BkD8pU,aCdlCqiD,GAAgBC,EAAuBjI,GACnD,GAAIr6V,GAAYiV,QAAQqtV,GACpB,MAAMz/C,GAAgB0/C,6BAG1B,IACI,IAAMC,EAA4BnI,EAAOiH,aAAagB,GACtD,OAAOp7X,KAAKsE,MAAMg3X,GACpB,MAAO18X,GACL,MAAM+8U,GAAgB4/C,8BAA8B38X,GAE5D,UAMgB48X,GAAiCx7C,GAC7C,GAAIlnT,GAAYiV,QAAQiyS,GACpB,MAAMrE,GAAgB4/C,8BAA8B,8BAExD,IAAME,EAA4Bz7C,EAAcv8U,MAAM0yU,GAAWulD,sBAAuB,GACxF,MAAO,CACHC,IAAKF,EAAgB,GACrBG,KAAMH,EAAgBl+X,OAAS,EAAIwU,GAAU8iU,aAAe4mD,EAAgB,GAEpF,EhBzCA,SAAYvN,GACRA,EAAAA,EAAAA,QAAAA,GAAAA,UACAA,EAAAA,EAAAA,KAAAA,GAAAA,MACH,CAHD,CAAYA,KAAAA,GAAa,SiBEb2N,iBCoCZ,cA+QA,OA3PIC,EAAAA,UAAAA,kBAAA,WAEI,MADiC,CAAC37X,KAAK6/U,cAAe7/U,KAAKq4G,aAC1CltG,KAAK6qU,GAAW4lD,qBAAqB5jW,eAM1D2jW,EAAAA,UAAAA,mBAAA,WACI,OAAOA,EAAcE,wBAAwB,CACzCh8C,cAAe7/U,KAAK6/U,cACpBxnO,YAAar4G,KAAKq4G,YAClByjR,SAAU97X,KAAK+7X,MACf9mG,SAAUj1R,KAAKi1R,SACf6qD,eAAgB9/U,KAAK8/U,kBAO7B67C,EAAAA,UAAAA,aAAA,WACI,OAAQ37X,KAAKg8X,eACT,KAAKjmD,GAAiBkmD,kBAClB,OAAO9lD,GAAU3C,KACrB,KAAKuC,GAAiBmmD,mBAClB,OAAO/lD,GAAUgmD,IACrB,KAAKpmD,GAAiBqmD,mBAClB,OAAOjmD,GAAUkmD,MACrB,KAAKtmD,GAAiBumD,qBAClB,OAAOnmD,GAAUomD,QACrB,QACI,MAAM/gD,GAAgBghD,qCAQlCb,EAAAA,UAAAA,eAAA,WACI,MAAO,CACH97C,cAAe7/U,KAAK6/U,cACpBxnO,YAAar4G,KAAKq4G,YAClByjR,SAAU97X,KAAK+7X,MACf9mG,SAAUj1R,KAAKi1R,SACf6qD,eAAgB9/U,KAAK8/U,eACrBr6U,KAAMzF,KAAKyF,KACXg3X,cAAez8X,KAAKy8X,cACpBC,gBAAiB18X,KAAK08X,kBAQvBf,EAAAA,wBAAP,SAA+BgB,GAO3B,MANmB,CACfA,EAAiB98C,cACjB88C,EAAiBtkR,aAAezmG,GAAU8iU,aAC1CioD,EAAiBb,UAAYlqX,GAAU8iU,cAGzBvpU,KAAK6qU,GAAW4lD,qBAAqB5jW,eAUpD2jW,EAAAA,cAAP,SACIiB,EACA/8C,EACAg9C,EACAxP,EACAyP,EACAC,EACAC,EACA3kR,EACAqkR,mBAEMO,EAAyB,IAAItB,EAEnCsB,EAAQjB,cAAgBjmD,GAAiBqmD,mBACzCa,EAAQL,WAAaA,EACrBK,EAAQp9C,cAAgBA,EACxBo9C,EAAQP,gBAAkBA,EAE1B,IAAMQ,EAAM7kR,GAAgBg1Q,GAAaA,EAAU8P,oBAEnD,IAAKD,EACD,MAAM1hD,GAAgB4hD,qCAyB1B,OAtBAH,EAAQ5kR,YAAc6kR,EAEtBD,EAAQlB,OAAuB,QAAf,EAAO,OAAPc,QAAO,IAAPA,OAAO,EAAPA,EAASQ,cAAM,eAAEC,MAAO1rX,GAAU8iU,aAClDuoD,EAAQH,aAAeA,EAEnBD,IACAI,EAAQR,cAAgBI,EAAQQ,OAGhCJ,EAAQn9C,gBAAgC,QAAf,EAAO,OAAP+8C,QAAO,IAAPA,OAAO,EAAPA,EAASQ,cAAM,eAAEE,OAAsB,QAAnB,EAAW,OAAPV,QAAO,IAAPA,OAAO,EAAPA,EAASQ,cAAM,eAAEG,MAAO5rX,GAAU8iU,aAMnFuoD,EAAQhoG,UAA0B,QAAf,EAAO,OAAP4nG,QAAO,IAAPA,OAAO,EAAPA,EAASQ,cAAM,eAAEI,uBAAsC,QAAf,EAAO,OAAPZ,QAAO,IAAPA,OAAO,EAAPA,EAASQ,cAAM,eAAEK,QAAQb,EAAQQ,OAAOK,OAAO,GAAI9rX,GAAU8iU,cACxHuoD,EAAQx3X,KAAsB,QAAlB,EAAU,OAAPo3X,QAAO,IAAPA,OAAO,EAAPA,EAASQ,cAAM,eAAE53X,MAGpCw3X,EAAQF,mBAAqBA,EAC7BE,EAAQD,YAAcA,EAEfC,GAQJtB,EAAAA,qBAAP,SACI97C,EACAg9C,EACAxP,EACAyP,EACAC,EACAC,EACA3kR,eAEM4kR,EAAyB,IAAItB,EAEnCsB,EAAQjB,cAAiB3O,GAAaA,EAAU2O,gBAAkBjO,GAAc4P,KAAQ5nD,GAAiBkmD,kBAAoBlmD,GAAiBumD,qBAC9IW,EAAQp9C,cAAgBA,EAExBo9C,EAAQlB,MAAQnqX,GAAU8iU,aAC1BuoD,EAAQH,aAAeA,EAEvB,IAAMI,EAAM7kR,GAAeg1Q,GAAaA,EAAU8P,oBAElD,IAAKD,EACD,MAAM1hD,GAAgB4hD,qCAsB1B,OAnBIP,IAEAI,EAAQn9C,gBAAgC,QAAf,EAAO,OAAP+8C,QAAO,IAAPA,OAAO,EAAPA,EAASQ,cAAM,eAAEE,OAAsB,QAAnB,EAAW,OAAPV,QAAO,IAAPA,OAAO,EAAPA,EAASQ,cAAM,eAAEG,MAAO5rX,GAAU8iU,aAEnFuoD,EAAQhoG,UAA0B,QAAf,EAAO,OAAP4nG,QAAO,IAAPA,OAAO,EAAPA,EAASQ,cAAM,eAAEO,MAAOhsX,GAAU8iU,aACrDuoD,EAAQx3X,MAAsB,QAAf,EAAO,OAAPo3X,QAAO,IAAPA,OAAO,EAAPA,EAASQ,cAAM,eAAE53X,OAAQmM,GAAU8iU,aAClDuoD,EAAQR,cAAuB,OAAPI,QAAO,IAAPA,OAAO,EAAPA,EAASQ,QAGrCJ,EAAQ5kR,YAAc6kR,EAEtBD,EAAQF,mBAAqBA,EAC7BE,EAAQD,YAAcA,EAOfC,GAQJtB,EAAAA,sBAAP,SAA6BkC,EAA0BC,EAAyB70X,EAAgBilX,EAAoB2O,SAE1GkB,GAA2B,QAAf,EAAO,OAAPlB,QAAO,IAAPA,OAAO,EAAPA,EAASQ,cAAM,eAAEG,KAAMX,EAAQQ,OAAOG,IAAM5rX,GAAU8iU,aAGxE,GAAIopD,IAAa/P,GAAc4P,KAC3B,OAAOI,EAIX,GAAIF,EACA,IACI,IAAMjB,EAAa5B,GAAgB6C,EAAkB3P,GACrD,IAAKv1V,GAAYiV,QAAQgvV,EAAWpB,OAAS7iW,GAAYiV,QAAQgvV,EAAWnB,MACxE,MAAO,GAAGmB,EAAWpB,IAAMxlD,GAAWulD,sBAAwBqB,EAAWnB,KAE/E,MAAOh9X,GAAI,CAKjB,OADAwK,EAAO+3U,QAAQ,8BACR+8C,GAOJpC,EAAAA,gBAAP,SAAuBqC,GAEnB,QAAKA,IAKDA,EAAOv7X,eAAe,kBACtBu7X,EAAOv7X,eAAe,gBACtBu7X,EAAOv7X,eAAe,UACtBu7X,EAAOv7X,eAAe,mBACtBu7X,EAAOv7X,eAAe,aACtBu7X,EAAOv7X,eAAe,mBAUvBk5X,EAAAA,mBAAP,SAA0BsC,EAA8BC,EAA8BC,GAClF,IAAKF,IAAaC,EACd,OAAO,EAGX,IAAIE,GAAc,EAClB,GAAID,EAAe,CACf,IAAME,EAAkBJ,EAASxB,eAAiB,CAAC,EAC7C6B,EAAkBJ,EAASzB,eAAiB,CAAC,EAGnD2B,EAAeC,EAAeE,MAAQD,EAAeC,KACpDF,EAAe98D,QAAU+8D,EAAe/8D,MAG7C,OAAQ08D,EAASp+C,gBAAkBq+C,EAASr+C,eACvCo+C,EAASn+C,iBAAmBo+C,EAASp+C,gBACrCm+C,EAAShpG,WAAaipG,EAASjpG,UAC/BgpG,EAASnC,WAAaoC,EAASpC,UAC/BmC,EAAS5lR,cAAgB6lR,EAAS7lR,aAClC4lR,EAASvB,kBAAoBwB,EAASxB,iBACvC0B,GAEZ,mBC/RA,cAyLA,OAxKII,EAAAA,UAAAA,kBAAA,WACI,OAAOA,EAAiBC,6BAA6Bz+X,KAAK6/U,cAAe7/U,KAAKq4G,cAMlFmmR,EAAAA,UAAAA,qBAAA,WACI,OAAOA,EAAiBE,gCACpB1+X,KAAK2+X,eACL3+X,KAAKmiU,SACLniU,KAAK+7X,MACL/7X,KAAK4+X,WAObJ,EAAAA,UAAAA,eAAA,WACI,OAAOA,EAAiBK,0BAA0B7+X,KAAK+B,SAM3Dy8X,EAAAA,UAAAA,sBAAA,WACI,OAAOA,EAAiBM,2BACpB9+X,KAAK6/U,cACL7/U,KAAKq4G,YACLr4G,KAAK2+X,eACL3+X,KAAKmiU,SACLniU,KAAK+7X,MACL/7X,KAAK+B,OACL/B,KAAK4+X,SACL5+X,KAAK++X,UACL/+X,KAAKg/X,sBAObR,EAAAA,UAAAA,aAAA,WACI,OAAQx+X,KAAK2+X,gBACT,KAAK1oD,GAAegpD,SAChB,OAAO9oD,GAAU8oD,SACrB,KAAKhpD,GAAeipD,aACpB,KAAKjpD,GAAekpD,8BAChB,OAAOhpD,GAAU+oD,aACrB,KAAKjpD,GAAempD,cAChB,OAAOjpD,GAAUipD,cACrB,QACI,MAAM5jD,GAAgB6jD,wCAS3Bb,EAAAA,kBAAP,SAAyBx9X,GAErB,OAAgE,IAA5DA,EAAIO,QAAQ00U,GAAeipD,aAAalnW,gBAEyC,IAA7Eh3B,EAAIO,QAAQ00U,GAAekpD,8BAA8BnnW,eAClDi+S,GAAekpD,8BAEnBlpD,GAAeipD,cACyC,IAAxDl+X,EAAIO,QAAQ00U,GAAegpD,SAASjnW,eACpCi+S,GAAegpD,UAC8C,IAA7Dj+X,EAAIO,QAAQ00U,GAAempD,cAAcpnW,eACzCi+S,GAAempD,cAGnBxtX,GAAU6iU,aAOd+pD,EAAAA,2BAAP,SACI3+C,EACAxnO,EACAsmR,EACAx8D,EACA45D,EACAh6X,EACA68X,EACAG,EACAC,GAUA,MARsB,CAClBh/X,KAAKy+X,6BAA6B5+C,EAAexnO,GACjDr4G,KAAK0+X,gCAAgCC,EAAgBx8D,EAAU45D,EAAO6C,GACtE5+X,KAAK6+X,0BAA0B98X,GAC/B/B,KAAKs/X,8BAA8BN,GACnCh/X,KAAKu/X,0BAA0BR,IAGd5zX,KAAK6qU,GAAW4lD,qBAAqB5jW,eAQ/CwmW,EAAAA,6BAAf,SACI3+C,EACAxnO,GAGA,MADiC,CAACwnO,EAAexnO,GAChCltG,KAAK6qU,GAAW4lD,qBAAqB5jW,eAU3CwmW,EAAAA,gCAAf,SACIG,EACAx8D,EACA45D,EACA6C,GAYA,MANoC,CAChCD,EAJAA,IAAmB1oD,GAAempD,eAC5BR,GACAz8D,EAIN45D,GAASnqX,GAAU8iU,cAGHvpU,KAAK6qU,GAAW4lD,qBAAqB5jW,eAM9CwmW,EAAAA,0BAAf,SAAyCtjD,GACrC,OAAQA,GAAUtpU,GAAU8iU,cAAc18S,eAM/BwmW,EAAAA,8BAAf,SAA6CQ,GACzC,OAAOA,GAAuBptX,GAAU8iU,cAAc18S,eAM3CwmW,EAAAA,0BAAf,SAAyCO,GAKrC,OAAQA,GAAaA,EAAU/mW,gBAAkB2+S,GAAqB6oD,OAAOxnW,cAAiB+mW,EAAU/mW,cAAgBpmB,GAAU8iU,cAE1I,KC7Ma+qD,GACU,CACf3xN,KAAM,qBACNj/J,KAAM,oEAHD4wX,GAKY,CACjB3xN,KAAM,wBACNj/J,KAAM,4CAPD4wX,GASkB,CACvB3xN,KAAM,+BACNj/J,KAAM,oDAXD4wX,GAaa,CAClB3xN,KAAM,yBACNj/J,KAAM,6NAfD4wX,GAiBM,CACX3xN,KAAM,kBACNj/J,KAAM,sDAnBD4wX,GAqBM,CACX3xN,KAAM,kBACNj/J,KAAM,0BAvBD4wX,GAyBS,CACd3xN,KAAM,2BACNj/J,KAAM,kHA3BD4wX,GAiCiB,CACtB3xN,KAAM,8BACNj/J,KAAM,qDAnCD4wX,GAqCM,CACX3xN,KAAM,uBACNj/J,KAAM,gRAvCD4wX,GAyCa,CAClB3xN,KAAM,iBACNj/J,KAAM,6DA3CD4wX,GA6Ce,CACpB3xN,KAAM,sBACNj/J,KAAM,mDA/CD4wX,GAiDgB,CACrB3xN,KAAM,uBACNj/J,KAAM,6CAnDD4wX,GAqDmB,CACxB3xN,KAAM,gCACNj/J,KAAM,iFAvDD4wX,GAyDmB,CACxB3xN,KAAM,sBACNj/J,KAAM,uGA3DD4wX,GA6DsB,CAC3B3xN,KAAM,mCACNj/J,KAAM,uIA/DD4wX,GAiEiB,CACtB3xN,KAAM,6BACNj/J,KAAM,2IAnED4wX,GAqEW,CAChB3xN,KAAM,sBACNj/J,KAAM,8HAvED4wX,GAyEkB,CACvB3xN,KAAM,+BACNj/J,KAAM,uHA3ED4wX,GA6EM,CACX3xN,KAAM,kBACNj/J,KAAM,+HA/ED4wX,GAiFM,CACX3xN,KAAM,kBACNj/J,KAAM,yJAnFD4wX,GAqFyB,CAC9B3xN,KAAM,sCACNj/J,KAAM,kLAvFD4wX,GAyFoB,CACzB3xN,KAAM,gCACNj/J,KAAM,yDASV,WAAY0pU,EAAmBC,GAA/B,MACI/rT,EAAAA,KAAAA,KAAM8rT,EAAWC,IAAa,YAC9BnuU,EAAK5E,KAAO,2BACZxG,OAAOitB,eAAe7hB,EAAMq1X,EAAyBx/X,aAgM7D,OArM8C8rB,GAAAA,EAAAA,GAWnC0zW,EAAAA,4BAAP,WACI,OAAO,IAAIA,EAAyBD,GAAkD3xN,KAClF2xN,GAAkD5wX,OAMnD6wX,EAAAA,sCAAP,WACI,OAAO,IAAIA,EAAyBD,GAAoD3xN,KACpF2xN,GAAoD5wX,OAMrD6wX,EAAAA,gCAAP,SAAuCC,GACnC,OAAO,IAAID,EAAyBD,GAA0D3xN,KACvF2xN,GAA0D5wX,KAAI,iBAAiB8wX,IAOnFD,EAAAA,gCAAP,SAAuCE,GACnC,OAAO,IAAIF,EAAyBD,GAAqD3xN,KAClF2xN,GAAqD5wX,KAAI,eAAe+wX,IAO5EF,EAAAA,oBAAP,SAA2BG,GACvB,OAAO,IAAIH,EAAyBD,GAA8C3xN,KAC3E2xN,GAA8C5wX,KAAI,iBAAiBgxX,IAOvEH,EAAAA,oBAAP,WACI,OAAO,IAAIA,EAAyBD,GAA8C3xN,KAC9E2xN,GAA8C5wX,OAO/C6wX,EAAAA,4BAAP,WACI,OAAO,IAAIA,EAAyBD,GAAiD3xN,KACjF,GAAG2xN,GAAiD5wX,OAOrD6wX,EAAAA,+BAAP,SAAsCI,GAClC,OAAO,IAAIJ,EAAyBD,GAAyD3xN,KACtF2xN,GAAyD5wX,KAAI,kBAAkBixX,IAOnFJ,EAAAA,yBAAP,SAAgCK,GAC5B,OAAO,IAAIL,EAAyBD,GAA8C3xN,KAC3E2xN,GAA8C5wX,KAAI,iBAAiBkxX,IAMvEL,EAAAA,gCAAP,WACI,OAAO,IAAIA,EAAyBD,GAAqD3xN,KACrF2xN,GAAqD5wX,OAMtD6wX,EAAAA,8BAAP,WACI,OAAO,IAAIA,EACPD,GAAwD3xN,KACxD2xN,GAAwD5wX,OAOzD6wX,EAAAA,6BAAP,WACI,OAAO,IAAIA,EACPD,GAAuD3xN,KACvD2xN,GAAuD5wX,OAOxD6wX,EAAAA,sCAAP,WACI,OAAO,IAAIA,EACPD,GAA2D3xN,KAC3D2xN,GAA2D5wX,OAO5D6wX,EAAAA,sCAAP,WACI,OAAO,IAAIA,EACPD,GAA2D3xN,KAC3D2xN,GAA2D5wX,OAO5D6wX,EAAAA,yCAAP,WACI,OAAO,IAAIA,EAAyBD,GAA8D3xN,KAC9F2xN,GAA8D5wX,OAM/D6wX,EAAAA,oCAAP,WACI,OAAO,IAAIA,EAAyBD,GAAyD3xN,KACzF2xN,GAAyD5wX,OAM1D6wX,EAAAA,8BAAP,WACI,OAAO,IAAIA,EAAyBD,GAAmD3xN,KACnF2xN,GAAmD5wX,OAMpD6wX,EAAAA,qCAAP,WACI,OAAO,IAAIA,EAAyBD,GAA0D3xN,KAC1F2xN,GAA0D5wX,OAM3D6wX,EAAAA,yBAAP,WACI,OAAO,IAAIA,EAAyBD,GAA8C3xN,KAC9E2xN,GAA8C5wX,OAM/C6wX,EAAAA,yBAAP,WACI,OAAO,IAAIA,EAAyBD,GAA8C3xN,KAC9E2xN,GAA8C5wX,OAM/C6wX,EAAAA,6CAAP,WACI,OAAO,IAAIA,EAAyBD,GAAiE3xN,KACjG2xN,GAAiE5wX,OAMlE6wX,EAAAA,uCAAP,SAA8CM,EAA2B7gR,GACrE,OAAO,IAAIugR,EAAyBD,GAA4D3xN,KACzF2xN,GAA4D5wX,KAAI,qBAAqBmxX,EAAiB,cAAc7gR,IAEnI,GArM8Cq8N,kBCzF1C,WAAYskD,GAAZ,WAEUG,EAAWH,EAAcnnW,GAAYunW,iBAAiB,GAAIJ,IAAgB,GAC1EK,EAAgBF,EAAWtnW,GAAYynW,4BAA4BH,GAAY,GAGrFjgY,KAAKqgY,oBAAoBF,GAEzBngY,KAAKk7U,OAAS,IAAIt8U,IAClBuhY,EAAcphY,SAAQ,SAAAuhY,GAAS,SAAKplD,OAAOnqU,IAAIuvX,EAAM,IA8K7D,OArKWC,EAAAA,WAAP,SAAkBC,GAGd,OAAO,IAAID,GAFSC,GAAoB5uX,GAAU8iU,cACHpxU,MAAM,OASjDi9X,EAAAA,UAAAA,oBAAR,SAA4BT,GAExB,IAAKA,GAAeA,EAAY1iY,OAAS,EACrC,MAAMsiY,GAAyBe,+BAQvCF,EAAAA,UAAAA,cAAA,SAAcD,GACV,IACMI,EAAqB,IAAIH,EADPvgY,KAAK2gY,uBAAuBr9X,MAAM,MAG1D,OAAQq1B,GAAYiV,QAAQ0yV,IAASI,EAAmBxlD,OAAOjrS,IAAIqwV,EAAMtoW,gBAO7EuoW,EAAAA,UAAAA,iBAAA,SAAiBK,GAAjB,WACI,SAAKA,GAAYA,EAAS1lD,OAAOtqU,MAAQ,KAIjC5Q,KAAKk7U,OAAOtqU,MAAQgwX,EAAS1lD,OAAOtqU,MAAQgwX,EAASC,UAAU5+W,OAAM,SAAAq+W,GAAS,SAAKQ,cAAcR,EAAM,MAMnHC,EAAAA,UAAAA,uBAAA,sBACQQ,EAAoB,EAOxB,OANA1rD,GAAYt2U,SAAQ,SAACiiY,GACb32X,EAAKy2X,cAAcE,KACnBD,GAAqB,MAItB/gY,KAAKk7U,OAAOtqU,OAASmwX,GAOhCR,EAAAA,UAAAA,YAAA,SAAYU,GACHtoW,GAAYiV,QAAQqzV,IACrBjhY,KAAKk7U,OAAOnqU,IAAIkwX,EAASr7X,SAQjC26X,EAAAA,UAAAA,aAAA,SAAaW,GAAb,WACI,IACIA,EAAUniY,SAAQ,SAAAkiY,GAAY,SAAKE,YAAYF,EAAS,IAC1D,MAAOxiY,GACL,MAAM+8U,GAAgB4lD,0BAA0B3iY,KAQxD8hY,EAAAA,UAAAA,YAAA,SAAYD,GACR,GAAI3nW,GAAYiV,QAAQ0yV,GACpB,MAAM9kD,GAAgB6lD,mCAAmCf,GAE7DtgY,KAAKk7U,OAAOjqU,OAAOqvX,EAAM16X,SAO7B26X,EAAAA,UAAAA,iBAAA,sBACIlrD,GAAYt2U,SAAQ,SAACiiY,GACjB32X,EAAK6wU,OAAOjqU,OAAO+vX,OAQ3BT,EAAAA,UAAAA,eAAA,SAAee,GACX,IAAKA,EACD,MAAM9lD,GAAgB+lD,gCAE1B,IAAMC,EAAc,IAAI5iY,IAGxB,OAFA0iY,EAAYpmD,OAAOn8U,SAAQ,SAAAuhY,GAAS,OAAAkB,EAAYzwX,IAAIuvX,EAAMtoW,cAAc,IACxEh4B,KAAKk7U,OAAOn8U,SAAQ,SAAAuhY,GAAS,OAAAkB,EAAYzwX,IAAIuvX,EAAMtoW,cAAc,IAC1DwpW,GAOXjB,EAAAA,UAAAA,sBAAA,SAAsBe,GAClB,IAAKA,EACD,MAAM9lD,GAAgB+lD,gCAIrBD,EAAYG,0BACbH,EAAYI,mBAEhB,IAAMF,EAAcxhY,KAAK2hY,eAAeL,GAClCM,EAAkBN,EAAYO,gBAC9BC,EAAiB9hY,KAAK6hY,gBAE5B,OADwBL,EAAY5wX,KACVkxX,EAAiBF,GAM/CrB,EAAAA,UAAAA,cAAA,WACI,OAAOvgY,KAAKk7U,OAAOtqU,MAMvB2vX,EAAAA,UAAAA,QAAA,WACI,IAAMp+W,EAAuB,GAE7B,OADAniB,KAAKk7U,OAAOn8U,SAAQ,SAAA+G,GAAO,OAAAqc,EAAMnjB,KAAK8G,EAAI,IACnCqc,GAMXo+W,EAAAA,UAAAA,YAAA,WACI,OAAIvgY,KAAKk7U,OACYl7U,KAAK6gY,UACN11X,KAAK,KAElByG,GAAU8iU,cAMrB6rD,EAAAA,UAAAA,qBAAA,WACI,OAAOvgY,KAAK+hY,cAAc/pW,eAElC,mBCtLI,WAAYgqW,EAAkBhP,GAC1B,GAAIr6V,GAAYiV,QAAQo0V,GACpB,MAAMxmD,GAAgBc,4BAA4B0lD,GAGtDhiY,KAAKgiY,SAAWA,EAChBhiY,KAAKq9X,OAAS4E,EAAUC,mBAAmBF,EAAUhP,GAuB7D,OAfWiP,EAAAA,mBAAP,SAA0BE,EAAsBnP,GAE5C,IAAMoP,EAAiCzpW,GAAY0pW,gBAAgBF,GAGnE,IACI,IAAMG,EAAqBF,EAAa5lD,WAGlC+lD,EAAgBvP,EAAOiH,aAAaqI,GAC1C,OAAOziY,KAAKsE,MAAMo+X,GACpB,MAAO1sG,GACL,MAAM2lD,GAAgBe,wBAAwB1mD,KAG1D,mBChBI,WAAYssC,EAAkBqgE,GAC1BxiY,KAAKmiU,SAAWA,EAChBniU,KAAKwiY,WAAaA,EA06B1B,OAjyBIC,EAAAA,UAAAA,eAAA,sBACUhiD,EAAgCzgV,KAAK0iY,wBACrCC,EAAiC1jY,OAAOmB,KAAKqgV,GAAiB92U,KAAI,SAAAi5X,GAAc,OAAAniD,EAAgBmiD,EAAW,IAEjH,OADoBD,EAAcvlY,OAChB,EACP,GAEaulY,EAAch5X,KAAiB,SAAC5M,GAChD,IACM8lY,EADgBJ,EAAapgG,SAAwB,IAAIs5F,GAAiB5+X,GAC9C+lY,iBAC5BjG,EAAUxyX,EAAK04X,qBAAqB14X,EAAK83T,SAAU0gE,GAKzD,OAJIhG,IAAYgG,EAAYpG,gBACxBoG,EAAYpG,cAAgB,IAAIwF,GAAUpF,EAAQj6F,OAAQv4R,EAAKm4X,YAAYnF,QAGxEwF,MAWbJ,EAAAA,UAAAA,gBAAN,SAAsBO,+FAClB,IAAKA,EACD,MAAMxnD,GAAgBynD,0CAGpBD,EAAY/F,SACdj9X,KAAKkjY,WAAWF,EAAY/F,SAG1B+F,EAAYnG,SACd78X,KAAKmjY,qBAAqBH,EAAYnG,SAGpCmG,EAAYI,YACd,GAAMpjY,KAAKqjY,gBAAgBL,EAAYI,cADvC,aACAr2W,EAAAA,+BAGEi2W,EAAYM,cACdtjY,KAAKujY,0BAA0BP,EAAYM,cAGzCN,EAAYQ,aACdxjY,KAAKyjY,eAAeT,EAAYQ,yBAQ1Bf,EAAAA,UAAAA,gBAAd,SAA8BiB,yHACpBC,EAAoB3jY,KAAK4jY,yBAAyB,CACpDzhE,SAAUuhE,EAAWvhE,SACrBw8D,eAAgB+E,EAAW/E,eAC3BtmR,YAAaqrR,EAAWrrR,YACxBwnO,cAAe6jD,EAAW7jD,cAC1Bk8C,MAAO2H,EAAW3H,MAClBgD,UAAW2E,EAAW3E,UACtBC,oBAAqB0E,EAAW1E,sBAG9B6E,EAAgBtD,GAASv3U,WAAW06U,EAAW3hY,SAC/C+hY,EAA2C7kY,OAAOmB,KAAKujY,EAAkBI,cAAcp6X,KAAI,SAAA3I,GAAO,OAAA2iY,EAAkBI,aAAa/iY,EAAI,MAGjIgjY,EAA+C,GACrDF,EAAoB/kY,SAAQ,SAACklY,GACH1D,GAASv3U,WAAWi7U,EAAYliY,QACpCmiY,sBAAsBL,IACpCG,EAAoBhlY,KAAKqL,EAAK85X,iBAAiBF,OAGvD,GAAM7vG,QAAQ1hN,IAAIsxT,KARlB,aAQAj3W,EAAAA,+BAEJ/sB,KAAKokY,yBAAyBV,eAUlCjB,EAAAA,UAAAA,sBAAA,SAAsB4B,GAClB,OAAOrkY,KAAKskY,8BACRD,EAAgBA,EAAcxkD,cAAgBjuU,GAAU8iU,aACxD2vD,EAAgBA,EAAchsR,YAAczmG,GAAU8iU,aACtD2vD,EAAgBA,EAActI,MAAQnqX,GAAU8iU,eAWhD+tD,EAAAA,UAAAA,8BAAR,SACI5iD,EACAxnO,EACA0jR,GAHJ,WAKUwI,EAAevkY,KAAKy2X,UACpB+N,EAAiC,CAAC,EAwBxC,OAtBAD,EAAaxlY,SAAQ,SAAC0lY,GAClB,IAAMzG,EAA+B3zX,EAAKq6X,WAAWD,GAEhDzG,IAICn+C,IAAkBx1U,EAAKs6X,mBAAmB3G,EAAQn+C,IAIlDxnO,IAAgBhuG,EAAKu6X,iBAAiB5G,EAAQ3lR,IAI9C0jR,IAAU1xX,EAAKw6X,WAAW7G,EAAQjC,KAIxCyI,EAAiBC,GAAYzG,OAG1BwG,GAYX/B,EAAAA,UAAAA,yBAAA,SAAyBpgY,GACrB,OAAOrC,KAAK8kY,iCACRziY,EAAOw9U,cACPx9U,EAAOg2G,YACPh2G,EAAOs8X,eACPt8X,EAAO8/T,SACP9/T,EAAOu8X,SACPv8X,EAAO05X,MACP15X,EAAON,OACPM,EAAOy6X,aACPz6X,EAAO08X,UACP18X,EAAOivX,MACPjvX,EAAO28X,sBAePyD,EAAAA,UAAAA,iCAAR,SACI5iD,EACAxnO,EACAsmR,EACAx8D,EACAy8D,EACA7C,EACAh6X,EACA+6X,EACAiC,EACAzN,EACA0N,GAXJ,WAaUuF,EAAevkY,KAAKy2X,UACpBsO,EAAuC,CACzCC,SAAU,CAAC,EACXjB,aAAc,CAAC,EACfkB,cAAe,CAAC,GA6FpB,OA1FAV,EAAaxlY,SAAQ,SAAC0lY,GAElB,IAAMS,EAAW1G,GAAiB2G,kBAAkBV,GAEpD,GAAIS,IAAatzX,GAAU6iU,YAA3B,CAKA,IAAMupD,EAAS3zX,EAAK+6X,sBAAsBX,EAAUS,GAEpD,GAAKlH,KAIClB,GAAiBzyX,EAAKg7X,kBAAkBrH,EAAQlB,OAIhDj9C,GAAkBx1U,EAAKs6X,mBAAmB3G,EAAQn+C,OAIlDxnO,GAAgBhuG,EAAKu6X,iBAAiB5G,EAAQ3lR,OAI9C0jR,GAAU1xX,EAAKw6X,WAAW7G,EAAQjC,OAIlC4C,GAAmBt0X,EAAKi7X,oBAAoBtH,EAAQW,OAIpDx8D,GAAa93T,EAAKk7X,cAAcvH,EAAQ77D,OAIxCy8D,GAAav0X,EAAKm7X,cAAcxH,EAAQY,OAQxC78X,GAAWsI,EAAKo7X,YAAYzH,EAAQj8X,OAKtCi9X,IAAuBhB,EAAOgB,qBAE1BhB,EAAOgB,sBAAwBA,GAFvC,CAQA,GAAIL,IAAmB1oD,GAAekpD,8BAA+B,CACjE,GAAKJ,IAAc10X,EAAKq7X,eAAe1H,EAAQe,GAC3C,OAIJ,GAAIA,IAAcpoD,GAAqBgvD,KAChCrU,IAAUjnX,EAAKu7X,WAAW5H,EAAQ1M,GACjC,OAMZ,IAAMuU,EAAkBx7X,EAAKy7X,yBAAyBrB,EAAUzG,GAEhE,OAAQkH,GACJ,KAAKjvD,GAAegpD,SAChB8F,EAAoBC,SAASa,GAAmB7H,EAChD,MACJ,KAAK/nD,GAAeipD,aACpB,KAAKjpD,GAAekpD,8BAChB4F,EAAoBhB,aAAa8B,GAAmB7H,EACpD,MACJ,KAAK/nD,GAAempD,cAChB2F,EAAoBE,cAAcY,GAAmB7H,QAK1D+G,GAOXtC,EAAAA,UAAAA,yBAAA,SAAyBpgY,GACrB,OAAOrC,KAAK+lY,iCACR1jY,EAAOg2G,YACPh2G,EAAO8/T,WASPsgE,EAAAA,UAAAA,iCAAR,SACIpqR,EACA8pN,GAFJ,WAKUoiE,EAAevkY,KAAKy2X,UACpBuP,EAAwC,CAAC,EA2B/C,OAzBAzB,EAAaxlY,SAAQ,SAAC0lY,GAElB,GAAKp6X,EAAK47X,cAAcxB,GAAxB,CAKA,IAAMzG,EAAS3zX,EAAK67X,eAAezB,GAE9BzG,IAIC3lR,IAAgBhuG,EAAKu6X,iBAAiB5G,EAAQ3lR,IAI9C8pN,IAAa93T,EAAKk7X,cAAcvH,EAAQ77D,KAI9C6jE,EAAoBvB,GAAYzG,QAI7BgI,GAOXvD,EAAAA,UAAAA,4BAAA,SAA4BjkG,GAA5B,WACU+lG,EAAevkY,KAAKmmY,2BACtBC,EAAgB,KAuBpB,OArBA7B,EAAaxlY,SAAQ,SAAC0lY,GAElB,GAAKp6X,EAAKg8X,oBAAoB5B,KAAkD,IAArCA,EAASljY,QAAQ8I,EAAK83T,UAAjE,CAKA,IAAM67D,EAAS3zX,EAAKi8X,qBAAqB7B,GAEpCzG,IAIiC,IAAlCA,EAAOuI,QAAQhlY,QAAQi9R,KAI3B4nG,EAAgBpI,OAIboI,GAML3D,EAAAA,UAAAA,kBAAN,sHAYI,OAXM8B,EAAevkY,KAAKy2X,UACpB+P,EAA2C,GAEjDjC,EAAaxlY,SAAQ,SAAC0lY,GACHp6X,EAAKq6X,WAAWD,IAI/B+B,EAAgBxnY,KAAKqL,EAAKo8X,cAAchC,OAG5C,GAAMrwG,QAAQ1hN,IAAI8zT,WAClB,OADAz5W,EAAAA,OACO,CAAP,GAAO,WAOL01W,EAAAA,UAAAA,cAAN,SAAoBG,qGAEhB,KADM3F,EAAUj9X,KAAK0kY,WAAW9B,IAE5B,MAAMpnD,GAAgBkrD,4BAElB,SAAM1mY,KAAK2mY,qBAAqB1J,WAAxC,MAAO,CAAP,EAAQlwW,EAAAA,QAA4C/sB,KAAKu2X,WAAWqM,EAAY1sD,GAAgB0wD,kBAO9FnE,EAAAA,UAAAA,qBAAN,SAA2BxF,gHAkBvB,OAjBMsH,EAAevkY,KAAKy2X,UACpBsH,EAAYd,EAAQ4J,oBACpBC,EAA8C,GAEpDvC,EAAaxlY,SAAQ,SAAC0lY,GAElB,IAAMS,EAAW1G,GAAiB2G,kBAAkBV,GACpD,GAAIS,IAAatzX,GAAU6iU,YAA3B,CAIA,IAAMsyD,EAAc18X,EAAK+6X,sBAAsBX,EAAUS,GACnD6B,GAAehJ,IAAcgJ,EAAYF,qBAC3CC,EAAmB9nY,KAAKqL,EAAK85X,iBAAiB4C,QAItD,GAAM3yG,QAAQ1hN,IAAIo0T,WAClB,OADA/5W,EAAAA,OACO,CAAP,GAAO,WAOL01W,EAAAA,UAAAA,iBAAN,SAAuBiB,0GACb1iY,EAAM0iY,EAAWsD,wBAGnBtD,EAAW/E,eAAe3mW,gBAAkBi+S,GAAekpD,8BAA8BnnW,cAAzF,eACG0rW,EAAW3E,YAAcpoD,GAAqBswD,IAA9C,iBAEOrO,EADkC8K,EACIpS,OAExC,6BAEI,gCAAMtxX,KAAKwiY,WAAWpI,sBAAsBxB,kBAA5C7rW,EAAAA,oBAEA,eAAMyuT,GAAgB0rD,yCAMtC,MAAO,CAAP,EAAOlnY,KAAKu2X,WAAWv1X,EAAKk1U,GAAgBixD,qBAMhD1E,EAAAA,UAAAA,kBAAA,sBAQI,OAPqBziY,KAAKy2X,UACb13X,SAAQ,SAAC0lY,GACdp6X,EAAK47X,cAAcxB,IACnBp6X,EAAKksX,WAAWkO,EAAUvuD,GAAgBM,kBAI3C,GAWXisD,EAAAA,UAAAA,gBAAA,SAAgBxF,EAAsB96D,EAAkBptC,EAA0B18K,GAE9E,IAAM+uR,EAAgBpnY,KAAKqnY,qBAAqBpK,GAC1CqK,EAAgBtnY,KAAK+iY,qBAAqB5gE,EAAU86D,GACpDsK,EAAoBvnY,KAAKwnY,yBAAyBrlE,EAAU86D,EAASloG,GACrE0yG,EAAqBznY,KAAK0nY,0BAA0BvlE,EAAU86D,GAAS,GACvE0K,EAAoB3nY,KAAK4nY,yBAAyBvvR,EAAa8pN,GAMrE,OAJIilE,GAAiBE,IACjBF,EAAc3K,cAAgB,IAAIwF,GAAUqF,EAAc1kG,OAAQ5iS,KAAKwiY,YAAYnF,QAGhF,CACHJ,QAASmK,EACTvK,QAASyK,EACTlE,YAAamE,EACbjE,aAAcmE,EACdjE,YAAamE,IAQrBlF,EAAAA,UAAAA,qBAAA,SAAqBxF,GACjB,IAAM2F,EAAqBjH,GAAcE,wBAAwBoB,GACjE,OAAOj9X,KAAK0kY,WAAW9B,IAS3BH,EAAAA,UAAAA,qBAAA,SAAqBtgE,EAAkB86D,GACnC,IAAM4K,EAAkC,CACpChoD,cAAeo9C,EAAQp9C,cACvBxnO,YAAa4kR,EAAQ5kR,YACrBsmR,eAAgB1oD,GAAegpD,SAC/B98D,SAAUA,EACV45D,MAAOkB,EAAQnB,UAGbgM,EAAmC9nY,KAAK4jY,yBAAyBiE,GACjE7C,EAAW/lY,OAAOmB,KAAK0nY,EAAgB9C,UAAUr7X,KAAI,SAAC3I,GAAQ,OAAA8mY,EAAgB9C,SAAShkY,EAAI,IAC3F+mY,EAAc/C,EAAS5nY,OAE7B,GAAI2qY,EAAc,EACd,OAAO,KACJ,GAAIA,EAAc,EACrB,MAAMvsD,GAAgBwsD,2CAG1B,OAAOhD,EAAS,IAUpBvC,EAAAA,UAAAA,yBAAA,SAAyBtgE,EAAkB86D,EAAsBloG,GAC7D,IAAMmmD,EAAU,IAAIqlD,GAASxrG,EAAQmmD,QAAU,IACzC+sD,EAAalzG,EAAQmzG,sBAAwBvxD,GAAqB6oD,OAKlEb,EAAkBsJ,GAAcA,EAAWjwW,gBAAkB2+S,GAAqB6oD,OAAOxnW,cAAiBi+S,GAAekpD,8BAAgClpD,GAAeipD,aAExKiJ,EAAsC,CACxCtoD,cAAeo9C,EAAQp9C,cACvBxnO,YAAa4kR,EAAQ5kR,YACrBsmR,eAAgBA,EAChBx8D,SAAQ,EACR45D,MAAOkB,EAAQnB,SACf/5X,OAAQm5U,EAAOylD,uBACf5B,UAAWkJ,EACX3W,MAAOv8F,EAAQqzG,OACfpJ,oBAAqBjqG,EAAQiqG,qBAG3B8I,EAAmC9nY,KAAK4jY,yBAAyBuE,GAEjEpE,EAAe9kY,OAAOmB,KAAK0nY,EAAgB/D,cAAcp6X,KAAI,SAAC3I,GAAQ,OAAA8mY,EAAgB/D,aAAa/iY,EAAI,IAEvGqnY,EAAkBtE,EAAa3mY,OACrC,GAAIirY,EAAkB,EAClB,OAAO,KACJ,GAAIA,EAAkB,EACzB,MAAM7sD,GAAgBwsD,2CAG1B,OAAOjE,EAAa,IASxBtB,EAAAA,UAAAA,0BAAA,SAA0BtgE,EAAkB86D,EAAsBqL,GAC9D,IAAM31V,EAAK21V,EAAW7xD,QAAgBj5U,EAChC+qY,EAAuC,CACzC1oD,cAAeo9C,EAAQp9C,cACvBxnO,YAAa4kR,EAAQ5kR,YACrBsmR,eAAgB1oD,GAAempD,cAC/Bj9D,SAAUA,EACVy8D,SAAUjsV,GAGRm1V,EAAmC9nY,KAAK4jY,yBAAyB2E,GACjEtD,EAAgBhmY,OAAOmB,KAAK0nY,EAAgB7C,eAAet7X,KAAI,SAAC3I,GAAQ,OAAA8mY,EAAgB7C,cAAcjkY,EAAI,IAGhH,OADyBikY,EAAc7nY,OAChB,EACZ,KAIJ6nY,EAAc,IAMzBxC,EAAAA,UAAAA,yBAAA,SAAyBpqR,EAAqB8pN,GAC1C,IAAMqmE,EAAuC,CACzCnwR,YAAW,EACX8pN,SAAQ,GAGNqhE,EAAgCxjY,KAAKyoY,yBAAyBD,GAC9DE,EAA0CzpY,OAAOmB,KAAKojY,GAAa75X,KAAI,SAAC3I,GAAQ,OAAAwiY,EAAYxiY,EAAI,IAEhG2nY,EAAiBD,EAAmBtrY,OAC1C,GAAIurY,EAAiB,EACjB,OAAO,KACJ,GAAIA,EAAiB,EACxB,MAAMntD,GAAgBotD,gDAG1B,OAAOF,EAAmB,IAQ9BjG,EAAAA,UAAAA,kBAAA,SAAkBpqR,EAAqB8pN,GACnC,IAAMqhE,EAAcxjY,KAAK4nY,yBAAyBvvR,EAAa8pN,GAC/D,SAAUqhE,GAAeA,EAAY5E,WAAanoD,KAQ9CgsD,EAAAA,UAAAA,mBAAR,SAA2BzE,EAA0Cn+C,GACjE,SAAUm+C,EAAOn+C,eAAiBA,IAAkBm+C,EAAOn+C,gBAQvD4iD,EAAAA,UAAAA,kBAAR,SAA0BzE,EAA0ClB,GAChE,SAAUkB,EAAOlB,cAAgBA,IAAiBkB,EAAOlB,eAQrD2F,EAAAA,UAAAA,iBAAR,SAAyBzE,EAA8D3lR,GACnF,IAAMwwR,EAAgB7oY,KAAK8oY,4BAA4BzwR,GACvD,SAAIwwR,GAAiBA,EAActC,QAAQhlY,QAAQy8X,EAAO3lR,cAAgB,IAYtEoqR,EAAAA,UAAAA,oBAAR,SAA4BzE,EAA0BW,GAClD,OAAQX,EAAOW,gBAAkBA,EAAe3mW,gBAAkBgmW,EAAOW,eAAe3mW,eAQpFyqW,EAAAA,UAAAA,cAAR,SAAsBzE,EAA8C77D,GAChE,SAAU67D,EAAO77D,UAAYA,IAAa67D,EAAO77D,WAQ7CsgE,EAAAA,UAAAA,cAAR,SAAsBzE,EAA8CY,GAChE,SAAUZ,EAAOY,UAAYA,IAAaZ,EAAOY,WAQ7C6D,EAAAA,UAAAA,WAAR,SAAmBzE,EAA0CjC,GACzD,SAAUiC,EAAOjC,OAASA,IAAUiC,EAAOjC,QAQvC0G,EAAAA,UAAAA,YAAR,SAAoBzE,EAA0Bj8X,GAG1C,GAFoCi8X,EAAOW,iBAAmB1oD,GAAeipD,cAAgBlB,EAAOW,iBAAmB1oD,GAAekpD,gCAElGnB,EAAOj8X,OACvC,OAAO,EAGX,IAAMgnY,EAA2BxI,GAASv3U,WAAWg1U,EAAOj8X,QACtDinY,EAAkCzI,GAASv3U,WAAWjnD,GAO5D,OALKinY,EAAsBvH,yBAGvBuH,EAAsBC,YAAYr3X,GAAUoiU,sBAF5Cg1D,EAAsBtH,mBAInBqH,EAAeG,iBAAiBF,IAQnCvG,EAAAA,UAAAA,eAAR,SAAuBzE,EAA0Be,GAC7C,SAAUf,EAAOe,WAAaf,EAAOe,YAAcA,IAQ/C0D,EAAAA,UAAAA,WAAR,SAAmBzE,EAA0B1M,GACzC,SAAU0M,EAAO1M,OAAS0M,EAAO1M,QAAUA,IAOvCmR,EAAAA,UAAAA,cAAR,SAAsBzhY,GAClB,OAAsC,IAA/BA,EAAIO,QAAQi1U,KAObisD,EAAAA,UAAAA,oBAAV,SAA8BzhY,GAC1B,OAAgE,IAAzDA,EAAIO,QAAQm1U,KAMvB+rD,EAAAA,UAAAA,kCAAA,SAAkCpV,GAC9B,OAAU32C,GAAsC,IAAI12U,KAAKmiU,SAAQ,IAAIkrD,GAQjEoV,EAAAA,UAAAA,sBAAR,SAA8BzhY,EAAakkY,GACvC,OAAQA,GACJ,KAAKjvD,GAAegpD,SAChB,OAAOj/X,KAAKmpY,qBAAqBnoY,GAErC,KAAKi1U,GAAeipD,aACpB,KAAKjpD,GAAekpD,8BAChB,OAAOn/X,KAAKopY,yBAAyBpoY,GAEzC,KAAKi1U,GAAempD,cAChB,OAAOp/X,KAAKqpY,0BAA0BroY,GAE1C,QACI,OAAO,OASZyhY,EAAAA,SAAP,SAAmBphY,EAAQioY,GACvB,IAAK,IAAM7hR,KAAgB6hR,EACvBjoY,EAAIomH,GAAgB6hR,EAAK7hR,GAE7B,OAAOpmH,GAEf,oBAEA,4DAyFA,OAzFyC2qB,GAAAA,EAAAA,GACrCu9W,EAAAA,UAAAA,WAAA,WAEI,MAAM5wD,GAAUqhD,sBADG,8FAGvBuP,EAAAA,UAAAA,WAAA,WAEI,MAAM5wD,GAAUqhD,sBADG,8FAGvBuP,EAAAA,UAAAA,qBAAA,WAEI,MAAM5wD,GAAUqhD,sBADG,wGAGvBuP,EAAAA,UAAAA,qBAAA,WAEI,MAAM5wD,GAAUqhD,sBADG,wGAGvBuP,EAAAA,UAAAA,yBAAA,WAEI,MAAM5wD,GAAUqhD,sBADG,4GAGvBuP,EAAAA,UAAAA,yBAAA,WAEI,MAAM5wD,GAAUqhD,sBADG,4GAGvBuP,EAAAA,UAAAA,0BAAA,WAEI,MAAM5wD,GAAUqhD,sBADG,6GAGvBuP,EAAAA,UAAAA,0BAAA,WAEI,MAAM5wD,GAAUqhD,sBADG,6GAGvBuP,EAAAA,UAAAA,eAAA,WAEI,MAAM5wD,GAAUqhD,sBADG,kGAGvBuP,EAAAA,UAAAA,eAAA,WAEI,MAAM5wD,GAAUqhD,sBADG,kGAGvBuP,EAAAA,UAAAA,mBAAA,WAEI,MAAM5wD,GAAUqhD,sBADG,sGAGvBuP,EAAAA,UAAAA,mBAAA,WAEI,MAAM5wD,GAAUqhD,sBADG,sGAGvBuP,EAAAA,UAAAA,qBAAA,WAEI,MAAM5wD,GAAUqhD,sBADG,wGAGvBuP,EAAAA,UAAAA,qBAAA,WAEI,MAAM5wD,GAAUqhD,sBADG,wGAGvBuP,EAAAA,UAAAA,yBAAA,WAEI,MAAM5wD,GAAUqhD,sBADG,4GAGvBuP,EAAAA,UAAAA,mBAAA,WAEI,MAAM5wD,GAAUqhD,sBADG,sGAGvBuP,EAAAA,UAAAA,mBAAA,WAEI,MAAM5wD,GAAUqhD,sBADG,sGAGvBuP,EAAAA,UAAAA,WAAA,WAEI,MAAM5wD,GAAUqhD,sBADG,8FAGvBuP,EAAAA,UAAAA,YAAA,WAEI,MAAM5wD,GAAUqhD,sBADG,+FAGvBuP,EAAAA,UAAAA,QAAA,WAEI,MAAM5wD,GAAUqhD,sBADG,2FAGjBuP,EAAAA,UAAAA,MAAN,gFAEI,KADmB,uFACb5wD,GAAUqhD,sBADG,+FAGvBuP,EAAAA,UAAAA,yBAAA,WAEI,MAAM5wD,GAAUqhD,sBADG,4GAG3B,GAzFyCyI,mBCt7BzC,4DAmDA,OAnDmCz2W,GAAAA,EAAAA,GAUxBw9W,EAAAA,oBAAP,SACI3pD,EACAxnO,EACAwkR,EACA16D,EACA25D,EACAgB,GAEA,IAAM2M,EAAgB,IAAID,EAU1B,OARAC,EAAc9K,eAAiB1oD,GAAegpD,SAC9CwK,EAAc5pD,cAAgBA,EAC9B4pD,EAAcpxR,YAAcA,EAC5BoxR,EAActnE,SAAWA,EACzBsnE,EAAc7mG,OAASi6F,EACvB4M,EAAc1N,MAAQD,EACtB2N,EAAc3M,aAAeA,EAEtB2M,GAOJD,EAAAA,gBAAP,SAAuBxL,GAEnB,QAAKA,IAKDA,EAAOv7X,eAAe,kBACtBu7X,EAAOv7X,eAAe,gBACtBu7X,EAAOv7X,eAAe,mBACtBu7X,EAAOv7X,eAAe,UACtBu7X,EAAOv7X,eAAe,aACtBu7X,EAAOv7X,eAAe,WACtBu7X,EAAuB,iBAAM/nD,GAAegpD,WAGxD,GAnDmCT,kBCjBnC,cA2CA,OAtCWkL,EAAAA,WAAP,WAEI,OAAOxqX,KAAKmrB,OAAM,IAAI9iC,MAAOC,UAAY,MAOtCkiY,EAAAA,eAAP,SAAsBC,EAAmBxuP,GAErC,IAAMyuP,EAAgBl9X,OAAOi9X,IAAc,EAI3C,OAH6BD,EAAUG,aAAe1uP,EAGvByuP,GAS5BF,EAAAA,mBAAP,SAA0BI,GAGtB,OAFoBp9X,OAAOo9X,GAENJ,EAAUG,cAQ5BH,EAAAA,MAAP,SAAgBz4W,EAAWl0B,GACvB,OAAO,IAAIq3R,SAAQ,SAACxhN,GAAY,OAAApsE,YAAW,WAAM,OAAAosE,EAAQ71E,EAAM,GAAEk0B,EAAE,KAE3E,oBCbA,4DAoHA,OApHuCjF,GAAAA,EAAAA,GAuB5B+9W,EAAAA,wBAAP,SACIlqD,EACAxnO,EACA+qR,EACAjhE,EACA25D,EACA5gD,EACAyuD,EACAK,EACAC,EACAC,EACAnL,EACAjC,EACAxL,EACA6Y,EACAnL,WAEMoL,EAA8B,IAAIL,EAExCK,EAASvqD,cAAgBA,EACzBuqD,EAASzL,eAAiB1oD,GAAeipD,aACzCkL,EAASxnG,OAASwgG,EAElB,IAAMiH,EAAcX,GAAUG,aA8B9B,GA7BAO,EAASN,SAAWO,EAAY/sY,WAMhC8sY,EAAST,UAAYA,EAAUrsY,WAC/B8sY,EAASE,kBAAoBN,EAAa1sY,WACtC4sY,IACAE,EAASF,UAAYA,EAAU5sY,YAGnC8sY,EAAS/xR,YAAcA,EACvB+xR,EAASjoE,SAAWA,EACpBioE,EAASrO,MAAQD,EACjBsO,EAASroY,OAASm5U,EAClBkvD,EAAStN,aAAeA,EAExBsN,EAASrL,UAAYpmW,GAAYiV,QAAQmxV,GAAapoD,GAAqB6oD,OAAST,EAEhFoL,IACAC,EAASD,gBAAkBA,EAC3BC,EAASpL,oBAAsBA,IAOb,QAAlB,EAAAoL,EAASrL,iBAAS,eAAE/mW,iBAAkB2+S,GAAqB6oD,OAAOxnW,cAElE,OADAoyW,EAASzL,eAAiB1oD,GAAekpD,8BACjCiL,EAASrL,WACb,KAAKpoD,GAAqBswD,IAEtB,IAAMsD,EAAkCtI,GAAUC,mBAAmBkB,EAAa6G,GAClF,KAAqB,QAAjB,EAAY,OAAXM,QAAW,IAAXA,OAAW,EAAXA,EAAalR,WAAG,eAAET,KACnB,MAAMp9C,GAAgBgvD,iCAE1BJ,EAAS9Y,MAAQiZ,EAAYlR,IAAIT,IACjC,MACJ,KAAKjiD,GAAqBgvD,IACtByE,EAAS9Y,MAAQA,EAI7B,OAAO8Y,GAOJL,EAAAA,oBAAP,SAA2B/L,GAEvB,QAAKA,IAKDA,EAAOv7X,eAAe,kBACtBu7X,EAAOv7X,eAAe,gBACtBu7X,EAAOv7X,eAAe,mBACtBu7X,EAAOv7X,eAAe,UACtBu7X,EAAOv7X,eAAe,aACtBu7X,EAAOv7X,eAAe,WACtBu7X,EAAOv7X,eAAe,YACrBu7X,EAAuB,iBAAM/nD,GAAeipD,cAAgBlB,EAAuB,iBAAM/nD,GAAekpD,iCAGrH,GApHuCX,mBCXvC,4DAoDA,OApDwCxyW,GAAAA,EAAAA,GAU7By+W,EAAAA,yBAAP,SACI5qD,EACAxnO,EACAirR,EACAnhE,EACAy8D,EACA9B,GAEA,IAAM4N,EAAW,IAAID,EAYrB,OAVAC,EAASvoE,SAAWA,EACpBuoE,EAAS/L,eAAiB1oD,GAAempD,cACzCsL,EAASryR,YAAcA,EACvBqyR,EAAS7qD,cAAgBA,EACzB6qD,EAAS9nG,OAAS0gG,EAClBoH,EAAS5N,aAAeA,EAEpB8B,IACA8L,EAAS9L,SAAWA,GAEjB8L,GAOJD,EAAAA,qBAAP,SAA4BzM,GAExB,QAAKA,IAKDA,EAAOv7X,eAAe,kBACtBu7X,EAAOv7X,eAAe,gBACtBu7X,EAAOv7X,eAAe,mBACtBu7X,EAAOv7X,eAAe,aACtBu7X,EAAOv7X,eAAe,WACtBu7X,EAAuB,iBAAM/nD,GAAempD,gBAGxD,GApDwCZ,kBCNxC,cA0DA,OAlDImM,EAAAA,UAAAA,uBAAA,WACI,OAAOA,EAAkBC,4BAA4B5qY,KAAKq4G,YAAar4G,KAAKmiU,WAMzEwoE,EAAAA,4BAAP,SAAmCtyR,EAAqB8pN,GAMpD,MAL2C,CACvCqU,GACAn+N,EACA8pN,GAEuBh3T,KAAK6qU,GAAW4lD,qBAAqB5jW,eAS7D2yW,EAAAA,wBAAP,SAA+BxoE,EAAkB9pN,EAAqBumR,GAClE,IAAM4E,EAAc,IAAImH,EAQxB,OANAnH,EAAYrhE,SAAWA,EACvBqhE,EAAYnrR,YAAcA,EACtBumR,IACA4E,EAAY5E,SAAWA,GAGpB4E,GAOJmH,EAAAA,oBAAP,SAA2B3pY,EAAag9X,GAEpC,QAAKA,IAK6B,IAA9Bh9X,EAAIO,QAAQi1U,KACZwnD,EAAOv7X,eAAe,aACtBu7X,EAAOv7X,eAAe,iBAGlC,mBCnEI,aACIzC,KAAK6qY,eAAiB,GACtB7qY,KAAK8qY,OAAS,GACd9qY,KAAK+qY,UAAY,EAsBzB,OAdWC,EAAAA,wBAAP,SAA+BhqY,EAAag9X,GAExC,IAAMiN,EAAyE,IAAlDjqY,EAAIO,QAAQq1U,GAAuBK,WAC5Di0D,GAA0B,EAS9B,OAPIlN,IACAkN,EACIlN,EAAOv7X,eAAe,mBACtBu7X,EAAOv7X,eAAe,WACtBu7X,EAAOv7X,eAAe,cAGvBwoY,GAAeC,GAE9B,mBCdI,aACIlrY,KAAKmrY,UAAYzB,GAAUG,aAAenzD,GA0ElD,OAlEI00D,EAAAA,UAAAA,6BAAA,SAA6BvnJ,EAAkCwnJ,GAC3DrrY,KAAKumY,QAAU1iJ,EAAS0iJ,QACxBvmY,KAAKsrY,gBAAkBznJ,EAASynJ,gBAChCtrY,KAAKurY,kBAAoB1nJ,EAAS0nJ,kBAClCvrY,KAAKwrY,mBAAqBH,GAQ9BD,EAAAA,UAAAA,uBAAA,SAAuBvnJ,EAAgCwnJ,GACnDrrY,KAAKyrY,uBAAyB5nJ,EAAS4nJ,uBACvCzrY,KAAK0rY,eAAiB7nJ,EAAS6nJ,eAC/B1rY,KAAK2rY,qBAAuB9nJ,EAAS8nJ,qBACrC3rY,KAAK4rY,OAAS/nJ,EAAS+nJ,OACvB5rY,KAAK6rY,qBAAuBR,GAOhCD,EAAAA,UAAAA,yBAAA,SAAyB/d,GACrBrtX,KAAK8rY,oBAAsBze,GAM/B+d,EAAAA,UAAAA,eAAA,WACIprY,KAAKmrY,UAAYzB,GAAUG,aAAenzD,IAM9C00D,EAAAA,UAAAA,UAAA,WACI,OAAOprY,KAAKmrY,WAAazB,GAAUG,cAOhCuB,EAAAA,0BAAP,SAAiCpqY,EAAag9X,GAE1C,QAAKA,IAKuD,IAAxDh9X,EAAIO,QAAQm1U,KACZsnD,EAAOv7X,eAAe,YACtBu7X,EAAOv7X,eAAe,oBACtBu7X,EAAOv7X,eAAe,sBACtBu7X,EAAOv7X,eAAe,wBACtBu7X,EAAOv7X,eAAe,2BACtBu7X,EAAOv7X,eAAe,mBACtBu7X,EAAOv7X,eAAe,WACtBu7X,EAAOv7X,eAAe,uBACtBu7X,EAAOv7X,eAAe,yBACtBu7X,EAAOv7X,eAAe,eAGlC,mBC3FA,cA4BA,OAdWspY,EAAAA,mBAAP,SAA0B/qY,EAAag9X,GAEnC,IAAIiN,GAAuB,EACvBjqY,IACAiqY,EAAqE,IAAvDjqY,EAAIO,QAAQs2U,KAG9B,IAAIqzD,GAA0B,EAK9B,OAJIlN,IACAkN,EAAiBlN,EAAOv7X,eAAe,iBAGpCwoY,GAAeC,GAE9B,mBCFA,cAiEA,OA1DWc,EAAAA,gBAAP,SAAuB9d,EAAoB+d,EAAoB54I,GAC3D,IAAM64I,EAAeF,EAAcG,qBAAqBje,EAAW76H,GACnE,OAAQ16N,GAAYiV,QAAQq+V,GAAwEC,EAA3D,GAAGA,EAAet6X,GAAU8hU,eAAiBu4D,GAQnFD,EAAAA,qBAAP,SAA4B9d,EAAoB76H,GAC5C,IAAK66H,EACD,MAAM1yC,GAAgB4wD,0BAA0B,wBAIpD,IAAMC,EAA+B,CACjC15V,GAAIu7U,EAAU6L,iBAGd1mI,IACAg5I,EAASh5I,KAAOA,GAGpB,IAAMi5I,EAAczsY,KAAKC,UAAUusY,GAEnC,OAAOne,EAAUqD,aAAa+a,IAQ3BN,EAAAA,kBAAP,SAAyB9d,EAAoBr9U,GACzC,IAAKq9U,EACD,MAAM1yC,GAAgB4wD,0BAA0B,qBAGpD,GAAIzzW,GAAYiV,QAAQiD,GACpB,MAAM2qS,GAAgB+wD,wBAAwB17V,EAAO,kCAGzD,IAEI,IAAM27V,EAAa37V,EAAMvtC,MAAMsO,GAAU8hU,gBACnCw4D,EAAeM,EAAW,GAC1BP,EAAYO,EAAWpvY,OAAS,EAAIovY,EAAW9lY,MAAM,GAAGyE,KAAKyG,GAAU8hU,gBAAkB9hU,GAAU8iU,aACnG+3D,EAAqBve,EAAU+L,aAAaiS,GAC5CQ,EAAkB7sY,KAAKsE,MAAMsoY,GACnC,MAAO,CACHE,iBAAmBh0W,GAAYiV,QAAQq+V,GAAyBr6X,GAAU8iU,aAAtBu3D,EACpDC,aAAcQ,GAEpB,MAAMjuY,GACJ,MAAM+8U,GAAgB+wD,wBAAwB17V,EAAOpyC,KAGjE,MfxFA,SAAYi9X,GACRA,EAAAA,gBAAAA,kBACAA,EAAAA,IAAAA,KACH,CAHD,CAAYA,KAAAA,GAAiB,SgBFjBkR,GCQAC,iBCHR,WAAYpf,GACRztX,KAAK8sY,sBAAsBrf,GAC3BztX,KAAK+sY,cAAgBxmY,OAAOknX,GAgCpC,OA7BYuf,EAAAA,UAAAA,sBAAR,SAA8Bvf,GAC1B,GAAIA,IAAkB11C,GAAqBk1D,cAAgBxf,IAAkB11C,GAAqBm1D,eAC9F,MAAMl0D,GAA8Bm0D,+BAA+B1f,GAGvE,MAD2BlnX,OAAOknX,GAE9B,MAAMz0C,GAA8Bm0D,+BAA+B1f,IAI3Euf,EAAAA,UAAAA,QAAA,SAAQhsY,GACJ,OAAOhB,KAAK+sY,cAAc3W,QAAQp1X,IAGtCgsY,EAAAA,UAAAA,QAAA,SAAQhsY,EAAajE,GACjBiD,KAAK+sY,cAAczW,QAAQt1X,EAAKjE,IAGpCiwY,EAAAA,UAAAA,WAAA,SAAWhsY,GACPhB,KAAK+sY,cAAcxW,WAAWv1X,IAGlCgsY,EAAAA,UAAAA,QAAA,WACI,OAAO/tY,OAAOmB,KAAKJ,KAAK+sY,gBAG5BC,EAAAA,UAAAA,YAAA,SAAYhsY,GACR,OAAOhB,KAAK+sY,cAActqY,eAAezB,IAEjD,mBCxBI,WAAY26O,GAER,GADA37O,KAAKotY,WAAazxJ,EACdhjN,GAAYiV,QAAQ5tC,KAAKotY,YAEzB,MAAM1N,GAAyB2N,sBAG/B10W,GAAYiV,QAAQ5tC,KAAKstY,aACzBttY,KAAKotY,WAAaG,EAAUC,gBAAgB7xJ,IA2MxD,OAvNI18O,OAAAA,eAAWsuY,EAAAA,UAAAA,YAAS,KAApB,WACI,OAAOvtY,KAAKotY,4CAmBTG,EAAAA,gBAAP,SAAuB5xJ,GACnB,GAAIA,EAAK,CACL,IAAI8xJ,EAAe9xJ,EAAI3jN,cAYvB,OAVIW,GAAYmnD,SAAS2tT,EAAc,KACnCA,EAAeA,EAAa/mY,MAAM,GAAI,GAC/BiyB,GAAYmnD,SAAS2tT,EAAc,QAC1CA,EAAeA,EAAa/mY,MAAM,GAAI,IAGrCiyB,GAAYmnD,SAAS2tT,EAAc,OACpCA,GAAgB,KAGbA,EAGX,OAAO9xJ,GAMX4xJ,EAAAA,UAAAA,cAAA,WAEI,IAAIplV,EACJ,IACIA,EAAanoD,KAAK0tY,mBACpB,MAAOjvY,GACL,MAAMihY,GAAyBiO,oBAAoBlvY,GAIvD,IAAK0pD,EAAWylV,kBAAoBzlV,EAAW0lV,aAC3C,MAAMnO,GAAyBiO,oBAAoB,qBAAqB3tY,KAAK4/X,WAIjF,IAAIz3U,EAAW2lV,UAAkD,WAAtC3lV,EAAW2lV,SAAS91W,cAC3C,MAAM0nW,GAAyBqO,gCAAgC/tY,KAAK4/X,YASrE2N,EAAAA,kBAAP,SAAyB5xJ,EAAaqyJ,GAClC,OAAIr1W,GAAYiV,QAAQogW,GACbryJ,EAGJA,EAAIp6O,QAAQ,KAAO,EAAOo6O,EAAG,IAAIqyJ,EAAmBryJ,EAAG,IAAIqyJ,GAO/DT,EAAAA,kBAAP,SAAyB5xJ,GACrB,OAAO4xJ,EAAUC,gBAAgB7xJ,EAAIr4O,MAAM,KAAK,KAQpDiqY,EAAAA,UAAAA,kBAAA,SAAkBzR,GACd,IAAMmS,EAAYjuY,KAAK0tY,mBACjBQ,EAAYD,EAAUJ,aAI5B,OAHI/R,GAAkC,IAArBoS,EAAU9wY,QAAiB8wY,EAAU,KAAOn7D,GAAsBo7D,QAAUD,EAAU,KAAOn7D,GAAsBq7D,gBAChIF,EAAU,GAAKpS,GAEZyR,EAAUc,gCAAgCJ,IAMrDV,EAAAA,UAAAA,QAAA,WACI,OAAOA,EAAUe,UAAUtuY,KAAK4/X,YAOpC2N,EAAAA,UAAAA,iBAAA,WAEI,IAAMgB,EAAQt4K,OAAO,8DAGfztN,EAAQxI,KAAK4/X,UAAUp3X,MAAM+lY,GACnC,IAAK/lY,EACD,MAAMk3X,GAAyBiO,oBAAoB,qBAAqB3tY,KAAK4/X,WAIjF,IAAM4O,EAAgB,CAClBV,SAAUtlY,EAAM,GAChBolY,gBAAiBplY,EAAM,GACvBimY,aAAcjmY,EAAM,GACpBkmY,YAAalmY,EAAM,IAGnBmmY,EAAeH,EAAcC,aAAanrY,MAAM,KAOpD,OANAqrY,EAAeA,EAAatsY,QAAO,SAACyD,GAAQ,OAAAA,GAAOA,EAAI1I,OAAS,CAAC,IACjEoxY,EAAcX,aAAec,GAExBh2W,GAAYiV,QAAQ4gW,EAAcE,cAAgBF,EAAcE,YAAY5uT,SAAS,OACtF0uT,EAAcE,YAAcF,EAAcE,YAAYriY,UAAU,EAAGmiY,EAAcE,YAAYtxY,OAAO,IAEjGoxY,GAGJjB,EAAAA,iBAAP,SAAwB5xJ,GACpB,IAAM4yJ,EAAQt4K,OAAO,4BAEfztN,EAAQmzO,EAAInzO,MAAM+lY,GAExB,IAAK/lY,EACD,MAAMk3X,GAAyBiO,oBAAoB,qBAAqBhyJ,GAG5E,OAAOnzO,EAAM,IAGV+kY,EAAAA,eAAP,SAAsBqB,EAAqBC,GACvC,GAAID,EAAY,KAAOh9X,GAAU+iU,cAAe,CAC5C,IACMm6D,EADM,IAAIvB,EAAUsB,GACCnB,mBAE3B,OAAOoB,EAAehB,SAAW,KAAOgB,EAAelB,gBAAkBgB,EAG7E,OAAOA,GAOJrB,EAAAA,UAAP,SAAiBrV,GACb,IAAM6W,EAAa7W,EAAW32X,QAAQ,KAChCytY,EAAa9W,EAAW32X,QAAQ,MACtC,OAAIytY,GAAc,EACP9W,EAAW7rX,UAAU2iY,EAAa,GAClCD,GAAc,EACd7W,EAAW7rX,UAAU0iY,EAAa,GAEtCn9X,GAAU8iU,cAGd64D,EAAAA,gCAAP,SAAuCU,GACnC,OAAO,IAAIV,EAAUU,EAAUH,SAAW,KAAOG,EAAUL,gBAAkB,IAAMK,EAAUJ,aAAa1iY,KAAK,OAM5GoiY,EAAAA,oBAAP,SAA2B9uG,GAEvB,GAAI9lQ,GAAYiV,QAAQ6wP,GACpB,MAAO,CAAC,EAGZ,IAAMwwG,EAAa1B,EAAUe,UAAU7vG,GAEjCywG,EAAoDv2W,GAAYw2W,oBAAqDx2W,GAAYiV,QAAQqhW,GAAcxwG,EAAOwwG,GAEpK,IAAKC,EACD,MAAM1zD,GAAgB4zD,+BAA+BvvY,KAAKC,UAAUovY,IAExE,OAAOA,GAMJ3B,EAAAA,4BAAP,SAAmC9uG,GAC/B,GAAI9lQ,GAAYiV,QAAQ6wP,IAASA,EAAKl9R,QAAQ,KAAO,EAEjD,OAAO,EAGX,IAAM+K,EAA8CihY,EAAU8B,oBAAoB5wG,GAClF,SACInyR,EAAWwhK,MACXxhK,EAAWgjY,mBACXhjY,EAAWf,OACXe,EAAWukC,QAGvB,mBC9NA,cAgCA,OAzBW0+V,EAAAA,2BAAP,SAAkCzY,EAAwBjmV,GACtD,GAAIlY,GAAYiV,QAAQiD,GACpB,OAAO,KAGX,IAEI,OAD4Cm7V,GAAcwD,kBAAkB1Y,EAAejmV,GACpEq7V,aAAa74I,KACtC,MAAO50P,GACL,MAAM+8U,GAAgB+wD,wBAAwB17V,EAAOpyC,KAQtD8wY,EAAAA,4BAAP,SAAmCE,GAC/B,IAAKA,EACD,MAAO,CAAC,EAGZ,IAAMC,EAAgB,IAAInC,GAAUkC,GACpC,OAAOlC,GAAU8B,oBAAoBK,EAAcpC,YAE3D,oBCTI,WAAYnrE,EAAkBwtE,EAAqCnN,EAAqBv5X,GAAxF,MACIwjB,EAAAA,KAAAA,KAAM01S,EAAUqgE,IAAW,YAHZn4X,EAAAA,uBAAyB,MAKxCA,EAAKslY,YAAcA,EACnBtlY,EAAKpB,OAASA,EACdoB,EAAKulY,gBAAkB,IAAI7Z,GAC3B1rX,EAAKwlY,eAAiBxlY,EAAKylY,oBAAoBzlY,EAAKslY,YAAYliB,eAChEpjX,EAAK0lY,sBAAwB1lY,EAAK2lY,2BAA2B3lY,EAAKslY,YAAYliB,eAG9EpjX,EAAK4lY,wBAy6Bb,OAn8ByCjkX,EAAAA,EAAAA,GAiC3BkkX,EAAAA,UAAAA,oBAAV,SAA8BziB,GAC1B,OAAQA,GACJ,KAAK11C,GAAqBk1D,aAC1B,KAAKl1D,GAAqBm1D,eACtB,IAEI,OAAO,IAAIF,GAAevf,GAC5B,MAAOhvX,GACLuB,KAAKiJ,OAAO+3U,QAAQviV,GACpB,OAOZ,OADAuB,KAAK2vY,YAAYliB,cAAgB11C,GAAqBg+C,cAC/C,IAAIA,IAOLma,EAAAA,UAAAA,2BAAV,SAAqCziB,GACjC,OAAQA,GACJ,KAAK11C,GAAqBk1D,aAC1B,KAAKl1D,GAAqBm1D,eACtB,IAEI,OAAO,IAAIF,GAAej1D,GAAqBm1D,gBACjD,MAAOzuY,GAEL,OADAuB,KAAKiJ,OAAO+3U,QAAQviV,GACbuB,KAAK4vY,gBAEpB,KAAK73D,GAAqBg+C,cAC1B,QACI,OAAO/1X,KAAK4vY,kBAQdM,EAAAA,UAAAA,oBAAV,sBACUC,EAAgBv+X,GAAUwhU,aAAY,IAAIN,GAAoBmsD,SAC9DmR,EAAmBx+X,GAAUwhU,aAAY,IAAIN,GAAoBu9D,YACjEC,EAAc1+X,GAAUwhU,aAAY,IAAIN,GAAoBy9D,MAC5DC,EAAkB5+X,GAAUwhU,aAAY,IAAIN,GAAoB29D,WAOhE/xY,EAAS,CALMsB,KAAK6vY,eAAezZ,QAAQ+Z,GACzBnwY,KAAK6vY,eAAezZ,QAAQga,GACjCpwY,KAAK6vY,eAAezZ,QAAQka,GACxBtwY,KAAK6vY,eAAezZ,QAAQoa,IAG7B,CAAC19D,GAAoBmsD,SAAUnsD,GAAoBu9D,YAAav9D,GAAoBy9D,MAAOz9D,GAAoB29D,YAEvH1xY,SAAQ,SAAC0lY,EAAiB1jY,GAAkB,SAAK2vY,kBAAkBjM,EAAU/lY,EAAOqC,GAAO,KASnGmvY,EAAAA,UAAAA,kBAAV,SAA4BS,EAAgB5zY,GACpCA,GACAiD,KAAK4wY,kBAAkBD,EAAQ5zY,GAAO,IAQpCmzY,EAAAA,UAAAA,qBAAV,SAA+BW,GAC3B,IACI,IAAMC,EAAajxY,KAAKsE,MAAM0sY,GAO9B,OAAQC,GAAoC,kBAAfA,EAA2BA,EAAa,KACvE,MAAOvlY,GACL,OAAO,OAQf2kY,EAAAA,UAAAA,QAAA,SAAQlvY,GACJ,OAAOhB,KAAK6vY,eAAezZ,QAAQp1X,IAQvCkvY,EAAAA,UAAAA,QAAA,SAAQlvY,EAAajE,GACjBiD,KAAK6vY,eAAevZ,QAAQt1X,EAAKjE,IAOrCmzY,EAAAA,UAAAA,WAAA,SAAWtN,GACP,IAAM3F,EAAUj9X,KAAKo2X,QAAQwM,GAC7B,IAAK3F,EACD,OAAO,KAGX,IAAM8T,EAAgB/wY,KAAKgxY,qBAAqB/T,GAChD,OAAK8T,GAAkBpV,GAAcsV,gBAAgBF,GAI9CtO,GAAapgG,SAAwB,IAAIs5F,GAAiBoV,GAHtD,MAWfb,EAAAA,UAAAA,WAAA,SAAWjT,GACPj9X,KAAKiJ,OAAOioY,MAAM,yCAClB,IAAMlwY,EAAMi8X,EAAQkU,qBACpBnxY,KAAKs2X,QAAQt1X,EAAKnB,KAAKC,UAAUm9X,KAOrCiT,EAAAA,UAAAA,qBAAA,SAAqBC,GACjB,IAAMpzY,EAAQiD,KAAKo2X,QAAQ+Z,GAC3B,IAAKpzY,EAED,OADAiD,KAAKiJ,OAAOioY,MAAM,kEACX,KAGX,IAAME,EAAgBpxY,KAAKgxY,qBAAqBj0Y,GAChD,OAAKq0Y,GAAkB5H,GAAc6H,gBAAgBD,IAKrDpxY,KAAKiJ,OAAOioY,MAAM,uDACXzO,GAAapgG,SAAS,IAAImnG,GAAiB4H,KAL9CpxY,KAAKiJ,OAAOioY,MAAM,kEACX,OAWfhB,EAAAA,UAAAA,qBAAA,SAAqBrT,GACjB78X,KAAKiJ,OAAOioY,MAAM,mDAClB,IAAMf,EAAatT,EAAQmK,wBAC3BhnY,KAAKs2X,QAAQ6Z,EAAYtwY,KAAKC,UAAU+8X,KAO5CqT,EAAAA,UAAAA,yBAAA,SAAyBoB,GACrB,IAAMv0Y,EAAQiD,KAAKo2X,QAAQkb,GAC3B,IAAKv0Y,EAED,OADAiD,KAAKiJ,OAAOioY,MAAM,sEACX,KAEX,IAAMK,EAAoBvxY,KAAKgxY,qBAAqBj0Y,GACpD,OAAKw0Y,GAAsBxH,GAAkByH,oBAAoBD,IAKjEvxY,KAAKiJ,OAAOioY,MAAM,2DACXzO,GAAapgG,SAAS,IAAI0nG,GAAqBwH,KALlDvxY,KAAKiJ,OAAOioY,MAAM,sEACX,OAWfhB,EAAAA,UAAAA,yBAAA,SAAyB9M,GACrBpjY,KAAKiJ,OAAOioY,MAAM,uDAClB,IAAMI,EAAiBlO,EAAY4D,wBACnChnY,KAAKs2X,QAAQgb,EAAgBzxY,KAAKC,UAAUsjY,KAOhD8M,EAAAA,UAAAA,0BAAA,SAA0BuB,GACtB,IAAM10Y,EAAQiD,KAAKo2X,QAAQqb,GAC3B,IAAK10Y,EAED,OADAiD,KAAKiJ,OAAOioY,MAAM,uEACX,KAEX,IAAMQ,EAAqB1xY,KAAKgxY,qBAAqBj0Y,GACrD,OAAK20Y,GAAuBjH,GAAmBkH,qBAAqBD,IAKpE1xY,KAAKiJ,OAAOioY,MAAM,4DACXzO,GAAapgG,SAAS,IAAIooG,GAAsBiH,KALnD1xY,KAAKiJ,OAAOioY,MAAM,uEACX,OAWfhB,EAAAA,UAAAA,0BAAA,SAA0B5M,GACtBtjY,KAAKiJ,OAAOioY,MAAM,wDAClB,IAAMO,EAAkBnO,EAAa0D,wBACrChnY,KAAKs2X,QAAQmb,EAAiB5xY,KAAKC,UAAUwjY,KAOjD4M,EAAAA,UAAAA,eAAA,SAAe0B,GACX,IAAM70Y,EAAQiD,KAAKo2X,QAAQwb,GAC3B,IAAK70Y,EAED,OADAiD,KAAKiJ,OAAOioY,MAAM,4DACX,KAGX,IAAMW,EAAiB7xY,KAAKgxY,qBAAqBj0Y,GACjD,OAAK80Y,GAAmBlH,GAAkBmH,oBAAoBF,EAAgBC,IAK9E7xY,KAAKiJ,OAAOioY,MAAM,iDACXzO,GAAapgG,SAAS,IAAIsoG,GAAqBkH,KALlD7xY,KAAKiJ,OAAOioY,MAAM,4DACX,OAWfhB,EAAAA,UAAAA,eAAA,SAAe1M,GACXxjY,KAAKiJ,OAAOioY,MAAM,6CAClB,IAAMU,EAAiBpO,EAAYuO,yBACnC/xY,KAAKs2X,QAAQsb,EAAgB/xY,KAAKC,UAAU0jY,KAOhD0M,EAAAA,UAAAA,mBAAA,SAAmB8B,GACf,IAAMj1Y,EAAQiD,KAAKo2X,QAAQ4b,GAC3B,IAAKj1Y,EAED,OADAiD,KAAKiJ,OAAOioY,MAAM,gEACX,KAEX,IAAMW,EAAiB7xY,KAAKgxY,qBAAqBj0Y,GACjD,OAAK80Y,GAAmB7G,GAAsBiH,wBAAwBD,EAAoBH,IAK1F7xY,KAAKiJ,OAAOioY,MAAM,qDACXzO,GAAapgG,SAAS,IAAI2oG,GAAyB6G,KALtD7xY,KAAKiJ,OAAOioY,MAAM,gEACX,OAYfhB,EAAAA,UAAAA,mBAAA,SAAmB8B,EAA4BE,GAC3ClyY,KAAKiJ,OAAOioY,MAAM,iDAClBlxY,KAAKs2X,QAAQ0b,EAAoBnyY,KAAKC,UAAUoyY,KAMpDhC,EAAAA,UAAAA,qBAAA,SAAqBlvY,GACjB,IAAMjE,EAAQiD,KAAK4vY,gBAAgBxZ,QAAQp1X,GAC3C,IAAKjE,EAED,OADAiD,KAAKiJ,OAAOioY,MAAM,kEACX,KAEX,IAAMW,EAAiB7xY,KAAKgxY,qBAAqBj0Y,GACjD,OAAI80Y,GAAkBzG,GAAwB+G,0BAA0BnxY,EAAK6wY,IACzE7xY,KAAKiJ,OAAOioY,MAAM,uDACXzO,GAAapgG,SAAS,IAAI+oG,GAA2ByG,IAEzD,MAMX3B,EAAAA,UAAAA,yBAAA,sBAEI,OADgBlwY,KAAK4vY,gBAAgBnZ,UACtBp0X,QAAO,SAACrB,GACnB,OAAOqJ,EAAKg8X,oBAAoBrlY,OASxCkvY,EAAAA,UAAAA,mBAAA,SAAmBkC,EAAoBC,GACnCryY,KAAK4vY,gBAAgBtZ,QAAQp+C,GAAkBo6D,YAAaF,GAC5DpyY,KAAK4vY,gBAAgBtZ,QAAQp+C,GAAkBq6D,YAAaF,IAMhEnC,EAAAA,UAAAA,mBAAA,WAGI,MAAO,CAFKlwY,KAAK4vY,gBAAgBxZ,QAAQl+C,GAAkBo6D,cAAgB,GAC3DtyY,KAAK4vY,gBAAgBxZ,QAAQl+C,GAAkBq6D,cAAgB,KAQnFrC,EAAAA,UAAAA,qBAAA,SAAqBlvY,EAAag9X,GAC9Bh+X,KAAKiJ,OAAOioY,MAAM,mDAClBlxY,KAAK4vY,gBAAgBtZ,QAAQt1X,EAAKnB,KAAKC,UAAUk+X,KAMrDkS,EAAAA,UAAAA,iBAAA,WACI,IAAMsC,EAAqBxyY,KAAKyyY,iBAAiB3/D,GAAoB4/D,gBAC/DC,EAAkB3yY,KAAK6vY,eAAezZ,QAAQoc,GACpD,OAAKG,GAGE3yY,KAAK4yY,uBAAuB,CAAC9yD,eAAgB6yD,IAAkB,IAF3D,MASfzC,EAAAA,UAAAA,iBAAA,SAAiBjT,GACb,IAAMuV,EAAqBxyY,KAAKyyY,iBAAiB3/D,GAAoB4/D,gBACjEzV,GACAj9X,KAAKiJ,OAAO+3U,QAAQ,wCACpBhhV,KAAK6vY,eAAevZ,QAAQkc,EAAoBvV,EAAQn9C,kBAExD9/U,KAAKiJ,OAAO+3U,QAAQ,+DACpBhhV,KAAK6vY,eAAetZ,WAAWic,KAQvCtC,EAAAA,UAAAA,uBAAA,SAAuB7L,GAEnB,OADoBrkY,KAAKw5U,iBACNn3U,QAAO,SAAC09U,GACvB,QAAIskD,EAAcpvG,UAAYovG,EAAcpvG,SAASj9P,gBAAkB+nT,EAAW9qD,SAASj9P,mBAIvFqsW,EAAcxkD,eAAiBwkD,EAAcxkD,gBAAkBE,EAAWF,mBAI1EwkD,EAAcvkD,gBAAkBukD,EAAcvkD,iBAAmBC,EAAWD,oBAI5EukD,EAAcvI,UAAYuI,EAAcvI,WAAa/7C,EAAW+7C,aAIhEuI,EAAchsR,aAAegsR,EAAchsR,cAAgB0nO,EAAW1nO,oBAYlF63R,EAAAA,UAAAA,mBAAA,SAAmB2C,GACf,IAAM91Y,EAAQiD,KAAKo2X,QAAQyc,GAC3B,IAAK91Y,EAED,OADAiD,KAAKiJ,OAAOioY,MAAM,gEACX,KAGX,IAAM4B,EAAwB9yY,KAAKgxY,qBAAqBj0Y,GACxD,OAAK+1Y,GAA0B/G,GAAiBgH,mBAAmBF,EAAoBC,IAKvF9yY,KAAKiJ,OAAOioY,MAAM,qDACXzO,GAAapgG,SAAS,IAAI0pG,GAAoB+G,KALjD9yY,KAAKiJ,OAAOioY,MAAM,gEACX,OAYfhB,EAAAA,UAAAA,mBAAA,SAAmB2C,EAA4BG,GAC3ChzY,KAAKiJ,OAAOioY,MAAM,iDAClBlxY,KAAKs2X,QAAQuc,EAAoBhzY,KAAKC,UAAUkzY,KAQpD9C,EAAAA,UAAAA,kBAAA,SAAkBzL,EAAkBpR,GAChC,IAAMryX,EAAMqyX,EAAcrzX,KAAKyyY,iBAAiBhO,GAAYA,EAC5D,GAAIzkY,KAAK2vY,YAAYjiB,uBAAwB,CACzC,IAAMulB,EAAajzY,KAAKkzY,cAAclyY,GACtC,GAAIiyY,EAEA,OADAjzY,KAAKiJ,OAAOioY,MAAM,uGACX+B,EAIf,IAAMl2Y,EAAQiD,KAAK+vY,sBAAsB3Z,QAAQp1X,GACjD,IAAKjE,EAAO,CAER,GAAIiD,KAAK2vY,YAAYliB,gBAAkB11C,GAAqBk1D,aAAc,CACtE,IAAMt0X,EAAO3Y,KAAK6vY,eAAezZ,QAAQp1X,GACzC,GAAI2X,EAEA,OADA3Y,KAAKiJ,OAAOioY,MAAM,sFACXv4X,EAIf,OADA3Y,KAAKiJ,OAAOioY,MAAM,+EACX,KAGX,OADAlxY,KAAKiJ,OAAOioY,MAAM,wEACXn0Y,GAUXmzY,EAAAA,UAAAA,kBAAA,SAAkBzL,EAAkB1nY,EAAes2X,GAC/C,IAAMryX,EAAMqyX,EAAcrzX,KAAKyyY,iBAAiBhO,GAAYA,EAE5DzkY,KAAK+vY,sBAAsBzZ,QAAQt1X,EAAKjE,GACpCiD,KAAK2vY,YAAYjiB,yBACjB1tX,KAAKiJ,OAAOioY,MAAM,kGAClBlxY,KAAKmzY,cAAcnyY,EAAKjE,KAShCmzY,EAAAA,UAAAA,WAAA,SAAWlvY,GAOP,OANAhB,KAAK6vY,eAAetZ,WAAWv1X,GAC/BhB,KAAK+vY,sBAAsBxZ,WAAWv1X,GAClChB,KAAK2vY,YAAYjiB,yBACjB1tX,KAAKiJ,OAAOioY,MAAM,wFAClBlxY,KAAKozY,gBAAgBpyY,KAElB,GAOXkvY,EAAAA,UAAAA,YAAA,SAAYlvY,GACR,OAAOhB,KAAK6vY,eAAelZ,YAAY31X,IAAQhB,KAAK+vY,sBAAsBpZ,YAAY31X,IAM1FkvY,EAAAA,UAAAA,QAAA,WACI,OAAO,EACAlwY,KAAK6vY,eAAepZ,UACpBz2X,KAAK+vY,sBAAsBtZ,YAOhCyZ,EAAAA,UAAAA,MAAN,gHAEI,SAAMlwY,KAAKqzY,mCAAXtmX,EAAAA,OACA/sB,KAAKszY,oBAGLtzY,KAAKy2X,UAAU13X,SAAQ,SAAC0lY,IAEfp6X,EAAKwlY,eAAelZ,YAAY8N,KAAap6X,EAAK0lY,sBAAsBpZ,YAAY8N,KAA8D,IAA9CA,EAASljY,QAAQqQ,GAAUwhU,gBAA+D,IAArCqxD,EAASljY,QAAQ8I,EAAK83T,WAChL93T,EAAKksX,WAAWkO,MAIxBzkY,KAAK4vY,gBAAgB1zM,oBASzBg0M,EAAAA,UAAAA,cAAA,SAAcqD,EAAoBC,EAAqB91G,GACnD,IAAI+1G,EAAer+G,mBAAmBm+G,GAAW,IAAIn+G,mBAAmBo+G,GAAY,WAChF91G,IAEA+1G,GAAa,WADMzzY,KAAK0zY,wBAAwBh2G,GACd,KAGlC19R,KAAK2vY,YAAYgE,gBACjBF,GAAa,WAGjB9pX,SAASk0Q,OAAS41G,GAOtBvD,EAAAA,UAAAA,cAAA,SAAcqD,GAGV,IAFA,IAAM9tY,EAAU2vR,mBAAmBm+G,GAAW,IACxCK,EAAajqX,SAASk0Q,OAAOv6R,MAAM,KAChCjD,EAAY,EAAGA,EAAIuzY,EAAWx2Y,OAAQiD,IAAK,CAEhD,IADA,IAAIw9R,EAAS+1G,EAAWvzY,GACI,MAArBw9R,EAAOl2O,OAAO,IACjBk2O,EAASA,EAAOxxR,UAAU,GAE9B,GAA6B,IAAzBwxR,EAAOt8R,QAAQkE,GACf,OAAOu4R,mBAAmBH,EAAOxxR,UAAU5G,EAAKrI,OAAQygS,EAAOzgS,SAGvE,MAAO,IAMX8yY,EAAAA,UAAAA,iBAAA,sBACU2D,EAAkBjiY,GAAUwhU,aAAY,IAAIpzU,KAAKmiU,SACpCx4S,SAASk0Q,OAAOv6R,MAAM,KAC9BvE,SAAQ,SAAC8+R,GAChB,KAA4B,MAArBA,EAAOl2O,OAAO,IAEjBk2O,EAASA,EAAOxxR,UAAU,GAE9B,GAAqC,IAAjCwxR,EAAOt8R,QAAQsyY,GAAqB,CACpC,IAAMC,EAAYj2G,EAAOv6R,MAAM,KAAK,GACpC+G,EAAK+oY,gBAAgBU,QASjC5D,EAAAA,UAAAA,gBAAA,SAAgBqD,GACZvzY,KAAKmzY,cAAcI,EAAY,IAAK,IAOxCrD,EAAAA,UAAAA,wBAAA,SAAwB6D,GACpB,IAAMC,EAAQ,IAAIzsY,KAElB,OADa,IAAIA,KAAKysY,EAAMxsY,UAAYusY,EAAiB/zY,KAAKi0Y,wBAClDx2D,eAMhByyD,EAAAA,UAAAA,SAAA,WACI,OAAOlwY,KAAK6vY,gBAMhBK,EAAAA,UAAAA,SAAA,aASAA,EAAAA,UAAAA,iBAAA,SAAiBlvY,GAEb,OADqBhB,KAAKgxY,qBAAqBhwY,GAQxCnB,KAAKC,UAAUkB,GANd23B,GAAY+Y,WAAW1wC,EAAK4Q,GAAUwhU,eAAiBz6S,GAAY+Y,WAAW1wC,EAAK8xU,GAAoBohE,eAChGlzY,EAED4Q,GAAUwhU,aAAY,IAAIpzU,KAAKmiU,SAAQ,IAAInhU,GAU7DkvY,EAAAA,UAAAA,qBAAA,SAAqB5D,GAGT,IAAI6H,EAERnI,GAAcwD,kBAAkBxvY,KAAKwiY,WAAY8J,GAAY,gBAEjE,OAAOtsY,KAAKyyY,iBAAoBx6D,GAAmBm8D,UAAS,IAAID,IAOpEjE,EAAAA,UAAAA,iBAAA,SAAiB5D,GAGL,IAAI6H,EAERnI,GAAcwD,kBAAkBxvY,KAAKwiY,WAAY8J,GAAY,gBAEjE,OAAOtsY,KAAKyyY,iBAAoBx6D,GAAmBo8D,cAAa,IAAIF,IAOxEjE,EAAAA,UAAAA,iBAAA,SAAiB5D,GAIL,IAAI6H,EAERnI,GAAcwD,kBAAkBxvY,KAAKwiY,WAAY8J,GAAY,gBACjE,OAAOtsY,KAAKyyY,iBAAoBx6D,GAAmBq8D,cAAa,IAAIH,IAMxEjE,EAAAA,UAAAA,mBAAA,SAAmBqE,GACf,IAAMC,EAAgBx0Y,KAAKy0Y,iBAAiBF,GACtC1jW,EAAQ7wC,KAAK00Y,kBAAkBF,GACrC,IAAK3jW,EACD,OAAO,KAGX,IAAM8jW,EAAoB30Y,KAAK40Y,qBAAqB/jW,GACpD,OAAO7wC,KAAK00Y,kBAAkBC,IAQlCzE,EAAAA,UAAAA,mBAAA,SAAmBr/V,EAAe0wR,EAAeszE,EAA2BC,EAAmB7X,GAC3Fj9X,KAAKiJ,OAAOioY,MAAM,iDAElB,IAAMsD,EAAgBx0Y,KAAKy0Y,iBAAiB5jW,GAC5C7wC,KAAK4wY,kBAAkB4D,EAAe3jW,GAAO,GAG7C,IAAMkkW,EAAgB/0Y,KAAKg1Y,iBAAiBnkW,GAC5C7wC,KAAK4wY,kBAAkBmE,EAAexzE,GAAO,GAG7C,IAAMozE,EAAoB30Y,KAAK40Y,qBAAqB/jW,GAGpD,GAFA7wC,KAAK4wY,kBAAkB+D,EAAmBE,GAAmB,GAEzD5X,EAAS,CACT,IAAMgY,EAA+B,CACjCvR,WAAYzG,EAAQp9C,cACpBvuU,KAAMoqX,GAAkBwZ,iBAE5Bl1Y,KAAK4wY,kBAAkB34D,GAAmBk9D,eAAgBt1Y,KAAKC,UAAUm1Y,IAAgB,QACtF,IAAKt8W,GAAYiV,QAAQknW,GAAY,CAClCG,EAA+B,CACjCvR,WAAYoR,EACZxjY,KAAMoqX,GAAkB0Z,KAE5Bp1Y,KAAK4wY,kBAAkB34D,GAAmBk9D,eAAgBt1Y,KAAKC,UAAUm1Y,IAAgB,KAQjG/E,EAAAA,UAAAA,kBAAA,SAAkBr/V,GAAlB,WACI7wC,KAAKiJ,OAAOioY,MAAM,gDAEbv4W,GAAYiV,QAAQiD,IACrB7wC,KAAKy2X,UAAU13X,SAAQ,SAAAiC,IACS,IAAxBA,EAAIO,QAAQsvC,IACZxmC,EAAKksX,WAAWv1X,MAMxB6vC,IACA7wC,KAAKu2X,WAAWv2X,KAAKy0Y,iBAAiB5jW,IACtC7wC,KAAKu2X,WAAWv2X,KAAKg1Y,iBAAiBnkW,IACtC7wC,KAAKu2X,WAAWv2X,KAAK40Y,qBAAqB/jW,KAE9C7wC,KAAKu2X,WAAWv2X,KAAKyyY,iBAAiBx6D,GAAmBo9D,iBACzDr1Y,KAAKu2X,WAAWv2X,KAAKyyY,iBAAiBx6D,GAAmBq9D,aACzDt1Y,KAAKu2X,WAAWv2X,KAAKyyY,iBAAiBx6D,GAAmBs9D,WACzDv1Y,KAAKu2X,WAAWv2X,KAAKyyY,iBAAiBx6D,GAAmBu9D,iBACzDx1Y,KAAKu2X,WAAWv2X,KAAKyyY,iBAAiBx6D,GAAmBk9D,iBACzDn1Y,KAAKy1Y,0BAAyB,IAOlCvF,EAAAA,UAAAA,oBAAA,SAAoB5D,GAGhB,GAFAtsY,KAAKiJ,OAAOioY,MAAM,kDAEd5E,EAAa,CACb,IAAMoJ,EAAW11Y,KAAKy0Y,iBAAiBnI,GACjCiI,EAAcv0Y,KAAK+vY,sBAAsB3Z,QAAQsf,GACvD11Y,KAAKiJ,OAAO0sY,QAAQ,sFAAsFpB,GAC1Gv0Y,KAAK41Y,kBAAkBrB,GAAe,IAE1Cv0Y,KAAK61Y,oBAQT3F,EAAAA,UAAAA,8BAAA,SAA8B7xD,GAA9B,WACIr+U,KAAKiJ,OAAOioY,MAAM,4DAElBlxY,KAAKy2X,UAAU13X,SAAQ,SAACiC,GAEpB,IAAuD,IAAnDA,EAAIO,QAAQ02U,GAAmBq8D,eAAnC,CAKA,IAAMwB,EAAazrY,EAAK0lY,sBAAsB3Z,QAAQp1X,GACtD,GAAK80Y,EAAL,CAIA,IAAMC,EAAcxG,GAAqByG,2BAA2B3rY,EAAKm4X,WAAYsT,GACjFC,GAAeA,EAAY13D,kBAAoBA,IAC/Ch0U,EAAKpB,OAAO0sY,QAAQ,gGAAgGG,GACpHzrY,EAAKurY,kBAAkBE,SAG/B91Y,KAAK61Y,mBACL71Y,KAAKy1Y,0BAAyB,IAGlCvF,EAAAA,UAAAA,iBAAA,SAAiB+F,EAAiDnf,GAC9D92X,KAAKiJ,OAAOioY,MAAM,+CAElB,IAAMgF,EAAepf,EAAcvF,aAAa1xX,KAAKC,UAAUm2Y,IAC/Dj2Y,KAAK4wY,kBAAkB34D,GAAmBo9D,eAAgBa,GAAc,IAM5EhG,EAAAA,UAAAA,iBAAA,SAAiBr/V,EAAeimV,GAC5B92X,KAAKiJ,OAAOioY,MAAM,+CAElB,IAAMiF,EAAsBn2Y,KAAK00Y,kBAAkBz8D,GAAmBo9D,gBAAgB,GACtF,IAAKc,EACD,MAAMnlB,GAAiBolB,iCAG3B,IAAMC,EAAgBr2Y,KAAKgxY,qBAAqBla,EAAcmD,aAAakc,IAC3E,IAAKE,EACD,MAAMrlB,GAAiBslB,4CAK3B,GAHAt2Y,KAAKu2X,WAAWv2X,KAAKyyY,iBAAiBx6D,GAAmBo9D,iBAGrD18W,GAAYiV,QAAQyoW,EAAchpB,WAAY,CAC9C,IAAMsnB,EAA4B30Y,KAAK40Y,qBAAqB/jW,GACtD0lW,EAAkBv2Y,KAAK00Y,kBAAkBC,GAC/C,IAAK4B,EACD,MAAMvlB,GAAiBwlB,+BAE3BH,EAAchpB,UAAYkpB,EAG9B,OAAOF,GAGXnG,EAAAA,UAAAA,wBAAA,SAAwB3K,GACpB,IAAMpjE,EAAWniU,KAAKy2Y,2BAEtB,OAAIlR,EACOpjE,IAAaniU,KAAKmiU,WAEhBA,GAIjB+tE,EAAAA,UAAAA,yBAAA,WACI,IAAMlvY,EAAS4Q,GAAUwhU,aAAY,IAAI6E,GAAmBy+D,uBAC5D,OAAO12Y,KAAK00Y,kBAAkB1zY,GAAK,IAGvCkvY,EAAAA,UAAAA,yBAAA,SAAyBhlJ,GAErB,IAAMlqP,EAAS4Q,GAAUwhU,aAAY,IAAI6E,GAAmBy+D,uBAC5D,GAAIxrJ,EAAY,CACZ,GAAIlrP,KAAKy2Y,2BACL,MAAMzlB,GAAiB2lB,mCAGvB32Y,KAAK4wY,kBAAkB5vY,EAAKhB,KAAKmiU,UAAU,QAEvCj3E,GAAclrP,KAAKy2Y,6BAA+Bz2Y,KAAKmiU,UAC/DniU,KAAKu2X,WAAWv1X,IAOxBkvY,EAAAA,UAAAA,mBAAA,WAEI,IAAM0G,EAAoB52Y,KAAK00Y,kBAAkB5hE,GAAoBohE,eACjE0C,IACA52Y,KAAK6vY,eAAetZ,WAAWzjD,GAAoBohE,eACnDl0Y,KAAKiJ,OAAO+3U,QAAQ,oCAIxB,IAAM61D,EAAoB72Y,KAAK00Y,kBAAkB5hE,GAAoBmsD,UAAU,GAC3E4X,IACA72Y,KAAKu2X,WAAWv2X,KAAKyyY,iBAAiB3/D,GAAoBmsD,WAC1Dj/X,KAAKiJ,OAAO+3U,QAAQ,yCAGxB,IAAM81D,EAAsBD,GAAqBD,EACjD,GAAIE,EAAqB,CACrB,IAAMxP,EAAgB,IAAIyP,GAAQD,EAAqB92Y,KAAKwiY,YAC5D,GAAI8E,EAAcjK,QAAUiK,EAAcjK,OAAOI,mBAE7C,OADAz9X,KAAKiJ,OAAO+3U,QAAQ,6GACbsmD,EAAcjK,OAAOI,mBAE3B,GAAI6J,EAAcjK,QAAUiK,EAAcjK,OAAOO,IAElD,OADA59X,KAAKiJ,OAAO+3U,QAAQ,8FACbsmD,EAAcjK,OAAOO,IAG5B59X,KAAKiJ,OAAO+3U,QAAQ,0JAI5B,OAAO,MAMXkvD,EAAAA,UAAAA,yBAAA,SAAyB8G,EAAyBtT,GAC9C,IAAMmC,EAAkBnC,EAAWsD,wBAEnC,GAAIgQ,IAAoBnR,EAAiB,CACrC,IAAMoR,EAAYj3Y,KAAKo2X,QAAQ4gB,GAC/B,GAAIC,EAIA,OAHAj3Y,KAAKu2X,WAAWygB,GAChBh3Y,KAAKs2X,QAAQuP,EAAiBoR,GAC9Bj3Y,KAAKiJ,OAAO+3U,QAAQ,uBAAuB0iD,EAAW/E,eAAc,cAC7DkH,EAEP7lY,KAAKiJ,OAAOsC,MAAM,mCAAmCm4X,EAAW/E,eAAc,yEAItF,OAAOqY,GAEf,GAn8ByCvU,KLXzC,SAAYmK,GACRA,EAAAA,IAAAA,MACAA,EAAAA,KAAAA,MACH,CAHD,CAAYA,KAAAA,GAAY,KCQxB,SAAYC,GAERA,EAAAA,EAAAA,KAAAA,GAAAA,OAGAA,EAAAA,YAAAA,oCAGAA,EAAAA,SAAAA,gCAGAA,EAAAA,WAAAA,iCAGAA,EAAAA,aAAAA,mCAGAA,EAAAA,kBAAAA,kCACH,CAlBD,CAAYA,KAAAA,GAAkB,SKdjBv5P,GAAU,QC2JV4jQ,GAAkD,CAC3DC,0BA3IqC,IA4IrCC,sBAAsB,EACtBC,SAAUzlY,GAAU8iU,cAGlB4iE,GAAyD,CAC3Dl6D,eAAgB,aAGhBC,mBAAmB,EACnBC,SAAUlC,GAAS8B,KACnBrE,cAAejnU,GAAU8iU,cAGvB6iE,GAAiD,CAC7CC,oBAAN,gFAEI,KADmB,qEACb7+D,GAAUqhD,sBADG,6EAGjByd,qBAAN,gFAEI,KADmB,sEACb9+D,GAAUqhD,sBADG,+EAKrB0d,GAAoC,CACtCC,IAAK/lY,GAAUuhU,IACf7/L,QAASA,GACTskQ,IAAKhmY,GAAU8iU,aACfmjE,GAAIjmY,GAAU8iU,cAGZojE,GAAgD,CAClDC,aAAcnmY,GAAU8iU,aACxBsjE,qBAAiBx6Y,GAGfy6Y,GAAiD,CACnDC,mBAAoBrL,GAAmB9tD,KACvCo5D,OAAQ,GAAGvmY,GAAU2hU,uBAGnB6kE,GAAwD,CAC1DC,YAAa,CACTC,QAAS,GACTC,WAAY,SCnKPC,GAAuC,CAChDhB,oBAAqB,WAEjB,OAAOpjH,QAAQC,OAAOskD,GAAUqhD,sBADb,mGAGvByd,qBAAsB,WAElB,OAAOrjH,QAAQC,OAAOskD,GAAUqhD,sBADb,mHClC3B,cA4FA,OApFUye,EAAAA,UAAAA,oBAAN,SAA6B98J,EAAa9wN,uGAGvB,gCAAM6tX,MAAM/8J,EAAK,CACxBs2C,OAAQ+lD,GAAkB2gE,IAC1BlkH,QAASz0R,KAAK44Y,gBAAgB/tX,oBAFlCwxN,EAAWx5M,EAAAA,oBAKX,iBAAIt8B,OAAOwwD,UAAU8hV,OACX7nB,GAAiB8nB,4BAA4Bn2W,EAAGg5M,GAEhDq1I,GAAiB+nB,0CAOjB,gCADNtkH,QAASz0R,KAAKg5Y,cAAc38J,EAASo4C,UAC/B,GAAMp4C,EAASitJ,eAFzB,MAAO,CAAP,GAEIv8W,EAAAA,KAAM8V,EAAAA,OACN9V,EAAAA,OAAQsvN,EAASjqK,OAAM,WAG3B,eAAM4+S,GAAiBioB,wCAAwCt9J,4BAUjE88J,EAAAA,UAAAA,qBAAN,SAA8B98J,EAAa9wN,yGACjCquX,EAAWruX,GAAWA,EAAQqtC,MAAS,oBAI9B,gCAAMwgV,MAAM/8J,EAAK,CACxBs2C,OAAQ+lD,GAAkBmhE,KAC1B1kH,QAASz0R,KAAK44Y,gBAAgB/tX,GAC9BqtC,KAAMghV,mBAHV78J,EAAWx5M,EAAAA,oBAMX,iBAAIt8B,OAAOwwD,UAAU8hV,OACX7nB,GAAiBooB,6BAA6B5iB,EAAG76I,GAEjDq1I,GAAiB+nB,0CAOjB,gCADNtkH,QAASz0R,KAAKg5Y,cAAc38J,EAASo4C,UAC/B,GAAMp4C,EAASitJ,eAFzB,MAAO,CAAP,GAEIv8W,EAAAA,KAAM8V,EAAAA,OACN9V,EAAAA,OAAQsvN,EAASjqK,OAAM,WAG3B,eAAM4+S,GAAiBioB,wCAAwCt9J,4BAQ/D88J,EAAAA,UAAAA,gBAAR,SAAwB5tX,GACpB,IAAM4pQ,EAAU,IAAI4kH,QACpB,IAAMxuX,IAAWA,EAAQ4pQ,QACrB,OAAOA,EAEX,IAAM6kH,EAAiBzuX,EAAQ4pQ,QAI/B,OAHAx1R,OAAOmB,KAAKk5Y,GAAgBv6Y,SAAQ,SAACiC,GACjCyzR,EAAQ8kH,OAAOv4Y,EAAKs4Y,EAAet4Y,OAEhCyzR,GAGHgkH,EAAAA,UAAAA,cAAR,SAAsBhkH,GAClB,IAAM+kH,EAAqC,CAAC,EAI5C,OAHA/kH,EAAQ11R,SAAQ,SAAChC,EAAeiE,GAC5Bw4Y,EAAWx4Y,GAAOjE,KAEfy8Y,GAEf,mBC5FA,cA+GA,OAvGUC,EAAAA,UAAAA,oBAAN,SAA6B99J,EAAa9wN,sEACtC,MAAO,CAAP,EAAO7qB,KAAK05Y,iBAAiB/9J,EAAKq8F,GAAkB2gE,IAAK9tX,WASvD4uX,EAAAA,UAAAA,qBAAN,SAA8B99J,EAAa9wN,sEACvC,MAAO,CAAP,EAAO7qB,KAAK05Y,iBAAiB/9J,EAAKq8F,GAAkBmhE,KAAMtuX,WAStD4uX,EAAAA,UAAAA,iBAAR,SAA4B99J,EAAas2C,EAA2BpnQ,GAApE,WACI,OAAO,IAAIupQ,SAA4B,SAACxhN,EAASyhN,GAC7C,IAAMslH,EAAM,IAAI39J,eAoChB,GAnCA29J,EAAItgW,KAAK44O,EAAQt2C,GAAkB,GACnCtxO,EAAKuvY,cAAcD,EAAK9uX,GACxB8uX,EAAI19J,OAAS,YACL09J,EAAIvnU,OAAS,KAAOunU,EAAIvnU,QAAU,OAC9B6/M,IAAW+lD,GAAkBmhE,KAC7B9kH,EAAO28F,GAAiBooB,6BAA6B,sBAAsBO,EAAIvnU,OAAUupK,IAEzF04C,EAAO28F,GAAiB8nB,4BAA4B,sBAAsBa,EAAIvnU,OAAUupK,KAGhG,IACI,IAAMk+J,EAAeh6Y,KAAKsE,MAAMw1Y,EAAIr9J,cAC9Bw9J,EAAsC,CACxCrlH,QAASpqR,EAAK2uY,cAAcW,GAC5BzhV,KAAM2hV,EACNznU,OAAQunU,EAAIvnU,QAEhBQ,EAAQknU,GACV,MAAOr7Y,GACL41R,EAAO28F,GAAiBioB,wCAAwCt9J,MAIxEg+J,EAAI1jH,QAAU,WACN1vR,OAAOwwD,UAAU8hV,OACb5mH,IAAW+lD,GAAkBmhE,KAC7B9kH,EAAO28F,GAAiBooB,6BAA6B,sBAAsBO,EAAIvnU,OAAUupK,IAEzF04C,EAAO28F,GAAiB8nB,4BAA4B,sBAAsBa,EAAIvnU,OAAUupK,IAG5F04C,EAAO28F,GAAiB+nB,qCAI5B9mH,IAAW+lD,GAAkBmhE,MAAQtuX,GAAWA,EAAQqtC,KACxDyhV,EAAIx9J,KAAKtxN,EAAQqtC,UACd,IAAI+5N,IAAW+lD,GAAkB2gE,IAGpC,MAAM3nB,GAAiB+oB,oCAAoC9nH,GAF3D0nH,EAAIx9J,YAYRs9J,EAAAA,UAAAA,cAAR,SAAsBE,EAAqB9uX,GACvC,GAAIA,GAAWA,EAAQ4pQ,QAAS,CAC5B,IAAMulH,EAAUnvX,EAAQ4pQ,QACxBx1R,OAAOmB,KAAK45Y,GAASj7Y,SAAQ,SAACiC,GAC1B24Y,EAAI/iH,iBAAiB51R,EAAKg5Y,EAAQh5Y,SAWtCy4Y,EAAAA,UAAAA,cAAR,SAAsBE,GAClB,IACMM,EADeN,EAAIhkH,wBACM/vR,OAAOtC,MAAM,WACtCk2Y,EAAqC,CAAC,EAU5C,OATAS,EAAUl7Y,SAAQ,SAAChC,GACf,IAAMwsD,EAAQxsD,EAAMuG,MAAM,MACpBkuB,EAAa+3B,EAAM1kD,QACnBq1Y,EAAY3wV,EAAMp+C,KAAK,MACzBqmB,GAAc0oX,IACdV,EAAWhoX,GAAc0oX,MAI1BV,GAEf,mBC7GA,cAgIA,OAzHW//U,EAAAA,UAAP,SAAiB2nP,GAEbA,EAAc1qQ,SAAS+nP,KAAO7sR,GAAU8iU,aACU,oBAAvCtzB,EAAcm2D,QAAQ4iC,cAE7B/4F,EAAcm2D,QAAQ4iC,aAAa,KAAMvoY,GAAU8iU,aAAc,GAAGtzB,EAAc1qQ,SAAS0jW,OAASh5F,EAAc1qQ,SAASkoP,SAAWwiB,EAAc1qQ,SAASwyB,SAO9JzP,EAAAA,YAAP,SAAmBkiL,GACf,IAAM0+J,EAAW1+J,EAAIr4O,MAAM,KAC3B+2Y,EAASx1Y,QACT0B,OAAOmwC,SAAS+nP,KAAO47G,EAASj9Y,OAAS,EAAIi9Y,EAASlvY,KAAK,KAAO,IAM/DsuD,EAAAA,WAAP,WACI,OAAOlzD,OAAOiQ,SAAWjQ,QAMtBkzD,EAAAA,UAAP,WACI,MAAyB,qBAAXlzD,UAA4BA,OAAO+zY,QAC7C/zY,OAAO+zY,SAAW/zY,QACK,kBAAhBA,OAAOd,MACoD,IAAlEc,OAAOd,KAAKlE,QAAWw5U,GAAkC,MAQ1DthR,EAAAA,cAAP,WACI,OAAOlzD,OAAOmwC,SAAS4nP,KAAKh7R,MAAM,KAAK,GAAGA,MAAM,KAAK,IAMlDm2D,EAAAA,YAAP,WACI,IACM+0U,EADa,IAAIjB,GAAUhnY,OAAOmwC,SAAS4nP,MAChBovG,mBACjC,OAAUc,EAAcV,SAAQ,KAAKU,EAAcZ,gBAAe,KAM/Dn0U,EAAAA,wBAAP,WACI,OAAIlzD,OAAOmyY,OAASnyY,OAAO8yY,QAChB,IAAIZ,GAEJ,IAAIgB,IAQZhgV,EAAAA,2BAAP,WAGI,GAFuB8zU,GAAUgN,4BAA4Bh0Y,OAAOmwC,SAAS+nP,OAEvDhlO,EAAa+gV,aAC/B,MAAMxpB,GAAiBypB,wCASxBhhV,EAAAA,sBAAP,SAA6B4kR,EAAkCq8D,GAC3D,IAAMC,EAAelhV,EAAa+gV,aAClC,GAAIn8D,IAAoBjG,GAAgBkG,UAAYq8D,IAAiBD,EAEjE,MAAM1pB,GAAiB4pB,4BAA4BD,IAOpDlhV,EAAAA,0BAAP,WAEI,GAAIA,EAAaohV,YACb,MAAM7pB,GAAiB8pB,wCAQxBrhV,EAAAA,2BAAP,SAAkCshV,GAC9B,IAAKA,EACD,MAAM/pB,GAAiBgqB,oCAOxBvhV,EAAAA,eAAP,WACI,IAAMitO,EAAKngS,OAAOwwD,UAAUC,UACtBmnO,EAAOuI,EAAGnlS,QAAQ,SAClB05Y,EAASv0G,EAAGnlS,QAAQ,YACpB25Y,EAASx0G,EAAGnlS,QAAQ,SAG1B,OAFa48R,EAAO,GAAK88G,EAAS,GACnBC,EAAS,GAGhC,mBCtIA,cAqCA,OA/BIC,EAAAA,UAAAA,iBAAA,SAAiBx/J,EAAa9wN,GAC1B,OAAOswX,EAAiBC,sBAAsBz/J,EAAK9wN,IAQvDswX,EAAAA,UAAAA,iBAAA,SAAiBx/J,EAAa9wN,GAC1B,OAAOswX,EAAiBC,sBAAsBz/J,EAAK9wN,IAQxCswX,EAAAA,sBAAf,SAAqCx/J,EAAa9wN,GAO9C,OANIA,EAAQwwX,UACR90Y,OAAOmwC,SAASnuC,QAAQozO,GAExBp1O,OAAOmwC,SAAS/mB,OAAOgsN,GAGpB,IAAIy4C,SAAQ,SAACxhN,GAChBpsE,YAAW,WACPosE,GAAQ,KACT/nD,EAAQ9jB,aAGvB,KChCau0Y,GAA4B,QCcpCC,GCzBQjoQ,GAAU,uBCenB,WAAYrqI,EAAgB6tX,GACxB92X,KAAKw7Y,eAAiB,IAAI38Y,IAC1BmB,KAAKiJ,OAASA,EACdjJ,KAAK82X,cAAgBA,EACrB92X,KAAKy7Y,0BAA2B,EAChCz7Y,KAAK07Y,yBAA2B17Y,KAAK07Y,yBAAyBnxY,KAAKvK,MAkH3E,OA3GI27Y,EAAAA,UAAAA,iBAAA,SAAiB/6Y,GACb,GAAsB,qBAAX2F,OAAwB,CAC/B,IAAM46U,EAAanhV,KAAK82X,cAAciD,gBAItC,OAHA/5X,KAAKw7Y,eAAe12Y,IAAIq8U,EAAYvgV,GACpCZ,KAAKiJ,OAAO+3U,QAAQ,sCAAsCG,GAEnDA,EAGX,OAAO,MAOXw6D,EAAAA,UAAAA,oBAAA,SAAoBx6D,GAChBnhV,KAAKw7Y,eAAevqY,OAAOkwU,GAC3BnhV,KAAKiJ,OAAO+3U,QAAQ,kBAAkBG,EAAU,cAMpDw6D,EAAAA,UAAAA,2BAAA,WAC0B,qBAAXp1Y,SAINvG,KAAKy7Y,yBAKNz7Y,KAAKiJ,OAAO+3U,QAAQ,iDAJpBhhV,KAAKiJ,OAAO+3U,QAAQ,oCACpBhhV,KAAKy7Y,0BAA2B,EAChCl1Y,OAAOsK,iBAAiB,UAAW7Q,KAAK07Y,6BAShDC,EAAAA,UAAAA,4BAAA,WAC0B,qBAAXp1Y,SAIPvG,KAAKy7Y,0BACLz7Y,KAAKiJ,OAAO+3U,QAAQ,sCACpBz6U,OAAOyK,oBAAoB,UAAWhR,KAAK07Y,0BAC3C17Y,KAAKy7Y,0BAA2B,GAEhCz7Y,KAAKiJ,OAAO+3U,QAAQ,6CAW5B26D,EAAAA,UAAAA,UAAA,SAAUprY,EAAsB8tU,EAAmCpgD,EAAwB1yR,GAA3F,WACI,GAAsB,qBAAXhF,OAAwB,CAC/B,IAAMq1Y,EAAwB,CAC1BrrY,UAAWA,EACX8tU,gBAAiBA,GAAmB,KACpCpgD,QAASA,GAAW,KACpB1yR,MAAOA,GAAS,KAChB+nE,UAAW/rE,KAAKq1F,OAGpB58F,KAAKiJ,OAAOwqE,KAAK,mBAAmBljE,GAEpCvQ,KAAKw7Y,eAAez8Y,SAAQ,SAAC6B,EAAiCugV,GAC1D92U,EAAKpB,OAAO+3U,QAAQ,8BAA8BG,EAAU,KAAK5wU,GACjE3P,EAASoF,MAAM,KAAM,CAAC41Y,SAQ1BD,EAAAA,UAAAA,yBAAR,SAAiCl9Y,GAC7B,IACI,IAAMo9Y,EAAap9Y,EAAE2f,UAAY3f,EAAEstG,SACnC,IAAK8vS,EACD,OAEJ,IAAMC,EAAcj8Y,KAAKsE,MAAM03Y,GAC/B,GAA2B,kBAAhBC,IAA6BngB,GAAcsV,gBAAgB6K,GAClE,OAEJ,IACMjZ,EADgBJ,GAAapgG,SAAwB,IAAIs5F,GAAiBmgB,GAC9ChZ,kBAC7BrkY,EAAEstG,UAAYttG,EAAE2f,UACjBpe,KAAKiJ,OAAOwqE,KAAK,oDACjBzzE,KAAK+7Y,UAAUj/D,GAAUk/D,mBAAex+Y,EAAWqlY,KAC3CpkY,EAAE2f,UAAY3f,EAAEstG,WACxB/rG,KAAKiJ,OAAOwqE,KAAK,wDACjBzzE,KAAK+7Y,UAAUj/D,GAAUm/D,qBAAiBz+Y,EAAWqlY,IAE3D,MAAOpkY,GACL,SAGZ,mBC1HA,cAoGA,OA9FWy9Y,EAAAA,6BAAP,SAAoCC,GAChC,OAAUtkE,GAAqC,IAAIh4U,KAAKC,UAAUq8Y,IAQ/DD,EAAAA,WAAP,SAAkBE,EAA4BD,SACpCn7Y,EAAMk7Y,EAAgBG,6BAA6BF,GACnDp/Y,EAAQq/Y,EAAaE,mBAAmBt7Y,GAE9C,GAAIjE,EAAO,CACP,GAAIA,EAAMw/Y,aAAeh1Y,KAAKq1F,MAE1B,YADAw/S,EAAa7lB,WAAWv1X,EAAKk1U,GAAgBsmE,YAGjD,MAAM,IAAIjiB,IAA4B,QAAhB,EAAAx9X,EAAM0/Y,kBAAU,eAAEtxY,KAAK,OAAQyG,GAAU8iU,aAAc33U,EAAMy7U,aAAcz7U,EAAM67U,YAUxGsjE,EAAAA,YAAP,SAAmBE,EAA4BD,EAA+B9/J,GAC1E,GAAI6/J,EAAgBQ,oBAAoBrgK,IAAa6/J,EAAgBS,2BAA2BtgK,GAAW,CACvG,IAAMugK,EAAoC,CACtCL,aAAcL,EAAgBW,sBAAsBl/Y,SAAS0+O,EAASo4C,QAAQo+C,GAAYiqE,eAC1FvxY,MAAO8wO,EAASnkL,KAAK3sD,MACrBkxY,WAAYpgK,EAASnkL,KAAK6kV,YAC1BvkE,aAAcn8F,EAASnkL,KAAKo3U,kBAC5B12D,SAAUv8F,EAASnkL,KAAKugR,UAE5B2jE,EAAaY,mBACTd,EAAgBG,6BAA6BF,GAC7CS,KASLV,EAAAA,oBAAP,SAA2B7/J,GACvB,OAA2B,MAApBA,EAASjqK,QAAkBiqK,EAASjqK,QAAU,KAAOiqK,EAASjqK,OAAS,KAO3E8pU,EAAAA,2BAAP,SAAkC7/J,GAC9B,QAAIA,EAASo4C,UACFp4C,EAASo4C,QAAQhyR,eAAeowU,GAAYiqE,eAAiBzgK,EAASjqK,OAAS,KAAOiqK,EAASjqK,QAAU,OASjH8pU,EAAAA,sBAAP,SAA6BK,GACzB,IAAMpnI,EAAOonI,GAAgB,EAAI,EAAIA,EAE/BU,EAAiB11Y,KAAKq1F,MAAQ,IACpC,OAAO19E,KAAKmsC,MAGR,IAHcnsC,KAAKK,IACnB09X,GAAkB9nI,GAAQ0iE,IAC1BolE,EAAiBplE,MAIlBqkE,EAAAA,eAAP,SAAsBE,EAA4Bj6E,EAAkBptC,EAA0BmoH,GAC1F,IAAMf,EAAgC,CAClCh6E,SAAUA,EACVkrD,UAAWt4F,EAAQs4F,UACnBnyC,OAAQnmD,EAAQmmD,OAChBgiE,sBAAuBA,EACvB7f,OAAQtoG,EAAQsoG,OAChB6K,qBAAsBnzG,EAAQmzG,qBAC9BzP,sBAAuB1jG,EAAQ0jG,sBAC/BE,mBAAoB5jG,EAAQ4jG,mBAC5BwkB,UAAWpoH,EAAQooH,UACnB/U,OAAQrzG,EAAQqzG,QAGdpnY,EAAMhB,KAAKq8Y,6BAA6BF,GAC9C,OAAOC,EAAa7lB,WAAWv1X,EAAKk1U,GAAgBsmE,aAE5D,mBC5FI,WAAYY,EAA+BhB,GACvCp8Y,KAAKo9Y,cAAgBA,EACrBp9Y,KAAKo8Y,aAAeA,EA2B5B,OAlBUiB,EAAAA,UAAAA,gBAAN,SAAyBlB,EAA+BmB,EAAuBzyX,uGAC3EqxX,GAAgBqB,WAAWv9Y,KAAKo8Y,aAAcD,oBAI/B,gCAAMn8Y,KAAKo9Y,cAAc3F,qBAAwB6F,EAAezyX,kBAA3EwxN,EAAWtvN,EAAAA,oBAEX,4BAAiB4rT,GACPh2S,EAEA64S,GAAgBgiE,mBAAmBF,EAAe36W,UAMhE,OAFAu5W,GAAgBuB,YAAYz9Y,KAAKo8Y,aAAcD,EAAY9/J,GAEpD,CAAP,EAAOA,WAEf,mBCFI,WAAsBqhK,GAElB19Y,KAAKymF,gBZoKT15D,OAqCsB4wX,EApCLC,EAAe,cACbC,EAAiB,gBACjBC,EAAgB,gBACbC,EAAqB,mBACrBC,EAAqB,mBACtBC,EAAoB,kBAClBC,EAAiB,oBACvBC,EAAW,cACbC,EAAS,YACIC,EAAsB,yBAC3BC,EAAiB,oBACjBC,EAAiB,oBAGlCxhE,EAAgB,SAAKu6D,IAAkCwG,GAE7D,MAAO,CACHH,aAmBkBA,EAnBYC,EAoB3B,IACHY,mBAAoB,GACpBC,kBAAmBxG,IAChB0F,IAtBHe,cAAe,SAAKxH,IAA2B2G,GAC/C9gE,cAAeA,EACf4hE,iBAAkBZ,GAAyB,IAAIxU,GAAoBqU,EAAgBz7E,SAAU23D,IAC7F8kB,iBAAkBZ,GAAyBzG,GAC3CsH,gBAAiBZ,GAAwBnkB,GACzCokB,kBAAmBA,GAAqBpG,GACxCqG,YAAa,SAAKzG,IAAyByG,GAC3CC,UAAW,SAAKhG,IAA8BgG,GAC9CC,uBAAwBA,GAA0B,KAClDC,kBAAmBA,GAAqB,KACxCC,kBAAmBA,GAAqB,KAEhD,CYnMsBO,CAAyBpB,GAGvC19Y,KAAKiJ,OAAS,IAAI2zO,GAAO58O,KAAKymF,OAAOs2P,cbrDzB,qBaqD8CzpM,IAG1DtzI,KAAKiqY,YAAcjqY,KAAKymF,OAAOo4T,gBAG/B7+Y,KAAKo8Y,aAAep8Y,KAAKymF,OAAOk4T,iBAGhC3+Y,KAAKo9Y,cAAgBp9Y,KAAKymF,OAAOm4T,iBAGjC5+Y,KAAK++Y,eAAiB,IAAI1B,GAAer9Y,KAAKo9Y,cAAep9Y,KAAKo8Y,cAGlEp8Y,KAAKq+Y,uBAAyBr+Y,KAAKymF,OAAO43T,uBAG1Cr+Y,KAAKqtX,UAAYrtX,KAAKymF,OAAOk3T,YAAYtwB,UA4DjD,OAtDc2xB,EAAAA,UAAAA,0BAAV,SAAoCC,GAChC,IAAMxqH,EAAkC,CAAC,EAGzC,GAFAA,EAAQo+C,GAAYqsE,cAAgBttY,GAAU2iU,uBAEzCv0U,KAAKymF,OAAOi4T,cAActH,sBAAwB6H,EACnD,OAAQA,EAAQ3tY,MACZ,KAAKoqX,GAAkBwZ,gBACnB,IACI,IAAMtY,EAAavB,GAAiC4jB,EAAQvb,YAC5DjvG,EAAQo+C,GAAYssE,YAAc,OAAOviB,EAAWpB,IAAG,IAAIoB,EAAWnB,KACxE,MAAOh9X,GACLuB,KAAKiJ,OAAO+3U,QAAQ,mDAAqDviV,GAE7E,MACJ,KAAKi9X,GAAkB0Z,IACnB3gH,EAAQo+C,GAAYssE,YAAc,QAAQF,EAAQvb,WAI9D,OAAOjvG,GAUKuqH,EAAAA,UAAAA,2BAAhB,SAA2C1B,EAAuBtP,EAAqBv5G,EAAiC0nH,qGACnG,SAAMn8Y,KAAK++Y,eAAeK,gBACvCjD,EACAmB,EACA,CAAEplV,KAAM81U,EAAav5G,QAASA,EAAS4iH,SAAUr3Y,KAAKymF,OAAOi4T,cAAcrH,mBAQ/E,OAXMh7J,EAAWtvN,EAAAA,OAMb/sB,KAAKymF,OAAO43T,wBAA0BhiK,EAASjqK,OAAS,KAA2B,MAApBiqK,EAASjqK,QAExEpyE,KAAKymF,OAAO43T,uBAAuBgB,sBAGhC,CAAP,EAAOhjK,WAOX2iK,EAAAA,UAAAA,gBAAA,SAAgBM,GACZ,IAAKA,EAAiBC,oBAClB,MAAM/jE,GAAgBgkE,uCAAuC,2DAEjEx/Y,KAAKqtX,UAAYiyB,GAEzB,mBCvHA,cAkFA,OA5EWG,EAAAA,oBAAP,SAA2BnyB,GACvB,GAAI30V,GAAYiV,QAAQ0/U,GACpB,MAAMoS,GAAyBggB,+BAQhCD,EAAAA,eAAP,SAAsBE,GAClB,IAAMC,EAAe,GAErB,IAAK,IAAM7iZ,KAASw4U,GAChBqqE,EAAa5gZ,KAAKu2U,GAAYx4U,IAGlC,GAAI6iZ,EAAar+Y,QAAQo+Y,GAAU,EAC/B,MAAMjgB,GAAyBmgB,yBAAyBF,IAIzDF,EAAAA,eAAP,SAAsBpiB,GAClB,IACIx9X,KAAKsE,MAAMk5X,GACb,MAAM5+X,GACJ,MAAMihY,GAAyBogB,oCAShCL,EAAAA,4BAAP,SAAmC7tB,EAAuBmuB,GACtD,GAAIpnX,GAAYiV,QAAQgkV,IAAkBj5V,GAAYiV,QAAQmyW,GAC1D,MAAMrgB,GAAyBsgB,wCAE/BhgZ,KAAKigZ,4BAA4BF,IAQlCN,EAAAA,4BAAP,SAAmCM,GAC/B,GACI,CACI3pE,GAA0BC,MAC1BD,GAA0BE,MAC5B/0U,QAAQw+Y,GAAuB,EAEjC,MAAMrgB,GAAyBwgB,yCAQhCT,EAAAA,iBAAP,SAAwBU,EAAsBC,GAC1C,OAAKD,GAKLC,EAAYrhZ,SAAQ,SAAChC,EAAOiE,GACpBm/Y,EAASn/Y,WACFm/Y,EAASn/Y,MAIjBm/Y,GAVI,CAAC,GAYpB,mBC5EI,aACIngZ,KAAKsM,WAAa,IAAIzN,IAqa9B,OA/ZIwhZ,EAAAA,UAAAA,oBAAA,WACIrgZ,KAAKsM,WAAWxH,IACZkuU,GAAmBstE,cAAelrH,mBAAmBxjR,GAAUsiU,sBAOvEmsE,EAAAA,UAAAA,kCAAA,WACIrgZ,KAAKsM,WAAWxH,IACZkuU,GAAmBstE,cAAelrH,mBAAsBxjR,GAAUsjU,oBAAmB,IAAItjU,GAAUujU,0BAQ3GkrE,EAAAA,UAAAA,gBAAA,SAAgBE,GACZvgZ,KAAKsM,WAAWxH,IACZkuU,GAAmBwtE,cACnBprH,mBAAoBmrH,GAA+B1qE,GAAa4qE,SAOxEJ,EAAAA,UAAAA,gBAAA,WACIrgZ,KAAKsM,WAAWxH,IACZkuU,GAAmB0tE,cACnBtrH,mBAAmB,OAS3BirH,EAAAA,UAAAA,UAAA,SAAUnlE,EAAkBylE,QAAA,IAAAA,IAAAA,GAAAA,GACxB,IAAMC,EAAgBD,EAAgB,GAAIzlE,GAAU,GAAO9F,IAAuB8F,GAAU,GACtF0lD,EAAW,IAAIL,GAASqgB,GAC9B5gZ,KAAKsM,WAAWxH,IAAIkuU,GAAmB6tE,MAAOzrH,mBAAmBwrG,EAASmB,iBAO9Ese,EAAAA,UAAAA,YAAA,SAAYl+E,GACRniU,KAAKsM,WAAWxH,IAAIkuU,GAAmB8tE,UAAW1rH,mBAAmB+sC,KAOzEk+E,EAAAA,UAAAA,eAAA,SAAe/yB,GACXmyB,GAAiBsB,oBAAoBzzB,GACrCttX,KAAKsM,WAAWxH,IAAIkuU,GAAmBguE,aAAc5rH,mBAAmBk4F,KAO5E+yB,EAAAA,UAAAA,yBAAA,SAAyB/yB,GACrBmyB,GAAiBsB,oBAAoBzzB,GACrCttX,KAAKsM,WAAWxH,IAAIkuU,GAAmBiuE,gBAAiB7rH,mBAAmBk4F,KAO/E+yB,EAAAA,UAAAA,eAAA,SAAea,GACXlhZ,KAAKsM,WAAWxH,IAAIkuU,GAAmBmuE,cAAe/rH,mBAAmB8rH,KAO7Eb,EAAAA,UAAAA,cAAA,SAAce,GACVphZ,KAAKsM,WAAWxH,IAAIwwU,GAAS+rE,YAAajsH,mBAAmBgsH,KAOjEf,EAAAA,UAAAA,aAAA,SAAavL,GACT90Y,KAAKsM,WAAWxH,IAAIwwU,GAASgsE,WAAYlsH,mBAAmB0/G,KAOhEuL,EAAAA,UAAAA,UAAA,SAAUvL,GACN90Y,KAAKsM,WAAWxH,IAAI+tU,GAAYssE,WAAY/pH,mBAAmB,OAAO0/G,KAO1EuL,EAAAA,UAAAA,UAAA,SAAUzjB,GACN58X,KAAKsM,WAAWxH,IAAI+tU,GAAYssE,WAAY/pH,mBAAmB,OAAOwnG,EAAWpB,IAAG,IAAIoB,EAAWnB,QAOvG4kB,EAAAA,UAAAA,OAAA,SAAOkB,GACHvhZ,KAAKsM,WAAWxH,IAAIwwU,GAASksE,IAAKpsH,mBAAmBmsH,KAOzDlB,EAAAA,UAAAA,UAAA,SAAUhjB,EAAiBmhB,GACvB,IAAMiD,EAAezhZ,KAAK0hZ,8BAA8BrkB,EAAQmhB,GAChEiB,GAAiBkC,eAAeF,GAChCzhZ,KAAKsM,WAAWxH,IAAIkuU,GAAmBY,OAAQx+C,mBAAmBqsH,KAOtEpB,EAAAA,UAAAA,iBAAA,SAAiBxnE,GACb74U,KAAKsM,WAAWxH,IAAIkuU,GAAmB4uE,kBAAmBxsH,mBAAmByjD,KAOjFwnE,EAAAA,UAAAA,eAAA,SAAelC,GAEXn+Y,KAAKsM,WAAWxH,IAAIkuU,GAAmB6uE,aAAc1D,EAAYxG,KACjE33Y,KAAKsM,WAAWxH,IAAIkuU,GAAmB8uE,aAAc3D,EAAY7qQ,SAC7D6qQ,EAAYtG,IACZ73Y,KAAKsM,WAAWxH,IAAIkuU,GAAmB+uE,YAAa5D,EAAYtG,IAEhEsG,EAAYvG,KACZ53Y,KAAKsM,WAAWxH,IAAIkuU,GAAmBgvE,aAAc7D,EAAYvG,MAQzEyI,EAAAA,UAAAA,wBAAA,SAAwB4B,IACJ,OAAZA,QAAY,IAAZA,OAAY,EAAZA,EAAc3J,UACdt4Y,KAAKsM,WAAWxH,IAAIkuU,GAAmBkvE,WAAYD,EAAa3J,UAGpD,OAAZ2J,QAAY,IAAZA,OAAY,EAAZA,EAAc1J,aACdv4Y,KAAKsM,WAAWxH,IAAIkuU,GAAmBmvE,UAAWF,EAAa1J,aAQvE8H,EAAAA,UAAAA,UAAA,SAAUV,GACNF,GAAiB2C,eAAezC,GAChC3/Y,KAAKsM,WAAWxH,IAAI,GAAGkuU,GAAmBqvE,OAAUjtH,mBAAmBuqH,KAO3EU,EAAAA,UAAAA,SAAA,SAASxvW,GACAlY,GAAYiV,QAAQiD,IACrB7wC,KAAKsM,WAAWxH,IAAIkuU,GAAmBsvE,MAAOltH,mBAAmBvkP,KAQzEwvW,EAAAA,UAAAA,SAAA,SAAS9+E,GACLvhU,KAAKsM,WAAWxH,IAAIkuU,GAAmBuvE,MAAOntH,mBAAmBmsC,KASrE8+E,EAAAA,UAAAA,uBAAA,SACIzuB,EACAmuB,GAGA,GADAN,GAAiB+C,4BAA4B5wB,EAAemuB,IACxDnuB,IAAiBmuB,EAIjB,MAAMrgB,GAAyBsgB,wCAH/BhgZ,KAAKsM,WAAWxH,IAAIkuU,GAAmByvE,eAAgBrtH,mBAAmBw8F,IAC1E5xX,KAAKsM,WAAWxH,IAAIkuU,GAAmB0vE,sBAAuBttH,mBAAmB2qH,KAUzFM,EAAAA,UAAAA,qBAAA,SAAqBvyO,GACjB9tK,KAAKsM,WAAWxH,IAAIkuU,GAAmB2vE,KAAMvtH,mBAAmBtnH,KAOpEuyO,EAAAA,UAAAA,cAAA,SAAcvyO,GACV9tK,KAAKsM,WAAWxH,IAAIkuU,GAAmB4vE,YAAaxtH,mBAAmBtnH,KAO3EuyO,EAAAA,UAAAA,gBAAA,SAAgB/c,GACZtjY,KAAKsM,WAAWxH,IAAIkuU,GAAmBosD,cAAehqG,mBAAmBkuG,KAO7E+c,EAAAA,UAAAA,gBAAA,SAAgB5uB,GACZzxX,KAAKsM,WAAWxH,IAAIkuU,GAAmB6vE,cAAeztH,mBAAmBq8F,KAO7E4uB,EAAAA,UAAAA,gBAAA,SAAgBtI,GACZ/3Y,KAAKsM,WAAWxH,IAAIkuU,GAAmB8vE,cAAe1tH,mBAAmB2iH,KAO7EsI,EAAAA,UAAAA,mBAAA,SAAmBrI,GACfh4Y,KAAKsM,WAAWxH,IAAIkuU,GAAmB+vE,iBAAkB3tH,mBAAmB4iH,KAOhFqI,EAAAA,UAAAA,uBAAA,SAAuB2C,GACnBhjZ,KAAKsM,WAAWxH,IAAIkuU,GAAmBiwE,sBAAuB7tH,mBAAmB4tH,KAOrF3C,EAAAA,UAAAA,gBAAA,SAAgBvjB,GACZ98X,KAAKsM,WAAWxH,IAAIkuU,GAAmBkwE,cAAe9tH,mBAAmB0nG,KAO7EujB,EAAAA,UAAAA,mBAAA,SAAmB8C,GACfnjZ,KAAKsM,WAAWxH,IAAIkuU,GAAmBowE,oBAAqBhuH,mBAAmB+tH,KAOnF9C,EAAAA,UAAAA,aAAA,SAAagD,GACTrjZ,KAAKsM,WAAWxH,IAAIkuU,GAAmBswE,WAAYluH,mBAAmBiuH,KAO1EhD,EAAAA,UAAAA,cAAA,WACIrgZ,KAAKsM,WAAWxH,IhS9BG,cgS8Bc,MAOrCu7Y,EAAAA,UAAAA,wBAAA,SAAwBkD,GAAxB,WACI9D,GAAiB+D,iBAAiBD,EAAUvjZ,KAAKsM,YACjDrN,OAAOmB,KAAKmjZ,GAAUxkZ,SAAQ,SAACiC,GAC3BqJ,EAAKiC,WAAWxH,IAAI9D,EAAKuiZ,EAASviZ,QAI1Cq/Y,EAAAA,UAAAA,8BAAA,SAA8BhjB,EAAiBmhB,GAC3C,IAAIiD,EAGJ,GAAKpkB,EAGD,IACIokB,EAAe5hZ,KAAKsE,MAAMk5X,GAC5B,MAAM5+X,GACJ,MAAMihY,GAAyBogB,uCALnC2B,EAAe,CAAC,EAqBpB,OAZIjD,GAAsBA,EAAmBphZ,OAAS,IAC7CqkZ,EAAah/Y,eAAewwU,GAAkBisD,gBAE/CuiB,EAAaxuE,GAAkBisD,cAAgB,CAAC,GAIpDuiB,EAAaxuE,GAAkBisD,cAAcjsD,GAAkBwwE,QAAU,CACrE/kZ,OAAQ8/Y,IAIT3+Y,KAAKC,UAAU2hZ,IAO1BpB,EAAAA,UAAAA,YAAA,SAAYprH,GACRj1R,KAAKsM,WAAWxH,IAAIyyU,GAAuBtiD,SAAUG,mBAAmBH,KAO5EorH,EAAAA,UAAAA,YAAA,SAAYnrH,GACRl1R,KAAKsM,WAAWxH,IAAIyyU,GAAuBriD,SAAUE,mBAAmBF,KAO5EmrH,EAAAA,UAAAA,YAAA,SAAYqD,GACH/qX,GAAYiV,QAAQ81W,KACrB1jZ,KAAKsM,WAAWxH,IAAIkuU,GAAmB2wE,WAAYhtE,GAAqBswD,KACxEjnY,KAAKsM,WAAWxH,IAAIkuU,GAAmB4wE,QAASxuH,mBAAmBsuH,MAO3ErD,EAAAA,UAAAA,UAAA,SAAUwD,GACFlrX,GAAYiV,QAAQi2W,KACpB7jZ,KAAKsM,WAAWxH,IAAIkuU,GAAmB2wE,WAAYhtE,GAAqBgvD,KACxE3lY,KAAKsM,WAAWxH,IAAIkuU,GAAmB4wE,QAASxuH,mBAAmByuH,MAQ3ExD,EAAAA,UAAAA,mBAAA,SAAmBhC,GACfr+Y,KAAKsM,WAAWxH,IAAIkuU,GAAmB8wE,oBAAqBzF,EAAuB0F,qCACnF/jZ,KAAKsM,WAAWxH,IAAIkuU,GAAmBgxE,oBAAqB3F,EAAuB4F,mCAMvF5D,EAAAA,UAAAA,cAAA,WACIrgZ,KAAKsM,WAAWxH,IAAIkuU,GAAmBkxE,oBAAqBrsE,KAMhEwoE,EAAAA,UAAAA,cAAA,SAAc8D,GACVnkZ,KAAKsM,WAAWxH,IAAIkuU,GAAmBoxE,YAAahvH,mBAAmB+uH,KAM3E9D,EAAAA,UAAAA,kBAAA,WACI,IAAMgE,EAAqC,IAAIxjZ,MAM/C,OAJAb,KAAKsM,WAAWvN,SAAQ,SAAChC,EAAOiE,GAC5BqjZ,EAAoBrlZ,KAAQgC,EAAG,IAAIjE,MAGhCsnZ,EAAoBl5Y,KAAK,MAExC,QCvaI,SAAYm5Y,EAAsC7a,EAAsC8a,EAA8CC,EAAgDC,GAClLzkZ,KAAKi9X,QAAUqnB,GAAiB,KAChCtkZ,KAAK68X,QAAU4M,GAAiB,KAChCzpY,KAAKojY,YAAcmhB,GAAqB,KACxCvkZ,KAAKsjY,aAAekhB,GAAsB,KAC1CxkZ,KAAKwjY,YAAcihB,GAAqB,ORIhD,SAAKlJ,GACDA,EAAAA,GAAAA,KACAA,EAAAA,IAAAA,KACH,CAHD,CAAKA,KAAAA,GAAW,uBASZ,WAAYtR,GACRjqY,KAAKiqY,YAAcA,EAuE3B,OA9DUya,EAAAA,UAAAA,YAAN,SAAkB3vH,yGACC,SAAM/0R,KAAK2kZ,YAAY5vH,WAMtB,OANV6vH,EAAS/hX,EAAAA,OACTgiX,EAAuB7kZ,KAAKiqY,YAAY1Y,aAAa1xX,KAAKC,UAAU8kZ,OAGtEhsB,IAAKgsB,EAAOhsB,IACZisB,aAAY,GACA,GAAM7kZ,KAAKiqY,YAAY/R,WAAW2sB,WAHlD,MAAO,CAAP,GAGI93X,EAAAA,WAAY8V,EAAAA,OAA+C,YAS7D6hX,EAAAA,UAAAA,YAAN,SAAkB3vH,+FACQ,SAAM/0R,KAAKiqY,YAAY9P,uBAAuBplG,WAEpE,MAAO,CAAP,EAAO,CACH6jG,IAHkB7rW,EAAAA,OAIlB+3X,QAASvJ,GAAYwJ,aAUvBL,EAAAA,UAAAA,aAAN,SAAmBthB,EAAqB9R,EAAev8F,wEACnD,MAAO,CAAP,EAAO/0R,KAAKglZ,YAAY5hB,EAAa9R,EAAOv8F,WAW1C2vH,EAAAA,UAAAA,YAAN,SAAkBzmH,EAAiBqzF,EAAev8F,EAAsCsoG,+GAO7E,OAJC5E,EAAmE1jG,EAAO,sBAAnD4jG,EAA4C5jG,EAAO,mBAA/BooH,EAAwBpoH,EAAO,UAApBkwH,EAAalwH,EAAO,SAE5EmwH,EAAqBvsB,EAAsB,IAAI4U,GAAU5U,QAAsBn7X,EAC/E2nZ,EAAyC,OAAjBD,QAAiB,IAAjBA,OAAiB,EAAjBA,EAAmBxX,mBAC1C,GAAM1tY,KAAKiqY,YAAY3P,QAAQ,IAClC8qB,GAAInnH,EACJonH,GAAI3b,GAAUG,aACdjvW,EAAwB,OAArB69V,QAAqB,IAArBA,OAAqB,EAArBA,EAAuBvgW,cAC1B0rQ,EAAwB,OAArBuhH,QAAqB,IAArBA,OAAqB,EAArBA,EAAuBvX,gBAC1BrsE,MAAO0jF,GAAYjlZ,KAAKiqY,YAAYlQ,gBACpCx1X,EAAwB,OAArB4gZ,QAAqB,IAArBA,OAAqB,EAArBA,EAAuB1W,aAC1BnjV,GAAyB,OAArB65V,QAAqB,IAArBA,OAAqB,EAArBA,EAAuBzW,aAAe,CAAC,GAAIyW,EAAsBzW,kBAAelxY,EACpF8nZ,cAAenI,QAAa3/Y,GACzB6/X,GACJ/L,EAAOv8F,EAAQ8jD,uBAVlB,MAAO,CAAP,EAAO9rT,EAAAA,gBAYf,mBSxFI,WAAYw4X,EAAqCC,GAC7CxlZ,KAAK8mU,MAAQy+E,EACbvlZ,KAAKwlZ,WAAaA,EAgB1B,OAVIvmZ,OAAAA,eAAIwmZ,EAAAA,UAAAA,kBAAe,KAAnB,WACI,OAAOzlZ,KAAKwlZ,4CAMhBvmZ,OAAAA,eAAIwmZ,EAAAA,UAAAA,aAAU,KAAd,WACI,OAAOzlZ,KAAK8mU,uCAEpB,mBCSI,WAAY3E,EAAkBujF,EAA4Bx3B,EAAoBjlX,EAAgBs1Y,EAAmDD,GAC7It+Y,KAAKmiU,SAAWA,EAChBniU,KAAK0lZ,aAAeA,EACpB1lZ,KAAKkuX,UAAYA,EACjBluX,KAAKiJ,OAASA,EACdjJ,KAAKu+Y,kBAAoBA,EACzBv+Y,KAAKs+Y,kBAAoBA,EAwTjC,OA/SIqH,EAAAA,UAAAA,wCAAA,SAAwCC,EAAqDrR,EAAqBrmB,GAE9G,IAAK03B,EAAmB/0W,QAAU0jW,EAC9B,MAAOqR,EAAmB/0W,MAAmE2qS,GAAgBqqE,yBAAyB,gBAApGrqE,GAAgBqqE,yBAAyB,gBAG/E,GAAI7nH,mBAAmB4nH,EAAmB/0W,SAAWmtP,mBAAmBu2G,GACpE,MAAM/4D,GAAgBsqE,2BAI1B,GAAIF,EAAmBr6Y,OAASq6Y,EAAmBtW,mBAAqBsW,EAAmBntE,SAAU,CACjG,GAAIkiD,GAA6BorB,2BAA2BH,EAAmBr6Y,MAAOq6Y,EAAmBtW,kBAAmBsW,EAAmBntE,UAC3I,MAAM,IAAIkiD,GAA6BirB,EAAmBr6Y,OAASqG,GAAU8iU,aAAckxE,EAAmBtW,kBAAmBsW,EAAmBntE,UAGxJ,MAAM,IAAI8hD,GAAYqrB,EAAmBr6Y,OAASqG,GAAU8iU,aAAckxE,EAAmBtW,kBAAmBsW,EAAmBntE,UAGnImtE,EAAmBI,aACnBhrB,GAAgB4qB,EAAmBI,YAAa93B,IAQxDy3B,EAAAA,UAAAA,sBAAA,SAAsBM,GAElB,GAAIA,EAAe16Y,OAAS06Y,EAAe3W,mBAAqB2W,EAAextE,SAAU,CACrF,GAAIkiD,GAA6BorB,2BAA2BE,EAAe16Y,MAAO06Y,EAAe3W,kBAAmB2W,EAAextE,UAC/H,MAAM,IAAIkiD,GAA6BsrB,EAAe16Y,MAAO06Y,EAAe3W,kBAAmB2W,EAAextE,UAGlH,IAAMytE,EAAeD,EAAelJ,YAAW,OAAOkJ,EAAe3yU,UAAS,MAAM2yU,EAAe3W,kBAAiB,sBAAsB2W,EAAeE,eAAc,gBAAgBF,EAAeG,SACtM,MAAM,IAAI7rB,GAAY0rB,EAAe16Y,MAAO26Y,EAAWD,EAAextE,YASxEktE,EAAAA,UAAAA,0BAAN,SACIU,EACAh5B,EACAi5B,EACAvxH,EACAwxH,EACAzpB,EACA0pB,6GAIA,GAAIH,EAAoBI,WACpBC,EAAa,IAAIzkB,GAAUokB,EAAoBI,UAAY70Y,GAAU8iU,aAAc10U,KAAKkuX,WAGpFq4B,IAAoB5tX,GAAYiV,QAAQ24W,EAAgBhlF,QACpDmlF,EAAWrpB,OAAO97D,QAAUglF,EAAgBhlF,OAC5C,MAAMia,GAAgBmrE,2BAMlC3mZ,KAAKk9Y,sBAAwBvhB,GAAcirB,sBAAsBP,EAAoBL,aAAep0Y,GAAU8iU,aAAc24C,EAAU2O,cAAeh8X,KAAKiJ,OAAQjJ,KAAKkuX,UAAWw4B,GAI5KH,GAAqBA,EAAgB11W,QACvCg2W,EAAkB7a,GAAcwD,kBAAkBxvY,KAAKkuX,UAAWq4B,EAAgB11W,QAItFw1W,EAAoBS,OAAST,EAAoBS,QAAU/xH,EAAQqzG,aAAU5qY,EAEvEwlY,EAAchjY,KAAK+mZ,oBAAoBV,EAAqBh5B,EAAWi5B,EAAcvxH,EAAS2xH,EAAY5pB,EAAcypB,iDAGtHvmZ,KAAKs+Y,mBAAqBt+Y,KAAKu+Y,mBAC/Bv+Y,KAAKiJ,OAAO+3U,QAAQ,kDACpBgmE,EAAe,IAAIvB,GAAkBzlZ,KAAKu+Y,mBAAmB,GAC7D,GAAMv+Y,KAAKs+Y,kBAAkB2I,kBAAkBD,KAH/C,aAGAj6X,EAAAA,wBAOJ,OAAIy5X,IAAgCxjB,EAAY/F,UACtCj8X,EAAMgiY,EAAY/F,QAAQkU,qBAChBnxY,KAAK0lZ,aAAahhB,WAAW1jY,IAMjD,GAAMhB,KAAK0lZ,aAAawB,gBAAgBlkB,KAJhChjY,KAAKiJ,OAAOwhU,QAAQ,uGACb,CAAP,EAAOk7E,EAAgBwB,6BAA6BnnZ,KAAKkuX,UAAWb,EAAW2V,GAAa,EAAOjuG,EAAS2xH,EAAYG,mBAGhI95X,EAAAA,2BAEI/sB,KAAKs+Y,mBAAqBt+Y,KAAKu+Y,mBAAqByI,GACpDhnZ,KAAKiJ,OAAO+3U,QAAQ,iDACpB,GAAMhhV,KAAKs+Y,kBAAkB8I,iBAAiBJ,KAF9C,aAEAj6X,EAAAA,yCAGR,MAAO,CAAP,EAAO44X,EAAgBwB,6BAA6BnnZ,KAAKkuX,UAAWb,EAAW2V,GAAa,EAAOjuG,EAAS2xH,EAAYG,EAAiBR,EAAoBgB,mBASzJ1B,EAAAA,UAAAA,oBAAR,SAA4BU,EAAuDh5B,EAAsBi5B,EAAsBvxH,EAA0B2xH,EAAwB5pB,EAAuBypB,GACpM,IAMIjf,EACAF,EAPElK,EAAM7P,EAAU8P,oBACtB,GAAIxkW,GAAYiV,QAAQsvV,GACpB,MAAM1hD,GAAgB4hD,sCAMrBzkW,GAAYiV,QAAQy4W,EAAoBI,WAAeC,IACxDpf,EAAgBkC,GAAc8d,oBAC1BtnZ,KAAKk9Y,sBACLhgB,EACAmpB,EAAoBI,UAAY70Y,GAAU8iU,aAC1C10U,KAAKmiU,SACLukF,EAAWrpB,OAAOC,KAAO1rX,GAAU8iU,aACnCooD,GAGJsK,EAAgBpnY,KAAKunZ,sBACjBlB,EACAK,EACAr5B,EACAyP,EACAypB,IAKR,IAAIhf,EAA8C,KAClD,IAAK5uW,GAAYiV,QAAQy4W,EAAoBmB,cAAe,CAGxD,IAAMC,EAAiBpB,EAAoB/lB,MAAQC,GAASv3U,WAAWq9V,EAAoB/lB,OAAS,IAAIC,GAASxrG,EAAQmmD,QAAU,IAM7HwsE,GAA+D,kBAAnCrB,EAAoBsB,WAA0BhqZ,SAAS0oZ,EAAoBsB,WAAY,IAAMtB,EAAoBsB,aAAe,EAC5JC,GAAsE,kBAAvCvB,EAAoBwB,eAA8BlqZ,SAAS0oZ,EAAoBwB,eAAgB,IAAMxB,EAAoBwB,iBAAmB,EAC3KC,GAA2E,kBAAnCzB,EAAoB0B,WAA0BpqZ,SAAS0oZ,EAAoB0B,WAAY,IAAM1B,EAAoB0B,kBAAevqZ,EACxKwqZ,EAAyB1B,EAAeoB,EACxCO,EAAiCD,EAAyBJ,EAC1DM,EAAmBJ,GAAaA,EAAY,EAAIxB,EAAewB,OAAYtqZ,EAGjF+pY,EAAoBwC,GAAkBoe,wBAClCnoZ,KAAKk9Y,sBACLhgB,EACAmpB,EAAoBmB,cAAgB51Y,GAAU8iU,aAC9C10U,KAAKmiU,SACLukF,EAAaA,EAAWrpB,OAAOC,KAAO1rX,GAAU8iU,aAAe24C,EAAU8qB,OACzEsP,EAAe1lB,cACfimB,EACAC,EACAjoZ,KAAKkuX,UACLg6B,EACA7B,EAAoB+B,WACpBtrB,EACAupB,EAAoBS,OACpB/xH,EAAQsoG,OACRtoG,EAAQiqG,qBAKhB,IAAIyI,EAAgD,KAC/C9uW,GAAYiV,QAAQy4W,EAAoBgC,iBACzC5gB,EAAqBgD,GAAmB6d,yBACpCtoZ,KAAKk9Y,sBACLhgB,EACAmpB,EAAoBgC,eAAiBz2Y,GAAU8iU,aAC/C10U,KAAKmiU,SACLkkF,EAAoBkC,KACpBzrB,IAKR,IAAI6K,EAA8C,KAKlD,OAJKhvW,GAAYiV,QAAQy4W,EAAoBkC,QACzC5gB,EAAoBgD,GAAkB6d,wBAAwBxoZ,KAAKmiU,SAAU+6D,EAAKmpB,EAAoBkC,OAGnG,IAAIE,GAAYrhB,EAAeE,EAAeC,EAAmBE,EAAoBE,IASxFge,EAAAA,UAAAA,sBAAR,SAA8BU,EAAuDxpB,EAAoBxP,EAAsByP,EAAuBypB,GAClJ,IAAMvqB,EAAgB3O,EAAU2O,cAC1Be,EAAqBwpB,EAAkBA,EAAgBmC,sBAAwB92Y,GAAU8iU,aACzFi0E,EAAcpC,EAAkBA,EAAgBqC,aAAeh3Y,GAAU8iU,aAG/E,GAAIsnD,IAAkBjO,GAAc4P,KAEhC,OADA39X,KAAKiJ,OAAO+3U,QAAQ,iDACb26C,GAAcktB,qBAAqB7oZ,KAAKk9Y,sBAAuBrgB,EAASxP,EAAWyP,EAAcC,EAAoB4rB,GAIhI,GAAIhwX,GAAYiV,QAAQy4W,EAAoBL,cAA2C,QAA3B34B,EAAUy7B,aAClE,MAAMttE,GAAgB0/C,6BAG1B,OAAOmrB,EAAoBL,YACvBrqB,GAAcotB,cAAc1C,EAAoBL,YAAahmZ,KAAKk9Y,sBAAuBrgB,EAASxP,EAAWyP,EAAcC,EAAoB4rB,GAC/IhtB,GAAcktB,qBAAqB7oZ,KAAKk9Y,sBAAuBrgB,EAASxP,EAAWyP,EAAcC,EAAoB4rB,IAahHhD,EAAAA,6BAAb,SACIz3B,EACAb,EACA2V,EACAgmB,EACAj0H,EACA2xH,EACAuC,EACAn7O,sIAEIs1N,EAAsBxxX,GAAU8iU,aAChC+yE,EAAgC,GAChC9d,EAAyB,KAEzB/K,EAAmBhtX,GAAU8iU,cAE7BsuD,EAAYI,YAAZ,eACIJ,EAAYI,YAAYrE,YAAcpoD,GAAqBswD,IAA3D,YAIA,GAHMiiB,EAAuC,IAAIxE,GAAkBx2B,GAC7D3qV,EAAoBy/V,EAAYI,YAA9BxgG,EAAM,WAAE0uF,EAAK,SAGjB,MAAM91C,GAAgB2tE,0BAGZ,SAAMD,EAAkBE,aAAaxmH,EAAQ0uF,EAAOv8F,kBAAlEquG,EAAcrkH,EAAAA,oBAEdqkH,EAAcJ,EAAYI,YAAYxgG,wBAE1C6kH,EAAiBlnB,GAASv3U,WAAWg6U,EAAYI,YAAYrhY,QAAQ8+X,UACrE8I,EAAY,IAAIpiY,KAAiD,IAA5CmF,OAAOs2X,EAAYI,YAAYuG,YACpDK,EAAe,IAAIziY,KAAyD,IAApDmF,OAAOs2X,EAAYI,YAAYkH,qCAS3D,OANItH,EAAYQ,cACZ5E,EAAWoE,EAAYQ,YAAY5E,WAAanoD,GAAgBA,GAAgB7kU,GAAU8iU,cAExF8mD,GAAgB,OAAVkrB,QAAU,IAAVA,OAAU,EAAVA,EAAYrpB,OAAOE,OAAiB,OAAVmpB,QAAU,IAAVA,OAAU,EAAVA,EAAYrpB,OAAOG,MAAO5rX,GAAU8iU,aACpE4oD,GAAgB,OAAVopB,QAAU,IAAVA,OAAU,EAAVA,EAAYrpB,OAAOC,MAAO1rX,GAAU8iU,aAEzC,CAAP,EAAO,CACH24C,UAAWA,EAAUg8B,mBACrBC,SAAU9tB,EACVM,SAAUwB,EACVpiD,OAAQusE,EACRxqB,QAAS+F,EAAY/F,QAAU+F,EAAY/F,QAAQ6F,iBAAmB,KACtEjG,QAAS6pB,EAAaA,EAAW1kB,SAAWpwX,GAAU8iU,aACtD+nD,cAAeiqB,EAAaA,EAAWrpB,OAAS,CAAC,EACjD+F,YAAaA,EACbmmB,UAAWP,EACXrf,UAAWA,EACX9wD,cAAe9jD,EAAQ8jD,cACvBmxD,aAAcA,EACdpL,SAAUA,EACVG,WAAkC,QAAvB,EAAAiE,EAAYI,mBAAW,eAAErE,YAAantX,GAAU8iU,aAC3D7jS,MAAOo4W,EAAeA,EAAatc,iBAAmB/6X,GAAU8iU,aAChEqoD,oBAAuC,QAAnB,EAAAiG,EAAY/F,eAAO,eAAEF,qBAAsBnrX,GAAU8iU,aACzEsoD,aAAgC,QAAnB,EAAAgG,EAAY/F,eAAO,eAAED,cAAeprX,GAAU8iU,aAC3D5mK,KAAI,EACJ07O,kBAAkB,YAG9B,oBCtUI,WAAY9L,GAAZ,MACIjxX,EAAAA,KAAAA,KAAMixX,IAAc,YAHdrzY,EAAAA,oBAA8B,IAib5C,OAnb6C2hB,GAAAA,EAAAA,GAkBnCy9X,EAAAA,UAAAA,eAAN,SAAqB10H,qGACG,SAAM/0R,KAAK0pZ,6BAA6B30H,WAE5D,OAFMi5G,EAAcjhX,EAAAA,OAEb,CAAP,EAAOwgX,GAAUoc,kBAAkB3pZ,KAAKqtX,UAAUu8B,sBAAuB5b,YAQvEyb,EAAAA,UAAAA,aAAN,SAAmB10H,EAAyCwxH,yGAExD,GADAvmZ,KAAKiJ,OAAOwqE,KAAK,yBACZshN,GAAWp8P,GAAYiV,QAAQmnP,EAAQjnH,MACxC,MAAM0tK,GAAgBquE,sCAIT,OADXvD,EAAe5c,GAAUG,aACd,GAAM7pY,KAAK8pZ,oBAAoB9pZ,KAAKqtX,UAAWt4F,WAazD,OAbD14C,EAAWtvN,EAAAA,QAEXg9X,EAAkB,IAAIpE,GACxB3lZ,KAAKymF,OAAOk3T,YAAYx7E,SACxBniU,KAAKo8Y,aACLp8Y,KAAKiqY,YACLjqY,KAAKiJ,OACLjJ,KAAKymF,OAAO83T,kBACZv+Y,KAAKymF,OAAO63T,oBAIA0L,sBAAsB3tK,EAASnkL,MACxC,GAAM6xV,EAAgBE,0BAA0B5tK,EAASnkL,KAAMl4D,KAAKqtX,UAAWi5B,EAAcvxH,EAASwxH,WAA7G,MAAO,CAAP,EAAOx5X,EAAAA,gBAQX08X,EAAAA,UAAAA,uBAAA,SAAuBS,EAAsB3V,GAEzC,IAAMwV,EAAkB,IAAIpE,GAAgB3lZ,KAAKymF,OAAOk3T,YAAYx7E,SAAUniU,KAAKo8Y,aAAcp8Y,KAAKiqY,YAAajqY,KAAKiJ,OAAQ,KAAM,MAGhIymY,EAAgB,IAAInC,GAAU2c,GAE9BC,EAAgD5c,GAAU8B,oBAAoBK,EAAcpC,WAMlG,GAHAyc,EAAgBK,wCAAwCD,EAAc5V,EAAav0Y,KAAKiqY,cAGnFkgB,EAAar8O,KACd,MAAM0tK,GAAgB6uE,wCAE1B,OAAO,SACAF,GAAY,CAEfr8O,KAAMq8O,EAAar8O,QAS3B27O,EAAAA,UAAAA,aAAA,SAAaa,GAET,IAAKA,EACD,MAAM5qB,GAAyB6qB,gCAEnC,IAAMvc,EAAchuY,KAAKwqZ,2BAA2BF,GAGpD,OAAO/c,GAAUoc,kBAAkB3pZ,KAAKqtX,UAAUo9B,mBAAoBzc,IAQ5Dyb,EAAAA,UAAAA,oBAAd,SAAkCp8B,EAAsBt4F,iHAahC,OAZdonH,EAAgC,CAClCh6E,SAAUniU,KAAKymF,OAAOk3T,YAAYx7E,SAClCkrD,UAAWA,EAAUg8B,mBACrBnuE,OAAQnmD,EAAQmmD,OAChBmiD,OAAQtoG,EAAQsoG,OAChB6K,qBAAsBnzG,EAAQmzG,qBAC9BzP,sBAAuB1jG,EAAQ0jG,sBAC/BE,mBAAoB5jG,EAAQ4jG,mBAC5BwkB,UAAWpoH,EAAQooH,UACnB/U,OAAQrzG,EAAQqzG,QAGA,GAAMpoY,KAAK0qZ,uBAAuB31H,WAGtD,GAHM41H,EAAc59X,EAAAA,OACd69X,EAAkB5qZ,KAAK6qZ,2BAA2B91H,GACpDkgH,OAA2Cz3Y,EAC3Cu3R,EAAQ6nG,WACR,IACUA,EAAa5B,GAAgBjmG,EAAQ6nG,WAAY58X,KAAKiqY,aAC5DgL,EAAgB,CACZvR,WAAY,GAAG9G,EAAWpB,IAAMxlD,GAAWulD,sBAAwBqB,EAAWnB,KAC9EnqX,KAAMoqX,GAAkBwZ,iBAE9B,MAAOz2Y,GACLuB,KAAKiJ,OAAO+3U,QAAQ,+CAAiDviV,GAM7E,OAHMg2R,EAAkCz0R,KAAK8qZ,0BAA0B7V,GAAiBlgH,EAAQkgH,eAC1Fp5D,EAAWljT,GAAYiV,QAAQg9W,GAAmBv9B,EAAUiwB,cAAmBjwB,EAAUiwB,cAAa,IAAIsN,EAEzG,CAAP,EAAO5qZ,KAAK+qZ,2BAA2BlvE,EAAU8uE,EAAal2H,EAAS0nH,YAOnEsN,EAAAA,UAAAA,2BAAR,SAAmC10H,GAC/B,IAAMi2H,EAAmB,IAAI3K,GAM7B,OAJItrH,EAAQk2H,sBACRD,EAAiBE,wBAAwBn2H,EAAQk2H,sBAG9CD,EAAiBG,qBAOd1B,EAAAA,UAAAA,uBAAd,SAAqC10H,wHAC3Bi2H,EAAmB,IAAI3K,IAEZ+K,YAAYprZ,KAAKymF,OAAOk3T,YAAYx7E,UAMhDniU,KAAKqrZ,mBAKNL,EAAiBM,eAAev2H,EAAQu4F,aAHxCmyB,GAAiBsB,oBAAoBhsH,EAAQu4F,aAOjD09B,EAAiBO,UAAUx2H,EAAQmmD,QAGnC8vE,EAAiBQ,qBAAqBz2H,EAAQjnH,MAG9Ck9O,EAAiBS,eAAezrZ,KAAKymF,OAAO03T,aAC5C6M,EAAiBU,wBAAwB1rZ,KAAKymF,OAAO23T,UAAU/F,aAC/D2S,EAAiBW,gBAEb3rZ,KAAKq+Y,wBACL2M,EAAiBY,mBAAmB5rZ,KAAKq+Y,wBAIzCtpH,EAAQ08F,cACRu5B,EAAiBa,gBAAgB92H,EAAQ08F,cAGzCzxX,KAAKymF,OAAOy3T,kBAAkBnG,cAC9BiT,EAAiBc,gBAAgB9rZ,KAAKymF,OAAOy3T,kBAAkBnG,eAI7DC,EAAkBjjH,EAAQijH,iBAAmBh4Y,KAAKymF,OAAOy3T,kBAAkBlG,mBAG7EgT,EAAiBe,mBAAmB/T,EAAgBgU,WACpDhB,EAAiBiB,uBAAuBjU,EAAgBkU,gBAG5DlB,EAAiBmB,aAAar2E,GAAUs2E,0BACxCpB,EAAiBqB,gBAEbt3H,EAAQmzG,uBAAyBvxD,GAAqBswD,IAAtD,MAEmB,GADO,IAAIyd,GAAkB1kZ,KAAKiqY,aACVqiB,YAAYv3H,kBAAjDw3H,EAAa1pX,EAAAA,OAEnBmoX,EAAiBwB,YAAYD,EAAW1H,2BACrC,GAAI9vH,EAAQmzG,uBAAyBvxD,GAAqBgvD,IAAK,CAClE,IAAG5wG,EAAQ03H,OAGP,MAAM/sB,GAAyBgtB,2BAF/B1B,EAAiB2B,UAAU53H,EAAQ03H,yBAc3C,GARM5zE,EAAgB9jD,EAAQ8jD,eAAiB74U,KAAKymF,OAAOo4T,gBAAgB9kB,gBAC3EixB,EAAiB4B,iBAAiB/zE,KAE7BlgT,GAAYk0X,WAAW93H,EAAQsoG,SAAWr9X,KAAKymF,OAAOk3T,YAAYa,oBAAsBx+Y,KAAKymF,OAAOk3T,YAAYa,mBAAmBphZ,OAAS,IAC7I4tZ,EAAiB8B,UAAU/3H,EAAQsoG,OAAQr9X,KAAKymF,OAAOk3T,YAAYa,oBAGnES,OAAqCzhZ,EACrCu3R,EAAQ6nG,WACR,IACUA,EAAa5B,GAAgBjmG,EAAQ6nG,WAAY58X,KAAKiqY,aAC5DgV,EAAU,CACNvb,WAAY,GAAG9G,EAAWpB,IAAMxlD,GAAWulD,sBAAwBqB,EAAWnB,KAC9EnqX,KAAMoqX,GAAkBwZ,iBAE9B,MAAOz2Y,GACLuB,KAAKiJ,OAAO+3U,QAAQ,+CAAiDviV,QAGzEwgZ,EAAUlqH,EAAQkgH,cAItB,GAAIj1Y,KAAKymF,OAAOi4T,cAActH,sBAAwB6H,EAClD,OAAQA,EAAQ3tY,MACZ,KAAKoqX,GAAkBwZ,gBACnB,IACUtY,EAAavB,GAAiC4jB,EAAQvb,YAC5DsnB,EAAiB+B,UAAUnwB,GAC7B,MAAOn+X,GACLuB,KAAKiJ,OAAO+3U,QAAQ,mDAAqDviV,GAE7E,MACJ,KAAKi9X,GAAkB0Z,IACnB4V,EAAiBgC,UAAU/N,EAAQvb,YAgB/C,OAXI3uG,EAAQk4H,qBACRjC,EAAiBE,wBAAwBn2H,EAAQk4H,sBAIjDl4H,EAAQm4H,4BAAgCn4H,EAAQk4H,qBAAwBl4H,EAAQk4H,oBAAoBj6E,GAAmBm6E,kBACvHnC,EAAiBE,0BAAuB,MACnCl4E,GAAmBm6E,iBAAkB,IAAG,IAI1C,CAAP,EAAOnC,EAAiBG,6BAOd1B,EAAAA,UAAAA,6BAAd,SAA2C10H,+GAyCvC,IAxCMi2H,EAAmB,IAAI3K,IAEZ+K,YAAYprZ,KAAKymF,OAAOk3T,YAAYx7E,UAE/Cy+E,EAAgB,GAAI7rH,EAAQmmD,QAAU,GAAOnmD,EAAQq4H,sBAAwB,IACnFpC,EAAiBO,UAAU3K,GAG3BoK,EAAiBM,eAAev2H,EAAQu4F,aAGlCz0C,EAAgB9jD,EAAQ8jD,eAAiB74U,KAAKymF,OAAOo4T,gBAAgB9kB,gBAC3EixB,EAAiB4B,iBAAiB/zE,GAGlCmyE,EAAiBqC,gBAAgBt4H,EAAQwrH,cAGzCyK,EAAiBsC,sBAGjBtC,EAAiBS,eAAezrZ,KAAKymF,OAAO03T,aAC5C6M,EAAiBU,wBAAwB1rZ,KAAKymF,OAAO23T,UAAU/F,aAG/D2S,EAAiBqB,gBAEbt3H,EAAQ68F,eAAiB78F,EAAQgrH,qBACjCiL,EAAiBuC,uBAAuBx4H,EAAQ68F,cAAe78F,EAAQgrH,qBAGvEhrH,EAAQ4qH,QACRqL,EAAiBwC,UAAUz4H,EAAQ4qH,QAGnC5qH,EAAQqsH,YACR4J,EAAiByC,cAAc14H,EAAQqsH,YAIvCrsH,EAAQ4qH,SAAWpqE,GAAYE,eAE/B,GAAI1gD,EAAQwsH,KAAOxsH,EAAQ4qH,SAAWpqE,GAAYI,KAE9C31U,KAAKiJ,OAAO+3U,QAAQ,yEACpBgqE,EAAiB0C,OAAO34H,EAAQwsH,UAC7B,GAAIxsH,EAAQkoG,SAGf,IAFM0wB,EAAa3tZ,KAAK4tZ,kBAAkB74H,EAAQkoG,WAEhCloG,EAAQ4qH,SAAWpqE,GAAYI,KAAM,CAEnD31U,KAAKiJ,OAAO+3U,QAAQ,yEACpBgqE,EAAiB0C,OAAOC,GACxB,IACU/wB,EAAavB,GAAiCtmG,EAAQkoG,QAAQp9C,eACpEmrE,EAAiB+B,UAAUnwB,GAC7B,MAAOn+X,GACLuB,KAAKiJ,OAAO+3U,QAAQ,mDAAqDviV,SAE1E,GAAIs2R,EAAQ+/G,UACf90Y,KAAKiJ,OAAO+3U,QAAQ,gEACpBgqE,EAAiB6C,aAAa94H,EAAQ+/G,WACtCkW,EAAiBgC,UAAUj4H,EAAQ+/G,gBAChC,GAAI//G,EAAQkoG,QAAQhoG,SAAU,CAEjCj1R,KAAKiJ,OAAO+3U,QAAQ,gEACpBgqE,EAAiB6C,aAAa94H,EAAQkoG,QAAQhoG,UAC9C,IACU2nG,EAAavB,GAAiCtmG,EAAQkoG,QAAQp9C,eACpEmrE,EAAiB+B,UAAUnwB,GAC7B,MAAOn+X,GACLuB,KAAKiJ,OAAO+3U,QAAQ,mDAAsDviV,UAG3Es2R,EAAQ+/G,YACf90Y,KAAKiJ,OAAO+3U,QAAQ,4EACpBgqE,EAAiB6C,aAAa94H,EAAQ+/G,WACtCkW,EAAiBgC,UAAUj4H,EAAQ+/G,iBAGvC90Y,KAAKiJ,OAAO+3U,QAAQ,yFAGpBjsD,EAAQwsC,OACRypF,EAAiB8C,SAAS/4H,EAAQwsC,OAGlCxsC,EAAQlkP,OACRm6W,EAAiB+C,SAASh5H,EAAQlkP,SAGjClY,GAAYiV,QAAQmnP,EAAQsoG,SAAWr9X,KAAKymF,OAAOk3T,YAAYa,oBAAsBx+Y,KAAKymF,OAAOk3T,YAAYa,mBAAmBphZ,OAAS,IAC1I4tZ,EAAiB8B,UAAU/3H,EAAQsoG,OAAQr9X,KAAKymF,OAAOk3T,YAAYa,oBAGnEzpH,EAAQi5H,sBACRhD,EAAiBE,wBAAwBn2H,EAAQi5H,sBAGjDj5H,EAAQk5H,cAERjD,EAAiBkD,kBAGbn5H,EAAQmzG,uBAAyBvxD,GAAqBswD,IAAtD,MAGmB,GAFO,IAAIyd,GAAkB1kZ,KAAKiqY,aAEVqiB,YAAYv3H,KAR3D,aAQUw3H,EAAax/X,EAAAA,OACnBi+X,EAAiBwB,YAAYD,EAAW4B,6BAIhD,MAAO,CAAP,EAAOnD,EAAiBG,6BAOpB1B,EAAAA,UAAAA,2BAAR,SAAmC10H,GAC/B,IAAMi2H,EAAmB,IAAI3K,GA0B7B,OAxBItrH,EAAQy4F,uBACRw9B,EAAiBoD,yBAAyBr5H,EAAQy4F,uBAGlDz4F,EAAQ8jD,eACRmyE,EAAiB4B,iBAAiB73H,EAAQ8jD,eAG1C9jD,EAAQmsH,aACR8J,EAAiBqD,eAAet5H,EAAQmsH,aAGzCnsH,EAAQlkP,OACPm6W,EAAiB+C,SAASh5H,EAAQlkP,OAGlCkkP,EAAQovH,YACR6G,EAAiBsD,cAAcv5H,EAAQovH,YAGvCpvH,EAAQi5H,sBACRhD,EAAiBE,wBAAwBn2H,EAAQi5H,sBAG9ChD,EAAiBG,qBAOpB1B,EAAAA,UAAAA,kBAAR,SAA0BxsB,GACtB,OAAIA,EAAQR,eACYQ,EAAQR,cACT8kB,KAEhB,MAEf,GAnb6CvC,aCpB7BuP,GAAuBlyK,GACnC,OACIA,EAAS55O,eAAe,2BACxB45O,EAAS55O,eAAe,mBACxB45O,EAAS55O,eAAe,SAEhC,mBCCI,WAAYm8Y,GACR5+Y,KAAK4+Y,iBAAmBA,EAqFhC,OA7EiB4P,EAAAA,UAAAA,aAAb,SAA0BC,EAAuCC,EAAkDrX,gHAE3GsX,EAAyBF,EAGzB,YACM5jY,EAAU2jY,EAAgBI,aAC5BvX,IACAxsX,EAAQwsX,SAAWA,oBAIc,gCAAMr3Y,KAAK6uZ,kBAAkBj9Y,GAAUijU,aAAchqT,kBAAhFikY,EAA2B/hY,EAAAA,QACJqlD,SAAWolQ,GAAcu3E,cAClDJ,EAAyBG,EAAyB52V,KAClDw2V,EAAwBM,cAAgBv3E,GAAuBw3E,MAI/DH,EAAyB18U,SAAWolQ,GAAc03E,eAAlD,MAC2B,GAAMlvZ,KAAKmvZ,kBAAkBtkY,WACxD,OADMukY,EAAqBriY,EAAAA,QAMQ,GAAM/sB,KAAK6uZ,kBAAkBO,EAAoBvkY,KAJhF6jY,EAAwBM,cAAgBv3E,GAAuB43E,sBACxD,CAAP,EAAO,eAGLC,EAA6BviY,EAAAA,QACJqlD,SAAWolQ,GAAcu3E,cACpDJ,EAAyBW,EAA2Bp3V,KACpDw2V,EAAwBM,cAAgBv3E,GAAuBw3E,0CAKvE,gBADAP,EAAwBM,cAAgBv3E,GAAuB43E,sBACxD,CAAP,EAAO,gCAGXX,EAAwBM,cAAgBv3E,GAAuB83E,sCAQnE,OAJKZ,IACDD,EAAwBM,cAAgBv3E,GAAuB43E,uBAG5D,CAAP,EAAOV,GAA0B,cASvBH,EAAAA,UAAAA,kBAAd,SAAgCl7Q,EAAiBzoH,wEAC7C,MAAO,CAAP,EAAO7qB,KAAK4+Y,iBAAiBpH,oBAA+B5lY,GAAUgjU,cAAa,gBAAgBthM,EAAO,eAAgBzoH,EAASjZ,GAAUkjU,sBAQnI05E,EAAAA,UAAAA,kBAAd,SAAgC3jY,qGAEP,gCAAM7qB,KAAK4+Y,iBAAiBpH,oBAAwC5lY,GAAUgjU,cAAa,eAAgB/pT,WAG5H,OAHMwxN,EAAWtvN,EAAAA,QAGJqlD,SAAWolQ,GAAc03E,gBAAkB7yK,EAASnkL,MAAQmkL,EAASnkL,KAAK,oBAAsBmkL,EAASnkL,KAAK,mBAAmB96D,OAAS,EAC5I,CAAP,EAAOi/O,EAASnkL,KAAK,mBAAmB,IAGrC,CAAP,EAAO,aAEP,gBAAO,CAAP,EAAO,+BAzFEs2V,EAAAA,aAA4B,CACzC/5H,QAAS,CACL+6H,SAAU,SA0FtB,mBC3DI,WAAYniC,EAAmBuxB,EAAkCxC,EAA6BqT,EAAoCpY,GAC9Hr3Y,KAAKqpZ,mBAAqBh8B,EAC1BrtX,KAAK0vZ,oBAAoBC,gBACzB3vZ,KAAK4+Y,iBAAmBA,EACxB5+Y,KAAKo8Y,aAAeA,EACpBp8Y,KAAKyvZ,iBAAmBA,EACxBzvZ,KAAK4vZ,gBAAkB,IAAIpB,GAAgB5P,GAC3C5+Y,KAAK0uZ,wBAA0B,CAAEmB,iBAAaryZ,EAAWwxZ,mBAAexxZ,EAAWsyZ,oBAAgBtyZ,GACnGwC,KAAKq3Y,SAAWA,GAAYzlY,GAAU8iU,aAkgB9C,OA9fIz1U,OAAAA,eAAW8wZ,EAAAA,UAAAA,gBAAa,KAAxB,WACI,IAAMphB,EAAe3uY,KAAKgwZ,gCAAgCniB,aAE1D,OAAIc,EAAavxY,QAAUuxY,EAAa,GAAG32W,gBAAkBpmB,GAAU4hU,KAC5Du6C,GAAc4P,KAGlB5P,GAAckiC,yCAMzBhxZ,OAAAA,eAAW8wZ,EAAAA,UAAAA,eAAY,KAAvB,WACI,OAAO/vZ,KAAKyvZ,iBAAiB3G,8CAMjC7pZ,OAAAA,eAAW8wZ,EAAAA,UAAAA,UAAO,KAAlB,WACI,OAAO/vZ,KAAKyvZ,kDAMhBxwZ,OAAAA,eAAW8wZ,EAAAA,UAAAA,qBAAkB,KAA7B,WACI,OAAO/vZ,KAAK0vZ,oBAAoB9vB,eAMpC,SAA8BjkJ,GAC1B37O,KAAK0vZ,oBAAsB,IAAIniB,GAAU5xJ,GACzC37O,KAAK0vZ,oBAAoBC,gBACzB3vZ,KAAKkwZ,iCAAmC,sCAM5CjxZ,OAAAA,eAAW8wZ,EAAAA,UAAAA,kCAA+B,KAA1C,WAKI,OAJK/vZ,KAAKkwZ,mCACNlwZ,KAAKkwZ,iCAAmClwZ,KAAK0vZ,oBAAoBhiB,oBAG9D1tY,KAAKkwZ,kEAMhBjxZ,OAAAA,eAAW8wZ,EAAAA,UAAAA,kBAAe,KAA1B,WACI,OAAO/vZ,KAAKgwZ,gCAAgCpiB,gBAAgB51W,+CAMhE/4B,OAAAA,eAAW8wZ,EAAAA,UAAAA,SAAM,KAAjB,WACI,OAAO/vZ,KAAKgwZ,gCAAgCniB,aAAa,oCAM7D5uY,OAAAA,eAAW8wZ,EAAAA,UAAAA,wBAAqB,KAAhC,WACI,GAAG/vZ,KAAKu/Y,oBAAqB,CACzB,IAAM1jE,EAAW77U,KAAKmwZ,YAAYnwZ,KAAK6jP,SAAS4nJ,wBAChD,OAAOzrY,KAAKowZ,cAAcv0E,GAE1B,MAAML,GAAgBgkE,uCAAuC,0DAOrEvgZ,OAAAA,eAAW8wZ,EAAAA,UAAAA,gBAAa,KAAxB,WACI,GAAG/vZ,KAAKu/Y,oBAAqB,CACzB,IAAM1jE,EAAW77U,KAAKmwZ,YAAYnwZ,KAAK6jP,SAAS6nJ,gBAChD,OAAO1rY,KAAKowZ,cAAcv0E,GAE1B,MAAML,GAAgBgkE,uCAAuC,0DAIrEvgZ,OAAAA,eAAW8wZ,EAAAA,UAAAA,qBAAkB,KAA7B,WACI,GAAG/vZ,KAAKu/Y,oBAAqB,CACzB,IAAM1jE,EAAW77U,KAAKmwZ,YAAYnwZ,KAAK6jP,SAAS6nJ,eAAenjY,QAAQ,SAAU,gBACjF,OAAOvI,KAAKowZ,cAAcv0E,GAE1B,MAAML,GAAgBgkE,uCAAuC,0DAOrEvgZ,OAAAA,eAAW8wZ,EAAAA,UAAAA,qBAAkB,KAA7B,WACI,GAAG/vZ,KAAKu/Y,oBAAqB,CAEzB,IAAKv/Y,KAAK6jP,SAAS8nJ,qBACf,MAAMnwD,GAAgB60E,gCAE1B,IAAMx0E,EAAW77U,KAAKmwZ,YAAYnwZ,KAAK6jP,SAAS8nJ,sBAChD,OAAO3rY,KAAKowZ,cAAcv0E,GAE1B,MAAML,GAAgBgkE,uCAAuC,0DAOrEvgZ,OAAAA,eAAW8wZ,EAAAA,UAAAA,wBAAqB,KAAhC,WACI,GAAG/vZ,KAAKu/Y,oBAAqB,CACzB,IAAM1jE,EAAW77U,KAAKmwZ,YAAYnwZ,KAAK6jP,SAAS+nJ,QAChD,OAAO5rY,KAAKowZ,cAAcv0E,GAE1B,MAAML,GAAgBgkE,uCAAuC,0DAQ7DuQ,EAAAA,UAAAA,cAAR,SAAsBnwB,GAClB,OAAOA,EAAUr3X,QAAQ,uBAAwBvI,KAAKm4Y,SAOlD4X,EAAAA,UAAAA,YAAR,SAAoBnwB,GAChB,IAAI/jD,EAAW+jD,EAET0wB,EADqB,IAAI/iB,GAAUvtY,KAAK6jP,SAASioJ,qBACP4B,mBAAmBG,aAUnE,OAT8B7tY,KAAKgwZ,gCAAgCniB,aAE7C9uY,SAAQ,SAACwxZ,EAAaxvZ,GACxC,IAAMyvZ,EAAaF,EAAqBvvZ,GACpCwvZ,IAAgBC,IAChB30E,EAAWA,EAAStzU,QAAQ,IAAIioZ,EAAU,IAAK,IAAID,EAAW,SAI/D10E,GAMX58U,OAAAA,eAAc8wZ,EAAAA,UAAAA,qCAAkC,KAAhD,WACI,OAAI/vZ,KAAKg8X,gBAAkBjO,GAAc4P,MAAQ39X,KAAK8oZ,eAAiBlc,GAAa6jB,KACtEzwZ,KAAKqpZ,mBAAkB,mCAE3BrpZ,KAAKqpZ,mBAAkB,yEAMrC0G,EAAAA,UAAAA,kBAAA,WACI,QAAS/vZ,KAAK6jP,UAOLksK,EAAAA,UAAAA,sBAAb,mHAOiC,OANzBW,EAAiB1wZ,KAAKo8Y,aAAatT,4BAA4B9oY,KAAK2wZ,oBAEpED,EAAiB,IAAItlB,IACNwlB,yBAAyB5wZ,KAAKqpZ,oBAGpB,GAAMrpZ,KAAK6wZ,6BAA6BH,WAE9C,OAFjBI,EAAuB/jY,EAAAA,OAC7B/sB,KAAKqpZ,mBAAqBrpZ,KAAKqpZ,mBAAmB9gZ,QAAQvI,KAAK2wZ,gBAAiBD,EAAenlB,mBACxE,GAAMvrY,KAAK+wZ,uBAAuBL,kBAAnDM,EAAiBjkY,EAAAA,OAEnB+jY,IAAyBv6E,GAAwB06E,OAASD,IAAmBz6E,GAAwB06E,QAErGP,EAAeQ,iBACfR,EAAeE,yBAAyB5wZ,KAAKqpZ,qBAG3C5kB,EAAWzkY,KAAKo8Y,aAAa+U,kCAAkCT,EAAeplB,iBACpFtrY,KAAKo8Y,aAAagV,qBAAqB3sB,EAAUisB,GACjD1wZ,KAAK6jP,SAAW6sK,cAONX,EAAAA,UAAAA,uBAAd,SAAqCW,+GAEjC,OADI7sK,EAAW7jP,KAAKqxZ,kCAEhBX,EAAeK,uBAAuBltK,GAAU,GACzC,CAAP,EAAO0yF,GAAwB+6E,SAG/BtxZ,KAAKuxZ,oBAAoBb,IAAmBA,EAAe7kB,uBAAyB6kB,EAAec,YAE5F,CAAP,EAAOj7E,GAAwB06E,OAGxB,GAAMjxZ,KAAKyxZ,gDAAtB5tK,EAAWhhN,EAAAA,SAG2C,UAA9C7iC,KAAKyvZ,iBAAiBiC,gCAAwB,eAAEC,aACjB,GAAM3xZ,KAAK4vZ,gBAAgBgC,aAAa5xZ,KAAKyvZ,iBAAiBiC,yBAAyBjD,kBAAmBzuZ,KAAK0uZ,wBAAyB1uZ,KAAKq3Y,WADjH,MAF/D,aAGUsX,EAAyB9rX,EAAAA,OAEzB8uX,EAAc3xZ,KAAKyvZ,iBAAiBiC,yBAAyBC,cAAgB//Y,GAAUmjU,gCACvF45E,EACA3uZ,KAAKyvZ,iBAAiBiC,yBAAyBC,YAEjD3xZ,KAAKyvZ,iBAAiBiC,yBAAyBC,cAAgB//Y,GAAUmjU,gCACzE/0U,KAAK0uZ,wBAAwBoB,eAAiBnB,EAC1Cj3E,GAAwBm6E,oCACxBn6E,GAAwBo6E,gCAGxB9xZ,KAAK0uZ,wBAAwBoB,eAD7BnB,EAC+C3uZ,KAAKyvZ,iBAAiBiC,yBAAyBC,cAAgBhD,EAC1Gj3E,GAAwBq6E,4BACxBr6E,GAAwBs6E,wBAEkBt6E,GAAwBu6E,6BAI1EN,IACA3xZ,KAAK0uZ,wBAAwBmB,YAAc8B,EAC3C9tK,EAAWksK,EAAUmC,+BAA+BruK,EAAU8tK,qBAKtE,OADAjB,EAAeK,uBAAuBltK,GAAU,GACzC,CAAP,EAAO0yF,GAAwB47E,gBAE/B,MAAM32E,GAAgB42E,mCAAmCpyZ,KAAKqyZ,4CAS9DtC,EAAAA,UAAAA,oBAAR,SAA4BW,GAIxB,OAH2B,IAAInjB,GAAUmjB,EAAe5kB,qBACjB4B,mBAAmBG,aAEvCzwY,SAAW4C,KAAKgwZ,gCAAgCniB,aAAazwY,QAM5E2yZ,EAAAA,UAAAA,8BAAR,WACI,GAAI/vZ,KAAKyvZ,iBAAiB6C,kBACtB,IACI,OAAOzyZ,KAAKsE,MAAMnE,KAAKyvZ,iBAAiB6C,mBAC1C,MAAO7zZ,GACL,MAAMihY,GAAyB6yB,sCAIvC,OAAO,MAMGxC,EAAAA,UAAAA,+BAAd,+GACUllY,EAAuB,CAAC,EAC1B7qB,KAAKq3Y,WACLxsX,EAAQwsX,SAAWr3Y,KAAKq3Y,2BAIP,gCAAMr3Y,KAAK4+Y,iBAAiBpH,oBAA0Cx3Y,KAAKqyZ,mCAAoCxnY,WAChI,MAAO,CAAP,EAAO0jY,IADDlyK,EAAWtvN,EAAAA,QACsBmrC,MAAQmkL,EAASnkL,KAAO,aAE/D,gBAAO,CAAP,EAAO,+BASD63V,EAAAA,UAAAA,6BAAd,SAA2CW,qGAEvC,OADI7sK,EAAW7jP,KAAKwyZ,wCAEhB9B,EAAeG,6BAA6BhtK,GAAU,GAC/C,CAAP,EAAO0yF,GAAwB+6E,SAI/BtxZ,KAAKuxZ,oBAAoBb,IAAmBA,EAAellB,qBAAuBklB,EAAec,YAE1F,CAAP,EAAOj7E,GAAwB06E,OAGxB,GAAMjxZ,KAAKyyZ,+CACtB,GADA5uK,EAAW92N,EAAAA,OAGP,OADA2jY,EAAeG,6BAA6BhtK,GAAU,GAC/C,CAAP,EAAO0yF,GAAwB47E,SAG/B,MAAMzyB,GAAyBgzB,wCAO/B3C,EAAAA,UAAAA,oCAAR,WAEI,GAAI/vZ,KAAKyvZ,iBAAiBkD,uBACtB,IACI,IAAMC,EAAiB/yZ,KAAKsE,MAAMnE,KAAKyvZ,iBAAiBkD,wBAClD9uK,EAAWksK,EAAU8C,6CAA6CD,EAAe/uK,SAAU7jP,KAAK2wZ,iBACtG,GAAI9sK,EACA,OAAOA,EAEb,MAAOplP,GACL,MAAMihY,GAAyBozB,2CAKvC,OAAI9yZ,KAAK+yZ,uBACEhD,EAAUiD,qCAAqChzZ,KAAK2wZ,iBAGxD,MAOGZ,EAAAA,UAAAA,qCAAd,qHACUkD,EAA4B,GAAGrhZ,GAAU6hU,6BAA+BzzU,KAAKqpZ,mBAAkB,wBAC/Fx+X,EAAuB,CAAC,EAC1B7qB,KAAKq3Y,WACLxsX,EAAQwsX,SAAWr3Y,KAAKq3Y,UAGxB7uY,EAAQ,sBAES,gCAAMxI,KAAK4+Y,iBAAiBpH,oBAAoDyb,EAA2BpoY,WAE5H,OAFMwxN,EAAWtvN,EAAAA,OACX82N,WCvZ+BxH,GAC7C,OACIA,EAAS55O,eAAe,8BACxB45O,EAAS55O,eAAe,WAEhC,CDkZ6BywZ,CAAiC72K,EAASnkL,MAAQmkL,EAASnkL,KAAK2rL,SAAW,GACpE,IAApBA,EAASzmP,OAEF,CAAP,EAAO,OAEXoL,EAAQunZ,EAAU8C,6CAA6ChvK,EAAU7jP,KAAK2wZ,+BAE9E,gBAAO,CAAP,EAAO,aAOX,OAJKnoZ,IAEDA,EAAQunZ,EAAUiD,qCAAqChzZ,KAAK2wZ,kBAEzD,CAAP,EAAOnoZ,WAMHunZ,EAAAA,UAAAA,qBAAR,sBAKI,OAJgB/vZ,KAAKyvZ,iBAAiB0D,iBAAiB9wZ,QAAO,SAACgrX,GAC3D,OAAOkgB,GAAU6lB,iBAAiB/lC,GAAWr1V,gBAAkB3tB,EAAKsmZ,mBAGzDvzZ,OAAS,GAQrB2yZ,EAAAA,kBAAP,SAAyBsD,EAAyB5U,GAC9C,IAAI6U,EAEJ,GAAI7U,GAAqBA,EAAkBvG,qBAAuBrL,GAAmB9tD,KAAM,CACvF,IAAMo5D,EAASsG,EAAkBtG,OAASsG,EAAkBtG,OAASvmY,GAAU2hU,sBAC/E+/E,EAAiC7U,EAAkBvG,mBAAkB,IAAIC,EAAM,IAGnF,OAAOmb,GAA4DD,GAOhEtD,EAAAA,qCAAP,SAA4CvxH,GACxC,MAAO,CACH+sG,kBAAmB/sG,EACnB8sG,gBAAiB9sG,EACjB+nG,QAAS,CAAC/nG,KASXuxH,EAAAA,6CAAP,SAAoD1zK,EAAoCgxI,GACpF,IAAK,IAAIhtX,EAAI,EAAGA,EAAIg8O,EAASj/O,OAAQiD,IAAK,CACtC,IAAMwjP,EAAWxH,EAASh8O,GAC1B,GAAIwjP,EAAS0iJ,QAAQhlY,QAAQ8rX,IAAc,EACvC,OAAOxpI,EAIf,OAAO,MAMXksK,EAAAA,UAAAA,kBAAA,WACI,GAAG/vZ,KAAKu/Y,oBACJ,OAAOv/Y,KAAK6jP,SAASynJ,gBAErB,MAAM9vD,GAAgBgkE,uCAAuC,0BAQrEuQ,EAAAA,UAAAA,QAAA,SAAQvxH,GACJ,OAAOx+R,KAAK6jP,SAAS0iJ,QAAQhlY,QAAQi9R,IAAS,GAS3CuxH,EAAAA,uBAAP,SAA8BvxH,GAC1B,OAAO5sR,GAAUqjU,oBAAoB1zU,QAAQi9R,IAAS,GASnDuxH,EAAAA,6BAAP,SAAoCvxH,EAAc+0H,EAAgBvlB,GAE9D,IAAMwlB,EAAuB,IAAIjmB,GAAU/uG,GAC3Cg1H,EAAqB7D,gBAErB,IAAM8D,EAAoBD,EAAqB9lB,mBAE3CgmB,EAAoBH,EAAM,IAAIE,EAAkB7lB,gBAEhD5tY,KAAK2zZ,uBAAuBF,EAAkB7lB,mBAC9C8lB,EAAqBH,EAAM,IAAI3hZ,GAAUojU,mCAI7C,IAAMr5F,EAAM4xJ,GAAUc,gCAAgC,SAC/CmlB,EAAqB9lB,oBAAkB,CAC1CE,gBAAiB8lB,KAClB9zB,UAGH,OAAIoO,EAAuBryJ,EAAG,IAAIqyJ,EAE3BryJ,GASJo0K,EAAAA,+BAAP,SAAsClsK,EAAgC8tK,GASlE,OARA9tK,EAAS4nJ,uBAAyBskB,EAAU6D,6BAA6B/vK,EAAS4nJ,uBAAwBkmB,GAE1G9tK,EAAS6nJ,eAAiBqkB,EAAU6D,6BAA6B/vK,EAAS6nJ,eAAgBimB,EAAa,yBAEnG9tK,EAAS8nJ,uBACT9nJ,EAAS8nJ,qBAAuBokB,EAAU6D,6BAA6B/vK,EAAS8nJ,qBAAsBgmB,IAGnG9tK,GAEf,mBE9iBA,cA0CA,OA9BiBgwK,EAAAA,yBAAb,SAAsCC,EAAsB1W,EAA+BhB,EAA6BqT,EAAoCpY,uGAElJ0c,EAAmCF,EAAiBv8H,eAAew8H,EAAc1W,EAAehB,EAAcqT,EAAkBpY,oBAGlI,gCAAM0c,EAAsBC,gCAC5B,OADAjnY,EAAAA,OACO,CAAP,EAAOgnY,UAEP,iBAAMv4E,GAAgBgkE,uCAAuC78W,4BAc9DkxX,EAAAA,eAAP,SAAsBI,EAAsBrV,EAAkCxC,EAA6BqT,EAAoCpY,GAE3I,GAAI1+W,GAAYiV,QAAQqmX,GACpB,MAAMv0B,GAAyB2N,sBAGnC,OAAO,IAAI0iB,GAAUkE,EAAcrV,EAAkBxC,EAAcqT,EAAkBpY,IAE7F,mBC9BI,WAAY6c,EAA0C9X,GAF9C,KAAA+X,aAA6Bx8E,GAAay8E,aAG9Cp0Z,KAAKo8Y,aAAeA,EACpBp8Y,KAAKq0Z,MAAQH,EAAiBG,MAC9Br0Z,KAAK64U,cAAgBq7E,EAAiBr7E,cACtC74U,KAAKoyY,WAAa8hB,EAAiB9hB,YAAcxgY,GAAU8iU,aAC3D10U,KAAKs0Z,WAAaJ,EAAiBI,YAAc1iZ,GAAU8iU,aAE3D10U,KAAKu0Z,kBAAoB39E,GAAuBK,UAAYjB,GAAW4lD,oBAAsBs4B,EAAiB/xF,SAsKtH,OAhKIqyF,EAAAA,UAAAA,kCAAA,WACI,IAAMz/H,EAAU,GAAG/0R,KAAKq0Z,MAAQz9E,GAAuBO,gBAAkBn3U,KAAKm0Z,aACxEM,EAAiB,CAACz0Z,KAAKoyY,WAAYpyY,KAAKs0Z,YAAYnpZ,KAAKyrU,GAAuBO,iBAEhFu9E,EAAmC,CAAC3/H,EADZ/0R,KAAK20Z,4BACuCxpZ,KAAKyrU,GAAuBO,iBAEtG,MAAO,CAACP,GAAuBC,eAAgB69E,EAAkCD,GAAgBtpZ,KAAKyrU,GAAuBM,qBAMjIs9E,EAAAA,UAAAA,+BAAA,WACI,IAAMI,EAAe50Z,KAAK60Z,kBAEpBC,EAAYN,EAAuBO,gBAAgBH,GACnD/pB,EAAiB+pB,EAAa/pB,eAAenkY,MAAM,EAAG,EAAEouZ,GAAW3pZ,KAAKyrU,GAAuBO,iBAC/F2zD,EAAS8pB,EAAa9pB,OAAOpkY,MAAM,EAAGouZ,GAAW3pZ,KAAKyrU,GAAuBO,iBAC7E69E,EAAaJ,EAAa9pB,OAAO1tY,OAIjCq3Z,EAAiB,CAACO,EADPF,EAAYE,EAAap+E,GAAuBQ,cAAgBR,GAAuBS,gBAC1DlsU,KAAKyrU,GAAuBO,iBAE1E,MAAO,CAACP,GAAuBC,eAAgB+9E,EAAa7pB,UAAWF,EAAgBC,EAAQ2pB,GAAgBtpZ,KAAKyrU,GAAuBM,qBAO/Is9E,EAAAA,UAAAA,mBAAA,SAAmBjpZ,GACf,IAAMqpZ,EAAe50Z,KAAK60Z,kBACtBD,EAAa9pB,OAAO1tY,QAAUw5U,GAAuBI,oBAErD49E,EAAa/pB,eAAehmY,QAC5B+vZ,EAAa/pB,eAAehmY,QAC5B+vZ,EAAa9pB,OAAOjmY,SAGxB+vZ,EAAa/pB,eAAe7rY,KAAKgB,KAAKq0Z,MAAOr0Z,KAAK64U,eAE7ClgT,GAAYiV,QAAQriC,EAAMqtU,UAEnBjgT,GAAYiV,QAAQriC,EAAMgtU,WAEzBhtU,GAASA,EAAMjO,WACxBs3Z,EAAa9pB,OAAO9rY,KAAKuM,EAAMjO,YAE/Bs3Z,EAAa9pB,OAAO9rY,KAAK43U,GAAuBU,eAJhDs9E,EAAa9pB,OAAO9rY,KAAKuM,EAAMgtU,WAF/Bq8E,EAAa9pB,OAAO9rY,KAAKuM,EAAMqtU,UASnC54U,KAAKo8Y,aAAa6Y,mBAAmBj1Z,KAAKu0Z,kBAAmBK,IAQjEJ,EAAAA,UAAAA,mBAAA,WACI,IAAMI,EAAe50Z,KAAK60Z,kBAI1B,OAHAD,EAAa7pB,WAAa,EAE1B/qY,KAAKo8Y,aAAa6Y,mBAAmBj1Z,KAAKu0Z,kBAAmBK,GACtDA,EAAa7pB,WAMxBypB,EAAAA,UAAAA,gBAAA,WACI,IAAM17W,EAAsC,IAAIkyV,GAGhD,OAFqBhrY,KAAKo8Y,aAAa8Y,mBAAmBl1Z,KAAKu0Z,oBAExCz7W,GAM3B07W,EAAAA,UAAAA,oBAAA,WACI,IAAMI,EAAe50Z,KAAK60Z,kBACpBM,EAAmBX,EAAuBO,gBAAgBH,GAEhE,GAAIO,IADeP,EAAa9pB,OAAO1tY,OAGnC4C,KAAKo8Y,aAAa7lB,WAAWv2X,KAAKu0Z,uBAC/B,CAEH,IAAMa,EAAoB,IAAIpqB,GAC9BoqB,EAAkBvqB,eAAiB+pB,EAAa/pB,eAAenkY,MAAuB,EAAjByuZ,GACrEC,EAAkBtqB,OAAS8pB,EAAa9pB,OAAOpkY,MAAMyuZ,GAErDn1Z,KAAKo8Y,aAAa6Y,mBAAmBj1Z,KAAKu0Z,kBAAmBa,KAQ9DZ,EAAAA,gBAAP,SAAuBa,GACnB,IAAIh1Z,EACAy0Z,EAAY,EACZQ,EAAW,EACTN,EAAaK,EAAsBvqB,OAAO1tY,OAChD,IAAKiD,EAAI,EAAGA,EAAI20Z,EAAY30Z,IAAK,CAE7B,IAAMg0Z,EAAQgB,EAAsBxqB,eAAe,EAAExqY,IAAMuR,GAAU8iU,aAC/DmE,EAAgBw8E,EAAsBxqB,eAAe,EAAExqY,EAAI,IAAMuR,GAAU8iU,aAC3E6D,EAAY88E,EAAsBvqB,OAAOzqY,IAAMuR,GAAU8iU,aAK/D,MAFA4gF,GAAYjB,EAAM/2Z,WAAWF,OAASy7U,EAAcv7U,WAAWF,OAASm7U,EAAUn7U,OAAS,GAE5Ew5U,GAAuBG,uBAIlC,MAFA+9E,GAAa,EAMrB,OAAOA,GAQXN,EAAAA,UAAAA,yBAAA,WACI,IAAMe,EAAkC,GAMxC,OAJAA,EAAsBv2Z,KAAKgB,KAAKw1Z,YAAc5jZ,GAAU8iU,cACxD6gF,EAAsBv2Z,KAAKgB,KAAKy1Z,cAAgB7jZ,GAAU8iU,cAC1D6gF,EAAsBv2Z,KAAKgB,KAAK01Z,eAAiB9jZ,GAAU8iU,cAEpD6gF,EAAsBpqZ,KAAK,MAStCqpZ,EAAAA,UAAAA,8BAAA,SAA8B9F,GAC1B1uZ,KAAKw1Z,WAAa9G,EAAwBmB,YAC1C7vZ,KAAKy1Z,aAAe/G,EAAwBM,cAC5ChvZ,KAAK01Z,cAAgBhH,EAAwBoB,gBAMjD0E,EAAAA,UAAAA,gBAAA,SAAgBL,GACZn0Z,KAAKm0Z,aAAeA,GAE5B,mBC3KI,WAAY1tU,EAA8BkvU,EAAkC7+B,EAAwB7tX,EAAgB2sZ,EAA4B/8E,GAC5I74U,KAAKymF,OAASA,EACdzmF,KAAK6vY,eAAiB8lB,EACtB31Z,KAAK82X,cAAgBA,EACrB92X,KAAKo9Y,cAAgBp9Y,KAAKymF,OAAOknS,OAAOyvB,cACxCp9Y,KAAK41Z,aAAeA,EACpB51Z,KAAK64U,cAAgBA,GAAiB74U,KAAK82X,cAAciD,gBACzD/5X,KAAKiJ,OAASA,EAAOi4U,MAAMnG,GAA2BznM,GAAStzI,KAAK64U,eA0G5E,OAnGoBg9E,EAAAA,UAAAA,mBAAhB,SAAmC54B,iGAC3BA,EAAA,YACItB,GAAcm6B,mBAAmB74B,EAASj9X,KAAK6vY,eAAel1D,oBAAoB,KAClF36U,KAAKiJ,OAAO+3U,QAAQ,kCACpBhhV,KAAK6vY,eAAen1D,iBAAiB,wBAIrC,gCAAM16U,KAAK6vY,eAAepJ,cAAc9K,GAAcE,wBAAwBoB,mBAA9ElwW,EAAAA,OACA/sB,KAAKiJ,OAAO+3U,QAAQ,6GAEpBhhV,KAAKiJ,OAAOsC,MAAM,4GAKlB,gCAAMvL,KAAK6vY,eAAe3zM,gBAE1B,OAFAnvK,EAAAA,OAEA,GAAM/sB,KAAK82X,cAAcuD,+BAAzBttW,EAAAA,OACA/sB,KAAKiJ,OAAO+3U,QAAQ,iGAEpBhhV,KAAKiJ,OAAOsC,MAAM,6GASdsqZ,EAAAA,UAAAA,sBAAhB,SAAsC9gI,yGAclC,GAbA/0R,KAAKiJ,OAAO+3U,QAAQ,gCACdqsC,EAAYt4F,EAAQs4F,WAAartX,KAAKymF,OAAOuuM,KAAKq4F,UAElDnyC,EAAS,EAAMnmD,GAAWA,EAAQmmD,QAAW,KAE7C66E,EAAgB,OACfhhI,GAAO,CACV8jD,cAAe74U,KAAK64U,cACpBw0C,UAAS,EACTnyC,OAAM,KAIYgtD,qBAGf,CACH,GAAI6tB,EAAiB7tB,uBAAyBvxD,GAAqBgvD,IAAK,CACpE,IAAK5wG,EAAQ03H,OACT,MAAM/sB,GAAyBgtB,2BAEnC,IAAI33H,EAAQqzG,OACR,MAAM1I,GAAyBs2B,2BAGvCh2Z,KAAKiJ,OAAO+3U,QAAQ,iCAAiC+0E,EAAiB7tB,qBAAoB,wCAX1F6tB,EAAiB7tB,qBAAuBvxD,GAAqB6oD,OAC7Dx/X,KAAKiJ,OAAO+3U,QAAQ,kGAcpBjsD,EAAQsoG,QAAW1kW,GAAYiV,QAAQmnP,EAAQsoG,QAA/C,OACAtwW,EAAAA,EAAuC,GAAM/sB,KAAK82X,cAAcoB,WAAWnjG,EAAQsoG,iBAAnFtwW,EAAiBiyW,oBAAsBn8V,EAAAA,wBAG3C,MAAO,CAAP,EAAOkzX,WAUXF,EAAAA,UAAAA,eAAA,SAAeI,GACXj2Z,KAAKiJ,OAAO+3U,QAAQ,yBACpB,IAAMssC,EAAc2oC,GAAsBj2Z,KAAKymF,OAAOuuM,KAAKs4F,aAAe7zT,GAAay8V,gBACvF,OAAO3oB,GAAU4oB,eAAe7oC,EAAa7zT,GAAay8V,kBASpDL,EAAAA,UAAAA,iCAAV,SAA2CxB,EAAe15P,GACtD36J,KAAKiJ,OAAO+3U,QAAQ,2CACpB,IAAMo1E,EAA2C,CAC7Cj0F,SAAUniU,KAAKymF,OAAOuuM,KAAKmtC,SAC3B0W,cAAe74U,KAAK64U,cACpBw7E,MAAOA,EACP15P,aAAcA,IAAgB,EAC9By3O,WAAYpyY,KAAK6vY,eAAewmB,qBAAqB,GACrD/B,WAAYt0Z,KAAK6vY,eAAewmB,qBAAqB,IAGzD,OAAO,IAAI7B,GAAuB4B,EAAkBp2Z,KAAK6vY,iBAEjE,oBChHI,WAAYppT,EAA8BkvU,EAAkC7+B,EAAwB7tX,EAAgB2sZ,EAA4BU,EAAqCz9E,GAArL,MACIpsT,EAAAA,KAAAA,KAAMg6D,EAAQkvU,EAAa7+B,EAAe7tX,EAAQ2sZ,EAAc/8E,IAAc,YAC9ExuU,EAAKisZ,iBAAmBA,IAmPhC,OAxPwDtqY,EAAAA,EAAAA,GAYpCuqY,EAAAA,UAAAA,mCAAhB,SAAmDxhI,qGAEnB,OAD5B/0R,KAAKiJ,OAAO+3U,QAAQ,wCAAyCjsD,EAAQ8jD,eACzC,GAAM74U,KAAK82X,cAAcoD,4BAYrD,OAZMs8B,EAAsBzpY,EAAAA,OAEtBkpX,EAAe,OACdlhH,GAAO,CACVu4F,YAAav4F,EAAQu4F,YACrBx/M,KAAM,GACN2jN,aAAc+kC,EAAoB3kC,WAGtC98F,EAAQ68F,cAAgB4kC,EAAoB1kC,UAC5C/8F,EAAQgrH,oBAAsBnuY,GAAU0iU,2BAEjC,CAAP,EAAO2hE,WAODsgB,EAAAA,UAAAA,wBAAV,SAAkCjM,GAC9BtqZ,KAAKiJ,OAAO+3U,QAAQ,iCAA+C,OAAbspE,QAAa,IAAbA,OAAa,EAAbA,EAAezxE,eAErE,IAAM49E,EAAkB,GACpB59E,cAAe74U,KAAK82X,cAAciD,iBAC/BuwB,GAOP,GAAIA,EAEA,GAAKA,EAAcnG,WAWfnkZ,KAAKiJ,OAAO+3U,QAAQ,yDAVpB,GAAGspE,EAAcrtB,QAAS,CACtB,IAAMknB,EAAankZ,KAAK02Z,+BAA+BpM,EAAcrtB,SACjEknB,IACAnkZ,KAAKiJ,OAAO+3U,QAAQ,kFACpBy1E,EAAmBtS,WAAaA,QAGpCnkZ,KAAKiJ,OAAO+3U,QAAQ,0GAM5BhhV,KAAKiJ,OAAO+3U,QAAQ,qEAwBxB,OAjBKspE,GAAyD,OAAxCA,EAAc98B,sBAchCxtX,KAAKiJ,OAAO+3U,QAAQ,6EAA8Ey1E,EAAmB59E,eAbjHyxE,GAAiBA,EAAc98B,uBAC/BxtX,KAAKiJ,OAAO+3U,QAAQ,6DAA8Dy1E,EAAmB59E,eACrG49E,EAAmBjpC,sBAAwB+f,GAAU4oB,eAAe7L,EAAc98B,sBAAuB/zT,GAAay8V,kBACpE,OAA3Cl2Z,KAAKymF,OAAOuuM,KAAKw4F,sBACxBxtX,KAAKiJ,OAAO+3U,QAAQ,uGAAwGy1E,EAAmB59E,eACxI74U,KAAKymF,OAAOuuM,KAAKw4F,uBACxBxtX,KAAKiJ,OAAO+3U,QAAQ,kDAAmDy1E,EAAmB59E,eAC1F49E,EAAmBjpC,sBAAwB+f,GAAU4oB,eAAen2Z,KAAKymF,OAAOuuM,KAAKw4F,sBAAuB/zT,GAAay8V,mBAEzHl2Z,KAAKiJ,OAAO+3U,QAAQ,gDAAiDy1E,EAAmB59E,eACxF49E,EAAmBjpC,sBAAwB+f,GAAU4oB,eAAe18V,GAAay8V,gBAAiBz8V,GAAay8V,kBAMhHO,GAQDF,EAAAA,UAAAA,+BAAV,SAAyCt5B,GACrC,IAAMR,EAA2CQ,EAAQR,cACzD,GAAIA,EAAe,CACf,GAAIA,EAAck6B,WACd,OAAOl6B,EAAck6B,WAErB32Z,KAAKiJ,OAAO+3U,QAAQ,2IAGxBhhV,KAAKiJ,OAAO+3U,QAAQ,yGAGxB,OAAO,MAQKu1E,EAAAA,UAAAA,qBAAhB,SAAqClY,EAAgD4V,EAAuB2C,mGAEnF,SAAM52Z,KAAK62Z,uBAAuBxY,EAAwB4V,EAAc2C,WAC7F,OADME,EAAe/pY,EAAAA,OACd,CAAP,EAAO,IAAI08X,GAAwBqN,YASvBP,EAAAA,UAAAA,uBAAhB,SAAuClY,EAAgD0Y,EAA2BH,mGAElF,OAD5B52Z,KAAKiJ,OAAO+3U,QAAQ,iCACQ,GAAMhhV,KAAKg3Z,uBAAuBD,EAAkBH,WAEhF,OAFMK,EAAsBlqY,EAAAA,OAErB,CAAP,EAAO,CACH4wX,YAAa,CACTx7E,SAAUniU,KAAKymF,OAAOuuM,KAAKmtC,SAC3BkrD,UAAW4pC,EACXzY,mBAAoBx+Y,KAAKymF,OAAOuuM,KAAKwpH,oBAEzCE,cAAe,CACXvH,0BAA2Bn3Y,KAAKymF,OAAOknS,OAAOwpB,0BAC9CC,sBAAsB,GAE1Br6D,cAAe,CACXK,eAAgBp9U,KAAKymF,OAAOknS,OAAO5wC,cAAcK,eACjDC,kBAAmBr9U,KAAKymF,OAAOknS,OAAO5wC,cAAcM,kBACpDC,SAAUt9U,KAAKymF,OAAOknS,OAAO5wC,cAAcO,SAC3CzE,cAAe74U,KAAK64U,eAExBgmE,gBAAiB7+Y,KAAK82X,cACtB8nB,iBAAkB5+Y,KAAKo9Y,cACvBuB,iBAAkB3+Y,KAAK6vY,eACvBwO,uBAAwBA,EACxBF,YAAa,CACTxG,IAAK58D,GACLznM,QAASA,GACTskQ,IAAK,GACLC,GAAI,cASN0e,EAAAA,UAAAA,gCAAV,SAA0C93H,EAAc4/C,EAAkC64E,GACtFl3Z,KAAKiJ,OAAO+3U,QAAQ,yCAA0Ck2E,GAE9D,IAAM/M,EAAgD5c,GAAU8B,oBAAoB5wG,GACpF,IAAK0rH,EAAat5W,MACd,MAAMmgV,GAAiBmmC,qCAG3B,IAAMC,EAAmB7nB,GAAqByG,2BAA2Bh2Y,KAAK82X,cAAeqzB,EAAat5W,OAC1G,IAAKumX,EACD,MAAMpmC,GAAiBqmC,gCAG3B,GAAID,EAAiB/4E,kBAAoBA,EACrC,MAAM2yC,GAAiBsmC,0CAI3B,OADAt3Z,KAAKiJ,OAAO+3U,QAAQ,4BAA6Bk2E,GAC1C/M,EAAat5W,OAQR0lX,EAAAA,UAAAA,uBAAhB,SAAuCQ,EAA2BH,uGAevD,OAdP52Z,KAAKiJ,OAAO+3U,QAAQ,iCACdyuE,EAAqC,CACvC3G,aAAc9oZ,KAAKymF,OAAOuuM,KAAK8zH,aAC/BqK,iBAAkBnzZ,KAAKymF,OAAOuuM,KAAKm+H,iBACnCR,uBAAwB3yZ,KAAKymF,OAAOuuM,KAAK29H,uBACzCL,kBAAmBtyZ,KAAKymF,OAAOuuM,KAAKs9H,mBAIlCiF,EAAgBR,GAAsC/2Z,KAAKymF,OAAOuuM,KAAKq4F,UAGvEmqC,EAAiBzH,GAAU0H,kBAAmBF,EAAeX,GAA4B52Z,KAAKymF,OAAOuuM,KAAKypH,mBAChHz+Y,KAAKiJ,OAAO+3U,QAAQ,2DACb,GAAM6yE,GAAiB6D,yBAAyBF,EAAgBx3Z,KAAKymF,OAAOknS,OAAOyvB,cAAep9Y,KAAK6vY,eAAgB4f,WAA9H,MAAO,CAAP,EAAO1iY,EAAAA,gBAQKwpY,EAAAA,UAAAA,+BAAhB,SAA+CxhI,EAAwDspD,+GAa5F,OAZPr+U,KAAKiJ,OAAO+3U,QAAQ,yCACdssC,EAActtX,KAAK23Z,eAAe5iI,EAAQu4F,aAC1CsqC,EAAmC,CACrCv5E,gBAAiBA,GAEfxtS,EAAQm7V,GAAc6rB,gBACxB73Z,KAAK82X,cACJ/hG,GAAWA,EAAQlkP,OAASj/B,GAAU8iU,aACvCkjF,UAIG,GAAM53Z,KAAK83Z,sBAAsB/iI,WAsBxC,OAvBMghI,EAAgB,yCACflzX,EAAAA,UAAyC,CAC5CyqV,YAAaA,EACbz8U,MAAOA,EACP0wR,MAAOxsC,EAAQwsC,OAASvhU,KAAK82X,cAAciD,gBAC3CwmB,aAAc1qE,GAAakiF,aAGzB96B,EAAUloG,EAAQkoG,SAAWj9X,KAAK6vY,eAAel1D,sBAEnD36U,KAAKiJ,OAAO+3U,QAAQ,qCACpBhhV,KAAKiJ,OAAO+uZ,WAAW,sCAAsC/6B,GAC7D84B,EAAiB94B,QAAUA,GAI3BtkW,GAAYiV,QAAQmoX,EAAiBjhB,aAAe7X,IAC9Cg7B,EAAkBj4Z,KAAK6vY,eAAeqoB,wBAExCnC,EAAiBjhB,UAAYmjB,GAI9B,CAAP,EAAOlC,WAEf,GAxPwDF,kBCSpD,WAAYF,EAAkC1sZ,GAC1CjJ,KAAK6vY,eAAiB8lB,EACtB31Z,KAAKiJ,OAASA,EAGdjJ,KAAKm4Z,aAAen4Z,KAAKm4Z,aAAa5tZ,KAAKvK,MAmLnD,OAnKIo4Z,EAAAA,UAAAA,UAAA,SAAUC,EAAqBlpL,GAC3B,IACI,IAAImpL,OAAW,EAaf,GAXInpL,EAAYrjH,OACZwsS,EAAcnpL,EAAYrjH,MAC1B9rH,KAAKiJ,OAAO+uZ,WAAW,+BAA+BK,GACtDC,EAAY5hX,SAAS/mB,OAAO0oY,IACQ,qBAAtBlpL,EAAYrjH,QAE1B9rH,KAAKiJ,OAAO+uZ,WAAW,4BAA4BK,GACnDC,EAAcF,EAAWG,eAAeF,EAAalpL,EAAYqpL,UAAWrpL,EAAYspL,sBAAuBz4Z,KAAKiJ,UAInHqvZ,EACD,MAAMtnC,GAAiB0nC,gCAQ3B,OANIJ,EAAYh2U,OACZg2U,EAAYh2U,QAEhBtiF,KAAK24Z,cAAgBL,EACrB/xZ,OAAOsK,iBAAiB,eAAgB7Q,KAAKm4Z,cAEtCG,EACT,MAAO75Z,GAGL,MAFAuB,KAAKiJ,OAAOsC,MAAM,uBAAyB9M,EAAEgkE,SAC7CziE,KAAK6vY,eAAe4F,0BAAyB,GACvCzkB,GAAiB4nC,uBAAuBn6Z,EAAEnB,cAWjD86Z,EAAAA,eAAP,SAAsBC,EAAqBG,EAAmBC,EAA8CxvZ,eAKlG4vZ,EAAUtyZ,OAAOuyZ,WAAavyZ,OAAOuyZ,WAAavyZ,OAAOopO,QACzDopL,EAASxyZ,OAAOyyZ,UAAYzyZ,OAAOyyZ,UAAYzyZ,OAAOspO,QAKtDopL,EAAW1yZ,OAAO8yD,YAAc1vC,SAAS2vC,gBAAgBN,aAAervC,SAASuuC,KAAKc,YACtFkgW,EAAY3yZ,OAAO6yD,aAAezvC,SAAS2vC,gBAAgBd,cAAgB7uC,SAASuuC,KAAKM,aAE3Fz/C,EAAuC,QAAlC,EAAG0/Y,EAAsBU,iBAAS,eAAEpgZ,MACzCw/C,EAAwC,QAAlC,EAAGkgW,EAAsBU,iBAAS,eAAE5gW,OAC1CoE,EAAyC,QAAtC,EAAG87V,EAAsB1sS,qBAAa,eAAEpvD,IAC3Cn9D,EAA0C,QAAtC,EAAGi5Z,EAAsB1sS,qBAAa,eAAEvsH,KAsBhD,QApBKuZ,GAASA,EAAQ,GAAKA,EAAQkgZ,KAC/BhwZ,EAAO+3U,QAAQ,4EACfjoU,EAAQgiU,MAGPxiR,GAAUA,EAAS,GAAKA,EAAS2gW,KAClCjwZ,EAAO+3U,QAAQ,8EACfzoR,EAASwiR,MAGRp+Q,GAAOA,EAAM,GAAKA,EAAMu8V,KACzBjwZ,EAAO+3U,QAAQ,iFACfrkR,EAAMz9C,KAAKC,IAAI,EAAK+5Y,EAAY,EAAMn+E,GAAgC,EAAMg+E,MAG3Ev5Z,GAAQA,EAAO,GAAKA,EAAOy5Z,KAC5BhwZ,EAAO+3U,QAAQ,mFACfxhV,EAAO0f,KAAKC,IAAI,EAAK85Y,EAAW,EAAMl+E,GAA+B,EAAM89E,IAGxEtyZ,OAAO8yC,KAAKg/W,EAAaG,EAAW,SAASz/Y,EAAK,YAAYw/C,EAAM,SAASoE,EAAG,UAAUn9D,EAAI,qBAMzG44Z,EAAAA,UAAAA,aAAA,SAAa35Z,GACTuB,KAAK6vY,eAAeupB,8BAA8BhhF,GAAgBmG,OAC9Dv+U,KAAK24Z,eACL34Z,KAAK24Z,cAAcltV,QAGvBhtE,EAAE8jF,kBAON61U,EAAAA,UAAAA,WAAA,SAAWE,GACHA,GAEAA,EAAY7sV,QAGhBllE,OAAOyK,oBAAoB,eAAgBhR,KAAKm4Z,cAGhDn4Z,KAAK6vY,eAAe4F,0BAAyB,IAOjD2iB,EAAAA,UAAAA,0BAAA,SAA0BE,GAA1B,WACI,OAAO,IAAIlkI,SAAQ,SAACxhN,EAASyhN,GACzB,IAAM3lD,EAAaxmO,aAAY,WAC3B,GAAIowZ,EAAYe,OAKZ,OAHAhvZ,EAAKivZ,aACLrxZ,cAAcymO,QACd2lD,EAAO28F,GAAiBuoC,4BAI5B,IAAIj7H,EAAe1sR,GAAU8iU,aAC7B,IAMIp2C,EAAOg6H,EAAY5hX,SAAS4nP,KAC9B,MAAO7/R,GAAI,CAGTk6B,GAAYiV,QAAQ0wP,IAAkB,gBAATA,IAIjCr2R,cAAcymO,GACd97J,OACDmoQ,QASJq9E,EAAAA,kBAAP,SAAyBj2F,EAAkB+Y,EAAuBmyC,EAAmBx0C,GACjF,OAAUkC,GAAkC,IAAI5Y,EAAQ,IAAI+Y,EAAO/vU,KAAK,KAAI,IAAIkiX,EAAS,IAAIx0C,GAQ1Fu/E,EAAAA,wBAAP,SAA+Bj2F,EAAkBptC,GAC7C,IAAM8qD,EAAgB9qD,EAAQkoG,SAAWloG,EAAQkoG,QAAQp9C,cACzD,OAAU9E,GAAkC,IAAI5Y,EAAQ,IAAI0d,EAAa,IAAI9qD,EAAQ8jD,eAE7F,mBCnMI,WAAY2gF,EAAyC7D,EAAkC1f,EAAiDwjB,GACpIz5Z,KAAK05Z,WAAaF,EAClBx5Z,KAAK6vY,eAAiB8lB,EACtB31Z,KAAKi2Y,gBAAkBA,EACvBj2Y,KAAKy5Z,qBAAuBA,EAgHpC,OAnGUE,EAAAA,UAAAA,2BAAN,SAAiClqB,EAAsB5+V,EAAew8U,EAAsBusC,gFAGxF,GAFA55Z,KAAKy5Z,qBAAqBz4E,QAAQ,gDAE9BroT,GAAYiV,QAAQ6hW,GACpB,MAAMze,GAAiB6oC,qBAAqBpqB,GAMhD,GAFMiG,EAAW11Y,KAAK6vY,eAAe4E,iBAAiB5jW,KAChDo4W,EAAejpZ,KAAK6vY,eAAe6E,kBAAkBgB,IAEvD,MAAMl6D,GAAgBqqE,yBAAyB,gBAInD,OAFMiU,EAAmB95Z,KAAK05Z,WAAWK,uBAAuBtqB,EAAcwZ,GAEvE,CAAP,EAAOjpZ,KAAKg6Z,6BAA6BF,EAAkBjpX,EAAOw8U,EAAWusC,WAW3ED,EAAAA,UAAAA,6BAAN,SAAmCG,EAA4CjpX,EAAew8U,EAAsBusC,EAA+BK,eAAA,IAAAA,IAAAA,GAAAA,sGAM/I,GALAj6Z,KAAKy5Z,qBAAqBvoB,MAAM,0DAG1BwE,EAAW11Y,KAAK6vY,eAAe4E,iBAAiB5jW,KAChDo4W,EAAejpZ,KAAK6vY,eAAe6E,kBAAkBgB,IAEvD,MAAMl6D,GAAgBqqE,yBAAyB,uBAI7CqU,EAAWl6Z,KAAK6vY,eAAemF,iBAAiBiU,GAChDkR,EAAcn6Z,KAAK6vY,eAAe6E,kBAAkBwlB,GAG1Dl6Z,KAAKi2Y,gBAAgBnoO,KAAOgsP,EAAiBhsP,KAGzCgsP,EAAiBM,yBACjB,GAAMp6Z,KAAKq6Z,6BAA6BP,EAAiBM,yBAA0B/sC,EAAWusC,IAD9F,aACA7sY,EAAAA,wBAqBkB,OAjBlBktY,IACAH,EAAiBv4F,MAAQ44F,QAAe38Z,GAG5Cs8Z,EAAiBjpX,MAAQo4W,EAGrB6Q,EAAiB9T,YACjBhmZ,KAAKi2Y,gBAAgBrZ,WAAak9B,EAAiB9T,aAE7CsU,EAAgBt6Z,KAAKu6Z,yBAEvBv6Z,KAAKi2Y,gBAAgBhB,cAAgBqlB,GAKvB,GAAMt6Z,KAAK05Z,WAAWc,aAAax6Z,KAAKi2Y,gBAAiB6jB,WAE/E,OAFMW,EAAgB1tY,EAAAA,OACtB/sB,KAAK6vY,eAAe6qB,oBAAoB7pX,GACjC,CAAP,EAAO4pX,WASKd,EAAAA,UAAAA,6BAAhB,SAA6CgB,EAA+BttC,EAAsBusC,qGAE/D,OADzBgB,EAA4B,WAAWD,EAAqB,IAAIttC,EAAU8qB,OAAM,IACvD,GAAM0b,GAAiB6D,yBAAyBkD,EAA2BhB,EAAe55Z,KAAK6vY,eAAgBxiB,EAAUxiW,wBAAlJgwY,EAAyB9tY,EAAAA,OAC/B/sB,KAAK05Z,WAAWoB,gBAAgBD,eAM1BlB,EAAAA,UAAAA,oBAAV,WAEI,IAAMW,EAAgBt6Z,KAAK6vY,eAAe6E,kBAAkBz8D,GAAmBk9D,gBAAgB,GAC/F,GAAImlB,EACA,IACI,OAAOz6Z,KAAKsE,MAAMm2Z,GACpB,MAAO77Z,GACLuB,KAAK05Z,WAAWzwZ,OAAOsC,MAAM,wCAC7BvL,KAAK05Z,WAAWzwZ,OAAO8xZ,SAAS,yCAAyCT,GAGjF,OAAO,MAEf,oBClHI,WAAYd,EAAyC7D,EAAkC1f,EAAiDwjB,GAAxI,MACIhtY,EAAAA,KAAAA,KAAM+sY,EAAgB7D,EAAa1f,EAAiBwjB,IAAqB,YAGzEpvZ,EAAK2wZ,WAAa,IAAI5C,GAAWzC,EAAa8D,KA2CtD,OAlDkCztY,EAAAA,EAAAA,GAc9BivY,EAAAA,UAAAA,oBAAA,SAAoBC,EAAoBlyZ,GAEpC,GAAK2vB,GAAYiV,QAAQstX,GAOrB,MADAl7Z,KAAKy5Z,qBAAqBluZ,MAAM,yBAC1BylX,GAAiBmqC,gCAJvB,OAFAn7Z,KAAKy5Z,qBAAqB9jB,QAAQ,gBAAgBulB,GAE3Cl7Z,KAAKg7Z,WAAWI,UAAUF,EAAYlyZ,IAarDiyZ,EAAAA,UAAAA,oBAAA,SAAoB3C,GAApB,WACI,OAAOt4Z,KAAKg7Z,WAAWK,0BAA0B/C,GAAav1V,MAAK,WAC/D,IAAMu4V,EAAchD,EAAY5hX,SAAS+nP,KAIzC,GAHAhlO,GAAa8hW,UAAUjD,GACvBjuZ,EAAK2wZ,WAAW1B,WAAWhB,IAEtBgD,EACD,MAAMtqC,GAAiB6oC,qBAAqBvB,EAAY5hX,SAAS4nP,MAGrE,GAAIivG,GAAUgN,4BAA4B+gB,GACtC,OAAOA,EAEP,MAAMtqC,GAAiBwqC,mDAKvC,GAlDkC7B,mBCNlC,4DAsMA,OAtMiC3tY,EAAAA,EAAAA,GAK7ByvY,EAAAA,UAAAA,aAAA,SAAa1mI,GACT,IACI,IAAMyjI,EAAYJ,GAAWsD,kBAAkB17Z,KAAKymF,OAAOuuM,KAAKmtC,SAAUptC,EAAQmmD,QAAU9F,GAAqBrgD,EAAQs4F,WAAartX,KAAKymF,OAAOuuM,KAAKq4F,UAAWrtX,KAAK64U,eACjK4/E,EAAwB1jI,EAAQ0jI,uBAAyB,CAAC,EAGhE,GAAIz4Z,KAAKymF,OAAOknS,OAAOguC,YAGnB,OAFA37Z,KAAKiJ,OAAO+3U,QAAQ,4CAEbhhV,KAAK47Z,uBAAuB7mI,EAASyjI,EAAWC,GAGvDz4Z,KAAKiJ,OAAO+3U,QAAQ,iEACpB,IAAMl1N,EAAQssS,GAAWG,eAAe,cAAeC,EAAWC,EAAuBz4Z,KAAKiJ,QAC9F,OAAOjJ,KAAK47Z,uBAAuB7mI,EAASyjI,EAAWC,EAAuB3sS,GAEpF,MAAOrtH,GACL,OAAO21R,QAAQC,OAAO51R,KAQ9Bg9Z,EAAAA,UAAAA,OAAA,SAAOnR,GACH,IACItqZ,KAAKiJ,OAAO+3U,QAAQ,sBACpB,IAAMy1E,EAAqBz2Z,KAAK67Z,wBAAwBvR,GAElDkO,EAAYJ,GAAW0D,wBAAwB97Z,KAAKymF,OAAOuuM,KAAKmtC,SAAUs0F,GAC1EppC,EAAYi9B,GAAiBA,EAAcj9B,UAC3C0uC,EAAwBzR,GAAiBA,EAAcyR,sBACvDtD,GAAqC,OAAbnO,QAAa,IAAbA,OAAa,EAAbA,EAAemO,wBAAyB,CAAC,EAGvE,GAAIz4Z,KAAKymF,OAAOknS,OAAOguC,YAGnB,OAFA37Z,KAAKiJ,OAAO+3U,QAAQ,2BAEbhhV,KAAKg8Z,iBAAiBvF,EAAoB+B,EAAWC,EAAuBprC,OAAW7vX,EAAWu+Z,GAGzG/7Z,KAAKiJ,OAAO+3U,QAAQ,0CACpB,IAAMl1N,EAAQssS,GAAWG,eAAe,cAAeC,EAAWC,EAAuBz4Z,KAAKiJ,QAC9F,OAAOjJ,KAAKg8Z,iBAAiBvF,EAAoB+B,EAAWC,EAAuBprC,EAAWvhQ,EAAOiwS,GAE3G,MAAOt9Z,GAEL,OAAO21R,QAAQC,OAAO51R,KAadg9Z,EAAAA,UAAAA,uBAAhB,SAAuC1mI,EAAuByjI,EAAmBC,EAA8C3sS,uHAGtG,OAFrB9rH,KAAKiJ,OAAO+3U,QAAQ,iCACdq9D,EAAyBr+Y,KAAKi8Z,iCAAiC9jF,GAAMgB,mBACtD,GAAMn5U,KAAKk8Z,+BAA+BnnI,EAASqjD,GAAgBmG,eAAlF49E,EAAepvY,EAAAA,OACrB/sB,KAAK6vY,eAAeusB,mBAAmBD,EAAatrX,MAAOsrX,EAAa56F,MAAO46F,EAAa9uC,UAAW8uC,EAAarnB,WAAa,GAAIqnB,EAAal/B,SAAW,uBAIjG,gCAAMj9X,KAAKq8Z,mCAAmCF,WAG1D,OAHtClmB,EAAkDlpX,EAAAA,OAGZ,GAAM/sB,KAAKs8Z,qBAAqBje,EAAwB8d,EAAa9uC,UAAW8uC,EAAa1d,2BAIrH,OAJd8d,EAAsCxvY,EAAAA,OAC5C/sB,KAAKiJ,OAAO+3U,QAAQ,4BAGA,GAAMu7E,EAAWC,eAAeL,WAevC,OAfPM,EAAc1vY,EAAAA,OAGd2vY,EAAqB,IAAIzB,GAAasB,EAAYv8Z,KAAK6vY,eAAgBoG,EAAiBj2Y,KAAKiJ,QAG7F0zZ,EAA+B,CACjC7wS,MAAK,EACL0sS,UAAS,EACTC,sBAAqB,GAEnBH,EAAsBoE,EAAmBE,oBAAoBH,EAAaE,GAChF38Z,KAAK41Z,aAAa7Z,UAAUj/D,GAAU+/E,aAAczkF,GAAgBmG,MAAO,CAAC+5E,YAAW,GAAG,MAG7E,GAAMoE,EAAmBI,oBAAoBxE,WAO3C,OAPT75H,EAAO1xQ,EAAAA,OACP8jB,EAAQ7wC,KAAK+8Z,gCAAgCt+H,EAAM25C,GAAgBmG,MAAO49E,EAAatjF,eAG7FqjE,GAAgB8gB,eAAeh9Z,KAAK6vY,eAAgB7vY,KAAKymF,OAAOuuM,KAAKmtC,SAAU8zE,GAGhE,GAAMymB,EAAmBO,2BAA2Bx+H,EAAM5tP,EAAO0rX,EAAWlvC,UAAWrtX,KAAKo9Y,uBAE3G,MAAO,CAAP,EAFerwX,EAAAA,eAef,iBAXI++F,GAEAA,EAAMrgD,QAGN9oC,aAAag2S,IACbh2S,EAAEu6X,iBAAiBl9Z,KAAK64U,eAG5BwlE,EAAuB8e,mBAAmBx6X,GAC1C3iC,KAAK6vY,eAAe6qB,oBAAoByB,EAAatrX,OAC/ClO,2BAaE84X,EAAAA,UAAAA,iBAAhB,SAAiCU,EAAuC3D,EAAmBC,EAA8C1B,EAA2BjrS,EAAqBiwS,mHACrL/7Z,KAAKiJ,OAAO+3U,QAAQ,2BACpBhhV,KAAK41Z,aAAa7Z,UAAUj/D,GAAU6B,aAAcvG,GAAgBmG,MAAO49E,GAErE9d,EAAyBr+Y,KAAKi8Z,iCAAiC9jF,GAAM8B,8BAIvE,gCAAMj6U,KAAKo9Z,mBAAmBjB,EAAal/B,iBAGxB,OAHnBlwW,EAAAA,OAGmB,GAAM/sB,KAAKs8Z,qBAAqBje,EAAwB0Y,WAArEwF,EAAaxvY,EAAAA,OACnB/sB,KAAKiJ,OAAO+3U,QAAQ,4BAGdq8E,EAAoBd,EAAWe,aAAanB,GAElDn8Z,KAAK41Z,aAAa7Z,UAAUj/D,GAAUygF,eAAgBnlF,GAAgBmG,MAAO49E,GAEvEnB,EAAa,IAAI5C,GAAWp4Z,KAAK6vY,eAAgB7vY,KAAKiJ,QAEtDqvZ,EAAc0C,EAAWI,UAAUiC,EAAW,CAAC7E,UAAS,EAAEC,sBAAqB,EAAE3sS,MAAK,IAC5F9rH,KAAK41Z,aAAa7Z,UAAUj/D,GAAU+/E,aAAczkF,GAAgBmG,MAAO,CAAC+5E,YAAW,GAAG,uBAItF,gCAAM0C,EAAWK,0BAA0B/C,kBAA3CvrY,EAAAA,OACA/sB,KAAKiJ,OAAO+3U,QAAQ,yFAEpBhhV,KAAKiJ,OAAO+3U,QAAQ,sGAAsGp+S,uBAG9Ho4X,EAAW1B,WAAWhB,GAElByD,GACMyB,EAAuC,CACzCnJ,MAAOl8E,GAAM8B,YACblzU,QAAS/G,KAAKymF,OAAOknS,OAAO8vC,0BAC5BpiB,WAAW,GAETqiB,EAAcnwB,GAAU4oB,eAAe4F,EAAuBtiW,GAAay8V,iBAEjFl2Z,KAAKiJ,OAAO+3U,QAAQ,2DACpBhhV,KAAKiJ,OAAO+uZ,WAAW,+BAA+B0F,GACtD19Z,KAAKs2Z,iBAAiBqH,iBAAiBD,EAAaF,IAEpDx9Z,KAAKiJ,OAAO+3U,QAAQ,oDAgBxB,iBAbIl1N,GAEAA,EAAMrgD,QAGN+qT,aAAa79C,IACb69C,EAAE0mC,iBAAiBl9Z,KAAK64U,eAG5B74U,KAAK6vY,eAAe4F,0BAAyB,GAC7Cz1Y,KAAK41Z,aAAa7Z,UAAUj/D,GAAU8gF,eAAgBxlF,GAAgBmG,MAAO,KAAMi4C,GACnFx2X,KAAK41Z,aAAa7Z,UAAUj/D,GAAUkC,WAAY5G,GAAgBmG,OAClE8/D,EAAuB8e,mBAAmB3mC,GACpCA,gBAGVx2X,KAAK41Z,aAAa7Z,UAAUj/D,GAAUkC,WAAY5G,GAAgBmG,mBAE1E,GAtMiCg4E,mBCQ7B,WAAYiD,EAAyC7D,EAAkC1f,EAAiDwjB,EAA8B3iC,GAAtK,MACIrqW,EAAAA,KAAAA,KAAM+sY,EAAgB7D,EAAa1f,EAAiBwjB,IAAqB,YACzEpvZ,EAAKysX,cAAgBA,IAiH7B,OAvHqC9qW,EAAAA,EAAAA,GAa3B6xY,EAAAA,UAAAA,oBAAN,SAA0B3C,EAAoBlyZ,0GAC1ChJ,KAAKy5Z,qBAAqBz4E,QAAQ,8CAE7BroT,GAAYiV,QAAQstX,GAArB,OAEIlyZ,EAAO80Z,oBACP99Z,KAAKy5Z,qBAAqBz4E,QAAQ,kFAClChhV,KAAK6vY,eAAee,kBAAkB34D,GAAmBq9D,WAAYtsY,EAAO80Z,mBAAmB,IAInG99Z,KAAK6vY,eAAee,kBAAkB34D,GAAmBu9D,eAAgBx1Y,KAAKi2Y,gBAAgBp9D,eAAe,GAC7G74U,KAAK6vY,eAAekuB,iBAAiB/9Z,KAAKi2Y,gBAAiBj2Y,KAAK82X,eAChE92X,KAAKy5Z,qBAAqB9jB,QAAQ,qDAAqDulB,GACjFsC,EAAuC,CACzCnJ,MAAOl8E,GAAMkB,qBACbtyU,QAASiC,EAAOg1Z,gBAChB3iB,WAAW,GAI0B,oBAA9BryY,EAAOi1Z,mBAAd,OACAj+Z,KAAKy5Z,qBAAqBz4E,QAAQ,8EAIjB,IAHAh4U,EAAOi1Z,mBAAmB/C,GAGvC,OACAl7Z,KAAKy5Z,qBAAqBz4E,QAAQ,4FAClC,GAAMh4U,EAAOstZ,iBAAiB4H,iBAAiBhD,EAAYsC,qBAU/D,OADAzwY,EAAAA,OACA,WANI,OADA/sB,KAAKy5Z,qBAAqBz4E,QAAQ,+FAClC,8BAKJ,OADAhhV,KAAKy5Z,qBAAqBz4E,QAAQ,0EAClC,GAAMh4U,EAAOstZ,iBAAiB4H,iBAAiBhD,EAAYsC,8BAM/D,MADAx9Z,KAAKy5Z,qBAAqBhmV,KAAK,8DACzBu9S,GAAiBmqC,yDAQzB0C,EAAAA,UAAAA,2BAAN,SAAiCpuB,EAAsB5+V,EAAew8U,EAAsBusC,EAA+Bz3F,+GAIvH,GAHAniU,KAAKy5Z,qBAAqBz4E,QAAQ,6CAG9BroT,GAAYiV,QAAQ6hW,GACpB,MAAMze,GAAiB6oC,qBAAqBpqB,GAShD,GALAzvY,KAAK6vY,eAAe4F,0BAAyB,GAGvCC,EAAW11Y,KAAK6vY,eAAe4E,iBAAiB5jW,KAChDo4W,EAAejpZ,KAAK6vY,eAAe6E,kBAAkBgB,IAEvD,MAAMl6D,GAAgBqqE,yBAAyB,uBAE7CiU,EAAmB95Z,KAAK05Z,WAAWK,uBAAuBtqB,EAAcwZ,GAGxEiR,EAAWl6Z,KAAK6vY,eAAemF,iBAAiBiU,GAChDkR,EAAcn6Z,KAAK6vY,eAAe6E,kBAAkBwlB,GAG1Dl6Z,KAAKi2Y,gBAAgBnoO,KAAOgsP,EAAiBhsP,KAGzCgsP,EAAiBM,yBACjB,GAAMp6Z,KAAKq6Z,6BAA6BP,EAAiBM,yBAA0B/sC,EAAWusC,IAD9F,aACA7sY,EAAAA,wBAsBkB,OAnBtB+sY,EAAiBv4F,MAAQ44F,QAAe38Z,EACxCs8Z,EAAiBjpX,MAAQo4W,EAGrB6Q,EAAiB9T,YACjBhmZ,KAAKi2Y,gBAAgBrZ,WAAak9B,EAAiB9T,aAE7CsU,EAAgBt6Z,KAAKu6Z,yBAEvBv6Z,KAAKi2Y,gBAAgBhB,cAAgBqlB,GAKzCn4F,GACA+5E,GAAgB8gB,eAAeh9Z,KAAK6vY,eAAgB1tE,EAAUniU,KAAKi2Y,iBAIjD,GAAMj2Y,KAAK05Z,WAAWc,aAAax6Z,KAAKi2Y,gBAAiB6jB,WAG/E,OAHMW,EAAgB1tY,EAAAA,OAEtB/sB,KAAK6vY,eAAe6qB,oBAAoB7pX,GACjC,CAAP,EAAO4pX,WAEf,GAvHqCd,mBCJrC,4DAsQA,OAtQoC3tY,EAAAA,EAAAA,GAK1BmyY,EAAAA,UAAAA,aAAN,SAAmBppI,0HACM,SAAM/0R,KAAKk8Z,+BAA+BnnI,EAASqjD,GAAgBkG,kBAAlF69E,EAAepvY,EAAAA,OACrB/sB,KAAK6vY,eAAeusB,mBAAmBD,EAAatrX,MAAOsrX,EAAa56F,MAAO46F,EAAa9uC,UAAW8uC,EAAarnB,WAAa,GAAIqnB,EAAal/B,SAAW,MACvJohB,EAAyBr+Y,KAAKi8Z,iCAAiC9jF,GAAMkB,sBAErE+kF,EAAmB,SAAChtZ,GAElBA,EAAMitZ,YACNh0Z,EAAKpB,OAAO+3U,QAAQ,wEACpB32U,EAAKwlY,eAAe6qB,oBAAoByB,EAAatrX,0BAMD,gCAAM7wC,KAAKq8Z,mCAAmCF,WAG1D,OAHtClmB,EAAkDlpX,EAAAA,OAGZ,GAAM/sB,KAAKs8Z,qBAAqBje,EAAwB8d,EAAa9uC,UAAW8uC,EAAa1d,2BAOrH,OAPd8d,EAAsCxvY,EAAAA,OAC5C/sB,KAAKiJ,OAAO+3U,QAAQ,4BAGd07E,EAAqB,IAAImB,GAAgBtB,EAAYv8Z,KAAK6vY,eAAgBoG,EAAiBj2Y,KAAKiJ,OAAQjJ,KAAK82X,eAG/F,GAAMylC,EAAWC,eAAeL,WAS7C,OATDM,EAAc1vY,EAAAA,OAEd+wY,EAAoB99Z,KAAKs+Z,qBAAqBvpI,EAAQ+oI,mBAC5D99Z,KAAKiJ,OAAO+uZ,WAAW,wBAAwB8F,GAG/Cv3Z,OAAOsK,iBAAiB,WAAYutZ,GAG7B,GAAM1B,EAAmBE,oBAAoBH,EAAa,CAC7DnG,iBAAkBt2Z,KAAKs2Z,iBACvB0H,gBAAiBh+Z,KAAKymF,OAAOknS,OAAO8vC,0BACpCK,kBAAmBA,EACnBG,mBAAoBlpI,EAAQkpI,6BAJhC,MAAO,CAAP,EAAOlxY,EAAAA,eAaP,4BANiB4rT,IACbh2S,EAAEu6X,iBAAiBl9Z,KAAK64U,eAE5BtyU,OAAOyK,oBAAoB,WAAYotZ,GACvC/f,EAAuB8e,mBAAmBx6X,GAC1C3iC,KAAK6vY,eAAe6qB,oBAAoByB,EAAatrX,OAC/ClO,2BAURw7X,EAAAA,UAAAA,sBAAN,SAA4B1/H,uHAClB4/G,EAAyBr+Y,KAAKi8Z,iCAAiC9jF,GAAMyB,wCAEvE,4BAAK55U,KAAK6vY,eAAe0uB,yBAAwB,GAE7C,OADAv+Z,KAAKiJ,OAAOwqE,KAAK,yFACV,CAAP,EAAO,MAIX,KADM+qV,EAAex+Z,KAAKy+Z,wBAAwBhgI,GAAQl4R,OAAOmwC,SAAS+nP,OAKtE,OAFAz+R,KAAKiJ,OAAOwqE,KAAK,6GACjBzzE,KAAK6vY,eAAeupB,8BAA8BhhF,GAAgBkG,UAC3D,CAAP,EAAO,MAGPztS,OAAK,EACT,IACIA,EAAQ7wC,KAAK+8Z,gCAAgCyB,EAAcpmF,GAAgBkG,UAC3Et+U,KAAKiJ,OAAO+3U,QAAQ,6BACtB,MAAOviV,GAGL,OAFAuB,KAAKiJ,OAAOwqE,KAAK,6DAA6Dh1E,GAC9EuB,KAAK6vY,eAAeupB,8BAA8BhhF,GAAgBkG,UAC3D,CAAP,EAAO,aAILogF,EAAkB1+Z,KAAK6vY,eAAe6E,kBAAkBz8D,GAAmBq9D,YAAY,IAAS,GAChGqpB,EAA4BpxB,GAAUqxB,kBAAkBF,GACxDG,EAAuBtxB,GAAUqxB,kBAAkBr4Z,OAAOmwC,SAAS4nP,MAErEqgI,IAA8BE,GAAwB7+Z,KAAKymF,OAAOuuM,KAAKu4F,2BAEvEvtX,KAAKiJ,OAAO+3U,QAAQ,kDACK,GAAMhhV,KAAK8+Z,WAAWN,EAAc3tX,EAAOwtW,KAHpE,aAUA,OAPM0gB,EAAmBhyY,EAAAA,OAErB2xY,EAAgBn9Z,QAAQ,MAAQ,GAEhCk4D,GAAaulW,YAAYN,GAGtB,CAAP,EAAOK,iBACC/+Z,KAAKymF,OAAOuuM,KAAKu4F,0BAAlB,OACPvtX,KAAKiJ,OAAO+3U,QAAQ,yDACb,CAAP,EAAOhhV,KAAK8+Z,WAAWN,EAAc3tX,EAAOwtW,mBACpC5kV,GAAa+gV,eAAgBx6Y,KAAKymF,OAAOknS,OAAO+sB,sBAAjD,OAKP16Y,KAAK6vY,eAAee,kBAAkB34D,GAAmBs9D,SAAUipB,GAAc,GAC3EhB,EAAuC,CACzCnJ,MAAOl8E,GAAMyB,sBACb7yU,QAAS/G,KAAKymF,OAAOknS,OAAO8vC,0BAC5BpiB,WAAW,GAOX4jB,GAAiC,EAChCP,GAAuC,SAApBA,EAApB,OAEMQ,EAAWzlW,GAAa0lW,cAE9Bn/Z,KAAK6vY,eAAee,kBAAkB34D,GAAmBq9D,WAAY4pB,GAAU,GAC/El/Z,KAAKiJ,OAAOwhU,QAAQ,8EACI,GAAMzqU,KAAKs2Z,iBAAiBqH,iBAAiBuB,EAAU1B,oBAA/EyB,EAAwBlyY,EAAAA,oBAIA,OADxB/sB,KAAKiJ,OAAO+3U,QAAQ,kCAAkC09E,GAC9B,GAAM1+Z,KAAKs2Z,iBAAiBqH,iBAAiBe,EAAiBlB,WAAtFyB,EAAwBlyY,EAAAA,wBAI5B,IAAKkyY,EACD,MAAO,CAAP,EAAOj/Z,KAAK8+Z,WAAWN,EAAc3tX,EAAOwtW,qBAIpD,MAAO,CAAP,EAAO,cAOP,4BALiB1lE,IACb/1S,EAAEs6X,iBAAiBl9Z,KAAK64U,eAE5BwlE,EAAuB8e,mBAAmBv6X,GAC1C5iC,KAAK6vY,eAAeupB,8BAA8BhhF,GAAgBkG,UAC5D17S,4BASJu7X,EAAAA,UAAAA,wBAAV,SAAkC1/H,GAK9B,GAJAz+R,KAAKiJ,OAAO+3U,QAAQ,kCAEYusD,GAAUgN,4BAA4B97G,GAKlE,OAFAhlO,GAAa8hW,UAAUh1Z,QACvBvG,KAAKiJ,OAAO+3U,QAAQ,2DACbviD,EAGX,IAAM2gI,EAAap/Z,KAAK6vY,eAAe6E,kBAAkBz8D,GAAmBs9D,UAAU,GAItF,OAHAv1Y,KAAK6vY,eAAetZ,WAAWv2X,KAAK6vY,eAAe4C,iBAAiBx6D,GAAmBs9D,WAEvFv1Y,KAAKiJ,OAAO+3U,QAAQ,iEACbo+E,GAQKjB,EAAAA,UAAAA,WAAhB,SAA2B1/H,EAAc5tP,EAAewtW,uGAMpD,GALMghB,EAAgBr/Z,KAAK6vY,eAAeyvB,iBAAiBzuX,EAAO7wC,KAAK82X,eACvE92X,KAAKiJ,OAAO+3U,QAAQ,iDAGdu+E,EAAmBv/Z,KAAK6vY,eAAe2vB,mBAAmB3uX,IAE5D,MAAMmgV,GAAiBwlB,+BAGR,SAAMx2Y,KAAKs8Z,qBAAqBje,EAAwBkhB,WAGpE,OAHDhD,EAAaxvY,EAAAA,OACnB/sB,KAAKiJ,OAAO+3U,QAAQ,4BAEb,GADoB,IAAI68E,GAAgBtB,EAAYv8Z,KAAK6vY,eAAgBwvB,EAAer/Z,KAAKiJ,OAAQjJ,KAAK82X,eACjFmmC,2BAA2Bx+H,EAAM5tP,EAAO0rX,EAAWlvC,UAAWrtX,KAAKo9Y,cAAep9Y,KAAKymF,OAAOuuM,KAAKmtC,kBAAnI,MAAO,CAAP,EAAOp1S,EAAAA,gBAQLoxY,EAAAA,UAAAA,OAAN,SAAa7T,6GACTtqZ,KAAKiJ,OAAO+3U,QAAQ,yBACdy1E,EAAqBz2Z,KAAK67Z,wBAAwBvR,GAClDjM,EAAyBr+Y,KAAKi8Z,iCAAiC9jF,GAAM4B,yBAMvE,+BAHA/5U,KAAK41Z,aAAa7Z,UAAUj/D,GAAU6B,aAAcvG,GAAgBkG,SAAUgsE,GAG9E,GAAMtqZ,KAAKo9Z,mBAAmB3G,EAAmBx5B,iBAO9B,OAPnBlwW,EAAAA,OAEMywY,EAAuC,CACzCnJ,MAAOl8E,GAAM4B,OACbhzU,QAAS/G,KAAKymF,OAAOknS,OAAO8vC,0BAC5BpiB,WAAW,GAEI,GAAMr7Y,KAAKs8Z,qBAAqBje,EAAwBiM,GAAiBA,EAAcj9B,0BAApGkvC,EAAaxvY,EAAAA,OACnB/sB,KAAKiJ,OAAO+3U,QAAQ,4BAGdq8E,EAAoBd,EAAWe,aAAa7G,GAElDz2Z,KAAK41Z,aAAa7Z,UAAUj/D,GAAUygF,eAAgBnlF,GAAgBkG,SAAUm4E,GAE5EnM,GAA6D,oBAArCA,EAAc2T,oBAGrB,IAFA3T,EAAc2T,mBAAmBZ,GAE9C,OACAr9Z,KAAKiJ,OAAO+3U,QAAQ,8DACpB,GAAMhhV,KAAKs2Z,iBAAiB4H,iBAAiBb,EAAWG,KAL5D,aAMI,OADAzwY,EAAAA,OACA,WAEA/sB,KAAKiJ,OAAO+3U,QAAQ,qGAGxB,SAAMhhV,KAAKs2Z,iBAAiB4H,iBAAiBb,EAAWG,WACxD,OADAzwY,EAAAA,OACA,gCASJ,4BANiB4rT,IACb69C,EAAE0mC,iBAAiBl9Z,KAAK64U,eAE5BwlE,EAAuB8e,mBAAmB3mC,GAC1Cx2X,KAAK41Z,aAAa7Z,UAAUj/D,GAAU8gF,eAAgBxlF,GAAgBkG,SAAU,KAAMk4C,GACtFx2X,KAAK41Z,aAAa7Z,UAAUj/D,GAAUkC,WAAY5G,GAAgBkG,UAC5Dk4C,iBAGVx2X,KAAK41Z,aAAa7Z,UAAUj/D,GAAUkC,WAAY5G,GAAgBkG,sBAO5D6/E,EAAAA,UAAAA,qBAAV,SAA+BsB,GAC3B,IAAM3B,EAAoB2B,GAAoBl5Z,OAAOmwC,SAAS4nP,KAC9D,OAAOivG,GAAU4oB,eAAe2H,EAAmBrkW,GAAay8V,kBAExE,GAtQoCK,mBCDhC,WAAYiD,EAAyC7D,EAAkC1f,EAAiDwjB,EAA8BiG,GAAtK,MACIjzY,EAAAA,KAAAA,KAAM+sY,EAAgB7D,EAAa1f,EAAiBwjB,IAAqB,YACzEpvZ,EAAKq1Z,kBAAoBA,IA6IjC,OAlJmC1zY,EAAAA,EAAAA,GAazB2zY,EAAAA,UAAAA,oBAAN,SAA0BzE,mGACtB,GAAIviY,GAAYiV,QAAQstX,GAGpB,MADAl7Z,KAAKy5Z,qBAAqBhmV,KAAK,yBACzBu9S,GAAiBmqC,uCAGpBn7Z,KAAK0/Z,kBAAoB,GAAM1/Z,KAAK4/Z,UAAU1E,IAA9C,oBAAyBnuY,EAAAA,EAAAA,oBAAmCA,EAAAA,KAAK8yY,cAAc3E,oBAAtF,MAAO,CAAP,aAQJyE,EAAAA,UAAAA,qBAAA,SAAqBG,EAA2B/4Z,GAAhD,WACI,OAAO,IAAIqtR,SAAQ,SAACxhN,EAASyhN,GACrBttR,EAAUu0Y,IACVjxY,EAAKovZ,qBAAqBhvF,QAAQ,qEAAqE1jU,EAAO,yBAAyBu0Y,GAAyB,qCAOpK,IACMykB,EADUx5Z,OAAOkjU,YAAY7sO,MACL71F,EAExB2nO,EAAaxmO,aAAY,WAC3B,GAAI3B,OAAOkjU,YAAY7sO,MAAQmjU,EAI3B,OAHA11Z,EAAK21Z,mBAAmBF,GACxB73Z,cAAcymO,QACd2lD,EAAO28F,GAAiBivC,mCAI5B,IAAI3hI,EAAe1sR,GAAU8iU,aACvBtzB,EAAgB0+G,EAAO1+G,cAC7B,IAMI9iB,EAAO8iB,EAAgBA,EAAc1qQ,SAAS4nP,KAAO1sR,GAAU8iU,aACjE,MAAOj2U,GAAI,CAEb,IAAIk6B,GAAYiV,QAAQ0wP,GAAxB,CAIA,IAAMg9H,EAAcl6G,EAAgBA,EAAc1qQ,SAAS+nP,KAAM7sR,GAAU8iU,aAC3E,OAAI64D,GAAUgN,4BAA4B+gB,IAEtCjxZ,EAAK21Z,mBAAmBF,GACxB73Z,cAAcymO,QACd97J,EAAQ0oV,SAJZ,KAODvgF,QASH4kF,EAAAA,UAAAA,UAAR,SAAkBtH,GAAlB,WAMI,OAAO,IAAIjkI,SAAQ,SAACxhN,EAASyhN,GACzB,IAAM6rI,EAAc71Z,EAAK81Z,qBAEzB35Z,YAAW,WACF05Z,GAKLA,EAAYv8Y,IAAM00Y,EAElBzlV,EAAQstV,IANJ7rI,EAAO,2BAOZhqR,EAAKq1Z,uBAWRC,EAAAA,UAAAA,cAAR,SAAsBtH,GAClB,IAAM6H,EAAclga,KAAKmga,qBAIzB,OAFAD,EAAYv8Y,IAAM00Y,EAEX6H,GAQHP,EAAAA,UAAAA,mBAAR,WACI,IAAMS,EAAYz2Y,SAASC,cAAc,UASzC,OAPAw2Y,EAAU9nW,MAAM47S,WAAa,SAC7BksD,EAAU9nW,MAAMvsB,SAAW,WAC3Bq0X,EAAU9nW,MAAMv/C,MAAQqnZ,EAAU9nW,MAAMC,OAAS,IACjD6nW,EAAU9nW,MAAMspT,OAAS,IACzBw+C,EAAUvmW,aAAa,UAAW,+CAClClwC,SAASiwC,qBAAqB,QAAQ,GAAGvB,YAAY+nW,GAE9CA,GAQHT,EAAAA,UAAAA,mBAAR,SAA2BG,GACnBn2Y,SAASuuC,OAAS4nW,EAAO7mW,YACzBtvC,SAASuuC,KAAKO,YAAYqnW,IAGtC,GAlJmCnG,mBCQ/B,WAAYlzU,EAA8BkvU,EAAkC7+B,EAAwB7tX,EAAgB2sZ,EAA4BU,EAAqCjC,EAAcx7E,GAAnM,MACIpsT,EAAAA,KAAAA,KAAMg6D,EAAQkvU,EAAa7+B,EAAe7tX,EAAQ2sZ,EAAcU,EAAkBz9E,IAAc,YAChGxuU,EAAKgqZ,MAAQA,IA4ErB,OAjFwCroY,EAAAA,EAAAA,GAY9Bq0Y,EAAAA,UAAAA,aAAN,SAAmBtrI,6GAQf,GAPA/0R,KAAKiJ,OAAO+3U,QAAQ,+BAEhBroT,GAAYiV,QAAQmnP,EAAQ+/G,YAAcn8W,GAAYiV,QAAQmnP,EAAQwsH,QAAUxsH,EAAQkoG,SAAWtkW,GAAYiV,QAAQmnP,EAAQkoG,QAAQhoG,YACvIj1R,KAAKiJ,OAAOwhU,QAAQ,uGAIpB11C,EAAQ4qH,QAAU5qH,EAAQ4qH,SAAWpqE,GAAYI,KACjD,MAAMq7C,GAAiBsvC,6BAA6BvrI,EAAQ4qH,QAIjB,SAAM3/Y,KAAKk8Z,+BAA+B,OAClFnnI,GAAO,CACV4qH,OAAQpqE,GAAYI,OACrByC,GAAgBmoF,gBAHbC,EAAyCzzY,EAAAA,OAI/C/sB,KAAK6vY,eAAeusB,mBAAmBoE,EAAc3vX,MAAO2vX,EAAcj/F,MAAOi/F,EAAcnzC,UAAWmzC,EAAc1rB,WAAa,GAAI0rB,EAAcvjC,SAAW,MAE5JohB,EAAyBr+Y,KAAKi8Z,iCAAiCj8Z,KAAKq0Z,wBAId,gCAAMr0Z,KAAKq8Z,mCAAmCmE,WAG1D,OAHtCvqB,EAAkDlpX,EAAAA,OAGZ,GAAM/sB,KAAKs8Z,qBAAqBje,EAAwBmiB,EAAcnzC,UAAWmzC,EAAc/hB,2BAIvH,OAJd8d,EAAsCxvY,EAAAA,OAC5C/sB,KAAKiJ,OAAO+3U,QAAQ,4BAGA,GAAMu7E,EAAWC,eAAegE,WAE7C,OAFD/D,EAAc1vY,EAAAA,OAEb,GAAM/sB,KAAKyga,kBAAkBhE,EAAaxmB,EAAiBsmB,EAAYv8Z,KAAKiJ,gBAAnF,MAAO,CAAP,EAAO8jB,EAAAA,eAOP,4BALiB4rT,IACbh2S,EAAEu6X,iBAAiBl9Z,KAAK64U,eAE5BwlE,EAAuB8e,mBAAmBx6X,GAC1C3iC,KAAK6vY,eAAe6qB,oBAAoB8F,EAAc3vX,OAChDlO,2BAOd09X,EAAAA,UAAAA,OAAA,WAEI,OAAOjsI,QAAQC,OAAO28F,GAAiB0vC,uCAS3BL,EAAAA,UAAAA,kBAAhB,SAAkC5D,EAAqBxmB,EAAiDsmB,EAAqC9C,yGAIvH,UAFZkH,EAAgB,IAAIhB,GAAcpD,EAAYv8Z,KAAK6vY,eAAgBoG,EAAiBwjB,EAAsBz5Z,KAAKymF,OAAOknS,OAAO+xC,oBAE7F9C,oBAAoBH,WAE7C,OAFPmE,EAAY7zY,EAAAA,OAEL,GAAM4zY,EAAcE,qBAAqBD,EAAW5ga,KAAKymF,OAAOknS,OAAOmzC,2BAIpF,OAJMriI,EAAO1xQ,EAAAA,OACP8jB,EAAQ7wC,KAAK+8Z,gCAAgCt+H,EAAM25C,GAAgBmoF,OAAQtqB,EAAgBp9D,eAG1F,CAAP,EAAO8nF,EAAc1D,2BAA2Bx+H,EAAM5tP,EAAO0rX,EAAWlvC,UAAWrtX,KAAKo9Y,wBAEhG,GAjFwCmZ,mBCgBpC,WAAY7Y,UACRjxX,EAAAA,KAAAA,KAAMixX,IAAc,KAkN5B,OArNwC1xX,GAAAA,EAAAA,GAMvB+0Y,EAAAA,UAAAA,aAAb,SAA0BhsI,yGAEL,OADXuxH,EAAe5c,GAAUG,aACd,GAAM7pY,KAAK8pZ,oBAAoB/0H,EAAS/0R,KAAKqtX,mBAY9D,OAZMhxI,EAAWtvN,EAAAA,QAEXg9X,EAAkB,IAAIpE,GACxB3lZ,KAAKymF,OAAOk3T,YAAYx7E,SACxBniU,KAAKo8Y,aACLp8Y,KAAKiqY,YACLjqY,KAAKiJ,OACLjJ,KAAKymF,OAAO83T,kBACZv+Y,KAAKymF,OAAO63T,oBAGA0L,sBAAsB3tK,EAASnkL,MACxC,CAAP,EAAO6xV,EAAgBE,0BACnB5tK,EAASnkL,KACTl4D,KAAKqtX,UACLi5B,EACAvxH,OACAv3R,OACAA,GACA,YAQKuja,EAAAA,UAAAA,2BAAb,SAAwChsI,gFAEpC,IAAKA,EACD,MAAM2qG,GAAyBshC,+BAInC,IAAKjsI,EAAQkoG,QACT,MAAMzhD,GAAgBylF,sCAO1B,GAHejha,KAAKo8Y,aAAa8kB,kBAAkBnsI,EAAQkoG,QAAQ5kR,YAAar4G,KAAKymF,OAAOk3T,YAAYx7E,UAIpG,IACI,MAAO,CAAP,EAAOniU,KAAKmha,mCAAmCpsI,GAAS,IAC1D,MAAOt2R,GAKL,GAJM2ia,EAAoB3ia,aAAak8X,IAAgCl8X,EAAE85U,YAAcmiD,GAAuD5sN,KACxIuzP,EAAkC5ia,aAAa87X,IAAe97X,EAAE85U,YAAcT,IAA8Br5U,EAAEm6U,WAAad,GAG7HspF,GAAqBC,EACrB,MAAO,CAAP,EAAOrha,KAAKmha,mCAAmCpsI,GAAS,IAGxD,MAAMt2R,EAMlB,MAAO,CAAP,EAAOuB,KAAKmha,mCAAmCpsI,GAAS,WAO9CgsI,EAAAA,UAAAA,mCAAd,SAAiDhsI,EAAkCwzH,gFAK/E,KAHMjlB,EAAetjY,KAAKo8Y,aAAa1U,0BAA0B1nY,KAAKymF,OAAOk3T,YAAYx7E,SAAUptC,EAAQkoG,QAASsrB,IAIhH,MAAM5tB,GAA6B2mC,2BAavC,OAVMC,EAAmB,SAClBxsI,GAAO,CACVuuG,aAAcA,EAAa1gG,OAC3BslG,qBAAsBnzG,EAAQmzG,sBAAwBvxD,GAAqB6oD,OAC3EyV,cAAe,CACXvR,WAAY3uG,EAAQkoG,QAAQp9C,cAC5BvuU,KAAMoqX,GAAkBwZ,mBAIzB,CAAP,EAAOl1Y,KAAKw6Z,aAAa+G,WAQfR,EAAAA,UAAAA,oBAAd,SAAkChsI,EAAoCs4F,6GAG9C,SAAMrtX,KAAK0qZ,uBAAuB31H,WAgBtD,OAhBM41H,EAAc59X,EAAAA,OACd69X,EAAkB5qZ,KAAK6qZ,2BAA2B91H,GAClDN,EAAkCz0R,KAAK8qZ,0BAA0B/1H,EAAQkgH,eACzEkH,EAAgC,CAClCh6E,SAAUniU,KAAKymF,OAAOk3T,YAAYx7E,SAClCkrD,UAAWA,EAAUg8B,mBACrBnuE,OAAQnmD,EAAQmmD,OAChBmiD,OAAQtoG,EAAQsoG,OAChB6K,qBAAsBnzG,EAAQmzG,qBAC9BzP,sBAAuB1jG,EAAQ0jG,sBAC/BE,mBAAoB5jG,EAAQ4jG,mBAC5BwkB,UAAWpoH,EAAQooH,UACnB/U,OAAQrzG,EAAQqzG,QAGdvsD,EAAW0xD,GAAUoc,kBAAkBt8B,EAAUiwB,cAAesN,GAC/D,CAAP,EAAO5qZ,KAAK+qZ,2BAA2BlvE,EAAU8uE,EAAal2H,EAAS0nH,YAOnE4kB,EAAAA,UAAAA,2BAAR,SAAmChsI,GAC/B,IAAMi2H,EAAmB,IAAI3K,GAM7B,OAJItrH,EAAQk2H,sBACRD,EAAiBE,wBAAwBn2H,EAAQk2H,sBAG9CD,EAAiBG,qBAOd4V,EAAAA,UAAAA,uBAAd,SAAqChsI,oHAC3Bi2H,EAAmB,IAAI3K,IAEZ+K,YAAYprZ,KAAKymF,OAAOk3T,YAAYx7E,UAErD6oF,EAAiBO,UAAUx2H,EAAQmmD,QAEnC8vE,EAAiBmB,aAAar2E,GAAU0rF,qBAExCxW,EAAiBqB,gBAEjBrB,EAAiBS,eAAezrZ,KAAKymF,OAAO03T,aAC5C6M,EAAiBU,wBAAwB1rZ,KAAKymF,OAAO23T,UAAU/F,aAC/D2S,EAAiBW,gBAEb3rZ,KAAKq+Y,wBACL2M,EAAiBY,mBAAmB5rZ,KAAKq+Y,wBAGvCxlE,EAAgB9jD,EAAQ8jD,eAAiB74U,KAAKymF,OAAOo4T,gBAAgB9kB,gBAC3EixB,EAAiB4B,iBAAiB/zE,GAElCmyE,EAAiByW,gBAAgB1sI,EAAQuuG,cAErCtjY,KAAKymF,OAAOy3T,kBAAkBnG,cAC9BiT,EAAiBc,gBAAgB9rZ,KAAKymF,OAAOy3T,kBAAkBnG,eAI7DC,EAAkBjjH,EAAQijH,iBAAmBh4Y,KAAKymF,OAAOy3T,kBAAkBlG,mBAG7EgT,EAAiBe,mBAAmB/T,EAAgBgU,WACpDhB,EAAiBiB,uBAAuBjU,EAAgBkU,gBAGxDn3H,EAAQmzG,uBAAyBvxD,GAAqBswD,IAAtD,MAEmB,GADO,IAAIyd,GAAkB1kZ,KAAKiqY,aACVqiB,YAAYv3H,kBAAjDw3H,EAAax/X,EAAAA,OAEnBi+X,EAAiBwB,YAAYD,EAAW1H,2BACrC,GAAI9vH,EAAQmzG,uBAAyBvxD,GAAqBgvD,IAAK,CAClE,IAAG5wG,EAAQ03H,OAGP,MAAM/sB,GAAyBgtB,2BAF/B1B,EAAiB2B,UAAU53H,EAAQ03H,yBAU3C,KAJK9zX,GAAYk0X,WAAW93H,EAAQsoG,SAAWr9X,KAAKymF,OAAOk3T,YAAYa,oBAAsBx+Y,KAAKymF,OAAOk3T,YAAYa,mBAAmBphZ,OAAS,IAC7I4tZ,EAAiB8B,UAAU/3H,EAAQsoG,OAAQr9X,KAAKymF,OAAOk3T,YAAYa,oBAGnEx+Y,KAAKymF,OAAOi4T,cAActH,sBAAwBriH,EAAQkgH,cAC1D,OAAQlgH,EAAQkgH,cAAc3jY,MAC1B,KAAKoqX,GAAkBwZ,gBACnB,IACUtY,EAAavB,GAAiCtmG,EAAQkgH,cAAcvR,YAC1EsnB,EAAiB+B,UAAUnwB,GAC7B,MAAOn+X,GACLuB,KAAKiJ,OAAO+3U,QAAQ,mDAAqDviV,GAE7E,MACJ,KAAKi9X,GAAkB0Z,IACnB4V,EAAiBgC,UAAUj4H,EAAQkgH,cAAcvR,YAK7D,MAAO,CAAP,EAAOsnB,EAAiBG,6BAEhC,GArNwCnM,mBCrBxC,4DA2CA,OA3CyChzX,EAAAA,EAAAA,GAK/B01Y,EAAAA,UAAAA,aAAN,SAAmB3sI,gHAGR,eADAA,IACA,GAAM/0R,KAAK83Z,sBAAsB/iI,WAIb,OANrByrI,EAAa,yBAEZ39X,EAAAA,UAEDw7W,EAAyBr+Y,KAAKi8Z,iCAAiC9jF,GAAMwpF,+BAEhD,GAAM3ha,KAAK4ha,yBAAyBvjB,EAAwBmiB,EAAcnzC,UAAWmzC,EAAc/hB,2BAI9H,OAJMojB,EAAqBh/X,EAAAA,OAC3B7iC,KAAKiJ,OAAO+3U,QAAQ,gCAGb,CAAP,EAAO6gF,EAAmBC,2BAA2BtB,GAAep/E,OAAM,SAAA3iV,GAKtE,MAJIA,aAAak6U,IACbl6U,EAAEy+Z,iBAAiB7yZ,EAAKwuU,eAE5BwlE,EAAuB8e,mBAAmB1+Z,GACpCA,cAOdija,EAAAA,UAAAA,OAAA,WAEI,OAAOttI,QAAQC,OAAO28F,GAAiB0vC,uCAQ3BgB,EAAAA,UAAAA,yBAAhB,SAAyCrjB,EAAgD4V,EAAuBxV,mGAEvF,SAAMz+Y,KAAK62Z,uBAAuBxY,EAAwB4V,EAAcxV,WAC7F,OADMqY,EAAe/pY,EAAAA,OACd,CAAP,EAAO,IAAIg0Y,GAAmBjK,YAEtC,GA3CyCP,kBCsBrC,WAAY7Y,EAAqCqkB,EAA8B94Z,EAAgBilX,GAC3FluX,KAAK+6Y,qBAAyC,qBAAXx0Y,OACnCvG,KAAKymF,OAASi3T,EACd19Y,KAAK+ha,QAAUA,EACf/ha,KAAKiJ,OAASA,EACdjJ,KAAKkuX,UAAYA,EAgHzB,OArGI8zC,EAAAA,UAAAA,mBAAA,SAAmBjtI,EAAwB14C,EAAiCxxN,GAGxE,GAFA7qB,KAAKiJ,OAAOwqE,KAAK,2CAEZ4oK,EAASoqK,SACV,MAAMz1B,GAAiBixC,6BAA6B,oDAGxD,GAAIltI,EAAQkoG,QACRj9X,KAAKkia,YAAY7lL,EAASoqK,SAAU1xH,EAAQkoG,QAAQp9C,cAAe9qD,EAAQkoG,QAAQ5kR,YAAa08K,EAAQkoG,QAAQnB,SAAUjxW,GAC1H7qB,KAAKmia,gBAAgBptI,EAAS14C,EAAU04C,EAAQkoG,QAAQp9C,cAAe9qD,EAAQkoG,QAAQ5kR,YAAa08K,EAAQkoG,QAAQnB,SAAUjxW,OAC3H,KAAIkqQ,EAAQs4F,UAwBf,MAAM2D,GAAiBixC,6BAA6B,yEAtBpD,IAAMhO,EAAelE,GAAU0H,kBAAkB1iI,EAAQs4F,UAAWt4F,EAAQ0pH,mBACtEgR,EAAqC,CACvC3G,aAAc9oZ,KAAKymF,OAAOuuM,KAAK8zH,aAC/BqK,iBAAkBnzZ,KAAKymF,OAAOuuM,KAAKm+H,iBACnCR,uBAAwB3yZ,KAAKymF,OAAOuuM,KAAK29H,uBACzCL,kBAAmBtyZ,KAAKymF,OAAOuuM,KAAKs9H,mBAElCjlC,EAAY,IAAI0iC,GAAUkE,EAAcj0Z,KAAKymF,OAAOknS,OAAOyvB,cAAep9Y,KAAK+ha,QAAStS,GAG9F,GAAI5kY,EAAQ+xW,WACR58X,KAAKiJ,OAAOioY,MAAM,2CAClBlxY,KAAKkia,YAAY7lL,EAASoqK,SAAU57X,EAAQ+xW,WAAYvP,EAAUsjC,gBAAiBtjC,EAAU8qB,OAAQttX,GACrG7qB,KAAKmia,gBAAgBptI,EAAS14C,EAAUxxN,EAAQ+xW,WAAYvP,EAAUsjC,gBAAiBtjC,EAAU8qB,OAAQttX,OACtG,KAAIwxN,EAAS2pK,YAKhB,MAAMh1B,GAAiBixC,6BAA6B,yDAJpDjia,KAAKiJ,OAAOioY,MAAM,4CAClBlxY,KAAKkia,YAAY7lL,EAASoqK,SAAUpqK,EAAS2pK,YAAa34B,EAAUsjC,gBAAiBtjC,EAAU8qB,OAAQttX,GACvG7qB,KAAKmia,gBAAgBptI,EAAS14C,EAAUA,EAAS2pK,YAAa34B,EAAUsjC,gBAAiBtjC,EAAU8qB,OAAQttX,MAiB/Gm3Y,EAAAA,UAAAA,YAAR,SAAoBnlC,EAAiBh9C,EAAuBxnO,EAAqByjR,EAAkBjxW,GAE/F,IAAM4+W,EAAgBD,GAAc8d,oBAAoBznE,EAAexnO,EAAawkR,EAAS78X,KAAKymF,OAAOuuM,KAAKmtC,SAAU25D,GAClHsmC,EAAc,IAAIngC,GAAUpF,EAAS78X,KAAKkuX,WAC1Co2B,EAAgBz5X,EAAQ+xW,WAC1BjB,GAAcotB,cAAcl+X,EAAQ+xW,WAAY/8C,EAAeuiF,OAAa5ka,OAAWA,OAAWA,OAAWA,EAAW66G,GACxHsjR,GAAcktB,qBAAqBhpE,EAAeuiF,OAAa5ka,OAAWA,OAAWA,OAAWA,EAAW66G,GAE/G,IAAIr4G,KAAK+6Y,qBAKL,MAAM/pB,GAAiBixC,6BAA6B,wEAJpDjia,KAAKiJ,OAAO+3U,QAAQ,iCACpBhhV,KAAK+ha,QAAQ7+B,WAAWohB,GACxBtkZ,KAAK+ha,QAAQ5+B,qBAAqBsG,IAgBlCu4B,EAAAA,UAAAA,gBAAR,SAAwBjtI,EAAwB14C,EAAiCwjG,EAAuBxnO,EAAqByjR,EAAkBjxW,GAE3I,GAAKwxN,EAASmrK,aAAd,CAKA,IAAKnrK,EAASsrK,WACV,MAAM32B,GAAiBixC,6BAA6B,4DAGxD,IAAKp3Y,EAAQy/W,kBACT,MAAMtZ,GAAiBixC,6BAA6B,6DAGxD,IAAM/mF,EAAS,IAAIqlD,GAASxrG,EAAQmmD,QAAQ6mD,cACtC4H,EAAYttJ,EAASsrK,WACrBrd,EAAoBz/W,EAAQy/W,kBAE5Bia,EAAoBxa,GAAkBoe,wBAAwBtoE,EAAexnO,EAAagkI,EAASmrK,aAAcxnZ,KAAKymF,OAAOuuM,KAAKmtC,SAAU25D,EAAU5gD,EAAQyuD,EAAWW,EAAmBtqY,KAAKkuX,WAEvM,IAAIluX,KAAK+6Y,qBAIL,MAAM/pB,GAAiBixC,6BAA6B,wEAHpDjia,KAAKiJ,OAAO+3U,QAAQ,qCACpBhhV,KAAK+ha,QAAQ39B,yBAAyBmgB,QApBtCvkZ,KAAKiJ,OAAO+3U,QAAQ,sDAyBhC,oBC7II,WAAYv6P,GAAZ,MACIh6D,EAAAA,KAAAA,KAAMg6D,IAAO,YACbp8E,EAAKghZ,oBAAqB,IAElC,OALsDr/X,EAAAA,EAAAA,GAKtD,GALsDy9X,mBCclD,WAAYhjU,EAA8BkvU,EAAkC7+B,EAAwB7tX,EAAgB2sZ,EAA4BU,EAAqCjC,EAAcx7E,GAAnM,MACIpsT,EAAAA,KAAAA,KAAMg6D,EAAQkvU,EAAa7+B,EAAe7tX,EAAQ2sZ,EAAcU,EAAkBz9E,IAAc,YAChGxuU,EAAKgqZ,MAAQA,IAmErB,OAxE0CroY,EAAAA,EAAAA,GAYhCq2Y,EAAAA,UAAAA,aAAN,SAAmBttI,6GAIf,GAHA/0R,KAAKiJ,OAAOioY,MAAM,6CAGbn8G,EAAQjnH,KACT,MAAMkjN,GAAiBsxC,8BAIoB,SAAMtia,KAAKk8Z,+BAA+BnnI,EAASqjD,GAAgBmoF,gBAA5GC,EAAyCzzY,EAAAA,OAC/C/sB,KAAK6vY,eAAeusB,mBAAmBoE,EAAc3vX,MAAO2vX,EAAcj/F,MAAOi/F,EAAcnzC,UAAWmzC,EAAc1rB,WAAa,GAAI0rB,EAAcvjC,SAAW,MAE5JohB,EAAyBr+Y,KAAKi8Z,iCAAiCj8Z,KAAKq0Z,wBAWjD,6BANfpe,EAAe,OACduqB,GAAa,CAChB1yP,KAAMinH,EAAQjnH,OAIG,GAAM9tK,KAAK62Z,uBAAuBxY,EAAwBmiB,EAAcnzC,mBAQ7F,OARMypC,EAAe/pY,EAAAA,OACfwvY,EAA+C,IAAIgG,GAAiCzL,GAC1F92Z,KAAKiJ,OAAO+3U,QAAQ,4BAMb,CAAP,EAHsB,IAAI2+E,GAAcpD,EAAYv8Z,KAAK6vY,eAAgBoG,EAAiBj2Y,KAAKiJ,OAAQjJ,KAAKymF,OAAOknS,OAAO+xC,mBAGrG1F,6BACjB,CACIlsP,KAAMinH,EAAQjnH,KACd86O,aAAc7zH,EAAQioG,YACtB0rB,sBAAuB3zH,EAAQgoG,mBAC/Bq9B,yBAA0BrlI,EAAQytI,uBAEtChC,EAAc3vX,MACd0rX,EAAWlvC,UACXrtX,KAAKo9Y,eACL,WAQJ,4BALiBzkE,IACbh2S,EAAEu6X,iBAAiBl9Z,KAAK64U,eAE5BwlE,EAAuB8e,mBAAmBx6X,GAC1C3iC,KAAK6vY,eAAe6qB,oBAAoB8F,EAAc3vX,OAChDlO,2BAOd0/X,EAAAA,UAAAA,OAAA,WAEI,OAAOjuI,QAAQC,OAAO28F,GAAiB0vC,uCAE/C,GAxE0CnK,kBCqEtC,WAAY7Y,GAMR19Y,KAAK+6Y,qBAAyC,qBAAXx0Y,OAEnCvG,KAAKymF,gBlCiBsB15D,EAAwFguX,OAAhF0nB,EAAa,OAASC,EAAc,QAAUC,EAAe,SAG9FC,EAAqD,CACvDzgG,SAAU,GACVkrD,UAAW,GAAGz7W,GAAUyhU,kBACxB8/E,iBAAkB,GAClBR,uBAAwB,GACxBL,kBAAmB,GACnBhlC,YAAa,GACbE,sBAAuB,GACvBD,2BAA2B,EAC3BixB,mBAAoB,GACpBsK,aAAclc,GAAai2B,IAC3BpkB,kBAAmB,CACfvG,mBAAoBrL,GAAmB9tD,KACvCo5D,OAAQ,KAKV2qB,EAAgD,CAClDr1C,cAAe11C,GAAqBm1D,eACpCxf,wBAAwB,EACxBimB,eAAe,GAIbovB,EAAwC,CAE1C3lF,eAAgB,aAChBE,SAAUlC,GAAS8B,KACnBG,mBAAmB,GAIjB2lF,EAA8B,OAC7B9rB,IAAsB,CACzBn6D,cAAegmF,EACf3lB,cAAerC,EAAuBthV,GAAawpW,0BAA4BzqB,GAC/E8d,iBAAkB,IAAInb,GACtB+nB,iBAAkB,EAElBC,kBAAoBR,GAAmBA,EAAgBO,kBA/IvB,IAgJhCpC,kBAAoB6B,GAAmBA,EAAgBO,kBAAqB5nB,GAC5EokB,kBAAmB3kB,GAAwBthV,GAAa2pW,iBAAmB,IAAM,EACjF3F,0BAhJmC,IAiJnC9B,aAAa,EACbjhB,uBAAuB,IAQ3B,MAL8C,CAC1C1lH,KAAM,OAAK4tI,GAAyBH,GACpC37F,MAAO,OAAKg8F,GAA0BJ,GACtC/0C,OAAQ,OAAKq1C,GAAmCL,GAGxD,CkC1EsBU,CAAmB3lB,EAAe19Y,KAAK+6Y,sBAGrD/6Y,KAAKiJ,OAAS,IAAI2zO,GAAO58O,KAAKymF,OAAOknS,OAAO5wC,chCjGhC,sBgCiGqDzpM,IAGjEtzI,KAAKo9Y,cAAgBp9Y,KAAKymF,OAAOknS,OAAOyvB,cAGxCp9Y,KAAKs2Z,iBAAmBt2Z,KAAKymF,OAAOknS,OAAO2oC,iBAG3Ct2Z,KAAKsja,iBAAmB,IAAIzka,IAG5BmB,KAAKuja,wBAA0B,IAAI1ka,IAGnCmB,KAAK82X,cAAgB92X,KAAK+6Y,qBAAuB,IAAI1jB,GAAUr3X,KAAKiJ,QAAU6wX,GAE9E95X,KAAK41Z,aAAe,IAAIja,GAAa37Y,KAAKiJ,OAAQjJ,KAAK82X,eAGvD92X,KAAK6vY,eAAiB7vY,KAAK+6Y,qBACvB,IAAI7K,GAAoBlwY,KAAKymF,OAAOuuM,KAAKmtC,SAAUniU,KAAKymF,OAAOqgP,MAAO9mU,KAAK82X,cAAe92X,KAAKiJ,Q1Ci2B9D,SAACk5T,EAAkBl5T,GAC5D,IAAMu6Z,EAAe,CACjB/1C,cAAe11C,GAAqBg+C,cACpCrI,wBAAwB,EACxBimB,eAAe,GAEnB,OAAO,IAAIzD,GAAoB/tE,EAAUqhG,EAAc1pC,GAA+B7wX,EAC1F,C0Cv2BYw6Z,CAA8Bzja,KAAKymF,OAAOuuM,KAAKmtC,SAAUniU,KAAKiJ,QAGlEjJ,KAAKulZ,WAAa,IAAIyc,GAAWhia,KAAKymF,OAAQzmF,KAAK6vY,eAAgB7vY,KAAKiJ,OAAQjJ,KAAK82X,eAmhB7F,OAvgBU4sC,EAAAA,UAAAA,sBAAN,SAA4BjlI,2FAGxB,OAFAz+R,KAAKiJ,OAAO+3U,QAAQ,gCACd2iF,EAAmB3ja,KAAKw5U,iBAC1Bx5U,KAAK+6Y,sBAMC6oB,EAAsBnlI,GAAQ7sR,GAAU8iU,aAEtB,qBADpBr4F,EAAWr8O,KAAKsja,iBAAiB7+Z,IAAIm/Z,KAErC5ja,KAAK41Z,aAAa7Z,UAAUj/D,GAAU2B,sBAAuBrG,GAAgBkG,UAC7Et+U,KAAKiJ,OAAO+3U,QAAQ,iFACdnI,EAAgB74U,KAAK6vY,eAAe6E,kBAAkBz8D,GAAmBu9D,gBAAgB,IAAS,GAClGquB,EAAiB,IAAI1F,GAAen+Z,KAAKymF,OAAQzmF,KAAK6vY,eAAgB7vY,KAAK82X,cAAe92X,KAAKiJ,OAAQjJ,KAAK41Z,aAAc51Z,KAAKs2Z,iBAAkBz9E,GACvJx8F,EAAWwnL,EAAejqF,sBAAsBn7C,GAC3C17N,MAAK,SAACv9C,GACCA,IAEoBm+Y,EAAiBvma,OAASiN,EAAKmvU,iBAAiBp8U,QAEhEiN,EAAKurZ,aAAa7Z,UAAUj/D,GAAUoC,cAAe9G,GAAgBkG,SAAU94T,GAC/Enb,EAAKpB,OAAO+3U,QAAQ,2DAEpB32U,EAAKurZ,aAAa7Z,UAAUj/D,GAAUsC,sBAAuBhH,GAAgBkG,SAAU94T,GACvFnb,EAAKpB,OAAO+3U,QAAQ,mEAK5B,OAFA32U,EAAKurZ,aAAa7Z,UAAUj/D,GAAUmC,oBAAqB7G,GAAgBkG,UAEpE94T,KAEV47T,OAAM,SAAC3iV,GASJ,MAPIkla,EAAiBvma,OAAS,EAC1BiN,EAAKurZ,aAAa7Z,UAAUj/D,GAAUuC,sBAAuBjH,GAAgBkG,SAAU,KAAM7/U,GAE7F4L,EAAKurZ,aAAa7Z,UAAUj/D,GAAUqC,cAAe/G,GAAgBkG,SAAU,KAAM7/U,GAEzF4L,EAAKurZ,aAAa7Z,UAAUj/D,GAAUmC,oBAAqB7G,GAAgBkG,UAErE7/U,KAEduB,KAAKsja,iBAAiBx+Z,IAAI8+Z,EAAqBvnL,IAE/Cr8O,KAAKiJ,OAAO+3U,QAAQ,8FAGjB,CAAP,EAAO3kG,KAEXr8O,KAAKiJ,OAAO+3U,QAAQ,+DACb,CAAP,EAAO,cAYL0iF,EAAAA,UAAAA,qBAAN,SAA2B3uI,mFAcvB,OAZA/0R,KAAKiJ,OAAO+3U,QAAQ,+BACpBhhV,KAAK8ja,iCAAiC1rF,GAAgBkG,WAGhDylF,EAAa/ja,KAAKw5U,iBAAiBp8U,OAAS,GAE9C4C,KAAK41Z,aAAa7Z,UAAUj/D,GAAUsB,oBAAqBhG,GAAgBkG,SAAUvpD,GAErF/0R,KAAK41Z,aAAa7Z,UAAUj/D,GAAUkB,YAAa5F,GAAgBkG,SAAUvpD,GAI1E,CAAP,EADuB,IAAIopI,GAAen+Z,KAAKymF,OAAQzmF,KAAK6vY,eAAgB7vY,KAAK82X,cAAe92X,KAAKiJ,OAAQjJ,KAAK41Z,aAAc51Z,KAAKs2Z,iBAAkBvhI,EAAQ8jD,eACzI2hF,aAAazlI,GAASqsD,OAAM,SAAC3iV,GAO/C,MALIsla,EACA15Z,EAAKurZ,aAAa7Z,UAAUj/D,GAAUuC,sBAAuBjH,GAAgBkG,SAAU,KAAM7/U,GAE7F4L,EAAKurZ,aAAa7Z,UAAUj/D,GAAUqC,cAAe/G,GAAgBkG,SAAU,KAAM7/U,GAEnFA,aAedila,EAAAA,UAAAA,kBAAA,SAAkB3uI,GAAlB,WACI,IACI/0R,KAAKiJ,OAAO+3U,QAAQ,2BAA4BjsD,EAAQ8jD,eACxD74U,KAAK8ja,iCAAiC1rF,GAAgBmG,OACxD,MAAO9/U,GAEL,OAAO21R,QAAQC,OAAO51R,GAI1B,IAAMkla,EAAmB3ja,KAAKw5U,iBAS9B,OARImqF,EAAiBvma,OAAS,EAC1B4C,KAAK41Z,aAAa7Z,UAAUj/D,GAAUsB,oBAAqBhG,GAAgBmG,MAAOxpD,GAElF/0R,KAAK41Z,aAAa7Z,UAAUj/D,GAAUkB,YAAa5F,GAAgBmG,MAAOxpD,GAG1D,IAAI0mI,GAAYz7Z,KAAKymF,OAAQzmF,KAAK6vY,eAAgB7vY,KAAK82X,cAAe92X,KAAKiJ,OAAQjJ,KAAK41Z,aAAc51Z,KAAKs2Z,iBAAkBvhI,EAAQ8jD,eAEtI2hF,aAAazlI,GAAShyN,MAAK,SAACv9C,GAS3C,OAPoBm+Y,EAAiBvma,OAASiN,EAAKmvU,iBAAiBp8U,OAEhEiN,EAAKurZ,aAAa7Z,UAAUj/D,GAAUoC,cAAe9G,GAAgBmG,MAAO/4T,GAE5Enb,EAAKurZ,aAAa7Z,UAAUj/D,GAAUsC,sBAAuBhH,GAAgBmG,MAAO/4T,GAGjFA,KACR47T,OAAM,SAAC3iV,GAON,OANIkla,EAAiBvma,OAAS,EAC1BiN,EAAKurZ,aAAa7Z,UAAUj/D,GAAUuC,sBAAuBjH,GAAgBmG,MAAO,KAAM9/U,GAE1F4L,EAAKurZ,aAAa7Z,UAAUj/D,GAAUqC,cAAe/G,GAAgBmG,MAAO,KAAM9/U,GAG/E21R,QAAQC,OAAO51R,OAuBxBila,EAAAA,UAAAA,UAAN,SAAgB3uI,qGACZ/0R,KAAK8ja,iCAAiC1rF,GAAgBmoF,QACtDvga,KAAKiJ,OAAO+3U,QAAQ,mBAAoBjsD,EAAQ8jD,eAChD74U,KAAK41Z,aAAa7Z,UAAUj/D,GAAUoB,iBAAkB9F,GAAgBmoF,OAAQxrI,oBAIlD,gCADC,IAAIsrI,GAAmBrga,KAAKymF,OAAQzmF,KAAK6vY,eAAgB7vY,KAAK82X,cAAe92X,KAAKiJ,OAAQjJ,KAAK41Z,aAAc51Z,KAAKs2Z,iBAAkBn+E,GAAM+B,UAAWnlD,EAAQ8jD,eACrI2hF,aAAazlI,WAEhE,OAFMivI,EAAoBj3Y,EAAAA,OAC1B/sB,KAAK41Z,aAAa7Z,UAAUj/D,GAAU+B,mBAAoBzG,GAAgBmoF,OAAQyD,GAC3E,CAAP,EAAOA,UAGP,iBADAhka,KAAK41Z,aAAa7Z,UAAUj/D,GAAUgC,mBAAoB1G,GAAgBmoF,OAAQ,KAAM59X,GAClFA,2BAcR+gY,EAAAA,UAAAA,mBAAN,SAAyB3uI,mFACrB/0R,KAAK8ja,iCAAiC1rF,GAAgBmoF,QACtDvga,KAAKiJ,OAAOioY,MAAM,4BAA6Bn8G,EAAQ8jD,eACvD74U,KAAK41Z,aAAa7Z,UAAUj/D,GAAUmnF,4BAA6B7rF,GAAgBmoF,OAAQxrI,GAE3F,IACI,IAAKA,EAAQjnH,KACT,MAAMkjN,GAAiBsxC,8BAsB3B,OAnBIjmL,EAAWr8O,KAAKuja,wBAAwB9+Z,IAAIswR,EAAQjnH,OAgBpD9tK,KAAKiJ,OAAO+3U,QAAQ,4CAA6CjsD,EAAQ8jD,gBAdzE74U,KAAKiJ,OAAO+3U,QAAQ,4CAA6CjsD,EAAQ8jD,eACzEx8F,EAAWr8O,KAAKkka,wBAAwBnvI,GACnChyN,MAAK,SAACv9C,GAGH,OAFAnb,EAAKurZ,aAAa7Z,UAAUj/D,GAAUqnF,8BAA+B/rF,GAAgBmoF,OAAQ/6Y,GAC7Fnb,EAAKk5Z,wBAAwBtyZ,OAAO8jR,EAAQjnH,MACrCtoJ,KAEV47T,OAAM,SAAC71U,GAEJ,MADAlB,EAAKk5Z,wBAAwBtyZ,OAAO8jR,EAAQjnH,MACtCviK,KAGdvL,KAAKuja,wBAAwBz+Z,IAAIiwR,EAAQjnH,KAAMuuE,IAK5C,CAAP,EAAOA,GACT,MAAO59O,GAEL,MADAuB,KAAK41Z,aAAa7Z,UAAUj/D,GAAUsnF,8BAA+BhsF,GAAgBmoF,OAAQ,KAAM9ha,GAC7FA,mBASAila,EAAAA,UAAAA,wBAAd,SAAsC3uI,6FAGR,OAF1B/0R,KAAKiJ,OAAOioY,MAAM,iCAAkCn8G,EAAQ8jD,eAElC,GADG,IAAIwpF,GAAqBria,KAAKymF,OAAQzmF,KAAK6vY,eAAgB7vY,KAAK82X,cAAe92X,KAAKiJ,OAAQjJ,KAAK41Z,aAAc51Z,KAAKs2Z,iBAAkBn+E,GAAMoB,mBAAoBxkD,EAAQ8jD,eAChJ2hF,aAAazlI,WAClE,MAAO,CAAP,EAD0BhoQ,EAAAA,gBAed22Y,EAAAA,UAAAA,2BAAhB,SAA2C3uI,iFAOvC,OANA/0R,KAAK41Z,aAAa7Z,UAAUj/D,GAAUunF,4BAA6BjsF,GAAgBmoF,OAAQxrI,GAE3Ft7N,GAAa6qW,6BAIN,CAAP,EAF4B,IAAI5C,GAAoB1ha,KAAKymF,OAAQzmF,KAAK6vY,eAAgB7vY,KAAK82X,cAAe92X,KAAKiJ,OAAQjJ,KAAK41Z,aAAc51Z,KAAKs2Z,iBAAkBvhI,EAAQ8jD,eAE9I2hF,aAAazlI,GAASqsD,OAAM,SAAA3iV,GACnD,IAAM8la,EAAgB9la,aAAa87X,GAC7BwrB,EAA6BtnZ,aAAak8X,GAC1C6pC,EAAuB/la,EAAE85U,YAAcwC,GAC7C,GAAIwpF,GAAiBC,IAAwBze,EAIzC,OAHA17Y,EAAKpB,OAAO+3U,QAAQ,uEAAwEjsD,EAAQ8jD,eAEzE,IAAIwnF,GAAmBh2Z,EAAKo8E,OAAQp8E,EAAKwlY,eAAgBxlY,EAAKysX,cAAezsX,EAAKpB,OAAQoB,EAAKurZ,aAAcvrZ,EAAKisZ,iBAAkBn+E,GAAMssF,4BAA6B1vI,EAAQ8jD,eAChL2hF,aAAazlI,GAE3C,MAAMt2R,aAaRila,EAAAA,UAAAA,OAAN,SAAapZ,sEAET,OADAtqZ,KAAKiJ,OAAOwhU,QAAQ,oGACb,CAAP,EAAOzqU,KAAKg6U,eAAeswE,WAQzBoZ,EAAAA,UAAAA,eAAN,SAAqBpZ,sEAGjB,OAFAtqZ,KAAK8ja,iCAAiC1rF,GAAgBkG,UAE/C,CAAP,EADuB,IAAI6/E,GAAen+Z,KAAKymF,OAAQzmF,KAAK6vY,eAAgB7vY,KAAK82X,cAAe92X,KAAKiJ,OAAQjJ,KAAK41Z,aAAc51Z,KAAKs2Z,iBAA+B,OAAbhM,QAAa,IAAbA,OAAa,EAAbA,EAAezxE,eAChJkB,OAAOuwE,WAOjCoZ,EAAAA,UAAAA,YAAA,SAAYpZ,GACR,IAGI,OAFAtqZ,KAAK8ja,iCAAiC1rF,GAAgBmG,OAClC,IAAIk9E,GAAYz7Z,KAAKymF,OAAQzmF,KAAK6vY,eAAgB7vY,KAAK82X,cAAe92X,KAAKiJ,OAAQjJ,KAAK41Z,aAAc51Z,KAAKs2Z,iBAA+B,OAAbhM,QAAa,IAAbA,OAAa,EAAbA,EAAezxE,eAC7IkB,OAAOuwE,GAC5B,MAAO7rZ,GAEL,OAAO21R,QAAQC,OAAO51R,KAc9Bila,EAAAA,UAAAA,eAAA,WAEI,OADA1ja,KAAKiJ,OAAO+3U,QAAQ,yBACbhhV,KAAK+6Y,qBAAuB/6Y,KAAK6vY,eAAer2D,iBAAmB,IAW9EkqF,EAAAA,UAAAA,qBAAA,SAAqBgB,GACjB,IAAM/kF,EAAc3/U,KAAKw5U,iBACzB,OAAK7gT,GAAYiV,QAAQ82X,IAAa/kF,GAAeA,EAAYviV,QAC7D4C,KAAKiJ,OAAO+3U,QAAQ,8CACpBhhV,KAAKiJ,OAAO+uZ,WAAW,mDAAmD0M,GACnE/kF,EAAYt9U,QAAO,SAAA09U,GAAc,OAAAA,EAAW9qD,SAASj9P,gBAAkB0sY,EAAS1sY,aAAa,IAAE,IAAM,OAE5Gh4B,KAAKiJ,OAAO+3U,QAAQ,mEACb,OAWf0iF,EAAAA,UAAAA,mBAAA,SAAmB7jF,GACf,IAAMF,EAAc3/U,KAAKw5U,iBACzB,OAAK7gT,GAAYiV,QAAQiyS,IAAkBF,GAAeA,EAAYviV,QAClE4C,KAAKiJ,OAAO+3U,QAAQ,mDACpBhhV,KAAKiJ,OAAO+uZ,WAAW,wDAAwDn4E,GACxEF,EAAYt9U,QAAO,SAAA09U,GAAc,OAAAA,EAAWF,gBAAkBA,CAAa,IAAE,IAAM,OAE1F7/U,KAAKiJ,OAAO+3U,QAAQ,iEACb,OAWf0iF,EAAAA,UAAAA,oBAAA,SAAoB5jF,GAChB,IAAMH,EAAc3/U,KAAKw5U,iBACzB,OAAK7gT,GAAYiV,QAAQkyS,IAAmBH,GAAeA,EAAYviV,QACnE4C,KAAKiJ,OAAO+3U,QAAQ,oDACpBhhV,KAAKiJ,OAAO+uZ,WAAW,yDAAyDl4E,GACzEH,EAAYt9U,QAAO,SAAA09U,GAAc,OAAAA,EAAWD,iBAAmBA,CAAc,IAAE,IAAM,OAE5F9/U,KAAKiJ,OAAO+3U,QAAQ,kEACb,OAQf0iF,EAAAA,UAAAA,iBAAA,SAAiBzmC,GACbj9X,KAAK6vY,eAAen1D,iBAAiBuiD,IAMzCymC,EAAAA,UAAAA,iBAAA,WACI,OAAO1ja,KAAK6vY,eAAel1D,oBAWrB+oF,EAAAA,UAAAA,iCAAV,SAA2CrlF,GAevC,GAdAr+U,KAAKiJ,OAAO+3U,QAAQ,4CAEpBvnR,GAAakrW,2BAA2B3ka,KAAK+6Y,sBAG7CthV,GAAamrW,sBAAsBvmF,EAAiBr+U,KAAKymF,OAAOknS,OAAO+sB,uBAGvEjhV,GAAa6qW,6BAGb7qW,GAAaorW,4BAGTxmF,IAAoBjG,GAAgBkG,UACpCt+U,KAAKymF,OAAOqgP,MAAM2mD,gBAAkB11C,GAAqBg+C,gBACxD/1X,KAAKymF,OAAOqgP,MAAM4mD,uBACnB,MAAM10C,GAA8B8rF,yCAGpCzmF,IAAoBjG,GAAgBkG,UAAYD,IAAoBjG,GAAgBmG,OACpFv+U,KAAK+ka,+BASHrB,EAAAA,UAAAA,4BAAV,WACI1ja,KAAKiJ,OAAO+3U,QAAQ,kEAEpBvnR,GAAa6qW,6BAGbtka,KAAK6vY,eAAe4F,0BAAyB,IAOjDiuB,EAAAA,UAAAA,iBAAA,SAAiB9ia,GACb,OAAOZ,KAAK41Z,aAAaz7E,iBAAiBv5U,IAO9C8ia,EAAAA,UAAAA,oBAAA,SAAoBviF,GAChBnhV,KAAK41Z,aAAax7E,oBAAoB+G,IAM1CuiF,EAAAA,UAAAA,2BAAA,WACI1ja,KAAK41Z,aAAav7E,8BAMtBqpF,EAAAA,UAAAA,4BAAA,WACI1ja,KAAK41Z,aAAat7E,+BAMtBopF,EAAAA,UAAAA,cAAA,WACI,OAAO1ja,KAAKulZ,YAMhBme,EAAAA,UAAAA,UAAA,WACI,OAAO1ja,KAAKiJ,QAOhBy6Z,EAAAA,UAAAA,UAAA,SAAUz6Z,GACNjJ,KAAKiJ,OAASA,GAQlBy6Z,EAAAA,UAAAA,yBAAA,SAAyB/rB,EAAiBrkQ,GAEtCtzI,KAAK6vY,eAAem1B,mBAAmBrtB,EAAKrkQ,IAOhDowR,EAAAA,UAAAA,oBAAA,SAAoBpN,GAChBt2Z,KAAKs2Z,iBAAmBA,GAM5BoN,EAAAA,UAAAA,iBAAA,WACI,OAAO1ja,KAAKymF,QAIpB,oBC1nBI,WAAYi3T,UACRjxX,EAAAA,KAAAA,KAAMixX,IAAc,KA4F5B,OA/FsC1xX,GAAAA,EAAAA,GAW5Bi5Y,EAAAA,UAAAA,aAAN,SAAmBlwI,qGAEJ,gCAAM/0R,KAAKkla,mBAAmBnwI,WAArC,MAAO,CAAP,EAAOhoQ,EAAAA,eAEP,0BAAiByuT,IAAmB74S,EAAE41S,YAAcgD,GAA4CztK,KAE5F,MAAO,CAAP,EAD2B,IAAIizP,GAAmB/ga,KAAKymF,QAC7Bq7U,2BAA2B/sI,IAErD,MAAMpyP,2BASZsiY,EAAAA,UAAAA,mBAAN,SAAyBlwI,mHAErB,IAAKA,EACD,MAAM2qG,GAAyBshC,+BAGnC,GAAIjsI,EAAQp6H,aAIR,MAF2B,QAA3B,EAAA36J,KAAKq+Y,8BAAsB,SAAE8mB,gBAAgBxtF,GAAaytF,eAC1Dpla,KAAKiJ,OAAOwqE,KAAK,sFACX+nQ,GAAgB6pF,6BAI1B,IAAKtwI,EAAQkoG,QACT,MAAMzhD,GAAgBylF,sCAO1B,GAJM5oT,EAAc08K,EAAQs4F,WAAartX,KAAKqtX,UAAU8P,sBAElD6F,EAAchjY,KAAKo8Y,aAAakpB,gBAAgBvwI,EAAQkoG,QAASj9X,KAAKymF,OAAOk3T,YAAYx7E,SAAUptC,EAAS18K,IAEjG+qR,YAIb,MAF2B,QAA3B,EAAApjY,KAAKq+Y,8BAAsB,SAAE8mB,gBAAgBxtF,GAAa4tF,wBAC1Dvla,KAAKiJ,OAAOwqE,KAAK,kGACX+nQ,GAAgB6pF,6BACnB,GACH37B,GAAU87B,mBAAmBxiC,EAAYI,YAAY0G,WACrDJ,GAAU+7B,eAAeziC,EAAYI,YAAYuG,UAAW3pY,KAAKymF,OAAOi4T,cAAcvH,2BAKtF,MAF2B,QAA3B,EAAAn3Y,KAAKq+Y,8BAAsB,SAAE8mB,gBAAgBxtF,GAAa+tF,6BAC1D1la,KAAKiJ,OAAOwqE,KAAK,8FAA8FzzE,KAAKymF,OAAOi4T,cAAcvH,0BAAyB,aAC5J37D,GAAgB6pF,6BACnB,GAAIriC,EAAYI,YAAY8G,WAAaR,GAAU+7B,eAAeziC,EAAYI,YAAY8G,UAAW,GAIxG,MAF2B,QAA3B,EAAAlqY,KAAKq+Y,8BAAsB,SAAE8mB,gBAAgBxtF,GAAaguF,6BAC1D3la,KAAKiJ,OAAOwqE,KAAK,sGACX+nQ,GAAgB6pF,6BAOnB,OAJHrla,KAAKymF,OAAO43T,wBACZr+Y,KAAKymF,OAAO43T,uBAAuBunB,qBAGhC,GAAM5la,KAAK6la,8BAA8B7iC,EAAajuG,WAA7D,MAAO,CAAP,EAAOhW,EAAAA,gBAOGkmJ,EAAAA,UAAAA,8BAAd,SAA4CjiC,EAA0BjuG,qGAK3D,OAHHiuG,EAAYnG,UACZ6pB,EAAa,IAAIzkB,GAAUe,EAAYnG,QAAQj6F,OAAQ5iS,KAAKymF,OAAOo4T,kBAEhE,GAAM8G,GAAgBwB,6BACzBnnZ,KAAKiqY,YACLjqY,KAAKqtX,UACL2V,GACA,EACAjuG,EACA2xH,WANJ,MAAO,CAAP,EAAO35X,EAAAA,gBASf,GA/FsCiyX,mBCNtC,4DAmDA,OAnDuChzX,EAAAA,EAAAA,GAK7B85Y,EAAAA,UAAAA,aAAN,SAAmBtF,yGAIU,OAFnBniB,EAAyBr+Y,KAAKi8Z,iCAAiC9jF,GAAMwpF,+BAElD,GAAM3ha,KAAK+la,uBAAuB1nB,EAAwBmiB,EAAcnzC,UAAWmzC,EAAc/hB,2BAApHunB,EAAmBj5Y,EAAAA,OACzB/sB,KAAKiJ,OAAO+3U,QAAQ,+CAGI,gCAAMglF,EAAiBd,mBAAmB1E,WAE9D,OAFMyF,EAAcl5Y,EAAAA,OACpB/sB,KAAK41Z,aAAa7Z,UAAUj/D,GAAUsC,sBAAuBhH,GAAgBmoF,OAAQ0F,GAC9E,CAAP,EAAOA,UAKP,4BAHqBj1C,IAAoBk1C,EAAM3tF,YAAcw4C,GAAoDjjN,MAC7G9tK,KAAKiJ,OAAO+3U,QAAQ,wHAElBklF,2BAOdJ,EAAAA,UAAAA,OAAA,WAEI,OAAO1xI,QAAQC,OAAO28F,GAAiB0vC,uCAQ3BoF,EAAAA,UAAAA,uBAAhB,SAAuCznB,EAAgD4V,EAAuBxV,mGAErF,SAAMz+Y,KAAK62Z,uBAAuBxY,EAAwB4V,EAAcxV,WAC7F,OADMqY,EAAe/pY,EAAAA,OACd,CAAP,EAAO,IAAIk4Y,GAAiBnO,YAG1BgP,EAAAA,UAAAA,wBAAN,SAA8B/wI,EAAwBkoG,mGAG3C,eADAloG,IACA,GAAM/0R,KAAK83Z,sBAAsB/iI,WAFxC,MAAO,CAAP,2CAEOlyP,EAAAA,UAAyC,CAC5Co6V,QAASA,EACTtiO,aAAco6H,EAAQp6H,eAAgB,cAGlD,GAnDuC47P,mBCmCnC,WAAY7Y,GAAZ,MACIjxX,EAAAA,KAAAA,KAAMixX,IAAc,YAEpBrzY,EAAK87Z,0BAA4B,IAAItna,MAiG7C,OA9H6CmtB,EAAAA,EAAAA,GAyCnCo6Y,EAAAA,UAAAA,cAAN,SAAoBrxI,sEAEhB,OADA/0R,KAAKiJ,OAAO+3U,QAAQ,wBACb,CAAP,EAAOhhV,KAAKq5U,qBAAqBtkD,GAAWkmD,YAUhDmrF,EAAAA,UAAAA,WAAA,SAAWrxI,GAEP,OADA/0R,KAAKiJ,OAAO+3U,QAAQ,qBACbhhV,KAAKm5U,kBAAkBpkD,GAAWkmD,KASvCmrF,EAAAA,UAAAA,mBAAN,SAAyBrxI,2FAIrB,GAHA/0R,KAAK8ja,iCAAiC1rF,GAAgBmoF,QACtDvga,KAAKiJ,OAAO+3U,QAAQ,4BAA6BjsD,EAAQ8jD,iBACnDokD,EAAUloG,EAAQkoG,SAAWj9X,KAAK26U,oBAEpC,MAAMq2C,GAAiBq1C,uBAgB3B,OAdMlqB,EAAgC,CAClCh6E,SAAUniU,KAAKymF,OAAOuuM,KAAKmtC,SAC3BkrD,UAAWt4F,EAAQs4F,WAAa,GAChCnyC,OAAQnmD,EAAQmmD,OAChBgiE,sBAAuBjgB,EAAQp9C,cAC/Bw9C,OAAQtoG,EAAQsoG,OAChB6K,qBAAsBnzG,EAAQmzG,qBAC9BzP,sBAAuB1jG,EAAQ0jG,sBAC/BE,mBAAoB5jG,EAAQ4jG,mBAC5BwkB,UAAWpoH,EAAQooH,UACnB/U,OAAQrzG,EAAQqzG,QAEdk+B,EAAmBzma,KAAKC,UAAUq8Y,GAEV,qBADxBoqB,EAAiBvma,KAAKmma,0BAA0B1ha,IAAI6ha,KAEtDtma,KAAKiJ,OAAO+3U,QAAQ,uEAAwEjsD,EAAQ8jD,eAC9Fx8F,EAAWr8O,KAAKwma,wBAAwBzxI,EAASkoG,GAClDl6T,MAAK,SAACv9C,GAEH,OADAnb,EAAK87Z,0BAA0Bl1Z,OAAOq1Z,GAC/B9gZ,KAEV47T,OAAM,SAAC71U,GAEJ,MADAlB,EAAK87Z,0BAA0Bl1Z,OAAOq1Z,GAChC/6Z,KAEdvL,KAAKmma,0BAA0Brha,IAAIwha,EAAkBjqL,GAC9C,CAAP,EAAOA,KAEPr8O,KAAKiJ,OAAO+3U,QAAQ,0FAA2FjsD,EAAQ8jD,eAChH,CAAP,EAAO0tF,WAUCH,EAAAA,UAAAA,wBAAhB,SAAwCrxI,EAAwBkoG,4GAEtC,UADhBwpC,EAAoB,IAAIX,GAAkB9la,KAAKymF,OAAQzmF,KAAK6vY,eAAgB7vY,KAAK82X,cAAe92X,KAAKiJ,OAAQjJ,KAAK41Z,aAAc51Z,KAAKs2Z,iBAAkBvhI,EAAQ8jD,gBACvH6tF,wBAAwB3xI,EAASkoG,WAG/E,OAHMujC,EAAgBzzY,EAAAA,OACtB/sB,KAAK41Z,aAAa7Z,UAAUj/D,GAAUsB,oBAAqBhG,GAAgBmoF,OAAQxrI,GAE5E,CAAP,EAAO0xI,EAAkBjM,aAAagG,GAAep/E,OAAM,0GAExB,gCAAMphV,KAAK8ha,2BAA2BtB,WAEjE,OAFMmG,EAAqB55Y,EAAAA,OAC3B/sB,KAAK41Z,aAAa7Z,UAAUj/D,GAAUsC,sBAAuBhH,GAAgBmoF,OAAQoG,GAC9E,CAAP,EAAOA,UAGP,iBADA3ma,KAAK41Z,aAAa7Z,UAAUj/D,GAAUuC,sBAAuBjH,GAAgBmoF,OAAQ,KAAMqG,GACrFA,sCAItB,GA9H6ClD,ICjB7C,MAAMmD,GAAgBxvI,KAAAA,OAAa,CAC/B7B,QAASltQ,gCAGPw+Y,GAAe,IAAIV,GAAwBh5C,IAc3C3M,GAActwW,eAAO8hR,EAAQt2C,EAAKz4O,EAAMw9W,GAAyC,IAA3BC,EAAgBr8W,UAAAlH,OAAA,QAAAI,IAAA8G,UAAA,GAAAA,UAAA,GAAG,CAAC,EAC5E,IACI,MAAM4zR,OAdG/nR,WACb,IACI,MAAM8sX,EAAU6pC,GAAattF,iBAAiB,GAC9C,IAAKyjD,EAAS,MAAM,IAAIhzX,MAAM,uCAE9B,aADuB68Z,GAAaxtF,mBAAmB,IAAKvkD,EAASkoG,aACrDmG,WACpB,CAAE,MAAO73X,GAEL,MADA1H,QAAQ0H,MAAM,yBAA0BA,EAAMk3D,SACxCl3D,CACV,GAKwBw7Z,CAASrmD,GACvBj6R,EAAS,CACXwrM,SACAt2C,MACAz4O,OACAuxR,QAAS,CAAEY,cAAc,UAADrqR,OAAYktR,IACpC1B,iBAAiB,KACdmqF,GAEDtkI,QAAiBwqL,GAAcpgV,GACrC,OAAO41J,EAASn5O,MAAQm5O,CAC5B,CAAE,MAAO9wO,GAEL,MADA1H,QAAQ0H,MAAM,gBAADP,OAAiBinR,EAAO/5P,cAAa,gBAAAltB,OAAe2wO,EAAG,KAAKpwO,EAAMk3D,SACzEl3D,CACV,CACJ,EA0BA,GAxBa,CACTq1W,OAASjlI,GAAQ8kI,GAAY,MAAO9kI,EAAK,KAAMiyI,IAE/CnpX,IAAKA,CAACk3O,EAAKhpM,IAAO8tU,GAAY,MAAM,GAADz1W,OAAK2wO,EAAG,KAAA3wO,OAAI2nC,GAAM,KAAMi7U,IAE3Do5C,KAAMA,CAACrrL,EAAKz4O,IAASu9W,GAAY,OAAQ9kI,EAAKz4O,EAAM0qX,IAEpDq5C,SAAUA,IAAMxmD,GACZ,MACAqN,GACA,KACAD,GACA,CAAEn5F,aAAc,gBAGpBmsF,IAAKA,CAACllI,EAAKhpM,IAAO8tU,GAAY,MAAM,GAADz1W,OAAK2wO,EAAG,KAAA3wO,OAAI2nC,GAAM,KAAMi7U,IAE3D78W,IAAKA,CAAC4qO,EAAKz4O,IAASu9W,GAAY,OAAQ9kI,EAAKz4O,EAAM0qX,IAEnD/mR,OAAQA,CAAC80I,EAAKz4O,IAASu9W,GAAY,MAAO9kI,EAAKz4O,EAAM0qX,IAErD38W,OAAQA,CAAC0qO,EAAKhpM,IAAO8tU,GAAY,SAAS,GAADz1W,OAAK2wO,EAAG,KAAA3wO,OAAI2nC,GAAM,KAAMi7U,KCyPrE,GA9SoB9qD,IAAqD,IAApD,GAAEnwR,EAAE,WAAEu0X,EAAU,cAAEC,EAAa,YAAEC,GAAatkG,EAE/D,MAAOukG,EAASC,IAAc9oJ,EAAAA,EAAAA,UAAS,KAChC+oJ,EAASC,IAAchpJ,EAAAA,EAAAA,UAAS,KAChCipJ,EAASC,IAAclpJ,EAAAA,EAAAA,UAAS,KAChCmpJ,EAASC,IAAcppJ,EAAAA,EAAAA,UAAS,KAChCqpJ,EAASC,IAActpJ,EAAAA,EAAAA,UAAS,KAChCupJ,EAASC,IAAcxpJ,EAAAA,EAAAA,UAAS,KAChCypJ,EAASC,IAAc1pJ,EAAAA,EAAAA,UAAS,KAChC2pJ,EAASC,IAAc5pJ,EAAAA,EAAAA,UAAS,KAChC6pJ,EAASC,IAAc9pJ,EAAAA,EAAAA,UAAS,KAChC+pJ,EAASC,IAAchqJ,EAAAA,EAAAA,UAAS,KAChCiqJ,EAASC,IAAclqJ,EAAAA,EAAAA,UAAS,KAChCmqJ,EAASC,IAAcpqJ,EAAAA,EAAAA,UAAS,KAChCqqJ,EAASC,IAActqJ,EAAAA,EAAAA,UAAS,KAChCuqJ,EAASC,IAAcxqJ,EAAAA,EAAAA,UAAS,KAChCyqJ,EAASC,IAAc1qJ,EAAAA,EAAAA,WAAS,IAChC2qJ,EAAWC,IAAgB5qJ,EAAAA,EAAAA,UAAS2oJ,GACrCvgU,EAAa,CAAC,EAEdyiU,EAAcA,KAChBD,GAAaD,IAAcA,IAC3BjC,GAAY,EA2BV1jD,EAAgB/kX,IACI,gBAAlBA,EAAEsD,OAAO0D,MACT6ha,EAAW7oa,EAAEsD,OAAOhF,OAGF,QAAlB0B,EAAEsD,OAAO0D,MACTqja,EAAWrqa,EAAEsD,OAAOhF,OAGF,SAAlB0B,EAAEsD,OAAO0D,MACTiia,EAAWjpa,EAAEsD,OAAOhF,OAEF,WAAlB0B,EAAEsD,OAAO0D,MACTuja,EAAWvqa,EAAEsD,OAAOhF,OAEF,QAAlB0B,EAAEsD,OAAO0D,OACTmia,EAAWnpa,EAAEsD,OAAOhF,OAEpB+ra,EACIrqa,EAAEsD,OAAOhF,MAAQ,KAAO8qa,EAAU,KAAOE,EAAU,KAAOE,EAAU,KAAOE,EAAU,KAAOE,EAAU,KAAOE,IAG/F,QAAlB9pa,EAAEsD,OAAO0D,OACTqia,EAAWrpa,EAAEsD,OAAOhF,OACpB+ra,EACInB,EAAU,KAAOlpa,EAAEsD,OAAOhF,MAAQ,KAAOgra,EAAU,KAAOE,EAAU,KAAOE,EAAU,KAAOE,EAAU,KAAOE,IAG/F,QAAlB9pa,EAAEsD,OAAO0D,OACTuia,EAAWvpa,EAAEsD,OAAOhF,OACpB+ra,EACInB,EAAU,KAAOE,EAAU,KAAOppa,EAAEsD,OAAOhF,MAAQ,KAAOkra,EAAU,KAAOE,EAAU,KAAOE,EAAU,KAAOE,IAG/F,QAAlB9pa,EAAEsD,OAAO0D,OACTyia,EAAWzpa,EAAEsD,OAAOhF,OACpB+ra,EACInB,EAAU,KAAOE,EAAU,KAAOE,EAAU,KAAOtpa,EAAEsD,OAAOhF,MAAQ,KAAOora,EAAU,KAAOE,EAAU,KAAOE,IAG/F,QAAlB9pa,EAAEsD,OAAO0D,OACT2ia,EAAW3pa,EAAEsD,OAAOhF,OACpB+ra,EACInB,EAAU,KAAOE,EAAU,KAAOE,EAAU,KAAOE,EAAU,KAAOxpa,EAAEsD,OAAOhF,MAAQ,KAAOsra,EAAU,KAAOE,IAG/F,QAAlB9pa,EAAEsD,OAAO0D,OACT6ia,EAAW7pa,EAAEsD,OAAOhF,OACpB+ra,EACInB,EAAU,KAAOE,EAAU,KAAOE,EAAU,KAAOE,EAAU,KAAOE,EAAU,KAAO1pa,EAAEsD,OAAOhF,MAAQ,KAAOwra,IAG/F,QAAlB9pa,EAAEsD,OAAO0D,OACT+ia,EAAW/pa,EAAEsD,OAAOhF,OACpB+ra,EACInB,EAAU,KAAOE,EAAU,KAAOE,EAAU,KAAOE,EAAU,KAAOE,EAAU,KAAOE,EAAU,KAAO5pa,EAAEsD,OAAOhF,QAIjG,sBAAlB0B,EAAEsD,OAAO0D,MACTija,EAAWjqa,EAAEsD,OAAOhF,OAKxB4sB,SAASy+V,eAAe3pX,EAAEsD,OAAO4wC,IAAI2lB,MAAMspT,OAAS,mBAAmB,EA4C3E,OAzCA9gG,EAAAA,EAAAA,YAAU,KAEkB3wQ,iBACV84R,GAAK23E,OAAO,uBAAyBjuU,GAAIowB,MAAMzhE,IACjDgma,EAAWhma,EAAIgoa,aACf9B,EAAWlma,EAAImE,MACfmia,EAAWtma,EAAIioa,KAGfzB,EAAWxma,EAAIkoa,KACfxB,EAAW1ma,EAAImoa,KACfvB,EAAW5ma,EAAIooa,KACftB,EAAW9ma,EAAIqoa,KACfrB,EAAWhna,EAAIsoa,KACfpB,EAAWlna,EAAIuoa,KAEf,IAAI3ma,GACe,KAAZ5B,EAAIioa,IAAajoa,EAAIioa,IAAM,IAC5B,MAAoB,KAAZjoa,EAAIkoa,IAAaloa,EAAIkoa,IAAM,IACnC,MAAoB,KAAZloa,EAAImoa,IAAanoa,EAAImoa,IAAM,IACnC,MAAoB,KAAZnoa,EAAIooa,IAAapoa,EAAIooa,IAAM,IACnC,MAAoB,KAAZpoa,EAAIqoa,IAAaroa,EAAIqoa,IAAM,IACnC,MAAoB,KAAZroa,EAAIsoa,IAAatoa,EAAIsoa,IAAM,IACnC,MAAoB,KAAZtoa,EAAIuoa,IAAavoa,EAAIuoa,IAAM,IAEzCf,EACI5la,GAEJwla,EAAWpna,EAAIwoa,mBACflB,EAAWtna,EAAIq6O,KACfqtL,EAAW1na,EAAIyoa,uBACfb,GAAW,EAAM,GACnB,EAGNc,EAEK,GACV,CAACr3X,KAIAukU,EAAAA,GAAAA,KAAAC,GAAAA,SAAA,CAAAzyV,UACIs4V,EAAAA,GAAAA,MAACtiB,GAAK,CAACqF,OAAQopE,EAAWv4Z,KAAK,KAAKiqD,OAAQwuW,EAAap7D,SAAS,SAAQvpV,SAAA,EACtEwyV,EAAAA,GAAAA,KAAClG,GAAW,CAACpjS,UAAU,WAAW/S,OAAQwuW,EAAY3kZ,UAACwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,cAAalpD,SAAC,mBACnFukZ,GACG/xD,EAAAA,GAAAA,KAAC+yD,GAAW,KAEZjtD,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,EACIwyV,EAAAA,GAAAA,KAAC/F,GAAS,CAAAzsV,UACNs4V,EAAAA,GAAAA,MAACzK,GAAS,CAAA7tV,SAAA,EACNs4V,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAE,eAEnCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,OAAOypD,UAAQ,EAAC6S,UAAU,oBAAoBnoE,KAAK,YAAYktC,GAAG,YAAYwqC,YAAY,GAAGx4E,aAAc0ia,EAAS3xM,SAAU8tJ,UAGlJxG,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAC,eAElCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,OAAOypD,UAAQ,EAAC6S,UAAU,oBAAoBnoE,KAAK,OAAOktC,GAAG,OAAOwqC,YAAY,GAAGx4E,aAAc4ia,EAAS7xM,SAAU8tJ,UAGxIxG,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAC,oBAElCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,OAAOypD,UAAQ,EAAC6S,UAAU,oBAAoBnoE,KAAK,SAASktC,GAAG,SAASwqC,YAAY,GAAGx4E,aAAcoka,EAASrzM,SAAU8tJ,UA2D5IxG,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,OAAMlpD,SAAA,EACjBwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAC,mBAElCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,WAAWgnD,MAAO,CAAEC,OAAQ,SAAWqV,UAAU,oBAAoBnoE,KAAK,MAAMktC,GAAG,MAAMwqC,YAAY,GAAGpgF,MAAO8ra,EAASnzM,SAAU8tJ,UAGtJxG,EAAAA,GAAAA,MAACngB,GAAG,CAAAn4U,SAAA,EACAwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAC,uBAElCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfs4V,EAAAA,GAAAA,MAAClK,GAAK,CAACxhW,KAAK,SAAS7L,KAAK,oBAAoBktC,GAAG,oBAAoBi7B,UAAU,aAAa7wE,MAAO0ra,EAAS/yM,SAAU8tJ,EAAa9+V,SAAA,EAC/HwyV,EAAAA,GAAAA,KAAA,UAAQn6W,MAAO,KAAM6wE,UAAU,iBAE/BspS,EAAAA,GAAAA,KAAA,UAAQtpS,UAAU,aAAa7wE,MAAM,oCAAmC2nB,SAAC,uCAGzEwyV,EAAAA,GAAAA,KAAA,UAAQtpS,UAAU,aAAa7wE,MAAM,6BAA4B2nB,SAAC,gCAGlEwyV,EAAAA,GAAAA,KAAA,UAAQtpS,UAAU,aAAa7wE,MAAM,kCAAiC2nB,SAAC,qCAGvEwyV,EAAAA,GAAAA,KAAA,UAAQtpS,UAAU,aAAa7wE,MAAM,kCAAiC2nB,SAAC,qCAGvEwyV,EAAAA,GAAAA,KAAA,UAAQtpS,UAAU,aAAa7wE,MAAM,kCAAiC2nB,SAAC,kDAe3Fs4V,EAAAA,GAAAA,MAAC5L,GAAW,CAAA1sV,SAAA,EACRwyV,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3iI,MAAM,UAAUhsN,KAAK,KAAKg9D,UAAU,mBAAmBwlP,QAASA,IA3Q7E82G,MACf,MAAM1kZ,EAASqjZ,EAAQvla,MAAM,SACzBkiB,EAAOpoB,OAAS,GAChB+sa,MAAS,oCAAmCn/Z,OAAA,OAAO,8CAEvD47F,EAAWwjU,UAAY/C,EACvBzgU,EAAWyjU,SAAW9C,EACtB3gU,EAAW0jU,kBAAoB7C,EAC/B7gU,EAAW2jU,IAAM/kZ,EAAO,GACxBohF,EAAW4jU,IAAMhlZ,EAAO,GACxBohF,EAAW6jU,IAAMjlZ,EAAO,GACxBohF,EAAW8jU,IAAMllZ,EAAO,GACxBohF,EAAW+jU,IAAMnlZ,EAAO,GACxBohF,EAAWgkU,IAAMplZ,EAAO,GACxBohF,EAAWikU,IAAMrlZ,EAAO,GACxBohF,EAAWkjU,kBAAoBrB,EAC/B7hU,EAAW+0I,IAAMgtL,EAEjB1/H,GAAKpiM,OAAO,2BAA6Bl0D,EAAIi0D,GAAY7jC,MAAMzhE,IAC3D8la,GAAY,IAAI7/Z,MAAOC,WACvB6ha,GAAa,GACf,EAsPgGa,GAAaxlZ,SAAC,UAC5FwyV,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3iI,MAAM,YAAYhsN,KAAK,KAAKg9D,UAAU,mBAAmBwlP,QAASi2G,EAAY3kZ,SAAC,qBAKxG,EC9PX,IAAIomZ,GAA0B,WAC5B,SAASA,EAAWjgZ,GAClB,IAAIxgB,EAAQrK,KAEZA,KAAK+qa,WAAa,SAAUzjJ,GAC1B,IAAIx2J,EAIAA,EAFsB,IAAtBzmH,EAAM8e,KAAK/rB,OACTiN,EAAM2ga,eACC3ga,EAAM2ga,eAAejtW,YACrB1zD,EAAM4ga,QACN5ga,EAAM43C,UAAUmb,WAEhB/yD,EAAMymH,OAGRzmH,EAAM8e,KAAK9e,EAAM8e,KAAK/rB,OAAS,GAAG2gE,YAG7C1zD,EAAM43C,UAAU+b,aAAaspN,EAAKx2J,GAElCzmH,EAAM8e,KAAKnqB,KAAKsoR,EAClB,EAEAtnR,KAAKkra,cAA8B1ta,IAAnBqtB,EAAQsgZ,QAA+DtgZ,EAAQsgZ,OAC/Fnra,KAAKmpB,KAAO,GACZnpB,KAAKora,IAAM,EACXpra,KAAKuhU,MAAQ12S,EAAQ02S,MAErBvhU,KAAKgB,IAAM6pB,EAAQ7pB,IACnBhB,KAAKiiD,UAAYp3B,EAAQo3B,UACzBjiD,KAAKira,QAAUpgZ,EAAQogZ,QACvBjra,KAAKgra,eAAiBngZ,EAAQmgZ,eAC9Bhra,KAAK8wH,OAAS,IAChB,CAEA,IAAIgmO,EAASg0E,EAAW5qa,UA4DxB,OA1DA42V,EAAOnhD,QAAU,SAAiB3kO,GAChCA,EAAMjyE,QAAQiB,KAAK+qa,WACrB,EAEAj0E,EAAOu0E,OAAS,SAAgBl2M,GAI1Bn1N,KAAKora,KAAOpra,KAAKkra,SAAW,KAAQ,KAAO,GAC7Clra,KAAK+qa,WA5DX,SAA4BlgZ,GAC1B,IAAIy8P,EAAM39P,SAASC,cAAc,SASjC,OARA09P,EAAIztN,aAAa,eAAgBhvC,EAAQ7pB,UAEnBxD,IAAlBqtB,EAAQ02S,OACVj6C,EAAIztN,aAAa,QAAShvC,EAAQ02S,OAGpCj6C,EAAIjvN,YAAY1uC,SAAS4pS,eAAe,KACxCjsC,EAAIztN,aAAa,SAAU,IACpBytN,CACT,CAiDsBgkJ,CAAmBtra,OAGrC,IAAIsnR,EAAMtnR,KAAKmpB,KAAKnpB,KAAKmpB,KAAK/rB,OAAS,GAcvC,GAAI4C,KAAKkra,SAAU,CACjB,IAAIK,EA/FV,SAAqBjkJ,GACnB,GAAIA,EAAIikJ,MAEN,OAAOjkJ,EAAIikJ,MAMb,IAAK,IAAIlra,EAAI,EAAGA,EAAIspB,SAAS6hZ,YAAYpua,OAAQiD,IAC/C,GAAIspB,SAAS6hZ,YAAYnra,GAAGora,YAAcnkJ,EAExC,OAAO39P,SAAS6hZ,YAAYnra,EAGlC,CAgFkBqra,CAAYpkJ,GAExB,IAGEikJ,EAAMI,WAAWx2M,EAAMo2M,EAAMK,SAASxua,OACxC,CAAE,MAAOqB,GACH6pB,CAGN,CACF,MACEg/P,EAAIjvN,YAAY1uC,SAAS4pS,eAAep+F,IAG1Cn1N,KAAKora,KACP,EAEAt0E,EAAO71G,MAAQ,WAEbjhP,KAAKmpB,KAAKpqB,SAAQ,SAAUuoR,GAC1B,OAAOA,EAAIruN,YAAcquN,EAAIruN,WAAWR,YAAY6uN,EACtD,IACAtnR,KAAKmpB,KAAO,GACZnpB,KAAKora,IAAM,CAKb,EAEON,CACT,CAjG8B,GCjDnB7tW,GAAM/9C,KAAK+9C,IAMX0M,GAAO5wC,OAAOC,aAMdrJ,GAAS1wB,OAAO0wB,OAepB,SAAS/pB,GAAM7I,GACrB,OAAOA,EAAM6I,MACd,CAiBO,SAAS2C,GAASxL,EAAOi5N,EAAS61M,GACxC,OAAO9ua,EAAMwL,QAAQytN,EAAS61M,EAC/B,CAOO,SAASC,GAAS/ua,EAAOmsE,GAC/B,OAAOnsE,EAAMwE,QAAQ2nE,EACtB,CAOO,SAAS6iW,GAAQhva,EAAOgE,GAC9B,OAAiC,EAA1BhE,EAAM88B,WAAW94B,EACzB,CAQO,SAASq3B,GAAQr7B,EAAOiva,EAAOrrR,GACrC,OAAO5jJ,EAAM2J,MAAMsla,EAAOrrR,EAC3B,CAMO,SAASsrR,GAAQlva,GACvB,OAAOA,EAAMK,MACd,CAMO,SAAS8ua,GAAQnva,GACvB,OAAOA,EAAMK,MACd,CAOO,SAASm8Y,GAAQx8Y,EAAOolB,GAC9B,OAAOA,EAAMnjB,KAAKjC,GAAQA,CAC3B,CCvGO,IAAIkiS,GAAO,EACP1lR,GAAS,EACTnc,GAAS,EACT2uC,GAAW,EACXogY,GAAY,EACZC,GAAa,GAWjB,SAAS9yZ,GAAMvc,EAAOsva,EAAM71Z,EAAQlF,EAAM5D,EAAOgX,EAAUtnB,GACjE,MAAO,CAACL,MAAOA,EAAOsva,KAAMA,EAAM71Z,OAAQA,EAAQlF,KAAMA,EAAM5D,MAAOA,EAAOgX,SAAUA,EAAUu6Q,KAAMA,GAAM1lR,OAAQA,GAAQnc,OAAQA,EAAQsmC,OAAQ,GACrJ,CAOO,SAASxiC,GAAMmra,EAAM3+Z,GAC3B,OAAOiiB,GAAOrW,GAAK,GAAI,KAAM,KAAM,GAAI,KAAM,KAAM,GAAI+yZ,EAAM,CAACjva,QAASiva,EAAKjva,QAASsQ,EACtF,CAYO,SAAS62J,KAMf,OALA4nQ,GAAYpgY,GAAW,EAAIggY,GAAOK,KAAcrgY,IAAY,EAExDxyB,KAAwB,KAAd4yZ,KACb5yZ,GAAS,EAAG0lR,MAENktI,EACR,CAKO,SAAStxY,KAMf,OALAsxY,GAAYpgY,GAAW3uC,GAAS2ua,GAAOK,GAAYrgY,MAAc,EAE7DxyB,KAAwB,KAAd4yZ,KACb5yZ,GAAS,EAAG0lR,MAENktI,EACR,CAKO,SAASn6V,KACf,OAAO+5V,GAAOK,GAAYrgY,GAC3B,CAKO,SAASm3T,KACf,OAAOn3T,EACR,CAOO,SAASrlC,GAAOsla,EAAOrrR,GAC7B,OAAOvoH,GAAOg0Y,GAAYJ,EAAOrrR,EAClC,CAMO,SAASu3I,GAAO5mR,GACtB,OAAQA,GAEP,KAAK,EAAG,KAAK,EAAG,KAAK,GAAI,KAAK,GAAI,KAAK,GACtC,OAAO,EAER,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,IAE3D,KAAK,GAAI,KAAK,IAAK,KAAK,IACvB,OAAO,EAER,KAAK,GACJ,OAAO,EAER,KAAK,GAAI,KAAK,GAAI,KAAK,GAAI,KAAK,GAC/B,OAAO,EAER,KAAK,GAAI,KAAK,GACb,OAAO,EAGT,OAAO,CACR,CAMO,SAASg7Z,GAAOvva,GACtB,OAAOkiS,GAAO1lR,GAAS,EAAGnc,GAAS6ua,GAAOG,GAAarva,GAAQgvC,GAAW,EAAG,EAC9E,CAMO,SAASwgY,GAASxva,GACxB,OAAOqva,GAAa,GAAIrva,CACzB,CAMO,SAASyva,GAASl7Z,GACxB,OAAO1L,GAAKc,GAAMqlC,GAAW,EAAGspB,GAAmB,KAAT/jD,EAAcA,EAAO,EAAa,KAATA,EAAcA,EAAO,EAAIA,IAC7F,CAcO,SAASm7Z,GAAYn7Z,GAC3B,MAAO66Z,GAAYn6V,OACdm6V,GAAY,IACftxY,KAIF,OAAOq9P,GAAM5mR,GAAQ,GAAK4mR,GAAMi0I,IAAa,EAAI,GAAK,GACvD,CAwBO,SAASO,GAAU3ra,EAAON,GAChC,OAASA,GAASo6B,QAEbsxY,GAAY,IAAMA,GAAY,KAAQA,GAAY,IAAMA,GAAY,IAAQA,GAAY,IAAMA,GAAY,MAG/G,OAAOzla,GAAM3F,EAAOmiW,MAAWziW,EAAQ,GAAe,IAAVuxE,MAA0B,IAAVn3C,MAC7D,CAMO,SAASw6B,GAAW/jD,GAC1B,KAAOupB,aACEsxY,IAEP,KAAK76Z,EACJ,OAAOy6B,GAER,KAAK,GAAI,KAAK,GACA,KAATz6B,GAAwB,KAATA,GAClB+jD,GAAU82W,IACX,MAED,KAAK,GACS,KAAT76Z,GACH+jD,GAAU/jD,GACX,MAED,KAAK,GACJupB,KAIH,OAAOkR,EACR,CAOO,SAAS4gY,GAAWr7Z,EAAMvQ,GAChC,KAAO85B,MAEFvpB,EAAO66Z,KAAc,KAGhB76Z,EAAO66Z,KAAc,IAAsB,KAAXn6V,QAG1C,MAAO,KAAOtrE,GAAM3F,EAAOgrC,GAAW,GAAK,IAAM49B,GAAc,KAATr4D,EAAcA,EAAOupB,KAC5E,CAMO,SAASohE,GAAYl7F,GAC3B,MAAQm3R,GAAMlmN,OACbn3C,KAED,OAAOn0B,GAAM3F,EAAOgrC,GACrB,CCrPO,IAAI6gY,GAAK,OACLC,GAAM,QACNC,GAAS,WAETC,GAAU,OACVC,GAAU,OACVC,GAAc,OAUdC,GAAY,aCRhB,SAASjhK,GAAWvnP,EAAU9jB,GAIpC,IAHA,IAAI64B,EAAS,GACTr8B,EAAS8ua,GAAOxnZ,GAEXrkB,EAAI,EAAGA,EAAIjD,EAAQiD,IAC3Bo5B,GAAU74B,EAAS8jB,EAASrkB,GAAIA,EAAGqkB,EAAU9jB,IAAa,GAE3D,OAAO64B,CACR,CASO,SAAS35B,GAAWqqB,EAASppB,EAAO2jB,EAAU9jB,GACpD,OAAQupB,EAAQ7Y,MACf,IDjBkB,UCiBL,KAAK27Z,GAAa,OAAO9iZ,EAAQuZ,OAASvZ,EAAQuZ,QAAUvZ,EAAQptB,MACjF,KAAKgwa,GAAS,MAAO,GACrB,KAAKG,GAAW,OAAO/iZ,EAAQuZ,OAASvZ,EAAQptB,MAAQ,IAAMkvQ,GAAU9hP,EAAQzF,SAAU9jB,GAAY,IACtG,KAAKosa,GAAS7iZ,EAAQptB,MAAQotB,EAAQzc,MAAMvC,KAAK,KAGlD,OAAO8ga,GAAOvnZ,EAAWunP,GAAU9hP,EAAQzF,SAAU9jB,IAAaupB,EAAQuZ,OAASvZ,EAAQptB,MAAQ,IAAM2nB,EAAW,IAAM,EAC3H,CC1BO,SAASo1C,GAAQ/8D,EAAOK,GAC9B,OJcM,SAAeL,EAAOK,GAC5B,SAAcA,GAAU,EAAK2ua,GAAOhva,EAAO,KAAO,EAAKgva,GAAOhva,EAAO,KAAO,EAAKgva,GAAOhva,EAAO,KAAO,EAAKgva,GAAOhva,EAAO,EAC1H,CIhBS0hS,CAAK1hS,EAAOK,IAEnB,KAAK,KACJ,OAAO0va,GAAS,SAAW/va,EAAQA,EAEpC,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAEvE,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAE5D,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAE5D,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAC3D,OAAO+va,GAAS/va,EAAQA,EAEzB,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAChD,OAAO+va,GAAS/va,EAAQ8va,GAAM9va,EAAQ6va,GAAK7va,EAAQA,EAEpD,KAAK,KAAM,KAAK,KACf,OAAO+va,GAAS/va,EAAQ6va,GAAK7va,EAAQA,EAEtC,KAAK,KACJ,OAAO+va,GAAS/va,EAAQ6va,GAAK,QAAU7va,EAAQA,EAEhD,KAAK,KACJ,OAAO+va,GAAS/va,EAAQwL,GAAQxL,EAAO,iBAAkB+va,GAAS,WAAaF,GAAK,aAAe7va,EAEpG,KAAK,KACJ,OAAO+va,GAAS/va,EAAQ6va,GAAK,aAAerka,GAAQxL,EAAO,cAAe,IAAMA,EAEjF,KAAK,KACJ,OAAO+va,GAAS/va,EAAQ6va,GAAK,iBAAmBrka,GAAQxL,EAAO,4BAA6B,IAAMA,EAEnG,KAAK,KACJ,OAAO+va,GAAS/va,EAAQ6va,GAAKrka,GAAQxL,EAAO,SAAU,YAAcA,EAErE,KAAK,KACJ,OAAO+va,GAAS/va,EAAQ6va,GAAKrka,GAAQxL,EAAO,QAAS,kBAAoBA,EAE1E,KAAK,KACJ,OAAO+va,GAAS,OAASvka,GAAQxL,EAAO,QAAS,IAAM+va,GAAS/va,EAAQ6va,GAAKrka,GAAQxL,EAAO,OAAQ,YAAcA,EAEnH,KAAK,KACJ,OAAO+va,GAASvka,GAAQxL,EAAO,qBAAsB,KAAO+va,GAAS,MAAQ/va,EAE9E,KAAK,KACJ,OAAOwL,GAAQA,GAAQA,GAAQxL,EAAO,eAAgB+va,GAAS,MAAO,cAAeA,GAAS,MAAO/va,EAAO,IAAMA,EAEnH,KAAK,KAAM,KAAK,KACf,OAAOwL,GAAQxL,EAAO,oBAAqB+va,aAE5C,KAAK,KACJ,OAAOvka,GAAQA,GAAQxL,EAAO,oBAAqB+va,GAAS,cAAgBF,GAAK,gBAAiB,aAAc,WAAaE,GAAS/va,EAAQA,EAE/I,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KACrC,OAAOwL,GAAQxL,EAAO,kBAAmB+va,GAAS,QAAU/va,EAE7D,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KACtC,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KACtC,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,KAErC,GAAIkva,GAAOlva,GAAS,EAAIK,EAAS,EAChC,OAAQ2ua,GAAOhva,EAAOK,EAAS,IAE9B,KAAK,IAEJ,GAAkC,KAA9B2ua,GAAOhva,EAAOK,EAAS,GAC1B,MAEF,KAAK,IACJ,OAAOmL,GAAQxL,EAAO,mBAAoB,KAAO+va,GAAP,UAAiCD,IAAoC,KAA7Bd,GAAOhva,EAAOK,EAAS,GAAY,KAAO,UAAYL,EAEzI,KAAK,IACJ,OAAQ+ua,GAAQ/ua,EAAO,WAAa+8D,GAAOvxD,GAAQxL,EAAO,UAAW,kBAAmBK,GAAUL,EAAQA,EAE7G,MAED,KAAK,KAEJ,GAAkC,MAA9Bgva,GAAOhva,EAAOK,EAAS,GAC1B,MAEF,KAAK,KACJ,OAAQ2ua,GAAOhva,EAAOkva,GAAOlva,GAAS,IAAM+ua,GAAQ/ua,EAAO,eAAiB,MAE3E,KAAK,IACJ,OAAOwL,GAAQxL,EAAO,IAAK,IAAM+va,IAAU/va,EAE5C,KAAK,IACJ,OAAOwL,GAAQxL,EAAO,wBAAyB,KAAO+va,IAAgC,KAAtBf,GAAOhva,EAAO,IAAa,UAAY,IAAxD,UAA+E+va,GAA/E,SAAwGF,GAAK,WAAa7va,EAE3K,MAED,KAAK,KACJ,OAAQgva,GAAOhva,EAAOK,EAAS,KAE9B,KAAK,IACJ,OAAO0va,GAAS/va,EAAQ6va,GAAKrka,GAAQxL,EAAO,qBAAsB,MAAQA,EAE3E,KAAK,IACJ,OAAO+va,GAAS/va,EAAQ6va,GAAKrka,GAAQxL,EAAO,qBAAsB,SAAWA,EAE9E,KAAK,GACJ,OAAO+va,GAAS/va,EAAQ6va,GAAKrka,GAAQxL,EAAO,qBAAsB,MAAQA,EAG5E,OAAO+va,GAAS/va,EAAQ6va,GAAK7va,EAAQA,EAGvC,OAAOA,CACR,CC3FO,SAASowa,GAAWvsa,GAC1B,OAAO,SAAUupB,GACXA,EAAQkiZ,OACRliZ,EAAUA,EAAQuZ,SACrB9iC,EAASupB,EACZ,CACD,CCzBO,SAASijZ,GAASrwa,GACxB,OAAOwva,GAAQpoa,GAAM,GAAI,KAAM,KAAM,KAAM,CAAC,IAAKpH,EAAQuva,GAAMvva,GAAQ,EAAG,CAAC,GAAIA,GAChF,CAcO,SAASoH,GAAOpH,EAAOsva,EAAM71Z,EAAQ2+M,EAAMk4M,EAAOC,EAAUC,EAAQC,EAAQC,GAiBlF,IAhBA,IAAI1sa,EAAQ,EACRo6I,EAAS,EACT/9I,EAASmwa,EACTG,EAAS,EACT1ra,EAAW,EACX4pE,EAAW,EACX+hW,EAAW,EACXC,EAAW,EACXC,EAAY,EACZ1B,EAAY,EACZ76Z,EAAO,GACP5D,EAAQ2/Z,EACR3oZ,EAAW4oZ,EACX5nF,EAAYvwH,EACZi3M,EAAa96Z,EAEVs8Z,UACEhiW,EAAWugW,EAAWA,EAAYtxY,MAEzC,KAAK,GACJ,GAAgB,KAAZ+wC,GAAwD,IAArCwgW,EAAWvyY,WAAWz8B,EAAS,GAAU,EACe,GAA1E0ua,GAAQM,GAAc7ja,GAAQika,GAAQL,GAAY,IAAK,OAAQ,SAClE0B,GAAa,GACd,KACD,CAED,KAAK,GAAI,KAAK,GAAI,KAAK,GACtBzB,GAAcI,GAAQL,GACtB,MAED,KAAK,EAAG,KAAK,GAAI,KAAK,GAAI,KAAK,GAC9BC,GAAcK,GAAW7gW,GACzB,MAED,KAAK,GACJwgW,GAAcM,GAASxpE,KAAU,EAAG,GACpC,SAED,KAAK,GACJ,OAAQlxR,MACP,KAAK,GAAI,KAAK,GACbunU,GAAOlsH,GAAQs/I,GAAU9xY,KAAQqoU,MAAUmpE,EAAM71Z,GAASi3Z,GAC1D,MACD,QACCrB,GAAc,IAEhB,MAED,KAAK,IAAMuB,EACVH,EAAOzsa,KAAWkra,GAAOG,GAAcyB,EAExC,KAAK,IAAMF,EAAU,KAAK,GAAI,KAAK,EAClC,OAAQxB,GAEP,KAAK,EAAG,KAAK,IAAKyB,EAAW,EAE7B,KAAK,GAAKzyR,EACLn5I,EAAW,GAAMiqa,GAAOG,GAAchva,GACzCm8Y,GAAOv3Y,EAAW,GAAK8ra,GAAY1B,EAAa,IAAKj3M,EAAM3+M,EAAQpZ,EAAS,GAAK0wa,GAAYvla,GAAQ6ja,EAAY,IAAK,IAAM,IAAKj3M,EAAM3+M,EAAQpZ,EAAS,GAAIqwa,GAC7J,MAED,KAAK,GAAIrB,GAAc,IAEvB,QAGC,GAFA7yB,GAAO7zD,EAAYqoF,GAAQ3B,EAAYC,EAAM71Z,EAAQzV,EAAOo6I,EAAQkyR,EAAOG,EAAQl8Z,EAAM5D,EAAQ,GAAIgX,EAAW,GAAItnB,GAASkwa,GAE3G,MAAdnB,EACH,GAAe,IAAXhxR,EACHh3I,GAAMioa,EAAYC,EAAM3mF,EAAWA,EAAWh4U,EAAO4/Z,EAAUlwa,EAAQowa,EAAQ9oZ,QAE/E,OAAQgpZ,GAEP,KAAK,IAAK,KAAK,IAAK,KAAK,IACxBvpa,GAAMpH,EAAO2oV,EAAWA,EAAWvwH,GAAQokL,GAAOw0B,GAAQhxa,EAAO2oV,EAAWA,EAAW,EAAG,EAAG2nF,EAAOG,EAAQl8Z,EAAM+7Z,EAAO3/Z,EAAQ,GAAItQ,GAASsnB,GAAW2oZ,EAAO3oZ,EAAUtnB,EAAQowa,EAAQr4M,EAAOznN,EAAQgX,GACzM,MACD,QACCvgB,GAAMioa,EAAY1mF,EAAWA,EAAWA,EAAW,CAAC,IAAKhhU,EAAU,EAAG8oZ,EAAQ9oZ,IAIpF3jB,EAAQo6I,EAASn5I,EAAW,EAAG2ra,EAAWE,EAAY,EAAGv8Z,EAAO86Z,EAAa,GAAIhva,EAASmwa,EAC1F,MAED,KAAK,GACJnwa,EAAS,EAAI6ua,GAAOG,GAAapqa,EAAW4pE,EAC7C,QACC,GAAI+hW,EAAW,EACd,GAAiB,KAAbxB,IACDwB,OACE,GAAiB,KAAbxB,GAAkC,GAAdwB,KAA6B,KAAVppQ,KAC/C,SAEF,OAAQ6nQ,GAAcziW,GAAKwiW,GAAYA,EAAYwB,GAElD,KAAK,GACJE,EAAY1yR,EAAS,EAAI,GAAKixR,GAAc,MAAO,GACnD,MAED,KAAK,GACJoB,EAAOzsa,MAAYkra,GAAOG,GAAc,GAAKyB,EAAWA,EAAY,EACpE,MAED,KAAK,GAEW,KAAX77V,OACHo6V,GAAcI,GAAQ3xY,OAEvB6yY,EAAS17V,KAAQmpE,EAAS/9I,EAAS6ua,GAAO36Z,EAAO86Z,GAAcnwU,GAAWinQ,OAAWipE,IACrF,MAED,KAAK,GACa,KAAbvgW,GAAyC,GAAtBqgW,GAAOG,KAC7BuB,EAAW,IAIjB,OAAOL,CACR,CAgBO,SAASS,GAAShxa,EAAOsva,EAAM71Z,EAAQzV,EAAOo6I,EAAQkyR,EAAOG,EAAQl8Z,EAAM5D,EAAOgX,EAAUtnB,GAKlG,IAJA,IAAI4pa,EAAO7rR,EAAS,EAChBg6E,EAAkB,IAAXh6E,EAAekyR,EAAQ,CAAC,IAC/Bz8Z,EAAOs7Z,GAAO/2M,GAET90N,EAAI,EAAG4nB,EAAI,EAAGyiC,EAAI,EAAGrqD,EAAIU,IAASV,EAC1C,IAAK,IAAI4hE,EAAI,EAAGD,EAAI5pC,GAAOr7B,EAAOiqa,EAAO,EAAGA,EAAO/pW,GAAIh1C,EAAIulZ,EAAOnta,KAAMwjS,EAAI9mS,EAAOklE,EAAIrxD,IAAQqxD,GAC1F4hO,EAAIj+R,GAAKqiB,EAAI,EAAIktM,EAAKlzJ,GAAK,IAAMD,EAAIz5D,GAAQy5D,EAAG,OAAQmzJ,EAAKlzJ,QAChEv0D,EAAMg9C,KAAOm5O,GAEhB,OAAOvqR,GAAKvc,EAAOsva,EAAM71Z,EAAmB,IAAX2kI,EAAe6xR,GAAU17Z,EAAM5D,EAAOgX,EAAUtnB,EAClF,CAQO,SAASiwR,GAAStwR,EAAOsva,EAAM71Z,GACrC,OAAO8C,GAAKvc,EAAOsva,EAAM71Z,EAAQu2Z,GAASpjW,GL/InCwiW,IK+IiD/zY,GAAOr7B,EAAO,GAAI,GAAI,EAC/E,CASO,SAAS+wa,GAAa/wa,EAAOsva,EAAM71Z,EAAQpZ,GACjD,OAAOkc,GAAKvc,EAAOsva,EAAM71Z,EAAQy2Z,GAAa70Y,GAAOr7B,EAAO,EAAGK,GAASg7B,GAAOr7B,EAAOK,EAAS,GAAI,GAAIA,EACxG,CCzLA,IAKI4wa,GAA8B,SAAqChC,EAAOwB,EAAQzsa,GAIpF,IAHA,IAAI6qE,EAAW,EACXugW,EAAY,EAGdvgW,EAAWugW,EACXA,EAAYn6V,KAEK,KAAbpG,GAAiC,KAAdugW,IACrBqB,EAAOzsa,GAAS,IAGdm3R,GAAMi0I,IAIVtxY,KAGF,OAAOn0B,GAAMsla,EAAOjgY,GACtB,EA6CIkiY,GAAW,SAAkBlxa,EAAOywa,GACtC,OAAOjB,GA5CK,SAAiBztI,EAAQ0uI,GAErC,IAAIzsa,GAAS,EACTora,EAAY,GAEhB,GACE,OAAQj0I,GAAMi0I,IACZ,KAAK,EAEe,KAAdA,GAA+B,KAAXn6V,OAKtBw7V,EAAOzsa,GAAS,GAGlB+9R,EAAO/9R,IAAUita,GAA4BjiY,GAAW,EAAGyhY,EAAQzsa,GACnE,MAEF,KAAK,EACH+9R,EAAO/9R,IAAUyra,GAAQL,GACzB,MAEF,KAAK,EAEH,GAAkB,KAAdA,EAAkB,CAEpBrtI,IAAS/9R,GAAoB,KAAXixE,KAAgB,MAAQ,GAC1Cw7V,EAAOzsa,GAAS+9R,EAAO/9R,GAAO3D,OAC9B,KACF,CAIF,QACE0hS,EAAO/9R,IAAU4oE,GAAKwiW,UAEnBA,EAAYtxY,MAErB,OAAOikQ,CACT,CAGiBovI,CAAQ5B,GAAMvva,GAAQywa,GACvC,EAGIW,GAA+B,IAAIn6G,QACnCo6G,GAAS,SAAgBjkZ,GAC3B,GAAqB,SAAjBA,EAAQ7Y,MAAoB6Y,EAAQ3T,UAExC2T,EAAQ/sB,OAAS,GAFjB,CAUA,IAJA,IAAIL,EAAQotB,EAAQptB,MAChByZ,EAAS2T,EAAQ3T,OACjB63Z,EAAiBlkZ,EAAQ5Q,SAAW/C,EAAO+C,QAAU4Q,EAAQ80Q,OAASzoR,EAAOyoR,KAE1D,SAAhBzoR,EAAOlF,MAEZ,KADAkF,EAASA,EAAOA,QACH,OAIf,IAA6B,IAAzB2T,EAAQzc,MAAMtQ,QAAwC,KAAxBL,EAAM88B,WAAW,IAE/Cs0Y,GAAc1pa,IAAI+R,MAMlB63Z,EAAJ,CAIAF,GAAcrpa,IAAIqlB,GAAS,GAK3B,IAJA,IAAIqjZ,EAAS,GACTH,EAAQY,GAASlxa,EAAOywa,GACxBc,EAAc93Z,EAAO9I,MAEhBrN,EAAI,EAAGqqD,EAAI,EAAGrqD,EAAIgta,EAAMjwa,OAAQiD,IACvC,IAAK,IAAI4nB,EAAI,EAAGA,EAAIqmZ,EAAYlxa,OAAQ6qB,IAAKyiC,IAC3CvgC,EAAQzc,MAAMg9C,GAAK8iX,EAAOnta,GAAKgta,EAAMhta,GAAGkI,QAAQ,OAAQ+la,EAAYrmZ,IAAMqmZ,EAAYrmZ,GAAK,IAAMolZ,EAAMhta,EAT3G,CAtBA,CAkCF,EACIkua,GAAc,SAAqBpkZ,GACrC,GAAqB,SAAjBA,EAAQ7Y,KAAiB,CAC3B,IAAIvU,EAAQotB,EAAQptB,MAGI,MAAxBA,EAAM88B,WAAW,IACO,KAAxB98B,EAAM88B,WAAW,KAEf1P,EAAgB,OAAI,GACpBA,EAAQptB,MAAQ,GAEpB,CACF,EAiEIyxa,GAAuB,CF7JpB,SAAmBrkZ,EAASppB,EAAO2jB,EAAU9jB,GACnD,GAAIupB,EAAQ/sB,QAAU,IAChB+sB,EAAQuZ,OACZ,OAAQvZ,EAAQ7Y,MACf,KAAK27Z,GAAa9iZ,EAAQuZ,OAASo2B,GAAO3vC,EAAQptB,MAAOotB,EAAQ/sB,QAChE,MACD,KAAK8va,GACJ,OAAOjhK,GAAU,CAAC/qQ,GAAKipB,EAAS,CAACptB,MAAOwL,GAAQ4hB,EAAQptB,MAAO,IAAK,IAAM+va,OAAYlsa,GACvF,KAAKosa,GACJ,GAAI7iZ,EAAQ/sB,OACX,OL6DC,SAAkB+kB,EAAOvhB,GAC/B,OAAOuhB,EAAMxY,IAAI/I,GAAUuK,KAAK,GACjC,CK/Dasja,CAAQtkZ,EAAQzc,OAAO,SAAU3Q,GACvC,OLZA,SAAgBA,EAAOi5N,GAC7B,OAAQj5N,EAAQi5N,EAAQrwN,KAAK5I,IAAUA,EAAM,GAAKA,CACnD,CKUeyL,CAAMzL,EAAO,0BAEpB,IAAK,aAAc,IAAK,cACvB,OAAOkvQ,GAAU,CAAC/qQ,GAAKipB,EAAS,CAACzc,MAAO,CAACnF,GAAQxL,EAAO,cAAe,IAAM8va,GAAM,UAAWjsa,GAE/F,IAAK,gBACJ,OAAOqrQ,GAAU,CAChB/qQ,GAAKipB,EAAS,CAACzc,MAAO,CAACnF,GAAQxL,EAAO,aAAc,IAAM+va,GAAS,eACnE5ra,GAAKipB,EAAS,CAACzc,MAAO,CAACnF,GAAQxL,EAAO,aAAc,IAAM8va,GAAM,SAChE3ra,GAAKipB,EAAS,CAACzc,MAAO,CAACnF,GAAQxL,EAAO,aAAc6va,GAAK,gBACvDhsa,GAGL,MAAO,EACR,IAEN,GEuQA,SAnIkB,SAAqBiqB,GACrC,IAAI7pB,EAAM6pB,EAAQ7pB,IAMlB,GAAa,QAARA,EAAe,CAClB,IAAI0ta,EAAY/kZ,SAASwxC,iBAAiB,qCAK1Ct6D,MAAMX,UAAUnB,QAAQgH,KAAK2oa,GAAW,SAAUp1Z,IASL,IAFhBA,EAAK0+C,aAAa,gBAEpBz2D,QAAQ,OAGjCooB,SAASkiT,KAAKxzQ,YAAY/+C,GAC1BA,EAAKugD,aAAa,SAAU,IAC9B,GACF,CAEA,IAAI80W,EAAgB9jZ,EAAQ8jZ,eAAiBH,GAS7C,IAEIvsX,EAkBA2sX,EApBAC,EAAW,CAAC,EAGZC,EAAiB,GAGnB7sX,EAAYp3B,EAAQo3B,WAAat4B,SAASkiT,KAC1ChrU,MAAMX,UAAUnB,QAAQgH,KAExB4jB,SAASwxC,iBAAiB,wBAA2Bn6D,EAAM,QAAS,SAAUsY,GAG5E,IAFA,IAAIy1Z,EAASz1Z,EAAK0+C,aAAa,gBAAgB10D,MAAM,KAE5CjD,EAAI,EAAGA,EAAI0ua,EAAO3xa,OAAQiD,IACjCwua,EAASE,EAAO1ua,KAAM,EAGxByua,EAAe9va,KAAKsa,EACtB,IAKF,IAAI01Z,EAAqB,CAACZ,GAAQG,IAYhC,IAAIU,EACAC,EAAoB,CAACpva,GAUrBqta,IAAU,SAAUh4M,GACtB85M,EAAa5D,OAAOl2M,EACtB,KACIg6M,EFrRD,SAAqBC,GAC3B,IAAIhya,EAAS8ua,GAAOkD,GAEpB,OAAO,SAAUjlZ,EAASppB,EAAO2jB,EAAU9jB,GAG1C,IAFA,IAAI64B,EAAS,GAEJp5B,EAAI,EAAGA,EAAIjD,EAAQiD,IAC3Bo5B,GAAU21Y,EAAW/ua,GAAG8pB,EAASppB,EAAO2jB,EAAU9jB,IAAa,GAEhE,OAAO64B,CACR,CACD,CE0QqB41Y,CAAWL,EAAmBhka,OAAO2ja,EAAeO,IAMrEN,EAAU,SAAgBtzV,EAAUg0V,EAAY/D,EAAOgE,GACrDN,EAAe1D,EAJRt/J,GAAUmhK,GAcV9xV,EAAWA,EAAW,IAAMg0V,EAAW7wW,OAAS,IAAM6wW,EAAW7wW,QAdtC0wW,GAgB9BI,IACFzoG,EAAM+nG,SAASS,EAAW7pa,OAAQ,EAEtC,EAGF,IAAIqhU,EAAQ,CACV9lU,IAAKA,EACLuqa,MAAO,IAAIT,GAAW,CACpB9pa,IAAKA,EACLihD,UAAWA,EACXs/Q,MAAO12S,EAAQ02S,MACf4pG,OAAQtgZ,EAAQsgZ,OAChBF,QAASpgZ,EAAQogZ,QACjBD,eAAgBngZ,EAAQmgZ,iBAE1BzpG,MAAO12S,EAAQ02S,MACfstG,SAAUA,EACV53K,WAAY,CAAC,EACbo0K,OAAQuD,GAGV,OADA9nG,EAAMykG,MAAM51H,QAAQm5H,GACbhoG,CACT,ECxUA,SAAS0oG,GAAoBv4K,EAAYw4K,EAAkB16M,GACzD,IAAI26M,EAAe,GAQnB,OAPA36M,EAAWzxN,MAAM,KAAKvE,SAAQ,SAAU6uE,QACRpwE,IAA1By5P,EAAWrpL,GACb6hW,EAAiBzwa,KAAKi4P,EAAWrpL,GAAa,KAE9C8hW,GAAgB9hW,EAAY,GAEhC,IACO8hW,CACT,CACA,IAAIC,GAAiB,SAAwB7oG,EAAOwoG,EAAYM,GAC9D,IAAIhiW,EAAYk5P,EAAM9lU,IAAM,IAAMsua,EAAW7pa,MAO5B,IAAhBmqa,QAIwDpya,IAAhCspU,EAAM7vE,WAAWrpL,KACxCk5P,EAAM7vE,WAAWrpL,GAAa0hW,EAAW7wW,OAE7C,EACIoxW,GAAe,SAAsB/oG,EAAOwoG,EAAYM,GAC1DD,GAAe7oG,EAAOwoG,EAAYM,GAClC,IAAIhiW,EAAYk5P,EAAM9lU,IAAM,IAAMsua,EAAW7pa,KAE7C,QAAwCjI,IAApCspU,EAAM+nG,SAASS,EAAW7pa,MAAqB,CACjD,IAAIq4Q,EAAUwxJ,EAEd,EAAG,CACiBxoG,EAAMukG,OAAOiE,IAAexxJ,EAAU,IAAMlwM,EAAY,GAAIkwM,EAASgpD,EAAMykG,OAAO,GAEpGztJ,EAAUA,EAAQjjP,IACpB,YAAqBr9B,IAAZsgR,EACX,CACF,ECaA,SAnDA,SAAiBhmP,GAYf,IANA,IAEI4yB,EAFAR,EAAI,EAGJ7pD,EAAI,EACJs5B,EAAM7B,EAAI16B,OAEPu8B,GAAO,IAAKt5B,EAAGs5B,GAAO,EAE3B+wB,EAEe,YAAV,OAHLA,EAAwB,IAApB5yB,EAAI+B,WAAWx5B,IAAmC,IAAtBy3B,EAAI+B,aAAax5B,KAAc,GAA2B,IAAtBy3B,EAAI+B,aAAax5B,KAAc,IAA4B,IAAtBy3B,EAAI+B,aAAax5B,KAAc,MAG9F,OAAZqqD,IAAM,KAAgB,IAIpDR,EAEe,YAAV,OALLQ,GAEAA,IAAM,MAGoC,OAAZA,IAAM,KAAgB,IAErC,YAAV,MAAJR,IAAyC,OAAZA,IAAM,KAAgB,IAItD,OAAQvwB,GACN,KAAK,EACHuwB,IAA8B,IAAxBpyB,EAAI+B,WAAWx5B,EAAI,KAAc,GAEzC,KAAK,EACH6pD,IAA8B,IAAxBpyB,EAAI+B,WAAWx5B,EAAI,KAAc,EAEzC,KAAK,EAEH6pD,EAEe,YAAV,OAHLA,GAAyB,IAApBpyB,EAAI+B,WAAWx5B,MAGsB,OAAZ6pD,IAAM,KAAgB,IASxD,SAHAA,EAEe,YAAV,OAHLA,GAAKA,IAAM,MAG+B,OAAZA,IAAM,KAAgB,KACvCA,IAAM,MAAQ,GAAG5sD,SAAS,GACzC,ECHA,SAjDmB,CACjBssS,wBAAyB,EACzBC,kBAAmB,EACnBC,iBAAkB,EAClBC,iBAAkB,EAClBC,QAAS,EACTC,aAAc,EACdC,gBAAiB,EACjBC,YAAa,EACb5uR,QAAS,EACTtF,KAAM,EACNm0R,SAAU,EACVC,aAAc,EACdC,WAAY,EACZC,aAAc,EACdC,UAAW,EACX9+E,QAAS,EACTg/E,WAAY,EACZC,YAAa,EACbC,aAAc,EACdtgE,WAAY,EACZugE,cAAe,EACfC,eAAgB,EAChBC,gBAAiB,EACjB+kI,UAAW,EACXC,cAAe,EACfC,aAAc,EACdC,iBAAkB,EAClBjlI,WAAY,EACZ//H,WAAY,EACZryG,QAAS,EACTsyO,MAAO,EACPC,QAAS,EACTC,QAAS,EACTC,OAAQ,EACR37I,OAAQ,EACR47I,KAAM,EACN4kI,gBAAiB,EAEjB3kI,YAAa,EACbC,aAAc,EACdC,YAAa,EACbC,gBAAiB,EACjBC,iBAAkB,EAClBC,iBAAkB,EAClBC,cAAe,EACfC,YAAa,GC1Cf,IAEIqkI,GAAiB,aACjBC,GAAiB,8BAEjBC,GAAmB,SAA0Brua,GAC/C,OAAkC,KAA3BA,EAAS63B,WAAW,EAC7B,EAEIy2Y,GAAqB,SAA4Bvza,GACnD,OAAgB,MAATA,GAAkC,mBAAVA,CACjC,EAEIwza,GCjBJ,SAAiB1kZ,GACf,IAAIi7S,EAAQ7nU,OAAOotB,OAAO,MAC1B,OAAO,SAAU1jB,GAEf,YADmBnL,IAAfspU,EAAMn+T,KAAoBm+T,EAAMn+T,GAAOkjB,EAAGljB,IACvCm+T,EAAMn+T,EACf,CACF,CDWsC6na,EAAQ,SAAUC,GACtD,OAAOJ,GAAiBI,GAAaA,EAAYA,EAAUloa,QAAQ4na,GAAgB,OAAOn4Y,aAC5F,IAEI04Y,GAAoB,SAA2B1va,EAAKjE,GACtD,OAAQiE,GACN,IAAK,YACL,IAAK,gBAED,GAAqB,kBAAVjE,EACT,OAAOA,EAAMwL,QAAQ6na,IAAgB,SAAU5na,EAAOmoa,EAAIC,GAMxD,OALAnyL,GAAS,CACPh5O,KAAMkra,EACNlyW,OAAQmyW,EACR/1Y,KAAM4jN,IAEDkyL,CACT,IAKR,OAAsB,IAAlBE,GAAS7va,IAAeqva,GAAiBrva,IAAyB,kBAAVjE,GAAgC,IAAVA,EAI3EA,EAHEA,EAAQ,IAInB,EA8BA,SAAS+za,GAAoBC,EAAa95K,EAAY+5K,GACpD,GAAqB,MAAjBA,EACF,MAAO,GAGT,QAAuCxza,IAAnCwza,EAAcC,iBAKhB,OAAOD,EAGT,cAAeA,GACb,IAAK,UAED,MAAO,GAGX,IAAK,SAED,GAA2B,IAAvBA,EAAcE,KAMhB,OALAzyL,GAAS,CACPh5O,KAAMura,EAAcvra,KACpBg5D,OAAQuyW,EAAcvyW,OACtB5jC,KAAM4jN,IAEDuyL,EAAcvra,KAGvB,QAA6BjI,IAAzBwza,EAAcvyW,OAAsB,CACtC,IAAI5jC,EAAOm2Y,EAAcn2Y,KAEzB,QAAar9B,IAATq9B,EAGF,UAAgBr9B,IAATq9B,GACL4jN,GAAS,CACPh5O,KAAMo1B,EAAKp1B,KACXg5D,OAAQ5jC,EAAK4jC,OACb5jC,KAAM4jN,IAER5jN,EAAOA,EAAKA,KAUhB,OANam2Y,EAAcvyW,OAAS,GAOtC,CAEA,OA2CR,SAAgCsyW,EAAa95K,EAAY51P,GACvD,IAAIm4B,EAAS,GAEb,GAAI34B,MAAMC,QAAQO,GAChB,IAAK,IAAIhB,EAAI,EAAGA,EAAIgB,EAAIjE,OAAQiD,IAC9Bm5B,GAAUs3Y,GAAoBC,EAAa95K,EAAY51P,EAAIhB,IAAM,SAGnE,IAAK,IAAIghU,KAAQhgU,EAAK,CACpB,IAAItE,EAAQsE,EAAIggU,GAEhB,GAAqB,kBAAVtkU,EACS,MAAdk6P,QAA4Cz5P,IAAtBy5P,EAAWl6P,GACnCy8B,GAAU6nS,EAAO,IAAMpqE,EAAWl6P,GAAS,IAClCuza,GAAmBvza,KAC5By8B,GAAU+2Y,GAAiBlvG,GAAQ,IAAMqvG,GAAkBrvG,EAAMtkU,GAAS,UAO5E,IAAI8D,MAAMC,QAAQ/D,IAA8B,kBAAbA,EAAM,IAAkC,MAAdk6P,QAA+Cz5P,IAAzBy5P,EAAWl6P,EAAM,IAM7F,CACL,IAAIo0a,EAAeL,GAAoBC,EAAa95K,EAAYl6P,GAEhE,OAAQskU,GACN,IAAK,YACL,IAAK,gBAED7nS,GAAU+2Y,GAAiBlvG,GAAQ,IAAM8vG,EAAe,IACxD,MAGJ,QAMI33Y,GAAU6nS,EAAO,IAAM8vG,EAAe,IAG9C,MAzBE,IAAK,IAAI9sa,EAAK,EAAGA,EAAKtH,EAAMK,OAAQiH,IAC9Bisa,GAAmBvza,EAAMsH,MAC3Bm1B,GAAU+2Y,GAAiBlvG,GAAQ,IAAMqvG,GAAkBrvG,EAAMtkU,EAAMsH,IAAO,IAyBxF,CAGF,OAAOm1B,CACT,CAjGe43Y,CAAuBL,EAAa95K,EAAY+5K,GAG3D,IAAK,WAED,QAAoBxza,IAAhBuza,EAA2B,CAC7B,IAAIM,EAAiB5yL,GACjBj5N,EAASwrZ,EAAcD,GAE3B,OADAtyL,GAAS4yL,EACFP,GAAoBC,EAAa95K,EAAYzxO,EACtD,EAyBN,GAAkB,MAAdyxO,EACF,OAAO+5K,EAGT,IAAIpvQ,EAASq1F,EAAW+5K,GACxB,YAAkBxza,IAAXokK,EAAuBA,EAASovQ,CACzC,CA0DA,IASIvyL,GATA6yL,GAAe,iCAUnB,IAAIC,GAAkB,SAAyBvqa,EAAMiwP,EAAY85K,GAC/D,GAAoB,IAAhB/pa,EAAK5J,QAAmC,kBAAZ4J,EAAK,IAA+B,OAAZA,EAAK,SAAkCxJ,IAAnBwJ,EAAK,GAAGy3D,OAClF,OAAOz3D,EAAK,GAGd,IAAIwqa,GAAa,EACb/yW,EAAS,GACbggL,QAASjhP,EACT,IAAIi0a,EAAUzqa,EAAK,GAEJ,MAAXyqa,QAAmCj0a,IAAhBi0a,EAAQnqT,KAC7BkqT,GAAa,EACb/yW,GAAUqyW,GAAoBC,EAAa95K,EAAYw6K,IAMvDhzW,GAAUgzW,EAAQ,GAIpB,IAAK,IAAIpxa,EAAI,EAAGA,EAAI2G,EAAK5J,OAAQiD,IAC/Bo+D,GAAUqyW,GAAoBC,EAAa95K,EAAYjwP,EAAK3G,IAExDmxa,IAKF/yW,GAAUgzW,EAAQpxa,IActBixa,GAAa10X,UAAY,EAIzB,IAHA,IACIp0C,EADAkpa,EAAiB,GAG0B,QAAvClpa,EAAQ8oa,GAAa3ra,KAAK84D,KAChCizW,GAAkB,IAClBlpa,EAAM,GAkBR,MAAO,CACL/C,KAhBSyyX,GAAWz5T,GAAUizW,EAiB9BjzW,OAAQA,EACR5jC,KAAM4jN,GAEV,EE9SIh8O,GAAiB,CAAC,EAAEA,eAEpBkva,IAAqCzzJ,EAAAA,EAAAA,eAMlB,qBAAhBvyP,YAA6CimZ,GAAY,CAC9D5wa,IAAK,QACF,MAMe2wa,GAAoBxnJ,SAAxC,IAKI0nJ,GAAmB,SAA0Bvsa,GAE/C,OAAoBg5Q,EAAAA,EAAAA,aAAW,SAAU5wQ,EAAOk8D,GAE9C,IAAIk9P,GAAQvoD,EAAAA,EAAAA,YAAWozJ,IACvB,OAAOrsa,EAAKoI,EAAOo5T,EAAOl9P,EAC5B,GACF,EAEIkoW,IAA8B5zJ,EAAAA,EAAAA,eAAc,CAAC,GA6DjD,IA2CI6zJ,GAAqBnlG,EAA+B,mBAAIA,EAA+B,mBAAI,SAA4BvgT,GACzHA,GACF,EACA,SAAS2lZ,GAAwB3lZ,GAE/B0lZ,GAAmB1lZ,EACrB,CAEA,IAAI4lZ,GAAe,qCA2BfC,GAAY,SAAmBpvG,GACjC,IAAIgE,EAAQhE,EAAKgE,MACbwoG,EAAaxsG,EAAKwsG,WAClBM,EAAc9sG,EAAK8sG,YACvBD,GAAe7oG,EAAOwoG,EAAYM,GACtBoC,IAAwB,WAClC,OAAOnC,GAAa/oG,EAAOwoG,EAAYM,EACzC,IAEA,OAAO,IACT,EAEIuC,GAAyBN,IAAiB,SAAUnka,EAAOo5T,EAAOl9P,GACpE,IAAIwoW,EAAU1ka,EAAMu3U,IAIG,kBAAZmtF,QAAsD50a,IAA9BspU,EAAM7vE,WAAWm7K,KAClDA,EAAUtrG,EAAM7vE,WAAWm7K,IAG7B,IAAIntD,EAAmBv3W,EAAMuka,IACzBxC,EAAmB,CAAC2C,GACpBxkW,EAAY,GAEe,kBAApBlgE,EAAMkgE,UACfA,EAAY4hW,GAAoB1oG,EAAM7vE,WAAYw4K,EAAkB/ha,EAAMkgE,WAC9C,MAAnBlgE,EAAMkgE,YACfA,EAAYlgE,EAAMkgE,UAAY,KAGhC,IAAI0hW,EAAaiC,GAAgB9B,OAAkBjya,GAAW+gR,EAAAA,EAAAA,YAAWuzJ,KAUzElkW,GAAak5P,EAAM9lU,IAAM,IAAMsua,EAAW7pa,KAC1C,IAAI4sa,EAAW,CAAC,EAEhB,IAAK,IAAIrxa,KAAO0M,EACVjL,GAAesD,KAAK2H,EAAO1M,IAAgB,QAARA,GAAiBA,IAAQixa,KAC9DI,EAASrxa,GAAO0M,EAAM1M,IAM1B,OAFAqxa,EAASzoW,IAAMA,EACfyoW,EAASzkW,UAAYA,GACDhkD,EAAAA,EAAAA,eAAc03P,EAAAA,SAAU,MAAmB13P,EAAAA,EAAAA,eAAcsoZ,GAAW,CACtFprG,MAAOA,EACPwoG,WAAYA,EACZM,YAAyC,kBAArB3qD,KACLr7V,EAAAA,EAAAA,eAAcq7V,EAAkBotD,GACnD,IC/NA,IA6EIxpG,GAAM,SAAav3T,EAAM5D,GAC3B,IAAI1G,EAAO1C,UAEX,GAAa,MAAToJ,IAAkBjL,GAAesD,KAAK2H,EAAO,OAE/C,OAAOkc,EAAAA,cAAc5jB,WAAMxI,EAAWwJ,GAGxC,IAAIsra,EAAatra,EAAK5J,OAClBm1a,EAAwB,IAAI1xa,MAAMyxa,GACtCC,EAAsB,GAAKJ,GAC3BI,EAAsB,GDqDC,SAA4Bjha,EAAM5D,GAMzD,IAAI2ka,EAAW,CAAC,EAEhB,IAAK,IAAIrxa,KAAO0M,EACVjL,GAAesD,KAAK2H,EAAO1M,KAC7Bqxa,EAASrxa,GAAO0M,EAAM1M,IAY1B,OARAqxa,EAASJ,IAAgB3ga,EAQlB+ga,CACT,CC5E6BG,CAAmBlha,EAAM5D,GAEpD,IAAK,IAAIrN,EAAI,EAAGA,EAAIiya,EAAYjya,IAC9Bkya,EAAsBlya,GAAK2G,EAAK3G,GAIlC,OAAOupB,EAAAA,cAAc5jB,MAAM,KAAMusa,EACnC,EAEyB3lG,EAA+B,mBAAIA,EAA+B,mBAAIxkC,EAAAA,gBAmF/F,SAAS68C,KACP,IAAK,IAAI7jB,EAAO98T,UAAUlH,OAAQ4J,EAAO,IAAInG,MAAMugU,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC/Er6T,EAAKq6T,GAAQ/8T,UAAU+8T,GAGzB,OAAOkwG,GAAgBvqa,EACzB,CAEA,IAcIyra,GAAa,SAASA,EAAWzra,GAKnC,IAJA,IAAI2yB,EAAM3yB,EAAK5J,OACXiD,EAAI,EACJg7D,EAAM,GAEHh7D,EAAIs5B,EAAKt5B,IAAK,CACnB,IAAIsI,EAAM3B,EAAK3G,GACf,GAAW,MAAPsI,EAAJ,CACA,IAAI2tH,OAAQ,EAEZ,cAAe3tH,GACb,IAAK,UACH,MAEF,IAAK,SAED,GAAI9H,MAAMC,QAAQ6H,GAChB2tH,EAAQm8S,EAAW9pa,QAQnB,IAAK,IAAI+hD,KAFT4rE,EAAQ,GAEM3tH,EACRA,EAAI+hD,IAAMA,IACZ4rE,IAAUA,GAAS,KACnBA,GAAS5rE,GAKf,MAGJ,QAEI4rE,EAAQ3tH,EAIV2tH,IACFj7D,IAAQA,GAAO,KACfA,GAAOi7D,EArCgB,CAuC3B,CAEA,OAAOj7D,CACT,EAaA,IAAI62W,GAAY,SAAmBpvG,GACjC,IAAIgE,EAAQhE,EAAKgE,MACb4rG,EAAgB5vG,EAAK4vG,cACbV,IAAwB,WAElC,IAAK,IAAI3xa,EAAI,EAAGA,EAAIqya,EAAct1a,OAAQiD,IAC9Bwva,GAAa/oG,EAAO4rG,EAAcrya,IAAI,EAEpD,IAEA,OAAO,IACT,EAEIsya,GAA4Bd,IAAiB,SAAUnka,EAAOo5T,GAChE,IACI4rG,EAAgB,GAEhBztF,EAAM,WAKR,IAAK,IAAI7jB,EAAO98T,UAAUlH,OAAQ4J,EAAO,IAAInG,MAAMugU,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC/Er6T,EAAKq6T,GAAQ/8T,UAAU+8T,GAGzB,IAAIiuG,EAAaiC,GAAgBvqa,EAAM8/T,EAAM7vE,YAI7C,OAHAy7K,EAAc1za,KAAKswa,GAEnBK,GAAe7oG,EAAOwoG,GAAY,GAC3BxoG,EAAM9lU,IAAM,IAAMsua,EAAW7pa,IACtC,EAcI0nQ,EAAU,CACZ83E,IAAKA,EACL2tF,GAdO,WAKP,IAAK,IAAI1uG,EAAQ5/T,UAAUlH,OAAQ4J,EAAO,IAAInG,MAAMqjU,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFn9T,EAAKm9T,GAAS7/T,UAAU6/T,GAG1B,OArDJ,SAAeltE,EAAYguF,EAAKr3Q,GAC9B,IAAI6hW,EAAmB,GACnBC,EAAeF,GAAoBv4K,EAAYw4K,EAAkB7hW,GAErE,OAAI6hW,EAAiBrya,OAAS,EACrBwwE,EAGF8hW,EAAezqF,EAAIwqF,EAC5B,CA4CW/0I,CAAMosC,EAAM7vE,WAAYguF,EAAKwtF,GAAWzra,GACjD,EAKEoxG,OAAOmmK,EAAAA,EAAAA,YAAWuzJ,KAEhBe,EAAMnla,EAAMgX,SAASyoP,GAEzB,OADc,GACMvjP,EAAAA,EAAAA,eAAc03P,EAAAA,SAAU,MAAmB13P,EAAAA,EAAAA,eAAcsoZ,GAAW,CACtFprG,MAAOA,EACP4rG,cAAeA,IACbG,EACN,IC5Ue,SAAS,GAAyB/wa,EAAQ68T,GACvD,GAAc,MAAV78T,EAAgB,MAAO,CAAC,EAC5B,IACId,EAAKX,EADL0B,EAAS,GAA6BD,EAAQ68T,GAElD,GAAI1/T,OAAOoxR,sBAAuB,CAChC,IAAIyuC,EAAmB7/T,OAAOoxR,sBAAsBvuR,GACpD,IAAKzB,EAAI,EAAGA,EAAIy+T,EAAiB1hU,OAAQiD,IACvCW,EAAM89T,EAAiBz+T,GACnBs+T,EAASp9T,QAAQP,IAAQ,GACxB/B,OAAOiB,UAAUwC,qBAAqBqD,KAAKjE,EAAQd,KACxDe,EAAOf,GAAOc,EAAOd,GAEzB,CACA,OAAOe,CACT,CCfe,SAASg9T,GAAQtkS,GAG9B,OAAOskS,GAAU,mBAAqBrkS,QAAU,iBAAmBA,OAAOC,SAAW,SAAUF,GAC7F,cAAcA,CAChB,EAAI,SAAUA,GACZ,OAAOA,GAAK,mBAAqBC,QAAUD,EAAE/4B,cAAgBg5B,QAAUD,IAAMC,OAAOx6B,UAAY,gBAAkBu6B,CACpH,EAAGskS,GAAQtkS,EACb,CCRe,SAAS,GAAgBuxF,EAAU40M,GAChD,KAAM50M,aAAoB40M,GACxB,MAAM,IAAI7lS,UAAU,oCAExB,CCFe,SAAS+3Y,GAAc7hZ,GACpC,IAAI5wB,ECFS,SAAqB4wB,EAAGjiB,GACrC,GAAI,UAAY+vT,GAAQ9tS,KAAOA,EAAG,OAAOA,EACzC,IAAIxyB,EAAIwyB,EAAEyJ,OAAOgmS,aACjB,QAAI,IAAWjiU,EAAG,CAChB,IAAI4B,EAAI5B,EAAEsH,KAAKkrB,EAAGjiB,GAAK,WACvB,GAAI,UAAY+vT,GAAQ1+T,GAAI,OAAOA,EACnC,MAAM,IAAI06B,UAAU,+CACtB,CACA,OAAQ,WAAa/rB,EAAI+pB,OAASrsB,QAAQukB,EAC5C,CDPUyvS,CAAYzvS,EAAG,UACvB,MAAO,UAAY8tS,GAAQ1+T,GAAKA,EAAIA,EAAI,EAC1C,CEJA,SAASigU,GAAkBv+T,EAAQ2L,GACjC,IAAK,IAAIrN,EAAI,EAAGA,EAAIqN,EAAMtQ,OAAQiD,IAAK,CACrC,IAAIoN,EAAaC,EAAMrN,GACvBoN,EAAWkiS,WAAaliS,EAAWkiS,aAAc,EACjDliS,EAAWiiS,cAAe,EACtB,UAAWjiS,IAAYA,EAAW1J,UAAW,GACjD9E,OAAOC,eAAe6C,EAAQ+wa,GAAcrla,EAAWzM,KAAMyM,EAC/D,CACF,CACe,SAAS,GAAamzT,EAAa4F,EAAYC,GAM5D,OALID,GAAYlG,GAAkBM,EAAY1gU,UAAWsmU,GACrDC,GAAanG,GAAkBM,EAAa6F,GAChDxnU,OAAOC,eAAe0hU,EAAa,YAAa,CAC9C78T,UAAU,IAEL68T,CACT,CChBe,SAAS,GAAUs1B,EAAUC,GAC1C,GAA0B,oBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAIp7T,UAAU,sDAEtBm7T,EAASh2V,UAAYjB,OAAOotB,OAAO8pU,GAAcA,EAAWj2V,UAAW,CACrEwB,YAAa,CACX3E,MAAOm5V,EACPnyV,UAAU,EACV2rS,cAAc,KAGlBzwS,OAAOC,eAAeg3V,EAAU,YAAa,CAC3CnyV,UAAU,IAERoyV,GAAY,GAAeD,EAAUC,EAC3C,CCfe,SAAS,GAAgB90V,EAAKL,EAAKjE,GAYhD,OAXAiE,EAAM8xa,GAAc9xa,MACTK,EACTpC,OAAOC,eAAemC,EAAKL,EAAK,CAC9BjE,MAAOA,EACP4yS,YAAY,EACZD,cAAc,EACd3rS,UAAU,IAGZ1C,EAAIL,GAAOjE,EAENsE,CACT,kjOCd+Cowa,GAASnqT,ovCTyMxC,WACd,IAAIyrT,EAAa9tF,GAAIj/U,WAAM,EAAQ1B,WAC/BmB,EAAO,aAAesta,EAAWtta,KAErC,MAAO,CACLA,KAAMA,EACNg5D,OAAQ,cAAgBh5D,EAAO,IAAMsta,EAAWt0W,OAAS,IACzDyyW,KAAM,EACN5za,SAAU,WACR,MAAO,QAAU0C,KAAKyF,KAAO,IAAMzF,KAAKy+D,OAAS,OACnD,EAEJ,OSrN+CgzW,kEACxCnqT,KACHA,GAAMmqT,GAAQ/qa,MAAM,OAEfzH,OAAOI,OAAOJ,OAAO+E,iBAAiByta,GAAS,CACpDnqT,IAAK,CACHvqH,MAAOkC,OAAOI,OAAOioH,25KCNZ,SAAS23M,GAAkBn9S,EAAK6X,IAClC,MAAPA,GAAeA,EAAM7X,EAAI1kB,UAAQu8B,EAAM7X,EAAI1kB,QAC/C,IAAK,IAAIiD,EAAI,EAAGijB,EAAO,IAAIziB,MAAM84B,GAAMt5B,EAAIs5B,EAAKt5B,IAAKijB,EAAKjjB,GAAKyhB,EAAIzhB,GACnE,OAAOijB,CACT,CCHe,SAAS+7S,GAA4B5kS,EAAG4lS,GACrD,GAAK5lS,EAAL,CACA,GAAiB,kBAANA,EAAgB,OAAO,GAAiBA,EAAG4lS,GACtD,IAAIplS,EAAIh8B,OAAOiB,UAAU5C,SAASyI,KAAK00B,GAAG/zB,MAAM,GAAI,GAEpD,MADU,WAANu0B,GAAkBR,EAAE/4B,cAAau5B,EAAIR,EAAE/4B,YAAY+D,MAC7C,QAANw1B,GAAqB,QAANA,EAAoBp6B,MAAM8oE,KAAKlvC,GACxC,cAANQ,GAAqB,2CAA2Cp9B,KAAKo9B,GAAW,GAAiBR,EAAG4lS,QAAxG,CALc,CAMhB,CCJe,SAASR,GAAe/9S,EAAKzhB,GAC1C,OCLa,SAAyByhB,GACtC,GAAIjhB,MAAMC,QAAQghB,GAAM,OAAOA,CACjC,CDGS,CAAeA,IELT,SAA+B9S,EAAGmoO,GAC/C,IAAIlmN,EAAI,MAAQjiB,EAAI,KAAO,oBAAsB0rB,QAAU1rB,EAAE0rB,OAAOC,WAAa3rB,EAAE,cACnF,GAAI,MAAQiiB,EAAG,CACb,IAAIxyB,EACFw8B,EACA56B,EACAujS,EACAtlS,EAAI,GACJwK,GAAI,EACJ2xB,GAAI,EACN,IACE,GAAIp6B,GAAK4wB,EAAIA,EAAElrB,KAAKiJ,IAAI6rB,KAAM,IAAMs8M,EAAG,CACrC,GAAIl4O,OAAOgyB,KAAOA,EAAG,OACrBnoB,GAAI,CACN,MAAO,OAASA,GAAKrK,EAAI4B,EAAE0F,KAAKkrB,IAAI6J,QAAUx8B,EAAEU,KAAKP,EAAE1B,OAAQuB,EAAElB,SAAW+5O,GAAIruO,GAAI,GACtF,CAAE,MAAOkG,GACPyrB,GAAI,EAAIQ,EAAIjsB,CACd,CAAE,QACA,IACE,IAAKlG,GAAK,MAAQmoB,EAAU,SAAM2yQ,EAAI3yQ,EAAU,SAAKhyB,OAAO2kS,KAAOA,GAAI,MACzE,CAAE,QACA,GAAInpQ,EAAG,MAAMQ,CACf,CACF,CACA,OAAO38B,CACT,CACF,CFrBgC,CAAqBwjB,EAAKzhB,IAAM,GAA2ByhB,EAAKzhB,IGLjF,WACb,MAAM,IAAI06B,UAAU,4IACtB,CHGsG,EACtG,CIDA,IAAIwjS,GAAY,CAAC,oBAAqB,oBAAqB,eAAgB,aAAc,aAAc,WAAY,gBAAiB,cAAe,aAAc,SCDlJ,SAASS,GAAmBl9S,GACzC,OCJa,SAA4BA,GACzC,GAAIjhB,MAAMC,QAAQghB,GAAM,OAAO,GAAiBA,EAClD,CDES,CAAkBA,IELZ,SAA0Bq9S,GACvC,GAAsB,qBAAXzkS,QAAmD,MAAzBykS,EAAKzkS,OAAOC,WAA2C,MAAtBwkS,EAAK,cAAuB,OAAOt+T,MAAM8oE,KAAKw1P,EACtH,CFGmC,CAAgBr9S,IAAQ,GAA2BA,IGLvE,WACb,MAAM,IAAIiZ,UAAU,uIACtB,CHG8F,EAC9F,CINA,IAAIi4Y,GAAYtma,OAAOjP,OACnB,SAAkBV,GACd,MAAwB,kBAAVA,GAAsBA,IAAUA,CAClD,EAUJ,SAASk2a,GAAeC,EAAWC,GAC/B,GAAID,EAAU91a,SAAW+1a,EAAW/1a,OAChC,OAAO,EAEX,IAAK,IAAIiD,EAAI,EAAGA,EAAI6ya,EAAU91a,OAAQiD,IAClC,GAdS0lE,EAcImtW,EAAU7ya,GAdP+ya,EAcWD,EAAW9ya,KAbtC0lE,IAAUqtW,GAGVJ,GAAUjtW,IAAUitW,GAAUI,IAW1B,OAAO,EAfnB,IAAiBrtW,EAAOqtW,EAkBpB,OAAO,CACX,CAyBA,SAvBA,SAAoBC,EAAUr+E,GAE1B,IAAIs+E,OADY,IAAZt+E,IAAsBA,EAAUi+E,IAEpC,IACIv7Y,EADA67Y,EAAW,GAEXC,GAAa,EAejB,OAdA,WAEI,IADA,IAAIC,EAAU,GACLpva,EAAK,EAAGA,EAAKC,UAAUlH,OAAQiH,IACpCova,EAAQpva,GAAMC,UAAUD,GAE5B,OAAImva,GAAcF,IAAatza,MAAQg1V,EAAQy+E,EAASF,KAGxD77Y,EAAa27Y,EAASrta,MAAMhG,KAAMyza,GAClCD,GAAa,EACbF,EAAWtza,KACXuza,EAAWE,GALA/7Y,CAOf,CAEJ,iv2CCvBA,IAAIg8Y,IAAkCp1J,EAAAA,EAAAA,aAAW,SAAU5wQ,EAAOk8D,GAChE,IAAI+pW,ENlBN,SAAyB7wG,GACvB,IAAI8wG,EAAwB9wG,EAAK+wG,kBAC7BA,OAA8C,IAA1BD,EAAmC,GAAKA,EAC5DE,EAAwBhxG,EAAKixG,kBAC7BA,OAA8C,IAA1BD,GAA2CA,EAC/DE,EAAoBlxG,EAAKn+T,aACzBA,OAAqC,IAAtBqva,EAA+B,KAAOA,EACrDC,EAAkBnxG,EAAKl6P,WACvBsrW,EAAkBpxG,EAAKqxG,WACvBC,EAAgBtxG,EAAKptG,SACrB2+M,EAAqBvxG,EAAKwxG,cAC1BC,EAAmBzxG,EAAK0xG,YACxBC,EAAkB3xG,EAAK4xG,WACvBC,EAAa7xG,EAAK/lU,MAClB63a,EAAkBl2G,GAAyBoE,EAAMvE,IAGjDs2G,EAAah1G,IADDrhD,EAAAA,EAAAA,eAA6BhhR,IAApBy2a,EAAgCA,EAAkBJ,GAChC,GACvCiB,EAAkBD,EAAW,GAC7BE,EAAqBF,EAAW,GAGhCG,EAAan1G,IADArhD,EAAAA,EAAAA,eAA6BhhR,IAApB02a,EAAgCA,EAAkBH,GAChC,GACxCkB,EAAkBD,EAAW,GAC7BE,EAAqBF,EAAW,GAGhCG,EAAat1G,IADArhD,EAAAA,EAAAA,eAAwBhhR,IAAfm3a,EAA2BA,EAAahwa,GACtB,GACxCmxY,EAAaq/B,EAAW,GACxBC,EAAgBD,EAAW,GAE3Bz/M,GAAWmqD,EAAAA,EAAAA,cAAY,SAAU9iR,EAAOs4a,GACb,oBAAlBjB,GACTA,EAAcr3a,EAAOs4a,GAGvBD,EAAcr4a,EAChB,GAAG,CAACq3a,IACAE,GAAgBz0J,EAAAA,EAAAA,cAAY,SAAU9iR,EAAOs4a,GAC/C,IAAIj3Z,EAE8B,oBAAvBi2Z,IACTj2Z,EAAWi2Z,EAAmBt3a,EAAOs4a,IAGvCN,OAAgCv3a,IAAb4gB,EAAyBA,EAAWrhB,EACzD,GAAG,CAACs3a,IACAK,GAAa70J,EAAAA,EAAAA,cAAY,WACI,oBAApB40J,GACTA,IAGFS,GAAmB,EACrB,GAAG,CAACT,IACAD,GAAc30J,EAAAA,EAAAA,cAAY,WACI,oBAArB00J,GACTA,IAGFW,GAAmB,EACrB,GAAG,CAACX,IACA3rW,OAAiCprE,IAApBy2a,EAAgCA,EAAkBa,EAC/DX,OAAiC32a,IAApB02a,EAAgCA,EAAkBe,EAC/Dl4a,OAAuBS,IAAfm3a,EAA2BA,EAAa7+B,EACpD,OAAOw/B,GAAeA,GAAe,CAAC,EAAGV,GAAkB,CAAC,EAAG,CAC7DhsW,WAAYA,EACZurW,WAAYA,EACZz+M,SAAUA,EACV4+M,cAAeA,EACfE,YAAaA,EACbE,WAAYA,EACZ33a,MAAOA,GAEX,CMvDwBw4a,CAAgB7na,GACtC,OAAoBk/T,EAAAA,cAAoB4oG,GAAQ98D,EAAS,CACvD9uS,IAAKA,GACJ+pW,GACL,IAsCA,YCnBA,MACA,GAAe,IAA0B,6DCDzC,MACA,GAAe,IAA0B,6DCDzC,MACA,GAAe,IAA0B,+DCDzC,MACA,GAAe,IAA0B,6DCAzC,MACA,GAAe,IAA0B,iECyXzC,GAzZiB8B,KAEb,MAAMC,GAAUv2J,EAAAA,EAAAA,WACTw2J,EAAUvO,IAAe5oJ,EAAAA,EAAAA,aACzBo3J,EAAUC,IAAer3J,EAAAA,EAAAA,aACzBs3J,EAAmBC,IAAwBv3J,EAAAA,EAAAA,UAAS,KACpDw3J,EAAcC,IAAmBz3J,EAAAA,EAAAA,UAAS,KAC1C2qJ,EAAWC,IAAgB5qJ,EAAAA,EAAAA,WAAS,IACpC6qJ,EAAa6M,IAAkB13J,EAAAA,EAAAA,WAAS,IACxC23J,EAAYC,IAAiB53J,EAAAA,EAAAA,WAAS,IACtCt7Q,EAAMwjG,IAAW83K,EAAAA,EAAAA,UAAS,KAC1B63J,EAAYC,IAAiB93J,EAAAA,EAAAA,UAAS,KACtC+3J,EAASC,IAAch4J,EAAAA,EAAAA,UAAS,CAAC,YACjCi4J,EAASC,IAAcl4J,EAAAA,EAAAA,UAAS,KAChC51M,EAAY+tW,IAAiBn4J,EAAAA,EAAAA,UAAS,CAAEzhR,MAAO,SAAU6mE,MAAO,YAChEgzW,EAAaC,IAAkBr4J,EAAAA,EAAAA,WAAS,IAExCn8Q,EAAQ48E,IAAau/L,EAAAA,EAAAA,WAAS,IAC9Bs4J,EAAYC,IAAiBv4J,EAAAA,EAAAA,WAAS,GAQvCw4J,GAAcn3J,EAAAA,EAAAA,cAAY,KAC5Bk2J,EAAqB,CACjB9/Z,KAAM,EACNmB,SAAU,IACVwyL,UAAU,EACVvnM,QAAQ,EACR6Y,WAAW,EACXd,UAAU,EACVywH,aAAc,CAAC,MAAO,UAG1BorS,EAAgB,CACZ,CACIzkZ,WAAY,eACZruB,MAAO,cAEPgjL,iBAAiB,EACjB5uK,SAAU,KAGd,CACIia,WAAY,UACZruB,MAAO,OAEPgjL,iBAAiB,EACjB/uK,SAAU,IACVG,SAAU,KAEd,CACIia,WAAY,SACZruB,MAAO,SAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,eACZruB,MAAO,wBAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,MACZruB,MAAO,MAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,MACZruB,MAAO,MAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,MACZruB,MAAO,MAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,MACZruB,MAAO,MAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,MACZruB,MAAO,MAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,MACZruB,MAAO,MAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,MACZruB,MAAO,MAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,oBACZruB,MAAO,oBAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,KACZruB,MAAO,KAEPgjL,iBAAiB,EACjBxwK,MAAM,EAENrE,KAAM,kBAKb,GACF,KAWHwvQ,EAAAA,EAAAA,YAAU,KACam2J,MACf,IAAIC,EAAQb,EAERE,EAAQn5a,OAAS,IACjB85a,EAAQA,EAAM70a,QAAOyG,GAAKyta,EAAQhvZ,MAAK5O,GAAQA,EAAKkK,SAAS/Z,EAAEspE,YAC/D6M,GAAU,IAKE,KAAZw3V,IACAS,EAAQA,EAAM70a,QAAOyG,GAAKA,EAAEiha,sBAAsB7xY,cAAcrV,SAAS4zZ,EAAQv+Y,gBAAkBpvB,EAAEwga,YAAYpxY,cAAcrV,SAAS4zZ,EAAQv+Y,gBAAkBpvB,EAAErD,KAAKyyB,cAAcrV,SAAS4zZ,EAAQv+Y,iBACxM+mD,GAAU,IAIS,IAAnBs3V,EAAQn5a,QAA4B,KAAZq5a,GAExBx3V,GAAU,GAGdynB,EAAQwwU,EAAM,EAGlBD,EAAY,GACb,CAACV,EAASE,EAASJ,KA2CtBv1J,EAAAA,EAAAA,YAAU,KACNk2J,GAAa,GACd,CAACA,KAEJl2J,EAAAA,EAAAA,YAAU,KACc3wQ,iBACV84R,GAAK23E,OAAO,uBAAuB79S,MAAMzhE,IAC3Cg1a,EAAch1a,GACdolG,EAAQplG,EAAI,GAGd,EAEN61a,GACA3wa,YAAW,KACP4va,GAAc,EAAM,GACrB,CAAC,KAAM,GAEX,CAACT,IAEJ,MAAMyB,GAAcv3J,EAAAA,EAAAA,cAAY,KAC5B61J,EAAQ53J,QAAQrkQ,IAAI4zK,iBAAiB,GACtC,IAkCH,OAEI2vL,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,EAGIwyV,EAAAA,GAAAA,KAAC/R,GAAU,CAACv3R,UAAU,YAAWlpD,UAC7Bs4V,EAAAA,GAAAA,MAACngB,GAAG,CAAAn4U,SAAA,EACAs4V,EAAAA,GAAAA,MAACvf,GAAG,CAACjB,GAAG,KAAKC,GAAG,IAAI7uR,UAAU,cAAalpD,SAAA,EAEvCwyV,EAAAA,GAAAA,KAAC2D,GAAkB,CAACjqW,KAAM,GAAIg9D,UAAU,OAAOgvJ,MAAM,YAAY,YACjEs6I,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,kBAAiBlpD,SAAC,2BAGtCs4V,EAAAA,GAAAA,MAACvf,GAAG,CAACjB,GAAG,KAAKC,GAAG,IAAI7uR,UAAU,gBAAelpD,SAAA,EACzCwyV,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3uV,KAAK,KAAKgsN,MAAM,oBAAoBhvJ,UAAU,gBAAgBtV,MAAO,CAAEC,OAAQ,QAAU66P,QAASA,IAAM2jH,GAAeD,GAAYpyZ,SACtIriB,GAEG60W,EAAAA,GAAAA,KAAA,OAAKvzV,IAAK0zZ,GAAav/P,IAAI,oBAG3Bo/L,EAAAA,GAAAA,KAAA,OAAKvzV,IAAK2zZ,GAASx/P,IAAI,cAK/Bo/L,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3uV,KAAK,KAAKgsN,MAAM,oBAAoBhvJ,UAAU,gBAAgBtV,MAAO,CAAEC,OAAQ,QAAU66P,QAASA,IAAMgkH,IAAc1yZ,UAC1HwyV,EAAAA,GAAAA,KAAA,OAAKvzV,IAAKupP,GAAUp1F,IAAI,wBASxCo/L,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,kBAAiBlpD,UAC5BwyV,EAAAA,GAAAA,KAACra,GAAG,CAAAn4U,UACAwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAI93U,SAEPyxZ,GACGj/D,EAAAA,GAAAA,KAAClS,GAAQ,CAAC1sS,MAAO,CAAEC,OAAQ,SAAU7zC,UACjCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,yBAAwBlpD,UACnCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,cAAalpD,UACxBwyV,EAAAA,GAAAA,KAACL,GAAO,WAKpBmG,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,CAEKoyZ,IACG5/D,EAAAA,GAAAA,KAACtS,GAAI,CAACh3R,UAAU,iBAAgBlpD,UAC5BwyV,EAAAA,GAAAA,KAAClS,GAAQ,CAAC1sS,MAAO,CAAEykK,gBAAiB,WAAYr4M,UAE5Cs4V,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,yBAAwBlpD,SAAA,EACnCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAKC,GAAG,IAAI/0C,GAAG,IAAI95O,UAAU,OAAMlpD,UACvCs4V,EAAAA,GAAAA,MAAC5J,GAAU,CAAA1uV,SAAA,EACPwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,OAAOvU,MAAO05a,EAAS7oW,UAAU,oBAAoBnoE,KAAK,UAAUktC,GAAG,UAAUwqC,YAAY,oBAAoBu4I,SAxJ3Jj3N,IAClBoF,QAAQyF,IAAI7K,EAAEsD,OAAOhF,OACrB,IAAIw6a,EAAc94a,EAAEsD,OAAOhF,MAGvB25a,EADgB,KAAhBa,EACWA,EAIA,GACf,KA+IgDrgE,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3uV,KAAK,KAAKgsN,MAAM,GAAGhvJ,UAAU,WAAWwlP,QAASA,IAAMsjH,EAAW,IAAIhyZ,UAC1EwyV,EAAAA,GAAAA,KAAA,OAAKvzV,IAAK6zD,GAAQsgG,IAAI,mBAIlCo/L,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAKC,GAAG,IAAI/0C,GAAG,IAAI95O,UAAU,OAAMlpD,UACvCwyV,EAAAA,GAAAA,KAACs+D,GAAM,CAAC5nW,UAAU,oBAAoB4pW,mBAAmB,EAAO3sZ,QA7T/F,CACb,CAAE9tB,MAAO,SAAU6mE,MAAO,UAC1B,CAAE7mE,MAAO,YAAa6mE,MAAO,aAC7B,CAAE7mE,MAAO,SAAU6mE,MAAO,WA0TqG6zW,SAAS,EAAM/hN,SAtM7HgiN,CAACj5a,EAAGk0C,KAEP,cADFA,EAAGltC,OAGX+wa,EAAW31a,MAAMC,QAAQrC,GAAKA,EAAEkL,KAAIs4D,GAAKA,EAAEllE,QAAS,IACpD45a,EAAcl4a,GAClB,EAgMsKgH,KAAK,YAG3Hd,aAAcikE,EACd7rE,MAAO6rE,EAEPuU,YAAa,iBAErB+5R,EAAAA,GAAAA,KAACzZ,GAAG,CAAC7vR,UAAU,WAAUlpD,UACrBs4V,EAAAA,GAAAA,MAACzd,GAAM,CAAC3uV,KAAK,KAAKgsN,MAAM,GAAGhvJ,UAAU,WAAWj7B,GAAG,iBAAiBygR,QAASA,KAxJzHyjH,GAAe,GACfE,GAAc,GACd93V,GAAU,GACVynB,EAAQ2vU,GACRM,EAAc,CAAE55a,MAAO,SAAU6mE,MAAO,WAExC4yW,EAAW,CAAC,gBAEZE,EAAW,KAgJuIhyZ,SAAA,EAClGwyV,EAAAA,GAAAA,KAAA,OAAKvzV,IAAKg0Z,GAAW7/P,IAAI,YACzBo/L,EAAAA,GAAAA,KAAC7F,GACG,CACAtR,OAAQ62E,EACR70a,OAAO,iBACP84D,OAhVzCA,IAAMg8W,GAAgBD,GAiVmB5qY,UAAW,SAAStnB,SACvB,yCAiBzBwyV,EAAAA,GAAAA,KAAClS,GAAQ,CAAC1sS,MAAO,CAAEC,OAAQ,SAAU7zC,UACjCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,kBAAkBtV,MAAO,CAAEC,OAAQ,OAAQx/C,MAAO,QAAS2L,UACtEwyV,EAAAA,GAAAA,KAAC//F,GAAAA,YAAW,CACRvtM,IAAK8rW,EACLxwS,QAAShiI,EACTw6B,WAAYs4Y,EACZpqS,sBAAsB,mBACtBl7G,cAAeolZ,EACf3tS,YAAY,EAEZzO,aAAc,SAEd/yE,mBAAoB,GAEpBixX,mBAhJb/mU,KACvB,MAAMylI,EAAeo/L,EAAQ53J,QAAQrkQ,IAAIq5K,kBACb,IAAxBwjD,EAAal5O,SACby4a,EAAYv/L,EAAa,GAAG3jM,IArChCy2X,GAAcD,GA4Cd,iBAuJKA,IAAajyD,EAAAA,GAAAA,KAAC2gE,GAAW,CAACllY,GAAIijY,EAAU1O,WA/L9BA,KACfkC,GAAaD,IAAa,IAE1B+M,GAAgB7M,EAAY,EA4LyClC,eAAe,EAAMC,YAAaA,MAGpG,ECpGX,GAxTkBtkG,IAAoF,IAAnF,WAAEokG,EAAU,cAAEC,EAAa,aAAE2Q,EAAY,UAAEC,EAAS,SAAEC,EAAQ,YAAEC,GAAan1G,EAE5F,MAAM4yG,GAAUv2J,EAAAA,EAAAA,WACT+4J,EAAYC,IAAiB35J,EAAAA,EAAAA,UAAS,KACtCs3J,EAAmBC,IAAwBv3J,EAAAA,EAAAA,UAAS,KACpDw3J,EAAcC,IAAmBz3J,EAAAA,EAAAA,UAAS,KAC1C2qJ,EAAWC,IAAgB5qJ,EAAAA,EAAAA,UAAS2oJ,IACpCgP,EAAYC,IAAiB53J,EAAAA,EAAAA,WAAS,GAEvC50B,GAAei2B,EAAAA,EAAAA,cAAar5M,GAEtBA,EACHtE,QAAQ,GACR35D,QAAQ,0BAA2B,QACzC,IACG6va,GAAoBv4J,EAAAA,EAAAA,cAAa72Q,GAC5B4gP,EAAa5gP,EAAOjM,QAE5B,CAAC6sP,IAEEy/K,EAAcA,KAChBnC,IACAkC,GAAaD,IAAcA,GAAU,EAGnCkP,GAAgBx4J,EAAAA,EAAAA,cAAa72Q,IAC/B,GAAI+ua,EAGA,OAFuB/ua,EAAO2Q,UAAUoqB,yBACC,KAAO/6B,EAAOuQ,MAE3D,GAED,CAACw+Z,IA2BEf,GAAcn3J,EAAAA,EAAAA,cAAY,KAC5Bk2J,EAAqB,CACjB9/Z,KAAM,EACNmB,SAAU,IACVwyL,UAAU,EACVvnM,QAAQ,EACR6Y,WAAW,EACXd,UAAU,EACVywH,aAAc,CAAC,MAAO,QACtBu9D,wBAAyBiwO,EACzBv9Z,kBAAmBu9Z,IAKvBpC,EAAgB,CACZ,CACIzkZ,WAAY,aACZruB,MAAO,YAEPgjL,iBAAiB,EACjB5uK,SAAU,IACVuD,kBAAmBi9Z,GAEvB,CACIvmZ,WAAY,YACZruB,MAAO,WAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,SACZruB,MAAO,mBAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,UACZruB,MAAO,WAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,QACZruB,MAAO,eAEPgjL,iBAAiB,EACjB5uK,SAAU,IACVo1M,eAAgByrN,EAChB/1a,OAAQ,uBACRiP,KAAM,iBAGV,CACIkgB,WAAY,QACZruB,MAAO,WAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,OACZruB,MAAO,OAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,QACZruB,MAAO,4BAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,oBACZruB,MAAO,oBAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,KACZruB,MAAO,KAEPgjL,iBAAiB,EACjBxwK,MAAM,EAENrE,KAAM,kBAKb,GACF,CAAC8ma,EAAmBL,EAAWM,IAyBlC,OAvBAv3J,EAAAA,EAAAA,YAAU,KACNk2J,GAAa,GACd,CAACA,KAEJl2J,EAAAA,EAAAA,YAAU,KACc3wQ,iBACV84R,GAAK23E,OAAO,oBAAoB79S,MAAMzhE,IACxC62a,EAAc72a,EAAI,GACpB,EAEN61a,GACA3wa,YAAW,KACP4va,GAAc,EAAM,GACrB,CAAC,KAAM,GACX,KAUCl/D,EAAAA,GAAAA,KAAAC,GAAAA,SAAA,CAAAzyV,SACMozZ,GAkEE96D,EAAAA,GAAAA,MAACtiB,GAAK,CAACqF,OAAQopE,EAAWv4Z,KAAK,KAAKiqD,OAAQwuW,EAAap7D,SAAS,SAAQvpV,SAAA,EACtEwyV,EAAAA,GAAAA,KAAClG,GAAW,CAACpjS,UAAU,WAAW/S,OAAQwuW,EAAY3kZ,UAACwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,cAAalpD,SAAC,qBACnFyxZ,GACGj/D,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,6BAA4BlpD,UACvCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,cAAalpD,UACxBwyV,EAAAA,GAAAA,KAACL,GAAO,SAIhBmG,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,EACIwyV,EAAAA,GAAAA,KAAC/F,GAAS,CAAAzsV,UACNwyV,EAAAA,GAAAA,KAACra,GAAG,CAAAn4U,UACAwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAI93U,SACPyxZ,GACGj/D,EAAAA,GAAAA,KAAClS,GAAQ,CAAC1sS,MAAO,CAAEC,OAAQ,SAAU7zC,UACjCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,yBAAwBlpD,UACnCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,cAAalpD,UACxBwyV,EAAAA,GAAAA,KAACL,GAAO,WAKpBK,EAAAA,GAAAA,KAAAC,GAAAA,SAAA,CAAAzyV,UACIwyV,EAAAA,GAAAA,KAAA,OAAK5+S,MAAO,CAAEC,OAAQ,SAAU7zC,UAC5BwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,kBAAkBtV,MAAO,CAAEC,OAAQ,OAAQx/C,MAAO,QAAS2L,UACtEwyV,EAAAA,GAAAA,KAAC//F,GAAAA,YAAW,CACRvtM,IAAK8rW,EACLxwS,QAASgzS,EACTx6Y,WAAYs4Y,EACZpqS,sBAAsB,mBACtBl7G,cAAeolZ,EACf3tS,YAAY,EACZzO,aAAc,WACdI,wBAAyBi+S,EAEzBpxX,mBAAoB,kBAapDq2T,EAAAA,GAAAA,MAAC5L,GAAW,CAAA1sV,SAAA,CACPqzZ,IACG7gE,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3iI,MAAM,UAAUhsN,KAAK,KAAKg9D,UAAU,mBAAmBwlP,QAzQxEklH,KACnB,IAAI10R,EAAgB8xR,EAAQ53J,QAAQrkQ,IAAIq5K,kBACxCjvL,QAAQyF,IAAIzJ,KAAKC,UAAU8jJ,GAAexmJ,QACG,IAAzCyC,KAAKC,UAAU8jJ,GAAexmJ,QAE9B66a,GAAY,GACZ5O,IACApgI,GAAKl4R,IAAI,2BAA4B6yI,GAAe7gF,MAAK,KAGrDkmO,GAAK23E,OAAO,6BAA6B79S,MAAK,KAG1Ck1W,GAAY,EAAM,GACpB,KAIN9N,MAAM,+BACV,EAsPmHzlZ,SAAC,YAE5FwyV,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3iI,MAAM,YAAYhsN,KAAK,KAAKg9D,UAAU,mBAAmBwlP,QAASi2G,EAAY3kZ,SAAC,oBArHvGs4V,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,EAEIwyV,EAAAA,GAAAA,KAAC/R,GAAU,CAACv3R,UAAU,YAAWlpD,UAC7BwyV,EAAAA,GAAAA,KAACra,GAAG,CAAAn4U,UACAs4V,EAAAA,GAAAA,MAACvf,GAAG,CAACjB,GAAG,KAAKC,GAAG,IAAI7uR,UAAU,cAAalpD,SAAA,EACvCwyV,EAAAA,GAAAA,KAACkD,GAAiB,CAACxpW,KAAM,GAAIg9D,UAAU,OAAOgvJ,MAAM,YAAY,YAChEs6I,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,kBAAiBlpD,SAAC,2BAK9CwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,kBAAiBlpD,UAC5BwyV,EAAAA,GAAAA,KAACra,GAAG,CAAAn4U,UACAwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAI93U,SACPyxZ,GACGj/D,EAAAA,GAAAA,KAAClS,GAAQ,CAAC1sS,MAAO,CAAEC,OAAQ,SAAU7zC,UACjCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,yBAAwBlpD,UACnCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,cAAalpD,UACxBwyV,EAAAA,GAAAA,KAACL,GAAO,WAKpBK,EAAAA,GAAAA,KAAAC,GAAAA,SAAA,CAAAzyV,UAMIwyV,EAAAA,GAAAA,KAAClS,GAAQ,CAAC1sS,MAAO,CAAEC,OAAQ,SAAU7zC,UACjCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,kBAAkBtV,MAAO,CAAEC,OAAQ,OAAQx/C,MAAO,QAAS2L,UACtEwyV,EAAAA,GAAAA,KAAC//F,GAAAA,YAAW,CACRvtM,IAAK8rW,EACLxwS,QAASgzS,EACTx6Y,WAAYs4Y,EACZpqS,sBAAsB,mBACtBl7G,cAAeolZ,EACf3tS,YAAY,EAEZzO,aAAc,SAEd/yE,mBAAoB,qBAkF7D,EC9QX,MACA,GAAe,IAA0B,8DC2OzC,GAnRmBm8Q,IAAqD,IAApD,GAAEnwR,EAAE,WAAEu0X,EAAU,cAAEC,EAAa,YAAEC,GAAatkG,EAE9D,MAAOukG,EAASC,IAAc9oJ,EAAAA,EAAAA,UAAS,KAChC+oJ,EAASC,IAAchpJ,EAAAA,EAAAA,UAAS,KAChCipJ,EAASC,IAAclpJ,EAAAA,EAAAA,UAAS,KAChCmpJ,EAASC,IAAcppJ,EAAAA,EAAAA,UAAS,KAChCqpJ,EAASC,IAActpJ,EAAAA,EAAAA,UAAS,KAChCupJ,EAASC,IAAcxpJ,EAAAA,EAAAA,UAAS,KAChCypJ,EAASC,IAAc1pJ,EAAAA,EAAAA,UAAS,KAEhC6pJ,EAASC,IAAc9pJ,EAAAA,EAAAA,aACvB+5J,EAASC,IAAch6J,EAAAA,EAAAA,WAAS,IAChC+pJ,EAASC,IAAchqJ,EAAAA,EAAAA,UAAS,KAEhCiqJ,EAASC,IAAclqJ,EAAAA,EAAAA,UAAS,KAEhCyqJ,EAASC,IAAc1qJ,EAAAA,EAAAA,WAAS,IAChC2qJ,EAAWC,IAAgB5qJ,EAAAA,EAAAA,UAAS2oJ,GACrCvgU,EAAa,CAAC,EAEdyiU,EAAcA,KAChBD,GAAaD,IAAcA,IAE3BjC,GAAY,EAgBV1jD,EAAgB/kX,IAMI,SAAlBA,EAAEsD,OAAO0D,MACT+ha,EAAW/oa,EAAEsD,OAAOhF,OAGF,SAAlB0B,EAAEsD,OAAO0D,MACTiia,EAAWjpa,EAAEsD,OAAOhF,OAGF,gBAAlB0B,EAAEsD,OAAO0D,MACTmia,EAAWnpa,EAAEsD,OAAOhF,OAIF,aAAlB0B,EAAEsD,OAAO0D,MACTqia,EAAWrpa,EAAEsD,OAAOhF,OAIF,gBAAlB0B,EAAEsD,OAAO0D,MACTuia,EAAWvpa,EAAEsD,OAAOhF,OAIF,oBAAlB0B,EAAEsD,OAAO0D,MACTyia,EAAWzpa,EAAEsD,OAAOhF,OAIF,YAAlB0B,EAAEsD,OAAO0D,MACTija,EAAWjqa,EAAEsD,OAAOhF,OAIF,WAAlB0B,EAAEsD,OAAO0D,MACT+ia,EAAW/pa,EAAEsD,OAAOhF,OAIF,YAAlB0B,EAAEsD,OAAO0D,OAELhH,EAAEsD,OAAOm/D,SAETonW,EAAW,GACXkQ,GAAW,KAIXlQ,EAAW,GACXkQ,GAAW,KAsBnB7uZ,SAASy+V,eAAe3pX,EAAEsD,OAAO4wC,IAAI2lB,MAAMspT,OAAS,mBAAmB,EAuD3E,OApDA9gG,EAAAA,EAAAA,YAAU,KAKkB3wQ,iBACV84R,GAAK23E,OAAO,cAAgBjuU,GAAIowB,MAAMzhE,IACxCgma,EAAWhma,EAAIq6O,KACf6rL,EAAWlma,EAAIm3a,UACf/Q,EAAWpma,EAAImE,MACfmia,EAAWtma,EAAI0iE,aACf8jW,EAAWxma,EAAIo3a,UACf1Q,EAAW1ma,EAAIq3a,aACfzQ,EAAW5ma,EAAIs3a,iBAGflQ,EAAWpna,EAAI+rR,SAGK,IAAhB/rR,EAAIpE,SACJs7a,GAAW,GACXlQ,EAAW,KAIXkQ,GAAW,GACXlQ,EAAW,IAGI,IAAfhna,EAAIu3a,OACJrQ,EAAW,GAIXA,EAAW,GAGfU,GAAW,EAAM,GACnB,EAGNc,EAOK,GACV,CAACr3X,KAIAukU,EAAAA,GAAAA,KAAAC,GAAAA,SAAA,CAAAzyV,UACIs4V,EAAAA,GAAAA,MAACtiB,GAAK,CAACqF,OAAQopE,EAAWv4Z,KAAK,KAAKiqD,OAAQwuW,EAAap7D,SAAS,SAAQvpV,SAAA,EACtEwyV,EAAAA,GAAAA,KAAClG,GAAW,CAACpjS,UAAU,WAAW/S,OAAQwuW,EAAY3kZ,UAACwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,cAAalpD,SAAC,uBACnFukZ,GACG/xD,EAAAA,GAAAA,KAAC+yD,GAAW,KAEZjtD,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,EACIwyV,EAAAA,GAAAA,KAAC/F,GAAS,CAAAzsV,UACNs4V,EAAAA,GAAAA,MAACzK,GAAS,CAAA7tV,SAAA,EASNs4V,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAC,YAElCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,OAAOypD,UAAQ,EAAC6S,UAAU,oBAAoBnoE,KAAK,OAAOktC,GAAG,OAAOwqC,YAAY,GAAGx4E,aAAc4ia,EAAS7xM,SAAU8tJ,UAGxIxG,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAC,YAElCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,OAAOypD,UAAQ,EAAC6S,UAAU,oBAAoBnoE,KAAK,OAAOktC,GAAG,OAAOwqC,YAAY,GAAGx4E,aAAc8ia,EAAS/xM,SAAU8tJ,UAGxIxG,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAC,mBAElCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,OAAOypD,UAAQ,EAAC6S,UAAU,oBAAoBnoE,KAAK,cAAcktC,GAAG,cAAcwqC,YAAY,GAAGx4E,aAAcgja,EAASjyM,SAAU8tJ,UAGtJxG,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAC,gBAElCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,OAAOypD,UAAQ,EAAC6S,UAAU,aAAanoE,KAAK,WAAWktC,GAAG,WAAWwqC,YAAY,GAAGpgF,MAAO8qa,EAASnyM,SAAU8tJ,UAGlIxG,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAC,mBAElCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,OAAOypD,UAAQ,EAAC6S,UAAU,aAAanoE,KAAK,cAAcktC,GAAG,cAAcwqC,YAAY,GAAGpgF,MAAOgra,EAASryM,SAAU8tJ,UAGxIxG,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAC,uBAElCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,OAAOypD,UAAQ,EAAC6S,UAAU,aAAanoE,KAAK,kBAAkBktC,GAAG,kBAAkBwqC,YAAY,GAAGpgF,MAAOkra,EAASvyM,SAAU8tJ,UAGhJxG,EAAAA,GAAAA,MAACngB,GAAG,CAAAn4U,SAAA,EACAwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAC,eAElCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,WAAW4vD,QAASq3W,EAAS9ya,KAAK,UAAUktC,GAAG,UAAUi7B,UAAU,cAAc8nJ,SAAU8tJ,UAa/GxG,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAC,eAElCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,OAAOy7E,UAAW,GAAInf,UAAU,aAAanoE,KAAK,UAAUktC,GAAG,UAAUwqC,YAAY,GAAGpgF,MAAO0ra,EAAS/yM,SAAU8tJ,eAK9IxG,EAAAA,GAAAA,MAAC5L,GAAW,CAAA1sV,SAAA,EACRwyV,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3iI,MAAM,UAAUhsN,KAAK,KAAKg9D,UAAU,mBAAmBwlP,QAASA,KA9O5FxsN,EAAW+0I,IAAM0rL,EACjBzgU,EAAW1pG,QAAUmra,EACrBzhU,EAAWiyU,OAAStQ,EACpB3hU,EAAWymL,QAAUo7I,OAErBx/H,GAAKpiM,OAAO,kBAAoBl0D,EAAIi0D,GAAY7jC,MAAMzhE,IAClD8la,GAAY,IAAI7/Z,MAAOC,WACvB6ha,GAAa,KAuO8F3kZ,SAAC,UAC5FwyV,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3iI,MAAM,YAAYhsN,KAAK,KAAKg9D,UAAU,mBAAmBwlP,QAASi2G,EAAY3kZ,SAAC,qBAKxG,ECyNX,GA9dYo0Z,KAER,MAAMpD,GAAUv2J,EAAAA,EAAAA,WAET22J,EAAmBC,IAAwBv3J,EAAAA,EAAAA,UAAS,KACpDw3J,EAAcC,IAAmBz3J,EAAAA,EAAAA,UAAS,KAC1Cm3J,EAAUvO,IAAe5oJ,EAAAA,EAAAA,aACzB23J,EAAYC,IAAiB53J,EAAAA,EAAAA,WAAS,IACtCo3J,EAAUC,IAAer3J,EAAAA,EAAAA,aACzB2qJ,EAAWC,IAAgB5qJ,EAAAA,EAAAA,WAAS,IACpC6qJ,EAAa6M,IAAkB13J,EAAAA,EAAAA,WAAS,IACxCn8Q,EAAQ48E,IAAau/L,EAAAA,EAAAA,WAAS,IAG9Bi4J,EAASC,IAAcl4J,EAAAA,EAAAA,UAAS,KAChCu6J,EAASC,IAAcx6J,EAAAA,EAAAA,UAAS,KAChCy6J,EAASC,IAAc16J,EAAAA,EAAAA,UAAS,CAAC,QACjCs4J,EAAYC,IAAiBv4J,EAAAA,EAAAA,WAAS,IAEtC26J,EAAaC,IAAkB56J,EAAAA,EAAAA,UAAS,KACxC66J,EAAaC,IAAkB96J,EAAAA,EAAAA,UAAS,CAAEzhR,MAAO,KAAM6mE,MAAO,gBAG9DyyW,EAAYC,IAAiB93J,EAAAA,EAAAA,UAAS,KACtCt7Q,EAAMwjG,IAAW83K,EAAAA,EAAAA,UAAS,KAE1Bo4J,EAAaC,IAAkBr4J,EAAAA,EAAAA,WAAS,GAazC50B,GAAei2B,EAAAA,EAAAA,cAAar5M,GAEtBA,EACHtE,QAAQ,GACR35D,QAAQ,0BAA2B,QACzC,IACG6va,GAAoBv4J,EAAAA,EAAAA,cAAa72Q,GAC5B4gP,EAAa5gP,EAAOjM,QAE5B,CAAC6sP,IAYEotL,GAAcn3J,EAAAA,EAAAA,cAAY,KAC5Bk2J,EAAqB,CACjB9/Z,KAAM,EACNmB,SAAU,IACVwyL,UAAU,EACVvnM,QAAQ,EACR6Y,WAAW,EACXd,UAAU,EACVywH,aAAc,CAAC,MAAO,UAK1BorS,EAAgB,CACZ,CACIzkZ,WAAY,OACZruB,MAAO,WAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,OACZruB,MAAO,WAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,OACZruB,MAAO,OAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,cACZruB,MAAO,cAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,WACZruB,MAAO,WAEPgjL,iBAAiB,EACjB5uK,SAAU,IACVo1M,eAAgByrN,EAChB/1a,OAAQ,uBACRiP,KAAM,iBAGV,CACIkgB,WAAY,cACZruB,MAAO,cACPgjL,iBAAiB,EACjB5uK,SAAU,IACVo1M,eAAgByrN,EAChB/1a,OAAQ,uBACRiP,KAAM,iBAGV,CACIkgB,WAAY,YACZruB,MAAO,kBACPgjL,iBAAiB,EACjB5uK,SAAU,IACVo1M,eAAgByrN,EAChB/1a,OAAQ,uBACRiP,KAAM,iBAGV,CACIkgB,WAAY,UACZruB,MAAO,UACPgjL,iBAAiB,EACjB5uK,SAAU,IACVlV,OAAQ,uBACRiP,KAAM,iBAGV,CACIkgB,WAAY,SACZruB,MAAO,SACPgjL,iBAAiB,EACjBxwK,MAAM,EACN4B,SAAU,IACVlV,OAAQ,uBACRiP,KAAM,iBAGV,CACIkgB,WAAY,UACZruB,MAAO,UACPoU,SAAU,IACV4uK,iBAAiB,GAErB,CACI30J,WAAY,KACZruB,MAAO,KACPgjL,iBAAiB,EACjBxwK,MAAM,EACNrE,KAAM,iBAEV,CACIkgB,WAAY,QACZruB,MAAO,QACPgjL,iBAAiB,EACjBxwK,MAAM,EACNrE,KAAM,kBAGb,GACF,CAAC8ma,KAEJt3J,EAAAA,EAAAA,YAAU,KACNk2J,GAAa,GACd,CAACA,KAEJl2J,EAAAA,EAAAA,YAAU,KACam2J,MACf,IAAIC,EAAQb,EAEI,KAAZI,IACAS,EAAQA,EAAM70a,QAAOyG,GAAKA,EAAEk7D,YAAY9rC,cAAcrV,SAAS4zZ,EAAQv+Y,iBACvE+mD,GAAU,IAUV85V,EAAQ37a,OAAS,IACjB85a,EAAQA,EAAM70a,QAAOyG,GAAKiwa,EAAQxxZ,MAAK5O,GAAQA,EAAKkK,SAAS/Z,EAAEywa,cAC/Dt6V,GAAU,IAEVg6V,EAAQ77a,OAAS,IACjB85a,EAAQA,EAAM70a,QAAOyG,GAAKA,EAAEukR,QAAQn1P,gBAAkB+gZ,EAAQ,KAC9Dh6V,GAAU,IAGE,KAAZw3V,GAAqC,IAAnBsC,EAAQ37a,QAAmC,IAAnB67a,EAAQ77a,QAElD6hF,GAAU,GAGdynB,EAAQwwU,EAAM,EAIlBD,EAAY,GACb,CAACR,EAASsC,EAAS1C,EAAY4C,KAElCn4J,EAAAA,EAAAA,YAAU,KACc3wQ,iBACV84R,GAAK23E,OAAO,cAAc79S,MAAMzhE,IAClCg1a,EAAch1a,GACdolG,EAAQplG,EAAI,GACd,EAGN61a,GAEA3wa,YAAW,KACP4va,GAAc,EAAM,GACrB,CAAC,KAAM,GAEX,CAACT,IAEJ,MAAMyB,GAAcv3J,EAAAA,EAAAA,cAAY,KAC5B61J,EAAQ53J,QAAQrkQ,IAAI4zK,iBAAiB,GACtC,IA4BGqqP,EAAeA,CAACj5a,EAAGk0C,KASrB,IAAI6mY,EAAQ7mY,EAAGltC,KACD,YAAV+za,IACAR,EAAWn4a,MAAMC,QAAQrC,GAAKA,EAAEkL,KAAIs4D,GAAKA,EAAEllE,QAAS,IACpDq8a,EAAe36a,IAIL,UAAV+6a,IACAN,EAAWr4a,MAAMC,QAAQrC,GAAKA,EAAEkL,KAAIs4D,GAAKA,EAAEllE,QAAS,IACpDu8a,EAAe76a,GAEnB,EA6BJ,OACIy4W,EAAAA,GAAAA,KAAAC,GAAAA,SAAA,CAAAzyV,UAEIs4V,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,EACIwyV,EAAAA,GAAAA,KAAC/R,GAAU,CAACv3R,UAAU,YAAWlpD,UAC7Bs4V,EAAAA,GAAAA,MAACngB,GAAG,CAAAn4U,SAAA,EACAs4V,EAAAA,GAAAA,MAACvf,GAAG,CAACjB,GAAG,KAAKC,GAAG,IAAI7uR,UAAU,cAAalpD,SAAA,EACvCwyV,EAAAA,GAAAA,KAAC6D,GAAoB,CAACnqW,KAAM,GAAIg9D,UAAU,OAAOgvJ,MAAM,YAAY,YACnEs6I,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,kBAAiBlpD,SAAC,qBAItCs4V,EAAAA,GAAAA,MAACvf,GAAG,CAACjB,GAAG,KAAKC,GAAG,IAAI7uR,UAAU,gBAAelpD,SAAA,EACzCwyV,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3uV,KAAK,KAAKgsN,MAAM,oBAAoBhvJ,UAAU,gBAAgBtV,MAAO,CAAEC,OAAQ,QAAU66P,QAASA,IAAM2jH,GAAeD,GAAYpyZ,SACtIriB,GAEG60W,EAAAA,GAAAA,KAAA,OAAKvzV,IAAK0zZ,GAAav/P,IAAI,oBAK3Bo/L,EAAAA,GAAAA,KAAA,OAAKvzV,IAAK2zZ,GAASx/P,IAAI,cAK/Bo/L,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3uV,KAAK,KAAKgsN,MAAM,oBAAoBhvJ,UAAU,gBAAgBtV,MAAO,CAAEC,OAAQ,QAAU66P,QAASA,IAAMgkH,IAAc1yZ,UAC1HwyV,EAAAA,GAAAA,KAAA,OAAKvzV,IAAKupP,GAAUp1F,IAAI,gBAE5Bo/L,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3uV,KAAK,KAAKgsN,MAAM,oBAAoBhvJ,UAAU,WAAWtV,MAAO,CAAEC,OAAQ,QAAU66P,QAASA,KA9FzHgjH,GAAc,OATUjma,iBACd84R,GAAK23E,OAAO,iCAAiC79S,MAAMzhE,IACrD2nS,GAAK23E,OAAO,cAAc79S,MAAMzhE,IAC5Bg1a,EAAch1a,GACdolG,EAAQplG,GACR80a,GAAc,EAAM,GACtB,GACJ,EAGNqD,IA6FqJ/0Z,UAC7HwyV,EAAAA,GAAAA,KAAA,OAAKvzV,IAAKy5E,GAAS06E,IAAI,uBAMvCo/L,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,kBAAiBlpD,UAC5BwyV,EAAAA,GAAAA,KAACra,GAAG,CAAAn4U,UACAwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAI93U,SACPyxZ,GACGj/D,EAAAA,GAAAA,KAAClS,GAAQ,CAAC1sS,MAAO,CAAEC,OAAQ,SAAU7zC,UACjCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,yBAAwBlpD,UACnCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,cAAalpD,UACxBwyV,EAAAA,GAAAA,KAACL,GAAO,WAKpBmG,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,CACKoyZ,IACG5/D,EAAAA,GAAAA,KAACtS,GAAI,CAACh3R,UAAU,iBAAgBlpD,UAC5BwyV,EAAAA,GAAAA,KAAClS,GAAQ,CAAC1sS,MAAO,CAAEykK,gBAAiB,WAAYr4M,UAE5Cs4V,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,yBAAwBlpD,SAAA,EACnCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAKC,GAAG,IAAIC,GAAG,IAAI9uR,UAAU,OAAMlpD,UACvCwyV,EAAAA,GAAAA,KAACs+D,GAAM,CAAC5nW,UAAU,oBAAoB4pW,mBAAmB,EAAO3sZ,QAlVnG,CACb,CAAE9tB,MAAO,UAAW6mE,MAAO,WAC3B,CAAE7mE,MAAO,UAAW6mE,MAAO,WAC3B,CAAE7mE,MAAO,UAAW6mE,MAAO,YA+UwG6zW,SAAS,EAAM/hN,SAAUgiN,EAAcjya,KAAK,UAG3Hd,aAAcw0a,EACdp8a,MAAOo8a,EAEPh8V,YAAa,mBAErB+5R,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAKC,GAAG,IAAI7uR,UAAU,OAAMlpD,UAChCs4V,EAAAA,GAAAA,MAAC5J,GAAU,CAAA1uV,SAAA,EACPwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,OAAOvU,MAAO05a,EAAS7oW,UAAU,oBAAoBnoE,KAAK,UAAUktC,GAAG,UAAUwqC,YAAY,oBAAoBu4I,SA7H/Jj3N,IAClB,IAAI84a,EAAc94a,EAAEsD,OAAOhF,MAEvB25a,EADgB,KAAhBa,EACWA,EAGA,GACf,KAuHoDrgE,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3uV,KAAK,KAAKgsN,MAAM,GAAGhvJ,UAAU,WAAWwlP,QAASA,IAAMsjH,EAAW,IAAIhyZ,UAC1EwyV,EAAAA,GAAAA,KAAA,OAAKvzV,IAAK6zD,GAAQsgG,IAAI,mBAIlCo/L,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAKC,GAAG,IAAIC,GAAG,IAAI9uR,UAAU,OAAMlpD,UACvCwyV,EAAAA,GAAAA,KAACs+D,GAAM,CAAC5nW,UAAU,oBAAoB4pW,mBAAmB,EAAO3sZ,QA7VnG,CACb,CAAE9tB,MAAO,KAAM6mE,MAAO,eA4V6G6zW,SAAS,EAAM/hN,SAAUgiN,EAAcjya,KAAK,QAG3Hd,aAAc00a,EACdt8a,MAAOs8a,EAEPl8V,YAAa,qBAmBrB+5R,EAAAA,GAAAA,KAACzZ,GAAG,CAAC7vR,UAAU,gBAAelpD,UAC1Bs4V,EAAAA,GAAAA,MAACzd,GAAM,CAAC3uV,KAAK,KAAKgsN,MAAM,GAAGhvJ,UAAU,WAAWj7B,GAAG,iBAAiBygR,QAASA,KA3H7HyjH,GAAe,GACfE,GAAc,GACd93V,GAAU,GACVynB,EAAQ2vU,GACRiD,EAAe,CAAEv8a,MAAO,KAAM6mE,MAAO,eAErCs1W,EAAW,CAAC,OACZj6V,GAAU,QAMVy3V,EAAW,KA8G2IhyZ,SAAA,EAClGwyV,EAAAA,GAAAA,KAAA,OAAKvzV,IAAKg0Z,GAAW7/P,IAAI,YACzBo/L,EAAAA,GAAAA,KAAC7F,GACG,CACAtR,OAAQ62E,EACR70a,OAAO,iBACP84D,OArY7CA,IAAMg8W,GAAgBD,GAsYuB5qY,UAAW,SAAStnB,SACvB,yCAiBzBwyV,EAAAA,GAAAA,KAAClS,GAAQ,CAAC1sS,MAAO,CAAEC,OAAQ,SAAU7zC,UACjCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,kBAAkBtV,MAAO,CAAEC,OAAQ,OAAQx/C,MAAO,QAAS2L,UACtEwyV,EAAAA,GAAAA,KAAC//F,GAAAA,YAAW,CACRvtM,IAAK8rW,EACLxwS,QAAShiI,EACTw6B,WAAYs4Y,EACZpqS,sBAAsB,mBACtBl7G,cAAeolZ,EACf3tS,YAAY,EAEZzO,aAAc,SAEd/yE,mBAAoB,GAEpBixX,mBAlJjB/mU,KACvB,MAAMylI,EAAeo/L,EAAQ53J,QAAQrkQ,IAAIq5K,kBACb,IAAxBwjD,EAAal5O,SACby4a,EAAYv/L,EAAa,GAAGojM,OAzPhCtQ,GAAcD,GA4Pd,iBA+JSA,IAAajyD,EAAAA,GAAAA,KAACyiE,GAAS,CAAChnY,GAAIijY,EAAU1O,WAjahCA,KACfkC,GAAaD,IAAa,IAC1B+M,GAAgB7M,EAAY,EA+Z2ClC,eAAe,EAAMC,YAAaA,QAKtG,EC0EX,GApiBqBwS,KAEjB,MAAMlE,GAAUv2J,EAAAA,EAAAA,WACTj8Q,EAAMwjG,IAAW83K,EAAAA,EAAAA,UAAS,KAC1B63J,EAAYC,IAAiB93J,EAAAA,EAAAA,UAAS,KAEtC+3J,EAASC,IAAch4J,EAAAA,EAAAA,UAAS,KAChCq7J,EAASC,IAAct7J,EAAAA,EAAAA,UAAS,KAChCi4J,EAASC,IAAcl4J,EAAAA,EAAAA,UAAS,KAChCu6J,EAASC,IAAcx6J,EAAAA,EAAAA,UAAS,KAChCs3J,EAAmBC,IAAwBv3J,EAAAA,EAAAA,UAAS,KACpDw3J,EAAcC,IAAmBz3J,EAAAA,EAAAA,UAAS,KAC1C51M,EAAY+tW,IAAiBn4J,EAAAA,EAAAA,UAAS,KACtCu7J,EAAaC,IAAkBx7J,EAAAA,EAAAA,UAAS,KACxC26J,EAAaC,IAAkB56J,EAAAA,EAAAA,UAAS,KACxC3zP,EAASm8T,IAAcxoE,EAAAA,EAAAA,UAAS,KAEhC23J,EAAYC,IAAiB53J,EAAAA,EAAAA,WAAS,IAItCn8Q,EAAQ48E,IAAau/L,EAAAA,EAAAA,WAAS,IAC9Bs4J,EAAYC,IAAiBv4J,EAAAA,EAAAA,WAAS,IAGtCo4J,EAAaC,IAAkBr4J,EAAAA,EAAAA,WAAS,GAGzC50B,GAAei2B,EAAAA,EAAAA,cAAar5M,GAEtBA,EACHtE,QAAQ,GACR35D,QAAQ,0BAA2B,QACzC,IACG6va,GAAoBv4J,EAAAA,EAAAA,cAAa72Q,GAC5B4gP,EAAa5gP,EAAOjM,QAE5B,CAAC6sP,IA0CEotL,GAAcn3J,EAAAA,EAAAA,cAAY,KAC5Bk2J,EAAqB,CACjB9/Z,KAAM,EACNmB,SAAU,IACVwyL,UAAU,EACVvnM,QAAQ,EACR6Y,WAAW,EACXd,UAAU,EACVywH,aAAc,CAAC,MAAO,UAG1BorS,EAAgB,CACZ,CACIzkZ,WAAY,OACZruB,MAAO,WAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,OACZruB,MAAO,WAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,cACZruB,MAAO,cAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,OACZruB,MAAO,OAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,WACZruB,MAAO,WAEPgjL,iBAAiB,EACjB5uK,SAAU,IACVo1M,eAAgByrN,EAChB/1a,OAAQ,uBACRiP,KAAM,iBAGV,CACIkgB,WAAY,cACZruB,MAAO,cAEPgjL,iBAAiB,EACjB5uK,SAAU,IACVo1M,eAAgByrN,EAChB/1a,OAAQ,uBACRiP,KAAM,iBAGV,CACIkgB,WAAY,YACZruB,MAAO,kBAEPgjL,iBAAiB,EACjB5uK,SAAU,IACVo1M,eAAgByrN,EAChB/1a,OAAQ,uBACRiP,KAAM,iBAGV,CACIkgB,WAAY,WACZruB,MAAO,kBAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,oBACZruB,MAAO,oBAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,gBACZruB,MAAO,sBAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,UACZruB,MAAO,UACPoU,SAAU,IAEV4uK,iBAAiB,GASrB,CACI30J,WAAY,KACZruB,MAAO,KAEPgjL,iBAAiB,EACjBxwK,MAAM,EAENrE,KAAM,iBAIV,CACIkgB,WAAY,QACZruB,MAAO,QAEPgjL,iBAAiB,EACjBxwK,MAAM,EAENrE,KAAM,kBAKb,GACF,CAAC8ma,KAOJt3J,EAAAA,EAAAA,YAAU,KACNk2J,GAAa,GACd,CAACA,KAEJl2J,EAAAA,EAAAA,YAAU,KACc3wQ,iBACV84R,GAAK23E,OAAO,uBAAuB79S,MAAMzhE,IAC3Cg1a,EAAch1a,GACdolG,EAAQplG,EAAI,GACd,EAoBN61a,GAlBsBhna,iBACZ84R,GAAK23E,OAAO,qBAAqB79S,MAAMk3W,IACzC,IAAIC,EAAY,GAChBD,EAAOtwa,KAAIwgB,IACP,IAAIgwZ,EAAc,CAAEp9a,MAAOotB,EAAqB,YAAGy5C,MAAOz5C,EAAqB,aAE/E,OADA+vZ,EAAUl7a,KAAKm7a,GACR,CAAC,IAQZnzF,EAAWkzF,EAAU,GAEvB,EAGNE,GACA5za,YAAW,KACP4va,GAAc,EAAM,GACrB,CAAC,KAAM,GACX,IAEH,MAAMgB,GAAcv3J,EAAAA,EAAAA,cAAY,KAC5B61J,EAAQ53J,QAAQrkQ,IAAI4zK,iBAAiB,GACtC,IAiBGqqP,EAAeA,CAACj5a,EAAGk0C,KASrB,IAAI6mY,EAAQ7mY,EAAGltC,KACD,WAAV+za,IACAhD,EAAW31a,MAAMC,QAAQrC,GAAKA,EAAEkL,KAAIs4D,GAAKA,EAAEllE,QAAS,IACpDi9a,EAAev7a,IAIL,YAAV+6a,IACAR,EAAWn4a,MAAMC,QAAQrC,GAAKA,EAAEkL,KAAIs4D,GAAKA,EAAEllE,QAAS,IACpDq8a,EAAe36a,IAIL,WAAV+6a,IAEAM,EAAWj5a,MAAMC,QAAQrC,GAAKA,EAAEkL,KAAIs4D,GAAKA,EAAEllE,QAAS,IACpD45a,EAAcl4a,GAClB,GAaJqiR,EAAAA,EAAAA,YAAU,KACam2J,MACf,IAAIC,EAAQb,EAURE,EAAQn5a,OAAS,IAOjB85a,EAAQA,EAAM70a,QAAOyG,GAAKyta,EAAQhvZ,MAAK5O,GAAQA,EAAKkK,SAAS/Z,EAAEuxa,qBAE/Dp7V,GAAU,IAGV46V,EAAQz8a,OAAS,IACjB85a,EAAQA,EAAM70a,QAAOyG,GAAK+wa,EAAQtyZ,MAAK5O,GAAQA,EAAKkK,SAAS/Z,EAAEwxa,qBAC/Dr7V,GAAU,IAGE,KAAZw3V,IACAS,EAAQA,EAAM70a,QAAOyG,GAAKA,EAAEk7D,YAAY9rC,cAAcrV,SAAS4zZ,EAAQv+Y,iBACvE+mD,GAAU,IAIV85V,EAAQ37a,OAAS,IACjB85a,EAAQA,EAAM70a,QAAOyG,GAAKiwa,EAAQxxZ,MAAK5O,GAAQA,EAAKkK,SAAS/Z,EAAEywa,cAC/Dt6V,GAAU,IAIS,IAAnBs3V,EAAQn5a,QAAmC,IAAnBy8a,EAAQz8a,QAA4B,KAAZq5a,GAA8B,KAAZsC,GAElE95V,GAAU,GAGdynB,EAAQwwU,EAAM,EAGlBD,EAAY,GACb,CAACV,EAASsD,EAASpD,EAASsC,EAAS1C,IAiCxC,OACIn/D,EAAAA,GAAAA,KAAAC,GAAAA,SAAA,CAAAzyV,UAEIs4V,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,EAEIwyV,EAAAA,GAAAA,KAAC/R,GAAU,CAACv3R,UAAU,YAAWlpD,UAC7Bs4V,EAAAA,GAAAA,MAACngB,GAAG,CAAAn4U,SAAA,EACAs4V,EAAAA,GAAAA,MAACvf,GAAG,CAACjB,GAAG,KAAKC,GAAG,IAAI7uR,UAAU,cAAalpD,SAAA,EACvCwyV,EAAAA,GAAAA,KAAC0D,GAAoB,CAAChqW,KAAM,GAAIg9D,UAAU,OAAOgvJ,MAAM,YAAY,YACnEs6I,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,kBAAiBlpD,SAAC,qBAItCs4V,EAAAA,GAAAA,MAACvf,GAAG,CAACjB,GAAG,KAAKC,GAAG,IAAI7uR,UAAU,gBAAelpD,SAAA,EACzCwyV,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3uV,KAAK,KAAKgsN,MAAM,oBAAoBhvJ,UAAU,gBAAgBtV,MAAO,CAAEC,OAAQ,QAAU66P,QAASA,IAAM2jH,GAAeD,GAAYpyZ,SACtIriB,GAEG60W,EAAAA,GAAAA,KAAA,OAAKvzV,IAAK0zZ,GAAav/P,IAAI,oBAG3Bo/L,EAAAA,GAAAA,KAAA,OAAKvzV,IAAK2zZ,GAASx/P,IAAI,cAK/Bo/L,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3uV,KAAK,KAAKgsN,MAAM,oBAAoBhvJ,UAAU,gBAAgBtV,MAAO,CAAEC,OAAQ,QAAU66P,QAASA,IAAMgkH,IAAc1yZ,UAC1HwyV,EAAAA,GAAAA,KAAA,OAAKvzV,IAAKupP,GAAUp1F,IAAI,gBAE5Bo/L,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3uV,KAAK,KAAKgsN,MAAM,oBAAoBhvJ,UAAU,WAAWtV,MAAO,CAAEC,OAAQ,QAAU66P,QAASA,KA1JzHgjH,GAAc,OAVUjma,iBACd84R,GAAK23E,OAAO,iCAAiC79S,MAAMzhE,IACrD2nS,GAAK23E,OAAO,sBAAsB79S,MAAMzhE,IACpCg1a,EAAch1a,GACdolG,EAAQplG,GACR80a,GAAc,EAAM,GACtB,GAEJ,EAGNqD,IAyJqJ/0Z,UAC7HwyV,EAAAA,GAAAA,KAAA,OAAKvzV,IAAKy5E,GAAS06E,IAAI,uBAMvCo/L,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,kBAAiBlpD,UAC5BwyV,EAAAA,GAAAA,KAACra,GAAG,CAAAn4U,UACAwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAI93U,SACPyxZ,GACGj/D,EAAAA,GAAAA,KAAClS,GAAQ,CAAC1sS,MAAO,CAAEC,OAAQ,SAAU7zC,UACjCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,yBAAwBlpD,UACnCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,cAAalpD,UACxBwyV,EAAAA,GAAAA,KAACL,GAAO,WAKpBmG,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,CAEKoyZ,IACG5/D,EAAAA,GAAAA,KAACtS,GAAI,CAACh3R,UAAU,iBAAgBlpD,UAC5BwyV,EAAAA,GAAAA,KAAClS,GAAQ,CAAC1sS,MAAO,CAAEykK,gBAAiB,WAAYr4M,UAE5Cs4V,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,yBAAwBlpD,SAAA,EACnCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAKC,GAAG,IAAI/0C,GAAG,IAAI95O,UAAU,OAAMlpD,UACvCwyV,EAAAA,GAAAA,KAACs+D,GAAM,CAAC5nW,UAAU,oBAAoB4pW,mBAAmB,EAAO3sZ,QA1XnG,CACb,CAAE9tB,MAAO,UAAW6mE,MAAO,WAC3B,CAAE7mE,MAAO,UAAW6mE,MAAO,WAC3B,CAAE7mE,MAAO,UAAW6mE,MAAO,YAuXwG6zW,SAAS,EAAM/hN,SAAUgiN,EAAcjya,KAAK,UAG3Hd,aAAcw0a,EACdp8a,MAAOo8a,EAEPh8V,YAAa,mBAErB+5R,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAKC,GAAG,IAAI/0C,GAAG,IAAI95O,UAAU,OAAMlpD,UACvCs4V,EAAAA,GAAAA,MAAC5J,GAAU,CAAA1uV,SAAA,EACPwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,OAAOvU,MAAO05a,EAAS7oW,UAAU,oBAAoBnoE,KAAK,UAAUktC,GAAG,UAAUwqC,YAAY,oBAAoBu4I,SA9F/Jj3N,IAElB,IAAI84a,EAAc94a,EAAEsD,OAAOhF,MAGvB25a,EADgB,KAAhBa,EACWA,EAIA,GACf,KAqFoDrgE,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3uV,KAAK,KAAKgsN,MAAM,GAAGhvJ,UAAU,WAAWwlP,QAASA,IAAMsjH,EAAW,IAAIhyZ,UAC1EwyV,EAAAA,GAAAA,KAAA,OAAKvzV,IAAK6zD,GAAQsgG,IAAI,mBAIlCo/L,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAKC,GAAG,IAAI/0C,GAAG,IAAI95O,UAAU,OAAMlpD,UACvCwyV,EAAAA,GAAAA,KAACs+D,GAAM,CAAC5nW,UAAU,oBAAoB/iD,QAASA,EAAS4sZ,SAAS,EAAM/hN,SAAUgiN,EAAcjya,KAAK,SAGhG1I,MAAO6rE,EACPjkE,aAAcikE,EACduU,YAAa,mBAErB+5R,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAKC,GAAG,IAAI/0C,GAAG,IAAI95O,UAAU,OAAMlpD,UACvCwyV,EAAAA,GAAAA,KAACs+D,GAAM,CAAC5nW,UAAU,oBAAoB4pW,mBAAmB,EAAO3sZ,QA1ZnG,CACb,CAAE9tB,MAAO,QAAS6mE,MAAO,kBACzB,CAAE7mE,MAAO,OAAQ6mE,MAAO,gBACxB,CAAE7mE,MAAO,IAAK6mE,MAAO,cAuZ8G6zW,SAAS,EAAM/hN,SAAUgiN,EAAcjya,KAAK,SAG3Hd,aAAco1a,EACdh9a,MAAOg9a,EAEP58V,YAAa,mBAErB+5R,EAAAA,GAAAA,KAACzZ,GAAG,CAAC7vR,UAAU,WAAUlpD,UACrBs4V,EAAAA,GAAAA,MAACzd,GAAM,CAAC3uV,KAAK,KAAKgsN,MAAM,GAAGhvJ,UAAU,WAAWj7B,GAAG,iBAAiBygR,QAASA,KAtG7HyjH,GAAe,GACfE,GAAc,GACd93V,GAAU,GACVynB,EAAQ2vU,GACRM,EAAc,IACdqD,EAAe,IACfxD,EAAW,IACXsD,EAAW,IACXpD,EAAW,SACXsC,EAAW,KA6F2It0Z,SAAA,EAClGwyV,EAAAA,GAAAA,KAAA,OAAKvzV,IAAKg0Z,GAAW7/P,IAAI,YACzBo/L,EAAAA,GAAAA,KAAC7F,GACG,CACAtR,OAAQ62E,EACR70a,OAAO,iBACP84D,OAhd7CA,IAAMg8W,GAAgBD,GAiduB5qY,UAAW,SAAStnB,SACvB,yCAazBwyV,EAAAA,GAAAA,KAAClS,GAAQ,CAAC1sS,MAAO,CAAEC,OAAQ,SAAU7zC,UACjCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,kBAAkBtV,MAAO,CAAEC,OAAQ,OAAQx/C,MAAO,QAAS2L,UACtEwyV,EAAAA,GAAAA,KAAC//F,GAAAA,YAAW,CACRvtM,IAAK8rW,EACLxwS,QAAShiI,EACTw6B,WAAYs4Y,EACZpqS,sBAAsB,mBACtBl7G,cAAeolZ,EACf3tS,YAAY,EAEZzO,aAAc,SAEd/yE,mBAAoB,sBA0BzD,ECjHX,GA/aqBizX,KAEjB,MAAMlE,GAAUv2J,EAAAA,EAAAA,WACTj8Q,EAAMwjG,IAAW83K,EAAAA,EAAAA,UAAS,KAC1B63J,EAAYC,IAAiB93J,EAAAA,EAAAA,UAAS,KACtCn8Q,EAAQ48E,IAAau/L,EAAAA,EAAAA,WAAS,IAC9B+3J,EAASC,IAAch4J,EAAAA,EAAAA,UAAS,KAChCq7J,EAASC,IAAct7J,EAAAA,EAAAA,UAAS,KAChCi4J,EAASC,IAAcl4J,EAAAA,EAAAA,UAAS,KAChCs3J,EAAmBC,IAAwBv3J,EAAAA,EAAAA,UAAS,KACpDw3J,EAAcC,IAAmBz3J,EAAAA,EAAAA,UAAS,KAC1C51M,EAAY+tW,IAAiBn4J,EAAAA,EAAAA,UAAS,KAEtC3zP,EAASm8T,IAAcxoE,EAAAA,EAAAA,UAAS,KAEhC23J,EAAYC,IAAiB53J,EAAAA,EAAAA,WAAS,IAItCs4J,EAAYC,IAAiBv4J,EAAAA,EAAAA,WAAS,IAGtCo4J,EAAaC,IAAkBr4J,EAAAA,EAAAA,WAAS,GAwCzCw4J,GAAcn3J,EAAAA,EAAAA,cAAY,KAC5Bk2J,EAAqB,CACjB9/Z,KAAM,EACNmB,SAAU,IACVwyL,UAAU,EACVvnM,QAAQ,EACR6Y,WAAW,EACXd,UAAU,EACVywH,aAAc,CAAC,MAAO,UAG1BorS,EAAgB,CAEZ,CACIzkZ,WAAY,cACZruB,MAAO,cAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,aACZruB,MAAO,oBAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,qBACZruB,MAAO,qBAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,gBACZruB,MAAO,sBAEPgjL,iBAAiB,EACjB5uK,SAAU,KAQd,CACIia,WAAY,KACZruB,MAAO,KAEPgjL,iBAAiB,EACjBxwK,MAAM,EAENrE,KAAM,kBAKb,GACF,KAOHwvQ,EAAAA,EAAAA,YAAU,KACNk2J,GAAa,GACd,CAACA,KAEJl2J,EAAAA,EAAAA,YAAU,KAEgB3wQ,iBACZ84R,GAAK23E,OAAO,qBAAqB79S,MAAMk3W,IACzC3D,EAAc2D,GACdvzU,EAAQuzU,GACR,IAAIC,EAAY,GAChBD,EAAOtwa,KAAIwgB,IACP,IAAIgwZ,EAAc,CAAEp9a,MAAOotB,EAAqB,YAAGy5C,MAAOz5C,EAAqB,aAE/E,OADA+vZ,EAAUl7a,KAAKm7a,GACR,CAAC,IAQZnzF,EAAWkzF,EAAU,GAEvB,EAGNE,GACA5za,YAAW,KACP4va,GAAc,EAAM,GACrB,CAAC,KAAM,GACX,IAEH,MAAMgB,GAAcv3J,EAAAA,EAAAA,cAAY,KAC5B61J,EAAQ53J,QAAQrkQ,IAAI4zK,iBAAiB,GACtC,KAmCHyzF,EAAAA,EAAAA,YAAU,KACam2J,MACf,IAAIC,EAAQb,EAURE,EAAQn5a,OAAS,IAOjB85a,EAAQA,EAAM70a,QAAOyG,GAAKyta,EAAQhvZ,MAAK5O,GAAQA,EAAKkK,SAAS/Z,EAAEuxa,qBAC/Dp7V,GAAU,IAGV46V,EAAQz8a,OAAS,IACjB85a,EAAQA,EAAM70a,QAAOyG,GAAK+wa,EAAQtyZ,MAAK5O,GAAQA,EAAKkK,SAAS/Z,EAAEk7D,iBAC/Dib,GAAU,IAGE,KAAZw3V,IAEAS,EAAQA,EAAM70a,QAAOyG,GAEbA,EAAEk7D,YAAY9rC,cAAcrV,SAAS4zZ,EAAQv+Y,gBAChB,OAAzBpvB,EAAEyxa,oBAA+Bzxa,EAAEyxa,mBAAmBriZ,cAAcrV,SAAS4zZ,EAAQv+Y,iBAMjG+mD,GAAU,IAKS,IAAnBs3V,EAAQn5a,QAAmC,IAAnBy8a,EAAQz8a,QAA4B,KAAZq5a,GAEhDx3V,GAAU,GAGdynB,EAAQwwU,EAAM,EAGlBD,EAAY,GACb,CAACV,EAASsD,EAASpD,EAASJ,IAgC/B,OACIn/D,EAAAA,GAAAA,KAAAC,GAAAA,SAAA,CAAAzyV,UAEIs4V,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,EAEIwyV,EAAAA,GAAAA,KAAC/R,GAAU,CAACv3R,UAAU,YAAWlpD,UAC7Bs4V,EAAAA,GAAAA,MAACngB,GAAG,CAAAn4U,SAAA,EACAs4V,EAAAA,GAAAA,MAACvf,GAAG,CAACjB,GAAG,KAAKC,GAAG,IAAI7uR,UAAU,cAAalpD,SAAA,EACvCwyV,EAAAA,GAAAA,KAACmD,GAAc,CAACzpW,KAAM,GAAIg9D,UAAU,OAAOgvJ,MAAM,YAAY,YAC7Ds6I,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,kBAAiBlpD,SAAC,uBAItCs4V,EAAAA,GAAAA,MAACvf,GAAG,CAACjB,GAAG,KAAKC,GAAG,IAAI7uR,UAAU,gBAAelpD,SAAA,EACzCwyV,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3uV,KAAK,KAAKgsN,MAAM,oBAAoBhvJ,UAAU,gBAAgBtV,MAAO,CAAEC,OAAQ,QAAU66P,QAASA,IAAM2jH,GAAeD,GAAYpyZ,SACtIriB,GAEG60W,EAAAA,GAAAA,KAAA,OAAKvzV,IAAK0zZ,GAAav/P,IAAI,oBAG3Bo/L,EAAAA,GAAAA,KAAA,OAAKvzV,IAAK2zZ,GAASx/P,IAAI,cAK/Bo/L,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3uV,KAAK,KAAKgsN,MAAM,oBAAoBhvJ,UAAU,gBAAgBtV,MAAO,CAAEC,OAAQ,QAAU66P,QAASA,IAAMgkH,IAAc1yZ,UAC1HwyV,EAAAA,GAAAA,KAAA,OAAKvzV,IAAKupP,GAAUp1F,IAAI,wBAMxCo/L,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,kBAAiBlpD,UAC5BwyV,EAAAA,GAAAA,KAACra,GAAG,CAAAn4U,UACAwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAI93U,SACPyxZ,GACGj/D,EAAAA,GAAAA,KAAClS,GAAQ,CAAC1sS,MAAO,CAAEC,OAAQ,SAAU7zC,UACjCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,yBAAwBlpD,UACnCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,cAAalpD,UACxBwyV,EAAAA,GAAAA,KAACL,GAAO,WAKpBmG,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,CAEKoyZ,IACG5/D,EAAAA,GAAAA,KAACtS,GAAI,CAACh3R,UAAU,iBAAgBlpD,UAC5BwyV,EAAAA,GAAAA,KAAClS,GAAQ,CAAC1sS,MAAO,CAAEykK,gBAAiB,WAAYr4M,UAE5Cs4V,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,yBAAwBlpD,SAAA,EACnCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,IAAG93U,UACPs4V,EAAAA,GAAAA,MAAC5J,GAAU,CAAA1uV,SAAA,EACPwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,OAAOvU,MAAO05a,EAAS7oW,UAAU,oBAAoBnoE,KAAK,UAAUktC,GAAG,UAAUwqC,YAAY,oBAAoBu4I,SAjF/Jj3N,IAElB,IAAI84a,EAAc94a,EAAEsD,OAAOhF,MAGvB25a,EADgB,KAAhBa,EACWA,EAIA,GACf,KAwEoDrgE,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3uV,KAAK,KAAKgsN,MAAM,GAAGhvJ,UAAU,WAAWwlP,QAASA,IAAMsjH,EAAW,IAAIhyZ,UAC1EwyV,EAAAA,GAAAA,KAAA,OAAKvzV,IAAK6zD,GAAQsgG,IAAI,mBAIlCo/L,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,IAAG93U,UACPwyV,EAAAA,GAAAA,KAACs+D,GAAM,CAAC5nW,UAAU,oBAAoB/iD,QAASA,EAAS4sZ,SAAS,EAAM/hN,SAlLtGgiN,CAACj5a,EAAGk0C,KAgBP,WAPFA,EAAGltC,OASXq0a,EAAWj5a,MAAMC,QAAQrC,GAAKA,EAAEkL,KAAIs4D,GAAKA,EAAEllE,QAAS,IACpD45a,EAAcl4a,GAClB,EA8J+IgH,KAAK,SAGhG1I,MAAO6rE,EACPjkE,aAAcikE,EACduU,YAAa,mBAWrB+5R,EAAAA,GAAAA,KAACzZ,GAAG,CAAC7vR,UAAU,WAAUlpD,UACrBs4V,EAAAA,GAAAA,MAACzd,GAAM,CAAC3uV,KAAK,KAAKgsN,MAAM,GAAGhvJ,UAAU,WAAWj7B,GAAG,iBAAiBygR,QAASA,KAzF7HyjH,GAAe,GACfE,GAAc,GACd93V,GAAU,GACVynB,EAAQ2vU,GACRM,EAAc,IAEdH,EAAW,IACXsD,EAAW,SACXpD,EAAW,KAiF2IhyZ,SAAA,EAClGwyV,EAAAA,GAAAA,KAAA,OAAKvzV,IAAKg0Z,GAAW7/P,IAAI,YACzBo/L,EAAAA,GAAAA,KAAC7F,GACG,CACAtR,OAAQ62E,EACR70a,OAAO,iBACP84D,OAxV7CA,IAAMg8W,GAAgBD,GAyVuB5qY,UAAW,SAAStnB,SACvB,yCAkBzBwyV,EAAAA,GAAAA,KAAClS,GAAQ,CAAC1sS,MAAO,CAAEC,OAAQ,SAAU7zC,UACjCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,kBAAkBtV,MAAO,CAAEC,OAAQ,OAAQx/C,MAAO,QAAS2L,UACtEwyV,EAAAA,GAAAA,KAAC//F,GAAAA,YAAW,CACRvtM,IAAK8rW,EACLxwS,QAAShiI,EACTw6B,WAAYs4Y,EACZpqS,sBAAsB,mBACtBl7G,cAAeolZ,EACf3tS,YAAY,EAEZzO,aAAc,SAEd/yE,mBAAoB,sBA2BzD,ECjMX,GA7OYm8Q,IAAoF,IAAnF,WAAEokG,EAAU,cAAEC,EAAa,aAAE2Q,EAAY,UAAEC,EAAS,SAAEC,EAAQ,YAAEC,GAAan1G,EAEtF,MAAM4yG,GAAUv2J,EAAAA,EAAAA,WACT+4J,EAAYC,IAAiB35J,EAAAA,EAAAA,UAAS,KACtCs3J,EAAmBC,IAAwBv3J,EAAAA,EAAAA,UAAS,KACpDw3J,EAAcC,IAAmBz3J,EAAAA,EAAAA,UAAS,KAE1C23J,EAAYC,IAAiB53J,EAAAA,EAAAA,WAAS,GAEvC50B,GAAei2B,EAAAA,EAAAA,cAAar5M,GAEtBA,EACHtE,QAAQ,GACR35D,QAAQ,0BAA2B,QACzC,IACG6va,GAAoBv4J,EAAAA,EAAAA,cAAa72Q,GAC5B4gP,EAAa5gP,EAAOjM,QAE5B,CAAC6sP,IAkBEotL,GAAcn3J,EAAAA,EAAAA,cAAY,KAC5Bk2J,EAAqB,CACjB9/Z,KAAM,EACNmB,SAAU,IACVwyL,UAAU,EACVvnM,QAAQ,EACR6Y,WAAW,EACXd,UAAU,EACVywH,aAAc,CAAC,MAAO,UAK1BorS,EAAgB,CACZ,CACIzkZ,WAAY,OACZruB,MAAO,WAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,OACZruB,MAAO,OAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,cACZruB,MAAO,cAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,SACZruB,MAAO,SAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,cACZruB,MAAO,cAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,QACZruB,MAAO,QAEPgjL,iBAAiB,EACjB5uK,SAAU,IACVo1M,eAAgByrN,EAChB/1a,OAAQ,uBACRiP,KAAM,iBAGV,CACIkgB,WAAY,KACZruB,MAAO,KAEPgjL,iBAAiB,EACjBxwK,MAAM,EAENrE,KAAM,kBAKb,GACF,CAAC8ma,KAEJt3J,EAAAA,EAAAA,YAAU,KACNk2J,GAAa,GACd,CAACA,KAEJl2J,EAAAA,EAAAA,YAAU,KACc3wQ,iBACV84R,GAAK23E,OAAO,qBAAqB79S,MAAMzhE,IACzC62a,EAAc72a,EAAI,GACpB,EAEN61a,GACA3wa,YAAW,KACP4va,GAAc,EAAM,GACrB,CAAC,KAAM,GACX,IAEH,MAAMgB,GAAcv3J,EAAAA,EAAAA,cAAY,KAC5B61J,EAAQ53J,QAAQrkQ,IAAI4zK,iBAAiB,GACtC,IAuBH,OACI6pL,EAAAA,GAAAA,KAAAC,GAAAA,SAAA,CAAAzyV,UAEIs4V,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,EAEIwyV,EAAAA,GAAAA,KAAC/R,GAAU,CAACv3R,UAAU,YAAWlpD,UAC7Bs4V,EAAAA,GAAAA,MAACngB,GAAG,CAAAn4U,SAAA,EACAs4V,EAAAA,GAAAA,MAACvf,GAAG,CAACjB,GAAG,KAAKC,GAAG,IAAI7uR,UAAU,cAAalpD,SAAA,EACvCwyV,EAAAA,GAAAA,KAACwE,GAAe,CAAC9qW,KAAM,GAAIg9D,UAAU,OAAOgvJ,MAAM,YAAY,YAC9Ds6I,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,kBAAiBlpD,SAAC,+BAItCs4V,EAAAA,GAAAA,MAACvf,GAAG,CAACjB,GAAG,KAAKC,GAAG,IAAI7uR,UAAU,gBAAelpD,SAAA,EACzCwyV,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3uV,KAAK,KAAKgsN,MAAM,oBAAoBhvJ,UAAU,gBAAgBtV,MAAO,CAAEC,OAAQ,QAAU66P,QAASA,IAAMgkH,IAAc1yZ,UAC1HwyV,EAAAA,GAAAA,KAAA,OAAKvzV,IAAKupP,GAAUp1F,IAAI,gBAE5Bo/L,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3uV,KAAK,KAAKgsN,MAAM,oBAAoBhvJ,UAAU,WAAWtV,MAAO,CAAEC,OAAQ,QAAU66P,QAASA,KA5BzHgjH,GAAc,OATUjma,iBACd84R,GAAK23E,OAAO,iCAAiC79S,MAAMzhE,IACrD2nS,GAAK23E,OAAO,qBAAqB79S,MAAMzhE,IACnC62a,EAAc72a,GACd80a,GAAc,EAAM,GACtB,GAEJ,EAGNqD,IA2BqJ/0Z,UAC7HwyV,EAAAA,GAAAA,KAAA,OAAKvzV,IAAKy5E,GAAS06E,IAAI,uBAMvCo/L,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,kBAAiBlpD,UAE5BwyV,EAAAA,GAAAA,KAACra,GAAG,CAAAn4U,UACAwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAI93U,SAEPyxZ,GACGj/D,EAAAA,GAAAA,KAAClS,GAAQ,CAAC1sS,MAAO,CAAEC,OAAQ,SAAU7zC,UACjCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,yBAAwBlpD,UACnCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,cAAalpD,UACxBwyV,EAAAA,GAAAA,KAACL,GAAO,WAKpBK,EAAAA,GAAAA,KAAAC,GAAAA,SAAA,CAAAzyV,UAMIwyV,EAAAA,GAAAA,KAAClS,GAAQ,CAAC1sS,MAAO,CAAEC,OAAQ,SAAU7zC,UACjCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,kBAAkBtV,MAAO,CAAEC,OAAQ,OAAQx/C,MAAO,QAAS2L,UACtEwyV,EAAAA,GAAAA,KAAC//F,GAAAA,YAAW,CACRvtM,IAAK8rW,EACLxwS,QAASgzS,EACTx6Y,WAAYs4Y,EACZpqS,sBAAsB,mBACtBl7G,cAAeolZ,EACf3tS,YAAY,EAEZzO,aAAc,SAEd/yE,mBAAoB,qBAwBzD,ECjPL6zX,IAAct8J,EAAAA,EAAAA,iBACPu8J,GAAiBA,KAAMl8J,EAAAA,EAAAA,YAAWi8J,IAElCE,GAAe53G,IAAmB,IAAlB,SAAEp+S,GAAUo+S,EAErC,MAAO63G,EAAMC,IAAWp8J,EAAAA,EAAAA,UAAS,KAEjCsC,EAAAA,EAAAA,YAAU,KACU3wQ,WACZ,IACI,MAAM0qa,QAAgB5xI,GAAK23E,OAAO,eAClCg6D,EAAQC,EACZ,CAAE,MAAOtva,GACL1H,QAAQ0H,MAAM,6BAA8BA,EAChD,GAEJuva,EAAS,GACV,IAEH,MAAM/9a,GAAQuiR,EAAAA,EAAAA,UAAQ,MAASq7J,UAAS,CAACA,IACzC,OACIzjE,EAAAA,GAAAA,KAACsjE,GAAYrwJ,SAAQ,CAACptR,MAAOA,EAAM2nB,SAAEA,GAAgC,EC2R7E,SA1SA,WACI,MAAM,KAAEi2Z,GAASF,MAEVv3a,EAAMwjG,IAAW83K,EAAAA,EAAAA,UAAS,KAC1Bu8J,EAAcC,IAAmBx8J,EAAAA,EAAAA,UAAS,KAC1Cy8J,EAAOC,IAAY18J,EAAAA,EAAAA,UAAS,KAC5B28J,EAAcC,IAAmB58J,EAAAA,EAAAA,UAAS,KAC1CzsD,EAAWu4J,IAAgB9rG,EAAAA,EAAAA,WAAS,IACpCphL,EAASi+U,IAAc78J,EAAAA,EAAAA,WAAS,IAChC88J,EAAeC,IAAoB/8J,EAAAA,EAAAA,UAASm8J,EAAKa,SACjDC,EAAOC,IAAYl9J,EAAAA,EAAAA,UAAS,IAE7B50B,EAAgBpjL,GACH,OAAXA,QAA8BhpE,IAAXgpE,EAA6B,OAC7CA,EACFtE,QAAQ,GACR35D,QAAQ,0BAA2B,QAuC5Cu4Q,EAAAA,EAAAA,YAAU,KAdO3wQ,WACb,IACI,MACMwra,SADgB1yI,GAAK23E,OAAO,gBAAD51W,OAAiBswa,KACtB3xa,KAAKgxa,IAAI,CACjC59a,MAAO49a,EAAKa,OACZ53W,MAAO+2W,EAAKl1a,SAEhBk2a,EAAY38a,KAAK,CAAEjC,MAAO,IAAK6mE,MAAO,QACtC83W,EAASC,EACb,CAAE,MAAOpwa,GACL1H,QAAQ0H,MAAM,wBAAyBA,EAC3C,GAIAqwa,GArCYzra,WACZm6W,GAAa,GACb,IACI,MAAMhpX,QAAY2nS,GAAK23E,OAAO,qBAAD51W,OAAsBswa,IAG7CO,EAAc,IAAI,IAAIj9a,IAAI0C,EAAIqI,KAAKisD,GAAQA,EAAIgS,SAAQryD,MAAK,CAACjX,EAAGC,IAAMD,EAAIC,IAC1Eu9a,EAAcD,EAAYlya,KAAKi+D,IAAI,CACrC7qE,MAAO6qE,EACPhE,MAAOgE,EAAKtqE,eAGhB49a,EAASY,GACTV,EAAgBl8Z,KAAKC,OAAO08Z,GAAav+a,YACzCopG,EAAQplG,EACZ,CAAE,MAAOiK,GACL1H,QAAQ0H,MAAM,uBAAwBA,EAC1C,CAAC,QACG++W,GAAa,EACjB,GAmBAn0J,EAAS,GAGV,CAACmlN,EAAel+U,KAEnB0jL,EAAAA,EAAAA,YAAU,KACFq6J,GACAH,EAAgB93a,EAAKb,QAAQuzD,GAAQA,EAAIgS,OAASuzW,IACtD,GACD,CAACA,EAAcj4a,IAIlB,MAAM64a,EAAmB15U,GACrBA,EAAKz5F,QACD,CAACoza,EAAQpmX,KAAG,CACRyvV,GAAI22B,EAAO32B,IAAMzvV,EAAIyvV,IAAM,GAC3B42B,GAAID,EAAOC,IAAMrmX,EAAIqmX,IAAM,GAC3BC,IAAKF,EAAOE,KAAOtmX,EAAIsmX,KAAO,GAC9BC,OAAQH,EAAOG,QAAUvmX,EAAIumX,QAAU,GACvCC,UAAWJ,EAAOI,WAAaxmX,EAAIwmX,WAAa,GAChDC,WAAYL,EAAOK,YAAczmX,EAAIymX,YAAc,GACnDC,OAAQN,EAAOM,QAAU1mX,EAAI0mX,QAAU,GACvCC,SAAUP,EAAOO,UAAY3mX,EAAI2mX,UAAY,GAC7CC,MAAOR,EAAOQ,OAAS5mX,EAAI4mX,OAAS,GACpCC,OAAQT,EAAOS,QAAU7mX,EAAI6mX,QAAU,GACvCrrJ,MAAO4qJ,EAAO5qJ,OAENx7N,EAAIqmX,GACJrmX,EAAIsmX,IACJtmX,EAAIumX,OACJvmX,EAAIwmX,UACJxmX,EAAIymX,WACJzmX,EAAI0mX,OACJ1mX,EAAI2mX,SACJ3mX,EAAI4mX,MACJ5mX,EAAI6mX,QACD,GAEXC,YAAaV,EAAOU,aAEZ9mX,EAAIyvV,GACJzvV,EAAIqmX,GACJrmX,EAAIsmX,IACJtmX,EAAIumX,OACJvmX,EAAIwmX,UACJxmX,EAAIymX,WACJzmX,EAAI0mX,OACJ1mX,EAAI2mX,SACJ3mX,EAAI4mX,MACJ5mX,EAAI6mX,QACD,MAGf,CACIp3B,GAAI,EACJ42B,GAAI,EACJC,IAAK,EACLC,OAAQ,EACRC,UAAW,EACXC,WAAY,EACZC,OAAQ,EACRC,SAAU,EACVC,MAAO,EACPC,OAAQ,EACRrrJ,MAAO,EACPsrJ,YAAa,IAInBC,EAAoBZ,EAAgBhB,GACpC6B,EAAgBb,EAAgB74a,GAEhC25a,EAAe9/a,IAAK,CACtB6/N,MAAO7/N,EAAQ,EAAI,MAAQ,QAC3B4iX,UAAW,QACXpC,SAAU,SAGRu/D,EAAgBA,KAClB5lE,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,yBAAyBtV,MAAO,CAAEC,OAAQ,QAAS7zC,UAC9DwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,cAAalpD,UACxBwyV,EAAAA,GAAAA,KAACL,GAAO,QAKpB,OACImG,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,EACIwyV,EAAAA,GAAAA,KAAC/R,GAAU,CAACv3R,UAAU,YAAWlpD,UAC7Bs4V,EAAAA,GAAAA,MAACngB,GAAG,CAAAn4U,SAAA,EACAs4V,EAAAA,GAAAA,MAACvf,GAAG,CAACjB,GAAG,KAAKE,GAAG,IAAGh4U,SAAA,EACfwyV,EAAAA,GAAAA,KAACmC,GAAe,CAACzoW,KAAM,GAAIgsN,MAAM,aACjCs6I,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,uBAAsBlpD,SAAC,kBAE3CwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAKE,GAAG,IAAI9uR,UAAU,WAAUlpD,UACpCs4V,EAAAA,GAAAA,MAACngB,GAAG,CAAAn4U,SAAA,EACAwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,IAAI5uR,UAAU,aAAYlpD,UAC9BwyV,EAAAA,GAAAA,KAAC6lE,GAAW,CAACnvW,UAAU,WAAW/iD,QAASowZ,EAAOvlN,SAAWj3N,GAAM28a,EAAgB38a,EAAE1B,OAAQA,MAAOk+a,EAAM7qZ,MAAM4xC,GAAMA,EAAEjlE,QAAUo+a,SAEtIjkE,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,IAAI5uR,UAAU,aAAYlpD,UAC9BwyV,EAAAA,GAAAA,KAAC6lE,GAAW,CAACnvW,UAAU,WAAW/iD,QAAS4wZ,EAAO/lN,SAAWj3N,GAAM88a,EAAiB98a,EAAE1B,OAAQA,MAAO0+a,EAAMrrZ,MAAMwzQ,GAAMA,EAAE7mS,QAAUu+a,SAEvIpkE,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,IAAG93U,UACPwyV,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3uV,KAAK,KAAKgsN,MAAM,oBAAoBw2F,QAASA,IAAMioH,GAAYj+U,GAAS14E,UAC5EwyV,EAAAA,GAAAA,KAAA,OAAKvzV,IAAKq5Z,GAAWllQ,IAAI,2BAQjDo/L,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,MAAMtV,MAAO,CAAE8G,UAAW,SAAU16C,SAC9CqtM,GACGmlJ,EAAAA,GAAAA,KAAC4lE,EAAa,KAEd9/D,EAAAA,GAAAA,MAAA,SAAOpvS,UAAU,mCAAkClpD,SAAA,EAC/CwyV,EAAAA,GAAAA,KAAA,SAAOtpS,UAAU,wBAAwBtV,MAAO,CAAE0yO,WAAY,UAAWtmR,UACrEs4V,EAAAA,GAAAA,MAAA,MAAAt4V,SAAA,EACIwyV,EAAAA,GAAAA,KAAA,MAAAxyV,SAAI,YACJwyV,EAAAA,GAAAA,KAAA,MAAItpS,UAAU,UAASlpD,SAAC,cACxBwyV,EAAAA,GAAAA,KAAA,MAAItpS,UAAU,UAASlpD,SAAC,YACxBwyV,EAAAA,GAAAA,KAAA,MAAItpS,UAAU,UAASlpD,SAAC,SACxBwyV,EAAAA,GAAAA,KAAA,MAAItpS,UAAU,UAASlpD,SAAC,gBACxBwyV,EAAAA,GAAAA,KAAA,MAAItpS,UAAU,UAASlpD,SAAC,qBACxBwyV,EAAAA,GAAAA,KAAA,MAAItpS,UAAU,UAASlpD,SAAC,sBACxBwyV,EAAAA,GAAAA,KAAA,MAAItpS,UAAU,UAASlpD,SAAC,YACxBwyV,EAAAA,GAAAA,KAAA,MAAItpS,UAAU,UAASlpD,SAAC,oBACxBwyV,EAAAA,GAAAA,KAAA,MAAItpS,UAAU,UAASlpD,SAAC,WACxBwyV,EAAAA,GAAAA,KAAA,MAAItpS,UAAU,UAASlpD,SAAC,YACxBwyV,EAAAA,GAAAA,KAAA,MAAItpS,UAAU,UAASlpD,SAAC,WACxBwyV,EAAAA,GAAAA,KAAA,MAAItpS,UAAU,UAASlpD,SAAC,gBAGhCs4V,EAAAA,GAAAA,MAAA,SAAAt4V,SAAA,CACKq2Z,EAAapxa,KAAI,CAACisD,EAAK70D,KACpBi8W,EAAAA,GAAAA,MAAA,MAAAt4V,SAAA,EACIwyV,EAAAA,GAAAA,KAAA,MAAItpS,UAAU,SAAQlpD,SAAEkxC,EAAIqnX,UAC5B/lE,EAAAA,GAAAA,KAAA,MAAItpS,UAAU,UAAUtV,MAAOukX,EAAYjnX,EAAIyvV,IAAI3gY,SAAEklO,EAAah0L,EAAIyvV,OACtEnuC,EAAAA,GAAAA,KAAA,MAAItpS,UAAU,UAAUtV,MAAOukX,EAAYjnX,EAAIqmX,IAAIv3Z,SAAEklO,EAAah0L,EAAIqmX,OACtE/kE,EAAAA,GAAAA,KAAA,MAAItpS,UAAU,UAAUtV,MAAOukX,EAAYjnX,EAAIsmX,KAAKx3Z,SAAEklO,EAAah0L,EAAIsmX,QACvEhlE,EAAAA,GAAAA,KAAA,MAAItpS,UAAU,UAAUtV,MAAOukX,EAAYjnX,EAAIumX,QAAQz3Z,SAAEklO,EAAah0L,EAAIumX,WAC1EjlE,EAAAA,GAAAA,KAAA,MAAItpS,UAAU,UAAUtV,MAAOukX,EAAYjnX,EAAIwmX,WAAW13Z,SAAEklO,EAAah0L,EAAIwmX,cAC7EllE,EAAAA,GAAAA,KAAA,MAAItpS,UAAU,UAAUtV,MAAOukX,EAAYjnX,EAAIymX,YAAY33Z,SAAEklO,EAAah0L,EAAIymX,eAC9EnlE,EAAAA,GAAAA,KAAA,MAAItpS,UAAU,UAAUtV,MAAOukX,EAAYjnX,EAAI0mX,QAAQ53Z,SAAEklO,EAAah0L,EAAI0mX,WAC1EplE,EAAAA,GAAAA,KAAA,MAAItpS,UAAU,UAAUtV,MAAOukX,EAAYjnX,EAAI2mX,UAAU73Z,SAAEklO,EAAah0L,EAAI2mX,aAC5ErlE,EAAAA,GAAAA,KAAA,MAAItpS,UAAU,UAAUtV,MAAOukX,EAAYjnX,EAAI4mX,OAAO93Z,SAAEklO,EAAah0L,EAAI4mX,UACzEtlE,EAAAA,GAAAA,KAAA,MAAItpS,UAAU,UAAUtV,MAAOukX,EAAYjnX,EAAI6mX,QAAQ/3Z,SAAEklO,EAAah0L,EAAI6mX,WAC1EvlE,EAAAA,GAAAA,KAAA,MAAItpS,UAAU,UAAUtV,MAAOukX,EAC3BjnX,EAAIsmX,IACJtmX,EAAIumX,OACJvmX,EAAIwmX,UACJxmX,EAAIymX,WACJzmX,EAAI0mX,OACJ1mX,EAAI2mX,SACJ3mX,EAAI4mX,MACJ5mX,EAAI6mX,QACN/3Z,SACGklO,EACGh0L,EAAIsmX,IACJtmX,EAAIumX,OACJvmX,EAAIwmX,UACJxmX,EAAIymX,WACJzmX,EAAI0mX,OACJ1mX,EAAI2mX,SACJ3mX,EAAI4mX,MACJ5mX,EAAI6mX,WAGZvlE,EAAAA,GAAAA,KAAA,MAAItpS,UAAU,UAAUtV,MAAOukX,EAC3BjnX,EAAIyvV,GACJzvV,EAAIqmX,GACJrmX,EAAIsmX,IACJtmX,EAAIumX,OACJvmX,EAAIwmX,UACJxmX,EAAIymX,WACJzmX,EAAI0mX,OACJ1mX,EAAI2mX,SACJ3mX,EAAI4mX,MACJ5mX,EAAI6mX,QACN/3Z,SACGklO,EACGh0L,EAAIyvV,GACJzvV,EAAIqmX,GACJrmX,EAAIsmX,IACJtmX,EAAIumX,OACJvmX,EAAIwmX,UACJxmX,EAAIymX,WACJzmX,EAAI0mX,OACJ1mX,EAAI2mX,SACJ3mX,EAAI4mX,MACJ5mX,EAAI6mX,YAvDP17a,MA6Dbi8W,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,WAAWtV,MAAO,CAAEykK,gBAAiB,WAAYr4M,SAAA,EAC3DwyV,EAAAA,GAAAA,KAAA,MAAIj4V,QAAQ,IAAGyF,SAAC,SACfzlB,OAAOP,OAAOi+a,GAAmBhza,KAAI,CAAC5M,EAAOstE,IAClC,KAARA,GACI6sS,EAAAA,GAAAA,KAAA,MAActpS,UAAU,kBAAkBtV,MAAOukX,EAAY9/a,GAAO2nB,SAC/DklO,EAAa7sP,IADTstE,GAID,KAARA,IACI6sS,EAAAA,GAAAA,KAAA,MAActpS,UAAmB,KAARvD,GAAsB,IAARA,GAAqB,IAARA,EAAY,UAAY,UAAW/R,MAAOukX,EAAY9/a,GAAO2nB,SAC5GklO,EAAa7sP,IADTstE,SASzB2yS,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,WAAWtV,MAAO,CAAEykK,gBAAiB,WAAYr4M,SAAA,EAC3DwyV,EAAAA,GAAAA,KAAA,MAAIj4V,QAAQ,IAAGyF,SAAC,YACfzlB,OAAOP,OAAOk+a,GAAejza,KAAI,CAAC5M,EAAOstE,IAC9B,KAARA,GACI6sS,EAAAA,GAAAA,KAAA,MAActpS,UAAU,kBAAkBtV,MAAOukX,EAAY9/a,GAAO2nB,SAC/DklO,EAAa7sP,IADTstE,GAID,KAARA,IACI6sS,EAAAA,GAAAA,KAAA,MAActpS,UAAmB,KAARvD,GAAsB,IAARA,GAAqB,IAARA,EAAY,UAAY,UAAW/R,MAAOukX,EAAY9/a,GAAO2nB,SAC5GklO,EAAa7sP,IADTstE,kBAcrD,ECnIA,GAtKmBy4P,IAAqD,IAApD,GAAEnwR,EAAE,WAAEu0X,EAAU,cAAEC,EAAa,YAAEC,GAAatkG,EAC9D,MAAOukG,EAASC,IAAc9oJ,EAAAA,EAAAA,aACvB+oJ,EAASC,IAAchpJ,EAAAA,EAAAA,aACvBipJ,EAASC,IAAclpJ,EAAAA,EAAAA,aACvBmpJ,EAASC,IAAcppJ,EAAAA,EAAAA,aACvByqJ,EAASC,IAAc1qJ,EAAAA,EAAAA,WAAS,IAChC2qJ,EAAWC,IAAgB5qJ,EAAAA,EAAAA,UAAS2oJ,GACrCvgU,EAAa,CAAC,EAEdyiU,EAAcA,KAChBnC,IACAkC,GAAaD,IAAcA,GAAU,EAiGzC,OAzBAroJ,EAAAA,EAAAA,YAAU,KAIkB3wQ,iBACV84R,GAAK23E,OAAO,sBAAwBjuU,GAAIowB,MAAMzhE,IAChDgma,EAAWhma,EAAImE,MACf+ha,EAAWlma,EAAI29S,OACfyoH,EAAWpma,EAAI+rR,SACfu6I,EAAWtma,EAAI47a,SACfhU,GAAW,EAAM,GACnB,EAGNc,EAOK,GACV,CAACr3X,KAIAukU,EAAAA,GAAAA,KAAAC,GAAAA,SAAA,CAAAzyV,UACIs4V,EAAAA,GAAAA,MAACtiB,GAAK,CAACqF,OAAQopE,EAAWv4Z,KAAK,KAAKiqD,OAAQwuW,EAAap7D,SAAS,SAAQvpV,SAAA,EACtEwyV,EAAAA,GAAAA,KAAClG,GAAW,CAACpjS,UAAU,WAAW/S,OAAQwuW,EAAY3kZ,UAACwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,cAAalpD,SAAC,sBACnFukZ,GACG/xD,EAAAA,GAAAA,KAAC+yD,GAAW,KAEZjtD,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,EACIwyV,EAAAA,GAAAA,KAAC/F,GAAS,CAAAzsV,UACNs4V,EAAAA,GAAAA,MAACzK,GAAS,CAAA7tV,SAAA,EACNs4V,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAE,YAEnCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,OAAOypD,UAAQ,EAAC6S,UAAU,oBAAoBnoE,KAAK,OAAOktC,GAAG,OAAOwqC,YAAY,GAAGx4E,aAAc0ia,UAGrHrqD,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAC,aAElCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,OAAOypD,UAAQ,EAAC6S,UAAU,oBAAoBnoE,KAAK,QAAQktC,GAAG,QAAQwqC,YAAY,GAAGx4E,aAAc4ia,UAGvHvqD,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAC,eAElCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfwyV,EAAAA,GAAAA,KAAA,YAAUvkU,GAAG,UAAUooB,UAAQ,EAACt1D,KAAK,UAAU6yD,MAAO,CAAE8G,UAAW,SAAWwO,UAAU,iCAAiCy0B,KAAK,IAAItlG,MAAO0qa,UAKjJzqD,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAC,sBAElCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,OAAOypD,UAAQ,EAAC6S,UAAU,oBAAoBnoE,KAAK,SAASktC,GAAG,SAASwqC,YAAY,GAAGx4E,aAAcgja,eAKjI3qD,EAAAA,GAAAA,MAAC5L,GAAW,CAAA1sV,SAAA,EACRwyV,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3iI,MAAM,UAAUhsN,KAAK,KAAKg9D,UAAU,mBAAmBwlP,QAASA,KA7I5FxsN,EAAWnhG,KAAO4ha,EAClBzgU,EAAWq4M,MAAQsoH,EACnB3gU,EAAWymL,QAAUo6I,OAErBx+H,GAAKpiM,OAAO,0BAA4Bl0D,EAAIi0D,GAAY7jC,MAAMzhE,IAC1D+na,IACAjC,GAAY,IAAI7/Z,MAAOC,UAAU,KAuI0Ekd,SAAC,YAE5FwyV,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3iI,MAAM,YAAYhsN,KAAK,KAAKg9D,UAAU,mBAAmBwlP,QAASi2G,EAAY3kZ,SAAC,oBAKxG,ECuBX,GAtLiBo8V,KAEb,MAAM40D,GAAUv2J,EAAAA,EAAAA,WACT+4J,EAAYC,IAAiB35J,EAAAA,EAAAA,UAAS,KACtCm3J,EAAUvO,IAAe5oJ,EAAAA,EAAAA,aACzBo3J,EAAUC,IAAer3J,EAAAA,EAAAA,aACzBs3J,EAAmBC,IAAwBv3J,EAAAA,EAAAA,UAAS,KACpDw3J,EAAcC,IAAmBz3J,EAAAA,EAAAA,UAAS,KAC1C2qJ,EAAWC,IAAgB5qJ,EAAAA,EAAAA,WAAS,IACpC6qJ,EAAa6M,IAAkB13J,EAAAA,EAAAA,WAAS,IACxC23J,EAAYC,IAAiB53J,EAAAA,EAAAA,WAAS,GAEvCw4J,GAAcn3J,EAAAA,EAAAA,cAAY,KAC5Bk2J,EAAqB,CACjB9/Z,KAAM,EACNmB,SAAU,IACVwyL,UAAU,EACVvnM,QAAQ,EACR6Y,WAAW,EACXd,UAAU,EACVywH,aAAc,CAAC,MAAO,UAG1BorS,EAAgB,CACZ,CACIzkZ,WAAY,OACZruB,MAAO,OAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,QACZruB,MAAO,QAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,UACZruB,MAAO,UAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,iBACZruB,MAAO,UAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,KACZruB,MAAO,SAEPgjL,iBAAiB,EACjBxwK,MAAM,EAENrE,KAAM,kBAKb,GACF,KAaHwvQ,EAAAA,EAAAA,YAAU,KACNk2J,GAAa,GACd,CAACA,KAEJl2J,EAAAA,EAAAA,YAAU,KACc3wQ,iBACV84R,GAAK23E,OAAO,sBAAsB79S,MAAMzhE,IAC1C62a,EAAc72a,EAAI,GACpB,EAEN61a,GACA3wa,YAAW,KACP4va,GAAc,EAAM,GACrB,CAAC,KAAM,GAEX,CAACT,IAkBJ,OACI34D,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,EAEIwyV,EAAAA,GAAAA,KAAC/R,GAAU,CAACv3R,UAAU,YAAWlpD,UAC7Bs4V,EAAAA,GAAAA,MAACngB,GAAG,CAAAn4U,SAAA,EACAs4V,EAAAA,GAAAA,MAACvf,GAAG,CAACjB,GAAG,IAAI5uR,UAAU,cAAalpD,SAAA,EAC/BwyV,EAAAA,GAAAA,KAACyD,GAAgB,CAAC/pW,KAAM,GAAIg9D,UAAU,OAAOgvJ,MAAM,YAAY,YAC/Ds6I,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,kBAAiBlpD,SAAC,qBAGtCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,IAAI5uR,UAAU,wBAK9BspS,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,kBAAiBlpD,UAC5BwyV,EAAAA,GAAAA,KAACra,GAAG,CAAAn4U,UACAwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAI93U,SACPyxZ,GACGj/D,EAAAA,GAAAA,KAAClS,GAAQ,CAAC1sS,MAAO,CAAEC,OAAQ,SAAU7zC,UACjCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,yBAAwBlpD,UACnCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,cAAalpD,UACxBwyV,EAAAA,GAAAA,KAACL,GAAO,WAKpBK,EAAAA,GAAAA,KAAAC,GAAAA,SAAA,CAAAzyV,UAMIwyV,EAAAA,GAAAA,KAAClS,GAAQ,CAAC1sS,MAAO,CAAEC,OAAQ,SAAU7zC,UACjCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,kBAAkBtV,MAAO,CAAEC,OAAQ,OAAQx/C,MAAO,QAAS2L,UACtEwyV,EAAAA,GAAAA,KAAC//F,GAAAA,YAAW,CACRvtM,IAAK8rW,EACLxwS,QAASgzS,EACTx6Y,WAAYs4Y,EACZpqS,sBAAsB,mBACtBl7G,cAAeolZ,EACf3tS,YAAY,EAEZzO,aAAc,SAEd/yE,mBAAoB,GAEpBixX,mBA9Db/mU,KACvB,MAAMylI,EAAeo/L,EAAQ53J,QAAQrkQ,IAAIq5K,kBACb,IAAxBwjD,EAAal5O,SACby4a,EAAYv/L,EAAa,GAAG3jM,IA/BhCy2X,GAAcD,GAsCd,gBAqEKA,IAAajyD,EAAAA,GAAAA,KAACyiE,GAAS,CAAChnY,GAAIijY,EAAU1O,WAvG5BA,KACfkC,GAAaD,IAAa,IAE1B+M,GAAgB7M,EAAY,EAoGuClC,eAAe,EAAMC,YAAaA,MAGlG,EC8FX,GAnRmBtkG,IAAqD,IAApD,GAAEnwR,EAAE,WAAEu0X,EAAU,cAAEC,EAAa,YAAEC,GAAatkG,EAE9D,MAAOukG,EAASC,IAAc9oJ,EAAAA,EAAAA,aACvB+oJ,EAASC,IAAchpJ,EAAAA,EAAAA,aACvBipJ,EAASC,IAAclpJ,EAAAA,EAAAA,aACvBmpJ,EAASC,IAAcppJ,EAAAA,EAAAA,aACvBqpJ,EAASC,IAActpJ,EAAAA,EAAAA,aACvBupJ,EAASC,IAAcxpJ,EAAAA,EAAAA,aACvBypJ,EAASC,IAAc1pJ,EAAAA,EAAAA,aACvB2pJ,EAASC,IAAc5pJ,EAAAA,EAAAA,aACvB6pJ,EAASC,IAAc9pJ,EAAAA,EAAAA,aACvB+5J,EAASC,IAAch6J,EAAAA,EAAAA,WAAS,IAChC+pJ,EAASC,IAAchqJ,EAAAA,EAAAA,UAAS,KAChCyqJ,EAASC,IAAc1qJ,EAAAA,EAAAA,WAAS,IAChC2qJ,EAAWC,IAAgB5qJ,EAAAA,EAAAA,UAAS2oJ,GACrCvgU,EAAa,CAAC,EAEdyiU,EAAcA,KAChBnC,IACAkC,GAAaD,IAAcA,GAAU,EAsBnC3lD,EAAgB/kX,IAEI,QAAlBA,EAAEsD,OAAO0D,MACT6ha,EAAW7oa,EAAEsD,OAAOhF,OAGF,aAAlB0B,EAAEsD,OAAO0D,MACT+ha,EAAW/oa,EAAEsD,OAAOhF,OAGF,gBAAlB0B,EAAEsD,OAAO0D,MACTiia,EAAWjpa,EAAEsD,OAAOhF,OAGF,qBAAlB0B,EAAEsD,OAAO0D,MACTmia,EAAWnpa,EAAEsD,OAAOhF,OAIF,eAAlB0B,EAAEsD,OAAO0D,MACTqia,EAAWrpa,EAAEsD,OAAOhF,OAIF,gBAAlB0B,EAAEsD,OAAO0D,MACTuia,EAAWvpa,EAAEsD,OAAOhF,OAIF,WAAlB0B,EAAEsD,OAAO0D,MACTyia,EAAWzpa,EAAEsD,OAAOhF,OAIF,eAAlB0B,EAAEsD,OAAO0D,MACT2ia,EAAW3pa,EAAEsD,OAAOhF,OAIF,WAAlB0B,EAAEsD,OAAO0D,MACT+ia,EAAW/pa,EAAEsD,OAAOhF,OAIF,aAAlB0B,EAAEsD,OAAO0D,OAELhH,EAAEsD,OAAOm/D,SAETonW,EAAW,KACXkQ,GAAW,KAIXlQ,EAAW,KACXkQ,GAAW,KAMnB7uZ,SAASy+V,eAAe3pX,EAAEsD,OAAO4wC,IAAI2lB,MAAMspT,OAAS,mBAAmB,EAyC3E,OAtCA9gG,EAAAA,EAAAA,YAAU,KAIkB3wQ,iBACV84R,GAAK23E,OAAO,oBAAsBjuU,GAAIowB,MAAMzhE,IAC9Cgma,EAAWhma,EAAIq6O,KACf6rL,EAAWlma,EAAI67a,UACfzV,EAAWpma,EAAI87a,aACfxV,EAAWtma,EAAI+7a,kBACfvV,EAAWxma,EAAIg8a,YACftV,EAAW1ma,EAAIi8a,aACfrV,EAAW5ma,EAAI8wE,QACfg2V,EAAW9ma,EAAIk8a,YACflV,EAAWhna,EAAIm8a,UACM,MAAjBn8a,EAAIm8a,SACJjF,GAAW,GAGXA,GAAW,GAEf,IAAIjvI,EAAuB,OAAfjoS,EAAIo8a,OAAkBp8a,EAAIo8a,OAAS,GAC/ClV,EAAWj/H,GACX2/H,GAAW,EAAM,GACnB,EAGNc,EAOK,GACV,CAACr3X,KAIAukU,EAAAA,GAAAA,KAAAC,GAAAA,SAAA,CAAAzyV,UACIs4V,EAAAA,GAAAA,MAACtiB,GAAK,CAACqF,OAAQopE,EAAWv4Z,KAAK,KAAKiqD,OAAQwuW,EAAap7D,SAAS,SAAQvpV,SAAA,EACtEwyV,EAAAA,GAAAA,KAAClG,GAAW,CAACpjS,UAAU,WAAW/S,OAAQwuW,EAAY3kZ,UAACwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,cAAalpD,SAAC,gBACnFukZ,GACG/xD,EAAAA,GAAAA,KAAC+yD,GAAW,KAEZjtD,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,EACIwyV,EAAAA,GAAAA,KAAC/F,GAAS,CAAAzsV,UACNs4V,EAAAA,GAAAA,MAACzK,GAAS,CAAA7tV,SAAA,EACNs4V,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAE,WAEnCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,OAAOypD,UAAQ,EAAC6S,UAAU,oBAAoBnoE,KAAK,MAAMktC,GAAG,MAAMwqC,YAAY,GAAGx4E,aAAc0ia,UAGnHrqD,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAC,YAElCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,OAAOypD,UAAQ,EAAC6S,UAAU,oBAAoBnoE,KAAK,WAAWktC,GAAG,WAAWwqC,YAAY,GAAGx4E,aAAc4ia,UAG7HvqD,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAC,eAElCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,OAAOypD,UAAQ,EAAC6S,UAAU,oBAAoBnoE,KAAK,cAAcktC,GAAG,cAAcwqC,YAAY,GAAGx4E,aAAc8ia,UAGnIzqD,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAC,cAElCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,OAAOypD,UAAQ,EAAC6S,UAAU,aAAanoE,KAAK,mBAAmBktC,GAAG,mBAAmBwqC,YAAY,GAAGx4E,aAAcgja,UAGtI3qD,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAC,kBAElCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,OAAOypD,UAAQ,EAAC6S,UAAU,aAAanoE,KAAK,aAAaktC,GAAG,aAAawqC,YAAY,GAAGx4E,aAAckja,UAI1H7qD,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAC,mBAElCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,OAAOypD,UAAQ,EAAC6S,UAAU,aAAanoE,KAAK,cAAcktC,GAAG,cAAcwqC,YAAY,GAAGx4E,aAAcoja,UAG5H/qD,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAC,cAElCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,OAAOypD,UAAQ,EAAC6S,UAAU,aAAanoE,KAAK,SAASktC,GAAG,SAASwqC,YAAY,GAAGx4E,aAAcsja,UAGlHjrD,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAawlP,QA7LjDuqH,KACG,KAAZpV,GACAhia,OAAO8yC,KAAKkvX,EAChB,EA0LgFjwW,MAAO,CAAEmmL,OAAQ,WAAY/5N,SAAC,eAElFwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,OAAOs8D,UAAU,aAAanoE,KAAK,SAASktC,GAAG,SAASwqC,YAAY,GAAGpgF,MAAOwra,EAAS7yM,SAAU8tJ,UAIrHxG,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAC,oBAElCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfs4V,EAAAA,GAAAA,MAAClK,GAAK,CAACxhW,KAAK,SAAS7L,KAAK,aAAaktC,GAAG,aAAai7B,UAAU,aAAa7wE,MAAOora,EAASzyM,SAAU8tJ,EAAa9+V,SAAA,EACjHwyV,EAAAA,GAAAA,KAAA,UAAQtpS,UAAU,aAAa7wE,MAAM,QAAO2nB,SAAC,WAG7CwyV,EAAAA,GAAAA,KAAA,UAAQtpS,UAAU,aAAa7wE,MAAM,QAAO2nB,SAAC,WAG7CwyV,EAAAA,GAAAA,KAAA,UAAQtpS,UAAU,aAAa7wE,MAAM,QAAO2nB,SAAC,WAG7CwyV,EAAAA,GAAAA,KAAA,UAAQtpS,UAAU,aAAa7wE,MAAM,SAAQ2nB,SAAC,oBAM1Ds4V,EAAAA,GAAAA,MAACngB,GAAG,CAAAn4U,SAAA,EACAwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAC,iBAElCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,WAAW4vD,QAASq3W,EAAS9ya,KAAK,WAAWktC,GAAG,WAAWi7B,UAAU,cAAc8nJ,SAAU8tJ,eAoBzHxG,EAAAA,GAAAA,MAAC5L,GAAW,CAAA1sV,SAAA,EACRwyV,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3iI,MAAM,UAAUhsN,KAAK,KAAKg9D,UAAU,mBAAmBwlP,QAASA,KA5O5FxsN,EAAW+0I,IAAM0rL,EACjBzgU,EAAWg3U,WAAazV,EACxBvhU,EAAW62U,SAAWpV,EACtBzhU,EAAW82U,OAASnV,OAEpBt/H,GAAKpiM,OAAO,wBAA0Bl0D,EAAIi0D,GAAY7jC,MAAMzhE,IACxD+na,IACAjC,GAAY,IAAI7/Z,MAAOC,UAAU,KAqO0Ekd,SAAC,UAC5FwyV,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3iI,MAAM,YAAYhsN,KAAK,KAAKg9D,UAAU,mBAAmBwlP,QAASi2G,EAAY3kZ,SAAC,qBAKxG,EC8GX,GArXiBo8V,KAEb,MAAM40D,GAAUv2J,EAAAA,EAAAA,WACTw2J,EAAUvO,IAAe5oJ,EAAAA,EAAAA,aACzBo3J,EAAUC,IAAer3J,EAAAA,EAAAA,aACzBs3J,EAAmBC,IAAwBv3J,EAAAA,EAAAA,UAAS,KACpDw3J,EAAcC,IAAmBz3J,EAAAA,EAAAA,UAAS,KAC1C2qJ,EAAWC,IAAgB5qJ,EAAAA,EAAAA,WAAS,IACpC6qJ,EAAa6M,IAAkB13J,EAAAA,EAAAA,WAAS,IACxC23J,EAAYC,IAAiB53J,EAAAA,EAAAA,WAAS,IACtCt7Q,EAAMwjG,IAAW83K,EAAAA,EAAAA,UAAS,KAC1B63J,EAAYC,IAAiB93J,EAAAA,EAAAA,UAAS,KACtC+3J,EAASC,IAAch4J,EAAAA,EAAAA,UAAS,CAAC,YACjCq7J,EAASC,IAAct7J,EAAAA,EAAAA,UAAS,KAChCi4J,EAASC,IAAcl4J,EAAAA,EAAAA,UAAS,KAChCu6J,EAASC,IAAcx6J,EAAAA,EAAAA,UAAS,KAChC51M,EAAY+tW,IAAiBn4J,EAAAA,EAAAA,UAAS,CAAEzhR,MAAO,SAAU6mE,MAAO,YAChEm2W,EAAaC,IAAkBx7J,EAAAA,EAAAA,UAAS,KACxCq/J,EAAaC,IAAkBt/J,EAAAA,EAAAA,UAAS,KACxCo4J,EAAaC,IAAkBr4J,EAAAA,EAAAA,WAAS,IAExCn8Q,EAAQ48E,IAAau/L,EAAAA,EAAAA,WAAS,IAC9Bs4J,EAAYC,IAAiBv4J,EAAAA,EAAAA,WAAS,GAoBvCw4J,GAAcn3J,EAAAA,EAAAA,cAAY,KAC5Bk2J,EAAqB,CACjB9/Z,KAAM,EACNmB,SAAU,IACVwyL,UAAU,EACVvnM,QAAQ,EACR6Y,WAAW,EACXd,UAAU,EACVywH,aAAc,CAAC,MAAO,UAG1BorS,EAAgB,CACZ,CACIzkZ,WAAY,MACZruB,MAAO,MACPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,OACZruB,MAAO,WACPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,SACZruB,MAAO,mBACPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,UACZruB,MAAO,cACPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,aACZruB,MAAO,aACPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,cACZruB,MAAO,cACPgjL,iBAAiB,EACjB9jL,OAAQ,uBACRiP,KAAM,gBACNiG,SAAU,KAEd,CACIia,WAAY,SACZruB,MAAO,SACPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,aACZruB,MAAO,aACPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,MACZruB,MAAO,SACPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,WACZruB,MAAO,WACPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,KACZruB,MAAO,KACPgjL,iBAAiB,EACjBxwK,MAAM,EACNrE,KAAM,kBAIb,GACF,IAEGoma,EAAeA,CAACj5a,EAAGk0C,KAErB,IAAI6mY,EAAQ7mY,EAAGltC,KACD,cAAV+za,IACAhD,EAAW31a,MAAMC,QAAQrC,GAAKA,EAAEkL,KAAIs4D,GAAKA,EAAEllE,QAAS,IACpD45a,EAAcl4a,IAEJ,YAAV+6a,IACA7C,EAAcl4a,EAAE1B,OAChB+8a,EAAWj5a,MAAMC,QAAQrC,GAAKA,EAAEkL,KAAIs4D,GAAKA,EAAEllE,QAAS,IACpDi9a,EAAev7a,IAGL,UAAV+6a,IACAsE,EAAer/a,EAAE1B,OACjBi8a,EAAWn4a,MAAMC,QAAQrC,GAAKA,EAAEkL,KAAIs4D,GAAKA,EAAEllE,QAAS,IACpD+gb,EAAer/a,GACnB,GAGJqiR,EAAAA,EAAAA,YAAU,KACam2J,MACf,IAAIC,EAAQb,EAERE,EAAQn5a,OAAS,IACjB85a,EAAQA,EAAM70a,QAAOyG,GAAKyta,EAAQhvZ,MAAK5O,GAAQA,EAAKkK,SAAS/Z,EAAEspE,YAC/D6M,GAAU,IAGV46V,EAAQz8a,OAAS,IACjB85a,EAAQA,EAAM70a,QAAOyG,GAAK+wa,EAAQtyZ,MAAK5O,GAAQA,EAAKkK,SAAS/Z,EAAE20a,cAC/Dx+V,GAAU,IAGV85V,EAAQ37a,OAAS,IACjB85a,EAAQA,EAAM70a,QAAOyG,GAAKiwa,EAAQxxZ,MAAK5O,GAAQA,EAAKkK,SAAS/Z,EAAE00a,gBAC/Dv+V,GAAU,IAIE,KAAZw3V,IACAS,EAAQA,EAAM70a,QAAOyG,GAAKA,EAAEq0a,SAASjlZ,cAAcrV,SAAS4zZ,EAAQv+Y,gBAAkBpvB,EAAEu0a,iBAAiBnlZ,cAAcrV,SAAS4zZ,EAAQv+Y,gBAAkBpvB,EAAEs0a,YAAYllZ,cAAcrV,SAAS4zZ,EAAQv+Y,iBACvM+mD,GAAU,IAIS,IAAnBs3V,EAAQn5a,QAA4B,KAAZq5a,GAAqC,IAAnBoD,EAAQz8a,QAAmC,IAAnB27a,EAAQ37a,QAC1E6hF,GAAU,GAGdynB,EAAQwwU,EAAM,EAGlBD,EAAY,GACb,CAACV,EAASsD,EAASpD,EAASsC,EAAS1C,IAIxC,MAWMe,GAAcv3J,EAAAA,EAAAA,cAAY,KAC5B61J,EAAQ53J,QAAQrkQ,IAAI4zK,iBAAiB,GACtC,KAwBHyzF,EAAAA,EAAAA,YAAU,KACNk2J,GAAa,GACd,CAACA,KAEJl2J,EAAAA,EAAAA,YAAU,KACc3wQ,iBACV84R,GAAK23E,OAAO,oBAAoB79S,MAAMzhE,IACxColG,EAAQplG,GACRg1a,EAAch1a,EAAI,GACpB,EAEN61a,GACA3wa,YAAW,KACP4va,GAAc,EAAM,GACrB,CAAC,KAAM,GAEX,CAACT,IAWJ,OACI34D,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,EAEIwyV,EAAAA,GAAAA,KAAC/R,GAAU,CAACv3R,UAAU,YAAWlpD,UAC7Bs4V,EAAAA,GAAAA,MAACngB,GAAG,CAAAn4U,SAAA,EACAs4V,EAAAA,GAAAA,MAACvf,GAAG,CAACjB,GAAG,KAAKC,GAAG,IAAI7uR,UAAU,cAAalpD,SAAA,EACvCwyV,EAAAA,GAAAA,KAACqD,GAAoB,CAAC3pW,KAAM,GAAIg9D,UAAU,OAAOgvJ,MAAM,YAAY,YACnEs6I,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,kBAAiBlpD,SAAC,wBAGtCs4V,EAAAA,GAAAA,MAACvf,GAAG,CAACjB,GAAG,KAAKC,GAAG,IAAI7uR,UAAU,gBAAelpD,SAAA,EACzCwyV,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3uV,KAAK,KAAKgsN,MAAM,oBAAoBhvJ,UAAU,gBAAgBtV,MAAO,CAAEC,OAAQ,QAAU66P,QAASA,IAAM2jH,GAAeD,GAAYpyZ,SACtIriB,GACG60W,EAAAA,GAAAA,KAAA,OAAKvzV,IAAK0zZ,GAAav/P,IAAI,oBAE3Bo/L,EAAAA,GAAAA,KAAA,OAAKvzV,IAAK2zZ,GAASx/P,IAAI,cAI/Bo/L,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3uV,KAAK,KAAKgsN,MAAM,oBAAoBhvJ,UAAU,gBAAgBtV,MAAO,CAAEC,OAAQ,QAAU66P,QAASA,IAAMgkH,IAAc1yZ,UAC1HwyV,EAAAA,GAAAA,KAAA,OAAKvzV,IAAKupP,GAAUp1F,IAAI,wBAKxCklM,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,kBAAiBlpD,SAAA,CAC3BoyZ,IACG5/D,EAAAA,GAAAA,KAACtS,GAAI,CAACh3R,UAAU,iBAAgBlpD,UAC5BwyV,EAAAA,GAAAA,KAAClS,GAAQ,CAAC1sS,MAAO,CAAEykK,gBAAiB,WAAYr4M,UAE5Cs4V,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,yBAAwBlpD,SAAA,EACnCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAKC,GAAG,KAAK/0C,GAAG,IAAI95O,UAAU,OAAMlpD,UACxCs4V,EAAAA,GAAAA,MAAC5J,GAAU,CAAA1uV,SAAA,EACPwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,OAAOvU,MAAO05a,EAAS7oW,UAAU,oBAAoBnoE,KAAK,UAAUktC,GAAG,UAAUwqC,YAAY,oBAAoBu4I,SAjG3Ij3N,IAElB,IAAI84a,EAAc94a,EAAEsD,OAAOhF,MAEvB25a,EADgB,KAAhBa,EACWA,EAGA,GACf,KA0FgCrgE,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3uV,KAAK,KAAKgsN,MAAM,GAAGhvJ,UAAU,WAAWwlP,QAASA,IAAMsjH,EAAW,IAAIhyZ,UAC1EwyV,EAAAA,GAAAA,KAAA,OAAKvzV,IAAK6zD,GAAQsgG,IAAI,mBAIlCo/L,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAKC,GAAG,KAAK/0C,GAAG,IAAI95O,UAAU,OAAMlpD,UACxCwyV,EAAAA,GAAAA,KAACs+D,GAAM,CAAC5nW,UAAU,oBAAoB4pW,mBAAmB,EAAO3sZ,QAzQ/E,CACb,CAAE9tB,MAAO,SAAU6mE,MAAO,UAC1B,CAAE7mE,MAAO,YAAa6mE,MAAO,aAC7B,CAAE7mE,MAAO,SAAU6mE,MAAO,WAsQqF6zW,SAAS,EAAM/hN,SAAUgiN,EAAcjya,KAAK,YAC3Hd,aAAcikE,EACd7rE,MAAO6rE,EAEPuU,YAAa,iBAErB+5R,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAKC,GAAG,KAAK/0C,GAAG,IAAI95O,UAAU,OAAMlpD,UACxCwyV,EAAAA,GAAAA,KAACs+D,GAAM,CAAC5nW,UAAU,oBAAoB4pW,mBAAmB,EAAO3sZ,QA1Q/E,CACb,CAAE9tB,MAAO,IAAK6mE,MAAO,OACrB,CAAE7mE,MAAO,IAAK6mE,MAAO,OAwQ0F6zW,SAAS,EAAM/hN,SAAUgiN,EAAcjya,KAAK,UAC3Hd,aAAco1a,EACdh9a,MAAOg9a,EAEP58V,YAAa,mBAErB+5R,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAKC,GAAG,KAAK/0C,GAAG,IAAI95O,UAAU,OAAMlpD,UACxCwyV,EAAAA,GAAAA,KAACs+D,GAAM,CAAC5nW,UAAU,oBAAoB4pW,mBAAmB,EAAO3sZ,QA5Q/E,CACb,CAAE9tB,MAAO,QAAS6mE,MAAO,SACzB,CAAE7mE,MAAO,QAAS6mE,MAAO,UA0QsF6zW,SAAS,EAAM/hN,SAAUgiN,EAAcjya,KAAK,QAC3Hd,aAAck5a,EACd9gb,MAAO8gb,EAEP1gW,YAAa,sBAErB+5R,EAAAA,GAAAA,KAACzZ,GAAG,CAAC7vR,UAAU,WAAUlpD,UACrBs4V,EAAAA,GAAAA,MAACzd,GAAM,CAAC3uV,KAAK,KAAKgsN,MAAM,GAAGhvJ,UAAU,WAAWj7B,GAAG,iBAAiBygR,QAASA,KA7GzGyjH,GAAe,GACfE,GAAc,GACd93V,GAAU,GACVynB,EAAQ2vU,GACRM,EAAc,CAAE55a,MAAO,SAAU6mE,MAAO,WACxC4yW,EAAW,CAAC,WACZsD,EAAW,IACXd,EAAW,SACXtC,EAAW,KAqGuHhyZ,SAAA,EAClGwyV,EAAAA,GAAAA,KAAA,OAAKvzV,IAAKg0Z,GAAW7/P,IAAI,YACzBo/L,EAAAA,GAAAA,KAAC7F,GAAO,CACJtR,OAAQ62E,EACR70a,OAAO,iBACP84D,OAxSzBA,IAAMg8W,GAAgBD,GAySG5qY,UAAW,SAAStnB,SACvB,yCAYzBwyV,EAAAA,GAAAA,KAACra,GAAG,CAAAn4U,UACAwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAI93U,SACPyxZ,GACGj/D,EAAAA,GAAAA,KAAClS,GAAQ,CAAC1sS,MAAO,CAAEC,OAAQ,SAAU7zC,UACjCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,yBAAwBlpD,UACnCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,cAAalpD,UACxBwyV,EAAAA,GAAAA,KAACL,GAAO,WAKpBK,EAAAA,GAAAA,KAAAC,GAAAA,SAAA,CAAAzyV,UAEIwyV,EAAAA,GAAAA,KAAClS,GAAQ,CAAC1sS,MAAO,CAAEC,OAAQ,SAAU7zC,UACjCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,kBAAkBtV,MAAO,CAAEC,OAAQ,OAAQx/C,MAAO,QAAS2L,UACtEwyV,EAAAA,GAAAA,KAAC//F,GAAAA,YAAW,CACRvtM,IAAK8rW,EACLxwS,QAAShiI,EACTw6B,WAAYs4Y,EACZpqS,sBAAsB,mBACtBl7G,cAAeolZ,EACf3tS,YAAY,EACZzO,aAAc,SACd/yE,mBAAoB,GACpBixX,mBAjHb/mU,KACvB,MAAMylI,EAAeo/L,EAAQ53J,QAAQrkQ,IAAIq5K,kBACb,IAAxBwjD,EAAal5O,SACby4a,EAAYv/L,EAAa,GAAG3jM,IA9BhCy2X,GAAcD,GAgCd,iBAyHKA,IAAajyD,EAAAA,GAAAA,KAACyiE,GAAS,CAAChnY,GAAIijY,EAAU1O,WAtJ5BA,KACfkC,GAAaD,IAAa,IAE1B+M,GAAgB7M,EAAY,EAmJuClC,eAAe,EAAMC,YAAaA,MAElG,EC7JX,GA5NmBtkG,IAAqD,IAApD,GAAEnwR,EAAE,WAAEu0X,EAAU,cAAEC,EAAa,YAAEC,GAAatkG,EAE9D,MAAOukG,EAASC,IAAc9oJ,EAAAA,EAAAA,UAAS,KAChC+oJ,EAASC,IAAchpJ,EAAAA,EAAAA,UAAS,KAChCipJ,EAASC,IAAclpJ,EAAAA,EAAAA,UAAS,KAChCmpJ,EAASC,IAAcppJ,EAAAA,EAAAA,UAAS,KAChCqpJ,EAASC,IAActpJ,EAAAA,EAAAA,UAAS,KAChCupJ,EAASC,IAAcxpJ,EAAAA,EAAAA,UAAS,KAChCypJ,EAASC,IAAc1pJ,EAAAA,EAAAA,UAAS,KAChC2pJ,EAASC,IAAc5pJ,EAAAA,EAAAA,UAAS,KAKhCyqJ,EAASC,IAAc1qJ,EAAAA,EAAAA,WAAS,IAChC2qJ,EAAWC,IAAgB5qJ,EAAAA,EAAAA,UAAS2oJ,GACrCvgU,EAAa,CAAC,EAEdyiU,EAAcA,KAChBD,GAAaD,IAAcA,IAC3BjC,GAAY,EAqBV1jD,EAAgB/kX,IAEI,cAAlBA,EAAEsD,OAAO0D,MACT6ha,EAAW7oa,EAAEsD,OAAOhF,OAGF,aAAlB0B,EAAEsD,OAAO0D,MACT+ha,EAAW/oa,EAAEsD,OAAOhF,OAGF,QAAlB0B,EAAEsD,OAAO0D,MACTiia,EAAWjpa,EAAEsD,OAAOhF,OAGF,QAAlB0B,EAAEsD,OAAO0D,MACTmia,EAAWnpa,EAAEsD,OAAOhF,OAIF,UAAlB0B,EAAEsD,OAAO0D,MACTqia,EAAWrpa,EAAEsD,OAAOhF,OAIF,cAAlB0B,EAAEsD,OAAO0D,MACTuia,EAAWvpa,EAAEsD,OAAOhF,OAIF,cAAlB0B,EAAEsD,OAAO0D,MACTyia,EAAWzpa,EAAEsD,OAAOhF,OAIF,eAAlB0B,EAAEsD,OAAO0D,MACT2ia,EAAW3pa,EAAEsD,OAAOhF,OAKxB4sB,SAASy+V,eAAe3pX,EAAEsD,OAAO4wC,IAAI2lB,MAAMspT,OAAS,mBAAmB,EAiC3E,OA9BA9gG,EAAAA,EAAAA,YAAU,KAIkB3wQ,iBACV84R,GAAK23E,OAAO,mBAAqBjuU,GAAIowB,MAAMzhE,IAC7Cgma,EAAWhma,EAAIy8a,WACfvW,EAA4B,OAAjBlma,EAAI08a,SAAoB18a,EAAI08a,SAAW,IAClDtW,EAAuB,OAAZpma,EAAIq6O,IAAer6O,EAAIq6O,IAAM,IACxCisL,EAAuB,OAAZtma,EAAIs8X,IAAet8X,EAAIs8X,IAAM,IACxCkqC,EAAWxma,EAAI29S,OACf+oH,EAA6B,OAAlB1ma,EAAI28a,UAAqB38a,EAAI28a,UAAY,IAEpD/V,EAA6B,OAAlB5ma,EAAI48a,UAAqB58a,EAAI48a,UAAY,IACpD9V,EAAW9ma,EAAIk8a,YACftU,GAAW,EAAM,GACnB,EAGNc,EAOK,GACV,CAACr3X,KAIAukU,EAAAA,GAAAA,KAAAC,GAAAA,SAAA,CAAAzyV,UACIs4V,EAAAA,GAAAA,MAACtiB,GAAK,CAACqF,OAAQopE,EAAWv4Z,KAAK,KAAKiqD,OAAQwuW,EAAap7D,SAAS,SAAQvpV,SAAA,EACtEwyV,EAAAA,GAAAA,KAAClG,GAAW,CAACpjS,UAAU,WAAW/S,OAAQwuW,EAAY3kZ,UAACwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,cAAalpD,SAAC,gBACnFukZ,GACG/xD,EAAAA,GAAAA,KAAC+yD,GAAW,KAEZjtD,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,EACIwyV,EAAAA,GAAAA,KAAC/F,GAAS,CAAAzsV,UACNs4V,EAAAA,GAAAA,MAACzK,GAAS,CAAA7tV,SAAA,EACNs4V,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAE,mBAEnCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,OAAOs8D,UAAU,oBAAoBnoE,KAAK,YAAYktC,GAAG,YAAYwqC,YAAY,GAAGpgF,MAAOsqa,EAAS3xM,SAAU8tJ,UAGlIxG,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAC,kBAElCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,OAAOs8D,UAAU,oBAAoBnoE,KAAK,WAAWktC,GAAG,WAAWwqC,YAAY,GAAGpgF,MAAOwqa,EAAS7xM,SAAU8tJ,UAGhIxG,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAC,YAElCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,OAAOs8D,UAAU,oBAAoBnoE,KAAK,MAAMktC,GAAG,MAAMwqC,YAAY,GAAGpgF,MAAO0qa,EAAS/xM,SAAU8tJ,UAGtHxG,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAC,YAElCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,OAAOs8D,UAAU,aAAanoE,KAAK,MAAMktC,GAAG,MAAMwqC,YAAY,GAAGpgF,MAAO4qa,EAASjyM,SAAU8tJ,UAG/GxG,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAC,cAElCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,OAAOs8D,UAAU,aAAanoE,KAAK,QAAQktC,GAAG,QAAQwqC,YAAY,GAAGpgF,MAAO8qa,EAASnyM,SAAU8tJ,UAInHxG,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAC,oBAElCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,OAAOs8D,UAAU,aAAanoE,KAAK,aAAaktC,GAAG,aAAawqC,YAAY,GAAGpgF,MAAOora,EAASzyM,SAAU8tJ,UAI7HxG,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAC,kBAElCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfs4V,EAAAA,GAAAA,MAAClK,GAAK,CAACxhW,KAAK,SAAS7L,KAAK,YAAYktC,GAAG,YAAYi7B,UAAU,aAAa7wE,MAAOgra,EAASryM,SAAU8tJ,EAAa9+V,SAAA,EAC/GwyV,EAAAA,GAAAA,KAAA,UAAQtpS,UAAU,aAAa7wE,MAAM,KAAI2nB,SAAC,cAG1CwyV,EAAAA,GAAAA,KAAA,UAAQtpS,UAAU,aAAa7wE,MAAM,KAAI2nB,SAAC,mBAG1CwyV,EAAAA,GAAAA,KAAA,UAAQtpS,UAAU,aAAa7wE,MAAM,KAAI2nB,SAAC,kBAatDs4V,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAC,kBAElCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,OAAOypD,UAAQ,EAAC6S,UAAU,aAAanoE,KAAK,YAAYktC,GAAG,YAAYwqC,YAAY,GAAGpgF,MAAOkra,EAASvyM,SAAU8tJ,eAK5IxG,EAAAA,GAAAA,MAAC5L,GAAW,CAAA1sV,SAAA,EACRwyV,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3iI,MAAM,UAAUhsN,KAAK,KAAKg9D,UAAU,mBAAmBwlP,QAASA,KAzL5FxsN,EAAWwjU,UAAY/C,EACvBzgU,EAAWyjU,SAAW9C,EACtB3gU,EAAW+0I,IAAM8rL,EACjB7gU,EAAWwuS,IAAMuyB,EACjB/gU,EAAWu3U,MAAQtW,EACnBjhU,EAAWw3U,UAAYrW,EACvBnhU,EAAWg3U,WAAazV,OAExBl/H,GAAKpiM,OAAO,uBAAyBl0D,EAAIi0D,GAAY7jC,MAAMzhE,IACvD8la,GAAY,IAAI7/Z,MAAOC,WACvB6ha,GAAa,KA+K8F3kZ,SAAC,UAC5FwyV,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3iI,MAAM,YAAYhsN,KAAK,KAAKg9D,UAAU,mBAAmBwlP,QAASi2G,EAAY3kZ,SAAC,qBAKxG,ECNX,GA/MiBo8V,KAEb,MAAM40D,GAAUv2J,EAAAA,EAAAA,WACT+4J,EAAYC,IAAiB35J,EAAAA,EAAAA,UAAS,KACtCm3J,EAAUvO,IAAe5oJ,EAAAA,EAAAA,aACzBo3J,EAAUC,IAAer3J,EAAAA,EAAAA,aACzBs3J,EAAmBC,IAAwBv3J,EAAAA,EAAAA,UAAS,KACpDw3J,EAAcC,IAAmBz3J,EAAAA,EAAAA,UAAS,KAC1C2qJ,EAAWC,IAAgB5qJ,EAAAA,EAAAA,WAAS,IACpC6qJ,EAAa6M,IAAkB13J,EAAAA,EAAAA,WAAS,IACxC23J,EAAYC,IAAiB53J,EAAAA,EAAAA,WAAS,GAEvCw4J,GAAcn3J,EAAAA,EAAAA,cAAY,KAC5Bk2J,EAAqB,CACjB9/Z,KAAM,EACNmB,SAAU,IACVwyL,UAAU,EACVvnM,QAAQ,EACR6Y,WAAW,EACXd,UAAU,EACVywH,aAAc,CAAC,MAAO,UAG1BorS,EAAgB,CACZ,CACIzkZ,WAAY,aACZruB,MAAO,YAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,YACZruB,MAAO,WAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,cACZruB,MAAO,aAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,MACZruB,MAAO,MAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,QACZruB,MAAO,QAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,aACZruB,MAAO,YAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,MACZruB,MAAO,MAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,aACZruB,MAAO,YAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,KACZruB,MAAO,SAEPgjL,iBAAiB,EACjBxwK,MAAM,EAENrE,KAAM,kBAKb,GACF,KAaHwvQ,EAAAA,EAAAA,YAAU,KACNk2J,GAAa,GACd,CAACA,KAEJl2J,EAAAA,EAAAA,YAAU,KACc3wQ,iBACV84R,GAAK23E,OAAO,oBAAoB79S,MAAMzhE,IACxC62a,EAAc72a,EAAI,GACpB,EAEN61a,GACA3wa,YAAW,KACP4va,GAAc,EAAM,GACrB,CAAC,KAAM,GAEX,CAACT,IAkBJ,OACI34D,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,EAEIwyV,EAAAA,GAAAA,KAAC/R,GAAU,CAACv3R,UAAU,YAAWlpD,UAC7BwyV,EAAAA,GAAAA,KAACra,GAAG,CAAAn4U,UACAs4V,EAAAA,GAAAA,MAACvf,GAAG,CAACjB,GAAG,KAAK5uR,UAAU,cAAalpD,SAAA,EAChCwyV,EAAAA,GAAAA,KAACuE,GAAa,CAAC7qW,KAAM,GAAIg9D,UAAU,OAAOgvJ,MAAM,YAAY,YAC5Ds6I,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,kBAAiBlpD,SAAC,4BAK9CwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,kBAAiBlpD,UAC5BwyV,EAAAA,GAAAA,KAACra,GAAG,CAAAn4U,UACAwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAI93U,SACPyxZ,GACGj/D,EAAAA,GAAAA,KAAClS,GAAQ,CAAC1sS,MAAO,CAAEC,OAAQ,SAAU7zC,UACjCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,yBAAwBlpD,UACnCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,cAAalpD,UACxBwyV,EAAAA,GAAAA,KAACL,GAAO,WAKpBK,EAAAA,GAAAA,KAAAC,GAAAA,SAAA,CAAAzyV,UAMIwyV,EAAAA,GAAAA,KAAClS,GAAQ,CAAC1sS,MAAO,CAAEC,OAAQ,SAAU7zC,UACjCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,kBAAkBtV,MAAO,CAAEC,OAAQ,OAAQx/C,MAAO,QAAS2L,UACtEwyV,EAAAA,GAAAA,KAAC//F,GAAAA,YAAW,CACRvtM,IAAK8rW,EACLxwS,QAASgzS,EACTx6Y,WAAYs4Y,EACZpqS,sBAAsB,mBACtBl7G,cAAeolZ,EACf3tS,YAAY,EAEZzO,aAAc,SAEd/yE,mBAAoB,GAEpBixX,mBA5Db/mU,KACvB,MAAMylI,EAAeo/L,EAAQ53J,QAAQrkQ,IAAIq5K,kBACb,IAAxBwjD,EAAal5O,SACby4a,EAAYv/L,EAAa,GAAGklM,QA9BhCpS,GAAcD,GAsCd,gBAkEKA,IAAajyD,EAAAA,GAAAA,KAACyiE,GAAS,CAAChnY,GAAIijY,EAAU1O,WApG5BA,KACfkC,GAAaD,IAAa,IAE1B+M,GAAgB7M,EAAY,EAiGuClC,eAAe,EAAMC,YAAaA,MAGlG,EC2FX,GAzSmBtkG,IAAqD,IAApD,GAAEnwR,EAAE,WAAEu0X,EAAU,cAAEC,EAAa,YAAEC,GAAatkG,EAE9D,MAAOukG,EAASC,IAAc9oJ,EAAAA,EAAAA,UAAS,KAChC+oJ,EAASC,IAAchpJ,EAAAA,EAAAA,UAAS,KAChCipJ,EAASC,IAAclpJ,EAAAA,EAAAA,UAAS,KAChCmpJ,EAASC,IAAcppJ,EAAAA,EAAAA,UAAS,KAChCqpJ,EAASC,IAActpJ,EAAAA,EAAAA,UAAS,KAChCupJ,EAASC,IAAcxpJ,EAAAA,EAAAA,UAAS,KAEhC2pJ,EAASC,IAAc5pJ,EAAAA,EAAAA,UAAS,KAChC6/J,EAAQC,IAAa9/J,EAAAA,EAAAA,WAAS,IAK9ByqJ,EAASC,IAAc1qJ,EAAAA,EAAAA,WAAS,IAChC2qJ,EAAWC,IAAgB5qJ,EAAAA,EAAAA,UAAS2oJ,GACrCvgU,EAAa,CAAC,EACd23U,GAAc,IAAIh3a,MAAO4/D,cAAgB,KAAO,MAAO,IAAI5/D,MAAO6/D,WAAa,IAAI1gE,OAAO,GAE1F2ia,EAAcA,KAChBD,GAAaD,IAAcA,IAC3BjC,GAAY,EA4CV1jD,EAAgB/kX,IAEI,WAAlBA,EAAEsD,OAAO0D,MACT6ha,EAAW7oa,EAAEsD,OAAOhF,OAGF,SAAlB0B,EAAEsD,OAAO0D,MACT+ha,EAAW/oa,EAAEsD,OAAOhF,OAGF,WAAlB0B,EAAEsD,OAAO0D,MACTiia,EAAWjpa,EAAEsD,OAAOhF,OAGF,WAAlB0B,EAAEsD,OAAO0D,MACTmia,EAAWnpa,EAAEsD,OAAOhF,OAIF,UAAlB0B,EAAEsD,OAAO0D,MACTqia,EAAWrpa,EAAEsD,OAAOhF,OAIF,YAAlB0B,EAAEsD,OAAO0D,MACTuia,EAAWvpa,EAAEsD,OAAOhF,OAIF,YAAlB0B,EAAEsD,OAAO0D,MACT2ia,EAAW3pa,EAAEsD,OAAOhF,OAKxB4sB,SAASy+V,eAAe3pX,EAAEsD,OAAO4wC,IAAI2lB,MAAMspT,OAAS,mBAAmB,EA4C3E,OAzCA9gG,EAAAA,EAAAA,YAAU,KACU3qD,MAIZ,GAAW,QAAPxjL,EACA2rY,GAAU,GACV1W,EAAW2W,OAER,CAEHD,GAAU,GAGUnua,iBACV84R,GAAK23E,OAAO,sBAAwBjuU,GAAIowB,MAAMzhE,IAChDgma,EAA0B,OAAfhma,EAAIk9a,OAAkBl9a,EAAIk9a,OAAS,IAC9ChX,EAAwB,OAAblma,EAAIm9a,KAAgBn9a,EAAIm9a,KAAO,IAC1C/W,EAAWpma,EAAI2S,QACf2zZ,EAAWtma,EAAI27a,QACfnV,EAAWxma,EAAIvE,OACfira,EAA2B,OAAhB1ma,EAAIo9a,QAAmBp9a,EAAIo9a,QAAU,IAEhDtW,EAA2B,OAAhB9ma,EAAIq9a,QAAmBr9a,EAAIq9a,QAAU,IAChDzV,GAAW,EAAM,GACnB,EAGNc,EACJ,GAQJ7zM,EAAS,GACV,CAACxjL,EAAI4rY,KAIJrnE,EAAAA,GAAAA,KAAAC,GAAAA,SAAA,CAAAzyV,UACIs4V,EAAAA,GAAAA,MAACtiB,GAAK,CAACqF,OAAQopE,EAAWv4Z,KAAK,KAAKiqD,OAAQwuW,EAAap7D,SAAS,SAAQvpV,SAAA,EACtEwyV,EAAAA,GAAAA,KAAClG,GAAW,CAACpjS,UAAU,WAAW/S,OAAQwuW,EAAY3kZ,SACjD25Z,GACGnnE,EAAAA,GAAAA,KAAAC,GAAAA,SAAA,CAAAzyV,UACIwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,cAAalpD,SAAC,gCAKjCwyV,EAAAA,GAAAA,KAAAC,GAAAA,SAAA,CAAAzyV,UACIwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,cAAalpD,SAAC,mCAMxCukZ,GACG/xD,EAAAA,GAAAA,KAAC+yD,GAAW,KAEZjtD,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,EACIwyV,EAAAA,GAAAA,KAAC/F,GAAS,CAAAzsV,UACNs4V,EAAAA,GAAAA,MAACzK,GAAS,CAAA7tV,SAAA,EACNs4V,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAC,YAElCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfs4V,EAAAA,GAAAA,MAAClK,GAAK,CAACxhW,KAAK,SAAS7L,KAAK,SAASktC,GAAG,SAASi7B,UAAU,aAAa7wE,MAAOsqa,EAAS3xM,SAAU8tJ,EAAa9+V,SAAA,EACzGwyV,EAAAA,GAAAA,KAAA,UAAQtpS,UAAU,aAAa7wE,MAAM,MAGrCm6W,EAAAA,GAAAA,KAAA,UAAQtpS,UAAU,aAAa7wE,MAAM,QAAO2nB,SAAC,wBAG7CwyV,EAAAA,GAAAA,KAAA,UAAQtpS,UAAU,aAAa7wE,MAAM,QAAO2nB,SAAC,4BAG7CwyV,EAAAA,GAAAA,KAAA,UAAQtpS,UAAU,aAAa7wE,MAAM,QAAO2nB,SAAC,0BAG7CwyV,EAAAA,GAAAA,KAAA,UAAQtpS,UAAU,aAAa7wE,MAAM,QAAO2nB,SAAC,2BAG7CwyV,EAAAA,GAAAA,KAAA,UAAQtpS,UAAU,aAAa7wE,MAAM,QAAO2nB,SAAC,+BAG7CwyV,EAAAA,GAAAA,KAAA,UAAQtpS,UAAU,aAAa7wE,MAAM,SAAQ2nB,SAAC,uBAG9CwyV,EAAAA,GAAAA,KAAA,UAAQtpS,UAAU,aAAa7wE,MAAM,SAAQ2nB,SAAC,0BAO1Ds4V,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAC,UAElCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfs4V,EAAAA,GAAAA,MAAClK,GAAK,CAACxhW,KAAK,SAAS7L,KAAK,OAAOktC,GAAG,OAAOi7B,UAAU,aAAa7wE,MAAOwqa,EAAS7xM,SAAU8tJ,EAAa9+V,SAAA,EACrGwyV,EAAAA,GAAAA,KAAA,UAAQtpS,UAAU,aAAa7wE,MAAM,MAGrCm6W,EAAAA,GAAAA,KAAA,UAAQtpS,UAAU,aAAa7wE,MAAM,QAAO2nB,SAAC,wBAG7CwyV,EAAAA,GAAAA,KAAA,UAAQtpS,UAAU,aAAa7wE,MAAM,QAAO2nB,SAAC,4BAG7CwyV,EAAAA,GAAAA,KAAA,UAAQtpS,UAAU,aAAa7wE,MAAM,QAAO2nB,SAAC,0BAG7CwyV,EAAAA,GAAAA,KAAA,UAAQtpS,UAAU,aAAa7wE,MAAM,QAAO2nB,SAAC,2BAG7CwyV,EAAAA,GAAAA,KAAA,UAAQtpS,UAAU,aAAa7wE,MAAM,QAAO2nB,SAAC,+BAG7CwyV,EAAAA,GAAAA,KAAA,UAAQtpS,UAAU,aAAa7wE,MAAM,SAAQ2nB,SAAC,uBAG9CwyV,EAAAA,GAAAA,KAAA,UAAQtpS,UAAU,aAAa7wE,MAAM,SAAQ2nB,SAAC,0BAO1Ds4V,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAC,sBAElCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,OAAOs8D,UAAU,aAAanoE,KAAK,SAASktC,GAAG,SAASwqC,YAAY,GAAGx4E,aAAc8ia,EAAS/xM,SAAU8tJ,UAG5HxG,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAC,eAElCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,OAAOs8D,UAAU,aAAanoE,KAAK,SAASktC,GAAG,SAASwqC,YAAY,GAAGpgF,MAAO4qa,EAASjyM,SAAU8tJ,UAGrHxG,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAC,cAElCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,OAAOs8D,UAAU,aAAanoE,KAAK,QAAQktC,GAAG,QAAQwqC,YAAY,GAAGpgF,MAAO8qa,EAASnyM,SAAU8tJ,UAGnHxG,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAC,kBAElCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,OAAOs8D,UAAU,aAAanoE,KAAK,UAAUktC,GAAG,UAAUwqC,YAAY,GAAGpgF,MAAOgra,EAASryM,SAAU8tJ,UAIvHxG,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAC,kBAElCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,OAAOs8D,UAAU,aAAanoE,KAAK,UAAUktC,GAAG,UAAUwqC,YAAY,GAAGpgF,MAAOora,EAASzyM,SAAU8tJ,eAQ/HxG,EAAAA,GAAAA,MAAC5L,GAAW,CAAA1sV,SAAA,EACRwyV,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3iI,MAAM,UAAUhsN,KAAK,KAAKg9D,UAAU,mBAAmBwlP,QAASA,KAjQ5FxsN,EAAW43U,OAASnX,EACpBzgU,EAAW63U,KAAOlX,EAClB3gU,EAAW3yF,OAASwzZ,EACpB7gU,EAAWq2U,OAAStV,EACpB/gU,EAAW7pG,MAAQ8qa,EACnBjhU,EAAW83U,QAAU3W,EACrBnhU,EAAW+3U,QAAUxW,OAEV,QAAPx1X,EACAs2P,GAAKl4R,IAAI,yBAA0B61F,GAAY7jC,MAAMzhE,IACjD8la,GAAY,IAAI7/Z,MAAOC,WACvB6ha,GAAa,IAIjBpgI,GAAKpiM,OAAO,0BAA4Bl0D,EAAIi0D,GAAY7jC,MAAMzhE,IAC1D8la,GAAY,IAAI7/Z,MAAOC,WACvB6ha,GAAa,MAgP0F3kZ,SAAC,SAC3F25Z,IACGnnE,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3iI,MAAM,UAAUhsN,KAAK,KAAKg9D,UAAU,mBAAmBwlP,QAASA,KA3OhGxsN,EAAW43U,OAASnX,EACpBzgU,EAAW63U,KAAOlX,EAClB3gU,EAAW3yF,OAASwzZ,EACpB7gU,EAAWq2U,OAAStV,EACpB/gU,EAAW7pG,MAAQ8qa,EACnBjhU,EAAW83U,QAAU3W,EACrBnhU,EAAW+3U,QAAUxW,OAErBl/H,GAAKpiM,OAAO,0BAA4Bl0D,EAAIi0D,GAAY7jC,MAAMzhE,IAC1D+na,IACAjC,GAAY,IAAI7/Z,MAAOC,UAAU,KAiO8Ekd,SAAC,YAEhGwyV,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3iI,MAAM,YAAYhsN,KAAK,KAAKg9D,UAAU,mBAAmBwlP,QAASi2G,EAAY3kZ,SAAC,qBAKxG,EC9PX,MACA,GAAe,IAA0B,6DC6LzC,GAjOiBo8V,KAEb,MAAM40D,GAAUv2J,EAAAA,EAAAA,WACT+4J,EAAYC,IAAiB35J,EAAAA,EAAAA,UAAS,KACtCm3J,EAAUvO,IAAe5oJ,EAAAA,EAAAA,aACzBo3J,EAAUC,IAAer3J,EAAAA,EAAAA,aACzBs3J,EAAmBC,IAAwBv3J,EAAAA,EAAAA,UAAS,KACpDw3J,EAAcC,IAAmBz3J,EAAAA,EAAAA,UAAS,KAC1C2qJ,EAAWC,IAAgB5qJ,EAAAA,EAAAA,WAAS,IACpC6qJ,EAAa6M,IAAkB13J,EAAAA,EAAAA,WAAS,IACxC23J,EAAYC,IAAiB53J,EAAAA,EAAAA,WAAS,GAEvC50B,GAAei2B,EAAAA,EAAAA,cAAar5M,GAEtBA,EACHtE,QAAQ,GACR35D,QAAQ,0BAA2B,QACzC,IACG6va,GAAoBv4J,EAAAA,EAAAA,cAAa72Q,GAC5B4gP,EAAa5gP,EAAOjM,QAE5B,CAAC6sP,IAEEotL,GAAcn3J,EAAAA,EAAAA,cAAY,KAC5Bk2J,EAAqB,CACjB9/Z,KAAM,EACNmB,SAAU,IACVwyL,UAAU,EACVvnM,QAAQ,EACR6Y,WAAW,EACXd,UAAU,EACVywH,aAAc,CAAC,MAAO,UAG1BorS,EAAgB,CACZ,CACIzkZ,WAAY,OACZruB,MAAO,SAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,KACZruB,MAAO,OAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,gBACZruB,MAAO,SAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,SACZruB,MAAO,SAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,QACZruB,MAAO,QAEPgjL,iBAAiB,EACjB9jL,OAAQ,uBACRiP,KAAM,gBACNq7M,eAAgByrN,EAChB7ga,SAAU,KAGd,CACIia,WAAY,oBACZruB,MAAO,UAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,oBACZruB,MAAO,UAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,KACZruB,MAAO,KAEPgjL,iBAAiB,EACjBxwK,MAAM,EAENrE,KAAM,kBAKb,GACF,CAAC8ma,KAmBJt3J,EAAAA,EAAAA,YAAU,KACNk2J,GAAa,GACd,CAACA,KAEJl2J,EAAAA,EAAAA,YAAU,KACc3wQ,iBACV84R,GAAK23E,OAAO,sBAAsB79S,MAAMzhE,IAC1C62a,EAAc72a,EAAI,GACpB,EAEN61a,GACA3wa,YAAW,KACP4va,GAAc,EAAM,GACrB,CAAC,KAAM,GAEX,CAACT,IAkBJ,OACI34D,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,EAEIwyV,EAAAA,GAAAA,KAAC/R,GAAU,CAACv3R,UAAU,YAAWlpD,UAC7Bs4V,EAAAA,GAAAA,MAACngB,GAAG,CAAAn4U,SAAA,EACAs4V,EAAAA,GAAAA,MAACvf,GAAG,CAACjB,GAAG,KAAKC,GAAG,IAAI7uR,UAAU,cAAalpD,SAAA,EACvCwyV,EAAAA,GAAAA,KAACiE,GAAuB,CAACvqW,KAAM,GAAIg9D,UAAU,OAAOgvJ,MAAM,YAAY,YACtEs6I,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,kBAAiBlpD,SAAC,mCAGtCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAKC,GAAG,IAAI7uR,UAAU,gBAAelpD,UACzCwyV,EAAAA,GAAAA,KAAC3X,GAAM,CAACnsC,QAzDTwrH,KACf/I,EAAY,OACZzM,GAAcD,EAAU,EAuDqBv4Z,KAAK,KAAKgsN,MAAM,YAAYhvJ,UAAU,WAAWtV,MAAO,CAAEC,OAAQ,QAAS7zC,UAAEwyV,EAAAA,GAAAA,KAAA,OAAKvzV,IAAK5S,GAAK+mK,IAAI,kBAKzIo/L,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,kBAAiBlpD,UAC5BwyV,EAAAA,GAAAA,KAACra,GAAG,CAAAn4U,UACAwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAI93U,SACPyxZ,GACGj/D,EAAAA,GAAAA,KAAClS,GAAQ,CAAC1sS,MAAO,CAAEC,OAAQ,SAAU7zC,UACjCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,yBAAwBlpD,UACnCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,cAAalpD,UACxBwyV,EAAAA,GAAAA,KAACL,GAAO,WAKpBK,EAAAA,GAAAA,KAAAC,GAAAA,SAAA,CAAAzyV,UAMIwyV,EAAAA,GAAAA,KAAClS,GAAQ,CAAC1sS,MAAO,CAAEC,OAAQ,SAAU7zC,UACjCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,kBAAkBtV,MAAO,CAAEC,OAAQ,OAAQx/C,MAAO,QAAS2L,UACtEwyV,EAAAA,GAAAA,KAAC//F,GAAAA,YAAW,CACRvtM,IAAK8rW,EACLxwS,QAASgzS,EACTx6Y,WAAYs4Y,EACZpqS,sBAAsB,mBACtBl7G,cAAeolZ,EACf3tS,YAAY,EAEZzO,aAAc,SAEd/yE,mBAAoB,GAEpBixX,mBAhEb/mU,KACvB,MAAMylI,EAAeo/L,EAAQ53J,QAAQrkQ,IAAIq5K,kBACb,IAAxBwjD,EAAal5O,SACby4a,EAAYv/L,EAAa,GAAG3jM,IApChCy2X,GAAcD,GA4Cd,gBAsEKA,IAAajyD,EAAAA,GAAAA,KAACyiE,GAAS,CAAChnY,GAAIijY,EAAU1O,WAxG5BA,KACfkC,GAAaD,IAAa,IAE1B+M,GAAgB7M,EAAY,EAqGuClC,eAAe,EAAMC,YAAaA,MAGlG,ECNX,GAvNiBtmD,KAEb,MAAM40D,GAAUv2J,EAAAA,EAAAA,WACT+4J,EAAYC,IAAiB35J,EAAAA,EAAAA,UAAS,KACtCm3J,EAAUvO,IAAe5oJ,EAAAA,EAAAA,aACzBo3J,EAAUC,IAAer3J,EAAAA,EAAAA,aACzBs3J,EAAmBC,IAAwBv3J,EAAAA,EAAAA,UAAS,KACpDw3J,EAAcC,IAAmBz3J,EAAAA,EAAAA,UAAS,KAC1C2qJ,EAAWC,IAAgB5qJ,EAAAA,EAAAA,WAAS,IACpC6qJ,EAAa6M,IAAkB13J,EAAAA,EAAAA,WAAS,IACxC23J,EAAYC,IAAiB53J,EAAAA,EAAAA,WAAS,GAGvCw4J,GAAcn3J,EAAAA,EAAAA,cAAY,KAC5Bk2J,EAAqB,CACjB9/Z,KAAM,EACNmB,SAAU,IACVwyL,UAAU,EACVvnM,QAAQ,EACR6Y,WAAW,EACXd,UAAU,EACVywH,aAAc,CAAC,MAAO,UAG1BorS,EAAgB,CACZ,CACIzkZ,WAAY,UACZruB,MAAO,UAEPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,aACZruB,MAAO,aAEPgjL,iBAAiB,EACjB5uK,SAAU,KAyCd,CACIia,WAAY,KACZruB,MAAO,KAEPgjL,iBAAiB,EACjBxwK,MAAM,EAENrE,KAAM,kBAKb,GACF,KAmBHwvQ,EAAAA,EAAAA,YAAU,KACNk2J,GAAa,GACd,CAACA,KAEJl2J,EAAAA,EAAAA,YAAU,KACc3wQ,iBACV84R,GAAK23E,OAAO,sBAAsB79S,MAAMzhE,IAC1C62a,EAAc72a,EAAI,GACpB,EAEN61a,GACA3wa,YAAW,KACP4va,GAAc,EAAM,GACrB,CAAC,KAAM,GAEX,CAACT,IAkBJ,OACI34D,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,EAEIwyV,EAAAA,GAAAA,KAAC/R,GAAU,CAACv3R,UAAU,YAAWlpD,UAC7Bs4V,EAAAA,GAAAA,MAACngB,GAAG,CAAAn4U,SAAA,EACAs4V,EAAAA,GAAAA,MAACvf,GAAG,CAACjB,GAAG,KAAKC,GAAG,IAAI7uR,UAAU,cAAalpD,SAAA,EACvCwyV,EAAAA,GAAAA,KAAC+D,GAAgB,CAACrqW,KAAM,GAAIg9D,UAAU,OAAOgvJ,MAAM,YAAY,YAC/Ds6I,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,kBAAiBlpD,SAAC,wBAGtCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAKC,GAAG,IAAI7uR,UAAU,gBAAelpD,UACzCwyV,EAAAA,GAAAA,KAAC3X,GAAM,CAACnsC,QAzDTwrH,KACf/I,EAAY,OACZzM,GAAcD,EAAU,EAuDqBv4Z,KAAK,KAAKgsN,MAAM,YAAYhvJ,UAAU,WAAWtV,MAAO,CAAEC,OAAQ,QAAS7zC,UAAEwyV,EAAAA,GAAAA,KAAA,OAAKvzV,IAAK5S,GAAK+mK,IAAI,kBAKzIo/L,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,kBAAiBlpD,UAC5BwyV,EAAAA,GAAAA,KAACra,GAAG,CAAAn4U,UACAwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAI93U,SACPyxZ,GACGj/D,EAAAA,GAAAA,KAAClS,GAAQ,CAAC1sS,MAAO,CAAEC,OAAQ,SAAU7zC,UACjCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,yBAAwBlpD,UACnCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,cAAalpD,UACxBwyV,EAAAA,GAAAA,KAACL,GAAO,WAKpBK,EAAAA,GAAAA,KAAAC,GAAAA,SAAA,CAAAzyV,UAMIwyV,EAAAA,GAAAA,KAAClS,GAAQ,CAAC1sS,MAAO,CAAEC,OAAQ,SAAU7zC,UACjCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,kBAAkBtV,MAAO,CAAEC,OAAQ,OAAQx/C,MAAO,QAAS2L,UACtEwyV,EAAAA,GAAAA,KAAC//F,GAAAA,YAAW,CACRvtM,IAAK8rW,EACLxwS,QAASgzS,EACTx6Y,WAAYs4Y,EACZpqS,sBAAsB,mBACtBl7G,cAAeolZ,EACf3tS,YAAY,EAEZzO,aAAc,SAEd/yE,mBAAoB,GAEpBixX,mBAhEb/mU,KACvB,MAAMylI,EAAeo/L,EAAQ53J,QAAQrkQ,IAAIq5K,kBACb,IAAxBwjD,EAAal5O,SACby4a,EAAYv/L,EAAa,GAAG3jM,IApChCy2X,GAAcD,GA4Cd,gBAsEKA,IAAajyD,EAAAA,GAAAA,KAACyiE,GAAS,CAAChnY,GAAIijY,EAAU1O,WAxG5BA,KACfkC,GAAaD,IAAa,IAE1B+M,GAAgB7M,EAAY,EAqGuClC,eAAe,EAAMC,YAAaA,MAGlG,ECw4BX,SAnmCA,WAGI,MAAOyX,EAAWC,IAAgBtgK,EAAAA,EAAAA,UAAS,KACpCugK,EAAsBC,IAA2BxgK,EAAAA,EAAAA,UAAS,KAC1DygK,EAAwBC,IAA6B1gK,EAAAA,EAAAA,UAAS,KAC9D2gK,EAAuBC,IAA4B5gK,EAAAA,EAAAA,UAAS,KAC5D6gK,EAAuBC,IAA4B9gK,EAAAA,EAAAA,UAAS,KAC5D+gK,EAAoBC,IAAyBhhK,EAAAA,EAAAA,UAAS,KACtDihK,EAAeC,IAAoBlhK,EAAAA,EAAAA,UAAS,KAC5CmhK,EAAWC,IAAgBphK,EAAAA,EAAAA,UAAS,KACpCqhK,EAAeC,IAAoBthK,EAAAA,EAAAA,UAAS,IAgG7CtvG,EAAmB4mO,IACrB/+U,UAAUgpX,UAAUC,UAAUlqC,EAAW,EA2rBvCmqC,EAAmBC,GAEL,YAAZA,GACY,aAAZA,EAD8B,SAElB,QAAZA,EAA0B,MACd,aAAZA,EAA+B,WACnB,YAAZA,EAA8B,UAC3B,cAGLC,EAAeA,CAAChzK,EAASizK,KAC3B,MAAMj2Z,EAAUR,SAASC,cAAc,KACvCO,EAAQ0vC,aAAa,OAAQ,iCAAmCu7N,mBAAmBjoB,IACnFhjP,EAAQ0vC,aAAa,WAAYumX,GACjCj2Z,EAAQmuC,MAAMwpG,QAAU,OACxBn4I,SAASuuC,KAAKG,YAAYluC,GAC1BA,EAAQwkN,QACRhlN,SAASuuC,KAAKO,YAAYtuC,EAAQ,EAGtC,OACI6yV,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,EACIwyV,EAAAA,GAAAA,KAAC/R,GAAU,CAACv3R,UAAU,YAAWlpD,UAC7BwyV,EAAAA,GAAAA,KAACra,GAAG,CAAAn4U,UACAs4V,EAAAA,GAAAA,MAACvf,GAAG,CAACjB,GAAG,KAAK5uR,UAAU,cAAalpD,SAAA,EAChCwyV,EAAAA,GAAAA,KAAC8C,GAAa,CAACppW,KAAM,GAAIg9D,UAAU,OAAOgvJ,MAAM,YAAY,YAC5Ds6I,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,kBAAiBlpD,SAAC,2BAI9CwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,kBAAkBtV,MAAO,CAAE+nX,WAAY,aAAc37Z,UAChEwyV,EAAAA,GAAAA,KAACra,GAAG,CAAAn4U,UACAwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAI93U,UACRs4V,EAAAA,GAAAA,MAAChY,GAAQ,CAAAtgV,SAAA,EACLs4V,EAAAA,GAAAA,MAACngB,GAAG,CAAAn4U,SAAA,EACAwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAI93U,UACRs4V,EAAAA,GAAAA,MAACngB,GAAG,CAAAn4U,SAAA,EACAwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAKG,IAAI,IAAI/uR,UAAU,OAAMlpD,UACjCwyV,EAAAA,GAAAA,KAACtS,GAAI,CAACh3R,UAAU,WAAWwlP,QAASA,IAAMlkJ,EAh0BpE,0iEAg0B+F52G,MAAO,CAAEmmL,OAAQ,WAAY/5N,UAC9FwyV,EAAAA,GAAAA,KAAClS,GAAQ,CAAAtgV,UACLs4V,EAAAA,GAAAA,MAACngB,GAAG,CAAAn4U,SAAA,EACAs4V,EAAAA,GAAAA,MAACvf,GAAG,CAACjB,GAAG,IAAG93U,SAAA,EACPwyV,EAAAA,GAAAA,KAAA,QAAAxyV,SAAM,cAAgB,WAE1BwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAAC7vR,UAAU,WAAUlpD,UACrBwyV,EAAAA,GAAAA,KAAC+C,GAAa,CAACrpW,KAAM,iBAOzCsmW,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAKG,IAAI,IAAI/uR,UAAU,OAAMlpD,UACjCwyV,EAAAA,GAAAA,KAACtS,GAAI,CAACh3R,UAAU,WAAWwlP,QAASA,IAAMlkJ,EAnyBrE,4jEAmyB+F52G,MAAO,CAAEmmL,OAAQ,WAAY/5N,UAC7FwyV,EAAAA,GAAAA,KAAClS,GAAQ,CAAAtgV,UACLs4V,EAAAA,GAAAA,MAACngB,GAAG,CAAAn4U,SAAA,EACAs4V,EAAAA,GAAAA,MAACvf,GAAG,CAACjB,GAAG,IAAG93U,SAAA,EACPwyV,EAAAA,GAAAA,KAAA,QAAAxyV,SAAM,aAAe,WAEzBwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAAC7vR,UAAU,WAAUlpD,UACrBwyV,EAAAA,GAAAA,KAAC+C,GAAa,CAACrpW,KAAM,sBAWjDsmW,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAK5uR,UAAU,OAAMlpD,UACzBs4V,EAAAA,GAAAA,MAACngB,GAAG,CAAAn4U,SAAA,EACAwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAKlkS,MAAO,CAAE+nX,WAAY,YAAa9iE,SAAU,QAAS74V,UAI9DwyV,EAAAA,GAAAA,KAACpE,GAAK,CACFxhW,KAAK,WACLvU,MAAO8hb,EACPnpN,SAAWtkN,GAxwBjC3S,KAElB,GADAqgb,EAAargb,EAAEsD,OAAOhF,OACA,OAAlB8ib,GAA4C,KAAlBA,EAAsB,CAEhD,IAAIS,EAAQ7hb,EAAEsD,OAAOhF,MAAMuG,MAAM,MACjC,IAAK,MAAM27R,KAAQqhJ,EACf,GAAIrhJ,EAAKp8Q,SAAS,MAAO,CACrB,IAAI0mC,EAAQ01O,EAAK37R,MAAM,MAGvB,GAFAO,QAAQyF,IAAI21R,EAAM11O,EAAMnsD,QAEH,IAAjBmsD,EAAMnsD,OAAc,CACpB,IAAImjb,EAAiBh3X,EAAM,GAG3B,OAFA1lD,QAAQyF,IAAIi3a,QACZT,EAAiBS,EAErB,CACJ,CAER,GAsvB6D/8D,CAAapyW,GASlC+rE,YAAY,wBACZqjW,WAAY,IACZloX,MAAO,CAAE+nX,WAAY,YAAa9nX,OAAQ,QAASglT,SAAU,OAAQnyE,QAAS,WAiBtF8rE,EAAAA,GAAAA,KAACzZ,GAAG,CAAA/4U,UAEAwyV,EAAAA,GAAAA,KAACpE,GAAK,CACFllS,UAAU,OACVt8D,KAAK,OACLvU,MAAO8ib,EACPvnX,MAAO,CAAE+nX,WAAY,YAAa9iE,SAAU,QAC5C7nJ,SAAWj3N,GAAMqhb,EAAiBrhb,EAAEsD,OAAOhF,OAC3CogF,YAAY,kBACZqjW,WAAY,iBAShCtpE,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3xR,UAAU,OAAOwlP,QA/xB5BqtH,KACjB,GAAK5B,EAGL,IAGI,IAAIyB,EAAQzB,EAAUv7a,MAAM,MAG5B,IAAIsxX,EAAY,GACZ8rD,EAAW,GACXC,EAAe,GACnB,IAAIC,EAAmB,GACvB,IAAK,MAAM3hJ,KAAQqhJ,EACf,GAAIrhJ,EAAKp8Q,SAAS,MAAO,CACrB,IAAI0mC,EAAQ01O,EAAK37R,MAAM,MACvB,GAAqB,IAAjBimD,EAAMnsD,OAAc,CACpB,IAAImjb,EAAiBh3X,EAAM,GACvBs3X,EAAYt3X,EAAM,GAAG3jD,OACrBk7a,EAAYv3X,EAAM,GAAG3jD,OACrBm7a,EAAed,EAAgBa,GAC/BE,EAAcz3X,EAAM,GACpB03X,EAAmB13X,EAAM,GAAG3jD,OAC5Bs7a,EAAgB33X,EAAM,GACtB43X,EAAc53X,EAAM,GACpB63X,EAAW73X,EAAM,GACJ,MAAbA,EAAM,KACNm3X,EAAWn3X,EAAM,GAAG3jD,OAAOsyB,cAC3ByoZ,EAAeV,EAAgBa,IAEnC,IAAIO,EAAqBR,EAAUl5X,OAAO,GAAG3vB,cAAgB6oZ,EAAUn6a,MAAM,GAC7EkuX,EAAY2rD,EACZK,EAAiB5hb,KAAK,CAAE6hb,YAAWC,YAAWC,eAAcM,qBAAoBL,cAAaC,mBAAkBC,gBAAeC,cAAaC,YAC/I,CACJ,CAGJ,IAAIE,EAAiB,CAACZ,EAAU,UAAW,UAAW,UAAW,QAAS,SAAU,aAAc,aAAc,aAAc,aAAc,MACxIa,EAAqB,CAAC,UAAW,QAAS,SAAU,MACpDC,EAAQ,aACZ,KAAOX,YAAWE,kBAAkBH,EAEhC,IAAKU,EAAez+Z,SAASg+Z,EAAUY,qBAEnC,OAAQV,GACJ,IAAK,SACDS,GAAQ,6BAAAx2a,OAAgC61a,EAAS,+BAAA71a,OAA4B61a,EAAS,iCAAA71a,OAA+B4pX,EAAS,QAC9H,MACJ,IAAK,WACD4sD,GAAQ,6BAAAx2a,OAAgC61a,EAAS,gCAAA71a,OAA6B61a,EAAS,wDAAA71a,OAAsD4pX,EAAS,QACtJ,MACJ,QACI4sD,GAAQ,6BAAAx2a,OAAgC61a,EAAS,wBAAA71a,OAAsB61a,EAAS,0BAAA71a,OAAyB4pX,EAAS,QAalI4sD,GAAQ,uBAGR,IAAIE,EAAkB,GAKtB,KAAOb,YAAWE,kBAJD,KAAbL,IACAgB,GAAmB,eAEvBA,GAAe,gBAAA12a,OAAoB4pX,EAAS,SACRgsD,GAAkB,CAClD,IAAIe,EAAaZ,EACc,OAA3BL,EAASxoZ,eAA0BwoZ,EAASxoZ,gBAAkB2oZ,EAAU3oZ,gBACxEwpZ,GAAe,WAEnBA,GAAe,cAAA12a,OAAkC,WAAf22a,EAA0BA,EAAaA,EAAa,IAAG,KAAA32a,OACjF61a,EAAS,oBACrB,CACAa,GAAmB,MAEnB,MAAME,EAAiBhtD,EAAUtxX,MAAM,KACjCu+a,EAAUD,EAAeA,EAAexkb,OAAS,GAAG46B,cACpDuwB,EAAgBq5X,EAAeA,EAAexkb,OAAS,GAC7Dwib,EAAar3X,GAEb,MAAMu5X,EAAgB,yEAAA92a,OAGR62a,EAAO,2CAAA72a,OAEA4pX,EAAS,mGAAA5pX,OAKrB01a,EAAQ,wCAAA11a,OACG62a,EAAO,MAAA72a,OAAK21a,EAAY,KAAA31a,OAAI01a,EAAQ,6CAAA11a,OAEnC4pX,EAAS,kBAAA5pX,OAAiB01a,EAAQ,QAAA11a,OAAO01a,EAAQ,gEAAA11a,OAI7D01a,EAAQ,kCAAA11a,OACH62a,EAAO,MAAA72a,OAAK21a,EAAY,KAAA31a,OAAI01a,EAAQ,iBAAA11a,OAAgB4pX,EAAS,KAAA5pX,OAAI62a,EAAQ7pZ,cAAa,oJAAAhtB,OAGrE4pX,EAAS,2BAAA5pX,OAA0B01a,EAAQ,QAAA11a,OAAO01a,EAAQ,YAAA11a,OAC/F41a,EACev+a,QAAOc,IAAUm+a,EAAez+Z,SAAS1f,EAAM09a,UAAU3oZ,iBACzDvuB,KAAIxG,GAAK,kBAAA6H,OAAsB7H,EAAM09a,UAAS,OAAA71a,OAAM62a,EAAQ7pZ,cAAa,KAAAhtB,OAAI7H,EAAM09a,UAAS,OAAK11a,KAAK,UAAS,WAAAH,OAE7H41a,EACcv+a,QAAOc,GAASm+a,EAAez+Z,SAAS1f,EAAM09a,UAAU3oZ,iBACxDvuB,KAAKxG,IACF,OAAQA,EAAMi+a,UACV,IAAK,KACD,MAAM,kBAANp2a,OAAyB7H,EAAM09a,UAAS,oBAC5C,IAAK,KACD,MAAM,kBAAN71a,OAAyB7H,EAAM09a,UAAS,0BAC5C,QACI,MAAO,GACf,IAIHx+a,QAAO48R,GAAiB,KAATA,IACf9zR,KAAK,MAAK,8BAAAH,OACL4pX,EAAS,gJAAA5pX,OAKd01a,EAAQ,qCAAA11a,OACA62a,EAAO,MAAA72a,OAAK21a,EAAY,KAAA31a,OAAI01a,EAAQ,iBAAA11a,OAAgB4pX,EAAS,KAAA5pX,OAAI62a,EAAQ7pZ,cAAa,oJAAAhtB,OAGxE4pX,EAAS,2BAAA5pX,OAA0B01a,EAAQ,QAAA11a,OAAO01a,EAAQ,gBAAA11a,OAE9F41a,EACcv+a,QAAOc,GAASm+a,EAAez+Z,SAAS1f,EAAM09a,UAAU3oZ,iBACxDvuB,KAAKxG,IACF,OAAQA,EAAMi+a,UACV,IAAK,KACD,MAAM,kBAANp2a,OAAyB7H,EAAM09a,UAAS,oBAC5C,IAAK,KACD,MAAM,kBAAN71a,OAAyB7H,EAAM09a,UAAS,0BAC5C,IAAK,IACD,MAAM,kBAAN71a,OAAyB7H,EAAM09a,UAAS,SAE5C,QACI,MAAO,GACf,IAIHx+a,QAAO48R,GAAiB,KAATA,IACf9zR,KAAK,MAAK,8BAAAH,OACL4pX,EAAS,wKAAA5pX,OAMT62a,EAAO,uBAAA72a,OAAsB4pX,EAAS,MAAA5pX,OAAK62a,EAAQ7pZ,cAAa,+GAAAhtB,OAGpF41a,EACev+a,QAAOc,GAASm+a,EAAez+Z,SAAS1f,EAAM09a,UAAU3oZ,iBACxDvuB,KAAKxG,IACF,OAAQA,EAAMi+a,UACV,IAAK,KACL,IAAK,KACD,MAAM,GAANp2a,OAAU62a,EAAQ7pZ,cAAa,qBAAAhtB,OAAoB7H,EAAM09a,UAAS,qBACtE,IAAK,KACL,IAAK,KACD,MAAM,GAAN71a,OAAU62a,EAAQ7pZ,cAAa,qBAAAhtB,OAAoB7H,EAAM09a,UAAS,2BACtE,IAAK,IACL,IAAK,IACD,MAAM,GAAN71a,OAAU62a,EAAQ7pZ,cAAa,qBAAAhtB,OAAoB7H,EAAM09a,UAAS,UACtE,QACI,MAAO,GACf,IAGHx+a,QAAO48R,GAAiB,KAATA,IACf9zR,KAAK,MAAK,8BAAAH,OACT4pX,EAAS,cAAA5pX,OAAa62a,EAAO,gEAAA72a,OAE7B62a,EAAO,mBAMXE,EAAY,6NAAA/2a,OAKjBu9C,EAAa,qBAAAv9C,OAAoBu9C,EAAa,0BAAAv9C,OAC9Cu9C,EAAa,mBAAAv9C,OAAkBu9C,EAAa,4XAAAv9C,OAU7Cu9C,EAAa,scAAAv9C,OASA62a,EAAO,mfAAA72a,OAiBbu9C,EAAa,6EAAAv9C,OAEL62a,EAAO,0TAAA72a,OAWdu9C,EAAa,icAAAv9C,OAchBu9C,EAAa,gEAAAv9C,OAIRu9C,EAAa,gqBAAAv9C,OAwB6Bu9C,EAAa,wMAAAv9C,OAOjDu9C,EAAa,6BAAAv9C,OAE5Bu9C,EAAa,wBAAAv9C,OAEZu9C,EAAa,0DAAAv9C,OAIKu9C,EAAa,8+CAAAv9C,OA2BgBu9C,EAAa,i8DAAAv9C,OAwC1Cu9C,EAAa,8FAAAv9C,OAE/B01a,EAAQ,MAAA11a,OAAK01a,EAAQ,4FAAA11a,OASlBu9C,EAAa,KAGZy5X,EAAY,aAAAh3a,OAEtBu9C,EAAa,qBAAAv9C,OACf41a,EAAiBj3a,KAAKxG,IACZ,MAAMomD,EAAQpmD,EAAM+9a,cAAc59a,MAAM,KAClCuS,EAAU0zC,EAAM,IAAM,IACtBxwC,EAAQwwC,EAAM,IAAM,MAG1B,IAAI+xB,EAEJ,OAJe/xB,EAAM,IAAM,UAKvB,IAAK,SACD+xB,EAAQ,6FAAAtwE,OAGX7H,EAAMk+a,mBAAkB,sCAAAr2a,OACvB7H,EAAMk+a,mBAAkB,yFAAAr2a,OAGxB7H,EAAMk+a,mBAAkB,wFAAAr2a,OAGxB7H,EAAMk+a,mBAAkB,wFAAAr2a,OAGxB7H,EAAMk+a,mBAAkB,qEAItB,MACJ,IAAK,SACD/lW,EAAQ,6FAAAtwE,OAGX7H,EAAMk+a,mBAAkB,sCAAAr2a,OACvB7H,EAAMk+a,mBAAkB,wFAAAr2a,OAGxB7H,EAAMk+a,mBAAkB,wFAAAr2a,OAGxB7H,EAAMk+a,mBAAkB,yFAAAr2a,OAGxB7H,EAAMk+a,mBAAkB,qEAItB,MACJ,IAAK,MACD/lW,EAAQ,6FAAAtwE,OAGX7H,EAAMk+a,mBAAkB,sCAAAr2a,OACvB7H,EAAMk+a,mBAAkB,wFAAAr2a,OAGxB7H,EAAMk+a,mBAAkB,wFAAAr2a,OAGxB7H,EAAMk+a,mBAAkB,oEAItB,MACJ,IAAK,KACD/lW,EAAQ,6FAAAtwE,OAGX7H,EAAMk+a,mBAAkB,sCAAAr2a,OACvB7H,EAAMk+a,mBAAkB,wFAAAr2a,OAGxB7H,EAAMk+a,mBAAkB,uFAKtB,MACJ,QACI/lW,EAAQ,cAAAtwE,OAAiB7H,EAAMk+a,oBAKvC,MAAM,2BAANr2a,OAEC7H,EAAM89a,iBAAgB,0BAAAj2a,OACnBswE,EAAQ,wGAAAtwE,OAIP+N,EAAK,6BAAA/N,OACL+N,EAAK,wBAAA/N,OACE,MAAZ6K,EAA8B,cAEhC,+BAAA7K,OAMGu9C,EAAa,iBAIZ05X,EAAS,oQAAAj3a,OAMnBu9C,EAAa,gDAAAv9C,OAA+C01a,EAAQ,8HAAA11a,OAGtE41a,EACev+a,QAAOc,IAAUo+a,EAAmB1+Z,SAAS1f,EAAM09a,UAAU3oZ,iBAC7DvuB,KAAIxG,GAAK,UAAA6H,OAAc7H,EAAMk+a,mBAAkB,SAAAr2a,OAAQ7H,EAAM09a,UAAS,sBAAoB11a,KAAK,UAAS,6QAAAH,OAa/G41a,EACOv+a,QAAOc,IAAUo+a,EAAmB1+Z,SAAS1f,EAAM09a,UAAU3oZ,iBAC7DvuB,KAAIxG,GAAK,2BAAA6H,OACN7H,EAAMk+a,mBAAkB,+BAAAr2a,OACvB7H,EAAM09a,UAAS,6DAEzB11a,KAAK,IAAG,kGAAAH,OAQE62a,EAAO,8FAAA72a,OAIoB01a,EAAQ,kHAAA11a,OAI1C41a,EACGv+a,QAAOc,IAAUo+a,EAAmB1+Z,SAAS1f,EAAM09a,UAAU3oZ,iBAC7DvuB,KAAIxG,GAAK,MAAA6H,OACA7H,EAAM09a,UAAS,aAAA71a,OAAY7H,EAAMk+a,mBAAkB,QAC3Dl2a,KAAK,UAAS,iIAAAH,OAW1B41a,EACWv+a,QAAOc,IAAUm+a,EAAez+Z,SAAS1f,EAAM09a,UAAU3oZ,iBACzDvuB,KAAIxG,GAAK,IAAA6H,OACF7H,EAAMk+a,mBAAkB,QAAAr2a,OAAO7H,EAAMk+a,mBAAkB,OAC7Dl2a,KAAK,UAAS,gCAAAH,OAGrB62a,EAAO,aAAA72a,OAAY01a,EAAQ,uNAAA11a,OAWhC41a,EACWv+a,QAAOc,IAAUm+a,EAAez+Z,SAAS1f,EAAM09a,UAAU3oZ,iBACzDvuB,KAAIxG,GAAK,IAAA6H,OACF7H,EAAMk+a,mBAAkB,QAAAr2a,OAAO7H,EAAMk+a,mBAAkB,OAC7Dl2a,KAAK,UAAS,+BAAAH,OAIxB62a,EAAO,0aAAA72a,OAekCu9C,EAAa,2TAAAv9C,OASpC41a,EACTj3a,KAAKxG,IACF,MAAMomD,EAAQpmD,EAAMg+a,YAAY79a,MAAM,KAEhCuS,EAAU0zC,EAAM,IAAM,IACtBxwC,EAAQwwC,EAAM,IAAM,IAEpBj4C,EAAOi4C,EAAM,IAAM,OAEzB,GAAgB,MAAZ1zC,EAAiB,CASjB,MARkB,sFAAA7K,OAEF7H,EAAM89a,iBAAgB,+CAAAj2a,OAE/C+N,EAAK,gDAAA/N,OACCsG,EAAI,wBAAAtG,OAAuB7H,EAAMk+a,mBAAkB,UAAAr2a,OAAS7H,EAAMk+a,mBAAkB,qEAAAr2a,OAAoE7H,EAAMk+a,mBAAkB,+BAIjL,CACI,MAAO,EACX,IAEHl2a,KAAK,MAAK,qoBAAAH,OAwBdu9C,EAAa,eAIlB22X,EAA0B4C,GAG1B9C,EAAwB0C,GACxBtC,EAAyB2C,GACzBzC,EAAyB0C,GACzBxC,EAAsByC,GACtBvC,EAAiB8B,EACrB,CAAE,MAAOj2a,GACL1H,QAAQ0H,MAAMA,EAClB,GAiImEmZ,SAAC,mBAEhDs4V,EAAAA,GAAAA,MAACngB,GAAG,CAAAn4U,SAAA,EAGAs4V,EAAAA,GAAAA,MAACvf,GAAG,CAACjB,GAAG,KAAKG,IAAI,IAAGj4U,SAAA,CACU,KAAzBq6Z,IACG7nE,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,OAAOtV,MAAO,CAAE0yO,WAAY,OAAQuyE,SAAU,QAAS74V,SAAC,UAI3Es4V,EAAAA,GAAAA,MAACngB,GAAG,CAAAn4U,SAAA,CAC0B,KAAzBq6Z,IAEG7nE,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAKG,IAAI,IAAGj4U,UAEhBwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,OAAMlpD,UACjBwyV,EAAAA,GAAAA,KAACtS,GAAI,CAACh3R,UAAU,WAAWtV,MAAO,CAAEmmL,OAAQ,WAAa20E,QAASA,IAAM+sH,EAAapB,EAAqB,GAAD/za,OAAK20a,EAAS,qBAAoBj7Z,UACvIwyV,EAAAA,GAAAA,KAAClS,GAAQ,CAAAtgV,UACLs4V,EAAAA,GAAAA,MAACngB,GAAG,CAAAn4U,SAAA,EACAwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,IAAG93U,SAAC,cAGZwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAAC7vR,UAAU,WAAUlpD,UACrBwyV,EAAAA,GAAAA,KAACiD,GAAiB,CAACvpW,KAAM,kBAWzB,KAA3Bqua,IACG/nE,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAKG,IAAI,IAAGj4U,UAChBwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,QAAOlpD,UAClBwyV,EAAAA,GAAAA,KAACtS,GAAI,CAACh3R,UAAU,WAAWtV,MAAO,CAAEmmL,OAAQ,WAAa20E,QAASA,IAAM+sH,EAAalB,EAAuB,GAADj0a,OAAK20a,EAAS,uBAAsBj7Z,UAC3IwyV,EAAAA,GAAAA,KAAClS,GAAQ,CAAAtgV,UACLs4V,EAAAA,GAAAA,MAACngB,GAAG,CAAAn4U,SAAA,EACAwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,IAAG93U,SAAC,gBAGZwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAAC7vR,UAAU,WAAUlpD,UACrBwyV,EAAAA,GAAAA,KAACiD,GAAiB,CAACvpW,KAAM,yBAc7DosW,EAAAA,GAAAA,MAACvf,GAAG,CAACjB,GAAG,KAAKG,IAAI,IAAGj4U,SAAA,CACW,KAA1B26Z,IACGnoE,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,OAAOtV,MAAO,CAAE0yO,WAAY,OAAQuyE,SAAU,QAAS74V,SAAC,aAK3Es4V,EAAAA,GAAAA,MAACngB,GAAG,CAAAn4U,SAAA,CAG2B,KAA1By6Z,IAEGjoE,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAKG,IAAI,IAAGj4U,UAEhBwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,OAAMlpD,UAEjBwyV,EAAAA,GAAAA,KAACtS,GAAI,CAACh3R,UAAU,aAAatV,MAAO,CAAEmmL,OAAQ,WAAa20E,QAASA,IAAM+sH,EAAahB,EAAsB,GAADn0a,OAAK20a,EAAS,QAAOj7Z,UAC7HwyV,EAAAA,GAAAA,KAAClS,GAAQ,CAAAtgV,UACLs4V,EAAAA,GAAAA,MAACngB,GAAG,CAAAn4U,SAAA,EACAwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,IAAG93U,SAAC,aAGZwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAAC7vR,UAAU,WAAUlpD,UACrBwyV,EAAAA,GAAAA,KAACiD,GAAiB,CAACvpW,KAAM,kBAQ1B,KAA1Byua,IACGnoE,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAKG,IAAI,IAAGj4U,UAChBwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,OAAMlpD,UAEjBwyV,EAAAA,GAAAA,KAACtS,GAAI,CAACh3R,UAAU,aAAatV,MAAO,CAAEmmL,OAAQ,WAAa20E,QAASA,IAAM+sH,EAAad,EAAsB,GAADr0a,OAAK20a,EAAS,eAAcj7Z,UACpIwyV,EAAAA,GAAAA,KAAClS,GAAQ,CAAAtgV,UACLs4V,EAAAA,GAAAA,MAACngB,GAAG,CAAAn4U,SAAA,EACAwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,IAAG93U,SAAC,UAGZwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAAC7vR,UAAU,WAAUlpD,UACrBwyV,EAAAA,GAAAA,KAACiD,GAAiB,CAACvpW,KAAM,kBAQ7B,KAAvB2ua,IACGroE,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAKG,IAAI,IAAGj4U,UAChBwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,OAAMlpD,UAEjBwyV,EAAAA,GAAAA,KAACtS,GAAI,CAACh3R,UAAU,aAAatV,MAAO,CAAEmmL,OAAQ,WAAa20E,QAASA,IAAM+sH,EAAaZ,EAAmB,GAADv0a,OAAK20a,EAAS,aAAYj7Z,UAC/HwyV,EAAAA,GAAAA,KAAClS,GAAQ,CAAAtgV,UACLs4V,EAAAA,GAAAA,MAACngB,GAAG,CAAAn4U,SAAA,EACAwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,IAAG93U,SAAC,WAGZwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAAC7vR,UAAU,WAAUlpD,UACrBwyV,EAAAA,GAAAA,KAACiD,GAAiB,CAACvpW,KAAM,yBAW7DosW,EAAAA,GAAAA,MAACvf,GAAG,CAACjB,GAAG,KAAKG,IAAI,IAAGj4U,SAAA,CACG,KAAlB+6Z,IACGvoE,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,OAAOtV,MAAO,CAAE0yO,WAAY,OAAQuyE,SAAU,QAAS74V,SAAC,cAI3EwyV,EAAAA,GAAAA,KAACra,GAAG,CAAAn4U,SACmB,KAAlB+6Z,IAEGvoE,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAI93U,UAERwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,OAAMlpD,UACjBwyV,EAAAA,GAAAA,KAACtS,GAAI,CAACh3R,UAAU,YAAYtV,MAAO,CAAEmmL,OAAQ,WAAa20E,QAASA,IAAM+sH,EAAaV,EAAc,GAADz0a,OAAK20a,EAAS,cAAaj7Z,UAC1HwyV,EAAAA,GAAAA,KAAClS,GAAQ,CAAAtgV,UACLs4V,EAAAA,GAAAA,MAACngB,GAAG,CAAAn4U,SAAA,EACAwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,IAAG93U,SAAC,gBAGZwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAAC7vR,UAAU,WAAUlpD,UACrBwyV,EAAAA,GAAAA,KAACiD,GAAiB,CAACvpW,KAAM,0BAgBvC,KAAzBmua,IACG7nE,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3xR,UAAU,OAAOwlP,QAASA,KAC9B+sH,EAAalB,EAAuB,GAADj0a,OAAK20a,EAAS,wBACjDQ,EAAalB,EAAuB,GAADj0a,OAAK20a,EAAS,wBACjDQ,EAAahB,EAAsB,GAADn0a,OAAK20a,EAAS,QAChDQ,EAAad,EAAsB,GAADr0a,OAAK20a,EAAS,gBAChDQ,EAAaZ,EAAmB,GAADv0a,OAAK20a,EAAS,aAAY,EAC3Dj7Z,SACD,4BAajC,ECtkCA,MACA,GAAe,IAA0B,mEC8BzC,MACA,GAAe,IAA0B,4DCzBzC,MACA,GAAe,IAA0B,4DCGzC,MACA,GAAe,IAA0B,kECwBzC,GAhEsBhX,IAClB,MAAMw0a,EACF,iEAEEC,EAAkBz0a,EAAMkgE,UAAS,GAAA5iE,OAC9Bk3a,EAAgB,KAAAl3a,OAAI0C,EAAMkgE,WAC7Bs0W,EACN,OACIhrE,EAAAA,GAAAA,KAAAC,GAAAA,SAAA,CAAAzyV,SACKhX,EAAM47I,OACH4tN,EAAAA,GAAAA,KAAA,OAAAxyV,UACIs4V,EAAAA,GAAAA,MAACtiB,GAAK,CACFyT,cAAc,cACdvgS,UAAWu0W,EACXl0E,SAAS,SACT5G,MAAM,EACNtH,QAAM,EACNnvV,KAAK,KACLo2V,UAAU,EAAMtiV,SAAA,EAEhBwyV,EAAAA,GAAAA,KAAC/F,GAAS,CACNvjS,UAAU,cACVtV,MAAO,CAAE8pX,aAAc,uBAAwB19Z,UAE/CwyV,EAAAA,GAAAA,KAAA,OAAAxyV,UACIwyV,EAAAA,GAAAA,KAAA,KACItpS,UAAU,2BACVtV,MAAO,CAAEilT,SAAU,QAAS74V,SAE3BhX,EAAM20a,eAKnBrlE,EAAAA,GAAAA,MAAC5L,GAAW,CAAC94S,MAAO,CAAEgqX,UAAW,SAAUhlE,UAAW,QAAS54V,SAAA,EAE3DwyV,EAAAA,GAAAA,KAAC3X,GAAM,CACHnsC,QAAS1lT,EAAM60a,UACf3lN,MAAM,UAAUhsN,KAAK,KAAKg9D,UAAU,mBAEpC7wE,MAAM,MACN41C,GAAG,MAAKjuB,SACX,SAGDwyV,EAAAA,GAAAA,KAAC3X,GAAM,CACHnsC,QAAS1lT,EAAM80a,SACf5lN,MAAM,YAAYhsN,KAAK,KAAKg9D,UAAU,mBACtC7wE,MAAM,KACN41C,GAAG,KAAIjuB,SACV,gBAUlB,ECrDX,MAAM+9Z,GACkB,qBAAXl8a,OACF,SAAS3F,GACd,OAAOA,GACT,EAEK2F,OAAOs1M,sBAEhB,SAAS6mO,GAAU72Z,EAAIqxQ,EAASylJ,GAC9B,MAAMC,EAAaD,GAAY,CAAE37a,GAASnG,MAAMX,UAAUwG,MAAMX,KAAKiB,IACrE,IAAImzM,GAAU,EACVnzM,EAAO,GACX,OAAO,WAAkB,QAAAo6T,EAAA98T,UAAAlH,OAANknU,EAAI,IAAAzjU,MAAAugU,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJiD,EAAIjD,GAAA/8T,UAAA+8T,GACrBr6T,EAAO47a,EAAWt+G,GACbnqH,IACHA,GAAU,EACVsoO,GAAiB18a,KAAKQ,QAAQ,KAC5B4zM,GAAU,EACVtuL,EAAG7lB,MAAMk3R,EAASl2R,EAAK,IAG7B,CACF,CAaA,MAAM67a,GAAsBC,GAAoB,UAAVA,EAAoB,OAAmB,QAAVA,EAAkB,QAAU,SACzFC,GAAiBA,CAACD,EAAO13Y,EAAOu1G,IAAkB,UAAVmiS,EAAoB13Y,EAAkB,QAAV03Y,EAAkBniS,GAAOv1G,EAAQu1G,GAAO,EAMlH,SAASu4M,KAAQ,CACjB,MAAMsiC,GAAO,WACX,IAAI7oV,EAAK,EACT,OAAO,WACL,OAAOA,GACT,CACF,CALa,GAMb,SAASqwY,GAAcjmb,GACrB,OAAiB,OAAVA,GAAmC,qBAAVA,CAClC,CACA,SAAS+D,GAAQ/D,GACf,GAAI8D,MAAMC,SAAWD,MAAMC,QAAQ/D,GACjC,OAAO,EAET,MAAMuU,EAAOrS,OAAOiB,UAAU5C,SAASyI,KAAKhJ,GAC5C,MAA0B,YAAtBuU,EAAK8mB,OAAO,EAAG,IAAwC,WAApB9mB,EAAK8mB,QAAQ,EAItD,CACA,SAASqkQ,GAAS1/R,GAChB,OAAiB,OAAVA,GAA4D,oBAA1CkC,OAAOiB,UAAU5C,SAASyI,KAAKhJ,EAC1D,CACA,MAAMkmb,GAAkBlmb,IAA4B,kBAAVA,GAAsBA,aAAiB2P,SAAWu5D,UAAUlpE,GACtG,SAASmmb,GAAgBnmb,EAAO4H,GAC9B,OAAOs+a,GAAelmb,GAASA,EAAQ4H,CACzC,CACA,SAASw+a,GAAepmb,EAAO4H,GAC7B,MAAwB,qBAAV5H,EAAwB4H,EAAe5H,CACvD,CACA,MAIMqmb,GAAcA,CAACrmb,EAAOonW,IACT,kBAAVpnW,GAAsBA,EAAM+iF,SAAS,KAC1C/1B,WAAWhtD,GAAS,IAAMonW,GACvBpnW,EACP,SAAS6D,GAASirB,EAAI7kB,EAAMk2R,GAC1B,GAAIrxQ,GAAyB,oBAAZA,EAAG9lB,KAClB,OAAO8lB,EAAG7lB,MAAMk3R,EAASl2R,EAE7B,CACA,SAASq8a,GAAKC,EAAUz3Z,EAAIqxQ,EAASt6Q,GACnC,IAAIviB,EAAGs5B,EAAKv5B,EACZ,GAAIU,GAAQwib,GAEV,GADA3pZ,EAAM2pZ,EAASlmb,OACXwlB,EACF,IAAKviB,EAAIs5B,EAAM,EAAGt5B,GAAK,EAAGA,IACxBwrB,EAAG9lB,KAAKm3R,EAASomJ,EAASjjb,GAAIA,QAGhC,IAAKA,EAAI,EAAGA,EAAIs5B,EAAKt5B,IACnBwrB,EAAG9lB,KAAKm3R,EAASomJ,EAASjjb,GAAIA,QAG7B,GAAIo8R,GAAS6mJ,GAGlB,IAFAljb,EAAOnB,OAAOmB,KAAKkjb,GACnB3pZ,EAAMv5B,EAAKhD,OACNiD,EAAI,EAAGA,EAAIs5B,EAAKt5B,IACnBwrB,EAAG9lB,KAAKm3R,EAASomJ,EAASljb,EAAKC,IAAKD,EAAKC,GAG/C,CACA,SAASkjb,GAAeC,EAAIC,GAC1B,IAAIpjb,EAAGqjb,EAAMC,EAAIC,EACjB,IAAKJ,IAAOC,GAAMD,EAAGpmb,SAAWqmb,EAAGrmb,OACjC,OAAO,EAET,IAAKiD,EAAI,EAAGqjb,EAAOF,EAAGpmb,OAAQiD,EAAIqjb,IAAQrjb,EAGxC,GAFAsjb,EAAKH,EAAGnjb,GACRujb,EAAKH,EAAGpjb,GACJsjb,EAAGE,eAAiBD,EAAGC,cAAgBF,EAAG5ib,QAAU6ib,EAAG7ib,MACzD,OAAO,EAGX,OAAO,CACT,CACA,SAAS+ib,GAAQhib,GACf,GAAIhB,GAAQgB,GACV,OAAOA,EAAO6H,IAAIm6a,IAEpB,GAAIrnJ,GAAS36R,GAAS,CACpB,MAAMC,EAAS9C,OAAOotB,OAAO,MACvBjsB,EAAOnB,OAAOmB,KAAK0B,GACnBiib,EAAO3jb,EAAKhD,OAClB,IAAIstD,EAAI,EACR,KAAOA,EAAIq5X,IAAQr5X,EACjB3oD,EAAO3B,EAAKsqD,IAAMo5X,GAAQhib,EAAO1B,EAAKsqD,KAExC,OAAO3oD,CACT,CACA,OAAOD,CACT,CACA,SAASkib,GAAWhjb,GAClB,OAAmE,IAA5D,CAAC,YAAa,YAAa,eAAeO,QAAQP,EAC3D,CACA,SAASijb,GAAQjjb,EAAKe,EAAQD,EAAQ+oB,GACpC,IAAKm5Z,GAAWhjb,GACd,OAEF,MAAMkjb,EAAOnib,EAAOf,GACdmjb,EAAOrib,EAAOd,GAChBy7R,GAASynJ,IAASznJ,GAAS0nJ,GAC7BzpJ,GAAMwpJ,EAAMC,EAAMt5Z,GAElB9oB,EAAOf,GAAO8ib,GAAQK,EAE1B,CACA,SAASzpJ,GAAM34R,EAAQD,EAAQ+oB,GAC7B,MAAMu5Z,EAAUtjb,GAAQgB,GAAUA,EAAS,CAACA,GACtC4hb,EAAOU,EAAQhnb,OACrB,IAAKq/R,GAAS16R,GACZ,OAAOA,EAGT,MAAMsib,GADNx5Z,EAAUA,GAAW,CAAC,GACCw5Z,QAAUJ,GACjC,IAAK,IAAI5jb,EAAI,EAAGA,EAAIqjb,IAAQrjb,EAAG,CAE7B,IAAKo8R,GADL36R,EAASsib,EAAQ/jb,IAEf,SAEF,MAAMD,EAAOnB,OAAOmB,KAAK0B,GACzB,IAAK,IAAI4oD,EAAI,EAAGq5X,EAAO3jb,EAAKhD,OAAQstD,EAAIq5X,IAAQr5X,EAC9C25X,EAAOjkb,EAAKsqD,GAAI3oD,EAAQD,EAAQ+oB,EAEpC,CACA,OAAO9oB,CACT,CACA,SAASuib,GAAQvib,EAAQD,GACvB,OAAO44R,GAAM34R,EAAQD,EAAQ,CAACuib,OAAQE,IACxC,CACA,SAASA,GAAUvjb,EAAKe,EAAQD,GAC9B,IAAKkib,GAAWhjb,GACd,OAEF,MAAMkjb,EAAOnib,EAAOf,GACdmjb,EAAOrib,EAAOd,GAChBy7R,GAASynJ,IAASznJ,GAAS0nJ,GAC7BG,GAAQJ,EAAMC,GACJllb,OAAOiB,UAAUuC,eAAesD,KAAKhE,EAAQf,KACvDe,EAAOf,GAAO8ib,GAAQK,GAE1B,CAOA,MACMK,GAAM,IACZ,SAASC,GAAmBzjb,EAAKoqC,GAC/B,MAAMi/B,EAAMrpE,EAAIO,QAAQijb,GAAKp5Y,GAC7B,OAAgB,IAATi/B,EAAarpE,EAAI5D,OAASitE,CACnC,CACA,SAASq6W,GAAiBrjb,EAAKL,GAC7B,GAPkB,KAOdA,EACF,OAAOK,EAET,IAAIooF,EAAM,EACNpf,EAAMo6W,GAAmBzjb,EAAKyoF,GAClC,KAAOpoF,GAAOgpE,EAAMof,GAClBpoF,EAAMA,EAAIL,EAAIo3B,OAAOqxD,EAAKpf,EAAMof,IAChCA,EAAMpf,EAAM,EACZA,EAAMo6W,GAAmBzjb,EAAKyoF,GAEhC,OAAOpoF,CACT,CACA,SAASsjb,GAAY7sZ,GACnB,OAAOA,EAAI6vB,OAAO,GAAGzvB,cAAgBJ,EAAIpxB,MAAM,EACjD,CACA,MAAMk+a,GAAW7nb,GAA2B,qBAAVA,EAC5B8I,GAAc9I,GAA2B,oBAAVA,EAC/B8nb,GAAYA,CAACvmb,EAAGC,KACpB,GAAID,EAAEsS,OAASrS,EAAEqS,KACf,OAAO,EAET,IAAK,MAAM+H,KAAQra,EACjB,IAAKC,EAAE0xC,IAAIt3B,GACT,OAAO,EAGX,OAAO,CAAI,EAMb,MAAMuhN,GAAKh7M,KAAKg7M,GACV4qN,GAAM,EAAI5qN,GACV6qN,GAAQD,GAAM5qN,GACd8qN,GAAWt4a,OAAOu4a,kBAClBC,GAAchrN,GAAK,IACnBirN,GAAUjrN,GAAK,EACfkrN,GAAalrN,GAAK,EAClBmrN,GAAqB,EAALnrN,GAAS,EACzBorN,GAAQpma,KAAKoma,MACbvxD,GAAO70W,KAAK60W,KAClB,SAASwxD,GAAQ94R,GACf,MAAM+4R,EAAetma,KAAKmrB,MAAMoiH,GAChCA,EAAQg5R,GAAah5R,EAAO+4R,EAAc/4R,EAAQ,KAAQ+4R,EAAe/4R,EACzE,MAAMi5R,EAAYxma,KAAKyrC,IAAI,GAAIzrC,KAAKmsC,MAAMi6X,GAAM74R,KAC1Ck5R,EAAWl5R,EAAQi5R,EAEzB,OADqBC,GAAY,EAAI,EAAIA,GAAY,EAAI,EAAIA,GAAY,EAAI,EAAI,IAC3DD,CACxB,CAiBA,SAAS5nJ,GAAS7iQ,GAChB,OAAQx9B,MAAMssD,WAAW9uB,KAAOgrC,SAAShrC,EAC3C,CACA,SAASwqZ,GAAaxjX,EAAGD,EAAG4jX,GAC1B,OAAO1ma,KAAK+9C,IAAIgF,EAAID,GAAK4jX,CAC3B,CAKA,SAASC,GAAmB1ja,EAAOpgB,EAAQC,GACzC,IAAI3B,EAAGqjb,EAAM3mb,EACb,IAAKsD,EAAI,EAAGqjb,EAAOvha,EAAM/kB,OAAQiD,EAAIqjb,EAAMrjb,IACzCtD,EAAQolB,EAAM9hB,GAAG2B,GACZvE,MAAMV,KACTgF,EAAOwd,IAAML,KAAKK,IAAIxd,EAAOwd,IAAKxiB,GAClCgF,EAAOod,IAAMD,KAAKC,IAAIpd,EAAOod,IAAKpiB,GAGxC,CACA,SAAS68N,GAAUjB,GACjB,OAAOA,GAAWuB,GAAK,IACzB,CACA,SAAST,GAAUR,GACjB,OAAOA,GAAW,IAAMiB,GAC1B,CACA,SAAS4rN,GAAe7jX,GACtB,IAAKghX,GAAehhX,GAClB,OAEF,IAAIxjE,EAAI,EACJ8F,EAAI,EACR,KAAO2a,KAAKmrB,MAAM43B,EAAIxjE,GAAKA,IAAMwjE,GAC/BxjE,GAAK,GACL8F,IAEF,OAAOA,CACT,CACA,SAASwhb,GAAkBC,EAAaC,GACtC,MAAMC,EAAsBD,EAAWhkX,EAAI+jX,EAAY/jX,EACjDkkX,EAAsBF,EAAWjkX,EAAIgkX,EAAYhkX,EACjDokX,EAA2Blna,KAAKw6M,KAAKwsN,EAAsBA,EAAsBC,EAAsBA,GAC7G,IAAIE,EAAQnna,KAAKs6M,MAAM2sN,EAAqBD,GAI5C,OAHIG,GAAU,GAAMnsN,KAClBmsN,GAASvB,IAEJ,CACLuB,QACAt7F,SAAUq7F,EAEd,CACA,SAASE,GAAsBC,EAAKC,GAClC,OAAOtna,KAAKw6M,KAAKx6M,KAAKyrC,IAAI67X,EAAIvkX,EAAIskX,EAAItkX,EAAG,GAAK/iD,KAAKyrC,IAAI67X,EAAIxkX,EAAIukX,EAAIvkX,EAAG,GACxE,CACA,SAASykX,GAAWnob,EAAGC,GACrB,OAAQD,EAAIC,EAAIwmb,IAASD,GAAM5qN,EACjC,CACA,SAASwsN,GAAgBpob,GACvB,OAAQA,EAAIwmb,GAAMA,IAAOA,EAC3B,CACA,SAAS6B,GAAcN,EAAOj7Y,EAAOu1G,EAAKimS,GACxC,MAAMtob,EAAIoob,GAAgBL,GACpBxtZ,EAAI6tZ,GAAgBt7Y,GACpB3sC,EAAIiob,GAAgB/lS,GACpBkmS,EAAeH,GAAgB7tZ,EAAIv6B,GACnCwob,EAAaJ,GAAgBjob,EAAIH,GACjCyob,EAAeL,GAAgBpob,EAAIu6B,GACnCmuZ,EAAaN,GAAgBpob,EAAIG,GACvC,OAAOH,IAAMu6B,GAAKv6B,IAAMG,GAAMmob,GAAyB/tZ,IAAMp6B,GACvDoob,EAAeC,GAAcC,EAAeC,CACpD,CACA,SAASC,GAAYlqb,EAAOwiB,EAAKJ,GAC/B,OAAOD,KAAKC,IAAII,EAAKL,KAAKK,IAAIJ,EAAKpiB,GACrC,CAIA,SAASmqb,GAAWnqb,EAAOquC,EAAOu1G,GAAqB,IAAhBilS,EAAOthb,UAAAlH,OAAA,QAAAI,IAAA8G,UAAA,GAAAA,UAAA,GAAG,KAC/C,OAAOvH,GAASmiB,KAAKK,IAAI6rB,EAAOu1G,GAAOilS,GAAW7ob,GAASmiB,KAAKC,IAAIisB,EAAOu1G,GAAOilS,CACpF,CAEA,MAAMuB,GAAUl2Z,GAAY,IAANA,GAAiB,IAANA,EAC3Bm2Z,GAAYA,CAACn2Z,EAAG4H,EAAGt0B,KAAQ2a,KAAKyrC,IAAI,EAAG,IAAM15B,GAAK,IAAM/R,KAAKo6M,KAAKroM,EAAI4H,GAAKisZ,GAAMvgb,GACjF8ib,GAAaA,CAACp2Z,EAAG4H,EAAGt0B,IAAM2a,KAAKyrC,IAAI,GAAI,GAAK15B,GAAK/R,KAAKo6M,KAAKroM,EAAI4H,GAAKisZ,GAAMvgb,GAAK,EAC/E2kT,GAAU,CACdo+H,OAAQr2Z,GAAKA,EACbs2Z,WAAYt2Z,GAAKA,EAAIA,EACrBu2Z,YAAav2Z,IAAMA,GAAKA,EAAI,GAC5Bw2Z,cAAex2Z,IAAOA,GAAK,IAAO,EAC9B,GAAMA,EAAIA,GACT,MAAUA,GAAMA,EAAI,GAAK,GAC9By2Z,YAAaz2Z,GAAKA,EAAIA,EAAIA,EAC1B02Z,aAAc12Z,IAAMA,GAAK,GAAKA,EAAIA,EAAI,EACtC22Z,eAAgB32Z,IAAOA,GAAK,IAAO,EAC/B,GAAMA,EAAIA,EAAIA,EACd,KAAQA,GAAK,GAAKA,EAAIA,EAAI,GAC9B42Z,YAAa52Z,GAAKA,EAAIA,EAAIA,EAAIA,EAC9B62Z,aAAc72Z,MAAQA,GAAK,GAAKA,EAAIA,EAAIA,EAAI,GAC5C82Z,eAAgB92Z,IAAOA,GAAK,IAAO,EAC/B,GAAMA,EAAIA,EAAIA,EAAIA,GACjB,KAAQA,GAAK,GAAKA,EAAIA,EAAIA,EAAI,GACnC+2Z,YAAa/2Z,GAAKA,EAAIA,EAAIA,EAAIA,EAAIA,EAClCg3Z,aAAch3Z,IAAMA,GAAK,GAAKA,EAAIA,EAAIA,EAAIA,EAAI,EAC9Ci3Z,eAAgBj3Z,IAAOA,GAAK,IAAO,EAC/B,GAAMA,EAAIA,EAAIA,EAAIA,EAAIA,EACtB,KAAQA,GAAK,GAAKA,EAAIA,EAAIA,EAAIA,EAAI,GACtCk3Z,WAAYl3Z,GAA8B,EAAxB/R,KAAKm6M,IAAIpoM,EAAIk0Z,IAC/BiD,YAAan3Z,GAAK/R,KAAKo6M,IAAIroM,EAAIk0Z,IAC/BkD,cAAep3Z,IAAM,IAAO/R,KAAKm6M,IAAIa,GAAKjpM,GAAK,GAC/Cq3Z,WAAYr3Z,GAAY,IAANA,EAAW,EAAI/R,KAAKyrC,IAAI,EAAG,IAAM15B,EAAI,IACvDs3Z,YAAat3Z,GAAY,IAANA,EAAW,EAA4B,EAAvB/R,KAAKyrC,IAAI,GAAI,GAAK15B,GACrDu3Z,cAAev3Z,GAAKk2Z,GAAOl2Z,GAAKA,EAAIA,EAAI,GACpC,GAAM/R,KAAKyrC,IAAI,EAAG,IAAU,EAAJ15B,EAAQ,IAChC,IAAyC,EAAjC/R,KAAKyrC,IAAI,GAAI,IAAU,EAAJ15B,EAAQ,KACvCw3Z,WAAYx3Z,GAAMA,GAAK,EAAKA,IAAM/R,KAAKw6M,KAAK,EAAIzoM,EAAIA,GAAK,GACzDy3Z,YAAaz3Z,GAAK/R,KAAKw6M,KAAK,GAAKzoM,GAAK,GAAKA,GAC3C03Z,cAAe13Z,IAAOA,GAAK,IAAO,GAC7B,IAAO/R,KAAKw6M,KAAK,EAAIzoM,EAAIA,GAAK,GAC/B,IAAO/R,KAAKw6M,KAAK,GAAKzoM,GAAK,GAAKA,GAAK,GACzC23Z,cAAe33Z,GAAKk2Z,GAAOl2Z,GAAKA,EAAIm2Z,GAAUn2Z,EAAG,KAAO,IACxD43Z,eAAgB53Z,GAAKk2Z,GAAOl2Z,GAAKA,EAAIo2Z,GAAWp2Z,EAAG,KAAO,IAC1D63Z,gBAAAA,CAAiB73Z,GACf,MAAM4H,EAAI,MAEV,OAAOsuZ,GAAOl2Z,GAAKA,EACjBA,EAAI,GACA,GAAMm2Z,GAAc,EAAJn2Z,EAAO4H,EAHnB,KAIJ,GAAM,GAAMwuZ,GAAe,EAAJp2Z,EAAQ,EAAG4H,EAJ9B,IAKZ,EACAkwZ,UAAAA,CAAW93Z,GACT,MAAM4H,EAAI,QACV,OAAO5H,EAAIA,IAAM4H,EAAI,GAAK5H,EAAI4H,EAChC,EACAmwZ,WAAAA,CAAY/3Z,GACV,MAAM4H,EAAI,QACV,OAAQ5H,GAAK,GAAKA,IAAM4H,EAAI,GAAK5H,EAAI4H,GAAK,CAC5C,EACAowZ,aAAAA,CAAch4Z,GACZ,IAAI4H,EAAI,QACR,OAAK5H,GAAK,IAAO,EACDA,EAAIA,IAAuB,GAAhB4H,GAAM,QAAe5H,EAAI4H,GAA3C,GAEF,KAAQ5H,GAAK,GAAKA,IAAuB,GAAhB4H,GAAM,QAAe5H,EAAI4H,GAAK,EAChE,EACAqwZ,aAAcj4Z,GAAK,EAAIi4R,GAAQigI,cAAc,EAAIl4Z,GACjDk4Z,aAAAA,CAAcl4Z,GACZ,MAAM2J,EAAI,OACJ9rB,EAAI,KACV,OAAImiB,EAAK,EAAIniB,EACJ8rB,EAAI3J,EAAIA,EAEbA,EAAK,EAAIniB,EACJ8rB,GAAK3J,GAAM,IAAMniB,GAAMmiB,EAAI,IAEhCA,EAAK,IAAMniB,EACN8rB,GAAK3J,GAAM,KAAOniB,GAAMmiB,EAAI,MAE9B2J,GAAK3J,GAAM,MAAQniB,GAAMmiB,EAAI,OACtC,EACAm4Z,gBAAiBn4Z,GAAMA,EAAI,GACO,GAA9Bi4R,GAAQggI,aAAiB,EAAJj4Z,GACc,GAAnCi4R,GAAQigI,cAAkB,EAAJl4Z,EAAQ,GAAW,IASzCtnB,GAAM,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAGy3E,EAAG,GAAIh2B,EAAG,GAAIi2B,EAAG,GAAIE,EAAG,GAAIijN,EAAG,GAAIC,EAAG,GAAInmS,EAAG,GAAIC,EAAG,GAAIwQ,EAAG,GAAID,EAAG,GAAIrQ,EAAG,GAAIqK,EAAG,IACnJogD,GAAM,mBACNmgY,GAAM9qb,GAAM2qD,GAAQ,GAAJ3qD,GAChB+qb,GAAM/qb,GAAM2qD,IAAS,IAAJ3qD,IAAa,GAAK2qD,GAAQ,GAAJ3qD,GACvCgrb,GAAMhrb,IAAa,IAAJA,IAAa,KAAY,GAAJA,GA0B1C,SAASirb,GAAUvkb,GAClB,IAAI6D,EA1BL,SAAiB7D,GAChB,OAAOskb,GAAGtkb,EAAE+J,IAAMu6a,GAAGtkb,EAAE8yB,IAAMwxZ,GAAGtkb,EAAE1G,IAAMgrb,GAAGtkb,EAAE3G,EAC9C,CAwBSmrb,CAAQxkb,GAAKokb,GAAKC,GAC1B,OAAOrkb,EACJ,IAAM6D,EAAE7D,EAAE+J,GAAKlG,EAAE7D,EAAE8yB,GAAKjvB,EAAE7D,EAAE1G,IAAM0G,EAAE3G,EAAI,IAAMwK,EAAE7D,EAAE3G,GAAK,IACvD2G,CACJ,CACA,SAASolC,GAAMplC,GACd,OAAOA,EAAI,GAAM,CAClB,CACA,MAAMykb,GAAMA,CAACzkb,EAAGkyO,EAAGjtL,IAAMhrC,KAAKC,IAAID,KAAKK,IAAIta,EAAGilD,GAAIitL,GAClD,SAASwyM,GAAI1kb,GACZ,OAAOykb,GAAIr/Y,GAAU,KAAJplC,GAAW,EAAG,IAChC,CACA,SAAS2kb,GAAI3kb,GACZ,OAAOykb,GAAIr/Y,GAAU,IAAJplC,GAAU,EAAG,IAC/B,CACA,SAAS4kb,GAAI5kb,GACZ,OAAOykb,GAAIr/Y,GAAMplC,EAAI,MAAQ,IAAK,EAAG,EACtC,CACA,SAAS6kb,GAAI7kb,GACZ,OAAOykb,GAAIr/Y,GAAU,IAAJplC,GAAU,EAAG,IAC/B,CACA,MAAM8kb,GAAS,uGAgCf,MAAMC,GAAS,+GACf,SAASC,GAAS//X,EAAGrxB,EAAGs+M,GACvB,MAAM74O,EAAIu6B,EAAI3Z,KAAKK,IAAI43N,EAAG,EAAIA,GACxBruO,EAAI,SAACmyB,GAAC,IAAEyvB,EAACpmD,UAAAlH,OAAA,QAAAI,IAAA8G,UAAA,GAAAA,UAAA,IAAI22B,EAAIivB,EAAI,IAAM,GAAE,OAAKitL,EAAI74O,EAAI4gB,KAAKC,IAAID,KAAKK,IAAImrC,EAAI,EAAG,EAAIA,EAAG,IAAK,EAAE,EACvF,MAAO,CAAC5hD,EAAE,GAAIA,EAAE,GAAIA,EAAE,GACvB,CACA,SAASohb,GAAShgY,EAAGrxB,EAAG5zB,GACvB,MAAM6D,EAAI,SAACmyB,GAAC,IAAEyvB,EAACpmD,UAAAlH,OAAA,QAAAI,IAAA8G,UAAA,GAAAA,UAAA,IAAI22B,EAAIivB,EAAI,IAAM,EAAC,OAAKjlD,EAAIA,EAAI4zB,EAAI3Z,KAAKC,IAAID,KAAKK,IAAImrC,EAAG,EAAIA,EAAG,GAAI,EAAE,EACrF,MAAO,CAAC5hD,EAAE,GAAIA,EAAE,GAAIA,EAAE,GACvB,CACA,SAASqhb,GAASjgY,EAAG8kP,EAAGzwS,GACvB,MAAM6rD,EAAM6/X,GAAS//X,EAAG,EAAG,IAC3B,IAAI7pD,EAMJ,IALI2uS,EAAIzwS,EAAI,IACX8B,EAAI,GAAK2uS,EAAIzwS,GACbywS,GAAK3uS,EACL9B,GAAK8B,GAEDA,EAAI,EAAGA,EAAI,EAAGA,IAClB+pD,EAAI/pD,IAAM,EAAI2uS,EAAIzwS,EAClB6rD,EAAI/pD,IAAM2uS,EAEX,OAAO5kP,CACR,CACA,SAASggY,GAAQnlb,GAChB,MACM+J,EAAI/J,EAAE+J,EADE,IAER+oB,EAAI9yB,EAAE8yB,EAFE,IAGRx5B,EAAI0G,EAAE1G,EAHE,IAIR4gB,EAAMD,KAAKC,IAAInQ,EAAG+oB,EAAGx5B,GACrBghB,EAAML,KAAKK,IAAIvQ,EAAG+oB,EAAGx5B,GACrB44O,GAAKh4N,EAAMI,GAAO,EACxB,IAAI2qC,EAAGrxB,EAAG/pB,EAWV,OAVIqQ,IAAQI,IACXzQ,EAAIqQ,EAAMI,EACVsZ,EAAIs+M,EAAI,GAAMroO,GAAK,EAAIqQ,EAAMI,GAAOzQ,GAAKqQ,EAAMI,GAC/C2qC,EAAI/qC,IAAQnQ,GACP+oB,EAAIx5B,GAAKuQ,GAAMipB,EAAIx5B,EAAI,EAAI,GAC7B4gB,IAAQ4Y,GACNx5B,EAAIyQ,GAAKF,EAAI,GACbE,EAAI+oB,GAAKjpB,EAAI,EAClBo7C,EAAQ,GAAJA,EAAS,IAEP,CAAK,EAAJA,EAAOrxB,GAAK,EAAGs+M,EACxB,CACA,SAASkzM,GAAMvhb,EAAGxK,EAAGC,EAAGwQ,GACvB,OACClO,MAAMC,QAAQxC,GACXwK,EAAExK,EAAE,GAAIA,EAAE,GAAIA,EAAE,IAChBwK,EAAExK,EAAGC,EAAGwQ,IACVpF,IAAIigb,GACP,CACA,SAASU,GAAQpgY,EAAGrxB,EAAGs+M,GACtB,OAAOkzM,GAAMJ,GAAU//X,EAAGrxB,EAAGs+M,EAC9B,CAOA,SAASozM,GAAIrgY,GACZ,OAAQA,EAAI,IAAM,KAAO,GAC1B,CACA,SAASsgY,GAAS1yZ,GACjB,MAAM8C,EAAIovZ,GAAOrkb,KAAKmyB,GACtB,IACI7yB,EADA3G,EAAI,IAER,IAAKs8B,EACJ,OAEGA,EAAE,KAAO31B,IACZ3G,EAAIs8B,EAAE,GAAK+uZ,IAAK/uZ,EAAE,IAAMgvZ,IAAKhvZ,EAAE,KAEhC,MAAMsvB,EAAIqgY,IAAK3vZ,EAAE,IACX+1Y,GAAM/1Y,EAAE,GAAK,IACbg2Y,GAAMh2Y,EAAE,GAAK,IAQnB,OANC31B,EADY,QAAT21B,EAAE,GAtBP,SAAiBsvB,EAAG8kP,EAAGzwS,GACtB,OAAO8rb,GAAMF,GAAUjgY,EAAG8kP,EAAGzwS,EAC9B,CAqBMksb,CAAQvgY,EAAGymX,EAAIC,GACA,QAATh2Y,EAAE,GArBd,SAAiBsvB,EAAGrxB,EAAG5zB,GACtB,OAAOolb,GAAMH,GAAUhgY,EAAGrxB,EAAG5zB,EAC9B,CAoBMylb,CAAQxgY,EAAGymX,EAAIC,GAEf0Z,GAAQpgY,EAAGymX,EAAIC,GAEb,CACN5ha,EAAG/J,EAAE,GACL8yB,EAAG9yB,EAAE,GACL1G,EAAG0G,EAAE,GACL3G,EAAGA,EAEL,CAqBA,MAAMqsb,GAAQ,CACb1oX,EAAG,OACHuf,EAAG,QACHC,EAAG,KACHsmN,EAAG,MACHb,EAAG,KACH5lN,EAAG,SACH2lN,EAAG,QACH7lN,EAAG,KACH4lN,EAAG,KACH77O,EAAG,KACHC,EAAG,KACHi2B,EAAG,QACHE,EAAG,QACHwlN,EAAG,KACHD,EAAG,WACHtC,EAAG,KACHqC,EAAG,KACHN,EAAG,KACHL,EAAG,KACHN,EAAG,KACH8I,EAAG,QACHjK,EAAG,KACHa,EAAG,KACHqJ,EAAG,OACH7jP,EAAG,KACHm6O,EAAG,QACHG,EAAG,MAEEjxH,GAAQ,CACby2Q,OAAQ,SACRC,YAAa,SACb5+X,KAAM,OACN6+X,UAAW,SACXC,KAAM,SACN3+X,MAAO,SACPC,OAAQ,SACRC,MAAO,IACP0+X,aAAc,SACd1oI,GAAI,KACJ2oI,QAAS,SACTC,KAAM,SACNv+X,UAAW,SACXw+X,OAAQ,SACRC,SAAU,SACVC,QAAS,SACTC,IAAK,SACLC,YAAa,SACbC,QAAS,SACTt+X,QAAS,SACTC,KAAM,OACNs+X,IAAK,KACLC,MAAO,OACPC,QAAS,SACTC,KAAM,SACNC,KAAM,OACNC,KAAM,SACNC,OAAQ,SACRC,QAAS,SACTC,SAAU,SACVC,OAAQ,SACRC,MAAO,SACPC,IAAK,SACLC,OAAQ,SACRC,OAAQ,SACRC,KAAM,SACNC,MAAO,SACPC,MAAO,SACPC,IAAK,OACLC,OAAQ,SACRC,OAAQ,SACRC,SAAU,OACVC,OAAQ,SACRC,OAAQ,SACRC,SAAU,SACVC,SAAU,SACVC,SAAU,SACVC,SAAU,SACVC,OAAQ,SACRC,QAAS,SACTC,UAAW,SACXC,IAAK,SACLC,OAAQ,SACRC,IAAK,SACLC,IAAK,OACLC,MAAO,SACPC,IAAK,SACLC,QAAS,SACTC,OAAQ,SACRC,QAAS,SACTC,MAAO,SACPC,KAAM,SACNp+X,MAAO,SACPq+X,OAAQ,SACRC,UAAW,SACXC,QAAS,SACTC,WAAY,SACZC,IAAK,SACLC,KAAM,SACNC,MAAO,SACPC,UAAW,SACXC,KAAM,SACNC,KAAM,SACNC,KAAM,SACNC,KAAM,SACNC,OAAQ,SACRC,OAAQ,SACRC,OAAQ,SACRC,MAAO,SACPC,MAAO,SACPC,QAAS,SACTC,IAAK,SACLn+X,KAAM,OACNo+X,QAAS,SACTC,IAAK,SACLC,OAAQ,SACRC,MAAO,SACPC,WAAY,SACZC,IAAK,KACLC,MAAO,SACPC,OAAQ,SACRC,OAAQ,SACRC,KAAM,SACNC,UAAW,OACXC,IAAK,SACLC,SAAU,SACVC,WAAY,SACZC,QAAS,SACTC,SAAU,SACVC,QAAS,SACTC,WAAY,SACZl+X,KAAM,KACNm+X,OAAQ,SACRC,KAAM,SACNC,QAAS,SACTC,MAAO,SACPC,QAAS,SACTC,KAAM,SACNC,UAAW,SACXC,OAAQ,SACRC,MAAO,SACPC,WAAY,SACZC,UAAW,SACXC,QAAS,SACTj+X,KAAM,SACNk+X,IAAK,SACLh+X,KAAM,SACNi+X,QAAS,SACTC,MAAO,SACPC,YAAa,SACb1zI,GAAI,SACJ2zI,SAAU,SACVC,MAAO,SACPC,UAAW,SACXC,MAAO,SACPC,UAAW,SACXC,MAAO,SACPC,QAAS,SACTC,MAAO,SACP99X,OAAQ,SACR+9X,MAAO,SACPC,IAAK,SACLC,KAAM,SACNC,KAAM,SACN79X,KAAM,SACN89X,SAAU,OACVC,OAAQ,SACR59X,IAAK,SACL69X,IAAK,OACLC,MAAO,SACP39X,OAAQ,SACR6sP,GAAI,SACJ+wI,MAAO,SACPC,IAAK,SACLC,KAAM,SACNC,UAAW,SACXC,GAAI,SACJC,MAAO,UAkBR,IAAIC,GACJ,SAASC,GAAUh7Z,GACb+6Z,KACJA,GAnBF,WACC,MAAME,EAAW,CAAC,EACZ3yb,EAAOnB,OAAOmB,KAAK+zK,IACnB6+Q,EAAQ/zb,OAAOmB,KAAKuqb,IAC1B,IAAItqb,EAAG4nB,EAAGyiC,EAAG2vQ,EAAID,EACjB,IAAK/5T,EAAI,EAAGA,EAAID,EAAKhD,OAAQiD,IAAK,CAEjC,IADAg6T,EAAKD,EAAKh6T,EAAKC,GACV4nB,EAAI,EAAGA,EAAI+qa,EAAM51b,OAAQ6qB,IAC7ByiC,EAAIsoY,EAAM/qa,GACVmyS,EAAKA,EAAG7xT,QAAQmiD,EAAGigY,GAAMjgY,IAE1BA,EAAI/sD,SAASw2K,GAAMkmJ,GAAK,IACxB04H,EAAS34H,GAAM,CAAC1vQ,GAAK,GAAK,IAAMA,GAAK,EAAI,IAAU,IAAJA,EAChD,CACA,OAAOqoY,CACR,CAIYE,GACVJ,GAAQK,YAAc,CAAC,EAAG,EAAG,EAAG,IAEjC,MAAM50b,EAAIu0b,GAAQ/6Z,EAAIE,eACtB,OAAO15B,GAAK,CACX0Q,EAAG1Q,EAAE,GACLy5B,EAAGz5B,EAAE,GACLC,EAAGD,EAAE,GACLA,EAAgB,IAAbA,EAAElB,OAAekB,EAAE,GAAK,IAE7B,CACA,SAAS60b,GAAOlub,EAAG5E,EAAG+yb,GACrB,GAAInub,EAAG,CACN,IAAIosR,EAAM+4J,GAAQnlb,GAClBosR,EAAIhxR,GAAK6e,KAAKC,IAAI,EAAGD,KAAKK,IAAI8xQ,EAAIhxR,GAAKgxR,EAAIhxR,GAAK+yb,EAAa,IAAN/yb,EAAU,IAAM,IACvEgxR,EAAMi5J,GAAQj5J,GACdpsR,EAAE+J,EAAIqiR,EAAI,GACVpsR,EAAE8yB,EAAIs5P,EAAI,GACVpsR,EAAE1G,EAAI8yR,EAAI,EACX,CACD,CACA,SAAS6vD,GAAMj8U,EAAGvB,GACjB,OAAOuB,EAAIhG,OAAO0wB,OAAOjsB,GAAS,CAAC,EAAGuB,GAAKA,CAC5C,CACA,SAASoub,GAAW/pY,GACnB,IAAIrkD,EAAI,CAAC+J,EAAG,EAAG+oB,EAAG,EAAGx5B,EAAG,EAAGD,EAAG,KAY9B,OAXIuC,MAAMC,QAAQwoD,GACbA,EAAMlsD,QAAU,IACnB6H,EAAI,CAAC+J,EAAGs6C,EAAM,GAAIvxB,EAAGuxB,EAAM,GAAI/qD,EAAG+qD,EAAM,GAAIhrD,EAAG,KAC3CgrD,EAAMlsD,OAAS,IAClB6H,EAAE3G,EAAIsrb,GAAItgY,EAAM,OAIlBrkD,EAAIi8U,GAAM53R,EAAO,CAACt6C,EAAG,EAAG+oB,EAAG,EAAGx5B,EAAG,EAAGD,EAAG,KACrCA,EAAIsrb,GAAI3kb,EAAE3G,GAEN2G,CACR,CACA,SAASqub,GAAcx7Z,GACtB,MAAsB,MAAlBA,EAAI6vB,OAAO,GA5XhB,SAAkB7vB,GACjB,MAAM8C,EAAImvZ,GAAOpkb,KAAKmyB,GACtB,IACI9oB,EAAG+oB,EAAGx5B,EADND,EAAI,IAER,GAAKs8B,EAAL,CAGA,GAAIA,EAAE,KAAO5rB,EAAG,CACf,MAAM/J,GAAK21B,EAAE,GACbt8B,EAAI,KAAOs8B,EAAE,GAAK+uZ,GAAI1kb,GAAS,IAAJA,EAC5B,CAOA,OANA+J,GAAK4rB,EAAE,GACP7C,GAAK6C,EAAE,GACPr8B,GAAKq8B,EAAE,GACP5rB,EAAI,KAAO4rB,EAAE,GAAK+uZ,GAAI36a,GAAKA,GAC3B+oB,EAAI,KAAO6C,EAAE,GAAK+uZ,GAAI5xZ,GAAKA,GAC3Bx5B,EAAI,KAAOq8B,EAAE,GAAK+uZ,GAAIprb,GAAKA,GACpB,CACNyQ,EAAGA,EACH+oB,EAAGA,EACHx5B,EAAGA,EACHD,EAAGA,EAfJ,CAiBD,CAsWSi1b,CAASz7Z,GAEV0yZ,GAAS1yZ,EACjB,CACA,MAAMixB,GACLrnD,WAAAA,CAAY4nD,GACX,GAAIA,aAAiBP,GACpB,OAAOO,EAER,MAAMh4C,SAAcg4C,EACpB,IAAIrkD,EACS,WAATqM,EACHrM,EAAIoub,GAAW/pY,GACI,WAATh4C,IACVrM,EAxbH,SAAkB6yB,GACjB,IACIt1B,EADAm3B,EAAM7B,EAAI16B,OAmBd,MAjBe,MAAX06B,EAAI,KACK,IAAR6B,GAAqB,IAARA,EAChBn3B,EAAM,CACLwM,EAAG,IAAoB,GAAdrF,GAAImuB,EAAI,IACjBC,EAAG,IAAoB,GAAdpuB,GAAImuB,EAAI,IACjBv5B,EAAG,IAAoB,GAAdoL,GAAImuB,EAAI,IACjBx5B,EAAW,IAARq7B,EAA0B,GAAdhwB,GAAImuB,EAAI,IAAW,KAEjB,IAAR6B,GAAqB,IAARA,IACvBn3B,EAAM,CACLwM,EAAGrF,GAAImuB,EAAI,KAAO,EAAInuB,GAAImuB,EAAI,IAC9BC,EAAGpuB,GAAImuB,EAAI,KAAO,EAAInuB,GAAImuB,EAAI,IAC9Bv5B,EAAGoL,GAAImuB,EAAI,KAAO,EAAInuB,GAAImuB,EAAI,IAC9Bx5B,EAAW,IAARq7B,EAAahwB,GAAImuB,EAAI,KAAO,EAAInuB,GAAImuB,EAAI,IAAO,OAI9Ct1B,CACR,CAmaOgxb,CAASlqY,IAAUwpY,GAAUxpY,IAAUgqY,GAAchqY,IAE1DtpD,KAAKyzb,KAAOxub,EACZjF,KAAK0zb,SAAWzub,CACjB,CACA,SAAI6wF,GACH,OAAO91F,KAAK0zb,MACb,CACA,OAAItpY,GACH,IAAInlD,EAAIi8U,GAAMlhV,KAAKyzb,MAInB,OAHIxub,IACHA,EAAE3G,EAAIurb,GAAI5kb,EAAE3G,IAEN2G,CACR,CACA,OAAImlD,CAAI/oD,GACPrB,KAAKyzb,KAAOJ,GAAWhyb,EACxB,CACAsyb,SAAAA,GACC,OAAO3zb,KAAK0zb,QAtYKzub,EAsYcjF,KAAKyzb,QApYpCxub,EAAE3G,EAAI,IAAG,QAAA0M,OACE/F,EAAE+J,EAAC,MAAAhE,OAAK/F,EAAE8yB,EAAC,MAAA/sB,OAAK/F,EAAE1G,EAAC,MAAAyM,OAAK6+a,GAAI5kb,EAAE3G,GAAE,YAAA0M,OACjC/F,EAAE+J,EAAC,MAAAhE,OAAK/F,EAAE8yB,EAAC,MAAA/sB,OAAK/F,EAAE1G,EAAC,MAkYeyB,KAAKyzb,KAtYnD,IAAmBxub,CAuYlB,CACAukb,SAAAA,GACC,OAAOxpb,KAAK0zb,OAASlK,GAAUxpb,KAAKyzb,MAAQzzb,KAAKyzb,IAClD,CACAG,SAAAA,GACC,OAAO5zb,KAAK0zb,OAlSd,SAAmBzub,GAClB,IAAKA,EACJ,OAED,MAAM3G,EAAI8rb,GAAQnlb,GACZilD,EAAI5rD,EAAE,GACNu6B,EAAIixZ,GAAIxrb,EAAE,IACV64O,EAAI2yM,GAAIxrb,EAAE,IAChB,OAAO2G,EAAE3G,EAAI,IAAG,QAAA0M,OACLk/C,EAAC,MAAAl/C,OAAK6tB,EAAC,OAAA7tB,OAAMmsO,EAAC,OAAAnsO,OAAM6+a,GAAI5kb,EAAE3G,GAAE,YAAA0M,OAC7Bk/C,EAAC,MAAAl/C,OAAK6tB,EAAC,OAAA7tB,OAAMmsO,EAAC,KACzB,CAuRuBy8M,CAAU5zb,KAAKyzb,MAAQzzb,KAAKyzb,IAClD,CACAI,GAAAA,CAAIj3N,EAAOxyJ,GACV,MAAMg1O,EAAKp/S,KACX,GAAI48N,EAAO,CACV,MAAMk3N,EAAK10I,EAAGh1P,IACR2pY,EAAKn3N,EAAMxyK,IACjB,IAAI4pY,EACJ,MAAMzvb,EAAI6lE,IAAW4pX,EAAK,GAAM5pX,EAC1B4kO,EAAI,EAAIzqS,EAAI,EACZjG,EAAIw1b,EAAGx1b,EAAIy1b,EAAGz1b,EACd21b,IAAOjlJ,EAAI1wS,KAAO,EAAI0wS,GAAKA,EAAI1wS,IAAM,EAAI0wS,EAAI1wS,IAAM,GAAK,EAC9D01b,EAAK,EAAIC,EACTH,EAAG9kb,EAAI,IAAOilb,EAAKH,EAAG9kb,EAAIglb,EAAKD,EAAG/kb,EAAI,GACtC8kb,EAAG/7Z,EAAI,IAAOk8Z,EAAKH,EAAG/7Z,EAAIi8Z,EAAKD,EAAGh8Z,EAAI,GACtC+7Z,EAAGv1b,EAAI,IAAO01b,EAAKH,EAAGv1b,EAAIy1b,EAAKD,EAAGx1b,EAAI,GACtCu1b,EAAGx1b,EAAIiG,EAAIuvb,EAAGx1b,GAAK,EAAIiG,GAAKwvb,EAAGz1b,EAC/B8gT,EAAGh1P,IAAM0pY,CACV,CACA,OAAO10I,CACR,CACA8hC,KAAAA,GACC,OAAO,IAAIn4R,GAAM/oD,KAAKoqD,IACvB,CACAD,KAAAA,CAAM7rD,GAEL,OADA0B,KAAKyzb,KAAKn1b,EAAIsrb,GAAItrb,GACX0B,IACR,CACAk0b,OAAAA,CAAQd,GAGP,OAFYpzb,KAAKyzb,KACbn1b,GAAK,EAAI80b,EACNpzb,IACR,CACAm0b,SAAAA,GACC,MAAM/pY,EAAMpqD,KAAKyzb,KACX3tb,EAAMukC,GAAc,GAAR+f,EAAIp7C,EAAkB,IAARo7C,EAAIryB,EAAmB,IAARqyB,EAAI7rD,GAEnD,OADA6rD,EAAIp7C,EAAIo7C,EAAIryB,EAAIqyB,EAAI7rD,EAAIuH,EACjB9F,IACR,CACAo0b,OAAAA,CAAQhB,GAGP,OAFYpzb,KAAKyzb,KACbn1b,GAAK,EAAI80b,EACNpzb,IACR,CACAq0b,MAAAA,GACC,MAAMpvb,EAAIjF,KAAKyzb,KAIf,OAHAxub,EAAE+J,EAAI,IAAM/J,EAAE+J,EACd/J,EAAE8yB,EAAI,IAAM9yB,EAAE8yB,EACd9yB,EAAE1G,EAAI,IAAM0G,EAAE1G,EACPyB,IACR,CACAs0b,OAAAA,CAAQlB,GAEP,OADAD,GAAOnzb,KAAKyzb,KAAM,EAAGL,GACdpzb,IACR,CACAu0b,MAAAA,CAAOnB,GAEN,OADAD,GAAOnzb,KAAKyzb,KAAM,GAAIL,GACfpzb,IACR,CACAw0b,QAAAA,CAASpB,GAER,OADAD,GAAOnzb,KAAKyzb,KAAM,EAAGL,GACdpzb,IACR,CACAy0b,UAAAA,CAAWrB,GAEV,OADAD,GAAOnzb,KAAKyzb,KAAM,GAAIL,GACfpzb,IACR,CACA00b,MAAAA,CAAOC,GAEN,OA/WF,SAAgB1vb,EAAG0vb,GAClB,IAAIzqY,EAAIkgY,GAAQnlb,GAChBilD,EAAE,GAAKqgY,GAAIrgY,EAAE,GAAKyqY,GAClBzqY,EAAIogY,GAAQpgY,GACZjlD,EAAE+J,EAAIk7C,EAAE,GACRjlD,EAAE8yB,EAAImyB,EAAE,GACRjlD,EAAE1G,EAAI2rD,EAAE,EACT,CAuWEwqY,CAAO10b,KAAKyzb,KAAMkB,GACX30b,IACR,EAED,SAAS40b,GAAUtrY,GAClB,OAAO,IAAIP,GAAMO,EAClB,CAEA,MAAMurY,GAAuB93b,GAAUA,aAAiB+3b,gBAAkB/3b,aAAiBg4b,cAC3F,SAASn4N,GAAM7/N,GACb,OAAO83b,GAAoB93b,GAASA,EAAQ63b,GAAU73b,EACxD,CACA,SAASi4b,GAAcj4b,GACrB,OAAO83b,GAAoB93b,GACvBA,EACA63b,GAAU73b,GAAOy3b,SAAS,IAAKD,OAAO,IAAK/K,WACjD,CAEA,MAAMyL,GAAYh2b,OAAOotB,OAAO,MAC1B6oa,GAAcj2b,OAAOotB,OAAO,MAClC,SAAS8oa,GAAW77a,EAAMtY,GACxB,IAAKA,EACH,OAAOsY,EAET,MAAMlZ,EAAOY,EAAIsC,MAAM,KACvB,IAAK,IAAIjD,EAAI,EAAG46B,EAAI76B,EAAKhD,OAAQiD,EAAI46B,IAAK56B,EAAG,CAC3C,MAAMqqD,EAAItqD,EAAKC,GACfiZ,EAAOA,EAAKoxC,KAAOpxC,EAAKoxC,GAAKzrD,OAAOotB,OAAO,MAC7C,CACA,OAAO/S,CACT,CACA,SAASxU,GAAIuna,EAAM/rC,EAAO5hY,GACxB,MAAqB,kBAAV4hY,EACF5lG,GAAMy6J,GAAW9oB,EAAM/rC,GAAQ5hY,GAEjCg8R,GAAMy6J,GAAW9oB,EAAM,IAAK/rC,EACrC,CAmFA,IAAI3nG,GAAW,IAlFf,MACEj3R,WAAAA,CAAY0zb,GACVp1b,KAAK82S,eAAYt5S,EACjBwC,KAAK+8N,gBAAkB,kBACvB/8N,KAAKq1b,YAAc,kBACnBr1b,KAAK48N,MAAQ,OACb58N,KAAKs1b,SAAW,CAAC,EACjBt1b,KAAKkqV,iBAAoBjjV,GAAYA,EAAQukE,MAAM9T,SAAS69X,sBAC5Dv1b,KAAK8nJ,SAAW,CAAC,EACjB9nJ,KAAKkuH,OAAS,CACZ,YACA,WACA,QACA,aACA,aAEFluH,KAAKw1b,KAAO,CACVC,OAAQ,qDACR7kb,KAAM,GACN0nD,MAAO,SACP2yG,WAAY,IACZ7gG,OAAQ,MAEVpqE,KAAKwxW,MAAQ,CAAC,EACdxxW,KAAK01b,qBAAuB,CAACC,EAAK9qa,IAAYmqa,GAAcnqa,EAAQkyM,iBACpE/8N,KAAK41b,iBAAmB,CAACD,EAAK9qa,IAAYmqa,GAAcnqa,EAAQwqa,aAChEr1b,KAAK61b,WAAa,CAACF,EAAK9qa,IAAYmqa,GAAcnqa,EAAQ+xM,OAC1D58N,KAAK81b,UAAY,IACjB91b,KAAK+1b,YAAc,CACjBxqI,KAAM,UACNyqI,WAAW,GAEbh2b,KAAKi2b,qBAAsB,EAC3Bj2b,KAAKk2b,QAAU,KACfl2b,KAAKozT,QAAU,KACfpzT,KAAKm2b,SAAU,EACfn2b,KAAKo2b,QAAU,CAAC,EAChBp2b,KAAKyxW,YAAa,EAClBzxW,KAAKogD,WAAQ5iD,EACbwC,KAAKq2b,OAAS,CAAC,EACfr2b,KAAKs2b,UAAW,EAChBt2b,KAAKu2b,yBAA0B,EAC/Bv2b,KAAKw2b,SAASpB,EAChB,CACAtwb,GAAAA,CAAIw7X,EAAO5hY,GACT,OAAOoG,GAAI9E,KAAMsgY,EAAO5hY,EAC1B,CACA+F,GAAAA,CAAI67X,GACF,OAAO60D,GAAWn1b,KAAMsgY,EAC1B,CACAk2D,QAAAA,CAASl2D,EAAO5hY,GACd,OAAOoG,GAAIowb,GAAa50D,EAAO5hY,EACjC,CACA+3b,QAAAA,CAASn2D,EAAO5hY,GACd,OAAOoG,GAAImwb,GAAW30D,EAAO5hY,EAC/B,CACAq/L,KAAAA,CAAMuiM,EAAO76X,EAAMixb,EAAaC,GAC9B,MAAMC,EAAczB,GAAWn1b,KAAMsgY,GAC/Bu2D,EAAoB1B,GAAWn1b,KAAM02b,GACrCI,EAAc,IAAMrxb,EAC1BxG,OAAO+E,iBAAiB4yb,EAAa,CACnC,CAACE,GAAc,CACb/5b,MAAO65b,EAAYnxb,GACnB1B,UAAU,GAEZ,CAAC0B,GAAO,CACNkqS,YAAY,EACZlrS,GAAAA,GACE,MAAMsyb,EAAQ/2b,KAAK82b,GACb/0b,EAAS80b,EAAkBF,GACjC,OAAIl6J,GAASs6J,GACJ93b,OAAO0wB,OAAO,CAAC,EAAG5tB,EAAQg1b,GAE5B5T,GAAe4T,EAAOh1b,EAC/B,EACA+C,GAAAA,CAAI/H,GACFiD,KAAK82b,GAAe/5b,CACtB,IAGN,GAE0B,CAC1Bi6b,YAAcvxb,IAAUA,EAAKisC,WAAW,MACxCulZ,WAAaxxb,GAAkB,WAATA,EACtB+rW,MAAO,CACL0lF,UAAW,eAEbnB,YAAa,CACXiB,aAAa,EACbC,YAAY,KAahB,SAASE,GAAaxB,EAAKzyb,EAAM+nD,EAAImsY,EAAS59Z,GAC5C,IAAI69Z,EAAYn0b,EAAKs2B,GAQrB,OAPK69Z,IACHA,EAAYn0b,EAAKs2B,GAAUm8Z,EAAI2B,YAAY99Z,GAAQzgB,MACnDkyC,EAAGjsD,KAAKw6B,IAEN69Z,EAAYD,IACdA,EAAUC,GAELD,CACT,CACA,SAASG,GAAa5B,EAAKH,EAAMgC,EAAe1wH,GAE9C,IAAI5jU,GADJ4jU,EAAQA,GAAS,CAAC,GACD5jU,KAAO4jU,EAAM5jU,MAAQ,CAAC,EACnC+nD,EAAK67Q,EAAM2wH,eAAiB3wH,EAAM2wH,gBAAkB,GACpD3wH,EAAM0uH,OAASA,IACjBtyb,EAAO4jU,EAAM5jU,KAAO,CAAC,EACrB+nD,EAAK67Q,EAAM2wH,eAAiB,GAC5B3wH,EAAM0uH,KAAOA,GAEfG,EAAI7oX,OACJ6oX,EAAIH,KAAOA,EACX,IAAI4B,EAAU,EACd,MAAM1T,EAAO8T,EAAcp6b,OAC3B,IAAIiD,EAAG4nB,EAAGyva,EAAMx4J,EAAOy4J,EACvB,IAAKt3b,EAAI,EAAGA,EAAIqjb,EAAMrjb,IAEpB,GADA6+R,EAAQs4J,EAAcn3b,QACR7C,IAAV0hS,GAAiC,OAAVA,IAAqC,IAAnBp+R,GAAQo+R,GACnDk4J,EAAUD,GAAaxB,EAAKzyb,EAAM+nD,EAAImsY,EAASl4J,QAC1C,GAAIp+R,GAAQo+R,GACjB,IAAKj3Q,EAAI,EAAGyva,EAAOx4J,EAAM9hS,OAAQ6qB,EAAIyva,EAAMzva,IACzC0va,EAAcz4J,EAAMj3Q,QACAzqB,IAAhBm6b,GAA6C,OAAhBA,GAAyB72b,GAAQ62b,KAChEP,EAAUD,GAAaxB,EAAKzyb,EAAM+nD,EAAImsY,EAASO,IAKvDhC,EAAIiC,UACJ,MAAMC,EAAQ5sY,EAAG7tD,OAAS,EAC1B,GAAIy6b,EAAQL,EAAcp6b,OAAQ,CAChC,IAAKiD,EAAI,EAAGA,EAAIw3b,EAAOx3b,WACd6C,EAAK+nD,EAAG5qD,IAEjB4qD,EAAG5oC,OAAO,EAAGw1a,EACf,CACA,OAAOT,CACT,CACA,SAASU,GAAYtsX,EAAOo9B,EAAO7vF,GACjC,MAAMmxU,EAAmB1+Q,EAAMusX,wBACzBC,EAAsB,IAAVj/a,EAAcmG,KAAKC,IAAIpG,EAAQ,EAAG,IAAO,EAC3D,OAAOmG,KAAKmrB,OAAOu+D,EAAQovV,GAAa9tG,GAAoBA,EAAmB8tG,CACjF,CACA,SAASC,GAAYC,EAAQvC,IAC3BA,EAAMA,GAAOuC,EAAO1+a,WAAW,OAC3BszD,OACJ6oX,EAAIwC,iBACJxC,EAAIyC,UAAU,EAAG,EAAGF,EAAOn/a,MAAOm/a,EAAO3/X,QACzCo9X,EAAIiC,SACN,CACA,SAASS,GAAU1C,EAAK9qa,EAASo3C,EAAGD,GAClC,IAAI1wD,EAAMgnb,EAASC,EAAS3nb,EAAM4nb,EAClC,MAAMlgY,EAAQztC,EAAQ4ta,WAChBC,EAAW7ta,EAAQ6ta,SACnBvgO,EAASttM,EAAQstM,OACvB,IAAIwgO,GAAOD,GAAY,GAAKxT,GAC5B,GAAI5sX,GAA0B,kBAAVA,IAClBhnD,EAAOgnD,EAAMh7D,WACA,8BAATgU,GAAiD,+BAATA,GAM1C,OALAqkb,EAAI7oX,OACJ6oX,EAAIr/W,UAAUrU,EAAGD,GACjB2zX,EAAIjB,OAAOiE,GACXhD,EAAIiD,UAAUtgY,GAAQA,EAAMv/C,MAAQ,GAAIu/C,EAAMC,OAAS,EAAGD,EAAMv/C,MAAOu/C,EAAMC,aAC7Eo9X,EAAIiC,UAIR,KAAIn6b,MAAM06N,IAAWA,GAAU,GAA/B,CAIA,OADAw9N,EAAIkD,YACIvgY,GACR,QACEq9X,EAAImD,IAAI72X,EAAGD,EAAGm2J,EAAQ,EAAG2sN,IACzB6Q,EAAIoD,YACJ,MACF,IAAK,WACHpD,EAAIqD,OAAO/2X,EAAI/iD,KAAKo6M,IAAIq/N,GAAOxgO,EAAQn2J,EAAI9iD,KAAKm6M,IAAIs/N,GAAOxgO,GAC3DwgO,GAAOtT,GACPsQ,EAAIsD,OAAOh3X,EAAI/iD,KAAKo6M,IAAIq/N,GAAOxgO,EAAQn2J,EAAI9iD,KAAKm6M,IAAIs/N,GAAOxgO,GAC3DwgO,GAAOtT,GACPsQ,EAAIsD,OAAOh3X,EAAI/iD,KAAKo6M,IAAIq/N,GAAOxgO,EAAQn2J,EAAI9iD,KAAKm6M,IAAIs/N,GAAOxgO,GAC3Dw9N,EAAIoD,YACJ,MACF,IAAK,cACHP,EAAwB,KAATrgO,EACfvnN,EAAOunN,EAASqgO,EAChBF,EAAUp5a,KAAKm6M,IAAIs/N,EAAMvT,IAAcx0a,EACvC2nb,EAAUr5a,KAAKo6M,IAAIq/N,EAAMvT,IAAcx0a,EACvC+kb,EAAImD,IAAI72X,EAAIq2X,EAASt2X,EAAIu2X,EAASC,EAAcG,EAAMz+N,GAAIy+N,EAAMxT,IAChEwQ,EAAImD,IAAI72X,EAAIs2X,EAASv2X,EAAIs2X,EAASE,EAAcG,EAAMxT,GAASwT,GAC/DhD,EAAImD,IAAI72X,EAAIq2X,EAASt2X,EAAIu2X,EAASC,EAAcG,EAAKA,EAAMxT,IAC3DwQ,EAAImD,IAAI72X,EAAIs2X,EAASv2X,EAAIs2X,EAASE,EAAcG,EAAMxT,GAASwT,EAAMz+N,IACrEy7N,EAAIoD,YACJ,MACF,IAAK,OACH,IAAKL,EAAU,CACb9nb,EAAOsO,KAAKg6a,QAAU/gO,EACtBw9N,EAAIhgV,KAAK1zC,EAAIrxD,EAAMoxD,EAAIpxD,EAAM,EAAIA,EAAM,EAAIA,GAC3C,KACF,CACA+nb,GAAOvT,GACT,IAAK,UACHkT,EAAUp5a,KAAKm6M,IAAIs/N,GAAOxgO,EAC1BogO,EAAUr5a,KAAKo6M,IAAIq/N,GAAOxgO,EAC1Bw9N,EAAIqD,OAAO/2X,EAAIq2X,EAASt2X,EAAIu2X,GAC5B5C,EAAIsD,OAAOh3X,EAAIs2X,EAASv2X,EAAIs2X,GAC5B3C,EAAIsD,OAAOh3X,EAAIq2X,EAASt2X,EAAIu2X,GAC5B5C,EAAIsD,OAAOh3X,EAAIs2X,EAASv2X,EAAIs2X,GAC5B3C,EAAIoD,YACJ,MACF,IAAK,WACHJ,GAAOvT,GACT,IAAK,QACHkT,EAAUp5a,KAAKm6M,IAAIs/N,GAAOxgO,EAC1BogO,EAAUr5a,KAAKo6M,IAAIq/N,GAAOxgO,EAC1Bw9N,EAAIqD,OAAO/2X,EAAIq2X,EAASt2X,EAAIu2X,GAC5B5C,EAAIsD,OAAOh3X,EAAIq2X,EAASt2X,EAAIu2X,GAC5B5C,EAAIqD,OAAO/2X,EAAIs2X,EAASv2X,EAAIs2X,GAC5B3C,EAAIsD,OAAOh3X,EAAIs2X,EAASv2X,EAAIs2X,GAC5B,MACF,IAAK,OACHA,EAAUp5a,KAAKm6M,IAAIs/N,GAAOxgO,EAC1BogO,EAAUr5a,KAAKo6M,IAAIq/N,GAAOxgO,EAC1Bw9N,EAAIqD,OAAO/2X,EAAIq2X,EAASt2X,EAAIu2X,GAC5B5C,EAAIsD,OAAOh3X,EAAIq2X,EAASt2X,EAAIu2X,GAC5B5C,EAAIqD,OAAO/2X,EAAIs2X,EAASv2X,EAAIs2X,GAC5B3C,EAAIsD,OAAOh3X,EAAIs2X,EAASv2X,EAAIs2X,GAC5BK,GAAOvT,GACPkT,EAAUp5a,KAAKm6M,IAAIs/N,GAAOxgO,EAC1BogO,EAAUr5a,KAAKo6M,IAAIq/N,GAAOxgO,EAC1Bw9N,EAAIqD,OAAO/2X,EAAIq2X,EAASt2X,EAAIu2X,GAC5B5C,EAAIsD,OAAOh3X,EAAIq2X,EAASt2X,EAAIu2X,GAC5B5C,EAAIqD,OAAO/2X,EAAIs2X,EAASv2X,EAAIs2X,GAC5B3C,EAAIsD,OAAOh3X,EAAIs2X,EAASv2X,EAAIs2X,GAC5B,MACF,IAAK,OACHA,EAAUp5a,KAAKm6M,IAAIs/N,GAAOxgO,EAC1BogO,EAAUr5a,KAAKo6M,IAAIq/N,GAAOxgO,EAC1Bw9N,EAAIqD,OAAO/2X,EAAIq2X,EAASt2X,EAAIu2X,GAC5B5C,EAAIsD,OAAOh3X,EAAIq2X,EAASt2X,EAAIu2X,GAC5B,MACF,IAAK,OACH5C,EAAIqD,OAAO/2X,EAAGD,GACd2zX,EAAIsD,OAAOh3X,EAAI/iD,KAAKm6M,IAAIs/N,GAAOxgO,EAAQn2J,EAAI9iD,KAAKo6M,IAAIq/N,GAAOxgO,GAG7Dw9N,EAAIn3F,OACA3zU,EAAQsua,YAAc,GACxBxD,EAAIr9E,QAhFN,CAkFF,CACA,SAAS8gF,GAAelga,EAAO8vQ,EAAM2hD,GAEnC,OADAA,EAASA,GAAU,IACX3hD,GAAS9vQ,GAASA,EAAM+oC,EAAI+mO,EAAKxpS,KAAOmrV,GAAUzxT,EAAM+oC,EAAI+mO,EAAKvpS,MAAQkrV,GACjFzxT,EAAM8oC,EAAIgnO,EAAKrsO,IAAMguR,GAAUzxT,EAAM8oC,EAAIgnO,EAAKjzL,OAAS40O,CACzD,CACA,SAAS0uG,GAAS1D,EAAK3sJ,GACrB2sJ,EAAI7oX,OACJ6oX,EAAIkD,YACJlD,EAAIhgV,KAAKqzL,EAAKxpS,KAAMwpS,EAAKrsO,IAAKqsO,EAAKvpS,MAAQupS,EAAKxpS,KAAMwpS,EAAKjzL,OAASizL,EAAKrsO,KACzEg5X,EAAI2D,MACN,CACA,SAASC,GAAW5D,GAClBA,EAAIiC,SACN,CACA,SAAS4B,GAAe7D,EAAK/pX,EAAU7pE,EAAQ6xV,EAAMroC,GACnD,IAAK3/O,EACH,OAAO+pX,EAAIsD,OAAOl3b,EAAOkgE,EAAGlgE,EAAOigE,GAErC,GAAa,WAATupP,EAAmB,CACrB,MAAMkuI,GAAY7tX,EAAS3J,EAAIlgE,EAAOkgE,GAAK,EAC3C0zX,EAAIsD,OAAOQ,EAAU7tX,EAAS5J,GAC9B2zX,EAAIsD,OAAOQ,EAAU13b,EAAOigE,EAC9B,KAAoB,UAATupP,MAAuBqoC,EAChC+hG,EAAIsD,OAAOrtX,EAAS3J,EAAGlgE,EAAOigE,GAE9B2zX,EAAIsD,OAAOl3b,EAAOkgE,EAAG2J,EAAS5J,GAEhC2zX,EAAIsD,OAAOl3b,EAAOkgE,EAAGlgE,EAAOigE,EAC9B,CACA,SAAS03X,GAAe/D,EAAK/pX,EAAU7pE,EAAQ6xV,GAC7C,IAAKhoR,EACH,OAAO+pX,EAAIsD,OAAOl3b,EAAOkgE,EAAGlgE,EAAOigE,GAErC2zX,EAAIgE,cACF/lG,EAAOhoR,EAASguX,KAAOhuX,EAASiuX,KAChCjmG,EAAOhoR,EAASkuX,KAAOluX,EAASmuX,KAChCnmG,EAAO7xV,EAAO83b,KAAO93b,EAAO63b,KAC5BhmG,EAAO7xV,EAAOg4b,KAAOh4b,EAAO+3b,KAC5B/3b,EAAOkgE,EACPlgE,EAAOigE,EACX,CACA,SAASg4X,GAAWrE,EAAKrsX,EAAMrH,EAAGD,EAAGwzX,GAAiB,IAAXn2J,EAAI/6R,UAAAlH,OAAA,QAAAI,IAAA8G,UAAA,GAAAA,UAAA,GAAG,CAAC,EACjD,MAAMg8a,EAAQx/a,GAAQwoE,GAAQA,EAAO,CAACA,GAChCgvS,EAASj5E,EAAKyM,YAAc,GAA0B,KAArBzM,EAAK46J,YAC5C,IAAI55b,EAAG4+R,EAIP,IAHA02J,EAAI7oX,OACJ6oX,EAAIH,KAAOA,EAAKh8Z,OAmBlB,SAAuBm8Z,EAAKt2J,GACtBA,EAAK66J,aACPvE,EAAIr/W,UAAU+oN,EAAK66J,YAAY,GAAI76J,EAAK66J,YAAY,IAEjDlX,GAAc3jJ,EAAKq5J,WACtB/C,EAAIjB,OAAOr1J,EAAKq5J,UAEdr5J,EAAKziE,QACP+4N,EAAIwE,UAAY96J,EAAKziE,OAEnByiE,EAAKsgF,YACPg2E,EAAIh2E,UAAYtgF,EAAKsgF,WAEnBtgF,EAAK+6J,eACPzE,EAAIyE,aAAe/6J,EAAK+6J,aAE5B,CAlCEC,CAAc1E,EAAKt2J,GACdh/R,EAAI,EAAGA,EAAIigb,EAAMljb,SAAUiD,EAC9B4+R,EAAOqhJ,EAAMjgb,GACTi4W,IACEj5E,EAAK46J,cACPtE,EAAI2E,YAAcj7J,EAAK46J,aAEpBjX,GAAc3jJ,EAAKyM,eACtB6pJ,EAAI4E,UAAYl7J,EAAKyM,aAEvB6pJ,EAAI6E,WAAWv7J,EAAMh9N,EAAGD,EAAGq9N,EAAK9nR,WAElCo+a,EAAI8E,SAASx7J,EAAMh9N,EAAGD,EAAGq9N,EAAK9nR,UAC9Bmjb,GAAa/E,EAAK1zX,EAAGD,EAAGi9N,EAAMI,GAC9Br9N,GAAKwzX,EAAKvqR,WAEZ0qR,EAAIiC,SACN,CAkBA,SAAS8C,GAAa/E,EAAK1zX,EAAGD,EAAGi9N,EAAMI,GACrC,GAAIA,EAAKs7J,eAAiBt7J,EAAKu7J,UAAW,CACxC,MAAMC,EAAUlF,EAAI2B,YAAYr4J,GAC1Bz/R,EAAOyiE,EAAI44X,EAAQC,sBACnBr7b,EAAQwiE,EAAI44X,EAAQE,uBACpBp+X,EAAMqF,EAAI64X,EAAQG,wBAClBjlV,EAAS/zC,EAAI64X,EAAQI,yBACrBC,EAAc77J,EAAKs7J,eAAiBh+X,EAAMo5C,GAAU,EAAIA,EAC9D4/U,EAAI2E,YAAc3E,EAAIwE,UACtBxE,EAAIkD,YACJlD,EAAI4E,UAAYl7J,EAAK87J,iBAAmB,EACxCxF,EAAIqD,OAAOx5b,EAAM07b,GACjBvF,EAAIsD,OAAOx5b,EAAOy7b,GAClBvF,EAAIr9E,QACN,CACF,CACA,SAAS8iF,GAAmBzF,EAAKhgV,GAC/B,MAAM,EAAC1zC,EAAC,EAAED,EAAC,EAAEgtO,EAAC,EAAE9kP,EAAC,OAAEiuK,GAAUxiH,EAC7BggV,EAAImD,IAAI72X,EAAIk2J,EAAO1Z,QAASz8I,EAAIm2J,EAAO1Z,QAAS0Z,EAAO1Z,SAAU0mO,GAASjrN,IAAI,GAC9Ey7N,EAAIsD,OAAOh3X,EAAGD,EAAI9X,EAAIiuK,EAAOvZ,YAC7B+2O,EAAImD,IAAI72X,EAAIk2J,EAAOvZ,WAAY58I,EAAI9X,EAAIiuK,EAAOvZ,WAAYuZ,EAAOvZ,WAAYsb,GAAIirN,IAAS,GAC1FwQ,EAAIsD,OAAOh3X,EAAI+sO,EAAI72E,EAAOxZ,YAAa38I,EAAI9X,GAC3CyrY,EAAImD,IAAI72X,EAAI+sO,EAAI72E,EAAOxZ,YAAa38I,EAAI9X,EAAIiuK,EAAOxZ,YAAawZ,EAAOxZ,YAAawmO,GAAS,GAAG,GAChGwQ,EAAIsD,OAAOh3X,EAAI+sO,EAAGhtO,EAAIm2J,EAAOzZ,UAC7Bi3O,EAAImD,IAAI72X,EAAI+sO,EAAI72E,EAAOzZ,SAAU18I,EAAIm2J,EAAOzZ,SAAUyZ,EAAOzZ,SAAU,GAAIymO,IAAS,GACpFwQ,EAAIsD,OAAOh3X,EAAIk2J,EAAO1Z,QAASz8I,EACjC,CAEA,MAAMq5X,GAAc,IAAIplO,OAAO,wCACzBqlO,GAAa,IAAIrlO,OAAO,yEAC9B,SAASslO,GAAax+b,EAAO6T,GAC3B,MAAMlL,GAAW,GAAK3I,GAAOyL,MAAM6yb,IACnC,IAAK31b,GAA0B,WAAfA,EAAQ,GACtB,OAAc,IAAPkL,EAGT,OADA7T,GAAS2I,EAAQ,GACTA,EAAQ,IAChB,IAAK,KACH,OAAO3I,EACT,IAAK,IACHA,GAAS,IAGX,OAAO6T,EAAO7T,CAChB,CACA,MAAMy+b,GAAev2b,IAAMA,GAAK,EAChC,SAASw2b,GAAkB1+b,EAAO2Q,GAChC,MAAMlL,EAAM,CAAC,EACPk5b,EAAWj/J,GAAS/uR,GACpBtN,EAAOs7b,EAAWz8b,OAAOmB,KAAKsN,GAASA,EACvCgpR,EAAO+F,GAAS1/R,GAClB2+b,EACErjU,GAAQ8qT,GAAepmb,EAAMs7H,GAAOt7H,EAAM2Q,EAAM2qH,KAChDA,GAAQt7H,EAAMs7H,GAChB,IAAMt7H,EACV,IAAK,MAAMs7H,KAAQj4H,EACjBoC,EAAI61H,GAAQmjU,GAAa9kK,EAAKr+J,IAEhC,OAAO71H,CACT,CACA,SAASm5b,GAAO5+b,GACd,OAAO0+b,GAAkB1+b,EAAO,CAAC4/D,IAAK,IAAKl9D,MAAO,IAAKs2G,OAAQ,IAAKv2G,KAAM,KAC5E,CACA,SAASo8b,GAAc7+b,GACrB,OAAO0+b,GAAkB1+b,EAAO,CAAC,UAAW,WAAY,aAAc,eACxE,CACA,SAAS8+b,GAAU9+b,GACjB,MAAMsE,EAAMs6b,GAAO5+b,GAGnB,OAFAsE,EAAI0X,MAAQ1X,EAAI7B,KAAO6B,EAAI5B,MAC3B4B,EAAIk3D,OAASl3D,EAAIs7D,IAAMt7D,EAAI00G,OACpB10G,CACT,CACA,SAASy6b,GAAOjxa,EAASoqE,GACvBpqE,EAAUA,GAAW,CAAC,EACtBoqE,EAAWA,GAAY0jM,GAAS68J,KAChC,IAAI5kb,EAAOuya,GAAet4Z,EAAQja,KAAMqkF,EAASrkF,MAC7B,kBAATA,IACTA,EAAOjT,SAASiT,EAAM,KAExB,IAAI0nD,EAAQ6qX,GAAet4Z,EAAQytC,MAAO28B,EAAS38B,OAC/CA,KAAW,GAAKA,GAAO9vD,MAAM8yb,MAC/Bz3b,QAAQC,KAAK,kCAAoCw0D,EAAQ,KACzDA,EAAQ,IAEV,MAAMk9X,EAAO,CACXC,OAAQtS,GAAet4Z,EAAQ4qa,OAAQxgW,EAASwgW,QAChDxqR,WAAYswR,GAAapY,GAAet4Z,EAAQogJ,WAAYh2E,EAASg2E,YAAar6J,GAClFA,OACA0nD,QACA8R,OAAQ+4W,GAAet4Z,EAAQu/C,OAAQ6qB,EAAS7qB,QAChD5wC,OAAQ,IAGV,OADAg8Z,EAAKh8Z,OAzVP,SAAsBg8Z,GACpB,OAAKA,GAAQxS,GAAcwS,EAAK5kb,OAASoya,GAAcwS,EAAKC,QACnD,MAEDD,EAAKl9X,MAAQk9X,EAAKl9X,MAAQ,IAAM,KACrCk9X,EAAKprX,OAASorX,EAAKprX,OAAS,IAAM,IACnCorX,EAAK5kb,KAAO,MACZ4kb,EAAKC,MACT,CAiVgBsG,CAAavG,GACpBA,CACT,CACA,SAAS5iX,GAAQmf,EAAQ9qF,EAASlG,EAAO0yE,GACvC,IACIpzE,EAAGqjb,EAAM3mb,EADTi/b,GAAY,EAEhB,IAAK37b,EAAI,EAAGqjb,EAAO3xV,EAAO30F,OAAQiD,EAAIqjb,IAAQrjb,EAE5C,GADAtD,EAAQg1F,EAAO1xF,QACD7C,IAAVT,SAGYS,IAAZyJ,GAA0C,oBAAVlK,IAClCA,EAAQA,EAAMkK,GACd+0b,GAAY,QAEAx+b,IAAVuD,GAAuBD,GAAQ/D,KACjCA,EAAQA,EAAMgE,EAAQhE,EAAMK,QAC5B4+b,GAAY,QAEAx+b,IAAVT,GAIF,OAHI02E,IAASuoX,IACXvoX,EAAKuoX,WAAY,GAEZj/b,CAGb,CAUA,SAASmhR,GAAc+9K,EAAeh1b,GACpC,OAAOhI,OAAO0wB,OAAO1wB,OAAOotB,OAAO4va,GAAgBh1b,EACrD,CAEA,SAASi1b,GAAQrqF,EAAO90W,EAAOo/b,GAC7BA,EAAMA,GAAO,CAAEp7b,GAAU8wW,EAAM9wW,GAAShE,GACxC,IAEIq/b,EAFAxrI,EAAKihD,EAAMz0W,OAAS,EACpBi/b,EAAK,EAET,KAAOzrI,EAAKyrI,EAAK,GACfD,EAAOC,EAAKzrI,GAAO,EACfurI,EAAIC,GACNC,EAAKD,EAELxrI,EAAKwrI,EAGT,MAAO,CAACC,KAAIzrI,KACd,CACA,MAAM0rI,GAAeA,CAACzqF,EAAO7wW,EAAKjE,IAChCm/b,GAAQrqF,EAAO90W,GAAOgE,GAAS8wW,EAAM9wW,GAAOC,GAAOjE,IAC/Cw/b,GAAgBA,CAAC1qF,EAAO7wW,EAAKjE,IACjCm/b,GAAQrqF,EAAO90W,GAAOgE,GAAS8wW,EAAM9wW,GAAOC,IAAQjE,IActD,MAAMy/b,GAAc,CAAC,OAAQ,MAAO,QAAS,SAAU,WA+BvD,SAASC,GAAoBt6a,EAAOrR,GAClC,MAAMmzJ,EAAO9hJ,EAAMu6a,SACnB,IAAKz4R,EACH,OAEF,MAAMvzJ,EAAYuzJ,EAAKvzJ,UACjB3P,EAAQ2P,EAAUnP,QAAQuP,IACjB,IAAX/P,GACF2P,EAAU2R,OAAOthB,EAAO,GAEtB2P,EAAUtT,OAAS,IAGvBo/b,GAAYz9b,SAASiC,WACZmhB,EAAMnhB,EAAI,WAEZmhB,EAAMu6a,SACf,CACA,SAASC,GAAap0a,GACpB,MAAMzjB,EAAM,IAAIlG,IAChB,IAAIyB,EAAGqjb,EACP,IAAKrjb,EAAI,EAAGqjb,EAAOn7Z,EAAMnrB,OAAQiD,EAAIqjb,IAAQrjb,EAC3CyE,EAAIiM,IAAIwX,EAAMloB,IAEhB,OAAIyE,EAAI8L,OAAS8ya,EACRn7Z,EAEF1nB,MAAM8oE,KAAK7kE,EACpB,CAEA,SAAS83b,GAAgB1hH,GAAqF,IAA7EvhR,EAAQr1D,UAAAlH,OAAA,QAAAI,IAAA8G,UAAA,GAAAA,UAAA,GAAG,CAAC,IAAKu4b,EAAUv4b,UAAAlH,OAAA,QAAAI,IAAA8G,UAAA,GAAAA,UAAA,GAAG42U,EAAQjmP,EAAQ3wF,UAAAlH,OAAA,EAAAkH,UAAA,QAAA9G,EAAEo+V,EAASt3V,UAAAlH,OAAA,QAAAI,IAAA8G,UAAA,GAAAA,UAAA,GAAG,IAAM42U,EAAO,GACnG0pG,GAAQ3vV,KACXA,EAAWojM,GAAS,YAAa6iD,IAEnC,MAAMpU,EAAQ,CACZ,CAACpsS,OAAOoxS,aAAc,SACtBgxH,YAAY,EACZC,QAAS7hH,EACT8hH,YAAaH,EACb3F,UAAWjiW,EACXgoW,WAAYrhG,EACZ66F,SAAWn2D,GAAUs8D,GAAgB,CAACt8D,KAAUplD,GAASvhR,EAAUkjY,EAAY5nW,IAEjF,OAAO,IAAIioW,MAAMp2H,EAAO,CACtBq2H,eAAcA,CAACp7b,EAAQs2H,YACdt2H,EAAOs2H,UACPt2H,EAAOq7b,aACPliH,EAAO,GAAG7iN,IACV,GAET5zH,IAAGA,CAAC1C,EAAQs2H,IACHglU,GAAQt7b,EAAQs2H,GACrB,IAuLR,SAA8BA,EAAM1+D,EAAUuhR,EAAQoiH,GACpD,IAAIvgc,EACJ,IAAK,MAAM+8D,KAAUH,EAEnB,GADA58D,EAAQs7R,GAASklK,GAAQzjY,EAAQu+D,GAAO6iN,GACpC0pG,GAAQ7nb,GACV,OAAOygc,GAAiBnlU,EAAMt7H,GAC1B0gc,GAAkBviH,EAAQoiH,EAAOjlU,EAAMt7H,GACvCA,CAGV,CAjMc2gc,CAAqBrlU,EAAM1+D,EAAUuhR,EAAQn5U,KAEvDkN,yBAAwBA,CAAClN,EAAQs2H,IACxBnpH,QAAQD,yBAAyBlN,EAAOg7b,QAAQ,GAAI1kU,GAE7D10H,eAAcA,IACLuL,QAAQvL,eAAeu3U,EAAO,IAEvCjrS,IAAGA,CAACluC,EAAQs2H,IACHslU,GAAqB57b,GAAQ8gB,SAASw1G,GAE/CknM,QAAQx9T,GACC47b,GAAqB57b,GAE9B+C,GAAAA,CAAI/C,EAAQs2H,EAAMt7H,GAChB,MAAMgla,EAAUhga,EAAO67b,WAAa77b,EAAO67b,SAAWhiG,KAGtD,OAFA75V,EAAOs2H,GAAQ0pS,EAAQ1pS,GAAQt7H,SACxBgF,EAAOq7b,OACP,CACT,GAEJ,CACA,SAASS,GAAeP,EAAOr2b,EAAS62b,EAAUC,GAChD,MAAMj3H,EAAQ,CACZg2H,YAAY,EACZkB,OAAQV,EACR54J,SAAUz9R,EACVg3b,UAAWH,EACXI,OAAQ,IAAIt/b,IACZw2b,aAAcA,GAAakI,EAAOS,GAClCI,WAAaxI,GAAQkI,GAAeP,EAAO3H,EAAKmI,EAAUC,GAC1DtH,SAAWn2D,GAAUu9D,GAAeP,EAAM7G,SAASn2D,GAAQr5X,EAAS62b,EAAUC,IAEhF,OAAO,IAAIb,MAAMp2H,EAAO,CACtBq2H,eAAcA,CAACp7b,EAAQs2H,YACdt2H,EAAOs2H,UACPilU,EAAMjlU,IACN,GAET5zH,IAAGA,CAAC1C,EAAQs2H,EAAM+lU,IACTf,GAAQt7b,EAAQs2H,GACrB,IA4CR,SAA6Bt2H,EAAQs2H,EAAM+lU,GACzC,MAAM,OAACJ,EAAM,SAAEt5J,EAAQ,UAAEu5J,EAAW7I,aAAcF,GAAenzb,EACjE,IAAIhF,EAAQihc,EAAO3lU,GACfxyH,GAAW9I,IAAUm4b,EAAYmJ,aAAahmU,KAChDt7H,EAUJ,SAA4Bs7H,EAAMt7H,EAAOgF,EAAQq8b,GAC/C,MAAM,OAACJ,EAAM,SAAEt5J,EAAQ,UAAEu5J,EAAS,OAAEC,GAAUn8b,EAC9C,GAAIm8b,EAAOjuZ,IAAIooF,GACb,MAAM,IAAIpuH,MAAM,uBAAyBpJ,MAAM8oE,KAAKu0X,GAAQ/yb,KAAK,MAAQ,KAAOktH,GAElF6lU,EAAOntb,IAAIsnH,GACXt7H,EAAQA,EAAM2nS,EAAUu5J,GAAaG,GACrCF,EAAOjtb,OAAOonH,GACVmlU,GAAiBnlU,EAAMt7H,KACzBA,EAAQ0gc,GAAkBO,EAAOjB,QAASiB,EAAQ3lU,EAAMt7H,IAE1D,OAAOA,CACT,CAtBYuhc,CAAmBjmU,EAAMt7H,EAAOgF,EAAQq8b,IAE9Ct9b,GAAQ/D,IAAUA,EAAMK,SAC1BL,EAoBJ,SAAuBs7H,EAAMt7H,EAAOgF,EAAQw8b,GAC1C,MAAM,OAACP,EAAM,SAAEt5J,EAAQ,UAAEu5J,EAAW7I,aAAcF,GAAenzb,EACjE,GAAI6ib,GAAQlgJ,EAAS3jS,QAAUw9b,EAAYlmU,GACzCt7H,EAAQA,EAAM2nS,EAAS3jS,MAAQhE,EAAMK,aAChC,GAAIq/R,GAAS1/R,EAAM,IAAK,CAC7B,MAAM+kB,EAAM/kB,EACNm+U,EAAS8iH,EAAOjB,QAAQ16b,QAAOw2B,GAAKA,IAAM/W,IAChD/kB,EAAQ,GACR,IAAK,MAAM4b,KAAQmJ,EAAK,CACtB,MAAM08a,EAAWf,GAAkBviH,EAAQ8iH,EAAQ3lU,EAAM1/G,GACzD5b,EAAMiC,KAAK6+b,GAAeW,EAAU95J,EAAUu5J,GAAaA,EAAU5lU,GAAO68T,GAC9E,CACF,CACA,OAAOn4b,CACT,CAlCY0hc,CAAcpmU,EAAMt7H,EAAOgF,EAAQmzb,EAAYqJ,cAErDf,GAAiBnlU,EAAMt7H,KACzBA,EAAQ8gc,GAAe9gc,EAAO2nS,EAAUu5J,GAAaA,EAAU5lU,GAAO68T,IAExE,OAAOn4b,CACT,CAzDc2hc,CAAoB38b,EAAQs2H,EAAM+lU,KAE5Cnvb,yBAAwBA,CAAClN,EAAQs2H,IACxBt2H,EAAOqzb,aAAauJ,QACvBzvb,QAAQ+gC,IAAIqtZ,EAAOjlU,GAAQ,CAACs3K,YAAY,EAAMD,cAAc,QAAQlyS,EACpE0R,QAAQD,yBAAyBqub,EAAOjlU,GAE9C10H,eAAcA,IACLuL,QAAQvL,eAAe25b,GAEhCrtZ,IAAGA,CAACluC,EAAQs2H,IACHnpH,QAAQ+gC,IAAIqtZ,EAAOjlU,GAE5BknM,QAAOA,IACErwT,QAAQqwT,QAAQ+9H,GAEzBx4b,IAAGA,CAAC/C,EAAQs2H,EAAMt7H,KAChBugc,EAAMjlU,GAAQt7H,SACPgF,EAAOs2H,IACP,IAGb,CACA,SAAS+8T,GAAakI,GAAuD,IAAhD3kK,EAAQr0R,UAAAlH,OAAA,QAAAI,IAAA8G,UAAA,GAAAA,UAAA,GAAG,CAACs6b,YAAY,EAAMC,WAAW,GACpE,MAAM,YAAC7H,EAAcr+J,EAASimK,WAAU,WAAE3H,EAAat+J,EAASkmK,UAAS,SAAEC,EAAWnmK,EAASgmK,SAAWrB,EAC1G,MAAO,CACLqB,QAASG,EACTF,WAAY5H,EACZ6H,UAAW5H,EACXoH,aAAcx4b,GAAWmxb,GAAeA,EAAc,IAAMA,EAC5DuH,YAAa14b,GAAWoxb,GAAcA,EAAa,IAAMA,EAE7D,CACA,MAAMsG,GAAUA,CAACzjY,EAAQr0D,IAASq0D,EAASA,EAAS6qX,GAAYl/a,GAAQA,EAClE+3b,GAAmBA,CAACnlU,EAAMt7H,IAAU0/R,GAAS1/R,IAAmB,aAATs7H,IACzB,OAAjCp5H,OAAO0E,eAAe5G,IAAmBA,EAAM2E,cAAgBzC,QAClE,SAASo+b,GAAQt7b,EAAQs2H,EAAMzlD,GAC7B,GAAI3zE,OAAOiB,UAAUuC,eAAesD,KAAKhE,EAAQs2H,GAC/C,OAAOt2H,EAAOs2H,GAEhB,MAAMt7H,EAAQ61E,IAEd,OADA7wE,EAAOs2H,GAAQt7H,EACRA,CACT,CA2CA,SAASgic,GAAgB9pW,EAAUojC,EAAMt7H,GACvC,OAAO8I,GAAWovF,GAAYA,EAASojC,EAAMt7H,GAASk4F,CACxD,CACA,MAAM+pW,GAAWA,CAACh+b,EAAKwV,KAAmB,IAARxV,EAAewV,EAC9B,kBAARxV,EAAmB0jb,GAAiBlua,EAAQxV,QAAOxD,EAC9D,SAAS+tZ,GAAUzmZ,EAAKm6b,EAAcj+b,EAAKk+b,EAAgBnic,GACzD,IAAK,MAAMyZ,KAAUyob,EAAc,CACjC,MAAM3+D,EAAQ0+D,GAASh+b,EAAKwV,GAC5B,GAAI8pX,EAAO,CACTx7X,EAAIiM,IAAIuvX,GACR,MAAMrrS,EAAW8pW,GAAgBz+D,EAAM42D,UAAWl2b,EAAKjE,GACvD,GAAI6nb,GAAQ3vV,IAAaA,IAAaj0F,GAAOi0F,IAAaiqW,EACxD,OAAOjqW,CAEX,MAAO,IAAc,IAAVqrS,GAAmBskD,GAAQsa,IAAmBl+b,IAAQk+b,EAC/D,OAAO,IAEX,CACA,OAAO,CACT,CACA,SAASzB,GAAkBwB,EAAcT,EAAUnmU,EAAMt7H,GACvD,MAAM8/b,EAAa2B,EAASxB,YACtB/nW,EAAW8pW,GAAgBP,EAAStH,UAAW7+T,EAAMt7H,GACrDoic,EAAY,IAAIF,KAAiBpC,GACjC/3b,EAAM,IAAIlG,IAChBkG,EAAIiM,IAAIhU,GACR,IAAIiE,EAAMo+b,GAAiBt6b,EAAKq6b,EAAW9mU,EAAMpjC,GAAYojC,EAAMt7H,GACnE,OAAY,OAARiE,MAGA4jb,GAAQ3vV,IAAaA,IAAaojC,IACpCr3H,EAAMo+b,GAAiBt6b,EAAKq6b,EAAWlqW,EAAUj0F,EAAKjE,GAC1C,OAARiE,KAIC47b,GAAgB/7b,MAAM8oE,KAAK7kE,GAAM,CAAC,IAAK+3b,EAAY5nW,GACxD,IAQJ,SAAsBupW,EAAUnmU,EAAMt7H,GACpC,MAAMyZ,EAASgob,EAASvB,aAClB5kU,KAAQ7hH,IACZA,EAAO6hH,GAAQ,CAAC,GAElB,MAAMt2H,EAASyU,EAAO6hH,GACtB,GAAIv3H,GAAQiB,IAAW06R,GAAS1/R,GAC9B,OAAOA,EAET,OAAOgF,CACT,CAlBUs9b,CAAab,EAAUnmU,EAAMt7H,KACvC,CACA,SAASqic,GAAiBt6b,EAAKq6b,EAAWn+b,EAAKi0F,EAAUt8E,GACvD,KAAO3X,GACLA,EAAMuqZ,GAAUzmZ,EAAKq6b,EAAWn+b,EAAKi0F,EAAUt8E,GAEjD,OAAO3X,CACT,CAuBA,SAASq3R,GAASr3R,EAAKk6U,GACrB,IAAK,MAAMolD,KAASplD,EAAQ,CAC1B,IAAKolD,EACH,SAEF,MAAMvjY,EAAQujY,EAAMt/X,GACpB,GAAI4jb,GAAQ7nb,GACV,OAAOA,CAEX,CACF,CACA,SAAS4gc,GAAqB57b,GAC5B,IAAI3B,EAAO2B,EAAOq7b,MAIlB,OAHKh9b,IACHA,EAAO2B,EAAOq7b,MAIlB,SAAkCliH,GAChC,MAAMp2U,EAAM,IAAIlG,IAChB,IAAK,MAAM0hY,KAASplD,EAClB,IAAK,MAAMl6U,KAAO/B,OAAOmB,KAAKkgY,GAAOj+X,QAAOqoD,IAAMA,EAAEhZ,WAAW,OAC7D5sC,EAAIiM,IAAI/P,GAGZ,OAAOH,MAAM8oE,KAAK7kE,EACpB,CAZ0Bw6b,CAAyBv9b,EAAOg7b,UAEjD38b,CACT,CAWA,MAAMm/b,GAAU7yb,OAAO6yb,SAAW,MAC5BC,GAAWA,CAAChyB,EAAQnta,IAAMA,EAAImta,EAAOpwa,SAAWowa,EAAOnta,GAAG4xE,MAAQu7V,EAAOnta,GACzEo/b,GAAgB3J,GAA4B,MAAdA,EAAoB,IAAM,IAC9D,SAAS4J,GAAYC,EAAYC,EAAaC,EAAY5ua,GACxD,MAAM26C,EAAW+zX,EAAW1tX,KAAO2tX,EAAcD,EAC3C7hL,EAAU8hL,EACV/ka,EAAOgla,EAAW5tX,KAAO2tX,EAAcC,EACvCC,EAAMxZ,GAAsBxoK,EAASlyM,GACrCm0X,EAAMzZ,GAAsBzrZ,EAAMijP,GACxC,IAAIkiL,EAAMF,GAAOA,EAAMC,GACnBE,EAAMF,GAAOD,EAAMC,GACvBC,EAAMvic,MAAMuic,GAAO,EAAIA,EACvBC,EAAMxic,MAAMwic,GAAO,EAAIA,EACvB,MAAM97J,EAAKlzQ,EAAI+ua,EACT9vJ,EAAKj/Q,EAAIgva,EACf,MAAO,CACLr0X,SAAU,CACR3J,EAAG67M,EAAQ77M,EAAIkiO,GAAMtpQ,EAAKonC,EAAI2J,EAAS3J,GACvCD,EAAG87M,EAAQ97M,EAAImiO,GAAMtpQ,EAAKmnC,EAAI4J,EAAS5J,IAEzCnnC,KAAM,CACJonC,EAAG67M,EAAQ77M,EAAIiuO,GAAMr1Q,EAAKonC,EAAI2J,EAAS3J,GACvCD,EAAG87M,EAAQ97M,EAAIkuO,GAAMr1Q,EAAKmnC,EAAI4J,EAAS5J,IAG7C,CAoDA,SAASk+X,GAAoB1yB,GAAyB,IAAjBsoB,EAASxxb,UAAAlH,OAAA,QAAAI,IAAA8G,UAAA,GAAAA,UAAA,GAAG,IAC/C,MAAM67b,EAAYV,GAAa3J,GACzBsK,EAAY5yB,EAAOpwa,OACnBijc,EAASx/b,MAAMu/b,GAAW5hG,KAAK,GAC/B8hG,EAAKz/b,MAAMu/b,GACjB,IAAI//b,EAAGkgc,EAAaC,EAChBC,EAAajB,GAAShyB,EAAQ,GAClC,IAAKnta,EAAI,EAAGA,EAAI+/b,IAAa//b,EAI3B,GAHAkgc,EAAcC,EACdA,EAAeC,EACfA,EAAajB,GAAShyB,EAAQnta,EAAI,GAC7Bmgc,EAAL,CAGA,GAAIC,EAAY,CACd,MAAMC,EAAaD,EAAW3K,GAAa0K,EAAa1K,GACxDuK,EAAOhgc,GAAoB,IAAfqgc,GAAoBD,EAAWN,GAAaK,EAAaL,IAAcO,EAAa,CAClG,CACAJ,EAAGjgc,GAAMkgc,EACJE,EACA1sE,GAAKssE,EAAOhgc,EAAI,MAAQ0zX,GAAKssE,EAAOhgc,IAAO,GAC3Cggc,EAAOhgc,EAAI,GAAKggc,EAAOhgc,IAAM,EAFhBggc,EAAOhgc,EAAI,GADNggc,EAAOhgc,EAL9B,EAhEJ,SAAwBmta,EAAQ6yB,EAAQC,GACtC,MAAMF,EAAY5yB,EAAOpwa,OACzB,IAAIujc,EAAQC,EAAOC,EAAMC,EAAkBN,EACvCC,EAAajB,GAAShyB,EAAQ,GAClC,IAAK,IAAInta,EAAI,EAAGA,EAAI+/b,EAAY,IAAK//b,EACnCmgc,EAAeC,EACfA,EAAajB,GAAShyB,EAAQnta,EAAI,GAC7Bmgc,GAAiBC,IAGlBhb,GAAa4a,EAAOhgc,GAAI,EAAGk/b,IAC7Be,EAAGjgc,GAAKigc,EAAGjgc,EAAI,GAAK,GAGtBsgc,EAASL,EAAGjgc,GAAKggc,EAAOhgc,GACxBugc,EAAQN,EAAGjgc,EAAI,GAAKggc,EAAOhgc,GAC3Bygc,EAAmB5hb,KAAKyrC,IAAIg2Y,EAAQ,GAAKzhb,KAAKyrC,IAAIi2Y,EAAO,GACrDE,GAAoB,IAGxBD,EAAO,EAAI3hb,KAAKw6M,KAAKonO,GACrBR,EAAGjgc,GAAKsgc,EAASE,EAAOR,EAAOhgc,GAC/Bigc,EAAGjgc,EAAI,GAAKugc,EAAQC,EAAOR,EAAOhgc,KAEtC,CAkDE0gc,CAAevzB,EAAQ6yB,EAAQC,GAjDjC,SAAyB9yB,EAAQ8yB,GAAqB,IAAjBxK,EAASxxb,UAAAlH,OAAA,QAAAI,IAAA8G,UAAA,GAAAA,UAAA,GAAG,IAC/C,MAAM67b,EAAYV,GAAa3J,GACzBsK,EAAY5yB,EAAOpwa,OACzB,IAAI2tD,EAAOw1Y,EAAaC,EACpBC,EAAajB,GAAShyB,EAAQ,GAClC,IAAK,IAAInta,EAAI,EAAGA,EAAI+/b,IAAa//b,EAAG,CAIlC,GAHAkgc,EAAcC,EACdA,EAAeC,EACfA,EAAajB,GAAShyB,EAAQnta,EAAI,IAC7Bmgc,EACH,SAEF,MAAMQ,EAASR,EAAa1K,GACtBmL,EAAST,EAAaL,GACxBI,IACFx1Y,GAASi2Y,EAAST,EAAYzK,IAAc,EAC5C0K,EAAa,MAADx1b,OAAO8qb,IAAekL,EAASj2Y,EAC3Cy1Y,EAAa,MAADx1b,OAAOm1b,IAAec,EAASl2Y,EAAQu1Y,EAAGjgc,IAEpDogc,IACF11Y,GAAS01Y,EAAW3K,GAAakL,GAAU,EAC3CR,EAAa,MAADx1b,OAAO8qb,IAAekL,EAASj2Y,EAC3Cy1Y,EAAa,MAADx1b,OAAOm1b,IAAec,EAASl2Y,EAAQu1Y,EAAGjgc,GAE1D,CACF,CAyBE6gc,CAAgB1zB,EAAQ8yB,EAAIxK,EAC9B,CACA,SAASqL,GAAgBC,EAAI7hb,EAAKJ,GAChC,OAAOD,KAAKC,IAAID,KAAKK,IAAI6hb,EAAIjib,GAAMI,EACrC,CAsBA,SAAS8hb,GAA2B7zB,EAAQ3iZ,EAASm+Q,EAAMs4J,EAAMxL,GAC/D,IAAIz1b,EAAGqjb,EAAMxqZ,EAAOqoa,EAIpB,GAHI12a,EAAQ22a,WACVh0B,EAASA,EAAOnra,QAAQ++b,IAAQA,EAAGnvX,QAEE,aAAnCpnD,EAAQ42a,uBACVvB,GAAoB1yB,EAAQsoB,OACvB,CACL,IAAIvxR,EAAO+8R,EAAO9zB,EAAOA,EAAOpwa,OAAS,GAAKowa,EAAO,GACrD,IAAKnta,EAAI,EAAGqjb,EAAOlW,EAAOpwa,OAAQiD,EAAIqjb,IAAQrjb,EAC5C64B,EAAQs0Y,EAAOnta,GACfkhc,EAAgB7B,GACdn7R,EACArrI,EACAs0Y,EAAOtuZ,KAAKK,IAAIlf,EAAI,EAAGqjb,GAAQ4d,EAAO,EAAI,IAAM5d,GAChD74Z,EAAQ62a,SAEVxoa,EAAM0ga,KAAO2H,EAAc31X,SAAS3J,EACpC/oC,EAAM4ga,KAAOyH,EAAc31X,SAAS5J,EACpC9oC,EAAM2ga,KAAO0H,EAAc1ma,KAAKonC,EAChC/oC,EAAM6ga,KAAOwH,EAAc1ma,KAAKmnC,EAChCuiG,EAAOrrI,CAEX,CACIrO,EAAQ82a,iBA7Cd,SAAyBn0B,EAAQxkI,GAC/B,IAAI3oS,EAAGqjb,EAAMxqZ,EAAO0oa,EAAQC,EACxBC,EAAa1I,GAAe5rB,EAAO,GAAIxkI,GAC3C,IAAK3oS,EAAI,EAAGqjb,EAAOlW,EAAOpwa,OAAQiD,EAAIqjb,IAAQrjb,EAC5Cwhc,EAAaD,EACbA,EAASE,EACTA,EAAazhc,EAAIqjb,EAAO,GAAK0V,GAAe5rB,EAAOnta,EAAI,GAAI2oS,GACtD44J,IAGL1oa,EAAQs0Y,EAAOnta,GACXwhc,IACF3oa,EAAM0ga,KAAOuH,GAAgBjoa,EAAM0ga,KAAM5wJ,EAAKxpS,KAAMwpS,EAAKvpS,OACzDy5B,EAAM4ga,KAAOqH,GAAgBjoa,EAAM4ga,KAAM9wJ,EAAKrsO,IAAKqsO,EAAKjzL,SAEtD+rV,IACF5oa,EAAM2ga,KAAOsH,GAAgBjoa,EAAM2ga,KAAM7wJ,EAAKxpS,KAAMwpS,EAAKvpS,OACzDy5B,EAAM6ga,KAAOoH,GAAgBjoa,EAAM6ga,KAAM/wJ,EAAKrsO,IAAKqsO,EAAKjzL,SAG9D,CA0BI4rV,CAAgBn0B,EAAQxkI,EAE5B,CAEA,SAAS+4J,KACP,MAAyB,qBAAXx7b,QAA8C,qBAAbojB,QACjD,CACA,SAASq4a,GAAeC,GACtB,IAAIzrb,EAASyrb,EAAQhpY,WAIrB,OAHIziD,GAAgC,wBAAtBA,EAAOlZ,aACnBkZ,EAASA,EAAOgoR,MAEXhoR,CACT,CACA,SAAS0rb,GAAc3/X,EAAYjpD,EAAM6ob,GACvC,IAAIC,EASJ,MAR0B,kBAAf7/X,GACT6/X,EAAgBzkc,SAAS4kE,EAAY,KACJ,IAA7BA,EAAWhhE,QAAQ,OACrB6gc,EAAgBA,EAAgB,IAAM9ob,EAAK2/C,WAAWkpY,KAGxDC,EAAgB7/X,EAEX6/X,CACT,CACA,MAAMpoY,GAAoB7vC,GAAY5jB,OAAOyzD,iBAAiB7vC,EAAS,MAIvE,MAAMk4a,GAAY,CAAC,MAAO,QAAS,SAAU,QAC7C,SAASC,GAAmB7jY,EAAQnG,EAAOqwK,GACzC,MAAMnjN,EAAS,CAAC,EAChBmjN,EAASA,EAAS,IAAMA,EAAS,GACjC,IAAK,IAAItoO,EAAI,EAAGA,EAAI,EAAGA,IAAK,CAC1B,MAAMopF,EAAM44W,GAAUhic,GACtBmlB,EAAOikE,GAAO1/B,WAAW0U,EAAOnG,EAAQ,IAAMmxB,EAAMk/I,KAAY,CAClE,CAGA,OAFAnjN,EAAOzM,MAAQyM,EAAOhmB,KAAOgmB,EAAO/lB,MACpC+lB,EAAO+yC,OAAS/yC,EAAOm3C,IAAMn3C,EAAOuwF,OAC7BvwF,CACT,CACA,MAAM+8a,GAAeA,CAACtgY,EAAGD,EAAGjgE,KAAYkgE,EAAI,GAAKD,EAAI,MAAQjgE,IAAWA,EAAOygc,YAmB/E,SAASC,GAAoB17F,EAAKv7R,GAChC,MAAM,OAAC0sX,EAAM,wBAAEH,GAA2BvsX,EACpClT,EAAQ0B,GAAiBk+X,GACzBwK,EAAgC,eAApBpqY,EAAM2D,UAClB0mY,EAAWL,GAAmBhqY,EAAO,WACrCsqY,EAAUN,GAAmBhqY,EAAO,SAAU,UAC9C,EAAC2J,EAAC,EAAED,EAAC,IAAE6gY,GAxBf,SAA2B97F,EAAKmxF,GAC9B,MAAMz5b,EAAIsoW,EAAI+7F,QAAU/7F,EAClB3qQ,EAAU39F,EAAE29F,QACZt6F,EAASs6F,GAAWA,EAAQh/F,OAASg/F,EAAQ,GAAK39F,GAClD,QAAC25N,EAAO,QAAEC,GAAWv2N,EAC3B,IACImgE,EAAGD,EADH6gY,GAAM,EAEV,GAAIN,GAAanqO,EAASC,EAAS55N,EAAEsD,QACnCkgE,EAAIm2J,EACJp2J,EAAIq2J,MACC,CACL,MAAM1iH,EAAOuiV,EAAOtiV,wBACpB3zC,EAAIngE,EAAOmuE,QAAU0lC,EAAKn2G,KAC1BwiE,EAAIlgE,EAAOquE,QAAUwlC,EAAKh5C,IAC1BkmY,GAAM,CACR,CACA,MAAO,CAAC5gY,IAAGD,IAAG6gY,MAChB,CAOsBE,CAAkBh8F,EAAKmxF,GACrCI,EAAUqK,EAASnjc,MAAQqjc,GAAOD,EAAQpjc,MAC1C+4b,EAAUoK,EAAShmY,KAAOkmY,GAAOD,EAAQjmY,KAC/C,IAAI,MAAC5jD,EAAK,OAAEw/C,GAAUiT,EAKtB,OAJIk3X,IACF3pb,GAAS4pb,EAAS5pb,MAAQ6pb,EAAQ7pb,MAClCw/C,GAAUoqY,EAASpqY,OAASqqY,EAAQrqY,QAE/B,CACL0J,EAAG/iD,KAAKmrB,OAAO43B,EAAIq2X,GAAWv/a,EAAQm/a,EAAOn/a,MAAQg/a,GACrD/1X,EAAG9iD,KAAKmrB,OAAO23B,EAAIu2X,GAAWhgY,EAAS2/X,EAAO3/X,OAASw/X,GAE3D,CA0BA,MAAMiL,GAAS/9b,GAAKia,KAAKmrB,MAAU,GAAJplC,GAAU,GACzC,SAASg+b,GAAe/K,EAAQgL,EAASC,EAAUC,GACjD,MAAM9qY,EAAQ0B,GAAiBk+X,GACzBmL,EAAUf,GAAmBhqY,EAAO,UACpC/gD,EAAW2qb,GAAc5pY,EAAM/gD,SAAU2gb,EAAQ,gBAAkBlT,GACnE7lX,EAAY+iY,GAAc5pY,EAAM6G,UAAW+4X,EAAQ,iBAAmBlT,GACtEse,EA/BR,SAA0BpL,EAAQn/a,EAAOw/C,GACvC,IAAIhhD,EAAU4nD,EACd,QAAc3hE,IAAVub,QAAkCvb,IAAX+6D,EAAsB,CAC/C,MAAMtW,EAAY+/Y,GAAe9J,GACjC,GAAKj2Y,EAGE,CACL,MAAM0zD,EAAO1zD,EAAU2zD,wBACjB+iK,EAAiB3+M,GAAiB/X,GAClCshZ,EAAkBjB,GAAmB3pL,EAAgB,SAAU,SAC/D6qL,EAAmBlB,GAAmB3pL,EAAgB,WAC5D5/P,EAAQ48F,EAAK58F,MAAQyqb,EAAiBzqb,MAAQwqb,EAAgBxqb,MAC9Dw/C,EAASo9C,EAAKp9C,OAASirY,EAAiBjrY,OAASgrY,EAAgBhrY,OACjEhhD,EAAW2qb,GAAcvpL,EAAephQ,SAAU0qC,EAAW,eAC7Dkd,EAAY+iY,GAAcvpL,EAAex5M,UAAWld,EAAW,eACjE,MAXElpC,EAAQm/a,EAAOl/X,YACfT,EAAS2/X,EAAO1/X,YAWpB,CACA,MAAO,CACLz/C,QACAw/C,SACAhhD,SAAUA,GAAYyta,GACtB7lX,UAAWA,GAAa6lX,GAE5B,CAOwBye,CAAiBvL,EAAQgL,EAASC,GACxD,IAAI,MAACpqb,EAAK,OAAEw/C,GAAU+qY,EACtB,GAAwB,gBAApBhrY,EAAM2D,UAA6B,CACrC,MAAM2mY,EAAUN,GAAmBhqY,EAAO,SAAU,SAC9CqqY,EAAWL,GAAmBhqY,EAAO,WAC3Cv/C,GAAS4pb,EAAS5pb,MAAQ6pb,EAAQ7pb,MAClCw/C,GAAUoqY,EAASpqY,OAASqqY,EAAQrqY,MACtC,CAQA,OAPAx/C,EAAQmG,KAAKC,IAAI,EAAGpG,EAAQsqb,EAAQtqb,OACpCw/C,EAASr5C,KAAKC,IAAI,EAAGikb,EAAclkb,KAAKmsC,MAAMtyC,EAAQqqb,GAAe7qY,EAAS8qY,EAAQ9qY,QACtFx/C,EAAQiqb,GAAO9jb,KAAKK,IAAIxG,EAAOxB,EAAU+rb,EAAc/rb,WACvDghD,EAASyqY,GAAO9jb,KAAKK,IAAIg5C,EAAQ4G,EAAWmkY,EAAcnkY,YACtDpmD,IAAUw/C,IACZA,EAASyqY,GAAOjqb,EAAQ,IAEnB,CACLA,QACAw/C,SAEJ,CACA,SAASmrY,GAAYl4X,EAAOm4X,EAAYC,GACtC,MAAMC,EAAaF,GAAc,EAC3BG,EAAe5kb,KAAKmsC,MAAMmgB,EAAMjT,OAASsrY,GACzCE,EAAc7kb,KAAKmsC,MAAMmgB,EAAMzyD,MAAQ8qb,GAC7Cr4X,EAAMjT,OAASurY,EAAeD,EAC9Br4X,EAAMzyD,MAAQgrb,EAAcF,EAC5B,MAAM3L,EAAS1sX,EAAM0sX,OAKrB,OAJIA,EAAO5/X,QAAUsrY,IAAgB1L,EAAO5/X,MAAMC,SAAW2/X,EAAO5/X,MAAMv/C,SACxEm/a,EAAO5/X,MAAMC,OAAS,GAAHvtD,OAAMwgE,EAAMjT,OAAM,MACrC2/X,EAAO5/X,MAAMv/C,MAAQ,GAAH/N,OAAMwgE,EAAMzyD,MAAK,QAEjCyyD,EAAMusX,0BAA4B8L,GAC/B3L,EAAO3/X,SAAWurY,GAClB5L,EAAOn/a,QAAUgrb,KACtBv4X,EAAMusX,wBAA0B8L,EAChC3L,EAAO3/X,OAASurY,EAChB5L,EAAOn/a,MAAQgrb,EACfv4X,EAAMmqX,IAAI1pR,aAAa43R,EAAY,EAAG,EAAGA,EAAY,EAAG,IACjD,EAGX,CACA,MAAMG,GAAgC,WACpC,IAAIC,GAAmB,EACvB,IACE,MAAMp5a,EAAU,CACd,WAAIC,GAEF,OADAm5a,GAAmB,GACZ,CACT,GAEF19b,OAAOsK,iBAAiB,OAAQ,KAAMga,GACtCtkB,OAAOyK,oBAAoB,OAAQ,KAAM6Z,EAC3C,CAAE,MAAOpsB,GACT,CACA,OAAOwlc,CACT,CAdsC,GAetC,SAASC,GAAa/5a,EAASnoB,GAC7B,MAAMjF,EA9IR,SAAkB2sB,EAAI1nB,GACpB,OAAOg4D,GAAiBtwC,GAAIqrH,iBAAiB/yI,EAC/C,CA4IgBmic,CAASh6a,EAASnoB,GAC1B0D,EAAU3I,GAASA,EAAMyL,MAAM,qBACrC,OAAO9C,GAAWA,EAAQ,QAAKlI,CACjC,CAEA,SAAS4mc,GAAazzB,EAAIC,EAAI3/Y,EAAGs6R,GAC/B,MAAO,CACLtpP,EAAG0uW,EAAG1uW,EAAIhxC,GAAK2/Y,EAAG3uW,EAAI0uW,EAAG1uW,GACzBD,EAAG2uW,EAAG3uW,EAAI/wC,GAAK2/Y,EAAG5uW,EAAI2uW,EAAG3uW,GAE7B,CACA,SAASqiY,GAAsB1zB,EAAIC,EAAI3/Y,EAAGs6R,GACxC,MAAO,CACLtpP,EAAG0uW,EAAG1uW,EAAIhxC,GAAK2/Y,EAAG3uW,EAAI0uW,EAAG1uW,GACzBD,EAAY,WAATupP,EAAoBt6R,EAAI,GAAM0/Y,EAAG3uW,EAAI4uW,EAAG5uW,EAChC,UAATupP,EAAmBt6R,EAAI,EAAI0/Y,EAAG3uW,EAAI4uW,EAAG5uW,EACrC/wC,EAAI,EAAI2/Y,EAAG5uW,EAAI2uW,EAAG3uW,EAExB,CACA,SAASsiY,GAAqB3zB,EAAIC,EAAI3/Y,EAAGs6R,GACvC,MAAMg5I,EAAM,CAACtiY,EAAG0uW,EAAGkpB,KAAM73X,EAAG2uW,EAAGopB,MACzByK,EAAM,CAACviY,EAAG2uW,EAAGgpB,KAAM53X,EAAG4uW,EAAGkpB,MACzBx7b,EAAI8lc,GAAazzB,EAAI4zB,EAAKtza,GAC1B1yB,EAAI6lc,GAAaG,EAAKC,EAAKvza,GAC3BliB,EAAIq1b,GAAaI,EAAK5zB,EAAI3/Y,GAC1BniB,EAAIs1b,GAAa9lc,EAAGC,EAAG0yB,GACvBxyB,EAAI2lc,GAAa7lc,EAAGwQ,EAAGkiB,GAC7B,OAAOmza,GAAat1b,EAAGrQ,EAAGwyB,EAC5B,CAEA,MAAMwza,GAAY,IAAI5lc,IAWtB,SAAS+qP,GAAaqkI,EAAKlxE,EAAQlyR,GACjC,OAXF,SAAyBkyR,EAAQlyR,GAC/BA,EAAUA,GAAW,CAAC,EACtB,MAAM45W,EAAW1nF,EAASl9S,KAAKC,UAAU+qB,GACzC,IAAI4uE,EAAYgrW,GAAUhgc,IAAIggY,GAK9B,OAJKhrS,IACHA,EAAY,IAAIirW,KAAKC,aAAa5nJ,EAAQlyR,GAC1C45a,GAAU3/b,IAAI2/X,EAAUhrS,IAEnBA,CACT,CAESmrW,CAAgB7nJ,EAAQlyR,GAASg6a,OAAO52E,EACjD,CA0CA,SAAS62E,GAAc9nY,EAAK+nY,EAAOhsb,GACjC,OAAOikD,EAzCqB,SAAS+nY,EAAOhsb,GAC5C,MAAO,CACLkpD,EAAEA,GACO8iY,EAAQA,EAAQhsb,EAAQkpD,EAEjC6lB,QAAAA,CAASknN,GACPj2R,EAAQi2R,CACV,EACA2wE,UAAUmjE,GACM,WAAVA,EACKA,EAEQ,UAAVA,EAAoB,OAAS,QAEtCkiB,MAAKA,CAAC/iY,EAAGllE,IACAklE,EAAIllE,EAEbkoc,WAAUA,CAAChjY,EAAGijY,IACLjjY,EAAIijY,EAGjB,CAoBeC,CAAsBJ,EAAOhsb,GAlBnC,CACLkpD,EAAEA,GACOA,EAET6lB,QAAAA,CAASknN,GACT,EACA2wE,UAAUmjE,GACDA,EAETkiB,MAAKA,CAAC/iY,EAAGllE,IACAklE,EAAIllE,EAEbkoc,WAAUA,CAAChjY,EAAGmjY,IACLnjY,EAMb,CACA,SAASojY,GAAsB1P,EAAK/mZ,GAClC,IAAI0pB,EAAOgtY,EACO,QAAd12Z,GAAqC,QAAdA,IACzB0pB,EAAQq9X,EAAIuC,OAAO5/X,MACnBgtY,EAAW,CACThtY,EAAMy8E,iBAAiB,aACvBz8E,EAAMitY,oBAAoB,cAE5BjtY,EAAM12D,YAAY,YAAagtC,EAAW,aAC1C+mZ,EAAI6P,kBAAoBF,EAE5B,CACA,SAASG,GAAqB9P,EAAK2P,QAChB9nc,IAAb8nc,WACK3P,EAAI6P,kBACX7P,EAAIuC,OAAO5/X,MAAM12D,YAAY,YAAa0jc,EAAS,GAAIA,EAAS,IAEpE,CAEA,SAASI,GAAW1jc,GAClB,MAAiB,UAAbA,EACK,CACL2jc,QAAShf,GACT5lJ,QAAS0lJ,GACTmf,UAAWlf,IAGR,CACLif,QAASze,GACTnmJ,QAASA,CAACziS,EAAGC,IAAMD,EAAIC,EACvBqnc,UAAW3jY,GAAKA,EAEpB,CACA,SAAS4jY,GAAgB/iI,GAAmC,IAAlC,MAAC13R,EAAK,IAAEu1G,EAAG,MAAElgJ,EAAK,KAAE6gc,EAAI,MAAEhpY,GAAMwqQ,EACxD,MAAO,CACL13R,MAAOA,EAAQ3qC,EACfkgJ,IAAKA,EAAMlgJ,EACX6gc,KAAMA,IAAS3gT,EAAMv1G,EAAQ,GAAK3qC,IAAU,EAC5C63D,QAEJ,CAyBA,SAASwtY,GAAcv0H,EAASi8F,EAAQxgM,GACtC,IAAKA,EACH,MAAO,CAACukG,GAEV,MAAM,SAACvvU,EAAUopC,MAAO26Z,EAAYplT,IAAKqlT,GAAYh5N,EAC/CvsO,EAAQ+sa,EAAOpwa,QACf,QAAC2jS,EAAO,QAAE4kK,EAAO,UAAEC,GAAaF,GAAW1jc,IAC3C,MAACopC,EAAK,IAAEu1G,EAAG,KAAE2gT,EAAI,MAAEhpY,GA/B3B,SAAoBi5Q,EAASi8F,EAAQxgM,GACnC,MAAM,SAAChrO,EAAUopC,MAAO26Z,EAAYplT,IAAKqlT,GAAYh5N,GAC/C,QAAC24N,EAAO,UAAEC,GAAaF,GAAW1jc,GAClCvB,EAAQ+sa,EAAOpwa,OACrB,IACIiD,EAAGqjb,GADH,MAACt4Y,EAAK,IAAEu1G,EAAG,KAAE2gT,GAAQ/vH,EAEzB,GAAI+vH,EAAM,CAGR,IAFAl2Z,GAAS3qC,EACTkgJ,GAAOlgJ,EACFJ,EAAI,EAAGqjb,EAAOjjb,EAAOJ,EAAIqjb,GACvBiiB,EAAQC,EAAUp4B,EAAOpiY,EAAQ3qC,GAAOuB,IAAY+jc,EAAYC,KADjC3lc,EAIpC+qC,IACAu1G,IAEFv1G,GAAS3qC,EACTkgJ,GAAOlgJ,CACT,CAIA,OAHIkgJ,EAAMv1G,IACRu1G,GAAOlgJ,GAEF,CAAC2qC,QAAOu1G,MAAK2gT,OAAMhpY,MAAOi5Q,EAAQj5Q,MAC3C,CAQoC2tY,CAAW10H,EAASi8F,EAAQxgM,GACxDxnN,EAAS,GACf,IAEIzoB,EAAOm8B,EAAOgta,EAFdC,GAAS,EACTC,EAAW,KAEf,MAEMC,EAAcA,IAAMF,GAFER,EAAQI,EAAYG,EAAWnpc,IAA6C,IAAnCgkS,EAAQglK,EAAYG,GAGnFI,EAAaA,KAAOH,GAF6B,IAA7BplK,EAAQilK,EAAUjpc,IAAgB4oc,EAAQK,EAAUE,EAAWnpc,GAGzF,IAAK,IAAIsD,EAAI+qC,EAAOm5H,EAAOn5H,EAAO/qC,GAAKsgJ,IAAOtgJ,EAC5C64B,EAAQs0Y,EAAOnta,EAAII,GACfy4B,EAAM+4C,OAGVl1E,EAAQ6oc,EAAU1sa,EAAMl3B,IACpBjF,IAAUmpc,IAGdC,EAASR,EAAQ5oc,EAAOgpc,EAAYC,GACnB,OAAbI,GAAqBC,MACvBD,EAA0C,IAA/BrlK,EAAQhkS,EAAOgpc,GAAoB1lc,EAAIkkK,GAEnC,OAAb6hS,GAAqBE,MACvB9gb,EAAOxmB,KAAK6mc,GAAiB,CAACz6Z,MAAOg7Z,EAAUzlT,IAAKtgJ,EAAGihc,OAAM7gc,QAAO63D,WACpE8tY,EAAW,MAEb7hS,EAAOlkK,EACP6lc,EAAYnpc,IAKd,OAHiB,OAAbqpc,GACF5gb,EAAOxmB,KAAK6mc,GAAiB,CAACz6Z,MAAOg7Z,EAAUzlT,MAAK2gT,OAAM7gc,QAAO63D,WAE5D9yC,CACT,CACA,SAAS+gb,GAAetnK,EAAMjyD,GAC5B,MAAMxnN,EAAS,GACT6rT,EAAWpyC,EAAKoyC,SACtB,IAAK,IAAIhxU,EAAI,EAAGA,EAAIgxU,EAASj0U,OAAQiD,IAAK,CACxC,MAAMm9X,EAAMsoE,GAAcz0H,EAAShxU,GAAI4+R,EAAKuuI,OAAQxgM,GAChDwwJ,EAAIpgY,QACNooB,EAAOxmB,QAAQw+X,EAEnB,CACA,OAAOh4W,CACT,CAiEA,SAASghb,GAAcvnK,EAAMoyC,EAAUm8F,EAAQi5B,GAC7C,OAAKA,GAAmBA,EAAetI,YAAe3wB,EAKxD,SAAyBvuI,EAAMoyC,EAAUm8F,EAAQi5B,GAC/C,MAAMC,EAAeznK,EAAK0nK,OAAOntb,aAC3Botb,EAAYC,GAAU5nK,EAAKp0Q,UAC1Bi8a,cAAejjB,EAAch5Z,SAAS,SAAC22a,IAAaviK,EACrDx+R,EAAQ+sa,EAAOpwa,OACfooB,EAAS,GACf,IAAIuhb,EAAYH,EACZx7Z,EAAQimS,EAAS,GAAGjmS,MACpB/qC,EAAI+qC,EACR,SAAS47Z,EAASnua,EAAGp6B,EAAG04O,EAAG8vN,GACzB,MAAMrqY,EAAM4kY,GAAY,EAAI,EAC5B,GAAI3oa,IAAMp6B,EAAV,CAIA,IADAo6B,GAAKp4B,EACE+sa,EAAO30Y,EAAIp4B,GAAOwxE,MACvBp5C,GAAK+jC,EAEP,KAAO4wW,EAAO/ua,EAAIgC,GAAOwxE,MACvBxzE,GAAKm+D,EAEH/jC,EAAIp4B,IAAUhC,EAAIgC,IACpB+kB,EAAOxmB,KAAK,CAACosC,MAAOvS,EAAIp4B,EAAOkgJ,IAAKliJ,EAAIgC,EAAO6gc,KAAMnqN,EAAG7+K,MAAO2uY,IAC/DF,EAAYE,EACZ77Z,EAAQ3sC,EAAIgC,EAXd,CAaF,CACA,IAAK,MAAM8wU,KAAWF,EAAU,CAC9BjmS,EAAQo2Z,EAAWp2Z,EAAQmmS,EAAQnmS,MACnC,IACIktB,EADAisG,EAAOipQ,EAAOpiY,EAAQ3qC,GAE1B,IAAKJ,EAAI+qC,EAAQ,EAAG/qC,GAAKkxU,EAAQ5wL,IAAKtgJ,IAAK,CACzC,MAAM+gc,EAAK5zB,EAAOnta,EAAII,GACtB63D,EAAQuuY,GAAUJ,EAAetI,WAAWjgL,GAAcwoL,EAAc,CACtEp1b,KAAM,UACN41b,GAAI3iS,EACJosQ,GAAIywB,EACJ+F,aAAc9mc,EAAI,GAAKI,EACvB2mc,YAAa/mc,EAAII,EACjBojb,mBAEEwjB,GAAa/uY,EAAOyuY,IACtBC,EAAS57Z,EAAO/qC,EAAI,EAAGkxU,EAAQ+vH,KAAMyF,GAEvCxiS,EAAO68R,EACP2F,EAAYzuY,CACd,CACIltB,EAAQ/qC,EAAI,GACd2mc,EAAS57Z,EAAO/qC,EAAI,EAAGkxU,EAAQ+vH,KAAMyF,EAEzC,CACA,OAAOvhb,CACT,CAtDS8hb,CAAgBroK,EAAMoyC,EAAUm8F,EAAQi5B,GAFtCp1H,CAGX,CAsDA,SAASw1H,GAAUh8a,GACjB,MAAO,CACLkyM,gBAAiBlyM,EAAQkyM,gBACzBwqO,eAAgB18a,EAAQ08a,eACxBC,WAAY38a,EAAQ28a,WACpBC,iBAAkB58a,EAAQ48a,iBAC1BC,gBAAiB78a,EAAQ68a,gBACzBvO,YAAatua,EAAQsua,YACrB9D,YAAaxqa,EAAQwqa,YAEzB,CACA,SAASgS,GAAa/uY,EAAOyuY,GAC3B,OAAOA,GAAalnc,KAAKC,UAAUw4D,KAAWz4D,KAAKC,UAAUinc,EAC/D,CCpzEA,IAAIY,GAAW,IAvIf,MACEjmc,WAAAA,GACE1B,KAAK4nc,SAAW,KAChB5nc,KAAK6nc,QAAU,IAAIhpc,IACnBmB,KAAK8nc,UAAW,EAChB9nc,KAAK+nc,eAAYvqc,CACnB,CACAwqc,OAAAA,CAAQx8X,EAAOy8X,EAAOlhY,EAAMz1D,GAC1B,MAAMywE,EAAYkmX,EAAMv3b,UAAUY,GAC5B42b,EAAWD,EAAMz0X,SACvBuO,EAAUhjF,SAAQ8sB,GAAMA,EAAG,CACzB2/C,QACA28X,QAASF,EAAME,QACfD,WACAE,YAAalpb,KAAKK,IAAIwnD,EAAOkhY,EAAM78Z,MAAO88Z,MAE9C,CACAG,QAAAA,GACMroc,KAAK4nc,WAGT5nc,KAAK8nc,UAAW,EAChB9nc,KAAK4nc,SAAWnlB,GAAiB18a,KAAKQ,QAAQ,KAC5CvG,KAAKsoc,UACLtoc,KAAK4nc,SAAW,KACZ5nc,KAAK8nc,UACP9nc,KAAKqoc,UACP,IAEJ,CACAC,OAAAA,GAA2B,IAAnBvhY,EAAIziE,UAAAlH,OAAA,QAAAI,IAAA8G,UAAA,GAAAA,UAAA,GAAGiD,KAAKq1F,MACd2rW,EAAY,EAChBvoc,KAAK6nc,QAAQ9oc,SAAQ,CAACkpc,EAAOz8X,KAC3B,IAAKy8X,EAAM3uP,UAAY2uP,EAAM1/a,MAAMnrB,OACjC,OAEF,MAAMmrB,EAAQ0/a,EAAM1/a,MACpB,IAEI5P,EAFAtY,EAAIkoB,EAAMnrB,OAAS,EACnBorc,GAAO,EAEX,KAAOnoc,GAAK,IAAKA,EACfsY,EAAO4P,EAAMloB,GACTsY,EAAK8vb,SACH9vb,EAAK+vb,OAAST,EAAMz0X,WACtBy0X,EAAMz0X,SAAW76D,EAAK+vb,QAExB/vb,EAAKgwb,KAAK5hY,GACVyhY,GAAO,IAEPjgb,EAAMloB,GAAKkoB,EAAMA,EAAMnrB,OAAS,GAChCmrB,EAAM+oD,OAGNk3X,IACFh9X,EAAMg9X,OACNxoc,KAAKgoc,QAAQx8X,EAAOy8X,EAAOlhY,EAAM,aAE9Bx+C,EAAMnrB,SACT6qc,EAAM3uP,SAAU,EAChBt5M,KAAKgoc,QAAQx8X,EAAOy8X,EAAOlhY,EAAM,YACjCkhY,EAAME,SAAU,GAElBI,GAAahgb,EAAMnrB,MAAM,IAE3B4C,KAAK+nc,UAAYhhY,EACC,IAAdwhY,IACFvoc,KAAK8nc,UAAW,EAEpB,CACAc,SAAAA,CAAUp9X,GACR,MAAMq9X,EAAS7oc,KAAK6nc,QACpB,IAAII,EAAQY,EAAOpkc,IAAI+mE,GAavB,OAZKy8X,IACHA,EAAQ,CACN3uP,SAAS,EACT6uP,SAAS,EACT5/a,MAAO,GACP7X,UAAW,CACTo4b,SAAU,GACVC,SAAU,KAGdF,EAAO/jc,IAAI0mE,EAAOy8X,IAEbA,CACT,CACAzwF,MAAAA,CAAOhsS,EAAOp6D,EAAO0gF,GACnB9xF,KAAK4oc,UAAUp9X,GAAO96D,UAAUU,GAAOpS,KAAK8yF,EAC9C,CACA/gF,GAAAA,CAAIy6D,EAAOjjD,GACJA,GAAUA,EAAMnrB,QAGrB4C,KAAK4oc,UAAUp9X,GAAOjjD,MAAMvpB,QAAQupB,EACtC,CACA0nB,GAAAA,CAAIu7B,GACF,OAAOxrE,KAAK4oc,UAAUp9X,GAAOjjD,MAAMnrB,OAAS,CAC9C,CACAguC,KAAAA,CAAMogC,GACJ,MAAMy8X,EAAQjoc,KAAK6nc,QAAQpjc,IAAI+mE,GAC1By8X,IAGLA,EAAM3uP,SAAU,EAChB2uP,EAAM78Z,MAAQ7jC,KAAKq1F,MACnBqrW,EAAMz0X,SAAWy0X,EAAM1/a,MAAM3f,QAAO,CAACg7P,EAAKolM,IAAQ9pb,KAAKC,IAAIykP,EAAKolM,EAAIC,YAAY,GAChFjpc,KAAKqoc,WACP,CACA/uP,OAAAA,CAAQ9tI,GACN,IAAKxrE,KAAK8nc,SACR,OAAO,EAET,MAAMG,EAAQjoc,KAAK6nc,QAAQpjc,IAAI+mE,GAC/B,SAAKy8X,GAAUA,EAAM3uP,SAAY2uP,EAAM1/a,MAAMnrB,OAI/C,CACA8rc,IAAAA,CAAK19X,GACH,MAAMy8X,EAAQjoc,KAAK6nc,QAAQpjc,IAAI+mE,GAC/B,IAAKy8X,IAAUA,EAAM1/a,MAAMnrB,OACzB,OAEF,MAAMmrB,EAAQ0/a,EAAM1/a,MACpB,IAAIloB,EAAIkoB,EAAMnrB,OAAS,EACvB,KAAOiD,GAAK,IAAKA,EACfkoB,EAAMloB,GAAGqrE,SAEXu8X,EAAM1/a,MAAQ,GACdvoB,KAAKgoc,QAAQx8X,EAAOy8X,EAAO1gc,KAAKq1F,MAAO,WACzC,CACAplB,MAAAA,CAAOhM,GACL,OAAOxrE,KAAK6nc,QAAQ52b,OAAOu6D,EAC7B,GAIF,MAAM0nX,GAAc,cACdiW,GAAgB,CACpBnwK,QAAOA,CAACrvN,EAAMy4N,EAAIgnK,IACTA,EAAS,GAAMhnK,EAAKz4N,EAE7BizJ,KAAAA,CAAMjzJ,EAAMy4N,EAAIgnK,GACd,MAAMC,EAAKzsO,GAAMjzJ,GAAQupX,IACnBY,EAAKuV,EAAGvzW,OAAS8mI,GAAMwlE,GAAM8wJ,IACnC,OAAOY,GAAMA,EAAGh+V,MACZg+V,EAAGD,IAAIwV,EAAID,GAAQ5f,YACnBpnJ,CACN,EACA57N,OAAMA,CAACmD,EAAMy4N,EAAIgnK,IACRz/X,GAAQy4N,EAAKz4N,GAAQy/X,GAGhC,MAAME,GACJ5nc,WAAAA,CAAY6nc,EAAKxnc,EAAQs2H,EAAM+pK,GAC7B,MAAMj8O,EAAepkD,EAAOs2H,GAC5B+pK,EAAKxvN,GAAQ,CAAC22X,EAAInnK,GAAIA,EAAIj8O,EAAcojZ,EAAI5/X,OAC5C,MAAMA,EAAOiJ,GAAQ,CAAC22X,EAAI5/X,KAAMxjB,EAAci8O,IAC9CpiS,KAAKyoc,SAAU,EACfzoc,KAAKwpc,IAAMD,EAAI19a,IAAMs9a,GAAcI,EAAIj4b,aAAeq4D,GACtD3pE,KAAKypc,QAAUvgJ,GAAQqgJ,EAAIG,SAAWxgJ,GAAQo+H,OAC9Ctnb,KAAK2pc,OAASzqb,KAAKmsC,MAAM9jD,KAAKq1F,OAAS2sW,EAAIt0X,OAAS,IACpDj1E,KAAKipc,UAAYjpc,KAAK0oc,OAASxpb,KAAKmsC,MAAMk+Y,EAAI/1X,UAC9CxzE,KAAKwvV,QAAU+5G,EAAIjI,KACnBthc,KAAK4pc,QAAU7nc,EACf/B,KAAK6pc,MAAQxxU,EACbr4H,KAAK8pc,MAAQngY,EACb3pE,KAAK+pc,IAAM3nK,EACXpiS,KAAKgqc,eAAYxsc,CACnB,CACA0f,MAAAA,GACE,OAAOld,KAAKyoc,OACd,CACA5hW,MAAAA,CAAO0iW,EAAKnnK,EAAIr7N,GACd,GAAI/mE,KAAKyoc,QAAS,CAChBzoc,KAAKgoc,SAAQ,GACb,MAAM7hZ,EAAenmD,KAAK4pc,QAAQ5pc,KAAK6pc,OACjCI,EAAUljY,EAAO/mE,KAAK2pc,OACtBO,EAASlqc,KAAKipc,UAAYgB,EAChCjqc,KAAK2pc,OAAS5iY,EACd/mE,KAAKipc,UAAY/pb,KAAKmsC,MAAMnsC,KAAKC,IAAI+qb,EAAQX,EAAI/1X,WACjDxzE,KAAK0oc,QAAUuB,EACfjqc,KAAKwvV,QAAU+5G,EAAIjI,KACnBthc,KAAK+pc,IAAMn3X,GAAQ,CAAC22X,EAAInnK,GAAIA,EAAIj8O,EAAcojZ,EAAI5/X,OAClD3pE,KAAK8pc,MAAQl3X,GAAQ,CAAC22X,EAAI5/X,KAAMxjB,EAAci8O,GAChD,CACF,CACA12N,MAAAA,GACM1rE,KAAKyoc,UACPzoc,KAAK2oc,KAAKphc,KAAKq1F,OACf58F,KAAKyoc,SAAU,EACfzoc,KAAKgoc,SAAQ,GAEjB,CACAW,IAAAA,CAAK5hY,GACH,MAAMkjY,EAAUljY,EAAO/mE,KAAK2pc,OACtBn2X,EAAWxzE,KAAKipc,UAChB5wU,EAAOr4H,KAAK6pc,MACZlgY,EAAO3pE,KAAK8pc,MACZxI,EAAOthc,KAAKwvV,MACZptD,EAAKpiS,KAAK+pc,IAChB,IAAIX,EAEJ,GADAppc,KAAKyoc,QAAU9+X,IAASy4N,IAAOk/J,GAAS2I,EAAUz2X,IAC7CxzE,KAAKyoc,QAGR,OAFAzoc,KAAK4pc,QAAQvxU,GAAQ+pK,OACrBpiS,KAAKgoc,SAAQ,GAGXiC,EAAU,EACZjqc,KAAK4pc,QAAQvxU,GAAQ1uD,GAGvBy/X,EAAUa,EAAUz2X,EAAY,EAChC41X,EAAS9H,GAAQ8H,EAAS,EAAI,EAAIA,EAASA,EAC3CA,EAASppc,KAAKypc,QAAQvqb,KAAKK,IAAI,EAAGL,KAAKC,IAAI,EAAGiqb,KAC9Cppc,KAAK4pc,QAAQvxU,GAAQr4H,KAAKwpc,IAAI7/X,EAAMy4N,EAAIgnK,GAC1C,CACAvic,IAAAA,GACE,MAAM8rE,EAAW3yE,KAAKgqc,YAAchqc,KAAKgqc,UAAY,IACrD,OAAO,IAAI51K,SAAQ,CAAC9yR,EAAK6oc,KACvBx3X,EAAS3zE,KAAK,CAACsC,MAAK6oc,OAAK,GAE7B,CACAnC,OAAAA,CAAQoC,GACN,MAAMn4K,EAASm4K,EAAW,MAAQ,MAC5Bz3X,EAAW3yE,KAAKgqc,WAAa,GACnC,IAAK,IAAI3pc,EAAI,EAAGA,EAAIsyE,EAASv1E,OAAQiD,IACnCsyE,EAAStyE,GAAG4xR,IAEhB,EAKF0G,GAAS7zR,IAAI,YAAa,CACxBmwE,WAAOz3E,EACPg2E,SAAU,IACVk2X,OAAQ,eACR79a,QAAIruB,EACJmsE,UAAMnsE,EACN8jc,UAAM9jc,EACN4kS,QAAI5kS,EACJ8T,UAAM9T,IAER,MAAM6sc,GAAmBprc,OAAOmB,KAAKu4R,GAASme,WAC9Cne,GAAS69J,SAAS,YAAa,CAC7BU,WAAW,EACXD,YAAY,EACZD,YAAcvxb,GAAkB,eAATA,GAAkC,eAATA,GAAkC,OAATA,IAE3EkzR,GAAS7zR,IAAI,aAAc,CACzBo7W,OAAQ,CACN5uW,KAAM,QACN1N,WApBW,CAAC,QAAS,cAAe,oBAsBtC0mc,QAAS,CACPh5b,KAAM,SACN1N,WAzBY,CAAC,IAAK,IAAK,cAAe,SAAU,cA4BpD+0R,GAAS69J,SAAS,aAAc,CAC9BU,UAAW,cAEbv+J,GAAS7zR,IAAI,cAAe,CAC1BoY,OAAQ,CACN45R,UAAW,CACTtjO,SAAU,MAGdmxH,OAAQ,CACNmyG,UAAW,CACTtjO,SAAU,IAGd81E,KAAM,CACJihT,WAAY,CACVrqF,OAAQ,CACNv2S,KAAM,eAER9zD,QAAS,CACPvE,KAAM,UACNkiE,SAAU,KAIhB79D,KAAM,CACJ40b,WAAY,CACVrqF,OAAQ,CACN99E,GAAI,eAENvsR,QAAS,CACPvE,KAAM,UACNo4b,OAAQ,SACR79a,GAAI5mB,GAAS,EAAJA,OAKjB,MAAMulc,GACJ9oc,WAAAA,CAAY8pE,EAAOib,GACjBzmF,KAAK2mc,OAASn7X,EACdxrE,KAAKyqc,YAAc,IAAI5rc,IACvBmB,KAAK0qc,UAAUjkX,EACjB,CACAikX,SAAAA,CAAUjkX,GACR,IAAKg2M,GAASh2M,GACZ,OAEF,MAAMkkX,EAAgB3qc,KAAKyqc,YAC3Bxrc,OAAO45H,oBAAoBpyC,GAAQ1nF,SAAQiC,IACzC,MAAMuoc,EAAM9iX,EAAOzlF,GACnB,IAAKy7R,GAAS8sK,GACZ,OAEF,MAAMa,EAAW,CAAC,EAClB,IAAK,MAAM9/W,KAAU+/W,GACnBD,EAAS9/W,GAAUi/W,EAAIj/W,IAExBxpF,GAAQyoc,EAAI3lc,aAAe2lc,EAAI3lc,YAAc,CAAC5C,IAAMjC,SAASs5H,IACxDA,IAASr3H,GAAQ2pc,EAAc16Z,IAAIooF,IACrCsyU,EAAc7lc,IAAIuzH,EAAM+xU,EAC1B,GACA,GAEN,CACAQ,eAAAA,CAAgB7oc,EAAQrD,GACtB,MAAMq2V,EAAar2V,EAAOmsB,QACpBA,EAwEV,SAA8B9oB,EAAQgzV,GACpC,IAAKA,EACH,OAEF,IAAIlqU,EAAU9oB,EAAO8oB,QACrB,IAAKA,EAEH,YADA9oB,EAAO8oB,QAAUkqU,GAGflqU,EAAQggb,UACV9oc,EAAO8oB,QAAUA,EAAU5rB,OAAO0wB,OAAO,CAAC,EAAG9E,EAAS,CAACggb,SAAS,EAAOC,YAAa,CAAC,KAEvF,OAAOjgb,CACT,CArFoBkgb,CAAqBhpc,EAAQgzV,GAC7C,IAAKlqU,EACH,MAAO,GAET,MAAM0/a,EAAavqc,KAAKgrc,kBAAkBngb,EAASkqU,GAOnD,OANIA,EAAW81G,SAwDnB,SAAkBN,EAAY3mc,GAC5B,MAAM01M,EAAU,GACVl5M,EAAOnB,OAAOmB,KAAKwD,GACzB,IAAK,IAAIvD,EAAI,EAAGA,EAAID,EAAKhD,OAAQiD,IAAK,CACpC,MAAM6wa,EAAOq5B,EAAWnqc,EAAKC,IACzB6wa,GAAQA,EAAKh0Z,UACfo8L,EAAQt6M,KAAKkya,EAAKrqa,OAEtB,CACA,OAAOutR,QAAQ1hN,IAAI4mI,EACrB,CAjEM2xP,CAASlpc,EAAO8oB,QAAQigb,YAAa/1G,GAAYhyR,MAAK,KACpDhhE,EAAO8oB,QAAUkqU,CAAU,IAC1B,SAGEw1G,CACT,CACAS,iBAAAA,CAAkBjpc,EAAQrD,GACxB,MAAMisc,EAAgB3qc,KAAKyqc,YACrBF,EAAa,GACbjxP,EAAUv3M,EAAO+oc,cAAgB/oc,EAAO+oc,YAAc,CAAC,GACvDp9b,EAAQzO,OAAOmB,KAAK1B,GACpBqoE,EAAOx/D,KAAKq1F,MAClB,IAAIv8F,EACJ,IAAKA,EAAIqN,EAAMtQ,OAAS,EAAGiD,GAAK,IAAKA,EAAG,CACtC,MAAMg4H,EAAO3qH,EAAMrN,GACnB,GAAuB,MAAnBg4H,EAAK1wE,OAAO,GACd,SAEF,GAAa,YAAT0wE,EAAoB,CACtBkyU,EAAWvrc,QAAQgB,KAAK4qc,gBAAgB7oc,EAAQrD,IAChD,QACF,CACA,MAAM3B,EAAQ2B,EAAO25H,GACrB,IAAIy+K,EAAYx9F,EAAQjhF,GACxB,MAAMkxU,EAAMoB,EAAclmc,IAAI4zH,GAC9B,GAAIy+K,EAAW,CACb,GAAIyyJ,GAAOzyJ,EAAU55R,SAAU,CAC7B45R,EAAUjwM,OAAO0iW,EAAKxsc,EAAOgqE,GAC7B,QACF,CACE+vO,EAAUprO,QAEd,CACK69X,GAAQA,EAAI/1X,UAIjB8lI,EAAQjhF,GAAQy+K,EAAY,IAAIwyJ,GAAUC,EAAKxnc,EAAQs2H,EAAMt7H,GAC7Dwtc,EAAWvrc,KAAK83S,IAJd/0S,EAAOs2H,GAAQt7H,CAKnB,CACA,OAAOwtc,CACT,CACA1jW,MAAAA,CAAO9kG,EAAQrD,GACb,GAA8B,IAA1BsB,KAAKyqc,YAAY75b,KAEnB,YADA3R,OAAO0wB,OAAO5tB,EAAQrD,GAGxB,MAAM6rc,EAAavqc,KAAKgrc,kBAAkBjpc,EAAQrD,GAClD,OAAI6rc,EAAWntc,QACbuqc,GAAS52b,IAAI/Q,KAAK2mc,OAAQ4D,IACnB,QAFT,CAIF,EA4BF,SAASW,GAAU9qZ,EAAO+qZ,GACxB,MAAM9rK,EAAOj/O,GAASA,EAAMv1B,SAAW,CAAC,EAClCjI,EAAUy8Q,EAAKz8Q,QACfrD,OAAmB/hB,IAAb6hS,EAAK9/Q,IAAoB4rb,EAAkB,EACjDhsb,OAAmB3hB,IAAb6hS,EAAKlgR,IAAoBgsb,EAAkB,EACvD,MAAO,CACL//Z,MAAOxoB,EAAUzD,EAAMI,EACvBohI,IAAK/9H,EAAUrD,EAAMJ,EAEzB,CAgCA,SAASisb,GAAwB5/X,EAAO6/X,GACtC,MAAMjrc,EAAO,GACPkrc,EAAW9/X,EAAM+/X,uBAAuBF,GAC9C,IAAIhrc,EAAGqjb,EACP,IAAKrjb,EAAI,EAAGqjb,EAAO4nB,EAASluc,OAAQiD,EAAIqjb,IAAQrjb,EAC9CD,EAAKpB,KAAKssc,EAASjrc,GAAGU,OAExB,OAAOX,CACT,CACA,SAASorc,GAAWvwK,EAAOl+R,EAAO0uc,GAAuB,IAAd5gb,EAAOvmB,UAAAlH,OAAA,QAAAI,IAAA8G,UAAA,GAAAA,UAAA,GAAG,CAAC,EACpD,MAAMlE,EAAO66R,EAAM76R,KACbsrc,EAA8B,WAAjB7gb,EAAQ0gS,KAC3B,IAAIlrT,EAAGqjb,EAAMG,EAAc8nB,EAC3B,GAAc,OAAV5uc,EAAJ,CAGA,IAAKsD,EAAI,EAAGqjb,EAAOtjb,EAAKhD,OAAQiD,EAAIqjb,IAAQrjb,EAAG,CAE7C,GADAwjb,GAAgBzjb,EAAKC,GACjBwjb,IAAiB4nB,EAAS,CAC5B,GAAI5gb,EAAQ6nD,IACV,SAEF,KACF,CACAi5X,EAAa1wK,EAAMv8R,OAAOmlb,GACtBZ,GAAe0oB,KAAgBD,GAAyB,IAAV3uc,GAAeg3X,GAAKh3X,KAAWg3X,GAAK43E,MACpF5uc,GAAS4uc,EAEb,CACA,OAAO5uc,CAdP,CAeF,CAcA,SAAS6uc,GAAUxrZ,EAAOizM,GACxB,MAAMw4M,EAAUzrZ,GAASA,EAAMv1B,QAAQghb,QACvC,OAAOA,QAAwBruc,IAAZquc,QAAwCruc,IAAf61P,EAAK4nC,KACnD,CAWA,SAAS6wK,GAAiBC,EAAQC,EAAUC,GAC1C,MAAMC,EAAWH,EAAOC,KAAcD,EAAOC,GAAY,CAAC,GAC1D,OAAOE,EAASD,KAAgBC,EAASD,GAAc,CAAC,EAC1D,CACA,SAASE,GAAoBlxK,EAAOmxK,EAAQC,EAAU/6b,GACpD,IAAK,MAAM+hP,KAAQ+4M,EAAOE,wBAAwBh7b,GAAMsR,UAAW,CACjE,MAAM7lB,EAAQk+R,EAAM5nC,EAAKtyP,OACzB,GAAKsrc,GAAYtvc,EAAQ,IAAQsvc,GAAYtvc,EAAQ,EACnD,OAAOs2P,EAAKtyP,KAEhB,CACA,OAAO,IACT,CACA,SAASwrc,GAAapjO,EAAY21D,GAChC,MAAM,MAACtzN,EAAOghY,YAAan5M,GAAQlqB,EAC7B4iO,EAASvgY,EAAMihY,UAAYjhY,EAAMihY,QAAU,CAAC,IAC5C,OAACC,EAAM,OAAEN,EAAQrrc,MAAO8ib,GAAgBxwL,EACxCs5M,EAAQD,EAAO/+G,KACfi/G,EAAQR,EAAOz+G,KACf3sV,EA7BR,SAAqB6rc,EAAYC,EAAYz5M,GAC3C,MAAO,GAAProP,OAAU6hc,EAAWl6Z,GAAE,KAAA3nC,OAAI8hc,EAAWn6Z,GAAE,KAAA3nC,OAAIqoP,EAAK4nC,OAAS5nC,EAAK/hP,KACjE,CA2Bcy7b,CAAYL,EAAQN,EAAQ/4M,GAClCqwL,EAAO5kJ,EAAO1hS,OACpB,IAAI69R,EACJ,IAAK,IAAI56R,EAAI,EAAGA,EAAIqjb,IAAQrjb,EAAG,CAC7B,MAAMsY,EAAOmmR,EAAOz+R,IACb,CAACssc,GAAQ5rc,EAAO,CAAC6rc,GAAQ7vc,GAAS4b,EAEzCsiR,GADmBtiR,EAAK8zb,UAAY9zb,EAAK8zb,QAAU,CAAC,IACjCG,GAASd,GAAiBC,EAAQ/qc,EAAKD,GAC1Dk6R,EAAM4oJ,GAAgB9mb,EACtBk+R,EAAM+xK,KAAOb,GAAoBlxK,EAAOmxK,GAAQ,EAAM/4M,EAAK/hP,MAC3D2pR,EAAMgyK,QAAUd,GAAoBlxK,EAAOmxK,GAAQ,EAAO/4M,EAAK/hP,KACjE,CACF,CACA,SAAS47b,GAAgB1hY,EAAOmiR,GAC9B,MAAM0oG,EAAS7qX,EAAM6qX,OACrB,OAAOp3b,OAAOmB,KAAKi2b,GAAQh0b,QAAOrB,GAAOq1b,EAAOr1b,GAAK2sV,OAASA,IAAM9oV,OACtE,CAyBA,SAAS0pP,GAAY8E,EAAM9qO,GACzB,MAAMs7Z,EAAexwL,EAAKlqB,WAAWpoO,MAC/B4sV,EAAOt6F,EAAK+4M,QAAU/4M,EAAK+4M,OAAOz+G,KACxC,GAAKA,EAAL,CAGAplU,EAAQA,GAAS8qO,EAAK85M,QACtB,IAAK,MAAMruK,KAAUv2Q,EAAO,CAC1B,MAAMwjb,EAASjtK,EAAO2tK,QACtB,IAAKV,QAA2Bvuc,IAAjBuuc,EAAOp+G,SAAsDnwV,IAA/Buuc,EAAOp+G,GAAMk2F,GACxD,cAEKkoB,EAAOp+G,GAAMk2F,EACtB,CARA,CASF,CACA,MAAMupB,GAAsB7hJ,GAAkB,UAATA,GAA6B,SAATA,EACnD8hJ,GAAmBA,CAACzrS,EAAQqnJ,IAAWA,EAASrnJ,EAAS3iK,OAAO0wB,OAAO,CAAC,EAAGiyI,GAGjF,MAAM0rS,GACJ5rc,WAAAA,CAAY8pE,EAAOq4W,GACjB7jb,KAAKwrE,MAAQA,EACbxrE,KAAKutc,KAAO/hY,EAAMmqX,IAClB31b,KAAKe,MAAQ8ib,EACb7jb,KAAKwtc,gBAAkB,CAAC,EACxBxtc,KAAKwsc,YAAcxsc,KAAKytc,UACxBztc,KAAK0tc,MAAQ1tc,KAAKwsc,YAAYl7b,KAC9BtR,KAAK6qB,aAAUrtB,EACfwC,KAAK2tc,UAAW,EAChB3tc,KAAK4tc,WAAQpwc,EACbwC,KAAK6tc,iBAAcrwc,EACnBwC,KAAK8tc,oBAAiBtwc,EACtBwC,KAAK+tc,gBAAavwc,EAClBwC,KAAKguc,gBAAaxwc,EAClBwC,KAAKiuc,qBAAsB,EAC3Bjuc,KAAKkuc,cAAW1wc,EAChBwC,KAAKmuc,UAAY,GACjBnuc,KAAKouc,YACP,CACAA,UAAAA,GACE,MAAM/6M,EAAOrzP,KAAKwsc,YAClBxsc,KAAK0qc,YACL1qc,KAAKquc,aACLh7M,EAAKi7M,SAAW1C,GAAUv4M,EAAK+4M,OAAQ/4M,GACvCrzP,KAAKuuc,aACP,CACAC,WAAAA,CAAY3qB,GACN7jb,KAAKe,QAAU8ib,GACjBt1L,GAAYvuP,KAAKwsc,aAEnBxsc,KAAKe,MAAQ8ib,CACf,CACAwqB,UAAAA,GACE,MAAM7iY,EAAQxrE,KAAKwrE,MACb6nL,EAAOrzP,KAAKwsc,YACZiC,EAAUzuc,KAAK0uc,aACfC,EAAWA,CAAChhH,EAAM1rR,EAAGD,EAAGhzD,IAAe,MAAT2+U,EAAe1rR,EAAa,MAAT0rR,EAAe3+U,EAAIgzD,EACpE4sY,EAAMv7M,EAAKw7M,QAAU1rB,GAAesrB,EAAQI,QAAS3B,GAAgB1hY,EAAO,MAC5EsjY,EAAMz7M,EAAK07M,QAAU5rB,GAAesrB,EAAQM,QAAS7B,GAAgB1hY,EAAO,MAC5EwjY,EAAM37M,EAAK47M,QAAU9rB,GAAesrB,EAAQQ,QAAS/B,GAAgB1hY,EAAO,MAC5EsqX,EAAYziM,EAAKyiM,UACjBoZ,EAAM77M,EAAK87M,QAAUR,EAAS7Y,EAAW8Y,EAAKE,EAAKE,GACnDI,EAAM/7M,EAAKg8M,QAAUV,EAAS7Y,EAAWgZ,EAAKF,EAAKI,GACzD37M,EAAKi8M,OAAStvc,KAAKuvc,cAAcX,GACjCv7M,EAAKm8M,OAASxvc,KAAKuvc,cAAcT,GACjCz7M,EAAKo8M,OAASzvc,KAAKuvc,cAAcP,GACjC37M,EAAKq5M,OAAS1sc,KAAKuvc,cAAcL,GACjC77M,EAAK+4M,OAASpsc,KAAKuvc,cAAcH,EACnC,CACAV,UAAAA,GACE,OAAO1uc,KAAKwrE,MAAMtoE,KAAKoyb,SAASt1b,KAAKe,MACvC,CACA0sc,OAAAA,GACE,OAAOztc,KAAKwrE,MAAMkkY,eAAe1vc,KAAKe,MACxC,CACAwuc,aAAAA,CAAcI,GACZ,OAAO3vc,KAAKwrE,MAAM6qX,OAAOsZ,EAC3B,CACAC,cAAAA,CAAexvZ,GACb,MAAMizM,EAAOrzP,KAAKwsc,YAClB,OAAOpsZ,IAAUizM,EAAKq5M,OAClBr5M,EAAK+4M,OACL/4M,EAAKq5M,MACX,CACAjob,KAAAA,GACEzkB,KAAKsoc,QAAQ,QACf,CACAuH,QAAAA,GACE,MAAMx8M,EAAOrzP,KAAKwsc,YACdxsc,KAAK4tc,OACPnR,GAAoBz8b,KAAK4tc,MAAO5tc,MAE9BqzP,EAAKi7M,UACP//M,GAAY8E,EAEhB,CACAy8M,UAAAA,GACE,MAAMrB,EAAUzuc,KAAK0uc,aACfxrc,EAAOurc,EAAQvrc,OAASurc,EAAQvrc,KAAO,IACvC0qc,EAAQ5tc,KAAK4tc,MACnB,GAAInxK,GAASv5R,GACXlD,KAAK4tc,MA5LX,SAAkC1qc,GAChC,MAAM9C,EAAOnB,OAAOmB,KAAK8C,GACnB6sc,EAAQ,IAAIlvc,MAAMT,EAAKhD,QAC7B,IAAIiD,EAAGqjb,EAAM1ib,EACb,IAAKX,EAAI,EAAGqjb,EAAOtjb,EAAKhD,OAAQiD,EAAIqjb,IAAQrjb,EAC1CW,EAAMZ,EAAKC,GACX0vc,EAAM1vc,GAAK,CACT4hE,EAAGjhE,EACHghE,EAAG9+D,EAAKlC,IAGZ,OAAO+uc,CACT,CAgLmBC,CAAyB9sc,QACjC,GAAI0qc,IAAU1qc,EAAM,CACzB,GAAI0qc,EAAO,CACTnR,GAAoBmR,EAAO5tc,MAC3B,MAAMqzP,EAAOrzP,KAAKwsc,YAClBj+M,GAAY8E,GACZA,EAAK85M,QAAU,EACjB,CACIjqc,GAAQjE,OAAOgxc,aAAa/sc,KD20BJ4N,EC10BF9Q,MD00BLmiB,EC10BDjf,GD20Bdw5b,SACRv6a,EAAMu6a,SAAShsb,UAAU1R,KAAK8R,IAGhC7R,OAAOC,eAAeijB,EAAO,WAAY,CACvCutR,cAAc,EACdC,YAAY,EACZ5yS,MAAO,CACL2T,UAAW,CAACI,MAGhB0rb,GAAYz9b,SAASiC,IACnB,MAAMixR,EAAS,UAAY0yJ,GAAY3jb,GACjCioS,EAAO9mR,EAAMnhB,GACnB/B,OAAOC,eAAeijB,EAAOnhB,EAAK,CAChC0uS,cAAc,EACdC,YAAY,EACZ5yS,KAAAA,GAAe,QAAAioU,EAAA1gU,UAAAlH,OAAN4J,EAAI,IAAAnG,MAAAmkU,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJj+T,EAAIi+T,GAAA3gU,UAAA2gU,GACX,MAAM3jU,EAAM2nS,EAAKjjS,MAAMhG,KAAMgH,GAM7B,OALAmb,EAAMu6a,SAAShsb,UAAU3R,SAASJ,IACF,oBAAnBA,EAAOszR,IAChBtzR,EAAOszR,MAAWjrR,EACpB,IAEK1F,CACT,GACA,MCn2BAtB,KAAKmuc,UAAY,GACjBnuc,KAAK4tc,MAAQ1qc,CACf,CDs0BJ,IAA2Bif,EAAOrR,CCr0BhC,CACAy9b,WAAAA,GACE,MAAMl7M,EAAOrzP,KAAKwsc,YAClBxsc,KAAK8vc,aACD9vc,KAAKkwc,qBACP78M,EAAKo7M,QAAU,IAAIzuc,KAAKkwc,mBAE5B,CACAC,qBAAAA,CAAsBC,GACpB,MAAM/8M,EAAOrzP,KAAKwsc,YACZiC,EAAUzuc,KAAK0uc,aACrB,IAAI2B,GAAe,EACnBrwc,KAAK8vc,aACL,MAAMQ,EAAaj9M,EAAKi7M,SACxBj7M,EAAKi7M,SAAW1C,GAAUv4M,EAAK+4M,OAAQ/4M,GACnCA,EAAK4nC,QAAUwzK,EAAQxzK,QACzBo1K,GAAe,EACf9hN,GAAY8E,GACZA,EAAK4nC,MAAQwzK,EAAQxzK,OAEvBj7R,KAAKuwc,gBAAgBH,IACjBC,GAAgBC,IAAej9M,EAAKi7M,WACtC/B,GAAavsc,KAAMqzP,EAAK85M,QAE5B,CACAzC,SAAAA,GACE,MAAMjkX,EAASzmF,KAAKwrE,MAAMib,OACpB+pX,EAAY/pX,EAAOgqX,iBAAiBzwc,KAAK0tc,OACzCxyH,EAASz0P,EAAOiqX,gBAAgB1wc,KAAK0uc,aAAc8B,GAAW,GACpExwc,KAAK6qB,QAAU47D,EAAOkqX,eAAez1H,EAAQl7U,KAAKwZ,cAClDxZ,KAAK2tc,SAAW3tc,KAAK6qB,QAAQsra,QAC7Bn2b,KAAKwtc,gBAAkB,CAAC,CAC1B,CACArpc,KAAAA,CAAMinC,EAAO3qC,GACX,MAAO+rc,YAAan5M,EAAMu6M,MAAO1qc,GAAQlD,MACnC,OAAC0sc,EAAM,SAAE4B,GAAYj7M,EACrBs5M,EAAQD,EAAO/+G,KACrB,IAEIttV,EAAG2oc,EAAKlqK,EAFR9kF,EAAmB,IAAV5uK,GAAe3qC,IAAUyC,EAAK9F,QAAgBi2P,EAAKu9M,QAC5DrsS,EAAOn5H,EAAQ,GAAKioN,EAAK85M,QAAQ/ha,EAAQ,GAE7C,IAAsB,IAAlBprC,KAAK2tc,SACPt6M,EAAK85M,QAAUjqc,EACfmwP,EAAKu9M,SAAU,EACf9xK,EAAS57R,MACJ,CAEH47R,EADEh+R,GAAQoC,EAAKkoC,IACNprC,KAAK6wc,eAAex9M,EAAMnwP,EAAMkoC,EAAO3qC,GACvCg8R,GAASv5R,EAAKkoC,IACdprC,KAAK8wc,gBAAgBz9M,EAAMnwP,EAAMkoC,EAAO3qC,GAExCT,KAAK+wc,mBAAmB19M,EAAMnwP,EAAMkoC,EAAO3qC,GAEtD,MAAMuwc,EAA6BA,IAAqB,OAAfhI,EAAI2D,IAAoBpoS,GAAQykS,EAAI2D,GAASpoS,EAAKooS,GAC3F,IAAKtsc,EAAI,EAAGA,EAAII,IAASJ,EACvBgzP,EAAK85M,QAAQ9sc,EAAI+qC,GAAS49Z,EAAMlqK,EAAOz+R,GACnC25M,IACEg3P,MACFh3P,GAAS,GAEXz1C,EAAOykS,GAGX31M,EAAKu9M,QAAU52P,CACjB,CACIs0P,GACF/B,GAAavsc,KAAM8+R,EAEvB,CACAiyK,kBAAAA,CAAmB19M,EAAMnwP,EAAMkoC,EAAO3qC,GACpC,MAAM,OAACisc,EAAM,OAAEN,GAAU/4M,EACnBs5M,EAAQD,EAAO/+G,KACfi/G,EAAQR,EAAOz+G,KACfsjH,EAASvE,EAAOwE,YAChBC,EAAczE,IAAWN,EACzBttK,EAAS,IAAIj+R,MAAMJ,GACzB,IAAIJ,EAAGqjb,EAAM3ib,EACb,IAAKV,EAAI,EAAGqjb,EAAOjjb,EAAOJ,EAAIqjb,IAAQrjb,EACpCU,EAAQV,EAAI+qC,EACZ0zP,EAAOz+R,GAAK,CACV,CAACssc,GAAQwE,GAAezE,EAAOvoc,MAAM8sc,EAAOlwc,GAAQA,GACpD,CAAC6rc,GAAQR,EAAOjoc,MAAMjB,EAAKnC,GAAQA,IAGvC,OAAO+9R,CACT,CACA+xK,cAAAA,CAAex9M,EAAMnwP,EAAMkoC,EAAO3qC,GAChC,MAAM,OAAC6uc,EAAM,OAAEE,GAAUn8M,EACnByrC,EAAS,IAAIj+R,MAAMJ,GACzB,IAAIJ,EAAGqjb,EAAM3ib,EAAO4X,EACpB,IAAKtY,EAAI,EAAGqjb,EAAOjjb,EAAOJ,EAAIqjb,IAAQrjb,EACpCU,EAAQV,EAAI+qC,EACZzyB,EAAOzV,EAAKnC,GACZ+9R,EAAOz+R,GAAK,CACV4hE,EAAGqtY,EAAOnrc,MAAMwU,EAAK,GAAI5X,GACzBihE,EAAGwtY,EAAOrrc,MAAMwU,EAAK,GAAI5X,IAG7B,OAAO+9R,CACT,CACAgyK,eAAAA,CAAgBz9M,EAAMnwP,EAAMkoC,EAAO3qC,GACjC,MAAM,OAAC6uc,EAAM,OAAEE,GAAUn8M,GACnB,SAAC+9M,EAAW,IAAG,SAAEC,EAAW,KAAOrxc,KAAK2tc,SACxC7uK,EAAS,IAAIj+R,MAAMJ,GACzB,IAAIJ,EAAGqjb,EAAM3ib,EAAO4X,EACpB,IAAKtY,EAAI,EAAGqjb,EAAOjjb,EAAOJ,EAAIqjb,IAAQrjb,EACpCU,EAAQV,EAAI+qC,EACZzyB,EAAOzV,EAAKnC,GACZ+9R,EAAOz+R,GAAK,CACV4hE,EAAGqtY,EAAOnrc,MAAMugb,GAAiB/ra,EAAMy4b,GAAWrwc,GAClDihE,EAAGwtY,EAAOrrc,MAAMugb,GAAiB/ra,EAAM04b,GAAWtwc,IAGtD,OAAO+9R,CACT,CACAwyK,SAAAA,CAAUvwc,GACR,OAAOf,KAAKwsc,YAAYW,QAAQpsc,EAClC,CACAwwc,cAAAA,CAAexwc,GACb,OAAOf,KAAKwsc,YAAYtpc,KAAKnC,EAC/B,CACAyqc,UAAAA,CAAWprZ,EAAO0+O,EAAQysB,GACxB,MAAM//O,EAAQxrE,KAAKwrE,MACb6nL,EAAOrzP,KAAKwsc,YACZzvc,EAAQ+hS,EAAO1+O,EAAMutS,MAK3B,OAAO69G,GAJO,CACZprc,KAAMgrc,GAAwB5/X,GAAO,GACrC9sE,OAAQogS,EAAO2tK,QAAQrsZ,EAAMutS,OAEN5wV,EAAOs2P,EAAKtyP,MAAO,CAACwqT,QAC/C,CACAimJ,qBAAAA,CAAsB/kT,EAAOrsG,EAAO0+O,EAAQ7D,GAC1C,MAAM6gH,EAAch9G,EAAO1+O,EAAMutS,MACjC,IAAI5wV,EAAwB,OAAhB++Y,EAAuBryV,IAAMqyV,EACzC,MAAMp9Y,EAASu8R,GAAS6D,EAAO2tK,QAAQrsZ,EAAMutS,MACzC1yD,GAASv8R,IACXu8R,EAAMv8R,OAASA,EACf3B,EAAQyuc,GAAWvwK,EAAO6gH,EAAa97Y,KAAKwsc,YAAYzrc,QAE1D0rJ,EAAMltI,IAAML,KAAKK,IAAIktI,EAAMltI,IAAKxiB,GAChC0vJ,EAAMttI,IAAMD,KAAKC,IAAIstI,EAAMttI,IAAKpiB,EAClC,CACA00c,SAAAA,CAAUrxZ,EAAOsxZ,GACf,MAAMr+M,EAAOrzP,KAAKwsc,YACZW,EAAU95M,EAAK85M,QACfnzP,EAASq5C,EAAKu9M,SAAWxwZ,IAAUizM,EAAKq5M,OACxChpB,EAAOypB,EAAQ/vc,OACfu0c,EAAa3xc,KAAK4vc,eAAexvZ,GACjC66O,EArPU22K,EAACF,EAAUr+M,EAAM7nL,IAAUkmY,IAAar+M,EAAK7hD,QAAU6hD,EAAKi7M,UAC3E,CAACluc,KAAMgrc,GAAwB5/X,GAAO,GAAO9sE,OAAQ,MAoPxCkzc,CAAYF,EAAUr+M,EAAMrzP,KAAKwrE,OACzCihF,EAAQ,CAACltI,IAAK7S,OAAOu4a,kBAAmB9la,IAAKzS,OAAOmlc,oBACnDtyb,IAAKuyb,EAAU3yb,IAAK4yb,GA3U/B,SAAuB3xZ,GACrB,MAAM,IAAC7gC,EAAG,IAAEJ,EAAG,WAAE6yb,EAAU,WAAEC,GAAc7xZ,EAAM8xZ,gBACjD,MAAO,CACL3yb,IAAKyyb,EAAazyb,EAAM7S,OAAOmlc,kBAC/B1yb,IAAK8yb,EAAa9yb,EAAMzS,OAAOu4a,kBAEnC,CAqU2CitB,CAAcP,GACrD,IAAItxc,EAAGy+R,EACP,SAAS8uD,IACP9uD,EAASquK,EAAQ9sc,GACjB,MAAMsrc,EAAa7sK,EAAO6yK,EAAWhkH,MACrC,OAAQs1F,GAAenkJ,EAAO1+O,EAAMutS,QAAUmkH,EAAWnG,GAAcoG,EAAWpG,CACpF,CACA,IAAKtrc,EAAI,EAAGA,EAAIqjb,IACV91F,MAGJ5tV,KAAKwxc,sBAAsB/kT,EAAOrsG,EAAO0+O,EAAQ7D,IAC7CjhF,MALkB35M,GASxB,GAAI25M,EACF,IAAK35M,EAAIqjb,EAAO,EAAGrjb,GAAK,IAAKA,EAC3B,IAAIutV,IAAJ,CAGA5tV,KAAKwxc,sBAAsB/kT,EAAOrsG,EAAO0+O,EAAQ7D,GACjD,KAFA,CAKJ,OAAOxuI,CACT,CACA0lT,kBAAAA,CAAmB/xZ,GACjB,MAAM0+O,EAAS9+R,KAAKwsc,YAAYW,QAC1Bzuc,EAAS,GACf,IAAI2B,EAAGqjb,EAAM3mb,EACb,IAAKsD,EAAI,EAAGqjb,EAAO5kJ,EAAO1hS,OAAQiD,EAAIqjb,IAAQrjb,EAC5CtD,EAAQ+hS,EAAOz+R,GAAG+/C,EAAMutS,MACpBs1F,GAAelmb,IACjB2B,EAAOM,KAAKjC,GAGhB,OAAO2B,CACT,CACA0zc,cAAAA,GACE,OAAO,CACT,CACAC,gBAAAA,CAAiBtxc,GACf,MAAMsyP,EAAOrzP,KAAKwsc,YACZE,EAASr5M,EAAKq5M,OACdN,EAAS/4M,EAAK+4M,OACdttK,EAAS9+R,KAAKsxc,UAAUvwc,GAC9B,MAAO,CACL6iE,MAAO8oY,EAAS,GAAKA,EAAO4F,iBAAiBxzK,EAAO4tK,EAAO/+G,OAAS,GACpE5wV,MAAOqvc,EAAS,GAAKA,EAAOkG,iBAAiBxzK,EAAOstK,EAAOz+G,OAAS,GAExE,CACA26G,OAAAA,CAAQ/8I,GACN,MAAMl4D,EAAOrzP,KAAKwsc,YAClBxsc,KAAK6mG,OAAO0kN,GAAQ,WACpBl4D,EAAKk/M,MAvcT,SAAgBx1c,GACd,IAAIk0B,EAAGjiB,EAAGzQ,EAAG44O,EASb,OARIslD,GAAS1/R,IACXk0B,EAAIl0B,EAAM4/D,IACV3tD,EAAIjS,EAAM0C,MACVlB,EAAIxB,EAAMg5G,OACVohI,EAAIp6O,EAAMyC,MAEVyxB,EAAIjiB,EAAIzQ,EAAI44O,EAAIp6O,EAEX,CACL4/D,IAAK1rC,EACLxxB,MAAOuP,EACP+mG,OAAQx3G,EACRiB,KAAM23O,EACNp8K,UAAoB,IAAVh+D,EAEd,CAsbiBy1c,CAAOrvB,GAAenjb,KAAK6qB,QAAQyua,KApdpD,SAAqBgW,EAAQE,EAAQrE,GACnC,IAAwB,IAApBA,EACF,OAAO,EAET,MAAMlpY,EAAIipY,GAAUoE,EAAQnE,GACtBnpY,EAAIkpY,GAAUsE,EAAQrE,GAC5B,MAAO,CACLxuY,IAAKqF,EAAE2+E,IACPlhJ,MAAOwiE,EAAE0+E,IACT5qC,OAAQ/zC,EAAE52B,MACV5rC,KAAMyiE,EAAE72B,MAEZ,CAwc0Dqna,CAAYp/M,EAAKi8M,OAAQj8M,EAAKm8M,OAAQxvc,KAAKoyc,mBACnG,CACAvrW,MAAAA,CAAO0kN,GAAO,CACdi9I,IAAAA,GACE,MAAM7S,EAAM31b,KAAKutc,KACX/hY,EAAQxrE,KAAKwrE,MACb6nL,EAAOrzP,KAAKwsc,YACZ1kT,EAAWurG,EAAKnwP,MAAQ,GACxB8lS,EAAOx9N,EAAMknY,UACbx1b,EAAS,GACTkuB,EAAQprC,KAAK+tc,YAAc,EAC3Bttc,EAAQT,KAAKguc,YAAelmT,EAAS1qJ,OAASguC,EAC9CmrZ,EAA0Bv2b,KAAK6qB,QAAQ0ra,wBAC7C,IAAIl2b,EAIJ,IAHIgzP,EAAKo7M,SACPp7M,EAAKo7M,QAAQjG,KAAK7S,EAAK3sJ,EAAM59P,EAAO3qC,GAEjCJ,EAAI+qC,EAAO/qC,EAAI+qC,EAAQ3qC,IAASJ,EAAG,CACtC,MAAM8pB,EAAU29H,EAASznJ,GACrB8pB,EAAQqnL,SAGRrnL,EAAQjN,QAAUq5a,EACpBr5a,EAAOle,KAAKmrB,GAEZA,EAAQq+a,KAAK7S,EAAK3sJ,GAEtB,CACA,IAAK3oS,EAAI,EAAGA,EAAI6c,EAAO9f,SAAUiD,EAC/B6c,EAAO7c,GAAGmoc,KAAK7S,EAAK3sJ,EAExB,CACAm7J,QAAAA,CAASpjc,EAAOmc,GACd,MAAMquS,EAAOruS,EAAS,SAAW,UACjC,YAAiB1f,IAAVuD,GAAuBf,KAAKwsc,YAAYiC,QAC3Czuc,KAAK2yc,6BAA6BpnJ,GAClCvrT,KAAK4yc,0BAA0B7xc,GAAS,EAAGwqT,EACjD,CACA/xS,UAAAA,CAAWzY,EAAOmc,EAAQquS,GACxB,MAAMkjJ,EAAUzuc,KAAK0uc,aACrB,IAAIznc,EACJ,GAAIlG,GAAS,GAAKA,EAAQf,KAAKwsc,YAAYtpc,KAAK9F,OAAQ,CACtD,MAAM+sB,EAAUnqB,KAAKwsc,YAAYtpc,KAAKnC,GACtCkG,EAAUkjB,EAAQ+jb,WACf/jb,EAAQ+jb,SAvXjB,SAA2B13b,EAAQzV,EAAOopB,GACxC,OAAO+zP,GAAc1nQ,EAAQ,CAC3B0G,QAAQ,EACR21b,UAAW9xc,EACX+9R,YAAQthS,EACR8pH,SAAK9pH,EACL2sB,UACAppB,QACAwqT,KAAM,UACNj6S,KAAM,QAEV,CA4W4Bwhc,CAAkB9yc,KAAKwZ,aAAczY,EAAOopB,IAClEljB,EAAQ63R,OAAS9+R,KAAKsxc,UAAUvwc,GAChCkG,EAAQqgH,IAAMmnV,EAAQvrc,KAAKnC,GAC3BkG,EAAQlG,MAAQkG,EAAQ4rc,UAAY9xc,CACtC,MACEkG,EAAUjH,KAAKkuc,WACZluc,KAAKkuc,SAzYd,SAA8B13b,EAAQzV,GACpC,OAAOm9Q,GAAc1nQ,EACnB,CACE0G,QAAQ,EACRuxb,aAASjxc,EACTqmb,aAAc9ib,EACdA,QACAwqT,KAAM,UACNj6S,KAAM,WAGZ,CA8XyByhc,CAAqB/yc,KAAKwrE,MAAMhyD,aAAcxZ,KAAKe,QACtEkG,EAAQwnc,QAAUA,EAClBxnc,EAAQlG,MAAQkG,EAAQ48a,aAAe7jb,KAAKe,MAI9C,OAFAkG,EAAQiW,SAAWA,EACnBjW,EAAQskT,KAAOA,EACRtkT,CACT,CACA0rc,4BAAAA,CAA6BpnJ,GAC3B,OAAOvrT,KAAKgzc,uBAAuBhzc,KAAKkwc,mBAAmBv9Z,GAAI44Q,EACjE,CACAqnJ,yBAAAA,CAA0B7xc,EAAOwqT,GAC/B,OAAOvrT,KAAKgzc,uBAAuBhzc,KAAKizc,gBAAgBtga,GAAI44Q,EAAMxqT,EACpE,CACAiyc,sBAAAA,CAAuB7vK,GAAsC,IAAzBooB,EAAIjnT,UAAAlH,OAAA,QAAAI,IAAA8G,UAAA,GAAAA,UAAA,GAAG,UAAWvD,EAAKuD,UAAAlH,OAAA,EAAAkH,UAAA,QAAA9G,EACzD,MAAM0f,EAAkB,WAATquS,EACTub,EAAQ9mU,KAAKwtc,gBACb/oE,EAAWthG,EAAc,IAAMooB,EAC/B3pJ,EAASklK,EAAM29D,GACfyuE,EAAUlzc,KAAKiuc,qBAAuBrpB,GAAQ7jb,GACpD,GAAI6gK,EACF,OAAOyrS,GAAiBzrS,EAAQsxS,GAElC,MAAMzsX,EAASzmF,KAAKwrE,MAAMib,OACpB+pX,EAAY/pX,EAAO0sX,wBAAwBnzc,KAAK0tc,MAAOvqK,GACvDxpO,EAAWz8C,EAAS,CAAC,GAADlS,OAAIm4R,EAAW,SAAS,QAASA,EAAa,IAAM,CAACA,EAAa,IACtF+3C,EAASz0P,EAAOiqX,gBAAgB1wc,KAAK0uc,aAAc8B,GACnDr8R,EAAQl1K,OAAOmB,KAAKu4R,GAAS7wI,SAASq7I,IAEtCzkS,EAAS+nF,EAAO2sX,oBAAoBl4H,EAAQ/mK,GADlCltK,IAAMjH,KAAKwZ,WAAWzY,EAAOmc,IACqBy8C,GAKlE,OAJIj7D,EAAOmsc,UACTnsc,EAAOmsc,QAAUqI,EACjBpsI,EAAM29D,GAAYxlY,OAAOI,OAAOguc,GAAiB3uc,EAAQw0c,KAEpDx0c,CACT,CACA20c,kBAAAA,CAAmBtyc,EAAO07J,EAAYv/I,GACpC,MAAMsuD,EAAQxrE,KAAKwrE,MACbs7P,EAAQ9mU,KAAKwtc,gBACb/oE,EAAW,aAAHz5X,OAAgByxJ,GACxBmF,EAASklK,EAAM29D,GACrB,GAAI7iO,EACF,OAAOA,EAET,IAAI/2I,EACJ,IAAgC,IAA5B2gD,EAAM3gD,QAAQisR,UAAqB,CACrC,MAAMrwN,EAASzmF,KAAKwrE,MAAMib,OACpB+pX,EAAY/pX,EAAO6sX,0BAA0Btzc,KAAK0tc,MAAOjxS,GACzDy+K,EAASz0P,EAAOiqX,gBAAgB1wc,KAAK0uc,aAAc8B,GACzD3lb,EAAU47D,EAAOkqX,eAAez1H,EAAQl7U,KAAKwZ,WAAWzY,EAAOmc,EAAQu/I,GACzE,CACA,MAAM8tS,EAAa,IAAIC,GAAWh/X,EAAO3gD,GAAWA,EAAQ0/a,YAI5D,OAHI1/a,GAAWA,EAAQiya,aACrBh2H,EAAM29D,GAAYxlY,OAAOI,OAAOkrc,IAE3BA,CACT,CACAgJ,gBAAAA,CAAiB1ob,GACf,GAAKA,EAAQggb,QAGb,OAAO7qc,KAAK8tc,iBAAmB9tc,KAAK8tc,eAAiB7uc,OAAO0wB,OAAO,CAAC,EAAG9E,GACzE,CACA2ob,cAAAA,CAAejoJ,EAAMkoJ,GACnB,OAAQA,GAAiBrG,GAAmB7hJ,IAASvrT,KAAKwrE,MAAMkoY,mBAClE,CACAC,aAAAA,CAAcxpb,EAASppB,EAAO6C,EAAY2nT,GACpC6hJ,GAAmB7hJ,GACrBtsT,OAAO0wB,OAAOxF,EAASvmB,GAEvB5D,KAAKqzc,mBAAmBtyc,EAAOwqT,GAAM1kN,OAAO18E,EAASvmB,EAEzD,CACAgwc,mBAAAA,CAAoBH,EAAeloJ,EAAMwpC,GACnC0+G,IAAkBrG,GAAmB7hJ,IACvCvrT,KAAKqzc,wBAAmB71c,EAAW+tT,GAAM1kN,OAAO4sW,EAAe1+G,EAEnE,CACA8+G,SAAAA,CAAU1pb,EAASppB,EAAOwqT,EAAMruS,GAC9BiN,EAAQjN,OAASA,EACjB,MAAM2N,EAAU7qB,KAAKmkc,SAASpjc,EAAOmc,GACrCld,KAAKqzc,mBAAmBtyc,EAAOwqT,EAAMruS,GAAQ2pF,OAAO18E,EAAS,CAC3DU,SAAW3N,GAAUld,KAAKuzc,iBAAiB1ob,IAAaA,GAE5D,CACAipb,gBAAAA,CAAiB3pb,EAAS05Z,EAAc9ib,GACtCf,KAAK6zc,UAAU1pb,EAASppB,EAAO,UAAU,EAC3C,CACAgzc,aAAAA,CAAc5pb,EAAS05Z,EAAc9ib,GACnCf,KAAK6zc,UAAU1pb,EAASppB,EAAO,UAAU,EAC3C,CACAizc,wBAAAA,GACE,MAAM7pb,EAAUnqB,KAAKwsc,YAAYiC,QAC7Btkb,GACFnqB,KAAK6zc,UAAU1pb,OAAS3sB,EAAW,UAAU,EAEjD,CACAy2c,qBAAAA,GACE,MAAM9pb,EAAUnqB,KAAKwsc,YAAYiC,QAC7Btkb,GACFnqB,KAAK6zc,UAAU1pb,OAAS3sB,EAAW,UAAU,EAEjD,CACA+yc,eAAAA,CAAgBH,GACd,MAAMltc,EAAOlD,KAAK4tc,MACZ9lT,EAAW9nJ,KAAKwsc,YAAYtpc,KAClC,IAAK,MAAO+uR,EAAQiiL,EAAMC,KAASn0c,KAAKmuc,UACtCnuc,KAAKiyR,GAAQiiL,EAAMC,GAErBn0c,KAAKmuc,UAAY,GACjB,MAAMiG,EAAUtsT,EAAS1qJ,OACnBi3c,EAAUnxc,EAAK9F,OACfqD,EAAQye,KAAKK,IAAI80b,EAASD,GAC5B3zc,GACFT,KAAKmE,MAAM,EAAG1D,GAEZ4zc,EAAUD,EACZp0c,KAAKs0c,gBAAgBF,EAASC,EAAUD,EAAShE,GACxCiE,EAAUD,GACnBp0c,KAAKu0c,gBAAgBF,EAASD,EAAUC,EAE5C,CACAC,eAAAA,CAAgBlpa,EAAO3qC,GAAgC,IAAzB2vc,IAAgB9rc,UAAAlH,OAAA,QAAAI,IAAA8G,UAAA,KAAAA,UAAA,GAC5C,MAAM+uP,EAAOrzP,KAAKwsc,YACZtpc,EAAOmwP,EAAKnwP,KACZy9I,EAAMv1G,EAAQ3qC,EACpB,IAAIJ,EACJ,MAAM4lL,EAAQnkK,IAEZ,IADAA,EAAI1kB,QAAUqD,EACTJ,EAAIyhB,EAAI1kB,OAAS,EAAGiD,GAAKsgJ,EAAKtgJ,IACjCyhB,EAAIzhB,GAAKyhB,EAAIzhB,EAAII,EACnB,EAGF,IADAwlL,EAAK/iL,GACA7C,EAAI+qC,EAAO/qC,EAAIsgJ,IAAOtgJ,EACzB6C,EAAK7C,GAAK,IAAIL,KAAKizc,gBAEjBjzc,KAAK2tc,UACP1nR,EAAKotE,EAAK85M,SAEZntc,KAAKmE,MAAMinC,EAAO3qC,GACd2vc,GACFpwc,KAAKw0c,eAAetxc,EAAMkoC,EAAO3qC,EAAO,QAE5C,CACA+zc,cAAAA,CAAerqb,EAASihB,EAAO3qC,EAAO8qT,GAAO,CAC7CgpJ,eAAAA,CAAgBnpa,EAAO3qC,GACrB,MAAM4yP,EAAOrzP,KAAKwsc,YAClB,GAAIxsc,KAAK2tc,SAAU,CACjB,MAAM8G,EAAUphN,EAAK85M,QAAQ9qb,OAAO+oB,EAAO3qC,GACvC4yP,EAAKi7M,UACP//M,GAAY8E,EAAMohN,EAEtB,CACAphN,EAAKnwP,KAAKmf,OAAO+oB,EAAO3qC,EAC1B,CACAi0c,KAAAA,CAAM1tc,GACJ,GAAIhH,KAAK2tc,SACP3tc,KAAKmuc,UAAUnvc,KAAKgI,OACf,CACL,MAAOirR,EAAQiiL,EAAMC,GAAQntc,EAC7BhH,KAAKiyR,GAAQiiL,EAAMC,EACrB,CACAn0c,KAAKwrE,MAAMmpY,aAAa31c,KAAK,CAACgB,KAAKe,SAAUiG,GAC/C,CACA4tc,WAAAA,GACE,MAAMn0c,EAAQ6D,UAAUlH,OACxB4C,KAAK00c,MAAM,CAAC,kBAAmB10c,KAAK0uc,aAAaxrc,KAAK9F,OAASqD,EAAOA,GACxE,CACAo0c,UAAAA,GACE70c,KAAK00c,MAAM,CAAC,kBAAmB10c,KAAKwsc,YAAYtpc,KAAK9F,OAAS,EAAG,GACnE,CACA03c,YAAAA,GACE90c,KAAK00c,MAAM,CAAC,kBAAmB,EAAG,GACpC,CACAK,aAAAA,CAAc3pa,EAAO3qC,GACfA,GACFT,KAAK00c,MAAM,CAAC,kBAAmBtpa,EAAO3qC,IAExC,MAAMu0c,EAAW1wc,UAAUlH,OAAS,EAChC43c,GACFh1c,KAAK00c,MAAM,CAAC,kBAAmBtpa,EAAO4pa,GAE1C,CACAC,cAAAA,GACEj1c,KAAK00c,MAAM,CAAC,kBAAmB,EAAGpwc,UAAUlH,QAC9C,EAiBF,SAAS83c,GAAqB7hN,GAC5B,MAAMjzM,EAAQizM,EAAKq5M,OACbhuc,EAbR,SAA2B0hD,EAAO9uC,GAChC,IAAK8uC,EAAM+0Z,OAAOC,KAAM,CACtB,MAAMC,EAAej1Z,EAAMksZ,wBAAwBh7b,GACnD,IAAI5S,EAAS,GACb,IAAK,IAAI2B,EAAI,EAAGqjb,EAAO2xB,EAAaj4c,OAAQiD,EAAIqjb,EAAMrjb,IACpD3B,EAASA,EAAOsM,OAAOqqc,EAAah1c,GAAG8oO,WAAWgpO,mBAAmB/xZ,IAEvEA,EAAM+0Z,OAAOC,KAAOzY,GAAaj+b,EAAO6W,MAAK,CAACjX,EAAGC,IAAMD,EAAIC,IAC7D,CACA,OAAO6hD,EAAM+0Z,OAAOC,IACtB,CAGiBE,CAAkBl1Z,EAAOizM,EAAK/hP,MAC7C,IACIjR,EAAGqjb,EAAM6xB,EAAMhxS,EADfhlJ,EAAM6gC,EAAMo1Z,QAEhB,MAAMC,EAAmBA,KACV,QAATF,IAA4B,QAAVA,IAGlB3wB,GAAQrgR,KACVhlJ,EAAML,KAAKK,IAAIA,EAAKL,KAAK+9C,IAAIs4Y,EAAOhxS,IAAShlJ,IAE/CglJ,EAAOgxS,EAAI,EAEb,IAAKl1c,EAAI,EAAGqjb,EAAOhlb,EAAOtB,OAAQiD,EAAIqjb,IAAQrjb,EAC5Ck1c,EAAOn1Z,EAAMs1Z,iBAAiBh3c,EAAO2B,IACrCo1c,IAGF,IADAlxS,OAAO/mK,EACF6C,EAAI,EAAGqjb,EAAOtjY,EAAMu1Z,MAAMv4c,OAAQiD,EAAIqjb,IAAQrjb,EACjDk1c,EAAOn1Z,EAAMw1Z,gBAAgBv1c,GAC7Bo1c,IAEF,OAAOl2b,CACT,CA0DA,SAASgjF,GAAWs6O,EAAOlkU,EAAMyzb,EAAQ/rc,GAMvC,OALIS,GAAQ+7U,GAtBd,SAAuBA,EAAOlkU,EAAMyzb,EAAQ/rc,GAC1C,MAAMsjG,EAAayoW,EAAOjoc,MAAM04U,EAAM,GAAIx8U,GACpCw1c,EAAWzJ,EAAOjoc,MAAM04U,EAAM,GAAIx8U,GAClCkf,EAAML,KAAKK,IAAIokF,EAAYkyW,GAC3B12b,EAAMD,KAAKC,IAAIwkF,EAAYkyW,GACjC,IAAIC,EAAWv2b,EACXw2b,EAAS52b,EACTD,KAAK+9C,IAAI19C,GAAOL,KAAK+9C,IAAI99C,KAC3B22b,EAAW32b,EACX42b,EAASx2b,GAEX5G,EAAKyzb,EAAOz+G,MAAQooH,EACpBp9b,EAAKq9b,QAAU,CACbF,WACAC,SACA3qa,MAAOu4D,EACPg9C,IAAKk1T,EACLt2b,MACAJ,MAEJ,CAGI82b,CAAcp5H,EAAOlkU,EAAMyzb,EAAQ/rc,GAEnCsY,EAAKyzb,EAAOz+G,MAAQy+G,EAAOjoc,MAAM04U,EAAOx8U,GAEnCsY,CACT,CACA,SAASu9b,GAAsB7iN,EAAMnwP,EAAMkoC,EAAO3qC,GAChD,MAAMisc,EAASr5M,EAAKq5M,OACdN,EAAS/4M,EAAK+4M,OACd6E,EAASvE,EAAOwE,YAChBC,EAAczE,IAAWN,EACzBttK,EAAS,GACf,IAAIz+R,EAAGqjb,EAAM/qa,EAAMkkU,EACnB,IAAKx8U,EAAI+qC,EAAOs4Y,EAAOt4Y,EAAQ3qC,EAAOJ,EAAIqjb,IAAQrjb,EAChDw8U,EAAQ35U,EAAK7C,GACbsY,EAAO,CAAC,EACRA,EAAK+zb,EAAO/+G,MAAQwjH,GAAezE,EAAOvoc,MAAM8sc,EAAO5wc,GAAIA,GAC3Dy+R,EAAO9/R,KAAKujG,GAAWs6O,EAAOlkU,EAAMyzb,EAAQ/rc,IAE9C,OAAOy+R,CACT,CACA,SAASq3K,GAAWC,GAClB,OAAOA,QAA8B54c,IAApB44c,EAAON,eAA4Ct4c,IAAlB44c,EAAOL,MAC3D,CA2BA,SAASM,GAAiBzyc,EAAYinB,EAASowQ,EAAOl6R,GACpD,IAAIu1c,EAAOzrb,EAAQ0rb,cACnB,MAAMj1c,EAAM,CAAC,EACb,IAAKg1c,EAEH,YADA1yc,EAAW2yc,cAAgBj1c,GAG7B,MAAM,MAAC8pC,EAAK,IAAEu1G,EAAG,QAAE/9H,EAAO,IAAE+5C,EAAG,OAAEo5C,GA3BnC,SAAqBnyG,GACnB,IAAIgf,EAASwoB,EAAOu1G,EAAKhkF,EAAKo5C,EAiB9B,OAhBInyG,EAAWkpO,YACblqN,EAAUhf,EAAWqlS,KAAOrlS,EAAWq+D,EACvC72B,EAAQ,OACRu1G,EAAM,UAEN/9H,EAAUhf,EAAWqlS,KAAOrlS,EAAWo+D,EACvC52B,EAAQ,SACRu1G,EAAM,OAEJ/9H,GACF+5C,EAAM,MACNo5C,EAAS,UAETp5C,EAAM,QACNo5C,EAAS,OAEJ,CAAC3qE,QAAOu1G,MAAK/9H,UAAS+5C,MAAKo5C,SACpC,CAQ6CygW,CAAY5yc,GAC1C,WAAT0yc,GAAqBr7K,IACvBr3R,EAAW6yc,oBAAqB,GAC3Bx7K,EAAM+xK,MAAQ,KAAOjsc,EACxBu1c,EAAO35Y,GACGs+N,EAAMgyK,SAAW,KAAOlsc,EAClCu1c,EAAOvgW,GAEPz0G,EAAIo1c,GAAU3gW,EAAQ3qE,EAAOu1G,EAAK/9H,KAAY,EAC9C0zb,EAAO35Y,IAGXr7D,EAAIo1c,GAAUJ,EAAMlra,EAAOu1G,EAAK/9H,KAAY,EAC5Chf,EAAW2yc,cAAgBj1c,CAC7B,CACA,SAASo1c,GAAUJ,EAAMh4c,EAAGC,EAAGqkB,GAS/B,IAAc+zb,EAAM/yB,EAAIgzB,EAFtB,OANIh0b,GAQkBg0b,EAPCr4c,EACrB+3c,EAAOO,GADPP,GAOUK,EAPEL,MAOI1yB,EAPEtlb,GAQCs4c,EAAKD,IAASC,EAAKhzB,EAAK+yB,EAPrBp4c,EAAGD,IAEzBg4c,EAAOO,GAASP,EAAMh4c,EAAGC,GAEpB+3c,CACT,CAIA,SAASO,GAAS5xc,EAAGmmC,EAAOu1G,GAC1B,MAAa,UAAN17I,EAAgBmmC,EAAc,QAANnmC,EAAc07I,EAAM17I,CACrD,CACA,SAAS6xc,GAAiBlzc,EAAUk/T,EAAmBswH,GAAO,IAAxB,cAAC2jB,GAAcj0I,EACnDl/T,EAAWmzc,cAAkC,SAAlBA,EACb,IAAV3jB,EAAc,IAAO,EACrB2jB,CACN,CA9LAzJ,GAAkB30K,SAAW,CAAC,EAC9B20K,GAAkBptc,UAAUgwc,mBAAqB,KACjD5C,GAAkBptc,UAAU+yc,gBAAkB,KA6L9C,MAAM+D,WAAsB1J,GAC1ByD,kBAAAA,CAAmB19M,EAAMnwP,EAAMkoC,EAAO3qC,GACpC,OAAOy1c,GAAsB7iN,EAAMnwP,EAAMkoC,EAAO3qC,EAClD,CACAowc,cAAAA,CAAex9M,EAAMnwP,EAAMkoC,EAAO3qC,GAChC,OAAOy1c,GAAsB7iN,EAAMnwP,EAAMkoC,EAAO3qC,EAClD,CACAqwc,eAAAA,CAAgBz9M,EAAMnwP,EAAMkoC,EAAO3qC,GACjC,MAAM,OAACisc,EAAM,OAAEN,GAAU/4M,GACnB,SAAC+9M,EAAW,IAAG,SAAEC,EAAW,KAAOrxc,KAAK2tc,SACxCsJ,EAA2B,MAAhBvK,EAAO/+G,KAAeyjH,EAAWC,EAC5C6F,EAA2B,MAAhB9K,EAAOz+G,KAAeyjH,EAAWC,EAC5CvyK,EAAS,GACf,IAAIz+R,EAAGqjb,EAAM/qa,EAAMtX,EACnB,IAAKhB,EAAI+qC,EAAOs4Y,EAAOt4Y,EAAQ3qC,EAAOJ,EAAIqjb,IAAQrjb,EAChDgB,EAAM6B,EAAK7C,GACXsY,EAAO,CAAC,EACRA,EAAK+zb,EAAO/+G,MAAQ++G,EAAOvoc,MAAMugb,GAAiBrjb,EAAK41c,GAAW52c,GAClEy+R,EAAO9/R,KAAKujG,GAAWmiV,GAAiBrjb,EAAK61c,GAAWv+b,EAAMyzb,EAAQ/rc,IAExE,OAAOy+R,CACT,CACA0yK,qBAAAA,CAAsB/kT,EAAOrsG,EAAO0+O,EAAQ7D,GAC1C8jE,MAAMyyG,sBAAsB/kT,EAAOrsG,EAAO0+O,EAAQ7D,GAClD,MAAMm7K,EAASt3K,EAAOk3K,QAClBI,GAAUh2Z,IAAUpgD,KAAKwsc,YAAYJ,SACvC3/S,EAAMltI,IAAML,KAAKK,IAAIktI,EAAMltI,IAAK62b,EAAO72b,KACvCktI,EAAMttI,IAAMD,KAAKC,IAAIstI,EAAMttI,IAAKi3b,EAAOj3b,KAE3C,CACAizb,cAAAA,GACE,OAAO,CACT,CACAC,gBAAAA,CAAiBtxc,GACf,MAAMsyP,EAAOrzP,KAAKwsc,aACZ,OAACE,EAAM,OAAEN,GAAU/4M,EACnByrC,EAAS9+R,KAAKsxc,UAAUvwc,GACxBq1c,EAASt3K,EAAOk3K,QAChBj5c,EAAQo5c,GAAWC,GACrB,IAAMA,EAAOhra,MAAQ,KAAOgra,EAAOz1T,IAAM,IACzC,GAAKyrT,EAAOkG,iBAAiBxzK,EAAOstK,EAAOz+G,OAC/C,MAAO,CACL/pR,MAAO,GAAK8oY,EAAO4F,iBAAiBxzK,EAAO4tK,EAAO/+G,OAClD5wV,QAEJ,CACAqxc,UAAAA,GACEpuc,KAAKiuc,qBAAsB,EAC3BlvG,MAAMqvG,aACOpuc,KAAKwsc,YACbvxK,MAAQj7R,KAAK0uc,aAAazzK,KACjC,CACAp0L,MAAAA,CAAO0kN,GACL,MAAMl4D,EAAOrzP,KAAKwsc,YAClBxsc,KAAKw0c,eAAenhN,EAAKnwP,KAAM,EAAGmwP,EAAKnwP,KAAK9F,OAAQmuT,EACtD,CACAipJ,cAAAA,CAAe2C,EAAM/ra,EAAO3qC,EAAO8qT,GACjC,MAAM9mS,EAAiB,UAAT8mS,GACR,MAACxqT,EAAOyrc,aAAa,OAACJ,IAAWpsc,KACjCipS,EAAOmjK,EAAOgL,eACdtqO,EAAas/N,EAAO/qP,eACpBg2P,EAAQr3c,KAAKs3c,YACbC,EAAYv3c,KAAK4yc,0BAA0Bxna,EAAOmgR,GAClDkoJ,EAAgBzzc,KAAKuzc,iBAAiBgE,GACtC/D,EAAiBxzc,KAAKwzc,eAAejoJ,EAAMkoJ,GACjDzzc,KAAK4zc,oBAAoBH,EAAeloJ,EAAMgsJ,GAC9C,IAAK,IAAIl3c,EAAI+qC,EAAO/qC,EAAI+qC,EAAQ3qC,EAAOJ,IAAK,CAC1C,MAAMy+R,EAAS9+R,KAAKsxc,UAAUjxc,GACxBm3c,EAAU/yb,GAASu+Z,GAAclkJ,EAAOstK,EAAOz+G,OAAS,CAAC1kD,OAAM4iC,KAAM5iC,GAAQjpS,KAAKy3c,yBAAyBp3c,GAC3Gq3c,EAAU13c,KAAK23c,yBAAyBt3c,EAAGg3c,GAC3Cp8K,GAAS6D,EAAO2tK,SAAW,CAAC,GAAGL,EAAOz+G,MACtC/pV,EAAa,CACjBkpO,aACAm8D,KAAMuuK,EAAQvuK,KACdwtK,oBAAqBx7K,GAASk7K,GAAWr3K,EAAOk3K,UAAaj1c,IAAUk6R,EAAM+xK,MAAQjsc,IAAUk6R,EAAMgyK,QACrGhrY,EAAG6qK,EAAa0qO,EAAQ3rI,KAAO6rI,EAAQ56P,OACvC96I,EAAG8qK,EAAa4qO,EAAQ56P,OAAS06P,EAAQ3rI,KACzCtzQ,OAAQu0K,EAAa4qO,EAAQ9mc,KAAOsO,KAAK+9C,IAAIu6Y,EAAQ5mc,MACrDmI,MAAO+zN,EAAa5tN,KAAK+9C,IAAIu6Y,EAAQ5mc,MAAQ8mc,EAAQ9mc,MAEnD4ic,IACF5vc,EAAWinB,QAAU4ob,GAAiBzzc,KAAK4yc,0BAA0Bvyc,EAAG82c,EAAK92c,GAAG6c,OAAS,SAAWquS,IAEtG,MAAM1gS,EAAUjnB,EAAWinB,SAAWssb,EAAK92c,GAAGwqB,QAC9Cwrb,GAAiBzyc,EAAYinB,EAASowQ,EAAOl6R,GAC7C+1c,GAAiBlzc,EAAYinB,EAASwsb,EAAMjkB,OAC5Cpzb,KAAK2zc,cAAcwD,EAAK92c,GAAIA,EAAGuD,EAAY2nT,EAC7C,CACF,CACAqsJ,UAAAA,CAAW/1b,EAAMgxb,GACf,MACMnG,EADO1sc,KAAKwsc,YACEE,OACdpB,EAAWoB,EAAOJ,wBAAwBtsc,KAAK0tc,OAC/C7B,EAAUa,EAAO7hb,QAAQghb,QACzBnoB,EAAO4nB,EAASluc,OAChB2uc,EAAS,GACf,IAAI1rc,EAAGsY,EACP,IAAKtY,EAAI,EAAGA,EAAIqjb,IAAQrjb,EAEtB,GADAsY,EAAO2yb,EAASjrc,GACXsY,EAAKwwN,WAAWt+M,QAAQgtb,QAA7B,CAGA,GAAyB,qBAAdhF,EAA2B,CACpC,MAAM/sc,EAAM6S,EAAKwwN,WAAWmoO,UAAUuB,GACpCl6b,EAAKwwN,WAAWqjO,YAAYJ,OAAOz+G,MAErC,GAAIq1F,GAAcl9a,IAAQrI,MAAMqI,GAC9B,QAEJ,CAKA,KAJgB,IAAZ+lc,IAAqD,IAAhCE,EAAOxqc,QAAQoX,EAAKsiR,aAClCz9R,IAAZquc,QAAwCruc,IAAfmb,EAAKsiR,QAC3B8wK,EAAO/sc,KAAK2Z,EAAKsiR,OAEftiR,EAAK5X,QAAU8gB,EACjB,KAdF,CAoBF,OAHKkqb,EAAO3uc,QACV2uc,EAAO/sc,UAAKxB,GAEPuuc,CACT,CACA+L,cAAAA,CAAe/2c,GACb,OAAOf,KAAK43c,gBAAWp6c,EAAWuD,GAAO3D,MAC3C,CACA26c,cAAAA,CAAel0B,EAAcp+a,EAAMotc,GACjC,MAAM9G,EAAS/rc,KAAK43c,WAAW/zB,EAAcgvB,GACvC9xc,OAAkBvD,IAATiI,EACXsmc,EAAOxqc,QAAQkE,IACd,EACL,OAAmB,IAAX1E,EACJgrc,EAAO3uc,OAAS,EAChB2D,CACN,CACAu2c,SAAAA,GACE,MAAMj4K,EAAOr/R,KAAK6qB,QACZwoO,EAAOrzP,KAAKwsc,YACZE,EAASr5M,EAAKq5M,OACd/uT,EAAS,GACf,IAAIt9I,EAAGqjb,EACP,IAAKrjb,EAAI,EAAGqjb,EAAOrwL,EAAKnwP,KAAK9F,OAAQiD,EAAIqjb,IAAQrjb,EAC/Cs9I,EAAO3+I,KAAK0tc,EAAOgJ,iBAAiB11c,KAAKsxc,UAAUjxc,GAAGqsc,EAAO/+G,MAAOttV,IAEtE,MAAM23c,EAAe34K,EAAK24K,aAE1B,MAAO,CACLz4b,IAFUy4b,GAAgB9C,GAAqB7hN,GAG/C11G,SACAvyG,MAAOsha,EAAOuL,YACdt3T,IAAK+rT,EAAOwL,UACZC,WAAYn4c,KAAK83c,iBACjB13Z,MAAOssZ,EACPmL,QAASx4K,EAAKw4K,QACdzkB,MAAO4kB,EAAe,EAAI34K,EAAK+4K,mBAAqB/4K,EAAKg5K,cAE7D,CACAZ,wBAAAA,CAAyB12c,GACvB,MAAOyrc,aAAa,OAACJ,EAAM,SAAEkC,GAAWzjb,SAAUo+Q,KAAMqvK,EAAS,aAAEC,IAAiBv4c,KAC9Ew4c,EAAaF,GAAa,EAC1Bx5K,EAAS9+R,KAAKsxc,UAAUvwc,GACxBq1c,EAASt3K,EAAOk3K,QAChB/5R,EAAWk6R,GAAWC,GAC5B,IAGIvqI,EAAMj7T,EAHN7T,EAAQ+hS,EAAOstK,EAAOz+G,MACtBviT,EAAQ,EACRhuC,EAASkxc,EAAWtuc,KAAKwrc,WAAWY,EAAQttK,EAAQwvK,GAAYvxc,EAEhEK,IAAWL,IACbquC,EAAQhuC,EAASL,EACjBK,EAASL,GAEPk/K,IACFl/K,EAAQq5c,EAAON,SACf14c,EAASg5c,EAAOL,OAASK,EAAON,SAClB,IAAV/4c,GAAeg3X,GAAKh3X,KAAWg3X,GAAKqiF,EAAOL,UAC7C3qa,EAAQ,GAEVA,GAASruC,GAEX,MAAM4mG,EAAcq/U,GAAcs1B,IAAer8R,EAAuB7wI,EAAZkta,EAC5D,IAAIrvK,EAAOmjK,EAAOsJ,iBAAiB/xW,GAcnC,GAZEkoO,EADE7rU,KAAKwrE,MAAMitY,kBAAkB13c,GACxBqrc,EAAOsJ,iBAAiBtqa,EAAQhuC,GAEhC6rS,EAETr4R,EAAOi7T,EAAO5iC,EACV/pR,KAAK+9C,IAAIrsD,GAAQ2nc,IACnB3nc,EAhQN,SAAiBA,EAAMw7b,EAAQoM,GAC7B,OAAa,IAAT5nc,EACKmjX,GAAKnjX,IAENw7b,EAAO/qP,eAAiB,GAAK,IAAM+qP,EAAO7sb,KAAOi5b,EAAa,GAAK,EAC7E,CA2PaE,CAAQ9nc,EAAMw7b,EAAQoM,GAAcD,EACvCx7c,IAAUy7c,IACZvvK,GAAQr4R,EAAO,GAEjBi7T,EAAO5iC,EAAOr4R,GAEZq4R,IAASmjK,EAAOsJ,iBAAiB8C,GAAa,CAChD,MAAMG,EAAW5kF,GAAKnjX,GAAQw7b,EAAOwM,qBAAqBJ,GAAc,EACxEvvK,GAAQ0vK,EACR/nc,GAAQ+nc,CACV,CACA,MAAO,CACL/nc,OACAq4R,OACA4iC,OACA/uH,OAAQ+uH,EAAOj7T,EAAO,EAE1B,CACA+mc,wBAAAA,CAAyB52c,EAAOs2c,GAC9B,MAAMj3Z,EAAQi3Z,EAAMj3Z,MACdv1B,EAAU7qB,KAAK6qB,QACfgub,EAAWhub,EAAQgub,SACnBC,EAAkB31B,GAAet4Z,EAAQiub,gBAAiBxkX,KAChE,IAAIwoH,EAAQlsM,EACZ,GAAIymc,EAAMQ,QAAS,CACjB,MAAMM,EAAaU,EAAW74c,KAAK83c,eAAe/2c,GAASs2c,EAAMc,WAC3D1rT,EAAiC,SAAzB5hI,EAAQmtb,aA7V5B,SAAmCj3c,EAAOs2c,EAAOxsb,EAASstb,GACxD,MAAMx6T,EAAS05T,EAAM15T,OACf43T,EAAO53T,EAAO58I,GACpB,IAAIwjK,EAAOxjK,EAAQ,EAAI48I,EAAO58I,EAAQ,GAAK,KACvC85B,EAAO95B,EAAQ48I,EAAOvgJ,OAAS,EAAIugJ,EAAO58I,EAAQ,GAAK,KAC3D,MAAM2sW,EAAU7iV,EAAQutb,mBACX,OAAT7zS,IACFA,EAAOgxS,GAAiB,OAAT16a,EAAgBw8a,EAAM12T,IAAM02T,EAAMjsa,MAAQvQ,EAAO06a,IAErD,OAAT16a,IACFA,EAAO06a,EAAOA,EAAOhxS,GAEvB,MAAMn5H,EAAQmqa,GAAQA,EAAOr2b,KAAKK,IAAIglJ,EAAM1pI,IAAS,EAAI6yU,EAEzD,MAAO,CACLqrG,MAFW75b,KAAK+9C,IAAIpiC,EAAO0pI,GAAQ,EAAImpM,EAEzByqG,EACd/kB,MAAOvoa,EAAQwtb,cACfjta,QAEJ,CA2UU4ta,CAA0Bj4c,EAAOs2c,EAAOxsb,EAASstb,GA9W3D,SAAkCp3c,EAAOs2c,EAAOxsb,EAASstb,GACvD,MAAMc,EAAYpub,EAAQmtb,aAC1B,IAAIpnc,EAAMwib,EAQV,OAPIpQ,GAAci2B,IAChBroc,EAAOymc,EAAM93b,IAAMsL,EAAQutb,mBAC3BhlB,EAAQvoa,EAAQwtb,gBAEhBznc,EAAOqoc,EAAYd,EACnB/kB,EAAQ,GAEH,CACL2lB,MAAOnoc,EAAOunc,EACd/kB,QACAhoZ,MAAOisa,EAAM15T,OAAO58I,GAAU6P,EAAO,EAEzC,CAgWUsoc,CAAyBn4c,EAAOs2c,EAAOxsb,EAASstb,GAC9CgB,EAAan5c,KAAK+3c,eAAe/3c,KAAKe,MAAOf,KAAKwsc,YAAYvxK,MAAO49K,EAAW93c,OAAQvD,GAC9Fs/M,EAASrwD,EAAMrhH,MAASqhH,EAAMssT,MAAQI,EAAe1sT,EAAMssT,MAAQ,EACnEnoc,EAAOsO,KAAKK,IAAIu5b,EAAiBrsT,EAAMssT,MAAQtsT,EAAM2mS,MACvD,MACEt2O,EAAS18J,EAAMs1Z,iBAAiB11c,KAAKsxc,UAAUvwc,GAAOq/C,EAAMutS,MAAO5sV,GACnE6P,EAAOsO,KAAKK,IAAIu5b,EAAiBzB,EAAM93b,IAAM83b,EAAMjkB,OAErD,MAAO,CACLnqJ,KAAMnsF,EAASlsM,EAAO,EACtBi7T,KAAM/uH,EAASlsM,EAAO,EACtBksM,SACAlsM,OAEJ,CACA43b,IAAAA,GACE,MAAMn1M,EAAOrzP,KAAKwsc,YACZJ,EAAS/4M,EAAK+4M,OACdrkH,EAAQ10F,EAAKnwP,KACbwgb,EAAO37F,EAAM3qV,OACnB,IAAIiD,EAAI,EACR,KAAOA,EAAIqjb,IAAQrjb,EACsB,OAAnCL,KAAKsxc,UAAUjxc,GAAG+rc,EAAOz+G,OAC3B5F,EAAM1nV,GAAGmoc,KAAKxoc,KAAKutc,KAGzB,EAEFyJ,GAAcrka,GAAK,MACnBqka,GAAcr+K,SAAW,CACvBu3K,oBAAoB,EACpB+C,gBAAiB,MACjBmF,mBAAoB,GACpBC,cAAe,GACfR,SAAS,EACTtN,WAAY,CACVD,QAAS,CACPh5b,KAAM,SACN1N,WAAY,CAAC,IAAK,IAAK,OAAQ,QAAS,aAI9Cozc,GAAc/hB,UAAY,CACxBoB,OAAQ,CACN+iB,QAAS,CACP9nc,KAAM,WACN6pI,QAAQ,EACR86F,KAAM,CACJ96F,QAAQ,IAGZk+T,QAAS,CACP/nc,KAAM,SACNgoc,aAAa,KAKnB,MAAMC,WAAyBjM,GAC7Bc,UAAAA,GACEpuc,KAAKiuc,qBAAsB,EAC3BlvG,MAAMqvG,YACR,CACA2C,kBAAAA,CAAmB19M,EAAMnwP,EAAMkoC,EAAO3qC,GACpC,MAAMq+R,EAASigE,MAAMgyG,mBAAmB19M,EAAMnwP,EAAMkoC,EAAO3qC,GAC3D,IAAK,IAAIJ,EAAI,EAAGA,EAAIy+R,EAAO1hS,OAAQiD,IACjCy+R,EAAOz+R,GAAG21c,QAAUh2c,KAAK4yc,0BAA0Bvyc,EAAI+qC,GAAO+sL,OAEhE,OAAO2mE,CACT,CACA+xK,cAAAA,CAAex9M,EAAMnwP,EAAMkoC,EAAO3qC,GAChC,MAAMq+R,EAASigE,MAAM8xG,eAAex9M,EAAMnwP,EAAMkoC,EAAO3qC,GACvD,IAAK,IAAIJ,EAAI,EAAGA,EAAIy+R,EAAO1hS,OAAQiD,IAAK,CACtC,MAAMsY,EAAOzV,EAAKkoC,EAAQ/qC,GAC1By+R,EAAOz+R,GAAG21c,QAAU7yB,GAAexqa,EAAK,GAAI3Y,KAAK4yc,0BAA0Bvyc,EAAI+qC,GAAO+sL,OACxF,CACA,OAAO2mE,CACT,CACAgyK,eAAAA,CAAgBz9M,EAAMnwP,EAAMkoC,EAAO3qC,GACjC,MAAMq+R,EAASigE,MAAM+xG,gBAAgBz9M,EAAMnwP,EAAMkoC,EAAO3qC,GACxD,IAAK,IAAIJ,EAAI,EAAGA,EAAIy+R,EAAO1hS,OAAQiD,IAAK,CACtC,MAAMsY,EAAOzV,EAAKkoC,EAAQ/qC,GAC1By+R,EAAOz+R,GAAG21c,QAAU7yB,GAAexqa,GAAQA,EAAK3J,IAAM2J,EAAK3J,EAAGhP,KAAK4yc,0BAA0Bvyc,EAAI+qC,GAAO+sL,OAC1G,CACA,OAAO2mE,CACT,CACAszK,cAAAA,GACE,MAAMlvc,EAAOlD,KAAKwsc,YAAYtpc,KAC9B,IAAIic,EAAM,EACV,IAAK,IAAI9e,EAAI6C,EAAK9F,OAAS,EAAGiD,GAAK,IAAKA,EACtC8e,EAAMD,KAAKC,IAAIA,EAAKjc,EAAK7C,GAAGuQ,KAAK5Q,KAAK4yc,0BAA0Bvyc,IAAM,GAExE,OAAO8e,EAAM,GAAKA,CACpB,CACAkzb,gBAAAA,CAAiBtxc,GACf,MAAMsyP,EAAOrzP,KAAKwsc,aACZ,OAAC8C,EAAM,OAAEE,GAAUn8M,EACnByrC,EAAS9+R,KAAKsxc,UAAUvwc,GACxBkhE,EAAIqtY,EAAOgD,iBAAiBxzK,EAAO78N,GACnCD,EAAIwtY,EAAO8C,iBAAiBxzK,EAAO98N,GACnChzD,EAAI8vR,EAAOk3K,QACjB,MAAO,CACLpyY,MAAOyvL,EAAKzvL,MACZ7mE,MAAO,IAAMklE,EAAI,KAAOD,GAAKhzD,EAAI,KAAOA,EAAI,IAAM,IAEtD,CACA63F,MAAAA,CAAO0kN,GACL,MAAMiiH,EAASxta,KAAKwsc,YAAYtpc,KAChClD,KAAKw0c,eAAehnC,EAAQ,EAAGA,EAAOpwa,OAAQmuT,EAChD,CACAipJ,cAAAA,CAAehnC,EAAQpiY,EAAO3qC,EAAO8qT,GACnC,MAAM9mS,EAAiB,UAAT8mS,GACR,OAACmhJ,EAAM,OAAEN,GAAUpsc,KAAKwsc,YACxB+K,EAAYv3c,KAAK4yc,0BAA0Bxna,EAAOmgR,GAClDkoJ,EAAgBzzc,KAAKuzc,iBAAiBgE,GACtC/D,EAAiBxzc,KAAKwzc,eAAejoJ,EAAMkoJ,GAC3C9G,EAAQD,EAAO/+G,KACfi/G,EAAQR,EAAOz+G,KACrB,IAAK,IAAIttV,EAAI+qC,EAAO/qC,EAAI+qC,EAAQ3qC,EAAOJ,IAAK,CAC1C,MAAM64B,EAAQs0Y,EAAOnta,GACfy+R,GAAUr6Q,GAASzkB,KAAKsxc,UAAUjxc,GAClCuD,EAAa,CAAC,EACdo9b,EAASp9b,EAAW+oc,GAASlob,EAAQiob,EAAO8M,mBAAmB,IAAO9M,EAAOgJ,iBAAiB52K,EAAO6tK,IACrG1L,EAASr9b,EAAWgpc,GAASnob,EAAQ2nb,EAAOgL,eAAiBhL,EAAOsJ,iBAAiB52K,EAAO8tK,IAClGhpc,EAAWquE,KAAOx0E,MAAMujc,IAAWvjc,MAAMwjc,GACrCuS,IACF5vc,EAAWinB,QAAU7qB,KAAK4yc,0BAA0Bvyc,EAAG64B,EAAMhc,OAAS,SAAWquS,GAC7E9mS,IACF7gB,EAAWinB,QAAQstM,OAAS,IAGhCn4N,KAAK2zc,cAAcz6a,EAAO74B,EAAGuD,EAAY2nT,EAC3C,CACAvrT,KAAK4zc,oBAAoBH,EAAeloJ,EAAMgsJ,EAChD,CACA3E,yBAAAA,CAA0B7xc,EAAOwqT,GAC/B,MAAMzsB,EAAS9+R,KAAKsxc,UAAUvwc,GAC9B,IAAIrC,EAASqgW,MAAM6zG,0BAA0B7xc,EAAOwqT,GAChD7sT,EAAOmsc,UACTnsc,EAASO,OAAO0wB,OAAO,CAAC,EAAGjxB,EAAQ,CAACmsc,SAAS,KAE/C,MAAM1yO,EAASz5N,EAAOy5N,OAKtB,MAJa,WAATozF,IACF7sT,EAAOy5N,OAAS,GAElBz5N,EAAOy5N,QAAUgrN,GAAerkJ,GAAUA,EAAOk3K,QAAS79O,GACnDz5N,CACT,EAEF66c,GAAiB5ma,GAAK,SACtB4ma,GAAiB5gL,SAAW,CAC1Bu3K,oBAAoB,EACpB+C,gBAAiB,QACjB1I,WAAY,CACVD,QAAS,CACPh5b,KAAM,SACN1N,WAAY,CAAC,IAAK,IAAK,cAAe,aAI5C21c,GAAiBtkB,UAAY,CAC3BoB,OAAQ,CACNp0X,EAAG,CACD3wD,KAAM,UAER0wD,EAAG,CACD1wD,KAAM,WAGV8kb,QAAS,CACPplS,QAAS,CACPjvE,UAAW,CACT+7F,MAAKA,IACI,OAgCjB,MAAM27R,WAA2BnM,GAC/B5rc,WAAAA,CAAY8pE,EAAOq4W,GACjB9kF,MAAMvzR,EAAOq4W,GACb7jb,KAAKiuc,qBAAsB,EAC3Bjuc,KAAK05c,iBAAcl8c,EACnBwC,KAAK25c,iBAAcn8c,EACnBwC,KAAKo4N,aAAU56N,EACfwC,KAAKq4N,aAAU76N,CACjB,CACA6wc,UAAAA,GAAc,CACdlqc,KAAAA,CAAMinC,EAAO3qC,GACX,MAAMyC,EAAOlD,KAAK0uc,aAAaxrc,KACzBmwP,EAAOrzP,KAAKwsc,YAClB,IAAsB,IAAlBxsc,KAAK2tc,SACPt6M,EAAK85M,QAAUjqc,MACV,CACL,IAKI7C,EAAGqjb,EALH34G,EAAU1qU,IAAO6C,EAAK7C,GAC1B,GAAIo8R,GAASv5R,EAAKkoC,IAAS,CACzB,MAAM,IAACpqC,EAAM,SAAWhB,KAAK2tc,SAC7B5iI,EAAU1qU,IAAOqkb,GAAiBxhb,EAAK7C,GAAIW,EAC7C,CAEA,IAAKX,EAAI+qC,EAAOs4Y,EAAOt4Y,EAAQ3qC,EAAOJ,EAAIqjb,IAAQrjb,EAChDgzP,EAAK85M,QAAQ9sc,GAAK0qU,EAAO1qU,EAE7B,CACF,CACAu5c,YAAAA,GACE,OAAOhgP,GAAU55N,KAAK6qB,QAAQ6ta,SAAW,GAC3C,CACAmhB,iBAAAA,GACE,OAAOjgP,GAAU55N,KAAK6qB,QAAQivb,cAChC,CACAC,mBAAAA,GACE,IAAIx6b,EAAMula,GACN3la,GAAO2la,GACX,IAAK,IAAIzkb,EAAI,EAAGA,EAAIL,KAAKwrE,MAAMtoE,KAAKoyb,SAASl4b,SAAUiD,EACrD,GAAIL,KAAKwrE,MAAMwuY,iBAAiB35c,GAAI,CAClC,MAAM8oO,EAAanpO,KAAKwrE,MAAMkkY,eAAervc,GAAG8oO,WAC1CuvN,EAAWvvN,EAAWywO,eACtBE,EAAgB3wO,EAAW0wO,oBACjCt6b,EAAML,KAAKK,IAAIA,EAAKm5a,GACpBv5a,EAAMD,KAAKC,IAAIA,EAAKu5a,EAAWohB,EACjC,CAEF,MAAO,CACLphB,SAAUn5a,EACVu6b,cAAe36b,EAAMI,EAEzB,CACAsnF,MAAAA,CAAO0kN,GACL,MAAM//O,EAAQxrE,KAAKwrE,OACb,UAACknY,GAAalnY,EACd6nL,EAAOrzP,KAAKwsc,YACZyN,EAAO5mN,EAAKnwP,KACZg3c,EAAUl6c,KAAKm6c,oBAAsBn6c,KAAKo6c,aAAaH,GAAQj6c,KAAK6qB,QAAQqvb,QAC5EG,EAAUn7b,KAAKC,KAAKD,KAAKK,IAAImzb,EAAU35b,MAAO25b,EAAUn6Y,QAAU2hZ,GAAW,EAAG,GAChFI,EAASp7b,KAAKK,KD/rDFxiB,EC+rDmBiD,KAAK6qB,QAAQyvb,OD/rDzBn2G,EC+rDiCk2G,ED9rD3C,kBAAVt9c,GAAsBA,EAAM+iF,SAAS,KAC1C/1B,WAAWhtD,GAAS,IAClBA,EAAQonW,GC4rD0D,GD/rDnDo2G,IAACx9c,EAAOonW,ECgsDzB,MAAMq2G,EAAcx6c,KAAKy6c,eAAez6c,KAAKe,QACvC,cAAC+4c,EAAa,SAAEphB,GAAY14b,KAAK+5c,uBACjC,OAACW,EAAM,OAAEC,EAAM,QAAEviP,EAAO,QAAEC,GArFpC,SAA2BqgO,EAAUohB,EAAeQ,GAClD,IAAII,EAAS,EACTC,EAAS,EACTviP,EAAU,EACVC,EAAU,EACd,GAAIyhP,EAAgBh1B,GAAK,CACvB,MAAM81B,EAAaliB,EACbmiB,EAAWD,EAAad,EACxBgB,EAAS57b,KAAKm6M,IAAIuhP,GAClBG,EAAS77b,KAAKo6M,IAAIshP,GAClBI,EAAO97b,KAAKm6M,IAAIwhP,GAChBI,EAAO/7b,KAAKo6M,IAAIuhP,GAChBK,EAAUA,CAAC70B,EAAO/nb,EAAGC,IAAMoob,GAAcN,EAAOu0B,EAAYC,GAAU,GAAQ,EAAI37b,KAAKC,IAAI7gB,EAAGA,EAAIg8c,EAAQ/7c,EAAGA,EAAI+7c,GACjHa,EAAUA,CAAC90B,EAAO/nb,EAAGC,IAAMoob,GAAcN,EAAOu0B,EAAYC,GAAU,IAAS,EAAI37b,KAAKK,IAAIjhB,EAAGA,EAAIg8c,EAAQ/7c,EAAGA,EAAI+7c,GAClH/tO,EAAO2uO,EAAQ,EAAGJ,EAAQE,GAC1BI,EAAOF,EAAQ/1B,GAAS41B,EAAQE,GAChCI,EAAOF,EAAQjhP,GAAI4gP,EAAQE,GAC3BM,EAAOH,EAAQjhP,GAAKirN,GAAS41B,EAAQE,GAC3CP,GAAUnuO,EAAO8uO,GAAQ,EACzBV,GAAUS,EAAOE,GAAQ,EACzBljP,IAAYmU,EAAO8uO,GAAQ,EAC3BhjP,IAAY+iP,EAAOE,GAAQ,CAC7B,CACA,MAAO,CAACZ,SAAQC,SAAQviP,UAASC,UACnC,CA6D+CkjP,CAAkB7iB,EAAUohB,EAAeQ,GAChF/ic,GAAYm7b,EAAU35b,MAAQmhc,GAAWQ,EACzCv7Y,GAAauzY,EAAUn6Y,OAAS2hZ,GAAWS,EAC3Ca,EAAYt8b,KAAKC,IAAID,KAAKK,IAAIhI,EAAU4nD,GAAa,EAAG,GACxDw6Y,EAAcv2B,GAAYpjb,KAAK6qB,QAAQstM,OAAQqjP,GAE/CC,GAAgB9B,EADFz6b,KAAKC,IAAIw6b,EAAcW,EAAQ,IACAt6c,KAAK07c,gCACxD17c,KAAKo4N,QAAUA,EAAUuhP,EACzB35c,KAAKq4N,QAAUA,EAAUshP,EACzBtmN,EAAKzsL,MAAQ5mE,KAAK27c,iBAClB37c,KAAK25c,YAAcA,EAAc8B,EAAez7c,KAAK47c,qBAAqB57c,KAAKe,OAC/Ef,KAAK05c,YAAcx6b,KAAKC,IAAInf,KAAK25c,YAAc8B,EAAejB,EAAa,GAC3Ex6c,KAAKw0c,eAAeyF,EAAM,EAAGA,EAAK78c,OAAQmuT,EAC5C,CACAswJ,cAAAA,CAAex7c,EAAGokB,GAChB,MAAM46Q,EAAOr/R,KAAK6qB,QACZwoO,EAAOrzP,KAAKwsc,YACZsN,EAAgB95c,KAAK65c,oBAC3B,OAAKp1b,GAAS46Q,EAAKyX,UAAUglK,gBAAmB97c,KAAKwrE,MAAMitY,kBAAkBp4c,IAA0B,OAApBgzP,EAAK85M,QAAQ9sc,IAAegzP,EAAKnwP,KAAK7C,GAAGmxM,OACnH,EAEFxxM,KAAK+7c,uBAAuB1oN,EAAK85M,QAAQ9sc,GAAKy5c,EAAgBh1B,GACvE,CACA0vB,cAAAA,CAAeyF,EAAM7ua,EAAO3qC,EAAO8qT,GACjC,MAAM9mS,EAAiB,UAAT8mS,EACR//O,EAAQxrE,KAAKwrE,MACbknY,EAAYlnY,EAAMknY,UAElBsJ,EADOxwY,EAAM3gD,QACQisR,UACrB39E,GAAWu5O,EAAUlzc,KAAOkzc,EAAUjzc,OAAS,EAC/C25N,GAAWs5O,EAAU/1Y,IAAM+1Y,EAAU38V,QAAU,EAC/CkmW,EAAex3b,GAASu3b,EAAcC,aACtCvC,EAAcuC,EAAe,EAAIj8c,KAAK05c,YACtCC,EAAcsC,EAAe,EAAIj8c,KAAK25c,YACtCpC,EAAYv3c,KAAK4yc,0BAA0Bxna,EAAOmgR,GAClDkoJ,EAAgBzzc,KAAKuzc,iBAAiBgE,GACtC/D,EAAiBxzc,KAAKwzc,eAAejoJ,EAAMkoJ,GACjD,IACIpzc,EADAu6c,EAAa56c,KAAK45c,eAEtB,IAAKv5c,EAAI,EAAGA,EAAI+qC,IAAS/qC,EACvBu6c,GAAc56c,KAAK67c,eAAex7c,EAAGokB,GAEvC,IAAKpkB,EAAI+qC,EAAO/qC,EAAI+qC,EAAQ3qC,IAASJ,EAAG,CACtC,MAAMy5c,EAAgB95c,KAAK67c,eAAex7c,EAAGokB,GACvCq0a,EAAMmhB,EAAK55c,GACXuD,EAAa,CACjBq+D,EAAGk3J,EAAUn5N,KAAKo4N,QAClBp2J,EAAGo3J,EAAUp5N,KAAKq4N,QAClBuiP,aACAC,SAAUD,EAAad,EACvBA,gBACAH,cACAD,eAEElG,IACF5vc,EAAWinB,QAAU4ob,GAAiBzzc,KAAK4yc,0BAA0Bvyc,EAAGy4b,EAAI57a,OAAS,SAAWquS,IAElGqvJ,GAAcd,EACd95c,KAAK2zc,cAAc7a,EAAKz4b,EAAGuD,EAAY2nT,EACzC,CACAvrT,KAAK4zc,oBAAoBH,EAAeloJ,EAAMgsJ,EAChD,CACAoE,cAAAA,GACE,MAAMtoN,EAAOrzP,KAAKwsc,YACZnhc,EAAWgoP,EAAKnwP,KACtB,IACI7C,EADAumE,EAAQ,EAEZ,IAAKvmE,EAAI,EAAGA,EAAIgL,EAASjO,OAAQiD,IAAK,CACpC,MAAMtD,EAAQs2P,EAAK85M,QAAQ9sc,GACb,OAAVtD,GAAmBU,MAAMV,KAAUiD,KAAKwrE,MAAMitY,kBAAkBp4c,IAAOgL,EAAShL,GAAGmxM,SACrF5qI,GAAS1nD,KAAK+9C,IAAIlgE,GAEtB,CACA,OAAO6pE,CACT,CACAm1Y,sBAAAA,CAAuBh/c,GACrB,MAAM6pE,EAAQ5mE,KAAKwsc,YAAY5lY,MAC/B,OAAIA,EAAQ,IAAMnpE,MAAMV,GACf+nb,IAAO5la,KAAK+9C,IAAIlgE,GAAS6pE,GAE3B,CACT,CACAyrY,gBAAAA,CAAiBtxc,GACf,MAAMsyP,EAAOrzP,KAAKwsc,YACZhhY,EAAQxrE,KAAKwrE,MACbylY,EAASzlY,EAAMtoE,KAAK+tc,QAAU,GAC9Bl0c,EAAQ6sP,GAAayJ,EAAK85M,QAAQpsc,GAAQyqE,EAAM3gD,QAAQkyR,QAC9D,MAAO,CACLn5O,MAAOqtY,EAAOlwc,IAAU,GACxBhE,QAEJ,CACAo9c,iBAAAA,CAAkBF,GAChB,IAAI96b,EAAM,EACV,MAAMqsD,EAAQxrE,KAAKwrE,MACnB,IAAInrE,EAAGqjb,EAAMrwL,EAAMlqB,EAAYt+M,EAC/B,IAAKovb,EACH,IAAK55c,EAAI,EAAGqjb,EAAOl4W,EAAMtoE,KAAKoyb,SAASl4b,OAAQiD,EAAIqjb,IAAQrjb,EACzD,GAAImrE,EAAMwuY,iBAAiB35c,GAAI,CAC7BgzP,EAAO7nL,EAAMkkY,eAAervc,GAC5B45c,EAAO5mN,EAAKnwP,KACZimO,EAAakqB,EAAKlqB,WAClB,KACF,CAGJ,IAAK8wO,EACH,OAAO,EAET,IAAK55c,EAAI,EAAGqjb,EAAOu2B,EAAK78c,OAAQiD,EAAIqjb,IAAQrjb,EAC1CwqB,EAAUs+M,EAAWypO,0BAA0Bvyc,GACnB,UAAxBwqB,EAAQqxb,cACV/8b,EAAMD,KAAKC,IAAIA,EAAK0L,EAAQsua,aAAe,EAAGtua,EAAQsxb,kBAAoB,IAG9E,OAAOh9b,CACT,CACAi7b,YAAAA,CAAaH,GACX,IAAI96b,EAAM,EACV,IAAK,IAAI9e,EAAI,EAAGqjb,EAAOu2B,EAAK78c,OAAQiD,EAAIqjb,IAAQrjb,EAAG,CACjD,MAAMwqB,EAAU7qB,KAAK4yc,0BAA0Bvyc,GAC/C8e,EAAMD,KAAKC,IAAIA,EAAK0L,EAAQswH,QAAU,EAAGtwH,EAAQuxb,aAAe,EAClE,CACA,OAAOj9b,CACT,CACAy8b,oBAAAA,CAAqB/3B,GACnB,IAAIw4B,EAAmB,EACvB,IAAK,IAAIh8c,EAAI,EAAGA,EAAIwjb,IAAgBxjb,EAC9BL,KAAKwrE,MAAMwuY,iBAAiB35c,KAC9Bg8c,GAAoBr8c,KAAKy6c,eAAep6c,IAG5C,OAAOg8c,CACT,CACA5B,cAAAA,CAAe52B,GACb,OAAO3ka,KAAKC,IAAIgka,GAAenjb,KAAKwrE,MAAMtoE,KAAKoyb,SAASzR,GAAcz5W,OAAQ,GAAI,EACpF,CACAsxY,6BAAAA,GACE,OAAO17c,KAAK47c,qBAAqB57c,KAAKwrE,MAAMtoE,KAAKoyb,SAASl4b,SAAW,CACvE,EAEFq8c,GAAmB9ma,GAAK,WACxB8ma,GAAmB9gL,SAAW,CAC5Bu3K,oBAAoB,EACpB+C,gBAAiB,MACjBn8J,UAAW,CACTglK,eAAe,EACfG,cAAc,GAEhB1R,WAAY,CACVD,QAAS,CACPh5b,KAAM,SACN1N,WAAY,CAAC,gBAAiB,WAAY,cAAe,cAAe,aAAc,IAAK,IAAK,SAAU,cAAe,aAG7H02c,OAAQ,MACR5hB,SAAU,EACVohB,cAAe,IACf3hP,OAAQ,OACR+hP,QAAS,EACTpkB,UAAW,KAEb2jB,GAAmBvkB,YAAc,CAC/B8B,YAAcvxb,GAAkB,YAATA,EACvBwxb,WAAaxxb,GAAkB,YAATA,GAExBg0c,GAAmBxkB,UAAY,CAC7BmO,YAAa,EACbhN,QAAS,CACPkmB,OAAQ,CACNrL,OAAQ,CACNsL,cAAAA,CAAe/wY,GACb,MAAMtoE,EAAOsoE,EAAMtoE,KACnB,GAAIA,EAAK+tc,OAAO7zc,QAAU8F,EAAKoyb,SAASl4b,OAAQ,CAC9C,MAAO6zc,QAAQ,WAACxY,IAAejtX,EAAM8wY,OAAOzxb,QAC5C,OAAO3nB,EAAK+tc,OAAOtnc,KAAI,CAACi6D,EAAOvjE,KAC7B,MACMi4D,EADOkT,EAAMkkY,eAAe,GACfvmO,WAAWg7N,SAAS9jc,GACvC,MAAO,CACLipE,KAAM1F,EACNu2X,UAAW7hY,EAAMykK,gBACjBu9N,YAAahiY,EAAM+8X,YACnBkF,UAAWjiY,EAAM6gY,YACjBV,WAAYA,EACZjnP,QAAShmI,EAAMitY,kBAAkBp4c,GACjCU,MAAOV,EACR,GAEL,CACA,MAAO,EACT,GAEF+yT,OAAAA,CAAQ30T,EAAG+9c,EAAYF,GACrBA,EAAO9wY,MAAMixY,qBAAqBD,EAAWz7c,OAC7Cu7c,EAAO9wY,MAAMq7B,QACf,GAEFmqD,QAAS,CACPjvE,UAAW,CACT+7F,MAAKA,IACI,GAETl6G,KAAAA,CAAM84Y,GACJ,IAAIC,EAAYD,EAAY94Y,MAC5B,MAAM7mE,EAAQ,KAAO2/c,EAAYE,eAOjC,OANI97c,GAAQ67c,IACVA,EAAYA,EAAUj2c,QACtBi2c,EAAU,IAAM5/c,GAEhB4/c,GAAa5/c,EAER4/c,CACT,MAMR,MAAME,WAAuBvP,GAC3Bc,UAAAA,GACEpuc,KAAKiuc,qBAAsB,EAC3BlvG,MAAMqvG,YACR,CACAvnW,MAAAA,CAAO0kN,GACL,MAAMl4D,EAAOrzP,KAAKwsc,aACXiC,QAASxvK,EAAM/7R,KAAMsqa,EAAS,GAAE,SAAEsvC,GAAYzpN,EAC/C0pN,EAAqB/8c,KAAKwrE,MAAMkoY,oBACtC,IAAI,MAACtoa,EAAK,MAAE3qC,GA4FhB,SAAyC4yP,EAAMm6K,EAAQuvC,GACrD,MAAMC,EAAaxvC,EAAOpwa,OAC1B,IAAIguC,EAAQ,EACR3qC,EAAQu8c,EACZ,GAAI3pN,EAAKu9M,QAAS,CAChB,MAAM,OAAClE,EAAM,QAAES,GAAW95M,EACpBs6F,EAAO++G,EAAO/+G,MACd,IAACpuU,EAAG,IAAEJ,EAAG,WAAE6yb,EAAU,WAAEC,GAAcvF,EAAOwF,gBAC9CF,IACF5ma,EAAQ67Y,GAAY/na,KAAKK,IACvB+8a,GAAa6Q,EAAST,EAAO/+G,KAAMpuU,GAAK88a,GACxC0gB,EAAqBC,EAAa1gB,GAAa9uB,EAAQ7/E,EAAM++G,EAAOgJ,iBAAiBn2b,IAAM88a,IAC7F,EAAG2gB,EAAa,IAGhBv8c,EADEwxc,EACMhrB,GAAY/na,KAAKC,IACvBm9a,GAAa6Q,EAAST,EAAO/+G,KAAMxuU,GAAKyxS,GAAK,EAC7CmsJ,EAAqB,EAAIzgB,GAAa9uB,EAAQ7/E,EAAM++G,EAAOgJ,iBAAiBv2b,IAAMyxS,GAAK,GACzFxlR,EAAO4xa,GAAc5xa,EAEb4xa,EAAa5xa,CAEzB,CACA,MAAO,CAACA,QAAO3qC,QACjB,CApHyBw8c,CAAgC5pN,EAAMm6K,EAAQuvC,GACnE/8c,KAAK+tc,WAAa3ia,EAClBprC,KAAKguc,WAAavtc,EAmHtB,SAA4B4yP,GAC1B,MAAM,OAACi8M,EAAM,OAAEE,EAAM,aAAE0N,GAAgB7pN,EACjC8pN,EAAY,CAChBC,KAAM9N,EAAO/vb,IACb89b,KAAM/N,EAAOnwb,IACbm+b,KAAM9N,EAAOjwb,IACbg+b,KAAM/N,EAAOrwb,KAEf,IAAK+9b,EAEH,OADA7pN,EAAK6pN,aAAeC,GACb,EAET,MAAMK,EAAUN,EAAaE,OAAS9N,EAAO/vb,KAC1C29b,EAAaG,OAAS/N,EAAOnwb,KAC7B+9b,EAAaI,OAAS9N,EAAOjwb,KAC7B29b,EAAaK,OAAS/N,EAAOrwb,IAEhC,OADAlgB,OAAO0wB,OAAOutb,EAAcC,GACrBK,CACT,CApIQC,CAAmBpqN,KACrBjoN,EAAQ,EACR3qC,EAAQ+sa,EAAOpwa,QAEjB6hS,EAAK0nK,OAAS3mc,KAAKwrE,MACnByzN,EAAK6nK,cAAgB9mc,KAAKe,MAC1Bk+R,EAAKy+K,aAAeZ,EAASY,WAC7Bz+K,EAAKuuI,OAASA,EACd,MAAM3iZ,EAAU7qB,KAAK2yc,6BAA6BpnJ,GAC7CvrT,KAAK6qB,QAAQyra,WAChBzra,EAAQsua,YAAc,GAExBtua,EAAQ0mT,QAAUvxU,KAAK6qB,QAAQ0mT,QAC/BvxU,KAAK2zc,cAAc10K,OAAMzhS,EAAW,CAClC2vW,UAAW4vG,EACXlyb,WACC0gS,GACHvrT,KAAKw0c,eAAehnC,EAAQpiY,EAAO3qC,EAAO8qT,EAC5C,CACAipJ,cAAAA,CAAehnC,EAAQpiY,EAAO3qC,EAAO8qT,GACnC,MAAM9mS,EAAiB,UAAT8mS,GACR,OAACmhJ,EAAM,OAAEN,EAAM,SAAEkC,EAAQ,SAAEwO,GAAY98c,KAAKwsc,YAC5C+K,EAAYv3c,KAAK4yc,0BAA0Bxna,EAAOmgR,GAClDkoJ,EAAgBzzc,KAAKuzc,iBAAiBgE,GACtC/D,EAAiBxzc,KAAKwzc,eAAejoJ,EAAMkoJ,GAC3C9G,EAAQD,EAAO/+G,KACfi/G,EAAQR,EAAOz+G,MACf,SAAC6zG,EAAQ,QAAEjwH,GAAWvxU,KAAK6qB,QAC3B8yb,EAAe7/K,GAAS0jK,GAAYA,EAAW90b,OAAOu4a,kBACtD24B,EAAe59c,KAAKwrE,MAAMkoY,qBAAuBjvb,GAAkB,SAAT8mS,EAChE,IAAIsyJ,EAAazya,EAAQ,GAAKprC,KAAKsxc,UAAUlma,EAAQ,GACrD,IAAK,IAAI/qC,EAAI+qC,EAAO/qC,EAAI+qC,EAAQ3qC,IAASJ,EAAG,CAC1C,MAAM64B,EAAQs0Y,EAAOnta,GACfy+R,EAAS9+R,KAAKsxc,UAAUjxc,GACxBuD,EAAag6c,EAAe1kb,EAAQ,CAAC,EACrC4kb,EAAW96B,GAAclkJ,EAAO8tK,IAChC5L,EAASp9b,EAAW+oc,GAASD,EAAOgJ,iBAAiB52K,EAAO6tK,GAAQtsc,GACpE4gc,EAASr9b,EAAWgpc,GAASnob,GAASq5b,EAAW1R,EAAOgL,eAAiBhL,EAAOsJ,iBAAiBpH,EAAWtuc,KAAKwrc,WAAWY,EAAQttK,EAAQwvK,GAAYxvK,EAAO8tK,GAAQvsc,GAC7KuD,EAAWquE,KAAOx0E,MAAMujc,IAAWvjc,MAAMwjc,IAAW6c,EACpDl6c,EAAWslc,KAAO7oc,EAAI,GAAMy+R,EAAO6tK,GAASkR,EAAWlR,GAAUgR,EAC7DpsI,IACF3tU,EAAWk7R,OAASA,EACpBl7R,EAAW0jH,IAAMw1V,EAAS55c,KAAK7C,IAE7Bmzc,IACF5vc,EAAWinB,QAAU4ob,GAAiBzzc,KAAK4yc,0BAA0Bvyc,EAAG64B,EAAMhc,OAAS,SAAWquS,IAE/FqyJ,GACH59c,KAAK2zc,cAAcz6a,EAAO74B,EAAGuD,EAAY2nT,GAE3CsyJ,EAAa/+K,CACf,CACA9+R,KAAK4zc,oBAAoBH,EAAeloJ,EAAMgsJ,EAChD,CACAnF,cAAAA,GACE,MAAM/+M,EAAOrzP,KAAKwsc,YACZiC,EAAUp7M,EAAKo7M,QACf7sF,EAAS6sF,EAAQ5jb,SAAW4jb,EAAQ5jb,QAAQsua,aAAe,EAC3Dj2b,EAAOmwP,EAAKnwP,MAAQ,GAC1B,IAAKA,EAAK9F,OACR,OAAOwkX,EAET,MAAM+9E,EAAaz8b,EAAK,GAAG0N,KAAK5Q,KAAK4yc,0BAA0B,IACzDmL,EAAY76c,EAAKA,EAAK9F,OAAS,GAAGwT,KAAK5Q,KAAK4yc,0BAA0B1vc,EAAK9F,OAAS,IAC1F,OAAO8hB,KAAKC,IAAIyiW,EAAQ+9E,EAAYoe,GAAa,CACnD,CACAvV,IAAAA,GACE,MAAMn1M,EAAOrzP,KAAKwsc,YAClBn5M,EAAKo7M,QAAQuP,oBAAoBh+c,KAAKwrE,MAAMknY,UAAWr/M,EAAKq5M,OAAO/+G,MACnEoR,MAAMypG,MACR,EAEFqU,GAAelqa,GAAK,OACpBkqa,GAAelkL,SAAW,CACxBu3K,mBAAoB,OACpB+C,gBAAiB,QACjB3c,UAAU,EACVkL,UAAU,GAEZqb,GAAe5nB,UAAY,CACzBoB,OAAQ,CACN+iB,QAAS,CACP9nc,KAAM,YAER+nc,QAAS,CACP/nc,KAAM,YAiDZ,MAAM2sc,WAA4B3Q,GAChC5rc,WAAAA,CAAY8pE,EAAOq4W,GACjB9kF,MAAMvzR,EAAOq4W,GACb7jb,KAAK05c,iBAAcl8c,EACnBwC,KAAK25c,iBAAcn8c,CACrB,CACA60c,gBAAAA,CAAiBtxc,GACf,MAAMsyP,EAAOrzP,KAAKwsc,YACZhhY,EAAQxrE,KAAKwrE,MACbylY,EAASzlY,EAAMtoE,KAAK+tc,QAAU,GAC9Bl0c,EAAQ6sP,GAAayJ,EAAK85M,QAAQpsc,GAAOiO,EAAGw8D,EAAM3gD,QAAQkyR,QAChE,MAAO,CACLn5O,MAAOqtY,EAAOlwc,IAAU,GACxBhE,QAEJ,CACA8pG,MAAAA,CAAO0kN,GACL,MAAM0uJ,EAAOj6c,KAAKwsc,YAAYtpc,KAC9BlD,KAAKk+c,gBACLl+c,KAAKw0c,eAAeyF,EAAM,EAAGA,EAAK78c,OAAQmuT,EAC5C,CACA2yJ,aAAAA,GACE,MAAM1yY,EAAQxrE,KAAKwrE,MACbknY,EAAYlnY,EAAMknY,UAClBrzK,EAAO7zN,EAAM3gD,QACbszb,EAAUj/b,KAAKK,IAAImzb,EAAUjzc,MAAQizc,EAAUlzc,KAAMkzc,EAAU38V,OAAS28V,EAAU/1Y,KAClFg9Y,EAAcz6b,KAAKC,IAAIg/b,EAAU,EAAG,GAEpC1C,GAAgB9B,EADFz6b,KAAKC,IAAIkgR,EAAK++K,iBAAoBzE,EAAc,IAAQt6K,EAAK++K,iBAAoB,EAAG,IACrD5yY,EAAM6yY,yBACzDr+c,KAAK25c,YAAcA,EAAe8B,EAAez7c,KAAKe,MACtDf,KAAK05c,YAAc15c,KAAK25c,YAAc8B,CACxC,CACAjH,cAAAA,CAAeyF,EAAM7ua,EAAO3qC,EAAO8qT,GACjC,MAAM9mS,EAAiB,UAAT8mS,EACR//O,EAAQxrE,KAAKwrE,MACbijY,EAAUzuc,KAAK0uc,aAEfsN,EADOxwY,EAAM3gD,QACQisR,UACrB12P,EAAQpgD,KAAKwsc,YAAYiD,OACzBt2O,EAAU/4K,EAAMk+Z,QAChBllP,EAAUh5K,EAAMm+Z,QAChBC,EAAoBp+Z,EAAMq+Z,cAAc,GAAK,GAAMvkP,GACzD,IACI75N,EADAgmb,EAAQm4B,EAEZ,MAAME,EAAe,IAAM1+c,KAAK2+c,uBAChC,IAAKt+c,EAAI,EAAGA,EAAI+qC,IAAS/qC,EACvBgmb,GAASrmb,KAAK4+c,cAAcv+c,EAAGkrT,EAAMmzJ,GAEvC,IAAKr+c,EAAI+qC,EAAO/qC,EAAI+qC,EAAQ3qC,EAAOJ,IAAK,CACtC,MAAMy4b,EAAMmhB,EAAK55c,GACjB,IAAIu6c,EAAav0B,EACbw0B,EAAWx0B,EAAQrmb,KAAK4+c,cAAcv+c,EAAGkrT,EAAMmzJ,GAC/C/E,EAAcnuY,EAAMitY,kBAAkBp4c,GAAK+/C,EAAMy+Z,8BAA8BpQ,EAAQvrc,KAAK7C,IAAM,EACtGgmb,EAAQw0B,EACJp2b,IACEu3b,EAAcC,eAChBtC,EAAc,GAEZqC,EAAcF,gBAChBlB,EAAaC,EAAW2D,IAG5B,MAAM56c,EAAa,CACjBq+D,EAAGk3J,EACHn3J,EAAGo3J,EACHsgP,YAAa,EACbC,cACAiB,aACAC,WACAhwb,QAAS7qB,KAAK4yc,0BAA0Bvyc,EAAGy4b,EAAI57a,OAAS,SAAWquS,IAErEvrT,KAAK2zc,cAAc7a,EAAKz4b,EAAGuD,EAAY2nT,EACzC,CACF,CACAozJ,oBAAAA,GACE,MAAMlQ,EAAUzuc,KAAK0uc,aACfr7M,EAAOrzP,KAAKwsc,YAClB,IAAI/rc,EAAQ,EAMZ,OALA4yP,EAAKnwP,KAAKnE,SAAQ,CAACorB,EAASppB,MACrBtD,MAAMgxc,EAAQvrc,KAAKnC,KAAWf,KAAKwrE,MAAMitY,kBAAkB13c,IAC9DN,GACF,IAEKA,CACT,CACAm+c,aAAAA,CAAc79c,EAAOwqT,EAAMmzJ,GACzB,OAAO1+c,KAAKwrE,MAAMitY,kBAAkB13c,GAChC64N,GAAU55N,KAAK4yc,0BAA0B7xc,EAAOwqT,GAAM86H,OAASq4B,GAC/D,CACN,EAEFT,GAAoBtra,GAAK,YACzBsra,GAAoBtlL,SAAW,CAC7Bs6K,gBAAiB,MACjBn8J,UAAW,CACTglK,eAAe,EACfG,cAAc,GAEhB1R,WAAY,CACVD,QAAS,CACPh5b,KAAM,SACN1N,WAAY,CAAC,IAAK,IAAK,aAAc,WAAY,cAAe,iBAGpEkyb,UAAW,IACX8kB,WAAY,GAEdqD,GAAoBhpB,UAAY,CAC9BmO,YAAa,EACbhN,QAAS,CACPkmB,OAAQ,CACNrL,OAAQ,CACNsL,cAAAA,CAAe/wY,GACb,MAAMtoE,EAAOsoE,EAAMtoE,KACnB,GAAIA,EAAK+tc,OAAO7zc,QAAU8F,EAAKoyb,SAASl4b,OAAQ,CAC9C,MAAO6zc,QAAQ,WAACxY,IAAejtX,EAAM8wY,OAAOzxb,QAC5C,OAAO3nB,EAAK+tc,OAAOtnc,KAAI,CAACi6D,EAAOvjE,KAC7B,MACMi4D,EADOkT,EAAMkkY,eAAe,GACfvmO,WAAWg7N,SAAS9jc,GACvC,MAAO,CACLipE,KAAM1F,EACNu2X,UAAW7hY,EAAMykK,gBACjBu9N,YAAahiY,EAAM+8X,YACnBkF,UAAWjiY,EAAM6gY,YACjBV,WAAYA,EACZjnP,QAAShmI,EAAMitY,kBAAkBp4c,GACjCU,MAAOV,EACR,GAEL,CACA,MAAO,EACT,GAEF+yT,OAAAA,CAAQ30T,EAAG+9c,EAAYF,GACrBA,EAAO9wY,MAAMixY,qBAAqBD,EAAWz7c,OAC7Cu7c,EAAO9wY,MAAMq7B,QACf,GAEFmqD,QAAS,CACPjvE,UAAW,CACT+7F,MAAKA,IACI,GAETl6G,MAAM38D,GACGA,EAAQukE,MAAMtoE,KAAK+tc,OAAOhqc,EAAQ4rc,WAAa,KAAO5rc,EAAQ21c,kBAK7EvmB,OAAQ,CACNrnb,EAAG,CACDsC,KAAM,eACNwtc,WAAY,CACVh9S,SAAS,GAEXw3S,aAAa,EACbrjO,KAAM,CACJ8oO,UAAU,GAEZC,YAAa,CACXl9S,SAAS,GAEX84S,WAAY,KAKlB,MAAMqE,WAAsBxF,IAE5BwF,GAActsa,GAAK,MACnBssa,GAActmL,SAAW,CACvB2hL,OAAQ,EACR5hB,SAAU,EACVohB,cAAe,IACf3hP,OAAQ,QAGV,MAAM+mP,WAAwB5R,GAC5B+E,gBAAAA,CAAiBtxc,GACf,MAAMqrc,EAASpsc,KAAKwsc,YAAYJ,OAC1BttK,EAAS9+R,KAAKsxc,UAAUvwc,GAC9B,MAAO,CACL6iE,MAAOwoY,EAAO8E,YAAYnwc,GAC1BhE,MAAO,GAAKqvc,EAAOkG,iBAAiBxzK,EAAOstK,EAAOz+G,OAEtD,CACA9mP,MAAAA,CAAO0kN,GACL,MAAMl4D,EAAOrzP,KAAKwsc,YACZvtK,EAAO5rC,EAAKo7M,QACZjhC,EAASn6K,EAAKnwP,MAAQ,GACtB+tc,EAAS59M,EAAKq5M,OAAOwE,YAE3B,GADAjyK,EAAKuuI,OAASA,EACD,WAATjiH,EAAmB,CACrB,MAAM1gS,EAAU7qB,KAAK2yc,6BAA6BpnJ,GAC7CvrT,KAAK6qB,QAAQyra,WAChBzra,EAAQsua,YAAc,GAExB,MAAMv1b,EAAa,CACjB4rV,OAAO,EACP2vH,UAAWlO,EAAO7zc,SAAWowa,EAAOpwa,OACpCytB,WAEF7qB,KAAK2zc,cAAc10K,OAAMzhS,EAAWoG,EAAY2nT,EAClD,CACAvrT,KAAKw0c,eAAehnC,EAAQ,EAAGA,EAAOpwa,OAAQmuT,EAChD,CACAipJ,cAAAA,CAAehnC,EAAQpiY,EAAO3qC,EAAO8qT,GACnC,MAAMkjJ,EAAUzuc,KAAK0uc,aACftuZ,EAAQpgD,KAAKwsc,YAAYiD,OACzBhrb,EAAiB,UAAT8mS,EACd,IAAK,IAAIlrT,EAAI+qC,EAAO/qC,EAAI+qC,EAAQ3qC,EAAOJ,IAAK,CAC1C,MAAM64B,EAAQs0Y,EAAOnta,GACfwqB,EAAU7qB,KAAK4yc,0BAA0Bvyc,EAAG64B,EAAMhc,OAAS,SAAWquS,GACtE6zJ,EAAgBh/Z,EAAMi/Z,yBAAyBh/c,EAAGouc,EAAQvrc,KAAK7C,IAC/D4hE,EAAIx9C,EAAQ27B,EAAMk+Z,QAAUc,EAAcn9Y,EAC1CD,EAAIv9C,EAAQ27B,EAAMm+Z,QAAUa,EAAcp9Y,EAC1Cp+D,EAAa,CACjBq+D,IACAD,IACAqkX,MAAO+4B,EAAc/4B,MACrBp0W,KAAMx0E,MAAMwkE,IAAMxkE,MAAMukE,GACxBn3C,WAEF7qB,KAAK2zc,cAAcz6a,EAAO74B,EAAGuD,EAAY2nT,EAC3C,CACF,EAEF2zJ,GAAgBvsa,GAAK,QACrBusa,GAAgBvmL,SAAW,CACzBu3K,mBAAoB,OACpB+C,gBAAiB,QACjBnd,UAAW,IACXQ,UAAU,EACVxuS,SAAU,CACRm3I,KAAM,CACJu/D,KAAM,WAIZ0gH,GAAgBjqB,UAAY,CAC1BmO,YAAa,EACb/M,OAAQ,CACNrnb,EAAG,CACDsC,KAAM,kBAKZ,MAAMguc,WAA0BzC,IAEhCyC,GAAkB3sa,GAAK,UACvB2sa,GAAkB3mL,SAAW,CAC3B29J,UAAU,EACV93F,MAAM,GAER8gH,GAAkBrqB,UAAY,CAC5Bc,YAAa,CACXxqI,KAAM,SAER6qI,QAAS,CACPplS,QAAS,CACPjvE,UAAW,CACT+7F,MAAKA,IACI,GAETl6G,MAAMjrD,GACG,IAAMA,EAAKirD,MAAQ,KAAOjrD,EAAKikc,eAAiB,OAK/DvmB,OAAQ,CACNp0X,EAAG,CACD3wD,KAAM,UAER0wD,EAAG,CACD1wD,KAAM,YAiBZ,SAASiuc,KACP,MAAM,IAAIt1c,MAAM,kFAClB,CACA,MAAMu1c,GACJ99c,WAAAA,CAAYmpB,GACV7qB,KAAK6qB,QAAUA,GAAW,CAAC,CAC7B,CACA40b,OAAAA,GACE,OAAOF,IACT,CACAp7c,KAAAA,CAAMpH,EAAO8nc,GACX,OAAO0a,IACT,CACA1a,MAAAA,CAAOvxX,EAAWuxX,GAChB,OAAO0a,IACT,CACAxuc,GAAAA,CAAIuiE,EAAWiiG,EAAQmqS,GACrB,OAAOH,IACT,CACA7lS,IAAAA,CAAKp7K,EAAGC,EAAGmhd,GACT,OAAOH,IACT,CACAI,OAAAA,CAAQrsY,EAAWosY,EAAME,GACvB,OAAOL,IACT,CACAM,KAAAA,CAAMvsY,EAAWosY,GACf,OAAOH,IACT,EAEFC,GAAY/oB,SAAW,SAASqpB,GAC9B7gd,OAAO0wB,OAAO6vb,GAAYt/c,UAAW4/c,EACvC,EACA,IAAIC,GAAW,CACbC,MAAOR,IAGT,SAAS/c,GAAoBhkc,EAAG+sE,GAC9B,MAAI,WAAY/sE,EACP,CACLwjE,EAAGxjE,EAAEwjE,EACLD,EAAGvjE,EAAEujE,GAGFi+Y,GAAsBxhd,EAAG+sE,EAClC,CAcA,SAAS00Y,GAAaC,EAASxyH,EAAM5wV,EAAOi5b,GAC1C,MAAM,WAAC7sN,EAAU,KAAEjmO,EAAI,QAAE0tc,GAAWuP,EAC9BzT,EAASvjO,EAAWqjO,YAAYE,OACtC,GAAIA,GAAU/+G,IAAS++G,EAAO/+G,MAAiB,MAATA,GAAgBijH,GAAW1tc,EAAK9F,OAAQ,CAC5E,MAAMgjd,EAAe1T,EAAO2T,eAAiB9jB,GAAgBD,GAC7D,IAAKtG,EACH,OAAOoqB,EAAal9c,EAAMyqV,EAAM5wV,GAC3B,GAAIosO,EAAW2kO,eAAgB,CACpC,MAAMpkb,EAAKxmB,EAAK,GACVupJ,EAA+B,oBAAhB/iI,EAAG42b,UAA2B52b,EAAG42b,SAAS3yH,GAC/D,GAAIlhM,EAAO,CACT,MAAMrhH,EAAQg1a,EAAal9c,EAAMyqV,EAAM5wV,EAAQ0vJ,GACzC9L,EAAMy/T,EAAal9c,EAAMyqV,EAAM5wV,EAAQ0vJ,GAC7C,MAAO,CAAC4vS,GAAIjxZ,EAAMixZ,GAAIzrI,GAAIjwK,EAAIiwK,GAChC,CACF,CACF,CACA,MAAO,CAACyrI,GAAI,EAAGzrI,GAAI1tT,EAAK9F,OAAS,EACnC,CACA,SAASmjd,GAAuB/0Y,EAAOmiR,EAAM5hT,EAAU4sT,EAASq9F,GAC9D,MAAMsV,EAAW9/X,EAAMg1Y,+BACjBzjd,EAAQgvC,EAAS4hT,GACvB,IAAK,IAAIttV,EAAI,EAAGqjb,EAAO4nB,EAASluc,OAAQiD,EAAIqjb,IAAQrjb,EAAG,CACrD,MAAM,MAACU,EAAK,KAAEmC,GAAQooc,EAASjrc,IACzB,GAACg8b,EAAE,GAAEzrI,GAAMsvJ,GAAa5U,EAASjrc,GAAIstV,EAAM5wV,EAAOi5b,GACxD,IAAK,IAAI/ta,EAAIo0a,EAAIp0a,GAAK2oS,IAAM3oS,EAAG,CAC7B,MAAMkC,EAAUjnB,EAAK+kB,GAChBkC,EAAQ8nD,MACX0mR,EAAQxuU,EAASppB,EAAOknB,EAE5B,CACF,CACF,CAUA,SAASw4b,GAAkBj1Y,EAAOz/B,EAAU4hT,EAAM+yH,GAChD,MAAMn4b,EAAQ,GACd,IAAK6wa,GAAertZ,EAAUy/B,EAAMknY,UAAWlnY,EAAMm1Y,aACnD,OAAOp4b,EAQT,OADAg4b,GAAuB/0Y,EAAOmiR,EAAM5hT,GALb,SAAS5hB,EAAS05Z,EAAc9ib,GACjDopB,EAAQq1D,QAAQzzC,EAASk2B,EAAGl2B,EAASi2B,EAAG0+Y,IAC1Cn4b,EAAMvpB,KAAK,CAACmrB,UAAS05Z,eAAc9ib,SAEvC,IAC8D,GACvDwnB,CACT,CAaA,SAASq4b,GAAyBp1Y,EAAOz/B,EAAU4hT,EAAMqoG,EAAW0qB,GAClE,IAAIn4b,EAAQ,GACZ,MAAMs4b,EApCR,SAAkClzH,GAChC,MAAMmzH,GAA8B,IAAvBnzH,EAAKpsV,QAAQ,KACpBw/c,GAA8B,IAAvBpzH,EAAKpsV,QAAQ,KAC1B,OAAO,SAASglb,EAAKC,GACnB,MAAM3oI,EAASijK,EAAO5hc,KAAK+9C,IAAIspX,EAAItkX,EAAIukX,EAAIvkX,GAAK,EAC1C87O,EAASgjK,EAAO7hc,KAAK+9C,IAAIspX,EAAIvkX,EAAIwkX,EAAIxkX,GAAK,EAChD,OAAO9iD,KAAKw6M,KAAKx6M,KAAKyrC,IAAIkzP,EAAQ,GAAK3+R,KAAKyrC,IAAIozP,EAAQ,GAC1D,CACF,CA4ByBijK,CAAyBrzH,GAChD,IAAIszH,EAAcv0c,OAAOu4a,kBAoBzB,OADAs7B,GAAuB/0Y,EAAOmiR,EAAM5hT,GAlBpC,SAAwB5hB,EAAS05Z,EAAc9ib,GAC7C,MAAMy+E,EAAUr1D,EAAQq1D,QAAQzzC,EAASk2B,EAAGl2B,EAASi2B,EAAG0+Y,GACxD,GAAI1qB,IAAcx2W,EAChB,OAEF,MAAMs9H,EAAS3yL,EAAQ+2b,eAAeR,GAEtC,IADoBtnB,GAAet8O,EAAQtxI,EAAMknY,UAAWlnY,EAAMm1Y,eAC7CnhY,EACnB,OAEF,MAAMurQ,EAAW81H,EAAe90a,EAAU+wK,GACtCiuI,EAAWk2H,GACb14b,EAAQ,CAAC,CAAC4B,UAAS05Z,eAAc9ib,UACjCkgd,EAAcl2H,GACLA,IAAak2H,GACtB14b,EAAMvpB,KAAK,CAACmrB,UAAS05Z,eAAc9ib,SAEvC,IAEOwnB,CACT,CACA,SAAS44b,GAAgB31Y,EAAOz/B,EAAU4hT,EAAMqoG,EAAW0qB,GACzD,OAAKtnB,GAAertZ,EAAUy/B,EAAMknY,UAAWlnY,EAAMm1Y,aAGrC,MAAThzH,GAAiBqoG,EAEpB4qB,GAAyBp1Y,EAAOz/B,EAAU4hT,EAAMqoG,EAAW0qB,GA3CjE,SAA+Bl1Y,EAAOz/B,EAAU4hT,EAAM+yH,GACpD,IAAIn4b,EAAQ,GASZ,OADAg4b,GAAuB/0Y,EAAOmiR,EAAM5hT,GAPpC,SAAwB5hB,EAAS05Z,EAAc9ib,GAC7C,MAAM,WAAC65c,EAAU,SAAEC,GAAY1wb,EAAQi3b,SAAS,CAAC,aAAc,YAAaV,IACtE,MAACr6B,GAASN,GAAkB57Z,EAAS,CAAC83C,EAAGl2B,EAASk2B,EAAGD,EAAGj2B,EAASi2B,IACnE2kX,GAAcN,EAAOu0B,EAAYC,IACnCtyb,EAAMvpB,KAAK,CAACmrB,UAAS05Z,eAAc9ib,SAEvC,IAEOwnB,CACT,CA+BM84b,CAAsB71Y,EAAOz/B,EAAU4hT,EAAM+yH,GAHxC,EAKX,CACA,SAASY,GAAa91Y,EAAO/sE,EAAGosB,EAAS61b,GACvC,MAAM30a,EAAW02Z,GAAoBhkc,EAAG+sE,GAClCjjD,EAAQ,GACRolU,EAAO9iU,EAAQ8iU,KACf4zH,EAAuB,MAAT5zH,EAAe,WAAa,WAChD,IAAI6zH,GAAiB,EASrB,OA/HF,SAAiCh2Y,EAAOmtR,GACtC,MAAM2yG,EAAW9/X,EAAMg1Y,+BACvB,IAAIz/c,EAAOmC,EAAMinB,EACjB,IAAK,IAAI9pB,EAAI,EAAGqjb,EAAO4nB,EAASluc,OAAQiD,EAAIqjb,IAAQrjb,EAAG,GACnDU,QAAOmC,QAAQooc,EAASjrc,IAC1B,IAAK,IAAI4nB,EAAI,EAAGyva,EAAOx0b,EAAK9F,OAAQ6qB,EAAIyva,IAAQzva,EAC9CkC,EAAUjnB,EAAK+kB,GACVkC,EAAQ8nD,MACX0mR,EAAQxuU,EAASppB,EAAOknB,EAG9B,CACF,CA2GEw5b,CAAwBj2Y,GAAO,CAACrhD,EAAS05Z,EAAc9ib,KACjDopB,EAAQo3b,GAAax1a,EAAS4hT,GAAO+yH,IACvCn4b,EAAMvpB,KAAK,CAACmrB,UAAS05Z,eAAc9ib,UAEjCopB,EAAQq1D,QAAQzzC,EAASk2B,EAAGl2B,EAASi2B,EAAG0+Y,KAC1Cc,GAAiB,EACnB,IAEE32b,EAAQmra,YAAcwrB,EACjB,GAEFj5b,CACT,CACA,IAAIm5b,GAAc,CAChBC,MAAO,CACL5gd,KAAAA,CAAMyqE,EAAO/sE,EAAGosB,EAAS61b,GACvB,MAAM30a,EAAW02Z,GAAoBhkc,EAAG+sE,GAClCmiR,EAAO9iU,EAAQ8iU,MAAQ,IACvBplU,EAAQsC,EAAQmra,UAClByqB,GAAkBj1Y,EAAOz/B,EAAU4hT,EAAM+yH,GACzCS,GAAgB31Y,EAAOz/B,EAAU4hT,GAAM,EAAO+yH,GAC5C54T,EAAW,GACjB,OAAKv/H,EAAMnrB,QAGXouE,EAAMg1Y,+BAA+Bzhd,SAASs0P,IAC5C,MAAMtyP,EAAQwnB,EAAM,GAAGxnB,MACjBopB,EAAUkpO,EAAKnwP,KAAKnC,GACtBopB,IAAYA,EAAQ8nD,MACtB61E,EAAS9oJ,KAAK,CAACmrB,UAAS05Z,aAAcxwL,EAAKtyP,MAAOA,SACpD,IAEK+mJ,GATE,EAUX,EACA2mT,OAAAA,CAAQjjY,EAAO/sE,EAAGosB,EAAS61b,GACzB,MAAM30a,EAAW02Z,GAAoBhkc,EAAG+sE,GAClCmiR,EAAO9iU,EAAQ8iU,MAAQ,KAC7B,IAAIplU,EAAQsC,EAAQmra,UAChByqB,GAAkBj1Y,EAAOz/B,EAAU4hT,EAAM+yH,GAC3CS,GAAgB31Y,EAAOz/B,EAAU4hT,GAAM,EAAO+yH,GAChD,GAAIn4b,EAAMnrB,OAAS,EAAG,CACpB,MAAMymb,EAAet7Z,EAAM,GAAGs7Z,aACxB3gb,EAAOsoE,EAAMkkY,eAAe7rB,GAAc3gb,KAChDqlB,EAAQ,GACR,IAAK,IAAIloB,EAAI,EAAGA,EAAI6C,EAAK9F,SAAUiD,EACjCkoB,EAAMvpB,KAAK,CAACmrB,QAASjnB,EAAK7C,GAAIwjb,eAAc9ib,MAAOV,GAEvD,CACA,OAAOkoB,CACT,EACA2Q,MAAKA,CAACsyC,EAAO/sE,EAAGosB,EAAS61b,IAGhBD,GAAkBj1Y,EAFRi3X,GAAoBhkc,EAAG+sE,GAC3B3gD,EAAQ8iU,MAAQ,KACmB+yH,GAElDkB,QAAOA,CAACp2Y,EAAO/sE,EAAGosB,EAAS61b,IAGlBS,GAAgB31Y,EAFNi3X,GAAoBhkc,EAAG+sE,GAC3B3gD,EAAQ8iU,MAAQ,KACiB9iU,EAAQmra,UAAW0qB,GAEnEz+Y,EAACA,CAACuJ,EAAO/sE,EAAGosB,EAAS61b,IACZY,GAAa91Y,EAAO/sE,EAAG,CAACkvV,KAAM,IAAKqoG,UAAWnra,EAAQmra,WAAY0qB,GAE3E1+Y,EAACA,CAACwJ,EAAO/sE,EAAGosB,EAAS61b,IACZY,GAAa91Y,EAAO/sE,EAAG,CAACkvV,KAAM,IAAKqoG,UAAWnra,EAAQmra,WAAY0qB,KAK/E,MAAMmB,GAAmB,CAAC,OAAQ,MAAO,QAAS,UAClD,SAASC,GAAiB3/b,EAAO4pB,GAC/B,OAAO5pB,EAAM9f,QAAO4C,GAAKA,EAAEwkF,MAAQ19C,GACrC,CACA,SAASg2a,GAA4B5/b,EAAOwrU,GAC1C,OAAOxrU,EAAM9f,QAAO4C,IAA0C,IAArC48c,GAAiBtgd,QAAQ0D,EAAEwkF,MAAexkF,EAAE49b,IAAIl1G,OAASA,GACpF,CACA,SAASq0H,GAAa7/b,EAAOS,GAC3B,OAAOT,EAAM5M,MAAK,CAACjX,EAAGC,KACpB,MAAMolb,EAAK/ga,EAAUrkB,EAAID,EACnBslb,EAAKhha,EAAUtkB,EAAIC,EACzB,OAAOolb,EAAGv5W,SAAWw5W,EAAGx5W,OACtBu5W,EAAG5ib,MAAQ6ib,EAAG7ib,MACd4ib,EAAGv5W,OAASw5W,EAAGx5W,MAAM,GAE3B,CAgCA,SAAS63Y,GAAcC,EAASl5c,GAC9B,MAAM+ic,EAdR,SAAqBmW,GACnB,MAAMnW,EAAS,CAAC,EAChB,IAAK,MAAM3/U,KAAQ81V,EAAS,CAC1B,MAAM,MAACjnL,EAAK,IAAExxM,EAAG,YAAE04X,GAAe/1V,EAClC,IAAK6uK,IAAU4mL,GAAiBh/b,SAAS4mE,GACvC,SAEF,MAAMy0W,EAAS6N,EAAO9wK,KAAW8wK,EAAO9wK,GAAS,CAACx6R,MAAO,EAAG2hd,OAAQ,EAAGh4Y,OAAQ,EAAGx5D,KAAM,IACxFstb,EAAOz9b,QACPy9b,EAAO9zX,QAAU+3Y,CACnB,CACA,OAAOpW,CACT,CAEiBsW,CAAYH,IACrB,aAACI,EAAY,cAAEC,GAAiBv5c,EACtC,IAAI3I,EAAGqjb,EAAM8+B,EACb,IAAKnid,EAAI,EAAGqjb,EAAOw+B,EAAQ9kd,OAAQiD,EAAIqjb,IAAQrjb,EAAG,CAChDmid,EAASN,EAAQ7hd,GACjB,MAAM,SAACoid,GAAYD,EAAO3f,IACpB5nK,EAAQ8wK,EAAOyW,EAAOvnL,OACtBmuK,EAASnuK,GAASunL,EAAOL,YAAclnL,EAAM7wN,OAC/Co4Y,EAAO11O,YACT01O,EAAOzpc,MAAQqwb,EAASA,EAASkZ,EAAeG,GAAYz5c,EAAO+hJ,eACnEy3T,EAAOjqZ,OAASgqZ,IAEhBC,EAAOzpc,MAAQupc,EACfE,EAAOjqZ,OAAS6wY,EAASA,EAASmZ,EAAgBE,GAAYz5c,EAAO05c,gBAEzE,CACA,OAAO3W,CACT,CAmBA,SAAS4W,GAAeC,EAAYlQ,EAAWp0c,EAAGC,GAChD,OAAO2gB,KAAKC,IAAIyjc,EAAWtkd,GAAIo0c,EAAUp0c,IAAM4gB,KAAKC,IAAIyjc,EAAWrkd,GAAIm0c,EAAUn0c,GACnF,CACA,SAASskd,GAAiBD,EAAYE,GACpCF,EAAWjmZ,IAAMz9C,KAAKC,IAAIyjc,EAAWjmZ,IAAKmmZ,EAAWnmZ,KACrDimZ,EAAWpjd,KAAO0f,KAAKC,IAAIyjc,EAAWpjd,KAAMsjd,EAAWtjd,MACvDojd,EAAW7sW,OAAS72F,KAAKC,IAAIyjc,EAAW7sW,OAAQ+sW,EAAW/sW,QAC3D6sW,EAAWnjd,MAAQyf,KAAKC,IAAIyjc,EAAWnjd,MAAOqjd,EAAWrjd,MAC3D,CACA,SAASsjd,GAAWrQ,EAAW1pc,EAAQw5c,EAAQzW,GAC7C,MAAM,IAACtiX,EAAG,IAAEo5W,GAAO2f,EACbI,EAAalQ,EAAUkQ,WAC7B,IAAKnmL,GAAShzM,GAAM,CACd+4X,EAAO5xc,OACT8hc,EAAUjpX,IAAQ+4X,EAAO5xc,MAE3B,MAAMqqR,EAAQ8wK,EAAOyW,EAAOvnL,QAAU,CAACrqR,KAAM,EAAGnQ,MAAO,GACvDw6R,EAAMrqR,KAAOsO,KAAKC,IAAI87Q,EAAMrqR,KAAM4xc,EAAO11O,WAAa+1N,EAAItqY,OAASsqY,EAAI9pb,OACvEypc,EAAO5xc,KAAOqqR,EAAMrqR,KAAOqqR,EAAMx6R,MACjCiyc,EAAUjpX,IAAQ+4X,EAAO5xc,IAC3B,CACIiyb,EAAImgB,YACNH,GAAiBD,EAAY/f,EAAImgB,cAEnC,MAAM7gb,EAAWjjB,KAAKC,IAAI,EAAGnW,EAAOi6c,WAAaN,GAAeC,EAAYlQ,EAAW,OAAQ,UACzFr6S,EAAYn5I,KAAKC,IAAI,EAAGnW,EAAOk6c,YAAcP,GAAeC,EAAYlQ,EAAW,MAAO,WAC1FyQ,EAAehhb,IAAauwa,EAAU1jK,EACtCo0K,EAAgB/qT,IAAcq6S,EAAUxoZ,EAG9C,OAFAwoZ,EAAU1jK,EAAI7sQ,EACduwa,EAAUxoZ,EAAImuG,EACPmqT,EAAO11O,WACV,CAACu2O,KAAMF,EAAc/xL,MAAOgyL,GAC5B,CAACC,KAAMD,EAAehyL,MAAO+xL,EACnC,CAaA,SAASG,GAAWx2O,EAAY4lO,GAC9B,MAAMkQ,EAAalQ,EAAUkQ,WAC7B,SAASW,EAAmBlhB,GAC1B,MAAM13G,EAAS,CAACnrV,KAAM,EAAGm9D,IAAK,EAAGl9D,MAAO,EAAGs2G,OAAQ,GAInD,OAHAssV,EAAUtjc,SAAS0qF,IACjBkhQ,EAAOlhQ,GAAOvqE,KAAKC,IAAIuzb,EAAUjpX,GAAMm5X,EAAWn5X,GAAK,IAElDkhQ,CACT,CACA,OACI44H,EADGz2O,EACgB,CAAC,OAAQ,SACT,CAAC,MAAO,UACjC,CACA,SAAS02O,GAASC,EAAO/Q,EAAW1pc,EAAQ+ic,GAC1C,MAAM2X,EAAa,GACnB,IAAIrjd,EAAGqjb,EAAM8+B,EAAQ3f,EAAK8gB,EAAOnG,EACjC,IAAKn9c,EAAI,EAAGqjb,EAAO+/B,EAAMrmd,OAAQumd,EAAQ,EAAGtjd,EAAIqjb,IAAQrjb,EAAG,CACzDmid,EAASiB,EAAMpjd,GACfwic,EAAM2f,EAAO3f,IACbA,EAAIh8V,OACF27W,EAAOzpc,OAAS25b,EAAU1jK,EAC1BwzK,EAAOjqZ,QAAUm6Y,EAAUxoZ,EAC3Bo5Z,GAAWd,EAAO11O,WAAY4lO,IAEhC,MAAM,KAAC2Q,EAAI,MAAEjyL,GAAS2xL,GAAWrQ,EAAW1pc,EAAQw5c,EAAQzW,GAC5D4X,GAASN,GAAQK,EAAWtmd,OAC5Bogd,EAAUA,GAAWpsL,EAChByxK,EAAI4f,UACPiB,EAAW1kd,KAAKwjd,EAEpB,CACA,OAAOmB,GAASH,GAASE,EAAYhR,EAAW1pc,EAAQ+ic,IAAWyR,CACrE,CACA,SAASoG,GAAW/gB,EAAKrjc,EAAMm9D,EAAK5jD,EAAOw/C,GACzCsqY,EAAIlmY,IAAMA,EACVkmY,EAAIrjc,KAAOA,EACXqjc,EAAIpjc,MAAQD,EAAOuZ,EACnB8pb,EAAI9sV,OAASp5C,EAAMpE,EACnBsqY,EAAI9pb,MAAQA,EACZ8pb,EAAItqY,OAASA,CACf,CACA,SAASsrZ,GAAWJ,EAAO/Q,EAAW1pc,EAAQ+ic,GAC5C,MAAM+X,EAAc96c,EAAOke,QAC3B,IAAI,EAAC+6C,EAAC,EAAED,GAAK0wY,EACb,IAAK,MAAM8P,KAAUiB,EAAO,CAC1B,MAAM5gB,EAAM2f,EAAO3f,IACb5nK,EAAQ8wK,EAAOyW,EAAOvnL,QAAU,CAACx6R,MAAO,EAAG2hd,OAAQ,EAAGh4Y,OAAQ,GAC9DA,EAAUo4Y,EAAOL,YAAclnL,EAAM7wN,QAAW,EACtD,GAAIo4Y,EAAO11O,WAAY,CACrB,MAAM/zN,EAAQ25b,EAAU1jK,EAAI5kO,EACtB7R,EAAS0iO,EAAMrqR,MAAQiyb,EAAItqY,OAC7BqsX,GAAQ3pJ,EAAM7vP,SAChB42B,EAAIi5N,EAAM7vP,OAERy3Z,EAAI4f,SACNmB,GAAW/gB,EAAKihB,EAAYtkd,KAAMwiE,EAAGh5D,EAAOi6c,WAAaa,EAAYrkd,MAAQqkd,EAAYtkd,KAAM+4D,GAE/FqrZ,GAAW/gB,EAAK6P,EAAUlzc,KAAOy7R,EAAMmnL,OAAQpgZ,EAAGjpD,EAAOw/C,GAE3D0iO,EAAM7vP,MAAQ42B,EACdi5N,EAAMmnL,QAAUrpc,EAChBipD,EAAI6gY,EAAI9sV,MACV,KAAO,CACL,MAAMx9C,EAASm6Y,EAAUxoZ,EAAIkgB,EACvBrxD,EAAQkiR,EAAMrqR,MAAQiyb,EAAI9pb,MAC5B6ra,GAAQ3pJ,EAAM7vP,SAChB62B,EAAIg5N,EAAM7vP,OAERy3Z,EAAI4f,SACNmB,GAAW/gB,EAAK5gY,EAAG6hZ,EAAYnnZ,IAAK5jD,EAAO/P,EAAOk6c,YAAcY,EAAY/tW,OAAS+tW,EAAYnnZ,KAEjGinZ,GAAW/gB,EAAK5gY,EAAGywY,EAAU/1Y,IAAMs+N,EAAMmnL,OAAQrpc,EAAOw/C,GAE1D0iO,EAAM7vP,MAAQ62B,EACdg5N,EAAMmnL,QAAU7pZ,EAChB0J,EAAI4gY,EAAIpjc,KACV,CACF,CACAizc,EAAUzwY,EAAIA,EACdywY,EAAU1wY,EAAIA,CAChB,CACA22N,GAAS7zR,IAAI,SAAU,CACrBi/c,aAAa,EACb78b,QAAS,CACPy1C,IAAK,EACLl9D,MAAO,EACPs2G,OAAQ,EACRv2G,KAAM,KAGV,IAAI0id,GAAU,CACZ8B,MAAAA,CAAOx4Y,EAAO7yD,GACP6yD,EAAMi4Y,QACTj4Y,EAAMi4Y,MAAQ,IAEhB9qc,EAAK8pc,SAAW9pc,EAAK8pc,WAAY,EACjC9pc,EAAKozB,SAAWpzB,EAAKozB,UAAY,MACjCpzB,EAAKyxD,OAASzxD,EAAKyxD,QAAU,EAC7BzxD,EAAKsrc,QAAUtrc,EAAKsrc,SAAW,WAC7B,MAAO,CAAC,CACNpgL,EAAG,EACH2kK,IAAAA,CAAKkK,GACH/5b,EAAK6vb,KAAKkK,EACZ,GAEJ,EACAlnY,EAAMi4Y,MAAMzkd,KAAK2Z,EACnB,EACAurc,SAAAA,CAAU14Y,EAAO24Y,GACf,MAAMpjd,EAAQyqE,EAAMi4Y,MAAQj4Y,EAAMi4Y,MAAMlid,QAAQ4id,IAAe,GAChD,IAAXpjd,GACFyqE,EAAMi4Y,MAAMphc,OAAOthB,EAAO,EAE9B,EACA2pc,SAAAA,CAAUl/X,EAAO7yD,EAAMkS,GACrBlS,EAAK8pc,SAAW53b,EAAQ43b,SACxB9pc,EAAKozB,SAAWlhB,EAAQkhB,SACxBpzB,EAAKyxD,OAASv/C,EAAQu/C,MACxB,EACAy8B,MAAAA,CAAOr7B,EAAOzyD,EAAOw/C,EAAQ6rZ,GAC3B,IAAK54Y,EACH,OAEF,MAAMtkD,EAAU20a,GAAUrwX,EAAM3gD,QAAQ23b,OAAOt7b,SACzC6jI,EAAiB7rI,KAAKC,IAAIpG,EAAQmO,EAAQnO,MAAO,GACjD2pc,EAAkBxjc,KAAKC,IAAIo5C,EAASrxC,EAAQqxC,OAAQ,GACpDkrZ,EA9LV,SAA0BA,GACxB,MAAMY,EAnDR,SAAmBZ,GACjB,MAAMY,EAAc,GACpB,IAAIhkd,EAAGqjb,EAAMmf,EAAKp5W,EAAKwxM,EAAOknL,EAC9B,IAAK9hd,EAAI,EAAGqjb,GAAQ+/B,GAAS,IAAIrmd,OAAQiD,EAAIqjb,IAAQrjb,EACnDwic,EAAM4gB,EAAMpjd,KACV0rC,SAAU09C,EAAK5+D,SAAUowQ,QAAOknL,cAAc,IAAMtf,GACtDwhB,EAAYrld,KAAK,CACf+B,MAAOV,EACPwic,MACAp5W,MACAqjJ,WAAY+1N,EAAIxhP,eAChBj3I,OAAQy4X,EAAIz4X,OACZ6wN,MAAOA,GAAUxxM,EAAMwxM,EACvBknL,gBAGJ,OAAOkC,CACT,CAkCsBC,CAAUb,GACxBhB,EAAWT,GAAaqC,EAAYhid,QAAO+pH,GAAQA,EAAKy2U,IAAI4f,YAAW,GACvEjjd,EAAOwid,GAAaF,GAAiBuC,EAAa,SAAS,GAC3D5kd,EAAQuid,GAAaF,GAAiBuC,EAAa,UACnD1nZ,EAAMqlZ,GAAaF,GAAiBuC,EAAa,QAAQ,GACzDtuW,EAASisW,GAAaF,GAAiBuC,EAAa,WACpDE,EAAmBxC,GAA4BsC,EAAa,KAC5DG,EAAiBzC,GAA4BsC,EAAa,KAChE,MAAO,CACL5B,WACAgC,WAAYjld,EAAKwL,OAAO2xD,GACxB+nZ,eAAgBjld,EAAMuL,OAAOw5c,GAAgBx5c,OAAO+qG,GAAQ/qG,OAAOu5c,GACnE7R,UAAWoP,GAAiBuC,EAAa,aACzCljQ,SAAU3hN,EAAKwL,OAAOvL,GAAOuL,OAAOw5c,GACpC13O,WAAYnwK,EAAI3xD,OAAO+qG,GAAQ/qG,OAAOu5c,GAE1C,CA6KkBI,CAAiBn5Y,EAAMi4Y,OAC/BmB,EAAgBnB,EAAMtiQ,SACtB0jQ,EAAkBpB,EAAM32O,WAC9Bu2M,GAAK73W,EAAMi4Y,OAAO5gB,IACgB,oBAArBA,EAAIiiB,cACbjiB,EAAIiiB,cACN,IAEF,MAAMC,EAA0BH,EAAch8c,QAAO,CAACg+D,EAAOwlD,IAC3DA,EAAKy2U,IAAIh4a,UAAwC,IAA7BuhG,EAAKy2U,IAAIh4a,QAAQi3I,QAAoBl7F,EAAQA,EAAQ,GAAG,IAAM,EAC9E59D,EAAS/J,OAAOI,OAAO,CAC3B4jd,WAAYlqc,EACZmqc,YAAa3qZ,EACbrxC,UACA6jI,iBACA23T,kBACAJ,aAAcv3T,EAAiB,EAAIg6T,EACnCxC,cAAeG,EAAkB,IAE7BE,EAAa3jd,OAAO0wB,OAAO,CAAC,EAAGzI,GACrC27b,GAAiBD,EAAY/mB,GAAUuoB,IACvC,MAAM1R,EAAYzzc,OAAO0wB,OAAO,CAC9Bizb,aACA5zK,EAAGjkJ,EACH7gG,EAAGw4Z,EACHzgZ,EAAG/6C,EAAQ1nB,KACXwiE,EAAG96C,EAAQy1C,KACVz1C,GACG6kb,EAASkW,GAAc2C,EAAc55c,OAAO65c,GAAkB77c,GACpEw6c,GAASC,EAAMhB,SAAU/P,EAAW1pc,EAAQ+ic,GAC5CyX,GAASoB,EAAelS,EAAW1pc,EAAQ+ic,GACvCyX,GAASqB,EAAiBnS,EAAW1pc,EAAQ+ic,IAC/CyX,GAASoB,EAAelS,EAAW1pc,EAAQ+ic,GA1KjD,SAA0B2G,GACxB,MAAMkQ,EAAalQ,EAAUkQ,WAC7B,SAASoC,EAAUv7X,GACjB,MAAMpgE,EAASnK,KAAKC,IAAIyjc,EAAWn5X,GAAOipX,EAAUjpX,GAAM,GAE1D,OADAipX,EAAUjpX,IAAQpgE,EACXA,CACT,CACAqpb,EAAU1wY,GAAKgjZ,EAAU,OACzBtS,EAAUzwY,GAAK+iZ,EAAU,QACzBA,EAAU,SACVA,EAAU,SACZ,CAiKIC,CAAiBvS,GACjBmR,GAAWJ,EAAMgB,WAAY/R,EAAW1pc,EAAQ+ic,GAChD2G,EAAUzwY,GAAKywY,EAAU1jK,EACzB0jK,EAAU1wY,GAAK0wY,EAAUxoZ,EACzB25Z,GAAWJ,EAAMiB,eAAgBhS,EAAW1pc,EAAQ+ic,GACpDvgY,EAAMknY,UAAY,CAChBlzc,KAAMkzc,EAAUlzc,KAChBm9D,IAAK+1Y,EAAU/1Y,IACfl9D,MAAOizc,EAAUlzc,KAAOkzc,EAAU1jK,EAClCj5L,OAAQ28V,EAAU/1Y,IAAM+1Y,EAAUxoZ,EAClCqO,OAAQm6Y,EAAUxoZ,EAClBnxC,MAAO25b,EAAU1jK,GAEnBq0I,GAAKogC,EAAM/Q,WAAY8P,IACrB,MAAM3f,EAAM2f,EAAO3f,IACnB5jc,OAAO0wB,OAAOkza,EAAKr3X,EAAMknY,WACzB7P,EAAIh8V,OAAO6rW,EAAU1jK,EAAG0jK,EAAUxoZ,EAAG,CAAC1qD,KAAM,EAAGm9D,IAAK,EAAGl9D,MAAO,EAAGs2G,OAAQ,GAAG,GAEhF,GAGF,MAAMmvW,GACJC,cAAAA,CAAejtB,EAAQkL,GAAc,CACrCgiB,cAAAA,CAAen+c,GACb,OAAO,CACT,CACA4J,gBAAAA,CAAiB26D,EAAOl6D,EAAMR,GAAW,CACzCE,mBAAAA,CAAoBw6D,EAAOl6D,EAAMR,GAAW,CAC5Cykb,mBAAAA,GACE,OAAO,CACT,CACA0N,cAAAA,CAAe94a,EAASpR,EAAOw/C,EAAQ6qY,GAGrC,OAFArqb,EAAQmG,KAAKC,IAAI,EAAGpG,GAASoR,EAAQpR,OACrCw/C,EAASA,GAAUpuC,EAAQouC,OACpB,CACLx/C,QACAw/C,OAAQr5C,KAAKC,IAAI,EAAGikb,EAAclkb,KAAKmsC,MAAMtyC,EAAQqqb,GAAe7qY,GAExE,CACA8sZ,UAAAA,CAAWntB,GACT,OAAO,CACT,CACAotB,YAAAA,CAAa7+X,GACb,EAGF,MAAM8+X,WAAsBL,GAC1BC,cAAAA,CAAexsc,GACb,OAAOA,GAAQA,EAAKa,YAAcb,EAAKa,WAAW,OAAS,IAC7D,CACA8rc,YAAAA,CAAa7+X,GACXA,EAAO57D,QAAQisR,WAAY,CAC7B,EAGF,MAAM0uK,GAAc,WACdC,GAAc,CAClBC,WAAY,YACZC,UAAW,YACXC,SAAU,UACVC,aAAc,aACdC,YAAa,YACbC,YAAa,YACbC,UAAW,UACXC,aAAc,WACdC,WAAY,YAERC,GAAgBppd,GAAmB,OAAVA,GAA4B,KAAVA,EAoCjD,MAAMqpd,KAAuBpiB,IAA+B,CAACl5a,SAAS,GAItE,SAASsiG,GAAe5hD,EAAOl6D,EAAMR,GACnC06D,EAAM0sX,OAAOlnb,oBAAoBM,EAAMR,EAAUs1c,GACnD,CAYA,SAASC,GAAiBzmZ,EAAUs4X,GAClC,IAAK,MAAM5+a,KAAQsmD,EACjB,GAAItmD,IAAS4+a,GAAU5+a,EAAKiiD,SAAS28X,GACnC,OAAO,CAGb,CACA,SAASouB,GAAqB96Y,EAAOl6D,EAAMR,GACzC,MAAMonb,EAAS1sX,EAAM0sX,OACf5xE,EAAW,IAAIigG,kBAAiB5oJ,IACpC,IAAIktC,GAAU,EACd,IAAK,MAAMhuB,KAASlf,EAClBktC,EAAUA,GAAWw7G,GAAiBxpI,EAAM2pI,WAAYtuB,GACxDrtF,EAAUA,IAAYw7G,GAAiBxpI,EAAM4pI,aAAcvuB,GAEzDrtF,GACF/5V,GACF,IAGF,OADAw1W,EAASrtK,QAAQtvL,SAAU,CAAC+8b,WAAW,EAAMC,SAAS,IAC/CrgG,CACT,CACA,SAASsgG,GAAqBp7Y,EAAOl6D,EAAMR,GACzC,MAAMonb,EAAS1sX,EAAM0sX,OACf5xE,EAAW,IAAIigG,kBAAiB5oJ,IACpC,IAAIktC,GAAU,EACd,IAAK,MAAMhuB,KAASlf,EAClBktC,EAAUA,GAAWw7G,GAAiBxpI,EAAM4pI,aAAcvuB,GAC1DrtF,EAAUA,IAAYw7G,GAAiBxpI,EAAM2pI,WAAYtuB,GAEvDrtF,GACF/5V,GACF,IAGF,OADAw1W,EAASrtK,QAAQtvL,SAAU,CAAC+8b,WAAW,EAAMC,SAAS,IAC/CrgG,CACT,CACA,MAAMugG,GAAqB,IAAIhod,IAC/B,IAAIiod,GAAsB,EAC1B,SAASC,KACP,MAAM98H,EAAM1jV,OAAO2jV,iBACfD,IAAQ68H,KAGZA,GAAsB78H,EACtB48H,GAAmB9nd,SAAQ,CAAC4lM,EAAQn5H,KAC9BA,EAAMusX,0BAA4B9tG,GACpCtlJ,GACF,IAEJ,CAaA,SAASqiR,GAAqBx7Y,EAAOl6D,EAAMR,GACzC,MAAMonb,EAAS1sX,EAAM0sX,OACfj2Y,EAAYi2Y,GAAU8J,GAAe9J,GAC3C,IAAKj2Y,EACH,OAEF,MAAM0iJ,EAAS+9O,IAAU,CAAC3pa,EAAOw/C,KAC/B,MAAMy2O,EAAI/sP,EAAU+W,YACpBloD,EAASiI,EAAOw/C,GACZy2O,EAAI/sP,EAAU+W,aAChBloD,GACF,GACCvK,QACG+/W,EAAW,IAAIvtK,gBAAe4kH,IAClC,MAAMkf,EAAQlf,EAAQ,GAChB5kT,EAAQ8jU,EAAMoqI,YAAYluc,MAC1Bw/C,EAASskR,EAAMoqI,YAAY1uZ,OACnB,IAAVx/C,GAA0B,IAAXw/C,GAGnBosI,EAAO5rL,EAAOw/C,EAAO,IAIvB,OAFA+tT,EAASrtK,QAAQh3J,GAlCnB,SAAuCupB,EAAOm5H,GACvCkiR,GAAmBj2c,MACtBrK,OAAOsK,iBAAiB,SAAUk2c,IAEpCF,GAAmB/hd,IAAI0mE,EAAOm5H,EAChC,CA8BEuiR,CAA8B17Y,EAAOm5H,GAC9B2hL,CACT,CACA,SAAS6gG,GAAgB37Y,EAAOl6D,EAAMg1W,GAChCA,GACFA,EAASptK,aAEE,WAAT5nM,GApCN,SAAyCk6D,GACvCq7Y,GAAmB51c,OAAOu6D,GACrBq7Y,GAAmBj2c,MACtBrK,OAAOyK,oBAAoB,SAAU+1c,GAEzC,CAgCIK,CAAgC57Y,EAEpC,CACA,SAAS67Y,GAAqB77Y,EAAOl6D,EAAMR,GACzC,MAAMonb,EAAS1sX,EAAM0sX,OACfoF,EAAQ5a,IAAWtxa,IACL,OAAdo6D,EAAMmqX,KACR7kb,EAhHN,SAAyBM,EAAOo6D,GAC9B,MAAMl6D,EAAOm0c,GAAYr0c,EAAME,OAASF,EAAME,MACxC,EAAC2wD,EAAC,EAAED,GAAKi+Y,GAAsB7uc,EAAOo6D,GAC5C,MAAO,CACLl6D,OACAk6D,QACAs3X,OAAQ1xb,EACR6wD,OAASzkE,IAANykE,EAAkBA,EAAI,KACzBD,OAASxkE,IAANwkE,EAAkBA,EAAI,KAE7B,CAsGeslZ,CAAgBl2c,EAAOo6D,GAClC,GACCA,GAAQxkE,IACT,MAAMoK,EAAQpK,EAAK,GACnB,MAAO,CAACoK,EAAOA,EAAMgnN,QAAShnN,EAAMinN,QAAQ,IAG9C,OA7HF,SAAqB/+M,EAAMhI,EAAMR,GAC/BwI,EAAKzI,iBAAiBS,EAAMR,EAAUs1c,GACxC,CA0HEmB,CAAYrvB,EAAQ5mb,EAAMgsb,GACnBA,CACT,CACA,MAAMkqB,WAAoBtC,GACxBC,cAAAA,CAAejtB,EAAQkL,GACrB,MAAMn8b,EAAUixb,GAAUA,EAAO1+a,YAAc0+a,EAAO1+a,WAAW,MACjE,OAAIvS,GAAWA,EAAQixb,SAAWA,GAtKtC,SAAoBA,EAAQkL,GAC1B,MAAM9qY,EAAQ4/X,EAAO5/X,MACfmvZ,EAAevvB,EAAOlgY,aAAa,UACnC0vZ,EAAcxvB,EAAOlgY,aAAa,SAcxC,GAbAkgY,EAAOstB,IAAe,CACpBrd,QAAS,CACP5vY,OAAQkvZ,EACR1uc,MAAO2uc,EACPpvZ,MAAO,CACLwpG,QAASxpG,EAAMwpG,QACfvpG,OAAQD,EAAMC,OACdx/C,MAAOu/C,EAAMv/C,SAInBu/C,EAAMwpG,QAAUxpG,EAAMwpG,SAAW,QACjCxpG,EAAM2D,UAAY3D,EAAM2D,WAAa,aACjCkqZ,GAAcuB,GAAc,CAC9B,MAAMC,EAAezjB,GAAahM,EAAQ,cACrB16b,IAAjBmqd,IACFzvB,EAAOn/a,MAAQ4uc,EAEnB,CACA,GAAIxB,GAAcsB,GAChB,GAA4B,KAAxBvvB,EAAO5/X,MAAMC,OACf2/X,EAAO3/X,OAAS2/X,EAAOn/a,OAASqqb,GAAe,OAC1C,CACL,MAAMwkB,EAAgB1jB,GAAahM,EAAQ,eACrB16b,IAAlBoqd,IACF1vB,EAAO3/X,OAASqvZ,EAEpB,CAGJ,CAqIMC,CAAW3vB,EAAQkL,GACZn8b,GAEF,IACT,CACAm+c,cAAAA,CAAen+c,GACb,MAAMixb,EAASjxb,EAAQixb,OACvB,IAAKA,EAAOstB,IACV,OAAO,EAET,MAAMrd,EAAUjQ,EAAOstB,IAAard,QACpC,CAAC,SAAU,SAASppc,SAASs5H,IAC3B,MAAMt7H,EAAQorc,EAAQ9vU,GAClB2qT,GAAcjmb,GAChBm7b,EAAOj9X,gBAAgBo9D,GAEvB6/T,EAAOr+X,aAAaw+D,EAAMt7H,EAC5B,IAEF,MAAMu7D,EAAQ6vY,EAAQ7vY,OAAS,CAAC,EAMhC,OALAr5D,OAAOmB,KAAKk4D,GAAOv5D,SAASiC,IAC1Bk3b,EAAO5/X,MAAMt3D,GAAOs3D,EAAMt3D,EAAI,IAEhCk3b,EAAOn/a,MAAQm/a,EAAOn/a,aACfm/a,EAAOstB,KACP,CACT,CACA30c,gBAAAA,CAAiB26D,EAAOl6D,EAAMR,GAC5B9Q,KAAKgR,oBAAoBw6D,EAAOl6D,GAChC,MAAMw2c,EAAUt8Y,EAAMu8Y,WAAav8Y,EAAMu8Y,SAAW,CAAC,GAM/CpvH,EALW,CACfqvH,OAAQ1B,GACRplS,OAAQ0lS,GACRjiR,OAAQqiR,IAEe11c,IAAS+1c,GAClCS,EAAQx2c,GAAQqnV,EAAQntR,EAAOl6D,EAAMR,EACvC,CACAE,mBAAAA,CAAoBw6D,EAAOl6D,GACzB,MAAMw2c,EAAUt8Y,EAAMu8Y,WAAav8Y,EAAMu8Y,SAAW,CAAC,GAC/CzqB,EAAQwqB,EAAQx2c,GACtB,IAAKgsb,EACH,QAEe,CACf0qB,OAAQb,GACRjmS,OAAQimS,GACRxiR,OAAQwiR,IAEe71c,IAAS87G,IAC1B5hD,EAAOl6D,EAAMgsb,GACrBwqB,EAAQx2c,QAAQ9T,CAClB,CACA+3b,mBAAAA,GACE,OAAOhvb,OAAO2jV,gBAChB,CACA+4G,cAAAA,CAAe/K,EAAQn/a,EAAOw/C,EAAQ6qY,GACpC,OAAOH,GAAe/K,EAAQn/a,EAAOw/C,EAAQ6qY,EAC/C,CACAiiB,UAAAA,CAAWntB,GACT,MAAMj2Y,EAAY+/Y,GAAe9J,GACjC,SAAUj2Y,IAAaA,EAAUgma,YACnC,EAUF,MAAM5tZ,GACJ34D,WAAAA,GACE1B,KAAKiiE,OAAIzkE,EACTwC,KAAKgiE,OAAIxkE,EACTwC,KAAKkd,QAAS,EACdld,KAAK6qB,aAAUrtB,EACfwC,KAAK8qc,iBAActtc,CACrB,CACA0qd,eAAAA,CAAgBxH,GACd,MAAM,EAACz+Y,EAAC,EAAED,GAAKhiE,KAAKohd,SAAS,CAAC,IAAK,KAAMV,GACzC,MAAO,CAACz+Y,IAAGD,IACb,CACA6gC,QAAAA,GACE,OAAOi7L,GAAS99R,KAAKiiE,IAAM67N,GAAS99R,KAAKgiE,EAC3C,CACAo/Y,QAAAA,CAAS1zc,EAAOy6c,GACd,MAAMlgB,EAAQjoc,KAAK8qc,YACnB,IAAKqd,IAAUlgB,EACb,OAAOjoc,KAET,MAAMwC,EAAM,CAAC,EAIb,OAHAkL,EAAM3O,SAAQs5H,IACZ71H,EAAI61H,GAAQ4vU,EAAM5vU,IAAS4vU,EAAM5vU,GAAMn7G,SAAW+qb,EAAM5vU,GAAM0xU,IAAM/pc,KAAKq4H,EAAK,IAEzE71H,CACT,EAEF63D,GAAQs+N,SAAW,CAAC,EACpBt+N,GAAQ+tZ,mBAAgB5qd,EAExB,MAAM6qd,GAAa,CACjB3pd,OAAO3B,GACE+D,GAAQ/D,GAASA,EAAQ,GAAKA,EAEvCurd,OAAAA,CAAQC,EAAWxnd,EAAO40c,GACxB,GAAkB,IAAd4S,EACF,MAAO,IAET,MAAMxrK,EAAS/8S,KAAKwrE,MAAM3gD,QAAQkyR,OAClC,IAAIyrK,EACAz9Z,EAAQw9Z,EACZ,GAAI5S,EAAMv4c,OAAS,EAAG,CACpB,MAAMqrd,EAAUvpc,KAAKC,IAAID,KAAK+9C,IAAI04Y,EAAM,GAAG54c,OAAQmiB,KAAK+9C,IAAI04Y,EAAMA,EAAMv4c,OAAS,GAAGL,SAChF0rd,EAAU,MAAQA,EAAU,QAC9BD,EAAW,cAEbz9Z,EAmBN,SAAwBw9Z,EAAW5S,GACjC,IAAI5qZ,EAAQ4qZ,EAAMv4c,OAAS,EAAIu4c,EAAM,GAAG54c,MAAQ44c,EAAM,GAAG54c,MAAQ44c,EAAM,GAAG54c,MAAQ44c,EAAM,GAAG54c,MACvFmiB,KAAK+9C,IAAIlS,IAAU,GAAKw9Z,IAAcrpc,KAAKmsC,MAAMk9Z,KACnDx9Z,EAAQw9Z,EAAYrpc,KAAKmsC,MAAMk9Z,IAEjC,OAAOx9Z,CACT,CAzBc29Z,CAAeH,EAAW5S,EACpC,CACA,MAAMgT,EAAWrjC,GAAMpma,KAAK+9C,IAAIlS,IAC1B69Z,EAAa1pc,KAAKC,IAAID,KAAKK,KAAK,EAAIL,KAAKmsC,MAAMs9Z,GAAW,IAAK,GAC/D99b,EAAU,CAAC29b,WAAUK,sBAAuBD,EAAYE,sBAAuBF,GAErF,OADA3pd,OAAO0wB,OAAO9E,EAAS7qB,KAAK6qB,QAAQ8qb,MAAM9Q,QACnCj7M,GAAa2+N,EAAWxrK,EAAQlyR,EACzC,EACAk+b,WAAAA,CAAYR,EAAWxnd,EAAO40c,GAC5B,GAAkB,IAAd4S,EACF,MAAO,IAET,MAAMre,EAASqe,EAAarpc,KAAKyrC,IAAI,GAAIzrC,KAAKmsC,MAAMi6X,GAAMijC,KAC1D,OAAe,IAAXre,GAA2B,IAAXA,GAA2B,IAAXA,EAC3Bme,GAAWC,QAAQvid,KAAK/F,KAAMuod,EAAWxnd,EAAO40c,GAElD,EACT,GASF,IAAIqT,GAAQ,CAACX,eAqEb,SAASY,GAAS7oa,EAAOu1Z,GACvB,MAAMuT,EAAW9oa,EAAMv1B,QAAQ8qb,MACzBwT,EAAaD,EAASE,eAwB9B,SAA2Bhpa,GACzB,MAAM+6F,EAAS/6F,EAAMv1B,QAAQswH,OACvBkuU,EAAajpa,EAAMkpa,YACnBC,EAAWnpa,EAAMo1Z,QAAU6T,GAAcluU,EAAS,EAAI,GACtDquU,EAAWppa,EAAMqpa,WAAaJ,EACpC,OAAOnqc,KAAKmsC,MAAMnsC,KAAKK,IAAIgqc,EAAUC,GACvC,CA9B+CE,CAAkBtpa,GACzDupa,EAAeT,EAASU,MAAMnpP,QA6CtC,SAAyBk1O,GACvB,MAAMnwb,EAAS,GACf,IAAInlB,EAAGqjb,EACP,IAAKrjb,EAAI,EAAGqjb,EAAOiyB,EAAMv4c,OAAQiD,EAAIqjb,EAAMrjb,IACrCs1c,EAAMt1c,GAAGupd,OACXpkc,EAAOxmB,KAAKqB,GAGhB,OAAOmlB,CACT,CAtDgDqkc,CAAgBlU,GAAS,GACjEmU,EAAkBH,EAAavsd,OAC/B2oE,EAAQ4jZ,EAAa,GACrB9nc,EAAO8nc,EAAaG,EAAkB,GACtCC,EAAW,GACjB,GAAID,EAAkBX,EAEpB,OAgDJ,SAAoBxT,EAAOoU,EAAUJ,EAAczP,GACjD,IAEI75c,EAFAI,EAAQ,EACRo6B,EAAO8ub,EAAa,GAGxB,IADAzP,EAAUh7b,KAAKm9C,KAAK69Y,GACf75c,EAAI,EAAGA,EAAIs1c,EAAMv4c,OAAQiD,IACxBA,IAAMw6B,IACRkvb,EAAS/qd,KAAK22c,EAAMt1c,IACpBI,IACAo6B,EAAO8ub,EAAalpd,EAAQy5c,GAGlC,CA7DI8P,CAAWrU,EAAOoU,EAAUJ,EAAcG,EAAkBX,GACrDY,EAET,MAAM7P,EAqBR,SAA0ByP,EAAchU,EAAOwT,GAC7C,MAAMc,EA4DR,SAAwBnoc,GACtB,MAAM6X,EAAM7X,EAAI1kB,OAChB,IAAIiD,EAAGq5K,EACP,GAAI//I,EAAM,EACR,OAAO,EAET,IAAK+/I,EAAO53J,EAAI,GAAIzhB,EAAI,EAAGA,EAAIs5B,IAAOt5B,EACpC,GAAIyhB,EAAIzhB,GAAKyhB,EAAIzhB,EAAI,KAAOq5K,EAC1B,OAAO,EAGX,OAAOA,CACT,CAxE2BwwS,CAAeP,GAClCzP,EAAUvE,EAAMv4c,OAAS+rd,EAC/B,IAAKc,EACH,OAAO/qc,KAAKC,IAAI+6b,EAAS,GAE3B,MAAMiQ,EDppGR,SAAoBptd,GAClB,MAAMyoB,EAAS,GACTk0M,EAAOx6M,KAAKw6M,KAAK38N,GACvB,IAAIsD,EACJ,IAAKA,EAAI,EAAGA,EAAIq5N,EAAMr5N,IAChBtD,EAAQsD,IAAM,IAChBmlB,EAAOxmB,KAAKqB,GACZmlB,EAAOxmB,KAAKjC,EAAQsD,IAOxB,OAJIq5N,KAAiB,EAAPA,IACZl0M,EAAOxmB,KAAK06N,GAEdl0M,EAAOjQ,MAAK,CAACjX,EAAGC,IAAMD,EAAIC,IAAG+yE,MACtB9rD,CACT,CCqoGkB4kc,CAAWH,GAC3B,IAAK,IAAI5pd,EAAI,EAAGqjb,EAAOymC,EAAQ/sd,OAAS,EAAGiD,EAAIqjb,EAAMrjb,IAAK,CACxD,MAAM+oc,EAAS+gB,EAAQ9pd,GACvB,GAAI+oc,EAAS8Q,EACX,OAAO9Q,CAEX,CACA,OAAOlqb,KAAKC,IAAI+6b,EAAS,EAC3B,CAnCkBmQ,CAAiBV,EAAchU,EAAOwT,GACtD,GAAIW,EAAkB,EAAG,CACvB,IAAIzpd,EAAGqjb,EACP,MAAM4mC,EAAkBR,EAAkB,EAAI5qc,KAAKmrB,OAAOxoB,EAAOkkD,IAAU+jZ,EAAkB,IAAM,KAEnG,IADA73Y,GAAK0jY,EAAOoU,EAAU7P,EAASl3B,GAAcsnC,GAAmB,EAAIvkZ,EAAQukZ,EAAiBvkZ,GACxF1lE,EAAI,EAAGqjb,EAAOomC,EAAkB,EAAGzpd,EAAIqjb,EAAMrjb,IAChD4xE,GAAK0jY,EAAOoU,EAAU7P,EAASyP,EAAatpd,GAAIspd,EAAatpd,EAAI,IAGnE,OADA4xE,GAAK0jY,EAAOoU,EAAU7P,EAASr4b,EAAMmha,GAAcsnC,GAAmB3U,EAAMv4c,OAASykB,EAAOyoc,GACrFP,CACT,CAEA,OADA93Y,GAAK0jY,EAAOoU,EAAU7P,GACf6P,CACT,CA8CA,SAAS93Y,GAAK0jY,EAAOoU,EAAU7P,EAASqQ,EAAYC,GAClD,MAAMp/a,EAAQ+3Y,GAAeonC,EAAY,GACnC5pU,EAAMzhI,KAAKK,IAAI4ja,GAAeqnC,EAAU7U,EAAMv4c,QAASu4c,EAAMv4c,QACnE,IACIA,EAAQiD,EAAGw6B,EADXp6B,EAAQ,EAQZ,IANAy5c,EAAUh7b,KAAKm9C,KAAK69Y,GAChBsQ,IACFptd,EAASotd,EAAWD,EACpBrQ,EAAU98c,EAAS8hB,KAAKmsC,MAAMjuD,EAAS88c,IAEzCr/a,EAAOuQ,EACAvQ,EAAO,GACZp6B,IACAo6B,EAAO3b,KAAKmrB,MAAMe,EAAQ3qC,EAAQy5c,GAEpC,IAAK75c,EAAI6e,KAAKC,IAAIisB,EAAO,GAAI/qC,EAAIsgJ,EAAKtgJ,IAChCA,IAAMw6B,IACRkvb,EAAS/qd,KAAK22c,EAAMt1c,IACpBI,IACAo6B,EAAO3b,KAAKmrB,MAAMe,EAAQ3qC,EAAQy5c,GAGxC,CAhKAvhL,GAAS7zR,IAAI,QAAS,CACpBg9J,SAAS,EACT3mB,QAAQ,EACRv4H,SAAS,EACT02b,aAAa,EACbtsO,OAAQ,QACRy9O,MAAO,EACPx0O,KAAM,CACJn0E,SAAS,EACTy4R,UAAW,EACXmwB,YAAY,EACZC,iBAAiB,EACjBC,WAAW,EACXvB,WAAY,EACZwB,UAAWA,CAACtd,EAAM1ib,IAAYA,EAAQ0va,UACtCuwB,UAAWA,CAACvd,EAAM1ib,IAAYA,EAAQ+xM,MACtCzhF,QAAQ,EACRqsT,WAAY,GACZC,iBAAkB,EAClBtO,YAAa,GAEfr7Q,MAAO,CACLhc,SAAS,EACTx4F,KAAM,GACNpiD,QAAS,CACPy1C,IAAK,EACLo5C,OAAQ,IAGZ4/V,MAAO,CACLoV,YAAa,EACbC,YAAa,GACbC,QAAQ,EACRC,gBAAiB,EACjBC,gBAAiB,GACjBjkc,QAAS,EACT46I,SAAS,EACTmnT,UAAU,EACVmC,gBAAiB,EACjBC,YAAa,EACbzqd,SAAUood,GAAMX,WAAW3pd,OAC3B4sd,MAAO,CAAC,EACR1B,MAAO,CAAC,EACR9mC,MAAO,SACPyoC,WAAY,OACZC,mBAAmB,EACnBC,cAAe,4BACfC,gBAAiB,KAGrB/yL,GAAS56F,MAAM,cAAe,QAAS,GAAI,SAC3C46F,GAAS56F,MAAM,aAAc,QAAS,GAAI,eAC1C46F,GAAS56F,MAAM,aAAc,cAAe,GAAI,eAChD46F,GAAS56F,MAAM,cAAe,QAAS,GAAI,SAC3C46F,GAAS69J,SAAS,QAAS,CACzBU,WAAW,EACXF,YAAcvxb,IAAUA,EAAKisC,WAAW,YAAcjsC,EAAKisC,WAAW,UAAqB,aAATjsC,GAAgC,WAATA,EACzGwxb,WAAaxxb,GAAkB,eAATA,GAAkC,mBAATA,IAEjDkzR,GAAS69J,SAAS,SAAU,CAC1BU,UAAW,UAEbv+J,GAAS69J,SAAS,cAAe,CAC/BQ,YAAcvxb,GAAkB,oBAATA,GAAuC,aAATA,EACrDwxb,WAAaxxb,GAAkB,oBAATA,IA+GxB,MACMkmd,GAAiBA,CAACvra,EAAOk2Z,EAAMn7T,IAAoB,QAATm7T,GAA2B,SAATA,EAAkBl2Z,EAAMk2Z,GAAQn7T,EAAS/6F,EAAMk2Z,GAAQn7T,EACzH,SAASywU,GAAO9pc,EAAK+pc,GACnB,MAAMrmc,EAAS,GACTq/H,EAAY/iI,EAAI1kB,OAASyud,EACzBlyb,EAAM7X,EAAI1kB,OAChB,IAAIiD,EAAI,EACR,KAAOA,EAAIs5B,EAAKt5B,GAAKwkJ,EACnBr/H,EAAOxmB,KAAK8iB,EAAI5C,KAAKmsC,MAAMhrD,KAE7B,OAAOmlB,CACT,CACA,SAASsmc,GAAoB1ra,EAAOr/C,EAAOgrd,GACzC,MAAM3ud,EAASgjD,EAAMu1Z,MAAMv4c,OACrB4ud,EAAa9sc,KAAKK,IAAIxe,EAAO3D,EAAS,GACtCguC,EAAQgV,EAAM63Z,YACdt3T,EAAMvgG,EAAM83Z,UACZtyB,EAAU,KAChB,IACIzqS,EADA8wU,EAAY7ra,EAAMw1Z,gBAAgBoW,GAEtC,KAAID,IAEA5wU,EADa,IAAX/9I,EACO8hB,KAAKC,IAAI8sc,EAAY7gb,EAAOu1G,EAAMsrU,GACxB,IAAVlrd,GACCq/C,EAAMw1Z,gBAAgB,GAAKqW,GAAa,GAExCA,EAAY7ra,EAAMw1Z,gBAAgBoW,EAAa,IAAM,EAEjEC,GAAaD,EAAajrd,EAAQo6I,GAAUA,EACxC8wU,EAAY7gb,EAAQw6Y,GAAWqmC,EAAYtrU,EAAMilS,IAIvD,OAAOqmC,CACT,CAcA,SAASC,GAAkBrhc,GACzB,OAAOA,EAAQ+/b,UAAY//b,EAAQw+b,WAAa,CAClD,CACA,SAAS8C,GAAethc,EAASoqE,GAC/B,IAAKpqE,EAAQi3I,QACX,OAAO,EAET,MAAM0zR,EAAOsG,GAAOjxa,EAAQ2qa,KAAMvgW,GAC5B/tE,EAAU20a,GAAUhxa,EAAQ3D,SAElC,OADcpmB,GAAQ+pB,EAAQy+C,MAAQz+C,EAAQy+C,KAAKlsE,OAAS,GAC5Co4b,EAAKvqR,WAAc/jJ,EAAQqxC,MAC7C,CAcA,SAAS6zZ,GAAWtpC,EAAO/2Y,EAAUnpB,GACnC,IAAIpgB,EAAMqgb,GAAmBC,GAI7B,OAHKlga,GAAwB,UAAbmpB,IAA2BnpB,GAAwB,UAAbmpB,KACpDvpC,EA5EkBsgb,IAAoB,SAAVA,EAAmB,QAAoB,UAAVA,EAAoB,OAASA,EA4EhFupC,CAAa7pd,IAEdA,CACT,CAmCA,MAAM8pd,WAAcjyZ,GAClB34D,WAAAA,CAAY6nc,GACVxqG,QACA/+V,KAAK2yC,GAAK42Z,EAAI52Z,GACd3yC,KAAKsR,KAAOi4b,EAAIj4b,KAChBtR,KAAK6qB,aAAUrtB,EACfwC,KAAK21b,IAAM4T,EAAI5T,IACf31b,KAAKwrE,MAAQ+9X,EAAI/9X,MACjBxrE,KAAK28D,SAAMn/D,EACXwC,KAAK+1G,YAASv4G,EACdwC,KAAKR,UAAOhC,EACZwC,KAAKP,WAAQjC,EACbwC,KAAK+Y,WAAQvb,EACbwC,KAAKu4D,YAAS/6D,EACdwC,KAAKusd,SAAW,CACd/sd,KAAM,EACNC,MAAO,EACPk9D,IAAK,EACLo5C,OAAQ,GAEV/1G,KAAKuX,cAAW/Z,EAChBwC,KAAKm/D,eAAY3hE,EACjBwC,KAAKy7D,gBAAaj+D,EAClBwC,KAAK27D,mBAAgBn+D,EACrBwC,KAAK47D,iBAAcp+D,EACnBwC,KAAK07D,kBAAel+D,EACpBwC,KAAK2tV,UAAOnwV,EACZwC,KAAKwsd,mBAAgBhvd,EACrBwC,KAAKuf,SAAM/hB,EACXwC,KAAKmf,SAAM3hB,EACXwC,KAAKysd,YAASjvd,EACdwC,KAAK21c,MAAQ,GACb31c,KAAK0sd,eAAiB,KACtB1sd,KAAK2sd,YAAc,KACnB3sd,KAAK4sd,YAAc,KACnB5sd,KAAKw1c,QAAU,EACfx1c,KAAKypd,WAAa,EAClBzpd,KAAK6sd,kBAAoB,CAAC,EAC1B7sd,KAAKi4c,iBAAcz6c,EACnBwC,KAAKk4c,eAAY16c,EACjBwC,KAAKqgd,gBAAiB,EACtBrgd,KAAK8sd,cAAWtvd,EAChBwC,KAAK+sd,cAAWvvd,EAChBwC,KAAKgtd,mBAAgBxvd,EACrBwC,KAAKitd,mBAAgBzvd,EACrBwC,KAAKktd,aAAe,EACpBltd,KAAKmtd,aAAe,EACpBntd,KAAKm1c,OAAS,CAAC,EACfn1c,KAAKotd,mBAAoB,EACzBptd,KAAKkuc,cAAW1wc,CAClB,CACAq/B,IAAAA,CAAKhS,GACH7qB,KAAK6qB,QAAUA,EAAQsza,WAAWn+b,KAAKwZ,cACvCxZ,KAAK2tV,KAAO9iU,EAAQ8iU,KACpB3tV,KAAK+sd,SAAW/sd,KAAKmE,MAAM0mB,EAAQtL,KACnCvf,KAAK8sd,SAAW9sd,KAAKmE,MAAM0mB,EAAQ1L,KACnCnf,KAAKitd,cAAgBjtd,KAAKmE,MAAM0mB,EAAQwic,cACxCrtd,KAAKgtd,cAAgBhtd,KAAKmE,MAAM0mB,EAAQyic,aAC1C,CACAnpd,KAAAA,CAAMmjH,EAAKvmH,GACT,OAAOumH,CACT,CACA4qV,aAAAA,GACE,IAAI,SAAC6a,EAAQ,SAAED,EAAQ,cAAEG,EAAa,cAAED,GAAiBhtd,KAKzD,OAJA+sd,EAAW7pC,GAAgB6pC,EAAUrgd,OAAOu4a,mBAC5C6nC,EAAW5pC,GAAgB4pC,EAAUpgd,OAAOmlc,mBAC5Cob,EAAgB/pC,GAAgB+pC,EAAevgd,OAAOu4a,mBACtD+nC,EAAgB9pC,GAAgB8pC,EAAetgd,OAAOmlc,mBAC/C,CACLtyb,IAAK2ja,GAAgB6pC,EAAUE,GAC/B9tc,IAAK+ja,GAAgB4pC,EAAUE,GAC/Bhb,WAAY/uB,GAAe8pC,GAC3B9a,WAAYhvB,GAAe6pC,GAE/B,CACArb,SAAAA,CAAUC,GACR,IACIjlT,GADA,IAACltI,EAAG,IAAEJ,EAAG,WAAE6yb,EAAU,WAAEC,GAAcjyc,KAAKkyc,gBAE9C,GAAIF,GAAcC,EAChB,MAAO,CAAC1yb,MAAKJ,OAEf,MAAMouc,EAAQvtd,KAAKssc,0BACnB,IAAK,IAAIjsc,EAAI,EAAGqjb,EAAO6pC,EAAMnwd,OAAQiD,EAAIqjb,IAAQrjb,EAC/CosJ,EAAQ8gU,EAAMltd,GAAG8oO,WAAWsoO,UAAUzxc,KAAM0xc,GACvCM,IACHzyb,EAAML,KAAKK,IAAIA,EAAKktI,EAAMltI,MAEvB0yb,IACH9yb,EAAMD,KAAKC,IAAIA,EAAKstI,EAAMttI,MAK9B,OAFAI,EAAM0yb,GAAc1yb,EAAMJ,EAAMA,EAAMI,EACtCJ,EAAM6yb,GAAczyb,EAAMJ,EAAMI,EAAMJ,EAC/B,CACLI,IAAK2ja,GAAgB3ja,EAAK2ja,GAAgB/ja,EAAKI,IAC/CJ,IAAK+ja,GAAgB/ja,EAAK+ja,GAAgB3ja,EAAKJ,IAEnD,CACA6jc,UAAAA,GACE,MAAO,CACLxjd,KAAMQ,KAAK47D,aAAe,EAC1Be,IAAK38D,KAAKy7D,YAAc,EACxBh8D,MAAOO,KAAK07D,cAAgB,EAC5Bq6C,OAAQ/1G,KAAK27D,eAAiB,EAElC,CACA6xZ,QAAAA,GACE,OAAOxtd,KAAK21c,KACd,CACAzE,SAAAA,GACE,MAAMhuc,EAAOlD,KAAKwrE,MAAMtoE,KACxB,OAAOlD,KAAK6qB,QAAQomb,SAAWjxc,KAAKqhN,eAAiBn+M,EAAKuqd,QAAUvqd,EAAKwqd,UAAYxqd,EAAK+tc,QAAU,EACtG,CACA6T,YAAAA,GACE9kd,KAAKm1c,OAAS,CAAC,EACfn1c,KAAKotd,mBAAoB,CAC3B,CACAO,YAAAA,GACE/sd,GAASZ,KAAK6qB,QAAQ8ic,aAAc,CAAC3td,MACvC,CACA6mG,MAAAA,CAAOtvF,EAAU4nD,EAAWkkY,GAC1B,MAAM,YAACiW,EAAW,MAAEmR,EAAO9U,MAAOuT,GAAYlpd,KAAK6qB,QAC7C+ic,EAAa1E,EAAS0E,WAC5B5td,KAAK2td,eACL3td,KAAKuX,SAAWA,EAChBvX,KAAKm/D,UAAYA,EACjBn/D,KAAKusd,SAAWlpB,EAAUpkc,OAAO0wB,OAAO,CACtCnwB,KAAM,EACNC,MAAO,EACPk9D,IAAK,EACLo5C,OAAQ,GACPstV,GACHrjc,KAAK21c,MAAQ,KACb31c,KAAK4sd,YAAc,KACnB5sd,KAAK0sd,eAAiB,KACtB1sd,KAAK2sd,YAAc,KACnB3sd,KAAK6td,sBACL7td,KAAK8td,gBACL9td,KAAK+td,qBACL/td,KAAKypd,WAAazpd,KAAKqhN,eACnBrhN,KAAK+Y,MAAQsqb,EAAQ7jc,KAAO6jc,EAAQ5jc,MACpCO,KAAKu4D,OAAS8qY,EAAQ1mY,IAAM0mY,EAAQttV,OACnC/1G,KAAKotd,oBACRptd,KAAKgud,mBACLhud,KAAKiud,sBACLjud,KAAKkud,kBACLlud,KAAKysd,OD/wEX,SAAmB0B,EAAQ1D,EAAOnR,GAChC,MAAM,IAAC/5b,EAAG,IAAEJ,GAAOgvc,EACb9kc,EAAS+5Z,GAAYqnC,GAAQtrc,EAAMI,GAAO,GAC1C6uc,EAAWA,CAACrxd,EAAOgU,IAAQuoc,GAAyB,IAAVv8c,EAAc,EAAIA,EAAQgU,EAC1E,MAAO,CACLwO,IAAK6uc,EAAS7uc,GAAML,KAAK+9C,IAAI5zC,IAC7BlK,IAAKivc,EAASjvc,EAAKkK,GAEvB,CCuwEoBglc,CAAUrud,KAAMyqd,EAAOnR,GACrCt5c,KAAKotd,mBAAoB,GAE3Bptd,KAAKsud,mBACLtud,KAAK21c,MAAQ31c,KAAKuud,cAAgB,GAClCvud,KAAKwud,kBACL,MAAMC,EAAkBb,EAAa5td,KAAK21c,MAAMv4c,OAChD4C,KAAK0ud,sBAAsBD,EAAkB7C,GAAO5rd,KAAK21c,MAAOiY,GAAc5td,KAAK21c,OACnF31c,KAAK0qc,YACL1qc,KAAK2ud,+BACL3ud,KAAK4ud,yBACL5ud,KAAK6ud,8BACD3F,EAASpnT,UAAYonT,EAASD,UAAgC,SAApBC,EAASpnd,UACrD9B,KAAK21c,MAAQsT,GAASjpd,KAAMA,KAAK21c,OACjC31c,KAAK4sd,YAAc,MAEjB6B,GACFzud,KAAK0ud,sBAAsB1ud,KAAK21c,OAElC31c,KAAK8ud,YACL9ud,KAAK+ud,MACL/ud,KAAKgvd,WACLhvd,KAAKivd,aACP,CACAvkB,SAAAA,GACE,IACIl4O,EAAYC,EADZy8P,EAAgBlvd,KAAK6qB,QAAQjI,QAE7B5iB,KAAKqhN,gBACPmR,EAAaxyN,KAAKR,KAClBizN,EAAWzyN,KAAKP,QAEhB+yN,EAAaxyN,KAAK28D,IAClB81J,EAAWzyN,KAAK+1G,OAChBm5W,GAAiBA,GAEnBlvd,KAAKi4c,YAAczlP,EACnBxyN,KAAKk4c,UAAYzlP,EACjBzyN,KAAKqgd,eAAiB6O,EACtBlvd,KAAKw1c,QAAU/iP,EAAWD,EAC1BxyN,KAAKmvd,eAAiBnvd,KAAK6qB,QAAQukc,aACrC,CACAH,WAAAA,GACErud,GAASZ,KAAK6qB,QAAQokc,YAAa,CAACjvd,MACtC,CACA6td,mBAAAA,GACEjtd,GAASZ,KAAK6qB,QAAQgjc,oBAAqB,CAAC7td,MAC9C,CACA8td,aAAAA,GACM9td,KAAKqhN,gBACPrhN,KAAK+Y,MAAQ/Y,KAAKuX,SAClBvX,KAAKR,KAAO,EACZQ,KAAKP,MAAQO,KAAK+Y,QAElB/Y,KAAKu4D,OAASv4D,KAAKm/D,UACnBn/D,KAAK28D,IAAM,EACX38D,KAAK+1G,OAAS/1G,KAAKu4D,QAErBv4D,KAAK47D,YAAc,EACnB57D,KAAKy7D,WAAa,EAClBz7D,KAAK07D,aAAe,EACpB17D,KAAK27D,cAAgB,CACvB,CACAoyZ,kBAAAA,GACEntd,GAASZ,KAAK6qB,QAAQkjc,mBAAoB,CAAC/td,MAC7C,CACAqvd,UAAAA,CAAW5pd,GACTzF,KAAKwrE,MAAM8jZ,cAAc7pd,EAAMzF,KAAKwZ,cACpC5Y,GAASZ,KAAK6qB,QAAQplB,GAAO,CAACzF,MAChC,CACAgud,gBAAAA,GACEhud,KAAKqvd,WAAW,mBAClB,CACApB,mBAAAA,GAAuB,CACvBC,eAAAA,GACElud,KAAKqvd,WAAW,kBAClB,CACAf,gBAAAA,GACEtud,KAAKqvd,WAAW,mBAClB,CACAd,UAAAA,GACE,MAAO,EACT,CACAC,eAAAA,GACExud,KAAKqvd,WAAW,kBAClB,CACAE,2BAAAA,GACE3ud,GAASZ,KAAK6qB,QAAQ0kc,4BAA6B,CAACvvd,MACtD,CACAwvd,kBAAAA,CAAmB7Z,GACjB,MAAMuT,EAAWlpd,KAAK6qB,QAAQ8qb,MAC9B,IAAIt1c,EAAGqjb,EAAMilB,EACb,IAAKtoc,EAAI,EAAGqjb,EAAOiyB,EAAMv4c,OAAQiD,EAAIqjb,EAAMrjb,IACzCsoc,EAAOgN,EAAMt1c,GACbsoc,EAAK/kY,MAAQhjE,GAASsod,EAAStod,SAAU,CAAC+nc,EAAK5rc,MAAOsD,EAAGs1c,GAAQ31c,KAErE,CACAyvd,0BAAAA,GACE7ud,GAASZ,KAAK6qB,QAAQ4kc,2BAA4B,CAACzvd,MACrD,CACA2ud,4BAAAA,GACE/td,GAASZ,KAAK6qB,QAAQ8jc,6BAA8B,CAAC3ud,MACvD,CACA4ud,sBAAAA,GACE,MAAM/jc,EAAU7qB,KAAK6qB,QACfq+b,EAAWr+b,EAAQ8qb,MACnB+Z,EAAW1vd,KAAK21c,MAAMv4c,OACtB2td,EAAc7B,EAAS6B,aAAe,EACtCC,EAAc9B,EAAS8B,YAC7B,IACIH,EAAW1rZ,EAAWwwZ,EADtBnD,EAAgBzB,EAEpB,IAAK/qd,KAAK4vd,eAAiB1G,EAASpnT,SAAWipT,GAAeC,GAAe0E,GAAY,IAAM1vd,KAAKqhN,eAElG,YADArhN,KAAKwsd,cAAgBzB,GAGvB,MAAM8E,EAAa7vd,KAAK8vd,iBAClBC,EAAgBF,EAAWG,OAAOj3c,MAClCk3c,EAAiBJ,EAAWK,QAAQ33Z,OACpChhD,EAAW0va,GAAYjnb,KAAKwrE,MAAMzyD,MAAQg3c,EAAe,EAAG/vd,KAAKuX,UACvEszc,EAAYhgc,EAAQswH,OAASn7I,KAAKuX,SAAWm4c,EAAWn4c,GAAYm4c,EAAW,GAC3EK,EAAgB,EAAIlF,IACtBA,EAAYtzc,GAAYm4c,GAAY7kc,EAAQswH,OAAS,GAAM,IAC3Dh8E,EAAYn/D,KAAKm/D,UAAY+sZ,GAAkBrhc,EAAQorN,MACvDizO,EAAShic,QAAUilc,GAAethc,EAAQizJ,MAAO99K,KAAKwrE,MAAM3gD,QAAQ2qa,MACpEm6B,EAAmBzwc,KAAKw6M,KAAKq2P,EAAgBA,EAAgBE,EAAiBA,GAC9EzD,EAAgB/yP,GAAUv6M,KAAKK,IAC7BL,KAAKixc,KAAKlpC,IAAa4oC,EAAWK,QAAQ33Z,OAAS,GAAKsyZ,GAAY,EAAG,IACvE3rc,KAAKixc,KAAKlpC,GAAY9nX,EAAYwwZ,GAAmB,EAAG,IAAMzwc,KAAKixc,KAAKlpC,GAAYgpC,EAAiBN,GAAmB,EAAG,MAE7HnD,EAAgBttc,KAAKC,IAAI4rc,EAAa7rc,KAAKK,IAAIyrc,EAAawB,KAE9Dxsd,KAAKwsd,cAAgBA,CACvB,CACAqC,2BAAAA,GACEjud,GAASZ,KAAK6qB,QAAQgkc,4BAA6B,CAAC7ud,MACtD,CACA8ud,SAAAA,GACElud,GAASZ,KAAK6qB,QAAQikc,UAAW,CAAC9ud,MACpC,CACA+ud,GAAAA,GACE,MAAM5Q,EAAU,CACdplc,MAAO,EACPw/C,OAAQ,IAEJ,MAACiT,EAAO3gD,SAAU8qb,MAAOuT,EAAUprS,MAAOsyS,EAAWn6O,KAAMo6O,IAAarwd,KACxE8hK,EAAU9hK,KAAK4vd,aACfvuQ,EAAerhN,KAAKqhN,eAC1B,GAAIv/C,EAAS,CACX,MAAMwuT,EAAcnE,GAAeiE,EAAW5kZ,EAAM3gD,QAAQ2qa,MAQ5D,GAPIn0O,GACF88P,EAAQplc,MAAQ/Y,KAAKuX,SACrB4mc,EAAQ5lZ,OAAS2zZ,GAAkBmE,GAAYC,IAE/CnS,EAAQ5lZ,OAASv4D,KAAKm/D,UACtBg/Y,EAAQplc,MAAQmzc,GAAkBmE,GAAYC,GAE5CpH,EAASpnT,SAAW9hK,KAAK21c,MAAMv4c,OAAQ,CACzC,MAAM,MAAC2oE,EAAK,KAAElkD,EAAI,OAAEmuc,EAAM,QAAEE,GAAWlwd,KAAK8vd,iBACtCS,EAAiC,EAAnBrH,EAAShic,QACvBspc,EAAe52P,GAAU55N,KAAKwsd,eAC9BnzP,EAAMn6M,KAAKm6M,IAAIm3P,GACfl3P,EAAMp6M,KAAKo6M,IAAIk3P,GACrB,GAAInvQ,EAAc,CAChB,MAAMovQ,EAAcvH,EAAS+B,OAAS,EAAI3xP,EAAM02P,EAAOj3c,MAAQsgN,EAAM62P,EAAQ33Z,OAC7E4lZ,EAAQ5lZ,OAASr5C,KAAKK,IAAIvf,KAAKm/D,UAAWg/Y,EAAQ5lZ,OAASk4Z,EAAcF,EAC3E,KAAO,CACL,MAAM1pY,EAAaqiY,EAAS+B,OAAS,EAAI5xP,EAAM22P,EAAOj3c,MAAQugN,EAAM42P,EAAQ33Z,OAC5E4lZ,EAAQplc,MAAQmG,KAAKK,IAAIvf,KAAKuX,SAAU4mc,EAAQplc,MAAQ8tE,EAAa0pY,EACvE,CACAvwd,KAAK0wd,kBAAkB3qZ,EAAOlkD,EAAMy3M,EAAKD,EAC3C,CACF,CACAr5N,KAAK2wd,iBACDtvQ,GACFrhN,KAAK+Y,MAAQ/Y,KAAKw1c,QAAUhqY,EAAMzyD,MAAQ/Y,KAAKusd,SAAS/sd,KAAOQ,KAAKusd,SAAS9sd,MAC7EO,KAAKu4D,OAAS4lZ,EAAQ5lZ,SAEtBv4D,KAAK+Y,MAAQolc,EAAQplc,MACrB/Y,KAAKu4D,OAASv4D,KAAKw1c,QAAUhqY,EAAMjT,OAASv4D,KAAKusd,SAAS5vZ,IAAM38D,KAAKusd,SAASx2W,OAElF,CACA26W,iBAAAA,CAAkB3qZ,EAAOlkD,EAAMy3M,EAAKD,GAClC,MAAOs8O,OAAO,MAAC7yB,EAAK,QAAE57Z,GAAQ,SAAE6kB,GAAY/rC,KAAK6qB,QAC3C+lc,EAAmC,IAAvB5wd,KAAKwsd,cACjBqE,EAAgC,QAAb9kb,GAAoC,MAAd/rC,KAAK2tV,KACpD,GAAI3tV,KAAKqhN,eAAgB,CACvB,MAAME,EAAavhN,KAAK41c,gBAAgB,GAAK51c,KAAKR,KAC5Csxd,EAAc9wd,KAAKP,MAAQO,KAAK41c,gBAAgB51c,KAAK21c,MAAMv4c,OAAS,GAC1E,IAAIw+D,EAAc,EACdF,EAAe,EACfk1Z,EACEC,GACFj1Z,EAAcy9J,EAAMtzJ,EAAMhtD,MAC1B2iD,EAAe49J,EAAMz3M,EAAK02C,SAE1BqD,EAAc09J,EAAMvzJ,EAAMxN,OAC1BmD,EAAe29J,EAAMx3M,EAAK9I,OAET,UAAV+pa,EACTpnX,EAAe75C,EAAK9I,MACD,QAAV+pa,EACTlnX,EAAcmK,EAAMhtD,OAEpB6iD,EAAcmK,EAAMhtD,MAAQ,EAC5B2iD,EAAe75C,EAAK9I,MAAQ,GAE9B/Y,KAAK47D,YAAc18C,KAAKC,KAAKy8C,EAAc2lJ,EAAar6L,GAAWlnB,KAAK+Y,OAAS/Y,KAAK+Y,MAAQwoM,GAAa,GAC3GvhN,KAAK07D,aAAex8C,KAAKC,KAAKu8C,EAAeo1Z,EAAc5pc,GAAWlnB,KAAK+Y,OAAS/Y,KAAK+Y,MAAQ+3c,GAAc,EACjH,KAAO,CACL,IAAIr1Z,EAAa55C,EAAK02C,OAAS,EAC3BoD,EAAgBoK,EAAMxN,OAAS,EACrB,UAAVuqX,GACFrnX,EAAa,EACbE,EAAgBoK,EAAMxN,QACH,QAAVuqX,IACTrnX,EAAa55C,EAAK02C,OAClBoD,EAAgB,GAElB37D,KAAKy7D,WAAaA,EAAav0C,EAC/BlnB,KAAK27D,cAAgBA,EAAgBz0C,CACvC,CACF,CACAypc,cAAAA,GACM3wd,KAAKusd,WACPvsd,KAAKusd,SAAS/sd,KAAO0f,KAAKC,IAAInf,KAAK47D,YAAa57D,KAAKusd,SAAS/sd,MAC9DQ,KAAKusd,SAAS5vZ,IAAMz9C,KAAKC,IAAInf,KAAKy7D,WAAYz7D,KAAKusd,SAAS5vZ,KAC5D38D,KAAKusd,SAAS9sd,MAAQyf,KAAKC,IAAInf,KAAK07D,aAAc17D,KAAKusd,SAAS9sd,OAChEO,KAAKusd,SAASx2W,OAAS72F,KAAKC,IAAInf,KAAK27D,cAAe37D,KAAKusd,SAASx2W,QAEtE,CACAi5W,QAAAA,GACEpud,GAASZ,KAAK6qB,QAAQmkc,SAAU,CAAChvd,MACnC,CACAqhN,YAAAA,GACE,MAAM,KAACssI,EAAI,SAAE5hT,GAAY/rC,KAAK6qB,QAC9B,MAAoB,QAAbkhB,GAAmC,WAAbA,GAAkC,MAAT4hT,CACxD,CACAojI,UAAAA,GACE,OAAO/wd,KAAK6qB,QAAQ43b,QACtB,CACAiM,qBAAAA,CAAsB/Y,GAGpB,IAAIt1c,EAAGqjb,EACP,IAHA1jb,KAAKuvd,8BACLvvd,KAAKwvd,mBAAmB7Z,GAEnBt1c,EAAI,EAAGqjb,EAAOiyB,EAAMv4c,OAAQiD,EAAIqjb,EAAMrjb,IACrC2ib,GAAc2yB,EAAMt1c,GAAGujE,SACzB+xY,EAAMtzb,OAAOhiB,EAAG,GAChBqjb,IACArjb,KAGJL,KAAKyvd,4BACP,CACAK,cAAAA,GACE,IAAID,EAAa7vd,KAAK4sd,YACtB,IAAKiD,EAAY,CACf,MAAMjC,EAAa5td,KAAK6qB,QAAQ8qb,MAAMiY,WACtC,IAAIjY,EAAQ31c,KAAK21c,MACbiY,EAAajY,EAAMv4c,SACrBu4c,EAAQiW,GAAOjW,EAAOiY,IAExB5td,KAAK4sd,YAAciD,EAAa7vd,KAAKgxd,mBAAmBrb,EAAOA,EAAMv4c,OACvE,CACA,OAAOyyd,CACT,CACAmB,kBAAAA,CAAmBrb,EAAOv4c,GACxB,MAAM,IAACu4b,EAAKk3B,kBAAmBoE,GAAUjxd,KACnC48V,EAAS,GACTs0H,EAAU,GAChB,IAEI7wd,EAAG4nB,EAAGyva,EAAM9zX,EAAOutZ,EAAUC,EAAYtqJ,EAAO77J,EAAYlyJ,EAAOw/C,EAAQ84Z,EAF3EC,EAAkB,EAClBC,EAAmB,EAEvB,IAAKlxd,EAAI,EAAGA,EAAIjD,IAAUiD,EAAG,CAO3B,GANAujE,EAAQ+xY,EAAMt1c,GAAGujE,MACjButZ,EAAWnxd,KAAKwxd,wBAAwBnxd,GACxCs1b,EAAIH,KAAO47B,EAAaD,EAAS33b,OACjCstS,EAAQmqJ,EAAOG,GAAcH,EAAOG,IAAe,CAAClud,KAAM,CAAC,EAAG+nD,GAAI,IAClEggH,EAAakmT,EAASlmT,WACtBlyJ,EAAQw/C,EAAS,EACZyqX,GAAcp/W,IAAW9iE,GAAQ8iE,IAG/B,GAAI9iE,GAAQ8iE,GACjB,IAAK37C,EAAI,EAAGyva,EAAO9zX,EAAMxmE,OAAQ6qB,EAAIyva,IAAQzva,EAC3Copc,EAAcztZ,EAAM37C,GACf+6Z,GAAcquC,IAAiBvwd,GAAQuwd,KAC1Ct4c,EAAQo+a,GAAaxB,EAAK7uH,EAAM5jU,KAAM4jU,EAAM77Q,GAAIlyC,EAAOs4c,GACvD94Z,GAAU0yG,QAPdlyJ,EAAQo+a,GAAaxB,EAAK7uH,EAAM5jU,KAAM4jU,EAAM77Q,GAAIlyC,EAAO6qD,GACvDrL,EAAS0yG,EAUX2xL,EAAO59V,KAAK+Z,GACZm4c,EAAQlyd,KAAKu5D,GACb+4Z,EAAkBpyc,KAAKC,IAAIpG,EAAOu4c,GAClCC,EAAmBryc,KAAKC,IAAIo5C,EAAQg5Z,EACtC,EAvgBJ,SAAwBN,EAAQ7zd,GAC9Bimb,GAAK4tC,GAASnqJ,IACZ,MAAM77Q,EAAK67Q,EAAM77Q,GACX4sY,EAAQ5sY,EAAG7tD,OAAS,EAC1B,IAAIiD,EACJ,GAAIw3b,EAAQz6b,EAAQ,CAClB,IAAKiD,EAAI,EAAGA,EAAIw3b,IAASx3b,SAChBymU,EAAM5jU,KAAK+nD,EAAG5qD,IAEvB4qD,EAAG5oC,OAAO,EAAGw1a,EACf,IAEJ,CA4fIJ,CAAew5B,EAAQ7zd,GACvB,MAAM4yd,EAASpzH,EAAOr7V,QAAQ+vd,GACxBpB,EAAUgB,EAAQ3vd,QAAQgwd,GAC1BE,EAAWpnZ,IAAG,CAAOtxD,MAAO6jV,EAAOvyR,IAAQ,EAAG9R,OAAQ24Z,EAAQ7mZ,IAAQ,IAC5E,MAAO,CACLtE,MAAO0rZ,EAAQ,GACf5vc,KAAM4vc,EAAQr0d,EAAS,GACvB4yd,OAAQyB,EAAQzB,GAChBE,QAASuB,EAAQvB,GACjBtzH,SACAs0H,UAEJ,CACA5e,gBAAAA,CAAiBv1c,GACf,OAAOA,CACT,CACA24c,gBAAAA,CAAiB34c,EAAOgE,GACtB,OAAO0oD,GACT,CACAioa,gBAAAA,CAAiB9oX,GAAQ,CACzBgtW,eAAAA,CAAgB70c,GACd,MAAM40c,EAAQ31c,KAAK21c,MACnB,OAAI50c,EAAQ,GAAKA,EAAQ40c,EAAMv4c,OAAS,EAC/B,KAEF4C,KAAK01c,iBAAiBC,EAAM50c,GAAOhE,MAC5C,CACAy8c,kBAAAA,CAAmBmY,GACb3xd,KAAKqgd,iBACPsR,EAAU,EAAIA,GAEhB,MAAM/oX,EAAQ5oG,KAAKi4c,YAAc0Z,EAAU3xd,KAAKw1c,QAChD,ODzsHKvuB,GCysHcjnb,KAAKmvd,eAAiBr3B,GAAY93b,KAAKwrE,MAAOo9B,EAAO,GAAKA,GDzsHpD,MAAO,MC0sHlC,CACAgpX,kBAAAA,CAAmBhpX,GACjB,MAAM+oX,GAAW/oX,EAAQ5oG,KAAKi4c,aAAej4c,KAAKw1c,QAClD,OAAOx1c,KAAKqgd,eAAiB,EAAIsR,EAAUA,CAC7C,CACAva,YAAAA,GACE,OAAOp3c,KAAK01c,iBAAiB11c,KAAK6xd,eACpC,CACAA,YAAAA,GACE,MAAM,IAACtyc,EAAG,IAAEJ,GAAOnf,KACnB,OAAOuf,EAAM,GAAKJ,EAAM,EAAIA,EAC1BI,EAAM,GAAKJ,EAAM,EAAII,EACrB,CACJ,CACA/F,UAAAA,CAAWzY,GACT,MAAM40c,EAAQ31c,KAAK21c,OAAS,GAC5B,GAAI50c,GAAS,GAAKA,EAAQ40c,EAAMv4c,OAAQ,CACtC,MAAMurc,EAAOgN,EAAM50c,GACnB,OAAO4nc,EAAKuF,WACbvF,EAAKuF,SA7hBV,SAA2B13b,EAAQzV,EAAO4nc,GACxC,OAAOzqL,GAAc1nQ,EAAQ,CAC3Bmyb,OACA5nc,QACAuQ,KAAM,QAEV,CAuhBqBwgd,CAAkB9xd,KAAKwZ,aAAczY,EAAO4nc,GAC7D,CACA,OAAO3oc,KAAKkuc,WACZluc,KAAKkuc,SAriBAhwL,GAqiB8Bl+Q,KAAKwrE,MAAMhyD,aAriBnB,CAC3B4mC,MAoiB4DpgD,KAniB5DsR,KAAM,UAoiBR,CACAg4c,SAAAA,GACE,MAAMyI,EAAc/xd,KAAK6qB,QAAQ8qb,MAC3Bqc,EAAMp4P,GAAU55N,KAAKwsd,eACrBnzP,EAAMn6M,KAAK+9C,IAAI/9C,KAAKm6M,IAAI24P,IACxB14P,EAAMp6M,KAAK+9C,IAAI/9C,KAAKo6M,IAAI04P,IACxBnC,EAAa7vd,KAAK8vd,iBAClB5oc,EAAU6qc,EAAY3G,iBAAmB,EACzCp8K,EAAI6gL,EAAaA,EAAWG,OAAOj3c,MAAQmO,EAAU,EACrDgjC,EAAI2la,EAAaA,EAAWK,QAAQ33Z,OAASrxC,EAAU,EAC7D,OAAOlnB,KAAKqhN,eACRn3J,EAAImvK,EAAM21E,EAAI11E,EAAM01E,EAAI31E,EAAMnvK,EAAIovK,EAClCpvK,EAAIovK,EAAM01E,EAAI31E,EAAMnvK,EAAImvK,EAAM21E,EAAI11E,CACxC,CACAs2P,UAAAA,GACE,MAAM9tT,EAAU9hK,KAAK6qB,QAAQi3I,QAC7B,MAAgB,SAAZA,IACOA,EAEJ9hK,KAAKssc,0BAA0Blvc,OAAS,CACjD,CACA60d,qBAAAA,CAAsBvf,GACpB,MAAM/kH,EAAO3tV,KAAK2tV,KACZniR,EAAQxrE,KAAKwrE,MACb3gD,EAAU7qB,KAAK6qB,SACf,KAACorN,EAAI,SAAElqM,GAAYlhB,EACnBswH,EAAS86F,EAAK96F,OACdkmE,EAAerhN,KAAKqhN,eAEpB6wQ,EADQlyd,KAAK21c,MACOv4c,QAAU+9I,EAAS,EAAI,GAC3Cg3U,EAAKjG,GAAkBj2O,GACvB1tN,EAAQ,GACR6pc,EAAan8O,EAAKkoN,WAAWn+b,KAAKwZ,cAClC64c,EAAYD,EAAW1H,WAAa0H,EAAWj5B,YAAc,EAC7Dm5B,EAAgBD,EAAY,EAC5BE,EAAmB,SAAS3pX,GAChC,OAAOkvV,GAAYtsX,EAAOo9B,EAAOypX,EACnC,EACA,IAAIG,EAAanyd,EAAG4rd,EAAWwG,EAC3BC,EAAKC,EAAKC,EAAKC,EAAKC,EAAIC,EAAIC,EAAIC,EACpC,GAAiB,QAAblnb,EACFymb,EAAcD,EAAiBvyd,KAAK+1G,QACpC48W,EAAM3yd,KAAK+1G,OAASo8W,EACpBU,EAAML,EAAcF,EACpBS,EAAKR,EAAiB7f,EAAU/1Y,KAAO21Z,EACvCW,EAAKvgB,EAAU38V,YACV,GAAiB,WAAbhqE,EACTymb,EAAcD,EAAiBvyd,KAAK28D,KACpCo2Z,EAAKrgB,EAAU/1Y,IACfs2Z,EAAKV,EAAiB7f,EAAU38V,QAAUu8W,EAC1CK,EAAMH,EAAcF,EACpBO,EAAM7yd,KAAK28D,IAAMw1Z,OACZ,GAAiB,SAAbpmb,EACTymb,EAAcD,EAAiBvyd,KAAKP,OACpCizd,EAAM1yd,KAAKP,MAAQ0yd,EACnBS,EAAMJ,EAAcF,EACpBQ,EAAKP,EAAiB7f,EAAUlzc,MAAQ8yd,EACxCU,EAAKtgB,EAAUjzc,WACV,GAAiB,UAAbssC,EACTymb,EAAcD,EAAiBvyd,KAAKR,MACpCszd,EAAKpgB,EAAUlzc,KACfwzd,EAAKT,EAAiB7f,EAAUjzc,OAAS6yd,EACzCI,EAAMF,EAAcF,EACpBM,EAAM5yd,KAAKR,KAAO2yd,OACb,GAAa,MAATxkI,EAAc,CACvB,GAAiB,WAAb5hT,EACFymb,EAAcD,GAAkB7f,EAAU/1Y,IAAM+1Y,EAAU38V,QAAU,EAAI,SACnE,GAAI0mL,GAAS1wP,GAAW,CAC7B,MAAMmnb,EAAiBj0d,OAAOmB,KAAK2rC,GAAU,GACvChvC,EAAQgvC,EAASmnb,GACvBV,EAAcD,EAAiBvyd,KAAKwrE,MAAM6qX,OAAO68B,GAAgBxd,iBAAiB34c,GACpF,CACAg2d,EAAKrgB,EAAU/1Y,IACfs2Z,EAAKvgB,EAAU38V,OACf48W,EAAMH,EAAcF,EACpBO,EAAMF,EAAMR,CACd,MAAO,GAAa,MAATxkI,EAAc,CACvB,GAAiB,WAAb5hT,EACFymb,EAAcD,GAAkB7f,EAAUlzc,KAAOkzc,EAAUjzc,OAAS,QAC/D,GAAIg9R,GAAS1wP,GAAW,CAC7B,MAAMmnb,EAAiBj0d,OAAOmB,KAAK2rC,GAAU,GACvChvC,EAAQgvC,EAASmnb,GACvBV,EAAcD,EAAiBvyd,KAAKwrE,MAAM6qX,OAAO68B,GAAgBxd,iBAAiB34c,GACpF,CACA21d,EAAMF,EAAcF,EACpBM,EAAMF,EAAMP,EACZW,EAAKpgB,EAAUlzc,KACfwzd,EAAKtgB,EAAUjzc,KACjB,CACA,MAAM+rO,EAAQ23M,GAAet4Z,EAAQ8qb,MAAMyT,cAAe8I,GACpDrgZ,EAAO3yD,KAAKC,IAAI,EAAGD,KAAKm9C,KAAK61Z,EAAc1mP,IACjD,IAAKnrO,EAAI,EAAGA,EAAI6xd,EAAa7xd,GAAKwxE,EAAM,CACtC,MAAMshZ,EAAcl9O,EAAKkoN,WAAWn+b,KAAKwZ,WAAWnZ,IAC9Ck6b,EAAY44B,EAAY54B,UACxB64B,EAAYD,EAAYv2P,MACxB4qO,EAAavxN,EAAKuxN,YAAc,GAChCC,EAAmB0rB,EAAY1rB,iBAC/BojB,EAAYsI,EAAYtI,UACxBC,EAAYqI,EAAYrI,UACxBuI,EAAiBF,EAAYE,gBAAkB,GAC/CC,EAAuBH,EAAYG,qBACzCrH,EAAYH,GAAoB9rd,KAAMK,EAAG86I,QACvB39I,IAAdyud,IAGJwG,EAAmB36B,GAAYtsX,EAAOygZ,EAAW1xB,GAC7Cl5O,EACFqxQ,EAAME,EAAME,EAAKE,EAAKP,EAEtBE,EAAME,EAAME,EAAKE,EAAKR,EAExBlqc,EAAMvpB,KAAK,CACT0zd,MACAC,MACAC,MACAC,MACAC,KACAC,KACAC,KACAC,KACAl6c,MAAOwhb,EACP39N,MAAOw2P,EACP5rB,aACAC,mBACAojB,YACAC,YACAuI,iBACAC,yBAEJ,CAGA,OAFAtzd,KAAKktd,aAAegF,EACpBlyd,KAAKmtd,aAAeqF,EACbjqc,CACT,CACAgrc,kBAAAA,CAAmB7gB,GACjB,MAAM/kH,EAAO3tV,KAAK2tV,KACZ9iU,EAAU7qB,KAAK6qB,SACf,SAACkhB,EAAU4pa,MAAOoc,GAAelnc,EACjCw2L,EAAerhN,KAAKqhN,eACpBs0P,EAAQ31c,KAAK21c,OACb,MAAC7yB,EAAK,WAAEyoC,EAAU,QAAErkc,EAAO,OAAE+jc,GAAU8G,EACvCI,EAAKjG,GAAkBrhc,EAAQorN,MAC/Bu9O,EAAiBrB,EAAKjrc,EACtBusc,EAAkBxI,GAAU/jc,EAAUssc,EACtC96B,GAAY9+N,GAAU55N,KAAKwsd,eAC3Bjkc,EAAQ,GACd,IAAIloB,EAAGqjb,EAAMilB,EAAM/kY,EAAO3B,EAAGD,EAAG29S,EAAW/2Q,EAAO4sV,EAAMvqR,EAAYyoT,EAAWC,EAC3Ev5B,EAAe,SACnB,GAAiB,QAAbruZ,EACFi2B,EAAIhiE,KAAK+1G,OAAS09W,EAClB9zG,EAAY3/W,KAAK4zd,+BACZ,GAAiB,WAAb7nb,EACTi2B,EAAIhiE,KAAK28D,IAAM82Z,EACf9zG,EAAY3/W,KAAK4zd,+BACZ,GAAiB,SAAb7nb,EAAqB,CAC9B,MAAMvpC,EAAMxC,KAAK6zd,wBAAwB1B,GACzCxyG,EAAYn9W,EAAIm9W,UAChB19S,EAAIz/D,EAAIy/D,CACV,MAAO,GAAiB,UAAbl2B,EAAsB,CAC/B,MAAMvpC,EAAMxC,KAAK6zd,wBAAwB1B,GACzCxyG,EAAYn9W,EAAIm9W,UAChB19S,EAAIz/D,EAAIy/D,CACV,MAAO,GAAa,MAAT0rR,EAAc,CACvB,GAAiB,WAAb5hT,EACFi2B,GAAM0wY,EAAU/1Y,IAAM+1Y,EAAU38V,QAAU,EAAKy9W,OAC1C,GAAI/2L,GAAS1wP,GAAW,CAC7B,MAAMmnb,EAAiBj0d,OAAOmB,KAAK2rC,GAAU,GACvChvC,EAAQgvC,EAASmnb,GACvBlxZ,EAAIhiE,KAAKwrE,MAAM6qX,OAAO68B,GAAgBxd,iBAAiB34c,GAASy2d,CAClE,CACA7zG,EAAY3/W,KAAK4zd,yBACnB,MAAO,GAAa,MAATjmI,EAAc,CACvB,GAAiB,WAAb5hT,EACFk2B,GAAMywY,EAAUlzc,KAAOkzc,EAAUjzc,OAAS,EAAK+zd,OAC1C,GAAI/2L,GAAS1wP,GAAW,CAC7B,MAAMmnb,EAAiBj0d,OAAOmB,KAAK2rC,GAAU,GACvChvC,EAAQgvC,EAASmnb,GACvBjxZ,EAAIjiE,KAAKwrE,MAAM6qX,OAAO68B,GAAgBxd,iBAAiB34c,EACzD,CACA4iX,EAAY3/W,KAAK6zd,wBAAwB1B,GAAIxyG,SAC/C,CACa,MAAThyB,IACY,UAAVm1F,EACFsX,EAAe,MACI,QAAVtX,IACTsX,EAAe,WAGnB,MAAMy1B,EAAa7vd,KAAK8vd,iBACxB,IAAKzvd,EAAI,EAAGqjb,EAAOiyB,EAAMv4c,OAAQiD,EAAIqjb,IAAQrjb,EAAG,CAC9Csoc,EAAOgN,EAAMt1c,GACbujE,EAAQ+kY,EAAK/kY,MACb,MAAMuvZ,EAAcpB,EAAY5zB,WAAWn+b,KAAKwZ,WAAWnZ,IAC3DuoG,EAAQ5oG,KAAK41c,gBAAgBv1c,GAAK0xd,EAAY1G,YAC9C71B,EAAOx1b,KAAKwxd,wBAAwBnxd,GACpC4qK,EAAauqR,EAAKvqR,WAClByoT,EAAY5yd,GAAQ8iE,GAASA,EAAMxmE,OAAS,EAC5C,MAAM02d,EAAYJ,EAAY,EACxB92P,EAAQu2P,EAAYv2P,MACpBq9N,EAAck5B,EAAYhI,gBAC1Br/K,EAAcqnL,EAAYjI,gBA2BhC,IAAIj9G,EACJ,GA3BI5sJ,GACFp/I,EAAI2mC,EAGA+qX,EAFa,QAAb5nb,EACiB,SAAfw/a,GAAsC,IAAb7yB,GACbg7B,EAAYzoT,EAAaA,EAAa,EAC5B,WAAfsgT,GACKsE,EAAWK,QAAQ33Z,OAAS,EAAIu7Z,EAAY7oT,EAAaA,GAEzD4kT,EAAWK,QAAQ33Z,OAAS0yG,EAAa,EAGtC,SAAfsgT,GAAsC,IAAb7yB,EACdztR,EAAa,EACF,WAAfsgT,EACIsE,EAAWK,QAAQ33Z,OAAS,EAAIu7Z,EAAY7oT,EAE5C4kT,EAAWK,QAAQ33Z,OAASm7Z,EAAYzoT,EAGrDggT,IACF0I,IAAe,KAGjB3xZ,EAAI4mC,EACJ+qX,GAAc,EAAID,GAAazoT,EAAa,GAG1CkoT,EAAY3H,kBAAmB,CACjC,MAAMuI,EAAel4B,GAAUs3B,EAAYzH,iBACrCnzZ,EAASs3Z,EAAWqB,QAAQ7wd,GAC5B0Y,EAAQ82c,EAAWjzH,OAAOv8V,GAChC,IAAIs8D,EAAMqF,EAAI2xZ,EAAaI,EAAap3Z,IACpCn9D,EAAOyiE,EAAI8xZ,EAAav0d,KAC5B,OAAQ46b,GACR,IAAK,SACHz9X,GAAOpE,EAAS,EAChB,MACF,IAAK,SACHoE,GAAOpE,EAGT,OAAQonT,GACR,IAAK,SACHngX,GAAQuZ,EAAQ,EAChB,MACF,IAAK,QACHvZ,GAAQuZ,EAGVk1V,EAAW,CACTzuW,OACAm9D,MACA5jD,MAAOA,EAAQg7c,EAAah7c,MAC5Bw/C,OAAQA,EAASw7Z,EAAax7Z,OAC9BqkK,MAAOu2P,EAAY1H,cAEvB,CACAljc,EAAMvpB,KAAK,CACT05b,WACA90X,QACA4xX,OACA54N,QACAq9N,cACAnuJ,cACA6nL,aACAh0G,YACAy6E,eACAF,YAAa,CAACj4X,EAAGD,GACjBisS,YAEJ,CACA,OAAO1lV,CACT,CACAqrc,uBAAAA,GACE,MAAM,SAAC7nb,EAAQ,MAAE4pa,GAAS31c,KAAK6qB,QAE/B,IADkB+uM,GAAU55N,KAAKwsd,eAE/B,MAAoB,QAAbzgb,EAAqB,OAAS,QAEvC,IAAI+2Y,EAAQ,SAMZ,MALoB,UAAhB6yB,EAAM7yB,MACRA,EAAQ,OACiB,QAAhB6yB,EAAM7yB,QACfA,EAAQ,SAEHA,CACT,CACA+wC,uBAAAA,CAAwB1B,GACtB,MAAM,SAACpmb,EAAU4pa,OAAO,WAAC4V,EAAU,OAAEN,EAAM,QAAE/jc,IAAYlnB,KAAK6qB,QAExD2oc,EAAiBrB,EAAKjrc,EACtB8oc,EAFahwd,KAAK8vd,iBAEEE,OAAOj3c,MACjC,IAAI4mW,EACA19S,EAoDJ,MAnDiB,SAAbl2B,EACEk/a,GACFhpZ,EAAIjiE,KAAKP,MAAQynB,EACE,SAAfqkc,EACF5rG,EAAY,OACY,WAAf4rG,GACT5rG,EAAY,SACZ19S,GAAM+tZ,EAAS,IAEfrwG,EAAY,QACZ19S,GAAK+tZ,KAGP/tZ,EAAIjiE,KAAKP,MAAQ+zd,EACE,SAAfjI,EACF5rG,EAAY,QACY,WAAf4rG,GACT5rG,EAAY,SACZ19S,GAAM+tZ,EAAS,IAEfrwG,EAAY,OACZ19S,EAAIjiE,KAAKR,OAGS,UAAbusC,EACLk/a,GACFhpZ,EAAIjiE,KAAKR,KAAO0nB,EACG,SAAfqkc,EACF5rG,EAAY,QACY,WAAf4rG,GACT5rG,EAAY,SACZ19S,GAAM+tZ,EAAS,IAEfrwG,EAAY,OACZ19S,GAAK+tZ,KAGP/tZ,EAAIjiE,KAAKR,KAAOg0d,EACG,SAAfjI,EACF5rG,EAAY,OACY,WAAf4rG,GACT5rG,EAAY,SACZ19S,GAAK+tZ,EAAS,IAEdrwG,EAAY,QACZ19S,EAAIjiE,KAAKP,QAIbkgX,EAAY,QAEP,CAACA,YAAW19S,IACrB,CACA+xZ,iBAAAA,GACE,GAAIh0d,KAAK6qB,QAAQ8qb,MAAMsV,OACrB,OAEF,MAAMz/Y,EAAQxrE,KAAKwrE,MACbz/B,EAAW/rC,KAAK6qB,QAAQkhB,SAC9B,MAAiB,SAAbA,GAAoC,UAAbA,EAClB,CAAC4wB,IAAK,EAAGn9D,KAAMQ,KAAKR,KAAMu2G,OAAQvqC,EAAMjT,OAAQ94D,MAAOO,KAAKP,OAClD,QAAbssC,GAAmC,WAAbA,EACnB,CAAC4wB,IAAK38D,KAAK28D,IAAKn9D,KAAM,EAAGu2G,OAAQ/1G,KAAK+1G,OAAQt2G,MAAO+rE,EAAMzyD,YADlE,CAGJ,CACAk7c,cAAAA,GACE,MAAM,IAACt+B,EAAK9qa,SAAS,gBAACkyM,GAAgB,KAAEv9N,EAAI,IAAEm9D,EAAG,MAAE5jD,EAAK,OAAEw/C,GAAUv4D,KAChE+8N,IACF44N,EAAI7oX,OACJ6oX,EAAIwE,UAAYp9N,EAChB44N,EAAIu+B,SAAS10d,EAAMm9D,EAAK5jD,EAAOw/C,GAC/Bo9X,EAAIiC,UAER,CACAghB,oBAAAA,CAAqB77c,GACnB,MAAMk5O,EAAOj2O,KAAK6qB,QAAQorN,KAC1B,IAAKj2O,KAAK4vd,eAAiB35O,EAAKn0E,QAC9B,OAAO,EAET,MACM/gK,EADQf,KAAK21c,MACCjrX,WAAUz5D,GAAKA,EAAEl0B,QAAUA,IAC/C,GAAIgE,GAAS,EAAG,CAEd,OADak1O,EAAKkoN,WAAWn+b,KAAKwZ,WAAWzY,IACjCw5b,SACd,CACA,OAAO,CACT,CACA45B,QAAAA,CAASzhB,GACP,MAAMz8N,EAAOj2O,KAAK6qB,QAAQorN,KACpB0/M,EAAM31b,KAAK21b,IACXpta,EAAQvoB,KAAK0sd,iBAAmB1sd,KAAK0sd,eAAiB1sd,KAAKiyd,sBAAsBvf,IACvF,IAAIryc,EAAGqjb,EACP,MAAM0wC,EAAWA,CAACzjD,EAAIC,EAAIt4W,KACnBA,EAAMv/C,OAAUu/C,EAAMskK,QAG3B+4N,EAAI7oX,OACJ6oX,EAAI4E,UAAYjiY,EAAMv/C,MACtB48a,EAAI2E,YAAchiY,EAAMskK,MACxB+4N,EAAI0+B,YAAY/7Z,EAAMkvY,YAAc,IACpC7R,EAAI2+B,eAAiBh8Z,EAAMmvY,iBAC3B9R,EAAIkD,YACJlD,EAAIqD,OAAOroB,EAAG1uW,EAAG0uW,EAAG3uW,GACpB2zX,EAAIsD,OAAOroB,EAAG3uW,EAAG2uW,EAAG5uW,GACpB2zX,EAAIr9E,SACJq9E,EAAIiC,UAAS,EAEf,GAAI3hN,EAAKn0E,QACP,IAAKzhK,EAAI,EAAGqjb,EAAOn7Z,EAAMnrB,OAAQiD,EAAIqjb,IAAQrjb,EAAG,CAC9C,MAAMsY,EAAO4P,EAAMloB,GACf41O,EAAK00O,iBACPyJ,EACE,CAACnyZ,EAAGtpD,EAAKm6c,GAAI9wZ,EAAGrpD,EAAKo6c,IACrB,CAAC9wZ,EAAGtpD,EAAKq6c,GAAIhxZ,EAAGrpD,EAAKs6c,IACrBt6c,GAGAs9N,EAAK20O,WACPwJ,EACE,CAACnyZ,EAAGtpD,EAAK+5c,IAAK1wZ,EAAGrpD,EAAKg6c,KACtB,CAAC1wZ,EAAGtpD,EAAKi6c,IAAK5wZ,EAAGrpD,EAAKk6c,KACtB,CACEj2P,MAAOjkN,EAAKmyc,UACZ/xc,MAAOJ,EAAKkyc,UACZrjB,WAAY7ub,EAAK06c,eACjB5rB,iBAAkB9ub,EAAK26c,sBAI/B,CAEJ,CACA5I,UAAAA,GACE,MAAM,MAACl/Y,EAAK,IAAEmqX,EAAK9qa,SAAS,KAACorN,IAASj2O,KAChCoyd,EAAan8O,EAAKkoN,WAAWn+b,KAAKwZ,cAClC64c,EAAYp8O,EAAKy0O,WAAa0H,EAAWj5B,YAAc,EAC7D,IAAKk5B,EACH,OAEF,MAAMkC,EAAgBt+O,EAAKkoN,WAAWn+b,KAAKwZ,WAAW,IAAI+gb,UACpDi4B,EAAcxyd,KAAKmtd,aACzB,IAAI2F,EAAIE,EAAID,EAAIE,EACZjzd,KAAKqhN,gBACPyxQ,EAAKh7B,GAAYtsX,EAAOxrE,KAAKR,KAAM6yd,GAAaA,EAAY,EAC5DW,EAAKl7B,GAAYtsX,EAAOxrE,KAAKP,MAAO80d,GAAiBA,EAAgB,EACrExB,EAAKE,EAAKT,IAEVO,EAAKj7B,GAAYtsX,EAAOxrE,KAAK28D,IAAK01Z,GAAaA,EAAY,EAC3DY,EAAKn7B,GAAYtsX,EAAOxrE,KAAK+1G,OAAQw+W,GAAiBA,EAAgB,EACtEzB,EAAKE,EAAKR,GAEZ78B,EAAI7oX,OACJ6oX,EAAI4E,UAAY63B,EAAWj5B,YAC3BxD,EAAI2E,YAAc83B,EAAW/8B,YAC7BM,EAAIkD,YACJlD,EAAIqD,OAAO85B,EAAIC,GACfp9B,EAAIsD,OAAO+5B,EAAIC,GACft9B,EAAIr9E,SACJq9E,EAAIiC,SACN,CACA48B,UAAAA,CAAW9hB,GAET,IADoB1yc,KAAK6qB,QAAQ8qb,MAChB7zS,QACf,OAEF,MAAM6zR,EAAM31b,KAAK21b,IACX3sJ,EAAOhpS,KAAKg0d,oBACdhrL,GACFqwJ,GAAS1D,EAAK3sJ,GAEhB,MAAMzgR,EAAQvoB,KAAK2sd,cAAgB3sd,KAAK2sd,YAAc3sd,KAAKuzd,mBAAmB7gB,IAC9E,IAAIryc,EAAGqjb,EACP,IAAKrjb,EAAI,EAAGqjb,EAAOn7Z,EAAMnrB,OAAQiD,EAAIqjb,IAAQrjb,EAAG,CAC9C,MAAMsY,EAAO4P,EAAMloB,GACb8wd,EAAWx4c,EAAK68a,KAChB5xX,EAAQjrD,EAAKirD,MACfjrD,EAAKs1V,WACP0nF,EAAIwE,UAAYxhb,EAAKs1V,SAASrxI,MAC9B+4N,EAAIu+B,SAASv7c,EAAKs1V,SAASzuW,KAAMmZ,EAAKs1V,SAAStxS,IAAKhkD,EAAKs1V,SAASl1V,MAAOJ,EAAKs1V,SAAS11S,SAGzFyhY,GAAWrE,EAAK/xX,EAAO,EADfjrD,EAAKg7c,WACgBxC,EAAUx4c,EACzC,CACIqwR,GACFuwJ,GAAW5D,EAEf,CACA8+B,SAAAA,GACE,MAAM,IAAC9+B,EAAK9qa,SAAS,SAACkhB,EAAQ,MAAE+xI,EAAK,QAAEl7J,IAAY5iB,KACnD,IAAK89K,EAAMhc,QACT,OAEF,MAAM0zR,EAAOsG,GAAOh+Q,EAAM03Q,MACpBtua,EAAU20a,GAAU/9Q,EAAM52J,SAC1B47Z,EAAQhlQ,EAAMglQ,MACpB,IAAI3nS,EAASq6S,EAAKvqR,WAAa,EACd,WAAbl/H,GAAsC,WAAbA,GAAyB0wP,GAAS1wP,IAC7DovG,GAAUj0H,EAAQ6uF,OACdj1G,GAAQg9K,EAAMx0G,QAChB6xE,GAAUq6S,EAAKvqR,YAAc6S,EAAMx0G,KAAKlsE,OAAS,KAGnD+9I,GAAUj0H,EAAQy1C,IAEpB,MAAM,OAAC+3Z,EAAM,OAAEC,EAAM,SAAEp9c,EAAQ,SAAEmhb,GAtgCrC,SAAmBt4Y,EAAO+6F,EAAQpvG,EAAU+2Y,GAC1C,MAAM,IAACnmX,EAAG,KAAEn9D,EAAI,OAAEu2G,EAAM,MAAEt2G,EAAK,MAAE+rE,GAASprB,GACpC,UAACsyZ,EAAS,OAAErc,GAAU7qX,EAC5B,IACIj0D,EAAUm9c,EAAQC,EADlBj8B,EAAW,EAEf,MAAMngY,EAASw9C,EAASp5C,EAClB5jD,EAAQtZ,EAAQD,EACtB,GAAI4gD,EAAMihK,eAAgB,CAExB,GADAqzQ,EAAS3xC,GAAeD,EAAOtjb,EAAMC,GACjCg9R,GAAS1wP,GAAW,CACtB,MAAMmnb,EAAiBj0d,OAAOmB,KAAK2rC,GAAU,GACvChvC,EAAQgvC,EAASmnb,GACvByB,EAASt+B,EAAO68B,GAAgBxd,iBAAiB34c,GAASw7D,EAAS4iF,CACrE,MACEw5U,EADsB,WAAb5ob,GACC2ma,EAAU38V,OAAS28V,EAAU/1Y,KAAO,EAAIpE,EAAS4iF,EAElDwwU,GAAevra,EAAOrU,EAAUovG,GAE3C5jI,EAAW9X,EAAQD,CACrB,KAAO,CACL,GAAIi9R,GAAS1wP,GAAW,CACtB,MAAMmnb,EAAiBj0d,OAAOmB,KAAK2rC,GAAU,GACvChvC,EAAQgvC,EAASmnb,GACvBwB,EAASr+B,EAAO68B,GAAgBxd,iBAAiB34c,GAASgc,EAAQoiI,CACpE,MACEu5U,EADsB,WAAb3ob,GACC2ma,EAAUlzc,KAAOkzc,EAAUjzc,OAAS,EAAIsZ,EAAQoiI,EAEjDwwU,GAAevra,EAAOrU,EAAUovG,GAE3Cw5U,EAAS5xC,GAAeD,EAAO/sU,EAAQp5C,GACvC+7X,EAAwB,SAAb3sZ,GAAuBo5Y,GAAUA,EAC9C,CACA,MAAO,CAACuvC,SAAQC,SAAQp9c,WAAUmhb,WACpC,CAq+BiDk8B,CAAU50d,KAAMm7I,EAAQpvG,EAAU+2Y,GAC/EkX,GAAWrE,EAAK73Q,EAAMx0G,KAAM,EAAG,EAAGksX,EAAM,CACtC54N,MAAO9+C,EAAM8+C,MACbrlN,WACAmhb,WACA/4E,UAAWysG,GAAWtpC,EAAO/2Y,EAAUnpB,GACvCw3a,aAAc,SACdF,YAAa,CAACw6B,EAAQC,IAE1B,CACAnsB,IAAAA,CAAKkK,GACE1yc,KAAK4vd,eAGV5vd,KAAKi0d,iBACLj0d,KAAKm0d,SAASzhB,GACd1yc,KAAK0qd,aACL1qd,KAAKy0d,YACLz0d,KAAKw0d,WAAW9hB,GAClB,CACAuR,OAAAA,GACE,MAAM5kL,EAAOr/R,KAAK6qB,QACZgqc,EAAKx1L,EAAKs2K,OAASt2K,EAAKs2K,MAAM9xK,GAAK,EACnCixL,EAAK3xC,GAAe9jJ,EAAKppD,MAAQopD,EAAKppD,KAAK4tD,GAAI,GACrD,OAAK7jS,KAAK4vd,cAAgB5vd,KAAKwoc,OAAS8jB,GAAMpsd,UAAUsoc,KAQjD,CAAC,CACN3kK,EAAGixL,EACHtsB,KAAOkK,IACL1yc,KAAKi0d,iBACLj0d,KAAKm0d,SAASzhB,GACd1yc,KAAKy0d,WAAW,GAEjB,CACD5wL,EAAGixL,EAAK,EACRtsB,KAAMA,KACJxoc,KAAK0qd,YAAY,GAElB,CACD7mL,EAAGgxL,EACHrsB,KAAOkK,IACL1yc,KAAKw0d,WAAW9hB,EAAU,IAtBrB,CAAC,CACN7uK,EAAGgxL,EACHrsB,KAAOkK,IACL1yc,KAAKwoc,KAAKkK,EAAU,GAsB5B,CACApG,uBAAAA,CAAwBh7b,GACtB,MAAMi8c,EAAQvtd,KAAKwrE,MAAMg1Y,+BACnBuU,EAAS/0d,KAAK2tV,KAAO,SACrBnoU,EAAS,GACf,IAAInlB,EAAGqjb,EACP,IAAKrjb,EAAI,EAAGqjb,EAAO6pC,EAAMnwd,OAAQiD,EAAIqjb,IAAQrjb,EAAG,CAC9C,MAAMgzP,EAAOk6N,EAAMltd,GACfgzP,EAAK0hO,KAAY/0d,KAAK2yC,IAAQrhC,GAAQ+hP,EAAK/hP,OAASA,GACtDkU,EAAOxmB,KAAKq0P,EAEhB,CACA,OAAO7tO,CACT,CACAgsc,uBAAAA,CAAwBzwd,GAEtB,OAAO+6b,GADM97b,KAAK6qB,QAAQ8qb,MAAMxX,WAAWn+b,KAAKwZ,WAAWzY,IACxCy0b,KACrB,CACAw/B,UAAAA,GACE,MAAMz3G,EAAWv9W,KAAKwxd,wBAAwB,GAAGvmT,WACjD,OAAQjrK,KAAKqhN,eAAiBrhN,KAAK+Y,MAAQ/Y,KAAKu4D,QAAUglT,CAC5D,EAGF,MAAM03G,GACJvzd,WAAAA,CAAY4P,EAAMgvX,EAAOm2D,GACvBz2b,KAAKsR,KAAOA,EACZtR,KAAKsgY,MAAQA,EACbtgY,KAAKy2b,SAAWA,EAChBz2b,KAAKuoB,MAAQtpB,OAAOotB,OAAO,KAC7B,CACA6oc,SAAAA,CAAU5jd,GACR,OAAOrS,OAAOiB,UAAUi1d,cAAcpvd,KAAK/F,KAAKsR,KAAKpR,UAAWoR,EAAKpR,UACvE,CACAuT,QAAAA,CAASkF,GACP,MAAMjV,EAAQzE,OAAO0E,eAAegV,GACpC,IAAIy8c,GA+DR,SAA2B1xd,GACzB,MAAO,OAAQA,GAAS,aAAcA,CACxC,EAhEQ2xd,CAAkB3xd,KACpB0xd,EAAcp1d,KAAKyT,SAAS/P,IAE9B,MAAM6kB,EAAQvoB,KAAKuoB,MACboqB,EAAKh6B,EAAKg6B,GACV2tV,EAAQtgY,KAAKsgY,MAAQ,IAAM3tV,EACjC,IAAKA,EACH,MAAM,IAAI1oC,MAAM,2BAA6B0O,GAE/C,OAAIg6B,KAAMpqB,IAGVA,EAAMoqB,GAAMh6B,EAyBhB,SAA0BA,EAAM2nX,EAAO80F,GACrC,MAAME,EAAe56L,GAAMz7R,OAAOotB,OAAO,MAAO,CAC9C+oc,EAAcz8L,GAASl0R,IAAI2wd,GAAe,CAAC,EAC3Cz8L,GAASl0R,IAAI67X,GACb3nX,EAAKggR,WAEPA,GAAS7zR,IAAIw7X,EAAOg1F,GAChB38c,EAAKyvc,eAOX,SAAuB9nF,EAAOnyD,GAC5BlvU,OAAOmB,KAAK+tU,GAAQpvU,SAAQiD,IAC1B,MAAMuzd,EAAgBvzd,EAASsB,MAAM,KAC/Bkyd,EAAaD,EAAcjkZ,MAC3BmkZ,EAAc,CAACn1F,GAAOt1X,OAAOuqd,GAAepqd,KAAK,KACjDo+C,EAAQ4kR,EAAOnsU,GAAUsB,MAAM,KAC/Bqzb,EAAaptY,EAAM+nB,MACnBolX,EAAcntY,EAAMp+C,KAAK,KAC/BwtR,GAAS56F,MAAM03R,EAAaD,EAAY9+B,EAAaC,EAAW,GAEpE,CAhBI++B,CAAcp1F,EAAO3nX,EAAKyvc,eAExBzvc,EAAKu8a,aACPv8J,GAAS69J,SAASl2D,EAAO3nX,EAAKu8a,YAElC,CArCIygC,CAAiBh9c,EAAM2nX,EAAO80F,GAC1Bp1d,KAAKy2b,UACP99J,GAAS89J,SAAS99a,EAAKg6B,GAAIh6B,EAAKs8a,YALzB30D,CAQX,CACA77X,GAAAA,CAAIkuC,GACF,OAAO3yC,KAAKuoB,MAAMoqB,EACpB,CACAijb,UAAAA,CAAWj9c,GACT,MAAM4P,EAAQvoB,KAAKuoB,MACboqB,EAAKh6B,EAAKg6B,GACV2tV,EAAQtgY,KAAKsgY,MACf3tV,KAAMpqB,UACDA,EAAMoqB,GAEX2tV,GAAS3tV,KAAMgmP,GAAS2nG,YACnB3nG,GAAS2nG,GAAO3tV,GACnB3yC,KAAKy2b,iBACAxB,GAAUtiZ,GAGvB,EAqHF,IAAIygN,GAAW,IAtFf,MACE1xP,WAAAA,GACE1B,KAAK42P,YAAc,IAAIq+N,GAAc3nB,GAAmB,YAAY,GACpEttc,KAAK8nJ,SAAW,IAAImtU,GAAc56Z,GAAS,YAC3Cr6D,KAAKo2b,QAAU,IAAI6+B,GAAch2d,OAAQ,WACzCe,KAAKq2b,OAAS,IAAI4+B,GAAc3I,GAAO,UACvCtsd,KAAK61d,iBAAmB,CAAC71d,KAAK42P,YAAa52P,KAAKq2b,OAAQr2b,KAAK8nJ,SAC/D,CACA/2I,GAAAA,GAAa,QAAAqwT,EAAA98T,UAAAlH,OAAN4J,EAAI,IAAAnG,MAAAugU,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJr6T,EAAIq6T,GAAA/8T,UAAA+8T,GACTrhU,KAAK81d,MAAM,WAAY9ud,EACzB,CACAwwE,MAAAA,GAAgB,QAAA0sP,EAAA5/T,UAAAlH,OAAN4J,EAAI,IAAAnG,MAAAqjU,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJn9T,EAAIm9T,GAAA7/T,UAAA6/T,GACZnkU,KAAK81d,MAAM,aAAc9ud,EAC3B,CACA+ud,cAAAA,GAAwB,QAAA/wJ,EAAA1gU,UAAAlH,OAAN4J,EAAI,IAAAnG,MAAAmkU,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJj+T,EAAIi+T,GAAA3gU,UAAA2gU,GACpBjlU,KAAK81d,MAAM,WAAY9ud,EAAMhH,KAAK42P,YACpC,CACA23M,WAAAA,GAAqB,QAAAnpI,EAAA9gU,UAAAlH,OAAN4J,EAAI,IAAAnG,MAAAukU,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJr+T,EAAIq+T,GAAA/gU,UAAA+gU,GACjBrlU,KAAK81d,MAAM,WAAY9ud,EAAMhH,KAAK8nJ,SACpC,CACAkuU,UAAAA,GAAoB,QAAAvwJ,EAAAnhU,UAAAlH,OAAN4J,EAAI,IAAAnG,MAAA4kU,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJ1+T,EAAI0+T,GAAAphU,UAAAohU,GAChB1lU,KAAK81d,MAAM,WAAY9ud,EAAMhH,KAAKo2b,QACpC,CACA6/B,SAAAA,GAAmB,QAAArwJ,EAAAthU,UAAAlH,OAAN4J,EAAI,IAAAnG,MAAA+kU,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJ7+T,EAAI6+T,GAAAvhU,UAAAuhU,GACf7lU,KAAK81d,MAAM,WAAY9ud,EAAMhH,KAAKq2b,OACpC,CACA6/B,aAAAA,CAAcvjb,GACZ,OAAO3yC,KAAKm2d,KAAKxjb,EAAI3yC,KAAK42P,YAAa,aACzC,CACAw/N,UAAAA,CAAWzjb,GACT,OAAO3yC,KAAKm2d,KAAKxjb,EAAI3yC,KAAK8nJ,SAAU,UACtC,CACAuuU,SAAAA,CAAU1jb,GACR,OAAO3yC,KAAKm2d,KAAKxjb,EAAI3yC,KAAKo2b,QAAS,SACrC,CACAkgC,QAAAA,CAAS3jb,GACP,OAAO3yC,KAAKm2d,KAAKxjb,EAAI3yC,KAAKq2b,OAAQ,QACpC,CACAkgC,iBAAAA,GAA2B,QAAAvwJ,EAAA1hU,UAAAlH,OAAN4J,EAAI,IAAAnG,MAAAmlU,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJj/T,EAAIi/T,GAAA3hU,UAAA2hU,GACvBjmU,KAAK81d,MAAM,aAAc9ud,EAAMhH,KAAK42P,YACtC,CACA4/N,cAAAA,GAAwB,QAAAC,EAAAnyd,UAAAlH,OAAN4J,EAAI,IAAAnG,MAAA41d,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJ1vd,EAAI0vd,GAAApyd,UAAAoyd,GACpB12d,KAAK81d,MAAM,aAAc9ud,EAAMhH,KAAK8nJ,SACtC,CACA6uU,aAAAA,GAAuB,QAAAC,EAAAtyd,UAAAlH,OAAN4J,EAAI,IAAAnG,MAAA+1d,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJ7vd,EAAI6vd,GAAAvyd,UAAAuyd,GACnB72d,KAAK81d,MAAM,aAAc9ud,EAAMhH,KAAKo2b,QACtC,CACA0gC,YAAAA,GAAsB,QAAAC,EAAAzyd,UAAAlH,OAAN4J,EAAI,IAAAnG,MAAAk2d,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJhwd,EAAIgwd,GAAA1yd,UAAA0yd,GAClBh3d,KAAK81d,MAAM,aAAc9ud,EAAMhH,KAAKq2b,OACtC,CACAy/B,KAAAA,CAAM7jM,EAAQjrR,EAAMiwd,GAClB,IAAIjwd,GAAMjI,SAAQ4J,IAChB,MAAM29O,EAAM2wO,GAAiBj3d,KAAKk3d,oBAAoBvud,GAClDsud,GAAiB3wO,EAAI4uO,UAAUvsd,IAAS29O,IAAQtmP,KAAKo2b,SAAWztb,EAAIgqC,GACtE3yC,KAAKm3d,MAAMllM,EAAQ3rC,EAAK39O,GAExB06a,GAAK16a,GAAKgQ,IACR,MAAMy+c,EAAUH,GAAiBj3d,KAAKk3d,oBAAoBv+c,GAC1D3Y,KAAKm3d,MAAMllM,EAAQmlM,EAASz+c,EAAK,GAErC,GAEJ,CACAw+c,KAAAA,CAAMllM,EAAQ7+B,EAAU5tM,GACtB,MAAM6xa,EAAc1yC,GAAY1yJ,GAChCrxR,GAAS4kD,EAAU,SAAW6xa,GAAc,GAAI7xa,GAChD4tM,EAAS6+B,GAAQzsO,GACjB5kD,GAAS4kD,EAAU,QAAU6xa,GAAc,GAAI7xa,EACjD,CACA0xa,mBAAAA,CAAoB5ld,GAClB,IAAK,IAAIjR,EAAI,EAAGA,EAAIL,KAAK61d,iBAAiBz4d,OAAQiD,IAAK,CACrD,MAAMimP,EAAMtmP,KAAK61d,iBAAiBx1d,GAClC,GAAIimP,EAAI4uO,UAAU5jd,GAChB,OAAOg1O,CAEX,CACA,OAAOtmP,KAAKo2b,OACd,CACA+/B,IAAAA,CAAKxjb,EAAIskb,EAAe3ld,GACtB,MAAMqH,EAAOs+c,EAAcxyd,IAAIkuC,GAC/B,QAAan1C,IAATmb,EACF,MAAM,IAAI1O,MAAM,IAAM0oC,EAAK,yBAA2BrhC,EAAO,KAE/D,OAAOqH,CACT,GAIF,MAAM2+c,GACJ51d,WAAAA,GACE1B,KAAK6kS,MAAQ,EACf,CACA0yL,MAAAA,CAAO/rZ,EAAOgsZ,EAAMxwd,EAAM3E,GACX,eAATm1d,IACFx3d,KAAK6kS,MAAQ7kS,KAAKy3d,mBAAmBjsZ,GAAO,GAC5CxrE,KAAKgoc,QAAQhoc,KAAK6kS,MAAOr5N,EAAO,YAElC,MAAM0pX,EAAc7yb,EAASrC,KAAKo1b,aAAa5pX,GAAOnpE,OAAOA,GAAUrC,KAAKo1b,aAAa5pX,GACnFhmD,EAASxlB,KAAKgoc,QAAQ9S,EAAa1pX,EAAOgsZ,EAAMxwd,GAKtD,MAJa,iBAATwwd,IACFx3d,KAAKgoc,QAAQ9S,EAAa1pX,EAAO,QACjCxrE,KAAKgoc,QAAQhoc,KAAK6kS,MAAOr5N,EAAO,cAE3BhmD,CACT,CACAwib,OAAAA,CAAQ9S,EAAa1pX,EAAOgsZ,EAAMxwd,GAChCA,EAAOA,GAAQ,CAAC,EAChB,IAAK,MAAMyG,KAAcynb,EAAa,CACpC,MAAMwiC,EAASjqd,EAAWiqd,OAG1B,IAAyC,IAArC92d,GAFW82d,EAAOF,GACP,CAAChsZ,EAAOxkE,EAAMyG,EAAWod,SACX6sc,IAAqB1wd,EAAK6mH,WACrD,OAAO,CAEX,CACA,OAAO,CACT,CACA8pW,UAAAA,GACO30C,GAAchjb,KAAKm1c,UACtBn1c,KAAK43d,UAAY53d,KAAKm1c,OACtBn1c,KAAKm1c,YAAS33c,EAElB,CACA43b,YAAAA,CAAa5pX,GACX,GAAIxrE,KAAKm1c,OACP,OAAOn1c,KAAKm1c,OAEd,MAAMjgB,EAAcl1b,KAAKm1c,OAASn1c,KAAKy3d,mBAAmBjsZ,GAE1D,OADAxrE,KAAK63d,oBAAoBrsZ,GAClB0pX,CACT,CACAuiC,kBAAAA,CAAmBjsZ,EAAOkH,GACxB,MAAM+T,EAASjb,GAASA,EAAMib,OACxB57D,EAAUs4Z,GAAe18V,EAAO57D,SAAW47D,EAAO57D,QAAQura,QAAS,CAAC,GACpEA,EAWV,SAAoB3vW,GAClB,MAAM2vW,EAAU,GACVh2b,EAAOnB,OAAOmB,KAAKgzP,GAASgjM,QAAQ7ta,OAC1C,IAAK,IAAIloB,EAAI,EAAGA,EAAID,EAAKhD,OAAQiD,IAC/B+1b,EAAQp3b,KAAKo0P,GAASijO,UAAUj2d,EAAKC,KAEvC,MAAM02b,EAAQtwW,EAAO2vW,SAAW,GAChC,IAAK,IAAI/1b,EAAI,EAAGA,EAAI02b,EAAM35b,OAAQiD,IAAK,CACrC,MAAMq3d,EAAS3gC,EAAM12b,IACY,IAA7B+1b,EAAQ70b,QAAQm2d,IAClBthC,EAAQp3b,KAAK04d,EAEjB,CACA,OAAOthC,CACT,CAzBoB0hC,CAAWrxY,GAC3B,OAAmB,IAAZ57D,GAAsB6nD,EAkCjC,SAA2BlH,EAAO4qX,EAASvra,EAAS6nD,GAClD,MAAMltD,EAAS,GACTve,EAAUukE,EAAMhyD,aACtB,IAAK,IAAInZ,EAAI,EAAGA,EAAI+1b,EAAQh5b,OAAQiD,IAAK,CACvC,MAAMq3d,EAASthC,EAAQ/1b,GAEjBg/R,EAAO04L,GAAQltc,EADV6sc,EAAO/kb,IACgB+/B,GACrB,OAAT2sN,GAGJ75Q,EAAOxmB,KAAK,CACV04d,SACA7sc,QAASmtc,GAAWxsZ,EAAMib,OAAQixY,EAAQr4L,EAAMp4R,IAEpD,CACA,OAAOue,CACT,CAlD4Cyyc,CAAkBzsZ,EAAO4qX,EAASvra,EAAS6nD,GAAhD,EACrC,CACAmlZ,mBAAAA,CAAoBrsZ,GAClB,MAAM0sZ,EAAsBl4d,KAAK43d,WAAa,GACxC1iC,EAAcl1b,KAAKm1c,OACnBz7R,EAAOA,CAACp7K,EAAGC,IAAMD,EAAE+D,QAAO4/D,IAAM1jE,EAAEgpB,MAAKy6C,GAAKC,EAAEy1Z,OAAO/kb,KAAOqvB,EAAE01Z,OAAO/kb,OAC3E3yC,KAAKgoc,QAAQtuR,EAAKw+S,EAAqBhjC,GAAc1pX,EAAO,QAC5DxrE,KAAKgoc,QAAQtuR,EAAKw7Q,EAAagjC,GAAsB1sZ,EAAO,QAC9D,EAiBF,SAASusZ,GAAQltc,EAAS6nD,GACxB,OAAKA,IAAmB,IAAZ7nD,GAGI,IAAZA,EACK,CAAC,EAEHA,EALE,IAMX,CAkBA,SAASmtc,GAAWvxY,EAAQixY,EAAQr4L,EAAMp4R,GACxC,MAAM7G,EAAOqmF,EAAO0xY,gBAAgBT,GAC9Bx8I,EAASz0P,EAAOiqX,gBAAgBrxK,EAAMj/R,GAC5C,OAAOqmF,EAAOkqX,eAAez1H,EAAQj0U,EAAS,CAAC,IAAK,CAAC23b,YAAY,EAAOC,WAAW,EAAOF,SAAS,GACrG,CAEA,SAASy5B,GAAa9md,EAAMuZ,GAC1B,MAAMwtc,EAAkB1/L,GAAS28J,SAAShkb,IAAS,CAAC,EAEpD,QADwBuZ,EAAQyqa,UAAY,CAAC,GAAGhkb,IAAS,CAAC,GACpCwkb,WAAajra,EAAQira,WAAauiC,EAAgBviC,WAAa,GACvF,CAqBA,SAASwiC,GAAc3lb,EAAI4lb,GACzB,MAAW,MAAP5lb,GAAqB,MAAPA,EACTA,EAEF4lb,EAAa5qI,MAZtB,SAA0B5hT,GACxB,MAAiB,QAAbA,GAAmC,WAAbA,EACjB,IAEQ,SAAbA,GAAoC,UAAbA,EAClB,SADT,CAGF,CAK8Bysb,CAAiBD,EAAaxsb,WAAa4G,EAAGgV,OAAO,GAAG3vB,aACtF,CAuCA,SAASygc,GAAYhyY,GACnB,MAAM57D,EAAU47D,EAAO57D,UAAY47D,EAAO57D,QAAU,CAAC,GACrDA,EAAQura,QAAUjT,GAAet4Z,EAAQura,QAAS,CAAC,GACnDvra,EAAQwra,OAzCV,SAA0B5vW,EAAQ57D,GAChC,MAAM6tc,EAAgBzjC,GAAUxuW,EAAOn1E,OAAS,CAAC+kb,OAAQ,CAAC,GACpDsiC,EAAe9tc,EAAQwra,QAAU,CAAC,EAClCuiC,EAAiBR,GAAa3xY,EAAOn1E,KAAMuZ,GAC3Cguc,EAAW55d,OAAOotB,OAAO,MACzBgqa,EAASp3b,OAAOotB,OAAO,MA+B7B,OA9BAptB,OAAOmB,KAAKu4d,GAAc55d,SAAQ4zC,IAChC,MAAMmmb,EAAYH,EAAahmb,GAC/B,IAAK8pP,GAASq8L,GACZ,OAAOj1d,QAAQ0H,MAAM,0CAADP,OAA2C2nC,IAEjE,GAAImmb,EAAU96B,OACZ,OAAOn6b,QAAQC,KAAK,kDAADkH,OAAmD2nC,IAExE,MAAMg7S,EAAO2qI,GAAc3lb,EAAImmb,GACzBC,EAhCV,SAAmCprI,EAAMmoG,GACvC,OAAOnoG,IAASmoG,EAAY,UAAY,SAC1C,CA8BsBkjC,CAA0BrrI,EAAMirI,GAC5CK,EAAsBP,EAAcriC,QAAU,CAAC,EACrDwiC,EAASlrI,GAAQkrI,EAASlrI,IAASh7S,EACnC0jZ,EAAO1jZ,GAAM2xY,GAAQrlb,OAAOotB,OAAO,MAAO,CAAC,CAACshU,QAAOmrI,EAAWG,EAAoBtrI,GAAOsrI,EAAoBF,IAAY,IAE3HtyY,EAAOvjF,KAAKoyb,SAASv2b,SAAQ0vc,IAC3B,MAAMn9b,EAAOm9b,EAAQn9b,MAAQm1E,EAAOn1E,KAC9Bwkb,EAAY2Y,EAAQ3Y,WAAasiC,GAAa9md,EAAMuZ,GAEpDouc,GADkBhkC,GAAU3jb,IAAS,CAAC,GACA+kb,QAAU,CAAC,EACvDp3b,OAAOmB,KAAK64d,GAAqBl6d,SAAQm6d,IACvC,MAAMvrI,EApDZ,SAAmCh7S,EAAImjZ,GACrC,IAAInoG,EAAOh7S,EAMX,MALW,YAAPA,EACFg7S,EAAOmoG,EACS,YAAPnjZ,IACTg7S,EAAqB,MAAdmoG,EAAoB,IAAM,KAE5BnoG,CACT,CA4CmBwrI,CAA0BD,EAAWpjC,GAC5CnjZ,EAAK87Z,EAAQ9gH,EAAO,WAAakrI,EAASlrI,IAASA,EACzD0oG,EAAO1jZ,GAAM0jZ,EAAO1jZ,IAAO1zC,OAAOotB,OAAO,MACzCi4Z,GAAQ+R,EAAO1jZ,GAAK,CAAC,CAACg7S,QAAOgrI,EAAahmb,GAAKsmb,EAAoBC,IAAY,GAC/E,IAEJj6d,OAAOmB,KAAKi2b,GAAQt3b,SAAQiC,IAC1B,MAAMo/C,EAAQi2Y,EAAOr1b,GACrBsjb,GAAQlkY,EAAO,CAACu4O,GAAS09J,OAAOj2Y,EAAM9uC,MAAOqnR,GAASv4O,OAAO,IAExDi2Y,CACT,CAImB+iC,CAAiB3yY,EAAQ57D,EAC5C,CACA,SAASwuc,GAASn2d,GAIhB,OAHAA,EAAOA,GAAQ,CAAC,GACXoyb,SAAWpyb,EAAKoyb,UAAY,GACjCpyb,EAAK+tc,OAAS/tc,EAAK+tc,QAAU,GACtB/tc,CACT,CAOA,MAAMo2d,GAAW,IAAIz6d,IACf06d,GAAa,IAAI36d,IACvB,SAAS46d,GAAW/0F,EAAUg1F,GAC5B,IAAIr5d,EAAOk5d,GAAS70d,IAAIggY,GAMxB,OALKrkY,IACHA,EAAOq5d,IACPH,GAASx0d,IAAI2/X,EAAUrkY,GACvBm5d,GAAWxod,IAAI3Q,IAEVA,CACT,CACA,MAAMs5d,GAAaA,CAAC50d,EAAKzD,EAAKL,KAC5B,MAAMq+R,EAAOqlJ,GAAiBrjb,EAAKL,QACtBxD,IAAT6hS,GACFv6R,EAAIiM,IAAIsuR,EACV,EAEF,MAAMs6L,GACJj4d,WAAAA,CAAY+kF,GACVzmF,KAAK45d,QAzBT,SAAoBnzY,GAIlB,OAHAA,EAASA,GAAU,CAAC,GACbvjF,KAAOm2d,GAAS5yY,EAAOvjF,MAC9Bu1d,GAAYhyY,GACLA,CACT,CAoBmBozY,CAAWpzY,GAC1BzmF,KAAK85d,YAAc,IAAIj7d,IACvBmB,KAAK+5d,eAAiB,IAAIl7d,GAC5B,CACA,YAAI64D,GACF,OAAO13D,KAAK45d,QAAQlia,QACtB,CACA,QAAIpmD,GACF,OAAOtR,KAAK45d,QAAQtod,IACtB,CACA,QAAIA,CAAKA,GACPtR,KAAK45d,QAAQtod,KAAOA,CACtB,CACA,QAAIpO,GACF,OAAOlD,KAAK45d,QAAQ12d,IACtB,CACA,QAAIA,CAAKA,GACPlD,KAAK45d,QAAQ12d,KAAOm2d,GAASn2d,EAC/B,CACA,WAAI2nB,GACF,OAAO7qB,KAAK45d,QAAQ/uc,OACtB,CACA,WAAIA,CAAQA,GACV7qB,KAAK45d,QAAQ/uc,QAAUA,CACzB,CACA,WAAIura,GACF,OAAOp2b,KAAK45d,QAAQxjC,OACtB,CACAvvV,MAAAA,GACE,MAAMpgB,EAASzmF,KAAK45d,QACpB55d,KAAKg6d,aACLvB,GAAYhyY,EACd,CACAuzY,UAAAA,GACEh6d,KAAK85d,YAAY59R,QACjBl8L,KAAK+5d,eAAe79R,OACtB,CACAu0Q,gBAAAA,CAAiBwpB,GACf,OAAOT,GAAWS,GAChB,IAAM,CAAC,CAAC,YAADjvd,OACOivd,GACZ,MAEN,CACA3mB,yBAAAA,CAA0B2mB,EAAax9T,GACrC,OAAO+8T,GAAW,GAADxud,OAAIivd,EAAW,gBAAAjvd,OAAeyxJ,IAC7C,IAAM,CACJ,CAAC,YAADzxJ,OACcivd,EAAW,iBAAAjvd,OAAgByxJ,GAAU,eAAAzxJ,OAClCyxJ,IAEjB,CAAC,YAADzxJ,OACcivd,GACZ,MAGR,CACA9mB,uBAAAA,CAAwB8mB,EAAa92L,GACnC,OAAOq2L,GAAW,GAADxud,OAAIivd,EAAW,KAAAjvd,OAAIm4R,IAClC,IAAM,CAAC,CAAC,YAADn4R,OACOivd,EAAW,cAAAjvd,OAAam4R,GAAW,YAAAn4R,OACnCivd,GAAW,YAAAjvd,OACXm4R,GACZ,MAEN,CACAg1L,eAAAA,CAAgBT,GACd,MAAM/kb,EAAK+kb,EAAO/kb,GACZrhC,EAAOtR,KAAKsR,KAClB,OAAOkod,GAAW,GAADxud,OAAIsG,EAAI,YAAAtG,OAAW2nC,IAClC,IAAM,CAAC,CAAC,WAAD3nC,OACM2nC,MACR+kb,EAAOwC,wBAA0B,MAE1C,CACAC,aAAAA,CAAcC,EAAWjvN,GACvB,MAAM2uN,EAAc95d,KAAK85d,YACzB,IAAIhzJ,EAAQgzJ,EAAYr1d,IAAI21d,GAK5B,OAJKtzJ,IAAS37D,IACZ27D,EAAQ,IAAIjoU,IACZi7d,EAAYh1d,IAAIs1d,EAAWtzJ,IAEtBA,CACT,CACA4pI,eAAAA,CAAgB0pB,EAAWC,EAAUlvN,GACnC,MAAM,QAACtgP,EAAO,KAAEvZ,GAAQtR,KAClB8mU,EAAQ9mU,KAAKm6d,cAAcC,EAAWjvN,GACtCvpG,EAASklK,EAAMriU,IAAI41d,GACzB,GAAIz4T,EACF,OAAOA,EAET,MAAMs5K,EAAS,IAAIt8U,IACnBy7d,EAASt7d,SAAQqB,IACXg6d,IACFl/I,EAAOnqU,IAAIqpd,GACXh6d,EAAKrB,SAAQiC,GAAO04d,GAAWx+I,EAAQk/I,EAAWp5d,MAEpDZ,EAAKrB,SAAQiC,GAAO04d,GAAWx+I,EAAQrwT,EAAS7pB,KAChDZ,EAAKrB,SAAQiC,GAAO04d,GAAWx+I,EAAQ+5G,GAAU3jb,IAAS,CAAC,EAAGtQ,KAC9DZ,EAAKrB,SAAQiC,GAAO04d,GAAWx+I,EAAQviD,GAAU33R,KACjDZ,EAAKrB,SAAQiC,GAAO04d,GAAWx+I,EAAQg6G,GAAal0b,IAAK,IAE3D,MAAMmhB,EAAQthB,MAAM8oE,KAAKuxQ,GAOzB,OANqB,IAAjB/4T,EAAM/kB,QACR+kB,EAAMnjB,KAAKC,OAAOotB,OAAO,OAEvBktc,GAAWtpb,IAAIoqb,IACjBvzJ,EAAMhiU,IAAIu1d,EAAUl4c,GAEfA,CACT,CACAm4c,iBAAAA,GACE,MAAM,QAACzvc,EAAO,KAAEvZ,GAAQtR,KACxB,MAAO,CACL6qB,EACAoqa,GAAU3jb,IAAS,CAAC,EACpBqnR,GAAS28J,SAAShkb,IAAS,CAAC,EAC5B,CAACA,QACDqnR,GACAu8J,GAEJ,CACAke,mBAAAA,CAAoBl4H,EAAQ/mK,EAAOltK,GAA0B,IAAjB0yD,EAAQr1D,UAAAlH,OAAA,QAAAI,IAAA8G,UAAA,GAAAA,UAAA,GAAG,CAAC,IACtD,MAAMkhB,EAAS,CAACqlb,SAAS,IACnB,SAACrM,EAAQ,YAAE+7B,GAAeC,GAAYx6d,KAAK+5d,eAAgB7+I,EAAQvhR,GACzE,IAAI9uC,EAAU2za,EACd,GAsCJ,SAAqBlB,EAAOnpR,GAC1B,MAAM,aAACkqR,EAAY,YAAEE,GAAenJ,GAAakI,GACjD,IAAK,MAAMjlU,KAAQ87C,EAAO,CACxB,MAAMyqR,EAAaP,EAAahmU,GAC1BwmU,EAAYN,EAAYlmU,GACxBt7H,GAAS8hc,GAAaD,IAAetB,EAAMjlU,GACjD,GAAKumU,IAAe/4b,GAAW9I,IAAU09d,GAAY19d,KAC/C8hc,GAAa/9b,GAAQ/D,GACzB,OAAO,CAEX,CACA,OAAO,CACT,CAlDQ29d,CAAYl8B,EAAUrqR,GAAQ,CAChC3uJ,EAAOqlb,SAAU,EAGjBhgb,EAAUgza,GAAeW,EAFzBv3b,EAAUpB,GAAWoB,GAAWA,IAAYA,EACxBjH,KAAK2wc,eAAez1H,EAAQj0U,EAASszd,GAE3D,CACA,IAAK,MAAMliW,KAAQ87C,EACjB3uJ,EAAO6yG,GAAQxtG,EAAQwtG,GAEzB,OAAO7yG,CACT,CACAmrb,cAAAA,CAAez1H,EAAQj0U,GAA8C,IAArC0yD,EAAQr1D,UAAAlH,OAAA,QAAAI,IAAA8G,UAAA,GAAAA,UAAA,GAAG,CAAC,IAAKy5b,EAAkBz5b,UAAAlH,OAAA,EAAAkH,UAAA,QAAA9G,EACjE,MAAM,SAACghc,GAAYg8B,GAAYx6d,KAAK+5d,eAAgB7+I,EAAQvhR,GAC5D,OAAO8iO,GAASx1R,GACZ42b,GAAeW,EAAUv3b,OAASzJ,EAAWugc,GAC7CS,CACN,EAEF,SAASg8B,GAAYG,EAAez/I,EAAQvhR,GAC1C,IAAImtQ,EAAQ6zJ,EAAcl2d,IAAIy2U,GACzBpU,IACHA,EAAQ,IAAIjoU,IACZ87d,EAAc71d,IAAIo2U,EAAQpU,IAE5B,MAAM29D,EAAW9qU,EAASxuD,OAC1B,IAAIy2J,EAASklK,EAAMriU,IAAIggY,GACvB,IAAK7iO,EAAQ,CAEXA,EAAS,CACP48R,SAFe5B,GAAgB1hH,EAAQvhR,GAGvC4ga,YAAa5ga,EAASt3D,QAAOkC,IAAMA,EAAEyzB,cAAcnV,SAAS,YAE9DikT,EAAMhiU,IAAI2/X,EAAU7iO,EACtB,CACA,OAAOA,CACT,CACA,MAAM64T,GAAc19d,GAAS0/R,GAAS1/R,IACjCkC,OAAO45H,oBAAoB97H,GAAO6L,QAAO,CAACg7P,EAAK5iQ,IAAQ4iQ,GAAO/9P,GAAW9I,EAAMiE,MAAO,GAiB3F,MAAM45d,GAAkB,CAAC,MAAO,SAAU,OAAQ,QAAS,aAC3D,SAASC,GAAqB9ub,EAAU4hT,GACtC,MAAoB,QAAb5hT,GAAmC,WAAbA,IAAiE,IAAvC6ub,GAAgBr5d,QAAQwqC,IAA6B,MAAT4hT,CACrG,CACA,SAASmtI,GAAcC,EAAIC,GACzB,OAAO,SAAS18d,EAAGC,GACjB,OAAOD,EAAEy8d,KAAQx8d,EAAEw8d,GACfz8d,EAAE08d,GAAMz8d,EAAEy8d,GACV18d,EAAEy8d,GAAMx8d,EAAEw8d,EAChB,CACF,CACA,SAASE,GAAqBh0d,GAC5B,MAAMukE,EAAQvkE,EAAQukE,MAChB6+X,EAAmB7+X,EAAM3gD,QAAQisR,UACvCtrO,EAAM8jZ,cAAc,eACpB1ud,GAASypc,GAAoBA,EAAiB6wB,WAAY,CAACj0d,GAAUukE,EACvE,CACA,SAAS2vZ,GAAoBl0d,GAC3B,MAAMukE,EAAQvkE,EAAQukE,MAChB6+X,EAAmB7+X,EAAM3gD,QAAQisR,UACvCl2S,GAASypc,GAAoBA,EAAiB+wB,WAAY,CAACn0d,GAAUukE,EACvE,CACA,SAAS6vZ,GAAU1id,GASjB,OARIopb,MAAqC,kBAATppb,EAC9BA,EAAOgR,SAASy+V,eAAezvW,GACtBA,GAAQA,EAAKvb,SACtBub,EAAOA,EAAK,IAEVA,GAAQA,EAAKu/a,SACfv/a,EAAOA,EAAKu/a,QAEPv/a,CACT,CACA,MAAM2id,GAAY,CAAC,EACbC,GAAYv6d,IAChB,MAAMk3b,EAASmjC,GAAUr6d,GACzB,OAAO/B,OAAOP,OAAO48d,IAAWj5d,QAAQ0M,GAAMA,EAAEmpb,SAAWA,IAAQ5mX,KAAK,EAE1E,SAASkqZ,GAAgBn6d,EAAK+pC,EAAO66I,GACnC,MAAM7lL,EAAOnB,OAAOmB,KAAKiB,GACzB,IAAK,MAAML,KAAOZ,EAAM,CACtB,MAAMq7d,GAAUz6d,EAChB,GAAIy6d,GAAUrwb,EAAO,CACnB,MAAMruC,EAAQsE,EAAIL,UACXK,EAAIL,IACPilL,EAAO,GAAKw1S,EAASrwb,KACvB/pC,EAAIo6d,EAASx1S,GAAQlpL,EAEzB,CACF,CACF,CAUA,MAAM2+d,GACJh6d,WAAAA,CAAYiX,EAAMgjd,GAChB,MAAMl1Y,EAASzmF,KAAKymF,OAAS,IAAIkzY,GAAOgC,GAClCC,EAAgBP,GAAU1id,GAC1Bkjd,EAAgBN,GAASK,GAC/B,GAAIC,EACF,MAAM,IAAI5xd,MACR,4CAA+C4xd,EAAclpb,GAA7D,wDAIJ,MAAM9nB,EAAU47D,EAAOkqX,eAAelqX,EAAO6zY,oBAAqBt6d,KAAKwZ,cACvExZ,KAAK03D,SAAW,IAAK+uB,EAAO/uB,UAphEhC,SAAyBwgY,GACvB,OAAK6J,MAAiD,qBAApB+5B,iBAAmC5jC,aAAkB4jC,gBAC9EvW,GAEFiC,EACT,CA+gE4CuU,CAAgBH,IACxD57d,KAAK03D,SAAS4tZ,aAAa7+X,GAC3B,MAAMx/E,EAAUjH,KAAK03D,SAASytZ,eAAeyW,EAAe/wc,EAAQu4a,aAC9DlL,EAASjxb,GAAWA,EAAQixb,OAC5B3/X,EAAS2/X,GAAUA,EAAO3/X,OAC1Bx/C,EAAQm/a,GAAUA,EAAOn/a,MAC/B/Y,KAAK2yC,GAAK6oV,KACVx7X,KAAK21b,IAAM1ub,EACXjH,KAAKk4b,OAASA,EACdl4b,KAAK+Y,MAAQA,EACb/Y,KAAKu4D,OAASA,EACdv4D,KAAKkoV,SAAWr9T,EAChB7qB,KAAKg8d,aAAeh8d,KAAKojc,YACzBpjc,KAAKikd,QAAU,GACfjkd,KAAKi8d,UAAY,GACjBj8d,KAAKysc,aAAUjvc,EACfwC,KAAKyjd,MAAQ,GACbzjd,KAAK+3b,6BAA0Bv6b,EAC/BwC,KAAK0yc,eAAYl1c,EACjBwC,KAAKyoc,QAAU,GACfzoc,KAAKk8d,gBAAa1+d,EAClBwC,KAAKm4R,WAAa,CAAC,EACnBn4R,KAAKm8d,0BAAuB3+d,EAC5BwC,KAAKo8d,gBAAkB,GACvBp8d,KAAKq2b,OAAS,CAAC,EACfr2b,KAAKq8d,SAAW,IAAI/E,GACpBt3d,KAAK+nd,SAAW,CAAC,EACjB/nd,KAAKs8d,eAAiB,CAAC,EACvBt8d,KAAKu8d,UAAW,EAChBv8d,KAAK0zc,yBAAsBl2c,EAC3BwC,KAAKkuc,cAAW1wc,EAChBwC,KAAKw8d,UD9uKT,SAAkB3wc,EAAIopD,GACpB,IAAIluE,EACJ,OAAO,WAAkB,QAAAm9T,EAAA5/T,UAAAlH,OAAN4J,EAAI,IAAAnG,MAAAqjU,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJn9T,EAAIm9T,GAAA7/T,UAAA6/T,GAOrB,OANIlvP,GACF9tE,aAAaJ,GACbA,EAAUP,WAAWqlB,EAAIopD,EAAOjuE,IAEhC6kB,EAAG7lB,MAAMhG,KAAMgH,GAEViuE,CACT,CACF,CCmuKqBruE,EAAS2kT,GAAQvrT,KAAK6mG,OAAO0kN,IAAO1gS,EAAQ4xc,aAAe,GAC5Ez8d,KAAK20c,aAAe,GACpB2mB,GAAUt7d,KAAK2yC,IAAM3yC,KAChBiH,GAAYixb,GAIjByP,GAASnwF,OAAOx3W,KAAM,WAAYi7d,IAClCtzB,GAASnwF,OAAOx3W,KAAM,WAAYm7d,IAClCn7d,KAAK08d,cACD18d,KAAKu8d,UACPv8d,KAAK6mG,UAPLhjG,QAAQ0H,MAAM,oEASlB,CACA,eAAI63b,GACF,MAAOv4a,SAAS,YAACu4a,EAAW,oBAAEnN,GAAoB,MAAEl9a,EAAK,OAAEw/C,EAAM,aAAEyja,GAAgBh8d,KACnF,OAAKgjb,GAAcogB,GAGfnN,GAAuB+lC,EAClBA,EAEFzja,EAASx/C,EAAQw/C,EAAS,KALxB6qY,CAMX,CACA,QAAIlgc,GACF,OAAOlD,KAAKymF,OAAOvjF,IACrB,CACA,QAAIA,CAAKA,GACPlD,KAAKymF,OAAOvjF,KAAOA,CACrB,CACA,WAAI2nB,GACF,OAAO7qB,KAAKkoV,QACd,CACA,WAAIr9T,CAAQA,GACV7qB,KAAKymF,OAAO57D,QAAUA,CACxB,CACA6xc,WAAAA,GASE,OARA18d,KAAKsvd,cAAc,cACftvd,KAAK6qB,QAAQ4mV,WACfzxW,KAAK2kM,SAEL++P,GAAY1jc,KAAMA,KAAK6qB,QAAQq/T,kBAEjClqV,KAAK28d,aACL38d,KAAKsvd,cAAc,aACZtvd,IACT,CACAk8L,KAAAA,GAEE,OADA+7P,GAAYj4b,KAAKk4b,OAAQl4b,KAAK21b,KACvB31b,IACT,CACAkpc,IAAAA,GAEE,OADAvB,GAASuB,KAAKlpc,MACPA,IACT,CACA2kM,MAAAA,CAAO5rL,EAAOw/C,GACPovY,GAASruP,QAAQt5M,MAGpBA,KAAK48d,kBAAoB,CAAC7jd,QAAOw/C,UAFjCv4D,KAAK68d,QAAQ9jd,EAAOw/C,EAIxB,CACAska,OAAAA,CAAQ9jd,EAAOw/C,GACb,MAAM1tC,EAAU7qB,KAAK6qB,QACfqta,EAASl4b,KAAKk4b,OACdkL,EAAcv4a,EAAQora,qBAAuBj2b,KAAKojc,YAClD05B,EAAU98d,KAAK03D,SAASurY,eAAe/K,EAAQn/a,EAAOw/C,EAAQ6qY,GAC9D25B,EAAWlyc,EAAQq/T,kBAAoBlqV,KAAK03D,SAAS69X,sBACrDhqI,EAAOvrT,KAAK+Y,MAAQ,SAAW,SACrC/Y,KAAK+Y,MAAQ+jd,EAAQ/jd,MACrB/Y,KAAKu4D,OAASuka,EAAQvka,OACtBv4D,KAAKg8d,aAAeh8d,KAAKojc,YACpBM,GAAY1jc,KAAM+8d,GAAU,KAGjC/8d,KAAKsvd,cAAc,SAAU,CAAC1+c,KAAMksd,IACpCl8d,GAASiqB,EAAQm0L,SAAU,CAACh/M,KAAM88d,GAAU98d,MACxCA,KAAKu8d,UACHv8d,KAAKw8d,UAAUjxK,IACjBvrT,KAAKq3Q,SAGX,CACA2lN,mBAAAA,GAGE35C,GAFgBrjb,KAAK6qB,QACSwra,QAAU,CAAC,GACrB,CAAC4mC,EAAalI,KAChCkI,EAAYtqb,GAAKoib,CAAM,GAE3B,CACAmI,mBAAAA,GACE,MAAMryc,EAAU7qB,KAAK6qB,QACfsyc,EAAYtyc,EAAQwra,OACpBA,EAASr2b,KAAKq2b,OACd+mC,EAAUn+d,OAAOmB,KAAKi2b,GAAQztb,QAAO,CAACvH,EAAKsxC,KAC/CtxC,EAAIsxC,IAAM,EACHtxC,IACN,CAAC,GACJ,IAAIknB,EAAQ,GACR40c,IACF50c,EAAQA,EAAMvd,OACZ/L,OAAOmB,KAAK+8d,GAAWxzd,KAAKgpC,IAC1B,MAAM4lb,EAAe4E,EAAUxqb,GACzBg7S,EAAO2qI,GAAc3lb,EAAI4lb,GACzB8E,EAAoB,MAAT1vI,EACXtsI,EAAwB,MAATssI,EACrB,MAAO,CACL9iU,QAAS0tc,EACT+E,UAAWD,EAAW,YAAch8Q,EAAe,SAAW,OAC9Dk8Q,MAAOF,EAAW,eAAiBh8Q,EAAe,WAAa,SAChE,MAIPgiO,GAAK96Z,GAAQ5P,IACX,MAAM4/c,EAAe5/c,EAAKkS,QACpB8nB,EAAK4lb,EAAa5lb,GAClBg7S,EAAO2qI,GAAc3lb,EAAI4lb,GACzBiF,EAAYr6C,GAAeo1C,EAAajnd,KAAMqH,EAAK4kd,YAC3B//d,IAA1B+6d,EAAaxsb,UAA0B8ub,GAAqBtC,EAAaxsb,SAAU4hT,KAAUktI,GAAqBlid,EAAK2kd,aACzH/E,EAAaxsb,SAAWpzB,EAAK2kd,WAE/BF,EAAQzqb,IAAM,EACd,IAAIyN,EAAQ,KACZ,GAAIzN,KAAM0jZ,GAAUA,EAAO1jZ,GAAIrhC,OAASksd,EACtCp9a,EAAQi2Y,EAAO1jZ,OACV,CAELyN,EAAQ,IADWgzM,GAASkjO,SAASkH,GAC7B,CAAe,CACrB7qb,KACArhC,KAAMksd,EACN7nC,IAAK31b,KAAK21b,IACVnqX,MAAOxrE,OAETq2b,EAAOj2Y,EAAMzN,IAAMyN,CACrB,CACAA,EAAMvjB,KAAK07b,EAAc1tc,EAAQ,IAEnCw4Z,GAAK+5C,GAAS,CAACK,EAAY9qb,KACpB8qb,UACIpnC,EAAO1jZ,EAChB,IAEF0wY,GAAKgT,GAASj2Y,IACZ8ha,GAAQxX,UAAU1qc,KAAMogD,EAAOA,EAAMv1B,SACrCq3b,GAAQ8B,OAAOhkd,KAAMogD,EAAM,GAE/B,CACAs9a,eAAAA,GACE,MAAMpyB,EAAWtrc,KAAKi8d,UAChB5nB,EAAUr0c,KAAKkD,KAAKoyb,SAASl4b,OAC7Bg3c,EAAU9I,EAASluc,OAEzB,GADAkuc,EAAS/1b,MAAK,CAACjX,EAAGC,IAAMD,EAAEyC,MAAQxC,EAAEwC,QAChCqzc,EAAUC,EAAS,CACrB,IAAK,IAAIh0c,EAAIg0c,EAASh0c,EAAI+zc,IAAW/zc,EACnCL,KAAK29d,oBAAoBt9d,GAE3Birc,EAASjpb,OAAOgyb,EAASD,EAAUC,EACrC,CACAr0c,KAAKo8d,gBAAkB9wB,EAAS5kc,MAAM,GAAG6O,KAAKuld,GAAc,QAAS,SACvE,CACA8C,2BAAAA,GACE,MAAO3B,UAAW3wB,EAAUpoc,MAAM,SAACoyb,IAAat1b,KAC5Csrc,EAASluc,OAASk4b,EAASl4b,eACtB4C,KAAKysc,QAEdnB,EAASvsc,SAAQ,CAACs0P,EAAMtyP,KACmC,IAArDu0b,EAASjzb,QAAO4/D,GAAKA,IAAMoxL,EAAKypN,WAAU1/c,QAC5C4C,KAAK29d,oBAAoB58d,EAC3B,GAEJ,CACA88d,wBAAAA,GACE,MAAMr0P,EAAiB,GACjB8rN,EAAWt1b,KAAKkD,KAAKoyb,SAC3B,IAAIj1b,EAAGqjb,EAEP,IADA1jb,KAAK49d,8BACAv9d,EAAI,EAAGqjb,EAAO4R,EAASl4b,OAAQiD,EAAIqjb,EAAMrjb,IAAK,CACjD,MAAMouc,EAAUnZ,EAASj1b,GACzB,IAAIgzP,EAAOrzP,KAAK0vc,eAAervc,GAC/B,MAAMiR,EAAOm9b,EAAQn9b,MAAQtR,KAAKymF,OAAOn1E,KAWzC,GAVI+hP,EAAK/hP,MAAQ+hP,EAAK/hP,OAASA,IAC7BtR,KAAK29d,oBAAoBt9d,GACzBgzP,EAAOrzP,KAAK0vc,eAAervc,IAE7BgzP,EAAK/hP,KAAOA,EACZ+hP,EAAKyiM,UAAY2Y,EAAQ3Y,WAAasiC,GAAa9md,EAAMtR,KAAK6qB,SAC9DwoO,EAAK63C,MAAQujK,EAAQvjK,OAAS,EAC9B73C,EAAKtyP,MAAQV,EACbgzP,EAAKzvL,MAAQ,GAAK6qY,EAAQ7qY,MAC1ByvL,EAAKx9O,QAAU7V,KAAKg6c,iBAAiB35c,GACjCgzP,EAAKlqB,WACPkqB,EAAKlqB,WAAWqlO,YAAYnuc,GAC5BgzP,EAAKlqB,WAAWklO,iBACX,CACL,MAAM56M,EAAkBL,GAAS8iO,cAAc5kd,IACzC,mBAAC4+b,EAAkB,gBAAE+C,GAAmBt6K,GAAS28J,SAAShkb,GAChErS,OAAO0wB,OAAO8jO,EAAgBvzP,UAAW,CACvC+yc,gBAAiB7/M,GAASgjO,WAAWnjB,GACrC/C,mBAAoBA,GAAsB98M,GAASgjO,WAAWlmB,KAEhE78M,EAAKlqB,WAAa,IAAIsqB,EAAgBzzP,KAAMK,GAC5CmpO,EAAexqO,KAAKq0P,EAAKlqB,WAC3B,CACF,CAEA,OADAnpO,KAAK09d,kBACEl0P,CACT,CACAs0P,cAAAA,GACEz6C,GAAKrjb,KAAKkD,KAAKoyb,UAAU,CAACmZ,EAAS5qB,KACjC7jb,KAAK0vc,eAAe7rB,GAAc16M,WAAW1kN,OAAO,GACnDzkB,KACL,CACAykB,KAAAA,GACEzkB,KAAK89d,iBACL99d,KAAKsvd,cAAc,QACrB,CACAzoX,MAAAA,CAAO0kN,GACL,MAAM9kO,EAASzmF,KAAKymF,OACpBA,EAAOogB,SACP,MAAMh8E,EAAU7qB,KAAKkoV,SAAWzhQ,EAAOkqX,eAAelqX,EAAO6zY,oBAAqBt6d,KAAKwZ,cACjFukd,EAAgB/9d,KAAK0zc,qBAAuB7ob,EAAQisR,UAK1D,GAJA92S,KAAKg+d,gBACLh+d,KAAKi+d,sBACLj+d,KAAKk+d,uBACLl+d,KAAKq8d,SAAS1E,cACuD,IAAjE33d,KAAKsvd,cAAc,eAAgB,CAAC/jK,OAAM19L,YAAY,IACxD,OAEF,MAAM27G,EAAiBxpO,KAAK69d,2BAC5B79d,KAAKsvd,cAAc,wBACnB,IAAIlL,EAAa,EACjB,IAAK,IAAI/jd,EAAI,EAAGqjb,EAAO1jb,KAAKkD,KAAKoyb,SAASl4b,OAAQiD,EAAIqjb,EAAMrjb,IAAK,CAC/D,MAAM,WAAC8oO,GAAcnpO,KAAK0vc,eAAervc,GACnCokB,GAASs5c,IAAyD,IAAxCv0P,EAAejoO,QAAQ4nO,GACvDA,EAAWgnO,sBAAsB1rb,GACjC2/b,EAAallc,KAAKC,KAAKgqN,EAAWipO,iBAAkBgS,EACtD,CACAA,EAAapkd,KAAK2gd,YAAc91b,EAAQ23b,OAAOuB,YAAcK,EAAa,EAC1Epkd,KAAKm+d,cAAc/Z,GACd2Z,GACH16C,GAAK75M,GAAiBL,IACpBA,EAAW1kN,OAAO,IAGtBzkB,KAAKo+d,gBAAgB7yK,GACrBvrT,KAAKsvd,cAAc,cAAe,CAAC/jK,SACnCvrT,KAAKikd,QAAQ1uc,KAAKuld,GAAc,IAAK,SACrC,MAAM,QAACryB,EAAO,WAAEyzB,GAAcl8d,KAC1Bk8d,EACFl8d,KAAKq+d,cAAcnC,GAAY,GACtBzzB,EAAQrrc,QACjB4C,KAAKs+d,mBAAmB71B,EAASA,GAAS,GAE5Czoc,KAAKq3Q,QACP,CACA2mN,aAAAA,GACE36C,GAAKrjb,KAAKq2b,QAASj2Y,IACjB8ha,GAAQgC,UAAUlkd,KAAMogD,EAAM,IAEhCpgD,KAAKg9d,sBACLh9d,KAAKk9d,qBACP,CACAe,mBAAAA,GACE,MAAMpzc,EAAU7qB,KAAK6qB,QACf0zc,EAAiB,IAAI3/d,IAAIK,OAAOmB,KAAKJ,KAAKm4R,aAC1CqmM,EAAY,IAAI5/d,IAAIisB,EAAQqjG,QAC7B22T,GAAU05C,EAAgBC,MAAgBx+d,KAAKm8d,uBAAyBtxc,EAAQ4mV,aACnFzxW,KAAKy+d,eACLz+d,KAAK28d,aAET,CACAuB,oBAAAA,GACE,MAAM,eAAC5B,GAAkBt8d,KACnB+lD,EAAU/lD,KAAK0+d,0BAA4B,GACjD,IAAK,MAAM,OAACzsM,EAAM,MAAE7mP,EAAK,MAAE3qC,KAAUslD,EAAS,CAE5Cy1a,GAAgBc,EAAgBlxb,EADR,oBAAX6mP,GAAgCxxR,EAAQA,EAEvD,CACF,CACAi+d,sBAAAA,GACE,MAAM/pB,EAAe30c,KAAK20c,aAC1B,IAAKA,IAAiBA,EAAav3c,OACjC,OAEF4C,KAAK20c,aAAe,GACpB,MAAMgqB,EAAe3+d,KAAKkD,KAAKoyb,SAASl4b,OAClCwhe,EAAWv0Z,GAAQ,IAAIzrE,IAC3B+1c,EACGtyc,QAAO0M,GAAKA,EAAE,KAAOs7D,IACrB1gE,KAAI,CAACoF,EAAG1O,IAAMA,EAAI,IAAM0O,EAAEsT,OAAO,GAAGlX,KAAK,QAExC0zd,EAAYD,EAAQ,GAC1B,IAAK,IAAIv+d,EAAI,EAAGA,EAAIs+d,EAAct+d,IAChC,IAAKwkb,GAAUg6C,EAAWD,EAAQv+d,IAChC,OAGJ,OAAOQ,MAAM8oE,KAAKk1Z,GACfl1d,KAAIoF,GAAKA,EAAEzL,MAAM,OACjBqG,KAAIrL,IAAK,CAAE2zR,OAAQ3zR,EAAE,GAAI8sC,OAAQ9sC,EAAE,GAAImC,OAAQnC,EAAE,MACtD,CACA6/d,aAAAA,CAAc/Z,GACZ,IAA+D,IAA3Dpkd,KAAKsvd,cAAc,eAAgB,CAACzhW,YAAY,IAClD,OAEFq0V,GAAQr7W,OAAO7mG,KAAMA,KAAK+Y,MAAO/Y,KAAKu4D,OAAQ6rZ,GAC9C,MAAMp7K,EAAOhpS,KAAK0yc,UACZosB,EAAS91L,EAAKjwR,OAAS,GAAKiwR,EAAKzwO,QAAU,EACjDv4D,KAAKikd,QAAU,GACf5gC,GAAKrjb,KAAKyjd,OAAQ5gB,IACZi8B,GAA2B,cAAjBj8B,EAAI92Z,WAGd82Z,EAAI6H,WACN7H,EAAI6H,YAEN1qc,KAAKikd,QAAQjld,QAAQ6jc,EAAIohB,WAAU,GAClCjkd,MACHA,KAAKikd,QAAQlld,SAAQ,CAAC4Z,EAAM5X,KAC1B4X,EAAKomd,KAAOh+d,CAAK,IAEnBf,KAAKsvd,cAAc,cACrB,CACA8O,eAAAA,CAAgB7yK,GACd,IAA6E,IAAzEvrT,KAAKsvd,cAAc,uBAAwB,CAAC/jK,OAAM19L,YAAY,IAAlE,CAGA,IAAK,IAAIxtH,EAAI,EAAGqjb,EAAO1jb,KAAKkD,KAAKoyb,SAASl4b,OAAQiD,EAAIqjb,IAAQrjb,EAC5DL,KAAK0vc,eAAervc,GAAG8oO,WAAWuhO,YAEpC,IAAK,IAAIrqc,EAAI,EAAGqjb,EAAO1jb,KAAKkD,KAAKoyb,SAASl4b,OAAQiD,EAAIqjb,IAAQrjb,EAC5DL,KAAKg/d,eAAe3+d,EAAGwF,GAAW0lT,GAAQA,EAAK,CAACs4H,aAAcxjb,IAAMkrT,GAEtEvrT,KAAKsvd,cAAc,sBAAuB,CAAC/jK,QAP3C,CAQF,CACAyzK,cAAAA,CAAej+d,EAAOwqT,GACpB,MAAMl4D,EAAOrzP,KAAK0vc,eAAe3uc,GAC3BiG,EAAO,CAACqsP,OAAMtyP,QAAOwqT,OAAM19L,YAAY,IACW,IAApD7tH,KAAKsvd,cAAc,sBAAuBtod,KAG9CqsP,EAAKlqB,WAAWm/N,QAAQ/8I,GACxBvkT,EAAK6mH,YAAa,EAClB7tH,KAAKsvd,cAAc,qBAAsBtod,GAC3C,CACAqwQ,MAAAA,IACiE,IAA3Dr3Q,KAAKsvd,cAAc,eAAgB,CAACzhW,YAAY,MAGhD85U,GAAS13Z,IAAIjwC,MACXA,KAAKu8d,WAAa50B,GAASruP,QAAQt5M,OACrC2nc,GAASv8Z,MAAMprC,OAGjBA,KAAKwoc,OACLyyB,GAAqB,CAACzvZ,MAAOxrE,QAEjC,CACAwoc,IAAAA,GACE,IAAInoc,EACJ,GAAIL,KAAK48d,kBAAmB,CAC1B,MAAM,MAAC7jd,EAAK,OAAEw/C,GAAUv4D,KAAK48d,kBAC7B58d,KAAK68d,QAAQ9jd,EAAOw/C,GACpBv4D,KAAK48d,kBAAoB,IAC3B,CAEA,GADA58d,KAAKk8L,QACDl8L,KAAK+Y,OAAS,GAAK/Y,KAAKu4D,QAAU,EACpC,OAEF,IAA6D,IAAzDv4D,KAAKsvd,cAAc,aAAc,CAACzhW,YAAY,IAChD,OAEF,MAAMoxW,EAASj/d,KAAKikd,QACpB,IAAK5jd,EAAI,EAAGA,EAAI4+d,EAAO7he,QAAU6he,EAAO5+d,GAAGwjS,GAAK,IAAKxjS,EACnD4+d,EAAO5+d,GAAGmoc,KAAKxoc,KAAK0yc,WAGtB,IADA1yc,KAAKk/d,gBACE7+d,EAAI4+d,EAAO7he,SAAUiD,EAC1B4+d,EAAO5+d,GAAGmoc,KAAKxoc,KAAK0yc,WAEtB1yc,KAAKsvd,cAAc,YACrB,CACA/jB,sBAAAA,CAAuBF,GACrB,MAAMC,EAAWtrc,KAAKo8d,gBAChB52c,EAAS,GACf,IAAInlB,EAAGqjb,EACP,IAAKrjb,EAAI,EAAGqjb,EAAO4nB,EAASluc,OAAQiD,EAAIqjb,IAAQrjb,EAAG,CACjD,MAAMgzP,EAAOi4M,EAASjrc,GACjBgrc,IAAiBh4M,EAAKx9O,SACzB2P,EAAOxmB,KAAKq0P,EAEhB,CACA,OAAO7tO,CACT,CACAg7b,4BAAAA,GACE,OAAOxgd,KAAKurc,wBAAuB,EACrC,CACA2zB,aAAAA,GACE,IAAqE,IAAjEl/d,KAAKsvd,cAAc,qBAAsB,CAACzhW,YAAY,IACxD,OAEF,MAAMy9U,EAAWtrc,KAAKwgd,+BACtB,IAAK,IAAIngd,EAAIirc,EAASluc,OAAS,EAAGiD,GAAK,IAAKA,EAC1CL,KAAKm/d,aAAa7zB,EAASjrc,IAE7BL,KAAKsvd,cAAc,oBACrB,CACA6P,YAAAA,CAAa9rO,GACX,MAAMsiM,EAAM31b,KAAK21b,IACX2D,EAAOjmM,EAAKk/M,MACZ6sB,GAAW9lC,EAAKv+X,SAChBiuO,EAAOhpS,KAAK0yc,UACZ1rc,EAAO,CACXqsP,OACAtyP,MAAOsyP,EAAKtyP,MACZ8sH,YAAY,IAEwC,IAAlD7tH,KAAKsvd,cAAc,oBAAqBtod,KAGxCo4d,GACF/lC,GAAS1D,EAAK,CACZn2b,MAAoB,IAAd85b,EAAK95b,KAAiB,EAAIwpS,EAAKxpS,KAAO85b,EAAK95b,KACjDC,OAAsB,IAAf65b,EAAK75b,MAAkBO,KAAK+Y,MAAQiwR,EAAKvpS,MAAQ65b,EAAK75b,MAC7Dk9D,KAAkB,IAAb28X,EAAK38X,IAAgB,EAAIqsO,EAAKrsO,IAAM28X,EAAK38X,IAC9Co5C,QAAwB,IAAhBujV,EAAKvjV,OAAmB/1G,KAAKu4D,OAASywO,EAAKjzL,OAASujV,EAAKvjV,SAGrEs9I,EAAKlqB,WAAWq/N,OACZ42B,GACF7lC,GAAW5D,GAEb3ub,EAAK6mH,YAAa,EAClB7tH,KAAKsvd,cAAc,mBAAoBtod,GACzC,CACAq4d,yBAAAA,CAA0B5ge,EAAG8sT,EAAM1gS,EAAS61b,GAC1C,MAAMzuL,EAASyvL,GAAYC,MAAMp2J,GACjC,MAAsB,oBAAXt5B,EACFA,EAAOjyR,KAAMvB,EAAGosB,EAAS61b,GAE3B,EACT,CACAhR,cAAAA,CAAe7rB,GACb,MAAM4qB,EAAUzuc,KAAKkD,KAAKoyb,SAASzR,GAC7BynB,EAAWtrc,KAAKi8d,UACtB,IAAI5oO,EAAOi4M,EAASjpc,QAAO4/D,GAAKA,GAAKA,EAAE66Y,WAAarO,IAASn9X,MAkB7D,OAjBK+hL,IACHA,EAAO,CACL/hP,KAAM,KACNpO,KAAM,GACNurc,QAAS,KACTtlO,WAAY,KACZ33B,OAAQ,KACRq9P,QAAS,KACTE,QAAS,KACT7jK,MAAOujK,GAAWA,EAAQvjK,OAAS,EACnCnqS,MAAO8ib,EACPi5B,SAAUrO,EACVtB,QAAS,GACTyD,SAAS,GAEXtF,EAAStsc,KAAKq0P,IAETA,CACT,CACA75O,UAAAA,GACE,OAAOxZ,KAAKkuc,WAAaluc,KAAKkuc,SAAWhwL,GAAc,KAAM,CAAC1yM,MAAOxrE,KAAMsR,KAAM,UACnF,CACA+sc,sBAAAA,GACE,OAAOr+c,KAAKwgd,+BAA+Bpjd,MAC7C,CACA48c,gBAAAA,CAAiBn2B,GACf,MAAM4qB,EAAUzuc,KAAKkD,KAAKoyb,SAASzR,GACnC,IAAK4qB,EACH,OAAO,EAET,MAAMp7M,EAAOrzP,KAAK0vc,eAAe7rB,GACjC,MAA8B,mBAAhBxwL,EAAK7hD,QAAwB6hD,EAAK7hD,QAAUi9P,EAAQj9P,MACpE,CACA8tR,oBAAAA,CAAqBz7C,EAAchua,GACpB7V,KAAK0vc,eAAe7rB,GAC5BryO,QAAU37L,CACjB,CACA4mc,oBAAAA,CAAqB17c,GACnBf,KAAKs8d,eAAev7d,IAAUf,KAAKs8d,eAAev7d,EACpD,CACA03c,iBAAAA,CAAkB13c,GAChB,OAAQf,KAAKs8d,eAAev7d,EAC9B,CACAw+d,iBAAAA,CAAkB17C,EAAcgvB,EAAWh9b,GACzC,MAAM01S,EAAO11S,EAAU,OAAS,OAC1Bw9O,EAAOrzP,KAAK0vc,eAAe7rB,GAC3BokB,EAAQ50M,EAAKlqB,WAAWkqO,wBAAmB71c,EAAW+tT,GACxDq5H,GAAQiuB,IACVx/M,EAAKnwP,KAAK2vc,GAAWrhQ,QAAU37L,EAC/B7V,KAAK6mG,WAEL7mG,KAAKs/d,qBAAqBz7C,EAAchua,GACxCoyb,EAAMphW,OAAOwsJ,EAAM,CAACx9O,YACpB7V,KAAK6mG,QAAQ8uV,GAAQA,EAAI9R,eAAiBA,EAAet4H,OAAO/tT,IAEpE,CACAmY,IAAAA,CAAKkua,EAAcgvB,GACjB7yc,KAAKu/d,kBAAkB17C,EAAcgvB,GAAW,EAClD,CACAvpT,IAAAA,CAAKu6R,EAAcgvB,GACjB7yc,KAAKu/d,kBAAkB17C,EAAcgvB,GAAW,EAClD,CACA8qB,mBAAAA,CAAoB95C,GAClB,MAAMxwL,EAAOrzP,KAAKi8d,UAAUp4C,GACxBxwL,GAAQA,EAAKlqB,YACfkqB,EAAKlqB,WAAW0mO,kBAEX7vc,KAAKi8d,UAAUp4C,EACxB,CACA27C,KAAAA,GACE,IAAIn/d,EAAGqjb,EAGP,IAFA1jb,KAAKkpc,OACLvB,GAASnwX,OAAOx3E,MACXK,EAAI,EAAGqjb,EAAO1jb,KAAKkD,KAAKoyb,SAASl4b,OAAQiD,EAAIqjb,IAAQrjb,EACxDL,KAAK29d,oBAAoBt9d,EAE7B,CACA8M,OAAAA,GACEnN,KAAKsvd,cAAc,iBACnB,MAAM,OAACp3B,EAAM,IAAEvC,GAAO31b,KACtBA,KAAKw/d,QACLx/d,KAAKymF,OAAOuzY,aACR9hC,IACFl4b,KAAKy+d,eACLxmC,GAAYC,EAAQvC,GACpB31b,KAAK03D,SAAS0tZ,eAAezvB,GAC7B31b,KAAKk4b,OAAS,KACdl4b,KAAK21b,IAAM,MAEb31b,KAAKsvd,cAAc,kBACZgM,GAAUt7d,KAAK2yC,IACtB3yC,KAAKsvd,cAAc,eACrB,CACAmQ,aAAAA,GACE,OAAOz/d,KAAKk4b,OAAOwnC,aAAUp7d,UAC/B,CACAq4d,UAAAA,GACE38d,KAAK2/d,iBACD3/d,KAAK6qB,QAAQ4mV,WACfzxW,KAAK4/d,uBAEL5/d,KAAKu8d,UAAW,CAEpB,CACAoD,cAAAA,GACE,MAAMjvd,EAAY1Q,KAAKm4R,WACjBzgO,EAAW13D,KAAK03D,SAChBmoa,EAAOA,CAACvud,EAAMR,KAClB4mD,EAAS7mD,iBAAiB7Q,KAAMsR,EAAMR,GACtCJ,EAAUY,GAAQR,CAAQ,EAEtBA,EAAWA,CAACrS,EAAGwjE,EAAGD,KACtBvjE,EAAE25N,QAAUn2J,EACZxjE,EAAE45N,QAAUr2J,EACZhiE,KAAKq+d,cAAc5/d,EAAE,EAEvB4kb,GAAKrjb,KAAK6qB,QAAQqjG,QAAS58G,GAASuud,EAAKvud,EAAMR,IACjD,CACA8ud,oBAAAA,GACO5/d,KAAKm8d,uBACRn8d,KAAKm8d,qBAAuB,CAAC,GAE/B,MAAMzrd,EAAY1Q,KAAKm8d,qBACjBzka,EAAW13D,KAAK03D,SAChBmoa,EAAOA,CAACvud,EAAMR,KAClB4mD,EAAS7mD,iBAAiB7Q,KAAMsR,EAAMR,GACtCJ,EAAUY,GAAQR,CAAQ,EAEtBgvd,EAAUA,CAACxud,EAAMR,KACjBJ,EAAUY,KACZomD,EAAS1mD,oBAAoBhR,KAAMsR,EAAMR,UAClCJ,EAAUY,GACnB,EAEIR,EAAWA,CAACiI,EAAOw/C,KACnBv4D,KAAKk4b,QACPl4b,KAAK2kM,OAAO5rL,EAAOw/C,EACrB,EAEF,IAAIwna,EACJ,MAAMxD,EAAWA,KACfuD,EAAQ,SAAUvD,GAClBv8d,KAAKu8d,UAAW,EAChBv8d,KAAK2kM,SACLk7R,EAAK,SAAU/ud,GACf+ud,EAAK,SAAUE,EAAS,EAE1BA,EAAWA,KACT//d,KAAKu8d,UAAW,EAChBuD,EAAQ,SAAUhvd,GAClB9Q,KAAKw/d,QACLx/d,KAAK68d,QAAQ,EAAG,GAChBgD,EAAK,SAAUtD,EAAS,EAEtB7ka,EAAS2tZ,WAAWrld,KAAKk4b,QAC3BqkC,IAEAwD,GAEJ,CACAtB,YAAAA,GACEp7C,GAAKrjb,KAAKm4R,YAAY,CAACrnR,EAAUQ,KAC/BtR,KAAK03D,SAAS1mD,oBAAoBhR,KAAMsR,EAAMR,EAAS,IAEzD9Q,KAAKm4R,WAAa,CAAC,EACnBkrJ,GAAKrjb,KAAKm8d,sBAAsB,CAACrrd,EAAUQ,KACzCtR,KAAK03D,SAAS1mD,oBAAoBhR,KAAMsR,EAAMR,EAAS,IAEzD9Q,KAAKm8d,0BAAuB3+d,CAC9B,CACAwie,gBAAAA,CAAiBz3c,EAAOgjS,EAAM9qF,GAC5B,MAAM3mK,EAAS2mK,EAAU,MAAQ,SACjC,IAAI4yB,EAAM16O,EAAMtY,EAAGqjb,EAKnB,IAJa,YAATn4H,IACFl4D,EAAOrzP,KAAK0vc,eAAennb,EAAM,GAAGs7Z,cACpCxwL,EAAKlqB,WAAW,IAAMrvK,EAAS,wBAE5Bz5D,EAAI,EAAGqjb,EAAOn7Z,EAAMnrB,OAAQiD,EAAIqjb,IAAQrjb,EAAG,CAC9CsY,EAAO4P,EAAMloB,GACb,MAAM8oO,EAAaxwN,GAAQ3Y,KAAK0vc,eAAe/2b,EAAKkra,cAAc16M,WAC9DA,GACFA,EAAWrvK,EAAS,cAAcnhD,EAAKwR,QAASxR,EAAKkra,aAAclra,EAAK5X,MAE5E,CACF,CACAk/d,iBAAAA,GACE,OAAOjge,KAAKyoc,SAAW,EACzB,CACAy3B,iBAAAA,CAAkBC,GAChB,MAAMC,EAAapge,KAAKyoc,SAAW,GAC7Bvrb,EAASijd,EAAex2d,KAAIo5T,IAA2B,IAA1B,aAAC8gH,EAAY,MAAE9ib,GAAMgiU,EACtD,MAAM1vE,EAAOrzP,KAAK0vc,eAAe7rB,GACjC,IAAKxwL,EACH,MAAM,IAAIppP,MAAM,6BAA+B45a,GAEjD,MAAO,CACLA,eACA15Z,QAASkpO,EAAKnwP,KAAKnC,GACnBA,QACD,KAEcwib,GAAerma,EAAQkjd,KAEtCpge,KAAKyoc,QAAUvrb,EACfld,KAAKk8d,WAAa,KAClBl8d,KAAKs+d,mBAAmBphd,EAAQkjd,GAEpC,CACA9Q,aAAAA,CAAckI,EAAMxwd,EAAM3E,GACxB,OAAOrC,KAAKq8d,SAAS9E,OAAOv3d,KAAMw3d,EAAMxwd,EAAM3E,EAChD,CACAi8d,kBAAAA,CAAmBphd,EAAQkjd,EAAYC,GACrC,MAAMC,EAAetge,KAAK6qB,QAAQ2mV,MAC5B93L,EAAOA,CAACp7K,EAAGC,IAAMD,EAAE+D,QAAO4/D,IAAM1jE,EAAEgpB,MAAKy6C,GAAKC,EAAE4hX,eAAiB7hX,EAAE6hX,cAAgB5hX,EAAElhE,QAAUihE,EAAEjhE,UAC/Fw/d,EAAc7mT,EAAK0mT,EAAYljd,GAC/Bsjd,EAAYH,EAASnjd,EAASw8J,EAAKx8J,EAAQkjd,GAC7CG,EAAYnje,QACd4C,KAAKgge,iBAAiBO,EAAaD,EAAa/0K,MAAM,GAEpDi1K,EAAUpje,QAAUkje,EAAa/0K,MACnCvrT,KAAKgge,iBAAiBQ,EAAWF,EAAa/0K,MAAM,EAExD,CACA8yK,aAAAA,CAAc5/d,EAAG4he,GACf,MAAMr5d,EAAO,CACXoK,MAAO3S,EACP4he,SACAxyW,YAAY,EACZ4yW,YAAarnC,GAAe36b,EAAGuB,KAAK0yc,UAAW1yc,KAAK2gd,cAEhD+f,EAAehJ,IAAYA,EAAO7sc,QAAQqjG,QAAUluH,KAAK6qB,QAAQqjG,QAAQrrG,SAASpkB,EAAEqkc,OAAOxxb,MACjG,IAA6D,IAAzDtR,KAAKsvd,cAAc,cAAetod,EAAM05d,GAC1C,OAEF,MAAMljB,EAAUx9c,KAAK2ge,aAAalie,EAAG4he,EAAQr5d,EAAKy5d,aAMlD,OALAz5d,EAAK6mH,YAAa,EAClB7tH,KAAKsvd,cAAc,aAActod,EAAM05d,IACnCljB,GAAWx2c,EAAKw2c,UAClBx9c,KAAKq3Q,SAEAr3Q,IACT,CACA2ge,YAAAA,CAAalie,EAAG4he,EAAQI,GACtB,MAAOh4B,QAAS23B,EAAa,GAAE,QAAEv1c,GAAW7qB,KACtC0gd,EAAmB2f,EACnBnjd,EAASld,KAAK4ge,mBAAmBnie,EAAG2he,EAAYK,EAAa/f,GAC7DmgB,EDvtLV,SAAuBpie,GACrB,MAAkB,YAAXA,EAAE6S,MAAiC,UAAX7S,EAAE6S,MAA+B,gBAAX7S,EAAE6S,IACzD,CCqtLoBwvd,CAAcrie,GACxBsie,EA1uBV,SAA4Btie,EAAGsie,EAAWN,EAAaI,GACrD,OAAKJ,GAA0B,aAAXhie,EAAE6S,KAGlBuvd,EACKE,EAEFtie,EALE,IAMX,CAkuBsBuie,CAAmBvie,EAAGuB,KAAKk8d,WAAYuE,EAAaI,GAClEJ,IACFzge,KAAKk8d,WAAa,KAClBt7d,GAASiqB,EAAQqra,QAAS,CAACz3b,EAAGye,EAAQld,MAAOA,MACzC6ge,GACFjge,GAASiqB,EAAQuoS,QAAS,CAAC30T,EAAGye,EAAQld,MAAOA,OAGjD,MAAMw9c,GAAWj6B,GAAerma,EAAQkjd,GAMxC,OALI5iB,GAAW6iB,KACbrge,KAAKyoc,QAAUvrb,EACfld,KAAKs+d,mBAAmBphd,EAAQkjd,EAAYC,IAE9Crge,KAAKk8d,WAAa6E,EACXvjB,CACT,CACAojB,kBAAAA,CAAmBnie,EAAG2he,EAAYK,EAAa/f,GAC7C,GAAe,aAAXjid,EAAE6S,KACJ,MAAO,GAET,IAAKmvd,EACH,OAAOL,EAET,MAAME,EAAetge,KAAK6qB,QAAQ2mV,MAClC,OAAOxxW,KAAKq/d,0BAA0B5ge,EAAG6he,EAAa/0K,KAAM+0K,EAAc5f,EAC5E,EAEF,MAAMugB,GAAoBA,IAAM59C,GAAKq4C,GAAMJ,WAAY9vZ,GAAUA,EAAM6wZ,SAAS1E,eAC1EhoL,IAAa,EA0CnB,SAASuxL,GAAQvrC,EAAKxra,EAAS0wb,GAC7B,MAAM,WAACD,EAAU,YAAEumB,EAAW,EAAEl/Z,EAAC,EAAED,EAAC,YAAE23Y,EAAW,YAAED,GAAevvb,EAClE,IAAIi3c,EAAcD,EAAcxnB,EAChChkB,EAAIkD,YACJlD,EAAImD,IAAI72X,EAAGD,EAAG23Y,EAAaiB,EAAawmB,EAAavmB,EAAWumB,GAC5D1nB,EAAcynB,GAChBC,EAAcD,EAAcznB,EAC5B/jB,EAAImD,IAAI72X,EAAGD,EAAG03Y,EAAamB,EAAWumB,EAAaxmB,EAAawmB,GAAa,IAE7EzrC,EAAImD,IAAI72X,EAAGD,EAAGm/Z,EAAatmB,EAAW11B,GAASy1B,EAAaz1B,IAE9DwQ,EAAIoD,YACJpD,EAAI2D,MACN,CAIA,SAAS+nC,GAAoBvoC,EAAK4gB,EAAaC,EAAa2nB,GAC1D,MAAM7mc,EAHCgha,GAGmB3C,EAAIjua,QAAQ02c,aAHN,CAAC,aAAc,WAAY,aAAc,aAIzE,MAAMC,GAAiB7nB,EAAcD,GAAe,EAC9C+nB,EAAavid,KAAKK,IAAIiid,EAAeF,EAAa5nB,EAAc,GAChEgoB,EAAqB57d,IACzB,MAAM67d,GAAiBhoB,EAAcz6b,KAAKK,IAAIiid,EAAe17d,IAAQw7d,EAAa,EAClF,OAAOr6C,GAAYnhb,EAAK,EAAGoZ,KAAKK,IAAIiid,EAAeG,GAAe,EAEpE,MAAO,CACLC,WAAYF,EAAkBjnc,EAAEmnc,YAChCC,SAAUH,EAAkBjnc,EAAEonc,UAC9BC,WAAY76C,GAAYxsZ,EAAEqnc,WAAY,EAAGL,GACzCM,SAAU96C,GAAYxsZ,EAAEsnc,SAAU,EAAGN,GAEzC,CACA,SAASO,GAAWhzd,EAAGizd,EAAOhga,EAAGD,GAC/B,MAAO,CACLC,EAAGA,EAAIjzD,EAAIkQ,KAAKm6M,IAAI4oQ,GACpBjga,EAAGA,EAAIhzD,EAAIkQ,KAAKo6M,IAAI2oQ,GAExB,CACA,SAASC,GAAQvsC,EAAKxra,EAASgxH,EAAQ++T,EAASv5T,GAC9C,MAAM,EAAC1+E,EAAC,EAAED,EAAG44Y,WAAYxva,EAAK,YAAE+1b,EAAaznB,YAAayoB,GAAUh4c,EAC9Dwvb,EAAcz6b,KAAKC,IAAIgL,EAAQwvb,YAAcO,EAAU/+T,EAASgmV,EAAa,GAC7EznB,EAAcyoB,EAAS,EAAIA,EAASjoB,EAAU/+T,EAASgmV,EAAc,EAC3E,IAAIiB,EAAgB,EACpB,MAAMj4a,EAAQw2F,EAAMv1G,EACpB,GAAI8ua,EAAS,CACX,MAEMmoB,IAFuBF,EAAS,EAAIA,EAASjoB,EAAU,IAChCP,EAAc,EAAIA,EAAcO,EAAU,IACI,EAE3EkoB,GAAiBj4a,GAD4B,IAAvBk4a,EAA4Bl4a,EAAQk4a,GAAuBA,EAAqBnoB,GAAW/vZ,IACvE,CAC5C,CACA,MACMm4a,GAAen4a,EADRjrC,KAAKC,IAAI,KAAOgrC,EAAQwvZ,EAAcx+T,EAAS++E,IAAMy/O,GAC7B,EAC/BiB,EAAaxva,EAAQk3b,EAAcF,EACnCvnB,EAAWl6T,EAAM2hV,EAAcF,GAC/B,WAACR,EAAU,SAAEC,EAAQ,WAAEC,EAAU,SAAEC,GAAYV,GAAoBl3c,EAASuvb,EAAaC,EAAakB,EAAWD,GACjH2nB,EAA2B5oB,EAAcioB,EACzCY,EAAyB7oB,EAAckoB,EACvCY,EAA0B7nB,EAAagnB,EAAaW,EACpDG,EAAwB7nB,EAAWgnB,EAAWW,EAC9CG,EAA2BjpB,EAAcooB,EACzCc,EAAyBlpB,EAAcqoB,EACvCc,EAA0BjoB,EAAaknB,EAAaa,EACpDG,EAAwBjoB,EAAWknB,EAAWa,EAGpD,GAFAjtC,EAAIkD,YACJlD,EAAImD,IAAI72X,EAAGD,EAAG23Y,EAAa8oB,EAAyBC,GAChDb,EAAW,EAAG,CAChB,MAAMkB,EAAUf,GAAWQ,EAAwBE,EAAuBzga,EAAGD,GAC7E2zX,EAAImD,IAAIiqC,EAAQ9ga,EAAG8ga,EAAQ/ga,EAAG6/Z,EAAUa,EAAuB7nB,EAAW11B,GAC5E,CACA,MAAM69C,EAAKhB,GAAWY,EAAwB/nB,EAAU54Y,EAAGD,GAE3D,GADA2zX,EAAIsD,OAAO+pC,EAAG/ga,EAAG+ga,EAAGhha,GAChB+/Z,EAAW,EAAG,CAChB,MAAMgB,EAAUf,GAAWY,EAAwBE,EAAuB7ga,EAAGD,GAC7E2zX,EAAImD,IAAIiqC,EAAQ9ga,EAAG8ga,EAAQ/ga,EAAG+/Z,EAAUlnB,EAAW11B,GAAS29C,EAAwB5jd,KAAKg7M,GAC3F,CAEA,GADAy7N,EAAImD,IAAI72X,EAAGD,EAAG03Y,EAAamB,EAAYknB,EAAWroB,EAAckB,EAAcknB,EAAapoB,GAAc,GACrGooB,EAAa,EAAG,CAClB,MAAMiB,EAAUf,GAAWW,EAA0BE,EAAyB5ga,EAAGD,GACjF2zX,EAAImD,IAAIiqC,EAAQ9ga,EAAG8ga,EAAQ/ga,EAAG8/Z,EAAYe,EAA0B3jd,KAAKg7M,GAAI0gP,EAAaz1B,GAC5F,CACA,MAAM89C,EAAKjB,GAAWO,EAA0B3nB,EAAY34Y,EAAGD,GAE/D,GADA2zX,EAAIsD,OAAOgqC,EAAGhha,EAAGgha,EAAGjha,GAChB4/Z,EAAa,EAAG,CAClB,MAAMmB,EAAUf,GAAWO,EAA0BE,EAAyBxga,EAAGD,GACjF2zX,EAAImD,IAAIiqC,EAAQ9ga,EAAG8ga,EAAQ/ga,EAAG4/Z,EAAYhnB,EAAaz1B,GAASs9C,EAClE,CACA9sC,EAAIoD,WACN,CAuCA,SAAS2xB,GAAW/0B,EAAKxra,EAASgxH,EAAQ++T,EAASW,GACjD,MAAM,QAAChwb,GAAWV,GACZ,YAACgva,EAAW,gBAAEuO,GAAmB78a,EACjCm1Q,EAAgC,UAAxBn1Q,EAAQqxb,YACjB/iB,IAGDn5J,GACF21J,EAAI4E,UAA0B,EAAdpB,EAChBxD,EAAIutC,SAAWx7B,GAAmB,UAElC/R,EAAI4E,UAAYpB,EAChBxD,EAAIutC,SAAWx7B,GAAmB,SAEhCv9a,EAAQg5c,aAjCd,SAA+BxtC,EAAKxra,EAAS61Q,GAC3C,MAAM,EAAC/9N,EAAC,EAAED,EAAC,WAAE44Y,EAAU,YAAEumB,EAAW,YAAEgC,GAAeh5c,EAC/Cwvb,EAAcz6b,KAAKC,IAAIgL,EAAQwvb,YAAcwnB,EAAa,GAC1DznB,EAAcvvb,EAAQuvb,YAAcynB,EAC1C,IAAI9ge,EAMJ,IALI2/R,GACFkhM,GAAQvrC,EAAKxra,EAASywb,EAAa91B,IAErC6Q,EAAIkD,YACJlD,EAAImD,IAAI72X,EAAGD,EAAG03Y,EAAakB,EAAa91B,GAAK81B,GAAY,GACpDv6c,EAAI,EAAGA,EAAI8ie,IAAe9ie,EAC7Bs1b,EAAIr9E,SAIN,IAFAq9E,EAAIkD,YACJlD,EAAImD,IAAI72X,EAAGD,EAAG23Y,EAAaiB,EAAYA,EAAa91B,IAC/Czkb,EAAI,EAAGA,EAAI8ie,IAAe9ie,EAC7Bs1b,EAAIr9E,QAER,CAgBI8qH,CAAsBztC,EAAKxra,EAAS61Q,GAElCA,GACFkhM,GAAQvrC,EAAKxra,EAAS0wb,GAExBqnB,GAAQvsC,EAAKxra,EAASgxH,EAAQ++T,EAASW,GACvCllB,EAAIr9E,SACN,CA9LAr5W,OAAO+E,iBAAiB03d,GAAO,CAC7B/iM,SAAU,CACRgX,cACA5yS,MAAO47R,IAET2iM,UAAW,CACT3rL,cACA5yS,MAAOu+d,IAETrmC,UAAW,CACTtlJ,cACA5yS,MAAOk4b,IAET7hM,SAAU,CACRu8C,cACA5yS,MAAOq2P,IAET9/G,QAAS,CACPq8J,cACA5yS,MA/0BU,SAi1BZw+d,SAAU,CACR5rL,cACA5yS,MAAOw+d,IAET9nd,SAAU,CACRk8R,cACA5yS,MAAO,WACLq2P,GAASriP,OAAIzM,WACb28d,IACF,GAEFrL,WAAY,CACVjmL,cACA5yS,MAAO,WACLq2P,GAAS57K,UAAOlzE,WAChB28d,IACF,KA0JJ,MAAMoC,WAAmBhpa,GACvB34D,WAAAA,CAAY6nc,GACVxqG,QACA/+V,KAAK6qB,aAAUrtB,EACfwC,KAAK85c,mBAAgBt8c,EACrBwC,KAAK46c,gBAAap9c,EAClBwC,KAAK66c,cAAWr9c,EAChBwC,KAAK05c,iBAAcl8c,EACnBwC,KAAK25c,iBAAcn8c,EACnBwC,KAAKmhe,YAAc,EACnBnhe,KAAKmje,YAAc,EACf55B,GACFtqc,OAAO0wB,OAAO3vB,KAAMupc,EAExB,CACA/pX,OAAAA,CAAQ8jZ,EAAQC,EAAQ7iB,GACtB,MAAMxnb,EAAQl5B,KAAKohd,SAAS,CAAC,IAAK,KAAMV,IAClC,MAACr6B,EAAK,SAAEt7F,GAAYg7F,GAAkB7sZ,EAAO,CAAC+oC,EAAGqha,EAAQtha,EAAGuha,KAC5D,WAAC3oB,EAAU,SAAEC,EAAQ,YAAEnB,EAAW,YAAEC,EAAW,cAAEG,GAAiB95c,KAAKohd,SAAS,CACpF,aACA,WACA,cACA,cACA,iBACCV,GACG8iB,EAAUxje,KAAK6qB,QAAQqvb,QAAU,EAEjCupB,EADiBtgD,GAAe22B,EAAee,EAAWD,IACxB91B,IAAO6B,GAAcN,EAAOu0B,EAAYC,GAC1E6oB,EAAex8C,GAAWn8F,EAAU2uH,EAAc8pB,EAAS7pB,EAAc6pB,GAC/E,OAAQC,GAAiBC,CAC3B,CACAxiB,cAAAA,CAAeR,GACb,MAAM,EAACz+Y,EAAC,EAAED,EAAC,WAAE44Y,EAAU,SAAEC,EAAQ,YAAEnB,EAAW,YAAEC,GAAe35c,KAAKohd,SAAS,CAC3E,IACA,IACA,aACA,WACA,cACA,cACA,iBACCV,IACG,OAACvlU,EAAM,QAAE++T,GAAWl6c,KAAK6qB,QACzB84c,GAAa/oB,EAAaC,GAAY,EACtC+oB,GAAclqB,EAAcC,EAAcO,EAAU/+T,GAAU,EACpE,MAAO,CACLl5E,EAAGA,EAAI/iD,KAAKm6M,IAAIsqQ,GAAaC,EAC7B5ha,EAAGA,EAAI9iD,KAAKo6M,IAAIqqQ,GAAaC,EAEjC,CACA1b,eAAAA,CAAgBxH,GACd,OAAO1gd,KAAKkhd,eAAeR,EAC7B,CACAlY,IAAAA,CAAK7S,GACH,MAAM,QAAC9qa,EAAO,cAAEivb,GAAiB95c,KAC3Bm7I,GAAUtwH,EAAQswH,QAAU,GAAK,EACjC++T,GAAWrvb,EAAQqvb,SAAW,GAAK,EAGzC,GAFAl6c,KAAKmhe,YAAuC,UAAxBt2c,EAAQqxb,YAA2B,IAAO,EAC9Dl8c,KAAKmje,YAAcrpB,EAAgBh1B,GAAM5la,KAAKmsC,MAAMyuZ,EAAgBh1B,IAAO,EACrD,IAAlBg1B,GAAuB95c,KAAK05c,YAAc,GAAK15c,KAAK25c,YAAc,EACpE,OAEFhkB,EAAI7oX,OACJ,IAAI+2Z,EAAe,EACnB,GAAI1oV,EAAQ,CACV0oV,EAAe1oV,EAAS,EACxB,MAAMwoV,GAAa3je,KAAK46c,WAAa56c,KAAK66c,UAAY,EACtDllB,EAAIr/W,UAAUp3D,KAAKm6M,IAAIsqQ,GAAaE,EAAc3kd,KAAKo6M,IAAIqqQ,GAAaE,GACpE7je,KAAK85c,eAAiB5/O,KACxB2pQ,EAAe1oV,EAEnB,CACAw6S,EAAIwE,UAAYtva,EAAQkyM,gBACxB44N,EAAI2E,YAAczva,EAAQwqa,YAC1B,MAAMwlB,EAtIV,SAAiBllB,EAAKxra,EAASgxH,EAAQ++T,GACrC,MAAM,YAACipB,EAAW,WAAEvoB,EAAU,cAAEd,GAAiB3vb,EACjD,IAAI0wb,EAAW1wb,EAAQ0wb,SACvB,GAAIsoB,EAAa,CACfjB,GAAQvsC,EAAKxra,EAASgxH,EAAQ++T,EAASU,EAAa91B,IACpD,IAAK,IAAIzkb,EAAI,EAAGA,EAAI8ie,IAAe9ie,EACjCs1b,EAAIn3F,OAED/gW,MAAMq8c,KACTe,EAAWD,EAAad,EAAgBh1B,GACpCg1B,EAAgBh1B,KAAQ,IAC1B+1B,GAAY/1B,IAGlB,CAGA,OAFAo9C,GAAQvsC,EAAKxra,EAASgxH,EAAQ++T,EAASW,GACvCllB,EAAIn3F,OACGq8G,CACT,CAoHqBipB,CAAQnuC,EAAK31b,KAAM6je,EAAc3pB,GAClDwQ,GAAW/0B,EAAK31b,KAAM6je,EAAc3pB,EAASW,GAC7CllB,EAAIiC,SACN,EAiBF,SAASmsC,GAASpuC,EAAK9qa,GAA0B,IAAjBytC,EAAKh0D,UAAAlH,OAAA,QAAAI,IAAA8G,UAAA,GAAAA,UAAA,GAAGumB,EACtC8qa,EAAIquC,QAAU7gD,GAAe7qX,EAAMivY,eAAgB18a,EAAQ08a,gBAC3D5R,EAAI0+B,YAAYlxC,GAAe7qX,EAAMkvY,WAAY38a,EAAQ28a,aACzD7R,EAAI2+B,eAAiBnxC,GAAe7qX,EAAMmvY,iBAAkB58a,EAAQ48a,kBACpE9R,EAAIutC,SAAW//C,GAAe7qX,EAAMovY,gBAAiB78a,EAAQ68a,iBAC7D/R,EAAI4E,UAAYpX,GAAe7qX,EAAM6gY,YAAatua,EAAQsua,aAC1DxD,EAAI2E,YAAcnX,GAAe7qX,EAAM+8X,YAAaxqa,EAAQwqa,YAC9D,CACA,SAAS4D,GAAOtD,EAAK/pX,EAAU7pE,GAC7B4zb,EAAIsD,OAAOl3b,EAAOkgE,EAAGlgE,EAAOigE,EAC9B,CAUA,SAASiia,GAASz2D,EAAQj8F,GAAsB,IAAbvoU,EAAM1E,UAAAlH,OAAA,QAAAI,IAAA8G,UAAA,GAAAA,UAAA,GAAG,CAAC,EAC3C,MAAM7D,EAAQ+sa,EAAOpwa,QACdguC,MAAO84b,EAAc,EAAGvjV,IAAKwjV,EAAY1je,EAAQ,GAAKuI,GACtDoiC,MAAOg5b,EAAczjV,IAAK0jV,GAAc9yJ,EACzCnmS,EAAQlsB,KAAKC,IAAI+kd,EAAaE,GAC9BzjV,EAAMzhI,KAAKK,IAAI4kd,EAAWE,GAC1BC,EAAUJ,EAAcE,GAAgBD,EAAYC,GAAgBF,EAAcG,GAAcF,EAAYE,EAClH,MAAO,CACL5je,QACA2qC,QACAk2Z,KAAM/vH,EAAQ+vH,KACd5d,KAAM/iS,EAAMv1G,IAAUk5b,EAAU7je,EAAQkgJ,EAAMv1G,EAAQu1G,EAAMv1G,EAEhE,CACA,SAASm5b,GAAY5uC,EAAK12J,EAAMsyC,EAASvoU,GACvC,MAAM,OAACwka,EAAM,QAAE3iZ,GAAWo0Q,GACpB,MAACx+R,EAAK,MAAE2qC,EAAK,KAAEk2Z,EAAI,KAAE5d,GAAQugD,GAASz2D,EAAQj8F,EAASvoU,GACvDw7d,EA1BR,SAAuB35c,GACrB,OAAIA,EAAQ45c,QACHjrC,GAEL3ua,EAAQ62a,SAA8C,aAAnC72a,EAAQ42a,uBACtB/H,GAEFT,EACT,CAkBqByrC,CAAc75c,GACjC,IACIxqB,EAAG64B,EAAOqrI,GADV,KAAC0hB,GAAO,EAAI,QAAErjK,GAAW5Z,GAAU,CAAC,EAExC,IAAK3I,EAAI,EAAGA,GAAKqjb,IAAQrjb,EACvB64B,EAAQs0Y,GAAQpiY,GAASxoB,EAAU8ga,EAAOrjb,EAAIA,IAAMI,GAChDy4B,EAAM+4C,OAECg0G,GACT0vQ,EAAIqD,OAAO9/Z,EAAM+oC,EAAG/oC,EAAM8oC,GAC1BikH,GAAO,GAEPu+S,EAAW7uC,EAAKpxR,EAAMrrI,EAAOtW,EAASiI,EAAQ45c,SAEhDlgU,EAAOrrI,GAMT,OAJIooa,IACFpoa,EAAQs0Y,GAAQpiY,GAASxoB,EAAU8ga,EAAO,IAAMjjb,GAChD+je,EAAW7uC,EAAKpxR,EAAMrrI,EAAOtW,EAASiI,EAAQ45c,YAEvCnjC,CACX,CACA,SAASqjC,GAAgBhvC,EAAK12J,EAAMsyC,EAASvoU,GAC3C,MAAMwka,EAASvuI,EAAKuuI,QACd,MAAC/sa,EAAK,MAAE2qC,EAAK,KAAEs4Y,GAAQugD,GAASz2D,EAAQj8F,EAASvoU,IACjD,KAACi9K,GAAO,EAAI,QAAErjK,GAAW5Z,GAAU,CAAC,EAC1C,IAEI3I,EAAG64B,EAAO0rc,EAAOtpB,EAAMF,EAAMypB,EAF7BC,EAAO,EACPC,EAAS,EAEb,MAAMC,EAAcjke,IAAWqqC,GAASxoB,EAAU8ga,EAAO3ib,EAAQA,IAAUN,EACrEwke,EAAQA,KACR3pB,IAASF,IACXzlB,EAAIsD,OAAO6rC,EAAM1pB,GACjBzlB,EAAIsD,OAAO6rC,EAAMxpB,GACjB3lB,EAAIsD,OAAO6rC,EAAMD,GACnB,EAMF,IAJI5+S,IACF/sJ,EAAQs0Y,EAAOw3D,EAAW,IAC1BrvC,EAAIqD,OAAO9/Z,EAAM+oC,EAAG/oC,EAAM8oC,IAEvB3hE,EAAI,EAAGA,GAAKqjb,IAAQrjb,EAAG,CAE1B,GADA64B,EAAQs0Y,EAAOw3D,EAAW3ke,IACtB64B,EAAM+4C,KACR,SAEF,MAAMhQ,EAAI/oC,EAAM+oC,EACVD,EAAI9oC,EAAM8oC,EACVkja,EAAa,EAAJjja,EACXija,IAAWN,GACT5ia,EAAIs5Y,EACNA,EAAOt5Y,EACEA,EAAIo5Y,IACbA,EAAOp5Y,GAET8ia,GAAQC,EAASD,EAAO7ia,KAAO8ia,IAE/BE,IACAtvC,EAAIsD,OAAOh3X,EAAGD,GACd4ia,EAAQM,EACRH,EAAS,EACTzpB,EAAOF,EAAOp5Y,GAEhB6ia,EAAQ7ia,CACV,CACAija,GACF,CACA,SAASE,GAAkBlmM,GACzB,MAAMI,EAAOJ,EAAKp0Q,QACZ28a,EAAanoK,EAAKmoK,YAAcnoK,EAAKmoK,WAAWpqc,OAEtD,OADqB6hS,EAAKy+K,aAAez+K,EAAKuwD,QAAUnwD,EAAKqiK,SAA2C,aAAhCriK,EAAKoiK,yBAA0CpiK,EAAKolM,UAAYj9B,EACnHm9B,GAAkBJ,EACzC,CA3HAlB,GAAW1wb,GAAK,MAChB0wb,GAAW1qM,SAAW,CACpBujL,YAAa,SACb7mB,YAAa,OACbqS,qBAAiBlqc,EACjB+je,aAAc,EACdpoC,YAAa,EACbh+S,OAAQ,EACR++T,QAAS,EACT7zB,WAAO7ob,GAET6le,GAAWjb,cAAgB,CACzBrrP,gBAAiB,mBAgJnB,MAAMqoQ,GAA8B,oBAAXC,OACzB,SAAS78B,GAAK7S,EAAK12J,EAAM7zP,EAAO3qC,GAC1B2ke,KAAcnmM,EAAKp0Q,QAAQ0mT,QAzBjC,SAA6BokH,EAAK12J,EAAM7zP,EAAO3qC,GAC7C,IAAI+pB,EAAOy0Q,EAAKqmM,MACX96c,IACHA,EAAOy0Q,EAAKqmM,MAAQ,IAAID,OACpBpmM,EAAKz0Q,KAAKA,EAAM4gB,EAAO3qC,IACzB+pB,EAAKuua,aAGTgrC,GAASpuC,EAAK12J,EAAKp0Q,SACnB8qa,EAAIr9E,OAAO9tV,EACb,CAgBI+6c,CAAoB5vC,EAAK12J,EAAM7zP,EAAO3qC,GAf1C,SAA0Bk1b,EAAK12J,EAAM7zP,EAAO3qC,GAC1C,MAAM,SAAC4wU,EAAQ,QAAExmT,GAAWo0Q,EACtBumM,EAAgBL,GAAkBlmM,GACxC,IAAK,MAAMsyC,KAAWF,EACpB0yJ,GAASpuC,EAAK9qa,EAAS0mT,EAAQj5Q,OAC/Bq9X,EAAIkD,YACA2sC,EAAc7vC,EAAK12J,EAAMsyC,EAAS,CAACnmS,QAAOu1G,IAAKv1G,EAAQ3qC,EAAQ,KACjEk1b,EAAIoD,YAENpD,EAAIr9E,QAER,CAMImtH,CAAiB9vC,EAAK12J,EAAM7zP,EAAO3qC,EAEvC,CACA,MAAMile,WAAoBrra,GACxB34D,WAAAA,CAAY6nc,GACVxqG,QACA/+V,KAAKmtW,UAAW,EAChBntW,KAAK6qB,aAAUrtB,EACfwC,KAAK2mc,YAASnpc,EACdwC,KAAKwvV,WAAQhyV,EACbwC,KAAKm/c,eAAY3hd,EACjBwC,KAAKsle,WAAQ9ne,EACbwC,KAAK2le,aAAUnoe,EACfwC,KAAK4le,eAAYpoe,EACjBwC,KAAK09c,YAAa,EAClB19c,KAAK6le,gBAAiB,EACtB7le,KAAK8mc,mBAAgBtpc,EACjB+rc,GACFtqc,OAAO0wB,OAAO3vB,KAAMupc,EAExB,CACAyU,mBAAAA,CAAoBtL,EAAW5c,GAC7B,MAAMjra,EAAU7qB,KAAK6qB,QACrB,IAAKA,EAAQ62a,SAA8C,aAAnC72a,EAAQ42a,0BAA2C52a,EAAQ45c,UAAYzke,KAAK6le,eAAgB,CAClH,MAAMvkC,EAAOz2a,EAAQ22a,SAAWxhc,KAAKwvV,MAAQxvV,KAAKm/c,UAClD9d,GAA2Brhc,KAAK2le,QAAS96c,EAAS6nb,EAAWpR,EAAMxL,GACnE91b,KAAK6le,gBAAiB,CACxB,CACF,CACA,UAAIr4D,CAAOA,GACTxta,KAAK2le,QAAUn4D,SACRxta,KAAK4le,iBACL5le,KAAKsle,MACZtle,KAAK6le,gBAAiB,CACxB,CACA,UAAIr4D,GACF,OAAOxta,KAAK2le,OACd,CACA,YAAIt0J,GACF,OAAOrxU,KAAK4le,YAAc5le,KAAK4le,UD1kInC,SAA0B3mM,EAAMwnK,GAC9B,MAAMj5B,EAASvuI,EAAKuuI,OACdg0B,EAAWviK,EAAKp0Q,QAAQ22a,SACxB/gc,EAAQ+sa,EAAOpwa,OACrB,IAAKqD,EACH,MAAO,GAET,MAAM6gc,IAASriK,EAAKuwD,OACd,MAACpkT,EAAK,IAAEu1G,GAxDhB,SAAyB6sR,EAAQ/sa,EAAO6gc,EAAME,GAC5C,IAAIp2Z,EAAQ,EACRu1G,EAAMlgJ,EAAQ,EAClB,GAAI6gc,IAASE,EACX,KAAOp2Z,EAAQ3qC,IAAU+sa,EAAOpiY,GAAO6mC,MACrC7mC,IAGJ,KAAOA,EAAQ3qC,GAAS+sa,EAAOpiY,GAAO6mC,MACpC7mC,IAMF,IAJAA,GAAS3qC,EACL6gc,IACF3gT,GAAOv1G,GAEFu1G,EAAMv1G,GAASoiY,EAAO7sR,EAAMlgJ,GAAOwxE,MACxC0uE,IAGF,OADAA,GAAOlgJ,EACA,CAAC2qC,QAAOu1G,MACjB,CAoCuBmlV,CAAgBt4D,EAAQ/sa,EAAO6gc,EAAME,GAC1D,OACSgF,GAAcvnK,GADN,IAAbuiK,EACyB,CAAC,CAACp2Z,QAAOu1G,MAAK2gT,SArC7C,SAAuB9zB,EAAQpiY,EAAOjsB,EAAKmib,GACzC,MAAM7gc,EAAQ+sa,EAAOpwa,OACfooB,EAAS,GACf,IAEIm7H,EAFA9+H,EAAOupB,EACPm5H,EAAOipQ,EAAOpiY,GAElB,IAAKu1G,EAAMv1G,EAAQ,EAAGu1G,GAAOxhI,IAAOwhI,EAAK,CACvC,MAAMqoT,EAAMx7B,EAAO7sR,EAAMlgJ,GACrBuoc,EAAI/2X,MAAQ+2X,EAAIE,KACb3kS,EAAKtyF,OACRqvX,GAAO,EACP97a,EAAOxmB,KAAK,CAACosC,MAAOA,EAAQ3qC,EAAOkgJ,KAAMA,EAAM,GAAKlgJ,EAAO6gc,SAC3Dl2Z,EAAQvpB,EAAOmnb,EAAIE,KAAOvoT,EAAM,OAGlC9+H,EAAO8+H,EACH4jB,EAAKtyF,OACP7mC,EAAQu1G,IAGZ4jB,EAAOykS,CACT,CAIA,OAHa,OAATnnb,GACF2D,EAAOxmB,KAAK,CAACosC,MAAOA,EAAQ3qC,EAAOkgJ,IAAK9+H,EAAOphB,EAAO6gc,SAEjD97a,CACT,CAe6Bugd,CAAcv4D,EAAQpiY,EAFrCu1G,EAAMv1G,EAAQu1G,EAAMlgJ,EAAQkgJ,IACjBs+I,EAAKkgL,WAAuB,IAAV/za,GAAeu1G,IAAQlgJ,EAAQ,GAHrB+sa,EAAQi5B,EAK7D,CC2jI+Cu/B,CAAiBhme,KAAMA,KAAK6qB,QAAQ0mT,SACjF,CACAxrQ,KAAAA,GACE,MAAMsrQ,EAAWrxU,KAAKqxU,SAChBm8F,EAASxta,KAAKwta,OACpB,OAAOn8F,EAASj0U,QAAUowa,EAAOn8F,EAAS,GAAGjmS,MAC/C,CACAvpB,IAAAA,GACE,MAAMwvT,EAAWrxU,KAAKqxU,SAChBm8F,EAASxta,KAAKwta,OACd/sa,EAAQ4wU,EAASj0U,OACvB,OAAOqD,GAAS+sa,EAAOn8F,EAAS5wU,EAAQ,GAAGkgJ,IAC7C,CACAslV,WAAAA,CAAY/sc,EAAOl3B,GACjB,MAAM6oB,EAAU7qB,KAAK6qB,QACf9tB,EAAQm8B,EAAMl3B,GACdwra,EAASxta,KAAKwta,OACdn8F,EAAWk1H,GAAevmc,KAAM,CAACgC,WAAUopC,MAAOruC,EAAO4jJ,IAAK5jJ,IACpE,IAAKs0U,EAASj0U,OACZ,OAEF,MAAMooB,EAAS,GACT0gd,EAlGV,SAAiCr7c,GAC/B,OAAIA,EAAQ45c,QACHpgC,GAELx5a,EAAQ62a,SAA8C,aAAnC72a,EAAQ42a,uBACtB6C,GAEFF,EACT,CA0FyB+hC,CAAwBt7c,GAC7C,IAAIxqB,EAAGqjb,EACP,IAAKrjb,EAAI,EAAGqjb,EAAOryG,EAASj0U,OAAQiD,EAAIqjb,IAAQrjb,EAAG,CACjD,MAAM,MAAC+qC,EAAK,IAAEu1G,GAAO0wL,EAAShxU,GACxBswa,EAAKnD,EAAOpiY,GACZwlY,EAAKpD,EAAO7sR,GAClB,GAAIgwR,IAAOC,EAAI,CACbprZ,EAAOxmB,KAAK2xa,GACZ,QACF,CACA,MACMQ,EAAe+0D,EAAav1D,EAAIC,EAD5B1xZ,KAAK+9C,KAAKlgE,EAAQ4za,EAAG3ua,KAAc4ua,EAAG5ua,GAAY2ua,EAAG3ua,KAClB6oB,EAAQ45c,SACrDtzD,EAAanva,GAAYk3B,EAAMl3B,GAC/BwjB,EAAOxmB,KAAKmya,EACd,CACA,OAAyB,IAAlB3rZ,EAAOpoB,OAAeooB,EAAO,GAAKA,CAC3C,CACA++c,WAAAA,CAAY5uC,EAAKpkH,EAASvoU,GAExB,OADsBm8d,GAAkBnle,KACjCwle,CAAc7vC,EAAK31b,KAAMuxU,EAASvoU,EAC3C,CACAwhB,IAAAA,CAAKmra,EAAKvqZ,EAAO3qC,GACf,MAAM4wU,EAAWrxU,KAAKqxU,SAChBm0J,EAAgBL,GAAkBnle,MACxC,IAAIshc,EAAOthc,KAAKwvV,MAChBpkT,EAAQA,GAAS,EACjB3qC,EAAQA,GAAUT,KAAKwta,OAAOpwa,OAASguC,EACvC,IAAK,MAAMmmS,KAAWF,EACpBiwH,GAAQkkC,EAAc7vC,EAAK31b,KAAMuxU,EAAS,CAACnmS,QAAOu1G,IAAKv1G,EAAQ3qC,EAAQ,IAEzE,QAAS6gc,CACX,CACAkH,IAAAA,CAAK7S,EAAK+c,EAAWtna,EAAO3qC,GAC1B,MAAMoqB,EAAU7qB,KAAK6qB,SAAW,CAAC,GAClB7qB,KAAKwta,QAAU,IACnBpwa,QAAUytB,EAAQsua,cAC3BxD,EAAI7oX,OACJ07X,GAAK7S,EAAK31b,KAAMorC,EAAO3qC,GACvBk1b,EAAIiC,WAEF53b,KAAKmtW,WACPntW,KAAK6le,gBAAiB,EACtB7le,KAAKsle,WAAQ9ne,EAEjB,EAyBF,SAAS4oe,GAAU18c,EAAI+/D,EAAKkkQ,EAAM+yH,GAChC,MAAM71b,EAAUnB,EAAGmB,SACZ,CAAC8iU,GAAO5wV,GAAS2sB,EAAG03b,SAAS,CAACzzH,GAAO+yH,GAC5C,OAAQxhc,KAAK+9C,IAAIwsB,EAAM1sF,GAAS8tB,EAAQstM,OAASttM,EAAQw7c,SAC3D,CA3BAX,GAAY/yb,GAAK,OACjB+yb,GAAY/sM,SAAW,CACrB4uK,eAAgB,OAChBC,WAAY,GACZC,iBAAkB,EAClBC,gBAAiB,QACjBvO,YAAa,EACbwI,iBAAiB,EACjBF,uBAAwB,UACxBjjG,MAAM,EACNgjG,UAAU,EACVijC,SAAS,EACT/iC,QAAS,GAEXgkC,GAAYtd,cAAgB,CAC1BrrP,gBAAiB,kBACjBs4N,YAAa,eAEfqwC,GAAYxwC,YAAc,CACxB8B,aAAa,EACbC,WAAaxxb,GAAkB,eAATA,GAAkC,SAATA,GAQjD,MAAM6ge,WAAqBjsa,GACzB34D,WAAAA,CAAY6nc,GACVxqG,QACA/+V,KAAK6qB,aAAUrtB,EACfwC,KAAK8+R,YAASthS,EACdwC,KAAKiyE,UAAOz0E,EACZwC,KAAKkpc,UAAO1rc,EACR+rc,GACFtqc,OAAO0wB,OAAO3vB,KAAMupc,EAExB,CACA/pX,OAAAA,CAAQgmG,EAAQ+gT,EAAQ7lB,GACtB,MAAM71b,EAAU7qB,KAAK6qB,SACf,EAACo3C,EAAC,EAAED,GAAKhiE,KAAKohd,SAAS,CAAC,IAAK,KAAMV,GACzC,OAASxhc,KAAKyrC,IAAI66H,EAASvjH,EAAG,GAAK/iD,KAAKyrC,IAAI47a,EAASvka,EAAG,GAAM9iD,KAAKyrC,IAAI9/B,EAAQw7c,UAAYx7c,EAAQstM,OAAQ,EAC7G,CACAquQ,QAAAA,CAAShhT,EAAQk7R,GACf,OAAO0lB,GAAUpme,KAAMwlL,EAAQ,IAAKk7R,EACtC,CACA+lB,QAAAA,CAASF,EAAQ7lB,GACf,OAAO0lB,GAAUpme,KAAMume,EAAQ,IAAK7lB,EACtC,CACAQ,cAAAA,CAAeR,GACb,MAAM,EAACz+Y,EAAC,EAAED,GAAKhiE,KAAKohd,SAAS,CAAC,IAAK,KAAMV,GACzC,MAAO,CAACz+Y,IAAGD,IACb,CACApxD,IAAAA,CAAKia,GAEH,IAAIstM,GADJttM,EAAUA,GAAW7qB,KAAK6qB,SAAW,CAAC,GACjBstM,QAAU,EAC/BA,EAASj5M,KAAKC,IAAIg5M,EAAQA,GAAUttM,EAAQ67c,aAAe,GAE3D,OAAgC,GAAxBvuQ,GADYA,GAAUttM,EAAQsua,aAAe,GAEvD,CACAqP,IAAAA,CAAK7S,EAAK3sJ,GACR,MAAMn+Q,EAAU7qB,KAAK6qB,QACjB7qB,KAAKiyE,MAAQpnD,EAAQstM,OAAS,KAAQihO,GAAep5b,KAAMgpS,EAAMhpS,KAAK4Q,KAAKia,GAAW,KAG1F8qa,EAAI2E,YAAczva,EAAQwqa,YAC1BM,EAAI4E,UAAY1va,EAAQsua,YACxBxD,EAAIwE,UAAYtva,EAAQkyM,gBACxBs7N,GAAU1C,EAAK9qa,EAAS7qB,KAAKiiE,EAAGjiE,KAAKgiE,GACvC,CACAs+Y,QAAAA,GACE,MAAMz1b,EAAU7qB,KAAK6qB,SAAW,CAAC,EACjC,OAAOA,EAAQstM,OAASttM,EAAQw7c,SAClC,EAiBF,SAASM,GAAaz5H,EAAKwzG,GACzB,MAAM,EAACz+Y,EAAC,EAAED,EAAC,KAAEinO,EAAI,MAAElwR,EAAK,OAAEw/C,GAAU20S,EAAIk0G,SAAS,CAAC,IAAK,IAAK,OAAQ,QAAS,UAAWV,GACxF,IAAIlhd,EAAMC,EAAOk9D,EAAKo5C,EAAQ6wX,EAc9B,OAbI15H,EAAIpgI,YACN85P,EAAOrua,EAAS,EAChB/4D,EAAO0f,KAAKK,IAAI0iD,EAAGgnO,GACnBxpS,EAAQyf,KAAKC,IAAI8iD,EAAGgnO,GACpBtsO,EAAMqF,EAAI4ka,EACV7wX,EAAS/zC,EAAI4ka,IAEbA,EAAO7td,EAAQ,EACfvZ,EAAOyiE,EAAI2ka,EACXnne,EAAQwiE,EAAI2ka,EACZjqa,EAAMz9C,KAAKK,IAAIyiD,EAAGinO,GAClBlzL,EAAS72F,KAAKC,IAAI6iD,EAAGinO,IAEhB,CAACzpS,OAAMm9D,MAAKl9D,QAAOs2G,SAC5B,CACA,SAAS8wX,GAAY50Z,EAAMl1E,EAAOwiB,EAAKJ,GACrC,OAAO8yD,EAAO,EAAIg1W,GAAYlqb,EAAOwiB,EAAKJ,EAC5C,CA0BA,SAAS2nd,GAAc55H,GACrB,MAAMlgI,EAAS25P,GAAaz5H,GACtBn0V,EAAQi0N,EAAOvtO,MAAQutO,EAAOxtO,KAC9B+4D,EAASy0K,EAAOj3H,OAASi3H,EAAOrwK,IAChCilT,EA7BR,SAA0B1U,EAAK65H,EAAMC,GACnC,MAAMjqe,EAAQmwW,EAAIriV,QAAQsua,YACpBlnX,EAAOi7R,EAAIqpG,cACX97a,EAAIkha,GAAO5+b,GACjB,MAAO,CACLk0B,EAAG41c,GAAY50Z,EAAKtV,IAAKliC,EAAEkiC,IAAK,EAAGqqa,GACnCh4d,EAAG63d,GAAY50Z,EAAKxyE,MAAOg7B,EAAEh7B,MAAO,EAAGsne,GACvCxoe,EAAGsoe,GAAY50Z,EAAK8jC,OAAQt7E,EAAEs7E,OAAQ,EAAGixX,GACzC7vP,EAAG0vP,GAAY50Z,EAAKzyE,KAAMi7B,EAAEj7B,KAAM,EAAGune,GAEzC,CAmBiBE,CAAiB/5H,EAAKn0V,EAAQ,EAAGw/C,EAAS,GACnD4/J,EAnBR,SAA2B+0I,EAAK65H,EAAMC,GACpC,MAAM,mBAACvwB,GAAsBvpG,EAAIk0G,SAAS,CAAC,uBACrCrkd,EAAQmwW,EAAIriV,QAAQ02c,aACpB9mc,EAAImha,GAAc7+b,GAClBmqe,EAAOhod,KAAKK,IAAIwnd,EAAMC,GACtB/0Z,EAAOi7R,EAAIqpG,cACX4wB,EAAe1wB,GAAsBh6K,GAAS1/R,GACpD,MAAO,CACL0hN,QAASooR,IAAaM,GAAgBl1Z,EAAKtV,KAAOsV,EAAKzyE,KAAMi7B,EAAEgkL,QAAS,EAAGyoR,GAC3ExoR,SAAUmoR,IAAaM,GAAgBl1Z,EAAKtV,KAAOsV,EAAKxyE,MAAOg7B,EAAEikL,SAAU,EAAGwoR,GAC9EtoR,WAAYioR,IAAaM,GAAgBl1Z,EAAK8jC,QAAU9jC,EAAKzyE,KAAMi7B,EAAEmkL,WAAY,EAAGsoR,GACpFvoR,YAAakoR,IAAaM,GAAgBl1Z,EAAK8jC,QAAU9jC,EAAKxyE,MAAOg7B,EAAEkkL,YAAa,EAAGuoR,GAE3F,CAMiBE,CAAkBl6H,EAAKn0V,EAAQ,EAAGw/C,EAAS,GAC1D,MAAO,CACLnZ,MAAO,CACL6iB,EAAG+qK,EAAOxtO,KACVwiE,EAAGgrK,EAAOrwK,IACVqyO,EAAGj2R,EACHmxC,EAAGqO,EACH4/J,UAEF6nE,MAAO,CACL/9N,EAAG+qK,EAAOxtO,KAAOoiX,EAAOzqI,EACxBn1K,EAAGgrK,EAAOrwK,IAAMilT,EAAO3wV,EACvB+9Q,EAAGj2R,EAAQ6oW,EAAOzqI,EAAIyqI,EAAO5yW,EAC7Bk7C,EAAGqO,EAASqpT,EAAO3wV,EAAI2wV,EAAOrjX,EAC9B45N,OAAQ,CACN1Z,QAASv/L,KAAKC,IAAI,EAAGg5M,EAAO1Z,QAAUv/L,KAAKC,IAAIyiW,EAAO3wV,EAAG2wV,EAAOzqI,IAChEz4B,SAAUx/L,KAAKC,IAAI,EAAGg5M,EAAOzZ,SAAWx/L,KAAKC,IAAIyiW,EAAO3wV,EAAG2wV,EAAO5yW,IAClE4vM,WAAY1/L,KAAKC,IAAI,EAAGg5M,EAAOvZ,WAAa1/L,KAAKC,IAAIyiW,EAAOrjX,EAAGqjX,EAAOzqI,IACtEx4B,YAAaz/L,KAAKC,IAAI,EAAGg5M,EAAOxZ,YAAcz/L,KAAKC,IAAIyiW,EAAOrjX,EAAGqjX,EAAO5yW,MAIhF,CACA,SAASwwE,GAAQ0tR,EAAKjrS,EAAGD,EAAG0+Y,GAC1B,MAAMngQ,EAAc,OAANt+I,EACRu+I,EAAc,OAANx+I,EAERgrK,EAASkgI,KADE3sJ,GAASC,IACSmmR,GAAaz5H,EAAKwzG,GACrD,OAAO1zO,IACHzsB,GAAS2mO,GAAWjlX,EAAG+qK,EAAOxtO,KAAMwtO,EAAOvtO,UAC3C+gN,GAAS0mO,GAAWllX,EAAGgrK,EAAOrwK,IAAKqwK,EAAOj3H,QAChD,CAIA,SAASsxX,GAAkB1xC,EAAKhgV,GAC9BggV,EAAIhgV,KAAKA,EAAK1zC,EAAG0zC,EAAK3zC,EAAG2zC,EAAKq5L,EAAGr5L,EAAKzrD,EACxC,CACA,SAASo9a,GAAY3xX,EAAM4/D,GAAsB,IAAdgyT,EAAOjje,UAAAlH,OAAA,QAAAI,IAAA8G,UAAA,GAAAA,UAAA,GAAG,CAAC,EAC5C,MAAM29D,EAAI0zC,EAAK1zC,IAAMsla,EAAQtla,GAAKszG,EAAS,EACrCvzG,EAAI2zC,EAAK3zC,IAAMula,EAAQvla,GAAKuzG,EAAS,EACrCy5H,GAAKr5L,EAAK1zC,EAAI0zC,EAAKq5L,IAAMu4L,EAAQtla,EAAIsla,EAAQv4L,EAAIz5H,EAAS,GAAKtzG,EAC/D/X,GAAKyrD,EAAK3zC,EAAI2zC,EAAKzrD,IAAMq9a,EAAQvla,EAAIula,EAAQr9a,EAAIqrH,EAAS,GAAKvzG,EACrE,MAAO,CACLC,EAAG0zC,EAAK1zC,EAAIA,EACZD,EAAG2zC,EAAK3zC,EAAIA,EACZgtO,EAAGr5L,EAAKq5L,EAAIA,EACZ9kP,EAAGyrD,EAAKzrD,EAAIA,EACZiuK,OAAQxiH,EAAKwiH,OAEjB,CApHAmuQ,GAAa3zb,GAAK,QAClB2zb,GAAa3tM,SAAW,CACtBwgK,YAAa,EACbktC,UAAW,EACXlqB,iBAAkB,EAClBuqB,YAAa,EACbjuC,WAAY,SACZtgO,OAAQ,EACRugO,SAAU,GAEZ4tC,GAAale,cAAgB,CAC3BrrP,gBAAiB,kBACjBs4N,YAAa,eAyGf,MAAMmyC,WAAmBnta,GACvB34D,WAAAA,CAAY6nc,GACVxqG,QACA/+V,KAAK6qB,aAAUrtB,EACfwC,KAAK8sO,gBAAatvO,EAClBwC,KAAKipS,UAAOzrS,EACZwC,KAAK+Y,WAAQvb,EACbwC,KAAKu4D,YAAS/6D,EACdwC,KAAK+2c,mBAAgBv5c,EACjB+rc,GACFtqc,OAAO0wB,OAAO3vB,KAAMupc,EAExB,CACAf,IAAAA,CAAK7S,GACH,MAAM,cAACohB,EAAelsb,SAAS,YAACwqa,EAAW,gBAAEt4N,IAAoB/8N,MAC3D,MAACggS,EAAK,MAAE5gP,GAAS0nb,GAAc9me,MAC/Byne,GAnCStvQ,EAmCe/4K,EAAM+4K,QAlCxB1Z,SAAW0Z,EAAOzZ,UAAYyZ,EAAOvZ,YAAcuZ,EAAOxZ,YAkCxBy8O,GAAqBisC,GAnCvE,IAAmBlvQ,EAoCfw9N,EAAI7oX,OACA1tB,EAAM4vP,IAAMhP,EAAMgP,GAAK5vP,EAAM8K,IAAM81O,EAAM91O,IAC3CyrY,EAAIkD,YACJ4uC,EAAY9xC,EAAK2xC,GAAYlob,EAAO23Z,EAAe/2K,IACnD21J,EAAI2D,OACJmuC,EAAY9xC,EAAK2xC,GAAYtnM,GAAQ+2K,EAAe33Z,IACpDu2Y,EAAIwE,UAAY9E,EAChBM,EAAIn3F,KAAK,YAEXm3F,EAAIkD,YACJ4uC,EAAY9xC,EAAK2xC,GAAYtnM,EAAO+2K,IACpCphB,EAAIwE,UAAYp9N,EAChB44N,EAAIn3F,OACJm3F,EAAIiC,SACN,CACAp4W,OAAAA,CAAQgmG,EAAQ+gT,EAAQ7lB,GACtB,OAAOlhY,GAAQx/E,KAAMwlL,EAAQ+gT,EAAQ7lB,EACvC,CACA8lB,QAAAA,CAAShhT,EAAQk7R,GACf,OAAOlhY,GAAQx/E,KAAMwlL,EAAQ,KAAMk7R,EACrC,CACA+lB,QAAAA,CAASF,EAAQ7lB,GACf,OAAOlhY,GAAQx/E,KAAM,KAAMume,EAAQ7lB,EACrC,CACAQ,cAAAA,CAAeR,GACb,MAAM,EAACz+Y,EAAC,EAAED,EAAC,KAAEinO,EAAI,WAAEn8D,GAAc9sO,KAAKohd,SAAS,CAAC,IAAK,IAAK,OAAQ,cAAeV,GACjF,MAAO,CACLz+Y,EAAG6qK,GAAc7qK,EAAIgnO,GAAQ,EAAIhnO,EACjCD,EAAG8qK,EAAa9qK,GAAKA,EAAIinO,GAAQ,EAErC,CACAq3K,QAAAA,CAAS3yH,GACP,MAAgB,MAATA,EAAe3tV,KAAK+Y,MAAQ,EAAI/Y,KAAKu4D,OAAS,CACvD,EAEFiva,GAAW70b,GAAK,MAChB60b,GAAW7uM,SAAW,CACpB49K,cAAe,QACfpd,YAAa,EACbooC,aAAc,EACdxqB,cAAe,OACfte,gBAAYj7b,GAEdgqe,GAAWpf,cAAgB,CACzBrrP,gBAAiB,kBACjBs4N,YAAa,eAisBf,MAAMqyC,GAAaA,CAACC,EAAWpqH,KAC7B,IAAI,UAACqqH,EAAYrqH,EAAQ,SAAEsqH,EAAWtqH,GAAYoqH,EAKlD,OAJIA,EAAUG,gBACZF,EAAY1od,KAAKK,IAAIqod,EAAWrqH,GAChCsqH,EAAW3od,KAAKK,IAAIsod,EAAUtqH,IAEzB,CACLsqH,WACAD,YACAG,WAAY7od,KAAKC,IAAIo+V,EAAUqqH,GAChC,EAGH,MAAMI,WAAe3ta,GACnB34D,WAAAA,CAAY+kF,GACVs4Q,QACA/+V,KAAKioe,QAAS,EACdjoe,KAAKkoe,eAAiB,GACtBloe,KAAKmoe,aAAe,KACpBnoe,KAAKooe,cAAe,EACpBpoe,KAAKwrE,MAAQib,EAAOjb,MACpBxrE,KAAK6qB,QAAU47D,EAAO57D,QACtB7qB,KAAK21b,IAAMlvW,EAAOkvW,IAClB31b,KAAKqoe,iBAAc7qe,EACnBwC,KAAKsoe,iBAAc9qe,EACnBwC,KAAKuoe,gBAAa/qe,EAClBwC,KAAKm/D,eAAY3hE,EACjBwC,KAAKuX,cAAW/Z,EAChBwC,KAAK28D,SAAMn/D,EACXwC,KAAK+1G,YAASv4G,EACdwC,KAAKR,UAAOhC,EACZwC,KAAKP,WAAQjC,EACbwC,KAAKu4D,YAAS/6D,EACdwC,KAAK+Y,WAAQvb,EACbwC,KAAKusd,cAAW/ud,EAChBwC,KAAK+rC,cAAWvuC,EAChBwC,KAAKoqE,YAAS5sE,EACdwC,KAAKyid,cAAWjld,CAClB,CACAqpG,MAAAA,CAAOtvF,EAAU4nD,EAAWkkY,GAC1Brjc,KAAKuX,SAAWA,EAChBvX,KAAKm/D,UAAYA,EACjBn/D,KAAKusd,SAAWlpB,EAChBrjc,KAAK8td,gBACL9td,KAAKwoe,cACLxoe,KAAK+ud,KACP,CACAjB,aAAAA,GACM9td,KAAKqhN,gBACPrhN,KAAK+Y,MAAQ/Y,KAAKuX,SAClBvX,KAAKR,KAAOQ,KAAKusd,SAAS/sd,KAC1BQ,KAAKP,MAAQO,KAAK+Y,QAElB/Y,KAAKu4D,OAASv4D,KAAKm/D,UACnBn/D,KAAK28D,IAAM38D,KAAKusd,SAAS5vZ,IACzB38D,KAAK+1G,OAAS/1G,KAAKu4D,OAEvB,CACAiwa,WAAAA,GACE,MAAMb,EAAY3ne,KAAK6qB,QAAQomb,QAAU,CAAC,EAC1C,IAAIo3B,EAAczne,GAAS+me,EAAUprB,eAAgB,CAACv8c,KAAKwrE,OAAQxrE,OAAS,GACxE2ne,EAAUtle,SACZgme,EAAcA,EAAYhme,QAAQsW,GAASgvd,EAAUtle,OAAOsW,EAAM3Y,KAAKwrE,MAAMtoE,SAE3Eyke,EAAUpyd,OACZ8yd,EAAcA,EAAY9yd,MAAK,CAACjX,EAAGC,IAAMope,EAAUpyd,KAAKjX,EAAGC,EAAGyB,KAAKwrE,MAAMtoE,SAEvElD,KAAK6qB,QAAQjI,SACfyld,EAAYzld,UAEd5iB,KAAKqoe,YAAcA,CACrB,CACAtZ,GAAAA,GACE,MAAM,QAAClkc,EAAO,IAAE8qa,GAAO31b,KACvB,IAAK6qB,EAAQi3I,QAEX,YADA9hK,KAAK+Y,MAAQ/Y,KAAKu4D,OAAS,GAG7B,MAAMova,EAAY98c,EAAQomb,OACpBw3B,EAAY3sC,GAAO6rC,EAAUnyC,MAC7Bj4E,EAAWkrH,EAAU73d,KACrB0/c,EAActwd,KAAK0oe,uBACnB,SAACb,EAAQ,WAAEE,GAAcL,GAAWC,EAAWpqH,GACrD,IAAIxkW,EAAOw/C,EACXo9X,EAAIH,KAAOizC,EAAUjvc,OACjBx5B,KAAKqhN,gBACPtoM,EAAQ/Y,KAAKuX,SACbghD,EAASv4D,KAAK2oe,SAASrY,EAAa/yG,EAAUsqH,EAAUE,GAAc,KAEtExva,EAASv4D,KAAKm/D,UACdpmD,EAAQ/Y,KAAK4oe,SAAStY,EAAa/yG,EAAUsqH,EAAUE,GAAc,IAEvE/ne,KAAK+Y,MAAQmG,KAAKK,IAAIxG,EAAO8R,EAAQtT,UAAYvX,KAAKuX,UACtDvX,KAAKu4D,OAASr5C,KAAKK,IAAIg5C,EAAQ1tC,EAAQs0C,WAAan/D,KAAKm/D,UAC3D,CACAwpa,QAAAA,CAASrY,EAAa/yG,EAAUsqH,EAAUE,GACxC,MAAM,IAACpyC,EAAG,SAAEp+a,EAAUsT,SAAUomb,QAAQ,QAAC/pb,KAAalnB,KAChD6oe,EAAW7oe,KAAKkoe,eAAiB,GACjCK,EAAavoe,KAAKuoe,WAAa,CAAC,GAChCt9T,EAAa88T,EAAa7gd,EAChC,IAAI4hd,EAAcxY,EAClB36B,EAAIh2E,UAAY,OAChBg2E,EAAIyE,aAAe,SACnB,IAAIxkY,GAAO,EACP+G,GAAOsuG,EAYX,OAXAjrK,KAAKqoe,YAAYtpe,SAAQ,CAACy9c,EAAYn8c,KACpC,MAAM6kc,EAAY2iC,EAAYtqH,EAAW,EAAKo4E,EAAI2B,YAAYklB,EAAWlzY,MAAMvwD,OACrE,IAAN1Y,GAAWkoe,EAAWA,EAAWnre,OAAS,GAAK8nc,EAAY,EAAIh+a,EAAU3P,KAC3Euxd,GAAe79T,EACfs9T,EAAWA,EAAWnre,QAAUiD,EAAI,EAAI,EAAI,IAAM,EAClDs8D,GAAOsuG,EACPr1G,KAEFiza,EAASxoe,GAAK,CAACb,KAAM,EAAGm9D,MAAK/G,MAAK78C,MAAOmsb,EAAW3sY,OAAQwva,GAC5DQ,EAAWA,EAAWnre,OAAS,IAAM8nc,EAAYh+a,CAAO,IAEnD4hd,CACT,CACAF,QAAAA,CAAStY,EAAa/yG,EAAUsqH,EAAUE,GACxC,MAAM,IAACpyC,EAAG,UAAEx2X,EAAWt0C,SAAUomb,QAAQ,QAAC/pb,KAAalnB,KACjD6oe,EAAW7oe,KAAKkoe,eAAiB,GACjCI,EAActoe,KAAKsoe,YAAc,GACjCS,EAAc5pa,EAAYmxZ,EAChC,IAAIn+S,EAAajrJ,EACb8hd,EAAkB,EAClBC,EAAmB,EACnBzpe,EAAO,EACPslB,EAAM,EAgBV,OAfA9kB,KAAKqoe,YAAYtpe,SAAQ,CAACy9c,EAAYn8c,KACpC,MAAM6kc,EAAY2iC,EAAYtqH,EAAW,EAAKo4E,EAAI2B,YAAYklB,EAAWlzY,MAAMvwD,MAC3E1Y,EAAI,GAAK4oe,EAAmBlB,EAAa,EAAI7gd,EAAU6hd,IACzD52T,GAAc62T,EAAkB9hd,EAChCohd,EAAYtpe,KAAK,CAAC+Z,MAAOiwd,EAAiBzwa,OAAQ0wa,IAClDzpe,GAAQwpe,EAAkB9hd,EAC1BpC,IACAkkd,EAAkBC,EAAmB,GAEvCJ,EAASxoe,GAAK,CAACb,OAAMm9D,IAAKssa,EAAkBnkd,MAAK/L,MAAOmsb,EAAW3sY,OAAQwva,GAC3EiB,EAAkB9pd,KAAKC,IAAI6pd,EAAiB9jC,GAC5C+jC,GAAoBlB,EAAa7gd,CAAO,IAE1CirJ,GAAc62T,EACdV,EAAYtpe,KAAK,CAAC+Z,MAAOiwd,EAAiBzwa,OAAQ0wa,IAC3C92T,CACT,CACA+2T,cAAAA,GACE,IAAKlpe,KAAK6qB,QAAQi3I,QAChB,OAEF,MAAMwuT,EAActwd,KAAK0oe,uBAClBR,eAAgBW,EAAUh+c,SAAS,MAACi4Z,EAAOmuB,QAAQ,QAAC/pb,GAAQ,IAAE81C,IAAQh9D,KACvEmpe,EAAYrkC,GAAc9nY,EAAKh9D,KAAKR,KAAMQ,KAAK+Y,OACrD,GAAI/Y,KAAKqhN,eAAgB,CACvB,IAAIzrJ,EAAM,EACNp2D,EAAOujb,GAAeD,EAAO9ib,KAAKR,KAAO0nB,EAASlnB,KAAKP,MAAQO,KAAKuoe,WAAW3ya,IACnF,IAAK,MAAMwza,KAAUP,EACfjza,IAAQwza,EAAOxza,MACjBA,EAAMwza,EAAOxza,IACbp2D,EAAOujb,GAAeD,EAAO9ib,KAAKR,KAAO0nB,EAASlnB,KAAKP,MAAQO,KAAKuoe,WAAW3ya,KAEjFwza,EAAOzsa,KAAO38D,KAAK28D,IAAM2zZ,EAAcppc,EACvCkid,EAAO5pe,KAAO2pe,EAAUlkC,WAAWkkC,EAAUlna,EAAEziE,GAAO4pe,EAAOrwd,OAC7DvZ,GAAQ4pe,EAAOrwd,MAAQmO,CAE3B,KAAO,CACL,IAAIpC,EAAM,EACN63C,EAAMomX,GAAeD,EAAO9ib,KAAK28D,IAAM2zZ,EAAcppc,EAASlnB,KAAK+1G,OAAS/1G,KAAKsoe,YAAYxjd,GAAKyzC,QACtG,IAAK,MAAM6wa,KAAUP,EACfO,EAAOtkd,MAAQA,IACjBA,EAAMskd,EAAOtkd,IACb63C,EAAMomX,GAAeD,EAAO9ib,KAAK28D,IAAM2zZ,EAAcppc,EAASlnB,KAAK+1G,OAAS/1G,KAAKsoe,YAAYxjd,GAAKyzC,SAEpG6wa,EAAOzsa,IAAMA,EACbysa,EAAO5pe,MAAQQ,KAAKR,KAAO0nB,EAC3Bkid,EAAO5pe,KAAO2pe,EAAUlkC,WAAWkkC,EAAUlna,EAAEmna,EAAO5pe,MAAO4pe,EAAOrwd,OACpE4jD,GAAOysa,EAAO7wa,OAASrxC,CAE3B,CACF,CACAm6L,YAAAA,GACE,MAAiC,QAA1BrhN,KAAK6qB,QAAQkhB,UAAgD,WAA1B/rC,KAAK6qB,QAAQkhB,QACzD,CACAy8Z,IAAAA,GACE,GAAIxoc,KAAK6qB,QAAQi3I,QAAS,CACxB,MAAM6zR,EAAM31b,KAAK21b,IACjB0D,GAAS1D,EAAK31b,MACdA,KAAKqpe,QACL9vC,GAAW5D,EACb,CACF,CACA0zC,KAAAA,GACE,MAAOx+c,QAASw0Q,EAAI,YAAEipM,EAAW,WAAEC,EAAU,IAAE5yC,GAAO31b,MAChD,MAAC8ib,EAAOmuB,OAAQ02B,GAAatoM,EAC7BiqM,EAAe3wM,GAAS/7D,MACxBusQ,EAAYrkC,GAAczlK,EAAKriO,IAAKh9D,KAAKR,KAAMQ,KAAK+Y,OACpD0vd,EAAY3sC,GAAO6rC,EAAUnyC,OAC5B54N,MAAO2sQ,EAAS,QAAErid,GAAWygd,EAC9BpqH,EAAWkrH,EAAU73d,KACrB44d,EAAejsH,EAAW,EAChC,IAAI9+H,EACJz+O,KAAKy0d,YACL9+B,EAAIh2E,UAAYwpH,EAAUxpH,UAAU,QACpCg2E,EAAIyE,aAAe,SACnBzE,EAAI4E,UAAY,GAChB5E,EAAIH,KAAOizC,EAAUjvc,OACrB,MAAM,SAACquc,EAAQ,UAAED,EAAS,WAAEG,GAAcL,GAAWC,EAAWpqH,GAqD1Dl8J,EAAerhN,KAAKqhN,eACpBivQ,EAActwd,KAAK0oe,sBAEvBjqP,EADEp9B,EACO,CACPp/I,EAAG8gX,GAAeD,EAAO9ib,KAAKR,KAAO0nB,EAASlnB,KAAKP,MAAQ8oe,EAAW,IACtEvma,EAAGhiE,KAAK28D,IAAMz1C,EAAUopc,EACxBrxL,KAAM,GAGC,CACPh9N,EAAGjiE,KAAKR,KAAO0nB,EACf86C,EAAG+gX,GAAeD,EAAO9ib,KAAK28D,IAAM2zZ,EAAcppc,EAASlnB,KAAK+1G,OAASuyX,EAAY,GAAG/va,QACxF0mO,KAAM,GAGVomK,GAAsBrlc,KAAK21b,IAAKt2J,EAAKoqM,eACrC,MAAMx+T,EAAa88T,EAAa7gd,EAChClnB,KAAKqoe,YAAYtpe,SAAQ,CAACy9c,EAAYn8c,KACpCs1b,EAAI2E,YAAckiB,EAAW+sB,WAAaA,EAC1C5zC,EAAIwE,UAAYqiB,EAAW+sB,WAAaA,EACxC,MAAMlyC,EAAY1B,EAAI2B,YAAYklB,EAAWlzY,MAAMvwD,MAC7C4mW,EAAYwpH,EAAUxpH,UAAU68F,EAAW78F,YAAc68F,EAAW78F,UAAYgoH,EAAUhoH,YAC1F5mW,EAAQ8ud,EAAW2B,EAAenyC,EACxC,IAAIp1X,EAAIw8K,EAAOx8K,EACXD,EAAIy8K,EAAOz8K,EACfmna,EAAUrhZ,SAAS9nF,KAAK+Y,OACpBsoM,EACEhhN,EAAI,GAAK4hE,EAAIlpD,EAAQmO,EAAUlnB,KAAKP,QACtCuiE,EAAIy8K,EAAOz8K,GAAKipG,EAChBwzE,EAAOwgD,OACPh9N,EAAIw8K,EAAOx8K,EAAI8gX,GAAeD,EAAO9ib,KAAKR,KAAO0nB,EAASlnB,KAAKP,MAAQ8oe,EAAW9pP,EAAOwgD,QAElF5+R,EAAI,GAAK2hE,EAAIipG,EAAajrK,KAAK+1G,SACxC9zC,EAAIw8K,EAAOx8K,EAAIA,EAAIqma,EAAY7pP,EAAOwgD,MAAMlmR,MAAQmO,EACpDu3N,EAAOwgD,OACPj9N,EAAIy8K,EAAOz8K,EAAI+gX,GAAeD,EAAO9ib,KAAK28D,IAAM2zZ,EAAcppc,EAASlnB,KAAK+1G,OAASuyX,EAAY7pP,EAAOwgD,MAAM1mO,UAvF5F,SAAS0J,EAAGD,EAAGw6Y,GACnC,GAAI/+c,MAAMoqe,IAAaA,GAAY,GAAKpqe,MAAMmqe,IAAcA,EAAY,EACtE,OAEFjyC,EAAI7oX,OACJ,MAAMytX,EAAYpX,GAAeq5B,EAAWjiB,UAAW,GAQvD,GAPA5E,EAAIwE,UAAYhX,GAAeq5B,EAAWriB,UAAWmvC,GACrD3zC,EAAIquC,QAAU7gD,GAAeq5B,EAAWwnB,QAAS,QACjDruC,EAAI2+B,eAAiBnxC,GAAeq5B,EAAW8X,eAAgB,GAC/D3+B,EAAIutC,SAAW//C,GAAeq5B,EAAW0mB,SAAU,SACnDvtC,EAAI4E,UAAYA,EAChB5E,EAAI2E,YAAcnX,GAAeq5B,EAAWliB,YAAagvC,GACzD3zC,EAAI0+B,YAAYlxC,GAAeq5B,EAAWktB,SAAU,KAChD/B,EAAUG,cAAe,CAC3B,MAAM6B,EAAc,CAClBxxQ,OAAQ0vQ,EAAW3od,KAAK0qd,MAAQ,EAChCnxC,WAAY+jB,EAAW/jB,WACvBC,SAAU8jB,EAAW9jB,SACrBS,YAAaoB,GAETphO,EAAUgwQ,EAAUnkC,MAAM/iY,EAAG4la,EAAW,GAE9CxvC,GAAU1C,EAAKg0C,EAAaxwQ,EADZn3J,EAAIwna,EAEtB,KAAO,CACL,MAAMK,EAAU7na,EAAI9iD,KAAKC,KAAKo+V,EAAWqqH,GAAa,EAAG,GACnDkC,EAAWX,EAAUlkC,WAAWhjY,EAAG4la,GACnCtG,EAAe3lC,GAAc4gB,EAAW+kB,cAC9C5rC,EAAIkD,YACA55b,OAAOP,OAAO6ie,GAAch6c,MAAKtiB,GAAW,IAANA,IACxCm2b,GAAmBzF,EAAK,CACtB1zX,EAAG6na,EACH9na,EAAG6na,EACH76L,EAAG64L,EACH39a,EAAG09a,EACHzvQ,OAAQopQ,IAGV5rC,EAAIhgV,KAAKm0X,EAAUD,EAAShC,EAAUD,GAExCjyC,EAAIn3F,OACc,IAAd+7F,GACF5E,EAAIr9E,QAER,CACAq9E,EAAIiC,SACN,CA6CEmyC,CADcZ,EAAUlna,EAAEA,GACLD,EAAGw6Y,GACxBv6Y,EDrrPS+na,EAAClnD,EAAOtjb,EAAMC,EAAOu9D,IAE3B8lX,KADO9lX,EAAM,OAAS,SACJv9D,EAAkB,WAAVqjb,GAAsBtjb,EAAOC,GAAS,EAAID,ECmrPnEwqe,CAAOrqH,EAAW19S,EAAI4la,EAAW2B,EAAcnoR,EAAep/I,EAAIlpD,EAAQ/Y,KAAKP,MAAO4/R,EAAKriO,KA7ChF,SAASiF,EAAGD,EAAGw6Y,GAC9BxiB,GAAWrE,EAAK6mB,EAAWlzY,KAAMrH,EAAGD,EAAK+la,EAAa,EAAIU,EAAW,CACnE9tC,cAAe6hB,EAAWhrQ,OAC1BmuK,UAAWwpH,EAAUxpH,UAAU68F,EAAW78F,YAE9C,CAyCE86E,CAAS0uC,EAAUlna,EAAEA,GAAID,EAAGw6Y,GACxBn7P,EACFo9B,EAAOx8K,GAAKlpD,EAAQmO,EAEpBu3N,EAAOz8K,GAAKipG,CACd,IAEFw6R,GAAqBzlc,KAAK21b,IAAKt2J,EAAKoqM,cACtC,CACAhV,SAAAA,GACE,MAAMp1L,EAAOr/R,KAAK6qB,QACZulc,EAAY/wL,EAAKvhH,MACjBmsT,EAAYnuC,GAAOs0B,EAAU56B,MAC7B00C,EAAeruC,GAAUu0B,EAAUlpc,SACzC,IAAKkpc,EAAUtuT,QACb,OAEF,MAAMqnU,EAAYrkC,GAAczlK,EAAKriO,IAAKh9D,KAAKR,KAAMQ,KAAK+Y,OACpD48a,EAAM31b,KAAK21b,IACX5pZ,EAAWqkb,EAAUrkb,SACrBy9b,EAAeS,EAAUr5d,KAAO,EAChCu5d,EAA6BD,EAAavta,IAAM6sa,EACtD,IAAIxna,EACAxiE,EAAOQ,KAAKR,KACZ+X,EAAWvX,KAAK+Y,MACpB,GAAI/Y,KAAKqhN,eACP9pM,EAAW2H,KAAKC,OAAOnf,KAAKuoe,YAC5Bvma,EAAIhiE,KAAK28D,IAAMwta,EACf3qe,EAAOujb,GAAe1jJ,EAAKyjJ,MAAOtjb,EAAMQ,KAAKP,MAAQ8X,OAChD,CACL,MAAM4nD,EAAYn/D,KAAKsoe,YAAY1/d,QAAO,CAACg7P,EAAKhzP,IAASsO,KAAKC,IAAIykP,EAAKhzP,EAAK2nD,SAAS,GACrFyJ,EAAImoa,EAA6BpnD,GAAe1jJ,EAAKyjJ,MAAO9ib,KAAK28D,IAAK38D,KAAK+1G,OAAS52C,EAAYkgO,EAAK4xK,OAAO/pb,QAAUlnB,KAAK0oe,sBAC7H,CACA,MAAMzma,EAAI8gX,GAAeh3Y,EAAUvsC,EAAMA,EAAO+X,GAChDo+a,EAAIh2E,UAAYwpH,EAAUxpH,UAAUkjE,GAAmB92Y,IACvD4pZ,EAAIyE,aAAe,SACnBzE,EAAI2E,YAAc81B,EAAUxzP,MAC5B+4N,EAAIwE,UAAYi2B,EAAUxzP,MAC1B+4N,EAAIH,KAAOy0C,EAAUzwc,OACrBwga,GAAWrE,EAAKy6B,EAAU9mZ,KAAMrH,EAAGD,EAAGioa,EACxC,CACAvB,mBAAAA,GACE,MAAMtY,EAAYpwd,KAAK6qB,QAAQizJ,MACzBmsT,EAAYnuC,GAAOs0B,EAAU56B,MAC7B00C,EAAeruC,GAAUu0B,EAAUlpc,SACzC,OAAOkpc,EAAUtuT,QAAUmoU,EAAUh/T,WAAai/T,EAAa3xa,OAAS,CAC1E,CACA6xa,gBAAAA,CAAiBnoa,EAAGD,GAClB,IAAI3hE,EAAGgqe,EAAQz9K,EACf,GAAIs6H,GAAWjlX,EAAGjiE,KAAKR,KAAMQ,KAAKP,QAC7Bynb,GAAWllX,EAAGhiE,KAAK28D,IAAK38D,KAAK+1G,QAEhC,IADA62M,EAAK5sT,KAAKkoe,eACL7ne,EAAI,EAAGA,EAAIusT,EAAGxvT,SAAUiD,EAE3B,GADAgqe,EAASz9K,EAAGvsT,GACR6mb,GAAWjlX,EAAGooa,EAAO7qe,KAAM6qe,EAAO7qe,KAAO6qe,EAAOtxd,QAC/Cmua,GAAWllX,EAAGqoa,EAAO1ta,IAAK0ta,EAAO1ta,IAAM0ta,EAAO9xa,QACjD,OAAOv4D,KAAKqoe,YAAYhoe,GAI9B,OAAO,IACT,CACAiqe,WAAAA,CAAY7re,GACV,MAAM4gS,EAAOr/R,KAAK6qB,QAClB,IAmBJ,SAAoBvZ,EAAM+tR,GACxB,GAAa,cAAT/tR,IAAyB+tR,EAAK62J,SAAW72J,EAAKkrM,SAChD,OAAO,EAET,GAAIlrM,EAAK+zB,UAAqB,UAAT9hT,GAA6B,YAATA,GACvC,OAAO,EAET,OAAO,CACT,CA3BSk5d,CAAW/re,EAAE6S,KAAM+tR,GACtB,OAEF,MAAMorM,EAAczqe,KAAKoqe,iBAAiB3re,EAAEwjE,EAAGxjE,EAAEujE,GACjD,GAAe,cAAXvjE,EAAE6S,KAAsB,CAC1B,MAAMs6D,EAAW5rE,KAAKmoe,aAChBuC,GApWWnse,EAoWqBkse,EApWT,QAAfnse,EAoWcstE,IApWe,OAANrtE,GAAcD,EAAEulb,eAAiBtlb,EAAEslb,cAAgBvlb,EAAEyC,QAAUxC,EAAEwC,OAqWlG6qE,IAAa8+Z,GACf9pe,GAASy+R,EAAKkrM,QAAS,CAAC9re,EAAGmtE,EAAU5rE,MAAOA,MAE9CA,KAAKmoe,aAAesC,EAChBA,IAAgBC,GAClB9pe,GAASy+R,EAAK62J,QAAS,CAACz3b,EAAGgse,EAAazqe,MAAOA,KAEnD,MAAWyqe,GACT7pe,GAASy+R,EAAK+zB,QAAS,CAAC30T,EAAGgse,EAAazqe,MAAOA,MA7WlC2qe,IAACrse,EAAGC,CA+WrB,EAWF,IAAIqse,GAAgB,CAClBj4b,GAAI,SACJm3T,SAAUk+H,GACV58b,KAAAA,CAAMogC,EAAOq/Z,EAAOhgd,GAClB,MAAMyxb,EAAS9wY,EAAM8wY,OAAS,IAAI0rB,GAAO,CAACryC,IAAKnqX,EAAMmqX,IAAK9qa,UAAS2gD,UACnE02Y,GAAQxX,UAAUl/X,EAAO8wY,EAAQzxb,GACjCq3b,GAAQ8B,OAAOx4Y,EAAO8wY,EACxB,EACApT,IAAAA,CAAK19X,GACH02Y,GAAQgC,UAAU14Y,EAAOA,EAAM8wY,eACxB9wY,EAAM8wY,MACf,EACAqR,YAAAA,CAAaniZ,EAAOq/Z,EAAOhgd,GACzB,MAAMyxb,EAAS9wY,EAAM8wY,OACrB4F,GAAQxX,UAAUl/X,EAAO8wY,EAAQzxb,GACjCyxb,EAAOzxb,QAAUA,CACnB,EACAokc,WAAAA,CAAYzjZ,GACV,MAAM8wY,EAAS9wY,EAAM8wY,OACrBA,EAAOksB,cACPlsB,EAAO4sB,gBACT,EACA4B,UAAAA,CAAWt/Z,EAAOxkE,GACXA,EAAKq5d,QACR70Z,EAAM8wY,OAAOguB,YAAYtje,EAAKoK,MAElC,EACAunR,SAAU,CACR72H,SAAS,EACT/1H,SAAU,MACV+2Y,MAAO,SACP2/B,UAAU,EACV7/b,SAAS,EACTwnD,OAAQ,IACRgpP,OAAAA,CAAQ30T,EAAG+9c,EAAYF,GACrB,MAAMv7c,EAAQy7c,EAAW34B,aACnBzzH,EAAKksJ,EAAO9wY,MACd4kP,EAAG4pJ,iBAAiBj5c,IACtBqvT,EAAGz6S,KAAK5U,GACRy7c,EAAWhrQ,QAAS,IAEpB4+G,EAAG9mK,KAAKvoJ,GACRy7c,EAAWhrQ,QAAS,EAExB,EACA0kP,QAAS,KACTq0C,QAAS,KACTt5B,OAAQ,CACNr0O,MAAQ+4N,GAAQA,EAAInqX,MAAM3gD,QAAQ+xM,MAClCirQ,SAAU,GACV3gd,QAAS,GACTq1b,cAAAA,CAAe/wY,GACb,MAAM8pX,EAAW9pX,EAAMtoE,KAAKoyb,UACrB2b,QAAQ,cAAC62B,EAAa,WAAErvC,EAAU,UAAE94E,EAAS,MAAE/iJ,IAAUpxJ,EAAM8wY,OAAOzxb,QAC7E,OAAO2gD,EAAM+/X,yBAAyB5hc,KAAK0pP,IACzC,MAAM/6L,EAAQ+6L,EAAKlqB,WAAWg7N,SAAS2jC,EAAgB,OAAItqe,GACrD27b,EAAc0C,GAAUvjY,EAAM6gY,aACpC,MAAO,CACL7vX,KAAMgsX,EAASjiM,EAAKtyP,OAAO6iE,MAC3Bu2X,UAAW7hY,EAAMykK,gBACjBwsQ,UAAW3sQ,EACXprB,QAAS6hD,EAAKx9O,QACdmud,QAAS1ra,EAAMivY,eACfmiC,SAAUpxa,EAAMkvY,WAChB8sB,eAAgBh8Z,EAAMmvY,iBACtBy7B,SAAU5qa,EAAMovY,gBAChBnN,WAAYpB,EAAYpgb,MAAQogb,EAAY5gY,QAAU,EACtD+hY,YAAahiY,EAAM+8X,YACnBoD,WAAYA,GAAcngY,EAAMmgY,WAChCC,SAAUpgY,EAAMogY,SAChB/4E,UAAWA,GAAarnT,EAAMqnT,UAC9B4hH,aAAc,EACd19C,aAAcxwL,EAAKtyP,MACpB,GACAf,KACL,GAEF89K,MAAO,CACL8+C,MAAQ+4N,GAAQA,EAAInqX,MAAM3gD,QAAQ+xM,MAClC96D,SAAS,EACT/1H,SAAU,SACVu9B,KAAM,KAGV4rX,YAAa,CACX8B,YAAcvxb,IAAUA,EAAKisC,WAAW,MACxCu/Z,OAAQ,CACNja,YAAcvxb,IAAU,CAAC,iBAAkB,SAAU,QAAQod,SAASpd,MAK5E,MAAMsle,WAAc1wa,GAClB34D,WAAAA,CAAY+kF,GACVs4Q,QACA/+V,KAAKwrE,MAAQib,EAAOjb,MACpBxrE,KAAK6qB,QAAU47D,EAAO57D,QACtB7qB,KAAK21b,IAAMlvW,EAAOkvW,IAClB31b,KAAKgre,cAAWxte,EAChBwC,KAAK28D,SAAMn/D,EACXwC,KAAK+1G,YAASv4G,EACdwC,KAAKR,UAAOhC,EACZwC,KAAKP,WAAQjC,EACbwC,KAAK+Y,WAAQvb,EACbwC,KAAKu4D,YAAS/6D,EACdwC,KAAK+rC,cAAWvuC,EAChBwC,KAAKoqE,YAAS5sE,EACdwC,KAAKyid,cAAWjld,CAClB,CACAqpG,MAAAA,CAAOtvF,EAAU4nD,GACf,MAAMkgO,EAAOr/R,KAAK6qB,QAGlB,GAFA7qB,KAAKR,KAAO,EACZQ,KAAK28D,IAAM,GACN0iO,EAAKv9H,QAER,YADA9hK,KAAK+Y,MAAQ/Y,KAAKu4D,OAASv4D,KAAKP,MAAQO,KAAK+1G,OAAS,GAGxD/1G,KAAK+Y,MAAQ/Y,KAAKP,MAAQ8X,EAC1BvX,KAAKu4D,OAASv4D,KAAK+1G,OAAS52C,EAC5B,MAAMu0Z,EAAY5yd,GAAQu+R,EAAK/1N,MAAQ+1N,EAAK/1N,KAAKlsE,OAAS,EAC1D4C,KAAKgre,SAAWnvC,GAAUx8J,EAAKn4Q,SAC/B,MAAM+jd,EAAWvX,EAAY53B,GAAOz8J,EAAKm2J,MAAMvqR,WAAajrK,KAAKgre,SAASzya,OACtEv4D,KAAKqhN,eACPrhN,KAAKu4D,OAAS0ya,EAEdjre,KAAK+Y,MAAQkyd,CAEjB,CACA5pR,YAAAA,GACE,MAAM53H,EAAMzpF,KAAK6qB,QAAQkhB,SACzB,MAAe,QAAR09C,GAAyB,WAARA,CAC1B,CACAyhZ,SAAAA,CAAU/vV,GACR,MAAM,IAACx+E,EAAG,KAAEn9D,EAAI,OAAEu2G,EAAM,MAAEt2G,EAAK,QAAEorB,GAAW7qB,KACtC8ib,EAAQj4Z,EAAQi4Z,MACtB,IACIvra,EAAUm9c,EAAQC,EADlBj8B,EAAW,EAkBf,OAhBI14b,KAAKqhN,gBACPqzQ,EAAS3xC,GAAeD,EAAOtjb,EAAMC,GACrCk1d,EAASh4Z,EAAMw+E,EACf5jI,EAAW9X,EAAQD,IAEM,SAArBqrB,EAAQkhB,UACV2ob,EAASl1d,EAAO27I,EAChBw5U,EAAS5xC,GAAeD,EAAO/sU,EAAQp5C,GACvC+7X,GAAiB,GAANx+N,KAEXw6P,EAASj1d,EAAQ07I,EACjBw5U,EAAS5xC,GAAeD,EAAOnmX,EAAKo5C,GACpC2iV,EAAgB,GAALx+N,IAEb3iN,EAAWw+F,EAASp5C,GAEf,CAAC+3Z,SAAQC,SAAQp9c,WAAUmhb,WACpC,CACA8P,IAAAA,GACE,MAAM7S,EAAM31b,KAAK21b,IACXt2J,EAAOr/R,KAAK6qB,QAClB,IAAKw0Q,EAAKv9H,QACR,OAEF,MAAMqpU,EAAWrvC,GAAOz8J,EAAKm2J,MAEvBr6S,EADagwV,EAASlgU,WACA,EAAIjrK,KAAKgre,SAASrua,KACxC,OAAC+3Z,EAAM,OAAEC,EAAM,SAAEp9c,EAAQ,SAAEmhb,GAAY14b,KAAKkre,UAAU/vV,GAC5D6+S,GAAWrE,EAAKt2J,EAAK/1N,KAAM,EAAG,EAAG6ha,EAAU,CACzCvuQ,MAAOyiE,EAAKziE,MACZrlN,WACAmhb,WACA/4E,UAAWkjE,GAAmBxjJ,EAAKyjJ,OACnCsX,aAAc,SACdF,YAAa,CAACw6B,EAAQC,IAE1B,EAYF,IAAIyW,GAAe,CACjBz4b,GAAI,QACJm3T,SAAUihI,GACV3/b,KAAAA,CAAMogC,EAAOq/Z,EAAOhgd,IAbtB,SAAqB2gD,EAAO4kZ,GAC1B,MAAMtyS,EAAQ,IAAIitT,GAAM,CACtBp1C,IAAKnqX,EAAMmqX,IACX9qa,QAASulc,EACT5kZ,UAEF02Y,GAAQxX,UAAUl/X,EAAOsyG,EAAOsyS,GAChClO,GAAQ8B,OAAOx4Y,EAAOsyG,GACtBtyG,EAAM6/Z,WAAavtT,CACrB,CAKIwtT,CAAY9/Z,EAAO3gD,EACrB,EACAq+a,IAAAA,CAAK19X,GACH,MAAM6/Z,EAAa7/Z,EAAM6/Z,WACzBnpB,GAAQgC,UAAU14Y,EAAO6/Z,UAClB7/Z,EAAM6/Z,UACf,EACA1d,YAAAA,CAAaniZ,EAAOq/Z,EAAOhgd,GACzB,MAAMizJ,EAAQtyG,EAAM6/Z,WACpBnpB,GAAQxX,UAAUl/X,EAAOsyG,EAAOjzJ,GAChCizJ,EAAMjzJ,QAAUA,CAClB,EACA8tQ,SAAU,CACRmqJ,MAAO,SACPhhR,SAAS,EACT0zR,KAAM,CACJprX,OAAQ,QAEVq4Y,UAAU,EACVv7b,QAAS,GACT6kB,SAAU,MACVu9B,KAAM,GACNc,OAAQ,KAEVg+Y,cAAe,CACbxrP,MAAO,SAETs4N,YAAa,CACX8B,aAAa,EACbC,YAAY,IAIJ,IAAIjjI,QA2ChB,MAAMu3K,GAAc,CAClBC,OAAAA,CAAQjjd,GACN,IAAKA,EAAMnrB,OACT,OAAO,EAET,IAAIiD,EAAGs5B,EACHsoC,EAAI,EACJD,EAAI,EACJvhE,EAAQ,EACZ,IAAKJ,EAAI,EAAGs5B,EAAMpR,EAAMnrB,OAAQiD,EAAIs5B,IAAOt5B,EAAG,CAC5C,MAAMqpB,EAAKnB,EAAMloB,GAAG8pB,QACpB,GAAIT,GAAMA,EAAGm5E,WAAY,CACvB,MAAMpZ,EAAM//D,EAAGw+b,kBACfjmZ,GAAKwnB,EAAIxnB,EACTD,GAAKynB,EAAIznB,IACPvhE,CACJ,CACF,CACA,MAAO,CACLwhE,EAAGA,EAAIxhE,EACPuhE,EAAGA,EAAIvhE,EAEX,EACAmhd,OAAAA,CAAQr5b,EAAOkjd,GACb,IAAKljd,EAAMnrB,OACT,OAAO,EAET,IAGIiD,EAAGs5B,EAAK+xc,EAHRzpa,EAAIwpa,EAAcxpa,EAClBD,EAAIypa,EAAczpa,EAClBi/Y,EAAcv0c,OAAOu4a,kBAEzB,IAAK5kb,EAAI,EAAGs5B,EAAMpR,EAAMnrB,OAAQiD,EAAIs5B,IAAOt5B,EAAG,CAC5C,MAAMqpB,EAAKnB,EAAMloB,GAAG8pB,QACpB,GAAIT,GAAMA,EAAGm5E,WAAY,CACvB,MACM/zF,EAAIw3a,GAAsBmlD,EADjB/hd,EAAGw3b,kBAEdpyc,EAAImyc,IACNA,EAAcnyc,EACd48d,EAAiBhid,EAErB,CACF,CACA,GAAIgid,EAAgB,CAClB,MAAMC,EAAKD,EAAexjB,kBAC1BjmZ,EAAI0pa,EAAG1pa,EACPD,EAAI2pa,EAAG3pa,CACT,CACA,MAAO,CACLC,IACAD,IAEJ,GAEF,SAAS4pa,GAAa3iM,EAAM4iM,GAQ1B,OAPIA,IACE/qe,GAAQ+qe,GACVhre,MAAMX,UAAUlB,KAAKgH,MAAMijS,EAAM4iM,GAEjC5iM,EAAKjqS,KAAK6se,IAGP5iM,CACT,CACA,SAAS6iM,GAAch0c,GACrB,OAAoB,kBAARA,GAAoBA,aAAeiB,SAAWjB,EAAIv2B,QAAQ,OAAS,EACtEu2B,EAAIx0B,MAAM,MAEZw0B,CACT,CACA,SAASi0c,GAAkBvga,EAAO7yD,GAChC,MAAM,QAACwR,EAAO,aAAE05Z,EAAY,MAAE9ib,GAAS4X,EACjCwwN,EAAa39J,EAAMkkY,eAAe7rB,GAAc16M,YAChD,MAACvlK,EAAK,MAAE7mE,GAASosO,EAAWkpO,iBAAiBtxc,GACnD,MAAO,CACLyqE,QACA5H,QACAk7N,OAAQ31D,EAAWmoO,UAAUvwc,GAC7BumH,IAAK97C,EAAMtoE,KAAKoyb,SAASzR,GAAc3gb,KAAKnC,GAC5C67c,eAAgB7/c,EAChB0xc,QAAStlO,EAAWulO,aACpBmE,UAAW9xc,EACX8ib,eACA15Z,UAEJ,CACA,SAAS6hd,GAAeh7U,EAASnmI,GAC/B,MAAM8qa,EAAM3kS,EAAQxlF,MAAMmqX,KACpB,KAACz9X,EAAI,OAAEy0C,EAAM,MAAEmxE,GAAS9sB,GACxB,SAAC62U,EAAQ,UAAED,GAAa/8c,EACxBohd,EAAWnwC,GAAOjxa,EAAQohd,UAC1BhC,EAAYnuC,GAAOjxa,EAAQo/c,WAC3BiC,EAAapwC,GAAOjxa,EAAQqhd,YAC5BC,EAAiBruT,EAAM1gL,OACvBgve,EAAkBz/X,EAAOvvG,OACzBive,EAAoBn0a,EAAK96D,OACzB8pB,EAAU20a,GAAUhxa,EAAQ3D,SAClC,IAAIqxC,EAASrxC,EAAQqxC,OACjBx/C,EAAQ,EACRuzd,EAAqBp0a,EAAKtvD,QAAO,CAACnI,EAAO8re,IAAa9re,EAAQ8re,EAASz7W,OAAO1zH,OAASmve,EAASjsD,MAAMljb,OAASmve,EAASx7W,MAAM3zH,QAAQ,GAO1I,GANAkve,GAAsBt7U,EAAQw7U,WAAWpve,OAAS4zJ,EAAQy7U,UAAUrve,OAChE+ue,IACF5za,GAAU4za,EAAiBlC,EAAUh/T,YACnCkhU,EAAiB,GAAKthd,EAAQ6hd,aAC/B7hd,EAAQ8hd,mBAEPL,EAAoB,CAEtB/za,GAAU8za,GADaxhd,EAAQ+hd,cAAgB1td,KAAKC,IAAIyod,EAAWqE,EAAShhU,YAAcghU,EAAShhU,aAEjGqhU,EAAqBD,GAAqBJ,EAAShhU,YACnDqhU,EAAqB,GAAKzhd,EAAQgid,WACtC,CACIT,IACF7za,GAAU1tC,EAAQiid,gBACjBV,EAAkBF,EAAWjhU,YAC5BmhU,EAAkB,GAAKvhd,EAAQkid,eAEnC,IAAIC,EAAe,EACnB,MAAMC,EAAe,SAAShuM,GAC5BlmR,EAAQmG,KAAKC,IAAIpG,EAAO48a,EAAI2B,YAAYr4J,GAAMlmR,MAAQi0d,EACxD,EAiBA,OAhBAr3C,EAAI7oX,OACJ6oX,EAAIH,KAAOy0C,EAAUzwc,OACrB6pZ,GAAKryR,EAAQ8sB,MAAOmvT,GACpBt3C,EAAIH,KAAOy2C,EAASzyc,OACpB6pZ,GAAKryR,EAAQw7U,WAAWxhe,OAAOgmJ,EAAQy7U,WAAYQ,GACnDD,EAAenid,EAAQ+hd,cAAiB/E,EAAW,EAAIh9c,EAAQi4b,WAAc,EAC7Ez/B,GAAKnrX,GAAOq0a,IACVlpD,GAAKkpD,EAASz7W,OAAQm8W,GACtB5pD,GAAKkpD,EAASjsD,MAAO2sD,GACrB5pD,GAAKkpD,EAASx7W,MAAOk8W,EAAa,IAEpCD,EAAe,EACfr3C,EAAIH,KAAO02C,EAAW1yc,OACtB6pZ,GAAKryR,EAAQrkD,OAAQsgY,GACrBt3C,EAAIiC,UACJ7+a,GAASmO,EAAQnO,MACV,CAACA,QAAOw/C,SACjB,CAoBA,SAAS20a,GAAgB1ha,EAAO3gD,EAASja,EAAMu8d,GAC7C,MAAM,EAAClra,EAAC,MAAElpD,GAASnI,GACZmI,MAAOq0d,EAAY16B,WAAW,KAAClzc,EAAI,MAAEC,IAAU+rE,EACtD,IAAI6ha,EAAS,SAWb,MAVe,WAAXF,EACFE,EAASpra,IAAMziE,EAAOC,GAAS,EAAI,OAAS,QACnCwiE,GAAKlpD,EAAQ,EACtBs0d,EAAS,OACApra,GAAKmra,EAAar0d,EAAQ,IACnCs0d,EAAS,SAnBb,SAA6BA,EAAQ7ha,EAAO3gD,EAASja,GACnD,MAAM,EAACqxD,EAAC,MAAElpD,GAASnI,EACbsyV,EAAQr4U,EAAQyid,UAAYzid,EAAQ0id,aAC1C,MAAe,SAAXF,GAAqBpra,EAAIlpD,EAAQmqV,EAAQ13R,EAAMzyD,OAGpC,UAAXs0d,GAAsBpra,EAAIlpD,EAAQmqV,EAAQ,QAA9C,CAGF,CAYMsqI,CAAoBH,EAAQ7ha,EAAO3gD,EAASja,KAC9Cy8d,EAAS,UAEJA,CACT,CACA,SAASI,GAAmBjia,EAAO3gD,EAASja,GAC1C,MAAMu8d,EAASv8d,EAAKu8d,QAAUtid,EAAQsid,QApCxC,SAAyB3ha,EAAO56D,GAC9B,MAAM,EAACoxD,EAAC,OAAEzJ,GAAU3nD,EACpB,OAAIoxD,EAAIzJ,EAAS,EACR,MACEyJ,EAAKwJ,EAAMjT,OAASA,EAAS,EAC/B,SAEF,QACT,CA4BkDm1a,CAAgBlia,EAAO56D,GACvE,MAAO,CACLy8d,OAAQz8d,EAAKy8d,QAAUxid,EAAQwid,QAAUH,GAAgB1ha,EAAO3gD,EAASja,EAAMu8d,GAC/EA,SAEJ,CAqBA,SAASQ,GAAmB9id,EAASja,EAAM02E,EAAW9b,GACpD,MAAM,UAAC8ha,EAAS,aAAEC,EAAY,aAAE/0C,GAAgB3ta,GAC1C,OAACwid,EAAM,OAAEF,GAAU7lZ,EACnBsmZ,EAAiBN,EAAYC,GAC7B,QAAC9uR,EAAO,SAAEC,EAAQ,WAAEE,EAAU,YAAED,GAAei9O,GAAcpD,GACnE,IAAIv2X,EAzBN,SAAgBrxD,EAAMy8d,GACpB,IAAI,EAACpra,EAAC,MAAElpD,GAASnI,EAMjB,MALe,UAAXy8d,EACFpra,GAAKlpD,EACe,WAAXs0d,IACTpra,GAAMlpD,EAAQ,GAETkpD,CACT,CAiBU4ra,CAAOj9d,EAAMy8d,GACrB,MAAMrra,EAjBR,SAAgBpxD,EAAMu8d,EAAQS,GAC5B,IAAI,EAAC5ra,EAAC,OAAEzJ,GAAU3nD,EAQlB,MAPe,QAAXu8d,EACFnra,GAAK4ra,EAEL5ra,GADoB,WAAXmra,EACJ50a,EAASq1a,EAERr1a,EAAS,EAEVyJ,CACT,CAOY8ra,CAAOl9d,EAAMu8d,EAAQS,GAY/B,MAXe,WAAXT,EACa,SAAXE,EACFpra,GAAK2ra,EACe,UAAXP,IACTpra,GAAK2ra,GAEa,SAAXP,EACTpra,GAAK/iD,KAAKC,IAAIs/L,EAASG,GAAc0uR,EACjB,UAAXD,IACTpra,GAAK/iD,KAAKC,IAAIu/L,EAAUC,GAAe2uR,GAElC,CACLrra,EAAGglX,GAAYhlX,EAAG,EAAGuJ,EAAMzyD,MAAQnI,EAAKmI,OACxCipD,EAAGilX,GAAYjlX,EAAG,EAAGwJ,EAAMjT,OAAS3nD,EAAK2nD,QAE7C,CACA,SAASw1a,GAAY/8U,EAAS8xR,EAAOj4Z,GACnC,MAAM3D,EAAU20a,GAAUhxa,EAAQ3D,SAClC,MAAiB,WAAV47Z,EACH9xR,EAAQ/uF,EAAI+uF,EAAQj4I,MAAQ,EAClB,UAAV+pa,EACE9xR,EAAQ/uF,EAAI+uF,EAAQj4I,MAAQmO,EAAQznB,MACpCuxJ,EAAQ/uF,EAAI/6C,EAAQ1nB,IAC5B,CACA,SAASwue,GAAwBpte,GAC/B,OAAOgre,GAAa,GAAIE,GAAclre,GACxC,CAQA,SAASqte,GAAkBlsZ,EAAW96E,GACpC,MAAMwvb,EAAWxvb,GAAWA,EAAQwnc,SAAWxnc,EAAQwnc,QAAQz9S,SAAW/pJ,EAAQwnc,QAAQz9S,QAAQjvE,UAClG,OAAO00W,EAAW10W,EAAU00W,SAASA,GAAY10W,CACnD,CACA,MAAMsvR,WAAgBh3S,GACpB34D,WAAAA,CAAY+kF,GACVs4Q,QACA/+V,KAAK44D,QAAU,EACf54D,KAAKyoc,QAAU,GACfzoc,KAAKkue,oBAAiB1we,EACtBwC,KAAKmue,WAAQ3we,EACbwC,KAAKoue,uBAAoB5we,EACzBwC,KAAKque,cAAgB,GACrBrue,KAAK8qc,iBAActtc,EACnBwC,KAAKkuc,cAAW1wc,EAChBwC,KAAKwrE,MAAQib,EAAOjb,OAASib,EAAOkgX,OACpC3mc,KAAK2mc,OAAS3mc,KAAKwrE,MACnBxrE,KAAK6qB,QAAU47D,EAAO57D,QACtB7qB,KAAKsue,gBAAa9we,EAClBwC,KAAK89K,WAAQtgL,EACbwC,KAAKwse,gBAAahve,EAClBwC,KAAKk4D,UAAO16D,EACZwC,KAAKyse,eAAYjve,EACjBwC,KAAK2sG,YAASnvG,EACdwC,KAAKqte,YAAS7ve,EACdwC,KAAKmte,YAAS3ve,EACdwC,KAAKiiE,OAAIzkE,EACTwC,KAAKgiE,OAAIxkE,EACTwC,KAAKu4D,YAAS/6D,EACdwC,KAAK+Y,WAAQvb,EACbwC,KAAKuue,YAAS/we,EACdwC,KAAKwue,YAAShxe,EACdwC,KAAKyue,iBAAcjxe,EACnBwC,KAAK0ue,sBAAmBlxe,EACxBwC,KAAK2ue,qBAAkBnxe,CACzB,CACA4wc,UAAAA,CAAWvjb,GACT7qB,KAAK6qB,QAAUA,EACf7qB,KAAKoue,uBAAoB5we,EACzBwC,KAAKkuc,cAAW1wc,CAClB,CACA61c,kBAAAA,GACE,MAAMzxS,EAAS5hK,KAAKoue,kBACpB,GAAIxsU,EACF,OAAOA,EAET,MAAMp2F,EAAQxrE,KAAKwrE,MACb3gD,EAAU7qB,KAAK6qB,QAAQsza,WAAWn+b,KAAKwZ,cACvC6lR,EAAOx0Q,EAAQ41M,SAAWj1J,EAAM3gD,QAAQisR,WAAajsR,EAAQ0/a,WAC7DA,EAAa,IAAIC,GAAWxqc,KAAKwrE,MAAO6zN,GAI9C,OAHIA,EAAKy9J,aACP98b,KAAKoue,kBAAoBnve,OAAOI,OAAOkrc,IAElCA,CACT,CACA/wb,UAAAA,GACE,OAAOxZ,KAAKkuc,WACZluc,KAAKkuc,UAhEqB13b,EAgEWxW,KAAKwrE,MAAMhyD,aAhEdw3I,EAgE4BhxJ,KAhEnB4ue,EAgEyB5ue,KAAKque,cA/DpEnwN,GAAc1nQ,EAAQ,CAC3Bw6I,UACA49U,eACAt9d,KAAM,cAJV,IAA8BkF,EAAQw6I,EAAS49U,CAiE7C,CACAC,QAAAA,CAAS5ne,EAAS4jB,GAChB,MAAM,UAACk3D,GAAal3D,EACdikd,EAAc/sZ,EAAU+sZ,YAAY9oe,MAAMhG,KAAM,CAACiH,IACjD62K,EAAQ/7F,EAAU+7F,MAAM93K,MAAMhG,KAAM,CAACiH,IACrC8ne,EAAahtZ,EAAUgtZ,WAAW/oe,MAAMhG,KAAM,CAACiH,IACrD,IAAIq5a,EAAQ,GAIZ,OAHAA,EAAQsrD,GAAatrD,EAAOwrD,GAAcgD,IAC1CxuD,EAAQsrD,GAAatrD,EAAOwrD,GAAchuT,IAC1CwiQ,EAAQsrD,GAAatrD,EAAOwrD,GAAciD,IACnCzuD,CACT,CACA0uD,aAAAA,CAAcJ,EAAc/jd,GAC1B,OAAOmjd,GAAwBnjd,EAAQk3D,UAAUyqZ,WAAWxme,MAAMhG,KAAM,CAAC4ue,IAC3E,CACAK,OAAAA,CAAQL,EAAc/jd,GACpB,MAAM,UAACk3D,GAAal3D,EACdqkd,EAAY,GAalB,OAZA7rD,GAAKurD,GAAe3ne,IAClB,MAAMsle,EAAW,CACfz7W,OAAQ,GACRwvT,MAAO,GACPvvT,MAAO,IAEHo+W,EAASlB,GAAkBlsZ,EAAW96E,GAC5C2ke,GAAaW,EAASz7W,OAAQg7W,GAAcqD,EAAOC,YAAYrpe,KAAK/F,KAAMiH,KAC1E2ke,GAAaW,EAASjsD,MAAO6uD,EAAOvra,MAAM79D,KAAK/F,KAAMiH,IACrD2ke,GAAaW,EAASx7W,MAAO+6W,GAAcqD,EAAOE,WAAWtpe,KAAK/F,KAAMiH,KACxEioe,EAAUlwe,KAAKute,EAAS,IAEnB2C,CACT,CACAI,YAAAA,CAAaV,EAAc/jd,GACzB,OAAOmjd,GAAwBnjd,EAAQk3D,UAAU0qZ,UAAUzme,MAAMhG,KAAM,CAAC4ue,IAC1E,CACAW,SAAAA,CAAUX,EAAc/jd,GACtB,MAAM,UAACk3D,GAAal3D,EACd2kd,EAAeztZ,EAAUytZ,aAAaxpe,MAAMhG,KAAM,CAAC4ue,IACnDjiY,EAAS5qB,EAAU4qB,OAAO3mG,MAAMhG,KAAM,CAAC4ue,IACvCa,EAAc1tZ,EAAU0tZ,YAAYzpe,MAAMhG,KAAM,CAAC4ue,IACvD,IAAItuD,EAAQ,GAIZ,OAHAA,EAAQsrD,GAAatrD,EAAOwrD,GAAc0D,IAC1ClvD,EAAQsrD,GAAatrD,EAAOwrD,GAAcn/X,IAC1C2zU,EAAQsrD,GAAatrD,EAAOwrD,GAAc2D,IACnCnvD,CACT,CACAovD,YAAAA,CAAa7kd,GACX,MAAM3N,EAASld,KAAKyoc,QACdvlc,EAAOlD,KAAKwrE,MAAMtoE,KAClBure,EAAc,GACdC,EAAmB,GACnBC,EAAkB,GACxB,IACItue,EAAGs5B,EADHi1c,EAAe,GAEnB,IAAKvue,EAAI,EAAGs5B,EAAMzc,EAAO9f,OAAQiD,EAAIs5B,IAAOt5B,EAC1Cuue,EAAa5ve,KAAK+se,GAAkB/re,KAAKwrE,MAAOtuD,EAAO7c,KAkBzD,OAhBIwqB,EAAQxoB,SACVuse,EAAeA,EAAavse,QAAO,CAAC8nB,EAASppB,EAAOohB,IAAU0I,EAAQxoB,OAAO8nB,EAASppB,EAAOohB,EAAOjf,MAElG2nB,EAAQ8kd,WACVf,EAAeA,EAAar5d,MAAK,CAACjX,EAAGC,IAAMssB,EAAQ8kd,SAASrxe,EAAGC,EAAG2E,MAEpEmgb,GAAKurD,GAAe3ne,IAClB,MAAMkoe,EAASlB,GAAkBpjd,EAAQk3D,UAAW96E,GACpDwne,EAAYzve,KAAKmwe,EAAOS,WAAW7pe,KAAK/F,KAAMiH,IAC9Cyne,EAAiB1ve,KAAKmwe,EAAOU,gBAAgB9pe,KAAK/F,KAAMiH,IACxD0ne,EAAgB3ve,KAAKmwe,EAAOW,eAAe/pe,KAAK/F,KAAMiH,GAAS,IAEjEjH,KAAKyue,YAAcA,EACnBzue,KAAK0ue,iBAAmBA,EACxB1ue,KAAK2ue,gBAAkBA,EACvB3ue,KAAKsue,WAAaM,EACXA,CACT,CACA/nY,MAAAA,CAAO22W,EAAS6iB,GACd,MAAMx1c,EAAU7qB,KAAK6qB,QAAQsza,WAAWn+b,KAAKwZ,cACvC0D,EAASld,KAAKyoc,QACpB,IAAI7kc,EACAgre,EAAe,GACnB,GAAK1xd,EAAO9f,OAML,CACL,MAAM2uC,EAAWw/b,GAAY1gd,EAAQkhB,UAAUhmC,KAAK/F,KAAMkd,EAAQld,KAAKkue,gBACvEU,EAAe5ue,KAAK0ve,aAAa7kd,GACjC7qB,KAAK89K,MAAQ99K,KAAK6ue,SAASD,EAAc/jd,GACzC7qB,KAAKwse,WAAaxse,KAAKgve,cAAcJ,EAAc/jd,GACnD7qB,KAAKk4D,KAAOl4D,KAAKive,QAAQL,EAAc/jd,GACvC7qB,KAAKyse,UAAYzse,KAAKsve,aAAaV,EAAc/jd,GACjD7qB,KAAK2sG,OAAS3sG,KAAKuve,UAAUX,EAAc/jd,GAC3C,MAAMja,EAAO5Q,KAAKmue,MAAQnC,GAAehse,KAAM6qB,GACzCkld,EAAkB9we,OAAO0wB,OAAO,CAAC,EAAGoc,EAAUn7B,GAC9C02E,EAAYmmZ,GAAmBzte,KAAKwrE,MAAO3gD,EAASkld,GACpDC,EAAkBrC,GAAmB9id,EAASkld,EAAiBzoZ,EAAWtnF,KAAKwrE,OACrFxrE,KAAKqte,OAAS/lZ,EAAU+lZ,OACxBrte,KAAKmte,OAAS7lZ,EAAU6lZ,OACxBvpe,EAAa,CACXg1D,QAAS,EACTqJ,EAAG+ta,EAAgB/ta,EACnBD,EAAGgua,EAAgBhua,EACnBjpD,MAAOnI,EAAKmI,MACZw/C,OAAQ3nD,EAAK2nD,OACbg2a,OAAQxic,EAASk2B,EACjBusa,OAAQzic,EAASi2B,EAErB,MA5BuB,IAAjBhiE,KAAK44D,UACPh1D,EAAa,CACXg1D,QAAS,IA2Bf54D,KAAKque,cAAgBO,EACrB5ue,KAAKkuc,cAAW1wc,EACZoG,GACF5D,KAAKqzc,qBAAqBxsW,OAAO7mG,KAAM4D,GAErC45c,GAAW3yb,EAAQ8rF,UACrB9rF,EAAQ8rF,SAAS5wG,KAAK/F,KAAM,CAACwrE,MAAOxrE,KAAKwrE,MAAOwlF,QAAShxJ,KAAMqge,UAEnE,CACA4P,SAAAA,CAAUC,EAAcv6C,EAAK/kb,EAAMia,GACjC,MAAMsld,EAAgBnwe,KAAKowe,iBAAiBF,EAAct/d,EAAMia,GAChE8qa,EAAIsD,OAAOk3C,EAAcrd,GAAIqd,EAAcpd,IAC3Cp9B,EAAIsD,OAAOk3C,EAAcnd,GAAImd,EAAcld,IAC3Ct9B,EAAIsD,OAAOk3C,EAAcE,GAAIF,EAAcG,GAC7C,CACAF,gBAAAA,CAAiBF,EAAct/d,EAAMia,GACnC,MAAM,OAACwid,EAAM,OAAEF,GAAUnte,MACnB,UAACste,EAAS,aAAE90C,GAAgB3ta,GAC5B,QAAC4zL,EAAO,SAAEC,EAAQ,WAAEE,EAAU,YAAED,GAAei9O,GAAcpD,IAC5Dv2X,EAAGsua,EAAKvua,EAAGwua,GAAON,GACnB,MAACn3d,EAAK,OAAEw/C,GAAU3nD,EACxB,IAAIkid,EAAIE,EAAIqd,EAAItd,EAAIE,EAAIqd,EAoCxB,MAnCe,WAAXnD,GACFla,EAAKud,EAAOj4a,EAAS,EACN,SAAX80a,GACFva,EAAKyd,EACLvd,EAAKF,EAAKwa,EACVva,EAAKE,EAAKqa,EACVgD,EAAKrd,EAAKqa,IAEVxa,EAAKyd,EAAMx3d,EACXi6c,EAAKF,EAAKwa,EACVva,EAAKE,EAAKqa,EACVgD,EAAKrd,EAAKqa,GAEZ+C,EAAKvd,IAGHE,EADa,SAAXqa,EACGkD,EAAMrxd,KAAKC,IAAIs/L,EAASG,GAAe0uR,EACxB,UAAXD,EACJkD,EAAMx3d,EAAQmG,KAAKC,IAAIu/L,EAAUC,GAAe2uR,EAEhDtte,KAAKuue,OAEG,QAAXpB,GACFpa,EAAKyd,EACLvd,EAAKF,EAAKua,EACVxa,EAAKE,EAAKsa,EACV+C,EAAKrd,EAAKsa,IAEVva,EAAKyd,EAAMj4a,EACX06Z,EAAKF,EAAKua,EACVxa,EAAKE,EAAKsa,EACV+C,EAAKrd,EAAKsa,GAEZgD,EAAKvd,GAEA,CAACD,KAAIE,KAAIqd,KAAItd,KAAIE,KAAIqd,KAC9B,CACA7b,SAAAA,CAAUrzB,EAAIzL,EAAK9qa,GACjB,MAAMizJ,EAAQ99K,KAAK89K,MACb1gL,EAAS0gL,EAAM1gL,OACrB,IAAI6se,EAAWyC,EAAcrse,EAC7B,GAAIjD,EAAQ,CACV,MAAM+re,EAAYrkC,GAAcj6a,EAAQmyC,IAAKh9D,KAAKiiE,EAAGjiE,KAAK+Y,OAQ1D,IAPAqob,EAAGn/X,EAAI8ra,GAAY/te,KAAM6qB,EAAQuhc,WAAYvhc,GAC7C8qa,EAAIh2E,UAAYwpH,EAAUxpH,UAAU90V,EAAQuhc,YAC5Cz2B,EAAIyE,aAAe,SACnB6vC,EAAYnuC,GAAOjxa,EAAQo/c,WAC3ByC,EAAe7hd,EAAQ6hd,aACvB/2C,EAAIwE,UAAYtva,EAAQ4ld,WACxB96C,EAAIH,KAAOy0C,EAAUzwc,OAChBn5B,EAAI,EAAGA,EAAIjD,IAAUiD,EACxBs1b,EAAI8E,SAAS38Q,EAAMz9K,GAAI8oe,EAAUlna,EAAEm/X,EAAGn/X,GAAIm/X,EAAGp/X,EAAIioa,EAAUh/T,WAAa,GACxEm2R,EAAGp/X,GAAKioa,EAAUh/T,WAAayhU,EAC3Brse,EAAI,IAAMjD,IACZgkc,EAAGp/X,GAAKn3C,EAAQ8hd,kBAAoBD,EAG1C,CACF,CACAgE,aAAAA,CAAc/6C,EAAKyL,EAAI/gc,EAAG8oe,EAAWt+c,GACnC,MAAM4jd,EAAczue,KAAKyue,YAAYpue,GAC/Bwve,EAAkB7ve,KAAK0ue,iBAAiBrue,IACxC,UAACune,EAAS,SAAEC,EAAQ,WAAE/kB,GAAcj4b,EACpCohd,EAAWnwC,GAAOjxa,EAAQohd,UAC1B0E,EAAS5C,GAAY/te,KAAM,OAAQ6qB,GACnC+ld,EAAYzH,EAAUlna,EAAE0ua,GACxBE,EAAUjJ,EAAYqE,EAAShhU,YAAcghU,EAAShhU,WAAa28T,GAAa,EAAI,EACpFkJ,EAAS1vC,EAAGp/X,EAAI6ua,EACtB,GAAIhmd,EAAQi9c,cAAe,CACzB,MAAM6B,EAAc,CAClBxxQ,OAAQj5M,KAAKK,IAAIsod,EAAUD,GAAa,EACxCnvC,WAAYo3C,EAAgBp3C,WAC5BC,SAAUm3C,EAAgBn3C,SAC1BS,YAAa,GAEThgO,EAAUgwQ,EAAUlkC,WAAW2rC,EAAW/I,GAAYA,EAAW,EACjEzuQ,EAAU03Q,EAASlJ,EAAY,EACrCjyC,EAAI2E,YAAczva,EAAQkmd,mBAC1Bp7C,EAAIwE,UAAYtva,EAAQkmd,mBACxB14C,GAAU1C,EAAKg0C,EAAaxwQ,EAASC,GACrCu8N,EAAI2E,YAAcm0C,EAAYp5C,YAC9BM,EAAIwE,UAAYs0C,EAAY1xQ,gBAC5Bs7N,GAAU1C,EAAKg0C,EAAaxwQ,EAASC,EACvC,KAAO,CACLu8N,EAAI4E,UAAYk0C,EAAYt1C,aAAe,EAC3CxD,EAAI2E,YAAcm0C,EAAYp5C,YAC9BM,EAAI0+B,YAAYoa,EAAYjnC,YAAc,IAC1C7R,EAAI2+B,eAAiBma,EAAYhnC,kBAAoB,EACrD,MAAMupC,EAAS7H,EAAUlkC,WAAW2rC,EAAW/I,EAAW/kB,GACpDmuB,EAAS9H,EAAUlkC,WAAWkkC,EAAUnkC,MAAM4rC,EAAW,GAAI/I,EAAW/kB,EAAa,GACrFye,EAAe3lC,GAAc6yC,EAAYlN,cAC3Ctie,OAAOP,OAAO6ie,GAAch6c,MAAKtiB,GAAW,IAANA,KACxC0wb,EAAIkD,YACJlD,EAAIwE,UAAYtva,EAAQkmd,mBACxB31C,GAAmBzF,EAAK,CACtB1zX,EAAG+ua,EACHhva,EAAG8ua,EACH9hM,EAAG64L,EACH39a,EAAG09a,EACHzvQ,OAAQopQ,IAEV5rC,EAAIn3F,OACJm3F,EAAIr9E,SACJq9E,EAAIwE,UAAYs0C,EAAY1xQ,gBAC5B44N,EAAIkD,YACJuC,GAAmBzF,EAAK,CACtB1zX,EAAGgva,EACHjva,EAAG8ua,EAAS,EACZ9hM,EAAG64L,EAAW,EACd39a,EAAG09a,EAAY,EACfzvQ,OAAQopQ,IAEV5rC,EAAIn3F,SAEJm3F,EAAIwE,UAAYtva,EAAQkmd,mBACxBp7C,EAAIu+B,SAAS8c,EAAQF,EAAQjJ,EAAUD,GACvCjyC,EAAIu7C,WAAWF,EAAQF,EAAQjJ,EAAUD,GACzCjyC,EAAIwE,UAAYs0C,EAAY1xQ,gBAC5B44N,EAAIu+B,SAAS+c,EAAQH,EAAS,EAAGjJ,EAAW,EAAGD,EAAY,GAE/D,CACAjyC,EAAIwE,UAAYn6b,KAAK2ue,gBAAgBtue,EACvC,CACA8we,QAAAA,CAAS/vC,EAAIzL,EAAK9qa,GAChB,MAAM,KAACqtC,GAAQl4D,MACT,YAAC6se,EAAW,UAAEuE,EAAS,cAAExE,EAAa,UAAEhF,EAAS,SAAEC,EAAQ,WAAE/kB,GAAcj4b,EAC3Eohd,EAAWnwC,GAAOjxa,EAAQohd,UAChC,IAAIoF,EAAiBpF,EAAShhU,WAC1BqmU,EAAe,EACnB,MAAMnI,EAAYrkC,GAAcj6a,EAAQmyC,IAAKh9D,KAAKiiE,EAAGjiE,KAAK+Y,OACpDw4d,EAAiB,SAAStyM,GAC9B02J,EAAI8E,SAASx7J,EAAMkqM,EAAUlna,EAAEm/X,EAAGn/X,EAAIqva,GAAelwC,EAAGp/X,EAAIqva,EAAiB,GAC7EjwC,EAAGp/X,GAAKqva,EAAiBxE,CAC3B,EACM2E,EAA0BrI,EAAUxpH,UAAUyxH,GACpD,IAAI7E,EAAUlsH,EAAWigE,EAAOjgb,EAAG4nB,EAAGy7Z,EAAMgU,EAU5C,IATA/B,EAAIh2E,UAAYyxH,EAChBz7C,EAAIyE,aAAe,SACnBzE,EAAIH,KAAOy2C,EAASzyc,OACpB4na,EAAGn/X,EAAI8ra,GAAY/te,KAAMwxe,EAAyB3md,GAClD8qa,EAAIwE,UAAYtva,EAAQ4md,UACxBpuD,GAAKrjb,KAAKwse,WAAY+E,GACtBD,EAAe1E,GAA6C,UAA5B4E,EACd,WAAdJ,EAA0BvJ,EAAW,EAAI/kB,EAAe+kB,EAAW,EAAI/kB,EACvE,EACCzid,EAAI,EAAGqjb,EAAOxrX,EAAK96D,OAAQiD,EAAIqjb,IAAQrjb,EAAG,CAU7C,IATAkse,EAAWr0a,EAAK73D,GAChBggX,EAAYrgX,KAAK2ue,gBAAgBtue,GACjCs1b,EAAIwE,UAAY95E,EAChBgjE,GAAKkpD,EAASz7W,OAAQygX,GACtBjxD,EAAQisD,EAASjsD,MACbssD,GAAiBtsD,EAAMljb,SACzB4C,KAAK0we,cAAc/6C,EAAKyL,EAAI/gc,EAAG8oe,EAAWt+c,GAC1Cwmd,EAAiBnyd,KAAKC,IAAI8sd,EAAShhU,WAAY28T,IAE5C3/c,EAAI,EAAGyva,EAAOpX,EAAMljb,OAAQ6qB,EAAIyva,IAAQzva,EAC3Cspd,EAAejxD,EAAMr4Z,IACrBopd,EAAiBpF,EAAShhU,WAE5Bo4Q,GAAKkpD,EAASx7W,MAAOwgX,EACvB,CACAD,EAAe,EACfD,EAAiBpF,EAAShhU,WAC1Bo4Q,GAAKrjb,KAAKyse,UAAW8E,GACrBnwC,EAAGp/X,GAAK6qa,CACV,CACA6E,UAAAA,CAAWtwC,EAAIzL,EAAK9qa,GAClB,MAAM8hF,EAAS3sG,KAAK2sG,OACdvvG,EAASuvG,EAAOvvG,OACtB,IAAI8ue,EAAY7re,EAChB,GAAIjD,EAAQ,CACV,MAAM+re,EAAYrkC,GAAcj6a,EAAQmyC,IAAKh9D,KAAKiiE,EAAGjiE,KAAK+Y,OAQ1D,IAPAqob,EAAGn/X,EAAI8ra,GAAY/te,KAAM6qB,EAAQ8md,YAAa9md,GAC9Cu2a,EAAGp/X,GAAKn3C,EAAQiid,gBAChBn3C,EAAIh2E,UAAYwpH,EAAUxpH,UAAU90V,EAAQ8md,aAC5Ch8C,EAAIyE,aAAe,SACnB8xC,EAAapwC,GAAOjxa,EAAQqhd,YAC5Bv2C,EAAIwE,UAAYtva,EAAQ+md,YACxBj8C,EAAIH,KAAO02C,EAAW1yc,OACjBn5B,EAAI,EAAGA,EAAIjD,IAAUiD,EACxBs1b,EAAI8E,SAAS9tV,EAAOtsG,GAAI8oe,EAAUlna,EAAEm/X,EAAGn/X,GAAIm/X,EAAGp/X,EAAIkqa,EAAWjhU,WAAa,GAC1Em2R,EAAGp/X,GAAKkqa,EAAWjhU,WAAapgJ,EAAQkid,aAE5C,CACF,CACA9Y,cAAAA,CAAe7yB,EAAIzL,EAAKk8C,EAAahnd,GACnC,MAAM,OAACwid,EAAM,OAAEF,GAAUnte,MACnB,EAACiiE,EAAC,EAAED,GAAKo/X,GACT,MAACrob,EAAK,OAAEw/C,GAAUs5a,GAClB,QAACpzR,EAAO,SAAEC,EAAQ,WAAEE,EAAU,YAAED,GAAei9O,GAAc/wa,EAAQ2ta,cAC3E7C,EAAIwE,UAAYtva,EAAQkyM,gBACxB44N,EAAI2E,YAAczva,EAAQwqa,YAC1BM,EAAI4E,UAAY1va,EAAQsua,YACxBxD,EAAIkD,YACJlD,EAAIqD,OAAO/2X,EAAIw8I,EAASz8I,GACT,QAAXmra,GACFnte,KAAKiwe,UAAU7uC,EAAIzL,EAAKk8C,EAAahnd,GAEvC8qa,EAAIsD,OAAOh3X,EAAIlpD,EAAQ2lM,EAAU18I,GACjC2zX,EAAIm8C,iBAAiB7va,EAAIlpD,EAAOipD,EAAGC,EAAIlpD,EAAOipD,EAAI08I,GACnC,WAAXyuR,GAAkC,UAAXE,GACzBrte,KAAKiwe,UAAU7uC,EAAIzL,EAAKk8C,EAAahnd,GAEvC8qa,EAAIsD,OAAOh3X,EAAIlpD,EAAOipD,EAAIzJ,EAASomJ,GACnCg3O,EAAIm8C,iBAAiB7va,EAAIlpD,EAAOipD,EAAIzJ,EAAQ0J,EAAIlpD,EAAQ4lM,EAAa38I,EAAIzJ,GAC1D,WAAX40a,GACFnte,KAAKiwe,UAAU7uC,EAAIzL,EAAKk8C,EAAahnd,GAEvC8qa,EAAIsD,OAAOh3X,EAAI28I,EAAY58I,EAAIzJ,GAC/Bo9X,EAAIm8C,iBAAiB7va,EAAGD,EAAIzJ,EAAQ0J,EAAGD,EAAIzJ,EAASqmJ,GACrC,WAAXuuR,GAAkC,SAAXE,GACzBrte,KAAKiwe,UAAU7uC,EAAIzL,EAAKk8C,EAAahnd,GAEvC8qa,EAAIsD,OAAOh3X,EAAGD,EAAIy8I,GAClBk3O,EAAIm8C,iBAAiB7va,EAAGD,EAAGC,EAAIw8I,EAASz8I,GACxC2zX,EAAIoD,YACJpD,EAAIn3F,OACA3zU,EAAQsua,YAAc,GACxBxD,EAAIr9E,QAER,CACAy5H,sBAAAA,CAAuBlnd,GACrB,MAAM2gD,EAAQxrE,KAAKwrE,MACby8X,EAAQjoc,KAAK8qc,YACbknC,EAAQ/pC,GAASA,EAAMhmY,EACvBgwa,EAAQhqC,GAASA,EAAMjmY,EAC7B,GAAIgwa,GAASC,EAAO,CAClB,MAAMlmc,EAAWw/b,GAAY1gd,EAAQkhB,UAAUhmC,KAAK/F,KAAMA,KAAKyoc,QAASzoc,KAAKkue,gBAC7E,IAAKnic,EACH,OAEF,MAAMn7B,EAAO5Q,KAAKmue,MAAQnC,GAAehse,KAAM6qB,GACzCkld,EAAkB9we,OAAO0wB,OAAO,CAAC,EAAGoc,EAAU/rC,KAAKmue,OACnD7mZ,EAAYmmZ,GAAmBjia,EAAO3gD,EAASkld,GAC/C72c,EAAQy0c,GAAmB9id,EAASkld,EAAiBzoZ,EAAW9b,GAClEwma,EAAMjoC,MAAQ7wa,EAAM+oC,GAAKgwa,EAAMloC,MAAQ7wa,EAAM8oC,IAC/ChiE,KAAKqte,OAAS/lZ,EAAU+lZ,OACxBrte,KAAKmte,OAAS7lZ,EAAU6lZ,OACxBnte,KAAK+Y,MAAQnI,EAAKmI,MAClB/Y,KAAKu4D,OAAS3nD,EAAK2nD,OACnBv4D,KAAKuue,OAASxic,EAASk2B,EACvBjiE,KAAKwue,OAASzic,EAASi2B,EACvBhiE,KAAKqzc,qBAAqBxsW,OAAO7mG,KAAMk5B,GAE3C,CACF,CACAsva,IAAAA,CAAK7S,GACH,MAAM9qa,EAAU7qB,KAAK6qB,QAAQsza,WAAWn+b,KAAKwZ,cAC7C,IAAIo/C,EAAU54D,KAAK44D,QACnB,IAAKA,EACH,OAEF54D,KAAK+xe,uBAAuBlnd,GAC5B,MAAMgnd,EAAc,CAClB94d,MAAO/Y,KAAK+Y,MACZw/C,OAAQv4D,KAAKu4D,QAET6oY,EAAK,CACTn/X,EAAGjiE,KAAKiiE,EACRD,EAAGhiE,KAAKgiE,GAEVpJ,EAAU15C,KAAK+9C,IAAIrE,GAAW,KAAO,EAAIA,EACzC,MAAM1xC,EAAU20a,GAAUhxa,EAAQ3D,SAC5Bgrd,EAAoBlye,KAAK89K,MAAM1gL,QAAU4C,KAAKwse,WAAWpve,QAAU4C,KAAKk4D,KAAK96D,QAAU4C,KAAKyse,UAAUrve,QAAU4C,KAAK2sG,OAAOvvG,OAC9HytB,EAAQ41M,SAAWyxQ,IACrBv8C,EAAI7oX,OACJ6oX,EAAIw8C,YAAcv5a,EAClB54D,KAAKi0d,eAAe7yB,EAAIzL,EAAKk8C,EAAahnd,GAC1Cw6a,GAAsB1P,EAAK9qa,EAAQ4+c,eACnCroC,EAAGp/X,GAAK96C,EAAQy1C,IAChB38D,KAAKy0d,UAAUrzB,EAAIzL,EAAK9qa,GACxB7qB,KAAKmxe,SAAS/vC,EAAIzL,EAAK9qa,GACvB7qB,KAAK0xe,WAAWtwC,EAAIzL,EAAK9qa,GACzB46a,GAAqB9P,EAAK9qa,EAAQ4+c,eAClC9zC,EAAIiC,UAER,CACAqoC,iBAAAA,GACE,OAAOjge,KAAKyoc,SAAW,EACzB,CACAy3B,iBAAAA,CAAkBC,EAAgBsL,GAChC,MAAMrL,EAAapge,KAAKyoc,QAClBvrb,EAASijd,EAAex2d,KAAIqgV,IAA2B,IAA1B,aAAC65F,EAAY,MAAE9ib,GAAMipV,EACtD,MAAM32F,EAAOrzP,KAAKwrE,MAAMkkY,eAAe7rB,GACvC,IAAKxwL,EACH,MAAM,IAAIppP,MAAM,kCAAoC45a,GAEtD,MAAO,CACLA,eACA15Z,QAASkpO,EAAKnwP,KAAKnC,GACnBA,QACD,IAEGy8c,GAAWj6B,GAAe68C,EAAYljd,GACtCk1d,EAAkBpye,KAAKqye,iBAAiBn1d,EAAQuud,IAClDjuB,GAAW40B,KACbpye,KAAKyoc,QAAUvrb,EACfld,KAAKkue,eAAiBzC,EACtBzre,KAAKsye,qBAAsB,EAC3Btye,KAAK6mG,QAAO,GAEhB,CACAyjY,WAAAA,CAAY7re,EAAG4he,GAA4B,IAApBI,IAAWn8d,UAAAlH,OAAA,QAAAI,IAAA8G,UAAA,KAAAA,UAAA,GAChC,GAAI+7d,GAAUrge,KAAKsye,oBACjB,OAAO,EAETtye,KAAKsye,qBAAsB,EAC3B,MAAMznd,EAAU7qB,KAAK6qB,QACfu1c,EAAapge,KAAKyoc,SAAW,GAC7Bvrb,EAASld,KAAK4ge,mBAAmBnie,EAAG2he,EAAYC,EAAQI,GACxD2R,EAAkBpye,KAAKqye,iBAAiBn1d,EAAQze,GAChD++c,EAAU6iB,IAAW98C,GAAerma,EAAQkjd,IAAegS,EAWjE,OAVI50B,IACFx9c,KAAKyoc,QAAUvrb,GACX2N,EAAQ41M,SAAW51M,EAAQ8rF,YAC7B32G,KAAKkue,eAAiB,CACpBjsa,EAAGxjE,EAAEwjE,EACLD,EAAGvjE,EAAEujE,GAEPhiE,KAAK6mG,QAAO,EAAMw5X,KAGf7iB,CACT,CACAojB,kBAAAA,CAAmBnie,EAAG2he,EAAYC,EAAQI,GACxC,MAAM51c,EAAU7qB,KAAK6qB,QACrB,GAAe,aAAXpsB,EAAE6S,KACJ,MAAO,GAET,IAAKmvd,EACH,OAAOL,EAET,MAAMljd,EAASld,KAAKwrE,MAAM6zZ,0BAA0B5ge,EAAGosB,EAAQ0gS,KAAM1gS,EAASw1c,GAI9E,OAHIx1c,EAAQjI,SACV1F,EAAO0F,UAEF1F,CACT,CACAm1d,gBAAAA,CAAiBn1d,EAAQze,GACvB,MAAM,OAAC8ve,EAAM,OAAEC,EAAM,QAAE3jd,GAAW7qB,KAC5B+rC,EAAWw/b,GAAY1gd,EAAQkhB,UAAUhmC,KAAK/F,KAAMkd,EAAQze,GAClE,OAAoB,IAAbstC,IAAuBwic,IAAWxic,EAASk2B,GAAKusa,IAAWzic,EAASi2B,EAC7E,EAEFqvS,GAAQk6H,YAAcA,GACtB,IAAIgH,GAAiB,CACnB5/b,GAAI,UACJm3T,SAAUuH,GACVk6H,eACAiH,SAAAA,CAAUhna,EAAOq/Z,EAAOhgd,GAClBA,IACF2gD,EAAMwlF,QAAU,IAAIqgN,GAAQ,CAAC7lS,QAAO3gD,YAExC,EACA8ic,YAAAA,CAAaniZ,EAAOq/Z,EAAOhgd,GACrB2gD,EAAMwlF,SACRxlF,EAAMwlF,QAAQo9S,WAAWvjb,EAE7B,EACApG,KAAAA,CAAM+mD,EAAOq/Z,EAAOhgd,GACd2gD,EAAMwlF,SACRxlF,EAAMwlF,QAAQo9S,WAAWvjb,EAE7B,EACA4nd,SAAAA,CAAUjna,GACR,MAAMwlF,EAAUxlF,EAAMwlF,QAChBhqJ,EAAO,CACXgqJ,YAEqD,IAAnDxlF,EAAM8jZ,cAAc,oBAAqBtod,KAGzCgqJ,GACFA,EAAQw3S,KAAKh9X,EAAMmqX,KAErBnqX,EAAM8jZ,cAAc,mBAAoBtod,GAC1C,EACA8je,UAAAA,CAAWt/Z,EAAOxkE,GAChB,GAAIwkE,EAAMwlF,QAAS,CACjB,MAAM0vT,EAAmB15c,EAAKq5d,OAC1B70Z,EAAMwlF,QAAQs5U,YAAYtje,EAAKoK,MAAOsvc,EAAkB15c,EAAKy5d,eAC/Dz5d,EAAKw2c,SAAU,EAEnB,CACF,EACA7kL,SAAU,CACRl4D,SAAS,EACT9pH,SAAU,KACV5qE,SAAU,UACVgxL,gBAAiB,kBACjB0zQ,WAAY,OACZxG,UAAW,CACT7/Z,OAAQ,QAEVsia,aAAc,EACdC,kBAAmB,EACnBvgB,WAAY,OACZqlB,UAAW,OACX5E,YAAa,EACbZ,SAAU,CACV,EACAmF,UAAW,OACXQ,YAAa,OACb7E,cAAe,EACfD,gBAAiB,EACjBZ,WAAY,CACV9ha,OAAQ,QAEVuna,YAAa,OACbzqd,QAAS,EACTqmd,aAAc,EACdD,UAAW,EACX90C,aAAc,EACdovC,UAAWA,CAACjyC,EAAKt2J,IAASA,EAAK4sM,SAASr7d,KACxCi3d,SAAUA,CAAClyC,EAAKt2J,IAASA,EAAK4sM,SAASr7d,KACvCmge,mBAAoB,OACpBnE,eAAe,EACf9pB,WAAY,EACZztB,YAAa,gBACb8D,YAAa,EACbriJ,UAAW,CACTtjO,SAAU,IACVk2X,OAAQ,gBAEVa,WAAY,CACVD,QAAS,CACPh5b,KAAM,SACN1N,WAAY,CAAC,IAAK,IAAK,QAAS,SAAU,SAAU,WAEtDg1D,QAAS,CACP8wY,OAAQ,SACRl2X,SAAU,MAGduO,UAAW,CACT+sZ,YAAa51I,GACbp7K,KAAAA,CAAM8wT,GACJ,GAAIA,EAAaxxe,OAAS,EAAG,CAC3B,MAAMub,EAAOi2d,EAAa,GACpB39B,EAASt4b,EAAK6yD,MAAMtoE,KAAK+tc,OACzByhC,EAAazhC,EAASA,EAAO7zc,OAAS,EAC5C,GAAI4C,MAAQA,KAAK6qB,SAAiC,YAAtB7qB,KAAK6qB,QAAQ0gS,KACvC,OAAO5yS,EAAK81b,QAAQ7qY,OAAS,GACxB,GAAIjrD,EAAKirD,MACd,OAAOjrD,EAAKirD,MACP,GAAI8ua,EAAa,GAAK/5d,EAAKk6b,UAAY6/B,EAC5C,OAAOzhC,EAAOt4b,EAAKk6b,UAEvB,CACA,MAAO,EACT,EACAk8B,WAAY71I,GACZszI,WAAYtzI,GACZk2I,YAAal2I,GACbt1R,KAAAA,CAAM84Y,GACJ,GAAI18c,MAAQA,KAAK6qB,SAAiC,YAAtB7qB,KAAK6qB,QAAQ0gS,KACvC,OAAOmxJ,EAAY94Y,MAAQ,KAAO84Y,EAAYE,gBAAkBF,EAAYE,eAE9E,IAAIh5Y,EAAQ84Y,EAAYjO,QAAQ7qY,OAAS,GACrCA,IACFA,GAAS,MAEX,MAAM7mE,EAAQ2/c,EAAYE,eAI1B,OAHK55B,GAAcjmb,KACjB6mE,GAAS7mE,GAEJ6mE,CACT,EACAgsa,UAAAA,CAAWlzB,GACT,MACM7xb,EADO6xb,EAAYlxY,MAAMkkY,eAAegN,EAAY74B,cACrC16M,WAAWg7N,SAASuY,EAAY7J,WACrD,MAAO,CACLxd,YAAaxqa,EAAQwqa,YACrBt4N,gBAAiBlyM,EAAQkyM,gBACzBo8N,YAAatua,EAAQsua,YACrBqO,WAAY38a,EAAQ28a,WACpBC,iBAAkB58a,EAAQ48a,iBAC1B85B,aAAc,EAElB,EACAuO,cAAAA,GACE,OAAO9ve,KAAK6qB,QAAQ4md,SACtB,EACA5B,eAAAA,CAAgBnzB,GACd,MACM7xb,EADO6xb,EAAYlxY,MAAMkkY,eAAegN,EAAY74B,cACrC16M,WAAWg7N,SAASuY,EAAY7J,WACrD,MAAO,CACLpa,WAAY5ta,EAAQ4ta,WACpBC,SAAU7ta,EAAQ6ta,SAEtB,EACA22C,WAAYn2I,GACZuzI,UAAWvzI,GACXs2I,aAAct2I,GACdvsP,OAAQusP,GACRu2I,YAAav2I,KAGjBkvH,cAAe,CACb6jB,SAAU,OACVC,WAAY,OACZjC,UAAW,QAEb/0C,YAAa,CACX8B,YAAcvxb,GAAkB,WAATA,GAA8B,aAATA,GAAgC,aAATA,EACnEwxb,YAAY,EACZl1W,UAAW,CACTi1W,aAAa,EACbC,YAAY,GAEdngJ,UAAW,CACTogJ,WAAW,GAEbqT,WAAY,CACVrT,UAAW,cAGfgjC,uBAAwB,CAAC,gBAsB3B,SAASyY,GAAe1hC,EAAQ3pV,EAAKvmH,EAAO6xe,GAC1C,MAAM7sa,EAAQkrY,EAAO1vc,QAAQ+lH,GAC7B,IAAe,IAAXvhD,EACF,MAZgB8sa,EAAC5hC,EAAQ3pV,EAAKvmH,EAAO6xe,KACpB,kBAARtrX,GACTvmH,EAAQkwc,EAAOjyc,KAAKsoH,GAAO,EAC3BsrX,EAAYr5M,QAAQ,CAACx4R,QAAO6iE,MAAO0jD,KAC1B7pH,MAAM6pH,KACfvmH,EAAQ,MAEHA,GAKE8xe,CAAY5hC,EAAQ3pV,EAAKvmH,EAAO6xe,GAGzC,OAAO7sa,IADMkrY,EAAO12W,YAAY+sB,GACRvmH,EAAQglE,CAClC,CAEA,MAAM+sa,WAAsBxmB,GAC1B5qd,WAAAA,CAAY6nc,GACVxqG,MAAMwqG,GACNvpc,KAAK+ye,iBAAcv1e,EACnBwC,KAAKgze,YAAc,EACnBhze,KAAKize,aAAe,EACtB,CACAp2c,IAAAA,CAAK07b,GACH,MAAMhxb,EAAQvnC,KAAKize,aACnB,GAAI1rc,EAAMnqC,OAAQ,CAChB,MAAM6zc,EAASjxc,KAAKkxc,YACpB,IAAK,MAAM,MAACnwc,EAAK,MAAE6iE,KAAUr8B,EACvB0pa,EAAOlwc,KAAW6iE,GACpBqtY,EAAO5ub,OAAOthB,EAAO,GAGzBf,KAAKize,aAAe,EACtB,CACAl0I,MAAMliU,KAAK07b,EACb,CACAp0d,KAAAA,CAAMmjH,EAAKvmH,GACT,GAAIiib,GAAc17T,GAChB,OAAO,KAET,MAAM2pV,EAASjxc,KAAKkxc,YAGpB,MA5Be8a,EAACjrd,EAAOoe,IAAkB,OAAVpe,EAAiB,KAAOkmb,GAAY/na,KAAKmrB,MAAMtpC,GAAQ,EAAGoe,GA4BlF6sc,CAFPjrd,EAAQklE,SAASllE,IAAUkwc,EAAOlwc,KAAWumH,EAAMvmH,EAC/C4xe,GAAe1hC,EAAQ3pV,EAAK67T,GAAepib,EAAOumH,GAAMtnH,KAAKize,cACxChiC,EAAO7zc,OAAS,EAC3C,CACA6wd,mBAAAA,GACE,MAAM,WAACjc,EAAU,WAAEC,GAAcjyc,KAAKkyc,gBACtC,IAAI,IAAC3yb,EAAG,IAAEJ,GAAOnf,KAAKyxc,WAAU,GACJ,UAAxBzxc,KAAK6qB,QAAQmiN,SACVglO,IACHzyb,EAAM,GAEH0yb,IACH9yb,EAAMnf,KAAKkxc,YAAY9zc,OAAS,IAGpC4C,KAAKuf,IAAMA,EACXvf,KAAKmf,IAAMA,CACb,CACAovc,UAAAA,GACE,MAAMhvc,EAAMvf,KAAKuf,IACXJ,EAAMnf,KAAKmf,IACXg8H,EAASn7I,KAAK6qB,QAAQswH,OACtBw6T,EAAQ,GACd,IAAI1E,EAASjxc,KAAKkxc,YAClBD,EAAkB,IAAR1xb,GAAaJ,IAAQ8xb,EAAO7zc,OAAS,EAAK6zc,EAASA,EAAOvqc,MAAM6Y,EAAKJ,EAAM,GACrFnf,KAAKgze,YAAc9zd,KAAKC,IAAI8xb,EAAO7zc,QAAU+9I,EAAS,EAAI,GAAI,GAC9Dn7I,KAAK+ye,YAAc/ye,KAAKuf,KAAO47H,EAAS,GAAM,GAC9C,IAAK,IAAIp+I,EAAQwiB,EAAKxiB,GAASoiB,EAAKpiB,IAClC44c,EAAM32c,KAAK,CAACjC,UAEd,OAAO44c,CACT,CACArD,gBAAAA,CAAiBv1c,GACf,MAAMk0c,EAASjxc,KAAKkxc,YACpB,OAAIn0c,GAAS,GAAKA,EAAQk0c,EAAO7zc,OACxB6zc,EAAOl0c,GAETA,CACT,CACA2tc,SAAAA,GACE3rG,MAAM2rG,YACD1qc,KAAKqhN,iBACRrhN,KAAKqgd,gBAAkBrgd,KAAKqgd,eAEhC,CACA3K,gBAAAA,CAAiB34c,GAIf,MAHqB,kBAAVA,IACTA,EAAQiD,KAAKmE,MAAMpH,IAEJ,OAAVA,EAAiB0sD,IAAMzpD,KAAKw5c,oBAAoBz8c,EAAQiD,KAAK+ye,aAAe/ye,KAAKgze,YAC1F,CACAp9B,eAAAA,CAAgB70c,GACd,MAAM40c,EAAQ31c,KAAK21c,MACnB,OAAI50c,EAAQ,GAAKA,EAAQ40c,EAAMv4c,OAAS,EAC/B,KAEF4C,KAAK01c,iBAAiBC,EAAM50c,GAAOhE,MAC5C,CACA20d,gBAAAA,CAAiB9oX,GACf,OAAO1pF,KAAKmrB,MAAMrqC,KAAK+ye,YAAc/ye,KAAK4xd,mBAAmBhpX,GAAS5oG,KAAKgze,YAC7E,CACA57B,YAAAA,GACE,OAAOp3c,KAAK+1G,MACd,EASF,SAASm9X,GAAgBC,EAAmBC,GAC1C,MAAMz9B,EAAQ,IAER,OAAC3oO,EAAM,KAAEn7J,EAAI,IAAEtyD,EAAG,IAAEJ,EAAG,UAAEu3M,EAAS,MAAEj2N,EAAK,SAAE4ye,EAAQ,UAAEC,EAAS,cAAEC,GAAiBJ,EACjFzzB,EAAO7tY,GAAQ,EACf2ha,EAAYH,EAAW,GACtB9zd,IAAKk0d,EAAMt0d,IAAKu0d,GAAQN,EACzBphC,GAAchvB,GAAczja,GAC5B0yb,GAAcjvB,GAAc7ja,GAC5Bw0d,GAAgB3wD,GAAcvib,GAC9Bmze,GAAcF,EAAOD,IAASH,EAAY,GAChD,IACIlqC,EAAQyqC,EAASC,EAASC,EAD1B75B,EAAU30B,IAASmuD,EAAOD,GAAQD,EAAY9zB,GAAQA,EAE1D,GAAIxF,EAXgB,QAWUlI,IAAeC,EAC3C,MAAO,CAAC,CAACl1c,MAAO02e,GAAO,CAAC12e,MAAO22e,IAEjCK,EAAY70d,KAAKm9C,KAAKq3a,EAAOx5B,GAAWh7b,KAAKmsC,MAAMoob,EAAOv5B,GACtD65B,EAAYP,IACdt5B,EAAU30B,GAAQwuD,EAAY75B,EAAUs5B,EAAY9zB,GAAQA,GAEzD18B,GAActsN,KACjB0yO,EAASlqb,KAAKyrC,IAAI,GAAI+rK,GACtBwjP,EAAUh7b,KAAKm9C,KAAK69Y,EAAU9Q,GAAUA,GAE3B,UAAXp8N,GACF6mQ,EAAU30d,KAAKmsC,MAAMoob,EAAOv5B,GAAWA,EACvC45B,EAAU50d,KAAKm9C,KAAKq3a,EAAOx5B,GAAWA,IAEtC25B,EAAUJ,EACVK,EAAUJ,GAER1hC,GAAcC,GAAcpgY,GDp4RlC,SAAqB5P,EAAG2jX,GACtB,MAAMouD,EAAU90d,KAAKmrB,MAAM43B,GAC3B,OAAS+xa,EAAUpuD,GAAY3jX,GAAQ+xa,EAAUpuD,GAAY3jX,CAC/D,CCi4R0Cgya,EAAa90d,EAAMI,GAAOsyD,EAAMqoY,EAAU,MAChF65B,EAAY70d,KAAKmrB,MAAMnrB,KAAKK,KAAKJ,EAAMI,GAAO26b,EAASm5B,IACvDn5B,GAAW/6b,EAAMI,GAAOw0d,EACxBF,EAAUt0d,EACVu0d,EAAU30d,GACDw0d,GACTE,EAAU7hC,EAAazyb,EAAMs0d,EAC7BC,EAAU7hC,EAAa9yb,EAAM20d,EAC7BC,EAAYtze,EAAQ,EACpBy5c,GAAW45B,EAAUD,GAAWE,IAEhCA,GAAaD,EAAUD,GAAW35B,EAEhC65B,EADEtuD,GAAasuD,EAAW70d,KAAKmrB,MAAM0pc,GAAY75B,EAAU,KAC/Ch7b,KAAKmrB,MAAM0pc,GAEX70d,KAAKm9C,KAAK03a,IAG1B,MAAMG,EAAgBh1d,KAAKC,IACzB2ma,GAAeo0B,GACfp0B,GAAe+tD,IAEjBzqC,EAASlqb,KAAKyrC,IAAI,GAAIq4X,GAActsN,GAAaw9Q,EAAgBx9Q,GACjEm9Q,EAAU30d,KAAKmrB,MAAMwpc,EAAUzqC,GAAUA,EACzC0qC,EAAU50d,KAAKmrB,MAAMypc,EAAU1qC,GAAUA,EACzC,IAAInhb,EAAI,EAcR,IAbI+pb,IACEuhC,GAAiBM,IAAYt0d,GAC/Bo2b,EAAM32c,KAAK,CAACjC,MAAOwiB,IACfs0d,EAAUt0d,GACZ0I,IAEEw9Z,GAAavma,KAAKmrB,OAAOwpc,EAAU5rd,EAAIiyb,GAAW9Q,GAAUA,EAAQ7pb,EAAK40d,GAAkB50d,EAAKq0d,EAAYT,KAC9Glrd,KAEO4rd,EAAUt0d,GACnB0I,KAGGA,EAAI8rd,IAAa9rd,EACtB0tb,EAAM32c,KAAK,CAACjC,MAAOmiB,KAAKmrB,OAAOwpc,EAAU5rd,EAAIiyb,GAAW9Q,GAAUA,IAWpE,OATI6I,GAAcshC,GAAiBO,IAAY30d,EACzCw2b,EAAMv4c,QAAUqob,GAAakwB,EAAMA,EAAMv4c,OAAS,GAAGL,MAAOoiB,EAAKg1d,GAAkBh1d,EAAKy0d,EAAYT,IACtGx9B,EAAMA,EAAMv4c,OAAS,GAAGL,MAAQoiB,EAEhCw2b,EAAM32c,KAAK,CAACjC,MAAOoiB,IAEX8yb,GAAc6hC,IAAY30d,GACpCw2b,EAAM32c,KAAK,CAACjC,MAAO+2e,IAEdn+B,CACT,CACA,SAASw+B,GAAkBp3e,EAAO62e,EAAUxpJ,GAA6B,IAA3B,WAACt9G,EAAU,YAAEi+O,GAAY3gI,EACrE,MAAMuuG,EAAM/+N,GAAUmxP,GAChB33B,GAAStmN,EAAa5tN,KAAKo6M,IAAIq/N,GAAOz5a,KAAKm6M,IAAIs/N,KAAS,KACxDv7b,EAAS,IAAOw2e,GAAc,GAAK72e,GAAOK,OAChD,OAAO8hB,KAAKK,IAAIq0d,EAAaxgD,EAAOh2b,EACtC,CAhGA01e,GAAcngc,GAAK,WACnBmgc,GAAcn6M,SAAW,CACvBg9K,MAAO,CACL/0c,SAAUkye,GAAc5ye,UAAUoyc,mBA8FtC,MAAM8hC,WAAwB9nB,GAC5B5qd,WAAAA,CAAY6nc,GACVxqG,MAAMwqG,GACNvpc,KAAKorC,WAAQ5tC,EACbwC,KAAK2gJ,SAAMnjJ,EACXwC,KAAK+ye,iBAAcv1e,EACnBwC,KAAKq0e,eAAY72e,EACjBwC,KAAKgze,YAAc,CACrB,CACA7ue,KAAAA,CAAMmjH,EAAKvmH,GACT,OAAIiib,GAAc17T,KAGE,kBAARA,GAAoBA,aAAe56G,UAAYu5D,UAAUqhD,GAF5D,MAKDA,CACV,CACAgtX,sBAAAA,GACE,MAAM,YAACh7B,GAAet5c,KAAK6qB,SACrB,WAACmnb,EAAU,WAAEC,GAAcjyc,KAAKkyc,gBACtC,IAAI,IAAC3yb,EAAG,IAAEJ,GAAOnf,KACjB,MAAM62N,EAAS5xN,GAAMsa,EAAMyyb,EAAazyb,EAAMta,EACxC6xN,EAAS7xN,GAAMka,EAAM8yb,EAAa9yb,EAAMla,EAC9C,GAAIq0c,EAAa,CACf,MAAMi7B,EAAUxgH,GAAKx0W,GACfi1d,EAAUzgH,GAAK50W,GACjBo1d,EAAU,GAAKC,EAAU,EAC3B19Q,EAAO,GACEy9Q,EAAU,GAAKC,EAAU,GAClC39Q,EAAO,EAEX,CACA,GAAIt3M,IAAQJ,EAAK,CACf,IAAIg8H,EAAS,GACTh8H,GAAOzS,OAAO61C,kBAAoBhjC,GAAO7S,OAAO+ne,oBAClDt5V,EAASj8H,KAAK+9C,IAAU,IAAN99C,IAEpB23M,EAAO33M,EAAMg8H,GACRm+T,GACHziP,EAAOt3M,EAAM47H,EAEjB,CACAn7I,KAAKuf,IAAMA,EACXvf,KAAKmf,IAAMA,CACb,CACAu1d,YAAAA,GACE,MAAMxrB,EAAWlpd,KAAK6qB,QAAQ8qb,MAC9B,IACI09B,GADA,cAACjqB,EAAa,SAAEurB,GAAYzrB,EAehC,OAbIyrB,GACFtB,EAAWn0d,KAAKm9C,KAAKr8D,KAAKmf,IAAMw1d,GAAYz1d,KAAKmsC,MAAMrrD,KAAKuf,IAAMo1d,GAAY,EAC1EtB,EAAW,MACbxve,QAAQC,KAAK,UAADkH,OAAWhL,KAAK2yC,GAAE,qBAAA3nC,OAAoB2pe,EAAQ,mCAAA3pe,OAAkCqoe,EAAQ,8BACpGA,EAAW,OAGbA,EAAWrze,KAAK40e,mBAChBxrB,EAAgBA,GAAiB,IAE/BA,IACFiqB,EAAWn0d,KAAKK,IAAI6pc,EAAeiqB,IAE9BA,CACT,CACAuB,gBAAAA,GACE,OAAOloe,OAAOu4a,iBAChB,CACAspC,UAAAA,GACE,MAAMlvL,EAAOr/R,KAAK6qB,QACZq+b,EAAW7pL,EAAKs2K,MACtB,IAAI09B,EAAWrze,KAAK00e,eACpBrB,EAAWn0d,KAAKC,IAAI,EAAGk0d,GACvB,MAcM19B,EAAQu9B,GAdkB,CAC9BG,WACArmQ,OAAQqyD,EAAKryD,OACbztN,IAAK8/Q,EAAK9/Q,IACVJ,IAAKkgR,EAAKlgR,IACVu3M,UAAWwyP,EAASxyP,UACpB7kJ,KAAMq3Y,EAASyrB,SACfl0e,MAAOyod,EAASzod,MAChB6ye,UAAWtze,KAAKg1d,aAChBloP,WAAY9sO,KAAKqhN,eACjB0pQ,YAAa7B,EAAS6B,aAAe,EACrCwoB,eAA0C,IAA3BrqB,EAASqqB,eAERvze,KAAKysd,QAAUzsd,MAajC,MAXoB,UAAhBq/R,EAAKryD,QACP64M,GAAmB8vB,EAAO31c,KAAM,SAE9Bq/R,EAAKz8Q,SACP+yb,EAAM/yb,UACN5iB,KAAKorC,MAAQprC,KAAKmf,IAClBnf,KAAK2gJ,IAAM3gJ,KAAKuf,MAEhBvf,KAAKorC,MAAQprC,KAAKuf,IAClBvf,KAAK2gJ,IAAM3gJ,KAAKmf,KAEXw2b,CACT,CACAjL,SAAAA,GACE,MAAMiL,EAAQ31c,KAAK21c,MACnB,IAAIvqa,EAAQprC,KAAKuf,IACbohI,EAAM3gJ,KAAKmf,IAEf,GADA4/U,MAAM2rG,YACF1qc,KAAK6qB,QAAQswH,QAAUw6T,EAAMv4c,OAAQ,CACvC,MAAM+9I,GAAUwF,EAAMv1G,GAASlsB,KAAKC,IAAIw2b,EAAMv4c,OAAS,EAAG,GAAK,EAC/DguC,GAAS+vG,EACTwF,GAAOxF,CACT,CACAn7I,KAAK+ye,YAAc3nc,EACnBprC,KAAKq0e,UAAY1zV,EACjB3gJ,KAAKgze,YAAcryV,EAAMv1G,CAC3B,CACAkna,gBAAAA,CAAiBv1c,GACf,OAAO6sP,GAAa7sP,EAAOiD,KAAKwrE,MAAM3gD,QAAQkyR,OAAQ/8S,KAAK6qB,QAAQ8qb,MAAM9Q,OAC3E,EAGF,MAAMgwC,WAAoBT,GACxBnmB,mBAAAA,GACE,MAAM,IAAC1uc,EAAG,IAAEJ,GAAOnf,KAAKyxc,WAAU,GAClCzxc,KAAKuf,IAAM0ja,GAAe1ja,GAAOA,EAAM,EACvCvf,KAAKmf,IAAM8ja,GAAe9ja,GAAOA,EAAM,EACvCnf,KAAKs0e,wBACP,CACAM,gBAAAA,GACE,MAAM9nQ,EAAa9sO,KAAKqhN,eAClBjkN,EAAS0vO,EAAa9sO,KAAK+Y,MAAQ/Y,KAAKu4D,OACxCwyZ,EAAcnxP,GAAU55N,KAAK6qB,QAAQ8qb,MAAMoV,aAC3C33B,GAAStmN,EAAa5tN,KAAKo6M,IAAIyxP,GAAe7rc,KAAKm6M,IAAI0xP,KAAiB,KACxEoG,EAAWnxd,KAAKwxd,wBAAwB,GAC9C,OAAOtyc,KAAKm9C,KAAKj/D,EAAS8hB,KAAKK,IAAI,GAAI4xc,EAASlmT,WAAamoR,GAC/D,CACAsiB,gBAAAA,CAAiB34c,GACf,OAAiB,OAAVA,EAAiB0sD,IAAMzpD,KAAKw5c,oBAAoBz8c,EAAQiD,KAAK+ye,aAAe/ye,KAAKgze,YAC1F,CACAthB,gBAAAA,CAAiB9oX,GACf,OAAO5oG,KAAK+ye,YAAc/ye,KAAK4xd,mBAAmBhpX,GAAS5oG,KAAKgze,WAClE,EASF,SAAS8B,GAAQC,GAEf,OAAkB,IADHA,EAAW71d,KAAKyrC,IAAI,GAAIzrC,KAAKmsC,MAAMi6X,GAAMyvD,IAE1D,CAVAF,GAAYlic,GAAK,SACjBkic,GAAYl8M,SAAW,CACrBg9K,MAAO,CACL/0c,SAAUood,GAAMX,WAAWC,UA8B/B,MAAM0sB,WAAyB1oB,GAC7B5qd,WAAAA,CAAY6nc,GACVxqG,MAAMwqG,GACNvpc,KAAKorC,WAAQ5tC,EACbwC,KAAK2gJ,SAAMnjJ,EACXwC,KAAK+ye,iBAAcv1e,EACnBwC,KAAKgze,YAAc,CACrB,CACA7ue,KAAAA,CAAMmjH,EAAKvmH,GACT,MAAMhE,EAAQq3e,GAAgBl0e,UAAUiE,MAAM6B,MAAMhG,KAAM,CAACsnH,EAAKvmH,IAChE,GAAc,IAAVhE,EAIJ,OAAOkmb,GAAelmb,IAAUA,EAAQ,EAAIA,EAAQ,KAHlDiD,KAAKi1e,OAAQ,CAIjB,CACAhnB,mBAAAA,GACE,MAAM,IAAC1uc,EAAG,IAAEJ,GAAOnf,KAAKyxc,WAAU,GAClCzxc,KAAKuf,IAAM0ja,GAAe1ja,GAAOL,KAAKC,IAAI,EAAGI,GAAO,KACpDvf,KAAKmf,IAAM8ja,GAAe9ja,GAAOD,KAAKC,IAAI,EAAGA,GAAO,KAChDnf,KAAK6qB,QAAQyub,cACft5c,KAAKi1e,OAAQ,GAEfj1e,KAAKs0e,wBACP,CACAA,sBAAAA,GACE,MAAM,WAACtiC,EAAU,WAAEC,GAAcjyc,KAAKkyc,gBACtC,IAAI3yb,EAAMvf,KAAKuf,IACXJ,EAAMnf,KAAKmf,IACf,MAAM03M,EAAS5xN,GAAMsa,EAAMyyb,EAAazyb,EAAMta,EACxC6xN,EAAS7xN,GAAMka,EAAM8yb,EAAa9yb,EAAMla,EACxCiwe,EAAMA,CAACjwe,EAAG21B,IAAM1b,KAAKyrC,IAAI,GAAIzrC,KAAKmsC,MAAMi6X,GAAMrgb,IAAM21B,GACtDrb,IAAQJ,IACNI,GAAO,GACTs3M,EAAO,GACPC,EAAO,MAEPD,EAAOq+Q,EAAI31d,GAAM,IACjBu3M,EAAOo+Q,EAAI/1d,EAAK,MAGhBI,GAAO,GACTs3M,EAAOq+Q,EAAI/1d,GAAM,IAEfA,GAAO,GACT23M,EAAOo+Q,EAAI31d,EAAK,IAEdvf,KAAKi1e,OAASj1e,KAAKuf,MAAQvf,KAAKitd,eAAiB1tc,IAAQ21d,EAAIl1e,KAAKuf,IAAK,IACzEs3M,EAAOq+Q,EAAI31d,GAAM,IAEnBvf,KAAKuf,IAAMA,EACXvf,KAAKmf,IAAMA,CACb,CACAovc,UAAAA,GACE,MAAMlvL,EAAOr/R,KAAK6qB,QAKZ8qb,EAjFV,SAAuBw9B,EAAmBC,GACxC,MAAM+B,EAASj2d,KAAKmsC,MAAMi6X,GAAM8tD,EAAUj0d,MACpCi2d,EAAiBl2d,KAAKm9C,KAAK+2a,EAAUj0d,IAAMD,KAAKyrC,IAAI,GAAIwqb,IACxDx/B,EAAQ,GACd,IAAIo/B,EAAU7xD,GAAgBiwD,EAAkB5zd,IAAKL,KAAKyrC,IAAI,GAAIzrC,KAAKmsC,MAAMi6X,GAAM8tD,EAAU7zd,QACzF21d,EAAMh2d,KAAKmsC,MAAMi6X,GAAMyvD,IACvBM,EAAcn2d,KAAKmsC,MAAM0pb,EAAU71d,KAAKyrC,IAAI,GAAIuqb,IAChDx+Q,EAAYw+Q,EAAM,EAAIh2d,KAAKyrC,IAAI,GAAIzrC,KAAK+9C,IAAIi4a,IAAQ,EACxD,GACEv/B,EAAM32c,KAAK,CAACjC,MAAOg4e,EAASnrB,MAAOkrB,GAAQC,OACzCM,EACkB,KAAhBA,IACFA,EAAc,IACZH,EACFx+Q,EAAYw+Q,GAAO,EAAI,EAAIx+Q,GAE7Bq+Q,EAAU71d,KAAKmrB,MAAMgrc,EAAcn2d,KAAKyrC,IAAI,GAAIuqb,GAAOx+Q,GAAaA,QAC7Dw+Q,EAAMC,GAAWD,IAAQC,GAAUE,EAAcD,GAC1D,MAAME,EAAWpyD,GAAgBiwD,EAAkBh0d,IAAK41d,GAExD,OADAp/B,EAAM32c,KAAK,CAACjC,MAAOu4e,EAAU1rB,MAAOkrB,GAAQC,KACrCp/B,CACT,CA4DkB4/B,CAJY,CACxBh2d,IAAKvf,KAAK+sd,SACV5tc,IAAKnf,KAAK8sd,UAEmC9sd,MAY/C,MAXoB,UAAhBq/R,EAAKryD,QACP64M,GAAmB8vB,EAAO31c,KAAM,SAE9Bq/R,EAAKz8Q,SACP+yb,EAAM/yb,UACN5iB,KAAKorC,MAAQprC,KAAKmf,IAClBnf,KAAK2gJ,IAAM3gJ,KAAKuf,MAEhBvf,KAAKorC,MAAQprC,KAAKuf,IAClBvf,KAAK2gJ,IAAM3gJ,KAAKmf,KAEXw2b,CACT,CACArD,gBAAAA,CAAiBv1c,GACf,YAAiBS,IAAVT,EACH,IACA6sP,GAAa7sP,EAAOiD,KAAKwrE,MAAM3gD,QAAQkyR,OAAQ/8S,KAAK6qB,QAAQ8qb,MAAM9Q,OACxE,CACA6F,SAAAA,GACE,MAAMt/Z,EAAQprC,KAAKuf,IACnBw/U,MAAM2rG,YACN1qc,KAAK+ye,YAAcztD,GAAMl6Y,GACzBprC,KAAKgze,YAAc1tD,GAAMtlb,KAAKmf,KAAOmma,GAAMl6Y,EAC7C,CACAsqa,gBAAAA,CAAiB34c,GAIf,YAHcS,IAAVT,GAAiC,IAAVA,IACzBA,EAAQiD,KAAKuf,KAED,OAAVxiB,GAAkBU,MAAMV,GACnB0sD,IAEFzpD,KAAKw5c,mBAAmBz8c,IAAUiD,KAAKuf,IAC1C,GACC+la,GAAMvob,GAASiD,KAAK+ye,aAAe/ye,KAAKgze,YAC/C,CACAthB,gBAAAA,CAAiB9oX,GACf,MAAM+oX,EAAU3xd,KAAK4xd,mBAAmBhpX,GACxC,OAAO1pF,KAAKyrC,IAAI,GAAI3qD,KAAK+ye,YAAcphB,EAAU3xd,KAAKgze,YACxD,EAYF,SAASwC,GAAsBn2M,GAC7B,MAAM6pL,EAAW7pL,EAAKs2K,MACtB,GAAIuT,EAASpnT,SAAWu9H,EAAKv9H,QAAS,CACpC,MAAM56I,EAAU20a,GAAUqtB,EAASwC,iBACnC,OAAOvoC,GAAe+lC,EAAS1zB,MAAQ0zB,EAAS1zB,KAAK5kb,KAAM+nR,GAAS68J,KAAK5kb,MAAQsW,EAAQqxC,MAC3F,CACA,OAAO,CACT,CAQA,SAASk9a,GAAgBpvD,EAAO58V,EAAK74E,EAAM2O,EAAKJ,GAC9C,OAAIkna,IAAU9ma,GAAO8ma,IAAUlna,EACtB,CACLisB,MAAOq+C,EAAO74E,EAAO,EACrB+vI,IAAKl3D,EAAO74E,EAAO,GAEZy1a,EAAQ9ma,GAAO8ma,EAAQlna,EACzB,CACLisB,MAAOq+C,EAAM74E,EACb+vI,IAAKl3D,GAGF,CACLr+C,MAAOq+C,EACPk3D,IAAKl3D,EAAM74E,EAEf,CACA,SAAS8ke,GAAmBt1b,GAC1B,MAAMu2Z,EAAO,CACXx/N,EAAG/2L,EAAM5gD,KAAO4gD,EAAM4qb,SAASxre,KAC/BwP,EAAGoxC,EAAM3gD,MAAQ2gD,EAAM4qb,SAASvre,MAChCwxB,EAAGmvB,EAAMuc,IAAMvc,EAAM4qb,SAASrua,IAC9Bp+D,EAAG6hD,EAAM21D,OAAS31D,EAAM4qb,SAASj1X,QAE7B4/X,EAAS12e,OAAO0wB,OAAO,CAAC,EAAGgnb,GAC3BkZ,EAAa,GACb3oc,EAAU,GACV0ud,EAAax1b,EAAMy1b,aAAaz4e,OAChC04e,EAAiB11b,EAAMv1B,QAAQm0b,YAC/B+2B,EAAkBD,EAAeE,kBAAoB97Q,GAAK07Q,EAAa,EAC7E,IAAK,IAAIv1e,EAAI,EAAGA,EAAIu1e,EAAYv1e,IAAK,CACnC,MAAMg/R,EAAOy2M,EAAe33C,WAAW/9Y,EAAM61b,qBAAqB51e,IAClE6mB,EAAQ7mB,GAAKg/R,EAAKn4Q,QAClB,MAAMk4b,EAAgBh/Z,EAAM81b,iBAAiB71e,EAAG+/C,EAAM+1b,YAAcjvd,EAAQ7mB,GAAI01e,GAC1EK,EAASt6C,GAAOz8J,EAAKm2J,MACrBy1C,GA1CgBt1C,EA0CYv1Y,EAAMu1Y,IA1CbH,EA0CkB4gD,EAzC/Cxya,EAAQ9iE,GAD2B8iE,EA0CoBxjB,EAAMy1b,aAAax1e,IAzCjDujE,EAAQ,CAACA,GAC3B,CACLorO,EAAGuoJ,GAAa5B,EAAKH,EAAKh8Z,OAAQoqC,GAClC1Z,EAAG0Z,EAAMxmE,OAASo4b,EAAKvqR,aAuCvB4kT,EAAWxvd,GAAK4qe,EAChB,MAAMza,EAAe9pC,GAAgBtmY,EAAMq+Z,cAAcp+c,GAAK01e,GACxD1vD,EAAQnna,KAAKmrB,MAAMovL,GAAU+2P,IAGnC6lB,GAAaV,EAAQh/B,EAAM6Z,EAFXilB,GAAgBpvD,EAAO+4B,EAAcn9Y,EAAGgpa,EAASj8L,EAAG,EAAG,KACvDymM,GAAgBpvD,EAAO+4B,EAAcp9Y,EAAGipa,EAAS/gb,EAAG,GAAI,KAE1E,CAjDF,IAA0ByrY,EAAKH,EAAM5xX,EAkDnCxjB,EAAMk2b,eACJ3/B,EAAKx/N,EAAIw+P,EAAOx+P,EAChBw+P,EAAO3me,EAAI2nc,EAAK3nc,EAChB2nc,EAAK1lb,EAAI0kd,EAAO1kd,EAChB0kd,EAAOp3e,EAAIo4c,EAAKp4c,GAElB6hD,EAAMm2b,iBAsBR,SAA8Bn2b,EAAOyva,EAAY3oc,GAC/C,MAAMqB,EAAQ,GACRqtd,EAAax1b,EAAMy1b,aAAaz4e,OAChCiiS,EAAOj/O,EAAMv1B,QACb6O,EAAQ87c,GAAsBn2M,GAAQ,EACtCm3M,EAAgBp2b,EAAM+1b,YACtBJ,EAAkB12M,EAAK2/K,YAAYg3B,kBAAoB97Q,GAAK07Q,EAAa,EAC/E,IAAK,IAAIv1e,EAAI,EAAGA,EAAIu1e,EAAYv1e,IAAK,CACnC,MAAMo2e,EAAqBr2b,EAAM81b,iBAAiB71e,EAAGm2e,EAAgB98c,EAAQxS,EAAQ7mB,GAAI01e,GACnF1vD,EAAQnna,KAAKmrB,MAAMovL,GAAUitN,GAAgB+vD,EAAmBpwD,MAAQlB,MACxEv0a,EAAOi/c,EAAWxvd,GAClB2hE,EAAI00a,GAAUD,EAAmBz0a,EAAGpxD,EAAKs5C,EAAGm8X,GAC5C1mE,EAAYg3H,GAAqBtwD,GACjC7mb,EAAOo3e,GAAiBH,EAAmBx0a,EAAGrxD,EAAKo+R,EAAG2wE,GAC5Dp3V,EAAMvpB,KAAK,CACTijE,EAAGw0a,EAAmBx0a,EACtBD,IACA29S,YACAngX,OACAm9D,IAAKqF,EACLviE,MAAOD,EAAOoR,EAAKo+R,EACnBj5L,OAAQ/zC,EAAIpxD,EAAKs5C,GAErB,CACA,OAAO3hC,CACT,CA/C2Bsud,CAAqBz2b,EAAOyva,EAAY3oc,EACnE,CACA,SAASmvd,GAAaV,EAAQh/B,EAAMtwB,EAAOywD,EAASC,GAClD,MAAMz9Q,EAAMp6M,KAAK+9C,IAAI/9C,KAAKo6M,IAAI+sN,IACxBhtN,EAAMn6M,KAAK+9C,IAAI/9C,KAAKm6M,IAAIgtN,IAC9B,IAAIpkX,EAAI,EACJD,EAAI,EACJ80a,EAAQ1rc,MAAQura,EAAKx/N,GACvBl1K,GAAK00Y,EAAKx/N,EAAI2/P,EAAQ1rc,OAASkuL,EAC/Bq8Q,EAAOx+P,EAAIj4N,KAAKK,IAAIo2d,EAAOx+P,EAAGw/N,EAAKx/N,EAAIl1K,IAC9B60a,EAAQn2V,IAAMg2T,EAAK3nc,IAC5BizD,GAAK60a,EAAQn2V,IAAMg2T,EAAK3nc,GAAKsqN,EAC7Bq8Q,EAAO3me,EAAIkQ,KAAKC,IAAIw2d,EAAO3me,EAAG2nc,EAAK3nc,EAAIizD,IAErC80a,EAAQ3rc,MAAQura,EAAK1lb,GACvB+wC,GAAK20Y,EAAK1lb,EAAI8ld,EAAQ3rc,OAASiuL,EAC/Bs8Q,EAAO1kd,EAAI/R,KAAKK,IAAIo2d,EAAO1kd,EAAG0lb,EAAK1lb,EAAI+wC,IAC9B+0a,EAAQp2V,IAAMg2T,EAAKp4c,IAC5ByjE,GAAK+0a,EAAQp2V,IAAMg2T,EAAKp4c,GAAK86N,EAC7Bs8Q,EAAOp3e,EAAI2gB,KAAKC,IAAIw2d,EAAOp3e,EAAGo4c,EAAKp4c,EAAIyjE,GAE3C,CA2BA,SAAS20a,GAAqBtwD,GAC5B,OAAc,IAAVA,GAAyB,MAAVA,EACV,SACEA,EAAQ,IACV,OAEF,OACT,CACA,SAASuwD,GAAiB30a,EAAG+sO,EAAG8zI,GAM9B,MALc,UAAVA,EACF7gX,GAAK+sO,EACc,WAAV8zI,IACT7gX,GAAM+sO,EAAI,GAEL/sO,CACT,CACA,SAASy0a,GAAU10a,EAAG9X,EAAGm8X,GAMvB,OALc,KAAVA,GAA0B,MAAVA,EAClBrkX,GAAM9X,EAAI,GACDm8X,EAAQ,KAAOA,EAAQ,MAChCrkX,GAAK9X,GAEA8X,CACT,CA2BA,SAASg1a,GAAe52b,EAAO+3K,EAAQ4mP,EAAU2zB,GAC/C,MAAM,IAAC/8C,GAAOv1Y,EACd,GAAI2+Z,EACFppB,EAAImD,IAAI14Y,EAAMk+Z,QAASl+Z,EAAMm+Z,QAASpmP,EAAQ,EAAG2sN,QAC5C,CACL,IAAIs6B,EAAgBh/Z,EAAM81b,iBAAiB,EAAG/9Q,GAC9Cw9N,EAAIqD,OAAOomB,EAAcn9Y,EAAGm9Y,EAAcp9Y,GAC1C,IAAK,IAAI3hE,EAAI,EAAGA,EAAIqye,EAAYrye,IAC9B++c,EAAgBh/Z,EAAM81b,iBAAiB71e,EAAG83N,GAC1Cw9N,EAAIsD,OAAOmmB,EAAcn9Y,EAAGm9Y,EAAcp9Y,EAE9C,CACF,CAxLAgza,GAAiBric,GAAK,cACtBqic,GAAiBr8M,SAAW,CAC1Bg9K,MAAO,CACL/0c,SAAUood,GAAMX,WAAWU,YAC3Ba,MAAO,CACLnpP,SAAS,KA6Mf,MAAMw2Q,WAA0B7C,GAC9B1ye,WAAAA,CAAY6nc,GACVxqG,MAAMwqG,GACNvpc,KAAKs+c,aAAU9gd,EACfwC,KAAKu+c,aAAU/gd,EACfwC,KAAKm2e,iBAAc34e,EACnBwC,KAAK61e,aAAe,GACpB71e,KAAKu2e,iBAAmB,EAC1B,CACAzoB,aAAAA,GACE,MAAM5mc,EAAUlnB,KAAKgre,SAAWnvC,GAAU25C,GAAsBx1e,KAAK6qB,SAAW,GAC1EmkR,EAAIhvS,KAAK+Y,MAAQ/Y,KAAKuX,SAAW2P,EAAQnO,MACzCmxC,EAAIlqD,KAAKu4D,OAASv4D,KAAKm/D,UAAYj4C,EAAQqxC,OACjDv4D,KAAKs+c,QAAUp/b,KAAKmsC,MAAMrrD,KAAKR,KAAOwvS,EAAI,EAAI9nR,EAAQ1nB,MACtDQ,KAAKu+c,QAAUr/b,KAAKmsC,MAAMrrD,KAAK28D,IAAMzS,EAAI,EAAIhjC,EAAQy1C,KACrD38D,KAAKm2e,YAAcj3d,KAAKmsC,MAAMnsC,KAAKK,IAAIyvR,EAAG9kP,GAAK,EACjD,CACA+ja,mBAAAA,GACE,MAAM,IAAC1uc,EAAG,IAAEJ,GAAOnf,KAAKyxc,WAAU,GAClCzxc,KAAKuf,IAAM0ja,GAAe1ja,KAAS9hB,MAAM8hB,GAAOA,EAAM,EACtDvf,KAAKmf,IAAM8ja,GAAe9ja,KAAS1hB,MAAM0hB,GAAOA,EAAM,EACtDnf,KAAKs0e,wBACP,CACAM,gBAAAA,GACE,OAAO11d,KAAKm9C,KAAKr8D,KAAKm2e,YAAcX,GAAsBx1e,KAAK6qB,SACjE,CACA2kc,kBAAAA,CAAmB7Z,GACjBy+B,GAAgBl0e,UAAUsvd,mBAAmBzpd,KAAK/F,KAAM21c,GACxD31c,KAAK61e,aAAe71e,KAAKkxc,YACtBvnc,KAAI,CAAC5M,EAAOgE,KACX,MAAM6iE,EAAQhjE,GAASZ,KAAK6qB,QAAQm0b,YAAYp+c,SAAU,CAAC7D,EAAOgE,GAAQf,MAC1E,OAAO4jE,GAAmB,IAAVA,EAAcA,EAAQ,EAAE,IAEzCvhE,QAAO,CAAC4C,EAAG5E,IAAML,KAAKwrE,MAAMitY,kBAAkBp4c,IACnD,CACA0ud,GAAAA,GACE,MAAM1vL,EAAOr/R,KAAK6qB,QACdw0Q,EAAKv9H,SAAWu9H,EAAK2/K,YAAYl9S,QACnC4zU,GAAmB11e,MAEnBA,KAAKs2e,eAAe,EAAG,EAAG,EAAG,EAEjC,CACAA,cAAAA,CAAeY,EAAcC,EAAeC,EAAaC,GACvDr3e,KAAKs+c,SAAWp/b,KAAKmsC,OAAO6rb,EAAeC,GAAiB,GAC5Dn3e,KAAKu+c,SAAWr/b,KAAKmsC,OAAO+rb,EAAcC,GAAkB,GAC5Dr3e,KAAKm2e,aAAej3d,KAAKK,IAAIvf,KAAKm2e,YAAc,EAAGj3d,KAAKC,IAAI+3d,EAAcC,EAAeC,EAAaC,GACxG,CACA54B,aAAAA,CAAc19c,GAGZ,OAAO2lb,GAAgB3lb,GAFC+jb,IAAO9kb,KAAK61e,aAAaz4e,QAAU,IAEVw8N,GAD9B55N,KAAK6qB,QAAQ+vb,YAAc,GAEhD,CACAiE,6BAAAA,CAA8B9hd,GAC5B,GAAIimb,GAAcjmb,GAChB,OAAO0sD,IAET,MAAM6tb,EAAgBt3e,KAAKm2e,aAAen2e,KAAKmf,IAAMnf,KAAKuf,KAC1D,OAAIvf,KAAK6qB,QAAQjI,SACP5iB,KAAKmf,IAAMpiB,GAASu6e,GAEtBv6e,EAAQiD,KAAKuf,KAAO+3d,CAC9B,CACAC,6BAAAA,CAA8BxsJ,GAC5B,GAAIi4F,GAAcj4F,GAChB,OAAOthS,IAET,MAAM+tb,EAAiBzsJ,GAAY/qV,KAAKm2e,aAAen2e,KAAKmf,IAAMnf,KAAKuf,MACvE,OAAOvf,KAAK6qB,QAAQjI,QAAU5iB,KAAKmf,IAAMq4d,EAAiBx3e,KAAKuf,IAAMi4d,CACvE,CACAvB,oBAAAA,CAAqBl1e,GACnB,MAAMi+c,EAAch/c,KAAK61e,cAAgB,GACzC,GAAI90e,GAAS,GAAKA,EAAQi+c,EAAY5hd,OAAQ,CAC5C,MAAMq6e,EAAaz4B,EAAYj+c,GAC/B,OAjFN,SAAiCyV,EAAQzV,EAAO6iE,GAC9C,OAAOs6M,GAAc1nQ,EAAQ,CAC3BotD,QACA7iE,QACAuQ,KAAM,cAEV,CA2Eaome,CAAwB13e,KAAKwZ,aAAczY,EAAO02e,EAC3D,CACF,CACAvB,gBAAAA,CAAiBn1e,EAAO42e,GAAyC,IAArB5B,EAAezxe,UAAAlH,OAAA,QAAAI,IAAA8G,UAAA,GAAAA,UAAA,GAAG,EAC5D,MAAM+hb,EAAQrmb,KAAKy+c,cAAc19c,GAASokb,GAAU4wD,EACpD,MAAO,CACL9za,EAAG/iD,KAAKm6M,IAAIgtN,GAASsxD,EAAqB33e,KAAKs+c,QAC/Ct8Y,EAAG9iD,KAAKo6M,IAAI+sN,GAASsxD,EAAqB33e,KAAKu+c,QAC/Cl4B,QAEJ,CACAg5B,wBAAAA,CAAyBt+c,EAAOhE,GAC9B,OAAOiD,KAAKk2e,iBAAiBn1e,EAAOf,KAAK6+c,8BAA8B9hd,GACzE,CACA66e,eAAAA,CAAgB72e,GACd,OAAOf,KAAKq/c,yBAAyBt+c,GAAS,EAAGf,KAAK6xd,eACxD,CACAgmB,qBAAAA,CAAsB92e,GACpB,MAAM,KAACvB,EAAI,IAAEm9D,EAAG,MAAEl9D,EAAK,OAAEs2G,GAAU/1G,KAAKu2e,iBAAiBx1e,GACzD,MAAO,CACLvB,OACAm9D,MACAl9D,QACAs2G,SAEJ,CACAk+W,cAAAA,GACE,MAAM,gBAACl3P,EAAiBkZ,MAAM,SAAC8oO,IAAa/+c,KAAK6qB,QACjD,GAAIkyM,EAAiB,CACnB,MAAM44N,EAAM31b,KAAK21b,IACjBA,EAAI7oX,OACJ6oX,EAAIkD,YACJm+C,GAAeh3e,KAAMA,KAAK6+c,8BAA8B7+c,KAAKq0e,WAAYt1B,EAAU/+c,KAAK61e,aAAaz4e,QACrGu4b,EAAIoD,YACJpD,EAAIwE,UAAYp9N,EAChB44N,EAAIn3F,OACJm3F,EAAIiC,SACN,CACF,CACAu8B,QAAAA,GACE,MAAMx+B,EAAM31b,KAAK21b,IACXt2J,EAAOr/R,KAAK6qB,SACZ,WAACi0b,EAAU,KAAE7oO,GAAQopD,EACrBqzM,EAAa1ye,KAAK61e,aAAaz4e,OACrC,IAAIiD,EAAG86I,EAAQpvG,EAaf,GAZIszP,EAAK2/K,YAAYl9S,SAvLzB,SAAyB1hH,EAAOsyb,GAC9B,MAAM,IAAC/8C,EAAK9qa,SAAS,YAACm0b,IAAgB5+Z,EACtC,IAAK,IAAI//C,EAAIqye,EAAa,EAAGrye,GAAK,EAAGA,IAAK,CACxC,MAAM8yd,EAAcnU,EAAY7gB,WAAW/9Y,EAAM61b,qBAAqB51e,IAChE+1e,EAASt6C,GAAOq3B,EAAY39B,OAC5B,EAACvzX,EAAC,EAAED,EAAC,UAAE29S,EAAS,KAAEngX,EAAI,IAAEm9D,EAAG,MAAEl9D,EAAK,OAAEs2G,GAAU31D,EAAMm2b,iBAAiBl2e,IACrE,cAACord,GAAiB0H,EACxB,IAAKnwC,GAAcyoC,GAAgB,CACjC,MAAMvkc,EAAU20a,GAAUs3B,EAAYzH,iBACtC/1B,EAAIwE,UAAYsxB,EAChB91B,EAAIu+B,SAAS10d,EAAO0nB,EAAQ1nB,KAAMm9D,EAAMz1C,EAAQy1C,IAAKl9D,EAAQD,EAAO0nB,EAAQnO,MAAOg9F,EAASp5C,EAAMz1C,EAAQqxC,OAC5G,CACAyhY,GACErE,EACAv1Y,EAAMy1b,aAAax1e,GACnB4hE,EACAD,EAAKo0a,EAAOnrU,WAAa,EACzBmrU,EACA,CACEx5Q,MAAOu2P,EAAYv2P,MACnB+iJ,UAAWA,EACXy6E,aAAc,UAGpB,CACF,CA+JM09C,CAAgB93e,KAAM0ye,GAEpBz8P,EAAKn0E,SACP9hK,KAAK21c,MAAM52c,SAAQ,CAAC4pc,EAAM5nc,KACxB,GAAc,IAAVA,EAAa,CACfo6I,EAASn7I,KAAK6+c,8BAA8BlW,EAAK5rc,QAtJ3D,SAAwBqjD,EAAO23b,EAAc5/Q,EAAQu6Q,GACnD,MAAM/8C,EAAMv1Y,EAAMu1Y,IACZopB,EAAWg5B,EAAah5B,UACxB,MAACniP,EAAK,UAAE29N,GAAaw9C,GACrBh5B,IAAa2zB,IAAgB91Q,IAAU29N,GAAapiO,EAAS,IAGnEw9N,EAAI7oX,OACJ6oX,EAAI2E,YAAc19N,EAClB+4N,EAAI4E,UAAYA,EAChB5E,EAAI0+B,YAAY0jB,EAAavwC,YAC7B7R,EAAI2+B,eAAiByjB,EAAatwC,iBAClC9R,EAAIkD,YACJm+C,GAAe52b,EAAO+3K,EAAQ4mP,EAAU2zB,GACxC/8C,EAAIoD,YACJpD,EAAIr9E,SACJq9E,EAAIiC,UACN,CAuIUogD,CAAeh4e,KADKi2O,EAAKkoN,WAAWn+b,KAAKwZ,WAAWzY,EAAQ,IAC1Bo6I,EAAQu3V,EAC5C,KAGA5zB,EAAWh9S,QAAS,CAEtB,IADA6zR,EAAI7oX,OACCzsE,EAAIqye,EAAa,EAAGrye,GAAK,EAAGA,IAAK,CACpC,MAAM8yd,EAAcrU,EAAW3gB,WAAWn+b,KAAKi2e,qBAAqB51e,KAC9D,MAACu8N,EAAK,UAAE29N,GAAa44B,EACtB54B,GAAc39N,IAGnB+4N,EAAI4E,UAAYA,EAChB5E,EAAI2E,YAAc19N,EAClB+4N,EAAI0+B,YAAYlB,EAAY3rB,YAC5B7R,EAAI2+B,eAAiBnB,EAAY1rB,iBACjCtsT,EAASn7I,KAAK6+c,8BAA8Bx/K,EAAKs2K,MAAM/yb,QAAU5iB,KAAKuf,IAAMvf,KAAKmf,KACjF4sB,EAAW/rC,KAAKk2e,iBAAiB71e,EAAG86I,GACpCw6S,EAAIkD,YACJlD,EAAIqD,OAAOh5b,KAAKs+c,QAASt+c,KAAKu+c,SAC9B5oB,EAAIsD,OAAOltZ,EAASk2B,EAAGl2B,EAASi2B,GAChC2zX,EAAIr9E,SACN,CACAq9E,EAAIiC,SACN,CACF,CACA8yB,UAAAA,GAAc,CACd8J,UAAAA,GACE,MAAM7+B,EAAM31b,KAAK21b,IACXt2J,EAAOr/R,KAAK6qB,QACZq+b,EAAW7pL,EAAKs2K,MACtB,IAAKuT,EAASpnT,QACZ,OAEF,MAAM84S,EAAa56c,KAAKy+c,cAAc,GACtC,IAAItjU,EAAQpiI,EACZ48a,EAAI7oX,OACJ6oX,EAAIr/W,UAAUt2E,KAAKs+c,QAASt+c,KAAKu+c,SACjC5oB,EAAIjB,OAAOkmB,GACXjlB,EAAIh2E,UAAY,SAChBg2E,EAAIyE,aAAe,SACnBp6b,KAAK21c,MAAM52c,SAAQ,CAAC4pc,EAAM5nc,KACxB,GAAc,IAAVA,IAAgBs+R,EAAKz8Q,QACvB,OAEF,MAAMuwc,EAAcjK,EAAS/qB,WAAWn+b,KAAKwZ,WAAWzY,IAClDowd,EAAWr1B,GAAOq3B,EAAY39B,MAEpC,GADAr6S,EAASn7I,KAAK6+c,8BAA8B7+c,KAAK21c,MAAM50c,GAAOhE,OAC1Do2d,EAAY3H,kBAAmB,CACjC71B,EAAIH,KAAO27B,EAAS33b,OACpBzgB,EAAQ48a,EAAI2B,YAAYqR,EAAK/kY,OAAO7qD,MACpC48a,EAAIwE,UAAYg5B,EAAY1H,cAC5B,MAAMvkc,EAAU20a,GAAUs3B,EAAYzH,iBACtC/1B,EAAIu+B,UACDn7c,EAAQ,EAAImO,EAAQ1nB,MACpB27I,EAASg2U,EAASvgd,KAAO,EAAIsW,EAAQy1C,IACtC5jD,EAAQmO,EAAQnO,MAChBo4c,EAASvgd,KAAOsW,EAAQqxC,OAE5B,CACAyhY,GAAWrE,EAAKgT,EAAK/kY,MAAO,GAAIu3E,EAAQg2U,EAAU,CAChDv0P,MAAOu2P,EAAYv2P,OACnB,IAEJ+4N,EAAIiC,SACN,CACA68B,SAAAA,GAAa,EAEfwiB,GAAkBtkc,GAAK,eACvBskc,GAAkBt+M,SAAW,CAC3B72H,SAAS,EACTsU,SAAS,EACTrqI,SAAU,YACV+ya,WAAY,CACVh9S,SAAS,EACTy4R,UAAW,EACXiN,WAAY,GACZC,iBAAkB,GAEpBxxN,KAAM,CACJ8oO,UAAU,GAEZnE,WAAY,EACZjF,MAAO,CACL6V,mBAAmB,EACnB5qd,SAAUood,GAAMX,WAAWC,SAE7BtJ,YAAa,CACXyM,mBAAejud,EACfkud,gBAAiB,EACjB5pT,SAAS,EACT0zR,KAAM,CACJ5kb,KAAM,IAERhQ,SAASgjE,GACAA,EAET18C,QAAS,EACT8ud,mBAAmB,IAGvBiB,GAAkB7uB,cAAgB,CAChC,mBAAoB,cACpB,oBAAqB,QACrB,cAAe,SAEjB6uB,GAAkB/hD,YAAc,CAC9B4pB,WAAY,CACV5nB,UAAW,SAIf,MAAM+gD,GAAY,CAChBC,YAAa,CAACv9M,QAAQ,EAAM/pR,KAAM,EAAGune,MAAO,KAC5C/kE,OAAQ,CAACz4I,QAAQ,EAAM/pR,KAAM,IAAMune,MAAO,IAC1CC,OAAQ,CAACz9M,QAAQ,EAAM/pR,KAAM,IAAOune,MAAO,IAC3CE,KAAM,CAAC19M,QAAQ,EAAM/pR,KAAM,KAASune,MAAO,IAC3Crwa,IAAK,CAAC6yN,QAAQ,EAAM/pR,KAAM,MAAUune,MAAO,IAC3Ch5L,KAAM,CAACxkB,QAAQ,EAAO/pR,KAAM,OAAWune,MAAO,GAC9Ctwa,MAAO,CAAC8yN,QAAQ,EAAM/pR,KAAM,OAASune,MAAO,IAC5CG,QAAS,CAAC39M,QAAQ,EAAO/pR,KAAM,OAASune,MAAO,GAC/Cvwa,KAAM,CAAC+yN,QAAQ,EAAM/pR,KAAM,SAEvB2ne,GAASt5e,OAAOmB,KAAK63e,IAC3B,SAASO,GAAOl6e,EAAGC,GACjB,OAAOD,EAAIC,CACb,CACA,SAAS4F,GAAMi8C,EAAOkJ,GACpB,GAAI05X,GAAc15X,GAChB,OAAO,KAET,MAAMsxO,EAAUx6O,EAAMq4b,UAChB,OAAC97M,EAAM,MAAEtyP,EAAK,WAAEquc,GAAct4b,EAAMu4b,WAC1C,IAAI57e,EAAQusD,EASZ,MARsB,oBAAXqzO,IACT5/R,EAAQ4/R,EAAO5/R,IAEZkmb,GAAelmb,KAClBA,EAA0B,kBAAX4/R,EACX/B,EAAQz2R,MAAMpH,EAAO4/R,GACrB/B,EAAQz2R,MAAMpH,IAEN,OAAVA,EACK,MAELstC,IACFttC,EAAkB,SAAVstC,IAAqByzP,GAAS46M,KAA8B,IAAfA,EAEjD99M,EAAQ+kL,QAAQ5id,EAAOstC,GADvBuwP,EAAQ+kL,QAAQ5id,EAAO,UAAW27e,KAGhC37e,EACV,CACA,SAAS67e,GAA0BC,EAASt5d,EAAKJ,EAAK25d,GACpD,MAAMp1D,EAAO60D,GAAMn7e,OACnB,IAAK,IAAIiD,EAAIk4e,GAAMh3e,QAAQs3e,GAAUx4e,EAAIqjb,EAAO,IAAKrjb,EAAG,CACtD,MAAMwH,EAAWowe,GAAUM,GAAMl4e,IAC3B+oc,EAASvhc,EAASswe,MAAQtwe,EAASswe,MAAQzre,OAAO61C,iBACxD,GAAI16C,EAAS8yR,QAAUz7Q,KAAKm9C,MAAMl9C,EAAMI,IAAQ6pb,EAASvhc,EAAS+I,QAAUkoe,EAC1E,OAAOP,GAAMl4e,EAEjB,CACA,OAAOk4e,GAAM70D,EAAO,EACtB,CAiBA,SAASq1D,GAAQpjC,EAAOxgM,EAAM6jO,GAC5B,GAAKA,GAEE,GAAIA,EAAW57e,OAAQ,CAC5B,MAAM,GAACi/b,EAAE,GAAEzrI,GAAMsrI,GAAQ88C,EAAY7jO,GAErCwgM,EADkBqjC,EAAW38C,IAAOlnL,EAAO6jO,EAAW38C,GAAM28C,EAAWpoL,KACpD,CACrB,OALE+kJ,EAAMxgM,IAAQ,CAMlB,CAcA,SAAS8jO,GAAoB74b,EAAO1hD,EAAQw6e,GAC1C,MAAMvjC,EAAQ,GACRhsc,EAAM,CAAC,EACP+5a,EAAOhlb,EAAOtB,OACpB,IAAIiD,EAAGtD,EACP,IAAKsD,EAAI,EAAGA,EAAIqjb,IAAQrjb,EACtBtD,EAAQ2B,EAAO2B,GACfsJ,EAAI5M,GAASsD,EACbs1c,EAAM32c,KAAK,CACTjC,QACA6sd,OAAO,IAGX,OAAiB,IAATlmC,GAAew1D,EA1BzB,SAAuB94b,EAAOu1Z,EAAOhsc,EAAKuve,GACxC,MAAMt+M,EAAUx6O,EAAMq4b,SAChB1ya,GAAS60N,EAAQ+kL,QAAQhK,EAAM,GAAG54c,MAAOm8e,GACzCr3d,EAAO8zb,EAAMA,EAAMv4c,OAAS,GAAGL,MACrC,IAAI6sd,EAAO7od,EACX,IAAK6od,EAAQ7jZ,EAAO6jZ,GAAS/nc,EAAM+nc,GAAShvL,EAAQ7pR,IAAI64c,EAAO,EAAGsvB,GAChEn4e,EAAQ4I,EAAIigd,GACR7od,GAAS,IACX40c,EAAM50c,GAAO6od,OAAQ,GAGzB,OAAOjU,CACT,CAc8CwjC,CAAc/4b,EAAOu1Z,EAAOhsc,EAAKuve,GAAzCvjC,CACtC,CACA,MAAMyjC,WAAkB9sB,GACtB5qd,WAAAA,CAAYgM,GACVqxV,MAAMrxV,GACN1N,KAAKm1c,OAAS,CACZjyc,KAAM,GACN+tc,OAAQ,GACRv+X,IAAK,IAEP1yE,KAAKq5e,MAAQ,MACbr5e,KAAKs5e,gBAAa97e,EAClBwC,KAAKu5e,SAAW,CAAC,EACjBv5e,KAAKw5e,aAAc,EACnBx5e,KAAK24e,gBAAan7e,CACpB,CACAq/B,IAAAA,CAAKsgc,EAAW99L,GACd,MAAMlqB,EAAOgoN,EAAUhoN,OAASgoN,EAAUhoN,KAAO,CAAC,GAC5CylB,EAAU56R,KAAKy4e,SAAW,IAAI14B,GAASC,MAAMmd,EAAUpd,SAASh5Y,MACtEu9W,GAAQnvK,EAAKskO,eAAgB7+M,EAAQ6kL,WACrCz/c,KAAK24e,WAAa,CAChBh8M,OAAQxnB,EAAKwnB,OACbtyP,MAAO8qO,EAAK9qO,MACZquc,WAAYvjO,EAAKujO,YAEnB35I,MAAMliU,KAAKsgc,GACXn9d,KAAKw5e,YAAcn6M,EAAKq6M,UAC1B,CACAv1e,KAAAA,CAAMmjH,EAAKvmH,GACT,YAAYvD,IAAR8pH,EACK,KAEFnjH,GAAMnE,KAAMsnH,EACrB,CACAw9V,YAAAA,GACE/lH,MAAM+lH,eACN9kd,KAAKm1c,OAAS,CACZjyc,KAAM,GACN+tc,OAAQ,GACRv+X,IAAK,GAET,CACAu7Y,mBAAAA,GACE,MAAMpjc,EAAU7qB,KAAK6qB,QACf+vQ,EAAU56R,KAAKy4e,SACf/4B,EAAO70b,EAAQsqP,KAAKuqM,MAAQ,MAClC,IAAI,IAACngc,EAAG,IAAEJ,EAAG,WAAE6yb,EAAU,WAAEC,GAAcjyc,KAAKkyc,gBAC9C,SAASynC,EAAa3sQ,GACfglO,GAAev0c,MAAMuvO,EAAOztN,OAC/BA,EAAML,KAAKK,IAAIA,EAAKytN,EAAOztN,MAExB0yb,GAAex0c,MAAMuvO,EAAO7tN,OAC/BA,EAAMD,KAAKC,IAAIA,EAAK6tN,EAAO7tN,KAE/B,CACK6yb,GAAeC,IAClB0nC,EAAa35e,KAAK45e,mBACK,UAAnB/ud,EAAQmiN,QAA+C,WAAzBniN,EAAQ8qb,MAAM7zc,QAC9C63e,EAAa35e,KAAKyxc,WAAU,KAGhClyb,EAAM0ja,GAAe1ja,KAAS9hB,MAAM8hB,GAAOA,GAAOq7Q,EAAQ+kL,QAAQp4c,KAAKq1F,MAAO8iX,GAC9Evgc,EAAM8ja,GAAe9ja,KAAS1hB,MAAM0hB,GAAOA,GAAOy7Q,EAAQilL,MAAMt4c,KAAKq1F,MAAO8iX,GAAQ,EACpF1/c,KAAKuf,IAAML,KAAKK,IAAIA,EAAKJ,EAAM,GAC/Bnf,KAAKmf,IAAMD,KAAKC,IAAII,EAAM,EAAGJ,EAC/B,CACAy6d,eAAAA,GACE,MAAM93d,EAAM9hB,KAAK65e,qBACjB,IAAIt6d,EAAM7S,OAAOu4a,kBACb9la,EAAMzS,OAAOmlc,kBAKjB,OAJI/vb,EAAI1kB,SACNmiB,EAAMuC,EAAI,GACV3C,EAAM2C,EAAIA,EAAI1kB,OAAS,IAElB,CAACmiB,MAAKJ,MACf,CACAovc,UAAAA,GACE,MAAM1jc,EAAU7qB,KAAK6qB,QACfivd,EAAWjvd,EAAQsqP,KACnB+zM,EAAWr+b,EAAQ8qb,MACnBqjC,EAAiC,WAApB9vB,EAASpnd,OAAsB9B,KAAK65e,qBAAuB75e,KAAK+5e,YAC5D,UAAnBlvd,EAAQmiN,QAAsBgsQ,EAAW57e,SAC3C4C,KAAKuf,IAAMvf,KAAK+sd,UAAYisB,EAAW,GACvCh5e,KAAKmf,IAAMnf,KAAK8sd,UAAYksB,EAAWA,EAAW57e,OAAS,IAE7D,MAAMmiB,EAAMvf,KAAKuf,IAEXo2b,EDxnRV,SAAwBj3c,EAAQ6gB,EAAKJ,GACnC,IAAIisB,EAAQ,EACRu1G,EAAMjiJ,EAAOtB,OACjB,KAAOguC,EAAQu1G,GAAOjiJ,EAAO0sC,GAAS7rB,GACpC6rB,IAEF,KAAOu1G,EAAMv1G,GAAS1sC,EAAOiiJ,EAAM,GAAKxhI,GACtCwhI,IAEF,OAAOv1G,EAAQ,GAAKu1G,EAAMjiJ,EAAOtB,OAC7BsB,EAAOgI,MAAM0kC,EAAOu1G,GACpBjiJ,CACN,CC4mRkBs7e,CAAehB,EAAYz5d,EAD7Bvf,KAAKmf,KAWjB,OATAnf,KAAKq5e,MAAQS,EAASp6B,OAASwJ,EAASD,SACpC2vB,GAA0BkB,EAASjB,QAAS74e,KAAKuf,IAAKvf,KAAKmf,IAAKnf,KAAKi6e,kBAAkB16d,IA5I/F,SAAoC6gC,EAAOsva,EAAUmpB,EAASt5d,EAAKJ,GACjE,IAAK,IAAI9e,EAAIk4e,GAAMn7e,OAAS,EAAGiD,GAAKk4e,GAAMh3e,QAAQs3e,GAAUx4e,IAAK,CAC/D,MAAMq/c,EAAO64B,GAAMl4e,GACnB,GAAI43e,GAAUv4B,GAAM/kL,QAAUv6O,EAAMq4b,SAAS/+T,KAAKv6J,EAAKI,EAAKmgc,IAASgQ,EAAW,EAC9E,OAAOhQ,CAEX,CACA,OAAO64B,GAAMM,EAAUN,GAAMh3e,QAAQs3e,GAAW,EAClD,CAqIQqB,CAA2Bl6e,KAAM21c,EAAMv4c,OAAQ08e,EAASjB,QAAS74e,KAAKuf,IAAKvf,KAAKmf,MACpFnf,KAAKs5e,WAAcpwB,EAASU,MAAMnpP,SAA0B,SAAfzgO,KAAKq5e,MArItD,SAA4B35B,GAC1B,IAAK,IAAIr/c,EAAIk4e,GAAMh3e,QAAQm+c,GAAQ,EAAGh8B,EAAO60D,GAAMn7e,OAAQiD,EAAIqjb,IAAQrjb,EACrE,GAAI43e,GAAUM,GAAMl4e,IAAIs6R,OACtB,OAAO49M,GAAMl4e,EAGnB,CAgIQ85e,CAAmBn6e,KAAKq5e,YADyC77e,EAErEwC,KAAKo6e,YAAYpB,GACbnud,EAAQjI,SACV+yb,EAAM/yb,UAEDq2d,GAAoBj5e,KAAM21c,EAAO31c,KAAKs5e,WAC/C,CACAc,WAAAA,CAAYpB,GACV,IAEIjza,EAAOlkD,EAFPupB,EAAQ,EACRu1G,EAAM,EAEN3gJ,KAAK6qB,QAAQswH,QAAU69V,EAAW57e,SACpC2oE,EAAQ/lE,KAAKq6e,mBAAmBrB,EAAW,IAEzC5tc,EADwB,IAAtB4tc,EAAW57e,OACL,EAAI2oE,GAEH/lE,KAAKq6e,mBAAmBrB,EAAW,IAAMjza,GAAS,EAE7DlkD,EAAO7hB,KAAKq6e,mBAAmBrB,EAAWA,EAAW57e,OAAS,IAE5DujJ,EADwB,IAAtBq4V,EAAW57e,OACPykB,GAECA,EAAO7hB,KAAKq6e,mBAAmBrB,EAAWA,EAAW57e,OAAS,KAAO,GAGhF,MAAMouO,EAAQwtQ,EAAW57e,OAAS,EAAI,GAAM,IAC5CguC,EAAQ67Y,GAAY77Y,EAAO,EAAGogM,GAC9B7qF,EAAMsmS,GAAYtmS,EAAK,EAAG6qF,GAC1BxrO,KAAKu5e,SAAW,CAACnuc,QAAOu1G,MAAKyoT,OAAQ,GAAKh+Z,EAAQ,EAAIu1G,GACxD,CACAo5V,SAAAA,GACE,MAAMn/M,EAAU56R,KAAKy4e,SACfl5d,EAAMvf,KAAKuf,IACXJ,EAAMnf,KAAKmf,IACX0L,EAAU7qB,KAAK6qB,QACfivd,EAAWjvd,EAAQsqP,KACnBm2M,EAAQwuB,EAASp6B,MAAQk5B,GAA0BkB,EAASjB,QAASt5d,EAAKJ,EAAKnf,KAAKi6e,kBAAkB16d,IACtGo1d,EAAWxxD,GAAe22D,EAASnF,SAAU,GAC7C/0B,EAAoB,SAAV0L,GAAmBwuB,EAASpB,WACtC4B,EAAax8M,GAAS8hL,KAAwB,IAAZA,EAClCjK,EAAQ,CAAC,EACf,IACIxgM,EAAM10Q,EADNslE,EAAQxmD,EAMZ,GAJI+6d,IACFv0a,GAAS60N,EAAQ+kL,QAAQ55Y,EAAO,UAAW65Y,IAE7C75Y,GAAS60N,EAAQ+kL,QAAQ55Y,EAAOu0a,EAAa,MAAQhvB,GACjD1wL,EAAQlhH,KAAKv6J,EAAKI,EAAK+rc,GAAS,IAASqpB,EAC3C,MAAM,IAAI1qe,MAAMsV,EAAM,QAAUJ,EAAM,uCAAyCw1d,EAAW,IAAMrpB,GAElG,MAAM0tB,EAAsC,SAAzBnud,EAAQ8qb,MAAM7zc,QAAqB9B,KAAKu6e,oBAC3D,IAAKplO,EAAOpvM,EAAOtlE,EAAQ,EAAG00Q,EAAOh2P,EAAKg2P,GAAQylB,EAAQ7pR,IAAIokQ,EAAMw/N,EAAUrpB,GAAQ7qd,IACpFs4e,GAAQpjC,EAAOxgM,EAAM6jO,GAKvB,OAHI7jO,IAASh2P,GAA0B,UAAnB0L,EAAQmiN,QAAgC,IAAVvsO,GAChDs4e,GAAQpjC,EAAOxgM,EAAM6jO,GAEhB/5e,OAAOmB,KAAKu1c,GAAOpgc,MAAK,CAACjX,EAAGC,IAAMD,EAAIC,IAAGoL,KAAIs4D,IAAMA,GAC5D,CACAqwY,gBAAAA,CAAiBv1c,GACf,MAAM69R,EAAU56R,KAAKy4e,SACfqB,EAAW95e,KAAK6qB,QAAQsqP,KAC9B,OAAI2kO,EAASU,cACJ5/M,EAAQiqK,OAAO9nc,EAAO+8e,EAASU,eAEjC5/M,EAAQiqK,OAAO9nc,EAAO+8e,EAASL,eAAez6L,SACvD,CACAy7L,mBAAAA,CAAoBtlO,EAAMp0Q,EAAO40c,EAAO9Q,GACtC,MAAMh6a,EAAU7qB,KAAK6qB,QACf40b,EAAU50b,EAAQsqP,KAAKskO,eACvB/5B,EAAO1/c,KAAKq5e,MACZH,EAAYl5e,KAAKs5e,WACjBoB,EAAch7B,GAAQD,EAAQC,GAC9Bi7B,EAAczB,GAAaz5B,EAAQy5B,GACnCvwC,EAAOgN,EAAM50c,GACb6od,EAAQsvB,GAAayB,GAAehyC,GAAQA,EAAKihB,MACjDhmZ,EAAQ5jE,KAAKy4e,SAAS5zC,OAAO1vL,EAAM0vL,IAAW+kB,EAAQ+wB,EAAcD,IACpEjhZ,EAAY5uE,EAAQ8qb,MAAM/0c,SAChC,OAAO64F,EAAY74F,GAAS64F,EAAW,CAAC71B,EAAO7iE,EAAO40c,GAAQ31c,MAAQ4jE,CACxE,CACA4rZ,kBAAAA,CAAmB7Z,GACjB,IAAIt1c,EAAGqjb,EAAMilB,EACb,IAAKtoc,EAAI,EAAGqjb,EAAOiyB,EAAMv4c,OAAQiD,EAAIqjb,IAAQrjb,EAC3Csoc,EAAOgN,EAAMt1c,GACbsoc,EAAK/kY,MAAQ5jE,KAAKy6e,oBAAoB9xC,EAAK5rc,MAAOsD,EAAGs1c,EAEzD,CACA0kC,kBAAAA,CAAmBt9e,GACjB,OAAiB,OAAVA,EAAiB0sD,KAAO1sD,EAAQiD,KAAKuf,MAAQvf,KAAKmf,IAAMnf,KAAKuf,IACtE,CACAm2b,gBAAAA,CAAiB34c,GACf,MAAMinV,EAAUhkV,KAAKu5e,SACf9vZ,EAAMzpF,KAAKq6e,mBAAmBt9e,GACpC,OAAOiD,KAAKw5c,oBAAoBx1H,EAAQ54S,MAAQq+C,GAAOu6P,EAAQolH,OACjE,CACAsoB,gBAAAA,CAAiB9oX,GACf,MAAMo7O,EAAUhkV,KAAKu5e,SACf9vZ,EAAMzpF,KAAK4xd,mBAAmBhpX,GAASo7O,EAAQolH,OAASplH,EAAQrjM,IACtE,OAAO3gJ,KAAKuf,IAAMkqE,GAAOzpF,KAAKmf,IAAMnf,KAAKuf,IAC3C,CACAq7d,aAAAA,CAAch3a,GACZ,MAAMi3a,EAAY76e,KAAK6qB,QAAQ8qb,MACzBmlC,EAAiB96e,KAAK21b,IAAI2B,YAAY1zX,GAAO7qD,MAC7Csta,EAAQzsN,GAAU55N,KAAKqhN,eAAiBw5R,EAAU7vB,YAAc6vB,EAAU9vB,aAC1EgwB,EAAc77d,KAAKm6M,IAAIgtN,GACvB20D,EAAc97d,KAAKo6M,IAAI+sN,GACvB40D,EAAej7e,KAAKwxd,wBAAwB,GAAG5gd,KACrD,MAAO,CACLo+R,EAAI8rM,EAAiBC,EAAgBE,EAAeD,EACpD9wb,EAAI4wb,EAAiBE,EAAgBC,EAAeF,EAExD,CACAd,iBAAAA,CAAkBiB,GAChB,MAAMpB,EAAW95e,KAAK6qB,QAAQsqP,KACxBskO,EAAiBK,EAASL,eAC1B50C,EAAS40C,EAAeK,EAASp6B,OAAS+5B,EAAevB,YACzDiD,EAAen7e,KAAKy6e,oBAAoBS,EAAa,EAAGjC,GAAoBj5e,KAAM,CAACk7e,GAAcl7e,KAAKs5e,YAAaz0C,GACnHj0b,EAAO5Q,KAAK46e,cAAcO,GAC1BrC,EAAW55d,KAAKmsC,MAAMrrD,KAAKqhN,eAAiBrhN,KAAK+Y,MAAQnI,EAAKo+R,EAAIhvS,KAAKu4D,OAAS3nD,EAAKs5C,GAAK,EAChG,OAAO4ub,EAAW,EAAIA,EAAW,CACnC,CACAyB,iBAAAA,GACE,IACIl6e,EAAGqjb,EADHs1D,EAAah5e,KAAKm1c,OAAOjyc,MAAQ,GAErC,GAAI81e,EAAW57e,OACb,OAAO47e,EAET,MAAMzrB,EAAQvtd,KAAKssc,0BACnB,GAAItsc,KAAKw5e,aAAejsB,EAAMnwd,OAC5B,OAAQ4C,KAAKm1c,OAAOjyc,KAAOqqd,EAAM,GAAGpkP,WAAWgpO,mBAAmBnyc,MAEpE,IAAKK,EAAI,EAAGqjb,EAAO6pC,EAAMnwd,OAAQiD,EAAIqjb,IAAQrjb,EAC3C24e,EAAaA,EAAWhue,OAAOuid,EAAMltd,GAAG8oO,WAAWgpO,mBAAmBnyc,OAExE,OAAQA,KAAKm1c,OAAOjyc,KAAOlD,KAAK4lc,UAAUozC,EAC5C,CACAa,kBAAAA,GACE,MAAMb,EAAah5e,KAAKm1c,OAAOlE,QAAU,GACzC,IAAI5wc,EAAGqjb,EACP,GAAIs1D,EAAW57e,OACb,OAAO47e,EAET,MAAM/nC,EAASjxc,KAAKkxc,YACpB,IAAK7wc,EAAI,EAAGqjb,EAAOutB,EAAO7zc,OAAQiD,EAAIqjb,IAAQrjb,EAC5C24e,EAAWh6e,KAAKmF,GAAMnE,KAAMixc,EAAO5wc,KAErC,OAAQL,KAAKm1c,OAAOlE,OAASjxc,KAAKw5e,YAAcR,EAAah5e,KAAK4lc,UAAUozC,EAC9E,CACApzC,SAAAA,CAAUlnc,GACR,OAAOi+b,GAAaj+b,EAAO6W,KAAKije,IAClC,EAsBF,SAASvS,GAAYp0H,EAAO/rW,EAAK8c,GAC/B,IAEIw4d,EAAYC,EAAY9mY,EAAY+mY,EAFpCj/C,EAAK,EACLzrI,EAAKihD,EAAMz0W,OAAS,EAEpBwlB,GACE9c,GAAO+rW,EAAMwqF,GAAI5yW,KAAO3jF,GAAO+rW,EAAMjhD,GAAInnO,OACzC4yW,KAAIzrI,MAAM0rI,GAAazqF,EAAO,MAAO/rW,MAEvC2jF,IAAK2xZ,EAAYjmO,KAAM5gK,GAAcs9P,EAAMwqF,MAC3C5yW,IAAK4xZ,EAAYlmO,KAAMmmO,GAAczpI,EAAMjhD,MAEzC9qT,GAAO+rW,EAAMwqF,GAAIlnL,MAAQrvQ,GAAO+rW,EAAMjhD,GAAIz7C,QAC1CknL,KAAIzrI,MAAM0rI,GAAazqF,EAAO,OAAQ/rW,MAExCqvQ,KAAMimO,EAAY3xZ,IAAK8qB,GAAcs9P,EAAMwqF,MAC3ClnL,KAAMkmO,EAAY5xZ,IAAK6xZ,GAAczpI,EAAMjhD,KAE/C,MAAMziP,EAAOkta,EAAaD,EAC1B,OAAOjta,EAAOomC,GAAc+mY,EAAa/mY,IAAezuG,EAAMs1e,GAAcjta,EAAOomC,CACrF,CAvCA6kY,GAAUzmc,GAAK,OACfymc,GAAUzgN,SAAW,CACnB3rD,OAAQ,OACR+yO,SAAU,CAAC,EACX5qM,KAAM,CACJwnB,QAAQ,EACR+iL,MAAM,EACNr1a,OAAO,EACPquc,YAAY,EACZG,QAAS,cACTY,eAAgB,CAAC,GAEnB9jC,MAAO,CACL7zc,OAAQ,OACR8nd,MAAO,CACLnpP,SAAS,KAyBf,MAAM86Q,WAAwBnC,GAC5B13e,WAAAA,CAAYgM,GACVqxV,MAAMrxV,GACN1N,KAAKw7e,OAAS,GACdx7e,KAAKy7e,aAAUj+e,EACfwC,KAAK07e,iBAAcl+e,CACrB,CACA48e,WAAAA,GACE,MAAMpB,EAAah5e,KAAK27e,yBAClB9pI,EAAQ7xW,KAAKw7e,OAASx7e,KAAK47e,iBAAiB5C,GAClDh5e,KAAKy7e,QAAUxV,GAAYp0H,EAAO7xW,KAAKuf,KACvCvf,KAAK07e,YAAczV,GAAYp0H,EAAO7xW,KAAKmf,KAAOnf,KAAKy7e,QACvD18I,MAAMq7I,YAAYpB,EACpB,CACA4C,gBAAAA,CAAiB5C,GACf,MAAM,IAACz5d,EAAG,IAAEJ,GAAOnf,KACbuoB,EAAQ,GACRspV,EAAQ,GACd,IAAIxxW,EAAGqjb,EAAMn/Q,EAAMgxS,EAAM16a,EACzB,IAAKx6B,EAAI,EAAGqjb,EAAOs1D,EAAW57e,OAAQiD,EAAIqjb,IAAQrjb,EAChDk1c,EAAOyjC,EAAW34e,GACdk1c,GAAQh2b,GAAOg2b,GAAQp2b,GACzBoJ,EAAMvpB,KAAKu2c,GAGf,GAAIhtb,EAAMnrB,OAAS,EACjB,MAAO,CACL,CAAC+3Q,KAAM51P,EAAKkqE,IAAK,GACjB,CAAC0rL,KAAMh2P,EAAKsqE,IAAK,IAGrB,IAAKppF,EAAI,EAAGqjb,EAAOn7Z,EAAMnrB,OAAQiD,EAAIqjb,IAAQrjb,EAC3Cw6B,EAAOtS,EAAMloB,EAAI,GACjBkkK,EAAOh8I,EAAMloB,EAAI,GACjBk1c,EAAOhtb,EAAMloB,GACT6e,KAAKmrB,OAAOxP,EAAO0pI,GAAQ,KAAOgxS,GACpC1jG,EAAM7yW,KAAK,CAACm2Q,KAAMogM,EAAM9rX,IAAKppF,GAAKqjb,EAAO,KAG7C,OAAO7xE,CACT,CACA8pI,sBAAAA,GACE,IAAI3C,EAAah5e,KAAKm1c,OAAOziY,KAAO,GACpC,GAAIsma,EAAW57e,OACb,OAAO47e,EAET,MAAM91e,EAAOlD,KAAKu6e,oBACZ32a,EAAQ5jE,KAAK65e,qBAOnB,OALEb,EADE91e,EAAK9F,QAAUwmE,EAAMxmE,OACV4C,KAAK4lc,UAAU1ic,EAAK8H,OAAO44D,IAE3B1gE,EAAK9F,OAAS8F,EAAO0gE,EAEpCo1a,EAAah5e,KAAKm1c,OAAOziY,IAAMsma,EACxBA,CACT,CACAqB,kBAAAA,CAAmBt9e,GACjB,OAAQkpe,GAAYjme,KAAKw7e,OAAQz+e,GAASiD,KAAKy7e,SAAWz7e,KAAK07e,WACjE,CACAhqB,gBAAAA,CAAiB9oX,GACf,MAAMo7O,EAAUhkV,KAAKu5e,SACf5nB,EAAU3xd,KAAK4xd,mBAAmBhpX,GAASo7O,EAAQolH,OAASplH,EAAQrjM,IAC1E,OAAOslV,GAAYjme,KAAKw7e,OAAQ7pB,EAAU3xd,KAAK07e,YAAc17e,KAAKy7e,SAAS,EAC7E,EAEFF,GAAgB5oc,GAAK,aACrB4oc,GAAgB5iN,SAAWygN,GAAUzgN,SAYrC,MC/2UMkjN,GAAsB,iBAEZC,GAAgBlya,EAAsB7sE,GACjC,oBAAR6sE,EACTA,EAAI7sE,GACK6sE,IACTA,EAAIk0M,QAAU/gR,EAElB,UAUgBg/e,GAKdC,EACAC,GAEAD,EAAY/qC,OAASgrC,CACvB,UAEgBC,GAKdF,EACAG,OACAC,EAAe,UAAH,6CAAGP,GAEf,MAAMQ,EAA8C,GAEpDL,EAAY1mD,SAAW6mD,EAAaxye,KAAI2ye,IAEtC,MAAMC,EAAiBP,EAAY1mD,SAASlla,MAC1Cq+a,GAAWA,EAAQ2tC,KAAkBE,EAAYF,KAInD,OACGG,GACAD,EAAYp5e,OACbm5e,EAAcx5d,SAAS05d,IAKzBF,EAAcr9e,KAAKu9e,GAEnBt9e,OAAO0wB,OAAO4sd,EAAgBD,GAEvBC,GAPE,IAAKD,EAOO,GAEzB,UAEgBE,GAIdt5e,OAAuCk5e,EAAe,UAAH,6CAAGP,GACtD,MAAMY,EAA4C,CAChDxrC,OAAQ,GACR3b,SAAU,IAMZ,OAHAymD,GAAUU,EAAUv5e,EAAK+tc,QACzBirC,GAAYO,EAAUv5e,EAAKoyb,SAAU8mD,GAE9BK,CACT,UC5ESC,GAKP1nZ,EAYAprB,OAZA,OACErR,EAAS,IAAG,MACZx/C,EAAQ,IAAG,OACX6tM,GAAS,EAAK,aACdw1R,EAAY,KACZ9qe,EAAI,KACJpO,EAAI,QACJ2nB,EAAO,QACPura,EAAU,GAAE,gBACZumD,KACGjve,GAVLsnF,EAgBA,MAAM4nZ,GAAYz9N,EAAAA,EAAAA,QAA0B,MACtC09N,GAAW19N,EAAAA,EAAAA,UAEX29N,EAAc,KACbF,EAAU9+N,UAEf++N,EAAS/+N,QAAU,IAAIi/N,GAAQH,EAAU9+N,QAAS,CAChDxsQ,OACApO,KAAMs5e,GAAUt5e,EAAMk5e,GACtBvxd,UACAura,YAGF0lD,GAAalya,EAAKiza,EAAS/+N,SAAQ,EAG/Bk/N,EAAe,KACnBlB,GAAalya,EAAK,MAEdiza,EAAS/+N,UACX++N,EAAS/+N,QAAQ3wQ,UACjB0ve,EAAS/+N,QAAU,OAuCvB,OAnCAgD,EAAAA,EAAAA,YAAU,SDjCVt1M,EAAoCyxa,GCkC7Br2R,GAAUi2R,EAAS/+N,SAAWjzP,IDlCrC2gD,ECmCeqxa,EAAS/+N,QDnCYm/N,ECmCHpyd,EDlCjC2gD,EAAM3gD,QAAU,IAAKoyd,MCoClB,CAACr2R,EAAQ/7L,KAEZi2P,EAAAA,EAAAA,YAAU,MACHl6D,GAAUi2R,EAAS/+N,SACtBi+N,GAAUc,EAAS/+N,QAAQr3L,OAAOvjF,KAAMA,EAAK+tc,UAE9C,CAACrqP,EAAQ1jN,EAAK+tc,UAEjBnwL,EAAAA,EAAAA,YAAU,MACHl6D,GAAUi2R,EAAS/+N,SAAW56Q,EAAKoyb,UACtC4mD,GAAYW,EAAS/+N,QAAQr3L,OAAOvjF,KAAMA,EAAKoyb,SAAU8mD,KAE1D,CAACx1R,EAAQ1jN,EAAKoyb,YAEjBx0K,EAAAA,EAAAA,YAAU,KACH+7N,EAAS/+N,UAEVl3D,GACFo2R,IACAx2e,WAAWs2e,IAEXD,EAAS/+N,QAAQj3K,YAElB,CAAC+/G,EAAQ/7L,EAAS3nB,EAAK+tc,OAAQ/tc,EAAKoyb,YAEvCx0K,EAAAA,EAAAA,YAAU,KACRg8N,IAEO,IAAME,MACZ,IAEH,gBACG9kD,SAAAA,OAAAA,OAAAA,CAAOtuX,IAAKgza,EAAWr5a,KAAK,MAAMhL,OAAQA,EAAQx/C,MAAOA,GAAWrL,GAClEive,EAGP,CAEY,MAACjhB,IAAQp9M,EAAAA,EAAAA,YAAWo+N,aChFvBQ,GACP5re,EACA6re,GAIA,OAFAJ,GAAQtpe,SAAS0pe,IAEV7+N,EAAAA,EAAAA,aAAU,CACd5wQ,EAAOk8D,IAAG,gBAAM8xZ,GAAK,iBAAKhud,EAAK,CAAEk8D,IAAKA,EAAKt4D,KAAMA,MAEtD,CAEY,MAEC8re,GAAsBF,GAAiB,MAAOlmC,ICzB3D,IAAI9sH,GAAoB,WACtB,GAAsB,qBAAX3jV,OAAwB,CACjC,GAAIA,OAAO2jV,iBACT,OAAO3jV,OAAO2jV,iBAMhB,IAAImzJ,EAAS92e,OAAO82e,OACpB,GAAIA,EACF,OAAQA,EAAOC,YAAc,IAAMD,EAAOE,aAAe,EAE7D,CAEA,OAAO,CACT,CAhBwB,GAkBpB7pN,GAEW,SAAS3hM,GACpB,IACIzoC,EADAg3X,EAAQ,GAIZ,IADAvuV,EAAS,GAAG/mF,OAAO+mF,GACZA,EAAO30F,QAES,kBADrBksD,EAAQyoC,EAAOzgB,OAEbgvW,EAAM/mJ,QAAQvzR,MAAMs6a,EAAOh3X,EAAMhmD,MAAM,OAC9BzC,MAAMC,QAAQwoD,GACvByoC,EAAO/yF,KAAKgH,MAAM+rF,EAAQzoC,GAChB05X,GAAcjxV,IACxBuuV,EAAM/mJ,QAAQ,GAAKjwO,GAIvB,OAAOg3X,CACT,EAnBE5sJ,GAuBQ,SAASiiK,EAAKrV,EAAOkV,GAC7B,IAIIn1b,EAJAkoB,EAAQ,GAAGvd,OAAOs1a,GAClBoD,EAAOn7Z,EAAMnrB,OACbmnK,EAAOoxR,EAAIH,KACXz8a,EAAQ,EAKZ,IAFA48a,EAAIH,KAAOA,EAAKh8Z,OAEXn5B,EAAI,EAAGA,EAAIqjb,IAAQrjb,EACtB0Y,EAAQmG,KAAKC,IAAIw2a,EAAI2B,YAAY/ua,EAAMloB,IAAI0Y,MAAOA,GAKpD,OAFA48a,EAAIH,KAAOjxR,EAEJ,CACLhsG,OAAQmrX,EAAO8R,EAAKvqR,WACpBlyJ,MAAOA,EAEX,EA1CE26Q,GAiDK,SAASn0Q,EAAKxiB,EAAOoiB,GAC1B,OAAOD,KAAKC,IAAII,EAAKL,KAAKK,IAAIxiB,EAAOoiB,GACvC,EAnDEu0Q,GA0DS,SAAS8vJ,EAAIC,GACtB,IAEIpjb,EAAG4nB,EAAGy7Z,EAAMz+a,EAFZs/J,EAAOi/Q,EAAG98a,QACV82e,EAAU,GAGd,IAAKn9e,EAAI,EAAGqjb,EAAOD,EAAGrmb,OAAQiD,EAAIqjb,IAAQrjb,EACxC4E,EAAIw+a,EAAGpjb,IAGI,KAFX4nB,EAAIs8I,EAAKhjK,QAAQ0D,IAGfu4e,EAAQx+e,KAAK,CAACiG,EAAG,IAEjBs/J,EAAKliJ,OAAO4F,EAAG,GAInB,IAAK5nB,EAAI,EAAGqjb,EAAOn/Q,EAAKnnK,OAAQiD,EAAIqjb,IAAQrjb,EAC1Cm9e,EAAQx+e,KAAK,CAACulK,EAAKlkK,IAAK,IAG1B,OAAOm9e,CACT,EAUF,SAASC,GAAOvkd,EAAOkhX,GACrB,IAAIsjG,EAAKtjG,EAAOn4U,EACZ07a,EAAKvjG,EAAOp4U,EAEhB,GAAW,OAAP07a,EACF,MAAO,CAACz7a,EAAG,EAAGD,GAAI,GAEpB,GAAW,OAAP27a,EACF,MAAO,CAAC17a,EAAG,EAAGD,EAAG,GAGnB,IAAIg4J,EAAK9gM,EAAM+oC,EAAIy7a,EACfzjR,EAAK/gM,EAAM8oC,EAAI27a,EACfC,EAAK1+d,KAAKw6M,KAAKM,EAAKA,EAAKC,EAAKA,GAElC,MAAO,CACLh4J,EAAG27a,EAAK5jR,EAAK4jR,EAAK,EAClB57a,EAAG47a,EAAK3jR,EAAK2jR,GAAM,EAEvB,CAiDA,IAAIC,GAAW,EACXC,GAAS,EACTC,GAAU,EACVC,GAAW,EACXC,GAAQ,EAEZ,SAAS1qF,GAAOtxV,EAAGD,EAAG2zC,GACpB,IAAIr0G,EAAMu8e,GAaV,OAXI57a,EAAI0zC,EAAKn2G,KACX8B,GAAOw8e,GACE77a,EAAI0zC,EAAKl2G,QAClB6B,GAAOy8e,IAEL/7a,EAAI2zC,EAAKh5C,IACXr7D,GAAO28e,GACEj8a,EAAI2zC,EAAKI,SAClBz0G,GAAO08e,IAGF18e,CACT,CAsDA,SAAS48e,GAAUzxV,EAAOhmE,GACxB,IAEIxkB,EAAGD,EAFHm8a,EAAS13Z,EAAO03Z,OAChB5sK,EAAU9kL,EAkBd,OAfIhmE,EAAO23Z,QACT7sK,EA1DJ,SAAiBA,EAASvoC,GAUxB,IATA,IAMIh6R,EAAGizD,EAAGD,EANN07a,EAAKnsK,EAAQmsK,GACbC,EAAKpsK,EAAQosK,GACb7qB,EAAKvhJ,EAAQuhJ,GACbC,EAAKxhJ,EAAQwhJ,GACbsrB,EAAK9qF,GAAOmqF,EAAIC,EAAI30M,GACpBs1M,EAAK/qF,GAAOu/D,EAAIC,EAAI/pL,GAKhBq1M,EAAKC,KAAQD,EAAKC,KAMxBtve,EAAIqve,GAAMC,GAEFL,IACNh8a,EAAIy7a,GAAM5qB,EAAK4qB,IAAO10M,EAAKrsO,IAAMghb,IAAO5qB,EAAK4qB,GAC7C37a,EAAIgnO,EAAKrsO,KACA3tD,EAAIgve,IACb/7a,EAAIy7a,GAAM5qB,EAAK4qB,IAAO10M,EAAKjzL,OAAS4nY,IAAO5qB,EAAK4qB,GAChD37a,EAAIgnO,EAAKjzL,QACA/mG,EAAI+ue,IACb/7a,EAAI27a,GAAM5qB,EAAK4qB,IAAO30M,EAAKvpS,MAAQi+e,IAAO5qB,EAAK4qB,GAC/Cz7a,EAAI+mO,EAAKvpS,OACAuP,EAAI8ue,KACb97a,EAAI27a,GAAM5qB,EAAK4qB,IAAO30M,EAAKxpS,KAAOk+e,IAAO5qB,EAAK4qB,GAC9Cz7a,EAAI+mO,EAAKxpS,MAGPwP,IAAMqve,EAGRA,EAAK9qF,GAFLmqF,EAAKz7a,EACL07a,EAAK37a,EACegnO,GAIpBs1M,EAAK/qF,GAFLu/D,EAAK7wZ,EACL8wZ,EAAK/wZ,EACegnO,GAIxB,MAAO,CACL00M,GAAIA,EACJ5qB,GAAIA,EACJ6qB,GAAIA,EACJ5qB,GAAIA,EAER,CAQcwrB,CAAQhtK,EAAS9qP,EAAOuiN,OAGrB,UAAXm1M,GACFl8a,EAAIsvQ,EAAQmsK,GACZ17a,EAAIuvQ,EAAQosK,IACQ,QAAXQ,GACTl8a,EAAIsvQ,EAAQuhJ,GACZ9wZ,EAAIuvQ,EAAQwhJ,KAEZ9wZ,GAAKsvQ,EAAQmsK,GAAKnsK,EAAQuhJ,IAAM,EAChC9wZ,GAAKuvQ,EAAQosK,GAAKpsK,EAAQwhJ,IAAM,GA3IpC,SAAiB9wZ,EAAGD,EAAGw8a,EAAIC,EAAI37D,GAC7B,OAAQA,GACR,IAAK,SACH07D,EAAKC,EAAK,EACV,MACF,IAAK,SACHD,EAAK,EACLC,EAAK,EACL,MACF,IAAK,QACHD,EAAK,EACLC,EAAK,EACL,MACF,IAAK,OACHD,GAAM,EACNC,EAAK,EACL,MACF,IAAK,MACHD,EAAK,EACLC,GAAM,EACN,MACF,IAAK,QACHD,GAAMA,EACNC,GAAMA,EACN,MACF,IAAK,MAEH,MACF,QAEE37D,GAAU5ja,KAAKg7M,GAAK,IACpBskR,EAAKt/d,KAAKm6M,IAAIypN,GACd27D,EAAKv/d,KAAKo6M,IAAIwpN,GAIhB,MAAO,CACL7gX,EAAGA,EACHD,EAAGA,EACHw8a,GAAIA,EACJC,GAAIA,EAER,CAoGSC,CAAQz8a,EAAGD,EAAGyqF,EAAM+xV,GAAI/xV,EAAMgyV,GAAIh4Z,EAAOq8V,MAClD,CAEA,IAAIyoD,GACG,SAAS7hd,EAAI+8D,GAChB,IAAI4/V,GAAS38Z,EAAGkxb,WAAalxb,EAAGmxb,UAAY,EACxC2jC,EAAKt/d,KAAKm6M,IAAIgtN,GACdo4D,EAAKv/d,KAAKo6M,IAAI+sN,GACdg4D,EAAK30d,EAAGgwb,YACR4kC,EAAK50d,EAAGiwb,YAEZ,OAAOukC,GAAU,CACfR,GAAIh0d,EAAGu4C,EAAIu8a,EAAKH,EAChBV,GAAIj0d,EAAGs4C,EAAIy8a,EAAKJ,EAChBvrB,GAAIppc,EAAGu4C,EAAIu8a,EAAKF,EAChBvrB,GAAIrpc,EAAGs4C,EAAIy8a,EAAKH,EAChBE,GAAIA,EACJC,GAAIA,GACHh4Z,EACL,EAhBE8kZ,GAkBK,SAAS7hd,EAAI+8D,GAClB,IAAIxhF,EAAIw4e,GAAO/zd,EAAI+8D,EAAO2zT,QACtBukG,EAAK15e,EAAEg9D,EAAIv4C,EAAGmB,QAAQstM,OACtBymR,EAAK35e,EAAE+8D,EAAIt4C,EAAGmB,QAAQstM,OAE1B,OAAO+lR,GAAU,CACfR,GAAIh0d,EAAGu4C,EAAI08a,EACXhB,GAAIj0d,EAAGs4C,EAAI48a,EACX9rB,GAAIppc,EAAGu4C,EAAI08a,EACX5rB,GAAIrpc,EAAGs4C,EAAI48a,EACXJ,GAAIv5e,EAAEg9D,EACNw8a,GAAIx5e,EAAE+8D,GACLykB,EACL,EA/BE8kZ,GAiCG,SAAS7hd,EAAI+8D,GAChB,IAAIxhF,EAAIw4e,GAAO/zd,EAAI+8D,EAAO2zT,QACtBn4U,EAAIv4C,EAAGu4C,EACPD,EAAIt4C,EAAGs4C,EACP68a,EAAK,EACLC,EAAK,EAUT,OARIp1d,EAAGojN,YACL7qK,EAAI/iD,KAAKK,IAAImK,EAAGu4C,EAAGv4C,EAAGu/Q,MACtB41M,EAAK3/d,KAAK+9C,IAAIvzC,EAAGu/Q,KAAOv/Q,EAAGu4C,KAE3BD,EAAI9iD,KAAKK,IAAImK,EAAGs4C,EAAGt4C,EAAGu/Q,MACtB61M,EAAK5/d,KAAK+9C,IAAIvzC,EAAGu/Q,KAAOv/Q,EAAGs4C,IAGtBk8a,GAAU,CACfR,GAAIz7a,EACJ07a,GAAI37a,EAAI88a,EACRhsB,GAAI7wZ,EAAI48a,EACR9rB,GAAI/wZ,EACJw8a,GAAIv5e,EAAEg9D,EACNw8a,GAAIx5e,EAAE+8D,GACLykB,EACL,EAxDE8kZ,GA0DQ,SAAS7hd,EAAI+8D,GACrB,IAAIxhF,EAAIw4e,GAAO/zd,EAAI+8D,EAAO2zT,QAE1B,OAAO8jG,GAAU,CACfR,GAAIh0d,EAAGu4C,EACP07a,GAAIj0d,EAAGs4C,EACP8wZ,GAAIppc,EAAGu4C,EACP8wZ,GAAIrpc,EAAGs4C,EACPw8a,GAAIv5e,EAAEg9D,EACNw8a,GAAIx5e,EAAE+8D,GACLykB,EACL,EAGEs4Z,GAnPS,SAAS95e,GAClB,OAAOia,KAAKmrB,MAAMplC,EAAIilV,IAAoBA,EAC5C,EA2QF,SAAS80J,GAAet1d,EAAIziB,GAC1B,IAAIm5C,EAAQn5C,EAAQukE,MAAMkkY,eAAezoc,EAAQ48a,cAAcuoB,OAE/D,IAAKhsZ,EACH,OAAO,KAGT,QAAsB5iD,IAAlB4iD,EAAMk+Z,cAA2C9gd,IAAlB4iD,EAAMm+Z,QACvC,MAAO,CAACt8Y,EAAG7hB,EAAMk+Z,QAASt8Y,EAAG5hB,EAAMm+Z,SAGrC,IAAI31W,EAAQxoD,EAAMg3Z,eAClB,OAAO1tb,EAAGojN,WACR,CAAC7qK,EAAG2mC,EAAO5mC,EAAG,MACd,CAACC,EAAG,KAAMD,EAAG4mC,EACjB,CAgDA,SAASq2Y,GAAUtpD,EAAKhgV,EAAM1wB,GAC5B,IAAIi6Z,EAAUj6Z,EAAM83I,gBAChBs4N,EAAcpwW,EAAMowW,YACpB8D,EAAcl0W,EAAMk0W,aAEnB+lD,GAAa7pD,GAAgB8D,KAIlCxD,EAAIkD,YA1CN,SAAyBlD,EAAK1zX,EAAGD,EAAGgtO,EAAG9kP,EAAGiuK,GACxC,IAAIgtN,EAAUjma,KAAKg7M,GAAK,EAExB,GAAI/B,EAAQ,CACV,IAAInpN,EAAIkQ,KAAKK,IAAI44M,EAAQjuK,EAAI,EAAG8kP,EAAI,GAChCxvS,EAAOyiE,EAAIjzD,EACX2tD,EAAMqF,EAAIhzD,EACVvP,EAAQwiE,EAAI+sO,EAAIhgS,EAChB+mG,EAAS/zC,EAAI9X,EAAIl7C,EAErB2mb,EAAIqD,OAAO/2X,EAAGtF,GACVn9D,EAAOC,GAASk9D,EAAMo5C,GACxB4/U,EAAImD,IAAIt5b,EAAMm9D,EAAK3tD,GAAIkQ,KAAKg7M,IAAKirN,GACjCwQ,EAAImD,IAAIr5b,EAAOk9D,EAAK3tD,GAAIm2a,EAAS,GACjCwQ,EAAImD,IAAIr5b,EAAOs2G,EAAQ/mG,EAAG,EAAGm2a,GAC7BwQ,EAAImD,IAAIt5b,EAAMu2G,EAAQ/mG,EAAGm2a,EAASjma,KAAKg7M,KAC9B16N,EAAOC,GAChBk2b,EAAIqD,OAAOx5b,EAAMwiE,GACjB2zX,EAAImD,IAAIr5b,EAAOk9D,EAAK3tD,GAAIm2a,EAASA,GACjCwQ,EAAImD,IAAIt5b,EAAMm9D,EAAK3tD,EAAGm2a,EAASjma,KAAKg7M,GAAKirN,IAChCxoX,EAAMo5C,GACf4/U,EAAImD,IAAIt5b,EAAMm9D,EAAK3tD,GAAIkQ,KAAKg7M,GAAI,GAChCy7N,EAAImD,IAAIt5b,EAAMu2G,EAAQ/mG,EAAG,EAAGkQ,KAAKg7M,KAEjCy7N,EAAImD,IAAIt5b,EAAMm9D,EAAK3tD,GAAIkQ,KAAKg7M,GAAIh7M,KAAKg7M,IAEvCy7N,EAAIoD,YACJpD,EAAIqD,OAAO/2X,EAAGD,EAChB,MACE2zX,EAAIhgV,KAAK1zC,EAAGD,EAAGgtO,EAAG9kP,EAEtB,CAaEi1b,CACExpD,EACAopD,GAAUppY,EAAK1zC,GAAKk3X,EAAc,EAClC4lD,GAAUppY,EAAK3zC,GAAKm3X,EAAc,EAClC4lD,GAAUppY,EAAKq5L,GAAKmqJ,EACpB4lD,GAAUppY,EAAKzrD,GAAKivY,EACpBl0W,EAAMs8Y,cAER5rC,EAAIoD,YAEAmmD,IACFvpD,EAAIwE,UAAY+kD,EAChBvpD,EAAIn3F,QAGF62F,GAAe8D,IACjBxD,EAAI2E,YAAcjF,EAClBM,EAAI4E,UAAYpB,EAChBxD,EAAIutC,SAAW,QACfvtC,EAAIr9E,UAER,CAsBA,SAAS8mI,GAAazpD,EAAKrsX,EAAMigY,GAC/B,IAAI81C,EAAS1pD,EAAI2pD,WACbC,EAAUh2C,EAAIg2C,QACdt9a,EAAI88a,GAAUx1C,EAAItnY,GAClBD,EAAI+8a,GAAUx1C,EAAIvnY,GAClBgtO,EAAI+vM,GAAUx1C,EAAIv6J,GAElBuwM,GACF5pD,EAAI6E,WAAWlxX,EAAMrH,EAAGD,EAAGgtO,GAGzBu6J,EAAIi2C,SACFH,GAAUE,IAGZ5pD,EAAI2pD,WAAa,GAGnB3pD,EAAI8E,SAASnxX,EAAMrH,EAAGD,EAAGgtO,GAErBqwM,GAAUE,IACZ5pD,EAAI2pD,WAAaD,GAGvB,CA8CA,IAAI/rI,GAAQ,SAAS7sR,EAAQkvW,EAAKjsa,EAAI3oB,GACpC,IAAIq+S,EAAKp/S,KAETo/S,EAAGw6K,QAAUnzY,EACb24N,EAAGqgM,OAAS1+e,EACZq+S,EAAGsgM,OAAS,KACZtgM,EAAGugM,OAAS,KACZvgM,EAAGmuJ,KAAO5X,EACVv2I,EAAGwgM,IAAMl2d,CACX,EAEAgxQ,GAAM44E,GAAMpzW,UAAW,CAIrB2/e,UAAW,SAAS/9U,EAASw+Q,EAAO75V,EAAQx/E,GAC1C,IA1LmByiB,EA0Lf01R,EAAKp/S,KACLe,EAAQq+S,EAAGqgM,OACXjqD,EAAOsG,GAAOlpX,GAAQ,CAAC6T,EAAO+uW,KAAM,CAAC,GAAIvub,EAASlG,IAClD67N,EAAQhqJ,GAAQ,CAAC6T,EAAOm2I,MAAOkjR,GAAWljR,OAAQ31N,EAASlG,GAE/D,MAAO,CACL+hb,MAAOlwW,GAAQ,CAAC6T,EAAOq8V,MAAO,UAAW77a,EAASlG,GAClDo9e,OAAQvra,GAAQ,CAAC6T,EAAO03Z,OAAQ,UAAWl3e,EAASlG,GACpDioS,KAAM/hS,EAAQukE,MAAMknY,UACpB31O,gBAAiBnqJ,GAAQ,CAAC6T,EAAOs2I,gBAAiB,MAAO91N,EAASlG,GAClEs0b,YAAaziX,GAAQ,CAAC6T,EAAO4uW,YAAa,MAAOpub,EAASlG,GAC1Dwge,aAAc3uZ,GAAQ,CAAC6T,EAAO86Y,aAAc,GAAIt6d,EAASlG,GACzDo4b,YAAavmX,GAAQ,CAAC6T,EAAO0yW,YAAa,GAAIlyb,EAASlG,GACvDq9e,MAAOxra,GAAQ,CAAC6T,EAAO23Z,OAAO,GAAQn3e,EAASlG,GAC/Cu4b,KAAM1mX,GAAQ,CAAC6T,EAAO6yW,MAAM,GAAQryb,EAASlG,GAC7C67N,MAAOA,EACP96D,QAASA,EACT0zR,KAAMA,EACNlV,MAAOA,EACPnlS,OAAQvoE,GAAQ,CAAC6T,EAAO00D,OAAQ,GAAIl0I,EAASlG,GAC7C63D,QAASga,GAAQ,CAAC6T,EAAO7tB,QAAS,GAAI3xD,EAASlG,GAC/Cq5Y,OAAQ4kG,GAAe5/L,EAAGwgM,IAAK34e,GAC/BigB,QAAS20a,GAAUjpX,GAAQ,CAAC6T,EAAOv/D,QAAS,GAAIjgB,EAASlG,IACzDg/e,YAjNiBr2d,EAiNS01R,EAAGwgM,IAhN7Bl2d,aAAc25c,GACTkI,GAEL7hd,aAAc48c,GACTiF,GAEL7hd,aAAc89c,GACT+D,GAEFA,IAwMH7yC,SAAU9lX,GAAQ,CAAC6T,EAAOiyW,SAAU,GAAIzxb,EAASlG,IAAUme,KAAKg7M,GAAK,KACrEtpN,KAAM8iR,GAAe0rB,EAAGmuJ,KAAMjtB,EAAOkV,GACrC71E,UAAW/sS,GAAQ,CAAC6T,EAAOk5R,UAAW,SAAU14W,EAASlG,GACzDi/e,eAAgBpta,GAAQ,CAAC6T,EAAOu5Z,eAAgB,GAAI/4e,EAASlG,GAC7Dk/e,gBAAiBrta,GAAQ,CAAC6T,EAAOw5Z,gBAAiBrjR,GAAQ31N,EAASlG,GACnEoqd,gBAAiBv4Y,GAAQ,CAAC6T,EAAO0kY,gBAAiBvuP,GAAQ31N,EAASlG,GACnEmqd,gBAAiBt4Y,GAAQ,CAAC6T,EAAOykY,gBAAiB,GAAIjkd,EAASlG,GAEnE,EAEA8lG,OAAQ,SAAS5/F,GACf,IAKIlK,EAAO6mE,EAAO08W,EALdlhI,EAAKp/S,KACLilF,EAAQ,KACR8iQ,EAAQ,KACRhnV,EAAQq+S,EAAGqgM,OACXh5Z,EAAS24N,EAAGw6K,QAKZ93T,EAAUlvF,GAAQ,CAAC6T,EAAOq7E,SAAS,GAAO76J,EAASlG,GAEnD+gK,IACF/kK,EAAQkK,EAAQwnc,QAAQvrc,KAAKnC,IAE7Bu/a,EAAQ0C,GADRp/W,EAAQu/W,GAAevib,GAAS6lF,EAAOgT,UAAW,CAAC18F,EAAOkK,IAAWlK,IACtC,GAAK22R,GAAkB9vN,IAE5CxmE,SAER2qV,EAxRR,SAAuB9iQ,GACrB,IAAIk0W,EAAcl0W,EAAMk0W,aAAe,EACnCjya,EAAU+9D,EAAM/9D,QAChBmmS,EAAKpoO,EAAMr0E,KAAK2nD,OAChB2nb,EAAKj7Z,EAAMr0E,KAAKmI,MAChB2kP,GAAMwiP,EAAK,EACXC,GAAM9yL,EAAK,EAEf,MAAO,CACL+yL,MAAO,CACLn+a,EAAGy7L,EAAKx2O,EAAQ1nB,KAAO25b,EACvBn3X,EAAGm+a,EAAKj5d,EAAQy1C,IAAMw8X,EACtBnqJ,EAAGkxM,EAAKh5d,EAAQnO,MAAsB,EAAdogb,EACxBjvY,EAAGmjQ,EAAKnmS,EAAQqxC,OAAuB,EAAd4gY,GAE3B7vX,KAAM,CACJrH,EAAGy7L,EACH17L,EAAGm+a,EACHnxM,EAAGkxM,EACHh2b,EAAGmjQ,GAGT,CAkQgBy5K,CADR7hZ,EAAQm6N,EAAGygM,UAAU/9U,EAASw+Q,EAAO75V,EAAQx/E,MAKjDm4S,EAAGsgM,OAASz6Z,EACZm6N,EAAGugM,OAAS53J,CACd,EAEAs4J,SAAU,WACR,OAAOrgf,KAAK2/e,OAAS3/e,KAAK2/e,OAAOS,MAAQ,CAAC,CAC5C,EAEA1nD,SAAU,WACR,OAAO14b,KAAK0/e,OAAS1/e,KAAK0/e,OAAOhnD,SAAW,CAC9C,EAEA7ib,QAAS,WACP,OAAO7V,KAAK0/e,QAAU1/e,KAAK0/e,OAAO9mb,OACpC,EAEAqsB,MAAO,WACL,OAAOjlF,KAAK0/e,MACd,EAEAl3C,KAAM,SAASh9X,EAAOsxI,GACpB,IAIIksF,EAHA2sJ,EAAMnqX,EAAMmqX,IACZ1wW,EAFKjlF,KAEM0/e,OACX33J,EAHK/nV,KAGM2/e,OAGV3/e,KAAK6V,YAIV8/a,EAAI7oX,OAEAmY,EAAMq0W,OACRtwJ,EAAO/jN,EAAM+jN,KACb2sJ,EAAIkD,YACJlD,EAAIhgV,KACFqzL,EAAKxpS,KACLwpS,EAAKrsO,IACLqsO,EAAKvpS,MAAQupS,EAAKxpS,KAClBwpS,EAAKjzL,OAASizL,EAAKrsO,KACrBg5X,EAAI2D,QAGN3D,EAAIw8C,YAAcz+M,GAAY,EAAGzuM,EAAMrsB,QAAS,GAChD+8X,EAAIr/W,UAAUyoa,GAAUjiS,EAAO76I,GAAI88a,GAAUjiS,EAAO96I,IACpD2zX,EAAIjB,OAAOzvW,EAAMyzW,UAEjBumD,GAAUtpD,EAAK5tG,EAAMq4J,MAAOn7Z,GArKhC,SAAkB0wW,EAAKrV,EAAO3qU,EAAM1wB,GAClC,IAQI5kF,EARAyib,EAAQ79V,EAAM06R,UACd/iJ,EAAQ33I,EAAM23I,MACd4iR,IAAW5iR,EACX44N,EAAOvwW,EAAMuwW,KACb9R,EAAOpD,EAAMljb,OACb68b,EAAch1W,EAAMkmY,gBACpBr/K,EAAc7mN,EAAMimY,gBACpBq0B,EAAUtlD,GAAenuJ,EAG7B,GAAK43I,IAAU87D,GAAWD,GAsB1B,IAjBA5pY,EA9DF,SAAsBA,EAAMmtU,EAAO0S,GACjC,IAAItrY,EAAIsrY,EAAKvqR,WACT+jI,EAAIr5L,EAAKq5L,EACT/sO,EAAI0zC,EAAK1zC,EASb,MANc,WAAV6gX,EACF7gX,GAAK+sO,EAAI,EACU,QAAV8zI,GAA6B,UAAVA,IAC5B7gX,GAAK+sO,GAGA,CACL9kP,EAAGA,EACH8kP,EAAGA,EACH/sO,EAAGA,EACHD,EAZM2zC,EAAK3zC,EAAI9X,EAAI,EAcvB,CA4CSo2b,CAAa3qY,EAAMmtU,EAAO0S,GAEjCG,EAAIH,KAAOA,EAAKh8Z,OAChBm8Z,EAAIh2E,UAAYmjE,EAChB6S,EAAIyE,aAAe,SACnBzE,EAAI2pD,WAAar6Z,EAAM+6Z,eACvBrqD,EAAI4qD,YAAct7Z,EAAMg7Z,gBAEpBT,IACF7pD,EAAIwE,UAAYv9N,GAEd2iR,IACF5pD,EAAIutC,SAAW,QACfvtC,EAAI4E,UAAYzuJ,EAChB6pJ,EAAI2E,YAAcL,GAGf55b,EAAI,EAAGqjb,EAAOpD,EAAMljb,OAAQiD,EAAIqjb,IAAQrjb,EAC3C++e,GAAazpD,EAAKrV,EAAMjgb,GAAI,CAC1Bk/e,QAASA,EACTC,OAAQA,EACRxwM,EAAGr5L,EAAKq5L,EACR/sO,EAAG0zC,EAAK1zC,EACRD,EAAG2zC,EAAK3zC,EAAI2zC,EAAKzrD,EAAI7pD,GAG3B,CA4HImgf,CAAS7qD,EAAK1wW,EAAMq7V,MAAOv4F,EAAMz+Q,KAAM2b,GAEvC0wW,EAAIiC,UACN,IAGF,IAAI6oD,GAAc/ze,OAAO+ne,mBAAqB,iBAC1CiM,GAAch0e,OAAO61C,kBAAoB,iBAE7C,SAASo+b,GAAQznd,EAAO4jL,EAAQupO,GAC9B,IAAIhtN,EAAMn6M,KAAKm6M,IAAIgtN,GACf/sN,EAAMp6M,KAAKo6M,IAAI+sN,GACfzT,EAAK91N,EAAO76I,EACZ2+a,EAAK9jS,EAAO96I,EAEhB,MAAO,CACLC,EAAG2wW,EAAKv5M,GAAOngM,EAAM+oC,EAAI2wW,GAAMt5M,GAAOpgM,EAAM8oC,EAAI4+a,GAChD5+a,EAAG4+a,EAAKtnR,GAAOpgM,EAAM+oC,EAAI2wW,GAAMv5M,GAAOngM,EAAM8oC,EAAI4+a,GAEpD,CAEA,SAASC,GAAUrzE,EAAQ7/E,GACzB,IAGIttV,EAAG+gc,EAAIo9C,EAAIC,EAAIqC,EAHfvhe,EAAMmhe,GACNvhe,EAAMshe,GACNrmG,EAASzsD,EAAKysD,OAGlB,IAAK/5Y,EAAI,EAAGA,EAAImta,EAAOpwa,SAAUiD,EAE/Bm+e,GADAp9C,EAAK5zB,EAAOnta,IACJ4hE,EAAIm4U,EAAOn4U,EACnBw8a,EAAKr9C,EAAGp/X,EAAIo4U,EAAOp4U,EACnB8+a,EAAKnzJ,EAAK6wJ,GAAKA,EAAK7wJ,EAAK8wJ,GAAKA,EAC9Bl/d,EAAML,KAAKK,IAAIA,EAAKuhe,GACpB3he,EAAMD,KAAKC,IAAIA,EAAK2he,GAGtB,MAAO,CACLvhe,IAAKA,EACLJ,IAAKA,EAET,CAEA,SAAS4he,GAAO75C,EAAIv2B,GAClB,IAAI6tE,EAAK7tE,EAAG1uW,EAAIilY,EAAGjlY,EACfw8a,EAAK9tE,EAAG3uW,EAAIklY,EAAGllY,EACf47a,EAAK1+d,KAAKw6M,KAAK8kR,EAAKA,EAAKC,EAAKA,GAElC,MAAO,CACLD,IAAK7tE,EAAG1uW,EAAIilY,EAAGjlY,GAAK27a,EACpBa,IAAK9tE,EAAG3uW,EAAIklY,EAAGllY,GAAK47a,EACpBxjG,OAAQ8sD,EACR02C,GAAIA,EAER,CAEA,IAAIoD,GAAS,WACXhhf,KAAKihf,UAAY,EACjBjhf,KAAKkhf,MAAQ,CACXj/a,EAAG,EACHD,EAAG,EACHgtO,EAAG,EACH9kP,EAAG,EAEP,EAoFA,SAASi3b,GAAYz3d,EAAIu7D,EAAOo7Z,GAC9B,IAAInnd,EAAQ+rD,EAAM86Z,WAAWr2d,EAAIu7D,GAC7Bu5Z,EAAKtld,EAAMsld,GACXC,EAAKvld,EAAMuld,GAEf,IAAKD,IAAOC,EAEV,MAAO,CAACx8a,EAAG/oC,EAAM+oC,EAAGD,EAAG9oC,EAAM8oC,GAG/B,IAAIgtO,EAAIqxM,EAASrxM,EACb9kP,EAAIm2b,EAASn2b,EAGbwuY,EAAWzzW,EAAMyzW,SACjB1+N,EAAK96M,KAAK+9C,IAAI+xO,EAAI,EAAI9vR,KAAKm6M,IAAIq/N,IAAax5a,KAAK+9C,IAAI/S,EAAI,EAAIhrC,KAAKo6M,IAAIo/N,IACtEz+N,EAAK/6M,KAAK+9C,IAAI+xO,EAAI,EAAI9vR,KAAKo6M,IAAIo/N,IAAax5a,KAAK+9C,IAAI/S,EAAI,EAAIhrC,KAAKm6M,IAAIq/N,IAKtE0oD,EAAK,EAAIlie,KAAKC,IAAID,KAAK+9C,IAAIuhb,GAAKt/d,KAAK+9C,IAAIwhb,IAQ7C,OAPAzkR,GAAMwkR,EAAK4C,EACXnnR,GAAMwkR,EAAK2C,EAGXpnR,GAAM/0I,EAAMk2D,OAASqjW,EACrBvkR,GAAMh1I,EAAMk2D,OAASsjW,EAEd,CACLx8a,EAAG/oC,EAAM+oC,EAAI+3J,EACbh4J,EAAG9oC,EAAM8oC,EAAIi4J,EAEjB,CAnHAygE,GAAMsmN,GAAO9gf,UAAW,CACtB48M,OAAQ,WACN,IAAI9tM,EAAIhP,KAAKkhf,MACb,MAAO,CACLj/a,EAAGjzD,EAAEizD,EAAIjzD,EAAEggS,EAAI,EACfhtO,EAAGhzD,EAAEgzD,EAAIhzD,EAAEk7C,EAAI,EAEnB,EAEA28C,OAAQ,SAASi2G,EAAQnnG,EAAM+iV,GAC7B14b,KAAKihf,UAAYvoD,EACjB14b,KAAKkhf,MAAQ,CACXj/a,EAAG0zC,EAAK1zC,EAAI66I,EAAO76I,EACnBD,EAAG2zC,EAAK3zC,EAAI86I,EAAO96I,EACnBgtO,EAAGr5L,EAAKq5L,EACR9kP,EAAGyrD,EAAKzrD,EAEZ,EAEAqR,SAAU,SAASriC,GACjB,IAAIkmR,EAAKp/S,KAEL21G,EAAOypM,EAAG8hM,MAId,SAFAhod,EAAQynd,GAAQznd,EAAOkmR,EAAGtiG,UAAWsiG,EAAG6hM,YAEzBh/a,EAAI0zC,EAAK1zC,EALX,GAMR/oC,EAAM8oC,EAAI2zC,EAAK3zC,EANP,GAOR9oC,EAAM+oC,EAAI0zC,EAAK1zC,EAAI0zC,EAAKq5L,EAAI27C,GAC5BzxT,EAAM8oC,EAAI2zC,EAAK3zC,EAAI2zC,EAAKzrD,EAAIygS,EACnC,EAIA02J,WAAY,SAASjwN,GACnB,IAMI/wR,EAAGihf,EAAKC,EANRlD,EAAKr+e,KAAK2le,UACV2Y,EAAKltN,EAAMu0M,UACX6b,EAAO,CACTT,GAAO1C,EAAG,GAAIA,EAAG,IACjB0C,GAAO1C,EAAG,GAAIA,EAAG,KAanB,IATIr+e,KAAKihf,YAAc7vN,EAAM6vN,WAG3BO,EAAKxif,KACH+hf,GAAOzC,EAAG,GAAIA,EAAG,IACjByC,GAAOzC,EAAG,GAAIA,EAAG,KAIhBj+e,EAAI,EAAGA,EAAImhf,EAAKpkf,SAAUiD,EAI7B,GAHAihf,EAAMT,GAAUxC,EAAImD,EAAKnhf,IACzBkhf,EAAMV,GAAUvC,EAAIkD,EAAKnhf,IAErBihf,EAAInie,IAAMoie,EAAIhie,KAAOgie,EAAIpie,IAAMmie,EAAI/he,IACrC,OAAO,EAIX,OAAO,CACT,EAKAomd,QAAS,WACP,IAAIvmL,EAAKp/S,KACL21G,EAAOypM,EAAG8hM,MACV76D,EAAQjnI,EAAG6hM,UACXnkS,EAASsiG,EAAGtiG,SAEhB,MAAO,CACL6jS,GAAQ,CAAC1+a,EAAG0zC,EAAK1zC,EAAGD,EAAG2zC,EAAK3zC,GAAI86I,EAAQupO,GACxCs6D,GAAQ,CAAC1+a,EAAG0zC,EAAK1zC,EAAI0zC,EAAKq5L,EAAGhtO,EAAG2zC,EAAK3zC,GAAI86I,EAAQupO,GACjDs6D,GAAQ,CAAC1+a,EAAG0zC,EAAK1zC,EAAI0zC,EAAKq5L,EAAGhtO,EAAG2zC,EAAK3zC,EAAI2zC,EAAKzrD,GAAI4yJ,EAAQupO,GAC1Ds6D,GAAQ,CAAC1+a,EAAG0zC,EAAK1zC,EAAGD,EAAG2zC,EAAK3zC,EAAI2zC,EAAKzrD,GAAI4yJ,EAAQupO,GAErD,IA+FF,IAAIm8B,GAAS,CACXh2M,QAAS,SAAS8oL,GAChB,IACIj1b,EAAG4nB,EAAGy7Z,EAAMgU,EAAM9zX,EADlBqtY,EAAS,GAGb,IAAK5wc,EAAI,EAAGqjb,EAAO4R,EAASl4b,OAAQiD,EAAIqjb,IAAQrjb,EAC9C,IAAK4nB,EAAI,EAAGyva,EAAOpC,EAASj1b,GAAGjD,OAAQ6qB,EAAIyva,IAAQzva,EACjD27C,EAAQ0xX,EAASj1b,GAAG4nB,GACpBgpb,EAAOjyc,KAAK4kE,GACZA,EAAM69a,QAAU,CACdC,KAAM,IAAIV,GACVW,UAAU,EACVC,UAAU,EACVC,KAAMxhf,EACN0+d,KAAM92c,GAmBZ,OAXAgpb,EAAO17b,MAAK,SAASjX,EAAGC,GACtB,IAAIonS,EAAKrnS,EAAEmjf,QACPjwM,EAAKjzS,EAAEkjf,QAEX,OAAO97M,EAAGo5L,OAASvtL,EAAGutL,KAClBvtL,EAAGqwM,KAAOl8M,EAAGk8M,KACbrwM,EAAGutL,KAAOp5L,EAAGo5L,IACnB,IAEA/+d,KAAK6mG,OAAOoqW,GAELA,CACT,EAEApqW,OAAQ,SAASoqW,GACf,IACI5wc,EAAGqjb,EAAM9/W,EAAOqhB,EAAOp0C,EADvBixc,GAAQ,EAGZ,IAAKzhf,EAAI,EAAGqjb,EAAOutB,EAAO7zc,OAAQiD,EAAIqjb,IAAQrjb,EAE5C4kF,GADArhB,EAAQqtY,EAAO5wc,IACD4kF,SACdp0C,EAAQ+yB,EAAM69a,SACRE,SAAW18Z,GAA2B,SAAlBA,EAAM68E,QAChCjxH,EAAM+wc,SAAWh+a,EAAM/tD,UACvBise,GAASjxc,EAAM8wc,SAGbG,GApFR,SAAiB7wC,GACf,IAAI5wc,EAAGqjb,EAAM9/W,EAAO/yB,EAAOwvc,EAAUvjS,EAAQwgP,EAG7C,IAAKj9b,EAAI,EAAGqjb,EAAOutB,EAAO7zc,OAAQiD,EAAIqjb,IAAQrjb,GAE5CwwC,GADA+yB,EAAQqtY,EAAO5wc,IACDohf,SAEJG,WAMRtkD,EAAQ,IAAIJ,MAAMt5X,EAAMg8a,IAAK,CAACn7e,IAAKA,CAACilB,EAAInlB,IAAMmlB,EAAG03b,SAAS,CAAC78c,IAAI,GAAMA,KAErE87e,EAAWz8a,EAAMy8a,WACjBvjS,EAASqkS,GAAY7jD,EAAO15X,EAAMqhB,QAASo7Z,GAC3Cxvc,EAAM6wc,KAAK76Y,OAAOi2G,EAAQujS,EAAUz8a,EAAM80X,cAxChD,SAAiBuY,EAAQ8wC,GACvB,IAAI1hf,EAAG4nB,EAAG+5d,EAAIC,EAMd,IAAK5hf,EAAI4wc,EAAO7zc,OAAS,EAAGiD,GAAK,IAAKA,EAGpC,IAFA2hf,EAAK/wC,EAAO5wc,GAAGohf,QAEVx5d,EAAI5nB,EAAI,EAAG4nB,GAAK,GAAK+5d,EAAGJ,WAAY35d,GACvCg6d,EAAKhxC,EAAOhpb,GAAGw5d,SAERG,UAAYI,EAAGN,KAAKL,WAAWY,EAAGP,OACvCK,EAASC,EAAIC,EAMrB,EAyBSC,CAAQjxC,GAAQ,SAAS+wC,EAAIC,GAClC,IAAIE,EAAKH,EAAGL,SACRt4D,EAAK44D,EAAGN,SAEPQ,GAAM94D,GAAOA,EAChB44D,EAAGL,UAAW,EACLO,IACTH,EAAGJ,UAAW,EAElB,GACF,CAoDMQ,CAAQnxC,EAEZ,EAEAoxC,OAAQ,SAASpxC,EAAQ/3a,GACvB,IAAI74B,EAAGwwC,EAKP,IAAKxwC,EAAI4wc,EAAO7zc,OAAS,EAAGiD,GAAK,IAAKA,EAGpC,IAFAwwC,EAAQoga,EAAO5wc,GAAGohf,UAEL5wc,EAAM+wc,UAAY/wc,EAAM6wc,KAAKnmb,SAASriC,GACjD,OAAO+3a,EAAO5wc,GAIlB,OAAO,IACT,EAEAmoc,KAAM,SAASh9X,EAAOylY,GACpB,IAAI5wc,EAAGqjb,EAAM9/W,EAAO/yB,EAAOwvc,EAAUvjS,EAErC,IAAKz8M,EAAI,EAAGqjb,EAAOutB,EAAO7zc,OAAQiD,EAAIqjb,IAAQrjb,GAE5CwwC,GADA+yB,EAAQqtY,EAAO5wc,IACDohf,SAEJG,WACRvB,EAAWz8a,EAAMy8a,WACjBvjS,EAASqkS,GAAYv9a,EAAMg8a,IAAKh8a,EAAMqhB,QAASo7Z,GAC/Cxvc,EAAM6wc,KAAK76Y,OAAOi2G,EAAQujS,EAAUz8a,EAAM80X,YAC1C90X,EAAM4kY,KAAKh9X,EAAOsxI,GAGxB,GAyEE0oQ,GAAc,cACd88B,GAAc,WAoDlB,SAASnxe,GAAcq6D,EAAO96D,EAAWkzD,GACvC,GAAKlzD,EAAL,CAIA,IAEI6xe,EAFAt7e,EAAU28D,EAAMsqY,SAChBs0C,EAAS5+a,EAAM6+a,QAGd/xe,EAAU8xe,EAAOX,QAItBU,EAAa7xe,EAAU8xe,EAAOX,MAAMW,EAAOnhL,SAKH,IAApCzgU,GAAS2hf,EAAY,CAACt7e,MAKxBukE,EAAMg6Y,IAAak9B,QAAS,EAC5B9+a,EAAMijC,OAAO5/F,GArBf,CAuBF,CAyBA,SAAS07e,GAAiBn3a,EAAOp6D,GAC/B,IAEIw6D,EAAUhI,EAFVg/a,EAAUp3a,EAAMg6Y,IAChB90c,EAAYkye,EAAQzqN,WAGxB,GAAKznR,EAAU6lV,OAAU7lV,EAAUmye,MAAnC,CAIA,GAAmB,cAAfzxe,EAAME,KACRsyD,EAAQ4+Y,GAAO6/B,OAAOO,EAAQE,QAAS1xe,QAClC,GAAmB,aAAfA,EAAME,KACf,OAGFs6D,EAAWg3a,EAAQG,SACnBH,EAAQG,SAAWn/a,EAvCrB,SAA4B4H,EAAO96D,EAAWk7D,EAAUhI,GACtD,IAAI2yR,EAAOssJ,GAENj3a,GAAahI,KAIbgI,EAEOhI,EAEDgI,IAAahI,IACtBi/a,EAAQtsJ,GAAQ,GAFhBssJ,GAAQ,EAFRtsJ,GAAQ,EAONssJ,GACF1xe,GAAcq6D,EAAO96D,EAAUmye,MAAOj3a,GAEpC2qR,GACFplV,GAAcq6D,EAAO96D,EAAU6lV,MAAO3yR,GAE1C,CAmBEo/a,CAAmBx3a,EAAO96D,EAAWk7D,EAAUhI,EAV/C,CAWF,CAWA,IAAI8zZ,GAAS,CACX/kb,GAAI,aAEJgmP,SAjLa,CACbmqJ,MAAO,SACPq7D,OAAQ,SACRphR,gBAAiB,KACjBs4N,YAAa,KACbksC,aAAc,EACdpoC,YAAa,EACbilD,OAAO,EACP9kD,MAAM,EACN18N,WAAOp/N,EACPskK,SAAS,EACT0zR,KAAM,CACJC,YAAQj4b,EACRytK,WAAY,IACZr6J,UAAMpT,EACN86D,WAAO96D,EACP4sE,OAAQ,MAEVqvB,UA/Cc,SAAS18F,GACvB,GAAIimb,GAAcjmb,GAChB,OAAO,KAGT,IACIqD,EAAM2jb,EAAMr5X,EADZkZ,EAAQ7mE,EAEZ,GAAI0/R,GAAS1/R,GACX,GAAKimb,GAAcjmb,EAAM6mE,OAElB,GAAKo/W,GAAcjmb,EAAMiS,GAK9B,IAFA40D,EAAQ,GAEHlZ,EAAI,EAAGq5X,GADZ3jb,EAAOnB,OAAOmB,KAAKrD,IACKK,OAAQstD,EAAIq5X,IAAQr5X,EAC1CkZ,IAAgB,IAANlZ,EAAU,KAAO,IAAMtqD,EAAKsqD,GAAK,KAAO3tD,EAAMqD,EAAKsqD,SAL/DkZ,EAAQ7mE,EAAMiS,OAFd40D,EAAQ7mE,EAAM6mE,MAYlB,MAAO,GAAKA,CACd,EA0BEqtY,YAAQzzc,EACRkT,UAAW,CAAC,EACZyqI,OAAQ,EACRviF,QAAS,EACT1xC,QAAS,CACPy1C,IAAK,EACLl9D,MAAO,EACPs2G,OAAQ,EACRv2G,KAAM,GAERk5b,SAAU,EACV/4E,UAAW,QACXwrG,qBAAiB3td,EACjB0td,gBAAiB,EACjB80B,eAAgB,EAChBC,qBAAiBzif,GAiJjBylf,WAAY,SAASz3a,GACnBA,EAAMg6Y,IAAe,CACnB09B,SAAU,GAEd,EAEAv1B,aAAc,SAASniZ,GACrB,IAAIo3a,EAAUp3a,EAAMg6Y,IACpBo9B,EAAQO,WAAY,EACpBP,EAAQzqN,WAAa,CAAC,EACtByqN,EAAQQ,UAAY,GACpBR,EAAQE,QAAU,EACpB,EAEAO,mBAAoB,SAAS73a,EAAOxkE,EAAM6jB,GACxC,IAQIxqB,EAAG4nB,EAAGy7Z,EAAMgU,EAAM6R,EAAKvoc,EAAK0oB,EAAIk6C,EARhCigX,EAAe78a,EAAKjG,MACpB6hf,EAAUp3a,EAAMg6Y,IAChBvU,EAAS2xC,EAAQQ,UAAUv/D,GAAgB,GAC3Chua,EAAU21D,EAAMwuY,iBAAiBn2B,GACjC4qB,EAAUjjY,EAAMtoE,KAAKoyb,SAASzR,GAC9Bp9V,EA3JR,SAAmBgoX,EAAS5jb,GAC1B,IACIna,EAEAugc,EAAQ7wc,EAHRq2b,EAAWgY,EAAQ60C,WAEnBC,EAAU,GAGd,OAAiB,IAAb9sD,EACK,OAEQ,IAAbA,IACFA,EAAW,CAAC,GAGd5ra,EAAU6vQ,GAAM,CAAC,EAAG,CAAC7vQ,EAAS4ra,IAC9Bwa,EAASpmb,EAAQomb,QAAU,CAAC,EAC5B7wc,EAAOnB,OAAOmB,KAAK6wc,UACZpmb,EAAQomb,OAEX7wc,EAAKhD,OACPgD,EAAKrB,SAAQ,SAASiC,GAChBiwc,EAAOjwc,IACTuif,EAAQvkf,KAAK07R,GAAM,CAAC,EAAG,CACrB7vQ,EACAomb,EAAOjwc,GACP,CAACqgU,KAAMrgU,KAGb,IAGAuif,EAAQvkf,KAAK6rB,GAIfna,EAAY6ye,EAAQ36e,QAAO,SAAS7G,EAAQ0kF,GAO1C,OANA48V,GAAK58V,EAAO/1E,WAAa,CAAC,GAAG,SAASmb,EAAIza,GACxCrP,EAAOqP,GAASrP,EAAOqP,IAAU,CAAC,EAClCrP,EAAOqP,GAAOq1E,EAAO46O,MAAQihL,IAAez2d,CAC9C,WAEO46D,EAAO/1E,UACP3O,CACT,GAAG,CAAC,GAEG,CACLkvc,OAAQsyC,EACR7ye,UAAWA,GAEf,CA2GiBg6b,CAAU+D,EAAS5jb,GAC5Bi9H,EAAW9gJ,EAAKqsP,KAAKnwP,MAAQ,GAC7Byyb,EAAMnqX,EAAMmqX,IAKhB,IAFAA,EAAI7oX,OAECzsE,EAAI,EAAGqjb,EAAO57R,EAAS1qJ,OAAQiD,EAAIqjb,IAAQrjb,EAI9C,IAHAqpB,EAAKo+H,EAASznJ,IACXmld,IAAe,GAEd3vc,GAAW6T,GAAM8hD,EAAMitY,kBAAkBp4c,KAAOqpB,EAAGuoD,KACrD,IAAKhqD,EAAI,EAAGyva,EAAOjxW,EAAOwqX,OAAO7zc,OAAQ6qB,EAAIyva,IAAQzva,EAEnDjnB,GADAuoc,EAAM9iX,EAAOwqX,OAAOhpb,IACVo5S,MAEVz9P,EAAQ,IAAI0vS,GAAMi2F,EAAK5T,EAAKjsa,EAAIrpB,IAC1Boif,QAAU,CACdZ,KAAMh+D,EACNxiH,KAAMrgU,GAAOshf,IAEf1+a,EAAMsqY,SAAW,CACfhxb,QAAQ,EACRsuD,MAAOA,EACPqnY,UAAWxyc,EACXouc,QAASA,EACT5qB,aAAcA,GAGhBjgX,EAAMijC,OAAOjjC,EAAMsqY,UACnBxkb,EAAG87b,IAAaxmd,KAAK4kE,GACrBqtY,EAAOjyc,KAAK4kE,GAKlB+xX,EAAIiC,UAIJl9J,GAAMkoN,EAAQzqN,WAAY1xM,EAAO/1E,UAAW,CAC1C2za,OAAQ,SAASjza,EAAOrP,EAAQD,GAC9BC,EAAOqP,GAASrP,EAAOqP,IAAU,CAAC,EAClCrP,EAAOqP,GAAOpK,EAAKjG,OAASe,EAAOsP,GACnCwxe,EAAQO,WAAY,CACtB,GAEJ,EAEAl0B,YAAa,SAASzjZ,EAAO3gD,GAC3B2gD,EAAMg6Y,IAAas9B,QAAUtgC,GAAOh2M,QAClChhM,EAAMg6Y,IAAa49B,UACnBv4d,EACJ,EAKA24d,kBAAmB,SAASh4a,GAC1Bg3Y,GAAOha,KAAKh9X,EAAOA,EAAMg6Y,IAAas9B,QACxC,EAEAW,YAAa,SAASj4a,EAAOxkE,GAI3B,GAAIwkE,EAAMg6Y,IAAa29B,UAAW,CAChC,IAAI/xe,EAAQpK,EAAKoK,MACjB,OAAQA,EAAME,MACd,IAAK,YACL,IAAK,WACHqxe,GAAiBn3a,EAAOp6D,GACxB,MACF,IAAK,SA3GX,SAA2Bo6D,EAAOp6D,GAChC,IAAIwxe,EAAUp3a,EAAMg6Y,IAChBxrL,EAAW4oN,EAAQzqN,WAAWxpD,MAC9B/qK,EAAQo2N,GAAYwoL,GAAO6/B,OAAOO,EAAQE,QAAS1xe,GACnDwyD,GACFzyD,GAAcq6D,EAAOwuN,EAAUp2N,EAEnC,CAqGQ8/a,CAAkBl4a,EAAOp6D,GAG7B,CACF,EAEA05d,WAAY,SAASt/Z,GACnB,IAIInrE,EAAGqjb,EAAMz7Z,EAAGyva,EAAM7wV,EAAQjjC,EAAOqtY,EAJjC2xC,EAAUp3a,EAAMg6Y,IAChB55Y,EAAWg3a,EAAQM,SACnBS,EAAUf,EAAQM,SAAW13a,EAAMy0Z,oBACnCud,EAAU9pN,GAAgB9nN,EAAU+3a,GAGxC,IAAKtjf,EAAI,EAAGqjb,EAAO85D,EAAQpgf,OAAQiD,EAAIqjb,IAAQrjb,EAE7C,IADAwmG,EAAS22Y,EAAQn9e,IACN,GAET,IAAK4nB,EAAI,EAAGyva,GADZuZ,EAASpqW,EAAO,GAAG18E,QAAQq7b,KAAgB,IACjBpod,OAAQ6qB,EAAIyva,IAAQzva,GAC5C27C,EAAQqtY,EAAOhpb,IACTimb,SAAShxb,OAAwB,IAAd2pF,EAAO,GAChCjjC,EAAMijC,OAAOjjC,EAAMsqY,WAKrB00C,EAAQF,QAAUlF,EAAQpgf,UAC5Bold,GAAO37W,OAAO+7Y,EAAQE,SACtBt3a,EAAM6rM,iBAGDurO,EAAQF,MACjB,GAGF,YC9yCA3F,GAAQtpe,SACJq/d,GACA+B,GACArN,GAAYlB,GAAcZ,GAC1Bke,GACA7Y,GACA15H,GACA22H,IAGJ,MAqyBA,GAryBkB6b,KACd,MAAM,KAAElpE,GAASF,MACVqpE,EAAQC,IAAavlO,EAAAA,EAAAA,UAAS,kCAC9BwlO,EAAQC,IAAazlO,EAAAA,EAAAA,UAAS,6BAC9B0lO,EAAYC,IAAiB3lO,EAAAA,EAAAA,UAAS,KACtC4lO,EAAaC,IAAkB7lO,EAAAA,EAAAA,UAAS,KACxC8lO,EAAUC,IAAe/lO,EAAAA,EAAAA,UAAS,KAClCgmO,EAAWC,IAAgBjmO,EAAAA,EAAAA,UAAS,KACpCkmO,EAAUC,IAAenmO,EAAAA,EAAAA,UAAS,KAClComO,EAAUC,IAAermO,EAAAA,EAAAA,UAAS,KAClCsmO,EAAUC,IAAevmO,EAAAA,EAAAA,UAAS,KAClCwmO,EAAUC,IAAezmO,EAAAA,EAAAA,UAAS,KAClC0mO,EAAMC,IAAW3mO,EAAAA,EAAAA,UAAS,KAC1B4mO,EAAOC,IAAY7mO,EAAAA,EAAAA,UAAS,KAC5B8mO,EAAOC,IAAY/mO,EAAAA,EAAAA,UAAS,KAC5BgnO,EAASC,IAAcjnO,EAAAA,EAAAA,UAAS,KAChCknO,EAAaC,IAAkBnnO,EAAAA,EAAAA,UAAS,KACxConO,EAAeC,IAAoBrnO,EAAAA,EAAAA,UAAS,KAC5CsnO,EAAeC,IAAoBvnO,EAAAA,EAAAA,UAAS,KAC5CwnO,EAAYC,IAAiBznO,EAAAA,EAAAA,UAAS,KACtCi9J,EAAOC,IAAYl9J,EAAAA,EAAAA,UAAS,KAC5B0nO,EAAUC,IAAe3nO,EAAAA,EAAAA,WAAS,IAClC4nO,EAAUC,IAAe7nO,EAAAA,EAAAA,WAAS,IAClC8nO,EAAUC,IAAe/nO,EAAAA,EAAAA,WAAS,IAClCw5J,EAAUwuE,IAAehoO,EAAAA,EAAAA,WAAS,IAClCioO,EAAUxuE,IAAez5J,EAAAA,EAAAA,WAAS,IAClCkoO,EAAWC,IAAgBnoO,EAAAA,EAAAA,WAAS,IACpCooO,EAAaC,IAAkBroO,EAAAA,EAAAA,WAAS,IACxC2qJ,GAAWC,KAAgB5qJ,EAAAA,EAAAA,WAAS,IACpC6qJ,GAAa6M,KAAkB13J,EAAAA,EAAAA,WAAS,IACxCu5J,GAAW+uE,KAAgBtoO,EAAAA,EAAAA,WAAS,IACpCuoO,GAAaC,KAAkBxoO,EAAAA,EAAAA,WAAS,IACxCyoO,GAAeC,KAAoB1oO,EAAAA,EAAAA,UAAS,KAC5C88J,GAAeC,KAAoB/8J,EAAAA,EAAAA,UAASm8J,EAAKa,SACjD2rE,GAAgBC,KAAqB5oO,EAAAA,EAAAA,UAAS,KAC9C6oO,GAAkBC,KAAuB9oO,EAAAA,EAAAA,UAAS,KAClD+oO,GAAeC,KAAoBhpO,EAAAA,EAAAA,UAAS,KAC5CipO,GAAiBC,KAAsBlpO,EAAAA,EAAAA,UAAS,KAChDmpO,GAAcC,KAAmBppO,EAAAA,EAAAA,WAAS,IAC1CqpO,GAAcC,KAAmBtpO,EAAAA,EAAAA,UAAS,KAEjDsC,EAAAA,EAAAA,YAAU,KACNn3P,SAASm0J,MAAQ,oBAAoB,GACtC,KAsBHgjG,EAAAA,EAAAA,YAAU,KACgB,QAAlBmmO,KACAT,GAAY,GAEZT,EAAiB,0BACjB98M,GAAK23E,OAAO,qBAAqB79S,MAAK,KAClCgjb,EAAiB,2BACjB,IAAIh/a,GAAO,IAAIx/D,MAAOC,UACtBm/e,EAAa5/a,GACbqiW,IAAa,GACbo9E,GAAY,EAAM,KAGJ,OAAlBS,IACA79E,IAAa,GAEjB49E,IAAe,GACfE,GAAiB,GAAG,GACrB,CAACD,KAEJ,MAAOc,GAAaC,KAAkBxpO,EAAAA,EAAAA,YAASj4Q,OAAO8yD,WAAa,OAGnEynN,EAAAA,EAAAA,YAAU,KACN,SAASmnO,IACD1hf,OAAO8yD,WAAa,IACpB2ub,IAAe,GAEfA,IAAe,EAEvB,CAEA,OADAzhf,OAAOsK,iBAAiB,SAAUo3e,GAC3B,IAAM1hf,OAAOyK,oBAAoB,SAAUi3e,EAAa,GAChE,IAEH,MAaMr+P,IAAei2B,EAAAA,EAAAA,cAAar5M,GAEtBA,EACHtE,QAAQ,GACR35D,QAAQ,0BAA2B,QACzC,IAEG2/e,IAAqBroO,EAAAA,EAAAA,cAAar5M,GAE5BA,EACHtE,QAAQ,GACR35D,QAAQ,0BAA2B,QACzC,IAEG4/e,GAAch4e,UAChB,GAAsB,YAAlB1R,EAAEsD,OAAO0D,KAAoB,CAC7B4gf,GAAY,GACZpC,EAAU,uBACVF,EAAU,4BACV,MAAMqE,QAAcn/M,GAAK23E,OAAO,mBAAD51W,OAAoBswa,KACnDupE,EAAYuD,EAAMz+e,KAAI,SAAUgP,GAC5B,OAAOA,EAAKyka,WAChB,KACAmnE,EAAY6D,EAAMz+e,KAAI,SAAUgP,GAC5B,OAAOA,EAAK+se,WAChB,KACAjB,EAAa2D,EAAMz+e,KAAI,SAAUgP,GAC7B,OAAOA,EAAKite,aAChB,KACAS,GAAY,EAGhB,CACA,GAAsB,SAAlB5nf,EAAEsD,OAAO0D,KAAiB,CAC1B4gf,GAAY,GACZtC,EAAU,uBACVE,EAAU,4BAEV,MAGMoE,SAHcp/M,GAAK23E,OAAO,wBAAD51W,OAAyBswa,MAG9B1ya,QAAO,CAACg7P,EAAKjrP,KACnC,MAAMirD,EAAK,GAAA54D,OAAM2N,EAAKyka,YAAW,OAAApya,OAAM2N,EAAKwka,UAI5C,OAHAv5K,EAAIqtM,OAAOjyc,KAAK4kE,GAChBggM,EAAI0kP,SAAStpf,KAAK2Z,EAAK+se,aACvB9hP,EAAI2kP,WAAWvpf,KAAK2Z,EAAKite,eAClBhiP,CAAG,GACX,CAAEqtM,OAAQ,GAAIq3C,SAAU,GAAIC,WAAY,KAE3C1D,EAAYwD,EAAYp3C,QACxBszC,EAAY8D,EAAYC,UACxB7D,EAAa4D,EAAYE,YACzBlC,GAAY,EAChB,GAQEmC,GAAW,CACb/2I,YAAY,IAIhB3wF,EAAAA,EAAAA,YAAU,KACN,MAsBM2nO,EAAYt4e,UACd,IACI,MAAMi4e,QAAcn/M,GAAK23E,OAAO,mBAAD51W,OAAoBswa,KACnDupE,EAAYuD,EAAMz+e,KAAI,SAAUgP,GAC5B,OAAOA,EAAKyka,WAChB,KACAmnE,EAAY6D,EAAMz+e,KAAI,SAAUgP,GAC5B,OAAOA,EAAK+se,WAChB,KACAjB,EAAa2D,EAAMz+e,KAAI,SAAUgP,GAC7B,OAAOA,EAAKite,aAChB,KACAD,EAAe/7P,GAAaw+P,EAAMx/e,QAAO,SAAU27J,EAAMu5G,GACrD,OAAOv5G,IAAQu5G,EAAQ4nO,WAC3B,GAAG,KACHG,EAAiBj8P,GAAaw+P,EAAMx/e,QAAO,SAAU27J,EAAMu5G,GACvD,OAAOv5G,IAAQu5G,EAAQ8nO,aAC3B,GAAG,IACP,CAAE,MAAOnnf,GACLoF,QAAQyF,IAAI7K,EAChB,CAAC,QAEG4nf,GAAY,EAChB,GAGEqC,EAAav4e,UACf,IACI,MAAMi4e,QAAcn/M,GAAK23E,OAAO,mBAAD51W,OAAoBswa,GAAa,SAChEwsE,GAAgBM,EAAMz+e,KAAI,SAAUgP,GAChC,OAAOA,EAAKska,MAChB,KACAmqE,GAAkBgB,EAAMz+e,KAAI,SAAUgP,GAClC,OAAOA,EAAK+se,WAChB,KACA4B,GAAoBc,EAAMz+e,KAAI,SAAUgP,GACpC,OAAOA,EAAKite,aAChB,KACA,MAAM+C,EAAgBP,EAAMx/e,QAAO,CAACg+D,EAAOzgB,IAAiBygB,EAAQzgB,EAAau/b,aAAa,GACxFkD,EAAkBR,EAAMx/e,QAAO,CAACg+D,EAAOzgB,IAAiBygB,EAAQzgB,EAAay/b,eAAe,GAE5FiD,EAAWF,EAAgBC,EAI3BE,EAAuBD,EAAW,EAAKD,EAAkBC,EAAY,IAAM,EACjFrB,GAAiBU,GAFUW,EAAW,EAAKF,EAAgBE,EAAY,IAAM,IAG7EnB,GAAmBQ,GAAmBY,GAC1C,CACA,MAAOrqf,GAAKoF,QAAQyF,IAAI7K,EAAI,CAAC,QAEzB0nf,GAAY,GACZI,GAAY,EAChB,GAoBYl/a,MACZ,MAAMy2M,EAAU,IAAIv2Q,KACpBu2Q,EAAQ9gM,QAAQ8gM,EAAQz2M,UAAY,GACpC,IAAIN,EAAO+2M,EAAQ32M,cAAgB,IAAMpuC,OAAO+kP,EAAQ12M,WAAa,GAAGhuC,SAAS,EAAG,KACpF6sd,EAAcl/a,GACdy/a,GAAY,EAAM,EAetBn/a,GACA8+a,GAAY,GACZE,GAAY,GACZE,GAAY,GA5BYp2e,WACpB,MAAM44e,QAAoB9/M,GAAK23E,OAAO,mBAAD51W,OAAoBswa,KACzDyqE,EAAiB,IAAIx+e,KAAKwhf,EAAYC,eAAeC,qBAAuB,IAAM,IAAI1hf,KAAKwhf,EAAYC,eAAeE,qBAAqB,EA2B/IC,GACuB,OAAnBxuE,EAAKsD,YAxHS9ta,WACd,IACI,MAAMi5e,QAAcngN,GAAK23E,OAAO,kBAAD51W,OAAmBswa,KAClDwsE,GAAgBsB,EAAMz/e,KAAI,SAAUgP,GAChC,OAAOA,EAAKska,MAChB,KACAknE,EAAciF,EAAMz/e,KAAI,SAAUgP,GAC9B,OAAOA,EAAKuse,IAChB,KACAb,EAAe+E,EAAMz/e,KAAI,SAAUgP,GAC/B,OAAOA,EAAKyse,KAChB,KACA,MAAM5/d,EAAS4je,EAAMxgf,QAAO,CAACg+D,EAAOzgB,IAAyBygB,EAAQzgB,EAAa++b,MAAM,GAClFmE,EAAUD,EAAMxgf,QAAO,CAACg+D,EAAOzgB,IAAyBygB,EAAQzgB,EAAai/b,OAAO,GAC1FD,EAAQv7P,GAAapkO,IACrB6/d,EAASz7P,GAAay/P,IACtB9D,EAAS37P,GAAapkO,EAAS6je,IAC/B5D,EAAW77P,GAAaw/P,EAAM,GAAG5D,SACrC,CACA,MAAO/mf,GAAKoF,QAAQyF,IAAI7K,EAAG,CAAC,QAClB0nf,GAAY,EAAO,GAqG7BmD,GACAb,IApBat4e,WACb,MAAM0qa,QAAgB5xI,GAAK23E,OAAO,gBAAD51W,OAAiBswa,KAClD,IAAIpB,EAAY,GAChBW,EAAQlxa,KAAIwgB,IACR,IAAIgwZ,EAAc,CAAEp9a,MAAOotB,EAAgB,OAAGy5C,MAAOz5C,EAAc,MAEnE,OADA+vZ,EAAUl7a,KAAKm7a,GACR,CAAC,IAEW,OAAnBQ,EAAKsD,WACL/D,EAAUl7a,KAAK,CAAEjC,MAAO,IAAK6mE,MAAO,QAExC83W,EAASxB,EAAU,EAUnB0B,GACA8sE,KAEmB,OAAnB/tE,EAAKsD,WAhDS9ta,WACd,MAAMi4e,QAAcn/M,GAAK23E,OAAO,4BAChCmkI,EAAYqD,EAAMz+e,KAAI,SAAUgP,GAC5B,OAAOA,EAAKlT,IAChB,KACAk/e,EAAYyD,EAAMz+e,KAAI,SAAUgP,GAC5B,OAAOA,EAAK4we,IAChB,KACAtE,EAAYmD,EAAMz+e,KAAI6/e,GAASA,EAAMD,OAAM3gf,QAAO,CAACtK,EAAGC,IAAMD,EAAIC,KAChE8nf,GAAY,EAAM,EAwClBoD,GAEmB,OAAnB9uE,EAAKsD,YACLwqE,IACAC,IACJ,GAED,CAACptE,GAAeorE,EAAWE,EAAah9P,GAAcs+P,GAAoBvtE,IAE7E,MAaMz3a,GAAO,CACT+tc,OAAQ42C,GACRvyD,SAAU,CACN,CACI1xX,MAAO+jb,GAAe,WAAa,QACnC5qR,gBAAiB,sBACjB75N,KAAMykf,GAAeR,GAAiBjD,EACtC1lJ,MAAM,EACN8kJ,WAAY,CACR1mR,MAAO,OACPkmN,MAAO,MACPq7D,OAAQ,MACRr8U,QAASimV,GACTtuZ,UAAW,SAAU18F,EAAOkK,GACxB,OAAI0gf,GACO5qf,EACFmlE,QAAQ,GACR35D,QAAQ,0BAA2B,OAClC,IAGCxL,EACFmlE,QAAQ,GACR35D,QAAQ,0BAA2B,MAGhD,EACAitb,KAAM,CACFprX,OAAQ,UAGjB,CACCxG,MAAO+jb,GAAe,aAAe,SACrC5qR,gBAAiB,0BACjB75N,KAAMykf,GAAeN,GAAmBjD,EACxC5lJ,MAAM,EACN8kJ,WAAY,CACR1mR,MAAO,OACPkmN,MAAO,MACPq7D,OAAQ,MACRr8U,QAASimV,GACTtuZ,UAAW,SAAU18F,EAAOkK,GACxB,OAAI0gf,GACO5qf,EACFmlE,QAAQ,GACR35D,QAAQ,0BAA2B,OAClC,IAGCxL,EACFmlE,QAAQ,GACR35D,QAAQ,0BAA2B,MAEhD,EACAitb,KAAM,CACFprX,OAAQ,YAMtBs/a,GAAQ,CACVz4C,OAAQ2zC,EACRtvD,SAAU,CACN,CACI1xX,MAAO,WACPm5J,gBAAiB,sBACjB75N,KAAMohf,EACN9lJ,MAAM,EACN8kJ,WAAY,CACR1mR,MAAO,OACPkmN,MAAO,MACPq7D,OAAQ,MACRr8U,QAASimV,GACTtuZ,UAAW,SAAU18F,EAAOkK,GACxB,OAAOlK,EACFmlE,QAAQ,GACR35D,QAAQ,0BAA2B,MAC5C,EACAitb,KAAM,CACFprX,OAAQ,UAIpB,CACIxG,MAAO,aACPm5J,gBAAiB,4BACjB75N,KAAMshf,EACNhmJ,MAAM,EACN8kJ,WAAY,CACR1mR,MAAO,OACPkmN,MAAO,MACPq7D,OAAQ,MACRr8U,QAASimV,GACTtuZ,UAAW,SAAU18F,EAAOkK,GACxB,OAAOlK,EACFmlE,QAAQ,GACR35D,QAAQ,0BAA2B,MAC5C,EACAitb,KAAM,CACFprX,OAAQ,YAOtBu/a,GAAQ,CACV14C,OAAQ6zC,EACRxvD,SAAU,CACN,CACI1xX,MAAO,OACPm5J,gBAAiB,sBACjB75N,KAAMwhf,EACNlmJ,MAAM,EACN8kJ,WAAY,CACR1mR,MAAO,OACPkmN,MAAO,MACPq7D,OAAQ,MACRr8U,SAAS,EACT0zR,KAAM,CACFprX,OAAQ,YA6C5B,OACI4yS,EAAAA,GAAAA,MAACn7B,GAAqB,CAAAn9T,SAAA,CACjBqie,KACG7vI,EAAAA,GAAAA,KAAC0yI,GAAY,CACTtgW,MAAM,EACNhxF,MAAO,CAAEqE,IAAK,OACd0lX,QAAS,iDACTE,UAAWA,KACP2kE,GAAiB,MAAM,EAE3B1kE,SAAUA,KACN0kE,GAAiB,KAAK,KAIlClqI,EAAAA,GAAAA,MAAA,OAAK1kT,MAAO,CAAE8G,UAAW,SAAU16C,SAAA,EAC/BwyV,EAAAA,GAAAA,KAAC/R,GAAU,CAACv3R,UAAU,OAAMlpD,UACxBs4V,EAAAA,GAAAA,MAACngB,GAAG,CAAAn4U,SAAA,EACAs4V,EAAAA,GAAAA,MAACvf,GAAG,CAACjB,GAAG,KAAKC,GAAG,IAAIC,GAAG,IAAGh4U,SAAA,EACtBwyV,EAAAA,GAAAA,KAACmC,GAAe,CAACzoW,KAAM,GAAIg9D,UAAU,OAAOgvJ,MAAM,YAAY,YAC9Ds6I,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,kBAAiBlpD,SAAC,kBAEtCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAKC,GAAG,IAAIC,GAAG,IAAI9uR,UAAU,WAAUlpD,UAC3CwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,kBAAiBlpD,UAC5Bs4V,EAAAA,GAAAA,MAACngB,GAAG,CAAAn4U,SAAA,EACAwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAI93U,SACY,OAAnBi2Z,EAAKsD,YAEE/mE,EAAAA,GAAAA,KAAC6lE,GAAW,CACRpqY,GAAG,cACHi7B,UAAU,WACV/iD,QAAS4wZ,EACTt+V,YAAa,GACb5lE,SAAS,QACTm+M,SAta3Bj3N,IACjBwlf,EAAU,uBACVF,EAAU,4BACVxoE,GAAiB98a,EAAE1B,MAAM,OAwaGm6W,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,IAAI5uR,UAAU,WAAUlpD,UAE5BwyV,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3uV,KAAK,KAAKgsN,MAAM,oBAAoBhvJ,UAAU,WAAWtV,MAAO,CAAEC,OAAQ,QAAU66P,QAASA,KAlNrIyzL,GAAgBD,EAkNyI,EAAAlie,UACrHwyV,EAAAA,GAAAA,KAAA,OAAKvzV,IAAKy5E,GAAS06E,IAAI,6BAWnDo/L,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,kBAAiBlpD,UAE5Bs4V,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,MAAKlpD,SAAA,EAChBs4V,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,OAAMlpD,SAAA,EACjBwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAK90C,GAAG,KAAKg1C,GAAG,IAAGh4U,UACvBs4V,EAAAA,GAAAA,MAACpY,GAAI,CAACh3R,UAAU,OAAMlpD,SAAA,EAClBwyV,EAAAA,GAAAA,KAAC/R,GAAU,CAAAzgV,UACPs4V,EAAAA,GAAAA,MAACngB,GAAG,CAAAn4U,SAAA,EACAs4V,EAAAA,GAAAA,MAACvf,GAAG,CAACjB,GAAG,KAAKljD,GAAG,IAAG50R,SAAA,CACdije,IACIzwI,EAAAA,GAAAA,KAACgC,GAAc,CAACtoW,KAAM,GAAIg9D,UAAU,OAAOgvJ,MAAM,aAEjDs6I,EAAAA,GAAAA,KAACqC,GAAiB,CAAC3oW,KAAM,GAAIg9D,UAAU,OAAOgvJ,MAAM,aAEzDs6I,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,4BAA2BlpD,SACtCije,GAAe,mBAAqB,sBAGzB,OAAnBhtE,EAAKsD,YACF/mE,EAAAA,GAAAA,KAACzZ,GAAG,CAAC7vR,UAAU,WAAUlpD,UACrBwyV,EAAAA,GAAAA,KAAC3X,GAAM,CAAC5sT,GAAG,KAAKltC,KAAK,KAAKmoE,UAAW,2BAA4BwlP,QAASA,IAAMw0L,IAAiBD,IAAcjje,SAC1Gije,GAAe,KAAO,eAO3CzwI,EAAAA,GAAAA,KAAC/R,GAAU,CAACv3R,UAAU,GAAGtV,MAAO,CAAEykK,gBAAiB,WAAYr4M,SAC1D4he,GAvHjCpvI,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,yBAAyBtV,MAAO,CAAEC,OAAQ,QAAS7zC,UAC9DwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,cAAalpD,UACxBwyV,EAAAA,GAAAA,KAACL,GAAO,QAuHsB8wI,IAhGtC3qI,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,EACIs4V,EAAAA,GAAAA,MAACngB,GAAG,CAAAn4U,SAAA,EACAwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAAC7vR,UAAU,4BAA2BlpD,SAAC,qBAC3CwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAAC7vR,UAAU,4BAA2BlpD,SAAC,0BAE/Cs4V,EAAAA,GAAAA,MAACngB,GAAG,CAAAn4U,SAAA,EACAs4V,EAAAA,GAAAA,MAACvf,GAAG,CAAC7vR,UAAU,iCAAgClpD,SAAA,CAAE6ie,GAAc,QAC/DvqI,EAAAA,GAAAA,MAACvf,GAAG,CAAC7vR,UAAU,iCAAgClpD,SAAA,CAAE+ie,GAAgB,cAxBzEzqI,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,EACIs4V,EAAAA,GAAAA,MAACngB,GAAG,CAAAn4U,SAAA,EACAwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAAC7vR,UAAU,4BAA2BlpD,SAAC,eAC3CwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAAC7vR,UAAU,4BAA2BlpD,SAAC,eAC3CwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAAC7vR,UAAU,4BAA2BlpD,SAAC,aAC3CwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnlS,MAAO,CAAEuxb,WAAY,kBAAoBj8a,UAAU,4BAA2BlpD,SAAC,kBAExFs4V,EAAAA,GAAAA,MAACngB,GAAG,CAAAn4U,SAAA,EACAwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAAC7vR,UAAU,iCAAgClpD,SAAEwge,KACjDhuI,EAAAA,GAAAA,KAACzZ,GAAG,CAAC7vR,UAAU,iCAAgClpD,SAAE0ge,KACjDluI,EAAAA,GAAAA,KAACzZ,GAAG,CAAC7vR,UAAU,iCAAgClpD,SAAE4ge,KACjDpuI,EAAAA,GAAAA,KAACzZ,GAAG,CAACnlS,MAAO,CAAEuxb,WAAY,kBAAoBj8a,UAAU,iCAAgClpD,SAAE8ge,aA4GtEtuI,EAAAA,GAAAA,KAAClS,GAAQ,CAAAtgV,SACJwhe,GACGhvI,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,yBAAyBtV,MAAO,CAAEC,OAAQ,SAAU7zC,UAC/DwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,cAAalpD,UACxBwyV,EAAAA,GAAAA,KAACL,GAAO,SAKhBK,EAAAA,GAAAA,KAACkmI,GAAG,CAACl6e,KAAMA,GAAMo1D,MAAO,CAAE6G,UAAW,kBAM3C,OAATw7W,GACGzjE,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAK90C,GAAG,KAAKg1C,GAAG,IAAGh4U,UACvBs4V,EAAAA,GAAAA,MAACpY,GAAI,CAACh3R,UAAU,OAAMlpD,SAAA,EAClBwyV,EAAAA,GAAAA,KAAC/R,GAAU,CAAAzgV,UACPs4V,EAAAA,GAAAA,MAACngB,GAAG,CAAAn4U,SAAA,EACAs4V,EAAAA,GAAAA,MAACvf,GAAG,CAACjB,GAAG,KAAKC,GAAG,IAAG/3U,SAAA,EACfwyV,EAAAA,GAAAA,KAACiC,GAAiB,CAACvoW,KAAM,GAAIg9D,UAAU,OAAOgvJ,MAAM,YAAY,YAChEs6I,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,4BAA2BlpD,SAAC,sBAEhDwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAKC,GAAG,IAAG/3U,UACfs4V,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,WAAUlpD,SAAA,EACrBwyV,EAAAA,GAAAA,KAAC3X,GAAM,CAAC5sT,GAAG,UAAUltC,KAAK,UAAUmoE,UAAWk2a,EAAQ1wL,QAAS+0L,GAAYzje,SAAC,aAC7EwyV,EAAAA,GAAAA,KAAC3X,GAAM,CAAC5sT,GAAG,OAAOltC,KAAK,OAAOmoE,UAAWo2a,EAAQ5wL,QAAS+0L,GAAYzje,SAAC,oBAKvFwyV,EAAAA,GAAAA,KAAC/R,GAAU,CAAC7sS,MAAO,CAAEykK,gBAAiB,WAAYr4M,SAC7C4he,GACGpvI,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,yBAAyBtV,MAAO,CAAEC,OAAQ,QAAS7zC,UAC9DwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,cAAalpD,UACxBwyV,EAAAA,GAAAA,KAACL,GAAO,SAIhBmG,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,EACIs4V,EAAAA,GAAAA,MAACngB,GAAG,CAAAn4U,SAAA,EACAwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAAC7vR,UAAU,4BAA2BlpD,SAAC,aAC3CwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAAC7vR,UAAU,4BAA2BlpD,SAAC,eAC3CwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAAC7vR,UAAU,4BAA2BlpD,SAAC,oBAE/Cs4V,EAAAA,GAAAA,MAACngB,GAAG,CAAAn4U,SAAA,EACAwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAAC7vR,UAAU,iCAAgClpD,SAAEshe,KACjD9uI,EAAAA,GAAAA,KAACzZ,GAAG,CAAC7vR,UAAU,iCAAgClpD,SAAEghe,KACjDxuI,EAAAA,GAAAA,KAACzZ,GAAG,CAAC7vR,UAAU,iCAAgClpD,SAAEkhe,aAKjE1uI,EAAAA,GAAAA,KAAClS,GAAQ,CAAAtgV,SACJ0he,GACGlvI,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,yBAAyBtV,MAAO,CAAEC,OAAQ,SAAU7zC,UAC/DwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,cAAalpD,UACxBwyV,EAAAA,GAAAA,KAACL,GAAO,SAKhBK,EAAAA,GAAAA,KAACkmI,GAAG,CAACl6e,KAAMwmf,GAAO7+d,QAAS29d,GAAUlwb,MAAO,CAAE6G,UAAW,mBAMzE+3S,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAK90C,GAAG,KAAKg1C,GAAG,IAAGh4U,UACvBs4V,EAAAA,GAAAA,MAACpY,GAAI,CAACh3R,UAAU,OAAMlpD,SAAA,EAClBwyV,EAAAA,GAAAA,KAAC/R,GAAU,CAAAzgV,UACPs4V,EAAAA,GAAAA,MAACngB,GAAG,CAAAn4U,SAAA,EACAs4V,EAAAA,GAAAA,MAACvf,GAAG,CAACjB,GAAG,IAAG93U,SAAA,EACPwyV,EAAAA,GAAAA,KAACkC,GAAgB,CAACxoW,KAAM,GAAIg9D,UAAU,OAAOgvJ,MAAM,YAAY,YAC/Ds6I,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,4BAA2BlpD,SAAC,mCAEhDwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,IAAG93U,UACPwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,qBAK3BspS,EAAAA,GAAAA,KAAC/R,GAAU,CAAC7sS,MAAO,CAAEykK,gBAAiB,WAAYr4M,SAC7C4he,GACGpvI,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,yBAAyBtV,MAAO,CAAEC,OAAQ,QAAS7zC,UAC9DwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,cAAalpD,UACxBwyV,EAAAA,GAAAA,KAACL,GAAO,SAIhBmG,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,EACIwyV,EAAAA,GAAAA,KAACra,GAAG,CAAAn4U,UACAwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAAC7vR,UAAU,4BAA2BlpD,SAAC,0BAE/CwyV,EAAAA,GAAAA,KAACra,GAAG,CAAAn4U,UACAwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAAC7vR,UAAU,iCAAgClpD,SAAEsge,YAKjE9tI,EAAAA,GAAAA,KAAClS,GAAQ,CAAAtgV,SACJ0he,GACGlvI,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,yBAAyBtV,MAAO,CAAEC,OAAQ,SAAU7zC,UAC/DwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,cAAalpD,UACxBwyV,EAAAA,GAAAA,KAACL,GAAO,SAKhBK,EAAAA,GAAAA,KAACkmI,GAAG,CAACl6e,KAAMymf,GAAO9+d,QAAS29d,GAAUlwb,MAAO,CAAE6G,UAAW,sBAOjF69S,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,OAAMlpD,SAAA,EAEjBwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,KAAKoO,GAAG,IAAIg1C,GAAG,IAAI9uR,UAAU,OAAMlpD,UACvCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,qDAAqDtV,MAAO,CAAEmmL,OAAQ,WAAa20E,QAASA,IArYzGjjT,WAC1Bq2e,GAAY,GACZT,EAAiB,gCACX98M,GAAK23E,OAAO,qBAClBmlI,EAAiB,2BACjBY,GAAcD,EAAU,EAgYiHoD,GAAuBple,UACpIwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,sBAAqBlpD,UAChCs4V,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,yBAAwBlpD,SAAA,EACnCs4V,EAAAA,GAAAA,MAACvf,GAAG,CAAA/4U,SAAA,EACAwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,iBAAgBlpD,SAAC,uBAEhCs4V,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,+BAA8BlpD,SAAA,CAAEohe,EAAc,eAIjE5uI,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,WAAUlpD,SACpBszZ,GACG9gE,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,yBAAwBlpD,UACnCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,cAAalpD,UACxBwyV,EAAAA,GAAAA,KAACL,GAAO,SAIhBK,EAAAA,GAAAA,KAAA,OAAKvzV,IAAKome,GAASzxb,MAAO,CAAEv/C,MAAO,QAAU++J,IAAI,iBAQzEo/L,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,KAAKoO,GAAG,IAAIg1C,GAAG,IAAI9uR,UAAU,OAAMlpD,UACvCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,qDAAqDtV,MAAO,CAAEmmL,OAAQ,WAAa20E,QAASA,KA5qB5G,OAAnBunH,EAAKsD,WACL6oE,IAAa,GACb19E,IAAcD,KAEd5ia,OAAO4ja,MAAM,sBAwqBoI,EAAAzlZ,UACzHwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,sBAAqBlpD,UAChCs4V,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,yBAAwBlpD,SAAA,EACnCs4V,EAAAA,GAAAA,MAACvf,GAAG,CAAA/4U,SAAA,EACAwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,iBAAgBlpD,SAAC,wBAEhCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,+BAA8BlpD,SAAC,6CAIlDwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,WAAUlpD,UACrBwyV,EAAAA,GAAAA,KAAA,OAAKvzV,IAAKqme,GAAc1xb,MAAO,CAAEv/C,MAAO,QAAU++J,IAAI,iBAM1Eo/L,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,KAAKoO,GAAG,IAAIg1C,GAAG,IAAI9uR,UAAU,OAAMlpD,UACvCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,qDAAqDtV,MAAO,CAAEmmL,OAAQ,WAAa20E,QAASA,KArrB5G,OAAnBunH,EAAKsD,WACL6oE,IAAa,GACb19E,IAAa,IAEb7ia,OAAO4ja,MAAM,sBAirB0I,EAAAzlZ,UAC/HwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,sBAAqBlpD,UAChCs4V,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,yBAAwBlpD,SAAA,EACnCs4V,EAAAA,GAAAA,MAACvf,GAAG,CAAA/4U,SAAA,EACAwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,iBAAgBlpD,SAAC,0BAEhCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,+BAA8BlpD,SAAC,uCAIlDwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,WAAUlpD,SACpB+he,GACGvvI,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,yBAAwBlpD,UACnCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,cAAalpD,UACxBwyV,EAAAA,GAAAA,KAACL,GAAO,SAIhBK,EAAAA,GAAAA,KAAA,OAAKvzV,IAAKsme,GAAS3xb,MAAO,CAAEv/C,MAAO,QAAU++J,IAAI,iBAQzEo/L,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,KAAKoO,GAAG,IAAIg1C,GAAG,IAAI9uR,UAAU,OAAMlpD,UACvCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,qDAAqDtV,MAAO,CAAEmmL,OAAQ,WAAa20E,QAASA,KA9lBnI7sT,OAAO8yC,KAAK,wCA8lB6I,EAAA30B,UAC7HwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,sBAAqBlpD,UAChCs4V,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,yBAAwBlpD,SAAA,EACnCs4V,EAAAA,GAAAA,MAACvf,GAAG,CAAA/4U,SAAA,EACAwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,iBAAgBlpD,SAAC,oBAEhCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,+BAA8BlpD,SAAC,wCAIlDwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,WAAUlpD,UACrBwyV,EAAAA,GAAAA,KAAA,OAAKvzV,IAAKume,GAAW5xb,MAAO,CAAEv/C,MAAO,QAAU++J,IAAI,wBAUlFqxP,KAAajyD,EAAAA,GAAAA,KAACizI,GAAY,CAACjjF,WA1rBrBA,KACfkC,IAAa,GACb8M,IAAgB7M,GAAY,EAwrBgClC,eAAe,EAAM2Q,cAAc,EAAMC,UAAWA,GAAWC,SAAUA,EAAUC,YAAaA,EAAa8tE,iBAAkBA,EAAkBW,UAAWA,EAAWC,aAAcA,SAGzN,ECr0BhC,IAAI7hc,GAAsC,WAStC,OARAA,GAAW7lD,OAAO0wB,QAAU,SAASsB,GACjC,IAAK,IAAI4H,EAAGx4B,EAAI,EAAG46B,EAAI32B,UAAUlH,OAAQiD,EAAI46B,EAAG56B,IAE5C,IAAK,IAAIkE,KADTs0B,EAAIv0B,UAAUjE,GACOpB,OAAOiB,UAAUuC,eAAesD,KAAK8yB,EAAGt0B,KACzD0sB,EAAE1sB,GAAKs0B,EAAEt0B,IAEjB,OAAO0sB,CACX,EACO6zB,GAAS9+C,MAAMhG,KAAMsE,UAChC,EAEW8lf,GAAiB,CACxBC,WAAY1mN,GAAAA,KACZ2mN,UAAW3mN,GAAAA,KACX4mN,gBAAiB5mN,GAAAA,KACjB6mN,oBAAqB7mN,GAAAA,KACrB8mN,mBAAoB9mN,GAAAA,KACpB+mN,iBAAkB/mN,GAAAA,KAClBgnN,mBAAoBhnN,GAAAA,KACpBinN,cAAejnN,GAAAA,KACf+7D,OAAQ/7D,GAAAA,KACRjuE,SAAUiuE,GAAAA,KACVknN,aAAclnN,GAAAA,KACdyvB,QAASzvB,GAAAA,KACT15I,cAAe05I,GAAAA,KACfmnN,gBAAiBnnN,GAAAA,KACjBonN,iBAAkBpnN,GAAAA,KAClBqnN,mBAAoBrnN,GAAAA,KACpBsnN,oBAAqBtnN,GAAAA,KACrBunN,OAAQvnN,GAAAA,KACRwnN,MAAOxnN,GAAAA,KACPynN,WAAYznN,GAAAA,KACZ0nN,aAAc1nN,GAAAA,KACd2nN,QAAS3nN,GAAAA,KACT4nN,OAAQ5nN,GAAAA,KACR6nN,WAAY7nN,GAAAA,KACZ8nN,UAAW9nN,GAAAA,KACX+nN,cAAe/nN,GAAAA,KACfgoN,WAAYhoN,GAAAA,KACZioN,OAAQjoN,GAAAA,KACRkoN,cAAeloN,GAAAA,KACf1gE,QAAS0gE,GAAAA,KACTjhN,UAAWihN,GAAAA,KACXhhN,WAAYghN,GAAAA,KACZmoN,aAAcnoN,GAAAA,KACdooN,OAAQpoN,GAAAA,KACRqoN,OAAQroN,GAAAA,KACRsoN,QAAStoN,GAAAA,KACT5uN,UAAW4uN,GAAAA,KACXhvI,WAAYgvI,GAAAA,KACZgtE,QAAShtE,GAAAA,KACTuoN,cAAevoN,GAAAA,KACf7uN,YAAa6uN,GAAAA,KACbhvN,aAAcgvN,GAAAA,KACd/uN,aAAc+uN,GAAAA,KACd9uN,YAAa8uN,GAAAA,KACbzxI,WAAYyxI,GAAAA,KACZxxI,YAAawxI,GAAAA,KACbn1K,UAAWm1K,GAAAA,KACXwoN,aAAcxoN,GAAAA,KACdyoN,oBAAqBzoN,GAAAA,KACrB0oN,gBAAiB1oN,GAAAA,KACjB2oN,iBAAkB3oN,GAAAA,KAClB4oN,QAAS5oN,GAAAA,KACT6oN,cAAe7oN,GAAAA,KACf8oN,aAAc9oN,GAAAA,KACd+oN,aAAc/oN,GAAAA,KACdgpN,gBAAiBhpN,GAAAA,KACjBipN,OAAQjpN,GAAAA,KACRkpN,SAAUlpN,GAAAA,KACVmpN,QAASnpN,GAAAA,KACTopN,cAAeppN,GAAAA,KACfqpN,kBAAmBrpN,GAAAA,KACnBspN,YAAatpN,GAAAA,KACbupN,aAAcvpN,GAAAA,KACdwpN,OAAQxpN,GAAAA,KACRypN,SAAUzpN,GAAAA,KACV0pN,OAAQ1pN,GAAAA,KACR2pN,YAAa3pN,GAAAA,KACb4pN,gBAAiB5pN,GAAAA,KACjB6pN,iBAAkB7pN,GAAAA,KAClB8pN,iBAAkB9pN,GAAAA,KAClB+pN,kBAAmB/pN,GAAAA,KACnBgqN,iBAAkBhqN,GAAAA,KAClBiqN,oBAAqBjqN,GAAAA,KACrBkqN,cAAelqN,GAAAA,KACfmqN,mBAAoBnqN,GAAAA,MAEboqN,GAAkBjpc,GAAS,CAAEkpc,OAAQrqN,GAAAA,OAAkBsqN,WAAYtqN,GAAAA,OAAkBhxP,GAAIgxP,GAAAA,OAAkBuuE,OAAQvuE,GAAAA,KAAgB9mQ,KAAM8mQ,GAAAA,OAAkB7qP,aAAc6qP,GAAAA,OAAkBuqN,eAAgBvqN,GAAAA,KAAgB5mS,MAAO4mS,GAAAA,OAAkB30K,QAAS20K,GAAAA,OAAkB5rO,SAAU4rO,GAAAA,OAAkBwqN,aAAcxqN,GAAAA,OAAkByyJ,QAASzyJ,GAAAA,UAAoB,CAACA,GAAAA,OAAkBA,GAAAA,QAAmByqN,QAASzqN,GAAAA,UAAoB,CAACA,GAAAA,OAAkBA,GAAAA,QAAmB5oO,SAAU4oO,GAAAA,KAAgB0qN,aAAc1qN,GAAAA,OAAkB2qN,iBAAkB3qN,GAAAA,UAAoB,CACpjBA,GAAAA,OACAA,GAAAA,QAAkBA,GAAAA,QAClBA,GAAAA,QAAkBA,GAAAA,MAAgB,CAC9BhgR,IAAKggR,GAAAA,OACLxzR,MAAOwzR,GAAAA,KACP4qN,MAAO5qN,GAAAA,UAEX6qN,SAAU7qN,GAAAA,UAAoB,CAACA,GAAAA,OAAkBA,GAAAA,MAAgB,EAAC,MAAW8qN,cAAe9qN,GAAAA,MAAgB,CAC5GxzR,MAAOwzR,GAAAA,KACP4qN,MAAO5qN,GAAAA,KACP1uN,MAAO0uN,GAAAA,UACLymN,ICpGCvkf,GAAa,SAAUo8D,GAAK,MAAoB,oBAANA,CAAkB,EACnEysb,GAAc,SAAUjpf,GAAQ,OAAOA,KAAQ2kf,EAAgB,EAC/DuE,GAAuB,SAAUC,GAAY,OAAOA,EAASx2d,OAAO,EAAI,EAoBjEy2d,GAAiB,SAAUC,EAAQ90O,EAAWtsQ,EAAOqhf,EAAe1M,GAC3E,OApByB,SAAU2M,EAAel6X,EAAIm6X,EAAKr0N,EAAS5gB,EAAWtsQ,EAAOqhf,GACtF,IAAIG,EAAgBjwf,OAAOmB,KAAK45Q,GAAW33Q,OAAOqsf,IAC9CS,EAAgBlwf,OAAOmB,KAAKsN,GAAOrL,OAAOqsf,IAC1CU,EAAcF,EAAc7sf,QAAO,SAAUrB,GAAO,YAAsBxD,IAAfkQ,EAAM1M,EAAoB,IACrFquf,EAAYF,EAAc9sf,QAAO,SAAUrB,GAAO,YAA0BxD,IAAnBw8Q,EAAUh5Q,EAAoB,IAC3Fouf,EAAYrwf,SAAQ,SAAUiC,GAE1B,IAAIyoB,EAAYkle,GAAqB3tf,GACjCsuf,EAAiBP,EAActle,GACnCwle,EAAIxle,EAAW6le,UACRP,EAActle,EACzB,IACA4le,EAAUtwf,SAAQ,SAAUiC,GACxB,IAAIsuf,EAAiB10N,EAAQo0N,EAAehuf,GACxCyoB,EAAYkle,GAAqB3tf,GACrC+tf,EAActle,GAAa6le,EAC3Bx6X,EAAGrrG,EAAW6le,EAClB,GACJ,CAEWC,CAAgBlN,EAAQyM,EAAOh6X,GAAGvqH,KAAKukf,GAASA,EAAOG,IAAI1kf,KAAKukf,IAEvE,SAAUE,EAAehuf,GAAO,OAAO,SAAUvC,GAAK,IAAIsuB,EAAI,OAAqC,QAA7BA,EAAKiie,EAAchuf,UAAyB,IAAP+rB,OAAgB,EAASA,EAAGtuB,EAAGqwf,EAAS,CAAG,GAAG90O,EAAWtsQ,EAAOqhf,EAC/K,EACIS,GAAS,EACFC,GAAO,SAAU31b,GACxB,IAAIq7M,EAAO5tQ,KAAKq1F,MAGhB,OAAO9iC,EAAS,IAFH56C,KAAKmsC,MAAsB,IAAhBnsC,KAAKs4G,aAC7Bg4X,GACwCz2d,OAAOo8O,EACnD,EACWu6O,GAAoB,SAAUvle,GACrC,OAAmB,OAAZA,IAAuD,aAAlCA,EAAQ6kG,QAAQh3F,eAAkE,UAAlC7N,EAAQ6kG,QAAQh3F,cAChG,EACI23d,GAAuB,SAAUv5D,GACjC,MAAuB,qBAAZA,GAAuC,KAAZA,EAC3B,GAEJv1b,MAAMC,QAAQs1b,GAAWA,EAAUA,EAAQ9yb,MAAM,IAC5D,EAiBWssf,GAAU,SAAUd,EAAQvjM,QACpB/tT,IAAXsxf,IACmB,MAAfA,EAAOvjM,MAAuC,kBAAhBujM,EAAOvjM,MAAgD,oBAApBujM,EAAOvjM,KAAKzmT,IAC7Egqf,EAAOvjM,KAAKzmT,IAAIymT,GAGhBujM,EAAOc,QAAQrkM,GAG3B,ECrEIzmQ,GAAsC,WAStC,OARAA,GAAW7lD,OAAO0wB,QAAU,SAASsB,GACjC,IAAK,IAAI4H,EAAGx4B,EAAI,EAAG46B,EAAI32B,UAAUlH,OAAQiD,EAAI46B,EAAG56B,IAE5C,IAAK,IAAIkE,KADTs0B,EAAIv0B,UAAUjE,GACOpB,OAAOiB,UAAUuC,eAAesD,KAAK8yB,EAAGt0B,KACzD0sB,EAAE1sB,GAAKs0B,EAAEt0B,IAEjB,OAAO0sB,CACX,EACO6zB,GAAS9+C,MAAMhG,KAAMsE,UAChC,EAEIurf,GAAkB,SAAUz3V,EAAKz/I,EAAMggV,GACvC,IAAI5rU,EAAI8V,EACJitd,EAAY13V,EAAIxuI,cAAc,UAClCkme,EAAUC,eAAiB,SAC3BD,EAAUx+e,KAAO,yBACjBw+e,EAAUn9c,GAAKh6B,EAAKg6B,GACpBm9c,EAAUnse,IAAMhL,EAAKgL,IACrBmse,EAAU3/e,MAA8B,QAArB4c,EAAKpU,EAAKxI,aAA0B,IAAP4c,GAAgBA,EAChE+ie,EAAUvB,MAA8B,QAArB1rd,EAAKlqB,EAAK41e,aAA0B,IAAP1rd,GAAgBA,EAChE,IAAImtd,EAAc,WACdF,EAAU9+e,oBAAoB,OAAQg/e,GACtCF,EAAU9+e,oBAAoB,QAASi/e,GACvCt3J,EAAQhgV,EAAKgL,IACjB,EACIsse,EAAe,SAAUp6N,GACzBi6N,EAAU9+e,oBAAoB,OAAQg/e,GACtCF,EAAU9+e,oBAAoB,QAASi/e,GACvCt3J,EAAQhgV,EAAKgL,IAAKkyQ,EACtB,EACAi6N,EAAUj/e,iBAAiB,OAAQm/e,GACnCF,EAAUj/e,iBAAiB,QAASo/e,GAChC73V,EAAIyzK,MACJzzK,EAAIyzK,KAAKxzQ,YAAYy3b,EAE7B,EA0GWI,GA7Bc,WACrB,IAAIppL,EAAQ,GACRqpL,EAA0B,SAAU/3V,GACpC,IAAIg4V,EAAStpL,EAAM12S,MAAK,SAAU+mN,GAAK,OAAOA,EAAE3rJ,gBAAkB4sE,CAAK,IAKvE,YAJe56J,IAAX4yf,IACAA,EAjFqB,SAAUh4V,GACvC,IAAIiqV,EAAS,CAAC,EACVgO,EAA2B,SAAU1se,EAAKkyQ,GAC1C,IAAIl9Q,EAAO0pe,EAAO1+d,GAClBhL,EAAKmiB,MAAO,EACZniB,EAAKpN,MAAQsqR,EACb,IAAK,IAAIxxR,EAAK,EAAG0oB,EAAKpU,EAAKqhR,SAAU31R,EAAK0oB,EAAG3vB,OAAQiH,KAEjD6lD,EADQn9B,EAAG1oB,IACTsf,EAAKkyQ,GAEXl9Q,EAAKqhR,SAAW,EACpB,EA2DA,MAAO,CACHs2N,YA3Dc,SAAU/ne,EAAO4nM,EAASogS,GAExC,IAAIC,EAAe,SAAU36N,GAAO,YAAmBr4R,IAAZ+yf,EAAwBA,EAAQ16N,GAAOhyR,QAAQ0H,MAAMsqR,EAAM,EACtG,GAAqB,IAAjBttQ,EAAMnrB,OAkBV,IAdA,IAAIqzf,EAAe,EACfC,GAAS,EACT7qI,EAAS,SAAU8qI,EAAM96N,GACrB66N,IAGA76N,GACA66N,GAAS,EACTF,EAAa36N,MAEN46N,IAAiBloe,EAAMnrB,QAC9B+yN,IAER,EACS9rN,EAAK,EAAGusf,EAAUroe,EAAOlkB,EAAKusf,EAAQxzf,OAAQiH,IAAM,CACzD,IAAIsU,EAAOi4e,EAAQvsf,GACfmjV,EAAW66J,EAAO1pe,EAAKgL,KAC3B,GAAI6jU,EACIA,EAAS1sT,KACT+qV,EAAOltW,EAAKgL,IAAK6jU,EAASj8U,OAG1Bi8U,EAASxtD,SAASh7R,KAAK6mX,OAG1B,CAED,IAAIlzU,EAAK88c,GAAK,SACdpN,EAAO1pe,EAAKgL,KAAO,CACfgvB,GAAIA,EACJhvB,IAAKhL,EAAKgL,IACVmX,MAAM,EACNvvB,MAAO,KACPyuR,SAAU,CAAC6rF,IAEfgqI,GAAgBz3V,EAAKtzG,GAAS,CAAEnS,GAAIA,GAAMh6B,GAAO03e,EACrD,CACJ,MAxCIG,EAAa,IAAIvmf,MAAM,wCAyC/B,EAeI4mf,cAdgB,WAEhB,IADA,IAAI9je,EACK1oB,EAAK,EAAGw+B,EAAK5jC,OAAOP,OAAO2jf,GAASh+e,EAAKw+B,EAAGzlC,OAAQiH,IAAM,CAC/D,IAAIsU,EAAOkqB,EAAGx+B,GACVyrf,EAAY13V,EAAIgwN,eAAezvW,EAAKg6B,IACvB,MAAbm9c,GAA2C,WAAtBA,EAAU9gY,UACC,QAA/BjiG,EAAK+ie,EAAU72b,kBAA+B,IAAPlsC,GAAyBA,EAAG0rC,YAAYq3b,GAExF,CACAzN,EAAS,CAAC,CACd,EAKI72Z,YAJc,WAAc,OAAO4sE,CAAK,EAMhD,CAMqB04V,CAA2B14V,GACpC0uK,EAAM9nU,KAAKoxf,IAERA,CACX,EAeA,MAAO,CACHW,SAfW,SAAU34V,EAAK7vI,EAAO0sD,EAAOk7I,EAASogS,GACjD,IAAIS,EAAS,WAAc,OAAOb,EAAwB/3V,GAAKk4V,YAAY/ne,EAAO4nM,EAASogS,EAAU,EACjGt7a,EAAQ,EACRzuE,WAAWwqf,EAAQ/7a,GAGnB+7a,GAER,EAQIC,aAPe,WACf,IAAK,IAAIb,EAAStpL,EAAMx1P,MAAiB,MAAV8+a,EAAgBA,EAAStpL,EAAMx1P,MAC1D8+a,EAAOS,eAEf,EAKJ,CAC0BK,GC9ItBC,GAAa,SAAUz3W,GACvB,IAAI64F,EAAS74F,EACb,OAAO64F,GAAUA,EAAO6+Q,QAAU7+Q,EAAO6+Q,QAAU,IACvD,ECHIple,GAAyC,WACzC,IAAIC,EAAgB,SAAUnd,EAAGvQ,GAI7B,OAHA0tB,EAAgBhtB,OAAOitB,gBAClB,CAAEC,UAAW,cAAgBtrB,OAAS,SAAUiO,EAAGvQ,GAAKuQ,EAAEqd,UAAY5tB,CAAG,GAC1E,SAAUuQ,EAAGvQ,GAAK,IAAK,IAAIgG,KAAKhG,EAAOU,OAAOiB,UAAUuC,eAAesD,KAAKxH,EAAGgG,KAAIuK,EAAEvK,GAAKhG,EAAEgG,GAAI,EAC7F0nB,EAAcnd,EAAGvQ,EAC5B,EACA,OAAO,SAAUuQ,EAAGvQ,GAChB,GAAiB,oBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAIw8B,UAAU,uBAAyBhC,OAAOx6B,GAAK,iCAE7D,SAAS6tB,IAAOpsB,KAAK0B,YAAcoN,CAAG,CADtCmd,EAAcnd,EAAGvQ,GAEjBuQ,EAAE5O,UAAkB,OAAN3B,EAAaU,OAAOotB,OAAO9tB,IAAM6tB,EAAGlsB,UAAY3B,EAAE2B,UAAW,IAAIksB,EACnF,CACJ,CAd6C,GAezC04B,GAAsC,WAStC,OARAA,GAAW7lD,OAAO0wB,QAAU,SAASsB,GACjC,IAAK,IAAI4H,EAAGx4B,EAAI,EAAG46B,EAAI32B,UAAUlH,OAAQiD,EAAI46B,EAAG56B,IAE5C,IAAK,IAAIkE,KADTs0B,EAAIv0B,UAAUjE,GACOpB,OAAOiB,UAAUuC,eAAesD,KAAK8yB,EAAGt0B,KACzD0sB,EAAE1sB,GAAKs0B,EAAEt0B,IAEjB,OAAO0sB,CACX,EACO6zB,GAAS9+C,MAAMhG,KAAMsE,UAChC,EASI+sf,GAAwB,SAAU5ke,GAElC,SAAS4ke,EAAO3jf,GACZ,IAAIqf,EAAI8V,EAAIO,EACR/4B,EAAQoiB,EAAO1mB,KAAK/F,KAAM0N,IAAU1N,KA2IxC,OA1IAqK,EAAMinf,mBAAgB9zf,EACtB6M,EAAMknf,iBAAc/zf,EACpB6M,EAAMmnf,eAAiB,WACnB,IAAI1C,EAASzkf,EAAMykf,OACf/xf,EAAQsN,EAAMqD,MAAM3Q,MACpB+xf,GAAU/xf,GAASA,IAAUsN,EAAMonf,gBACnC3C,EAAO4C,YAAY5/N,QAAO,WAItB,GAHAg9N,EAAO6C,WAAW50f,GAGdsN,EAAMknf,eAAiBlnf,EAAM6nW,QAAU48I,EAAO8C,YAC9C,IACI9C,EAAOv0Y,UAAUs3Y,eAAexnf,EAAMknf,YAC1C,CACA,MAAO9yf,GAAiB,CAEhC,IAEJ4L,EAAMinf,mBAAgB9zf,CAC1B,EACA6M,EAAMynf,kBAAoB,SAAUC,GAChC,QAA0Bv0f,IAAtB6M,EAAMqD,MAAM3Q,OAAuBsN,EAAMqD,MAAM3Q,QAAUsN,EAAMonf,gBAAkBpnf,EAAMykf,UAClFzkf,EAAM6nW,QAAU7nW,EAAMykf,OAAO8C,YAC9B,IAGIvnf,EAAMknf,YAAclnf,EAAMykf,OAAOv0Y,UAAUy3Y,YAAY,EAC3D,CACA,MAAOvzf,GAAiB,CAGpC,EACA4L,EAAM4nf,yBAA2B,SAAUlrJ,GACvB,UAAZA,EAAI/lW,KAA+B,cAAZ+lW,EAAI/lW,KAAmC,WAAZ+lW,EAAI/lW,KACtDqJ,EAAMynf,kBAAkB/qJ,EAEhC,EACA18V,EAAM6nf,mBAAqB,SAAUH,GACjC,IAAIjD,EAASzkf,EAAMykf,OACnB,GAAIA,GAAUA,EAAOqD,YAAa,CAC9B,IAAIC,EAAatD,EAAOh7O,kBACEt2Q,IAAtB6M,EAAMqD,MAAM3Q,OAAuBsN,EAAMqD,MAAM3Q,QAAUq1f,IAAuC,IAAzB/nf,EAAMqD,MAAM8gf,WAE9Enkf,EAAMinf,gBACPjnf,EAAMinf,cAAgB/qf,OAAOC,WAAW6D,EAAMmnf,eAAgD,kBAAzBnnf,EAAMqD,MAAM8gf,SAAwBnkf,EAAMqD,MAAM8gf,SAAW,OAGpI4D,IAAe/nf,EAAMonf,iBACrBpnf,EAAMonf,eAAiBW,EACnBvsf,GAAWwE,EAAMqD,MAAMwgf,iBACvB7jf,EAAMqD,MAAMwgf,eAAekE,EAAYtD,GAGnD,CACJ,EACAzkf,EAAMgof,0BAA4B,SAAUtrJ,GACxB,cAAZA,EAAI/lW,KAAmC,WAAZ+lW,EAAI/lW,KAC/BqJ,EAAM6nf,mBAAmBnrJ,EAEjC,EACA18V,EAAMwM,WAAa,SAAUy7e,GACzB,IAAIvle,EAAI8V,EAAIO,OACK,IAAbkvd,IAAuBA,EAAW,GACtC,IAAIvwf,EAASsI,EAAMkof,WAAWz0O,QAC9B,GAAK/7Q,EAGL,GH3DS,SAAU+2W,GAC3B,KAAM,gBAAiBx5S,KAAKp/D,WAAY,CAIpC,IAFA,IAAI49Q,EAAUg7F,EACV05I,EAAW15I,EAAK7/S,WACD,MAAZu5b,GAEHA,GADA10O,EAAU00O,GACSv5b,WAEvB,OAAO6kN,IAAYg7F,EAAKtmO,aAC5B,CACA,OAAOsmO,EAAKmvG,WAChB,CG+CiBwqC,CAAQ1wf,GAAb,CAkBA,IAAIqvf,EAAUD,GAAW9mf,EAAMqvI,MAC/B,IAAK03W,EACD,MAAM,IAAInnf,MAAM,qDAEpB,IHnFwByof,EAAaC,EGmFjCC,EAAY9tc,GAASA,GAASA,GAASA,GAAS,CAAC,EAAGz6C,EAAMqD,MAAMmvB,MAAO,CAAEy+C,cAAU99E,EAAWuE,OAAQA,EAAQ8wf,SAAUxof,EAAMqD,MAAMqtD,SAAUm3S,OAAQ7nW,EAAM6nW,OAAQkkF,SHnFhJs8D,EGmFkM,QAA3B3le,EAAK1iB,EAAMqD,MAAMmvB,YAAyB,IAAP9P,OAAgB,EAASA,EAAGqpa,QHnFzNu8D,EGmFkOtof,EAAMqD,MAAM0ob,QHnFvNu5D,GAAqB+C,GAAa1nf,OAAO2kf,GAAqBgD,KGmFmKvE,QAAwC,QAA9Bvrd,EAAKx4B,EAAMqD,MAAM0gf,eAA4B,IAAPvrd,EAAgBA,EAAiC,QAA3BO,EAAK/4B,EAAMqD,MAAMmvB,YAAyB,IAAPuG,OAAgB,EAASA,EAAGgrd,UAAa/jf,EAAMqD,MAAMugf,WAAa,CAAE6E,YAAazof,EAAMqD,MAAMugf,YAAe,CAAC,GAAK,CAAE8E,MAAO,SAAUjE,GACngBzkf,EAAMykf,OAASA,EACfzkf,EAAM2of,aAAa,CAAC,GAOhB3of,EAAM6nW,SAAWw9I,GAAkB3tf,IACnC+sf,EAAOmE,KAAK,cAAc,SAAUlB,GAChCjD,EAAO6C,WAAWtnf,EAAM6of,kBAAmB,CAAEC,WAAW,GAC5D,IAEA9of,EAAMqD,MAAMmvB,MAAQh3B,GAAWwE,EAAMqD,MAAMmvB,KAAKk2d,QAChD1of,EAAMqD,MAAMmvB,KAAKk2d,MAAMjE,EAE/B,EAAGsE,uBAAwB,SAAUtE,GACjC,IAAI/he,EAAI8V,EAEJiW,EAAezuC,EAAM6of,kBACzB7of,EAAMonf,eAAiD,QAA/B1ke,EAAK1iB,EAAMonf,sBAAmC,IAAP1ke,EAAgBA,EAAK+he,EAAOh7O,aACvFzpQ,EAAMonf,iBAAmB34c,IACzBzuC,EAAMonf,eAAiB34c,EAEvBg2c,EAAO6C,WAAW74c,GAClBg2c,EAAO4C,YAAYx1T,QACnB4yT,EAAO4C,YAAY3gf,MACnB+9e,EAAOuE,UAAS,IAEpB,IAAIt4b,EAA2C,QAA/Bl4B,EAAKx4B,EAAMqD,MAAMqtD,gBAA6B,IAAPl4B,GAAgBA,EACvE+sd,GAAQvlf,EAAMykf,OAAQ/zb,EAAW,WAAa,UAE1C1wD,EAAMqD,MAAMmvB,MAAQh3B,GAAWwE,EAAMqD,MAAMmvB,KAAKu2d,yBAChD/of,EAAMqD,MAAMmvB,KAAKu2d,uBAAuBtE,EAEhD,IACCzkf,EAAM6nW,SACPnwW,EAAOu2D,MAAM47S,WAAa,IAE1Bw7I,GAAkB3tf,KAClBA,EAAOhF,MAAQsN,EAAM6of,mBAEzB9B,EAAQv0d,KAAK+1d,EAhDb,MAbI,GAAiB,IAAbN,EAEA9rf,YAAW,WAAc,OAAO6D,EAAMwM,WAAW,EAAI,GAAG,OAEvD,MAAIy7e,EAAW,KAMhB,MAAM,IAAIrof,MAAM,sDAJhBzD,YAAW,WAAc,OAAO6D,EAAMwM,WAAWy7e,EAAW,EAAI,GAAG,IAKvE,CAmDR,EACAjof,EAAMsoC,GAAKtoC,EAAMqD,MAAMilC,IAAM88c,GAAK,cAClCplf,EAAMkof,WAAa3lL,EAAAA,YACnBviU,EAAM6nW,OAAsJ,QAA5I9uU,EAAmC,QAA7BrW,EAAK1iB,EAAMqD,MAAMwkW,cAA2B,IAAPnlV,EAAgBA,EAAiC,QAA3B8V,EAAKx4B,EAAMqD,MAAMmvB,YAAyB,IAAPgG,OAAgB,EAASA,EAAGqvU,cAA2B,IAAP9uU,GAAgBA,EACpL/4B,EAAM0kf,cAAgB,CAAC,EAChB1kf,CACX,CAwMA,OAvVA2hB,GAAUqle,EAAQ5ke,GAgJlBxtB,OAAOC,eAAemyf,EAAOnxf,UAAW,OAAQ,CAC5CuE,IAAK,WACD,IAAIsoB,EAAI8V,EACR,OAAmH,QAA3GA,EAAwC,QAAlC9V,EAAK/sB,KAAKuyf,WAAWz0O,eAA4B,IAAP/wP,OAAgB,EAASA,EAAGylH,cAAc56B,mBAAgC,IAAP/0E,EAAgBA,EAAKt8B,MACpJ,EACAopS,YAAY,EACZD,cAAc,IAElB2hN,EAAOnxf,UAAU65Q,mBAAqB,SAAUC,GAC5C,IACIjtP,EAAI8V,EADJx4B,EAAQrK,KAMZ,GAJIA,KAAKsxf,gBACLnqf,aAAanH,KAAKsxf,eAClBtxf,KAAKsxf,mBAAgB9zf,GAErBwC,KAAK8uf,SACL9uf,KAAKgzf,aAAah5O,GACdh6Q,KAAK8uf,OAAOqD,aAAa,CAEzB,GADAnyf,KAAKyxf,eAAgD,QAA9B1ke,EAAK/sB,KAAKyxf,sBAAmC,IAAP1ke,EAAgBA,EAAK/sB,KAAK8uf,OAAOh7O,aACvD,kBAA5B9zQ,KAAK0N,MAAMorC,cAA6B94C,KAAK0N,MAAMorC,eAAiBkhO,EAAUlhO,aAErF94C,KAAK8uf,OAAO6C,WAAW3xf,KAAK0N,MAAMorC,cAClC94C,KAAK8uf,OAAO4C,YAAYx1T,QACxBl8L,KAAK8uf,OAAO4C,YAAY3gf,MACxB/Q,KAAK8uf,OAAOuE,UAAS,QAEpB,GAAgC,kBAArBrzf,KAAK0N,MAAM3Q,OAAsBiD,KAAK0N,MAAM3Q,QAAUiD,KAAKyxf,eAAgB,CACvF,IAAI6B,EAAgBtzf,KAAK8uf,OACzBwE,EAAc5B,YAAY6B,UAAS,WAG/B,IAAI90Q,EACJ,IAAKp0O,EAAM6nW,QAAUohJ,EAAc1B,WAC/B,IAGInzQ,EAAS60Q,EAAc/4Y,UAAUy3Y,YAAY,EACjD,CACA,MAAOvzf,GAAiB,CAE5B,IAAI8yf,EAAclnf,EAAMknf,YAExB,GADA+B,EAAc3B,WAAWtnf,EAAMqD,MAAM3Q,QAChCsN,EAAM6nW,QAAUohJ,EAAc1B,WAC/B,IAAK,IAAIvtf,EAAK,EAAG0oB,EAAK,CAAC0xN,EAAQ8yQ,GAAcltf,EAAK0oB,EAAG3vB,OAAQiH,IAAM,CAC/D,IAAImvf,EAAWzme,EAAG1oB,GAClB,GAAImvf,EACA,IACIF,EAAc/4Y,UAAUs3Y,eAAe2B,GACvCnpf,EAAMknf,YAAciC,EACpB,KACJ,CACA,MAAO/0f,GAAiB,CAEhC,CAER,GACJ,CACA,GAAIuB,KAAK0N,MAAMqtD,WAAai/M,EAAUj/M,SAAU,CAC5C,IAAIA,EAA0C,QAA9Bl4B,EAAK7iC,KAAK0N,MAAMqtD,gBAA6B,IAAPl4B,GAAgBA,EACtE+sd,GAAQ5vf,KAAK8uf,OAAQ/zb,EAAW,WAAa,SACjD,CACJ,CAER,EACAs2b,EAAOnxf,UAAU04Q,kBAAoB,WACjC,IACI7rP,EAAI8V,EAAIO,EAAIG,EAAIw7O,EADhB10Q,EAAQrK,KAEZ,GAA8B,OAA1Bmxf,GAAWnxf,KAAK05I,MAChB15I,KAAK6W,kBAEJ,GAAIhW,MAAMC,QAAQd,KAAK0N,MAAM4gf,mBAA4D,IAAvCtuf,KAAK0N,MAAM4gf,iBAAiBlxf,OAC/B,QAA/CylC,GAAM9V,EAAK/sB,KAAK0N,OAAOogf,0BAAuC,IAAPjrd,GAAyBA,EAAG98B,KAAKgnB,EAAI,IAAI9iB,MAAM,4FAEtG,GAAuC,QAAlCm5B,EAAKpjC,KAAKuyf,WAAWz0O,eAA4B,IAAP16O,OAAgB,EAASA,EAAGovG,cAAe,CAU3F09W,GAAaa,SAAS/wf,KAAKuyf,WAAWz0O,QAAQtrI,cAAexyI,KAAKyzf,mBAA6G,QAAxF10O,EAAyC,QAAnCx7O,EAAKvjC,KAAK0N,MAAM+gf,qBAAkC,IAAPlrd,OAAgB,EAASA,EAAG0xC,aAA0B,IAAP8pM,EAAgBA,EAAK,GATvL,WACjB,IAAIhyP,EAAI8V,EACoC,QAA3CA,GAAM9V,EAAK1iB,EAAMqD,OAAOmgf,qBAAkC,IAAPhrd,GAAyBA,EAAG98B,KAAKgnB,GACrF1iB,EAAMwM,YACV,IACmB,SAAUg/Q,GACzB,IAAI9oQ,EAAI8V,EACyC,QAAhDA,GAAM9V,EAAK1iB,EAAMqD,OAAOogf,0BAAuC,IAAPjrd,GAAyBA,EAAG98B,KAAKgnB,EAAI8oQ,EAClG,GAEJ,CACJ,EACAw7N,EAAOnxf,UAAUy6Q,qBAAuB,WACpC,IAAItwQ,EAAQrK,KACR8uf,EAAS9uf,KAAK8uf,OACdA,IACAA,EAAOG,IAAIjvf,KAAK0zf,eAAgB1zf,KAAKkyf,oBACrCpD,EAAOG,IAAIjvf,KAAK2zf,mBAAoB3zf,KAAK8xf,mBACzChD,EAAOG,IAAI,WAAYjvf,KAAKqyf,2BAC5BvD,EAAOG,IAAI,UAAWjvf,KAAKiyf,0BAC3BnD,EAAOG,IAAI,WAAYjvf,KAAKkyf,oBAC5Bjzf,OAAOmB,KAAKJ,KAAK+uf,eAAehwf,SAAQ,SAAU0qB,GAC9Cqle,EAAOG,IAAIxle,EAAWpf,EAAM0kf,cAActle,GAC9C,IACAzpB,KAAK+uf,cAAgB,CAAC,EACtBD,EAAOt3a,SACPx3E,KAAK8uf,YAAStxf,EAEtB,EACA6zf,EAAOnxf,UAAUm3Q,OAAS,WACtB,OAAOr3Q,KAAKkyW,OAASlyW,KAAK4zf,eAAiB5zf,KAAK6zf,cACpD,EACAxC,EAAOnxf,UAAUwzf,aAAe,WAC5B,IAAI3me,EAAI8V,EAAIO,EAEZ,OADsJ,QAA1IA,EAAyF,QAAnFP,EAAsC,QAAhC9V,EAAKoke,GAAWnxf,KAAK05I,aAA0B,IAAP3sH,OAAgB,EAASA,EAAG+me,WAAwB,IAAPjxd,OAAgB,EAASA,EAAGkxd,eAA4B,IAAP3wd,OAAgB,EAASA,EAAG8yB,QAEpL,uDACA,sDACV,EACAm7b,EAAOnxf,UAAUyzf,iBAAmB,WAChC,OHvPsDptf,OAAOytf,YAA8D,oBAAzCA,WAAW9zf,UAAU+zf,gBGuPhE,8BAAgC,iBAC3E,EACA5C,EAAOnxf,UAAU0zf,aAAe,WAC5B,IAAI7me,EAAK/sB,KAAK0N,MAAMshH,QAASA,OAAiB,IAAPjiG,EAAgB,MAAQA,EAC/D,OAAO6/S,EAAAA,cAAoB59M,EAAS,CAChCplD,IAAK5pE,KAAKuyf,WACV5/c,GAAI3yC,KAAK2yC,GACTolB,SAAU/3D,KAAK0N,MAAMqqD,UAE7B,EACAs5b,EAAOnxf,UAAU2zf,aAAe,WAC5B,OAAOjnL,EAAAA,cAAoB,WAAY,CACnChjQ,IAAK5pE,KAAKuyf,WACVj6b,MAAO,CAAE47S,WAAY,UACrBzuW,KAAMzF,KAAK0N,MAAM2gf,aACjB17c,GAAI3yC,KAAK2yC,GACTolB,SAAU/3D,KAAK0N,MAAMqqD,UAE7B,EACAs5b,EAAOnxf,UAAUuzf,iBAAmB,WAChC,IAAI1me,EAAI8V,EACJ1yB,EAA4C,QAAnC4c,EAAK/sB,KAAK0N,MAAM+gf,qBAAkC,IAAP1he,OAAgB,EAASA,EAAG5c,MAChFo+e,EAA4C,QAAnC1rd,EAAK7iC,KAAK0N,MAAM+gf,qBAAkC,IAAP5rd,OAAgB,EAASA,EAAG0rd,MACpF,QAAoC/wf,IAAhCwC,KAAK0N,MAAM4gf,iBACX,MAA2C,kBAAhCtuf,KAAK0N,MAAM4gf,iBACX,CAAC,CAAE3qe,IAAK3jB,KAAK0N,MAAM4gf,iBAAkBn+e,MAAOA,EAAOo+e,MAAOA,IAG9Dvuf,KAAK0N,MAAM4gf,iBAAiB3kf,KAAI,SAAUgP,GAC7C,MAAoB,kBAATA,EAGA,CAAEgL,IAAKhL,EAAMxI,MAAOA,EAAOo+e,MAAOA,GAGlC51e,CAEf,IAGJ,IAAIu7e,EAAUl0f,KAAK0N,MAAMygf,aACrBH,EAAShuf,KAAK0N,MAAMsgf,OAAShuf,KAAK0N,MAAMsgf,OAAS,aAErD,MAAO,CAAC,CAAErqe,IADQ,4BAA4B3Y,OAAOgjf,EAAQ,aAAahjf,OAAOkpf,EAAS,mBAC9D/jf,MAAOA,EAAOo+e,MAAOA,GACrD,EACA8C,EAAOnxf,UAAUgzf,gBAAkB,WAC/B,MAAuC,kBAA5Blzf,KAAK0N,MAAMorC,aACX94C,KAAK0N,MAAMorC,aAEe,kBAArB94C,KAAK0N,MAAM3Q,MAChBiD,KAAK0N,MAAM3Q,MAGX,EAEf,EACAs0f,EAAOnxf,UAAU8yf,aAAe,SAAUh5O,GACtC,IAAI3vQ,EAAQrK,KACZ,QAAoBxC,IAAhBwC,KAAK8uf,OAAsB,CAE3BD,GAAe7uf,KAAK8uf,OAAQ90O,EAAWh6Q,KAAK0N,MAAO1N,KAAK+uf,eAAe,SAAU/tf,GAAO,OAAOqJ,EAAMqD,MAAM1M,EAAM,IAEjH,IAAImzf,EAAoB,SAAU5vf,GAAK,YAA4B/G,IAArB+G,EAAE2pf,qBAA4C1wf,IAAZ+G,EAAExH,KAAqB,EACnGq3f,EAAgBD,EAAkBn6O,GAClCq6O,EAAgBF,EAAkBn0f,KAAK0N,QACtC0mf,GAAiBC,GAClBr0f,KAAK8uf,OAAOh6X,GAAG90H,KAAK0zf,eAAgB1zf,KAAKkyf,oBACzClyf,KAAK8uf,OAAOh6X,GAAG90H,KAAK2zf,mBAAoB3zf,KAAK8xf,mBAC7C9xf,KAAK8uf,OAAOh6X,GAAG,UAAW90H,KAAKiyf,0BAC/Bjyf,KAAK8uf,OAAOh6X,GAAG,QAAS90H,KAAKqyf,2BAC7Bryf,KAAK8uf,OAAOh6X,GAAG,WAAY90H,KAAKkyf,qBAE3BkC,IAAkBC,IACvBr0f,KAAK8uf,OAAOG,IAAIjvf,KAAK0zf,eAAgB1zf,KAAKkyf,oBAC1Clyf,KAAK8uf,OAAOG,IAAIjvf,KAAK2zf,mBAAoB3zf,KAAK8xf,mBAC9C9xf,KAAK8uf,OAAOG,IAAI,UAAWjvf,KAAKiyf,0BAChCjyf,KAAK8uf,OAAOG,IAAI,QAASjvf,KAAKqyf,2BAC9Bryf,KAAK8uf,OAAOG,IAAI,WAAYjvf,KAAKkyf,oBAEzC,CACJ,EACAb,EAAO71O,UAAYuyO,GACnBsD,EAAOj2O,aAAe,CAClB+yO,aAAc,KAEXkD,CACX,CAzV4B,CAyV1BzkL,EAAAA,WClXF,MA4HA,GA5H2B9J,IAAuJ,IAADwxL,EAAAC,EAAAC,EAAA,IAArJ,GAAE7hd,EAAE,aAAE8hd,EAAY,WAAEvtF,EAAU,cAAEC,EAAa,iBAAEutF,EAAgB,WAAEC,EAAU,cAAEC,EAAa,WAAEC,EAAU,kBAAEC,EAAiB,oBAAEC,GAAqBjyL,EAExK,MAAOqmG,EAAWC,IAAgB5qJ,EAAAA,EAAAA,UAAS2oJ,IACpC3zD,EAASwhJ,IAAcx2O,EAAAA,EAAAA,UAA4B,QAApB81O,EAACI,EAAiB,UAAE,IAAAJ,OAAA,EAAnBA,EAAqB9gJ,SACtDyhJ,EAA8B,QAAtBV,EAAGG,EAAiB,UAAE,IAAAH,OAAA,EAAnBA,EAAqB5hd,GAChCuid,GAAU/1O,EAAAA,EAAAA,QAAO,MAEjBkqJ,EAAcA,KAChBnC,IACAkC,GAAaD,IAAcA,GAAU,EAwEzC,OACIjyD,EAAAA,GAAAA,KAAAC,GAAAA,SAAA,CAAAzyV,UACIs4V,EAAAA,GAAAA,MAACtiB,GAAK,CAACqF,OAAQopE,EAAWv4Z,KAAK,KAAKiqD,OAAQwuW,EAAap7D,SAAS,SAAQvpV,SAAA,EACtEwyV,EAAAA,GAAAA,KAAClG,GAAW,CAACpjS,UAAU,WAAW/S,OAAQwuW,EAAY3kZ,UAACwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,cAAalpD,SAAC,uBACpFwyV,EAAAA,GAAAA,KAAC/F,GAAS,CAAAzsV,UACNs4V,EAAAA,GAAAA,MAACzK,GAAS,CAAA7tV,SAAA,EACNs4V,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAE,eAEnCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,OAAOs8D,UAAU,oBAAoBnoE,KAAK,UAAUktC,GAAG,UAAUwqC,YAAY,GAAGu4I,SAAWj3N,GAAMu2f,EAAWv2f,EAAEsD,OAAOhF,OAAQA,MAAOy2W,UAGxJwJ,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAE,YAEnCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfwyV,EAAAA,GAAAA,KAACm6I,GAAM,CACHznb,IAAKsrb,EACLlH,OAAO,mDACPnxd,KAAM,CACFu5Z,QAAS,6HACTg4D,QAAS,gMAEbt1c,aAAiC,QAArB07c,EAAEE,EAAiB,UAAE,IAAAF,OAAA,EAAnBA,EAAqBprI,SACnC4iI,OAAQA,CAACjlJ,EAAK+nJ,IAAWoG,EAAQp3O,QAAUgxO,eAM/D9xI,EAAAA,GAAAA,MAAC5L,GAAW,CAAA1sV,SAAA,EACU,IAAjB+ve,GAAyBv9I,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3iI,MAAM,UAAUhsN,KAAK,KAAKg9D,UAAU,mBAAmBwlP,QAASA,IAvG/F+hM,MACf,MAAMC,EAAiB,CACnB,OAAUzid,EACV,QAAW6gU,EACX,SAAW,EACX,QAAW,sBACX,QAAW,8BACX,QAAW,EACX,MAAS,EACT,GAAMyhJ,GAEVhsN,GAAKpiM,OAAO,gCAAkCouZ,EAAUG,GAAgBryb,MAAMzhE,IAC1E+na,IACAurF,GAAc,IAAIrtf,MAAOC,WACzButf,GAAoB,GACpBD,GAAkB,EAAK,GACzB,EAuFkHK,GAAazwe,SAAE,WAAkB,IACzIwyV,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3iI,MAAM,UAAUhsN,KAAK,KAAKg9D,UAAU,mBAAmBwlP,QAASA,IArFrE82G,MACf,MAAM4kF,EAASoG,EAAQp3O,QACjB67G,EAAYm1H,EAAOh7O,WAAW,CAAE+wL,OAAQ,SACxCwwD,EAAWvG,EAAOh7O,WAAW,CAAE+wL,OAAQ,SAE7C,IAAqB,IAAjB4vD,EAAwB,CAExB,MAAMa,EACN,CACI,UAAa3id,EACb,QAAW6gU,EACX,SAAY6hJ,EACZ,UAAa17H,EACb,SAAY+6H,EAAiB,GAAGrkT,SAChC,SAAW,EACX,QAAW,sBACX,QAAW,8BACX,QAAW,EACX,MAAS,EACT,GAAM,GAGV44F,GAAKpiM,OAAO,gCAAkCouZ,EAAUK,GAAgBvyb,MAAMzhE,IAC1E+na,IACAurF,GAAeD,EAAW,GAElC,KAAO,CACH,MAAMY,EACF,CAAC,CACG,UAAa5id,EACb,QAAW6gU,EACX,SAAY6hJ,EACZ,UAAa17H,EACb,SAAYk7H,EAAWz3f,OACvB,SAAW,EACX,QAAW,sBACX,QAAW,8BACX,QAAW,EACX,MAAS,IAGjB6rS,GAAKl4R,IAAI,+BAAgCwkf,GAAWxyb,MAAMzhE,IACtD+na,IACAurF,GAAeD,EAAW,GAElC,CACAI,GAAoB,GACpBD,GAAkB,EAAK,EAsCmE5qF,GAAaxlZ,SAAE,UAC7FwyV,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3iI,MAAM,YAAYhsN,KAAK,KAAKg9D,UAAU,mBAAmBwlP,QAASi2G,EAAY3kZ,SAAC,iBAGhG,EC0OX,GAjWqBo+S,IAA+E,IAA9E,GAAEnwR,EAAE,MAAE6id,EAAK,WAAEtuF,EAAU,cAAEC,EAAa,YAAEC,EAAW,UAAEquF,EAAS,OAAEppe,GAAQy2S,EAC1F,MAAM4yG,GAAUv2J,EAAAA,EAAAA,WACT22J,EAAmBC,IAAwBv3J,EAAAA,EAAAA,UAAS,KACpDk3O,EAAgBC,IAAqBn3O,EAAAA,EAAAA,UAAS,KAC9Cq2O,EAAYe,IAAiBp3O,EAAAA,EAAAA,UAAS,KACtCk2O,EAAkBmB,IAAuBr3O,EAAAA,EAAAA,UAAS,KAClDyqJ,EAASC,IAAc1qJ,EAAAA,EAAAA,WAAS,IAChC2qJ,EAAWC,IAAgB5qJ,EAAAA,EAAAA,UAAS2oJ,IACpC2uF,EAAiBC,IAAsBv3O,EAAAA,EAAAA,WAAS,IAChDm2O,EAAYC,IAAiBp2O,EAAAA,EAAAA,WAAS,IACtCi2O,EAAcuB,IAAmBx3O,EAAAA,EAAAA,WAAS,IAC1Cg1F,EAASwhJ,IAAcx2O,EAAAA,EAAAA,UAAS,KAChCk/F,EAAYu4I,IAAiBz3O,EAAAA,EAAAA,UAAS,KACtCoqG,EAAQstI,IAAa13O,EAAAA,EAAAA,UAAS,KAC9B18G,EAASq0V,IAAc33O,EAAAA,EAAAA,UAAS,KAChC43O,EAAYC,IAAiB73O,EAAAA,EAAAA,UAAS,KACtC83O,EAAYC,IAAiB/3O,EAAAA,EAAAA,UAAS,KACtCg4O,EAAiBC,IAAsBj4O,EAAAA,EAAAA,UAAS,KAChDk4O,EAAgB5B,IAAqBt2O,EAAAA,EAAAA,WAAS,IAC9Cm4O,EAAkB5B,IAAuBv2O,EAAAA,EAAAA,WAAS,IAClDm0F,EAASikJ,IAAcp4O,EAAAA,EAAAA,UAAS,IAGjC6qJ,EAAcA,KAChBnC,IACAkC,GAAaD,IAAcA,GAAU,GAGzCroJ,EAAAA,EAAAA,YAAU,KACN,IAAe,IAAXz0P,EAAkB,CACMwqe,MACA1mf,iBACV84R,GAAK23E,OAAO,4BAA8BjuU,GAAIowB,MAAMzhE,IACtD0zf,EAAW1zf,EAAI,GAAGkyW,SAClB0iJ,EAAU50f,EAAI,GAAGsnX,QACjButI,EAAW70f,EAAI,GAAGwgK,SAClBu0V,EAAc/0f,EAAI,GAAGunX,WACrB0tI,EAAcj1f,EAAI,GAAGigX,WACrB00I,EAAc30f,EAAI,GAAGo8W,YACrBwrD,GAAW,EAAM,GACnB,EAENc,GAEsB75Z,iBACZ84R,GAAK23E,OAAO,uCAAyCjuU,GAAIowB,MAAMzhE,IACjEs0f,EAAct0f,EAAI,GACpB,EAENw1f,EAAe,EAEnBD,EACJ,IACD,CAAClkd,EAAIgid,EAAYtoe,IAEpB,MAuEMm3V,EAAgB/kX,IAKlB,OAJAm4f,GAAWG,GACPA,EAAY10f,QAAO8nB,GAAWA,IAAY1rB,EAAEsD,OAAO0D,SAG/ChH,EAAEsD,OAAO0D,MACb,IAAK,UACDuvf,EAAWv2f,EAAEsD,OAAOhF,OACpB,MACJ,IAAK,aACDk5f,EAAcx3f,EAAEsD,OAAOhF,OACvB,MACJ,IAAK,SACDm5f,EAAUz3f,EAAEsD,OAAOhF,OACnB,MACJ,IAAK,UACDo5f,EAAW13f,EAAEsD,OAAOm/D,SACpB,MACJ,IAAK,OACDm1b,EAAc53f,EAAEsD,OAAOhF,OACvB,MACJ,IAAK,aACDw5f,EAAc93f,EAAEsD,OAAOhF,OAI/B,EAGEi6f,EAAmB1lf,IACR,WAATA,IACAukf,EAAoB,IACpBG,GAAgB,IAEpBD,GAAmB,EAAK,EAmCtBkB,EAAaA,CAAClrd,EAAUmrd,KAC1B,MAAM3ue,EAAQsse,EACRsC,EAAY5ue,EAAMlG,OAAO0pB,EAAU,GAEzCxjB,EAAMlG,OAAO60e,EAAa,EAAGC,EAAU,IAEvCluN,GAAKpiM,OAAO,sCAAuCt+E,GAAOw6C,MAAMzhE,IAC5Dszf,GAAeD,GACfG,GAAkB,GAClBC,GAAoB,EAAK,GAC3B,EAGA/9E,GAAcn3J,EAAAA,EAAAA,cAAY,KAC5Bk2J,EAAqB,CACjB9/Z,KAAM,EACNmB,SAAU,IACVwyL,UAAU,EACVvnM,QAAQ,EACR6Y,WAAW,EACXd,UAAU,EACVywH,aAAc,CAAC,MAAO,UAG1B8qX,EAAkB,CACd,CACInke,WAAY,UACZruB,MAAO,UACPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,OACZruB,MAAO,YACPgjL,iBAAiB,EACjB5uK,SAAU,MAEhB,GACH,IAMH,OAJAupQ,EAAAA,EAAAA,YAAU,KACNk2J,GAAa,GACd,CAACA,KAGAh6D,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,EACIs4V,EAAAA,GAAAA,MAACtiB,GAAK,CAACqF,OAAQopE,EAAWv4Z,KAAK,KAAKiqD,OAAQwuW,EAAap7D,SAAS,SAAQvpV,SAAA,EACtEwyV,EAAAA,GAAAA,KAAClG,GAAW,CAACpjS,UAAU,WAAW/S,OAAQwuW,EAAY3kZ,UAACwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,cAAalpD,SAAC,sBACnFukZ,GACG/xD,EAAAA,GAAAA,KAAC+yD,GAAW,KAEZjtD,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,EACIs4V,EAAAA,GAAAA,MAAC7L,GAAS,CAAAzsV,SAAA,EACNs4V,EAAAA,GAAAA,MAACzK,GAAS,CAAA7tV,SAAA,EACNs4V,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAE,eAEnCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,OAAOs8D,UAAU,oBAAoBnoE,KAAK,UAAUktC,GAAG,UAAUwqC,YAAY,GAAGu4I,SAAU8tJ,EAAczmX,MAAOy2W,EAASb,QAASA,EAAQ9vV,SAAS,mBAGtKm6V,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAE,kBAEnCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,WAAWqhC,GAAG,aAAaltC,KAAK,aAAa6yD,MAAO,CAAE8G,UAAW,SAAWwO,UAAU,iCAAiCy0B,KAAK,IAAIqzH,SAAU8tJ,EAAczmX,MAAO2gX,EAAY/K,QAASA,EAAQ9vV,SAAS,sBAGzNm6V,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAC,cAElCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,OAAOs8D,UAAU,oBAAoBnoE,KAAK,SAASktC,GAAG,SAASwqC,YAAY,GAAGu4I,SAAU8tJ,EAAczmX,MAAO6rX,EAAQjW,QAASA,EAAQ9vV,SAAS,kBAGnKm6V,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAC,mBAElCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,OAAOs8D,UAAU,oBAAoBnoE,KAAK,OAAOktC,GAAG,OAAOwqC,YAAY,GAAGu4I,SAAU8tJ,EAAczmX,MAAOq5f,EAAYzjJ,QAASA,EAAQ9vV,SAAS,gBAGnKm6V,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAE,kBAEnCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,OAAOs8D,UAAU,oBAAoBnoE,KAAK,aAAaktC,GAAG,aAAawqC,YAAY,GAAGu4I,SAAU8tJ,EAAczmX,MAAOu5f,EAAY3jJ,QAASA,EAAQ9vV,SAAS,sBAG/Km6V,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAC,eAElCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,WAAW4vD,QAAS4gG,EAASl0F,UAAU,GAAGnoE,KAAK,UAAUktC,GAAG,UAAUwqC,YAAY,GAAGu4I,SAAU8tJ,YAItH7wU,GACGqqU,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,GAAElpD,SAAA,EACbwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAAC/1C,GAAG,IAAGhjS,UACPwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,kBAAiBlpD,SAAE,iBAExCs4V,EAAAA,GAAAA,MAACvf,GAAG,CAAC/1C,GAAG,IAAI95O,UAAU,WAAUlpD,SAAA,EAC5BwyV,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3uV,KAAK,KAAKgsN,MAAM,oBAAoB7hK,SAAU27b,EAAgB9ob,UAAU,iBAAiBtV,MAAO,CAAEC,OAAQ,OAAQglT,SAAU,QAAUnqD,QAASA,IAAM6jM,EAAWT,EAAiBA,EAAkB,GAAG9xe,SAAE,aAGhNwyV,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3uV,KAAK,KAAKgsN,MAAM,oBAAoB7hK,SAAU47b,EAAkB/ob,UAAU,iBAAiBtV,MAAO,CAAEC,OAAQ,OAAQglT,SAAU,QAAUnqD,QAASA,IAAM6jM,EAAWT,EAAiBA,EAAkB,GAAG9xe,SAAE,eAGlNwyV,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3uV,KAAK,KAAKgsN,MAAM,oBAAoBhvJ,UAAU,iBAAiBtV,MAAO,CAAEC,OAAQ,OAAQglT,SAAU,QAAUnqD,QAASA,IAAM4jM,EAAgB,UAAUtye,SAAE,mBAInKwyV,EAAAA,GAAAA,KAAClS,GAAQ,CAAC1sS,MAAO,CAAEC,OAAQ,SAAU7zC,UACjCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,kBAAkBtV,MAAO,CAAEC,OAAQ,OAAQx/C,MAAO,QAAS2L,UACtEwyV,EAAAA,GAAAA,KAAC//F,GAAAA,YAAW,CACRvtM,IAAK8rW,EACLxwS,QAAS2vX,EACTn3d,WAAYg4d,EACZ9pX,sBAAsB,mBACtBl7G,cAAeolZ,EACf3tS,YAAY,EACZzO,aAAc,SACd/yE,mBAAoB,GACpBixX,mBA3IjB/mU,KACvB,MAAMylI,EAAeo/L,EAAQ53J,QAAQrkQ,IAAIq5K,kBACb,IAAxBwjD,EAAal5O,SACby4f,EAAoBv/Q,GACpB0gR,IACAhB,GAAgB,GACpB,EAsIwCoB,aA/JrBC,KACnB,IACIC,EADS5hF,EAAQ53J,QAAQrkQ,IAAIq5K,kBACL,GAAGud,SAE/BomT,EAAmBa,GAGfxC,EADmB,IAAnBwC,GAMAA,IAAmBzC,EAAWz3f,OAAS,EACvC23f,GAAoB,GAEpBA,GAAoB,EACxB,WAsJwB,OAIR/3I,EAAAA,GAAAA,MAAC5L,GAAW,CAAA1sV,SAAA,EACI,IAAX2H,GAAmB6qV,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3iI,MAAM,UAAUhsN,KAAK,KAAKg9D,UAAU,mBAAmBwlP,QAASA,IA3RjG+hM,MACf,MAAMoC,EACN,CACI,QAAW/jJ,EACX,WAAckK,EACd,OAAUkL,EACV,QAAW9mN,EACX,UAAas0V,EACb,UAAaE,GAEjBrtN,GAAKpiM,OAAO,4BAA8Bl0D,EAAI4kd,GAAiBx0b,MAAMzhE,IACjE+na,IACAjC,GAAY,IAAI7/Z,MAAOC,UAAU,GACnC,EA8QoH2tf,GAAazwe,SAAC,WAAkB,IAClIwyV,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3iI,MAAM,UAAUhsN,KAAK,KAAKg9D,UAAU,mBAAmBwlP,QAASA,IA5Q7E82G,MACf,MAAMstF,EAAO,GAmBb,GAjBgB,KAAZhkJ,GACAgkJ,EAAKx4f,KAAK,WAEK,KAAf0+W,GACA85I,EAAKx4f,KAAK,cAEC,KAAX4pX,GACA4uI,EAAKx4f,KAAK,UAEK,KAAfo3f,GACAoB,EAAKx4f,KAAK,QAEK,KAAfs3f,GAAoC,OAAfA,GACrBkB,EAAKx4f,KAAK,cAEd43f,EAAWY,GAES,IAAhBA,EAAKp6f,OACL,IAAe,IAAXivB,EAAkB,CAClB,MAAMore,EACN,CACI,QAAWjkJ,EACX,WAAckK,EACd,OAAUkL,EACV,QAAW9mN,EACX,UAAas0V,EACb,UAAaE,EACb,GAAM3jd,GAEVs2P,GAAKpiM,OAAO,4BAA8Bl0D,EAAI8kd,GAAgB10b,MAAMzhE,IAChE+na,IACAjC,GAAY,IAAI7/Z,MAAOC,UAAU,GAEzC,KAAO,CACH,MAAMkwf,EACF,CAAC,CACG,QAAWlkJ,EACX,WAAckK,EACd,OAAUkL,EACV,QAAW9mN,EACX,UAAas0V,EACb,UAAaE,IAErBrtN,GAAKl4R,IAAI,2BAA4B2mf,GAAY30b,MAAMzhE,IACnD8la,GAAY,IAAI7/Z,MAAOC,WACvBiuf,GAAU,GACVD,EAAMl0f,EAAI4B,KAAK,GAAGyvC,GAAG,GAE7B,CACJ,EAwNkGu3X,GAAaxlZ,SAAE,UAC7FwyV,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3iI,MAAM,YAAYhsN,KAAK,KAAKg9D,UAAU,mBAAmBwlP,QAASi2G,EAAY3kZ,SAAC,mBAMtGoxe,IAAmB5+I,EAAAA,GAAAA,KAACygJ,GAAkB,CACnChD,WAAYA,EAAYF,aAAcA,EAAcG,cAAeA,EAAeF,iBAAkBA,EAAkBG,WAAYA,EAAYC,kBAAmBA,EAAmBC,oBAAqBA,EAAqB7tF,WAxLjN0wF,KACrB7B,GAAmB5sF,IAAa,GAAM,EAuL8NhC,eAAe,EAAMC,YAAaA,EAAaz0X,GAAIA,MAEpT,ECxIX,GApN0Bkld,KACtB,MAAMniF,GAAUv2J,EAAAA,EAAAA,WACTu2O,EAAgBC,IAAqBn3O,EAAAA,EAAAA,UAAS,KAC9Cs5O,EAAcC,IAAmBv5O,EAAAA,EAAAA,UAAS,KAC1Cm3J,EAAUvO,IAAe5oJ,EAAAA,EAAAA,aACzBw5O,EAAWx2I,IAAgBhjG,EAAAA,EAAAA,aAC3Bs3J,EAAmBC,IAAwBv3J,EAAAA,EAAAA,UAAS,KACpD2qJ,EAAWC,IAAgB5qJ,EAAAA,EAAAA,WAAS,IACpC6qJ,EAAa6M,IAAkB13J,EAAAA,EAAAA,WAAS,IACxC23J,EAAYC,IAAiB53J,EAAAA,EAAAA,WAAS,IACtCnyP,EAAQope,IAAaj3O,EAAAA,EAAAA,WAAS,IAErCsC,EAAAA,EAAAA,YAAU,KACNmoB,GAAK23E,OAAO,4BAA4B79S,MAAMzhE,IAC1Cy2f,EAAgBz2f,GAChBkF,YAAW,KACP4va,GAAc,EAAM,GACrB,CAAC,KAAM,GACZ,GACH,CAACT,IAEJ,MAAMqB,GAAcn3J,EAAAA,EAAAA,cAAY,KAC5Bk2J,EAAqB,CACjB9/Z,KAAM,EACNmB,SAAU,IACVwyL,UAAU,EACVvnM,QAAQ,EACR6Y,WAAW,EACXd,UAAU,EACVywH,aAAc,CAAC,MAAO,UAG1B8qX,EAAkB,CACd,CACInke,WAAY,UACZruB,MAAO,UACPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,aACZruB,MAAO,aACPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,SACZruB,MAAO,SACPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,UACZruB,MAAO,UACPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CAuBIia,WAAY,YACZruB,MAAO,YACPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,aACZruB,MAAO,YACPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CA0BIia,WAAY,UACZruB,MAAO,UACPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,OACZruB,MAAO,UACPgjL,iBAAiB,EACjB5uK,SAAU,MAEhB,GACH,IAEG0gf,EAAa3mf,IACF,WAATA,GACAmkf,GAAU,GACVj0I,EAAa,KACG,SAATlwW,GACPmkf,GAAU,GAEdrsF,GAAcD,EAAU,GAQ5BroJ,EAAAA,EAAAA,YAAU,KACNk2J,GAAa,GACd,CAACA,IAUJ,OACIh6D,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,EACIwyV,EAAAA,GAAAA,KAAC/R,GAAU,CAACv3R,UAAU,YAAWlpD,UAC7Bs4V,EAAAA,GAAAA,MAACngB,GAAG,CAAAn4U,SAAA,EACAs4V,EAAAA,GAAAA,MAACvf,GAAG,CAACjB,GAAG,IAAI5uR,UAAU,cAAalpD,SAAA,EAC/BwyV,EAAAA,GAAAA,KAAC8D,GAAgB,CAACpqW,KAAM,GAAIg9D,UAAU,OAAOgvJ,MAAM,YAAY,YAC/Ds6I,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,kBAAiBlpD,SAAC,2BAEtCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,IAAI5uR,UAAU,gBAAelpD,UACjCwyV,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3uV,KAAK,KAAKgsN,MAAM,oBAAoBhvJ,UAAU,iBAAiBtV,MAAO,CAAEC,OAAQ,QAAU66P,QAASA,IAAM6kM,EAAU,UAAUvze,SAAC,2BAMlJwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,kBAAiBlpD,UAC5BwyV,EAAAA,GAAAA,KAACra,GAAG,CAAAn4U,UACAwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAI93U,SACPyxZ,GACGj/D,EAAAA,GAAAA,KAAClS,GAAQ,CAAC1sS,MAAO,CAAEC,OAAQ,SAAU7zC,UACjCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,yBAAwBlpD,UACnCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,cAAalpD,UACxBwyV,EAAAA,GAAAA,KAACL,GAAO,WAKpBK,EAAAA,GAAAA,KAAAC,GAAAA,SAAA,CAAAzyV,UACIwyV,EAAAA,GAAAA,KAAClS,GAAQ,CAAC1sS,MAAO,CAAEC,OAAQ,SAAU7zC,UACjCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,kBAAkBtV,MAAO,CAAEC,OAAQ,OAAQx/C,MAAO,QAAS2L,UACtEwyV,EAAAA,GAAAA,KAAC//F,GAAAA,YAAW,CACRvtM,IAAK8rW,EACLxwS,QAAS4yX,EACTp6d,WAAYg4d,EACZ9pX,sBAAsB,mBACtBl7G,cAAeolZ,EACf3tS,YAAY,EACZzO,aAAc,SACd/yE,mBAAoB,GACpBixX,mBA/Cb/mU,KACvB,MAAMylI,EAAeo/L,EAAQ53J,QAAQrkQ,IAAIq5K,kBACb,IAAxBwjD,EAAal5O,SACbokX,EAAalrI,EAAa,GAAG3jM,IAC7Bsld,EAAU,QACd,gBAoDK9uF,IAAajyD,EAAAA,GAAAA,KAACghJ,GAAY,CAACvld,GAAIqld,EAAWxC,MAAOh0I,EAAc0lD,WAlErDA,KACfkC,GAAaD,IAAa,IAC1B+M,GAAgB7M,EAAY,EAgEgEosF,UAAWA,EAAWtuF,eAAe,EAAMC,YAAaA,EAAa/6Y,OAAQA,MACtK,ECrFX,GA7HwBy2S,IAAuJ,IAADwxL,EAAAC,EAAAC,EAAA,IAArJ,GAAE7hd,EAAE,aAAE8hd,EAAY,WAAEvtF,EAAU,cAAEC,EAAa,iBAAEutF,EAAgB,WAAEC,EAAU,cAAEC,EAAa,WAAEC,EAAU,kBAAEC,EAAiB,oBAAEC,GAAqBjyL,EAErK,MAAOqmG,EAAWC,IAAgB5qJ,EAAAA,EAAAA,UAAS2oJ,IACpC3zD,EAASwhJ,IAAcx2O,EAAAA,EAAAA,UAA4B,QAApB81O,EAACI,EAAiB,UAAE,IAAAJ,OAAA,EAAnBA,EAAqB9gJ,SACtDyhJ,EAA8B,QAAtBV,EAAGG,EAAiB,UAAE,IAAAH,OAAA,EAAnBA,EAAqB5hd,GAChCuid,GAAU/1O,EAAAA,EAAAA,QAAO,MAEjBkqJ,EAAcA,KAChBnC,IACAkC,GAAaD,IAAcA,GAAU,EAyEzC,OACIjyD,EAAAA,GAAAA,KAAAC,GAAAA,SAAA,CAAAzyV,UACIs4V,EAAAA,GAAAA,MAACtiB,GAAK,CAACqF,OAAQopE,EAAWv4Z,KAAK,KAAKiqD,OAAQwuW,EAAap7D,SAAS,SAAQvpV,SAAA,EACtEwyV,EAAAA,GAAAA,KAAClG,GAAW,CAACpjS,UAAU,WAAW/S,OAAQwuW,EAAY3kZ,UAACwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,cAAalpD,SAAC,oBACpFwyV,EAAAA,GAAAA,KAAC/F,GAAS,CAAAzsV,UACNs4V,EAAAA,GAAAA,MAACzK,GAAS,CAAA7tV,SAAA,EACNs4V,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAE,eAEnCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,OAAOs8D,UAAU,oBAAoBnoE,KAAK,UAAUktC,GAAG,UAAUwqC,YAAY,GAAGu4I,SAAWj3N,GAAMu2f,EAAWv2f,EAAEsD,OAAOhF,OAAQA,MAAOy2W,UAGxJwJ,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAE,YAEnCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfwyV,EAAAA,GAAAA,KAACm6I,GAAM,CACHznb,IAAKsrb,EACLlH,OAAO,mDACPnxd,KAAM,CACFu5Z,QAAS,6HACTg4D,QAAS,gMAEbt1c,aAAiC,QAArB07c,EAAEE,EAAiB,UAAE,IAAAF,OAAA,EAAnBA,EAAqBprI,SACnC4iI,OAAQA,CAACjlJ,EAAK+nJ,IAAWoG,EAAQp3O,QAAUgxO,eAM/D9xI,EAAAA,GAAAA,MAAC5L,GAAW,CAAA1sV,SAAA,EACU,IAAjB+ve,GAAyBv9I,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3iI,MAAM,UAAUhsN,KAAK,KAAKg9D,UAAU,mBAAmBwlP,QAASA,IAxG/F+hM,MACf,MAAMC,EAAiB,CACnB,OAAUzid,EACV,QAAW6gU,EACX,SAAW,EACX,QAAW,sBACX,QAAW,8BACX,QAAW,EACX,MAAS,EACT,GAAMyhJ,GAEVhsN,GAAKpiM,OAAO,6BAA+BouZ,EAAUG,GAAgBryb,MAAMzhE,IAEvE+na,IACAurF,GAAc,IAAIrtf,MAAOC,WACzButf,GAAoB,GACpBD,GAAkB,EAAK,GACzB,EAuFkHK,GAAazwe,SAAE,WAAkB,IACzIwyV,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3iI,MAAM,UAAUhsN,KAAK,KAAKg9D,UAAU,mBAAmBwlP,QAASA,IArFrE82G,MACf,MAAM4kF,EAASoG,EAAQp3O,QACjB67G,EAAYm1H,EAAOh7O,WAAW,CAAE+wL,OAAQ,SACxCwwD,EAAWvG,EAAOh7O,WAAW,CAAE+wL,OAAQ,SAE7C,IAAqB,IAAjB4vD,EAAwB,CAExB,MAAMa,EACN,CACI,OAAU3id,EACV,QAAW6gU,EACX,SAAY6hJ,EACZ,UAAa17H,EACb,SAAY+6H,EAAiB,GAAGrkT,SAChC,SAAW,EACX,QAAW,sBACX,QAAW,8BACX,QAAW,EACX,MAAS,EACT,GAAM,GAGV44F,GAAKpiM,OAAO,6BAA+BouZ,EAAUK,GAAgBvyb,MAAMzhE,IACvE+na,IACAurF,GAAeD,EAAW,GAElC,KAAO,CACH,MAAMY,EACF,CAAC,CACG,OAAU5id,EACV,QAAW6gU,EACX,SAAY6hJ,EACZ,UAAa17H,EACb,SAAYk7H,EAAWz3f,OACvB,SAAW,EACX,QAAW,sBACX,QAAW,8BACX,QAAW,EACX,MAAS,IAGjB6rS,GAAKl4R,IAAI,4BAA6Bwkf,GAAWxyb,MAAMzhE,IACnD+na,IACAurF,GAAeD,EAAW,GAElC,CACAI,GAAoB,GACpBD,GAAkB,EAAK,EAsCmE5qF,GAAaxlZ,SAAE,UAC7FwyV,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3iI,MAAM,YAAYhsN,KAAK,KAAKg9D,UAAU,mBAAmBwlP,QAASi2G,EAAY3kZ,SAAC,iBAGhG,EC0OX,GAlWmBo+S,IAA+E,IAA9E,GAAEnwR,EAAE,MAAE6id,EAAK,WAAEtuF,EAAU,cAAEC,EAAa,YAAEC,EAAW,UAAEquF,EAAS,OAAEppe,GAAQy2S,EACxF,MAAM4yG,GAAUv2J,EAAAA,EAAAA,WACT22J,EAAmBC,IAAwBv3J,EAAAA,EAAAA,UAAS,KACpD25O,EAAYC,IAAiB55O,EAAAA,EAAAA,UAAS,KACtCq2O,EAAYe,IAAiBp3O,EAAAA,EAAAA,UAAS,KACtCk2O,EAAkBmB,IAAuBr3O,EAAAA,EAAAA,UAAS,KAClDyqJ,EAASC,IAAc1qJ,EAAAA,EAAAA,WAAS,IAChC2qJ,EAAWC,IAAgB5qJ,EAAAA,EAAAA,UAAS2oJ,IACpC2uF,EAAiBC,IAAsBv3O,EAAAA,EAAAA,WAAS,IAChDm2O,EAAYC,IAAiBp2O,EAAAA,EAAAA,WAAS,IACtCi2O,EAAcuB,IAAmBx3O,EAAAA,EAAAA,WAAS,IAC1Cg1F,EAASwhJ,IAAcx2O,EAAAA,EAAAA,UAAS,KAChCk/F,EAAYu4I,IAAiBz3O,EAAAA,EAAAA,UAAS,KACtCoqG,EAAQstI,IAAa13O,EAAAA,EAAAA,UAAS,KAC9B18G,EAASq0V,IAAc33O,EAAAA,EAAAA,UAAS,KAChC43O,EAAYC,IAAiB73O,EAAAA,EAAAA,UAAS,KACtC65O,EAAUC,IAAe95O,EAAAA,EAAAA,UAAS,KAClCg4O,EAAiBC,IAAsBj4O,EAAAA,EAAAA,UAAS,KAChDk4O,EAAgB5B,IAAqBt2O,EAAAA,EAAAA,WAAS,IAC9Cm4O,EAAkB5B,IAAuBv2O,EAAAA,EAAAA,WAAS,IAClDm0F,EAASikJ,IAAcp4O,EAAAA,EAAAA,UAAS,IAGjC6qJ,EAAcA,KAChBnC,IACAkC,GAAaD,IAAcA,GAAU,GAGzCroJ,EAAAA,EAAAA,YAAU,KACN,IAAe,IAAXz0P,EAAkB,CACEkse,MACIpof,iBACV84R,GAAK23E,OAAO,uBAAyBjuU,GAAIowB,MAAMzhE,IACjD0zf,EAAW1zf,EAAI,GAAGkyW,SAClB0iJ,EAAU50f,EAAI,GAAGsnX,QACjButI,EAAW70f,EAAI,GAAGwgK,SAClBu0V,EAAc/0f,EAAI,GAAGunX,WACrByvI,EAAYh3f,EAAI,GAAGigX,WACnB00I,EAAc30f,EAAI,GAAGo8W,YACrBwrD,GAAW,EAAM,GACnB,EAENc,GAEsB75Z,iBACZ84R,GAAK23E,OAAO,kCAAoCjuU,GAAIowB,MAAMzhE,IAC5Ds0f,EAAct0f,EAAI,GACpB,EAENw1f,EAAe,EAEnByB,EACJ,IACD,CAAC5ld,EAAIgid,EAAYtoe,IAEpB,MAwEMm3V,EAAgB/kX,IAKlB,OAJAm4f,GAAWG,GACPA,EAAY10f,QAAO8nB,GAAWA,IAAY1rB,EAAEsD,OAAO0D,SAG/ChH,EAAEsD,OAAO0D,MACb,IAAK,UACDuvf,EAAWv2f,EAAEsD,OAAOhF,OACpB,MACJ,IAAK,aACDk5f,EAAcx3f,EAAEsD,OAAOhF,OACvB,MACJ,IAAK,SACDm5f,EAAUz3f,EAAEsD,OAAOhF,OACnB,MACJ,IAAK,UACDo5f,EAAW13f,EAAEsD,OAAOm/D,SACpB,MACJ,IAAK,OACDm1b,EAAc53f,EAAEsD,OAAOhF,OACvB,MACJ,IAAK,WACDu7f,EAAY75f,EAAEsD,OAAOhF,OAI7B,EAGEi6f,EAAmB1lf,IACR,WAATA,IACAukf,EAAoB,IACpBG,GAAgB,IAEpBD,GAAmB,EAAK,EAmCtBkB,EAAaA,CAAClrd,EAAUmrd,KAC1B,MAAM3ue,EAAQsse,EACRsC,EAAY5ue,EAAMlG,OAAO0pB,EAAU,GAEzCxjB,EAAMlG,OAAO60e,EAAa,EAAGC,EAAU,IAEvCluN,GAAKpiM,OAAO,mCAAoCt+E,GAAOw6C,MAAMzhE,IACzDszf,GAAeD,GACfG,GAAkB,GAClBC,GAAoB,EAAK,GAC3B,EAGA/9E,GAAcn3J,EAAAA,EAAAA,cAAY,KAC5Bk2J,EAAqB,CACjB9/Z,KAAM,EACNmB,SAAU,IACVwyL,UAAU,EACVvnM,QAAQ,EACR6Y,WAAW,EACXd,UAAU,EACVywH,aAAc,CAAC,MAAO,UAG1ButX,EAAc,CACV,CACI5me,WAAY,UACZruB,MAAO,UACPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,OACZruB,MAAO,YACPgjL,iBAAiB,EACjB5uK,SAAU,MAEhB,GACH,IAMH,OAJAupQ,EAAAA,EAAAA,YAAU,KACNk2J,GAAa,GACd,CAACA,KAGAh6D,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,EACIs4V,EAAAA,GAAAA,MAACtiB,GAAK,CAACqF,OAAQopE,EAAWv4Z,KAAK,KAAKiqD,OAAQwuW,EAAap7D,SAAS,SAAQvpV,SAAA,EACtEwyV,EAAAA,GAAAA,KAAClG,GAAW,CAACpjS,UAAU,WAAW/S,OAAQwuW,EAAY3kZ,UAACwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,cAAalpD,SAAC,mBACnFukZ,GACG/xD,EAAAA,GAAAA,KAAC+yD,GAAW,KAEZjtD,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,EACIs4V,EAAAA,GAAAA,MAAC7L,GAAS,CAAAzsV,SAAA,EACNs4V,EAAAA,GAAAA,MAACzK,GAAS,CAAA7tV,SAAA,EACNs4V,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAE,eAEnCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,OAAOs8D,UAAU,oBAAoBnoE,KAAK,UAAUktC,GAAG,UAAUwqC,YAAY,GAAGu4I,SAAU8tJ,EAAczmX,MAAOy2W,EAASb,QAASA,EAAQ9vV,SAAS,mBAGtKm6V,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAE,kBAEnCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,WAAWqhC,GAAG,aAAaltC,KAAK,aAAa6yD,MAAO,CAAE8G,UAAW,SAAWwO,UAAU,iCAAiCy0B,KAAK,IAAIqzH,SAAU8tJ,EAAczmX,MAAO2gX,EAAY/K,QAASA,EAAQ9vV,SAAS,sBAGzNm6V,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAC,cAElCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,OAAOs8D,UAAU,oBAAoBnoE,KAAK,SAASktC,GAAG,SAASwqC,YAAY,GAAGu4I,SAAU8tJ,EAAczmX,MAAO6rX,EAAQjW,QAASA,EAAQ9vV,SAAS,kBAGnKm6V,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAC,mBAElCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,OAAOs8D,UAAU,oBAAoBnoE,KAAK,OAAOktC,GAAG,OAAOwqC,YAAY,GAAGu4I,SAAU8tJ,EAAczmX,MAAOq5f,EAAYzjJ,QAASA,EAAQ9vV,SAAS,gBAGnKm6V,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAE,iBAEnCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,OAAOs8D,UAAU,oBAAoBnoE,KAAK,WAAWktC,GAAG,WAAWwqC,YAAY,GAAGu4I,SAAU8tJ,EAAczmX,MAAOs7f,EAAU1lJ,QAASA,EAAQ9vV,SAAS,oBAGzKm6V,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,0BAAyBlpD,SAAA,EACpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,IAAGhjS,UACdwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,aAAYlpD,SAAC,eAElCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACnkD,GAAG,IAAIoO,GAAG,KAAIhjS,UACfwyV,EAAAA,GAAAA,KAACpE,GAAK,CAACxhW,KAAK,WAAW4vD,QAAS4gG,EAASl0F,UAAU,GAAGnoE,KAAK,UAAUktC,GAAG,UAAUwqC,YAAY,GAAGu4I,SAAU8tJ,YAItH7wU,GACGqqU,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,GAAElpD,SAAA,EACbwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAAC/1C,GAAG,IAAGhjS,UACPwyV,EAAAA,GAAAA,KAAC5D,GAAK,CAAC1lS,UAAU,kBAAiBlpD,SAAE,iBAExCs4V,EAAAA,GAAAA,MAACvf,GAAG,CAAC/1C,GAAG,IAAI95O,UAAU,WAAUlpD,SAAA,EAC5BwyV,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3uV,KAAK,KAAKgsN,MAAM,oBAAoB7hK,SAAU27b,EAAgB9ob,UAAU,iBAAiBtV,MAAO,CAAEC,OAAQ,OAAQglT,SAAU,QAAUnqD,QAASA,IAAM6jM,EAAWT,EAAiBA,EAAkB,GAAG9xe,SAAE,aAGhNwyV,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3uV,KAAK,KAAKgsN,MAAM,oBAAoB7hK,SAAU47b,EAAkB/ob,UAAU,iBAAiBtV,MAAO,CAAEC,OAAQ,OAAQglT,SAAU,QAAUnqD,QAASA,IAAM6jM,EAAWT,EAAiBA,EAAkB,GAAG9xe,SAAE,eAGlNwyV,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3uV,KAAK,KAAKgsN,MAAM,oBAAoBhvJ,UAAU,iBAAiBtV,MAAO,CAAEC,OAAQ,OAAQglT,SAAU,QAAUnqD,QAASA,IAAM4jM,EAAgB,UAAUtye,SAAE,mBAInKwyV,EAAAA,GAAAA,KAAClS,GAAQ,CAAC1sS,MAAO,CAAEC,OAAQ,SAAU7zC,UACjCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,kBAAkBtV,MAAO,CAAEC,OAAQ,OAAQx/C,MAAO,QAAS2L,UACtEwyV,EAAAA,GAAAA,KAAC//F,GAAAA,YAAW,CACRvtM,IAAK8rW,EACLxwS,QAAS2vX,EACTn3d,WAAYy6d,EACZvsX,sBAAsB,mBACtBl7G,cAAeolZ,EACf3tS,YAAY,EACZzO,aAAc,SACd/yE,mBAAoB,GACpBixX,mBA3IjB/mU,KACvB,MAAMylI,EAAeo/L,EAAQ53J,QAAQrkQ,IAAIq5K,kBACb,IAAxBwjD,EAAal5O,SACby4f,EAAoBv/Q,GACpB0gR,IACAhB,GAAgB,GACpB,EAsIwCoB,aA/JrBC,KACnB,IACIC,EADS5hF,EAAQ53J,QAAQrkQ,IAAIq5K,kBACL,GAAGud,SAE/BomT,EAAmBa,GAGfxC,EADmB,IAAnBwC,GAMAA,IAAmBzC,EAAWz3f,OAAS,EACvC23f,GAAoB,GAEpBA,GAAoB,EACxB,WAsJwB,OAIR/3I,EAAAA,GAAAA,MAAC5L,GAAW,CAAA1sV,SAAA,EACI,IAAX2H,GAAmB6qV,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3iI,MAAM,UAAUhsN,KAAK,KAAKg9D,UAAU,mBAAmBwlP,QAASA,IA5RjG+hM,MACf,MAAMqD,EACN,CACI,QAAWhlJ,EACX,WAAckK,EACd,OAAUkL,EACV,QAAW9mN,EACX,UAAas0V,EACb,UAAaiC,GAEjBpvN,GAAKpiM,OAAO,uBAAyBl0D,EAAI6ld,GAAcz1b,MAAMzhE,IACzD+na,IACAjC,GAAY,IAAI7/Z,MAAOC,UAAU,GACnC,EA+QoH2tf,GAAazwe,SAAC,WAAkB,IAClIwyV,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3iI,MAAM,UAAUhsN,KAAK,KAAKg9D,UAAU,mBAAmBwlP,QAASA,IA7Q7E82G,MACf,MAAMstF,EAAO,GAoBb,GAlBgB,KAAZhkJ,GACAgkJ,EAAKx4f,KAAK,WAEK,KAAf0+W,GACA85I,EAAKx4f,KAAK,cAEC,KAAX4pX,GACA4uI,EAAKx4f,KAAK,UAEK,KAAfo3f,GACAoB,EAAKx4f,KAAK,QAEG,KAAbq5f,GACAb,EAAKx4f,KAAK,YAGd43f,EAAWY,GAES,IAAhBA,EAAKp6f,OACL,IAAe,IAAXivB,EAAkB,CAClB,MAAMose,EACN,CACI,QAAWjlJ,EACX,WAAckK,EACd,OAAUkL,EACV,QAAW9mN,EACX,UAAas0V,EACb,UAAaiC,EACb,GAAM1ld,GAEVs2P,GAAKpiM,OAAO,uBAAyBl0D,EAAI8ld,GAAa11b,MAAMzhE,IACxD+na,IACAjC,GAAY,IAAI7/Z,MAAOC,UAAU,GAEzC,KAAO,CACH,MAAMkxf,EACF,CAAC,CACG,QAAWllJ,EACX,WAAckK,EACd,OAAUkL,EACV,QAAW9mN,EACX,UAAas0V,EACb,UAAaiC,IAErBpvN,GAAKl4R,IAAI,sBAAuB2nf,GAAS31b,MAAMzhE,IAC3C8la,GAAY,IAAI7/Z,MAAOC,WACvBiuf,GAAU,GACVD,EAAMl0f,EAAI4B,KAAK,GAAGyvC,GAAG,GAE7B,CACJ,EAwNkGu3X,GAAaxlZ,SAAE,UAC7FwyV,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3iI,MAAM,YAAYhsN,KAAK,KAAKg9D,UAAU,mBAAmBwlP,QAASi2G,EAAY3kZ,SAAC,mBAMtGoxe,IAAmB5+I,EAAAA,GAAAA,KAACyhJ,GAAe,CAChChE,WAAYA,EAAYF,aAAcA,EAAcG,cAAeA,EAAeF,iBAAkBA,EAAkBG,WAAYA,EAAYC,kBAAmBA,EAAmBC,oBAAqBA,EAAqB7tF,WAxLjN0wF,KACrB7B,GAAmB5sF,IAAa,GAAM,EAuL8NhC,eAAe,EAAMC,YAAaA,EAAaz0X,GAAIA,MAEpT,ECzIX,GApNuBimd,KACnB,MAAMljF,GAAUv2J,EAAAA,EAAAA,WACTg5O,EAAYC,IAAiB55O,EAAAA,EAAAA,UAAS,KACtCq6O,EAAWC,IAAgBt6O,EAAAA,EAAAA,UAAS,KACpCm3J,EAAUvO,IAAe5oJ,EAAAA,EAAAA,aACzBu6O,EAAQC,IAAax6O,EAAAA,EAAAA,aACrBs3J,EAAmBC,IAAwBv3J,EAAAA,EAAAA,UAAS,KACpD2qJ,EAAWC,IAAgB5qJ,EAAAA,EAAAA,WAAS,IACpC6qJ,EAAa6M,IAAkB13J,EAAAA,EAAAA,WAAS,IACxC23J,EAAYC,IAAiB53J,EAAAA,EAAAA,WAAS,IACtCnyP,EAAQope,IAAaj3O,EAAAA,EAAAA,WAAS,IAErCsC,EAAAA,EAAAA,YAAU,KACNmoB,GAAK23E,OAAO,uBAAuB79S,MAAMzhE,IACrCw3f,EAAax3f,GACbkF,YAAW,KACP4va,GAAc,EAAM,GACrB,CAAC,KAAM,GACZ,GACH,CAACT,IAEJ,MAAMqB,GAAcn3J,EAAAA,EAAAA,cAAY,KAC5Bk2J,EAAqB,CACjB9/Z,KAAM,EACNmB,SAAU,IACVwyL,UAAU,EACVvnM,QAAQ,EACR6Y,WAAW,EACXd,UAAU,EACVywH,aAAc,CAAC,MAAO,UAG1ButX,EAAc,CACV,CACI5me,WAAY,UACZruB,MAAO,UACPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,aACZruB,MAAO,aACPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,SACZruB,MAAO,SACPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,UACZruB,MAAO,UACPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CAuBIia,WAAY,YACZruB,MAAO,YACPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,YACZruB,MAAO,YACPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CA0BIia,WAAY,UACZruB,MAAO,UACPgjL,iBAAiB,EACjB5uK,SAAU,KAEd,CACIia,WAAY,OACZruB,MAAO,UACPgjL,iBAAiB,EACjB5uK,SAAU,MAEhB,GACH,IAEG0gf,EAAa3mf,IACF,WAATA,GACAmkf,GAAU,GACVuD,EAAU,KACM,SAAT1nf,GACPmkf,GAAU,GAEdrsF,GAAcD,EAAU,GAQ5BroJ,EAAAA,EAAAA,YAAU,KACNk2J,GAAa,GACd,CAACA,IAUJ,OACIh6D,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,EACIwyV,EAAAA,GAAAA,KAAC/R,GAAU,CAACv3R,UAAU,YAAWlpD,UAC7Bs4V,EAAAA,GAAAA,MAACngB,GAAG,CAAAn4U,SAAA,EACAs4V,EAAAA,GAAAA,MAACvf,GAAG,CAACjB,GAAG,IAAI5uR,UAAU,cAAalpD,SAAA,EAC/BwyV,EAAAA,GAAAA,KAACgE,GAAa,CAACtqW,KAAM,GAAIg9D,UAAU,OAAOgvJ,MAAM,YAAY,YAC5Ds6I,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,kBAAiBlpD,SAAC,wBAEtCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,IAAI5uR,UAAU,gBAAelpD,UACjCwyV,EAAAA,GAAAA,KAAC3X,GAAM,CAAC3uV,KAAK,KAAKgsN,MAAM,oBAAoBhvJ,UAAU,iBAAiBtV,MAAO,CAAEC,OAAQ,QAAU66P,QAASA,IAAM6kM,EAAU,UAAUvze,SAAC,wBAMlJwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,kBAAiBlpD,UAC5BwyV,EAAAA,GAAAA,KAACra,GAAG,CAAAn4U,UACAwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAI93U,SACPyxZ,GACGj/D,EAAAA,GAAAA,KAAClS,GAAQ,CAAC1sS,MAAO,CAAEC,OAAQ,SAAU7zC,UACjCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,yBAAwBlpD,UACnCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,cAAalpD,UACxBwyV,EAAAA,GAAAA,KAACL,GAAO,WAKpBK,EAAAA,GAAAA,KAAAC,GAAAA,SAAA,CAAAzyV,UACIwyV,EAAAA,GAAAA,KAAClS,GAAQ,CAAC1sS,MAAO,CAAEC,OAAQ,SAAU7zC,UACjCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,kBAAkBtV,MAAO,CAAEC,OAAQ,OAAQx/C,MAAO,QAAS2L,UACtEwyV,EAAAA,GAAAA,KAAC//F,GAAAA,YAAW,CACRvtM,IAAK8rW,EACLxwS,QAAS2zX,EACTn7d,WAAYy6d,EACZvsX,sBAAsB,mBACtBl7G,cAAeolZ,EACf3tS,YAAY,EACZzO,aAAc,SACd/yE,mBAAoB,GACpBixX,mBA/Cb/mU,KACvB,MAAMylI,EAAeo/L,EAAQ53J,QAAQrkQ,IAAIq5K,kBACb,IAAxBwjD,EAAal5O,SACb47f,EAAU1iR,EAAa,GAAG3jM,IAC1Bsld,EAAU,QACd,gBAoDK9uF,IAAajyD,EAAAA,GAAAA,KAAC+hJ,GAAS,CAACtmd,GAAIomd,EAAQvD,MAAOwD,EAAW9xF,WAlE5CA,KACfkC,GAAaD,IAAa,IAC1B+M,GAAgB7M,EAAY,EAgEuDosF,UAAWA,EAAWtuF,eAAe,EAAMC,YAAaA,EAAa/6Y,OAAQA,MAC7J,ECrLX,GApBoB,CAChB,CAAE7B,KAAM,IAAKL,SAAS+sV,EAAAA,GAAAA,KAAC2sI,GAAS,IAAKhrE,OAAQ,CAAC,KAAM,KAAM,MAAOxyG,SAAU,UAAW5gU,KAAM,YAAaujF,MAAMkuR,EAAAA,GAAAA,KAAAC,GAAAA,SAAA,KAC/G,CAAE3sV,KAAM,cAAeL,SAAS+sV,EAAAA,GAAAA,KAACgiJ,GAAU,IAAKrgF,OAAQ,CAAC,MAAOxyG,SAAU,UAAW5gU,KAAM,aAAcujF,MAAMkuR,EAAAA,GAAAA,KAAAC,GAAAA,SAAA,KAC/G,CAAE3sV,KAAM,oBAAqBL,SAAS+sV,EAAAA,GAAAA,KAACiiJ,GAAgB,IAAKtgF,OAAQ,CAAC,MAAOxyG,SAAU,UAAW5gU,KAAM,qBAAsBujF,MAAMkuR,EAAAA,GAAAA,KAAAC,GAAAA,SAAA,KACnI,CAAE3sV,KAAM,eAAgBL,SAAS+sV,EAAAA,GAAAA,KAACkiJ,GAAW,IAAKvgF,OAAQ,CAAC,KAAM,KAAM,MAAOxyG,SAAU,UAAW5gU,KAAM,eAAgBujF,MAAMkuR,EAAAA,GAAAA,KAAAC,GAAAA,SAAA,KAC/H,CAAE3sV,KAAM,aAAcL,SAAS+sV,EAAAA,GAAAA,KAACmiJ,GAAS,CAACvhF,cAAc,IAAWe,OAAQ,CAAC,MAAOxyG,SAAU,UAAW5gU,KAAM,aAAcujF,MAAMkuR,EAAAA,GAAAA,KAAAC,GAAAA,SAAA,KAClI,CAAE3sV,KAAM,gBAAiBL,SAAS+sV,EAAAA,GAAAA,KAAC0iE,GAAY,IAAKf,OAAQ,CAAC,MAAOxyG,SAAU,UAAW5gU,KAAM,eAAgBujF,MAAMkuR,EAAAA,GAAAA,KAAAC,GAAAA,SAAA,KACrH,CAAE3sV,KAAM,cAAeL,SAAS+sV,EAAAA,GAAAA,KAAC0mE,GAAU,IAAK/E,OAAQ,CAAC,MAAOxyG,SAAU,UAAW5gU,KAAM,oBAAqBujF,MAAMkuR,EAAAA,GAAAA,KAAAC,GAAAA,SAAA,KACtH,CAAE3sV,KAAM,OAAQL,SAAS+sV,EAAAA,GAAAA,KAAC4hE,GAAG,IAAKD,OAAQ,CAAC,MAAOxyG,SAAU,UAAW5gU,KAAM,MAAOujF,MAAMkuR,EAAAA,GAAAA,KAAAC,GAAAA,SAAA,KAC1F,CAAE3sV,KAAM,kBAAmBL,SAAS+sV,EAAAA,GAAAA,KAAC0hJ,GAAc,IAAK//E,OAAQ,CAAC,KAAM,KAAM,KAAM,KAAM,MAAOxyG,SAAU,aAAc5gU,KAAM,kBAAmBujF,MAAMkuR,EAAAA,GAAAA,KAAAC,GAAAA,SAAA,KACvJ,CAAE3sV,KAAM,kBAAmBL,SAAS+sV,EAAAA,GAAAA,KAACoiJ,GAAc,IAAKzgF,OAAQ,CAAC,MAAOxyG,SAAU,aAAc5gU,KAAM,kBAAmBujF,MAAMkuR,EAAAA,GAAAA,KAAAC,GAAAA,SAAA,KAC/H,CAAE3sV,KAAM,WAAYL,SAAS+sV,EAAAA,GAAAA,KAACqiJ,GAAO,IAAK1gF,OAAQ,CAAC,MAAOxyG,SAAU,aAAc5gU,KAAM,oBAAqBujF,MAAMkuR,EAAAA,GAAAA,KAAAC,GAAAA,SAAA,KACnH,CAAE3sV,KAAM,iBAAkBL,SAAS+sV,EAAAA,GAAAA,KAACsiJ,GAAa,IAAK3gF,OAAQ,CAAC,KAAM,KAAM,KAAM,KAAM,MAAOxyG,SAAU,aAAc5gU,KAAM,iBAAkBujF,MAAMkuR,EAAAA,GAAAA,KAAAC,GAAAA,SAAA,KACpJ,CAAE3sV,KAAM,qBAAsBL,SAAS+sV,EAAAA,GAAAA,KAAC2gJ,GAAiB,IAAKh/E,OAAQ,CAAC,KAAM,KAAM,KAAM,KAAM,MAAOxyG,SAAU,aAAc5gU,KAAM,qBAAsBujF,MAAMkuR,EAAAA,GAAAA,KAAAC,GAAAA,SAAA,KAChK,CAAE3sV,KAAM,YAAaL,SAAS+sV,EAAAA,GAAAA,KAACu+D,GAAQ,IAAKoD,OAAQ,CAAC,MAAOxyG,SAAU,aAAc5gU,KAAM,WAAYujF,MAAMkuR,EAAAA,GAAAA,KAAAC,GAAAA,SAAA,KAC5G,CAAE3sV,KAAM,SAAUL,SAAS+sV,EAAAA,GAAAA,KAACuiJ,GAAK,IAAK5gF,OAAQ,CAAC,MAAOxyG,SAAU,aAAc5gU,KAAM,QAASujF,MAAMkuR,EAAAA,GAAAA,KAAAC,GAAAA,SAAA,KACnG,CAAE3sV,KAAM,SAAUL,SAAS+sV,EAAAA,GAAAA,KAACwiJ,GAAK,IAAK7gF,OAAQ,CAAC,MAAOxyG,SAAU,aAAc5gU,KAAM,QAASujF,MAAMkuR,EAAAA,GAAAA,KAAAC,GAAAA,SAAA,KACnG,CAAE3sV,KAAM,IAAKL,SAAS+sV,EAAAA,GAAAA,KAAC+G,GAAQ,IAAK46D,OAAQ,CAAC,KAAM,KAAM,KAAM,KAAM,MAAOxyG,SAAU,UAAW5gU,KAAM,YAAaujF,MAAMkuR,EAAAA,GAAAA,KAAAC,GAAAA,SAAA,MCiK9H,GAxLuBr0C,IAAkC,IAAjC,aAAE62L,EAAY,UAAE17E,GAAWn7G,EAC/C,MAAM,SAAE92M,GAAau1N,KACf7qS,EAAWi4R,KACVoxB,EAAQkc,IAAaz9F,EAAAA,EAAAA,WAAS,IAC9Bo7O,EAAgBC,IAAqBr7O,EAAAA,EAAAA,UAAS,CAAC,GAQhDs7O,GAAoB36O,EAAAA,EAAAA,QAAO,CAAC,GAG5By9F,EAAkBxrW,IACpB,MAAMyrW,EAAYzrW,EAAMrP,OAAO4wC,GAAGrvC,MAAM,KAAK,GAGzCiD,OAAO8yD,YAAc,IACF,eAAfjoD,EAAME,KACNwof,EAAkBh8O,QAAQ++F,IAAa,EAEvCi9I,EAAkBh8O,QAAQ++F,IAAa,EAIxB,UAAfzrW,EAAME,OAENrS,OAAOmB,KAAK05f,EAAkBh8O,SAAS/+Q,SAAQiC,IACvCA,IAAQ67W,IACRi9I,EAAkBh8O,QAAQ98Q,IAAO,EACrC,IAIJ84f,EAAkBh8O,QAAQ++F,IAAci9I,EAAkBh8O,QAAQ++F,IAK1Eg9I,EAAkB,IAAKC,EAAkBh8O,SAAU,EAGjDi/F,EAAaA,KACf88I,EAAkB,CAAC,EAAE,GAGzBzxN,EAAAA,EAAAA,kBAAgB,KACZ6zE,GAAU,EAAM,GACjB,CAACvlU,IAEJ,MAAMqjd,EAAqBh3L,IAAA,IAAC,GAAEpwR,EAAE,KAAEq2C,EAAI,MAAEplB,EAAK,GAAEw+N,GAAI2gC,EAAA,OAC/Cm0C,EAAAA,GAAAA,KAACzZ,GAAG,CAAC7vR,UAAU,mBAAmB05M,IAAKmwF,GAAMr1E,GAAIA,EAAIgxB,QAAS2pD,EAAYpqU,GAAE,GAAA3nC,OAAK2nC,EAAE,QAAOjuB,UAGtFwyV,EAAAA,GAAAA,KAAA,QAAMvkU,GAAE,GAAA3nC,OAAK2nC,EAAE,SAAQjuB,SAAEk/C,KACvB,EAmFV,OACIo5S,EAAAA,GAAAA,MAAChf,GAAM,CAACpwR,UAAU,mBAAmBgwR,MAAI,EAACt+F,OAAO,KAAI56O,SAAA,EACjDwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,YAAWlpD,UACtBwyV,EAAAA,GAAAA,KAACO,GAAI,CAACr1E,GAAG,IAAIx0N,UAAU,YAAWlpD,UAC9BwyV,EAAAA,GAAAA,KAAA,OAAKvzV,IAAKs5V,GAAYnlM,IAAI,cAAclqG,UAAU,oBAI1DspS,EAAAA,GAAAA,KAAC9Y,GAAa,CAAChrC,QA9IRv4P,IAAMohT,GAAWlc,GA8IQnyR,UAAU,eAAclpD,SACnDq7U,GAASmX,EAAAA,GAAAA,KAACgG,GAAQ,KAAMhG,EAAAA,GAAAA,KAACiG,GAAW,OAEzCjG,EAAAA,GAAAA,KAACzc,GAAQ,CAACsF,OAAQA,EAAQtB,QAAM,EAAA/5U,UAC5Bs4V,EAAAA,GAAAA,MAACre,GAAG,CAACF,QAAM,EAAC7wR,UAAU,UAASlpD,SAAA,CA5FjBs1e,MAAO,IAADC,EAC5B,MAAMC,EAAWC,GAAYvxf,QAAO,CAACg7P,EAAK7lE,KAEtC,MAAMsoI,EAAWtoI,EAAMsoI,UAAY,UAKnC,OAJKziE,EAAIyiE,KAAWziE,EAAIyiE,GAAY,IAChCtoI,EAAM86O,OAAOh2Z,SAASo7Z,IACtBr6K,EAAIyiE,GAAUrnU,KAAK++L,GAEhB6lE,CAAG,GACX,CAAC,GAEJ,OACIo5G,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,CACwB,QADxBu1e,EACKC,EAAkB,eAAC,IAAAD,OAAA,EAAnBA,EAAqBtwf,KAAKo0L,IACvBm5K,EAAAA,GAAAA,KAACzZ,GAAG,CAAkB7vR,UAAU,wCAAwC05M,IAAKmwF,GAAMr1E,GAAIrkG,EAAMvzK,KAAM4oS,QAAS2pD,EAAWr4V,UACnHwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,WAAUlpD,SACpBq5K,EAAMt4L,QAFLs4L,EAAMvzK,QAMnB0ve,EAAqB,aAClBl9I,EAAAA,GAAAA,MAACtG,GAAoB,CACjBzW,UAAQ,EACRD,KAAG,EACHrrR,aAAcioS,EACdhoS,aAAcgoS,EACdxpD,QAASwpD,EACT7c,OAAQ65J,EAAet9I,eACvBhkT,MAAO,CAAEmmL,OAAQ,WACjB9rM,GAAG,sBAAqBjuB,SAAA,EAExBwyV,EAAAA,GAAAA,KAAC/T,GAAc,CAACnD,KAAG,EAACpyR,UAAU,YAAYj7B,GAAG,4BAA2BjuB,UAGpEs4V,EAAAA,GAAAA,MAAA,QAAMrqU,GAAG,sBAAsBi7B,UAAU,WAAUlpD,SAAA,CAAC,gBAAYwyV,EAAAA,GAAAA,KAACmG,GAAM,CAAC1qU,GAAG,8BAG/EukU,EAAAA,GAAAA,KAACvU,GAAY,CAAC/0R,UAAU,0BAA0Bj7B,GAAG,0BAAyBjuB,SACzEw1e,EAAqB,WAAEvwf,KAAIo0L,IACxBm5K,EAAAA,GAAAA,KAAC6iJ,EAAkB,CAEfpnd,GAAE,kBAAA3nC,OAAoB+yL,EAAMvzK,MAC5Bo5C,MAAOm6H,EAAMt4L,KACb28R,GAAIrkG,EAAMvzK,MAHLuzK,EAAMvzK,aAS9B0ve,EAAkB,UACfl9I,EAAAA,GAAAA,MAACtG,GAAoB,CACjBzW,UAAQ,EACRD,KAAG,EACHrrR,aAAcioS,EACdhoS,aAAcgoS,EACdxpD,QAASwpD,EACT7c,OAAQ65J,EAAep9I,YACvBlkT,MAAO,CAAEmmL,OAAQ,WACjB9rM,GAAG,mBAAkBjuB,SAAA,EAErBwyV,EAAAA,GAAAA,KAAC/T,GAAc,CAACnD,KAAG,EAACpyR,UAAU,YAAYj7B,GAAG,yBAAwBjuB,UAEjEs4V,EAAAA,GAAAA,MAAA,QAAMrqU,GAAG,mBAAmBi7B,UAAU,WAAUlpD,SAAA,CAAC,YAAQwyV,EAAAA,GAAAA,KAACmG,GAAM,CAAC1qU,GAAG,4BAExEukU,EAAAA,GAAAA,KAACvU,GAAY,CAAC/0R,UAAU,0BAA0Bj7B,GAAG,uBAAsBjuB,SACtEw1e,EAAkB,QAAEvwf,KAAIo0L,IACrBm5K,EAAAA,GAAAA,KAAC6iJ,EAAkB,CAEfpnd,GAAE,eAAA3nC,OAAiB+yL,EAAMvzK,MACzBo5C,MAAOm6H,EAAMt4L,KACb28R,GAAIrkG,EAAMvzK,MAHLuzK,EAAMvzK,eAShC,EAiBMwve,IAEDh9I,EAAAA,GAAAA,MAACtG,GAAoB,CACjBzW,UAAQ,EACRD,KAAG,EACHD,OAAQ65J,EAAel9I,YACvBpkT,MAAO,CAAEmmL,OAAQ,WACjB9rM,GAAG,mBACHgiC,aAAcioS,EACdhoS,aAAcgoS,EACdxpD,QAASwpD,EAAel4V,SAAA,EAExBwyV,EAAAA,GAAAA,KAAC/T,GAAc,CAACnD,KAAG,EAACpyR,UAAU,YAAYj7B,GAAG,yBAAwBjuB,UAGjEs4V,EAAAA,GAAAA,MAAA,QAAMrqU,GAAG,mBAAmBi7B,UAAU,WAAUlpD,SAAA,CAAEi1e,EAAa,KAACziJ,EAAAA,GAAAA,KAACmG,GAAM,CAAC1qU,GAAG,4BAE/EukU,EAAAA,GAAAA,KAACvU,GAAY,CAAC/0R,UAAU,qBAAqBj7B,GAAG,uBAAsBjuB,UAClEwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAAC7vR,UAAU,MAAMj7B,GAAG,kBAAiBjuB,UACrCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,qBAAqBtV,MAAO,CAAEmmL,OAAQ,WAAa20E,QApKzEgnM,KACjBpuY,EAASguN,iBAAiBoH,MAAMv9U,QAAQ0H,MAAM,EAmKkEmZ,UACpFwyV,EAAAA,GAAAA,KAAA,QAAAxyV,SAAM,2BAOzB,EChJjB,GAxC4B21e,MAExBv5O,EAAAA,EAAAA,YAAU,KACN,MAAMw5O,EAAU3we,SAAS42C,cAAc,yBAEnC+5b,GAASA,EAAQ9ib,SACrB,MAAM+ib,EAAa5we,SAASC,cAAc,QAK1C,OAJA2we,EAAW90f,KAAO,WAClB80f,EAAWptP,QAAU,yEACrBxjP,SAASkiT,KAAKxzQ,YAAYkic,GAEnB,KACCD,GAASA,EAAQ9ib,QAAQ,CAChC,GACF,IAEH,MAAM,KAAEmjW,GAASF,KACjB,OACIvjE,EAAAA,GAAAA,KAAAC,GAAAA,SAAA,CAAAzyV,SACqB,IAAhBi2Z,EAAKv9a,SACF4/W,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,EACIwyV,EAAAA,GAAAA,KAACsjJ,GAAc,CAACb,aAAY,GAAA3uf,OAAK2va,EAAKoD,UAAS,KAAA/ya,OAAI2va,EAAKqD,UAAYC,UAAWtD,EAAKsD,aACpF/mE,EAAAA,GAAAA,KAAA,OAAK5+S,MAAO,CAAEmD,WAAY,OAAQ+nR,UAAW,UAAW9+T,UACpDwyV,EAAAA,GAAAA,KAAChpC,EAAM,CAAAxpT,SACFy1e,GAAYxwf,KAAIm5T,IAAA,IAAC,KAAEt4S,EAAI,QAAEL,EAAO,OAAE0uZ,GAAQ/1G,EAAA,OACvCo0C,EAAAA,GAAAA,KAAClqC,EAAK,CAEFxiT,KAAMA,EACNL,QAAS0uZ,EAAOh2Z,SAAS83Z,EAAKsD,WAAa9zZ,GAAU+sV,EAAAA,GAAAA,KAACiW,GAAY,KAF7D3iW,EAGP,YAOvB,ECsEX,GA5G8Biwe,KAE1B,MAAMC,EAAW,GACXC,EAAY,CACd,CACI3xa,MAAMkuR,EAAAA,GAAAA,KAACqE,GAAiB,CAAC3qW,KAAM8pf,IAC/Bpxb,KAAM,wDAEV,CACI0f,MAAMkuR,EAAAA,GAAAA,KAAC8C,GAAa,CAACppW,KAAM8pf,IAC3Bpxb,KAAM,kDAEV,CACI0f,MAAMkuR,EAAAA,GAAAA,KAACkE,GAAa,CAACxqW,KAAM8pf,IAC3Bpxb,KAAM,0CAEV,CACI0f,MAAMkuR,EAAAA,GAAAA,KAACkI,GAAY,CAACxuW,KAAM8pf,IAC1Bpxb,KAAM,uFAEV,CACI0f,MAAMkuR,EAAAA,GAAAA,KAACsC,GAAY,CAAC5oW,KAAM8pf,IAC1Bpxb,KAAM,uEAEV,CACI0f,MAAMkuR,EAAAA,GAAAA,KAACwC,GAAiB,CAAC9oW,KAAM8pf,IAC/Bpxb,KAAM,kDAIPhrD,EAAWs/V,IAAgBp/F,EAAAA,EAAAA,WAAS,GAO3C,OALAsC,EAAAA,EAAAA,YAAU,KACN88F,GAAa,EAAK,GACnB,KAIC1G,EAAAA,GAAAA,KAAA,OAAKtpS,UAAS,6BAAgCtV,MAAO,CAAEO,SAAU,UAAWn0C,UACxEs4V,EAAAA,GAAAA,MAACngB,GAAG,CAAAn4U,SAAA,EACAwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACf,GAAG,IAAIh1C,GAAG,KAAK95O,UAAS,mDAAA5iE,OAAqDsT,EAAY,UAAY,IAAKoG,UAC3Gs4V,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,uBAAsBlpD,SAAA,EACjCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,mBAAkBlpD,SAAC,yDAGlCwyV,EAAAA,GAAAA,KAACra,GAAG,CAAAn4U,SACCi2e,EAAUhxf,KAAI,CAACgP,EAAM5X,KAEdi8W,EAAAA,GAAAA,MAACvf,GAAG,CAAaf,GAAG,IAAIh1C,GAAG,IAAIpO,GAAG,IAAI1rO,UAAU,qBAAoBlpD,SAAA,EAChEwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,eAAclpD,SAAE/L,EAAKqwE,QACpCkuR,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,aAAYlpD,SAAE/L,EAAK2wD,SAF5BvoE,aAU9Bm2W,EAAAA,GAAAA,KAACzZ,GAAG,CAACf,GAAG,IAAIh1C,GAAG,KAAK95O,UAAS,oDAAA5iE,OAAsDsT,EAAY,UAAY,IAAKoG,UAC5Gs4V,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,eAAclpD,SAAA,EACzBwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,iCAAgClpD,SAAC,gBAGhDs4V,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,uCAAsClpD,SAAA,CAAC,mDACHwyV,EAAAA,GAAAA,KAAA,SAAM,gCAEzD8F,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,sBAAqBlpD,SAAA,EAChCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,gBAAelpD,SAAC,iBAG/BwyV,EAAAA,GAAAA,KAAA,OAAAxyV,UACIwyV,EAAAA,GAAAA,KAAA,SAAO5lW,KAAK,OAAOs8D,UAAU,gBAAgBmf,UAAW,QAE5DmqR,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,qBAAoBlpD,SAAC,gBAGpCwyV,EAAAA,GAAAA,KAAA,OAAAxyV,UACIwyV,EAAAA,GAAAA,KAAA,SAAO5lW,KAAK,OAAOs8D,UAAU,gBAAgBmf,UAAW,QAE5DmqR,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,qBAAoBlpD,SAAC,YAGpCwyV,EAAAA,GAAAA,KAAA,OAAAxyV,UACIwyV,EAAAA,GAAAA,KAAA,SAAO5lW,KAAK,OAAOs8D,UAAU,gBAAgBmf,UAAW,QAE5DmqR,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,mCAAkClpD,SAAC,iCAGlDwyV,EAAAA,GAAAA,KAAA,OAAAxyV,UACIwyV,EAAAA,GAAAA,KAAA,SAAO5lW,KAAK,OAAOs8D,UAAU,gBAAgBmf,UAAW,SAE5DmqR,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,qBAAoBlpD,SAAC,cAGpCwyV,EAAAA,GAAAA,KAAA,OAAAxyV,UACIwyV,EAAAA,GAAAA,KAAA,YAAU70Q,KAAK,IAAIz0B,UAAU,gBAAgBmf,UAAW,YAGhEmqR,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,iBAAgBlpD,UAC3BwyV,EAAAA,GAAAA,KAAA,UAAQtpS,UAAU,oBAAmBlpD,SAAC,uBAKnD,ECzDf,GAhD2Bk2e,KAGnB1jJ,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,4BAA2BlpD,UACtCs4V,EAAAA,GAAAA,MAACngB,GAAG,CAAAn4U,SAAA,EACAwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACf,GAAG,IAAI9uR,UAAU,4BAA2BlpD,UAC7Cs4V,EAAAA,GAAAA,MAACngB,GAAG,CAAAn4U,SAAA,EACAwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAI93U,UACRs4V,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,gCAA+BlpD,SAAA,CAAC,oCAE3CwyV,EAAAA,GAAAA,KAAA,SAAM,kCAIdA,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAI93U,UACRwyV,EAAAA,GAAAA,KAAA,OAAAxyV,UACIwyV,EAAAA,GAAAA,KAAA,KAAG54E,KAAK,wEAAwEv8R,OAAO,SAASy7W,IAAI,aAAallT,MAAO,CAAEsnT,eAAgB,OAAQhjJ,MAAO,SAAUl4M,UAC/JwyV,EAAAA,GAAAA,KAAA,UAAQtpS,UAAU,kBAAiBlpD,SAAE,mCAQzDs4V,EAAAA,GAAAA,MAACvf,GAAG,CAACf,GAAG,IAAI9uR,UAAU,uDAAsDlpD,SAAA,EACxEs4V,EAAAA,GAAAA,MAAA,OAAAt4V,SAAA,EACIwyV,EAAAA,GAAAA,KAAEoH,GAAgB,CAAC1tW,KAAM,GAAIg9D,UAAU,uBAAuB,UAAQspS,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,wBAAuBlpD,SAAC,wBAElHs4V,EAAAA,GAAAA,MAAA,OAAAt4V,SAAA,EACIwyV,EAAAA,GAAAA,KAAEoH,GAAgB,CAAC1tW,KAAM,GAAIg9D,UAAU,uBAAuB,UAAQspS,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,wBAAuBlpD,SAAC,8BAElHs4V,EAAAA,GAAAA,MAAA,OAAAt4V,SAAA,EACIwyV,EAAAA,GAAAA,KAAEoH,GAAgB,CAAC1tW,KAAM,GAAIg9D,UAAU,uBAAuB,UAAQspS,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,wBAAuBlpD,SAAC,4BAElHs4V,EAAAA,GAAAA,MAAA,OAAAt4V,SAAA,EACIwyV,EAAAA,GAAAA,KAAEoH,GAAgB,CAAC1tW,KAAM,GAAIg9D,UAAU,uBAAuB,UAAQspS,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,wBAAuBlpD,SAAC,yBAElHs4V,EAAAA,GAAAA,MAAA,OAAAt4V,SAAA,EACIwyV,EAAAA,GAAAA,KAAEoH,GAAgB,CAAC1tW,KAAM,GAAIg9D,UAAU,uBAAuB,UAAQspS,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,wBAAuBlpD,SAAC,0CCKtI,GAjDkB,CACd,CACI,CAAE4kD,KAAM,SAAUsE,UAAW,WAC7B,CAAEtE,KAAM,gBAAiBsE,UAAW,YACpC,CAAEtE,KAAM,aAAcsE,UAAW,aAErC,CACI,CAAEtE,KAAM,WAAYsE,UAAW,WAC/B,CAAEtE,KAAM,SAAUsE,UAAW,YAC7B,CAAEtE,KAAM,MAAOsE,UAAW,YAC1B,CAAEtE,KAAM,cAAesE,UAAW,WAEtC,CACI,CAAEtE,KAAM,WAAYsE,UAAW,WAC/B,CAAEtE,KAAM,WAAYsE,UAAW,YAC/B,CAAEtE,KAAM,kBAAmBsE,UAAW,aAE1C,CACI,CAAEtE,KAAM,UAAWsE,UAAW,WAC9B,CAAEtE,KAAM,cAAesE,UAAW,YAClC,CAAEtE,KAAM,cAAesE,UAAW,WAEtC,CACI,CAAEtE,KAAM,gBAAiBsE,UAAW,WACpC,CAAEtE,KAAM,6BAA8BsE,UAAW,WAErD,CACI,CAAEtE,KAAM,OAAQsE,UAAW,aAE/B,CACI,CAAEtE,KAAM,WAAYsE,UAAW,WAC/B,CAAEtE,KAAM,SAAUsE,UAAW,YAC7B,CAAEtE,KAAM,MAAOsE,UAAW,YAC1B,CAAEtE,KAAM,oBAAqBsE,UAAW,aAE5C,CACI,CAAEtE,KAAM,YAAasE,UAAW,WAChC,CAAEtE,KAAM,SAAUsE,UAAW,YAC7B,CAAEtE,KAAM,IAAKsE,UAAW,aAE5B,CACI,CAAEtE,KAAM,KAAMsE,UAAW,aAE7B,CACI,CAAEtE,KAAM,kBAAmBsE,UAAW,WACtC,CAAEtE,KAAM,iBAAkBsE,UAAW,cCiE7C,GAzGsBitb,KAAO,IAADC,EAExB,MAAOC,EAAaC,IAAkBx8O,EAAAA,EAAAA,UAAS,IACxCy8O,EAAkBC,IAAuB18O,EAAAA,EAAAA,UAAS,IAClD28O,EAAiBC,IAAsB58O,EAAAA,EAAAA,UAAS,IAChD68O,EAAeC,IAAoB98O,EAAAA,EAAAA,UAAS,IAwDnD,OAtDAsC,EAAAA,EAAAA,YAAU,KACN,GAAIi6O,EAAcQ,GAAUn+f,OAAQ,CAChC,MAAM6hS,EAAOs8N,GAAUR,GACjB5sb,EAAO8wN,EAAKk8N,GAElB,GAAIF,EAAmB9sb,EAAK7E,KAAKlsE,OAAQ,CAErC,MAAMo+f,EAAiBh1f,YAAW,KAC9B80f,GAAkB/2V,IAEd,MAAMk3V,EAAc,IAAIl3V,GAkBxB,OAfKk3V,EAAYV,KACbU,EAAYV,GAAe,IAI1BU,EAAYV,GAAaI,KAC1BM,EAAYV,GAAaI,GAAmB,CAAE7xb,KAAM,GAAIsE,UAAWO,EAAKP,YAI5E6tb,EAAYV,GAAaI,GAAmB,CACxC7xb,KAAMmyb,EAAYV,GAAaI,GAAiB7xb,KAAO6E,EAAK7E,KAAK2xb,GACjErtb,UAAWO,EAAKP,WAGb6tb,CAAW,IAGtBP,GAAqB32V,GAASA,EAAO,GAAE,GACxC,IACH,MAAO,IAAMp9J,aAAaq0f,EAC9B,CAEQL,EAAkBl8N,EAAK7hS,OAAS,GAChCg+f,GAAoB72V,GAASA,EAAO,IACpC22V,EAAoB,KAGpBF,GAAgBz2V,GAASA,EAAO,IAChC62V,EAAmB,GACnBF,EAAoB,GAGhC,IACD,CAACH,EAAaE,EAAkBE,KAQ/BjkJ,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,oBAAmBlpD,UAC9Bs4V,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,SAAQlpD,SAAA,EACnBwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,OAAMlpD,UACjBwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,aAAYlpD,SAAC,gBAGjCs4V,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,cAAalpD,SAAA,EACxBwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,eAAclpD,SACxB7jB,MAAM8oE,KAAK,CAAEvsE,OAAQm+f,GAAUn+f,SAAU,CAACg9B,EAAG/5B,KAC1C62W,EAAAA,GAAAA,KAAA,OAAAxyV,SAAcrkB,EAAI,GAARA,QAIlB28W,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,aAAYlpD,SAAA,CACtB22e,EAAc1xf,KAAI,CAACs1R,EAAM50N,IACtBA,IAAQ0wb,IACJ7jJ,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,OAAMlpD,SAChBu6Q,EAAKt1R,KAAI,CAACwkE,EAAMutb,KACbxkJ,EAAAA,GAAAA,KAAA,QAAoBtpS,UAAWO,EAAKP,UAAUlpD,SACzCypD,EAAK7E,MADCoyb,MAFQrxb,KAUlC0wb,EAAcQ,GAAUn+f,SACrB4/W,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,OAAMlpD,SAAA,CACU,QADVo2e,EAChBO,EAAcN,UAAY,IAAAD,OAAA,EAA1BA,EAA4Bnxf,KAAI,CAACwkE,EAAMutb,KACpCxkJ,EAAAA,GAAAA,KAAA,QAAoBtpS,UAAWO,EAAKP,UAAUlpD,SACzCypD,EAAK7E,MADCoyb,MAIfxkJ,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,eAAclpD,SAAC,mBAMjD,ECzCd,GA5DoBi3e,KAEZzkJ,EAAAA,GAAAA,KAAAC,GAAAA,SAAA,CAAAzyV,UACIs4V,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,iBAAgBlpD,SAAA,EAC3BwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,qBAAoBlpD,SAAC,OACpCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,mBAAkBlpD,UAC7Bs4V,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,MAAKlpD,SAAA,EAEhBwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAKE,GAAG,KAAK9uR,UAAU,cAAalpD,UACxCs4V,EAAAA,GAAAA,MAAA,MAAIpvS,UAAU,mBAAkBlpD,SAAA,CAAC,iCACAwyV,EAAAA,GAAAA,KAAA,UAC7BA,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,YAAWlpD,SAAC,oCAKpCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAKE,GAAG,KAAK9uR,UAAU,wDAAuDlpD,UAClFwyV,EAAAA,GAAAA,KAAC2jJ,GAAa,OAElB3jJ,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAK5uR,UAAU,cAAalpD,UAChCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,OAAMlpD,UACjBwyV,EAAAA,GAAAA,KAAA,KAAG54E,KAAK,wEAAwEv8R,OAAO,SAASy7W,IAAI,aAAallT,MAAO,CAAEsnT,eAAgB,OAAQhjJ,MAAO,SAAUl4M,UAC/JwyV,EAAAA,GAAAA,KAAA,UAAQtpS,UAAU,cAAalpD,SAAC,uCCvB9Dk3e,GAAe,CACjB,CACIn2f,KAAM,gBACN89D,KAAM,8BACN4pM,QAAS,uIAEb,CACI1nQ,KAAM,gBACN89D,KAAM,yCACN4pM,QAAS,8OAEb,CACI1nQ,KAAM,cACN89D,KAAM,yCACN4pM,QAAS,oIAEb,CACI1nQ,KAAM,gBACN89D,KAAM,iCACN4pM,QAAS,oKAIF,SAAS0uP,KACpB,OACI7+I,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,4BAA2BlpD,SAAA,EACtCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,8BAA6BlpD,SAAC,4BAG7CwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,yBAAwBlpD,SAClCk3e,GAAajyf,KAAI,CAACmyf,EAAa/6f,KAC5Bi8W,EAAAA,GAAAA,MAAA,OAAiBpvS,UAAU,mBAAkBlpD,SAAA,EACzCwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,qBAAoBlpD,UAC/Bs4V,EAAAA,GAAAA,MAAA,OAAAt4V,SAAA,EACIwyV,EAAAA,GAAAA,KAAA,MAAItpS,UAAU,mBAAkBlpD,SAAEo3e,EAAYr2f,QAC9CyxW,EAAAA,GAAAA,KAAA,KAAGtpS,UAAU,mBAAkBlpD,SAAEo3e,EAAYv4b,aAGrD2zS,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,qBAAoBlpD,SAC9B,IAAI7jB,MAAM,IAAI8I,KAAI,CAACywB,EAAG/5B,KACnB62W,EAAAA,GAAAA,KAACiI,GAAM,CAASvxS,UAAU,aAAbvtE,QAGrB62W,EAAAA,GAAAA,KAAA,KAAGtpS,UAAU,gBAAelpD,SAAEo3e,EAAY3uP,YAZpCpsQ,SAkB9B,CCuKA,MACA,GAAe,IAA0B,+DC7JzC,MACA,GAAe,IAA0B,8DCsIzC,MACA,GAAe,IAA0B,qIC0pNlC,SAASg7f,GAAsBruf,GACpC,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,aAAa,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,KAAO,OAAO,EAAI,iBAAiB,MAAQ,IAAI,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,+RAA+R,MAAQ,MAAncA,CAA0clrW,EACnd,CAg9KO,SAASsuf,GAAoBtuf,GAClC,OAAOkrW,GAAQ,CAAC,IAAM,MAAM,KAAO,CAAC,QAAU,aAAa,MAAQ,CAAC,CAAC,IAAM,OAAO,KAAO,CAAC,KAAO,OAAO,EAAI,iBAAiB,MAAQ,IAAI,CAAC,IAAM,OAAO,KAAO,CAAC,EAAI,w2BAAw2B,MAAQ,MAA5gCA,CAAmhClrW,EAC5hC,CC7yYA,MAEMitf,GAAY,CACd,CACInnJ,QAAS,wBACTxqR,MAAMkuR,EAAAA,GAAAA,KAAC8kJ,GAAkB,CAACprf,KALjB,MAMT04D,KAAM,oKAEV,CACIkqS,QAAS,wBACTxqR,MAAMkuR,EAAAA,GAAAA,KAAC6kJ,GAAoB,CAACnrf,KAVnB,MAWT04D,KAAM,oKAEV,CACIkqS,QAAS,oBACTxqR,MAAMkuR,EAAAA,GAAAA,KAACmE,GAA0B,CAACzqW,KAfzB,MAgBT04D,KAAM,iKAMC,SAAS2yb,KAEpB,MAAO39e,EAAWs/V,IAAgBp/F,EAAAA,EAAAA,WAAS,GAM3C,OAJAsC,EAAAA,EAAAA,YAAU,KACN88F,GAAa,EAAK,GACnB,KAGCZ,EAAAA,GAAAA,MAAA,OAAKpvS,UAAS,+CAAA5iE,OAAiDsT,EAAY,UAAY,IAAKoG,SAAA,EACxFwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,iCAAgClpD,SAAC,8BAGhDs4V,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,aAAYlpD,SAAA,CAAC,iEAC2BwyV,EAAAA,GAAAA,KAAA,QAAMtpS,UAAU,0BAAyBlpD,SAAC,2BAA6B,+LAK9HwyV,EAAAA,GAAAA,KAACra,GAAG,CAACjvR,UAAU,uBAAsBlpD,UACjCwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACjB,GAAG,KAAK5uR,UAAU,iCAAgClpD,UACnDwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,GAAElpD,UACbwyV,EAAAA,GAAAA,KAACra,GAAG,CAAAn4U,SACCi2e,GAAUhxf,KAAI,CAACgP,EAAM5X,KAEdm2W,EAAAA,GAAAA,KAACzZ,GAAG,CAAa/1C,GAAG,IAAI80C,GAAG,KAAK5uR,UAAU,0BAAyBlpD,UAC/DwyV,EAAAA,GAAAA,KAACtS,GAAI,CAACh3R,UAAU,kBAAiBlpD,UAC7Bs4V,EAAAA,GAAAA,MAAChY,GAAQ,CAACp3R,UAAU,MAAKlpD,SAAA,EACrBwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,eAAclpD,SAAE/L,EAAKqwE,QACpCkuR,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,gCAA+BlpD,SAAE/L,EAAK66V,WACrD0D,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,yBAAwBlpD,SAAE/L,EAAK2wD,aALhDvoE,cAelCm2W,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,mBAAkBlpD,SAAC,uCAGlCs4V,EAAAA,GAAAA,MAACngB,GAAG,CAACjvR,UAAU,YAAWlpD,SAAA,EACtBwyV,EAAAA,GAAAA,KAACzZ,GAAG,CAACf,GAAG,IAAIF,GAAG,KAAK5uR,UAAU,uBAAsBlpD,UAChDwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,YAAYjqD,IAAKu4e,GAAOpkV,IAAI,mBAE/Co/L,EAAAA,GAAAA,KAACzZ,GAAG,CAACf,GAAG,IAAIF,GAAG,KAAK5uR,UAAU,uBAAsBlpD,UAChDwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,YAAYjqD,IAAKw4e,GAAWrkV,IAAI,sBAEnDo/L,EAAAA,GAAAA,KAACzZ,GAAG,CAACf,GAAG,IAAIF,GAAG,KAAK5uR,UAAU,uBAAsBlpD,UAChDwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,cAAcjqD,IAAKy4e,GAAQtkV,IAAI,eAElDo/L,EAAAA,GAAAA,KAACzZ,GAAG,CAACf,GAAG,IAAIF,GAAG,KAAK5uR,UAAU,uBAAsBlpD,UAChDwyV,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,YAAYjqD,IAAK04e,GAASvkV,IAAI,wBAKjE,CCjFO,MAqGP,GArGwBwxM,MAEpBxoG,EAAAA,EAAAA,YAAU,KACN,MAAMyoG,EAAeA,KACA5/V,SAASwxC,iBAAiB,kBAClCp8D,SAASorB,IACd,MAAMq/V,EAAkBr/V,EAAQyrF,wBAAwBj5C,IAClD8sT,EAAYljX,OAAO6yD,YAAc,IACvCv1D,QAAQyF,IAAIkgX,EAAiBC,GACzBD,EAAkBC,EAClBt/V,EAAQywC,UAAU7pD,IAAI,WAEtBoZ,EAAQywC,UAAU4c,OAAO,UAC7B,GACF,EAKN,OAFAjxE,OAAOsK,iBAAiB,SAAU04W,GAE3B,KACHhjX,OAAOyK,oBAAoB,SAAUu4W,EAAa,CACrD,GACF,KAEHzoG,EAAAA,EAAAA,YAAU,KACNn3P,SAASm0J,MAAQ,6DAGjB,MAAM+hM,EAAkBl2V,SAASC,cAAc,QAC/Ci2V,EAAgBhmT,aAAa,OAAQ,eACrCgmT,EAAgB1yG,QAAU,gJAG1B,MAAM2yG,EAAen2V,SAASC,cAAc,QAC5Ck2V,EAAajmT,aAAa,OAAQ,YAClCimT,EAAa3yG,QAAU,sNAEvB,MAAM2wG,EAAan0V,SAASC,cAAc,QAU1C,OATAk0V,EAAWjkT,aAAa,OAAQ,UAChCikT,EAAW3wG,QAAU,QACrBxjP,SAASkiT,KAAKxzQ,YAAYylT,GAG1Bn0V,SAASkiT,KAAKxzQ,YAAYwnT,GAC1Bl2V,SAASkiT,KAAKxzQ,YAAYynT,GAC1Bn2V,SAASkiT,KAAKxzQ,YAAYylT,GAEnB,KAEHn0V,SAASkiT,KAAKpzQ,YAAYonT,GAC1Bl2V,SAASkiT,KAAKpzQ,YAAYqnT,GAC1Bn2V,SAASkiT,KAAKpzQ,YAAYqlT,EAAW,CAExC,GACF,KAUCd,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,EACIwyV,EAAAA,GAAAA,KAACykJ,GAAW,KAQZzkJ,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,kBAAiBlpD,UAC5BwyV,EAAAA,GAAAA,KAACujJ,GAAc,OAWnBvjJ,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,eAAclpD,UACzBwyV,EAAAA,GAAAA,KAAC0jJ,GAAW,OAEhB1jJ,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,gBAAelpD,UAC1BwyV,EAAAA,GAAAA,KAAC+kJ,GAAS,OAGd/kJ,EAAAA,GAAAA,KAAA,WAAStpS,UAAU,sBAAqBlpD,UACpCwyV,EAAAA,GAAAA,KAAC2kJ,GAAY,UClE7B,GAhCc59K,KACV,MAAM,SAAEjyN,EAAQ,WAAEk/H,GAAeq2F,KAC3BC,EAAkBE,KA2BxB,OA1BA5gE,EAAAA,EAAAA,YAAU,KAEc3wQ,WAChB,IAAKqxU,GAAmBt2F,IAAemtF,GAAkB0G,KACrD,IAEI,SAD4B/yN,EAAS4tN,wBAOjCuwF,MAAM,0CANU,CAEQ,IADPn+S,EAASwtN,iBACbp8U,QACT4uH,EAAS8tN,eAEjB,CAGJ,CACA,MAAOvuU,GACH1H,QAAQ0H,MAAMA,GACd4+Z,MAAM5+Z,EACV,CACH,EAGL+wf,EAAa,GAEd,CAACpxQ,EAAYs2F,EAAiBx1N,IAE1B,IAAI,EC0Gf,GA5GqBuwY,KACjB,MAAM,SAAEh9K,GAAagC,KACf97U,EAAO85U,EAAS,IAAMA,EAAS,GAAG95U,KAClCixC,EAAWi4R,IAwDjB,OAtDA7tD,EAAAA,EAAAA,YAAU,KACkB07O,MACpB,MAAMC,EAAY,GAAAzxf,OAAMzE,OAAOmwC,SAAS0jW,QAAMpvY,OAAGzE,OAAOmwC,SAASkoP,UACjE,IAAI2K,EAAO5/Q,SAAS42C,cAAc,yBAE7BgpO,IACDA,EAAO5/Q,SAASC,cAAc,QAC9B2/Q,EAAK1vO,aAAa,MAAO,aACzBlwC,SAASkiT,KAAKxzQ,YAAYkxO,IAE9BA,EAAK1vO,aAAa,OAAQ4ic,EAAa,EAG3CD,EAAiB,GAClB,CAAC9ld,KAEJ0xP,EAAAA,EAAAA,kBAAgB,KACZ7hS,OAAOs2I,SAAS,EAAG,EAAE,GACtB,CAACnmG,EAASkoP,YAEb9d,EAAAA,EAAAA,YAAU,KAEN,MAAMyoG,EAAeA,KAEA5/V,SAASwxC,iBAAiB,2DAGlCp8D,SAASorB,IACd,MAAMq/V,EAAkBr/V,EAAQyrF,wBAAwBj5C,IAIpD6sT,EAHcjjX,OAAO6yD,aAGUowT,GAAmB,GAClDr/V,EAAQywC,UAAU7pD,IAAI,UAC1B,GAEF,EAUN,OANAxK,OAAOsK,iBAAiB,SAAU04W,GAGlCA,IAGO,KACHhjX,OAAOyK,oBAAoB,SAAUu4W,EAAa,CACrD,GACF,KAMCvM,EAAAA,GAAAA,MAAA7F,GAAAA,SAAA,CAAAzyV,SAAA,EACIwyV,EAAAA,GAAAA,KAACp1B,GAAuB,CAAAp9T,UACpBs4V,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,iBAAgBlpD,SAAA,EAC3Bs4V,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,eAAclpD,SAAA,EACzBwyV,EAAAA,GAAAA,KAAClZ,GAAM,CAAC27J,aAAcl0f,KACtByxW,EAAAA,GAAAA,KAAA,OAAK5+S,MAAO,CAAEmD,WAAY,QAAS/2C,UAC/Bs4V,EAAAA,GAAAA,MAAC9uC,EAAM,CAAAxpT,SAAA,EACHwyV,EAAAA,GAAAA,KAAClqC,EAAK,CAACxiT,KAAK,IAAIL,SAAS+sV,EAAAA,GAAAA,KAACwlJ,GAAI,OAC9BxlJ,EAAAA,GAAAA,KAAClqC,EAAK,CAACxiT,KAAK,YAAYL,SAAS+sV,EAAAA,GAAAA,KAACuI,GAAQ,OAC1CvI,EAAAA,GAAAA,KAAClqC,EAAK,CAACxiT,KAAK,QAAQL,SAAS+sV,EAAAA,GAAAA,KAACmL,GAAI,OAClCnL,EAAAA,GAAAA,KAAClqC,EAAK,CAACxiT,KAAK,SAASL,SAAS+sV,EAAAA,GAAAA,KAACgM,GAAK,OACpChM,EAAAA,GAAAA,KAAClqC,EAAK,CAACxiT,KAAK,WAAWL,SAAS+sV,EAAAA,GAAAA,KAAC6P,GAAO,OACxC7P,EAAAA,GAAAA,KAAClqC,EAAK,CAACxiT,KAAK,WAAWL,SAAS+sV,EAAAA,GAAAA,KAACylJ,GAAO,OACxCzlJ,EAAAA,GAAAA,KAAClqC,EAAK,CAACxiT,KAAK,WAAWL,SAAS+sV,EAAAA,GAAAA,KAACqR,GAAO,OACxCrR,EAAAA,GAAAA,KAAClqC,EAAK,CAACxiT,KAAK,UAAUL,SAAS+sV,EAAAA,GAAAA,KAAC0lJ,GAAM,OACtC1lJ,EAAAA,GAAAA,KAAClqC,EAAK,CAACxiT,KAAK,SAASL,SAAS+sV,EAAAA,GAAAA,KAACmS,GAAK,OACpCnS,EAAAA,GAAAA,KAAClqC,EAAK,CAACxiT,KAAK,kBAAkBL,SAAS+sV,EAAAA,GAAAA,KAAC2lJ,GAAc,OACtD3lJ,EAAAA,GAAAA,KAAClqC,EAAK,CAACxiT,KAAK,mBAAmBL,SAAS+sV,EAAAA,GAAAA,KAAC4R,GAAO,OAChD5R,EAAAA,GAAAA,KAAClqC,EAAK,CAACxiT,KAAK,QAAQL,SAAS+sV,EAAAA,GAAAA,KAACsR,GAAI,OAClCtR,EAAAA,GAAAA,KAAClqC,EAAK,CAACxiT,KAAK,cAAcL,SAAS+sV,EAAAA,GAAAA,KAAC4lJ,GAAU,OAC9C5lJ,EAAAA,GAAAA,KAAClqC,EAAK,CAACxiT,KAAK,WAAWL,SAAS+sV,EAAAA,GAAAA,KAACqJ,GAAO,OACxCrJ,EAAAA,GAAAA,KAAClqC,EAAK,CAACxiT,KAAK,YAAYL,SAAS+sV,EAAAA,GAAAA,KAAC4J,GAAQ,OAC1C5J,EAAAA,GAAAA,KAAClqC,EAAK,CAACxiT,KAAK,uBAAuBL,SAAS+sV,EAAAA,GAAAA,KAAC6S,GAAa,OAC1D7S,EAAAA,GAAAA,KAAClqC,EAAK,CAACxiT,KAAK,uBAAuBL,SAAS+sV,EAAAA,GAAAA,KAACyS,GAAa,OAC1DzS,EAAAA,GAAAA,KAAClqC,EAAK,CAACxiT,KAAK,cAAcL,SAAS+sV,EAAAA,GAAAA,KAACoS,GAAQ,OAC5CpS,EAAAA,GAAAA,KAAClqC,EAAK,CAACxiT,KAAK,SAASL,SAAS+sV,EAAAA,GAAAA,KAACj5B,GAAK,OACpCi5B,EAAAA,GAAAA,KAAClqC,EAAK,CAACxiT,KAAK,IAAIL,SAAS+sV,EAAAA,GAAAA,KAAC+G,GAAQ,eAI9C/G,EAAAA,GAAAA,KAAC6lJ,GAAM,KACP7lJ,EAAAA,GAAAA,KAAC0V,GAAc,CAAAloW,UACXwyV,EAAAA,GAAAA,KAACgW,GAAY,YAMzBhW,EAAAA,GAAAA,KAACr1B,GAAqB,CAAAn9T,UAClBwyV,EAAAA,GAAAA,KAACwjE,GAAY,CAAAh2Z,UACTwyV,EAAAA,GAAAA,KAACmjJ,GAAmB,UAI7B,iBC9HX,MA8CA,GA9CY2C,KACV,MAAM,WAAE9xQ,GAAeq2F,MAChB07K,EAAWC,GAAgBtwL,EAAAA,UAAe,GAGjD,MAAMigD,GADQ,IAAIrB,IACO/mX,IAAI,oBAE7Bq8Q,EAAAA,EAAAA,YAAU,KACRo8O,GAAa,EAAK,GACjB,KAEHp8O,EAAAA,EAAAA,YAAU,KAES,WAAb+rG,GAA0BswI,GAAAA,GAAQh3L,IACpCg3L,GAAAA,GAAQ/uD,WAAW,eACrB,GACC,CAACvhF,IAEJ,MAAMn2U,EAAWi4R,IAOjB,OANA7tD,EAAAA,EAAAA,YAAU,KACS,WAAb+rG,GACFswI,GAAAA,GAAQhhR,KAAK,CAAEooF,QAAS,WAAY1jI,KAAMnqJ,EAASkoP,SAAWloP,EAASwyB,QACzE,GACC,CAACxyB,EAAUm2U,KAGZ3V,EAAAA,GAAAA,KAAAC,GAAAA,SAAA,CAAAzyV,SAEIu4e,GAAa/xQ,IAAemtF,GAAkB0G,MAC5Cm4B,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,iBAAgBlpD,UAC7Bs4V,EAAAA,GAAAA,MAAA,OAAKpvS,UAAU,gBAAelpD,SAAA,CAC3BwmO,IAAemtF,GAAkB4F,QAChCi5B,EAAAA,GAAAA,KAAA,OAAKtpS,UAAU,mBAAkBlpD,SAAC,+BAEpCwyV,EAAAA,GAAAA,KAACL,GAAO,UAIZK,EAAAA,GAAAA,KAACkmJ,GAAa,KAIjB,ECvCP,GAZwBC,IAClBA,GAAeA,aAAuBhiR,UACxC,8BAAqBt4K,MAAK+/P,IAAkD,IAAjD,OAAEw6L,EAAM,OAAEC,EAAM,OAAEC,EAAM,OAAEC,EAAM,QAAEC,GAAS56L,EACpEw6L,EAAOD,GACPE,EAAOF,GACPG,EAAOH,GACPI,EAAOJ,GACPK,EAAQL,EAAY,GAExB,ECGIv2F,GAAe,IAAIV,GAAwBh5C,IAEjD11B,EAAAA,QACEwf,EAAAA,GAAAA,KAACE,GAAa,CAAA1yV,UACZwyV,EAAAA,GAAAA,KAACj2B,GAAY,CAACj1N,SAAU86S,GAAapiZ,UACnCwyV,EAAAA,GAAAA,KAAC8lJ,GAAG,QAGRrze,SAASy+V,eAAe,SAM1Bu1I","sources":["../node_modules/ag-grid-community/dist/ag-grid-community.cjs.js","../node_modules/ag-grid-react/lib/agGridReact.js","../node_modules/ag-grid-react/lib/legacy/agGridReactLegacy.js","../node_modules/ag-grid-react/lib/legacy/legacyReactComponent.js","../node_modules/ag-grid-react/lib/reactUi/agGridReactUi.js","../node_modules/ag-grid-react/lib/reactUi/beansContext.js","../node_modules/ag-grid-react/lib/reactUi/cellRenderer/detailCellRenderer.js","../node_modules/ag-grid-react/lib/reactUi/cellRenderer/groupCellRenderer.js","../node_modules/ag-grid-react/lib/reactUi/cells/cellComp.js","../node_modules/ag-grid-react/lib/reactUi/cells/popupEditorComp.js","../node_modules/ag-grid-react/lib/reactUi/cells/showJsRenderer.js","../node_modules/ag-grid-react/lib/reactUi/gridBodyComp.js","../node_modules/ag-grid-react/lib/reactUi/gridComp.js","../node_modules/ag-grid-react/lib/reactUi/header/gridHeaderComp.js","../node_modules/ag-grid-react/lib/reactUi/header/headerCellComp.js","../node_modules/ag-grid-react/lib/reactUi/header/headerFilterCellComp.js","../node_modules/ag-grid-react/lib/reactUi/header/headerGroupCellComp.js","../node_modules/ag-grid-react/lib/reactUi/header/headerRowComp.js","../node_modules/ag-grid-react/lib/reactUi/header/headerRowContainerComp.js","../node_modules/ag-grid-react/lib/reactUi/jsComp.js","../node_modules/ag-grid-react/lib/reactUi/reactComment.js","../node_modules/ag-grid-react/lib/reactUi/rows/rowComp.js","../node_modules/ag-grid-react/lib/reactUi/rows/rowContainerComp.js","../node_modules/ag-grid-react/lib/reactUi/tabGuardComp.js","../node_modules/ag-grid-react/lib/reactUi/useEffectOnce.js","../node_modules/ag-grid-react/lib/reactUi/utils.js","../node_modules/ag-grid-react/lib/shared/agGridColumn.js","../node_modules/ag-grid-react/lib/shared/changeDetectionService.js","../node_modules/ag-grid-react/lib/shared/keyGenerator.js","../node_modules/ag-grid-react/lib/shared/newReactComponent.js","../node_modules/ag-grid-react/lib/shared/portalManager.js","../node_modules/ag-grid-react/lib/shared/reactComponent.js","../node_modules/ag-grid-react/lib/shared/reactFrameworkOverrides.js","../node_modules/ag-grid-react/main.js","../node_modules/axios/index.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/axios.js","../node_modules/axios/lib/cancel/Cancel.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/core/createError.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/core/enhanceError.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/defaults/index.js","../node_modules/axios/lib/defaults/transitional.js","../node_modules/axios/lib/env/data.js","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/isAxiosError.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/normalizeHeaderName.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/utils.js","../node_modules/classnames/index.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/object-assign/index.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/react-dom/cjs/react-dom-server.browser.production.min.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/index.js","../node_modules/react-dom/server.browser.js","../node_modules/react-fast-compare/index.js","../node_modules/react-ga4/dist/format.js","../node_modules/react-ga4/dist/ga4.js","../node_modules/react-ga4/dist/gtag.js","../node_modules/react-ga4/dist/index.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-is/index.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/warning/warning.js","../webpack/bootstrap","../webpack/runtime/compat get default export","../webpack/runtime/create fake namespace object","../webpack/runtime/define property getters","../webpack/runtime/ensure chunk","../webpack/runtime/get javascript chunk filename","../webpack/runtime/get mini-css chunk filename","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/load script","../webpack/runtime/make namespace object","../webpack/runtime/publicPath","../webpack/runtime/jsonp chunk loading","../node_modules/@babel/runtime/helpers/esm/extends.js","../../packages/react-router/index.tsx","../node_modules/@azure/msal-common/src/utils/Constants.ts","../node_modules/@azure/msal-browser/src/utils/BrowserConstants.ts","../node_modules/@azure/msal-common/src/error/AuthError.ts","../node_modules/@azure/msal-browser/src/error/BrowserConfigurationAuthError.ts","../node_modules/@azure/msal-browser/src/app/IPublicClientApplication.ts","../node_modules/@azure/msal-common/src/logger/Logger.ts","../node_modules/@azure/msal-common/src/error/ClientAuthError.ts","../node_modules/@azure/msal-common/src/utils/StringUtils.ts","../node_modules/@azure/msal-browser/src/event/EventType.ts","../node_modules/@azure/msal-browser/src/event/EventMessage.ts","../node_modules/@azure/msal-react/src/MsalContext.ts","../node_modules/@azure/msal-react/src/utils/utilities.ts","../node_modules/@azure/msal-react/src/packageMetadata.ts","../node_modules/@azure/msal-react/src/MsalProvider.tsx","../node_modules/@azure/msal-react/src/hooks/useMsal.ts","../node_modules/@azure/msal-react/src/hooks/useIsAuthenticated.ts","../node_modules/@azure/msal-react/src/components/AuthenticatedTemplate.tsx","../node_modules/@azure/msal-react/src/components/UnauthenticatedTemplate.tsx","../node_modules/react-popper/lib/esm/Manager.js","../node_modules/react-popper/lib/esm/utils.js","../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../node_modules/@popperjs/core/lib/utils/math.js","../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","../node_modules/@popperjs/core/lib/enums.js","../node_modules/@popperjs/core/lib/utils/orderModifiers.js","../node_modules/@popperjs/core/lib/utils/debounce.js","../node_modules/@popperjs/core/lib/createPopper.js","../node_modules/@popperjs/core/lib/utils/mergeByName.js","../node_modules/@popperjs/core/lib/modifiers/eventListeners.js","../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../node_modules/@popperjs/core/lib/utils/getVariation.js","../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","../node_modules/@popperjs/core/lib/utils/computeOffsets.js","../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","../node_modules/@popperjs/core/lib/modifiers/computeStyles.js","../node_modules/@popperjs/core/lib/modifiers/applyStyles.js","../node_modules/@popperjs/core/lib/modifiers/offset.js","../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../node_modules/@popperjs/core/lib/dom-utils/contains.js","../node_modules/@popperjs/core/lib/utils/rectToClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","../node_modules/@popperjs/core/lib/utils/expandToHashMap.js","../node_modules/@popperjs/core/lib/utils/detectOverflow.js","../node_modules/@popperjs/core/lib/modifiers/flip.js","../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","../node_modules/@popperjs/core/lib/utils/within.js","../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","../node_modules/@popperjs/core/lib/utils/getAltAxis.js","../node_modules/@popperjs/core/lib/modifiers/arrow.js","../node_modules/@popperjs/core/lib/modifiers/hide.js","../node_modules/@popperjs/core/lib/popper.js","../node_modules/react-popper/lib/esm/usePopper.js","../node_modules/react-popper/lib/esm/Popper.js","../node_modules/react-popper/lib/esm/Reference.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/react-transition-group/esm/config.js","../node_modules/react-transition-group/esm/TransitionGroupContext.js","../node_modules/react-transition-group/esm/Transition.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/reactstrap/src/utils.js","../node_modules/reactstrap/src/Container.js","../node_modules/reactstrap/src/Row.js","../node_modules/reactstrap/src/Col.js","../node_modules/reactstrap/src/Navbar.js","../node_modules/reactstrap/src/NavbarBrand.js","../node_modules/reactstrap/src/NavbarText.js","../node_modules/reactstrap/src/NavbarToggler.js","../node_modules/reactstrap/src/Nav.js","../node_modules/reactstrap/src/NavItem.js","../node_modules/reactstrap/src/NavLink.js","../node_modules/reactstrap/src/Breadcrumb.js","../node_modules/reactstrap/src/BreadcrumbItem.js","../node_modules/reactstrap/src/Button.js","../node_modules/reactstrap/src/ButtonToggle.js","../node_modules/reactstrap/src/DropdownContext.js","../node_modules/reactstrap/src/Dropdown.js","../node_modules/reactstrap/src/ButtonDropdown.js","../node_modules/reactstrap/src/ButtonGroup.js","../node_modules/reactstrap/src/ButtonToolbar.js","../node_modules/reactstrap/src/DropdownItem.js","../node_modules/reactstrap/src/DropdownMenu.js","../node_modules/reactstrap/src/DropdownToggle.js","../node_modules/reactstrap/src/Fade.js","../node_modules/reactstrap/src/AccordionContext.js","../node_modules/reactstrap/src/Accordion.js","../node_modules/reactstrap/src/UncontrolledAccordion.js","../node_modules/reactstrap/src/AccordionHeader.js","../node_modules/reactstrap/src/AccordionItem.js","../node_modules/reactstrap/src/Collapse.js","../node_modules/reactstrap/src/AccordionBody.js","../node_modules/reactstrap/src/Badge.js","../node_modules/reactstrap/src/Card.js","../node_modules/reactstrap/src/CardGroup.js","../node_modules/reactstrap/src/CardDeck.js","../node_modules/reactstrap/src/CardColumns.js","../node_modules/reactstrap/src/CardBody.js","../node_modules/reactstrap/src/CardLink.js","../node_modules/reactstrap/src/CardFooter.js","../node_modules/reactstrap/src/CardHeader.js","../node_modules/reactstrap/src/CardImg.js","../node_modules/reactstrap/src/CardImgOverlay.js","../node_modules/reactstrap/src/CarouselItem.js","../node_modules/reactstrap/src/CarouselContext.js","../node_modules/reactstrap/src/Carousel.js","../node_modules/reactstrap/src/CarouselControl.js","../node_modules/reactstrap/src/CarouselIndicators.js","../node_modules/reactstrap/src/CarouselCaption.js","../node_modules/reactstrap/src/UncontrolledCarousel.js","../node_modules/reactstrap/src/CardSubtitle.js","../node_modules/reactstrap/src/CardText.js","../node_modules/reactstrap/src/CardTitle.js","../node_modules/reactstrap/src/PopperContent.js","../node_modules/reactstrap/src/PopperTargetHelper.js","../node_modules/reactstrap/src/TooltipPopoverWrapper.js","../node_modules/reactstrap/src/Popover.js","../node_modules/reactstrap/src/UncontrolledPopover.js","../node_modules/reactstrap/src/PopoverHeader.js","../node_modules/reactstrap/src/PopoverBody.js","../node_modules/reactstrap/src/Progress.js","../node_modules/reactstrap/src/Portal.js","../node_modules/reactstrap/src/Modal.js","../node_modules/reactstrap/src/ModalHeader.js","../node_modules/reactstrap/src/ModalBody.js","../node_modules/reactstrap/src/ModalFooter.js","../node_modules/reactstrap/src/Tooltip.js","../node_modules/reactstrap/src/Table.js","../node_modules/reactstrap/src/ListGroup.js","../node_modules/reactstrap/src/Form.js","../node_modules/reactstrap/src/FormFeedback.js","../node_modules/reactstrap/src/FormGroup.js","../node_modules/reactstrap/src/FormText.js","../node_modules/reactstrap/src/Input.js","../node_modules/reactstrap/src/InputGroup.js","../node_modules/reactstrap/src/InputGroupText.js","../node_modules/reactstrap/src/Label.js","../node_modules/reactstrap/src/Media.js","../node_modules/reactstrap/src/Offcanvas.js","../node_modules/reactstrap/src/OffcanvasBody.js","../node_modules/reactstrap/src/OffcanvasHeader.js","../node_modules/reactstrap/src/Pagination.js","../node_modules/reactstrap/src/PaginationItem.js","../node_modules/reactstrap/src/PaginationLink.js","../node_modules/reactstrap/src/TabContext.js","../node_modules/reactstrap/src/TabContent.js","../node_modules/reactstrap/src/TabPane.js","../node_modules/reactstrap/src/Alert.js","../node_modules/reactstrap/src/Toast.js","../node_modules/reactstrap/src/ToastBody.js","../node_modules/reactstrap/src/ToastHeader.js","../node_modules/reactstrap/src/ListGroupItem.js","../node_modules/reactstrap/src/ListGroupItemHeading.js","../node_modules/reactstrap/src/ListGroupItemText.js","../node_modules/reactstrap/src/List.js","../node_modules/reactstrap/src/ListInlineItem.js","../node_modules/reactstrap/src/UncontrolledAlert.js","../node_modules/reactstrap/src/UncontrolledButtonDropdown.js","../node_modules/reactstrap/src/UncontrolledCollapse.js","../node_modules/reactstrap/src/UncontrolledDropdown.js","../node_modules/reactstrap/src/UncontrolledTooltip.js","../node_modules/reactstrap/src/Spinner.js","../node_modules/reactstrap/src/Placeholder.js","../node_modules/reactstrap/src/PlaceholderButton.js","../node_modules/reactstrap/src/polyfill.js","components/shared/loading.js","../../packages/react-router-dom/index.tsx","assets/icons/down-large-16.svg","assets/icons/up-large-16.svg","../node_modules/react-icons/lib/iconsManifest.mjs","assets/icons/remove48.svg","../node_modules/react-icons/lib/iconContext.mjs","../node_modules/react-icons/lib/iconBase.mjs","../node_modules/react-icons/ai/index.mjs","assets/icons/hamburger-48.svg","components/shared/navbar.js","components/shared/footer.js","assets/images/error404.svg","components/shared/textOnImage.js","components/shared/error404.js","../node_modules/react-icons/io5/index.mjs","components/mainsite/services/servicesData.js","components/mainsite/services/servicesItems.js","components/mainsite/services/services.js","components/mainsite/services/processItems.js","components/mainsite/services/process.js","services/naBaseService.js","components/mainsite/projects/projectsItems.js","components/mainsite/projects/projects.js","components/mainsite/other/technology.js","../node_modules/react-icons/fa/index.mjs","components/mainsite/company/team.js","components/mainsite/company/careers.js","../node_modules/react-icons/di/index.mjs","components/mainsite/company/about.js","../node_modules/react-google-recaptcha/lib/esm/recaptcha.js","../node_modules/react-async-script/lib/esm/async-script-loader.js","../node_modules/react-google-recaptcha/lib/esm/recaptcha-wrapper.js","../node_modules/react-google-recaptcha/lib/esm/index.js","components/mainsite/contact/contact.js","components/mainsite/terms/privacy.js","components/mainsite/terms/cookie.js","components/mainsite/resources/blog.js","components/mainsite/resources/bespoke.js","components/mainsite/terms/responsibility.js","components/mainsite/terms/terms.js","components/mainsite/homepage/homepage.js","components/mainsite/services/servicesDetail.js","components/mainsite/projects/projectDetail.js","../node_modules/universal-cookie/esm/index.mjs","components/shared/cookieContext.js","components/shared/cookieBanner.js","components/shared/accessDenied.js","authconfig.js","../node_modules/@azure/msal-common/src/authority/AuthorityType.ts","../node_modules/@azure/msal-browser/src/utils/MathUtils.ts","../node_modules/@azure/msal-browser/src/crypto/GuidGenerator.ts","../node_modules/@azure/msal-browser/src/utils/BrowserStringUtils.ts","../node_modules/@azure/msal-browser/src/encode/Base64Encode.ts","../node_modules/@azure/msal-browser/src/encode/Base64Decode.ts","../node_modules/@azure/msal-browser/src/error/BrowserAuthError.ts","../node_modules/@azure/msal-browser/src/crypto/PkceGenerator.ts","../node_modules/@azure/msal-browser/src/crypto/BrowserCrypto.ts","../node_modules/@azure/msal-browser/src/cache/DatabaseStorage.ts","../node_modules/@azure/msal-browser/src/cache/MemoryStorage.ts","../node_modules/@azure/msal-browser/src/cache/AsyncMemoryStorage.ts","../node_modules/@azure/msal-browser/src/crypto/CryptoOps.ts","../node_modules/@azure/msal-common/src/crypto/ICrypto.ts","../node_modules/@azure/msal-common/src/error/ServerError.ts","../node_modules/@azure/msal-common/src/error/InteractionRequiredAuthError.ts","../node_modules/@azure/msal-common/src/account/ClientInfo.ts","../node_modules/@azure/msal-common/src/account/CcsCredential.ts","../node_modules/@azure/msal-common/src/cache/entities/AccountEntity.ts","../node_modules/@azure/msal-common/src/cache/entities/CredentialEntity.ts","../node_modules/@azure/msal-common/src/error/ClientConfigurationError.ts","../node_modules/@azure/msal-common/src/request/ScopeSet.ts","../node_modules/@azure/msal-common/src/account/AuthToken.ts","../node_modules/@azure/msal-common/src/cache/CacheManager.ts","../node_modules/@azure/msal-common/src/cache/entities/IdTokenEntity.ts","../node_modules/@azure/msal-common/src/utils/TimeUtils.ts","../node_modules/@azure/msal-common/src/cache/entities/AccessTokenEntity.ts","../node_modules/@azure/msal-common/src/cache/entities/RefreshTokenEntity.ts","../node_modules/@azure/msal-common/src/cache/entities/AppMetadataEntity.ts","../node_modules/@azure/msal-common/src/cache/entities/ServerTelemetryEntity.ts","../node_modules/@azure/msal-common/src/cache/entities/AuthorityMetadataEntity.ts","../node_modules/@azure/msal-common/src/cache/entities/ThrottlingEntity.ts","../node_modules/@azure/msal-common/src/utils/ProtocolUtils.ts","../node_modules/@azure/msal-common/src/authority/ProtocolMode.ts","../node_modules/@azure/msal-common/src/authority/AuthorityOptions.ts","../node_modules/@azure/msal-browser/src/cache/BrowserStorage.ts","../node_modules/@azure/msal-common/src/url/UrlString.ts","../node_modules/@azure/msal-browser/src/utils/BrowserProtocolUtils.ts","../node_modules/@azure/msal-browser/src/cache/BrowserCacheManager.ts","../node_modules/@azure/msal-common/src/packageMetadata.ts","../node_modules/@azure/msal-common/src/config/ClientConfiguration.ts","../node_modules/@azure/msal-common/src/network/INetworkModule.ts","../node_modules/@azure/msal-browser/src/network/FetchClient.ts","../node_modules/@azure/msal-browser/src/network/XhrClient.ts","../node_modules/@azure/msal-browser/src/utils/BrowserUtils.ts","../node_modules/@azure/msal-browser/src/navigation/NavigationClient.ts","../node_modules/@azure/msal-browser/src/config/Configuration.ts","../node_modules/@azure/msal-common/src/crypto/PopTokenGenerator.ts","../node_modules/@azure/msal-browser/src/packageMetadata.ts","../node_modules/@azure/msal-browser/src/event/EventHandler.ts","../node_modules/@azure/msal-common/src/network/ThrottlingUtils.ts","../node_modules/@azure/msal-common/src/network/NetworkManager.ts","../node_modules/@azure/msal-common/src/client/BaseClient.ts","../node_modules/@azure/msal-common/src/request/RequestValidator.ts","../node_modules/@azure/msal-common/src/request/RequestParameterBuilder.ts","../node_modules/@azure/msal-common/src/cache/entities/CacheRecord.ts","../node_modules/@azure/msal-common/src/cache/persistence/TokenCacheContext.ts","../node_modules/@azure/msal-common/src/response/ResponseHandler.ts","../node_modules/@azure/msal-common/src/client/AuthorizationCodeClient.ts","../node_modules/@azure/msal-common/src/authority/OpenIdConfigResponse.ts","../node_modules/@azure/msal-common/src/authority/RegionDiscovery.ts","../node_modules/@azure/msal-common/src/authority/Authority.ts","../node_modules/@azure/msal-common/src/authority/CloudInstanceDiscoveryResponse.ts","../node_modules/@azure/msal-common/src/authority/AuthorityFactory.ts","../node_modules/@azure/msal-common/src/telemetry/server/ServerTelemetryManager.ts","../node_modules/@azure/msal-browser/src/interaction_client/BaseInteractionClient.ts","../node_modules/@azure/msal-browser/src/interaction_client/StandardInteractionClient.ts","../node_modules/@azure/msal-browser/src/utils/PopupUtils.ts","../node_modules/@azure/msal-browser/src/interaction_handler/InteractionHandler.ts","../node_modules/@azure/msal-browser/src/interaction_handler/PopupHandler.ts","../node_modules/@azure/msal-browser/src/interaction_client/PopupClient.ts","../node_modules/@azure/msal-browser/src/interaction_handler/RedirectHandler.ts","../node_modules/@azure/msal-browser/src/interaction_client/RedirectClient.ts","../node_modules/@azure/msal-browser/src/interaction_handler/SilentHandler.ts","../node_modules/@azure/msal-browser/src/interaction_client/SilentIframeClient.ts","../node_modules/@azure/msal-common/src/client/RefreshTokenClient.ts","../node_modules/@azure/msal-browser/src/interaction_client/SilentRefreshClient.ts","../node_modules/@azure/msal-browser/src/cache/TokenCache.ts","../node_modules/@azure/msal-browser/src/interaction_client/HybridSpaAuthorizationCodeClient.ts","../node_modules/@azure/msal-browser/src/interaction_client/SilentAuthCodeClient.ts","../node_modules/@azure/msal-browser/src/app/ClientApplication.ts","../node_modules/@azure/msal-common/src/client/SilentFlowClient.ts","../node_modules/@azure/msal-browser/src/interaction_client/SilentCacheClient.ts","../node_modules/@azure/msal-browser/src/app/PublicClientApplication.ts","services/BaseService.js","components/loggedIn/manageData/contactsModal.js","../node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js","../node_modules/stylis/src/Utility.js","../node_modules/stylis/src/Tokenizer.js","../node_modules/stylis/src/Enum.js","../node_modules/stylis/src/Serializer.js","../node_modules/stylis/src/Prefixer.js","../node_modules/stylis/src/Middleware.js","../node_modules/stylis/src/Parser.js","../node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","../node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","../node_modules/@emotion/hash/dist/hash.browser.esm.js","../node_modules/@emotion/unitless/dist/unitless.browser.esm.js","../node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js","../node_modules/@emotion/memoize/dist/emotion-memoize.browser.esm.js","../node_modules/@emotion/react/dist/emotion-element-cbed451f.browser.esm.js","../node_modules/@emotion/react/dist/emotion-react.browser.esm.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/react-select/dist/useStateManager-783b07d5.esm.js","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/memoize-one/dist/memoize-one.esm.js","../node_modules/react-select/dist/react-select.esm.js","assets/icons/remove24.svg","assets/icons/remove32.svg","assets/icons/download24.svg","assets/icons/filter24.svg","assets/icons/filterfill24.svg","components/loggedIn/manageData/contacts.js","components/loggedIn/reports/toinvoice.js","assets/icons/refresh24.svg","components/loggedIn/reports/vatModal.js","components/loggedIn/reports/vat.js","components/loggedIn/reports/transactions.js","components/loggedIn/reports/categories.js","components/loggedIn/reports/costCentre.js","components/context/userContext.js","components/loggedIn/reports/costCentreReport.js","components/loggedIn/reports/contactFormModal.js","components/loggedIn/reports/contactForm.js","components/loggedIn/manageData/tasksModal.js","components/loggedIn/manageData/tasks.js","components/loggedIn/manageData/usersModal.js","components/loggedIn/manageData/users.js","components/loggedIn/manageData/ccReconModal.js","assets/icons/addlrg24.svg","components/loggedIn/manageData/ccRecon.js","components/loggedIn/manageData/clientProjects.js","components/loggedIn/manageData/codeGenerator.js","assets/icons/freeagent-mark.svg","assets/icons/invoice.svg","assets/icons/refresh.svg","assets/icons/check_outline.svg","components/shared/confirmToast.js","../node_modules/chart.js/dist/chunks/helpers.segment.js","../node_modules/chart.js/dist/chart.esm.js","../node_modules/react-chartjs-2/src/utils.ts","../node_modules/react-chartjs-2/src/chart.tsx","../node_modules/react-chartjs-2/src/typedCharts.tsx","../node_modules/chartjs-plugin-datalabels/dist/chartjs-plugin-datalabels.esm.js","components/loggedIn/dashboard.js","../node_modules/@tinymce/tinymce-react/lib/es2015/main/ts/components/EditorPropTypes.js","../node_modules/@tinymce/tinymce-react/lib/es2015/main/ts/Utils.js","../node_modules/@tinymce/tinymce-react/lib/es2015/main/ts/ScriptLoader2.js","../node_modules/@tinymce/tinymce-react/lib/es2015/main/ts/TinyMCE.js","../node_modules/@tinymce/tinymce-react/lib/es2015/main/ts/components/Editor.js","components/loggedIn/manageData/projectDetailModal.js","components/loggedIn/manageData/projectModal.js","components/loggedIn/manageData/projectManagement.js","components/loggedIn/manageData/blogDetailModal.js","components/loggedIn/manageData/blogModal.js","components/loggedIn/manageData/blogManagement.js","components/shared/routeConfig.js","components/shared/navbarLoggedIn.js","components/shared/AuthenticatedRoutes.js","components/mainsite/homepage/contactSection.js","components/mainsite/homepage/hireSection.js","components/mainsite/homepage/editorCodeLines.js","components/mainsite/homepage/editorGraphic.js","components/mainsite/homepage/heroSection.js","components/mainsite/homepage/testimonials.js","assets/images/air_bp_RGB.svg","assets/images/flowserve.svg","assets/images/bp-logo-primary.svg","../node_modules/react-icons/md/index.mjs","components/mainsite/homepage/customers.js","components/mainsite/homepage/homepageNew.js","components/mainsite/login/login.js","components/shared/PrivateRoute.js","App.js","reportWebVitals.js","index.js"],"sourcesContent":["/**\n * ag-grid-community - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue * @version v27.3.0\n * @link https://www.ag-grid.com/\n' * @license MIT\n */\n\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\n/**\n * If value is undefined, null or blank, returns null, otherwise returns the value\n * @param {T} value\n * @returns {T | null}\n */\nfunction makeNull(value) {\n if (value == null || value === '') {\n return null;\n }\n return value;\n}\nfunction exists(value, allowEmptyString) {\n if (allowEmptyString === void 0) { allowEmptyString = false; }\n return value != null && (value !== '' || allowEmptyString);\n}\nfunction missing(value) {\n return !exists(value);\n}\nfunction missingOrEmpty(value) {\n return value == null || value.length === 0;\n}\nfunction toStringOrNull(value) {\n return value != null && typeof value.toString === 'function' ? value.toString() : null;\n}\n// for parsing html attributes, where we want empty strings and missing attributes to be undefined\nfunction attrToNumber(value) {\n if (value === undefined) {\n // undefined or empty means ignore the value\n return;\n }\n if (value === null || value === '') {\n // null or blank means clear\n return null;\n }\n if (typeof value === 'number') {\n return isNaN(value) ? undefined : value;\n }\n var valueParsed = parseInt(value, 10);\n return isNaN(valueParsed) ? undefined : valueParsed;\n}\n// for parsing html attributes, where we want empty strings and missing attributes to be undefined\nfunction attrToBoolean(value) {\n if (value === undefined) {\n // undefined or empty means ignore the value\n return;\n }\n if (value === null || value === '') {\n // null means clear\n return false;\n }\n if (typeof value === 'boolean') {\n // if simple boolean, return the boolean\n return value;\n }\n // if equal to the string 'true' (ignoring case) then return true\n return (/true/i).test(value);\n}\n// for parsing html attributes, where we want empty strings and missing attributes to be undefined\nfunction attrToString(value) {\n if (value == null || value === '') {\n return;\n }\n return value;\n}\n/** @deprecated */\nfunction referenceCompare(left, right) {\n if (left == null && right == null) {\n return true;\n }\n if (left == null && right != null) {\n return false;\n }\n if (left != null && right == null) {\n return false;\n }\n return left === right;\n}\nfunction jsonEquals(val1, val2) {\n var val1Json = val1 ? JSON.stringify(val1) : null;\n var val2Json = val2 ? JSON.stringify(val2) : null;\n return val1Json === val2Json;\n}\nfunction defaultComparator(valueA, valueB, accentedCompare) {\n if (accentedCompare === void 0) { accentedCompare = false; }\n var valueAMissing = valueA == null;\n var valueBMissing = valueB == null;\n // this is for aggregations sum and avg, where the result can be a number that is wrapped.\n // if we didn't do this, then the toString() value would be used, which would result in\n // the strings getting used instead of the numbers.\n if (valueA && valueA.toNumber) {\n valueA = valueA.toNumber();\n }\n if (valueB && valueB.toNumber) {\n valueB = valueB.toNumber();\n }\n if (valueAMissing && valueBMissing) {\n return 0;\n }\n if (valueAMissing) {\n return -1;\n }\n if (valueBMissing) {\n return 1;\n }\n function doQuickCompare(a, b) {\n return (a > b ? 1 : (a < b ? -1 : 0));\n }\n if (typeof valueA !== 'string') {\n return doQuickCompare(valueA, valueB);\n }\n if (!accentedCompare) {\n return doQuickCompare(valueA, valueB);\n }\n try {\n // using local compare also allows chinese comparisons\n return valueA.localeCompare(valueB);\n }\n catch (e) {\n // if something wrong with localeCompare, eg not supported\n // by browser, then just continue with the quick one\n return doQuickCompare(valueA, valueB);\n }\n}\nfunction values(object) {\n if (object instanceof Set || object instanceof Map) {\n var arr_1 = [];\n object.forEach(function (value) { return arr_1.push(value); });\n return arr_1;\n }\n return Object.values(object);\n}\n\nvar GenericUtils = /*#__PURE__*/Object.freeze({\n makeNull: makeNull,\n exists: exists,\n missing: missing,\n missingOrEmpty: missingOrEmpty,\n toStringOrNull: toStringOrNull,\n attrToNumber: attrToNumber,\n attrToBoolean: attrToBoolean,\n attrToString: attrToString,\n referenceCompare: referenceCompare,\n jsonEquals: jsonEquals,\n defaultComparator: defaultComparator,\n values: values\n});\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar ColumnKeyCreator = /** @class */ (function () {\n function ColumnKeyCreator() {\n this.existingKeys = {};\n }\n ColumnKeyCreator.prototype.addExistingKeys = function (keys) {\n for (var i = 0; i < keys.length; i++) {\n this.existingKeys[keys[i]] = true;\n }\n };\n ColumnKeyCreator.prototype.getUniqueKey = function (colId, colField) {\n // in case user passed in number for colId, convert to string\n colId = toStringOrNull(colId);\n var count = 0;\n while (true) {\n var idToTry = void 0;\n if (colId) {\n idToTry = colId;\n if (count !== 0) {\n idToTry += '_' + count;\n }\n }\n else if (colField) {\n idToTry = colField;\n if (count !== 0) {\n idToTry += '_' + count;\n }\n }\n else {\n idToTry = '' + count;\n }\n if (!this.existingKeys[idToTry]) {\n this.existingKeys[idToTry] = true;\n return idToTry;\n }\n count++;\n }\n };\n return ColumnKeyCreator;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nfunction iterateObject(object, callback) {\n if (object == null) {\n return;\n }\n if (Array.isArray(object)) {\n object.forEach(function (value, index) { return callback(\"\" + index, value); });\n }\n else {\n Object.keys(object).forEach(function (key) { return callback(key, object[key]); });\n }\n}\nfunction cloneObject(object) {\n var copy = {};\n var keys = Object.keys(object);\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var value = object[key];\n copy[key] = value;\n }\n return copy;\n}\nfunction deepCloneObject(object) {\n return JSON.parse(JSON.stringify(object));\n}\n// returns copy of an object, doing a deep clone of any objects with that object.\n// this is used for eg creating copies of Column Definitions, where we want to\n// deep copy all objects, but do not want to deep copy functions (eg when user provides\n// a function or class for colDef.cellRenderer)\nfunction deepCloneDefinition(object, keysToSkip) {\n if (!object) {\n return;\n }\n var obj = object;\n var res = {};\n Object.keys(obj).forEach(function (key) {\n if (keysToSkip && keysToSkip.indexOf(key) >= 0) {\n return;\n }\n var value = obj[key];\n // 'simple object' means a bunch of key/value pairs, eg {filter: 'myFilter'}. it does\n // NOT include the following:\n // 1) arrays\n // 2) functions or classes (eg ColumnAPI instance)\n var sourceIsSimpleObject = isNonNullObject(value) && value.constructor === Object;\n if (sourceIsSimpleObject) {\n res[key] = deepCloneDefinition(value);\n }\n else {\n res[key] = value;\n }\n });\n return res;\n}\nfunction getProperty(object, key) {\n return object[key];\n}\nfunction setProperty(object, key, value) {\n object[key] = value;\n}\n/**\n * Will copy the specified properties from `source` into the equivalent properties on `target`, ignoring properties with\n * a value of `undefined`.\n */\nfunction copyPropertiesIfPresent(source, target) {\n var properties = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n properties[_i - 2] = arguments[_i];\n }\n properties.forEach(function (p) { return copyPropertyIfPresent(source, target, p); });\n}\n/**\n * Will copy the specified property from `source` into the equivalent property on `target`, unless the property has a\n * value of `undefined`. If a transformation is provided, it will be applied to the value before being set on `target`.\n */\nfunction copyPropertyIfPresent(source, target, property, transform) {\n var value = getProperty(source, property);\n if (value !== undefined) {\n setProperty(target, property, transform ? transform(value) : value);\n }\n}\nfunction getAllKeysInObjects(objects) {\n var allValues = {};\n objects.filter(function (obj) { return obj != null; }).forEach(function (obj) {\n Object.keys(obj).forEach(function (key) { return allValues[key] = null; });\n });\n return Object.keys(allValues);\n}\nfunction getAllValuesInObject(obj) {\n if (!obj) {\n return [];\n }\n var anyObject = Object;\n if (typeof anyObject.values === 'function') {\n return anyObject.values(obj);\n }\n var ret = [];\n for (var key in obj) {\n if (obj.hasOwnProperty(key) && obj.propertyIsEnumerable(key)) {\n ret.push(obj[key]);\n }\n }\n return ret;\n}\nfunction mergeDeep(dest, source, copyUndefined, makeCopyOfSimpleObjects) {\n if (copyUndefined === void 0) { copyUndefined = true; }\n if (makeCopyOfSimpleObjects === void 0) { makeCopyOfSimpleObjects = false; }\n if (!exists(source)) {\n return;\n }\n iterateObject(source, function (key, sourceValue) {\n var destValue = dest[key];\n if (destValue === sourceValue) {\n return;\n }\n // when creating params, we don't want to just copy objects over. otherwise merging ColDefs (eg DefaultColDef\n // and Column Types) would result in params getting shared between objects.\n // by putting an empty value into destValue first, it means we end up copying over values from\n // the source object, rather than just copying in the source object in it's entirety.\n if (makeCopyOfSimpleObjects) {\n var objectIsDueToBeCopied = destValue == null && sourceValue != null;\n if (objectIsDueToBeCopied) {\n // 'simple object' means a bunch of key/value pairs, eg {filter: 'myFilter'}, as opposed\n // to a Class instance (such as ColumnAPI instance).\n var sourceIsSimpleObject = typeof sourceValue === 'object' && sourceValue.constructor === Object;\n var dontCopy = sourceIsSimpleObject;\n if (dontCopy) {\n destValue = {};\n dest[key] = destValue;\n }\n }\n }\n if (isNonNullObject(sourceValue) && isNonNullObject(destValue) && !Array.isArray(destValue)) {\n mergeDeep(destValue, sourceValue, copyUndefined, makeCopyOfSimpleObjects);\n }\n else if (copyUndefined || sourceValue !== undefined) {\n dest[key] = sourceValue;\n }\n });\n}\nfunction missingOrEmptyObject(value) {\n return missing(value) || Object.keys(value).length === 0;\n}\nfunction get(source, expression, defaultValue) {\n if (source == null) {\n return defaultValue;\n }\n var keys = expression.split('.');\n var objectToRead = source;\n while (keys.length > 1) {\n objectToRead = objectToRead[keys.shift()];\n if (objectToRead == null) {\n return defaultValue;\n }\n }\n var value = objectToRead[keys[0]];\n return value != null ? value : defaultValue;\n}\nfunction set(target, expression, value) {\n if (target == null) {\n return;\n }\n var keys = expression.split('.');\n var objectToUpdate = target;\n while (keys.length > 1) {\n objectToUpdate = objectToUpdate[keys.shift()];\n if (objectToUpdate == null) {\n return;\n }\n }\n objectToUpdate[keys[0]] = value;\n}\nfunction deepFreeze(object) {\n Object.freeze(object);\n values(object).forEach(function (v) {\n if (isNonNullObject(v) || typeof v === 'function') {\n deepFreeze(v);\n }\n });\n return object;\n}\nfunction getValueUsingField(data, field, fieldContainsDots) {\n if (!field || !data) {\n return;\n }\n // if no '.', then it's not a deep value\n if (!fieldContainsDots) {\n return data[field];\n }\n // otherwise it is a deep value, so need to dig for it\n var fields = field.split('.');\n var currentObject = data;\n for (var i = 0; i < fields.length; i++) {\n if (currentObject == null) {\n return undefined;\n }\n currentObject = currentObject[fields[i]];\n }\n return currentObject;\n}\n// used by ColumnAPI and GridAPI to remove all references, so keeping grid in memory resulting in a\n// memory leak if user is not disposing of the GridAPI or ColumnApi references\nfunction removeAllReferences(obj, objectName) {\n Object.keys(obj).forEach(function (key) {\n var value = obj[key];\n // we want to replace all the @autowired services, which are objects. any simple types (boolean, string etc)\n // we don't care about\n if (typeof value === 'object') {\n obj[key] = undefined;\n }\n });\n var proto = Object.getPrototypeOf(obj);\n var properties = {};\n Object.keys(proto).forEach(function (key) {\n var value = proto[key];\n // leave all basic types - this is needed for GridAPI to leave the \"destroyed: boolean\" attribute alone\n if (typeof value === 'function') {\n var func = function () {\n console.warn(\"AG Grid: \" + objectName + \" function \" + key + \"() cannot be called as the grid has been destroyed.\\n Please don't call grid API functions on destroyed grids - as a matter of fact you shouldn't\\n be keeping the API reference, your application has a memory leak! Remove the API reference\\n when the grid is destroyed.\");\n };\n properties[key] = { value: func, writable: true };\n }\n });\n Object.defineProperties(obj, properties);\n}\nfunction isNonNullObject(value) {\n return typeof value === 'object' && value !== null;\n}\n\nvar ObjectUtils = /*#__PURE__*/Object.freeze({\n iterateObject: iterateObject,\n cloneObject: cloneObject,\n deepCloneObject: deepCloneObject,\n deepCloneDefinition: deepCloneDefinition,\n getProperty: getProperty,\n setProperty: setProperty,\n copyPropertiesIfPresent: copyPropertiesIfPresent,\n copyPropertyIfPresent: copyPropertyIfPresent,\n getAllKeysInObjects: getAllKeysInObjects,\n getAllValuesInObject: getAllValuesInObject,\n mergeDeep: mergeDeep,\n missingOrEmptyObject: missingOrEmptyObject,\n get: get,\n set: set,\n deepFreeze: deepFreeze,\n getValueUsingField: getValueUsingField,\n removeAllReferences: removeAllReferences,\n isNonNullObject: isNonNullObject\n});\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar FUNCTION_STRIP_COMMENTS = /((\\/\\/.*$)|(\\/\\*[\\s\\S]*?\\*\\/))/mg;\nvar FUNCTION_ARGUMENT_NAMES = /([^\\s,]+)/g;\nvar doOnceFlags = {};\n/**\n * If the key was passed before, then doesn't execute the func\n * @param {Function} func\n * @param {string} key\n */\nfunction doOnce(func, key) {\n if (doOnceFlags[key]) {\n return;\n }\n func();\n doOnceFlags[key] = true;\n}\nfunction getFunctionName(funcConstructor) {\n // for every other browser in the world\n if (funcConstructor.name) {\n return funcConstructor.name;\n }\n // for the pestilence that is ie11\n var matches = /function\\s+([^\\(]+)/.exec(funcConstructor.toString());\n return matches && matches.length === 2 ? matches[1].trim() : null;\n}\n/** @deprecated */\nfunction getFunctionParameters(func) {\n var fnStr = func.toString().replace(FUNCTION_STRIP_COMMENTS, '');\n return fnStr.slice(fnStr.indexOf('(') + 1, fnStr.indexOf(')')).match(FUNCTION_ARGUMENT_NAMES) || [];\n}\nfunction isFunction(val) {\n return !!(val && val.constructor && val.call && val.apply);\n}\nfunction executeInAWhile(funcs) {\n executeAfter(funcs, 400);\n}\nvar executeNextVMTurnFuncs = [];\nvar executeNextVMTurnPending = false;\nfunction executeNextVMTurn(func) {\n executeNextVMTurnFuncs.push(func);\n if (executeNextVMTurnPending) {\n return;\n }\n executeNextVMTurnPending = true;\n window.setTimeout(function () {\n var funcsCopy = executeNextVMTurnFuncs.slice();\n executeNextVMTurnFuncs.length = 0;\n executeNextVMTurnPending = false;\n funcsCopy.forEach(function (func) { return func(); });\n }, 0);\n}\nfunction executeAfter(funcs, milliseconds) {\n if (milliseconds === void 0) { milliseconds = 0; }\n if (funcs.length > 0) {\n window.setTimeout(function () { return funcs.forEach(function (func) { return func(); }); }, milliseconds);\n }\n}\n/**\n * from https://stackoverflow.com/questions/24004791/can-someone-explain-the-debounce-function-in-javascript\n * @param {Function} func The function to be debounced\n * @param {number} wait The time in ms to debounce\n * @param {boolean} immediate If it should run immediately or wait for the initial debounce delay\n * @return {Function} The debounced function\n */\nfunction debounce(func, wait, immediate) {\n if (immediate === void 0) { immediate = false; }\n // 'private' variable for instance\n // The returned function will be able to reference this due to closure.\n // Each call to the returned function will share this common timer.\n var timeout;\n // Calling debounce returns a new anonymous function\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n // reference the context and args for the setTimeout function\n var context = this;\n // Should the function be called now? If immediate is true\n // and not already in a timeout then the answer is: Yes\n var callNow = immediate && !timeout;\n // This is the basic debounce behaviour where you can call this\n // function several times, but it will only execute once\n // [before or after imposing a delay].\n // Each time the returned function is called, the timer starts over.\n window.clearTimeout(timeout);\n // Set the new timeout\n timeout = window.setTimeout(function () {\n // Inside the timeout function, clear the timeout variable\n // which will let the next execution run when in 'immediate' mode\n timeout = null;\n // Check if the function already ran with the immediate flag\n if (!immediate) {\n // Call the original function with apply\n // apply lets you define the 'this' object as well as the arguments\n // (both captured before setTimeout)\n func.apply(context, args);\n }\n }, wait);\n // Immediate mode and no wait timer? Execute the function..\n if (callNow) {\n func.apply(context, args);\n }\n };\n}\n/**\n * @param {Function} func The function to be throttled\n * @param {number} wait The time in ms to throttle\n * @return {Function} The throttled function\n */\nfunction throttle(func, wait) {\n var previousCall = 0;\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var context = this;\n var currentCall = new Date().getTime();\n if (currentCall - previousCall < wait) {\n return;\n }\n previousCall = currentCall;\n func.apply(context, args);\n };\n}\nfunction waitUntil(condition, callback, timeout, timeoutMessage) {\n if (timeout === void 0) { timeout = 100; }\n var timeStamp = new Date().getTime();\n var interval = null;\n var executed = false;\n var internalCallback = function () {\n var reachedTimeout = ((new Date().getTime()) - timeStamp) > timeout;\n if (condition() || reachedTimeout) {\n callback();\n executed = true;\n if (interval != null) {\n window.clearInterval(interval);\n interval = null;\n }\n if (reachedTimeout && timeoutMessage) {\n console.warn(timeoutMessage);\n }\n }\n };\n internalCallback();\n if (!executed) {\n interval = window.setInterval(internalCallback, 10);\n }\n}\nfunction compose() {\n var fns = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n fns[_i] = arguments[_i];\n }\n return function (arg) { return fns.reduce(function (composed, f) { return f(composed); }, arg); };\n}\nfunction callIfPresent(func) {\n if (func) {\n func();\n }\n}\n\nvar FunctionUtils = /*#__PURE__*/Object.freeze({\n doOnce: doOnce,\n getFunctionName: getFunctionName,\n getFunctionParameters: getFunctionParameters,\n isFunction: isFunction,\n executeInAWhile: executeInAWhile,\n executeNextVMTurn: executeNextVMTurn,\n executeAfter: executeAfter,\n debounce: debounce,\n throttle: throttle,\n waitUntil: waitUntil,\n compose: compose,\n callIfPresent: callIfPresent\n});\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar Context = /** @class */ (function () {\n function Context(params, logger) {\n this.beanWrappers = {};\n this.destroyed = false;\n if (!params || !params.beanClasses) {\n return;\n }\n this.contextParams = params;\n this.logger = logger;\n this.logger.log(\">> creating ag-Application Context\");\n this.createBeans();\n var beanInstances = this.getBeanInstances();\n this.wireBeans(beanInstances);\n this.logger.log(\">> ag-Application Context ready - component is alive\");\n }\n Context.prototype.getBeanInstances = function () {\n return values(this.beanWrappers).map(function (beanEntry) { return beanEntry.beanInstance; });\n };\n Context.prototype.createBean = function (bean, afterPreCreateCallback) {\n if (!bean) {\n throw Error(\"Can't wire to bean since it is null\");\n }\n this.wireBeans([bean], afterPreCreateCallback);\n return bean;\n };\n Context.prototype.wireBeans = function (beanInstances, afterPreCreateCallback) {\n this.autoWireBeans(beanInstances);\n this.methodWireBeans(beanInstances);\n this.callLifeCycleMethods(beanInstances, 'preConstructMethods');\n // the callback sets the attributes, so the component has access to attributes\n // before postConstruct methods in the component are executed\n if (exists(afterPreCreateCallback)) {\n beanInstances.forEach(afterPreCreateCallback);\n }\n this.callLifeCycleMethods(beanInstances, 'postConstructMethods');\n };\n Context.prototype.createBeans = function () {\n var _this = this;\n // register all normal beans\n this.contextParams.beanClasses.forEach(this.createBeanWrapper.bind(this));\n // register override beans, these will overwrite beans above of same name\n // instantiate all beans - overridden beans will be left out\n iterateObject(this.beanWrappers, function (key, beanEntry) {\n var constructorParamsMeta;\n if (beanEntry.bean.__agBeanMetaData && beanEntry.bean.__agBeanMetaData.autowireMethods && beanEntry.bean.__agBeanMetaData.autowireMethods.agConstructor) {\n constructorParamsMeta = beanEntry.bean.__agBeanMetaData.autowireMethods.agConstructor;\n }\n var constructorParams = _this.getBeansForParameters(constructorParamsMeta, beanEntry.bean.name);\n var newInstance = applyToConstructor(beanEntry.bean, constructorParams);\n beanEntry.beanInstance = newInstance;\n });\n var createdBeanNames = Object.keys(this.beanWrappers).join(', ');\n this.logger.log(\"created beans: \" + createdBeanNames);\n };\n // tslint:disable-next-line\n Context.prototype.createBeanWrapper = function (BeanClass) {\n var metaData = BeanClass.__agBeanMetaData;\n if (!metaData) {\n var beanName = void 0;\n if (BeanClass.prototype.constructor) {\n beanName = getFunctionName(BeanClass.prototype.constructor);\n }\n else {\n beanName = \"\" + BeanClass;\n }\n console.error(\"Context item \" + beanName + \" is not a bean\");\n return;\n }\n var beanEntry = {\n bean: BeanClass,\n beanInstance: null,\n beanName: metaData.beanName\n };\n this.beanWrappers[metaData.beanName] = beanEntry;\n };\n Context.prototype.autoWireBeans = function (beanInstances) {\n var _this = this;\n beanInstances.forEach(function (beanInstance) {\n _this.forEachMetaDataInHierarchy(beanInstance, function (metaData, beanName) {\n var attributes = metaData.agClassAttributes;\n if (!attributes) {\n return;\n }\n attributes.forEach(function (attribute) {\n var otherBean = _this.lookupBeanInstance(beanName, attribute.beanName, attribute.optional);\n beanInstance[attribute.attributeName] = otherBean;\n });\n });\n });\n };\n Context.prototype.methodWireBeans = function (beanInstances) {\n var _this = this;\n beanInstances.forEach(function (beanInstance) {\n _this.forEachMetaDataInHierarchy(beanInstance, function (metaData, beanName) {\n iterateObject(metaData.autowireMethods, function (methodName, wireParams) {\n // skip constructor, as this is dealt with elsewhere\n if (methodName === \"agConstructor\") {\n return;\n }\n var initParams = _this.getBeansForParameters(wireParams, beanName);\n beanInstance[methodName].apply(beanInstance, initParams);\n });\n });\n });\n };\n Context.prototype.forEachMetaDataInHierarchy = function (beanInstance, callback) {\n var prototype = Object.getPrototypeOf(beanInstance);\n while (prototype != null) {\n var constructor = prototype.constructor;\n if (constructor.hasOwnProperty('__agBeanMetaData')) {\n var metaData = constructor.__agBeanMetaData;\n var beanName = this.getBeanName(constructor);\n callback(metaData, beanName);\n }\n prototype = Object.getPrototypeOf(prototype);\n }\n };\n Context.prototype.getBeanName = function (constructor) {\n if (constructor.__agBeanMetaData && constructor.__agBeanMetaData.beanName) {\n return constructor.__agBeanMetaData.beanName;\n }\n var constructorString = constructor.toString();\n var beanName = constructorString.substring(9, constructorString.indexOf(\"(\"));\n return beanName;\n };\n Context.prototype.getBeansForParameters = function (parameters, beanName) {\n var _this = this;\n var beansList = [];\n if (parameters) {\n iterateObject(parameters, function (paramIndex, otherBeanName) {\n var otherBean = _this.lookupBeanInstance(beanName, otherBeanName);\n beansList[Number(paramIndex)] = otherBean;\n });\n }\n return beansList;\n };\n Context.prototype.lookupBeanInstance = function (wiringBean, beanName, optional) {\n if (optional === void 0) { optional = false; }\n if (beanName === \"context\") {\n return this;\n }\n if (this.contextParams.providedBeanInstances && this.contextParams.providedBeanInstances.hasOwnProperty(beanName)) {\n return this.contextParams.providedBeanInstances[beanName];\n }\n var beanEntry = this.beanWrappers[beanName];\n if (beanEntry) {\n return beanEntry.beanInstance;\n }\n if (!optional) {\n console.error(\"AG Grid: unable to find bean reference \" + beanName + \" while initialising \" + wiringBean);\n }\n return null;\n };\n Context.prototype.callLifeCycleMethods = function (beanInstances, lifeCycleMethod) {\n var _this = this;\n beanInstances.forEach(function (beanInstance) { return _this.callLifeCycleMethodsOnBean(beanInstance, lifeCycleMethod); });\n };\n Context.prototype.callLifeCycleMethodsOnBean = function (beanInstance, lifeCycleMethod, methodToIgnore) {\n // putting all methods into a map removes duplicates\n var allMethods = {};\n // dump methods from each level of the metadata hierarchy\n this.forEachMetaDataInHierarchy(beanInstance, function (metaData) {\n var methods = metaData[lifeCycleMethod];\n if (methods) {\n methods.forEach(function (methodName) {\n if (methodName != methodToIgnore) {\n allMethods[methodName] = true;\n }\n });\n }\n });\n var allMethodsList = Object.keys(allMethods);\n allMethodsList.forEach(function (methodName) { return beanInstance[methodName](); });\n };\n Context.prototype.getBean = function (name) {\n return this.lookupBeanInstance(\"getBean\", name, true);\n };\n Context.prototype.destroy = function () {\n if (this.destroyed) {\n return;\n }\n this.logger.log(\">> Shutting down ag-Application Context\");\n var beanInstances = this.getBeanInstances();\n this.destroyBeans(beanInstances);\n this.contextParams.providedBeanInstances = null;\n this.destroyed = true;\n this.logger.log(\">> ag-Application Context shut down - component is dead\");\n };\n Context.prototype.destroyBean = function (bean) {\n if (!bean) {\n return;\n }\n this.destroyBeans([bean]);\n };\n Context.prototype.destroyBeans = function (beans) {\n var _this = this;\n if (!beans) {\n return [];\n }\n beans.forEach(function (bean) {\n _this.callLifeCycleMethodsOnBean(bean, 'preDestroyMethods', 'destroy');\n // call destroy() explicitly if it exists\n var beanAny = bean;\n if (typeof beanAny.destroy === 'function') {\n beanAny.destroy();\n }\n });\n return [];\n };\n return Context;\n}());\n// taken from: http://stackoverflow.com/questions/3362471/how-can-i-call-a-javascript-constructor-using-call-or-apply\n// allows calling 'apply' on a constructor\nfunction applyToConstructor(constructor, argArray) {\n var args = [null].concat(argArray);\n var factoryFunction = constructor.bind.apply(constructor, args);\n return new factoryFunction();\n}\nfunction PreConstruct(target, methodName, descriptor) {\n var props = getOrCreateProps(target.constructor);\n if (!props.preConstructMethods) {\n props.preConstructMethods = [];\n }\n props.preConstructMethods.push(methodName);\n}\nfunction PostConstruct(target, methodName, descriptor) {\n var props = getOrCreateProps(target.constructor);\n if (!props.postConstructMethods) {\n props.postConstructMethods = [];\n }\n props.postConstructMethods.push(methodName);\n}\nfunction PreDestroy(target, methodName, descriptor) {\n var props = getOrCreateProps(target.constructor);\n if (!props.preDestroyMethods) {\n props.preDestroyMethods = [];\n }\n props.preDestroyMethods.push(methodName);\n}\nfunction Bean(beanName) {\n return function (classConstructor) {\n var props = getOrCreateProps(classConstructor);\n props.beanName = beanName;\n };\n}\nfunction Autowired(name) {\n return function (target, propertyKey, descriptor) {\n autowiredFunc(target, name, false, target, propertyKey, null);\n };\n}\nfunction Optional(name) {\n return function (target, propertyKey, descriptor) {\n autowiredFunc(target, name, true, target, propertyKey, null);\n };\n}\nfunction autowiredFunc(target, name, optional, classPrototype, methodOrAttributeName, index) {\n if (name === null) {\n console.error(\"AG Grid: Autowired name should not be null\");\n return;\n }\n if (typeof index === \"number\") {\n console.error(\"AG Grid: Autowired should be on an attribute\");\n return;\n }\n // it's an attribute on the class\n var props = getOrCreateProps(target.constructor);\n if (!props.agClassAttributes) {\n props.agClassAttributes = [];\n }\n props.agClassAttributes.push({\n attributeName: methodOrAttributeName,\n beanName: name,\n optional: optional\n });\n}\nfunction Qualifier(name) {\n return function (classPrototype, methodOrAttributeName, index) {\n var constructor = typeof classPrototype == \"function\" ? classPrototype : classPrototype.constructor;\n var props;\n if (typeof index === \"number\") {\n // it's a parameter on a method\n var methodName = void 0;\n if (methodOrAttributeName) {\n props = getOrCreateProps(constructor);\n methodName = methodOrAttributeName;\n }\n else {\n props = getOrCreateProps(constructor);\n methodName = \"agConstructor\";\n }\n if (!props.autowireMethods) {\n props.autowireMethods = {};\n }\n if (!props.autowireMethods[methodName]) {\n props.autowireMethods[methodName] = {};\n }\n props.autowireMethods[methodName][index] = name;\n }\n };\n}\nfunction getOrCreateProps(target) {\n if (!target.hasOwnProperty(\"__agBeanMetaData\")) {\n target.__agBeanMetaData = {};\n }\n return target.__agBeanMetaData;\n}\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __param = (undefined && undefined.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nvar EventService = /** @class */ (function () {\n function EventService() {\n this.allSyncListeners = new Map();\n this.allAsyncListeners = new Map();\n this.globalSyncListeners = new Set();\n this.globalAsyncListeners = new Set();\n this.asyncFunctionsQueue = [];\n this.scheduled = false;\n // using an object performs better than a Set for the number of different events we have\n this.firedEvents = {};\n }\n // because this class is used both inside the context and outside the context, we do not\n // use autowired attributes, as that would be confusing, as sometimes the attributes\n // would be wired, and sometimes not.\n //\n // the global event servers used by AG Grid is autowired by the context once, and this\n // setBeans method gets called once.\n //\n // the times when this class is used outside of the context (eg RowNode has an instance of this\n // class) then it is not a bean, and this setBeans method is not called.\n EventService.prototype.setBeans = function (loggerFactory, gridOptionsWrapper, frameworkOverrides, globalEventListener) {\n if (globalEventListener === void 0) { globalEventListener = null; }\n this.frameworkOverrides = frameworkOverrides;\n if (globalEventListener) {\n var async = gridOptionsWrapper.useAsyncEvents();\n this.addGlobalListener(globalEventListener, async);\n }\n };\n EventService.prototype.getListeners = function (eventType, async, autoCreateListenerCollection) {\n var listenerMap = async ? this.allAsyncListeners : this.allSyncListeners;\n var listeners = listenerMap.get(eventType);\n // Note: 'autoCreateListenerCollection' should only be 'true' if a listener is about to be added. For instance\n // getListeners() is also called during event dispatch even though no listeners are added. This measure protects\n // against 'memory bloat' as empty collections will prevent the RowNode's event service from being removed after\n // the RowComp is destroyed, see noRegisteredListenersExist() below.\n if (!listeners && autoCreateListenerCollection) {\n listeners = new Set();\n listenerMap.set(eventType, listeners);\n }\n return listeners;\n };\n EventService.prototype.noRegisteredListenersExist = function () {\n return this.allSyncListeners.size === 0 && this.allAsyncListeners.size === 0 &&\n this.globalSyncListeners.size === 0 && this.globalAsyncListeners.size === 0;\n };\n EventService.prototype.addEventListener = function (eventType, listener, async) {\n if (async === void 0) { async = false; }\n this.getListeners(eventType, async, true).add(listener);\n };\n EventService.prototype.removeEventListener = function (eventType, listener, async) {\n if (async === void 0) { async = false; }\n var listeners = this.getListeners(eventType, async, false);\n if (!listeners) {\n return;\n }\n listeners.delete(listener);\n if (listeners.size === 0) {\n var listenerMap = async ? this.allAsyncListeners : this.allSyncListeners;\n listenerMap.delete(eventType);\n }\n };\n EventService.prototype.addGlobalListener = function (listener, async) {\n if (async === void 0) { async = false; }\n (async ? this.globalAsyncListeners : this.globalSyncListeners).add(listener);\n };\n EventService.prototype.removeGlobalListener = function (listener, async) {\n if (async === void 0) { async = false; }\n (async ? this.globalAsyncListeners : this.globalSyncListeners).delete(listener);\n };\n EventService.prototype.dispatchEvent = function (event) {\n this.dispatchToListeners(event, true);\n this.dispatchToListeners(event, false);\n this.firedEvents[event.type] = true;\n };\n EventService.prototype.dispatchEventOnce = function (event) {\n if (!this.firedEvents[event.type]) {\n this.dispatchEvent(event);\n }\n };\n EventService.prototype.dispatchToListeners = function (event, async) {\n var _this = this;\n var eventType = event.type;\n var processEventListeners = function (listeners) { return listeners.forEach(function (listener) {\n if (async) {\n _this.dispatchAsync(function () { return listener(event); });\n }\n else {\n listener(event);\n }\n }); };\n var listeners = this.getListeners(eventType, async, false);\n if (listeners) {\n processEventListeners(listeners);\n }\n var globalListeners = async ? this.globalAsyncListeners : this.globalSyncListeners;\n globalListeners.forEach(function (listener) {\n if (async) {\n _this.dispatchAsync(function () { return _this.frameworkOverrides.dispatchEvent(eventType, function () { return listener(eventType, event); }, true); });\n }\n else {\n _this.frameworkOverrides.dispatchEvent(eventType, function () { return listener(eventType, event); }, true);\n }\n });\n };\n // this gets called inside the grid's thread, for each event that it\n // wants to set async. the grid then batches the events into one setTimeout()\n // because setTimeout() is an expensive operation. ideally we would have\n // each event in it's own setTimeout(), but we batch for performance.\n EventService.prototype.dispatchAsync = function (func) {\n // add to the queue for executing later in the next VM turn\n this.asyncFunctionsQueue.push(func);\n // check if timeout is already scheduled. the first time the grid calls\n // this within it's thread turn, this should be false, so it will schedule\n // the 'flush queue' method the first time it comes here. then the flag is\n // set to 'true' so it will know it's already scheduled for subsequent calls.\n if (!this.scheduled) {\n // if not scheduled, schedule one\n window.setTimeout(this.flushAsyncQueue.bind(this), 0);\n // mark that it is scheduled\n this.scheduled = true;\n }\n };\n // this happens in the next VM turn only, and empties the queue of events\n EventService.prototype.flushAsyncQueue = function () {\n this.scheduled = false;\n // we take a copy, because the event listener could be using\n // the grid, which would cause more events, which would be potentially\n // added to the queue, so safe to take a copy, the new events will\n // get executed in a later VM turn rather than risk updating the\n // queue as we are flushing it.\n var queueCopy = this.asyncFunctionsQueue.slice();\n this.asyncFunctionsQueue = [];\n // execute the queue\n queueCopy.forEach(function (func) { return func(); });\n };\n __decorate([\n __param(0, Qualifier('loggerFactory')),\n __param(1, Qualifier('gridOptionsWrapper')),\n __param(2, Qualifier('frameworkOverrides')),\n __param(3, Qualifier('globalEventListener'))\n ], EventService.prototype, \"setBeans\", null);\n EventService = __decorate([\n Bean('eventService')\n ], EventService);\n return EventService;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar Constants = /** @class */ (function () {\n function Constants() {\n }\n Constants.ROW_BUFFER_SIZE = 10;\n Constants.LAYOUT_INTERVAL = 500;\n Constants.BATCH_WAIT_MILLIS = 50;\n Constants.EXPORT_TYPE_DRAG_COPY = 'dragCopy';\n Constants.EXPORT_TYPE_CLIPBOARD = 'clipboard';\n Constants.EXPORT_TYPE_EXCEL = 'excel';\n Constants.EXPORT_TYPE_CSV = 'csv';\n Constants.ROW_MODEL_TYPE_INFINITE = 'infinite';\n Constants.ROW_MODEL_TYPE_VIEWPORT = 'viewport';\n Constants.ROW_MODEL_TYPE_CLIENT_SIDE = 'clientSide';\n Constants.ROW_MODEL_TYPE_SERVER_SIDE = 'serverSide';\n Constants.ALWAYS = 'always';\n Constants.ONLY_WHEN_GROUPING = 'onlyWhenGrouping';\n Constants.PINNED_TOP = 'top';\n Constants.PINNED_BOTTOM = 'bottom';\n Constants.DOM_LAYOUT_NORMAL = 'normal';\n Constants.DOM_LAYOUT_PRINT = 'print';\n Constants.DOM_LAYOUT_AUTO_HEIGHT = 'autoHeight';\n Constants.GROUP_AUTO_COLUMN_ID = 'ag-Grid-AutoColumn';\n Constants.SOURCE_PASTE = 'paste';\n Constants.PINNED_RIGHT = 'right';\n Constants.PINNED_LEFT = 'left';\n Constants.SORT_ASC = 'asc';\n Constants.SORT_DESC = 'desc';\n Constants.INPUT_SELECTOR = 'input, select, button, textarea';\n Constants.FOCUSABLE_SELECTOR = '[tabindex], input, select, button, textarea';\n Constants.FOCUSABLE_EXCLUDE = '.ag-hidden, .ag-hidden *, [disabled], .ag-disabled, .ag-disabled *';\n return Constants;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\n(function (ModuleNames) {\n // when using modules, user references this\n ModuleNames[\"CommunityCoreModule\"] = \"@ag-grid-community/core\";\n // when not using modules, user references this\n ModuleNames[\"CommunityAllModules\"] = \"@ag-grid-community/all\";\n // community modules\n ModuleNames[\"InfiniteRowModelModule\"] = \"@ag-grid-community/infinite-row-model\";\n ModuleNames[\"ClientSideRowModelModule\"] = \"@ag-grid-community/client-side-row-model\";\n ModuleNames[\"CsvExportModule\"] = \"@ag-grid-community/csv-export\";\n // enterprise core - users never import on this, but other enterprise modules do\n ModuleNames[\"EnterpriseCoreModule\"] = \"@ag-grid-enterprise/core\";\n // when not using modules, user references this\n ModuleNames[\"EnterpriseAllModules\"] = \"@ag-grid-enterprise/all\";\n // enterprise modules\n ModuleNames[\"RowGroupingModule\"] = \"@ag-grid-enterprise/row-grouping\";\n ModuleNames[\"ColumnToolPanelModule\"] = \"@ag-grid-enterprise/column-tool-panel\";\n ModuleNames[\"FiltersToolPanelModule\"] = \"@ag-grid-enterprise/filter-tool-panel\";\n ModuleNames[\"MenuModule\"] = \"@ag-grid-enterprise/menu\";\n ModuleNames[\"SetFilterModule\"] = \"@ag-grid-enterprise/set-filter\";\n ModuleNames[\"MultiFilterModule\"] = \"@ag-grid-enterprise/multi-filter\";\n ModuleNames[\"StatusBarModule\"] = \"@ag-grid-enterprise/status-bar\";\n ModuleNames[\"SideBarModule\"] = \"@ag-grid-enterprise/side-bar\";\n ModuleNames[\"RangeSelectionModule\"] = \"@ag-grid-enterprise/range-selection\";\n ModuleNames[\"MasterDetailModule\"] = \"@ag-grid-enterprise/master-detail\";\n ModuleNames[\"RichSelectModule\"] = \"@ag-grid-enterprise/rich-select\";\n ModuleNames[\"GridChartsModule\"] = \"@ag-grid-enterprise/charts\";\n ModuleNames[\"ViewportRowModelModule\"] = \"@ag-grid-enterprise/viewport-row-model\";\n ModuleNames[\"ServerSideRowModelModule\"] = \"@ag-grid-enterprise/server-side-row-model\";\n ModuleNames[\"ExcelExportModule\"] = \"@ag-grid-enterprise/excel-export\";\n ModuleNames[\"ClipboardModule\"] = \"@ag-grid-enterprise/clipboard\";\n ModuleNames[\"SparklinesModule\"] = \"@ag-grid-enterprise/sparklines\";\n // framework wrappers currently don't provide beans, comps etc, so no need to be modules,\n // however i argue they should be as in theory they 'could' provide beans etc\n ModuleNames[\"AngularModule\"] = \"@ag-grid-community/angular\";\n ModuleNames[\"ReactModule\"] = \"@ag-grid-community/react\";\n ModuleNames[\"VueModule\"] = \"@ag-grid-community/vue\";\n ModuleNames[\"PolymerModule\"] = \"@ag-grid-community/polymer\";\n // and then this, which is definitely not a grid module, as it should not have any dependency\n // on the grid (ie shouldn't even reference the Module interface)\n // ChartsModule = \"@ag-grid-community/charts-core\",\n})(exports.ModuleNames || (exports.ModuleNames = {}));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar ModuleRegistry = /** @class */ (function () {\n function ModuleRegistry() {\n }\n ModuleRegistry.register = function (module, moduleBased) {\n if (moduleBased === void 0) { moduleBased = true; }\n ModuleRegistry.modulesMap[module.moduleName] = module;\n if (ModuleRegistry.moduleBased === undefined) {\n ModuleRegistry.moduleBased = moduleBased;\n }\n else {\n if (ModuleRegistry.moduleBased !== moduleBased) {\n doOnce(function () {\n console.warn(\"AG Grid: You are mixing modules (i.e. @ag-grid-community/core) and packages (ag-grid-community) - you can only use one or the other of these mechanisms.\");\n console.warn('Please see https://www.ag-grid.com/javascript-grid/packages-modules/ for more information.');\n }, 'ModulePackageCheck');\n }\n }\n };\n // noinspection JSUnusedGlobalSymbols\n ModuleRegistry.registerModules = function (modules, moduleBased) {\n if (moduleBased === void 0) { moduleBased = true; }\n if (!modules) {\n return;\n }\n modules.forEach(function (module) { return ModuleRegistry.register(module, moduleBased); });\n };\n ModuleRegistry.assertRegistered = function (moduleName, reason) {\n if (this.isRegistered(moduleName)) {\n return true;\n }\n var warningKey = reason + moduleName;\n var warningMessage;\n if (ModuleRegistry.moduleBased) {\n warningMessage = \"AG Grid: unable to use \" + reason + \" as module \" + moduleName + \" is not present. Please see: https://www.ag-grid.com/javascript-grid/modules/\";\n }\n else {\n warningMessage = \"AG Grid: unable to use \" + reason + \" as package 'ag-grid-enterprise' is not present. Please see: https://www.ag-grid.com/javascript-grid/packages/\";\n }\n doOnce(function () {\n console.warn(warningMessage);\n }, warningKey);\n return false;\n };\n ModuleRegistry.isRegistered = function (moduleName) {\n return !!ModuleRegistry.modulesMap[moduleName];\n };\n ModuleRegistry.getRegisteredModules = function () {\n return values(ModuleRegistry.modulesMap);\n };\n ModuleRegistry.isPackageBased = function () {\n return !ModuleRegistry.moduleBased;\n };\n // having in a map a) removes duplicates and b) allows fast lookup\n ModuleRegistry.modulesMap = {};\n return ModuleRegistry;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __decorate$1 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar instanceIdSequence = 0;\n// Wrapper around a user provide column definition. The grid treats the column definition as ready only.\n// This class contains all the runtime information about a column, plus some logic (the definition has no logic).\n// This class implements both interfaces ColumnGroupChild and ProvidedColumnGroupChild as the class can\n// appear as a child of either the original tree or the displayed tree. However the relevant group classes\n// for each type only implements one, as each group can only appear in it's associated tree (eg ProvidedColumnGroup\n// can only appear in OriginalColumn tree).\nvar Column = /** @class */ (function () {\n function Column(colDef, userProvidedColDef, colId, primary) {\n // used by React (and possibly other frameworks) as key for rendering\n this.instanceId = instanceIdSequence++;\n this.moving = false;\n this.menuVisible = false;\n this.filterActive = false;\n this.eventService = new EventService();\n this.rowGroupActive = false;\n this.pivotActive = false;\n this.aggregationActive = false;\n this.colDef = colDef;\n this.userProvidedColDef = userProvidedColDef;\n this.colId = colId;\n this.primary = primary;\n this.setState(colDef);\n }\n Column.prototype.getInstanceId = function () {\n return this.instanceId;\n };\n Column.prototype.setState = function (colDef) {\n // sort\n if (colDef.sort !== undefined) {\n if (colDef.sort === Constants.SORT_ASC || colDef.sort === Constants.SORT_DESC) {\n this.sort = colDef.sort;\n }\n }\n else {\n if (colDef.initialSort === Constants.SORT_ASC || colDef.initialSort === Constants.SORT_DESC) {\n this.sort = colDef.initialSort;\n }\n }\n // sortIndex\n var sortIndex = attrToNumber(colDef.sortIndex);\n var initialSortIndex = attrToNumber(colDef.initialSortIndex);\n if (sortIndex !== undefined) {\n if (sortIndex !== null) {\n this.sortIndex = sortIndex;\n }\n }\n else {\n if (initialSortIndex !== null) {\n this.sortIndex = initialSortIndex;\n }\n }\n // hide\n var hide = attrToBoolean(colDef.hide);\n var initialHide = attrToBoolean(colDef.initialHide);\n if (hide !== undefined) {\n this.visible = !hide;\n }\n else {\n this.visible = !initialHide;\n }\n // pinned\n if (colDef.pinned !== undefined) {\n this.setPinned(colDef.pinned);\n }\n else {\n this.setPinned(colDef.initialPinned);\n }\n // flex\n var flex = attrToNumber(colDef.flex);\n var initialFlex = attrToNumber(colDef.initialFlex);\n if (flex !== undefined) {\n this.flex = flex;\n }\n else if (initialFlex !== undefined) {\n this.flex = initialFlex;\n }\n };\n // gets called when user provides an alternative colDef, eg\n Column.prototype.setColDef = function (colDef, userProvidedColDef) {\n this.colDef = colDef;\n this.userProvidedColDef = userProvidedColDef;\n this.initMinAndMaxWidths();\n this.initDotNotation();\n };\n /**\n * Returns the column definition provided by the application.\n * This may not be correct, as items can be superseded by default column options.\n * However it's useful for comparison, eg to know which application column definition matches that column.\n */\n Column.prototype.getUserProvidedColDef = function () {\n return this.userProvidedColDef;\n };\n Column.prototype.setParent = function (parent) {\n this.parent = parent;\n };\n /** Returns the parent column group, if column grouping is active. */\n Column.prototype.getParent = function () {\n return this.parent;\n };\n Column.prototype.setOriginalParent = function (originalParent) {\n this.originalParent = originalParent;\n };\n Column.prototype.getOriginalParent = function () {\n return this.originalParent;\n };\n // this is done after constructor as it uses gridOptionsWrapper\n Column.prototype.initialise = function () {\n this.initMinAndMaxWidths();\n this.resetActualWidth('gridInitializing');\n this.initDotNotation();\n this.validate();\n };\n Column.prototype.initDotNotation = function () {\n var suppressDotNotation = this.gridOptionsWrapper.isSuppressFieldDotNotation();\n this.fieldContainsDots = exists(this.colDef.field) && this.colDef.field.indexOf('.') >= 0 && !suppressDotNotation;\n this.tooltipFieldContainsDots = exists(this.colDef.tooltipField) && this.colDef.tooltipField.indexOf('.') >= 0 && !suppressDotNotation;\n };\n Column.prototype.initMinAndMaxWidths = function () {\n var colDef = this.colDef;\n this.minWidth = this.columnUtils.calculateColMinWidth(colDef);\n this.maxWidth = this.columnUtils.calculateColMaxWidth(colDef);\n };\n Column.prototype.resetActualWidth = function (source) {\n if (source === void 0) { source = 'api'; }\n var initialWidth = this.columnUtils.calculateColInitialWidth(this.colDef);\n this.setActualWidth(initialWidth, source, true);\n };\n Column.prototype.isEmptyGroup = function () {\n return false;\n };\n Column.prototype.isRowGroupDisplayed = function (colId) {\n if (missing(this.colDef) || missing(this.colDef.showRowGroup)) {\n return false;\n }\n var showingAllGroups = this.colDef.showRowGroup === true;\n var showingThisGroup = this.colDef.showRowGroup === colId;\n return showingAllGroups || showingThisGroup;\n };\n /** Returns `true` if column is a primary column, `false` if secondary. Secondary columns are used for pivoting. */\n Column.prototype.isPrimary = function () {\n return this.primary;\n };\n /** Returns `true` if column filtering is allowed. */\n Column.prototype.isFilterAllowed = function () {\n // filter defined means it's a string, class or true.\n // if its false, null or undefined then it's false.\n var filterDefined = !!this.colDef.filter || !!this.colDef.filterFramework;\n return filterDefined;\n };\n Column.prototype.isFieldContainsDots = function () {\n return this.fieldContainsDots;\n };\n Column.prototype.isTooltipFieldContainsDots = function () {\n return this.tooltipFieldContainsDots;\n };\n Column.prototype.validate = function () {\n var colDefAny = this.colDef;\n function warnOnce(msg, key, obj) {\n doOnce(function () {\n if (obj) {\n console.warn(msg, obj);\n }\n else {\n doOnce(function () { return console.warn(msg); }, key);\n }\n }, key);\n }\n var usingCSRM = this.gridOptionsWrapper.isRowModelDefault();\n if (usingCSRM && !ModuleRegistry.isRegistered(exports.ModuleNames.RowGroupingModule)) {\n var rowGroupingItems = ['enableRowGroup', 'rowGroup', 'rowGroupIndex', 'enablePivot', 'enableValue', 'pivot', 'pivotIndex', 'aggFunc'];\n rowGroupingItems.forEach(function (item) {\n if (exists(colDefAny[item])) {\n if (ModuleRegistry.isPackageBased()) {\n warnOnce(\"AG Grid: \" + item + \" is only valid in ag-grid-enterprise, your column definition should not have \" + item, 'ColumnRowGroupingMissing' + item);\n }\n else {\n warnOnce(\"AG Grid: \" + item + \" is only valid with AG Grid Enterprise Module \" + exports.ModuleNames.RowGroupingModule + \" - your column definition should not have \" + item, 'ColumnRowGroupingMissing' + item);\n }\n }\n });\n }\n if (!ModuleRegistry.isRegistered(exports.ModuleNames.RichSelectModule)) {\n if (this.colDef.cellEditor === 'agRichSelect') {\n if (ModuleRegistry.isPackageBased()) {\n warnOnce(\"AG Grid: \" + this.colDef.cellEditor + \" can only be used with ag-grid-enterprise\", 'ColumnRichSelectMissing');\n }\n else {\n warnOnce(\"AG Grid: \" + this.colDef.cellEditor + \" can only be used with AG Grid Enterprise Module \" + exports.ModuleNames.RichSelectModule, 'ColumnRichSelectMissing');\n }\n }\n }\n if (this.gridOptionsWrapper.isTreeData()) {\n var itemsNotAllowedWithTreeData = ['rowGroup', 'rowGroupIndex', 'pivot', 'pivotIndex'];\n itemsNotAllowedWithTreeData.forEach(function (item) {\n if (exists(colDefAny[item])) {\n warnOnce(\"AG Grid: \" + item + \" is not possible when doing tree data, your column definition should not have \" + item, 'TreeDataCannotRowGroup');\n }\n });\n }\n if (exists(this.colDef.width) && typeof this.colDef.width !== 'number') {\n warnOnce('AG Grid: colDef.width should be a number, not ' + typeof this.colDef.width, 'ColumnCheck_asdfawef');\n }\n if (colDefAny.pinnedRowCellRenderer) {\n warnOnce('AG Grid: pinnedRowCellRenderer no longer exists, use cellRendererSelector if you want a different Cell Renderer for pinned rows. Check params.node.rowPinned. This was an unfortunate (but necessary) change we had to do to allow future plans we have of re-skinng the data grid in frameworks such as React, Angular and Vue. See https://www.ag-grid.com/javascript-grid/cell-rendering/#many-renderers-one-column', 'colDef.pinnedRowCellRenderer-deprecated');\n }\n if (colDefAny.pinnedRowCellRendererParams) {\n warnOnce('AG Grid: pinnedRowCellRenderer no longer exists, use cellRendererSelector if you want a different Cell Renderer for pinned rows. Check params.node.rowPinned. This was an unfortunate (but necessary) change we had to do to allow future plans we have of re-skinng the data grid in frameworks such as React, Angular and Vue. See https://www.ag-grid.com/javascript-grid/cell-rendering/#many-renderers-one-column', 'colDef.pinnedRowCellRenderer-deprecated');\n }\n if (colDefAny.pinnedRowCellRendererFramework) {\n warnOnce('AG Grid: pinnedRowCellRenderer no longer exists, use cellRendererSelector if you want a different Cell Renderer for pinned rows. Check params.node.rowPinned. This was an unfortunate (but necessary) change we had to do to allow future plans we have of re-skinng the data grid in frameworks such as React, Angular and Vue. See https://www.ag-grid.com/javascript-grid/cell-rendering/#many-renderers-one-column', 'colDef.pinnedRowCellRenderer-deprecated');\n }\n if (colDefAny.pinnedRowValueGetter) {\n warnOnce('AG Grid: pinnedRowCellRenderer is deprecated, use cellRendererSelector if you want a different Cell Renderer for pinned rows. Check params.node.rowPinned. This was an unfortunate (but necessary) change we had to do to allow future plans we have of re-skinng the data grid in frameworks such as React, Angular and Vue.', 'colDef.pinnedRowCellRenderer-deprecated');\n }\n };\n /** Add an event listener to the column. */\n Column.prototype.addEventListener = function (eventType, listener) {\n this.eventService.addEventListener(eventType, listener);\n };\n /** Remove event listener from the column. */\n Column.prototype.removeEventListener = function (eventType, listener) {\n this.eventService.removeEventListener(eventType, listener);\n };\n Column.prototype.createColumnFunctionCallbackParams = function (rowNode) {\n return {\n node: rowNode,\n data: rowNode.data,\n column: this,\n colDef: this.colDef,\n context: this.gridOptionsWrapper.getContext(),\n api: this.gridOptionsWrapper.getApi(),\n columnApi: this.gridOptionsWrapper.getColumnApi()\n };\n };\n Column.prototype.isSuppressNavigable = function (rowNode) {\n // if boolean set, then just use it\n if (typeof this.colDef.suppressNavigable === 'boolean') {\n return this.colDef.suppressNavigable;\n }\n // if function, then call the function to find out\n if (typeof this.colDef.suppressNavigable === 'function') {\n var params = this.createColumnFunctionCallbackParams(rowNode);\n var userFunc = this.colDef.suppressNavigable;\n return userFunc(params);\n }\n return false;\n };\n Column.prototype.isCellEditable = function (rowNode) {\n // only allow editing of groups if the user has this option enabled\n if (rowNode.group && !this.gridOptionsWrapper.isEnableGroupEdit()) {\n return false;\n }\n return this.isColumnFunc(rowNode, this.colDef.editable);\n };\n Column.prototype.isSuppressFillHandle = function () {\n return !!attrToBoolean(this.colDef.suppressFillHandle);\n };\n Column.prototype.isAutoHeight = function () {\n return !!attrToBoolean(this.colDef.autoHeight);\n };\n Column.prototype.isRowDrag = function (rowNode) {\n return this.isColumnFunc(rowNode, this.colDef.rowDrag);\n };\n Column.prototype.isDndSource = function (rowNode) {\n return this.isColumnFunc(rowNode, this.colDef.dndSource);\n };\n Column.prototype.isCellCheckboxSelection = function (rowNode) {\n return this.isColumnFunc(rowNode, this.colDef.checkboxSelection);\n };\n Column.prototype.isSuppressPaste = function (rowNode) {\n return this.isColumnFunc(rowNode, this.colDef ? this.colDef.suppressPaste : null);\n };\n Column.prototype.isResizable = function () {\n return !!attrToBoolean(this.colDef.resizable);\n };\n Column.prototype.isColumnFunc = function (rowNode, value) {\n // if boolean set, then just use it\n if (typeof value === 'boolean') {\n return value;\n }\n // if function, then call the function to find out\n if (typeof value === 'function') {\n var params = this.createColumnFunctionCallbackParams(rowNode);\n var editableFunc = value;\n return editableFunc(params);\n }\n return false;\n };\n Column.prototype.setMoving = function (moving, source) {\n if (source === void 0) { source = \"api\"; }\n this.moving = moving;\n this.eventService.dispatchEvent(this.createColumnEvent(Column.EVENT_MOVING_CHANGED, source));\n };\n Column.prototype.createColumnEvent = function (type, source) {\n return {\n api: this.gridApi,\n columnApi: this.columnApi,\n type: type,\n column: this,\n columns: [this],\n source: source\n };\n };\n Column.prototype.isMoving = function () {\n return this.moving;\n };\n /** If sorting is active, returns the sort direction e.g. `'asc'` or `'desc'`. */\n Column.prototype.getSort = function () {\n return this.sort;\n };\n Column.prototype.setSort = function (sort, source) {\n if (source === void 0) { source = \"api\"; }\n if (this.sort !== sort) {\n this.sort = sort;\n this.eventService.dispatchEvent(this.createColumnEvent(Column.EVENT_SORT_CHANGED, source));\n }\n };\n Column.prototype.setMenuVisible = function (visible, source) {\n if (source === void 0) { source = \"api\"; }\n if (this.menuVisible !== visible) {\n this.menuVisible = visible;\n this.eventService.dispatchEvent(this.createColumnEvent(Column.EVENT_MENU_VISIBLE_CHANGED, source));\n }\n };\n Column.prototype.isMenuVisible = function () {\n return this.menuVisible;\n };\n Column.prototype.isSortAscending = function () {\n return this.sort === Constants.SORT_ASC;\n };\n Column.prototype.isSortDescending = function () {\n return this.sort === Constants.SORT_DESC;\n };\n Column.prototype.isSortNone = function () {\n return missing(this.sort);\n };\n Column.prototype.isSorting = function () {\n return exists(this.sort);\n };\n Column.prototype.getSortIndex = function () {\n return this.sortIndex;\n };\n Column.prototype.setSortIndex = function (sortOrder) {\n this.sortIndex = sortOrder;\n };\n Column.prototype.setAggFunc = function (aggFunc) {\n this.aggFunc = aggFunc;\n };\n /** If aggregation is set for the column, returns the aggregation function. */\n Column.prototype.getAggFunc = function () {\n return this.aggFunc;\n };\n Column.prototype.getLeft = function () {\n return this.left;\n };\n Column.prototype.getOldLeft = function () {\n return this.oldLeft;\n };\n Column.prototype.getRight = function () {\n return this.left + this.actualWidth;\n };\n Column.prototype.setLeft = function (left, source) {\n if (source === void 0) { source = \"api\"; }\n this.oldLeft = this.left;\n if (this.left !== left) {\n this.left = left;\n this.eventService.dispatchEvent(this.createColumnEvent(Column.EVENT_LEFT_CHANGED, source));\n }\n };\n /** Returns `true` if filter is active on the column. */\n Column.prototype.isFilterActive = function () {\n return this.filterActive;\n };\n // additionalEventAttributes is used by provided simple floating filter, so it can add 'floatingFilter=true' to the event\n Column.prototype.setFilterActive = function (active, source, additionalEventAttributes) {\n if (source === void 0) { source = \"api\"; }\n if (this.filterActive !== active) {\n this.filterActive = active;\n this.eventService.dispatchEvent(this.createColumnEvent(Column.EVENT_FILTER_ACTIVE_CHANGED, source));\n }\n var filterChangedEvent = this.createColumnEvent(Column.EVENT_FILTER_CHANGED, source);\n if (additionalEventAttributes) {\n mergeDeep(filterChangedEvent, additionalEventAttributes);\n }\n this.eventService.dispatchEvent(filterChangedEvent);\n };\n Column.prototype.setPinned = function (pinned) {\n if (pinned === true || pinned === Constants.PINNED_LEFT) {\n this.pinned = Constants.PINNED_LEFT;\n }\n else if (pinned === Constants.PINNED_RIGHT) {\n this.pinned = Constants.PINNED_RIGHT;\n }\n else {\n this.pinned = null;\n }\n };\n Column.prototype.setFirstRightPinned = function (firstRightPinned, source) {\n if (source === void 0) { source = \"api\"; }\n if (this.firstRightPinned !== firstRightPinned) {\n this.firstRightPinned = firstRightPinned;\n this.eventService.dispatchEvent(this.createColumnEvent(Column.EVENT_FIRST_RIGHT_PINNED_CHANGED, source));\n }\n };\n Column.prototype.setLastLeftPinned = function (lastLeftPinned, source) {\n if (source === void 0) { source = \"api\"; }\n if (this.lastLeftPinned !== lastLeftPinned) {\n this.lastLeftPinned = lastLeftPinned;\n this.eventService.dispatchEvent(this.createColumnEvent(Column.EVENT_LAST_LEFT_PINNED_CHANGED, source));\n }\n };\n Column.prototype.isFirstRightPinned = function () {\n return this.firstRightPinned;\n };\n Column.prototype.isLastLeftPinned = function () {\n return this.lastLeftPinned;\n };\n Column.prototype.isPinned = function () {\n return this.pinned === Constants.PINNED_LEFT || this.pinned === Constants.PINNED_RIGHT;\n };\n Column.prototype.isPinnedLeft = function () {\n return this.pinned === Constants.PINNED_LEFT;\n };\n Column.prototype.isPinnedRight = function () {\n return this.pinned === Constants.PINNED_RIGHT;\n };\n Column.prototype.getPinned = function () {\n return this.pinned;\n };\n Column.prototype.setVisible = function (visible, source) {\n if (source === void 0) { source = \"api\"; }\n var newValue = visible === true;\n if (this.visible !== newValue) {\n this.visible = newValue;\n this.eventService.dispatchEvent(this.createColumnEvent(Column.EVENT_VISIBLE_CHANGED, source));\n }\n };\n Column.prototype.isVisible = function () {\n return this.visible;\n };\n /** Returns the column definition for this column.\n * The column definition will be the result of merging the application provided column definition with any provided defaults\n * (e.g. `defaultColDef` grid option, or column types.\n *\n * Equivalent: `getDefinition` */\n Column.prototype.getColDef = function () {\n return this.colDef;\n };\n Column.prototype.getColumnGroupShow = function () {\n return this.colDef.columnGroupShow;\n };\n /**\n * Returns the unique ID for the column.\n *\n * Equivalent: `getId`, `getUniqueId` */\n Column.prototype.getColId = function () {\n return this.colId;\n };\n /**\n * Returns the unique ID for the column.\n *\n * Equivalent: `getColId`, `getUniqueId` */\n Column.prototype.getId = function () {\n return this.getColId();\n };\n /**\n * Returns the unique ID for the column.\n *\n * Equivalent: `getColId`, `getId` */\n Column.prototype.getUniqueId = function () {\n return this.getId();\n };\n Column.prototype.getDefinition = function () {\n return this.colDef;\n };\n /** Returns the current width of the column. If the column is resized, the actual width is the new size. */\n Column.prototype.getActualWidth = function () {\n return this.actualWidth;\n };\n Column.prototype.createBaseColDefParams = function (rowNode) {\n var params = {\n node: rowNode,\n data: rowNode.data,\n colDef: this.colDef,\n column: this,\n api: this.gridOptionsWrapper.getApi(),\n columnApi: this.gridOptionsWrapper.getColumnApi(),\n context: this.gridOptionsWrapper.getContext()\n };\n return params;\n };\n Column.prototype.getColSpan = function (rowNode) {\n if (missing(this.colDef.colSpan)) {\n return 1;\n }\n var params = this.createBaseColDefParams(rowNode);\n var colSpan = this.colDef.colSpan(params);\n // colSpan must be number equal to or greater than 1\n return Math.max(colSpan, 1);\n };\n Column.prototype.getRowSpan = function (rowNode) {\n if (missing(this.colDef.rowSpan)) {\n return 1;\n }\n var params = this.createBaseColDefParams(rowNode);\n var rowSpan = this.colDef.rowSpan(params);\n // rowSpan must be number equal to or greater than 1\n return Math.max(rowSpan, 1);\n };\n Column.prototype.setActualWidth = function (actualWidth, source, silent) {\n if (source === void 0) { source = \"api\"; }\n if (silent === void 0) { silent = false; }\n if (this.minWidth != null) {\n actualWidth = Math.max(actualWidth, this.minWidth);\n }\n if (this.maxWidth != null) {\n actualWidth = Math.min(actualWidth, this.maxWidth);\n }\n if (this.actualWidth !== actualWidth) {\n // disable flex for this column if it was manually resized.\n this.actualWidth = actualWidth;\n if (this.flex && source !== 'flex' && source !== 'gridInitializing') {\n this.flex = null;\n }\n if (!silent) {\n this.fireColumnWidthChangedEvent(source);\n }\n }\n };\n Column.prototype.fireColumnWidthChangedEvent = function (source) {\n this.eventService.dispatchEvent(this.createColumnEvent(Column.EVENT_WIDTH_CHANGED, source));\n };\n Column.prototype.isGreaterThanMax = function (width) {\n if (this.maxWidth != null) {\n return width > this.maxWidth;\n }\n return false;\n };\n Column.prototype.getMinWidth = function () {\n return this.minWidth;\n };\n Column.prototype.getMaxWidth = function () {\n return this.maxWidth;\n };\n Column.prototype.getFlex = function () {\n return this.flex || 0;\n };\n // this method should only be used by the columnModel to\n // change flex when required by the setColumnState method.\n Column.prototype.setFlex = function (flex) {\n if (this.flex !== flex) {\n this.flex = flex;\n }\n };\n Column.prototype.setMinimum = function (source) {\n if (source === void 0) { source = \"api\"; }\n if (exists(this.minWidth)) {\n this.setActualWidth(this.minWidth, source);\n }\n };\n Column.prototype.setRowGroupActive = function (rowGroup, source) {\n if (source === void 0) { source = \"api\"; }\n if (this.rowGroupActive !== rowGroup) {\n this.rowGroupActive = rowGroup;\n this.eventService.dispatchEvent(this.createColumnEvent(Column.EVENT_ROW_GROUP_CHANGED, source));\n }\n };\n /** Returns `true` if row group is currently active for this column. */\n Column.prototype.isRowGroupActive = function () {\n return this.rowGroupActive;\n };\n Column.prototype.setPivotActive = function (pivot, source) {\n if (source === void 0) { source = \"api\"; }\n if (this.pivotActive !== pivot) {\n this.pivotActive = pivot;\n this.eventService.dispatchEvent(this.createColumnEvent(Column.EVENT_PIVOT_CHANGED, source));\n }\n };\n /** Returns `true` if pivot is currently active for this column. */\n Column.prototype.isPivotActive = function () {\n return this.pivotActive;\n };\n Column.prototype.isAnyFunctionActive = function () {\n return this.isPivotActive() || this.isRowGroupActive() || this.isValueActive();\n };\n Column.prototype.isAnyFunctionAllowed = function () {\n return this.isAllowPivot() || this.isAllowRowGroup() || this.isAllowValue();\n };\n Column.prototype.setValueActive = function (value, source) {\n if (source === void 0) { source = \"api\"; }\n if (this.aggregationActive !== value) {\n this.aggregationActive = value;\n this.eventService.dispatchEvent(this.createColumnEvent(Column.EVENT_VALUE_CHANGED, source));\n }\n };\n /** Returns `true` if value (aggregation) is currently active for this column. */\n Column.prototype.isValueActive = function () {\n return this.aggregationActive;\n };\n Column.prototype.isAllowPivot = function () {\n return this.colDef.enablePivot === true;\n };\n Column.prototype.isAllowValue = function () {\n return this.colDef.enableValue === true;\n };\n Column.prototype.isAllowRowGroup = function () {\n return this.colDef.enableRowGroup === true;\n };\n Column.prototype.getMenuTabs = function (defaultValues) {\n var menuTabs = this.getColDef().menuTabs;\n if (menuTabs == null) {\n menuTabs = defaultValues;\n }\n return menuTabs;\n };\n // this used to be needed, as previous version of ag-grid had lockPosition as column state,\n // so couldn't depend on colDef version.\n Column.prototype.isLockPosition = function () {\n console.warn('AG Grid: since v21, col.isLockPosition() should not be used, please use col.getColDef().lockPosition instead.');\n return this.colDef ? !!this.colDef.lockPosition : false;\n };\n // this used to be needed, as previous version of ag-grid had lockVisible as column state,\n // so couldn't depend on colDef version.\n Column.prototype.isLockVisible = function () {\n console.warn('AG Grid: since v21, col.isLockVisible() should not be used, please use col.getColDef().lockVisible instead.');\n return this.colDef ? !!this.colDef.lockVisible : false;\n };\n // this used to be needed, as previous version of ag-grid had lockPinned as column state,\n // so couldn't depend on colDef version.\n Column.prototype.isLockPinned = function () {\n console.warn('AG Grid: since v21, col.isLockPinned() should not be used, please use col.getColDef().lockPinned instead.');\n return this.colDef ? !!this.colDef.lockPinned : false;\n };\n // + renderedHeaderCell - for making header cell transparent when moving\n Column.EVENT_MOVING_CHANGED = 'movingChanged';\n // + renderedCell - changing left position\n Column.EVENT_LEFT_CHANGED = 'leftChanged';\n // + renderedCell - changing width\n Column.EVENT_WIDTH_CHANGED = 'widthChanged';\n // + renderedCell - for changing pinned classes\n Column.EVENT_LAST_LEFT_PINNED_CHANGED = 'lastLeftPinnedChanged';\n Column.EVENT_FIRST_RIGHT_PINNED_CHANGED = 'firstRightPinnedChanged';\n // + renderedColumn - for changing visibility icon\n Column.EVENT_VISIBLE_CHANGED = 'visibleChanged';\n // + every time the filter changes, used in the floating filters\n Column.EVENT_FILTER_CHANGED = 'filterChanged';\n // + renderedHeaderCell - marks the header with filter icon\n Column.EVENT_FILTER_ACTIVE_CHANGED = 'filterActiveChanged';\n // + renderedHeaderCell - marks the header with sort icon\n Column.EVENT_SORT_CHANGED = 'sortChanged';\n Column.EVENT_MENU_VISIBLE_CHANGED = 'menuVisibleChanged';\n // + toolpanel, for gui updates\n Column.EVENT_ROW_GROUP_CHANGED = 'columnRowGroupChanged';\n // + toolpanel, for gui updates\n Column.EVENT_PIVOT_CHANGED = 'columnPivotChanged';\n // + toolpanel, for gui updates\n Column.EVENT_VALUE_CHANGED = 'columnValueChanged';\n __decorate$1([\n Autowired('gridOptionsWrapper')\n ], Column.prototype, \"gridOptionsWrapper\", void 0);\n __decorate$1([\n Autowired('columnUtils')\n ], Column.prototype, \"columnUtils\", void 0);\n __decorate$1([\n Autowired('columnApi')\n ], Column.prototype, \"columnApi\", void 0);\n __decorate$1([\n Autowired('gridApi')\n ], Column.prototype, \"gridApi\", void 0);\n __decorate$1([\n Autowired('context')\n ], Column.prototype, \"context\", void 0);\n __decorate$1([\n PostConstruct\n ], Column.prototype, \"initialise\", null);\n return Column;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nfunction firstExistingValue() {\n var values = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n values[_i] = arguments[_i];\n }\n for (var i = 0; i < values.length; i++) {\n var value = values[i];\n if (exists(value)) {\n return value;\n }\n }\n return null;\n}\nfunction existsAndNotEmpty(value) {\n return value != null && value.length > 0;\n}\nfunction last(arr) {\n if (!arr || !arr.length) {\n return;\n }\n return arr[arr.length - 1];\n}\nfunction areEqual(a, b, comparator) {\n if (a == null && b == null) {\n return true;\n }\n return a != null &&\n b != null &&\n a.length === b.length &&\n a.every(function (value, index) { return comparator ? comparator(value, b[index]) : b[index] === value; });\n}\n/** @deprecated */\nfunction compareArrays(array1, array2) {\n return areEqual(array1, array2);\n}\n/** @deprecated */\nfunction shallowCompare(arr1, arr2) {\n return areEqual(arr1, arr2);\n}\nfunction sortNumerically(array) {\n return array.sort(function (a, b) { return a - b; });\n}\nfunction removeRepeatsFromArray(array, object) {\n if (!array) {\n return;\n }\n for (var index = array.length - 2; index >= 0; index--) {\n var thisOneMatches = array[index] === object;\n var nextOneMatches = array[index + 1] === object;\n if (thisOneMatches && nextOneMatches) {\n array.splice(index + 1, 1);\n }\n }\n}\nfunction removeFromArray(array, object) {\n var index = array.indexOf(object);\n if (index >= 0) {\n array.splice(index, 1);\n }\n}\nfunction removeAllFromArray(array, toRemove) {\n toRemove.forEach(function (item) { return removeFromArray(array, item); });\n}\nfunction insertIntoArray(array, object, toIndex) {\n array.splice(toIndex, 0, object);\n}\nfunction insertArrayIntoArray(dest, src, toIndex) {\n if (dest == null || src == null) {\n return;\n }\n // put items in backwards, otherwise inserted items end up in reverse order\n for (var i = src.length - 1; i >= 0; i--) {\n var item = src[i];\n insertIntoArray(dest, item, toIndex);\n }\n}\nfunction moveInArray(array, objectsToMove, toIndex) {\n // first take out items from the array\n removeAllFromArray(array, objectsToMove);\n // now add the objects, in same order as provided to us, that means we start at the end\n // as the objects will be pushed to the right as they are inserted\n objectsToMove.slice().reverse().forEach(function (obj) { return insertIntoArray(array, obj, toIndex); });\n}\nfunction includes(array, value) {\n return array.indexOf(value) > -1;\n}\nfunction flatten(arrayOfArrays) {\n return [].concat.apply([], arrayOfArrays);\n}\nfunction pushAll(target, source) {\n if (source == null || target == null) {\n return;\n }\n source.forEach(function (value) { return target.push(value); });\n}\nfunction toStrings(array) {\n return array.map(toStringOrNull);\n}\nfunction forEachReverse(list, action) {\n if (list == null) {\n return;\n }\n for (var i = list.length - 1; i >= 0; i--) {\n action(list[i], i);\n }\n}\n\nvar ArrayUtils = /*#__PURE__*/Object.freeze({\n firstExistingValue: firstExistingValue,\n existsAndNotEmpty: existsAndNotEmpty,\n last: last,\n areEqual: areEqual,\n compareArrays: compareArrays,\n shallowCompare: shallowCompare,\n sortNumerically: sortNumerically,\n removeRepeatsFromArray: removeRepeatsFromArray,\n removeFromArray: removeFromArray,\n removeAllFromArray: removeAllFromArray,\n insertIntoArray: insertIntoArray,\n insertArrayIntoArray: insertArrayIntoArray,\n moveInArray: moveInArray,\n includes: includes,\n flatten: flatten,\n pushAll: pushAll,\n toStrings: toStrings,\n forEachReverse: forEachReverse\n});\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar ColumnGroup = /** @class */ (function () {\n function ColumnGroup(providedColumnGroup, groupId, instanceId, pinned) {\n // depends on the open/closed state of the group, only displaying columns are stored here\n this.displayedChildren = [];\n this.localEventService = new EventService();\n this.groupId = groupId;\n this.instanceId = instanceId;\n this.providedColumnGroup = providedColumnGroup;\n this.pinned = pinned;\n }\n // this is static, a it is used outside of this class\n ColumnGroup.createUniqueId = function (groupId, instanceId) {\n return groupId + '_' + instanceId;\n };\n // as the user is adding and removing columns, the groups are recalculated.\n // this reset clears out all children, ready for children to be added again\n ColumnGroup.prototype.reset = function () {\n this.parent = null;\n this.children = null;\n this.displayedChildren = null;\n };\n ColumnGroup.prototype.getParent = function () {\n return this.parent;\n };\n ColumnGroup.prototype.setParent = function (parent) {\n this.parent = parent;\n };\n ColumnGroup.prototype.getUniqueId = function () {\n return ColumnGroup.createUniqueId(this.groupId, this.instanceId);\n };\n ColumnGroup.prototype.isEmptyGroup = function () {\n return this.displayedChildren.length === 0;\n };\n ColumnGroup.prototype.isMoving = function () {\n var allLeafColumns = this.getProvidedColumnGroup().getLeafColumns();\n if (!allLeafColumns || allLeafColumns.length === 0) {\n return false;\n }\n return allLeafColumns.every(function (col) { return col.isMoving(); });\n };\n ColumnGroup.prototype.checkLeft = function () {\n // first get all children to setLeft, as it impacts our decision below\n this.displayedChildren.forEach(function (child) {\n if (child instanceof ColumnGroup) {\n child.checkLeft();\n }\n });\n // set our left based on first displayed column\n if (this.displayedChildren.length > 0) {\n if (this.gridOptionsWrapper.isEnableRtl()) {\n var lastChild = last(this.displayedChildren);\n var lastChildLeft = lastChild.getLeft();\n this.setLeft(lastChildLeft);\n }\n else {\n var firstChildLeft = this.displayedChildren[0].getLeft();\n this.setLeft(firstChildLeft);\n }\n }\n else {\n // this should never happen, as if we have no displayed columns, then\n // this groups should not even exist.\n this.setLeft(null);\n }\n };\n ColumnGroup.prototype.getLeft = function () {\n return this.left;\n };\n ColumnGroup.prototype.getOldLeft = function () {\n return this.oldLeft;\n };\n ColumnGroup.prototype.setLeft = function (left) {\n this.oldLeft = left;\n if (this.left !== left) {\n this.left = left;\n this.localEventService.dispatchEvent(this.createAgEvent(ColumnGroup.EVENT_LEFT_CHANGED));\n }\n };\n ColumnGroup.prototype.getPinned = function () {\n return this.pinned;\n };\n ColumnGroup.prototype.createAgEvent = function (type) {\n return { type: type };\n };\n ColumnGroup.prototype.addEventListener = function (eventType, listener) {\n this.localEventService.addEventListener(eventType, listener);\n };\n ColumnGroup.prototype.removeEventListener = function (eventType, listener) {\n this.localEventService.removeEventListener(eventType, listener);\n };\n ColumnGroup.prototype.getGroupId = function () {\n return this.groupId;\n };\n ColumnGroup.prototype.getInstanceId = function () {\n return this.instanceId;\n };\n ColumnGroup.prototype.isChildInThisGroupDeepSearch = function (wantedChild) {\n var result = false;\n this.children.forEach(function (foundChild) {\n if (wantedChild === foundChild) {\n result = true;\n }\n if (foundChild instanceof ColumnGroup) {\n if (foundChild.isChildInThisGroupDeepSearch(wantedChild)) {\n result = true;\n }\n }\n });\n return result;\n };\n ColumnGroup.prototype.getActualWidth = function () {\n var groupActualWidth = 0;\n if (this.displayedChildren) {\n this.displayedChildren.forEach(function (child) {\n groupActualWidth += child.getActualWidth();\n });\n }\n return groupActualWidth;\n };\n ColumnGroup.prototype.isResizable = function () {\n if (!this.displayedChildren) {\n return false;\n }\n // if at least one child is resizable, then the group is resizable\n var result = false;\n this.displayedChildren.forEach(function (child) {\n if (child.isResizable()) {\n result = true;\n }\n });\n return result;\n };\n ColumnGroup.prototype.getMinWidth = function () {\n var result = 0;\n this.displayedChildren.forEach(function (groupChild) {\n result += groupChild.getMinWidth() || 0;\n });\n return result;\n };\n ColumnGroup.prototype.addChild = function (child) {\n if (!this.children) {\n this.children = [];\n }\n this.children.push(child);\n };\n ColumnGroup.prototype.getDisplayedChildren = function () {\n return this.displayedChildren;\n };\n ColumnGroup.prototype.getLeafColumns = function () {\n var result = [];\n this.addLeafColumns(result);\n return result;\n };\n ColumnGroup.prototype.getDisplayedLeafColumns = function () {\n var result = [];\n this.addDisplayedLeafColumns(result);\n return result;\n };\n // why two methods here doing the same thing?\n ColumnGroup.prototype.getDefinition = function () {\n return this.providedColumnGroup.getColGroupDef();\n };\n ColumnGroup.prototype.getColGroupDef = function () {\n return this.providedColumnGroup.getColGroupDef();\n };\n ColumnGroup.prototype.isPadding = function () {\n return this.providedColumnGroup.isPadding();\n };\n ColumnGroup.prototype.isExpandable = function () {\n return this.providedColumnGroup.isExpandable();\n };\n ColumnGroup.prototype.isExpanded = function () {\n return this.providedColumnGroup.isExpanded();\n };\n ColumnGroup.prototype.setExpanded = function (expanded) {\n this.providedColumnGroup.setExpanded(expanded);\n };\n ColumnGroup.prototype.addDisplayedLeafColumns = function (leafColumns) {\n this.displayedChildren.forEach(function (child) {\n if (child instanceof Column) {\n leafColumns.push(child);\n }\n else if (child instanceof ColumnGroup) {\n child.addDisplayedLeafColumns(leafColumns);\n }\n });\n };\n ColumnGroup.prototype.addLeafColumns = function (leafColumns) {\n this.children.forEach(function (child) {\n if (child instanceof Column) {\n leafColumns.push(child);\n }\n else if (child instanceof ColumnGroup) {\n child.addLeafColumns(leafColumns);\n }\n });\n };\n ColumnGroup.prototype.getChildren = function () {\n return this.children;\n };\n ColumnGroup.prototype.getColumnGroupShow = function () {\n return this.providedColumnGroup.getColumnGroupShow();\n };\n ColumnGroup.prototype.getProvidedColumnGroup = function () {\n return this.providedColumnGroup;\n };\n /** @deprecated getOriginalColumnGroup is deprecated, use getOriginalColumnGroup. */\n ColumnGroup.prototype.getOriginalColumnGroup = function () {\n console.warn('AG Grid: columnGroup.getOriginalColumnGroup() is deprecated due to a method rename, use columnGroup.getProvidedColumnGroup() instead');\n return this.getProvidedColumnGroup();\n };\n ColumnGroup.prototype.getPaddingLevel = function () {\n var parent = this.getParent();\n if (!this.isPadding() || !parent || !parent.isPadding()) {\n return 0;\n }\n return 1 + parent.getPaddingLevel();\n };\n ColumnGroup.prototype.calculateDisplayedColumns = function () {\n var _this = this;\n // clear out last time we calculated\n this.displayedChildren = [];\n // find the column group that is controlling expandable. this is relevant when we have padding (empty)\n // groups, where the expandable is actually the first parent that is not a padding group.\n var parentWithExpansion = this;\n while (parentWithExpansion != null && parentWithExpansion.isPadding()) {\n parentWithExpansion = parentWithExpansion.getParent();\n }\n var isExpandable = parentWithExpansion ? parentWithExpansion.providedColumnGroup.isExpandable() : false;\n // it not expandable, everything is visible\n if (!isExpandable) {\n this.displayedChildren = this.children;\n this.localEventService.dispatchEvent(this.createAgEvent(ColumnGroup.EVENT_DISPLAYED_CHILDREN_CHANGED));\n return;\n }\n // Add cols based on columnGroupShow\n // Note - the below also adds padding groups, these are always added because they never have\n // colDef.columnGroupShow set.\n this.children.forEach(function (child) {\n // never add empty groups\n var emptyGroup = child instanceof ColumnGroup && (!child.displayedChildren || !child.displayedChildren.length);\n if (emptyGroup) {\n return;\n }\n var headerGroupShow = child.getColumnGroupShow();\n switch (headerGroupShow) {\n case ColumnGroup.HEADER_GROUP_SHOW_OPEN:\n // when set to open, only show col if group is open\n if (parentWithExpansion.providedColumnGroup.isExpanded()) {\n _this.displayedChildren.push(child);\n }\n break;\n case ColumnGroup.HEADER_GROUP_SHOW_CLOSED:\n // when set to open, only show col if group is open\n if (!parentWithExpansion.providedColumnGroup.isExpanded()) {\n _this.displayedChildren.push(child);\n }\n break;\n default:\n _this.displayedChildren.push(child);\n break;\n }\n });\n this.localEventService.dispatchEvent(this.createAgEvent(ColumnGroup.EVENT_DISPLAYED_CHILDREN_CHANGED));\n };\n ColumnGroup.HEADER_GROUP_SHOW_OPEN = 'open';\n ColumnGroup.HEADER_GROUP_SHOW_CLOSED = 'closed';\n ColumnGroup.EVENT_LEFT_CHANGED = 'leftChanged';\n ColumnGroup.EVENT_DISPLAYED_CHILDREN_CHANGED = 'displayedChildrenChanged';\n __decorate$2([\n Autowired('gridOptionsWrapper')\n ], ColumnGroup.prototype, \"gridOptionsWrapper\", void 0);\n return ColumnGroup;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar ProvidedColumnGroup = /** @class */ (function () {\n function ProvidedColumnGroup(colGroupDef, groupId, padding, level) {\n this.localEventService = new EventService();\n this.expandable = false;\n this.colGroupDef = colGroupDef;\n this.groupId = groupId;\n this.expanded = !!colGroupDef && !!colGroupDef.openByDefault;\n this.padding = padding;\n this.level = level;\n }\n ProvidedColumnGroup.prototype.setOriginalParent = function (originalParent) {\n this.originalParent = originalParent;\n };\n ProvidedColumnGroup.prototype.getOriginalParent = function () {\n return this.originalParent;\n };\n ProvidedColumnGroup.prototype.getLevel = function () {\n return this.level;\n };\n ProvidedColumnGroup.prototype.isVisible = function () {\n // return true if at least one child is visible\n if (this.children) {\n return this.children.some(function (child) { return child.isVisible(); });\n }\n return false;\n };\n ProvidedColumnGroup.prototype.isPadding = function () {\n return this.padding;\n };\n ProvidedColumnGroup.prototype.setExpanded = function (expanded) {\n this.expanded = expanded === undefined ? false : expanded;\n var event = {\n type: ProvidedColumnGroup.EVENT_EXPANDED_CHANGED\n };\n this.localEventService.dispatchEvent(event);\n };\n ProvidedColumnGroup.prototype.isExpandable = function () {\n return this.expandable;\n };\n ProvidedColumnGroup.prototype.isExpanded = function () {\n return this.expanded;\n };\n ProvidedColumnGroup.prototype.getGroupId = function () {\n return this.groupId;\n };\n ProvidedColumnGroup.prototype.getId = function () {\n return this.getGroupId();\n };\n ProvidedColumnGroup.prototype.setChildren = function (children) {\n this.children = children;\n };\n ProvidedColumnGroup.prototype.getChildren = function () {\n return this.children;\n };\n ProvidedColumnGroup.prototype.getColGroupDef = function () {\n return this.colGroupDef;\n };\n ProvidedColumnGroup.prototype.getLeafColumns = function () {\n var result = [];\n this.addLeafColumns(result);\n return result;\n };\n ProvidedColumnGroup.prototype.addLeafColumns = function (leafColumns) {\n if (!this.children) {\n return;\n }\n this.children.forEach(function (child) {\n if (child instanceof Column) {\n leafColumns.push(child);\n }\n else if (child instanceof ProvidedColumnGroup) {\n child.addLeafColumns(leafColumns);\n }\n });\n };\n ProvidedColumnGroup.prototype.getColumnGroupShow = function () {\n var colGroupDef = this.colGroupDef;\n if (!colGroupDef) {\n return;\n }\n return colGroupDef.columnGroupShow;\n };\n // need to check that this group has at least one col showing when both expanded and contracted.\n // if not, then we don't allow expanding and contracting on this group\n ProvidedColumnGroup.prototype.setupExpandable = function () {\n var _this = this;\n this.setExpandable();\n // note - we should be removing this event listener\n this.getLeafColumns().forEach(function (col) { return col.addEventListener(Column.EVENT_VISIBLE_CHANGED, _this.onColumnVisibilityChanged.bind(_this)); });\n };\n ProvidedColumnGroup.prototype.setExpandable = function () {\n if (this.isPadding()) {\n return;\n }\n // want to make sure the group doesn't disappear when it's open\n var atLeastOneShowingWhenOpen = false;\n // want to make sure the group doesn't disappear when it's closed\n var atLeastOneShowingWhenClosed = false;\n // want to make sure the group has something to show / hide\n var atLeastOneChangeable = false;\n var children = this.findChildrenRemovingPadding();\n for (var i = 0, j = children.length; i < j; i++) {\n var abstractColumn = children[i];\n if (!abstractColumn.isVisible()) {\n continue;\n }\n // if the abstractColumn is a grid generated group, there will be no colDef\n var headerGroupShow = abstractColumn.getColumnGroupShow();\n if (headerGroupShow === ColumnGroup.HEADER_GROUP_SHOW_OPEN) {\n atLeastOneShowingWhenOpen = true;\n atLeastOneChangeable = true;\n }\n else if (headerGroupShow === ColumnGroup.HEADER_GROUP_SHOW_CLOSED) {\n atLeastOneShowingWhenClosed = true;\n atLeastOneChangeable = true;\n }\n else {\n atLeastOneShowingWhenOpen = true;\n atLeastOneShowingWhenClosed = true;\n }\n }\n var expandable = atLeastOneShowingWhenOpen && atLeastOneShowingWhenClosed && atLeastOneChangeable;\n if (this.expandable !== expandable) {\n this.expandable = expandable;\n var event_1 = {\n type: ProvidedColumnGroup.EVENT_EXPANDABLE_CHANGED\n };\n this.localEventService.dispatchEvent(event_1);\n }\n };\n ProvidedColumnGroup.prototype.findChildrenRemovingPadding = function () {\n var res = [];\n var process = function (items) {\n items.forEach(function (item) {\n // if padding, we add this children instead of the padding\n var skipBecausePadding = item instanceof ProvidedColumnGroup && item.isPadding();\n if (skipBecausePadding) {\n process(item.children);\n }\n else {\n res.push(item);\n }\n });\n };\n process(this.children);\n return res;\n };\n ProvidedColumnGroup.prototype.onColumnVisibilityChanged = function () {\n this.setExpandable();\n };\n ProvidedColumnGroup.prototype.addEventListener = function (eventType, listener) {\n this.localEventService.addEventListener(eventType, listener);\n };\n ProvidedColumnGroup.prototype.removeEventListener = function (eventType, listener) {\n this.localEventService.removeEventListener(eventType, listener);\n };\n ProvidedColumnGroup.EVENT_EXPANDED_CHANGED = 'expandedChanged';\n ProvidedColumnGroup.EVENT_EXPANDABLE_CHANGED = 'expandableChanged';\n return ProvidedColumnGroup;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar DefaultColumnTypes = {\n numericColumn: {\n headerClass: 'ag-right-aligned-header',\n cellClass: 'ag-right-aligned-cell'\n },\n rightAligned: {\n headerClass: 'ag-right-aligned-header',\n cellClass: 'ag-right-aligned-cell'\n }\n};\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar AG_GRID_STOP_PROPAGATION = '__ag_Grid_Stop_Propagation';\nvar PASSIVE_EVENTS = ['touchstart', 'touchend', 'touchmove', 'touchcancel'];\nvar supports = {};\n/**\n * a user once raised an issue - they said that when you opened a popup (eg context menu)\n * and then clicked on a selection checkbox, the popup wasn't closed. this is because the\n * popup listens for clicks on the body, however ag-grid WAS stopping propagation on the\n * checkbox clicks (so the rows didn't pick them up as row selection selection clicks).\n * to get around this, we have a pattern to stop propagation for the purposes of AG Grid,\n * but we still let the event pass back to the body.\n * @param {Event} event\n */\nfunction stopPropagationForAgGrid(event) {\n event[AG_GRID_STOP_PROPAGATION] = true;\n}\nfunction isStopPropagationForAgGrid(event) {\n return event[AG_GRID_STOP_PROPAGATION] === true;\n}\nvar isEventSupported = (function () {\n var tags = {\n select: 'input',\n change: 'input',\n submit: 'form',\n reset: 'form',\n error: 'img',\n load: 'img',\n abort: 'img'\n };\n var eventChecker = function (eventName) {\n if (typeof supports[eventName] === 'boolean') {\n return supports[eventName];\n }\n var el = document.createElement(tags[eventName] || 'div');\n eventName = 'on' + eventName;\n return supports[eventName] = (eventName in el);\n };\n return eventChecker;\n})();\nfunction getCtrlForEvent(gridOptionsWrapper, event, type) {\n var sourceElement = event.target;\n while (sourceElement) {\n var renderedComp = gridOptionsWrapper.getDomData(sourceElement, type);\n if (renderedComp) {\n return renderedComp;\n }\n sourceElement = sourceElement.parentElement;\n }\n return null;\n}\n/**\n * @deprecated\n * Adds all type of change listeners to an element, intended to be a text field\n * @param {HTMLElement} element\n * @param {EventListener} listener\n */\nfunction addChangeListener(element, listener) {\n element.addEventListener('changed', listener);\n element.addEventListener('paste', listener);\n element.addEventListener('input', listener);\n}\nfunction isElementInEventPath(element, event) {\n if (!event || !element) {\n return false;\n }\n return getEventPath(event).indexOf(element) >= 0;\n}\nfunction createEventPath(event) {\n var res = [];\n var pointer = event.target;\n while (pointer) {\n res.push(pointer);\n pointer = pointer.parentElement;\n }\n return res;\n}\n/**\n * firefox doesn't have event.path set, or any alternative to it, so we hack\n * it in. this is needed as it's to late to work out the path when the item is\n * removed from the dom. used by MouseEventService, where it works out if a click\n * was from the current grid, or a detail grid (master / detail).\n * @param {Event} event\n */\nfunction addAgGridEventPath(event) {\n event.__agGridEventPath = getEventPath(event);\n}\n/**\n * Gets the path for an Event.\n * https://stackoverflow.com/questions/39245488/event-path-undefined-with-firefox-and-vue-js\n * https://developer.mozilla.org/en-US/docs/Web/API/Event\n * @param {Event} event\n * @returns {EventTarget[]}\n */\nfunction getEventPath(event) {\n var eventNoType = event;\n if (eventNoType.path) {\n // Chrome supports path\n return eventNoType.path;\n }\n if (eventNoType.composedPath) {\n // Firefox supports composePath\n return eventNoType.composedPath();\n }\n if (eventNoType.__agGridEventPath) {\n // Firefox supports composePath\n return eventNoType.__agGridEventPath;\n }\n // and finally, if none of the above worked,\n // we create the path ourselves\n return createEventPath(event);\n}\nfunction addSafePassiveEventListener(frameworkOverrides, eElement, event, listener) {\n var isPassive = includes(PASSIVE_EVENTS, event);\n var options = isPassive ? { passive: true } : undefined;\n // this check is here for certain scenarios where I believe the user must be destroying\n // the grid somehow but continuing for it to be used\n if (frameworkOverrides && frameworkOverrides.addEventListener) {\n frameworkOverrides.addEventListener(eElement, event, listener, options);\n }\n}\n\nvar EventUtils = /*#__PURE__*/Object.freeze({\n stopPropagationForAgGrid: stopPropagationForAgGrid,\n isStopPropagationForAgGrid: isStopPropagationForAgGrid,\n isEventSupported: isEventSupported,\n getCtrlForEvent: getCtrlForEvent,\n addChangeListener: addChangeListener,\n isElementInEventPath: isElementInEventPath,\n createEventPath: createEventPath,\n addAgGridEventPath: addAgGridEventPath,\n getEventPath: getEventPath,\n addSafePassiveEventListener: addSafePassiveEventListener\n});\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __decorate$3 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar BeanStub = /** @class */ (function () {\n function BeanStub() {\n var _this = this;\n this.destroyFunctions = [];\n this.destroyed = false;\n // for vue 3 - prevents Vue from trying to make this (and obviously any sub classes) from being reactive\n // prevents vue from creating proxies for created objects and prevents identity related issues\n this.__v_skip = true;\n this.isAlive = function () { return !_this.destroyed; };\n }\n // this was a test constructor niall built, when active, it prints after 5 seconds all beans/components that are\n // not destroyed. to use, create a new grid, then api.destroy() before 5 seconds. then anything that gets printed\n // points to a bean or component that was not properly disposed of.\n // constructor() {\n // setTimeout(()=> {\n // if (this.isAlive()) {\n // let prototype: any = Object.getPrototypeOf(this);\n // const constructor: any = prototype.constructor;\n // const constructorString = constructor.toString();\n // const beanName = constructorString.substring(9, constructorString.indexOf(\"(\"));\n // console.log('is alive ' + beanName);\n // }\n // }, 5000);\n // }\n // CellComp and GridComp and override this because they get the FrameworkOverrides from the Beans bean\n BeanStub.prototype.getFrameworkOverrides = function () {\n return this.frameworkOverrides;\n };\n BeanStub.prototype.getContext = function () {\n return this.context;\n };\n BeanStub.prototype.destroy = function () {\n // let prototype: any = Object.getPrototypeOf(this);\n // const constructor: any = prototype.constructor;\n // const constructorString = constructor.toString();\n // const beanName = constructorString.substring(9, constructorString.indexOf(\"(\"));\n this.destroyFunctions.forEach(function (func) { return func(); });\n this.destroyFunctions.length = 0;\n this.destroyed = true;\n this.dispatchEvent({ type: BeanStub.EVENT_DESTROYED });\n };\n BeanStub.prototype.addEventListener = function (eventType, listener) {\n if (!this.localEventService) {\n this.localEventService = new EventService();\n }\n this.localEventService.addEventListener(eventType, listener);\n };\n BeanStub.prototype.removeEventListener = function (eventType, listener) {\n if (this.localEventService) {\n this.localEventService.removeEventListener(eventType, listener);\n }\n };\n BeanStub.prototype.dispatchEventAsync = function (event) {\n var _this = this;\n window.setTimeout(function () { return _this.dispatchEvent(event); }, 0);\n };\n BeanStub.prototype.dispatchEvent = function (event) {\n if (this.localEventService) {\n this.localEventService.dispatchEvent(event);\n }\n };\n BeanStub.prototype.addManagedListener = function (object, event, listener) {\n var _this = this;\n if (this.destroyed) {\n return;\n }\n if (object instanceof HTMLElement) {\n addSafePassiveEventListener(this.getFrameworkOverrides(), object, event, listener);\n }\n else {\n object.addEventListener(event, listener);\n }\n var destroyFunc = function () {\n object.removeEventListener(event, listener);\n _this.destroyFunctions = _this.destroyFunctions.filter(function (fn) { return fn !== destroyFunc; });\n return null;\n };\n this.destroyFunctions.push(destroyFunc);\n return destroyFunc;\n };\n BeanStub.prototype.addDestroyFunc = function (func) {\n // if we are already destroyed, we execute the func now\n if (this.isAlive()) {\n this.destroyFunctions.push(func);\n }\n else {\n func();\n }\n };\n BeanStub.prototype.createManagedBean = function (bean, context) {\n var res = this.createBean(bean, context);\n this.addDestroyFunc(this.destroyBean.bind(this, bean, context));\n return res;\n };\n BeanStub.prototype.createBean = function (bean, context, afterPreCreateCallback) {\n return (context || this.getContext()).createBean(bean, afterPreCreateCallback);\n };\n BeanStub.prototype.destroyBean = function (bean, context) {\n return (context || this.getContext()).destroyBean(bean);\n };\n BeanStub.prototype.destroyBeans = function (beans, context) {\n var _this = this;\n if (beans) {\n beans.forEach(function (bean) { return _this.destroyBean(bean, context); });\n }\n return [];\n };\n BeanStub.EVENT_DESTROYED = 'destroyed';\n __decorate$3([\n Autowired('frameworkOverrides')\n ], BeanStub.prototype, \"frameworkOverrides\", void 0);\n __decorate$3([\n Autowired('context')\n ], BeanStub.prototype, \"context\", void 0);\n __decorate$3([\n Autowired('eventService')\n ], BeanStub.prototype, \"eventService\", void 0);\n __decorate$3([\n Autowired('gridOptionsWrapper')\n ], BeanStub.prototype, \"gridOptionsWrapper\", void 0);\n __decorate$3([\n PreDestroy\n ], BeanStub.prototype, \"destroy\", null);\n return BeanStub;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$4 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __param$1 = (undefined && undefined.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\n// takes ColDefs and ColGroupDefs and turns them into Columns and OriginalGroups\nvar ColumnFactory = /** @class */ (function (_super) {\n __extends(ColumnFactory, _super);\n function ColumnFactory() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ColumnFactory.prototype.setBeans = function (loggerFactory) {\n this.logger = loggerFactory.create('ColumnFactory');\n };\n ColumnFactory.prototype.createColumnTree = function (defs, primaryColumns, existingTree) {\n // column key creator dishes out unique column id's in a deterministic way,\n // so if we have two grids (that could be master/slave) with same column definitions,\n // then this ensures the two grids use identical id's.\n var columnKeyCreator = new ColumnKeyCreator();\n var _a = this.extractExistingTreeData(existingTree), existingCols = _a.existingCols, existingGroups = _a.existingGroups, existingColKeys = _a.existingColKeys;\n columnKeyCreator.addExistingKeys(existingColKeys);\n // create am unbalanced tree that maps the provided definitions\n var unbalancedTree = this.recursivelyCreateColumns(defs, 0, primaryColumns, existingCols, columnKeyCreator, existingGroups);\n var treeDept = this.findMaxDept(unbalancedTree, 0);\n this.logger.log('Number of levels for grouped columns is ' + treeDept);\n var columnTree = this.balanceColumnTree(unbalancedTree, 0, treeDept, columnKeyCreator);\n var deptFirstCallback = function (child, parent) {\n if (child instanceof ProvidedColumnGroup) {\n child.setupExpandable();\n }\n // we set the original parents at the end, rather than when we go along, as balancing the tree\n // adds extra levels into the tree. so we can only set parents when balancing is done.\n child.setOriginalParent(parent);\n };\n this.columnUtils.depthFirstOriginalTreeSearch(null, columnTree, deptFirstCallback);\n return {\n columnTree: columnTree,\n treeDept: treeDept\n };\n };\n ColumnFactory.prototype.extractExistingTreeData = function (existingTree) {\n var existingCols = [];\n var existingGroups = [];\n var existingColKeys = [];\n if (existingTree) {\n this.columnUtils.depthFirstOriginalTreeSearch(null, existingTree, function (item) {\n if (item instanceof ProvidedColumnGroup) {\n var group = item;\n existingGroups.push(group);\n }\n else {\n var col = item;\n existingColKeys.push(col.getId());\n existingCols.push(col);\n }\n });\n }\n return { existingCols: existingCols, existingGroups: existingGroups, existingColKeys: existingColKeys };\n };\n ColumnFactory.prototype.createForAutoGroups = function (autoGroupCols, gridBalancedTree) {\n var _this = this;\n return autoGroupCols.map(function (col) { return _this.createAutoGroupTreeItem(gridBalancedTree, col); });\n };\n ColumnFactory.prototype.createAutoGroupTreeItem = function (balancedColumnTree, column) {\n var dept = this.findDepth(balancedColumnTree);\n // at the end, this will be the top of the tree item.\n var nextChild = column;\n for (var i = dept - 1; i >= 0; i--) {\n var autoGroup = new ProvidedColumnGroup(null, \"FAKE_PATH_\" + column.getId() + \"}_\" + i, true, i);\n this.context.createBean(autoGroup);\n autoGroup.setChildren([nextChild]);\n nextChild.setOriginalParent(autoGroup);\n nextChild = autoGroup;\n }\n // at this point, the nextChild is the top most item in the tree\n return nextChild;\n };\n ColumnFactory.prototype.findDepth = function (balancedColumnTree) {\n var dept = 0;\n var pointer = balancedColumnTree;\n while (pointer && pointer[0] && pointer[0] instanceof ProvidedColumnGroup) {\n dept++;\n pointer = pointer[0].getChildren();\n }\n return dept;\n };\n ColumnFactory.prototype.balanceColumnTree = function (unbalancedTree, currentDept, columnDept, columnKeyCreator) {\n var result = [];\n // go through each child, for groups, recurse a level deeper,\n // for columns we need to pad\n for (var i = 0; i < unbalancedTree.length; i++) {\n var child = unbalancedTree[i];\n if (child instanceof ProvidedColumnGroup) {\n // child is a group, all we do is go to the next level of recursion\n var originalGroup = child;\n var newChildren = this.balanceColumnTree(originalGroup.getChildren(), currentDept + 1, columnDept, columnKeyCreator);\n originalGroup.setChildren(newChildren);\n result.push(originalGroup);\n }\n else {\n // child is a column - so here we add in the padded column groups if needed\n var firstPaddedGroup = void 0;\n var currentPaddedGroup = void 0;\n // this for loop will NOT run any loops if no padded column groups are needed\n for (var j = columnDept - 1; j >= currentDept; j--) {\n var newColId = columnKeyCreator.getUniqueKey(null, null);\n var colGroupDefMerged = this.createMergedColGroupDef(null);\n var paddedGroup = new ProvidedColumnGroup(colGroupDefMerged, newColId, true, currentDept);\n this.context.createBean(paddedGroup);\n if (currentPaddedGroup) {\n currentPaddedGroup.setChildren([paddedGroup]);\n }\n currentPaddedGroup = paddedGroup;\n if (!firstPaddedGroup) {\n firstPaddedGroup = currentPaddedGroup;\n }\n }\n // likewise this if statement will not run if no padded groups\n if (firstPaddedGroup && currentPaddedGroup) {\n result.push(firstPaddedGroup);\n var hasGroups = unbalancedTree.some(function (leaf) { return leaf instanceof ProvidedColumnGroup; });\n if (hasGroups) {\n currentPaddedGroup.setChildren([child]);\n continue;\n }\n else {\n currentPaddedGroup.setChildren(unbalancedTree);\n break;\n }\n }\n result.push(child);\n }\n }\n return result;\n };\n ColumnFactory.prototype.findMaxDept = function (treeChildren, dept) {\n var maxDeptThisLevel = dept;\n for (var i = 0; i < treeChildren.length; i++) {\n var abstractColumn = treeChildren[i];\n if (abstractColumn instanceof ProvidedColumnGroup) {\n var originalGroup = abstractColumn;\n var newDept = this.findMaxDept(originalGroup.getChildren(), dept + 1);\n if (maxDeptThisLevel < newDept) {\n maxDeptThisLevel = newDept;\n }\n }\n }\n return maxDeptThisLevel;\n };\n ColumnFactory.prototype.recursivelyCreateColumns = function (defs, level, primaryColumns, existingColsCopy, columnKeyCreator, existingGroups) {\n var _this = this;\n return (defs || []).map(function (def) {\n if (_this.isColumnGroup(def)) {\n return _this.createColumnGroup(primaryColumns, def, level, existingColsCopy, columnKeyCreator, existingGroups);\n }\n else {\n return _this.createColumn(primaryColumns, def, existingColsCopy, columnKeyCreator);\n }\n });\n };\n ColumnFactory.prototype.createColumnGroup = function (primaryColumns, colGroupDef, level, existingColumns, columnKeyCreator, existingGroups) {\n var colGroupDefMerged = this.createMergedColGroupDef(colGroupDef);\n var groupId = columnKeyCreator.getUniqueKey(colGroupDefMerged.groupId || null, null);\n var providedGroup = new ProvidedColumnGroup(colGroupDefMerged, groupId, false, level);\n this.context.createBean(providedGroup);\n var existingGroup = this.findExistingGroup(colGroupDef, existingGroups);\n // make sure we remove, so if user provided duplicate id, then we don't have more than\n // one column instance for colDef with common id\n if (existingGroup) {\n removeFromArray(existingGroups, existingGroup);\n }\n if (existingGroup && existingGroup.isExpanded()) {\n providedGroup.setExpanded(true);\n }\n var children = this.recursivelyCreateColumns(colGroupDefMerged.children, level + 1, primaryColumns, existingColumns, columnKeyCreator, existingGroups);\n providedGroup.setChildren(children);\n return providedGroup;\n };\n ColumnFactory.prototype.createMergedColGroupDef = function (colGroupDef) {\n var colGroupDefMerged = {};\n Object.assign(colGroupDefMerged, this.gridOptionsWrapper.getDefaultColGroupDef());\n Object.assign(colGroupDefMerged, colGroupDef);\n this.checkForDeprecatedItems(colGroupDefMerged);\n return colGroupDefMerged;\n };\n ColumnFactory.prototype.createColumn = function (primaryColumns, colDef, existingColsCopy, columnKeyCreator) {\n var colDefMerged = this.mergeColDefs(colDef);\n this.checkForDeprecatedItems(colDefMerged);\n // see if column already exists\n var column = this.findExistingColumn(colDef, existingColsCopy);\n // make sure we remove, so if user provided duplicate id, then we don't have more than\n // one column instance for colDef with common id\n if (existingColsCopy && column) {\n removeFromArray(existingColsCopy, column);\n }\n if (!column) {\n // no existing column, need to create one\n var colId = columnKeyCreator.getUniqueKey(colDefMerged.colId, colDefMerged.field);\n column = new Column(colDefMerged, colDef, colId, primaryColumns);\n this.context.createBean(column);\n }\n else {\n column.setColDef(colDefMerged, colDef);\n this.applyColumnState(column, colDefMerged);\n }\n return column;\n };\n ColumnFactory.prototype.applyColumnState = function (column, colDef) {\n // flex\n var flex = attrToNumber(colDef.flex);\n if (flex !== undefined) {\n column.setFlex(flex);\n }\n // width - we only set width if column is not flexing\n var noFlexThisCol = column.getFlex() <= 0;\n if (noFlexThisCol) {\n // both null and undefined means we skip, as it's not possible to 'clear' width (a column must have a width)\n var width = attrToNumber(colDef.width);\n if (width != null) {\n column.setActualWidth(width);\n }\n else {\n // otherwise set the width again, in case min or max width has changed,\n // and width needs to be adjusted.\n var widthBeforeUpdate = column.getActualWidth();\n column.setActualWidth(widthBeforeUpdate);\n }\n }\n // sort - anything but undefined will set sort, thus null or empty string will clear the sort\n if (colDef.sort !== undefined) {\n if (colDef.sort == Constants.SORT_ASC || colDef.sort == Constants.SORT_DESC) {\n column.setSort(colDef.sort);\n }\n else {\n column.setSort(undefined);\n }\n }\n // sorted at - anything but undefined, thus null will clear the sortIndex\n var sortIndex = attrToNumber(colDef.sortIndex);\n if (sortIndex !== undefined) {\n column.setSortIndex(sortIndex);\n }\n // hide - anything but undefined, thus null will clear the hide\n var hide = attrToBoolean(colDef.hide);\n if (hide !== undefined) {\n column.setVisible(!hide);\n }\n // pinned - anything but undefined, thus null or empty string will remove pinned\n if (colDef.pinned !== undefined) {\n column.setPinned(colDef.pinned);\n }\n };\n ColumnFactory.prototype.findExistingColumn = function (newColDef, existingColsCopy) {\n return (existingColsCopy || []).find(function (existingCol) {\n var existingColDef = existingCol.getUserProvidedColDef();\n if (!existingColDef) {\n return false;\n }\n var newHasId = newColDef.colId != null;\n var newHasField = newColDef.field != null;\n if (newHasId) {\n return existingCol.getId() === newColDef.colId;\n }\n if (newHasField) {\n return existingColDef.field === newColDef.field;\n }\n // if no id or field present, then try object equivalence.\n if (existingColDef === newColDef) {\n return true;\n }\n return false;\n });\n };\n ColumnFactory.prototype.findExistingGroup = function (newGroupDef, existingGroups) {\n return existingGroups.find(function (existingGroup) {\n var existingDef = existingGroup.getColGroupDef();\n if (!existingDef) {\n return false;\n }\n var newHasId = newGroupDef.groupId != null;\n if (newHasId) {\n return existingGroup.getId() === newGroupDef.groupId;\n }\n return false;\n });\n };\n ColumnFactory.prototype.mergeColDefs = function (colDef) {\n // start with empty merged definition\n var colDefMerged = {};\n // merge properties from default column definitions\n var defaultColDef = this.gridOptionsWrapper.getDefaultColDef();\n mergeDeep(colDefMerged, defaultColDef, false, true);\n // merge properties from column type properties\n var columnType = colDef.type;\n if (!columnType) {\n columnType = defaultColDef && defaultColDef.type;\n }\n // if type of both colDef and defaultColDef, then colDef gets preference\n if (columnType) {\n this.assignColumnTypes(columnType, colDefMerged);\n }\n // merge properties from column definitions\n mergeDeep(colDefMerged, colDef, false, true);\n return colDefMerged;\n };\n ColumnFactory.prototype.assignColumnTypes = function (type, colDefMerged) {\n var typeKeys = [];\n if (type instanceof Array) {\n var invalidArray = type.some(function (a) { return typeof a !== 'string'; });\n if (invalidArray) {\n console.warn(\"AG Grid: if colDef.type is supplied an array it should be of type 'string[]'\");\n }\n else {\n typeKeys = type;\n }\n }\n else if (typeof type === 'string') {\n typeKeys = type.split(',');\n }\n else {\n console.warn(\"AG Grid: colDef.type should be of type 'string' | 'string[]'\");\n return;\n }\n // merge user defined with default column types\n var allColumnTypes = Object.assign({}, DefaultColumnTypes);\n var userTypes = this.gridOptionsWrapper.getColumnTypes() || {};\n iterateObject(userTypes, function (key, value) {\n if (key in allColumnTypes) {\n console.warn(\"AG Grid: the column type '\" + key + \"' is a default column type and cannot be overridden.\");\n }\n else {\n allColumnTypes[key] = value;\n }\n });\n typeKeys.forEach(function (t) {\n var typeColDef = allColumnTypes[t.trim()];\n if (typeColDef) {\n mergeDeep(colDefMerged, typeColDef, false, true);\n }\n else {\n console.warn(\"AG Grid: colDef.type '\" + t + \"' does not correspond to defined gridOptions.columnTypes\");\n }\n });\n };\n ColumnFactory.prototype.checkForDeprecatedItems = function (colDef) {\n if (colDef) {\n var colDefNoType = colDef; // take out the type, so we can access attributes not defined in the type\n if (colDefNoType.group !== undefined) {\n console.warn('AG Grid: colDef.group is invalid, please check documentation on how to do grouping as it changed in version 3');\n }\n if (colDefNoType.headerGroup !== undefined) {\n console.warn('AG Grid: colDef.headerGroup is invalid, please check documentation on how to do grouping as it changed in version 3');\n }\n if (colDefNoType.headerGroupShow !== undefined) {\n console.warn('AG Grid: colDef.headerGroupShow is invalid, should be columnGroupShow, please check documentation on how to do grouping as it changed in version 3');\n }\n if (colDefNoType.suppressRowGroup !== undefined) {\n console.warn('AG Grid: colDef.suppressRowGroup is deprecated, please use colDef.type instead');\n }\n if (colDefNoType.suppressAggregation !== undefined) {\n console.warn('AG Grid: colDef.suppressAggregation is deprecated, please use colDef.type instead');\n }\n if (colDefNoType.suppressRowGroup || colDefNoType.suppressAggregation) {\n console.warn('AG Grid: colDef.suppressAggregation and colDef.suppressRowGroup are deprecated, use allowRowGroup, allowPivot and allowValue instead');\n }\n if (colDefNoType.displayName) {\n console.warn(\"AG Grid: Found displayName \" + colDefNoType.displayName + \", please use headerName instead, displayName is deprecated.\");\n colDefNoType.headerName = colDefNoType.displayName;\n }\n }\n };\n // if object has children, we assume it's a group\n ColumnFactory.prototype.isColumnGroup = function (abstractColDef) {\n return abstractColDef.children !== undefined;\n };\n __decorate$4([\n Autowired('columnUtils')\n ], ColumnFactory.prototype, \"columnUtils\", void 0);\n __decorate$4([\n __param$1(0, Qualifier('loggerFactory'))\n ], ColumnFactory.prototype, \"setBeans\", null);\n ColumnFactory = __decorate$4([\n Bean('columnFactory')\n ], ColumnFactory);\n return ColumnFactory;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar Events = /** @class */ (function () {\n function Events() {\n }\n /** Everything has changed with the columns. Either complete new set of columns set, or user called setState() */\n /** @deprecated - grid no longer uses this, and setSate() also fires individual events */\n Events.EVENT_COLUMN_EVERYTHING_CHANGED = 'columnEverythingChanged';\n /** User has set in new columns. */\n Events.EVENT_NEW_COLUMNS_LOADED = 'newColumnsLoaded';\n /** The pivot mode flag was changed */\n Events.EVENT_COLUMN_PIVOT_MODE_CHANGED = 'columnPivotModeChanged';\n /** A row group column was added, removed or order changed. */\n Events.EVENT_COLUMN_ROW_GROUP_CHANGED = 'columnRowGroupChanged';\n /** expandAll / collapseAll was called from the api. */\n Events.EVENT_EXPAND_COLLAPSE_ALL = 'expandOrCollapseAll';\n /** A pivot column was added, removed or order changed. */\n Events.EVENT_COLUMN_PIVOT_CHANGED = 'columnPivotChanged';\n /** The list of grid columns has changed. */\n Events.EVENT_GRID_COLUMNS_CHANGED = 'gridColumnsChanged';\n /** A value column was added, removed or agg function was changed. */\n Events.EVENT_COLUMN_VALUE_CHANGED = 'columnValueChanged';\n /** A column was moved */\n Events.EVENT_COLUMN_MOVED = 'columnMoved';\n /** One or more columns was shown / hidden */\n Events.EVENT_COLUMN_VISIBLE = 'columnVisible';\n /** One or more columns was pinned / unpinned*/\n Events.EVENT_COLUMN_PINNED = 'columnPinned';\n /** A column group was opened / closed */\n Events.EVENT_COLUMN_GROUP_OPENED = 'columnGroupOpened';\n /** One or more columns was resized. If just one, the column in the event is set. */\n Events.EVENT_COLUMN_RESIZED = 'columnResized';\n /** The list of displayed columns has changed, can result from columns open / close, column move, pivot, group, etc */\n Events.EVENT_DISPLAYED_COLUMNS_CHANGED = 'displayedColumnsChanged';\n /** The list of virtual columns has changed, results from viewport changing */\n Events.EVENT_VIRTUAL_COLUMNS_CHANGED = 'virtualColumnsChanged';\n /** Async Transactions Executed */\n Events.EVENT_ASYNC_TRANSACTIONS_FLUSHED = 'asyncTransactionsFlushed';\n /** A row group was opened / closed */\n Events.EVENT_ROW_GROUP_OPENED = 'rowGroupOpened';\n /** The client has set new data into the grid */\n Events.EVENT_ROW_DATA_CHANGED = 'rowDataChanged';\n /** The client has updated data for the grid */\n Events.EVENT_ROW_DATA_UPDATED = 'rowDataUpdated';\n /** The client has set new floating data into the grid */\n Events.EVENT_PINNED_ROW_DATA_CHANGED = 'pinnedRowDataChanged';\n /** Range selection has changed */\n Events.EVENT_RANGE_SELECTION_CHANGED = 'rangeSelectionChanged';\n /** Chart was created */\n Events.EVENT_CHART_CREATED = 'chartCreated';\n /** Chart Range selection has changed */\n Events.EVENT_CHART_RANGE_SELECTION_CHANGED = 'chartRangeSelectionChanged';\n /** Chart Options have changed */\n Events.EVENT_CHART_OPTIONS_CHANGED = 'chartOptionsChanged';\n /** Chart was destroyed */\n Events.EVENT_CHART_DESTROYED = 'chartDestroyed';\n /** For when the tool panel is shown / hidden */\n Events.EVENT_TOOL_PANEL_VISIBLE_CHANGED = 'toolPanelVisibleChanged';\n Events.EVENT_COLUMN_PANEL_ITEM_DRAG_START = 'columnPanelItemDragStart';\n Events.EVENT_COLUMN_PANEL_ITEM_DRAG_END = 'columnPanelItemDragEnd';\n /** Model was updated - grid updates the drawn rows when this happens */\n Events.EVENT_MODEL_UPDATED = 'modelUpdated';\n Events.EVENT_PASTE_START = 'pasteStart';\n Events.EVENT_PASTE_END = 'pasteEnd';\n Events.EVENT_FILL_START = 'fillStart';\n Events.EVENT_FILL_END = 'fillEnd';\n Events.EVENT_CELL_CLICKED = 'cellClicked';\n Events.EVENT_CELL_DOUBLE_CLICKED = 'cellDoubleClicked';\n Events.EVENT_CELL_MOUSE_DOWN = 'cellMouseDown';\n Events.EVENT_CELL_CONTEXT_MENU = 'cellContextMenu';\n Events.EVENT_CELL_VALUE_CHANGED = 'cellValueChanged';\n Events.EVENT_CELL_EDIT_REQUEST = 'cellEditRequest';\n Events.EVENT_ROW_VALUE_CHANGED = 'rowValueChanged';\n Events.EVENT_CELL_FOCUSED = 'cellFocused';\n Events.EVENT_FULL_WIDTH_ROW_FOCUSED = 'fullWidthRowFocused';\n Events.EVENT_ROW_SELECTED = 'rowSelected';\n Events.EVENT_SELECTION_CHANGED = 'selectionChanged';\n Events.EVENT_CELL_KEY_DOWN = 'cellKeyDown';\n Events.EVENT_CELL_KEY_PRESS = 'cellKeyPress';\n Events.EVENT_CELL_MOUSE_OVER = 'cellMouseOver';\n Events.EVENT_CELL_MOUSE_OUT = 'cellMouseOut';\n /** 2 events for filtering. The grid LISTENS for filterChanged and afterFilterChanged */\n Events.EVENT_FILTER_CHANGED = 'filterChanged';\n /** Filter was change but not applied. Only useful if apply buttons are used in filters. */\n Events.EVENT_FILTER_MODIFIED = 'filterModified';\n Events.EVENT_FILTER_OPENED = 'filterOpened';\n Events.EVENT_SORT_CHANGED = 'sortChanged';\n /** A row was removed from the dom, for any reason. Use to clean up resources (if any) used by the row. */\n Events.EVENT_VIRTUAL_ROW_REMOVED = 'virtualRowRemoved';\n Events.EVENT_ROW_CLICKED = 'rowClicked';\n Events.EVENT_ROW_DOUBLE_CLICKED = 'rowDoubleClicked';\n /** Gets called once after the grid has finished initialising. */\n Events.EVENT_GRID_READY = 'gridReady';\n /** Width of height of the main grid div has changed. Grid listens for this and does layout of grid if it's\n * changed, so always filling the space it was given. */\n Events.EVENT_GRID_SIZE_CHANGED = 'gridSizeChanged';\n /** The indexes of the rows rendered has changed, eg user has scrolled to a new vertical position. */\n Events.EVENT_VIEWPORT_CHANGED = 'viewportChanged';\n /* The width of the scrollbar has been calculated */\n Events.EVENT_SCROLLBAR_WIDTH_CHANGED = 'scrollbarWidthChanged';\n /** Rows were rendered for the first time (ie on async data load). */\n Events.EVENT_FIRST_DATA_RENDERED = 'firstDataRendered';\n /** A column drag has started, either resizing a column or moving a column. */\n Events.EVENT_DRAG_STARTED = 'dragStarted';\n /** A column drag has stopped */\n Events.EVENT_DRAG_STOPPED = 'dragStopped';\n Events.EVENT_CHECKBOX_CHANGED = 'checkboxChanged';\n Events.EVENT_ROW_EDITING_STARTED = 'rowEditingStarted';\n Events.EVENT_ROW_EDITING_STOPPED = 'rowEditingStopped';\n Events.EVENT_CELL_EDITING_STARTED = 'cellEditingStarted';\n Events.EVENT_CELL_EDITING_STOPPED = 'cellEditingStopped';\n /** Main body of grid has scrolled, either horizontally or vertically */\n Events.EVENT_BODY_SCROLL = 'bodyScroll';\n /** Main body of the grid has stopped scrolling, either horizontally or vertically */\n Events.EVENT_BODY_SCROLL_END = 'bodyScrollEnd';\n Events.EVENT_HEIGHT_SCALE_CHANGED = 'heightScaleChanged';\n /** The displayed page for pagination has changed. For example the data was filtered or sorted,\n * or the user has moved to a different page. */\n Events.EVENT_PAGINATION_CHANGED = 'paginationChanged';\n /** Only used by React, Angular, Web Components and VueJS AG Grid components\n * (not used if doing plain JavaScript). If the grid receives changes due\n * to bound properties, this event fires after the grid has finished processing the change. */\n Events.EVENT_COMPONENT_STATE_CHANGED = 'componentStateChanged';\n /***************************** INTERNAL EVENTS: START ******************************************* */\n /** Please remember to add to ComponentUtil.EXCLUDED_INTERNAL_EVENTS to not have these events exposed to framework components. */\n /** All items from here down are used internally by the grid, not intended for external use. */\n // not documented, either experimental, or we just don't want users using an depending on them\n Events.EVENT_BODY_HEIGHT_CHANGED = 'bodyHeightChanged';\n Events.EVENT_DISPLAYED_COLUMNS_WIDTH_CHANGED = 'displayedColumnsWidthChanged';\n Events.EVENT_SCROLL_VISIBILITY_CHANGED = 'scrollVisibilityChanged';\n Events.EVENT_COLUMN_HOVER_CHANGED = 'columnHoverChanged';\n Events.EVENT_FLASH_CELLS = 'flashCells';\n Events.EVENT_PAGINATION_PIXEL_OFFSET_CHANGED = 'paginationPixelOffsetChanged';\n Events.EVENT_DISPLAYED_ROWS_CHANGED = 'displayedRowsChanged';\n Events.EVENT_LEFT_PINNED_WIDTH_CHANGED = 'leftPinnedWidthChanged';\n Events.EVENT_RIGHT_PINNED_WIDTH_CHANGED = 'rightPinnedWidthChanged';\n Events.EVENT_ROW_CONTAINER_HEIGHT_CHANGED = 'rowContainerHeightChanged';\n Events.EVENT_ROW_DRAG_ENTER = 'rowDragEnter';\n Events.EVENT_ROW_DRAG_MOVE = 'rowDragMove';\n Events.EVENT_ROW_DRAG_LEAVE = 'rowDragLeave';\n Events.EVENT_ROW_DRAG_END = 'rowDragEnd';\n // primarily for charts\n Events.EVENT_POPUP_TO_FRONT = 'popupToFront';\n // these are used for server side group and agg - only used by CS with Viewport Row Model - intention is\n // to design these better around server side functions and then release to general public when fully working with\n // all the row models.\n Events.EVENT_COLUMN_ROW_GROUP_CHANGE_REQUEST = 'columnRowGroupChangeRequest';\n Events.EVENT_COLUMN_PIVOT_CHANGE_REQUEST = 'columnPivotChangeRequest';\n Events.EVENT_COLUMN_VALUE_CHANGE_REQUEST = 'columnValueChangeRequest';\n Events.EVENT_COLUMN_AGG_FUNC_CHANGE_REQUEST = 'columnAggFuncChangeRequest';\n Events.EVENT_KEYBOARD_FOCUS = 'keyboardFocus';\n Events.EVENT_MOUSE_FOCUS = 'mouseFocus';\n Events.EVENT_STORE_UPDATED = 'storeUpdated';\n return Events;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\n// class returns unique instance id's for columns.\n// eg, the following calls (in this order) will result in:\n//\n// getInstanceIdForKey('country') => 0\n// getInstanceIdForKey('country') => 1\n// getInstanceIdForKey('country') => 2\n// getInstanceIdForKey('country') => 3\n// getInstanceIdForKey('age') => 0\n// getInstanceIdForKey('age') => 1\n// getInstanceIdForKey('country') => 4\nvar GroupInstanceIdCreator = /** @class */ (function () {\n function GroupInstanceIdCreator() {\n // this map contains keys to numbers, so we remember what the last call was\n this.existingIds = {};\n }\n GroupInstanceIdCreator.prototype.getInstanceIdForKey = function (key) {\n var lastResult = this.existingIds[key];\n var result;\n if (typeof lastResult !== 'number') {\n // first time this key\n result = 0;\n }\n else {\n result = lastResult + 1;\n }\n this.existingIds[key] = result;\n return result;\n };\n return GroupInstanceIdCreator;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar reUnescapedHtml = /[&<>\"']/g;\n/**\n * HTML Escapes.\n */\nvar HTML_ESCAPES = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n};\n/**\n * It encodes any string in UTF-8 format\n * taken from https://github.com/mathiasbynens/utf8.js\n * @param {string} s\n * @returns {string}\n */\nfunction utf8_encode(s) {\n var stringFromCharCode = String.fromCharCode;\n function ucs2decode(string) {\n var output = [];\n if (!string) {\n return [];\n }\n var len = string.length;\n var counter = 0;\n var value;\n var extra;\n while (counter < len) {\n value = string.charCodeAt(counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < len) {\n // high surrogate, and there is a next character\n extra = string.charCodeAt(counter++);\n if ((extra & 0xFC00) == 0xDC00) { // low surrogate\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n }\n else {\n // unmatched surrogate; only append this code unit, in case the next\n // code unit is the high surrogate of a surrogate pair\n output.push(value);\n counter--;\n }\n }\n else {\n output.push(value);\n }\n }\n return output;\n }\n function checkScalarValue(point) {\n if (point >= 0xD800 && point <= 0xDFFF) {\n throw Error('Lone surrogate U+' + point.toString(16).toUpperCase() +\n ' is not a scalar value');\n }\n }\n function createByte(point, shift) {\n return stringFromCharCode(((point >> shift) & 0x3F) | 0x80);\n }\n function encodeCodePoint(point) {\n if ((point >= 0 && point <= 31 && point !== 10)) {\n var convertedCode = point.toString(16).toUpperCase();\n var paddedCode = convertedCode.padStart(4, '0');\n return \"_x\" + paddedCode + \"_\";\n }\n if ((point & 0xFFFFFF80) == 0) { // 1-byte sequence\n return stringFromCharCode(point);\n }\n var symbol = '';\n if ((point & 0xFFFFF800) == 0) { // 2-byte sequence\n symbol = stringFromCharCode(((point >> 6) & 0x1F) | 0xC0);\n }\n else if ((point & 0xFFFF0000) == 0) { // 3-byte sequence\n checkScalarValue(point);\n symbol = stringFromCharCode(((point >> 12) & 0x0F) | 0xE0);\n symbol += createByte(point, 6);\n }\n else if ((point & 0xFFE00000) == 0) { // 4-byte sequence\n symbol = stringFromCharCode(((point >> 18) & 0x07) | 0xF0);\n symbol += createByte(point, 12);\n symbol += createByte(point, 6);\n }\n symbol += stringFromCharCode((point & 0x3F) | 0x80);\n return symbol;\n }\n var codePoints = ucs2decode(s);\n var length = codePoints.length;\n var index = -1;\n var codePoint;\n var byteString = '';\n while (++index < length) {\n codePoint = codePoints[index];\n byteString += encodeCodePoint(codePoint);\n }\n return byteString;\n}\n/**\n * Converts a camelCase string into hyphenated string\n * from https://gist.github.com/youssman/745578062609e8acac9f\n * @param {string} str\n * @return {string}\n */\nfunction camelCaseToHyphen(str) {\n if (str === null || str === undefined) {\n return null;\n }\n return str.replace(/([A-Z])/g, function (g) { return '-' + g[0].toLowerCase(); });\n}\n/**\n * Converts a hyphenated string into camelCase string\n * from https://stackoverflow.com/questions/6660977/convert-hyphens-to-camel-case-camelcase\n * @param {string} str\n * @return {string}\n */\nfunction hyphenToCamelCase(str) {\n if (str === null || str === undefined) {\n return null;\n }\n return str.replace(/-([a-z])/g, function (g) { return g[1].toUpperCase(); });\n}\nfunction capitalise(str) {\n return str[0].toUpperCase() + str.substr(1).toLowerCase();\n}\nfunction escapeString(toEscape) {\n // we call toString() twice, in case value is an object, where user provides\n // a toString() method, and first call to toString() returns back something other\n // than a string (eg a number to render)\n return toEscape == null ? null : toEscape.toString().toString().replace(reUnescapedHtml, function (chr) { return HTML_ESCAPES[chr]; });\n}\n/**\n * Converts a camelCase string into regular text\n * from: https://stackoverflow.com/questions/15369566/putting-space-in-camel-case-string-using-regular-expression\n * @param {string} camelCase\n * @return {string}\n */\nfunction camelCaseToHumanText(camelCase) {\n if (!camelCase || camelCase == null) {\n return null;\n }\n var rex = /([A-Z])([A-Z])([a-z])|([a-z])([A-Z])/g;\n var words = camelCase.replace(rex, '$1$4 $2$3$5').replace('.', ' ').split(' ');\n return words.map(function (word) { return word.substring(0, 1).toUpperCase() + ((word.length > 1) ? word.substring(1, word.length) : ''); }).join(' ');\n}\n\nvar StringUtils = /*#__PURE__*/Object.freeze({\n utf8_encode: utf8_encode,\n camelCaseToHyphen: camelCaseToHyphen,\n hyphenToCamelCase: hyphenToCamelCase,\n capitalise: capitalise,\n escapeString: escapeString,\n camelCaseToHumanText: camelCaseToHumanText\n});\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nfunction convertToMap(arr) {\n var map = new Map();\n arr.forEach(function (pair) { return map.set(pair[0], pair[1]); });\n return map;\n}\n// handy for organising a list into a map, where each item is mapped by an attribute, eg mapping Columns by ID\nfunction mapById(arr, callback) {\n var map = new Map();\n arr.forEach(function (item) { return map.set(callback(item), item); });\n return map;\n}\nfunction keys(map) {\n var arr = [];\n map.forEach(function (_, key) { return arr.push(key); });\n return arr;\n}\n\nvar MapUtils = /*#__PURE__*/Object.freeze({\n convertToMap: convertToMap,\n mapById: mapById,\n keys: keys\n});\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$5 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __param$2 = (undefined && undefined.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nvar __values = (undefined && undefined.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nvar __read = (undefined && undefined.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spread = (undefined && undefined.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));\n return ar;\n};\nvar ColumnModel = /** @class */ (function (_super) {\n __extends$1(ColumnModel, _super);\n function ColumnModel() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n // header row count, based on user provided columns\n _this.primaryHeaderRowCount = 0;\n _this.secondaryHeaderRowCount = 0;\n // header row count, either above, or based on pivoting if we are pivoting\n _this.gridHeaderRowCount = 0;\n // leave level columns of the displayed trees\n _this.displayedColumnsLeft = [];\n _this.displayedColumnsRight = [];\n _this.displayedColumnsCenter = [];\n // all three lists above combined\n _this.displayedColumns = [];\n // for fast lookup, to see if a column or group is still displayed\n _this.displayedColumnsAndGroupsMap = {};\n // all columns to be rendered\n _this.viewportColumns = [];\n // all columns to be rendered in the centre\n _this.viewportColumnsCenter = [];\n _this.autoHeightActiveAtLeastOnce = false;\n _this.rowGroupColumns = [];\n _this.valueColumns = [];\n _this.pivotColumns = [];\n _this.ready = false;\n _this.autoGroupsNeedBuilding = false;\n _this.forceRecreateAutoGroups = false;\n _this.pivotMode = false;\n _this.bodyWidth = 0;\n _this.leftWidth = 0;\n _this.rightWidth = 0;\n _this.bodyWidthDirty = true;\n _this.colDefVersion = 0;\n _this.flexColsCalculatedAtLestOnce = false;\n return _this;\n }\n ColumnModel.prototype.init = function () {\n var _this = this;\n this.suppressColumnVirtualisation = this.gridOptionsWrapper.isSuppressColumnVirtualisation();\n var pivotMode = this.gridOptionsWrapper.isPivotMode();\n if (this.isPivotSettingAllowed(pivotMode)) {\n this.pivotMode = pivotMode;\n }\n this.usingTreeData = this.gridOptionsWrapper.isTreeData();\n this.addManagedListener(this.gridOptionsWrapper, 'autoGroupColumnDef', function () { return _this.onAutoGroupColumnDefChanged(); });\n this.addManagedListener(this.gridOptionsWrapper, 'defaultColDef', function () { return _this.onDefaultColDefChanged(); });\n };\n ColumnModel.prototype.onAutoGroupColumnDefChanged = function () {\n this.autoGroupsNeedBuilding = true;\n this.forceRecreateAutoGroups = true;\n this.updateGridColumns();\n this.updateDisplayedColumns('gridOptionsChanged');\n };\n ColumnModel.prototype.onDefaultColDefChanged = function () {\n // col def's should get revisited, even if specific column hasn't changed,\n // as the defaultColDef impacts all columns, so each column should assume it's Col Def has changed.\n this.colDefVersion++;\n // likewise for autoGroupCol, the default col def impacts this\n this.forceRecreateAutoGroups = true;\n this.createColumnsFromColumnDefs(true);\n };\n ColumnModel.prototype.getColDefVersion = function () {\n return this.colDefVersion;\n };\n ColumnModel.prototype.setColumnDefs = function (columnDefs, source) {\n if (source === void 0) { source = 'api'; }\n var colsPreviouslyExisted = !!this.columnDefs;\n this.colDefVersion++;\n this.columnDefs = columnDefs;\n this.createColumnsFromColumnDefs(colsPreviouslyExisted, source);\n };\n ColumnModel.prototype.createColumnsFromColumnDefs = function (colsPreviouslyExisted, source) {\n var _this = this;\n if (source === void 0) { source = 'api'; }\n // only need to raise before/after events if updating columns, never if setting columns for first time\n var raiseEventsFunc = colsPreviouslyExisted ? this.compareColumnStatesAndRaiseEvents(source) : undefined;\n // always invalidate cache on changing columns, as the column id's for the new columns\n // could overlap with the old id's, so the cache would return old values for new columns.\n this.valueCache.expire();\n // NOTE ==================\n // we should be destroying the existing columns and groups if they exist, for example, the original column\n // group adds a listener to the columns, it should be also removing the listeners\n this.autoGroupsNeedBuilding = true;\n var oldPrimaryColumns = this.primaryColumns;\n var oldPrimaryTree = this.primaryColumnTree;\n var balancedTreeResult = this.columnFactory.createColumnTree(this.columnDefs, true, oldPrimaryTree);\n this.primaryColumnTree = balancedTreeResult.columnTree;\n this.primaryHeaderRowCount = balancedTreeResult.treeDept + 1;\n this.primaryColumns = this.getColumnsFromTree(this.primaryColumnTree);\n this.primaryColumnsMap = {};\n this.primaryColumns.forEach(function (col) { return _this.primaryColumnsMap[col.getId()] = col; });\n this.extractRowGroupColumns(source, oldPrimaryColumns);\n this.extractPivotColumns(source, oldPrimaryColumns);\n this.extractValueColumns(source, oldPrimaryColumns);\n this.ready = true;\n // if we are showing secondary columns, then no need to update grid columns\n // at this point, as it's the pivot service responsibility to change these\n // if we are no longer pivoting (ie and need to revert back to primary, otherwise\n // we shouldn't be touching the primary).\n var gridColsNotProcessed = this.gridColsArePrimary === undefined;\n var processGridCols = this.gridColsArePrimary || gridColsNotProcessed;\n if (processGridCols) {\n this.updateGridColumns();\n if (colsPreviouslyExisted && !this.gridOptionsWrapper.isMaintainColumnOrder()) {\n this.orderGridColumnsLikePrimary();\n }\n this.updateDisplayedColumns(source);\n this.checkViewportColumns();\n }\n // this event is not used by AG Grid, but left here for backwards compatibility,\n // in case applications use it\n this.dispatchEverythingChanged(source);\n raiseEventsFunc && raiseEventsFunc();\n this.dispatchNewColumnsLoaded();\n };\n ColumnModel.prototype.dispatchNewColumnsLoaded = function () {\n var newColumnsLoadedEvent = {\n type: Events.EVENT_NEW_COLUMNS_LOADED,\n api: this.gridApi,\n columnApi: this.columnApi\n };\n this.eventService.dispatchEvent(newColumnsLoadedEvent);\n };\n // this event is legacy, no grid code listens to it. instead the grid listens to New Columns Loaded\n ColumnModel.prototype.dispatchEverythingChanged = function (source) {\n if (source === void 0) { source = 'api'; }\n var eventEverythingChanged = {\n type: Events.EVENT_COLUMN_EVERYTHING_CHANGED,\n api: this.gridApi,\n columnApi: this.columnApi,\n source: source\n };\n this.eventService.dispatchEvent(eventEverythingChanged);\n };\n ColumnModel.prototype.orderGridColumnsLikePrimary = function () {\n var _this = this;\n var primaryColumns = this.primaryColumns;\n if (!primaryColumns) {\n return;\n }\n this.gridColumns.sort(function (colA, colB) {\n var primaryIndexA = primaryColumns.indexOf(colA);\n var primaryIndexB = primaryColumns.indexOf(colB);\n // if both cols are present in primary, then we just return the position,\n // so position is maintained.\n var indexAPresent = primaryIndexA >= 0;\n var indexBPresent = primaryIndexB >= 0;\n if (indexAPresent && indexBPresent) {\n return primaryIndexA - primaryIndexB;\n }\n if (indexAPresent) {\n // B is auto group column, so put B first\n return 1;\n }\n if (indexBPresent) {\n // A is auto group column, so put A first\n return -1;\n }\n // otherwise both A and B are auto-group columns. so we just keep the order\n // as they were already in.\n var gridIndexA = _this.gridColumns.indexOf(colA);\n var gridIndexB = _this.gridColumns.indexOf(colB);\n return gridIndexA - gridIndexB;\n });\n };\n ColumnModel.prototype.getAllDisplayedAutoHeightCols = function () {\n return this.displayedAutoHeightCols;\n };\n ColumnModel.prototype.setViewport = function () {\n if (this.gridOptionsWrapper.isEnableRtl()) {\n this.viewportLeft = this.bodyWidth - this.scrollPosition - this.scrollWidth;\n this.viewportRight = this.bodyWidth - this.scrollPosition;\n }\n else {\n this.viewportLeft = this.scrollPosition;\n this.viewportRight = this.scrollWidth + this.scrollPosition;\n }\n };\n // used by clipboard service, to know what columns to paste into\n ColumnModel.prototype.getDisplayedColumnsStartingAt = function (column) {\n var currentColumn = column;\n var columns = [];\n while (currentColumn != null) {\n columns.push(currentColumn);\n currentColumn = this.getDisplayedColAfter(currentColumn);\n }\n return columns;\n };\n // checks what columns are currently displayed due to column virtualisation. fires an event\n // if the list of columns has changed.\n // + setColumnWidth(), setViewportPosition(), setColumnDefs(), sizeColumnsToFit()\n ColumnModel.prototype.checkViewportColumns = function () {\n // check displayCenterColumnTree exists first, as it won't exist when grid is initialising\n if (this.displayedColumnsCenter == null) {\n return;\n }\n var hashBefore = this.viewportColumns.map(function (column) { return column.getId(); }).join('#');\n this.extractViewport();\n var hashAfter = this.viewportColumns.map(function (column) { return column.getId(); }).join('#');\n if (hashBefore !== hashAfter) {\n var event_1 = {\n type: Events.EVENT_VIRTUAL_COLUMNS_CHANGED,\n api: this.gridApi,\n columnApi: this.columnApi\n };\n this.eventService.dispatchEvent(event_1);\n }\n };\n ColumnModel.prototype.setViewportPosition = function (scrollWidth, scrollPosition) {\n if (scrollWidth !== this.scrollWidth || scrollPosition !== this.scrollPosition || this.bodyWidthDirty) {\n this.scrollWidth = scrollWidth;\n this.scrollPosition = scrollPosition;\n // we need to call setVirtualViewportLeftAndRight() at least once after the body width changes,\n // as the viewport can stay the same, but in RTL, if body width changes, we need to work out the\n // virtual columns again\n this.bodyWidthDirty = true;\n this.setViewport();\n if (this.ready) {\n this.checkViewportColumns();\n }\n }\n };\n ColumnModel.prototype.isPivotMode = function () {\n return this.pivotMode;\n };\n ColumnModel.prototype.isPivotSettingAllowed = function (pivot) {\n if (pivot && this.gridOptionsWrapper.isTreeData()) {\n console.warn(\"AG Grid: Pivot mode not available in conjunction Tree Data i.e. 'gridOptions.treeData: true'\");\n return false;\n }\n return true;\n };\n ColumnModel.prototype.setPivotMode = function (pivotMode, source) {\n if (source === void 0) { source = 'api'; }\n if (pivotMode === this.pivotMode || !this.isPivotSettingAllowed(this.pivotMode)) {\n return;\n }\n this.pivotMode = pivotMode;\n // we need to update grid columns to cover the scenario where user has groupSuppressAutoColumn=true, as\n // this means we don't use auto group column UNLESS we are in pivot mode (it's mandatory in pivot mode),\n // so need to updateGridColumn() to check it autoGroupCol needs to be added / removed\n this.autoGroupsNeedBuilding = true;\n this.updateGridColumns();\n this.updateDisplayedColumns(source);\n var event = {\n type: Events.EVENT_COLUMN_PIVOT_MODE_CHANGED,\n api: this.gridApi,\n columnApi: this.columnApi\n };\n this.eventService.dispatchEvent(event);\n };\n ColumnModel.prototype.getSecondaryPivotColumn = function (pivotKeys, valueColKey) {\n if (missing(this.secondaryColumns)) {\n return null;\n }\n var valueColumnToFind = this.getPrimaryColumn(valueColKey);\n var foundColumn = null;\n this.secondaryColumns.forEach(function (column) {\n var thisPivotKeys = column.getColDef().pivotKeys;\n var pivotValueColumn = column.getColDef().pivotValueColumn;\n var pivotKeyMatches = areEqual(thisPivotKeys, pivotKeys);\n var pivotValueMatches = pivotValueColumn === valueColumnToFind;\n if (pivotKeyMatches && pivotValueMatches) {\n foundColumn = column;\n }\n });\n return foundColumn;\n };\n ColumnModel.prototype.setBeans = function (loggerFactory) {\n this.logger = loggerFactory.create('columnModel');\n };\n ColumnModel.prototype.setFirstRightAndLastLeftPinned = function (source) {\n var lastLeft;\n var firstRight;\n if (this.gridOptionsWrapper.isEnableRtl()) {\n lastLeft = this.displayedColumnsLeft ? this.displayedColumnsLeft[0] : null;\n firstRight = this.displayedColumnsRight ? last(this.displayedColumnsRight) : null;\n }\n else {\n lastLeft = this.displayedColumnsLeft ? last(this.displayedColumnsLeft) : null;\n firstRight = this.displayedColumnsRight ? this.displayedColumnsRight[0] : null;\n }\n this.gridColumns.forEach(function (column) {\n column.setLastLeftPinned(column === lastLeft, source);\n column.setFirstRightPinned(column === firstRight, source);\n });\n };\n ColumnModel.prototype.autoSizeColumns = function (params) {\n var _this = this;\n var columns = params.columns, skipHeader = params.skipHeader, skipHeaderGroups = params.skipHeaderGroups, stopAtGroup = params.stopAtGroup, _a = params.source, source = _a === void 0 ? 'api' : _a;\n // because of column virtualisation, we can only do this function on columns that are\n // actually rendered, as non-rendered columns (outside the viewport and not rendered\n // due to column virtualisation) are not present. this can result in all rendered columns\n // getting narrowed, which in turn introduces more rendered columns on the RHS which\n // did not get autosized in the original run, leaving the visible grid with columns on\n // the LHS sized, but RHS no. so we keep looping through the visible columns until\n // no more cols are available (rendered) to be resized\n // we autosize after animation frames finish in case any cell renderers need to complete first. this can\n // happen eg if client code is calling api.autoSizeAllColumns() straight after grid is initialised, but grid\n // hasn't fully drawn out all the cells yet (due to cell renderers in animation frames).\n this.animationFrameService.flushAllFrames();\n // keep track of which cols we have resized in here\n var columnsAutosized = [];\n // initialise with anything except 0 so that while loop executes at least once\n var changesThisTimeAround = -1;\n var shouldSkipHeader = skipHeader != null ? skipHeader : this.gridOptionsWrapper.isSkipHeaderOnAutoSize();\n var shouldSkipHeaderGroups = skipHeaderGroups != null ? skipHeaderGroups : shouldSkipHeader;\n while (changesThisTimeAround !== 0) {\n changesThisTimeAround = 0;\n this.actionOnGridColumns(columns, function (column) {\n // if already autosized, skip it\n if (columnsAutosized.indexOf(column) >= 0) {\n return false;\n }\n // get how wide this col should be\n var preferredWidth = _this.autoWidthCalculator.getPreferredWidthForColumn(column, shouldSkipHeader);\n // preferredWidth = -1 if this col is not on the screen\n if (preferredWidth > 0) {\n var newWidth = _this.normaliseColumnWidth(column, preferredWidth);\n column.setActualWidth(newWidth, source);\n columnsAutosized.push(column);\n changesThisTimeAround++;\n }\n return true;\n }, source);\n }\n if (!shouldSkipHeaderGroups) {\n this.autoSizeColumnGroupsByColumns(columns, stopAtGroup);\n }\n this.fireColumnResizedEvent(columnsAutosized, true, 'autosizeColumns');\n };\n ColumnModel.prototype.fireColumnResizedEvent = function (columns, finished, source, flexColumns) {\n if (flexColumns === void 0) { flexColumns = null; }\n if (columns && columns.length) {\n var event_2 = {\n type: Events.EVENT_COLUMN_RESIZED,\n columns: columns,\n column: columns.length === 1 ? columns[0] : null,\n flexColumns: flexColumns,\n finished: finished,\n api: this.gridApi,\n columnApi: this.columnApi,\n source: source\n };\n this.eventService.dispatchEvent(event_2);\n }\n };\n ColumnModel.prototype.autoSizeColumn = function (key, skipHeader, source) {\n if (source === void 0) { source = \"api\"; }\n if (key) {\n this.autoSizeColumns({ columns: [key], skipHeader: skipHeader, skipHeaderGroups: true, source: source });\n }\n };\n ColumnModel.prototype.autoSizeColumnGroupsByColumns = function (keys, stopAtGroup) {\n var e_1, _a, e_2, _b;\n var columnGroups = new Set();\n var columns = this.getGridColumns(keys);\n columns.forEach(function (col) {\n var parent = col.getParent();\n while (parent && parent != stopAtGroup) {\n if (!parent.isPadding()) {\n columnGroups.add(parent);\n }\n parent = parent.getParent();\n }\n });\n var headerGroupCtrl;\n var resizedColumns = [];\n try {\n for (var columnGroups_1 = __values(columnGroups), columnGroups_1_1 = columnGroups_1.next(); !columnGroups_1_1.done; columnGroups_1_1 = columnGroups_1.next()) {\n var columnGroup = columnGroups_1_1.value;\n try {\n for (var _c = (e_2 = void 0, __values(this.ctrlsService.getHeaderRowContainerCtrls())), _d = _c.next(); !_d.done; _d = _c.next()) {\n var headerContainerCtrl = _d.value;\n headerGroupCtrl = headerContainerCtrl.getHeaderCtrlForColumn(columnGroup);\n if (headerGroupCtrl) {\n break;\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_d && !_d.done && (_b = _c.return)) _b.call(_c);\n }\n finally { if (e_2) throw e_2.error; }\n }\n if (headerGroupCtrl) {\n headerGroupCtrl.resizeLeafColumnsToFit();\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (columnGroups_1_1 && !columnGroups_1_1.done && (_a = columnGroups_1.return)) _a.call(columnGroups_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return resizedColumns;\n };\n ColumnModel.prototype.autoSizeAllColumns = function (skipHeader, source) {\n if (source === void 0) { source = \"api\"; }\n var allDisplayedColumns = this.getAllDisplayedColumns();\n this.autoSizeColumns({ columns: allDisplayedColumns, skipHeader: skipHeader, source: source });\n };\n // Possible candidate for reuse (alot of recursive traversal duplication)\n ColumnModel.prototype.getColumnsFromTree = function (rootColumns) {\n var result = [];\n var recursiveFindColumns = function (childColumns) {\n for (var i = 0; i < childColumns.length; i++) {\n var child = childColumns[i];\n if (child instanceof Column) {\n result.push(child);\n }\n else if (child instanceof ProvidedColumnGroup) {\n recursiveFindColumns(child.getChildren());\n }\n }\n };\n recursiveFindColumns(rootColumns);\n return result;\n };\n ColumnModel.prototype.getAllDisplayedTrees = function () {\n if (this.displayedTreeLeft && this.displayedTreeRight && this.displayedTreeCentre) {\n return this.displayedTreeLeft\n .concat(this.displayedTreeCentre)\n .concat(this.displayedTreeRight);\n }\n return null;\n };\n // + columnSelectPanel\n ColumnModel.prototype.getPrimaryColumnTree = function () {\n return this.primaryColumnTree;\n };\n // + gridPanel -> for resizing the body and setting top margin\n ColumnModel.prototype.getHeaderRowCount = function () {\n return this.gridHeaderRowCount;\n };\n // + headerRenderer -> setting pinned body width\n ColumnModel.prototype.getDisplayedTreeLeft = function () {\n return this.displayedTreeLeft;\n };\n // + headerRenderer -> setting pinned body width\n ColumnModel.prototype.getDisplayedTreeRight = function () {\n return this.displayedTreeRight;\n };\n // + headerRenderer -> setting pinned body width\n ColumnModel.prototype.getDisplayedTreeCentre = function () {\n return this.displayedTreeCentre;\n };\n // gridPanel -> ensureColumnVisible\n ColumnModel.prototype.isColumnDisplayed = function (column) {\n return this.getAllDisplayedColumns().indexOf(column) >= 0;\n };\n // + csvCreator\n ColumnModel.prototype.getAllDisplayedColumns = function () {\n return this.displayedColumns;\n };\n ColumnModel.prototype.getViewportColumns = function () {\n return this.viewportColumns;\n };\n ColumnModel.prototype.getDisplayedLeftColumnsForRow = function (rowNode) {\n if (!this.colSpanActive) {\n return this.displayedColumnsLeft;\n }\n return this.getDisplayedColumnsForRow(rowNode, this.displayedColumnsLeft);\n };\n ColumnModel.prototype.getDisplayedRightColumnsForRow = function (rowNode) {\n if (!this.colSpanActive) {\n return this.displayedColumnsRight;\n }\n return this.getDisplayedColumnsForRow(rowNode, this.displayedColumnsRight);\n };\n ColumnModel.prototype.getDisplayedColumnsForRow = function (rowNode, displayedColumns, filterCallback, emptySpaceBeforeColumn) {\n var result = [];\n var lastConsideredCol = null;\n var _loop_1 = function (i) {\n var col = displayedColumns[i];\n var maxAllowedColSpan = displayedColumns.length - i;\n var colSpan = Math.min(col.getColSpan(rowNode), maxAllowedColSpan);\n var columnsToCheckFilter = [col];\n if (colSpan > 1) {\n var colsToRemove = colSpan - 1;\n for (var j = 1; j <= colsToRemove; j++) {\n columnsToCheckFilter.push(displayedColumns[i + j]);\n }\n i += colsToRemove;\n }\n // see which cols we should take out for column virtualisation\n var filterPasses;\n if (filterCallback) {\n // if user provided a callback, means some columns may not be in the viewport.\n // the user will NOT provide a callback if we are talking about pinned areas,\n // as pinned areas have no horizontal scroll and do not virtualise the columns.\n // if lots of columns, that means column spanning, and we set filterPasses = true\n // if one or more of the columns spanned pass the filter.\n filterPasses = false;\n columnsToCheckFilter.forEach(function (colForFilter) {\n if (filterCallback(colForFilter)) {\n filterPasses = true;\n }\n });\n }\n else {\n filterPasses = true;\n }\n if (filterPasses) {\n if (result.length === 0 && lastConsideredCol) {\n var gapBeforeColumn = emptySpaceBeforeColumn ? emptySpaceBeforeColumn(col) : false;\n if (gapBeforeColumn) {\n result.push(lastConsideredCol);\n }\n }\n result.push(col);\n }\n lastConsideredCol = col;\n out_i_1 = i;\n };\n var out_i_1;\n for (var i = 0; i < displayedColumns.length; i++) {\n _loop_1(i);\n i = out_i_1;\n }\n return result;\n };\n // + rowRenderer\n // if we are not column spanning, this just returns back the virtual centre columns,\n // however if we are column spanning, then different rows can have different virtual\n // columns, so we have to work out the list for each individual row.\n ColumnModel.prototype.getViewportCenterColumnsForRow = function (rowNode) {\n var _this = this;\n if (!this.colSpanActive) {\n return this.viewportColumnsCenter;\n }\n var emptySpaceBeforeColumn = function (col) {\n var left = col.getLeft();\n return exists(left) && left > _this.viewportLeft;\n };\n // if doing column virtualisation, then we filter based on the viewport.\n var filterCallback = this.suppressColumnVirtualisation ? null : this.isColumnInViewport.bind(this);\n return this.getDisplayedColumnsForRow(rowNode, this.displayedColumnsCenter, filterCallback, emptySpaceBeforeColumn);\n };\n ColumnModel.prototype.getAriaColumnIndex = function (col) {\n return this.getAllGridColumns().indexOf(col) + 1;\n };\n ColumnModel.prototype.isColumnInViewport = function (col) {\n // we never filter out autoHeight columns, as we need them in the DOM for calculating Auto Height\n if (col.isAutoHeight()) {\n return true;\n }\n var columnLeft = col.getLeft() || 0;\n var columnRight = columnLeft + col.getActualWidth();\n // adding 200 for buffer size, so some cols off viewport are rendered.\n // this helps horizontal scrolling so user rarely sees white space (unless\n // they scroll horizontally fast). however we are conservative, as the more\n // buffer the slower the vertical redraw speed\n var leftBounds = this.viewportLeft - 200;\n var rightBounds = this.viewportRight + 200;\n var columnToMuchLeft = columnLeft < leftBounds && columnRight < leftBounds;\n var columnToMuchRight = columnLeft > rightBounds && columnRight > rightBounds;\n return !columnToMuchLeft && !columnToMuchRight;\n };\n // used by:\n // + angularGrid -> setting pinned body width\n // note: this should be cached\n ColumnModel.prototype.getDisplayedColumnsLeftWidth = function () {\n return this.getWidthOfColsInList(this.displayedColumnsLeft);\n };\n // note: this should be cached\n ColumnModel.prototype.getDisplayedColumnsRightWidth = function () {\n return this.getWidthOfColsInList(this.displayedColumnsRight);\n };\n ColumnModel.prototype.updatePrimaryColumnList = function (keys, masterList, actionIsAdd, columnCallback, eventType, source) {\n var _this = this;\n if (source === void 0) { source = \"api\"; }\n if (!keys || missingOrEmpty(keys)) {\n return;\n }\n var atLeastOne = false;\n keys.forEach(function (key) {\n var columnToAdd = _this.getPrimaryColumn(key);\n if (!columnToAdd) {\n return;\n }\n if (actionIsAdd) {\n if (masterList.indexOf(columnToAdd) >= 0) {\n return;\n }\n masterList.push(columnToAdd);\n }\n else {\n if (masterList.indexOf(columnToAdd) < 0) {\n return;\n }\n removeFromArray(masterList, columnToAdd);\n }\n columnCallback(columnToAdd);\n atLeastOne = true;\n });\n if (!atLeastOne) {\n return;\n }\n if (this.autoGroupsNeedBuilding) {\n this.updateGridColumns();\n }\n this.updateDisplayedColumns(source);\n var event = {\n type: eventType,\n columns: masterList,\n column: masterList.length === 1 ? masterList[0] : null,\n api: this.gridApi,\n columnApi: this.columnApi,\n source: source\n };\n this.eventService.dispatchEvent(event);\n };\n ColumnModel.prototype.setRowGroupColumns = function (colKeys, source) {\n if (source === void 0) { source = \"api\"; }\n this.autoGroupsNeedBuilding = true;\n this.setPrimaryColumnList(colKeys, this.rowGroupColumns, Events.EVENT_COLUMN_ROW_GROUP_CHANGED, this.setRowGroupActive.bind(this), source);\n };\n ColumnModel.prototype.setRowGroupActive = function (active, column, source) {\n if (active === column.isRowGroupActive()) {\n return;\n }\n column.setRowGroupActive(active, source);\n if (!active && !this.gridOptionsWrapper.isSuppressMakeColumnVisibleAfterUnGroup()) {\n column.setVisible(true, source);\n }\n };\n ColumnModel.prototype.addRowGroupColumn = function (key, source) {\n if (source === void 0) { source = \"api\"; }\n if (key) {\n this.addRowGroupColumns([key], source);\n }\n };\n ColumnModel.prototype.addRowGroupColumns = function (keys, source) {\n if (source === void 0) { source = \"api\"; }\n this.autoGroupsNeedBuilding = true;\n this.updatePrimaryColumnList(keys, this.rowGroupColumns, true, this.setRowGroupActive.bind(this, true), Events.EVENT_COLUMN_ROW_GROUP_CHANGED, source);\n };\n ColumnModel.prototype.removeRowGroupColumns = function (keys, source) {\n if (source === void 0) { source = \"api\"; }\n this.autoGroupsNeedBuilding = true;\n this.updatePrimaryColumnList(keys, this.rowGroupColumns, false, this.setRowGroupActive.bind(this, false), Events.EVENT_COLUMN_ROW_GROUP_CHANGED, source);\n };\n ColumnModel.prototype.removeRowGroupColumn = function (key, source) {\n if (source === void 0) { source = \"api\"; }\n if (key) {\n this.removeRowGroupColumns([key], source);\n }\n };\n ColumnModel.prototype.addPivotColumns = function (keys, source) {\n if (source === void 0) { source = \"api\"; }\n this.updatePrimaryColumnList(keys, this.pivotColumns, true, function (column) { return column.setPivotActive(true, source); }, Events.EVENT_COLUMN_PIVOT_CHANGED, source);\n };\n ColumnModel.prototype.setPivotColumns = function (colKeys, source) {\n if (source === void 0) { source = \"api\"; }\n this.setPrimaryColumnList(colKeys, this.pivotColumns, Events.EVENT_COLUMN_PIVOT_CHANGED, function (added, column) {\n column.setPivotActive(added, source);\n }, source);\n };\n ColumnModel.prototype.addPivotColumn = function (key, source) {\n if (source === void 0) { source = \"api\"; }\n this.addPivotColumns([key], source);\n };\n ColumnModel.prototype.removePivotColumns = function (keys, source) {\n if (source === void 0) { source = \"api\"; }\n this.updatePrimaryColumnList(keys, this.pivotColumns, false, function (column) { return column.setPivotActive(false, source); }, Events.EVENT_COLUMN_PIVOT_CHANGED, source);\n };\n ColumnModel.prototype.removePivotColumn = function (key, source) {\n if (source === void 0) { source = \"api\"; }\n this.removePivotColumns([key], source);\n };\n ColumnModel.prototype.setPrimaryColumnList = function (colKeys, masterList, eventName, columnCallback, source) {\n var _this = this;\n masterList.length = 0;\n if (exists(colKeys)) {\n colKeys.forEach(function (key) {\n var column = _this.getPrimaryColumn(key);\n if (column) {\n masterList.push(column);\n }\n });\n }\n (this.primaryColumns || []).forEach(function (column) {\n var added = masterList.indexOf(column) >= 0;\n columnCallback(added, column);\n });\n if (this.autoGroupsNeedBuilding) {\n this.updateGridColumns();\n }\n this.updateDisplayedColumns(source);\n this.fireColumnEvent(eventName, masterList, source);\n };\n ColumnModel.prototype.setValueColumns = function (colKeys, source) {\n if (source === void 0) { source = \"api\"; }\n this.setPrimaryColumnList(colKeys, this.valueColumns, Events.EVENT_COLUMN_VALUE_CHANGED, this.setValueActive.bind(this), source);\n };\n ColumnModel.prototype.setValueActive = function (active, column, source) {\n if (active === column.isValueActive()) {\n return;\n }\n column.setValueActive(active, source);\n if (active && !column.getAggFunc()) {\n var initialAggFunc = this.aggFuncService.getDefaultAggFunc(column);\n column.setAggFunc(initialAggFunc);\n }\n };\n ColumnModel.prototype.addValueColumns = function (keys, source) {\n if (source === void 0) { source = \"api\"; }\n this.updatePrimaryColumnList(keys, this.valueColumns, true, this.setValueActive.bind(this, true), Events.EVENT_COLUMN_VALUE_CHANGED, source);\n };\n ColumnModel.prototype.addValueColumn = function (colKey, source) {\n if (source === void 0) { source = \"api\"; }\n if (colKey) {\n this.addValueColumns([colKey], source);\n }\n };\n ColumnModel.prototype.removeValueColumn = function (colKey, source) {\n if (source === void 0) { source = \"api\"; }\n this.removeValueColumns([colKey], source);\n };\n ColumnModel.prototype.removeValueColumns = function (keys, source) {\n if (source === void 0) { source = \"api\"; }\n this.updatePrimaryColumnList(keys, this.valueColumns, false, this.setValueActive.bind(this, false), Events.EVENT_COLUMN_VALUE_CHANGED, source);\n };\n // returns the width we can set to this col, taking into consideration min and max widths\n ColumnModel.prototype.normaliseColumnWidth = function (column, newWidth) {\n var minWidth = column.getMinWidth();\n if (exists(minWidth) && newWidth < minWidth) {\n newWidth = minWidth;\n }\n var maxWidth = column.getMaxWidth();\n if (exists(maxWidth) && column.isGreaterThanMax(newWidth)) {\n newWidth = maxWidth;\n }\n return newWidth;\n };\n ColumnModel.prototype.getPrimaryOrGridColumn = function (key) {\n var column = this.getPrimaryColumn(key);\n return column || this.getGridColumn(key);\n };\n ColumnModel.prototype.setColumnWidths = function (columnWidths, shiftKey, // @takeFromAdjacent - if user has 'shift' pressed, then pixels are taken from adjacent column\n finished, // @finished - ends up in the event, tells the user if more events are to come\n source) {\n var _this = this;\n if (source === void 0) { source = \"api\"; }\n var sets = [];\n columnWidths.forEach(function (columnWidth) {\n var col = _this.getPrimaryOrGridColumn(columnWidth.key);\n if (!col) {\n return;\n }\n sets.push({\n width: columnWidth.newWidth,\n ratios: [1],\n columns: [col]\n });\n // if user wants to do shift resize by default, then we invert the shift operation\n var defaultIsShift = _this.gridOptionsWrapper.getColResizeDefault() === 'shift';\n if (defaultIsShift) {\n shiftKey = !shiftKey;\n }\n if (shiftKey) {\n var otherCol = _this.getDisplayedColAfter(col);\n if (!otherCol) {\n return;\n }\n var widthDiff = col.getActualWidth() - columnWidth.newWidth;\n var otherColWidth = otherCol.getActualWidth() + widthDiff;\n sets.push({\n width: otherColWidth,\n ratios: [1],\n columns: [otherCol]\n });\n }\n });\n if (sets.length === 0) {\n return;\n }\n this.resizeColumnSets({\n resizeSets: sets,\n finished: finished,\n source: source\n });\n };\n ColumnModel.prototype.checkMinAndMaxWidthsForSet = function (columnResizeSet) {\n var columns = columnResizeSet.columns, width = columnResizeSet.width;\n // every col has a min width, so sum them all up and see if we have enough room\n // for all the min widths\n var minWidthAccumulated = 0;\n var maxWidthAccumulated = 0;\n var maxWidthActive = true;\n columns.forEach(function (col) {\n var minWidth = col.getMinWidth();\n minWidthAccumulated += minWidth || 0;\n var maxWidth = col.getMaxWidth();\n if (exists(maxWidth) && maxWidth > 0) {\n maxWidthAccumulated += maxWidth;\n }\n else {\n // if at least one columns has no max width, it means the group of columns\n // then has no max width, as at least one column can take as much width as possible\n maxWidthActive = false;\n }\n });\n var minWidthPasses = width >= minWidthAccumulated;\n var maxWidthPasses = !maxWidthActive || (width <= maxWidthAccumulated);\n return minWidthPasses && maxWidthPasses;\n };\n // method takes sets of columns and resizes them. either all sets will be resized, or nothing\n // be resized. this is used for example when user tries to resize a group and holds shift key,\n // then both the current group (grows), and the adjacent group (shrinks), will get resized,\n // so that's two sets for this method.\n ColumnModel.prototype.resizeColumnSets = function (params) {\n var _this = this;\n var resizeSets = params.resizeSets, finished = params.finished, source = params.source;\n var passMinMaxCheck = !resizeSets || resizeSets.every(function (columnResizeSet) { return _this.checkMinAndMaxWidthsForSet(columnResizeSet); });\n if (!passMinMaxCheck) {\n // even though we are not going to resize beyond min/max size, we still need to raise event when finished\n if (finished) {\n var columns = resizeSets && resizeSets.length > 0 ? resizeSets[0].columns : null;\n this.fireColumnResizedEvent(columns, finished, source);\n }\n return; // don't resize!\n }\n var changedCols = [];\n var allResizedCols = [];\n resizeSets.forEach(function (set) {\n var width = set.width, columns = set.columns, ratios = set.ratios;\n // keep track of pixels used, and last column gets the remaining,\n // to cater for rounding errors, and min width adjustments\n var newWidths = {};\n var finishedCols = {};\n columns.forEach(function (col) { return allResizedCols.push(col); });\n // the loop below goes through each col. if a col exceeds it's min/max width,\n // it then gets set to its min/max width and the column is removed marked as 'finished'\n // and the calculation is done again leaving this column out. take for example columns\n // {A, width: 50, maxWidth: 100}\n // {B, width: 50}\n // {C, width: 50}\n // and then the set is set to width 600 - on the first pass the grid tries to set each column\n // to 200. it checks A and sees 200 > 100 and so sets the width to 100. col A is then marked\n // as 'finished' and the calculation is done again with the remaining cols B and C, which end up\n // splitting the remaining 500 pixels.\n var finishedColsGrew = true;\n var loopCount = 0;\n var _loop_2 = function () {\n loopCount++;\n if (loopCount > 1000) {\n // this should never happen, but in the future, someone might introduce a bug here,\n // so we stop the browser from hanging and report bug properly\n console.error('AG Grid: infinite loop in resizeColumnSets');\n return \"break\";\n }\n finishedColsGrew = false;\n var subsetCols = [];\n var subsetRatioTotal = 0;\n var pixelsToDistribute = width;\n columns.forEach(function (col, index) {\n var thisColFinished = finishedCols[col.getId()];\n if (thisColFinished) {\n pixelsToDistribute -= newWidths[col.getId()];\n }\n else {\n subsetCols.push(col);\n var ratioThisCol = ratios[index];\n subsetRatioTotal += ratioThisCol;\n }\n });\n // because we are not using all of the ratios (cols can be missing),\n // we scale the ratio. if all columns are included, then subsetRatioTotal=1,\n // and so the ratioScale will be 1.\n var ratioScale = 1 / subsetRatioTotal;\n subsetCols.forEach(function (col, index) {\n var lastCol = index === (subsetCols.length - 1);\n var colNewWidth;\n if (lastCol) {\n colNewWidth = pixelsToDistribute;\n }\n else {\n colNewWidth = Math.round(ratios[index] * width * ratioScale);\n pixelsToDistribute -= colNewWidth;\n }\n var minWidth = col.getMinWidth();\n var maxWidth = col.getMaxWidth();\n if (exists(minWidth) && colNewWidth < minWidth) {\n colNewWidth = minWidth;\n finishedCols[col.getId()] = true;\n finishedColsGrew = true;\n }\n else if (exists(maxWidth) && maxWidth > 0 && colNewWidth > maxWidth) {\n colNewWidth = maxWidth;\n finishedCols[col.getId()] = true;\n finishedColsGrew = true;\n }\n newWidths[col.getId()] = colNewWidth;\n });\n };\n while (finishedColsGrew) {\n var state_1 = _loop_2();\n if (state_1 === \"break\")\n break;\n }\n columns.forEach(function (col) {\n var newWidth = newWidths[col.getId()];\n var actualWidth = col.getActualWidth();\n if (actualWidth !== newWidth) {\n col.setActualWidth(newWidth, source);\n changedCols.push(col);\n }\n });\n });\n // if no cols changed, then no need to update more or send event.\n var atLeastOneColChanged = changedCols.length > 0;\n var flexedCols = [];\n if (atLeastOneColChanged) {\n flexedCols = this.refreshFlexedColumns({ resizingCols: allResizedCols, skipSetLeft: true });\n this.setLeftValues(source);\n this.updateBodyWidths();\n this.checkViewportColumns();\n }\n // check for change first, to avoid unnecessary firing of events\n // however we always fire 'finished' events. this is important\n // when groups are resized, as if the group is changing slowly,\n // eg 1 pixel at a time, then each change will fire change events\n // in all the columns in the group, but only one with get the pixel.\n var colsForEvent = allResizedCols.concat(flexedCols);\n if (atLeastOneColChanged || finished) {\n this.fireColumnResizedEvent(colsForEvent, finished, source, flexedCols);\n }\n };\n ColumnModel.prototype.setColumnAggFunc = function (key, aggFunc, source) {\n if (source === void 0) { source = \"api\"; }\n if (!key) {\n return;\n }\n var column = this.getPrimaryColumn(key);\n if (!column) {\n return;\n }\n column.setAggFunc(aggFunc);\n this.fireColumnEvent(Events.EVENT_COLUMN_VALUE_CHANGED, [column], source);\n };\n ColumnModel.prototype.fireColumnEvent = function (type, columns, source) {\n var event = {\n type: type,\n columns: columns,\n column: (columns && columns.length == 1) ? columns[0] : null,\n api: this.gridApi,\n columnApi: this.columnApi,\n source: source\n };\n this.eventService.dispatchEvent(event);\n };\n ColumnModel.prototype.moveRowGroupColumn = function (fromIndex, toIndex, source) {\n if (source === void 0) { source = \"api\"; }\n var column = this.rowGroupColumns[fromIndex];\n this.rowGroupColumns.splice(fromIndex, 1);\n this.rowGroupColumns.splice(toIndex, 0, column);\n var event = {\n type: Events.EVENT_COLUMN_ROW_GROUP_CHANGED,\n columns: this.rowGroupColumns,\n column: this.rowGroupColumns.length === 1 ? this.rowGroupColumns[0] : null,\n api: this.gridApi,\n columnApi: this.columnApi,\n source: source\n };\n this.eventService.dispatchEvent(event);\n };\n ColumnModel.prototype.moveColumns = function (columnsToMoveKeys, toIndex, source) {\n if (source === void 0) { source = \"api\"; }\n this.columnAnimationService.start();\n if (toIndex > this.gridColumns.length - columnsToMoveKeys.length) {\n console.warn('AG Grid: tried to insert columns in invalid location, toIndex = ' + toIndex);\n console.warn('AG Grid: remember that you should not count the moving columns when calculating the new index');\n return;\n }\n // we want to pull all the columns out first and put them into an ordered list\n var columnsToMove = this.getGridColumns(columnsToMoveKeys);\n var failedRules = !this.doesMovePassRules(columnsToMove, toIndex);\n if (failedRules) {\n return;\n }\n moveInArray(this.gridColumns, columnsToMove, toIndex);\n this.updateDisplayedColumns(source);\n var event = {\n type: Events.EVENT_COLUMN_MOVED,\n columns: columnsToMove,\n column: columnsToMove.length === 1 ? columnsToMove[0] : null,\n toIndex: toIndex,\n api: this.gridApi,\n columnApi: this.columnApi,\n source: source\n };\n this.eventService.dispatchEvent(event);\n this.columnAnimationService.finish();\n };\n ColumnModel.prototype.doesMovePassRules = function (columnsToMove, toIndex) {\n // make a copy of what the grid columns would look like after the move\n var proposedColumnOrder = this.gridColumns.slice();\n moveInArray(proposedColumnOrder, columnsToMove, toIndex);\n // then check that the new proposed order of the columns passes all rules\n if (!this.doesMovePassMarryChildren(proposedColumnOrder)) {\n return false;\n }\n if (!this.doesMovePassLockedPositions(proposedColumnOrder)) {\n return false;\n }\n return true;\n };\n // returns the provided cols sorted in same order as they appear in grid columns. eg if grid columns\n // contains [a,b,c,d,e] and col passed is [e,a] then the passed cols are sorted into [a,e]\n ColumnModel.prototype.sortColumnsLikeGridColumns = function (cols) {\n var _this = this;\n if (!cols || cols.length <= 1) {\n return;\n }\n var notAllColsInGridColumns = cols.filter(function (c) { return _this.gridColumns.indexOf(c) < 0; }).length > 0;\n if (notAllColsInGridColumns) {\n return;\n }\n cols.sort(function (a, b) {\n var indexA = _this.gridColumns.indexOf(a);\n var indexB = _this.gridColumns.indexOf(b);\n return indexA - indexB;\n });\n };\n ColumnModel.prototype.doesMovePassLockedPositions = function (proposedColumnOrder) {\n // Placement is a number indicating 'left' 'center' or 'right' as 0 1 2\n var lastPlacement = 0;\n var rulePassed = true;\n var lockPositionToPlacement = function (position) {\n if (!position) { // false or undefined\n return 1;\n }\n if (position === true) {\n return 0;\n }\n return position === 'left' ? 0 : 2; // Otherwise 'right'\n };\n proposedColumnOrder.forEach(function (col) {\n var placement = lockPositionToPlacement(col.getColDef().lockPosition);\n if (placement < lastPlacement) { // If placement goes down, we're not in the correct order\n rulePassed = false;\n }\n lastPlacement = placement;\n });\n return rulePassed;\n };\n ColumnModel.prototype.doesMovePassMarryChildren = function (allColumnsCopy) {\n var rulePassed = true;\n this.columnUtils.depthFirstOriginalTreeSearch(null, this.gridBalancedTree, function (child) {\n if (!(child instanceof ProvidedColumnGroup)) {\n return;\n }\n var columnGroup = child;\n var colGroupDef = columnGroup.getColGroupDef();\n var marryChildren = colGroupDef && colGroupDef.marryChildren;\n if (!marryChildren) {\n return;\n }\n var newIndexes = [];\n columnGroup.getLeafColumns().forEach(function (col) {\n var newColIndex = allColumnsCopy.indexOf(col);\n newIndexes.push(newColIndex);\n });\n var maxIndex = Math.max.apply(Math, newIndexes);\n var minIndex = Math.min.apply(Math, newIndexes);\n // spread is how far the first column in this group is away from the last column\n var spread = maxIndex - minIndex;\n var maxSpread = columnGroup.getLeafColumns().length - 1;\n // if the columns\n if (spread > maxSpread) {\n rulePassed = false;\n }\n // console.log(`maxIndex = ${maxIndex}, minIndex = ${minIndex}, spread = ${spread}, maxSpread = ${maxSpread}, fail = ${spread > (count-1)}`)\n // console.log(allColumnsCopy.map( col => col.getColDef().field).join(','));\n });\n return rulePassed;\n };\n ColumnModel.prototype.moveColumn = function (key, toIndex, source) {\n if (source === void 0) { source = \"api\"; }\n this.moveColumns([key], toIndex, source);\n };\n ColumnModel.prototype.moveColumnByIndex = function (fromIndex, toIndex, source) {\n if (source === void 0) { source = \"api\"; }\n var column = this.gridColumns[fromIndex];\n this.moveColumn(column, toIndex, source);\n };\n ColumnModel.prototype.getColumnDefs = function () {\n var _this = this;\n if (!this.primaryColumns) {\n return;\n }\n var cols = this.primaryColumns.slice();\n if (this.gridColsArePrimary) {\n cols.sort(function (a, b) { return _this.gridColumns.indexOf(a) - _this.gridColumns.indexOf(b); });\n }\n else if (this.lastPrimaryOrder) {\n cols.sort(function (a, b) { return _this.lastPrimaryOrder.indexOf(a) - _this.lastPrimaryOrder.indexOf(b); });\n }\n return this.columnDefFactory.buildColumnDefs(cols, this.rowGroupColumns, this.pivotColumns);\n };\n // used by:\n // + angularGrid -> for setting body width\n // + rowController -> setting main row widths (when inserting and resizing)\n // need to cache this\n ColumnModel.prototype.getBodyContainerWidth = function () {\n return this.bodyWidth;\n };\n ColumnModel.prototype.getContainerWidth = function (pinned) {\n switch (pinned) {\n case Constants.PINNED_LEFT:\n return this.leftWidth;\n case Constants.PINNED_RIGHT:\n return this.rightWidth;\n default:\n return this.bodyWidth;\n }\n };\n // after setColumnWidth or updateGroupsAndDisplayedColumns\n ColumnModel.prototype.updateBodyWidths = function () {\n var newBodyWidth = this.getWidthOfColsInList(this.displayedColumnsCenter);\n var newLeftWidth = this.getWidthOfColsInList(this.displayedColumnsLeft);\n var newRightWidth = this.getWidthOfColsInList(this.displayedColumnsRight);\n // this is used by virtual col calculation, for RTL only, as a change to body width can impact displayed\n // columns, due to RTL inverting the y coordinates\n this.bodyWidthDirty = this.bodyWidth !== newBodyWidth;\n var atLeastOneChanged = this.bodyWidth !== newBodyWidth || this.leftWidth !== newLeftWidth || this.rightWidth !== newRightWidth;\n if (atLeastOneChanged) {\n this.bodyWidth = newBodyWidth;\n this.leftWidth = newLeftWidth;\n this.rightWidth = newRightWidth;\n // when this fires, it is picked up by the gridPanel, which ends up in\n // gridPanel calling setWidthAndScrollPosition(), which in turn calls setViewportPosition()\n var event_3 = {\n type: Events.EVENT_DISPLAYED_COLUMNS_WIDTH_CHANGED,\n api: this.gridApi,\n columnApi: this.columnApi\n };\n this.eventService.dispatchEvent(event_3);\n }\n };\n // + rowController\n ColumnModel.prototype.getValueColumns = function () {\n return this.valueColumns ? this.valueColumns : [];\n };\n // + rowController\n ColumnModel.prototype.getPivotColumns = function () {\n return this.pivotColumns ? this.pivotColumns : [];\n };\n // + clientSideRowModel\n ColumnModel.prototype.isPivotActive = function () {\n return this.pivotColumns && this.pivotColumns.length > 0 && this.pivotMode;\n };\n // + toolPanel\n ColumnModel.prototype.getRowGroupColumns = function () {\n return this.rowGroupColumns ? this.rowGroupColumns : [];\n };\n // + rowController -> while inserting rows\n ColumnModel.prototype.getDisplayedCenterColumns = function () {\n return this.displayedColumnsCenter;\n };\n // + rowController -> while inserting rows\n ColumnModel.prototype.getDisplayedLeftColumns = function () {\n return this.displayedColumnsLeft;\n };\n ColumnModel.prototype.getDisplayedRightColumns = function () {\n return this.displayedColumnsRight;\n };\n ColumnModel.prototype.getDisplayedColumns = function (type) {\n switch (type) {\n case Constants.PINNED_LEFT:\n return this.getDisplayedLeftColumns();\n case Constants.PINNED_RIGHT:\n return this.getDisplayedRightColumns();\n default:\n return this.getDisplayedCenterColumns();\n }\n };\n // used by:\n // + clientSideRowController -> sorting, building quick filter text\n // + headerRenderer -> sorting (clearing icon)\n ColumnModel.prototype.getAllPrimaryColumns = function () {\n return this.primaryColumns ? this.primaryColumns.slice() : null;\n };\n ColumnModel.prototype.getSecondaryColumns = function () {\n return this.secondaryColumns ? this.secondaryColumns.slice() : null;\n };\n ColumnModel.prototype.getAllColumnsForQuickFilter = function () {\n return this.columnsForQuickFilter;\n };\n // + moveColumnController\n ColumnModel.prototype.getAllGridColumns = function () {\n return this.gridColumns;\n };\n ColumnModel.prototype.isEmpty = function () {\n return missingOrEmpty(this.gridColumns);\n };\n ColumnModel.prototype.isRowGroupEmpty = function () {\n return missingOrEmpty(this.rowGroupColumns);\n };\n ColumnModel.prototype.setColumnVisible = function (key, visible, source) {\n if (source === void 0) { source = \"api\"; }\n this.setColumnsVisible([key], visible, source);\n };\n ColumnModel.prototype.setColumnsVisible = function (keys, visible, source) {\n var _this = this;\n if (visible === void 0) { visible = false; }\n if (source === void 0) { source = \"api\"; }\n this.columnAnimationService.start();\n this.actionOnGridColumns(keys, function (column) {\n if (column.isVisible() !== visible) {\n column.setVisible(visible, source);\n return true;\n }\n return false;\n }, source, function () {\n var event = {\n type: Events.EVENT_COLUMN_VISIBLE,\n visible: visible,\n column: null,\n columns: null,\n api: _this.gridApi,\n columnApi: _this.columnApi,\n source: source\n };\n return event;\n });\n this.columnAnimationService.finish();\n };\n ColumnModel.prototype.setColumnPinned = function (key, pinned, source) {\n if (source === void 0) { source = \"api\"; }\n if (key) {\n this.setColumnsPinned([key], pinned, source);\n }\n };\n ColumnModel.prototype.setColumnsPinned = function (keys, pinned, source) {\n var _this = this;\n if (source === void 0) { source = \"api\"; }\n if (this.gridOptionsWrapper.getDomLayout() === 'print') {\n console.warn(\"Changing the column pinning status is not allowed with domLayout='print'\");\n return;\n }\n this.columnAnimationService.start();\n var actualPinned;\n if (pinned === true || pinned === Constants.PINNED_LEFT) {\n actualPinned = Constants.PINNED_LEFT;\n }\n else if (pinned === Constants.PINNED_RIGHT) {\n actualPinned = Constants.PINNED_RIGHT;\n }\n else {\n actualPinned = null;\n }\n this.actionOnGridColumns(keys, function (col) {\n if (col.getPinned() !== actualPinned) {\n col.setPinned(actualPinned);\n return true;\n }\n return false;\n }, source, function () {\n var event = {\n type: Events.EVENT_COLUMN_PINNED,\n pinned: actualPinned,\n column: null,\n columns: null,\n api: _this.gridApi,\n columnApi: _this.columnApi,\n source: source\n };\n return event;\n });\n this.columnAnimationService.finish();\n };\n // does an action on a set of columns. provides common functionality for looking up the\n // columns based on key, getting a list of effected columns, and then updated the event\n // with either one column (if it was just one col) or a list of columns\n // used by: autoResize, setVisible, setPinned\n ColumnModel.prototype.actionOnGridColumns = function (// the column keys this action will be on\n keys, \n // the action to do - if this returns false, the column was skipped\n // and won't be included in the event\n action, \n // should return back a column event of the right type\n source, createEvent) {\n var _this = this;\n if (missingOrEmpty(keys)) {\n return;\n }\n var updatedColumns = [];\n keys.forEach(function (key) {\n var column = _this.getGridColumn(key);\n if (!column) {\n return;\n }\n // need to check for false with type (ie !== instead of !=)\n // as not returning anything (undefined) would also be false\n var resultOfAction = action(column);\n if (resultOfAction !== false) {\n updatedColumns.push(column);\n }\n });\n if (!updatedColumns.length) {\n return;\n }\n this.updateDisplayedColumns(source);\n if (exists(createEvent) && createEvent) {\n var event_4 = createEvent();\n event_4.columns = updatedColumns;\n event_4.column = updatedColumns.length === 1 ? updatedColumns[0] : null;\n this.eventService.dispatchEvent(event_4);\n }\n };\n ColumnModel.prototype.getDisplayedColBefore = function (col) {\n var allDisplayedColumns = this.getAllDisplayedColumns();\n var oldIndex = allDisplayedColumns.indexOf(col);\n if (oldIndex > 0) {\n return allDisplayedColumns[oldIndex - 1];\n }\n return null;\n };\n // used by:\n // + rowRenderer -> for navigation\n ColumnModel.prototype.getDisplayedColAfter = function (col) {\n var allDisplayedColumns = this.getAllDisplayedColumns();\n var oldIndex = allDisplayedColumns.indexOf(col);\n if (oldIndex < (allDisplayedColumns.length - 1)) {\n return allDisplayedColumns[oldIndex + 1];\n }\n return null;\n };\n ColumnModel.prototype.getDisplayedGroupAfter = function (columnGroup) {\n return this.getDisplayedGroupAtDirection(columnGroup, 'After');\n };\n ColumnModel.prototype.getDisplayedGroupBefore = function (columnGroup) {\n return this.getDisplayedGroupAtDirection(columnGroup, 'Before');\n };\n ColumnModel.prototype.getDisplayedGroupAtDirection = function (columnGroup, direction) {\n // pick the last displayed column in this group\n var requiredLevel = columnGroup.getProvidedColumnGroup().getLevel() + columnGroup.getPaddingLevel();\n var colGroupLeafColumns = columnGroup.getDisplayedLeafColumns();\n var col = direction === 'After' ? last(colGroupLeafColumns) : colGroupLeafColumns[0];\n var getDisplayColMethod = \"getDisplayedCol\" + direction;\n while (true) {\n // keep moving to the next col, until we get to another group\n var column = this[getDisplayColMethod](col);\n if (!column) {\n return null;\n }\n var groupPointer = this.getColumnGroupAtLevel(column, requiredLevel);\n if (groupPointer !== columnGroup) {\n return groupPointer;\n }\n }\n };\n ColumnModel.prototype.getColumnGroupAtLevel = function (column, level) {\n // get group at same level as the one we are looking for\n var groupPointer = column.getParent();\n var originalGroupLevel;\n var groupPointerLevel;\n while (true) {\n var groupPointerProvidedColumnGroup = groupPointer.getProvidedColumnGroup();\n originalGroupLevel = groupPointerProvidedColumnGroup.getLevel();\n groupPointerLevel = groupPointer.getPaddingLevel();\n if (originalGroupLevel + groupPointerLevel <= level) {\n break;\n }\n groupPointer = groupPointer.getParent();\n }\n return groupPointer;\n };\n ColumnModel.prototype.isPinningLeft = function () {\n return this.displayedColumnsLeft.length > 0;\n };\n ColumnModel.prototype.isPinningRight = function () {\n return this.displayedColumnsRight.length > 0;\n };\n ColumnModel.prototype.getPrimaryAndSecondaryAndAutoColumns = function () {\n var _a;\n return (_a = []).concat.apply(_a, __spread([\n this.primaryColumns || [],\n this.groupAutoColumns || [],\n this.secondaryColumns || [],\n ]));\n };\n ColumnModel.prototype.getPrimaryAndAutoGroupCols = function () {\n var _a;\n return (_a = []).concat.apply(_a, __spread([\n this.primaryColumns || [],\n this.groupAutoColumns || [],\n ]));\n };\n ColumnModel.prototype.getPrimaryAndSecondaryColumns = function () {\n var _a;\n return (_a = []).concat.apply(_a, __spread([\n this.primaryColumns || [],\n this.secondaryColumns || [],\n ]));\n };\n ColumnModel.prototype.createStateItemFromColumn = function (column) {\n var rowGroupIndex = column.isRowGroupActive() ? this.rowGroupColumns.indexOf(column) : null;\n var pivotIndex = column.isPivotActive() ? this.pivotColumns.indexOf(column) : null;\n var aggFunc = column.isValueActive() ? column.getAggFunc() : null;\n var sort = column.getSort() != null ? column.getSort() : null;\n var sortIndex = column.getSortIndex() != null ? column.getSortIndex() : null;\n var flex = column.getFlex() != null && column.getFlex() > 0 ? column.getFlex() : null;\n var res = {\n colId: column.getColId(),\n width: column.getActualWidth(),\n hide: !column.isVisible(),\n pinned: column.getPinned(),\n sort: sort,\n sortIndex: sortIndex,\n aggFunc: aggFunc,\n rowGroup: column.isRowGroupActive(),\n rowGroupIndex: rowGroupIndex,\n pivot: column.isPivotActive(),\n pivotIndex: pivotIndex,\n flex: flex\n };\n return res;\n };\n ColumnModel.prototype.getColumnState = function () {\n if (missing(this.primaryColumns) || !this.isAlive()) {\n return [];\n }\n var colsForState = this.getPrimaryAndSecondaryAndAutoColumns();\n var res = colsForState.map(this.createStateItemFromColumn.bind(this));\n this.orderColumnStateList(res);\n return res;\n };\n ColumnModel.prototype.orderColumnStateList = function (columnStateList) {\n // for fast looking, store the index of each column\n var colIdToGridIndexMap = convertToMap(this.gridColumns.map(function (col, index) { return [col.getColId(), index]; }));\n columnStateList.sort(function (itemA, itemB) {\n var posA = colIdToGridIndexMap.has(itemA.colId) ? colIdToGridIndexMap.get(itemA.colId) : -1;\n var posB = colIdToGridIndexMap.has(itemB.colId) ? colIdToGridIndexMap.get(itemB.colId) : -1;\n return posA - posB;\n });\n };\n ColumnModel.prototype.resetColumnState = function (source) {\n // NOTE = there is one bug here that no customer has noticed - if a column has colDef.lockPosition,\n // this is ignored below when ordering the cols. to work, we should always put lockPosition cols first.\n // As a work around, developers should just put lockPosition columns first in their colDef list.\n if (source === void 0) { source = \"api\"; }\n // we can't use 'allColumns' as the order might of messed up, so get the primary ordered list\n var primaryColumns = this.getColumnsFromTree(this.primaryColumnTree);\n var columnStates = [];\n // we start at 1000, so if user has mix of rowGroup and group specified, it will work with both.\n // eg IF user has ColA.rowGroupIndex=0, ColB.rowGroupIndex=1, ColC.rowGroup=true,\n // THEN result will be ColA.rowGroupIndex=0, ColB.rowGroupIndex=1, ColC.rowGroup=1000\n var letRowGroupIndex = 1000;\n var letPivotIndex = 1000;\n var colsToProcess = [];\n if (this.groupAutoColumns) {\n colsToProcess = colsToProcess.concat(this.groupAutoColumns);\n }\n if (primaryColumns) {\n colsToProcess = colsToProcess.concat(primaryColumns);\n }\n colsToProcess.forEach(function (column) {\n var getValueOrNull = function (a, b) { return a != null ? a : b != null ? b : null; };\n var colDef = column.getColDef();\n var sort = getValueOrNull(colDef.sort, colDef.initialSort);\n var sortIndex = getValueOrNull(colDef.sortIndex, colDef.initialSortIndex);\n var hide = getValueOrNull(colDef.hide, colDef.initialHide);\n var pinned = getValueOrNull(colDef.pinned, colDef.initialPinned);\n var width = getValueOrNull(colDef.width, colDef.initialWidth);\n var flex = getValueOrNull(colDef.flex, colDef.initialFlex);\n var rowGroupIndex = getValueOrNull(colDef.rowGroupIndex, colDef.initialRowGroupIndex);\n var rowGroup = getValueOrNull(colDef.rowGroup, colDef.initialRowGroup);\n if (rowGroupIndex == null && (rowGroup == null || rowGroup == false)) {\n rowGroupIndex = null;\n rowGroup = null;\n }\n var pivotIndex = getValueOrNull(colDef.pivotIndex, colDef.initialPivotIndex);\n var pivot = getValueOrNull(colDef.pivot, colDef.initialPivot);\n if (pivotIndex == null && (pivot == null || pivot == false)) {\n pivotIndex = null;\n pivot = null;\n }\n var aggFunc = getValueOrNull(colDef.aggFunc, colDef.initialAggFunc);\n var stateItem = {\n colId: column.getColId(),\n sort: sort,\n sortIndex: sortIndex,\n hide: hide,\n pinned: pinned,\n width: width,\n flex: flex,\n rowGroup: rowGroup,\n rowGroupIndex: rowGroupIndex,\n pivot: pivot,\n pivotIndex: pivotIndex,\n aggFunc: aggFunc,\n };\n if (missing(rowGroupIndex) && rowGroup) {\n stateItem.rowGroupIndex = letRowGroupIndex++;\n }\n if (missing(pivotIndex) && pivot) {\n stateItem.pivotIndex = letPivotIndex++;\n }\n columnStates.push(stateItem);\n });\n this.applyColumnState({ state: columnStates, applyOrder: true }, source);\n };\n ColumnModel.prototype.applyColumnState = function (params, source) {\n var _this = this;\n if (source === void 0) { source = \"api\"; }\n if (missingOrEmpty(this.primaryColumns)) {\n return false;\n }\n if (params && params.state && !params.state.forEach) {\n console.warn('AG Grid: applyColumnState() - the state attribute should be an array, however an array was not found. Please provide an array of items (one for each col you want to change) for state.');\n return false;\n }\n var applyStates = function (states, existingColumns, getById) {\n var raiseEventsFunc = _this.compareColumnStatesAndRaiseEvents(source);\n _this.autoGroupsNeedBuilding = true;\n // at the end below, this list will have all columns we got no state for\n var columnsWithNoState = existingColumns.slice();\n var rowGroupIndexes = {};\n var pivotIndexes = {};\n var autoGroupColumnStates = [];\n // If pivoting is modified, these are the states we try to reapply after\n // the secondary columns are re-generated\n var unmatchedAndAutoStates = [];\n var unmatchedCount = 0;\n var previousRowGroupCols = _this.rowGroupColumns.slice();\n var previousPivotCols = _this.pivotColumns.slice();\n states.forEach(function (state) {\n var colId = state.colId || '';\n // auto group columns are re-created so deferring syncing with ColumnState\n var isAutoGroupColumn = colId.startsWith(Constants.GROUP_AUTO_COLUMN_ID);\n if (isAutoGroupColumn) {\n autoGroupColumnStates.push(state);\n unmatchedAndAutoStates.push(state);\n return;\n }\n var column = getById(colId);\n if (!column) {\n unmatchedAndAutoStates.push(state);\n unmatchedCount += 1;\n }\n else {\n _this.syncColumnWithStateItem(column, state, params.defaultState, rowGroupIndexes, pivotIndexes, false, source);\n removeFromArray(columnsWithNoState, column);\n }\n });\n // anything left over, we got no data for, so add in the column as non-value, non-rowGroup and hidden\n var applyDefaultsFunc = function (col) {\n return _this.syncColumnWithStateItem(col, null, params.defaultState, rowGroupIndexes, pivotIndexes, false, source);\n };\n columnsWithNoState.forEach(applyDefaultsFunc);\n // sort the lists according to the indexes that were provided\n var comparator = function (indexes, oldList, colA, colB) {\n var indexA = indexes[colA.getId()];\n var indexB = indexes[colB.getId()];\n var aHasIndex = indexA != null;\n var bHasIndex = indexB != null;\n if (aHasIndex && bHasIndex) {\n // both a and b are new cols with index, so sort on index\n return indexA - indexB;\n }\n if (aHasIndex) {\n // a has an index, so it should be before a\n return -1;\n }\n if (bHasIndex) {\n // b has an index, so it should be before a\n return 1;\n }\n var oldIndexA = oldList.indexOf(colA);\n var oldIndexB = oldList.indexOf(colB);\n var aHasOldIndex = oldIndexA >= 0;\n var bHasOldIndex = oldIndexB >= 0;\n if (aHasOldIndex && bHasOldIndex) {\n // both a and b are old cols, so sort based on last order\n return oldIndexA - oldIndexB;\n }\n if (aHasOldIndex) {\n // a is old, b is new, so b is first\n return -1;\n }\n // this bit does matter, means both are new cols\n // but without index or that b is old and a is new\n return 1;\n };\n _this.rowGroupColumns.sort(comparator.bind(_this, rowGroupIndexes, previousRowGroupCols));\n _this.pivotColumns.sort(comparator.bind(_this, pivotIndexes, previousPivotCols));\n _this.updateGridColumns();\n // sync newly created auto group columns with ColumnState\n var autoGroupColsCopy = _this.groupAutoColumns ? _this.groupAutoColumns.slice() : [];\n autoGroupColumnStates.forEach(function (stateItem) {\n var autoCol = _this.getAutoColumn(stateItem.colId);\n removeFromArray(autoGroupColsCopy, autoCol);\n _this.syncColumnWithStateItem(autoCol, stateItem, params.defaultState, null, null, true, source);\n });\n // autogroup cols with nothing else, apply the default\n autoGroupColsCopy.forEach(applyDefaultsFunc);\n _this.applyOrderAfterApplyState(params);\n _this.updateDisplayedColumns(source);\n _this.dispatchEverythingChanged(source);\n raiseEventsFunc(); // Will trigger secondary column changes if pivoting modified\n return { unmatchedAndAutoStates: unmatchedAndAutoStates, unmatchedCount: unmatchedCount };\n };\n this.columnAnimationService.start();\n var _a = applyStates(params.state || [], this.primaryColumns || [], function (id) { return _this.getPrimaryColumn(id); }), unmatchedAndAutoStates = _a.unmatchedAndAutoStates, unmatchedCount = _a.unmatchedCount;\n // If there are still states left over, see if we can apply them to newly generated\n // secondary or auto columns. Also if defaults exist, ensure they are applied to secondary cols\n if (unmatchedAndAutoStates.length > 0 || exists(params.defaultState)) {\n unmatchedCount = applyStates(unmatchedAndAutoStates, this.secondaryColumns || [], function (id) { return _this.getSecondaryColumn(id); }).unmatchedCount;\n }\n this.columnAnimationService.finish();\n return unmatchedCount === 0; // Successful if no states unaccounted for\n };\n ColumnModel.prototype.applyOrderAfterApplyState = function (params) {\n var _this = this;\n if (!params.applyOrder || !params.state) {\n return;\n }\n var newOrder = [];\n var processedColIds = {};\n params.state.forEach(function (item) {\n if (!item.colId || processedColIds[item.colId]) {\n return;\n }\n var col = _this.gridColumnsMap[item.colId];\n if (col) {\n newOrder.push(col);\n processedColIds[item.colId] = true;\n }\n });\n // add in all other columns\n var autoGroupInsertIndex = 0;\n this.gridColumns.forEach(function (col) {\n var colId = col.getColId();\n var alreadyProcessed = processedColIds[colId] != null;\n if (alreadyProcessed) {\n return;\n }\n var isAutoGroupCol = colId.startsWith(Constants.GROUP_AUTO_COLUMN_ID);\n if (isAutoGroupCol) {\n // auto group columns, if missing from state list, are added to the start.\n // it's common to have autoGroup missing, as grouping could be on by default\n // on a column, but the user could of since removed the grouping via the UI.\n // if we don't inc the insert index, autoGroups will be inserted in reverse order\n insertIntoArray(newOrder, col, autoGroupInsertIndex++);\n }\n else {\n // normal columns, if missing from state list, are added at the end\n newOrder.push(col);\n }\n });\n // this is already done in updateGridColumns, however we changed the order above (to match the order of the state\n // columns) so we need to do it again. we could of put logic into the order above to take into account fixed\n // columns, however if we did then we would have logic for updating fixed columns twice. reusing the logic here\n // is less sexy for the code here, but it keeps consistency.\n newOrder = this.placeLockedColumns(newOrder);\n if (!this.doesMovePassMarryChildren(newOrder)) {\n console.warn('AG Grid: Applying column order broke a group where columns should be married together. Applying new order has been discarded.');\n return;\n }\n this.gridColumns = newOrder;\n };\n ColumnModel.prototype.compareColumnStatesAndRaiseEvents = function (source) {\n var _this = this;\n var startState = {\n rowGroupColumns: this.rowGroupColumns.slice(),\n pivotColumns: this.pivotColumns.slice(),\n valueColumns: this.valueColumns.slice()\n };\n var columnStateBefore = this.getColumnState();\n var columnStateBeforeMap = {};\n columnStateBefore.forEach(function (col) {\n columnStateBeforeMap[col.colId] = col;\n });\n return function () {\n if (_this.gridOptionsWrapper.isSuppressColumnStateEvents()) {\n return;\n }\n var colsForState = _this.getPrimaryAndSecondaryAndAutoColumns();\n // raises generic ColumnEvents where all columns are returned rather than what has changed\n var raiseWhenListsDifferent = function (eventType, colsBefore, colsAfter, idMapper) {\n var beforeList = colsBefore.map(idMapper);\n var afterList = colsAfter.map(idMapper);\n var unchanged = areEqual(beforeList, afterList);\n if (unchanged) {\n return;\n }\n // returning all columns rather than what has changed!\n var event = {\n type: eventType,\n columns: colsAfter,\n column: colsAfter.length === 1 ? colsAfter[0] : null,\n api: _this.gridApi,\n columnApi: _this.columnApi,\n source: source\n };\n _this.eventService.dispatchEvent(event);\n };\n // determines which columns have changed according to supplied predicate\n var getChangedColumns = function (changedPredicate) {\n var changedColumns = [];\n colsForState.forEach(function (column) {\n var colStateBefore = columnStateBeforeMap[column.getColId()];\n if (colStateBefore && changedPredicate(colStateBefore, column)) {\n changedColumns.push(column);\n }\n });\n return changedColumns;\n };\n var columnIdMapper = function (c) { return c.getColId(); };\n raiseWhenListsDifferent(Events.EVENT_COLUMN_ROW_GROUP_CHANGED, startState.rowGroupColumns, _this.rowGroupColumns, columnIdMapper);\n raiseWhenListsDifferent(Events.EVENT_COLUMN_PIVOT_CHANGED, startState.pivotColumns, _this.pivotColumns, columnIdMapper);\n var valueChangePredicate = function (cs, c) {\n var oldActive = cs.aggFunc != null;\n var activeChanged = oldActive != c.isValueActive();\n // we only check aggFunc if the agg is active\n var aggFuncChanged = oldActive && cs.aggFunc != c.getAggFunc();\n return activeChanged || aggFuncChanged;\n };\n var changedValues = getChangedColumns(valueChangePredicate);\n if (changedValues.length > 0) {\n // we pass all value columns, now the ones that changed. this is the same\n // as pivot and rowGroup cols, but different to all other properties below.\n // this is more for backwards compatibility, as it's always been this way.\n // really it should be the other way, as the order of the cols makes no difference\n // for valueColumns (apart from displaying them in the tool panel).\n _this.fireColumnEvent(Events.EVENT_COLUMN_VALUE_CHANGED, _this.valueColumns, source);\n }\n var resizeChangePredicate = function (cs, c) { return cs.width != c.getActualWidth(); };\n _this.fireColumnResizedEvent(getChangedColumns(resizeChangePredicate), true, source);\n var pinnedChangePredicate = function (cs, c) { return cs.pinned != c.getPinned(); };\n _this.raiseColumnPinnedEvent(getChangedColumns(pinnedChangePredicate), source);\n var visibilityChangePredicate = function (cs, c) { return cs.hide == c.isVisible(); };\n _this.raiseColumnVisibleEvent(getChangedColumns(visibilityChangePredicate), source);\n var sortChangePredicate = function (cs, c) { return cs.sort != c.getSort() || cs.sortIndex != c.getSortIndex(); };\n if (getChangedColumns(sortChangePredicate).length > 0) {\n _this.sortController.dispatchSortChangedEvents(source);\n }\n // special handling for moved column events\n _this.raiseColumnMovedEvent(columnStateBefore, source);\n };\n };\n ColumnModel.prototype.raiseColumnPinnedEvent = function (changedColumns, source) {\n if (!changedColumns.length) {\n return;\n }\n // if just one column, we use this, otherwise we don't include the col\n var column = changedColumns.length === 1 ? changedColumns[0] : null;\n // only include visible if it's common in all columns\n var pinned = this.getCommonValue(changedColumns, function (col) { return col.getPinned(); });\n var event = {\n type: Events.EVENT_COLUMN_PINNED,\n // mistake in typing, 'undefined' should be allowed, as 'null' means 'not pinned'\n pinned: pinned != null ? pinned : null,\n columns: changedColumns,\n column: column,\n api: this.gridApi,\n columnApi: this.columnApi,\n source: source\n };\n this.eventService.dispatchEvent(event);\n };\n ColumnModel.prototype.getCommonValue = function (cols, valueGetter) {\n if (!cols || cols.length == 0) {\n return undefined;\n }\n // compare each value to the first value. if nothing differs, then value is common so return it.\n var firstValue = valueGetter(cols[0]);\n for (var i = 1; i < cols.length; i++) {\n if (firstValue !== valueGetter(cols[i])) {\n // values differ, no common value\n return undefined;\n }\n }\n return firstValue;\n };\n ColumnModel.prototype.raiseColumnVisibleEvent = function (changedColumns, source) {\n if (!changedColumns.length) {\n return;\n }\n // if just one column, we use this, otherwise we don't include the col\n var column = changedColumns.length === 1 ? changedColumns[0] : null;\n // only include visible if it's common in all columns\n var visible = this.getCommonValue(changedColumns, function (col) { return col.isVisible(); });\n var event = {\n type: Events.EVENT_COLUMN_VISIBLE,\n visible: visible,\n columns: changedColumns,\n column: column,\n api: this.gridApi,\n columnApi: this.columnApi,\n source: source\n };\n this.eventService.dispatchEvent(event);\n };\n ColumnModel.prototype.raiseColumnMovedEvent = function (colStateBefore, source) {\n // we are only interested in columns that were both present and visible before and after\n var _this = this;\n var colStateAfter = this.getColumnState();\n var colStateAfterMapped = {};\n colStateAfter.forEach(function (s) { return colStateAfterMapped[s.colId] = s; });\n // get id's of cols in both before and after lists\n var colsIntersectIds = {};\n colStateBefore.forEach(function (s) {\n if (colStateAfterMapped[s.colId]) {\n colsIntersectIds[s.colId] = true;\n }\n });\n // filter state lists, so we only have cols that were present before and after\n var beforeFiltered = colStateBefore.filter(function (c) { return colsIntersectIds[c.colId]; });\n var afterFiltered = colStateAfter.filter(function (c) { return colsIntersectIds[c.colId]; });\n // see if any cols are in a different location\n var movedColumns = [];\n afterFiltered.forEach(function (csAfter, index) {\n var csBefore = beforeFiltered && beforeFiltered[index];\n if (csBefore && csBefore.colId !== csAfter.colId) {\n var gridCol = _this.getGridColumn(csBefore.colId);\n if (gridCol) {\n movedColumns.push(gridCol);\n }\n }\n });\n if (!movedColumns.length) {\n return;\n }\n var event = {\n type: Events.EVENT_COLUMN_MOVED,\n columns: movedColumns,\n column: null,\n api: this.gridApi,\n columnApi: this.columnApi,\n source: source\n };\n this.eventService.dispatchEvent(event);\n };\n ColumnModel.prototype.syncColumnWithStateItem = function (column, stateItem, defaultState, rowGroupIndexes, pivotIndexes, autoCol, source) {\n if (!column) {\n return;\n }\n var getValue = function (key1, key2) {\n var obj = { value1: undefined, value2: undefined };\n var calculated = false;\n if (stateItem) {\n if (stateItem[key1] !== undefined) {\n obj.value1 = stateItem[key1];\n calculated = true;\n }\n if (exists(key2) && stateItem[key2] !== undefined) {\n obj.value2 = stateItem[key2];\n calculated = true;\n }\n }\n if (!calculated && defaultState) {\n if (defaultState[key1] !== undefined) {\n obj.value1 = defaultState[key1];\n }\n if (exists(key2) && defaultState[key2] !== undefined) {\n obj.value2 = defaultState[key2];\n }\n }\n return obj;\n };\n // following ensures we are left with boolean true or false, eg converts (null, undefined, 0) all to true\n var hide = getValue('hide').value1;\n if (hide !== undefined) {\n column.setVisible(!hide, source);\n }\n // sets pinned to 'left' or 'right'\n var pinned = getValue('pinned').value1;\n if (pinned !== undefined) {\n column.setPinned(pinned);\n }\n // if width provided and valid, use it, otherwise stick with the old width\n var minColWidth = this.columnUtils.calculateColMinWidth(column.getColDef());\n // flex\n var flex = getValue('flex').value1;\n if (flex !== undefined) {\n column.setFlex(flex);\n }\n // width - we only set width if column is not flexing\n var noFlexThisCol = column.getFlex() <= 0;\n if (noFlexThisCol) {\n // both null and undefined means we skip, as it's not possible to 'clear' width (a column must have a width)\n var width = getValue('width').value1;\n if (width != null) {\n if (minColWidth != null && width >= minColWidth) {\n column.setActualWidth(width, source);\n }\n }\n }\n var sort = getValue('sort').value1;\n if (sort !== undefined) {\n if (sort === Constants.SORT_DESC || sort === Constants.SORT_ASC) {\n column.setSort(sort, source);\n }\n else {\n column.setSort(undefined, source);\n }\n }\n var sortIndex = getValue('sortIndex').value1;\n if (sortIndex !== undefined) {\n column.setSortIndex(sortIndex);\n }\n // we do not do aggFunc, rowGroup or pivot for auto cols or secondary cols\n if (autoCol || !column.isPrimary()) {\n return;\n }\n var aggFunc = getValue('aggFunc').value1;\n if (aggFunc !== undefined) {\n if (typeof aggFunc === 'string') {\n column.setAggFunc(aggFunc);\n if (!column.isValueActive()) {\n column.setValueActive(true, source);\n this.valueColumns.push(column);\n }\n }\n else {\n if (exists(aggFunc)) {\n console.warn('AG Grid: stateItem.aggFunc must be a string. if using your own aggregation ' +\n 'functions, register the functions first before using them in get/set state. This is because it is ' +\n 'intended for the column state to be stored and retrieved as simple JSON.');\n }\n // Note: we do not call column.setAggFunc(null), so that next time we aggregate\n // by this column (eg drag the column to the agg section int he toolpanel) it will\n // default to the last aggregation function.\n if (column.isValueActive()) {\n column.setValueActive(false, source);\n removeFromArray(this.valueColumns, column);\n }\n }\n }\n var _a = getValue('rowGroup', 'rowGroupIndex'), rowGroup = _a.value1, rowGroupIndex = _a.value2;\n if (rowGroup !== undefined || rowGroupIndex !== undefined) {\n if (typeof rowGroupIndex === 'number' || rowGroup) {\n if (!column.isRowGroupActive()) {\n column.setRowGroupActive(true, source);\n this.rowGroupColumns.push(column);\n }\n if (rowGroupIndexes && typeof rowGroupIndex === 'number') {\n rowGroupIndexes[column.getId()] = rowGroupIndex;\n }\n }\n else {\n if (column.isRowGroupActive()) {\n column.setRowGroupActive(false, source);\n removeFromArray(this.rowGroupColumns, column);\n }\n }\n }\n var _b = getValue('pivot', 'pivotIndex'), pivot = _b.value1, pivotIndex = _b.value2;\n if (pivot !== undefined || pivotIndex !== undefined) {\n if (typeof pivotIndex === 'number' || pivot) {\n if (!column.isPivotActive()) {\n column.setPivotActive(true, source);\n this.pivotColumns.push(column);\n }\n if (pivotIndexes && typeof pivotIndex === 'number') {\n pivotIndexes[column.getId()] = pivotIndex;\n }\n }\n else {\n if (column.isPivotActive()) {\n column.setPivotActive(false, source);\n removeFromArray(this.pivotColumns, column);\n }\n }\n }\n };\n ColumnModel.prototype.getGridColumns = function (keys) {\n return this.getColumns(keys, this.getGridColumn.bind(this));\n };\n ColumnModel.prototype.getColumns = function (keys, columnLookupCallback) {\n var foundColumns = [];\n if (keys) {\n keys.forEach(function (key) {\n var column = columnLookupCallback(key);\n if (column) {\n foundColumns.push(column);\n }\n });\n }\n return foundColumns;\n };\n // used by growGroupPanel\n ColumnModel.prototype.getColumnWithValidation = function (key) {\n if (key == null) {\n return null;\n }\n var column = this.getGridColumn(key);\n if (!column) {\n console.warn('AG Grid: could not find column ' + key);\n }\n return column;\n };\n ColumnModel.prototype.getPrimaryColumn = function (key) {\n if (!this.primaryColumns) {\n return null;\n }\n return this.getColumn(key, this.primaryColumns, this.primaryColumnsMap);\n };\n ColumnModel.prototype.getGridColumn = function (key) {\n return this.getColumn(key, this.gridColumns, this.gridColumnsMap);\n };\n ColumnModel.prototype.getSecondaryColumn = function (key) {\n if (!this.secondaryColumns) {\n return null;\n }\n return this.getColumn(key, this.secondaryColumns, this.secondaryColumnsMap);\n };\n ColumnModel.prototype.getColumn = function (key, columnList, columnMap) {\n if (!key) {\n return null;\n }\n // most of the time this method gets called the key is a string, so we put this shortcut in\n // for performance reasons, to see if we can match for ID (it doesn't do auto columns, that's done below)\n if (typeof key == 'string' && columnMap[key]) {\n return columnMap[key];\n }\n for (var i = 0; i < columnList.length; i++) {\n if (this.columnsMatch(columnList[i], key)) {\n return columnList[i];\n }\n }\n return this.getAutoColumn(key);\n };\n ColumnModel.prototype.getAutoColumn = function (key) {\n var _this = this;\n if (!this.groupAutoColumns ||\n !exists(this.groupAutoColumns) ||\n missing(this.groupAutoColumns)) {\n return null;\n }\n return this.groupAutoColumns.find(function (groupCol) { return _this.columnsMatch(groupCol, key); }) || null;\n };\n ColumnModel.prototype.columnsMatch = function (column, key) {\n var columnMatches = column === key;\n var colDefMatches = column.getColDef() === key;\n var idMatches = column.getColId() == key;\n return columnMatches || colDefMatches || idMatches;\n };\n ColumnModel.prototype.getDisplayNameForColumn = function (column, location, includeAggFunc) {\n if (includeAggFunc === void 0) { includeAggFunc = false; }\n if (!column) {\n return null;\n }\n var headerName = this.getHeaderName(column.getColDef(), column, null, null, location);\n if (includeAggFunc) {\n return this.wrapHeaderNameWithAggFunc(column, headerName);\n }\n return headerName;\n };\n ColumnModel.prototype.getDisplayNameForProvidedColumnGroup = function (columnGroup, providedColumnGroup, location) {\n var colGroupDef = providedColumnGroup ? providedColumnGroup.getColGroupDef() : null;\n if (colGroupDef) {\n return this.getHeaderName(colGroupDef, null, columnGroup, providedColumnGroup, location);\n }\n return null;\n };\n ColumnModel.prototype.getDisplayNameForColumnGroup = function (columnGroup, location) {\n return this.getDisplayNameForProvidedColumnGroup(columnGroup, columnGroup.getProvidedColumnGroup(), location);\n };\n // location is where the column is going to appear, ie who is calling us\n ColumnModel.prototype.getHeaderName = function (colDef, column, columnGroup, providedColumnGroup, location) {\n var headerValueGetter = colDef.headerValueGetter;\n if (headerValueGetter) {\n var params = {\n colDef: colDef,\n column: column,\n columnGroup: columnGroup,\n providedColumnGroup: providedColumnGroup,\n location: location,\n api: this.gridOptionsWrapper.getApi(),\n columnApi: this.gridOptionsWrapper.getColumnApi(),\n context: this.gridOptionsWrapper.getContext()\n };\n if (typeof headerValueGetter === 'function') {\n // valueGetter is a function, so just call it\n return headerValueGetter(params);\n }\n else if (typeof headerValueGetter === 'string') {\n // valueGetter is an expression, so execute the expression\n return this.expressionService.evaluate(headerValueGetter, params);\n }\n console.warn('ag-grid: headerValueGetter must be a function or a string');\n return '';\n }\n else if (colDef.headerName != null) {\n return colDef.headerName;\n }\n else if (colDef.field) {\n return camelCaseToHumanText(colDef.field);\n }\n return '';\n };\n ColumnModel.prototype.wrapHeaderNameWithAggFunc = function (column, headerName) {\n if (this.gridOptionsWrapper.isSuppressAggFuncInHeader()) {\n return headerName;\n }\n // only columns with aggregation active can have aggregations\n var pivotValueColumn = column.getColDef().pivotValueColumn;\n var pivotActiveOnThisColumn = exists(pivotValueColumn);\n var aggFunc = null;\n var aggFuncFound;\n // otherwise we have a measure that is active, and we are doing aggregation on it\n if (pivotActiveOnThisColumn) {\n var isCollapsedHeaderEnabled = this.gridOptionsWrapper.isRemovePivotHeaderRowWhenSingleValueColumn() && this.valueColumns.length === 1;\n var isTotalColumn = column.getColDef().pivotTotalColumnIds !== undefined;\n if (isCollapsedHeaderEnabled && !isTotalColumn) {\n return headerName; // Skip decorating the header - in this case the label is the pivot key, not the value col\n }\n aggFunc = pivotValueColumn ? pivotValueColumn.getAggFunc() : null;\n aggFuncFound = true;\n }\n else {\n var measureActive = column.isValueActive();\n var aggregationPresent = this.pivotMode || !this.isRowGroupEmpty();\n if (measureActive && aggregationPresent) {\n aggFunc = column.getAggFunc();\n aggFuncFound = true;\n }\n else {\n aggFuncFound = false;\n }\n }\n if (aggFuncFound) {\n var aggFuncString = (typeof aggFunc === 'string') ? aggFunc : 'func';\n var localeTextFunc = this.gridOptionsWrapper.getLocaleTextFunc();\n var aggFuncStringTranslated = localeTextFunc(aggFuncString, aggFuncString);\n return aggFuncStringTranslated + \"(\" + headerName + \")\";\n }\n return headerName;\n };\n // returns the group with matching colId and instanceId. If instanceId is missing,\n // matches only on the colId.\n ColumnModel.prototype.getColumnGroup = function (colId, instanceId) {\n if (!colId) {\n return null;\n }\n if (colId instanceof ColumnGroup) {\n return colId;\n }\n var allColumnGroups = this.getAllDisplayedTrees();\n var checkInstanceId = typeof instanceId === 'number';\n var result = null;\n this.columnUtils.depthFirstAllColumnTreeSearch(allColumnGroups, function (child) {\n if (child instanceof ColumnGroup) {\n var columnGroup = child;\n var matched = void 0;\n if (checkInstanceId) {\n matched = colId === columnGroup.getGroupId() && instanceId === columnGroup.getInstanceId();\n }\n else {\n matched = colId === columnGroup.getGroupId();\n }\n if (matched) {\n result = columnGroup;\n }\n }\n });\n return result;\n };\n ColumnModel.prototype.isReady = function () {\n return this.ready;\n };\n ColumnModel.prototype.extractValueColumns = function (source, oldPrimaryColumns) {\n this.valueColumns = this.extractColumns(oldPrimaryColumns, this.valueColumns, function (col, flag) { return col.setValueActive(flag, source); }, \n // aggFunc doesn't have index variant, cos order of value cols doesn't matter, so always return null\n function () { return undefined; }, function () { return undefined; }, \n // aggFunc is a string, so return it's existence\n function (colDef) {\n var aggFunc = colDef.aggFunc;\n // null or empty string means clear\n if (aggFunc === null || aggFunc === '') {\n return null;\n }\n if (aggFunc === undefined) {\n return;\n }\n return !!aggFunc;\n }, function (colDef) {\n // return false if any of the following: null, undefined, empty string\n return colDef.initialAggFunc != null && colDef.initialAggFunc != '';\n });\n // all new columns added will have aggFunc missing, so set it to what is in the colDef\n this.valueColumns.forEach(function (col) {\n var colDef = col.getColDef();\n // if aggFunc provided, we always override, as reactive property\n if (colDef.aggFunc != null && colDef.aggFunc != '') {\n col.setAggFunc(colDef.aggFunc);\n }\n else {\n // otherwise we use initialAggFunc only if no agg func set - which happens when new column only\n if (!col.getAggFunc()) {\n col.setAggFunc(colDef.initialAggFunc);\n }\n }\n });\n };\n ColumnModel.prototype.extractRowGroupColumns = function (source, oldPrimaryColumns) {\n this.rowGroupColumns = this.extractColumns(oldPrimaryColumns, this.rowGroupColumns, function (col, flag) { return col.setRowGroupActive(flag, source); }, function (colDef) { return colDef.rowGroupIndex; }, function (colDef) { return colDef.initialRowGroupIndex; }, function (colDef) { return colDef.rowGroup; }, function (colDef) { return colDef.initialRowGroup; });\n };\n ColumnModel.prototype.extractColumns = function (oldPrimaryColumns, previousCols, setFlagFunc, getIndexFunc, getInitialIndexFunc, getValueFunc, getInitialValueFunc) {\n if (oldPrimaryColumns === void 0) { oldPrimaryColumns = []; }\n if (previousCols === void 0) { previousCols = []; }\n var colsWithIndex = [];\n var colsWithValue = [];\n // go though all cols.\n // if value, change\n // if default only, change only if new\n (this.primaryColumns || []).forEach(function (col) {\n var colIsNew = oldPrimaryColumns.indexOf(col) < 0;\n var colDef = col.getColDef();\n var value = attrToBoolean(getValueFunc(colDef));\n var initialValue = attrToBoolean(getInitialValueFunc(colDef));\n var index = attrToNumber(getIndexFunc(colDef));\n var initialIndex = attrToNumber(getInitialIndexFunc(colDef));\n var include;\n var valuePresent = value !== undefined;\n var indexPresent = index !== undefined;\n var initialValuePresent = initialValue !== undefined;\n var initialIndexPresent = initialIndex !== undefined;\n if (valuePresent) {\n include = value; // boolean value is guaranteed as attrToBoolean() is used above\n }\n else if (indexPresent) {\n if (index === null) {\n // if col is new we don't want to use the default / initial if index is set to null. Similarly,\n // we don't want to include the property for existing columns, i.e. we want to 'clear' it.\n include = false;\n }\n else {\n // note that 'null >= 0' evaluates to true which means 'rowGroupIndex = null' would enable row\n // grouping if the null check didn't exist above.\n include = index >= 0;\n }\n }\n else {\n if (colIsNew) {\n // as no value or index is 'present' we use the default / initial when col is new\n if (initialValuePresent) {\n include = initialValue;\n }\n else if (initialIndexPresent) {\n include = initialIndex != null && initialIndex >= 0;\n }\n else {\n include = false;\n }\n }\n else {\n // otherwise include it if included last time, e.g. if we are extracting row group cols and this col\n // is an existing row group col (i.e. it exists in 'previousCols') then we should include it.\n include = previousCols.indexOf(col) >= 0;\n }\n }\n if (include) {\n var useIndex = colIsNew ? (index != null || initialIndex != null) : index != null;\n useIndex ? colsWithIndex.push(col) : colsWithValue.push(col);\n }\n });\n var getIndexForCol = function (col) {\n var index = getIndexFunc(col.getColDef());\n var defaultIndex = getInitialIndexFunc(col.getColDef());\n return index != null ? index : defaultIndex;\n };\n // sort cols with index, and add these first\n colsWithIndex.sort(function (colA, colB) {\n var indexA = getIndexForCol(colA);\n var indexB = getIndexForCol(colB);\n if (indexA === indexB) {\n return 0;\n }\n if (indexA < indexB) {\n return -1;\n }\n return 1;\n });\n var res = [].concat(colsWithIndex);\n // second add columns that were there before and in the same order as they were before,\n // so we are preserving order of current grouping of columns that simply have rowGroup=true\n previousCols.forEach(function (col) {\n if (colsWithValue.indexOf(col) >= 0) {\n res.push(col);\n }\n });\n // lastly put in all remaining cols\n colsWithValue.forEach(function (col) {\n if (res.indexOf(col) < 0) {\n res.push(col);\n }\n });\n // set flag=false for removed cols\n previousCols.forEach(function (col) {\n if (res.indexOf(col) < 0) {\n setFlagFunc(col, false);\n }\n });\n // set flag=true for newly added cols\n res.forEach(function (col) {\n if (previousCols.indexOf(col) < 0) {\n setFlagFunc(col, true);\n }\n });\n return res;\n };\n ColumnModel.prototype.extractPivotColumns = function (source, oldPrimaryColumns) {\n this.pivotColumns = this.extractColumns(oldPrimaryColumns, this.pivotColumns, function (col, flag) { return col.setPivotActive(flag, source); }, function (colDef) { return colDef.pivotIndex; }, function (colDef) { return colDef.initialPivotIndex; }, function (colDef) { return colDef.pivot; }, function (colDef) { return colDef.initialPivot; });\n };\n ColumnModel.prototype.resetColumnGroupState = function (source) {\n if (source === void 0) { source = \"api\"; }\n var stateItems = [];\n this.columnUtils.depthFirstOriginalTreeSearch(null, this.primaryColumnTree, function (child) {\n if (child instanceof ProvidedColumnGroup) {\n var colGroupDef = child.getColGroupDef();\n var groupState = {\n groupId: child.getGroupId(),\n open: !colGroupDef ? undefined : colGroupDef.openByDefault\n };\n stateItems.push(groupState);\n }\n });\n this.setColumnGroupState(stateItems, source);\n };\n ColumnModel.prototype.getColumnGroupState = function () {\n var columnGroupState = [];\n this.columnUtils.depthFirstOriginalTreeSearch(null, this.gridBalancedTree, function (node) {\n if (node instanceof ProvidedColumnGroup) {\n columnGroupState.push({\n groupId: node.getGroupId(),\n open: node.isExpanded()\n });\n }\n });\n return columnGroupState;\n };\n ColumnModel.prototype.setColumnGroupState = function (stateItems, source) {\n var _this = this;\n if (source === void 0) { source = \"api\"; }\n this.columnAnimationService.start();\n var impactedGroups = [];\n stateItems.forEach(function (stateItem) {\n var groupKey = stateItem.groupId;\n var newValue = stateItem.open;\n var providedColumnGroup = _this.getProvidedColumnGroup(groupKey);\n if (!providedColumnGroup) {\n return;\n }\n if (providedColumnGroup.isExpanded() === newValue) {\n return;\n }\n _this.logger.log('columnGroupOpened(' + providedColumnGroup.getGroupId() + ',' + newValue + ')');\n providedColumnGroup.setExpanded(newValue);\n impactedGroups.push(providedColumnGroup);\n });\n this.updateGroupsAndDisplayedColumns(source);\n this.setFirstRightAndLastLeftPinned(source);\n impactedGroups.forEach(function (providedColumnGroup) {\n var event = {\n type: Events.EVENT_COLUMN_GROUP_OPENED,\n columnGroup: providedColumnGroup,\n api: _this.gridApi,\n columnApi: _this.columnApi\n };\n _this.eventService.dispatchEvent(event);\n });\n this.columnAnimationService.finish();\n };\n // called by headerRenderer - when a header is opened or closed\n ColumnModel.prototype.setColumnGroupOpened = function (key, newValue, source) {\n if (source === void 0) { source = \"api\"; }\n var keyAsString;\n if (key instanceof ProvidedColumnGroup) {\n keyAsString = key.getId();\n }\n else {\n keyAsString = key || '';\n }\n this.setColumnGroupState([{ groupId: keyAsString, open: newValue }], source);\n };\n ColumnModel.prototype.getProvidedColumnGroup = function (key) {\n // if (key instanceof ProvidedColumnGroup) { return key; }\n if (typeof key !== 'string') {\n console.error('AG Grid: group key must be a string');\n }\n // otherwise, search for the column group by id\n var res = null;\n this.columnUtils.depthFirstOriginalTreeSearch(null, this.gridBalancedTree, function (node) {\n if (node instanceof ProvidedColumnGroup) {\n if (node.getId() === key) {\n res = node;\n }\n }\n });\n return res;\n };\n ColumnModel.prototype.calculateColumnsForDisplay = function () {\n var _this = this;\n var columnsForDisplay;\n if (this.pivotMode && missing(this.secondaryColumns)) {\n // pivot mode is on, but we are not pivoting, so we only\n // show columns we are aggregating on\n columnsForDisplay = this.gridColumns.filter(function (column) {\n var isAutoGroupCol = _this.groupAutoColumns && includes(_this.groupAutoColumns, column);\n var isValueCol = _this.valueColumns && includes(_this.valueColumns, column);\n return isAutoGroupCol || isValueCol;\n });\n }\n else {\n // otherwise continue as normal. this can be working on the primary\n // or secondary columns, whatever the gridColumns are set to\n columnsForDisplay = this.gridColumns.filter(function (column) {\n // keep col if a) it's auto-group or b) it's visible\n var isAutoGroupCol = _this.groupAutoColumns && includes(_this.groupAutoColumns, column);\n return isAutoGroupCol || column.isVisible();\n });\n }\n return columnsForDisplay;\n };\n ColumnModel.prototype.checkColSpanActiveInCols = function (columns) {\n var result = false;\n columns.forEach(function (col) {\n if (exists(col.getColDef().colSpan)) {\n result = true;\n }\n });\n return result;\n };\n ColumnModel.prototype.calculateColumnsForGroupDisplay = function () {\n var _this = this;\n this.groupDisplayColumns = [];\n var checkFunc = function (col) {\n var colDef = col.getColDef();\n if (colDef && exists(colDef.showRowGroup)) {\n _this.groupDisplayColumns.push(col);\n }\n };\n this.gridColumns.forEach(checkFunc);\n if (this.groupAutoColumns) {\n this.groupAutoColumns.forEach(checkFunc);\n }\n };\n ColumnModel.prototype.getGroupDisplayColumns = function () {\n return this.groupDisplayColumns;\n };\n ColumnModel.prototype.updateDisplayedColumns = function (source) {\n var columnsForDisplay = this.calculateColumnsForDisplay();\n this.buildDisplayedTrees(columnsForDisplay);\n this.calculateColumnsForGroupDisplay();\n // also called when group opened/closed\n this.updateGroupsAndDisplayedColumns(source);\n // also called when group opened/closed\n this.setFirstRightAndLastLeftPinned(source);\n };\n ColumnModel.prototype.isSecondaryColumnsPresent = function () {\n return exists(this.secondaryColumns);\n };\n ColumnModel.prototype.setSecondaryColumns = function (colDefs, source) {\n var _this = this;\n if (source === void 0) { source = \"api\"; }\n var newColsPresent = colDefs && colDefs.length > 0;\n // if not cols passed, and we had no cols anyway, then do nothing\n if (!newColsPresent && missing(this.secondaryColumns)) {\n return;\n }\n if (newColsPresent) {\n this.processSecondaryColumnDefinitions(colDefs);\n var balancedTreeResult = this.columnFactory.createColumnTree(colDefs, false, this.secondaryBalancedTree || this.previousSecondaryColumns || undefined);\n this.secondaryBalancedTree = balancedTreeResult.columnTree;\n this.secondaryHeaderRowCount = balancedTreeResult.treeDept + 1;\n this.secondaryColumns = this.getColumnsFromTree(this.secondaryBalancedTree);\n this.secondaryColumnsMap = {};\n this.secondaryColumns.forEach(function (col) { return _this.secondaryColumnsMap[col.getId()] = col; });\n this.previousSecondaryColumns = null;\n }\n else {\n this.previousSecondaryColumns = this.secondaryBalancedTree;\n this.secondaryBalancedTree = null;\n this.secondaryHeaderRowCount = -1;\n this.secondaryColumns = null;\n this.secondaryColumnsMap = {};\n }\n this.updateGridColumns();\n this.updateDisplayedColumns(source);\n };\n ColumnModel.prototype.processSecondaryColumnDefinitions = function (colDefs) {\n var columnCallback = this.gridOptionsWrapper.getProcessSecondaryColDefFunc();\n var groupCallback = this.gridOptionsWrapper.getProcessSecondaryColGroupDefFunc();\n if (!columnCallback && !groupCallback) {\n return undefined;\n }\n var searchForColDefs = function (colDefs2) {\n colDefs2.forEach(function (abstractColDef) {\n var isGroup = exists(abstractColDef.children);\n if (isGroup) {\n var colGroupDef = abstractColDef;\n if (groupCallback) {\n groupCallback(colGroupDef);\n }\n searchForColDefs(colGroupDef.children);\n }\n else {\n var colDef = abstractColDef;\n if (columnCallback) {\n columnCallback(colDef);\n }\n }\n });\n };\n if (colDefs) {\n searchForColDefs(colDefs);\n }\n };\n // called from: setColumnState, setColumnDefs, setSecondaryColumns\n ColumnModel.prototype.updateGridColumns = function () {\n var _this = this;\n if (this.gridColsArePrimary) {\n this.lastPrimaryOrder = this.gridColumns;\n }\n else {\n this.lastSecondaryOrder = this.gridColumns;\n }\n if (this.secondaryColumns && this.secondaryBalancedTree) {\n var hasSameColumns = this.secondaryColumns.every(function (col) {\n return _this.gridColumnsMap[col.getColId()] !== undefined;\n });\n this.gridBalancedTree = this.secondaryBalancedTree.slice();\n this.gridHeaderRowCount = this.secondaryHeaderRowCount;\n this.gridColumns = this.secondaryColumns.slice();\n this.gridColsArePrimary = false;\n // If the current columns are the same or a subset of the previous\n // we keep the previous order, otherwise we go back to the order the pivot\n // cols are generated in\n if (hasSameColumns) {\n this.orderGridColsLike(this.lastSecondaryOrder);\n }\n }\n else if (this.primaryColumns) {\n this.gridBalancedTree = this.primaryColumnTree.slice();\n this.gridHeaderRowCount = this.primaryHeaderRowCount;\n this.gridColumns = this.primaryColumns.slice();\n this.gridColsArePrimary = true;\n // updateGridColumns gets called after user adds a row group. we want to maintain the order of the columns\n // when this happens (eg if user moved a column) rather than revert back to the original column order.\n // likewise if changing in/out of pivot mode, we want to maintain the order of the cols\n this.orderGridColsLike(this.lastPrimaryOrder);\n }\n this.addAutoGroupToGridColumns();\n this.gridColumns = this.placeLockedColumns(this.gridColumns);\n this.setupQuickFilterColumns();\n this.clearDisplayedAndViewportColumns();\n this.colSpanActive = this.checkColSpanActiveInCols(this.gridColumns);\n this.gridColumnsMap = {};\n this.gridColumns.forEach(function (col) { return _this.gridColumnsMap[col.getId()] = col; });\n this.setAutoHeightActive();\n var event = {\n type: Events.EVENT_GRID_COLUMNS_CHANGED,\n api: this.gridApi,\n columnApi: this.columnApi\n };\n this.eventService.dispatchEvent(event);\n };\n ColumnModel.prototype.setAutoHeightActive = function () {\n this.autoHeightActive = this.gridColumns.filter(function (col) { return col.isAutoHeight(); }).length > 0;\n if (this.autoHeightActive) {\n this.autoHeightActiveAtLeastOnce = true;\n var rowModelType = this.rowModel.getType();\n var supportedRowModel = rowModelType === Constants.ROW_MODEL_TYPE_CLIENT_SIDE || rowModelType === Constants.ROW_MODEL_TYPE_SERVER_SIDE;\n if (!supportedRowModel) {\n var message_1 = 'AG Grid - autoHeight columns only work with Client Side Row Model and Server Side Row Model.';\n doOnce(function () { return console.warn(message_1); }, 'autoHeightActive.wrongRowModel');\n }\n }\n };\n ColumnModel.prototype.orderGridColsLike = function (colsOrder) {\n if (missing(colsOrder)) {\n return;\n }\n var lastOrderMapped = convertToMap(colsOrder.map(function (col, index) { return [col, index]; }));\n // only do the sort if at least one column is accounted for. columns will be not accounted for\n // if changing from secondary to primary columns\n var noColsFound = true;\n this.gridColumns.forEach(function (col) {\n if (lastOrderMapped.has(col)) {\n noColsFound = false;\n }\n });\n if (noColsFound) {\n return;\n }\n // order cols in the same order as before. we need to make sure that all\n // cols still exists, so filter out any that no longer exist.\n var gridColsMap = convertToMap(this.gridColumns.map(function (col) { return [col, true]; }));\n var oldColsOrdered = colsOrder.filter(function (col) { return gridColsMap.has(col); });\n var oldColsMap = convertToMap(oldColsOrdered.map(function (col) { return [col, true]; }));\n var newColsOrdered = this.gridColumns.filter(function (col) { return !oldColsMap.has(col); });\n // add in the new columns, at the end (if no group), or at the end of the group (if a group)\n var newGridColumns = oldColsOrdered.slice();\n newColsOrdered.forEach(function (newCol) {\n var parent = newCol.getOriginalParent();\n // if no parent, means we are not grouping, so just add the column to the end\n if (!parent) {\n newGridColumns.push(newCol);\n return;\n }\n // find the group the column belongs to. if no siblings at the current level (eg col in group on it's\n // own) then go up one level and look for siblings there.\n var siblings = [];\n while (!siblings.length && parent) {\n var leafCols = parent.getLeafColumns();\n leafCols.forEach(function (leafCol) {\n var presentInNewGriColumns = newGridColumns.indexOf(leafCol) >= 0;\n var noYetInSiblings = siblings.indexOf(leafCol) < 0;\n if (presentInNewGriColumns && noYetInSiblings) {\n siblings.push(leafCol);\n }\n });\n parent = parent.getOriginalParent();\n }\n // if no siblings exist at any level, this means the col is in a group (or parent groups) on it's own\n if (!siblings.length) {\n newGridColumns.push(newCol);\n return;\n }\n // find index of last column in the group\n var indexes = siblings.map(function (col) { return newGridColumns.indexOf(col); });\n var lastIndex = Math.max.apply(Math, __spread(indexes));\n insertIntoArray(newGridColumns, newCol, lastIndex + 1);\n });\n this.gridColumns = newGridColumns;\n };\n ColumnModel.prototype.isPrimaryColumnGroupsPresent = function () {\n return this.primaryHeaderRowCount > 1;\n };\n // if we are using autoGroupCols, then they should be included for quick filter. this covers the\n // following scenarios:\n // a) user provides 'field' into autoGroupCol of normal grid, so now because a valid col to filter leafs on\n // b) using tree data and user depends on autoGroupCol for first col, and we also want to filter on this\n // (tree data is a bit different, as parent rows can be filtered on, unlike row grouping)\n ColumnModel.prototype.setupQuickFilterColumns = function () {\n if (this.groupAutoColumns) {\n this.columnsForQuickFilter = (this.primaryColumns || []).concat(this.groupAutoColumns);\n }\n else if (this.primaryColumns) {\n this.columnsForQuickFilter = this.primaryColumns;\n }\n };\n ColumnModel.prototype.placeLockedColumns = function (cols) {\n var left = [];\n var normal = [];\n var right = [];\n cols.forEach(function (col) {\n var position = col.getColDef().lockPosition;\n if (position === 'right') {\n right.push(col);\n }\n else if (position === 'left' || position === true) {\n left.push(col);\n }\n else {\n normal.push(col);\n }\n });\n return __spread(left, normal, right);\n };\n ColumnModel.prototype.addAutoGroupToGridColumns = function () {\n // add in auto-group here\n this.createGroupAutoColumnsIfNeeded();\n if (missing(this.groupAutoColumns)) {\n return;\n }\n this.gridColumns = this.groupAutoColumns ? this.groupAutoColumns.concat(this.gridColumns) : this.gridColumns;\n var autoColBalancedTree = this.columnFactory.createForAutoGroups(this.groupAutoColumns, this.gridBalancedTree);\n this.gridBalancedTree = autoColBalancedTree.concat(this.gridBalancedTree);\n };\n // gets called after we copy down grid columns, to make sure any part of the gui\n // that tries to draw, eg the header, it will get empty lists of columns rather\n // than stale columns. for example, the header will received gridColumnsChanged\n // event, so will try and draw, but it will draw successfully when it acts on the\n // virtualColumnsChanged event\n ColumnModel.prototype.clearDisplayedAndViewportColumns = function () {\n this.displayedTreeLeft = [];\n this.displayedTreeRight = [];\n this.displayedTreeCentre = [];\n this.viewportRowLeft = {};\n this.viewportRowRight = {};\n this.viewportRowCenter = {};\n this.displayedColumnsLeft = [];\n this.displayedColumnsRight = [];\n this.displayedColumnsCenter = [];\n this.displayedColumns = [];\n this.viewportColumns = [];\n };\n ColumnModel.prototype.updateGroupsAndDisplayedColumns = function (source) {\n this.updateOpenClosedVisibilityInColumnGroups();\n this.deriveDisplayedColumns(source);\n this.refreshFlexedColumns();\n this.extractViewport();\n this.updateBodyWidths();\n // this event is picked up by the gui, headerRenderer and rowRenderer, to recalculate what columns to display\n var event = {\n type: Events.EVENT_DISPLAYED_COLUMNS_CHANGED,\n api: this.gridApi,\n columnApi: this.columnApi\n };\n this.eventService.dispatchEvent(event);\n };\n ColumnModel.prototype.deriveDisplayedColumns = function (source) {\n this.derivedDisplayedColumnsFromDisplayedTree(this.displayedTreeLeft, this.displayedColumnsLeft);\n this.derivedDisplayedColumnsFromDisplayedTree(this.displayedTreeCentre, this.displayedColumnsCenter);\n this.derivedDisplayedColumnsFromDisplayedTree(this.displayedTreeRight, this.displayedColumnsRight);\n this.joinDisplayedColumns();\n this.setLeftValues(source);\n this.displayedAutoHeightCols = this.displayedColumns.filter(function (col) { return col.isAutoHeight(); });\n };\n ColumnModel.prototype.isAutoRowHeightActive = function () {\n return this.autoHeightActive;\n };\n ColumnModel.prototype.wasAutoRowHeightEverActive = function () {\n return this.autoHeightActiveAtLeastOnce;\n };\n ColumnModel.prototype.joinDisplayedColumns = function () {\n if (this.gridOptionsWrapper.isEnableRtl()) {\n this.displayedColumns = this.displayedColumnsRight\n .concat(this.displayedColumnsCenter)\n .concat(this.displayedColumnsLeft);\n }\n else {\n this.displayedColumns = this.displayedColumnsLeft\n .concat(this.displayedColumnsCenter)\n .concat(this.displayedColumnsRight);\n }\n };\n // sets the left pixel position of each column\n ColumnModel.prototype.setLeftValues = function (source) {\n this.setLeftValuesOfColumns(source);\n this.setLeftValuesOfGroups();\n };\n ColumnModel.prototype.setLeftValuesOfColumns = function (source) {\n var _this = this;\n if (!this.primaryColumns) {\n return;\n }\n // go through each list of displayed columns\n var allColumns = this.primaryColumns.slice(0);\n // let totalColumnWidth = this.getWidthOfColsInList()\n var doingRtl = this.gridOptionsWrapper.isEnableRtl();\n [\n this.displayedColumnsLeft,\n this.displayedColumnsRight,\n this.displayedColumnsCenter\n ].forEach(function (columns) {\n if (doingRtl) {\n // when doing RTL, we start at the top most pixel (ie RHS) and work backwards\n var left_1 = _this.getWidthOfColsInList(columns);\n columns.forEach(function (column) {\n left_1 -= column.getActualWidth();\n column.setLeft(left_1, source);\n });\n }\n else {\n // otherwise normal LTR, we start at zero\n var left_2 = 0;\n columns.forEach(function (column) {\n column.setLeft(left_2, source);\n left_2 += column.getActualWidth();\n });\n }\n removeAllFromArray(allColumns, columns);\n });\n // items left in allColumns are columns not displayed, so remove the left position. this is\n // important for the rows, as if a col is made visible, then taken out, then made visible again,\n // we don't want the animation of the cell floating in from the old position, whatever that was.\n allColumns.forEach(function (column) {\n column.setLeft(null, source);\n });\n };\n ColumnModel.prototype.setLeftValuesOfGroups = function () {\n // a groups left value is the lest left value of it's children\n [\n this.displayedTreeLeft,\n this.displayedTreeRight,\n this.displayedTreeCentre\n ].forEach(function (columns) {\n columns.forEach(function (column) {\n if (column instanceof ColumnGroup) {\n var columnGroup = column;\n columnGroup.checkLeft();\n }\n });\n });\n };\n ColumnModel.prototype.derivedDisplayedColumnsFromDisplayedTree = function (tree, columns) {\n columns.length = 0;\n this.columnUtils.depthFirstDisplayedColumnTreeSearch(tree, function (child) {\n if (child instanceof Column) {\n columns.push(child);\n }\n });\n };\n ColumnModel.prototype.extractViewportColumns = function () {\n if (this.suppressColumnVirtualisation) {\n // no virtualisation, so don't filter\n this.viewportColumnsCenter = this.displayedColumnsCenter;\n }\n else {\n // filter out what should be visible\n this.viewportColumnsCenter = this.filterOutColumnsWithinViewport();\n }\n this.viewportColumns = this.viewportColumnsCenter\n .concat(this.displayedColumnsLeft)\n .concat(this.displayedColumnsRight);\n };\n ColumnModel.prototype.getVirtualHeaderGroupRow = function (type, dept) {\n var result;\n switch (type) {\n case Constants.PINNED_LEFT:\n result = this.viewportRowLeft[dept];\n break;\n case Constants.PINNED_RIGHT:\n result = this.viewportRowRight[dept];\n break;\n default:\n result = this.viewportRowCenter[dept];\n break;\n }\n if (missing(result)) {\n result = [];\n }\n return result;\n };\n ColumnModel.prototype.extractViewportRows = function () {\n // go through each group, see if any of it's cols are displayed, and if yes,\n // then this group is included\n this.viewportRowLeft = {};\n this.viewportRowRight = {};\n this.viewportRowCenter = {};\n // for easy lookup when building the groups.\n var virtualColIds = {};\n this.viewportColumns.forEach(function (col) { return virtualColIds[col.getId()] = true; });\n var testGroup = function (children, result, dept) {\n var returnValue = false;\n for (var i = 0; i < children.length; i++) {\n // see if this item is within viewport\n var child = children[i];\n var addThisItem = false;\n if (child instanceof Column) {\n // for column, test if column is included\n addThisItem = virtualColIds[child.getId()] === true;\n }\n else {\n // if group, base decision on children\n var columnGroup = child;\n var displayedChildren = columnGroup.getDisplayedChildren();\n if (displayedChildren) {\n addThisItem = testGroup(displayedChildren, result, dept + 1);\n }\n }\n if (addThisItem) {\n returnValue = true;\n if (!result[dept]) {\n result[dept] = [];\n }\n result[dept].push(child);\n }\n }\n return returnValue;\n };\n testGroup(this.displayedTreeLeft, this.viewportRowLeft, 0);\n testGroup(this.displayedTreeRight, this.viewportRowRight, 0);\n testGroup(this.displayedTreeCentre, this.viewportRowCenter, 0);\n };\n ColumnModel.prototype.extractViewport = function () {\n this.extractViewportColumns();\n this.extractViewportRows();\n };\n ColumnModel.prototype.filterOutColumnsWithinViewport = function () {\n return this.displayedColumnsCenter.filter(this.isColumnInViewport.bind(this));\n };\n ColumnModel.prototype.refreshFlexedColumns = function (params) {\n var _this = this;\n if (params === void 0) { params = {}; }\n var source = params.source ? params.source : 'flex';\n if (params.viewportWidth != null) {\n this.flexViewportWidth = params.viewportWidth;\n }\n if (!this.flexViewportWidth) {\n return [];\n }\n // If the grid has left-over space, divide it between flexing columns in proportion to their flex value.\n // A \"flexing column\" is one that has a 'flex' value set and is not currently being constrained by its\n // minWidth or maxWidth rules.\n var flexAfterDisplayIndex = -1;\n if (params.resizingCols) {\n params.resizingCols.forEach(function (col) {\n var indexOfCol = _this.displayedColumnsCenter.indexOf(col);\n if (flexAfterDisplayIndex < indexOfCol) {\n flexAfterDisplayIndex = indexOfCol;\n }\n });\n }\n var isColFlex = function (col) {\n var afterResizingCols = _this.displayedColumnsCenter.indexOf(col) > flexAfterDisplayIndex;\n return col.getFlex() && afterResizingCols;\n };\n var knownWidthColumns = this.displayedColumnsCenter.filter(function (col) { return !isColFlex(col); });\n var flexingColumns = this.displayedColumnsCenter.filter(function (col) { return isColFlex(col); });\n var changedColumns = [];\n if (!flexingColumns.length) {\n return [];\n }\n var flexingColumnSizes = [];\n var spaceForFlexingColumns;\n outer: while (true) {\n var totalFlex = flexingColumns.reduce(function (count, col) { return count + col.getFlex(); }, 0);\n spaceForFlexingColumns = this.flexViewportWidth - this.getWidthOfColsInList(knownWidthColumns);\n for (var i = 0; i < flexingColumns.length; i++) {\n var col = flexingColumns[i];\n var widthByFlexRule = spaceForFlexingColumns * col.getFlex() / totalFlex;\n var constrainedWidth = 0;\n var minWidth = col.getMinWidth();\n var maxWidth = col.getMaxWidth();\n if (exists(minWidth) && widthByFlexRule < minWidth) {\n constrainedWidth = minWidth;\n }\n else if (exists(maxWidth) && widthByFlexRule > maxWidth) {\n constrainedWidth = maxWidth;\n }\n if (constrainedWidth) {\n // This column is not in fact flexing as it is being constrained to a specific size\n // so remove it from the list of flexing columns and start again\n col.setActualWidth(constrainedWidth, source);\n removeFromArray(flexingColumns, col);\n changedColumns.push(col);\n knownWidthColumns.push(col);\n continue outer;\n }\n flexingColumnSizes[i] = Math.round(widthByFlexRule);\n }\n break;\n }\n var remainingSpace = spaceForFlexingColumns;\n flexingColumns.forEach(function (col, i) {\n col.setActualWidth(Math.min(flexingColumnSizes[i], remainingSpace), source);\n changedColumns.push(col);\n remainingSpace -= flexingColumnSizes[i];\n });\n if (!params.skipSetLeft) {\n this.setLeftValues(source);\n }\n if (params.updateBodyWidths) {\n this.updateBodyWidths();\n }\n if (params.fireResizedEvent) {\n this.fireColumnResizedEvent(changedColumns, true, source, flexingColumns);\n }\n // if the user sets rowData directly into GridOptions, then the row data is set before\n // grid is attached to the DOM. this means the columns are not flexed, and then the rows\n // have the wrong height (as they depend on column widths). so once the columns have\n // been flexed for the first time (only happens once grid is attached to DOM, as dependency\n // on getting the grid width, which only happens after attached after ResizeObserver fires)\n // we get get rows to re-calc their heights.\n if (!this.flexColsCalculatedAtLestOnce) {\n if (this.gridOptionsWrapper.isRowModelDefault()) {\n this.rowModel.resetRowHeights();\n }\n this.flexColsCalculatedAtLestOnce = true;\n }\n return flexingColumns;\n };\n // called from api\n ColumnModel.prototype.sizeColumnsToFit = function (gridWidth, source, silent) {\n if (source === void 0) { source = \"sizeColumnsToFit\"; }\n // avoid divide by zero\n var allDisplayedColumns = this.getAllDisplayedColumns();\n if (gridWidth <= 0 || !allDisplayedColumns.length) {\n return;\n }\n var colsToSpread = [];\n var colsToNotSpread = [];\n allDisplayedColumns.forEach(function (column) {\n if (column.getColDef().suppressSizeToFit === true) {\n colsToNotSpread.push(column);\n }\n else {\n colsToSpread.push(column);\n }\n });\n // make a copy of the cols that are going to be resized\n var colsToFireEventFor = colsToSpread.slice(0);\n var finishedResizing = false;\n var moveToNotSpread = function (column) {\n removeFromArray(colsToSpread, column);\n colsToNotSpread.push(column);\n };\n // resetting cols to their original width makes the sizeColumnsToFit more deterministic,\n // rather than depending on the current size of the columns. most users call sizeColumnsToFit\n // immediately after grid is created, so will make no difference. however if application is calling\n // sizeColumnsToFit repeatedly (eg after column group is opened / closed repeatedly) we don't want\n // the columns to start shrinking / growing over time.\n //\n // NOTE: the process below will assign values to `this.actualWidth` of each column without firing events\n // for this reason we need to manually fire resize events after the resize has been done for each column.\n colsToSpread.forEach(function (column) { return column.resetActualWidth(source); });\n while (!finishedResizing) {\n finishedResizing = true;\n var availablePixels = gridWidth - this.getWidthOfColsInList(colsToNotSpread);\n if (availablePixels <= 0) {\n // no width, set everything to minimum\n colsToSpread.forEach(function (column) {\n column.setMinimum(source);\n });\n }\n else {\n var scale = availablePixels / this.getWidthOfColsInList(colsToSpread);\n // we set the pixels for the last col based on what's left, as otherwise\n // we could be a pixel or two short or extra because of rounding errors.\n var pixelsForLastCol = availablePixels;\n // backwards through loop, as we are removing items as we go\n for (var i = colsToSpread.length - 1; i >= 0; i--) {\n var column = colsToSpread[i];\n var minWidth = column.getMinWidth();\n var maxWidth = column.getMaxWidth();\n var newWidth = Math.round(column.getActualWidth() * scale);\n if (exists(minWidth) && newWidth < minWidth) {\n newWidth = minWidth;\n moveToNotSpread(column);\n finishedResizing = false;\n }\n else if (exists(maxWidth) && column.isGreaterThanMax(newWidth)) {\n newWidth = maxWidth;\n moveToNotSpread(column);\n finishedResizing = false;\n }\n else if (i === 0) { // if this is the last column\n newWidth = pixelsForLastCol;\n }\n column.setActualWidth(newWidth, source, true);\n pixelsForLastCol -= newWidth;\n }\n }\n }\n // see notes above\n colsToFireEventFor.forEach(function (col) {\n col.fireColumnWidthChangedEvent(source);\n });\n this.setLeftValues(source);\n this.updateBodyWidths();\n if (silent) {\n return;\n }\n this.fireColumnResizedEvent(colsToFireEventFor, true, source);\n };\n ColumnModel.prototype.buildDisplayedTrees = function (visibleColumns) {\n var leftVisibleColumns = [];\n var rightVisibleColumns = [];\n var centerVisibleColumns = [];\n visibleColumns.forEach(function (column) {\n switch (column.getPinned()) {\n case \"left\":\n leftVisibleColumns.push(column);\n break;\n case \"right\":\n rightVisibleColumns.push(column);\n break;\n default:\n centerVisibleColumns.push(column);\n break;\n }\n });\n var groupInstanceIdCreator = new GroupInstanceIdCreator();\n this.displayedTreeLeft = this.displayedGroupCreator.createDisplayedGroups(leftVisibleColumns, this.gridBalancedTree, groupInstanceIdCreator, Constants.PINNED_LEFT, this.displayedTreeLeft);\n this.displayedTreeRight = this.displayedGroupCreator.createDisplayedGroups(rightVisibleColumns, this.gridBalancedTree, groupInstanceIdCreator, Constants.PINNED_RIGHT, this.displayedTreeRight);\n this.displayedTreeCentre = this.displayedGroupCreator.createDisplayedGroups(centerVisibleColumns, this.gridBalancedTree, groupInstanceIdCreator, null, this.displayedTreeCentre);\n this.updateDisplayedMap();\n };\n ColumnModel.prototype.updateDisplayedMap = function () {\n var _this = this;\n this.displayedColumnsAndGroupsMap = {};\n var func = function (child) {\n _this.displayedColumnsAndGroupsMap[child.getUniqueId()] = child;\n };\n this.columnUtils.depthFirstAllColumnTreeSearch(this.displayedTreeCentre, func);\n this.columnUtils.depthFirstAllColumnTreeSearch(this.displayedTreeLeft, func);\n this.columnUtils.depthFirstAllColumnTreeSearch(this.displayedTreeRight, func);\n };\n ColumnModel.prototype.isDisplayed = function (item) {\n var fromMap = this.displayedColumnsAndGroupsMap[item.getUniqueId()];\n // check for reference, in case new column / group with same id is now present\n return fromMap === item;\n };\n ColumnModel.prototype.updateOpenClosedVisibilityInColumnGroups = function () {\n var allColumnGroups = this.getAllDisplayedTrees();\n this.columnUtils.depthFirstAllColumnTreeSearch(allColumnGroups, function (child) {\n if (child instanceof ColumnGroup) {\n var columnGroup = child;\n columnGroup.calculateDisplayedColumns();\n }\n });\n };\n ColumnModel.prototype.getGroupAutoColumns = function () {\n return this.groupAutoColumns;\n };\n ColumnModel.prototype.createGroupAutoColumnsIfNeeded = function () {\n if (!this.autoGroupsNeedBuilding) {\n return;\n }\n this.autoGroupsNeedBuilding = false;\n var groupFullWidthRow = this.gridOptionsWrapper.isGroupUseEntireRow(this.pivotMode);\n // we need to allow suppressing auto-column separately for group and pivot as the normal situation\n // is CSRM and user provides group column themselves for normal view, but when they go into pivot the\n // columns are generated by the grid so no opportunity for user to provide group column. so need a way\n // to suppress auto-col for grouping only, and not pivot.\n // however if using Viewport RM or SSRM and user is providing the columns, the user may wish full control\n // of the group column in this instance.\n var suppressAutoColumn = this.pivotMode ?\n this.gridOptionsWrapper.isPivotSuppressAutoColumn() : this.gridOptionsWrapper.isGroupSuppressAutoColumn();\n var groupingActive = this.rowGroupColumns.length > 0 || this.usingTreeData;\n var needAutoColumns = groupingActive && !suppressAutoColumn && !groupFullWidthRow;\n if (needAutoColumns) {\n var existingCols = this.groupAutoColumns || [];\n var newAutoGroupCols = this.autoGroupColService.createAutoGroupColumns(existingCols, this.rowGroupColumns);\n var autoColsDifferent = !this.autoColsEqual(newAutoGroupCols, this.groupAutoColumns);\n // we force recreate when suppressColumnStateEvents changes, so new group cols pick up the new\n // definitions. otherwise we could ignore the new cols because they appear to be the same.\n if (autoColsDifferent || this.forceRecreateAutoGroups) {\n this.groupAutoColumns = newAutoGroupCols;\n }\n }\n else {\n this.groupAutoColumns = null;\n }\n };\n ColumnModel.prototype.autoColsEqual = function (colsA, colsB) {\n return areEqual(colsA, colsB, function (a, b) { return a.getColId() === b.getColId(); });\n };\n ColumnModel.prototype.getWidthOfColsInList = function (columnList) {\n return columnList.reduce(function (width, col) { return width + col.getActualWidth(); }, 0);\n };\n ColumnModel.prototype.getGridBalancedTree = function () {\n return this.gridBalancedTree;\n };\n ColumnModel.prototype.hasFloatingFilters = function () {\n if (!this.gridColumns) {\n return false;\n }\n var res = this.gridColumns.some(function (col) { return col.getColDef().floatingFilter; });\n return res;\n };\n ColumnModel.prototype.getFirstDisplayedColumn = function () {\n var isRtl = this.gridOptionsWrapper.isEnableRtl();\n var queryOrder = [\n 'getDisplayedLeftColumns',\n 'getDisplayedCenterColumns',\n 'getDisplayedRightColumns'\n ];\n if (isRtl) {\n queryOrder.reverse();\n }\n for (var i = 0; i < queryOrder.length; i++) {\n var container = this[queryOrder[i]]();\n if (container.length) {\n return isRtl ? last(container) : container[0];\n }\n }\n return null;\n };\n __decorate$5([\n Autowired('expressionService')\n ], ColumnModel.prototype, \"expressionService\", void 0);\n __decorate$5([\n Autowired('columnFactory')\n ], ColumnModel.prototype, \"columnFactory\", void 0);\n __decorate$5([\n Autowired('displayedGroupCreator')\n ], ColumnModel.prototype, \"displayedGroupCreator\", void 0);\n __decorate$5([\n Autowired('ctrlsService')\n ], ColumnModel.prototype, \"ctrlsService\", void 0);\n __decorate$5([\n Autowired('autoWidthCalculator')\n ], ColumnModel.prototype, \"autoWidthCalculator\", void 0);\n __decorate$5([\n Autowired('columnUtils')\n ], ColumnModel.prototype, \"columnUtils\", void 0);\n __decorate$5([\n Autowired('columnAnimationService')\n ], ColumnModel.prototype, \"columnAnimationService\", void 0);\n __decorate$5([\n Autowired('autoGroupColService')\n ], ColumnModel.prototype, \"autoGroupColService\", void 0);\n __decorate$5([\n Optional('aggFuncService')\n ], ColumnModel.prototype, \"aggFuncService\", void 0);\n __decorate$5([\n Optional('valueCache')\n ], ColumnModel.prototype, \"valueCache\", void 0);\n __decorate$5([\n Optional('animationFrameService')\n ], ColumnModel.prototype, \"animationFrameService\", void 0);\n __decorate$5([\n Autowired('rowModel')\n ], ColumnModel.prototype, \"rowModel\", void 0);\n __decorate$5([\n Autowired('columnApi')\n ], ColumnModel.prototype, \"columnApi\", void 0);\n __decorate$5([\n Autowired('gridApi')\n ], ColumnModel.prototype, \"gridApi\", void 0);\n __decorate$5([\n Autowired('sortController')\n ], ColumnModel.prototype, \"sortController\", void 0);\n __decorate$5([\n Autowired('columnDefFactory')\n ], ColumnModel.prototype, \"columnDefFactory\", void 0);\n __decorate$5([\n PostConstruct\n ], ColumnModel.prototype, \"init\", null);\n __decorate$5([\n __param$2(0, Qualifier('loggerFactory'))\n ], ColumnModel.prototype, \"setBeans\", null);\n ColumnModel = __decorate$5([\n Bean('columnModel')\n ], ColumnModel);\n return ColumnModel;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$6 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n// takes in a list of columns, as specified by the column definitions, and returns column groups\nvar ColumnUtils = /** @class */ (function (_super) {\n __extends$2(ColumnUtils, _super);\n function ColumnUtils() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ColumnUtils.prototype.calculateColMinWidth = function (colDef) {\n return colDef.minWidth != null ? colDef.minWidth : this.gridOptionsWrapper.getMinColWidth();\n };\n ColumnUtils.prototype.calculateColMaxWidth = function (colDef) {\n return colDef.maxWidth != null ? colDef.maxWidth : (this.gridOptionsWrapper.getMaxColWidth() || Number.MAX_SAFE_INTEGER);\n };\n ColumnUtils.prototype.calculateColInitialWidth = function (colDef) {\n var minColWidth = this.calculateColMinWidth(colDef);\n var maxColWidth = this.calculateColMaxWidth(colDef);\n var width;\n var colDefWidth = attrToNumber(colDef.width);\n var colDefInitialWidth = attrToNumber(colDef.initialWidth);\n if (colDefWidth != null) {\n width = colDefWidth;\n }\n else if (colDefInitialWidth != null) {\n width = colDefInitialWidth;\n }\n else {\n width = this.gridOptionsWrapper.getColWidth();\n }\n return Math.max(Math.min(width, maxColWidth), minColWidth);\n };\n ColumnUtils.prototype.getOriginalPathForColumn = function (column, originalBalancedTree) {\n var result = [];\n var found = false;\n var recursePath = function (balancedColumnTree, dept) {\n for (var i = 0; i < balancedColumnTree.length; i++) {\n if (found) {\n return;\n }\n // quit the search, so 'result' is kept with the found result\n var node = balancedColumnTree[i];\n if (node instanceof ProvidedColumnGroup) {\n var nextNode = node;\n recursePath(nextNode.getChildren(), dept + 1);\n result[dept] = node;\n }\n else if (node === column) {\n found = true;\n }\n }\n };\n recursePath(originalBalancedTree, 0);\n // we should always find the path, but in case there is a bug somewhere, returning null\n // will make it fail rather than provide a 'hard to track down' bug\n return found ? result : null;\n };\n ColumnUtils.prototype.depthFirstOriginalTreeSearch = function (parent, tree, callback) {\n var _this = this;\n if (!tree) {\n return;\n }\n tree.forEach(function (child) {\n if (child instanceof ProvidedColumnGroup) {\n _this.depthFirstOriginalTreeSearch(child, child.getChildren(), callback);\n }\n callback(child, parent);\n });\n };\n ColumnUtils.prototype.depthFirstAllColumnTreeSearch = function (tree, callback) {\n var _this = this;\n if (!tree) {\n return;\n }\n tree.forEach(function (child) {\n if (child instanceof ColumnGroup) {\n _this.depthFirstAllColumnTreeSearch(child.getChildren(), callback);\n }\n callback(child);\n });\n };\n ColumnUtils.prototype.depthFirstDisplayedColumnTreeSearch = function (tree, callback) {\n var _this = this;\n if (!tree) {\n return;\n }\n tree.forEach(function (child) {\n if (child instanceof ColumnGroup) {\n _this.depthFirstDisplayedColumnTreeSearch(child.getDisplayedChildren(), callback);\n }\n callback(child);\n });\n };\n ColumnUtils = __decorate$6([\n Bean('columnUtils')\n ], ColumnUtils);\n return ColumnUtils;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$3 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$7 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n// takes in a list of columns, as specified by the column definitions, and returns column groups\nvar DisplayedGroupCreator = /** @class */ (function (_super) {\n __extends$3(DisplayedGroupCreator, _super);\n function DisplayedGroupCreator() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n DisplayedGroupCreator.prototype.createDisplayedGroups = function (\n // all displayed columns sorted - this is the columns the grid should show\n sortedVisibleColumns, \n // the tree of columns, as provided by the users, used to know what groups columns roll up into\n balancedColumnTree, \n // creates unique id's for the group\n groupInstanceIdCreator, \n // whether it's left, right or center col\n pinned, \n // we try to reuse old groups if we can, to allow gui to do animation\n oldDisplayedGroups) {\n var _this = this;\n var result = [];\n var previousRealPath;\n var previousOriginalPath;\n var oldColumnsMapped = this.mapOldGroupsById(oldDisplayedGroups);\n // go through each column, then do a bottom up comparison to the previous column, and start\n // to share groups if they converge at any point.\n sortedVisibleColumns.forEach(function (currentColumn) {\n var currentOriginalPath = _this.getOriginalPathForColumn(balancedColumnTree, currentColumn);\n var currentRealPath = [];\n var firstColumn = !previousOriginalPath;\n for (var i = 0; i < currentOriginalPath.length; i++) {\n if (firstColumn || currentOriginalPath[i] !== previousOriginalPath[i]) {\n // new group needed\n var newGroup = _this.createColumnGroup(currentOriginalPath[i], groupInstanceIdCreator, oldColumnsMapped, pinned);\n currentRealPath[i] = newGroup;\n // if top level, add to result, otherwise add to parent\n if (i == 0) {\n result.push(newGroup);\n }\n else {\n currentRealPath[i - 1].addChild(newGroup);\n }\n }\n else {\n // reuse old group\n currentRealPath[i] = previousRealPath[i];\n }\n }\n var noColumnGroups = currentRealPath.length === 0;\n if (noColumnGroups) {\n // if we are not grouping, then the result of the above is an empty\n // path (no groups), and we just add the column to the root list.\n result.push(currentColumn);\n }\n else {\n var leafGroup = last(currentRealPath);\n leafGroup.addChild(currentColumn);\n }\n previousRealPath = currentRealPath;\n previousOriginalPath = currentOriginalPath;\n });\n this.setupParentsIntoColumns(result, null);\n return result;\n };\n DisplayedGroupCreator.prototype.createColumnGroup = function (providedGroup, groupInstanceIdCreator, oldColumnsMapped, pinned) {\n var groupId = providedGroup.getGroupId();\n var instanceId = groupInstanceIdCreator.getInstanceIdForKey(groupId);\n var uniqueId = ColumnGroup.createUniqueId(groupId, instanceId);\n var columnGroup = oldColumnsMapped[uniqueId];\n // if the user is setting new colDefs, it is possible that the id's overlap, and we\n // would have a false match from above. so we double check we are talking about the\n // same original column group.\n if (columnGroup && columnGroup.getProvidedColumnGroup() !== providedGroup) {\n columnGroup = null;\n }\n if (exists(columnGroup)) {\n // clean out the old column group here, as we will be adding children into it again\n columnGroup.reset();\n }\n else {\n columnGroup = new ColumnGroup(providedGroup, groupId, instanceId, pinned);\n this.context.createBean(columnGroup);\n }\n return columnGroup;\n };\n // returns back a 2d map of ColumnGroup as follows: groupId -> instanceId -> ColumnGroup\n DisplayedGroupCreator.prototype.mapOldGroupsById = function (displayedGroups) {\n var result = {};\n var recursive = function (columnsOrGroups) {\n columnsOrGroups.forEach(function (columnOrGroup) {\n if (columnOrGroup instanceof ColumnGroup) {\n var columnGroup = columnOrGroup;\n result[columnOrGroup.getUniqueId()] = columnGroup;\n recursive(columnGroup.getChildren());\n }\n });\n };\n if (displayedGroups) {\n recursive(displayedGroups);\n }\n return result;\n };\n DisplayedGroupCreator.prototype.setupParentsIntoColumns = function (columnsOrGroups, parent) {\n var _this = this;\n columnsOrGroups.forEach(function (columnsOrGroup) {\n columnsOrGroup.setParent(parent);\n if (columnsOrGroup instanceof ColumnGroup) {\n var columnGroup = columnsOrGroup;\n _this.setupParentsIntoColumns(columnGroup.getChildren(), columnGroup);\n }\n });\n };\n DisplayedGroupCreator.prototype.getOriginalPathForColumn = function (balancedColumnTree, column) {\n var result = [];\n var found = false;\n var recursePath = function (columnTree, dept) {\n for (var i = 0; i < columnTree.length; i++) {\n // quit the search, so 'result' is kept with the found result\n if (found) {\n return;\n }\n var node = columnTree[i];\n if (node instanceof ProvidedColumnGroup) {\n recursePath(node.getChildren(), dept + 1);\n result[dept] = node;\n }\n else if (node === column) {\n found = true;\n }\n }\n };\n recursePath(balancedColumnTree, 0);\n // it's possible we didn't find a path. this happens if the column is generated\n // by the grid (auto-group), in that the definition didn't come from the client. in this case,\n // we create a fake original path.\n if (found) {\n return result;\n }\n console.warn('AG Grid: could not get path');\n return null;\n };\n DisplayedGroupCreator = __decorate$7([\n Bean('displayedGroupCreator')\n ], DisplayedGroupCreator);\n return DisplayedGroupCreator;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __read$1 = (undefined && undefined.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spread$1 = (undefined && undefined.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read$1(arguments[i]));\n return ar;\n};\n/**\n * These keys are used for validating properties supplied on a gridOptions object, and for code generation.\n * If you change the properties on the gridOptions interface, you *must* update this file as well to be consistent.\n */\nvar PropertyKeys = /** @class */ (function () {\n function PropertyKeys() {\n }\n PropertyKeys.STRING_PROPERTIES = [\n 'sortingOrder', 'rowClass', 'rowSelection', 'overlayLoadingTemplate', 'overlayNoRowsTemplate',\n 'quickFilterText', 'rowModelType', 'editType', 'domLayout', 'clipboardDelimiter', 'rowGroupPanelShow',\n 'multiSortKey', 'pivotColumnGroupTotals', 'pivotRowTotals', 'pivotPanelShow', 'fillHandleDirection',\n 'serverSideStoreType', 'groupDisplayType', 'treeDataDisplayType'\n ];\n PropertyKeys.OBJECT_PROPERTIES = [\n 'components', 'frameworkComponents', 'rowStyle', 'context', 'autoGroupColumnDef', 'localeText', 'icons',\n 'datasource', 'serverSideDatasource', 'viewportDatasource', 'groupRowRendererParams', 'aggFuncs', 'fullWidthCellRendererParams',\n 'defaultColGroupDef', 'defaultColDef', 'defaultExportParams', 'defaultCsvExportParams', 'defaultExcelExportParams', 'columnTypes',\n 'rowClassRules', 'detailCellRendererParams', 'loadingCellRendererParams', 'loadingOverlayComponentParams',\n 'noRowsOverlayComponentParams', 'popupParent', 'colResizeDefault', 'statusBar', 'sideBar', 'chartThemeOverrides',\n 'customChartThemes'\n ];\n PropertyKeys.ARRAY_PROPERTIES = [\n 'alignedGrids', 'rowData', 'columnDefs', 'excelStyles', 'pinnedTopRowData', 'pinnedBottomRowData', 'chartThemes'\n ];\n PropertyKeys.NUMBER_PROPERTIES = [\n 'rowHeight', 'detailRowHeight', 'rowBuffer', 'colWidth', 'headerHeight', 'groupHeaderHeight', 'floatingFiltersHeight',\n 'pivotHeaderHeight', 'pivotGroupHeaderHeight', 'groupDefaultExpanded', 'minColWidth', 'maxColWidth', 'viewportRowModelPageSize',\n 'viewportRowModelBufferSize', 'autoSizePadding', 'maxBlocksInCache', 'maxConcurrentDatasourceRequests', 'tooltipShowDelay',\n 'tooltipHideDelay', 'cacheOverflowSize', 'paginationPageSize', 'cacheBlockSize', 'infiniteInitialRowCount', 'scrollbarWidth',\n 'batchUpdateWaitMillis', 'asyncTransactionWaitMillis', 'blockLoadDebounceMillis', 'keepDetailRowsCount',\n 'undoRedoCellEditingLimit', 'cellFlashDelay', 'cellFadeDelay', 'tabIndex'\n ];\n PropertyKeys.BOOLEAN_PROPERTIES = [\n 'suppressMakeColumnVisibleAfterUnGroup', 'suppressRowClickSelection', 'suppressCellSelection', 'suppressCellFocus', 'suppressHorizontalScroll',\n 'alwaysShowHorizontalScroll', 'alwaysShowVerticalScroll', 'debug', 'enableBrowserTooltips', 'enableCellExpressions',\n 'angularCompileRows', 'angularCompileFilters', 'groupSuppressAutoColumn', 'groupSelectsChildren', 'groupIncludeFooter',\n 'groupIncludeTotalFooter', 'groupUseEntireRow', 'groupSuppressBlankHeader', 'suppressMenuHide', 'suppressRowDeselection',\n 'unSortIcon', 'suppressMultiSort', 'alwaysMultiSort', 'singleClickEdit', 'suppressLoadingOverlay', 'suppressNoRowsOverlay', 'suppressAutoSize',\n 'skipHeaderOnAutoSize', 'suppressParentsInRowNodes', 'suppressColumnMoveAnimation', 'suppressMovableColumns',\n 'suppressFieldDotNotation', 'enableRangeSelection', 'enableRangeHandle', 'enableFillHandle', 'suppressClearOnFillReduction',\n 'deltaSort', 'suppressTouch', 'suppressAsyncEvents', 'allowContextMenuWithControlKey', 'suppressContextMenu',\n 'rememberGroupStateWhenNewData', 'enableCellChangeFlash', 'suppressDragLeaveHidesColumns', 'suppressMiddleClickScrolls',\n 'suppressPreventDefaultOnMouseWheel', 'suppressCopyRowsToClipboard', 'copyHeadersToClipboard', 'copyGroupHeadersToClipboard',\n 'pivotMode', 'suppressAggFuncInHeader', 'suppressColumnVirtualisation', 'suppressAggAtRootLevel', 'suppressFocusAfterRefresh',\n 'functionsPassive', 'functionsReadOnly', 'animateRows', 'groupSelectsFiltered', 'groupRemoveSingleChildren',\n 'groupRemoveLowestSingleChildren', 'enableRtl', 'suppressClickEdit', 'rowDragEntireRow', 'rowDragManaged', 'suppressRowDrag',\n 'suppressMoveWhenRowDragging', 'rowDragMultiRow', 'enableGroupEdit', 'embedFullWidthRows', 'deprecatedEmbedFullWidthRows',\n 'suppressPaginationPanel', 'groupHideOpenParents', 'groupMultiAutoColumn', 'pagination',\n 'stopEditingWhenGridLosesFocus', 'paginationAutoPageSize', 'suppressScrollOnNewData', 'suppressScrollWhenPopupsAreOpen',\n 'purgeClosedRowNodes', 'cacheQuickFilter', 'deltaRowDataMode', 'ensureDomOrder', 'accentedSort', 'suppressChangeDetection',\n 'valueCache', 'valueCacheNeverExpires', 'aggregateOnlyChangedColumns', 'suppressAnimationFrame', 'suppressExcelExport',\n 'suppressCsvExport', 'treeData', 'masterDetail', 'suppressMultiRangeSelection', 'enterMovesDownAfterEdit', 'enterMovesDown',\n 'suppressPropertyNamesCheck', 'rowMultiSelectWithClick', 'suppressEnterpriseResetOnNewColumns',\n 'suppressRowHoverHighlight', 'suppressRowTransform', 'suppressClipboardPaste', 'suppressLastEmptyLineOnPaste',\n 'serverSideSortingAlwaysResets', 'suppressSetColumnStateEvents', 'suppressColumnStateEvents', 'enableCharts', 'deltaColumnMode',\n 'suppressMaintainUnsortedOrder', 'enableCellTextSelection', 'suppressBrowserResizeObserver', 'suppressMaxRenderedRowRestriction',\n 'excludeChildrenWhenTreeDataFiltering', 'tooltipMouseTrack', 'keepDetailRows', 'paginateChildRows', 'preventDefaultOnContextMenu',\n 'undoRedoCellEditing', 'allowDragFromColumnsToolPanel', 'immutableData', 'immutableColumns', 'pivotSuppressAutoColumn',\n 'suppressExpandablePivotGroups', 'applyColumnDefOrder', 'debounceVerticalScrollbar', 'detailRowAutoHeight',\n 'serverSideFilteringAlwaysResets', 'suppressAggFilteredOnly', 'showOpenedGroup', 'suppressClipboardApi',\n 'suppressModelUpdateAfterUpdateTransaction', 'stopEditingWhenCellsLoseFocus', 'maintainColumnOrder', 'groupMaintainOrder',\n 'columnHoverHighlight', 'reactUi', 'suppressReactUi', 'readOnlyEdit', 'suppressRowVirtualisation',\n 'resetRowDataOnUpdate', 'removePivotHeaderRowWhenSingleValueColumn', 'suppressCopySingleCellRanges'\n ];\n /** You do not need to include event callbacks in this list, as they are generated automatically. */\n PropertyKeys.FUNCTION_PROPERTIES = [\n 'localeTextFunc', 'getLocaleText', 'groupRowInnerRenderer', 'groupRowInnerRendererFramework',\n 'groupRowRenderer', 'groupRowRendererFramework', 'isExternalFilterPresent', 'getRowHeight', 'doesExternalFilterPass',\n 'getRowClass', 'getRowStyle', 'getContextMenuItems', 'getMainMenuItems', 'processRowPostCreate', 'processCellForClipboard',\n 'groupRowAggNodes', 'getGroupRowAgg', 'getRowNodeId', 'isFullWidthCell', 'isFullWidthRow', 'fullWidthCellRenderer', 'fullWidthCellRendererFramework',\n 'processSecondaryColDef', 'processSecondaryColGroupDef',\n 'getBusinessKeyForNode', 'sendToClipboard', 'navigateToNextHeader',\n 'tabToNextHeader', 'navigateToNextCell', 'tabToNextCell', 'processCellFromClipboard', 'getDocument', 'postProcessPopup',\n 'getChildCount', 'getDataPath', 'loadingCellRenderer', 'loadingCellRendererFramework', 'loadingOverlayComponent',\n 'loadingOverlayComponentFramework', 'noRowsOverlayComponent', 'noRowsOverlayComponentFramework', 'detailCellRenderer',\n 'detailCellRendererFramework', 'isRowMaster', 'isRowSelectable', 'postSort', 'postSortRows', 'processHeaderForClipboard', 'processGroupHeaderForClipboard',\n 'paginationNumberFormatter', 'processDataFromClipboard', 'getServerSideGroupKey', 'isServerSideGroup', 'suppressKeyboardEvent',\n 'createChartContainer', 'getChartToolbarItems', 'fillOperation', 'isApplyServerSideTransaction', 'getServerSideStoreParams',\n 'isServerSideGroupOpenByDefault', 'isGroupOpenByDefault', 'defaultGroupSortComparator', 'defaultGroupOrderComparator', 'initialGroupOrderComparator',\n 'loadingCellRendererSelector', 'getRowId', 'groupAggFiltering'\n ];\n PropertyKeys.ALL_PROPERTIES = __spread$1(PropertyKeys.ARRAY_PROPERTIES, PropertyKeys.OBJECT_PROPERTIES, PropertyKeys.STRING_PROPERTIES, PropertyKeys.NUMBER_PROPERTIES, PropertyKeys.FUNCTION_PROPERTIES, PropertyKeys.BOOLEAN_PROPERTIES);\n /**\n * Used when performing property checks. This avoids noise caused when using frameworks, which can add their own\n * framework-specific properties to colDefs, gridOptions etc.\n */\n PropertyKeys.FRAMEWORK_PROPERTIES = [\n '__ob__', '__v_skip', '__metadata__', 'mappedColumnProperties', 'hasChildColumns', 'toColDef', 'createColDefFromGridColumn'\n ];\n return PropertyKeys;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __assign = (undefined && undefined.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __read$2 = (undefined && undefined.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spread$2 = (undefined && undefined.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read$2(arguments[i]));\n return ar;\n};\nvar ComponentUtil = /** @class */ (function () {\n function ComponentUtil() {\n }\n ComponentUtil.getEventCallbacks = function () {\n if (!ComponentUtil.EVENT_CALLBACKS) {\n ComponentUtil.EVENT_CALLBACKS = ComponentUtil.EVENTS.map(function (event) { return ComponentUtil.getCallbackForEvent(event); });\n }\n return ComponentUtil.EVENT_CALLBACKS;\n };\n ComponentUtil.copyAttributesToGridOptions = function (gridOptions, component, skipEventDeprecationCheck) {\n // create empty grid options if none were passed\n if (typeof gridOptions !== 'object') {\n gridOptions = {};\n }\n // to allow array style lookup in TypeScript, take type away from 'this' and 'gridOptions'\n var pGridOptions = gridOptions;\n var keyExists = function (key) { return typeof component[key] !== 'undefined'; };\n // if groupAggFiltering exists and isn't a function, handle as a boolean.\n if (keyExists('groupAggFiltering') && typeof component.groupAggFiltering !== 'function') {\n pGridOptions.groupAggFiltering = ComponentUtil.toBoolean(component.groupAggFiltering);\n delete component.groupAggFiltering;\n }\n // add in all the simple properties\n __spread$2(ComponentUtil.ARRAY_PROPERTIES, ComponentUtil.STRING_PROPERTIES, ComponentUtil.OBJECT_PROPERTIES, ComponentUtil.FUNCTION_PROPERTIES, ComponentUtil.getEventCallbacks()).filter(keyExists)\n .forEach(function (key) { return pGridOptions[key] = component[key]; });\n ComponentUtil.BOOLEAN_PROPERTIES\n .filter(keyExists)\n .forEach(function (key) { return pGridOptions[key] = ComponentUtil.toBoolean(component[key]); });\n ComponentUtil.NUMBER_PROPERTIES\n .filter(keyExists)\n .forEach(function (key) { return pGridOptions[key] = ComponentUtil.toNumber(component[key]); });\n return gridOptions;\n };\n ComponentUtil.getCallbackForEvent = function (eventName) {\n if (!eventName || eventName.length < 2) {\n return eventName;\n }\n return 'on' + eventName[0].toUpperCase() + eventName.substr(1);\n };\n ComponentUtil.processOnChange = function (changes, gridOptions, api, columnApi) {\n if (!changes) {\n return;\n }\n var changesToApply = __assign({}, changes);\n // to allow array style lookup in TypeScript, take type away from 'this' and 'gridOptions'\n var pGridOptions = gridOptions;\n var keyExists = function (key) { return changesToApply[key]; };\n // if groupAggFiltering exists and isn't a function, handle as a boolean.\n if (keyExists('groupAggFiltering')) {\n if (typeof changesToApply.groupAggFiltering === 'function') {\n pGridOptions.groupAggFiltering = changesToApply.groupAggFiltering;\n }\n else {\n pGridOptions.groupAggFiltering = ComponentUtil.toBoolean(changesToApply.groupAggFiltering);\n }\n delete changesToApply.groupAggFiltering;\n }\n // we need to do this before the generic handling, otherwise value gets set before we\n // try to set it, and the grid then doesn't refresh the rows as it doesn't see any change.\n // also it's possible we use the generic code setXXX below and put it up there instead,\n // cover all cases.\n if (changesToApply.rowClass) {\n api.setRowClass(changesToApply.rowClass.currentValue);\n delete changesToApply.rowClass;\n }\n // check if any change for the simple types, and if so, then just copy in the new value\n __spread$2(ComponentUtil.ARRAY_PROPERTIES, ComponentUtil.OBJECT_PROPERTIES, ComponentUtil.STRING_PROPERTIES, ComponentUtil.getEventCallbacks()).filter(keyExists)\n .forEach(function (key) { return pGridOptions[key] = changesToApply[key].currentValue; });\n ComponentUtil.BOOLEAN_PROPERTIES\n .filter(keyExists)\n .forEach(function (key) { return pGridOptions[key] = ComponentUtil.toBoolean(changesToApply[key].currentValue); });\n ComponentUtil.NUMBER_PROPERTIES\n .filter(keyExists)\n .forEach(function (key) { return pGridOptions[key] = ComponentUtil.toNumber(changesToApply[key].currentValue); });\n if (changesToApply.enableCellTextSelection) {\n api.setEnableCellTextSelection(ComponentUtil.toBoolean(changesToApply.enableCellTextSelection.currentValue));\n delete changesToApply.enableCellTextSelection;\n }\n if (changesToApply.quickFilterText) {\n api.setQuickFilter(changesToApply.quickFilterText.currentValue);\n delete changesToApply.quickFilterText;\n }\n if (changesToApply.autoGroupColumnDef) {\n api.setAutoGroupColumnDef(changesToApply.autoGroupColumnDef.currentValue, \"gridOptionsChanged\");\n delete changesToApply.autoGroupColumnDef;\n }\n if (changesToApply.columnDefs) {\n api.setColumnDefs(changesToApply.columnDefs.currentValue, \"gridOptionsChanged\");\n delete changesToApply.columnDefs;\n }\n if (changesToApply.defaultColDef) {\n api.setDefaultColDef(changesToApply.defaultColDef.currentValue, \"gridOptionsChanged\");\n delete changesToApply.defaultColDef;\n }\n if (changesToApply.paginationPageSize) {\n api.paginationSetPageSize(ComponentUtil.toNumber(changesToApply.paginationPageSize.currentValue));\n delete changesToApply.paginationPageSize;\n }\n if (changesToApply.pivotMode) {\n columnApi.setPivotMode(ComponentUtil.toBoolean(changesToApply.pivotMode.currentValue));\n delete changesToApply.pivotMode;\n }\n if (changesToApply.groupRemoveSingleChildren) {\n api.setGroupRemoveSingleChildren(ComponentUtil.toBoolean(changesToApply.groupRemoveSingleChildren.currentValue));\n delete changesToApply.groupRemoveSingleChildren;\n }\n if (changesToApply.suppressRowDrag) {\n api.setSuppressRowDrag(ComponentUtil.toBoolean(changesToApply.suppressRowDrag.currentValue));\n delete changesToApply.suppressRowDrag;\n }\n if (changesToApply.suppressMoveWhenRowDragging) {\n api.setSuppressMoveWhenRowDragging(ComponentUtil.toBoolean(changesToApply.suppressMoveWhenRowDragging.currentValue));\n delete changesToApply.suppressMoveWhenRowDragging;\n }\n if (changesToApply.suppressRowClickSelection) {\n api.setSuppressRowClickSelection(ComponentUtil.toBoolean(changesToApply.suppressRowClickSelection.currentValue));\n delete changesToApply.suppressRowClickSelection;\n }\n if (changesToApply.suppressClipboardPaste) {\n api.setSuppressClipboardPaste(ComponentUtil.toBoolean(changesToApply.suppressClipboardPaste.currentValue));\n delete changesToApply.suppressClipboardPaste;\n }\n if (changesToApply.headerHeight) {\n api.setHeaderHeight(ComponentUtil.toNumber(changesToApply.headerHeight.currentValue));\n delete changesToApply.headerHeight;\n }\n // any remaining properties can be set in a generic way\n // ie the setter takes the form of setXXX and the argument requires no formatting/translation first\n var dynamicApi = api;\n Object.keys(changesToApply)\n .forEach(function (property) {\n var setterName = \"set\" + property.charAt(0).toUpperCase() + property.substring(1);\n if (dynamicApi[setterName]) {\n dynamicApi[setterName](changes[property].currentValue);\n }\n });\n // copy changes into an event for dispatch\n var event = {\n type: Events.EVENT_COMPONENT_STATE_CHANGED,\n api: gridOptions.api,\n columnApi: gridOptions.columnApi\n };\n iterateObject(changes, function (key, value) {\n event[key] = value;\n });\n api.dispatchEvent(event);\n };\n ComponentUtil.toBoolean = function (value) {\n if (typeof value === 'boolean') {\n return value;\n }\n if (typeof value === 'string') {\n // for boolean, compare to empty String to allow attributes appearing with\n // no value to be treated as 'true'\n return value.toUpperCase() === 'TRUE' || value == '';\n }\n return false;\n };\n ComponentUtil.toNumber = function (value) {\n if (typeof value === 'number') {\n return value;\n }\n if (typeof value === 'string') {\n return Number(value);\n }\n };\n // all the events are populated in here AFTER this class (at the bottom of the file).\n ComponentUtil.EVENTS = [];\n // events that are available for use by users of AG Grid and so should be documented\n ComponentUtil.PUBLIC_EVENTS = [];\n // events that are internal to AG Grid and should not be exposed to users via documentation or generated framework components\n ComponentUtil.EXCLUDED_INTERNAL_EVENTS = [];\n ComponentUtil.STRING_PROPERTIES = PropertyKeys.STRING_PROPERTIES;\n ComponentUtil.OBJECT_PROPERTIES = PropertyKeys.OBJECT_PROPERTIES;\n ComponentUtil.ARRAY_PROPERTIES = PropertyKeys.ARRAY_PROPERTIES;\n ComponentUtil.NUMBER_PROPERTIES = PropertyKeys.NUMBER_PROPERTIES;\n ComponentUtil.BOOLEAN_PROPERTIES = PropertyKeys.BOOLEAN_PROPERTIES;\n ComponentUtil.FUNCTION_PROPERTIES = PropertyKeys.FUNCTION_PROPERTIES;\n ComponentUtil.ALL_PROPERTIES = PropertyKeys.ALL_PROPERTIES;\n return ComponentUtil;\n}());\nComponentUtil.EVENTS = values(Events);\n/** Exclude the following internal events from code generation to prevent exposing these events via framework components */\nComponentUtil.EXCLUDED_INTERNAL_EVENTS = [\n Events.EVENT_SCROLLBAR_WIDTH_CHANGED,\n Events.EVENT_CHECKBOX_CHANGED,\n Events.EVENT_HEIGHT_SCALE_CHANGED,\n Events.EVENT_BODY_HEIGHT_CHANGED,\n Events.EVENT_DISPLAYED_COLUMNS_WIDTH_CHANGED,\n Events.EVENT_SCROLL_VISIBILITY_CHANGED,\n Events.EVENT_COLUMN_HOVER_CHANGED,\n Events.EVENT_FLASH_CELLS,\n Events.EVENT_PAGINATION_PIXEL_OFFSET_CHANGED,\n Events.EVENT_DISPLAYED_ROWS_CHANGED,\n Events.EVENT_LEFT_PINNED_WIDTH_CHANGED,\n Events.EVENT_RIGHT_PINNED_WIDTH_CHANGED,\n Events.EVENT_ROW_CONTAINER_HEIGHT_CHANGED,\n Events.EVENT_POPUP_TO_FRONT,\n Events.EVENT_KEYBOARD_FOCUS,\n Events.EVENT_MOUSE_FOCUS,\n Events.EVENT_STORE_UPDATED,\n Events.EVENT_COLUMN_PANEL_ITEM_DRAG_START,\n Events.EVENT_COLUMN_PANEL_ITEM_DRAG_END,\n Events.EVENT_FILL_START,\n Events.EVENT_FILL_END,\n Events.EVENT_FULL_WIDTH_ROW_FOCUSED\n];\n/** EVENTS that should be exposed via code generation for the framework components. */\nComponentUtil.PUBLIC_EVENTS = ComponentUtil.EVENTS.filter(function (e) { return !includes(ComponentUtil.EXCLUDED_INTERNAL_EVENTS, e); });\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$4 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$8 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar AgStackComponentsRegistry = /** @class */ (function (_super) {\n __extends$4(AgStackComponentsRegistry, _super);\n function AgStackComponentsRegistry() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.componentsMappedByName = {};\n return _this;\n }\n AgStackComponentsRegistry.prototype.setupComponents = function (components) {\n var _this = this;\n if (components) {\n components.forEach(function (componentMeta) { return _this.addComponent(componentMeta); });\n }\n };\n AgStackComponentsRegistry.prototype.addComponent = function (componentMeta) {\n // get name of the class as a string\n // let className = getNameOfClass(ComponentClass);\n // insert a dash after every capital letter\n // let classEscaped = className.replace(/([A-Z])/g, \"-$1\").toLowerCase();\n var classEscaped = componentMeta.componentName.replace(/([a-z])([A-Z])/g, \"$1-$2\").toLowerCase();\n // put all to upper case\n var classUpperCase = classEscaped.toUpperCase();\n // finally store\n this.componentsMappedByName[classUpperCase] = componentMeta.componentClass;\n };\n AgStackComponentsRegistry.prototype.getComponentClass = function (htmlTag) {\n return this.componentsMappedByName[htmlTag];\n };\n AgStackComponentsRegistry = __decorate$8([\n Bean('agStackComponentsRegistry')\n ], AgStackComponentsRegistry);\n return AgStackComponentsRegistry;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __read$3 = (undefined && undefined.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spread$3 = (undefined && undefined.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read$3(arguments[i]));\n return ar;\n};\nvar ColDefUtil = /** @class */ (function () {\n function ColDefUtil() {\n }\n ColDefUtil.STRING_PROPERTIES = [\n 'headerName',\n 'columnGroupShow',\n 'headerClass',\n 'toolPanelClass',\n 'headerValueGetter',\n 'pivotKeys',\n 'groupId',\n 'colId',\n 'sort',\n 'initialSort',\n 'field',\n 'type',\n 'tooltipComponent',\n 'tooltipField',\n 'headerTooltip',\n 'cellClass',\n 'showRowGroup',\n 'filter',\n 'initialAggFunc',\n 'defaultAggFunc',\n 'aggFunc',\n 'pinned',\n 'initialPinned',\n 'chartDataType',\n 'cellEditorPopupPosition'\n ];\n ColDefUtil.OBJECT_PROPERTIES = [\n 'headerGroupComponent',\n 'headerGroupComponentFramework',\n 'headerGroupComponentParams',\n 'cellStyle',\n 'cellRenderer',\n 'cellRendererParams',\n 'cellRendererFramework',\n 'cellEditor',\n 'cellEditorFramework',\n 'cellEditorParams',\n 'pinnedRowCellRendererFramework',\n 'pinnedRowCellRendererParams',\n 'filterFramework',\n 'filterParams',\n 'pivotValueColumn',\n 'headerComponent',\n 'headerComponentFramework',\n 'headerComponentParams',\n 'floatingFilterComponent',\n 'floatingFilterComponentParams',\n 'floatingFilterComponentFramework',\n 'floatingFilterFramework',\n 'tooltipComponent',\n 'tooltipComponentParams',\n 'tooltipComponentFramework',\n 'refData',\n 'columnsMenuParams'\n ];\n ColDefUtil.ARRAY_PROPERTIES = [\n 'children',\n 'sortingOrder',\n 'allowedAggFuncs',\n 'menuTabs',\n 'pivotTotalColumnIds',\n 'cellClassRules',\n 'icons'\n ];\n ColDefUtil.NUMBER_PROPERTIES = [\n 'sortedAt',\n 'sortIndex',\n 'initialSortIndex',\n 'flex',\n 'initialFlex',\n 'width',\n 'initialWidth',\n 'minWidth',\n 'maxWidth',\n 'rowGroupIndex',\n 'initialRowGroupIndex',\n 'pivotIndex',\n 'initialPivotIndex'\n ];\n ColDefUtil.BOOLEAN_PROPERTIES = [\n 'suppressCellFlash',\n 'suppressColumnsToolPanel',\n 'suppressFiltersToolPanel',\n 'openByDefault',\n 'marryChildren',\n 'hide',\n 'initialHide',\n 'rowGroup',\n 'initialRowGroup',\n 'pivot',\n 'initialPivot',\n 'checkboxSelection',\n 'headerCheckboxSelection',\n 'headerCheckboxSelectionFilteredOnly',\n 'suppressMenu',\n 'suppressMovable',\n 'lockPosition',\n 'lockVisible',\n 'lockPinned',\n 'unSortIcon',\n 'suppressSizeToFit',\n 'suppressAutoSize',\n 'enableRowGroup',\n 'enablePivot',\n 'enableValue',\n 'editable',\n 'suppressPaste',\n 'suppressNavigable',\n 'enableCellChangeFlash',\n 'rowDrag',\n 'dndSource',\n 'autoHeight',\n 'wrapText',\n 'sortable',\n 'resizable',\n 'singleClickEdit',\n 'floatingFilter',\n 'cellEditorPopup',\n 'suppressFillHandle'\n ];\n ColDefUtil.FUNCTION_PROPERTIES = [\n 'dndSourceOnRowDrag',\n 'valueGetter',\n 'valueSetter',\n 'filterValueGetter',\n 'keyCreator',\n 'pinnedRowCellRenderer',\n 'valueFormatter',\n 'pinnedRowValueFormatter',\n 'valueParser',\n 'comparator',\n 'equals',\n 'pivotComparator',\n 'suppressKeyboardEvent',\n 'suppressHeaderKeyboardEvent',\n 'colSpan',\n 'rowSpan',\n 'getQuickFilterText',\n 'newValueHandler',\n 'onCellValueChanged',\n 'onCellClicked',\n 'onCellDoubleClicked',\n 'onCellContextMenu',\n 'rowDragText',\n 'tooltipValueGetter',\n 'tooltipComponent',\n 'tooltipComponentFramework',\n 'cellRendererSelector',\n 'cellEditorSelector'\n ];\n ColDefUtil.ALL_PROPERTIES = __spread$3(ColDefUtil.ARRAY_PROPERTIES, ColDefUtil.OBJECT_PROPERTIES, ColDefUtil.STRING_PROPERTIES, ColDefUtil.NUMBER_PROPERTIES, ColDefUtil.FUNCTION_PROPERTIES, ColDefUtil.BOOLEAN_PROPERTIES);\n // used when doing property checks - this causes noise when using frameworks which can add their own fw specific\n // properties to colDefs, gridOptions etc\n ColDefUtil.FRAMEWORK_PROPERTIES = [\n '__ob__',\n '__v_skip',\n '__metadata__',\n 'mappedColumnProperties',\n 'hasChildColumns',\n 'toColDef',\n 'createColDefFromGridColumn'\n ];\n return ColDefUtil;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __read$4 = (undefined && undefined.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar Color = /** @class */ (function () {\n /**\n * Every color component should be in the [0, 1] range.\n * Some easing functions (such as elastic easing) can overshoot the target value by some amount.\n * So, when animating colors, if the source or target color components are already near\n * or at the edge of the allowed [0, 1] range, it is possible for the intermediate color\n * component value to end up outside of that range mid-animation. For this reason the constructor\n * performs range checking/constraining.\n * @param r Red component.\n * @param g Green component.\n * @param b Blue component.\n * @param a Alpha (opacity) component.\n */\n function Color(r, g, b, a) {\n if (a === void 0) { a = 1; }\n // NaN is treated as 0.\n this.r = Math.min(1, Math.max(0, r || 0));\n this.g = Math.min(1, Math.max(0, g || 0));\n this.b = Math.min(1, Math.max(0, b || 0));\n this.a = Math.min(1, Math.max(0, a || 0));\n }\n /**\n * The given string can be in one of the following formats:\n * - #rgb\n * - #rrggbb\n * - rgb(r, g, b)\n * - rgba(r, g, b, a)\n * - CSS color name such as 'white', 'orange', 'cyan', etc.\n * @param str\n */\n Color.fromString = function (str) {\n // hexadecimal notation\n if (str.indexOf('#') >= 0) { // there can be some leading whitespace\n return Color.fromHexString(str);\n }\n // color name\n var hex = Color.nameToHex[str];\n if (hex) {\n return Color.fromHexString(hex);\n }\n // rgb(a) notation\n if (str.indexOf('rgb') >= 0) {\n return Color.fromRgbaString(str);\n }\n throw new Error(\"Invalid color string: '\" + str + \"'\");\n };\n // See https://drafts.csswg.org/css-color/#hex-notation\n Color.parseHex = function (input) {\n input = input.replace(/ /g, '').slice(1);\n var parts;\n switch (input.length) {\n case 6:\n case 8:\n parts = [];\n for (var i = 0; i < input.length; i += 2) {\n parts.push(parseInt(\"\" + input[i] + input[i + 1], 16));\n }\n break;\n case 3:\n case 4:\n parts = input.split('').map(function (p) { return parseInt(p, 16); }).map(function (p) { return p + p * 16; });\n break;\n }\n if (parts.length >= 3) {\n if (parts.every(function (p) { return p >= 0; })) {\n if (parts.length === 3) {\n parts.push(255);\n }\n return parts;\n }\n }\n };\n Color.fromHexString = function (str) {\n var values = Color.parseHex(str);\n if (values) {\n var _a = __read$4(values, 4), r = _a[0], g = _a[1], b = _a[2], a = _a[3];\n return new Color(r / 255, g / 255, b / 255, a / 255);\n }\n throw new Error(\"Malformed hexadecimal color string: '\" + str + \"'\");\n };\n Color.stringToRgba = function (str) {\n // Find positions of opening and closing parentheses.\n var _a = __read$4([NaN, NaN], 2), po = _a[0], pc = _a[1];\n for (var i = 0; i < str.length; i++) {\n var c = str[i];\n if (!po && c === '(') {\n po = i;\n }\n else if (c === ')') {\n pc = i;\n break;\n }\n }\n var contents = po && pc && str.substring(po + 1, pc);\n if (!contents) {\n return;\n }\n var parts = contents.split(',');\n var rgba = [];\n for (var i = 0; i < parts.length; i++) {\n var part = parts[i];\n var value = parseFloat(part);\n if (isNaN(value)) {\n return;\n }\n if (part.indexOf('%') >= 0) { // percentage r, g, or b value\n value = Math.max(0, Math.min(100, value));\n value /= 100;\n }\n else {\n if (i === 3) { // alpha component\n value = Math.max(0, Math.min(1, value));\n }\n else { // absolute r, g, or b value\n value = Math.max(0, Math.min(255, value));\n value /= 255;\n }\n }\n rgba.push(value);\n }\n return rgba;\n };\n Color.fromRgbaString = function (str) {\n var rgba = Color.stringToRgba(str);\n if (rgba) {\n if (rgba.length === 3) {\n return new Color(rgba[0], rgba[1], rgba[2]);\n }\n else if (rgba.length === 4) {\n return new Color(rgba[0], rgba[1], rgba[2], rgba[3]);\n }\n }\n throw new Error(\"Malformed rgb/rgba color string: '\" + str + \"'\");\n };\n Color.fromArray = function (arr) {\n if (arr.length === 4) {\n return new Color(arr[0], arr[1], arr[2], arr[3]);\n }\n if (arr.length === 3) {\n return new Color(arr[0], arr[1], arr[2]);\n }\n throw new Error('The given array should contain 3 or 4 color components (numbers).');\n };\n Color.fromHSB = function (h, s, b, alpha) {\n if (alpha === void 0) { alpha = 1; }\n var rgb = Color.HSBtoRGB(h, s, b);\n return new Color(rgb[0], rgb[1], rgb[2], alpha);\n };\n Color.padHex = function (str) {\n // Can't use `padStart(2, '0')` here because of IE.\n return str.length === 1 ? '0' + str : str;\n };\n Color.prototype.toHexString = function () {\n var hex = '#'\n + Color.padHex(Math.round(this.r * 255).toString(16))\n + Color.padHex(Math.round(this.g * 255).toString(16))\n + Color.padHex(Math.round(this.b * 255).toString(16));\n if (this.a < 1) {\n hex += Color.padHex(Math.round(this.a * 255).toString(16));\n }\n return hex;\n };\n Color.prototype.toRgbaString = function (fractionDigits) {\n if (fractionDigits === void 0) { fractionDigits = 3; }\n var components = [\n Math.round(this.r * 255),\n Math.round(this.g * 255),\n Math.round(this.b * 255)\n ];\n var k = Math.pow(10, fractionDigits);\n if (this.a !== 1) {\n components.push(Math.round(this.a * k) / k);\n return \"rgba(\" + components.join(', ') + \")\";\n }\n return \"rgb(\" + components.join(', ') + \")\";\n };\n Color.prototype.toString = function () {\n if (this.a === 1) {\n return this.toHexString();\n }\n return this.toRgbaString();\n };\n Color.prototype.toHSB = function () {\n return Color.RGBtoHSB(this.r, this.g, this.b);\n };\n /**\n * Converts the given RGB triple to an array of HSB (HSV) components.\n * The hue component will be `NaN` for achromatic colors.\n */\n Color.RGBtoHSB = function (r, g, b) {\n var min = Math.min(r, g, b);\n var max = Math.max(r, g, b);\n var S = max !== 0 ? (max - min) / max : 0;\n var H = NaN;\n // min == max, means all components are the same\n // and the color is a shade of gray with no hue (H is NaN)\n if (min !== max) {\n var delta = max - min;\n var rc = (max - r) / delta;\n var gc = (max - g) / delta;\n var bc = (max - b) / delta;\n if (r === max) {\n H = bc - gc;\n }\n else if (g === max) {\n H = 2.0 + rc - bc;\n }\n else {\n H = 4.0 + gc - rc;\n }\n H /= 6.0;\n if (H < 0) {\n H = H + 1.0;\n }\n }\n return [H * 360, S, max];\n };\n /**\n * Converts the given HSB (HSV) triple to an array of RGB components.\n */\n Color.HSBtoRGB = function (H, S, B) {\n if (isNaN(H)) {\n H = 0;\n }\n H = (((H % 360) + 360) % 360) / 360; // normalize hue to [0, 360] interval, then scale to [0, 1]\n var r = 0;\n var g = 0;\n var b = 0;\n if (S === 0) {\n r = g = b = B;\n }\n else {\n var h = (H - Math.floor(H)) * 6;\n var f = h - Math.floor(h);\n var p = B * (1 - S);\n var q = B * (1 - S * f);\n var t = B * (1 - (S * (1 - f)));\n switch (h >> 0) { // discard the floating point part of the number\n case 0:\n r = B;\n g = t;\n b = p;\n break;\n case 1:\n r = q;\n g = B;\n b = p;\n break;\n case 2:\n r = p;\n g = B;\n b = t;\n break;\n case 3:\n r = p;\n g = q;\n b = B;\n break;\n case 4:\n r = t;\n g = p;\n b = B;\n break;\n case 5:\n r = B;\n g = p;\n b = q;\n break;\n }\n }\n return [r, g, b];\n };\n Color.prototype.derive = function (hueShift, saturationFactor, brightnessFactor, opacityFactor) {\n var hsb = Color.RGBtoHSB(this.r, this.g, this.b);\n var b = hsb[2];\n if (b == 0 && brightnessFactor > 1.0) {\n b = 0.05;\n }\n var h = (((hsb[0] + hueShift) % 360) + 360) % 360;\n var s = Math.max(Math.min(hsb[1] * saturationFactor, 1.0), 0.0);\n b = Math.max(Math.min(b * brightnessFactor, 1.0), 0.0);\n var a = Math.max(Math.min(this.a * opacityFactor, 1.0), 0.0);\n var rgba = Color.HSBtoRGB(h, s, b);\n rgba.push(a);\n return Color.fromArray(rgba);\n };\n Color.prototype.brighter = function () {\n return this.derive(0, 1.0, 1.0 / 0.7, 1.0);\n };\n Color.prototype.darker = function () {\n return this.derive(0, 1.0, 0.7, 1.0);\n };\n /**\n * CSS Color Module Level 4:\n * https://drafts.csswg.org/css-color/#named-colors\n */\n Color.nameToHex = Object.freeze({\n aliceblue: '#F0F8FF',\n antiquewhite: '#FAEBD7',\n aqua: '#00FFFF',\n aquamarine: '#7FFFD4',\n azure: '#F0FFFF',\n beige: '#F5F5DC',\n bisque: '#FFE4C4',\n black: '#000000',\n blanchedalmond: '#FFEBCD',\n blue: '#0000FF',\n blueviolet: '#8A2BE2',\n brown: '#A52A2A',\n burlywood: '#DEB887',\n cadetblue: '#5F9EA0',\n chartreuse: '#7FFF00',\n chocolate: '#D2691E',\n coral: '#FF7F50',\n cornflowerblue: '#6495ED',\n cornsilk: '#FFF8DC',\n crimson: '#DC143C',\n cyan: '#00FFFF',\n darkblue: '#00008B',\n darkcyan: '#008B8B',\n darkgoldenrod: '#B8860B',\n darkgray: '#A9A9A9',\n darkgreen: '#006400',\n darkgrey: '#A9A9A9',\n darkkhaki: '#BDB76B',\n darkmagenta: '#8B008B',\n darkolivegreen: '#556B2F',\n darkorange: '#FF8C00',\n darkorchid: '#9932CC',\n darkred: '#8B0000',\n darksalmon: '#E9967A',\n darkseagreen: '#8FBC8F',\n darkslateblue: '#483D8B',\n darkslategray: '#2F4F4F',\n darkslategrey: '#2F4F4F',\n darkturquoise: '#00CED1',\n darkviolet: '#9400D3',\n deeppink: '#FF1493',\n deepskyblue: '#00BFFF',\n dimgray: '#696969',\n dimgrey: '#696969',\n dodgerblue: '#1E90FF',\n firebrick: '#B22222',\n floralwhite: '#FFFAF0',\n forestgreen: '#228B22',\n fuchsia: '#FF00FF',\n gainsboro: '#DCDCDC',\n ghostwhite: '#F8F8FF',\n gold: '#FFD700',\n goldenrod: '#DAA520',\n gray: '#808080',\n green: '#008000',\n greenyellow: '#ADFF2F',\n grey: '#808080',\n honeydew: '#F0FFF0',\n hotpink: '#FF69B4',\n indianred: '#CD5C5C',\n indigo: '#4B0082',\n ivory: '#FFFFF0',\n khaki: '#F0E68C',\n lavender: '#E6E6FA',\n lavenderblush: '#FFF0F5',\n lawngreen: '#7CFC00',\n lemonchiffon: '#FFFACD',\n lightblue: '#ADD8E6',\n lightcoral: '#F08080',\n lightcyan: '#E0FFFF',\n lightgoldenrodyellow: '#FAFAD2',\n lightgray: '#D3D3D3',\n lightgreen: '#90EE90',\n lightgrey: '#D3D3D3',\n lightpink: '#FFB6C1',\n lightsalmon: '#FFA07A',\n lightseagreen: '#20B2AA',\n lightskyblue: '#87CEFA',\n lightslategray: '#778899',\n lightslategrey: '#778899',\n lightsteelblue: '#B0C4DE',\n lightyellow: '#FFFFE0',\n lime: '#00FF00',\n limegreen: '#32CD32',\n linen: '#FAF0E6',\n magenta: '#FF00FF',\n maroon: '#800000',\n mediumaquamarine: '#66CDAA',\n mediumblue: '#0000CD',\n mediumorchid: '#BA55D3',\n mediumpurple: '#9370DB',\n mediumseagreen: '#3CB371',\n mediumslateblue: '#7B68EE',\n mediumspringgreen: '#00FA9A',\n mediumturquoise: '#48D1CC',\n mediumvioletred: '#C71585',\n midnightblue: '#191970',\n mintcream: '#F5FFFA',\n mistyrose: '#FFE4E1',\n moccasin: '#FFE4B5',\n navajowhite: '#FFDEAD',\n navy: '#000080',\n oldlace: '#FDF5E6',\n olive: '#808000',\n olivedrab: '#6B8E23',\n orange: '#FFA500',\n orangered: '#FF4500',\n orchid: '#DA70D6',\n palegoldenrod: '#EEE8AA',\n palegreen: '#98FB98',\n paleturquoise: '#AFEEEE',\n palevioletred: '#DB7093',\n papayawhip: '#FFEFD5',\n peachpuff: '#FFDAB9',\n peru: '#CD853F',\n pink: '#FFC0CB',\n plum: '#DDA0DD',\n powderblue: '#B0E0E6',\n purple: '#800080',\n rebeccapurple: '#663399',\n red: '#FF0000',\n rosybrown: '#BC8F8F',\n royalblue: '#4169E1',\n saddlebrown: '#8B4513',\n salmon: '#FA8072',\n sandybrown: '#F4A460',\n seagreen: '#2E8B57',\n seashell: '#FFF5EE',\n sienna: '#A0522D',\n silver: '#C0C0C0',\n skyblue: '#87CEEB',\n slateblue: '#6A5ACD',\n slategray: '#708090',\n slategrey: '#708090',\n snow: '#FFFAFA',\n springgreen: '#00FF7F',\n steelblue: '#4682B4',\n tan: '#D2B48C',\n teal: '#008080',\n thistle: '#D8BFD8',\n tomato: '#FF6347',\n turquoise: '#40E0D0',\n violet: '#EE82EE',\n wheat: '#F5DEB3',\n white: '#FFFFFF',\n whitesmoke: '#F5F5F5',\n yellow: '#FFFF00',\n yellowgreen: '#9ACD32'\n });\n return Color;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\n// Based on https://stackoverflow.com/a/14991797\n// This will parse a delimited string into an array of arrays.\nfunction stringToArray(strData, delimiter) {\n if (delimiter === void 0) { delimiter = ','; }\n var data = [];\n var isNewline = function (char) { return char === '\\r' || char === '\\n'; };\n var insideQuotedField = false;\n if (strData === '') {\n return [['']];\n }\n var _loop_1 = function (row, column, position) {\n var previousChar = strData[position - 1];\n var currentChar = strData[position];\n var nextChar = strData[position + 1];\n var ensureDataExists = function () {\n if (!data[row]) {\n // create row if it doesn't exist\n data[row] = [];\n }\n if (!data[row][column]) {\n // create column if it doesn't exist\n data[row][column] = '';\n }\n };\n ensureDataExists();\n if (currentChar === '\"') {\n if (insideQuotedField) {\n if (nextChar === '\"') {\n // unescape double quote\n data[row][column] += '\"';\n position++;\n }\n else {\n // exit quoted field\n insideQuotedField = false;\n }\n return out_row_1 = row, out_column_1 = column, out_position_1 = position, \"continue\";\n }\n else if (previousChar === undefined || previousChar === delimiter || isNewline(previousChar)) {\n // enter quoted field\n insideQuotedField = true;\n return out_row_1 = row, out_column_1 = column, out_position_1 = position, \"continue\";\n }\n }\n if (!insideQuotedField) {\n if (currentChar === delimiter) {\n // move to next column\n column++;\n ensureDataExists();\n return out_row_1 = row, out_column_1 = column, out_position_1 = position, \"continue\";\n }\n else if (isNewline(currentChar)) {\n // move to next row\n column = 0;\n row++;\n ensureDataExists();\n if (currentChar === '\\r' && nextChar === '\\n') {\n // skip over second newline character if it exists\n position++;\n }\n return out_row_1 = row, out_column_1 = column, out_position_1 = position, \"continue\";\n }\n }\n // add current character to current column\n data[row][column] += currentChar;\n out_row_1 = row;\n out_column_1 = column;\n out_position_1 = position;\n };\n var out_row_1, out_column_1, out_position_1;\n // iterate over each character, keep track of current row and column (of the returned array)\n for (var row = 0, column = 0, position = 0; position < strData.length; position++) {\n _loop_1(row, column, position);\n row = out_row_1;\n column = out_column_1;\n position = out_position_1;\n }\n return data;\n}\n\nvar CsvUtils = /*#__PURE__*/Object.freeze({\n stringToArray: stringToArray\n});\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __values$1 = (undefined && undefined.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n/**\n * These variables are lazy loaded, as otherwise they try and get initialised when we are loading\n * unit tests and we don't have references to window or document in the unit tests\n * from http://stackoverflow.com/questions/9847580/how-to-detect-safari-chrome-ie-firefox-and-opera-browser\n */\nvar isSafari;\nvar isIE;\nvar isEdge;\nvar isChrome;\nvar isFirefox;\nvar isIOS;\nvar invisibleScrollbar;\nvar browserScrollbarWidth;\nfunction isBrowserIE() {\n if (isIE === undefined) {\n isIE = /*@cc_on!@*/ !!document.documentMode; // At least IE6\n }\n return isIE;\n}\nfunction isBrowserEdge() {\n if (isEdge === undefined) {\n isEdge = !isBrowserIE() && !!window.StyleMedia;\n }\n return isEdge;\n}\nfunction isBrowserSafari() {\n if (isSafari === undefined) {\n // taken from https://stackoverflow.com/a/23522755/1388233\n isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n }\n return isSafari;\n}\nfunction isBrowserChrome() {\n if (isChrome === undefined) {\n var win = window;\n isChrome = (!!win.chrome && (!!win.chrome.webstore || !!win.chrome.runtime)) ||\n (/Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor));\n }\n return isChrome;\n}\nfunction isBrowserFirefox() {\n if (isFirefox === undefined) {\n var win = window;\n isFirefox = typeof win.InstallTrigger !== 'undefined';\n }\n return isFirefox;\n}\nfunction isIOSUserAgent() {\n if (isIOS === undefined) {\n // taken from https://stackoverflow.com/a/58064481/1388233\n isIOS = (/iPad|iPhone|iPod/.test(navigator.platform) ||\n // eslint-disable-next-line\n (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1)) &&\n // @ts-ignore\n !window.MSStream;\n }\n return isIOS;\n}\nfunction getTabIndex(el) {\n if (!el) {\n return null;\n }\n var numberTabIndex = el.tabIndex;\n var tabIndex = el.getAttribute('tabIndex');\n if (numberTabIndex === -1 && (tabIndex === null || (tabIndex === '' && !isBrowserFirefox()))) {\n return null;\n }\n return numberTabIndex.toString();\n}\nfunction getMaxDivHeight() {\n if (!document.body) {\n return -1;\n }\n var res = 1000000;\n // FF reports the height back but still renders blank after ~6M px\n var testUpTo = navigator.userAgent.toLowerCase().match(/firefox/) ? 6000000 : 1000000000;\n var div = document.createElement('div');\n document.body.appendChild(div);\n while (true) {\n var test = res * 2;\n div.style.height = test + 'px';\n if (test > testUpTo || div.clientHeight !== test) {\n break;\n }\n else {\n res = test;\n }\n }\n document.body.removeChild(div);\n return res;\n}\nfunction getScrollbarWidth() {\n if (browserScrollbarWidth == null) {\n initScrollbarWidthAndVisibility();\n }\n return browserScrollbarWidth;\n}\nfunction initScrollbarWidthAndVisibility() {\n var body = document.body;\n var div = document.createElement('div');\n div.style.width = div.style.height = '100px';\n div.style.opacity = '0';\n div.style.overflow = 'scroll';\n div.style.msOverflowStyle = 'scrollbar'; // needed for WinJS apps\n div.style.position = 'absolute';\n body.appendChild(div);\n var width = div.offsetWidth - div.clientWidth;\n // if width is 0 and client width is 0, means the DOM isn't ready\n if (width === 0 && div.clientWidth === 0) {\n width = null;\n }\n // remove div\n if (div.parentNode) {\n div.parentNode.removeChild(div);\n }\n if (width != null) {\n browserScrollbarWidth = width;\n invisibleScrollbar = width === 0;\n }\n}\nfunction isInvisibleScrollbar() {\n if (invisibleScrollbar == null) {\n initScrollbarWidthAndVisibility();\n }\n return invisibleScrollbar;\n}\n/** @deprecated */\nfunction hasOverflowScrolling() {\n var e_1, _a;\n var prefixes = ['webkit', 'moz', 'o', 'ms'];\n var div = document.createElement('div');\n var body = document.getElementsByTagName('body')[0];\n var found = false;\n var p;\n body.appendChild(div);\n div.setAttribute('style', prefixes.map(function (prefix) { return \"-\" + prefix + \"-overflow-scrolling: touch\"; }).concat('overflow-scrolling: touch').join(';'));\n var computedStyle = window.getComputedStyle(div);\n if (computedStyle.overflowScrolling === 'touch') {\n found = true;\n }\n if (!found) {\n try {\n for (var prefixes_1 = __values$1(prefixes), prefixes_1_1 = prefixes_1.next(); !prefixes_1_1.done; prefixes_1_1 = prefixes_1.next()) {\n p = prefixes_1_1.value;\n if (computedStyle[p + \"OverflowScrolling\"] === 'touch') {\n found = true;\n break;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (prefixes_1_1 && !prefixes_1_1.done && (_a = prefixes_1.return)) _a.call(prefixes_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n if (div.parentNode) {\n div.parentNode.removeChild(div);\n }\n return found;\n}\n/**\n * Gets the document body width\n * from: http://stackoverflow.com/questions/1038727/how-to-get-browser-width-using-javascript-code\n * @returns {number}\n */\nfunction getBodyWidth() {\n if (document.body) {\n return document.body.clientWidth;\n }\n if (window.innerHeight) {\n return window.innerWidth;\n }\n if (document.documentElement && document.documentElement.clientWidth) {\n return document.documentElement.clientWidth;\n }\n return -1;\n}\n/**\n * Gets the body height\n * from: http://stackoverflow.com/questions/1038727/how-to-get-browser-width-using-javascript-code\n * @returns {number}\n */\nfunction getBodyHeight() {\n if (document.body) {\n return document.body.clientHeight;\n }\n if (window.innerHeight) {\n return window.innerHeight;\n }\n if (document.documentElement && document.documentElement.clientHeight) {\n return document.documentElement.clientHeight;\n }\n return -1;\n}\n\nvar BrowserUtils = /*#__PURE__*/Object.freeze({\n isBrowserEdge: isBrowserEdge,\n isBrowserSafari: isBrowserSafari,\n isBrowserChrome: isBrowserChrome,\n isBrowserFirefox: isBrowserFirefox,\n isIOSUserAgent: isIOSUserAgent,\n getTabIndex: getTabIndex,\n getMaxDivHeight: getMaxDivHeight,\n getScrollbarWidth: getScrollbarWidth,\n isInvisibleScrollbar: isInvisibleScrollbar,\n hasOverflowScrolling: hasOverflowScrolling,\n getBodyWidth: getBodyWidth,\n getBodyHeight: getBodyHeight\n});\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar rtlNegativeScroll;\n/**\n * This method adds a class to an element and remove that class from all siblings.\n * Useful for toggling state.\n * @param {HTMLElement} element The element to receive the class\n * @param {string} elementClass The class to be assigned to the element\n * @param {boolean} otherElementClass The class to be assigned to siblings of the element, but not the element itself\n */\nfunction radioCssClass(element, elementClass, otherElementClass) {\n var parent = element.parentElement;\n var sibling = parent && parent.firstChild;\n while (sibling) {\n if (elementClass) {\n sibling.classList.toggle(elementClass, sibling === element);\n }\n if (otherElementClass) {\n sibling.classList.toggle(otherElementClass, sibling !== element);\n }\n sibling = sibling.nextSibling;\n }\n}\nfunction isFocusableFormField(element) {\n var matches = Element.prototype.matches || Element.prototype.msMatchesSelector;\n var isFocusable = matches.call(element, Constants.INPUT_SELECTOR);\n var isNotFocusable = matches.call(element, Constants.FOCUSABLE_EXCLUDE);\n var isElementVisible = isVisible(element);\n var focusable = isFocusable && !isNotFocusable && isElementVisible;\n return focusable;\n}\nfunction setDisplayed(element, displayed) {\n element.classList.toggle('ag-hidden', !displayed);\n}\nfunction setVisible(element, visible) {\n element.classList.toggle('ag-invisible', !visible);\n}\nfunction setDisabled(element, disabled) {\n var attributeName = 'disabled';\n var addOrRemoveDisabledAttribute = disabled ?\n function (e) { return e.setAttribute(attributeName, ''); } :\n function (e) { return e.removeAttribute(attributeName); };\n addOrRemoveDisabledAttribute(element);\n nodeListForEach(element.querySelectorAll('input'), function (input) { return addOrRemoveDisabledAttribute(input); });\n}\nfunction isElementChildOfClass(element, cls, maxNest) {\n var counter = 0;\n while (element) {\n if (element.classList.contains(cls)) {\n return true;\n }\n element = element.parentElement;\n if (maxNest && ++counter > maxNest) {\n break;\n }\n }\n return false;\n}\n// returns back sizes as doubles instead of strings. similar to\n// getBoundingClientRect, however getBoundingClientRect does not:\n// a) work with fractions (eg browser is zooming)\n// b) has CSS transitions applied (eg CSS scale, browser zoom), which we don't want, we want the un-transitioned values\nfunction getElementSize(el) {\n var _a = window.getComputedStyle(el), height = _a.height, width = _a.width, paddingTop = _a.paddingTop, paddingRight = _a.paddingRight, paddingBottom = _a.paddingBottom, paddingLeft = _a.paddingLeft, marginTop = _a.marginTop, marginRight = _a.marginRight, marginBottom = _a.marginBottom, marginLeft = _a.marginLeft, boxSizing = _a.boxSizing;\n return {\n height: parseFloat(height),\n width: parseFloat(width),\n paddingTop: parseFloat(paddingTop),\n paddingRight: parseFloat(paddingRight),\n paddingBottom: parseFloat(paddingBottom),\n paddingLeft: parseFloat(paddingLeft),\n marginTop: parseFloat(marginTop),\n marginRight: parseFloat(marginRight),\n marginBottom: parseFloat(marginBottom),\n marginLeft: parseFloat(marginLeft),\n boxSizing: boxSizing\n };\n}\nfunction getInnerHeight(el) {\n var size = getElementSize(el);\n if (size.boxSizing === 'border-box') {\n return size.height - size.paddingTop - size.paddingBottom;\n }\n return size.height;\n}\nfunction getInnerWidth(el) {\n var size = getElementSize(el);\n if (size.boxSizing === 'border-box') {\n return size.width - size.paddingLeft - size.paddingRight;\n }\n return size.width;\n}\nfunction getAbsoluteHeight(el) {\n var size = getElementSize(el);\n var marginRight = size.marginBottom + size.marginTop;\n return Math.ceil(el.offsetHeight + marginRight);\n}\nfunction getAbsoluteWidth(el) {\n var size = getElementSize(el);\n var marginWidth = size.marginLeft + size.marginRight;\n return Math.ceil(el.offsetWidth + marginWidth);\n}\nfunction isRtlNegativeScroll() {\n if (typeof rtlNegativeScroll === \"boolean\") {\n return rtlNegativeScroll;\n }\n var template = document.createElement('div');\n template.style.direction = 'rtl';\n template.style.width = '1px';\n template.style.height = '1px';\n template.style.position = 'fixed';\n template.style.top = '0px';\n template.style.overflow = 'hidden';\n template.dir = 'rtl';\n template.innerHTML = /* html */\n \"
\\n \\n \\n
\";\n document.body.appendChild(template);\n template.scrollLeft = 1;\n rtlNegativeScroll = Math.floor(template.scrollLeft) === 0;\n document.body.removeChild(template);\n return rtlNegativeScroll;\n}\nfunction getScrollLeft(element, rtl) {\n var scrollLeft = element.scrollLeft;\n if (rtl) {\n // Absolute value - for FF that reports RTL scrolls in negative numbers\n scrollLeft = Math.abs(scrollLeft);\n if (isBrowserChrome() && !isRtlNegativeScroll()) {\n scrollLeft = element.scrollWidth - element.clientWidth - scrollLeft;\n }\n }\n return scrollLeft;\n}\nfunction setScrollLeft(element, value, rtl) {\n if (rtl) {\n // Chrome and Safari when doing RTL have the END position of the scroll as zero, not the start\n if (isRtlNegativeScroll()) {\n value *= -1;\n }\n else if (isBrowserSafari() || isBrowserChrome()) {\n value = element.scrollWidth - element.clientWidth - value;\n }\n }\n element.scrollLeft = value;\n}\nfunction clearElement(el) {\n while (el && el.firstChild) {\n el.removeChild(el.firstChild);\n }\n}\n/** @deprecated */\nfunction removeElement(parent, cssSelector) {\n removeFromParent(parent.querySelector(cssSelector));\n}\nfunction removeFromParent(node) {\n if (node && node.parentNode) {\n node.parentNode.removeChild(node);\n }\n}\nfunction isVisible(element) {\n return element.offsetParent !== null;\n}\n/**\n * Loads the template and returns it as an element. makes up for no simple way in\n * the dom api to load html directly, eg we cannot do this: document.createElement(template)\n * @param {string} template\n * @returns {HTMLElement}\n */\nfunction loadTemplate(template) {\n // we try the DOMParser first, as SalesForce doesn't like using innerHTML on a div\n if (DOMParser !== null) {\n var parser = new DOMParser();\n var doc = parser.parseFromString(template, \"text/html\");\n return doc.body.firstChild;\n }\n var tempDiv = document.createElement('div');\n tempDiv.innerHTML = (template || '').trim();\n return tempDiv.firstChild;\n}\nfunction appendHtml(eContainer, htmlTemplate) {\n if (eContainer.lastChild) {\n // https://developer.mozilla.org/en-US/docs/Web/API/Element/insertAdjacentHTML\n // we put the items at the start, so new items appear underneath old items,\n // so when expanding/collapsing groups, the new rows don't go on top of the\n // rows below that are moving our of the way\n eContainer.insertAdjacentHTML('afterbegin', htmlTemplate);\n }\n else {\n eContainer.innerHTML = htmlTemplate;\n }\n}\n/** @deprecated */\nfunction getElementAttribute(element, attributeName) {\n if (element.attributes && element.attributes[attributeName]) {\n var attribute = element.attributes[attributeName];\n return attribute.value;\n }\n return null;\n}\nfunction offsetHeight(element) {\n return element && element.clientHeight ? element.clientHeight : 0;\n}\nfunction offsetWidth(element) {\n return element && element.clientWidth ? element.clientWidth : 0;\n}\nfunction ensureDomOrder(eContainer, eChild, eChildBefore) {\n // if already in right order, do nothing\n if (eChildBefore && eChildBefore.nextSibling === eChild) {\n return;\n }\n if (eChildBefore) {\n if (eChildBefore.nextSibling) {\n // insert between the eRowBefore and the row after it\n eContainer.insertBefore(eChild, eChildBefore.nextSibling);\n }\n else {\n // if nextSibling is missing, means other row is at end, so just append new row at the end\n eContainer.appendChild(eChild);\n }\n }\n else {\n // otherwise put at start\n if (eContainer.firstChild && eContainer.firstChild !== eChild) {\n // insert it at the first location\n eContainer.insertAdjacentElement('afterbegin', eChild);\n }\n }\n}\nfunction setDomChildOrder(eContainer, orderedChildren) {\n for (var i = 0; i < orderedChildren.length; i++) {\n var correctCellAtIndex = orderedChildren[i];\n var actualCellAtIndex = eContainer.children[i];\n if (actualCellAtIndex !== correctCellAtIndex) {\n eContainer.insertBefore(correctCellAtIndex, actualCellAtIndex);\n }\n }\n}\nfunction insertWithDomOrder(eContainer, eToInsert, eChildBefore) {\n if (eChildBefore) {\n // if previous element exists, just slot in after the previous element\n eChildBefore.insertAdjacentElement('afterend', eToInsert);\n }\n else {\n if (eContainer.firstChild) {\n // insert it at the first location\n eContainer.insertAdjacentElement('afterbegin', eToInsert);\n }\n else {\n // otherwise eContainer is empty, so just append it\n eContainer.appendChild(eToInsert);\n }\n }\n}\n/** @deprecated */\nfunction prependDC(parent, documentFragment) {\n if (exists(parent.firstChild)) {\n parent.insertBefore(documentFragment, parent.firstChild);\n }\n else {\n parent.appendChild(documentFragment);\n }\n}\nfunction addStylesToElement(eElement, styles) {\n if (!styles) {\n return;\n }\n Object.keys(styles).forEach(function (key) {\n var keyCamelCase = hyphenToCamelCase(key);\n if (keyCamelCase) {\n eElement.style[keyCamelCase] = styles[key];\n }\n });\n}\nfunction isHorizontalScrollShowing(element) {\n return element.clientWidth < element.scrollWidth;\n}\nfunction isVerticalScrollShowing(element) {\n return element.clientHeight < element.scrollHeight;\n}\nfunction setElementWidth(element, width) {\n if (width === 'flex') {\n element.style.removeProperty('width');\n element.style.removeProperty('minWidth');\n element.style.removeProperty('maxWidth');\n element.style.flex = '1 1 auto';\n }\n else {\n setFixedWidth(element, width);\n }\n}\nfunction setFixedWidth(element, width) {\n width = formatSize(width);\n element.style.width = width.toString();\n element.style.maxWidth = width.toString();\n element.style.minWidth = width.toString();\n}\nfunction setElementHeight(element, height) {\n if (height === 'flex') {\n element.style.removeProperty('height');\n element.style.removeProperty('minHeight');\n element.style.removeProperty('maxHeight');\n element.style.flex = '1 1 auto';\n }\n else {\n setFixedHeight(element, height);\n }\n}\nfunction setFixedHeight(element, height) {\n height = formatSize(height);\n element.style.height = height.toString();\n element.style.maxHeight = height.toString();\n element.style.minHeight = height.toString();\n}\nfunction formatSize(size) {\n if (typeof size === 'number') {\n return size + \"px\";\n }\n return size;\n}\n/**\n * Returns true if it is a DOM node\n * taken from: http://stackoverflow.com/questions/384286/javascript-isdom-how-do-you-check-if-a-javascript-object-is-a-dom-object\n * @param {any} o\n * @return {boolean}\n */\nfunction isNode(o) {\n return (typeof Node === 'function'\n ? o instanceof Node\n : o && typeof o === 'object' && typeof o.nodeType === 'number' && typeof o.nodeName === 'string');\n}\n//\n/**\n * Returns true if it is a DOM element\n * taken from: http://stackoverflow.com/questions/384286/javascript-isdom-how-do-you-check-if-a-javascript-object-is-a-dom-object\n * @param {any} o\n * @returns {boolean}\n */\nfunction isElement(o) {\n return (typeof HTMLElement === 'function'\n ? o instanceof HTMLElement //DOM2\n : o && isNonNullObject(o) && o.nodeType === 1 && typeof o.nodeName === 'string');\n}\nfunction isNodeOrElement(o) {\n return isNode(o) || isElement(o);\n}\n/**\n * Makes a copy of a node list into a list\n * @param {NodeList} nodeList\n * @returns {Node[]}\n */\nfunction copyNodeList(nodeList) {\n if (nodeList == null) {\n return [];\n }\n var result = [];\n nodeListForEach(nodeList, function (node) { return result.push(node); });\n return result;\n}\nfunction iterateNamedNodeMap(map, callback) {\n if (!map) {\n return;\n }\n for (var i = 0; i < map.length; i++) {\n var attr = map[i];\n callback(attr.name, attr.value);\n }\n}\n/** @deprecated */\nfunction setCheckboxState(eCheckbox, state) {\n if (typeof state === 'boolean') {\n eCheckbox.checked = state;\n eCheckbox.indeterminate = false;\n }\n else {\n // isNodeSelected returns back undefined if it's a group and the children\n // are a mix of selected and unselected\n eCheckbox.indeterminate = true;\n }\n}\nfunction addOrRemoveAttribute(element, name, value) {\n if (value == null) {\n element.removeAttribute(name);\n }\n else {\n element.setAttribute(name, value.toString());\n }\n}\nfunction nodeListForEach(nodeList, action) {\n if (nodeList == null) {\n return;\n }\n for (var i = 0; i < nodeList.length; i++) {\n action(nodeList[i]);\n }\n}\n\nvar DomUtils = /*#__PURE__*/Object.freeze({\n radioCssClass: radioCssClass,\n isFocusableFormField: isFocusableFormField,\n setDisplayed: setDisplayed,\n setVisible: setVisible,\n setDisabled: setDisabled,\n isElementChildOfClass: isElementChildOfClass,\n getElementSize: getElementSize,\n getInnerHeight: getInnerHeight,\n getInnerWidth: getInnerWidth,\n getAbsoluteHeight: getAbsoluteHeight,\n getAbsoluteWidth: getAbsoluteWidth,\n isRtlNegativeScroll: isRtlNegativeScroll,\n getScrollLeft: getScrollLeft,\n setScrollLeft: setScrollLeft,\n clearElement: clearElement,\n removeElement: removeElement,\n removeFromParent: removeFromParent,\n isVisible: isVisible,\n loadTemplate: loadTemplate,\n appendHtml: appendHtml,\n getElementAttribute: getElementAttribute,\n offsetHeight: offsetHeight,\n offsetWidth: offsetWidth,\n ensureDomOrder: ensureDomOrder,\n setDomChildOrder: setDomChildOrder,\n insertWithDomOrder: insertWithDomOrder,\n prependDC: prependDC,\n addStylesToElement: addStylesToElement,\n isHorizontalScrollShowing: isHorizontalScrollShowing,\n isVerticalScrollShowing: isVerticalScrollShowing,\n setElementWidth: setElementWidth,\n setFixedWidth: setFixedWidth,\n setElementHeight: setElementHeight,\n setFixedHeight: setFixedHeight,\n formatSize: formatSize,\n isNode: isNode,\n isElement: isElement,\n isNodeOrElement: isNodeOrElement,\n copyNodeList: copyNodeList,\n iterateNamedNodeMap: iterateNamedNodeMap,\n setCheckboxState: setCheckboxState,\n addOrRemoveAttribute: addOrRemoveAttribute,\n nodeListForEach: nodeListForEach\n});\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\n/** @deprecated */\nfunction getNameOfClass(theClass) {\n var funcNameRegex = /function (.{1,})\\(/;\n var funcAsString = theClass.toString();\n var results = funcNameRegex.exec(funcAsString);\n return results && results.length > 1 ? results[1] : \"\";\n}\nfunction findLineByLeastSquares(values) {\n var len = values.length;\n var maxDecimals = 0;\n if (len <= 1) {\n return values;\n }\n for (var i = 0; i < values.length; i++) {\n var value = values[i];\n var splitExponent = value.toString().split('e-');\n if (splitExponent.length > 1) {\n maxDecimals = Math.max(maxDecimals, parseInt(splitExponent[1], 10));\n continue;\n }\n if (Math.floor(value) === value) {\n continue;\n }\n maxDecimals = Math.max(maxDecimals, value.toString().split('.')[1].length);\n }\n var sum_x = 0;\n var sum_y = 0;\n var sum_xy = 0;\n var sum_xx = 0;\n var y = 0;\n for (var x = 0; x < len; x++) {\n y = values[x];\n sum_x += x;\n sum_y += y;\n sum_xx += x * x;\n sum_xy += x * y;\n }\n var m = (len * sum_xy - sum_x * sum_y) / (len * sum_xx - sum_x * sum_x);\n var b = (sum_y / len) - (m * sum_x) / len;\n var result = [];\n for (var x = 0; x <= len; x++) {\n result.push(parseFloat((x * m + b).toFixed(maxDecimals)));\n }\n return result;\n}\n/**\n * Converts a CSS object into string\n * @param {Object} stylesToUse an object eg: {color: 'black', top: '25px'}\n * @return {string} A string like \"color: black; top: 25px;\" for html\n */\nfunction cssStyleObjectToMarkup(stylesToUse) {\n if (!stylesToUse) {\n return '';\n }\n var resParts = [];\n iterateObject(stylesToUse, function (styleKey, styleValue) {\n var styleKeyDashed = camelCaseToHyphen(styleKey);\n resParts.push(styleKeyDashed + \": \" + styleValue + \";\");\n });\n return resParts.join(' ');\n}\n/**\n * Displays a message to the browser. this is useful in iPad, where you can't easily see the console.\n * so the javascript code can use this to give feedback. this is NOT intended to be called in production.\n * it is intended the AG Grid developer calls this to troubleshoot, but then takes out the calls before\n * checking in.\n * @param {string} msg\n */\nfunction message(msg) {\n var eMessage = document.createElement('div');\n var eBox = document.querySelector('#__ag__message');\n eMessage.innerHTML = msg;\n if (!eBox) {\n var template = \"
\";\n eBox = loadTemplate(template);\n if (document.body) {\n document.body.appendChild(eBox);\n }\n }\n eBox.insertBefore(eMessage, eBox.children[0]);\n}\n/**\n * cell renderers are used in a few places. they bind to dom slightly differently to other cell renderes as they\n * can return back strings (instead of html elemnt) in the getGui() method. common code placed here to handle that.\n * @param {AgPromise} cellRendererPromise\n * @param {HTMLElement} eTarget\n */\nfunction bindCellRendererToHtmlElement(cellRendererPromise, eTarget) {\n cellRendererPromise.then(function (cellRenderer) {\n var gui = cellRenderer.getGui();\n if (gui != null) {\n if (typeof gui === 'object') {\n eTarget.appendChild(gui);\n }\n else {\n eTarget.innerHTML = gui;\n }\n }\n });\n}\n\nvar GeneralUtils = /*#__PURE__*/Object.freeze({\n getNameOfClass: getNameOfClass,\n findLineByLeastSquares: findLineByLeastSquares,\n cssStyleObjectToMarkup: cssStyleObjectToMarkup,\n message: message,\n bindCellRendererToHtmlElement: bindCellRendererToHtmlElement\n});\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\n// ARIA HELPER FUNCTIONS\nfunction setAriaAttribute(element, attribute, value) {\n element.setAttribute(ariaAttributeName(attribute), value.toString());\n}\nfunction removeAriaAttribute(element, attribute) {\n element.removeAttribute(ariaAttributeName(attribute));\n}\nfunction ariaAttributeName(attribute) {\n return \"aria-\" + attribute;\n}\nfunction setAriaRole(element, role) {\n if (role) {\n element.setAttribute('role', role);\n }\n else {\n element.removeAttribute('role');\n }\n}\nfunction getAriaSortState(column) {\n var sort;\n if (column.isSortAscending()) {\n sort = 'ascending';\n }\n else if (column.isSortDescending()) {\n sort = 'descending';\n }\n else {\n sort = 'none';\n }\n return sort;\n}\n// ARIA ATTRIBUTE GETTERS\nfunction getAriaLevel(element) {\n return parseInt(element.getAttribute('aria-level'), 10);\n}\nfunction getAriaPosInSet(element) {\n return parseInt(element.getAttribute('aria-posinset'), 10);\n}\nfunction getAriaDescribedBy(element) {\n return element.getAttribute('aria-describedby') || '';\n}\n// ARIA ATTRIBUTE SETTERS\nfunction setAriaLabel(element, label) {\n var key = 'label';\n if (label) {\n setAriaAttribute(element, key, label);\n }\n else {\n removeAriaAttribute(element, key);\n }\n}\nfunction setAriaLabelledBy(element, labelledBy) {\n var key = 'labelledby';\n if (labelledBy) {\n setAriaAttribute(element, key, labelledBy);\n }\n else {\n removeAriaAttribute(element, key);\n }\n}\nfunction setAriaDescription(element, description) {\n var key = 'description';\n if (description) {\n setAriaAttribute(element, key, description);\n }\n else {\n removeAriaAttribute(element, key);\n }\n}\nfunction setAriaDescribedBy(element, describedby) {\n var key = 'describedby';\n if (describedby) {\n setAriaAttribute(element, key, describedby);\n }\n else {\n removeAriaAttribute(element, key);\n }\n}\nfunction setAriaLevel(element, level) {\n setAriaAttribute(element, 'level', level);\n}\nfunction setAriaDisabled(element, disabled) {\n setAriaAttribute(element, 'disabled', disabled);\n}\nfunction setAriaExpanded(element, expanded) {\n setAriaAttribute(element, 'expanded', expanded);\n}\nfunction removeAriaExpanded(element) {\n removeAriaAttribute(element, 'expanded');\n}\nfunction setAriaSetSize(element, setsize) {\n setAriaAttribute(element, 'setsize', setsize);\n}\nfunction setAriaPosInSet(element, position) {\n setAriaAttribute(element, 'posinset', position);\n}\nfunction setAriaMultiSelectable(element, multiSelectable) {\n setAriaAttribute(element, 'multiselectable', multiSelectable);\n}\nfunction setAriaRowCount(element, rowCount) {\n setAriaAttribute(element, 'rowcount', rowCount);\n}\nfunction setAriaRowIndex(element, rowIndex) {\n setAriaAttribute(element, 'rowindex', rowIndex);\n}\nfunction setAriaColCount(element, colCount) {\n setAriaAttribute(element, 'colcount', colCount);\n}\nfunction setAriaColIndex(element, colIndex) {\n setAriaAttribute(element, 'colindex', colIndex);\n}\nfunction setAriaColSpan(element, colSpan) {\n setAriaAttribute(element, 'colspan', colSpan);\n}\nfunction setAriaSort(element, sort) {\n setAriaAttribute(element, 'sort', sort);\n}\nfunction removeAriaSort(element) {\n removeAriaAttribute(element, 'sort');\n}\nfunction setAriaSelected(element, selected) {\n var attributeName = 'selected';\n if (selected) {\n setAriaAttribute(element, attributeName, selected);\n }\n else {\n removeAriaAttribute(element, attributeName);\n }\n}\nfunction setAriaChecked(element, checked) {\n setAriaAttribute(element, 'checked', checked === undefined ? 'mixed' : checked);\n}\n\nvar AriaUtils = /*#__PURE__*/Object.freeze({\n setAriaRole: setAriaRole,\n getAriaSortState: getAriaSortState,\n getAriaLevel: getAriaLevel,\n getAriaPosInSet: getAriaPosInSet,\n getAriaDescribedBy: getAriaDescribedBy,\n setAriaLabel: setAriaLabel,\n setAriaLabelledBy: setAriaLabelledBy,\n setAriaDescription: setAriaDescription,\n setAriaDescribedBy: setAriaDescribedBy,\n setAriaLevel: setAriaLevel,\n setAriaDisabled: setAriaDisabled,\n setAriaExpanded: setAriaExpanded,\n removeAriaExpanded: removeAriaExpanded,\n setAriaSetSize: setAriaSetSize,\n setAriaPosInSet: setAriaPosInSet,\n setAriaMultiSelectable: setAriaMultiSelectable,\n setAriaRowCount: setAriaRowCount,\n setAriaRowIndex: setAriaRowIndex,\n setAriaColCount: setAriaColCount,\n setAriaColIndex: setAriaColIndex,\n setAriaColSpan: setAriaColSpan,\n setAriaSort: setAriaSort,\n removeAriaSort: removeAriaSort,\n setAriaSelected: setAriaSelected,\n setAriaChecked: setAriaChecked\n});\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nfunction padStartWidthZeros(value, totalStringSize) {\n return value.toString().padStart(totalStringSize, '0');\n}\nfunction createArrayOfNumbers(first, last) {\n var result = [];\n for (var i = first; i <= last; i++) {\n result.push(i);\n }\n return result;\n}\n/**\n * Check if a value is numeric\n * from http://stackoverflow.com/questions/9716468/is-there-any-function-like-isnumeric-in-javascript-to-validate-numbers\n * @param {any} value\n * @return {boolean}\n */\nfunction isNumeric(value) {\n return value !== '' && !isNaN(parseFloat(value)) && isFinite(value);\n}\nfunction cleanNumber(value) {\n if (typeof value === 'string') {\n value = parseInt(value, 10);\n }\n if (typeof value === 'number') {\n return Math.floor(value);\n }\n return null;\n}\nfunction decToHex(number, bytes) {\n var hex = '';\n for (var i = 0; i < bytes; i++) {\n hex += String.fromCharCode(number & 0xff);\n number >>>= 8;\n }\n return hex;\n}\nfunction formatNumberTwoDecimalPlacesAndCommas(value, thousandSeparator, decimalSeparator) {\n if (typeof value !== 'number') {\n return '';\n }\n return formatNumberCommas(Math.round(value * 100) / 100, thousandSeparator, decimalSeparator);\n}\n/**\n * the native method number.toLocaleString(undefined, {minimumFractionDigits: 0})\n * puts in decimal places in IE, so we use this method instead\n * from: http://blog.tompawlak.org/number-currency-formatting-javascript\n * @param {number} value\n * @returns {string}\n */\nfunction formatNumberCommas(value, thousandSeparator, decimalSeparator) {\n if (typeof value !== 'number') {\n return '';\n }\n return value.toString().replace('.', decimalSeparator).replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, \"$1\" + thousandSeparator);\n}\nfunction sum(values) {\n return values == null ? null : values.reduce(function (total, value) { return total + value; }, 0);\n}\n\nvar NumberUtils = /*#__PURE__*/Object.freeze({\n padStartWidthZeros: padStartWidthZeros,\n createArrayOfNumbers: createArrayOfNumbers,\n isNumeric: isNumeric,\n cleanNumber: cleanNumber,\n decToHex: decToHex,\n formatNumberTwoDecimalPlacesAndCommas: formatNumberTwoDecimalPlacesAndCommas,\n formatNumberCommas: formatNumberCommas,\n sum: sum\n});\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __read$5 = (undefined && undefined.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\n/**\n * Serialises a Date to a string of format `yyyy-MM-dd HH:mm:ss`.\n * An alternative separator can be provided to be used instead of hyphens.\n * @param date The date to serialise\n * @param includeTime Whether to include the time in the serialised string\n * @param separator The separator to use between date parts\n */\nfunction serialiseDate(date, includeTime, separator) {\n if (includeTime === void 0) { includeTime = true; }\n if (separator === void 0) { separator = '-'; }\n if (!date) {\n return null;\n }\n var serialised = [date.getFullYear(), date.getMonth() + 1, date.getDate()].map(function (part) { return padStartWidthZeros(part, 2); }).join(separator);\n if (includeTime) {\n serialised += ' ' + [date.getHours(), date.getMinutes(), date.getSeconds()].map(function (part) { return padStartWidthZeros(part, 2); }).join(':');\n }\n return serialised;\n}\n/**\n * Parses a date and time from a string in the format `yyyy-MM-dd HH:mm:ss`\n */\nfunction parseDateTimeFromString(value) {\n if (!value) {\n return null;\n }\n var _a = __read$5(value.split(' '), 2), dateStr = _a[0], timeStr = _a[1];\n if (!dateStr) {\n return null;\n }\n var fields = dateStr.split('-').map(function (f) { return parseInt(f, 10); });\n if (fields.filter(function (f) { return !isNaN(f); }).length !== 3) {\n return null;\n }\n var _b = __read$5(fields, 3), year = _b[0], month = _b[1], day = _b[2];\n var date = new Date(year, month - 1, day);\n if (date.getFullYear() !== year ||\n date.getMonth() !== month - 1 ||\n date.getDate() !== day) {\n // date was not parsed as expected so must have been invalid\n return null;\n }\n if (!timeStr || timeStr === '00:00:00') {\n return date;\n }\n var _c = __read$5(timeStr.split(':').map(function (part) { return parseInt(part, 10); }), 3), hours = _c[0], minutes = _c[1], seconds = _c[2];\n if (hours >= 0 && hours < 24) {\n date.setHours(hours);\n }\n if (minutes >= 0 && minutes < 60) {\n date.setMinutes(minutes);\n }\n if (seconds >= 0 && seconds < 60) {\n date.setSeconds(seconds);\n }\n return date;\n}\n\nvar DateUtils = /*#__PURE__*/Object.freeze({\n serialiseDate: serialiseDate,\n parseDateTimeFromString: parseDateTimeFromString\n});\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nfunction fuzzyCheckStrings(inputValues, validValues, allSuggestions) {\n var fuzzyMatches = {};\n var invalidInputs = inputValues.filter(function (inputValue) {\n return !validValues.some(function (validValue) { return validValue === inputValue; });\n });\n if (invalidInputs.length > 0) {\n invalidInputs.forEach(function (invalidInput) {\n return fuzzyMatches[invalidInput] = fuzzySuggestions(invalidInput, allSuggestions);\n });\n }\n return fuzzyMatches;\n}\n/**\n *\n * @param {String} inputValue The value to be compared against a list of strings\n * @param allSuggestions The list of strings to be compared against\n * @param hideIrrelevant By default, fuzzy suggestions will just sort the allSuggestions list, set this to true\n * to filter out the irrelevant values\n * @param weighted Set this to true, to make letters matched in the order they were typed have priority in the results.\n */\nfunction fuzzySuggestions(inputValue, allSuggestions, hideIrrelevant, weighted) {\n var search = weighted ? string_weighted_distances : string_distances;\n var thisSuggestions = allSuggestions.map(function (text) { return ({\n value: text,\n relevance: search(inputValue.toLowerCase(), text.toLocaleLowerCase())\n }); });\n thisSuggestions.sort(function (a, b) { return b.relevance - a.relevance; });\n if (hideIrrelevant) {\n thisSuggestions = thisSuggestions.filter(function (suggestion) { return suggestion.relevance !== 0; });\n }\n return thisSuggestions.map(function (suggestion) { return suggestion.value; });\n}\n/**\n * Algorithm to do fuzzy search\n * from https://stackoverflow.com/questions/23305000/javascript-fuzzy-search-that-makes-sense\n * @param {string} from\n * @return {[]}\n */\nfunction get_bigrams(from) {\n var s = from.toLowerCase();\n var v = new Array(s.length - 1);\n var i;\n var j;\n var ref;\n for (i = j = 0, ref = v.length; j <= ref; i = j += 1) {\n v[i] = s.slice(i, i + 2);\n }\n return v;\n}\nfunction string_distances(str1, str2) {\n if (str1.length === 0 && str2.length === 0) {\n return 0;\n }\n var pairs1 = get_bigrams(str1);\n var pairs2 = get_bigrams(str2);\n var union = pairs1.length + pairs2.length;\n var hit_count = 0;\n var j;\n var len;\n for (j = 0, len = pairs1.length; j < len; j++) {\n var x = pairs1[j];\n var k = void 0;\n var len1 = void 0;\n for (k = 0, len1 = pairs2.length; k < len1; k++) {\n var y = pairs2[k];\n if (x === y) {\n hit_count++;\n }\n }\n }\n return hit_count > 0 ? (2 * hit_count) / union : 0;\n}\nfunction string_weighted_distances(str1, str2) {\n var a = str1.replace(/\\s/g, '');\n var b = str2.replace(/\\s/g, '');\n var weight = 0;\n var lastIndex = 0;\n for (var i = 0; i < a.length; i++) {\n var idx = b.indexOf(a[i], lastIndex);\n if (idx === -1) {\n continue;\n }\n lastIndex = idx;\n weight += (100 - (lastIndex * 100 / 10000) * 100);\n }\n return weight;\n}\n\nvar FuzzyMatchUtils = /*#__PURE__*/Object.freeze({\n fuzzyCheckStrings: fuzzyCheckStrings,\n fuzzySuggestions: fuzzySuggestions,\n get_bigrams: get_bigrams,\n string_distances: string_distances,\n string_weighted_distances: string_weighted_distances\n});\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\n//\n// IMPORTANT NOTE!\n//\n// If you change the list below, copy/paste the new content into the docs page javascript-grid-icons\n//\nvar iconNameClassMap = {\n // header column group shown when expanded (click to contract)\n columnGroupOpened: 'expanded',\n // header column group shown when contracted (click to expand)\n columnGroupClosed: 'contracted',\n // tool panel column group contracted (click to expand)\n columnSelectClosed: 'tree-closed',\n // tool panel column group expanded (click to contract)\n columnSelectOpen: 'tree-open',\n // column tool panel header expand/collapse all button, shown when some children are expanded and\n // others are collapsed\n columnSelectIndeterminate: 'tree-indeterminate',\n // shown on ghost icon while dragging column to the side of the grid to pin\n columnMovePin: 'pin',\n // shown on ghost icon while dragging over part of the page that is not a drop zone\n columnMoveHide: 'eye-slash',\n // shown on ghost icon while dragging columns to reorder\n columnMoveMove: 'arrows',\n // animating icon shown when dragging a column to the right of the grid causes horizontal scrolling\n columnMoveLeft: 'left',\n // animating icon shown when dragging a column to the left of the grid causes horizontal scrolling\n columnMoveRight: 'right',\n // shown on ghost icon while dragging over Row Groups drop zone\n columnMoveGroup: 'group',\n // shown on ghost icon while dragging over Values drop zone\n columnMoveValue: 'aggregation',\n // shown on ghost icon while dragging over pivot drop zone\n columnMovePivot: 'pivot',\n // shown on ghost icon while dragging over drop zone that doesn't support it, e.g.\n // string column over aggregation drop zone\n dropNotAllowed: 'not-allowed',\n // shown on row group when contracted (click to expand)\n groupContracted: 'tree-closed',\n // shown on row group when expanded (click to contract)\n groupExpanded: 'tree-open',\n // context menu chart item\n chart: 'chart',\n // chart window title bar\n close: 'cross',\n // X (remove) on column 'pill' after adding it to a drop zone list\n cancel: 'cancel',\n // indicates the currently active pin state in the \"Pin column\" sub-menu of the column menu\n check: 'tick',\n // \"go to first\" button in pagination controls\n first: 'first',\n // \"go to previous\" button in pagination controls\n previous: 'previous',\n // \"go to next\" button in pagination controls\n next: 'next',\n // \"go to last\" button in pagination controls\n last: 'last',\n // shown on top right of chart when chart is linked to range data (click to unlink)\n linked: 'linked',\n // shown on top right of chart when chart is not linked to range data (click to link)\n unlinked: 'unlinked',\n // \"Choose colour\" button on chart settings tab\n colorPicker: 'color-picker',\n // rotating spinner shown by the loading cell renderer\n groupLoading: 'loading',\n // button to launch enterprise column menu\n menu: 'menu',\n // filter tool panel tab\n filter: 'filter',\n // column tool panel tab\n columns: 'columns',\n // button in chart regular size window title bar (click to maximise)\n maximize: 'maximize',\n // button in chart maximised window title bar (click to make regular size)\n minimize: 'minimize',\n // \"Pin column\" item in column header menu\n menuPin: 'pin',\n // \"Value aggregation\" column menu item (shown on numeric columns when grouping is active)\"\n menuValue: 'aggregation',\n // \"Group by {column-name}\" item in column header menu\n menuAddRowGroup: 'group',\n // \"Un-Group by {column-name}\" item in column header menu\n menuRemoveRowGroup: 'group',\n // context menu copy item\n clipboardCopy: 'copy',\n // context menu paste item\n clipboardPaste: 'paste',\n // identifies the pivot drop zone\n pivotPanel: 'pivot',\n // \"Row groups\" drop zone in column tool panel\n rowGroupPanel: 'group',\n // columns tool panel Values drop zone\n valuePanel: 'aggregation',\n // drag handle used to pick up draggable columns\n columnDrag: 'grip',\n // drag handle used to pick up draggable rows\n rowDrag: 'grip',\n // context menu export item\n save: 'save',\n // csv export\n csvExport: 'csv',\n // excel export,\n excelExport: 'excel',\n // icon on dropdown editors\n smallDown: 'small-down',\n // version of small-right used in RTL mode\n smallLeft: 'small-left',\n // separater between column 'pills' when you add multiple columns to the header drop zone\n smallRight: 'small-right',\n smallUp: 'small-up',\n // show on column header when column is sorted ascending\n sortAscending: 'asc',\n // show on column header when column is sorted descending\n sortDescending: 'desc',\n // show on column header when column has no sort, only when enabled with gridOptions.unSortIcon=true\n sortUnSort: 'none'\n};\n/**\n * If icon provided, use this (either a string, or a function callback).\n * if not, then use the default icon from the theme\n * @param {string} iconName\n * @param {GridOptionsWrapper} gridOptionsWrapper\n * @param {Column | null} [column]\n * @returns {HTMLElement}\n */\nfunction createIcon(iconName, gridOptionsWrapper, column) {\n var iconContents = createIconNoSpan(iconName, gridOptionsWrapper, column);\n if (iconContents && iconContents.className.indexOf('ag-icon') > -1) {\n return iconContents;\n }\n var eResult = document.createElement('span');\n eResult.appendChild(iconContents);\n return eResult;\n}\nfunction createIconNoSpan(iconName, gridOptionsWrapper, column, forceCreate) {\n var userProvidedIcon = null;\n // check col for icon first\n var icons = column && column.getColDef().icons;\n if (icons) {\n userProvidedIcon = icons[iconName];\n }\n // if not in col, try grid options\n if (gridOptionsWrapper && !userProvidedIcon) {\n var optionsIcons = gridOptionsWrapper.getIcons();\n if (optionsIcons) {\n userProvidedIcon = optionsIcons[iconName];\n }\n }\n // now if user provided, use it\n if (userProvidedIcon) {\n var rendererResult = void 0;\n if (typeof userProvidedIcon === 'function') {\n rendererResult = userProvidedIcon();\n }\n else if (typeof userProvidedIcon === 'string') {\n rendererResult = userProvidedIcon;\n }\n else {\n throw new Error('icon from grid options needs to be a string or a function');\n }\n if (typeof rendererResult === 'string') {\n return loadTemplate(rendererResult);\n }\n if (isNodeOrElement(rendererResult)) {\n return rendererResult;\n }\n console.warn('AG Grid: iconRenderer should return back a string or a dom object');\n }\n else {\n var span = document.createElement('span');\n var cssClass = iconNameClassMap[iconName];\n if (!cssClass) {\n if (!forceCreate) {\n console.warn(\"AG Grid: Did not find icon \" + iconName);\n cssClass = '';\n }\n else {\n cssClass = iconName;\n }\n }\n span.setAttribute('class', \"ag-icon ag-icon-\" + cssClass);\n span.setAttribute('unselectable', 'on');\n setAriaRole(span, 'presentation');\n return span;\n }\n}\n\nvar IconUtils = /*#__PURE__*/Object.freeze({\n iconNameClassMap: iconNameClassMap,\n createIcon: createIcon,\n createIconNoSpan: createIconNoSpan\n});\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar NUMPAD_DEL_NUMLOCK_ON_KEY = 'Del';\nvar NUMPAD_DEL_NUMLOCK_ON_CHARCODE = 46;\nfunction isEventFromPrintableCharacter(event) {\n // no allowed printable chars have alt or ctrl key combinations\n if (event.altKey || event.ctrlKey || event.metaKey) {\n return false;\n }\n // if key is length 1, eg if it is 'a' for the a key, or '2' for the '2' key.\n // non-printable characters have names, eg 'Enter' or 'Backspace'.\n var printableCharacter = event.key.length === 1;\n // IE11 & Edge treat the numpad del key differently - with numlock on we get \"Del\" for key,\n // so this addition checks if its IE11/Edge and handles that specific case the same was as all other browsers\n var numpadDelWithNumlockOnForEdgeOrIe = isNumpadDelWithNumLockOnForEdge(event);\n return printableCharacter || numpadDelWithNumlockOnForEdgeOrIe;\n}\n/**\n * Allows user to tell the grid to skip specific keyboard events\n * @param {GridOptionsWrapper} gridOptionsWrapper\n * @param {KeyboardEvent} keyboardEvent\n * @param {RowNode} rowNode\n * @param {Column} column\n * @param {boolean} editing\n * @returns {boolean}\n */\nfunction isUserSuppressingKeyboardEvent(gridOptionsWrapper, keyboardEvent, rowNode, column, editing) {\n var gridOptionsFunc = gridOptionsWrapper.getSuppressKeyboardEventFunc();\n var colDefFunc = column ? column.getColDef().suppressKeyboardEvent : undefined;\n // if no callbacks provided by user, then do nothing\n if (!gridOptionsFunc && !colDefFunc) {\n return false;\n }\n var params = {\n event: keyboardEvent,\n editing: editing,\n column: column,\n api: gridOptionsWrapper.getApi(),\n node: rowNode,\n data: rowNode.data,\n colDef: column.getColDef(),\n context: gridOptionsWrapper.getContext(),\n columnApi: gridOptionsWrapper.getColumnApi()\n };\n // colDef get first preference on suppressing events\n if (colDefFunc) {\n var colDefFuncResult = colDefFunc(params);\n // if colDef func suppressed, then return now, no need to call gridOption func\n if (colDefFuncResult) {\n return true;\n }\n }\n if (gridOptionsFunc) {\n // if gridOption func, return the result\n return gridOptionsFunc(params);\n }\n // otherwise return false, don't suppress, as colDef didn't suppress and no func on gridOptions\n return false;\n}\nfunction isUserSuppressingHeaderKeyboardEvent(gridOptionsWrapper, keyboardEvent, headerRowIndex, column) {\n var colDef = column.getDefinition();\n var colDefFunc = colDef && colDef.suppressHeaderKeyboardEvent;\n if (!exists(colDefFunc)) {\n return false;\n }\n var params = {\n api: gridOptionsWrapper.getApi(),\n columnApi: gridOptionsWrapper.getColumnApi(),\n context: gridOptionsWrapper.getContext(),\n colDef: colDef,\n column: column,\n headerRowIndex: headerRowIndex,\n event: keyboardEvent\n };\n return !!colDefFunc(params);\n}\nfunction isNumpadDelWithNumLockOnForEdge(event) {\n return (isBrowserEdge()) &&\n event.key === NUMPAD_DEL_NUMLOCK_ON_KEY &&\n event.charCode === NUMPAD_DEL_NUMLOCK_ON_CHARCODE;\n}\n\nvar KeyboardUtils = /*#__PURE__*/Object.freeze({\n isEventFromPrintableCharacter: isEventFromPrintableCharacter,\n isUserSuppressingKeyboardEvent: isUserSuppressingKeyboardEvent,\n isUserSuppressingHeaderKeyboardEvent: isUserSuppressingHeaderKeyboardEvent\n});\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\n/**\n * `True` if the event is close to the original event by X pixels either vertically or horizontally.\n * we only start dragging after X pixels so this allows us to know if we should start dragging yet.\n * @param {MouseEvent | TouchEvent} e1\n * @param {MouseEvent | TouchEvent} e2\n * @param {number} pixelCount\n * @returns {boolean}\n */\nfunction areEventsNear(e1, e2, pixelCount) {\n // by default, we wait 4 pixels before starting the drag\n if (pixelCount === 0) {\n return false;\n }\n var diffX = Math.abs(e1.clientX - e2.clientX);\n var diffY = Math.abs(e1.clientY - e2.clientY);\n return Math.max(diffX, diffY) <= pixelCount;\n}\n\nvar MouseUtils = /*#__PURE__*/Object.freeze({\n areEventsNear: areEventsNear\n});\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\n/**\n * Gets called by: a) ClientSideNodeManager and b) GroupStage to do sorting.\n * when in ClientSideNodeManager we always have indexes (as this sorts the items the\n * user provided) but when in GroupStage, the nodes can contain filler nodes that\n * don't have order id's\n * @param {RowNode[]} rowNodes\n * @param {Object} rowNodeOrder\n */\nfunction sortRowNodesByOrder(rowNodes, rowNodeOrder) {\n if (!rowNodes) {\n return;\n }\n var comparator = function (nodeA, nodeB) {\n var positionA = rowNodeOrder[nodeA.id];\n var positionB = rowNodeOrder[nodeB.id];\n var aHasIndex = positionA !== undefined;\n var bHasIndex = positionB !== undefined;\n var bothNodesAreUserNodes = aHasIndex && bHasIndex;\n var bothNodesAreFillerNodes = !aHasIndex && !bHasIndex;\n if (bothNodesAreUserNodes) {\n // when comparing two nodes the user has provided, they always\n // have indexes\n return positionA - positionB;\n }\n if (bothNodesAreFillerNodes) {\n // when comparing two filler nodes, we have no index to compare them\n // against, however we want this sorting to be deterministic, so that\n // the rows don't jump around as the user does delta updates. so we\n // want the same sort result. so we use the __objectId - which doesn't make sense\n // from a sorting point of view, but does give consistent behaviour between\n // calls. otherwise groups jump around as delta updates are done.\n // note: previously here we used nodeId, however this gave a strange order\n // as string ordering of numbers is wrong, so using id based on creation order\n // as least gives better looking order.\n return nodeA.__objectId - nodeB.__objectId;\n }\n if (aHasIndex) {\n return 1;\n }\n return -1;\n };\n // check if the list first needs sorting\n var rowNodeA;\n var rowNodeB;\n var atLeastOneOutOfOrder = false;\n for (var i = 0; i < rowNodes.length - 1; i++) {\n rowNodeA = rowNodes[i];\n rowNodeB = rowNodes[i + 1];\n if (comparator(rowNodeA, rowNodeB) > 0) {\n atLeastOneOutOfOrder = true;\n break;\n }\n }\n if (atLeastOneOutOfOrder) {\n rowNodes.sort(comparator);\n }\n}\nfunction traverseNodesWithKey(nodes, callback) {\n var keyParts = [];\n recursiveSearchNodes(nodes);\n function recursiveSearchNodes(currentNodes) {\n if (!currentNodes) {\n return;\n }\n currentNodes.forEach(function (node) {\n // also checking for children for tree data\n if (node.group || node.hasChildren()) {\n keyParts.push(node.key);\n var key = keyParts.join('|');\n callback(node, key);\n recursiveSearchNodes(node.childrenAfterGroup);\n keyParts.pop();\n }\n });\n }\n}\n\nvar RowNodeUtils = /*#__PURE__*/Object.freeze({\n sortRowNodesByOrder: sortRowNodesByOrder,\n traverseNodesWithKey: traverseNodesWithKey\n});\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nfunction convertToSet(list) {\n var set = new Set();\n list.forEach(function (x) { return set.add(x); });\n return set;\n}\n\nvar SetUtils = /*#__PURE__*/Object.freeze({\n convertToSet: convertToSet\n});\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __assign$1 = (undefined && undefined.__assign) || function () {\n __assign$1 = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign$1.apply(this, arguments);\n};\nvar utils = __assign$1(__assign$1(__assign$1(__assign$1(__assign$1(__assign$1(__assign$1(__assign$1(__assign$1(__assign$1(__assign$1(__assign$1(__assign$1(__assign$1(__assign$1(__assign$1(__assign$1(__assign$1(__assign$1(__assign$1({}, GeneralUtils), AriaUtils), ArrayUtils), BrowserUtils), CsvUtils), DateUtils), DomUtils), EventUtils), FunctionUtils), FuzzyMatchUtils), GenericUtils), IconUtils), KeyboardUtils), MapUtils), MouseUtils), NumberUtils), ObjectUtils), RowNodeUtils), SetUtils), StringUtils);\nvar _ = utils;\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar NumberSequence = /** @class */ (function () {\n function NumberSequence(initValue, step) {\n if (initValue === void 0) { initValue = 0; }\n if (step === void 0) { step = 1; }\n this.nextValue = initValue;\n this.step = step;\n }\n NumberSequence.prototype.next = function () {\n var valToReturn = this.nextValue;\n this.nextValue += this.step;\n return valToReturn;\n };\n NumberSequence.prototype.peek = function () {\n return this.nextValue;\n };\n NumberSequence.prototype.skip = function (count) {\n this.nextValue += count;\n };\n return NumberSequence;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\n(function (AgPromiseStatus) {\n AgPromiseStatus[AgPromiseStatus[\"IN_PROGRESS\"] = 0] = \"IN_PROGRESS\";\n AgPromiseStatus[AgPromiseStatus[\"RESOLVED\"] = 1] = \"RESOLVED\";\n})(exports.AgPromiseStatus || (exports.AgPromiseStatus = {}));\nvar AgPromise = /** @class */ (function () {\n function AgPromise(callback) {\n var _this = this;\n this.status = exports.AgPromiseStatus.IN_PROGRESS;\n this.resolution = null;\n this.waiters = [];\n callback(function (value) { return _this.onDone(value); }, function (params) { return _this.onReject(params); });\n }\n AgPromise.all = function (promises) {\n return new AgPromise(function (resolve) {\n var remainingToResolve = promises.length;\n var combinedValues = new Array(remainingToResolve);\n promises.forEach(function (promise, index) {\n promise.then(function (value) {\n combinedValues[index] = value;\n remainingToResolve--;\n if (remainingToResolve === 0) {\n resolve(combinedValues);\n }\n });\n });\n });\n };\n AgPromise.resolve = function (value) {\n if (value === void 0) { value = null; }\n return new AgPromise(function (resolve) { return resolve(value); });\n };\n AgPromise.prototype.then = function (func) {\n var _this = this;\n return new AgPromise(function (resolve) {\n if (_this.status === exports.AgPromiseStatus.RESOLVED) {\n resolve(func(_this.resolution));\n }\n else {\n _this.waiters.push(function (value) { return resolve(func(value)); });\n }\n });\n };\n AgPromise.prototype.resolveNow = function (ifNotResolvedValue, ifResolved) {\n return this.status === exports.AgPromiseStatus.RESOLVED ? ifResolved(this.resolution) : ifNotResolvedValue;\n };\n AgPromise.prototype.onDone = function (value) {\n this.status = exports.AgPromiseStatus.RESOLVED;\n this.resolution = value;\n this.waiters.forEach(function (waiter) { return waiter(value); });\n };\n AgPromise.prototype.onReject = function (params) {\n console.warn('TBI');\n };\n return AgPromise;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\n/**\n * A Util Class only used when debugging for printing time to console\n */\nvar Timer = /** @class */ (function () {\n function Timer() {\n this.timestamp = new Date().getTime();\n }\n Timer.prototype.print = function (msg) {\n var duration = (new Date().getTime()) - this.timestamp;\n console.info(msg + \" = \" + duration);\n this.timestamp = new Date().getTime();\n };\n return Timer;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$5 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign$2 = (undefined && undefined.__assign) || function () {\n __assign$2 = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign$2.apply(this, arguments);\n};\nvar __decorate$9 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar TooltipStates;\n(function (TooltipStates) {\n TooltipStates[TooltipStates[\"NOTHING\"] = 0] = \"NOTHING\";\n TooltipStates[TooltipStates[\"WAITING_TO_SHOW\"] = 1] = \"WAITING_TO_SHOW\";\n TooltipStates[TooltipStates[\"SHOWING\"] = 2] = \"SHOWING\";\n})(TooltipStates || (TooltipStates = {}));\nvar CustomTooltipFeature = /** @class */ (function (_super) {\n __extends$5(CustomTooltipFeature, _super);\n function CustomTooltipFeature(parentComp) {\n var _this = _super.call(this) || this;\n _this.DEFAULT_SHOW_TOOLTIP_DELAY = 2000;\n _this.DEFAULT_HIDE_TOOLTIP_DELAY = 10000;\n _this.SHOW_QUICK_TOOLTIP_DIFF = 1000;\n _this.FADE_OUT_TOOLTIP_TIMEOUT = 1000;\n _this.state = TooltipStates.NOTHING;\n // when showing the tooltip, we need to make sure it's the most recent instance we request, as due to\n // async we could request two tooltips before the first instance returns, in which case we should\n // disregard the second instance.\n _this.tooltipInstanceCount = 0;\n _this.tooltipMouseTrack = false;\n _this.parentComp = parentComp;\n return _this;\n }\n CustomTooltipFeature.prototype.postConstruct = function () {\n this.tooltipShowDelay = this.gridOptionsWrapper.getTooltipDelay('show') || this.DEFAULT_SHOW_TOOLTIP_DELAY;\n this.tooltipHideDelay = this.gridOptionsWrapper.getTooltipDelay('hide') || this.DEFAULT_HIDE_TOOLTIP_DELAY;\n this.tooltipMouseTrack = this.gridOptionsWrapper.isTooltipMouseTrack();\n var el = this.parentComp.getGui();\n this.addManagedListener(el, 'mouseenter', this.onMouseEnter.bind(this));\n this.addManagedListener(el, 'mouseleave', this.onMouseLeave.bind(this));\n this.addManagedListener(el, 'mousemove', this.onMouseMove.bind(this));\n this.addManagedListener(el, 'mousedown', this.onMouseDown.bind(this));\n this.addManagedListener(el, 'keydown', this.onKeyDown.bind(this));\n };\n CustomTooltipFeature.prototype.destroy = function () {\n // if this component gets destroyed while tooltip is showing, need to make sure\n // we don't end with no mouseLeave event resulting in zombie tooltip\n this.setToDoNothing();\n _super.prototype.destroy.call(this);\n };\n CustomTooltipFeature.prototype.onMouseEnter = function (e) {\n if (isIOSUserAgent()) {\n return;\n }\n // every mouseenter should be following by a mouseleave, however for some unkonwn, it's possible for\n // mouseenter to be called twice in a row, which can happen if editing the cell. this was reported\n // in https://ag-grid.atlassian.net/browse/AG-4422. to get around this, we check the state, and if\n // state is !=nothing, then we know mouseenter was already received.\n if (this.state != TooltipStates.NOTHING) {\n return;\n }\n // if another tooltip was hidden very recently, we only wait 200ms to show, not the normal waiting time\n var delay = this.isLastTooltipHiddenRecently() ? 200 : this.tooltipShowDelay;\n this.showTooltipTimeoutId = window.setTimeout(this.showTooltip.bind(this), delay);\n this.lastMouseEvent = e;\n this.state = TooltipStates.WAITING_TO_SHOW;\n };\n CustomTooltipFeature.prototype.onMouseLeave = function () {\n this.setToDoNothing();\n };\n CustomTooltipFeature.prototype.onKeyDown = function () {\n this.setToDoNothing();\n };\n CustomTooltipFeature.prototype.setToDoNothing = function () {\n if (this.state === TooltipStates.SHOWING) {\n this.hideTooltip();\n }\n this.clearTimeouts();\n this.state = TooltipStates.NOTHING;\n };\n CustomTooltipFeature.prototype.onMouseMove = function (e) {\n // there is a delay from the time we mouseOver a component and the time the\n // tooltip is displayed, so we need to track mousemove to be able to correctly\n // position the tooltip when showTooltip is called.\n this.lastMouseEvent = e;\n if (this.tooltipMouseTrack &&\n this.state === TooltipStates.SHOWING &&\n this.tooltipComp) {\n this.positionTooltipUnderLastMouseEvent();\n }\n };\n CustomTooltipFeature.prototype.onMouseDown = function () {\n this.setToDoNothing();\n };\n CustomTooltipFeature.prototype.hideTooltip = function () {\n // check if comp exists - due to async, although we asked for\n // one, the instance may not be back yet\n if (this.tooltipComp) {\n this.destroyTooltipComp();\n CustomTooltipFeature.lastTooltipHideTime = new Date().getTime();\n }\n this.state = TooltipStates.NOTHING;\n };\n CustomTooltipFeature.prototype.destroyTooltipComp = function () {\n var _this = this;\n // add class to fade out the tooltip\n this.tooltipComp.getGui().classList.add('ag-tooltip-hiding');\n // make local copies of these variables, as we use them in the async function below,\n // and we clear then to 'undefined' later, so need to take a copy before they are undefined.\n var tooltipPopupDestroyFunc = this.tooltipPopupDestroyFunc;\n var tooltipComp = this.tooltipComp;\n window.setTimeout(function () {\n tooltipPopupDestroyFunc();\n _this.getContext().destroyBean(tooltipComp);\n }, this.FADE_OUT_TOOLTIP_TIMEOUT);\n this.tooltipPopupDestroyFunc = undefined;\n this.tooltipComp = undefined;\n };\n CustomTooltipFeature.prototype.isLastTooltipHiddenRecently = function () {\n // return true if <1000ms since last time we hid a tooltip\n var now = new Date().getTime();\n var then = CustomTooltipFeature.lastTooltipHideTime;\n return (now - then) < this.SHOW_QUICK_TOOLTIP_DIFF;\n };\n CustomTooltipFeature.prototype.showTooltip = function () {\n var params = __assign$2({}, this.parentComp.getTooltipParams());\n if (!exists(params.value)) {\n this.setToDoNothing();\n return;\n }\n this.state = TooltipStates.SHOWING;\n this.tooltipInstanceCount++;\n // we pass in tooltipInstanceCount so the callback knows what the count was when\n // we requested the tooltip, so if another tooltip was requested in the mean time\n // we disregard it\n var callback = this.newTooltipComponentCallback.bind(this, this.tooltipInstanceCount);\n var userDetails = this.userComponentFactory.getTooltipCompDetails(params);\n userDetails.newAgStackInstance().then(callback);\n };\n CustomTooltipFeature.prototype.newTooltipComponentCallback = function (tooltipInstanceCopy, tooltipComp) {\n var compNoLongerNeeded = this.state !== TooltipStates.SHOWING || this.tooltipInstanceCount !== tooltipInstanceCopy;\n if (compNoLongerNeeded) {\n this.getContext().destroyBean(tooltipComp);\n return;\n }\n var eGui = tooltipComp.getGui();\n this.tooltipComp = tooltipComp;\n if (!eGui.classList.contains('ag-tooltip')) {\n eGui.classList.add('ag-tooltip-custom');\n }\n var translate = this.gridOptionsWrapper.getLocaleTextFunc();\n var addPopupRes = this.popupService.addPopup({\n eChild: eGui,\n ariaLabel: translate('ariaLabelTooltip', 'Tooltip')\n });\n if (addPopupRes) {\n this.tooltipPopupDestroyFunc = addPopupRes.hideFunc;\n }\n // this.tooltipPopupDestroyFunc = this.popupService.addPopup(false, eGui, false);\n this.positionTooltipUnderLastMouseEvent();\n this.hideTooltipTimeoutId = window.setTimeout(this.hideTooltip.bind(this), this.tooltipHideDelay);\n };\n CustomTooltipFeature.prototype.positionTooltipUnderLastMouseEvent = function () {\n this.popupService.positionPopupUnderMouseEvent({\n type: 'tooltip',\n mouseEvent: this.lastMouseEvent,\n ePopup: this.tooltipComp.getGui(),\n nudgeY: 18\n });\n };\n CustomTooltipFeature.prototype.clearTimeouts = function () {\n if (this.showTooltipTimeoutId) {\n window.clearTimeout(this.showTooltipTimeoutId);\n this.showTooltipTimeoutId = undefined;\n }\n if (this.hideTooltipTimeoutId) {\n window.clearTimeout(this.hideTooltipTimeoutId);\n this.hideTooltipTimeoutId = undefined;\n }\n };\n __decorate$9([\n Autowired('popupService')\n ], CustomTooltipFeature.prototype, \"popupService\", void 0);\n __decorate$9([\n Autowired('userComponentFactory')\n ], CustomTooltipFeature.prototype, \"userComponentFactory\", void 0);\n __decorate$9([\n Autowired('columnApi')\n ], CustomTooltipFeature.prototype, \"columnApi\", void 0);\n __decorate$9([\n Autowired('gridApi')\n ], CustomTooltipFeature.prototype, \"gridApi\", void 0);\n __decorate$9([\n PostConstruct\n ], CustomTooltipFeature.prototype, \"postConstruct\", null);\n return CustomTooltipFeature;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$6 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$a = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar compIdSequence = new NumberSequence();\nvar CssClassManager = /** @class */ (function () {\n function CssClassManager(getGui) {\n // to minimise DOM hits, we only apply CSS classes if they have changed. as adding a CSS class that is already\n // there, or removing one that wasn't present, all takes CPU.\n this.cssClassStates = {};\n this.getGui = getGui;\n }\n CssClassManager.prototype.addCssClass = function (className) {\n var _this = this;\n var list = (className || '').split(' ');\n if (list.length > 1) {\n list.forEach(function (cls) { return _this.addCssClass(cls); });\n return;\n }\n var updateNeeded = this.cssClassStates[className] !== true;\n if (updateNeeded && className.length) {\n this.getGui().classList.add(className);\n this.cssClassStates[className] = true;\n }\n };\n CssClassManager.prototype.removeCssClass = function (className) {\n var _this = this;\n var list = (className || '').split(' ');\n if (list.length > 1) {\n list.forEach(function (cls) { return _this.removeCssClass(cls); });\n return;\n }\n var updateNeeded = this.cssClassStates[className] !== false;\n if (updateNeeded && className.length) {\n this.getGui().classList.remove(className);\n this.cssClassStates[className] = false;\n }\n };\n CssClassManager.prototype.containsCssClass = function (className) {\n return this.getGui().classList.contains(className);\n };\n CssClassManager.prototype.addOrRemoveCssClass = function (className, addOrRemove) {\n var _this = this;\n var list = (className || '').split(' ');\n if (list.length > 1) {\n list.forEach(function (cls) { return _this.addOrRemoveCssClass(cls, addOrRemove); });\n return;\n }\n var updateNeeded = this.cssClassStates[className] !== addOrRemove;\n if (updateNeeded && className.length) {\n this.getGui().classList.toggle(className, addOrRemove);\n this.cssClassStates[className] = addOrRemove;\n }\n };\n return CssClassManager;\n}());\nvar Component = /** @class */ (function (_super) {\n __extends$6(Component, _super);\n function Component(template) {\n var _this = _super.call(this) || this;\n // if false, then CSS class \"ag-hidden\" is applied, which sets \"display: none\"\n _this.displayed = true;\n // if false, then CSS class \"ag-invisible\" is applied, which sets \"visibility: hidden\"\n _this.visible = true;\n // unique id for this row component. this is used for getting a reference to the HTML dom.\n // we cannot use the RowNode id as this is not unique (due to animation, old rows can be lying\n // around as we create a new rowComp instance for the same row node).\n _this.compId = compIdSequence.next();\n _this.cssClassManager = new CssClassManager(function () { return _this.eGui; });\n if (template) {\n _this.setTemplate(template);\n }\n return _this;\n }\n Component.prototype.preConstructOnComponent = function () {\n this.usingBrowserTooltips = this.gridOptionsWrapper.isEnableBrowserTooltips();\n };\n Component.prototype.getCompId = function () {\n return this.compId;\n };\n Component.prototype.getTooltipParams = function () {\n return {\n value: this.tooltipText,\n location: 'UNKNOWN'\n };\n };\n Component.prototype.setTooltip = function (newTooltipText) {\n var _this = this;\n var removeTooltip = function () {\n if (_this.usingBrowserTooltips) {\n _this.getGui().removeAttribute('title');\n }\n else {\n _this.tooltipFeature = _this.destroyBean(_this.tooltipFeature);\n }\n };\n var addTooltip = function () {\n if (_this.usingBrowserTooltips) {\n _this.getGui().setAttribute('title', _this.tooltipText);\n }\n else {\n _this.tooltipFeature = _this.createBean(new CustomTooltipFeature(_this));\n }\n };\n if (this.tooltipText != newTooltipText) {\n if (this.tooltipText) {\n removeTooltip();\n }\n if (newTooltipText != null) {\n this.tooltipText = newTooltipText;\n if (this.tooltipText) {\n addTooltip();\n }\n }\n }\n };\n // for registered components only, eg creates AgCheckbox instance from ag-checkbox HTML tag\n Component.prototype.createChildComponentsFromTags = function (parentNode, paramsMap) {\n var _this = this;\n // we MUST take a copy of the list first, as the 'swapComponentForNode' adds comments into the DOM\n // which messes up the traversal order of the children.\n var childNodeList = copyNodeList(parentNode.childNodes);\n childNodeList.forEach(function (childNode) {\n if (!(childNode instanceof HTMLElement)) {\n return;\n }\n var childComp = _this.createComponentFromElement(childNode, function (childComp) {\n // copy over all attributes, including css classes, so any attributes user put on the tag\n // wll be carried across\n var childGui = childComp.getGui();\n if (childGui) {\n _this.copyAttributesFromNode(childNode, childComp.getGui());\n }\n }, paramsMap);\n if (childComp) {\n if (childComp.addItems && childNode.children.length) {\n _this.createChildComponentsFromTags(childNode, paramsMap);\n // converting from HTMLCollection to Array\n var items = Array.prototype.slice.call(childNode.children);\n childComp.addItems(items);\n }\n // replace the tag (eg ag-checkbox) with the proper HTMLElement (eg 'div') in the dom\n _this.swapComponentForNode(childComp, parentNode, childNode);\n }\n else if (childNode.childNodes) {\n _this.createChildComponentsFromTags(childNode, paramsMap);\n }\n });\n };\n Component.prototype.createComponentFromElement = function (element, afterPreCreateCallback, paramsMap) {\n var key = element.nodeName;\n var componentParams = paramsMap ? paramsMap[element.getAttribute('ref')] : undefined;\n var ComponentClass = this.agStackComponentsRegistry.getComponentClass(key);\n if (ComponentClass) {\n Component.elementGettingCreated = element;\n var newComponent = new ComponentClass(componentParams);\n newComponent.setParentComponent(this);\n this.createBean(newComponent, null, afterPreCreateCallback);\n return newComponent;\n }\n return null;\n };\n Component.prototype.copyAttributesFromNode = function (source, dest) {\n iterateNamedNodeMap(source.attributes, function (name, value) { return dest.setAttribute(name, value); });\n };\n Component.prototype.swapComponentForNode = function (newComponent, parentNode, childNode) {\n var eComponent = newComponent.getGui();\n parentNode.replaceChild(eComponent, childNode);\n parentNode.insertBefore(document.createComment(childNode.nodeName), eComponent);\n this.addDestroyFunc(this.destroyBean.bind(this, newComponent));\n this.swapInComponentForQuerySelectors(newComponent, childNode);\n };\n Component.prototype.swapInComponentForQuerySelectors = function (newComponent, childNode) {\n var thisNoType = this;\n this.iterateOverQuerySelectors(function (querySelector) {\n if (thisNoType[querySelector.attributeName] === childNode) {\n thisNoType[querySelector.attributeName] = newComponent;\n }\n });\n };\n Component.prototype.iterateOverQuerySelectors = function (action) {\n var thisPrototype = Object.getPrototypeOf(this);\n while (thisPrototype != null) {\n var metaData = thisPrototype.__agComponentMetaData;\n var currentProtoName = getFunctionName(thisPrototype.constructor);\n if (metaData && metaData[currentProtoName] && metaData[currentProtoName].querySelectors) {\n metaData[currentProtoName].querySelectors.forEach(function (querySelector) { return action(querySelector); });\n }\n thisPrototype = Object.getPrototypeOf(thisPrototype);\n }\n };\n Component.prototype.setTemplate = function (template, paramsMap) {\n var eGui = loadTemplate(template);\n this.setTemplateFromElement(eGui, paramsMap);\n };\n Component.prototype.setTemplateFromElement = function (element, paramsMap) {\n this.eGui = element;\n this.eGui.__agComponent = this;\n this.wireQuerySelectors();\n // context will not be available when user sets template in constructor\n if (!!this.getContext()) {\n this.createChildComponentsFromTags(this.getGui(), paramsMap);\n }\n };\n Component.prototype.createChildComponentsPreConstruct = function () {\n // ui exists if user sets template in constructor. when this happens, we have to wait for the context\n // to be autoWired first before we can create child components.\n if (!!this.getGui()) {\n this.createChildComponentsFromTags(this.getGui());\n }\n };\n Component.prototype.wireQuerySelectors = function () {\n var _this = this;\n if (!this.eGui) {\n return;\n }\n var thisNoType = this;\n this.iterateOverQuerySelectors(function (querySelector) {\n var setResult = function (result) { return thisNoType[querySelector.attributeName] = result; };\n // if it's a ref selector, and match is on top level component, we return\n // the element. otherwise no way of components putting ref=xxx on the top\n // level element as querySelector only looks at children.\n var topLevelRefMatch = querySelector.refSelector\n && _this.eGui.getAttribute('ref') === querySelector.refSelector;\n if (topLevelRefMatch) {\n setResult(_this.eGui);\n }\n else {\n // otherwise use querySelector, which looks at children\n var resultOfQuery = _this.eGui.querySelector(querySelector.querySelector);\n if (resultOfQuery) {\n setResult(resultOfQuery.__agComponent || resultOfQuery);\n }\n }\n });\n };\n Component.prototype.getGui = function () {\n return this.eGui;\n };\n Component.prototype.getFocusableElement = function () {\n return this.eGui;\n };\n Component.prototype.setParentComponent = function (component) {\n this.parentComponent = component;\n };\n Component.prototype.getParentComponent = function () {\n return this.parentComponent;\n };\n // this method is for older code, that wants to provide the gui element,\n // it is not intended for this to be in ag-Stack\n Component.prototype.setGui = function (eGui) {\n this.eGui = eGui;\n };\n Component.prototype.queryForHtmlElement = function (cssSelector) {\n return this.eGui.querySelector(cssSelector);\n };\n Component.prototype.queryForHtmlInputElement = function (cssSelector) {\n return this.eGui.querySelector(cssSelector);\n };\n Component.prototype.appendChild = function (newChild, container) {\n if (!container) {\n container = this.eGui;\n }\n if (newChild == null) {\n return;\n }\n if (isNodeOrElement(newChild)) {\n container.appendChild(newChild);\n }\n else {\n var childComponent = newChild;\n container.appendChild(childComponent.getGui());\n this.addDestroyFunc(this.destroyBean.bind(this, childComponent));\n }\n };\n Component.prototype.isDisplayed = function () {\n return this.displayed;\n };\n Component.prototype.setVisible = function (visible) {\n if (visible !== this.visible) {\n this.visible = visible;\n setVisible(this.eGui, visible);\n }\n };\n Component.prototype.setDisplayed = function (displayed) {\n if (displayed !== this.displayed) {\n this.displayed = displayed;\n setDisplayed(this.eGui, displayed);\n var event_1 = {\n type: Component.EVENT_DISPLAYED_CHANGED,\n visible: this.displayed\n };\n this.dispatchEvent(event_1);\n }\n };\n Component.prototype.destroy = function () {\n if (this.tooltipFeature) {\n this.tooltipFeature = this.destroyBean(this.tooltipFeature);\n }\n _super.prototype.destroy.call(this);\n };\n Component.prototype.addGuiEventListener = function (event, listener) {\n var _this = this;\n this.eGui.addEventListener(event, listener);\n this.addDestroyFunc(function () { return _this.eGui.removeEventListener(event, listener); });\n };\n Component.prototype.addCssClass = function (className) {\n this.cssClassManager.addCssClass(className);\n };\n Component.prototype.removeCssClass = function (className) {\n this.cssClassManager.removeCssClass(className);\n };\n Component.prototype.containsCssClass = function (className) {\n return this.cssClassManager.containsCssClass(className);\n };\n Component.prototype.addOrRemoveCssClass = function (className, addOrRemove) {\n this.cssClassManager.addOrRemoveCssClass(className, addOrRemove);\n };\n Component.prototype.getAttribute = function (key) {\n var eGui = this.eGui;\n return eGui ? eGui.getAttribute(key) : null;\n };\n Component.prototype.getRefElement = function (refName) {\n return this.queryForHtmlElement(\"[ref=\\\"\" + refName + \"\\\"]\");\n };\n Component.EVENT_DISPLAYED_CHANGED = 'displayedChanged';\n __decorate$a([\n Autowired('agStackComponentsRegistry')\n ], Component.prototype, \"agStackComponentsRegistry\", void 0);\n __decorate$a([\n PreConstruct\n ], Component.prototype, \"preConstructOnComponent\", null);\n __decorate$a([\n PreConstruct\n ], Component.prototype, \"createChildComponentsPreConstruct\", null);\n return Component;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nfunction QuerySelector(selector) {\n return querySelectorFunc.bind(this, selector, undefined);\n}\nfunction RefSelector(ref) {\n return querySelectorFunc.bind(this, \"[ref=\" + ref + \"]\", ref);\n}\nfunction querySelectorFunc(selector, refSelector, classPrototype, methodOrAttributeName, index) {\n if (selector === null) {\n console.error('AG Grid: QuerySelector selector should not be null');\n return;\n }\n if (typeof index === 'number') {\n console.error('AG Grid: QuerySelector should be on an attribute');\n return;\n }\n addToObjectProps(classPrototype, 'querySelectors', {\n attributeName: methodOrAttributeName,\n querySelector: selector,\n refSelector: refSelector\n });\n}\n// // think we should take this out, put property bindings on the\n// export function Method(eventName?: string): Function {\n// return methodFunc.bind(this, eventName);\n// }\n//\n// function methodFunc(alias: string, target: Object, methodName: string) {\n// if (alias === null) {\n// console.error(\"AG Grid: EventListener eventName should not be null\");\n// return;\n// }\n//\n// addToObjectProps(target, 'methods', {\n// methodName: methodName,\n// alias: alias\n// });\n// }\nfunction addToObjectProps(target, key, value) {\n // it's an attribute on the class\n var props = getOrCreateProps$1(target, getFunctionName(target.constructor));\n if (!props[key]) {\n props[key] = [];\n }\n props[key].push(value);\n}\nfunction getOrCreateProps$1(target, instanceName) {\n if (!target.__agComponentMetaData) {\n target.__agComponentMetaData = {};\n }\n if (!target.__agComponentMetaData[instanceName]) {\n target.__agComponentMetaData[instanceName] = {};\n }\n return target.__agComponentMetaData[instanceName];\n}\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$7 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$b = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n// optional floating filter for user provided filters - instead of providing a floating filter,\n// they can provide a getModelAsString() method on the filter instead. this class just displays\n// the string returned from getModelAsString()\nvar ReadOnlyFloatingFilter = /** @class */ (function (_super) {\n __extends$7(ReadOnlyFloatingFilter, _super);\n function ReadOnlyFloatingFilter() {\n return _super.call(this, /* html */ \"\\n
\\n \\n
\") || this;\n }\n // this is a user component, and IComponent has \"public destroy()\" as part of the interface.\n // so we need to override destroy() just to make the method public.\n ReadOnlyFloatingFilter.prototype.destroy = function () {\n _super.prototype.destroy.call(this);\n };\n ReadOnlyFloatingFilter.prototype.init = function (params) {\n this.params = params;\n var displayName = this.columnModel.getDisplayNameForColumn(params.column, 'header', true);\n var translate = this.gridOptionsWrapper.getLocaleTextFunc();\n this.eFloatingFilterText\n .setDisabled(true)\n .setInputAriaLabel(displayName + \" \" + translate('ariaFilterInput', 'Filter Input'));\n };\n ReadOnlyFloatingFilter.prototype.onParentModelChanged = function (parentModel) {\n var _this = this;\n if (!parentModel) {\n this.eFloatingFilterText.setValue('');\n return;\n }\n this.params.parentFilterInstance(function (filterInstance) {\n // it would be nice to check if getModelAsString was present before creating this component,\n // however that is not possible, as React Hooks and VueJS don't attached the methods to the Filter until\n // AFTER the filter is created, not allowing inspection before this (we create floating filters as columns\n // are drawn, but the parent filters are only created when needed).\n if (filterInstance.getModelAsString) {\n var modelAsString = filterInstance.getModelAsString(parentModel);\n _this.eFloatingFilterText.setValue(modelAsString);\n }\n });\n };\n __decorate$b([\n RefSelector('eFloatingFilterText')\n ], ReadOnlyFloatingFilter.prototype, \"eFloatingFilterText\", void 0);\n __decorate$b([\n Autowired('columnModel')\n ], ReadOnlyFloatingFilter.prototype, \"columnModel\", void 0);\n return ReadOnlyFloatingFilter;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\n/** Provides sync access to async component. Date component can be lazy created - this class encapsulates\n * this by keeping value locally until DateComp has loaded, then passing DateComp the value. */\nvar DateCompWrapper = /** @class */ (function () {\n function DateCompWrapper(context, userComponentFactory, dateComponentParams, eParent) {\n var _this = this;\n this.alive = true;\n this.context = context;\n this.eParent = eParent;\n var compDetails = userComponentFactory.getDateCompDetails(dateComponentParams);\n var promise = compDetails.newAgStackInstance();\n promise.then(function (dateComp) {\n // because async, check the filter still exists after component comes back\n if (!_this.alive) {\n context.destroyBean(dateComp);\n return;\n }\n _this.dateComp = dateComp;\n if (!dateComp) {\n return;\n }\n eParent.appendChild(dateComp.getGui());\n if (dateComp.afterGuiAttached) {\n dateComp.afterGuiAttached();\n }\n if (_this.tempValue) {\n dateComp.setDate(_this.tempValue);\n }\n if (_this.disabled != null) {\n _this.setDateCompDisabled(_this.disabled);\n }\n });\n }\n DateCompWrapper.prototype.destroy = function () {\n this.alive = false;\n this.dateComp = this.context.destroyBean(this.dateComp);\n };\n DateCompWrapper.prototype.getDate = function () {\n return this.dateComp ? this.dateComp.getDate() : this.tempValue;\n };\n DateCompWrapper.prototype.setDate = function (value) {\n if (this.dateComp) {\n this.dateComp.setDate(value);\n }\n else {\n this.tempValue = value;\n }\n };\n DateCompWrapper.prototype.setDisabled = function (disabled) {\n if (this.dateComp) {\n this.setDateCompDisabled(disabled);\n }\n else {\n this.disabled = disabled;\n }\n };\n DateCompWrapper.prototype.setDisplayed = function (displayed) {\n setDisplayed(this.eParent, displayed);\n };\n DateCompWrapper.prototype.setInputPlaceholder = function (placeholder) {\n if (this.dateComp && this.dateComp.setInputPlaceholder) {\n this.dateComp.setInputPlaceholder(placeholder);\n }\n };\n DateCompWrapper.prototype.setInputAriaLabel = function (label) {\n if (this.dateComp && this.dateComp.setInputAriaLabel) {\n this.dateComp.setInputAriaLabel(label);\n }\n };\n DateCompWrapper.prototype.afterGuiAttached = function (params) {\n if (this.dateComp && typeof this.dateComp.afterGuiAttached === 'function') {\n this.dateComp.afterGuiAttached(params);\n }\n };\n DateCompWrapper.prototype.setDateCompDisabled = function (disabled) {\n if (this.dateComp == null) {\n return;\n }\n if (this.dateComp.setDisabled == null) {\n return;\n }\n this.dateComp.setDisabled(disabled);\n };\n return DateCompWrapper;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __assign$3 = (undefined && undefined.__assign) || function () {\n __assign$3 = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign$3.apply(this, arguments);\n};\n/* Common logic for options, used by both filters and floating filters. */\nvar OptionsFactory = /** @class */ (function () {\n function OptionsFactory() {\n this.customFilterOptions = {};\n }\n OptionsFactory.prototype.init = function (params, defaultOptions) {\n this.filterOptions = params.filterOptions || defaultOptions;\n this.mapCustomOptions();\n this.selectDefaultItem(params);\n this.checkForDeprecatedParams();\n };\n OptionsFactory.prototype.checkForDeprecatedParams = function () {\n if (this.filterOptions.some(function (opt) { return typeof opt != 'string' && opt.test != null; })) {\n console.warn(\"AG Grid: [IFilterOptionDef] since v26.2.0, test() has been replaced with predicate().\");\n }\n if (this.filterOptions.some(function (opt) { return typeof opt != 'string' && opt.hideFilterInput != null; })) {\n console.warn(\"AG Grid: [IFilterOptionDef] since v26.2.0, useOfHideFilterInput has been replaced with numberOfInputs.\");\n }\n };\n OptionsFactory.prototype.getFilterOptions = function () {\n return this.filterOptions;\n };\n OptionsFactory.prototype.mapCustomOptions = function () {\n var _this = this;\n if (!this.filterOptions) {\n return;\n }\n this.filterOptions.forEach(function (filterOption) {\n if (typeof filterOption === 'string') {\n return;\n }\n var requiredProperties = [['displayKey'], ['displayName'], ['predicate', 'test']];\n var propertyCheck = function (keys) {\n if (!keys.some(function (key) { return filterOption[key] != null; })) {\n console.warn(\"AG Grid: ignoring FilterOptionDef as it doesn't contain one of '\" + keys + \"'\");\n return false;\n }\n return true;\n };\n if (!requiredProperties.every(propertyCheck)) {\n _this.filterOptions = _this.filterOptions.filter(function (v) { return v === filterOption; }) || [];\n return;\n }\n var test = filterOption.test;\n var mutatedFilterOptions = __assign$3({}, filterOption);\n if (test != null && filterOption.predicate == null) {\n mutatedFilterOptions.predicate = function (v, cv) { return test(v[0], cv); };\n delete mutatedFilterOptions.test;\n }\n if (mutatedFilterOptions.hideFilterInput && mutatedFilterOptions.numberOfInputs == null) {\n mutatedFilterOptions.numberOfInputs = 0;\n delete mutatedFilterOptions.hideFilterInput;\n }\n _this.customFilterOptions[filterOption.displayKey] = mutatedFilterOptions;\n });\n };\n OptionsFactory.prototype.selectDefaultItem = function (params) {\n if (params.defaultOption) {\n this.defaultOption = params.defaultOption;\n }\n else if (this.filterOptions.length >= 1) {\n var firstFilterOption = this.filterOptions[0];\n if (typeof firstFilterOption === 'string') {\n this.defaultOption = firstFilterOption;\n }\n else if (firstFilterOption.displayKey) {\n this.defaultOption = firstFilterOption.displayKey;\n }\n else {\n console.warn(\"AG Grid: invalid FilterOptionDef supplied as it doesn't contain a 'displayKey'\");\n }\n }\n else {\n console.warn('AG Grid: no filter options for filter');\n }\n };\n OptionsFactory.prototype.getDefaultOption = function () {\n return this.defaultOption;\n };\n OptionsFactory.prototype.getCustomOption = function (name) {\n return this.customFilterOptions[name];\n };\n return OptionsFactory;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar DEFAULT_FILTER_LOCALE_TEXT = {\n applyFilter: 'Apply',\n clearFilter: 'Clear',\n resetFilter: 'Reset',\n cancelFilter: 'Cancel',\n textFilter: 'Text Filter',\n numberFilter: 'Number Filter',\n dateFilter: 'Date Filter',\n setFilter: 'Set Filter',\n filterOoo: 'Filter...',\n empty: 'Choose One',\n equals: 'Equals',\n notEqual: 'Not equal',\n lessThan: 'Less than',\n greaterThan: 'Greater than',\n inRange: 'In range',\n inRangeStart: 'From',\n inRangeEnd: 'To',\n lessThanOrEqual: 'Less than or equals',\n greaterThanOrEqual: 'Greater than or equals',\n contains: 'Contains',\n notContains: 'Not contains',\n startsWith: 'Starts with',\n endsWith: 'Ends with',\n blank: 'Blank',\n notBlank: 'Not blank',\n andCondition: 'AND',\n orCondition: 'OR',\n dateFormatOoo: 'yyyy-mm-dd',\n};\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar KeyCode = /** @class */ (function () {\n function KeyCode() {\n }\n KeyCode.BACKSPACE = 'Backspace';\n KeyCode.TAB = 'Tab';\n KeyCode.ENTER = 'Enter';\n KeyCode.ESCAPE = 'Escape';\n KeyCode.SPACE = ' ';\n KeyCode.LEFT = 'ArrowLeft';\n KeyCode.UP = 'ArrowUp';\n KeyCode.RIGHT = 'ArrowRight';\n KeyCode.DOWN = 'ArrowDown';\n KeyCode.DELETE = 'Delete';\n KeyCode.F2 = 'F2';\n KeyCode.PAGE_UP = 'PageUp';\n KeyCode.PAGE_DOWN = 'PageDown';\n KeyCode.PAGE_HOME = 'Home';\n KeyCode.PAGE_END = 'End';\n // these should be used with `event.code` instead of `event.key`\n // as `event.key` changes when non-latin keyboards are used\n KeyCode.A = 'KeyA';\n KeyCode.C = 'KeyC';\n KeyCode.V = 'KeyV';\n KeyCode.D = 'KeyD';\n KeyCode.Z = 'KeyZ';\n KeyCode.Y = 'KeyY';\n return KeyCode;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$8 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign$4 = (undefined && undefined.__assign) || function () {\n __assign$4 = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign$4.apply(this, arguments);\n};\nvar __decorate$c = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar ManagedFocusFeature = /** @class */ (function (_super) {\n __extends$8(ManagedFocusFeature, _super);\n function ManagedFocusFeature(eFocusableElement, callbacks) {\n if (callbacks === void 0) { callbacks = {}; }\n var _this = _super.call(this) || this;\n _this.eFocusableElement = eFocusableElement;\n _this.callbacks = callbacks;\n _this.callbacks = __assign$4({ shouldStopEventPropagation: function () { return false; }, onTabKeyDown: function (e) {\n if (e.defaultPrevented) {\n return;\n }\n var nextRoot = _this.focusService.findNextFocusableElement(_this.eFocusableElement, false, e.shiftKey);\n if (!nextRoot) {\n return;\n }\n nextRoot.focus();\n e.preventDefault();\n } }, callbacks);\n return _this;\n }\n ManagedFocusFeature.prototype.postConstruct = function () {\n this.eFocusableElement.classList.add(ManagedFocusFeature.FOCUS_MANAGED_CLASS);\n this.addKeyDownListeners(this.eFocusableElement);\n if (this.callbacks.onFocusIn) {\n this.addManagedListener(this.eFocusableElement, 'focusin', this.callbacks.onFocusIn);\n }\n if (this.callbacks.onFocusOut) {\n this.addManagedListener(this.eFocusableElement, 'focusout', this.callbacks.onFocusOut);\n }\n };\n ManagedFocusFeature.prototype.addKeyDownListeners = function (eGui) {\n var _this = this;\n this.addManagedListener(eGui, 'keydown', function (e) {\n if (e.defaultPrevented || isStopPropagationForAgGrid(e)) {\n return;\n }\n if (_this.callbacks.shouldStopEventPropagation(e)) {\n stopPropagationForAgGrid(e);\n return;\n }\n if (e.key === KeyCode.TAB) {\n _this.callbacks.onTabKeyDown(e);\n }\n else if (_this.callbacks.handleKeyDown) {\n _this.callbacks.handleKeyDown(e);\n }\n });\n };\n ManagedFocusFeature.FOCUS_MANAGED_CLASS = 'ag-focus-managed';\n __decorate$c([\n Autowired('focusService')\n ], ManagedFocusFeature.prototype, \"focusService\", void 0);\n __decorate$c([\n PostConstruct\n ], ManagedFocusFeature.prototype, \"postConstruct\", null);\n return ManagedFocusFeature;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$9 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$d = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n/**\n * Contains common logic to all provided filters (apply button, clear button, etc).\n * All the filters that come with AG Grid extend this class. User filters do not\n * extend this class.\n *\n * @param M type of filter-model managed by the concrete sub-class that extends this type\n * @param V type of value managed by the concrete sub-class that extends this type\n */\nvar ProvidedFilter = /** @class */ (function (_super) {\n __extends$9(ProvidedFilter, _super);\n function ProvidedFilter(filterNameKey) {\n var _this = _super.call(this) || this;\n _this.filterNameKey = filterNameKey;\n _this.applyActive = false;\n _this.hidePopup = null;\n // after the user hits 'apply' the model gets copied to here. this is then the model that we use for\n // all filtering. so if user changes UI but doesn't hit apply, then the UI will be out of sync with this model.\n // this is what we want, as the UI should only become the 'active' filter once it's applied. when apply is\n // inactive, this model will be in sync (following the debounce ms). if the UI is not a valid filter\n // (eg the value is missing so nothing to filter on, or for set filter all checkboxes are checked so filter\n // not active) then this appliedModel will be null/undefined.\n _this.appliedModel = null;\n return _this;\n }\n ProvidedFilter.prototype.postConstruct = function () {\n this.resetTemplate(); // do this first to create the DOM\n this.createManagedBean(new ManagedFocusFeature(this.getFocusableElement(), {\n handleKeyDown: this.handleKeyDown.bind(this)\n }));\n };\n // override\n ProvidedFilter.prototype.handleKeyDown = function (e) { };\n ProvidedFilter.prototype.getFilterTitle = function () {\n return this.translate(this.filterNameKey);\n };\n ProvidedFilter.prototype.isFilterActive = function () {\n // filter is active if we have a valid applied model\n return !!this.appliedModel;\n };\n ProvidedFilter.prototype.resetTemplate = function (paramsMap) {\n var templateString = /* html */ \"\\n
\\n
\\n \" + this.createBodyTemplate() + \"\\n
\\n
\";\n this.setTemplate(templateString, paramsMap);\n };\n ProvidedFilter.prototype.isReadOnly = function () {\n return !!this.providedFilterParams.readOnly;\n };\n ProvidedFilter.prototype.init = function (params) {\n var _this = this;\n this.setParams(params);\n this.resetUiToDefaults(true).then(function () {\n _this.updateUiVisibility();\n _this.setupOnBtApplyDebounce();\n });\n };\n ProvidedFilter.prototype.setParams = function (params) {\n this.providedFilterParams = params;\n this.applyActive = ProvidedFilter.isUseApplyButton(params);\n this.createButtonPanel();\n };\n ProvidedFilter.prototype.createButtonPanel = function () {\n var _this = this;\n var buttons = this.providedFilterParams.buttons;\n if (!buttons || buttons.length < 1 || this.isReadOnly()) {\n return;\n }\n var eButtonsPanel = document.createElement('div');\n eButtonsPanel.classList.add('ag-filter-apply-panel');\n var addButton = function (type) {\n var text;\n var clickListener;\n switch (type) {\n case 'apply':\n text = _this.translate('applyFilter');\n clickListener = function (e) { return _this.onBtApply(false, false, e); };\n break;\n case 'clear':\n text = _this.translate('clearFilter');\n clickListener = function () { return _this.onBtClear(); };\n break;\n case 'reset':\n text = _this.translate('resetFilter');\n clickListener = function () { return _this.onBtReset(); };\n break;\n case 'cancel':\n text = _this.translate('cancelFilter');\n clickListener = function (e) { _this.onBtCancel(e); };\n break;\n default:\n console.warn('AG Grid: Unknown button type specified');\n return;\n }\n var button = loadTemplate(\n /* html */\n \"\" + text + \"\\n \");\n eButtonsPanel.appendChild(button);\n _this.addManagedListener(button, 'click', clickListener);\n };\n convertToSet(buttons).forEach(function (type) { return addButton(type); });\n this.getGui().appendChild(eButtonsPanel);\n };\n // subclasses can override this to provide alternative debounce defaults\n ProvidedFilter.prototype.getDefaultDebounceMs = function () {\n return 0;\n };\n ProvidedFilter.prototype.setupOnBtApplyDebounce = function () {\n var debounceMs = ProvidedFilter.getDebounceMs(this.providedFilterParams, this.getDefaultDebounceMs());\n this.onBtApplyDebounce = debounce(this.onBtApply.bind(this), debounceMs);\n };\n ProvidedFilter.prototype.getModel = function () {\n return this.appliedModel ? this.appliedModel : null;\n };\n ProvidedFilter.prototype.setModel = function (model) {\n var _this = this;\n var promise = model != null ? this.setModelIntoUi(model) : this.resetUiToDefaults();\n return promise.then(function () {\n _this.updateUiVisibility();\n // we set the model from the GUI, rather than the provided model,\n // so the model is consistent, e.g. handling of null/undefined will be the same,\n // or if model is case insensitive, then casing is removed.\n _this.applyModel();\n });\n };\n ProvidedFilter.prototype.onBtCancel = function (e) {\n var _this = this;\n var currentModel = this.getModel();\n var afterAppliedFunc = function () {\n _this.onUiChanged(false, 'prevent');\n if (_this.providedFilterParams.closeOnApply) {\n _this.close(e);\n }\n };\n if (currentModel != null) {\n this.setModelIntoUi(currentModel).then(afterAppliedFunc);\n }\n else {\n this.resetUiToDefaults().then(afterAppliedFunc);\n }\n };\n ProvidedFilter.prototype.onBtClear = function () {\n var _this = this;\n this.resetUiToDefaults().then(function () { return _this.onUiChanged(); });\n };\n ProvidedFilter.prototype.onBtReset = function () {\n this.onBtClear();\n this.onBtApply();\n };\n /**\n * Applies changes made in the UI to the filter, and returns true if the model has changed.\n */\n ProvidedFilter.prototype.applyModel = function () {\n var newModel = this.getModelFromUi();\n if (!this.isModelValid(newModel)) {\n return false;\n }\n var previousModel = this.appliedModel;\n this.appliedModel = newModel;\n // models can be same if user pasted same content into text field, or maybe just changed the case\n // and it's a case insensitive filter\n return !this.areModelsEqual(previousModel, newModel);\n };\n ProvidedFilter.prototype.isModelValid = function (model) {\n return true;\n };\n ProvidedFilter.prototype.onBtApply = function (afterFloatingFilter, afterDataChange, e) {\n if (afterFloatingFilter === void 0) { afterFloatingFilter = false; }\n if (afterDataChange === void 0) { afterDataChange = false; }\n if (this.applyModel()) {\n // the floating filter uses 'afterFloatingFilter' info, so it doesn't refresh after filter changed if change\n // came from floating filter\n this.providedFilterParams.filterChangedCallback({ afterFloatingFilter: afterFloatingFilter, afterDataChange: afterDataChange });\n }\n var closeOnApply = this.providedFilterParams.closeOnApply;\n // only close if an apply button is visible, otherwise we'd be closing every time a change was made!\n if (closeOnApply && this.applyActive && !afterFloatingFilter && !afterDataChange) {\n this.close(e);\n }\n };\n ProvidedFilter.prototype.onNewRowsLoaded = function () {\n };\n ProvidedFilter.prototype.close = function (e) {\n if (!this.hidePopup) {\n return;\n }\n var keyboardEvent = e;\n var key = keyboardEvent && keyboardEvent.key;\n var params;\n if (key === 'Enter' || key === 'Space') {\n params = { keyboardEvent: keyboardEvent };\n }\n this.hidePopup(params);\n this.hidePopup = null;\n };\n /**\n * By default, if the change came from a floating filter it will be applied immediately, otherwise if there is no\n * apply button it will be applied after a debounce, otherwise it will not be applied at all. This behaviour can\n * be adjusted by using the apply parameter.\n */\n ProvidedFilter.prototype.onUiChanged = function (fromFloatingFilter, apply) {\n if (fromFloatingFilter === void 0) { fromFloatingFilter = false; }\n this.updateUiVisibility();\n this.providedFilterParams.filterModifiedCallback();\n if (this.applyActive && !this.isReadOnly) {\n var isValid = this.isModelValid(this.getModelFromUi());\n setDisabled(this.getRefElement('applyFilterButton'), !isValid);\n }\n if ((fromFloatingFilter && !apply) || apply === 'immediately') {\n this.onBtApply(fromFloatingFilter);\n }\n else if ((!this.applyActive && !apply) || apply === 'debounce') {\n this.onBtApplyDebounce();\n }\n };\n ProvidedFilter.prototype.afterGuiAttached = function (params) {\n if (params == null) {\n return;\n }\n this.hidePopup = params.hidePopup;\n };\n // static, as used by floating filter also\n ProvidedFilter.getDebounceMs = function (params, debounceDefault) {\n if (ProvidedFilter.isUseApplyButton(params)) {\n if (params.debounceMs != null) {\n console.warn('AG Grid: debounceMs is ignored when apply button is present');\n }\n return 0;\n }\n return params.debounceMs != null ? params.debounceMs : debounceDefault;\n };\n // static, as used by floating filter also\n ProvidedFilter.isUseApplyButton = function (params) {\n return !!params.buttons && params.buttons.indexOf('apply') >= 0;\n };\n ProvidedFilter.prototype.destroy = function () {\n this.hidePopup = null;\n _super.prototype.destroy.call(this);\n };\n ProvidedFilter.prototype.translate = function (key) {\n var translate = this.gridOptionsWrapper.getLocaleTextFunc();\n return translate(key, DEFAULT_FILTER_LOCALE_TEXT[key]);\n };\n ProvidedFilter.prototype.getCellValue = function (rowNode) {\n var _a = this.providedFilterParams, api = _a.api, colDef = _a.colDef, column = _a.column, columnApi = _a.columnApi, context = _a.context;\n return this.providedFilterParams.valueGetter({\n api: api,\n colDef: colDef,\n column: column,\n columnApi: columnApi,\n context: context,\n data: rowNode.data,\n getValue: function (field) { return rowNode.data[field]; },\n node: rowNode,\n });\n };\n __decorate$d([\n Autowired('rowModel')\n ], ProvidedFilter.prototype, \"rowModel\", void 0);\n __decorate$d([\n Autowired('valueService')\n ], ProvidedFilter.prototype, \"valueService\", void 0);\n __decorate$d([\n PostConstruct\n ], ProvidedFilter.prototype, \"postConstruct\", null);\n return ProvidedFilter;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$a = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$e = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar AgAbstractLabel = /** @class */ (function (_super) {\n __extends$a(AgAbstractLabel, _super);\n function AgAbstractLabel(config, template) {\n var _this = _super.call(this, template) || this;\n _this.labelSeparator = '';\n _this.labelAlignment = 'left';\n _this.label = '';\n _this.config = config || {};\n return _this;\n }\n AgAbstractLabel.prototype.postConstruct = function () {\n this.addCssClass('ag-labeled');\n this.eLabel.classList.add('ag-label');\n var _a = this.config, labelSeparator = _a.labelSeparator, label = _a.label, labelWidth = _a.labelWidth, labelAlignment = _a.labelAlignment;\n if (labelSeparator != null) {\n this.setLabelSeparator(labelSeparator);\n }\n if (label != null) {\n this.setLabel(label);\n }\n if (labelWidth != null) {\n this.setLabelWidth(labelWidth);\n }\n this.setLabelAlignment(labelAlignment || this.labelAlignment);\n this.refreshLabel();\n };\n AgAbstractLabel.prototype.refreshLabel = function () {\n clearElement(this.eLabel);\n if (typeof this.label === 'string') {\n this.eLabel.innerText = this.label + this.labelSeparator;\n }\n else if (this.label) {\n this.eLabel.appendChild(this.label);\n }\n if (this.label === '') {\n this.eLabel.classList.add('ag-hidden');\n setAriaRole(this.eLabel, 'presentation');\n }\n else {\n this.eLabel.classList.remove('ag-hidden');\n setAriaRole(this.eLabel, null);\n }\n };\n AgAbstractLabel.prototype.setLabelSeparator = function (labelSeparator) {\n if (this.labelSeparator === labelSeparator) {\n return this;\n }\n this.labelSeparator = labelSeparator;\n if (this.label != null) {\n this.refreshLabel();\n }\n return this;\n };\n AgAbstractLabel.prototype.getLabelId = function () {\n this.eLabel.id = this.eLabel.id || \"ag-\" + this.getCompId() + \"-label\";\n return this.eLabel.id;\n };\n AgAbstractLabel.prototype.getLabel = function () {\n return this.label;\n };\n AgAbstractLabel.prototype.setLabel = function (label) {\n if (this.label === label) {\n return this;\n }\n this.label = label;\n this.refreshLabel();\n return this;\n };\n AgAbstractLabel.prototype.setLabelAlignment = function (alignment) {\n var eGui = this.getGui();\n var eGuiClassList = eGui.classList;\n eGuiClassList.toggle('ag-label-align-left', alignment === 'left');\n eGuiClassList.toggle('ag-label-align-right', alignment === 'right');\n eGuiClassList.toggle('ag-label-align-top', alignment === 'top');\n return this;\n };\n AgAbstractLabel.prototype.setLabelWidth = function (width) {\n if (this.label == null) {\n return this;\n }\n setElementWidth(this.eLabel, width);\n return this;\n };\n __decorate$e([\n PostConstruct\n ], AgAbstractLabel.prototype, \"postConstruct\", null);\n return AgAbstractLabel;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$b = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar AgAbstractField = /** @class */ (function (_super) {\n __extends$b(AgAbstractField, _super);\n function AgAbstractField(config, template, className) {\n var _this = _super.call(this, config, template) || this;\n _this.className = className;\n _this.disabled = false;\n return _this;\n }\n AgAbstractField.prototype.postConstruct = function () {\n _super.prototype.postConstruct.call(this);\n if (this.className) {\n this.addCssClass(this.className);\n }\n };\n AgAbstractField.prototype.onValueChange = function (callbackFn) {\n var _this = this;\n this.addManagedListener(this, AgAbstractField.EVENT_CHANGED, function () { return callbackFn(_this.getValue()); });\n return this;\n };\n AgAbstractField.prototype.getWidth = function () {\n return this.getGui().clientWidth;\n };\n AgAbstractField.prototype.setWidth = function (width) {\n setFixedWidth(this.getGui(), width);\n return this;\n };\n AgAbstractField.prototype.getPreviousValue = function () {\n return this.previousValue;\n };\n AgAbstractField.prototype.getValue = function () {\n return this.value;\n };\n AgAbstractField.prototype.setValue = function (value, silent) {\n if (this.value === value) {\n return this;\n }\n this.previousValue = this.value;\n this.value = value;\n if (!silent) {\n this.dispatchEvent({ type: AgAbstractField.EVENT_CHANGED });\n }\n return this;\n };\n AgAbstractField.prototype.setDisabled = function (disabled) {\n disabled = !!disabled;\n var element = this.getGui();\n setDisabled(element, disabled);\n element.classList.toggle('ag-disabled', disabled);\n this.disabled = disabled;\n return this;\n };\n AgAbstractField.prototype.isDisabled = function () {\n return !!this.disabled;\n };\n AgAbstractField.EVENT_CHANGED = 'valueChange';\n return AgAbstractField;\n}(AgAbstractLabel));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$c = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$f = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar AgPickerField = /** @class */ (function (_super) {\n __extends$c(AgPickerField, _super);\n function AgPickerField(config, className, pickerIcon, ariaRole) {\n var _this = _super.call(this, config, \n /* html */ \"
\\n
\\n
\\n
\\n
\\n
\\n
\", className) || this;\n _this.pickerIcon = pickerIcon;\n _this.isPickerDisplayed = false;\n _this.isDestroyingPicker = false;\n _this.skipClick = false;\n return _this;\n }\n AgPickerField.prototype.postConstruct = function () {\n var _this = this;\n _super.prototype.postConstruct.call(this);\n var displayId = this.getCompId() + \"-display\";\n this.eDisplayField.setAttribute('id', displayId);\n setAriaDescribedBy(this.eWrapper, displayId);\n var clickHandler = function () {\n if (_this.skipClick) {\n _this.skipClick = false;\n return;\n }\n if (_this.isDisabled()) {\n return;\n }\n _this.pickerComponent = _this.showPicker();\n };\n var eGui = this.getGui();\n this.addManagedListener(eGui, 'mousedown', function (e) {\n if (!_this.skipClick &&\n _this.pickerComponent &&\n _this.pickerComponent.isAlive() &&\n isVisible(_this.pickerComponent.getGui()) &&\n eGui.contains(e.target)) {\n _this.skipClick = true;\n }\n });\n this.addManagedListener(eGui, 'keydown', function (e) {\n switch (e.key) {\n case KeyCode.UP:\n case KeyCode.DOWN:\n case KeyCode.ENTER:\n case KeyCode.SPACE:\n clickHandler();\n case KeyCode.ESCAPE:\n if (_this.isPickerDisplayed) {\n e.preventDefault();\n }\n break;\n }\n });\n this.addManagedListener(this.eWrapper, 'click', clickHandler);\n this.addManagedListener(this.eLabel, 'click', clickHandler);\n if (this.pickerIcon) {\n var icon = createIconNoSpan(this.pickerIcon, this.gridOptionsWrapper);\n if (icon) {\n this.eIcon.appendChild(icon);\n }\n }\n };\n AgPickerField.prototype.refreshLabel = function () {\n if (exists(this.getLabel())) {\n setAriaLabelledBy(this.eWrapper, this.getLabelId());\n }\n else {\n this.eWrapper.removeAttribute('aria-labelledby');\n }\n _super.prototype.refreshLabel.call(this);\n };\n AgPickerField.prototype.setAriaLabel = function (label) {\n setAriaLabel(this.eWrapper, label);\n return this;\n };\n AgPickerField.prototype.setInputWidth = function (width) {\n setElementWidth(this.eWrapper, width);\n return this;\n };\n AgPickerField.prototype.getFocusableElement = function () {\n return this.eWrapper;\n };\n __decorate$f([\n RefSelector('eLabel')\n ], AgPickerField.prototype, \"eLabel\", void 0);\n __decorate$f([\n RefSelector('eWrapper')\n ], AgPickerField.prototype, \"eWrapper\", void 0);\n __decorate$f([\n RefSelector('eDisplayField')\n ], AgPickerField.prototype, \"eDisplayField\", void 0);\n __decorate$f([\n RefSelector('eIcon')\n ], AgPickerField.prototype, \"eIcon\", void 0);\n return AgPickerField;\n}(AgAbstractField));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$d = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$g = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar AgList = /** @class */ (function (_super) {\n __extends$d(AgList, _super);\n function AgList(cssIdentifier) {\n if (cssIdentifier === void 0) { cssIdentifier = 'default'; }\n var _this = _super.call(this, /* html */ \"
\") || this;\n _this.cssIdentifier = cssIdentifier;\n _this.options = [];\n _this.itemEls = [];\n return _this;\n }\n AgList.prototype.init = function () {\n this.addManagedListener(this.getGui(), 'keydown', this.handleKeyDown.bind(this));\n };\n AgList.prototype.handleKeyDown = function (e) {\n var key = e.key;\n switch (key) {\n case KeyCode.ENTER:\n if (!this.highlightedEl) {\n this.setValue(this.getValue());\n }\n else {\n var pos = this.itemEls.indexOf(this.highlightedEl);\n this.setValueByIndex(pos);\n }\n break;\n case KeyCode.DOWN:\n case KeyCode.UP:\n var isDown = key === KeyCode.DOWN;\n var itemToHighlight = void 0;\n e.preventDefault();\n if (!this.highlightedEl) {\n itemToHighlight = this.itemEls[isDown ? 0 : this.itemEls.length - 1];\n }\n else {\n var currentIdx = this.itemEls.indexOf(this.highlightedEl);\n var nextPos = currentIdx + (isDown ? 1 : -1);\n nextPos = Math.min(Math.max(nextPos, 0), this.itemEls.length - 1);\n itemToHighlight = this.itemEls[nextPos];\n }\n this.highlightItem(itemToHighlight);\n break;\n }\n };\n AgList.prototype.addOptions = function (listOptions) {\n var _this = this;\n listOptions.forEach(function (listOption) { return _this.addOption(listOption); });\n return this;\n };\n AgList.prototype.addOption = function (listOption) {\n var value = listOption.value, text = listOption.text;\n var sanitisedText = escapeString(text || value);\n this.options.push({ value: value, text: sanitisedText });\n this.renderOption(value, sanitisedText);\n this.updateIndices();\n return this;\n };\n AgList.prototype.updateIndices = function () {\n var options = this.getGui().querySelectorAll('.ag-list-item');\n options.forEach(function (option, idx) {\n setAriaPosInSet(option, idx + 1);\n setAriaSetSize(option, options.length);\n });\n };\n AgList.prototype.renderOption = function (value, text) {\n var _this = this;\n var itemEl = document.createElement('div');\n setAriaRole(itemEl, 'option');\n itemEl.classList.add('ag-list-item', \"ag-\" + this.cssIdentifier + \"-list-item\");\n itemEl.innerHTML = \"\" + text + \"\";\n itemEl.tabIndex = -1;\n this.itemEls.push(itemEl);\n this.addManagedListener(itemEl, 'mouseover', function () { return _this.highlightItem(itemEl); });\n this.addManagedListener(itemEl, 'mouseleave', function () { return _this.clearHighlighted(); });\n this.addManagedListener(itemEl, 'click', function () { return _this.setValue(value); });\n this.getGui().appendChild(itemEl);\n };\n AgList.prototype.setValue = function (value, silent) {\n if (this.value === value) {\n this.fireItemSelected();\n return this;\n }\n if (value == null) {\n this.reset();\n return this;\n }\n var idx = this.options.findIndex(function (option) { return option.value === value; });\n if (idx !== -1) {\n var option = this.options[idx];\n this.value = option.value;\n this.displayValue = option.text != null ? option.text : option.value;\n this.highlightItem(this.itemEls[idx]);\n if (!silent) {\n this.fireChangeEvent();\n }\n }\n return this;\n };\n AgList.prototype.setValueByIndex = function (idx) {\n return this.setValue(this.options[idx].value);\n };\n AgList.prototype.getValue = function () {\n return this.value;\n };\n AgList.prototype.getDisplayValue = function () {\n return this.displayValue;\n };\n AgList.prototype.refreshHighlighted = function () {\n var _this = this;\n this.clearHighlighted();\n var idx = this.options.findIndex(function (option) { return option.value === _this.value; });\n if (idx !== -1) {\n this.highlightItem(this.itemEls[idx]);\n }\n };\n AgList.prototype.reset = function () {\n this.value = null;\n this.displayValue = null;\n this.clearHighlighted();\n this.fireChangeEvent();\n };\n AgList.prototype.highlightItem = function (el) {\n if (!el.offsetParent) {\n return;\n }\n this.clearHighlighted();\n this.highlightedEl = el;\n this.highlightedEl.classList.add(AgList.ACTIVE_CLASS);\n setAriaSelected(this.highlightedEl, true);\n this.highlightedEl.focus();\n };\n AgList.prototype.clearHighlighted = function () {\n if (!this.highlightedEl || !this.highlightedEl.offsetParent) {\n return;\n }\n this.highlightedEl.classList.remove(AgList.ACTIVE_CLASS);\n setAriaSelected(this.highlightedEl, false);\n this.highlightedEl = null;\n };\n AgList.prototype.fireChangeEvent = function () {\n this.dispatchEvent({ type: AgAbstractField.EVENT_CHANGED });\n this.fireItemSelected();\n };\n AgList.prototype.fireItemSelected = function () {\n this.dispatchEvent({ type: AgList.EVENT_ITEM_SELECTED });\n };\n AgList.EVENT_ITEM_SELECTED = 'selectedItem';\n AgList.ACTIVE_CLASS = 'ag-active-item';\n __decorate$g([\n PostConstruct\n ], AgList.prototype, \"init\", null);\n return AgList;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$e = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$h = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar AgSelect = /** @class */ (function (_super) {\n __extends$e(AgSelect, _super);\n function AgSelect(config) {\n return _super.call(this, config, 'ag-select', 'smallDown', 'listbox') || this;\n }\n AgSelect.prototype.init = function () {\n var _this = this;\n this.listComponent = this.createBean(new AgList('select'));\n this.listComponent.setParentComponent(this);\n this.eWrapper.tabIndex = 0;\n this.listComponent.addManagedListener(this.listComponent, AgList.EVENT_ITEM_SELECTED, function () { if (_this.hideList) {\n _this.hideList();\n } });\n this.listComponent.addManagedListener(this.listComponent, AgAbstractField.EVENT_CHANGED, function () {\n _this.setValue(_this.listComponent.getValue(), false, true);\n if (_this.hideList) {\n _this.hideList();\n }\n });\n };\n AgSelect.prototype.showPicker = function () {\n var _this = this;\n var listGui = this.listComponent.getGui();\n var eDocument = this.gridOptionsWrapper.getDocument();\n var destroyMouseWheelFunc = this.addManagedListener(eDocument.body, 'wheel', function (e) {\n if (!listGui.contains(e.target) && _this.hideList) {\n _this.hideList();\n }\n });\n var destroyFocusOutFunc = this.addManagedListener(listGui, 'focusout', function (e) {\n if (!listGui.contains(e.relatedTarget) && _this.hideList) {\n _this.hideList();\n }\n });\n var translate = this.gridOptionsWrapper.getLocaleTextFunc();\n var addPopupRes = this.popupService.addPopup({\n modal: true,\n eChild: listGui,\n closeOnEsc: true,\n closedCallback: function () {\n _this.hideList = null;\n _this.isPickerDisplayed = false;\n destroyFocusOutFunc();\n destroyMouseWheelFunc();\n if (_this.isAlive()) {\n setAriaExpanded(_this.eWrapper, false);\n _this.getFocusableElement().focus();\n }\n },\n ariaLabel: translate('ariaLabelSelectField', 'Select Field')\n });\n if (addPopupRes) {\n this.hideList = addPopupRes.hideFunc;\n }\n this.isPickerDisplayed = true;\n setElementWidth(listGui, getAbsoluteWidth(this.eWrapper));\n setAriaExpanded(this.eWrapper, true);\n listGui.style.maxHeight = getInnerHeight(this.popupService.getPopupParent()) + 'px';\n listGui.style.position = 'absolute';\n this.popupService.positionPopupUnderComponent({\n type: 'ag-list',\n eventSource: this.eWrapper,\n ePopup: listGui,\n keepWithinBounds: true\n });\n this.listComponent.refreshHighlighted();\n return this.listComponent;\n };\n AgSelect.prototype.addOptions = function (options) {\n var _this = this;\n options.forEach(function (option) { return _this.addOption(option); });\n return this;\n };\n AgSelect.prototype.addOption = function (option) {\n this.listComponent.addOption(option);\n return this;\n };\n AgSelect.prototype.setValue = function (value, silent, fromPicker) {\n if (this.value === value) {\n return this;\n }\n if (!fromPicker) {\n this.listComponent.setValue(value, true);\n }\n var newValue = this.listComponent.getValue();\n if (newValue === this.getValue()) {\n return this;\n }\n this.eDisplayField.innerHTML = this.listComponent.getDisplayValue();\n return _super.prototype.setValue.call(this, value, silent);\n };\n AgSelect.prototype.destroy = function () {\n if (this.hideList) {\n this.hideList();\n }\n this.destroyBean(this.listComponent);\n _super.prototype.destroy.call(this);\n };\n __decorate$h([\n Autowired('popupService')\n ], AgSelect.prototype, \"popupService\", void 0);\n __decorate$h([\n PostConstruct\n ], AgSelect.prototype, \"init\", null);\n return AgSelect;\n}(AgPickerField));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$f = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$i = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar AgAbstractInputField = /** @class */ (function (_super) {\n __extends$f(AgAbstractInputField, _super);\n function AgAbstractInputField(config, className, inputType, displayFieldTag) {\n if (inputType === void 0) { inputType = 'text'; }\n if (displayFieldTag === void 0) { displayFieldTag = 'input'; }\n var _this = _super.call(this, config, /* html */ \"\\n
\\n
\\n
\\n <\" + displayFieldTag + \" ref=\\\"eInput\\\" class=\\\"ag-input-field-input\\\">\\n
\\n
\", className) || this;\n _this.inputType = inputType;\n _this.displayFieldTag = displayFieldTag;\n return _this;\n }\n AgAbstractInputField.prototype.postConstruct = function () {\n _super.prototype.postConstruct.call(this);\n this.setInputType();\n this.eLabel.classList.add(this.className + \"-label\");\n this.eWrapper.classList.add(this.className + \"-input-wrapper\");\n this.eInput.classList.add(this.className + \"-input\");\n this.addCssClass('ag-input-field');\n this.eInput.id = this.eInput.id || \"ag-\" + this.getCompId() + \"-input\";\n var _a = this.config, width = _a.width, value = _a.value;\n if (width != null) {\n this.setWidth(width);\n }\n if (value != null) {\n this.setValue(value);\n }\n this.addInputListeners();\n };\n AgAbstractInputField.prototype.refreshLabel = function () {\n if (exists(this.getLabel())) {\n setAriaLabelledBy(this.eInput, this.getLabelId());\n }\n else {\n this.eInput.removeAttribute('aria-labelledby');\n }\n _super.prototype.refreshLabel.call(this);\n };\n AgAbstractInputField.prototype.addInputListeners = function () {\n var _this = this;\n this.addManagedListener(this.eInput, 'input', function (e) { return _this.setValue(e.target.value); });\n };\n AgAbstractInputField.prototype.setInputType = function () {\n if (this.displayFieldTag === 'input') {\n this.eInput.setAttribute('type', this.inputType);\n }\n };\n AgAbstractInputField.prototype.getInputElement = function () {\n return this.eInput;\n };\n AgAbstractInputField.prototype.setInputWidth = function (width) {\n setElementWidth(this.eWrapper, width);\n return this;\n };\n AgAbstractInputField.prototype.setInputName = function (name) {\n this.getInputElement().setAttribute('name', name);\n return this;\n };\n AgAbstractInputField.prototype.getFocusableElement = function () {\n return this.eInput;\n };\n AgAbstractInputField.prototype.setMaxLength = function (length) {\n var eInput = this.eInput;\n eInput.maxLength = length;\n return this;\n };\n AgAbstractInputField.prototype.setInputPlaceholder = function (placeholder) {\n addOrRemoveAttribute(this.eInput, 'placeholder', placeholder);\n return this;\n };\n AgAbstractInputField.prototype.setInputAriaLabel = function (label) {\n setAriaLabel(this.eInput, label);\n return this;\n };\n AgAbstractInputField.prototype.setDisabled = function (disabled) {\n setDisabled(this.eInput, disabled);\n return _super.prototype.setDisabled.call(this, disabled);\n };\n __decorate$i([\n RefSelector('eLabel')\n ], AgAbstractInputField.prototype, \"eLabel\", void 0);\n __decorate$i([\n RefSelector('eWrapper')\n ], AgAbstractInputField.prototype, \"eWrapper\", void 0);\n __decorate$i([\n RefSelector('eInput')\n ], AgAbstractInputField.prototype, \"eInput\", void 0);\n return AgAbstractInputField;\n}(AgAbstractField));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$g = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$j = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar ConditionPosition;\n(function (ConditionPosition) {\n ConditionPosition[ConditionPosition[\"One\"] = 0] = \"One\";\n ConditionPosition[ConditionPosition[\"Two\"] = 1] = \"Two\";\n})(ConditionPosition || (ConditionPosition = {}));\n/**\n * Every filter with a dropdown where the user can specify a comparing type against the filter values.\n *\n * @param M type of filter-model managed by the concrete sub-class that extends this type\n * @param V type of value managed by the concrete sub-class that extends this type\n * @param E type of UI element used for collecting user-input\n */\nvar SimpleFilter = /** @class */ (function (_super) {\n __extends$g(SimpleFilter, _super);\n function SimpleFilter() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SimpleFilter.prototype.getNumberOfInputs = function (type) {\n var customOpts = this.optionsFactory.getCustomOption(type);\n if (customOpts) {\n var numberOfInputs = customOpts.numberOfInputs;\n return numberOfInputs != null ? numberOfInputs : 1;\n }\n var zeroInputTypes = [\n SimpleFilter.EMPTY, SimpleFilter.NOT_BLANK, SimpleFilter.BLANK,\n ];\n if (type && zeroInputTypes.indexOf(type) >= 0) {\n return 0;\n }\n else if (type === SimpleFilter.IN_RANGE) {\n return 2;\n }\n return 1;\n };\n // floating filter calls this when user applies filter from floating filter\n SimpleFilter.prototype.onFloatingFilterChanged = function (type, value) {\n this.setTypeFromFloatingFilter(type);\n this.setValueFromFloatingFilter(value);\n this.onUiChanged(true);\n };\n SimpleFilter.prototype.setTypeFromFloatingFilter = function (type) {\n this.eType1.setValue(type);\n this.eType2.setValue(this.optionsFactory.getDefaultOption());\n (this.isDefaultOperator('AND') ? this.eJoinOperatorAnd : this.eJoinOperatorOr).setValue(true);\n };\n SimpleFilter.prototype.getModelFromUi = function () {\n if (!this.isConditionUiComplete(ConditionPosition.One)) {\n return null;\n }\n if (this.isAllowTwoConditions() && this.isConditionUiComplete(ConditionPosition.Two)) {\n return {\n filterType: this.getFilterType(),\n operator: this.getJoinOperator(),\n condition1: this.createCondition(ConditionPosition.One),\n condition2: this.createCondition(ConditionPosition.Two)\n };\n }\n return this.createCondition(ConditionPosition.One);\n };\n SimpleFilter.prototype.getConditionTypes = function () {\n return [\n this.eType1.getValue(),\n this.eType2.getValue(),\n ];\n };\n SimpleFilter.prototype.getJoinOperator = function () {\n return this.eJoinOperatorOr.getValue() === true ? 'OR' : 'AND';\n };\n SimpleFilter.prototype.areModelsEqual = function (a, b) {\n // both are missing\n if (!a && !b) {\n return true;\n }\n // one is missing, other present\n if ((!a && b) || (a && !b)) {\n return false;\n }\n // one is combined, the other is not\n var aIsSimple = !a.operator;\n var bIsSimple = !b.operator;\n var oneSimpleOneCombined = (!aIsSimple && bIsSimple) || (aIsSimple && !bIsSimple);\n if (oneSimpleOneCombined) {\n return false;\n }\n var res;\n // otherwise both present, so compare\n if (aIsSimple) {\n var aSimple = a;\n var bSimple = b;\n res = this.areSimpleModelsEqual(aSimple, bSimple);\n }\n else {\n var aCombined = a;\n var bCombined = b;\n res = aCombined.operator === bCombined.operator\n && this.areSimpleModelsEqual(aCombined.condition1, bCombined.condition1)\n && this.areSimpleModelsEqual(aCombined.condition2, bCombined.condition2);\n }\n return res;\n };\n SimpleFilter.prototype.setModelIntoUi = function (model) {\n var isCombined = model.operator;\n if (isCombined) {\n var combinedModel = model;\n var orChecked = combinedModel.operator === 'OR';\n this.eJoinOperatorAnd.setValue(!orChecked);\n this.eJoinOperatorOr.setValue(orChecked);\n this.eType1.setValue(combinedModel.condition1.type);\n this.eType2.setValue(combinedModel.condition2.type);\n this.setConditionIntoUi(combinedModel.condition1, ConditionPosition.One);\n this.setConditionIntoUi(combinedModel.condition2, ConditionPosition.Two);\n }\n else {\n var simpleModel = model;\n this.eJoinOperatorAnd.setValue(this.isDefaultOperator('AND'));\n this.eJoinOperatorOr.setValue(this.isDefaultOperator('OR'));\n this.eType1.setValue(simpleModel.type);\n this.eType2.setValue(this.optionsFactory.getDefaultOption());\n this.setConditionIntoUi(simpleModel, ConditionPosition.One);\n this.setConditionIntoUi(null, ConditionPosition.Two);\n }\n return AgPromise.resolve();\n };\n SimpleFilter.prototype.doesFilterPass = function (params) {\n var _this = this;\n var model = this.getModel();\n if (model == null) {\n return true;\n }\n var operator = model.operator;\n var models = [];\n if (operator) {\n var combinedModel = model;\n models.push(combinedModel.condition1, combinedModel.condition2);\n }\n else {\n models.push(model);\n }\n var combineFunction = operator && operator === 'OR' ? 'some' : 'every';\n return models[combineFunction](function (m) { return _this.individualConditionPasses(params, m); });\n };\n SimpleFilter.prototype.setParams = function (params) {\n _super.prototype.setParams.call(this, params);\n this.optionsFactory = new OptionsFactory();\n this.optionsFactory.init(params, this.getDefaultFilterOptions());\n this.allowTwoConditions = !params.suppressAndOrCondition;\n this.alwaysShowBothConditions = !!params.alwaysShowBothConditions;\n this.defaultJoinOperator = this.getDefaultJoinOperator(params.defaultJoinOperator);\n this.putOptionsIntoDropdown();\n this.addChangedListeners();\n };\n SimpleFilter.prototype.getDefaultJoinOperator = function (defaultJoinOperator) {\n return includes(['AND', 'OR'], defaultJoinOperator) ? defaultJoinOperator : 'AND';\n };\n SimpleFilter.prototype.putOptionsIntoDropdown = function () {\n var _this = this;\n var filterOptions = this.optionsFactory.getFilterOptions();\n var eTypes = [this.eType1, this.eType2];\n // Add specified options to all condition drop-downs.\n filterOptions.forEach(function (option) {\n var listOption = typeof option === 'string' ?\n _this.createBoilerplateListOption(option) :\n _this.createCustomListOption(option);\n eTypes.forEach(function (eType) { return eType.addOption(listOption); });\n });\n // Make drop-downs read-only if there is only one option.\n eTypes.forEach(function (eType) { return eType.setDisabled(filterOptions.length <= 1); });\n };\n SimpleFilter.prototype.createBoilerplateListOption = function (option) {\n return { value: option, text: this.translate(option) };\n };\n SimpleFilter.prototype.createCustomListOption = function (option) {\n var displayKey = option.displayKey;\n var customOption = this.optionsFactory.getCustomOption(option.displayKey);\n return {\n value: displayKey,\n text: customOption ?\n this.gridOptionsWrapper.getLocaleTextFunc()(customOption.displayKey, customOption.displayName) :\n this.translate(displayKey),\n };\n };\n SimpleFilter.prototype.isAllowTwoConditions = function () {\n return this.allowTwoConditions;\n };\n SimpleFilter.prototype.createBodyTemplate = function () {\n return /* html */ \"\\n \\n \" + this.createValueTemplate(ConditionPosition.One) + \"\\n
\\n \\n \\n
\\n \\n \" + this.createValueTemplate(ConditionPosition.Two);\n };\n SimpleFilter.prototype.getCssIdentifier = function () {\n return 'simple-filter';\n };\n SimpleFilter.prototype.updateUiVisibility = function () {\n var _this = this;\n var elementConditionGroups = [\n [this.eType1],\n [this.eType2, this.eJoinOperatorPanel, this.eJoinOperatorAnd, this.eJoinOperatorOr],\n ];\n var elementBodies = [this.eCondition1Body, this.eCondition2Body];\n elementConditionGroups.forEach(function (group, position) {\n var visible = _this.isConditionVisible(position);\n var disabled = _this.isConditionDisabled(position);\n group.forEach(function (element) {\n if (element instanceof AgAbstractInputField || element instanceof AgSelect) {\n element.setDisabled(disabled);\n element.setDisplayed(visible);\n }\n else {\n setDisabled(element, disabled);\n setDisplayed(element, visible);\n }\n });\n });\n elementBodies.forEach(function (element, index) {\n setDisplayed(element, _this.isConditionBodyVisible(index));\n });\n this.forEachInput(function (element, index, position, numberOfInputs) {\n _this.setElementDisplayed(element, index < numberOfInputs);\n _this.setElementDisabled(element, _this.isConditionDisabled(position));\n });\n this.resetPlaceholder();\n };\n SimpleFilter.prototype.afterGuiAttached = function (params) {\n _super.prototype.afterGuiAttached.call(this, params);\n this.resetPlaceholder();\n if (!params || (!params.suppressFocus && !this.isReadOnly())) {\n var firstInput = this.getInputs()[0][0];\n if (!firstInput) {\n return;\n }\n if (firstInput instanceof AgAbstractInputField) {\n firstInput.getInputElement().focus();\n }\n }\n };\n // allow sub-classes to reset HTML placeholders after UI update.\n SimpleFilter.prototype.resetPlaceholder = function () {\n var _this = this;\n var globalTranslate = this.gridOptionsWrapper.getLocaleTextFunc();\n this.forEachInput(function (element, index, _, numberOfInputs) {\n if (!(element instanceof AgAbstractInputField)) {\n return;\n }\n var placeholder = index === 0 && numberOfInputs > 1 ? 'inRangeStart' :\n index === 0 ? 'filterOoo' :\n 'inRangeEnd';\n var ariaLabel = index === 0 && numberOfInputs > 1 ? globalTranslate('ariaFilterFromValue', 'Filter from value') :\n index === 0 ? globalTranslate('ariaFilterValue', 'Filter Value') :\n globalTranslate('ariaFilterToValue', 'Filter to Value');\n element.setInputPlaceholder(_this.translate(placeholder));\n element.setInputAriaLabel(ariaLabel);\n });\n };\n SimpleFilter.prototype.setElementValue = function (element, value, silent) {\n if (element instanceof AgAbstractInputField) {\n element.setValue(value != null ? String(value) : null, silent);\n }\n };\n SimpleFilter.prototype.setElementDisplayed = function (element, displayed) {\n if (element instanceof Component) {\n setDisplayed(element.getGui(), displayed);\n }\n };\n SimpleFilter.prototype.setElementDisabled = function (element, disabled) {\n if (element instanceof Component) {\n setDisabled(element.getGui(), disabled);\n }\n };\n SimpleFilter.prototype.attachElementOnChange = function (element, listener) {\n if (element instanceof AgAbstractInputField) {\n element.onValueChange(listener);\n }\n };\n SimpleFilter.prototype.forEachInput = function (cb) {\n var _this = this;\n var inputs = this.getInputs();\n this.getConditionTypes().forEach(function (type, position) {\n var numberOfInputs = _this.getNumberOfInputs(type);\n for (var index = 0; index < inputs[position].length; index++) {\n var input = inputs[position][index];\n if (input != null) {\n cb(input, index, position, numberOfInputs);\n }\n }\n });\n };\n SimpleFilter.prototype.isConditionVisible = function (position) {\n if (position === 0) {\n return true;\n } // Position 0 should always be visible.\n if (!this.allowTwoConditions) {\n return false;\n } // Short-circuit if no tail conditions.\n if (this.isReadOnly()) {\n // Only display a condition when read-only if the condition is complete.\n return this.isConditionUiComplete(position);\n }\n if (this.alwaysShowBothConditions) {\n return true;\n }\n // Only display a 2nd or later condition when the previous condition is complete.\n return this.isConditionUiComplete(position - 1);\n };\n SimpleFilter.prototype.isConditionDisabled = function (position) {\n if (this.isReadOnly()) {\n return true;\n } // Read-only mode trumps everything.\n if (!this.isConditionVisible(position)) {\n return true;\n } // Invisible implies disabled.\n if (position === 0) {\n return false;\n } // Position 0 should typically be editable.\n // Only allow editing of a 2nd or later condition if the previous condition is complete.\n return !this.isConditionUiComplete(position - 1);\n };\n SimpleFilter.prototype.isConditionBodyVisible = function (position) {\n if (!this.isConditionVisible(position)) {\n return false;\n }\n // Check that the condition needs inputs.\n var type = this.getConditionTypes()[position];\n var numberOfInputs = this.getNumberOfInputs(type);\n return numberOfInputs > 0;\n };\n // returns true if the UI represents a working filter, eg all parts are filled out.\n // eg if text filter and textfield blank then returns false.\n SimpleFilter.prototype.isConditionUiComplete = function (position) {\n var type = this.getConditionTypes()[position];\n if (type === SimpleFilter.EMPTY) {\n return false;\n }\n if (this.getValues(position).some(function (v) { return v == null; })) {\n return false;\n }\n return true;\n };\n SimpleFilter.prototype.resetUiToDefaults = function (silent) {\n var _this = this;\n var translate = this.gridOptionsWrapper.getLocaleTextFunc();\n var filteringLabel = translate('ariaFilteringOperator', 'Filtering operator');\n var uniqueGroupId = 'ag-simple-filter-and-or-' + this.getCompId();\n var defaultOption = this.optionsFactory.getDefaultOption();\n this.eType1\n .setValue(defaultOption, silent)\n .setAriaLabel(filteringLabel)\n .setDisabled(this.isReadOnly());\n this.eType2\n .setValue(this.optionsFactory.getDefaultOption(), silent)\n .setAriaLabel(filteringLabel)\n .setDisabled(this.isReadOnly());\n this.eJoinOperatorAnd\n .setValue(this.isDefaultOperator('AND'), silent)\n .setName(uniqueGroupId)\n .setLabel(this.translate('andCondition'))\n .setDisabled(this.isReadOnly());\n this.eJoinOperatorOr\n .setValue(this.isDefaultOperator('OR'), silent)\n .setName(uniqueGroupId)\n .setLabel(this.translate('orCondition'))\n .setDisabled(this.isReadOnly());\n this.forEachInput(function (element) {\n _this.setElementValue(element, null, silent);\n _this.setElementDisabled(element, _this.isReadOnly());\n });\n this.resetPlaceholder();\n return AgPromise.resolve();\n };\n // puts model values into the UI\n SimpleFilter.prototype.setConditionIntoUi = function (model, position) {\n var _this = this;\n var values = this.mapValuesFromModel(model);\n this.forEachInput(function (element, index, elPosition, _) {\n if (elPosition !== position) {\n return;\n }\n _this.setElementValue(element, values[index] != null ? values[index] : null);\n });\n };\n // after floating filter changes, this sets the 'value' section. this is implemented by the base class\n // (as that's where value is controlled), the 'type' part from the floating filter is dealt with in this class.\n SimpleFilter.prototype.setValueFromFloatingFilter = function (value) {\n var _this = this;\n this.forEachInput(function (element, index, position, _) {\n _this.setElementValue(element, index === 0 && position === 0 ? value : null);\n });\n };\n SimpleFilter.prototype.isDefaultOperator = function (operator) {\n return operator === this.defaultJoinOperator;\n };\n SimpleFilter.prototype.addChangedListeners = function () {\n var _this = this;\n if (this.isReadOnly()) {\n return;\n }\n var listener = function () { return _this.onUiChanged(); };\n this.eType1.onValueChange(listener);\n this.eType2.onValueChange(listener);\n this.eJoinOperatorOr.onValueChange(listener);\n this.eJoinOperatorAnd.onValueChange(listener);\n this.forEachInput(function (element) {\n _this.attachElementOnChange(element, listener);\n });\n };\n /** returns true if the row passes the said condition */\n SimpleFilter.prototype.individualConditionPasses = function (params, filterModel) {\n var cellValue = this.getCellValue(params.node);\n var values = this.mapValuesFromModel(filterModel);\n var customFilterOption = this.optionsFactory.getCustomOption(filterModel.type);\n var customFilterResult = this.evaluateCustomFilter(customFilterOption, values, cellValue);\n if (customFilterResult != null) {\n return customFilterResult;\n }\n if (cellValue == null) {\n return this.evaluateNullValue(filterModel.type);\n }\n return this.evaluateNonNullValue(values, cellValue, filterModel, params);\n };\n SimpleFilter.prototype.evaluateCustomFilter = function (customFilterOption, values, cellValue) {\n if (customFilterOption == null) {\n return;\n }\n var predicate = customFilterOption.predicate;\n // only execute the custom filter if a value exists or a value isn't required, i.e. input is hidden\n if (predicate != null && !values.some(function (v) { return v == null; })) {\n return predicate(values, cellValue);\n }\n // No custom filter invocation, indicate that to the caller.\n return;\n };\n SimpleFilter.prototype.isBlank = function (cellValue) {\n return cellValue == null ||\n (typeof cellValue === 'string' && cellValue.trim().length === 0);\n };\n SimpleFilter.EMPTY = 'empty';\n SimpleFilter.BLANK = 'blank';\n SimpleFilter.NOT_BLANK = 'notBlank';\n SimpleFilter.EQUALS = 'equals';\n SimpleFilter.NOT_EQUAL = 'notEqual';\n SimpleFilter.LESS_THAN = 'lessThan';\n SimpleFilter.LESS_THAN_OR_EQUAL = 'lessThanOrEqual';\n SimpleFilter.GREATER_THAN = 'greaterThan';\n SimpleFilter.GREATER_THAN_OR_EQUAL = 'greaterThanOrEqual';\n SimpleFilter.IN_RANGE = 'inRange';\n SimpleFilter.CONTAINS = 'contains';\n SimpleFilter.NOT_CONTAINS = 'notContains';\n SimpleFilter.STARTS_WITH = 'startsWith';\n SimpleFilter.ENDS_WITH = 'endsWith';\n __decorate$j([\n RefSelector('eOptions1')\n ], SimpleFilter.prototype, \"eType1\", void 0);\n __decorate$j([\n RefSelector('eOptions2')\n ], SimpleFilter.prototype, \"eType2\", void 0);\n __decorate$j([\n RefSelector('eJoinOperatorPanel')\n ], SimpleFilter.prototype, \"eJoinOperatorPanel\", void 0);\n __decorate$j([\n RefSelector('eJoinOperatorAnd')\n ], SimpleFilter.prototype, \"eJoinOperatorAnd\", void 0);\n __decorate$j([\n RefSelector('eJoinOperatorOr')\n ], SimpleFilter.prototype, \"eJoinOperatorOr\", void 0);\n __decorate$j([\n RefSelector('eCondition1Body')\n ], SimpleFilter.prototype, \"eCondition1Body\", void 0);\n __decorate$j([\n RefSelector('eCondition2Body')\n ], SimpleFilter.prototype, \"eCondition2Body\", void 0);\n return SimpleFilter;\n}(ProvidedFilter));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$h = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar ScalarFilter = /** @class */ (function (_super) {\n __extends$h(ScalarFilter, _super);\n function ScalarFilter() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ScalarFilter.prototype.setParams = function (params) {\n _super.prototype.setParams.call(this, params);\n this.scalarFilterParams = params;\n };\n ScalarFilter.prototype.evaluateNullValue = function (filterType) {\n switch (filterType) {\n case ScalarFilter.EQUALS:\n case ScalarFilter.NOT_EQUAL:\n if (this.scalarFilterParams.includeBlanksInEquals) {\n return true;\n }\n break;\n case ScalarFilter.GREATER_THAN:\n case ScalarFilter.GREATER_THAN_OR_EQUAL:\n if (this.scalarFilterParams.includeBlanksInGreaterThan) {\n return true;\n }\n break;\n case ScalarFilter.LESS_THAN:\n case ScalarFilter.LESS_THAN_OR_EQUAL:\n if (this.scalarFilterParams.includeBlanksInLessThan) {\n return true;\n }\n break;\n case ScalarFilter.IN_RANGE:\n if (this.scalarFilterParams.includeBlanksInRange) {\n return true;\n }\n break;\n case ScalarFilter.BLANK:\n return true;\n case ScalarFilter.NOT_BLANK:\n return false;\n }\n return false;\n };\n ScalarFilter.prototype.evaluateNonNullValue = function (values, cellValue, filterModel) {\n var comparator = this.comparator();\n var compareResult = values[0] != null ? comparator(values[0], cellValue) : 0;\n switch (filterModel.type) {\n case ScalarFilter.EQUALS:\n return compareResult === 0;\n case ScalarFilter.NOT_EQUAL:\n return compareResult !== 0;\n case ScalarFilter.GREATER_THAN:\n return compareResult > 0;\n case ScalarFilter.GREATER_THAN_OR_EQUAL:\n return compareResult >= 0;\n case ScalarFilter.LESS_THAN:\n return compareResult < 0;\n case ScalarFilter.LESS_THAN_OR_EQUAL:\n return compareResult <= 0;\n case ScalarFilter.IN_RANGE: {\n var compareToResult = comparator(values[1], cellValue);\n return this.scalarFilterParams.inRangeInclusive ?\n compareResult >= 0 && compareToResult <= 0 :\n compareResult > 0 && compareToResult < 0;\n }\n case ScalarFilter.BLANK:\n return this.isBlank(cellValue);\n case ScalarFilter.NOT_BLANK:\n return !this.isBlank(cellValue);\n default:\n console.warn('AG Grid: Unexpected type of filter \"' + filterModel.type + '\", it looks like the filter was configured with incorrect Filter Options');\n return true;\n }\n };\n return ScalarFilter;\n}(SimpleFilter));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$i = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign$5 = (undefined && undefined.__assign) || function () {\n __assign$5 = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign$5.apply(this, arguments);\n};\nvar __decorate$k = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar DEFAULT_MIN_YEAR = 1000;\nvar DEFAULT_MAX_YEAR = Infinity;\nvar DateFilter = /** @class */ (function (_super) {\n __extends$i(DateFilter, _super);\n function DateFilter() {\n var _this = _super.call(this, 'dateFilter') || this;\n _this.minValidYear = DEFAULT_MIN_YEAR;\n _this.maxValidYear = DEFAULT_MAX_YEAR;\n return _this;\n }\n DateFilter.prototype.afterGuiAttached = function (params) {\n _super.prototype.afterGuiAttached.call(this, params);\n this.dateCondition1FromComp.afterGuiAttached(params);\n };\n DateFilter.prototype.mapValuesFromModel = function (filterModel) {\n // unlike the other filters, we do two things here:\n // 1) allow for different attribute names (same as done for other filters) (eg the 'from' and 'to'\n // are in different locations in Date and Number filter models)\n // 2) convert the type (because Date filter uses Dates, however model is 'string')\n //\n // NOTE: The conversion of string to date also removes the timezone - i.e. when user picks\n // a date from the UI, it will have timezone info in it. This is lost when creating\n // the model. When we recreate the date again here, it's without a timezone.\n var _a = filterModel || {}, dateFrom = _a.dateFrom, dateTo = _a.dateTo, type = _a.type;\n return [\n dateFrom && parseDateTimeFromString(dateFrom) || null,\n dateTo && parseDateTimeFromString(dateTo) || null,\n ].slice(0, this.getNumberOfInputs(type));\n };\n DateFilter.prototype.comparator = function () {\n return this.dateFilterParams.comparator ? this.dateFilterParams.comparator : this.defaultComparator.bind(this);\n };\n DateFilter.prototype.defaultComparator = function (filterDate, cellValue) {\n // The default comparator assumes that the cellValue is a date\n var cellAsDate = cellValue;\n if (cellValue == null || cellAsDate < filterDate) {\n return -1;\n }\n if (cellAsDate > filterDate) {\n return 1;\n }\n return 0;\n };\n DateFilter.prototype.setParams = function (params) {\n _super.prototype.setParams.call(this, params);\n this.dateFilterParams = params;\n var yearParser = function (param, fallback) {\n if (params[param] != null) {\n if (!isNaN(params[param])) {\n return params[param] == null ? fallback : Number(params[param]);\n }\n else {\n console.warn(\"AG Grid: DateFilter \" + param + \" is not a number\");\n }\n }\n return fallback;\n };\n this.minValidYear = yearParser('minValidYear', DEFAULT_MIN_YEAR);\n this.maxValidYear = yearParser('maxValidYear', DEFAULT_MAX_YEAR);\n if (this.minValidYear > this.maxValidYear) {\n console.warn(\"AG Grid: DateFilter minValidYear should be <= maxValidYear\");\n }\n this.createDateComponents();\n };\n DateFilter.prototype.createDateComponents = function () {\n var _this = this;\n var createDateCompWrapper = function (element) {\n return new DateCompWrapper(_this.getContext(), _this.userComponentFactory, {\n onDateChanged: function () { return _this.onUiChanged(); },\n filterParams: _this.dateFilterParams\n }, element);\n };\n this.dateCondition1FromComp = createDateCompWrapper(this.eCondition1PanelFrom);\n this.dateCondition1ToComp = createDateCompWrapper(this.eCondition1PanelTo);\n this.dateCondition2FromComp = createDateCompWrapper(this.eCondition2PanelFrom);\n this.dateCondition2ToComp = createDateCompWrapper(this.eCondition2PanelTo);\n this.addDestroyFunc(function () {\n _this.forEachInput(function (element) { return element.destroy(); });\n });\n };\n DateFilter.prototype.setElementValue = function (element, value, silent) {\n element.setDate(value);\n };\n DateFilter.prototype.setElementDisplayed = function (element, displayed) {\n element.setDisplayed(displayed);\n };\n DateFilter.prototype.setElementDisabled = function (element, disabled) {\n element.setDisabled(disabled);\n };\n DateFilter.prototype.getDefaultFilterOptions = function () {\n return DateFilter.DEFAULT_FILTER_OPTIONS;\n };\n DateFilter.prototype.createValueTemplate = function (position) {\n var pos = position === ConditionPosition.One ? '1' : '2';\n return /* html */ \"\\n
\\n
\\n
\\n
\";\n };\n DateFilter.prototype.isConditionUiComplete = function (position) {\n var _this = this;\n if (!_super.prototype.isConditionUiComplete.call(this, position)) {\n return false;\n }\n var isValidDate = function (value) { return value != null\n && value.getUTCFullYear() >= _this.minValidYear\n && value.getUTCFullYear() <= _this.maxValidYear; };\n var valid = true;\n this.forEachInput(function (element, index, elPosition, numberOfInputs) {\n if (elPosition !== position || !valid || index >= numberOfInputs) {\n return;\n }\n valid = valid && isValidDate(element.getDate());\n });\n return valid;\n };\n DateFilter.prototype.areSimpleModelsEqual = function (aSimple, bSimple) {\n return aSimple.dateFrom === bSimple.dateFrom\n && aSimple.dateTo === bSimple.dateTo\n && aSimple.type === bSimple.type;\n };\n DateFilter.prototype.getFilterType = function () {\n return 'date';\n };\n DateFilter.prototype.createCondition = function (position) {\n var type = this.getConditionTypes()[position];\n var model = {};\n var values = this.getValues(position);\n if (values.length > 0) {\n model.dateFrom = serialiseDate(values[0]);\n }\n if (values.length > 1) {\n model.dateTo = serialiseDate(values[1]);\n }\n return __assign$5({ dateFrom: null, dateTo: null, filterType: this.getFilterType(), type: type }, model);\n };\n DateFilter.prototype.resetPlaceholder = function () {\n var globalTranslate = this.gridOptionsWrapper.getLocaleTextFunc();\n var placeholder = this.translate('dateFormatOoo');\n var ariaLabel = globalTranslate('ariaFilterValue', 'Filter Value');\n this.forEachInput(function (element) {\n element.setInputPlaceholder(placeholder);\n element.setInputAriaLabel(ariaLabel);\n });\n };\n DateFilter.prototype.getInputs = function () {\n return [\n [this.dateCondition1FromComp, this.dateCondition1ToComp],\n [this.dateCondition2FromComp, this.dateCondition2ToComp],\n ];\n };\n DateFilter.prototype.getValues = function (position) {\n var result = [];\n this.forEachInput(function (element, index, elPosition, numberOfInputs) {\n if (position === elPosition && index < numberOfInputs) {\n result.push(element.getDate());\n }\n });\n return result;\n };\n DateFilter.DEFAULT_FILTER_OPTIONS = [\n ScalarFilter.EQUALS,\n ScalarFilter.GREATER_THAN,\n ScalarFilter.LESS_THAN,\n ScalarFilter.NOT_EQUAL,\n ScalarFilter.IN_RANGE,\n ScalarFilter.BLANK,\n ScalarFilter.NOT_BLANK,\n ];\n __decorate$k([\n RefSelector('eCondition1PanelFrom')\n ], DateFilter.prototype, \"eCondition1PanelFrom\", void 0);\n __decorate$k([\n RefSelector('eCondition1PanelTo')\n ], DateFilter.prototype, \"eCondition1PanelTo\", void 0);\n __decorate$k([\n RefSelector('eCondition2PanelFrom')\n ], DateFilter.prototype, \"eCondition2PanelFrom\", void 0);\n __decorate$k([\n RefSelector('eCondition2PanelTo')\n ], DateFilter.prototype, \"eCondition2PanelTo\", void 0);\n __decorate$k([\n Autowired('userComponentFactory')\n ], DateFilter.prototype, \"userComponentFactory\", void 0);\n return DateFilter;\n}(ScalarFilter));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$j = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar SimpleFloatingFilter = /** @class */ (function (_super) {\n __extends$j(SimpleFloatingFilter, _super);\n function SimpleFloatingFilter() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SimpleFloatingFilter.prototype.getDefaultDebounceMs = function () {\n return 0;\n };\n // this is a user component, and IComponent has \"public destroy()\" as part of the interface.\n // so we need to override destroy() just to make the method public.\n SimpleFloatingFilter.prototype.destroy = function () {\n _super.prototype.destroy.call(this);\n };\n // used by:\n // 1) NumberFloatingFilter & TextFloatingFilter: Always, for both when editable and read only.\n // 2) DateFloatingFilter: Only when read only (as we show text rather than a date picker when read only)\n SimpleFloatingFilter.prototype.getTextFromModel = function (model) {\n if (!model) {\n return null;\n }\n var isCombined = model.operator != null;\n if (isCombined) {\n var combinedModel = model;\n var _a = combinedModel || {}, condition1 = _a.condition1, condition2 = _a.condition2;\n var customOption1 = this.optionsFactory.getCustomOption(condition1.type);\n var customOption2 = this.optionsFactory.getCustomOption(condition2.type);\n return [\n this.conditionToString(condition1, customOption1),\n combinedModel.operator,\n this.conditionToString(condition2, customOption2),\n ].join(' ');\n }\n else {\n var condition = model;\n var customOption = this.optionsFactory.getCustomOption(condition.type);\n // For custom filter options we display the Name of the filter instead\n // of displaying the `from` value, as it wouldn't be relevant\n var _b = customOption || {}, displayKey = _b.displayKey, displayName = _b.displayName, numberOfInputs = _b.numberOfInputs;\n if (displayKey && displayName && numberOfInputs === 0) {\n this.gridOptionsWrapper.getLocaleTextFunc()(displayKey, displayName);\n return displayName;\n }\n return this.conditionToString(condition, customOption);\n }\n };\n SimpleFloatingFilter.prototype.isEventFromFloatingFilter = function (event) {\n return event && event.afterFloatingFilter;\n };\n SimpleFloatingFilter.prototype.getLastType = function () {\n return this.lastType;\n };\n SimpleFloatingFilter.prototype.isReadOnly = function () {\n return this.readOnly;\n };\n SimpleFloatingFilter.prototype.setLastTypeFromModel = function (model) {\n // if no model provided by the parent filter use default\n if (!model) {\n this.lastType = this.optionsFactory.getDefaultOption();\n return;\n }\n var isCombined = model.operator;\n var condition;\n if (isCombined) {\n var combinedModel = model;\n condition = combinedModel.condition1;\n }\n else {\n condition = model;\n }\n this.lastType = condition.type;\n };\n SimpleFloatingFilter.prototype.canWeEditAfterModelFromParentFilter = function (model) {\n if (!model) {\n // if no model, then we can edit as long as the lastType is something we can edit, as this\n // is the type we will provide to the parent filter if the user decides to use the floating filter.\n return this.isTypeEditable(this.lastType);\n }\n // never allow editing if the filter is combined (ie has two parts)\n var isCombined = model.operator;\n if (isCombined) {\n return false;\n }\n var simpleModel = model;\n return this.isTypeEditable(simpleModel.type);\n };\n SimpleFloatingFilter.prototype.init = function (params) {\n this.optionsFactory = new OptionsFactory();\n this.optionsFactory.init(params.filterParams, this.getDefaultFilterOptions());\n this.lastType = this.optionsFactory.getDefaultOption();\n // readOnly is a property of IProvidedFilterParams - we need to find a better (type-safe)\n // way to support reading this in the future.\n this.readOnly = !!params.filterParams.readOnly;\n // we are editable if:\n // 1) there is a type (user has configured filter wrong if not type)\n // AND\n // 2) the default type is not 'in range'\n var editable = this.isTypeEditable(this.lastType);\n this.setEditable(editable);\n };\n SimpleFloatingFilter.prototype.doesFilterHaveSingleInput = function (filterType) {\n var customFilterOption = this.optionsFactory.getCustomOption(filterType);\n var numberOfInputs = (customFilterOption || {}).numberOfInputs;\n return numberOfInputs == null || numberOfInputs == 1;\n };\n SimpleFloatingFilter.prototype.isTypeEditable = function (type) {\n var uneditableTypes = [\n SimpleFilter.IN_RANGE, SimpleFilter.EMPTY, SimpleFilter.BLANK, SimpleFilter.NOT_BLANK,\n ];\n return !!type &&\n !this.isReadOnly() &&\n this.doesFilterHaveSingleInput(type) &&\n uneditableTypes.indexOf(type) < 0;\n };\n return SimpleFloatingFilter;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$k = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$l = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar DateFloatingFilter = /** @class */ (function (_super) {\n __extends$k(DateFloatingFilter, _super);\n function DateFloatingFilter() {\n return _super.call(this, /* html */ \"\\n
\\n \\n
\\n
\") || this;\n }\n DateFloatingFilter.prototype.getDefaultFilterOptions = function () {\n return DateFilter.DEFAULT_FILTER_OPTIONS;\n };\n DateFloatingFilter.prototype.conditionToString = function (condition, options) {\n var type = condition.type;\n var numberOfInputs = (options || {}).numberOfInputs;\n var isRange = type == SimpleFilter.IN_RANGE || numberOfInputs === 2;\n var dateFrom = parseDateTimeFromString(condition.dateFrom);\n var dateTo = parseDateTimeFromString(condition.dateTo);\n if (isRange) {\n return serialiseDate(dateFrom, false) + \"-\" + serialiseDate(dateTo, false);\n }\n if (dateFrom != null) {\n return \"\" + serialiseDate(dateFrom, false);\n }\n // cater for when the type doesn't need a value\n return \"\" + type;\n };\n DateFloatingFilter.prototype.init = function (params) {\n _super.prototype.init.call(this, params);\n this.params = params;\n this.createDateComponent();\n var translate = this.gridOptionsWrapper.getLocaleTextFunc();\n this.eReadOnlyText\n .setDisabled(true)\n .setInputAriaLabel(translate('ariaDateFilterInput', 'Date Filter Input'));\n };\n DateFloatingFilter.prototype.setEditable = function (editable) {\n setDisplayed(this.eDateWrapper, editable);\n setDisplayed(this.eReadOnlyText.getGui(), !editable);\n };\n DateFloatingFilter.prototype.onParentModelChanged = function (model, event) {\n // We don't want to update the floating filter if the floating filter caused the change,\n // because the UI is already in sync. if we didn't do this, the UI would behave strangely\n // as it would be updating as the user is typing\n if (this.isEventFromFloatingFilter(event)) {\n return;\n }\n _super.prototype.setLastTypeFromModel.call(this, model);\n var allowEditing = !this.isReadOnly() &&\n this.canWeEditAfterModelFromParentFilter(model);\n this.setEditable(allowEditing);\n if (allowEditing) {\n if (model) {\n var dateModel = model;\n this.dateComp.setDate(parseDateTimeFromString(dateModel.dateFrom));\n }\n else {\n this.dateComp.setDate(null);\n }\n this.eReadOnlyText.setValue('');\n }\n else {\n this.eReadOnlyText.setValue(this.getTextFromModel(model));\n this.dateComp.setDate(null);\n }\n };\n DateFloatingFilter.prototype.onDateChanged = function () {\n var _this = this;\n var filterValueDate = this.dateComp.getDate();\n var filterValueText = serialiseDate(filterValueDate);\n this.params.parentFilterInstance(function (filterInstance) {\n if (filterInstance) {\n var date = parseDateTimeFromString(filterValueText);\n filterInstance.onFloatingFilterChanged(_this.getLastType() || null, date);\n }\n });\n };\n DateFloatingFilter.prototype.createDateComponent = function () {\n var _this = this;\n var debounceMs = ProvidedFilter.getDebounceMs(this.params.filterParams, this.getDefaultDebounceMs());\n var dateComponentParams = {\n onDateChanged: debounce(this.onDateChanged.bind(this), debounceMs),\n filterParams: this.params.column.getColDef().filterParams\n };\n this.dateComp = new DateCompWrapper(this.getContext(), this.userComponentFactory, dateComponentParams, this.eDateWrapper);\n this.addDestroyFunc(function () { return _this.dateComp.destroy(); });\n };\n __decorate$l([\n Autowired('userComponentFactory')\n ], DateFloatingFilter.prototype, \"userComponentFactory\", void 0);\n __decorate$l([\n RefSelector('eReadOnlyText')\n ], DateFloatingFilter.prototype, \"eReadOnlyText\", void 0);\n __decorate$l([\n RefSelector('eDateWrapper')\n ], DateFloatingFilter.prototype, \"eDateWrapper\", void 0);\n return DateFloatingFilter;\n}(SimpleFloatingFilter));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$l = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$m = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar DefaultDateComponent = /** @class */ (function (_super) {\n __extends$l(DefaultDateComponent, _super);\n function DefaultDateComponent() {\n return _super.call(this, /* html */ \"\\n
\\n \\n
\") || this;\n }\n // this is a user component, and IComponent has \"public destroy()\" as part of the interface.\n // so we need to override destroy() just to make the method public.\n DefaultDateComponent.prototype.destroy = function () {\n _super.prototype.destroy.call(this);\n };\n DefaultDateComponent.prototype.init = function (params) {\n var _this = this;\n var eDocument = this.gridOptionsWrapper.getDocument();\n var inputElement = this.eDateInput.getInputElement();\n if (this.shouldUseBrowserDatePicker(params)) {\n inputElement.type = 'date';\n }\n // ensures that the input element is focussed when a clear button is clicked\n this.addManagedListener(inputElement, 'mousedown', function () {\n if (_this.eDateInput.isDisabled()) {\n return;\n }\n inputElement.focus();\n });\n this.addManagedListener(inputElement, 'input', function (e) {\n if (e.target !== eDocument.activeElement) {\n return;\n }\n if (_this.eDateInput.isDisabled()) {\n return;\n }\n params.onDateChanged();\n });\n var _a = params.filterParams || {}, minValidYear = _a.minValidYear, maxValidYear = _a.maxValidYear;\n if (minValidYear) {\n inputElement.min = minValidYear + \"-01-01\";\n }\n if (maxValidYear) {\n inputElement.max = maxValidYear + \"-12-31\";\n }\n };\n DefaultDateComponent.prototype.getDate = function () {\n return parseDateTimeFromString(this.eDateInput.getValue());\n };\n DefaultDateComponent.prototype.setDate = function (date) {\n this.eDateInput.setValue(serialiseDate(date, false));\n };\n DefaultDateComponent.prototype.setInputPlaceholder = function (placeholder) {\n this.eDateInput.setInputPlaceholder(placeholder);\n };\n DefaultDateComponent.prototype.setDisabled = function (disabled) {\n this.eDateInput.setDisabled(disabled);\n };\n DefaultDateComponent.prototype.afterGuiAttached = function (params) {\n if (!params || !params.suppressFocus) {\n this.eDateInput.getInputElement().focus();\n }\n };\n DefaultDateComponent.prototype.shouldUseBrowserDatePicker = function (params) {\n if (params.filterParams && params.filterParams.browserDatePicker != null) {\n return params.filterParams.browserDatePicker;\n }\n return isBrowserChrome() || isBrowserFirefox();\n };\n __decorate$m([\n RefSelector('eDateInput')\n ], DefaultDateComponent.prototype, \"eDateInput\", void 0);\n return DefaultDateComponent;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$m = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$n = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar NumberFilter = /** @class */ (function (_super) {\n __extends$m(NumberFilter, _super);\n function NumberFilter() {\n return _super.call(this, 'numberFilter') || this;\n }\n NumberFilter.prototype.mapValuesFromModel = function (filterModel) {\n var _a = filterModel || {}, filter = _a.filter, filterTo = _a.filterTo, type = _a.type;\n return [\n filter == null ? null : filter,\n filterTo == null ? null : filterTo,\n ].slice(0, this.getNumberOfInputs(type));\n };\n NumberFilter.prototype.getDefaultDebounceMs = function () {\n return 500;\n };\n NumberFilter.prototype.comparator = function () {\n return function (left, right) {\n if (left === right) {\n return 0;\n }\n return left < right ? 1 : -1;\n };\n };\n NumberFilter.prototype.setParams = function (params) {\n this.numberFilterParams = params;\n var allowedCharPattern = this.getAllowedCharPattern();\n if (allowedCharPattern) {\n var config = { allowedCharPattern: allowedCharPattern };\n this.resetTemplate({\n 'eValue-index0-1': config,\n 'eValue-index1-1': config,\n 'eValue-index0-2': config,\n 'eValue-index1-2': config,\n });\n }\n _super.prototype.setParams.call(this, params);\n };\n NumberFilter.prototype.getDefaultFilterOptions = function () {\n return NumberFilter.DEFAULT_FILTER_OPTIONS;\n };\n NumberFilter.prototype.createValueTemplate = function (position) {\n var pos = position === ConditionPosition.One ? '1' : '2';\n var allowedCharPattern = this.getAllowedCharPattern();\n var agElementTag = allowedCharPattern ? 'ag-input-text-field' : 'ag-input-number-field';\n return /* html */ \"\\n
\\n <\" + agElementTag + \" class=\\\"ag-filter-from ag-filter-filter\\\" ref=\\\"eValue-index0-\" + pos + \"\\\">\\n <\" + agElementTag + \" class=\\\"ag-filter-to ag-filter-filter\\\" ref=\\\"eValue-index1-\" + pos + \"\\\">\\n
\";\n };\n NumberFilter.prototype.getValues = function (position) {\n var _this = this;\n var result = [];\n this.forEachInput(function (element, index, elPosition, numberOfInputs) {\n if (position === elPosition && index < numberOfInputs) {\n result.push(_this.stringToFloat(element.getValue()));\n }\n });\n return result;\n };\n NumberFilter.prototype.areSimpleModelsEqual = function (aSimple, bSimple) {\n return aSimple.filter === bSimple.filter\n && aSimple.filterTo === bSimple.filterTo\n && aSimple.type === bSimple.type;\n };\n NumberFilter.prototype.getFilterType = function () {\n return 'number';\n };\n NumberFilter.prototype.stringToFloat = function (value) {\n if (typeof value === 'number') {\n return value;\n }\n var filterText = makeNull(value);\n if (filterText != null && filterText.trim() === '') {\n filterText = null;\n }\n if (this.numberFilterParams.numberParser) {\n return this.numberFilterParams.numberParser(filterText);\n }\n return filterText == null || filterText.trim() === '-' ? null : parseFloat(filterText);\n };\n NumberFilter.prototype.createCondition = function (position) {\n var type = this.getConditionTypes()[position];\n var model = {\n filterType: this.getFilterType(),\n type: type\n };\n var values = this.getValues(position);\n if (values.length > 0) {\n model.filter = values[0];\n }\n if (values.length > 1) {\n model.filterTo = values[1];\n }\n return model;\n };\n NumberFilter.prototype.getInputs = function () {\n return [\n [this.eValueFrom1, this.eValueTo1],\n [this.eValueFrom2, this.eValueTo2],\n ];\n };\n NumberFilter.prototype.getAllowedCharPattern = function () {\n var allowedCharPattern = (this.numberFilterParams || {}).allowedCharPattern;\n if (allowedCharPattern) {\n return allowedCharPattern;\n }\n if (!isBrowserChrome() && !isBrowserEdge()) {\n // only Chrome and Edge support the HTML5 number field, so for other browsers we provide an equivalent\n // constraint instead\n return '\\\\d\\\\-\\\\.';\n }\n return null;\n };\n NumberFilter.DEFAULT_FILTER_OPTIONS = [\n ScalarFilter.EQUALS,\n ScalarFilter.NOT_EQUAL,\n ScalarFilter.LESS_THAN,\n ScalarFilter.LESS_THAN_OR_EQUAL,\n ScalarFilter.GREATER_THAN,\n ScalarFilter.GREATER_THAN_OR_EQUAL,\n ScalarFilter.IN_RANGE,\n ScalarFilter.BLANK,\n ScalarFilter.NOT_BLANK,\n ];\n __decorate$n([\n RefSelector('eValue-index0-1')\n ], NumberFilter.prototype, \"eValueFrom1\", void 0);\n __decorate$n([\n RefSelector('eValue-index1-1')\n ], NumberFilter.prototype, \"eValueTo1\", void 0);\n __decorate$n([\n RefSelector('eValue-index0-2')\n ], NumberFilter.prototype, \"eValueFrom2\", void 0);\n __decorate$n([\n RefSelector('eValue-index1-2')\n ], NumberFilter.prototype, \"eValueTo2\", void 0);\n return NumberFilter;\n}(ScalarFilter));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$n = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign$6 = (undefined && undefined.__assign) || function () {\n __assign$6 = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign$6.apply(this, arguments);\n};\nvar __decorate$o = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar TextFilter = /** @class */ (function (_super) {\n __extends$n(TextFilter, _super);\n function TextFilter() {\n return _super.call(this, 'textFilter') || this;\n }\n TextFilter.trimInput = function (value) {\n var trimmedInput = value && value.trim();\n // trim the input, unless it is all whitespace (this is consistent with Excel behaviour)\n return trimmedInput === '' ? value : trimmedInput;\n };\n TextFilter.prototype.getDefaultDebounceMs = function () {\n return 500;\n };\n TextFilter.prototype.setParams = function (params) {\n _super.prototype.setParams.call(this, params);\n this.textFilterParams = params;\n this.matcher = this.getTextMatcher();\n this.formatter = this.textFilterParams.textFormatter ||\n (this.textFilterParams.caseSensitive ? TextFilter.DEFAULT_FORMATTER : TextFilter.DEFAULT_LOWERCASE_FORMATTER);\n };\n TextFilter.prototype.getTextMatcher = function () {\n var legacyComparator = this.textFilterParams.textCustomComparator;\n if (legacyComparator) {\n _.doOnce(function () { return console.warn('AG Grid - textCustomComparator is deprecated, use textMatcher instead.'); }, 'textCustomComparator.deprecated');\n return function (_a) {\n var filterOption = _a.filterOption, value = _a.value, filterText = _a.filterText;\n return legacyComparator(filterOption, value, filterText);\n };\n }\n return this.textFilterParams.textMatcher || TextFilter.DEFAULT_MATCHER;\n };\n TextFilter.prototype.createCondition = function (position) {\n var type = this.getConditionTypes()[position];\n var model = {\n filterType: this.getFilterType(),\n type: type,\n };\n var values = this.getValues(position);\n if (values.length > 0) {\n model.filter = values[0];\n }\n if (values.length > 1) {\n model.filterTo = values[1];\n }\n return model;\n };\n TextFilter.prototype.getFilterType = function () {\n return 'text';\n };\n TextFilter.prototype.areSimpleModelsEqual = function (aSimple, bSimple) {\n return aSimple.filter === bSimple.filter &&\n aSimple.filterTo === bSimple.filterTo &&\n aSimple.type === bSimple.type;\n };\n TextFilter.prototype.getInputs = function () {\n return [\n [this.eValueFrom1, this.eValueTo1],\n [this.eValueFrom2, this.eValueTo2],\n ];\n };\n TextFilter.prototype.getValues = function (position) {\n var _this = this;\n var result = [];\n this.forEachInput(function (element, index, elPosition, numberOfInputs) {\n if (position === elPosition && index < numberOfInputs) {\n var value = makeNull(element.getValue());\n var cleanValue = (_this.textFilterParams.trimInput ? TextFilter.trimInput(value) : value) || null;\n result.push(cleanValue);\n element.setValue(cleanValue, true); // ensure clean value is visible\n }\n });\n return result;\n };\n TextFilter.prototype.getDefaultFilterOptions = function () {\n return TextFilter.DEFAULT_FILTER_OPTIONS;\n };\n TextFilter.prototype.createValueTemplate = function (position) {\n var pos = position === ConditionPosition.One ? '1' : '2';\n return /* html */ \"\\n
\\n \\n \\n
\";\n };\n TextFilter.prototype.mapValuesFromModel = function (filterModel) {\n var _a = filterModel || {}, filter = _a.filter, filterTo = _a.filterTo, type = _a.type;\n return [\n filter || null,\n filterTo || null,\n ].slice(0, this.getNumberOfInputs(type));\n };\n TextFilter.prototype.evaluateNullValue = function (filterType) {\n var filterTypesAllowNulls = [\n SimpleFilter.NOT_EQUAL, SimpleFilter.NOT_CONTAINS, SimpleFilter.BLANK,\n ];\n return filterType ? filterTypesAllowNulls.indexOf(filterType) >= 0 : false;\n };\n TextFilter.prototype.evaluateNonNullValue = function (values, cellValue, filterModel, params) {\n var _this = this;\n var formattedValues = values.map(function (v) { return _this.formatter(v); }) || [];\n var cellValueFormatted = this.formatter(cellValue);\n var _a = this.textFilterParams, api = _a.api, colDef = _a.colDef, column = _a.column, columnApi = _a.columnApi, context = _a.context, textFormatter = _a.textFormatter;\n if (filterModel.type === SimpleFilter.BLANK) {\n return this.isBlank(cellValue);\n }\n else if (filterModel.type === SimpleFilter.NOT_BLANK) {\n return !this.isBlank(cellValue);\n }\n var matcherParams = {\n api: api,\n colDef: colDef,\n column: column,\n columnApi: columnApi,\n context: context,\n node: params.node,\n data: params.data,\n filterOption: filterModel.type,\n value: cellValueFormatted,\n textFormatter: textFormatter,\n };\n return formattedValues.some(function (v) { return _this.matcher(__assign$6(__assign$6({}, matcherParams), { filterText: v })); });\n };\n TextFilter.DEFAULT_FILTER_OPTIONS = [\n SimpleFilter.CONTAINS,\n SimpleFilter.NOT_CONTAINS,\n SimpleFilter.EQUALS,\n SimpleFilter.NOT_EQUAL,\n SimpleFilter.STARTS_WITH,\n SimpleFilter.ENDS_WITH,\n SimpleFilter.BLANK,\n SimpleFilter.NOT_BLANK,\n ];\n TextFilter.DEFAULT_FORMATTER = function (from) { return from; };\n TextFilter.DEFAULT_LOWERCASE_FORMATTER = function (from) { return from == null ? null : from.toString().toLowerCase(); };\n TextFilter.DEFAULT_MATCHER = function (_a) {\n var filterOption = _a.filterOption, value = _a.value, filterText = _a.filterText;\n if (filterText == null) {\n return false;\n }\n switch (filterOption) {\n case TextFilter.CONTAINS:\n return value.indexOf(filterText) >= 0;\n case TextFilter.NOT_CONTAINS:\n return value.indexOf(filterText) < 0;\n case TextFilter.EQUALS:\n return value === filterText;\n case TextFilter.NOT_EQUAL:\n return value != filterText;\n case TextFilter.STARTS_WITH:\n return value.indexOf(filterText) === 0;\n case TextFilter.ENDS_WITH:\n var index = value.lastIndexOf(filterText);\n return index >= 0 && index === (value.length - filterText.length);\n default:\n return false;\n }\n };\n __decorate$o([\n RefSelector('eValue-index0-1')\n ], TextFilter.prototype, \"eValueFrom1\", void 0);\n __decorate$o([\n RefSelector('eValue-index1-1')\n ], TextFilter.prototype, \"eValueTo1\", void 0);\n __decorate$o([\n RefSelector('eValue-index0-2')\n ], TextFilter.prototype, \"eValueFrom2\", void 0);\n __decorate$o([\n RefSelector('eValue-index1-2')\n ], TextFilter.prototype, \"eValueTo2\", void 0);\n return TextFilter;\n}(SimpleFilter));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$o = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$p = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar TextInputFloatingFilter = /** @class */ (function (_super) {\n __extends$o(TextInputFloatingFilter, _super);\n function TextInputFloatingFilter() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TextInputFloatingFilter.prototype.postConstruct = function () {\n this.resetTemplate();\n };\n TextInputFloatingFilter.prototype.resetTemplate = function (paramsMap) {\n this.setTemplate(/* html */ \"\\n
\\n \\n
\\n \", paramsMap);\n };\n TextInputFloatingFilter.prototype.getDefaultDebounceMs = function () {\n return 500;\n };\n TextInputFloatingFilter.prototype.onParentModelChanged = function (model, event) {\n if (this.isEventFromFloatingFilter(event)) {\n // if the floating filter triggered the change, it is already in sync\n return;\n }\n this.setLastTypeFromModel(model);\n this.eFloatingFilterInput.setValue(this.getTextFromModel(model));\n this.setEditable(this.canWeEditAfterModelFromParentFilter(model));\n };\n TextInputFloatingFilter.prototype.init = function (params) {\n _super.prototype.init.call(this, params);\n this.params = params;\n this.applyActive = ProvidedFilter.isUseApplyButton(this.params.filterParams);\n var allowedCharPattern = this.params.filterParams.allowedCharPattern;\n if (allowedCharPattern != null) {\n this.resetTemplate({ eFloatingFilterInput: { allowedCharPattern: allowedCharPattern } });\n }\n if (!this.isReadOnly()) {\n var debounceMs = ProvidedFilter.getDebounceMs(this.params.filterParams, this.getDefaultDebounceMs());\n var toDebounce = debounce(this.syncUpWithParentFilter.bind(this), debounceMs);\n var filterGui = this.eFloatingFilterInput.getGui();\n this.addManagedListener(filterGui, 'input', toDebounce);\n this.addManagedListener(filterGui, 'keypress', toDebounce);\n this.addManagedListener(filterGui, 'keydown', toDebounce);\n }\n var columnDef = params.column.getDefinition();\n if (this.isReadOnly() || (columnDef.filterParams &&\n columnDef.filterParams.filterOptions &&\n columnDef.filterParams.filterOptions.length === 1 &&\n columnDef.filterParams.filterOptions[0] === 'inRange')) {\n this.eFloatingFilterInput.setDisabled(true);\n }\n var displayName = this.columnModel.getDisplayNameForColumn(params.column, 'header', true);\n var translate = this.gridOptionsWrapper.getLocaleTextFunc();\n this.eFloatingFilterInput.setInputAriaLabel(displayName + \" \" + translate('ariaFilterInput', 'Filter Input'));\n };\n TextInputFloatingFilter.prototype.syncUpWithParentFilter = function (e) {\n var _this = this;\n var enterKeyPressed = e.key === KeyCode.ENTER;\n if (this.applyActive && !enterKeyPressed) {\n return;\n }\n var value = this.eFloatingFilterInput.getValue();\n if (this.params.filterParams.trimInput) {\n value = TextFilter.trimInput(value);\n this.eFloatingFilterInput.setValue(value, true); // ensure visible value is trimmed\n }\n this.params.parentFilterInstance(function (filterInstance) {\n if (filterInstance) {\n filterInstance.onFloatingFilterChanged(_this.getLastType() || null, value || null);\n }\n });\n };\n TextInputFloatingFilter.prototype.conditionToString = function (condition, options) {\n var numberOfInputs = (options || {}).numberOfInputs;\n var isRange = condition.type == SimpleFilter.IN_RANGE || numberOfInputs === 2;\n if (isRange) {\n return condition.filter + \"-\" + condition.filterTo;\n }\n // cater for when the type doesn't need a value\n if (condition.filter != null) {\n return \"\" + condition.filter;\n }\n return \"\" + condition.type;\n };\n TextInputFloatingFilter.prototype.setEditable = function (editable) {\n this.eFloatingFilterInput.setDisabled(!editable);\n };\n __decorate$p([\n Autowired('columnModel')\n ], TextInputFloatingFilter.prototype, \"columnModel\", void 0);\n __decorate$p([\n RefSelector('eFloatingFilterInput')\n ], TextInputFloatingFilter.prototype, \"eFloatingFilterInput\", void 0);\n __decorate$p([\n PostConstruct\n ], TextInputFloatingFilter.prototype, \"postConstruct\", null);\n return TextInputFloatingFilter;\n}(SimpleFloatingFilter));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$p = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar NumberFloatingFilter = /** @class */ (function (_super) {\n __extends$p(NumberFloatingFilter, _super);\n function NumberFloatingFilter() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n NumberFloatingFilter.prototype.getDefaultFilterOptions = function () {\n return NumberFilter.DEFAULT_FILTER_OPTIONS;\n };\n return NumberFloatingFilter;\n}(TextInputFloatingFilter));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$q = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar TextFloatingFilter = /** @class */ (function (_super) {\n __extends$q(TextFloatingFilter, _super);\n function TextFloatingFilter() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TextFloatingFilter.prototype.getDefaultFilterOptions = function () {\n return TextFilter.DEFAULT_FILTER_OPTIONS;\n };\n return TextFloatingFilter;\n}(TextInputFloatingFilter));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar TouchListener = /** @class */ (function () {\n function TouchListener(eElement, preventMouseClick) {\n var _this = this;\n if (preventMouseClick === void 0) { preventMouseClick = false; }\n this.destroyFuncs = [];\n this.touching = false;\n this.eventService = new EventService();\n this.eElement = eElement;\n this.preventMouseClick = preventMouseClick;\n var startListener = this.onTouchStart.bind(this);\n var moveListener = this.onTouchMove.bind(this);\n var endListener = this.onTouchEnd.bind(this);\n this.eElement.addEventListener(\"touchstart\", startListener, { passive: true });\n this.eElement.addEventListener(\"touchmove\", moveListener, { passive: true });\n // we set passive=false, as we want to prevent default on this event\n this.eElement.addEventListener(\"touchend\", endListener, { passive: false });\n this.destroyFuncs.push(function () {\n _this.eElement.removeEventListener(\"touchstart\", startListener, { passive: true });\n _this.eElement.removeEventListener(\"touchmove\", moveListener, { passive: true });\n _this.eElement.removeEventListener(\"touchend\", endListener, { passive: false });\n });\n }\n TouchListener.prototype.getActiveTouch = function (touchList) {\n for (var i = 0; i < touchList.length; i++) {\n var matches = touchList[i].identifier === this.touchStart.identifier;\n if (matches) {\n return touchList[i];\n }\n }\n return null;\n };\n TouchListener.prototype.addEventListener = function (eventType, listener) {\n this.eventService.addEventListener(eventType, listener);\n };\n TouchListener.prototype.removeEventListener = function (eventType, listener) {\n this.eventService.removeEventListener(eventType, listener);\n };\n TouchListener.prototype.onTouchStart = function (touchEvent) {\n var _this = this;\n // only looking at one touch point at any time\n if (this.touching) {\n return;\n }\n this.touchStart = touchEvent.touches[0];\n this.touching = true;\n this.moved = false;\n var touchStartCopy = this.touchStart;\n window.setTimeout(function () {\n var touchesMatch = _this.touchStart === touchStartCopy;\n if (_this.touching && touchesMatch && !_this.moved) {\n _this.moved = true;\n var event_1 = {\n type: TouchListener.EVENT_LONG_TAP,\n touchStart: _this.touchStart,\n touchEvent: touchEvent\n };\n _this.eventService.dispatchEvent(event_1);\n }\n }, 500);\n };\n TouchListener.prototype.onTouchMove = function (touchEvent) {\n if (!this.touching) {\n return;\n }\n var touch = this.getActiveTouch(touchEvent.touches);\n if (!touch) {\n return;\n }\n var eventIsFarAway = !areEventsNear(touch, this.touchStart, 4);\n if (eventIsFarAway) {\n this.moved = true;\n }\n };\n TouchListener.prototype.onTouchEnd = function (touchEvent) {\n if (!this.touching) {\n return;\n }\n if (!this.moved) {\n var event_2 = {\n type: TouchListener.EVENT_TAP,\n touchStart: this.touchStart\n };\n this.eventService.dispatchEvent(event_2);\n this.checkForDoubleTap();\n }\n // stops the tap from also been processed as a mouse click\n if (this.preventMouseClick) {\n touchEvent.preventDefault();\n }\n this.touching = false;\n };\n TouchListener.prototype.checkForDoubleTap = function () {\n var now = new Date().getTime();\n if (this.lastTapTime && this.lastTapTime > 0) {\n // if previous tap, see if duration is short enough to be considered double tap\n var interval = now - this.lastTapTime;\n if (interval > TouchListener.DOUBLE_TAP_MILLIS) {\n // dispatch double tap event\n var event_3 = {\n type: TouchListener.EVENT_DOUBLE_TAP,\n touchStart: this.touchStart\n };\n this.eventService.dispatchEvent(event_3);\n // this stops a tripple tap ending up as two double taps\n this.lastTapTime = null;\n }\n else {\n this.lastTapTime = now;\n }\n }\n else {\n this.lastTapTime = now;\n }\n };\n TouchListener.prototype.destroy = function () {\n this.destroyFuncs.forEach(function (func) { return func(); });\n };\n TouchListener.EVENT_TAP = \"tap\";\n TouchListener.EVENT_DOUBLE_TAP = \"doubleTap\";\n TouchListener.EVENT_LONG_TAP = \"longTap\";\n TouchListener.DOUBLE_TAP_MILLIS = 500;\n return TouchListener;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$r = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$q = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar HeaderComp = /** @class */ (function (_super) {\n __extends$r(HeaderComp, _super);\n function HeaderComp() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.lastMovingChanged = 0;\n return _this;\n }\n // this is a user component, and IComponent has \"public destroy()\" as part of the interface.\n // so we need to override destroy() just to make the method public.\n HeaderComp.prototype.destroy = function () {\n _super.prototype.destroy.call(this);\n };\n HeaderComp.prototype.refresh = function (params) {\n this.params = params;\n // if template changed, then recreate the whole comp, the code required to manage\n // a changing template is to difficult for what it's worth.\n if (this.workOutTemplate() != this.currentTemplate) {\n return false;\n }\n if (this.workOutShowMenu() != this.currentShowMenu) {\n return false;\n }\n if (this.workOutSort() != this.currentSort) {\n return false;\n }\n this.setDisplayName(params);\n return true;\n };\n HeaderComp.prototype.workOutTemplate = function () {\n var template = firstExistingValue(this.params.template, HeaderComp.TEMPLATE);\n // take account of any newlines & whitespace before/after the actual template\n template = template && template.trim ? template.trim() : template;\n return template;\n };\n HeaderComp.prototype.init = function (params) {\n this.params = params;\n this.currentTemplate = this.workOutTemplate();\n this.setTemplate(this.currentTemplate);\n this.setupTap();\n this.setupIcons(params.column);\n this.setMenu();\n this.setupSort();\n this.setupFilterIcon();\n this.setDisplayName(params);\n };\n HeaderComp.prototype.setDisplayName = function (params) {\n if (this.currentDisplayName != params.displayName) {\n this.currentDisplayName = params.displayName;\n var displayNameSanitised = escapeString(this.currentDisplayName);\n if (this.eText) {\n this.eText.innerHTML = displayNameSanitised;\n }\n }\n };\n HeaderComp.prototype.setupIcons = function (column) {\n this.addInIcon('sortAscending', this.eSortAsc, column);\n this.addInIcon('sortDescending', this.eSortDesc, column);\n this.addInIcon('sortUnSort', this.eSortNone, column);\n this.addInIcon('menu', this.eMenu, column);\n this.addInIcon('filter', this.eFilter, column);\n };\n HeaderComp.prototype.addInIcon = function (iconName, eParent, column) {\n if (eParent == null) {\n return;\n }\n var eIcon = createIconNoSpan(iconName, this.gridOptionsWrapper, column);\n if (eIcon) {\n eParent.appendChild(eIcon);\n }\n };\n HeaderComp.prototype.setupTap = function () {\n var _this = this;\n var options = this.gridOptionsWrapper;\n if (options.isSuppressTouch()) {\n return;\n }\n var touchListener = new TouchListener(this.getGui(), true);\n var suppressMenuHide = options.isSuppressMenuHide();\n var tapMenuButton = suppressMenuHide && exists(this.eMenu);\n var menuTouchListener = tapMenuButton ? new TouchListener(this.eMenu, true) : touchListener;\n if (this.params.enableMenu) {\n var eventType = tapMenuButton ? 'EVENT_TAP' : 'EVENT_LONG_TAP';\n var showMenuFn = function (event) {\n options.getApi().showColumnMenuAfterMouseClick(_this.params.column, event.touchStart);\n };\n this.addManagedListener(menuTouchListener, TouchListener[eventType], showMenuFn);\n }\n if (this.params.enableSorting) {\n var tapListener = function (event) {\n var target = event.touchStart.target;\n // When suppressMenuHide is true, a tap on the menu icon will bubble up\n // to the header container, in that case we should not sort\n if (suppressMenuHide && _this.eMenu.contains(target)) {\n return;\n }\n _this.sortController.progressSort(_this.params.column, false, \"uiColumnSorted\");\n };\n this.addManagedListener(touchListener, TouchListener.EVENT_TAP, tapListener);\n }\n // if tapMenuButton is true `touchListener` and `menuTouchListener` are different\n // so we need to make sure to destroy both listeners here\n this.addDestroyFunc(function () { return touchListener.destroy(); });\n if (tapMenuButton) {\n this.addDestroyFunc(function () { return menuTouchListener.destroy(); });\n }\n };\n HeaderComp.prototype.workOutShowMenu = function () {\n // we don't show the menu if on an iPad/iPhone, as the user cannot have a pointer device/\n // However if suppressMenuHide is set to true the menu will be displayed alwasys, so it's ok\n // to show it on iPad in this case (as hover isn't needed). If suppressMenuHide\n // is false (default) user will need to use longpress to display the menu.\n var menuHides = !this.gridOptionsWrapper.isSuppressMenuHide();\n var onIpadAndMenuHides = isIOSUserAgent() && menuHides;\n var showMenu = this.params.enableMenu && !onIpadAndMenuHides;\n return showMenu;\n };\n HeaderComp.prototype.setMenu = function () {\n var _this = this;\n // if no menu provided in template, do nothing\n if (!this.eMenu) {\n return;\n }\n this.currentShowMenu = this.workOutShowMenu();\n if (!this.currentShowMenu) {\n removeFromParent(this.eMenu);\n return;\n }\n var suppressMenuHide = this.gridOptionsWrapper.isSuppressMenuHide();\n this.addManagedListener(this.eMenu, 'click', function () { return _this.showMenu(_this.eMenu); });\n this.eMenu.classList.toggle('ag-header-menu-always-show', suppressMenuHide);\n };\n HeaderComp.prototype.showMenu = function (eventSource) {\n if (!eventSource) {\n eventSource = this.eMenu;\n }\n this.menuFactory.showMenuAfterButtonClick(this.params.column, eventSource, 'columnMenu');\n };\n HeaderComp.prototype.removeSortIcons = function () {\n removeFromParent(this.eSortAsc);\n removeFromParent(this.eSortDesc);\n removeFromParent(this.eSortNone);\n removeFromParent(this.eSortOrder);\n };\n HeaderComp.prototype.workOutSort = function () {\n return this.params.enableSorting;\n };\n HeaderComp.prototype.setupSort = function () {\n var _this = this;\n this.currentSort = this.params.enableSorting;\n if (!this.currentSort) {\n this.removeSortIcons();\n return;\n }\n var sortUsingCtrl = this.gridOptionsWrapper.isMultiSortKeyCtrl();\n // keep track of last time the moving changed flag was set\n this.addManagedListener(this.params.column, Column.EVENT_MOVING_CHANGED, function () {\n _this.lastMovingChanged = new Date().getTime();\n });\n // add the event on the header, so when clicked, we do sorting\n if (this.eLabel) {\n this.addManagedListener(this.eLabel, 'click', function (event) {\n // sometimes when moving a column via dragging, this was also firing a clicked event.\n // here is issue raised by user: https://ag-grid.zendesk.com/agent/tickets/1076\n // this check stops sort if a) column is moving or b) column moved less than 200ms ago (so caters for race condition)\n var moving = _this.params.column.isMoving();\n var nowTime = new Date().getTime();\n // typically there is <2ms if moving flag was set recently, as it would be done in same VM turn\n var movedRecently = (nowTime - _this.lastMovingChanged) < 50;\n var columnMoving = moving || movedRecently;\n if (!columnMoving) {\n var multiSort = sortUsingCtrl ? (event.ctrlKey || event.metaKey) : event.shiftKey;\n _this.params.progressSort(multiSort);\n }\n });\n }\n this.addManagedListener(this.params.column, Column.EVENT_SORT_CHANGED, this.onSortChanged.bind(this));\n this.onSortChanged();\n this.addManagedListener(this.eventService, Events.EVENT_SORT_CHANGED, this.setMultiSortOrder.bind(this));\n this.setMultiSortOrder();\n };\n HeaderComp.prototype.onSortChanged = function () {\n this.addOrRemoveCssClass('ag-header-cell-sorted-asc', this.params.column.isSortAscending());\n this.addOrRemoveCssClass('ag-header-cell-sorted-desc', this.params.column.isSortDescending());\n this.addOrRemoveCssClass('ag-header-cell-sorted-none', this.params.column.isSortNone());\n if (this.eSortAsc) {\n this.eSortAsc.classList.toggle('ag-hidden', !this.params.column.isSortAscending());\n }\n if (this.eSortDesc) {\n this.eSortDesc.classList.toggle('ag-hidden', !this.params.column.isSortDescending());\n }\n if (this.eSortNone) {\n var alwaysHideNoSort = !this.params.column.getColDef().unSortIcon && !this.gridOptionsWrapper.isUnSortIcon();\n this.eSortNone.classList.toggle('ag-hidden', alwaysHideNoSort || !this.params.column.isSortNone());\n }\n };\n // we listen here for global sort events, NOT column sort events, as we want to do this\n // when sorting has been set on all column (if we listened just for our col (where we\n // set the asc / desc icons) then it's possible other cols are yet to get their sorting state.\n HeaderComp.prototype.setMultiSortOrder = function () {\n if (!this.eSortOrder) {\n return;\n }\n var col = this.params.column;\n var allColumnsWithSorting = this.sortController.getColumnsWithSortingOrdered();\n var indexThisCol = allColumnsWithSorting.indexOf(col);\n var moreThanOneColSorting = allColumnsWithSorting.length > 1;\n var showIndex = col.isSorting() && moreThanOneColSorting;\n setDisplayed(this.eSortOrder, showIndex);\n if (indexThisCol >= 0) {\n this.eSortOrder.innerHTML = (indexThisCol + 1).toString();\n }\n else {\n clearElement(this.eSortOrder);\n }\n };\n HeaderComp.prototype.setupFilterIcon = function () {\n if (!this.eFilter) {\n return;\n }\n this.addManagedListener(this.params.column, Column.EVENT_FILTER_CHANGED, this.onFilterChanged.bind(this));\n this.onFilterChanged();\n };\n HeaderComp.prototype.onFilterChanged = function () {\n var filterPresent = this.params.column.isFilterActive();\n this.eFilter.classList.toggle('ag-hidden', !filterPresent);\n };\n HeaderComp.TEMPLATE = \"
\\n \\n
\\n \\n \\n \\n \\n \\n \\n
\\n
\";\n __decorate$q([\n Autowired('sortController')\n ], HeaderComp.prototype, \"sortController\", void 0);\n __decorate$q([\n Autowired('menuFactory')\n ], HeaderComp.prototype, \"menuFactory\", void 0);\n __decorate$q([\n RefSelector('eFilter')\n ], HeaderComp.prototype, \"eFilter\", void 0);\n __decorate$q([\n RefSelector('eSortAsc')\n ], HeaderComp.prototype, \"eSortAsc\", void 0);\n __decorate$q([\n RefSelector('eSortDesc')\n ], HeaderComp.prototype, \"eSortDesc\", void 0);\n __decorate$q([\n RefSelector('eSortNone')\n ], HeaderComp.prototype, \"eSortNone\", void 0);\n __decorate$q([\n RefSelector('eSortOrder')\n ], HeaderComp.prototype, \"eSortOrder\", void 0);\n __decorate$q([\n RefSelector('eMenu')\n ], HeaderComp.prototype, \"eMenu\", void 0);\n __decorate$q([\n RefSelector('eLabel')\n ], HeaderComp.prototype, \"eLabel\", void 0);\n __decorate$q([\n RefSelector('eText')\n ], HeaderComp.prototype, \"eText\", void 0);\n return HeaderComp;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$s = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$r = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar HeaderGroupComp = /** @class */ (function (_super) {\n __extends$s(HeaderGroupComp, _super);\n function HeaderGroupComp() {\n return _super.call(this, HeaderGroupComp.TEMPLATE) || this;\n }\n // this is a user component, and IComponent has \"public destroy()\" as part of the interface.\n // so we need to override destroy() just to make the method public.\n HeaderGroupComp.prototype.destroy = function () {\n _super.prototype.destroy.call(this);\n };\n HeaderGroupComp.prototype.init = function (params) {\n this.params = params;\n this.checkWarnings();\n this.setupLabel();\n this.addGroupExpandIcon();\n this.setupExpandIcons();\n };\n HeaderGroupComp.prototype.checkWarnings = function () {\n var paramsAny = this.params;\n if (paramsAny.template) {\n var message_1 = \"AG Grid: A template was provided for Header Group Comp - templates are only supported for Header Comps (not groups)\";\n doOnce(function () { return console.warn(message_1); }, 'HeaderGroupComp.templateNotSupported');\n }\n };\n HeaderGroupComp.prototype.setupExpandIcons = function () {\n var _this = this;\n this.addInIcon(\"columnGroupOpened\", \"agOpened\");\n this.addInIcon(\"columnGroupClosed\", \"agClosed\");\n var expandAction = function (event) {\n if (isStopPropagationForAgGrid(event)) {\n return;\n }\n var newExpandedValue = !_this.params.columnGroup.isExpanded();\n _this.columnModel.setColumnGroupOpened(_this.params.columnGroup.getProvidedColumnGroup(), newExpandedValue, \"uiColumnExpanded\");\n };\n this.addTouchAndClickListeners(this.eCloseIcon, expandAction);\n this.addTouchAndClickListeners(this.eOpenIcon, expandAction);\n var stopPropagationAction = function (event) {\n stopPropagationForAgGrid(event);\n };\n // adding stopPropagation to the double click for the icons prevents double click action happening\n // when the icons are clicked. if the icons are double clicked, then the groups should open and\n // then close again straight away. if we also listened to double click, then the group would open,\n // close, then open, which is not what we want. double click should only action if the user double\n // clicks outside of the icons.\n this.addManagedListener(this.eCloseIcon, \"dblclick\", stopPropagationAction);\n this.addManagedListener(this.eOpenIcon, \"dblclick\", stopPropagationAction);\n this.addManagedListener(this.getGui(), \"dblclick\", expandAction);\n this.updateIconVisibility();\n var providedColumnGroup = this.params.columnGroup.getProvidedColumnGroup();\n this.addManagedListener(providedColumnGroup, ProvidedColumnGroup.EVENT_EXPANDED_CHANGED, this.updateIconVisibility.bind(this));\n this.addManagedListener(providedColumnGroup, ProvidedColumnGroup.EVENT_EXPANDABLE_CHANGED, this.updateIconVisibility.bind(this));\n };\n HeaderGroupComp.prototype.addTouchAndClickListeners = function (eElement, action) {\n var touchListener = new TouchListener(eElement, true);\n this.addManagedListener(touchListener, TouchListener.EVENT_TAP, action);\n this.addDestroyFunc(function () { return touchListener.destroy(); });\n this.addManagedListener(eElement, \"click\", action);\n };\n HeaderGroupComp.prototype.updateIconVisibility = function () {\n var columnGroup = this.params.columnGroup;\n if (columnGroup.isExpandable()) {\n var expanded = this.params.columnGroup.isExpanded();\n setDisplayed(this.eOpenIcon, expanded);\n setDisplayed(this.eCloseIcon, !expanded);\n }\n else {\n setDisplayed(this.eOpenIcon, false);\n setDisplayed(this.eCloseIcon, false);\n }\n };\n HeaderGroupComp.prototype.addInIcon = function (iconName, refName) {\n var eIcon = createIconNoSpan(iconName, this.gridOptionsWrapper, null);\n if (eIcon) {\n this.getRefElement(refName).appendChild(eIcon);\n }\n };\n HeaderGroupComp.prototype.addGroupExpandIcon = function () {\n if (!this.params.columnGroup.isExpandable()) {\n setDisplayed(this.eOpenIcon, false);\n setDisplayed(this.eCloseIcon, false);\n return;\n }\n };\n HeaderGroupComp.prototype.setupLabel = function () {\n // no renderer, default text render\n var displayName = this.params.displayName;\n if (exists(displayName)) {\n var displayNameSanitised = escapeString(displayName);\n this.getRefElement('agLabel').innerHTML = displayNameSanitised;\n }\n };\n HeaderGroupComp.TEMPLATE = \"
\\n \\n \\n \\n
\";\n __decorate$r([\n Autowired(\"columnModel\")\n ], HeaderGroupComp.prototype, \"columnModel\", void 0);\n __decorate$r([\n RefSelector(\"agOpened\")\n ], HeaderGroupComp.prototype, \"eOpenIcon\", void 0);\n __decorate$r([\n RefSelector(\"agClosed\")\n ], HeaderGroupComp.prototype, \"eCloseIcon\", void 0);\n return HeaderGroupComp;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$t = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar PopupComponent = /** @class */ (function (_super) {\n __extends$t(PopupComponent, _super);\n function PopupComponent() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PopupComponent.prototype.isPopup = function () {\n return true;\n };\n PopupComponent.prototype.setParentComponent = function (container) {\n container.addCssClass('ag-has-popup');\n _super.prototype.setParentComponent.call(this, container);\n };\n PopupComponent.prototype.destroy = function () {\n var parentComp = this.parentComponent;\n var hasParent = parentComp && parentComp.isAlive();\n if (hasParent) {\n parentComp.getGui().classList.remove('ag-has-popup');\n }\n _super.prototype.destroy.call(this);\n };\n return PopupComponent;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$u = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$s = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar LargeTextCellEditor = /** @class */ (function (_super) {\n __extends$u(LargeTextCellEditor, _super);\n function LargeTextCellEditor() {\n return _super.call(this, LargeTextCellEditor.TEMPLATE) || this;\n }\n LargeTextCellEditor.prototype.init = function (params) {\n this.params = params;\n this.focusAfterAttached = params.cellStartedEdit;\n this.eTextArea\n .setMaxLength(params.maxLength || 200)\n .setCols(params.cols || 60)\n .setRows(params.rows || 10);\n if (exists(params.value)) {\n this.eTextArea.setValue(params.value.toString(), true);\n }\n this.addGuiEventListener('keydown', this.onKeyDown.bind(this));\n };\n LargeTextCellEditor.prototype.onKeyDown = function (event) {\n var key = event.key;\n if (key === KeyCode.LEFT ||\n key === KeyCode.UP ||\n key === KeyCode.RIGHT ||\n key === KeyCode.DOWN ||\n (event.shiftKey && key === KeyCode.ENTER)) { // shift+enter allows for newlines\n event.stopPropagation();\n }\n };\n LargeTextCellEditor.prototype.afterGuiAttached = function () {\n var translate = this.gridOptionsWrapper.getLocaleTextFunc();\n this.eTextArea.setInputAriaLabel(translate('ariaInputEditor', 'Input Editor'));\n if (this.focusAfterAttached) {\n this.eTextArea.getFocusableElement().focus();\n }\n };\n LargeTextCellEditor.prototype.getValue = function () {\n return this.params.parseValue(this.eTextArea.getValue());\n };\n LargeTextCellEditor.TEMPLATE = \"
\\n \\n
\";\n __decorate$s([\n RefSelector(\"eTextArea\")\n ], LargeTextCellEditor.prototype, \"eTextArea\", void 0);\n return LargeTextCellEditor;\n}(PopupComponent));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$v = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$t = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar SelectCellEditor = /** @class */ (function (_super) {\n __extends$v(SelectCellEditor, _super);\n function SelectCellEditor() {\n var _this = _super.call(this, '
') || this;\n _this.startedByEnter = false;\n return _this;\n }\n SelectCellEditor.prototype.init = function (params) {\n var _this = this;\n this.focusAfterAttached = params.cellStartedEdit;\n if (missing(params.values)) {\n console.warn('AG Grid: no values found for select cellEditor');\n return;\n }\n this.startedByEnter = params.eventKey != null ? params.eventKey === KeyCode.ENTER : false;\n var hasValue = false;\n params.values.forEach(function (value) {\n var option = { value: value };\n var valueFormatted = _this.valueFormatterService.formatValue(params.column, null, null, value);\n var valueFormattedExits = valueFormatted !== null && valueFormatted !== undefined;\n option.text = valueFormattedExits ? valueFormatted : value;\n _this.eSelect.addOption(option);\n hasValue = hasValue || params.value === value;\n });\n if (hasValue) {\n this.eSelect.setValue(params.value, true);\n }\n else if (params.values.length) {\n this.eSelect.setValue(params.values[0], true);\n }\n // we don't want to add this if full row editing, otherwise selecting will stop the\n // full row editing.\n if (!this.gridOptionsWrapper.isFullRowEdit()) {\n this.eSelect.onValueChange(function () { return params.stopEditing(); });\n }\n };\n SelectCellEditor.prototype.afterGuiAttached = function () {\n if (this.focusAfterAttached) {\n this.eSelect.getFocusableElement().focus();\n }\n if (this.startedByEnter) {\n this.eSelect.showPicker();\n }\n };\n SelectCellEditor.prototype.focusIn = function () {\n this.eSelect.getFocusableElement().focus();\n };\n SelectCellEditor.prototype.getValue = function () {\n return this.eSelect.getValue();\n };\n SelectCellEditor.prototype.isPopup = function () {\n return false;\n };\n __decorate$t([\n Autowired('valueFormatterService')\n ], SelectCellEditor.prototype, \"valueFormatterService\", void 0);\n __decorate$t([\n RefSelector('eSelect')\n ], SelectCellEditor.prototype, \"eSelect\", void 0);\n return SelectCellEditor;\n}(PopupComponent));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$w = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar PopupSelectCellEditor = /** @class */ (function (_super) {\n __extends$w(PopupSelectCellEditor, _super);\n function PopupSelectCellEditor() {\n var _this = _super.call(this) || this;\n doOnce(function () { return console.warn('AG Grid: The PopupSelectCellEditor (agPopupSelectCellEditor) is deprecated. Instead use {cellEditor: \"agSelectCellEditor\", cellEditorPopup: true} '); }, 'PopupSelectCellEditor.deprecated');\n return _this;\n }\n PopupSelectCellEditor.prototype.isPopup = function () {\n return true;\n };\n return PopupSelectCellEditor;\n}(SelectCellEditor));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$x = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$u = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar TextCellEditor = /** @class */ (function (_super) {\n __extends$x(TextCellEditor, _super);\n function TextCellEditor() {\n return _super.call(this, TextCellEditor.TEMPLATE) || this;\n }\n TextCellEditor.prototype.init = function (params) {\n this.params = params;\n var eInput = this.eInput;\n var startValue;\n // cellStartedEdit is only false if we are doing fullRow editing\n if (params.cellStartedEdit) {\n this.focusAfterAttached = true;\n if (params.eventKey === KeyCode.BACKSPACE || params.eventKey === KeyCode.DELETE) {\n startValue = '';\n }\n else if (params.charPress) {\n startValue = params.charPress;\n }\n else {\n startValue = this.getStartValue(params);\n if (params.eventKey !== KeyCode.F2) {\n this.highlightAllOnFocus = true;\n }\n }\n }\n else {\n this.focusAfterAttached = false;\n startValue = this.getStartValue(params);\n }\n if (startValue != null) {\n eInput.setValue(startValue, true);\n }\n this.addManagedListener(eInput.getGui(), 'keydown', function (event) {\n var key = event.key;\n if (key === KeyCode.PAGE_UP || key === KeyCode.PAGE_DOWN) {\n event.preventDefault();\n }\n });\n };\n TextCellEditor.prototype.afterGuiAttached = function () {\n var translate = this.gridOptionsWrapper.getLocaleTextFunc();\n var eInput = this.eInput;\n eInput.setInputAriaLabel(translate('ariaInputEditor', 'Input Editor'));\n if (!this.focusAfterAttached) {\n return;\n }\n // Added for AG-3238. We can't remove this explicit focus() because Chrome requires an input\n // to be focused before setSelectionRange will work. But it triggers a bug in Safari where\n // explicitly focusing then blurring an empty field will cause the parent container to scroll.\n if (!isBrowserSafari()) {\n eInput.getFocusableElement().focus();\n }\n var inputEl = eInput.getInputElement();\n if (this.highlightAllOnFocus) {\n inputEl.select();\n }\n else {\n // when we started editing, we want the caret at the end, not the start.\n // this comes into play in two scenarios:\n // a) when user hits F2\n // b) when user hits a printable character\n var value = eInput.getValue();\n var len = (exists(value) && value.length) || 0;\n if (len) {\n inputEl.setSelectionRange(len, len);\n }\n }\n };\n // gets called when tabbing trough cells and in full row edit mode\n TextCellEditor.prototype.focusIn = function () {\n var eInput = this.eInput;\n var focusEl = eInput.getFocusableElement();\n var inputEl = eInput.getInputElement();\n focusEl.focus();\n inputEl.select();\n };\n TextCellEditor.prototype.getValue = function () {\n var eInput = this.eInput;\n return this.params.parseValue(eInput.getValue());\n };\n TextCellEditor.prototype.getStartValue = function (params) {\n var formatValue = params.useFormatter || params.column.getColDef().refData;\n return formatValue ? params.formatValue(params.value) : params.value;\n };\n TextCellEditor.prototype.isPopup = function () {\n return false;\n };\n TextCellEditor.TEMPLATE = '
';\n __decorate$u([\n RefSelector('eInput')\n ], TextCellEditor.prototype, \"eInput\", void 0);\n return TextCellEditor;\n}(PopupComponent));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$y = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar PopupTextCellEditor = /** @class */ (function (_super) {\n __extends$y(PopupTextCellEditor, _super);\n function PopupTextCellEditor() {\n var _this = _super.call(this) || this;\n doOnce(function () { return console.warn('AG Grid: The PopupTextCellEditor (agPopupTextCellEditor) is deprecated. Instead use {cellEditor: \"agTextCellEditor\", cellEditorPopup: true} '); }, 'PopupTextCellEditor.deprecated');\n return _this;\n }\n PopupTextCellEditor.prototype.isPopup = function () {\n return true;\n };\n return PopupTextCellEditor;\n}(TextCellEditor));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$z = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$v = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar ARROW_UP = '\\u2191';\nvar ARROW_DOWN = '\\u2193';\nvar AnimateShowChangeCellRenderer = /** @class */ (function (_super) {\n __extends$z(AnimateShowChangeCellRenderer, _super);\n function AnimateShowChangeCellRenderer() {\n var _this = _super.call(this, AnimateShowChangeCellRenderer.TEMPLATE) || this;\n _this.refreshCount = 0;\n return _this;\n }\n AnimateShowChangeCellRenderer.prototype.init = function (params) {\n // this.params = params;\n this.eValue = this.queryForHtmlElement('.ag-value-change-value');\n this.eDelta = this.queryForHtmlElement('.ag-value-change-delta');\n this.refresh(params);\n };\n AnimateShowChangeCellRenderer.prototype.showDelta = function (params, delta) {\n var absDelta = Math.abs(delta);\n var valueFormatted = params.formatValue(absDelta);\n var valueToUse = exists(valueFormatted) ? valueFormatted : absDelta;\n var deltaUp = (delta >= 0);\n if (deltaUp) {\n this.eDelta.innerHTML = ARROW_UP + valueToUse;\n }\n else {\n // because negative, use ABS to remove sign\n this.eDelta.innerHTML = ARROW_DOWN + valueToUse;\n }\n this.eDelta.classList.toggle('ag-value-change-delta-up', deltaUp);\n this.eDelta.classList.toggle('ag-value-change-delta-down', !deltaUp);\n };\n AnimateShowChangeCellRenderer.prototype.setTimerToRemoveDelta = function () {\n var _this = this;\n // the refreshCount makes sure that if the value updates again while\n // the below timer is waiting, then the below timer will realise it\n // is not the most recent and will not try to remove the delta value.\n this.refreshCount++;\n var refreshCountCopy = this.refreshCount;\n window.setTimeout(function () {\n if (refreshCountCopy === _this.refreshCount) {\n _this.hideDeltaValue();\n }\n }, 2000);\n };\n AnimateShowChangeCellRenderer.prototype.hideDeltaValue = function () {\n this.eValue.classList.remove('ag-value-change-value-highlight');\n clearElement(this.eDelta);\n };\n AnimateShowChangeCellRenderer.prototype.refresh = function (params) {\n var value = params.value;\n if (value === this.lastValue) {\n return false;\n }\n if (exists(params.valueFormatted)) {\n this.eValue.innerHTML = params.valueFormatted;\n }\n else if (exists(params.value)) {\n this.eValue.innerHTML = value;\n }\n else {\n clearElement(this.eValue);\n }\n // we don't show the delta if we are in the middle of a filter. see comment on FilterManager\n // with regards processingFilterChange\n if (this.filterManager.isSuppressFlashingCellsBecauseFiltering()) {\n return false;\n }\n if (typeof value === 'number' && typeof this.lastValue === 'number') {\n var delta = value - this.lastValue;\n this.showDelta(params, delta);\n }\n // highlight the current value, but only if it's not new, otherwise it\n // would get highlighted first time the value is shown\n if (this.lastValue) {\n this.eValue.classList.add('ag-value-change-value-highlight');\n }\n this.setTimerToRemoveDelta();\n this.lastValue = value;\n return true;\n };\n AnimateShowChangeCellRenderer.TEMPLATE = '' +\n '' +\n '' +\n '';\n __decorate$v([\n Autowired('filterManager')\n ], AnimateShowChangeCellRenderer.prototype, \"filterManager\", void 0);\n return AnimateShowChangeCellRenderer;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$A = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$w = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar AnimateSlideCellRenderer = /** @class */ (function (_super) {\n __extends$A(AnimateSlideCellRenderer, _super);\n function AnimateSlideCellRenderer() {\n var _this = _super.call(this, AnimateSlideCellRenderer.TEMPLATE) || this;\n _this.refreshCount = 0;\n _this.eCurrent = _this.queryForHtmlElement('.ag-value-slide-current');\n return _this;\n }\n AnimateSlideCellRenderer.prototype.init = function (params) {\n this.refresh(params);\n };\n AnimateSlideCellRenderer.prototype.addSlideAnimation = function () {\n var _this = this;\n this.refreshCount++;\n // below we keep checking this, and stop working on the animation\n // if it no longer matches - this means another animation has started\n // and this one is stale.\n var refreshCountCopy = this.refreshCount;\n // if old animation, remove it\n if (this.ePrevious) {\n this.getGui().removeChild(this.ePrevious);\n }\n this.ePrevious = loadTemplate('');\n this.ePrevious.innerHTML = this.eCurrent.innerHTML;\n this.getGui().insertBefore(this.ePrevious, this.eCurrent);\n // having timeout of 0 allows use to skip to the next css turn,\n // so we know the previous css classes have been applied. so the\n // complex set of setTimeout below creates the animation\n window.setTimeout(function () {\n if (refreshCountCopy !== _this.refreshCount) {\n return;\n }\n _this.ePrevious.classList.add('ag-value-slide-out-end');\n }, 50);\n window.setTimeout(function () {\n if (refreshCountCopy !== _this.refreshCount) {\n return;\n }\n _this.getGui().removeChild(_this.ePrevious);\n _this.ePrevious = null;\n }, 3000);\n };\n AnimateSlideCellRenderer.prototype.refresh = function (params) {\n var value = params.value;\n if (missing(value)) {\n value = '';\n }\n if (value === this.lastValue) {\n return false;\n }\n // we don't show the delta if we are in the middle of a filter. see comment on FilterManager\n // with regards processingFilterChange\n if (this.filterManager.isSuppressFlashingCellsBecauseFiltering()) {\n return false;\n }\n this.addSlideAnimation();\n this.lastValue = value;\n if (exists(params.valueFormatted)) {\n this.eCurrent.innerHTML = params.valueFormatted;\n }\n else if (exists(params.value)) {\n this.eCurrent.innerHTML = value;\n }\n else {\n clearElement(this.eCurrent);\n }\n return true;\n };\n AnimateSlideCellRenderer.TEMPLATE = \"\\n \\n \";\n __decorate$w([\n Autowired('filterManager')\n ], AnimateSlideCellRenderer.prototype, \"filterManager\", void 0);\n return AnimateSlideCellRenderer;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\n(function (RowHighlightPosition) {\n RowHighlightPosition[RowHighlightPosition[\"Above\"] = 0] = \"Above\";\n RowHighlightPosition[RowHighlightPosition[\"Below\"] = 1] = \"Below\";\n})(exports.RowHighlightPosition || (exports.RowHighlightPosition = {}));\nvar RowNode = /** @class */ (function () {\n function RowNode(beans) {\n /** The current row index. If the row is filtered out or in a collapsed group, this value will be `null`. */\n this.rowIndex = null;\n /** The key for the group eg Ireland, UK, USA */\n this.key = null;\n /** Children mapped by the pivot columns. */\n this.childrenMapped = {};\n /**\n * This will be `true` if it has a rowIndex assigned, otherwise `false`.\n */\n this.displayed = false;\n /** The row top position in pixels. */\n this.rowTop = null;\n /** The top pixel for this row last time, makes sense if data set was ordered or filtered,\n * it is used so new rows can animate in from their old position. */\n this.oldRowTop = null;\n /** `true` by default - can be overridden via gridOptions.isRowSelectable(rowNode) */\n this.selectable = true;\n /** Used by sorting service - to give deterministic sort to groups. Previously we\n * just id for this, however id is a string and had slower sorting compared to numbers. */\n this.__objectId = RowNode.OBJECT_ID_SEQUENCE++;\n /** When one or more Columns are using autoHeight, this keeps track of height of each autoHeight Cell,\n * indexed by the Column ID. */\n this.__autoHeights = {};\n /** `true` when nodes with the same id are being removed and added as part of the same batch transaction */\n this.alreadyRendered = false;\n this.highlighted = null;\n this.selected = false;\n this.onRowHeightChangedDebounced = debounce(this.onRowHeightChanged.bind(this), 100);\n this.beans = beans;\n }\n /** Replaces the data on the `rowNode`. When complete, the grid will refresh the the entire rendered row if it is showing. */\n RowNode.prototype.setData = function (data) {\n this.setDataCommon(data, false);\n };\n // similar to setRowData, however it is expected that the data is the same data item. this\n // is intended to be used with Redux type stores, where the whole data can be changed. we are\n // guaranteed that the data is the same entity (so grid doesn't need to worry about the id of the\n // underlying data changing, hence doesn't need to worry about selection). the grid, upon receiving\n // dataChanged event, will refresh the cells rather than rip them all out (so user can show transitions).\n RowNode.prototype.updateData = function (data) {\n this.setDataCommon(data, true);\n };\n RowNode.prototype.setDataCommon = function (data, update) {\n var oldData = this.data;\n this.data = data;\n this.beans.valueCache.onDataChanged();\n this.updateDataOnDetailNode();\n this.checkRowSelectable();\n var event = this.createDataChangedEvent(data, oldData, update);\n this.dispatchLocalEvent(event);\n };\n // when we are doing master / detail, the detail node is lazy created, but then kept around.\n // so if we show / hide the detail, the same detail rowNode is used. so we need to keep the data\n // in sync, otherwise expand/collapse of the detail would still show the old values.\n RowNode.prototype.updateDataOnDetailNode = function () {\n if (this.detailNode) {\n this.detailNode.data = this.data;\n }\n };\n RowNode.prototype.createDataChangedEvent = function (newData, oldData, update) {\n return {\n type: RowNode.EVENT_DATA_CHANGED,\n node: this,\n oldData: oldData,\n newData: newData,\n update: update\n };\n };\n RowNode.prototype.createLocalRowEvent = function (type) {\n return {\n type: type,\n node: this\n };\n };\n RowNode.prototype.getRowIndexString = function () {\n if (this.rowPinned === Constants.PINNED_TOP) {\n return 't-' + this.rowIndex;\n }\n if (this.rowPinned === Constants.PINNED_BOTTOM) {\n return 'b-' + this.rowIndex;\n }\n return this.rowIndex.toString();\n };\n RowNode.prototype.createDaemonNode = function () {\n var oldNode = new RowNode(this.beans);\n // just copy the id and data, this is enough for the node to be used\n // in the selection controller (the selection controller is the only\n // place where daemon nodes can live).\n oldNode.id = this.id;\n oldNode.data = this.data;\n oldNode.daemon = true;\n oldNode.selected = this.selected;\n oldNode.level = this.level;\n return oldNode;\n };\n RowNode.prototype.setDataAndId = function (data, id) {\n var oldNode = exists(this.id) ? this.createDaemonNode() : null;\n var oldData = this.data;\n this.data = data;\n this.updateDataOnDetailNode();\n this.setId(id);\n this.beans.selectionService.syncInRowNode(this, oldNode);\n this.checkRowSelectable();\n var event = this.createDataChangedEvent(data, oldData, false);\n this.dispatchLocalEvent(event);\n };\n RowNode.prototype.checkRowSelectable = function () {\n var isRowSelectableFunc = this.beans.gridOptionsWrapper.getIsRowSelectableFunc();\n this.setRowSelectable(isRowSelectableFunc ? isRowSelectableFunc(this) : true);\n };\n RowNode.prototype.setRowSelectable = function (newVal) {\n if (this.selectable !== newVal) {\n this.selectable = newVal;\n if (this.eventService) {\n this.eventService.dispatchEvent(this.createLocalRowEvent(RowNode.EVENT_SELECTABLE_CHANGED));\n }\n }\n };\n RowNode.prototype.setId = function (id) {\n // see if user is providing the id's\n var getRowIdFunc = this.beans.gridOptionsWrapper.getRowIdFunc();\n if (getRowIdFunc) {\n // if user is providing the id's, then we set the id only after the data has been set.\n // this is important for virtual pagination and viewport, where empty rows exist.\n if (this.data) {\n // we pass 'true' as we skip this level when generating keys,\n // as we don't always have the key for this level (eg when updating\n // data via transaction on SSRM, we are getting key to look up the\n // RowNode, don't have the RowNode yet, thus no way to get the current key)\n var parentKeys = this.getGroupKeys(true);\n this.id = getRowIdFunc({\n data: this.data,\n parentKeys: parentKeys.length > 0 ? parentKeys : undefined,\n level: this.level\n });\n // make sure id provided doesn't start with 'row-group-' as this is reserved. also check that\n // it has 'startsWith' in case the user provided a number.\n if (this.id !== null && typeof this.id === 'string' && this.id.startsWith(RowNode.ID_PREFIX_ROW_GROUP)) {\n console.error(\"AG Grid: Row IDs cannot start with \" + RowNode.ID_PREFIX_ROW_GROUP + \", this is a reserved prefix for AG Grid's row grouping feature.\");\n }\n // force id to be a string\n if (this.id !== null && typeof this.id !== 'string') {\n this.id = '' + this.id;\n }\n }\n else {\n // this can happen if user has set blank into the rowNode after the row previously\n // having data. this happens in virtual page row model, when data is delete and\n // the page is refreshed.\n this.id = undefined;\n }\n }\n else {\n this.id = id;\n }\n };\n RowNode.prototype.getGroupKeys = function (excludeSelf) {\n if (excludeSelf === void 0) { excludeSelf = false; }\n var keys = [];\n var pointer = this;\n if (excludeSelf) {\n pointer = pointer.parent;\n }\n while (pointer && pointer.level >= 0) {\n keys.push(pointer.key);\n pointer = pointer.parent;\n }\n keys.reverse();\n return keys;\n };\n RowNode.prototype.isPixelInRange = function (pixel) {\n if (!exists(this.rowTop) || !exists(this.rowHeight)) {\n return false;\n }\n return pixel >= this.rowTop && pixel < (this.rowTop + this.rowHeight);\n };\n RowNode.prototype.setFirstChild = function (firstChild) {\n if (this.firstChild === firstChild) {\n return;\n }\n this.firstChild = firstChild;\n if (this.eventService) {\n this.eventService.dispatchEvent(this.createLocalRowEvent(RowNode.EVENT_FIRST_CHILD_CHANGED));\n }\n };\n RowNode.prototype.setLastChild = function (lastChild) {\n if (this.lastChild === lastChild) {\n return;\n }\n this.lastChild = lastChild;\n if (this.eventService) {\n this.eventService.dispatchEvent(this.createLocalRowEvent(RowNode.EVENT_LAST_CHILD_CHANGED));\n }\n };\n RowNode.prototype.setChildIndex = function (childIndex) {\n if (this.childIndex === childIndex) {\n return;\n }\n this.childIndex = childIndex;\n if (this.eventService) {\n this.eventService.dispatchEvent(this.createLocalRowEvent(RowNode.EVENT_CHILD_INDEX_CHANGED));\n }\n };\n RowNode.prototype.setRowTop = function (rowTop) {\n this.oldRowTop = this.rowTop;\n if (this.rowTop === rowTop) {\n return;\n }\n this.rowTop = rowTop;\n if (this.eventService) {\n this.eventService.dispatchEvent(this.createLocalRowEvent(RowNode.EVENT_TOP_CHANGED));\n }\n this.setDisplayed(rowTop !== null);\n };\n RowNode.prototype.clearRowTopAndRowIndex = function () {\n this.oldRowTop = null;\n this.setRowTop(null);\n this.setRowIndex(null);\n };\n RowNode.prototype.setDisplayed = function (displayed) {\n if (this.displayed === displayed) {\n return;\n }\n this.displayed = displayed;\n if (this.eventService) {\n this.eventService.dispatchEvent(this.createLocalRowEvent(RowNode.EVENT_DISPLAYED_CHANGED));\n }\n };\n RowNode.prototype.setDragging = function (dragging) {\n if (this.dragging === dragging) {\n return;\n }\n this.dragging = dragging;\n if (this.eventService) {\n this.eventService.dispatchEvent(this.createLocalRowEvent(RowNode.EVENT_DRAGGING_CHANGED));\n }\n };\n RowNode.prototype.setHighlighted = function (highlighted) {\n if (highlighted === this.highlighted) {\n return;\n }\n this.highlighted = highlighted;\n if (this.eventService) {\n this.eventService.dispatchEvent(this.createLocalRowEvent(RowNode.EVENT_HIGHLIGHT_CHANGED));\n }\n };\n RowNode.prototype.setAllChildrenCount = function (allChildrenCount) {\n if (this.allChildrenCount === allChildrenCount) {\n return;\n }\n this.allChildrenCount = allChildrenCount;\n if (this.eventService) {\n this.eventService.dispatchEvent(this.createLocalRowEvent(RowNode.EVENT_ALL_CHILDREN_COUNT_CHANGED));\n }\n };\n RowNode.prototype.setMaster = function (master) {\n if (this.master === master) {\n return;\n }\n // if changing AWAY from master, then unexpand, otherwise\n // next time it's shown it is expanded again\n if (this.master && !master) {\n this.expanded = false;\n }\n this.master = master;\n if (this.eventService) {\n this.eventService.dispatchEvent(this.createLocalRowEvent(RowNode.EVENT_MASTER_CHANGED));\n }\n };\n RowNode.prototype.setGroup = function (group) {\n if (this.group === group) {\n return;\n }\n // if we used to be a group, and no longer, then close the node\n if (this.group && !group) {\n this.expanded = false;\n }\n this.group = group;\n this.updateHasChildren();\n if (this.eventService) {\n this.eventService.dispatchEvent(this.createLocalRowEvent(RowNode.EVENT_GROUP_CHANGED));\n }\n };\n /**\n * Sets the row height.\n * Call if you want to change the height initially assigned to the row.\n * After calling, you must call `api.onRowHeightChanged()` so the grid knows it needs to work out the placement of the rows. */\n RowNode.prototype.setRowHeight = function (rowHeight, estimated) {\n if (estimated === void 0) { estimated = false; }\n this.rowHeight = rowHeight;\n this.rowHeightEstimated = estimated;\n if (this.eventService) {\n this.eventService.dispatchEvent(this.createLocalRowEvent(RowNode.EVENT_HEIGHT_CHANGED));\n }\n };\n RowNode.prototype.setRowAutoHeight = function (cellHeight, column) {\n if (!this.__autoHeights) {\n this.__autoHeights = {};\n }\n var autoHeights = this.__autoHeights;\n autoHeights[column.getId()] = cellHeight;\n if (cellHeight != null) {\n if (this.checkAutoHeightsDebounced == null) {\n this.checkAutoHeightsDebounced = debounce(this.checkAutoHeights.bind(this), 1);\n }\n this.checkAutoHeightsDebounced();\n }\n };\n RowNode.prototype.checkAutoHeights = function () {\n var notAllPresent = false;\n var nonePresent = true;\n var newRowHeight = 0;\n var autoHeights = this.__autoHeights;\n if (autoHeights == null) {\n return;\n }\n var displayedAutoHeightCols = this.beans.columnModel.getAllDisplayedAutoHeightCols();\n displayedAutoHeightCols.forEach(function (col) {\n var cellHeight = autoHeights[col.getId()];\n if (cellHeight == null) {\n notAllPresent = true;\n return;\n }\n nonePresent = false;\n if (cellHeight > newRowHeight) {\n newRowHeight = cellHeight;\n }\n });\n if (notAllPresent) {\n return;\n }\n // we take min of 10, so we don't adjust for empty rows. if <10, we put to default.\n // this prevents the row starting very small when waiting for async components,\n // which would then mean the grid squashes in far to many rows (as small heights\n // means more rows fit in) which looks crap. so best ignore small values and assume\n // we are still waiting for values to render.\n if (nonePresent || newRowHeight < 10) {\n newRowHeight = this.beans.gridOptionsWrapper.getRowHeightForNode(this).height;\n }\n if (newRowHeight == this.rowHeight) {\n return;\n }\n this.setRowHeight(newRowHeight);\n this.onRowHeightChangedDebounced();\n };\n /** This method is debounced. It is used for row auto-height. If we don't debounce,\n * then the Row Models will end up recalculating each row position\n * for each row height change and result in the Row Renderer laying out rows.\n * This is particularly bad if using print layout, and showing eg 1,000 rows,\n * each row will change it's height, causing Row Model to update 1,000 times.\n */\n RowNode.prototype.onRowHeightChanged = function () {\n var rowModel = this.beans.rowModel;\n if (rowModel.onRowHeightChanged) {\n rowModel.onRowHeightChanged();\n }\n };\n RowNode.prototype.setRowIndex = function (rowIndex) {\n if (this.rowIndex === rowIndex) {\n return;\n }\n this.rowIndex = rowIndex;\n if (this.eventService) {\n this.eventService.dispatchEvent(this.createLocalRowEvent(RowNode.EVENT_ROW_INDEX_CHANGED));\n }\n };\n RowNode.prototype.setUiLevel = function (uiLevel) {\n if (this.uiLevel === uiLevel) {\n return;\n }\n this.uiLevel = uiLevel;\n if (this.eventService) {\n this.eventService.dispatchEvent(this.createLocalRowEvent(RowNode.EVENT_UI_LEVEL_CHANGED));\n }\n };\n RowNode.prototype.setExpanded = function (expanded, e) {\n if (this.expanded === expanded) {\n return;\n }\n this.expanded = expanded;\n if (this.eventService) {\n this.eventService.dispatchEvent(this.createLocalRowEvent(RowNode.EVENT_EXPANDED_CHANGED));\n }\n var event = Object.assign({}, this.createGlobalRowEvent(Events.EVENT_ROW_GROUP_OPENED), {\n expanded: expanded,\n event: e || null\n });\n this.beans.rowNodeEventThrottle.dispatchExpanded(event);\n // when using footers we need to refresh the group row, as the aggregation\n // values jump between group and footer\n if (this.beans.gridOptionsWrapper.isGroupIncludeFooter()) {\n this.beans.rowRenderer.refreshCells({ rowNodes: [this] });\n }\n };\n RowNode.prototype.createGlobalRowEvent = function (type) {\n return {\n type: type,\n node: this,\n data: this.data,\n rowIndex: this.rowIndex,\n rowPinned: this.rowPinned,\n context: this.beans.gridOptionsWrapper.getContext(),\n api: this.beans.gridOptionsWrapper.getApi(),\n columnApi: this.beans.gridOptionsWrapper.getColumnApi()\n };\n };\n RowNode.prototype.dispatchLocalEvent = function (event) {\n if (this.eventService) {\n this.eventService.dispatchEvent(event);\n }\n };\n /**\n * Replaces the value on the `rowNode` for the specified column. When complete,\n * the grid will refresh the rendered cell on the required row only.\n *\n * @param colKey The column where the value should be updated\n * @param newValue The new value\n * @param eventSource The source of the event\n * @returns `True` if the value was changed, otherwise `False`.\n */\n RowNode.prototype.setDataValue = function (colKey, newValue, eventSource) {\n // When it is done via the editors, no 'cell changed' event gets fired, as it's assumed that\n // the cell knows about the change given it's in charge of the editing.\n // this method is for the client to call, so the cell listens for the change\n // event, and also flashes the cell when the change occurs.\n var column = this.beans.columnModel.getPrimaryColumn(colKey);\n var oldValue = this.beans.valueService.getValue(column, this);\n var valueChanged = this.beans.valueService.setValue(this, column, newValue, eventSource);\n this.dispatchCellChangedEvent(column, newValue, oldValue);\n return valueChanged;\n };\n RowNode.prototype.setGroupValue = function (colKey, newValue) {\n var column = this.beans.columnModel.getGridColumn(colKey);\n if (missing(this.groupData)) {\n this.groupData = {};\n }\n var columnId = column.getColId();\n var oldValue = this.groupData[columnId];\n if (oldValue === newValue) {\n return;\n }\n this.groupData[columnId] = newValue;\n this.dispatchCellChangedEvent(column, newValue, oldValue);\n };\n // sets the data for an aggregation\n RowNode.prototype.setAggData = function (newAggData) {\n var _this = this;\n // find out all keys that could potentially change\n var colIds = getAllKeysInObjects([this.aggData, newAggData]);\n var oldAggData = this.aggData;\n this.aggData = newAggData;\n // if no event service, nobody has registered for events, so no need fire event\n if (this.eventService) {\n colIds.forEach(function (colId) {\n var column = _this.beans.columnModel.getGridColumn(colId);\n var value = _this.aggData ? _this.aggData[colId] : undefined;\n var oldValue = oldAggData ? oldAggData[colId] : undefined;\n _this.dispatchCellChangedEvent(column, value, oldValue);\n });\n }\n };\n RowNode.prototype.updateHasChildren = function () {\n // we need to return true when this.group=true, as this is used by server side row model\n // (as children are lazy loaded and stored in a cache anyway). otherwise we return true\n // if children exist.\n var newValue = (this.group && !this.footer) || (this.childrenAfterGroup && this.childrenAfterGroup.length > 0);\n if (newValue !== this.__hasChildren) {\n this.__hasChildren = !!newValue;\n if (this.eventService) {\n this.eventService.dispatchEvent(this.createLocalRowEvent(RowNode.EVENT_HAS_CHILDREN_CHANGED));\n }\n }\n };\n RowNode.prototype.hasChildren = function () {\n if (this.__hasChildren == null) {\n this.updateHasChildren();\n }\n return this.__hasChildren;\n };\n RowNode.prototype.isEmptyRowGroupNode = function () {\n return this.group && missingOrEmpty(this.childrenAfterGroup);\n };\n RowNode.prototype.dispatchCellChangedEvent = function (column, newValue, oldValue) {\n var cellChangedEvent = {\n type: RowNode.EVENT_CELL_CHANGED,\n node: this,\n column: column,\n newValue: newValue,\n oldValue: oldValue\n };\n this.dispatchLocalEvent(cellChangedEvent);\n };\n /**\n * The first time `quickFilter` runs, the grid creates a one-off string representation of the row.\n * This string is then used for the quick filter instead of hitting each column separately.\n * When you edit, using grid editing, this string gets cleared down.\n * However if you edit without using grid editing, you will need to clear this string down for the row to be updated with the new values.\n * Otherwise new values will not work with the `quickFilter`. */\n RowNode.prototype.resetQuickFilterAggregateText = function () {\n this.quickFilterAggregateText = null;\n };\n RowNode.prototype.isExpandable = function () {\n return (this.hasChildren() && !this.footer) || this.master ? true : false;\n };\n /** Returns:\n * - `true` if node is selected,\n * - `false` if the node isn't selected\n * - `undefined` if it's partially selected (group where not all children are selected). */\n RowNode.prototype.isSelected = function () {\n // for footers, we just return what our sibling selected state is, as cannot select a footer\n if (this.footer) {\n return this.sibling.isSelected();\n }\n return this.selected;\n };\n /** Perform a depth-first search of this node and its children. */\n RowNode.prototype.depthFirstSearch = function (callback) {\n if (this.childrenAfterGroup) {\n this.childrenAfterGroup.forEach(function (child) { return child.depthFirstSearch(callback); });\n }\n callback(this);\n };\n // + rowController.updateGroupsInSelection()\n // + selectionController.calculatedSelectedForAllGroupNodes()\n RowNode.prototype.calculateSelectedFromChildren = function () {\n var _a;\n var atLeastOneSelected = false;\n var atLeastOneDeSelected = false;\n var atLeastOneMixed = false;\n var newSelectedValue;\n if (!((_a = this.childrenAfterGroup) === null || _a === void 0 ? void 0 : _a.length)) {\n return;\n }\n for (var i = 0; i < this.childrenAfterGroup.length; i++) {\n var child = this.childrenAfterGroup[i];\n // skip non-selectable nodes to prevent inconsistent selection values\n if (!child.selectable) {\n continue;\n }\n var childState = child.isSelected();\n switch (childState) {\n case true:\n atLeastOneSelected = true;\n break;\n case false:\n atLeastOneDeSelected = true;\n break;\n default:\n atLeastOneMixed = true;\n break;\n }\n }\n if (atLeastOneMixed) {\n newSelectedValue = undefined;\n }\n else if (atLeastOneSelected && !atLeastOneDeSelected) {\n newSelectedValue = true;\n }\n else if (!atLeastOneSelected && atLeastOneDeSelected) {\n newSelectedValue = false;\n }\n else {\n newSelectedValue = undefined;\n }\n this.selectThisNode(newSelectedValue);\n };\n RowNode.prototype.setSelectedInitialValue = function (selected) {\n this.selected = selected;\n };\n /**\n * Select (or deselect) the node.\n * @param newValue -`true` for selection, `false` for deselection.\n * @param clearSelection - If selecting, then passing `true` will select the node exclusively (i.e. NOT do multi select). If doing deselection, `clearSelection` has no impact.\n * @param suppressFinishActions - Pass `true` to prevent the `selectionChanged` from being fired. Note that the `rowSelected` event will still be fired.\n */\n RowNode.prototype.setSelected = function (newValue, clearSelection, suppressFinishActions) {\n if (clearSelection === void 0) { clearSelection = false; }\n if (suppressFinishActions === void 0) { suppressFinishActions = false; }\n this.setSelectedParams({\n newValue: newValue,\n clearSelection: clearSelection,\n suppressFinishActions: suppressFinishActions,\n rangeSelect: false\n });\n };\n RowNode.prototype.isRowPinned = function () {\n return this.rowPinned === Constants.PINNED_TOP || this.rowPinned === Constants.PINNED_BOTTOM;\n };\n // to make calling code more readable, this is the same method as setSelected except it takes names parameters\n RowNode.prototype.setSelectedParams = function (params) {\n var _a;\n var groupSelectsChildren = this.beans.gridOptionsWrapper.isGroupSelectsChildren();\n var newValue = params.newValue === true;\n var clearSelection = params.clearSelection === true;\n var suppressFinishActions = params.suppressFinishActions === true;\n var rangeSelect = params.rangeSelect === true;\n // groupSelectsFiltered only makes sense when group selects children\n var groupSelectsFiltered = groupSelectsChildren && (params.groupSelectsFiltered === true);\n if (this.id === undefined) {\n console.warn('AG Grid: cannot select node until id for node is known');\n return 0;\n }\n if (this.rowPinned) {\n console.warn('AG Grid: cannot select pinned rows');\n return 0;\n }\n // if we are a footer, we don't do selection, just pass the info\n // to the sibling (the parent of the group)\n if (this.footer) {\n return this.sibling.setSelectedParams(params);\n }\n if (rangeSelect && this.beans.selectionService.getLastSelectedNode()) {\n var newRowClicked = this.beans.selectionService.getLastSelectedNode() !== this;\n var allowMultiSelect = this.beans.gridOptionsWrapper.isRowSelectionMulti();\n if (newRowClicked && allowMultiSelect) {\n var nodesChanged = this.doRowRangeSelection(params.newValue);\n this.beans.selectionService.setLastSelectedNode(this);\n return nodesChanged;\n }\n }\n var updatedCount = 0;\n // when groupSelectsFiltered, then this node may end up intermediate despite\n // trying to set it to true / false. this group will be calculated further on\n // down when we call calculatedSelectedForAllGroupNodes(). we need to skip it\n // here, otherwise the updatedCount would include it.\n var skipThisNode = groupSelectsFiltered && this.group;\n if (!skipThisNode) {\n var thisNodeWasSelected = this.selectThisNode(newValue);\n if (thisNodeWasSelected) {\n updatedCount++;\n }\n }\n if (groupSelectsChildren && ((_a = this.childrenAfterGroup) === null || _a === void 0 ? void 0 : _a.length)) {\n updatedCount += this.selectChildNodes(newValue, groupSelectsFiltered);\n }\n // clear other nodes if not doing multi select\n if (!suppressFinishActions) {\n var clearOtherNodes = newValue && (clearSelection || !this.beans.gridOptionsWrapper.isRowSelectionMulti());\n if (clearOtherNodes) {\n updatedCount += this.beans.selectionService.clearOtherNodes(this);\n }\n // only if we selected something, then update groups and fire events\n if (updatedCount > 0) {\n this.beans.selectionService.updateGroupsFromChildrenSelections();\n // this is the very end of the 'action node', so we are finished all the updates,\n // include any parent / child changes that this method caused\n var event_1 = {\n type: Events.EVENT_SELECTION_CHANGED,\n api: this.beans.gridApi,\n columnApi: this.beans.columnApi\n };\n this.beans.eventService.dispatchEvent(event_1);\n }\n // so if user next does shift-select, we know where to start the selection from\n if (newValue) {\n this.beans.selectionService.setLastSelectedNode(this);\n }\n }\n return updatedCount;\n };\n // selects all rows between this node and the last selected node (or the top if this is the first selection).\n // not to be mixed up with 'cell range selection' where you drag the mouse, this is row range selection, by\n // holding down 'shift'.\n RowNode.prototype.doRowRangeSelection = function (value) {\n var _this = this;\n if (value === void 0) { value = true; }\n var groupsSelectChildren = this.beans.gridOptionsWrapper.isGroupSelectsChildren();\n var lastSelectedNode = this.beans.selectionService.getLastSelectedNode();\n var nodesToSelect = this.beans.rowModel.getNodesInRangeForSelection(this, lastSelectedNode);\n var updatedCount = 0;\n nodesToSelect.forEach(function (rowNode) {\n if (rowNode.group && groupsSelectChildren || (value === false && _this === rowNode)) {\n return;\n }\n var nodeWasSelected = rowNode.selectThisNode(value);\n if (nodeWasSelected) {\n updatedCount++;\n }\n });\n this.beans.selectionService.updateGroupsFromChildrenSelections();\n var event = {\n type: Events.EVENT_SELECTION_CHANGED,\n api: this.beans.gridApi,\n columnApi: this.beans.columnApi\n };\n this.beans.eventService.dispatchEvent(event);\n return updatedCount;\n };\n RowNode.prototype.isParentOfNode = function (potentialParent) {\n var parentNode = this.parent;\n while (parentNode) {\n if (parentNode === potentialParent) {\n return true;\n }\n parentNode = parentNode.parent;\n }\n return false;\n };\n RowNode.prototype.selectThisNode = function (newValue) {\n // we only check selectable when newValue=true (ie selecting) to allow unselecting values,\n // as selectable is dynamic, need a way to unselect rows when selectable becomes false.\n var selectionNotAllowed = !this.selectable && newValue;\n var selectionNotChanged = this.selected === newValue;\n if (selectionNotAllowed || selectionNotChanged) {\n return false;\n }\n this.selected = newValue;\n if (this.eventService) {\n this.dispatchLocalEvent(this.createLocalRowEvent(RowNode.EVENT_ROW_SELECTED));\n }\n var event = this.createGlobalRowEvent(Events.EVENT_ROW_SELECTED);\n this.beans.eventService.dispatchEvent(event);\n return true;\n };\n RowNode.prototype.selectChildNodes = function (newValue, groupSelectsFiltered) {\n var children = groupSelectsFiltered ? this.childrenAfterAggFilter : this.childrenAfterGroup;\n if (missing(children)) {\n return 0;\n }\n var updatedCount = 0;\n for (var i = 0; i < children.length; i++) {\n updatedCount += children[i].setSelectedParams({\n newValue: newValue,\n clearSelection: false,\n suppressFinishActions: true,\n groupSelectsFiltered: groupSelectsFiltered\n });\n }\n return updatedCount;\n };\n /** Add an event listener. */\n RowNode.prototype.addEventListener = function (eventType, listener) {\n if (!this.eventService) {\n this.eventService = new EventService();\n }\n this.eventService.addEventListener(eventType, listener);\n };\n /** Remove event listener. */\n RowNode.prototype.removeEventListener = function (eventType, listener) {\n if (!this.eventService) {\n return;\n }\n this.eventService.removeEventListener(eventType, listener);\n if (this.eventService.noRegisteredListenersExist()) {\n this.eventService = null;\n }\n };\n RowNode.prototype.onMouseEnter = function () {\n this.dispatchLocalEvent(this.createLocalRowEvent(RowNode.EVENT_MOUSE_ENTER));\n };\n RowNode.prototype.onMouseLeave = function () {\n this.dispatchLocalEvent(this.createLocalRowEvent(RowNode.EVENT_MOUSE_LEAVE));\n };\n RowNode.prototype.getFirstChildOfFirstChild = function (rowGroupColumn) {\n var currentRowNode = this;\n var isCandidate = true;\n var foundFirstChildPath = false;\n var nodeToSwapIn = null;\n // if we are hiding groups, then if we are the first child, of the first child,\n // all the way up to the column we are interested in, then we show the group cell.\n while (isCandidate && !foundFirstChildPath) {\n var parentRowNode = currentRowNode.parent;\n var firstChild = exists(parentRowNode) && currentRowNode.firstChild;\n if (firstChild) {\n if (parentRowNode.rowGroupColumn === rowGroupColumn) {\n foundFirstChildPath = true;\n nodeToSwapIn = parentRowNode;\n }\n }\n else {\n isCandidate = false;\n }\n currentRowNode = parentRowNode;\n }\n return foundFirstChildPath ? nodeToSwapIn : null;\n };\n RowNode.prototype.isFullWidthCell = function () {\n var isFullWidthCellFunc = this.beans.gridOptionsWrapper.getIsFullWidthCellFunc();\n return isFullWidthCellFunc ? isFullWidthCellFunc({ rowNode: this }) : false;\n };\n /**\n * Returns the route of the row node. If the Row Node is a group, it returns the route to that Row Node.\n * If the Row Node is not a group, it returns `undefined`.\n */\n RowNode.prototype.getRoute = function () {\n if (this.key == null) {\n return;\n }\n var res = [];\n var pointer = this;\n while (pointer.key != null) {\n res.push(pointer.key);\n pointer = pointer.parent;\n }\n return res.reverse();\n };\n RowNode.ID_PREFIX_ROW_GROUP = 'row-group-';\n RowNode.ID_PREFIX_TOP_PINNED = 't-';\n RowNode.ID_PREFIX_BOTTOM_PINNED = 'b-';\n RowNode.OBJECT_ID_SEQUENCE = 0;\n RowNode.EVENT_ROW_SELECTED = 'rowSelected';\n RowNode.EVENT_DATA_CHANGED = 'dataChanged';\n RowNode.EVENT_CELL_CHANGED = 'cellChanged';\n RowNode.EVENT_ALL_CHILDREN_COUNT_CHANGED = 'allChildrenCountChanged';\n RowNode.EVENT_MASTER_CHANGED = 'masterChanged';\n RowNode.EVENT_GROUP_CHANGED = 'groupChanged';\n RowNode.EVENT_MOUSE_ENTER = 'mouseEnter';\n RowNode.EVENT_MOUSE_LEAVE = 'mouseLeave';\n RowNode.EVENT_HEIGHT_CHANGED = 'heightChanged';\n RowNode.EVENT_TOP_CHANGED = 'topChanged';\n RowNode.EVENT_DISPLAYED_CHANGED = 'displayedChanged';\n RowNode.EVENT_FIRST_CHILD_CHANGED = 'firstChildChanged';\n RowNode.EVENT_LAST_CHILD_CHANGED = 'lastChildChanged';\n RowNode.EVENT_CHILD_INDEX_CHANGED = 'childIndexChanged';\n RowNode.EVENT_ROW_INDEX_CHANGED = 'rowIndexChanged';\n RowNode.EVENT_EXPANDED_CHANGED = 'expandedChanged';\n RowNode.EVENT_HAS_CHILDREN_CHANGED = 'hasChildrenChanged';\n RowNode.EVENT_SELECTABLE_CHANGED = 'selectableChanged';\n RowNode.EVENT_UI_LEVEL_CHANGED = 'uiLevelChanged';\n RowNode.EVENT_HIGHLIGHT_CHANGED = 'rowHighlightChanged';\n RowNode.EVENT_DRAGGING_CHANGED = 'draggingChanged';\n return RowNode;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$B = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$x = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar CheckboxSelectionComponent = /** @class */ (function (_super) {\n __extends$B(CheckboxSelectionComponent, _super);\n function CheckboxSelectionComponent() {\n return _super.call(this, /* html*/ \"\\n
\\n \\n
\") || this;\n }\n CheckboxSelectionComponent.prototype.postConstruct = function () {\n this.eCheckbox.setPassive(true);\n };\n CheckboxSelectionComponent.prototype.getCheckboxId = function () {\n return this.eCheckbox.getInputElement().id;\n };\n CheckboxSelectionComponent.prototype.onDataChanged = function () {\n // when rows are loaded for the second time, this can impact the selection, as a row\n // could be loaded as already selected (if user scrolls down, and then up again).\n this.onSelectionChanged();\n };\n CheckboxSelectionComponent.prototype.onSelectableChanged = function () {\n this.showOrHideSelect();\n };\n CheckboxSelectionComponent.prototype.onSelectionChanged = function () {\n var translate = this.gridOptionsWrapper.getLocaleTextFunc();\n var state = this.rowNode.isSelected();\n var stateName = state === undefined\n ? translate('ariaIndeterminate', 'indeterminate')\n : (state === true\n ? translate('ariaChecked', 'checked')\n : translate('ariaUnchecked', 'unchecked'));\n var ariaLabel = translate('ariaRowToggleSelection', 'Press Space to toggle row selection');\n this.eCheckbox.setValue(state, true);\n this.eCheckbox.setInputAriaLabel(ariaLabel + \" (\" + stateName + \")\");\n };\n CheckboxSelectionComponent.prototype.onCheckedClicked = function (event) {\n var groupSelectsFiltered = this.gridOptionsWrapper.isGroupSelectsFiltered();\n var updatedCount = this.rowNode.setSelectedParams({ newValue: false, rangeSelect: event.shiftKey, groupSelectsFiltered: groupSelectsFiltered });\n return updatedCount;\n };\n CheckboxSelectionComponent.prototype.onUncheckedClicked = function (event) {\n var groupSelectsFiltered = this.gridOptionsWrapper.isGroupSelectsFiltered();\n var updatedCount = this.rowNode.setSelectedParams({ newValue: true, rangeSelect: event.shiftKey, groupSelectsFiltered: groupSelectsFiltered });\n return updatedCount;\n };\n CheckboxSelectionComponent.prototype.init = function (params) {\n var _this = this;\n this.rowNode = params.rowNode;\n this.column = params.column;\n this.onSelectionChanged();\n // we don't want the row clicked event to fire when selecting the checkbox, otherwise the row\n // would possibly get selected twice\n this.addGuiEventListener('click', function (event) { return stopPropagationForAgGrid(event); });\n // likewise we don't want double click on this icon to open a group\n this.addGuiEventListener('dblclick', function (event) { return stopPropagationForAgGrid(event); });\n this.addManagedListener(this.eCheckbox.getInputElement(), 'click', function (event) {\n var isSelected = _this.eCheckbox.getValue();\n var previousValue = _this.eCheckbox.getPreviousValue();\n if (previousValue === undefined || isSelected === undefined) {\n // Indeterminate state - try toggling children to determine action.\n var result = _this.onUncheckedClicked(event || {});\n if (result === 0) {\n _this.onCheckedClicked(event);\n }\n }\n else if (isSelected) {\n _this.onCheckedClicked(event);\n }\n else {\n _this.onUncheckedClicked(event || {});\n }\n });\n this.addManagedListener(this.rowNode, RowNode.EVENT_ROW_SELECTED, this.onSelectionChanged.bind(this));\n this.addManagedListener(this.rowNode, RowNode.EVENT_DATA_CHANGED, this.onDataChanged.bind(this));\n this.addManagedListener(this.rowNode, RowNode.EVENT_SELECTABLE_CHANGED, this.onSelectableChanged.bind(this));\n var isRowSelectableFunc = this.gridOptionsWrapper.getIsRowSelectableFunc();\n var checkboxVisibleIsDynamic = isRowSelectableFunc || this.checkboxCallbackExists();\n if (checkboxVisibleIsDynamic) {\n var showOrHideSelectListener = this.showOrHideSelect.bind(this);\n this.addManagedListener(this.eventService, Events.EVENT_DISPLAYED_COLUMNS_CHANGED, showOrHideSelectListener);\n this.addManagedListener(this.rowNode, RowNode.EVENT_DATA_CHANGED, showOrHideSelectListener);\n this.addManagedListener(this.rowNode, RowNode.EVENT_CELL_CHANGED, showOrHideSelectListener);\n this.showOrHideSelect();\n }\n this.eCheckbox.getInputElement().setAttribute('tabindex', '-1');\n };\n CheckboxSelectionComponent.prototype.showOrHideSelect = function () {\n // if the isRowSelectable() is not provided the row node is selectable by default\n var selectable = this.rowNode.selectable;\n // checkboxSelection callback is deemed a legacy solution however we will still consider it's result.\n // If selectable, then also check the colDef callback. if not selectable, this it short circuits - no need\n // to call the colDef callback.\n if (selectable && this.checkboxCallbackExists()) {\n selectable = this.column.isCellCheckboxSelection(this.rowNode);\n }\n // show checkbox if both conditions are true\n this.setVisible(selectable);\n };\n CheckboxSelectionComponent.prototype.checkboxCallbackExists = function () {\n // column will be missing if groupUseEntireRow=true\n var colDef = this.column ? this.column.getColDef() : null;\n return !!colDef && typeof colDef.checkboxSelection === 'function';\n };\n __decorate$x([\n RefSelector('eCheckbox')\n ], CheckboxSelectionComponent.prototype, \"eCheckbox\", void 0);\n __decorate$x([\n PostConstruct\n ], CheckboxSelectionComponent.prototype, \"postConstruct\", null);\n return CheckboxSelectionComponent;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$C = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$y = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __values$2 = (undefined && undefined.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n(function (DragSourceType) {\n DragSourceType[DragSourceType[\"ToolPanel\"] = 0] = \"ToolPanel\";\n DragSourceType[DragSourceType[\"HeaderCell\"] = 1] = \"HeaderCell\";\n DragSourceType[DragSourceType[\"RowDrag\"] = 2] = \"RowDrag\";\n DragSourceType[DragSourceType[\"ChartPanel\"] = 3] = \"ChartPanel\";\n})(exports.DragSourceType || (exports.DragSourceType = {}));\n(function (VerticalDirection) {\n VerticalDirection[VerticalDirection[\"Up\"] = 0] = \"Up\";\n VerticalDirection[VerticalDirection[\"Down\"] = 1] = \"Down\";\n})(exports.VerticalDirection || (exports.VerticalDirection = {}));\n(function (HorizontalDirection) {\n HorizontalDirection[HorizontalDirection[\"Left\"] = 0] = \"Left\";\n HorizontalDirection[HorizontalDirection[\"Right\"] = 1] = \"Right\";\n})(exports.HorizontalDirection || (exports.HorizontalDirection = {}));\nvar DragAndDropService = /** @class */ (function (_super) {\n __extends$C(DragAndDropService, _super);\n function DragAndDropService() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.dragSourceAndParamsList = [];\n _this.dropTargets = [];\n return _this;\n }\n DragAndDropService_1 = DragAndDropService;\n DragAndDropService.prototype.init = function () {\n this.ePinnedIcon = createIcon('columnMovePin', this.gridOptionsWrapper, null);\n this.eHideIcon = createIcon('columnMoveHide', this.gridOptionsWrapper, null);\n this.eMoveIcon = createIcon('columnMoveMove', this.gridOptionsWrapper, null);\n this.eLeftIcon = createIcon('columnMoveLeft', this.gridOptionsWrapper, null);\n this.eRightIcon = createIcon('columnMoveRight', this.gridOptionsWrapper, null);\n this.eGroupIcon = createIcon('columnMoveGroup', this.gridOptionsWrapper, null);\n this.eAggregateIcon = createIcon('columnMoveValue', this.gridOptionsWrapper, null);\n this.ePivotIcon = createIcon('columnMovePivot', this.gridOptionsWrapper, null);\n this.eDropNotAllowedIcon = createIcon('dropNotAllowed', this.gridOptionsWrapper, null);\n };\n DragAndDropService.prototype.addDragSource = function (dragSource, allowTouch) {\n if (allowTouch === void 0) { allowTouch = false; }\n var params = {\n eElement: dragSource.eElement,\n dragStartPixels: dragSource.dragStartPixels,\n onDragStart: this.onDragStart.bind(this, dragSource),\n onDragStop: this.onDragStop.bind(this),\n onDragging: this.onDragging.bind(this)\n };\n this.dragSourceAndParamsList.push({ params: params, dragSource: dragSource });\n this.dragService.addDragSource(params, allowTouch);\n };\n DragAndDropService.prototype.removeDragSource = function (dragSource) {\n var sourceAndParams = this.dragSourceAndParamsList.find(function (item) { return item.dragSource === dragSource; });\n if (sourceAndParams) {\n this.dragService.removeDragSource(sourceAndParams.params);\n removeFromArray(this.dragSourceAndParamsList, sourceAndParams);\n }\n };\n DragAndDropService.prototype.clearDragSourceParamsList = function () {\n var _this = this;\n this.dragSourceAndParamsList.forEach(function (sourceAndParams) { return _this.dragService.removeDragSource(sourceAndParams.params); });\n this.dragSourceAndParamsList.length = 0;\n };\n DragAndDropService.prototype.nudge = function () {\n if (this.dragging) {\n this.onDragging(this.eventLastTime, true);\n }\n };\n DragAndDropService.prototype.onDragStart = function (dragSource, mouseEvent) {\n this.dragging = true;\n this.dragSource = dragSource;\n this.eventLastTime = mouseEvent;\n this.dragItem = this.dragSource.getDragItem();\n this.lastDropTarget = this.dragSource.dragSourceDropTarget;\n if (this.dragSource.onDragStarted) {\n this.dragSource.onDragStarted();\n }\n this.createGhost();\n };\n DragAndDropService.prototype.onDragStop = function (mouseEvent) {\n this.eventLastTime = null;\n this.dragging = false;\n if (this.dragSource.onDragStopped) {\n this.dragSource.onDragStopped();\n }\n if (this.lastDropTarget && this.lastDropTarget.onDragStop) {\n var draggingEvent = this.createDropTargetEvent(this.lastDropTarget, mouseEvent, null, null, false);\n this.lastDropTarget.onDragStop(draggingEvent);\n }\n this.lastDropTarget = null;\n this.dragItem = null;\n this.removeGhost();\n };\n DragAndDropService.prototype.onDragging = function (mouseEvent, fromNudge) {\n var _this = this;\n var hDirection = this.getHorizontalDirection(mouseEvent);\n var vDirection = this.getVerticalDirection(mouseEvent);\n this.eventLastTime = mouseEvent;\n this.positionGhost(mouseEvent);\n // check if mouseEvent intersects with any of the drop targets\n var validDropTargets = this.dropTargets.filter(function (target) { return _this.isMouseOnDropTarget(mouseEvent, target); });\n var len = validDropTargets.length;\n var dropTarget = null;\n if (len > 0) {\n dropTarget = len === 1\n ? validDropTargets[0]\n // the current mouse position could intersect with more than 1 element\n // if they are nested. In that case we need to get the most specific\n // container, which is the one that does not contain any other targets.\n : validDropTargets.reduce(function (prevTarget, currTarget) {\n if (!prevTarget) {\n return currTarget;\n }\n var prevContainer = prevTarget.getContainer();\n var currContainer = currTarget.getContainer();\n if (prevContainer.contains(currContainer)) {\n return currTarget;\n }\n return prevTarget;\n });\n }\n if (dropTarget !== this.lastDropTarget) {\n this.leaveLastTargetIfExists(mouseEvent, hDirection, vDirection, fromNudge);\n this.enterDragTargetIfExists(dropTarget, mouseEvent, hDirection, vDirection, fromNudge);\n this.lastDropTarget = dropTarget;\n }\n else if (dropTarget && dropTarget.onDragging) {\n var draggingEvent = this.createDropTargetEvent(dropTarget, mouseEvent, hDirection, vDirection, fromNudge);\n dropTarget.onDragging(draggingEvent);\n }\n };\n DragAndDropService.prototype.enterDragTargetIfExists = function (dropTarget, mouseEvent, hDirection, vDirection, fromNudge) {\n if (!dropTarget) {\n return;\n }\n if (dropTarget.onDragEnter) {\n var dragEnterEvent = this.createDropTargetEvent(dropTarget, mouseEvent, hDirection, vDirection, fromNudge);\n dropTarget.onDragEnter(dragEnterEvent);\n }\n this.setGhostIcon(dropTarget.getIconName ? dropTarget.getIconName() : null);\n };\n DragAndDropService.prototype.leaveLastTargetIfExists = function (mouseEvent, hDirection, vDirection, fromNudge) {\n if (!this.lastDropTarget) {\n return;\n }\n if (this.lastDropTarget.onDragLeave) {\n var dragLeaveEvent = this.createDropTargetEvent(this.lastDropTarget, mouseEvent, hDirection, vDirection, fromNudge);\n this.lastDropTarget.onDragLeave(dragLeaveEvent);\n }\n this.setGhostIcon(null);\n };\n DragAndDropService.prototype.getAllContainersFromDropTarget = function (dropTarget) {\n var secondaryContainers = dropTarget.getSecondaryContainers ? dropTarget.getSecondaryContainers() : null;\n var containers = [[dropTarget.getContainer()]];\n return secondaryContainers ? containers.concat(secondaryContainers) : containers;\n };\n DragAndDropService.prototype.allContainersIntersect = function (mouseEvent, containers) {\n var e_1, _a;\n try {\n for (var containers_1 = __values$2(containers), containers_1_1 = containers_1.next(); !containers_1_1.done; containers_1_1 = containers_1.next()) {\n var container = containers_1_1.value;\n var rect = container.getBoundingClientRect();\n // if element is not visible, then width and height are zero\n if (rect.width === 0 || rect.height === 0) {\n return false;\n }\n var horizontalFit = mouseEvent.clientX >= rect.left && mouseEvent.clientX < rect.right;\n var verticalFit = mouseEvent.clientY >= rect.top && mouseEvent.clientY < rect.bottom;\n if (!horizontalFit || !verticalFit) {\n return false;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (containers_1_1 && !containers_1_1.done && (_a = containers_1.return)) _a.call(containers_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return true;\n };\n // checks if the mouse is on the drop target. it checks eContainer and eSecondaryContainers\n DragAndDropService.prototype.isMouseOnDropTarget = function (mouseEvent, dropTarget) {\n var e_2, _a;\n var allContainersFromDropTarget = this.getAllContainersFromDropTarget(dropTarget);\n var mouseOverTarget = false;\n try {\n for (var allContainersFromDropTarget_1 = __values$2(allContainersFromDropTarget), allContainersFromDropTarget_1_1 = allContainersFromDropTarget_1.next(); !allContainersFromDropTarget_1_1.done; allContainersFromDropTarget_1_1 = allContainersFromDropTarget_1.next()) {\n var currentContainers = allContainersFromDropTarget_1_1.value;\n if (this.allContainersIntersect(mouseEvent, currentContainers)) {\n mouseOverTarget = true;\n break;\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (allContainersFromDropTarget_1_1 && !allContainersFromDropTarget_1_1.done && (_a = allContainersFromDropTarget_1.return)) _a.call(allContainersFromDropTarget_1);\n }\n finally { if (e_2) throw e_2.error; }\n }\n if (dropTarget.targetContainsSource && !dropTarget.getContainer().contains(this.dragSource.eElement)) {\n return false;\n }\n return mouseOverTarget && dropTarget.isInterestedIn(this.dragSource.type, this.dragSource.eElement);\n };\n DragAndDropService.prototype.addDropTarget = function (dropTarget) {\n this.dropTargets.push(dropTarget);\n };\n DragAndDropService.prototype.removeDropTarget = function (dropTarget) {\n this.dropTargets = this.dropTargets.filter(function (target) { return target.getContainer() !== dropTarget.getContainer(); });\n };\n DragAndDropService.prototype.hasExternalDropZones = function () {\n return this.dropTargets.some(function (zones) { return zones.external; });\n };\n DragAndDropService.prototype.findExternalZone = function (params) {\n var externalTargets = this.dropTargets.filter(function (target) { return target.external; });\n return externalTargets.find(function (zone) { return zone.getContainer() === params.getContainer(); }) || null;\n };\n DragAndDropService.prototype.getHorizontalDirection = function (event) {\n var clientX = this.eventLastTime && this.eventLastTime.clientX;\n var eClientX = event.clientX;\n if (clientX === eClientX) {\n return null;\n }\n return clientX > eClientX ? exports.HorizontalDirection.Left : exports.HorizontalDirection.Right;\n };\n DragAndDropService.prototype.getVerticalDirection = function (event) {\n var clientY = this.eventLastTime && this.eventLastTime.clientY;\n var eClientY = event.clientY;\n if (clientY === eClientY) {\n return null;\n }\n return clientY > eClientY ? exports.VerticalDirection.Up : exports.VerticalDirection.Down;\n };\n DragAndDropService.prototype.createDropTargetEvent = function (dropTarget, event, hDirection, vDirection, fromNudge) {\n // localise x and y to the target\n var dropZoneTarget = dropTarget.getContainer();\n var rect = dropZoneTarget.getBoundingClientRect();\n var _a = this, api = _a.gridApi, columnApi = _a.columnApi, dragItem = _a.dragItem, dragSource = _a.dragSource;\n var x = event.clientX - rect.left;\n var y = event.clientY - rect.top;\n return { event: event, x: x, y: y, vDirection: vDirection, hDirection: hDirection, dragSource: dragSource, fromNudge: fromNudge, dragItem: dragItem, api: api, columnApi: columnApi, dropZoneTarget: dropZoneTarget };\n };\n DragAndDropService.prototype.positionGhost = function (event) {\n var ghost = this.eGhost;\n if (!ghost) {\n return;\n }\n var ghostRect = ghost.getBoundingClientRect();\n var ghostHeight = ghostRect.height;\n // for some reason, without the '-2', it still overlapped by 1 or 2 pixels, which\n // then brought in scrollbars to the browser. no idea why, but putting in -2 here\n // works around it which is good enough for me.\n var browserWidth = getBodyWidth() - 2;\n var browserHeight = getBodyHeight() - 2;\n var top = event.pageY - (ghostHeight / 2);\n var left = event.pageX - 10;\n var eDocument = this.gridOptionsWrapper.getDocument();\n var win = (eDocument.defaultView || window);\n var windowScrollY = win.pageYOffset || eDocument.documentElement.scrollTop;\n var windowScrollX = win.pageXOffset || eDocument.documentElement.scrollLeft;\n // check ghost is not positioned outside of the browser\n if (browserWidth > 0 && ((left + ghost.clientWidth) > (browserWidth + windowScrollX))) {\n left = browserWidth + windowScrollX - ghost.clientWidth;\n }\n if (left < 0) {\n left = 0;\n }\n if (browserHeight > 0 && ((top + ghost.clientHeight) > (browserHeight + windowScrollY))) {\n top = browserHeight + windowScrollY - ghost.clientHeight;\n }\n if (top < 0) {\n top = 0;\n }\n ghost.style.left = left + \"px\";\n ghost.style.top = top + \"px\";\n };\n DragAndDropService.prototype.removeGhost = function () {\n if (this.eGhost && this.eGhostParent) {\n this.eGhostParent.removeChild(this.eGhost);\n }\n this.eGhost = null;\n };\n DragAndDropService.prototype.createGhost = function () {\n this.eGhost = loadTemplate(DragAndDropService_1.GHOST_TEMPLATE);\n var theme = this.environment.getTheme().theme;\n if (theme) {\n this.eGhost.classList.add(theme);\n }\n this.eGhostIcon = this.eGhost.querySelector('.ag-dnd-ghost-icon');\n this.setGhostIcon(null);\n var eText = this.eGhost.querySelector('.ag-dnd-ghost-label');\n var dragItemName = this.dragSource.dragItemName;\n if (isFunction(dragItemName)) {\n dragItemName = dragItemName();\n }\n eText.innerHTML = escapeString(dragItemName) || '';\n this.eGhost.style.height = '25px';\n this.eGhost.style.top = '20px';\n this.eGhost.style.left = '20px';\n var eDocument = this.gridOptionsWrapper.getDocument();\n var targetEl = null;\n try {\n targetEl = eDocument.fullscreenElement;\n }\n catch (e) {\n // some environments like SalesForce will throw errors\n // simply by trying to read the fullscreenElement property\n }\n finally {\n if (!targetEl) {\n targetEl = eDocument.querySelector('body');\n }\n }\n this.eGhostParent = targetEl;\n if (!this.eGhostParent) {\n console.warn('AG Grid: could not find document body, it is needed for dragging columns');\n }\n else {\n this.eGhostParent.appendChild(this.eGhost);\n }\n };\n DragAndDropService.prototype.setGhostIcon = function (iconName, shake) {\n if (shake === void 0) { shake = false; }\n clearElement(this.eGhostIcon);\n var eIcon = null;\n if (!iconName) {\n iconName = this.dragSource.defaultIconName || DragAndDropService_1.ICON_NOT_ALLOWED;\n }\n switch (iconName) {\n case DragAndDropService_1.ICON_PINNED:\n eIcon = this.ePinnedIcon;\n break;\n case DragAndDropService_1.ICON_MOVE:\n eIcon = this.eMoveIcon;\n break;\n case DragAndDropService_1.ICON_LEFT:\n eIcon = this.eLeftIcon;\n break;\n case DragAndDropService_1.ICON_RIGHT:\n eIcon = this.eRightIcon;\n break;\n case DragAndDropService_1.ICON_GROUP:\n eIcon = this.eGroupIcon;\n break;\n case DragAndDropService_1.ICON_AGGREGATE:\n eIcon = this.eAggregateIcon;\n break;\n case DragAndDropService_1.ICON_PIVOT:\n eIcon = this.ePivotIcon;\n break;\n case DragAndDropService_1.ICON_NOT_ALLOWED:\n eIcon = this.eDropNotAllowedIcon;\n break;\n case DragAndDropService_1.ICON_HIDE:\n eIcon = this.eHideIcon;\n break;\n }\n this.eGhostIcon.classList.toggle('ag-shake-left-to-right', shake);\n if (eIcon === this.eHideIcon && this.gridOptionsWrapper.isSuppressDragLeaveHidesColumns()) {\n return;\n }\n if (eIcon) {\n this.eGhostIcon.appendChild(eIcon);\n }\n };\n var DragAndDropService_1;\n DragAndDropService.ICON_PINNED = 'pinned';\n DragAndDropService.ICON_MOVE = 'move';\n DragAndDropService.ICON_LEFT = 'left';\n DragAndDropService.ICON_RIGHT = 'right';\n DragAndDropService.ICON_GROUP = 'group';\n DragAndDropService.ICON_AGGREGATE = 'aggregate';\n DragAndDropService.ICON_PIVOT = 'pivot';\n DragAndDropService.ICON_NOT_ALLOWED = 'notAllowed';\n DragAndDropService.ICON_HIDE = 'hide';\n DragAndDropService.GHOST_TEMPLATE = \"
\\n \\n
\\n
\";\n __decorate$y([\n Autowired('dragService')\n ], DragAndDropService.prototype, \"dragService\", void 0);\n __decorate$y([\n Autowired('environment')\n ], DragAndDropService.prototype, \"environment\", void 0);\n __decorate$y([\n Autowired('columnApi')\n ], DragAndDropService.prototype, \"columnApi\", void 0);\n __decorate$y([\n Autowired('gridApi')\n ], DragAndDropService.prototype, \"gridApi\", void 0);\n __decorate$y([\n PostConstruct\n ], DragAndDropService.prototype, \"init\", null);\n __decorate$y([\n PreDestroy\n ], DragAndDropService.prototype, \"clearDragSourceParamsList\", null);\n DragAndDropService = DragAndDropService_1 = __decorate$y([\n Bean('dragAndDropService')\n ], DragAndDropService);\n return DragAndDropService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$D = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$z = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar RowDragComp = /** @class */ (function (_super) {\n __extends$D(RowDragComp, _super);\n function RowDragComp(cellValueFn, rowNode, column, customGui, dragStartPixels, suppressVisibilityChange) {\n var _this = _super.call(this) || this;\n _this.cellValueFn = cellValueFn;\n _this.rowNode = rowNode;\n _this.column = column;\n _this.customGui = customGui;\n _this.dragStartPixels = dragStartPixels;\n _this.suppressVisibilityChange = suppressVisibilityChange;\n _this.dragSource = null;\n return _this;\n }\n RowDragComp.prototype.isCustomGui = function () {\n return this.customGui != null;\n };\n RowDragComp.prototype.postConstruct = function () {\n if (!this.customGui) {\n this.setTemplate(/* html */ \"
\");\n this.getGui().appendChild(createIconNoSpan('rowDrag', this.beans.gridOptionsWrapper, null));\n this.addDragSource();\n }\n else {\n this.setDragElement(this.customGui, this.dragStartPixels);\n }\n this.checkCompatibility();\n if (!this.suppressVisibilityChange) {\n var strategy = this.beans.gridOptionsWrapper.isRowDragManaged() ?\n new ManagedVisibilityStrategy(this, this.beans, this.rowNode, this.column) :\n new NonManagedVisibilityStrategy(this, this.beans, this.rowNode, this.column);\n this.createManagedBean(strategy, this.beans.context);\n }\n };\n RowDragComp.prototype.setDragElement = function (dragElement, dragStartPixels) {\n this.setTemplateFromElement(dragElement);\n this.addDragSource(dragStartPixels);\n };\n RowDragComp.prototype.getSelectedCount = function () {\n var isRowDragMultiRow = this.beans.gridOptionsWrapper.isRowDragMultiRow();\n if (!isRowDragMultiRow) {\n return 1;\n }\n var selection = this.beans.selectionService.getSelectedNodes();\n return selection.indexOf(this.rowNode) !== -1 ? selection.length : 1;\n };\n // returns true if all compatibility items work out\n RowDragComp.prototype.checkCompatibility = function () {\n var managed = this.beans.gridOptionsWrapper.isRowDragManaged();\n var treeData = this.beans.gridOptionsWrapper.isTreeData();\n if (treeData && managed) {\n doOnce(function () {\n return console.warn('AG Grid: If using row drag with tree data, you cannot have rowDragManaged=true');\n }, 'RowDragComp.managedAndTreeData');\n }\n };\n RowDragComp.prototype.addDragSource = function (dragStartPixels) {\n var _this = this;\n if (dragStartPixels === void 0) { dragStartPixels = 4; }\n // if this is changing the drag element, delete the previous dragSource\n if (this.dragSource) {\n this.removeDragSource();\n }\n var dragItem = {\n rowNode: this.rowNode,\n columns: this.column ? [this.column] : undefined,\n defaultTextValue: this.cellValueFn(),\n };\n var rowDragText = this.column && this.column.getColDef().rowDragText;\n var translate = this.gridOptionsWrapper.getLocaleTextFunc();\n this.dragSource = {\n type: exports.DragSourceType.RowDrag,\n eElement: this.getGui(),\n dragItemName: function () {\n var dragItemCount = _this.getSelectedCount();\n if (rowDragText) {\n return rowDragText(dragItem, dragItemCount);\n }\n return dragItemCount === 1 ? _this.cellValueFn() : dragItemCount + \" \" + translate('rowDragRows', 'rows');\n },\n getDragItem: function () { return dragItem; },\n dragStartPixels: dragStartPixels,\n dragSourceDomDataKey: this.beans.gridOptionsWrapper.getDomDataKey()\n };\n this.beans.dragAndDropService.addDragSource(this.dragSource, true);\n };\n RowDragComp.prototype.removeDragSource = function () {\n if (this.dragSource) {\n this.beans.dragAndDropService.removeDragSource(this.dragSource);\n }\n this.dragSource = null;\n };\n __decorate$z([\n Autowired('beans')\n ], RowDragComp.prototype, \"beans\", void 0);\n __decorate$z([\n PostConstruct\n ], RowDragComp.prototype, \"postConstruct\", null);\n __decorate$z([\n PreDestroy\n ], RowDragComp.prototype, \"removeDragSource\", null);\n return RowDragComp;\n}(Component));\nvar VisibilityStrategy = /** @class */ (function (_super) {\n __extends$D(VisibilityStrategy, _super);\n function VisibilityStrategy(parent, rowNode, column) {\n var _this = _super.call(this) || this;\n _this.parent = parent;\n _this.rowNode = rowNode;\n _this.column = column;\n return _this;\n }\n VisibilityStrategy.prototype.setDisplayedOrVisible = function (neverDisplayed) {\n if (neverDisplayed) {\n this.parent.setDisplayed(false);\n }\n else {\n var shown = true;\n var isShownSometimes = false;\n if (this.column) {\n shown = this.column.isRowDrag(this.rowNode) || this.parent.isCustomGui();\n isShownSometimes = isFunction(this.column.getColDef().rowDrag);\n }\n // if shown sometimes, them some rows can have drag handle while other don't,\n // so we use setVisible to keep the handles horizontally aligned (as setVisible\n // keeps the empty space, whereas setDisplayed looses the space)\n if (isShownSometimes) {\n this.parent.setDisplayed(true);\n this.parent.setVisible(shown);\n }\n else {\n this.parent.setDisplayed(shown);\n this.parent.setVisible(true);\n }\n }\n };\n return VisibilityStrategy;\n}(BeanStub));\n// when non managed, the visibility depends on suppressRowDrag property only\nvar NonManagedVisibilityStrategy = /** @class */ (function (_super) {\n __extends$D(NonManagedVisibilityStrategy, _super);\n function NonManagedVisibilityStrategy(parent, beans, rowNode, column) {\n var _this = _super.call(this, parent, rowNode, column) || this;\n _this.beans = beans;\n return _this;\n }\n NonManagedVisibilityStrategy.prototype.postConstruct = function () {\n this.addManagedListener(this.beans.gridOptionsWrapper, 'suppressRowDrag', this.onSuppressRowDrag.bind(this));\n // in case data changes, then we need to update visibility of drag item\n this.addManagedListener(this.rowNode, RowNode.EVENT_DATA_CHANGED, this.workOutVisibility.bind(this));\n this.addManagedListener(this.rowNode, RowNode.EVENT_CELL_CHANGED, this.workOutVisibility.bind(this));\n this.addManagedListener(this.rowNode, RowNode.EVENT_CELL_CHANGED, this.workOutVisibility.bind(this));\n this.addManagedListener(this.beans.eventService, Events.EVENT_NEW_COLUMNS_LOADED, this.workOutVisibility.bind(this));\n this.workOutVisibility();\n };\n NonManagedVisibilityStrategy.prototype.onSuppressRowDrag = function () {\n this.workOutVisibility();\n };\n NonManagedVisibilityStrategy.prototype.workOutVisibility = function () {\n // only show the drag if both sort and filter are not present\n var neverDisplayed = this.beans.gridOptionsWrapper.isSuppressRowDrag();\n this.setDisplayedOrVisible(neverDisplayed);\n };\n __decorate$z([\n PostConstruct\n ], NonManagedVisibilityStrategy.prototype, \"postConstruct\", null);\n return NonManagedVisibilityStrategy;\n}(VisibilityStrategy));\n// when managed, the visibility depends on sort, filter and row group, as well as suppressRowDrag property\nvar ManagedVisibilityStrategy = /** @class */ (function (_super) {\n __extends$D(ManagedVisibilityStrategy, _super);\n function ManagedVisibilityStrategy(parent, beans, rowNode, column) {\n var _this = _super.call(this, parent, rowNode, column) || this;\n _this.beans = beans;\n return _this;\n }\n ManagedVisibilityStrategy.prototype.postConstruct = function () {\n // we do not show the component if sort, filter or grouping is active\n this.addManagedListener(this.beans.eventService, Events.EVENT_SORT_CHANGED, this.workOutVisibility.bind(this));\n this.addManagedListener(this.beans.eventService, Events.EVENT_FILTER_CHANGED, this.workOutVisibility.bind(this));\n this.addManagedListener(this.beans.eventService, Events.EVENT_COLUMN_ROW_GROUP_CHANGED, this.workOutVisibility.bind(this));\n this.addManagedListener(this.beans.eventService, Events.EVENT_NEW_COLUMNS_LOADED, this.workOutVisibility.bind(this));\n // in case data changes, then we need to update visibility of drag item\n this.addManagedListener(this.rowNode, RowNode.EVENT_DATA_CHANGED, this.workOutVisibility.bind(this));\n this.addManagedListener(this.rowNode, RowNode.EVENT_CELL_CHANGED, this.workOutVisibility.bind(this));\n this.addManagedListener(this.beans.gridOptionsWrapper, 'suppressRowDrag', this.onSuppressRowDrag.bind(this));\n this.workOutVisibility();\n };\n ManagedVisibilityStrategy.prototype.onSuppressRowDrag = function () {\n this.workOutVisibility();\n };\n ManagedVisibilityStrategy.prototype.workOutVisibility = function () {\n // only show the drag if both sort and filter are not present\n var gridBodyCon = this.beans.ctrlsService.getGridBodyCtrl();\n var rowDragFeature = gridBodyCon.getRowDragFeature();\n var shouldPreventRowMove = rowDragFeature && rowDragFeature.shouldPreventRowMove();\n var suppressRowDrag = this.beans.gridOptionsWrapper.isSuppressRowDrag();\n var hasExternalDropZones = this.beans.dragAndDropService.hasExternalDropZones();\n var neverDisplayed = (shouldPreventRowMove && !hasExternalDropZones) || suppressRowDrag;\n this.setDisplayedOrVisible(neverDisplayed);\n };\n __decorate$z([\n PostConstruct\n ], ManagedVisibilityStrategy.prototype, \"postConstruct\", null);\n return ManagedVisibilityStrategy;\n}(VisibilityStrategy));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$E = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign$7 = (undefined && undefined.__assign) || function () {\n __assign$7 = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign$7.apply(this, arguments);\n};\nvar __decorate$A = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar GroupCellRendererCtrl = /** @class */ (function (_super) {\n __extends$E(GroupCellRendererCtrl, _super);\n function GroupCellRendererCtrl() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n GroupCellRendererCtrl.prototype.init = function (comp, eGui, eCheckbox, eExpanded, eContracted, compClass, params) {\n this.params = params;\n this.eGui = eGui;\n this.eCheckbox = eCheckbox;\n this.eExpanded = eExpanded;\n this.eContracted = eContracted;\n this.comp = comp;\n this.compClass = compClass;\n var topLevelFooter = this.isTopLevelFooter();\n var embeddedRowMismatch = this.isEmbeddedRowMismatch();\n // This allows for empty strings to appear as groups since\n // it will only return for null or undefined.\n var nullValue = params.value == null;\n var skipCell = false;\n // if the groupCellRenderer is inside of a footer and groupHideOpenParents is true\n // we should only display the groupCellRenderer if the current column is the rowGroupedColumn\n if (this.gridOptionsWrapper.isGroupIncludeFooter() && this.gridOptionsWrapper.isGroupHideOpenParents()) {\n var node = params.node;\n if (node.footer) {\n var showRowGroup = params.colDef && params.colDef.showRowGroup;\n var rowGroupColumnId = node.rowGroupColumn && node.rowGroupColumn.getColId();\n skipCell = showRowGroup !== rowGroupColumnId;\n }\n }\n this.cellIsBlank = topLevelFooter ? false : (embeddedRowMismatch || nullValue || skipCell);\n if (this.cellIsBlank) {\n return;\n }\n this.setupShowingValueForOpenedParent();\n this.findDisplayedGroupNode();\n this.addFullWidthRowDraggerIfNeeded();\n this.addExpandAndContract();\n this.addCheckboxIfNeeded();\n this.addValueElement();\n this.setupIndent();\n this.refreshAriaExpanded();\n };\n GroupCellRendererCtrl.prototype.destroy = function () {\n _super.prototype.destroy.call(this);\n // property cleanup to avoid memory leaks\n this.expandListener = null;\n };\n GroupCellRendererCtrl.prototype.refreshAriaExpanded = function () {\n var _a = this.params, node = _a.node, eParentOfValue = _a.eParentOfValue;\n if (this.expandListener) {\n this.expandListener = this.expandListener();\n }\n if (!this.isExpandable()) {\n removeAriaExpanded(eParentOfValue);\n return;\n }\n var listener = function () {\n // for react, we don't use JSX, as setting attributes via jsx is slower\n setAriaExpanded(eParentOfValue, !!node.expanded);\n };\n this.expandListener = this.addManagedListener(node, RowNode.EVENT_EXPANDED_CHANGED, listener) || null;\n listener();\n };\n GroupCellRendererCtrl.prototype.isTopLevelFooter = function () {\n if (!this.gridOptionsWrapper.isGroupIncludeTotalFooter()) {\n return false;\n }\n if (this.params.value != null || this.params.node.level != -1) {\n return false;\n }\n // at this point, we know it's the root node and there is no value present, so it's a footer cell.\n // the only thing to work out is if we are displaying groups across multiple\n // columns (groupMultiAutoColumn=true), we only want 'total' to appear in the first column.\n var colDef = this.params.colDef;\n var doingFullWidth = colDef == null;\n if (doingFullWidth) {\n return true;\n }\n if (colDef.showRowGroup === true) {\n return true;\n }\n var rowGroupCols = this.columnModel.getRowGroupColumns();\n // this is a sanity check, rowGroupCols should always be present\n if (!rowGroupCols || rowGroupCols.length === 0) {\n return true;\n }\n var firstRowGroupCol = rowGroupCols[0];\n return firstRowGroupCol.getId() === colDef.showRowGroup;\n };\n // if we are doing embedded full width rows, we only show the renderer when\n // in the body, or if pinning in the pinned section, or if pinning and RTL,\n // in the right section. otherwise we would have the cell repeated in each section.\n GroupCellRendererCtrl.prototype.isEmbeddedRowMismatch = function () {\n if (!this.params.fullWidth || !this.gridOptionsWrapper.isEmbedFullWidthRows()) {\n return false;\n }\n var pinnedLeftCell = this.params.pinned === Constants.PINNED_LEFT;\n var pinnedRightCell = this.params.pinned === Constants.PINNED_RIGHT;\n var bodyCell = !pinnedLeftCell && !pinnedRightCell;\n if (this.gridOptionsWrapper.isEnableRtl()) {\n if (this.columnModel.isPinningLeft()) {\n return !pinnedRightCell;\n }\n return !bodyCell;\n }\n if (this.columnModel.isPinningLeft()) {\n return !pinnedLeftCell;\n }\n return !bodyCell;\n };\n GroupCellRendererCtrl.prototype.findDisplayedGroupNode = function () {\n var column = this.params.column;\n var rowNode = this.params.node;\n if (this.showingValueForOpenedParent) {\n var pointer = rowNode.parent;\n while (pointer != null) {\n if (pointer.rowGroupColumn && column.isRowGroupDisplayed(pointer.rowGroupColumn.getId())) {\n this.displayedGroupNode = pointer;\n break;\n }\n pointer = pointer.parent;\n }\n }\n // if we didn't find a displayed group, set it to the row node\n if (missing(this.displayedGroupNode)) {\n this.displayedGroupNode = rowNode;\n }\n };\n GroupCellRendererCtrl.prototype.setupShowingValueForOpenedParent = function () {\n // note - this code depends on sortService.updateGroupDataForHiddenOpenParents, where group data\n // is updated to reflect the dragged down parents\n var rowNode = this.params.node;\n var column = this.params.column;\n if (!this.gridOptionsWrapper.isGroupHideOpenParents()) {\n this.showingValueForOpenedParent = false;\n return;\n }\n // hideOpenParents means rowNode.groupData can have data for the group this column is displaying, even though\n // this rowNode isn't grouping by the column we are displaying\n // if no groupData at all, we are not showing a parent value\n if (!rowNode.groupData) {\n this.showingValueForOpenedParent = false;\n return;\n }\n // this is the normal case, in that we are showing a group for which this column is configured. note that\n // this means the Row Group is closed (if it was open, we would not be displaying it)\n var showingGroupNode = rowNode.rowGroupColumn != null;\n if (showingGroupNode) {\n var keyOfGroupingColumn = rowNode.rowGroupColumn.getId();\n var configuredToShowThisGroupLevel = column.isRowGroupDisplayed(keyOfGroupingColumn);\n // if showing group as normal, we didn't take group info from parent\n if (configuredToShowThisGroupLevel) {\n this.showingValueForOpenedParent = false;\n return;\n }\n }\n // see if we are showing a Group Value for the Displayed Group. if we are showing a group value, and this Row Node\n // is not grouping by this Displayed Group, we must of gotten the value from a parent node\n var valPresent = rowNode.groupData[column.getId()] != null;\n this.showingValueForOpenedParent = valPresent;\n };\n GroupCellRendererCtrl.prototype.addValueElement = function () {\n if (this.displayedGroupNode.footer) {\n this.addFooterValue();\n }\n else {\n this.addGroupValue();\n this.addChildCount();\n }\n };\n GroupCellRendererCtrl.prototype.addGroupValue = function () {\n // we try and use the cellRenderer of the column used for the grouping if we can\n var paramsAdjusted = this.adjustParamsWithDetailsFromRelatedColumn();\n var innerCompDetails = this.getInnerCompDetails(paramsAdjusted);\n var valueFormatted = paramsAdjusted.valueFormatted, value = paramsAdjusted.value;\n var valueWhenNoRenderer = valueFormatted != null ? valueFormatted : value;\n this.comp.setInnerRenderer(innerCompDetails, valueWhenNoRenderer);\n };\n GroupCellRendererCtrl.prototype.adjustParamsWithDetailsFromRelatedColumn = function () {\n var relatedColumn = this.displayedGroupNode.rowGroupColumn;\n var column = this.params.column;\n if (!relatedColumn) {\n return this.params;\n }\n var notFullWidth = column != null;\n if (notFullWidth) {\n var showingThisRowGroup = column.isRowGroupDisplayed(relatedColumn.getId());\n if (!showingThisRowGroup) {\n return this.params;\n }\n }\n var params = this.params;\n var _a = this.params, value = _a.value, node = _a.node;\n var valueFormatted = this.valueFormatterService.formatValue(relatedColumn, node, value);\n // we don't update the original params, as they could of come through React,\n // as react has RowGroupCellRenderer, which means the params could be props which\n // would be read only\n var paramsAdjusted = __assign$7(__assign$7({}, params), { valueFormatted: valueFormatted });\n return paramsAdjusted;\n };\n GroupCellRendererCtrl.prototype.addFooterValue = function () {\n var footerValueGetter = this.params.footerValueGetter;\n var footerValue = '';\n if (footerValueGetter) {\n // params is same as we were given, except we set the value as the item to display\n var paramsClone = cloneObject(this.params);\n paramsClone.value = this.params.value;\n if (typeof footerValueGetter === 'function') {\n footerValue = footerValueGetter(paramsClone);\n }\n else if (typeof footerValueGetter === 'string') {\n footerValue = this.expressionService.evaluate(footerValueGetter, paramsClone);\n }\n else {\n console.warn('AG Grid: footerValueGetter should be either a function or a string (expression)');\n }\n }\n else {\n footerValue = 'Total ' + (this.params.value != null ? this.params.value : '');\n }\n var innerCompDetails = this.getInnerCompDetails(this.params);\n this.comp.setInnerRenderer(innerCompDetails, footerValue);\n };\n GroupCellRendererCtrl.prototype.getInnerCompDetails = function (params) {\n var _this = this;\n // for full width rows, we don't do any of the below\n if (params.fullWidth) {\n return this.userComponentFactory.getFullWidthGroupRowInnerCellRenderer(this.gridOptions.groupRowRendererParams, params);\n }\n // when grouping, the normal case is we use the cell renderer of the grouped column. eg if grouping by country\n // and then rating, we will use the country cell renderer for each country group row and likewise the rating\n // cell renderer for each rating group row.\n //\n // however if the user has innerCellRenderer defined, this gets preference and we don't use cell renderers\n // of the grouped columns.\n //\n // so we check and use in the following order:\n //\n // 1) thisColDef.cellRendererParams.innerRenderer of the column showing the groups (eg auto group column)\n // 2) groupedColDef.cellRenderer of the grouped column\n // 3) groupedColDef.cellRendererParams.innerRenderer\n // we check if cell renderer provided for the group cell renderer, eg colDef.cellRendererParams.innerRenderer\n var innerCompDetails = this.userComponentFactory\n .getInnerRendererDetails(params, params);\n // avoid using GroupCellRenderer again, otherwise stack overflow, as we insert same renderer again and again.\n // this covers off chance user is grouping by a column that is also configured with GroupCellRenderer\n var isGroupRowRenderer = function (details) { return details && details.componentClass == _this.compClass; };\n if (innerCompDetails && !isGroupRowRenderer(innerCompDetails)) {\n // use the renderer defined in cellRendererParams.innerRenderer\n return innerCompDetails;\n }\n var relatedColumn = this.displayedGroupNode.rowGroupColumn;\n var relatedColDef = relatedColumn ? relatedColumn.getColDef() : undefined;\n if (!relatedColDef) {\n return;\n }\n // otherwise see if we can use the cellRenderer of the column we are grouping by\n var relatedCompDetails = this.userComponentFactory\n .getCellRendererDetails(relatedColDef, params);\n if (relatedCompDetails && !isGroupRowRenderer(relatedCompDetails)) {\n // Only if the original column is using a specific renderer, it it is a using a DEFAULT one ignore it\n return relatedCompDetails;\n }\n if (isGroupRowRenderer(relatedCompDetails) &&\n relatedColDef.cellRendererParams &&\n relatedColDef.cellRendererParams.innerRenderer) {\n // edge case - this comes from a column which has been grouped dynamically, that has a renderer 'group'\n // and has an inner cell renderer\n var res = this.userComponentFactory.getInnerRendererDetails(relatedColDef.cellRendererParams, params);\n return res;\n }\n };\n GroupCellRendererCtrl.prototype.addChildCount = function () {\n // only include the child count if it's included, eg if user doing custom aggregation,\n // then this could be left out, or set to -1, ie no child count\n if (this.params.suppressCount) {\n return;\n }\n this.addManagedListener(this.displayedGroupNode, RowNode.EVENT_ALL_CHILDREN_COUNT_CHANGED, this.updateChildCount.bind(this));\n // filtering changes the child count, so need to cater for it\n this.updateChildCount();\n };\n GroupCellRendererCtrl.prototype.updateChildCount = function () {\n var allChildrenCount = this.displayedGroupNode.allChildrenCount;\n var showingGroupForThisNode = this.isShowRowGroupForThisRow();\n var showCount = showingGroupForThisNode && allChildrenCount != null && allChildrenCount >= 0;\n var countString = showCount ? \"(\" + allChildrenCount + \")\" : \"\";\n this.comp.setChildCount(countString);\n };\n GroupCellRendererCtrl.prototype.isShowRowGroupForThisRow = function () {\n if (this.gridOptionsWrapper.isTreeData()) {\n return true;\n }\n var rowGroupColumn = this.displayedGroupNode.rowGroupColumn;\n if (!rowGroupColumn) {\n return false;\n }\n // column is null for fullWidthRows\n var column = this.params.column;\n var thisColumnIsInterested = column == null || column.isRowGroupDisplayed(rowGroupColumn.getId());\n return thisColumnIsInterested;\n };\n GroupCellRendererCtrl.prototype.addExpandAndContract = function () {\n var params = this.params;\n var eExpandedIcon = createIconNoSpan('groupExpanded', this.gridOptionsWrapper, null);\n var eContractedIcon = createIconNoSpan('groupContracted', this.gridOptionsWrapper, null);\n if (eExpandedIcon) {\n this.eExpanded.appendChild(eExpandedIcon);\n }\n if (eContractedIcon) {\n this.eContracted.appendChild(eContractedIcon);\n }\n var eGroupCell = params.eGridCell;\n // if editing groups, then double click is to start editing\n if (!this.gridOptionsWrapper.isEnableGroupEdit() && this.isExpandable() && !params.suppressDoubleClickExpand) {\n this.addManagedListener(eGroupCell, 'dblclick', this.onCellDblClicked.bind(this));\n }\n this.addManagedListener(this.eExpanded, 'click', this.onExpandClicked.bind(this));\n this.addManagedListener(this.eContracted, 'click', this.onExpandClicked.bind(this));\n // expand / contract as the user hits enter\n this.addManagedListener(eGroupCell, 'keydown', this.onKeyDown.bind(this));\n this.addManagedListener(params.node, RowNode.EVENT_EXPANDED_CHANGED, this.showExpandAndContractIcons.bind(this));\n this.showExpandAndContractIcons();\n // because we don't show the expand / contract when there are no children, we need to check every time\n // the number of children change.\n var expandableChangedListener = this.onRowNodeIsExpandableChanged.bind(this);\n this.addManagedListener(this.displayedGroupNode, RowNode.EVENT_ALL_CHILDREN_COUNT_CHANGED, expandableChangedListener);\n this.addManagedListener(this.displayedGroupNode, RowNode.EVENT_MASTER_CHANGED, expandableChangedListener);\n this.addManagedListener(this.displayedGroupNode, RowNode.EVENT_GROUP_CHANGED, expandableChangedListener);\n this.addManagedListener(this.displayedGroupNode, RowNode.EVENT_HAS_CHILDREN_CHANGED, expandableChangedListener);\n };\n GroupCellRendererCtrl.prototype.onExpandClicked = function (mouseEvent) {\n if (isStopPropagationForAgGrid(mouseEvent)) {\n return;\n }\n // so if we expand a node, it does not also get selected.\n stopPropagationForAgGrid(mouseEvent);\n this.onExpandOrContract(mouseEvent);\n };\n GroupCellRendererCtrl.prototype.onExpandOrContract = function (e) {\n // must use the displayedGroup, so if data was dragged down, we expand the parent, not this row\n var rowNode = this.displayedGroupNode;\n var nextExpandState = !rowNode.expanded;\n rowNode.setExpanded(nextExpandState, e);\n };\n GroupCellRendererCtrl.prototype.isExpandable = function () {\n if (this.showingValueForOpenedParent) {\n return true;\n }\n var rowNode = this.displayedGroupNode;\n var reducedLeafNode = this.columnModel.isPivotMode() && rowNode.leafGroup;\n var expandableGroup = rowNode.isExpandable() && !rowNode.footer && !reducedLeafNode;\n if (!expandableGroup) {\n return false;\n }\n // column is null for fullWidthRows\n var column = this.params.column;\n var displayingForOneColumnOnly = column != null && typeof column.getColDef().showRowGroup === 'string';\n if (displayingForOneColumnOnly) {\n var showing = this.isShowRowGroupForThisRow();\n return showing;\n }\n return true;\n };\n GroupCellRendererCtrl.prototype.showExpandAndContractIcons = function () {\n var _a = this, params = _a.params, displayedGroup = _a.displayedGroupNode, columnModel = _a.columnModel;\n var node = params.node;\n var isExpandable = this.isExpandable();\n if (isExpandable) {\n // if expandable, show one based on expand state.\n // if we were dragged down, means our parent is always expanded\n var expanded = this.showingValueForOpenedParent ? true : node.expanded;\n this.comp.setExpandedDisplayed(expanded);\n this.comp.setContractedDisplayed(!expanded);\n }\n else {\n // it not expandable, show neither\n this.comp.setExpandedDisplayed(false);\n this.comp.setContractedDisplayed(false);\n }\n // compensation padding for leaf nodes, so there is blank space instead of the expand icon\n var pivotMode = columnModel.isPivotMode();\n var pivotModeAndLeafGroup = pivotMode && displayedGroup.leafGroup;\n var addExpandableCss = isExpandable && !pivotModeAndLeafGroup;\n var isTotalFooterNode = node.footer && node.level === -1;\n this.comp.addOrRemoveCssClass('ag-cell-expandable', addExpandableCss);\n this.comp.addOrRemoveCssClass('ag-row-group', addExpandableCss);\n if (pivotMode) {\n this.comp.addOrRemoveCssClass('ag-pivot-leaf-group', pivotModeAndLeafGroup);\n }\n else if (!isTotalFooterNode) {\n this.comp.addOrRemoveCssClass('ag-row-group-leaf-indent', !addExpandableCss);\n }\n };\n GroupCellRendererCtrl.prototype.onRowNodeIsExpandableChanged = function () {\n // maybe if no children now, we should hide the expand / contract icons\n this.showExpandAndContractIcons();\n // if we have no children, this impacts the indent\n this.setIndent();\n this.refreshAriaExpanded();\n };\n GroupCellRendererCtrl.prototype.setupIndent = function () {\n // only do this if an indent - as this overwrites the padding that\n // the theme set, which will make things look 'not aligned' for the\n // first group level.\n var node = this.params.node;\n var suppressPadding = this.params.suppressPadding;\n if (!suppressPadding) {\n this.addManagedListener(node, RowNode.EVENT_UI_LEVEL_CHANGED, this.setIndent.bind(this));\n this.setIndent();\n }\n };\n GroupCellRendererCtrl.prototype.setIndent = function () {\n if (this.gridOptionsWrapper.isGroupHideOpenParents()) {\n return;\n }\n var params = this.params;\n var rowNode = params.node;\n // if we are only showing one group column, we don't want to be indenting based on level\n var fullWithRow = !!params.colDef;\n var treeData = this.gridOptionsWrapper.isTreeData();\n var manyDimensionThisColumn = !fullWithRow || treeData || params.colDef.showRowGroup === true;\n var paddingCount = manyDimensionThisColumn ? rowNode.uiLevel : 0;\n var userProvidedPaddingPixelsTheDeprecatedWay = params.padding >= 0;\n if (userProvidedPaddingPixelsTheDeprecatedWay) {\n doOnce(function () { return console.warn('AG Grid: cellRendererParams.padding no longer works, it was deprecated in since v14.2 and removed in v26, configuring padding for groupCellRenderer should be done with Sass variables and themes. Please see the AG Grid documentation page for Themes, in particular the property $row-group-indent-size.'); }, 'groupCellRenderer->doDeprecatedWay');\n }\n if (this.indentClass) {\n this.comp.addOrRemoveCssClass(this.indentClass, false);\n }\n this.indentClass = 'ag-row-group-indent-' + paddingCount;\n this.comp.addOrRemoveCssClass(this.indentClass, true);\n };\n GroupCellRendererCtrl.prototype.addFullWidthRowDraggerIfNeeded = function () {\n var _this = this;\n if (!this.params.fullWidth || !this.params.rowDrag) {\n return;\n }\n var rowDragComp = new RowDragComp(function () { return _this.params.value; }, this.params.node);\n this.createManagedBean(rowDragComp, this.context);\n this.eGui.insertAdjacentElement('afterbegin', rowDragComp.getGui());\n };\n GroupCellRendererCtrl.prototype.isUserWantsSelected = function () {\n var paramsCheckbox = this.params.checkbox;\n if (typeof paramsCheckbox === 'function') {\n return paramsCheckbox(this.params);\n }\n return paramsCheckbox === true;\n };\n GroupCellRendererCtrl.prototype.addCheckboxIfNeeded = function () {\n var _this = this;\n var rowNode = this.displayedGroupNode;\n var checkboxNeeded = this.isUserWantsSelected() &&\n // footers cannot be selected\n !rowNode.footer &&\n // pinned rows cannot be selected\n !rowNode.rowPinned &&\n // details cannot be selected\n !rowNode.detail;\n if (checkboxNeeded) {\n var cbSelectionComponent_1 = new CheckboxSelectionComponent();\n this.getContext().createBean(cbSelectionComponent_1);\n cbSelectionComponent_1.init({ rowNode: rowNode, column: this.params.column });\n this.eCheckbox.appendChild(cbSelectionComponent_1.getGui());\n this.addDestroyFunc(function () { return _this.getContext().destroyBean(cbSelectionComponent_1); });\n }\n this.comp.setCheckboxVisible(checkboxNeeded);\n };\n GroupCellRendererCtrl.prototype.onKeyDown = function (event) {\n var enterKeyPressed = event.key === KeyCode.ENTER;\n if (!enterKeyPressed || this.params.suppressEnterExpand) {\n return;\n }\n var cellEditable = this.params.column && this.params.column.isCellEditable(this.params.node);\n if (cellEditable) {\n return;\n }\n this.onExpandOrContract(event);\n };\n GroupCellRendererCtrl.prototype.onCellDblClicked = function (mouseEvent) {\n if (isStopPropagationForAgGrid(mouseEvent)) {\n return;\n }\n // we want to avoid acting on double click events on the expand / contract icon,\n // as that icons already has expand / collapse functionality on it. otherwise if\n // the icon was double clicked, we would get 'click', 'click', 'dblclick' which\n // is open->close->open, however double click should be open->close only.\n var targetIsExpandIcon = isElementInEventPath(this.eExpanded, mouseEvent)\n || isElementInEventPath(this.eContracted, mouseEvent);\n if (!targetIsExpandIcon) {\n this.onExpandOrContract(mouseEvent);\n }\n };\n __decorate$A([\n Autowired('expressionService')\n ], GroupCellRendererCtrl.prototype, \"expressionService\", void 0);\n __decorate$A([\n Autowired('valueFormatterService')\n ], GroupCellRendererCtrl.prototype, \"valueFormatterService\", void 0);\n __decorate$A([\n Autowired('columnModel')\n ], GroupCellRendererCtrl.prototype, \"columnModel\", void 0);\n __decorate$A([\n Autowired('userComponentFactory')\n ], GroupCellRendererCtrl.prototype, \"userComponentFactory\", void 0);\n __decorate$A([\n Autowired('gridOptions')\n ], GroupCellRendererCtrl.prototype, \"gridOptions\", void 0);\n return GroupCellRendererCtrl;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$F = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$B = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar GroupCellRenderer = /** @class */ (function (_super) {\n __extends$F(GroupCellRenderer, _super);\n function GroupCellRenderer() {\n return _super.call(this, GroupCellRenderer.TEMPLATE) || this;\n }\n GroupCellRenderer.prototype.init = function (params) {\n var _this = this;\n var compProxy = {\n setInnerRenderer: function (compDetails, valueToDisplay) { return _this.setRenderDetails(compDetails, valueToDisplay); },\n setChildCount: function (count) { return _this.eChildCount.innerHTML = count; },\n addOrRemoveCssClass: function (cssClass, value) { return _this.addOrRemoveCssClass(cssClass, value); },\n setContractedDisplayed: function (expanded) { return setDisplayed(_this.eContracted, expanded); },\n setExpandedDisplayed: function (expanded) { return setDisplayed(_this.eExpanded, expanded); },\n setCheckboxVisible: function (visible) { return _this.eCheckbox.classList.toggle('ag-invisible', !visible); }\n };\n var ctrl = this.createManagedBean(new GroupCellRendererCtrl());\n var fullWidth = !params.colDef;\n var eGui = this.getGui();\n ctrl.init(compProxy, eGui, this.eCheckbox, this.eExpanded, this.eContracted, this.constructor, params);\n if (fullWidth) {\n setAriaRole(eGui, 'gridcell');\n }\n };\n GroupCellRenderer.prototype.setRenderDetails = function (compDetails, valueToDisplay) {\n var _this = this;\n if (compDetails) {\n var componentPromise = compDetails.newAgStackInstance();\n if (!componentPromise) {\n return;\n }\n componentPromise.then(function (comp) {\n if (!comp) {\n return;\n }\n var destroyComp = function () { return _this.context.destroyBean(comp); };\n if (_this.isAlive()) {\n _this.eValue.appendChild(comp.getGui());\n _this.addDestroyFunc(destroyComp);\n }\n else {\n destroyComp();\n }\n });\n }\n else {\n this.eValue.innerText = valueToDisplay;\n }\n };\n // this is a user component, and IComponent has \"public destroy()\" as part of the interface.\n // so we need to have public here instead of private or protected\n GroupCellRenderer.prototype.destroy = function () {\n this.getContext().destroyBean(this.innerCellRenderer);\n _super.prototype.destroy.call(this);\n };\n GroupCellRenderer.prototype.refresh = function () {\n return false;\n };\n GroupCellRenderer.TEMPLATE = \"\\n \\n \\n \\n \\n \\n \";\n __decorate$B([\n RefSelector('eExpanded')\n ], GroupCellRenderer.prototype, \"eExpanded\", void 0);\n __decorate$B([\n RefSelector('eContracted')\n ], GroupCellRenderer.prototype, \"eContracted\", void 0);\n __decorate$B([\n RefSelector('eCheckbox')\n ], GroupCellRenderer.prototype, \"eCheckbox\", void 0);\n __decorate$B([\n RefSelector('eValue')\n ], GroupCellRenderer.prototype, \"eValue\", void 0);\n __decorate$B([\n RefSelector('eChildCount')\n ], GroupCellRenderer.prototype, \"eChildCount\", void 0);\n return GroupCellRenderer;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$G = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$C = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar LoadingCellRenderer = /** @class */ (function (_super) {\n __extends$G(LoadingCellRenderer, _super);\n function LoadingCellRenderer() {\n return _super.call(this, LoadingCellRenderer.TEMPLATE) || this;\n }\n LoadingCellRenderer.prototype.init = function (params) {\n params.node.failedLoad ? this.setupFailed() : this.setupLoading();\n };\n LoadingCellRenderer.prototype.setupFailed = function () {\n this.eLoadingText.innerText = 'ERR';\n };\n LoadingCellRenderer.prototype.setupLoading = function () {\n var eLoadingIcon = createIconNoSpan('groupLoading', this.gridOptionsWrapper, null);\n if (eLoadingIcon) {\n this.eLoadingIcon.appendChild(eLoadingIcon);\n }\n var localeTextFunc = this.gridOptionsWrapper.getLocaleTextFunc();\n this.eLoadingText.innerText = localeTextFunc('loadingOoo', 'Loading');\n };\n LoadingCellRenderer.prototype.refresh = function (params) {\n return false;\n };\n // this is a user component, and IComponent has \"public destroy()\" as part of the interface.\n // so we need to override destroy() just to make the method public.\n LoadingCellRenderer.prototype.destroy = function () {\n _super.prototype.destroy.call(this);\n };\n LoadingCellRenderer.TEMPLATE = \"
\\n \\n \\n
\";\n __decorate$C([\n RefSelector('eLoadingIcon')\n ], LoadingCellRenderer.prototype, \"eLoadingIcon\", void 0);\n __decorate$C([\n RefSelector('eLoadingText')\n ], LoadingCellRenderer.prototype, \"eLoadingText\", void 0);\n return LoadingCellRenderer;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$H = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar LoadingOverlayComponent = /** @class */ (function (_super) {\n __extends$H(LoadingOverlayComponent, _super);\n function LoadingOverlayComponent() {\n return _super.call(this) || this;\n }\n // this is a user component, and IComponent has \"public destroy()\" as part of the interface.\n // so we need to override destroy() just to make the method public.\n LoadingOverlayComponent.prototype.destroy = function () {\n _super.prototype.destroy.call(this);\n };\n LoadingOverlayComponent.prototype.init = function (params) {\n var template = this.gridOptionsWrapper.getOverlayLoadingTemplate() ?\n this.gridOptionsWrapper.getOverlayLoadingTemplate() : LoadingOverlayComponent.DEFAULT_LOADING_OVERLAY_TEMPLATE;\n var localeTextFunc = this.gridOptionsWrapper.getLocaleTextFunc();\n var localisedTemplate = template.replace('[LOADING...]', localeTextFunc('loadingOoo', 'Loading...'));\n this.setTemplate(localisedTemplate);\n };\n LoadingOverlayComponent.DEFAULT_LOADING_OVERLAY_TEMPLATE = '[LOADING...]';\n return LoadingOverlayComponent;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$I = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar NoRowsOverlayComponent = /** @class */ (function (_super) {\n __extends$I(NoRowsOverlayComponent, _super);\n function NoRowsOverlayComponent() {\n return _super.call(this) || this;\n }\n // this is a user component, and IComponent has \"public destroy()\" as part of the interface.\n // so we need to override destroy() just to make the method public.\n NoRowsOverlayComponent.prototype.destroy = function () {\n _super.prototype.destroy.call(this);\n };\n NoRowsOverlayComponent.prototype.init = function (params) {\n var template = this.gridOptionsWrapper.getOverlayNoRowsTemplate() ?\n this.gridOptionsWrapper.getOverlayNoRowsTemplate() : NoRowsOverlayComponent.DEFAULT_NO_ROWS_TEMPLATE;\n var localeTextFunc = this.gridOptionsWrapper.getLocaleTextFunc();\n var localisedTemplate = template.replace('[NO_ROWS_TO_SHOW]', localeTextFunc('noRowsToShow', 'No Rows To Show'));\n this.setTemplate(localisedTemplate);\n };\n NoRowsOverlayComponent.DEFAULT_NO_ROWS_TEMPLATE = '[NO_ROWS_TO_SHOW]';\n return NoRowsOverlayComponent;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$J = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar TooltipComponent = /** @class */ (function (_super) {\n __extends$J(TooltipComponent, _super);\n function TooltipComponent() {\n return _super.call(this, /* html */ \"
\") || this;\n }\n // will need to type params\n TooltipComponent.prototype.init = function (params) {\n var value = params.value;\n this.getGui().innerHTML = escapeString(value);\n };\n return TooltipComponent;\n}(PopupComponent));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$K = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$D = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar UserComponentRegistry = /** @class */ (function (_super) {\n __extends$K(UserComponentRegistry, _super);\n function UserComponentRegistry() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.agGridDefaults = {\n //date\n agDateInput: DefaultDateComponent,\n //header\n agColumnHeader: HeaderComp,\n agColumnGroupHeader: HeaderGroupComp,\n //floating filters\n agTextColumnFloatingFilter: TextFloatingFilter,\n agNumberColumnFloatingFilter: NumberFloatingFilter,\n agDateColumnFloatingFilter: DateFloatingFilter,\n agReadOnlyFloatingFilter: ReadOnlyFloatingFilter,\n // renderers\n agAnimateShowChangeCellRenderer: AnimateShowChangeCellRenderer,\n agAnimateSlideCellRenderer: AnimateSlideCellRenderer,\n agGroupCellRenderer: GroupCellRenderer,\n agGroupRowRenderer: GroupCellRenderer,\n agLoadingCellRenderer: LoadingCellRenderer,\n //editors\n agCellEditor: TextCellEditor,\n agTextCellEditor: TextCellEditor,\n agSelectCellEditor: SelectCellEditor,\n agPopupTextCellEditor: PopupTextCellEditor,\n agPopupSelectCellEditor: PopupSelectCellEditor,\n agLargeTextCellEditor: LargeTextCellEditor,\n //filter\n agTextColumnFilter: TextFilter,\n agNumberColumnFilter: NumberFilter,\n agDateColumnFilter: DateFilter,\n //overlays\n agLoadingOverlay: LoadingOverlayComponent,\n agNoRowsOverlay: NoRowsOverlayComponent,\n // tooltips\n agTooltipComponent: TooltipComponent\n };\n _this.agDeprecatedNames = {\n set: {\n newComponentName: 'agSetColumnFilter',\n propertyHolder: 'filter'\n },\n text: {\n newComponentName: 'agTextColumnFilter',\n propertyHolder: 'filter'\n },\n number: {\n newComponentName: 'agNumberColumnFilter',\n propertyHolder: 'filter'\n },\n date: {\n newComponentName: 'agDateColumnFilter',\n propertyHolder: 'filter'\n },\n group: {\n newComponentName: 'agGroupCellRenderer',\n propertyHolder: 'cellRenderer'\n },\n animateShowChange: {\n newComponentName: 'agAnimateShowChangeCellRenderer',\n propertyHolder: 'cellRenderer'\n },\n animateSlide: {\n newComponentName: 'agAnimateSlideCellRenderer',\n propertyHolder: 'cellRenderer'\n },\n select: {\n newComponentName: 'agSelectCellEditor',\n propertyHolder: 'cellEditor'\n },\n largeText: {\n newComponentName: 'agLargeTextCellEditor',\n propertyHolder: 'cellEditor'\n },\n popupSelect: {\n newComponentName: 'agPopupSelectCellEditor',\n propertyHolder: 'cellEditor'\n },\n popupText: {\n newComponentName: 'agPopupTextCellEditor',\n propertyHolder: 'cellEditor'\n },\n richSelect: {\n newComponentName: 'agRichSelectCellEditor',\n propertyHolder: 'cellEditor'\n },\n headerComponent: {\n newComponentName: 'agColumnHeader',\n propertyHolder: 'headerComponent'\n }\n };\n _this.jsComps = {};\n _this.fwComps = {};\n return _this;\n }\n UserComponentRegistry.prototype.init = function () {\n var _this = this;\n if (this.gridOptions.components != null) {\n iterateObject(this.gridOptions.components, function (key, component) { return _this.registerJsComponent(key, component); });\n }\n if (this.gridOptions.frameworkComponents != null) {\n iterateObject(this.gridOptions.frameworkComponents, function (key, component) { return _this.registerFwComponent(key, component); });\n }\n };\n UserComponentRegistry.prototype.registerDefaultComponent = function (rawName, component) {\n var name = this.translateIfDeprecated(rawName);\n if (this.agGridDefaults[name]) {\n console.error(\"Trying to overwrite a default component. You should call registerComponent\");\n return;\n }\n this.agGridDefaults[name] = component;\n };\n UserComponentRegistry.prototype.registerJsComponent = function (rawName, component) {\n var name = this.translateIfDeprecated(rawName);\n if (this.fwComps[name]) {\n console.error(\"Trying to register a component that you have already registered for frameworks: \" + name);\n return;\n }\n this.jsComps[name] = component;\n };\n /**\n * B the business interface (ie IHeader)\n * A the agGridComponent interface (ie IHeaderComp). The final object acceptable by ag-grid\n */\n UserComponentRegistry.prototype.registerFwComponent = function (rawName, component) {\n var warningMessage = \"AG Grid: As of v27, registering components via grid property frameworkComponents is deprecated. Instead register both JavaScript AND Framework Components via the components property.\";\n doOnce(function () { return console.warn(warningMessage); }, \"UserComponentRegistry.frameworkComponentsDeprecated\");\n var name = this.translateIfDeprecated(rawName);\n this.fwComps[name] = component;\n };\n UserComponentRegistry.prototype.retrieve = function (rawName) {\n var name = this.translateIfDeprecated(rawName);\n var createResult = function (component, componentFromFramework) { return ({ componentFromFramework: componentFromFramework, component: component }); };\n // FrameworkOverrides.frameworkComponent() is used in two locations:\n // 1) for Vue, user provided components get registered via a framework specific way.\n // 2) for React, it's how the React UI provides alternative default components (eg GroupCellRenderer and DetailCellRenderer)\n var registeredViaFrameworkComp = this.getFrameworkOverrides().frameworkComponent(name);\n if (registeredViaFrameworkComp != null) {\n return createResult(registeredViaFrameworkComp, true);\n }\n var frameworkComponent = this.fwComps[name];\n if (frameworkComponent) {\n return createResult(frameworkComponent, true);\n }\n var jsComponent = this.jsComps[name];\n if (jsComponent) {\n var isFwkComp = this.getFrameworkOverrides().isFrameworkComponent(jsComponent);\n return createResult(jsComponent, isFwkComp);\n }\n var defaultComponent = this.agGridDefaults[name];\n if (defaultComponent) {\n return createResult(defaultComponent, false);\n }\n if (Object.keys(this.agGridDefaults).indexOf(name) < 0) {\n console.warn(\"AG Grid: Looking for component [\" + name + \"] but it wasn't found.\");\n }\n return null;\n };\n UserComponentRegistry.prototype.translateIfDeprecated = function (raw) {\n var deprecatedInfo = this.agDeprecatedNames[raw];\n if (deprecatedInfo != null) {\n doOnce(function () {\n console.warn(\"ag-grid. Since v15.0 component names have been renamed to be namespaced. You should rename \" + deprecatedInfo.propertyHolder + \":\" + raw + \" to \" + deprecatedInfo.propertyHolder + \":\" + deprecatedInfo.newComponentName);\n }, 'DEPRECATE_COMPONENT_' + raw);\n return deprecatedInfo.newComponentName;\n }\n return raw;\n };\n __decorate$D([\n Autowired('gridOptions')\n ], UserComponentRegistry.prototype, \"gridOptions\", void 0);\n __decorate$D([\n Autowired('agComponentUtils')\n ], UserComponentRegistry.prototype, \"agComponentUtils\", void 0);\n __decorate$D([\n PostConstruct\n ], UserComponentRegistry.prototype, \"init\", null);\n UserComponentRegistry = __decorate$D([\n Bean('userComponentRegistry')\n ], UserComponentRegistry);\n return UserComponentRegistry;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar DateComponent = {\n propertyName: 'dateComponent',\n cellRenderer: false\n};\nvar HeaderComponent = {\n propertyName: 'headerComponent',\n cellRenderer: false\n};\nvar HeaderGroupComponent = {\n propertyName: 'headerGroupComponent',\n cellRenderer: false\n};\nvar CellRendererComponent = {\n propertyName: 'cellRenderer',\n cellRenderer: true\n};\nvar CellEditorComponent = {\n propertyName: 'cellEditor',\n cellRenderer: false\n};\nvar InnerRendererComponent = {\n propertyName: 'innerRenderer',\n cellRenderer: true\n};\nvar LoadingOverlayComponent$1 = {\n propertyName: 'loadingOverlayComponent',\n cellRenderer: false\n};\nvar NoRowsOverlayComponent$1 = {\n propertyName: 'noRowsOverlayComponent',\n cellRenderer: false\n};\nvar TooltipComponent$1 = {\n propertyName: 'tooltipComponent',\n cellRenderer: false\n};\nvar FilterComponent = {\n propertyName: 'filter',\n cellRenderer: false\n};\nvar FloatingFilterComponent = {\n propertyName: 'floatingFilterComponent',\n cellRenderer: false\n};\nvar ToolPanelComponent = {\n propertyName: 'toolPanel',\n cellRenderer: false\n};\nvar StatusPanelComponent = {\n propertyName: 'statusPanel',\n cellRenderer: false\n};\nvar FullWidth = {\n propertyName: 'fullWidthCellRenderer',\n cellRenderer: true\n};\nvar FullWidthLoading = {\n propertyName: 'loadingCellRenderer',\n cellRenderer: true\n};\nvar FullWidthGroup = {\n propertyName: 'groupRowRenderer',\n cellRenderer: true\n};\nvar FullWidthDetail = {\n propertyName: 'detailCellRenderer',\n cellRenderer: true\n};\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar FloatingFilterMapper = /** @class */ (function () {\n function FloatingFilterMapper() {\n }\n FloatingFilterMapper.getFloatingFilterType = function (filterType) {\n return this.filterToFloatingFilterMapping[filterType];\n };\n FloatingFilterMapper.filterToFloatingFilterMapping = {\n set: 'agSetColumnFloatingFilter',\n agSetColumnFilter: 'agSetColumnFloatingFilter',\n multi: 'agMultiColumnFloatingFilter',\n agMultiColumnFilter: 'agMultiColumnFloatingFilter',\n number: 'agNumberColumnFloatingFilter',\n agNumberColumnFilter: 'agNumberColumnFloatingFilter',\n date: 'agDateColumnFloatingFilter',\n agDateColumnFilter: 'agDateColumnFloatingFilter',\n text: 'agTextColumnFloatingFilter',\n agTextColumnFilter: 'agTextColumnFloatingFilter'\n };\n return FloatingFilterMapper;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$L = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$E = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar UserComponentFactory = /** @class */ (function (_super) {\n __extends$L(UserComponentFactory, _super);\n function UserComponentFactory() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n UserComponentFactory.prototype.getHeaderCompDetails = function (colDef, params) {\n return this.getCompDetails(colDef, HeaderComponent, 'agColumnHeader', params);\n };\n UserComponentFactory.prototype.getHeaderGroupCompDetails = function (params) {\n var colGroupDef = params.columnGroup.getColGroupDef();\n return this.getCompDetails(colGroupDef, HeaderGroupComponent, 'agColumnGroupHeader', params);\n };\n // this one is unusual, as it can be LoadingCellRenderer, DetailCellRenderer, FullWidthCellRenderer or GroupRowRenderer.\n // so we have to pass the type in.\n UserComponentFactory.prototype.getFullWidthCellRendererDetails = function (params) {\n return this.getCompDetails(this.gridOptions, FullWidth, null, params, true);\n };\n UserComponentFactory.prototype.getFullWidthLoadingCellRendererDetails = function (params) {\n return this.getCompDetails(this.gridOptions, FullWidthLoading, 'agLoadingCellRenderer', params, true);\n };\n UserComponentFactory.prototype.getFullWidthGroupCellRendererDetails = function (params) {\n return this.getCompDetails(this.gridOptions, FullWidthGroup, 'agGroupRowRenderer', params, true);\n };\n UserComponentFactory.prototype.getFullWidthDetailCellRendererDetails = function (params) {\n return this.getCompDetails(this.gridOptions, FullWidthDetail, 'agDetailCellRenderer', params, true);\n };\n // CELL RENDERER\n UserComponentFactory.prototype.getInnerRendererDetails = function (def, params) {\n return this.getCompDetails(def, InnerRendererComponent, null, params);\n };\n UserComponentFactory.prototype.getFullWidthGroupRowInnerCellRenderer = function (def, params) {\n return this.getCompDetails(def, InnerRendererComponent, null, params);\n };\n UserComponentFactory.prototype.getCellRendererDetails = function (def, params) {\n return this.getCompDetails(def, CellRendererComponent, null, params);\n };\n // CELL EDITOR\n UserComponentFactory.prototype.getCellEditorDetails = function (def, params) {\n return this.getCompDetails(def, CellEditorComponent, 'agCellEditor', params, true);\n };\n // FILTER\n UserComponentFactory.prototype.getFilterDetails = function (def, params, defaultFilter) {\n return this.getCompDetails(def, FilterComponent, defaultFilter, params, true);\n };\n UserComponentFactory.prototype.getDateCompDetails = function (params) {\n return this.getCompDetails(this.gridOptions, DateComponent, 'agDateInput', params, true);\n };\n UserComponentFactory.prototype.getLoadingOverlayCompDetails = function (params) {\n return this.getCompDetails(this.gridOptions, LoadingOverlayComponent$1, 'agLoadingOverlay', params, true);\n };\n UserComponentFactory.prototype.getNoRowsOverlayCompDetails = function (params) {\n return this.getCompDetails(this.gridOptions, NoRowsOverlayComponent$1, 'agNoRowsOverlay', params, true);\n };\n UserComponentFactory.prototype.getTooltipCompDetails = function (params) {\n return this.getCompDetails(params.colDef, TooltipComponent$1, 'agTooltipComponent', params, true);\n };\n UserComponentFactory.prototype.getSetFilterCellRendererDetails = function (def, params) {\n return this.getCompDetails(def, CellRendererComponent, null, params);\n };\n UserComponentFactory.prototype.getFloatingFilterCompDetails = function (def, params, defaultFloatingFilter) {\n return this.getCompDetails(def, FloatingFilterComponent, defaultFloatingFilter, params);\n };\n UserComponentFactory.prototype.getToolPanelCompDetails = function (toolPanelDef, params) {\n return this.getCompDetails(toolPanelDef, ToolPanelComponent, null, params, true);\n };\n UserComponentFactory.prototype.getStatusPanelCompDetails = function (def, params) {\n return this.getCompDetails(def, StatusPanelComponent, null, params, true);\n };\n UserComponentFactory.prototype.getCompDetails = function (defObject, type, defaultName, params, mandatory) {\n var _this = this;\n if (mandatory === void 0) { mandatory = false; }\n var propertyName = type.propertyName, cellRenderer = type.cellRenderer;\n var _a = this.getCompKeys(defObject, type, params), compName = _a.compName, jsComp = _a.jsComp, fwComp = _a.fwComp, paramsFromSelector = _a.paramsFromSelector, popupFromSelector = _a.popupFromSelector, popupPositionFromSelector = _a.popupPositionFromSelector;\n var lookupFromRegistry = function (key) {\n var item = _this.userComponentRegistry.retrieve(key);\n if (item) {\n jsComp = !item.componentFromFramework ? item.component : undefined;\n fwComp = item.componentFromFramework ? item.component : undefined;\n }\n };\n // if compOption is a string, means we need to look the item up\n if (compName != null) {\n lookupFromRegistry(compName);\n }\n // if lookup brought nothing back, and we have a default, lookup the default\n if (jsComp == null && fwComp == null && defaultName != null) {\n lookupFromRegistry(defaultName);\n }\n // if we have a comp option, and it's a function, replace it with an object equivalent adaptor\n if (jsComp && cellRenderer && !this.agComponentUtils.doesImplementIComponent(jsComp)) {\n jsComp = this.agComponentUtils.adaptFunction(propertyName, jsComp);\n }\n if (!jsComp && !fwComp) {\n if (mandatory) {\n console.error(\"Could not find component \" + compName + \", did you forget to configure this component?\");\n }\n return;\n }\n var paramsMerged = this.mergeParamsWithApplicationProvidedParams(defObject, type, params, paramsFromSelector);\n var componentFromFramework = jsComp == null;\n var componentClass = jsComp ? jsComp : fwComp;\n return {\n componentFromFramework: componentFromFramework,\n componentClass: componentClass,\n params: paramsMerged,\n type: type,\n popupFromSelector: popupFromSelector,\n popupPositionFromSelector: popupPositionFromSelector,\n newAgStackInstance: function () { return _this.newAgStackInstance(componentClass, componentFromFramework, paramsMerged, type); }\n };\n };\n UserComponentFactory.prototype.getCompKeys = function (defObject, type, params) {\n var _this = this;\n var propertyName = type.propertyName;\n var compName;\n var jsComp;\n var fwComp;\n var paramsFromSelector;\n var popupFromSelector;\n var popupPositionFromSelector;\n // there are two types of js comps, class based and func based. we can only check for\n // class based, by checking if getGui() exists. no way to differentiate js func based vs eg react func based\n // const isJsClassComp = (comp: any) => this.agComponentUtils.doesImplementIComponent(comp);\n // const fwActive = this.frameworkComponentWrapper != null;\n // pull from defObject if available\n if (defObject) {\n var defObjectAny = defObject;\n // if selector, use this\n var selectorFunc = defObjectAny[propertyName + 'Selector'];\n var selectorRes = selectorFunc ? selectorFunc(params) : null;\n var assignComp = function (providedJsComp, providedFwComp) {\n var xxxFrameworkDeprecatedWarn = function () {\n var warningMessage = \"AG Grid: As of v27, the property \" + propertyName + \"Framework is deprecated. The property \" + propertyName + \" can now be used for JavaScript AND Framework Components.\";\n doOnce(function () { return console.warn(warningMessage); }, \"UserComponentFactory.\" + propertyName + \"FrameworkDeprecated\");\n };\n if (typeof providedJsComp === 'string') {\n compName = providedJsComp;\n }\n else if (typeof providedFwComp === 'string') {\n xxxFrameworkDeprecatedWarn();\n compName = providedFwComp;\n // comp===true for filters, which means use the default comp\n }\n else if (providedJsComp != null && providedJsComp !== true) {\n var isFwkComp = _this.getFrameworkOverrides().isFrameworkComponent(providedJsComp);\n if (isFwkComp) {\n fwComp = providedJsComp;\n }\n else {\n jsComp = providedJsComp;\n }\n }\n else if (providedFwComp != null) {\n xxxFrameworkDeprecatedWarn();\n fwComp = providedFwComp;\n }\n };\n if (selectorRes) {\n if (selectorRes.frameworkComponent != null) {\n var warningMessage_1 = \"AG Grid: As of v27, the return for \" + propertyName + \"Selector has attributes [component, params] only. The attribute frameworkComponent is deprecated. You should now return back Framework Components using the 'component' attribute and the grid works out if it's a framework component or not.\";\n doOnce(function () { return console.warn(warningMessage_1); }, \"UserComponentFactory.\" + propertyName + \"FrameworkSelectorDeprecated\");\n assignComp(selectorRes.frameworkComponent, undefined);\n }\n else {\n assignComp(selectorRes.component, undefined);\n }\n paramsFromSelector = selectorRes.params;\n popupFromSelector = selectorRes.popup;\n popupPositionFromSelector = selectorRes.popupPosition;\n }\n else {\n // if no selector, or result of selector is empty, take from defObject\n assignComp(defObjectAny[propertyName], defObjectAny[propertyName + 'Framework']);\n }\n }\n return { compName: compName, jsComp: jsComp, fwComp: fwComp, paramsFromSelector: paramsFromSelector, popupFromSelector: popupFromSelector, popupPositionFromSelector: popupPositionFromSelector };\n };\n UserComponentFactory.prototype.newAgStackInstance = function (ComponentClass, componentFromFramework, params, type) {\n var propertyName = type.propertyName;\n var jsComponent = !componentFromFramework;\n // using javascript component\n var instance;\n if (jsComponent) {\n instance = new ComponentClass();\n }\n else {\n // Using framework component\n var thisComponentConfig = this.componentMetadataProvider.retrieve(propertyName);\n instance = this.frameworkComponentWrapper.wrap(ComponentClass, thisComponentConfig.mandatoryMethodList, thisComponentConfig.optionalMethodList, type);\n }\n var deferredInit = this.initComponent(instance, params);\n if (deferredInit == null) {\n return AgPromise.resolve(instance);\n }\n return deferredInit.then(function () { return instance; });\n };\n // used by Floating Filter\n UserComponentFactory.prototype.mergeParamsWithApplicationProvidedParams = function (defObject, type, paramsFromGrid, paramsFromSelector) {\n if (paramsFromSelector === void 0) { paramsFromSelector = null; }\n var params = {\n context: this.gridOptionsWrapper.getContext(),\n columnApi: this.gridOptionsWrapper.getColumnApi(),\n api: this.gridOptionsWrapper.getApi()\n };\n mergeDeep(params, paramsFromGrid);\n // pull user params from either the old prop name and new prop name\n // eg either cellRendererParams and cellCompParams\n var defObjectAny = defObject;\n var userParams = defObjectAny && defObjectAny[type.propertyName + 'Params'];\n if (typeof userParams === 'function') {\n var userParamsFromFunc = userParams(paramsFromGrid);\n mergeDeep(params, userParamsFromFunc);\n }\n else if (typeof userParams === 'object') {\n mergeDeep(params, userParams);\n }\n mergeDeep(params, paramsFromSelector);\n return params;\n };\n UserComponentFactory.prototype.initComponent = function (component, params) {\n this.context.createBean(component);\n if (component.init == null) {\n return;\n }\n return component.init(params);\n };\n UserComponentFactory.prototype.getDefaultFloatingFilterType = function (def) {\n if (def == null) {\n return null;\n }\n var defaultFloatingFilterType = null;\n var _a = this.getCompKeys(def, FilterComponent), compName = _a.compName, jsComp = _a.jsComp, fwComp = _a.fwComp;\n if (compName) {\n // will be undefined if not in the map\n defaultFloatingFilterType = FloatingFilterMapper.getFloatingFilterType(compName);\n }\n else {\n var usingDefaultFilter = (jsComp == null && fwComp == null) && (def.filter === true);\n if (usingDefaultFilter) {\n var setFilterModuleLoaded = ModuleRegistry.isRegistered(exports.ModuleNames.SetFilterModule);\n defaultFloatingFilterType = setFilterModuleLoaded ? 'agSetColumnFloatingFilter' : 'agTextColumnFloatingFilter';\n }\n }\n return defaultFloatingFilterType;\n };\n __decorate$E([\n Autowired('gridOptions')\n ], UserComponentFactory.prototype, \"gridOptions\", void 0);\n __decorate$E([\n Autowired('agComponentUtils')\n ], UserComponentFactory.prototype, \"agComponentUtils\", void 0);\n __decorate$E([\n Autowired('componentMetadataProvider')\n ], UserComponentFactory.prototype, \"componentMetadataProvider\", void 0);\n __decorate$E([\n Autowired('userComponentRegistry')\n ], UserComponentFactory.prototype, \"userComponentRegistry\", void 0);\n __decorate$E([\n Optional('frameworkComponentWrapper')\n ], UserComponentFactory.prototype, \"frameworkComponentWrapper\", void 0);\n UserComponentFactory = __decorate$E([\n Bean('userComponentFactory')\n ], UserComponentFactory);\n return UserComponentFactory;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\n(function (ExcelFactoryMode) {\n ExcelFactoryMode[ExcelFactoryMode[\"SINGLE_SHEET\"] = 0] = \"SINGLE_SHEET\";\n ExcelFactoryMode[ExcelFactoryMode[\"MULTI_SHEET\"] = 1] = \"MULTI_SHEET\";\n})(exports.ExcelFactoryMode || (exports.ExcelFactoryMode = {}));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$M = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$F = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n/** Adds drag listening onto an element. In AG Grid this is used twice, first is resizing columns,\n * second is moving the columns and column groups around (ie the 'drag' part of Drag and Drop. */\nvar DragService = /** @class */ (function (_super) {\n __extends$M(DragService, _super);\n function DragService() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.dragEndFunctions = [];\n _this.dragSources = [];\n return _this;\n }\n DragService.prototype.init = function () {\n this.logger = this.loggerFactory.create('DragService');\n };\n DragService.prototype.removeAllListeners = function () {\n this.dragSources.forEach(this.removeListener.bind(this));\n this.dragSources.length = 0;\n };\n DragService.prototype.removeListener = function (dragSourceAndListener) {\n var element = dragSourceAndListener.dragSource.eElement;\n var mouseDownListener = dragSourceAndListener.mouseDownListener;\n element.removeEventListener('mousedown', mouseDownListener);\n // remove touch listener only if it exists\n if (dragSourceAndListener.touchEnabled) {\n var touchStartListener = dragSourceAndListener.touchStartListener;\n element.removeEventListener('touchstart', touchStartListener, { passive: true });\n }\n };\n DragService.prototype.removeDragSource = function (params) {\n var dragSourceAndListener = this.dragSources.find(function (item) { return item.dragSource === params; });\n if (!dragSourceAndListener) {\n return;\n }\n this.removeListener(dragSourceAndListener);\n removeFromArray(this.dragSources, dragSourceAndListener);\n };\n DragService.prototype.isDragging = function () {\n return this.dragging;\n };\n DragService.prototype.addDragSource = function (params, includeTouch) {\n var _this = this;\n if (includeTouch === void 0) { includeTouch = false; }\n var mouseListener = this.onMouseDown.bind(this, params);\n params.eElement.addEventListener('mousedown', mouseListener);\n var touchListener = null;\n var suppressTouch = this.gridOptionsWrapper.isSuppressTouch();\n if (includeTouch && !suppressTouch) {\n touchListener = function (touchEvent) {\n if (touchEvent.cancelable) {\n touchEvent.preventDefault();\n }\n _this.onTouchStart(params, touchEvent);\n };\n params.eElement.addEventListener('touchstart', touchListener, { passive: true });\n }\n this.dragSources.push({\n dragSource: params,\n mouseDownListener: mouseListener,\n touchStartListener: touchListener,\n touchEnabled: includeTouch\n });\n };\n // gets called whenever mouse down on any drag source\n DragService.prototype.onTouchStart = function (params, touchEvent) {\n var _this = this;\n this.currentDragParams = params;\n this.dragging = false;\n var touch = touchEvent.touches[0];\n this.touchLastTime = touch;\n this.touchStart = touch;\n var touchMoveEvent = function (e) { return _this.onTouchMove(e, params.eElement); };\n var touchEndEvent = function (e) { return _this.onTouchUp(e, params.eElement); };\n var documentTouchMove = function (e) { if (e.cancelable) {\n e.preventDefault();\n } };\n var target = params.eElement;\n var events = [\n // Prevents the page document from moving while we are dragging items around.\n // preventDefault needs to be called in the touchmove listener and never inside the\n // touchstart, because using touchstart causes the click event to be cancelled on touch devices.\n { target: document, type: 'touchmove', listener: documentTouchMove, options: { passive: false } },\n { target: target, type: 'touchmove', listener: touchMoveEvent, options: { passive: true } },\n { target: target, type: 'touchend', listener: touchEndEvent, options: { passive: true } },\n { target: target, type: 'touchcancel', listener: touchEndEvent, options: { passive: true } }\n ];\n // temporally add these listeners, for the duration of the drag\n this.addTemporaryEvents(events);\n // see if we want to start dragging straight away\n if (params.dragStartPixels === 0) {\n this.onCommonMove(touch, this.touchStart, params.eElement);\n }\n };\n // gets called whenever mouse down on any drag source\n DragService.prototype.onMouseDown = function (params, mouseEvent) {\n var _this = this;\n var e = mouseEvent;\n if (params.skipMouseEvent && params.skipMouseEvent(mouseEvent)) {\n return;\n }\n // if there are two elements with parent / child relationship, and both are draggable,\n // when we drag the child, we should NOT drag the parent. an example of this is row moving\n // and range selection - row moving should get preference when use drags the rowDrag component.\n if (e._alreadyProcessedByDragService) {\n return;\n }\n e._alreadyProcessedByDragService = true;\n // only interested in left button clicks\n if (mouseEvent.button !== 0) {\n return;\n }\n this.currentDragParams = params;\n this.dragging = false;\n this.mouseStartEvent = mouseEvent;\n var eDocument = this.gridOptionsWrapper.getDocument();\n var mouseMoveEvent = function (event) { return _this.onMouseMove(event, params.eElement); };\n var mouseUpEvent = function (event) { return _this.onMouseUp(event, params.eElement); };\n var contextEvent = function (event) { return event.preventDefault(); };\n var target = eDocument;\n var events = [\n { target: target, type: 'mousemove', listener: mouseMoveEvent },\n { target: target, type: 'mouseup', listener: mouseUpEvent },\n { target: target, type: 'contextmenu', listener: contextEvent }\n ];\n // temporally add these listeners, for the duration of the drag\n this.addTemporaryEvents(events);\n //see if we want to start dragging straight away\n if (params.dragStartPixels === 0) {\n this.onMouseMove(mouseEvent, params.eElement);\n }\n };\n DragService.prototype.addTemporaryEvents = function (events) {\n events.forEach(function (currentEvent) {\n var target = currentEvent.target, type = currentEvent.type, listener = currentEvent.listener, options = currentEvent.options;\n target.addEventListener(type, listener, options);\n });\n this.dragEndFunctions.push(function () {\n events.forEach(function (currentEvent) {\n var target = currentEvent.target, type = currentEvent.type, listener = currentEvent.listener, options = currentEvent.options;\n target.removeEventListener(type, listener, options);\n });\n });\n };\n // returns true if the event is close to the original event by X pixels either vertically or horizontally.\n // we only start dragging after X pixels so this allows us to know if we should start dragging yet.\n DragService.prototype.isEventNearStartEvent = function (currentEvent, startEvent) {\n // by default, we wait 4 pixels before starting the drag\n var dragStartPixels = this.currentDragParams.dragStartPixels;\n var requiredPixelDiff = exists(dragStartPixels) ? dragStartPixels : 4;\n return areEventsNear(currentEvent, startEvent, requiredPixelDiff);\n };\n DragService.prototype.getFirstActiveTouch = function (touchList) {\n for (var i = 0; i < touchList.length; i++) {\n if (touchList[i].identifier === this.touchStart.identifier) {\n return touchList[i];\n }\n }\n return null;\n };\n DragService.prototype.onCommonMove = function (currentEvent, startEvent, el) {\n if (!this.dragging) {\n // if mouse hasn't travelled from the start position enough, do nothing\n if (!this.dragging && this.isEventNearStartEvent(currentEvent, startEvent)) {\n return;\n }\n this.dragging = true;\n var event_1 = {\n type: Events.EVENT_DRAG_STARTED,\n api: this.gridApi,\n columnApi: this.columnApi,\n target: el\n };\n this.eventService.dispatchEvent(event_1);\n this.currentDragParams.onDragStart(startEvent);\n // we need ONE drag action at the startEvent, so that we are guaranteed the drop target\n // at the start gets notified. this is because the drag can start outside of the element\n // that started it, as the mouse is allowed drag away from the mouse down before it's\n // considered a drag (the isEventNearStartEvent() above). if we didn't do this, then\n // it would be possible to click a column by the edge, then drag outside of the drop zone\n // in less than 4 pixels and the drag officially starts outside of the header but the header\n // wouldn't be notified of the dragging.\n this.currentDragParams.onDragging(startEvent);\n }\n this.currentDragParams.onDragging(currentEvent);\n };\n DragService.prototype.onTouchMove = function (touchEvent, el) {\n var touch = this.getFirstActiveTouch(touchEvent.touches);\n if (!touch) {\n return;\n }\n // this.___statusPanel.setInfoText(Math.random() + ' onTouchMove preventDefault stopPropagation');\n this.onCommonMove(touch, this.touchStart, el);\n };\n // only gets called after a mouse down - as this is only added after mouseDown\n // and is removed when mouseUp happens\n DragService.prototype.onMouseMove = function (mouseEvent, el) {\n // The event type can be `mousedown` when `dragStartPixels=0`\n // we should only preventDefault on `mousemove`.\n if (isBrowserSafari() &&\n mouseEvent.type === 'mousemove' &&\n mouseEvent.cancelable &&\n this.mouseEventService.isEventFromThisGrid(mouseEvent) &&\n !this.isOverFormFieldElement(mouseEvent)) {\n mouseEvent.preventDefault();\n }\n this.onCommonMove(mouseEvent, this.mouseStartEvent, el);\n };\n DragService.prototype.isOverFormFieldElement = function (mouseEvent) {\n var _a, _b;\n var el = mouseEvent.target;\n var tagName = (_a = el) === null || _a === void 0 ? void 0 : _a.tagName.toLocaleLowerCase();\n return !!((_b = tagName) === null || _b === void 0 ? void 0 : _b.match('^a$|textarea|input|select|button'));\n };\n DragService.prototype.onTouchUp = function (touchEvent, el) {\n var touch = this.getFirstActiveTouch(touchEvent.changedTouches);\n // i haven't worked this out yet, but there is no matching touch\n // when we get the touch up event. to get around this, we swap in\n // the last touch. this is a hack to 'get it working' while we\n // figure out what's going on, why we are not getting a touch in\n // current event.\n if (!touch) {\n touch = this.touchLastTime;\n }\n // if mouse was left up before we started to move, then this is a tap.\n // we check this before onUpCommon as onUpCommon resets the dragging\n // let tap = !this.dragging;\n // let tapTarget = this.currentDragParams.eElement;\n this.onUpCommon(touch, el);\n // if tap, tell user\n // console.log(`${Math.random()} tap = ${tap}`);\n // if (tap) {\n // tapTarget.click();\n // }\n };\n DragService.prototype.onMouseUp = function (mouseEvent, el) {\n this.onUpCommon(mouseEvent, el);\n };\n DragService.prototype.onUpCommon = function (eventOrTouch, el) {\n if (this.dragging) {\n this.dragging = false;\n this.currentDragParams.onDragStop(eventOrTouch);\n var event_2 = {\n type: Events.EVENT_DRAG_STOPPED,\n api: this.gridApi,\n columnApi: this.columnApi,\n target: el\n };\n this.eventService.dispatchEvent(event_2);\n }\n this.mouseStartEvent = null;\n this.touchStart = null;\n this.touchLastTime = null;\n this.currentDragParams = null;\n this.dragEndFunctions.forEach(function (func) { return func(); });\n this.dragEndFunctions.length = 0;\n };\n __decorate$F([\n Autowired('loggerFactory')\n ], DragService.prototype, \"loggerFactory\", void 0);\n __decorate$F([\n Autowired('columnApi')\n ], DragService.prototype, \"columnApi\", void 0);\n __decorate$F([\n Autowired('gridApi')\n ], DragService.prototype, \"gridApi\", void 0);\n __decorate$F([\n Autowired('mouseEventService')\n ], DragService.prototype, \"mouseEventService\", void 0);\n __decorate$F([\n PostConstruct\n ], DragService.prototype, \"init\", null);\n __decorate$F([\n PreDestroy\n ], DragService.prototype, \"removeAllListeners\", null);\n DragService = __decorate$F([\n Bean('dragService')\n ], DragService);\n return DragService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$N = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign$8 = (undefined && undefined.__assign) || function () {\n __assign$8 = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign$8.apply(this, arguments);\n};\nvar __decorate$G = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar FilterManager = /** @class */ (function (_super) {\n __extends$N(FilterManager, _super);\n function FilterManager() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.allColumnFilters = new Map();\n _this.activeAggregateFilters = [];\n _this.activeColumnFilters = [];\n _this.quickFilter = null;\n _this.quickFilterParts = null;\n // this is true when the grid is processing the filter change. this is used by the cell comps, so that they\n // don't flash when data changes due to filter changes. there is no need to flash when filter changes as the\n // user is in control, so doesn't make sense to show flashing changes. for example, go to main demo where\n // this feature is turned off (hack code to always return false for isSuppressFlashingCellsBecauseFiltering(), put in)\n // 100,000 rows and group by country. then do some filtering. all the cells flash, which is silly.\n _this.processingFilterChange = false;\n return _this;\n }\n FilterManager_1 = FilterManager;\n FilterManager.prototype.init = function () {\n var _this = this;\n this.addManagedListener(this.eventService, Events.EVENT_GRID_COLUMNS_CHANGED, function () { return _this.onColumnsChanged(); });\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_VALUE_CHANGED, function () { return _this.refreshFiltersForAggregations(); });\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_PIVOT_CHANGED, function () { return _this.refreshFiltersForAggregations(); });\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_PIVOT_MODE_CHANGED, function () { return _this.refreshFiltersForAggregations(); });\n this.quickFilter = this.parseQuickFilter(this.gridOptionsWrapper.getQuickFilterText());\n this.setQuickFilterParts();\n this.allowShowChangeAfterFilter = this.gridOptionsWrapper.isAllowShowChangeAfterFilter();\n };\n FilterManager.prototype.setQuickFilterParts = function () {\n this.quickFilterParts = this.quickFilter ? this.quickFilter.split(' ') : null;\n };\n FilterManager.prototype.setFilterModel = function (model) {\n var _this = this;\n var allPromises = [];\n var previousModel = this.getFilterModel();\n if (model) {\n // mark the filters as we set them, so any active filters left over we stop\n var modelKeys_1 = convertToSet(Object.keys(model));\n this.allColumnFilters.forEach(function (filterWrapper, colId) {\n var newModel = model[colId];\n allPromises.push(_this.setModelOnFilterWrapper(filterWrapper.filterPromise, newModel));\n modelKeys_1.delete(colId);\n });\n // at this point, processedFields contains data for which we don't have a filter working yet\n modelKeys_1.forEach(function (colId) {\n var column = _this.columnModel.getPrimaryColumn(colId) || _this.columnModel.getGridColumn(colId);\n if (!column) {\n console.warn('AG Grid: setFilterModel() - no column found for colId: ' + colId);\n return;\n }\n if (!column.isFilterAllowed()) {\n console.warn('AG Grid: setFilterModel() - unable to fully apply model, filtering disabled for colId: ' + colId);\n return;\n }\n var filterWrapper = _this.getOrCreateFilterWrapper(column, 'NO_UI');\n if (!filterWrapper) {\n console.warn('AG-Grid: setFilterModel() - unable to fully apply model, unable to create filter for colId: ' + colId);\n return;\n }\n allPromises.push(_this.setModelOnFilterWrapper(filterWrapper.filterPromise, model[colId]));\n });\n }\n else {\n this.allColumnFilters.forEach(function (filterWrapper) {\n allPromises.push(_this.setModelOnFilterWrapper(filterWrapper.filterPromise, null));\n });\n }\n AgPromise.all(allPromises).then(function () {\n var currentModel = _this.getFilterModel();\n var columns = [];\n _this.allColumnFilters.forEach(function (filterWrapper, colId) {\n var before = previousModel ? previousModel[colId] : null;\n var after = currentModel ? currentModel[colId] : null;\n if (!_.jsonEquals(before, after)) {\n columns.push(filterWrapper.column);\n }\n });\n if (columns.length > 0) {\n _this.onFilterChanged({ columns: columns });\n }\n });\n };\n FilterManager.prototype.setModelOnFilterWrapper = function (filterPromise, newModel) {\n return new AgPromise(function (resolve) {\n filterPromise.then(function (filter) {\n if (typeof filter.setModel !== 'function') {\n console.warn('AG Grid: filter missing setModel method, which is needed for setFilterModel');\n resolve();\n }\n (filter.setModel(newModel) || AgPromise.resolve()).then(function () { return resolve(); });\n });\n });\n };\n FilterManager.prototype.getFilterModel = function () {\n var result = {};\n this.allColumnFilters.forEach(function (filterWrapper, key) {\n // because user can provide filters, we provide useful error checking and messages\n var filterPromise = filterWrapper.filterPromise;\n var filter = filterPromise.resolveNow(null, function (promiseFilter) { return promiseFilter; });\n if (filter == null) {\n return null;\n }\n if (typeof filter.getModel !== 'function') {\n console.warn('AG Grid: filter API missing getModel method, which is needed for getFilterModel');\n return;\n }\n var model = filter.getModel();\n if (exists(model)) {\n result[key] = model;\n }\n });\n return result;\n };\n FilterManager.prototype.isColumnFilterPresent = function () {\n return this.activeColumnFilters.length > 0;\n };\n FilterManager.prototype.isAggregateFilterPresent = function () {\n return !!this.activeAggregateFilters.length;\n };\n FilterManager.prototype.doAggregateFiltersPass = function (node, filterToSkip) {\n return this.doColumnFiltersPass(node, filterToSkip, true);\n };\n // called by:\n // 1) onFilterChanged()\n // 2) onNewRowsLoaded()\n FilterManager.prototype.updateActiveFilters = function () {\n var _this = this;\n this.activeColumnFilters.length = 0;\n this.activeAggregateFilters.length = 0;\n var isFilterActive = function (filter) {\n if (!filter) {\n return false;\n } // this never happens, including to avoid compile error\n if (!filter.isFilterActive) {\n console.warn('AG Grid: Filter is missing isFilterActive() method');\n return false;\n }\n return filter.isFilterActive();\n };\n var groupFilterEnabled = !!this.gridOptionsWrapper.getGroupAggFiltering();\n var isAggFilter = function (column) {\n var isSecondary = !column.isPrimary();\n // the only filters that can appear on secondary columns are groupAgg filters\n if (isSecondary) {\n return true;\n }\n var isShowingPrimaryColumns = !_this.columnModel.isPivotActive();\n var isValueActive = column.isValueActive();\n // primary columns are only ever groupAgg filters if a) value is active and b) showing primary columns\n if (!isValueActive || !isShowingPrimaryColumns) {\n return false;\n }\n // from here on we know: isPrimary=true, isValueActive=true, isShowingPrimaryColumns=true\n if (_this.columnModel.isPivotMode()) {\n // primary column is pretending to be a pivot column, ie pivotMode=true, but we are\n // still showing primary columns\n return true;\n }\n else {\n // we are not pivoting, so we groupFilter when it's an agg column\n return groupFilterEnabled;\n }\n };\n this.allColumnFilters.forEach(function (filterWrapper) {\n if (filterWrapper.filterPromise.resolveNow(false, isFilterActive)) {\n var filterComp = filterWrapper.filterPromise.resolveNow(null, function (filter) { return filter; });\n if (isAggFilter(filterWrapper.column)) {\n _this.activeAggregateFilters.push(filterComp);\n }\n else {\n _this.activeColumnFilters.push(filterComp);\n }\n }\n });\n };\n FilterManager.prototype.updateFilterFlagInColumns = function (source, additionalEventAttributes) {\n this.allColumnFilters.forEach(function (filterWrapper) {\n var isFilterActive = filterWrapper.filterPromise.resolveNow(false, function (filter) { return filter.isFilterActive(); });\n filterWrapper.column.setFilterActive(isFilterActive, source, additionalEventAttributes);\n });\n };\n FilterManager.prototype.isAnyFilterPresent = function () {\n return this.isQuickFilterPresent() || this.isColumnFilterPresent() || this.isAggregateFilterPresent() || this.gridOptionsWrapper.isExternalFilterPresent();\n };\n FilterManager.prototype.doColumnFiltersPass = function (node, filterToSkip, targetAggregates) {\n var data = node.data, aggData = node.aggData;\n var targetedFilters = targetAggregates ? this.activeAggregateFilters : this.activeColumnFilters;\n var targetedData = targetAggregates ? aggData : data;\n for (var i = 0; i < targetedFilters.length; i++) {\n var filter = targetedFilters[i];\n if (filter == null || filter === filterToSkip) {\n continue;\n }\n if (typeof filter.doesFilterPass !== 'function') {\n // because users can do custom filters, give nice error message\n throw new Error('Filter is missing method doesFilterPass');\n }\n if (!filter.doesFilterPass({ node: node, data: targetedData })) {\n return false;\n }\n }\n return true;\n };\n FilterManager.prototype.parseQuickFilter = function (newFilter) {\n if (!exists(newFilter)) {\n return null;\n }\n if (!this.gridOptionsWrapper.isRowModelDefault()) {\n console.warn('AG Grid - Quick filtering only works with the Client-Side Row Model');\n return null;\n }\n return newFilter.toUpperCase();\n };\n FilterManager.prototype.setQuickFilter = function (newFilter) {\n if (newFilter != null && typeof newFilter !== 'string') {\n console.warn(\"AG Grid - setQuickFilter() only supports string inputs, received: \" + typeof newFilter);\n return;\n }\n var parsedFilter = this.parseQuickFilter(newFilter);\n if (this.quickFilter !== parsedFilter) {\n this.quickFilter = parsedFilter;\n this.setQuickFilterParts();\n this.onFilterChanged();\n }\n };\n FilterManager.prototype.refreshFiltersForAggregations = function () {\n var isAggFiltering = this.gridOptionsWrapper.getGroupAggFiltering();\n if (isAggFiltering) {\n this.onFilterChanged();\n }\n };\n // sometimes (especially in React) the filter can call onFilterChanged when we are in the middle\n // of a render cycle. this would be bad, so we wait for render cycle to complete when this happens.\n // this happens in react when we change React State in the grid (eg setting RowCtrl's in RowContainer)\n // which results in React State getting applied in the main application, triggering a useEffect() to\n // be kicked off adn then the application calling the grid's API. in AG-6554, the custom filter was\n // getting it's useEffect() triggered in this way.\n FilterManager.prototype.callOnFilterChangedOutsideRenderCycle = function (params) {\n var _this = this;\n if (params === void 0) { params = {}; }\n var action = function () { return _this.onFilterChanged(params); };\n if (this.rowRenderer.isRefreshInProgress()) {\n setTimeout(action, 0);\n }\n else {\n action();\n }\n };\n FilterManager.prototype.onFilterChanged = function (params) {\n if (params === void 0) { params = {}; }\n var filterInstance = params.filterInstance, additionalEventAttributes = params.additionalEventAttributes, columns = params.columns;\n this.updateActiveFilters();\n this.updateFilterFlagInColumns('filterChanged', additionalEventAttributes);\n this.allColumnFilters.forEach(function (filterWrapper) {\n if (!filterWrapper.filterPromise) {\n return;\n }\n filterWrapper.filterPromise.then(function (filter) {\n if (filter && filter !== filterInstance && filter.onAnyFilterChanged) {\n filter.onAnyFilterChanged();\n }\n });\n });\n var filterChangedEvent = {\n type: Events.EVENT_FILTER_CHANGED,\n api: this.gridApi,\n columnApi: this.columnApi,\n columns: columns || [],\n };\n if (additionalEventAttributes) {\n mergeDeep(filterChangedEvent, additionalEventAttributes);\n }\n // because internal events are not async in ag-grid, when the dispatchEvent\n // method comes back, we know all listeners have finished executing.\n this.processingFilterChange = true;\n this.eventService.dispatchEvent(filterChangedEvent);\n this.processingFilterChange = false;\n };\n FilterManager.prototype.isSuppressFlashingCellsBecauseFiltering = function () {\n // if user has elected to always flash cell changes, then always return false, otherwise we suppress flashing\n // changes when filtering\n return !this.allowShowChangeAfterFilter && this.processingFilterChange;\n };\n FilterManager.prototype.isQuickFilterPresent = function () {\n return this.quickFilter !== null;\n };\n FilterManager.prototype.doesRowPassOtherFilters = function (filterToSkip, node) {\n return this.doesRowPassFilter({ rowNode: node, filterInstanceToSkip: filterToSkip });\n };\n FilterManager.prototype.doesRowPassQuickFilterNoCache = function (node, filterPart) {\n var _this = this;\n var columns = this.columnModel.getAllColumnsForQuickFilter();\n return columns.some(function (column) {\n var part = _this.getQuickFilterTextForColumn(column, node);\n return exists(part) && part.indexOf(filterPart) >= 0;\n });\n };\n FilterManager.prototype.doesRowPassQuickFilterCache = function (node, filterPart) {\n if (!node.quickFilterAggregateText) {\n this.aggregateRowForQuickFilter(node);\n }\n return node.quickFilterAggregateText.indexOf(filterPart) >= 0;\n };\n FilterManager.prototype.doesRowPassQuickFilter = function (node) {\n var _this = this;\n var usingCache = this.gridOptionsWrapper.isCacheQuickFilter();\n // each part must pass, if any fails, then the whole filter fails\n return this.quickFilterParts.every(function (part) {\n return usingCache ? _this.doesRowPassQuickFilterCache(node, part) : _this.doesRowPassQuickFilterNoCache(node, part);\n });\n };\n FilterManager.prototype.doesRowPassAggregateFilters = function (params) {\n if (this.isAggregateFilterPresent() && !this.doAggregateFiltersPass(params.rowNode, params.filterInstanceToSkip)) {\n return false;\n }\n // got this far, all filters pass\n return true;\n };\n FilterManager.prototype.doesRowPassFilter = function (params) {\n // the row must pass ALL of the filters, so if any of them fail,\n // we return true. that means if a row passes the quick filter,\n // but fails the column filter, it fails overall\n // first up, check quick filter\n if (this.isQuickFilterPresent() && !this.doesRowPassQuickFilter(params.rowNode)) {\n return false;\n }\n // secondly, give the client a chance to reject this row\n if (this.gridOptionsWrapper.isExternalFilterPresent() && !this.gridOptionsWrapper.doesExternalFilterPass(params.rowNode)) {\n return false;\n }\n // lastly, check column filter\n if (this.isColumnFilterPresent() && !this.doColumnFiltersPass(params.rowNode, params.filterInstanceToSkip)) {\n return false;\n }\n // got this far, all filters pass\n return true;\n };\n FilterManager.prototype.getQuickFilterTextForColumn = function (column, node) {\n var value = this.valueService.getValue(column, node, true);\n var colDef = column.getColDef();\n if (colDef.getQuickFilterText) {\n var params = {\n value: value,\n node: node,\n data: node.data,\n column: column,\n colDef: colDef,\n api: this.gridOptionsWrapper.getApi(),\n columnApi: this.gridOptionsWrapper.getColumnApi(),\n context: this.gridOptionsWrapper.getContext()\n };\n value = colDef.getQuickFilterText(params);\n }\n return exists(value) ? value.toString().toUpperCase() : null;\n };\n FilterManager.prototype.aggregateRowForQuickFilter = function (node) {\n var _this = this;\n var stringParts = [];\n var columns = this.columnModel.getAllColumnsForQuickFilter();\n columns.forEach(function (column) {\n var part = _this.getQuickFilterTextForColumn(column, node);\n if (exists(part)) {\n stringParts.push(part);\n }\n });\n node.quickFilterAggregateText = stringParts.join(FilterManager_1.QUICK_FILTER_SEPARATOR);\n };\n FilterManager.prototype.onNewRowsLoaded = function (source) {\n this.allColumnFilters.forEach(function (filterWrapper) {\n filterWrapper.filterPromise.then(function (filter) {\n if (filter.onNewRowsLoaded) {\n filter.onNewRowsLoaded();\n }\n });\n });\n this.updateFilterFlagInColumns(source);\n this.updateActiveFilters();\n };\n FilterManager.prototype.createValueGetter = function (column) {\n var _this = this;\n return function (_a) {\n var node = _a.node;\n return _this.valueService.getValue(column, node, true);\n };\n };\n FilterManager.prototype.getFilterComponent = function (column, source, createIfDoesNotExist) {\n if (createIfDoesNotExist === void 0) { createIfDoesNotExist = true; }\n var _a;\n if (createIfDoesNotExist) {\n return ((_a = this.getOrCreateFilterWrapper(column, source)) === null || _a === void 0 ? void 0 : _a.filterPromise) || null;\n }\n var filterWrapper = this.cachedFilter(column);\n return filterWrapper ? filterWrapper.filterPromise : null;\n };\n FilterManager.prototype.isFilterActive = function (column) {\n var filterWrapper = this.cachedFilter(column);\n return !!filterWrapper && filterWrapper.filterPromise.resolveNow(false, function (filter) { return filter.isFilterActive(); });\n };\n FilterManager.prototype.getOrCreateFilterWrapper = function (column, source) {\n if (!column.isFilterAllowed()) {\n return null;\n }\n var filterWrapper = this.cachedFilter(column);\n if (!filterWrapper) {\n filterWrapper = this.createFilterWrapper(column, source);\n this.allColumnFilters.set(column.getColId(), filterWrapper);\n }\n else if (source !== 'NO_UI') {\n this.putIntoGui(filterWrapper, source);\n }\n return filterWrapper;\n };\n FilterManager.prototype.cachedFilter = function (column) {\n return this.allColumnFilters.get(column.getColId());\n };\n FilterManager.prototype.createFilterInstance = function (column) {\n var _this = this;\n var defaultFilter = ModuleRegistry.isRegistered(exports.ModuleNames.SetFilterModule) ? 'agSetColumnFilter' : 'agTextColumnFilter';\n var colDef = column.getColDef();\n var filterInstance;\n var params = __assign$8(__assign$8({}, this.createFilterParams(column, colDef)), { filterModifiedCallback: function () {\n var event = {\n type: Events.EVENT_FILTER_MODIFIED,\n api: _this.gridApi,\n columnApi: _this.columnApi,\n column: column,\n filterInstance: filterInstance\n };\n _this.eventService.dispatchEvent(event);\n }, filterChangedCallback: function (additionalEventAttributes) {\n var params = { filterInstance: filterInstance, additionalEventAttributes: additionalEventAttributes, columns: [column] };\n _this.callOnFilterChangedOutsideRenderCycle(params);\n }, doesRowPassOtherFilter: function (node) { return _this.doesRowPassOtherFilters(filterInstance, node); } });\n var compDetails = this.userComponentFactory.getFilterDetails(colDef, params, defaultFilter);\n if (!compDetails) {\n return null;\n }\n var componentPromise = compDetails.newAgStackInstance();\n if (componentPromise) {\n componentPromise.then(function (r) { return filterInstance = r; });\n }\n return componentPromise;\n };\n FilterManager.prototype.createFilterParams = function (column, colDef) {\n var params = {\n api: this.gridOptionsWrapper.getApi(),\n columnApi: this.gridOptionsWrapper.getColumnApi(),\n column: column,\n colDef: cloneObject(colDef),\n rowModel: this.rowModel,\n filterChangedCallback: function () { },\n filterModifiedCallback: function () { },\n valueGetter: this.createValueGetter(column),\n context: this.gridOptionsWrapper.getContext(),\n doesRowPassOtherFilter: function () { return true; },\n };\n return params;\n };\n FilterManager.prototype.createFilterWrapper = function (column, source) {\n var filterWrapper = {\n column: column,\n filterPromise: null,\n compiledElement: null,\n guiPromise: AgPromise.resolve(null)\n };\n filterWrapper.filterPromise = this.createFilterInstance(column);\n if (filterWrapper.filterPromise) {\n this.putIntoGui(filterWrapper, source);\n }\n return filterWrapper;\n };\n FilterManager.prototype.putIntoGui = function (filterWrapper, source) {\n var _this = this;\n var eFilterGui = document.createElement('div');\n eFilterGui.className = 'ag-filter';\n filterWrapper.guiPromise = new AgPromise(function (resolve) {\n filterWrapper.filterPromise.then(function (filter) {\n var guiFromFilter = filter.getGui();\n if (!exists(guiFromFilter)) {\n console.warn(\"AG Grid: getGui method from filter returned \" + guiFromFilter + \", it should be a DOM element or an HTML template string.\");\n }\n // for backwards compatibility with Angular 1 - we\n // used to allow providing back HTML from getGui().\n // once we move away from supporting Angular 1\n // directly, we can change this.\n if (typeof guiFromFilter === 'string') {\n guiFromFilter = loadTemplate(guiFromFilter);\n }\n eFilterGui.appendChild(guiFromFilter);\n resolve(eFilterGui);\n _this.eventService.dispatchEvent({\n type: Events.EVENT_FILTER_OPENED,\n column: filterWrapper.column,\n source: source,\n eGui: eFilterGui,\n api: _this.gridApi,\n columnApi: _this.columnApi\n });\n });\n });\n };\n FilterManager.prototype.onColumnsChanged = function () {\n var _this = this;\n var columns = [];\n this.allColumnFilters.forEach(function (wrapper, colId) {\n var currentColumn;\n if (wrapper.column.isPrimary()) {\n currentColumn = _this.columnModel.getPrimaryColumn(colId);\n }\n else {\n currentColumn = _this.columnModel.getGridColumn(colId);\n }\n if (currentColumn) {\n return;\n }\n columns.push(wrapper.column);\n _this.disposeFilterWrapper(wrapper, 'filterDestroyed');\n });\n if (columns.length > 0) {\n this.onFilterChanged({ columns: columns });\n }\n };\n // destroys the filter, so it not longer takes part\n FilterManager.prototype.destroyFilter = function (column, source) {\n if (source === void 0) { source = 'api'; }\n var filterWrapper = this.allColumnFilters.get(column.getColId());\n if (filterWrapper) {\n this.disposeFilterWrapper(filterWrapper, source);\n this.onFilterChanged({ columns: [column] });\n }\n };\n FilterManager.prototype.disposeFilterWrapper = function (filterWrapper, source) {\n var _this = this;\n filterWrapper.filterPromise.then(function (filter) {\n (filter.setModel(null) || AgPromise.resolve()).then(function () {\n _this.getContext().destroyBean(filter);\n filterWrapper.column.setFilterActive(false, source);\n _this.allColumnFilters.delete(filterWrapper.column.getColId());\n });\n });\n };\n FilterManager.prototype.destroy = function () {\n var _this = this;\n _super.prototype.destroy.call(this);\n this.allColumnFilters.forEach(function (filterWrapper) { return _this.disposeFilterWrapper(filterWrapper, 'filterDestroyed'); });\n };\n var FilterManager_1;\n FilterManager.QUICK_FILTER_SEPARATOR = '\\n';\n __decorate$G([\n Autowired('valueService')\n ], FilterManager.prototype, \"valueService\", void 0);\n __decorate$G([\n Autowired('columnModel')\n ], FilterManager.prototype, \"columnModel\", void 0);\n __decorate$G([\n Autowired('rowModel')\n ], FilterManager.prototype, \"rowModel\", void 0);\n __decorate$G([\n Autowired('columnApi')\n ], FilterManager.prototype, \"columnApi\", void 0);\n __decorate$G([\n Autowired('gridApi')\n ], FilterManager.prototype, \"gridApi\", void 0);\n __decorate$G([\n Autowired('userComponentFactory')\n ], FilterManager.prototype, \"userComponentFactory\", void 0);\n __decorate$G([\n Autowired('rowRenderer')\n ], FilterManager.prototype, \"rowRenderer\", void 0);\n __decorate$G([\n PostConstruct\n ], FilterManager.prototype, \"init\", null);\n __decorate$G([\n PreDestroy\n ], FilterManager.prototype, \"destroy\", null);\n FilterManager = FilterManager_1 = __decorate$G([\n Bean('filterManager')\n ], FilterManager);\n return FilterManager;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$O = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar AbstractHeaderCellComp = /** @class */ (function (_super) {\n __extends$O(AbstractHeaderCellComp, _super);\n function AbstractHeaderCellComp(template, ctrl) {\n var _this = _super.call(this, template) || this;\n _this.ctrl = ctrl;\n return _this;\n }\n AbstractHeaderCellComp.prototype.getCtrl = function () {\n return this.ctrl;\n };\n return AbstractHeaderCellComp;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$P = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$H = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar HeaderFilterCellComp = /** @class */ (function (_super) {\n __extends$P(HeaderFilterCellComp, _super);\n function HeaderFilterCellComp(ctrl) {\n return _super.call(this, HeaderFilterCellComp.TEMPLATE, ctrl) || this;\n }\n HeaderFilterCellComp.prototype.postConstruct = function () {\n var _this = this;\n var eGui = this.getGui();\n var compProxy = {\n addOrRemoveCssClass: function (cssClassName, on) { return _this.addOrRemoveCssClass(cssClassName, on); },\n addOrRemoveBodyCssClass: function (cssClassName, on) { return _this.eFloatingFilterBody.classList.toggle(cssClassName, on); },\n addOrRemoveButtonWrapperCssClass: function (cssClassName, on) { return _this.eButtonWrapper.classList.toggle(cssClassName, on); },\n setCompDetails: function (compDetails) { return _this.setCompDetails(compDetails); },\n getFloatingFilterComp: function () { return _this.compPromise; },\n setWidth: function (width) { return eGui.style.width = width; },\n setMenuIcon: function (eIcon) { return _this.eButtonShowMainFilter.appendChild(eIcon); }\n };\n this.ctrl.setComp(compProxy, eGui, this.eButtonShowMainFilter, this.eFloatingFilterBody);\n };\n HeaderFilterCellComp.prototype.setCompDetails = function (compDetails) {\n var _this = this;\n // because we are providing defaultFloatingFilterType, we know it will never be undefined;\n this.compPromise = compDetails.newAgStackInstance();\n this.compPromise.then(function (comp) { return _this.afterCompCreated(comp); });\n };\n HeaderFilterCellComp.prototype.afterCompCreated = function (comp) {\n var _this = this;\n if (!comp) {\n return;\n }\n this.addDestroyFunc(function () { return _this.context.destroyBean(comp); });\n if (!this.isAlive()) {\n return;\n }\n this.eFloatingFilterBody.appendChild(comp.getGui());\n if (comp.afterGuiAttached) {\n comp.afterGuiAttached();\n }\n };\n HeaderFilterCellComp.TEMPLATE = \"
\\n
\\n
\\n \\n
\\n
\";\n __decorate$H([\n RefSelector('eFloatingFilterBody')\n ], HeaderFilterCellComp.prototype, \"eFloatingFilterBody\", void 0);\n __decorate$H([\n RefSelector('eButtonWrapper')\n ], HeaderFilterCellComp.prototype, \"eButtonWrapper\", void 0);\n __decorate$H([\n RefSelector('eButtonShowMainFilter')\n ], HeaderFilterCellComp.prototype, \"eButtonShowMainFilter\", void 0);\n __decorate$H([\n PostConstruct\n ], HeaderFilterCellComp.prototype, \"postConstruct\", null);\n return HeaderFilterCellComp;\n}(AbstractHeaderCellComp));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar SideBarDefParser = /** @class */ (function () {\n function SideBarDefParser() {\n }\n SideBarDefParser.parse = function (toParse) {\n if (!toParse) {\n return null;\n }\n if (toParse === true) {\n return {\n toolPanels: [\n SideBarDefParser.DEFAULT_COLUMN_COMP,\n SideBarDefParser.DEFAULT_FILTER_COMP,\n ],\n defaultToolPanel: 'columns'\n };\n }\n if (typeof toParse === 'string') {\n return SideBarDefParser.parse([toParse]);\n }\n if (Array.isArray(toParse)) {\n var comps_1 = [];\n toParse.forEach(function (key) {\n var lookupResult = SideBarDefParser.DEFAULT_BY_KEY[key];\n if (!lookupResult) {\n console.warn(\"AG Grid: the key \" + key + \" is not a valid key for specifying a tool panel, valid keys are: \" + Object.keys(SideBarDefParser.DEFAULT_BY_KEY).join(','));\n return;\n }\n comps_1.push(lookupResult);\n });\n if (comps_1.length === 0) {\n return null;\n }\n return {\n toolPanels: comps_1,\n defaultToolPanel: comps_1[0].id\n };\n }\n var result = {\n toolPanels: SideBarDefParser.parseComponents(toParse.toolPanels),\n defaultToolPanel: toParse.defaultToolPanel,\n hiddenByDefault: toParse.hiddenByDefault,\n position: toParse.position\n };\n return result;\n };\n SideBarDefParser.parseComponents = function (from) {\n var result = [];\n if (!from) {\n return result;\n }\n from.forEach(function (it) {\n var toAdd = null;\n if (typeof it === 'string') {\n var lookupResult = SideBarDefParser.DEFAULT_BY_KEY[it];\n if (!lookupResult) {\n console.warn(\"AG Grid: the key \" + it + \" is not a valid key for specifying a tool panel, valid keys are: \" + Object.keys(SideBarDefParser.DEFAULT_BY_KEY).join(','));\n return;\n }\n toAdd = lookupResult;\n }\n else {\n toAdd = it;\n }\n result.push(toAdd);\n });\n return result;\n };\n SideBarDefParser.DEFAULT_COLUMN_COMP = {\n id: 'columns',\n labelDefault: 'Columns',\n labelKey: 'columns',\n iconKey: 'columns',\n toolPanel: 'agColumnsToolPanel',\n };\n SideBarDefParser.DEFAULT_FILTER_COMP = {\n id: 'filters',\n labelDefault: 'Filters',\n labelKey: 'filters',\n iconKey: 'filter',\n toolPanel: 'agFiltersToolPanel',\n };\n SideBarDefParser.DEFAULT_BY_KEY = {\n columns: SideBarDefParser.DEFAULT_COLUMN_COMP,\n filters: SideBarDefParser.DEFAULT_FILTER_COMP\n };\n return SideBarDefParser;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __assign$9 = (undefined && undefined.__assign) || function () {\n __assign$9 = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign$9.apply(this, arguments);\n};\nvar __decorate$I = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __param$3 = (undefined && undefined.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nvar __read$6 = (undefined && undefined.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spread$4 = (undefined && undefined.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read$6(arguments[i]));\n return ar;\n};\nvar DEFAULT_ROW_HEIGHT = 25;\nvar DEFAULT_DETAIL_ROW_HEIGHT = 300;\nvar DEFAULT_VIEWPORT_ROW_MODEL_PAGE_SIZE = 5;\nvar DEFAULT_VIEWPORT_ROW_MODEL_BUFFER_SIZE = 5;\nvar DEFAULT_KEEP_DETAIL_ROW_COUNT = 10;\nfunction isTrue(value) {\n return value === true || value === 'true';\n}\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (typeof value == 'string') {\n return parseInt(value, 10);\n }\n}\nfunction zeroOrGreater(value, defaultValue) {\n if (value >= 0) {\n return value;\n }\n // zero gets returned if number is missing or the wrong type\n return defaultValue;\n}\nfunction oneOrGreater(value, defaultValue) {\n var valueNumber = parseInt(value, 10);\n if (isNumeric(valueNumber) && valueNumber > 0) {\n return valueNumber;\n }\n return defaultValue;\n}\nvar GridOptionsWrapper = /** @class */ (function () {\n function GridOptionsWrapper() {\n this.propertyEventService = new EventService();\n this.domDataKey = '__AG_' + Math.random().toString();\n this.destroyed = false;\n }\n GridOptionsWrapper_1 = GridOptionsWrapper;\n GridOptionsWrapper.prototype.agWire = function (gridApi, columnApi) {\n this.gridOptions.api = gridApi;\n this.gridOptions.columnApi = columnApi;\n this.checkForDeprecated();\n this.checkForViolations();\n };\n GridOptionsWrapper.prototype.destroy = function () {\n // need to remove these, as we don't own the lifecycle of the gridOptions, we need to\n // remove the references in case the user keeps the grid options, we want the rest\n // of the grid to be picked up by the garbage collector\n this.gridOptions.api = null;\n this.gridOptions.columnApi = null;\n this.destroyed = true;\n };\n GridOptionsWrapper.prototype.init = function () {\n var _this = this;\n if (this.gridOptions.suppressPropertyNamesCheck !== true) {\n this.checkGridOptionsProperties();\n this.checkColumnDefProperties();\n }\n // parse side bar options into correct format\n if (this.gridOptions.sideBar != null) {\n this.gridOptions.sideBar = SideBarDefParser.parse(this.gridOptions.sideBar);\n }\n var async = this.useAsyncEvents();\n this.eventService.addGlobalListener(this.globalEventHandler.bind(this), async);\n if (this.isGroupSelectsChildren() && this.isSuppressParentsInRowNodes()) {\n console.warn(\"AG Grid: 'groupSelectsChildren' does not work with 'suppressParentsInRowNodes', this selection method needs the part in rowNode to work\");\n }\n if (this.isGroupSelectsChildren()) {\n if (!this.isRowSelectionMulti()) {\n console.warn(\"AG Grid: rowSelection must be 'multiple' for groupSelectsChildren to make sense\");\n }\n if (this.isRowModelServerSide()) {\n console.warn('AG Grid: group selects children is NOT support for Server Side Row Model. ' +\n 'This is because the rows are lazy loaded, so selecting a group is not possible as' +\n 'the grid has no way of knowing what the children are.');\n }\n }\n if (this.isGroupRemoveSingleChildren() && this.isGroupHideOpenParents()) {\n console.warn(\"AG Grid: groupRemoveSingleChildren and groupHideOpenParents do not work with each other, you need to pick one. And don't ask us how to us these together on our support forum either you will get the same answer!\");\n }\n if (this.isRowModelServerSide()) {\n var msg = function (prop) { return \"AG Grid: '\" + prop + \"' is not supported on the Server-Side Row Model\"; };\n if (exists(this.gridOptions.groupDefaultExpanded)) {\n console.warn(msg('groupDefaultExpanded'));\n }\n if (exists(this.gridOptions.groupDefaultExpanded)) {\n console.warn(msg('groupIncludeFooter'));\n }\n if (exists(this.gridOptions.groupDefaultExpanded)) {\n console.warn(msg('groupIncludeTotalFooter'));\n }\n }\n if (this.isEnableRangeSelection()) {\n ModuleRegistry.assertRegistered(exports.ModuleNames.RangeSelectionModule, 'enableRangeSelection');\n }\n if (!this.isEnableRangeSelection() && (this.isEnableRangeHandle() || this.isEnableFillHandle())) {\n console.warn(\"AG Grid: 'enableRangeHandle' and 'enableFillHandle' will not work unless 'enableRangeSelection' is set to true\");\n }\n var warnOfDeprecaredIcon = function (name) {\n if (_this.gridOptions.icons && _this.gridOptions.icons[name]) {\n console.warn(\"gridOptions.icons.\" + name + \" is no longer supported. For information on how to style checkboxes and radio buttons, see https://www.ag-grid.com/javascript-grid-icons/\");\n }\n };\n warnOfDeprecaredIcon('radioButtonOff');\n warnOfDeprecaredIcon('radioButtonOn');\n warnOfDeprecaredIcon('checkboxChecked');\n warnOfDeprecaredIcon('checkboxUnchecked');\n warnOfDeprecaredIcon('checkboxIndeterminate');\n // sets an initial calculation for the scrollbar width\n this.getScrollbarWidth();\n };\n GridOptionsWrapper.prototype.checkColumnDefProperties = function () {\n var _this = this;\n if (this.gridOptions.columnDefs == null) {\n return;\n }\n this.gridOptions.columnDefs.forEach(function (colDef) {\n var userProperties = Object.getOwnPropertyNames(colDef);\n var validProperties = __spread$4(ColDefUtil.ALL_PROPERTIES, ColDefUtil.FRAMEWORK_PROPERTIES);\n _this.checkProperties(userProperties, validProperties, validProperties, 'colDef', 'https://www.ag-grid.com/javascript-grid-column-properties/');\n });\n };\n GridOptionsWrapper.prototype.checkGridOptionsProperties = function () {\n var userProperties = Object.getOwnPropertyNames(this.gridOptions);\n var validProperties = __spread$4(PropertyKeys.ALL_PROPERTIES, PropertyKeys.FRAMEWORK_PROPERTIES, values(Events).map(function (event) { return ComponentUtil.getCallbackForEvent(event); }));\n var validPropertiesAndExceptions = __spread$4(validProperties, ['api', 'columnApi']);\n this.checkProperties(userProperties, validPropertiesAndExceptions, validProperties, 'gridOptions', 'https://www.ag-grid.com/javascript-data-grid/grid-options/');\n };\n GridOptionsWrapper.prototype.checkProperties = function (userProperties, validPropertiesAndExceptions, validProperties, containerName, docsUrl) {\n var invalidProperties = fuzzyCheckStrings(userProperties, validPropertiesAndExceptions, validProperties);\n iterateObject(invalidProperties, function (key, value) {\n console.warn(\"ag-grid: invalid \" + containerName + \" property '\" + key + \"' did you mean any of these: \" + value.slice(0, 8).join(\", \"));\n });\n if (Object.keys(invalidProperties).length > 0) {\n console.warn(\"ag-grid: to see all the valid \" + containerName + \" properties please check: \" + docsUrl);\n }\n };\n /**\n * Wrap the user callback and attach the api, columnApi and context to the params object on the way through.\n * @param callback User provided callback\n * @returns Wrapped callback where the params object not require api, columnApi and context\n */\n GridOptionsWrapper.prototype.mergeGridCommonParams = function (callback) {\n var _this = this;\n if (callback) {\n var wrapped = function (callbackParams) {\n var mergedParams = __assign$9(__assign$9({}, callbackParams), { api: _this.getApi(), columnApi: _this.getColumnApi(), context: _this.getContext() });\n return callback(mergedParams);\n };\n return wrapped;\n }\n return callback;\n };\n GridOptionsWrapper.prototype.getDomDataKey = function () {\n return this.domDataKey;\n };\n // returns the dom data, or undefined if not found\n GridOptionsWrapper.prototype.getDomData = function (element, key) {\n var domData = element[this.getDomDataKey()];\n return domData ? domData[key] : undefined;\n };\n GridOptionsWrapper.prototype.setDomData = function (element, key, value) {\n var domDataKey = this.getDomDataKey();\n var domData = element[domDataKey];\n if (missing(domData)) {\n domData = {};\n element[domDataKey] = domData;\n }\n domData[key] = value;\n };\n GridOptionsWrapper.prototype.isRowSelection = function () {\n return this.gridOptions.rowSelection === 'single' || this.gridOptions.rowSelection === 'multiple';\n };\n GridOptionsWrapper.prototype.isSuppressRowDeselection = function () {\n return isTrue(this.gridOptions.suppressRowDeselection);\n };\n GridOptionsWrapper.prototype.isRowSelectionMulti = function () {\n return this.gridOptions.rowSelection === 'multiple';\n };\n GridOptionsWrapper.prototype.isRowMultiSelectWithClick = function () {\n return isTrue(this.gridOptions.rowMultiSelectWithClick);\n };\n GridOptionsWrapper.prototype.getContext = function () {\n return this.gridOptions.context;\n };\n GridOptionsWrapper.prototype.isPivotMode = function () {\n return isTrue(this.gridOptions.pivotMode);\n };\n GridOptionsWrapper.prototype.isSuppressExpandablePivotGroups = function () {\n return isTrue(this.gridOptions.suppressExpandablePivotGroups);\n };\n GridOptionsWrapper.prototype.getPivotColumnGroupTotals = function () {\n return this.gridOptions.pivotColumnGroupTotals;\n };\n GridOptionsWrapper.prototype.getPivotRowTotals = function () {\n return this.gridOptions.pivotRowTotals;\n };\n GridOptionsWrapper.prototype.isRowModelInfinite = function () {\n return this.gridOptions.rowModelType === Constants.ROW_MODEL_TYPE_INFINITE;\n };\n GridOptionsWrapper.prototype.isRowModelViewport = function () {\n return this.gridOptions.rowModelType === Constants.ROW_MODEL_TYPE_VIEWPORT;\n };\n GridOptionsWrapper.prototype.isRowModelServerSide = function () {\n return this.gridOptions.rowModelType === Constants.ROW_MODEL_TYPE_SERVER_SIDE;\n };\n GridOptionsWrapper.prototype.isRowModelDefault = function () {\n return (missing(this.gridOptions.rowModelType) ||\n this.gridOptions.rowModelType === Constants.ROW_MODEL_TYPE_CLIENT_SIDE);\n };\n GridOptionsWrapper.prototype.isFullRowEdit = function () {\n return this.gridOptions.editType === 'fullRow';\n };\n GridOptionsWrapper.prototype.isSuppressFocusAfterRefresh = function () {\n return isTrue(this.gridOptions.suppressFocusAfterRefresh);\n };\n GridOptionsWrapper.prototype.isSuppressBrowserResizeObserver = function () {\n return isTrue(this.gridOptions.suppressBrowserResizeObserver);\n };\n GridOptionsWrapper.prototype.isSuppressMaintainUnsortedOrder = function () {\n return isTrue(this.gridOptions.suppressMaintainUnsortedOrder);\n };\n GridOptionsWrapper.prototype.isSuppressClearOnFillReduction = function () {\n return isTrue(this.gridOptions.suppressClearOnFillReduction);\n };\n GridOptionsWrapper.prototype.isShowToolPanel = function () {\n return isTrue(this.gridOptions.sideBar && Array.isArray(this.getSideBar().toolPanels));\n };\n GridOptionsWrapper.prototype.getSideBar = function () {\n return this.gridOptions.sideBar;\n };\n GridOptionsWrapper.prototype.isSuppressTouch = function () {\n return isTrue(this.gridOptions.suppressTouch);\n };\n GridOptionsWrapper.prototype.isMaintainColumnOrder = function () {\n return isTrue(this.gridOptions.maintainColumnOrder);\n };\n GridOptionsWrapper.prototype.isSuppressRowTransform = function () {\n return isTrue(this.gridOptions.suppressRowTransform);\n };\n GridOptionsWrapper.prototype.isSuppressColumnStateEvents = function () {\n return isTrue(this.gridOptions.suppressColumnStateEvents);\n };\n GridOptionsWrapper.prototype.isAllowDragFromColumnsToolPanel = function () {\n return isTrue(this.gridOptions.allowDragFromColumnsToolPanel);\n };\n GridOptionsWrapper.prototype.useAsyncEvents = function () {\n return !isTrue(this.gridOptions.suppressAsyncEvents);\n };\n GridOptionsWrapper.prototype.isEnableCellChangeFlash = function () {\n return isTrue(this.gridOptions.enableCellChangeFlash);\n };\n GridOptionsWrapper.prototype.getCellFlashDelay = function () {\n return this.gridOptions.cellFlashDelay || 500;\n };\n GridOptionsWrapper.prototype.getCellFadeDelay = function () {\n return this.gridOptions.cellFadeDelay || 1000;\n };\n GridOptionsWrapper.prototype.isGroupSelectsChildren = function () {\n return isTrue(this.gridOptions.groupSelectsChildren);\n };\n GridOptionsWrapper.prototype.isSuppressRowHoverHighlight = function () {\n return isTrue(this.gridOptions.suppressRowHoverHighlight);\n };\n GridOptionsWrapper.prototype.isColumnHoverHighlight = function () {\n return isTrue(this.gridOptions.columnHoverHighlight);\n };\n GridOptionsWrapper.prototype.isGroupSelectsFiltered = function () {\n return isTrue(this.gridOptions.groupSelectsFiltered);\n };\n GridOptionsWrapper.prototype.isGroupHideOpenParents = function () {\n return isTrue(this.gridOptions.groupHideOpenParents);\n };\n GridOptionsWrapper.prototype.isGroupMaintainOrder = function () {\n return isTrue(this.gridOptions.groupMaintainOrder);\n };\n GridOptionsWrapper.prototype.getAutoGroupColumnDef = function () {\n return this.gridOptions.autoGroupColumnDef;\n };\n GridOptionsWrapper.prototype.isGroupMultiAutoColumn = function () {\n if (this.gridOptions.groupDisplayType) {\n return this.matchesGroupDisplayType('multipleColumns', this.gridOptions.groupDisplayType);\n }\n // if we are doing hideOpenParents we also show multiple columns, otherwise hideOpenParents would not work\n return isTrue(this.gridOptions.groupHideOpenParents);\n };\n GridOptionsWrapper.prototype.isGroupUseEntireRow = function (pivotMode) {\n // we never allow groupUseEntireRow if in pivot mode, otherwise we won't see the pivot values.\n if (pivotMode) {\n return false;\n }\n return this.gridOptions.groupDisplayType ?\n this.matchesGroupDisplayType('groupRows', this.gridOptions.groupDisplayType) : false;\n };\n GridOptionsWrapper.prototype.isGroupSuppressAutoColumn = function () {\n var isCustomRowGroups = this.gridOptions.groupDisplayType ?\n this.matchesGroupDisplayType('custom', this.gridOptions.groupDisplayType) : false;\n if (isCustomRowGroups) {\n return true;\n }\n return this.gridOptions.treeDataDisplayType ?\n this.matchesTreeDataDisplayType('custom', this.gridOptions.treeDataDisplayType) : false;\n };\n GridOptionsWrapper.prototype.isGroupRemoveSingleChildren = function () {\n return isTrue(this.gridOptions.groupRemoveSingleChildren);\n };\n GridOptionsWrapper.prototype.isGroupRemoveLowestSingleChildren = function () {\n return isTrue(this.gridOptions.groupRemoveLowestSingleChildren);\n };\n GridOptionsWrapper.prototype.isGroupIncludeFooter = function () {\n return isTrue(this.gridOptions.groupIncludeFooter);\n };\n GridOptionsWrapper.prototype.isGroupIncludeTotalFooter = function () {\n return isTrue(this.gridOptions.groupIncludeTotalFooter);\n };\n GridOptionsWrapper.prototype.isGroupSuppressBlankHeader = function () {\n return isTrue(this.gridOptions.groupSuppressBlankHeader);\n };\n GridOptionsWrapper.prototype.isSuppressRowClickSelection = function () {\n return isTrue(this.gridOptions.suppressRowClickSelection);\n };\n GridOptionsWrapper.prototype.isSuppressCellFocus = function () {\n return isTrue(this.gridOptions.suppressCellFocus);\n };\n GridOptionsWrapper.prototype.isSuppressMultiSort = function () {\n return isTrue(this.gridOptions.suppressMultiSort);\n };\n GridOptionsWrapper.prototype.isAlwaysMultiSort = function () {\n return isTrue(this.gridOptions.alwaysMultiSort);\n };\n GridOptionsWrapper.prototype.isMultiSortKeyCtrl = function () {\n return this.gridOptions.multiSortKey === 'ctrl';\n };\n GridOptionsWrapper.prototype.isPivotSuppressAutoColumn = function () {\n return isTrue(this.gridOptions.pivotSuppressAutoColumn);\n };\n GridOptionsWrapper.prototype.isSuppressDragLeaveHidesColumns = function () {\n return isTrue(this.gridOptions.suppressDragLeaveHidesColumns);\n };\n GridOptionsWrapper.prototype.isSuppressScrollOnNewData = function () {\n return isTrue(this.gridOptions.suppressScrollOnNewData);\n };\n GridOptionsWrapper.prototype.isSuppressScrollWhenPopupsAreOpen = function () {\n return isTrue(this.gridOptions.suppressScrollWhenPopupsAreOpen);\n };\n GridOptionsWrapper.prototype.isRowDragEntireRow = function () {\n return isTrue(this.gridOptions.rowDragEntireRow);\n };\n GridOptionsWrapper.prototype.isSuppressRowDrag = function () {\n return isTrue(this.gridOptions.suppressRowDrag);\n };\n GridOptionsWrapper.prototype.isRowDragManaged = function () {\n return isTrue(this.gridOptions.rowDragManaged);\n };\n GridOptionsWrapper.prototype.isSuppressMoveWhenRowDragging = function () {\n return isTrue(this.gridOptions.suppressMoveWhenRowDragging);\n };\n GridOptionsWrapper.prototype.isRowDragMultiRow = function () {\n return isTrue(this.gridOptions.rowDragMultiRow);\n };\n // returns either 'print', 'autoHeight' or 'normal' (normal is the default)\n GridOptionsWrapper.prototype.getDomLayout = function () {\n var domLayout = this.gridOptions.domLayout || Constants.DOM_LAYOUT_NORMAL;\n var validLayouts = [\n Constants.DOM_LAYOUT_PRINT,\n Constants.DOM_LAYOUT_AUTO_HEIGHT,\n Constants.DOM_LAYOUT_NORMAL\n ];\n if (validLayouts.indexOf(domLayout) === -1) {\n doOnce(function () {\n return console.warn(\"AG Grid: \" + domLayout + \" is not valid for DOM Layout, valid values are \" + Constants.DOM_LAYOUT_NORMAL + \", \" + Constants.DOM_LAYOUT_AUTO_HEIGHT + \" and \" + Constants.DOM_LAYOUT_PRINT);\n }, 'warn about dom layout values');\n return Constants.DOM_LAYOUT_NORMAL;\n }\n return domLayout;\n };\n GridOptionsWrapper.prototype.isSuppressHorizontalScroll = function () {\n return isTrue(this.gridOptions.suppressHorizontalScroll);\n };\n GridOptionsWrapper.prototype.isSuppressMaxRenderedRowRestriction = function () {\n return isTrue(this.gridOptions.suppressMaxRenderedRowRestriction);\n };\n GridOptionsWrapper.prototype.isExcludeChildrenWhenTreeDataFiltering = function () {\n return isTrue(this.gridOptions.excludeChildrenWhenTreeDataFiltering);\n };\n GridOptionsWrapper.prototype.isAlwaysShowHorizontalScroll = function () {\n return isTrue(this.gridOptions.alwaysShowHorizontalScroll);\n };\n GridOptionsWrapper.prototype.isAlwaysShowVerticalScroll = function () {\n return isTrue(this.gridOptions.alwaysShowVerticalScroll);\n };\n GridOptionsWrapper.prototype.isDebounceVerticalScrollbar = function () {\n return isTrue(this.gridOptions.debounceVerticalScrollbar);\n };\n GridOptionsWrapper.prototype.isSuppressLoadingOverlay = function () {\n return isTrue(this.gridOptions.suppressLoadingOverlay);\n };\n GridOptionsWrapper.prototype.isSuppressNoRowsOverlay = function () {\n return isTrue(this.gridOptions.suppressNoRowsOverlay);\n };\n GridOptionsWrapper.prototype.isSuppressFieldDotNotation = function () {\n return isTrue(this.gridOptions.suppressFieldDotNotation);\n };\n GridOptionsWrapper.prototype.getPinnedTopRowData = function () {\n return this.gridOptions.pinnedTopRowData;\n };\n GridOptionsWrapper.prototype.getPinnedBottomRowData = function () {\n return this.gridOptions.pinnedBottomRowData;\n };\n GridOptionsWrapper.prototype.isFunctionsPassive = function () {\n return isTrue(this.gridOptions.functionsPassive);\n };\n GridOptionsWrapper.prototype.isSuppressChangeDetection = function () {\n return isTrue(this.gridOptions.suppressChangeDetection);\n };\n GridOptionsWrapper.prototype.isSuppressAnimationFrame = function () {\n return isTrue(this.gridOptions.suppressAnimationFrame);\n };\n GridOptionsWrapper.prototype.getQuickFilterText = function () {\n return this.gridOptions.quickFilterText;\n };\n GridOptionsWrapper.prototype.isCacheQuickFilter = function () {\n return isTrue(this.gridOptions.cacheQuickFilter);\n };\n GridOptionsWrapper.prototype.isUnSortIcon = function () {\n return isTrue(this.gridOptions.unSortIcon);\n };\n GridOptionsWrapper.prototype.isSuppressMenuHide = function () {\n return isTrue(this.gridOptions.suppressMenuHide);\n };\n GridOptionsWrapper.prototype.isEnterMovesDownAfterEdit = function () {\n return isTrue(this.gridOptions.enterMovesDownAfterEdit);\n };\n GridOptionsWrapper.prototype.isEnterMovesDown = function () {\n return isTrue(this.gridOptions.enterMovesDown);\n };\n GridOptionsWrapper.prototype.isUndoRedoCellEditing = function () {\n return isTrue(this.gridOptions.undoRedoCellEditing);\n };\n GridOptionsWrapper.prototype.getUndoRedoCellEditingLimit = function () {\n return toNumber(this.gridOptions.undoRedoCellEditingLimit);\n };\n GridOptionsWrapper.prototype.getRowStyle = function () {\n return this.gridOptions.rowStyle;\n };\n GridOptionsWrapper.prototype.getRowClass = function () {\n return this.gridOptions.rowClass;\n };\n GridOptionsWrapper.prototype.getRowStyleFunc = function () {\n return this.mergeGridCommonParams(this.gridOptions.getRowStyle);\n };\n GridOptionsWrapper.prototype.getRowClassFunc = function () {\n return this.mergeGridCommonParams(this.gridOptions.getRowClass);\n };\n GridOptionsWrapper.prototype.rowClassRules = function () {\n return this.gridOptions.rowClassRules;\n };\n GridOptionsWrapper.prototype.getServerSideStoreType = function () {\n return this.gridOptions.serverSideStoreType;\n };\n GridOptionsWrapper.prototype.getServerSideStoreParamsFunc = function () {\n return this.mergeGridCommonParams(this.gridOptions.getServerSideStoreParams);\n };\n GridOptionsWrapper.prototype.getCreateChartContainerFunc = function () {\n return this.mergeGridCommonParams(this.gridOptions.createChartContainer);\n };\n GridOptionsWrapper.prototype.getPopupParent = function () {\n return this.gridOptions.popupParent;\n };\n GridOptionsWrapper.prototype.getBlockLoadDebounceMillis = function () {\n return this.gridOptions.blockLoadDebounceMillis;\n };\n GridOptionsWrapper.prototype.getPostProcessPopupFunc = function () {\n return this.mergeGridCommonParams(this.gridOptions.postProcessPopup);\n };\n GridOptionsWrapper.prototype.getPaginationNumberFormatterFunc = function () {\n return this.mergeGridCommonParams(this.gridOptions.paginationNumberFormatter);\n };\n GridOptionsWrapper.prototype.getChildCountFunc = function () {\n return this.gridOptions.getChildCount;\n };\n GridOptionsWrapper.prototype.getIsApplyServerSideTransactionFunc = function () {\n return this.mergeGridCommonParams(this.gridOptions.isApplyServerSideTransaction);\n };\n GridOptionsWrapper.prototype.getInitialGroupOrderComparator = function () {\n var _a = this.gridOptions, initialGroupOrderComparator = _a.initialGroupOrderComparator, defaultGroupOrderComparator = _a.defaultGroupOrderComparator;\n if (initialGroupOrderComparator) {\n return this.mergeGridCommonParams(initialGroupOrderComparator);\n }\n // this is the deprecated way, so provide a proxy to make it compatible\n if (defaultGroupOrderComparator) {\n return function (params) { return defaultGroupOrderComparator(params.nodeA, params.nodeB); };\n }\n };\n GridOptionsWrapper.prototype.getIsFullWidthCellFunc = function () {\n var _a = this.gridOptions, isFullWidthRow = _a.isFullWidthRow, isFullWidthCell = _a.isFullWidthCell;\n if (isFullWidthRow) {\n return this.mergeGridCommonParams(isFullWidthRow);\n }\n // this is the deprecated way, so provide a proxy to make it compatible\n if (isFullWidthCell) {\n return function (params) { return isFullWidthCell(params.rowNode); };\n }\n };\n GridOptionsWrapper.prototype.getFullWidthCellRendererParams = function () {\n return this.gridOptions.fullWidthCellRendererParams;\n };\n GridOptionsWrapper.prototype.isEmbedFullWidthRows = function () {\n return isTrue(this.gridOptions.embedFullWidthRows) || isTrue(this.gridOptions.deprecatedEmbedFullWidthRows);\n };\n GridOptionsWrapper.prototype.isDetailRowAutoHeight = function () {\n return isTrue(this.gridOptions.detailRowAutoHeight);\n };\n GridOptionsWrapper.prototype.getSuppressKeyboardEventFunc = function () {\n return this.gridOptions.suppressKeyboardEvent;\n };\n GridOptionsWrapper.prototype.getBusinessKeyForNodeFunc = function () {\n return this.gridOptions.getBusinessKeyForNode;\n };\n GridOptionsWrapper.prototype.getApi = function () {\n return this.gridOptions.api;\n };\n GridOptionsWrapper.prototype.getColumnApi = function () {\n return this.gridOptions.columnApi;\n };\n GridOptionsWrapper.prototype.isReadOnlyEdit = function () {\n return isTrue(this.gridOptions.readOnlyEdit);\n };\n GridOptionsWrapper.prototype.isImmutableData = function () {\n // we used to have a property immutableData for this. however this was deprecated\n // in favour of having Immutable Data on by default when getRowId is provided\n var getRowIdProvided = this.gridOptions.getRowId != null;\n var immutableData = isTrue(this.gridOptions.immutableData);\n // this property is a backwards compatibility property, for those who want\n // the old behaviour of Row ID's but NOT Immutable Data.\n var resetRowDataOnUpdate = isTrue(this.gridOptions.resetRowDataOnUpdate);\n if (resetRowDataOnUpdate) {\n return false;\n }\n return getRowIdProvided || immutableData;\n };\n GridOptionsWrapper.prototype.isEnsureDomOrder = function () {\n return isTrue(this.gridOptions.ensureDomOrder);\n };\n GridOptionsWrapper.prototype.isEnableCharts = function () {\n if (isTrue(this.gridOptions.enableCharts)) {\n return ModuleRegistry.assertRegistered(exports.ModuleNames.GridChartsModule, 'enableCharts');\n }\n return false;\n };\n GridOptionsWrapper.prototype.getColResizeDefault = function () {\n return this.gridOptions.colResizeDefault;\n };\n GridOptionsWrapper.prototype.isSingleClickEdit = function () {\n return isTrue(this.gridOptions.singleClickEdit);\n };\n GridOptionsWrapper.prototype.isSuppressClickEdit = function () {\n return isTrue(this.gridOptions.suppressClickEdit);\n };\n GridOptionsWrapper.prototype.isStopEditingWhenCellsLoseFocus = function () {\n return isTrue(this.gridOptions.stopEditingWhenCellsLoseFocus);\n };\n GridOptionsWrapper.prototype.getGroupDefaultExpanded = function () {\n return this.gridOptions.groupDefaultExpanded;\n };\n GridOptionsWrapper.prototype.getMaxConcurrentDatasourceRequests = function () {\n var res = toNumber(this.gridOptions.maxConcurrentDatasourceRequests);\n if (res == null) {\n return 2;\n } // 2 is the default\n if (res <= 0) {\n return;\n } // negative number, eg -1, means no max restriction\n return res;\n };\n GridOptionsWrapper.prototype.getMaxBlocksInCache = function () {\n return this.gridOptions.maxBlocksInCache;\n };\n GridOptionsWrapper.prototype.getCacheOverflowSize = function () {\n return this.gridOptions.cacheOverflowSize;\n };\n GridOptionsWrapper.prototype.getPaginationPageSize = function () {\n return toNumber(this.gridOptions.paginationPageSize);\n };\n GridOptionsWrapper.prototype.isPaginateChildRows = function () {\n var shouldPaginate = this.isGroupRemoveSingleChildren() || this.isGroupRemoveLowestSingleChildren();\n if (shouldPaginate) {\n return true;\n }\n return isTrue(this.gridOptions.paginateChildRows);\n };\n GridOptionsWrapper.prototype.getCacheBlockSize = function () {\n return oneOrGreater(this.gridOptions.cacheBlockSize);\n };\n GridOptionsWrapper.prototype.getInfiniteInitialRowCount = function () {\n return this.gridOptions.infiniteInitialRowCount;\n };\n GridOptionsWrapper.prototype.isPurgeClosedRowNodes = function () {\n return isTrue(this.gridOptions.purgeClosedRowNodes);\n };\n GridOptionsWrapper.prototype.isSuppressPaginationPanel = function () {\n return isTrue(this.gridOptions.suppressPaginationPanel);\n };\n GridOptionsWrapper.prototype.getRowData = function () {\n return this.gridOptions.rowData;\n };\n GridOptionsWrapper.prototype.isEnableRtl = function () {\n return isTrue(this.gridOptions.enableRtl);\n };\n GridOptionsWrapper.prototype.getRowGroupPanelShow = function () {\n return this.gridOptions.rowGroupPanelShow;\n };\n GridOptionsWrapper.prototype.getPivotPanelShow = function () {\n return this.gridOptions.pivotPanelShow;\n };\n GridOptionsWrapper.prototype.isAngularCompileRows = function () {\n return isTrue(this.gridOptions.angularCompileRows);\n };\n GridOptionsWrapper.prototype.isAngularCompileFilters = function () {\n return isTrue(this.gridOptions.angularCompileFilters);\n };\n GridOptionsWrapper.prototype.isDebug = function () {\n return isTrue(this.gridOptions.debug);\n };\n GridOptionsWrapper.prototype.getColumnDefs = function () {\n return this.gridOptions.columnDefs;\n };\n GridOptionsWrapper.prototype.getColumnTypes = function () {\n return this.gridOptions.columnTypes;\n };\n GridOptionsWrapper.prototype.getDatasource = function () {\n return this.gridOptions.datasource;\n };\n GridOptionsWrapper.prototype.getViewportDatasource = function () {\n return this.gridOptions.viewportDatasource;\n };\n GridOptionsWrapper.prototype.getServerSideDatasource = function () {\n return this.gridOptions.serverSideDatasource;\n };\n GridOptionsWrapper.prototype.isAccentedSort = function () {\n return isTrue(this.gridOptions.accentedSort);\n };\n GridOptionsWrapper.prototype.isEnableBrowserTooltips = function () {\n return isTrue(this.gridOptions.enableBrowserTooltips);\n };\n GridOptionsWrapper.prototype.isEnableCellExpressions = function () {\n return isTrue(this.gridOptions.enableCellExpressions);\n };\n GridOptionsWrapper.prototype.isEnableGroupEdit = function () {\n return isTrue(this.gridOptions.enableGroupEdit);\n };\n GridOptionsWrapper.prototype.isSuppressMiddleClickScrolls = function () {\n return isTrue(this.gridOptions.suppressMiddleClickScrolls);\n };\n GridOptionsWrapper.prototype.isPreventDefaultOnContextMenu = function () {\n return isTrue(this.gridOptions.preventDefaultOnContextMenu);\n };\n GridOptionsWrapper.prototype.isSuppressPreventDefaultOnMouseWheel = function () {\n return isTrue(this.gridOptions.suppressPreventDefaultOnMouseWheel);\n };\n GridOptionsWrapper.prototype.isSuppressColumnVirtualisation = function () {\n return isTrue(this.gridOptions.suppressColumnVirtualisation);\n };\n GridOptionsWrapper.prototype.isSuppressRowVirtualisation = function () {\n return isTrue(this.gridOptions.suppressRowVirtualisation);\n };\n GridOptionsWrapper.prototype.isSuppressContextMenu = function () {\n return isTrue(this.gridOptions.suppressContextMenu);\n };\n GridOptionsWrapper.prototype.isAllowContextMenuWithControlKey = function () {\n return isTrue(this.gridOptions.allowContextMenuWithControlKey);\n };\n GridOptionsWrapper.prototype.isSuppressCopyRowsToClipboard = function () {\n return isTrue(this.gridOptions.suppressCopyRowsToClipboard);\n };\n GridOptionsWrapper.prototype.isSuppressCopySingleCellRanges = function () {\n return isTrue(this.gridOptions.suppressCopySingleCellRanges);\n };\n GridOptionsWrapper.prototype.isCopyHeadersToClipboard = function () {\n return isTrue(this.gridOptions.copyHeadersToClipboard);\n };\n GridOptionsWrapper.prototype.isCopyGroupHeadersToClipboard = function () {\n return isTrue(this.gridOptions.copyGroupHeadersToClipboard);\n };\n GridOptionsWrapper.prototype.isSuppressClipboardPaste = function () {\n return isTrue(this.gridOptions.suppressClipboardPaste);\n };\n GridOptionsWrapper.prototype.isSuppressLastEmptyLineOnPaste = function () {\n return isTrue(this.gridOptions.suppressLastEmptyLineOnPaste);\n };\n GridOptionsWrapper.prototype.isPagination = function () {\n return isTrue(this.gridOptions.pagination);\n };\n GridOptionsWrapper.prototype.isSuppressEnterpriseResetOnNewColumns = function () {\n return isTrue(this.gridOptions.suppressEnterpriseResetOnNewColumns);\n };\n GridOptionsWrapper.prototype.getProcessDataFromClipboardFunc = function () {\n return this.mergeGridCommonParams(this.gridOptions.processDataFromClipboard);\n };\n GridOptionsWrapper.prototype.getAsyncTransactionWaitMillis = function () {\n return exists(this.gridOptions.asyncTransactionWaitMillis) ? this.gridOptions.asyncTransactionWaitMillis : Constants.BATCH_WAIT_MILLIS;\n };\n GridOptionsWrapper.prototype.isSuppressMovableColumns = function () {\n return isTrue(this.gridOptions.suppressMovableColumns);\n };\n GridOptionsWrapper.prototype.isAnimateRows = function () {\n // never allow animating if enforcing the row order\n if (this.isEnsureDomOrder()) {\n return false;\n }\n return isTrue(this.gridOptions.animateRows);\n };\n GridOptionsWrapper.prototype.isSuppressColumnMoveAnimation = function () {\n return isTrue(this.gridOptions.suppressColumnMoveAnimation);\n };\n GridOptionsWrapper.prototype.isSuppressAggFuncInHeader = function () {\n return isTrue(this.gridOptions.suppressAggFuncInHeader);\n };\n GridOptionsWrapper.prototype.isSuppressAggAtRootLevel = function () {\n return isTrue(this.gridOptions.suppressAggAtRootLevel);\n };\n GridOptionsWrapper.prototype.isSuppressAggFilteredOnly = function () {\n var isGroupAggFiltering = this.getGroupAggFiltering() !== undefined;\n return isGroupAggFiltering || isTrue(this.gridOptions.suppressAggFilteredOnly);\n };\n GridOptionsWrapper.prototype.isRemovePivotHeaderRowWhenSingleValueColumn = function () {\n return isTrue(this.gridOptions.removePivotHeaderRowWhenSingleValueColumn);\n };\n GridOptionsWrapper.prototype.isShowOpenedGroup = function () {\n return isTrue(this.gridOptions.showOpenedGroup);\n };\n GridOptionsWrapper.prototype.isReactUi = function () {\n return isTrue(this.gridOptions.reactUi);\n };\n GridOptionsWrapper.prototype.isSuppressReactUi = function () {\n return isTrue(this.gridOptions.suppressReactUi);\n };\n GridOptionsWrapper.prototype.isEnableRangeSelection = function () {\n return ModuleRegistry.isRegistered(exports.ModuleNames.RangeSelectionModule) && isTrue(this.gridOptions.enableRangeSelection);\n };\n GridOptionsWrapper.prototype.isEnableRangeHandle = function () {\n return isTrue(this.gridOptions.enableRangeHandle);\n };\n GridOptionsWrapper.prototype.isEnableFillHandle = function () {\n return isTrue(this.gridOptions.enableFillHandle);\n };\n GridOptionsWrapper.prototype.getFillHandleDirection = function () {\n var direction = this.gridOptions.fillHandleDirection;\n if (!direction) {\n return 'xy';\n }\n if (direction !== 'x' && direction !== 'y' && direction !== 'xy') {\n doOnce(function () { return console.warn(\"AG Grid: valid values for fillHandleDirection are 'x', 'y' and 'xy'. Default to 'xy'.\"); }, 'warn invalid fill direction');\n return 'xy';\n }\n return direction;\n };\n GridOptionsWrapper.prototype.getFillOperation = function () {\n return this.mergeGridCommonParams(this.gridOptions.fillOperation);\n };\n GridOptionsWrapper.prototype.isSuppressMultiRangeSelection = function () {\n return isTrue(this.gridOptions.suppressMultiRangeSelection);\n };\n GridOptionsWrapper.prototype.isPaginationAutoPageSize = function () {\n return isTrue(this.gridOptions.paginationAutoPageSize);\n };\n GridOptionsWrapper.prototype.isRememberGroupStateWhenNewData = function () {\n return isTrue(this.gridOptions.rememberGroupStateWhenNewData);\n };\n GridOptionsWrapper.prototype.getIcons = function () {\n return this.gridOptions.icons;\n };\n GridOptionsWrapper.prototype.getGroupAggFiltering = function () {\n var userValue = this.gridOptions.groupAggFiltering;\n if (typeof userValue === 'function') {\n return this.mergeGridCommonParams(userValue);\n }\n if (isTrue(userValue)) {\n return function () { return true; };\n }\n return undefined;\n };\n GridOptionsWrapper.prototype.getAggFuncs = function () {\n return this.gridOptions.aggFuncs;\n };\n GridOptionsWrapper.prototype.getSortingOrder = function () {\n return this.gridOptions.sortingOrder;\n };\n GridOptionsWrapper.prototype.getAlignedGrids = function () {\n return this.gridOptions.alignedGrids;\n };\n GridOptionsWrapper.prototype.isMasterDetail = function () {\n var masterDetail = isTrue(this.gridOptions.masterDetail);\n if (masterDetail) {\n return ModuleRegistry.assertRegistered(exports.ModuleNames.MasterDetailModule, 'masterDetail');\n }\n else {\n return false;\n }\n };\n GridOptionsWrapper.prototype.isKeepDetailRows = function () {\n return isTrue(this.gridOptions.keepDetailRows);\n };\n GridOptionsWrapper.prototype.getKeepDetailRowsCount = function () {\n var keepDetailRowsCount = this.gridOptions.keepDetailRowsCount;\n if (exists(keepDetailRowsCount) && keepDetailRowsCount > 0) {\n return this.gridOptions.keepDetailRowsCount;\n }\n return DEFAULT_KEEP_DETAIL_ROW_COUNT;\n };\n GridOptionsWrapper.prototype.getIsRowMasterFunc = function () {\n return this.gridOptions.isRowMaster;\n };\n GridOptionsWrapper.prototype.getIsRowSelectableFunc = function () {\n return this.gridOptions.isRowSelectable;\n };\n GridOptionsWrapper.prototype.getGroupRowRendererParams = function () {\n return this.gridOptions.groupRowRendererParams;\n };\n GridOptionsWrapper.prototype.getOverlayLoadingTemplate = function () {\n return this.gridOptions.overlayLoadingTemplate;\n };\n GridOptionsWrapper.prototype.getOverlayNoRowsTemplate = function () {\n return this.gridOptions.overlayNoRowsTemplate;\n };\n GridOptionsWrapper.prototype.isSuppressAutoSize = function () {\n return isTrue(this.gridOptions.suppressAutoSize);\n };\n GridOptionsWrapper.prototype.isEnableCellTextSelection = function () {\n return isTrue(this.gridOptions.enableCellTextSelection);\n };\n GridOptionsWrapper.prototype.isSuppressParentsInRowNodes = function () {\n return isTrue(this.gridOptions.suppressParentsInRowNodes);\n };\n GridOptionsWrapper.prototype.isSuppressClipboardApi = function () {\n return isTrue(this.gridOptions.suppressClipboardApi);\n };\n GridOptionsWrapper.prototype.isFunctionsReadOnly = function () {\n return isTrue(this.gridOptions.functionsReadOnly);\n };\n GridOptionsWrapper.prototype.isEnableCellTextSelect = function () {\n return isTrue(this.gridOptions.enableCellTextSelection);\n };\n GridOptionsWrapper.prototype.getDefaultColDef = function () {\n return this.gridOptions.defaultColDef;\n };\n GridOptionsWrapper.prototype.getDefaultColGroupDef = function () {\n return this.gridOptions.defaultColGroupDef;\n };\n GridOptionsWrapper.prototype.getDefaultExportParams = function (type) {\n if (this.gridOptions.defaultExportParams) {\n console.warn(\"AG Grid: Since v25.2 `defaultExportParams` has been replaced by `default\" + capitalise(type) + \"ExportParams`'\");\n if (type === 'csv') {\n return this.gridOptions.defaultExportParams;\n }\n return this.gridOptions.defaultExportParams;\n }\n if (type === 'csv' && this.gridOptions.defaultCsvExportParams) {\n return this.gridOptions.defaultCsvExportParams;\n }\n if (type === 'excel' && this.gridOptions.defaultExcelExportParams) {\n return this.gridOptions.defaultExcelExportParams;\n }\n };\n GridOptionsWrapper.prototype.isSuppressCsvExport = function () {\n return isTrue(this.gridOptions.suppressCsvExport);\n };\n GridOptionsWrapper.prototype.isAllowShowChangeAfterFilter = function () {\n return isTrue(this.gridOptions.allowShowChangeAfterFilter);\n };\n GridOptionsWrapper.prototype.isSuppressExcelExport = function () {\n return isTrue(this.gridOptions.suppressExcelExport);\n };\n GridOptionsWrapper.prototype.isSuppressMakeColumnVisibleAfterUnGroup = function () {\n return isTrue(this.gridOptions.suppressMakeColumnVisibleAfterUnGroup);\n };\n GridOptionsWrapper.prototype.getDataPathFunc = function () {\n return this.gridOptions.getDataPath;\n };\n GridOptionsWrapper.prototype.getIsServerSideGroupFunc = function () {\n return this.gridOptions.isServerSideGroup;\n };\n GridOptionsWrapper.prototype.getIsServerSideGroupOpenByDefaultFunc = function () {\n return this.mergeGridCommonParams(this.gridOptions.isServerSideGroupOpenByDefault);\n };\n GridOptionsWrapper.prototype.getIsGroupOpenByDefaultFunc = function () {\n return this.mergeGridCommonParams(this.gridOptions.isGroupOpenByDefault);\n };\n GridOptionsWrapper.prototype.getServerSideGroupKeyFunc = function () {\n return this.gridOptions.getServerSideGroupKey;\n };\n GridOptionsWrapper.prototype.getGroupRowAggFunc = function () {\n var _a = this.gridOptions, getGroupRowAgg = _a.getGroupRowAgg, groupRowAggNodes = _a.groupRowAggNodes;\n if (getGroupRowAgg) {\n return this.mergeGridCommonParams(getGroupRowAgg);\n }\n // this is the deprecated way, so provide a proxy to make it compatible\n if (groupRowAggNodes) {\n return function (params) { return groupRowAggNodes(params.nodes); };\n }\n };\n GridOptionsWrapper.prototype.getContextMenuItemsFunc = function () {\n return this.mergeGridCommonParams(this.gridOptions.getContextMenuItems);\n };\n GridOptionsWrapper.prototype.getMainMenuItemsFunc = function () {\n return this.mergeGridCommonParams(this.gridOptions.getMainMenuItems);\n };\n GridOptionsWrapper.prototype.getRowIdFunc = function () {\n var _a = this.gridOptions, getRowId = _a.getRowId, getRowNodeId = _a.getRowNodeId;\n if (getRowId) {\n return this.mergeGridCommonParams(getRowId);\n }\n // this is the deprecated way, so provide a proxy to make it compatible\n if (getRowNodeId) {\n return function (params) { return getRowNodeId(params.data); };\n }\n };\n GridOptionsWrapper.prototype.getNavigateToNextHeaderFunc = function () {\n return this.mergeGridCommonParams(this.gridOptions.navigateToNextHeader);\n };\n GridOptionsWrapper.prototype.getTabToNextHeaderFunc = function () {\n return this.mergeGridCommonParams(this.gridOptions.tabToNextHeader);\n };\n GridOptionsWrapper.prototype.getNavigateToNextCellFunc = function () {\n return this.mergeGridCommonParams(this.gridOptions.navigateToNextCell);\n };\n GridOptionsWrapper.prototype.getTabToNextCellFunc = function () {\n return this.mergeGridCommonParams(this.gridOptions.tabToNextCell);\n };\n GridOptionsWrapper.prototype.getGridTabIndex = function () {\n return (this.gridOptions.tabIndex || 0).toString();\n };\n GridOptionsWrapper.prototype.isTreeData = function () {\n var usingTreeData = isTrue(this.gridOptions.treeData);\n if (usingTreeData) {\n return ModuleRegistry.assertRegistered(exports.ModuleNames.RowGroupingModule, 'Tree Data');\n }\n return false;\n };\n GridOptionsWrapper.prototype.isValueCache = function () {\n return isTrue(this.gridOptions.valueCache);\n };\n GridOptionsWrapper.prototype.isValueCacheNeverExpires = function () {\n return isTrue(this.gridOptions.valueCacheNeverExpires);\n };\n GridOptionsWrapper.prototype.isDeltaSort = function () {\n return isTrue(this.gridOptions.deltaSort);\n };\n GridOptionsWrapper.prototype.isAggregateOnlyChangedColumns = function () {\n return isTrue(this.gridOptions.aggregateOnlyChangedColumns);\n };\n GridOptionsWrapper.prototype.getProcessSecondaryColDefFunc = function () {\n return this.gridOptions.processSecondaryColDef;\n };\n GridOptionsWrapper.prototype.getProcessSecondaryColGroupDefFunc = function () {\n return this.gridOptions.processSecondaryColGroupDef;\n };\n GridOptionsWrapper.prototype.getSendToClipboardFunc = function () {\n return this.mergeGridCommonParams(this.gridOptions.sendToClipboard);\n };\n GridOptionsWrapper.prototype.getProcessRowPostCreateFunc = function () {\n return this.mergeGridCommonParams(this.gridOptions.processRowPostCreate);\n };\n GridOptionsWrapper.prototype.getProcessCellForClipboardFunc = function () {\n return this.mergeGridCommonParams(this.gridOptions.processCellForClipboard);\n };\n GridOptionsWrapper.prototype.getProcessHeaderForClipboardFunc = function () {\n return this.mergeGridCommonParams(this.gridOptions.processHeaderForClipboard);\n };\n GridOptionsWrapper.prototype.getProcessGroupHeaderForClipboardFunc = function () {\n return this.mergeGridCommonParams(this.gridOptions.processGroupHeaderForClipboard);\n };\n GridOptionsWrapper.prototype.getProcessCellFromClipboardFunc = function () {\n return this.mergeGridCommonParams(this.gridOptions.processCellFromClipboard);\n };\n GridOptionsWrapper.prototype.getViewportRowModelPageSize = function () {\n return oneOrGreater(this.gridOptions.viewportRowModelPageSize, DEFAULT_VIEWPORT_ROW_MODEL_PAGE_SIZE);\n };\n GridOptionsWrapper.prototype.getViewportRowModelBufferSize = function () {\n return zeroOrGreater(this.gridOptions.viewportRowModelBufferSize, DEFAULT_VIEWPORT_ROW_MODEL_BUFFER_SIZE);\n };\n GridOptionsWrapper.prototype.isServerSideSortingAlwaysResets = function () {\n return isTrue(this.gridOptions.serverSideSortingAlwaysResets);\n };\n GridOptionsWrapper.prototype.isServerSideFilteringAlwaysResets = function () {\n return isTrue(this.gridOptions.serverSideFilteringAlwaysResets);\n };\n GridOptionsWrapper.prototype.getPostSortFunc = function () {\n var _a = this.gridOptions, postSortRows = _a.postSortRows, postSort = _a.postSort;\n if (postSortRows) {\n return this.mergeGridCommonParams(postSortRows);\n }\n // this is the deprecated way, so provide a proxy to make it compatible\n if (postSort) {\n return function (params) { return postSort(params.nodes); };\n }\n };\n GridOptionsWrapper.prototype.getChartToolbarItemsFunc = function () {\n return this.mergeGridCommonParams(this.gridOptions.getChartToolbarItems);\n };\n GridOptionsWrapper.prototype.getChartThemeOverrides = function () {\n return this.gridOptions.chartThemeOverrides;\n };\n GridOptionsWrapper.prototype.getCustomChartThemes = function () {\n return this.gridOptions.customChartThemes;\n };\n GridOptionsWrapper.prototype.getChartThemes = function () {\n // return default themes if user hasn't supplied any\n return this.gridOptions.chartThemes || ['ag-default', 'ag-material', 'ag-pastel', 'ag-vivid', 'ag-solar'];\n };\n GridOptionsWrapper.prototype.getClipboardDelimiter = function () {\n return exists(this.gridOptions.clipboardDelimiter) ? this.gridOptions.clipboardDelimiter : '\\t';\n };\n GridOptionsWrapper.prototype.setProperty = function (key, value, force) {\n if (force === void 0) { force = false; }\n var gridOptionsNoType = this.gridOptions;\n var previousValue = gridOptionsNoType[key];\n if (force || previousValue !== value) {\n gridOptionsNoType[key] = value;\n var event_1 = {\n type: key,\n currentValue: value,\n previousValue: previousValue\n };\n this.propertyEventService.dispatchEvent(event_1);\n }\n };\n GridOptionsWrapper.prototype.addEventListener = function (key, listener) {\n this.propertyEventService.addEventListener(key, listener);\n };\n GridOptionsWrapper.prototype.removeEventListener = function (key, listener) {\n this.propertyEventService.removeEventListener(key, listener);\n };\n GridOptionsWrapper.prototype.isSkipHeaderOnAutoSize = function () {\n return !!this.gridOptions.skipHeaderOnAutoSize;\n };\n GridOptionsWrapper.prototype.getAutoSizePadding = function () {\n var value = this.gridOptions.autoSizePadding;\n return value != null && value >= 0 ? value : 20;\n };\n // properties\n GridOptionsWrapper.prototype.getHeaderHeight = function () {\n if (typeof this.gridOptions.headerHeight === 'number') {\n return this.gridOptions.headerHeight;\n }\n return this.getFromTheme(25, 'headerHeight');\n };\n GridOptionsWrapper.prototype.getFloatingFiltersHeight = function () {\n if (typeof this.gridOptions.floatingFiltersHeight === 'number') {\n return this.gridOptions.floatingFiltersHeight;\n }\n return this.getFromTheme(25, 'headerHeight');\n };\n GridOptionsWrapper.prototype.getGroupHeaderHeight = function () {\n if (typeof this.gridOptions.groupHeaderHeight === 'number') {\n return this.gridOptions.groupHeaderHeight;\n }\n return this.getHeaderHeight();\n };\n GridOptionsWrapper.prototype.getPivotHeaderHeight = function () {\n if (typeof this.gridOptions.pivotHeaderHeight === 'number') {\n return this.gridOptions.pivotHeaderHeight;\n }\n return this.getHeaderHeight();\n };\n GridOptionsWrapper.prototype.getPivotGroupHeaderHeight = function () {\n if (typeof this.gridOptions.pivotGroupHeaderHeight === 'number') {\n return this.gridOptions.pivotGroupHeaderHeight;\n }\n return this.getGroupHeaderHeight();\n };\n GridOptionsWrapper.prototype.isExternalFilterPresent = function () {\n if (typeof this.gridOptions.isExternalFilterPresent === 'function') {\n return this.gridOptions.isExternalFilterPresent({ api: this.getApi(), columnApi: this.getColumnApi(), context: this.getContext() });\n }\n return false;\n };\n GridOptionsWrapper.prototype.doesExternalFilterPass = function (node) {\n if (typeof this.gridOptions.doesExternalFilterPass === 'function') {\n return this.gridOptions.doesExternalFilterPass(node);\n }\n return false;\n };\n GridOptionsWrapper.prototype.getTooltipDelay = function (type) {\n var _a = this.gridOptions, tooltipShowDelay = _a.tooltipShowDelay, tooltipHideDelay = _a.tooltipHideDelay;\n var delay = type === 'show' ? tooltipShowDelay : tooltipHideDelay;\n var capitalisedType = capitalise(type);\n if (exists(delay)) {\n if (delay < 0) {\n doOnce(function () { return console.warn(\"ag-grid: tooltip\" + capitalisedType + \"Delay should not be lower than 0\"); }, \"tooltip\" + capitalisedType + \"DelayWarn\");\n }\n return Math.max(200, delay);\n }\n return null;\n };\n GridOptionsWrapper.prototype.isTooltipMouseTrack = function () {\n return isTrue(this.gridOptions.tooltipMouseTrack);\n };\n GridOptionsWrapper.prototype.isSuppressModelUpdateAfterUpdateTransaction = function () {\n return isTrue(this.gridOptions.suppressModelUpdateAfterUpdateTransaction);\n };\n GridOptionsWrapper.prototype.getDocument = function () {\n // if user is providing document, we use the users one,\n // otherwise we use the document on the global namespace.\n var result = null;\n if (this.gridOptions.getDocument && exists(this.gridOptions.getDocument)) {\n result = this.gridOptions.getDocument();\n }\n else if (this.eGridDiv) {\n result = this.eGridDiv.ownerDocument;\n }\n if (result && exists(result)) {\n return result;\n }\n return document;\n };\n GridOptionsWrapper.prototype.getMinColWidth = function () {\n var minColWidth = this.gridOptions.minColWidth;\n if (exists(minColWidth) && minColWidth > GridOptionsWrapper_1.MIN_COL_WIDTH) {\n return this.gridOptions.minColWidth;\n }\n var measuredMin = this.getFromTheme(null, 'headerCellMinWidth');\n return exists(measuredMin) ? Math.max(measuredMin, GridOptionsWrapper_1.MIN_COL_WIDTH) : GridOptionsWrapper_1.MIN_COL_WIDTH;\n };\n GridOptionsWrapper.prototype.getMaxColWidth = function () {\n if (this.gridOptions.maxColWidth && this.gridOptions.maxColWidth > GridOptionsWrapper_1.MIN_COL_WIDTH) {\n return this.gridOptions.maxColWidth;\n }\n return null;\n };\n GridOptionsWrapper.prototype.getColWidth = function () {\n if (typeof this.gridOptions.colWidth !== 'number' || this.gridOptions.colWidth < GridOptionsWrapper_1.MIN_COL_WIDTH) {\n return 200;\n }\n return this.gridOptions.colWidth;\n };\n GridOptionsWrapper.prototype.getRowBuffer = function () {\n var rowBuffer = this.gridOptions.rowBuffer;\n if (typeof rowBuffer === 'number') {\n if (rowBuffer < 0) {\n doOnce(function () { return console.warn(\"AG Grid: rowBuffer should not be negative\"); }, 'warn rowBuffer negative');\n this.gridOptions.rowBuffer = rowBuffer = 0;\n }\n }\n else {\n rowBuffer = Constants.ROW_BUFFER_SIZE;\n }\n return rowBuffer;\n };\n GridOptionsWrapper.prototype.getRowBufferInPixels = function () {\n var rowsToBuffer = this.getRowBuffer();\n var defaultRowHeight = this.getRowHeightAsNumber();\n return rowsToBuffer * defaultRowHeight;\n };\n // the user might be using some non-standard scrollbar, eg a scrollbar that has zero\n // width and overlays (like the Safari scrollbar, but presented in Chrome). so we\n // allow the user to provide the scroll width before we work it out.\n GridOptionsWrapper.prototype.getScrollbarWidth = function () {\n if (this.scrollbarWidth == null) {\n var useGridOptions = typeof this.gridOptions.scrollbarWidth === 'number' && this.gridOptions.scrollbarWidth >= 0;\n var scrollbarWidth = useGridOptions ? this.gridOptions.scrollbarWidth : getScrollbarWidth();\n if (scrollbarWidth != null) {\n this.scrollbarWidth = scrollbarWidth;\n this.eventService.dispatchEvent({\n type: Events.EVENT_SCROLLBAR_WIDTH_CHANGED\n });\n }\n }\n return this.scrollbarWidth;\n };\n GridOptionsWrapper.prototype.checkForDeprecated = function () {\n // casting to generic object, so typescript compiles even though\n // we are looking for attributes that don't exist\n var options = this.gridOptions;\n if (options.deprecatedEmbedFullWidthRows) {\n console.warn(\"AG Grid: since v21.2, deprecatedEmbedFullWidthRows has been replaced with embedFullWidthRows.\");\n }\n if (options.rowDeselection) {\n console.warn('AG Grid: since v24.x, rowDeselection is deprecated and the behaviour is true by default. Please use `suppressRowDeselection` to prevent rows from being deselected.');\n }\n if (options.enableMultiRowDragging) {\n options.rowDragMultiRow = true;\n delete options.enableMultiRowDragging;\n console.warn('AG Grid: since v26.1, `enableMultiRowDragging` is deprecated. Please use `rowDragMultiRow`.');\n }\n var checkRenamedProperty = function (oldProp, newProp, version) {\n if (options[oldProp] != null) {\n console.warn(\"AG Grid: since version \" + version + \", '\" + oldProp + \"' is deprecated / renamed, please use the new property name '\" + newProp + \"' instead.\");\n if (options[newProp] == null) {\n options[newProp] = options[oldProp];\n }\n }\n };\n checkRenamedProperty('batchUpdateWaitMillis', 'asyncTransactionWaitMillis', '23.1.x');\n checkRenamedProperty('deltaRowDataMode', 'immutableData', '23.1.x');\n if (options.immutableColumns || options.deltaColumnMode) {\n console.warn('AG Grid: since v24.0, immutableColumns and deltaColumnMode properties are gone. The grid now works like this as default. To keep column order maintained, set grid property applyColumnDefOrder=true');\n }\n checkRenamedProperty('suppressSetColumnStateEvents', 'suppressColumnStateEvents', '24.0.x');\n if (options.groupRowInnerRenderer || options.groupRowInnerRendererParams || options.groupRowInnerRendererFramework) {\n console.warn('AG Grid: since v24.0, grid properties groupRowInnerRenderer, groupRowInnerRendererFramework and groupRowInnerRendererParams are no longer used.');\n console.warn(' Instead use the grid properties groupRowRendererParams.innerRenderer, groupRowRendererParams.innerRendererFramework and groupRowRendererParams.innerRendererParams.');\n console.warn(' For example instead of this:');\n console.warn(' groupRowInnerRenderer: \"myRenderer\"');\n console.warn(' groupRowInnerRendererParams: {x: a}');\n console.warn(' Replace with this:');\n console.warn(' groupRowRendererParams: {');\n console.warn(' innerRenderer: \"myRenderer\",');\n console.warn(' innerRendererParams: {x: a}');\n console.warn(' }');\n console.warn(' We have copied the properties over for you. However to stop this error message, please change your application code.');\n if (!options.groupRowRendererParams) {\n options.groupRowRendererParams = {};\n }\n var params = options.groupRowRendererParams;\n if (options.groupRowInnerRenderer) {\n params.innerRenderer = options.groupRowInnerRenderer;\n }\n if (options.groupRowInnerRendererParams) {\n params.innerRendererParams = options.groupRowInnerRendererParams;\n }\n if (options.groupRowInnerRendererFramework) {\n params.innerRendererFramework = options.groupRowInnerRendererFramework;\n }\n }\n if (options.rememberGroupStateWhenNewData) {\n console.warn('AG Grid: since v24.0, grid property rememberGroupStateWhenNewData is deprecated. This feature was provided before Transaction Updates worked (which keep group state). Now that transaction updates are possible and they keep group state, this feature is no longer needed.');\n }\n if (options.detailCellRendererParams && options.detailCellRendererParams.autoHeight) {\n console.warn('AG Grid: since v24.1, grid property detailCellRendererParams.autoHeight is replaced with grid property detailRowAutoHeight. This allows this feature to work when you provide a custom DetailCellRenderer');\n options.detailRowAutoHeight = true;\n }\n if (options.suppressKeyboardEvent) {\n console.warn(\"AG Grid: since v24.1 suppressKeyboardEvent in the gridOptions has been deprecated and will be removed in\\n future versions of AG Grid. If you need this to be set for every column use the defaultColDef property.\");\n }\n if (options.suppressEnterpriseResetOnNewColumns) {\n console.warn('AG Grid: since v25, grid property suppressEnterpriseResetOnNewColumns is deprecated. This was a temporary property to allow changing columns in Server Side Row Model without triggering a reload. Now that it is possible to dynamically change columns in the grid, this is no longer needed.');\n }\n if (options.suppressColumnStateEvents) {\n console.warn('AG Grid: since v25, grid property suppressColumnStateEvents no longer works due to a refactor that we did. It should be possible to achieve similar using event.source, which would be \"api\" if the event was due to setting column state via the API');\n }\n if (options.defaultExportParams) {\n console.warn('AG Grid: since v25.2, the grid property `defaultExportParams` has been replaced by `defaultCsvExportParams` and `defaultExcelExportParams`.');\n }\n if (options.stopEditingWhenGridLosesFocus) {\n console.warn('AG Grid: since v25.2.2, the grid property `stopEditingWhenGridLosesFocus` has been replaced by `stopEditingWhenCellsLoseFocus`.');\n options.stopEditingWhenCellsLoseFocus = true;\n }\n if (options.applyColumnDefOrder) {\n console.warn('AG Grid: since v26.0, the grid property `applyColumnDefOrder` is no longer needed, as this is the default behaviour. To turn this behaviour off, set maintainColumnOrder=true');\n }\n if (options.groupMultiAutoColumn) {\n console.warn(\"AG Grid: since v26.0, the grid property `groupMultiAutoColumn` has been replaced by `groupDisplayType = 'multipleColumns'`\");\n options.groupDisplayType = 'multipleColumns';\n }\n if (options.groupUseEntireRow) {\n console.warn(\"AG Grid: since v26.0, the grid property `groupUseEntireRow` has been replaced by `groupDisplayType = 'groupRows'`\");\n options.groupDisplayType = 'groupRows';\n }\n if (options.groupSuppressAutoColumn) {\n var propName = options.treeData ? 'treeDataDisplayType' : 'groupDisplayType';\n console.warn(\"AG Grid: since v26.0, the grid property `groupSuppressAutoColumn` has been replaced by `\" + propName + \" = 'custom'`\");\n options.groupDisplayType = 'custom';\n }\n if (options.defaultGroupOrderComparator) {\n console.warn(\"AG Grid: since v27.2, the grid property `defaultGroupOrderComparator` is deprecated and has been replaced by `initialGroupOrderComparator` and now receives a single params object.\");\n }\n if (options.defaultGroupSortComparator) {\n console.warn(\"AG Grid: since v26.0, the grid property `defaultGroupSortComparator` has been replaced by `initialGroupOrderComparator`\");\n options.defaultGroupOrderComparator = options.defaultGroupSortComparator;\n }\n if (options.groupRowAggNodes) {\n console.warn(\"AG Grid: since v27.2, the grid property `groupRowAggNodes` is deprecated and has been replaced by `getGroupRowAgg` and now receives a single params object.\");\n }\n if (options.postSort) {\n console.warn(\"AG Grid: since v27.2, the grid property `postSort` is deprecated and has been replaced by `postSortRows` and now receives a single params object.\");\n }\n if (options.isFullWidthCell) {\n console.warn(\"AG Grid: since v27.2, the grid property `isFullWidthCell` is deprecated and has been replaced by `isFullWidthRow` and now receives a single params object.\");\n }\n if (options.localeTextFunc) {\n console.warn(\"AG Grid: since v27.2, the grid property `localeTextFunc` is deprecated and has been replaced by `getLocaleText` and now receives a single params object.\");\n }\n if (options.colWidth) {\n console.warn('AG Grid: since v26.1, the grid property `colWidth` is deprecated and should be set via `defaultColDef.width`.');\n }\n if (options.minColWidth) {\n console.warn('AG Grid: since v26.1, the grid property `minColWidth` is deprecated and should be set via `defaultColDef.minWidth`.');\n }\n if (options.maxColWidth) {\n console.warn('AG Grid: since v26.1, the grid property `maxColWidth` is deprecated and should be set via `defaultColDef.maxWidth`.');\n }\n if (options.reactUi) {\n console.warn('AG Grid: since v27.0, React UI is on by default, so no need for reactUi=true. To turn it off, set suppressReactUi=true.');\n }\n if (options.suppressReactUi) {\n console.warn('AG Grid: The legacy React rendering engine is deprecated and will be removed in the next major version of the grid.');\n }\n if (options.suppressCellSelection) {\n console.warn('AG Grid: since v27.0, `suppressCellSelection` has been replaced by `suppressCellFocus`.');\n options.suppressCellFocus = options.suppressCellSelection;\n }\n if (options.getRowNodeId) {\n console.warn('AG Grid: since v27.1, `getRowNodeId` is deprecated and has been replaced by `getRowId`. The difference: if getRowId() is implemented then immutable data is enabled by default.');\n }\n if (options.immutableData) {\n if (options.getRowId) {\n console.warn('AG Grid: since v27.1, `immutableData` is deprecated. With the `getRowId` callback implemented, immutable data is enabled by default so you can remove `immutableData=true`.');\n }\n else {\n console.warn('AG Grid: since v27.1, `immutableData` is deprecated. To enable immutable data you must implement the `getRowId()` callback.');\n }\n }\n if (options.clipboardDeliminator) {\n console.warn('AG Grid: since v27.1, `clipboardDeliminator` has been replaced by `clipboardDelimiter`.');\n options.clipboardDelimiter = options.clipboardDeliminator;\n }\n };\n GridOptionsWrapper.prototype.checkForViolations = function () {\n if (this.isTreeData()) {\n this.treeDataViolations();\n }\n };\n GridOptionsWrapper.prototype.treeDataViolations = function () {\n if (this.isRowModelDefault()) {\n if (missing(this.getDataPathFunc())) {\n console.warn('AG Grid: property usingTreeData=true with rowModel=clientSide, but you did not ' +\n 'provide getDataPath function, please provide getDataPath function if using tree data.');\n }\n }\n if (this.isRowModelServerSide()) {\n if (missing(this.getIsServerSideGroupFunc())) {\n console.warn('AG Grid: property usingTreeData=true with rowModel=serverSide, but you did not ' +\n 'provide isServerSideGroup function, please provide isServerSideGroup function if using tree data.');\n }\n if (missing(this.getServerSideGroupKeyFunc())) {\n console.warn('AG Grid: property usingTreeData=true with rowModel=serverSide, but you did not ' +\n 'provide getServerSideGroupKey function, please provide getServerSideGroupKey function if using tree data.');\n }\n }\n };\n GridOptionsWrapper.prototype.getLocaleTextFunc = function () {\n var _this = this;\n var _a = this.gridOptions, localeText = _a.localeText, getLocaleText = _a.getLocaleText, localeTextFunc = _a.localeTextFunc;\n if (getLocaleText) {\n //key: string, defaultValue: string, variableValues?: string[]\n return function (key, defaultValue, variableValues) {\n var params = {\n key: key,\n defaultValue: defaultValue,\n variableValues: variableValues,\n api: _this.getApi(),\n columnApi: _this.getColumnApi(),\n context: _this.getContext()\n };\n return getLocaleText(params);\n };\n }\n if (localeTextFunc) {\n return localeTextFunc;\n }\n return function (key, defaultValue, variableValues) {\n var localisedText = localeText && localeText[key];\n if (localisedText && variableValues && variableValues.length) {\n var found = 0;\n while (true) {\n if (found >= variableValues.length) {\n break;\n }\n var idx = localisedText.indexOf('${variable}');\n if (idx === -1) {\n break;\n }\n localisedText = localisedText.replace('${variable}', variableValues[found++]);\n }\n }\n return (localisedText !== null && localisedText !== void 0 ? localisedText : defaultValue);\n };\n };\n // responsible for calling the onXXX functions on gridOptions\n GridOptionsWrapper.prototype.globalEventHandler = function (eventName, event) {\n // prevent events from being fired _after_ the grid has been destroyed\n if (this.destroyed) {\n return;\n }\n var callbackMethodName = ComponentUtil.getCallbackForEvent(eventName);\n if (typeof this.gridOptions[callbackMethodName] === 'function') {\n this.gridOptions[callbackMethodName](event);\n }\n };\n GridOptionsWrapper.prototype.setRowHeightVariable = function (height) {\n var oldRowHeight = this.eGridDiv.style.getPropertyValue('--ag-line-height').trim();\n var newRowHeight = height + \"px\";\n if (oldRowHeight != newRowHeight) {\n this.eGridDiv.style.setProperty('--ag-line-height', newRowHeight);\n }\n };\n // we don't allow dynamic row height for virtual paging\n GridOptionsWrapper.prototype.getRowHeightAsNumber = function () {\n if (!this.gridOptions.rowHeight || missing(this.gridOptions.rowHeight)) {\n return this.getDefaultRowHeight();\n }\n var rowHeight = this.gridOptions.rowHeight;\n if (rowHeight && this.isNumeric(rowHeight)) {\n this.setRowHeightVariable(rowHeight);\n return rowHeight;\n }\n console.warn('AG Grid row height must be a number if not using standard row model');\n return this.getDefaultRowHeight();\n };\n GridOptionsWrapper.prototype.isGetRowHeightFunction = function () {\n return typeof this.gridOptions.getRowHeight === 'function';\n };\n GridOptionsWrapper.prototype.getRowHeightForNode = function (rowNode, allowEstimate, defaultRowHeight) {\n if (allowEstimate === void 0) { allowEstimate = false; }\n if (defaultRowHeight == null) {\n defaultRowHeight = this.getDefaultRowHeight();\n }\n // check the function first, in case use set both function and\n // number, when using virtual pagination then function can be\n // used for pinned rows and the number for the body rows.\n if (this.isGetRowHeightFunction()) {\n if (allowEstimate) {\n return { height: defaultRowHeight, estimated: true };\n }\n var params = {\n node: rowNode,\n data: rowNode.data\n };\n var height = this.mergeGridCommonParams(this.gridOptions.getRowHeight)(params);\n if (this.isNumeric(height)) {\n if (height === 0) {\n doOnce(function () { return console.warn('AG Grid: The return of `getRowHeight` cannot be zero. If the intention is to hide rows, use a filter instead.'); }, 'invalidRowHeight');\n }\n return { height: Math.max(1, height), estimated: false };\n }\n }\n if (rowNode.detail && this.isMasterDetail()) {\n // if autoHeight, we want the height to grow to the new height starting at 1, as otherwise a flicker would happen,\n // as the detail goes to the default (eg 200px) and then immediately shrink up/down to the new measured height\n // (due to auto height) which looks bad, especially if doing row animation.\n if (this.isDetailRowAutoHeight()) {\n return { height: 1, estimated: false };\n }\n if (this.isNumeric(this.gridOptions.detailRowHeight)) {\n return { height: this.gridOptions.detailRowHeight, estimated: false };\n }\n return { height: DEFAULT_DETAIL_ROW_HEIGHT, estimated: false };\n }\n var rowHeight = this.gridOptions.rowHeight && this.isNumeric(this.gridOptions.rowHeight) ? this.gridOptions.rowHeight : defaultRowHeight;\n return { height: rowHeight, estimated: false };\n };\n GridOptionsWrapper.prototype.isDynamicRowHeight = function () {\n return typeof this.gridOptions.getRowHeight === 'function';\n };\n GridOptionsWrapper.prototype.getListItemHeight = function () {\n return this.getFromTheme(20, 'listItemHeight');\n };\n GridOptionsWrapper.prototype.chartMenuPanelWidth = function () {\n return this.environment.chartMenuPanelWidth();\n };\n GridOptionsWrapper.prototype.isNumeric = function (value) {\n return !isNaN(value) && typeof value === 'number' && isFinite(value);\n };\n GridOptionsWrapper.prototype.getFromTheme = function (defaultValue, sassVariableName) {\n var theme = this.environment.getTheme().theme;\n if (theme && theme.indexOf('ag-theme') === 0) {\n return this.environment.getSassVariable(theme, sassVariableName);\n }\n return defaultValue;\n };\n GridOptionsWrapper.prototype.getDefaultRowHeight = function () {\n return this.getFromTheme(DEFAULT_ROW_HEIGHT, 'rowHeight');\n };\n GridOptionsWrapper.prototype.matchesGroupDisplayType = function (toMatch, supplied) {\n var groupDisplayTypeValues = ['groupRows', 'multipleColumns', 'custom', 'singleColumn'];\n if (groupDisplayTypeValues.indexOf(supplied) < 0) {\n console.warn(\"AG Grid: '\" + supplied + \"' is not a valid groupDisplayType value - possible values are: '\" + groupDisplayTypeValues.join(\"', '\") + \"'\");\n return false;\n }\n return supplied === toMatch;\n };\n GridOptionsWrapper.prototype.matchesTreeDataDisplayType = function (toMatch, supplied) {\n var treeDataDisplayTypeValues = ['auto', 'custom'];\n if (treeDataDisplayTypeValues.indexOf(supplied) < 0) {\n console.warn(\"AG Grid: '\" + supplied + \"' is not a valid treeDataDisplayType value - possible values are: '\" + treeDataDisplayTypeValues.join(\"', '\") + \"'\");\n return false;\n }\n return supplied === toMatch;\n };\n var GridOptionsWrapper_1;\n GridOptionsWrapper.MIN_COL_WIDTH = 10;\n GridOptionsWrapper.PROP_HEADER_HEIGHT = 'headerHeight';\n GridOptionsWrapper.PROP_GROUP_REMOVE_SINGLE_CHILDREN = 'groupRemoveSingleChildren';\n GridOptionsWrapper.PROP_GROUP_REMOVE_LOWEST_SINGLE_CHILDREN = 'groupRemoveLowestSingleChildren';\n GridOptionsWrapper.PROP_PIVOT_HEADER_HEIGHT = 'pivotHeaderHeight';\n GridOptionsWrapper.PROP_SUPPRESS_CLIPBOARD_PASTE = 'suppressClipboardPaste';\n GridOptionsWrapper.PROP_GROUP_HEADER_HEIGHT = 'groupHeaderHeight';\n GridOptionsWrapper.PROP_PIVOT_GROUP_HEADER_HEIGHT = 'pivotGroupHeaderHeight';\n GridOptionsWrapper.PROP_NAVIGATE_TO_NEXT_CELL = 'navigateToNextCell';\n GridOptionsWrapper.PROP_TAB_TO_NEXT_CELL = 'tabToNextCell';\n GridOptionsWrapper.PROP_NAVIGATE_TO_NEXT_HEADER = 'navigateToNextHeader';\n GridOptionsWrapper.PROP_TAB_TO_NEXT_HEADER = 'tabToNextHeader';\n GridOptionsWrapper.PROP_IS_EXTERNAL_FILTER_PRESENT = 'isExternalFilterPresent';\n GridOptionsWrapper.PROP_DOES_EXTERNAL_FILTER_PASS = 'doesExternalFilterPass';\n GridOptionsWrapper.PROP_FLOATING_FILTERS_HEIGHT = 'floatingFiltersHeight';\n GridOptionsWrapper.PROP_SUPPRESS_ROW_CLICK_SELECTION = 'suppressRowClickSelection';\n GridOptionsWrapper.PROP_SUPPRESS_ROW_DRAG = 'suppressRowDrag';\n GridOptionsWrapper.PROP_SUPPRESS_MOVE_WHEN_ROW_DRAG = 'suppressMoveWhenRowDragging';\n GridOptionsWrapper.PROP_GET_ROW_CLASS = 'getRowClass';\n GridOptionsWrapper.PROP_GET_ROW_STYLE = 'getRowStyle';\n GridOptionsWrapper.PROP_GET_ROW_HEIGHT = 'getRowHeight';\n GridOptionsWrapper.PROP_POPUP_PARENT = 'popupParent';\n GridOptionsWrapper.PROP_DOM_LAYOUT = 'domLayout';\n GridOptionsWrapper.PROP_ROW_CLASS = 'rowClass';\n GridOptionsWrapper.PROP_FILL_HANDLE_DIRECTION = 'fillHandleDirection';\n GridOptionsWrapper.PROP_GROUP_ROW_AGG_NODES = 'groupRowAggNodes';\n GridOptionsWrapper.PROP_GET_GROUP_ROW_AGG = 'getGroupRowAgg';\n GridOptionsWrapper.PROP_GET_BUSINESS_KEY_FOR_NODE = 'getBusinessKeyForNode';\n GridOptionsWrapper.PROP_GET_CHILD_COUNT = 'getChildCount';\n GridOptionsWrapper.PROP_PROCESS_ROW_POST_CREATE = 'processRowPostCreate';\n GridOptionsWrapper.PROP_GET_ROW_NODE_ID = 'getRowNodeId';\n GridOptionsWrapper.PROP_GET_ROW_ID = 'getRowId';\n GridOptionsWrapper.PROP_IS_FULL_WIDTH_CELL = 'isFullWidthCell';\n GridOptionsWrapper.PROP_IS_FULL_WIDTH_ROW = 'isFullWidthRow';\n GridOptionsWrapper.PROP_IS_ROW_SELECTABLE = 'isRowSelectable';\n GridOptionsWrapper.PROP_IS_ROW_MASTER = 'isRowMaster';\n GridOptionsWrapper.PROP_POST_SORT = 'postSort';\n GridOptionsWrapper.PROP_POST_SORT_ROWS = 'postSortRows';\n GridOptionsWrapper.PROP_GET_DOCUMENT = 'getDocument';\n GridOptionsWrapper.PROP_POST_PROCESS_POPUP = 'postProcessPopup';\n GridOptionsWrapper.PROP_DEFAULT_GROUP_ORDER_COMPARATOR = 'defaultGroupOrderComparator';\n GridOptionsWrapper.PROP_INITIAL_GROUP_ORDER_COMPARATOR = 'initialGroupOrderComparator';\n GridOptionsWrapper.PROP_PAGINATION_NUMBER_FORMATTER = 'paginationNumberFormatter';\n GridOptionsWrapper.PROP_GET_CONTEXT_MENU_ITEMS = 'getContextMenuItems';\n GridOptionsWrapper.PROP_GET_MAIN_MENU_ITEMS = 'getMainMenuItems';\n GridOptionsWrapper.PROP_PROCESS_CELL_FOR_CLIPBOARD = 'processCellForClipboard';\n GridOptionsWrapper.PROP_PROCESS_CELL_FROM_CLIPBOARD = 'processCellFromClipboard';\n GridOptionsWrapper.PROP_SEND_TO_CLIPBOARD = 'sendToClipboard';\n GridOptionsWrapper.PROP_PROCESS_TO_SECONDARY_COLDEF = 'processSecondaryColDef';\n GridOptionsWrapper.PROP_PROCESS_SECONDARY_COL_GROUP_DEF = 'processSecondaryColGroupDef';\n GridOptionsWrapper.PROP_GET_CHART_TOOLBAR_ITEMS = 'getChartToolbarItems';\n GridOptionsWrapper.PROP_GET_SERVER_SIDE_STORE_PARAMS = 'getServerSideStoreParams';\n GridOptionsWrapper.PROP_IS_SERVER_SIDE_GROUPS_OPEN_BY_DEFAULT = 'isServerSideGroupOpenByDefault';\n GridOptionsWrapper.PROP_IS_APPLY_SERVER_SIDE_TRANSACTION = 'isApplyServerSideTransaction';\n GridOptionsWrapper.PROP_IS_SERVER_SIDE_GROUP = 'isServerSideGroup';\n GridOptionsWrapper.PROP_GET_SERVER_SIDE_GROUP_KEY = 'getServerSideGroupKey';\n __decorate$I([\n Autowired('gridOptions')\n ], GridOptionsWrapper.prototype, \"gridOptions\", void 0);\n __decorate$I([\n Autowired('eventService')\n ], GridOptionsWrapper.prototype, \"eventService\", void 0);\n __decorate$I([\n Autowired('environment')\n ], GridOptionsWrapper.prototype, \"environment\", void 0);\n __decorate$I([\n Autowired('eGridDiv')\n ], GridOptionsWrapper.prototype, \"eGridDiv\", void 0);\n __decorate$I([\n __param$3(0, Qualifier('gridApi')), __param$3(1, Qualifier('columnApi'))\n ], GridOptionsWrapper.prototype, \"agWire\", null);\n __decorate$I([\n PreDestroy\n ], GridOptionsWrapper.prototype, \"destroy\", null);\n __decorate$I([\n PostConstruct\n ], GridOptionsWrapper.prototype, \"init\", null);\n GridOptionsWrapper = GridOptionsWrapper_1 = __decorate$I([\n Bean('gridOptionsWrapper')\n ], GridOptionsWrapper);\n return GridOptionsWrapper;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$Q = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$J = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n(function (LayoutCssClasses) {\n LayoutCssClasses[\"AUTO_HEIGHT\"] = \"ag-layout-auto-height\";\n LayoutCssClasses[\"NORMAL\"] = \"ag-layout-normal\";\n LayoutCssClasses[\"PRINT\"] = \"ag-layout-print\";\n})(exports.LayoutCssClasses || (exports.LayoutCssClasses = {}));\nvar LayoutFeature = /** @class */ (function (_super) {\n __extends$Q(LayoutFeature, _super);\n function LayoutFeature(view) {\n var _this = _super.call(this) || this;\n _this.view = view;\n return _this;\n }\n LayoutFeature.prototype.postConstruct = function () {\n this.addManagedListener(this.gridOptionsWrapper, GridOptionsWrapper.PROP_DOM_LAYOUT, this.updateLayoutClasses.bind(this));\n this.updateLayoutClasses();\n };\n LayoutFeature.prototype.updateLayoutClasses = function () {\n var domLayout = this.gridOptionsWrapper.getDomLayout();\n var params = {\n autoHeight: domLayout === Constants.DOM_LAYOUT_AUTO_HEIGHT,\n normal: domLayout === Constants.DOM_LAYOUT_NORMAL,\n print: domLayout === Constants.DOM_LAYOUT_PRINT\n };\n var cssClass = params.autoHeight ? exports.LayoutCssClasses.AUTO_HEIGHT :\n params.print ? exports.LayoutCssClasses.PRINT : exports.LayoutCssClasses.NORMAL;\n this.view.updateLayoutClasses(cssClass, params);\n };\n __decorate$J([\n Autowired('gridOptionsWrapper')\n ], LayoutFeature.prototype, \"gridOptionsWrapper\", void 0);\n __decorate$J([\n PostConstruct\n ], LayoutFeature.prototype, \"postConstruct\", null);\n return LayoutFeature;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$R = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$K = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar GridBodyScrollFeature = /** @class */ (function (_super) {\n __extends$R(GridBodyScrollFeature, _super);\n function GridBodyScrollFeature(eBodyViewport) {\n var _this = _super.call(this) || this;\n _this.scrollLeft = -1;\n _this.nextScrollTop = -1;\n _this.scrollTop = -1;\n _this.eBodyViewport = eBodyViewport;\n _this.resetLastHorizontalScrollElementDebounced = debounce(_this.resetLastHorizontalScrollElement.bind(_this), 500);\n return _this;\n }\n GridBodyScrollFeature.prototype.postConstruct = function () {\n var _this = this;\n this.enableRtl = this.gridOptionsWrapper.isEnableRtl();\n this.addManagedListener(this.eventService, Events.EVENT_DISPLAYED_COLUMNS_WIDTH_CHANGED, this.onDisplayedColumnsWidthChanged.bind(this));\n this.ctrlsService.whenReady(function (p) {\n _this.centerRowContainerCtrl = p.centerRowContainerCtrl;\n _this.onDisplayedColumnsWidthChanged();\n _this.addScrollListener();\n });\n };\n GridBodyScrollFeature.prototype.addScrollListener = function () {\n var fakeHScroll = this.ctrlsService.getFakeHScrollCtrl();\n this.addManagedListener(this.centerRowContainerCtrl.getViewportElement(), 'scroll', this.onCenterViewportScroll.bind(this));\n this.addManagedListener(fakeHScroll.getViewport(), 'scroll', this.onFakeHorizontalScroll.bind(this));\n var onVerticalScroll = this.gridOptionsWrapper.isDebounceVerticalScrollbar() ?\n debounce(this.onVerticalScroll.bind(this), 100)\n : this.onVerticalScroll.bind(this);\n this.addManagedListener(this.eBodyViewport, 'scroll', onVerticalScroll);\n };\n GridBodyScrollFeature.prototype.onDisplayedColumnsWidthChanged = function () {\n if (this.enableRtl) {\n // because RTL is all backwards, a change in the width of the row\n // can cause a change in the scroll position, without a scroll event,\n // because the scroll position in RTL is a function that depends on\n // the width. to be convinced of this, take out this line, enable RTL,\n // scroll all the way to the left and then resize a column\n this.horizontallyScrollHeaderCenterAndFloatingCenter();\n }\n };\n GridBodyScrollFeature.prototype.horizontallyScrollHeaderCenterAndFloatingCenter = function (scrollLeft) {\n // when doing RTL, this method gets called once prematurely\n var notYetInitialised = this.centerRowContainerCtrl == null;\n if (notYetInitialised) {\n return;\n }\n if (scrollLeft === undefined) {\n scrollLeft = this.centerRowContainerCtrl.getCenterViewportScrollLeft();\n }\n var offset = this.enableRtl ? scrollLeft : -scrollLeft;\n var topCenterContainer = this.ctrlsService.getTopCenterRowContainerCtrl();\n var bottomCenterContainer = this.ctrlsService.getBottomCenterRowContainerCtrl();\n var fakeHScroll = this.ctrlsService.getFakeHScrollCtrl();\n var centerHeaderContainer = this.ctrlsService.getHeaderRowContainerCtrl();\n centerHeaderContainer.setHorizontalScroll(offset);\n bottomCenterContainer.setContainerTranslateX(offset);\n topCenterContainer.setContainerTranslateX(offset);\n var partner = this.lastHorizontalScrollElement === this.centerRowContainerCtrl.getViewportElement() ?\n fakeHScroll.getViewport() : this.centerRowContainerCtrl.getViewportElement();\n setScrollLeft(partner, Math.abs(scrollLeft), this.enableRtl);\n };\n GridBodyScrollFeature.prototype.isControllingScroll = function (eDiv) {\n if (!this.lastHorizontalScrollElement) {\n this.lastHorizontalScrollElement = eDiv;\n return true;\n }\n return eDiv === this.lastHorizontalScrollElement;\n };\n GridBodyScrollFeature.prototype.onFakeHorizontalScroll = function () {\n var fakeHScrollViewport = this.ctrlsService.getFakeHScrollCtrl().getViewport();\n if (!this.isControllingScroll(fakeHScrollViewport)) {\n return;\n }\n this.onBodyHorizontalScroll(fakeHScrollViewport);\n };\n GridBodyScrollFeature.prototype.onCenterViewportScroll = function () {\n var centerContainerViewport = this.centerRowContainerCtrl.getViewportElement();\n if (!this.isControllingScroll(centerContainerViewport)) {\n return;\n }\n this.onBodyHorizontalScroll(centerContainerViewport);\n };\n GridBodyScrollFeature.prototype.onBodyHorizontalScroll = function (eSource) {\n var centerContainerViewport = this.centerRowContainerCtrl.getViewportElement();\n var scrollLeft = centerContainerViewport.scrollLeft;\n if (this.shouldBlockScrollUpdate('horizontal', scrollLeft, true)) {\n return;\n }\n // we do Math.round() rather than Math.floor(), to mirror how scroll values are applied.\n // eg if a scale is applied (ie user has zoomed the browser), then applying scroll=200\n // could result in 199.88, which then floor(199.88) = 199, however round(199.88) = 200.\n // initially Math.floor() was used, however this caused (almost) infinite loop with aligned grids,\n // as the scroll would move 1px at at time bouncing from one grid to the next (eg one grid would cause\n // scroll to 200px, the next to 199px, then the first back to 198px and so on).\n this.doHorizontalScroll(Math.round(getScrollLeft(eSource, this.enableRtl)));\n this.resetLastHorizontalScrollElementDebounced();\n };\n GridBodyScrollFeature.prototype.onVerticalScroll = function () {\n var scrollTop = this.eBodyViewport.scrollTop;\n if (this.shouldBlockScrollUpdate('vertical', scrollTop, true)) {\n return;\n }\n this.animationFrameService.setScrollTop(scrollTop);\n this.nextScrollTop = scrollTop;\n if (this.gridOptionsWrapper.isSuppressAnimationFrame()) {\n this.scrollTop = this.nextScrollTop;\n this.redrawRowsAfterScroll();\n }\n else {\n this.animationFrameService.schedule();\n }\n };\n GridBodyScrollFeature.prototype.resetLastHorizontalScrollElement = function () {\n this.lastHorizontalScrollElement = null;\n };\n GridBodyScrollFeature.prototype.doHorizontalScroll = function (scrollLeft) {\n var fakeHScrollViewport = this.ctrlsService.getFakeHScrollCtrl().getViewport();\n var fakeScrollLeft = getScrollLeft(fakeHScrollViewport, this.enableRtl);\n if (this.scrollLeft === scrollLeft && scrollLeft === fakeScrollLeft) {\n return;\n }\n this.scrollLeft = scrollLeft;\n this.fireScrollEvent('horizontal');\n this.horizontallyScrollHeaderCenterAndFloatingCenter(scrollLeft);\n this.onHorizontalViewportChanged();\n };\n GridBodyScrollFeature.prototype.fireScrollEvent = function (direction) {\n var _this = this;\n var bodyScrollEvent = {\n type: Events.EVENT_BODY_SCROLL,\n api: this.gridApi,\n columnApi: this.columnApi,\n direction: direction,\n left: this.scrollLeft,\n top: this.scrollTop\n };\n this.eventService.dispatchEvent(bodyScrollEvent);\n window.clearTimeout(this.scrollTimer);\n this.scrollTimer = undefined;\n this.scrollTimer = window.setTimeout(function () {\n var bodyScrollEndEvent = Object.assign({}, bodyScrollEvent, {\n type: Events.EVENT_BODY_SCROLL_END\n });\n _this.eventService.dispatchEvent(bodyScrollEndEvent);\n }, 100);\n };\n GridBodyScrollFeature.prototype.shouldBlockScrollUpdate = function (direction, scrollTo, touchOnly) {\n // touch devices allow elastic scroll - which temporally scrolls the panel outside of the viewport\n // (eg user uses touch to go to the left of the grid, but drags past the left, the rows will actually\n // scroll past the left until the user releases the mouse). when this happens, we want ignore the scroll,\n // as otherwise it was causing the rows and header to flicker.\n if (touchOnly === void 0) { touchOnly = false; }\n // sometimes when scrolling, we got values that extended the maximum scroll allowed. we used to\n // ignore these scrolls. problem is the max scroll position could be skipped (eg the previous scroll event\n // could be 10px before the max position, and then current scroll event could be 20px after the max position).\n // if we just ignored the last event, we would be setting the scroll to 10px before the max position, when in\n // actual fact the user has exceeded the max scroll and thus scroll should be set to the max.\n if (touchOnly && !isIOSUserAgent()) {\n return false;\n }\n if (direction === 'vertical') {\n var clientHeight = getInnerHeight(this.eBodyViewport);\n var scrollHeight = this.eBodyViewport.scrollHeight;\n if (scrollTo < 0 || (scrollTo + clientHeight > scrollHeight)) {\n return true;\n }\n }\n if (direction === 'horizontal') {\n var clientWidth = this.centerRowContainerCtrl.getCenterWidth();\n var scrollWidth = this.centerRowContainerCtrl.getViewportElement().scrollWidth;\n if (this.enableRtl && isRtlNegativeScroll()) {\n if (scrollTo > 0) {\n return true;\n }\n }\n else if (scrollTo < 0) {\n return true;\n }\n if (Math.abs(scrollTo) + clientWidth > scrollWidth) {\n return true;\n }\n }\n return false;\n };\n GridBodyScrollFeature.prototype.redrawRowsAfterScroll = function () {\n this.fireScrollEvent('vertical');\n };\n GridBodyScrollFeature.prototype.onHorizontalViewportChanged = function () {\n this.centerRowContainerCtrl.onHorizontalViewportChanged();\n };\n // this is to cater for AG-3274, where grid is removed from the dom and then inserted back in again.\n // (which happens with some implementations of tabbing). this can result in horizontal scroll getting\n // reset back to the left, however no scroll event is fired. so we need to get header to also scroll\n // back to the left to be kept in sync.\n // adding and removing the grid from the DOM both resets the scroll position and\n // triggers a resize event, so notify listeners if the scroll position has changed\n GridBodyScrollFeature.prototype.checkScrollLeft = function () {\n if (this.scrollLeft !== this.centerRowContainerCtrl.getCenterViewportScrollLeft()) {\n this.onBodyHorizontalScroll(this.centerRowContainerCtrl.getViewportElement());\n }\n };\n GridBodyScrollFeature.prototype.executeAnimationFrameScroll = function () {\n var frameNeeded = this.scrollTop != this.nextScrollTop;\n if (frameNeeded) {\n this.scrollTop = this.nextScrollTop;\n this.redrawRowsAfterScroll();\n }\n return frameNeeded;\n };\n // called by scrollHorizontally method and alignedGridsService\n GridBodyScrollFeature.prototype.setHorizontalScrollPosition = function (hScrollPosition) {\n var minScrollLeft = 0;\n var maxScrollLeft = this.centerRowContainerCtrl.getViewportElement().scrollWidth - this.centerRowContainerCtrl.getCenterWidth();\n if (this.shouldBlockScrollUpdate('horizontal', hScrollPosition)) {\n if (this.enableRtl && isRtlNegativeScroll()) {\n hScrollPosition = hScrollPosition > 0 ? 0 : maxScrollLeft;\n }\n else {\n hScrollPosition = Math.min(Math.max(hScrollPosition, minScrollLeft), maxScrollLeft);\n }\n }\n setScrollLeft(this.centerRowContainerCtrl.getViewportElement(), Math.abs(hScrollPosition), this.enableRtl);\n // we need to manually do the event handling (rather than wait for the event)\n // for the alignedGridsService, as if we don't, the aligned grid service gets\n // notified async, and then it's 'consuming' flag doesn't get used right, and\n // we can end up with an infinite loop\n this.doHorizontalScroll(hScrollPosition);\n };\n GridBodyScrollFeature.prototype.setVerticalScrollPosition = function (vScrollPosition) {\n this.eBodyViewport.scrollTop = vScrollPosition;\n };\n GridBodyScrollFeature.prototype.getVScrollPosition = function () {\n var result = {\n top: this.eBodyViewport.scrollTop,\n bottom: this.eBodyViewport.scrollTop + this.eBodyViewport.offsetHeight\n };\n return result;\n };\n GridBodyScrollFeature.prototype.getHScrollPosition = function () {\n return this.centerRowContainerCtrl.getHScrollPosition();\n };\n GridBodyScrollFeature.prototype.isHorizontalScrollShowing = function () {\n return this.centerRowContainerCtrl.isHorizontalScrollShowing();\n };\n // called by the headerRootComp and moveColumnController\n GridBodyScrollFeature.prototype.scrollHorizontally = function (pixels) {\n var oldScrollPosition = this.centerRowContainerCtrl.getViewportElement().scrollLeft;\n this.setHorizontalScrollPosition(oldScrollPosition + pixels);\n return this.centerRowContainerCtrl.getViewportElement().scrollLeft - oldScrollPosition;\n };\n // gets called by rowRenderer when new data loaded, as it will want to scroll to the top\n GridBodyScrollFeature.prototype.scrollToTop = function () {\n this.eBodyViewport.scrollTop = 0;\n };\n // Valid values for position are bottom, middle and top\n GridBodyScrollFeature.prototype.ensureNodeVisible = function (comparator, position) {\n if (position === void 0) { position = null; }\n // look for the node index we want to display\n var rowCount = this.rowModel.getRowCount();\n var comparatorIsAFunction = typeof comparator === 'function';\n var indexToSelect = -1;\n // go through all the nodes, find the one we want to show\n for (var i = 0; i < rowCount; i++) {\n var node = this.rowModel.getRow(i);\n if (comparatorIsAFunction) {\n if (comparator(node)) {\n indexToSelect = i;\n break;\n }\n }\n else {\n // check object equality against node and data\n if (comparator === node || comparator === node.data) {\n indexToSelect = i;\n break;\n }\n }\n }\n if (indexToSelect >= 0) {\n this.ensureIndexVisible(indexToSelect, position);\n }\n };\n // Valid values for position are bottom, middle and top\n // position should be {'top','middle','bottom', or undefined/null}.\n // if undefined/null, then the grid will to the minimal amount of scrolling,\n // eg if grid needs to scroll up, it scrolls until row is on top,\n // if grid needs to scroll down, it scrolls until row is on bottom,\n // if row is already in view, grid does not scroll\n GridBodyScrollFeature.prototype.ensureIndexVisible = function (index, position) {\n // if for print or auto height, everything is always visible\n if (this.gridOptionsWrapper.getDomLayout() === Constants.DOM_LAYOUT_PRINT) {\n return;\n }\n var rowCount = this.paginationProxy.getRowCount();\n if (typeof index !== 'number' || index < 0 || index >= rowCount) {\n console.warn('invalid row index for ensureIndexVisible: ' + index);\n return;\n }\n var isPaging = this.gridOptionsWrapper.isPagination();\n var paginationPanelEnabled = isPaging && !this.gridOptionsWrapper.isSuppressPaginationPanel();\n if (!paginationPanelEnabled) {\n this.paginationProxy.goToPageWithIndex(index);\n }\n var rowNode = this.paginationProxy.getRow(index);\n var rowGotShiftedDuringOperation;\n do {\n var startingRowTop = rowNode.rowTop;\n var startingRowHeight = rowNode.rowHeight;\n var paginationOffset = this.paginationProxy.getPixelOffset();\n var rowTopPixel = rowNode.rowTop - paginationOffset;\n var rowBottomPixel = rowTopPixel + rowNode.rowHeight;\n var scrollPosition = this.getVScrollPosition();\n var heightOffset = this.heightScaler.getDivStretchOffset();\n var vScrollTop = scrollPosition.top + heightOffset;\n var vScrollBottom = scrollPosition.bottom + heightOffset;\n var viewportHeight = vScrollBottom - vScrollTop;\n // work out the pixels for top, middle and bottom up front,\n // make the if/else below easier to read\n var pxTop = this.heightScaler.getScrollPositionForPixel(rowTopPixel);\n var pxBottom = this.heightScaler.getScrollPositionForPixel(rowBottomPixel - viewportHeight);\n // make sure if middle, the row is not outside the top of the grid\n var pxMiddle = Math.min((pxTop + pxBottom) / 2, rowTopPixel);\n var rowBelowViewport = vScrollTop > rowTopPixel;\n var rowAboveViewport = vScrollBottom < rowBottomPixel;\n var newScrollPosition = null;\n if (position === 'top') {\n newScrollPosition = pxTop;\n }\n else if (position === 'bottom') {\n newScrollPosition = pxBottom;\n }\n else if (position === 'middle') {\n newScrollPosition = pxMiddle;\n }\n else if (rowBelowViewport) {\n // if row is before, scroll up with row at top\n newScrollPosition = pxTop;\n }\n else if (rowAboveViewport) {\n // if row is below, scroll down with row at bottom\n newScrollPosition = pxBottom;\n }\n if (newScrollPosition !== null) {\n this.eBodyViewport.scrollTop = newScrollPosition;\n this.rowRenderer.redrawAfterScroll();\n }\n // the row can get shifted if during the rendering (during rowRenderer.redrawAfterScroll()),\n // the height of a row changes due to lazy calculation of row heights when using\n // colDef.autoHeight or gridOptions.getRowHeight.\n // if row was shifted, then the position we scrolled to is incorrect.\n rowGotShiftedDuringOperation = (startingRowTop !== rowNode.rowTop)\n || (startingRowHeight !== rowNode.rowHeight);\n } while (rowGotShiftedDuringOperation);\n // so when we return back to user, the cells have rendered\n this.animationFrameService.flushAllFrames();\n };\n GridBodyScrollFeature.prototype.ensureColumnVisible = function (key, position) {\n if (position === void 0) { position = 'auto'; }\n var column = this.columnModel.getGridColumn(key);\n if (!column) {\n return;\n }\n // calling ensureColumnVisible on a pinned column doesn't make sense\n if (column.isPinned()) {\n return;\n }\n // defensive\n if (!this.columnModel.isColumnDisplayed(column)) {\n return;\n }\n var newHorizontalScroll = this.getPositionedHorizontalScroll(column, position);\n if (newHorizontalScroll !== null) {\n this.centerRowContainerCtrl.setCenterViewportScrollLeft(newHorizontalScroll);\n }\n // this will happen anyway, as the move will cause a 'scroll' event on the body, however\n // it is possible that the ensureColumnVisible method is called from within AG Grid and\n // the caller will need to have the columns rendered to continue, which will be before\n // the event has been worked on (which is the case for cell navigation).\n this.centerRowContainerCtrl.onHorizontalViewportChanged();\n // so when we return back to user, the cells have rendered\n this.animationFrameService.flushAllFrames();\n };\n GridBodyScrollFeature.prototype.getPositionedHorizontalScroll = function (column, position) {\n var _a = this.isColumnOutsideViewport(column), columnBeforeStart = _a.columnBeforeStart, columnAfterEnd = _a.columnAfterEnd;\n var viewportTooSmallForColumn = this.centerRowContainerCtrl.getCenterWidth() < column.getActualWidth();\n var viewportWidth = this.centerRowContainerCtrl.getCenterWidth();\n var isRtl = this.enableRtl;\n var alignColToStart = (isRtl ? columnBeforeStart : columnAfterEnd) || viewportTooSmallForColumn;\n var alignColToEnd = isRtl ? columnAfterEnd : columnBeforeStart;\n if (position !== 'auto') {\n alignColToStart = position === 'start';\n alignColToEnd = position === 'end';\n }\n var isMiddle = position === 'middle';\n if (alignColToStart || alignColToEnd || isMiddle) {\n var _b = this.getColumnBounds(column), colLeft = _b.colLeft, colMiddle = _b.colMiddle, colRight = _b.colRight;\n if (isMiddle) {\n return colMiddle - viewportWidth / 2;\n }\n if (alignColToStart) {\n return isRtl ? colRight : colLeft;\n }\n return isRtl ? (colLeft - viewportWidth) : (colRight - viewportWidth);\n }\n return null;\n };\n GridBodyScrollFeature.prototype.isColumnOutsideViewport = function (column) {\n var _a = this.getViewportBounds(), viewportStart = _a.start, viewportEnd = _a.end;\n var _b = this.getColumnBounds(column), colLeft = _b.colLeft, colRight = _b.colRight;\n var isRtl = this.enableRtl;\n var columnBeforeStart = isRtl ? (viewportStart > colRight) : (viewportEnd < colRight);\n var columnAfterEnd = isRtl ? (viewportEnd < colLeft) : (viewportStart > colLeft);\n return { columnBeforeStart: columnBeforeStart, columnAfterEnd: columnAfterEnd };\n };\n GridBodyScrollFeature.prototype.getColumnBounds = function (column) {\n var isRtl = this.enableRtl;\n var bodyWidth = this.columnModel.getBodyContainerWidth();\n var colWidth = column.getActualWidth();\n var colLeft = column.getLeft();\n var multiplier = isRtl ? -1 : 1;\n var colLeftPixel = isRtl ? (bodyWidth - colLeft) : colLeft;\n var colRightPixel = colLeftPixel + colWidth * multiplier;\n var colMidPixel = colLeftPixel + colWidth / 2 * multiplier;\n return { colLeft: colLeftPixel, colMiddle: colMidPixel, colRight: colRightPixel };\n };\n GridBodyScrollFeature.prototype.getViewportBounds = function () {\n var viewportWidth = this.centerRowContainerCtrl.getCenterWidth();\n var scrollPosition = this.centerRowContainerCtrl.getCenterViewportScrollLeft();\n var viewportStartPixel = scrollPosition;\n var viewportEndPixel = viewportWidth + scrollPosition;\n return { start: viewportStartPixel, end: viewportEndPixel, width: viewportWidth };\n };\n __decorate$K([\n Autowired('ctrlsService')\n ], GridBodyScrollFeature.prototype, \"ctrlsService\", void 0);\n __decorate$K([\n Autowired('animationFrameService')\n ], GridBodyScrollFeature.prototype, \"animationFrameService\", void 0);\n __decorate$K([\n Autowired('columnApi')\n ], GridBodyScrollFeature.prototype, \"columnApi\", void 0);\n __decorate$K([\n Autowired('gridApi')\n ], GridBodyScrollFeature.prototype, \"gridApi\", void 0);\n __decorate$K([\n Autowired('paginationProxy')\n ], GridBodyScrollFeature.prototype, \"paginationProxy\", void 0);\n __decorate$K([\n Autowired('rowModel')\n ], GridBodyScrollFeature.prototype, \"rowModel\", void 0);\n __decorate$K([\n Autowired('rowContainerHeightService')\n ], GridBodyScrollFeature.prototype, \"heightScaler\", void 0);\n __decorate$K([\n Autowired('rowRenderer')\n ], GridBodyScrollFeature.prototype, \"rowRenderer\", void 0);\n __decorate$K([\n Autowired('columnModel')\n ], GridBodyScrollFeature.prototype, \"columnModel\", void 0);\n __decorate$K([\n PostConstruct\n ], GridBodyScrollFeature.prototype, \"postConstruct\", null);\n return GridBodyScrollFeature;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar AutoScrollService = /** @class */ (function () {\n function AutoScrollService(params) {\n this.tickingInterval = null;\n this.onScrollCallback = null;\n this.scrollContainer = params.scrollContainer;\n this.scrollHorizontally = params.scrollAxis.indexOf('x') !== -1;\n this.scrollVertically = params.scrollAxis.indexOf('y') !== -1;\n this.scrollByTick = params.scrollByTick != null ? params.scrollByTick : 20;\n if (params.onScrollCallback) {\n this.onScrollCallback = params.onScrollCallback;\n }\n if (this.scrollVertically) {\n this.getVerticalPosition = params.getVerticalPosition;\n this.setVerticalPosition = params.setVerticalPosition;\n }\n if (this.scrollHorizontally) {\n this.getHorizontalPosition = params.getHorizontalPosition;\n this.setHorizontalPosition = params.setHorizontalPosition;\n }\n this.shouldSkipVerticalScroll = params.shouldSkipVerticalScroll || (function () { return false; });\n this.shouldSkipHorizontalScroll = params.shouldSkipHorizontalScroll || (function () { return false; });\n }\n AutoScrollService.prototype.check = function (mouseEvent, forceSkipVerticalScroll) {\n if (forceSkipVerticalScroll === void 0) { forceSkipVerticalScroll = false; }\n var skipVerticalScroll = forceSkipVerticalScroll || this.shouldSkipVerticalScroll();\n if (skipVerticalScroll && this.shouldSkipHorizontalScroll()) {\n return;\n }\n var rect = this.scrollContainer.getBoundingClientRect();\n var scrollTick = this.scrollByTick;\n this.tickLeft = mouseEvent.clientX < (rect.left + scrollTick);\n this.tickRight = mouseEvent.clientX > (rect.right - scrollTick);\n this.tickUp = mouseEvent.clientY < (rect.top + scrollTick) && !skipVerticalScroll;\n this.tickDown = mouseEvent.clientY > (rect.bottom - scrollTick) && !skipVerticalScroll;\n if (this.tickLeft || this.tickRight || this.tickUp || this.tickDown) {\n this.ensureTickingStarted();\n }\n else {\n this.ensureCleared();\n }\n };\n AutoScrollService.prototype.ensureTickingStarted = function () {\n if (this.tickingInterval === null) {\n this.tickingInterval = window.setInterval(this.doTick.bind(this), 100);\n this.tickCount = 0;\n }\n };\n AutoScrollService.prototype.doTick = function () {\n this.tickCount++;\n var tickAmount;\n tickAmount = this.tickCount > 20 ? 200 : (this.tickCount > 10 ? 80 : 40);\n if (this.scrollVertically) {\n var vScrollPosition = this.getVerticalPosition();\n if (this.tickUp) {\n this.setVerticalPosition(vScrollPosition - tickAmount);\n }\n if (this.tickDown) {\n this.setVerticalPosition(vScrollPosition + tickAmount);\n }\n }\n if (this.scrollHorizontally) {\n var hScrollPosition = this.getHorizontalPosition();\n if (this.tickLeft) {\n this.setHorizontalPosition(hScrollPosition - tickAmount);\n }\n if (this.tickRight) {\n this.setHorizontalPosition(hScrollPosition + tickAmount);\n }\n }\n if (this.onScrollCallback) {\n this.onScrollCallback();\n }\n };\n AutoScrollService.prototype.ensureCleared = function () {\n if (this.tickingInterval) {\n window.clearInterval(this.tickingInterval);\n this.tickingInterval = null;\n }\n };\n return AutoScrollService;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$S = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign$a = (undefined && undefined.__assign) || function () {\n __assign$a = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign$a.apply(this, arguments);\n};\nvar __decorate$L = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __read$7 = (undefined && undefined.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spread$5 = (undefined && undefined.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read$7(arguments[i]));\n return ar;\n};\nvar RowDragFeature = /** @class */ (function (_super) {\n __extends$S(RowDragFeature, _super);\n function RowDragFeature(eContainer) {\n var _this = _super.call(this) || this;\n _this.isMultiRowDrag = false;\n _this.isGridSorted = false;\n _this.isGridFiltered = false;\n _this.isRowGroupActive = false;\n _this.eContainer = eContainer;\n return _this;\n }\n RowDragFeature.prototype.postConstruct = function () {\n var _this = this;\n if (this.gridOptionsWrapper.isRowModelDefault()) {\n this.clientSideRowModel = this.rowModel;\n }\n var refreshStatus = function () {\n _this.onSortChanged();\n _this.onFilterChanged();\n _this.onRowGroupChanged();\n };\n this.addManagedListener(this.eventService, Events.EVENT_SORT_CHANGED, this.onSortChanged.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_FILTER_CHANGED, this.onFilterChanged.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_ROW_GROUP_CHANGED, this.onRowGroupChanged.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_MODEL_UPDATED, function () {\n refreshStatus();\n });\n refreshStatus();\n this.ctrlsService.whenReady(function () {\n var gridBodyCon = _this.ctrlsService.getGridBodyCtrl();\n _this.autoScrollService = new AutoScrollService({\n scrollContainer: gridBodyCon.getBodyViewportElement(),\n scrollAxis: 'y',\n getVerticalPosition: function () { return gridBodyCon.getScrollFeature().getVScrollPosition().top; },\n setVerticalPosition: function (position) { return gridBodyCon.getScrollFeature().setVerticalScrollPosition(position); },\n onScrollCallback: function () { _this.onDragging(_this.lastDraggingEvent); }\n });\n });\n };\n RowDragFeature.prototype.onSortChanged = function () {\n this.isGridSorted = this.sortController.isSortActive();\n };\n RowDragFeature.prototype.onFilterChanged = function () {\n this.isGridFiltered = this.filterManager.isAnyFilterPresent();\n };\n RowDragFeature.prototype.onRowGroupChanged = function () {\n var rowGroups = this.columnModel.getRowGroupColumns();\n this.isRowGroupActive = !missingOrEmpty(rowGroups);\n };\n RowDragFeature.prototype.getContainer = function () {\n return this.eContainer;\n };\n RowDragFeature.prototype.isInterestedIn = function (type) {\n return type === exports.DragSourceType.RowDrag;\n };\n RowDragFeature.prototype.getIconName = function () {\n var managedDrag = this.gridOptionsWrapper.isRowDragManaged();\n if (managedDrag && this.shouldPreventRowMove()) {\n return DragAndDropService.ICON_NOT_ALLOWED;\n }\n return DragAndDropService.ICON_MOVE;\n };\n RowDragFeature.prototype.shouldPreventRowMove = function () {\n return this.isGridSorted || this.isGridFiltered || this.isRowGroupActive;\n };\n RowDragFeature.prototype.getRowNodes = function (draggingEvent) {\n var _this = this;\n if (!this.isFromThisGrid(draggingEvent)) {\n return draggingEvent.dragItem.rowNodes || [];\n }\n var isRowDragMultiRow = this.gridOptionsWrapper.isRowDragMultiRow();\n var selectedNodes = __spread$5(this.selectionService.getSelectedNodes()).sort(function (a, b) { return _this.getRowIndexNumber(a) - _this.getRowIndexNumber(b); });\n var currentNode = draggingEvent.dragItem.rowNode;\n if (isRowDragMultiRow && selectedNodes.indexOf(currentNode) !== -1) {\n this.isMultiRowDrag = true;\n return selectedNodes;\n }\n this.isMultiRowDrag = false;\n return [currentNode];\n };\n RowDragFeature.prototype.onDragEnter = function (draggingEvent) {\n // builds a lits of all rows being dragged before firing events\n draggingEvent.dragItem.rowNodes = this.getRowNodes(draggingEvent);\n // when entering, we fire the enter event, then in onEnterOrDragging,\n // we also fire the move event. so we get both events when entering.\n this.dispatchGridEvent(Events.EVENT_ROW_DRAG_ENTER, draggingEvent);\n this.getRowNodes(draggingEvent).forEach(function (rowNode) {\n rowNode.setDragging(true);\n });\n this.onEnterOrDragging(draggingEvent);\n };\n RowDragFeature.prototype.onDragging = function (draggingEvent) {\n this.onEnterOrDragging(draggingEvent);\n };\n RowDragFeature.prototype.isFromThisGrid = function (draggingEvent) {\n var dragSourceDomDataKey = draggingEvent.dragSource.dragSourceDomDataKey;\n return dragSourceDomDataKey === this.gridOptionsWrapper.getDomDataKey();\n };\n RowDragFeature.prototype.isDropZoneWithinThisGrid = function (draggingEvent) {\n var gridBodyCon = this.ctrlsService.getGridBodyCtrl();\n var gridGui = gridBodyCon.getGui();\n var dropZoneTarget = draggingEvent.dropZoneTarget;\n return !gridGui.contains(dropZoneTarget);\n };\n RowDragFeature.prototype.onEnterOrDragging = function (draggingEvent) {\n // this event is fired for enter and move\n this.dispatchGridEvent(Events.EVENT_ROW_DRAG_MOVE, draggingEvent);\n this.lastDraggingEvent = draggingEvent;\n var pixel = this.mouseEventService.getNormalisedPosition(draggingEvent).y;\n var managedDrag = this.gridOptionsWrapper.isRowDragManaged();\n if (managedDrag) {\n this.doManagedDrag(draggingEvent, pixel);\n }\n this.autoScrollService.check(draggingEvent.event);\n };\n RowDragFeature.prototype.doManagedDrag = function (draggingEvent, pixel) {\n var isFromThisGrid = this.isFromThisGrid(draggingEvent);\n var managedDrag = this.gridOptionsWrapper.isRowDragManaged();\n var rowNodes = draggingEvent.dragItem.rowNodes;\n if (managedDrag && this.shouldPreventRowMove()) {\n return;\n }\n if (this.gridOptionsWrapper.isSuppressMoveWhenRowDragging() || !isFromThisGrid) {\n if (!this.isDropZoneWithinThisGrid(draggingEvent)) {\n this.clientSideRowModel.highlightRowAtPixel(rowNodes[0], pixel);\n }\n }\n else {\n this.moveRows(rowNodes, pixel);\n }\n };\n RowDragFeature.prototype.getRowIndexNumber = function (rowNode) {\n return parseInt(last(rowNode.getRowIndexString().split('-')), 10);\n };\n RowDragFeature.prototype.moveRowAndClearHighlight = function (draggingEvent) {\n var _this = this;\n var lastHighlightedRowNode = this.clientSideRowModel.getLastHighlightedRowNode();\n var isBelow = lastHighlightedRowNode && lastHighlightedRowNode.highlighted === exports.RowHighlightPosition.Below;\n var pixel = this.mouseEventService.getNormalisedPosition(draggingEvent).y;\n var rowNodes = draggingEvent.dragItem.rowNodes;\n var increment = isBelow ? 1 : 0;\n if (this.isFromThisGrid(draggingEvent)) {\n rowNodes.forEach(function (rowNode) {\n if (rowNode.rowTop < pixel) {\n increment -= 1;\n }\n });\n this.moveRows(rowNodes, pixel, increment);\n }\n else {\n var getRowIdFunc_1 = this.gridOptionsWrapper.getRowIdFunc();\n var addIndex = this.clientSideRowModel.getRowIndexAtPixel(pixel) + 1;\n if (this.clientSideRowModel.getHighlightPosition(pixel) === exports.RowHighlightPosition.Above) {\n addIndex--;\n }\n this.clientSideRowModel.updateRowData({\n add: rowNodes\n .map(function (node) { return node.data; })\n .filter(function (data) { return !_this.clientSideRowModel.getRowNode(getRowIdFunc_1 ? getRowIdFunc_1({ data: data, level: 0 }) : data.id); }),\n addIndex: addIndex\n });\n }\n this.clearRowHighlight();\n };\n RowDragFeature.prototype.clearRowHighlight = function () {\n this.clientSideRowModel.highlightRowAtPixel(null);\n };\n RowDragFeature.prototype.moveRows = function (rowNodes, pixel, increment) {\n if (increment === void 0) { increment = 0; }\n var rowWasMoved = this.clientSideRowModel.ensureRowsAtPixel(rowNodes, pixel, increment);\n if (rowWasMoved) {\n this.focusService.clearFocusedCell();\n if (this.rangeService) {\n this.rangeService.removeAllCellRanges();\n }\n }\n };\n RowDragFeature.prototype.addRowDropZone = function (params) {\n var _this = this;\n if (!params.getContainer()) {\n doOnce(function () { return console.warn('AG Grid: addRowDropZone - A container target needs to be provided'); }, 'add-drop-zone-empty-target');\n return;\n }\n if (this.dragAndDropService.findExternalZone(params)) {\n console.warn('AG Grid: addRowDropZone - target already exists in the list of DropZones. Use `removeRowDropZone` before adding it again.');\n return;\n }\n var processedParams = {\n getContainer: params.getContainer\n };\n if (params.fromGrid) {\n params.fromGrid = undefined;\n processedParams = params;\n }\n else {\n if (params.onDragEnter) {\n processedParams.onDragEnter = function (e) {\n params.onDragEnter(_this.draggingToRowDragEvent(Events.EVENT_ROW_DRAG_ENTER, e));\n };\n }\n if (params.onDragLeave) {\n processedParams.onDragLeave = function (e) {\n params.onDragLeave(_this.draggingToRowDragEvent(Events.EVENT_ROW_DRAG_LEAVE, e));\n };\n }\n if (params.onDragging) {\n processedParams.onDragging = function (e) {\n params.onDragging(_this.draggingToRowDragEvent(Events.EVENT_ROW_DRAG_MOVE, e));\n };\n }\n if (params.onDragStop) {\n processedParams.onDragStop = function (e) {\n params.onDragStop(_this.draggingToRowDragEvent(Events.EVENT_ROW_DRAG_END, e));\n };\n }\n }\n this.dragAndDropService.addDropTarget(__assign$a({ isInterestedIn: function (type) { return type === exports.DragSourceType.RowDrag; }, getIconName: function () { return DragAndDropService.ICON_MOVE; }, external: true }, processedParams));\n };\n RowDragFeature.prototype.getRowDropZone = function (events) {\n var _this = this;\n var getContainer = this.getContainer.bind(this);\n var onDragEnter = this.onDragEnter.bind(this);\n var onDragLeave = this.onDragLeave.bind(this);\n var onDragging = this.onDragging.bind(this);\n var onDragStop = this.onDragStop.bind(this);\n if (!events) {\n return { getContainer: getContainer, onDragEnter: onDragEnter, onDragLeave: onDragLeave, onDragging: onDragging, onDragStop: onDragStop, /* @private */ fromGrid: true };\n }\n return {\n getContainer: getContainer,\n onDragEnter: events.onDragEnter\n ? (function (e) {\n onDragEnter(e);\n events.onDragEnter(_this.draggingToRowDragEvent(Events.EVENT_ROW_DRAG_ENTER, e));\n })\n : onDragEnter,\n onDragLeave: events.onDragLeave\n ? (function (e) {\n onDragLeave(e);\n events.onDragLeave(_this.draggingToRowDragEvent(Events.EVENT_ROW_DRAG_LEAVE, e));\n })\n : onDragLeave,\n onDragging: events.onDragging\n ? (function (e) {\n onDragging(e);\n events.onDragging(_this.draggingToRowDragEvent(Events.EVENT_ROW_DRAG_MOVE, e));\n })\n : onDragging,\n onDragStop: events.onDragStop\n ? (function (e) {\n onDragStop(e);\n events.onDragStop(_this.draggingToRowDragEvent(Events.EVENT_ROW_DRAG_END, e));\n })\n : onDragStop,\n fromGrid: true /* @private */\n };\n };\n RowDragFeature.prototype.draggingToRowDragEvent = function (type, draggingEvent) {\n var yNormalised = this.mouseEventService.getNormalisedPosition(draggingEvent).y;\n var mouseIsPastLastRow = yNormalised > this.paginationProxy.getCurrentPageHeight();\n var overIndex = -1;\n var overNode;\n if (!mouseIsPastLastRow) {\n overIndex = this.rowModel.getRowIndexAtPixel(yNormalised);\n overNode = this.rowModel.getRow(overIndex);\n }\n var vDirectionString;\n switch (draggingEvent.vDirection) {\n case exports.VerticalDirection.Down:\n vDirectionString = 'down';\n break;\n case exports.VerticalDirection.Up:\n vDirectionString = 'up';\n break;\n default:\n vDirectionString = null;\n break;\n }\n var event = {\n type: type,\n api: this.gridOptionsWrapper.getApi(),\n columnApi: this.gridOptionsWrapper.getColumnApi(),\n event: draggingEvent.event,\n node: draggingEvent.dragItem.rowNode,\n nodes: draggingEvent.dragItem.rowNodes,\n overIndex: overIndex,\n overNode: overNode,\n y: yNormalised,\n vDirection: vDirectionString\n };\n return event;\n };\n RowDragFeature.prototype.dispatchGridEvent = function (type, draggingEvent) {\n var event = this.draggingToRowDragEvent(type, draggingEvent);\n this.eventService.dispatchEvent(event);\n };\n RowDragFeature.prototype.onDragLeave = function (draggingEvent) {\n this.dispatchGridEvent(Events.EVENT_ROW_DRAG_LEAVE, draggingEvent);\n this.stopDragging(draggingEvent);\n if (this.gridOptionsWrapper.isRowDragManaged()) {\n this.clearRowHighlight();\n }\n if (this.isFromThisGrid(draggingEvent)) {\n this.isMultiRowDrag = false;\n }\n };\n RowDragFeature.prototype.onDragStop = function (draggingEvent) {\n this.dispatchGridEvent(Events.EVENT_ROW_DRAG_END, draggingEvent);\n this.stopDragging(draggingEvent);\n if (this.gridOptionsWrapper.isRowDragManaged() &&\n (this.gridOptionsWrapper.isSuppressMoveWhenRowDragging() || !this.isFromThisGrid(draggingEvent)) &&\n !this.isDropZoneWithinThisGrid(draggingEvent)) {\n this.moveRowAndClearHighlight(draggingEvent);\n }\n };\n RowDragFeature.prototype.stopDragging = function (draggingEvent) {\n this.autoScrollService.ensureCleared();\n this.getRowNodes(draggingEvent).forEach(function (rowNode) {\n rowNode.setDragging(false);\n });\n };\n __decorate$L([\n Autowired('dragAndDropService')\n ], RowDragFeature.prototype, \"dragAndDropService\", void 0);\n __decorate$L([\n Autowired('rowModel')\n ], RowDragFeature.prototype, \"rowModel\", void 0);\n __decorate$L([\n Autowired('paginationProxy')\n ], RowDragFeature.prototype, \"paginationProxy\", void 0);\n __decorate$L([\n Autowired('columnModel')\n ], RowDragFeature.prototype, \"columnModel\", void 0);\n __decorate$L([\n Autowired('focusService')\n ], RowDragFeature.prototype, \"focusService\", void 0);\n __decorate$L([\n Autowired('sortController')\n ], RowDragFeature.prototype, \"sortController\", void 0);\n __decorate$L([\n Autowired('filterManager')\n ], RowDragFeature.prototype, \"filterManager\", void 0);\n __decorate$L([\n Autowired('selectionService')\n ], RowDragFeature.prototype, \"selectionService\", void 0);\n __decorate$L([\n Autowired('mouseEventService')\n ], RowDragFeature.prototype, \"mouseEventService\", void 0);\n __decorate$L([\n Autowired('ctrlsService')\n ], RowDragFeature.prototype, \"ctrlsService\", void 0);\n __decorate$L([\n Optional('rangeService')\n ], RowDragFeature.prototype, \"rangeService\", void 0);\n __decorate$L([\n Autowired('columnApi')\n ], RowDragFeature.prototype, \"columnApi\", void 0);\n __decorate$L([\n Autowired('gridApi')\n ], RowDragFeature.prototype, \"gridApi\", void 0);\n __decorate$L([\n PostConstruct\n ], RowDragFeature.prototype, \"postConstruct\", null);\n return RowDragFeature;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$T = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$M = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n(function (RowAnimationCssClasses) {\n RowAnimationCssClasses[\"ANIMATION_ON\"] = \"ag-row-animation\";\n RowAnimationCssClasses[\"ANIMATION_OFF\"] = \"ag-row-no-animation\";\n})(exports.RowAnimationCssClasses || (exports.RowAnimationCssClasses = {}));\nvar CSS_CLASS_CELL_SELECTABLE = 'ag-selectable';\nvar CSS_CLASS_FORCE_VERTICAL_SCROLL = 'ag-force-vertical-scroll';\nvar CSS_CLASS_COLUMN_MOVING = 'ag-column-moving';\nvar GridBodyCtrl = /** @class */ (function (_super) {\n __extends$T(GridBodyCtrl, _super);\n function GridBodyCtrl() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n GridBodyCtrl.prototype.getScrollFeature = function () {\n return this.bodyScrollFeature;\n };\n GridBodyCtrl.prototype.getBodyViewportElement = function () {\n return this.eBodyViewport;\n };\n GridBodyCtrl.prototype.setComp = function (comp, eGridBody, eBodyViewport, eTop, eBottom) {\n this.comp = comp;\n this.eGridBody = eGridBody;\n this.eBodyViewport = eBodyViewport;\n this.eTop = eTop;\n this.eBottom = eBottom;\n this.setCellTextSelection(this.gridOptionsWrapper.isEnableCellTextSelect());\n this.createManagedBean(new LayoutFeature(this.comp));\n this.bodyScrollFeature = this.createManagedBean(new GridBodyScrollFeature(this.eBodyViewport));\n this.addRowDragListener();\n this.setupRowAnimationCssClass();\n this.addEventListeners();\n this.addFocusListeners([eTop, eBodyViewport, eBottom]);\n this.onGridColumnsChanged();\n this.addBodyViewportListener();\n this.setFloatingHeights();\n this.disableBrowserDragging();\n this.addStopEditingWhenGridLosesFocus();\n this.ctrlsService.registerGridBodyCtrl(this);\n };\n GridBodyCtrl.prototype.getComp = function () {\n return this.comp;\n };\n GridBodyCtrl.prototype.addEventListeners = function () {\n this.addManagedListener(this.eventService, Events.EVENT_GRID_COLUMNS_CHANGED, this.onGridColumnsChanged.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_SCROLL_VISIBILITY_CHANGED, this.onScrollVisibilityChanged.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_PINNED_ROW_DATA_CHANGED, this.setFloatingHeights.bind(this));\n };\n GridBodyCtrl.prototype.addFocusListeners = function (elements) {\n var _this = this;\n elements.forEach(function (element) {\n _this.addManagedListener(element, 'focusin', function () {\n element.classList.add('ag-has-focus');\n });\n _this.addManagedListener(element, 'focusout', function (e) {\n if (!element.contains(e.relatedTarget)) {\n element.classList.remove('ag-has-focus');\n }\n });\n });\n };\n // used by ColumnAnimationService\n GridBodyCtrl.prototype.setColumnMovingCss = function (moving) {\n this.comp.setColumnMovingCss(moving ? CSS_CLASS_COLUMN_MOVING : null, moving);\n };\n GridBodyCtrl.prototype.setCellTextSelection = function (selectable) {\n if (selectable === void 0) { selectable = false; }\n var cssClass = selectable ? CSS_CLASS_CELL_SELECTABLE : null;\n this.comp.setCellSelectableCss(cssClass, selectable);\n };\n GridBodyCtrl.prototype.onScrollVisibilityChanged = function () {\n var visible = this.scrollVisibleService.isVerticalScrollShowing();\n this.setVerticalScrollPaddingVisible(visible);\n };\n GridBodyCtrl.prototype.onGridColumnsChanged = function () {\n var columns = this.columnModel.getAllGridColumns();\n this.comp.setColumnCount(columns ? columns.length : 0);\n };\n // if we do not do this, then the user can select a pic in the grid (eg an image in a custom cell renderer)\n // and then that will start the browser native drag n' drop, which messes up with our own drag and drop.\n GridBodyCtrl.prototype.disableBrowserDragging = function () {\n this.addManagedListener(this.eGridBody, 'dragstart', function (event) {\n if (event.target instanceof HTMLImageElement) {\n event.preventDefault();\n return false;\n }\n });\n };\n GridBodyCtrl.prototype.addStopEditingWhenGridLosesFocus = function () {\n var _this = this;\n if (!this.gridOptionsWrapper.isStopEditingWhenCellsLoseFocus()) {\n return;\n }\n var focusOutListener = function (event) {\n // this is the element the focus is moving to\n var elementWithFocus = event.relatedTarget;\n if (getTabIndex(elementWithFocus) === null) {\n _this.rowRenderer.stopEditing();\n return;\n }\n var clickInsideGrid = \n // see if click came from inside the viewports\n viewports.some(function (viewport) { return viewport.contains(elementWithFocus); })\n // and also that it's not from a detail grid\n && _this.mouseEventService.isElementInThisGrid(elementWithFocus);\n if (!clickInsideGrid) {\n var popupService = _this.popupService;\n clickInsideGrid =\n popupService.getActivePopups().some(function (popup) { return popup.contains(elementWithFocus); }) ||\n popupService.isElementWithinCustomPopup(elementWithFocus);\n }\n if (!clickInsideGrid) {\n _this.rowRenderer.stopEditing();\n }\n };\n var viewports = [this.eBodyViewport, this.eBottom, this.eTop];\n viewports.forEach(function (viewport) { return _this.addManagedListener(viewport, 'focusout', focusOutListener); });\n };\n GridBodyCtrl.prototype.updateRowCount = function () {\n var headerCount = this.headerNavigationService.getHeaderRowCount();\n var modelType = this.paginationProxy.getType();\n var rowCount = -1;\n if (modelType === Constants.ROW_MODEL_TYPE_CLIENT_SIDE) {\n rowCount = 0;\n this.paginationProxy.forEachNode(function (node) {\n if (!node.group) {\n rowCount++;\n }\n });\n }\n var total = rowCount === -1 ? -1 : (headerCount + rowCount);\n this.comp.setRowCount(total);\n };\n GridBodyCtrl.prototype.registerBodyViewportResizeListener = function (listener) {\n this.comp.registerBodyViewportResizeListener(listener);\n };\n GridBodyCtrl.prototype.setVerticalScrollPaddingVisible = function (visible) {\n var overflowY = visible ? 'scroll' : 'hidden';\n this.comp.setPinnedTopBottomOverflowY(overflowY);\n };\n GridBodyCtrl.prototype.isVerticalScrollShowing = function () {\n var show = this.gridOptionsWrapper.isAlwaysShowVerticalScroll();\n var cssClass = show ? CSS_CLASS_FORCE_VERTICAL_SCROLL : null;\n this.comp.setAlwaysVerticalScrollClass(cssClass, show);\n return show || isVerticalScrollShowing(this.eBodyViewport);\n };\n GridBodyCtrl.prototype.setupRowAnimationCssClass = function () {\n var _this = this;\n var listener = function () {\n // we don't want to use row animation if scaling, as rows jump strangely as you scroll,\n // when scaling and doing row animation.\n var animateRows = _this.gridOptionsWrapper.isAnimateRows() && !_this.rowContainerHeightService.isStretching();\n var animateRowsCssClass = animateRows ? exports.RowAnimationCssClasses.ANIMATION_ON : exports.RowAnimationCssClasses.ANIMATION_OFF;\n _this.comp.setRowAnimationCssOnBodyViewport(animateRowsCssClass, animateRows);\n };\n listener();\n this.addManagedListener(this.eventService, Events.EVENT_HEIGHT_SCALE_CHANGED, listener);\n };\n GridBodyCtrl.prototype.getGridBodyElement = function () {\n return this.eGridBody;\n };\n GridBodyCtrl.prototype.addBodyViewportListener = function () {\n var _this = this;\n // we want to listen for clicks directly on the eBodyViewport, so the user has a way of showing\n // the context menu if no rows or columns are displayed, or user simply clicks outside of a cell\n var listener = function (mouseEvent) {\n if (_this.gridOptionsWrapper.isPreventDefaultOnContextMenu()) {\n mouseEvent.preventDefault();\n }\n var target = mouseEvent.target;\n if (target === _this.eBodyViewport || target === _this.ctrlsService.getCenterRowContainerCtrl().getViewportElement()) {\n // show it\n if (_this.contextMenuFactory) {\n _this.contextMenuFactory.onContextMenu(mouseEvent, null, null, null, null, _this.eGridBody);\n }\n }\n };\n this.addManagedListener(this.eBodyViewport, 'contextmenu', listener);\n this.addManagedListener(this.eBodyViewport, 'wheel', this.onWheel.bind(this));\n };\n GridBodyCtrl.prototype.onWheel = function (e) {\n if (!this.gridOptionsWrapper.isSuppressScrollWhenPopupsAreOpen()) {\n return;\n }\n if (this.popupService.hasAnchoredPopup()) {\n e.preventDefault();\n }\n };\n GridBodyCtrl.prototype.getGui = function () {\n return this.eGridBody;\n };\n // called by rowDragFeature\n GridBodyCtrl.prototype.scrollVertically = function (pixels) {\n var oldScrollPosition = this.eBodyViewport.scrollTop;\n this.bodyScrollFeature.setVerticalScrollPosition(oldScrollPosition + pixels);\n return this.eBodyViewport.scrollTop - oldScrollPosition;\n };\n GridBodyCtrl.prototype.addRowDragListener = function () {\n this.rowDragFeature = this.createManagedBean(new RowDragFeature(this.eBodyViewport));\n this.dragAndDropService.addDropTarget(this.rowDragFeature);\n };\n GridBodyCtrl.prototype.getRowDragFeature = function () {\n return this.rowDragFeature;\n };\n GridBodyCtrl.prototype.setFloatingHeights = function () {\n var pinnedRowModel = this.pinnedRowModel;\n var floatingTopHeight = pinnedRowModel.getPinnedTopTotalHeight();\n if (floatingTopHeight) {\n // adding 1px for cell bottom border\n floatingTopHeight += 1;\n }\n var floatingBottomHeight = pinnedRowModel.getPinnedBottomTotalHeight();\n if (floatingBottomHeight) {\n // adding 1px for cell bottom border\n floatingBottomHeight += 1;\n }\n this.comp.setTopHeight(floatingTopHeight);\n this.comp.setBottomHeight(floatingBottomHeight);\n this.comp.setTopDisplay(floatingTopHeight ? 'inherit' : 'none');\n this.comp.setBottomDisplay(floatingBottomHeight ? 'inherit' : 'none');\n };\n // method will call itself if no available width. this covers if the grid\n // isn't visible, but is just about to be visible.\n GridBodyCtrl.prototype.sizeColumnsToFit = function (nextTimeout) {\n var _this = this;\n var removeScrollWidth = this.isVerticalScrollShowing();\n var scrollWidthToRemove = removeScrollWidth ? this.gridOptionsWrapper.getScrollbarWidth() : 0;\n var bodyViewportWidth = getInnerWidth(this.eBodyViewport);\n var availableWidth = bodyViewportWidth - scrollWidthToRemove;\n if (availableWidth > 0) {\n this.columnModel.sizeColumnsToFit(availableWidth, \"sizeColumnsToFit\");\n return;\n }\n if (nextTimeout === undefined) {\n window.setTimeout(function () {\n _this.sizeColumnsToFit(100);\n }, 0);\n }\n else if (nextTimeout === 100) {\n window.setTimeout(function () {\n _this.sizeColumnsToFit(500);\n }, 100);\n }\n else if (nextTimeout === 500) {\n window.setTimeout(function () {\n _this.sizeColumnsToFit(-1);\n }, 500);\n }\n else {\n console.warn('AG Grid: tried to call sizeColumnsToFit() but the grid is coming back with ' +\n 'zero width, maybe the grid is not visible yet on the screen?');\n }\n };\n // + rangeService\n GridBodyCtrl.prototype.addScrollEventListener = function (listener) {\n this.eBodyViewport.addEventListener('scroll', listener);\n };\n // + focusService\n GridBodyCtrl.prototype.removeScrollEventListener = function (listener) {\n this.eBodyViewport.removeEventListener('scroll', listener);\n };\n __decorate$M([\n Autowired('rowContainerHeightService')\n ], GridBodyCtrl.prototype, \"rowContainerHeightService\", void 0);\n __decorate$M([\n Autowired('ctrlsService')\n ], GridBodyCtrl.prototype, \"ctrlsService\", void 0);\n __decorate$M([\n Autowired('columnModel')\n ], GridBodyCtrl.prototype, \"columnModel\", void 0);\n __decorate$M([\n Autowired('scrollVisibleService')\n ], GridBodyCtrl.prototype, \"scrollVisibleService\", void 0);\n __decorate$M([\n Optional('contextMenuFactory')\n ], GridBodyCtrl.prototype, \"contextMenuFactory\", void 0);\n __decorate$M([\n Autowired('headerNavigationService')\n ], GridBodyCtrl.prototype, \"headerNavigationService\", void 0);\n __decorate$M([\n Autowired('paginationProxy')\n ], GridBodyCtrl.prototype, \"paginationProxy\", void 0);\n __decorate$M([\n Autowired('dragAndDropService')\n ], GridBodyCtrl.prototype, \"dragAndDropService\", void 0);\n __decorate$M([\n Autowired('pinnedRowModel')\n ], GridBodyCtrl.prototype, \"pinnedRowModel\", void 0);\n __decorate$M([\n Autowired('rowRenderer')\n ], GridBodyCtrl.prototype, \"rowRenderer\", void 0);\n __decorate$M([\n Autowired('popupService')\n ], GridBodyCtrl.prototype, \"popupService\", void 0);\n __decorate$M([\n Autowired('mouseEventService')\n ], GridBodyCtrl.prototype, \"mouseEventService\", void 0);\n return GridBodyCtrl;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\n(function (SelectionHandleType) {\n SelectionHandleType[SelectionHandleType[\"FILL\"] = 0] = \"FILL\";\n SelectionHandleType[SelectionHandleType[\"RANGE\"] = 1] = \"RANGE\";\n})(exports.SelectionHandleType || (exports.SelectionHandleType = {}));\n(function (CellRangeType) {\n CellRangeType[CellRangeType[\"VALUE\"] = 0] = \"VALUE\";\n CellRangeType[CellRangeType[\"DIMENSION\"] = 1] = \"DIMENSION\";\n})(exports.CellRangeType || (exports.CellRangeType = {}));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar CSS_CELL_RANGE_SELECTED = 'ag-cell-range-selected';\nvar CSS_CELL_RANGE_CHART = 'ag-cell-range-chart';\nvar CSS_CELL_RANGE_SINGLE_CELL = 'ag-cell-range-single-cell';\nvar CSS_CELL_RANGE_CHART_CATEGORY = 'ag-cell-range-chart-category';\nvar CSS_CELL_RANGE_HANDLE = 'ag-cell-range-handle';\nvar CSS_CELL_RANGE_TOP = 'ag-cell-range-top';\nvar CSS_CELL_RANGE_RIGHT = 'ag-cell-range-right';\nvar CSS_CELL_RANGE_BOTTOM = 'ag-cell-range-bottom';\nvar CSS_CELL_RANGE_LEFT = 'ag-cell-range-left';\nvar CellRangeFeature = /** @class */ (function () {\n function CellRangeFeature(beans, ctrl) {\n this.beans = beans;\n this.cellCtrl = ctrl;\n }\n CellRangeFeature.prototype.setComp = function (cellComp, eGui) {\n this.cellComp = cellComp;\n this.eGui = eGui;\n this.onRangeSelectionChanged();\n };\n CellRangeFeature.prototype.onRangeSelectionChanged = function () {\n // when using reactUi, given UI is async, it's possible this method is called before the comp is registered\n if (!this.cellComp) {\n return;\n }\n this.rangeCount = this.beans.rangeService.getCellRangeCount(this.cellCtrl.getCellPosition());\n this.hasChartRange = this.getHasChartRange();\n this.cellComp.addOrRemoveCssClass(CSS_CELL_RANGE_SELECTED, this.rangeCount !== 0);\n this.cellComp.addOrRemoveCssClass(CSS_CELL_RANGE_SELECTED + \"-1\", this.rangeCount === 1);\n this.cellComp.addOrRemoveCssClass(CSS_CELL_RANGE_SELECTED + \"-2\", this.rangeCount === 2);\n this.cellComp.addOrRemoveCssClass(CSS_CELL_RANGE_SELECTED + \"-3\", this.rangeCount === 3);\n this.cellComp.addOrRemoveCssClass(CSS_CELL_RANGE_SELECTED + \"-4\", this.rangeCount >= 4);\n this.cellComp.addOrRemoveCssClass(CSS_CELL_RANGE_CHART, this.hasChartRange);\n setAriaSelected(this.eGui, this.rangeCount > 0 ? true : undefined);\n this.cellComp.addOrRemoveCssClass(CSS_CELL_RANGE_SINGLE_CELL, this.isSingleCell());\n this.updateRangeBorders();\n this.refreshHandle();\n };\n CellRangeFeature.prototype.updateRangeBorders = function () {\n var rangeBorders = this.getRangeBorders();\n var isSingleCell = this.isSingleCell();\n var isTop = !isSingleCell && rangeBorders.top;\n var isRight = !isSingleCell && rangeBorders.right;\n var isBottom = !isSingleCell && rangeBorders.bottom;\n var isLeft = !isSingleCell && rangeBorders.left;\n this.cellComp.addOrRemoveCssClass(CSS_CELL_RANGE_TOP, isTop);\n this.cellComp.addOrRemoveCssClass(CSS_CELL_RANGE_RIGHT, isRight);\n this.cellComp.addOrRemoveCssClass(CSS_CELL_RANGE_BOTTOM, isBottom);\n this.cellComp.addOrRemoveCssClass(CSS_CELL_RANGE_LEFT, isLeft);\n };\n CellRangeFeature.prototype.isSingleCell = function () {\n var rangeService = this.beans.rangeService;\n return this.rangeCount === 1 && rangeService && !rangeService.isMoreThanOneCell();\n };\n CellRangeFeature.prototype.getHasChartRange = function () {\n var rangeService = this.beans.rangeService;\n if (!this.rangeCount || !rangeService) {\n return false;\n }\n var cellRanges = rangeService.getCellRanges();\n return cellRanges.length > 0 && cellRanges.every(function (range) { return includes([exports.CellRangeType.DIMENSION, exports.CellRangeType.VALUE], range.type); });\n };\n CellRangeFeature.prototype.updateRangeBordersIfRangeCount = function () {\n // we only need to update range borders if we are in a range\n if (this.rangeCount > 0) {\n this.updateRangeBorders();\n this.refreshHandle();\n }\n };\n CellRangeFeature.prototype.getRangeBorders = function () {\n var _this = this;\n var isRtl = this.beans.gridOptionsWrapper.isEnableRtl();\n var top = false;\n var right = false;\n var bottom = false;\n var left = false;\n var thisCol = this.cellCtrl.getCellPosition().column;\n var _a = this.beans, rangeService = _a.rangeService, columnModel = _a.columnModel;\n var leftCol;\n var rightCol;\n if (isRtl) {\n leftCol = columnModel.getDisplayedColAfter(thisCol);\n rightCol = columnModel.getDisplayedColBefore(thisCol);\n }\n else {\n leftCol = columnModel.getDisplayedColBefore(thisCol);\n rightCol = columnModel.getDisplayedColAfter(thisCol);\n }\n var ranges = rangeService.getCellRanges().filter(function (range) { return rangeService.isCellInSpecificRange(_this.cellCtrl.getCellPosition(), range); });\n // this means we are the first column in the grid\n if (!leftCol) {\n left = true;\n }\n // this means we are the last column in the grid\n if (!rightCol) {\n right = true;\n }\n for (var i = 0; i < ranges.length; i++) {\n if (top && right && bottom && left) {\n break;\n }\n var range = ranges[i];\n var startRow = rangeService.getRangeStartRow(range);\n var endRow = rangeService.getRangeEndRow(range);\n if (!top && this.beans.rowPositionUtils.sameRow(startRow, this.cellCtrl.getCellPosition())) {\n top = true;\n }\n if (!bottom && this.beans.rowPositionUtils.sameRow(endRow, this.cellCtrl.getCellPosition())) {\n bottom = true;\n }\n if (!left && leftCol && range.columns.indexOf(leftCol) < 0) {\n left = true;\n }\n if (!right && rightCol && range.columns.indexOf(rightCol) < 0) {\n right = true;\n }\n }\n return { top: top, right: right, bottom: bottom, left: left };\n };\n CellRangeFeature.prototype.refreshHandle = function () {\n if (!this.beans.rangeService) {\n return;\n }\n var shouldHaveSelectionHandle = this.shouldHaveSelectionHandle();\n if (this.selectionHandle && !shouldHaveSelectionHandle) {\n this.selectionHandle = this.beans.context.destroyBean(this.selectionHandle);\n }\n if (shouldHaveSelectionHandle) {\n this.addSelectionHandle();\n }\n this.cellComp.addOrRemoveCssClass(CSS_CELL_RANGE_HANDLE, !!this.selectionHandle);\n };\n CellRangeFeature.prototype.shouldHaveSelectionHandle = function () {\n var _a = this.beans, gridOptionsWrapper = _a.gridOptionsWrapper, rangeService = _a.rangeService;\n var cellRanges = rangeService.getCellRanges();\n var rangesLen = cellRanges.length;\n if (this.rangeCount < 1 || rangesLen < 1) {\n return false;\n }\n var cellRange = last(cellRanges);\n var cellPosition = this.cellCtrl.getCellPosition();\n var isFillHandleAvailable = gridOptionsWrapper.isEnableFillHandle() && !this.cellCtrl.isSuppressFillHandle();\n var isRangeHandleAvailable = gridOptionsWrapper.isEnableRangeHandle();\n var handleIsAvailable = rangesLen === 1 && !this.cellCtrl.isEditing() && (isFillHandleAvailable || isRangeHandleAvailable);\n if (this.hasChartRange) {\n var hasCategoryRange = cellRanges[0].type === exports.CellRangeType.DIMENSION;\n var isCategoryCell = hasCategoryRange && rangeService.isCellInSpecificRange(cellPosition, cellRanges[0]);\n this.cellComp.addOrRemoveCssClass(CSS_CELL_RANGE_CHART_CATEGORY, isCategoryCell);\n handleIsAvailable = cellRange.type === exports.CellRangeType.VALUE;\n }\n return handleIsAvailable &&\n cellRange.endRow != null &&\n rangeService.isContiguousRange(cellRange) &&\n rangeService.isBottomRightCell(cellRange, cellPosition);\n };\n CellRangeFeature.prototype.addSelectionHandle = function () {\n var _a = this.beans, gridOptionsWrapper = _a.gridOptionsWrapper, rangeService = _a.rangeService;\n var cellRangeType = last(rangeService.getCellRanges()).type;\n var selectionHandleFill = gridOptionsWrapper.isEnableFillHandle() && missing(cellRangeType);\n var type = selectionHandleFill ? exports.SelectionHandleType.FILL : exports.SelectionHandleType.RANGE;\n if (this.selectionHandle && this.selectionHandle.getType() !== type) {\n this.selectionHandle = this.beans.context.destroyBean(this.selectionHandle);\n }\n if (!this.selectionHandle) {\n this.selectionHandle = this.beans.selectionHandleFactory.createSelectionHandle(type);\n }\n this.selectionHandle.refresh(this.cellCtrl);\n };\n CellRangeFeature.prototype.destroy = function () {\n this.beans.context.destroyBean(this.selectionHandle);\n };\n return CellRangeFeature;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$U = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n/**\n * Takes care of:\n * #) Cell Width (including when doing cell spanning, which makes width cover many columns)\n * #) Cell Height (when doing row span, otherwise we don't touch the height as it's just row height)\n * #) Cell Left (the horizontal positioning of the cell, the vertical positioning is on the row)\n */\nvar CellPositionFeature = /** @class */ (function (_super) {\n __extends$U(CellPositionFeature, _super);\n function CellPositionFeature(ctrl, beans) {\n var _this = _super.call(this) || this;\n _this.cellCtrl = ctrl;\n _this.beans = beans;\n _this.column = ctrl.getColumn();\n _this.rowNode = ctrl.getRowNode();\n _this.setupColSpan();\n _this.setupRowSpan();\n return _this;\n }\n CellPositionFeature.prototype.setupRowSpan = function () {\n this.rowSpan = this.column.getRowSpan(this.rowNode);\n };\n CellPositionFeature.prototype.setComp = function (eGui) {\n this.eGui = eGui;\n this.onLeftChanged();\n this.onWidthChanged();\n this.applyRowSpan();\n };\n CellPositionFeature.prototype.onDisplayColumnsChanged = function () {\n var colsSpanning = this.getColSpanningList();\n if (!areEqual(this.colsSpanning, colsSpanning)) {\n this.colsSpanning = colsSpanning;\n this.onWidthChanged();\n this.onLeftChanged(); // left changes when doing RTL\n }\n };\n CellPositionFeature.prototype.setupColSpan = function () {\n // if no col span is active, then we don't set it up, as it would be wasteful of CPU\n if (this.column.getColDef().colSpan == null) {\n return;\n }\n this.colsSpanning = this.getColSpanningList();\n // because we are col spanning, a reorder of the cols can change what cols we are spanning over\n this.addManagedListener(this.beans.eventService, Events.EVENT_DISPLAYED_COLUMNS_CHANGED, this.onDisplayColumnsChanged.bind(this));\n // because we are spanning over multiple cols, we check for width any time any cols width changes.\n // this is expensive - really we should be explicitly checking only the cols we are spanning over\n // instead of every col, however it would be tricky code to track the cols we are spanning over, so\n // because hardly anyone will be using colSpan, am favouring this easier way for more maintainable code.\n this.addManagedListener(this.beans.eventService, Events.EVENT_DISPLAYED_COLUMNS_WIDTH_CHANGED, this.onWidthChanged.bind(this));\n };\n CellPositionFeature.prototype.onWidthChanged = function () {\n if (!this.eGui) {\n return;\n }\n var width = this.getCellWidth();\n this.eGui.style.width = width + \"px\";\n };\n CellPositionFeature.prototype.getCellWidth = function () {\n if (!this.colsSpanning) {\n return this.column.getActualWidth();\n }\n return this.colsSpanning.reduce(function (width, col) { return width + col.getActualWidth(); }, 0);\n };\n CellPositionFeature.prototype.getColSpanningList = function () {\n var colSpan = this.column.getColSpan(this.rowNode);\n var colsSpanning = [];\n // if just one col, the col span is just the column we are in\n if (colSpan === 1) {\n colsSpanning.push(this.column);\n }\n else {\n var pointer = this.column;\n var pinned = this.column.getPinned();\n for (var i = 0; pointer && i < colSpan; i++) {\n colsSpanning.push(pointer);\n pointer = this.beans.columnModel.getDisplayedColAfter(pointer);\n if (!pointer || missing(pointer)) {\n break;\n }\n // we do not allow col spanning to span outside of pinned areas\n if (pinned !== pointer.getPinned()) {\n break;\n }\n }\n }\n return colsSpanning;\n };\n CellPositionFeature.prototype.onLeftChanged = function () {\n if (!this.eGui) {\n return;\n }\n var left = this.modifyLeftForPrintLayout(this.getCellLeft());\n this.eGui.style.left = left + 'px';\n };\n CellPositionFeature.prototype.getCellLeft = function () {\n var mostLeftCol;\n if (this.beans.gridOptionsWrapper.isEnableRtl() && this.colsSpanning) {\n mostLeftCol = last(this.colsSpanning);\n }\n else {\n mostLeftCol = this.column;\n }\n return mostLeftCol.getLeft();\n };\n CellPositionFeature.prototype.modifyLeftForPrintLayout = function (leftPosition) {\n if (!this.cellCtrl.isPrintLayout() || this.column.getPinned() === Constants.PINNED_LEFT) {\n return leftPosition;\n }\n var leftWidth = this.beans.columnModel.getDisplayedColumnsLeftWidth();\n if (this.column.getPinned() === Constants.PINNED_RIGHT) {\n var bodyWidth = this.beans.columnModel.getBodyContainerWidth();\n return leftWidth + bodyWidth + (leftPosition || 0);\n }\n // is in body\n return leftWidth + (leftPosition || 0);\n };\n CellPositionFeature.prototype.applyRowSpan = function () {\n if (this.rowSpan === 1) {\n return;\n }\n var singleRowHeight = this.beans.gridOptionsWrapper.getRowHeightAsNumber();\n var totalRowHeight = singleRowHeight * this.rowSpan;\n this.eGui.style.height = totalRowHeight + \"px\";\n this.eGui.style.zIndex = '1';\n };\n // overriding to make public, as we don't dispose this bean via context\n CellPositionFeature.prototype.destroy = function () {\n _super.prototype.destroy.call(this);\n };\n return CellPositionFeature;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$V = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar CellCustomStyleFeature = /** @class */ (function (_super) {\n __extends$V(CellCustomStyleFeature, _super);\n function CellCustomStyleFeature(ctrl, beans) {\n var _this = _super.call(this) || this;\n _this.staticClasses = [];\n _this.cellCtrl = ctrl;\n _this.beans = beans;\n _this.column = ctrl.getColumn();\n _this.rowNode = ctrl.getRowNode();\n return _this;\n }\n CellCustomStyleFeature.prototype.setComp = function (comp) {\n this.cellComp = comp;\n this.applyUserStyles();\n this.applyCellClassRules();\n this.applyClassesFromColDef();\n };\n CellCustomStyleFeature.prototype.applyCellClassRules = function () {\n var _this = this;\n var colDef = this.column.getColDef();\n var cellClassParams = {\n value: this.cellCtrl.getValue(),\n data: this.rowNode.data,\n node: this.rowNode,\n colDef: colDef,\n rowIndex: this.rowNode.rowIndex,\n api: this.beans.gridOptionsWrapper.getApi(),\n columnApi: this.beans.gridOptionsWrapper.getColumnApi(),\n context: this.beans.gridOptionsWrapper.getContext()\n };\n this.beans.stylingService.processClassRules(colDef.cellClassRules, cellClassParams, function (className) { return _this.cellComp.addOrRemoveCssClass(className, true); }, function (className) { return _this.cellComp.addOrRemoveCssClass(className, false); });\n };\n CellCustomStyleFeature.prototype.applyUserStyles = function () {\n var colDef = this.column.getColDef();\n if (!colDef.cellStyle) {\n return;\n }\n var styles;\n if (typeof colDef.cellStyle === 'function') {\n var cellStyleParams = {\n column: this.column,\n value: this.cellCtrl.getValue(),\n colDef: colDef,\n data: this.rowNode.data,\n node: this.rowNode,\n rowIndex: this.rowNode.rowIndex,\n api: this.beans.gridOptionsWrapper.getApi(),\n columnApi: this.beans.gridOptionsWrapper.getColumnApi(),\n context: this.beans.gridOptionsWrapper.getContext(),\n };\n var cellStyleFunc = colDef.cellStyle;\n styles = cellStyleFunc(cellStyleParams);\n }\n else {\n styles = colDef.cellStyle;\n }\n this.cellComp.setUserStyles(styles);\n };\n CellCustomStyleFeature.prototype.applyClassesFromColDef = function () {\n var _this = this;\n var colDef = this.column.getColDef();\n var cellClassParams = {\n value: this.cellCtrl.getValue(),\n data: this.rowNode.data,\n node: this.rowNode,\n colDef: colDef,\n rowIndex: this.rowNode.rowIndex,\n api: this.beans.gridOptionsWrapper.getApi(),\n columnApi: this.beans.gridOptionsWrapper.getColumnApi(),\n context: this.beans.gridOptionsWrapper.getContext()\n };\n if (this.staticClasses.length) {\n this.staticClasses.forEach(function (className) { return _this.cellComp.addOrRemoveCssClass(className, false); });\n }\n this.staticClasses = this.beans.stylingService.getStaticCellClasses(colDef, cellClassParams);\n if (this.staticClasses.length) {\n this.staticClasses.forEach(function (className) { return _this.cellComp.addOrRemoveCssClass(className, true); });\n }\n };\n // overriding to make public, as we don't dispose this bean via context\n CellCustomStyleFeature.prototype.destroy = function () {\n _super.prototype.destroy.call(this);\n };\n return CellCustomStyleFeature;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$W = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar TooltipFeature = /** @class */ (function (_super) {\n __extends$W(TooltipFeature, _super);\n function TooltipFeature(ctrl, beans) {\n var _this = _super.call(this) || this;\n _this.ctrl = ctrl;\n _this.beans = beans;\n return _this;\n }\n TooltipFeature.prototype.setComp = function (comp) {\n this.comp = comp;\n this.setupTooltip();\n };\n TooltipFeature.prototype.setupTooltip = function () {\n this.browserTooltips = this.beans.gridOptionsWrapper.isEnableBrowserTooltips();\n this.updateTooltipText();\n if (this.browserTooltips) {\n this.comp.setTitle(this.tooltip != null ? this.tooltip : undefined);\n }\n else {\n this.createTooltipFeatureIfNeeded();\n }\n };\n TooltipFeature.prototype.updateTooltipText = function () {\n this.tooltip = this.ctrl.getTooltipValue();\n };\n TooltipFeature.prototype.createTooltipFeatureIfNeeded = function () {\n var _this = this;\n if (this.genericTooltipFeature != null) {\n return;\n }\n var parent = {\n getTooltipParams: function () { return _this.getTooltipParams(); },\n getGui: function () { return _this.ctrl.getGui(); }\n };\n this.genericTooltipFeature = this.createManagedBean(new CustomTooltipFeature(parent), this.beans.context);\n };\n TooltipFeature.prototype.refreshToolTip = function () {\n this.updateTooltipText();\n if (this.browserTooltips) {\n this.comp.setTitle(this.tooltip != null ? this.tooltip : undefined);\n }\n };\n TooltipFeature.prototype.getTooltipParams = function () {\n var ctrl = this.ctrl;\n var column = ctrl.getColumn ? ctrl.getColumn() : undefined;\n var colDef = ctrl.getColDef ? ctrl.getColDef() : undefined;\n var rowNode = ctrl.getRowNode ? ctrl.getRowNode() : undefined;\n return {\n location: ctrl.getLocation(),\n colDef: colDef,\n column: column,\n rowIndex: ctrl.getRowIndex ? ctrl.getRowIndex() : undefined,\n node: rowNode,\n data: rowNode ? rowNode.data : undefined,\n value: this.getTooltipText(),\n valueFormatted: ctrl.getValueFormatted ? ctrl.getValueFormatted() : undefined,\n };\n };\n TooltipFeature.prototype.getTooltipText = function () {\n return this.tooltip;\n };\n // overriding to make public, as we don't dispose this bean via context\n TooltipFeature.prototype.destroy = function () {\n _super.prototype.destroy.call(this);\n };\n return TooltipFeature;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __decorate$N = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n/** Using the IoC has a slight performance consideration, which is no problem most of the\n * time, unless we are trashing objects - which is the case when scrolling and rowComp\n * and cellComp. So for performance reasons, RowComp and CellComp do not get autowired\n * with the IoC. Instead they get passed this object which is all the beans the RowComp\n * and CellComp need. Not autowiring all the cells gives performance improvement. */\nvar Beans = /** @class */ (function () {\n function Beans() {\n }\n Beans.prototype.postConstruct = function () {\n this.doingMasterDetail = this.gridOptionsWrapper.isMasterDetail();\n if (this.gridOptionsWrapper.isRowModelDefault()) {\n this.clientSideRowModel = this.rowModel;\n }\n if (this.gridOptionsWrapper.isRowModelServerSide()) {\n this.serverSideRowModel = this.rowModel;\n }\n };\n __decorate$N([\n Autowired('resizeObserverService')\n ], Beans.prototype, \"resizeObserverService\", void 0);\n __decorate$N([\n Autowired('paginationProxy')\n ], Beans.prototype, \"paginationProxy\", void 0);\n __decorate$N([\n Autowired('context')\n ], Beans.prototype, \"context\", void 0);\n __decorate$N([\n Autowired('columnApi')\n ], Beans.prototype, \"columnApi\", void 0);\n __decorate$N([\n Autowired('gridApi')\n ], Beans.prototype, \"gridApi\", void 0);\n __decorate$N([\n Autowired('gridOptionsWrapper')\n ], Beans.prototype, \"gridOptionsWrapper\", void 0);\n __decorate$N([\n Autowired('expressionService')\n ], Beans.prototype, \"expressionService\", void 0);\n __decorate$N([\n Autowired('rowRenderer')\n ], Beans.prototype, \"rowRenderer\", void 0);\n __decorate$N([\n Autowired('templateService')\n ], Beans.prototype, \"templateService\", void 0);\n __decorate$N([\n Autowired('valueService')\n ], Beans.prototype, \"valueService\", void 0);\n __decorate$N([\n Autowired('eventService')\n ], Beans.prototype, \"eventService\", void 0);\n __decorate$N([\n Autowired('columnModel')\n ], Beans.prototype, \"columnModel\", void 0);\n __decorate$N([\n Autowired('headerNavigationService')\n ], Beans.prototype, \"headerNavigationService\", void 0);\n __decorate$N([\n Autowired('navigationService')\n ], Beans.prototype, \"navigationService\", void 0);\n __decorate$N([\n Autowired('columnAnimationService')\n ], Beans.prototype, \"columnAnimationService\", void 0);\n __decorate$N([\n Optional('rangeService')\n ], Beans.prototype, \"rangeService\", void 0);\n __decorate$N([\n Autowired('focusService')\n ], Beans.prototype, \"focusService\", void 0);\n __decorate$N([\n Optional('contextMenuFactory')\n ], Beans.prototype, \"contextMenuFactory\", void 0);\n __decorate$N([\n Autowired('popupService')\n ], Beans.prototype, \"popupService\", void 0);\n __decorate$N([\n Autowired('valueFormatterService')\n ], Beans.prototype, \"valueFormatterService\", void 0);\n __decorate$N([\n Autowired('stylingService')\n ], Beans.prototype, \"stylingService\", void 0);\n __decorate$N([\n Autowired('columnHoverService')\n ], Beans.prototype, \"columnHoverService\", void 0);\n __decorate$N([\n Autowired('userComponentFactory')\n ], Beans.prototype, \"userComponentFactory\", void 0);\n __decorate$N([\n Autowired('userComponentRegistry')\n ], Beans.prototype, \"userComponentRegistry\", void 0);\n __decorate$N([\n Autowired('animationFrameService')\n ], Beans.prototype, \"animationFrameService\", void 0);\n __decorate$N([\n Autowired('dragAndDropService')\n ], Beans.prototype, \"dragAndDropService\", void 0);\n __decorate$N([\n Autowired('sortController')\n ], Beans.prototype, \"sortController\", void 0);\n __decorate$N([\n Autowired('filterManager')\n ], Beans.prototype, \"filterManager\", void 0);\n __decorate$N([\n Autowired('rowContainerHeightService')\n ], Beans.prototype, \"rowContainerHeightService\", void 0);\n __decorate$N([\n Autowired('frameworkOverrides')\n ], Beans.prototype, \"frameworkOverrides\", void 0);\n __decorate$N([\n Autowired('cellPositionUtils')\n ], Beans.prototype, \"cellPositionUtils\", void 0);\n __decorate$N([\n Autowired('rowPositionUtils')\n ], Beans.prototype, \"rowPositionUtils\", void 0);\n __decorate$N([\n Autowired('selectionService')\n ], Beans.prototype, \"selectionService\", void 0);\n __decorate$N([\n Optional('selectionHandleFactory')\n ], Beans.prototype, \"selectionHandleFactory\", void 0);\n __decorate$N([\n Autowired('rowCssClassCalculator')\n ], Beans.prototype, \"rowCssClassCalculator\", void 0);\n __decorate$N([\n Autowired('rowModel')\n ], Beans.prototype, \"rowModel\", void 0);\n __decorate$N([\n Autowired('ctrlsService')\n ], Beans.prototype, \"ctrlsService\", void 0);\n __decorate$N([\n Autowired('ctrlsFactory')\n ], Beans.prototype, \"ctrlsFactory\", void 0);\n __decorate$N([\n Autowired('agStackComponentsRegistry')\n ], Beans.prototype, \"agStackComponentsRegistry\", void 0);\n __decorate$N([\n Autowired('valueCache')\n ], Beans.prototype, \"valueCache\", void 0);\n __decorate$N([\n Autowired('rowNodeEventThrottle')\n ], Beans.prototype, \"rowNodeEventThrottle\", void 0);\n __decorate$N([\n PostConstruct\n ], Beans.prototype, \"postConstruct\", null);\n Beans = __decorate$N([\n Bean('beans')\n ], Beans);\n return Beans;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$X = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar CellMouseListenerFeature = /** @class */ (function (_super) {\n __extends$X(CellMouseListenerFeature, _super);\n function CellMouseListenerFeature(ctrl, beans, column) {\n var _this = _super.call(this) || this;\n _this.cellCtrl = ctrl;\n _this.beans = beans;\n _this.column = column;\n return _this;\n }\n CellMouseListenerFeature.prototype.onMouseEvent = function (eventName, mouseEvent) {\n if (isStopPropagationForAgGrid(mouseEvent)) {\n return;\n }\n switch (eventName) {\n case 'click':\n this.onCellClicked(mouseEvent);\n break;\n case 'mousedown':\n case 'touchstart':\n this.onMouseDown(mouseEvent);\n break;\n case 'dblclick':\n this.onCellDoubleClicked(mouseEvent);\n break;\n case 'mouseout':\n this.onMouseOut(mouseEvent);\n break;\n case 'mouseover':\n this.onMouseOver(mouseEvent);\n break;\n }\n };\n CellMouseListenerFeature.prototype.onCellClicked = function (mouseEvent) {\n // iPad doesn't have double click - so we need to mimic it to enable editing for iPad.\n if (this.isDoubleClickOnIPad()) {\n this.onCellDoubleClicked(mouseEvent);\n mouseEvent.preventDefault(); // if we don't do this, then iPad zooms in\n return;\n }\n var _a = this.beans, eventService = _a.eventService, gridOptionsWrapper = _a.gridOptionsWrapper;\n var cellClickedEvent = this.cellCtrl.createEvent(mouseEvent, Events.EVENT_CELL_CLICKED);\n eventService.dispatchEvent(cellClickedEvent);\n var colDef = this.column.getColDef();\n if (colDef.onCellClicked) {\n // to make callback async, do in a timeout\n window.setTimeout(function () { return colDef.onCellClicked(cellClickedEvent); }, 0);\n }\n var editOnSingleClick = (gridOptionsWrapper.isSingleClickEdit() || colDef.singleClickEdit)\n && !gridOptionsWrapper.isSuppressClickEdit();\n if (editOnSingleClick) {\n this.cellCtrl.startRowOrCellEdit();\n }\n };\n // returns true if on iPad and this is second 'click' event in 200ms\n CellMouseListenerFeature.prototype.isDoubleClickOnIPad = function () {\n if (!isIOSUserAgent() || isEventSupported('dblclick')) {\n return false;\n }\n var nowMillis = new Date().getTime();\n var res = nowMillis - this.lastIPadMouseClickEvent < 200;\n this.lastIPadMouseClickEvent = nowMillis;\n return res;\n };\n CellMouseListenerFeature.prototype.onCellDoubleClicked = function (mouseEvent) {\n var colDef = this.column.getColDef();\n // always dispatch event to eventService\n var cellDoubleClickedEvent = this.cellCtrl.createEvent(mouseEvent, Events.EVENT_CELL_DOUBLE_CLICKED);\n this.beans.eventService.dispatchEvent(cellDoubleClickedEvent);\n // check if colDef also wants to handle event\n if (typeof colDef.onCellDoubleClicked === 'function') {\n // to make the callback async, do in a timeout\n window.setTimeout(function () { return colDef.onCellDoubleClicked(cellDoubleClickedEvent); }, 0);\n }\n var editOnDoubleClick = !this.beans.gridOptionsWrapper.isSingleClickEdit()\n && !this.beans.gridOptionsWrapper.isSuppressClickEdit();\n if (editOnDoubleClick) {\n this.cellCtrl.startRowOrCellEdit(null, null, mouseEvent);\n }\n };\n CellMouseListenerFeature.prototype.onMouseDown = function (mouseEvent) {\n var ctrlKey = mouseEvent.ctrlKey, metaKey = mouseEvent.metaKey, shiftKey = mouseEvent.shiftKey;\n var target = mouseEvent.target;\n var _a = this.beans, eventService = _a.eventService, rangeService = _a.rangeService;\n // do not change the range for right-clicks inside an existing range\n if (this.isRightClickInExistingRange(mouseEvent)) {\n return;\n }\n var ranges = rangeService && rangeService.getCellRanges().length != 0;\n if (!shiftKey || !ranges) {\n // We only need to pass true to focusCell when the browser is IE/Edge and we are trying\n // to focus the cell itself. This should never be true if the mousedown was triggered\n // due to a click on a cell editor for example.\n var forceBrowserFocus = (isBrowserEdge()) && !this.cellCtrl.isEditing() && !isFocusableFormField(target);\n this.cellCtrl.focusCell(forceBrowserFocus);\n }\n // if shift clicking, and a range exists, we keep the focus on the cell that started the\n // range as the user then changes the range selection.\n if (shiftKey && ranges) {\n // this stops the cell from getting focused\n mouseEvent.preventDefault();\n }\n // if we are clicking on a checkbox, we need to make sure the cell wrapping that checkbox\n // is focused but we don't want to change the range selection, so return here.\n if (this.containsWidget(target)) {\n return;\n }\n if (rangeService) {\n var thisCell = this.cellCtrl.getCellPosition();\n if (shiftKey) {\n rangeService.extendLatestRangeToCell(thisCell);\n }\n else {\n var ctrlKeyPressed = ctrlKey || metaKey;\n rangeService.setRangeToCell(thisCell, ctrlKeyPressed);\n }\n }\n eventService.dispatchEvent(this.cellCtrl.createEvent(mouseEvent, Events.EVENT_CELL_MOUSE_DOWN));\n };\n CellMouseListenerFeature.prototype.isRightClickInExistingRange = function (mouseEvent) {\n var rangeService = this.beans.rangeService;\n if (rangeService) {\n var cellInRange = rangeService.isCellInAnyRange(this.cellCtrl.getCellPosition());\n if (cellInRange && mouseEvent.button === 2) {\n return true;\n }\n }\n return false;\n };\n CellMouseListenerFeature.prototype.containsWidget = function (target) {\n return isElementChildOfClass(target, 'ag-selection-checkbox', 3);\n };\n CellMouseListenerFeature.prototype.onMouseOut = function (mouseEvent) {\n if (this.mouseStayingInsideCell(mouseEvent)) {\n return;\n }\n var cellMouseOutEvent = this.cellCtrl.createEvent(mouseEvent, Events.EVENT_CELL_MOUSE_OUT);\n this.beans.eventService.dispatchEvent(cellMouseOutEvent);\n this.beans.columnHoverService.clearMouseOver();\n };\n CellMouseListenerFeature.prototype.onMouseOver = function (mouseEvent) {\n if (this.mouseStayingInsideCell(mouseEvent)) {\n return;\n }\n var cellMouseOverEvent = this.cellCtrl.createEvent(mouseEvent, Events.EVENT_CELL_MOUSE_OVER);\n this.beans.eventService.dispatchEvent(cellMouseOverEvent);\n this.beans.columnHoverService.setMouseOver([this.column]);\n };\n CellMouseListenerFeature.prototype.mouseStayingInsideCell = function (e) {\n if (!e.target || !e.relatedTarget) {\n return false;\n }\n var eGui = this.cellCtrl.getGui();\n var cellContainsTarget = eGui.contains(e.target);\n var cellContainsRelatedTarget = eGui.contains(e.relatedTarget);\n return cellContainsTarget && cellContainsRelatedTarget;\n };\n CellMouseListenerFeature.prototype.destroy = function () {\n };\n return CellMouseListenerFeature;\n}(Beans));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$Y = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar CellKeyboardListenerFeature = /** @class */ (function (_super) {\n __extends$Y(CellKeyboardListenerFeature, _super);\n function CellKeyboardListenerFeature(ctrl, beans, column, rowNode, rowCtrl) {\n var _this = _super.call(this) || this;\n _this.cellCtrl = ctrl;\n _this.beans = beans;\n _this.rowNode = rowNode;\n _this.rowCtrl = rowCtrl;\n return _this;\n }\n CellKeyboardListenerFeature.prototype.setComp = function (eGui) {\n this.eGui = eGui;\n };\n CellKeyboardListenerFeature.prototype.onKeyDown = function (event) {\n var key = event.key;\n switch (key) {\n case KeyCode.ENTER:\n this.onEnterKeyDown(event);\n break;\n case KeyCode.F2:\n this.onF2KeyDown(event);\n break;\n case KeyCode.ESCAPE:\n this.onEscapeKeyDown(event);\n break;\n case KeyCode.TAB:\n this.onTabKeyDown(event);\n break;\n case KeyCode.BACKSPACE:\n case KeyCode.DELETE:\n this.onBackspaceOrDeleteKeyPressed(key, event);\n break;\n case KeyCode.DOWN:\n case KeyCode.UP:\n case KeyCode.RIGHT:\n case KeyCode.LEFT:\n this.onNavigationKeyPressed(event, key);\n break;\n }\n };\n CellKeyboardListenerFeature.prototype.onNavigationKeyPressed = function (event, key) {\n if (this.cellCtrl.isEditing()) {\n return;\n }\n if (event.shiftKey && this.cellCtrl.isRangeSelectionEnabled()) {\n this.onShiftRangeSelect(event);\n }\n else {\n this.beans.navigationService.navigateToNextCell(event, key, this.cellCtrl.getCellPosition(), true);\n }\n // if we don't prevent default, the grid will scroll with the navigation keys\n event.preventDefault();\n };\n CellKeyboardListenerFeature.prototype.onShiftRangeSelect = function (event) {\n if (!this.beans.rangeService) {\n return;\n }\n var endCell = this.beans.rangeService.extendLatestRangeInDirection(event);\n if (endCell) {\n this.beans.navigationService.ensureCellVisible(endCell);\n }\n };\n CellKeyboardListenerFeature.prototype.onTabKeyDown = function (event) {\n this.beans.navigationService.onTabKeyDown(this.cellCtrl, event);\n };\n CellKeyboardListenerFeature.prototype.onBackspaceOrDeleteKeyPressed = function (key, event) {\n if (!this.cellCtrl.isEditing()) {\n this.cellCtrl.startRowOrCellEdit(key, undefined, event);\n }\n };\n CellKeyboardListenerFeature.prototype.onEnterKeyDown = function (e) {\n if (this.cellCtrl.isEditing() || this.rowCtrl.isEditing()) {\n this.cellCtrl.stopEditingAndFocus();\n }\n else {\n if (this.beans.gridOptionsWrapper.isEnterMovesDown()) {\n this.beans.navigationService.navigateToNextCell(null, KeyCode.DOWN, this.cellCtrl.getCellPosition(), false);\n }\n else {\n this.cellCtrl.startRowOrCellEdit(KeyCode.ENTER, undefined, e);\n if (this.cellCtrl.isEditing()) {\n // if we started editing, then we need to prevent default, otherwise the Enter action can get\n // applied to the cell editor. this happened, for example, with largeTextCellEditor where not\n // preventing default results in a 'new line' character getting inserted in the text area\n // when the editing was started\n e.preventDefault();\n }\n }\n }\n };\n CellKeyboardListenerFeature.prototype.onF2KeyDown = function (event) {\n if (!this.cellCtrl.isEditing()) {\n this.cellCtrl.startRowOrCellEdit(KeyCode.F2, undefined, event);\n }\n };\n CellKeyboardListenerFeature.prototype.onEscapeKeyDown = function (event) {\n if (this.cellCtrl.isEditing()) {\n this.cellCtrl.stopRowOrCellEdit(true);\n this.cellCtrl.focusCell(true);\n }\n };\n CellKeyboardListenerFeature.prototype.onKeyPress = function (event) {\n // check this, in case focus is on a (for example) a text field inside the cell,\n // in which cse we should not be listening for these key pressed\n var eventTarget = event.target;\n var eventOnChildComponent = eventTarget !== this.eGui;\n if (eventOnChildComponent || this.cellCtrl.isEditing()) {\n return;\n }\n var pressedChar = String.fromCharCode(event.charCode);\n if (pressedChar === ' ') {\n this.onSpaceKeyPressed(event);\n }\n else if (isEventFromPrintableCharacter(event)) {\n this.cellCtrl.startRowOrCellEdit(null, pressedChar, event);\n // if we don't prevent default, then the keypress also gets applied to the text field\n // (at least when doing the default editor), but we need to allow the editor to decide\n // what it wants to do. we only do this IF editing was started - otherwise it messes\n // up when the use is not doing editing, but using rendering with text fields in cellRenderer\n // (as it would block the the user from typing into text fields).\n event.preventDefault();\n }\n };\n CellKeyboardListenerFeature.prototype.onSpaceKeyPressed = function (event) {\n var gridOptionsWrapper = this.beans.gridOptionsWrapper;\n if (!this.cellCtrl.isEditing() && gridOptionsWrapper.isRowSelection()) {\n var currentSelection = this.rowNode.isSelected();\n var newSelection = !currentSelection;\n if (newSelection || !gridOptionsWrapper.isSuppressRowDeselection()) {\n var groupSelectsFiltered = this.beans.gridOptionsWrapper.isGroupSelectsFiltered();\n var updatedCount = this.rowNode.setSelectedParams({\n newValue: newSelection,\n rangeSelect: event.shiftKey,\n groupSelectsFiltered: groupSelectsFiltered\n });\n if (currentSelection === undefined && updatedCount === 0) {\n this.rowNode.setSelectedParams({\n newValue: false,\n rangeSelect: event.shiftKey,\n groupSelectsFiltered: groupSelectsFiltered\n });\n }\n }\n }\n // prevent default as space key, by default, moves browser scroll down\n event.preventDefault();\n };\n CellKeyboardListenerFeature.prototype.destroy = function () {\n };\n return CellKeyboardListenerFeature;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$Z = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$O = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar DndSourceComp = /** @class */ (function (_super) {\n __extends$Z(DndSourceComp, _super);\n function DndSourceComp(rowNode, column, beans, eCell) {\n var _this = _super.call(this, \"
\") || this;\n _this.rowNode = rowNode;\n _this.column = column;\n _this.beans = beans;\n _this.eCell = eCell;\n return _this;\n }\n DndSourceComp.prototype.postConstruct = function () {\n var eGui = this.getGui();\n eGui.appendChild(createIconNoSpan('rowDrag', this.beans.gridOptionsWrapper, null));\n // we need to stop the event propagation here to avoid starting a range selection while dragging\n this.addGuiEventListener('mousedown', function (e) {\n e.stopPropagation();\n });\n this.addDragSource();\n this.checkVisibility();\n };\n DndSourceComp.prototype.addDragSource = function () {\n this.addGuiEventListener('dragstart', this.onDragStart.bind(this));\n };\n DndSourceComp.prototype.onDragStart = function (dragEvent) {\n var _this = this;\n var providedOnRowDrag = this.column.getColDef().dndSourceOnRowDrag;\n dragEvent.dataTransfer.setDragImage(this.eCell, 0, 0);\n // default behaviour is to convert data to json and set into drag component\n var defaultOnRowDrag = function () {\n try {\n var jsonData = JSON.stringify(_this.rowNode.data);\n dragEvent.dataTransfer.setData('application/json', jsonData);\n dragEvent.dataTransfer.setData('text/plain', jsonData);\n }\n catch (e) {\n // if we cannot convert the data to json, then we do not set the type\n }\n };\n if (providedOnRowDrag) {\n var params = {\n rowNode: this.rowNode, dragEvent: dragEvent,\n api: this.gridOptionsWrapper.getApi(),\n columnApi: this.gridOptionsWrapper.getColumnApi(),\n context: this.gridOptionsWrapper.getContext()\n };\n providedOnRowDrag(params);\n }\n else {\n defaultOnRowDrag();\n }\n };\n DndSourceComp.prototype.checkVisibility = function () {\n var visible = this.column.isDndSource(this.rowNode);\n this.setDisplayed(visible);\n };\n __decorate$O([\n PostConstruct\n ], DndSourceComp.prototype, \"postConstruct\", null);\n return DndSourceComp;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$_ = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign$b = (undefined && undefined.__assign) || function () {\n __assign$b = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign$b.apply(this, arguments);\n};\nvar CSS_CELL = 'ag-cell';\nvar CSS_AUTO_HEIGHT = 'ag-cell-auto-height';\nvar CSS_NORMAL_HEIGHT = 'ag-cell-normal-height';\nvar CSS_CELL_FOCUS = 'ag-cell-focus';\nvar CSS_CELL_FIRST_RIGHT_PINNED = 'ag-cell-first-right-pinned';\nvar CSS_CELL_LAST_LEFT_PINNED = 'ag-cell-last-left-pinned';\nvar CSS_CELL_NOT_INLINE_EDITING = 'ag-cell-not-inline-editing';\nvar CSS_CELL_INLINE_EDITING = 'ag-cell-inline-editing';\nvar CSS_CELL_POPUP_EDITING = 'ag-cell-popup-editing';\nvar CSS_COLUMN_HOVER = 'ag-column-hover';\nvar CSS_CELL_WRAP_TEXT = 'ag-cell-wrap-text';\nvar instanceIdSequence$1 = 0;\nvar CellCtrl = /** @class */ (function (_super) {\n __extends$_(CellCtrl, _super);\n function CellCtrl(column, rowNode, beans, rowCtrl) {\n var _this = _super.call(this) || this;\n _this.suppressRefreshCell = false;\n _this.column = column;\n _this.rowNode = rowNode;\n _this.beans = beans;\n _this.rowCtrl = rowCtrl;\n // unique id to this instance, including the column ID to help with debugging in React as it's used in 'key'\n _this.instanceId = column.getId() + '-' + instanceIdSequence$1++;\n _this.createCellPosition();\n _this.addFeatures();\n return _this;\n }\n CellCtrl.prototype.addFeatures = function () {\n var _this = this;\n this.cellPositionFeature = new CellPositionFeature(this, this.beans);\n this.addDestroyFunc(function () { return _this.cellPositionFeature.destroy(); });\n this.cellCustomStyleFeature = new CellCustomStyleFeature(this, this.beans);\n this.addDestroyFunc(function () { return _this.cellCustomStyleFeature.destroy(); });\n this.cellMouseListenerFeature = new CellMouseListenerFeature(this, this.beans, this.column);\n this.addDestroyFunc(function () { return _this.cellMouseListenerFeature.destroy(); });\n this.cellKeyboardListenerFeature = new CellKeyboardListenerFeature(this, this.beans, this.column, this.rowNode, this.rowCtrl);\n this.addDestroyFunc(function () { return _this.cellKeyboardListenerFeature.destroy(); });\n var rangeSelectionEnabled = this.beans.rangeService && this.beans.gridOptionsWrapper.isEnableRangeSelection();\n if (rangeSelectionEnabled) {\n this.cellRangeFeature = new CellRangeFeature(this.beans, this);\n this.addDestroyFunc(function () { return _this.cellRangeFeature.destroy(); });\n }\n this.addTooltipFeature();\n };\n CellCtrl.prototype.addTooltipFeature = function () {\n var _this = this;\n var getTooltipValue = function () {\n var colDef = _this.column.getColDef();\n var data = _this.rowNode.data;\n if (colDef.tooltipField && exists(data)) {\n return getValueUsingField(data, colDef.tooltipField, _this.column.isTooltipFieldContainsDots());\n }\n var valueGetter = colDef.tooltipValueGetter;\n if (valueGetter) {\n return valueGetter({\n location: 'cell',\n api: _this.beans.gridOptionsWrapper.getApi(),\n columnApi: _this.beans.gridOptionsWrapper.getColumnApi(),\n context: _this.beans.gridOptionsWrapper.getContext(),\n colDef: _this.column.getColDef(),\n column: _this.column,\n rowIndex: _this.cellPosition.rowIndex,\n node: _this.rowNode,\n data: _this.rowNode.data,\n value: _this.value,\n valueFormatted: _this.valueFormatted,\n });\n }\n return null;\n };\n var tooltipCtrl = {\n getColumn: function () { return _this.column; },\n getColDef: function () { return _this.column.getColDef(); },\n getRowIndex: function () { return _this.cellPosition.rowIndex; },\n getRowNode: function () { return _this.rowNode; },\n getGui: function () { return _this.getGui(); },\n getLocation: function () { return 'cell'; },\n getTooltipValue: getTooltipValue,\n // this makes no sense, why is the cell formatted value passed to the tooltip???\n getValueFormatted: function () { return _this.valueFormatted; }\n };\n this.tooltipFeature = new TooltipFeature(tooltipCtrl, this.beans);\n this.addDestroyFunc(function () { return _this.tooltipFeature.destroy(); });\n };\n CellCtrl.prototype.setComp = function (comp, eGui, eCellWrapper, printLayout, startEditing) {\n this.cellComp = comp;\n this.gow = this.beans.gridOptionsWrapper;\n this.eGui = eGui;\n this.eCellWrapper = eCellWrapper;\n this.printLayout = printLayout;\n // we force to make sure formatter gets called at least once,\n // even if value has not changed (is is undefined)\n this.updateAndFormatValue(true);\n this.addDomData();\n this.onCellFocused();\n this.applyStaticCssClasses();\n this.setWrapText();\n this.onFirstRightPinnedChanged();\n this.onLastLeftPinnedChanged();\n this.onColumnHover();\n this.setupControlComps();\n this.setupAutoHeight();\n this.setAriaColIndex();\n if (!this.gow.isSuppressCellFocus()) {\n this.cellComp.setTabIndex(-1);\n }\n var colIdSanitised = escapeString(this.column.getId());\n this.cellComp.setColId(colIdSanitised);\n this.cellComp.setRole('gridcell');\n this.cellPositionFeature.setComp(eGui);\n this.cellCustomStyleFeature.setComp(comp);\n this.tooltipFeature.setComp(comp);\n this.cellKeyboardListenerFeature.setComp(this.eGui);\n if (this.cellRangeFeature) {\n this.cellRangeFeature.setComp(comp, eGui);\n }\n if (startEditing && this.isCellEditable()) {\n this.startEditing();\n }\n else {\n this.showValue();\n }\n };\n CellCtrl.prototype.setupAutoHeight = function () {\n var _this = this;\n if (!this.column.isAutoHeight()) {\n return;\n }\n var eAutoHeightContainer = this.eCellWrapper;\n var eParentCell = eAutoHeightContainer.parentElement;\n // taking minRowHeight from getRowHeightForNode means the getRowHeight() callback is used,\n // thus allowing different min heights for different rows.\n var minRowHeight = this.beans.gridOptionsWrapper.getRowHeightForNode(this.rowNode).height;\n var measureHeight = function (timesCalled) {\n if (_this.editing) {\n return;\n }\n // because of the retry's below, it's possible the retry's go beyond\n // the rows life.\n if (!_this.isAlive()) {\n return;\n }\n var _a = getElementSize(eParentCell), paddingTop = _a.paddingTop, paddingBottom = _a.paddingBottom;\n var wrapperHeight = eAutoHeightContainer.offsetHeight;\n var autoHeight = wrapperHeight + paddingTop + paddingBottom;\n if (timesCalled < 5) {\n // if not in doc yet, means framework not yet inserted, so wait for next VM turn,\n // maybe it will be ready next VM turn\n var doc = _this.beans.gridOptionsWrapper.getDocument();\n var notYetInDom = !doc || !doc.contains(eAutoHeightContainer);\n // this happens in React, where React hasn't put any content in. we say 'possibly'\n // as a) may not be React and b) the cell could be empty anyway\n var possiblyNoContentYet = autoHeight == 0;\n if (notYetInDom || possiblyNoContentYet) {\n _this.beans.frameworkOverrides.setTimeout(function () { return measureHeight(timesCalled + 1); }, 0);\n return;\n }\n }\n var newHeight = Math.max(autoHeight, minRowHeight);\n _this.rowNode.setRowAutoHeight(newHeight, _this.column);\n };\n var listener = function () { return measureHeight(0); };\n // do once to set size in case size doesn't change, common when cell is blank\n listener();\n var destroyResizeObserver = this.beans.resizeObserverService.observeResize(eAutoHeightContainer, listener);\n this.addDestroyFunc(function () {\n destroyResizeObserver();\n _this.rowNode.setRowAutoHeight(undefined, _this.column);\n });\n };\n CellCtrl.prototype.getInstanceId = function () {\n return this.instanceId;\n };\n CellCtrl.prototype.showValue = function (forceNewCellRendererInstance) {\n if (forceNewCellRendererInstance === void 0) { forceNewCellRendererInstance = false; }\n var valueToDisplay = this.valueFormatted != null ? this.valueFormatted : this.value;\n var params = this.createCellRendererParams();\n var compDetails = this.beans.userComponentFactory.getCellRendererDetails(this.column.getColDef(), params);\n this.cellComp.setRenderDetails(compDetails, valueToDisplay, forceNewCellRendererInstance);\n this.refreshHandle();\n };\n CellCtrl.prototype.setupControlComps = function () {\n var colDef = this.column.getColDef();\n this.includeSelection = this.isIncludeControl(colDef.checkboxSelection);\n this.includeRowDrag = this.isIncludeControl(colDef.rowDrag);\n this.includeDndSource = this.isIncludeControl(colDef.dndSource);\n this.cellComp.setIncludeSelection(this.includeSelection);\n this.cellComp.setIncludeDndSource(this.includeDndSource);\n this.cellComp.setIncludeRowDrag(this.includeRowDrag);\n };\n CellCtrl.prototype.isForceWrapper = function () {\n // text selection requires the value to be wrapped in another element\n var forceWrapper = this.beans.gridOptionsWrapper.isEnableCellTextSelection() || this.column.isAutoHeight();\n return forceWrapper;\n };\n CellCtrl.prototype.isIncludeControl = function (value) {\n var rowNodePinned = this.rowNode.rowPinned != null;\n var isFunc = typeof value === 'function';\n var res = rowNodePinned ? false : isFunc || value === true;\n return res;\n };\n CellCtrl.prototype.refreshShouldDestroy = function () {\n var colDef = this.column.getColDef();\n var selectionChanged = this.includeSelection != this.isIncludeControl(colDef.checkboxSelection);\n var rowDragChanged = this.includeRowDrag != this.isIncludeControl(colDef.rowDrag);\n var dndSourceChanged = this.includeDndSource != this.isIncludeControl(colDef.dndSource);\n return selectionChanged || rowDragChanged || dndSourceChanged;\n };\n // either called internally if single cell editing, or called by rowRenderer if row editing\n CellCtrl.prototype.startEditing = function (key, charPress, cellStartedEdit, event) {\n if (key === void 0) { key = null; }\n if (charPress === void 0) { charPress = null; }\n if (cellStartedEdit === void 0) { cellStartedEdit = false; }\n if (event === void 0) { event = null; }\n var _a, _b;\n if (!this.isCellEditable() || this.editing) {\n return;\n }\n var editorParams = this.createCellEditorParams(key, charPress, cellStartedEdit);\n var colDef = this.column.getColDef();\n var compDetails = this.beans.userComponentFactory.getCellEditorDetails(colDef, editorParams);\n // if cellEditorSelector was used, we give preference to popup and popupPosition from the selector\n var popup = ((_a = compDetails) === null || _a === void 0 ? void 0 : _a.popupFromSelector) != null ? compDetails.popupFromSelector : !!colDef.cellEditorPopup;\n var position = ((_b = compDetails) === null || _b === void 0 ? void 0 : _b.popupPositionFromSelector) != null ? compDetails.popupPositionFromSelector : colDef.cellEditorPopupPosition;\n this.setEditing(true, popup);\n this.cellComp.setEditDetails(compDetails, popup, position);\n var e = this.createEvent(event, Events.EVENT_CELL_EDITING_STARTED);\n this.beans.eventService.dispatchEvent(e);\n };\n CellCtrl.prototype.setEditing = function (editing, inPopup) {\n if (inPopup === void 0) { inPopup = false; }\n if (this.editing === editing) {\n return;\n }\n this.editing = editing;\n this.editingInPopup = inPopup;\n this.setInlineEditingClass();\n };\n // pass in 'true' to cancel the editing.\n CellCtrl.prototype.stopRowOrCellEdit = function (cancel) {\n if (cancel === void 0) { cancel = false; }\n if (this.beans.gridOptionsWrapper.isFullRowEdit()) {\n this.rowCtrl.stopRowEditing(cancel);\n }\n else {\n this.stopEditing(cancel);\n }\n };\n CellCtrl.prototype.onPopupEditorClosed = function () {\n if (!this.isEditing()) {\n return;\n }\n // note: this happens because of a click outside of the grid or if the popupEditor\n // is closed with `Escape` key. if another cell was clicked, then the editing will\n // have already stopped and returned on the conditional above.\n this.stopEditingAndFocus();\n };\n CellCtrl.prototype.takeValueFromCellEditor = function (cancel) {\n var noValueResult = { newValueExists: false };\n if (cancel) {\n return noValueResult;\n }\n var cellEditor = this.cellComp.getCellEditor();\n if (!cellEditor) {\n return noValueResult;\n }\n var userWantsToCancel = cellEditor.isCancelAfterEnd && cellEditor.isCancelAfterEnd();\n if (userWantsToCancel) {\n return noValueResult;\n }\n var newValue = cellEditor.getValue();\n return {\n newValue: newValue,\n newValueExists: true\n };\n };\n /**\n * @returns `True` if the value changes, otherwise `False`.\n */\n CellCtrl.prototype.saveNewValue = function (oldValue, newValue) {\n if (newValue === oldValue) {\n return false;\n }\n if (this.beans.gridOptionsWrapper.isReadOnlyEdit()) {\n this.dispatchEventForSaveValueReadOnly(oldValue, newValue);\n return false;\n }\n // we suppressRefreshCell because the call to rowNode.setDataValue() results in change detection\n // getting triggered, which results in all cells getting refreshed. we do not want this refresh\n // to happen on this call as we want to call it explicitly below. otherwise refresh gets called twice.\n // if we only did this refresh (and not the one below) then the cell would flash and not be forced.\n this.suppressRefreshCell = true;\n var valueChanged = this.rowNode.setDataValue(this.column, newValue);\n this.suppressRefreshCell = false;\n return valueChanged;\n };\n CellCtrl.prototype.dispatchEventForSaveValueReadOnly = function (oldValue, newValue) {\n var rowNode = this.rowNode;\n var event = {\n type: Events.EVENT_CELL_EDIT_REQUEST,\n event: null,\n rowIndex: rowNode.rowIndex,\n rowPinned: rowNode.rowPinned,\n column: this.column,\n api: this.beans.gridApi,\n columnApi: this.beans.columnApi,\n colDef: this.column.getColDef(),\n context: this.beans.gridOptionsWrapper.getContext(),\n data: rowNode.data,\n node: rowNode,\n oldValue: oldValue,\n newValue: newValue,\n value: newValue,\n source: undefined\n };\n this.beans.eventService.dispatchEvent(event);\n };\n /**\n * Ends the Cell Editing\n * @param cancel `True` if the edit process is being canceled.\n * @returns `True` if the value of the `GridCell` has been updated, otherwise `False`.\n */\n CellCtrl.prototype.stopEditing = function (cancel) {\n if (cancel === void 0) { cancel = false; }\n if (!this.editing) {\n return false;\n }\n var _a = this.takeValueFromCellEditor(cancel), newValue = _a.newValue, newValueExists = _a.newValueExists;\n var oldValue = this.getValueFromValueService();\n var valueChanged = false;\n if (newValueExists) {\n valueChanged = this.saveNewValue(oldValue, newValue);\n }\n this.setEditing(false);\n this.cellComp.setEditDetails(); // passing nothing stops editing\n this.updateAndFormatValue();\n this.refreshCell({ forceRefresh: true, suppressFlash: true });\n this.dispatchEditingStoppedEvent(oldValue, newValue);\n return valueChanged;\n };\n CellCtrl.prototype.dispatchEditingStoppedEvent = function (oldValue, newValue) {\n var editingStoppedEvent = __assign$b(__assign$b({}, this.createEvent(null, Events.EVENT_CELL_EDITING_STOPPED)), { oldValue: oldValue,\n newValue: newValue });\n this.beans.eventService.dispatchEvent(editingStoppedEvent);\n };\n // if we are editing inline, then we don't have the padding in the cell (set in the themes)\n // to allow the text editor full access to the entire cell\n CellCtrl.prototype.setInlineEditingClass = function () {\n if (!this.isAlive()) {\n return;\n }\n // ag-cell-inline-editing - appears when user is inline editing\n // ag-cell-not-inline-editing - appears when user is no inline editing\n // ag-cell-popup-editing - appears when user is editing cell in popup (appears on the cell, not on the popup)\n // note: one of {ag-cell-inline-editing, ag-cell-not-inline-editing} is always present, they toggle.\n // however {ag-cell-popup-editing} shows when popup, so you have both {ag-cell-popup-editing}\n // and {ag-cell-not-inline-editing} showing at the same time.\n var editingInline = this.editing && !this.editingInPopup;\n var popupEditorShowing = this.editing && this.editingInPopup;\n this.cellComp.addOrRemoveCssClass(CSS_CELL_INLINE_EDITING, editingInline);\n this.cellComp.addOrRemoveCssClass(CSS_CELL_NOT_INLINE_EDITING, !editingInline);\n this.cellComp.addOrRemoveCssClass(CSS_CELL_POPUP_EDITING, popupEditorShowing);\n this.rowCtrl.setInlineEditingCss(this.editing);\n };\n // this is needed as the JS CellComp still allows isPopup() on the CellEditor class, so\n // it's possible the editor is in a popup even though it's not configured via the colDef as so\n CellCtrl.prototype.hackSayEditingInPopup = function () {\n if (this.editingInPopup) {\n return;\n }\n this.editingInPopup = true;\n this.setInlineEditingClass();\n };\n CellCtrl.prototype.createCellEditorParams = function (key, charPress, cellStartedEdit) {\n var res = {\n value: this.getValueFromValueService(),\n key: key,\n eventKey: key,\n charPress: charPress,\n column: this.column,\n colDef: this.column.getColDef(),\n rowIndex: this.getCellPosition().rowIndex,\n node: this.rowNode,\n data: this.rowNode.data,\n api: this.beans.gridOptionsWrapper.getApi(),\n cellStartedEdit: cellStartedEdit,\n columnApi: this.beans.gridOptionsWrapper.getColumnApi(),\n context: this.beans.gridOptionsWrapper.getContext(),\n onKeyDown: this.onKeyDown.bind(this),\n stopEditing: this.stopEditingAndFocus.bind(this),\n eGridCell: this.getGui(),\n parseValue: this.parseValue.bind(this),\n formatValue: this.formatValue.bind(this)\n };\n return res;\n };\n CellCtrl.prototype.createCellRendererParams = function () {\n var _this = this;\n var addRowCompListener = function (eventType, listener) {\n console.warn('AG Grid: since AG Grid v26, params.addRowCompListener() is deprecated. If you need this functionality, please contact AG Grid support and advise why so that we can revert with an appropriate workaround, as we dont have any valid use cases for it. This method was originally provided as a work around to know when cells were destroyed in AG Grid before custom Cell Renderers could be provided.');\n _this.rowCtrl.addEventListener(eventType, listener);\n };\n var res = {\n value: this.value,\n valueFormatted: this.valueFormatted,\n getValue: this.getValueFromValueService.bind(this),\n setValue: function (value) { return _this.beans.valueService.setValue(_this.rowNode, _this.column, value); },\n formatValue: this.formatValue.bind(this),\n data: this.rowNode.data,\n node: this.rowNode,\n colDef: this.column.getColDef(),\n column: this.column,\n rowIndex: this.getCellPosition().rowIndex,\n api: this.beans.gridOptionsWrapper.getApi(),\n columnApi: this.beans.gridOptionsWrapper.getColumnApi(),\n context: this.beans.gridOptionsWrapper.getContext(),\n refreshCell: this.refreshCell.bind(this),\n eGridCell: this.getGui(),\n eParentOfValue: this.cellComp.getParentOfValue(),\n registerRowDragger: function (rowDraggerElement, dragStartPixels, value, suppressVisibilityChange) { return _this.registerRowDragger(rowDraggerElement, dragStartPixels, suppressVisibilityChange); },\n // this function is not documented anywhere, so we could drop it\n // it was in the olden days to allow user to register for when rendered\n // row was removed (the row comp was removed), however now that the user\n // can provide components for cells, the destroy method gets call when this\n // happens so no longer need to fire event.\n addRowCompListener: addRowCompListener\n };\n return res;\n };\n CellCtrl.prototype.parseValue = function (newValue) {\n var colDef = this.column.getColDef();\n var params = {\n node: this.rowNode,\n data: this.rowNode.data,\n oldValue: this.getValue(),\n newValue: newValue,\n colDef: colDef,\n column: this.column,\n api: this.beans.gridOptionsWrapper.getApi(),\n columnApi: this.beans.gridOptionsWrapper.getColumnApi(),\n context: this.beans.gridOptionsWrapper.getContext()\n };\n var valueParser = colDef.valueParser;\n return exists(valueParser) ? this.beans.expressionService.evaluate(valueParser, params) : newValue;\n };\n CellCtrl.prototype.setFocusOutOnEditor = function () {\n if (!this.editing) {\n return;\n }\n var cellEditor = this.cellComp.getCellEditor();\n if (cellEditor && cellEditor.focusOut) {\n cellEditor.focusOut();\n }\n };\n CellCtrl.prototype.setFocusInOnEditor = function () {\n if (!this.editing) {\n return;\n }\n var cellEditor = this.cellComp.getCellEditor();\n if (cellEditor && cellEditor.focusIn) {\n // if the editor is present, then we just focus it\n cellEditor.focusIn();\n }\n else {\n // if the editor is not present, it means async cell editor (eg React fibre)\n // and we are trying to set focus before the cell editor is present, so we\n // focus the cell instead\n this.focusCell(true);\n }\n };\n CellCtrl.prototype.onCellChanged = function (event) {\n // because of async in React, the cellComp may not be set yet, if no cellComp then we are\n // yet to initialise the cell, so no need to refresh.\n if (!this.cellComp) {\n return;\n }\n var eventImpactsThisCell = event.column === this.column;\n if (eventImpactsThisCell) {\n this.refreshCell({});\n }\n };\n // + stop editing {forceRefresh: true, suppressFlash: true}\n // + event cellChanged {}\n // + cellRenderer.params.refresh() {} -> method passes 'as is' to the cellRenderer, so params could be anything\n // + rowCtrl: event dataChanged {suppressFlash: !update, newData: !update}\n // + rowCtrl: api refreshCells() {animate: true/false}\n // + rowRenderer: api softRefreshView() {}\n CellCtrl.prototype.refreshCell = function (params) {\n // if we are in the middle of 'stopEditing', then we don't refresh here, as refresh gets called explicitly\n if (this.suppressRefreshCell || this.editing) {\n return;\n }\n // In React, due to async, it's possible a refresh was asked for before the CellComp\n // has been set. If this happens, we skip the refresh, as the cell is going to be\n // initialised anyway once the CellComp is set.\n if (!this.cellComp) {\n return;\n }\n var colDef = this.column.getColDef();\n var newData = params != null && !!params.newData;\n var suppressFlash = (params != null && !!params.suppressFlash) || !!colDef.suppressCellFlash;\n // we always refresh if cell has no value - this can happen when user provides Cell Renderer and the\n // cell renderer doesn't rely on a value, instead it could be looking directly at the data, or maybe\n // printing the current time (which would be silly)???. Generally speaking\n // non of {field, valueGetter, showRowGroup} is bad in the users application, however for this edge case, it's\n // best always refresh and take the performance hit rather than never refresh and users complaining in support\n // that cells are not updating.\n var noValueProvided = colDef.field == null && colDef.valueGetter == null && colDef.showRowGroup == null;\n var forceRefresh = (params && params.forceRefresh) || noValueProvided || newData;\n var valuesDifferent = this.updateAndFormatValue();\n var dataNeedsUpdating = forceRefresh || valuesDifferent;\n if (dataNeedsUpdating) {\n // if it's 'new data', then we don't refresh the cellRenderer, even if refresh method is available.\n // this is because if the whole data is new (ie we are showing stock price 'BBA' now and not 'SSD')\n // then we are not showing a movement in the stock price, rather we are showing different stock.\n this.showValue(newData);\n // we don't want to flash the cells when processing a filter change, as otherwise the UI would\n // be to busy. see comment in FilterManager with regards processingFilterChange\n var processingFilterChange = this.beans.filterManager.isSuppressFlashingCellsBecauseFiltering();\n var flashCell = !suppressFlash && !processingFilterChange &&\n (this.beans.gridOptionsWrapper.isEnableCellChangeFlash() || colDef.enableCellChangeFlash);\n if (flashCell) {\n this.flashCell();\n }\n this.cellCustomStyleFeature.applyUserStyles();\n this.cellCustomStyleFeature.applyClassesFromColDef();\n }\n this.refreshToolTip();\n // we do cellClassRules even if the value has not changed, so that users who have rules that\n // look at other parts of the row (where the other part of the row might of changed) will work.\n this.cellCustomStyleFeature.applyCellClassRules();\n };\n // cell editors call this, when they want to stop for reasons other\n // than what we pick up on. eg selecting from a dropdown ends editing.\n CellCtrl.prototype.stopEditingAndFocus = function (suppressNavigateAfterEdit) {\n if (suppressNavigateAfterEdit === void 0) { suppressNavigateAfterEdit = false; }\n this.stopRowOrCellEdit();\n this.focusCell(true);\n if (!suppressNavigateAfterEdit) {\n this.navigateAfterEdit();\n }\n };\n CellCtrl.prototype.navigateAfterEdit = function () {\n var fullRowEdit = this.beans.gridOptionsWrapper.isFullRowEdit();\n if (fullRowEdit) {\n return;\n }\n var enterMovesDownAfterEdit = this.beans.gridOptionsWrapper.isEnterMovesDownAfterEdit();\n if (enterMovesDownAfterEdit) {\n this.beans.navigationService.navigateToNextCell(null, KeyCode.DOWN, this.getCellPosition(), false);\n }\n };\n // user can also call this via API\n CellCtrl.prototype.flashCell = function (delays) {\n var flashDelay = delays && delays.flashDelay;\n var fadeDelay = delays && delays.fadeDelay;\n this.animateCell('data-changed', flashDelay, fadeDelay);\n };\n CellCtrl.prototype.animateCell = function (cssName, flashDelay, fadeDelay) {\n var _this = this;\n var fullName = \"ag-cell-\" + cssName;\n var animationFullName = \"ag-cell-\" + cssName + \"-animation\";\n var gridOptionsWrapper = this.beans.gridOptionsWrapper;\n if (!flashDelay) {\n flashDelay = gridOptionsWrapper.getCellFlashDelay();\n }\n if (!exists(fadeDelay)) {\n fadeDelay = gridOptionsWrapper.getCellFadeDelay();\n }\n // we want to highlight the cells, without any animation\n this.cellComp.addOrRemoveCssClass(fullName, true);\n this.cellComp.addOrRemoveCssClass(animationFullName, false);\n // then once that is applied, we remove the highlight with animation\n window.setTimeout(function () {\n _this.cellComp.addOrRemoveCssClass(fullName, false);\n _this.cellComp.addOrRemoveCssClass(animationFullName, true);\n _this.eGui.style.transition = \"background-color \" + fadeDelay + \"ms\";\n window.setTimeout(function () {\n // and then to leave things as we got them, we remove the animation\n _this.cellComp.addOrRemoveCssClass(animationFullName, false);\n _this.eGui.style.transition = '';\n }, fadeDelay);\n }, flashDelay);\n };\n CellCtrl.prototype.onFlashCells = function (event) {\n if (!this.cellComp) {\n return;\n }\n var cellId = this.beans.cellPositionUtils.createId(this.getCellPosition());\n var shouldFlash = event.cells[cellId];\n if (shouldFlash) {\n this.animateCell('highlight');\n }\n };\n CellCtrl.prototype.isCellEditable = function () {\n return this.column.isCellEditable(this.rowNode);\n };\n CellCtrl.prototype.isSuppressFillHandle = function () {\n return this.column.isSuppressFillHandle();\n };\n CellCtrl.prototype.formatValue = function (value) {\n var res = this.callValueFormatter(value);\n return res != null ? res : value;\n };\n CellCtrl.prototype.callValueFormatter = function (value) {\n return this.beans.valueFormatterService.formatValue(this.column, this.rowNode, value);\n };\n CellCtrl.prototype.updateAndFormatValue = function (force) {\n if (force === void 0) { force = false; }\n var oldValue = this.value;\n var oldValueFormatted = this.valueFormatted;\n this.value = this.getValueFromValueService();\n this.valueFormatted = this.callValueFormatter(this.value);\n var valuesDifferent = force ? true :\n !this.valuesAreEqual(oldValue, this.value) || this.valueFormatted != oldValueFormatted;\n return valuesDifferent;\n };\n CellCtrl.prototype.valuesAreEqual = function (val1, val2) {\n // if the user provided an equals method, use that, otherwise do simple comparison\n var colDef = this.column.getColDef();\n return colDef.equals ? colDef.equals(val1, val2) : val1 === val2;\n };\n CellCtrl.prototype.getComp = function () {\n return this.cellComp;\n };\n CellCtrl.prototype.getValueFromValueService = function () {\n // if we don't check this, then the grid will render leaf groups as open even if we are not\n // allowing the user to open leaf groups. confused? remember for pivot mode we don't allow\n // opening leaf groups, so we have to force leafGroups to be closed in case the user expanded\n // them via the API, or user user expanded them in the UI before turning on pivot mode\n var lockedClosedGroup = this.rowNode.leafGroup && this.beans.columnModel.isPivotMode();\n var isOpenGroup = this.rowNode.group && this.rowNode.expanded && !this.rowNode.footer && !lockedClosedGroup;\n // are we showing group footers\n var groupFootersEnabled = this.beans.gridOptionsWrapper.isGroupIncludeFooter();\n // if doing footers, we normally don't show agg data at group level when group is open\n var groupAlwaysShowAggData = this.beans.gridOptionsWrapper.isGroupSuppressBlankHeader();\n // if doing grouping and footers, we don't want to include the agg value\n // in the header when the group is open\n var ignoreAggData = (isOpenGroup && groupFootersEnabled) && !groupAlwaysShowAggData;\n var value = this.beans.valueService.getValue(this.column, this.rowNode, false, ignoreAggData);\n return value;\n };\n CellCtrl.prototype.getValue = function () {\n return this.value;\n };\n CellCtrl.prototype.getValueFormatted = function () {\n return this.valueFormatted;\n };\n CellCtrl.prototype.addDomData = function () {\n var _this = this;\n var element = this.getGui();\n this.beans.gridOptionsWrapper.setDomData(element, CellCtrl.DOM_DATA_KEY_CELL_CTRL, this);\n this.addDestroyFunc(function () { return _this.beans.gridOptionsWrapper.setDomData(element, CellCtrl.DOM_DATA_KEY_CELL_CTRL, null); });\n };\n CellCtrl.prototype.createEvent = function (domEvent, eventType) {\n var event = {\n type: eventType,\n node: this.rowNode,\n data: this.rowNode.data,\n value: this.value,\n column: this.column,\n colDef: this.column.getColDef(),\n context: this.beans.gridOptionsWrapper.getContext(),\n api: this.beans.gridApi,\n columnApi: this.beans.columnApi,\n rowPinned: this.rowNode.rowPinned,\n event: domEvent,\n rowIndex: this.rowNode.rowIndex\n };\n return event;\n };\n CellCtrl.prototype.onKeyPress = function (event) {\n this.cellKeyboardListenerFeature.onKeyPress(event);\n };\n CellCtrl.prototype.onKeyDown = function (event) {\n this.cellKeyboardListenerFeature.onKeyDown(event);\n };\n CellCtrl.prototype.onMouseEvent = function (eventName, mouseEvent) {\n this.cellMouseListenerFeature.onMouseEvent(eventName, mouseEvent);\n };\n CellCtrl.prototype.getGui = function () {\n return this.eGui;\n };\n CellCtrl.prototype.refreshToolTip = function () {\n this.tooltipFeature.refreshToolTip();\n };\n CellCtrl.prototype.getColSpanningList = function () {\n return this.cellPositionFeature.getColSpanningList();\n };\n CellCtrl.prototype.onLeftChanged = function () {\n if (!this.cellComp) {\n return;\n }\n this.cellPositionFeature.onLeftChanged();\n };\n CellCtrl.prototype.onDisplayedColumnsChanged = function () {\n if (!this.eGui) {\n return;\n }\n this.setAriaColIndex();\n };\n CellCtrl.prototype.setAriaColIndex = function () {\n var colIdx = this.beans.columnModel.getAriaColumnIndex(this.column);\n setAriaColIndex(this.getGui(), colIdx); // for react, we don't use JSX, as it slowed down column moving\n };\n CellCtrl.prototype.isSuppressNavigable = function () {\n return this.column.isSuppressNavigable(this.rowNode);\n };\n CellCtrl.prototype.onWidthChanged = function () {\n return this.cellPositionFeature.onWidthChanged();\n };\n CellCtrl.prototype.getColumn = function () {\n return this.column;\n };\n CellCtrl.prototype.getRowNode = function () {\n return this.rowNode;\n };\n CellCtrl.prototype.getBeans = function () {\n return this.beans;\n };\n CellCtrl.prototype.isPrintLayout = function () {\n return this.printLayout;\n };\n CellCtrl.prototype.appendChild = function (htmlElement) {\n this.eGui.appendChild(htmlElement);\n };\n CellCtrl.prototype.refreshHandle = function () {\n if (this.editing) {\n return;\n }\n if (this.cellRangeFeature) {\n this.cellRangeFeature.refreshHandle();\n }\n };\n CellCtrl.prototype.getCellPosition = function () {\n return this.cellPosition;\n };\n CellCtrl.prototype.isEditing = function () {\n return this.editing;\n };\n // called by rowRenderer when user navigates via tab key\n CellCtrl.prototype.startRowOrCellEdit = function (key, charPress, event) {\n if (event === void 0) { event = null; }\n if (this.beans.gridOptionsWrapper.isFullRowEdit()) {\n this.rowCtrl.startRowEditing(key, charPress, this);\n }\n else {\n this.startEditing(key, charPress, true, event);\n }\n };\n CellCtrl.prototype.getRowCtrl = function () {\n return this.rowCtrl;\n };\n CellCtrl.prototype.getRowPosition = function () {\n return {\n rowIndex: this.cellPosition.rowIndex,\n rowPinned: this.cellPosition.rowPinned\n };\n };\n CellCtrl.prototype.updateRangeBordersIfRangeCount = function () {\n if (!this.cellComp) {\n return;\n }\n if (this.cellRangeFeature) {\n this.cellRangeFeature.updateRangeBordersIfRangeCount();\n }\n };\n CellCtrl.prototype.onRangeSelectionChanged = function () {\n if (!this.cellComp) {\n return;\n }\n if (this.cellRangeFeature) {\n this.cellRangeFeature.onRangeSelectionChanged();\n }\n };\n CellCtrl.prototype.isRangeSelectionEnabled = function () {\n return this.cellRangeFeature != null;\n };\n CellCtrl.prototype.focusCell = function (forceBrowserFocus) {\n if (forceBrowserFocus === void 0) { forceBrowserFocus = false; }\n this.beans.focusService.setFocusedCell(this.getCellPosition().rowIndex, this.column, this.rowNode.rowPinned, forceBrowserFocus);\n };\n CellCtrl.prototype.onRowIndexChanged = function () {\n // when index changes, this influences items that need the index, so we update the\n // grid cell so they are working off the new index.\n this.createCellPosition();\n // when the index of the row changes, ie means the cell may have lost or gained focus\n this.onCellFocused();\n // check range selection\n if (this.cellRangeFeature) {\n this.cellRangeFeature.onRangeSelectionChanged();\n }\n };\n CellCtrl.prototype.onFirstRightPinnedChanged = function () {\n if (!this.cellComp) {\n return;\n }\n var firstRightPinned = this.column.isFirstRightPinned();\n this.cellComp.addOrRemoveCssClass(CSS_CELL_FIRST_RIGHT_PINNED, firstRightPinned);\n };\n CellCtrl.prototype.onLastLeftPinnedChanged = function () {\n if (!this.cellComp) {\n return;\n }\n var lastLeftPinned = this.column.isLastLeftPinned();\n this.cellComp.addOrRemoveCssClass(CSS_CELL_LAST_LEFT_PINNED, lastLeftPinned);\n };\n CellCtrl.prototype.onCellFocused = function (event) {\n if (!this.cellComp || this.gow.isSuppressCellFocus()) {\n return;\n }\n var cellFocused = this.beans.focusService.isCellFocused(this.cellPosition);\n this.cellComp.addOrRemoveCssClass(CSS_CELL_FOCUS, cellFocused);\n // see if we need to force browser focus - this can happen if focus is programmatically set\n if (cellFocused && event && event.forceBrowserFocus) {\n var focusEl = this.cellComp.getFocusableElement();\n focusEl.focus();\n }\n // if another cell was focused, and we are editing, then stop editing\n var fullRowEdit = this.beans.gridOptionsWrapper.isFullRowEdit();\n if (!cellFocused && !fullRowEdit && this.editing) {\n this.stopRowOrCellEdit();\n }\n };\n CellCtrl.prototype.createCellPosition = function () {\n this.cellPosition = {\n rowIndex: this.rowNode.rowIndex,\n rowPinned: makeNull(this.rowNode.rowPinned),\n column: this.column\n };\n };\n // CSS Classes that only get applied once, they never change\n CellCtrl.prototype.applyStaticCssClasses = function () {\n this.cellComp.addOrRemoveCssClass(CSS_CELL, true);\n this.cellComp.addOrRemoveCssClass(CSS_CELL_NOT_INLINE_EDITING, true);\n // normal cells fill the height of the row. autoHeight cells have no height to let them\n // fit the height of content.\n var autoHeight = this.column.isAutoHeight() == true;\n this.cellComp.addOrRemoveCssClass(CSS_AUTO_HEIGHT, autoHeight);\n this.cellComp.addOrRemoveCssClass(CSS_NORMAL_HEIGHT, !autoHeight);\n };\n CellCtrl.prototype.onColumnHover = function () {\n if (!this.cellComp) {\n return;\n }\n if (!this.beans.gridOptionsWrapper.isColumnHoverHighlight()) {\n return;\n }\n var isHovered = this.beans.columnHoverService.isHovered(this.column);\n this.cellComp.addOrRemoveCssClass(CSS_COLUMN_HOVER, isHovered);\n };\n CellCtrl.prototype.onNewColumnsLoaded = function () {\n if (!this.cellComp) {\n return;\n }\n this.setWrapText();\n if (!this.editing) {\n this.refreshCell({ forceRefresh: true, suppressFlash: true });\n }\n };\n CellCtrl.prototype.setWrapText = function () {\n var value = this.column.getColDef().wrapText == true;\n this.cellComp.addOrRemoveCssClass(CSS_CELL_WRAP_TEXT, value);\n };\n CellCtrl.prototype.dispatchCellContextMenuEvent = function (event) {\n var colDef = this.column.getColDef();\n var cellContextMenuEvent = this.createEvent(event, Events.EVENT_CELL_CONTEXT_MENU);\n this.beans.eventService.dispatchEvent(cellContextMenuEvent);\n if (colDef.onCellContextMenu) {\n // to make the callback async, do in a timeout\n window.setTimeout(function () { return colDef.onCellContextMenu(cellContextMenuEvent); }, 0);\n }\n };\n CellCtrl.prototype.getCellRenderer = function () {\n return this.cellComp ? this.cellComp.getCellRenderer() : null;\n };\n CellCtrl.prototype.getCellEditor = function () {\n return this.cellComp ? this.cellComp.getCellEditor() : null;\n };\n CellCtrl.prototype.destroy = function () {\n _super.prototype.destroy.call(this);\n };\n CellCtrl.prototype.createSelectionCheckbox = function () {\n var cbSelectionComponent = new CheckboxSelectionComponent();\n this.beans.context.createBean(cbSelectionComponent);\n cbSelectionComponent.init({ rowNode: this.rowNode, column: this.column });\n // put the checkbox in before the value\n return cbSelectionComponent;\n };\n CellCtrl.prototype.createDndSource = function () {\n var dndSourceComp = new DndSourceComp(this.rowNode, this.column, this.beans, this.eGui);\n this.beans.context.createBean(dndSourceComp);\n return dndSourceComp;\n };\n CellCtrl.prototype.registerRowDragger = function (customElement, dragStartPixels, suppressVisibilityChange) {\n var _this = this;\n // if previously existed, then we are only updating\n if (this.customRowDragComp) {\n this.customRowDragComp.setDragElement(customElement, dragStartPixels);\n return;\n }\n var newComp = this.createRowDragComp(customElement, dragStartPixels, suppressVisibilityChange);\n if (newComp) {\n this.customRowDragComp = newComp;\n this.addDestroyFunc(function () { return _this.beans.context.destroyBean(newComp); });\n }\n };\n CellCtrl.prototype.createRowDragComp = function (customElement, dragStartPixels, suppressVisibilityChange) {\n var _this = this;\n var pagination = this.beans.gridOptionsWrapper.isPagination();\n var rowDragManaged = this.beans.gridOptionsWrapper.isRowDragManaged();\n var clientSideRowModelActive = this.beans.gridOptionsWrapper.isRowModelDefault();\n if (rowDragManaged) {\n // row dragging only available in default row model\n if (!clientSideRowModelActive) {\n doOnce(function () { return console.warn('AG Grid: managed row dragging is only allowed in the Client Side Row Model'); }, 'CellComp.addRowDragging');\n return;\n }\n if (pagination) {\n doOnce(function () { return console.warn('AG Grid: managed row dragging is not possible when doing pagination'); }, 'CellComp.addRowDragging');\n return;\n }\n }\n // otherwise (normal case) we are creating a RowDraggingComp for the first time\n var rowDragComp = new RowDragComp(function () { return _this.value; }, this.rowNode, this.column, customElement, dragStartPixels, suppressVisibilityChange);\n this.beans.context.createBean(rowDragComp);\n return rowDragComp;\n };\n CellCtrl.DOM_DATA_KEY_CELL_CTRL = 'cellCtrl';\n return CellCtrl;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$$ = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __read$8 = (undefined && undefined.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spread$6 = (undefined && undefined.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read$8(arguments[i]));\n return ar;\n};\nvar RowType;\n(function (RowType) {\n RowType[\"Normal\"] = \"Normal\";\n RowType[\"FullWidth\"] = \"FullWidth\";\n RowType[\"FullWidthLoading\"] = \"FullWidthLoading\";\n RowType[\"FullWidthGroup\"] = \"FullWidthGroup\";\n RowType[\"FullWidthDetail\"] = \"FullWidthDetail\";\n})(RowType || (RowType = {}));\nvar instanceIdSequence$2 = 0;\nvar RowCtrl = /** @class */ (function (_super) {\n __extends$$(RowCtrl, _super);\n function RowCtrl(rowNode, beans, animateIn, useAnimationFrameForCreate, printLayout) {\n var _this = _super.call(this) || this;\n _this.allRowGuis = [];\n _this.active = true;\n _this.centerCellCtrls = { list: [], map: {} };\n _this.leftCellCtrls = { list: [], map: {} };\n _this.rightCellCtrls = { list: [], map: {} };\n _this.lastMouseDownOnDragger = false;\n _this.updateColumnListsPending = false;\n _this.beans = beans;\n _this.rowNode = rowNode;\n _this.paginationPage = _this.beans.paginationProxy.getCurrentPage();\n _this.useAnimationFrameForCreate = useAnimationFrameForCreate;\n _this.printLayout = printLayout;\n _this.instanceId = rowNode.id + '-' + instanceIdSequence$2++;\n _this.setAnimateFlags(animateIn);\n _this.rowFocused = _this.beans.focusService.isRowFocused(_this.rowNode.rowIndex, _this.rowNode.rowPinned);\n _this.rowLevel = _this.beans.rowCssClassCalculator.calculateRowLevel(_this.rowNode);\n _this.setRowType();\n _this.addListeners();\n _this.setInitialRowTop();\n return _this;\n }\n RowCtrl.prototype.getBeans = function () {\n return this.beans;\n };\n RowCtrl.prototype.getInstanceId = function () {\n return this.instanceId;\n };\n RowCtrl.prototype.setComp = function (rowComp, element, containerType) {\n var gui = { rowComp: rowComp, element: element, containerType: containerType };\n this.allRowGuis.push(gui);\n if (containerType === exports.RowContainerType.LEFT) {\n this.leftGui = gui;\n }\n else if (containerType === exports.RowContainerType.RIGHT) {\n this.rightGui = gui;\n }\n else if (containerType === exports.RowContainerType.FULL_WIDTH) {\n this.fullWidthGui = gui;\n }\n else {\n this.centerGui = gui;\n }\n var allNormalPresent = this.leftGui != null && this.rightGui != null && this.centerGui != null;\n var fullWidthPresent = this.fullWidthGui != null;\n if (allNormalPresent || fullWidthPresent) {\n this.initialiseRowComps();\n }\n };\n RowCtrl.prototype.isCacheable = function () {\n return this.rowType === RowType.FullWidthDetail\n && this.beans.gridOptionsWrapper.isKeepDetailRows();\n };\n RowCtrl.prototype.setCached = function (cached) {\n var displayValue = cached ? 'none' : '';\n this.allRowGuis.forEach(function (rg) { return rg.element.style.display = displayValue; });\n };\n RowCtrl.prototype.initialiseRowComps = function () {\n var _this = this;\n var gow = this.beans.gridOptionsWrapper;\n this.onRowHeightChanged();\n this.updateRowIndexes();\n this.setFocusedClasses();\n this.setStylesFromGridOptions();\n if (gow.isRowSelection() && this.rowNode.selectable) {\n this.onRowSelected();\n }\n this.updateColumnLists(!this.useAnimationFrameForCreate);\n if (this.slideRowIn) {\n executeNextVMTurn(this.onTopChanged.bind(this));\n }\n if (this.fadeRowIn) {\n executeNextVMTurn(function () {\n _this.allRowGuis.forEach(function (gui) { return gui.rowComp.addOrRemoveCssClass('ag-opacity-zero', false); });\n });\n }\n var businessKey = this.getRowBusinessKey();\n var rowIdSanitised = escapeString(this.rowNode.id);\n var businessKeySanitised = escapeString(businessKey);\n this.allRowGuis.forEach(function (gui) {\n var comp = gui.rowComp;\n comp.setRole('row');\n var initialRowClasses = _this.getInitialRowClasses(gui.containerType);\n initialRowClasses.forEach(function (name) { return comp.addOrRemoveCssClass(name, true); });\n if (_this.rowNode.group) {\n setAriaExpanded(gui.element, _this.rowNode.expanded == true);\n }\n if (rowIdSanitised != null) {\n comp.setRowId(rowIdSanitised);\n }\n if (businessKeySanitised != null) {\n comp.setRowBusinessKey(businessKeySanitised);\n }\n if (_this.isFullWidth() && !_this.beans.gridOptionsWrapper.isSuppressCellFocus()) {\n comp.setTabIndex(-1);\n }\n // DOM DATA\n gow.setDomData(gui.element, RowCtrl.DOM_DATA_KEY_ROW_CTRL, _this);\n _this.addDestroyFunc(function () { return gow.setDomData(gui.element, RowCtrl.DOM_DATA_KEY_ROW_CTRL, null); });\n // adding hover functionality adds listener to this row, so we\n // do it lazily in an animation frame\n if (_this.useAnimationFrameForCreate) {\n _this.beans.animationFrameService.createTask(_this.addHoverFunctionality.bind(_this, gui.element), _this.rowNode.rowIndex, 'createTasksP2');\n }\n else {\n _this.addHoverFunctionality(gui.element);\n }\n if (_this.isFullWidth()) {\n _this.setupFullWidth(gui);\n }\n if (gow.isRowDragEntireRow()) {\n _this.addRowDraggerToRow(gui);\n }\n if (_this.useAnimationFrameForCreate) {\n // the height animation we only want active after the row is alive for 1 second.\n // this stops the row animation working when rows are initially crated. otherwise\n // auto-height rows get inserted into the dom and resized immediately, which gives\n // very bad UX (eg 10 rows get inserted, then all 10 expand, look particularly bad\n // when scrolling). so this makes sure when rows are shown for the first time, they\n // are resized immediately without animation.\n _this.beans.animationFrameService.addDestroyTask(function () {\n if (!_this.isAlive()) {\n return;\n }\n gui.rowComp.addOrRemoveCssClass('ag-after-created', true);\n });\n }\n });\n this.executeProcessRowPostCreateFunc();\n };\n RowCtrl.prototype.addRowDraggerToRow = function (gui) {\n var gow = this.beans.gridOptionsWrapper;\n if (gow.isEnableRangeSelection()) {\n doOnce(function () {\n console.warn('AG Grid: Setting `rowDragEntireRow: true` in the gridOptions doesn\\'t work with `enableRangeSelection: true`');\n }, 'rowDragAndRangeSelectionEnabled');\n return;\n }\n var rowDragComp = new RowDragComp(function () { return '1 row'; }, this.rowNode, undefined, gui.element, undefined, true);\n this.createManagedBean(rowDragComp, this.beans.context);\n };\n RowCtrl.prototype.setupFullWidth = function (gui) {\n var pinned = this.getPinnedForContainer(gui.containerType);\n var params = this.createFullWidthParams(gui.element, pinned);\n var masterDetailModuleLoaded = ModuleRegistry.isRegistered(exports.ModuleNames.MasterDetailModule);\n if (this.rowType == RowType.FullWidthDetail && !masterDetailModuleLoaded) {\n if (ModuleRegistry.isPackageBased()) {\n console.warn(\"AG Grid: cell renderer 'agDetailCellRenderer' (for master detail) not found. Can only be used with ag-grid-enterprise package.\");\n }\n else {\n console.warn(\"AG Grid: cell renderer 'agDetailCellRenderer' (for master detail) not found. Can only be used with AG Grid Enterprise Module \" + exports.ModuleNames.MasterDetailModule);\n }\n return;\n }\n var compDetails;\n switch (this.rowType) {\n case RowType.FullWidthDetail:\n compDetails = this.beans.userComponentFactory.getFullWidthDetailCellRendererDetails(params);\n break;\n case RowType.FullWidthGroup:\n compDetails = this.beans.userComponentFactory.getFullWidthGroupCellRendererDetails(params);\n break;\n case RowType.FullWidthLoading:\n compDetails = this.beans.userComponentFactory.getFullWidthLoadingCellRendererDetails(params);\n break;\n default:\n compDetails = this.beans.userComponentFactory.getFullWidthCellRendererDetails(params);\n break;\n }\n gui.rowComp.showFullWidth(compDetails);\n };\n RowCtrl.prototype.isPrintLayout = function () {\n return this.printLayout;\n };\n // use by autoWidthCalculator, as it clones the elements\n RowCtrl.prototype.getCellElement = function (column) {\n var cellCtrl = this.getCellCtrl(column);\n return cellCtrl ? cellCtrl.getGui() : null;\n };\n RowCtrl.prototype.executeProcessRowPostCreateFunc = function () {\n var func = this.beans.gridOptionsWrapper.getProcessRowPostCreateFunc();\n if (!func) {\n return;\n }\n var params = {\n eRow: this.centerGui ? this.centerGui.element : undefined,\n ePinnedLeftRow: this.leftGui ? this.leftGui.element : undefined,\n ePinnedRightRow: this.rightGui ? this.rightGui.element : undefined,\n node: this.rowNode,\n rowIndex: this.rowNode.rowIndex,\n addRenderedRowListener: this.addEventListener.bind(this),\n };\n func(params);\n };\n RowCtrl.prototype.setRowType = function () {\n var isStub = this.rowNode.stub;\n var isFullWidthCell = this.rowNode.isFullWidthCell();\n var isDetailCell = this.beans.doingMasterDetail && this.rowNode.detail;\n var pivotMode = this.beans.columnModel.isPivotMode();\n // we only use full width for groups, not footers. it wouldn't make sense to include footers if not looking\n // for totals. if users complain about this, then we should introduce a new property 'footerUseEntireRow'\n // so each can be set independently (as a customer complained about footers getting full width, hence\n // introducing this logic)\n var isGroupRow = !!this.rowNode.group && !this.rowNode.footer;\n var isFullWidthGroup = isGroupRow && this.beans.gridOptionsWrapper.isGroupUseEntireRow(pivotMode);\n if (isStub) {\n this.rowType = RowType.FullWidthLoading;\n }\n else if (isDetailCell) {\n this.rowType = RowType.FullWidthDetail;\n }\n else if (isFullWidthCell) {\n this.rowType = RowType.FullWidth;\n }\n else if (isFullWidthGroup) {\n this.rowType = RowType.FullWidthGroup;\n }\n else {\n this.rowType = RowType.Normal;\n }\n };\n RowCtrl.prototype.updateColumnLists = function (suppressAnimationFrame) {\n var _this = this;\n if (suppressAnimationFrame === void 0) { suppressAnimationFrame = false; }\n if (this.isFullWidth()) {\n return;\n }\n var noAnimation = suppressAnimationFrame\n || this.beans.gridOptionsWrapper.isSuppressAnimationFrame()\n || this.printLayout;\n if (noAnimation) {\n this.updateColumnListsImpl();\n return;\n }\n if (this.updateColumnListsPending) {\n return;\n }\n this.beans.animationFrameService.createTask(function () {\n if (!_this.active) {\n return;\n }\n _this.updateColumnListsImpl();\n }, this.rowNode.rowIndex, 'createTasksP1');\n this.updateColumnListsPending = true;\n };\n RowCtrl.prototype.createCellCtrls = function (prev, cols, pinned) {\n var _this = this;\n if (pinned === void 0) { pinned = null; }\n var res = {\n list: [],\n map: {}\n };\n var addCell = function (colInstanceId, cellCtrl) {\n res.list.push(cellCtrl);\n res.map[colInstanceId] = cellCtrl;\n };\n cols.forEach(function (col) {\n // we use instanceId's rather than colId as it's possible there is a Column with same Id,\n // but it's referring to a different column instance. Happens a lot with pivot, as pivot col id's are\n // reused eg pivot_0, pivot_1 etc\n var colInstanceId = col.getInstanceId();\n var cellCtrl = prev.map[colInstanceId];\n if (!cellCtrl) {\n cellCtrl = new CellCtrl(col, _this.rowNode, _this.beans, _this);\n }\n addCell(colInstanceId, cellCtrl);\n });\n prev.list.forEach(function (prevCellCtrl) {\n var cellInResult = res.map[prevCellCtrl.getColumn().getInstanceId()] != null;\n if (cellInResult) {\n return;\n }\n var keepCell = !_this.isCellEligibleToBeRemoved(prevCellCtrl, pinned);\n if (keepCell) {\n addCell(prevCellCtrl.getColumn().getInstanceId(), prevCellCtrl);\n return;\n }\n prevCellCtrl.destroy();\n });\n return res;\n };\n RowCtrl.prototype.updateColumnListsImpl = function () {\n var _this = this;\n this.updateColumnListsPending = false;\n var columnModel = this.beans.columnModel;\n if (this.printLayout) {\n this.centerCellCtrls = this.createCellCtrls(this.centerCellCtrls, columnModel.getAllDisplayedColumns());\n this.leftCellCtrls = { list: [], map: {} };\n this.rightCellCtrls = { list: [], map: {} };\n }\n else {\n var centerCols = columnModel.getViewportCenterColumnsForRow(this.rowNode);\n this.centerCellCtrls = this.createCellCtrls(this.centerCellCtrls, centerCols);\n var leftCols = columnModel.getDisplayedLeftColumnsForRow(this.rowNode);\n this.leftCellCtrls = this.createCellCtrls(this.leftCellCtrls, leftCols, Constants.PINNED_LEFT);\n var rightCols = columnModel.getDisplayedRightColumnsForRow(this.rowNode);\n this.rightCellCtrls = this.createCellCtrls(this.rightCellCtrls, rightCols, Constants.PINNED_RIGHT);\n }\n this.allRowGuis.forEach(function (item) {\n var cellControls = item.containerType === exports.RowContainerType.LEFT ? _this.leftCellCtrls :\n item.containerType === exports.RowContainerType.RIGHT ? _this.rightCellCtrls : _this.centerCellCtrls;\n item.rowComp.setCellCtrls(cellControls.list);\n });\n };\n RowCtrl.prototype.isCellEligibleToBeRemoved = function (cellCtrl, nextContainerPinned) {\n var REMOVE_CELL = true;\n var KEEP_CELL = false;\n // always remove the cell if it's not rendered or if it's in the wrong pinned location\n var column = cellCtrl.getColumn();\n if (column.getPinned() != nextContainerPinned) {\n return REMOVE_CELL;\n }\n // we want to try and keep editing and focused cells\n var editing = cellCtrl.isEditing();\n var focused = this.beans.focusService.isCellFocused(cellCtrl.getCellPosition());\n var mightWantToKeepCell = editing || focused;\n if (mightWantToKeepCell) {\n var column_1 = cellCtrl.getColumn();\n var displayedColumns = this.beans.columnModel.getAllDisplayedColumns();\n var cellStillDisplayed = displayedColumns.indexOf(column_1) >= 0;\n return cellStillDisplayed ? KEEP_CELL : REMOVE_CELL;\n }\n return REMOVE_CELL;\n };\n RowCtrl.prototype.setAnimateFlags = function (animateIn) {\n if (animateIn) {\n var oldRowTopExists = exists(this.rowNode.oldRowTop);\n // if the row had a previous position, we slide it in (animate row top)\n this.slideRowIn = oldRowTopExists;\n // if the row had no previous position, we fade it in (animate\n this.fadeRowIn = !oldRowTopExists;\n }\n else {\n this.slideRowIn = false;\n this.fadeRowIn = false;\n }\n };\n RowCtrl.prototype.isEditing = function () {\n return this.editingRow;\n };\n RowCtrl.prototype.stopRowEditing = function (cancel) {\n this.stopEditing(cancel);\n };\n RowCtrl.prototype.isFullWidth = function () {\n return this.rowType !== RowType.Normal;\n };\n RowCtrl.prototype.getRowType = function () {\n return this.rowType;\n };\n RowCtrl.prototype.refreshFullWidth = function () {\n var _this = this;\n // returns 'true' if refresh succeeded\n var tryRefresh = function (gui, pinned) {\n if (!gui) {\n return true;\n } // no refresh needed\n var cellRenderer = gui.rowComp.getFullWidthCellRenderer();\n // no cell renderer, either means comp not yet ready, or comp ready but now reference\n // to it (happens in react when comp is stateless). if comp not ready, we don't need to\n // refresh, however we don't know which one, so we refresh to cover the case where it's\n // react comp without reference so need to force a refresh\n if (!cellRenderer) {\n return false;\n }\n // no refresh method present, so can't refresh, hard refresh needed\n if (!cellRenderer.refresh) {\n return false;\n }\n var params = _this.createFullWidthParams(gui.element, pinned);\n var refreshSucceeded = cellRenderer.refresh(params);\n return refreshSucceeded;\n };\n var fullWidthSuccess = tryRefresh(this.fullWidthGui, null);\n var centerSuccess = tryRefresh(this.centerGui, null);\n var leftSuccess = tryRefresh(this.leftGui, Constants.PINNED_LEFT);\n var rightSuccess = tryRefresh(this.rightGui, Constants.PINNED_RIGHT);\n var allFullWidthRowsRefreshed = fullWidthSuccess && centerSuccess && leftSuccess && rightSuccess;\n return allFullWidthRowsRefreshed;\n };\n RowCtrl.prototype.addListeners = function () {\n this.addManagedListener(this.rowNode, RowNode.EVENT_HEIGHT_CHANGED, this.onRowHeightChanged.bind(this));\n this.addManagedListener(this.rowNode, RowNode.EVENT_ROW_SELECTED, this.onRowSelected.bind(this));\n this.addManagedListener(this.rowNode, RowNode.EVENT_ROW_INDEX_CHANGED, this.onRowIndexChanged.bind(this));\n this.addManagedListener(this.rowNode, RowNode.EVENT_TOP_CHANGED, this.onTopChanged.bind(this));\n this.addManagedListener(this.rowNode, RowNode.EVENT_EXPANDED_CHANGED, this.updateExpandedCss.bind(this));\n this.addManagedListener(this.rowNode, RowNode.EVENT_HAS_CHILDREN_CHANGED, this.updateExpandedCss.bind(this));\n this.addManagedListener(this.rowNode, RowNode.EVENT_DATA_CHANGED, this.onRowNodeDataChanged.bind(this));\n this.addManagedListener(this.rowNode, RowNode.EVENT_CELL_CHANGED, this.onRowNodeCellChanged.bind(this));\n this.addManagedListener(this.rowNode, RowNode.EVENT_HIGHLIGHT_CHANGED, this.onRowNodeHighlightChanged.bind(this));\n this.addManagedListener(this.rowNode, RowNode.EVENT_DRAGGING_CHANGED, this.onRowNodeDraggingChanged.bind(this));\n this.addManagedListener(this.rowNode, RowNode.EVENT_UI_LEVEL_CHANGED, this.onUiLevelChanged.bind(this));\n var eventService = this.beans.eventService;\n this.addManagedListener(eventService, Events.EVENT_PAGINATION_PIXEL_OFFSET_CHANGED, this.onPaginationPixelOffsetChanged.bind(this));\n this.addManagedListener(eventService, Events.EVENT_HEIGHT_SCALE_CHANGED, this.onTopChanged.bind(this));\n this.addManagedListener(eventService, Events.EVENT_DISPLAYED_COLUMNS_CHANGED, this.onDisplayedColumnsChanged.bind(this));\n this.addManagedListener(eventService, Events.EVENT_VIRTUAL_COLUMNS_CHANGED, this.onVirtualColumnsChanged.bind(this));\n this.addManagedListener(eventService, Events.EVENT_CELL_FOCUSED, this.onCellFocusChanged.bind(this));\n this.addManagedListener(eventService, Events.EVENT_PAGINATION_CHANGED, this.onPaginationChanged.bind(this));\n this.addManagedListener(eventService, Events.EVENT_MODEL_UPDATED, this.onModelUpdated.bind(this));\n this.addManagedListener(eventService, Events.EVENT_COLUMN_MOVED, this.onColumnMoved.bind(this));\n this.addListenersForCellComps();\n };\n RowCtrl.prototype.onColumnMoved = function () {\n this.updateColumnLists();\n };\n RowCtrl.prototype.addListenersForCellComps = function () {\n var _this = this;\n this.addManagedListener(this.rowNode, RowNode.EVENT_ROW_INDEX_CHANGED, function () {\n _this.getAllCellCtrls().forEach(function (cellCtrl) { return cellCtrl.onRowIndexChanged(); });\n });\n this.addManagedListener(this.rowNode, RowNode.EVENT_CELL_CHANGED, function (event) {\n _this.getAllCellCtrls().forEach(function (cellCtrl) { return cellCtrl.onCellChanged(event); });\n });\n };\n RowCtrl.prototype.onRowNodeDataChanged = function (event) {\n // if this is an update, we want to refresh, as this will allow the user to put in a transition\n // into the cellRenderer refresh method. otherwise this might be completely new data, in which case\n // we will want to completely replace the cells\n this.getAllCellCtrls().forEach(function (cellCtrl) {\n return cellCtrl.refreshCell({\n suppressFlash: !event.update,\n newData: !event.update\n });\n });\n // check for selected also, as this could be after lazy loading of the row data, in which case\n // the id might of just gotten set inside the row and the row selected state may of changed\n // as a result. this is what happens when selected rows are loaded in virtual pagination.\n // - niall note - since moving to the stub component, this may no longer be true, as replacing\n // the stub component now replaces the entire row\n this.onRowSelected();\n // as data has changed, then the style and class needs to be recomputed\n this.postProcessCss();\n };\n RowCtrl.prototype.onRowNodeCellChanged = function () {\n // as data has changed, then the style and class needs to be recomputed\n this.postProcessCss();\n };\n RowCtrl.prototype.postProcessCss = function () {\n this.setStylesFromGridOptions();\n this.postProcessClassesFromGridOptions();\n this.postProcessRowClassRules();\n this.postProcessRowDragging();\n };\n RowCtrl.prototype.onRowNodeHighlightChanged = function () {\n var highlighted = this.rowNode.highlighted;\n this.allRowGuis.forEach(function (gui) {\n var aboveOn = highlighted === exports.RowHighlightPosition.Above;\n var belowOn = highlighted === exports.RowHighlightPosition.Below;\n gui.rowComp.addOrRemoveCssClass('ag-row-highlight-above', aboveOn);\n gui.rowComp.addOrRemoveCssClass('ag-row-highlight-below', belowOn);\n });\n };\n RowCtrl.prototype.onRowNodeDraggingChanged = function () {\n this.postProcessRowDragging();\n };\n RowCtrl.prototype.postProcessRowDragging = function () {\n var dragging = this.rowNode.dragging;\n this.allRowGuis.forEach(function (gui) { return gui.rowComp.addOrRemoveCssClass('ag-row-dragging', dragging); });\n };\n RowCtrl.prototype.updateExpandedCss = function () {\n var expandable = this.rowNode.isExpandable();\n var expanded = this.rowNode.expanded == true;\n this.allRowGuis.forEach(function (gui) {\n gui.rowComp.addOrRemoveCssClass('ag-row-group', expandable);\n gui.rowComp.addOrRemoveCssClass('ag-row-group-expanded', expandable && expanded);\n gui.rowComp.addOrRemoveCssClass('ag-row-group-contracted', expandable && !expanded);\n setAriaExpanded(gui.element, expandable && expanded);\n });\n };\n RowCtrl.prototype.onDisplayedColumnsChanged = function () {\n // we skip animations for onDisplayedColumnChanged, as otherwise the client could remove columns and\n // then set data, and any old valueGetter's (ie from cols that were removed) would still get called.\n this.updateColumnLists(true);\n if (this.beans.columnModel.wasAutoRowHeightEverActive()) {\n this.rowNode.checkAutoHeights();\n }\n };\n RowCtrl.prototype.onVirtualColumnsChanged = function () {\n this.updateColumnLists();\n };\n RowCtrl.prototype.getRowPosition = function () {\n return {\n rowPinned: makeNull(this.rowNode.rowPinned),\n rowIndex: this.rowNode.rowIndex\n };\n };\n RowCtrl.prototype.onKeyboardNavigate = function (keyboardEvent) {\n var currentFullWidthComp = this.allRowGuis.find(function (c) { return c.element.contains(keyboardEvent.target); });\n var currentFullWidthContainer = currentFullWidthComp ? currentFullWidthComp.element : null;\n var isFullWidthContainerFocused = currentFullWidthContainer === keyboardEvent.target;\n if (!isFullWidthContainerFocused) {\n return;\n }\n var node = this.rowNode;\n var lastFocusedCell = this.beans.focusService.getFocusedCell();\n var cellPosition = {\n rowIndex: node.rowIndex,\n rowPinned: node.rowPinned,\n column: (lastFocusedCell && lastFocusedCell.column)\n };\n this.beans.navigationService.navigateToNextCell(keyboardEvent, keyboardEvent.key, cellPosition, true);\n keyboardEvent.preventDefault();\n };\n RowCtrl.prototype.onTabKeyDown = function (keyboardEvent) {\n if (keyboardEvent.defaultPrevented || isStopPropagationForAgGrid(keyboardEvent)) {\n return;\n }\n var currentFullWidthComp = this.allRowGuis.find(function (c) { return c.element.contains(keyboardEvent.target); });\n var currentFullWidthContainer = currentFullWidthComp ? currentFullWidthComp.element : null;\n var isFullWidthContainerFocused = currentFullWidthContainer === keyboardEvent.target;\n var nextEl = null;\n if (!isFullWidthContainerFocused) {\n nextEl = this.beans.focusService.findNextFocusableElement(currentFullWidthContainer, false, keyboardEvent.shiftKey);\n }\n if ((this.isFullWidth() && isFullWidthContainerFocused) || !nextEl) {\n this.beans.navigationService.onTabKeyDown(this, keyboardEvent);\n }\n };\n RowCtrl.prototype.onFullWidthRowFocused = function (event) {\n var _a;\n var node = this.rowNode;\n var isFocused = this.isFullWidth() && event.rowIndex === node.rowIndex && event.rowPinned == node.rowPinned;\n var element = this.fullWidthGui ? this.fullWidthGui.element : (_a = this.centerGui) === null || _a === void 0 ? void 0 : _a.element;\n if (!element) {\n return;\n } // can happen with react ui, comp not yet ready\n element.classList.toggle('ag-full-width-focus', isFocused);\n if (isFocused) {\n // we don't scroll normal rows into view when we focus them, so we don't want\n // to scroll Full Width rows either.\n element.focus({ preventScroll: true });\n }\n };\n RowCtrl.prototype.refreshCell = function (cellCtrl) {\n this.centerCellCtrls = this.removeCellCtrl(this.centerCellCtrls, cellCtrl);\n this.leftCellCtrls = this.removeCellCtrl(this.leftCellCtrls, cellCtrl);\n this.rightCellCtrls = this.removeCellCtrl(this.rightCellCtrls, cellCtrl);\n this.updateColumnLists();\n };\n RowCtrl.prototype.removeCellCtrl = function (prev, cellCtrlToRemove) {\n var res = {\n list: [],\n map: {}\n };\n prev.list.forEach(function (cellCtrl) {\n if (cellCtrl === cellCtrlToRemove) {\n return;\n }\n res.list.push(cellCtrl);\n res.map[cellCtrl.getInstanceId()] = cellCtrl;\n });\n return res;\n };\n RowCtrl.prototype.onMouseEvent = function (eventName, mouseEvent) {\n switch (eventName) {\n case 'dblclick':\n this.onRowDblClick(mouseEvent);\n break;\n case 'click':\n this.onRowClick(mouseEvent);\n break;\n case 'touchstart':\n case 'mousedown':\n this.onRowMouseDown(mouseEvent);\n break;\n }\n };\n RowCtrl.prototype.createRowEvent = function (type, domEvent) {\n return {\n type: type,\n node: this.rowNode,\n data: this.rowNode.data,\n rowIndex: this.rowNode.rowIndex,\n rowPinned: this.rowNode.rowPinned,\n context: this.beans.gridOptionsWrapper.getContext(),\n api: this.beans.gridOptionsWrapper.getApi(),\n columnApi: this.beans.gridOptionsWrapper.getColumnApi(),\n event: domEvent\n };\n };\n RowCtrl.prototype.createRowEventWithSource = function (type, domEvent) {\n var event = this.createRowEvent(type, domEvent);\n // when first developing this, we included the rowComp in the event.\n // this seems very weird. so when introducing the event types, i left the 'source'\n // out of the type, and just include the source in the two places where this event\n // was fired (rowClicked and rowDoubleClicked). it doesn't make sense for any\n // users to be using this, as the rowComp isn't an object we expose, so would be\n // very surprising if a user was using it.\n event.source = this;\n return event;\n };\n RowCtrl.prototype.onRowDblClick = function (mouseEvent) {\n if (isStopPropagationForAgGrid(mouseEvent)) {\n return;\n }\n var agEvent = this.createRowEventWithSource(Events.EVENT_ROW_DOUBLE_CLICKED, mouseEvent);\n this.beans.eventService.dispatchEvent(agEvent);\n };\n RowCtrl.prototype.onRowMouseDown = function (mouseEvent) {\n this.lastMouseDownOnDragger = isElementChildOfClass(mouseEvent.target, 'ag-row-drag', 3);\n if (!this.isFullWidth()) {\n return;\n }\n var node = this.rowNode;\n var columnModel = this.beans.columnModel;\n this.beans.focusService.setFocusedCell(node.rowIndex, columnModel.getAllDisplayedColumns()[0], node.rowPinned, true);\n };\n RowCtrl.prototype.onRowClick = function (mouseEvent) {\n var stop = isStopPropagationForAgGrid(mouseEvent) || this.lastMouseDownOnDragger;\n if (stop) {\n return;\n }\n var agEvent = this.createRowEventWithSource(Events.EVENT_ROW_CLICKED, mouseEvent);\n this.beans.eventService.dispatchEvent(agEvent);\n // ctrlKey for windows, metaKey for Apple\n var multiSelectKeyPressed = mouseEvent.ctrlKey || mouseEvent.metaKey;\n var shiftKeyPressed = mouseEvent.shiftKey;\n // we do not allow selecting the group by clicking, when groupSelectChildren, as the logic to\n // handle this is broken. to observe, change the logic below and allow groups to be selected.\n // you will see the group gets selected, then all children get selected, then the grid unselects\n // the children (as the default behaviour when clicking is to unselect other rows) which results\n // in the group getting unselected (as all children are unselected). the correct thing would be\n // to change this, so that children of the selected group are not then subsequenly un-selected.\n var groupSelectsChildren = this.beans.gridOptionsWrapper.isGroupSelectsChildren();\n if (\n // we do not allow selecting groups by clicking (as the click here expands the group), or if it's a detail row,\n // so return if it's a group row\n (groupSelectsChildren && this.rowNode.group) ||\n // this is needed so we don't unselect other rows when we click this row, eg if this row is not selectable,\n // and we click it, the selection should not change (ie any currently selected row should stay selected)\n !this.rowNode.selectable ||\n // we also don't allow selection of pinned rows\n this.rowNode.rowPinned ||\n // if no selection method enabled, do nothing\n !this.beans.gridOptionsWrapper.isRowSelection() ||\n // if click selection suppressed, do nothing\n this.beans.gridOptionsWrapper.isSuppressRowClickSelection()) {\n return;\n }\n var multiSelectOnClick = this.beans.gridOptionsWrapper.isRowMultiSelectWithClick();\n var rowDeselectionWithCtrl = !this.beans.gridOptionsWrapper.isSuppressRowDeselection();\n if (this.rowNode.isSelected()) {\n if (multiSelectOnClick) {\n this.rowNode.setSelectedParams({ newValue: false });\n }\n else if (multiSelectKeyPressed) {\n if (rowDeselectionWithCtrl) {\n this.rowNode.setSelectedParams({ newValue: false });\n }\n }\n else {\n // selected with no multi key, must make sure anything else is unselected\n this.rowNode.setSelectedParams({ newValue: true, clearSelection: !shiftKeyPressed, rangeSelect: shiftKeyPressed });\n }\n }\n else {\n var clearSelection = multiSelectOnClick ? false : !multiSelectKeyPressed;\n this.rowNode.setSelectedParams({ newValue: true, clearSelection: clearSelection, rangeSelect: shiftKeyPressed });\n }\n };\n RowCtrl.prototype.setupDetailRowAutoHeight = function (eDetailGui) {\n var _this = this;\n if (this.rowType !== RowType.FullWidthDetail) {\n return;\n }\n if (!this.beans.gridOptionsWrapper.isDetailRowAutoHeight()) {\n return;\n }\n var checkRowSizeFunc = function () {\n var clientHeight = eDetailGui.clientHeight;\n // if the UI is not ready, the height can be 0, which we ignore, as otherwise a flicker will occur\n // as UI goes from the default height, to 0, then to the real height as UI becomes ready. this means\n // it's not possible for have 0 as auto-height, however this is an improbable use case, as even an\n // empty detail grid would still have some styling around it giving at least a few pixels.\n if (clientHeight != null && clientHeight > 0) {\n // we do the update in a timeout, to make sure we are not calling from inside the grid\n // doing another update\n var updateRowHeightFunc = function () {\n _this.rowNode.setRowHeight(clientHeight);\n if (_this.beans.clientSideRowModel) {\n _this.beans.clientSideRowModel.onRowHeightChanged();\n }\n else if (_this.beans.serverSideRowModel) {\n _this.beans.serverSideRowModel.onRowHeightChanged();\n }\n };\n _this.beans.frameworkOverrides.setTimeout(updateRowHeightFunc, 0);\n }\n };\n var resizeObserverDestroyFunc = this.beans.resizeObserverService.observeResize(eDetailGui, checkRowSizeFunc);\n this.addDestroyFunc(resizeObserverDestroyFunc);\n checkRowSizeFunc();\n };\n RowCtrl.prototype.createFullWidthParams = function (eRow, pinned) {\n var _this = this;\n var params = {\n fullWidth: true,\n data: this.rowNode.data,\n node: this.rowNode,\n value: this.rowNode.key,\n valueFormatted: this.rowNode.key,\n rowIndex: this.rowNode.rowIndex,\n api: this.beans.gridOptionsWrapper.getApi(),\n columnApi: this.beans.gridOptionsWrapper.getColumnApi(),\n context: this.beans.gridOptionsWrapper.getContext(),\n // these need to be taken out, as part of 'afterAttached' now\n eGridCell: eRow,\n eParentOfValue: eRow,\n pinned: pinned,\n addRenderedRowListener: this.addEventListener.bind(this),\n registerRowDragger: function (rowDraggerElement, dragStartPixels, value, suppressVisibilityChange) { return _this.addFullWidthRowDragging(rowDraggerElement, dragStartPixels, value, suppressVisibilityChange); }\n };\n return params;\n };\n RowCtrl.prototype.addFullWidthRowDragging = function (rowDraggerElement, dragStartPixels, value, suppressVisibilityChange) {\n if (value === void 0) { value = ''; }\n if (!this.isFullWidth()) {\n return;\n }\n var rowDragComp = new RowDragComp(function () { return value; }, this.rowNode, undefined, rowDraggerElement, dragStartPixels, suppressVisibilityChange);\n this.createManagedBean(rowDragComp, this.beans.context);\n };\n RowCtrl.prototype.onUiLevelChanged = function () {\n var newLevel = this.beans.rowCssClassCalculator.calculateRowLevel(this.rowNode);\n if (this.rowLevel != newLevel) {\n var classToAdd_1 = 'ag-row-level-' + newLevel;\n var classToRemove_1 = 'ag-row-level-' + this.rowLevel;\n this.allRowGuis.forEach(function (gui) {\n gui.rowComp.addOrRemoveCssClass(classToAdd_1, true);\n gui.rowComp.addOrRemoveCssClass(classToRemove_1, false);\n });\n }\n this.rowLevel = newLevel;\n };\n RowCtrl.prototype.isFirstRowOnPage = function () {\n return this.rowNode.rowIndex === this.beans.paginationProxy.getPageFirstRow();\n };\n RowCtrl.prototype.isLastRowOnPage = function () {\n return this.rowNode.rowIndex === this.beans.paginationProxy.getPageLastRow();\n };\n RowCtrl.prototype.onModelUpdated = function () {\n this.refreshFirstAndLastRowStyles();\n };\n RowCtrl.prototype.refreshFirstAndLastRowStyles = function () {\n var newFirst = this.isFirstRowOnPage();\n var newLast = this.isLastRowOnPage();\n if (this.firstRowOnPage !== newFirst) {\n this.firstRowOnPage = newFirst;\n this.allRowGuis.forEach(function (gui) { return gui.rowComp.addOrRemoveCssClass('ag-row-first', newFirst); });\n }\n if (this.lastRowOnPage !== newLast) {\n this.lastRowOnPage = newLast;\n this.allRowGuis.forEach(function (gui) { return gui.rowComp.addOrRemoveCssClass('ag-row-last', newLast); });\n }\n };\n RowCtrl.prototype.stopEditing = function (cancel) {\n if (cancel === void 0) { cancel = false; }\n var cellEdits = this.getAllCellCtrls().map(function (cellCtrl) { return cellCtrl.stopEditing(cancel); });\n if (!this.editingRow) {\n return;\n }\n if (!cancel && cellEdits.some(function (edit) { return edit; })) {\n var event_1 = this.createRowEvent(Events.EVENT_ROW_VALUE_CHANGED);\n this.beans.eventService.dispatchEvent(event_1);\n }\n this.setEditingRow(false);\n };\n RowCtrl.prototype.setInlineEditingCss = function (editing) {\n this.allRowGuis.forEach(function (gui) {\n gui.rowComp.addOrRemoveCssClass(\"ag-row-inline-editing\", editing);\n gui.rowComp.addOrRemoveCssClass(\"ag-row-not-inline-editing\", !editing);\n });\n };\n RowCtrl.prototype.setEditingRow = function (value) {\n this.editingRow = value;\n this.allRowGuis.forEach(function (gui) { return gui.rowComp.addOrRemoveCssClass('ag-row-editing', value); });\n var event = value ?\n this.createRowEvent(Events.EVENT_ROW_EDITING_STARTED)\n : this.createRowEvent(Events.EVENT_ROW_EDITING_STOPPED);\n this.beans.eventService.dispatchEvent(event);\n };\n RowCtrl.prototype.startRowEditing = function (key, charPress, sourceRenderedCell, event) {\n if (key === void 0) { key = null; }\n if (charPress === void 0) { charPress = null; }\n if (sourceRenderedCell === void 0) { sourceRenderedCell = null; }\n if (event === void 0) { event = null; }\n // don't do it if already editing\n if (this.editingRow) {\n return;\n }\n this.getAllCellCtrls().forEach(function (cellCtrl) {\n var cellStartedEdit = cellCtrl === sourceRenderedCell;\n if (cellStartedEdit) {\n cellCtrl.startEditing(key, charPress, cellStartedEdit, event);\n }\n else {\n cellCtrl.startEditing(null, null, cellStartedEdit, event);\n }\n });\n this.setEditingRow(true);\n };\n RowCtrl.prototype.getAllCellCtrls = function () {\n var res = __spread$6(this.centerCellCtrls.list, this.leftCellCtrls.list, this.rightCellCtrls.list);\n return res;\n };\n RowCtrl.prototype.postProcessClassesFromGridOptions = function () {\n var _this = this;\n var cssClasses = this.beans.rowCssClassCalculator.processClassesFromGridOptions(this.rowNode);\n if (!cssClasses || !cssClasses.length) {\n return;\n }\n cssClasses.forEach(function (classStr) {\n _this.allRowGuis.forEach(function (c) { return c.rowComp.addOrRemoveCssClass(classStr, true); });\n });\n };\n RowCtrl.prototype.postProcessRowClassRules = function () {\n var _this = this;\n this.beans.rowCssClassCalculator.processRowClassRules(this.rowNode, function (className) {\n _this.allRowGuis.forEach(function (gui) { return gui.rowComp.addOrRemoveCssClass(className, true); });\n }, function (className) {\n _this.allRowGuis.forEach(function (gui) { return gui.rowComp.addOrRemoveCssClass(className, false); });\n });\n };\n RowCtrl.prototype.setStylesFromGridOptions = function () {\n var rowStyles = this.processStylesFromGridOptions();\n this.allRowGuis.forEach(function (gui) { return gui.rowComp.setUserStyles(rowStyles); });\n };\n RowCtrl.prototype.getRowBusinessKey = function () {\n var businessKeyForNodeFunc = this.beans.gridOptionsWrapper.getBusinessKeyForNodeFunc();\n if (typeof businessKeyForNodeFunc !== 'function') {\n return;\n }\n return businessKeyForNodeFunc(this.rowNode);\n };\n RowCtrl.prototype.getPinnedForContainer = function (rowContainerType) {\n var pinned = rowContainerType === exports.RowContainerType.LEFT ? Constants.PINNED_LEFT :\n rowContainerType === exports.RowContainerType.RIGHT ? Constants.PINNED_RIGHT : null;\n return pinned;\n };\n RowCtrl.prototype.getInitialRowClasses = function (rowContainerType) {\n var pinned = this.getPinnedForContainer(rowContainerType);\n var params = {\n rowNode: this.rowNode,\n rowFocused: this.rowFocused,\n fadeRowIn: this.fadeRowIn,\n rowIsEven: this.rowNode.rowIndex % 2 === 0,\n rowLevel: this.rowLevel,\n fullWidthRow: this.isFullWidth(),\n firstRowOnPage: this.isFirstRowOnPage(),\n lastRowOnPage: this.isLastRowOnPage(),\n printLayout: this.printLayout,\n expandable: this.rowNode.isExpandable(),\n pinned: pinned\n };\n return this.beans.rowCssClassCalculator.getInitialRowClasses(params);\n };\n RowCtrl.prototype.processStylesFromGridOptions = function () {\n // part 1 - rowStyle\n var rowStyle = this.beans.gridOptionsWrapper.getRowStyle();\n if (rowStyle && typeof rowStyle === 'function') {\n console.warn('AG Grid: rowStyle should be an object of key/value styles, not be a function, use getRowStyle() instead');\n return;\n }\n // part 1 - rowStyleFunc\n var rowStyleFunc = this.beans.gridOptionsWrapper.getRowStyleFunc();\n var rowStyleFuncResult;\n if (rowStyleFunc) {\n var params = {\n data: this.rowNode.data,\n node: this.rowNode,\n rowIndex: this.rowNode.rowIndex\n };\n rowStyleFuncResult = rowStyleFunc(params);\n }\n return Object.assign({}, rowStyle, rowStyleFuncResult);\n };\n RowCtrl.prototype.onRowSelected = function () {\n var _this = this;\n // Treat undefined as false, if we pass undefined down it gets treated as toggle class, rather than explicitly\n // setting the required value\n var selected = !!this.rowNode.isSelected();\n this.allRowGuis.forEach(function (gui) {\n gui.rowComp.addOrRemoveCssClass('ag-row-selected', selected);\n setAriaSelected(gui.element, selected ? true : undefined);\n var ariaLabel = _this.createAriaLabel();\n setAriaLabel(gui.element, ariaLabel == null ? '' : ariaLabel);\n });\n };\n RowCtrl.prototype.createAriaLabel = function () {\n var selected = this.rowNode.isSelected();\n if (selected && this.beans.gridOptionsWrapper.isSuppressRowDeselection()) {\n return undefined;\n }\n var translate = this.beans.gridOptionsWrapper.getLocaleTextFunc();\n var label = translate(selected ? 'ariaRowDeselect' : 'ariaRowSelect', \"Press SPACE to \" + (selected ? 'deselect' : 'select') + \" this row.\");\n return label;\n };\n RowCtrl.prototype.isUseAnimationFrameForCreate = function () {\n return this.useAnimationFrameForCreate;\n };\n RowCtrl.prototype.addHoverFunctionality = function (eRow) {\n var _this = this;\n // because we use animation frames to do this, it's possible the row no longer exists\n // by the time we get to add it\n if (!this.active) {\n return;\n }\n // because mouseenter and mouseleave do not propagate, we cannot listen on the gridPanel\n // like we do for all the other mouse events.\n // because of the pinning, we cannot simply add / remove the class based on the eRow. we\n // have to check all eRow's (body & pinned). so the trick is if any of the rows gets a\n // mouse hover, it sets such in the rowNode, and then all three reflect the change as\n // all are listening for event on the row node.\n // step 1 - add listener, to set flag on row node\n this.addManagedListener(eRow, 'mouseenter', function () { return _this.rowNode.onMouseEnter(); });\n this.addManagedListener(eRow, 'mouseleave', function () { return _this.rowNode.onMouseLeave(); });\n // step 2 - listen for changes on row node (which any eRow can trigger)\n this.addManagedListener(this.rowNode, RowNode.EVENT_MOUSE_ENTER, function () {\n // if hover turned off, we don't add the class. we do this here so that if the application\n // toggles this property mid way, we remove the hover form the last row, but we stop\n // adding hovers from that point onwards.\n if (!_this.beans.gridOptionsWrapper.isSuppressRowHoverHighlight()) {\n eRow.classList.add('ag-row-hover');\n }\n });\n this.addManagedListener(this.rowNode, RowNode.EVENT_MOUSE_LEAVE, function () {\n eRow.classList.remove('ag-row-hover');\n });\n };\n // for animation, we don't want to animate entry or exit to a very far away pixel,\n // otherwise the row would move so fast, it would appear to disappear. so this method\n // moves the row closer to the viewport if it is far away, so the row slide in / out\n // at a speed the user can see.\n RowCtrl.prototype.roundRowTopToBounds = function (rowTop) {\n var gridBodyCon = this.beans.ctrlsService.getGridBodyCtrl();\n var range = gridBodyCon.getScrollFeature().getVScrollPosition();\n var minPixel = this.applyPaginationOffset(range.top, true) - 100;\n var maxPixel = this.applyPaginationOffset(range.bottom, true) + 100;\n return Math.min(Math.max(minPixel, rowTop), maxPixel);\n };\n RowCtrl.prototype.getFrameworkOverrides = function () {\n return this.beans.frameworkOverrides;\n };\n RowCtrl.prototype.onRowHeightChanged = function () {\n // check for exists first - if the user is resetting the row height, then\n // it will be null (or undefined) momentarily until the next time the flatten\n // stage is called where the row will then update again with a new height\n if (this.rowNode.rowHeight == null) {\n return;\n }\n var rowHeight = this.rowNode.rowHeight;\n var defaultRowHeight = this.beans.gridOptionsWrapper.getDefaultRowHeight();\n var isHeightFromFunc = this.beans.gridOptionsWrapper.isGetRowHeightFunction();\n var heightFromFunc = isHeightFromFunc ? this.beans.gridOptionsWrapper.getRowHeightForNode(this.rowNode).height : undefined;\n var lineHeight = heightFromFunc ? Math.min(defaultRowHeight, heightFromFunc) - 2 + \"px\" : undefined;\n this.allRowGuis.forEach(function (gui) {\n gui.element.style.height = rowHeight + \"px\";\n // If the row height is coming from a function, this means some rows can\n // be smaller than the theme had intended. so we set --ag-line-height on\n // the row, which is picked up by the theme CSS and is used in a calc\n // for the CSS line-height property, which makes sure the line-height is\n // not bigger than the row height, otherwise the row text would not fit.\n // We do not use rowNode.rowHeight here, as this could be the result of autoHeight,\n // and we found using the autoHeight result causes a loop, where changing the\n // line-height them impacts the cell height, resulting in a new autoHeight,\n // resulting in a new line-height and so on loop. \n // const heightFromFunc = this.beans.gridOptionsWrapper.getRowHeightForNode(this.rowNode).height;\n if (lineHeight) {\n gui.element.style.setProperty('--ag-line-height', lineHeight);\n }\n });\n };\n RowCtrl.prototype.addEventListener = function (eventType, listener) {\n if (eventType === 'renderedRowRemoved' || eventType === 'rowRemoved') {\n eventType = Events.EVENT_VIRTUAL_ROW_REMOVED;\n console.warn('AG Grid: Since version 11, event renderedRowRemoved is now called ' + Events.EVENT_VIRTUAL_ROW_REMOVED);\n }\n _super.prototype.addEventListener.call(this, eventType, listener);\n };\n RowCtrl.prototype.removeEventListener = function (eventType, listener) {\n if (eventType === 'renderedRowRemoved' || eventType === 'rowRemoved') {\n eventType = Events.EVENT_VIRTUAL_ROW_REMOVED;\n console.warn('AG Grid: Since version 11, event renderedRowRemoved and rowRemoved is now called ' + Events.EVENT_VIRTUAL_ROW_REMOVED);\n }\n _super.prototype.removeEventListener.call(this, eventType, listener);\n };\n // note - this is NOT called by context, as we don't wire / unwire the CellComp for performance reasons.\n RowCtrl.prototype.destroyFirstPass = function () {\n this.active = false;\n // why do we have this method? shouldn't everything below be added as a destroy func beside\n // the corresponding create logic?\n this.setupRemoveAnimation();\n var event = this.createRowEvent(Events.EVENT_VIRTUAL_ROW_REMOVED);\n this.dispatchEvent(event);\n this.beans.eventService.dispatchEvent(event);\n _super.prototype.destroy.call(this);\n };\n RowCtrl.prototype.setupRemoveAnimation = function () {\n var rowStillVisibleJustNotInViewport = this.rowNode.rowTop != null;\n if (rowStillVisibleJustNotInViewport) {\n // if the row is not rendered, but in viewport, it means it has moved,\n // so we animate the row out. if the new location is very far away,\n // the animation will be so fast the row will look like it's just disappeared,\n // so instead we animate to a position just outside the viewport.\n var rowTop = this.roundRowTopToBounds(this.rowNode.rowTop);\n this.setRowTop(rowTop);\n }\n else {\n this.allRowGuis.forEach(function (gui) { return gui.rowComp.addOrRemoveCssClass('ag-opacity-zero', true); });\n }\n };\n RowCtrl.prototype.destroySecondPass = function () {\n this.allRowGuis.length = 0;\n var destroyCellCtrls = function (ctrls) {\n ctrls.list.forEach(function (c) { return c.destroy(); });\n return { list: [], map: {} };\n };\n this.centerCellCtrls = destroyCellCtrls(this.centerCellCtrls);\n this.leftCellCtrls = destroyCellCtrls(this.leftCellCtrls);\n this.rightCellCtrls = destroyCellCtrls(this.rightCellCtrls);\n };\n RowCtrl.prototype.setFocusedClasses = function () {\n var _this = this;\n this.allRowGuis.forEach(function (gui) {\n gui.rowComp.addOrRemoveCssClass('ag-row-focus', _this.rowFocused);\n gui.rowComp.addOrRemoveCssClass('ag-row-no-focus', !_this.rowFocused);\n });\n };\n RowCtrl.prototype.onCellFocusChanged = function () {\n var rowFocused = this.beans.focusService.isRowFocused(this.rowNode.rowIndex, this.rowNode.rowPinned);\n if (rowFocused !== this.rowFocused) {\n this.rowFocused = rowFocused;\n this.setFocusedClasses();\n }\n // if we are editing, then moving the focus out of a row will stop editing\n if (!rowFocused && this.editingRow) {\n this.stopEditing(false);\n }\n };\n RowCtrl.prototype.onPaginationChanged = function () {\n var currentPage = this.beans.paginationProxy.getCurrentPage();\n // it is possible this row is in the new page, but the page number has changed, which means\n // it needs to reposition itself relative to the new page\n if (this.paginationPage !== currentPage) {\n this.paginationPage = currentPage;\n this.onTopChanged();\n }\n this.refreshFirstAndLastRowStyles();\n };\n RowCtrl.prototype.onTopChanged = function () {\n this.setRowTop(this.rowNode.rowTop);\n };\n RowCtrl.prototype.onPaginationPixelOffsetChanged = function () {\n // the pixel offset is used when calculating rowTop to set on the row DIV\n this.onTopChanged();\n };\n // applies pagination offset, eg if on second page, and page height is 500px, then removes\n // 500px from the top position, so a row with rowTop 600px is displayed at location 100px.\n // reverse will take the offset away rather than add.\n RowCtrl.prototype.applyPaginationOffset = function (topPx, reverse) {\n if (reverse === void 0) { reverse = false; }\n if (this.rowNode.isRowPinned()) {\n return topPx;\n }\n var pixelOffset = this.beans.paginationProxy.getPixelOffset();\n var multiplier = reverse ? 1 : -1;\n return topPx + (pixelOffset * multiplier);\n };\n RowCtrl.prototype.setRowTop = function (pixels) {\n // print layout uses normal flow layout for row positioning\n if (this.printLayout) {\n return;\n }\n // need to make sure rowTop is not null, as this can happen if the node was once\n // visible (ie parent group was expanded) but is now not visible\n if (exists(pixels)) {\n var afterPaginationPixels = this.applyPaginationOffset(pixels);\n var afterScalingPixels = this.rowNode.isRowPinned() ? afterPaginationPixels : this.beans.rowContainerHeightService.getRealPixelPosition(afterPaginationPixels);\n var topPx = afterScalingPixels + \"px\";\n this.setRowTopStyle(topPx);\n }\n };\n RowCtrl.prototype.getInitialRowTop = function () {\n return this.initialTop;\n };\n RowCtrl.prototype.getInitialTransform = function () {\n return this.initialTransform;\n };\n RowCtrl.prototype.setInitialRowTop = function () {\n // print layout uses normal flow layout for row positioning\n if (this.printLayout) {\n return '';\n }\n // if sliding in, we take the old row top. otherwise we just set the current row top.\n var pixels = this.slideRowIn ? this.roundRowTopToBounds(this.rowNode.oldRowTop) : this.rowNode.rowTop;\n var afterPaginationPixels = this.applyPaginationOffset(pixels);\n // we don't apply scaling if row is pinned\n var afterScalingPixels = this.rowNode.isRowPinned() ? afterPaginationPixels : this.beans.rowContainerHeightService.getRealPixelPosition(afterPaginationPixels);\n var res = afterScalingPixels + 'px';\n var suppressRowTransform = this.beans.gridOptionsWrapper.isSuppressRowTransform();\n if (suppressRowTransform) {\n this.initialTop = res;\n }\n else {\n this.initialTransform = \"translateY(\" + res + \")\";\n }\n };\n RowCtrl.prototype.setRowTopStyle = function (topPx) {\n var suppressRowTransform = this.beans.gridOptionsWrapper.isSuppressRowTransform();\n this.allRowGuis.forEach(function (gui) { return suppressRowTransform ?\n gui.rowComp.setTop(topPx) :\n gui.rowComp.setTransform(\"translateY(\" + topPx + \")\"); });\n };\n RowCtrl.prototype.getRowNode = function () {\n return this.rowNode;\n };\n RowCtrl.prototype.getCellCtrl = function (column) {\n // first up, check for cell directly linked to this column\n var res = null;\n this.getAllCellCtrls().forEach(function (cellCtrl) {\n if (cellCtrl.getColumn() == column) {\n res = cellCtrl;\n }\n });\n if (res != null) {\n return res;\n }\n // second up, if not found, then check for spanned cols.\n // we do this second (and not at the same time) as this is\n // more expensive, as spanning cols is a\n // infrequently used feature so we don't need to do this most\n // of the time\n this.getAllCellCtrls().forEach(function (cellCtrl) {\n if (cellCtrl.getColSpanningList().indexOf(column) >= 0) {\n res = cellCtrl;\n }\n });\n return res;\n };\n RowCtrl.prototype.onRowIndexChanged = function () {\n // we only bother updating if the rowIndex is present. if it is not present, it means this row\n // is child of a group node, and the group node was closed, it's the only way to have no row index.\n // when this happens, row is about to be de-rendered, so we don't care, rowComp is about to die!\n if (this.rowNode.rowIndex != null) {\n this.onCellFocusChanged();\n this.updateRowIndexes();\n this.postProcessCss();\n }\n };\n RowCtrl.prototype.updateRowIndexes = function () {\n var rowIndexStr = this.rowNode.getRowIndexString();\n var headerRowCount = this.beans.headerNavigationService.getHeaderRowCount();\n var rowIsEven = this.rowNode.rowIndex % 2 === 0;\n var ariaRowIndex = headerRowCount + this.rowNode.rowIndex + 1;\n this.allRowGuis.forEach(function (c) {\n c.rowComp.setRowIndex(rowIndexStr);\n c.rowComp.addOrRemoveCssClass('ag-row-even', rowIsEven);\n c.rowComp.addOrRemoveCssClass('ag-row-odd', !rowIsEven);\n setAriaRowIndex(c.element, ariaRowIndex);\n });\n };\n // returns the pinned left container, either the normal one, or the embedded full with one if exists\n RowCtrl.prototype.getPinnedLeftRowElement = function () {\n return this.leftGui ? this.leftGui.element : undefined;\n };\n // returns the pinned right container, either the normal one, or the embedded full with one if exists\n RowCtrl.prototype.getPinnedRightRowElement = function () {\n return this.rightGui ? this.rightGui.element : undefined;\n };\n // returns the body container, either the normal one, or the embedded full with one if exists\n RowCtrl.prototype.getBodyRowElement = function () {\n return this.centerGui ? this.centerGui.element : undefined;\n };\n // returns the full width container\n RowCtrl.prototype.getFullWidthRowElement = function () {\n return this.fullWidthGui ? this.fullWidthGui.element : undefined;\n };\n RowCtrl.DOM_DATA_KEY_ROW_CTRL = 'renderedRow';\n return RowCtrl;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$10 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$P = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __read$9 = (undefined && undefined.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar RowContainerEventsFeature = /** @class */ (function (_super) {\n __extends$10(RowContainerEventsFeature, _super);\n function RowContainerEventsFeature(element) {\n var _this = _super.call(this) || this;\n _this.element = element;\n return _this;\n }\n RowContainerEventsFeature.prototype.postConstruct = function () {\n this.addMouseListeners();\n this.mockContextMenuForIPad();\n this.addKeyboardEvents();\n };\n RowContainerEventsFeature.prototype.addKeyboardEvents = function () {\n var _this = this;\n var eventNames = ['keydown', 'keypress'];\n eventNames.forEach(function (eventName) {\n var listener = _this.processKeyboardEvent.bind(_this, eventName);\n _this.addManagedListener(_this.element, eventName, listener);\n });\n };\n RowContainerEventsFeature.prototype.addMouseListeners = function () {\n var _this = this;\n var mouseDownEvent = isEventSupported('touchstart') ? 'touchstart' : 'mousedown';\n var eventNames = ['dblclick', 'contextmenu', 'mouseover', 'mouseout', 'click', mouseDownEvent];\n eventNames.forEach(function (eventName) {\n var listener = _this.processMouseEvent.bind(_this, eventName);\n _this.addManagedListener(_this.element, eventName, listener);\n });\n };\n RowContainerEventsFeature.prototype.processMouseEvent = function (eventName, mouseEvent) {\n if (!this.mouseEventService.isEventFromThisGrid(mouseEvent) ||\n isStopPropagationForAgGrid(mouseEvent)) {\n return;\n }\n var rowComp = this.getRowForEvent(mouseEvent);\n var cellCtrl = this.mouseEventService.getRenderedCellForEvent(mouseEvent);\n if (eventName === \"contextmenu\") {\n this.handleContextMenuMouseEvent(mouseEvent, null, rowComp, cellCtrl);\n }\n else {\n if (cellCtrl) {\n cellCtrl.onMouseEvent(eventName, mouseEvent);\n }\n if (rowComp) {\n rowComp.onMouseEvent(eventName, mouseEvent);\n }\n }\n };\n RowContainerEventsFeature.prototype.mockContextMenuForIPad = function () {\n var _this = this;\n // we do NOT want this when not in iPad, otherwise we will be doing\n if (!isIOSUserAgent()) {\n return;\n }\n var touchListener = new TouchListener(this.element);\n var longTapListener = function (event) {\n var rowComp = _this.getRowForEvent(event.touchEvent);\n var cellComp = _this.mouseEventService.getRenderedCellForEvent(event.touchEvent);\n _this.handleContextMenuMouseEvent(null, event.touchEvent, rowComp, cellComp);\n };\n this.addManagedListener(touchListener, TouchListener.EVENT_LONG_TAP, longTapListener);\n this.addDestroyFunc(function () { return touchListener.destroy(); });\n };\n RowContainerEventsFeature.prototype.getRowForEvent = function (event) {\n var sourceElement = event.target;\n while (sourceElement) {\n var rowCon = this.gridOptionsWrapper.getDomData(sourceElement, RowCtrl.DOM_DATA_KEY_ROW_CTRL);\n if (rowCon) {\n return rowCon;\n }\n sourceElement = sourceElement.parentElement;\n }\n return null;\n };\n RowContainerEventsFeature.prototype.handleContextMenuMouseEvent = function (mouseEvent, touchEvent, rowComp, cellCtrl) {\n var rowNode = rowComp ? rowComp.getRowNode() : null;\n var column = cellCtrl ? cellCtrl.getColumn() : null;\n var value = null;\n if (column) {\n var event_1 = mouseEvent ? mouseEvent : touchEvent;\n cellCtrl.dispatchCellContextMenuEvent(event_1);\n value = this.valueService.getValue(column, rowNode);\n }\n // if user clicked on a cell, anchor to that cell, otherwise anchor to the grid panel\n var gridBodyCon = this.ctrlsService.getGridBodyCtrl();\n var anchorToElement = cellCtrl ? cellCtrl.getGui() : gridBodyCon.getGridBodyElement();\n if (this.contextMenuFactory) {\n this.contextMenuFactory.onContextMenu(mouseEvent, touchEvent, rowNode, column, value, anchorToElement);\n }\n };\n RowContainerEventsFeature.prototype.processKeyboardEvent = function (eventName, keyboardEvent) {\n var cellComp = getCtrlForEvent(this.gridOptionsWrapper, keyboardEvent, CellCtrl.DOM_DATA_KEY_CELL_CTRL);\n var rowComp = getCtrlForEvent(this.gridOptionsWrapper, keyboardEvent, RowCtrl.DOM_DATA_KEY_ROW_CTRL);\n if (keyboardEvent.defaultPrevented) {\n return;\n }\n if (cellComp) {\n this.processCellKeyboardEvent(cellComp, eventName, keyboardEvent);\n }\n else if (rowComp && rowComp.isFullWidth()) {\n this.processFullWidthRowKeyboardEvent(rowComp, eventName, keyboardEvent);\n }\n };\n RowContainerEventsFeature.prototype.processCellKeyboardEvent = function (cellCtrl, eventName, keyboardEvent) {\n var rowNode = cellCtrl.getRowNode();\n var column = cellCtrl.getColumn();\n var editing = cellCtrl.isEditing();\n var gridProcessingAllowed = !isUserSuppressingKeyboardEvent(this.gridOptionsWrapper, keyboardEvent, rowNode, column, editing);\n if (gridProcessingAllowed) {\n switch (eventName) {\n case 'keydown':\n // first see if it's a scroll key, page up / down, home / end etc\n var wasScrollKey = !editing && this.navigationService.handlePageScrollingKey(keyboardEvent);\n // if not a scroll key, then we pass onto cell\n if (!wasScrollKey) {\n cellCtrl.onKeyDown(keyboardEvent);\n }\n // perform clipboard and undo / redo operations\n this.doGridOperations(keyboardEvent, cellCtrl.isEditing());\n break;\n case 'keypress':\n cellCtrl.onKeyPress(keyboardEvent);\n break;\n }\n }\n if (eventName === 'keydown') {\n var cellKeyDownEvent = cellCtrl.createEvent(keyboardEvent, Events.EVENT_CELL_KEY_DOWN);\n this.eventService.dispatchEvent(cellKeyDownEvent);\n }\n if (eventName === 'keypress') {\n var cellKeyPressEvent = cellCtrl.createEvent(keyboardEvent, Events.EVENT_CELL_KEY_PRESS);\n this.eventService.dispatchEvent(cellKeyPressEvent);\n }\n };\n RowContainerEventsFeature.prototype.processFullWidthRowKeyboardEvent = function (rowComp, eventName, keyboardEvent) {\n var rowNode = rowComp.getRowNode();\n var focusedCell = this.focusService.getFocusedCell();\n var column = (focusedCell && focusedCell.column);\n var gridProcessingAllowed = !isUserSuppressingKeyboardEvent(this.gridOptionsWrapper, keyboardEvent, rowNode, column, false);\n if (gridProcessingAllowed) {\n var key = keyboardEvent.key;\n if (eventName === 'keydown') {\n switch (key) {\n case KeyCode.UP:\n case KeyCode.DOWN:\n rowComp.onKeyboardNavigate(keyboardEvent);\n break;\n case KeyCode.TAB:\n rowComp.onTabKeyDown(keyboardEvent);\n default:\n }\n }\n }\n if (eventName === 'keydown') {\n var cellKeyDownEvent = rowComp.createRowEvent(Events.EVENT_CELL_KEY_DOWN, keyboardEvent);\n this.eventService.dispatchEvent(cellKeyDownEvent);\n }\n if (eventName === 'keypress') {\n var cellKeyPressEvent = rowComp.createRowEvent(Events.EVENT_CELL_KEY_PRESS, keyboardEvent);\n this.eventService.dispatchEvent(cellKeyPressEvent);\n }\n };\n RowContainerEventsFeature.prototype.doGridOperations = function (keyboardEvent, editing) {\n // check if ctrl or meta key pressed\n if (!keyboardEvent.ctrlKey && !keyboardEvent.metaKey) {\n return;\n }\n // if the cell the event came from is editing, then we do not\n // want to do the default shortcut keys, otherwise the editor\n // (eg a text field) would not be able to do the normal cut/copy/paste\n if (editing) {\n return;\n }\n // for copy / paste, we don't want to execute when the event\n // was from a child grid (happens in master detail)\n if (!this.mouseEventService.isEventFromThisGrid(keyboardEvent)) {\n return;\n }\n switch (keyboardEvent.code) {\n case KeyCode.A:\n return this.onCtrlAndA(keyboardEvent);\n case KeyCode.C:\n return this.onCtrlAndC(keyboardEvent);\n case KeyCode.V:\n return this.onCtrlAndV();\n case KeyCode.D:\n return this.onCtrlAndD(keyboardEvent);\n case KeyCode.Z:\n return keyboardEvent.shiftKey ? this.undoRedoService.redo() : this.undoRedoService.undo();\n case KeyCode.Y:\n return this.undoRedoService.redo();\n }\n };\n RowContainerEventsFeature.prototype.onCtrlAndA = function (event) {\n var _a = this, pinnedRowModel = _a.pinnedRowModel, paginationProxy = _a.paginationProxy, rangeService = _a.rangeService;\n var PINNED_BOTTOM = Constants.PINNED_BOTTOM, PINNED_TOP = Constants.PINNED_TOP;\n if (rangeService && paginationProxy.isRowsToRender()) {\n var _b = __read$9([\n pinnedRowModel.isEmpty(PINNED_TOP),\n pinnedRowModel.isEmpty(PINNED_BOTTOM)\n ], 2), isEmptyPinnedTop = _b[0], isEmptyPinnedBottom = _b[1];\n var floatingStart = isEmptyPinnedTop ? null : PINNED_TOP;\n var floatingEnd = void 0;\n var rowEnd = void 0;\n if (isEmptyPinnedBottom) {\n floatingEnd = null;\n rowEnd = this.paginationProxy.getRowCount() - 1;\n }\n else {\n floatingEnd = PINNED_BOTTOM;\n rowEnd = pinnedRowModel.getPinnedBottomRowData().length - 1;\n }\n var allDisplayedColumns = this.columnModel.getAllDisplayedColumns();\n if (missingOrEmpty(allDisplayedColumns)) {\n return;\n }\n rangeService.setCellRange({\n rowStartIndex: 0,\n rowStartPinned: floatingStart,\n rowEndIndex: rowEnd,\n rowEndPinned: floatingEnd,\n columnStart: allDisplayedColumns[0],\n columnEnd: last(allDisplayedColumns)\n });\n }\n event.preventDefault();\n };\n RowContainerEventsFeature.prototype.onCtrlAndC = function (event) {\n if (!this.clipboardService || this.gridOptionsWrapper.isEnableCellTextSelection()) {\n return;\n }\n this.clipboardService.copyToClipboard();\n event.preventDefault();\n };\n RowContainerEventsFeature.prototype.onCtrlAndV = function () {\n if (ModuleRegistry.isRegistered(exports.ModuleNames.ClipboardModule) && !this.gridOptionsWrapper.isSuppressClipboardPaste()) {\n this.clipboardService.pasteFromClipboard();\n }\n };\n RowContainerEventsFeature.prototype.onCtrlAndD = function (event) {\n if (ModuleRegistry.isRegistered(exports.ModuleNames.ClipboardModule) && !this.gridOptionsWrapper.isSuppressClipboardPaste()) {\n this.clipboardService.copyRangeDown();\n }\n event.preventDefault();\n };\n __decorate$P([\n Autowired('mouseEventService')\n ], RowContainerEventsFeature.prototype, \"mouseEventService\", void 0);\n __decorate$P([\n Autowired('valueService')\n ], RowContainerEventsFeature.prototype, \"valueService\", void 0);\n __decorate$P([\n Optional('contextMenuFactory')\n ], RowContainerEventsFeature.prototype, \"contextMenuFactory\", void 0);\n __decorate$P([\n Autowired('ctrlsService')\n ], RowContainerEventsFeature.prototype, \"ctrlsService\", void 0);\n __decorate$P([\n Autowired('navigationService')\n ], RowContainerEventsFeature.prototype, \"navigationService\", void 0);\n __decorate$P([\n Autowired('focusService')\n ], RowContainerEventsFeature.prototype, \"focusService\", void 0);\n __decorate$P([\n Autowired('undoRedoService')\n ], RowContainerEventsFeature.prototype, \"undoRedoService\", void 0);\n __decorate$P([\n Autowired('columnModel')\n ], RowContainerEventsFeature.prototype, \"columnModel\", void 0);\n __decorate$P([\n Autowired('paginationProxy')\n ], RowContainerEventsFeature.prototype, \"paginationProxy\", void 0);\n __decorate$P([\n Autowired('pinnedRowModel')\n ], RowContainerEventsFeature.prototype, \"pinnedRowModel\", void 0);\n __decorate$P([\n Optional('rangeService')\n ], RowContainerEventsFeature.prototype, \"rangeService\", void 0);\n __decorate$P([\n Optional('clipboardService')\n ], RowContainerEventsFeature.prototype, \"clipboardService\", void 0);\n __decorate$P([\n PostConstruct\n ], RowContainerEventsFeature.prototype, \"postConstruct\", null);\n return RowContainerEventsFeature;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$11 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$Q = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n// listens to changes in the center viewport size, for column and row virtualisation,\n// and adjusts grid as necessary. there are two viewports, one for horizontal and one for\n// vertical scrolling.\nvar ViewportSizeFeature = /** @class */ (function (_super) {\n __extends$11(ViewportSizeFeature, _super);\n function ViewportSizeFeature(centerContainerCtrl) {\n var _this = _super.call(this) || this;\n _this.centerContainerCtrl = centerContainerCtrl;\n return _this;\n }\n ViewportSizeFeature.prototype.postConstruct = function () {\n var _this = this;\n this.ctrlsService.whenReady(function () {\n _this.gridBodyCtrl = _this.ctrlsService.getGridBodyCtrl();\n _this.listenForResize();\n });\n this.addManagedListener(this.eventService, Events.EVENT_SCROLLBAR_WIDTH_CHANGED, this.onScrollbarWidthChanged.bind(this));\n };\n ViewportSizeFeature.prototype.listenForResize = function () {\n var _this = this;\n var listener = function () { return _this.onCenterViewportResized(); };\n // centerContainer gets horizontal resizes\n this.centerContainerCtrl.registerViewportResizeListener(listener);\n // eBodyViewport gets vertical resizes\n this.gridBodyCtrl.registerBodyViewportResizeListener(listener);\n };\n ViewportSizeFeature.prototype.onScrollbarWidthChanged = function () {\n this.checkViewportAndScrolls();\n };\n ViewportSizeFeature.prototype.onCenterViewportResized = function () {\n if (this.centerContainerCtrl.isViewportVisible()) {\n this.checkViewportAndScrolls();\n var newWidth = this.centerContainerCtrl.getCenterWidth();\n if (newWidth !== this.centerWidth) {\n this.centerWidth = newWidth;\n this.columnModel.refreshFlexedColumns({ viewportWidth: this.centerWidth, updateBodyWidths: true, fireResizedEvent: true });\n }\n }\n else {\n this.bodyHeight = 0;\n }\n };\n // gets called every time the viewport size changes. we use this to check visibility of scrollbars\n // in the grid panel, and also to check size and position of viewport for row and column virtualisation.\n ViewportSizeFeature.prototype.checkViewportAndScrolls = function () {\n // results in updating anything that depends on scroll showing\n this.updateScrollVisibleService();\n // fires event if height changes, used by PaginationService, HeightScalerService, RowRenderer\n this.checkBodyHeight();\n // check for virtual columns for ColumnController\n this.onHorizontalViewportChanged();\n this.gridBodyCtrl.getScrollFeature().checkScrollLeft();\n };\n ViewportSizeFeature.prototype.getBodyHeight = function () {\n return this.bodyHeight;\n };\n ViewportSizeFeature.prototype.checkBodyHeight = function () {\n var eBodyViewport = this.gridBodyCtrl.getBodyViewportElement();\n var bodyHeight = getInnerHeight(eBodyViewport);\n if (this.bodyHeight !== bodyHeight) {\n this.bodyHeight = bodyHeight;\n var event_1 = {\n type: Events.EVENT_BODY_HEIGHT_CHANGED,\n api: this.gridApi,\n columnApi: this.columnApi\n };\n this.eventService.dispatchEvent(event_1);\n }\n };\n ViewportSizeFeature.prototype.updateScrollVisibleService = function () {\n // because of column animation (which takes 200ms), we have to do this twice.\n // eg if user removes cols anywhere except at the RHS, then the cols on the RHS\n // will animate to the left to fill the gap. this animation means just after\n // the cols are removed, the remaining cols are still in the original location\n // at the start of the animation, so pre animation the H scrollbar is still needed,\n // but post animation it is not.\n this.updateScrollVisibleServiceImpl();\n setTimeout(this.updateScrollVisibleServiceImpl.bind(this), 500);\n };\n ViewportSizeFeature.prototype.updateScrollVisibleServiceImpl = function () {\n var params = {\n horizontalScrollShowing: this.isHorizontalScrollShowing(),\n verticalScrollShowing: this.gridBodyCtrl.isVerticalScrollShowing()\n };\n this.scrollVisibleService.setScrollsVisible(params);\n // fix - gridComp should just listen to event from above\n this.gridBodyCtrl.setVerticalScrollPaddingVisible(params.verticalScrollShowing);\n };\n ViewportSizeFeature.prototype.isHorizontalScrollShowing = function () {\n var isAlwaysShowHorizontalScroll = this.gridOptionsWrapper.isAlwaysShowHorizontalScroll();\n return isAlwaysShowHorizontalScroll || this.centerContainerCtrl.isViewportHScrollShowing();\n };\n // this gets called whenever a change in the viewport, so we can inform column controller it has to work\n // out the virtual columns again. gets called from following locations:\n // + ensureColVisible, scroll, init, layoutChanged, displayedColumnsChanged, API (doLayout)\n ViewportSizeFeature.prototype.onHorizontalViewportChanged = function () {\n var scrollWidth = this.centerContainerCtrl.getCenterWidth();\n var scrollPosition = this.centerContainerCtrl.getViewportScrollLeft();\n this.columnModel.setViewportPosition(scrollWidth, scrollPosition);\n };\n __decorate$Q([\n Autowired('ctrlsService')\n ], ViewportSizeFeature.prototype, \"ctrlsService\", void 0);\n __decorate$Q([\n Autowired('columnModel')\n ], ViewportSizeFeature.prototype, \"columnModel\", void 0);\n __decorate$Q([\n Autowired('scrollVisibleService')\n ], ViewportSizeFeature.prototype, \"scrollVisibleService\", void 0);\n __decorate$Q([\n Autowired('columnApi')\n ], ViewportSizeFeature.prototype, \"columnApi\", void 0);\n __decorate$Q([\n Autowired('gridApi')\n ], ViewportSizeFeature.prototype, \"gridApi\", void 0);\n __decorate$Q([\n PostConstruct\n ], ViewportSizeFeature.prototype, \"postConstruct\", null);\n return ViewportSizeFeature;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$12 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$R = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar SetPinnedLeftWidthFeature = /** @class */ (function (_super) {\n __extends$12(SetPinnedLeftWidthFeature, _super);\n function SetPinnedLeftWidthFeature(element) {\n var _this = _super.call(this) || this;\n _this.element = element;\n return _this;\n }\n SetPinnedLeftWidthFeature.prototype.postConstruct = function () {\n this.addManagedListener(this.eventService, Events.EVENT_LEFT_PINNED_WIDTH_CHANGED, this.onPinnedLeftWidthChanged.bind(this));\n };\n SetPinnedLeftWidthFeature.prototype.onPinnedLeftWidthChanged = function () {\n var leftWidth = this.pinnedWidthService.getPinnedLeftWidth();\n var displayed = leftWidth > 0;\n setDisplayed(this.element, displayed);\n if (displayed) {\n setFixedWidth(this.element, leftWidth);\n }\n };\n __decorate$R([\n Autowired('pinnedWidthService')\n ], SetPinnedLeftWidthFeature.prototype, \"pinnedWidthService\", void 0);\n __decorate$R([\n PostConstruct\n ], SetPinnedLeftWidthFeature.prototype, \"postConstruct\", null);\n return SetPinnedLeftWidthFeature;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$13 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$S = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar SetPinnedRightWidthFeature = /** @class */ (function (_super) {\n __extends$13(SetPinnedRightWidthFeature, _super);\n function SetPinnedRightWidthFeature(element) {\n var _this = _super.call(this) || this;\n _this.element = element;\n return _this;\n }\n SetPinnedRightWidthFeature.prototype.postConstruct = function () {\n this.addManagedListener(this.eventService, Events.EVENT_RIGHT_PINNED_WIDTH_CHANGED, this.onPinnedRightWidthChanged.bind(this));\n };\n SetPinnedRightWidthFeature.prototype.onPinnedRightWidthChanged = function () {\n var rightWidth = this.pinnedWidthService.getPinnedRightWidth();\n var displayed = rightWidth > 0;\n setDisplayed(this.element, displayed);\n if (displayed) {\n setFixedWidth(this.element, rightWidth);\n }\n };\n __decorate$S([\n Autowired('pinnedWidthService')\n ], SetPinnedRightWidthFeature.prototype, \"pinnedWidthService\", void 0);\n __decorate$S([\n PostConstruct\n ], SetPinnedRightWidthFeature.prototype, \"postConstruct\", null);\n return SetPinnedRightWidthFeature;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$14 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$T = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar SetHeightFeature = /** @class */ (function (_super) {\n __extends$14(SetHeightFeature, _super);\n function SetHeightFeature(eContainer, eWrapper) {\n var _this = _super.call(this) || this;\n _this.eContainer = eContainer;\n _this.eWrapper = eWrapper;\n return _this;\n }\n SetHeightFeature.prototype.postConstruct = function () {\n this.addManagedListener(this.eventService, Events.EVENT_ROW_CONTAINER_HEIGHT_CHANGED, this.onHeightChanged.bind(this));\n };\n SetHeightFeature.prototype.onHeightChanged = function () {\n var height = this.maxDivHeightScaler.getUiContainerHeight();\n var heightString = height != null ? height + \"px\" : \"\";\n this.eContainer.style.height = heightString;\n if (this.eWrapper) {\n this.eWrapper.style.height = heightString;\n }\n };\n __decorate$T([\n Autowired(\"rowContainerHeightService\")\n ], SetHeightFeature.prototype, \"maxDivHeightScaler\", void 0);\n __decorate$T([\n PostConstruct\n ], SetHeightFeature.prototype, \"postConstruct\", null);\n return SetHeightFeature;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$15 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$U = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar DragListenerFeature = /** @class */ (function (_super) {\n __extends$15(DragListenerFeature, _super);\n function DragListenerFeature(eContainer) {\n var _this = _super.call(this) || this;\n _this.eContainer = eContainer;\n return _this;\n }\n DragListenerFeature.prototype.postConstruct = function () {\n var _this = this;\n if (!this.gridOptionsWrapper.isEnableRangeSelection() || // no range selection if no property\n missing(this.rangeService) // no range selection if not enterprise version\n ) {\n return;\n }\n var params = {\n dragStartPixels: 0,\n eElement: this.eContainer,\n onDragStart: this.rangeService.onDragStart.bind(this.rangeService),\n onDragStop: this.rangeService.onDragStop.bind(this.rangeService),\n onDragging: this.rangeService.onDragging.bind(this.rangeService)\n };\n this.dragService.addDragSource(params);\n this.addDestroyFunc(function () { return _this.dragService.removeDragSource(params); });\n };\n __decorate$U([\n Optional('rangeService')\n ], DragListenerFeature.prototype, \"rangeService\", void 0);\n __decorate$U([\n Autowired('dragService')\n ], DragListenerFeature.prototype, \"dragService\", void 0);\n __decorate$U([\n PostConstruct\n ], DragListenerFeature.prototype, \"postConstruct\", null);\n return DragListenerFeature;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$16 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$V = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar CenterWidthFeature = /** @class */ (function (_super) {\n __extends$16(CenterWidthFeature, _super);\n function CenterWidthFeature(callback) {\n var _this = _super.call(this) || this;\n _this.callback = callback;\n return _this;\n }\n CenterWidthFeature.prototype.postConstruct = function () {\n var listener = this.setWidth.bind(this);\n this.addManagedListener(this.gridOptionsWrapper, GridOptionsWrapper.PROP_DOM_LAYOUT, listener);\n this.addManagedListener(this.eventService, Events.EVENT_DISPLAYED_COLUMNS_CHANGED, listener);\n this.addManagedListener(this.eventService, Events.EVENT_DISPLAYED_COLUMNS_WIDTH_CHANGED, listener);\n this.setWidth();\n };\n CenterWidthFeature.prototype.setWidth = function () {\n var columnModel = this.columnModel;\n var printLayout = this.gridOptionsWrapper.getDomLayout() === Constants.DOM_LAYOUT_PRINT;\n var centerWidth = columnModel.getBodyContainerWidth();\n var leftWidth = columnModel.getDisplayedColumnsLeftWidth();\n var rightWidth = columnModel.getDisplayedColumnsRightWidth();\n var totalWidth = printLayout ? centerWidth + leftWidth + rightWidth : centerWidth;\n this.callback(totalWidth);\n };\n __decorate$V([\n Autowired('columnModel')\n ], CenterWidthFeature.prototype, \"columnModel\", void 0);\n __decorate$V([\n PostConstruct\n ], CenterWidthFeature.prototype, \"postConstruct\", null);\n return CenterWidthFeature;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$17 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$W = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __read$a = (undefined && undefined.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spread$7 = (undefined && undefined.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read$a(arguments[i]));\n return ar;\n};\n(function (RowContainerName) {\n RowContainerName[\"LEFT\"] = \"left\";\n RowContainerName[\"RIGHT\"] = \"right\";\n RowContainerName[\"CENTER\"] = \"center\";\n RowContainerName[\"FULL_WIDTH\"] = \"fullWidth\";\n RowContainerName[\"TOP_LEFT\"] = \"topLeft\";\n RowContainerName[\"TOP_RIGHT\"] = \"topRight\";\n RowContainerName[\"TOP_CENTER\"] = \"topCenter\";\n RowContainerName[\"TOP_FULL_WIDTH\"] = \"topFullWidth\";\n RowContainerName[\"BOTTOM_LEFT\"] = \"bottomLeft\";\n RowContainerName[\"BOTTOM_RIGHT\"] = \"bottomRight\";\n RowContainerName[\"BOTTOM_CENTER\"] = \"bottomCenter\";\n RowContainerName[\"BOTTOM_FULL_WIDTH\"] = \"bottomFullWidth\";\n})(exports.RowContainerName || (exports.RowContainerName = {}));\n(function (RowContainerType) {\n RowContainerType[\"LEFT\"] = \"left\";\n RowContainerType[\"RIGHT\"] = \"right\";\n RowContainerType[\"CENTER\"] = \"center\";\n RowContainerType[\"FULL_WIDTH\"] = \"fullWidth\";\n})(exports.RowContainerType || (exports.RowContainerType = {}));\nfunction getRowContainerTypeForName(name) {\n switch (name) {\n case exports.RowContainerName.CENTER:\n case exports.RowContainerName.TOP_CENTER:\n case exports.RowContainerName.BOTTOM_CENTER:\n return exports.RowContainerType.CENTER;\n case exports.RowContainerName.LEFT:\n case exports.RowContainerName.TOP_LEFT:\n case exports.RowContainerName.BOTTOM_LEFT:\n return exports.RowContainerType.LEFT;\n case exports.RowContainerName.RIGHT:\n case exports.RowContainerName.TOP_RIGHT:\n case exports.RowContainerName.BOTTOM_RIGHT:\n return exports.RowContainerType.RIGHT;\n case exports.RowContainerName.FULL_WIDTH:\n case exports.RowContainerName.TOP_FULL_WIDTH:\n case exports.RowContainerName.BOTTOM_FULL_WIDTH:\n return exports.RowContainerType.FULL_WIDTH;\n default:\n throw Error('Invalid Row Container Type');\n }\n}\nvar ContainerCssClasses = convertToMap([\n [exports.RowContainerName.CENTER, 'ag-center-cols-container'],\n [exports.RowContainerName.LEFT, 'ag-pinned-left-cols-container'],\n [exports.RowContainerName.RIGHT, 'ag-pinned-right-cols-container'],\n [exports.RowContainerName.FULL_WIDTH, 'ag-full-width-container'],\n [exports.RowContainerName.TOP_CENTER, 'ag-floating-top-container'],\n [exports.RowContainerName.TOP_LEFT, 'ag-pinned-left-floating-top'],\n [exports.RowContainerName.TOP_RIGHT, 'ag-pinned-right-floating-top'],\n [exports.RowContainerName.TOP_FULL_WIDTH, 'ag-floating-top-full-width-container'],\n [exports.RowContainerName.BOTTOM_CENTER, 'ag-floating-bottom-container'],\n [exports.RowContainerName.BOTTOM_LEFT, 'ag-pinned-left-floating-bottom'],\n [exports.RowContainerName.BOTTOM_RIGHT, 'ag-pinned-right-floating-bottom'],\n [exports.RowContainerName.BOTTOM_FULL_WIDTH, 'ag-floating-bottom-full-width-container'],\n]);\nvar ViewportCssClasses = convertToMap([\n [exports.RowContainerName.CENTER, 'ag-center-cols-viewport'],\n [exports.RowContainerName.TOP_CENTER, 'ag-floating-top-viewport'],\n [exports.RowContainerName.BOTTOM_CENTER, 'ag-floating-bottom-viewport'],\n]);\nvar WrapperCssClasses = convertToMap([\n [exports.RowContainerName.CENTER, 'ag-center-cols-clipper'],\n]);\nvar RowContainerCtrl = /** @class */ (function (_super) {\n __extends$17(RowContainerCtrl, _super);\n function RowContainerCtrl(name) {\n var _this = _super.call(this) || this;\n _this.name = name;\n return _this;\n }\n RowContainerCtrl.getRowContainerCssClasses = function (name) {\n var containerClass = ContainerCssClasses.get(name);\n var viewportClass = ViewportCssClasses.get(name);\n var wrapperClass = WrapperCssClasses.get(name);\n return { container: containerClass, viewport: viewportClass, wrapper: wrapperClass };\n };\n RowContainerCtrl.getPinned = function (name) {\n switch (name) {\n case exports.RowContainerName.BOTTOM_LEFT:\n case exports.RowContainerName.TOP_LEFT:\n case exports.RowContainerName.LEFT:\n return Constants.PINNED_LEFT;\n case exports.RowContainerName.BOTTOM_RIGHT:\n case exports.RowContainerName.TOP_RIGHT:\n case exports.RowContainerName.RIGHT:\n return Constants.PINNED_RIGHT;\n default:\n return null;\n }\n };\n RowContainerCtrl.prototype.postConstruct = function () {\n var _this = this;\n this.enableRtl = this.gridOptionsWrapper.isEnableRtl();\n this.embedFullWidthRows = this.gridOptionsWrapper.isEmbedFullWidthRows();\n this.forContainers([exports.RowContainerName.CENTER], function () { return _this.viewportSizeFeature = _this.createManagedBean(new ViewportSizeFeature(_this)); });\n };\n RowContainerCtrl.prototype.registerWithCtrlsService = function () {\n switch (this.name) {\n case exports.RowContainerName.CENTER:\n this.ctrlsService.registerCenterRowContainerCtrl(this);\n break;\n case exports.RowContainerName.LEFT:\n this.ctrlsService.registerLeftRowContainerCtrl(this);\n break;\n case exports.RowContainerName.RIGHT:\n this.ctrlsService.registerRightRowContainerCtrl(this);\n break;\n case exports.RowContainerName.TOP_CENTER:\n this.ctrlsService.registerTopCenterRowContainerCtrl(this);\n break;\n case exports.RowContainerName.TOP_LEFT:\n this.ctrlsService.registerTopLeftRowContainerCon(this);\n break;\n case exports.RowContainerName.TOP_RIGHT:\n this.ctrlsService.registerTopRightRowContainerCtrl(this);\n break;\n case exports.RowContainerName.BOTTOM_CENTER:\n this.ctrlsService.registerBottomCenterRowContainerCtrl(this);\n break;\n case exports.RowContainerName.BOTTOM_LEFT:\n this.ctrlsService.registerBottomLeftRowContainerCtrl(this);\n break;\n case exports.RowContainerName.BOTTOM_RIGHT:\n this.ctrlsService.registerBottomRightRowContainerCtrl(this);\n break;\n }\n };\n RowContainerCtrl.prototype.forContainers = function (names, callback) {\n if (names.indexOf(this.name) >= 0) {\n callback();\n }\n };\n RowContainerCtrl.prototype.getContainerElement = function () {\n return this.eContainer;\n };\n RowContainerCtrl.prototype.getViewportSizeFeature = function () {\n return this.viewportSizeFeature;\n };\n RowContainerCtrl.prototype.setComp = function (view, eContainer, eViewport, eWrapper) {\n var _this = this;\n this.comp = view;\n this.eContainer = eContainer;\n this.eViewport = eViewport;\n this.eWrapper = eWrapper;\n this.createManagedBean(new RowContainerEventsFeature(this.eContainer));\n this.addPreventScrollWhileDragging();\n this.listenOnDomOrder();\n this.stopHScrollOnPinnedRows();\n var allTopNoFW = [exports.RowContainerName.TOP_CENTER, exports.RowContainerName.TOP_LEFT, exports.RowContainerName.TOP_RIGHT];\n var allBottomNoFW = [exports.RowContainerName.BOTTOM_CENTER, exports.RowContainerName.BOTTOM_LEFT, exports.RowContainerName.BOTTOM_RIGHT];\n var allMiddleNoFW = [exports.RowContainerName.CENTER, exports.RowContainerName.LEFT, exports.RowContainerName.RIGHT];\n var allNoFW = __spread$7(allTopNoFW, allBottomNoFW, allMiddleNoFW);\n var allMiddle = [exports.RowContainerName.CENTER, exports.RowContainerName.LEFT, exports.RowContainerName.RIGHT, exports.RowContainerName.FULL_WIDTH];\n var allCenter = [exports.RowContainerName.CENTER, exports.RowContainerName.TOP_CENTER, exports.RowContainerName.BOTTOM_CENTER];\n var allLeft = [exports.RowContainerName.LEFT, exports.RowContainerName.BOTTOM_LEFT, exports.RowContainerName.TOP_LEFT];\n var allRight = [exports.RowContainerName.RIGHT, exports.RowContainerName.BOTTOM_RIGHT, exports.RowContainerName.TOP_RIGHT];\n this.forContainers(allLeft, function () { return _this.createManagedBean(new SetPinnedLeftWidthFeature(_this.eContainer)); });\n this.forContainers(allRight, function () { return _this.createManagedBean(new SetPinnedRightWidthFeature(_this.eContainer)); });\n this.forContainers(allMiddle, function () { return _this.createManagedBean(new SetHeightFeature(_this.eContainer, _this.eWrapper)); });\n this.forContainers(allNoFW, function () { return _this.createManagedBean(new DragListenerFeature(_this.eContainer)); });\n this.forContainers(allCenter, function () { return _this.createManagedBean(new CenterWidthFeature(function (width) { return _this.comp.setContainerWidth(width + \"px\"); })); });\n this.addListeners();\n this.registerWithCtrlsService();\n };\n RowContainerCtrl.prototype.addListeners = function () {\n var _this = this;\n this.addManagedListener(this.eventService, Events.EVENT_SCROLL_VISIBILITY_CHANGED, function () { return _this.onScrollVisibilityChanged(); });\n this.addManagedListener(this.eventService, Events.EVENT_DISPLAYED_COLUMNS_CHANGED, function () { return _this.onDisplayedColumnsChanged(); });\n this.addManagedListener(this.eventService, Events.EVENT_DISPLAYED_COLUMNS_WIDTH_CHANGED, function () { return _this.onDisplayedColumnsWidthChanged(); });\n this.addManagedListener(this.eventService, Events.EVENT_DISPLAYED_ROWS_CHANGED, function () { return _this.onDisplayedRowsChanged(); });\n this.onScrollVisibilityChanged();\n this.onDisplayedColumnsChanged();\n this.onDisplayedColumnsWidthChanged();\n this.onDisplayedRowsChanged();\n };\n RowContainerCtrl.prototype.listenOnDomOrder = function () {\n var _this = this;\n var listener = function () { return _this.comp.setDomOrder(_this.gridOptionsWrapper.isEnsureDomOrder()); };\n this.addManagedListener(this.gridOptionsWrapper, GridOptionsWrapper.PROP_DOM_LAYOUT, listener);\n listener();\n };\n // when editing a pinned row, if the cell is half outside the scrollable area, the browser can\n // scroll the column into view. we do not want this, the pinned sections should never scroll.\n // so we listen to scrolls on these containers and reset the scroll if we find one.\n RowContainerCtrl.prototype.stopHScrollOnPinnedRows = function () {\n var _this = this;\n this.forContainers([exports.RowContainerName.TOP_CENTER, exports.RowContainerName.BOTTOM_CENTER], function () {\n var resetScrollLeft = function () { return _this.eViewport.scrollLeft = 0; };\n _this.addManagedListener(_this.eViewport, 'scroll', resetScrollLeft);\n });\n };\n RowContainerCtrl.prototype.onDisplayedColumnsChanged = function () {\n var _this = this;\n this.forContainers([exports.RowContainerName.CENTER], function () { return _this.onHorizontalViewportChanged(); });\n };\n RowContainerCtrl.prototype.onDisplayedColumnsWidthChanged = function () {\n var _this = this;\n this.forContainers([exports.RowContainerName.CENTER], function () { return _this.onHorizontalViewportChanged(); });\n };\n RowContainerCtrl.prototype.onScrollVisibilityChanged = function () {\n if (this.name !== exports.RowContainerName.CENTER) {\n return;\n }\n var visible = this.scrollVisibleService.isHorizontalScrollShowing();\n var scrollbarWidth = visible ? (this.gridOptionsWrapper.getScrollbarWidth() || 0) : 0;\n var height = scrollbarWidth == 0 ? '100%' : \"calc(100% + \" + scrollbarWidth + \"px)\";\n this.comp.setViewportHeight(height);\n };\n // this methods prevents the grid views from being scrolled while the dragService is being used\n // eg. the view should not scroll up and down while dragging rows using the rowDragComp.\n RowContainerCtrl.prototype.addPreventScrollWhileDragging = function () {\n var _this = this;\n var preventScroll = function (e) {\n if (_this.dragService.isDragging()) {\n if (e.cancelable) {\n e.preventDefault();\n }\n }\n };\n this.eContainer.addEventListener('touchmove', preventScroll, { passive: false });\n this.addDestroyFunc(function () { return _this.eContainer.removeEventListener('touchmove', preventScroll); });\n };\n // this gets called whenever a change in the viewport, so we can inform column controller it has to work\n // out the virtual columns again. gets called from following locations:\n // + ensureColVisible, scroll, init, layoutChanged, displayedColumnsChanged, API (doLayout)\n RowContainerCtrl.prototype.onHorizontalViewportChanged = function () {\n var scrollWidth = this.getCenterWidth();\n var scrollPosition = this.getCenterViewportScrollLeft();\n this.columnModel.setViewportPosition(scrollWidth, scrollPosition);\n };\n RowContainerCtrl.prototype.getCenterWidth = function () {\n return getInnerWidth(this.eViewport);\n };\n RowContainerCtrl.prototype.getCenterViewportScrollLeft = function () {\n // we defer to a util, as how you calculated scrollLeft when doing RTL depends on the browser\n return getScrollLeft(this.eViewport, this.enableRtl);\n };\n RowContainerCtrl.prototype.registerViewportResizeListener = function (listener) {\n var unsubscribeFromResize = this.resizeObserverService.observeResize(this.eViewport, listener);\n this.addDestroyFunc(function () { return unsubscribeFromResize(); });\n };\n RowContainerCtrl.prototype.isViewportVisible = function () {\n return isVisible(this.eViewport);\n };\n RowContainerCtrl.prototype.isViewportHScrollShowing = function () {\n return isHorizontalScrollShowing(this.eViewport);\n };\n RowContainerCtrl.prototype.getViewportScrollLeft = function () {\n return getScrollLeft(this.eViewport, this.enableRtl);\n };\n RowContainerCtrl.prototype.isHorizontalScrollShowing = function () {\n var isAlwaysShowHorizontalScroll = this.gridOptionsWrapper.isAlwaysShowHorizontalScroll();\n return isAlwaysShowHorizontalScroll || isHorizontalScrollShowing(this.eViewport);\n };\n RowContainerCtrl.prototype.getViewportElement = function () {\n return this.eViewport;\n };\n RowContainerCtrl.prototype.setContainerTranslateX = function (amount) {\n this.eContainer.style.transform = \"translateX(\" + amount + \"px)\";\n };\n RowContainerCtrl.prototype.getHScrollPosition = function () {\n var res = {\n left: this.eViewport.scrollLeft,\n right: this.eViewport.scrollLeft + this.eViewport.offsetWidth\n };\n return res;\n };\n RowContainerCtrl.prototype.setCenterViewportScrollLeft = function (value) {\n // we defer to a util, as how you calculated scrollLeft when doing RTL depends on the browser\n setScrollLeft(this.eViewport, value, this.enableRtl);\n };\n RowContainerCtrl.prototype.onDisplayedRowsChanged = function () {\n var _this = this;\n var fullWithContainer = this.name === exports.RowContainerName.TOP_FULL_WIDTH\n || this.name === exports.RowContainerName.BOTTOM_FULL_WIDTH\n || this.name === exports.RowContainerName.FULL_WIDTH;\n var doesRowMatch = function (rowCtrl) {\n var fullWidthRow = rowCtrl.isFullWidth();\n var printLayout = _this.gridOptionsWrapper.getDomLayout() === Constants.DOM_LAYOUT_PRINT;\n var embedFW = _this.embedFullWidthRows || printLayout;\n var match = fullWithContainer ?\n !embedFW && fullWidthRow\n : embedFW || !fullWidthRow;\n return match;\n };\n // this list contains either all pinned top, center or pinned bottom rows\n var allRowsRegardlessOfFullWidth = this.getRowCtrls();\n // this filters out rows not for this container, eg if it's a full with row, but we are not full with container\n var rowsThisContainer = allRowsRegardlessOfFullWidth.filter(doesRowMatch);\n this.comp.setRowCtrls(rowsThisContainer);\n };\n RowContainerCtrl.prototype.getRowCtrls = function () {\n switch (this.name) {\n case exports.RowContainerName.TOP_CENTER:\n case exports.RowContainerName.TOP_LEFT:\n case exports.RowContainerName.TOP_RIGHT:\n case exports.RowContainerName.TOP_FULL_WIDTH:\n return this.rowRenderer.getTopRowCtrls();\n case exports.RowContainerName.BOTTOM_CENTER:\n case exports.RowContainerName.BOTTOM_LEFT:\n case exports.RowContainerName.BOTTOM_RIGHT:\n case exports.RowContainerName.BOTTOM_FULL_WIDTH:\n return this.rowRenderer.getBottomRowCtrls();\n default:\n return this.rowRenderer.getRowCtrls();\n }\n };\n __decorate$W([\n Autowired('scrollVisibleService')\n ], RowContainerCtrl.prototype, \"scrollVisibleService\", void 0);\n __decorate$W([\n Autowired('dragService')\n ], RowContainerCtrl.prototype, \"dragService\", void 0);\n __decorate$W([\n Autowired('ctrlsService')\n ], RowContainerCtrl.prototype, \"ctrlsService\", void 0);\n __decorate$W([\n Autowired('columnModel')\n ], RowContainerCtrl.prototype, \"columnModel\", void 0);\n __decorate$W([\n Autowired('resizeObserverService')\n ], RowContainerCtrl.prototype, \"resizeObserverService\", void 0);\n __decorate$W([\n Autowired('rowRenderer')\n ], RowContainerCtrl.prototype, \"rowRenderer\", void 0);\n __decorate$W([\n PostConstruct\n ], RowContainerCtrl.prototype, \"postConstruct\", null);\n return RowContainerCtrl;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$18 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$X = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar GRID_BODY_TEMPLATE = /* html */ \"
\\n \\n
\\n \\n \\n \\n \\n
\\n
\\n \\n \\n \\n \\n
\\n
\\n \\n \\n \\n \\n
\\n \\n \\n
\";\nvar GridBodyComp = /** @class */ (function (_super) {\n __extends$18(GridBodyComp, _super);\n function GridBodyComp() {\n return _super.call(this, GRID_BODY_TEMPLATE) || this;\n }\n GridBodyComp.prototype.init = function () {\n var _this = this;\n var setHeight = function (height, element) {\n var heightString = height + \"px\";\n element.style.minHeight = heightString;\n element.style.height = heightString;\n };\n var compProxy = {\n setRowAnimationCssOnBodyViewport: function (cssClass, animate) { return _this.setRowAnimationCssOnBodyViewport(cssClass, animate); },\n setColumnCount: function (count) { return setAriaColCount(_this.getGui(), count); },\n setRowCount: function (count) { return setAriaRowCount(_this.getGui(), count); },\n setTopHeight: function (height) { return setHeight(height, _this.eTop); },\n setBottomHeight: function (height) { return setHeight(height, _this.eBottom); },\n setTopDisplay: function (display) { return _this.eTop.style.display = display; },\n setBottomDisplay: function (display) { return _this.eBottom.style.display = display; },\n setColumnMovingCss: function (cssClass, flag) { return _this.addOrRemoveCssClass(CSS_CLASS_COLUMN_MOVING, flag); },\n updateLayoutClasses: function (cssClass, params) {\n var bodyViewportClassList = _this.eBodyViewport.classList;\n bodyViewportClassList.toggle(exports.LayoutCssClasses.AUTO_HEIGHT, params.autoHeight);\n bodyViewportClassList.toggle(exports.LayoutCssClasses.NORMAL, params.normal);\n bodyViewportClassList.toggle(exports.LayoutCssClasses.PRINT, params.print);\n _this.addOrRemoveCssClass(exports.LayoutCssClasses.AUTO_HEIGHT, params.autoHeight);\n _this.addOrRemoveCssClass(exports.LayoutCssClasses.NORMAL, params.normal);\n _this.addOrRemoveCssClass(exports.LayoutCssClasses.PRINT, params.print);\n },\n setAlwaysVerticalScrollClass: function (cssClass, on) {\n return _this.eBodyViewport.classList.toggle(CSS_CLASS_FORCE_VERTICAL_SCROLL, on);\n },\n registerBodyViewportResizeListener: function (listener) {\n var unsubscribeFromResize = _this.resizeObserverService.observeResize(_this.eBodyViewport, listener);\n _this.addDestroyFunc(function () { return unsubscribeFromResize(); });\n },\n setPinnedTopBottomOverflowY: function (overflow) { return _this.eTop.style.overflowY = _this.eBottom.style.overflowY = overflow; },\n setCellSelectableCss: function (cssClass, selectable) {\n [_this.eTop, _this.eBodyViewport, _this.eBottom]\n .forEach(function (ct) { return ct.classList.toggle(CSS_CLASS_CELL_SELECTABLE, selectable); });\n },\n };\n this.ctrl = this.createManagedBean(new GridBodyCtrl());\n this.ctrl.setComp(compProxy, this.getGui(), this.eBodyViewport, this.eTop, this.eBottom);\n if (this.rangeService || this.gridOptionsWrapper.isRowSelectionMulti()) {\n setAriaMultiSelectable(this.getGui(), true);\n }\n };\n GridBodyComp.prototype.setRowAnimationCssOnBodyViewport = function (cssClass, animateRows) {\n var bodyViewportClassList = this.eBodyViewport.classList;\n bodyViewportClassList.toggle(exports.RowAnimationCssClasses.ANIMATION_ON, animateRows);\n bodyViewportClassList.toggle(exports.RowAnimationCssClasses.ANIMATION_OFF, !animateRows);\n };\n GridBodyComp.prototype.getFloatingTopBottom = function () {\n return [this.eTop, this.eBottom];\n };\n __decorate$X([\n Autowired('resizeObserverService')\n ], GridBodyComp.prototype, \"resizeObserverService\", void 0);\n __decorate$X([\n Optional('rangeService')\n ], GridBodyComp.prototype, \"rangeService\", void 0);\n __decorate$X([\n RefSelector('eBodyViewport')\n ], GridBodyComp.prototype, \"eBodyViewport\", void 0);\n __decorate$X([\n RefSelector('eTop')\n ], GridBodyComp.prototype, \"eTop\", void 0);\n __decorate$X([\n RefSelector('eBottom')\n ], GridBodyComp.prototype, \"eBottom\", void 0);\n __decorate$X([\n RefSelector('gridHeader')\n ], GridBodyComp.prototype, \"headerRootComp\", void 0);\n __decorate$X([\n PostConstruct\n ], GridBodyComp.prototype, \"init\", null);\n return GridBodyComp;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$19 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$Y = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar ScrollVisibleService = /** @class */ (function (_super) {\n __extends$19(ScrollVisibleService, _super);\n function ScrollVisibleService() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ScrollVisibleService.prototype.postConstruct = function () {\n this.addManagedListener(this.eventService, Events.EVENT_DISPLAYED_COLUMNS_CHANGED, this.onDisplayedColumnsChanged.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_DISPLAYED_COLUMNS_WIDTH_CHANGED, this.onDisplayedColumnsWidthChanged.bind(this));\n };\n ScrollVisibleService.prototype.onDisplayedColumnsChanged = function () {\n this.update();\n };\n ScrollVisibleService.prototype.onDisplayedColumnsWidthChanged = function () {\n this.update();\n };\n ScrollVisibleService.prototype.update = function () {\n // because of column animation (which takes 200ms), we have to do this twice.\n // eg if user removes cols anywhere except at the RHS, then the cols on the RHS\n // will animate to the left to fill the gap. this animation means just after\n // the cols are removed, the remaining cols are still in the original location\n // at the start of the animation, so pre animation the H scrollbar is still needed,\n // but post animation it is not.\n this.updateImpl();\n setTimeout(this.updateImpl.bind(this), 500);\n };\n ScrollVisibleService.prototype.updateImpl = function () {\n var centerRowCtrl = this.ctrlsService.getCenterRowContainerCtrl();\n if (!centerRowCtrl) {\n return;\n }\n var params = {\n horizontalScrollShowing: centerRowCtrl.isHorizontalScrollShowing(),\n verticalScrollShowing: this.isVerticalScrollShowing()\n };\n this.setScrollsVisible(params);\n };\n ScrollVisibleService.prototype.setScrollsVisible = function (params) {\n var atLeastOneDifferent = this.horizontalScrollShowing !== params.horizontalScrollShowing ||\n this.verticalScrollShowing !== params.verticalScrollShowing;\n if (atLeastOneDifferent) {\n this.horizontalScrollShowing = params.horizontalScrollShowing;\n this.verticalScrollShowing = params.verticalScrollShowing;\n var event_1 = {\n type: Events.EVENT_SCROLL_VISIBILITY_CHANGED,\n api: this.gridApi,\n columnApi: this.columnApi\n };\n this.eventService.dispatchEvent(event_1);\n }\n };\n // used by pagination service - to know page height\n ScrollVisibleService.prototype.isHorizontalScrollShowing = function () {\n return this.horizontalScrollShowing;\n };\n // used by header container\n ScrollVisibleService.prototype.isVerticalScrollShowing = function () {\n return this.verticalScrollShowing;\n };\n __decorate$Y([\n Autowired('columnApi')\n ], ScrollVisibleService.prototype, \"columnApi\", void 0);\n __decorate$Y([\n Autowired('gridApi')\n ], ScrollVisibleService.prototype, \"gridApi\", void 0);\n __decorate$Y([\n Autowired('ctrlsService')\n ], ScrollVisibleService.prototype, \"ctrlsService\", void 0);\n __decorate$Y([\n PostConstruct\n ], ScrollVisibleService.prototype, \"postConstruct\", null);\n ScrollVisibleService = __decorate$Y([\n Bean('scrollVisibleService')\n ], ScrollVisibleService);\n return ScrollVisibleService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1a = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$Z = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar MouseEventService = /** @class */ (function (_super) {\n __extends$1a(MouseEventService, _super);\n function MouseEventService() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.gridInstanceId = MouseEventService_1.gridInstanceSequence.next();\n return _this;\n }\n MouseEventService_1 = MouseEventService;\n // we put the instance id onto the main DOM element. this is used for events, when grids are inside grids,\n // so the grid can work out if the even came from this grid or a grid inside this one. see the ctrl+v logic\n // for where this is used.\n MouseEventService.prototype.stampTopLevelGridCompWithGridInstance = function (eGridDiv) {\n eGridDiv[MouseEventService_1.GRID_DOM_KEY] = this.gridInstanceId;\n };\n MouseEventService.prototype.getRenderedCellForEvent = function (event) {\n return getCtrlForEvent(this.gridOptionsWrapper, event, CellCtrl.DOM_DATA_KEY_CELL_CTRL);\n };\n // walks the path of the event, and returns true if this grid is the first one that it finds. if doing\n // master / detail grids, and a child grid is found, then it returns false. this stops things like copy/paste\n // getting executed on many grids at the same time.\n MouseEventService.prototype.isEventFromThisGrid = function (event) {\n var res = this.isElementInThisGrid(event.target);\n return res;\n };\n MouseEventService.prototype.isElementInThisGrid = function (element) {\n var pointer = element;\n while (pointer) {\n var instanceId = pointer[MouseEventService_1.GRID_DOM_KEY];\n if (exists(instanceId)) {\n var eventFromThisGrid = instanceId === this.gridInstanceId;\n return eventFromThisGrid;\n }\n pointer = pointer.parentElement;\n }\n return false;\n };\n MouseEventService.prototype.getCellPositionForEvent = function (event) {\n var cellComp = this.getRenderedCellForEvent(event);\n return cellComp ? cellComp.getCellPosition() : null;\n };\n MouseEventService.prototype.getNormalisedPosition = function (event) {\n var gridPanelHasScrolls = this.gridOptionsWrapper.getDomLayout() === Constants.DOM_LAYOUT_NORMAL;\n var e = event;\n var x;\n var y;\n if (e.clientX != null || e.clientY != null) {\n x = e.clientX;\n y = e.clientY;\n }\n else {\n x = e.x;\n y = e.y;\n }\n if (gridPanelHasScrolls) {\n var gridBodyCon = this.ctrlsService.getGridBodyCtrl();\n var vRange = gridBodyCon.getScrollFeature().getVScrollPosition();\n var hRange = gridBodyCon.getScrollFeature().getHScrollPosition();\n x += hRange.left;\n y += vRange.top;\n }\n return { x: x, y: y };\n };\n var MouseEventService_1;\n MouseEventService.gridInstanceSequence = new NumberSequence();\n MouseEventService.GRID_DOM_KEY = '__ag_grid_instance';\n __decorate$Z([\n Autowired('ctrlsService')\n ], MouseEventService.prototype, \"ctrlsService\", void 0);\n MouseEventService = MouseEventService_1 = __decorate$Z([\n Bean('mouseEventService')\n ], MouseEventService);\n return MouseEventService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1b = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign$c = (undefined && undefined.__assign) || function () {\n __assign$c = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign$c.apply(this, arguments);\n};\nvar __decorate$_ = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar NavigationService = /** @class */ (function (_super) {\n __extends$1b(NavigationService, _super);\n function NavigationService() {\n var _this = _super.call(this) || this;\n _this.onPageDown = throttle(_this.onPageDown, 100);\n _this.onPageUp = throttle(_this.onPageUp, 100);\n return _this;\n }\n NavigationService.prototype.postConstruct = function () {\n var _this = this;\n this.ctrlsService.whenReady(function (p) {\n _this.gridBodyCon = p.gridBodyCtrl;\n });\n };\n NavigationService.prototype.handlePageScrollingKey = function (event) {\n var key = event.key;\n var alt = event.altKey;\n var ctrl = event.ctrlKey || event.metaKey;\n var rangeServiceShouldHandleShift = !!this.rangeService && event.shiftKey;\n var currentCell = this.mouseEventService.getCellPositionForEvent(event);\n if (!currentCell) {\n return false;\n }\n var processed = false;\n switch (key) {\n case KeyCode.PAGE_HOME:\n case KeyCode.PAGE_END:\n // handle home and end when ctrl & alt are NOT pressed\n if (!ctrl && !alt) {\n this.onHomeOrEndKey(key);\n processed = true;\n }\n break;\n case KeyCode.LEFT:\n case KeyCode.RIGHT:\n case KeyCode.UP:\n case KeyCode.DOWN:\n // handle when ctrl is pressed only, if shift is pressed\n // it will be handled by the rangeService\n if (ctrl && !alt && !rangeServiceShouldHandleShift) {\n this.onCtrlUpDownLeftRight(key, currentCell);\n processed = true;\n }\n break;\n case KeyCode.PAGE_DOWN:\n // handle page up and page down when ctrl & alt are NOT pressed\n if (!ctrl && !alt) {\n this.onPageDown(currentCell);\n processed = true;\n }\n break;\n case KeyCode.PAGE_UP:\n // handle page up and page down when ctrl & alt are NOT pressed\n if (!ctrl && !alt) {\n this.onPageUp(currentCell);\n processed = true;\n }\n break;\n }\n if (processed) {\n event.preventDefault();\n }\n return processed;\n };\n NavigationService.prototype.navigateTo = function (navigateParams) {\n var scrollIndex = navigateParams.scrollIndex, scrollType = navigateParams.scrollType, scrollColumn = navigateParams.scrollColumn, focusIndex = navigateParams.focusIndex, focusColumn = navigateParams.focusColumn;\n if (exists(scrollColumn) && !scrollColumn.isPinned()) {\n this.gridBodyCon.getScrollFeature().ensureColumnVisible(scrollColumn);\n }\n if (exists(scrollIndex)) {\n this.gridBodyCon.getScrollFeature().ensureIndexVisible(scrollIndex, scrollType);\n }\n // make sure the cell is rendered, needed if we are to focus\n this.animationFrameService.flushAllFrames();\n // if we don't do this, the range will be left on the last cell, which will leave the last focused cell\n // highlighted.\n this.focusService.setFocusedCell(focusIndex, focusColumn, null, true);\n if (this.rangeService) {\n var cellPosition = { rowIndex: focusIndex, rowPinned: null, column: focusColumn };\n this.rangeService.setRangeToCell(cellPosition);\n }\n };\n NavigationService.prototype.onPageDown = function (gridCell) {\n var gridBodyCon = this.ctrlsService.getGridBodyCtrl();\n var scrollPosition = gridBodyCon.getScrollFeature().getVScrollPosition();\n var pixelsInOnePage = this.getViewportHeight();\n var pagingPixelOffset = this.paginationProxy.getPixelOffset();\n var currentPageBottomPixel = scrollPosition.top + pixelsInOnePage;\n var currentPageBottomRow = this.paginationProxy.getRowIndexAtPixel(currentPageBottomPixel + pagingPixelOffset);\n if (this.columnModel.isAutoRowHeightActive()) {\n this.navigateToNextPageWithAutoHeight(gridCell, currentPageBottomRow);\n }\n else {\n this.navigateToNextPage(gridCell, currentPageBottomRow);\n }\n };\n NavigationService.prototype.onPageUp = function (gridCell) {\n var gridBodyCon = this.ctrlsService.getGridBodyCtrl();\n var scrollPosition = gridBodyCon.getScrollFeature().getVScrollPosition();\n var pagingPixelOffset = this.paginationProxy.getPixelOffset();\n var currentPageTopPixel = scrollPosition.top;\n var currentPageTopRow = this.paginationProxy.getRowIndexAtPixel(currentPageTopPixel + pagingPixelOffset);\n if (this.columnModel.isAutoRowHeightActive()) {\n this.navigateToNextPageWithAutoHeight(gridCell, currentPageTopRow, true);\n }\n else {\n this.navigateToNextPage(gridCell, currentPageTopRow, true);\n }\n };\n NavigationService.prototype.navigateToNextPage = function (gridCell, scrollIndex, up) {\n if (up === void 0) { up = false; }\n var _a, _b;\n var pixelsInOnePage = this.getViewportHeight();\n var firstRow = this.paginationProxy.getPageFirstRow();\n var lastRow = this.paginationProxy.getPageLastRow();\n var pagingPixelOffset = this.paginationProxy.getPixelOffset();\n var currentRowNode = this.paginationProxy.getRow(gridCell.rowIndex);\n var rowPixelDiff = up\n ? (((_a = currentRowNode) === null || _a === void 0 ? void 0 : _a.rowHeight) - pixelsInOnePage - pagingPixelOffset)\n : (pixelsInOnePage - pagingPixelOffset);\n var nextCellPixel = ((_b = currentRowNode) === null || _b === void 0 ? void 0 : _b.rowTop) + rowPixelDiff;\n var focusIndex = this.paginationProxy.getRowIndexAtPixel(nextCellPixel + pagingPixelOffset);\n if (focusIndex === gridCell.rowIndex) {\n var diff = up ? -1 : 1;\n scrollIndex = focusIndex = gridCell.rowIndex + diff;\n }\n var scrollType;\n if (up) {\n scrollType = 'bottom';\n if (focusIndex < firstRow) {\n focusIndex = firstRow;\n }\n if (scrollIndex < firstRow) {\n scrollIndex = firstRow;\n }\n }\n else {\n scrollType = 'top';\n if (focusIndex > lastRow) {\n focusIndex = lastRow;\n }\n if (scrollIndex > lastRow) {\n scrollIndex = lastRow;\n }\n }\n if (this.isRowTallerThanView(focusIndex)) {\n scrollIndex = focusIndex;\n scrollType = 'top';\n }\n this.navigateTo({\n scrollIndex: scrollIndex,\n scrollType: scrollType,\n scrollColumn: null,\n focusIndex: focusIndex,\n focusColumn: gridCell.column\n });\n };\n NavigationService.prototype.navigateToNextPageWithAutoHeight = function (gridCell, scrollIndex, up) {\n var _this = this;\n if (up === void 0) { up = false; }\n // because autoHeight will calculate the height of rows after scroll\n // first we scroll towards the required point, then we add a small\n // delay to allow the height to be recalculated, check which index\n // should be focused and then finally navigate to that index.\n // TODO: we should probably have an event fired once to scrollbar has\n // settled and all rowHeights have been calculated instead of relying\n // on a setTimeout of 50ms.\n this.navigateTo({\n scrollIndex: scrollIndex,\n scrollType: up ? 'bottom' : 'top',\n scrollColumn: null,\n focusIndex: scrollIndex,\n focusColumn: gridCell.column\n });\n setTimeout(function () {\n var focusIndex = _this.getNextFocusIndexForAutoHeight(gridCell, up);\n _this.navigateTo({\n scrollIndex: scrollIndex,\n scrollType: up ? 'bottom' : 'top',\n scrollColumn: null,\n focusIndex: focusIndex,\n focusColumn: gridCell.column\n });\n }, 50);\n };\n NavigationService.prototype.getNextFocusIndexForAutoHeight = function (gridCell, up) {\n if (up === void 0) { up = false; }\n var _a;\n var step = up ? -1 : 1;\n var pixelsInOnePage = this.getViewportHeight();\n var lastRowIndex = this.paginationProxy.getPageLastRow();\n var pixelSum = 0;\n var currentIndex = gridCell.rowIndex;\n while (currentIndex >= 0 && currentIndex <= lastRowIndex) {\n var currentCell = this.paginationProxy.getRow(currentIndex);\n if (currentCell) {\n var currentCellHeight = (_a = currentCell.rowHeight, (_a !== null && _a !== void 0 ? _a : 0));\n if (pixelSum + currentCellHeight > pixelsInOnePage) {\n break;\n }\n pixelSum += currentCellHeight;\n }\n currentIndex += step;\n }\n return Math.max(0, Math.min(currentIndex, lastRowIndex));\n };\n NavigationService.prototype.getViewportHeight = function () {\n var gridBodyCon = this.ctrlsService.getGridBodyCtrl();\n var scrollPosition = gridBodyCon.getScrollFeature().getVScrollPosition();\n var scrollbarWidth = this.gridOptionsWrapper.getScrollbarWidth();\n var pixelsInOnePage = scrollPosition.bottom - scrollPosition.top;\n if (this.ctrlsService.getCenterRowContainerCtrl().isHorizontalScrollShowing()) {\n pixelsInOnePage -= scrollbarWidth;\n }\n return pixelsInOnePage;\n };\n NavigationService.prototype.isRowTallerThanView = function (rowIndex) {\n var rowNode = this.paginationProxy.getRow(rowIndex);\n if (!rowNode) {\n return false;\n }\n var rowHeight = rowNode.rowHeight;\n if (typeof rowHeight !== 'number') {\n return false;\n }\n return rowHeight > this.getViewportHeight();\n };\n NavigationService.prototype.onCtrlUpDownLeftRight = function (key, gridCell) {\n var cellToFocus = this.cellNavigationService.getNextCellToFocus(key, gridCell, true);\n var rowIndex = cellToFocus.rowIndex, column = cellToFocus.column;\n this.navigateTo({\n scrollIndex: rowIndex,\n scrollType: null,\n scrollColumn: column,\n focusIndex: rowIndex,\n focusColumn: column\n });\n };\n // home brings focus to top left cell, end brings focus to bottom right, grid scrolled to bring\n // same cell into view (which means either scroll all the way up, or all the way down).\n NavigationService.prototype.onHomeOrEndKey = function (key) {\n var homeKey = key === KeyCode.PAGE_HOME;\n var allColumns = this.columnModel.getAllDisplayedColumns();\n var columnToSelect = homeKey ? allColumns[0] : last(allColumns);\n var scrollIndex = homeKey ? this.paginationProxy.getPageFirstRow() : this.paginationProxy.getPageLastRow();\n this.navigateTo({\n scrollIndex: scrollIndex,\n scrollType: null,\n scrollColumn: columnToSelect,\n focusIndex: scrollIndex,\n focusColumn: columnToSelect\n });\n };\n // result of keyboard event\n NavigationService.prototype.onTabKeyDown = function (previous, keyboardEvent) {\n var backwards = keyboardEvent.shiftKey;\n var movedToNextCell = this.tabToNextCellCommon(previous, backwards, keyboardEvent);\n if (movedToNextCell) {\n // only prevent default if we found a cell. so if user is on last cell and hits tab, then we default\n // to the normal tabbing so user can exit the grid.\n keyboardEvent.preventDefault();\n return;\n }\n // if we didn't move to next cell, then need to tab out of the cells, ie to the header (if going\n // backwards)\n if (backwards) {\n var _a = previous.getRowPosition(), rowIndex = _a.rowIndex, rowPinned = _a.rowPinned;\n var firstRow = rowPinned ? rowIndex === 0 : rowIndex === this.paginationProxy.getPageFirstRow();\n if (firstRow) {\n keyboardEvent.preventDefault();\n this.focusService.focusLastHeader(keyboardEvent);\n }\n }\n else {\n // if the case it's a popup editor, the focus is on the editor and not the previous cell.\n // in order for the tab navigation to work, we need to focus the browser back onto the\n // previous cell.\n if (previous instanceof CellCtrl) {\n previous.focusCell(true);\n }\n if (this.focusService.focusNextGridCoreContainer(backwards)) {\n keyboardEvent.preventDefault();\n }\n }\n };\n // comes from API\n NavigationService.prototype.tabToNextCell = function (backwards, event) {\n var focusedCell = this.focusService.getFocusedCell();\n // if no focus, then cannot navigate\n if (!focusedCell) {\n return false;\n }\n var cellOrRow = this.getCellByPosition(focusedCell);\n // if cell is not rendered, means user has scrolled away from the cell\n // or that the focusedCell is a Full Width Row\n if (!cellOrRow) {\n cellOrRow = this.rowRenderer.getRowByPosition(focusedCell);\n if (!cellOrRow || !cellOrRow.isFullWidth()) {\n return false;\n }\n }\n return this.tabToNextCellCommon(cellOrRow, backwards, event);\n };\n NavigationService.prototype.tabToNextCellCommon = function (previous, backwards, event) {\n var editing = previous.isEditing();\n // if cell is not editing, there is still chance row is editing if it's Full Row Editing\n if (!editing && previous instanceof CellCtrl) {\n var cell = previous;\n var row = cell.getRowCtrl();\n if (row) {\n editing = row.isEditing();\n }\n }\n var res;\n if (editing) {\n // if we are editing, we know it's not a Full Width Row (RowComp)\n if (this.gridOptionsWrapper.isFullRowEdit()) {\n res = this.moveToNextEditingRow(previous, backwards, event);\n }\n else {\n res = this.moveToNextEditingCell(previous, backwards, event);\n }\n }\n else {\n res = this.moveToNextCellNotEditing(previous, backwards);\n }\n // if a cell wasn't found, it's possible that focus was moved to the header\n return res || !!this.focusService.getFocusedHeader();\n };\n NavigationService.prototype.moveToNextEditingCell = function (previousCell, backwards, event) {\n if (event === void 0) { event = null; }\n var previousPos = previousCell.getCellPosition();\n // need to do this before getting next cell to edit, in case the next cell\n // has editable function (eg colDef.editable=func() ) and it depends on the\n // result of this cell, so need to save updates from the first edit, in case\n // the value is referenced in the function.\n previousCell.stopEditing();\n // find the next cell to start editing\n var nextCell = this.findNextCellToFocusOn(previousPos, backwards, true);\n if (nextCell == null) {\n return false;\n }\n // only prevent default if we found a cell. so if user is on last cell and hits tab, then we default\n // to the normal tabbing so user can exit the grid.\n nextCell.startEditing(null, null, true, event);\n nextCell.focusCell(false);\n return true;\n };\n NavigationService.prototype.moveToNextEditingRow = function (previousCell, backwards, event) {\n if (event === void 0) { event = null; }\n var previousPos = previousCell.getCellPosition();\n // find the next cell to start editing\n var nextCell = this.findNextCellToFocusOn(previousPos, backwards, true);\n if (nextCell == null) {\n return false;\n }\n var nextPos = nextCell.getCellPosition();\n var previousEditable = this.isCellEditable(previousPos);\n var nextEditable = this.isCellEditable(nextPos);\n var rowsMatch = nextPos && previousPos.rowIndex === nextPos.rowIndex && previousPos.rowPinned === nextPos.rowPinned;\n if (previousEditable) {\n previousCell.setFocusOutOnEditor();\n }\n if (!rowsMatch) {\n var pRow = previousCell.getRowCtrl();\n pRow.stopEditing();\n var nRow = nextCell.getRowCtrl();\n nRow.startRowEditing(undefined, undefined, undefined, event);\n }\n if (nextEditable) {\n nextCell.setFocusInOnEditor();\n nextCell.focusCell();\n }\n else {\n nextCell.focusCell(true);\n }\n return true;\n };\n NavigationService.prototype.moveToNextCellNotEditing = function (previousCell, backwards) {\n var displayedColumns = this.columnModel.getAllDisplayedColumns();\n var cellPos;\n if (previousCell instanceof RowCtrl) {\n cellPos = __assign$c(__assign$c({}, previousCell.getRowPosition()), { column: backwards ? displayedColumns[0] : last(displayedColumns) });\n }\n else {\n cellPos = previousCell.getCellPosition();\n }\n // find the next cell to start editing\n var nextCell = this.findNextCellToFocusOn(cellPos, backwards, false);\n // only prevent default if we found a cell. so if user is on last cell and hits tab, then we default\n // to the normal tabbing so user can exit the grid.\n if (nextCell instanceof CellCtrl) {\n nextCell.focusCell(true);\n }\n else if (nextCell) {\n return this.tryToFocusFullWidthRow(nextCell.getRowPosition(), backwards);\n }\n return exists(nextCell);\n };\n // called by the cell, when tab is pressed while editing.\n // @return: RenderedCell when navigation successful, otherwise null\n NavigationService.prototype.findNextCellToFocusOn = function (previousPosition, backwards, startEditing) {\n var nextPosition = previousPosition;\n while (true) {\n if (previousPosition !== nextPosition) {\n previousPosition = nextPosition;\n }\n if (!backwards) {\n nextPosition = this.getLastCellOfColSpan(nextPosition);\n }\n nextPosition = this.cellNavigationService.getNextTabbedCell(nextPosition, backwards);\n // allow user to override what cell to go to next\n var userFunc = this.gridOptionsWrapper.getTabToNextCellFunc();\n if (exists(userFunc)) {\n var params = {\n backwards: backwards,\n editing: startEditing,\n previousCellPosition: previousPosition,\n nextCellPosition: nextPosition ? nextPosition : null\n };\n var userCell = userFunc(params);\n if (exists(userCell)) {\n if (userCell.floating) {\n doOnce(function () { console.warn(\"AG Grid: tabToNextCellFunc return type should have attributes: rowIndex, rowPinned, column. However you had 'floating', maybe you meant 'rowPinned'?\"); }, 'no floating in userCell');\n userCell.rowPinned = userCell.floating;\n }\n nextPosition = {\n rowIndex: userCell.rowIndex,\n column: userCell.column,\n rowPinned: userCell.rowPinned\n };\n }\n else {\n nextPosition = null;\n }\n }\n // if no 'next cell', means we have got to last cell of grid, so nothing to move to,\n // so bottom right cell going forwards, or top left going backwards\n if (!nextPosition) {\n return null;\n }\n if (nextPosition.rowIndex < 0) {\n var headerLen = this.headerNavigationService.getHeaderRowCount();\n this.focusService.focusHeaderPosition({\n headerPosition: {\n headerRowIndex: headerLen + (nextPosition.rowIndex),\n column: nextPosition.column\n }\n });\n return null;\n }\n // if editing, but cell not editable, skip cell. we do this before we do all of\n // the 'ensure index visible' and 'flush all frames', otherwise if we are skipping\n // a bunch of cells (eg 10 rows) then all the work on ensuring cell visible is useless\n // (except for the last one) which causes grid to stall for a while.\n // note - for full row edit, we do focus non-editable cells, as the row stays in edit mode.\n var fullRowEdit = this.gridOptionsWrapper.isFullRowEdit();\n if (startEditing && !fullRowEdit) {\n var cellIsEditable = this.isCellEditable(nextPosition);\n if (!cellIsEditable) {\n continue;\n }\n }\n this.ensureCellVisible(nextPosition);\n // we have to call this after ensureColumnVisible - otherwise it could be a virtual column\n // or row that is not currently in view, hence the renderedCell would not exist\n var nextCell = this.getCellByPosition(nextPosition);\n // if next cell is fullWidth row, then no rendered cell,\n // as fullWidth rows have no cells, so we skip it\n if (!nextCell) {\n var row = this.rowRenderer.getRowByPosition(nextPosition);\n if (!row || !row.isFullWidth()) {\n continue;\n }\n else {\n return row;\n }\n }\n if (nextCell.isSuppressNavigable()) {\n continue;\n }\n // by default, when we click a cell, it gets selected into a range, so to keep keyboard navigation\n // consistent, we set into range here also.\n if (this.rangeService) {\n this.rangeService.setRangeToCell(nextPosition);\n }\n // we successfully tabbed onto a grid cell, so return true\n return nextCell;\n }\n };\n NavigationService.prototype.isCellEditable = function (cell) {\n var rowNode = this.lookupRowNodeForCell(cell);\n if (rowNode) {\n return cell.column.isCellEditable(rowNode);\n }\n return false;\n };\n NavigationService.prototype.getCellByPosition = function (cellPosition) {\n var rowCtrl = this.rowRenderer.getRowByPosition(cellPosition);\n if (!rowCtrl) {\n return null;\n }\n return rowCtrl.getCellCtrl(cellPosition.column);\n };\n NavigationService.prototype.lookupRowNodeForCell = function (cell) {\n if (cell.rowPinned === Constants.PINNED_TOP) {\n return this.pinnedRowModel.getPinnedTopRow(cell.rowIndex);\n }\n if (cell.rowPinned === Constants.PINNED_BOTTOM) {\n return this.pinnedRowModel.getPinnedBottomRow(cell.rowIndex);\n }\n return this.paginationProxy.getRow(cell.rowIndex);\n };\n // we use index for rows, but column object for columns, as the next column (by index) might not\n // be visible (header grouping) so it's not reliable, so using the column object instead.\n NavigationService.prototype.navigateToNextCell = function (event, key, currentCell, allowUserOverride) {\n // we keep searching for a next cell until we find one. this is how the group rows get skipped\n var nextCell = currentCell;\n var hitEdgeOfGrid = false;\n while (nextCell && (nextCell === currentCell || !this.isValidNavigateCell(nextCell))) {\n // if the current cell is spanning across multiple columns, we need to move\n // our current position to be the last cell on the right before finding the\n // the next target.\n if (this.gridOptionsWrapper.isEnableRtl()) {\n if (key === KeyCode.LEFT) {\n nextCell = this.getLastCellOfColSpan(nextCell);\n }\n }\n else if (key === KeyCode.RIGHT) {\n nextCell = this.getLastCellOfColSpan(nextCell);\n }\n nextCell = this.cellNavigationService.getNextCellToFocus(key, nextCell);\n // eg if going down, and nextCell=undefined, means we are gone past the last row\n hitEdgeOfGrid = missing(nextCell);\n }\n if (hitEdgeOfGrid && event && event.key === KeyCode.UP) {\n nextCell = {\n rowIndex: -1,\n rowPinned: null,\n column: currentCell.column\n };\n }\n // allow user to override what cell to go to next. when doing normal cell navigation (with keys)\n // we allow this, however if processing 'enter after edit' we don't allow override\n if (allowUserOverride) {\n var userFunc = this.gridOptionsWrapper.getNavigateToNextCellFunc();\n if (exists(userFunc)) {\n var params = {\n key: key,\n previousCellPosition: currentCell,\n nextCellPosition: nextCell ? nextCell : null,\n event: event\n };\n var userCell = userFunc(params);\n if (exists(userCell)) {\n if (userCell.floating) {\n doOnce(function () { console.warn(\"AG Grid: tabToNextCellFunc return type should have attributes: rowIndex, rowPinned, column. However you had 'floating', maybe you meant 'rowPinned'?\"); }, 'no floating in userCell');\n userCell.rowPinned = userCell.floating;\n }\n nextCell = {\n rowPinned: userCell.rowPinned,\n rowIndex: userCell.rowIndex,\n column: userCell.column\n };\n }\n else {\n nextCell = null;\n }\n }\n }\n // no next cell means we have reached a grid boundary, eg left, right, top or bottom of grid\n if (!nextCell) {\n return;\n }\n if (nextCell.rowIndex < 0) {\n var headerLen = this.headerNavigationService.getHeaderRowCount();\n this.focusService.focusHeaderPosition({\n headerPosition: { headerRowIndex: headerLen + (nextCell.rowIndex), column: currentCell.column },\n event: event || undefined\n });\n return;\n }\n // in case we have col spanning we get the cellComp and use it to get the\n // position. This was we always focus the first cell inside the spanning.\n var normalisedPosition = this.getNormalisedPosition(nextCell);\n if (normalisedPosition) {\n this.focusPosition(normalisedPosition);\n }\n else {\n this.tryToFocusFullWidthRow(nextCell);\n }\n };\n NavigationService.prototype.getNormalisedPosition = function (cellPosition) {\n // ensureCellVisible first, to make sure cell at position is rendered.\n this.ensureCellVisible(cellPosition);\n var cellComp = this.getCellByPosition(cellPosition);\n // not guaranteed to have a cellComp when using the SSRM as blocks are loading.\n if (!cellComp) {\n return null;\n }\n cellPosition = cellComp.getCellPosition();\n // we call this again, as nextCell can be different to it's previous value due to Column Spanning\n // (ie if cursor moving from right to left, and cell is spanning columns, then nextCell was the\n // last column in the group, however now it's the first column in the group). if we didn't do\n // ensureCellVisible again, then we could only be showing the last portion (last column) of the\n // merged cells.\n this.ensureCellVisible(cellPosition);\n return cellPosition;\n };\n NavigationService.prototype.tryToFocusFullWidthRow = function (position, backwards) {\n if (backwards === void 0) { backwards = false; }\n var displayedColumns = this.columnModel.getAllDisplayedColumns();\n var rowComp = this.rowRenderer.getRowByPosition(position);\n if (!rowComp || !rowComp.isFullWidth()) {\n return false;\n }\n var currentCellFocused = this.focusService.getFocusedCell();\n var cellPosition = {\n rowIndex: position.rowIndex,\n rowPinned: position.rowPinned,\n column: position.column || (backwards ? last(displayedColumns) : displayedColumns[0])\n };\n this.focusPosition(cellPosition);\n var fromBelow = currentCellFocused != null ? this.rowPositionUtils.before(cellPosition, currentCellFocused) : false;\n var focusEvent = {\n type: Events.EVENT_FULL_WIDTH_ROW_FOCUSED,\n api: this.gridApi,\n columnApi: this.columnApi,\n rowIndex: cellPosition.rowIndex,\n rowPinned: cellPosition.rowPinned,\n column: cellPosition.column,\n isFullWidthCell: true,\n floating: cellPosition.rowPinned,\n fromBelow: fromBelow\n };\n this.eventService.dispatchEvent(focusEvent);\n return true;\n };\n NavigationService.prototype.focusPosition = function (cellPosition) {\n this.focusService.setFocusedCell(cellPosition.rowIndex, cellPosition.column, cellPosition.rowPinned, true);\n if (this.rangeService) {\n this.rangeService.setRangeToCell(cellPosition);\n }\n };\n NavigationService.prototype.isValidNavigateCell = function (cell) {\n var rowNode = this.rowPositionUtils.getRowNode(cell);\n // we do not allow focusing on detail rows and full width rows\n return !!rowNode;\n };\n NavigationService.prototype.getLastCellOfColSpan = function (cell) {\n var cellCtrl = this.getCellByPosition(cell);\n if (!cellCtrl) {\n return cell;\n }\n var colSpanningList = cellCtrl.getColSpanningList();\n if (colSpanningList.length === 1) {\n return cell;\n }\n return {\n rowIndex: cell.rowIndex,\n column: last(colSpanningList),\n rowPinned: cell.rowPinned\n };\n };\n NavigationService.prototype.ensureCellVisible = function (gridCell) {\n // this scrolls the row into view\n if (missing(gridCell.rowPinned)) {\n this.gridBodyCon.getScrollFeature().ensureIndexVisible(gridCell.rowIndex);\n }\n if (!gridCell.column.isPinned()) {\n this.gridBodyCon.getScrollFeature().ensureColumnVisible(gridCell.column);\n }\n // need to nudge the scrolls for the floating items. otherwise when we set focus on a non-visible\n // floating cell, the scrolls get out of sync\n this.gridBodyCon.getScrollFeature().horizontallyScrollHeaderCenterAndFloatingCenter();\n // need to flush frames, to make sure the correct cells are rendered\n this.animationFrameService.flushAllFrames();\n };\n __decorate$_([\n Autowired('columnApi')\n ], NavigationService.prototype, \"columnApi\", void 0);\n __decorate$_([\n Autowired('gridApi')\n ], NavigationService.prototype, \"gridApi\", void 0);\n __decorate$_([\n Autowired('mouseEventService')\n ], NavigationService.prototype, \"mouseEventService\", void 0);\n __decorate$_([\n Autowired('paginationProxy')\n ], NavigationService.prototype, \"paginationProxy\", void 0);\n __decorate$_([\n Autowired('focusService')\n ], NavigationService.prototype, \"focusService\", void 0);\n __decorate$_([\n Autowired('animationFrameService')\n ], NavigationService.prototype, \"animationFrameService\", void 0);\n __decorate$_([\n Optional('rangeService')\n ], NavigationService.prototype, \"rangeService\", void 0);\n __decorate$_([\n Autowired('columnModel')\n ], NavigationService.prototype, \"columnModel\", void 0);\n __decorate$_([\n Autowired('ctrlsService')\n ], NavigationService.prototype, \"ctrlsService\", void 0);\n __decorate$_([\n Autowired('rowRenderer')\n ], NavigationService.prototype, \"rowRenderer\", void 0);\n __decorate$_([\n Autowired('headerNavigationService')\n ], NavigationService.prototype, \"headerNavigationService\", void 0);\n __decorate$_([\n Autowired(\"rowPositionUtils\")\n ], NavigationService.prototype, \"rowPositionUtils\", void 0);\n __decorate$_([\n Autowired(\"cellNavigationService\")\n ], NavigationService.prototype, \"cellNavigationService\", void 0);\n __decorate$_([\n Autowired(\"pinnedRowModel\")\n ], NavigationService.prototype, \"pinnedRowModel\", void 0);\n __decorate$_([\n PostConstruct\n ], NavigationService.prototype, \"postConstruct\", null);\n NavigationService = __decorate$_([\n Bean('navigationService')\n ], NavigationService);\n return NavigationService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1c = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$$ = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar PopupEditorWrapper = /** @class */ (function (_super) {\n __extends$1c(PopupEditorWrapper, _super);\n function PopupEditorWrapper(params) {\n var _this = _super.call(this, /* html */ \"
\") || this;\n _this.params = params;\n return _this;\n }\n PopupEditorWrapper.prototype.postConstruct = function () {\n this.gridOptionsWrapper.setDomData(this.getGui(), PopupEditorWrapper.DOM_KEY_POPUP_EDITOR_WRAPPER, true);\n this.addKeyDownListener();\n };\n PopupEditorWrapper.prototype.addKeyDownListener = function () {\n var _this = this;\n var eGui = this.getGui();\n var params = this.params;\n var listener = function (event) {\n if (!isUserSuppressingKeyboardEvent(_this.gridOptionsWrapper, event, params.node, params.column, true)) {\n params.onKeyDown(event);\n }\n };\n this.addManagedListener(eGui, 'keydown', listener);\n };\n PopupEditorWrapper.DOM_KEY_POPUP_EDITOR_WRAPPER = 'popupEditorWrapper';\n __decorate$$([\n PostConstruct\n ], PopupEditorWrapper.prototype, \"postConstruct\", null);\n return PopupEditorWrapper;\n}(PopupComponent));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1d = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar CellComp = /** @class */ (function (_super) {\n __extends$1d(CellComp, _super);\n function CellComp(beans, cellCtrl, printLayout, eRow, editingRow) {\n var _this = _super.call(this) || this;\n // every time we go into edit mode, or back again, this gets incremented.\n // it's the components way of dealing with the async nature of framework components,\n // so if a framework component takes a while to be created, we know if the object\n // is still relevant when creating is finished. eg we could click edit / un-edit 20\n // times before the first React edit component comes back - we should discard\n // the first 19.\n _this.rendererVersion = 0;\n _this.editorVersion = 0;\n _this.beans = beans;\n _this.column = cellCtrl.getColumn();\n _this.rowNode = cellCtrl.getRowNode();\n _this.rowCtrl = cellCtrl.getRowCtrl();\n _this.eRow = eRow;\n _this.setTemplate(/* html */ \"
\");\n var eGui = _this.getGui();\n _this.forceWrapper = cellCtrl.isForceWrapper();\n _this.refreshWrapper(false);\n var setAttribute = function (name, value, element) {\n var actualElement = element ? element : eGui;\n if (value != null && value != '') {\n actualElement.setAttribute(name, value);\n }\n else {\n actualElement.removeAttribute(name);\n }\n };\n var compProxy = {\n addOrRemoveCssClass: function (cssClassName, on) { return _this.addOrRemoveCssClass(cssClassName, on); },\n setUserStyles: function (styles) { return addStylesToElement(eGui, styles); },\n getFocusableElement: function () { return _this.getFocusableElement(); },\n setTabIndex: function (tabIndex) { return setAttribute('tabindex', tabIndex.toString()); },\n setRole: function (role) { return setAriaRole(eGui, role); },\n setColId: function (colId) { return setAttribute('col-id', colId); },\n setTitle: function (title) { return setAttribute('title', title); },\n setIncludeSelection: function (include) { return _this.includeSelection = include; },\n setIncludeRowDrag: function (include) { return _this.includeRowDrag = include; },\n setIncludeDndSource: function (include) { return _this.includeDndSource = include; },\n setRenderDetails: function (compDetails, valueToDisplay, force) {\n return _this.setRenderDetails(compDetails, valueToDisplay, force);\n },\n setEditDetails: function (compDetails, popup, position) {\n return _this.setEditDetails(compDetails, popup, position);\n },\n getCellEditor: function () { return _this.cellEditor || null; },\n getCellRenderer: function () { return _this.cellRenderer || null; },\n getParentOfValue: function () { return _this.getParentOfValue(); }\n };\n _this.cellCtrl = cellCtrl;\n cellCtrl.setComp(compProxy, _this.getGui(), _this.eCellWrapper, printLayout, editingRow);\n return _this;\n }\n CellComp.prototype.getParentOfValue = function () {\n if (this.eCellValue) {\n // if not editing, and using wrapper, then value goes in eCellValue\n return this.eCellValue;\n }\n if (this.eCellWrapper) {\n // if editing, and using wrapper, value (cell editor) goes in eCellWrapper\n return this.eCellWrapper;\n }\n // if editing or rendering, and not using wrapper, value (or comp) is directly inside cell\n return this.getGui();\n };\n CellComp.prototype.setRenderDetails = function (compDetails, valueToDisplay, forceNewCellRendererInstance) {\n // this can happen if the users asks for the cell to refresh, but we are not showing the vale as we are editing\n var isInlineEditing = this.cellEditor && !this.cellEditorPopupWrapper;\n if (isInlineEditing) {\n return;\n }\n // this means firstRender will be true for one pass only, as it's initialised to undefined\n this.firstRender = this.firstRender == null;\n // if display template has changed, means any previous Cell Renderer is in the wrong location\n var controlWrapperChanged = this.refreshWrapper(false);\n // all of these have dependencies on the eGui, so only do them after eGui is set\n if (compDetails) {\n var neverRefresh = forceNewCellRendererInstance || controlWrapperChanged;\n var cellRendererRefreshSuccessful = neverRefresh ? false : this.refreshCellRenderer(compDetails);\n if (!cellRendererRefreshSuccessful) {\n this.destroyRenderer();\n this.createCellRendererInstance(compDetails);\n }\n }\n else {\n this.destroyRenderer();\n this.insertValueWithoutCellRenderer(valueToDisplay);\n }\n };\n CellComp.prototype.setEditDetails = function (compDetails, popup, position) {\n if (compDetails) {\n this.createCellEditorInstance(compDetails, popup, position);\n }\n else {\n this.destroyEditor();\n }\n };\n CellComp.prototype.removeControls = function () {\n this.checkboxSelectionComp = this.beans.context.destroyBean(this.checkboxSelectionComp);\n this.dndSourceComp = this.beans.context.destroyBean(this.dndSourceComp);\n this.rowDraggingComp = this.beans.context.destroyBean(this.rowDraggingComp);\n };\n // returns true if wrapper was changed\n CellComp.prototype.refreshWrapper = function (editing) {\n var providingControls = this.includeRowDrag || this.includeDndSource || this.includeSelection;\n var usingWrapper = providingControls || this.forceWrapper;\n var putWrapperIn = usingWrapper && this.eCellWrapper == null;\n if (putWrapperIn) {\n this.eCellWrapper = loadTemplate(\"
\");\n this.getGui().appendChild(this.eCellWrapper);\n }\n var takeWrapperOut = !usingWrapper && this.eCellWrapper != null;\n if (takeWrapperOut) {\n removeFromParent(this.eCellWrapper);\n this.eCellWrapper = undefined;\n }\n this.addOrRemoveCssClass('ag-cell-value', !usingWrapper);\n var usingCellValue = !editing && usingWrapper;\n var putCellValueIn = usingCellValue && this.eCellValue == null;\n if (putCellValueIn) {\n this.eCellValue = loadTemplate(\"\");\n this.eCellWrapper.appendChild(this.eCellValue);\n }\n var takeCellValueOut = !usingCellValue && this.eCellValue != null;\n if (takeCellValueOut) {\n removeFromParent(this.eCellValue);\n this.eCellValue = undefined;\n }\n var templateChanged = putWrapperIn || takeWrapperOut || putCellValueIn || takeCellValueOut;\n if (templateChanged) {\n this.removeControls();\n }\n if (!editing && providingControls) {\n this.addControls();\n }\n return templateChanged;\n };\n CellComp.prototype.addControls = function () {\n var id = this.eCellValue.id = \"cell-\" + this.getCompId();\n var describedByIds = [];\n if (this.includeRowDrag) {\n if (this.rowDraggingComp == null) {\n this.rowDraggingComp = this.cellCtrl.createRowDragComp();\n if (this.rowDraggingComp) {\n // put the checkbox in before the value\n this.eCellWrapper.insertBefore(this.rowDraggingComp.getGui(), this.eCellValue);\n }\n }\n }\n if (this.includeDndSource) {\n if (this.dndSourceComp == null) {\n this.dndSourceComp = this.cellCtrl.createDndSource();\n // put the checkbox in before the value\n this.eCellWrapper.insertBefore(this.dndSourceComp.getGui(), this.eCellValue);\n }\n }\n if (this.includeSelection) {\n if (this.checkboxSelectionComp == null) {\n this.checkboxSelectionComp = this.cellCtrl.createSelectionCheckbox();\n this.eCellWrapper.insertBefore(this.checkboxSelectionComp.getGui(), this.eCellValue);\n }\n describedByIds.push(this.checkboxSelectionComp.getCheckboxId());\n }\n describedByIds.push(id);\n setAriaDescribedBy(this.getGui(), describedByIds.join(' '));\n };\n CellComp.prototype.createCellEditorInstance = function (compDetails, popup, position) {\n var _this = this;\n var versionCopy = this.editorVersion;\n var cellEditorPromise = compDetails.newAgStackInstance();\n if (!cellEditorPromise) {\n return;\n } // if empty, userComponentFactory already did a console message\n var params = compDetails.params;\n cellEditorPromise.then(function (c) { return _this.afterCellEditorCreated(versionCopy, c, params, popup, position); });\n // if we don't do this, and editor component is async, then there will be a period\n // when the component isn't present and keyboard navigation won't work - so example\n // of user hitting tab quickly (more quickly than renderers getting created) won't work\n var cellEditorAsync = missing(this.cellEditor);\n if (cellEditorAsync && params.cellStartedEdit) {\n this.cellCtrl.focusCell(true);\n }\n };\n CellComp.prototype.insertValueWithoutCellRenderer = function (valueToDisplay) {\n var eParent = this.getParentOfValue();\n clearElement(eParent);\n var escapedValue = valueToDisplay != null ? escapeString(valueToDisplay) : null;\n if (escapedValue != null) {\n eParent.innerHTML = escapedValue;\n }\n };\n CellComp.prototype.destroyEditorAndRenderer = function () {\n this.destroyRenderer();\n this.destroyEditor();\n };\n CellComp.prototype.destroyRenderer = function () {\n var context = this.beans.context;\n this.cellRenderer = context.destroyBean(this.cellRenderer);\n removeFromParent(this.cellRendererGui);\n this.cellRendererGui = null;\n this.rendererVersion++;\n };\n CellComp.prototype.destroyEditor = function () {\n var context = this.beans.context;\n if (this.hideEditorPopup) {\n this.hideEditorPopup();\n }\n this.hideEditorPopup = undefined;\n this.cellEditor = context.destroyBean(this.cellEditor);\n this.cellEditorPopupWrapper = context.destroyBean(this.cellEditorPopupWrapper);\n removeFromParent(this.cellEditorGui);\n this.cellEditorGui = null;\n this.editorVersion++;\n };\n CellComp.prototype.refreshCellRenderer = function (compClassAndParams) {\n if (this.cellRenderer == null || this.cellRenderer.refresh == null) {\n return false;\n }\n // if different Cell Renderer configured this time (eg user is using selector, and\n // returns different component) then don't refresh, force recreate of Cell Renderer\n if (this.cellRendererClass !== compClassAndParams.componentClass) {\n return false;\n }\n // take any custom params off of the user\n var result = this.cellRenderer.refresh(compClassAndParams.params);\n // NOTE on undefined: previous version of the cellRenderer.refresh() interface\n // returned nothing, if the method existed, we assumed it refreshed. so for\n // backwards compatibility, we assume if method exists and returns nothing,\n // that it was successful.\n return result === true || result === undefined;\n };\n CellComp.prototype.createCellRendererInstance = function (compDetails) {\n var _this = this;\n // never use task service if angularCompileRows=true, as that assume the cell renderers\n // are finished when the row is created. also we never use it if animation frame service\n // is turned off.\n // and lastly we never use it if doing auto-height, as the auto-height service checks the\n // row height directly after the cell is created, it doesn't wait around for the tasks to complete\n var angularCompileRows = this.beans.gridOptionsWrapper.isAngularCompileRows();\n var suppressAnimationFrame = this.beans.gridOptionsWrapper.isSuppressAnimationFrame();\n var useTaskService = !angularCompileRows && !suppressAnimationFrame;\n var displayComponentVersionCopy = this.rendererVersion;\n var componentClass = compDetails.componentClass;\n var createCellRendererFunc = function () {\n var staleTask = _this.rendererVersion !== displayComponentVersionCopy || !_this.isAlive();\n if (staleTask) {\n return;\n }\n // this can return null in the event that the user has switched from a renderer component to nothing, for example\n // when using a cellRendererSelect to return a component or null depending on row data etc\n var componentPromise = compDetails.newAgStackInstance();\n var callback = _this.afterCellRendererCreated.bind(_this, displayComponentVersionCopy, componentClass);\n if (componentPromise) {\n componentPromise.then(callback);\n }\n };\n // we only use task service when rendering for first time, which means it is not used when doing edits.\n // if we changed this (always use task service) would make sense, however it would break tests, possibly\n // test of users.\n if (useTaskService && this.firstRender) {\n this.beans.animationFrameService.createTask(createCellRendererFunc, this.rowNode.rowIndex, 'createTasksP2');\n }\n else {\n createCellRendererFunc();\n }\n };\n CellComp.prototype.getCtrl = function () {\n return this.cellCtrl;\n };\n CellComp.prototype.getRowCtrl = function () {\n return this.rowCtrl;\n };\n CellComp.prototype.getCellRenderer = function () {\n return this.cellRenderer;\n };\n CellComp.prototype.getCellEditor = function () {\n return this.cellEditor;\n };\n CellComp.prototype.afterCellRendererCreated = function (cellRendererVersion, cellRendererClass, cellRenderer) {\n var staleTask = !this.isAlive() || cellRendererVersion !== this.rendererVersion;\n if (staleTask) {\n this.beans.context.destroyBean(cellRenderer);\n return;\n }\n this.cellRenderer = cellRenderer;\n this.cellRendererClass = cellRendererClass;\n this.cellRendererGui = this.cellRenderer.getGui();\n if (this.cellRendererGui != null) {\n var eParent = this.getParentOfValue();\n clearElement(eParent);\n eParent.appendChild(this.cellRendererGui);\n }\n };\n CellComp.prototype.afterCellEditorCreated = function (requestVersion, cellEditor, params, popup, position) {\n // if editingCell=false, means user cancelled the editor before component was ready.\n // if versionMismatch, then user cancelled the edit, then started the edit again, and this\n // is the first editor which is now stale.\n var staleComp = requestVersion !== this.editorVersion;\n if (staleComp) {\n this.beans.context.destroyBean(cellEditor);\n return;\n }\n var editingCancelledByUserComp = cellEditor.isCancelBeforeStart && cellEditor.isCancelBeforeStart();\n if (editingCancelledByUserComp) {\n this.beans.context.destroyBean(cellEditor);\n this.cellCtrl.stopEditing();\n return;\n }\n if (!cellEditor.getGui) {\n console.warn(\"AG Grid: cellEditor for column \" + this.column.getId() + \" is missing getGui() method\");\n this.beans.context.destroyBean(cellEditor);\n return;\n }\n this.cellEditor = cellEditor;\n this.cellEditorGui = cellEditor.getGui();\n var cellEditorInPopup = popup || (cellEditor.isPopup !== undefined && cellEditor.isPopup());\n if (cellEditorInPopup) {\n if (!popup) {\n this.cellCtrl.hackSayEditingInPopup();\n }\n this.addPopupCellEditor(params, position);\n }\n else {\n this.addInCellEditor();\n }\n if (cellEditor.afterGuiAttached) {\n cellEditor.afterGuiAttached();\n }\n };\n CellComp.prototype.addInCellEditor = function () {\n var eGui = this.getGui();\n // if focus is inside the cell, we move focus to the cell itself\n // before removing it's contents, otherwise errors could be thrown.\n var eDocument = this.beans.gridOptionsWrapper.getDocument();\n if (eGui.contains(eDocument.activeElement)) {\n eGui.focus();\n }\n this.destroyRenderer();\n this.refreshWrapper(true);\n this.clearParentOfValue();\n if (this.cellEditorGui) {\n var eParent = this.getParentOfValue();\n eParent.appendChild(this.cellEditorGui);\n }\n };\n CellComp.prototype.addPopupCellEditor = function (params, position) {\n var _this = this;\n if (this.beans.gridOptionsWrapper.isFullRowEdit()) {\n console.warn('AG Grid: popup cellEditor does not work with fullRowEdit - you cannot use them both ' +\n '- either turn off fullRowEdit, or stop using popup editors.');\n }\n var cellEditor = this.cellEditor;\n // if a popup, then we wrap in a popup editor and return the popup\n this.cellEditorPopupWrapper = this.beans.context.createBean(new PopupEditorWrapper(params));\n var ePopupGui = this.cellEditorPopupWrapper.getGui();\n if (this.cellEditorGui) {\n ePopupGui.appendChild(this.cellEditorGui);\n }\n var popupService = this.beans.popupService;\n var useModelPopup = this.beans.gridOptionsWrapper.isStopEditingWhenCellsLoseFocus();\n // see if position provided by colDef, if not then check old way of method on cellComp\n var positionToUse = position != null ? position : cellEditor.getPopupPosition ? cellEditor.getPopupPosition() : 'over';\n var positionParams = {\n column: this.column,\n rowNode: this.rowNode,\n type: 'popupCellEditor',\n eventSource: this.getGui(),\n ePopup: ePopupGui,\n keepWithinBounds: true\n };\n var positionCallback = positionToUse === 'under' ?\n popupService.positionPopupUnderComponent.bind(popupService, positionParams)\n : popupService.positionPopupOverComponent.bind(popupService, positionParams);\n var translate = this.beans.gridOptionsWrapper.getLocaleTextFunc();\n var addPopupRes = popupService.addPopup({\n modal: useModelPopup,\n eChild: ePopupGui,\n closeOnEsc: true,\n closedCallback: function () { _this.cellCtrl.onPopupEditorClosed(); },\n anchorToElement: this.getGui(),\n positionCallback: positionCallback,\n ariaLabel: translate('ariaLabelCellEditor', 'Cell Editor')\n });\n if (addPopupRes) {\n this.hideEditorPopup = addPopupRes.hideFunc;\n }\n };\n CellComp.prototype.detach = function () {\n this.eRow.removeChild(this.getGui());\n };\n // if the row is also getting destroyed, then we don't need to remove from dom,\n // as the row will also get removed, so no need to take out the cells from the row\n // if the row is going (removing is an expensive operation, so only need to remove\n // the top part)\n //\n // note - this is NOT called by context, as we don't wire / unwire the CellComp for performance reasons.\n CellComp.prototype.destroy = function () {\n this.cellCtrl.stopEditing();\n this.destroyEditorAndRenderer();\n this.removeControls();\n _super.prototype.destroy.call(this);\n };\n CellComp.prototype.clearParentOfValue = function () {\n var eGui = this.getGui();\n // if focus is inside the cell, we move focus to the cell itself\n // before removing it's contents, otherwise errors could be thrown.\n var eDocument = this.beans.gridOptionsWrapper.getDocument();\n if (eGui.contains(eDocument.activeElement)) {\n eGui.focus({\n preventScroll: true\n });\n }\n clearElement(this.getParentOfValue());\n };\n return CellComp;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1e = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar RowComp = /** @class */ (function (_super) {\n __extends$1e(RowComp, _super);\n function RowComp(ctrl, beans, containerType) {\n var _this = _super.call(this) || this;\n _this.cellComps = {};\n _this.beans = beans;\n _this.rowCtrl = ctrl;\n _this.setTemplate(/* html */ \"
\");\n var eGui = _this.getGui();\n var style = eGui.style;\n var compProxy = {\n setDomOrder: function (domOrder) { return _this.domOrder = domOrder; },\n setCellCtrls: function (cellCtrls) { return _this.setCellCtrls(cellCtrls); },\n showFullWidth: function (compDetails) { return _this.showFullWidth(compDetails); },\n getFullWidthCellRenderer: function () { return _this.getFullWidthCellRenderer(); },\n addOrRemoveCssClass: function (name, on) { return _this.addOrRemoveCssClass(name, on); },\n setUserStyles: function (styles) { return addStylesToElement(eGui, styles); },\n setTop: function (top) { return style.top = top; },\n setTransform: function (transform) { return style.transform = transform; },\n setRowIndex: function (rowIndex) { return eGui.setAttribute('row-index', rowIndex); },\n setRole: function (role) { return setAriaRole(eGui, role); },\n setRowId: function (rowId) { return eGui.setAttribute('row-id', rowId); },\n setRowBusinessKey: function (businessKey) { return eGui.setAttribute('row-business-key', businessKey); },\n setTabIndex: function (tabIndex) { return eGui.setAttribute('tabindex', tabIndex.toString()); }\n };\n ctrl.setComp(compProxy, _this.getGui(), containerType);\n return _this;\n }\n RowComp.prototype.getInitialStyle = function () {\n var transform = this.rowCtrl.getInitialTransform();\n var top = this.rowCtrl.getInitialRowTop();\n return transform ? \"transform: \" + transform : \"top: \" + top;\n };\n RowComp.prototype.showFullWidth = function (compDetails) {\n var _this = this;\n var callback = function (cellRenderer) {\n if (_this.isAlive()) {\n var eGui = cellRenderer.getGui();\n _this.getGui().appendChild(eGui);\n _this.rowCtrl.setupDetailRowAutoHeight(eGui);\n _this.setFullWidthRowComp(cellRenderer);\n }\n else {\n _this.beans.context.destroyBean(cellRenderer);\n }\n };\n // if not in cache, create new one\n var res = compDetails.newAgStackInstance();\n if (!res) {\n return;\n }\n res.then(callback);\n };\n RowComp.prototype.setCellCtrls = function (cellCtrls) {\n var _this = this;\n var cellsToRemove = Object.assign({}, this.cellComps);\n cellCtrls.forEach(function (cellCtrl) {\n var key = cellCtrl.getInstanceId();\n var existingCellComp = _this.cellComps[key];\n if (existingCellComp == null) {\n _this.newCellComp(cellCtrl);\n }\n else {\n cellsToRemove[key] = null;\n }\n });\n var cellCompsToRemove = getAllValuesInObject(cellsToRemove)\n .filter(function (cellComp) { return cellComp != null; });\n this.destroyCells(cellCompsToRemove);\n this.ensureDomOrder(cellCtrls);\n };\n RowComp.prototype.ensureDomOrder = function (cellCtrls) {\n var _this = this;\n if (!this.domOrder) {\n return;\n }\n var elementsInOrder = [];\n cellCtrls.forEach(function (cellCtrl) {\n var cellComp = _this.cellComps[cellCtrl.getInstanceId()];\n if (cellComp) {\n elementsInOrder.push(cellComp.getGui());\n }\n });\n setDomChildOrder(this.getGui(), elementsInOrder);\n };\n RowComp.prototype.newCellComp = function (cellCtrl) {\n var cellComp = new CellComp(this.beans, cellCtrl, this.rowCtrl.isPrintLayout(), this.getGui(), this.rowCtrl.isEditing());\n this.cellComps[cellCtrl.getInstanceId()] = cellComp;\n this.getGui().appendChild(cellComp.getGui());\n };\n RowComp.prototype.destroy = function () {\n _super.prototype.destroy.call(this);\n this.destroyAllCells();\n };\n RowComp.prototype.destroyAllCells = function () {\n var cellsToDestroy = getAllValuesInObject(this.cellComps).filter(function (cp) { return cp != null; });\n this.destroyCells(cellsToDestroy);\n };\n RowComp.prototype.setFullWidthRowComp = function (fullWidthRowComponent) {\n var _this = this;\n if (this.fullWidthCellRenderer) {\n console.error('AG Grid - should not be setting fullWidthRowComponent twice');\n }\n this.fullWidthCellRenderer = fullWidthRowComponent;\n this.addDestroyFunc(function () {\n _this.fullWidthCellRenderer = _this.beans.context.destroyBean(_this.fullWidthCellRenderer);\n });\n };\n RowComp.prototype.getFullWidthCellRenderer = function () {\n return this.fullWidthCellRenderer;\n };\n RowComp.prototype.destroyCells = function (cellComps) {\n var _this = this;\n cellComps.forEach(function (cellComp) {\n // could be old reference, ie removed cell\n if (!cellComp) {\n return;\n }\n // check cellComp belongs in this container\n var instanceId = cellComp.getCtrl().getInstanceId();\n if (_this.cellComps[instanceId] !== cellComp) {\n return;\n }\n cellComp.detach();\n cellComp.destroy();\n _this.cellComps[instanceId] = null;\n });\n };\n return RowComp;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1f = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign$d = (undefined && undefined.__assign) || function () {\n __assign$d = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign$d.apply(this, arguments);\n};\nvar __decorate$10 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nfunction templateFactory() {\n var name = Component.elementGettingCreated.getAttribute('name');\n var cssClasses = RowContainerCtrl.getRowContainerCssClasses(name);\n var res;\n var template1 = name === exports.RowContainerName.CENTER;\n var template2 = name === exports.RowContainerName.TOP_CENTER || name === exports.RowContainerName.BOTTOM_CENTER;\n if (template1) {\n res = /* html */\n \"
\\n
\\n
\\n
\\n
\";\n }\n else if (template2) {\n res = /* html */\n \"
\\n
\\n
\";\n }\n else {\n res = /* html */\n \"
\";\n }\n return res;\n}\nvar RowContainerComp = /** @class */ (function (_super) {\n __extends$1f(RowContainerComp, _super);\n function RowContainerComp() {\n var _this = _super.call(this, templateFactory()) || this;\n _this.rowComps = {};\n _this.name = Component.elementGettingCreated.getAttribute('name');\n _this.type = getRowContainerTypeForName(_this.name);\n return _this;\n }\n RowContainerComp.prototype.postConstruct = function () {\n var _this = this;\n var compProxy = {\n setViewportHeight: function (height) { return _this.eViewport.style.height = height; },\n setRowCtrls: function (rowCtrls) { return _this.setRowCtrls(rowCtrls); },\n setDomOrder: function (domOrder) {\n _this.domOrder = domOrder;\n },\n setContainerWidth: function (width) { return _this.eContainer.style.width = width; }\n };\n var ctrl = this.createManagedBean(new RowContainerCtrl(this.name));\n ctrl.setComp(compProxy, this.eContainer, this.eViewport, this.eWrapper);\n };\n RowContainerComp.prototype.preDestroy = function () {\n // destroys all row comps\n this.setRowCtrls([]);\n };\n RowContainerComp.prototype.setRowCtrls = function (rowCtrls) {\n var _this = this;\n var oldRows = __assign$d({}, this.rowComps);\n this.rowComps = {};\n this.lastPlacedElement = null;\n var processRow = function (rowCon) {\n var instanceId = rowCon.getInstanceId();\n var existingRowComp = oldRows[instanceId];\n if (existingRowComp) {\n _this.rowComps[instanceId] = existingRowComp;\n delete oldRows[instanceId];\n _this.ensureDomOrder(existingRowComp.getGui());\n }\n else {\n var rowComp = _this.newRowComp(rowCon);\n _this.rowComps[instanceId] = rowComp;\n _this.appendRow(rowComp.getGui());\n }\n };\n rowCtrls.forEach(processRow);\n getAllValuesInObject(oldRows).forEach(function (oldRowComp) {\n _this.eContainer.removeChild(oldRowComp.getGui());\n oldRowComp.destroy();\n });\n setAriaRole(this.eContainer, rowCtrls.length ? \"rowgroup\" : \"presentation\");\n };\n RowContainerComp.prototype.appendRow = function (element) {\n if (this.domOrder) {\n insertWithDomOrder(this.eContainer, element, this.lastPlacedElement);\n }\n else {\n this.eContainer.appendChild(element);\n }\n this.lastPlacedElement = element;\n };\n RowContainerComp.prototype.ensureDomOrder = function (eRow) {\n if (this.domOrder) {\n ensureDomOrder(this.eContainer, eRow, this.lastPlacedElement);\n this.lastPlacedElement = eRow;\n }\n };\n RowContainerComp.prototype.newRowComp = function (rowCtrl) {\n var pinned = RowContainerCtrl.getPinned(this.name);\n var res = new RowComp(rowCtrl, this.beans, this.type);\n return res;\n };\n __decorate$10([\n Autowired('beans')\n ], RowContainerComp.prototype, \"beans\", void 0);\n __decorate$10([\n RefSelector('eViewport')\n ], RowContainerComp.prototype, \"eViewport\", void 0);\n __decorate$10([\n RefSelector('eContainer')\n ], RowContainerComp.prototype, \"eContainer\", void 0);\n __decorate$10([\n RefSelector('eWrapper')\n ], RowContainerComp.prototype, \"eWrapper\", void 0);\n __decorate$10([\n PostConstruct\n ], RowContainerComp.prototype, \"postConstruct\", null);\n __decorate$10([\n PreDestroy\n ], RowContainerComp.prototype, \"preDestroy\", null);\n return RowContainerComp;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __decorate$11 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar BodyDropPivotTarget = /** @class */ (function () {\n function BodyDropPivotTarget(pinned) {\n this.columnsToAggregate = [];\n this.columnsToGroup = [];\n this.columnsToPivot = [];\n this.pinned = pinned;\n }\n /** Callback for when drag enters */\n BodyDropPivotTarget.prototype.onDragEnter = function (draggingEvent) {\n var _this = this;\n this.clearColumnsList();\n // in pivot mode, we don't accept any drops if functions are read only\n if (this.gridOptionsWrapper.isFunctionsReadOnly()) {\n return;\n }\n var dragColumns = draggingEvent.dragItem.columns;\n if (!dragColumns) {\n return;\n }\n dragColumns.forEach(function (column) {\n // we don't allow adding secondary columns\n if (!column.isPrimary()) {\n return;\n }\n if (column.isAnyFunctionActive()) {\n return;\n }\n if (column.isAllowValue()) {\n _this.columnsToAggregate.push(column);\n }\n else if (column.isAllowRowGroup()) {\n _this.columnsToGroup.push(column);\n }\n else if (column.isAllowPivot()) {\n _this.columnsToPivot.push(column);\n }\n });\n };\n BodyDropPivotTarget.prototype.getIconName = function () {\n var totalColumns = this.columnsToAggregate.length + this.columnsToGroup.length + this.columnsToPivot.length;\n if (totalColumns > 0) {\n return this.pinned ? DragAndDropService.ICON_PINNED : DragAndDropService.ICON_MOVE;\n }\n return null;\n };\n /** Callback for when drag leaves */\n BodyDropPivotTarget.prototype.onDragLeave = function (draggingEvent) {\n // if we are taking columns out of the center, then we remove them from the report\n this.clearColumnsList();\n };\n BodyDropPivotTarget.prototype.clearColumnsList = function () {\n this.columnsToAggregate.length = 0;\n this.columnsToGroup.length = 0;\n this.columnsToPivot.length = 0;\n };\n /** Callback for when dragging */\n BodyDropPivotTarget.prototype.onDragging = function (draggingEvent) {\n };\n /** Callback for when drag stops */\n BodyDropPivotTarget.prototype.onDragStop = function (draggingEvent) {\n if (this.columnsToAggregate.length > 0) {\n this.columnModel.addValueColumns(this.columnsToAggregate, \"toolPanelDragAndDrop\");\n }\n if (this.columnsToGroup.length > 0) {\n this.columnModel.addRowGroupColumns(this.columnsToGroup, \"toolPanelDragAndDrop\");\n }\n if (this.columnsToPivot.length > 0) {\n this.columnModel.addPivotColumns(this.columnsToPivot, \"toolPanelDragAndDrop\");\n }\n };\n __decorate$11([\n Autowired('columnModel')\n ], BodyDropPivotTarget.prototype, \"columnModel\", void 0);\n __decorate$11([\n Autowired('gridOptionsWrapper')\n ], BodyDropPivotTarget.prototype, \"gridOptionsWrapper\", void 0);\n return BodyDropPivotTarget;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __decorate$12 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar MoveColumnFeature = /** @class */ (function () {\n function MoveColumnFeature(pinned, eContainer) {\n this.needToMoveLeft = false;\n this.needToMoveRight = false;\n this.pinned = pinned;\n this.eContainer = eContainer;\n this.centerContainer = !exists(pinned);\n }\n MoveColumnFeature.prototype.init = function () {\n var _this = this;\n this.ctrlsService.whenReady(function () {\n _this.gridBodyCon = _this.ctrlsService.getGridBodyCtrl();\n });\n };\n MoveColumnFeature.prototype.getIconName = function () {\n return this.pinned ? DragAndDropService.ICON_PINNED : DragAndDropService.ICON_MOVE;\n };\n MoveColumnFeature.prototype.onDragEnter = function (draggingEvent) {\n // we do dummy drag, so make sure column appears in the right location when first placed\n var columns = draggingEvent.dragItem.columns;\n var dragCameFromToolPanel = draggingEvent.dragSource.type === exports.DragSourceType.ToolPanel;\n if (dragCameFromToolPanel) {\n // the if statement doesn't work if drag leaves grid, then enters again\n this.setColumnsVisible(columns, true, \"uiColumnDragged\");\n }\n else {\n // restore previous state of visible columns upon re-entering. this means if the user drags\n // a group out, and then drags the group back in, only columns that were originally visible\n // will be visible again. otherwise a group with three columns (but only two visible) could\n // be dragged out, then when it's dragged in again, all three are visible. this stops that.\n var visibleState_1 = draggingEvent.dragItem.visibleState;\n var visibleColumns = (columns || []).filter(function (column) { return visibleState_1[column.getId()]; });\n this.setColumnsVisible(visibleColumns, true, \"uiColumnDragged\");\n }\n this.setColumnsPinned(columns, this.pinned, \"uiColumnDragged\");\n this.onDragging(draggingEvent, true);\n };\n MoveColumnFeature.prototype.onDragLeave = function (draggingEvent) {\n var hideColumnOnExit = !this.gridOptionsWrapper.isSuppressDragLeaveHidesColumns() && !draggingEvent.fromNudge;\n if (hideColumnOnExit) {\n var dragItem = draggingEvent.dragSource.getDragItem();\n var columns = dragItem.columns;\n this.setColumnsVisible(columns, false, \"uiColumnDragged\");\n }\n this.ensureIntervalCleared();\n };\n MoveColumnFeature.prototype.setColumnsVisible = function (columns, visible, source) {\n if (source === void 0) { source = \"api\"; }\n if (columns) {\n var allowedCols = columns.filter(function (c) { return !c.getColDef().lockVisible; });\n this.columnModel.setColumnsVisible(allowedCols, visible, source);\n }\n };\n MoveColumnFeature.prototype.setColumnsPinned = function (columns, pinned, source) {\n if (source === void 0) { source = \"api\"; }\n if (columns) {\n var allowedCols = columns.filter(function (c) { return !c.getColDef().lockPinned; });\n this.columnModel.setColumnsPinned(allowedCols, pinned, source);\n }\n };\n MoveColumnFeature.prototype.onDragStop = function () {\n this.ensureIntervalCleared();\n };\n MoveColumnFeature.prototype.normaliseX = function (x) {\n // flip the coordinate if doing RTL\n if (this.gridOptionsWrapper.isEnableRtl()) {\n var clientWidth = this.eContainer.clientWidth;\n x = clientWidth - x;\n }\n // adjust for scroll only if centre container (the pinned containers don't scroll)\n if (this.centerContainer) {\n x += this.ctrlsService.getCenterRowContainerCtrl().getCenterViewportScrollLeft();\n }\n return x;\n };\n MoveColumnFeature.prototype.checkCenterForScrolling = function (xAdjustedForScroll) {\n if (this.centerContainer) {\n // scroll if the mouse has gone outside the grid (or just outside the scrollable part if pinning)\n // putting in 50 buffer, so even if user gets to edge of grid, a scroll will happen\n var firstVisiblePixel = this.ctrlsService.getCenterRowContainerCtrl().getCenterViewportScrollLeft();\n var lastVisiblePixel = firstVisiblePixel + this.ctrlsService.getCenterRowContainerCtrl().getCenterWidth();\n if (this.gridOptionsWrapper.isEnableRtl()) {\n this.needToMoveRight = xAdjustedForScroll < (firstVisiblePixel + 50);\n this.needToMoveLeft = xAdjustedForScroll > (lastVisiblePixel - 50);\n }\n else {\n this.needToMoveLeft = xAdjustedForScroll < (firstVisiblePixel + 50);\n this.needToMoveRight = xAdjustedForScroll > (lastVisiblePixel - 50);\n }\n if (this.needToMoveLeft || this.needToMoveRight) {\n this.ensureIntervalStarted();\n }\n else {\n this.ensureIntervalCleared();\n }\n }\n };\n MoveColumnFeature.prototype.onDragging = function (draggingEvent, fromEnter) {\n var _this = this;\n if (fromEnter === void 0) { fromEnter = false; }\n this.lastDraggingEvent = draggingEvent;\n // if moving up or down (ie not left or right) then do nothing\n if (missing(draggingEvent.hDirection)) {\n return;\n }\n var mouseXNormalised = this.normaliseX(draggingEvent.x);\n // if the user is dragging into the panel, ie coming from the side panel into the main grid,\n // we don't want to scroll the grid this time, it would appear like the table is jumping\n // each time a column is dragged in.\n if (!fromEnter) {\n this.checkCenterForScrolling(mouseXNormalised);\n }\n var hDirectionNormalised = this.normaliseDirection(draggingEvent.hDirection);\n var dragSourceType = draggingEvent.dragSource.type;\n var columnsToMove = draggingEvent.dragSource.getDragItem().columns;\n columnsToMove = columnsToMove.filter(function (col) {\n if (col.getColDef().lockPinned) {\n // if locked return true only if both col and container are same pin type.\n // double equals (==) here on purpose so that null==undefined is true (for not pinned options)\n return col.getPinned() == _this.pinned;\n }\n // if not pin locked, then always allowed to be in this container\n return true;\n });\n this.attemptMoveColumns(dragSourceType, columnsToMove, hDirectionNormalised, mouseXNormalised, fromEnter);\n };\n MoveColumnFeature.prototype.normaliseDirection = function (hDirection) {\n if (this.gridOptionsWrapper.isEnableRtl()) {\n switch (hDirection) {\n case exports.HorizontalDirection.Left: return exports.HorizontalDirection.Right;\n case exports.HorizontalDirection.Right: return exports.HorizontalDirection.Left;\n default: console.error(\"AG Grid: Unknown direction \" + hDirection);\n }\n }\n else {\n return hDirection;\n }\n };\n // returns the index of the first column in the list ONLY if the cols are all beside\n // each other. if the cols are not beside each other, then returns null\n MoveColumnFeature.prototype.calculateOldIndex = function (movingCols) {\n var gridCols = this.columnModel.getAllGridColumns();\n var indexes = sortNumerically(movingCols.map(function (col) { return gridCols.indexOf(col); }));\n var firstIndex = indexes[0];\n var lastIndex = last(indexes);\n var spread = lastIndex - firstIndex;\n var gapsExist = spread !== indexes.length - 1;\n return gapsExist ? null : firstIndex;\n };\n MoveColumnFeature.prototype.attemptMoveColumns = function (dragSourceType, allMovingColumns, hDirection, mouseX, fromEnter) {\n var draggingLeft = hDirection === exports.HorizontalDirection.Left;\n var draggingRight = hDirection === exports.HorizontalDirection.Right;\n // it is important to sort the moving columns as they are in grid columns, as the list of moving columns\n // could themselves be part of 'married children' groups, which means we need to maintain the order within\n // the moving list.\n var allMovingColumnsOrdered = allMovingColumns.slice();\n this.columnModel.sortColumnsLikeGridColumns(allMovingColumnsOrdered);\n var validMoves = this.calculateValidMoves(allMovingColumnsOrdered, draggingRight, mouseX);\n // if cols are not adjacent, then this returns null. when moving, we constrain the direction of the move\n // (ie left or right) to the mouse direction. however\n var oldIndex = this.calculateOldIndex(allMovingColumnsOrdered);\n if (validMoves.length === 0) {\n return;\n }\n var firstValidMove = validMoves[0];\n // the two check below stop an error when the user grabs a group my a middle column, then\n // it is possible the mouse pointer is to the right of a column while been dragged left.\n // so we need to make sure that the mouse pointer is actually left of the left most column\n // if moving left, and right of the right most column if moving right\n // we check 'fromEnter' below so we move the column to the new spot if the mouse is coming from\n // outside the grid, eg if the column is moving from side panel, mouse is moving left, then we should\n // place the column to the RHS even if the mouse is moving left and the column is already on\n // the LHS. otherwise we stick to the rule described above.\n var constrainDirection = oldIndex !== null && !fromEnter;\n // don't consider 'fromEnter' when dragging header cells, otherwise group can jump to opposite direction of drag\n if (dragSourceType == exports.DragSourceType.HeaderCell) {\n constrainDirection = oldIndex !== null;\n }\n if (constrainDirection) {\n // only allow left drag if this column is moving left\n if (draggingLeft && firstValidMove >= oldIndex) {\n return;\n }\n // only allow right drag if this column is moving right\n if (draggingRight && firstValidMove <= oldIndex) {\n return;\n }\n }\n for (var i = 0; i < validMoves.length; i++) {\n var move = validMoves[i];\n if (!this.columnModel.doesMovePassRules(allMovingColumnsOrdered, move)) {\n continue;\n }\n this.columnModel.moveColumns(allMovingColumnsOrdered, move, \"uiColumnDragged\");\n // important to return here, so once we do the first valid move, we don't try do any more\n return;\n }\n };\n MoveColumnFeature.prototype.calculateValidMoves = function (movingCols, draggingRight, mouseX) {\n var isMoveBlocked = this.gridOptionsWrapper.isSuppressMovableColumns() || movingCols.some(function (col) { return col.getColDef().suppressMovable; });\n if (isMoveBlocked) {\n return [];\n }\n // this is the list of cols on the screen, so it's these we use when comparing the x mouse position\n var allDisplayedCols = this.columnModel.getDisplayedColumns(this.pinned);\n // but this list is the list of all cols, when we move a col it's the index within this list that gets used,\n // so the result we return has to be and index location for this list\n var allGridCols = this.columnModel.getAllGridColumns();\n var movingDisplayedCols = allDisplayedCols.filter(function (col) { return includes(movingCols, col); });\n var otherDisplayedCols = allDisplayedCols.filter(function (col) { return !includes(movingCols, col); });\n var otherGridCols = allGridCols.filter(function (col) { return !includes(movingCols, col); });\n // work out how many DISPLAYED columns fit before the 'x' position. this gives us the displayIndex.\n // for example, if cols are a,b,c,d and we find a,b fit before 'x', then we want to place the moving\n // col between b and c (so that it is under the mouse position).\n var displayIndex = 0;\n var availableWidth = mouseX;\n // if we are dragging right, then the columns will be to the left of the mouse, so we also want to\n // include the width of the moving columns\n if (draggingRight) {\n var widthOfMovingDisplayedCols_1 = 0;\n movingDisplayedCols.forEach(function (col) { return widthOfMovingDisplayedCols_1 += col.getActualWidth(); });\n availableWidth -= widthOfMovingDisplayedCols_1;\n }\n if (availableWidth > 0) {\n // now count how many of the displayed columns will fit to the left\n for (var i = 0; i < otherDisplayedCols.length; i++) {\n var col = otherDisplayedCols[i];\n availableWidth -= col.getActualWidth();\n if (availableWidth < 0) {\n break;\n }\n displayIndex++;\n }\n // trial and error, if going right, we adjust by one, i didn't manage to quantify why, but it works\n if (draggingRight) {\n displayIndex++;\n }\n }\n // the display index is with respect to all the showing columns, however when we move, it's with\n // respect to all grid columns, so we need to translate from display index to grid index\n var firstValidMove;\n if (displayIndex > 0) {\n var leftColumn = otherDisplayedCols[displayIndex - 1];\n firstValidMove = otherGridCols.indexOf(leftColumn) + 1;\n }\n else {\n firstValidMove = otherGridCols.indexOf(otherDisplayedCols[0]);\n if (firstValidMove === -1) {\n firstValidMove = 0;\n }\n }\n var validMoves = [firstValidMove];\n var numberComparator = function (a, b) { return a - b; };\n // add in other valid moves due to hidden columns and married children. for example, a particular\n // move might break a group that has married children (so move isn't valid), however there could\n // be hidden columns (not displayed) that we could jump over to make the move valid. because\n // they are hidden, user doesn't see any different, however it allows moves that would otherwise\n // not work. for example imagine a group with 9 columns and all columns are hidden except the\n // middle one (so 4 hidden to left, 4 hidden to right), then when moving 'firstValidMove' will\n // be relative to the not-shown column, however we need to consider the move jumping over all the\n // hidden children. if we didn't do this, then if the group just described was at the end (RHS) of the\n // grid, there would be no way to put a column after it (as the grid would only consider beside the\n // visible column, which would fail valid move rules).\n if (draggingRight) {\n // if dragging right, then we add all the additional moves to the right. so in other words\n // if the next move is not valid, find the next move to the right that is valid.\n var pointer = firstValidMove + 1;\n var lastIndex = allGridCols.length - 1;\n while (pointer <= lastIndex) {\n validMoves.push(pointer);\n pointer++;\n }\n // adding columns here means the order is now messed up\n validMoves.sort(numberComparator);\n }\n else {\n // if dragging left we do the reverse of dragging right, we add in all the valid moves to the\n // left. however we also have to consider moves to the right for all hidden columns first.\n // (this logic is hard to reason with, it was worked out with trial and error,\n // more observation rather than science).\n // add moves to the right\n var pointer = firstValidMove;\n var lastIndex = allGridCols.length - 1;\n var displacedCol = allGridCols[pointer];\n while (pointer <= lastIndex && this.isColumnHidden(allDisplayedCols, displacedCol)) {\n pointer++;\n validMoves.push(pointer);\n displacedCol = allGridCols[pointer];\n }\n // add moves to the left\n pointer = firstValidMove - 1;\n var firstDisplayIndex = 0;\n while (pointer >= firstDisplayIndex) {\n validMoves.push(pointer);\n pointer--;\n }\n // adding columns here means the order is now messed up\n validMoves.sort(numberComparator).reverse();\n }\n return validMoves;\n };\n // isHidden takes into account visible=false and group=closed, ie it is not displayed\n MoveColumnFeature.prototype.isColumnHidden = function (displayedColumns, col) {\n return displayedColumns.indexOf(col) < 0;\n };\n MoveColumnFeature.prototype.ensureIntervalStarted = function () {\n if (!this.movingIntervalId) {\n this.intervalCount = 0;\n this.failedMoveAttempts = 0;\n this.movingIntervalId = window.setInterval(this.moveInterval.bind(this), 100);\n if (this.needToMoveLeft) {\n this.dragAndDropService.setGhostIcon(DragAndDropService.ICON_LEFT, true);\n }\n else {\n this.dragAndDropService.setGhostIcon(DragAndDropService.ICON_RIGHT, true);\n }\n }\n };\n MoveColumnFeature.prototype.ensureIntervalCleared = function () {\n if (this.movingIntervalId) {\n window.clearInterval(this.movingIntervalId);\n this.movingIntervalId = null;\n this.dragAndDropService.setGhostIcon(DragAndDropService.ICON_MOVE);\n }\n };\n MoveColumnFeature.prototype.moveInterval = function () {\n // the amounts we move get bigger at each interval, so the speed accelerates, starting a bit slow\n // and getting faster. this is to give smoother user experience. we max at 100px to limit the speed.\n var pixelsToMove;\n this.intervalCount++;\n pixelsToMove = 10 + (this.intervalCount * 5);\n if (pixelsToMove > 100) {\n pixelsToMove = 100;\n }\n var pixelsMoved = null;\n var scrollFeature = this.gridBodyCon.getScrollFeature();\n if (this.needToMoveLeft) {\n pixelsMoved = scrollFeature.scrollHorizontally(-pixelsToMove);\n }\n else if (this.needToMoveRight) {\n pixelsMoved = scrollFeature.scrollHorizontally(pixelsToMove);\n }\n if (pixelsMoved !== 0) {\n this.onDragging(this.lastDraggingEvent);\n this.failedMoveAttempts = 0;\n }\n else {\n // we count the failed move attempts. if we fail to move 7 times, then we pin the column.\n // this is how we achieve pining by dragging the column to the edge of the grid.\n this.failedMoveAttempts++;\n var columns = this.lastDraggingEvent.dragItem.columns;\n var columnsThatCanPin = columns.filter(function (c) { return !c.getColDef().lockPinned; });\n if (columnsThatCanPin.length > 0) {\n this.dragAndDropService.setGhostIcon(DragAndDropService.ICON_PINNED);\n if (this.failedMoveAttempts > 7) {\n var pinType = this.needToMoveLeft ? Constants.PINNED_LEFT : Constants.PINNED_RIGHT;\n this.setColumnsPinned(columnsThatCanPin, pinType, \"uiColumnDragged\");\n this.dragAndDropService.nudge();\n }\n }\n }\n };\n __decorate$12([\n Autowired('columnModel')\n ], MoveColumnFeature.prototype, \"columnModel\", void 0);\n __decorate$12([\n Autowired('dragAndDropService')\n ], MoveColumnFeature.prototype, \"dragAndDropService\", void 0);\n __decorate$12([\n Autowired('gridOptionsWrapper')\n ], MoveColumnFeature.prototype, \"gridOptionsWrapper\", void 0);\n __decorate$12([\n Autowired('ctrlsService')\n ], MoveColumnFeature.prototype, \"ctrlsService\", void 0);\n __decorate$12([\n PostConstruct\n ], MoveColumnFeature.prototype, \"init\", null);\n return MoveColumnFeature;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1g = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$13 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar BodyDropTarget = /** @class */ (function (_super) {\n __extends$1g(BodyDropTarget, _super);\n function BodyDropTarget(pinned, eContainer) {\n var _this = _super.call(this) || this;\n _this.pinned = pinned;\n _this.eContainer = eContainer;\n return _this;\n }\n BodyDropTarget.prototype.postConstruct = function () {\n var _this = this;\n this.ctrlsService.whenReady(function (p) {\n switch (_this.pinned) {\n case Constants.PINNED_LEFT:\n _this.eSecondaryContainers = [\n [p.gridBodyCtrl.getBodyViewportElement(), p.leftRowContainerCtrl.getContainerElement()],\n [p.bottomLeftRowContainerCtrl.getContainerElement()],\n [p.topLeftRowContainerCtrl.getContainerElement()]\n ];\n break;\n case Constants.PINNED_RIGHT:\n _this.eSecondaryContainers = [\n [p.gridBodyCtrl.getBodyViewportElement(), p.rightRowContainerCtrl.getContainerElement()],\n [p.bottomRightRowContainerCtrl.getContainerElement()],\n [p.topRightRowContainerCtrl.getContainerElement()]\n ];\n break;\n default:\n _this.eSecondaryContainers = [\n [p.gridBodyCtrl.getBodyViewportElement(), p.centerRowContainerCtrl.getViewportElement()],\n [p.bottomCenterRowContainerCtrl.getViewportElement()],\n [p.topCenterRowContainerCtrl.getViewportElement()]\n ];\n break;\n }\n });\n };\n BodyDropTarget.prototype.isInterestedIn = function (type) {\n return type === exports.DragSourceType.HeaderCell ||\n (type === exports.DragSourceType.ToolPanel && this.gridOptionsWrapper.isAllowDragFromColumnsToolPanel());\n };\n BodyDropTarget.prototype.getSecondaryContainers = function () {\n return this.eSecondaryContainers;\n };\n BodyDropTarget.prototype.getContainer = function () {\n return this.eContainer;\n };\n BodyDropTarget.prototype.init = function () {\n this.moveColumnFeature = this.createManagedBean(new MoveColumnFeature(this.pinned, this.eContainer));\n this.bodyDropPivotTarget = this.createManagedBean(new BodyDropPivotTarget(this.pinned));\n this.dragAndDropService.addDropTarget(this);\n };\n BodyDropTarget.prototype.getIconName = function () {\n return this.currentDropListener.getIconName();\n };\n // we want to use the bodyPivotTarget if the user is dragging columns in from the toolPanel\n // and we are in pivot mode, as it has to logic to set pivot/value/group on the columns when\n // dropped into the grid's body.\n BodyDropTarget.prototype.isDropColumnInPivotMode = function (draggingEvent) {\n // in pivot mode, then if moving a column (ie didn't come from toolpanel) then it's\n // a standard column move, however if it came from the toolpanel, then we are introducing\n // dimensions or values to the grid\n return this.columnModel.isPivotMode() && draggingEvent.dragSource.type === exports.DragSourceType.ToolPanel;\n };\n BodyDropTarget.prototype.onDragEnter = function (draggingEvent) {\n // we pick the drop listener depending on whether we are in pivot mode are not. if we are\n // in pivot mode, then dropping cols changes the row group, pivot, value stats. otherwise\n // we change visibility state and position.\n this.currentDropListener = this.isDropColumnInPivotMode(draggingEvent) ? this.bodyDropPivotTarget : this.moveColumnFeature;\n this.currentDropListener.onDragEnter(draggingEvent);\n };\n BodyDropTarget.prototype.onDragLeave = function (params) {\n this.currentDropListener.onDragLeave(params);\n };\n BodyDropTarget.prototype.onDragging = function (params) {\n this.currentDropListener.onDragging(params);\n };\n BodyDropTarget.prototype.onDragStop = function (params) {\n this.currentDropListener.onDragStop(params);\n };\n __decorate$13([\n Autowired('dragAndDropService')\n ], BodyDropTarget.prototype, \"dragAndDropService\", void 0);\n __decorate$13([\n Autowired('columnModel')\n ], BodyDropTarget.prototype, \"columnModel\", void 0);\n __decorate$13([\n Autowired('ctrlsService')\n ], BodyDropTarget.prototype, \"ctrlsService\", void 0);\n __decorate$13([\n PostConstruct\n ], BodyDropTarget.prototype, \"postConstruct\", null);\n __decorate$13([\n PostConstruct\n ], BodyDropTarget.prototype, \"init\", null);\n return BodyDropTarget;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __read$b = (undefined && undefined.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spread$8 = (undefined && undefined.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read$b(arguments[i]));\n return ar;\n};\nvar CssClassApplier = /** @class */ (function () {\n function CssClassApplier() {\n }\n CssClassApplier.getHeaderClassesFromColDef = function (abstractColDef, gridOptionsWrapper, column, columnGroup) {\n if (missing(abstractColDef)) {\n return [];\n }\n return this.getColumnClassesFromCollDef(abstractColDef.headerClass, abstractColDef, gridOptionsWrapper, column, columnGroup);\n };\n CssClassApplier.getToolPanelClassesFromColDef = function (abstractColDef, gridOptionsWrapper, column, columnGroup) {\n if (missing(abstractColDef)) {\n return [];\n }\n return this.getColumnClassesFromCollDef(abstractColDef.toolPanelClass, abstractColDef, gridOptionsWrapper, column, columnGroup);\n };\n CssClassApplier.getClassParams = function (abstractColDef, gridOptionsWrapper, column, columnGroup) {\n return {\n // bad naming, as colDef here can be a group or a column,\n // however most people won't appreciate the difference,\n // so keeping it as colDef to avoid confusion.\n colDef: abstractColDef,\n column: column,\n columnGroup: columnGroup,\n api: gridOptionsWrapper.getApi(),\n columnApi: gridOptionsWrapper.getColumnApi(),\n context: gridOptionsWrapper.getContext()\n };\n };\n CssClassApplier.getColumnClassesFromCollDef = function (classesOrFunc, abstractColDef, gridOptionsWrapper, column, columnGroup) {\n if (missing(classesOrFunc)) {\n return [];\n }\n var classToUse;\n if (typeof classesOrFunc === 'function') {\n var params = this.getClassParams(abstractColDef, gridOptionsWrapper, column, columnGroup);\n classToUse = classesOrFunc(params);\n }\n else {\n classToUse = classesOrFunc;\n }\n if (typeof classToUse === 'string') {\n return [classToUse];\n }\n if (Array.isArray(classToUse)) {\n return __spread$8(classToUse);\n }\n return [];\n };\n return CssClassApplier;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1h = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$14 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar HeaderCellComp = /** @class */ (function (_super) {\n __extends$1h(HeaderCellComp, _super);\n function HeaderCellComp(ctrl) {\n var _this = _super.call(this, HeaderCellComp.TEMPLATE, ctrl) || this;\n _this.headerCompVersion = 0;\n _this.column = ctrl.getColumnGroupChild();\n _this.pinned = ctrl.getPinned();\n return _this;\n }\n HeaderCellComp.prototype.postConstruct = function () {\n var _this = this;\n var eGui = this.getGui();\n var setAttribute = function (name, value, element) {\n var actualElement = element ? element : eGui;\n if (value != null && value != '') {\n actualElement.setAttribute(name, value);\n }\n else {\n actualElement.removeAttribute(name);\n }\n };\n var compProxy = {\n setWidth: function (width) { return eGui.style.width = width; },\n addOrRemoveCssClass: function (cssClassName, on) { return _this.addOrRemoveCssClass(cssClassName, on); },\n setColId: function (id) { return setAttribute('col-id', id); },\n setTitle: function (title) { return setAttribute('title', title); },\n setAriaDescription: function (label) { return setAriaDescription(eGui, label); },\n setAriaSort: function (sort) { return sort ? setAriaSort(eGui, sort) : removeAriaSort(eGui); },\n setUserCompDetails: function (compDetails) { return _this.setUserCompDetails(compDetails); },\n getUserCompInstance: function () { return _this.headerComp; }\n };\n this.ctrl.setComp(compProxy, this.getGui(), this.eResize);\n var selectAllGui = this.ctrl.getSelectAllGui();\n this.eResize.insertAdjacentElement('afterend', selectAllGui);\n };\n HeaderCellComp.prototype.destroyHeaderComp = function () {\n if (this.headerComp) {\n this.getGui().removeChild(this.headerCompGui);\n this.headerComp = this.destroyBean(this.headerComp);\n this.headerCompGui = undefined;\n }\n };\n HeaderCellComp.prototype.setUserCompDetails = function (compDetails) {\n var _this = this;\n this.headerCompVersion++;\n var versionCopy = this.headerCompVersion;\n compDetails.newAgStackInstance().then(function (comp) { return _this.afterCompCreated(versionCopy, comp); });\n };\n HeaderCellComp.prototype.afterCompCreated = function (version, headerComp) {\n if (version != this.headerCompVersion || !this.isAlive()) {\n this.destroyBean(headerComp);\n return;\n }\n this.destroyHeaderComp();\n this.headerComp = headerComp;\n this.headerCompGui = headerComp.getGui();\n this.getGui().appendChild(this.headerCompGui);\n this.ctrl.setDragSource(this.headerCompGui);\n };\n HeaderCellComp.TEMPLATE = \"
\\n
\\n
\";\n __decorate$14([\n RefSelector('eResize')\n ], HeaderCellComp.prototype, \"eResize\", void 0);\n __decorate$14([\n PostConstruct\n ], HeaderCellComp.prototype, \"postConstruct\", null);\n __decorate$14([\n PreDestroy\n ], HeaderCellComp.prototype, \"destroyHeaderComp\", null);\n return HeaderCellComp;\n}(AbstractHeaderCellComp));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1i = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$15 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar HeaderGroupCellComp = /** @class */ (function (_super) {\n __extends$1i(HeaderGroupCellComp, _super);\n function HeaderGroupCellComp(ctrl) {\n return _super.call(this, HeaderGroupCellComp.TEMPLATE, ctrl) || this;\n }\n HeaderGroupCellComp.prototype.postConstruct = function () {\n var _this = this;\n var eGui = this.getGui();\n var setAttribute = function (key, value) {\n return value != undefined ? eGui.setAttribute(key, value) : eGui.removeAttribute(key);\n };\n var compProxy = {\n addOrRemoveCssClass: function (cssClassName, on) { return _this.addOrRemoveCssClass(cssClassName, on); },\n addOrRemoveResizableCssClass: function (cssClassName, on) { return _this.eResize.classList.toggle(cssClassName, on); },\n setWidth: function (width) { return eGui.style.width = width; },\n setColId: function (id) { return eGui.setAttribute(\"col-id\", id); },\n setAriaExpanded: function (expanded) { return setAttribute('aria-expanded', expanded); },\n setTitle: function (title) { return setAttribute(\"title\", title); },\n setUserCompDetails: function (details) { return _this.setUserCompDetails(details); }\n };\n this.ctrl.setComp(compProxy, eGui, this.eResize);\n };\n HeaderGroupCellComp.prototype.setUserCompDetails = function (details) {\n var _this = this;\n details.newAgStackInstance().then(function (comp) { return _this.afterHeaderCompCreated(comp); });\n };\n HeaderGroupCellComp.prototype.afterHeaderCompCreated = function (headerGroupComp) {\n var _this = this;\n var destroyFunc = function () { return _this.destroyBean(headerGroupComp); };\n if (!this.isAlive()) {\n destroyFunc();\n return;\n }\n this.getGui().appendChild(headerGroupComp.getGui());\n this.addDestroyFunc(destroyFunc);\n this.ctrl.setDragSource(headerGroupComp.getGui());\n };\n HeaderGroupCellComp.TEMPLATE = \"
\\n
\\n
\";\n __decorate$15([\n Autowired('userComponentFactory')\n ], HeaderGroupCellComp.prototype, \"userComponentFactory\", void 0);\n __decorate$15([\n RefSelector('eResize')\n ], HeaderGroupCellComp.prototype, \"eResize\", void 0);\n __decorate$15([\n PostConstruct\n ], HeaderGroupCellComp.prototype, \"postConstruct\", null);\n return HeaderGroupCellComp;\n}(AbstractHeaderCellComp));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1j = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$16 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n(function (HeaderRowType) {\n HeaderRowType[\"COLUMN_GROUP\"] = \"group\";\n HeaderRowType[\"COLUMN\"] = \"column\";\n HeaderRowType[\"FLOATING_FILTER\"] = \"filter\";\n})(exports.HeaderRowType || (exports.HeaderRowType = {}));\nvar HeaderRowComp = /** @class */ (function (_super) {\n __extends$1j(HeaderRowComp, _super);\n function HeaderRowComp(ctrl) {\n var _this = _super.call(this) || this;\n _this.headerComps = {};\n var extraClass = ctrl.getType() == exports.HeaderRowType.COLUMN_GROUP ? \"ag-header-row-column-group\" :\n ctrl.getType() == exports.HeaderRowType.FLOATING_FILTER ? \"ag-header-row-column-filter\" : \"ag-header-row-column\";\n _this.setTemplate(/* html */ \"
\");\n _this.ctrl = ctrl;\n return _this;\n }\n //noinspection JSUnusedLocalSymbols\n HeaderRowComp.prototype.init = function () {\n var _this = this;\n var compProxy = {\n setTransform: function (transform) { return _this.getGui().style.transform = transform; },\n setHeight: function (height) { return _this.getGui().style.height = height; },\n setTop: function (top) { return _this.getGui().style.top = top; },\n setHeaderCtrls: function (ctrls) { return _this.setHeaderCtrls(ctrls); },\n setWidth: function (width) { return _this.getGui().style.width = width; },\n setAriaRowIndex: function (rowIndex) { return setAriaRowIndex(_this.getGui(), rowIndex); }\n };\n this.ctrl.setComp(compProxy);\n };\n HeaderRowComp.prototype.destroyHeaderCtrls = function () {\n this.setHeaderCtrls([]);\n };\n HeaderRowComp.prototype.setHeaderCtrls = function (ctrls) {\n var _this = this;\n if (!this.isAlive()) {\n return;\n }\n var oldComps = this.headerComps;\n this.headerComps = {};\n ctrls.forEach(function (ctrl) {\n var id = ctrl.getInstanceId();\n var comp = oldComps[id];\n delete oldComps[id];\n if (comp == null) {\n comp = _this.createHeaderComp(ctrl);\n _this.getGui().appendChild(comp.getGui());\n }\n _this.headerComps[id] = comp;\n });\n iterateObject(oldComps, function (id, comp) {\n _this.getGui().removeChild(comp.getGui());\n _this.destroyBean(comp);\n });\n var ensureDomOrder = this.gridOptionsWrapper.isEnsureDomOrder();\n if (ensureDomOrder) {\n var comps = getAllValuesInObject(this.headerComps);\n // ordering the columns by left position orders them in the order they appear on the screen\n comps.sort(function (a, b) {\n var leftA = a.getCtrl().getColumnGroupChild().getLeft();\n var leftB = b.getCtrl().getColumnGroupChild().getLeft();\n return leftA - leftB;\n });\n var elementsInOrder = comps.map(function (c) { return c.getGui(); });\n setDomChildOrder(this.getGui(), elementsInOrder);\n }\n };\n HeaderRowComp.prototype.createHeaderComp = function (headerCtrl) {\n var result;\n switch (this.ctrl.getType()) {\n case exports.HeaderRowType.COLUMN_GROUP:\n result = new HeaderGroupCellComp(headerCtrl);\n break;\n case exports.HeaderRowType.FLOATING_FILTER:\n result = new HeaderFilterCellComp(headerCtrl);\n break;\n default:\n result = new HeaderCellComp(headerCtrl);\n break;\n }\n this.createBean(result);\n result.setParentComponent(this);\n return result;\n };\n __decorate$16([\n PostConstruct\n ], HeaderRowComp.prototype, \"init\", null);\n __decorate$16([\n PreDestroy\n ], HeaderRowComp.prototype, \"destroyHeaderCtrls\", null);\n return HeaderRowComp;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1k = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$17 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar instanceIdSequence$3 = 0;\nvar AbstractHeaderCellCtrl = /** @class */ (function (_super) {\n __extends$1k(AbstractHeaderCellCtrl, _super);\n function AbstractHeaderCellCtrl(columnGroupChild, parentRowCtrl) {\n var _this = _super.call(this) || this;\n _this.lastFocusEvent = null;\n _this.columnGroupChild = columnGroupChild;\n _this.parentRowCtrl = parentRowCtrl;\n // unique id to this instance, including the column ID to help with debugging in React as it's used in 'key'\n _this.instanceId = columnGroupChild.getUniqueId() + '-' + instanceIdSequence$3++;\n return _this;\n }\n AbstractHeaderCellCtrl.prototype.shouldStopEventPropagation = function (e) {\n var _a = this.focusService.getFocusedHeader(), headerRowIndex = _a.headerRowIndex, column = _a.column;\n return isUserSuppressingHeaderKeyboardEvent(this.gridOptionsWrapper, e, headerRowIndex, column);\n };\n AbstractHeaderCellCtrl.prototype.setGui = function (eGui) {\n this.eGui = eGui;\n this.addDomData();\n };\n AbstractHeaderCellCtrl.prototype.addDomData = function () {\n var _this = this;\n var key = AbstractHeaderCellCtrl.DOM_DATA_KEY_HEADER_CTRL;\n this.gridOptionsWrapper.setDomData(this.eGui, key, this);\n this.addDestroyFunc(function () { return _this.gridOptionsWrapper.setDomData(_this.eGui, key, null); });\n };\n AbstractHeaderCellCtrl.prototype.getGui = function () {\n return this.eGui;\n };\n AbstractHeaderCellCtrl.prototype.focus = function (event) {\n if (!this.eGui) {\n return false;\n }\n this.lastFocusEvent = event || null;\n this.eGui.focus();\n return true;\n };\n AbstractHeaderCellCtrl.prototype.getRowIndex = function () {\n return this.parentRowCtrl.getRowIndex();\n };\n AbstractHeaderCellCtrl.prototype.getParentRowCtrl = function () {\n return this.parentRowCtrl;\n };\n AbstractHeaderCellCtrl.prototype.getPinned = function () {\n return this.parentRowCtrl.getPinned();\n };\n AbstractHeaderCellCtrl.prototype.getInstanceId = function () {\n return this.instanceId;\n };\n AbstractHeaderCellCtrl.prototype.getColumnGroupChild = function () {\n return this.columnGroupChild;\n };\n AbstractHeaderCellCtrl.DOM_DATA_KEY_HEADER_CTRL = 'headerCtrl';\n __decorate$17([\n Autowired('focusService')\n ], AbstractHeaderCellCtrl.prototype, \"focusService\", void 0);\n return AbstractHeaderCellCtrl;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\n(function (ClientSideRowModelSteps) {\n ClientSideRowModelSteps[\"EVERYTHING\"] = \"group\";\n ClientSideRowModelSteps[\"FILTER\"] = \"filter\";\n ClientSideRowModelSteps[\"SORT\"] = \"sort\";\n ClientSideRowModelSteps[\"MAP\"] = \"map\";\n ClientSideRowModelSteps[\"AGGREGATE\"] = \"aggregate\";\n ClientSideRowModelSteps[\"FILTER_AGGREGATES\"] = \"filter_aggregates\";\n ClientSideRowModelSteps[\"PIVOT\"] = \"pivot\";\n ClientSideRowModelSteps[\"NOTHING\"] = \"nothing\";\n})(exports.ClientSideRowModelSteps || (exports.ClientSideRowModelSteps = {}));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __decorate$18 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nfunction unwrapUserComp(comp) {\n var compAsAny = comp;\n var isProxy = compAsAny != null && compAsAny.getFrameworkComponentInstance != null;\n return isProxy ? compAsAny.getFrameworkComponentInstance() : comp;\n}\nvar GridApi = /** @class */ (function () {\n function GridApi() {\n this.detailGridInfoMap = {};\n this.destroyCalled = false;\n }\n GridApi.prototype.registerOverlayWrapperComp = function (overlayWrapperComp) {\n this.overlayWrapperComp = overlayWrapperComp;\n };\n GridApi.prototype.registerSideBarComp = function (sideBarComp) {\n this.sideBarComp = sideBarComp;\n };\n GridApi.prototype.init = function () {\n var _this = this;\n switch (this.rowModel.getType()) {\n case Constants.ROW_MODEL_TYPE_CLIENT_SIDE:\n this.clientSideRowModel = this.rowModel;\n break;\n case Constants.ROW_MODEL_TYPE_INFINITE:\n this.infiniteRowModel = this.rowModel;\n break;\n case Constants.ROW_MODEL_TYPE_SERVER_SIDE:\n this.serverSideRowModel = this.rowModel;\n break;\n }\n this.ctrlsService.whenReady(function () {\n _this.gridBodyCtrl = _this.ctrlsService.getGridBodyCtrl();\n });\n };\n /** Used internally by grid. Not intended to be used by the client. Interface may change between releases. */\n GridApi.prototype.__getAlignedGridService = function () {\n return this.alignedGridsService;\n };\n /** Used internally by grid. Not intended to be used by the client. Interface may change between releases. */\n GridApi.prototype.__getContext = function () {\n return this.context;\n };\n /** Register a detail grid with the master grid when it is created. */\n GridApi.prototype.addDetailGridInfo = function (id, gridInfo) {\n this.detailGridInfoMap[id] = gridInfo;\n };\n /** Unregister a detail grid from the master grid when it is destroyed. */\n GridApi.prototype.removeDetailGridInfo = function (id) {\n this.detailGridInfoMap[id] = undefined;\n };\n /** Returns the `DetailGridInfo` corresponding to the supplied `detailGridId`. */\n GridApi.prototype.getDetailGridInfo = function (id) {\n return this.detailGridInfoMap[id];\n };\n /** Iterates through each `DetailGridInfo` in the grid and calls the supplied callback on each. */\n GridApi.prototype.forEachDetailGridInfo = function (callback) {\n var index = 0;\n iterateObject(this.detailGridInfoMap, function (id, gridInfo) {\n // check for undefined, as old references will still be lying around\n if (exists(gridInfo)) {\n callback(gridInfo, index);\n index++;\n }\n });\n };\n /** Similar to `exportDataAsCsv`, except returns the result as a string rather than download it. */\n GridApi.prototype.getDataAsCsv = function (params) {\n if (ModuleRegistry.assertRegistered(exports.ModuleNames.CsvExportModule, 'api.getDataAsCsv')) {\n return this.csvCreator.getDataAsCsv(params);\n }\n };\n /** Downloads a CSV export of the grid's data. */\n GridApi.prototype.exportDataAsCsv = function (params) {\n if (ModuleRegistry.assertRegistered(exports.ModuleNames.CsvExportModule, 'api.exportDataAsCSv')) {\n this.csvCreator.exportDataAsCsv(params);\n }\n };\n GridApi.prototype.getExcelExportMode = function (params) {\n var baseParams = this.gridOptionsWrapper.getDefaultExportParams('excel');\n var mergedParams = Object.assign({ exportMode: 'xlsx' }, baseParams, params);\n return mergedParams.exportMode;\n };\n /** Similar to `exportDataAsExcel`, except instead of downloading a file, it will return a [Blob](https://developer.mozilla.org/en-US/docs/Web/API/Blob) to be processed by the user. */\n GridApi.prototype.getDataAsExcel = function (params) {\n if (!ModuleRegistry.assertRegistered(exports.ModuleNames.ExcelExportModule, 'api.getDataAsExcel')) {\n return;\n }\n var exportMode = this.getExcelExportMode(params);\n if (this.excelCreator.getFactoryMode(exportMode) === exports.ExcelFactoryMode.MULTI_SHEET) {\n console.warn('AG Grid: The Excel Exporter is currently on Multi Sheet mode. End that operation by calling `api.getMultipleSheetAsExcel()` or `api.exportMultipleSheetsAsExcel()`');\n return;\n }\n return this.excelCreator.getDataAsExcel(params);\n };\n /** Downloads an Excel export of the grid's data. */\n GridApi.prototype.exportDataAsExcel = function (params) {\n if (!ModuleRegistry.assertRegistered(exports.ModuleNames.ExcelExportModule, 'api.exportDataAsExcel')) {\n return;\n }\n var exportMode = this.getExcelExportMode(params);\n if (this.excelCreator.getFactoryMode(exportMode) === exports.ExcelFactoryMode.MULTI_SHEET) {\n console.warn('AG Grid: The Excel Exporter is currently on Multi Sheet mode. End that operation by calling `api.getMultipleSheetAsExcel()` or `api.exportMultipleSheetsAsExcel()`');\n return;\n }\n this.excelCreator.exportDataAsExcel(params);\n };\n /** This is method to be used to get the grid's data as a sheet, that will later be exported either by `getMultipleSheetsAsExcel()` or `exportMultipleSheetsAsExcel()`. */\n GridApi.prototype.getSheetDataForExcel = function (params) {\n if (!ModuleRegistry.assertRegistered(exports.ModuleNames.ExcelExportModule, 'api.getSheetDataForExcel')) {\n return;\n }\n var exportMode = this.getExcelExportMode(params);\n this.excelCreator.setFactoryMode(exports.ExcelFactoryMode.MULTI_SHEET, exportMode);\n return this.excelCreator.getSheetDataForExcel(params);\n };\n /** Similar to `exportMultipleSheetsAsExcel`, except instead of downloading a file, it will return a [Blob](https://developer.mozilla.org/en-US/docs/Web/API/Blob) to be processed by the user. */\n GridApi.prototype.getMultipleSheetsAsExcel = function (params) {\n if (ModuleRegistry.assertRegistered(exports.ModuleNames.ExcelExportModule, 'api.getMultipleSheetsAsExcel')) {\n return this.excelCreator.getMultipleSheetsAsExcel(params);\n }\n };\n /** Downloads an Excel export of multiple sheets in one file. */\n GridApi.prototype.exportMultipleSheetsAsExcel = function (params) {\n if (ModuleRegistry.assertRegistered(exports.ModuleNames.ExcelExportModule, 'api.exportMultipleSheetsAsExcel')) {\n return this.excelCreator.exportMultipleSheetsAsExcel(params);\n }\n };\n /** @deprecated */\n GridApi.prototype.setEnterpriseDatasource = function (datasource) {\n console.warn(\"AG Grid: since version 18.x, api.setEnterpriseDatasource() should be replaced with api.setServerSideDatasource()\");\n this.setServerSideDatasource(datasource);\n };\n /**\n * Sets an ARIA property in the grid panel (element with `role=\\\"grid\\\"`), and removes an ARIA property when the value is null.\n *\n * Example: `api.setGridAriaProperty('label', 'my grid')` will set `aria-label=\\\"my grid\\\"`.\n *\n * `api.setGridAriaProperty('label', null)` will remove the `aria-label` attribute from the grid element.\n */\n GridApi.prototype.setGridAriaProperty = function (property, value) {\n if (!property) {\n return;\n }\n var eGrid = this.ctrlsService.getGridBodyCtrl().getGui();\n var ariaProperty = \"aria-\" + property;\n if (value === null) {\n eGrid.removeAttribute(ariaProperty);\n }\n else {\n eGrid.setAttribute(ariaProperty, value);\n }\n };\n /** Set new datasource for Server-Side Row Model. */\n GridApi.prototype.setServerSideDatasource = function (datasource) {\n if (this.serverSideRowModel) {\n // should really have an IEnterpriseRowModel interface, so we are not casting to any\n this.serverSideRowModel.setDatasource(datasource);\n }\n else {\n console.warn(\"AG Grid: you can only use an enterprise datasource when gridOptions.rowModelType is '\" + Constants.ROW_MODEL_TYPE_SERVER_SIDE + \"'\");\n }\n };\n /** Set new datasource for Infinite Row Model. */\n GridApi.prototype.setDatasource = function (datasource) {\n if (this.gridOptionsWrapper.isRowModelInfinite()) {\n this.rowModel.setDatasource(datasource);\n }\n else {\n console.warn(\"AG Grid: you can only use a datasource when gridOptions.rowModelType is '\" + Constants.ROW_MODEL_TYPE_INFINITE + \"'\");\n }\n };\n /** Set new datasource for Viewport Row Model. */\n GridApi.prototype.setViewportDatasource = function (viewportDatasource) {\n if (this.gridOptionsWrapper.isRowModelViewport()) {\n // this is bad coding, because it's using an interface that's exposed in the enterprise.\n // really we should create an interface in the core for viewportDatasource and let\n // the enterprise implement it, rather than casting to 'any' here\n this.rowModel.setViewportDatasource(viewportDatasource);\n }\n else {\n console.warn(\"AG Grid: you can only use a viewport datasource when gridOptions.rowModelType is '\" + Constants.ROW_MODEL_TYPE_VIEWPORT + \"'\");\n }\n };\n /** Set the row data. */\n GridApi.prototype.setRowData = function (rowData) {\n // immutable service is part of the CSRM module, if missing, no CSRM\n var missingImmutableService = this.immutableService == null;\n if (missingImmutableService) {\n console.warn('AG Grid: you can only set rowData when using the Client Side Row Model');\n return;\n }\n // if no keys provided provided for rows, then we can tread the operation as Immutable\n if (this.immutableService.isActive()) {\n this.immutableService.setRowData(rowData);\n }\n else {\n this.selectionService.reset();\n this.clientSideRowModel.setRowData(rowData);\n }\n };\n /** @deprecated */\n GridApi.prototype.setFloatingTopRowData = function (rows) {\n console.warn('AG Grid: since v12, api.setFloatingTopRowData() is now api.setPinnedTopRowData()');\n this.setPinnedTopRowData(rows);\n };\n /** @deprecated */\n GridApi.prototype.setFloatingBottomRowData = function (rows) {\n console.warn('AG Grid: since v12, api.setFloatingBottomRowData() is now api.setPinnedBottomRowData()');\n this.setPinnedBottomRowData(rows);\n };\n /** @deprecated */\n GridApi.prototype.getFloatingTopRowCount = function () {\n console.warn('AG Grid: since v12, api.getFloatingTopRowCount() is now api.getPinnedTopRowCount()');\n return this.getPinnedTopRowCount();\n };\n /** @deprecated */\n GridApi.prototype.getFloatingBottomRowCount = function () {\n console.warn('AG Grid: since v12, api.getFloatingBottomRowCount() is now api.getPinnedBottomRowCount()');\n return this.getPinnedBottomRowCount();\n };\n /** @deprecated */\n GridApi.prototype.getFloatingTopRow = function (index) {\n console.warn('AG Grid: since v12, api.getFloatingTopRow() is now api.getPinnedTopRow()');\n return this.getPinnedTopRow(index);\n };\n /** @deprecated */\n GridApi.prototype.getFloatingBottomRow = function (index) {\n console.warn('AG Grid: since v12, api.getFloatingBottomRow() is now api.getPinnedBottomRow()');\n return this.getPinnedBottomRow(index);\n };\n /** Set the top pinned rows. Call with no rows / undefined to clear top pinned rows. */\n GridApi.prototype.setPinnedTopRowData = function (rows) {\n this.pinnedRowModel.setPinnedTopRowData(rows);\n };\n /** Set the bottom pinned rows. Call with no rows / undefined to clear bottom pinned rows. */\n GridApi.prototype.setPinnedBottomRowData = function (rows) {\n this.pinnedRowModel.setPinnedBottomRowData(rows);\n };\n /** Gets the number of top pinned rows. */\n GridApi.prototype.getPinnedTopRowCount = function () {\n return this.pinnedRowModel.getPinnedTopRowCount();\n };\n /** Gets the number of bottom pinned rows. */\n GridApi.prototype.getPinnedBottomRowCount = function () {\n return this.pinnedRowModel.getPinnedBottomRowCount();\n };\n /** Gets the top pinned row with the specified index. */\n GridApi.prototype.getPinnedTopRow = function (index) {\n return this.pinnedRowModel.getPinnedTopRow(index);\n };\n /** Gets the top pinned row with the specified index. */\n GridApi.prototype.getPinnedBottomRow = function (index) {\n return this.pinnedRowModel.getPinnedBottomRow(index);\n };\n /**\n * Call to set new column definitions. The grid will redraw all the column headers, and then redraw all of the rows.\n */\n GridApi.prototype.setColumnDefs = function (colDefs, source) {\n if (source === void 0) { source = \"api\"; }\n this.columnModel.setColumnDefs(colDefs, source);\n };\n /** Call to set new auto group column definition. The grid will recreate any auto-group columns if present. */\n GridApi.prototype.setAutoGroupColumnDef = function (colDef, source) {\n this.gridOptionsWrapper.setProperty('autoGroupColumnDef', colDef, true);\n };\n /** Call to set new Default Column Definition. */\n GridApi.prototype.setDefaultColDef = function (colDef, source) {\n this.gridOptionsWrapper.setProperty('defaultColDef', colDef, true);\n };\n GridApi.prototype.expireValueCache = function () {\n this.valueCache.expire();\n };\n /**\n * Returns an object with two properties:\n * - `top`: The top pixel position of the current scroll in the grid\n * - `bottom`: The bottom pixel position of the current scroll in the grid\n */\n GridApi.prototype.getVerticalPixelRange = function () {\n return this.gridBodyCtrl.getScrollFeature().getVScrollPosition();\n };\n /**\n * Returns an object with two properties:\n * - `left`: The left pixel position of the current scroll in the grid\n * - `right`: The right pixel position of the current scroll in the grid\n */\n GridApi.prototype.getHorizontalPixelRange = function () {\n return this.gridBodyCtrl.getScrollFeature().getHScrollPosition();\n };\n /** If `true`, the horizontal scrollbar will always be present, even if not required. Otherwise, it will only be displayed when necessary. */\n GridApi.prototype.setAlwaysShowHorizontalScroll = function (show) {\n this.gridOptionsWrapper.setProperty('alwaysShowHorizontalScroll', show);\n };\n /** If `true`, the vertical scrollbar will always be present, even if not required. Otherwise it will only be displayed when necessary. */\n GridApi.prototype.setAlwaysShowVerticalScroll = function (show) {\n this.gridOptionsWrapper.setProperty('alwaysShowVerticalScroll', show);\n };\n /** Force refresh all tool panels by calling their `refresh` method. */\n GridApi.prototype.refreshToolPanel = function () {\n if (!this.sideBarComp) {\n return;\n }\n this.sideBarComp.refresh();\n };\n /** Performs change detection on all cells, refreshing cells where required. */\n GridApi.prototype.refreshCells = function (params) {\n if (params === void 0) { params = {}; }\n if (Array.isArray(params)) {\n // the old version of refreshCells() took an array of rowNodes for the first argument\n console.warn('since AG Grid v11.1, refreshCells() now takes parameters, please see the documentation.');\n return;\n }\n this.rowRenderer.refreshCells(params);\n };\n /** Flash rows, columns or individual cells. */\n GridApi.prototype.flashCells = function (params) {\n if (params === void 0) { params = {}; }\n this.rowRenderer.flashCells(params);\n };\n /** Remove row(s) from the DOM and recreate them again from scratch. */\n GridApi.prototype.redrawRows = function (params) {\n if (params === void 0) { params = {}; }\n var rowNodes = params ? params.rowNodes : undefined;\n this.rowRenderer.redrawRows(rowNodes);\n };\n GridApi.prototype.setFunctionsReadOnly = function (readOnly) {\n this.gridOptionsWrapper.setProperty('functionsReadOnly', readOnly);\n };\n /** Redraws the header. Useful if a column name changes, or something else that changes how the column header is displayed. */\n GridApi.prototype.refreshHeader = function () {\n this.ctrlsService.getHeaderRowContainerCtrls().forEach(function (c) { return c.refresh(); });\n };\n /** Returns `true` if any filter is set. This includes quick filter, advanced filter or external filter. */\n GridApi.prototype.isAnyFilterPresent = function () {\n return this.filterManager.isAnyFilterPresent();\n };\n /** Returns `true` if any column filter is set, otherwise `false`. */\n GridApi.prototype.isColumnFilterPresent = function () {\n return this.filterManager.isColumnFilterPresent() || this.filterManager.isAggregateFilterPresent();\n };\n /** Returns `true` if the quick filter is set, otherwise `false`. */\n GridApi.prototype.isQuickFilterPresent = function () {\n return this.filterManager.isQuickFilterPresent();\n };\n /**\n * Returns the row model inside the table.\n * From here you can see the original rows, rows after filter has been applied,\n * rows after aggregation has been applied, and the final set of 'to be displayed' rows.\n */\n GridApi.prototype.getModel = function () {\n return this.rowModel;\n };\n /** Expand or collapse a specific row node. */\n GridApi.prototype.setRowNodeExpanded = function (rowNode, expanded) {\n if (rowNode) {\n rowNode.setExpanded(expanded);\n }\n };\n /**\n * If after getting the model, you expand or collapse a group, call this method to inform the grid.\n * It will work out the final set of 'to be displayed' rows again (i.e. expand or collapse the group visually).\n */\n GridApi.prototype.onGroupExpandedOrCollapsed = function (deprecated_refreshFromIndex) {\n if (missing(this.clientSideRowModel)) {\n console.warn('AG Grid: cannot call onGroupExpandedOrCollapsed unless using normal row model');\n }\n if (exists(deprecated_refreshFromIndex)) {\n console.warn('AG Grid: api.onGroupExpandedOrCollapsed - refreshFromIndex parameter is no longer used, the grid will refresh all rows');\n }\n // we don't really want the user calling this if only one rowNode was expanded, instead they should be\n // calling rowNode.setExpanded(boolean) - this way we do a 'keepRenderedRows=false' so that the whole\n // grid gets refreshed again - otherwise the row with the rowNodes that were changed won't get updated,\n // and thus the expand icon in the group cell won't get 'opened' or 'closed'.\n this.clientSideRowModel.refreshModel({ step: exports.ClientSideRowModelSteps.MAP });\n };\n GridApi.prototype.refreshInMemoryRowModel = function (step) {\n console.warn(\"ag-grid: since version 18.x, api.refreshInMemoryRowModel() should be replaced with api.refreshClientSideRowModel()\");\n this.refreshClientSideRowModel(step);\n };\n /** Gets the Client-Side Row Model to refresh, executing the grouping, filtering and sorting again. */\n GridApi.prototype.refreshClientSideRowModel = function (step) {\n if (missing(this.clientSideRowModel)) {\n console.warn('cannot call refreshClientSideRowModel unless using normal row model');\n }\n var paramsStep = exports.ClientSideRowModelSteps.EVERYTHING;\n var stepsMapped = {\n group: exports.ClientSideRowModelSteps.EVERYTHING,\n filter: exports.ClientSideRowModelSteps.FILTER,\n map: exports.ClientSideRowModelSteps.MAP,\n aggregate: exports.ClientSideRowModelSteps.AGGREGATE,\n sort: exports.ClientSideRowModelSteps.SORT,\n pivot: exports.ClientSideRowModelSteps.PIVOT\n };\n if (exists(step)) {\n paramsStep = stepsMapped[step];\n }\n if (missing(paramsStep)) {\n console.error(\"AG Grid: invalid step \" + step + \", available steps are \" + Object.keys(stepsMapped).join(', '));\n return;\n }\n var animate = !this.gridOptionsWrapper.isSuppressAnimationFrame();\n var modelParams = {\n step: paramsStep,\n keepRenderedRows: true,\n keepEditingRows: true,\n animate: animate\n };\n this.clientSideRowModel.refreshModel(modelParams);\n };\n /** Returns `true` when there are no more animation frames left to process. */\n GridApi.prototype.isAnimationFrameQueueEmpty = function () {\n return this.animationFrameService.isQueueEmpty();\n };\n GridApi.prototype.flushAllAnimationFrames = function () {\n this.animationFrameService.flushAllFrames();\n };\n /**\n * Returns the row node with the given ID.\n * The row node ID is the one you provide from the callback `getRowId(params)`,\n * otherwise the ID is a number (cast as string) auto-generated by the grid when\n * the row data is set.\n */\n GridApi.prototype.getRowNode = function (id) {\n return this.rowModel.getRowNode(id);\n };\n /**\n * Gets the sizes that various UI elements will be rendered at with the current theme.\n * If you override the row or header height using `gridOptions`, the override value you provided will be returned.\n */\n GridApi.prototype.getSizesForCurrentTheme = function () {\n return {\n rowHeight: this.gridOptionsWrapper.getRowHeightAsNumber(),\n headerHeight: this.gridOptionsWrapper.getHeaderHeight()\n };\n };\n /** Expand all groups. */\n GridApi.prototype.expandAll = function () {\n if (this.clientSideRowModel) {\n this.clientSideRowModel.expandOrCollapseAll(true);\n }\n else if (this.serverSideRowModel) {\n this.serverSideRowModel.expandAll(true);\n }\n else {\n console.warn('AG Grid: expandAll only works with Client Side Row Model and Server Side Row Model');\n }\n };\n /** Collapse all groups. */\n GridApi.prototype.collapseAll = function () {\n if (this.clientSideRowModel) {\n this.clientSideRowModel.expandOrCollapseAll(false);\n }\n else if (this.serverSideRowModel) {\n this.serverSideRowModel.expandAll(false);\n }\n else {\n console.warn('AG Grid: collapseAll only works with Client Side Row Model and Server Side Row Model');\n }\n };\n /** Gets the tool panel instance corresponding to the supplied `id`. */\n GridApi.prototype.getToolPanelInstance = function (id) {\n if (!this.sideBarComp) {\n console.warn('AG Grid: toolPanel is only available in AG Grid Enterprise');\n return;\n }\n var comp = this.sideBarComp.getToolPanelInstance(id);\n return unwrapUserComp(comp);\n };\n GridApi.prototype.addVirtualRowListener = function (eventName, rowIndex, callback) {\n if (typeof eventName !== 'string') {\n console.warn('AG Grid: addVirtualRowListener is deprecated, please use addRenderedRowListener.');\n }\n this.addRenderedRowListener(eventName, rowIndex, callback);\n };\n /**\n * Registers a callback to a virtual row.\n * A virtual row is a row that is visually rendered on the screen (rows that are not visible because of the scroll position are not rendered).\n * Unlike normal events, you do not need to unregister rendered row listeners.\n * When the rendered row is removed from the grid, all associated rendered row listeners will also be removed.\n * Currently supports only one event, `virtualRowRemoved`;\n * listen for this event if your `cellRenderer` needs to do cleanup when the row no longer exists.\n */\n GridApi.prototype.addRenderedRowListener = function (eventName, rowIndex, callback) {\n if (eventName === 'virtualRowSelected') {\n console.warn(\"AG Grid: event virtualRowSelected is deprecated, to register for individual row\\n selection events, add a listener directly to the row node.\");\n }\n this.rowRenderer.addRenderedRowListener(eventName, rowIndex, callback);\n };\n /** Pass a quick filter text into the grid for filtering. */\n GridApi.prototype.setQuickFilter = function (newFilter) {\n this.filterManager.setQuickFilter(newFilter);\n };\n GridApi.prototype.selectIndex = function (index, tryMulti, suppressEvents) {\n console.warn('AG Grid: do not use api for selection, call node.setSelected(value) instead');\n if (suppressEvents) {\n console.warn('AG Grid: suppressEvents is no longer supported, stop listening for the event if you no longer want it');\n }\n this.selectionService.selectIndex(index, tryMulti);\n };\n GridApi.prototype.deselectIndex = function (index, suppressEvents) {\n if (suppressEvents === void 0) { suppressEvents = false; }\n console.warn('AG Grid: do not use api for selection, call node.setSelected(value) instead');\n if (suppressEvents) {\n console.warn('AG Grid: suppressEvents is no longer supported, stop listening for the event if you no longer want it');\n }\n this.selectionService.deselectIndex(index);\n };\n GridApi.prototype.selectNode = function (node, tryMulti, suppressEvents) {\n if (tryMulti === void 0) { tryMulti = false; }\n if (suppressEvents === void 0) { suppressEvents = false; }\n console.warn('AG Grid: API for selection is deprecated, call node.setSelected(value) instead');\n if (suppressEvents) {\n console.warn('AG Grid: suppressEvents is no longer supported, stop listening for the event if you no longer want it');\n }\n node.setSelectedParams({ newValue: true, clearSelection: !tryMulti });\n };\n GridApi.prototype.deselectNode = function (node, suppressEvents) {\n if (suppressEvents === void 0) { suppressEvents = false; }\n console.warn('AG Grid: API for selection is deprecated, call node.setSelected(value) instead');\n if (suppressEvents) {\n console.warn('AG Grid: suppressEvents is no longer supported, stop listening for the event if you no longer want it');\n }\n node.setSelectedParams({ newValue: false });\n };\n /** Select all rows, regardless of filtering and rows that are not visible due to grouping being enabled and their groups not expanded. */\n GridApi.prototype.selectAll = function () {\n this.selectionService.selectAllRowNodes();\n };\n /** Clear all row selections, regardless of filtering. */\n GridApi.prototype.deselectAll = function () {\n this.selectionService.deselectAllRowNodes();\n };\n /** Select all filtered rows. */\n GridApi.prototype.selectAllFiltered = function () {\n this.selectionService.selectAllRowNodes(true);\n };\n /** Clear all filtered selections. */\n GridApi.prototype.deselectAllFiltered = function () {\n this.selectionService.deselectAllRowNodes(true);\n };\n GridApi.prototype.recomputeAggregates = function () {\n if (missing(this.clientSideRowModel)) {\n console.warn('cannot call recomputeAggregates unless using normal row model');\n }\n console.warn(\"recomputeAggregates is deprecated, please call api.refreshClientSideRowModel('aggregate') instead\");\n this.clientSideRowModel.refreshModel({ step: exports.ClientSideRowModelSteps.AGGREGATE });\n };\n /** Sets columns to adjust in size to fit the grid horizontally. */\n GridApi.prototype.sizeColumnsToFit = function () {\n this.gridBodyCtrl.sizeColumnsToFit();\n };\n /** Show the 'loading' overlay. */\n GridApi.prototype.showLoadingOverlay = function () {\n this.overlayWrapperComp.showLoadingOverlay();\n };\n /** Show the 'no rows' overlay. */\n GridApi.prototype.showNoRowsOverlay = function () {\n this.overlayWrapperComp.showNoRowsOverlay();\n };\n /** Hides the overlay if showing. */\n GridApi.prototype.hideOverlay = function () {\n this.overlayWrapperComp.hideOverlay();\n };\n GridApi.prototype.isNodeSelected = function (node) {\n console.warn('AG Grid: no need to call api.isNodeSelected(), just call node.isSelected() instead');\n return node.isSelected();\n };\n GridApi.prototype.getSelectedNodesById = function () {\n console.error('AG Grid: since version 3.4, getSelectedNodesById no longer exists, use getSelectedNodes() instead');\n return null;\n };\n /**\n * Returns a list of selected nodes.\n * Getting the underlying node (rather than the data) is useful when working with tree / aggregated data,\n * as the node can be traversed.\n */\n GridApi.prototype.getSelectedNodes = function () {\n return this.selectionService.getSelectedNodes();\n };\n /** Returns a list of selected rows (i.e. row data that you provided). */\n GridApi.prototype.getSelectedRows = function () {\n return this.selectionService.getSelectedRows();\n };\n /**\n * Returns a list of all selected nodes at 'best cost', a feature to be used with groups / trees.\n * If a group has all its children selected, then the group appears in the result, but not the children.\n * Designed for use with `'children'` as the group selection type, where groups don't actually appear in the selection normally.\n */\n GridApi.prototype.getBestCostNodeSelection = function () {\n return this.selectionService.getBestCostNodeSelection();\n };\n /** Retrieve rendered nodes. Due to virtualisation this will contain only the current visible rows and those in the buffer. */\n GridApi.prototype.getRenderedNodes = function () {\n return this.rowRenderer.getRenderedNodes();\n };\n GridApi.prototype.ensureColIndexVisible = function (index) {\n console.warn('AG Grid: ensureColIndexVisible(index) no longer supported, use ensureColumnVisible(colKey) instead.');\n };\n /**\n * Ensures the column is visible by scrolling the table if needed.\n * @param key - The column to ensure visible\n * @param position - Where the column will be positioned.\n * - `auto` - Scrolls the minimum amount to make sure the column is visible.\n * - `start` - Scrolls the column to the start of the viewport.\n * - `middle` - Scrolls the column to the middle of the viewport.\n * - `end` - Scrolls the column to the end of the viewport.\n */\n GridApi.prototype.ensureColumnVisible = function (key, position) {\n if (position === void 0) { position = 'auto'; }\n this.gridBodyCtrl.getScrollFeature().ensureColumnVisible(key, position);\n };\n /**\n * Ensures the row index is visible by vertically scrolling the grid.\n * If a position of `'top'`, `'middle'` or `'bottom'` is supplied, the grid will scroll the grid to place the row at the top, middle or bottom respectively.\n * Otherwise, the grid will do the minimum scrolling possible to show the row.\n * i.e.\n * - if the grid needs to scroll up then it will scroll so that the row is at the top,\n * - if the grid needs to scroll down then it will scroll so that the row is at the bottom,\n * - if the row is already in view then the grid will do nothing.\n */\n GridApi.prototype.ensureIndexVisible = function (index, position) {\n this.gridBodyCtrl.getScrollFeature().ensureIndexVisible(index, position);\n };\n /**\n * Ensures a row node is visible, scrolling the grid if needed.\n * Provide either:\n * - the node,\n * - the data object\n * - a comparator function (that takes the node as a parameter, and returns `true` for match or `false` for no match).\n */\n GridApi.prototype.ensureNodeVisible = function (comparator, position) {\n if (position === void 0) { position = null; }\n this.gridBodyCtrl.getScrollFeature().ensureNodeVisible(comparator, position);\n };\n /**\n * Similar to `forEachNode`, except lists all the leaf nodes.\n * This effectively goes through all the data that you provided to the grid before the grid performed any grouping.\n * If using tree data, goes through all the nodes for the data you provided, including nodes that have children,\n * but excluding groups the grid created where gaps were missing in the hierarchy.\n */\n GridApi.prototype.forEachLeafNode = function (callback) {\n if (missing(this.clientSideRowModel)) {\n console.warn('cannot call forEachNode unless using normal row model');\n }\n this.clientSideRowModel.forEachLeafNode(callback);\n };\n /**\n * Iterates through each node (row) in the grid and calls the callback for each node.\n * This works similar to the `forEach` method on a JavaScript array.\n * This is called for every node, ignoring any filtering or sorting applied within the grid.\n * If using the Infinite Row Model, then this gets called for each page loaded in the page cache.\n */\n GridApi.prototype.forEachNode = function (callback) {\n this.rowModel.forEachNode(callback);\n };\n /** Similar to `forEachNode`, except skips any filtered out data. */\n GridApi.prototype.forEachNodeAfterFilter = function (callback) {\n if (missing(this.clientSideRowModel)) {\n console.warn('cannot call forEachNodeAfterFilter unless using normal row model');\n }\n this.clientSideRowModel.forEachNodeAfterFilter(callback);\n };\n /** Similar to `forEachNodeAfterFilter`, except the callbacks are called in the order the rows are displayed in the grid. */\n GridApi.prototype.forEachNodeAfterFilterAndSort = function (callback) {\n if (missing(this.clientSideRowModel)) {\n console.warn('cannot call forEachNodeAfterFilterAndSort unless using normal row model');\n }\n this.clientSideRowModel.forEachNodeAfterFilterAndSort(callback);\n };\n /**\n * Returns the filter component instance for a column.\n * `key` can be a string field name or a ColDef object (matches on object reference, useful if field names are not unique).\n * If your filter is created asynchronously, `getFilterInstance` will return `null` so you will need to use the `callback` to access the filter instance instead.\n */\n GridApi.prototype.getFilterInstance = function (key, callback) {\n var res = this.getFilterInstanceImpl(key, function (instance) {\n if (!callback) {\n return;\n }\n var unwrapped = unwrapUserComp(instance);\n callback(unwrapped);\n });\n var unwrapped = unwrapUserComp(res);\n return unwrapped;\n };\n GridApi.prototype.getFilterInstanceImpl = function (key, callback) {\n var column = this.columnModel.getPrimaryColumn(key);\n if (!column) {\n return undefined;\n }\n var filterPromise = this.filterManager.getFilterComponent(column, 'NO_UI');\n var currentValue = filterPromise && filterPromise.resolveNow(null, function (filterComp) { return filterComp; });\n if (currentValue) {\n setTimeout(callback, 0, currentValue);\n }\n else if (filterPromise) {\n filterPromise.then(function (comp) {\n callback(comp);\n });\n }\n return currentValue;\n };\n /** Destroys a filter. Useful to force a particular filter to be created from scratch again. */\n GridApi.prototype.destroyFilter = function (key) {\n var column = this.columnModel.getPrimaryColumn(key);\n if (column) {\n return this.filterManager.destroyFilter(column, \"filterDestroyed\");\n }\n };\n /** Gets the status panel instance corresponding to the supplied `id`. */\n GridApi.prototype.getStatusPanel = function (key) {\n if (!this.statusBarService) {\n return;\n }\n var comp = this.statusBarService.getStatusPanel(key);\n return unwrapUserComp(comp);\n };\n GridApi.prototype.getColumnDef = function (key) {\n var column = this.columnModel.getPrimaryColumn(key);\n if (column) {\n return column.getColDef();\n }\n return null;\n };\n /**\n * Returns the current column definitions.\n */\n GridApi.prototype.getColumnDefs = function () { return this.columnModel.getColumnDefs(); };\n /** Informs the grid that a filter has changed. This is typically called after a filter change through one of the filter APIs. */\n GridApi.prototype.onFilterChanged = function () {\n this.filterManager.onFilterChanged();\n };\n /**\n * Gets the grid to act as if the sort was changed.\n * Useful if you update some values and want to get the grid to reorder them according to the new values.\n */\n GridApi.prototype.onSortChanged = function () {\n this.sortController.onSortChanged('api');\n };\n /** Sets the state of all the advanced filters. Provide it with what you get from `getFilterModel()` to restore filter state. */\n GridApi.prototype.setFilterModel = function (model) {\n this.filterManager.setFilterModel(model);\n };\n /** Gets the current state of all the advanced filters. Used for saving filter state. */\n GridApi.prototype.getFilterModel = function () {\n return this.filterManager.getFilterModel();\n };\n /** Returns the focused cell (or the last focused cell if the grid lost focus). */\n GridApi.prototype.getFocusedCell = function () {\n return this.focusService.getFocusedCell();\n };\n /** Clears the focused cell. */\n GridApi.prototype.clearFocusedCell = function () {\n return this.focusService.clearFocusedCell();\n };\n /** Sets the focus to the specified cell. `rowPinned` can be either 'top', 'bottom' or null (for not pinned). */\n GridApi.prototype.setFocusedCell = function (rowIndex, colKey, rowPinned) {\n this.focusService.setFocusedCell(rowIndex, colKey, rowPinned, true);\n };\n /** Sets the `suppressRowDrag` property. */\n GridApi.prototype.setSuppressRowDrag = function (value) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_SUPPRESS_ROW_DRAG, value);\n };\n /** Sets the `suppressMoveWhenRowDragging` property. */\n GridApi.prototype.setSuppressMoveWhenRowDragging = function (value) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_SUPPRESS_MOVE_WHEN_ROW_DRAG, value);\n };\n /** Sets the `suppressRowClickSelection` property. */\n GridApi.prototype.setSuppressRowClickSelection = function (value) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_SUPPRESS_ROW_CLICK_SELECTION, value);\n };\n /** Adds a drop zone outside of the grid where rows can be dropped. */\n GridApi.prototype.addRowDropZone = function (params) {\n this.gridBodyCtrl.getRowDragFeature().addRowDropZone(params);\n };\n /** Removes an external drop zone added by `addRowDropZone`. */\n GridApi.prototype.removeRowDropZone = function (params) {\n var activeDropTarget = this.dragAndDropService.findExternalZone(params);\n if (activeDropTarget) {\n this.dragAndDropService.removeDropTarget(activeDropTarget);\n }\n };\n /** Returns the `RowDropZoneParams` to be used by another grid's `addRowDropZone` method. */\n GridApi.prototype.getRowDropZoneParams = function (events) {\n return this.gridBodyCtrl.getRowDragFeature().getRowDropZone(events);\n };\n /** Sets the height in pixels for the row containing the column label header. */\n GridApi.prototype.setHeaderHeight = function (headerHeight) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_HEADER_HEIGHT, headerHeight);\n };\n /**\n * Switch between layout options: `normal`, `autoHeight`, `print`.\n * Defaults to `normal` if no domLayout provided.\n */\n GridApi.prototype.setDomLayout = function (domLayout) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_DOM_LAYOUT, domLayout);\n };\n /** Sets the `enableCellTextSelection` property. */\n GridApi.prototype.setEnableCellTextSelection = function (selectable) {\n this.gridBodyCtrl.setCellTextSelection(selectable);\n };\n /** Sets the preferred direction for the selection fill handle. */\n GridApi.prototype.setFillHandleDirection = function (direction) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_FILL_HANDLE_DIRECTION, direction);\n };\n /** Sets the height in pixels for the rows containing header column groups. */\n GridApi.prototype.setGroupHeaderHeight = function (headerHeight) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_GROUP_HEADER_HEIGHT, headerHeight);\n };\n /** Sets the height in pixels for the row containing the floating filters. */\n GridApi.prototype.setFloatingFiltersHeight = function (headerHeight) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_FLOATING_FILTERS_HEIGHT, headerHeight);\n };\n /** Sets the height in pixels for the row containing the columns when in pivot mode. */\n GridApi.prototype.setPivotHeaderHeight = function (headerHeight) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_PIVOT_HEADER_HEIGHT, headerHeight);\n };\n /** Sets the height in pixels for the row containing header column groups when in pivot mode. */\n GridApi.prototype.setPivotGroupHeaderHeight = function (headerHeight) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_PIVOT_GROUP_HEADER_HEIGHT, headerHeight);\n };\n GridApi.prototype.setIsExternalFilterPresent = function (isExternalFilterPresentFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_IS_EXTERNAL_FILTER_PRESENT, isExternalFilterPresentFunc);\n };\n GridApi.prototype.setDoesExternalFilterPass = function (doesExternalFilterPassFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_DOES_EXTERNAL_FILTER_PASS, doesExternalFilterPassFunc);\n };\n GridApi.prototype.setNavigateToNextCell = function (navigateToNextCellFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_NAVIGATE_TO_NEXT_CELL, navigateToNextCellFunc);\n };\n GridApi.prototype.setTabToNextCell = function (tabToNextCellFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_TAB_TO_NEXT_CELL, tabToNextCellFunc);\n };\n GridApi.prototype.setTabToNextHeader = function (tabToNextHeaderFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_TAB_TO_NEXT_HEADER, tabToNextHeaderFunc);\n };\n GridApi.prototype.setNavigateToNextHeader = function (navigateToNextHeaderFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_NAVIGATE_TO_NEXT_HEADER, navigateToNextHeaderFunc);\n };\n GridApi.prototype.setGroupRowAggNodes = function (groupRowAggNodesFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_GROUP_ROW_AGG_NODES, groupRowAggNodesFunc);\n };\n GridApi.prototype.setGetGroupRowAgg = function (getGroupRowAggFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_GET_GROUP_ROW_AGG, getGroupRowAggFunc);\n };\n GridApi.prototype.setGetBusinessKeyForNode = function (getBusinessKeyForNodeFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_GET_BUSINESS_KEY_FOR_NODE, getBusinessKeyForNodeFunc);\n };\n GridApi.prototype.setGetChildCount = function (getChildCountFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_GET_CHILD_COUNT, getChildCountFunc);\n };\n GridApi.prototype.setProcessRowPostCreate = function (processRowPostCreateFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_PROCESS_ROW_POST_CREATE, processRowPostCreateFunc);\n };\n GridApi.prototype.setGetRowNodeId = function (getRowNodeIdFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_GET_ROW_NODE_ID, getRowNodeIdFunc);\n };\n GridApi.prototype.setGetRowId = function (getRowIdFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_GET_ROW_ID, getRowIdFunc);\n };\n GridApi.prototype.setGetRowClass = function (rowClassFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_GET_ROW_CLASS, rowClassFunc);\n };\n GridApi.prototype.setIsFullWidthCell = function (isFullWidthCellFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_IS_FULL_WIDTH_CELL, isFullWidthCellFunc);\n };\n GridApi.prototype.setIsFullWidthRow = function (isFullWidthRowFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_IS_FULL_WIDTH_ROW, isFullWidthRowFunc);\n };\n GridApi.prototype.setIsRowSelectable = function (isRowSelectableFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_IS_ROW_SELECTABLE, isRowSelectableFunc);\n };\n GridApi.prototype.setIsRowMaster = function (isRowMasterFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_IS_ROW_MASTER, isRowMasterFunc);\n };\n GridApi.prototype.setPostSort = function (postSortFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_POST_SORT, postSortFunc);\n };\n GridApi.prototype.setPostSortRows = function (postSortRowsFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_POST_SORT_ROWS, postSortRowsFunc);\n };\n GridApi.prototype.setGetDocument = function (getDocumentFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_GET_DOCUMENT, getDocumentFunc);\n };\n GridApi.prototype.setGetContextMenuItems = function (getContextMenuItemsFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_GET_CONTEXT_MENU_ITEMS, getContextMenuItemsFunc);\n };\n GridApi.prototype.setGetMainMenuItems = function (getMainMenuItemsFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_GET_MAIN_MENU_ITEMS, getMainMenuItemsFunc);\n };\n GridApi.prototype.setProcessCellForClipboard = function (processCellForClipboardFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_PROCESS_CELL_FOR_CLIPBOARD, processCellForClipboardFunc);\n };\n GridApi.prototype.setSendToClipboard = function (sendToClipboardFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_SEND_TO_CLIPBOARD, sendToClipboardFunc);\n };\n GridApi.prototype.setProcessCellFromClipboard = function (processCellFromClipboardFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_PROCESS_CELL_FROM_CLIPBOARD, processCellFromClipboardFunc);\n };\n GridApi.prototype.setProcessSecondaryColDef = function (processSecondaryColDefFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_PROCESS_TO_SECONDARY_COLDEF, processSecondaryColDefFunc);\n };\n GridApi.prototype.setProcessSecondaryColGroupDef = function (processSecondaryColGroupDefFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_PROCESS_SECONDARY_COL_GROUP_DEF, processSecondaryColGroupDefFunc);\n };\n GridApi.prototype.setPostProcessPopup = function (postProcessPopupFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_POST_PROCESS_POPUP, postProcessPopupFunc);\n };\n GridApi.prototype.setDefaultGroupOrderComparator = function (defaultGroupOrderComparatorFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_DEFAULT_GROUP_ORDER_COMPARATOR, defaultGroupOrderComparatorFunc);\n };\n GridApi.prototype.setInitialGroupOrderComparator = function (initialGroupOrderComparatorFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_INITIAL_GROUP_ORDER_COMPARATOR, initialGroupOrderComparatorFunc);\n };\n GridApi.prototype.setGetChartToolbarItems = function (getChartToolbarItemsFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_GET_CHART_TOOLBAR_ITEMS, getChartToolbarItemsFunc);\n };\n GridApi.prototype.setPaginationNumberFormatter = function (paginationNumberFormatterFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_PAGINATION_NUMBER_FORMATTER, paginationNumberFormatterFunc);\n };\n GridApi.prototype.setGetServerSideStoreParams = function (getServerSideStoreParamsFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_GET_SERVER_SIDE_STORE_PARAMS, getServerSideStoreParamsFunc);\n };\n GridApi.prototype.setIsServerSideGroupOpenByDefault = function (isServerSideGroupOpenByDefaultFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_IS_SERVER_SIDE_GROUPS_OPEN_BY_DEFAULT, isServerSideGroupOpenByDefaultFunc);\n };\n GridApi.prototype.setIsApplyServerSideTransaction = function (isApplyServerSideTransactionFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_IS_APPLY_SERVER_SIDE_TRANSACTION, isApplyServerSideTransactionFunc);\n };\n GridApi.prototype.setIsServerSideGroup = function (isServerSideGroupFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_IS_SERVER_SIDE_GROUP, isServerSideGroupFunc);\n };\n GridApi.prototype.setGetServerSideGroupKey = function (getServerSideGroupKeyFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_GET_SERVER_SIDE_GROUP_KEY, getServerSideGroupKeyFunc);\n };\n GridApi.prototype.setGetRowStyle = function (rowStyleFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_GET_ROW_STYLE, rowStyleFunc);\n };\n GridApi.prototype.setGetRowHeight = function (rowHeightFunc) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_GET_ROW_HEIGHT, rowHeightFunc);\n };\n /** Returns `true` if the side bar is visible. */\n GridApi.prototype.isSideBarVisible = function () {\n return this.sideBarComp ? this.sideBarComp.isDisplayed() : false;\n };\n /** Show/hide the entire side bar, including any visible panel and the tab buttons. */\n GridApi.prototype.setSideBarVisible = function (show) {\n if (!this.sideBarComp) {\n if (show) {\n console.warn('AG Grid: sideBar is not loaded');\n }\n return;\n }\n this.sideBarComp.setDisplayed(show);\n };\n /** Sets the side bar position relative to the grid. Possible values are `'left'` or `'right'`. */\n GridApi.prototype.setSideBarPosition = function (position) {\n if (!this.sideBarComp) {\n console.warn('AG Grid: sideBar is not loaded');\n return;\n }\n this.sideBarComp.setSideBarPosition(position);\n };\n /** Opens a particular tool panel. Provide the ID of the tool panel to open. */\n GridApi.prototype.openToolPanel = function (key) {\n if (!this.sideBarComp) {\n console.warn('AG Grid: toolPanel is only available in AG Grid Enterprise');\n return;\n }\n this.sideBarComp.openToolPanel(key);\n };\n /** Closes the currently open tool panel (if any). */\n GridApi.prototype.closeToolPanel = function () {\n if (!this.sideBarComp) {\n console.warn('AG Grid: toolPanel is only available in AG Grid Enterprise');\n return;\n }\n this.sideBarComp.close();\n };\n /** Returns the ID of the currently shown tool panel if any, otherwise `null`. */\n GridApi.prototype.getOpenedToolPanel = function () {\n return this.sideBarComp ? this.sideBarComp.openedItem() : null;\n };\n /** Returns the current side bar configuration. If a shortcut was used, returns the detailed long form. */\n GridApi.prototype.getSideBar = function () {\n return this.gridOptionsWrapper.getSideBar();\n };\n /** Resets the side bar to the provided configuration. The parameter is the same as the sideBar grid property. The side bar is re-created from scratch with the new config. */\n GridApi.prototype.setSideBar = function (def) {\n this.gridOptionsWrapper.setProperty('sideBar', SideBarDefParser.parse(def));\n };\n GridApi.prototype.setSuppressClipboardPaste = function (value) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_SUPPRESS_CLIPBOARD_PASTE, value);\n };\n /** Returns `true` if the tool panel is showing, otherwise `false`. */\n GridApi.prototype.isToolPanelShowing = function () {\n return this.sideBarComp.isToolPanelShowing();\n };\n GridApi.prototype.doLayout = function () {\n var message = \"AG Grid - since version 25.1, doLayout was taken out, as it's not needed. The grid responds to grid size changes automatically\";\n doOnce(function () { return console.warn(message); }, 'doLayoutDeprecated');\n };\n /** Tells the grid to recalculate the row heights. */\n GridApi.prototype.resetRowHeights = function () {\n if (exists(this.clientSideRowModel)) {\n if (this.columnModel.isAutoRowHeightActive()) {\n console.warn('AG Grid: calling gridApi.resetRowHeights() makes no sense when using Auto Row Height.');\n return;\n }\n this.clientSideRowModel.resetRowHeights();\n }\n };\n GridApi.prototype.setGroupRemoveSingleChildren = function (value) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_GROUP_REMOVE_SINGLE_CHILDREN, value);\n };\n GridApi.prototype.setGroupRemoveLowestSingleChildren = function (value) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_GROUP_REMOVE_LOWEST_SINGLE_CHILDREN, value);\n };\n /** Tells the grid a row height has changed. To be used after calling `rowNode.setRowHeight(newHeight)`. */\n GridApi.prototype.onRowHeightChanged = function () {\n if (this.clientSideRowModel) {\n this.clientSideRowModel.onRowHeightChanged();\n }\n else if (this.serverSideRowModel) {\n this.serverSideRowModel.onRowHeightChanged();\n }\n };\n /**\n * Gets the value for a column for a particular `rowNode` (row).\n * This is useful if you want the raw value of a cell e.g. if implementing your own CSV export.\n */\n GridApi.prototype.getValue = function (colKey, rowNode) {\n var column = this.columnModel.getPrimaryColumn(colKey);\n if (missing(column)) {\n column = this.columnModel.getGridColumn(colKey);\n }\n if (missing(column)) {\n return null;\n }\n return this.valueService.getValue(column, rowNode);\n };\n /** Add an event listener for the specified `eventType`. Works similar to `addEventListener` for a browser DOM element. */\n GridApi.prototype.addEventListener = function (eventType, listener) {\n var async = this.gridOptionsWrapper.useAsyncEvents();\n this.eventService.addEventListener(eventType, listener, async);\n };\n /** Add an event listener for all event types coming from the grid. */\n GridApi.prototype.addGlobalListener = function (listener) {\n var async = this.gridOptionsWrapper.useAsyncEvents();\n this.eventService.addGlobalListener(listener, async);\n };\n /** Remove an event listener. */\n GridApi.prototype.removeEventListener = function (eventType, listener) {\n var async = this.gridOptionsWrapper.useAsyncEvents();\n this.eventService.removeEventListener(eventType, listener, async);\n };\n /** Remove a global event listener. */\n GridApi.prototype.removeGlobalListener = function (listener) {\n var async = this.gridOptionsWrapper.useAsyncEvents();\n this.eventService.removeGlobalListener(listener, async);\n };\n GridApi.prototype.dispatchEvent = function (event) {\n this.eventService.dispatchEvent(event);\n };\n /** Will destroy the grid and release resources. If you are using a framework you do not need to call this, as the grid links in with the framework lifecycle. However if you are using Web Components or native JavaScript, you do need to call this, to avoid a memory leak in your application. */\n GridApi.prototype.destroy = function () {\n // this is needed as GridAPI is a bean, and GridAPI.destroy() is called as part\n // of context.destroy(). so we need to stop the infinite loop.\n if (this.destroyCalled) {\n return;\n }\n this.destroyCalled = true;\n // destroy the UI first (as they use the services)\n var gridCtrl = this.ctrlsService.getGridCtrl();\n if (gridCtrl) {\n gridCtrl.destroyGridUi();\n }\n // destroy the services\n this.context.destroy();\n };\n GridApi.prototype.cleanDownReferencesToAvoidMemoryLeakInCaseApplicationIsKeepingReferenceToDestroyedGrid = function () {\n // some users were raising support issues with regards memory leaks. the problem was the customers applications\n // were keeping references to the API. trying to educate them all would be difficult, easier to just remove\n // all references in the API so at least the core grid can be garbage collected.\n //\n // wait about 100ms before clearing down the references, in case user has some cleanup to do,\n // and needs to deference the API first\n setTimeout(removeAllReferences.bind(window, this, 'Grid API'), 100);\n };\n GridApi.prototype.warnIfDestroyed = function (methodName) {\n if (this.destroyCalled) {\n console.warn(\"AG Grid: Grid API method \" + methodName + \" was called on a grid that was destroyed.\");\n }\n return this.destroyCalled;\n };\n /** Reset the quick filter cache text on every rowNode. */\n GridApi.prototype.resetQuickFilter = function () {\n if (this.warnIfDestroyed('resetQuickFilter')) {\n return;\n }\n this.rowModel.forEachNode(function (node) { return node.quickFilterAggregateText = null; });\n };\n GridApi.prototype.getRangeSelections = function () {\n console.warn(\"AG Grid: in v20.1.x, api.getRangeSelections() is gone, please use getCellRanges() instead.\\n We had to change how cell selections works a small bit to allow charting to integrate. The return type of\\n getCellRanges() is a bit different, please check the AG Grid documentation.\");\n return null;\n };\n /** Returns the list of selected cell ranges. */\n GridApi.prototype.getCellRanges = function () {\n if (this.rangeService) {\n return this.rangeService.getCellRanges();\n }\n console.warn('AG Grid: cell range selection is only available in AG Grid Enterprise');\n return null;\n };\n GridApi.prototype.camelCaseToHumanReadable = function (camelCase) {\n return camelCaseToHumanText(camelCase);\n };\n GridApi.prototype.addRangeSelection = function (deprecatedNoLongerUsed) {\n console.warn('AG Grid: As of version 21.x, range selection changed slightly to allow charting integration. Please call api.addCellRange() instead of api.addRangeSelection()');\n };\n /** Adds the provided cell range to the selected ranges. */\n GridApi.prototype.addCellRange = function (params) {\n if (!this.rangeService) {\n console.warn('AG Grid: cell range selection is only available in AG Grid Enterprise');\n }\n this.rangeService.addCellRange(params);\n };\n /** Clears the selected ranges. */\n GridApi.prototype.clearRangeSelection = function () {\n if (!this.rangeService) {\n console.warn('AG Grid: cell range selection is only available in AG Grid Enterprise');\n }\n this.rangeService.removeAllCellRanges();\n };\n /** Reverts the last cell edit. */\n GridApi.prototype.undoCellEditing = function () {\n this.undoRedoService.undo();\n };\n /** Re-applies the most recently undone cell edit. */\n GridApi.prototype.redoCellEditing = function () {\n this.undoRedoService.redo();\n };\n /** Returns current number of available cell edit undo operations. */\n GridApi.prototype.getCurrentUndoSize = function () {\n return this.undoRedoService.getCurrentUndoStackSize();\n };\n /** Returns current number of available cell edit redo operations. */\n GridApi.prototype.getCurrentRedoSize = function () {\n return this.undoRedoService.getCurrentRedoStackSize();\n };\n /** Returns a list of models with information about the charts that are currently rendered from the grid. */\n GridApi.prototype.getChartModels = function () {\n if (ModuleRegistry.assertRegistered(exports.ModuleNames.RangeSelectionModule, 'api.getChartModels') &&\n ModuleRegistry.assertRegistered(exports.ModuleNames.GridChartsModule, 'api.getChartModels')) {\n return this.chartService.getChartModels();\n }\n };\n /** Returns the `ChartRef` using the supplied `chartId`. */\n GridApi.prototype.getChartRef = function (chartId) {\n if (ModuleRegistry.assertRegistered(exports.ModuleNames.RangeSelectionModule, 'api.getChartRef') &&\n ModuleRegistry.assertRegistered(exports.ModuleNames.GridChartsModule, 'api.getChartRef')) {\n return this.chartService.getChartRef(chartId);\n }\n };\n /** Returns a string containing the requested data URL which contains a representation of the chart image. */\n GridApi.prototype.getChartImageDataURL = function (params) {\n if (ModuleRegistry.assertRegistered(exports.ModuleNames.RangeSelectionModule, 'api.getChartImageDataURL') &&\n ModuleRegistry.assertRegistered(exports.ModuleNames.GridChartsModule, 'api.getChartImageDataURL')) {\n return this.chartService.getChartImageDataURL(params);\n }\n };\n /** Used to programmatically create charts from a range. */\n GridApi.prototype.createRangeChart = function (params) {\n if (ModuleRegistry.assertRegistered(exports.ModuleNames.RangeSelectionModule, 'api.createRangeChart') &&\n ModuleRegistry.assertRegistered(exports.ModuleNames.GridChartsModule, 'api.createRangeChart')) {\n return this.chartService.createRangeChart(params);\n }\n };\n /** Used to programmatically create cross filter charts from a range. */\n GridApi.prototype.createCrossFilterChart = function (params) {\n if (ModuleRegistry.assertRegistered(exports.ModuleNames.RangeSelectionModule, 'api.createCrossFilterChart') &&\n ModuleRegistry.assertRegistered(exports.ModuleNames.GridChartsModule, 'api.createCrossFilterChart')) {\n return this.chartService.createCrossFilterChart(params);\n }\n };\n /** Restores a chart using the `ChartModel` that was previously obtained from `getChartModels()`. */\n GridApi.prototype.restoreChart = function (chartModel, chartContainer) {\n if (ModuleRegistry.assertRegistered(exports.ModuleNames.RangeSelectionModule, 'api.restoreChart') &&\n ModuleRegistry.assertRegistered(exports.ModuleNames.GridChartsModule, 'api.restoreChart')) {\n return this.chartService.restoreChart(chartModel, chartContainer);\n }\n };\n /** Used to programmatically create pivot charts from a grid. */\n GridApi.prototype.createPivotChart = function (params) {\n if (ModuleRegistry.assertRegistered(exports.ModuleNames.RangeSelectionModule, 'api.createPivotChart') &&\n ModuleRegistry.assertRegistered(exports.ModuleNames.GridChartsModule, 'api.createPivotChart')) {\n return this.chartService.createPivotChart(params);\n }\n };\n /** Copies the selected rows to the clipboard. */\n GridApi.prototype.copySelectedRowsToClipboard = function (params) {\n if (!this.clipboardService) {\n console.warn('AG Grid: clipboard is only available in AG Grid Enterprise');\n }\n this.clipboardService.copySelectedRowsToClipboard(params);\n };\n /** Copies the selected ranges to the clipboard. */\n GridApi.prototype.copySelectedRangeToClipboard = function (params) {\n if (!this.clipboardService) {\n console.warn('AG Grid: clipboard is only available in AG Grid Enterprise');\n }\n this.clipboardService.copySelectedRangeToClipboard(params);\n };\n /** Copies the selected range down, similar to `Ctrl + D` in Excel. */\n GridApi.prototype.copySelectedRangeDown = function () {\n if (!this.clipboardService) {\n console.warn('AG Grid: clipboard is only available in AG Grid Enterprise');\n }\n this.clipboardService.copyRangeDown();\n };\n /** Shows the column menu after and positions it relative to the provided button element. Use in conjunction with your own header template. */\n GridApi.prototype.showColumnMenuAfterButtonClick = function (colKey, buttonElement) {\n // use grid column so works with pivot mode\n var column = this.columnModel.getGridColumn(colKey);\n this.menuFactory.showMenuAfterButtonClick(column, buttonElement, 'columnMenu');\n };\n /** Shows the column menu after and positions it relative to the mouse event. Use in conjunction with your own header template. */\n GridApi.prototype.showColumnMenuAfterMouseClick = function (colKey, mouseEvent) {\n // use grid column so works with pivot mode\n var column = this.columnModel.getGridColumn(colKey);\n if (!column) {\n column = this.columnModel.getPrimaryColumn(colKey);\n }\n if (!column) {\n console.error(\"AG Grid: column '\" + colKey + \"' not found\");\n return;\n }\n this.menuFactory.showMenuAfterMouseEvent(column, mouseEvent);\n };\n /** Hides any visible context menu or column menu. */\n GridApi.prototype.hidePopupMenu = function () {\n // hide the context menu if in enterprise\n if (this.contextMenuFactory) {\n this.contextMenuFactory.hideActiveMenu();\n }\n // and hide the column menu always\n this.menuFactory.hideActiveMenu();\n };\n /** DOM element to use as the popup parent for grid popups (context menu, column menu etc). */\n GridApi.prototype.setPopupParent = function (ePopupParent) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_POPUP_PARENT, ePopupParent);\n };\n /** Navigates the grid focus to the next cell, as if tabbing. */\n GridApi.prototype.tabToNextCell = function (event) {\n return this.navigationService.tabToNextCell(false, event);\n };\n /** Navigates the grid focus to the previous cell, as if shift-tabbing. */\n GridApi.prototype.tabToPreviousCell = function (event) {\n return this.navigationService.tabToNextCell(true, event);\n };\n /** Returns the list of active cell renderer instances. */\n GridApi.prototype.getCellRendererInstances = function (params) {\n if (params === void 0) { params = {}; }\n var res = this.rowRenderer.getCellRendererInstances(params);\n var unwrapped = res.map(unwrapUserComp);\n return unwrapped;\n };\n /** Returns the list of active cell editor instances. Optionally provide parameters to restrict to certain columns / row nodes. */\n GridApi.prototype.getCellEditorInstances = function (params) {\n if (params === void 0) { params = {}; }\n var res = this.rowRenderer.getCellEditorInstances(params);\n var unwrapped = res.map(unwrapUserComp);\n return unwrapped;\n };\n /** If the grid is editing, returns back details of the editing cell(s). */\n GridApi.prototype.getEditingCells = function () {\n return this.rowRenderer.getEditingCells();\n };\n /** If a cell is editing, it stops the editing. Pass `true` if you want to cancel the editing (i.e. don't accept changes). */\n GridApi.prototype.stopEditing = function (cancel) {\n if (cancel === void 0) { cancel = false; }\n this.rowRenderer.stopEditing(cancel);\n };\n /** Start editing the provided cell. If another cell is editing, the editing will be stopped in that other cell. */\n GridApi.prototype.startEditingCell = function (params) {\n var column = this.columnModel.getGridColumn(params.colKey);\n if (!column) {\n console.warn(\"AG Grid: no column found for \" + params.colKey);\n return;\n }\n var cellPosition = {\n rowIndex: params.rowIndex,\n rowPinned: params.rowPinned || null,\n column: column\n };\n var notPinned = params.rowPinned == null;\n if (notPinned) {\n this.gridBodyCtrl.getScrollFeature().ensureIndexVisible(params.rowIndex);\n }\n var cell = this.navigationService.getCellByPosition(cellPosition);\n if (!cell) {\n return;\n }\n cell.startRowOrCellEdit(params.key, params.charPress);\n };\n /** Add an aggregation function with the specified key. */\n GridApi.prototype.addAggFunc = function (key, aggFunc) {\n if (this.aggFuncService) {\n this.aggFuncService.addAggFunc(key, aggFunc);\n }\n };\n /** Add aggregations function with the specified keys. */\n GridApi.prototype.addAggFuncs = function (aggFuncs) {\n if (this.aggFuncService) {\n this.aggFuncService.addAggFuncs(aggFuncs);\n }\n };\n /** Clears all aggregation functions (including those provided by the grid). */\n GridApi.prototype.clearAggFuncs = function () {\n if (this.aggFuncService) {\n this.aggFuncService.clear();\n }\n };\n /** Apply transactions to the server side row model. */\n GridApi.prototype.applyServerSideTransaction = function (transaction) {\n if (!this.serverSideTransactionManager) {\n console.warn('AG Grid: Cannot apply Server Side Transaction if not using the Server Side Row Model.');\n return;\n }\n return this.serverSideTransactionManager.applyTransaction(transaction);\n };\n GridApi.prototype.applyServerSideTransactionAsync = function (transaction, callback) {\n if (!this.serverSideTransactionManager) {\n console.warn('AG Grid: Cannot apply Server Side Transaction if not using the Server Side Row Model.');\n return;\n }\n return this.serverSideTransactionManager.applyTransactionAsync(transaction, callback);\n };\n /** Gets all failed server side loads to retry. */\n GridApi.prototype.retryServerSideLoads = function () {\n if (!this.serverSideRowModel) {\n console.warn('AG Grid: API retryServerSideLoads() can only be used when using Server-Side Row Model.');\n return;\n }\n this.serverSideRowModel.retryLoads();\n };\n GridApi.prototype.flushServerSideAsyncTransactions = function () {\n if (!this.serverSideTransactionManager) {\n console.warn('AG Grid: Cannot flush Server Side Transaction if not using the Server Side Row Model.');\n return;\n }\n return this.serverSideTransactionManager.flushAsyncTransactions();\n };\n /** Update row data. Pass a transaction object with lists for `add`, `remove` and `update`. */\n GridApi.prototype.applyTransaction = function (rowDataTransaction) {\n if (!this.clientSideRowModel) {\n console.error('AG Grid: updateRowData() only works with ClientSideRowModel. Working with InfiniteRowModel was deprecated in v23.1 and removed in v24.1');\n return;\n }\n var res = this.clientSideRowModel.updateRowData(rowDataTransaction);\n // refresh all the full width rows\n this.rowRenderer.refreshFullWidthRows(res.update);\n // do change detection for all present cells\n if (!this.gridOptionsWrapper.isSuppressChangeDetection()) {\n this.rowRenderer.refreshCells();\n }\n return res;\n };\n /** Sets the `deltaSort` property */\n GridApi.prototype.setDeltaSort = function (enable) {\n this.gridOptionsWrapper.setProperty('deltaSort', enable);\n };\n /** @deprecated */\n GridApi.prototype.updateRowData = function (rowDataTransaction) {\n var message = 'AG Grid: as of v23.1, grid API updateRowData(transaction) is now called applyTransaction(transaction). updateRowData is deprecated and will be removed in a future major release.';\n doOnce(function () { return console.warn(message); }, 'updateRowData deprecated');\n return this.applyTransaction(rowDataTransaction);\n };\n /** Same as `applyTransaction` except executes asynchronously for efficiency. */\n GridApi.prototype.applyTransactionAsync = function (rowDataTransaction, callback) {\n if (!this.clientSideRowModel) {\n console.error('AG Grid: api.applyTransactionAsync() only works with ClientSideRowModel.');\n return;\n }\n this.clientSideRowModel.batchUpdateRowData(rowDataTransaction, callback);\n };\n /** Executes any remaining asynchronous grid transactions, if any are waiting to be executed. */\n GridApi.prototype.flushAsyncTransactions = function () {\n if (!this.clientSideRowModel) {\n console.error('AG Grid: api.applyTransactionAsync() only works with ClientSideRowModel.');\n return;\n }\n this.clientSideRowModel.flushAsyncTransactions();\n };\n /** @deprecated */\n GridApi.prototype.batchUpdateRowData = function (rowDataTransaction, callback) {\n var message = 'AG Grid: as of v23.1, grid API batchUpdateRowData(transaction, callback) is now called applyTransactionAsync(transaction, callback). batchUpdateRowData is deprecated and will be removed in a future major release.';\n doOnce(function () { return console.warn(message); }, 'batchUpdateRowData deprecated');\n this.applyTransactionAsync(rowDataTransaction, callback);\n };\n GridApi.prototype.insertItemsAtIndex = function (index, items, skipRefresh) {\n console.warn('AG Grid: insertItemsAtIndex() is deprecated, use updateRowData(transaction) instead.');\n this.updateRowData({ add: items, addIndex: index, update: null, remove: null });\n };\n GridApi.prototype.removeItems = function (rowNodes, skipRefresh) {\n console.warn('AG Grid: removeItems() is deprecated, use updateRowData(transaction) instead.');\n var dataToRemove = rowNodes.map(function (rowNode) { return rowNode.data; });\n this.updateRowData({ add: null, addIndex: null, update: null, remove: dataToRemove });\n };\n GridApi.prototype.addItems = function (items, skipRefresh) {\n console.warn('AG Grid: addItems() is deprecated, use updateRowData(transaction) instead.');\n this.updateRowData({ add: items, addIndex: null, update: null, remove: null });\n };\n GridApi.prototype.refreshVirtualPageCache = function () {\n console.warn('AG Grid: refreshVirtualPageCache() is now called refreshInfiniteCache(), please call refreshInfiniteCache() instead');\n this.refreshInfiniteCache();\n };\n GridApi.prototype.refreshInfinitePageCache = function () {\n console.warn('AG Grid: refreshInfinitePageCache() is now called refreshInfiniteCache(), please call refreshInfiniteCache() instead');\n this.refreshInfiniteCache();\n };\n /**\n * Marks all the currently loaded blocks in the cache for reload.\n * If you have 10 blocks in the cache, all 10 will be marked for reload.\n * The old data will continue to be displayed until the new data is loaded.\n */\n GridApi.prototype.refreshInfiniteCache = function () {\n if (this.infiniteRowModel) {\n this.infiniteRowModel.refreshCache();\n }\n else {\n console.warn(\"AG Grid: api.refreshInfiniteCache is only available when rowModelType='infinite'.\");\n }\n };\n GridApi.prototype.purgeVirtualPageCache = function () {\n console.warn('AG Grid: purgeVirtualPageCache() is now called purgeInfiniteCache(), please call purgeInfiniteCache() instead');\n this.purgeInfinitePageCache();\n };\n GridApi.prototype.purgeInfinitePageCache = function () {\n console.warn('AG Grid: purgeInfinitePageCache() is now called purgeInfiniteCache(), please call purgeInfiniteCache() instead');\n this.purgeInfiniteCache();\n };\n /**\n * Purges the cache.\n * The grid is then told to refresh. Only the blocks required to display the current data on screen are fetched (typically no more than 2).\n * The grid will display nothing while the new blocks are loaded.\n * Use this to immediately remove the old data from the user.\n */\n GridApi.prototype.purgeInfiniteCache = function () {\n if (this.infiniteRowModel) {\n this.infiniteRowModel.purgeCache();\n }\n else {\n console.warn(\"AG Grid: api.purgeInfiniteCache is only available when rowModelType='infinite'.\");\n }\n };\n /** @deprecated */\n GridApi.prototype.purgeEnterpriseCache = function (route) {\n console.warn(\"ag-grid: since version 18.x, api.purgeEnterpriseCache() should be replaced with api.purgeServerSideCache()\");\n this.purgeServerSideCache(route);\n };\n /** @deprecated */\n GridApi.prototype.purgeServerSideCache = function (route) {\n if (route === void 0) { route = []; }\n if (this.serverSideRowModel) {\n console.warn(\"AG Grid: since v25.0, api.purgeServerSideCache is deprecated. Please use api.refreshServerSideStore({purge: true}) instead.\");\n this.refreshServerSideStore({\n route: route,\n purge: true\n });\n }\n else {\n console.warn(\"AG Grid: api.purgeServerSideCache is only available when rowModelType='serverSide'.\");\n }\n };\n /**\n * Refresh a server-side store.\n * If you pass no parameters, then the top level cache is purged.\n * To purge a child cache, pass in the string of keys to get to the child cache.\n */\n GridApi.prototype.refreshServerSideStore = function (params) {\n if (this.serverSideRowModel) {\n this.serverSideRowModel.refreshStore(params);\n }\n else {\n console.warn(\"AG Grid: api.refreshServerSideStore is only available when rowModelType='serverSide'.\");\n }\n };\n /** Returns info on all server side stores. */\n GridApi.prototype.getServerSideStoreState = function () {\n if (this.serverSideRowModel) {\n return this.serverSideRowModel.getStoreState();\n }\n else {\n console.warn(\"AG Grid: api.getServerSideStoreState is only available when rowModelType='serverSide'.\");\n return [];\n }\n };\n GridApi.prototype.getVirtualRowCount = function () {\n console.warn('AG Grid: getVirtualRowCount() is now called getInfiniteRowCount(), please call getInfiniteRowCount() instead');\n return this.getInfiniteRowCount();\n };\n /** The row count defines how many rows the grid allows scrolling to. */\n GridApi.prototype.getInfiniteRowCount = function () {\n if (this.infiniteRowModel) {\n return this.infiniteRowModel.getRowCount();\n }\n else {\n console.warn(\"AG Grid: api.getVirtualRowCount is only available when rowModelType='virtual'.\");\n }\n };\n GridApi.prototype.isMaxRowFound = function () {\n console.warn(\"AG Grid: api.isLastRowIndexKnown is deprecated, please use api.isLastRowIndexKnown()\");\n return this.isLastRowIndexKnown();\n };\n /** Returns `true` if grid allows for scrolling past the last row to load more rows, thus providing infinite scroll. */\n GridApi.prototype.isLastRowIndexKnown = function () {\n if (this.infiniteRowModel) {\n return this.infiniteRowModel.isLastRowIndexKnown();\n }\n else {\n console.warn(\"AG Grid: api.isMaxRowFound is only available when rowModelType='virtual'.\");\n }\n };\n GridApi.prototype.setVirtualRowCount = function (rowCount, maxRowFound) {\n console.warn('AG Grid: setVirtualRowCount() is now called setInfiniteRowCount(), please call setInfiniteRowCount() instead');\n this.setRowCount(rowCount, maxRowFound);\n };\n GridApi.prototype.setInfiniteRowCount = function (rowCount, maxRowFound) {\n console.warn('AG Grid: setInfiniteRowCount() is now called setRowCount(), please call setRowCount() instead');\n this.setRowCount(rowCount, maxRowFound);\n };\n /**\n * Sets the `rowCount` and `lastRowIndexKnown` properties.\n * The second parameter, `lastRowIndexKnown`, is optional and if left out, only `rowCount` is set.\n * Set `rowCount` to adjust the height of the vertical scroll.\n * Set `lastRowIndexKnown` to enable / disable searching for more rows.\n * Use this method if you add or remove rows into the dataset and need to reset the number of rows or put the data back into 'look for data' mode.\n */\n GridApi.prototype.setRowCount = function (rowCount, maxRowFound) {\n if (this.infiniteRowModel) {\n this.infiniteRowModel.setRowCount(rowCount, maxRowFound);\n }\n else {\n console.warn(\"AG Grid: api.setRowCount is only available for Infinite Row Model.\");\n }\n };\n GridApi.prototype.getVirtualPageState = function () {\n console.warn('AG Grid: getVirtualPageState() is now called getCacheBlockState(), please call getCacheBlockState() instead');\n return this.getCacheBlockState();\n };\n GridApi.prototype.getInfinitePageState = function () {\n console.warn('AG Grid: getInfinitePageState() is now called getCacheBlockState(), please call getCacheBlockState() instead');\n return this.getCacheBlockState();\n };\n /**\n * Returns an object representing the state of the cache. This is useful for debugging and understanding how the cache is working.\n */\n GridApi.prototype.getCacheBlockState = function () {\n return this.rowNodeBlockLoader.getBlockState();\n };\n GridApi.prototype.checkGridSize = function () {\n console.warn(\"in AG Grid v25.2.0, checkGridSize() was removed, as it was legacy and didn't do anything uesful.\");\n };\n GridApi.prototype.getFirstRenderedRow = function () {\n console.warn('in AG Grid v12, getFirstRenderedRow() was renamed to getFirstDisplayedRow()');\n return this.getFirstDisplayedRow();\n };\n /** Get the index of the first displayed row due to scrolling (includes invisible rendered rows in the buffer). */\n GridApi.prototype.getFirstDisplayedRow = function () {\n return this.rowRenderer.getFirstVirtualRenderedRow();\n };\n GridApi.prototype.getLastRenderedRow = function () {\n console.warn('in AG Grid v12, getLastRenderedRow() was renamed to getLastDisplayedRow()');\n return this.getLastDisplayedRow();\n };\n /** Get the index of the last displayed row due to scrolling (includes invisible rendered rows in the buffer). */\n GridApi.prototype.getLastDisplayedRow = function () {\n return this.rowRenderer.getLastVirtualRenderedRow();\n };\n /** Returns the displayed `RowNode` at the given `index`. */\n GridApi.prototype.getDisplayedRowAtIndex = function (index) {\n return this.rowModel.getRow(index);\n };\n /** Returns the total number of displayed rows. */\n GridApi.prototype.getDisplayedRowCount = function () {\n return this.rowModel.getRowCount();\n };\n /**\n * Returns `true` when the last page is known.\n * This will always be `true` if you are using the Client-Side Row Model for pagination.\n * Returns `false` when the last page is not known; this only happens when using Infinite Row Model.\n */\n GridApi.prototype.paginationIsLastPageFound = function () {\n return this.paginationProxy.isLastPageFound();\n };\n /** Returns how many rows are being shown per page. */\n GridApi.prototype.paginationGetPageSize = function () {\n return this.paginationProxy.getPageSize();\n };\n /** Sets the `paginationPageSize`, then re-paginates the grid so the changes are applied immediately. */\n GridApi.prototype.paginationSetPageSize = function (size) {\n this.gridOptionsWrapper.setProperty('paginationPageSize', size);\n };\n /** Returns the 0-based index of the page which is showing. */\n GridApi.prototype.paginationGetCurrentPage = function () {\n return this.paginationProxy.getCurrentPage();\n };\n /** Returns the total number of pages. Returns `null` if `paginationIsLastPageFound() === false`. */\n GridApi.prototype.paginationGetTotalPages = function () {\n return this.paginationProxy.getTotalPages();\n };\n /** The total number of rows. Returns `null` if `paginationIsLastPageFound() === false`. */\n GridApi.prototype.paginationGetRowCount = function () {\n return this.paginationProxy.getMasterRowCount();\n };\n /** Navigates to the next page. */\n GridApi.prototype.paginationGoToNextPage = function () {\n this.paginationProxy.goToNextPage();\n };\n /** Navigates to the previous page. */\n GridApi.prototype.paginationGoToPreviousPage = function () {\n this.paginationProxy.goToPreviousPage();\n };\n /** Navigates to the first page. */\n GridApi.prototype.paginationGoToFirstPage = function () {\n this.paginationProxy.goToFirstPage();\n };\n /** Navigates to the last page. */\n GridApi.prototype.paginationGoToLastPage = function () {\n this.paginationProxy.goToLastPage();\n };\n /** Goes to the specified page. If the page requested doesn't exist, it will go to the last page. */\n GridApi.prototype.paginationGoToPage = function (page) {\n this.paginationProxy.goToPage(page);\n };\n GridApi.prototype.setRowClass = function (className) {\n this.gridOptionsWrapper.setProperty(GridOptionsWrapper.PROP_ROW_CLASS, className);\n };\n __decorate$18([\n Optional('immutableService')\n ], GridApi.prototype, \"immutableService\", void 0);\n __decorate$18([\n Optional('csvCreator')\n ], GridApi.prototype, \"csvCreator\", void 0);\n __decorate$18([\n Optional('excelCreator')\n ], GridApi.prototype, \"excelCreator\", void 0);\n __decorate$18([\n Autowired('rowRenderer')\n ], GridApi.prototype, \"rowRenderer\", void 0);\n __decorate$18([\n Autowired('navigationService')\n ], GridApi.prototype, \"navigationService\", void 0);\n __decorate$18([\n Autowired('filterManager')\n ], GridApi.prototype, \"filterManager\", void 0);\n __decorate$18([\n Autowired('columnModel')\n ], GridApi.prototype, \"columnModel\", void 0);\n __decorate$18([\n Autowired('selectionService')\n ], GridApi.prototype, \"selectionService\", void 0);\n __decorate$18([\n Autowired('gridOptionsWrapper')\n ], GridApi.prototype, \"gridOptionsWrapper\", void 0);\n __decorate$18([\n Autowired('valueService')\n ], GridApi.prototype, \"valueService\", void 0);\n __decorate$18([\n Autowired('alignedGridsService')\n ], GridApi.prototype, \"alignedGridsService\", void 0);\n __decorate$18([\n Autowired('eventService')\n ], GridApi.prototype, \"eventService\", void 0);\n __decorate$18([\n Autowired('pinnedRowModel')\n ], GridApi.prototype, \"pinnedRowModel\", void 0);\n __decorate$18([\n Autowired('context')\n ], GridApi.prototype, \"context\", void 0);\n __decorate$18([\n Autowired('rowModel')\n ], GridApi.prototype, \"rowModel\", void 0);\n __decorate$18([\n Autowired('sortController')\n ], GridApi.prototype, \"sortController\", void 0);\n __decorate$18([\n Autowired('paginationProxy')\n ], GridApi.prototype, \"paginationProxy\", void 0);\n __decorate$18([\n Autowired('focusService')\n ], GridApi.prototype, \"focusService\", void 0);\n __decorate$18([\n Autowired('dragAndDropService')\n ], GridApi.prototype, \"dragAndDropService\", void 0);\n __decorate$18([\n Optional('rangeService')\n ], GridApi.prototype, \"rangeService\", void 0);\n __decorate$18([\n Optional('clipboardService')\n ], GridApi.prototype, \"clipboardService\", void 0);\n __decorate$18([\n Optional('aggFuncService')\n ], GridApi.prototype, \"aggFuncService\", void 0);\n __decorate$18([\n Autowired('menuFactory')\n ], GridApi.prototype, \"menuFactory\", void 0);\n __decorate$18([\n Optional('contextMenuFactory')\n ], GridApi.prototype, \"contextMenuFactory\", void 0);\n __decorate$18([\n Autowired('valueCache')\n ], GridApi.prototype, \"valueCache\", void 0);\n __decorate$18([\n Autowired('animationFrameService')\n ], GridApi.prototype, \"animationFrameService\", void 0);\n __decorate$18([\n Optional('statusBarService')\n ], GridApi.prototype, \"statusBarService\", void 0);\n __decorate$18([\n Optional('chartService')\n ], GridApi.prototype, \"chartService\", void 0);\n __decorate$18([\n Optional('undoRedoService')\n ], GridApi.prototype, \"undoRedoService\", void 0);\n __decorate$18([\n Optional('rowNodeBlockLoader')\n ], GridApi.prototype, \"rowNodeBlockLoader\", void 0);\n __decorate$18([\n Optional('ssrmTransactionManager')\n ], GridApi.prototype, \"serverSideTransactionManager\", void 0);\n __decorate$18([\n Autowired('ctrlsService')\n ], GridApi.prototype, \"ctrlsService\", void 0);\n __decorate$18([\n Optional('frameworkComponentWrapper')\n ], GridApi.prototype, \"frameworkComponentWrapper\", void 0);\n __decorate$18([\n PostConstruct\n ], GridApi.prototype, \"init\", null);\n __decorate$18([\n PreDestroy\n ], GridApi.prototype, \"cleanDownReferencesToAvoidMemoryLeakInCaseApplicationIsKeepingReferenceToDestroyedGrid\", null);\n GridApi = __decorate$18([\n Bean('gridApi')\n ], GridApi);\n return GridApi;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1l = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$19 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar SetLeftFeature = /** @class */ (function (_super) {\n __extends$1l(SetLeftFeature, _super);\n function SetLeftFeature(columnOrGroup, eCell, beans, colsSpanning) {\n var _this = _super.call(this) || this;\n _this.columnOrGroup = columnOrGroup;\n _this.eCell = eCell;\n _this.ariaEl = _this.eCell.querySelector('[role=columnheader]') || _this.eCell;\n _this.colsSpanning = colsSpanning;\n _this.beans = beans;\n return _this;\n }\n SetLeftFeature.prototype.setColsSpanning = function (colsSpanning) {\n this.colsSpanning = colsSpanning;\n this.onLeftChanged();\n };\n SetLeftFeature.prototype.getColumnOrGroup = function () {\n if (this.beans.gridOptionsWrapper.isEnableRtl() && this.colsSpanning) {\n return last(this.colsSpanning);\n }\n return this.columnOrGroup;\n };\n SetLeftFeature.prototype.postConstruct = function () {\n this.addManagedListener(this.columnOrGroup, Column.EVENT_LEFT_CHANGED, this.onLeftChanged.bind(this));\n this.setLeftFirstTime();\n // when in print layout, the left position is also dependent on the width of the pinned sections.\n // so additionally update left if any column width changes.\n this.addManagedListener(this.eventService, Events.EVENT_DISPLAYED_COLUMNS_WIDTH_CHANGED, this.onLeftChanged.bind(this));\n // setting left has a dependency on print layout\n this.addManagedListener(this.beans.gridOptionsWrapper, GridOptionsWrapper.PROP_DOM_LAYOUT, this.onLeftChanged.bind(this));\n };\n SetLeftFeature.prototype.setLeftFirstTime = function () {\n var suppressMoveAnimation = this.beans.gridOptionsWrapper.isSuppressColumnMoveAnimation();\n var oldLeftExists = exists(this.columnOrGroup.getOldLeft());\n var animateColumnMove = this.beans.columnAnimationService.isActive() && oldLeftExists && !suppressMoveAnimation;\n if (animateColumnMove) {\n this.animateInLeft();\n }\n else {\n this.onLeftChanged();\n }\n };\n SetLeftFeature.prototype.animateInLeft = function () {\n var _this = this;\n var colOrGroup = this.getColumnOrGroup();\n var left = colOrGroup.getLeft();\n var oldLeft = colOrGroup.getOldLeft();\n var oldActualLeft = this.modifyLeftForPrintLayout(colOrGroup, oldLeft);\n var actualLeft = this.modifyLeftForPrintLayout(colOrGroup, left);\n this.setLeft(oldActualLeft);\n // we must keep track of the left we want to set to, as this would otherwise lead to a race\n // condition, if the user changed the left value many times in one VM turn, then we want to make\n // make sure the actualLeft we set in the timeout below (in the next VM turn) is the correct left\n // position. eg if user changes column position twice, then setLeft() below executes twice in next\n // VM turn, but only one (the correct one) should get applied.\n this.actualLeft = actualLeft;\n this.beans.columnAnimationService.executeNextVMTurn(function () {\n // test this left value is the latest one to be applied, and if not, do nothing\n if (_this.actualLeft === actualLeft) {\n _this.setLeft(actualLeft);\n }\n });\n };\n SetLeftFeature.prototype.onLeftChanged = function () {\n var colOrGroup = this.getColumnOrGroup();\n var left = colOrGroup.getLeft();\n this.actualLeft = this.modifyLeftForPrintLayout(colOrGroup, left);\n this.setLeft(this.actualLeft);\n };\n SetLeftFeature.prototype.modifyLeftForPrintLayout = function (colOrGroup, leftPosition) {\n var printLayout = this.beans.gridOptionsWrapper.getDomLayout() === Constants.DOM_LAYOUT_PRINT;\n if (!printLayout) {\n return leftPosition;\n }\n if (colOrGroup.getPinned() === Constants.PINNED_LEFT) {\n return leftPosition;\n }\n var leftWidth = this.beans.columnModel.getDisplayedColumnsLeftWidth();\n if (colOrGroup.getPinned() === Constants.PINNED_RIGHT) {\n var bodyWidth = this.beans.columnModel.getBodyContainerWidth();\n return leftWidth + bodyWidth + leftPosition;\n }\n // is in body\n return leftWidth + leftPosition;\n };\n SetLeftFeature.prototype.setLeft = function (value) {\n // if the value is null, then that means the column is no longer\n // displayed. there is logic in the rendering to fade these columns\n // out, so we don't try and change their left positions.\n if (exists(value)) {\n this.eCell.style.left = value + \"px\";\n }\n var indexColumn;\n if (this.columnOrGroup instanceof Column) {\n indexColumn = this.columnOrGroup;\n }\n else {\n var columnGroup = this.columnOrGroup;\n var children = columnGroup.getLeafColumns();\n if (!children.length) {\n return;\n }\n if (children.length > 1) {\n setAriaColSpan(this.ariaEl, children.length);\n }\n indexColumn = children[0];\n }\n var index = this.beans.columnModel.getAriaColumnIndex(indexColumn);\n setAriaColIndex(this.ariaEl, index);\n };\n __decorate$19([\n PostConstruct\n ], SetLeftFeature.prototype, \"postConstruct\", null);\n return SetLeftFeature;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1m = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1a = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar HoverFeature = /** @class */ (function (_super) {\n __extends$1m(HoverFeature, _super);\n function HoverFeature(columns, element) {\n var _this = _super.call(this) || this;\n _this.columns = columns;\n _this.element = element;\n return _this;\n }\n HoverFeature.prototype.postConstruct = function () {\n if (this.gridOptionsWrapper.isColumnHoverHighlight()) {\n this.addMouseHoverListeners();\n }\n };\n HoverFeature.prototype.addMouseHoverListeners = function () {\n this.addManagedListener(this.element, 'mouseout', this.onMouseOut.bind(this));\n this.addManagedListener(this.element, 'mouseover', this.onMouseOver.bind(this));\n };\n HoverFeature.prototype.onMouseOut = function () {\n this.columnHoverService.clearMouseOver();\n };\n HoverFeature.prototype.onMouseOver = function () {\n this.columnHoverService.setMouseOver(this.columns);\n };\n __decorate$1a([\n Autowired('columnHoverService')\n ], HoverFeature.prototype, \"columnHoverService\", void 0);\n __decorate$1a([\n PostConstruct\n ], HoverFeature.prototype, \"postConstruct\", null);\n return HoverFeature;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1n = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1b = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar HeaderFilterCellCtrl = /** @class */ (function (_super) {\n __extends$1n(HeaderFilterCellCtrl, _super);\n function HeaderFilterCellCtrl(column, parentRowCtrl) {\n var _this = _super.call(this, column, parentRowCtrl) || this;\n _this.column = column;\n return _this;\n }\n HeaderFilterCellCtrl.prototype.setComp = function (comp, eGui, eButtonShowMainFilter, eFloatingFilterBody) {\n _super.prototype.setGui.call(this, eGui);\n this.comp = comp;\n this.eButtonShowMainFilter = eButtonShowMainFilter;\n this.eFloatingFilterBody = eFloatingFilterBody;\n var colDef = this.column.getColDef();\n var filterExists = !!colDef.filter || !!colDef.filterFramework;\n var floatingFilterExists = !!colDef.floatingFilter;\n this.active = filterExists && floatingFilterExists;\n this.setupWidth();\n this.setupLeft();\n this.setupHover();\n this.setupFocus();\n this.setupUserComp();\n this.setupSyncWithFilter();\n this.setupUi();\n this.addManagedListener(this.eButtonShowMainFilter, 'click', this.showParentFilter.bind(this));\n };\n HeaderFilterCellCtrl.prototype.setupUi = function () {\n this.comp.addOrRemoveButtonWrapperCssClass('ag-hidden', !this.active || this.suppressFilterButton);\n if (!this.active) {\n return;\n }\n this.comp.addOrRemoveBodyCssClass('ag-floating-filter-full-body', this.suppressFilterButton);\n this.comp.addOrRemoveBodyCssClass('ag-floating-filter-body', !this.suppressFilterButton);\n var eMenuIcon = createIconNoSpan('filter', this.gridOptionsWrapper, this.column);\n if (eMenuIcon) {\n this.eButtonShowMainFilter.appendChild(eMenuIcon);\n }\n };\n HeaderFilterCellCtrl.prototype.setupFocus = function () {\n this.createManagedBean(new ManagedFocusFeature(this.eGui, {\n shouldStopEventPropagation: this.shouldStopEventPropagation.bind(this),\n onTabKeyDown: this.onTabKeyDown.bind(this),\n handleKeyDown: this.handleKeyDown.bind(this),\n onFocusIn: this.onFocusIn.bind(this)\n }));\n };\n HeaderFilterCellCtrl.prototype.onTabKeyDown = function (e) {\n var eDocument = this.gridOptionsWrapper.getDocument();\n var activeEl = eDocument.activeElement;\n var wrapperHasFocus = activeEl === this.eGui;\n if (wrapperHasFocus) {\n return;\n }\n var nextFocusableEl = this.focusService.findNextFocusableElement(this.eGui, null, e.shiftKey);\n if (nextFocusableEl) {\n this.beans.headerNavigationService.scrollToColumn(this.column);\n e.preventDefault();\n nextFocusableEl.focus();\n return;\n }\n var nextFocusableColumn = this.findNextColumnWithFloatingFilter(e.shiftKey);\n if (!nextFocusableColumn) {\n return;\n }\n if (this.focusService.focusHeaderPosition({\n headerPosition: {\n headerRowIndex: this.getParentRowCtrl().getRowIndex(),\n column: nextFocusableColumn\n },\n event: e\n })) {\n e.preventDefault();\n }\n };\n HeaderFilterCellCtrl.prototype.findNextColumnWithFloatingFilter = function (backwards) {\n var columModel = this.beans.columnModel;\n var nextCol = this.column;\n do {\n nextCol = backwards\n ? columModel.getDisplayedColBefore(nextCol)\n : columModel.getDisplayedColAfter(nextCol);\n if (!nextCol) {\n break;\n }\n } while (!nextCol.getColDef().filter || !nextCol.getColDef().floatingFilter);\n return nextCol;\n };\n HeaderFilterCellCtrl.prototype.handleKeyDown = function (e) {\n var eDocument = this.gridOptionsWrapper.getDocument();\n var activeEl = eDocument.activeElement;\n var wrapperHasFocus = activeEl === this.eGui;\n switch (e.key) {\n case KeyCode.UP:\n case KeyCode.DOWN:\n if (!wrapperHasFocus) {\n e.preventDefault();\n }\n case KeyCode.LEFT:\n case KeyCode.RIGHT:\n if (wrapperHasFocus) {\n return;\n }\n e.stopPropagation();\n case KeyCode.ENTER:\n if (wrapperHasFocus) {\n if (this.focusService.focusInto(this.eGui)) {\n e.preventDefault();\n }\n }\n break;\n case KeyCode.ESCAPE:\n if (!wrapperHasFocus) {\n this.eGui.focus();\n }\n }\n };\n HeaderFilterCellCtrl.prototype.onFocusIn = function (e) {\n var isRelatedWithin = this.eGui.contains(e.relatedTarget);\n // when the focus is already within the component,\n // we default to the browser's behavior\n if (isRelatedWithin) {\n return;\n }\n var notFromHeaderWrapper = !!e.relatedTarget && !e.relatedTarget.classList.contains('ag-floating-filter');\n var fromWithinHeader = !!e.relatedTarget && isElementChildOfClass(e.relatedTarget, 'ag-floating-filter');\n if (notFromHeaderWrapper && fromWithinHeader && e.target === this.eGui) {\n var lastFocusEvent = this.lastFocusEvent;\n var fromTab = !!(lastFocusEvent && lastFocusEvent.key === KeyCode.TAB);\n if (lastFocusEvent && fromTab) {\n var shouldFocusLast = lastFocusEvent.shiftKey;\n this.focusService.focusInto(this.eGui, shouldFocusLast);\n }\n }\n var rowIndex = this.getRowIndex();\n this.beans.focusService.setFocusedHeader(rowIndex, this.column);\n };\n HeaderFilterCellCtrl.prototype.setupHover = function () {\n var _this = this;\n this.createManagedBean(new HoverFeature([this.column], this.eGui));\n var listener = function () {\n if (!_this.gridOptionsWrapper.isColumnHoverHighlight()) {\n return;\n }\n var hovered = _this.columnHoverService.isHovered(_this.column);\n _this.comp.addOrRemoveCssClass('ag-column-hover', hovered);\n };\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_HOVER_CHANGED, listener);\n listener();\n };\n HeaderFilterCellCtrl.prototype.setupLeft = function () {\n var setLeftFeature = new SetLeftFeature(this.column, this.eGui, this.beans);\n this.createManagedBean(setLeftFeature);\n };\n HeaderFilterCellCtrl.prototype.setupUserComp = function () {\n var _this = this;\n if (!this.active) {\n return;\n }\n var colDef = this.column.getColDef();\n var filterParams = this.filterManager.createFilterParams(this.column, colDef);\n var finalFilterParams = this.userComponentFactory.mergeParamsWithApplicationProvidedParams(colDef, FilterComponent, filterParams);\n var defaultFloatingFilterType = this.userComponentFactory.getDefaultFloatingFilterType(colDef);\n if (defaultFloatingFilterType == null) {\n defaultFloatingFilterType = 'agReadOnlyFloatingFilter';\n }\n var params = {\n column: this.column,\n filterParams: finalFilterParams,\n currentParentModel: function () { return _this.currentParentModel(); },\n parentFilterInstance: function (cb) { return _this.parentFilterInstance(cb); },\n showParentFilter: function () { return _this.showParentFilter(); },\n suppressFilterButton: false // This one might be overridden from the colDef\n };\n // this is unusual - we need a params value OUTSIDE the component the params are for.\n // the params are for the floating filter component, but this property is actually for the wrapper.\n this.suppressFilterButton = colDef.floatingFilterComponentParams ? !!colDef.floatingFilterComponentParams.suppressFilterButton : false;\n var compDetails = this.userComponentFactory.getFloatingFilterCompDetails(colDef, params, defaultFloatingFilterType);\n if (compDetails) {\n this.comp.setCompDetails(compDetails);\n }\n };\n HeaderFilterCellCtrl.prototype.currentParentModel = function () {\n var filterComponent = this.getFilterComponent(false);\n return filterComponent ? filterComponent.resolveNow(null, function (filter) { return filter && filter.getModel(); }) : null;\n };\n HeaderFilterCellCtrl.prototype.getFilterComponent = function (createIfDoesNotExist) {\n if (createIfDoesNotExist === void 0) { createIfDoesNotExist = true; }\n return this.filterManager.getFilterComponent(this.column, 'NO_UI', createIfDoesNotExist);\n };\n HeaderFilterCellCtrl.prototype.parentFilterInstance = function (callback) {\n var filterComponent = this.getFilterComponent();\n if (filterComponent == null) {\n return;\n }\n filterComponent.then(function (instance) {\n callback(unwrapUserComp(instance));\n });\n };\n HeaderFilterCellCtrl.prototype.showParentFilter = function () {\n var eventSource = this.suppressFilterButton ? this.eFloatingFilterBody : this.eButtonShowMainFilter;\n this.menuFactory.showMenuAfterButtonClick(this.column, eventSource, 'floatingFilter', 'filterMenuTab', ['filterMenuTab']);\n };\n HeaderFilterCellCtrl.prototype.setupSyncWithFilter = function () {\n var _this = this;\n if (!this.active) {\n return;\n }\n var syncWithFilter = function (filterChangedEvent) {\n var compPromise = _this.comp.getFloatingFilterComp();\n if (!compPromise) {\n return;\n }\n var parentModel = _this.currentParentModel();\n compPromise.then(function (comp) {\n if (comp) {\n comp.onParentModelChanged(parentModel, filterChangedEvent);\n }\n });\n };\n this.addManagedListener(this.column, Column.EVENT_FILTER_CHANGED, syncWithFilter);\n if (this.filterManager.isFilterActive(this.column)) {\n syncWithFilter(null);\n }\n };\n HeaderFilterCellCtrl.prototype.setupWidth = function () {\n var _this = this;\n var listener = function () {\n var width = _this.column.getActualWidth() + \"px\";\n _this.comp.setWidth(width);\n };\n this.addManagedListener(this.column, Column.EVENT_WIDTH_CHANGED, listener);\n listener();\n };\n __decorate$1b([\n Autowired('userComponentFactory')\n ], HeaderFilterCellCtrl.prototype, \"userComponentFactory\", void 0);\n __decorate$1b([\n Autowired('filterManager')\n ], HeaderFilterCellCtrl.prototype, \"filterManager\", void 0);\n __decorate$1b([\n Autowired('columnHoverService')\n ], HeaderFilterCellCtrl.prototype, \"columnHoverService\", void 0);\n __decorate$1b([\n Autowired('gridApi')\n ], HeaderFilterCellCtrl.prototype, \"gridApi\", void 0);\n __decorate$1b([\n Autowired('menuFactory')\n ], HeaderFilterCellCtrl.prototype, \"menuFactory\", void 0);\n __decorate$1b([\n Autowired('beans')\n ], HeaderFilterCellCtrl.prototype, \"beans\", void 0);\n return HeaderFilterCellCtrl;\n}(AbstractHeaderCellCtrl));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1o = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1c = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar ResizeFeature = /** @class */ (function (_super) {\n __extends$1o(ResizeFeature, _super);\n function ResizeFeature(pinned, column, eResize, comp, ctrl) {\n var _this = _super.call(this) || this;\n _this.pinned = pinned;\n _this.column = column;\n _this.eResize = eResize;\n _this.comp = comp;\n _this.ctrl = ctrl;\n return _this;\n }\n ResizeFeature.prototype.postConstruct = function () {\n var _this = this;\n var colDef = this.column.getColDef();\n var destroyResizeFuncs = [];\n var canResize;\n var canAutosize;\n var addResize = function () {\n setDisplayed(_this.eResize, canResize);\n if (!canResize) {\n return;\n }\n var finishedWithResizeFunc = _this.horizontalResizeService.addResizeBar({\n eResizeBar: _this.eResize,\n onResizeStart: _this.onResizeStart.bind(_this),\n onResizing: _this.onResizing.bind(_this, false),\n onResizeEnd: _this.onResizing.bind(_this, true)\n });\n destroyResizeFuncs.push(finishedWithResizeFunc);\n if (canAutosize) {\n var skipHeaderOnAutoSize_1 = _this.gridOptionsWrapper.isSkipHeaderOnAutoSize();\n var autoSizeColListener_1 = function () {\n _this.columnModel.autoSizeColumn(_this.column, skipHeaderOnAutoSize_1, \"uiColumnResized\");\n };\n _this.eResize.addEventListener('dblclick', autoSizeColListener_1);\n var touchListener_1 = new TouchListener(_this.eResize);\n touchListener_1.addEventListener(TouchListener.EVENT_DOUBLE_TAP, autoSizeColListener_1);\n _this.addDestroyFunc(function () {\n _this.eResize.removeEventListener('dblclick', autoSizeColListener_1);\n touchListener_1.removeEventListener(TouchListener.EVENT_DOUBLE_TAP, autoSizeColListener_1);\n touchListener_1.destroy();\n });\n }\n };\n var removeResize = function () {\n destroyResizeFuncs.forEach(function (f) { return f(); });\n destroyResizeFuncs.length = 0;\n };\n var refresh = function () {\n var resize = _this.column.isResizable();\n var autoSize = !_this.gridOptionsWrapper.isSuppressAutoSize() && !colDef.suppressAutoSize;\n var propertyChange = resize !== canResize || autoSize !== canAutosize;\n if (propertyChange) {\n canResize = resize;\n canAutosize = autoSize;\n removeResize();\n addResize();\n }\n };\n refresh();\n this.addDestroyFunc(removeResize);\n this.ctrl.addRefreshFunction(refresh);\n };\n ResizeFeature.prototype.onResizing = function (finished, resizeAmount) {\n var resizeAmountNormalised = this.normaliseResizeAmount(resizeAmount);\n var columnWidths = [{ key: this.column, newWidth: this.resizeStartWidth + resizeAmountNormalised }];\n this.columnModel.setColumnWidths(columnWidths, this.resizeWithShiftKey, finished, \"uiColumnDragged\");\n if (finished) {\n this.comp.addOrRemoveCssClass('ag-column-resizing', false);\n }\n };\n ResizeFeature.prototype.onResizeStart = function (shiftKey) {\n this.resizeStartWidth = this.column.getActualWidth();\n this.resizeWithShiftKey = shiftKey;\n this.comp.addOrRemoveCssClass('ag-column-resizing', true);\n };\n // optionally inverts the drag, depending on pinned and RTL\n // note - this method is duplicated in RenderedHeaderGroupCell - should refactor out?\n ResizeFeature.prototype.normaliseResizeAmount = function (dragChange) {\n var result = dragChange;\n var notPinningLeft = this.pinned !== Constants.PINNED_LEFT;\n var pinningRight = this.pinned === Constants.PINNED_RIGHT;\n if (this.gridOptionsWrapper.isEnableRtl()) {\n // for RTL, dragging left makes the col bigger, except when pinning left\n if (notPinningLeft) {\n result *= -1;\n }\n }\n else {\n // for LTR (ie normal), dragging left makes the col smaller, except when pinning right\n if (pinningRight) {\n result *= -1;\n }\n }\n return result;\n };\n __decorate$1c([\n Autowired('horizontalResizeService')\n ], ResizeFeature.prototype, \"horizontalResizeService\", void 0);\n __decorate$1c([\n Autowired('columnModel')\n ], ResizeFeature.prototype, \"columnModel\", void 0);\n __decorate$1c([\n PostConstruct\n ], ResizeFeature.prototype, \"postConstruct\", null);\n return ResizeFeature;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1p = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar AgCheckbox = /** @class */ (function (_super) {\n __extends$1p(AgCheckbox, _super);\n function AgCheckbox(config, className, inputType) {\n if (className === void 0) { className = 'ag-checkbox'; }\n if (inputType === void 0) { inputType = 'checkbox'; }\n var _this = _super.call(this, config, className, inputType) || this;\n _this.labelAlignment = 'right';\n _this.selected = false;\n _this.readOnly = false;\n _this.passive = false;\n return _this;\n }\n AgCheckbox.prototype.addInputListeners = function () {\n this.addManagedListener(this.eInput, 'click', this.onCheckboxClick.bind(this));\n this.addManagedListener(this.eLabel, 'click', this.toggle.bind(this));\n };\n AgCheckbox.prototype.getNextValue = function () {\n return this.selected === undefined ? true : !this.selected;\n };\n AgCheckbox.prototype.setPassive = function (passive) {\n this.passive = passive;\n };\n AgCheckbox.prototype.isReadOnly = function () {\n return this.readOnly;\n };\n AgCheckbox.prototype.setReadOnly = function (readOnly) {\n this.eWrapper.classList.toggle('ag-disabled', readOnly);\n this.eInput.disabled = readOnly;\n this.readOnly = readOnly;\n };\n AgCheckbox.prototype.setDisabled = function (disabled) {\n this.eWrapper.classList.toggle('ag-disabled', disabled);\n return _super.prototype.setDisabled.call(this, disabled);\n };\n AgCheckbox.prototype.toggle = function () {\n if (this.eInput.disabled) {\n return;\n }\n var previousValue = this.isSelected();\n var nextValue = this.getNextValue();\n if (this.passive) {\n this.dispatchChange(nextValue, previousValue);\n }\n else {\n this.setValue(nextValue);\n }\n };\n AgCheckbox.prototype.getValue = function () {\n return this.isSelected();\n };\n AgCheckbox.prototype.setValue = function (value, silent) {\n this.refreshSelectedClass(value);\n this.setSelected(value, silent);\n return this;\n };\n AgCheckbox.prototype.setName = function (name) {\n var input = this.getInputElement();\n input.name = name;\n return this;\n };\n AgCheckbox.prototype.isSelected = function () {\n return this.selected;\n };\n AgCheckbox.prototype.setSelected = function (selected, silent) {\n if (this.isSelected() === selected) {\n return;\n }\n this.previousValue = this.isSelected();\n selected = this.selected = typeof selected === 'boolean' ? selected : undefined;\n this.eInput.checked = selected;\n this.eInput.indeterminate = selected === undefined;\n if (!silent) {\n this.dispatchChange(this.selected, this.previousValue);\n }\n };\n AgCheckbox.prototype.dispatchChange = function (selected, previousValue, event) {\n this.dispatchEvent({ type: AgCheckbox.EVENT_CHANGED, selected: selected, previousValue: previousValue, event: event });\n var input = this.getInputElement();\n var checkboxChangedEvent = {\n type: Events.EVENT_CHECKBOX_CHANGED,\n id: input.id,\n name: input.name,\n selected: selected,\n previousValue: previousValue\n };\n this.eventService.dispatchEvent(checkboxChangedEvent);\n };\n AgCheckbox.prototype.onCheckboxClick = function (e) {\n if (this.passive || this.eInput.disabled) {\n return;\n }\n var previousValue = this.isSelected();\n var selected = this.selected = e.target.checked;\n this.refreshSelectedClass(selected);\n this.dispatchChange(selected, previousValue, e);\n };\n AgCheckbox.prototype.refreshSelectedClass = function (value) {\n this.eWrapper.classList.toggle('ag-checked', value === true);\n this.eWrapper.classList.toggle('ag-indeterminate', value == null);\n };\n return AgCheckbox;\n}(AgAbstractInputField));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1q = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1d = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar SelectAllFeature = /** @class */ (function (_super) {\n __extends$1q(SelectAllFeature, _super);\n function SelectAllFeature(column) {\n var _this = _super.call(this) || this;\n _this.cbSelectAllVisible = false;\n _this.processingEventFromCheckbox = false;\n _this.column = column;\n var colDef = column.getColDef();\n _this.filteredOnly = colDef ? !!colDef.headerCheckboxSelectionFilteredOnly : false;\n return _this;\n }\n SelectAllFeature.prototype.onSpaceKeyPressed = function (e) {\n var checkbox = this.cbSelectAll;\n var eDocument = this.gridOptionsWrapper.getDocument();\n if (checkbox.isDisplayed() && !checkbox.getGui().contains(eDocument.activeElement)) {\n e.preventDefault();\n checkbox.setValue(!checkbox.getValue());\n }\n };\n SelectAllFeature.prototype.getCheckboxGui = function () {\n return this.cbSelectAll.getGui();\n };\n SelectAllFeature.prototype.setComp = function (ctrl) {\n this.headerCellCtrl = ctrl;\n this.cbSelectAll = this.createManagedBean(new AgCheckbox());\n this.cbSelectAll.addCssClass('ag-header-select-all');\n setAriaRole(this.cbSelectAll.getGui(), 'presentation');\n this.showOrHideSelectAll();\n this.addManagedListener(this.eventService, Events.EVENT_NEW_COLUMNS_LOADED, this.showOrHideSelectAll.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_DISPLAYED_COLUMNS_CHANGED, this.showOrHideSelectAll.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_SELECTION_CHANGED, this.onSelectionChanged.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_MODEL_UPDATED, this.onModelChanged.bind(this));\n this.addManagedListener(this.cbSelectAll, AgCheckbox.EVENT_CHANGED, this.onCbSelectAll.bind(this));\n this.cbSelectAll.getInputElement().setAttribute('tabindex', '-1');\n this.refreshSelectAllLabel();\n };\n SelectAllFeature.prototype.showOrHideSelectAll = function () {\n this.cbSelectAllVisible = this.isCheckboxSelection();\n this.cbSelectAll.setDisplayed(this.cbSelectAllVisible);\n if (this.cbSelectAllVisible) {\n // in case user is trying this feature with the wrong model type\n this.checkRightRowModelType();\n // make sure checkbox is showing the right state\n this.updateStateOfCheckbox();\n }\n this.refreshSelectAllLabel();\n };\n SelectAllFeature.prototype.onModelChanged = function () {\n if (!this.cbSelectAllVisible) {\n return;\n }\n this.updateStateOfCheckbox();\n };\n SelectAllFeature.prototype.onSelectionChanged = function () {\n if (!this.cbSelectAllVisible) {\n return;\n }\n this.updateStateOfCheckbox();\n };\n SelectAllFeature.prototype.getNextCheckboxState = function (selectionCount) {\n // if no rows, always have it unselected\n if (selectionCount.selected === 0 && selectionCount.notSelected === 0) {\n return false;\n }\n // if mix of selected and unselected, this is the tri-state\n if (selectionCount.selected > 0 && selectionCount.notSelected > 0) {\n return null;\n }\n // only selected\n if (selectionCount.selected > 0) {\n return true;\n }\n // nothing selected\n return false;\n };\n SelectAllFeature.prototype.updateStateOfCheckbox = function () {\n if (this.processingEventFromCheckbox) {\n return;\n }\n this.processingEventFromCheckbox = true;\n var selectionCount = this.getSelectionCount();\n var allSelected = this.getNextCheckboxState(selectionCount);\n this.cbSelectAll.setValue(allSelected);\n this.refreshSelectAllLabel();\n this.processingEventFromCheckbox = false;\n };\n SelectAllFeature.prototype.refreshSelectAllLabel = function () {\n if (!this.cbSelectAllVisible) {\n this.headerCellCtrl.setAriaDescriptionProperty('selectAll', null);\n }\n else {\n var translate = this.gridOptionsWrapper.getLocaleTextFunc();\n var checked = this.cbSelectAll.getValue();\n var ariaStatus = checked ? translate('ariaChecked', 'checked') : translate('ariaUnchecked', 'unchecked');\n var ariaLabel = translate('ariaRowSelectAll', 'Press Space to toggle all rows selection');\n this.headerCellCtrl.setAriaDescriptionProperty('selectAll', ariaLabel + \" (\" + ariaStatus + \")\");\n }\n this.headerCellCtrl.refreshAriaDescription();\n };\n SelectAllFeature.prototype.getSelectionCount = function () {\n var _this = this;\n var selectedCount = 0;\n var notSelectedCount = 0;\n var callback = function (node) {\n if (_this.gridOptionsWrapper.isGroupSelectsChildren() && node.group) {\n return;\n }\n if (node.isSelected()) {\n selectedCount++;\n }\n else if (!node.selectable) ;\n else {\n notSelectedCount++;\n }\n };\n if (this.filteredOnly) {\n this.gridApi.forEachNodeAfterFilter(callback);\n }\n else {\n this.gridApi.forEachNode(callback);\n }\n return {\n notSelected: notSelectedCount,\n selected: selectedCount\n };\n };\n SelectAllFeature.prototype.checkRightRowModelType = function () {\n var rowModelType = this.rowModel.getType();\n var rowModelMatches = rowModelType === Constants.ROW_MODEL_TYPE_CLIENT_SIDE;\n if (!rowModelMatches) {\n console.warn(\"AG Grid: selectAllCheckbox is only available if using normal row model, you are using \" + rowModelType);\n }\n };\n SelectAllFeature.prototype.onCbSelectAll = function () {\n if (this.processingEventFromCheckbox) {\n return;\n }\n if (!this.cbSelectAllVisible) {\n return;\n }\n var value = this.cbSelectAll.getValue();\n if (value) {\n this.selectionService.selectAllRowNodes(this.filteredOnly);\n }\n else {\n this.selectionService.deselectAllRowNodes(this.filteredOnly);\n }\n };\n SelectAllFeature.prototype.isCheckboxSelection = function () {\n var result = this.column.getColDef().headerCheckboxSelection;\n if (typeof result === 'function') {\n var func = result;\n var params = {\n column: this.column,\n colDef: this.column.getColDef(),\n columnApi: this.columnApi,\n api: this.gridApi,\n context: this.gridOptionsWrapper.getContext()\n };\n result = func(params);\n }\n if (result) {\n if (this.gridOptionsWrapper.isRowModelServerSide()) {\n console.warn('AG Grid: headerCheckboxSelection is not supported for Server Side Row Model');\n return false;\n }\n if (this.gridOptionsWrapper.isRowModelInfinite()) {\n console.warn('AG Grid: headerCheckboxSelection is not supported for Infinite Row Model');\n return false;\n }\n if (this.gridOptionsWrapper.isRowModelViewport()) {\n console.warn('AG Grid: headerCheckboxSelection is not supported for Viewport Row Model');\n return false;\n }\n // otherwise the row model is compatible, so return true\n return true;\n }\n return false;\n };\n __decorate$1d([\n Autowired('gridApi')\n ], SelectAllFeature.prototype, \"gridApi\", void 0);\n __decorate$1d([\n Autowired('columnApi')\n ], SelectAllFeature.prototype, \"columnApi\", void 0);\n __decorate$1d([\n Autowired('rowModel')\n ], SelectAllFeature.prototype, \"rowModel\", void 0);\n __decorate$1d([\n Autowired('selectionService')\n ], SelectAllFeature.prototype, \"selectionService\", void 0);\n return SelectAllFeature;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1r = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1e = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar HeaderCellCtrl = /** @class */ (function (_super) {\n __extends$1r(HeaderCellCtrl, _super);\n function HeaderCellCtrl(column, parentRowCtrl) {\n var _this = _super.call(this, column, parentRowCtrl) || this;\n _this.refreshFunctions = [];\n _this.userHeaderClasses = new Set();\n _this.ariaDescriptionProperties = new Map();\n _this.column = column;\n return _this;\n }\n HeaderCellCtrl.prototype.setComp = function (comp, eGui, eResize) {\n var _this = this;\n _super.prototype.setGui.call(this, eGui);\n this.comp = comp;\n this.colDefVersion = this.columnModel.getColDefVersion();\n this.updateState();\n this.setupWidth();\n this.setupMovingCss();\n this.setupMenuClass();\n this.setupSortableClass();\n this.addColumnHoverListener();\n this.setupFilterCss();\n this.setupColId();\n this.setupClassesFromColDef();\n this.setupTooltip();\n this.addActiveHeaderMouseListeners();\n this.setupSelectAll();\n this.setupUserComp();\n this.refreshAria();\n this.createManagedBean(new ResizeFeature(this.getPinned(), this.column, eResize, comp, this));\n this.createManagedBean(new HoverFeature([this.column], eGui));\n this.createManagedBean(new SetLeftFeature(this.column, eGui, this.beans));\n this.createManagedBean(new ManagedFocusFeature(eGui, {\n shouldStopEventPropagation: function (e) { return _this.shouldStopEventPropagation(e); },\n onTabKeyDown: function () { return null; },\n handleKeyDown: this.handleKeyDown.bind(this),\n onFocusIn: this.onFocusIn.bind(this),\n onFocusOut: this.onFocusOut.bind(this)\n }));\n this.addManagedListener(this.eventService, Events.EVENT_NEW_COLUMNS_LOADED, this.onNewColumnsLoaded.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_VALUE_CHANGED, this.onColumnValueChanged.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_ROW_GROUP_CHANGED, this.onColumnRowGroupChanged.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_PIVOT_CHANGED, this.onColumnPivotChanged.bind(this));\n };\n HeaderCellCtrl.prototype.setupUserComp = function () {\n var compDetails = this.lookupUserCompDetails();\n this.setCompDetails(compDetails);\n };\n HeaderCellCtrl.prototype.setCompDetails = function (compDetails) {\n this.userCompDetails = compDetails;\n this.comp.setUserCompDetails(compDetails);\n };\n HeaderCellCtrl.prototype.lookupUserCompDetails = function () {\n var params = this.createParams();\n var colDef = this.column.getColDef();\n return this.userComponentFactory.getHeaderCompDetails(colDef, params);\n };\n HeaderCellCtrl.prototype.createParams = function () {\n var _this = this;\n var colDef = this.column.getColDef();\n var params = {\n column: this.column,\n displayName: this.displayName,\n enableSorting: colDef.sortable,\n enableMenu: this.menuEnabled,\n showColumnMenu: function (source) {\n _this.gridApi.showColumnMenuAfterButtonClick(_this.column, source);\n },\n progressSort: function (multiSort) {\n _this.sortController.progressSort(_this.column, !!multiSort, \"uiColumnSorted\");\n },\n setSort: function (sort, multiSort) {\n _this.sortController.setSortForColumn(_this.column, sort, !!multiSort, \"uiColumnSorted\");\n },\n api: this.gridApi,\n columnApi: this.columnApi,\n context: this.gridOptionsWrapper.getContext(),\n eGridHeader: this.getGui()\n };\n return params;\n };\n HeaderCellCtrl.prototype.setupSelectAll = function () {\n this.selectAllFeature = this.createManagedBean(new SelectAllFeature(this.column));\n this.selectAllFeature.setComp(this);\n };\n HeaderCellCtrl.prototype.getSelectAllGui = function () {\n return this.selectAllFeature.getCheckboxGui();\n };\n HeaderCellCtrl.prototype.handleKeyDown = function (e) {\n if (e.key === KeyCode.SPACE) {\n this.selectAllFeature.onSpaceKeyPressed(e);\n }\n if (e.key === KeyCode.ENTER) {\n this.onEnterKeyPressed(e);\n }\n };\n HeaderCellCtrl.prototype.onEnterKeyPressed = function (e) {\n /// THIS IS BAD - we are assuming the header is not a user provided comp\n var headerComp = this.comp.getUserCompInstance();\n if (!headerComp) {\n return;\n }\n if (e.ctrlKey || e.metaKey) {\n if (this.menuEnabled && headerComp.showMenu) {\n e.preventDefault();\n headerComp.showMenu();\n }\n }\n else if (this.sortable) {\n var multiSort = e.shiftKey;\n this.sortController.progressSort(this.column, multiSort, \"uiColumnSorted\");\n }\n };\n HeaderCellCtrl.prototype.isMenuEnabled = function () {\n return this.menuEnabled;\n };\n HeaderCellCtrl.prototype.onFocusIn = function (e) {\n if (!this.getGui().contains(e.relatedTarget)) {\n var rowIndex = this.getRowIndex();\n this.focusService.setFocusedHeader(rowIndex, this.column);\n }\n this.setActiveHeader(true);\n };\n HeaderCellCtrl.prototype.onFocusOut = function (e) {\n if (this.getGui().contains(e.relatedTarget)) {\n return;\n }\n this.setActiveHeader(false);\n };\n HeaderCellCtrl.prototype.setupTooltip = function () {\n var _this = this;\n var tooltipCtrl = {\n getColumn: function () { return _this.column; },\n getColDef: function () { return _this.column.getColDef(); },\n getGui: function () { return _this.eGui; },\n getLocation: function () { return 'header'; },\n getTooltipValue: function () {\n var res = _this.column.getColDef().headerTooltip;\n return res;\n },\n };\n var tooltipFeature = this.createManagedBean(new TooltipFeature(tooltipCtrl, this.beans));\n tooltipFeature.setComp(this.comp);\n this.refreshFunctions.push(function () { return tooltipFeature.refreshToolTip(); });\n };\n HeaderCellCtrl.prototype.setupClassesFromColDef = function () {\n var _this = this;\n var refreshHeaderClasses = function () {\n var colDef = _this.column.getColDef();\n var goa = _this.gridOptionsWrapper;\n var classes = CssClassApplier.getHeaderClassesFromColDef(colDef, goa, _this.column, null);\n var oldClasses = _this.userHeaderClasses;\n _this.userHeaderClasses = new Set(classes);\n classes.forEach(function (c) {\n if (oldClasses.has(c)) {\n // class already added, no need to apply it, but remove from old set\n oldClasses.delete(c);\n }\n else {\n // class new since last time, so apply it\n _this.comp.addOrRemoveCssClass(c, true);\n }\n });\n // now old set only has classes that were applied last time, but not this time, so remove them\n oldClasses.forEach(function (c) { return _this.comp.addOrRemoveCssClass(c, false); });\n };\n this.refreshFunctions.push(refreshHeaderClasses);\n refreshHeaderClasses();\n };\n HeaderCellCtrl.prototype.setDragSource = function (eSource) {\n var _this = this;\n this.dragSourceElement = eSource;\n this.removeDragSource();\n if (!eSource) {\n return;\n }\n if (!this.draggable) {\n return;\n }\n this.moveDragSource = {\n type: exports.DragSourceType.HeaderCell,\n eElement: eSource,\n defaultIconName: DragAndDropService.ICON_HIDE,\n getDragItem: function () { return _this.createDragItem(); },\n dragItemName: this.displayName,\n onDragStarted: function () { return _this.column.setMoving(true, \"uiColumnMoved\"); },\n onDragStopped: function () { return _this.column.setMoving(false, \"uiColumnMoved\"); }\n };\n this.dragAndDropService.addDragSource(this.moveDragSource, true);\n };\n HeaderCellCtrl.prototype.createDragItem = function () {\n var visibleState = {};\n visibleState[this.column.getId()] = this.column.isVisible();\n return {\n columns: [this.column],\n visibleState: visibleState\n };\n };\n HeaderCellCtrl.prototype.removeDragSource = function () {\n if (this.moveDragSource) {\n this.dragAndDropService.removeDragSource(this.moveDragSource);\n this.moveDragSource = undefined;\n }\n };\n HeaderCellCtrl.prototype.onNewColumnsLoaded = function () {\n var colDefVersionNow = this.columnModel.getColDefVersion();\n if (colDefVersionNow != this.colDefVersion) {\n this.colDefVersion = colDefVersionNow;\n this.refresh();\n }\n };\n HeaderCellCtrl.prototype.updateState = function () {\n var colDef = this.column.getColDef();\n this.menuEnabled = this.menuFactory.isMenuEnabled(this.column) && !colDef.suppressMenu;\n this.sortable = colDef.sortable;\n this.displayName = this.calculateDisplayName();\n this.draggable = this.workOutDraggable();\n };\n HeaderCellCtrl.prototype.addRefreshFunction = function (func) {\n this.refreshFunctions.push(func);\n };\n HeaderCellCtrl.prototype.refresh = function () {\n this.updateState();\n this.refreshHeaderComp();\n this.refreshAria();\n this.refreshFunctions.forEach(function (f) { return f(); });\n };\n HeaderCellCtrl.prototype.refreshHeaderComp = function () {\n var newCompDetails = this.lookupUserCompDetails();\n var compInstance = this.comp.getUserCompInstance();\n // only try refresh if old comp exists adn it is the correct type\n var attemptRefresh = compInstance != null && this.userCompDetails.componentClass == newCompDetails.componentClass;\n var headerCompRefreshed = attemptRefresh ? this.attemptHeaderCompRefresh(newCompDetails.params) : false;\n if (headerCompRefreshed) {\n // we do this as a refresh happens after colDefs change, and it's possible the column has had it's\n // draggable property toggled. no need to call this if not refreshing, as setDragSource is done\n // as part of appendHeaderComp\n this.setDragSource(this.dragSourceElement);\n }\n else {\n this.setCompDetails(newCompDetails);\n }\n };\n HeaderCellCtrl.prototype.attemptHeaderCompRefresh = function (params) {\n var headerComp = this.comp.getUserCompInstance();\n if (!headerComp) {\n return false;\n }\n // if no refresh method, then we want to replace the headerComp\n if (!headerComp.refresh) {\n return false;\n }\n var res = headerComp.refresh(params);\n return res;\n };\n HeaderCellCtrl.prototype.calculateDisplayName = function () {\n return this.columnModel.getDisplayNameForColumn(this.column, 'header', true);\n };\n HeaderCellCtrl.prototype.checkDisplayName = function () {\n // display name can change if aggFunc different, eg sum(Gold) is now max(Gold)\n if (this.displayName !== this.calculateDisplayName()) {\n this.refresh();\n }\n };\n HeaderCellCtrl.prototype.workOutDraggable = function () {\n var colDef = this.column.getColDef();\n var isSuppressMovableColumns = this.gridOptionsWrapper.isSuppressMovableColumns();\n var colCanMove = !isSuppressMovableColumns && !colDef.suppressMovable && !colDef.lockPosition;\n // we should still be allowed drag the column, even if it can't be moved, if the column\n // can be dragged to a rowGroup or pivot drop zone\n return !!colCanMove || !!colDef.enableRowGroup || !!colDef.enablePivot;\n };\n HeaderCellCtrl.prototype.onColumnRowGroupChanged = function () {\n this.checkDisplayName();\n };\n HeaderCellCtrl.prototype.onColumnPivotChanged = function () {\n this.checkDisplayName();\n };\n HeaderCellCtrl.prototype.onColumnValueChanged = function () {\n this.checkDisplayName();\n };\n HeaderCellCtrl.prototype.setupWidth = function () {\n var _this = this;\n var listener = function () {\n _this.comp.setWidth(_this.column.getActualWidth() + 'px');\n };\n this.addManagedListener(this.column, Column.EVENT_WIDTH_CHANGED, listener);\n listener();\n };\n HeaderCellCtrl.prototype.setupMovingCss = function () {\n var _this = this;\n var listener = function () {\n // this is what makes the header go dark when it is been moved (gives impression to\n // user that the column was picked up).\n _this.comp.addOrRemoveCssClass('ag-header-cell-moving', _this.column.isMoving());\n };\n this.addManagedListener(this.column, Column.EVENT_MOVING_CHANGED, listener);\n listener();\n };\n HeaderCellCtrl.prototype.setupMenuClass = function () {\n var _this = this;\n var listener = function () {\n _this.comp.addOrRemoveCssClass('ag-column-menu-visible', _this.column.isMenuVisible());\n };\n this.addManagedListener(this.column, Column.EVENT_MENU_VISIBLE_CHANGED, listener);\n listener();\n };\n HeaderCellCtrl.prototype.setupSortableClass = function () {\n var _this = this;\n var updateSortableCssClass = function () {\n _this.comp.addOrRemoveCssClass('ag-header-cell-sortable', !!_this.sortable);\n };\n updateSortableCssClass();\n this.addRefreshFunction(updateSortableCssClass);\n this.addManagedListener(this.column, Column.EVENT_SORT_CHANGED, this.refreshAriaSort.bind(this));\n };\n HeaderCellCtrl.prototype.refreshAriaSort = function () {\n if (this.sortable) {\n var translate = this.gridOptionsWrapper.getLocaleTextFunc();\n this.comp.setAriaSort(getAriaSortState(this.column));\n this.setAriaDescriptionProperty('sort', translate('ariaSortableColumn', 'Press ENTER to sort.'));\n }\n else {\n this.comp.setAriaSort();\n this.setAriaDescriptionProperty('sort', null);\n }\n };\n HeaderCellCtrl.prototype.refreshAriaMenu = function () {\n if (this.menuEnabled) {\n var translate = this.gridOptionsWrapper.getLocaleTextFunc();\n this.setAriaDescriptionProperty('menu', translate('ariaMenuColumn', 'Press CTRL ENTER to open column menu.'));\n }\n else {\n this.setAriaDescriptionProperty('menu', null);\n }\n };\n HeaderCellCtrl.prototype.setAriaDescriptionProperty = function (property, value) {\n if (value != null) {\n this.ariaDescriptionProperties.set(property, value);\n }\n else {\n this.ariaDescriptionProperties.delete(property);\n }\n };\n HeaderCellCtrl.prototype.refreshAriaDescription = function () {\n var descriptionArray = Array.from(this.ariaDescriptionProperties.values());\n this.comp.setAriaDescription(descriptionArray.length ? descriptionArray.join(' ') : undefined);\n };\n HeaderCellCtrl.prototype.refreshAria = function () {\n this.refreshAriaSort();\n this.refreshAriaMenu();\n this.refreshAriaDescription();\n };\n HeaderCellCtrl.prototype.addColumnHoverListener = function () {\n var _this = this;\n var listener = function () {\n if (!_this.gridOptionsWrapper.isColumnHoverHighlight()) {\n return;\n }\n var isHovered = _this.columnHoverService.isHovered(_this.column);\n _this.comp.addOrRemoveCssClass('ag-column-hover', isHovered);\n };\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_HOVER_CHANGED, listener);\n listener();\n };\n HeaderCellCtrl.prototype.setupFilterCss = function () {\n var _this = this;\n var listener = function () {\n _this.comp.addOrRemoveCssClass('ag-header-cell-filtered', _this.column.isFilterActive());\n };\n this.addManagedListener(this.column, Column.EVENT_FILTER_ACTIVE_CHANGED, listener);\n listener();\n };\n HeaderCellCtrl.prototype.setupColId = function () {\n this.comp.setColId(this.column.getColId());\n };\n HeaderCellCtrl.prototype.addActiveHeaderMouseListeners = function () {\n var _this = this;\n var listener = function (e) { return _this.setActiveHeader(e.type === 'mouseenter'); };\n this.addManagedListener(this.getGui(), 'mouseenter', listener);\n this.addManagedListener(this.getGui(), 'mouseleave', listener);\n };\n HeaderCellCtrl.prototype.setActiveHeader = function (active) {\n this.comp.addOrRemoveCssClass('ag-header-active', active);\n };\n __decorate$1e([\n Autowired('columnModel')\n ], HeaderCellCtrl.prototype, \"columnModel\", void 0);\n __decorate$1e([\n Autowired('columnHoverService')\n ], HeaderCellCtrl.prototype, \"columnHoverService\", void 0);\n __decorate$1e([\n Autowired('beans')\n ], HeaderCellCtrl.prototype, \"beans\", void 0);\n __decorate$1e([\n Autowired('sortController')\n ], HeaderCellCtrl.prototype, \"sortController\", void 0);\n __decorate$1e([\n Autowired('menuFactory')\n ], HeaderCellCtrl.prototype, \"menuFactory\", void 0);\n __decorate$1e([\n Autowired('dragAndDropService')\n ], HeaderCellCtrl.prototype, \"dragAndDropService\", void 0);\n __decorate$1e([\n Autowired('gridApi')\n ], HeaderCellCtrl.prototype, \"gridApi\", void 0);\n __decorate$1e([\n Autowired('columnApi')\n ], HeaderCellCtrl.prototype, \"columnApi\", void 0);\n __decorate$1e([\n Autowired('userComponentFactory')\n ], HeaderCellCtrl.prototype, \"userComponentFactory\", void 0);\n __decorate$1e([\n PreDestroy\n ], HeaderCellCtrl.prototype, \"removeDragSource\", null);\n return HeaderCellCtrl;\n}(AbstractHeaderCellCtrl));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1s = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1f = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar GroupResizeFeature = /** @class */ (function (_super) {\n __extends$1s(GroupResizeFeature, _super);\n function GroupResizeFeature(comp, eResize, pinned, columnGroup) {\n var _this = _super.call(this) || this;\n _this.eResize = eResize;\n _this.comp = comp;\n _this.pinned = pinned;\n _this.columnGroup = columnGroup;\n return _this;\n }\n GroupResizeFeature.prototype.postConstruct = function () {\n var _this = this;\n if (!this.columnGroup.isResizable()) {\n this.comp.addOrRemoveResizableCssClass('ag-hidden', true);\n return;\n }\n var finishedWithResizeFunc = this.horizontalResizeService.addResizeBar({\n eResizeBar: this.eResize,\n onResizeStart: this.onResizeStart.bind(this),\n onResizing: this.onResizing.bind(this, false),\n onResizeEnd: this.onResizing.bind(this, true)\n });\n this.addDestroyFunc(finishedWithResizeFunc);\n if (!this.gridOptionsWrapper.isSuppressAutoSize()) {\n var skipHeaderOnAutoSize_1 = this.gridOptionsWrapper.isSkipHeaderOnAutoSize();\n this.eResize.addEventListener('dblclick', function () {\n // get list of all the column keys we are responsible for\n var keys = [];\n var leafCols = _this.columnGroup.getDisplayedLeafColumns();\n leafCols.forEach(function (column) {\n // not all cols in the group may be participating with auto-resize\n if (!column.getColDef().suppressAutoSize) {\n keys.push(column.getColId());\n }\n });\n if (keys.length > 0) {\n _this.columnModel.autoSizeColumns({\n columns: keys,\n skipHeader: skipHeaderOnAutoSize_1,\n stopAtGroup: _this.columnGroup,\n source: 'uiColumnResized'\n });\n }\n _this.resizeLeafColumnsToFit();\n });\n }\n };\n GroupResizeFeature.prototype.onResizeStart = function (shiftKey) {\n var _this = this;\n this.calculateInitialValues();\n var takeFromGroup = null;\n if (shiftKey) {\n takeFromGroup = this.columnModel.getDisplayedGroupAfter(this.columnGroup);\n }\n if (takeFromGroup) {\n var takeFromLeafCols = takeFromGroup.getDisplayedLeafColumns();\n this.resizeTakeFromCols = takeFromLeafCols.filter(function (col) { return col.isResizable(); });\n this.resizeTakeFromStartWidth = 0;\n this.resizeTakeFromCols.forEach(function (col) { return _this.resizeTakeFromStartWidth += col.getActualWidth(); });\n this.resizeTakeFromRatios = [];\n this.resizeTakeFromCols.forEach(function (col) { return _this.resizeTakeFromRatios.push(col.getActualWidth() / _this.resizeTakeFromStartWidth); });\n }\n else {\n this.resizeTakeFromCols = null;\n this.resizeTakeFromStartWidth = null;\n this.resizeTakeFromRatios = null;\n }\n this.comp.addOrRemoveCssClass('ag-column-resizing', true);\n };\n GroupResizeFeature.prototype.onResizing = function (finished, resizeAmount) {\n var resizeAmountNormalised = this.normaliseDragChange(resizeAmount);\n var width = this.resizeStartWidth + resizeAmountNormalised;\n this.resizeColumns(width, finished);\n };\n GroupResizeFeature.prototype.resizeLeafColumnsToFit = function () {\n var preferredSize = this.autoWidthCalculator.getPreferredWidthForColumnGroup(this.columnGroup);\n this.calculateInitialValues();\n if (preferredSize > this.resizeStartWidth) {\n this.resizeColumns(preferredSize, true);\n }\n };\n GroupResizeFeature.prototype.resizeColumns = function (totalWidth, finished) {\n if (finished === void 0) { finished = true; }\n var resizeSets = [];\n resizeSets.push({\n columns: this.resizeCols,\n ratios: this.resizeRatios,\n width: totalWidth\n });\n if (this.resizeTakeFromCols) {\n var diff = totalWidth - this.resizeStartWidth;\n resizeSets.push({\n columns: this.resizeTakeFromCols,\n ratios: this.resizeTakeFromRatios,\n width: this.resizeTakeFromStartWidth - diff\n });\n }\n this.columnModel.resizeColumnSets({\n resizeSets: resizeSets,\n finished: finished,\n source: 'uiColumnDragged'\n });\n if (finished) {\n this.comp.addOrRemoveCssClass('ag-column-resizing', false);\n }\n };\n GroupResizeFeature.prototype.calculateInitialValues = function () {\n var _this = this;\n var leafCols = this.columnGroup.getDisplayedLeafColumns();\n this.resizeCols = leafCols.filter(function (col) { return col.isResizable(); });\n this.resizeStartWidth = 0;\n this.resizeCols.forEach(function (col) { return _this.resizeStartWidth += col.getActualWidth(); });\n this.resizeRatios = [];\n this.resizeCols.forEach(function (col) { return _this.resizeRatios.push(col.getActualWidth() / _this.resizeStartWidth); });\n };\n // optionally inverts the drag, depending on pinned and RTL\n // note - this method is duplicated in RenderedHeaderCell - should refactor out?\n GroupResizeFeature.prototype.normaliseDragChange = function (dragChange) {\n var result = dragChange;\n if (this.gridOptionsWrapper.isEnableRtl()) {\n // for RTL, dragging left makes the col bigger, except when pinning left\n if (this.pinned !== Constants.PINNED_LEFT) {\n result *= -1;\n }\n }\n else if (this.pinned === Constants.PINNED_RIGHT) {\n // for LTR (ie normal), dragging left makes the col smaller, except when pinning right\n result *= -1;\n }\n return result;\n };\n __decorate$1f([\n Autowired('horizontalResizeService')\n ], GroupResizeFeature.prototype, \"horizontalResizeService\", void 0);\n __decorate$1f([\n Autowired('autoWidthCalculator')\n ], GroupResizeFeature.prototype, \"autoWidthCalculator\", void 0);\n __decorate$1f([\n Autowired('columnModel')\n ], GroupResizeFeature.prototype, \"columnModel\", void 0);\n __decorate$1f([\n PostConstruct\n ], GroupResizeFeature.prototype, \"postConstruct\", null);\n return GroupResizeFeature;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1t = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1g = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar GroupWidthFeature = /** @class */ (function (_super) {\n __extends$1t(GroupWidthFeature, _super);\n function GroupWidthFeature(comp, columnGroup) {\n var _this = _super.call(this) || this;\n // the children can change, we keep destroy functions related to listening to the children here\n _this.removeChildListenersFuncs = [];\n _this.columnGroup = columnGroup;\n _this.comp = comp;\n return _this;\n }\n GroupWidthFeature.prototype.postConstruct = function () {\n // we need to listen to changes in child columns, as they impact our width\n this.addListenersToChildrenColumns();\n // the children belonging to this group can change, so we need to add and remove listeners as they change\n this.addManagedListener(this.columnGroup, ColumnGroup.EVENT_DISPLAYED_CHILDREN_CHANGED, this.onDisplayedChildrenChanged.bind(this));\n this.onWidthChanged();\n // the child listeners are not tied to this components life-cycle, as children can get added and removed\n // to the group - hence they are on a different life-cycle. so we must make sure the existing children\n // listeners are removed when we finally get destroyed\n this.addDestroyFunc(this.removeListenersOnChildrenColumns.bind(this));\n };\n GroupWidthFeature.prototype.addListenersToChildrenColumns = function () {\n var _this = this;\n // first destroy any old listeners\n this.removeListenersOnChildrenColumns();\n // now add new listeners to the new set of children\n var widthChangedListener = this.onWidthChanged.bind(this);\n this.columnGroup.getLeafColumns().forEach(function (column) {\n column.addEventListener(Column.EVENT_WIDTH_CHANGED, widthChangedListener);\n column.addEventListener(Column.EVENT_VISIBLE_CHANGED, widthChangedListener);\n _this.removeChildListenersFuncs.push(function () {\n column.removeEventListener(Column.EVENT_WIDTH_CHANGED, widthChangedListener);\n column.removeEventListener(Column.EVENT_VISIBLE_CHANGED, widthChangedListener);\n });\n });\n };\n GroupWidthFeature.prototype.removeListenersOnChildrenColumns = function () {\n this.removeChildListenersFuncs.forEach(function (func) { return func(); });\n this.removeChildListenersFuncs = [];\n };\n GroupWidthFeature.prototype.onDisplayedChildrenChanged = function () {\n this.addListenersToChildrenColumns();\n this.onWidthChanged();\n };\n GroupWidthFeature.prototype.onWidthChanged = function () {\n this.comp.setWidth(this.columnGroup.getActualWidth() + 'px');\n };\n __decorate$1g([\n PostConstruct\n ], GroupWidthFeature.prototype, \"postConstruct\", null);\n return GroupWidthFeature;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1u = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1h = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar HeaderGroupCellCtrl = /** @class */ (function (_super) {\n __extends$1u(HeaderGroupCellCtrl, _super);\n function HeaderGroupCellCtrl(columnGroup, parentRowCtrl) {\n var _this = _super.call(this, columnGroup, parentRowCtrl) || this;\n _this.columnGroup = columnGroup;\n return _this;\n }\n HeaderGroupCellCtrl.prototype.setComp = function (comp, eGui, eResize) {\n _super.prototype.setGui.call(this, eGui);\n this.comp = comp;\n this.displayName = this.columnModel.getDisplayNameForColumnGroup(this.columnGroup, 'header');\n this.addClasses();\n this.addAttributes();\n this.setupMovingCss();\n this.setupExpandable();\n this.setupTooltip();\n this.setupUserComp();\n var pinned = this.getParentRowCtrl().getPinned();\n var leafCols = this.columnGroup.getProvidedColumnGroup().getLeafColumns();\n this.createManagedBean(new HoverFeature(leafCols, eGui));\n this.createManagedBean(new SetLeftFeature(this.columnGroup, eGui, this.beans));\n this.createManagedBean(new GroupWidthFeature(comp, this.columnGroup));\n this.groupResizeFeature = this.createManagedBean(new GroupResizeFeature(comp, eResize, pinned, this.columnGroup));\n this.createManagedBean(new ManagedFocusFeature(eGui, {\n shouldStopEventPropagation: this.shouldStopEventPropagation.bind(this),\n onTabKeyDown: function () { return undefined; },\n handleKeyDown: this.handleKeyDown.bind(this),\n onFocusIn: this.onFocusIn.bind(this)\n }));\n };\n HeaderGroupCellCtrl.prototype.resizeLeafColumnsToFit = function () {\n this.groupResizeFeature.onResizeStart(false);\n this.groupResizeFeature.resizeLeafColumnsToFit();\n };\n HeaderGroupCellCtrl.prototype.setupUserComp = function () {\n var _this = this;\n var displayName = this.displayName;\n var params = {\n displayName: this.displayName,\n columnGroup: this.columnGroup,\n setExpanded: function (expanded) {\n _this.columnModel.setColumnGroupOpened(_this.columnGroup.getProvidedColumnGroup(), expanded, \"gridInitializing\");\n },\n api: this.gridApi,\n columnApi: this.columnApi,\n context: this.gridOptionsWrapper.getContext()\n };\n if (!displayName) {\n var columnGroup = this.columnGroup;\n var leafCols = columnGroup.getLeafColumns();\n // find the top most column group that represents the same columns. so if we are dragging a group, we also\n // want to visually show the parent groups dragging for the same column set. for example imaging 5 levels\n // of grouping, with each group only containing the next group, and the last group containing three columns,\n // then when you move any group (even the lowest level group) you are in-fact moving all the groups, as all\n // the groups represent the same column set.\n while (columnGroup.getParent() && columnGroup.getParent().getLeafColumns().length === leafCols.length) {\n columnGroup = columnGroup.getParent();\n }\n var colGroupDef = columnGroup.getColGroupDef();\n if (colGroupDef) {\n displayName = colGroupDef.headerName;\n }\n if (!displayName) {\n displayName = leafCols ? this.columnModel.getDisplayNameForColumn(leafCols[0], 'header', true) : '';\n }\n }\n var compDetails = this.userComponentFactory.getHeaderGroupCompDetails(params);\n this.comp.setUserCompDetails(compDetails);\n };\n HeaderGroupCellCtrl.prototype.setupTooltip = function () {\n var _this = this;\n var colGroupDef = this.columnGroup.getColGroupDef();\n var tooltipCtrl = {\n getColumn: function () { return _this.columnGroup; },\n getGui: function () { return _this.eGui; },\n getLocation: function () { return 'headerGroup'; },\n getTooltipValue: function () { return colGroupDef && colGroupDef.headerTooltip; }\n };\n if (colGroupDef) {\n tooltipCtrl.getColDef = function () { return colGroupDef; };\n }\n var tooltipFeature = this.createManagedBean(new TooltipFeature(tooltipCtrl, this.beans));\n tooltipFeature.setComp(this.comp);\n };\n HeaderGroupCellCtrl.prototype.setupExpandable = function () {\n var providedColGroup = this.columnGroup.getProvidedColumnGroup();\n this.refreshExpanded();\n this.addManagedListener(providedColGroup, ProvidedColumnGroup.EVENT_EXPANDABLE_CHANGED, this.refreshExpanded.bind(this));\n this.addManagedListener(providedColGroup, ProvidedColumnGroup.EVENT_EXPANDED_CHANGED, this.refreshExpanded.bind(this));\n };\n HeaderGroupCellCtrl.prototype.refreshExpanded = function () {\n var column = this.columnGroup;\n this.expandable = column.isExpandable();\n var expanded = column.isExpanded();\n if (this.expandable) {\n this.comp.setAriaExpanded(expanded ? 'true' : 'false');\n }\n else {\n this.comp.setAriaExpanded(undefined);\n }\n };\n HeaderGroupCellCtrl.prototype.addAttributes = function () {\n this.comp.setColId(this.columnGroup.getUniqueId());\n };\n HeaderGroupCellCtrl.prototype.addClasses = function () {\n var _this = this;\n var colGroupDef = this.columnGroup.getColGroupDef();\n var classes = CssClassApplier.getHeaderClassesFromColDef(colGroupDef, this.gridOptionsWrapper, null, this.columnGroup);\n // having different classes below allows the style to not have a bottom border\n // on the group header, if no group is specified\n classes.push(this.columnGroup.isPadding() ? \"ag-header-group-cell-no-group\" : \"ag-header-group-cell-with-group\");\n classes.forEach(function (c) { return _this.comp.addOrRemoveCssClass(c, true); });\n };\n HeaderGroupCellCtrl.prototype.setupMovingCss = function () {\n var _this = this;\n var providedColumnGroup = this.columnGroup.getProvidedColumnGroup();\n var leafColumns = providedColumnGroup.getLeafColumns();\n // this function adds or removes the moving css, based on if the col is moving.\n // this is what makes the header go dark when it is been moved (gives impression to\n // user that the column was picked up).\n var listener = function () { return _this.comp.addOrRemoveCssClass('ag-header-cell-moving', _this.columnGroup.isMoving()); };\n leafColumns.forEach(function (col) {\n _this.addManagedListener(col, Column.EVENT_MOVING_CHANGED, listener);\n });\n listener();\n };\n HeaderGroupCellCtrl.prototype.onFocusIn = function (e) {\n if (!this.eGui.contains(e.relatedTarget)) {\n var rowIndex = this.getRowIndex();\n this.beans.focusService.setFocusedHeader(rowIndex, this.columnGroup);\n }\n };\n HeaderGroupCellCtrl.prototype.handleKeyDown = function (e) {\n var eDocument = this.gridOptionsWrapper.getDocument();\n var activeEl = eDocument.activeElement;\n var wrapperHasFocus = activeEl === this.eGui;\n if (!this.expandable || !wrapperHasFocus) {\n return;\n }\n if (e.key === KeyCode.ENTER) {\n var column = this.columnGroup;\n var newExpandedValue = !column.isExpanded();\n this.columnModel.setColumnGroupOpened(column.getProvidedColumnGroup(), newExpandedValue, \"uiColumnExpanded\");\n }\n };\n // unlike columns, this will only get called once, as we don't react on props on column groups\n // (we will always destroy and recreate this comp if something changes)\n HeaderGroupCellCtrl.prototype.setDragSource = function (eHeaderGroup) {\n var _this = this;\n if (this.isSuppressMoving()) {\n return;\n }\n var allLeafColumns = this.columnGroup.getProvidedColumnGroup().getLeafColumns();\n var dragSource = {\n type: exports.DragSourceType.HeaderCell,\n eElement: eHeaderGroup,\n defaultIconName: DragAndDropService.ICON_HIDE,\n dragItemName: this.displayName,\n // we add in the original group leaf columns, so we move both visible and non-visible items\n getDragItem: this.getDragItemForGroup.bind(this),\n onDragStarted: function () { return allLeafColumns.forEach(function (col) { return col.setMoving(true, \"uiColumnDragged\"); }); },\n onDragStopped: function () { return allLeafColumns.forEach(function (col) { return col.setMoving(false, \"uiColumnDragged\"); }); }\n };\n this.dragAndDropService.addDragSource(dragSource, true);\n this.addDestroyFunc(function () { return _this.dragAndDropService.removeDragSource(dragSource); });\n };\n // when moving the columns, we want to move all the columns (contained within the DragItem) in this group in one go,\n // and in the order they are currently in the screen.\n HeaderGroupCellCtrl.prototype.getDragItemForGroup = function () {\n var allColumnsOriginalOrder = this.columnGroup.getProvidedColumnGroup().getLeafColumns();\n // capture visible state, used when re-entering grid to dictate which columns should be visible\n var visibleState = {};\n allColumnsOriginalOrder.forEach(function (column) { return visibleState[column.getId()] = column.isVisible(); });\n var allColumnsCurrentOrder = [];\n this.columnModel.getAllDisplayedColumns().forEach(function (column) {\n if (allColumnsOriginalOrder.indexOf(column) >= 0) {\n allColumnsCurrentOrder.push(column);\n removeFromArray(allColumnsOriginalOrder, column);\n }\n });\n // we are left with non-visible columns, stick these in at the end\n allColumnsOriginalOrder.forEach(function (column) { return allColumnsCurrentOrder.push(column); });\n // create and return dragItem\n return {\n columns: allColumnsCurrentOrder,\n visibleState: visibleState\n };\n };\n HeaderGroupCellCtrl.prototype.isSuppressMoving = function () {\n // if any child is fixed, then don't allow moving\n var childSuppressesMoving = false;\n this.columnGroup.getLeafColumns().forEach(function (column) {\n if (column.getColDef().suppressMovable || column.getColDef().lockPosition) {\n childSuppressesMoving = true;\n }\n });\n var result = childSuppressesMoving || this.gridOptionsWrapper.isSuppressMovableColumns();\n return result;\n };\n __decorate$1h([\n Autowired('beans')\n ], HeaderGroupCellCtrl.prototype, \"beans\", void 0);\n __decorate$1h([\n Autowired('columnModel')\n ], HeaderGroupCellCtrl.prototype, \"columnModel\", void 0);\n __decorate$1h([\n Autowired('dragAndDropService')\n ], HeaderGroupCellCtrl.prototype, \"dragAndDropService\", void 0);\n __decorate$1h([\n Autowired('userComponentFactory')\n ], HeaderGroupCellCtrl.prototype, \"userComponentFactory\", void 0);\n __decorate$1h([\n Autowired('gridApi')\n ], HeaderGroupCellCtrl.prototype, \"gridApi\", void 0);\n __decorate$1h([\n Autowired('columnApi')\n ], HeaderGroupCellCtrl.prototype, \"columnApi\", void 0);\n return HeaderGroupCellCtrl;\n}(AbstractHeaderCellCtrl));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1v = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1i = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar instanceIdSequence$4 = 0;\nvar HeaderRowCtrl = /** @class */ (function (_super) {\n __extends$1v(HeaderRowCtrl, _super);\n function HeaderRowCtrl(rowIndex, pinned, type) {\n var _this = _super.call(this) || this;\n _this.instanceId = instanceIdSequence$4++;\n _this.headerCellCtrls = {};\n _this.rowIndex = rowIndex;\n _this.pinned = pinned;\n _this.type = type;\n return _this;\n }\n HeaderRowCtrl.prototype.getInstanceId = function () {\n return this.instanceId;\n };\n HeaderRowCtrl.prototype.setComp = function (comp) {\n this.comp = comp;\n this.onRowHeightChanged();\n this.onVirtualColumnsChanged();\n this.setWidth();\n this.addEventListeners();\n if (isBrowserSafari()) {\n // fix for a Safari rendering bug that caused the header to flicker above chart panels\n // as you move the mouse over the header\n this.comp.setTransform('translateZ(0)');\n }\n comp.setAriaRowIndex(this.rowIndex + 1);\n };\n HeaderRowCtrl.prototype.addEventListeners = function () {\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_RESIZED, this.onColumnResized.bind(this));\n // when print layout changes, it changes what columns are in what section\n this.addManagedListener(this.gridOptionsWrapper, GridOptionsWrapper.PROP_DOM_LAYOUT, this.onDisplayedColumnsChanged.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_DISPLAYED_COLUMNS_CHANGED, this.onDisplayedColumnsChanged.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_VIRTUAL_COLUMNS_CHANGED, this.onVirtualColumnsChanged.bind(this));\n this.addManagedListener(this.gridOptionsWrapper, GridOptionsWrapper.PROP_HEADER_HEIGHT, this.onRowHeightChanged.bind(this));\n this.addManagedListener(this.gridOptionsWrapper, GridOptionsWrapper.PROP_PIVOT_HEADER_HEIGHT, this.onRowHeightChanged.bind(this));\n this.addManagedListener(this.gridOptionsWrapper, GridOptionsWrapper.PROP_GROUP_HEADER_HEIGHT, this.onRowHeightChanged.bind(this));\n this.addManagedListener(this.gridOptionsWrapper, GridOptionsWrapper.PROP_PIVOT_GROUP_HEADER_HEIGHT, this.onRowHeightChanged.bind(this));\n this.addManagedListener(this.gridOptionsWrapper, GridOptionsWrapper.PROP_FLOATING_FILTERS_HEIGHT, this.onRowHeightChanged.bind(this));\n };\n HeaderRowCtrl.prototype.getHeaderCellCtrl = function (column) {\n return values(this.headerCellCtrls).find(function (cellCtrl) { return cellCtrl.getColumnGroupChild() === column; });\n };\n HeaderRowCtrl.prototype.onDisplayedColumnsChanged = function () {\n this.onVirtualColumnsChanged();\n this.setWidth();\n };\n HeaderRowCtrl.prototype.getType = function () {\n return this.type;\n };\n HeaderRowCtrl.prototype.onColumnResized = function () {\n this.setWidth();\n };\n HeaderRowCtrl.prototype.setWidth = function () {\n var width = this.getWidthForRow();\n this.comp.setWidth(width + \"px\");\n };\n HeaderRowCtrl.prototype.getWidthForRow = function () {\n var printLayout = this.gridOptionsWrapper.getDomLayout() === Constants.DOM_LAYOUT_PRINT;\n if (printLayout) {\n var pinned = this.pinned != null;\n if (pinned) {\n return 0;\n }\n return this.columnModel.getContainerWidth(Constants.PINNED_RIGHT)\n + this.columnModel.getContainerWidth(Constants.PINNED_LEFT)\n + this.columnModel.getContainerWidth(null);\n }\n // if not printing, just return the width as normal\n return this.columnModel.getContainerWidth(this.pinned);\n };\n HeaderRowCtrl.prototype.onRowHeightChanged = function () {\n var headerRowCount = this.columnModel.getHeaderRowCount();\n var sizes = [];\n var numberOfFloating = 0;\n var groupHeight;\n var headerHeight;\n if (this.columnModel.hasFloatingFilters()) {\n headerRowCount++;\n numberOfFloating = 1;\n }\n if (this.columnModel.isPivotMode()) {\n groupHeight = this.gridOptionsWrapper.getPivotGroupHeaderHeight();\n headerHeight = this.gridOptionsWrapper.getPivotHeaderHeight();\n }\n else {\n groupHeight = this.gridOptionsWrapper.getGroupHeaderHeight();\n headerHeight = this.gridOptionsWrapper.getHeaderHeight();\n }\n var numberOfNonGroups = 1 + numberOfFloating;\n var numberOfGroups = headerRowCount - numberOfNonGroups;\n for (var i = 0; i < numberOfGroups; i++) {\n sizes.push(groupHeight);\n }\n sizes.push(headerHeight);\n for (var i = 0; i < numberOfFloating; i++) {\n sizes.push(this.gridOptionsWrapper.getFloatingFiltersHeight());\n }\n var rowHeight = 0;\n for (var i = 0; i < this.rowIndex; i++) {\n rowHeight += sizes[i];\n }\n this.comp.setTop(rowHeight + 'px');\n this.comp.setHeight(sizes[this.rowIndex] + 'px');\n };\n HeaderRowCtrl.prototype.getPinned = function () {\n return this.pinned;\n };\n HeaderRowCtrl.prototype.getRowIndex = function () {\n return this.rowIndex;\n };\n HeaderRowCtrl.prototype.onVirtualColumnsChanged = function () {\n var _this = this;\n var oldCtrls = this.headerCellCtrls;\n this.headerCellCtrls = {};\n var columns = this.getColumnsInViewport();\n columns.forEach(function (child) {\n // skip groups that have no displayed children. this can happen when the group is broken,\n // and this section happens to have nothing to display for the open / closed state.\n // (a broken group is one that is split, ie columns in the group have a non-group column\n // in between them)\n if (child.isEmptyGroup()) {\n return;\n }\n var idOfChild = child.getUniqueId();\n // if we already have this cell rendered, do nothing\n var headerCtrl = oldCtrls[idOfChild];\n delete oldCtrls[idOfChild];\n // it's possible there is a new Column with the same ID, but it's for a different Column.\n // this is common with pivoting, where the pivot cols change, but the id's are still pivot_0,\n // pivot_1 etc. so if new col but same ID, need to remove the old col here first as we are\n // about to replace it in the this.headerComps map.\n var forOldColumn = headerCtrl && headerCtrl.getColumnGroupChild() != child;\n if (forOldColumn) {\n _this.destroyBean(headerCtrl);\n headerCtrl = undefined;\n }\n if (headerCtrl == null) {\n switch (_this.type) {\n case exports.HeaderRowType.FLOATING_FILTER:\n headerCtrl = _this.createBean(new HeaderFilterCellCtrl(child, _this));\n break;\n case exports.HeaderRowType.COLUMN_GROUP:\n headerCtrl = _this.createBean(new HeaderGroupCellCtrl(child, _this));\n break;\n default:\n headerCtrl = _this.createBean(new HeaderCellCtrl(child, _this));\n break;\n }\n }\n _this.headerCellCtrls[idOfChild] = headerCtrl;\n });\n // we want to keep columns that are focused, otherwise keyboard navigation breaks\n var isFocusedAndDisplayed = function (ctrl) {\n var isFocused = _this.focusService.isHeaderWrapperFocused(ctrl);\n if (!isFocused) {\n return false;\n }\n var isDisplayed = _this.columnModel.isDisplayed(ctrl.getColumnGroupChild());\n return isDisplayed;\n };\n iterateObject(oldCtrls, function (id, oldCtrl) {\n var keepCtrl = isFocusedAndDisplayed(oldCtrl);\n if (keepCtrl) {\n _this.headerCellCtrls[id] = oldCtrl;\n }\n else {\n _this.destroyBean(oldCtrl);\n }\n });\n var ctrlsToDisplay = getAllValuesInObject(this.headerCellCtrls);\n this.comp.setHeaderCtrls(ctrlsToDisplay);\n };\n HeaderRowCtrl.prototype.destroyCtrls = function () {\n var _this = this;\n iterateObject(this.headerCellCtrls, function (key, ctrl) {\n _this.destroyBean(ctrl);\n });\n this.headerCellCtrls = {};\n };\n HeaderRowCtrl.prototype.getColumnsInViewport = function () {\n var printLayout = this.gridOptionsWrapper.getDomLayout() === Constants.DOM_LAYOUT_PRINT;\n return printLayout ? this.getColumnsInViewportPrintLayout() : this.getColumnsInViewportNormalLayout();\n };\n HeaderRowCtrl.prototype.getColumnsInViewportPrintLayout = function () {\n var _this = this;\n // for print layout, we add all columns into the center\n if (this.pinned != null) {\n return [];\n }\n var viewportColumns = [];\n var actualDepth = this.getActualDepth();\n [Constants.PINNED_LEFT, null, Constants.PINNED_RIGHT].forEach(function (pinned) {\n var items = _this.columnModel.getVirtualHeaderGroupRow(pinned, actualDepth);\n viewportColumns = viewportColumns.concat(items);\n });\n return viewportColumns;\n };\n HeaderRowCtrl.prototype.getActualDepth = function () {\n return this.type == exports.HeaderRowType.FLOATING_FILTER ? this.rowIndex - 1 : this.rowIndex;\n };\n HeaderRowCtrl.prototype.getColumnsInViewportNormalLayout = function () {\n // when in normal layout, we add the columns for that container only\n return this.columnModel.getVirtualHeaderGroupRow(this.pinned, this.getActualDepth());\n };\n HeaderRowCtrl.prototype.focusHeader = function (column, event) {\n var allCtrls = getAllValuesInObject(this.headerCellCtrls);\n var ctrl = allCtrls.find(function (ctrl) { return ctrl.getColumnGroupChild() == column; });\n if (!ctrl) {\n return false;\n }\n ctrl.focus(event);\n return true;\n };\n __decorate$1i([\n Autowired('columnModel')\n ], HeaderRowCtrl.prototype, \"columnModel\", void 0);\n __decorate$1i([\n Autowired('focusService')\n ], HeaderRowCtrl.prototype, \"focusService\", void 0);\n __decorate$1i([\n PreDestroy\n ], HeaderRowCtrl.prototype, \"destroyCtrls\", null);\n return HeaderRowCtrl;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1w = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1j = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __read$c = (undefined && undefined.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spread$9 = (undefined && undefined.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read$c(arguments[i]));\n return ar;\n};\nvar HeaderRowContainerCtrl = /** @class */ (function (_super) {\n __extends$1w(HeaderRowContainerCtrl, _super);\n function HeaderRowContainerCtrl(pinned) {\n var _this = _super.call(this) || this;\n _this.groupsRowCtrls = [];\n _this.pinned = pinned;\n return _this;\n }\n HeaderRowContainerCtrl.prototype.setComp = function (comp, eGui) {\n this.comp = comp;\n this.setupCenterWidth();\n this.setupPinnedWidth();\n this.setupDragAndDrop(eGui);\n this.addManagedListener(this.eventService, Events.EVENT_GRID_COLUMNS_CHANGED, this.onGridColumnsChanged.bind(this));\n this.ctrlsService.registerHeaderContainer(this, this.pinned);\n if (this.columnModel.isReady()) {\n this.refresh();\n }\n };\n HeaderRowContainerCtrl.prototype.setupDragAndDrop = function (dropContainer) {\n var bodyDropTarget = new BodyDropTarget(this.pinned, dropContainer);\n this.createManagedBean(bodyDropTarget);\n };\n HeaderRowContainerCtrl.prototype.refresh = function (keepColumns) {\n var _this = this;\n if (keepColumns === void 0) { keepColumns = false; }\n var sequence = new NumberSequence();\n var focusedHeaderPosition = this.focusService.getFocusHeaderToUseAfterRefresh();\n var refreshColumnGroups = function () {\n var groupRowCount = _this.columnModel.getHeaderRowCount() - 1;\n _this.groupsRowCtrls = _this.destroyBeans(_this.groupsRowCtrls);\n for (var i = 0; i < groupRowCount; i++) {\n var ctrl = _this.createBean(new HeaderRowCtrl(sequence.next(), _this.pinned, exports.HeaderRowType.COLUMN_GROUP));\n _this.groupsRowCtrls.push(ctrl);\n }\n };\n var refreshColumns = function () {\n var rowIndex = sequence.next();\n var needNewInstance = _this.columnsRowCtrl == null || !keepColumns || _this.columnsRowCtrl.getRowIndex() !== rowIndex;\n if (needNewInstance) {\n _this.destroyBean(_this.columnsRowCtrl);\n _this.columnsRowCtrl = _this.createBean(new HeaderRowCtrl(rowIndex, _this.pinned, exports.HeaderRowType.COLUMN));\n }\n };\n var refreshFilters = function () {\n var includeFloatingFilter = _this.columnModel.hasFloatingFilters();\n var destroyPreviousComp = function () {\n _this.filtersRowCtrl = _this.destroyBean(_this.filtersRowCtrl);\n };\n if (!includeFloatingFilter) {\n destroyPreviousComp();\n return;\n }\n var rowIndex = sequence.next();\n if (_this.filtersRowCtrl) {\n var rowIndexMismatch = _this.filtersRowCtrl.getRowIndex() !== rowIndex;\n if (!keepColumns || rowIndexMismatch) {\n destroyPreviousComp();\n }\n }\n if (!_this.filtersRowCtrl) {\n _this.filtersRowCtrl = _this.createBean(new HeaderRowCtrl(rowIndex, _this.pinned, exports.HeaderRowType.FLOATING_FILTER));\n }\n };\n refreshColumnGroups();\n refreshColumns();\n refreshFilters();\n var allCtrls = this.getAllCtrls();\n this.comp.setCtrls(allCtrls);\n this.restoreFocusOnHeader(focusedHeaderPosition);\n };\n HeaderRowContainerCtrl.prototype.restoreFocusOnHeader = function (position) {\n if (position == null || position.column.getPinned() != this.pinned) {\n return;\n }\n this.focusService.focusHeaderPosition({ headerPosition: position });\n };\n HeaderRowContainerCtrl.prototype.getAllCtrls = function () {\n var res = __spread$9(this.groupsRowCtrls, [this.columnsRowCtrl]);\n if (this.filtersRowCtrl) {\n res.push(this.filtersRowCtrl);\n }\n return res;\n };\n // grid cols have changed - this also means the number of rows in the header can have\n // changed. so we remove all the old rows and insert new ones for a complete refresh\n HeaderRowContainerCtrl.prototype.onGridColumnsChanged = function () {\n this.refresh(true);\n };\n HeaderRowContainerCtrl.prototype.setupCenterWidth = function () {\n var _this = this;\n if (this.pinned != null) {\n return;\n }\n this.createManagedBean(new CenterWidthFeature(function (width) { return _this.comp.setCenterWidth(width + \"px\"); }));\n };\n HeaderRowContainerCtrl.prototype.setHorizontalScroll = function (offset) {\n this.comp.setContainerTransform(\"translateX(\" + offset + \"px)\");\n };\n HeaderRowContainerCtrl.prototype.setupPinnedWidth = function () {\n var _this = this;\n if (this.pinned == null) {\n return;\n }\n var pinningLeft = this.pinned === Constants.PINNED_LEFT;\n var pinningRight = this.pinned === Constants.PINNED_RIGHT;\n var listener = function () {\n var width = pinningLeft ? _this.pinnedWidthService.getPinnedLeftWidth() : _this.pinnedWidthService.getPinnedRightWidth();\n if (width == null) {\n return;\n } // can happen at initialisation, width not yet set\n var hidden = width == 0;\n var isRtl = _this.gridOptionsWrapper.isEnableRtl();\n var scrollbarWidth = _this.gridOptionsWrapper.getScrollbarWidth();\n // if there is a scroll showing (and taking up space, so Windows, and not iOS)\n // in the body, then we add extra space to keep header aligned with the body,\n // as body width fits the cols and the scrollbar\n var addPaddingForScrollbar = _this.scrollVisibleService.isVerticalScrollShowing() && ((isRtl && pinningLeft) || (!isRtl && pinningRight));\n var widthWithPadding = addPaddingForScrollbar ? width + scrollbarWidth : width;\n _this.comp.setPinnedContainerWidth(widthWithPadding + 'px');\n _this.comp.addOrRemoveCssClass('ag-hidden', hidden);\n };\n this.addManagedListener(this.eventService, Events.EVENT_LEFT_PINNED_WIDTH_CHANGED, listener);\n this.addManagedListener(this.eventService, Events.EVENT_RIGHT_PINNED_WIDTH_CHANGED, listener);\n this.addManagedListener(this.eventService, Events.EVENT_SCROLL_VISIBILITY_CHANGED, listener);\n this.addManagedListener(this.eventService, Events.EVENT_SCROLLBAR_WIDTH_CHANGED, listener);\n };\n HeaderRowContainerCtrl.prototype.getHeaderCtrlForColumn = function (column) {\n if (column instanceof Column) {\n if (!this.columnsRowCtrl) {\n return;\n }\n return this.columnsRowCtrl.getHeaderCellCtrl(column);\n }\n if (this.groupsRowCtrls.length === 0) {\n return;\n }\n for (var i = 0; i < this.groupsRowCtrls.length; i++) {\n var ctrl = this.groupsRowCtrls[i].getHeaderCellCtrl(column);\n if (ctrl) {\n return ctrl;\n }\n }\n };\n HeaderRowContainerCtrl.prototype.getHtmlElementForColumnHeader = function (column) {\n /* tslint:enable */\n var cellCtrl = this.getHeaderCtrlForColumn(column);\n if (!cellCtrl) {\n return null;\n }\n return cellCtrl.getGui();\n };\n HeaderRowContainerCtrl.prototype.getRowType = function (rowIndex) {\n var allCtrls = this.getAllCtrls();\n var ctrl = allCtrls[rowIndex];\n return ctrl ? ctrl.getType() : undefined;\n };\n HeaderRowContainerCtrl.prototype.focusHeader = function (rowIndex, column, event) {\n var allCtrls = this.getAllCtrls();\n var ctrl = allCtrls[rowIndex];\n if (!ctrl) {\n return false;\n }\n return ctrl.focusHeader(column, event);\n };\n HeaderRowContainerCtrl.prototype.getRowCount = function () {\n return this.getAllCtrls().length;\n };\n __decorate$1j([\n Autowired('ctrlsService')\n ], HeaderRowContainerCtrl.prototype, \"ctrlsService\", void 0);\n __decorate$1j([\n Autowired('scrollVisibleService')\n ], HeaderRowContainerCtrl.prototype, \"scrollVisibleService\", void 0);\n __decorate$1j([\n Autowired('pinnedWidthService')\n ], HeaderRowContainerCtrl.prototype, \"pinnedWidthService\", void 0);\n __decorate$1j([\n Autowired('columnModel')\n ], HeaderRowContainerCtrl.prototype, \"columnModel\", void 0);\n __decorate$1j([\n Autowired('focusService')\n ], HeaderRowContainerCtrl.prototype, \"focusService\", void 0);\n return HeaderRowContainerCtrl;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1x = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1k = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar HeaderRowContainerComp = /** @class */ (function (_super) {\n __extends$1x(HeaderRowContainerComp, _super);\n function HeaderRowContainerComp(pinned) {\n var _this = _super.call(this) || this;\n _this.headerRowComps = {};\n _this.rowCompsList = [];\n _this.pinned = pinned;\n return _this;\n }\n HeaderRowContainerComp.prototype.init = function () {\n var _this = this;\n this.selectAndSetTemplate();\n var compProxy = {\n addOrRemoveCssClass: function (cssClassName, on) { return _this.addOrRemoveCssClass(cssClassName, on); },\n setCtrls: function (ctrls) { return _this.setCtrls(ctrls); },\n // only gets called for center section\n setCenterWidth: function (width) { return _this.eCenterContainer.style.width = width; },\n setContainerTransform: function (transform) { return _this.eCenterContainer.style.transform = transform; },\n // only gets called for pinned sections\n setPinnedContainerWidth: function (width) {\n var eGui = _this.getGui();\n eGui.style.width = width;\n eGui.style.maxWidth = width;\n eGui.style.minWidth = width;\n }\n };\n var ctrl = this.createManagedBean(new HeaderRowContainerCtrl(this.pinned));\n ctrl.setComp(compProxy, this.getGui());\n };\n HeaderRowContainerComp.prototype.selectAndSetTemplate = function () {\n var pinnedLeft = this.pinned == Constants.PINNED_LEFT;\n var pinnedRight = this.pinned == Constants.PINNED_RIGHT;\n var template = pinnedLeft ? HeaderRowContainerComp.PINNED_LEFT_TEMPLATE :\n pinnedRight ? HeaderRowContainerComp.PINNED_RIGHT_TEMPLATE : HeaderRowContainerComp.CENTER_TEMPLATE;\n this.setTemplate(template);\n // for left and right, we add rows directly to the root element,\n // but for center container we add elements to the child container.\n this.eRowContainer = this.eCenterContainer ? this.eCenterContainer : this.getGui();\n };\n HeaderRowContainerComp.prototype.destroyRowComps = function () {\n this.setCtrls([]);\n };\n HeaderRowContainerComp.prototype.destroyRowComp = function (rowComp) {\n this.destroyBean(rowComp);\n this.eRowContainer.removeChild(rowComp.getGui());\n };\n HeaderRowContainerComp.prototype.setCtrls = function (ctrls) {\n var _this = this;\n var oldRowComps = this.headerRowComps;\n this.headerRowComps = {};\n this.rowCompsList = [];\n var prevGui;\n var appendEnsuringDomOrder = function (rowComp) {\n var eGui = rowComp.getGui();\n var notAlreadyIn = eGui.parentElement != _this.eRowContainer;\n if (notAlreadyIn) {\n _this.eRowContainer.appendChild(eGui);\n }\n if (prevGui) {\n ensureDomOrder(_this.eRowContainer, eGui, prevGui);\n }\n prevGui = eGui;\n };\n ctrls.forEach(function (ctrl) {\n var ctrlId = ctrl.getInstanceId();\n var existingComp = oldRowComps[ctrlId];\n delete oldRowComps[ctrlId];\n var rowComp = existingComp ? existingComp : _this.createBean(new HeaderRowComp(ctrl));\n _this.headerRowComps[ctrlId] = rowComp;\n _this.rowCompsList.push(rowComp);\n appendEnsuringDomOrder(rowComp);\n });\n getAllValuesInObject(oldRowComps).forEach(function (c) { return _this.destroyRowComp(c); });\n };\n HeaderRowContainerComp.PINNED_LEFT_TEMPLATE = \"
\";\n HeaderRowContainerComp.PINNED_RIGHT_TEMPLATE = \"
\";\n HeaderRowContainerComp.CENTER_TEMPLATE = \"
\\n
\\n
\";\n __decorate$1k([\n RefSelector('eCenterContainer')\n ], HeaderRowContainerComp.prototype, \"eCenterContainer\", void 0);\n __decorate$1k([\n PostConstruct\n ], HeaderRowContainerComp.prototype, \"init\", null);\n __decorate$1k([\n PreDestroy\n ], HeaderRowContainerComp.prototype, \"destroyRowComps\", null);\n return HeaderRowContainerComp;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1y = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1l = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n(function (HeaderNavigationDirection) {\n HeaderNavigationDirection[HeaderNavigationDirection[\"UP\"] = 0] = \"UP\";\n HeaderNavigationDirection[HeaderNavigationDirection[\"DOWN\"] = 1] = \"DOWN\";\n HeaderNavigationDirection[HeaderNavigationDirection[\"LEFT\"] = 2] = \"LEFT\";\n HeaderNavigationDirection[HeaderNavigationDirection[\"RIGHT\"] = 3] = \"RIGHT\";\n})(exports.HeaderNavigationDirection || (exports.HeaderNavigationDirection = {}));\nvar HeaderNavigationService = /** @class */ (function (_super) {\n __extends$1y(HeaderNavigationService, _super);\n function HeaderNavigationService() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n HeaderNavigationService.prototype.postConstruct = function () {\n var _this = this;\n this.ctrlsService.whenReady(function (p) {\n _this.gridBodyCon = p.gridBodyCtrl;\n });\n };\n HeaderNavigationService.prototype.getHeaderRowCount = function () {\n var centerHeaderContainer = this.ctrlsService.getHeaderRowContainerCtrl();\n return centerHeaderContainer ? centerHeaderContainer.getRowCount() : 0;\n };\n HeaderNavigationService.prototype.getHeaderRowType = function (rowIndex) {\n var centerHeaderContainer = this.ctrlsService.getHeaderRowContainerCtrl();\n if (centerHeaderContainer) {\n return centerHeaderContainer.getRowType(rowIndex);\n }\n };\n /*\n * This method navigates grid header vertically\n * @return {boolean} true to preventDefault on the event that caused this navigation.\n */\n HeaderNavigationService.prototype.navigateVertically = function (direction, fromHeader, event) {\n if (!fromHeader) {\n fromHeader = this.focusService.getFocusedHeader();\n }\n if (!fromHeader) {\n return false;\n }\n var headerRowIndex = fromHeader.headerRowIndex, column = fromHeader.column;\n var rowLen = this.getHeaderRowCount();\n var isUp = direction === exports.HeaderNavigationDirection.UP;\n var nextRow = isUp ? headerRowIndex - 1 : headerRowIndex + 1;\n var nextFocusColumn = null;\n var skipColumn = false;\n if (nextRow < 0) {\n nextRow = 0;\n nextFocusColumn = column;\n skipColumn = true;\n }\n if (nextRow >= rowLen) {\n nextRow = -1; // -1 indicates the focus should move to grid rows.\n }\n var currentRowType = this.getHeaderRowType(headerRowIndex);\n if (!skipColumn) {\n if (currentRowType === exports.HeaderRowType.COLUMN_GROUP) {\n var currentColumn = column;\n nextFocusColumn = isUp ? column.getParent() : currentColumn.getDisplayedChildren()[0];\n }\n else if (currentRowType === exports.HeaderRowType.FLOATING_FILTER) {\n nextFocusColumn = column;\n }\n else {\n var currentColumn = column;\n nextFocusColumn = isUp ? currentColumn.getParent() : currentColumn;\n }\n if (!nextFocusColumn) {\n return false;\n }\n }\n return this.focusService.focusHeaderPosition({\n headerPosition: { headerRowIndex: nextRow, column: nextFocusColumn },\n allowUserOverride: true,\n event: event\n });\n };\n /*\n * This method navigates grid header horizontally\n * @return {boolean} true to preventDefault on the event that caused this navigation.\n */\n HeaderNavigationService.prototype.navigateHorizontally = function (direction, fromTab, event) {\n if (fromTab === void 0) { fromTab = false; }\n var focusedHeader = this.focusService.getFocusedHeader();\n var isLeft = direction === exports.HeaderNavigationDirection.LEFT;\n var isRtl = this.gridOptionsWrapper.isEnableRtl();\n var nextHeader;\n var normalisedDirection;\n // either navigating to the left or isRtl (cannot be both)\n if (isLeft !== isRtl) {\n normalisedDirection = 'Before';\n nextHeader = this.headerPositionUtils.findHeader(focusedHeader, normalisedDirection);\n }\n else {\n normalisedDirection = 'After';\n nextHeader = this.headerPositionUtils.findHeader(focusedHeader, normalisedDirection);\n }\n if (nextHeader) {\n return this.focusService.focusHeaderPosition({\n headerPosition: nextHeader,\n direction: normalisedDirection,\n fromTab: fromTab,\n allowUserOverride: true,\n event: event\n });\n }\n if (!fromTab) {\n return true;\n }\n return this.focusNextHeaderRow(focusedHeader, normalisedDirection, event);\n };\n HeaderNavigationService.prototype.focusNextHeaderRow = function (focusedHeader, direction, event) {\n var currentIndex = focusedHeader.headerRowIndex;\n var nextPosition = null;\n var nextRowIndex;\n if (direction === 'Before') {\n if (currentIndex > 0) {\n nextRowIndex = currentIndex - 1;\n nextPosition = this.headerPositionUtils.findColAtEdgeForHeaderRow(nextRowIndex, 'end');\n }\n }\n else {\n nextRowIndex = currentIndex + 1;\n nextPosition = this.headerPositionUtils.findColAtEdgeForHeaderRow(nextRowIndex, 'start');\n }\n return this.focusService.focusHeaderPosition({\n headerPosition: nextPosition,\n direction: direction,\n fromTab: true,\n allowUserOverride: true,\n event: event\n });\n };\n HeaderNavigationService.prototype.scrollToColumn = function (column, direction) {\n if (direction === void 0) { direction = 'After'; }\n if (column.getPinned()) {\n return;\n }\n var columnToScrollTo;\n if (column instanceof ColumnGroup) {\n var columns = column.getDisplayedLeafColumns();\n columnToScrollTo = direction === 'Before' ? last(columns) : columns[0];\n }\n else {\n columnToScrollTo = column;\n }\n this.gridBodyCon.getScrollFeature().ensureColumnVisible(columnToScrollTo);\n // need to nudge the scrolls for the floating items. otherwise when we set focus on a non-visible\n // floating cell, the scrolls get out of sync\n this.gridBodyCon.getScrollFeature().horizontallyScrollHeaderCenterAndFloatingCenter();\n // need to flush frames, to make sure the correct cells are rendered\n this.animationFrameService.flushAllFrames();\n };\n __decorate$1l([\n Autowired('focusService')\n ], HeaderNavigationService.prototype, \"focusService\", void 0);\n __decorate$1l([\n Autowired('headerPositionUtils')\n ], HeaderNavigationService.prototype, \"headerPositionUtils\", void 0);\n __decorate$1l([\n Autowired('animationFrameService')\n ], HeaderNavigationService.prototype, \"animationFrameService\", void 0);\n __decorate$1l([\n Autowired('ctrlsService')\n ], HeaderNavigationService.prototype, \"ctrlsService\", void 0);\n __decorate$1l([\n PostConstruct\n ], HeaderNavigationService.prototype, \"postConstruct\", null);\n HeaderNavigationService = __decorate$1l([\n Bean('headerNavigationService')\n ], HeaderNavigationService);\n return HeaderNavigationService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1z = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1m = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar GridHeaderCtrl = /** @class */ (function (_super) {\n __extends$1z(GridHeaderCtrl, _super);\n function GridHeaderCtrl() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n GridHeaderCtrl.prototype.setComp = function (comp, eGui, eFocusableElement) {\n this.comp = comp;\n this.eGui = eGui;\n this.createManagedBean(new ManagedFocusFeature(eFocusableElement, {\n onTabKeyDown: this.onTabKeyDown.bind(this),\n handleKeyDown: this.handleKeyDown.bind(this),\n onFocusOut: this.onFocusOut.bind(this)\n }));\n // for setting ag-pivot-on / ag-pivot-off CSS classes\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_PIVOT_MODE_CHANGED, this.onPivotModeChanged.bind(this));\n this.onPivotModeChanged();\n this.setupHeaderHeight();\n this.ctrlsService.registerGridHeaderCtrl(this);\n };\n GridHeaderCtrl.prototype.setupHeaderHeight = function () {\n var listener = this.setHeaderHeight.bind(this);\n listener();\n this.addManagedListener(this.gridOptionsWrapper, GridOptionsWrapper.PROP_HEADER_HEIGHT, listener);\n this.addManagedListener(this.gridOptionsWrapper, GridOptionsWrapper.PROP_PIVOT_HEADER_HEIGHT, listener);\n this.addManagedListener(this.gridOptionsWrapper, GridOptionsWrapper.PROP_GROUP_HEADER_HEIGHT, listener);\n this.addManagedListener(this.gridOptionsWrapper, GridOptionsWrapper.PROP_PIVOT_GROUP_HEADER_HEIGHT, listener);\n this.addManagedListener(this.gridOptionsWrapper, GridOptionsWrapper.PROP_FLOATING_FILTERS_HEIGHT, listener);\n this.addManagedListener(this.eventService, Events.EVENT_DISPLAYED_COLUMNS_CHANGED, listener);\n };\n GridHeaderCtrl.prototype.setHeaderHeight = function () {\n var _a = this, columnModel = _a.columnModel, gridOptionsWrapper = _a.gridOptionsWrapper;\n var numberOfFloating = 0;\n var headerRowCount = columnModel.getHeaderRowCount();\n var totalHeaderHeight;\n var groupHeight;\n var headerHeight;\n var hasFloatingFilters = columnModel.hasFloatingFilters();\n if (hasFloatingFilters) {\n headerRowCount++;\n numberOfFloating = 1;\n }\n if (columnModel.isPivotMode()) {\n groupHeight = gridOptionsWrapper.getPivotGroupHeaderHeight();\n headerHeight = gridOptionsWrapper.getPivotHeaderHeight();\n }\n else {\n groupHeight = gridOptionsWrapper.getGroupHeaderHeight();\n headerHeight = gridOptionsWrapper.getHeaderHeight();\n }\n var numberOfNonGroups = 1 + numberOfFloating;\n var numberOfGroups = headerRowCount - numberOfNonGroups;\n totalHeaderHeight = numberOfFloating * gridOptionsWrapper.getFloatingFiltersHeight();\n totalHeaderHeight += numberOfGroups * groupHeight;\n totalHeaderHeight += headerHeight;\n // one extra pixel is needed here to account for the\n // height of the border\n var px = totalHeaderHeight + 1 + \"px\";\n this.comp.setHeightAndMinHeight(px);\n };\n GridHeaderCtrl.prototype.onPivotModeChanged = function () {\n var pivotMode = this.columnModel.isPivotMode();\n this.comp.addOrRemoveCssClass('ag-pivot-on', pivotMode);\n this.comp.addOrRemoveCssClass('ag-pivot-off', !pivotMode);\n };\n GridHeaderCtrl.prototype.onTabKeyDown = function (e) {\n var isRtl = this.gridOptionsWrapper.isEnableRtl();\n var direction = e.shiftKey !== isRtl\n ? exports.HeaderNavigationDirection.LEFT\n : exports.HeaderNavigationDirection.RIGHT;\n if (this.headerNavigationService.navigateHorizontally(direction, true, e) ||\n this.focusService.focusNextGridCoreContainer(e.shiftKey)) {\n e.preventDefault();\n }\n };\n GridHeaderCtrl.prototype.handleKeyDown = function (e) {\n var direction = null;\n switch (e.key) {\n case KeyCode.LEFT:\n direction = exports.HeaderNavigationDirection.LEFT;\n case KeyCode.RIGHT:\n if (!exists(direction)) {\n direction = exports.HeaderNavigationDirection.RIGHT;\n }\n this.headerNavigationService.navigateHorizontally(direction, false, e);\n break;\n case KeyCode.UP:\n direction = exports.HeaderNavigationDirection.UP;\n case KeyCode.DOWN:\n if (!exists(direction)) {\n direction = exports.HeaderNavigationDirection.DOWN;\n }\n if (this.headerNavigationService.navigateVertically(direction, null, e)) {\n e.preventDefault();\n }\n break;\n default:\n return;\n }\n };\n GridHeaderCtrl.prototype.onFocusOut = function (e) {\n var eDocument = this.gridOptionsWrapper.getDocument();\n var relatedTarget = e.relatedTarget;\n if (!relatedTarget && this.eGui.contains(eDocument.activeElement)) {\n return;\n }\n if (!this.eGui.contains(relatedTarget)) {\n this.focusService.clearFocusedHeader();\n }\n };\n __decorate$1m([\n Autowired('headerNavigationService')\n ], GridHeaderCtrl.prototype, \"headerNavigationService\", void 0);\n __decorate$1m([\n Autowired('focusService')\n ], GridHeaderCtrl.prototype, \"focusService\", void 0);\n __decorate$1m([\n Autowired('columnModel')\n ], GridHeaderCtrl.prototype, \"columnModel\", void 0);\n __decorate$1m([\n Autowired('ctrlsService')\n ], GridHeaderCtrl.prototype, \"ctrlsService\", void 0);\n return GridHeaderCtrl;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1A = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1n = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar GridHeaderComp = /** @class */ (function (_super) {\n __extends$1A(GridHeaderComp, _super);\n function GridHeaderComp() {\n return _super.call(this, GridHeaderComp.TEMPLATE) || this;\n }\n GridHeaderComp.prototype.postConstruct = function () {\n var _this = this;\n var compProxy = {\n addOrRemoveCssClass: function (cssClassName, on) { return _this.addOrRemoveCssClass(cssClassName, on); },\n setHeightAndMinHeight: function (height) {\n _this.getGui().style.height = height;\n _this.getGui().style.minHeight = height;\n }\n };\n var ctrl = this.createManagedBean(new GridHeaderCtrl());\n ctrl.setComp(compProxy, this.getGui(), this.getFocusableElement());\n var addContainer = function (container) {\n _this.createManagedBean(container);\n _this.appendChild(container);\n };\n addContainer(new HeaderRowContainerComp(Constants.PINNED_LEFT));\n addContainer(new HeaderRowContainerComp(null));\n addContainer(new HeaderRowContainerComp(Constants.PINNED_RIGHT));\n };\n GridHeaderComp.TEMPLATE = \"
\";\n __decorate$1n([\n PostConstruct\n ], GridHeaderComp.prototype, \"postConstruct\", null);\n return GridHeaderComp;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1B = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1o = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar HorizontalResizeService = /** @class */ (function (_super) {\n __extends$1B(HorizontalResizeService, _super);\n function HorizontalResizeService() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n HorizontalResizeService.prototype.addResizeBar = function (params) {\n var _this = this;\n var dragSource = {\n dragStartPixels: params.dragStartPixels || 0,\n eElement: params.eResizeBar,\n onDragStart: this.onDragStart.bind(this, params),\n onDragStop: this.onDragStop.bind(this, params),\n onDragging: this.onDragging.bind(this, params)\n };\n this.dragService.addDragSource(dragSource, true);\n // we pass remove func back to the caller, so call can tell us when they\n // are finished, and then we remove the listener from the drag source\n var finishedWithResizeFunc = function () { return _this.dragService.removeDragSource(dragSource); };\n return finishedWithResizeFunc;\n };\n HorizontalResizeService.prototype.onDragStart = function (params, mouseEvent) {\n this.dragStartX = mouseEvent.clientX;\n this.setResizeIcons();\n var shiftKey = mouseEvent instanceof MouseEvent && mouseEvent.shiftKey === true;\n params.onResizeStart(shiftKey);\n };\n HorizontalResizeService.prototype.setResizeIcons = function () {\n var ctrl = this.ctrlsService.getGridCtrl();\n // change the body cursor, so when drag moves out of the drag bar, the cursor is still 'resize' (or 'move'\n ctrl.setResizeCursor(true);\n // we don't want text selection outside the grid (otherwise it looks weird as text highlights when we move)\n ctrl.disableUserSelect(true);\n };\n HorizontalResizeService.prototype.onDragStop = function (params, mouseEvent) {\n params.onResizeEnd(this.resizeAmount);\n this.resetIcons();\n };\n HorizontalResizeService.prototype.resetIcons = function () {\n var ctrl = this.ctrlsService.getGridCtrl();\n ctrl.setResizeCursor(false);\n ctrl.disableUserSelect(false);\n };\n HorizontalResizeService.prototype.onDragging = function (params, mouseEvent) {\n this.resizeAmount = mouseEvent.clientX - this.dragStartX;\n params.onResizing(this.resizeAmount);\n };\n __decorate$1o([\n Autowired('dragService')\n ], HorizontalResizeService.prototype, \"dragService\", void 0);\n __decorate$1o([\n Autowired('ctrlsService')\n ], HorizontalResizeService.prototype, \"ctrlsService\", void 0);\n HorizontalResizeService = __decorate$1o([\n Bean('horizontalResizeService')\n ], HorizontalResizeService);\n return HorizontalResizeService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1C = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1p = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar StandardMenuFactory = /** @class */ (function (_super) {\n __extends$1C(StandardMenuFactory, _super);\n function StandardMenuFactory() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n StandardMenuFactory.prototype.hideActiveMenu = function () {\n if (this.hidePopup) {\n this.hidePopup();\n }\n };\n StandardMenuFactory.prototype.showMenuAfterMouseEvent = function (column, mouseEvent) {\n var _this = this;\n this.showPopup(column, function (eMenu) {\n _this.popupService.positionPopupUnderMouseEvent({\n column: column,\n type: 'columnMenu',\n mouseEvent: mouseEvent,\n ePopup: eMenu\n });\n }, mouseEvent.target);\n };\n StandardMenuFactory.prototype.showMenuAfterButtonClick = function (column, eventSource, containerType) {\n var _this = this;\n this.showPopup(column, function (eMenu) {\n _this.popupService.positionPopupUnderComponent({\n type: containerType,\n eventSource: eventSource,\n ePopup: eMenu,\n keepWithinBounds: true,\n column: column\n });\n }, eventSource);\n };\n StandardMenuFactory.prototype.showPopup = function (column, positionCallback, eventSource) {\n var _this = this;\n var filterWrapper = this.filterManager.getOrCreateFilterWrapper(column, 'COLUMN_MENU');\n if (!filterWrapper) {\n throw new Error('AG Grid - unable to show popup filter, filter instantiation failed');\n }\n var eMenu = document.createElement('div');\n setAriaRole(eMenu, 'presentation');\n eMenu.classList.add('ag-menu');\n this.tabListener = this.addManagedListener(eMenu, 'keydown', function (e) { return _this.trapFocusWithin(e, eMenu); });\n filterWrapper.guiPromise.then(function (gui) { return eMenu.appendChild(gui); });\n var hidePopup;\n var anchorToElement = eventSource || this.ctrlsService.getGridBodyCtrl().getGui();\n var closedCallback = function (e) {\n column.setMenuVisible(false, 'contextMenu');\n var isKeyboardEvent = e instanceof KeyboardEvent;\n if (_this.tabListener) {\n _this.tabListener = _this.tabListener();\n }\n if (isKeyboardEvent && eventSource && isVisible(eventSource)) {\n var focusableEl = _this.focusService.findTabbableParent(eventSource);\n if (focusableEl) {\n focusableEl.focus();\n }\n }\n };\n var translate = this.gridOptionsWrapper.getLocaleTextFunc();\n var addPopupRes = this.popupService.addPopup({\n modal: true,\n eChild: eMenu,\n closeOnEsc: true,\n closedCallback: closedCallback,\n positionCallback: function () { return positionCallback(eMenu); },\n anchorToElement: anchorToElement,\n ariaLabel: translate('ariaLabelColumnMenu', 'Column Menu')\n });\n if (addPopupRes) {\n this.hidePopup = hidePopup = addPopupRes.hideFunc;\n }\n filterWrapper.filterPromise.then(function (filter) {\n // need to make sure the filter is present before positioning, as only\n // after filter it is visible can we find out what the width of it is\n positionCallback(eMenu);\n if (filter.afterGuiAttached) {\n filter.afterGuiAttached({ container: 'columnMenu', hidePopup: hidePopup });\n }\n });\n column.setMenuVisible(true, 'contextMenu');\n };\n StandardMenuFactory.prototype.trapFocusWithin = function (e, menu) {\n if (e.key !== KeyCode.TAB ||\n e.defaultPrevented ||\n this.focusService.findNextFocusableElement(menu, false, e.shiftKey)) {\n return;\n }\n e.preventDefault();\n this.focusService.focusInto(menu, e.shiftKey);\n };\n StandardMenuFactory.prototype.isMenuEnabled = function (column) {\n // for standard, we show menu if filter is enabled, and the menu is not suppressed\n return column.isFilterAllowed();\n };\n __decorate$1p([\n Autowired('filterManager')\n ], StandardMenuFactory.prototype, \"filterManager\", void 0);\n __decorate$1p([\n Autowired('popupService')\n ], StandardMenuFactory.prototype, \"popupService\", void 0);\n __decorate$1p([\n Autowired('focusService')\n ], StandardMenuFactory.prototype, \"focusService\", void 0);\n __decorate$1p([\n Autowired('ctrlsService')\n ], StandardMenuFactory.prototype, \"ctrlsService\", void 0);\n StandardMenuFactory = __decorate$1p([\n Bean('menuFactory')\n ], StandardMenuFactory);\n return StandardMenuFactory;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1D = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1q = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar TabbedLayout = /** @class */ (function (_super) {\n __extends$1D(TabbedLayout, _super);\n function TabbedLayout(params) {\n var _this = _super.call(this, TabbedLayout.getTemplate(params.cssClass)) || this;\n _this.items = [];\n _this.tabbedItemScrollMap = new Map();\n _this.params = params;\n if (params.items) {\n params.items.forEach(function (item) { return _this.addItem(item); });\n }\n return _this;\n }\n TabbedLayout.prototype.postConstruct = function () {\n this.createManagedBean(new ManagedFocusFeature(this.getFocusableElement(), {\n onTabKeyDown: this.onTabKeyDown.bind(this),\n handleKeyDown: this.handleKeyDown.bind(this)\n }));\n };\n TabbedLayout.getTemplate = function (cssClass) {\n return /* html */ \"
\\n
\\n
\\n
\";\n };\n TabbedLayout.prototype.handleKeyDown = function (e) {\n var eDocument = this.gridOptionsWrapper.getDocument();\n switch (e.key) {\n case KeyCode.RIGHT:\n case KeyCode.LEFT:\n if (!this.eHeader.contains(eDocument.activeElement)) {\n return;\n }\n var currentPosition = this.items.indexOf(this.activeItem);\n var nextPosition = e.key === KeyCode.RIGHT ? Math.min(currentPosition + 1, this.items.length - 1) : Math.max(currentPosition - 1, 0);\n if (currentPosition === nextPosition) {\n return;\n }\n e.preventDefault();\n var nextItem = this.items[nextPosition];\n this.showItemWrapper(nextItem);\n nextItem.eHeaderButton.focus();\n break;\n case KeyCode.UP:\n case KeyCode.DOWN:\n e.stopPropagation();\n break;\n }\n };\n TabbedLayout.prototype.onTabKeyDown = function (e) {\n if (e.defaultPrevented) {\n return;\n }\n var _a = this, focusService = _a.focusService, eHeader = _a.eHeader, eBody = _a.eBody, activeItem = _a.activeItem;\n var eDocument = this.gridOptionsWrapper.getDocument();\n var activeElement = eDocument.activeElement;\n e.preventDefault();\n if (eHeader.contains(activeElement)) {\n // focus is in header, move into body of popup\n focusService.focusInto(eBody, e.shiftKey);\n }\n else {\n // focus is in body, establish if it should return to header\n if (focusService.isFocusUnderManagedComponent(eBody)) {\n // focus was in a managed focus component and has now left, so we can return to the header\n activeItem.eHeaderButton.focus();\n }\n else {\n var nextEl = focusService.findNextFocusableElement(eBody, false, e.shiftKey);\n if (nextEl) {\n // if another element exists in the body that can be focussed, go to that\n nextEl.focus();\n }\n else {\n // otherwise return to the header\n activeItem.eHeaderButton.focus();\n }\n }\n }\n };\n TabbedLayout.prototype.setAfterAttachedParams = function (params) {\n this.afterAttachedParams = params;\n };\n TabbedLayout.prototype.showFirstItem = function () {\n if (this.items.length > 0) {\n this.showItemWrapper(this.items[0]);\n }\n };\n TabbedLayout.prototype.addItem = function (item) {\n var eHeaderButton = document.createElement('span');\n setAriaRole(eHeaderButton, 'tab');\n eHeaderButton.setAttribute('tabIndex', '-1');\n eHeaderButton.appendChild(item.title);\n eHeaderButton.classList.add('ag-tab');\n this.eHeader.appendChild(eHeaderButton);\n setAriaLabel(eHeaderButton, item.titleLabel);\n var wrapper = {\n tabbedItem: item,\n eHeaderButton: eHeaderButton\n };\n this.items.push(wrapper);\n eHeaderButton.addEventListener('click', this.showItemWrapper.bind(this, wrapper));\n };\n TabbedLayout.prototype.showItem = function (tabbedItem) {\n var itemWrapper = this.items.find(function (wrapper) { return wrapper.tabbedItem === tabbedItem; });\n if (itemWrapper) {\n this.showItemWrapper(itemWrapper);\n }\n };\n TabbedLayout.prototype.showItemWrapper = function (wrapper) {\n var _this = this;\n var tabbedItem = wrapper.tabbedItem, eHeaderButton = wrapper.eHeaderButton;\n if (this.params.onItemClicked) {\n this.params.onItemClicked({ item: tabbedItem });\n }\n if (this.activeItem === wrapper) {\n callIfPresent(this.params.onActiveItemClicked);\n return;\n }\n if (this.lastScrollListener) {\n this.lastScrollListener = this.lastScrollListener();\n }\n clearElement(this.eBody);\n tabbedItem.bodyPromise.then(function (body) {\n _this.eBody.appendChild(body);\n var onlyUnmanaged = !_this.focusService.isKeyboardMode();\n _this.focusService.focusInto(_this.eBody, false, onlyUnmanaged);\n if (tabbedItem.afterAttachedCallback) {\n tabbedItem.afterAttachedCallback(_this.afterAttachedParams);\n }\n if (_this.params.keepScrollPosition) {\n var scrollableContainer_1 = (tabbedItem.getScrollableContainer && tabbedItem.getScrollableContainer()) || body;\n _this.lastScrollListener = _this.addManagedListener(scrollableContainer_1, 'scroll', function () {\n _this.tabbedItemScrollMap.set(tabbedItem.name, scrollableContainer_1.scrollTop);\n });\n var scrollPosition_1 = _this.tabbedItemScrollMap.get(tabbedItem.name);\n if (scrollPosition_1 !== undefined) {\n // Safari needs a small timeout or it will fire a scroll event to position 0\n setTimeout(function () {\n scrollableContainer_1.scrollTop = scrollPosition_1;\n }, 0);\n }\n }\n });\n if (this.activeItem) {\n this.activeItem.eHeaderButton.classList.remove('ag-tab-selected');\n }\n eHeaderButton.classList.add('ag-tab-selected');\n this.activeItem = wrapper;\n };\n __decorate$1q([\n Autowired('focusService')\n ], TabbedLayout.prototype, \"focusService\", void 0);\n __decorate$1q([\n RefSelector('eHeader')\n ], TabbedLayout.prototype, \"eHeader\", void 0);\n __decorate$1q([\n RefSelector('eBody')\n ], TabbedLayout.prototype, \"eBody\", void 0);\n __decorate$1q([\n PostConstruct\n ], TabbedLayout.prototype, \"postConstruct\", null);\n return TabbedLayout;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\n/**\n * @deprecated\n */\nfunction simpleHttpRequest(params) {\n return new AgPromise(function (resolve) {\n var httpRequest = new XMLHttpRequest();\n httpRequest.open('GET', params.url);\n httpRequest.send();\n httpRequest.onreadystatechange = function () {\n if (httpRequest.readyState === 4 && httpRequest.status === 200) {\n resolve(JSON.parse(httpRequest.responseText));\n }\n };\n });\n}\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1E = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1r = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar DEBOUNCE_DELAY = 50;\nvar ResizeObserverService = /** @class */ (function (_super) {\n __extends$1E(ResizeObserverService, _super);\n function ResizeObserverService() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.polyfillFunctions = [];\n return _this;\n }\n ResizeObserverService.prototype.observeResize = function (element, callback) {\n var _this = this;\n var eDocument = this.gridOptionsWrapper.getDocument();\n var win = (eDocument.defaultView || window);\n // this gets fired too often and might cause some relayout issues\n // so we add a debounce to the callback here to avoid the flashing effect.\n var debouncedCallback = debounce(callback, DEBOUNCE_DELAY);\n var useBrowserResizeObserver = function () {\n var resizeObserver = new win.ResizeObserver(debouncedCallback);\n resizeObserver.observe(element);\n return function () { return resizeObserver.disconnect(); };\n };\n var usePolyfill = function () {\n // initialise to the current width and height, so first call will have no changes\n var widthLastTime = offsetWidth(element);\n var heightLastTime = offsetHeight(element);\n // when finished, this gets turned to false.\n var running = true;\n var periodicallyCheckWidthAndHeight = function () {\n if (running) {\n var newWidth = offsetWidth(element);\n var newHeight = offsetHeight(element);\n var changed = newWidth !== widthLastTime || newHeight !== heightLastTime;\n if (changed) {\n widthLastTime = newWidth;\n heightLastTime = newHeight;\n callback();\n }\n _this.doNextPolyfillTurn(periodicallyCheckWidthAndHeight);\n }\n };\n periodicallyCheckWidthAndHeight();\n // the callback function we return sets running to false\n return function () { return running = false; };\n };\n var suppressResize = this.gridOptionsWrapper.isSuppressBrowserResizeObserver();\n var resizeObserverExists = !!win.ResizeObserver;\n if (resizeObserverExists && !suppressResize) {\n return useBrowserResizeObserver();\n }\n return usePolyfill();\n };\n ResizeObserverService.prototype.doNextPolyfillTurn = function (func) {\n this.polyfillFunctions.push(func);\n this.schedulePolyfill();\n };\n ResizeObserverService.prototype.schedulePolyfill = function () {\n var _this = this;\n if (this.polyfillScheduled) {\n return;\n }\n var executeAllFuncs = function () {\n var funcs = _this.polyfillFunctions;\n // make sure set scheduled to false and clear clear array\n // before executing the funcs, as the funcs could add more funcs\n _this.polyfillScheduled = false;\n _this.polyfillFunctions = [];\n funcs.forEach(function (f) { return f(); });\n };\n this.polyfillScheduled = true;\n this.getFrameworkOverrides().setTimeout(executeAllFuncs, DEBOUNCE_DELAY);\n };\n ResizeObserverService = __decorate$1r([\n Bean('resizeObserverService')\n ], ResizeObserverService);\n return ResizeObserverService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1F = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1s = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar AnimationFrameService = /** @class */ (function (_super) {\n __extends$1F(AnimationFrameService, _super);\n function AnimationFrameService() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n // p1 and p2 are create tasks are to do with row and cell creation.\n // for them we want to execute according to row order, so we use\n // TaskItem so we know what index the item is for.\n _this.createTasksP1 = { list: [], sorted: false }; // eg drawing back-ground of rows\n _this.createTasksP2 = { list: [], sorted: false }; // eg cell renderers, adding hover functionality\n // destroy tasks are to do with row removal. they are done after row creation as the user will need to see new\n // rows first (as blank is scrolled into view), when we remove the old rows (no longer in view) is not as\n // important.\n _this.destroyTasks = [];\n _this.ticking = false;\n // we need to know direction of scroll, to build up rows in the direction of\n // the scroll. eg if user scrolls down, we extend the rows by building down.\n _this.scrollGoingDown = true;\n _this.lastScrollTop = 0;\n _this.taskCount = 0;\n _this.cancelledTasks = new Set();\n return _this;\n }\n AnimationFrameService.prototype.setScrollTop = function (scrollTop) {\n this.scrollGoingDown = scrollTop > this.lastScrollTop;\n this.lastScrollTop = scrollTop;\n };\n AnimationFrameService.prototype.init = function () {\n this.useAnimationFrame = !this.gridOptionsWrapper.isSuppressAnimationFrame();\n };\n AnimationFrameService.prototype.isOn = function () {\n return this.useAnimationFrame;\n };\n // this method is for our AG Grid sanity only - if animation frames are turned off,\n // then no place in the code should be looking to add any work to be done in animation\n // frames. this stops bugs - where some code is asking for a frame to be executed\n // when it should not.\n AnimationFrameService.prototype.verifyAnimationFrameOn = function (methodName) {\n if (this.useAnimationFrame === false) {\n console.warn(\"AG Grid: AnimationFrameService.\" + methodName + \" called but animation frames are off\");\n }\n };\n AnimationFrameService.prototype.createTask = function (task, index, list) {\n this.verifyAnimationFrameOn(list);\n var taskItem = { task: task, index: index, createOrder: ++this.taskCount };\n this.addTaskToList(this[list], taskItem);\n this.schedule();\n };\n AnimationFrameService.prototype.cancelTask = function (task) {\n this.cancelledTasks.add(task);\n };\n AnimationFrameService.prototype.addTaskToList = function (taskList, task) {\n taskList.list.push(task);\n taskList.sorted = false;\n };\n AnimationFrameService.prototype.sortTaskList = function (taskList) {\n if (taskList.sorted) {\n return;\n }\n var sortDirection = this.scrollGoingDown ? 1 : -1;\n // sort first by row index (taking into account scroll direction), then by\n // order of task creation (always ascending, so cells will render left-to-right)\n taskList.list.sort(function (a, b) { return a.index !== b.index ? sortDirection * (b.index - a.index) : b.createOrder - a.createOrder; });\n taskList.sorted = true;\n };\n AnimationFrameService.prototype.addDestroyTask = function (task) {\n this.verifyAnimationFrameOn('createTasksP3');\n this.destroyTasks.push(task);\n this.schedule();\n };\n AnimationFrameService.prototype.executeFrame = function (millis) {\n this.verifyAnimationFrameOn('executeFrame');\n var p1TaskList = this.createTasksP1;\n var p1Tasks = p1TaskList.list;\n var p2TaskList = this.createTasksP2;\n var p2Tasks = p2TaskList.list;\n var destroyTasks = this.destroyTasks;\n var frameStart = new Date().getTime();\n var duration = (new Date().getTime()) - frameStart;\n // 16ms is 60 fps\n var noMaxMillis = millis <= 0;\n var gridBodyCon = this.ctrlsService.getGridBodyCtrl();\n while (noMaxMillis || duration < millis) {\n var gridBodyDidSomething = gridBodyCon.getScrollFeature().executeAnimationFrameScroll();\n if (!gridBodyDidSomething) {\n var task = void 0;\n if (p1Tasks.length) {\n this.sortTaskList(p1TaskList);\n task = p1Tasks.pop().task;\n }\n else if (p2Tasks.length) {\n this.sortTaskList(p2TaskList);\n task = p2Tasks.pop().task;\n }\n else if (destroyTasks.length) {\n task = destroyTasks.pop();\n }\n else {\n this.cancelledTasks.clear();\n break;\n }\n if (!this.cancelledTasks.has(task)) {\n task();\n }\n }\n duration = (new Date().getTime()) - frameStart;\n }\n if (p1Tasks.length || p2Tasks.length || destroyTasks.length) {\n this.requestFrame();\n }\n else {\n this.stopTicking();\n }\n };\n AnimationFrameService.prototype.stopTicking = function () {\n this.ticking = false;\n };\n AnimationFrameService.prototype.flushAllFrames = function () {\n if (!this.useAnimationFrame) {\n return;\n }\n this.executeFrame(-1);\n };\n AnimationFrameService.prototype.schedule = function () {\n if (!this.useAnimationFrame) {\n return;\n }\n if (!this.ticking) {\n this.ticking = true;\n this.requestFrame();\n }\n };\n AnimationFrameService.prototype.requestFrame = function () {\n // check for the existence of requestAnimationFrame, and if\n // it's missing, then we polyfill it with setTimeout()\n var callback = this.executeFrame.bind(this, 60);\n var eDocument = this.gridOptionsWrapper.getDocument();\n var win = (eDocument.defaultView || window);\n if (win.requestAnimationFrame) {\n win.requestAnimationFrame(callback);\n }\n else if (win.webkitRequestAnimationFrame) {\n win.webkitRequestAnimationFrame(callback);\n }\n else {\n win.setTimeout(callback, 0);\n }\n };\n AnimationFrameService.prototype.isQueueEmpty = function () {\n return !this.ticking;\n };\n // a debounce utility used for parts of the app involved with rendering.\n // the advantage over normal debounce is the client can call flushAllFrames()\n // to make sure all rendering is complete. we don't wait any milliseconds,\n // as this is intended to batch calls in one VM turn.\n AnimationFrameService.prototype.debounce = function (func) {\n var _this = this;\n var pending = false;\n return function () {\n if (!_this.isOn()) {\n _this.getFrameworkOverrides().setTimeout(func, 0);\n return;\n }\n if (pending) {\n return;\n }\n pending = true;\n _this.addDestroyTask(function () {\n pending = false;\n func();\n });\n };\n };\n __decorate$1s([\n Autowired('ctrlsService')\n ], AnimationFrameService.prototype, \"ctrlsService\", void 0);\n __decorate$1s([\n PostConstruct\n ], AnimationFrameService.prototype, \"init\", null);\n AnimationFrameService = __decorate$1s([\n Bean('animationFrameService')\n ], AnimationFrameService);\n return AnimationFrameService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1G = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1t = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar RESIZE_CONTAINER_STYLE = 'ag-resizer-wrapper';\nvar RESIZE_TEMPLATE = /* html */ \"
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\";\nvar PositionableFeature = /** @class */ (function (_super) {\n __extends$1G(PositionableFeature, _super);\n function PositionableFeature(element, config) {\n var _this = _super.call(this) || this;\n _this.element = element;\n _this.dragStartPosition = {\n x: 0,\n y: 0\n };\n _this.position = {\n x: 0,\n y: 0\n };\n _this.lastSize = {\n width: -1,\n height: -1\n };\n _this.positioned = false;\n _this.resizersAdded = false;\n _this.resizeListeners = [];\n _this.boundaryEl = null;\n _this.isResizing = false;\n _this.isMoving = false;\n _this.resizable = {};\n _this.movable = false;\n _this.currentResizer = null;\n _this.config = Object.assign({}, { popup: false }, config);\n return _this;\n }\n PositionableFeature.prototype.center = function () {\n var _a = this.offsetParent, clientHeight = _a.clientHeight, clientWidth = _a.clientWidth;\n var x = (clientWidth / 2) - (this.getWidth() / 2);\n var y = (clientHeight / 2) - (this.getHeight() / 2);\n this.offsetElement(x, y);\n };\n PositionableFeature.prototype.initialisePosition = function () {\n var _a = this.config, centered = _a.centered, forcePopupParentAsOffsetParent = _a.forcePopupParentAsOffsetParent, minWidth = _a.minWidth, width = _a.width, minHeight = _a.minHeight, height = _a.height, x = _a.x, y = _a.y;\n if (!this.offsetParent) {\n this.setOffsetParent();\n }\n var computedMinHeight = 0;\n var computedMinWidth = 0;\n // here we don't use the main offset parent but the element's offsetParent\n // in order to calculated the minWidth and minHeight correctly\n var isVisible = !!this.element.offsetParent;\n if (isVisible) {\n var boundaryEl = this.findBoundaryElement();\n var offsetParentComputedStyles = window.getComputedStyle(boundaryEl);\n if (offsetParentComputedStyles.minWidth != null) {\n var paddingWidth = boundaryEl.offsetWidth - this.element.offsetWidth;\n computedMinWidth = parseInt(offsetParentComputedStyles.minWidth, 10) - paddingWidth;\n }\n if (offsetParentComputedStyles.minHeight != null) {\n var paddingHeight = boundaryEl.offsetHeight - this.element.offsetHeight;\n computedMinHeight = parseInt(offsetParentComputedStyles.minHeight, 10) - paddingHeight;\n }\n }\n this.minHeight = minHeight || computedMinHeight;\n this.minWidth = minWidth || computedMinWidth;\n if (width) {\n this.setWidth(width);\n }\n if (height) {\n this.setHeight(height);\n }\n if (!width || !height) {\n this.refreshSize();\n }\n if (centered) {\n this.center();\n }\n else if (x || y) {\n this.offsetElement(x, y);\n }\n else if (isVisible && forcePopupParentAsOffsetParent && this.boundaryEl) {\n var top_1 = parseFloat(this.boundaryEl.style.top);\n var left = parseFloat(this.boundaryEl.style.left);\n this.offsetElement(isNaN(left) ? 0 : left, isNaN(top_1) ? 0 : top_1);\n }\n this.positioned = !!this.offsetParent;\n };\n PositionableFeature.prototype.isPositioned = function () {\n return this.positioned;\n };\n PositionableFeature.prototype.getPosition = function () {\n return this.position;\n };\n PositionableFeature.prototype.setMovable = function (movable, moveElement) {\n if (!this.config.popup || movable === this.movable) {\n return;\n }\n this.movable = movable;\n var params = this.moveElementDragListener || {\n eElement: moveElement,\n onDragStart: this.onMoveStart.bind(this),\n onDragging: this.onMove.bind(this),\n onDragStop: this.onMoveEnd.bind(this)\n };\n if (movable) {\n this.dragService.addDragSource(params);\n this.moveElementDragListener = params;\n }\n else {\n this.dragService.removeDragSource(params);\n this.moveElementDragListener = undefined;\n }\n };\n PositionableFeature.prototype.setResizable = function (resizable) {\n var _this = this;\n this.clearResizeListeners();\n if (resizable) {\n this.addResizers();\n }\n else {\n this.removeResizers();\n }\n if (typeof resizable === 'boolean') {\n if (resizable === false) {\n return;\n }\n resizable = {\n topLeft: resizable,\n top: resizable,\n topRight: resizable,\n right: resizable,\n bottomRight: resizable,\n bottom: resizable,\n bottomLeft: resizable,\n left: resizable\n };\n }\n Object.keys(resizable).forEach(function (side) {\n var resizableStructure = resizable;\n var val = !!resizableStructure[side];\n var resizerEl = _this.getResizerElement(side);\n var params = {\n dragStartPixels: 0,\n eElement: resizerEl,\n onDragStart: function (e) { return _this.onResizeStart(e, side); },\n onDragging: _this.onResize.bind(_this),\n onDragStop: function (e) { return _this.onResizeEnd(e, side); },\n };\n if (!!_this.resizable[side] !== val || (!_this.isAlive() && !val)) {\n if (val) {\n _this.dragService.addDragSource(params);\n _this.resizeListeners.push(params);\n resizerEl.style.pointerEvents = 'all';\n }\n else {\n resizerEl.style.pointerEvents = 'none';\n }\n }\n });\n };\n PositionableFeature.prototype.removeSizeFromEl = function () {\n this.element.style.removeProperty('height');\n this.element.style.removeProperty('width');\n this.element.style.removeProperty('flex');\n };\n PositionableFeature.prototype.restoreLastSize = function () {\n this.element.style.flex = '0 0 auto';\n var _a = this.lastSize, height = _a.height, width = _a.width;\n if (width !== -1) {\n this.element.style.width = width + \"px\";\n }\n if (height !== -1) {\n this.element.style.height = height + \"px\";\n }\n };\n PositionableFeature.prototype.getHeight = function () {\n return this.element.offsetHeight;\n };\n PositionableFeature.prototype.setHeight = function (height) {\n var popup = this.config.popup;\n var eGui = this.element;\n var isPercent = false;\n if (typeof height === 'string' && height.indexOf('%') !== -1) {\n setFixedHeight(eGui, height);\n height = getAbsoluteHeight(eGui);\n isPercent = true;\n }\n else if (this.positioned) {\n var elRect = this.element.getBoundingClientRect();\n var parentRect = this.offsetParent.getBoundingClientRect();\n height = Math.max(this.minHeight, height);\n var clientHeight = this.offsetParent.clientHeight;\n var yPosition = popup ? this.position.y : elRect.top;\n var parentTop = popup ? 0 : parentRect.top;\n if (clientHeight && (height + yPosition > clientHeight + parentTop)) {\n height = clientHeight - yPosition;\n }\n }\n if (this.getHeight() === height) {\n return;\n }\n if (!isPercent) {\n if (popup) {\n setFixedHeight(eGui, height);\n }\n else {\n eGui.style.height = height + \"px\";\n eGui.style.flex = '0 0 auto';\n this.lastSize.height = typeof height === 'number' ? height : parseFloat(height);\n }\n }\n else {\n eGui.style.maxHeight = 'unset';\n eGui.style.minHeight = 'unset';\n }\n };\n PositionableFeature.prototype.getWidth = function () {\n return this.element.offsetWidth;\n };\n PositionableFeature.prototype.setWidth = function (width) {\n var eGui = this.element;\n var popup = this.config.popup;\n var isPercent = false;\n if (typeof width === 'string' && width.indexOf('%') !== -1) {\n setFixedWidth(eGui, width);\n width = getAbsoluteWidth(eGui);\n isPercent = true;\n }\n else if (this.positioned) {\n width = Math.max(this.minWidth, width);\n var clientWidth = this.offsetParent.clientWidth;\n var xPosition = popup ? this.position.x : this.element.getBoundingClientRect().left;\n if (clientWidth && (width + xPosition > clientWidth)) {\n width = clientWidth - xPosition;\n }\n }\n if (this.getWidth() === width) {\n return;\n }\n if (!isPercent) {\n if (this.config.popup) {\n setFixedWidth(eGui, width);\n }\n else {\n eGui.style.width = width + \"px\";\n eGui.style.flex = ' unset';\n this.lastSize.width = typeof width === 'number' ? width : parseFloat(width);\n }\n }\n else {\n eGui.style.maxWidth = 'unset';\n eGui.style.minWidth = 'unset';\n }\n };\n PositionableFeature.prototype.offsetElement = function (x, y) {\n if (x === void 0) { x = 0; }\n if (y === void 0) { y = 0; }\n var ePopup = this.config.forcePopupParentAsOffsetParent ? this.boundaryEl : this.element;\n this.popupService.positionPopup({\n ePopup: ePopup,\n x: x,\n y: y,\n keepWithinBounds: true\n });\n this.setPosition(parseFloat(ePopup.style.left), parseFloat(ePopup.style.top));\n };\n PositionableFeature.prototype.setPosition = function (x, y) {\n this.position.x = x;\n this.position.y = y;\n };\n PositionableFeature.prototype.updateDragStartPosition = function (x, y) {\n this.dragStartPosition = { x: x, y: y };\n };\n PositionableFeature.prototype.calculateMouseMovement = function (params) {\n var e = params.e, isLeft = params.isLeft, isTop = params.isTop, anywhereWithin = params.anywhereWithin, topBuffer = params.topBuffer;\n var xDiff = e.clientX - this.dragStartPosition.x;\n var yDiff = e.clientY - this.dragStartPosition.y;\n var movementX = this.shouldSkipX(e, !!isLeft, !!anywhereWithin, xDiff) ? 0 : xDiff;\n var movementY = this.shouldSkipY(e, !!isTop, topBuffer, yDiff) ? 0 : yDiff;\n return { movementX: movementX, movementY: movementY };\n };\n PositionableFeature.prototype.shouldSkipX = function (e, isLeft, anywhereWithin, diff) {\n var elRect = this.element.getBoundingClientRect();\n var parentRect = this.offsetParent.getBoundingClientRect();\n var boundaryElRect = this.boundaryEl.getBoundingClientRect();\n var xPosition = this.config.popup ? this.position.x : elRect.left;\n // skip if cursor is outside of popupParent horizontally\n var skipX = ((xPosition <= 0 && parentRect.left >= e.clientX) ||\n (parentRect.right <= e.clientX && parentRect.right <= boundaryElRect.right));\n if (skipX) {\n return true;\n }\n if (isLeft) {\n skipX = (\n // skip if we are moving to the left and the cursor\n // is positioned to the right of the left side anchor\n (diff < 0 && e.clientX > xPosition + parentRect.left) ||\n // skip if we are moving to the right and the cursor\n // is positioned to the left of the dialog\n (diff > 0 && e.clientX < xPosition + parentRect.left));\n }\n else {\n if (anywhereWithin) {\n // if anywhereWithin is true, we allow to move\n // as long as the cursor is within the dialog\n skipX = ((diff < 0 && e.clientX > boundaryElRect.right) ||\n (diff > 0 && e.clientX < xPosition + parentRect.left));\n }\n else {\n skipX = (\n // if the movement is bound to the right side of the dialog\n // we skip if we are moving to the left and the cursor\n // is to the right of the dialog\n (diff < 0 && e.clientX > boundaryElRect.right) ||\n // or skip if we are moving to the right and the cursor\n // is to the left of the right side anchor\n (diff > 0 && e.clientX < boundaryElRect.right));\n }\n }\n return skipX;\n };\n PositionableFeature.prototype.shouldSkipY = function (e, isTop, topBuffer, diff) {\n if (topBuffer === void 0) { topBuffer = 0; }\n var elRect = this.element.getBoundingClientRect();\n var parentRect = this.offsetParent.getBoundingClientRect();\n var boundaryElRect = this.boundaryEl.getBoundingClientRect();\n var yPosition = this.config.popup ? this.position.y : elRect.top;\n // skip if cursor is outside of popupParent vertically\n var skipY = ((yPosition <= 0 && parentRect.top >= e.clientY) ||\n (parentRect.bottom <= e.clientY && parentRect.bottom <= boundaryElRect.bottom));\n if (skipY) {\n return true;\n }\n if (isTop) {\n skipY = (\n // skip if we are moving to towards top and the cursor is\n // below the top anchor + topBuffer\n // note: topBuffer is used when moving the dialog using the title bar\n (diff < 0 && e.clientY > yPosition + parentRect.top + topBuffer) ||\n // skip if we are moving to the bottom and the cursor is\n // above the top anchor\n (diff > 0 && e.clientY < yPosition + parentRect.top));\n }\n else {\n skipY = (\n // skip if we are moving towards the top and the cursor\n // is below the bottom anchor\n (diff < 0 && e.clientY > boundaryElRect.bottom) ||\n // skip if we are moving towards the bottom and the cursor\n // is above the bottom anchor\n (diff > 0 && e.clientY < boundaryElRect.bottom));\n }\n return skipY;\n };\n PositionableFeature.prototype.createResizeMap = function () {\n var eGui = this.element;\n this.resizerMap = {\n topLeft: { element: eGui.querySelector('[ref=eTopLeftResizer]') },\n top: { element: eGui.querySelector('[ref=eTopResizer]') },\n topRight: { element: eGui.querySelector('[ref=eTopRightResizer]') },\n right: { element: eGui.querySelector('[ref=eRightResizer]') },\n bottomRight: { element: eGui.querySelector('[ref=eBottomRightResizer]') },\n bottom: { element: eGui.querySelector('[ref=eBottomResizer]') },\n bottomLeft: { element: eGui.querySelector('[ref=eBottomLeftResizer]') },\n left: { element: eGui.querySelector('[ref=eLeftResizer]') }\n };\n };\n PositionableFeature.prototype.addResizers = function () {\n if (this.resizersAdded) {\n return;\n }\n var eGui = this.element;\n if (!eGui) {\n return;\n }\n var parser = new DOMParser();\n var resizers = parser.parseFromString(RESIZE_TEMPLATE, 'text/html').body;\n eGui.appendChild(resizers.firstChild);\n this.createResizeMap();\n this.resizersAdded = true;\n };\n PositionableFeature.prototype.removeResizers = function () {\n this.resizerMap = undefined;\n var resizerEl = this.element.querySelector(\".\" + RESIZE_CONTAINER_STYLE);\n if (resizerEl) {\n this.element.removeChild(resizerEl);\n }\n this.resizersAdded = false;\n };\n PositionableFeature.prototype.getResizerElement = function (side) {\n return this.resizerMap[side].element;\n };\n PositionableFeature.prototype.onResizeStart = function (e, side) {\n this.boundaryEl = this.findBoundaryElement();\n if (!this.positioned) {\n this.initialisePosition();\n }\n this.currentResizer = {\n isTop: !!side.match(/top/i),\n isRight: !!side.match(/right/i),\n isBottom: !!side.match(/bottom/i),\n isLeft: !!side.match(/left/i),\n };\n this.element.classList.add('ag-resizing');\n this.resizerMap[side].element.classList.add('ag-active');\n var _a = this.config, popup = _a.popup, forcePopupParentAsOffsetParent = _a.forcePopupParentAsOffsetParent;\n if (!popup && !forcePopupParentAsOffsetParent) {\n this.applySizeToSiblings(this.currentResizer.isBottom || this.currentResizer.isTop);\n }\n this.isResizing = true;\n this.updateDragStartPosition(e.clientX, e.clientY);\n };\n PositionableFeature.prototype.getSiblings = function () {\n var element = this.element;\n var parent = element.parentElement;\n if (!parent) {\n return null;\n }\n return Array.prototype.slice.call(parent.children).filter(function (el) { return !el.classList.contains('ag-hidden'); });\n };\n PositionableFeature.prototype.getMinSizeOfSiblings = function () {\n var siblings = this.getSiblings() || [];\n var height = 0;\n var width = 0;\n for (var i = 0; i < siblings.length; i++) {\n var currentEl = siblings[i];\n var isFlex = !!currentEl.style.flex && currentEl.style.flex !== '0 0 auto';\n if (currentEl === this.element) {\n continue;\n }\n var nextHeight = this.minHeight || 0;\n var nextWidth = this.minWidth || 0;\n if (isFlex) {\n var computedStyle = window.getComputedStyle(currentEl);\n if (computedStyle.minHeight) {\n nextHeight = parseInt(computedStyle.minHeight, 10);\n }\n if (computedStyle.minWidth) {\n nextWidth = parseInt(computedStyle.minWidth, 10);\n }\n }\n else {\n nextHeight = currentEl.offsetHeight;\n nextWidth = currentEl.offsetWidth;\n }\n height += nextHeight;\n width += nextWidth;\n }\n return { height: height, width: width };\n };\n PositionableFeature.prototype.applySizeToSiblings = function (vertical) {\n var containerToFlex = null;\n var siblings = this.getSiblings();\n if (!siblings) {\n return;\n }\n for (var i = 0; i < siblings.length; i++) {\n var el = siblings[i];\n if (el === containerToFlex) {\n continue;\n }\n if (vertical) {\n el.style.height = el.offsetHeight + \"px\";\n }\n else {\n el.style.width = el.offsetWidth + \"px\";\n }\n el.style.flex = '0 0 auto';\n if (el === this.element) {\n containerToFlex = siblings[i + 1];\n }\n }\n if (containerToFlex) {\n containerToFlex.style.removeProperty('height');\n containerToFlex.style.removeProperty('min-height');\n containerToFlex.style.removeProperty('max-height');\n containerToFlex.style.flex = '1 1 auto';\n }\n };\n PositionableFeature.prototype.onResize = function (e) {\n if (!this.isResizing || !this.currentResizer) {\n return;\n }\n var _a = this.config, popup = _a.popup, forcePopupParentAsOffsetParent = _a.forcePopupParentAsOffsetParent;\n var _b = this.currentResizer, isTop = _b.isTop, isRight = _b.isRight, isBottom = _b.isBottom, isLeft = _b.isLeft;\n var isHorizontal = isRight || isLeft;\n var isVertical = isBottom || isTop;\n var _c = this.calculateMouseMovement({ e: e, isLeft: isLeft, isTop: isTop }), movementX = _c.movementX, movementY = _c.movementY;\n var xPosition = this.position.x;\n var yPosition = this.position.y;\n var offsetLeft = 0;\n var offsetTop = 0;\n if (isHorizontal && movementX) {\n var direction = isLeft ? -1 : 1;\n var oldWidth = this.getWidth();\n var newWidth = oldWidth + (movementX * direction);\n var skipWidth = false;\n if (isLeft) {\n offsetLeft = oldWidth - newWidth;\n if (xPosition + offsetLeft <= 0 || newWidth <= this.minWidth) {\n skipWidth = true;\n offsetLeft = 0;\n }\n }\n if (!skipWidth) {\n this.setWidth(newWidth);\n }\n }\n if (isVertical && movementY) {\n var direction = isTop ? -1 : 1;\n var oldHeight = this.getHeight();\n var newHeight = oldHeight + (movementY * direction);\n var skipHeight = false;\n if (isTop) {\n offsetTop = oldHeight - newHeight;\n if (yPosition + offsetTop <= 0 || newHeight <= this.minHeight) {\n skipHeight = true;\n offsetTop = 0;\n }\n }\n else {\n // do not let the size of all siblings be higher than the parent container\n if (!this.config.popup &&\n !this.config.forcePopupParentAsOffsetParent &&\n oldHeight < newHeight &&\n (this.getMinSizeOfSiblings().height + newHeight) > this.element.parentElement.offsetHeight) {\n skipHeight = true;\n }\n }\n if (!skipHeight) {\n this.setHeight(newHeight);\n }\n }\n this.updateDragStartPosition(e.clientX, e.clientY);\n if ((popup || forcePopupParentAsOffsetParent) && offsetLeft || offsetTop) {\n this.offsetElement(xPosition + offsetLeft, yPosition + offsetTop);\n }\n };\n PositionableFeature.prototype.onResizeEnd = function (e, side) {\n this.isResizing = false;\n this.currentResizer = null;\n this.boundaryEl = null;\n var params = {\n type: 'resize',\n api: this.gridOptionsWrapper.getApi(),\n columnApi: this.gridOptionsWrapper.getColumnApi()\n };\n this.element.classList.remove('ag-resizing');\n this.resizerMap[side].element.classList.remove('ag-active');\n this.dispatchEvent(params);\n };\n PositionableFeature.prototype.refreshSize = function () {\n var eGui = this.element;\n if (this.config.popup) {\n if (!this.config.width) {\n this.setWidth(eGui.offsetWidth);\n }\n if (!this.config.height) {\n this.setHeight(eGui.offsetHeight);\n }\n }\n };\n PositionableFeature.prototype.onMoveStart = function (e) {\n this.boundaryEl = this.findBoundaryElement();\n if (!this.positioned) {\n this.initialisePosition();\n }\n this.isMoving = true;\n this.element.classList.add('ag-moving');\n this.updateDragStartPosition(e.clientX, e.clientY);\n };\n PositionableFeature.prototype.onMove = function (e) {\n if (!this.isMoving) {\n return;\n }\n var _a = this.position, x = _a.x, y = _a.y;\n var topBuffer;\n if (this.config.calculateTopBuffer) {\n topBuffer = this.config.calculateTopBuffer();\n }\n var _b = this.calculateMouseMovement({\n e: e,\n isTop: true,\n anywhereWithin: true,\n topBuffer: topBuffer\n }), movementX = _b.movementX, movementY = _b.movementY;\n this.offsetElement(x + movementX, y + movementY);\n this.updateDragStartPosition(e.clientX, e.clientY);\n };\n PositionableFeature.prototype.onMoveEnd = function () {\n this.isMoving = false;\n this.boundaryEl = null;\n this.element.classList.remove('ag-moving');\n };\n PositionableFeature.prototype.setOffsetParent = function () {\n if (this.config.forcePopupParentAsOffsetParent) {\n this.offsetParent = this.popupService.getPopupParent();\n }\n else {\n this.offsetParent = this.element.offsetParent;\n }\n };\n PositionableFeature.prototype.findBoundaryElement = function () {\n var el = this.element;\n while (el) {\n if (window.getComputedStyle(el).position !== 'static') {\n return el;\n }\n el = el.parentElement;\n }\n return this.element;\n };\n PositionableFeature.prototype.clearResizeListeners = function () {\n while (this.resizeListeners.length) {\n var params = this.resizeListeners.pop();\n this.dragService.removeDragSource(params);\n }\n };\n PositionableFeature.prototype.destroy = function () {\n _super.prototype.destroy.call(this);\n if (this.moveElementDragListener) {\n this.dragService.removeDragSource(this.moveElementDragListener);\n }\n this.clearResizeListeners();\n this.removeResizers();\n };\n __decorate$1t([\n Autowired('popupService')\n ], PositionableFeature.prototype, \"popupService\", void 0);\n __decorate$1t([\n Autowired('dragService')\n ], PositionableFeature.prototype, \"dragService\", void 0);\n return PositionableFeature;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1H = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1u = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar AutoWidthCalculator = /** @class */ (function (_super) {\n __extends$1H(AutoWidthCalculator, _super);\n function AutoWidthCalculator() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AutoWidthCalculator.prototype.postConstruct = function () {\n var _this = this;\n this.ctrlsService.whenReady(function (p) {\n _this.centerRowContainerCtrl = p.centerRowContainerCtrl;\n });\n };\n // this is the trick: we create a dummy container and clone all the cells\n // into the dummy, then check the dummy's width. then destroy the dummy\n // as we don't need it any more.\n // drawback: only the cells visible on the screen are considered\n AutoWidthCalculator.prototype.getPreferredWidthForColumn = function (column, skipHeader) {\n var eHeaderCell = this.getHeaderCellForColumn(column);\n // cell isn't visible\n if (!eHeaderCell) {\n return -1;\n }\n var elements = this.rowRenderer.getAllCellsForColumn(column);\n if (!skipHeader) {\n // we only consider the lowest level cell, not the group cell. in 99% of the time, this\n // will be enough. if we consider groups, then it gets too complicated for what it's worth,\n // as the groups can span columns and this class only considers one column at a time.\n elements.push(eHeaderCell);\n }\n return this.addElementsToContainerAndGetWidth(elements);\n };\n AutoWidthCalculator.prototype.getPreferredWidthForColumnGroup = function (columnGroup) {\n var eHeaderCell = this.getHeaderCellForColumn(columnGroup);\n if (!eHeaderCell) {\n return -1;\n }\n return this.addElementsToContainerAndGetWidth([eHeaderCell]);\n };\n AutoWidthCalculator.prototype.addElementsToContainerAndGetWidth = function (elements) {\n var _this = this;\n var eDummyContainer = document.createElement('span');\n // position fixed, so it isn't restricted to the boundaries of the parent\n eDummyContainer.style.position = 'fixed';\n // we put the dummy into the body container, so it will inherit all the\n // css styles that the real cells are inheriting\n var eBodyContainer = this.centerRowContainerCtrl.getContainerElement();\n eBodyContainer.appendChild(eDummyContainer);\n elements.forEach(function (el) { return _this.cloneItemIntoDummy(el, eDummyContainer); });\n // at this point, all the clones are lined up vertically with natural widths. the dummy\n // container will have a width wide enough just to fit the largest.\n var dummyContainerWidth = eDummyContainer.offsetWidth;\n // we are finished with the dummy container, so get rid of it\n eBodyContainer.removeChild(eDummyContainer);\n // we add padding as I found sometimes the gui still put '...' after some of the texts. so the\n // user can configure the grid to add a few more pixels after the calculated width\n var autoSizePadding = this.gridOptionsWrapper.getAutoSizePadding();\n return dummyContainerWidth + autoSizePadding;\n };\n AutoWidthCalculator.prototype.getHeaderCellForColumn = function (column) {\n /* tslint:enable */\n var element = null;\n this.ctrlsService.getHeaderRowContainerCtrls().forEach(function (container) {\n var res = container.getHtmlElementForColumnHeader(column);\n if (res != null) {\n element = res;\n }\n });\n return element;\n };\n AutoWidthCalculator.prototype.cloneItemIntoDummy = function (eCell, eDummyContainer) {\n // make a deep clone of the cell\n var eCellClone = eCell.cloneNode(true);\n // the original has a fixed width, we remove this to allow the natural width based on content\n eCellClone.style.width = '';\n // the original has position = absolute, we need to remove this so it's positioned normally\n eCellClone.style.position = 'static';\n eCellClone.style.left = '';\n // we put the cell into a containing div, as otherwise the cells would just line up\n // on the same line, standard flow layout, by putting them into divs, they are laid\n // out one per line\n var eCloneParent = document.createElement('div');\n var eCloneParentClassList = eCloneParent.classList;\n var isHeader = ['ag-header-cell', 'ag-header-group-cell'].some(function (cls) { return eCellClone.classList.contains(cls); });\n if (isHeader) {\n eCloneParentClassList.add('ag-header', 'ag-header-row');\n eCloneParent.style.position = 'static';\n }\n else {\n eCloneParentClassList.add('ag-row');\n }\n // find parent using classes (headers have ag-header-cell, rows have ag-row), and copy classes from it.\n // if we didn't do this, things like ag-row-level-2 would be missing if present, which sets indents\n // onto group items.\n var pointer = eCell.parentElement;\n while (pointer) {\n var isRow = ['ag-header-row', 'ag-row'].some(function (cls) { return pointer.classList.contains(cls); });\n if (isRow) {\n for (var i = 0; i < pointer.classList.length; i++) {\n var item = pointer.classList[i];\n // we skip ag-row-position-absolute, as this has structural CSS applied that stops the\n // element from fitting into it's parent, and we need the element to stretch the parent\n // as we are measuring the parents width\n if (item != 'ag-row-position-absolute') {\n eCloneParentClassList.add(item);\n }\n }\n break;\n }\n pointer = pointer.parentElement;\n }\n // the twig on the branch, the branch on the tree, the tree in the hole,\n // the hole in the bog, the bog in the clone, the clone in the parent,\n // the parent in the dummy, and the dummy down in the vall-e-ooo, OOOOOOOOO! Oh row the rattling bog....\n eCloneParent.appendChild(eCellClone);\n eDummyContainer.appendChild(eCloneParent);\n };\n __decorate$1u([\n Autowired('rowRenderer')\n ], AutoWidthCalculator.prototype, \"rowRenderer\", void 0);\n __decorate$1u([\n Autowired('ctrlsService')\n ], AutoWidthCalculator.prototype, \"ctrlsService\", void 0);\n __decorate$1u([\n Autowired('rowCssClassCalculator')\n ], AutoWidthCalculator.prototype, \"rowCssClassCalculator\", void 0);\n __decorate$1u([\n PostConstruct\n ], AutoWidthCalculator.prototype, \"postConstruct\", null);\n AutoWidthCalculator = __decorate$1u([\n Bean('autoWidthCalculator')\n ], AutoWidthCalculator);\n return AutoWidthCalculator;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1I = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1v = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __read$d = (undefined && undefined.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spread$a = (undefined && undefined.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read$d(arguments[i]));\n return ar;\n};\nvar RowRenderer = /** @class */ (function (_super) {\n __extends$1I(RowRenderer, _super);\n function RowRenderer() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.destroyFuncsForColumnListeners = [];\n // map of row ids to row objects. keeps track of which elements\n // are rendered for which rows in the dom.\n _this.rowCtrlsByRowIndex = {};\n _this.zombieRowCtrls = {};\n _this.allRowCtrls = [];\n _this.topRowCtrls = [];\n _this.bottomRowCtrls = [];\n // we only allow one refresh at a time, otherwise the internal memory structure here\n // will get messed up. this can happen if the user has a cellRenderer, and inside the\n // renderer they call an API method that results in another pass of the refresh,\n // then it will be trying to draw rows in the middle of a refresh.\n _this.refreshInProgress = false;\n return _this;\n }\n RowRenderer.prototype.postConstruct = function () {\n var _this = this;\n this.ctrlsService.whenReady(function () {\n _this.gridBodyCtrl = _this.ctrlsService.getGridBodyCtrl();\n _this.initialise();\n });\n };\n RowRenderer.prototype.initialise = function () {\n this.addManagedListener(this.eventService, Events.EVENT_PAGINATION_CHANGED, this.onPageLoaded.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_PINNED_ROW_DATA_CHANGED, this.onPinnedRowDataChanged.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_DISPLAYED_COLUMNS_CHANGED, this.onDisplayedColumnsChanged.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_BODY_SCROLL, this.redrawAfterScroll.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_BODY_HEIGHT_CHANGED, this.redrawAfterScroll.bind(this));\n this.addManagedListener(this.gridOptionsWrapper, GridOptionsWrapper.PROP_DOM_LAYOUT, this.onDomLayoutChanged.bind(this));\n this.addManagedListener(this.gridOptionsWrapper, GridOptionsWrapper.PROP_ROW_CLASS, this.redrawRows.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_NEW_COLUMNS_LOADED, this.onNewColumnsLoaded.bind(this));\n this.registerCellEventListeners();\n this.initialiseCache();\n this.printLayout = this.gridOptionsWrapper.getDomLayout() === Constants.DOM_LAYOUT_PRINT;\n this.embedFullWidthRows = this.printLayout || this.gridOptionsWrapper.isEmbedFullWidthRows();\n this.redrawAfterModelUpdate();\n };\n RowRenderer.prototype.initialiseCache = function () {\n if (this.gridOptionsWrapper.isKeepDetailRows()) {\n var countProp = this.gridOptionsWrapper.getKeepDetailRowsCount();\n var count = countProp != null ? countProp : 3;\n this.cachedRowCtrls = new RowCtrlCache(count);\n }\n };\n RowRenderer.prototype.getRowCtrls = function () {\n return this.allRowCtrls;\n };\n RowRenderer.prototype.updateAllRowCtrls = function () {\n var liveList = getAllValuesInObject(this.rowCtrlsByRowIndex);\n if (this.gridOptionsWrapper.isEnsureDomOrder()) {\n liveList.sort(function (a, b) { return a.getRowNode().rowIndex - b.getRowNode.rowIndex; });\n }\n var zombieList = getAllValuesInObject(this.zombieRowCtrls);\n var cachedList = this.cachedRowCtrls ? this.cachedRowCtrls.getEntries() : [];\n this.allRowCtrls = __spread$a(liveList, zombieList, cachedList);\n };\n // in a clean design, each cell would register for each of these events. however when scrolling, all the cells\n // registering and de-registering for events is a performance bottleneck. so we register here once and inform\n // all active cells.\n RowRenderer.prototype.registerCellEventListeners = function () {\n var _this = this;\n this.addManagedListener(this.eventService, Events.EVENT_CELL_FOCUSED, function (event) {\n _this.getAllCellCtrls().forEach(function (cellCtrl) { return cellCtrl.onCellFocused(event); });\n _this.getFullWidthRowCtrls().forEach(function (rowCtrl) {\n rowCtrl.onFullWidthRowFocused(event);\n });\n });\n this.addManagedListener(this.eventService, Events.EVENT_FLASH_CELLS, function (event) {\n _this.getAllCellCtrls().forEach(function (cellCtrl) { return cellCtrl.onFlashCells(event); });\n });\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_HOVER_CHANGED, function () {\n _this.getAllCellCtrls().forEach(function (cellCtrl) { return cellCtrl.onColumnHover(); });\n });\n this.addManagedListener(this.eventService, Events.EVENT_DISPLAYED_COLUMNS_CHANGED, function () {\n _this.getAllCellCtrls().forEach(function (cellCtrl) { return cellCtrl.onDisplayedColumnsChanged(); });\n });\n // only for printLayout - because we are rendering all the cells in the same row, regardless of pinned state,\n // then changing the width of the containers will impact left position. eg the center cols all have their\n // left position adjusted by the width of the left pinned column, so if the pinned left column width changes,\n // all the center cols need to be shifted to accommodate this. when in normal layout, the pinned cols are\n // in different containers so doesn't impact.\n this.addManagedListener(this.eventService, Events.EVENT_DISPLAYED_COLUMNS_WIDTH_CHANGED, function () {\n if (_this.printLayout) {\n _this.getAllCellCtrls().forEach(function (cellCtrl) { return cellCtrl.onLeftChanged(); });\n }\n });\n var rangeSelectionEnabled = this.gridOptionsWrapper.isEnableRangeSelection();\n if (rangeSelectionEnabled) {\n this.addManagedListener(this.eventService, Events.EVENT_RANGE_SELECTION_CHANGED, function () {\n _this.getAllCellCtrls().forEach(function (cellCtrl) { return cellCtrl.onRangeSelectionChanged(); });\n });\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_MOVED, function () {\n _this.getAllCellCtrls().forEach(function (cellCtrl) { return cellCtrl.updateRangeBordersIfRangeCount(); });\n });\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_PINNED, function () {\n _this.getAllCellCtrls().forEach(function (cellCtrl) { return cellCtrl.updateRangeBordersIfRangeCount(); });\n });\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_VISIBLE, function () {\n _this.getAllCellCtrls().forEach(function (cellCtrl) { return cellCtrl.updateRangeBordersIfRangeCount(); });\n });\n }\n // add listeners to the grid columns\n this.refreshListenersToColumnsForCellComps();\n // if the grid columns change, then refresh the listeners again\n this.addManagedListener(this.eventService, Events.EVENT_GRID_COLUMNS_CHANGED, this.refreshListenersToColumnsForCellComps.bind(this));\n this.addDestroyFunc(this.removeGridColumnListeners.bind(this));\n };\n // executes all functions in destroyFuncsForColumnListeners and then clears the list\n RowRenderer.prototype.removeGridColumnListeners = function () {\n this.destroyFuncsForColumnListeners.forEach(function (func) { return func(); });\n this.destroyFuncsForColumnListeners.length = 0;\n };\n // this function adds listeners onto all the grid columns, which are the column that we could have cellComps for.\n // when the grid columns change, we add listeners again. in an ideal design, each CellComp would just register to\n // the column it belongs to on creation, however this was a bottleneck with the number of cells, so do it here\n // once instead.\n RowRenderer.prototype.refreshListenersToColumnsForCellComps = function () {\n var _this = this;\n this.removeGridColumnListeners();\n var cols = this.columnModel.getAllGridColumns();\n if (!cols) {\n return;\n }\n cols.forEach(function (col) {\n var forEachCellWithThisCol = function (callback) {\n _this.getAllCellCtrls().forEach(function (cellCtrl) {\n if (cellCtrl.getColumn() === col) {\n callback(cellCtrl);\n }\n });\n };\n var leftChangedListener = function () {\n forEachCellWithThisCol(function (cellCtrl) { return cellCtrl.onLeftChanged(); });\n };\n var widthChangedListener = function () {\n forEachCellWithThisCol(function (cellCtrl) { return cellCtrl.onWidthChanged(); });\n };\n var firstRightPinnedChangedListener = function () {\n forEachCellWithThisCol(function (cellCtrl) { return cellCtrl.onFirstRightPinnedChanged(); });\n };\n var lastLeftPinnedChangedListener = function () {\n forEachCellWithThisCol(function (cellCtrl) { return cellCtrl.onLastLeftPinnedChanged(); });\n };\n col.addEventListener(Column.EVENT_LEFT_CHANGED, leftChangedListener);\n col.addEventListener(Column.EVENT_WIDTH_CHANGED, widthChangedListener);\n col.addEventListener(Column.EVENT_FIRST_RIGHT_PINNED_CHANGED, firstRightPinnedChangedListener);\n col.addEventListener(Column.EVENT_LAST_LEFT_PINNED_CHANGED, lastLeftPinnedChangedListener);\n _this.destroyFuncsForColumnListeners.push(function () {\n col.removeEventListener(Column.EVENT_LEFT_CHANGED, leftChangedListener);\n col.removeEventListener(Column.EVENT_WIDTH_CHANGED, widthChangedListener);\n col.removeEventListener(Column.EVENT_FIRST_RIGHT_PINNED_CHANGED, firstRightPinnedChangedListener);\n col.removeEventListener(Column.EVENT_LAST_LEFT_PINNED_CHANGED, lastLeftPinnedChangedListener);\n });\n });\n };\n RowRenderer.prototype.onDomLayoutChanged = function () {\n var printLayout = this.gridOptionsWrapper.getDomLayout() === Constants.DOM_LAYOUT_PRINT;\n var embedFullWidthRows = printLayout || this.gridOptionsWrapper.isEmbedFullWidthRows();\n // if moving towards or away from print layout, means we need to destroy all rows, as rows are not laid\n // out using absolute positioning when doing print layout\n var destroyRows = embedFullWidthRows !== this.embedFullWidthRows || this.printLayout !== printLayout;\n this.printLayout = printLayout;\n this.embedFullWidthRows = embedFullWidthRows;\n if (destroyRows) {\n this.redrawAfterModelUpdate();\n }\n };\n // for row models that have datasources, when we update the datasource, we need to force the rowRenderer\n // to redraw all rows. otherwise the old rows from the old datasource will stay displayed.\n RowRenderer.prototype.datasourceChanged = function () {\n this.firstRenderedRow = 0;\n this.lastRenderedRow = -1;\n var rowIndexesToRemove = Object.keys(this.rowCtrlsByRowIndex);\n this.removeRowCtrls(rowIndexesToRemove);\n };\n RowRenderer.prototype.onPageLoaded = function (event) {\n var params = {\n recycleRows: event.keepRenderedRows,\n animate: event.animate,\n newData: event.newData,\n newPage: event.newPage,\n // because this is a model updated event (not pinned rows), we\n // can skip updating the pinned rows. this is needed so that if user\n // is doing transaction updates, the pinned rows are not getting constantly\n // trashed - or editing cells in pinned rows are not refreshed and put into read mode\n onlyBody: true\n };\n this.redrawAfterModelUpdate(params);\n };\n RowRenderer.prototype.getAllCellsForColumn = function (column) {\n var res = [];\n this.getAllRowCtrls().forEach(function (rowCtrl) {\n var eCell = rowCtrl.getCellElement(column);\n if (eCell) {\n res.push(eCell);\n }\n });\n return res;\n };\n RowRenderer.prototype.refreshFloatingRowComps = function () {\n this.refreshFloatingRows(this.topRowCtrls, this.pinnedRowModel.getPinnedTopRowData());\n this.refreshFloatingRows(this.bottomRowCtrls, this.pinnedRowModel.getPinnedBottomRowData());\n };\n RowRenderer.prototype.getTopRowCtrls = function () {\n return this.topRowCtrls;\n };\n RowRenderer.prototype.getBottomRowCtrls = function () {\n return this.bottomRowCtrls;\n };\n RowRenderer.prototype.refreshFloatingRows = function (rowComps, rowNodes) {\n var _this = this;\n rowComps.forEach(function (row) {\n row.destroyFirstPass();\n row.destroySecondPass();\n });\n rowComps.length = 0;\n if (!rowNodes) {\n return;\n }\n rowNodes.forEach(function (rowNode) {\n var rowCtrl = new RowCtrl(rowNode, _this.beans, false, false, _this.printLayout);\n rowComps.push(rowCtrl);\n });\n };\n RowRenderer.prototype.onPinnedRowDataChanged = function () {\n // recycling rows in order to ensure cell editing is not cancelled\n var params = {\n recycleRows: true\n };\n this.redrawAfterModelUpdate(params);\n };\n // if the row nodes are not rendered, no index is returned\n RowRenderer.prototype.getRenderedIndexesForRowNodes = function (rowNodes) {\n var result = [];\n if (missing(rowNodes)) {\n return result;\n }\n iterateObject(this.rowCtrlsByRowIndex, function (index, renderedRow) {\n var rowNode = renderedRow.getRowNode();\n if (rowNodes.indexOf(rowNode) >= 0) {\n result.push(index);\n }\n });\n return result;\n };\n RowRenderer.prototype.redrawRows = function (rowNodes) {\n // if no row nodes provided, then refresh everything\n var partialRefresh = rowNodes != null && rowNodes.length > 0;\n if (partialRefresh) {\n var indexesToRemove = this.getRenderedIndexesForRowNodes(rowNodes);\n // remove the rows\n this.removeRowCtrls(indexesToRemove);\n }\n // add draw them again\n this.redrawAfterModelUpdate({\n recycleRows: partialRefresh\n });\n };\n RowRenderer.prototype.getCellToRestoreFocusToAfterRefresh = function (params) {\n var focusedCell = params.suppressKeepFocus ? null : this.focusService.getFocusCellToUseAfterRefresh();\n if (focusedCell == null) {\n return null;\n }\n // if the dom is not actually focused on a cell, then we don't try to refocus. the problem this\n // solves is with editing - if the user is editing, eg focus is on a text field, and not on the\n // cell itself, then the cell can be registered as having focus, however it's the text field that\n // has the focus and not the cell div. therefore, when the refresh is finished, the grid will focus\n // the cell, and not the textfield. that means if the user is in a text field, and the grid refreshes,\n // the focus is lost from the text field. we do not want this.\n var eDocument = this.gridOptionsWrapper.getDocument();\n var activeElement = eDocument.activeElement;\n var cellDomData = this.gridOptionsWrapper.getDomData(activeElement, CellCtrl.DOM_DATA_KEY_CELL_CTRL);\n var rowDomData = this.gridOptionsWrapper.getDomData(activeElement, RowCtrl.DOM_DATA_KEY_ROW_CTRL);\n var gridElementFocused = cellDomData || rowDomData;\n return gridElementFocused ? focusedCell : null;\n };\n // gets called from:\n // +) initialisation (in registerGridComp) params = null\n // +) onDomLayoutChanged, params = null\n // +) onPageLoaded, recycleRows, animate, newData, newPage from event, onlyBody=true\n // +) onPinnedRowDataChanged, recycleRows = true\n // +) redrawRows (from Grid API), recycleRows = true/false\n RowRenderer.prototype.redrawAfterModelUpdate = function (params) {\n if (params === void 0) { params = {}; }\n this.getLockOnRefresh();\n var focusedCell = this.getCellToRestoreFocusToAfterRefresh(params);\n this.updateContainerHeights();\n this.scrollToTopIfNewData(params);\n // never recycle rows when print layout, we draw each row again from scratch. this is because print layout\n // uses normal dom layout to put cells into dom - it doesn't allow reordering rows.\n var recycleRows = !this.printLayout && !!params.recycleRows;\n var animate = params.animate && this.gridOptionsWrapper.isAnimateRows();\n // after modelUpdate, row indexes can change, so we clear out the rowsByIndex map,\n // however we can reuse the rows, so we keep them but index by rowNode.id\n var rowsToRecycle = recycleRows ? this.recycleRows() : null;\n if (!recycleRows) {\n this.removeAllRowComps();\n }\n var isFocusedCellGettingRecycled = function () {\n if (focusedCell == null || rowsToRecycle == null) {\n return false;\n }\n var res = false;\n iterateObject(rowsToRecycle, function (key, rowComp) {\n var rowNode = rowComp.getRowNode();\n var rowIndexEqual = rowNode.rowIndex == focusedCell.rowIndex;\n var pinnedEqual = rowNode.rowPinned == focusedCell.rowPinned;\n if (rowIndexEqual && pinnedEqual) {\n res = true;\n }\n });\n return res;\n };\n var focusedCellRecycled = isFocusedCellGettingRecycled();\n this.redraw(rowsToRecycle, animate);\n if (!params.onlyBody) {\n this.refreshFloatingRowComps();\n }\n this.dispatchDisplayedRowsChanged();\n // if we focus a cell that's already focused, then we get an unnecessary 'cellFocused' event fired.\n // this was happening when user clicked 'expand' on a rowGroup, then cellFocused was getting fired twice.\n if (!focusedCellRecycled) {\n this.restoreFocusedCell(focusedCell);\n }\n this.releaseLockOnRefresh();\n };\n RowRenderer.prototype.scrollToTopIfNewData = function (params) {\n var scrollToTop = params.newData || params.newPage;\n var suppressScrollToTop = this.gridOptionsWrapper.isSuppressScrollOnNewData();\n if (scrollToTop && !suppressScrollToTop) {\n this.gridBodyCtrl.getScrollFeature().scrollToTop();\n }\n };\n RowRenderer.prototype.updateContainerHeights = function () {\n // when doing print layout, we don't explicitly set height on the containers\n if (this.printLayout) {\n this.rowContainerHeightService.setModelHeight(null);\n return;\n }\n var containerHeight = this.paginationProxy.getCurrentPageHeight();\n // we need at least 1 pixel for the horizontal scroll to work. so if there are now rows,\n // we still want the scroll to be present, otherwise there would be no way to scroll the header\n // which might be needed us user wants to access columns\n // on the RHS - and if that was where the filter was that cause no rows to be presented, there\n // is no way to remove the filter.\n if (containerHeight === 0) {\n containerHeight = 1;\n }\n this.rowContainerHeightService.setModelHeight(containerHeight);\n };\n RowRenderer.prototype.getLockOnRefresh = function () {\n if (this.refreshInProgress) {\n throw new Error(\"AG Grid: cannot get grid to draw rows when it is in the middle of drawing rows. \" +\n \"Your code probably called a grid API method while the grid was in the render stage. To overcome \" +\n \"this, put the API call into a timeout, e.g. instead of api.redrawRows(), \" +\n \"call setTimeout(function() { api.redrawRows(); }, 0). To see what part of your code \" +\n \"that caused the refresh check this stacktrace.\");\n }\n this.refreshInProgress = true;\n };\n RowRenderer.prototype.releaseLockOnRefresh = function () {\n this.refreshInProgress = false;\n };\n RowRenderer.prototype.isRefreshInProgress = function () {\n return this.refreshInProgress;\n };\n // sets the focus to the provided cell, if the cell is provided. this way, the user can call refresh without\n // worry about the focus been lost. this is important when the user is using keyboard navigation to do edits\n // and the cellEditor is calling 'refresh' to get other cells to update (as other cells might depend on the\n // edited cell).\n RowRenderer.prototype.restoreFocusedCell = function (cellPosition) {\n if (cellPosition) {\n this.focusService.setFocusedCell(cellPosition.rowIndex, cellPosition.column, cellPosition.rowPinned, true);\n }\n };\n RowRenderer.prototype.stopEditing = function (cancel) {\n if (cancel === void 0) { cancel = false; }\n this.getAllRowCtrls().forEach(function (rowCtrl) {\n rowCtrl.stopEditing(cancel);\n });\n };\n RowRenderer.prototype.onNewColumnsLoaded = function () {\n // we don't want each cellComp to register for events, as would increase rendering time.\n // so for newColumnsLoaded, we register once here (in rowRenderer) and then inform\n // each cell if / when event was fired.\n this.getAllCellCtrls().forEach(function (cellCtrl) { return cellCtrl.onNewColumnsLoaded(); });\n };\n RowRenderer.prototype.getAllCellCtrls = function () {\n var res = [];\n this.getAllRowCtrls().forEach(function (rowCtrl) { return res = res.concat(rowCtrl.getAllCellCtrls()); });\n return res;\n };\n RowRenderer.prototype.getAllRowCtrls = function () {\n var _this = this;\n var res = __spread$a(this.topRowCtrls, this.bottomRowCtrls);\n Object.keys(this.rowCtrlsByRowIndex).forEach(function (key) { return res.push(_this.rowCtrlsByRowIndex[key]); });\n return res;\n };\n RowRenderer.prototype.addRenderedRowListener = function (eventName, rowIndex, callback) {\n var rowComp = this.rowCtrlsByRowIndex[rowIndex];\n if (rowComp) {\n rowComp.addEventListener(eventName, callback);\n }\n };\n RowRenderer.prototype.flashCells = function (params) {\n if (params === void 0) { params = {}; }\n var flashDelay = params.flashDelay, fadeDelay = params.fadeDelay;\n this.getCellCtrls(params.rowNodes, params.columns)\n .forEach(function (cellCtrl) { return cellCtrl.flashCell({ flashDelay: flashDelay, fadeDelay: fadeDelay }); });\n };\n RowRenderer.prototype.refreshCells = function (params) {\n if (params === void 0) { params = {}; }\n var refreshCellParams = {\n forceRefresh: params.force,\n newData: false,\n suppressFlash: params.suppressFlash\n };\n this.getCellCtrls(params.rowNodes, params.columns)\n .forEach(function (cellCtrl) {\n if (cellCtrl.refreshShouldDestroy()) {\n var rowCtrl = cellCtrl.getRowCtrl();\n if (rowCtrl) {\n rowCtrl.refreshCell(cellCtrl);\n }\n }\n else {\n cellCtrl.refreshCell(refreshCellParams);\n }\n });\n this.getFullWidthRowCtrls(params.rowNodes).forEach(function (fullWidthRowCtrl) {\n fullWidthRowCtrl.refreshFullWidth();\n });\n };\n RowRenderer.prototype.getCellRendererInstances = function (params) {\n var res = this.getCellCtrls(params.rowNodes, params.columns)\n .map(function (cellCtrl) { return cellCtrl.getCellRenderer(); })\n .filter(function (renderer) { return renderer != null; });\n return res;\n };\n RowRenderer.prototype.getCellEditorInstances = function (params) {\n var res = [];\n this.getCellCtrls(params.rowNodes, params.columns).forEach(function (cellCtrl) {\n var cellEditor = cellCtrl.getCellEditor();\n if (cellEditor) {\n res.push(cellEditor);\n }\n });\n return res;\n };\n RowRenderer.prototype.getEditingCells = function () {\n var res = [];\n this.getAllCellCtrls().forEach(function (cellCtrl) {\n if (cellCtrl.isEditing()) {\n var cellPosition = cellCtrl.getCellPosition();\n res.push(cellPosition);\n }\n });\n return res;\n };\n RowRenderer.prototype.mapRowNodes = function (rowNodes) {\n if (!rowNodes) {\n return;\n }\n var res = {\n top: {},\n bottom: {},\n normal: {}\n };\n rowNodes.forEach(function (rowNode) {\n var id = rowNode.id;\n if (rowNode.rowPinned === Constants.PINNED_TOP) {\n res.top[id] = rowNode;\n }\n else if (rowNode.rowPinned === Constants.PINNED_BOTTOM) {\n res.bottom[id] = rowNode;\n }\n else {\n res.normal[id] = rowNode;\n }\n });\n return res;\n };\n RowRenderer.prototype.isRowInMap = function (rowNode, rowIdsMap) {\n // skip this row if it is missing from the provided list\n var id = rowNode.id;\n var floating = rowNode.rowPinned;\n if (floating === Constants.PINNED_BOTTOM) {\n return rowIdsMap.bottom[id] != null;\n }\n else if (floating === Constants.PINNED_TOP) {\n return rowIdsMap.top[id] != null;\n }\n else {\n return rowIdsMap.normal[id] != null;\n }\n };\n // returns CellCtrl's that match the provided rowNodes and columns. eg if one row node\n // and two columns provided, that identifies 4 cells, so 4 CellCtrl's returned.\n RowRenderer.prototype.getCellCtrls = function (rowNodes, columns) {\n var _this = this;\n var rowIdsMap = this.mapRowNodes(rowNodes);\n var res = [];\n var colIdsMap;\n if (exists(columns)) {\n colIdsMap = {};\n columns.forEach(function (colKey) {\n var column = _this.columnModel.getGridColumn(colKey);\n if (exists(column)) {\n colIdsMap[column.getId()] = true;\n }\n });\n }\n var processRow = function (rowComp) {\n var rowNode = rowComp.getRowNode();\n // skip this row if it is missing from the provided list\n if (rowIdsMap != null && !_this.isRowInMap(rowNode, rowIdsMap)) {\n return;\n }\n rowComp.getAllCellCtrls().forEach(function (cellCtrl) {\n var colId = cellCtrl.getColumn().getId();\n var excludeColFromRefresh = colIdsMap && !colIdsMap[colId];\n if (excludeColFromRefresh) {\n return;\n }\n res.push(cellCtrl);\n });\n };\n iterateObject(this.rowCtrlsByRowIndex, function (index, rowComp) {\n processRow(rowComp);\n });\n if (this.topRowCtrls) {\n this.topRowCtrls.forEach(processRow);\n }\n if (this.bottomRowCtrls) {\n this.bottomRowCtrls.forEach(processRow);\n }\n return res;\n };\n RowRenderer.prototype.destroy = function () {\n this.removeAllRowComps();\n _super.prototype.destroy.call(this);\n };\n RowRenderer.prototype.removeAllRowComps = function () {\n var rowIndexesToRemove = Object.keys(this.rowCtrlsByRowIndex);\n this.removeRowCtrls(rowIndexesToRemove);\n };\n RowRenderer.prototype.recycleRows = function () {\n // remove all stub nodes, they can't be reused, as no rowNode id\n var stubNodeIndexes = [];\n iterateObject(this.rowCtrlsByRowIndex, function (index, rowComp) {\n var stubNode = rowComp.getRowNode().id == null;\n if (stubNode) {\n stubNodeIndexes.push(index);\n }\n });\n this.removeRowCtrls(stubNodeIndexes);\n // then clear out rowCompsByIndex, but before that take a copy, but index by id, not rowIndex\n var nodesByIdMap = {};\n iterateObject(this.rowCtrlsByRowIndex, function (index, rowComp) {\n var rowNode = rowComp.getRowNode();\n nodesByIdMap[rowNode.id] = rowComp;\n });\n this.rowCtrlsByRowIndex = {};\n return nodesByIdMap;\n };\n // takes array of row indexes\n RowRenderer.prototype.removeRowCtrls = function (rowsToRemove) {\n var _this = this;\n // if no fromIndex then set to -1, which will refresh everything\n // let realFromIndex = -1;\n rowsToRemove.forEach(function (indexToRemove) {\n var rowCtrl = _this.rowCtrlsByRowIndex[indexToRemove];\n if (rowCtrl) {\n rowCtrl.destroyFirstPass();\n rowCtrl.destroySecondPass();\n }\n delete _this.rowCtrlsByRowIndex[indexToRemove];\n });\n };\n // gets called when rows don't change, but viewport does, so after:\n // 1) height of grid body changes, ie number of displayed rows has changed\n // 2) grid scrolled to new position\n // 3) ensure index visible (which is a scroll)\n RowRenderer.prototype.redrawAfterScroll = function () {\n this.getLockOnRefresh();\n this.redraw(null, false, true);\n this.releaseLockOnRefresh();\n this.dispatchDisplayedRowsChanged();\n };\n RowRenderer.prototype.removeRowCompsNotToDraw = function (indexesToDraw) {\n // for speedy lookup, dump into map\n var indexesToDrawMap = {};\n indexesToDraw.forEach(function (index) { return (indexesToDrawMap[index] = true); });\n var existingIndexes = Object.keys(this.rowCtrlsByRowIndex);\n var indexesNotToDraw = existingIndexes.filter(function (index) { return !indexesToDrawMap[index]; });\n this.removeRowCtrls(indexesNotToDraw);\n };\n RowRenderer.prototype.calculateIndexesToDraw = function (rowsToRecycle) {\n var _this = this;\n // all in all indexes in the viewport\n var indexesToDraw = createArrayOfNumbers(this.firstRenderedRow, this.lastRenderedRow);\n var checkRowToDraw = function (indexStr, rowComp) {\n var index = rowComp.getRowNode().rowIndex;\n if (index == null) {\n return;\n }\n if (index < _this.firstRenderedRow || index > _this.lastRenderedRow) {\n if (_this.doNotUnVirtualiseRow(rowComp)) {\n indexesToDraw.push(index);\n }\n }\n };\n // if we are redrawing due to scrolling change, then old rows are in this.rowCompsByIndex\n iterateObject(this.rowCtrlsByRowIndex, checkRowToDraw);\n // if we are redrawing due to model update, then old rows are in rowsToRecycle\n iterateObject(rowsToRecycle, checkRowToDraw);\n indexesToDraw.sort(function (a, b) { return a - b; });\n return indexesToDraw;\n };\n RowRenderer.prototype.redraw = function (rowsToRecycle, animate, afterScroll) {\n var _this = this;\n if (animate === void 0) { animate = false; }\n if (afterScroll === void 0) { afterScroll = false; }\n this.rowContainerHeightService.updateOffset();\n this.workOutFirstAndLastRowsToRender();\n // the row can already exist and be in the following:\n // rowsToRecycle -> if model change, then the index may be different, however row may\n // exist here from previous time (mapped by id).\n // this.rowCompsByIndex -> if just a scroll, then this will contain what is currently in the viewport\n // this is all the indexes we want, including those that already exist, so this method\n // will end up going through each index and drawing only if the row doesn't already exist\n var indexesToDraw = this.calculateIndexesToDraw(rowsToRecycle);\n this.removeRowCompsNotToDraw(indexesToDraw);\n // never animate when doing print layout - as we want to get things ready to print as quickly as possible,\n // otherwise we risk the printer printing a row that's half faded (half way through fading in)\n if (this.printLayout) {\n animate = false;\n }\n indexesToDraw.forEach(function (rowIndex) {\n var rowCtrl = _this.createOrUpdateRowCtrl(rowIndex, rowsToRecycle, animate, afterScroll);\n if (exists(rowCtrl)) ;\n });\n if (rowsToRecycle) {\n var useAnimationFrame = afterScroll && !this.gridOptionsWrapper.isSuppressAnimationFrame() && !this.printLayout;\n if (useAnimationFrame) {\n this.beans.animationFrameService.addDestroyTask(function () {\n _this.destroyRowCtrls(rowsToRecycle, animate);\n _this.updateAllRowCtrls();\n _this.dispatchDisplayedRowsChanged();\n });\n }\n else {\n this.destroyRowCtrls(rowsToRecycle, animate);\n }\n }\n this.updateAllRowCtrls();\n this.gridBodyCtrl.updateRowCount();\n };\n RowRenderer.prototype.dispatchDisplayedRowsChanged = function () {\n var event = { type: Events.EVENT_DISPLAYED_ROWS_CHANGED };\n this.eventService.dispatchEvent(event);\n };\n RowRenderer.prototype.onDisplayedColumnsChanged = function () {\n var pinningLeft = this.columnModel.isPinningLeft();\n var pinningRight = this.columnModel.isPinningRight();\n var atLeastOneChanged = this.pinningLeft !== pinningLeft || pinningRight !== this.pinningRight;\n if (atLeastOneChanged) {\n this.pinningLeft = pinningLeft;\n this.pinningRight = pinningRight;\n if (this.embedFullWidthRows) {\n this.redrawFullWidthEmbeddedRows();\n }\n }\n };\n // when embedding, what gets showed in each section depends on what is pinned. eg if embedding group expand / collapse,\n // then it should go into the pinned left area if pinning left, or the center area if not pinning.\n RowRenderer.prototype.redrawFullWidthEmbeddedRows = function () {\n // if either of the pinned panels has shown / hidden, then need to redraw the fullWidth bits when\n // embedded, as what appears in each section depends on whether we are pinned or not\n var rowsToRemove = [];\n this.getFullWidthRowCtrls().forEach(function (fullWidthCtrl) {\n var rowIndex = fullWidthCtrl.getRowNode().rowIndex;\n rowsToRemove.push(rowIndex.toString());\n });\n this.refreshFloatingRowComps();\n this.removeRowCtrls(rowsToRemove);\n this.redrawAfterScroll();\n };\n RowRenderer.prototype.getFullWidthRowCtrls = function (rowNodes) {\n var _this = this;\n var rowNodesMap = this.mapRowNodes(rowNodes);\n return getAllValuesInObject(this.rowCtrlsByRowIndex).filter(function (rowCtrl) {\n // include just full width\n if (!rowCtrl.isFullWidth()) {\n return false;\n }\n // if Row Nodes provided, we exclude where Row Node is missing\n var rowNode = rowCtrl.getRowNode();\n if (rowNodesMap != null && !_this.isRowInMap(rowNode, rowNodesMap)) {\n return false;\n }\n return true;\n });\n };\n RowRenderer.prototype.refreshFullWidthRows = function (rowNodesToRefresh) {\n var rowsToRemove = [];\n var selectivelyRefreshing = !!rowNodesToRefresh;\n var idsToRefresh = selectivelyRefreshing ? {} : undefined;\n if (selectivelyRefreshing && idsToRefresh) {\n rowNodesToRefresh.forEach(function (r) { return idsToRefresh[r.id] = true; });\n }\n this.getFullWidthRowCtrls().forEach(function (fullWidthRowCtrl) {\n var rowNode = fullWidthRowCtrl.getRowNode();\n if (selectivelyRefreshing && idsToRefresh) {\n // we refresh if a) this node is present or b) this parents nodes is present. checking parent\n // node is important for master/detail, as we want detail to refresh on changes to parent node.\n // it's also possible, if user is provider their own fullWidth, that details panels contain\n // some info on the parent, eg if in tree data and child row shows some data from parent row also.\n var parentId = (rowNode.level > 0 && rowNode.parent) ? rowNode.parent.id : undefined;\n var skipThisNode = !idsToRefresh[rowNode.id] && !idsToRefresh[parentId];\n if (skipThisNode) {\n return;\n }\n }\n var fullWidthRowsRefreshed = fullWidthRowCtrl.refreshFullWidth();\n if (!fullWidthRowsRefreshed) {\n var rowIndex = fullWidthRowCtrl.getRowNode().rowIndex;\n rowsToRemove.push(rowIndex.toString());\n }\n });\n this.removeRowCtrls(rowsToRemove);\n this.redrawAfterScroll();\n };\n RowRenderer.prototype.createOrUpdateRowCtrl = function (rowIndex, rowsToRecycle, animate, afterScroll) {\n var rowNode;\n var rowCtrl = this.rowCtrlsByRowIndex[rowIndex];\n // if no row comp, see if we can get it from the previous rowComps\n if (!rowCtrl) {\n rowNode = this.paginationProxy.getRow(rowIndex);\n if (exists(rowNode) && exists(rowsToRecycle) && rowsToRecycle[rowNode.id] && rowNode.alreadyRendered) {\n rowCtrl = rowsToRecycle[rowNode.id];\n rowsToRecycle[rowNode.id] = null;\n }\n }\n var creatingNewRowCtrl = !rowCtrl;\n if (creatingNewRowCtrl) {\n // create a new one\n if (!rowNode) {\n rowNode = this.paginationProxy.getRow(rowIndex);\n }\n if (exists(rowNode)) {\n rowCtrl = this.createRowCon(rowNode, animate, afterScroll);\n }\n else {\n // this should never happen - if somehow we are trying to create\n // a row for a rowNode that does not exist.\n return;\n }\n }\n if (rowNode) {\n // set node as 'alreadyRendered' to ensure we only recycle rowComps that have been rendered, this ensures\n // we don't reuse rowComps that have been removed and then re-added in the same batch transaction.\n rowNode.alreadyRendered = true;\n }\n this.rowCtrlsByRowIndex[rowIndex] = rowCtrl;\n return rowCtrl;\n };\n RowRenderer.prototype.destroyRowCtrls = function (rowCtrlsMap, animate) {\n var _this = this;\n var executeInAWhileFuncs = [];\n iterateObject(rowCtrlsMap, function (nodeId, rowCtrl) {\n // if row was used, then it's null\n if (!rowCtrl) {\n return;\n }\n if (_this.cachedRowCtrls && rowCtrl.isCacheable()) {\n _this.cachedRowCtrls.addRow(rowCtrl);\n return;\n }\n rowCtrl.destroyFirstPass();\n if (animate) {\n _this.zombieRowCtrls[rowCtrl.getInstanceId()] = rowCtrl;\n executeInAWhileFuncs.push(function () {\n rowCtrl.destroySecondPass();\n delete _this.zombieRowCtrls[rowCtrl.getInstanceId()];\n });\n }\n else {\n rowCtrl.destroySecondPass();\n }\n });\n if (animate) {\n // this ensures we fire displayedRowsChanged AFTER all the 'executeInAWhileFuncs' get\n // executed, as we added it to the end of the list.\n executeInAWhileFuncs.push(function () {\n _this.updateAllRowCtrls();\n _this.dispatchDisplayedRowsChanged();\n });\n executeInAWhile(executeInAWhileFuncs);\n }\n };\n RowRenderer.prototype.workOutFirstAndLastRowsToRender = function () {\n var _this = this;\n var newFirst;\n var newLast;\n if (!this.paginationProxy.isRowsToRender()) {\n newFirst = 0;\n newLast = -1; // setting to -1 means nothing in range\n }\n else if (this.printLayout) {\n newFirst = this.paginationProxy.getPageFirstRow();\n newLast = this.paginationProxy.getPageLastRow();\n }\n else {\n var bufferPixels = this.gridOptionsWrapper.getRowBufferInPixels();\n var gridBodyCtrl = this.ctrlsService.getGridBodyCtrl();\n var suppressRowVirtualisation = this.gridOptionsWrapper.isSuppressRowVirtualisation();\n var rowHeightsChanged = false;\n var firstPixel = void 0;\n var lastPixel = void 0;\n do {\n var paginationOffset = this.paginationProxy.getPixelOffset();\n var _a = this.paginationProxy.getCurrentPagePixelRange(), pageFirstPixel = _a.pageFirstPixel, pageLastPixel = _a.pageLastPixel;\n var divStretchOffset = this.rowContainerHeightService.getDivStretchOffset();\n if (suppressRowVirtualisation) {\n firstPixel = pageFirstPixel + divStretchOffset;\n lastPixel = pageLastPixel + divStretchOffset;\n }\n else {\n var bodyVRange = gridBodyCtrl.getScrollFeature().getVScrollPosition();\n var bodyTopPixel = bodyVRange.top;\n var bodyBottomPixel = bodyVRange.bottom;\n firstPixel = Math.max(bodyTopPixel + paginationOffset - bufferPixels, pageFirstPixel) + divStretchOffset;\n lastPixel = Math.min(bodyBottomPixel + paginationOffset + bufferPixels, pageLastPixel) + divStretchOffset;\n }\n // if the rows we are about to display get their heights changed, then that upsets the calcs from above.\n rowHeightsChanged = this.ensureAllRowsInRangeHaveHeightsCalculated(firstPixel, lastPixel);\n } while (rowHeightsChanged);\n var firstRowIndex = this.paginationProxy.getRowIndexAtPixel(firstPixel);\n var lastRowIndex = this.paginationProxy.getRowIndexAtPixel(lastPixel);\n var pageFirstRow = this.paginationProxy.getPageFirstRow();\n var pageLastRow = this.paginationProxy.getPageLastRow();\n // adjust, in case buffer extended actual size\n if (firstRowIndex < pageFirstRow) {\n firstRowIndex = pageFirstRow;\n }\n if (lastRowIndex > pageLastRow) {\n lastRowIndex = pageLastRow;\n }\n newFirst = firstRowIndex;\n newLast = lastRowIndex;\n }\n // sometimes user doesn't set CSS right and ends up with grid with no height and grid ends up\n // trying to render all the rows, eg 10,000+ rows. this will kill the browser. so instead of\n // killing the browser, we limit the number of rows. just in case some use case we didn't think\n // of, we also have a property to not do this operation.\n var rowLayoutNormal = this.gridOptionsWrapper.getDomLayout() === Constants.DOM_LAYOUT_NORMAL;\n var suppressRowCountRestriction = this.gridOptionsWrapper.isSuppressMaxRenderedRowRestriction();\n var rowBufferMaxSize = Math.max(this.gridOptionsWrapper.getRowBuffer(), 500);\n if (rowLayoutNormal && !suppressRowCountRestriction) {\n if (newLast - newFirst > rowBufferMaxSize) {\n newLast = newFirst + rowBufferMaxSize;\n }\n }\n var firstDiffers = newFirst !== this.firstRenderedRow;\n var lastDiffers = newLast !== this.lastRenderedRow;\n if (firstDiffers || lastDiffers) {\n this.firstRenderedRow = newFirst;\n this.lastRenderedRow = newLast;\n var event_1 = {\n type: Events.EVENT_VIEWPORT_CHANGED,\n firstRow: newFirst,\n lastRow: newLast,\n api: this.gridApi,\n columnApi: this.columnApi\n };\n this.eventService.dispatchEvent(event_1);\n }\n // only dispatch firstDataRendered if we have actually rendered some data\n if (this.paginationProxy.isRowsToRender()) {\n var event_2 = {\n type: Events.EVENT_FIRST_DATA_RENDERED,\n firstRow: newFirst,\n lastRow: newLast,\n api: this.gridApi,\n columnApi: this.columnApi\n };\n // added a small delay here because in some scenarios this can be fired\n // before the grid is actually rendered, causing component creation\n // on EVENT_FIRST_DATA_RENDERED to fail.\n window.setTimeout(function () { return _this.eventService.dispatchEventOnce(event_2); }, 50);\n }\n };\n RowRenderer.prototype.ensureAllRowsInRangeHaveHeightsCalculated = function (topPixel, bottomPixel) {\n // ensureRowHeightsVisible only works with CSRM, as it's the only row model that allows lazy row height calcs.\n // all the other row models just hard code so the method just returns back false\n var res = this.paginationProxy.ensureRowHeightsValid(topPixel, bottomPixel, -1, -1);\n if (res) {\n this.updateContainerHeights();\n }\n return res;\n };\n RowRenderer.prototype.getFirstVirtualRenderedRow = function () {\n return this.firstRenderedRow;\n };\n RowRenderer.prototype.getLastVirtualRenderedRow = function () {\n return this.lastRenderedRow;\n };\n // check that none of the rows to remove are editing or focused as:\n // a) if editing, we want to keep them, otherwise the user will loose the context of the edit,\n // eg user starts editing, enters some text, then scrolls down and then up, next time row rendered\n // the edit is reset - so we want to keep it rendered.\n // b) if focused, we want ot keep keyboard focus, so if user ctrl+c, it goes to clipboard,\n // otherwise the user can range select and drag (with focus cell going out of the viewport)\n // and then ctrl+c, nothing will happen if cell is removed from dom.\n // c) if detail record of master detail, as users complained that the context of detail rows\n // was getting lost when detail row out of view. eg user expands to show detail row,\n // then manipulates the detail panel (eg sorts the detail grid), then context is lost\n // after detail panel is scrolled out of / into view.\n RowRenderer.prototype.doNotUnVirtualiseRow = function (rowComp) {\n var REMOVE_ROW = false;\n var KEEP_ROW = true;\n var rowNode = rowComp.getRowNode();\n var rowHasFocus = this.focusService.isRowNodeFocused(rowNode);\n var rowIsEditing = rowComp.isEditing();\n var rowIsDetail = rowNode.detail;\n var mightWantToKeepRow = rowHasFocus || rowIsEditing || rowIsDetail;\n // if we deffo don't want to keep it,\n if (!mightWantToKeepRow) {\n return REMOVE_ROW;\n }\n // editing row, only remove if it is no longer rendered, eg filtered out or new data set.\n // the reason we want to keep is if user is scrolling up and down, we don't want to loose\n // the context of the editing in process.\n var rowNodePresent = this.paginationProxy.isRowPresent(rowNode);\n return rowNodePresent ? KEEP_ROW : REMOVE_ROW;\n };\n RowRenderer.prototype.createRowCon = function (rowNode, animate, afterScroll) {\n var rowCtrlFromCache = this.cachedRowCtrls ? this.cachedRowCtrls.getRow(rowNode) : null;\n if (rowCtrlFromCache) {\n return rowCtrlFromCache;\n }\n // we don't use animations frames for printing, so the user can put the grid into print mode\n // and immediately print - otherwise the user would have to wait for the rows to draw in the background\n // (via the animation frames) which is awkward to do from code.\n // we only do the animation frames after scrolling, as this is where we want the smooth user experience.\n // having animation frames for other times makes the grid look 'jumpy'.\n var suppressAnimationFrame = this.gridOptionsWrapper.isSuppressAnimationFrame();\n var useAnimationFrameForCreate = afterScroll && !suppressAnimationFrame && !this.printLayout;\n var res = new RowCtrl(rowNode, this.beans, animate, useAnimationFrameForCreate, this.printLayout);\n return res;\n };\n RowRenderer.prototype.getRenderedNodes = function () {\n var renderedRows = this.rowCtrlsByRowIndex;\n return Object.keys(renderedRows).map(function (key) { return renderedRows[key].getRowNode(); });\n };\n RowRenderer.prototype.getRowByPosition = function (rowPosition) {\n var rowComponent;\n switch (rowPosition.rowPinned) {\n case Constants.PINNED_TOP:\n rowComponent = this.topRowCtrls[rowPosition.rowIndex];\n break;\n case Constants.PINNED_BOTTOM:\n rowComponent = this.bottomRowCtrls[rowPosition.rowIndex];\n break;\n default:\n rowComponent = this.rowCtrlsByRowIndex[rowPosition.rowIndex];\n break;\n }\n return rowComponent;\n };\n RowRenderer.prototype.getRowNode = function (gridRow) {\n switch (gridRow.rowPinned) {\n case Constants.PINNED_TOP:\n return this.pinnedRowModel.getPinnedTopRowData()[gridRow.rowIndex];\n case Constants.PINNED_BOTTOM:\n return this.pinnedRowModel.getPinnedBottomRowData()[gridRow.rowIndex];\n default:\n return this.rowModel.getRow(gridRow.rowIndex);\n }\n };\n // returns true if any row between startIndex and endIndex is rendered. used by\n // SSRM or IRM, as they don't want to purge visible blocks from cache.\n RowRenderer.prototype.isRangeInRenderedViewport = function (startIndex, endIndex) {\n // parent closed means the parent node is not expanded, thus these blocks are not visible\n var parentClosed = startIndex == null || endIndex == null;\n if (parentClosed) {\n return false;\n }\n var blockAfterViewport = startIndex > this.lastRenderedRow;\n var blockBeforeViewport = endIndex < this.firstRenderedRow;\n var blockInsideViewport = !blockBeforeViewport && !blockAfterViewport;\n return blockInsideViewport;\n };\n __decorate$1v([\n Autowired(\"paginationProxy\")\n ], RowRenderer.prototype, \"paginationProxy\", void 0);\n __decorate$1v([\n Autowired(\"columnModel\")\n ], RowRenderer.prototype, \"columnModel\", void 0);\n __decorate$1v([\n Autowired(\"pinnedRowModel\")\n ], RowRenderer.prototype, \"pinnedRowModel\", void 0);\n __decorate$1v([\n Autowired(\"rowModel\")\n ], RowRenderer.prototype, \"rowModel\", void 0);\n __decorate$1v([\n Autowired(\"focusService\")\n ], RowRenderer.prototype, \"focusService\", void 0);\n __decorate$1v([\n Autowired(\"columnApi\")\n ], RowRenderer.prototype, \"columnApi\", void 0);\n __decorate$1v([\n Autowired(\"gridApi\")\n ], RowRenderer.prototype, \"gridApi\", void 0);\n __decorate$1v([\n Autowired(\"beans\")\n ], RowRenderer.prototype, \"beans\", void 0);\n __decorate$1v([\n Autowired(\"rowContainerHeightService\")\n ], RowRenderer.prototype, \"rowContainerHeightService\", void 0);\n __decorate$1v([\n Optional(\"ctrlsService\")\n ], RowRenderer.prototype, \"ctrlsService\", void 0);\n __decorate$1v([\n PostConstruct\n ], RowRenderer.prototype, \"postConstruct\", null);\n RowRenderer = __decorate$1v([\n Bean(\"rowRenderer\")\n ], RowRenderer);\n return RowRenderer;\n}(BeanStub));\nvar RowCtrlCache = /** @class */ (function () {\n function RowCtrlCache(maxCount) {\n // map for fast access\n this.entriesMap = {};\n // list for keeping order\n this.entriesList = [];\n this.maxCount = maxCount;\n }\n RowCtrlCache.prototype.addRow = function (rowCtrl) {\n this.entriesMap[rowCtrl.getRowNode().id] = rowCtrl;\n this.entriesList.push(rowCtrl);\n rowCtrl.setCached(true);\n if (this.entriesList.length > this.maxCount) {\n var rowCtrlToDestroy = this.entriesList[0];\n rowCtrlToDestroy.destroyFirstPass();\n rowCtrlToDestroy.destroySecondPass();\n this.removeFromCache(rowCtrlToDestroy);\n }\n };\n RowCtrlCache.prototype.getRow = function (rowNode) {\n if (rowNode == null || rowNode.id == null) {\n return null;\n }\n var res = this.entriesMap[rowNode.id];\n if (!res) {\n return null;\n }\n this.removeFromCache(res);\n res.setCached(false);\n // this can happen if user reloads data, and a new RowNode is reusing\n // the same ID as the old one\n var rowNodeMismatch = res.getRowNode() != rowNode;\n return rowNodeMismatch ? null : res;\n };\n RowCtrlCache.prototype.removeFromCache = function (rowCtrl) {\n var rowNodeId = rowCtrl.getRowNode().id;\n delete this.entriesMap[rowNodeId];\n removeFromArray(this.entriesList, rowCtrl);\n };\n RowCtrlCache.prototype.getEntries = function () {\n return this.entriesList;\n };\n return RowCtrlCache;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1J = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1w = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar ValueFormatterService = /** @class */ (function (_super) {\n __extends$1J(ValueFormatterService, _super);\n function ValueFormatterService() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ValueFormatterService.prototype.formatValue = function (column, node, value, suppliedFormatter, useFormatterFromColumn) {\n if (useFormatterFromColumn === void 0) { useFormatterFromColumn = true; }\n var result = null;\n var formatter;\n var colDef = column.getColDef();\n if (suppliedFormatter) {\n // use supplied formatter if provided, e.g. set filter items can have their own value formatters\n formatter = suppliedFormatter;\n }\n else if (useFormatterFromColumn) {\n // if row is pinned, give preference to the pinned formatter\n formatter = node && node.rowPinned && colDef.pinnedRowValueFormatter ?\n colDef.pinnedRowValueFormatter : colDef.valueFormatter;\n }\n if (formatter) {\n var params = {\n value: value,\n node: node,\n data: node ? node.data : null,\n colDef: colDef,\n column: column,\n api: this.gridOptionsWrapper.getApi(),\n columnApi: this.gridOptionsWrapper.getColumnApi(),\n context: this.gridOptionsWrapper.getContext()\n };\n result = this.expressionService.evaluate(formatter, params);\n }\n else if (colDef.refData) {\n return colDef.refData[value] || '';\n }\n // if we don't do this, then arrays get displayed as 1,2,3, but we want 1, 2, 3 (i.e. with spaces)\n if (result == null && Array.isArray(value)) {\n result = value.join(', ');\n }\n return result;\n };\n __decorate$1w([\n Autowired('expressionService')\n ], ValueFormatterService.prototype, \"expressionService\", void 0);\n ValueFormatterService = __decorate$1w([\n Bean('valueFormatterService')\n ], ValueFormatterService);\n return ValueFormatterService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1K = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1x = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar PinnedRowModel = /** @class */ (function (_super) {\n __extends$1K(PinnedRowModel, _super);\n function PinnedRowModel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PinnedRowModel.prototype.init = function () {\n this.setPinnedTopRowData(this.gridOptionsWrapper.getPinnedTopRowData());\n this.setPinnedBottomRowData(this.gridOptionsWrapper.getPinnedBottomRowData());\n };\n PinnedRowModel.prototype.isEmpty = function (floating) {\n var rows = floating === Constants.PINNED_TOP ? this.pinnedTopRows : this.pinnedBottomRows;\n return missingOrEmpty(rows);\n };\n PinnedRowModel.prototype.isRowsToRender = function (floating) {\n return !this.isEmpty(floating);\n };\n PinnedRowModel.prototype.getRowAtPixel = function (pixel, floating) {\n var rows = floating === Constants.PINNED_TOP ? this.pinnedTopRows : this.pinnedBottomRows;\n if (missingOrEmpty(rows)) {\n return 0; // this should never happen, just in case, 0 is graceful failure\n }\n for (var i = 0; i < rows.length; i++) {\n var rowNode = rows[i];\n var rowTopPixel = rowNode.rowTop + rowNode.rowHeight - 1;\n // only need to range check against the top pixel, as we are going through the list\n // in order, first row to hit the pixel wins\n if (rowTopPixel >= pixel) {\n return i;\n }\n }\n return rows.length - 1;\n };\n PinnedRowModel.prototype.setPinnedTopRowData = function (rowData) {\n this.pinnedTopRows = this.createNodesFromData(rowData, true);\n var event = {\n type: Events.EVENT_PINNED_ROW_DATA_CHANGED,\n api: this.gridApi,\n columnApi: this.columnApi\n };\n this.eventService.dispatchEvent(event);\n };\n PinnedRowModel.prototype.setPinnedBottomRowData = function (rowData) {\n this.pinnedBottomRows = this.createNodesFromData(rowData, false);\n var event = {\n type: Events.EVENT_PINNED_ROW_DATA_CHANGED,\n api: this.gridApi,\n columnApi: this.columnApi\n };\n this.eventService.dispatchEvent(event);\n };\n PinnedRowModel.prototype.createNodesFromData = function (allData, isTop) {\n var _this = this;\n var rowNodes = [];\n if (allData) {\n var nextRowTop_1 = 0;\n allData.forEach(function (dataItem, index) {\n var rowNode = new RowNode(_this.beans);\n rowNode.data = dataItem;\n var idPrefix = isTop ? RowNode.ID_PREFIX_TOP_PINNED : RowNode.ID_PREFIX_BOTTOM_PINNED;\n rowNode.id = idPrefix + index;\n rowNode.rowPinned = isTop ? Constants.PINNED_TOP : Constants.PINNED_BOTTOM;\n rowNode.setRowTop(nextRowTop_1);\n rowNode.setRowHeight(_this.gridOptionsWrapper.getRowHeightForNode(rowNode).height);\n rowNode.setRowIndex(index);\n nextRowTop_1 += rowNode.rowHeight;\n rowNodes.push(rowNode);\n });\n }\n return rowNodes;\n };\n PinnedRowModel.prototype.getPinnedTopRowData = function () {\n return this.pinnedTopRows;\n };\n PinnedRowModel.prototype.getPinnedBottomRowData = function () {\n return this.pinnedBottomRows;\n };\n PinnedRowModel.prototype.getPinnedTopTotalHeight = function () {\n return this.getTotalHeight(this.pinnedTopRows);\n };\n PinnedRowModel.prototype.getPinnedTopRowCount = function () {\n return this.pinnedTopRows ? this.pinnedTopRows.length : 0;\n };\n PinnedRowModel.prototype.getPinnedBottomRowCount = function () {\n return this.pinnedBottomRows ? this.pinnedBottomRows.length : 0;\n };\n PinnedRowModel.prototype.getPinnedTopRow = function (index) {\n return this.pinnedTopRows[index];\n };\n PinnedRowModel.prototype.getPinnedBottomRow = function (index) {\n return this.pinnedBottomRows[index];\n };\n PinnedRowModel.prototype.forEachPinnedTopRow = function (callback) {\n if (missingOrEmpty(this.pinnedTopRows)) {\n return;\n }\n this.pinnedTopRows.forEach(callback);\n };\n PinnedRowModel.prototype.forEachPinnedBottomRow = function (callback) {\n if (missingOrEmpty(this.pinnedBottomRows)) {\n return;\n }\n this.pinnedBottomRows.forEach(callback);\n };\n PinnedRowModel.prototype.getPinnedBottomTotalHeight = function () {\n return this.getTotalHeight(this.pinnedBottomRows);\n };\n PinnedRowModel.prototype.getTotalHeight = function (rowNodes) {\n if (!rowNodes || rowNodes.length === 0) {\n return 0;\n }\n var lastNode = last(rowNodes);\n return lastNode.rowTop + lastNode.rowHeight;\n };\n __decorate$1x([\n Autowired('columnApi')\n ], PinnedRowModel.prototype, \"columnApi\", void 0);\n __decorate$1x([\n Autowired('gridApi')\n ], PinnedRowModel.prototype, \"gridApi\", void 0);\n __decorate$1x([\n Autowired('beans')\n ], PinnedRowModel.prototype, \"beans\", void 0);\n __decorate$1x([\n PostConstruct\n ], PinnedRowModel.prototype, \"init\", null);\n PinnedRowModel = __decorate$1x([\n Bean('pinnedRowModel')\n ], PinnedRowModel);\n return PinnedRowModel;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\n(function (ServerSideTransactionResultStatus) {\n /** Transaction was successfully applied */\n ServerSideTransactionResultStatus[\"Applied\"] = \"Applied\";\n /**\n * Store was not found, transaction not applied.\n * Either invalid route, or the parent row has not yet been expanded.\n */\n ServerSideTransactionResultStatus[\"StoreNotFound\"] = \"StoreNotFound\";\n /**\n * Store is loading, transaction not applied.\n */\n ServerSideTransactionResultStatus[\"StoreLoading\"] = \"StoreLoading\";\n /**\n * Store is loading (as max loads exceeded), transaction not applied.\n */\n ServerSideTransactionResultStatus[\"StoreWaitingToLoad\"] = \"StoreWaitingToLoad\";\n /**\n * Store load attempt failed, transaction not applied.\n */\n ServerSideTransactionResultStatus[\"StoreLoadingFailed\"] = \"StoreLoadingFailed\";\n /**\n * Store is type Partial, which doesn't accept transactions\n */\n ServerSideTransactionResultStatus[\"StoreWrongType\"] = \"StoreWrongType\";\n /**\n * Transaction was cancelled, due to grid.\n * Callback isApplyServerSideTransaction() returning false\n */\n ServerSideTransactionResultStatus[\"Cancelled\"] = \"Cancelled\";\n})(exports.ServerSideTransactionResultStatus || (exports.ServerSideTransactionResultStatus = {}));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\n// when doing transactions, or change detection, and grouping is present\n// in the data, there is no need for the ClientSideRowModel to update each\n// group after an update, ony parts that were impacted by the change.\n// this class keeps track of all groups that were impacted by a transaction.\n// the the different CSRM operations (filter, sort etc) use the forEach method\n// to visit each group that was changed.\nvar ChangedPath = /** @class */ (function () {\n function ChangedPath(keepingColumns, rootNode) {\n // whether changed path is active of not. it is active when a) doing\n // a transaction update or b) doing change detection. if we are doing\n // a CSRM refresh for other reasons (after sort or filter, or user calling\n // setRowData() without delta mode) then we are not active. we are also\n // marked as not active if secondary columns change in pivot (as this impacts\n // aggregations)\n this.active = true;\n // for each node in the change path, we also store which columns need\n // to be re-aggregated.\n this.nodeIdsToColumns = {};\n // for quick lookup, all items in the change path are mapped by nodeId\n this.mapToItems = {};\n this.keepingColumns = keepingColumns;\n this.pathRoot = {\n rowNode: rootNode,\n children: null\n };\n this.mapToItems[rootNode.id] = this.pathRoot;\n }\n // can be set inactive by:\n // a) ClientSideRowModel, if no transactions or\n // b) PivotService, if secondary columns changed\n ChangedPath.prototype.setInactive = function () {\n this.active = false;\n };\n ChangedPath.prototype.isActive = function () {\n return this.active;\n };\n ChangedPath.prototype.depthFirstSearchChangedPath = function (pathItem, callback) {\n if (pathItem.children) {\n for (var i = 0; i < pathItem.children.length; i++) {\n this.depthFirstSearchChangedPath(pathItem.children[i], callback);\n }\n }\n callback(pathItem.rowNode);\n };\n ChangedPath.prototype.depthFirstSearchEverything = function (rowNode, callback, traverseEverything) {\n if (rowNode.childrenAfterGroup) {\n for (var i = 0; i < rowNode.childrenAfterGroup.length; i++) {\n var childNode = rowNode.childrenAfterGroup[i];\n if (childNode.childrenAfterGroup) {\n this.depthFirstSearchEverything(rowNode.childrenAfterGroup[i], callback, traverseEverything);\n }\n else if (traverseEverything) {\n callback(childNode);\n }\n }\n }\n callback(rowNode);\n };\n // traverseLeafNodes -> used when NOT doing changed path, ie traversing everything. the callback\n // will be called for child nodes in addition to parent nodes.\n ChangedPath.prototype.forEachChangedNodeDepthFirst = function (callback, traverseLeafNodes) {\n if (traverseLeafNodes === void 0) { traverseLeafNodes = false; }\n if (this.active) {\n // if we are active, then use the change path to callback\n // only for updated groups\n this.depthFirstSearchChangedPath(this.pathRoot, callback);\n }\n else {\n // we are not active, so callback for everything, walk the entire path\n this.depthFirstSearchEverything(this.pathRoot.rowNode, callback, traverseLeafNodes);\n }\n };\n ChangedPath.prototype.executeFromRootNode = function (callback) {\n callback(this.pathRoot.rowNode);\n };\n ChangedPath.prototype.createPathItems = function (rowNode) {\n var pointer = rowNode;\n var newEntryCount = 0;\n while (!this.mapToItems[pointer.id]) {\n var newEntry = {\n rowNode: pointer,\n children: null\n };\n this.mapToItems[pointer.id] = newEntry;\n newEntryCount++;\n pointer = pointer.parent;\n }\n return newEntryCount;\n };\n ChangedPath.prototype.populateColumnsMap = function (rowNode, columns) {\n var _this = this;\n if (!this.keepingColumns || !columns) {\n return;\n }\n var pointer = rowNode;\n while (pointer) {\n // if columns, add the columns in all the way to parent, merging\n // in any other columns that might be there already\n if (!this.nodeIdsToColumns[pointer.id]) {\n this.nodeIdsToColumns[pointer.id] = {};\n }\n columns.forEach(function (col) { return _this.nodeIdsToColumns[pointer.id][col.getId()] = true; });\n pointer = pointer.parent;\n }\n };\n ChangedPath.prototype.linkPathItems = function (rowNode, newEntryCount) {\n var pointer = rowNode;\n for (var i = 0; i < newEntryCount; i++) {\n var thisItem = this.mapToItems[pointer.id];\n var parentItem = this.mapToItems[pointer.parent.id];\n if (!parentItem.children) {\n parentItem.children = [];\n }\n parentItem.children.push(thisItem);\n pointer = pointer.parent;\n }\n };\n // called by\n // 1) change detection (provides cols) and\n // 2) groupStage if doing transaction update (doesn't provide cols)\n ChangedPath.prototype.addParentNode = function (rowNode, columns) {\n if (!rowNode || rowNode.isRowPinned()) {\n return;\n }\n // we cannot do both steps below in the same loop as\n // the second loop has a dependency on the first loop.\n // ie the hierarchy cannot be stitched up yet because\n // we don't have it built yet\n // create the new PathItem objects.\n var newEntryCount = this.createPathItems(rowNode);\n // link in the node items\n this.linkPathItems(rowNode, newEntryCount);\n // update columns\n this.populateColumnsMap(rowNode, columns);\n };\n ChangedPath.prototype.canSkip = function (rowNode) {\n return this.active && !this.mapToItems[rowNode.id];\n };\n ChangedPath.prototype.getValueColumnsForNode = function (rowNode, valueColumns) {\n if (!this.keepingColumns) {\n return valueColumns;\n }\n var colsForThisNode = this.nodeIdsToColumns[rowNode.id];\n var result = valueColumns.filter(function (col) { return colsForThisNode[col.getId()]; });\n return result;\n };\n ChangedPath.prototype.getNotValueColumnsForNode = function (rowNode, valueColumns) {\n if (!this.keepingColumns) {\n return null;\n }\n var colsForThisNode = this.nodeIdsToColumns[rowNode.id];\n var result = valueColumns.filter(function (col) { return !colsForThisNode[col.getId()]; });\n return result;\n };\n return ChangedPath;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1L = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar RowNodeBlock = /** @class */ (function (_super) {\n __extends$1L(RowNodeBlock, _super);\n function RowNodeBlock(id) {\n var _this = _super.call(this) || this;\n _this.state = RowNodeBlock.STATE_WAITING_TO_LOAD;\n _this.version = 0;\n _this.id = id;\n return _this;\n }\n RowNodeBlock.prototype.getId = function () {\n return this.id;\n };\n RowNodeBlock.prototype.load = function () {\n this.state = RowNodeBlock.STATE_LOADING;\n this.loadFromDatasource();\n };\n RowNodeBlock.prototype.getVersion = function () {\n return this.version;\n };\n RowNodeBlock.prototype.setStateWaitingToLoad = function () {\n // in case any current loads in progress, this will have their results ignored\n this.version++;\n this.state = RowNodeBlock.STATE_WAITING_TO_LOAD;\n };\n RowNodeBlock.prototype.getState = function () {\n return this.state;\n };\n RowNodeBlock.prototype.pageLoadFailed = function (version) {\n var requestMostRecentAndLive = this.isRequestMostRecentAndLive(version);\n if (requestMostRecentAndLive) {\n this.state = RowNodeBlock.STATE_FAILED;\n this.processServerFail();\n }\n this.dispatchLoadCompleted(false);\n };\n RowNodeBlock.prototype.success = function (version, params) {\n this.successCommon(version, params);\n };\n RowNodeBlock.prototype.pageLoaded = function (version, rows, lastRow) {\n this.successCommon(version, { rowData: rows, rowCount: lastRow });\n };\n RowNodeBlock.prototype.isRequestMostRecentAndLive = function (version) {\n // thisIsMostRecentRequest - if block was refreshed, then another request\n // could of been sent after this one.\n var thisIsMostRecentRequest = version === this.version;\n // weAreNotDestroyed - if InfiniteStore is purged, then blocks are destroyed\n // and new blocks created. so data loads of old blocks are discarded.\n var weAreNotDestroyed = this.isAlive();\n return thisIsMostRecentRequest && weAreNotDestroyed;\n };\n RowNodeBlock.prototype.successCommon = function (version, params) {\n // need to dispatch load complete before processing the data, as PaginationComp checks\n // RowNodeBlockLoader to see if it is still loading, so the RowNodeBlockLoader needs to\n // be updated first (via LoadComplete event) before PaginationComp updates (via processServerResult method)\n this.dispatchLoadCompleted();\n var requestMostRecentAndLive = this.isRequestMostRecentAndLive(version);\n if (requestMostRecentAndLive) {\n this.state = RowNodeBlock.STATE_LOADED;\n this.processServerResult(params);\n }\n };\n RowNodeBlock.prototype.dispatchLoadCompleted = function (success) {\n if (success === void 0) { success = true; }\n // we fire event regardless of processing data or now, as we want\n // the concurrentLoadRequests count to be reduced in BlockLoader\n var event = {\n type: RowNodeBlock.EVENT_LOAD_COMPLETE,\n success: success,\n block: this\n };\n this.dispatchEvent(event);\n };\n RowNodeBlock.EVENT_LOAD_COMPLETE = 'loadComplete';\n RowNodeBlock.STATE_WAITING_TO_LOAD = 'needsLoading';\n RowNodeBlock.STATE_LOADING = 'loading';\n RowNodeBlock.STATE_LOADED = 'loaded';\n RowNodeBlock.STATE_FAILED = 'failed';\n return RowNodeBlock;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1M = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1y = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __param$4 = (undefined && undefined.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nvar RowNodeBlockLoader = /** @class */ (function (_super) {\n __extends$1M(RowNodeBlockLoader, _super);\n function RowNodeBlockLoader() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.activeBlockLoadsCount = 0;\n _this.blocks = [];\n _this.active = true;\n return _this;\n }\n RowNodeBlockLoader_1 = RowNodeBlockLoader;\n RowNodeBlockLoader.prototype.postConstruct = function () {\n this.maxConcurrentRequests = this.gridOptionsWrapper.getMaxConcurrentDatasourceRequests();\n var blockLoadDebounceMillis = this.gridOptionsWrapper.getBlockLoadDebounceMillis();\n if (blockLoadDebounceMillis && blockLoadDebounceMillis > 0) {\n this.checkBlockToLoadDebounce = _.debounce(this.performCheckBlocksToLoad.bind(this), blockLoadDebounceMillis);\n }\n };\n RowNodeBlockLoader.prototype.setBeans = function (loggerFactory) {\n this.logger = loggerFactory.create('RowNodeBlockLoader');\n };\n RowNodeBlockLoader.prototype.addBlock = function (block) {\n this.blocks.push(block);\n // note that we do not remove this listener when removing the block. this is because the\n // cache can get destroyed (and containing blocks) when a block is loading. however the loading block\n // is still counted as an active loading block and we must decrement activeBlockLoadsCount when it finishes.\n block.addEventListener(RowNodeBlock.EVENT_LOAD_COMPLETE, this.loadComplete.bind(this));\n this.checkBlockToLoad();\n };\n RowNodeBlockLoader.prototype.removeBlock = function (block) {\n _.removeFromArray(this.blocks, block);\n };\n RowNodeBlockLoader.prototype.destroy = function () {\n _super.prototype.destroy.call(this);\n this.active = false;\n };\n RowNodeBlockLoader.prototype.loadComplete = function () {\n this.activeBlockLoadsCount--;\n this.checkBlockToLoad();\n if (this.activeBlockLoadsCount == 0) {\n this.dispatchEvent({ type: RowNodeBlockLoader_1.BLOCK_LOADER_FINISHED_EVENT });\n }\n };\n RowNodeBlockLoader.prototype.checkBlockToLoad = function () {\n if (this.checkBlockToLoadDebounce) {\n this.checkBlockToLoadDebounce();\n }\n else {\n this.performCheckBlocksToLoad();\n }\n };\n RowNodeBlockLoader.prototype.performCheckBlocksToLoad = function () {\n if (!this.active) {\n return;\n }\n this.printCacheStatus();\n if (this.maxConcurrentRequests != null && this.activeBlockLoadsCount >= this.maxConcurrentRequests) {\n this.logger.log(\"checkBlockToLoad: max loads exceeded\");\n return;\n }\n var blockToLoad = null;\n this.blocks.forEach(function (block) {\n if (block.getState() === RowNodeBlock.STATE_WAITING_TO_LOAD) {\n blockToLoad = block;\n }\n });\n if (blockToLoad) {\n blockToLoad.load();\n this.activeBlockLoadsCount++;\n this.printCacheStatus();\n }\n };\n RowNodeBlockLoader.prototype.getBlockState = function () {\n var result = {};\n this.blocks.forEach(function (block) {\n var _a = block.getBlockStateJson(), id = _a.id, state = _a.state;\n result[id] = state;\n });\n return result;\n };\n RowNodeBlockLoader.prototype.printCacheStatus = function () {\n if (this.logger.isLogging()) {\n this.logger.log(\"printCacheStatus: activePageLoadsCount = \" + this.activeBlockLoadsCount + \",\"\n + (\" blocks = \" + JSON.stringify(this.getBlockState())));\n }\n };\n RowNodeBlockLoader.prototype.isLoading = function () {\n return this.activeBlockLoadsCount > 0;\n };\n var RowNodeBlockLoader_1;\n RowNodeBlockLoader.BLOCK_LOADER_FINISHED_EVENT = 'blockLoaderFinished';\n __decorate$1y([\n PostConstruct\n ], RowNodeBlockLoader.prototype, \"postConstruct\", null);\n __decorate$1y([\n __param$4(0, Qualifier('loggerFactory'))\n ], RowNodeBlockLoader.prototype, \"setBeans\", null);\n RowNodeBlockLoader = RowNodeBlockLoader_1 = __decorate$1y([\n Bean('rowNodeBlockLoader')\n ], RowNodeBlockLoader);\n return RowNodeBlockLoader;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1N = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1z = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar PaginationProxy = /** @class */ (function (_super) {\n __extends$1N(PaginationProxy, _super);\n function PaginationProxy() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.currentPage = 0;\n _this.topDisplayedRowIndex = 0;\n _this.bottomDisplayedRowIndex = 0;\n _this.pixelOffset = 0;\n _this.masterRowCount = 0;\n return _this;\n }\n PaginationProxy.prototype.postConstruct = function () {\n this.active = this.gridOptionsWrapper.isPagination();\n this.paginateChildRows = this.gridOptionsWrapper.isPaginateChildRows();\n this.addManagedListener(this.eventService, Events.EVENT_MODEL_UPDATED, this.onModelUpdated.bind(this));\n this.addManagedListener(this.gridOptionsWrapper, 'paginationPageSize', this.onPaginationPageSizeChanged.bind(this));\n this.onModelUpdated();\n };\n PaginationProxy.prototype.ensureRowHeightsValid = function (startPixel, endPixel, startLimitIndex, endLimitIndex) {\n var res = this.rowModel.ensureRowHeightsValid(startPixel, endPixel, this.getPageFirstRow(), this.getPageLastRow());\n if (res) {\n this.calculatePages();\n }\n return res;\n };\n PaginationProxy.prototype.onModelUpdated = function (modelUpdatedEvent) {\n this.calculatePages();\n var paginationChangedEvent = {\n type: Events.EVENT_PAGINATION_CHANGED,\n animate: modelUpdatedEvent ? modelUpdatedEvent.animate : false,\n newData: modelUpdatedEvent ? modelUpdatedEvent.newData : false,\n newPage: modelUpdatedEvent ? modelUpdatedEvent.newPage : false,\n keepRenderedRows: modelUpdatedEvent ? modelUpdatedEvent.keepRenderedRows : false,\n api: this.gridApi,\n columnApi: this.columnApi\n };\n this.eventService.dispatchEvent(paginationChangedEvent);\n };\n PaginationProxy.prototype.onPaginationPageSizeChanged = function () {\n this.calculatePages();\n var paginationChangedEvent = {\n type: Events.EVENT_PAGINATION_CHANGED,\n animate: false,\n newData: false,\n newPage: false,\n // important to keep rendered rows, otherwise every time grid is resized,\n // we would destroy all the rows.\n keepRenderedRows: true,\n api: this.gridApi,\n columnApi: this.columnApi\n };\n this.eventService.dispatchEvent(paginationChangedEvent);\n };\n PaginationProxy.prototype.goToPage = function (page) {\n if (!this.active || this.currentPage === page) {\n return;\n }\n this.currentPage = page;\n var event = {\n type: Events.EVENT_MODEL_UPDATED,\n animate: false,\n keepRenderedRows: false,\n newData: false,\n newPage: true,\n api: this.gridApi,\n columnApi: this.columnApi\n };\n this.onModelUpdated(event);\n };\n PaginationProxy.prototype.getPixelOffset = function () {\n return this.pixelOffset;\n };\n PaginationProxy.prototype.getRow = function (index) {\n return this.rowModel.getRow(index);\n };\n PaginationProxy.prototype.getRowNode = function (id) {\n return this.rowModel.getRowNode(id);\n };\n PaginationProxy.prototype.getRowIndexAtPixel = function (pixel) {\n return this.rowModel.getRowIndexAtPixel(pixel);\n };\n PaginationProxy.prototype.getCurrentPageHeight = function () {\n if (missing(this.topRowBounds) || missing(this.bottomRowBounds)) {\n return 0;\n }\n return Math.max(this.bottomRowBounds.rowTop + this.bottomRowBounds.rowHeight - this.topRowBounds.rowTop, 0);\n };\n PaginationProxy.prototype.getCurrentPagePixelRange = function () {\n var pageFirstPixel = this.topRowBounds ? this.topRowBounds.rowTop : 0;\n var pageLastPixel = this.bottomRowBounds ? this.bottomRowBounds.rowTop + this.bottomRowBounds.rowHeight : 0;\n return { pageFirstPixel: pageFirstPixel, pageLastPixel: pageLastPixel };\n };\n PaginationProxy.prototype.isRowPresent = function (rowNode) {\n if (!this.rowModel.isRowPresent(rowNode)) {\n return false;\n }\n var nodeIsInPage = rowNode.rowIndex >= this.topDisplayedRowIndex && rowNode.rowIndex <= this.bottomDisplayedRowIndex;\n return nodeIsInPage;\n };\n PaginationProxy.prototype.isEmpty = function () {\n return this.rowModel.isEmpty();\n };\n PaginationProxy.prototype.isRowsToRender = function () {\n return this.rowModel.isRowsToRender();\n };\n PaginationProxy.prototype.getNodesInRangeForSelection = function (firstInRange, lastInRange) {\n return this.rowModel.getNodesInRangeForSelection(firstInRange, lastInRange);\n };\n PaginationProxy.prototype.forEachNode = function (callback) {\n return this.rowModel.forEachNode(callback);\n };\n PaginationProxy.prototype.getType = function () {\n return this.rowModel.getType();\n };\n PaginationProxy.prototype.getRowBounds = function (index) {\n var res = this.rowModel.getRowBounds(index);\n res.rowIndex = index;\n return res;\n };\n PaginationProxy.prototype.getPageFirstRow = function () {\n return this.topRowBounds ? this.topRowBounds.rowIndex : -1;\n };\n PaginationProxy.prototype.getPageLastRow = function () {\n return this.bottomRowBounds ? this.bottomRowBounds.rowIndex : -1;\n };\n PaginationProxy.prototype.getRowCount = function () {\n return this.rowModel.getRowCount();\n };\n PaginationProxy.prototype.getPageForIndex = function (index) {\n return Math.floor(index / this.pageSize);\n };\n PaginationProxy.prototype.goToPageWithIndex = function (index) {\n if (!this.active) {\n return;\n }\n var pageNumber = this.getPageForIndex(index);\n this.goToPage(pageNumber);\n };\n PaginationProxy.prototype.isRowInPage = function (row) {\n if (!this.active) {\n return true;\n }\n var rowPage = this.getPageForIndex(row.rowIndex);\n return rowPage === this.currentPage;\n };\n PaginationProxy.prototype.isLastPageFound = function () {\n return this.rowModel.isLastRowIndexKnown();\n };\n PaginationProxy.prototype.getCurrentPage = function () {\n return this.currentPage;\n };\n PaginationProxy.prototype.goToNextPage = function () {\n this.goToPage(this.currentPage + 1);\n };\n PaginationProxy.prototype.goToPreviousPage = function () {\n this.goToPage(this.currentPage - 1);\n };\n PaginationProxy.prototype.goToFirstPage = function () {\n this.goToPage(0);\n };\n PaginationProxy.prototype.goToLastPage = function () {\n var rowCount = this.rowModel.getRowCount();\n var lastPage = Math.floor(rowCount / this.pageSize);\n this.goToPage(lastPage);\n };\n PaginationProxy.prototype.getPageSize = function () {\n return this.pageSize;\n };\n PaginationProxy.prototype.getTotalPages = function () {\n return this.totalPages;\n };\n PaginationProxy.prototype.setPageSize = function () {\n // show put this into super class\n this.pageSize = this.gridOptionsWrapper.getPaginationPageSize();\n if (this.pageSize == null || this.pageSize < 1) {\n this.pageSize = 100;\n }\n };\n PaginationProxy.prototype.calculatePages = function () {\n if (this.active) {\n this.setPageSize();\n if (this.paginateChildRows) {\n this.calculatePagesAllRows();\n }\n else {\n this.calculatePagesMasterRowsOnly();\n }\n }\n else {\n this.calculatedPagesNotActive();\n }\n this.topRowBounds = this.rowModel.getRowBounds(this.topDisplayedRowIndex);\n if (this.topRowBounds) {\n this.topRowBounds.rowIndex = this.topDisplayedRowIndex;\n }\n this.bottomRowBounds = this.rowModel.getRowBounds(this.bottomDisplayedRowIndex);\n if (this.bottomRowBounds) {\n this.bottomRowBounds.rowIndex = this.bottomDisplayedRowIndex;\n }\n this.setPixelOffset(exists(this.topRowBounds) ? this.topRowBounds.rowTop : 0);\n };\n PaginationProxy.prototype.setPixelOffset = function (value) {\n if (this.pixelOffset === value) {\n return;\n }\n this.pixelOffset = value;\n this.eventService.dispatchEvent({ type: Events.EVENT_PAGINATION_PIXEL_OFFSET_CHANGED });\n };\n PaginationProxy.prototype.setZeroRows = function () {\n this.masterRowCount = 0;\n this.topDisplayedRowIndex = 0;\n this.bottomDisplayedRowIndex = -1;\n this.currentPage = 0;\n this.totalPages = 0;\n };\n PaginationProxy.prototype.calculatePagesMasterRowsOnly = function () {\n // const csrm = this.rowModel;\n // const rootNode = csrm.getRootNode();\n // const masterRows = rootNode.childrenAfterSort;\n this.masterRowCount = this.rowModel.getTopLevelRowCount();\n // we say <=0 (rather than =0) as viewport returns -1 when no rows\n if (this.masterRowCount <= 0) {\n this.setZeroRows();\n return;\n }\n var masterLastRowIndex = this.masterRowCount - 1;\n this.totalPages = Math.floor((masterLastRowIndex) / this.pageSize) + 1;\n if (this.currentPage >= this.totalPages) {\n this.currentPage = this.totalPages - 1;\n }\n if (!isNumeric(this.currentPage) || this.currentPage < 0) {\n this.currentPage = 0;\n }\n var masterPageStartIndex = this.pageSize * this.currentPage;\n var masterPageEndIndex = (this.pageSize * (this.currentPage + 1)) - 1;\n if (masterPageEndIndex > masterLastRowIndex) {\n masterPageEndIndex = masterLastRowIndex;\n }\n this.topDisplayedRowIndex = this.rowModel.getTopLevelRowDisplayedIndex(masterPageStartIndex);\n // masterRows[masterPageStartIndex].rowIndex;\n if (masterPageEndIndex === masterLastRowIndex) {\n // if showing the last master row, then we want to show the very last row of the model\n this.bottomDisplayedRowIndex = this.rowModel.getRowCount() - 1;\n }\n else {\n var firstIndexNotToShow = this.rowModel.getTopLevelRowDisplayedIndex(masterPageEndIndex + 1);\n //masterRows[masterPageEndIndex + 1].rowIndex;\n // this gets the index of the last child - eg current row is open, we want to display all children,\n // the index of the last child is one less than the index of the next parent row.\n this.bottomDisplayedRowIndex = firstIndexNotToShow - 1;\n }\n };\n PaginationProxy.prototype.getMasterRowCount = function () {\n return this.masterRowCount;\n };\n PaginationProxy.prototype.calculatePagesAllRows = function () {\n this.masterRowCount = this.rowModel.getRowCount();\n if (this.masterRowCount === 0) {\n this.setZeroRows();\n return;\n }\n var maxRowIndex = this.masterRowCount - 1;\n this.totalPages = Math.floor((maxRowIndex) / this.pageSize) + 1;\n if (this.currentPage >= this.totalPages) {\n this.currentPage = this.totalPages - 1;\n }\n if (!isNumeric(this.currentPage) || this.currentPage < 0) {\n this.currentPage = 0;\n }\n this.topDisplayedRowIndex = this.pageSize * this.currentPage;\n this.bottomDisplayedRowIndex = (this.pageSize * (this.currentPage + 1)) - 1;\n if (this.bottomDisplayedRowIndex > maxRowIndex) {\n this.bottomDisplayedRowIndex = maxRowIndex;\n }\n };\n PaginationProxy.prototype.calculatedPagesNotActive = function () {\n this.pageSize = this.rowModel.getRowCount();\n this.totalPages = 1;\n this.currentPage = 0;\n this.topDisplayedRowIndex = 0;\n this.bottomDisplayedRowIndex = this.rowModel.getRowCount() - 1;\n };\n __decorate$1z([\n Autowired('rowModel')\n ], PaginationProxy.prototype, \"rowModel\", void 0);\n __decorate$1z([\n Autowired('columnApi')\n ], PaginationProxy.prototype, \"columnApi\", void 0);\n __decorate$1z([\n Autowired('gridApi')\n ], PaginationProxy.prototype, \"gridApi\", void 0);\n __decorate$1z([\n PostConstruct\n ], PaginationProxy.prototype, \"postConstruct\", null);\n PaginationProxy = __decorate$1z([\n Bean('paginationProxy')\n ], PaginationProxy);\n return PaginationProxy;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1O = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1A = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar StylingService = /** @class */ (function (_super) {\n __extends$1O(StylingService, _super);\n function StylingService() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n StylingService.prototype.processAllCellClasses = function (colDef, params, onApplicableClass, onNotApplicableClass) {\n this.processClassRules(colDef.cellClassRules, params, onApplicableClass, onNotApplicableClass);\n this.processStaticCellClasses(colDef, params, onApplicableClass);\n };\n StylingService.prototype.processClassRules = function (classRules, params, onApplicableClass, onNotApplicableClass) {\n if (classRules == null) {\n return;\n }\n var classNames = Object.keys(classRules);\n var classesToApply = {};\n var classesToRemove = {};\n var _loop_1 = function (i) {\n var className = classNames[i];\n var rule = classRules[className];\n var resultOfRule;\n if (typeof rule === 'string') {\n resultOfRule = this_1.expressionService.evaluate(rule, params);\n }\n else if (typeof rule === 'function') {\n resultOfRule = rule(params);\n }\n // in case className = 'my-class1 my-class2', we need to split into individual class names\n className.split(' ').forEach(function (singleClass) {\n if (singleClass == null || singleClass.trim() == '') {\n return;\n }\n resultOfRule ? classesToApply[singleClass] = true : classesToRemove[singleClass] = true;\n });\n };\n var this_1 = this;\n for (var i = 0; i < classNames.length; i++) {\n _loop_1(i);\n }\n // we remove all classes first, then add all classes second,\n // in case a class appears in more than one rule, this means it will be added\n // if appears in at least one truthy rule\n if (onNotApplicableClass) {\n Object.keys(classesToRemove).forEach(onNotApplicableClass);\n }\n Object.keys(classesToApply).forEach(onApplicableClass);\n };\n StylingService.prototype.getStaticCellClasses = function (colDef, params) {\n var cellClass = colDef.cellClass;\n if (!cellClass) {\n return [];\n }\n var classOrClasses;\n if (typeof cellClass === 'function') {\n var cellClassFunc = cellClass;\n classOrClasses = cellClassFunc(params);\n }\n else {\n classOrClasses = cellClass;\n }\n if (typeof classOrClasses === 'string') {\n classOrClasses = [classOrClasses];\n }\n return classOrClasses || [];\n };\n StylingService.prototype.processStaticCellClasses = function (colDef, params, onApplicableClass) {\n var classOrClasses = this.getStaticCellClasses(colDef, params);\n classOrClasses.forEach(function (cssClassItem) {\n onApplicableClass(cssClassItem);\n });\n };\n __decorate$1A([\n Autowired('expressionService')\n ], StylingService.prototype, \"expressionService\", void 0);\n StylingService = __decorate$1A([\n Bean('stylingService')\n ], StylingService);\n return StylingService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1P = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar AgRadioButton = /** @class */ (function (_super) {\n __extends$1P(AgRadioButton, _super);\n function AgRadioButton(config) {\n return _super.call(this, config, 'ag-radio-button', 'radio') || this;\n }\n AgRadioButton.prototype.isSelected = function () {\n return this.eInput.checked;\n };\n AgRadioButton.prototype.toggle = function () {\n if (this.eInput.disabled) {\n return;\n }\n // do not allow an active radio button to be deselected\n if (!this.isSelected()) {\n this.setValue(true);\n }\n };\n AgRadioButton.prototype.addInputListeners = function () {\n _super.prototype.addInputListeners.call(this);\n this.addManagedListener(this.eventService, Events.EVENT_CHECKBOX_CHANGED, this.onChange.bind(this));\n };\n /**\n * This ensures that if another radio button in the same named group is selected, we deselect this radio button.\n * By default the browser does this for you, but we are managing classes ourselves in order to ensure input\n * elements are styled correctly in IE11, and the DOM 'changed' event is only fired when a button is selected,\n * not deselected, so we need to use our own event.\n */\n AgRadioButton.prototype.onChange = function (event) {\n if (event.selected &&\n event.name &&\n this.eInput.name &&\n this.eInput.name === event.name &&\n event.id &&\n this.eInput.id !== event.id) {\n this.setValue(false, true);\n }\n };\n return AgRadioButton;\n}(AgCheckbox));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1Q = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar AgToggleButton = /** @class */ (function (_super) {\n __extends$1Q(AgToggleButton, _super);\n function AgToggleButton(config) {\n return _super.call(this, config, 'ag-toggle-button') || this;\n }\n AgToggleButton.prototype.setValue = function (value, silent) {\n _super.prototype.setValue.call(this, value, silent);\n this.addOrRemoveCssClass('ag-selected', this.getValue());\n return this;\n };\n return AgToggleButton;\n}(AgCheckbox));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1R = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar AgInputTextField = /** @class */ (function (_super) {\n __extends$1R(AgInputTextField, _super);\n function AgInputTextField(config, className, inputType) {\n if (className === void 0) { className = 'ag-text-field'; }\n if (inputType === void 0) { inputType = 'text'; }\n return _super.call(this, config, className, inputType) || this;\n }\n AgInputTextField.prototype.postConstruct = function () {\n _super.prototype.postConstruct.call(this);\n if (this.config.allowedCharPattern) {\n this.preventDisallowedCharacters();\n }\n };\n AgInputTextField.prototype.setValue = function (value, silent) {\n var ret = _super.prototype.setValue.call(this, value, silent);\n if (this.eInput.value !== value) {\n this.eInput.value = exists(value) ? value : '';\n }\n return ret;\n };\n AgInputTextField.prototype.preventDisallowedCharacters = function () {\n var pattern = new RegExp(\"[\" + this.config.allowedCharPattern + \"]\");\n var preventDisallowedCharacters = function (event) {\n if (event.key && !pattern.test(event.key)) {\n event.preventDefault();\n }\n };\n this.addManagedListener(this.eInput, 'keypress', preventDisallowedCharacters);\n this.addManagedListener(this.eInput, 'paste', function (e) {\n var _a;\n var text = (_a = e.clipboardData) === null || _a === void 0 ? void 0 : _a.getData('text');\n if (text && text.split('').some(function (c) { return !pattern.test(c); })) {\n e.preventDefault();\n }\n });\n };\n return AgInputTextField;\n}(AgAbstractInputField));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1S = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar AgInputTextArea = /** @class */ (function (_super) {\n __extends$1S(AgInputTextArea, _super);\n function AgInputTextArea(config) {\n return _super.call(this, config, 'ag-text-area', null, 'textarea') || this;\n }\n AgInputTextArea.prototype.setValue = function (value, silent) {\n var ret = _super.prototype.setValue.call(this, value, silent);\n this.eInput.value = value;\n return ret;\n };\n AgInputTextArea.prototype.setCols = function (cols) {\n this.eInput.cols = cols;\n return this;\n };\n AgInputTextArea.prototype.setRows = function (rows) {\n this.eInput.rows = rows;\n return this;\n };\n return AgInputTextArea;\n}(AgAbstractInputField));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1T = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar AgInputNumberField = /** @class */ (function (_super) {\n __extends$1T(AgInputNumberField, _super);\n function AgInputNumberField(config) {\n return _super.call(this, config, 'ag-number-field', 'number') || this;\n }\n AgInputNumberField.prototype.postConstruct = function () {\n var _this = this;\n _super.prototype.postConstruct.call(this);\n this.addManagedListener(this.eInput, 'blur', function () {\n var floatedValue = parseFloat(_this.eInput.value);\n var value = isNaN(floatedValue) ? '' : _this.normalizeValue(floatedValue.toString());\n if (_this.value !== value) {\n _this.setValue(value);\n }\n });\n this.eInput.step = 'any';\n };\n AgInputNumberField.prototype.normalizeValue = function (value) {\n if (value === '') {\n return '';\n }\n if (this.precision) {\n value = this.adjustPrecision(value);\n }\n var val = parseFloat(value);\n if (this.min != null && val < this.min) {\n value = this.min.toString();\n }\n else if (this.max != null && val > this.max) {\n value = this.max.toString();\n }\n return value;\n };\n AgInputNumberField.prototype.adjustPrecision = function (value) {\n if (this.precision) {\n var floatString = parseFloat(value).toFixed(this.precision);\n value = parseFloat(floatString).toString();\n }\n return value;\n };\n AgInputNumberField.prototype.setMin = function (min) {\n if (this.min === min) {\n return this;\n }\n this.min = min;\n addOrRemoveAttribute(this.eInput, 'min', min);\n return this;\n };\n AgInputNumberField.prototype.setMax = function (max) {\n if (this.max === max) {\n return this;\n }\n this.max = max;\n addOrRemoveAttribute(this.eInput, 'max', max);\n return this;\n };\n AgInputNumberField.prototype.setPrecision = function (precision) {\n this.precision = precision;\n return this;\n };\n AgInputNumberField.prototype.setStep = function (step) {\n if (this.step === step) {\n return this;\n }\n this.step = step;\n addOrRemoveAttribute(this.eInput, 'step', step);\n return this;\n };\n AgInputNumberField.prototype.setValue = function (value, silent) {\n value = this.adjustPrecision(value);\n var normalizedValue = this.normalizeValue(value);\n if (value != normalizedValue) {\n return this;\n }\n return _super.prototype.setValue.call(this, value, silent);\n };\n return AgInputNumberField;\n}(AgInputTextField));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1U = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar AgInputRange = /** @class */ (function (_super) {\n __extends$1U(AgInputRange, _super);\n function AgInputRange(config) {\n return _super.call(this, config, 'ag-range-field', 'range') || this;\n }\n AgInputRange.prototype.postConstruct = function () {\n _super.prototype.postConstruct.call(this);\n var _a = this.config, min = _a.min, max = _a.max, step = _a.step;\n if (min != null) {\n this.setMinValue(min);\n }\n if (max != null) {\n this.setMaxValue(max);\n }\n this.setStep(step || 1);\n };\n AgInputRange.prototype.addInputListeners = function () {\n var _this = this;\n this.addManagedListener(this.eInput, 'input', function (e) {\n var value = e.target.value;\n _this.setValue(value);\n });\n };\n AgInputRange.prototype.setMinValue = function (value) {\n this.min = value;\n this.eInput.setAttribute('min', value.toString());\n return this;\n };\n AgInputRange.prototype.setMaxValue = function (value) {\n this.max = value;\n this.eInput.setAttribute('max', value.toString());\n return this;\n };\n AgInputRange.prototype.setStep = function (value) {\n this.eInput.setAttribute('step', value.toString());\n return this;\n };\n AgInputRange.prototype.setValue = function (value, silent) {\n if (this.min != null) {\n value = Math.max(parseFloat(value), this.min).toString();\n }\n if (this.max != null) {\n value = Math.min(parseFloat(value), this.max).toString();\n }\n var ret = _super.prototype.setValue.call(this, value, silent);\n this.eInput.value = value;\n return ret;\n };\n return AgInputRange;\n}(AgAbstractInputField));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1V = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1B = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar AgSlider = /** @class */ (function (_super) {\n __extends$1V(AgSlider, _super);\n function AgSlider(config) {\n var _this = _super.call(this, config, AgSlider.TEMPLATE) || this;\n _this.labelAlignment = 'top';\n return _this;\n }\n AgSlider.prototype.init = function () {\n this.eSlider.addCssClass('ag-slider-field');\n };\n AgSlider.prototype.onValueChange = function (callbackFn) {\n var _this = this;\n var eventChanged = AgAbstractField.EVENT_CHANGED;\n this.addManagedListener(this.eText, eventChanged, function () {\n var textValue = parseFloat(_this.eText.getValue());\n _this.eSlider.setValue(textValue.toString(), true);\n callbackFn(textValue || 0);\n });\n this.addManagedListener(this.eSlider, eventChanged, function () {\n var sliderValue = _this.eSlider.getValue();\n _this.eText.setValue(sliderValue, true);\n callbackFn(parseFloat(sliderValue));\n });\n return this;\n };\n AgSlider.prototype.setSliderWidth = function (width) {\n this.eSlider.setWidth(width);\n return this;\n };\n AgSlider.prototype.setTextFieldWidth = function (width) {\n this.eText.setWidth(width);\n return this;\n };\n AgSlider.prototype.setMinValue = function (minValue) {\n this.eSlider.setMinValue(minValue);\n this.eText.setMin(minValue);\n return this;\n };\n AgSlider.prototype.setMaxValue = function (maxValue) {\n this.eSlider.setMaxValue(maxValue);\n this.eText.setMax(maxValue);\n return this;\n };\n AgSlider.prototype.getValue = function () {\n return this.eText.getValue();\n };\n AgSlider.prototype.setValue = function (value) {\n if (this.getValue() === value) {\n return this;\n }\n this.eText.setValue(value, true);\n this.eSlider.setValue(value, true);\n this.dispatchEvent({ type: AgAbstractField.EVENT_CHANGED });\n return this;\n };\n AgSlider.prototype.setStep = function (step) {\n this.eSlider.setStep(step);\n this.eText.setStep(step);\n return this;\n };\n AgSlider.TEMPLATE = \"
\\n \\n
\\n \\n \\n
\\n
\";\n __decorate$1B([\n RefSelector('eLabel')\n ], AgSlider.prototype, \"eLabel\", void 0);\n __decorate$1B([\n RefSelector('eSlider')\n ], AgSlider.prototype, \"eSlider\", void 0);\n __decorate$1B([\n RefSelector('eText')\n ], AgSlider.prototype, \"eText\", void 0);\n __decorate$1B([\n PostConstruct\n ], AgSlider.prototype, \"init\", null);\n return AgSlider;\n}(AgAbstractLabel));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1W = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1C = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar AgAngleSelect = /** @class */ (function (_super) {\n __extends$1W(AgAngleSelect, _super);\n function AgAngleSelect(config) {\n var _this = _super.call(this, config, AgAngleSelect.TEMPLATE) || this;\n _this.radius = 0;\n _this.offsetX = 0;\n _this.offsetY = 0;\n return _this;\n }\n AgAngleSelect.prototype.postConstruct = function () {\n var _this = this;\n _super.prototype.postConstruct.call(this);\n this.dragListener = {\n eElement: this.eParentCircle,\n dragStartPixels: 0,\n onDragStart: function (e) {\n _this.parentCircleRect = _this.eParentCircle.getBoundingClientRect();\n },\n onDragging: function (e) { return _this.calculateAngleDrag(e); },\n onDragStop: function () { }\n };\n this.dragService.addDragSource(this.dragListener);\n this.eAngleValue\n .setLabel('')\n .setLabelWidth(5)\n .setInputWidth(45)\n .setMin(0)\n .setMax(360)\n .setValue(\"\" + this.degrees)\n .onValueChange(function (value) {\n if (value == null || value === '') {\n value = '0';\n }\n value = _this.eAngleValue.normalizeValue(value);\n var floatValue = parseFloat(value);\n if (floatValue > 180) {\n floatValue = floatValue - 360;\n }\n _this.setValue(floatValue);\n });\n this.updateNumberInput();\n if (exists(this.getValue())) {\n this.eAngleValue.setValue(this.normalizeNegativeValue(this.getValue()).toString());\n }\n this.addManagedListener(this, AgAbstractField.EVENT_CHANGED, function () {\n var eDocument = _this.gridOptionsWrapper.getDocument();\n if (_this.eAngleValue.getInputElement().contains(eDocument.activeElement)) {\n return;\n }\n _this.updateNumberInput();\n });\n };\n AgAngleSelect.prototype.updateNumberInput = function () {\n var normalizedValue = this.normalizeNegativeValue(this.getValue());\n this.eAngleValue.setValue(normalizedValue.toString());\n };\n AgAngleSelect.prototype.positionChildCircle = function (radians) {\n var rect = this.parentCircleRect || { width: 24, height: 24 };\n var eChildCircle = this.eChildCircle;\n var centerX = rect.width / 2;\n var centerY = rect.height / 2;\n eChildCircle.style.left = centerX + Math.cos(radians) * 8 + \"px\";\n eChildCircle.style.top = centerY + Math.sin(radians) * 8 + \"px\";\n };\n AgAngleSelect.prototype.calculatePolar = function () {\n var x = this.offsetX;\n var y = this.offsetY;\n var radians = Math.atan2(y, x);\n this.degrees = this.toDegrees(radians);\n this.radius = Math.sqrt((x * x) + (y * y));\n this.positionChildCircle(radians);\n };\n AgAngleSelect.prototype.calculateCartesian = function () {\n var radians = this.toRadians(this.getValue());\n var radius = this.getRadius();\n this\n .setOffsetX(Math.cos(radians) * radius)\n .setOffsetY(Math.sin(radians) * radius);\n };\n AgAngleSelect.prototype.setOffsetX = function (offset) {\n if (this.offsetX !== offset) {\n this.offsetX = offset;\n this.calculatePolar();\n }\n return this;\n };\n AgAngleSelect.prototype.setOffsetY = function (offset) {\n if (this.offsetY !== offset) {\n this.offsetY = offset;\n this.calculatePolar();\n }\n return this;\n };\n AgAngleSelect.prototype.calculateAngleDrag = function (e) {\n var rect = this.parentCircleRect;\n var centerX = rect.width / 2;\n var centerY = rect.height / 2;\n var x = e.clientX - rect.left;\n var y = e.clientY - rect.top;\n var dx = x - centerX;\n var dy = y - centerY;\n var radians = Math.atan2(dy, dx);\n this.setValue(radians, true);\n };\n AgAngleSelect.prototype.toDegrees = function (radians) {\n return radians / Math.PI * 180;\n };\n AgAngleSelect.prototype.toRadians = function (degrees) {\n return degrees / 180 * Math.PI;\n };\n AgAngleSelect.prototype.normalizeNegativeValue = function (degrees) {\n return degrees < 0 ? 360 + degrees : degrees;\n };\n AgAngleSelect.prototype.normalizeAngle180 = function (radians) {\n radians %= Math.PI * 2;\n if (radians < -Math.PI) {\n radians += Math.PI * 2;\n }\n else if (radians >= Math.PI) {\n radians -= Math.PI * 2;\n }\n return radians;\n };\n AgAngleSelect.prototype.getRadius = function () {\n return this.radius;\n };\n AgAngleSelect.prototype.setRadius = function (r) {\n if (this.radius === r) {\n return this;\n }\n this.radius = r;\n this.calculateCartesian();\n return this;\n };\n AgAngleSelect.prototype.onValueChange = function (callbackFn) {\n var _this = this;\n this.addManagedListener(this, AgAbstractField.EVENT_CHANGED, function () {\n callbackFn(_this.degrees);\n });\n return this;\n };\n AgAngleSelect.prototype.getValue = function (radians) {\n return radians ? this.toRadians(this.degrees) : this.degrees;\n };\n AgAngleSelect.prototype.setValue = function (degrees, radians) {\n var radiansValue;\n if (!radians) {\n radiansValue = this.normalizeAngle180(this.toRadians(degrees));\n }\n else {\n radiansValue = degrees;\n }\n degrees = this.toDegrees(radiansValue);\n if (this.degrees !== degrees) {\n this.degrees = Math.floor(degrees);\n this.calculateCartesian();\n this.positionChildCircle(radiansValue);\n this.dispatchEvent({ type: AgAbstractField.EVENT_CHANGED });\n }\n return this;\n };\n AgAngleSelect.prototype.setWidth = function (width) {\n setFixedWidth(this.getGui(), width);\n return this;\n };\n AgAngleSelect.prototype.destroy = function () {\n this.dragService.removeDragSource(this.dragListener);\n _super.prototype.destroy.call(this);\n };\n AgAngleSelect.TEMPLATE = \"
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\";\n __decorate$1C([\n RefSelector('eLabel')\n ], AgAngleSelect.prototype, \"eLabel\", void 0);\n __decorate$1C([\n RefSelector('eParentCircle')\n ], AgAngleSelect.prototype, \"eParentCircle\", void 0);\n __decorate$1C([\n RefSelector('eChildCircle')\n ], AgAngleSelect.prototype, \"eChildCircle\", void 0);\n __decorate$1C([\n RefSelector('eAngleValue')\n ], AgAngleSelect.prototype, \"eAngleValue\", void 0);\n __decorate$1C([\n Autowired('dragService')\n ], AgAngleSelect.prototype, \"dragService\", void 0);\n return AgAngleSelect;\n}(AgAbstractLabel));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1X = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1D = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __read$e = (undefined && undefined.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar AgColorPanel = /** @class */ (function (_super) {\n __extends$1X(AgColorPanel, _super);\n function AgColorPanel(config) {\n var _this = _super.call(this, AgColorPanel.TEMPLATE) || this;\n _this.H = 1; // in the [0, 1] range\n _this.S = 1; // in the [0, 1] range\n _this.B = 1; // in the [0, 1] range\n _this.A = 1; // in the [0, 1] range\n _this.isSpectrumDragging = false;\n _this.isSpectrumHueDragging = false;\n _this.isSpectrumAlphaDragging = false;\n _this.colorChanged = false;\n _this.picker = config.picker;\n return _this;\n }\n AgColorPanel.prototype.postConstruct = function () {\n var eGui = this.getGui();\n this.initRecentColors();\n this.addManagedListener(this.spectrumVal, 'mousedown', this.onSpectrumDraggerDown.bind(this));\n this.addManagedListener(eGui, 'mousemove', this.onSpectrumDraggerMove.bind(this));\n this.addManagedListener(this.spectrumHue, 'mousedown', this.onSpectrumHueDown.bind(this));\n this.addManagedListener(eGui, 'mousemove', this.onSpectrumHueMove.bind(this));\n this.addManagedListener(this.spectrumAlpha, 'mousedown', this.onSpectrumAlphaDown.bind(this));\n this.addManagedListener(eGui, 'mousemove', this.onSpectrumAlphaMove.bind(this));\n // Listening to `mouseup` on the document on purpose. The user might release the mouse button\n // outside the UI control. When the mouse returns back to the control's area, the dragging\n // of the thumb is not expected and seen as a bug.\n this.addManagedListener(document, 'mouseup', this.onMouseUp.bind(this));\n this.addManagedListener(this.recentColors, 'click', this.onRecentColorClick.bind(this));\n };\n AgColorPanel.prototype.refreshSpectrumRect = function () {\n return this.spectrumValRect = this.spectrumVal.getBoundingClientRect();\n };\n AgColorPanel.prototype.refreshHueRect = function () {\n return this.spectrumHueRect = this.spectrumHue.getBoundingClientRect();\n };\n AgColorPanel.prototype.refreshAlphaRect = function () {\n return this.spectrumAlphaRect = this.spectrumAlpha.getBoundingClientRect();\n };\n AgColorPanel.prototype.onSpectrumDraggerDown = function (e) {\n this.refreshSpectrumRect();\n this.isSpectrumDragging = true;\n this.moveDragger(e);\n };\n AgColorPanel.prototype.onSpectrumDraggerMove = function (e) {\n if (this.isSpectrumDragging) {\n this.moveDragger(e);\n }\n };\n AgColorPanel.prototype.onSpectrumHueDown = function (e) {\n this.refreshHueRect();\n this.isSpectrumHueDragging = true;\n this.moveHueSlider(e);\n };\n AgColorPanel.prototype.onSpectrumHueMove = function (e) {\n if (this.isSpectrumHueDragging) {\n this.moveHueSlider(e);\n }\n };\n AgColorPanel.prototype.onSpectrumAlphaDown = function (e) {\n this.refreshAlphaRect();\n this.isSpectrumAlphaDragging = true;\n this.moveAlphaSlider(e);\n };\n AgColorPanel.prototype.onSpectrumAlphaMove = function (e) {\n if (this.isSpectrumAlphaDragging) {\n this.moveAlphaSlider(e);\n }\n };\n AgColorPanel.prototype.onMouseUp = function () {\n this.isSpectrumDragging = false;\n this.isSpectrumHueDragging = false;\n this.isSpectrumAlphaDragging = false;\n };\n AgColorPanel.prototype.moveDragger = function (e) {\n var valRect = this.spectrumValRect;\n if (valRect) {\n var x = e.clientX - valRect.left;\n var y = e.clientY - valRect.top;\n x = Math.max(x, 0);\n x = Math.min(x, valRect.width);\n y = Math.max(y, 0);\n y = Math.min(y, valRect.height);\n this.setSpectrumValue(x / valRect.width, 1 - y / valRect.height);\n }\n };\n AgColorPanel.prototype.moveHueSlider = function (e) {\n var hueRect = this.spectrumHueRect;\n if (hueRect) {\n var slider = this.spectrumHueSlider;\n var sliderRect = slider.getBoundingClientRect();\n var x = e.clientX - hueRect.left;\n x = Math.max(x, 0);\n x = Math.min(x, hueRect.width);\n this.H = 1 - x / hueRect.width;\n slider.style.left = (x + sliderRect.width / 2) + 'px';\n this.update();\n }\n };\n AgColorPanel.prototype.moveAlphaSlider = function (e) {\n var alphaRect = this.spectrumAlphaRect;\n if (alphaRect) {\n var slider = this.spectrumAlphaSlider;\n var sliderRect = slider.getBoundingClientRect();\n var x = e.clientX - alphaRect.left;\n x = Math.max(x, 0);\n x = Math.min(x, alphaRect.width);\n this.A = x / alphaRect.width;\n slider.style.left = (x + sliderRect.width / 2) + 'px';\n this.update();\n }\n };\n AgColorPanel.prototype.update = function () {\n var color = Color.fromHSB(this.H * 360, this.S, this.B, this.A);\n var spectrumColor = Color.fromHSB(this.H * 360, 1, 1);\n var rgbaColor = color.toRgbaString();\n // the recent color list needs to know color has actually changed\n var colorPicker = this.picker;\n var existingColor = Color.fromString(colorPicker.getValue());\n if (existingColor.toRgbaString() !== rgbaColor) {\n this.colorChanged = true;\n }\n colorPicker.setValue(rgbaColor);\n this.spectrumColor.style.backgroundColor = spectrumColor.toRgbaString();\n this.spectrumDragger.style.backgroundColor = rgbaColor;\n };\n /**\n * @param saturation In the [0, 1] interval.\n * @param brightness In the [0, 1] interval.\n */\n AgColorPanel.prototype.setSpectrumValue = function (saturation, brightness) {\n var valRect = this.spectrumValRect || this.refreshSpectrumRect();\n if (valRect) {\n var dragger = this.spectrumDragger;\n var draggerRect = dragger.getBoundingClientRect();\n saturation = Math.max(0, saturation);\n saturation = Math.min(1, saturation);\n brightness = Math.max(0, brightness);\n brightness = Math.min(1, brightness);\n this.S = saturation;\n this.B = brightness;\n dragger.style.left = (saturation * valRect.width - draggerRect.width / 2) + 'px';\n dragger.style.top = ((1 - brightness) * valRect.height - draggerRect.height / 2) + 'px';\n this.update();\n }\n };\n AgColorPanel.prototype.initRecentColors = function () {\n var recentColors = AgColorPanel.recentColors;\n var innerHtml = recentColors.map(function (color, index) {\n return \"
\";\n });\n this.recentColors.innerHTML = innerHtml.join('');\n };\n AgColorPanel.prototype.setValue = function (val) {\n var color = Color.fromString(val);\n var _a = __read$e(color.toHSB(), 3), h = _a[0], s = _a[1], b = _a[2];\n this.H = (isNaN(h) ? 0 : h) / 360;\n this.A = color.a;\n var spectrumHueRect = this.spectrumHueRect || this.refreshHueRect();\n var spectrumAlphaRect = this.spectrumAlphaRect || this.refreshAlphaRect();\n this.spectrumHueSlider.style.left = ((this.H - 1) * -spectrumHueRect.width) + \"px\";\n this.spectrumAlphaSlider.style.left = (this.A * spectrumAlphaRect.width) + \"px\";\n this.setSpectrumValue(s, b);\n };\n AgColorPanel.prototype.onRecentColorClick = function (e) {\n var target = e.target;\n if (!exists(target.id)) {\n return;\n }\n var id = parseInt(target.id, 10);\n this.setValue(AgColorPanel.recentColors[id]);\n this.destroy();\n };\n AgColorPanel.prototype.addRecentColor = function () {\n var color = Color.fromHSB(this.H * 360, this.S, this.B, this.A);\n var rgbaColor = color.toRgbaString();\n var recentColors = AgColorPanel.recentColors;\n if (!this.colorChanged || recentColors[0] === rgbaColor) {\n return;\n }\n // remove duplicate color\n recentColors = recentColors.filter(function (currentColor) { return currentColor != rgbaColor; });\n // add color to head\n recentColors = [rgbaColor].concat(recentColors);\n // ensure we don't exceed max number of recent colors\n if (recentColors.length > AgColorPanel.maxRecentColors) {\n recentColors = recentColors.slice(0, AgColorPanel.maxRecentColors);\n }\n AgColorPanel.recentColors = recentColors;\n };\n AgColorPanel.prototype.destroy = function () {\n this.addRecentColor();\n _super.prototype.destroy.call(this);\n };\n AgColorPanel.maxRecentColors = 8;\n AgColorPanel.recentColors = [];\n AgColorPanel.TEMPLATE = \"
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\";\n __decorate$1D([\n RefSelector('spectrumColor')\n ], AgColorPanel.prototype, \"spectrumColor\", void 0);\n __decorate$1D([\n RefSelector('spectrumVal')\n ], AgColorPanel.prototype, \"spectrumVal\", void 0);\n __decorate$1D([\n RefSelector('spectrumDragger')\n ], AgColorPanel.prototype, \"spectrumDragger\", void 0);\n __decorate$1D([\n RefSelector('spectrumHue')\n ], AgColorPanel.prototype, \"spectrumHue\", void 0);\n __decorate$1D([\n RefSelector('spectrumHueSlider')\n ], AgColorPanel.prototype, \"spectrumHueSlider\", void 0);\n __decorate$1D([\n RefSelector('spectrumAlpha')\n ], AgColorPanel.prototype, \"spectrumAlpha\", void 0);\n __decorate$1D([\n RefSelector('spectrumAlphaSlider')\n ], AgColorPanel.prototype, \"spectrumAlphaSlider\", void 0);\n __decorate$1D([\n RefSelector('recentColors')\n ], AgColorPanel.prototype, \"recentColors\", void 0);\n __decorate$1D([\n PostConstruct\n ], AgColorPanel.prototype, \"postConstruct\", null);\n return AgColorPanel;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1Y = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1E = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar AgPanel = /** @class */ (function (_super) {\n __extends$1Y(AgPanel, _super);\n function AgPanel(config) {\n var _this = _super.call(this, AgPanel.getTemplate(config)) || this;\n _this.closable = true;\n _this.config = config;\n return _this;\n }\n AgPanel.getTemplate = function (config) {\n var cssIdentifier = (config && config.cssIdentifier) || 'default';\n return /* html */ \"
\\n
\\n \\n
\\n
\\n
\\n
\";\n };\n AgPanel.prototype.postConstruct = function () {\n var _this = this;\n var _a = this.config, component = _a.component, closable = _a.closable, hideTitleBar = _a.hideTitleBar, title = _a.title, _b = _a.minWidth, minWidth = _b === void 0 ? 250 : _b, width = _a.width, _c = _a.minHeight, minHeight = _c === void 0 ? 250 : _c, height = _a.height, centered = _a.centered, popup = _a.popup, x = _a.x, y = _a.y;\n this.positionableFeature = new PositionableFeature(this.getGui(), {\n minWidth: minWidth, width: width, minHeight: minHeight, height: height, centered: centered, x: x, y: y, popup: popup,\n calculateTopBuffer: function () { return _this.positionableFeature.getHeight() - _this.getBodyHeight(); }\n });\n this.createManagedBean(this.positionableFeature);\n var eGui = this.getGui();\n if (component) {\n this.setBodyComponent(component);\n }\n if (!hideTitleBar) {\n if (title) {\n this.setTitle(title);\n }\n this.setClosable(closable != null ? closable : this.closable);\n }\n else {\n this.eTitleBar.classList.add('ag-hidden');\n }\n this.addManagedListener(this.eTitleBar, 'mousedown', function (e) {\n var eDocument = _this.gridOptionsWrapper.getDocument();\n if (eGui.contains(e.relatedTarget) ||\n eGui.contains(eDocument.activeElement) ||\n _this.eTitleBarButtons.contains(e.target)) {\n e.preventDefault();\n return;\n }\n var focusEl = _this.eContentWrapper.querySelector('button, [href], input, select, textarea, [tabindex]');\n if (focusEl) {\n focusEl.focus();\n }\n });\n if (popup && this.positionableFeature.isPositioned()) {\n return;\n }\n if (this.renderComponent) {\n this.renderComponent();\n }\n this.positionableFeature.initialisePosition();\n this.eContentWrapper.style.height = '0';\n };\n AgPanel.prototype.renderComponent = function () {\n var _this = this;\n var eGui = this.getGui();\n eGui.focus();\n this.close = function () {\n eGui.parentElement.removeChild(eGui);\n _this.destroy();\n };\n };\n AgPanel.prototype.getHeight = function () {\n return this.positionableFeature.getHeight();\n };\n AgPanel.prototype.setHeight = function (height) {\n this.positionableFeature.setHeight(height);\n };\n AgPanel.prototype.getWidth = function () {\n return this.positionableFeature.getWidth();\n };\n AgPanel.prototype.setWidth = function (width) {\n this.positionableFeature.setWidth(width);\n };\n AgPanel.prototype.setClosable = function (closable) {\n if (closable !== this.closable) {\n this.closable = closable;\n }\n if (closable) {\n var closeButtonComp = this.closeButtonComp = new Component(AgPanel.CLOSE_BTN_TEMPLATE);\n this.getContext().createBean(closeButtonComp);\n var eGui = closeButtonComp.getGui();\n var child = createIconNoSpan('close', this.gridOptionsWrapper);\n child.classList.add('ag-panel-title-bar-button-icon');\n eGui.appendChild(child);\n this.addTitleBarButton(closeButtonComp);\n closeButtonComp.addManagedListener(eGui, 'click', this.onBtClose.bind(this));\n }\n else if (this.closeButtonComp) {\n var eGui = this.closeButtonComp.getGui();\n eGui.parentElement.removeChild(eGui);\n this.closeButtonComp = this.destroyBean(this.closeButtonComp);\n }\n };\n AgPanel.prototype.setBodyComponent = function (bodyComponent) {\n bodyComponent.setParentComponent(this);\n this.eContentWrapper.appendChild(bodyComponent.getGui());\n };\n AgPanel.prototype.addTitleBarButton = function (button, position) {\n var eTitleBarButtons = this.eTitleBarButtons;\n var buttons = eTitleBarButtons.children;\n var len = buttons.length;\n if (position == null) {\n position = len;\n }\n position = Math.max(0, Math.min(position, len));\n button.addCssClass('ag-panel-title-bar-button');\n var eGui = button.getGui();\n if (position === 0) {\n eTitleBarButtons.insertAdjacentElement('afterbegin', eGui);\n }\n else if (position === len) {\n eTitleBarButtons.insertAdjacentElement('beforeend', eGui);\n }\n else {\n buttons[position - 1].insertAdjacentElement('afterend', eGui);\n }\n button.setParentComponent(this);\n };\n AgPanel.prototype.getBodyHeight = function () {\n return getInnerHeight(this.eContentWrapper);\n };\n AgPanel.prototype.getBodyWidth = function () {\n return getInnerWidth(this.eContentWrapper);\n };\n AgPanel.prototype.setTitle = function (title) {\n this.eTitle.innerText = title;\n };\n // called when user hits the 'x' in the top right\n AgPanel.prototype.onBtClose = function () {\n this.close();\n };\n AgPanel.prototype.destroy = function () {\n if (this.closeButtonComp) {\n this.closeButtonComp = this.destroyBean(this.closeButtonComp);\n }\n var eGui = this.getGui();\n if (eGui && eGui.offsetParent) {\n this.close();\n }\n _super.prototype.destroy.call(this);\n };\n AgPanel.CLOSE_BTN_TEMPLATE = \"
\";\n __decorate$1E([\n RefSelector('eContentWrapper')\n ], AgPanel.prototype, \"eContentWrapper\", void 0);\n __decorate$1E([\n RefSelector('eTitleBar')\n ], AgPanel.prototype, \"eTitleBar\", void 0);\n __decorate$1E([\n RefSelector('eTitleBarButtons')\n ], AgPanel.prototype, \"eTitleBarButtons\", void 0);\n __decorate$1E([\n RefSelector('eTitle')\n ], AgPanel.prototype, \"eTitle\", void 0);\n __decorate$1E([\n PostConstruct\n ], AgPanel.prototype, \"postConstruct\", null);\n return AgPanel;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1Z = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign$e = (undefined && undefined.__assign) || function () {\n __assign$e = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign$e.apply(this, arguments);\n};\nvar __decorate$1F = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar AgDialog = /** @class */ (function (_super) {\n __extends$1Z(AgDialog, _super);\n function AgDialog(config) {\n var _this = _super.call(this, __assign$e(__assign$e({}, config), { popup: true })) || this;\n _this.isMaximizable = false;\n _this.isMaximized = false;\n _this.maximizeListeners = [];\n _this.resizeListenerDestroy = null;\n _this.lastPosition = {\n x: 0,\n y: 0,\n width: 0,\n height: 0\n };\n return _this;\n }\n AgDialog.prototype.postConstruct = function () {\n var _this = this;\n var eGui = this.getGui();\n var _a = this.config, movable = _a.movable, resizable = _a.resizable, maximizable = _a.maximizable;\n this.addCssClass('ag-dialog');\n _super.prototype.postConstruct.call(this);\n this.addManagedListener(eGui, 'focusin', function (e) {\n if (eGui.contains(e.relatedTarget)) {\n return;\n }\n _this.popupService.bringPopupToFront(eGui);\n });\n if (movable) {\n this.setMovable(movable);\n }\n if (maximizable) {\n this.setMaximizable(maximizable);\n }\n if (resizable) {\n this.setResizable(resizable);\n }\n };\n AgDialog.prototype.renderComponent = function () {\n var eGui = this.getGui();\n var _a = this.config, alwaysOnTop = _a.alwaysOnTop, modal = _a.modal, title = _a.title;\n var translate = this.gridOptionsWrapper.getLocaleTextFunc();\n var addPopupRes = this.popupService.addPopup({\n modal: modal,\n eChild: eGui,\n closeOnEsc: true,\n closedCallback: this.destroy.bind(this),\n alwaysOnTop: alwaysOnTop,\n ariaLabel: title || translate('ariaLabelDialog', 'Dialog')\n });\n if (addPopupRes) {\n this.close = addPopupRes.hideFunc;\n }\n };\n AgDialog.prototype.toggleMaximize = function () {\n var position = this.positionableFeature.getPosition();\n if (this.isMaximized) {\n var _a = this.lastPosition, x = _a.x, y = _a.y, width = _a.width, height = _a.height;\n this.setWidth(width);\n this.setHeight(height);\n this.positionableFeature.offsetElement(x, y);\n }\n else {\n this.lastPosition.width = this.getWidth();\n this.lastPosition.height = this.getHeight();\n this.lastPosition.x = position.x;\n this.lastPosition.y = position.y;\n this.positionableFeature.offsetElement(0, 0);\n this.setHeight('100%');\n this.setWidth('100%');\n }\n this.isMaximized = !this.isMaximized;\n this.refreshMaximizeIcon();\n };\n AgDialog.prototype.refreshMaximizeIcon = function () {\n setDisplayed(this.maximizeIcon, !this.isMaximized);\n setDisplayed(this.minimizeIcon, this.isMaximized);\n };\n AgDialog.prototype.clearMaximizebleListeners = function () {\n if (this.maximizeListeners.length) {\n this.maximizeListeners.forEach(function (destroyListener) { return destroyListener(); });\n this.maximizeListeners.length = 0;\n }\n if (this.resizeListenerDestroy) {\n this.resizeListenerDestroy();\n this.resizeListenerDestroy = null;\n }\n };\n AgDialog.prototype.destroy = function () {\n this.maximizeButtonComp = this.destroyBean(this.maximizeButtonComp);\n this.clearMaximizebleListeners();\n _super.prototype.destroy.call(this);\n };\n AgDialog.prototype.setResizable = function (resizable) {\n this.positionableFeature.setResizable(resizable);\n };\n AgDialog.prototype.setMovable = function (movable) {\n this.positionableFeature.setMovable(movable, this.eTitleBar);\n };\n AgDialog.prototype.setMaximizable = function (maximizable) {\n var _this = this;\n if (!maximizable) {\n this.clearMaximizebleListeners();\n if (this.maximizeButtonComp) {\n this.destroyBean(this.maximizeButtonComp);\n this.maximizeButtonComp = this.maximizeIcon = this.minimizeIcon = undefined;\n }\n return;\n }\n var eTitleBar = this.eTitleBar;\n if (!eTitleBar || maximizable === this.isMaximizable) {\n return;\n }\n var maximizeButtonComp = this.maximizeButtonComp =\n this.createBean(new Component(/* html */ \"
\"));\n var eGui = maximizeButtonComp.getGui();\n eGui.appendChild(this.maximizeIcon = createIconNoSpan('maximize', this.gridOptionsWrapper));\n this.maximizeIcon.classList.add('ag-panel-title-bar-button-icon');\n eGui.appendChild(this.minimizeIcon = createIconNoSpan('minimize', this.gridOptionsWrapper));\n this.minimizeIcon.classList.add('ag-panel-title-bar-button-icon', 'ag-hidden');\n maximizeButtonComp.addManagedListener(eGui, 'click', this.toggleMaximize.bind(this));\n this.addTitleBarButton(maximizeButtonComp, 0);\n this.maximizeListeners.push(this.addManagedListener(eTitleBar, 'dblclick', this.toggleMaximize.bind(this)));\n this.resizeListenerDestroy = this.addManagedListener(this, 'resize', function () {\n _this.isMaximized = false;\n _this.refreshMaximizeIcon();\n });\n };\n __decorate$1F([\n Autowired('popupService')\n ], AgDialog.prototype, \"popupService\", void 0);\n return AgDialog;\n}(AgPanel));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1_ = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar AgColorPicker = /** @class */ (function (_super) {\n __extends$1_(AgColorPicker, _super);\n function AgColorPicker(config) {\n var _this = _super.call(this, config, 'ag-color-picker', 'colorPicker') || this;\n if (config && config.color) {\n _this.value = config.color;\n }\n return _this;\n }\n AgColorPicker.prototype.postConstruct = function () {\n _super.prototype.postConstruct.call(this);\n if (this.value) {\n this.setValue(this.value);\n }\n };\n AgColorPicker.prototype.showPicker = function () {\n var _this = this;\n var eGuiRect = this.getGui().getBoundingClientRect();\n var colorDialog = this.createBean(new AgDialog({\n closable: false,\n modal: true,\n hideTitleBar: true,\n minWidth: 190,\n width: 190,\n height: 250,\n x: eGuiRect.right - 190,\n y: eGuiRect.top - 250\n }));\n this.isPickerDisplayed = true;\n colorDialog.addCssClass('ag-color-dialog');\n setAriaExpanded(this.eWrapper, true);\n var colorPanel = this.createBean(new AgColorPanel({ picker: this }));\n colorPanel.addDestroyFunc(function () {\n if (colorDialog.isAlive()) {\n _this.destroyBean(colorDialog);\n }\n });\n colorDialog.setParentComponent(this);\n colorDialog.setBodyComponent(colorPanel);\n colorPanel.setValue(this.getValue());\n colorDialog.addDestroyFunc(function () {\n // here we check if the picker was already being\n // destroyed to avoid a stack overflow\n if (!_this.isDestroyingPicker) {\n _this.isDestroyingPicker = true;\n if (colorPanel.isAlive()) {\n _this.destroyBean(colorPanel);\n }\n }\n else {\n _this.isDestroyingPicker = false;\n }\n if (_this.isAlive()) {\n setAriaExpanded(_this.eWrapper, false);\n _this.getFocusableElement().focus();\n }\n _this.isPickerDisplayed = false;\n });\n return colorDialog;\n };\n AgColorPicker.prototype.setValue = function (color) {\n if (this.value === color) {\n return this;\n }\n this.eDisplayField.style.backgroundColor = color;\n return _super.prototype.setValue.call(this, color);\n };\n AgColorPicker.prototype.getValue = function () {\n return this.value;\n };\n return AgColorPicker;\n}(AgPickerField));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$1$ = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1G = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar AgGroupComponent = /** @class */ (function (_super) {\n __extends$1$(AgGroupComponent, _super);\n function AgGroupComponent(params) {\n if (params === void 0) { params = {}; }\n var _this = _super.call(this, AgGroupComponent.getTemplate(params)) || this;\n _this.suppressEnabledCheckbox = true;\n _this.suppressOpenCloseIcons = false;\n var title = params.title, enabled = params.enabled, items = params.items, suppressEnabledCheckbox = params.suppressEnabledCheckbox, suppressOpenCloseIcons = params.suppressOpenCloseIcons;\n _this.title = title;\n _this.cssIdentifier = params.cssIdentifier || 'default';\n _this.enabled = enabled != null ? enabled : true;\n _this.items = items || [];\n _this.alignItems = params.alignItems || 'center';\n if (suppressEnabledCheckbox != null) {\n _this.suppressEnabledCheckbox = suppressEnabledCheckbox;\n }\n if (suppressOpenCloseIcons != null) {\n _this.suppressOpenCloseIcons = suppressOpenCloseIcons;\n }\n return _this;\n }\n AgGroupComponent.getTemplate = function (params) {\n var cssIdentifier = params.cssIdentifier || 'default';\n var direction = params.direction || 'vertical';\n return /* html */ \"
\\n
\\n \\n \\n \\n
\\n
\\n \\n
\\n
\\n
\";\n };\n AgGroupComponent.prototype.postConstruct = function () {\n if (this.items.length) {\n var initialItems = this.items;\n this.items = [];\n this.addItems(initialItems);\n }\n var localeTextFunc = this.gridOptionsWrapper.getLocaleTextFunc();\n this.cbGroupEnabled.setLabel(localeTextFunc('enabled', 'Enabled'));\n if (this.title) {\n this.setTitle(this.title);\n }\n if (this.enabled) {\n this.setEnabled(this.enabled);\n }\n this.setAlignItems(this.alignItems);\n this.hideEnabledCheckbox(this.suppressEnabledCheckbox);\n this.hideOpenCloseIcons(this.suppressOpenCloseIcons);\n this.setupExpandContract();\n this.refreshAriaStatus();\n this.refreshChildDisplay();\n };\n AgGroupComponent.prototype.setupExpandContract = function () {\n var _this = this;\n this.eGroupClosedIcon.appendChild(createIcon('columnSelectClosed', this.gridOptionsWrapper, null));\n this.eGroupOpenedIcon.appendChild(createIcon('columnSelectOpen', this.gridOptionsWrapper, null));\n this.addManagedListener(this.eTitleBar, 'click', function () { return _this.toggleGroupExpand(); });\n this.addManagedListener(this.eTitleBar, 'keydown', function (e) {\n switch (e.key) {\n case KeyCode.ENTER:\n case KeyCode.SPACE:\n e.preventDefault();\n _this.toggleGroupExpand();\n break;\n case KeyCode.RIGHT:\n case KeyCode.LEFT:\n e.preventDefault();\n _this.toggleGroupExpand(e.key === KeyCode.RIGHT);\n break;\n }\n });\n };\n AgGroupComponent.prototype.refreshAriaStatus = function () {\n if (!this.suppressOpenCloseIcons) {\n setAriaExpanded(this.eTitleBar, this.expanded);\n }\n };\n AgGroupComponent.prototype.refreshChildDisplay = function () {\n var showIcon = !this.suppressOpenCloseIcons;\n setDisplayed(this.eToolbar, this.expanded && !this.suppressEnabledCheckbox);\n setDisplayed(this.eGroupOpenedIcon, showIcon && this.expanded);\n setDisplayed(this.eGroupClosedIcon, showIcon && !this.expanded);\n };\n AgGroupComponent.prototype.isExpanded = function () {\n return this.expanded;\n };\n AgGroupComponent.prototype.setAlignItems = function (alignment) {\n if (this.alignItems !== alignment) {\n this.removeCssClass(\"ag-group-item-alignment-\" + this.alignItems);\n }\n this.alignItems = alignment;\n var newCls = \"ag-group-item-alignment-\" + this.alignItems;\n this.addCssClass(newCls);\n return this;\n };\n AgGroupComponent.prototype.toggleGroupExpand = function (expanded) {\n if (this.suppressOpenCloseIcons) {\n this.expanded = true;\n this.refreshChildDisplay();\n setDisplayed(this.eContainer, true);\n return this;\n }\n expanded = expanded != null ? expanded : !this.expanded;\n if (this.expanded === expanded) {\n return this;\n }\n this.expanded = expanded;\n this.refreshAriaStatus();\n this.refreshChildDisplay();\n setDisplayed(this.eContainer, expanded);\n this.dispatchEvent({ type: this.expanded ? AgGroupComponent.EVENT_EXPANDED : AgGroupComponent.EVENT_COLLAPSED });\n return this;\n };\n AgGroupComponent.prototype.addItems = function (items) {\n var _this = this;\n items.forEach(function (item) { return _this.addItem(item); });\n };\n AgGroupComponent.prototype.addItem = function (item) {\n var container = this.eContainer;\n var el = item instanceof Component ? item.getGui() : item;\n el.classList.add('ag-group-item', \"ag-\" + this.cssIdentifier + \"-group-item\");\n container.appendChild(el);\n this.items.push(el);\n };\n AgGroupComponent.prototype.hideItem = function (hide, index) {\n var itemToHide = this.items[index];\n itemToHide.classList.toggle('ag-hidden', hide);\n };\n AgGroupComponent.prototype.setTitle = function (title) {\n this.eTitle.innerText = title;\n return this;\n };\n AgGroupComponent.prototype.addCssClassToTitleBar = function (cssClass) {\n this.eTitleBar.classList.add(cssClass);\n };\n AgGroupComponent.prototype.setEnabled = function (enabled, skipToggle) {\n this.enabled = enabled;\n this.refreshDisabledStyles();\n this.toggleGroupExpand(enabled);\n if (!skipToggle) {\n this.cbGroupEnabled.setValue(enabled);\n }\n return this;\n };\n AgGroupComponent.prototype.isEnabled = function () {\n return this.enabled;\n };\n AgGroupComponent.prototype.onEnableChange = function (callbackFn) {\n var _this = this;\n this.cbGroupEnabled.onValueChange(function (newSelection) {\n _this.setEnabled(newSelection, true);\n callbackFn(newSelection);\n });\n return this;\n };\n AgGroupComponent.prototype.hideEnabledCheckbox = function (hide) {\n this.suppressEnabledCheckbox = hide;\n this.refreshChildDisplay();\n this.refreshDisabledStyles();\n return this;\n };\n AgGroupComponent.prototype.hideOpenCloseIcons = function (hide) {\n this.suppressOpenCloseIcons = hide;\n if (hide) {\n this.toggleGroupExpand(true);\n }\n return this;\n };\n AgGroupComponent.prototype.refreshDisabledStyles = function () {\n this.addOrRemoveCssClass('ag-disabled', !this.enabled);\n if (this.suppressEnabledCheckbox && !this.enabled) {\n this.eTitleBar.classList.add('ag-disabled-group-title-bar');\n this.eTitleBar.removeAttribute('tabindex');\n }\n else {\n this.eTitleBar.classList.remove('ag-disabled-group-title-bar');\n this.eTitleBar.setAttribute('tabindex', '0');\n }\n this.eContainer.classList.toggle('ag-disabled-group-container', !this.enabled);\n };\n AgGroupComponent.EVENT_EXPANDED = 'expanded';\n AgGroupComponent.EVENT_COLLAPSED = 'collapsed';\n __decorate$1G([\n RefSelector('eTitleBar')\n ], AgGroupComponent.prototype, \"eTitleBar\", void 0);\n __decorate$1G([\n RefSelector('eGroupOpenedIcon')\n ], AgGroupComponent.prototype, \"eGroupOpenedIcon\", void 0);\n __decorate$1G([\n RefSelector('eGroupClosedIcon')\n ], AgGroupComponent.prototype, \"eGroupClosedIcon\", void 0);\n __decorate$1G([\n RefSelector('eToolbar')\n ], AgGroupComponent.prototype, \"eToolbar\", void 0);\n __decorate$1G([\n RefSelector('cbGroupEnabled')\n ], AgGroupComponent.prototype, \"cbGroupEnabled\", void 0);\n __decorate$1G([\n RefSelector('eTitle')\n ], AgGroupComponent.prototype, \"eTitle\", void 0);\n __decorate$1G([\n RefSelector('eContainer')\n ], AgGroupComponent.prototype, \"eContainer\", void 0);\n __decorate$1G([\n PostConstruct\n ], AgGroupComponent.prototype, \"postConstruct\", null);\n return AgGroupComponent;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$20 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1H = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar TabGuardCtrl = /** @class */ (function (_super) {\n __extends$20(TabGuardCtrl, _super);\n function TabGuardCtrl(params) {\n var _this = _super.call(this) || this;\n _this.skipTabGuardFocus = false;\n var comp = params.comp, eTopGuard = params.eTopGuard, eBottomGuard = params.eBottomGuard, focusInnerElement = params.focusInnerElement, onFocusIn = params.onFocusIn, onFocusOut = params.onFocusOut, shouldStopEventPropagation = params.shouldStopEventPropagation, onTabKeyDown = params.onTabKeyDown, handleKeyDown = params.handleKeyDown, eFocusableElement = params.eFocusableElement;\n _this.comp = comp;\n _this.eTopGuard = eTopGuard;\n _this.eBottomGuard = eBottomGuard;\n _this.providedFocusInnerElement = focusInnerElement;\n _this.eFocusableElement = eFocusableElement;\n _this.providedFocusIn = onFocusIn;\n _this.providedFocusOut = onFocusOut;\n _this.providedShouldStopEventPropagation = shouldStopEventPropagation;\n _this.providedOnTabKeyDown = onTabKeyDown;\n _this.providedHandleKeyDown = handleKeyDown;\n return _this;\n }\n TabGuardCtrl.prototype.postConstruct = function () {\n var _this = this;\n this.createManagedBean(new ManagedFocusFeature(this.eFocusableElement, {\n shouldStopEventPropagation: function () { return _this.shouldStopEventPropagation(); },\n onTabKeyDown: function (e) { return _this.onTabKeyDown(e); },\n handleKeyDown: function (e) { return _this.handleKeyDown(e); },\n onFocusIn: function (e) { return _this.onFocusIn(e); },\n onFocusOut: function (e) { return _this.onFocusOut(e); }\n }));\n this.activateTabGuards();\n [this.eTopGuard, this.eBottomGuard].forEach(function (guard) { return _this.addManagedListener(guard, 'focus', _this.onFocus.bind(_this)); });\n };\n TabGuardCtrl.prototype.handleKeyDown = function (e) {\n if (this.providedHandleKeyDown) {\n this.providedHandleKeyDown(e);\n }\n };\n TabGuardCtrl.prototype.tabGuardsAreActive = function () {\n return !!this.eTopGuard && this.eTopGuard.hasAttribute('tabIndex');\n };\n TabGuardCtrl.prototype.shouldStopEventPropagation = function () {\n if (this.providedShouldStopEventPropagation) {\n return this.providedShouldStopEventPropagation();\n }\n return false;\n };\n TabGuardCtrl.prototype.activateTabGuards = function () {\n this.comp.setTabIndex(this.getGridTabIndex());\n };\n TabGuardCtrl.prototype.deactivateTabGuards = function () {\n this.comp.setTabIndex();\n };\n TabGuardCtrl.prototype.onFocus = function (e) {\n if (this.skipTabGuardFocus) {\n this.skipTabGuardFocus = false;\n return;\n }\n var fromBottom = e.target === this.eBottomGuard;\n if (this.providedFocusInnerElement) {\n this.providedFocusInnerElement(fromBottom);\n }\n else {\n this.focusInnerElement(fromBottom);\n }\n };\n TabGuardCtrl.prototype.onFocusIn = function (e) {\n if (this.providedFocusIn && this.providedFocusIn(e)) {\n return;\n }\n this.deactivateTabGuards();\n };\n TabGuardCtrl.prototype.onFocusOut = function (e) {\n if (this.providedFocusOut && this.providedFocusOut(e)) {\n return;\n }\n if (!this.eFocusableElement.contains(e.relatedTarget)) {\n this.activateTabGuards();\n }\n };\n TabGuardCtrl.prototype.onTabKeyDown = function (e) {\n var _this = this;\n if (this.providedOnTabKeyDown) {\n this.providedOnTabKeyDown(e);\n return;\n }\n if (e.defaultPrevented) {\n return;\n }\n var tabGuardsAreActive = this.tabGuardsAreActive();\n if (tabGuardsAreActive) {\n this.deactivateTabGuards();\n }\n var nextRoot = this.getNextFocusableElement(e.shiftKey);\n if (tabGuardsAreActive) {\n // ensure the tab guards are only re-instated once the event has finished processing, to avoid the browser\n // tabbing to the tab guard from inside the component\n setTimeout(function () { return _this.activateTabGuards(); }, 0);\n }\n if (!nextRoot) {\n return;\n }\n nextRoot.focus();\n e.preventDefault();\n };\n TabGuardCtrl.prototype.getGridTabIndex = function () {\n return this.gridOptionsWrapper.getGridTabIndex();\n };\n TabGuardCtrl.prototype.focusInnerElement = function (fromBottom) {\n if (fromBottom === void 0) { fromBottom = false; }\n var focusable = this.focusService.findFocusableElements(this.eFocusableElement);\n if (this.tabGuardsAreActive()) {\n // remove tab guards from this component from list of focusable elements\n focusable.splice(0, 1);\n focusable.splice(focusable.length - 1, 1);\n }\n if (!focusable.length) {\n return;\n }\n focusable[fromBottom ? focusable.length - 1 : 0].focus();\n };\n TabGuardCtrl.prototype.getNextFocusableElement = function (backwards) {\n return this.focusService.findNextFocusableElement(this.eFocusableElement, false, backwards);\n };\n TabGuardCtrl.prototype.forceFocusOutOfContainer = function (up) {\n if (up === void 0) { up = false; }\n var tabGuardToFocus = up ? this.eTopGuard : this.eBottomGuard;\n this.activateTabGuards();\n this.skipTabGuardFocus = true;\n tabGuardToFocus.focus();\n };\n __decorate$1H([\n Autowired('focusService')\n ], TabGuardCtrl.prototype, \"focusService\", void 0);\n __decorate$1H([\n PostConstruct\n ], TabGuardCtrl.prototype, \"postConstruct\", null);\n return TabGuardCtrl;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$21 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __read$f = (undefined && undefined.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spread$b = (undefined && undefined.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read$f(arguments[i]));\n return ar;\n};\nvar TabGuardComp = /** @class */ (function (_super) {\n __extends$21(TabGuardComp, _super);\n function TabGuardComp() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TabGuardComp.prototype.initialiseTabGuard = function (params) {\n this.eTopGuard = this.createTabGuard('top');\n this.eBottomGuard = this.createTabGuard('bottom');\n this.eFocusableElement = this.getFocusableElement();\n var tabGuards = [this.eTopGuard, this.eBottomGuard];\n var compProxy = {\n setTabIndex: function (tabIndex) {\n tabGuards.forEach(function (tabGuard) { return tabIndex != null ? tabGuard.setAttribute('tabIndex', tabIndex) : tabGuard.removeAttribute('tabIndex'); });\n }\n };\n this.addTabGuards(this.eTopGuard, this.eBottomGuard);\n this.tabGuardCtrl = this.createManagedBean(new TabGuardCtrl({\n comp: compProxy,\n eTopGuard: this.eTopGuard,\n eBottomGuard: this.eBottomGuard,\n eFocusableElement: this.eFocusableElement,\n onFocusIn: params.onFocusIn,\n onFocusOut: params.onFocusOut,\n focusInnerElement: params.focusInnerElement,\n handleKeyDown: params.handleKeyDown,\n onTabKeyDown: params.onTabKeyDown,\n shouldStopEventPropagation: params.shouldStopEventPropagation\n }));\n };\n TabGuardComp.prototype.createTabGuard = function (side) {\n var tabGuard = document.createElement('div');\n tabGuard.classList.add('ag-tab-guard', \"ag-tab-guard-\" + side);\n setAriaRole(tabGuard, 'presentation');\n return tabGuard;\n };\n TabGuardComp.prototype.addTabGuards = function (topTabGuard, bottomTabGuard) {\n this.eFocusableElement.insertAdjacentElement('afterbegin', topTabGuard);\n this.eFocusableElement.insertAdjacentElement('beforeend', bottomTabGuard);\n };\n TabGuardComp.prototype.removeAllChildrenExceptTabGuards = function () {\n var tabGuards = [this.eTopGuard, this.eBottomGuard];\n clearElement(this.getFocusableElement());\n this.addTabGuards.apply(this, __spread$b(tabGuards));\n };\n TabGuardComp.prototype.forceFocusOutOfContainer = function (up) {\n if (up === void 0) { up = false; }\n this.tabGuardCtrl.forceFocusOutOfContainer(up);\n };\n TabGuardComp.prototype.appendChild = function (newChild, container) {\n if (!isNodeOrElement(newChild)) {\n newChild = newChild.getGui();\n }\n var bottomTabGuard = this.eBottomGuard;\n if (bottomTabGuard) {\n bottomTabGuard.insertAdjacentElement('beforebegin', newChild);\n }\n else {\n _super.prototype.appendChild.call(this, newChild, container);\n }\n };\n return TabGuardComp;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$22 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign$f = (undefined && undefined.__assign) || function () {\n __assign$f = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign$f.apply(this, arguments);\n};\nvar __decorate$1I = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar AgMenuList = /** @class */ (function (_super) {\n __extends$22(AgMenuList, _super);\n function AgMenuList(level) {\n if (level === void 0) { level = 1; }\n var _this = _super.call(this, /* html */ \"
\") || this;\n _this.level = level;\n _this.menuItems = [];\n return _this;\n }\n AgMenuList.prototype.postConstruct = function () {\n var _this = this;\n this.initialiseTabGuard({\n onTabKeyDown: function (e) { return _this.onTabKeyDown(e); },\n handleKeyDown: function (e) { return _this.handleKeyDown(e); }\n });\n };\n AgMenuList.prototype.onTabKeyDown = function (e) {\n var parent = this.getParentComponent();\n var parentGui = parent && parent.getGui();\n var isManaged = parentGui && parentGui.classList.contains('ag-focus-managed');\n if (!isManaged) {\n e.preventDefault();\n }\n if (e.shiftKey) {\n this.closeIfIsChild(e);\n }\n };\n AgMenuList.prototype.handleKeyDown = function (e) {\n switch (e.key) {\n case KeyCode.UP:\n case KeyCode.RIGHT:\n case KeyCode.DOWN:\n case KeyCode.LEFT:\n e.preventDefault();\n this.handleNavKey(e.key);\n break;\n case KeyCode.ESCAPE:\n var topMenu = this.findTopMenu();\n if (topMenu) {\n this.focusService.focusInto(topMenu.getGui());\n }\n break;\n }\n };\n AgMenuList.prototype.clearActiveItem = function () {\n if (this.activeMenuItem) {\n this.activeMenuItem.deactivate();\n this.activeMenuItem = null;\n }\n };\n AgMenuList.prototype.addMenuItems = function (menuItems) {\n var _this = this;\n if (menuItems == null) {\n return;\n }\n menuItems.forEach(function (menuItemOrString) {\n if (menuItemOrString === 'separator') {\n _this.addSeparator();\n }\n else if (typeof menuItemOrString === 'string') {\n console.warn(\"AG Grid: unrecognised menu item \" + menuItemOrString);\n }\n else {\n _this.addItem(menuItemOrString);\n }\n });\n };\n AgMenuList.prototype.addItem = function (menuItemDef) {\n var _this = this;\n var menuItem = this.createManagedBean(new AgMenuItemComponent(__assign$f(__assign$f({}, menuItemDef), { isAnotherSubMenuOpen: function () { return _this.menuItems.some(function (m) { return m.isSubMenuOpen(); }); } })));\n menuItem.setParentComponent(this);\n setAriaLevel(menuItem.getGui(), this.level);\n this.menuItems.push(menuItem);\n this.appendChild(menuItem.getGui());\n this.addManagedListener(menuItem, AgMenuItemComponent.EVENT_MENU_ITEM_SELECTED, function (event) {\n _this.dispatchEvent(event);\n });\n this.addManagedListener(menuItem, AgMenuItemComponent.EVENT_MENU_ITEM_ACTIVATED, function (event) {\n if (_this.activeMenuItem && _this.activeMenuItem !== event.menuItem) {\n _this.activeMenuItem.deactivate();\n }\n _this.activeMenuItem = event.menuItem;\n });\n };\n AgMenuList.prototype.activateFirstItem = function () {\n var item = this.menuItems.filter(function (currentItem) { return !currentItem.isDisabled(); })[0];\n if (!item) {\n return;\n }\n item.activate();\n };\n AgMenuList.prototype.addSeparator = function () {\n var separatorHtml = /* html */ \"\\n
\\n
\\n
\\n
\\n
\\n
\";\n this.appendChild(loadTemplate(separatorHtml));\n };\n AgMenuList.prototype.findTopMenu = function () {\n var parent = this.getParentComponent();\n if (!parent && this instanceof AgMenuList) {\n return this;\n }\n while (true) {\n var nextParent = parent && parent.getParentComponent && parent.getParentComponent();\n if (!nextParent || (!(nextParent instanceof AgMenuList || nextParent instanceof AgMenuItemComponent))) {\n break;\n }\n parent = nextParent;\n }\n return parent instanceof AgMenuList ? parent : undefined;\n };\n AgMenuList.prototype.handleNavKey = function (key) {\n switch (key) {\n case KeyCode.UP:\n case KeyCode.DOWN:\n var nextItem = this.findNextItem(key === KeyCode.UP);\n if (nextItem && nextItem !== this.activeMenuItem) {\n nextItem.activate();\n }\n return;\n }\n var left = this.gridOptionsWrapper.isEnableRtl() ? KeyCode.RIGHT : KeyCode.LEFT;\n if (key === left) {\n this.closeIfIsChild();\n }\n else {\n this.openChild();\n }\n };\n AgMenuList.prototype.closeIfIsChild = function (e) {\n var parentItem = this.getParentComponent();\n if (parentItem && parentItem instanceof AgMenuItemComponent) {\n if (e) {\n e.preventDefault();\n }\n parentItem.closeSubMenu();\n parentItem.getGui().focus();\n }\n };\n AgMenuList.prototype.openChild = function () {\n if (this.activeMenuItem) {\n this.activeMenuItem.openSubMenu(true);\n }\n };\n AgMenuList.prototype.findNextItem = function (up) {\n var items = this.menuItems.filter(function (item) { return !item.isDisabled(); });\n if (!items.length) {\n return;\n }\n if (!this.activeMenuItem) {\n return up ? last(items) : items[0];\n }\n if (up) {\n items.reverse();\n }\n var nextItem;\n var foundCurrent = false;\n for (var i = 0; i < items.length; i++) {\n var item = items[i];\n if (!foundCurrent) {\n if (item === this.activeMenuItem) {\n foundCurrent = true;\n }\n continue;\n }\n nextItem = item;\n break;\n }\n return nextItem || this.activeMenuItem;\n };\n AgMenuList.prototype.destroy = function () {\n this.clearActiveItem();\n _super.prototype.destroy.call(this);\n };\n __decorate$1I([\n Autowired('focusService')\n ], AgMenuList.prototype, \"focusService\", void 0);\n __decorate$1I([\n PostConstruct\n ], AgMenuList.prototype, \"postConstruct\", null);\n return AgMenuList;\n}(TabGuardComp));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$23 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1J = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar AgMenuPanel = /** @class */ (function (_super) {\n __extends$23(AgMenuPanel, _super);\n function AgMenuPanel(wrappedComponent) {\n var _this = _super.call(this) || this;\n _this.wrappedComponent = wrappedComponent;\n _this.setTemplateFromElement(wrappedComponent.getGui());\n return _this;\n }\n AgMenuPanel.prototype.postConstruct = function () {\n var _this = this;\n this.initialiseTabGuard({\n onTabKeyDown: function (e) { return _this.onTabKeyDown(e); },\n handleKeyDown: function (e) { return _this.handleKeyDown(e); }\n });\n };\n AgMenuPanel.prototype.handleKeyDown = function (e) {\n if (e.key === KeyCode.ESCAPE) {\n this.closePanel();\n }\n };\n AgMenuPanel.prototype.onTabKeyDown = function (e) {\n if (e.defaultPrevented) {\n return;\n }\n this.closePanel();\n e.preventDefault();\n };\n AgMenuPanel.prototype.closePanel = function () {\n var menuItem = this.parentComponent;\n menuItem.closeSubMenu();\n setTimeout(function () { return menuItem.getGui().focus(); }, 0);\n };\n __decorate$1J([\n PostConstruct\n ], AgMenuPanel.prototype, \"postConstruct\", null);\n return AgMenuPanel;\n}(TabGuardComp));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$24 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1K = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar AgMenuItemComponent = /** @class */ (function (_super) {\n __extends$24(AgMenuItemComponent, _super);\n function AgMenuItemComponent(params) {\n var _this = _super.call(this) || this;\n _this.params = params;\n _this.isActive = false;\n _this.subMenuIsOpen = false;\n _this.setTemplate(/* html */ \"
\");\n return _this;\n }\n AgMenuItemComponent.prototype.init = function () {\n var _this = this;\n this.addIcon();\n this.addName();\n this.addShortcut();\n this.addSubMenu();\n this.addTooltip();\n var eGui = this.getGui();\n if (this.params.disabled) {\n this.addCssClass(this.getClassName('disabled'));\n setAriaDisabled(eGui, true);\n }\n else {\n this.addGuiEventListener('click', function (e) { return _this.onItemSelected(e); });\n this.addGuiEventListener('keydown', function (e) {\n if (e.key === KeyCode.ENTER || e.key === KeyCode.SPACE) {\n e.preventDefault();\n _this.onItemSelected(e);\n }\n });\n this.addGuiEventListener('mousedown', function (e) {\n // Prevent event bubbling to other event handlers such as PopupService triggering\n // premature closing of any open sub-menu popup.\n e.stopPropagation();\n e.preventDefault();\n });\n this.addGuiEventListener('mouseenter', function () { return _this.onMouseEnter(); });\n this.addGuiEventListener('mouseleave', function () { return _this.onMouseLeave(); });\n }\n if (this.params.cssClasses) {\n this.params.cssClasses.forEach(function (it) { return _this.addCssClass(it); });\n }\n };\n AgMenuItemComponent.prototype.isDisabled = function () {\n return !!this.params.disabled;\n };\n AgMenuItemComponent.prototype.openSubMenu = function (activateFirstItem) {\n var _this = this;\n if (activateFirstItem === void 0) { activateFirstItem = false; }\n this.closeSubMenu();\n if (!this.params.subMenu) {\n return;\n }\n var ePopup = loadTemplate(/* html */ \"
\");\n var destroySubMenu;\n if (this.params.subMenu instanceof Array) {\n var currentLevel = getAriaLevel(this.getGui());\n var nextLevel = isNaN(currentLevel) ? 1 : (currentLevel + 1);\n var childMenu_1 = this.createBean(new AgMenuList(nextLevel));\n childMenu_1.setParentComponent(this);\n childMenu_1.addMenuItems(this.params.subMenu);\n ePopup.appendChild(childMenu_1.getGui());\n // bubble menu item selected events\n this.addManagedListener(childMenu_1, AgMenuItemComponent.EVENT_MENU_ITEM_SELECTED, function (e) { return _this.dispatchEvent(e); });\n childMenu_1.addGuiEventListener('mouseenter', function () { return _this.cancelDeactivate(); });\n destroySubMenu = function () { return _this.destroyBean(childMenu_1); };\n if (activateFirstItem) {\n setTimeout(function () { return childMenu_1.activateFirstItem(); }, 0);\n }\n }\n else {\n var subMenu_1 = this.params.subMenu;\n var menuPanel = this.createBean(new AgMenuPanel(subMenu_1));\n menuPanel.setParentComponent(this);\n var subMenuGui_1 = menuPanel.getGui();\n var mouseEvent_1 = 'mouseenter';\n var mouseEnterListener_1 = function () { return _this.cancelDeactivate(); };\n subMenuGui_1.addEventListener(mouseEvent_1, mouseEnterListener_1);\n destroySubMenu = function () { return subMenuGui_1.removeEventListener(mouseEvent_1, mouseEnterListener_1); };\n ePopup.appendChild(subMenuGui_1);\n if (subMenu_1.afterGuiAttached) {\n setTimeout(function () { return subMenu_1.afterGuiAttached(); }, 0);\n }\n }\n var eGui = this.getGui();\n var positionCallback = this.popupService.positionPopupForMenu.bind(this.popupService, { eventSource: eGui, ePopup: ePopup });\n var translate = this.gridOptionsWrapper.getLocaleTextFunc();\n var addPopupRes = this.popupService.addPopup({\n modal: true,\n eChild: ePopup,\n positionCallback: positionCallback,\n anchorToElement: eGui,\n ariaLabel: translate('ariaLabelSubMenu', 'SubMenu')\n });\n this.subMenuIsOpen = true;\n setAriaExpanded(eGui, true);\n this.hideSubMenu = function () {\n if (addPopupRes) {\n addPopupRes.hideFunc();\n }\n _this.subMenuIsOpen = false;\n setAriaExpanded(eGui, false);\n destroySubMenu();\n };\n };\n AgMenuItemComponent.prototype.closeSubMenu = function () {\n if (!this.hideSubMenu) {\n return;\n }\n this.hideSubMenu();\n this.hideSubMenu = null;\n setAriaExpanded(this.getGui(), false);\n };\n AgMenuItemComponent.prototype.isSubMenuOpen = function () {\n return this.subMenuIsOpen;\n };\n AgMenuItemComponent.prototype.activate = function (openSubMenu) {\n var _this = this;\n this.cancelActivate();\n if (this.params.disabled) {\n return;\n }\n this.isActive = true;\n this.addCssClass(this.getClassName('active'));\n this.getGui().focus();\n if (openSubMenu && this.params.subMenu) {\n window.setTimeout(function () {\n if (_this.isAlive() && _this.isActive) {\n _this.openSubMenu();\n }\n }, 300);\n }\n this.onItemActivated();\n };\n AgMenuItemComponent.prototype.deactivate = function () {\n this.cancelDeactivate();\n this.removeCssClass(this.getClassName('active'));\n this.isActive = false;\n if (this.subMenuIsOpen) {\n this.hideSubMenu();\n }\n };\n AgMenuItemComponent.prototype.addIcon = function () {\n if (!this.params.checked && !this.params.icon && this.params.isCompact) {\n return;\n }\n var icon = loadTemplate(/* html */ \"\");\n if (this.params.checked) {\n icon.appendChild(createIconNoSpan('check', this.gridOptionsWrapper));\n }\n else if (this.params.icon) {\n if (isNodeOrElement(this.params.icon)) {\n icon.appendChild(this.params.icon);\n }\n else if (typeof this.params.icon === 'string') {\n icon.innerHTML = this.params.icon;\n }\n else {\n console.warn('AG Grid: menu item icon must be DOM node or string');\n }\n }\n this.getGui().appendChild(icon);\n };\n AgMenuItemComponent.prototype.addName = function () {\n if (!this.params.name && this.params.isCompact) {\n return;\n }\n var name = loadTemplate(/* html */ \"\" + (this.params.name || '') + \"\");\n this.getGui().appendChild(name);\n };\n AgMenuItemComponent.prototype.addTooltip = function () {\n if (!this.params.tooltip) {\n return;\n }\n this.tooltip = this.params.tooltip;\n if (this.gridOptionsWrapper.isEnableBrowserTooltips()) {\n this.getGui().setAttribute('title', this.tooltip);\n }\n else {\n this.createManagedBean(new CustomTooltipFeature(this));\n }\n };\n AgMenuItemComponent.prototype.getTooltipParams = function () {\n return {\n location: 'menu',\n value: this.tooltip\n };\n };\n AgMenuItemComponent.prototype.addShortcut = function () {\n if (!this.params.shortcut && this.params.isCompact) {\n return;\n }\n var shortcut = loadTemplate(/* html */ \"\" + (this.params.shortcut || '') + \"\");\n this.getGui().appendChild(shortcut);\n };\n AgMenuItemComponent.prototype.addSubMenu = function () {\n if (!this.params.subMenu && this.params.isCompact) {\n return;\n }\n var pointer = loadTemplate(/* html */ \"\");\n var eGui = this.getGui();\n if (this.params.subMenu) {\n var iconName = this.gridOptionsWrapper.isEnableRtl() ? 'smallLeft' : 'smallRight';\n setAriaExpanded(eGui, false);\n pointer.appendChild(createIconNoSpan(iconName, this.gridOptionsWrapper));\n }\n eGui.appendChild(pointer);\n };\n AgMenuItemComponent.prototype.onItemSelected = function (event) {\n if (this.params.action) {\n this.params.action();\n }\n else {\n this.openSubMenu(event && event.type === 'keydown');\n }\n if (this.params.subMenu && !this.params.action) {\n return;\n }\n var e = {\n type: AgMenuItemComponent.EVENT_MENU_ITEM_SELECTED,\n action: this.params.action,\n checked: this.params.checked,\n cssClasses: this.params.cssClasses,\n disabled: this.params.disabled,\n icon: this.params.icon,\n name: this.params.name,\n shortcut: this.params.shortcut,\n subMenu: this.params.subMenu,\n tooltip: this.params.tooltip,\n event: event\n };\n this.dispatchEvent(e);\n };\n AgMenuItemComponent.prototype.onItemActivated = function () {\n var event = {\n type: AgMenuItemComponent.EVENT_MENU_ITEM_ACTIVATED,\n menuItem: this,\n };\n this.dispatchEvent(event);\n };\n AgMenuItemComponent.prototype.cancelActivate = function () {\n if (this.activateTimeoutId) {\n window.clearTimeout(this.activateTimeoutId);\n this.activateTimeoutId = 0;\n }\n };\n AgMenuItemComponent.prototype.cancelDeactivate = function () {\n if (this.deactivateTimeoutId) {\n window.clearTimeout(this.deactivateTimeoutId);\n this.deactivateTimeoutId = 0;\n }\n };\n AgMenuItemComponent.prototype.onMouseEnter = function () {\n var _this = this;\n this.cancelDeactivate();\n if (this.params.isAnotherSubMenuOpen()) {\n // wait to see if the user enters the open sub-menu\n this.activateTimeoutId = window.setTimeout(function () { return _this.activate(true); }, AgMenuItemComponent.ACTIVATION_DELAY);\n }\n else {\n // activate immediately\n this.activate(true);\n }\n };\n AgMenuItemComponent.prototype.onMouseLeave = function () {\n var _this = this;\n this.cancelActivate();\n if (this.isSubMenuOpen()) {\n // wait to see if the user enters the sub-menu\n this.deactivateTimeoutId = window.setTimeout(function () { return _this.deactivate(); }, AgMenuItemComponent.ACTIVATION_DELAY);\n }\n else {\n // de-activate immediately\n this.deactivate();\n }\n };\n AgMenuItemComponent.prototype.getClassName = function (suffix) {\n var prefix = this.params.isCompact ? 'ag-compact-menu-option' : 'ag-menu-option';\n return suffix ? prefix + \"-\" + suffix : prefix;\n };\n AgMenuItemComponent.EVENT_MENU_ITEM_SELECTED = 'menuItemSelected';\n AgMenuItemComponent.EVENT_MENU_ITEM_ACTIVATED = 'menuItemActivated';\n AgMenuItemComponent.ACTIVATION_DELAY = 80;\n __decorate$1K([\n Autowired('popupService')\n ], AgMenuItemComponent.prototype, \"popupService\", void 0);\n __decorate$1K([\n PostConstruct\n ], AgMenuItemComponent.prototype, \"init\", null);\n return AgMenuItemComponent;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$25 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1L = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __read$g = (undefined && undefined.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spread$c = (undefined && undefined.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read$g(arguments[i]));\n return ar;\n};\nvar FocusService = /** @class */ (function (_super) {\n __extends$25(FocusService, _super);\n function FocusService() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FocusService_1 = FocusService;\n /**\n * Adds a gridCore to the list of the gridCores monitoring Keyboard Mode\n * in a specific HTMLDocument.\n *\n * @param doc {Document} - The Document containing the gridCore.\n * @param gridCore {GridComp} - The GridCore to be monitored.\n */\n FocusService.addKeyboardModeEvents = function (doc, controller) {\n var docControllers = FocusService_1.instancesMonitored.get(doc);\n if (docControllers && docControllers.length > 0) {\n if (docControllers.indexOf(controller) === -1) {\n docControllers.push(controller);\n }\n }\n else {\n FocusService_1.instancesMonitored.set(doc, [controller]);\n doc.addEventListener('keydown', FocusService_1.toggleKeyboardMode);\n doc.addEventListener('mousedown', FocusService_1.toggleKeyboardMode);\n }\n };\n /**\n * Removes a gridCore from the list of the gridCores monitoring Keyboard Mode\n * in a specific HTMLDocument.\n *\n * @param doc {Document} - The Document containing the gridCore.\n * @param gridCore {GridComp} - The GridCore to be removed.\n */\n FocusService.removeKeyboardModeEvents = function (doc, controller) {\n var docControllers = FocusService_1.instancesMonitored.get(doc);\n var newControllers = [];\n if (docControllers && docControllers.length) {\n newControllers = __spread$c(docControllers).filter(function (currentGridCore) { return currentGridCore !== controller; });\n FocusService_1.instancesMonitored.set(doc, newControllers);\n }\n if (newControllers.length === 0) {\n doc.removeEventListener('keydown', FocusService_1.toggleKeyboardMode);\n doc.removeEventListener('mousedown', FocusService_1.toggleKeyboardMode);\n }\n };\n /**\n * This method will be called by `keydown` and `mousedown` events on all Documents monitoring\n * KeyboardMode. It will then fire a KEYBOARD_FOCUS, MOUSE_FOCUS on each gridCore present in\n * the Document allowing each gridCore to maintain a state for KeyboardMode.\n *\n * @param event {KeyboardEvent | MouseEvent | TouchEvent} - The event triggered.\n */\n FocusService.toggleKeyboardMode = function (event) {\n var isKeyboardActive = FocusService_1.keyboardModeActive;\n var isKeyboardEvent = event.type === 'keydown';\n if (isKeyboardEvent) {\n // the following keys should not toggle keyboard mode.\n if (event.ctrlKey || event.metaKey || event.altKey) {\n return;\n }\n }\n if (isKeyboardActive && isKeyboardEvent || !isKeyboardActive && !isKeyboardEvent) {\n return;\n }\n FocusService_1.keyboardModeActive = isKeyboardEvent;\n var doc = event.target.ownerDocument;\n if (!doc) {\n return;\n }\n var controllersForDoc = FocusService_1.instancesMonitored.get(doc);\n if (controllersForDoc) {\n controllersForDoc.forEach(function (controller) {\n controller.dispatchEvent({ type: isKeyboardEvent ? Events.EVENT_KEYBOARD_FOCUS : Events.EVENT_MOUSE_FOCUS });\n });\n }\n };\n FocusService.prototype.init = function () {\n var _this = this;\n var clearFocusedCellListener = this.clearFocusedCell.bind(this);\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_PIVOT_MODE_CHANGED, clearFocusedCellListener);\n this.addManagedListener(this.eventService, Events.EVENT_NEW_COLUMNS_LOADED, this.onColumnEverythingChanged.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_GROUP_OPENED, clearFocusedCellListener);\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_ROW_GROUP_CHANGED, clearFocusedCellListener);\n this.ctrlsService.whenReady(function (p) {\n _this.gridCtrl = p.gridCtrl;\n var doc = _this.gridOptionsWrapper.getDocument();\n FocusService_1.addKeyboardModeEvents(doc, _this.gridCtrl);\n _this.addDestroyFunc(function () { return _this.unregisterGridCompController(_this.gridCtrl); });\n });\n };\n FocusService.prototype.unregisterGridCompController = function (gridCompController) {\n var doc = this.gridOptionsWrapper.getDocument();\n FocusService_1.removeKeyboardModeEvents(doc, gridCompController);\n };\n FocusService.prototype.onColumnEverythingChanged = function () {\n // if the columns change, check and see if this column still exists. if it does, then\n // we can keep the focused cell. if it doesn't, then we need to drop the focused cell.\n if (!this.focusedCellPosition) {\n return;\n }\n var col = this.focusedCellPosition.column;\n var colFromColumnModel = this.columnModel.getGridColumn(col.getId());\n if (col !== colFromColumnModel) {\n this.clearFocusedCell();\n }\n };\n FocusService.prototype.isKeyboardMode = function () {\n return FocusService_1.keyboardModeActive;\n };\n // we check if the browser is focusing something, and if it is, and\n // it's the cell we think is focused, then return the cell. so this\n // methods returns the cell if a) we think it has focus and b) the\n // browser thinks it has focus. this then returns nothing if we\n // first focus a cell, then second click outside the grid, as then the\n // grid cell will still be focused as far as the grid is concerned,\n // however the browser focus will have moved somewhere else.\n FocusService.prototype.getFocusCellToUseAfterRefresh = function () {\n var eDocument = this.gridOptionsWrapper.getDocument();\n if (this.gridOptionsWrapper.isSuppressFocusAfterRefresh() || !this.focusedCellPosition) {\n return null;\n }\n // we check that the browser is actually focusing on the grid, if it is not, then\n // we have nothing to worry about. we check for ROW data, as this covers both focused Rows (for Full Width Rows)\n // and Cells (covers cells as cells live in rows)\n if (this.isDomDataMissingInHierarchy(eDocument.activeElement, RowCtrl.DOM_DATA_KEY_ROW_CTRL)) {\n return null;\n }\n return this.focusedCellPosition;\n };\n FocusService.prototype.getFocusHeaderToUseAfterRefresh = function () {\n var eDocument = this.gridOptionsWrapper.getDocument();\n if (this.gridOptionsWrapper.isSuppressFocusAfterRefresh() || !this.focusedHeaderPosition) {\n return null;\n }\n // we check that the browser is actually focusing on the grid, if it is not, then\n // we have nothing to worry about\n if (this.isDomDataMissingInHierarchy(eDocument.activeElement, AbstractHeaderCellCtrl.DOM_DATA_KEY_HEADER_CTRL)) {\n return null;\n }\n return this.focusedHeaderPosition;\n };\n FocusService.prototype.isDomDataMissingInHierarchy = function (eBrowserCell, key) {\n var ePointer = eBrowserCell;\n while (ePointer) {\n var data = this.gridOptionsWrapper.getDomData(ePointer, key);\n if (data) {\n return false;\n }\n ePointer = ePointer.parentNode;\n }\n return true;\n };\n FocusService.prototype.clearFocusedCell = function () {\n this.focusedCellPosition = null;\n this.onCellFocused(false);\n };\n FocusService.prototype.getFocusedCell = function () {\n return this.focusedCellPosition;\n };\n FocusService.prototype.setFocusedCell = function (rowIndex, colKey, floating, forceBrowserFocus) {\n if (forceBrowserFocus === void 0) { forceBrowserFocus = false; }\n var gridColumn = this.columnModel.getGridColumn(colKey);\n // if column doesn't exist, then blank the focused cell and return. this can happen when user sets new columns,\n // and the focused cell is in a column that no longer exists. after columns change, the grid refreshes and tries\n // to re-focus the focused cell.\n if (!gridColumn) {\n this.focusedCellPosition = null;\n return;\n }\n this.focusedCellPosition = gridColumn ? { rowIndex: rowIndex, rowPinned: makeNull(floating), column: gridColumn } : null;\n this.onCellFocused(forceBrowserFocus);\n };\n FocusService.prototype.isCellFocused = function (cellPosition) {\n if (this.focusedCellPosition == null) {\n return false;\n }\n return this.focusedCellPosition.column === cellPosition.column &&\n this.isRowFocused(cellPosition.rowIndex, cellPosition.rowPinned);\n };\n FocusService.prototype.isRowNodeFocused = function (rowNode) {\n return this.isRowFocused(rowNode.rowIndex, rowNode.rowPinned);\n };\n FocusService.prototype.isHeaderWrapperFocused = function (headerCtrl) {\n if (this.focusedHeaderPosition == null) {\n return false;\n }\n var column = headerCtrl.getColumnGroupChild();\n var headerRowIndex = headerCtrl.getRowIndex();\n var pinned = headerCtrl.getPinned();\n var _a = this.focusedHeaderPosition, focusedColumn = _a.column, focusedHeaderRowIndex = _a.headerRowIndex;\n return column === focusedColumn &&\n headerRowIndex === focusedHeaderRowIndex &&\n pinned == focusedColumn.getPinned();\n };\n FocusService.prototype.clearFocusedHeader = function () {\n this.focusedHeaderPosition = null;\n };\n FocusService.prototype.getFocusedHeader = function () {\n return this.focusedHeaderPosition;\n };\n FocusService.prototype.setFocusedHeader = function (headerRowIndex, column) {\n this.focusedHeaderPosition = { headerRowIndex: headerRowIndex, column: column };\n };\n FocusService.prototype.focusHeaderPosition = function (params) {\n var direction = params.direction, fromTab = params.fromTab, allowUserOverride = params.allowUserOverride, event = params.event;\n var headerPosition = params.headerPosition;\n if (allowUserOverride) {\n var gridOptionsWrapper = this.gridOptionsWrapper;\n var currentPosition = this.getFocusedHeader();\n var headerRowCount = this.headerNavigationService.getHeaderRowCount();\n if (fromTab) {\n var userFunc = gridOptionsWrapper.getTabToNextHeaderFunc();\n if (userFunc) {\n var params_1 = {\n backwards: direction === 'Before',\n previousHeaderPosition: currentPosition,\n nextHeaderPosition: headerPosition,\n headerRowCount: headerRowCount,\n };\n headerPosition = userFunc(params_1);\n }\n }\n else {\n var userFunc = gridOptionsWrapper.getNavigateToNextHeaderFunc();\n if (userFunc && event) {\n var params_2 = {\n key: event.key,\n previousHeaderPosition: currentPosition,\n nextHeaderPosition: headerPosition,\n headerRowCount: headerRowCount,\n event: event,\n };\n headerPosition = userFunc(params_2);\n }\n }\n }\n if (!headerPosition) {\n return false;\n }\n if (headerPosition.headerRowIndex === -1) {\n return this.focusGridView(headerPosition.column);\n }\n this.headerNavigationService.scrollToColumn(headerPosition.column, direction);\n var headerRowContainerCtrl = this.ctrlsService.getHeaderRowContainerCtrl(headerPosition.column.getPinned());\n // this will automatically call the setFocusedHeader method above\n var focusSuccess = headerRowContainerCtrl.focusHeader(headerPosition.headerRowIndex, headerPosition.column, event);\n return focusSuccess;\n };\n FocusService.prototype.focusFirstHeader = function () {\n var firstColumn = this.columnModel.getAllDisplayedColumns()[0];\n if (!firstColumn) {\n return false;\n }\n if (firstColumn.getParent()) {\n firstColumn = this.columnModel.getColumnGroupAtLevel(firstColumn, 0);\n }\n return this.focusHeaderPosition({\n headerPosition: { headerRowIndex: 0, column: firstColumn }\n });\n };\n FocusService.prototype.focusLastHeader = function (event) {\n var headerRowIndex = this.headerNavigationService.getHeaderRowCount() - 1;\n var column = last(this.columnModel.getAllDisplayedColumns());\n return this.focusHeaderPosition({\n headerPosition: { headerRowIndex: headerRowIndex, column: column },\n event: event\n });\n };\n FocusService.prototype.isAnyCellFocused = function () {\n return !!this.focusedCellPosition;\n };\n FocusService.prototype.isRowFocused = function (rowIndex, floating) {\n if (this.focusedCellPosition == null) {\n return false;\n }\n return this.focusedCellPosition.rowIndex === rowIndex && this.focusedCellPosition.rowPinned === makeNull(floating);\n };\n FocusService.prototype.findFocusableElements = function (rootNode, exclude, onlyUnmanaged) {\n if (onlyUnmanaged === void 0) { onlyUnmanaged = false; }\n var focusableString = Constants.FOCUSABLE_SELECTOR;\n var excludeString = Constants.FOCUSABLE_EXCLUDE;\n if (exclude) {\n excludeString += ', ' + exclude;\n }\n if (onlyUnmanaged) {\n excludeString += ', [tabindex=\"-1\"]';\n }\n var nodes = Array.prototype.slice.apply(rootNode.querySelectorAll(focusableString));\n var excludeNodes = Array.prototype.slice.apply(rootNode.querySelectorAll(excludeString));\n if (!excludeNodes.length) {\n return nodes;\n }\n var diff = function (a, b) { return a.filter(function (element) { return b.indexOf(element) === -1; }); };\n return diff(nodes, excludeNodes);\n };\n FocusService.prototype.focusInto = function (rootNode, up, onlyUnmanaged) {\n if (up === void 0) { up = false; }\n if (onlyUnmanaged === void 0) { onlyUnmanaged = false; }\n var focusableElements = this.findFocusableElements(rootNode, null, onlyUnmanaged);\n var toFocus = up ? last(focusableElements) : focusableElements[0];\n if (toFocus) {\n toFocus.focus();\n return true;\n }\n return false;\n };\n FocusService.prototype.findNextFocusableElement = function (rootNode, onlyManaged, backwards) {\n if (rootNode === void 0) { rootNode = this.eGridDiv; }\n var focusable = this.findFocusableElements(rootNode, onlyManaged ? ':not([tabindex=\"-1\"])' : null);\n var eDocument = this.gridOptionsWrapper.getDocument();\n var activeEl = eDocument.activeElement;\n var currentIndex;\n if (onlyManaged) {\n currentIndex = focusable.findIndex(function (el) { return el.contains(activeEl); });\n }\n else {\n currentIndex = focusable.indexOf(activeEl);\n }\n var nextIndex = currentIndex + (backwards ? -1 : 1);\n if (nextIndex < 0 || nextIndex >= focusable.length) {\n return null;\n }\n return focusable[nextIndex];\n };\n FocusService.prototype.isFocusUnderManagedComponent = function (rootNode) {\n var eDocument = this.gridOptionsWrapper.getDocument();\n var managedContainers = rootNode.querySelectorAll(\".\" + ManagedFocusFeature.FOCUS_MANAGED_CLASS);\n if (!managedContainers.length) {\n return false;\n }\n for (var i = 0; i < managedContainers.length; i++) {\n if (managedContainers[i].contains(eDocument.activeElement)) {\n return true;\n }\n }\n return false;\n };\n FocusService.prototype.findTabbableParent = function (node, limit) {\n if (limit === void 0) { limit = 5; }\n var counter = 0;\n while (node && getTabIndex(node) === null && ++counter <= limit) {\n node = node.parentElement;\n }\n if (getTabIndex(node) === null) {\n return null;\n }\n return node;\n };\n FocusService.prototype.onCellFocused = function (forceBrowserFocus) {\n var event = {\n type: Events.EVENT_CELL_FOCUSED,\n forceBrowserFocus: forceBrowserFocus,\n rowIndex: null,\n column: null,\n floating: null,\n api: this.gridApi,\n columnApi: this.columnApi,\n rowPinned: null,\n isFullWidthCell: false\n };\n if (this.focusedCellPosition) {\n var rowIndex = event.rowIndex = this.focusedCellPosition.rowIndex;\n var rowPinned = event.rowPinned = this.focusedCellPosition.rowPinned;\n event.column = this.focusedCellPosition.column;\n var rowCtrl = this.rowRenderer.getRowByPosition({ rowIndex: rowIndex, rowPinned: rowPinned });\n if (rowCtrl) {\n event.isFullWidthCell = rowCtrl.isFullWidth();\n }\n }\n this.eventService.dispatchEvent(event);\n };\n FocusService.prototype.focusGridView = function (column, backwards) {\n // if suppressCellFocus is `true`, it means the user does not want to\n // navigate between the cells using tab. Instead, we put focus on either\n // the header or after the grid, depending on whether tab or shift-tab was pressed.\n if (this.gridOptionsWrapper.isSuppressCellFocus()) {\n if (backwards) {\n return this.focusLastHeader();\n }\n return this.focusNextGridCoreContainer(false);\n }\n var nextRow = backwards\n ? this.rowPositionUtils.getLastRow()\n : this.rowPositionUtils.getFirstRow();\n if (!nextRow) {\n return false;\n }\n var rowIndex = nextRow.rowIndex, rowPinned = nextRow.rowPinned;\n var focusedHeader = this.getFocusedHeader();\n if (!column && focusedHeader) {\n column = focusedHeader.column;\n }\n if (rowIndex == null || !column) {\n return false;\n }\n this.navigationService.ensureCellVisible({ rowIndex: rowIndex, column: column, rowPinned: rowPinned });\n this.setFocusedCell(rowIndex, column, makeNull(rowPinned), true);\n if (this.rangeService) {\n var cellPosition = { rowIndex: rowIndex, rowPinned: rowPinned, column: column };\n this.rangeService.setRangeToCell(cellPosition);\n }\n return true;\n };\n FocusService.prototype.focusNextGridCoreContainer = function (backwards) {\n if (this.gridCtrl.focusNextInnerContainer(backwards)) {\n return true;\n }\n if (!backwards && !this.gridCtrl.isDetailGrid()) {\n this.gridCtrl.forceFocusOutOfContainer();\n }\n return false;\n };\n var FocusService_1;\n FocusService.AG_KEYBOARD_FOCUS = 'ag-keyboard-focus';\n FocusService.keyboardModeActive = false;\n FocusService.instancesMonitored = new Map();\n __decorate$1L([\n Autowired('eGridDiv')\n ], FocusService.prototype, \"eGridDiv\", void 0);\n __decorate$1L([\n Autowired('columnModel')\n ], FocusService.prototype, \"columnModel\", void 0);\n __decorate$1L([\n Autowired('headerNavigationService')\n ], FocusService.prototype, \"headerNavigationService\", void 0);\n __decorate$1L([\n Autowired('columnApi')\n ], FocusService.prototype, \"columnApi\", void 0);\n __decorate$1L([\n Autowired('gridApi')\n ], FocusService.prototype, \"gridApi\", void 0);\n __decorate$1L([\n Autowired('rowRenderer')\n ], FocusService.prototype, \"rowRenderer\", void 0);\n __decorate$1L([\n Autowired('rowPositionUtils')\n ], FocusService.prototype, \"rowPositionUtils\", void 0);\n __decorate$1L([\n Optional('rangeService')\n ], FocusService.prototype, \"rangeService\", void 0);\n __decorate$1L([\n Autowired('navigationService')\n ], FocusService.prototype, \"navigationService\", void 0);\n __decorate$1L([\n Autowired('ctrlsService')\n ], FocusService.prototype, \"ctrlsService\", void 0);\n __decorate$1L([\n PostConstruct\n ], FocusService.prototype, \"init\", null);\n FocusService = FocusService_1 = __decorate$1L([\n Bean('focusService')\n ], FocusService);\n return FocusService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$26 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1M = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar DIRECTION;\n(function (DIRECTION) {\n DIRECTION[DIRECTION[\"vertical\"] = 0] = \"vertical\";\n DIRECTION[DIRECTION[\"horizontal\"] = 1] = \"horizontal\";\n})(DIRECTION || (DIRECTION = {}));\nvar instanceIdSeq = 0;\nvar PopupService = /** @class */ (function (_super) {\n __extends$26(PopupService, _super);\n function PopupService() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.popupList = [];\n return _this;\n }\n PopupService.prototype.postConstruct = function () {\n var _this = this;\n this.ctrlsService.whenReady(function (p) {\n _this.gridCtrl = p.gridCtrl;\n _this.addManagedListener(_this.gridCtrl, Events.EVENT_KEYBOARD_FOCUS, function () {\n _this.popupList.forEach(function (popup) { return popup.element.classList.add(FocusService.AG_KEYBOARD_FOCUS); });\n });\n _this.addManagedListener(_this.gridCtrl, Events.EVENT_MOUSE_FOCUS, function () {\n _this.popupList.forEach(function (popup) { return popup.element.classList.remove(FocusService.AG_KEYBOARD_FOCUS); });\n });\n });\n };\n PopupService.prototype.getPopupParent = function () {\n var ePopupParent = this.gridOptionsWrapper.getPopupParent();\n if (ePopupParent) {\n return ePopupParent;\n }\n return this.gridCtrl.getGui();\n };\n PopupService.prototype.positionPopupForMenu = function (params) {\n var sourceRect = params.eventSource.getBoundingClientRect();\n var parentRect = this.getParentRect();\n var y = this.keepXYWithinBounds(params.ePopup, sourceRect.top - parentRect.top, DIRECTION.vertical);\n var minWidth = (params.ePopup.clientWidth > 0) ? params.ePopup.clientWidth : 200;\n params.ePopup.style.minWidth = minWidth + \"px\";\n var widthOfParent = parentRect.right - parentRect.left;\n var maxX = widthOfParent - minWidth;\n // the x position of the popup depends on RTL or LTR. for normal cases, LTR, we put the child popup\n // to the right, unless it doesn't fit and we then put it to the left. for RTL it's the other way around,\n // we try place it first to the left, and then if not to the right.\n var x;\n if (this.gridOptionsWrapper.isEnableRtl()) {\n // for RTL, try left first\n x = xLeftPosition();\n if (x < 0) {\n x = xRightPosition();\n }\n if (x > maxX) {\n x = 0;\n }\n }\n else {\n // for LTR, try right first\n x = xRightPosition();\n if (x > maxX) {\n x = xLeftPosition();\n }\n if (x < 0) {\n x = 0;\n }\n }\n params.ePopup.style.left = x + \"px\";\n params.ePopup.style.top = y + \"px\";\n function xRightPosition() {\n return sourceRect.right - parentRect.left - 2;\n }\n function xLeftPosition() {\n return sourceRect.left - parentRect.left - minWidth;\n }\n };\n PopupService.prototype.positionPopupUnderMouseEvent = function (params) {\n var ePopup = params.ePopup, nudgeX = params.nudgeX, nudgeY = params.nudgeY;\n var _a = this.calculatePointerAlign(params.mouseEvent), x = _a.x, y = _a.y;\n this.positionPopup({\n ePopup: ePopup,\n x: x,\n y: y,\n nudgeX: nudgeX,\n nudgeY: nudgeY,\n keepWithinBounds: true\n });\n this.callPostProcessPopup(params.type, params.ePopup, null, params.mouseEvent, params.column, params.rowNode);\n };\n PopupService.prototype.calculatePointerAlign = function (e) {\n var parentRect = this.getParentRect();\n return {\n x: e.clientX - parentRect.left,\n y: e.clientY - parentRect.top\n };\n };\n PopupService.prototype.positionPopupUnderComponent = function (params) {\n var sourceRect = params.eventSource.getBoundingClientRect();\n var alignSide = params.alignSide || 'left';\n var parentRect = this.getParentRect();\n var x = sourceRect.left - parentRect.left;\n if (alignSide === 'right') {\n x -= (params.ePopup.offsetWidth - sourceRect.width);\n }\n this.positionPopup({\n ePopup: params.ePopup,\n nudgeX: params.nudgeX,\n nudgeY: params.nudgeY,\n x: x,\n y: sourceRect.top - parentRect.top + sourceRect.height,\n keepWithinBounds: params.keepWithinBounds\n });\n this.callPostProcessPopup(params.type, params.ePopup, params.eventSource, null, params.column, params.rowNode);\n };\n PopupService.prototype.positionPopupOverComponent = function (params) {\n var sourceRect = params.eventSource.getBoundingClientRect();\n var parentRect = this.getParentRect();\n this.positionPopup({\n ePopup: params.ePopup,\n nudgeX: params.nudgeX,\n nudgeY: params.nudgeY,\n x: sourceRect.left - parentRect.left,\n y: sourceRect.top - parentRect.top,\n keepWithinBounds: params.keepWithinBounds\n });\n this.callPostProcessPopup(params.type, params.ePopup, params.eventSource, null, params.column, params.rowNode);\n };\n PopupService.prototype.callPostProcessPopup = function (type, ePopup, eventSource, mouseEvent, column, rowNode) {\n var callback = this.gridOptionsWrapper.getPostProcessPopupFunc();\n if (callback) {\n var params = {\n column: column,\n rowNode: rowNode,\n ePopup: ePopup,\n type: type,\n eventSource: eventSource,\n mouseEvent: mouseEvent\n };\n callback(params);\n }\n };\n PopupService.prototype.positionPopup = function (params) {\n var ePopup = params.ePopup, keepWithinBounds = params.keepWithinBounds, nudgeX = params.nudgeX, nudgeY = params.nudgeY;\n var x = params.x, y = params.y;\n if (nudgeX) {\n x += nudgeX;\n }\n if (nudgeY) {\n y += nudgeY;\n }\n // if popup is overflowing to the bottom, move it up\n if (keepWithinBounds) {\n x = this.keepXYWithinBounds(ePopup, x, DIRECTION.horizontal);\n y = this.keepXYWithinBounds(ePopup, y, DIRECTION.vertical);\n }\n ePopup.style.left = x + \"px\";\n ePopup.style.top = y + \"px\";\n };\n PopupService.prototype.getActivePopups = function () {\n return this.popupList.map(function (popup) { return popup.element; });\n };\n PopupService.prototype.getPopupList = function () {\n return this.popupList;\n };\n PopupService.prototype.getParentRect = function () {\n // subtract the popup parent borders, because popupParent.getBoundingClientRect\n // returns the rect outside the borders, but the 0,0 coordinate for absolute\n // positioning is inside the border, leading the popup to be off by the width\n // of the border\n var eDocument = this.gridOptionsWrapper.getDocument();\n var popupParent = this.getPopupParent();\n if (popupParent === eDocument.body) {\n popupParent = eDocument.documentElement;\n }\n var style = getComputedStyle(popupParent);\n var bounds = popupParent.getBoundingClientRect();\n return {\n top: bounds.top + parseFloat(style.borderTopWidth) || 0,\n left: bounds.left + parseFloat(style.borderLeftWidth) || 0,\n right: bounds.right + parseFloat(style.borderRightWidth) || 0,\n bottom: bounds.bottom + parseFloat(style.borderBottomWidth) || 0,\n };\n };\n PopupService.prototype.keepXYWithinBounds = function (ePopup, position, direction) {\n var isVertical = direction === DIRECTION.vertical;\n var sizeProperty = isVertical ? 'clientHeight' : 'clientWidth';\n var anchorProperty = isVertical ? 'top' : 'left';\n var offsetProperty = isVertical ? 'offsetHeight' : 'offsetWidth';\n var scrollPositionProperty = isVertical ? 'scrollTop' : 'scrollLeft';\n var eDocument = this.gridOptionsWrapper.getDocument();\n var docElement = eDocument.documentElement;\n var popupParent = this.getPopupParent();\n var parentRect = popupParent.getBoundingClientRect();\n var documentRect = eDocument.documentElement.getBoundingClientRect();\n var isBody = popupParent === eDocument.body;\n var offsetSize = ePopup[offsetProperty];\n var getSize = isVertical ? getAbsoluteHeight : getAbsoluteWidth;\n var sizeOfParent = isBody ? (getSize(docElement) + docElement[scrollPositionProperty]) : popupParent[sizeProperty];\n if (isBody) {\n sizeOfParent -= Math.abs(documentRect[anchorProperty] - parentRect[anchorProperty]);\n }\n var max = sizeOfParent - offsetSize;\n return Math.min(Math.max(position, 0), Math.abs(max));\n };\n PopupService.prototype.keepPopupPositionedRelativeTo = function (params) {\n var _this = this;\n var eParent = this.getPopupParent();\n var parentRect = eParent.getBoundingClientRect();\n var sourceRect = params.element.getBoundingClientRect();\n var initialDiffTop = parentRect.top - sourceRect.top;\n var initialDiffLeft = parentRect.left - sourceRect.left;\n var lastDiffTop = initialDiffTop;\n var lastDiffLeft = initialDiffLeft;\n var topPx = params.ePopup.style.top;\n var top = parseInt(topPx.substring(0, topPx.length - 1), 10);\n var leftPx = params.ePopup.style.left;\n var left = parseInt(leftPx.substring(0, leftPx.length - 1), 10);\n return new AgPromise(function (resolve) {\n _this.getFrameworkOverrides().setInterval(function () {\n var pRect = eParent.getBoundingClientRect();\n var sRect = params.element.getBoundingClientRect();\n var elementNotInDom = sRect.top == 0 && sRect.left == 0 && sRect.height == 0 && sRect.width == 0;\n if (elementNotInDom) {\n params.hidePopup();\n return;\n }\n var currentDiffTop = pRect.top - sRect.top;\n if (currentDiffTop != lastDiffTop) {\n var newTop = _this.keepXYWithinBounds(params.ePopup, top + initialDiffTop - currentDiffTop, DIRECTION.vertical);\n params.ePopup.style.top = newTop + \"px\";\n }\n lastDiffTop = currentDiffTop;\n var currentDiffLeft = pRect.left - sRect.left;\n if (currentDiffLeft != lastDiffLeft) {\n var newLeft = _this.keepXYWithinBounds(params.ePopup, left + initialDiffLeft - currentDiffLeft, DIRECTION.horizontal);\n params.ePopup.style.left = newLeft + \"px\";\n }\n lastDiffLeft = currentDiffLeft;\n }, 200).then(function (intervalId) {\n var result = function () {\n if (intervalId != null) {\n window.clearInterval(intervalId);\n }\n };\n resolve(result);\n });\n });\n };\n PopupService.prototype.addPopup = function (params) {\n var _this = this;\n var modal = params.modal, eChild = params.eChild, closeOnEsc = params.closeOnEsc, closedCallback = params.closedCallback, click = params.click, alwaysOnTop = params.alwaysOnTop, afterGuiAttached = params.afterGuiAttached, positionCallback = params.positionCallback, anchorToElement = params.anchorToElement, ariaLabel = params.ariaLabel;\n var eDocument = this.gridOptionsWrapper.getDocument();\n var destroyPositionTracker = new AgPromise(function (resolve) { return resolve(function () { }); });\n if (!eDocument) {\n console.warn('ag-grid: could not find the document, document is empty');\n return { hideFunc: function () { }, stopAnchoringPromise: destroyPositionTracker };\n }\n var pos = this.popupList.findIndex(function (popup) { return popup.element === eChild; });\n if (pos !== -1) {\n var popup = this.popupList[pos];\n return { hideFunc: popup.hideFunc, stopAnchoringPromise: popup.stopAnchoringPromise };\n }\n var ePopupParent = this.getPopupParent();\n if (eChild.style.top == null) {\n eChild.style.top = '0px';\n }\n if (eChild.style.left == null) {\n eChild.style.left = '0px';\n }\n // add env CSS class to child, in case user provided a popup parent, which means\n // theme class may be missing\n var eWrapper = document.createElement('div');\n var theme = this.environment.getTheme().theme;\n if (theme) {\n eWrapper.classList.add(theme);\n }\n eWrapper.classList.add('ag-popup');\n eChild.classList.add(this.gridOptionsWrapper.isEnableRtl() ? 'ag-rtl' : 'ag-ltr', 'ag-popup-child');\n if (!eChild.hasAttribute('role')) {\n setAriaRole(eChild, 'dialog');\n }\n setAriaLabel(eChild, ariaLabel);\n if (this.focusService.isKeyboardMode()) {\n eChild.classList.add(FocusService.AG_KEYBOARD_FOCUS);\n }\n eWrapper.appendChild(eChild);\n ePopupParent.appendChild(eWrapper);\n if (alwaysOnTop) {\n this.setAlwaysOnTop(eWrapper, true);\n }\n else {\n this.bringPopupToFront(eWrapper);\n }\n var popupHidden = false;\n var hidePopupOnKeyboardEvent = function (event) {\n if (!eWrapper.contains(eDocument.activeElement)) {\n return;\n }\n var key = event.key;\n if (key === KeyCode.ESCAPE) {\n hidePopup({ keyboardEvent: event });\n }\n };\n var hidePopupOnMouseEvent = function (event) { return hidePopup({ mouseEvent: event }); };\n var hidePopupOnTouchEvent = function (event) { return hidePopup({ touchEvent: event }); };\n var hidePopup = function (popupParams) {\n if (popupParams === void 0) { popupParams = {}; }\n var mouseEvent = popupParams.mouseEvent, touchEvent = popupParams.touchEvent, keyboardEvent = popupParams.keyboardEvent;\n if (\n // we don't hide popup if the event was on the child, or any\n // children of this child\n _this.isEventFromCurrentPopup({ mouseEvent: mouseEvent, touchEvent: touchEvent }, eChild) ||\n // if the event to close is actually the open event, then ignore it\n _this.isEventSameChainAsOriginalEvent({ originalMouseEvent: click, mouseEvent: mouseEvent, touchEvent: touchEvent }) ||\n // this method should only be called once. the client can have different\n // paths, each one wanting to close, so this method may be called multiple times.\n popupHidden) {\n return;\n }\n popupHidden = true;\n ePopupParent.removeChild(eWrapper);\n eDocument.removeEventListener('keydown', hidePopupOnKeyboardEvent);\n eDocument.removeEventListener('mousedown', hidePopupOnMouseEvent);\n eDocument.removeEventListener('touchstart', hidePopupOnTouchEvent);\n eDocument.removeEventListener('contextmenu', hidePopupOnMouseEvent);\n _this.eventService.removeEventListener(Events.EVENT_DRAG_STARTED, hidePopupOnMouseEvent);\n if (closedCallback) {\n closedCallback(mouseEvent || touchEvent || keyboardEvent);\n }\n _this.popupList = _this.popupList.filter(function (popup) { return popup.element !== eChild; });\n if (destroyPositionTracker) {\n destroyPositionTracker.then(function (destroyFunc) { return destroyFunc && destroyFunc(); });\n }\n };\n if (afterGuiAttached) {\n afterGuiAttached({ hidePopup: hidePopup });\n }\n // if we add these listeners now, then the current mouse\n // click will be included, which we don't want\n window.setTimeout(function () {\n if (closeOnEsc) {\n eDocument.addEventListener('keydown', hidePopupOnKeyboardEvent);\n }\n if (modal) {\n eDocument.addEventListener('mousedown', hidePopupOnMouseEvent);\n _this.eventService.addEventListener(Events.EVENT_DRAG_STARTED, hidePopupOnMouseEvent);\n eDocument.addEventListener('touchstart', hidePopupOnTouchEvent);\n eDocument.addEventListener('contextmenu', hidePopupOnMouseEvent);\n }\n }, 0);\n if (positionCallback) {\n positionCallback();\n }\n if (anchorToElement) {\n // keeps popup positioned under created, eg if context menu, if user scrolls\n // using touchpad and the cell moves, it moves the popup to keep it with the cell.\n destroyPositionTracker = this.keepPopupPositionedRelativeTo({\n element: anchorToElement,\n ePopup: eChild,\n hidePopup: hidePopup\n });\n }\n this.popupList.push({\n element: eChild,\n wrapper: eWrapper,\n hideFunc: hidePopup,\n stopAnchoringPromise: destroyPositionTracker,\n instanceId: instanceIdSeq++,\n isAnchored: !!anchorToElement\n });\n return {\n hideFunc: hidePopup,\n stopAnchoringPromise: destroyPositionTracker\n };\n };\n PopupService.prototype.hasAnchoredPopup = function () {\n return this.popupList.some(function (popup) { return popup.isAnchored; });\n };\n PopupService.prototype.isEventFromCurrentPopup = function (params, target) {\n var mouseEvent = params.mouseEvent, touchEvent = params.touchEvent;\n var event = mouseEvent ? mouseEvent : touchEvent;\n if (!event) {\n return false;\n }\n var indexOfThisChild = this.popupList.findIndex(function (popup) { return popup.element === target; });\n if (indexOfThisChild === -1) {\n return false;\n }\n for (var i = indexOfThisChild; i < this.popupList.length; i++) {\n var popup = this.popupList[i];\n if (isElementInEventPath(popup.element, event)) {\n return true;\n }\n }\n // if the user did not write their own Custom Element to be rendered as popup\n // and this component has an additional popup element, they should have the\n // `ag-custom-component-popup` class to be detected as part of the Custom Component\n return this.isElementWithinCustomPopup(event.target);\n };\n PopupService.prototype.isElementWithinCustomPopup = function (el) {\n var eDocument = this.gridOptionsWrapper.getDocument();\n while (el && el !== eDocument.body) {\n if (el.classList.contains('ag-custom-component-popup') || el.parentElement === null) {\n return true;\n }\n el = el.parentElement;\n }\n return false;\n };\n // in some browsers, the context menu event can be fired before the click event, which means\n // the context menu event could open the popup, but then the click event closes it straight away.\n PopupService.prototype.isEventSameChainAsOriginalEvent = function (params) {\n var originalMouseEvent = params.originalMouseEvent, mouseEvent = params.mouseEvent, touchEvent = params.touchEvent;\n // we check the coordinates of the event, to see if it's the same event. there is a 1 / 1000 chance that\n // the event is a different event, however that is an edge case that is not very relevant (the user clicking\n // twice on the same location isn't a normal path).\n // event could be mouse event or touch event.\n var mouseEventOrTouch = null;\n if (mouseEvent) {\n // mouse event can be used direction, it has coordinates\n mouseEventOrTouch = mouseEvent;\n }\n else if (touchEvent) {\n // touch event doesn't have coordinates, need it's touch object\n mouseEventOrTouch = touchEvent.touches[0];\n }\n if (mouseEventOrTouch && originalMouseEvent) {\n // for x, allow 4px margin, to cover iPads, where touch (which opens menu) is followed\n // by browser click (when you finger up, touch is interrupted as click in browser)\n var screenX_1 = mouseEvent ? mouseEvent.screenX : 0;\n var screenY_1 = mouseEvent ? mouseEvent.screenY : 0;\n var xMatch = Math.abs(originalMouseEvent.screenX - screenX_1) < 5;\n var yMatch = Math.abs(originalMouseEvent.screenY - screenY_1) < 5;\n if (xMatch && yMatch) {\n return true;\n }\n }\n return false;\n };\n PopupService.prototype.getWrapper = function (ePopup) {\n while (!ePopup.classList.contains('ag-popup') && ePopup.parentElement) {\n ePopup = ePopup.parentElement;\n }\n return ePopup.classList.contains('ag-popup') ? ePopup : null;\n };\n PopupService.prototype.setAlwaysOnTop = function (ePopup, alwaysOnTop) {\n var eWrapper = this.getWrapper(ePopup);\n if (!eWrapper) {\n return;\n }\n eWrapper.classList.toggle('ag-always-on-top', !!alwaysOnTop);\n if (alwaysOnTop) {\n this.bringPopupToFront(eWrapper);\n }\n };\n PopupService.prototype.bringPopupToFront = function (ePopup) {\n var parent = this.getPopupParent();\n var popupList = Array.prototype.slice.call(parent.querySelectorAll('.ag-popup'));\n var popupLen = popupList.length;\n var alwaysOnTopList = Array.prototype.slice.call(parent.querySelectorAll('.ag-popup.ag-always-on-top'));\n var onTopLength = alwaysOnTopList.length;\n var eWrapper = this.getWrapper(ePopup);\n if (!eWrapper || popupLen <= 1 || !parent.contains(ePopup)) {\n return;\n }\n var pos = popupList.indexOf(eWrapper);\n var innerEls = eWrapper.querySelectorAll('div');\n var innerElsScrollMap = [];\n innerEls.forEach(function (el) {\n if (el.scrollTop !== 0) {\n innerElsScrollMap.push([el, el.scrollTop]);\n }\n });\n if (onTopLength) {\n var isPopupAlwaysOnTop = eWrapper.classList.contains('ag-always-on-top');\n if (isPopupAlwaysOnTop) {\n if (pos !== popupLen - 1) {\n last(alwaysOnTopList).insertAdjacentElement('afterend', eWrapper);\n }\n }\n else if (pos !== popupLen - onTopLength - 1) {\n alwaysOnTopList[0].insertAdjacentElement('beforebegin', eWrapper);\n }\n }\n else if (pos !== popupLen - 1) {\n last(popupList).insertAdjacentElement('afterend', eWrapper);\n }\n while (innerElsScrollMap.length) {\n var currentEl = innerElsScrollMap.pop();\n currentEl[0].scrollTop = currentEl[1];\n }\n var params = {\n type: 'popupToFront',\n api: this.gridOptionsWrapper.getApi(),\n columnApi: this.gridOptionsWrapper.getColumnApi(),\n eWrapper: eWrapper\n };\n this.eventService.dispatchEvent(params);\n };\n __decorate$1M([\n Autowired('environment')\n ], PopupService.prototype, \"environment\", void 0);\n __decorate$1M([\n Autowired('focusService')\n ], PopupService.prototype, \"focusService\", void 0);\n __decorate$1M([\n Autowired('ctrlsService')\n ], PopupService.prototype, \"ctrlsService\", void 0);\n __decorate$1M([\n PostConstruct\n ], PopupService.prototype, \"postConstruct\", null);\n PopupService = __decorate$1M([\n Bean('popupService')\n ], PopupService);\n return PopupService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$27 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1N = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar VirtualList = /** @class */ (function (_super) {\n __extends$27(VirtualList, _super);\n function VirtualList(cssIdentifier, ariaRole, listName) {\n if (cssIdentifier === void 0) { cssIdentifier = 'default'; }\n if (ariaRole === void 0) { ariaRole = 'listbox'; }\n var _this = _super.call(this, VirtualList.getTemplate(cssIdentifier)) || this;\n _this.cssIdentifier = cssIdentifier;\n _this.ariaRole = ariaRole;\n _this.listName = listName;\n _this.renderedRows = new Map();\n _this.rowHeight = 20;\n _this.isDestroyed = false;\n return _this;\n }\n VirtualList.prototype.postConstruct = function () {\n var _this = this;\n this.addScrollListener();\n this.rowHeight = this.getItemHeight();\n this.addResizeObserver();\n this.initialiseTabGuard({\n onFocusIn: function (e) { return _this.onFocusIn(e); },\n onFocusOut: function (e) { return _this.onFocusOut(e); },\n focusInnerElement: function (fromBottom) { return _this.focusInnerElement(fromBottom); },\n onTabKeyDown: function (e) { return _this.onTabKeyDown(e); },\n handleKeyDown: function (e) { return _this.handleKeyDown(e); }\n });\n this.setAriaProperties();\n };\n VirtualList.prototype.setAriaProperties = function () {\n var translate = this.gridOptionsWrapper.getLocaleTextFunc();\n var listName = translate('ariaDefaultListName', this.listName || 'List');\n var ariaEl = this.eContainer;\n setAriaRole(ariaEl, this.ariaRole);\n setAriaLabel(ariaEl, listName);\n };\n VirtualList.prototype.addResizeObserver = function () {\n var listener = this.drawVirtualRows.bind(this);\n var destroyObserver = this.resizeObserverService.observeResize(this.getGui(), listener);\n this.addDestroyFunc(destroyObserver);\n };\n VirtualList.prototype.focusInnerElement = function (fromBottom) {\n this.focusRow(fromBottom ? this.model.getRowCount() - 1 : 0);\n };\n VirtualList.prototype.onFocusIn = function (e) {\n var target = e.target;\n if (target.classList.contains('ag-virtual-list-item')) {\n this.lastFocusedRowIndex = getAriaPosInSet(target) - 1;\n }\n return false;\n };\n VirtualList.prototype.onFocusOut = function (e) {\n if (!this.getFocusableElement().contains(e.relatedTarget)) {\n this.lastFocusedRowIndex = null;\n }\n return false;\n };\n VirtualList.prototype.handleKeyDown = function (e) {\n switch (e.key) {\n case KeyCode.UP:\n case KeyCode.DOWN:\n if (this.navigate(e.key === KeyCode.UP)) {\n e.preventDefault();\n }\n break;\n }\n };\n VirtualList.prototype.onTabKeyDown = function (e) {\n if (this.navigate(e.shiftKey)) {\n e.preventDefault();\n }\n else {\n // focus on the first or last focusable element to ensure that any other handlers start from there\n this.focusService.focusInto(this.getGui(), !e.shiftKey);\n }\n };\n VirtualList.prototype.navigate = function (up) {\n if (this.lastFocusedRowIndex == null) {\n return false;\n }\n var nextRow = this.lastFocusedRowIndex + (up ? -1 : 1);\n if (nextRow < 0 || nextRow >= this.model.getRowCount()) {\n return false;\n }\n this.focusRow(nextRow);\n return true;\n };\n VirtualList.prototype.getLastFocusedRow = function () {\n return this.lastFocusedRowIndex;\n };\n VirtualList.prototype.focusRow = function (rowNumber) {\n var _this = this;\n this.ensureIndexVisible(rowNumber);\n window.setTimeout(function () {\n var renderedRow = _this.renderedRows.get(rowNumber);\n if (renderedRow) {\n renderedRow.eDiv.focus();\n }\n }, 10);\n };\n VirtualList.prototype.getComponentAt = function (rowIndex) {\n var comp = this.renderedRows.get(rowIndex);\n return comp && comp.rowComponent;\n };\n VirtualList.getTemplate = function (cssIdentifier) {\n return /* html */ \"\\n
\\n
\\n
\";\n };\n VirtualList.prototype.getItemHeight = function () {\n return this.gridOptionsWrapper.getListItemHeight();\n };\n VirtualList.prototype.ensureIndexVisible = function (index) {\n var lastRow = this.model.getRowCount();\n if (typeof index !== 'number' || index < 0 || index >= lastRow) {\n console.warn('AG Grid: invalid row index for ensureIndexVisible: ' + index);\n return;\n }\n var rowTopPixel = index * this.rowHeight;\n var rowBottomPixel = rowTopPixel + this.rowHeight;\n var eGui = this.getGui();\n var viewportTopPixel = eGui.scrollTop;\n var viewportHeight = eGui.offsetHeight;\n var viewportBottomPixel = viewportTopPixel + viewportHeight;\n var viewportScrolledPastRow = viewportTopPixel > rowTopPixel;\n var viewportScrolledBeforeRow = viewportBottomPixel < rowBottomPixel;\n if (viewportScrolledPastRow) {\n // if row is before, scroll up with row at top\n eGui.scrollTop = rowTopPixel;\n }\n else if (viewportScrolledBeforeRow) {\n // if row is below, scroll down with row at bottom\n var newScrollPosition = rowBottomPixel - viewportHeight;\n eGui.scrollTop = newScrollPosition;\n }\n };\n VirtualList.prototype.setComponentCreator = function (componentCreator) {\n this.componentCreator = componentCreator;\n };\n VirtualList.prototype.getRowHeight = function () {\n return this.rowHeight;\n };\n VirtualList.prototype.getScrollTop = function () {\n return this.getGui().scrollTop;\n };\n VirtualList.prototype.setRowHeight = function (rowHeight) {\n this.rowHeight = rowHeight;\n this.refresh();\n };\n VirtualList.prototype.refresh = function () {\n var _this = this;\n if (this.model == null || this.isDestroyed) {\n return;\n }\n var rowCount = this.model.getRowCount();\n this.eContainer.style.height = rowCount * this.rowHeight + \"px\";\n // ensure height is applied before attempting to redraw rows\n waitUntil(function () { return _this.eContainer.clientHeight >= rowCount * _this.rowHeight; }, function () {\n if (_this.isDestroyed) {\n return;\n }\n _this.clearVirtualRows();\n _this.drawVirtualRows();\n });\n };\n VirtualList.prototype.clearVirtualRows = function () {\n var _this = this;\n this.renderedRows.forEach(function (_, rowIndex) { return _this.removeRow(rowIndex); });\n };\n VirtualList.prototype.drawVirtualRows = function () {\n var gui = this.getGui();\n var topPixel = gui.scrollTop;\n var bottomPixel = topPixel + gui.offsetHeight;\n var firstRow = Math.floor(topPixel / this.rowHeight);\n var lastRow = Math.floor(bottomPixel / this.rowHeight);\n this.ensureRowsRendered(firstRow, lastRow);\n };\n VirtualList.prototype.ensureRowsRendered = function (start, finish) {\n var _this = this;\n // remove any rows that are no longer required\n this.renderedRows.forEach(function (_, rowIndex) {\n if ((rowIndex < start || rowIndex > finish) && rowIndex !== _this.lastFocusedRowIndex) {\n _this.removeRow(rowIndex);\n }\n });\n // insert any required new rows\n for (var rowIndex = start; rowIndex <= finish; rowIndex++) {\n if (this.renderedRows.has(rowIndex)) {\n continue;\n }\n // check this row actually exists (in case overflow buffer window exceeds real data)\n if (rowIndex < this.model.getRowCount()) {\n this.insertRow(rowIndex);\n }\n }\n };\n VirtualList.prototype.insertRow = function (rowIndex) {\n var _this = this;\n var value = this.model.getRow(rowIndex);\n var eDiv = document.createElement('div');\n eDiv.classList.add('ag-virtual-list-item', \"ag-\" + this.cssIdentifier + \"-virtual-list-item\");\n setAriaRole(eDiv, this.ariaRole === 'tree' ? 'treeitem' : 'option');\n setAriaSetSize(eDiv, this.model.getRowCount());\n setAriaPosInSet(eDiv, rowIndex + 1);\n eDiv.setAttribute('tabindex', '-1');\n if (typeof this.model.isRowSelected === 'function') {\n var isSelected = this.model.isRowSelected(rowIndex);\n setAriaSelected(eDiv, !!isSelected);\n setAriaChecked(eDiv, isSelected);\n }\n eDiv.style.height = this.rowHeight + \"px\";\n eDiv.style.top = this.rowHeight * rowIndex + \"px\";\n var rowComponent = this.componentCreator(value, eDiv);\n rowComponent.addGuiEventListener('focusin', function () { return _this.lastFocusedRowIndex = rowIndex; });\n eDiv.appendChild(rowComponent.getGui());\n // keep the DOM order consistent with the order of the rows\n if (this.renderedRows.has(rowIndex - 1)) {\n this.renderedRows.get(rowIndex - 1).eDiv.insertAdjacentElement('afterend', eDiv);\n }\n else if (this.renderedRows.has(rowIndex + 1)) {\n this.renderedRows.get(rowIndex + 1).eDiv.insertAdjacentElement('beforebegin', eDiv);\n }\n else {\n this.eContainer.appendChild(eDiv);\n }\n this.renderedRows.set(rowIndex, { rowComponent: rowComponent, eDiv: eDiv });\n };\n VirtualList.prototype.removeRow = function (rowIndex) {\n var component = this.renderedRows.get(rowIndex);\n this.eContainer.removeChild(component.eDiv);\n this.destroyBean(component.rowComponent);\n this.renderedRows.delete(rowIndex);\n };\n VirtualList.prototype.addScrollListener = function () {\n var _this = this;\n this.addGuiEventListener('scroll', function () { return _this.drawVirtualRows(); });\n };\n VirtualList.prototype.setModel = function (model) {\n this.model = model;\n };\n VirtualList.prototype.destroy = function () {\n if (this.isDestroyed) {\n return;\n }\n this.clearVirtualRows();\n this.isDestroyed = true;\n _super.prototype.destroy.call(this);\n };\n __decorate$1N([\n Autowired('resizeObserverService')\n ], VirtualList.prototype, \"resizeObserverService\", void 0);\n __decorate$1N([\n Autowired('focusService')\n ], VirtualList.prototype, \"focusService\", void 0);\n __decorate$1N([\n RefSelector('eContainer')\n ], VirtualList.prototype, \"eContainer\", void 0);\n __decorate$1N([\n PostConstruct\n ], VirtualList.prototype, \"postConstruct\", null);\n return VirtualList;\n}(TabGuardComp));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar OUTSIDE_ANGULAR_EVENTS = ['mouseover', 'mouseout', 'mouseenter', 'mouseleave'];\nvar PASSIVE_EVENTS$1 = ['touchstart', 'touchend', 'touchmove', 'touchcancel'];\n/** The base frameworks, eg React & Angular, override this bean with implementations specific to their requirement. */\nvar VanillaFrameworkOverrides = /** @class */ (function () {\n function VanillaFrameworkOverrides() {\n this.isOutsideAngular = function (eventType) { return includes(OUTSIDE_ANGULAR_EVENTS, eventType); };\n }\n // for Vanilla JS, we use simple timeout\n VanillaFrameworkOverrides.prototype.setTimeout = function (action, timeout) {\n window.setTimeout(action, timeout);\n };\n VanillaFrameworkOverrides.prototype.setInterval = function (action, timeout) {\n return new AgPromise(function (resolve) {\n resolve(window.setInterval(action, timeout));\n });\n };\n // for Vanilla JS, we just add the event to the element\n VanillaFrameworkOverrides.prototype.addEventListener = function (element, type, listener, useCapture) {\n var isPassive = includes(PASSIVE_EVENTS$1, type);\n element.addEventListener(type, listener, { capture: !!useCapture, passive: isPassive });\n };\n // for Vanilla JS, we just execute the listener\n VanillaFrameworkOverrides.prototype.dispatchEvent = function (eventType, listener, global) {\n listener();\n };\n VanillaFrameworkOverrides.prototype.frameworkComponent = function (name) {\n return null;\n };\n VanillaFrameworkOverrides.prototype.isFrameworkComponent = function (comp) {\n return false;\n };\n return VanillaFrameworkOverrides;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$28 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1O = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar CellNavigationService = /** @class */ (function (_super) {\n __extends$28(CellNavigationService, _super);\n function CellNavigationService() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n // returns null if no cell to focus on, ie at the end of the grid\n CellNavigationService.prototype.getNextCellToFocus = function (key, focusedCell, ctrlPressed) {\n if (ctrlPressed === void 0) { ctrlPressed = false; }\n if (ctrlPressed) {\n return this.getNextCellToFocusWithCtrlPressed(key, focusedCell);\n }\n return this.getNextCellToFocusWithoutCtrlPressed(key, focusedCell);\n };\n CellNavigationService.prototype.getNextCellToFocusWithCtrlPressed = function (key, focusedCell) {\n var upKey = key === KeyCode.UP;\n var downKey = key === KeyCode.DOWN;\n var leftKey = key === KeyCode.LEFT;\n var column;\n var rowIndex;\n if (upKey || downKey) {\n rowIndex = upKey ? this.paginationProxy.getPageFirstRow() : this.paginationProxy.getPageLastRow();\n column = focusedCell.column;\n }\n else {\n var allColumns = this.columnModel.getAllDisplayedColumns();\n var isRtl = this.gridOptionsWrapper.isEnableRtl();\n rowIndex = focusedCell.rowIndex;\n column = leftKey !== isRtl ? allColumns[0] : last(allColumns);\n }\n return {\n rowIndex: rowIndex,\n rowPinned: null,\n column: column\n };\n };\n CellNavigationService.prototype.getNextCellToFocusWithoutCtrlPressed = function (key, focusedCell) {\n // starting with the provided cell, we keep moving until we find a cell we can\n // focus on.\n var pointer = focusedCell;\n var finished = false;\n // finished will be true when either:\n // a) cell found that we can focus on\n // b) run out of cells (ie the method returns null)\n while (!finished) {\n switch (key) {\n case KeyCode.UP:\n pointer = this.getCellAbove(pointer);\n break;\n case KeyCode.DOWN:\n pointer = this.getCellBelow(pointer);\n break;\n case KeyCode.RIGHT:\n if (this.gridOptionsWrapper.isEnableRtl()) {\n pointer = this.getCellToLeft(pointer);\n }\n else {\n pointer = this.getCellToRight(pointer);\n }\n break;\n case KeyCode.LEFT:\n if (this.gridOptionsWrapper.isEnableRtl()) {\n pointer = this.getCellToRight(pointer);\n }\n else {\n pointer = this.getCellToLeft(pointer);\n }\n break;\n default:\n pointer = null;\n console.warn('AG Grid: unknown key for navigation ' + key);\n break;\n }\n if (pointer) {\n finished = this.isCellGoodToFocusOn(pointer);\n }\n else {\n finished = true;\n }\n }\n return pointer;\n };\n CellNavigationService.prototype.isCellGoodToFocusOn = function (gridCell) {\n var column = gridCell.column;\n var rowNode;\n switch (gridCell.rowPinned) {\n case Constants.PINNED_TOP:\n rowNode = this.pinnedRowModel.getPinnedTopRow(gridCell.rowIndex);\n break;\n case Constants.PINNED_BOTTOM:\n rowNode = this.pinnedRowModel.getPinnedBottomRow(gridCell.rowIndex);\n break;\n default:\n rowNode = this.rowModel.getRow(gridCell.rowIndex);\n break;\n }\n if (!rowNode) {\n return false;\n }\n var suppressNavigable = column.isSuppressNavigable(rowNode);\n return !suppressNavigable;\n };\n CellNavigationService.prototype.getCellToLeft = function (lastCell) {\n if (!lastCell) {\n return null;\n }\n var colToLeft = this.columnModel.getDisplayedColBefore(lastCell.column);\n if (!colToLeft) {\n return null;\n }\n return {\n rowIndex: lastCell.rowIndex,\n column: colToLeft,\n rowPinned: lastCell.rowPinned\n };\n };\n CellNavigationService.prototype.getCellToRight = function (lastCell) {\n if (!lastCell) {\n return null;\n }\n var colToRight = this.columnModel.getDisplayedColAfter(lastCell.column);\n // if already on right, do nothing\n if (!colToRight) {\n return null;\n }\n return {\n rowIndex: lastCell.rowIndex,\n column: colToRight,\n rowPinned: lastCell.rowPinned\n };\n };\n CellNavigationService.prototype.getRowBelow = function (rowPosition) {\n // if already on top row, do nothing\n var index = rowPosition.rowIndex;\n var pinned = rowPosition.rowPinned;\n if (this.isLastRowInContainer(rowPosition)) {\n switch (pinned) {\n case Constants.PINNED_BOTTOM:\n // never any rows after pinned bottom\n return null;\n case Constants.PINNED_TOP:\n // if on last row of pinned top, then next row is main body (if rows exist),\n // otherwise it's the pinned bottom\n if (this.rowModel.isRowsToRender()) {\n return { rowIndex: this.paginationProxy.getPageFirstRow(), rowPinned: null };\n }\n if (this.pinnedRowModel.isRowsToRender(Constants.PINNED_BOTTOM)) {\n return { rowIndex: 0, rowPinned: Constants.PINNED_BOTTOM };\n }\n return null;\n default:\n // if in the main body, then try pinned bottom, otherwise return nothing\n if (this.pinnedRowModel.isRowsToRender(Constants.PINNED_BOTTOM)) {\n return { rowIndex: 0, rowPinned: Constants.PINNED_BOTTOM };\n }\n return null;\n }\n }\n return { rowIndex: index + 1, rowPinned: pinned };\n };\n CellNavigationService.prototype.getCellBelow = function (lastCell) {\n if (!lastCell) {\n return null;\n }\n var rowBelow = this.getRowBelow(lastCell);\n if (rowBelow) {\n return {\n rowIndex: rowBelow.rowIndex,\n column: lastCell.column,\n rowPinned: rowBelow.rowPinned\n };\n }\n return null;\n };\n CellNavigationService.prototype.isLastRowInContainer = function (rowPosition) {\n var pinned = rowPosition.rowPinned;\n var index = rowPosition.rowIndex;\n if (pinned === Constants.PINNED_TOP) {\n var lastTopIndex = this.pinnedRowModel.getPinnedTopRowData().length - 1;\n return lastTopIndex <= index;\n }\n if (pinned === Constants.PINNED_BOTTOM) {\n var lastBottomIndex = this.pinnedRowModel.getPinnedBottomRowData().length - 1;\n return lastBottomIndex <= index;\n }\n var lastBodyIndex = this.paginationProxy.getPageLastRow();\n return lastBodyIndex <= index;\n };\n CellNavigationService.prototype.getRowAbove = function (rowPosition) {\n // if already on top row, do nothing\n var index = rowPosition.rowIndex;\n var pinned = rowPosition.rowPinned;\n var isFirstRow = pinned ? index === 0 : index === this.paginationProxy.getPageFirstRow();\n // if already on top row, do nothing\n if (isFirstRow) {\n if (pinned === Constants.PINNED_TOP) {\n return null;\n }\n if (!pinned) {\n if (this.pinnedRowModel.isRowsToRender(Constants.PINNED_TOP)) {\n return this.getLastFloatingTopRow();\n }\n return null;\n }\n // last floating bottom\n if (this.rowModel.isRowsToRender()) {\n return this.getLastBodyCell();\n }\n if (this.pinnedRowModel.isRowsToRender(Constants.PINNED_TOP)) {\n return this.getLastFloatingTopRow();\n }\n return null;\n }\n return { rowIndex: index - 1, rowPinned: pinned };\n };\n CellNavigationService.prototype.getCellAbove = function (lastCell) {\n if (!lastCell) {\n return null;\n }\n var rowAbove = this.getRowAbove({ rowIndex: lastCell.rowIndex, rowPinned: lastCell.rowPinned });\n if (rowAbove) {\n return {\n rowIndex: rowAbove.rowIndex,\n column: lastCell.column,\n rowPinned: rowAbove.rowPinned\n };\n }\n return null;\n };\n CellNavigationService.prototype.getLastBodyCell = function () {\n var lastBodyRow = this.paginationProxy.getPageLastRow();\n return { rowIndex: lastBodyRow, rowPinned: null };\n };\n CellNavigationService.prototype.getLastFloatingTopRow = function () {\n var lastFloatingRow = this.pinnedRowModel.getPinnedTopRowData().length - 1;\n return { rowIndex: lastFloatingRow, rowPinned: Constants.PINNED_TOP };\n };\n CellNavigationService.prototype.getNextTabbedCell = function (gridCell, backwards) {\n if (backwards) {\n return this.getNextTabbedCellBackwards(gridCell);\n }\n return this.getNextTabbedCellForwards(gridCell);\n };\n CellNavigationService.prototype.getNextTabbedCellForwards = function (gridCell) {\n var displayedColumns = this.columnModel.getAllDisplayedColumns();\n var newRowIndex = gridCell.rowIndex;\n var newFloating = gridCell.rowPinned;\n // move along to the next cell\n var newColumn = this.columnModel.getDisplayedColAfter(gridCell.column);\n // check if end of the row, and if so, go forward a row\n if (!newColumn) {\n newColumn = displayedColumns[0];\n var rowBelow = this.getRowBelow(gridCell);\n if (missing(rowBelow)) {\n return null;\n }\n // If we are tabbing and there is a paging panel present, tabbing should go\n // to the paging panel instead of loading the next page.\n if (!rowBelow.rowPinned && !this.paginationProxy.isRowInPage(rowBelow)) {\n return null;\n }\n newRowIndex = rowBelow ? rowBelow.rowIndex : null;\n newFloating = rowBelow ? rowBelow.rowPinned : null;\n }\n return { rowIndex: newRowIndex, column: newColumn, rowPinned: newFloating };\n };\n CellNavigationService.prototype.getNextTabbedCellBackwards = function (gridCell) {\n var displayedColumns = this.columnModel.getAllDisplayedColumns();\n var newRowIndex = gridCell.rowIndex;\n var newFloating = gridCell.rowPinned;\n // move along to the next cell\n var newColumn = this.columnModel.getDisplayedColBefore(gridCell.column);\n // check if end of the row, and if so, go forward a row\n if (!newColumn) {\n newColumn = last(displayedColumns);\n var rowAbove = this.getRowAbove({ rowIndex: gridCell.rowIndex, rowPinned: gridCell.rowPinned });\n if (missing(rowAbove)) {\n return null;\n }\n // If we are tabbing and there is a paging panel present, tabbing should go\n // to the paging panel instead of loading the next page.\n if (!rowAbove.rowPinned && !this.paginationProxy.isRowInPage(rowAbove)) {\n return null;\n }\n newRowIndex = rowAbove ? rowAbove.rowIndex : null;\n newFloating = rowAbove ? rowAbove.rowPinned : null;\n }\n return { rowIndex: newRowIndex, column: newColumn, rowPinned: newFloating };\n };\n __decorate$1O([\n Autowired('columnModel')\n ], CellNavigationService.prototype, \"columnModel\", void 0);\n __decorate$1O([\n Autowired('rowModel')\n ], CellNavigationService.prototype, \"rowModel\", void 0);\n __decorate$1O([\n Autowired('pinnedRowModel')\n ], CellNavigationService.prototype, \"pinnedRowModel\", void 0);\n __decorate$1O([\n Autowired('paginationProxy')\n ], CellNavigationService.prototype, \"paginationProxy\", void 0);\n CellNavigationService = __decorate$1O([\n Bean('cellNavigationService')\n ], CellNavigationService);\n return CellNavigationService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$29 = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1P = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __param$5 = (undefined && undefined.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nvar AlignedGridsService = /** @class */ (function (_super) {\n __extends$29(AlignedGridsService, _super);\n function AlignedGridsService() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n // flag to mark if we are consuming. to avoid cyclic events (ie other grid firing back to master\n // while processing a master event) we mark this if consuming an event, and if we are, then\n // we don't fire back any events.\n _this.consuming = false;\n return _this;\n }\n AlignedGridsService.prototype.setBeans = function (loggerFactory) {\n this.logger = loggerFactory.create('AlignedGridsService');\n };\n AlignedGridsService.prototype.init = function () {\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_MOVED, this.fireColumnEvent.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_VISIBLE, this.fireColumnEvent.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_PINNED, this.fireColumnEvent.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_GROUP_OPENED, this.fireColumnEvent.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_RESIZED, this.fireColumnEvent.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_BODY_SCROLL, this.fireScrollEvent.bind(this));\n };\n // common logic across all the fire methods\n AlignedGridsService.prototype.fireEvent = function (callback) {\n // if we are already consuming, then we are acting on an event from a master,\n // so we don't cause a cyclic firing of events\n if (this.consuming) {\n return;\n }\n // iterate through the aligned grids, and pass each aligned grid service to the callback\n var otherGrids = this.gridOptionsWrapper.getAlignedGrids();\n if (otherGrids) {\n otherGrids.forEach(function (otherGridOptions) {\n if (otherGridOptions.api) {\n var alignedGridService = otherGridOptions.api.__getAlignedGridService();\n callback(alignedGridService);\n }\n });\n }\n };\n // common logic across all consume methods. very little common logic, however extracting\n // guarantees consistency across the methods.\n AlignedGridsService.prototype.onEvent = function (callback) {\n this.consuming = true;\n callback();\n this.consuming = false;\n };\n AlignedGridsService.prototype.fireColumnEvent = function (event) {\n this.fireEvent(function (alignedGridsService) {\n alignedGridsService.onColumnEvent(event);\n });\n };\n AlignedGridsService.prototype.fireScrollEvent = function (event) {\n if (event.direction !== 'horizontal') {\n return;\n }\n this.fireEvent(function (alignedGridsService) {\n alignedGridsService.onScrollEvent(event);\n });\n };\n AlignedGridsService.prototype.onScrollEvent = function (event) {\n var _this = this;\n this.onEvent(function () {\n var gridBodyCon = _this.ctrlsService.getGridBodyCtrl();\n gridBodyCon.getScrollFeature().setHorizontalScrollPosition(event.left);\n });\n };\n AlignedGridsService.prototype.getMasterColumns = function (event) {\n var result = [];\n if (event.columns) {\n event.columns.forEach(function (column) {\n result.push(column);\n });\n }\n else if (event.column) {\n result.push(event.column);\n }\n return result;\n };\n AlignedGridsService.prototype.getColumnIds = function (event) {\n var result = [];\n if (event.columns) {\n event.columns.forEach(function (column) {\n result.push(column.getColId());\n });\n }\n else if (event.column) {\n result.push(event.column.getColId());\n }\n return result;\n };\n AlignedGridsService.prototype.onColumnEvent = function (event) {\n var _this = this;\n this.onEvent(function () {\n switch (event.type) {\n case Events.EVENT_COLUMN_MOVED:\n case Events.EVENT_COLUMN_VISIBLE:\n case Events.EVENT_COLUMN_PINNED:\n case Events.EVENT_COLUMN_RESIZED:\n var colEvent = event;\n _this.processColumnEvent(colEvent);\n break;\n case Events.EVENT_COLUMN_GROUP_OPENED:\n var groupOpenedEvent = event;\n _this.processGroupOpenedEvent(groupOpenedEvent);\n break;\n case Events.EVENT_COLUMN_PIVOT_CHANGED:\n // we cannot support pivoting with aligned grids as the columns will be out of sync as the\n // grids will have columns created based on the row data of the grid.\n console.warn('AG Grid: pivoting is not supported with aligned grids. ' +\n 'You can only use one of these features at a time in a grid.');\n break;\n }\n });\n };\n AlignedGridsService.prototype.processGroupOpenedEvent = function (groupOpenedEvent) {\n // likewise for column group\n var masterColumnGroup = groupOpenedEvent.columnGroup;\n var otherColumnGroup = null;\n if (masterColumnGroup) {\n var groupId = masterColumnGroup.getGroupId();\n otherColumnGroup = this.columnModel.getProvidedColumnGroup(groupId);\n }\n if (masterColumnGroup && !otherColumnGroup) {\n return;\n }\n this.logger.log('onColumnEvent-> processing ' + groupOpenedEvent + ' expanded = ' + masterColumnGroup.isExpanded());\n this.columnModel.setColumnGroupOpened(otherColumnGroup, masterColumnGroup.isExpanded(), \"alignedGridChanged\");\n };\n AlignedGridsService.prototype.processColumnEvent = function (colEvent) {\n var _this = this;\n // the column in the event is from the master grid. need to\n // look up the equivalent from this (other) grid\n var masterColumn = colEvent.column;\n var otherColumn = null;\n if (masterColumn) {\n otherColumn = this.columnModel.getPrimaryColumn(masterColumn.getColId());\n }\n // if event was with respect to a master column, that is not present in this\n // grid, then we ignore the event\n if (masterColumn && !otherColumn) {\n return;\n }\n // in time, all the methods below should use the column ids, it's a more generic way\n // of handling columns, and also allows for single or multi column events\n var masterColumns = this.getMasterColumns(colEvent);\n switch (colEvent.type) {\n case Events.EVENT_COLUMN_MOVED:\n // when the user moves columns via setColumnState, we can't depend on moving specific columns\n // to an index, as there maybe be many indexes columns moved to (as wasn't result of a mouse drag).\n // so only way to be sure is match the order of all columns using Column State.\n {\n var movedEvent = colEvent;\n var srcColState = colEvent.columnApi.getColumnState();\n var destColState = srcColState.map(function (s) { return ({ colId: s.colId }); });\n this.columnModel.applyColumnState({ state: destColState, applyOrder: true }, \"alignedGridChanged\");\n this.logger.log(\"onColumnEvent-> processing \" + colEvent.type + \" toIndex = \" + movedEvent.toIndex);\n }\n break;\n case Events.EVENT_COLUMN_VISIBLE:\n // when the user changes visibility via setColumnState, we can't depend on visibility flag in event\n // as there maybe be mix of true/false (as wasn't result of a mouse click to set visiblity).\n // so only way to be sure is match the visibility of all columns using Column State.\n {\n var visibleEvent = colEvent;\n var srcColState = colEvent.columnApi.getColumnState();\n var destColState = srcColState.map(function (s) { return ({ colId: s.colId, hide: s.hide }); });\n this.columnModel.applyColumnState({ state: destColState }, \"alignedGridChanged\");\n this.logger.log(\"onColumnEvent-> processing \" + colEvent.type + \" visible = \" + visibleEvent.visible);\n }\n break;\n case Events.EVENT_COLUMN_PINNED:\n {\n var pinnedEvent = colEvent;\n var srcColState = colEvent.columnApi.getColumnState();\n var destColState = srcColState.map(function (s) { return ({ colId: s.colId, pinned: s.pinned }); });\n this.columnModel.applyColumnState({ state: destColState }, \"alignedGridChanged\");\n this.logger.log(\"onColumnEvent-> processing \" + colEvent.type + \" pinned = \" + pinnedEvent.pinned);\n }\n break;\n case Events.EVENT_COLUMN_RESIZED:\n var resizedEvent_1 = colEvent;\n masterColumns.forEach(function (column) {\n _this.logger.log(\"onColumnEvent-> processing \" + colEvent.type + \" actualWidth = \" + column.getActualWidth());\n var columnWidths = [{ key: column.getColId(), newWidth: column.getActualWidth() }];\n _this.columnModel.setColumnWidths(columnWidths, false, resizedEvent_1.finished, \"alignedGridChanged\");\n });\n break;\n }\n var gridBodyCon = this.ctrlsService.getGridBodyCtrl();\n var isVerticalScrollShowing = gridBodyCon.isVerticalScrollShowing();\n var alignedGrids = this.gridOptionsWrapper.getAlignedGrids();\n if (alignedGrids) {\n alignedGrids.forEach(function (grid) {\n if (grid.api) {\n grid.api.setAlwaysShowVerticalScroll(isVerticalScrollShowing);\n }\n });\n }\n };\n __decorate$1P([\n Autowired('columnModel')\n ], AlignedGridsService.prototype, \"columnModel\", void 0);\n __decorate$1P([\n Autowired('ctrlsService')\n ], AlignedGridsService.prototype, \"ctrlsService\", void 0);\n __decorate$1P([\n __param$5(0, Qualifier('loggerFactory'))\n ], AlignedGridsService.prototype, \"setBeans\", null);\n __decorate$1P([\n PostConstruct\n ], AlignedGridsService.prototype, \"init\", null);\n AlignedGridsService = __decorate$1P([\n Bean('alignedGridsService')\n ], AlignedGridsService);\n return AlignedGridsService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2a = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1Q = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __param$6 = (undefined && undefined.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nvar SelectionService = /** @class */ (function (_super) {\n __extends$2a(SelectionService, _super);\n function SelectionService() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SelectionService.prototype.setBeans = function (loggerFactory) {\n this.logger = loggerFactory.create('selectionService');\n this.reset();\n };\n SelectionService.prototype.init = function () {\n this.groupSelectsChildren = this.gridOptionsWrapper.isGroupSelectsChildren();\n this.addManagedListener(this.eventService, Events.EVENT_ROW_SELECTED, this.onRowSelected.bind(this));\n };\n SelectionService.prototype.setLastSelectedNode = function (rowNode) {\n this.lastSelectedNode = rowNode;\n };\n SelectionService.prototype.getLastSelectedNode = function () {\n return this.lastSelectedNode;\n };\n SelectionService.prototype.getSelectedNodes = function () {\n var selectedNodes = [];\n iterateObject(this.selectedNodes, function (key, rowNode) {\n if (rowNode) {\n selectedNodes.push(rowNode);\n }\n });\n return selectedNodes;\n };\n SelectionService.prototype.getSelectedRows = function () {\n var selectedRows = [];\n iterateObject(this.selectedNodes, function (key, rowNode) {\n if (rowNode && rowNode.data) {\n selectedRows.push(rowNode.data);\n }\n });\n return selectedRows;\n };\n SelectionService.prototype.removeGroupsFromSelection = function () {\n var _this = this;\n iterateObject(this.selectedNodes, function (key, rowNode) {\n if (rowNode && rowNode.group) {\n _this.selectedNodes[rowNode.id] = undefined;\n }\n });\n };\n // should only be called if groupSelectsChildren=true\n SelectionService.prototype.updateGroupsFromChildrenSelections = function (changedPath) {\n // we only do this when group selection state depends on selected children\n if (!this.gridOptionsWrapper.isGroupSelectsChildren()) {\n return;\n }\n // also only do it if CSRM (code should never allow this anyway)\n if (this.rowModel.getType() !== Constants.ROW_MODEL_TYPE_CLIENT_SIDE) {\n return;\n }\n var clientSideRowModel = this.rowModel;\n var rootNode = clientSideRowModel.getRootNode();\n if (!changedPath) {\n changedPath = new ChangedPath(true, rootNode);\n changedPath.setInactive();\n }\n changedPath.forEachChangedNodeDepthFirst(function (rowNode) {\n if (rowNode !== rootNode) {\n rowNode.calculateSelectedFromChildren();\n }\n });\n // clientSideRowModel.getTopLevelNodes()!.forEach((rowNode: RowNode) => {\n // rowNode.depthFirstSearch((node) => {\n // if (node.group) {\n // }\n // });\n // });\n };\n SelectionService.prototype.getNodeForIdIfSelected = function (id) {\n return this.selectedNodes[id];\n };\n SelectionService.prototype.clearOtherNodes = function (rowNodeToKeepSelected) {\n var _this = this;\n var groupsToRefresh = {};\n var updatedCount = 0;\n iterateObject(this.selectedNodes, function (key, otherRowNode) {\n if (otherRowNode && otherRowNode.id !== rowNodeToKeepSelected.id) {\n var rowNode = _this.selectedNodes[otherRowNode.id];\n updatedCount += rowNode.setSelectedParams({\n newValue: false,\n clearSelection: false,\n suppressFinishActions: true\n });\n if (_this.groupSelectsChildren && otherRowNode.parent) {\n groupsToRefresh[otherRowNode.parent.id] = otherRowNode.parent;\n }\n }\n });\n iterateObject(groupsToRefresh, function (key, group) {\n group.calculateSelectedFromChildren();\n });\n return updatedCount;\n };\n SelectionService.prototype.onRowSelected = function (event) {\n var rowNode = event.node;\n // we do not store the group rows when the groups select children\n if (this.groupSelectsChildren && rowNode.group) {\n return;\n }\n if (rowNode.isSelected()) {\n this.selectedNodes[rowNode.id] = rowNode;\n }\n else {\n this.selectedNodes[rowNode.id] = undefined;\n }\n };\n SelectionService.prototype.syncInRowNode = function (rowNode, oldNode) {\n this.syncInOldRowNode(rowNode, oldNode);\n this.syncInNewRowNode(rowNode);\n };\n // if the id has changed for the node, then this means the rowNode\n // is getting used for a different data item, which breaks\n // our selectedNodes, as the node now is mapped by the old id\n // which is inconsistent. so to keep the old node as selected,\n // we swap in the clone (with the old id and old data). this means\n // the oldNode is effectively a daemon we keep a reference to,\n // so if client calls api.getSelectedNodes(), it gets the daemon\n // in the result. when the client un-selects, the reference to the\n // daemon is removed. the daemon, because it's an oldNode, is not\n // used by the grid for rendering, it's a copy of what the node used\n // to be like before the id was changed.\n SelectionService.prototype.syncInOldRowNode = function (rowNode, oldNode) {\n var oldNodeHasDifferentId = exists(oldNode) && (rowNode.id !== oldNode.id);\n if (oldNodeHasDifferentId && oldNode) {\n var id = oldNode.id;\n var oldNodeSelected = this.selectedNodes[id] == rowNode;\n if (oldNodeSelected) {\n this.selectedNodes[oldNode.id] = oldNode;\n }\n }\n };\n SelectionService.prototype.syncInNewRowNode = function (rowNode) {\n if (exists(this.selectedNodes[rowNode.id])) {\n rowNode.setSelectedInitialValue(true);\n this.selectedNodes[rowNode.id] = rowNode;\n }\n else {\n rowNode.setSelectedInitialValue(false);\n }\n };\n SelectionService.prototype.reset = function () {\n this.logger.log('reset');\n this.selectedNodes = {};\n this.lastSelectedNode = null;\n };\n // returns a list of all nodes at 'best cost' - a feature to be used\n // with groups / trees. if a group has all it's children selected,\n // then the group appears in the result, but not the children.\n // Designed for use with 'children' as the group selection type,\n // where groups don't actually appear in the selection normally.\n SelectionService.prototype.getBestCostNodeSelection = function () {\n if (this.rowModel.getType() !== Constants.ROW_MODEL_TYPE_CLIENT_SIDE) {\n console.warn('AG Grid: `getBestCostNodeSelection` is only available when using normal row model');\n return;\n }\n var clientSideRowModel = this.rowModel;\n var topLevelNodes = clientSideRowModel.getTopLevelNodes();\n if (topLevelNodes === null) {\n console.warn('AG Grid: `selectAll` not available doing `rowModel=virtual`');\n return;\n }\n var result = [];\n // recursive function, to find the selected nodes\n function traverse(nodes) {\n for (var i = 0, l = nodes.length; i < l; i++) {\n var node = nodes[i];\n if (node.isSelected()) {\n result.push(node);\n }\n else {\n // if not selected, then if it's a group, and the group\n // has children, continue to search for selections\n var maybeGroup = node;\n if (maybeGroup.group && maybeGroup.children) {\n traverse(maybeGroup.children);\n }\n }\n }\n }\n traverse(topLevelNodes);\n return result;\n };\n SelectionService.prototype.setRowModel = function (rowModel) {\n this.rowModel = rowModel;\n };\n SelectionService.prototype.isEmpty = function () {\n var count = 0;\n iterateObject(this.selectedNodes, function (nodeId, rowNode) {\n if (rowNode) {\n count++;\n }\n });\n return count === 0;\n };\n SelectionService.prototype.deselectAllRowNodes = function (justFiltered) {\n if (justFiltered === void 0) { justFiltered = false; }\n var callback = function (rowNode) { return rowNode.selectThisNode(false); };\n var rowModelClientSide = this.rowModel.getType() === Constants.ROW_MODEL_TYPE_CLIENT_SIDE;\n if (justFiltered) {\n if (!rowModelClientSide) {\n console.error('AG Grid: selecting just filtered only works with In Memory Row Model');\n return;\n }\n var clientSideRowModel = this.rowModel;\n clientSideRowModel.forEachNodeAfterFilter(callback);\n }\n else {\n iterateObject(this.selectedNodes, function (id, rowNode) {\n // remember the reference can be to null, as we never 'delete' from the map\n if (rowNode) {\n callback(rowNode);\n }\n });\n // this clears down the map (whereas above only sets the items in map to 'undefined')\n this.reset();\n }\n // the above does not clean up the parent rows if they are selected\n if (rowModelClientSide && this.groupSelectsChildren) {\n this.updateGroupsFromChildrenSelections();\n }\n var event = {\n type: Events.EVENT_SELECTION_CHANGED,\n api: this.gridApi,\n columnApi: this.columnApi\n };\n this.eventService.dispatchEvent(event);\n };\n SelectionService.prototype.selectAllRowNodes = function (justFiltered) {\n if (justFiltered === void 0) { justFiltered = false; }\n if (this.rowModel.getType() !== Constants.ROW_MODEL_TYPE_CLIENT_SIDE) {\n throw new Error(\"selectAll only available with normal row model, ie not \" + this.rowModel.getType());\n }\n var clientSideRowModel = this.rowModel;\n var callback = function (rowNode) { return rowNode.selectThisNode(true); };\n if (justFiltered) {\n clientSideRowModel.forEachNodeAfterFilter(callback);\n }\n else {\n clientSideRowModel.forEachNode(callback);\n }\n // the above does not clean up the parent rows if they are selected\n if (this.rowModel.getType() === Constants.ROW_MODEL_TYPE_CLIENT_SIDE && this.groupSelectsChildren) {\n this.updateGroupsFromChildrenSelections();\n }\n var event = {\n type: Events.EVENT_SELECTION_CHANGED,\n api: this.gridApi,\n columnApi: this.columnApi\n };\n this.eventService.dispatchEvent(event);\n };\n /**\n * @method\n * @deprecated\n */\n SelectionService.prototype.selectNode = function (rowNode, tryMulti) {\n if (rowNode) {\n rowNode.setSelectedParams({ newValue: true, clearSelection: !tryMulti });\n }\n };\n /**\n * @method\n * @deprecated\n */\n SelectionService.prototype.deselectIndex = function (rowIndex) {\n var node = this.rowModel.getRow(rowIndex);\n this.deselectNode(node);\n };\n /**\n * @method\n * @deprecated\n */\n SelectionService.prototype.deselectNode = function (rowNode) {\n if (rowNode) {\n rowNode.setSelectedParams({ newValue: false, clearSelection: false });\n }\n };\n /**\n * @method\n * @deprecated\n */\n SelectionService.prototype.selectIndex = function (index, tryMulti) {\n var node = this.rowModel.getRow(index);\n this.selectNode(node, tryMulti);\n };\n __decorate$1Q([\n Autowired('rowModel')\n ], SelectionService.prototype, \"rowModel\", void 0);\n __decorate$1Q([\n Autowired('columnApi')\n ], SelectionService.prototype, \"columnApi\", void 0);\n __decorate$1Q([\n Autowired('gridApi')\n ], SelectionService.prototype, \"gridApi\", void 0);\n __decorate$1Q([\n __param$6(0, Qualifier('loggerFactory'))\n ], SelectionService.prototype, \"setBeans\", null);\n __decorate$1Q([\n PostConstruct\n ], SelectionService.prototype, \"init\", null);\n SelectionService = __decorate$1Q([\n Bean('selectionService')\n ], SelectionService);\n return SelectionService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __decorate$1R = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar ColumnApi = /** @class */ (function () {\n function ColumnApi() {\n }\n /** Gets the grid to size the columns to the specified width in pixels, e.g. `sizeColumnsToFit(900)`. To have the grid fit the columns to the grid's width, use the Grid API `gridApi.sizeColumnsToFit()` instead. */\n ColumnApi.prototype.sizeColumnsToFit = function (gridWidth) {\n // AG-3403 validate that gridWidth is provided because this method has the same name as\n // a method on the grid API that takes no arguments, and it's easy to confuse the two\n if (typeof gridWidth === \"undefined\") {\n console.error('AG Grid: missing parameter to columnApi.sizeColumnsToFit(gridWidth)');\n }\n this.columnModel.sizeColumnsToFit(gridWidth, 'api');\n };\n /** Call this if you want to open or close a column group. */\n ColumnApi.prototype.setColumnGroupOpened = function (group, newValue) { this.columnModel.setColumnGroupOpened(group, newValue, 'api'); };\n /** Returns the column group with the given name. */\n ColumnApi.prototype.getColumnGroup = function (name, instanceId) { return this.columnModel.getColumnGroup(name, instanceId); };\n /** Returns the provided column group with the given name. */\n ColumnApi.prototype.getProvidedColumnGroup = function (name) { return this.columnModel.getProvidedColumnGroup(name); };\n /** Returns the display name for a column. Useful if you are doing your own header rendering and want the grid to work out if `headerValueGetter` is used, or if you are doing your own column management GUI, to know what to show as the column name. */\n ColumnApi.prototype.getDisplayNameForColumn = function (column, location) { return this.columnModel.getDisplayNameForColumn(column, location) || ''; };\n /** Returns the display name for a column group (when grouping columns). */\n ColumnApi.prototype.getDisplayNameForColumnGroup = function (columnGroup, location) { return this.columnModel.getDisplayNameForColumnGroup(columnGroup, location) || ''; };\n /** Returns the column with the given `colKey`, which can either be the `colId` (a string) or the `colDef` (an object). */\n ColumnApi.prototype.getColumn = function (key) { return this.columnModel.getPrimaryColumn(key); };\n /** Applies the state of the columns from a previous state. Returns `false` if one or more columns could not be found. */\n ColumnApi.prototype.applyColumnState = function (params) { return this.columnModel.applyColumnState(params, 'api'); };\n /** Gets the state of the columns. Typically used when saving column state. */\n ColumnApi.prototype.getColumnState = function () { return this.columnModel.getColumnState(); };\n /** Sets the state back to match the originally provided column definitions. */\n ColumnApi.prototype.resetColumnState = function () { this.columnModel.resetColumnState('api'); };\n /** Gets the state of the column groups. Typically used when saving column group state. */\n ColumnApi.prototype.getColumnGroupState = function () { return this.columnModel.getColumnGroupState(); };\n /** Sets the state of the column group state from a previous state. */\n ColumnApi.prototype.setColumnGroupState = function (stateItems) { this.columnModel.setColumnGroupState(stateItems, 'api'); };\n /** Sets the state back to match the originally provided column definitions. */\n ColumnApi.prototype.resetColumnGroupState = function () { this.columnModel.resetColumnGroupState('api'); };\n /** Returns `true` if pinning left or right, otherwise `false`. */\n ColumnApi.prototype.isPinning = function () { return this.columnModel.isPinningLeft() || this.columnModel.isPinningRight(); };\n /** Returns `true` if pinning left, otherwise `false`. */\n ColumnApi.prototype.isPinningLeft = function () { return this.columnModel.isPinningLeft(); };\n /** Returns `true` if pinning right, otherwise `false`. */\n ColumnApi.prototype.isPinningRight = function () { return this.columnModel.isPinningRight(); };\n /** Returns the column to the right of the provided column, taking into consideration open / closed column groups and visible columns. This is useful if you need to know what column is beside yours e.g. if implementing your own cell navigation. */\n ColumnApi.prototype.getDisplayedColAfter = function (col) { return this.columnModel.getDisplayedColAfter(col); };\n /** Same as `getVisibleColAfter` except gives column to the left. */\n ColumnApi.prototype.getDisplayedColBefore = function (col) { return this.columnModel.getDisplayedColBefore(col); };\n /** Sets the visibility of a column. Key can be the column ID or `Column` object. */\n ColumnApi.prototype.setColumnVisible = function (key, visible) { this.columnModel.setColumnVisible(key, visible, 'api'); };\n /** Same as `setColumnVisible`, but provide a list of column keys. */\n ColumnApi.prototype.setColumnsVisible = function (keys, visible) { this.columnModel.setColumnsVisible(keys, visible, 'api'); };\n /** Sets the column pinned / unpinned. Key can be the column ID, field, `ColDef` object or `Column` object. */\n ColumnApi.prototype.setColumnPinned = function (key, pinned) { this.columnModel.setColumnPinned(key, pinned, 'api'); };\n /** Same as `setColumnPinned`, but provide a list of column keys. */\n ColumnApi.prototype.setColumnsPinned = function (keys, pinned) { this.columnModel.setColumnsPinned(keys, pinned, 'api'); };\n /** Returns all the columns, regardless of visible or not. */\n ColumnApi.prototype.getAllColumns = function () { return this.columnModel.getAllPrimaryColumns(); };\n /**\n * Returns all the grid columns, same as `getAllColumns()`, except\n *\n * a) it has the order of the columns that are presented in the grid\n *\n * b) it's after the 'pivot' step, so if pivoting, has the value columns for the pivot.\n */\n ColumnApi.prototype.getAllGridColumns = function () { return this.columnModel.getAllGridColumns(); };\n /** Same as `getAllDisplayedColumns` but just for the pinned left portion of the grid. */\n ColumnApi.prototype.getDisplayedLeftColumns = function () { return this.columnModel.getDisplayedLeftColumns(); };\n /** Same as `getAllDisplayedColumns` but just for the center portion of the grid. */\n ColumnApi.prototype.getDisplayedCenterColumns = function () { return this.columnModel.getDisplayedCenterColumns(); };\n /** Same as `getAllDisplayedColumns` but just for the pinned right portion of the grid. */\n ColumnApi.prototype.getDisplayedRightColumns = function () { return this.columnModel.getDisplayedRightColumns(); };\n /** Returns all columns currently displayed (e.g. are visible and if in a group, the group is showing the columns) for the pinned left, centre and pinned right portions of the grid. */\n ColumnApi.prototype.getAllDisplayedColumns = function () { return this.columnModel.getAllDisplayedColumns(); };\n /** Same as `getAllGridColumns()`, except only returns rendered columns, i.e. columns that are not within the viewport and therefore not rendered, due to column virtualisation, are not displayed. */\n ColumnApi.prototype.getAllDisplayedVirtualColumns = function () { return this.columnModel.getViewportColumns(); };\n /** Moves a column to `toIndex`. The column is first removed, then added at the `toIndex` location, thus index locations will change to the right of the column after the removal. */\n ColumnApi.prototype.moveColumn = function (key, toIndex) {\n if (typeof key === 'number') {\n // moveColumn used to take indexes, so this is advising user who hasn't moved to new method name\n console.warn('AG Grid: you are using moveColumn(fromIndex, toIndex) - moveColumn takes a column key and a destination index, not two indexes, to move with indexes use moveColumnByIndex(from,to) instead');\n this.columnModel.moveColumnByIndex(key, toIndex, 'api');\n }\n else {\n this.columnModel.moveColumn(key, toIndex, 'api');\n }\n };\n /** Same as `moveColumn` but works on index locations. */\n ColumnApi.prototype.moveColumnByIndex = function (fromIndex, toIndex) { this.columnModel.moveColumnByIndex(fromIndex, toIndex, 'api'); };\n /** Same as `moveColumn` but works on list. */\n ColumnApi.prototype.moveColumns = function (columnsToMoveKeys, toIndex) { this.columnModel.moveColumns(columnsToMoveKeys, toIndex, 'api'); };\n /** Move the column to a new position in the row grouping order. */\n ColumnApi.prototype.moveRowGroupColumn = function (fromIndex, toIndex) { this.columnModel.moveRowGroupColumn(fromIndex, toIndex); };\n /** Sets the agg function for a column. `aggFunc` can be one of `'min' | 'max' | 'sum'`. */\n ColumnApi.prototype.setColumnAggFunc = function (key, aggFunc) { this.columnModel.setColumnAggFunc(key, aggFunc); };\n /** Sets the column width on a single column. The finished flag gets included in the resulting event and not used internally by the grid. The finished flag is intended for dragging, where a dragging action will produce many `columnWidth` events, so the consumer of events knows when it receives the last event in a stream. The finished parameter is optional, and defaults to `true`. */\n ColumnApi.prototype.setColumnWidth = function (key, newWidth, finished, source) {\n if (finished === void 0) { finished = true; }\n this.columnModel.setColumnWidths([{ key: key, newWidth: newWidth }], false, finished, source);\n };\n /** Sets the column widths on multiple columns. This method offers better performance than calling `setColumnWidth` multiple times. The finished flag gets included in the resulting event and not used internally by the grid. The finished flag is intended for dragging, where a dragging action will produce many `columnWidth` events, so the consumer of events knows when it receives the last event in a stream. The finished parameter is optional, and defaults to `true`. */\n ColumnApi.prototype.setColumnWidths = function (columnWidths, finished, source) {\n if (finished === void 0) { finished = true; }\n this.columnModel.setColumnWidths(columnWidths, false, finished, source);\n };\n /** Set the pivot mode. */\n ColumnApi.prototype.setPivotMode = function (pivotMode) { this.columnModel.setPivotMode(pivotMode); };\n /** Get the pivot mode. */\n ColumnApi.prototype.isPivotMode = function () { return this.columnModel.isPivotMode(); };\n /** Returns the pivot column for the given `pivotKeys` and `valueColId`. Useful to then call operations on the pivot column. */\n ColumnApi.prototype.getSecondaryPivotColumn = function (pivotKeys, valueColKey) { return this.columnModel.getSecondaryPivotColumn(pivotKeys, valueColKey); };\n /** Set the value columns. */\n ColumnApi.prototype.setValueColumns = function (colKeys) { this.columnModel.setValueColumns(colKeys, 'api'); };\n /** Get value columns. */\n ColumnApi.prototype.getValueColumns = function () { return this.columnModel.getValueColumns(); };\n /** Remove a value column. */\n ColumnApi.prototype.removeValueColumn = function (colKey) { this.columnModel.removeValueColumn(colKey, 'api'); };\n /** Same as `removeValueColumns` but provide a list. */\n ColumnApi.prototype.removeValueColumns = function (colKeys) { this.columnModel.removeValueColumns(colKeys, 'api'); };\n /** Add a value column. */\n ColumnApi.prototype.addValueColumn = function (colKey) { this.columnModel.addValueColumn(colKey, 'api'); };\n /** Same as `addValueColumn` but provide a list. */\n ColumnApi.prototype.addValueColumns = function (colKeys) { this.columnModel.addValueColumns(colKeys, 'api'); };\n /** Set the row group columns. */\n ColumnApi.prototype.setRowGroupColumns = function (colKeys) { this.columnModel.setRowGroupColumns(colKeys, 'api'); };\n /** Remove a column from the row groups. */\n ColumnApi.prototype.removeRowGroupColumn = function (colKey) { this.columnModel.removeRowGroupColumn(colKey, 'api'); };\n /** Same as `removeRowGroupColumn` but provide a list of columns. */\n ColumnApi.prototype.removeRowGroupColumns = function (colKeys) { this.columnModel.removeRowGroupColumns(colKeys, 'api'); };\n /** Add a column to the row groups. */\n ColumnApi.prototype.addRowGroupColumn = function (colKey) { this.columnModel.addRowGroupColumn(colKey, 'api'); };\n /** Same as `addRowGroupColumn` but provide a list of columns. */\n ColumnApi.prototype.addRowGroupColumns = function (colKeys) { this.columnModel.addRowGroupColumns(colKeys, 'api'); };\n /** Get row group columns. */\n ColumnApi.prototype.getRowGroupColumns = function () { return this.columnModel.getRowGroupColumns(); };\n /** Set the pivot columns. */\n ColumnApi.prototype.setPivotColumns = function (colKeys) { this.columnModel.setPivotColumns(colKeys, 'api'); };\n /** Remove a pivot column. */\n ColumnApi.prototype.removePivotColumn = function (colKey) { this.columnModel.removePivotColumn(colKey, 'api'); };\n /** Same as `removePivotColumn` but provide a list of columns. */\n ColumnApi.prototype.removePivotColumns = function (colKeys) { this.columnModel.removePivotColumns(colKeys, 'api'); };\n /** Add a pivot column. */\n ColumnApi.prototype.addPivotColumn = function (colKey) { this.columnModel.addPivotColumn(colKey, 'api'); };\n /** Same as `addPivotColumn` but provide a list of columns. */\n ColumnApi.prototype.addPivotColumns = function (colKeys) { this.columnModel.addPivotColumns(colKeys, 'api'); };\n /** Get the pivot columns. */\n ColumnApi.prototype.getPivotColumns = function () { return this.columnModel.getPivotColumns(); };\n /** Same as `getAllDisplayedColumnGroups` but just for the pinned left portion of the grid. */\n ColumnApi.prototype.getLeftDisplayedColumnGroups = function () { return this.columnModel.getDisplayedTreeLeft(); };\n /** Same as `getAllDisplayedColumnGroups` but just for the center portion of the grid. */\n ColumnApi.prototype.getCenterDisplayedColumnGroups = function () { return this.columnModel.getDisplayedTreeCentre(); };\n /** Same as `getAllDisplayedColumnGroups` but just for the pinned right portion of the grid. */\n ColumnApi.prototype.getRightDisplayedColumnGroups = function () { return this.columnModel.getDisplayedTreeRight(); };\n /** Returns all 'root' column headers. If you are not grouping columns, these return the columns. If you are grouping, these return the top level groups - you can navigate down through each one to get the other lower level headers and finally the columns at the bottom. */\n ColumnApi.prototype.getAllDisplayedColumnGroups = function () { return this.columnModel.getAllDisplayedTrees(); };\n /** Auto-sizes a column based on its contents. */\n ColumnApi.prototype.autoSizeColumn = function (key, skipHeader) { return this.columnModel.autoSizeColumn(key, skipHeader, 'api'); };\n /** Same as `autoSizeColumn`, but provide a list of column keys. */\n ColumnApi.prototype.autoSizeColumns = function (keys, skipHeader) {\n this.columnModel.autoSizeColumns({ columns: keys, skipHeader: skipHeader });\n };\n /** Calls `autoSizeColumns` on all displayed columns. */\n ColumnApi.prototype.autoSizeAllColumns = function (skipHeader) { this.columnModel.autoSizeAllColumns(skipHeader, 'api'); };\n /** Set the secondary pivot columns. */\n ColumnApi.prototype.setSecondaryColumns = function (colDefs) { this.columnModel.setSecondaryColumns(colDefs, 'api'); };\n /** Returns the grid's secondary columns. */\n ColumnApi.prototype.getSecondaryColumns = function () { return this.columnModel.getSecondaryColumns(); };\n /** Returns the grid's primary columns. */\n ColumnApi.prototype.getPrimaryColumns = function () { return this.columnModel.getAllPrimaryColumns(); };\n ColumnApi.prototype.cleanDownReferencesToAvoidMemoryLeakInCaseApplicationIsKeepingReferenceToDestroyedGrid = function () {\n // some users were raising support issues with regards memory leaks. the problem was the customers applications\n // were keeping references to the API. trying to educate them all would be difficult, easier to just remove\n // all references in the API so at least the core grid can be garbage collected.\n //\n // wait about 100ms before clearing down the references, in case user has some cleanup to do,\n // and needs to deference the API first\n setTimeout(_.removeAllReferences.bind(window, this, 'Column API'), 100);\n };\n // below goes through deprecated items, prints message to user, then calls the new version of the same method\n // public getColumnDefs(): (ColDef | ColGroupDef)[] {\n // this.setColumnGroupOpened(group, newValue);\n // return null;\n // }\n /** @deprecated columnGroupOpened no longer exists, use setColumnGroupOpened */\n ColumnApi.prototype.columnGroupOpened = function (group, newValue) {\n console.error('AG Grid: columnGroupOpened no longer exists, use setColumnGroupOpened');\n this.setColumnGroupOpened(group, newValue);\n };\n /** @deprecated hideColumns is deprecated, use setColumnsVisible */\n ColumnApi.prototype.hideColumns = function (colIds, hide) {\n console.error('AG Grid: hideColumns is deprecated, use setColumnsVisible');\n this.columnModel.setColumnsVisible(colIds, !hide, 'api');\n };\n /** @deprecated hideColumn is deprecated, use setColumnVisible */\n ColumnApi.prototype.hideColumn = function (colId, hide) {\n console.error('AG Grid: hideColumn is deprecated, use setColumnVisible');\n this.columnModel.setColumnVisible(colId, !hide, 'api');\n };\n /** @deprecated setState is deprecated, use setColumnState */\n ColumnApi.prototype.setState = function (columnState) {\n console.error('AG Grid: setState is deprecated, use setColumnState');\n return this.setColumnState(columnState);\n };\n /** @deprecated getState is deprecated, use getColumnState */\n ColumnApi.prototype.getState = function () {\n console.error('AG Grid: getState is deprecated, use getColumnState');\n return this.getColumnState();\n };\n /** @deprecated resetState is deprecated, use resetColumnState */\n ColumnApi.prototype.resetState = function () {\n console.error('AG Grid: resetState is deprecated, use resetColumnState');\n this.resetColumnState();\n };\n /** @deprecated getAggregationColumns is deprecated, use getValueColumns */\n ColumnApi.prototype.getAggregationColumns = function () {\n console.error('AG Grid: getAggregationColumns is deprecated, use getValueColumns');\n return this.columnModel.getValueColumns();\n };\n /** @deprecated removeAggregationColumn is deprecated, use removeValueColumn */\n ColumnApi.prototype.removeAggregationColumn = function (colKey) {\n console.error('AG Grid: removeAggregationColumn is deprecated, use removeValueColumn');\n this.columnModel.removeValueColumn(colKey, 'api');\n };\n /** @deprecated removeAggregationColumns is deprecated, use removeValueColumns */\n ColumnApi.prototype.removeAggregationColumns = function (colKeys) {\n console.error('AG Grid: removeAggregationColumns is deprecated, use removeValueColumns');\n this.columnModel.removeValueColumns(colKeys, 'api');\n };\n /** @deprecated addAggregationColumn is deprecated, use addValueColumn */\n ColumnApi.prototype.addAggregationColumn = function (colKey) {\n console.error('AG Grid: addAggregationColumn is deprecated, use addValueColumn');\n this.columnModel.addValueColumn(colKey, 'api');\n };\n /** @deprecated addAggregationColumns is deprecated, use addValueColumns */\n ColumnApi.prototype.addAggregationColumns = function (colKeys) {\n console.error('AG Grid: addAggregationColumns is deprecated, use addValueColumns');\n this.columnModel.addValueColumns(colKeys, 'api');\n };\n /** @deprecated setColumnAggFunction is deprecated, use setColumnAggFunc */\n ColumnApi.prototype.setColumnAggFunction = function (column, aggFunc) {\n console.error('AG Grid: setColumnAggFunction is deprecated, use setColumnAggFunc');\n this.columnModel.setColumnAggFunc(column, aggFunc, 'api');\n };\n /** @deprecated getDisplayNameForCol is deprecated, use getDisplayNameForColumn */\n ColumnApi.prototype.getDisplayNameForCol = function (column) {\n console.error('AG Grid: getDisplayNameForCol is deprecated, use getDisplayNameForColumn');\n return this.getDisplayNameForColumn(column, null);\n };\n /** @deprecated setColumnState is deprecated, use applyColumnState. */\n ColumnApi.prototype.setColumnState = function (columnState) {\n console.error('AG Grid: setColumnState is deprecated, use applyColumnState');\n return this.columnModel.applyColumnState({ state: columnState, applyOrder: true }, 'api');\n };\n /** @deprecated getOriginalColumnGroup is deprecated, use getProvidedColumnGroup. */\n ColumnApi.prototype.getOriginalColumnGroup = function (name) {\n console.error('AG Grid: getOriginalColumnGroup is deprecated, use getProvidedColumnGroup');\n return this.columnModel.getProvidedColumnGroup(name);\n };\n __decorate$1R([\n Autowired('columnModel')\n ], ColumnApi.prototype, \"columnModel\", void 0);\n __decorate$1R([\n PreDestroy\n ], ColumnApi.prototype, \"cleanDownReferencesToAvoidMemoryLeakInCaseApplicationIsKeepingReferenceToDestroyedGrid\", null);\n ColumnApi = __decorate$1R([\n Bean('columnApi')\n ], ColumnApi);\n return ColumnApi;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2b = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1S = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar ValueService = /** @class */ (function (_super) {\n __extends$2b(ValueService, _super);\n function ValueService() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.initialised = false;\n return _this;\n }\n ValueService.prototype.init = function () {\n var _this = this;\n this.cellExpressions = this.gridOptionsWrapper.isEnableCellExpressions();\n this.initialised = true;\n // We listen to our own event and use it to call the columnSpecific callback,\n // this way the handler calls are correctly interleaved with other global events\n this.eventService.addEventListener(Events.EVENT_CELL_VALUE_CHANGED, function (event) { return _this.callColumnCellValueChangedHandler(event); }, this.gridOptionsWrapper.useAsyncEvents());\n };\n ValueService.prototype.getValue = function (column, rowNode, forFilter, ignoreAggData) {\n if (forFilter === void 0) { forFilter = false; }\n if (ignoreAggData === void 0) { ignoreAggData = false; }\n // hack - the grid is getting refreshed before this bean gets initialised, race condition.\n // really should have a way so they get initialised in the right order???\n if (!this.initialised) {\n this.init();\n }\n if (!rowNode) {\n return;\n }\n // pull these out to make code below easier to read\n var colDef = column.getColDef();\n var field = colDef.field;\n var colId = column.getId();\n var data = rowNode.data;\n var result;\n // if there is a value getter, this gets precedence over a field\n var groupDataExists = rowNode.groupData && rowNode.groupData[colId] !== undefined;\n var aggDataExists = !ignoreAggData && rowNode.aggData && rowNode.aggData[colId] !== undefined;\n if (forFilter && colDef.filterValueGetter) {\n result = this.executeFilterValueGetter(colDef.filterValueGetter, data, column, rowNode);\n }\n else if (this.gridOptionsWrapper.isTreeData() && aggDataExists) {\n result = rowNode.aggData[colId];\n }\n else if (this.gridOptionsWrapper.isTreeData() && colDef.valueGetter) {\n result = this.executeValueGetter(colDef.valueGetter, data, column, rowNode);\n }\n else if (this.gridOptionsWrapper.isTreeData() && (field && data)) {\n result = getValueUsingField(data, field, column.isFieldContainsDots());\n }\n else if (groupDataExists) {\n result = rowNode.groupData[colId];\n }\n else if (aggDataExists) {\n result = rowNode.aggData[colId];\n }\n else if (colDef.valueGetter) {\n result = this.executeValueGetter(colDef.valueGetter, data, column, rowNode);\n }\n else if (field && data) {\n result = getValueUsingField(data, field, column.isFieldContainsDots());\n }\n // the result could be an expression itself, if we are allowing cell values to be expressions\n if (this.cellExpressions && (typeof result === 'string') && result.indexOf('=') === 0) {\n var cellValueGetter = result.substring(1);\n result = this.executeValueGetter(cellValueGetter, data, column, rowNode);\n }\n if (result == null) {\n var openedGroup = this.getOpenedGroup(rowNode, column);\n if (openedGroup != null) {\n return openedGroup;\n }\n }\n return result;\n };\n ValueService.prototype.getOpenedGroup = function (rowNode, column) {\n if (!this.gridOptionsWrapper.isShowOpenedGroup()) {\n return;\n }\n var colDef = column.getColDef();\n if (!colDef.showRowGroup) {\n return;\n }\n var showRowGroup = column.getColDef().showRowGroup;\n var pointer = rowNode.parent;\n while (pointer != null) {\n if (pointer.rowGroupColumn && (showRowGroup === true || showRowGroup === pointer.rowGroupColumn.getId())) {\n return pointer.key;\n }\n pointer = pointer.parent;\n }\n return undefined;\n };\n /**\n * Sets the value of a GridCell\n * @param rowNode The `RowNode` to be updated\n * @param colKey The `Column` to be updated\n * @param newValue The new value to be set\n * @param eventSource The event source\n * @returns `True` if the value has been updated, otherwise`False`.\n */\n ValueService.prototype.setValue = function (rowNode, colKey, newValue, eventSource) {\n var column = this.columnModel.getPrimaryColumn(colKey);\n if (!rowNode || !column) {\n return false;\n }\n // this will only happen if user is trying to paste into a group row, which doesn't make sense\n // the user should not be trying to paste into group rows\n if (missing(rowNode.data)) {\n rowNode.data = {};\n }\n // for backwards compatibility we are also retrieving the newValueHandler as well as the valueSetter\n var _a = column.getColDef(), field = _a.field, newValueHandler = _a.newValueHandler, valueSetter = _a.valueSetter;\n // need either a field or a newValueHandler for this to work\n if (missing(field) && missing(newValueHandler) && missing(valueSetter)) {\n // we don't tell user about newValueHandler, as that is deprecated\n console.warn(\"AG Grid: you need either field or valueSetter set on colDef for editing to work\");\n return false;\n }\n var params = {\n node: rowNode,\n data: rowNode.data,\n oldValue: this.getValue(column, rowNode),\n newValue: newValue,\n colDef: column.getColDef(),\n column: column,\n api: this.gridOptionsWrapper.getApi(),\n columnApi: this.gridOptionsWrapper.getColumnApi(),\n context: this.gridOptionsWrapper.getContext()\n };\n params.newValue = newValue;\n var valueWasDifferent;\n if (newValueHandler && exists(newValueHandler)) {\n valueWasDifferent = newValueHandler(params);\n }\n else if (exists(valueSetter)) {\n valueWasDifferent = this.expressionService.evaluate(valueSetter, params);\n }\n else {\n valueWasDifferent = this.setValueUsingField(rowNode.data, field, newValue, column.isFieldContainsDots());\n }\n // in case user forgot to return something (possible if they are not using TypeScript\n // and just forgot, or using an old newValueHandler we didn't always expect a return\n // value here), we default the return value to true, so we always refresh.\n if (valueWasDifferent === undefined) {\n valueWasDifferent = true;\n }\n // if no change to the value, then no need to do the updating, or notifying via events.\n // otherwise the user could be tabbing around the grid, and cellValueChange would get called\n // all the time.\n if (!valueWasDifferent) {\n return false;\n }\n // reset quick filter on this row\n rowNode.resetQuickFilterAggregateText();\n this.valueCache.onDataChanged();\n params.newValue = this.getValue(column, rowNode);\n var event = {\n type: Events.EVENT_CELL_VALUE_CHANGED,\n event: null,\n rowIndex: rowNode.rowIndex,\n rowPinned: rowNode.rowPinned,\n column: params.column,\n api: params.api,\n columnApi: params.columnApi,\n colDef: params.colDef,\n context: params.context,\n data: rowNode.data,\n node: rowNode,\n oldValue: params.oldValue,\n newValue: params.newValue,\n value: params.newValue,\n source: eventSource\n };\n this.eventService.dispatchEvent(event);\n return true;\n };\n ValueService.prototype.callColumnCellValueChangedHandler = function (event) {\n var onCellValueChanged = event.colDef.onCellValueChanged;\n if (typeof onCellValueChanged === 'function') {\n onCellValueChanged({\n node: event.node,\n data: event.data,\n oldValue: event.oldValue,\n newValue: event.newValue,\n colDef: event.colDef,\n column: event.column,\n api: event.api,\n columnApi: event.columnApi,\n context: event.context\n });\n }\n };\n ValueService.prototype.setValueUsingField = function (data, field, newValue, isFieldContainsDots) {\n if (!field) {\n return false;\n }\n // if no '.', then it's not a deep value\n var valuesAreSame = false;\n if (!isFieldContainsDots) {\n data[field] = newValue;\n }\n else {\n // otherwise it is a deep value, so need to dig for it\n var fieldPieces = field.split('.');\n var currentObject = data;\n while (fieldPieces.length > 0 && currentObject) {\n var fieldPiece = fieldPieces.shift();\n if (fieldPieces.length === 0) {\n currentObject[fieldPiece] = newValue;\n }\n else {\n currentObject = currentObject[fieldPiece];\n }\n }\n }\n return !valuesAreSame;\n };\n ValueService.prototype.executeFilterValueGetter = function (valueGetter, data, column, rowNode) {\n var params = {\n data: data,\n node: rowNode,\n column: column,\n colDef: column.getColDef(),\n api: this.gridOptionsWrapper.getApi(),\n columnApi: this.gridOptionsWrapper.getColumnApi(),\n context: this.gridOptionsWrapper.getContext(),\n getValue: this.getValueCallback.bind(this, rowNode)\n };\n return this.expressionService.evaluate(valueGetter, params);\n };\n ValueService.prototype.executeValueGetter = function (valueGetter, data, column, rowNode) {\n var colId = column.getId();\n // if inside the same turn, just return back the value we got last time\n var valueFromCache = this.valueCache.getValue(rowNode, colId);\n if (valueFromCache !== undefined) {\n return valueFromCache;\n }\n var params = {\n data: data,\n node: rowNode,\n column: column,\n colDef: column.getColDef(),\n api: this.gridOptionsWrapper.getApi(),\n columnApi: this.gridOptionsWrapper.getColumnApi(),\n context: this.gridOptionsWrapper.getContext(),\n getValue: this.getValueCallback.bind(this, rowNode)\n };\n var result = this.expressionService.evaluate(valueGetter, params);\n // if a turn is active, store the value in case the grid asks for it again\n this.valueCache.setValue(rowNode, colId, result);\n return result;\n };\n ValueService.prototype.getValueCallback = function (node, field) {\n var otherColumn = this.columnModel.getPrimaryColumn(field);\n if (otherColumn) {\n return this.getValue(otherColumn, node);\n }\n return null;\n };\n // used by row grouping and pivot, to get key for a row. col can be a pivot col or a row grouping col\n ValueService.prototype.getKeyForNode = function (col, rowNode) {\n var value = this.getValue(col, rowNode);\n var keyCreator = col.getColDef().keyCreator;\n var result = value;\n if (keyCreator) {\n var keyParams = {\n value: value,\n colDef: col.getColDef(),\n column: col,\n node: rowNode,\n data: rowNode.data,\n api: this.gridOptionsWrapper.getApi(),\n columnApi: this.gridOptionsWrapper.getColumnApi(),\n context: this.gridOptionsWrapper.getContext()\n };\n result = keyCreator(keyParams);\n }\n // if already a string, or missing, just return it\n if (typeof result === 'string' || result == null) {\n return result;\n }\n result = String(result);\n if (result === '[object Object]') {\n doOnce(function () {\n console.warn('AG Grid: a column you are grouping or pivoting by has objects as values. If you want to group by complex objects then either a) use a colDef.keyCreator (se AG Grid docs) or b) to toString() on the object to return a key');\n }, 'getKeyForNode - warn about [object,object]');\n }\n return result;\n };\n __decorate$1S([\n Autowired('expressionService')\n ], ValueService.prototype, \"expressionService\", void 0);\n __decorate$1S([\n Autowired('columnModel')\n ], ValueService.prototype, \"columnModel\", void 0);\n __decorate$1S([\n Autowired('valueCache')\n ], ValueService.prototype, \"valueCache\", void 0);\n __decorate$1S([\n PostConstruct\n ], ValueService.prototype, \"init\", null);\n ValueService = __decorate$1S([\n Bean('valueService')\n ], ValueService);\n return ValueService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2c = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1T = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __param$7 = (undefined && undefined.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nvar ExpressionService = /** @class */ (function (_super) {\n __extends$2c(ExpressionService, _super);\n function ExpressionService() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.expressionToFunctionCache = {};\n return _this;\n }\n ExpressionService.prototype.setBeans = function (loggerFactory) {\n this.logger = loggerFactory.create('ExpressionService');\n };\n ExpressionService.prototype.evaluate = function (expressionOrFunc, params) {\n if (typeof expressionOrFunc === 'function') {\n // valueGetter is a function, so just call it\n var func = expressionOrFunc;\n return func(params);\n }\n else if (typeof expressionOrFunc === 'string') {\n // valueGetter is an expression, so execute the expression\n var expression = expressionOrFunc;\n return this.evaluateExpression(expression, params);\n }\n else {\n console.error('AG Grid: value should be either a string or a function', expressionOrFunc);\n }\n };\n ExpressionService.prototype.evaluateExpression = function (expression, params) {\n try {\n var javaScriptFunction = this.createExpressionFunction(expression);\n // the params don't have all these values, rather we add every possible\n // value a params can have, which makes whatever is in the params available.\n var result = javaScriptFunction(params.value, params.context, params.oldValue, params.newValue, params.value, params.node, params.data, params.colDef, params.rowIndex, params.api, params.columnApi, params.getValue, params.column, params.columnGroup);\n return result;\n }\n catch (e) {\n // the expression failed, which can happen, as it's the client that\n // provides the expression. so print a nice message\n // tslint:disable-next-line\n console.log('Processing of the expression failed');\n // tslint:disable-next-line\n console.log('Expression = ' + expression);\n // tslint:disable-next-line\n console.log('Params =', params);\n // tslint:disable-next-line\n console.log('Exception = ' + e);\n return null;\n }\n };\n ExpressionService.prototype.createExpressionFunction = function (expression) {\n // check cache first\n if (this.expressionToFunctionCache[expression]) {\n return this.expressionToFunctionCache[expression];\n }\n // if not found in cache, return the function\n var functionBody = this.createFunctionBody(expression);\n var theFunction = new Function('x, ctx, oldValue, newValue, value, node, data, colDef, rowIndex, api, columnApi, getValue, column, columnGroup', functionBody);\n // store in cache\n this.expressionToFunctionCache[expression] = theFunction;\n return theFunction;\n };\n ExpressionService.prototype.createFunctionBody = function (expression) {\n // if the expression has the 'return' word in it, then use as is,\n // if not, then wrap it with return and ';' to make a function\n if (expression.indexOf('return') >= 0) {\n return expression;\n }\n else {\n return 'return ' + expression + ';';\n }\n };\n __decorate$1T([\n __param$7(0, Qualifier('loggerFactory'))\n ], ExpressionService.prototype, \"setBeans\", null);\n ExpressionService = __decorate$1T([\n Bean('expressionService')\n ], ExpressionService);\n return ExpressionService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2d = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1U = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar TemplateService = /** @class */ (function (_super) {\n __extends$2d(TemplateService, _super);\n function TemplateService() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.templateCache = {};\n _this.waitingCallbacks = {};\n return _this;\n }\n // returns the template if it is loaded, or null if it is not loaded\n // but will call the callback when it is loaded\n TemplateService.prototype.getTemplate = function (url, callback) {\n var templateFromCache = this.templateCache[url];\n if (templateFromCache) {\n return templateFromCache;\n }\n var callbackList = this.waitingCallbacks[url];\n var that = this;\n if (!callbackList) {\n // first time this was called, so need a new list for callbacks\n callbackList = [];\n this.waitingCallbacks[url] = callbackList;\n // and also need to do the http request\n var client = new XMLHttpRequest();\n client.onload = function () {\n that.handleHttpResult(this, url);\n };\n client.open(\"GET\", url);\n client.send();\n }\n // add this callback\n if (callback) {\n callbackList.push(callback);\n }\n // caller needs to wait for template to load, so return null\n return null;\n };\n TemplateService.prototype.handleHttpResult = function (httpResult, url) {\n if (httpResult.status !== 200 || httpResult.response === null) {\n console.warn(\"AG Grid: Unable to get template error \" + httpResult.status + \" - \" + url);\n return;\n }\n // response success, so process it\n // in IE9 the response is in - responseText\n this.templateCache[url] = httpResult.response || httpResult.responseText;\n // inform all listeners that this is now in the cache\n var callbacks = this.waitingCallbacks[url];\n for (var i = 0; i < callbacks.length; i++) {\n var callback = callbacks[i];\n // we could pass the callback the response, however we know the client of this code\n // is the cell renderer, and it passes the 'cellRefresh' method in as the callback\n // which doesn't take any parameters.\n callback();\n }\n };\n TemplateService = __decorate$1U([\n Bean('templateService')\n ], TemplateService);\n return TemplateService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2e = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1V = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __param$8 = (undefined && undefined.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nvar LoggerFactory = /** @class */ (function (_super) {\n __extends$2e(LoggerFactory, _super);\n function LoggerFactory() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LoggerFactory.prototype.setBeans = function (gridOptionsWrapper) {\n this.logging = gridOptionsWrapper.isDebug();\n };\n LoggerFactory.prototype.create = function (name) {\n return new Logger(name, this.isLogging.bind(this));\n };\n LoggerFactory.prototype.isLogging = function () {\n return this.logging;\n };\n __decorate$1V([\n __param$8(0, Qualifier('gridOptionsWrapper'))\n ], LoggerFactory.prototype, \"setBeans\", null);\n LoggerFactory = __decorate$1V([\n Bean('loggerFactory')\n ], LoggerFactory);\n return LoggerFactory;\n}(BeanStub));\nvar Logger = /** @class */ (function () {\n function Logger(name, isLoggingFunc) {\n this.name = name;\n this.isLoggingFunc = isLoggingFunc;\n }\n Logger.prototype.isLogging = function () {\n return this.isLoggingFunc();\n };\n Logger.prototype.log = function (message) {\n if (this.isLoggingFunc()) {\n // tslint:disable-next-line\n console.log('AG Grid.' + this.name + ': ' + message);\n }\n };\n return Logger;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2f = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1W = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar GridCtrl = /** @class */ (function (_super) {\n __extends$2f(GridCtrl, _super);\n function GridCtrl() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n GridCtrl.prototype.setComp = function (view, eGridDiv, eGui) {\n var _this = this;\n this.view = view;\n this.eGridHostDiv = eGridDiv;\n this.eGui = eGui;\n this.mouseEventService.stampTopLevelGridCompWithGridInstance(eGridDiv);\n this.createManagedBean(new LayoutFeature(this.view));\n // important to set rtl before doLayout, as setting the RTL class impacts the scroll position,\n // which doLayout indirectly depends on\n this.addRtlSupport();\n this.addManagedListener(this, Events.EVENT_KEYBOARD_FOCUS, function () {\n _this.view.addOrRemoveKeyboardFocusClass(true);\n });\n this.addManagedListener(this, Events.EVENT_MOUSE_FOCUS, function () {\n _this.view.addOrRemoveKeyboardFocusClass(false);\n });\n var unsubscribeFromResize = this.resizeObserverService.observeResize(this.eGridHostDiv, this.onGridSizeChanged.bind(this));\n this.addDestroyFunc(function () { return unsubscribeFromResize(); });\n this.ctrlsService.registerGridCtrl(this);\n };\n GridCtrl.prototype.isDetailGrid = function () {\n var _a, _b;\n var el = this.focusService.findTabbableParent(this.getGui());\n return ((_b = (_a = el) === null || _a === void 0 ? void 0 : _a.getAttribute('row-id')) === null || _b === void 0 ? void 0 : _b.startsWith('detail')) || false;\n };\n GridCtrl.prototype.showDropZones = function () {\n return ModuleRegistry.isRegistered(exports.ModuleNames.RowGroupingModule);\n };\n GridCtrl.prototype.showSideBar = function () {\n return ModuleRegistry.isRegistered(exports.ModuleNames.SideBarModule);\n };\n GridCtrl.prototype.showStatusBar = function () {\n return ModuleRegistry.isRegistered(exports.ModuleNames.StatusBarModule);\n };\n GridCtrl.prototype.showWatermark = function () {\n return ModuleRegistry.isRegistered(exports.ModuleNames.EnterpriseCoreModule);\n };\n GridCtrl.prototype.onGridSizeChanged = function () {\n var event = {\n type: Events.EVENT_GRID_SIZE_CHANGED,\n api: this.gridApi,\n columnApi: this.columnApi,\n clientWidth: this.eGridHostDiv.clientWidth,\n clientHeight: this.eGridHostDiv.clientHeight\n };\n this.eventService.dispatchEvent(event);\n };\n GridCtrl.prototype.addRtlSupport = function () {\n var cssClass = this.gridOptionsWrapper.isEnableRtl() ? 'ag-rtl' : 'ag-ltr';\n this.view.setRtlClass(cssClass);\n };\n GridCtrl.prototype.destroyGridUi = function () {\n this.view.destroyGridUi();\n };\n GridCtrl.prototype.getGui = function () {\n return this.eGui;\n };\n GridCtrl.prototype.setResizeCursor = function (on) {\n this.view.setCursor(on ? 'ew-resize' : null);\n };\n GridCtrl.prototype.disableUserSelect = function (on) {\n this.view.setUserSelect(on ? 'none' : null);\n };\n GridCtrl.prototype.focusNextInnerContainer = function (backwards) {\n var eDocument = this.gridOptionsWrapper.getDocument();\n var focusableContainers = this.view.getFocusableContainers();\n var idxWithFocus = focusableContainers.findIndex(function (container) { return container.contains(eDocument.activeElement); });\n var nextIdx = idxWithFocus + (backwards ? -1 : 1);\n if (nextIdx <= 0 || nextIdx >= focusableContainers.length) {\n return false;\n }\n return this.focusService.focusInto(focusableContainers[nextIdx]);\n };\n GridCtrl.prototype.focusInnerElement = function (fromBottom) {\n var focusableContainers = this.view.getFocusableContainers();\n if (fromBottom) {\n if (focusableContainers.length > 1) {\n return this.focusService.focusInto(last(focusableContainers), true);\n }\n var lastColumn = last(this.columnModel.getAllDisplayedColumns());\n if (this.focusService.focusGridView(lastColumn, true)) {\n return true;\n }\n }\n return this.focusService.focusFirstHeader();\n };\n GridCtrl.prototype.forceFocusOutOfContainer = function (up) {\n if (up === void 0) { up = false; }\n this.view.forceFocusOutOfContainer(up);\n };\n __decorate$1W([\n Autowired('columnApi')\n ], GridCtrl.prototype, \"columnApi\", void 0);\n __decorate$1W([\n Autowired('gridApi')\n ], GridCtrl.prototype, \"gridApi\", void 0);\n __decorate$1W([\n Autowired('focusService')\n ], GridCtrl.prototype, \"focusService\", void 0);\n __decorate$1W([\n Autowired('resizeObserverService')\n ], GridCtrl.prototype, \"resizeObserverService\", void 0);\n __decorate$1W([\n Autowired('columnModel')\n ], GridCtrl.prototype, \"columnModel\", void 0);\n __decorate$1W([\n Autowired('ctrlsService')\n ], GridCtrl.prototype, \"ctrlsService\", void 0);\n __decorate$1W([\n Autowired('mouseEventService')\n ], GridCtrl.prototype, \"mouseEventService\", void 0);\n return GridCtrl;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2g = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1X = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar GridComp = /** @class */ (function (_super) {\n __extends$2g(GridComp, _super);\n function GridComp(eGridDiv) {\n var _this = _super.call(this, undefined) || this;\n _this.eGridDiv = eGridDiv;\n return _this;\n }\n GridComp.prototype.postConstruct = function () {\n var _this = this;\n this.logger = this.loggerFactory.create('GridComp');\n var compProxy = {\n destroyGridUi: function () { return _this.destroyBean(_this); },\n setRtlClass: function (cssClass) { return _this.addCssClass(cssClass); },\n addOrRemoveKeyboardFocusClass: function (addOrRemove) { return _this.addOrRemoveCssClass(FocusService.AG_KEYBOARD_FOCUS, addOrRemove); },\n forceFocusOutOfContainer: this.forceFocusOutOfContainer.bind(this),\n updateLayoutClasses: this.updateLayoutClasses.bind(this),\n getFocusableContainers: this.getFocusableContainers.bind(this),\n setUserSelect: function (value) {\n _this.getGui().style.userSelect = value != null ? value : '';\n _this.getGui().style.webkitUserSelect = value != null ? value : '';\n },\n setCursor: function (value) {\n _this.getGui().style.cursor = value != null ? value : '';\n }\n };\n this.ctrl = this.createManagedBean(new GridCtrl());\n var template = this.createTemplate();\n this.setTemplate(template);\n this.ctrl.setComp(compProxy, this.eGridDiv, this.getGui());\n this.insertGridIntoDom();\n this.initialiseTabGuard({\n // we want to override the default behaviour to do nothing for onTabKeyDown\n onTabKeyDown: function () { return undefined; },\n focusInnerElement: function (fromBottom) { return _this.ctrl.focusInnerElement(fromBottom); }\n });\n };\n GridComp.prototype.insertGridIntoDom = function () {\n var _this = this;\n var eGui = this.getGui();\n this.eGridDiv.appendChild(eGui);\n this.addDestroyFunc(function () {\n _this.eGridDiv.removeChild(eGui);\n _this.logger.log('Grid removed from DOM');\n });\n };\n GridComp.prototype.updateLayoutClasses = function (cssClass, params) {\n var eRootWrapperBodyClassList = this.eRootWrapperBody.classList;\n eRootWrapperBodyClassList.toggle(exports.LayoutCssClasses.AUTO_HEIGHT, params.autoHeight);\n eRootWrapperBodyClassList.toggle(exports.LayoutCssClasses.NORMAL, params.normal);\n eRootWrapperBodyClassList.toggle(exports.LayoutCssClasses.PRINT, params.print);\n this.addOrRemoveCssClass(exports.LayoutCssClasses.AUTO_HEIGHT, params.autoHeight);\n this.addOrRemoveCssClass(exports.LayoutCssClasses.NORMAL, params.normal);\n this.addOrRemoveCssClass(exports.LayoutCssClasses.PRINT, params.print);\n };\n GridComp.prototype.createTemplate = function () {\n var dropZones = this.ctrl.showDropZones() ? '' : '';\n var sideBar = this.ctrl.showSideBar() ? '' : '';\n var statusBar = this.ctrl.showStatusBar() ? '' : '';\n var watermark = this.ctrl.showWatermark() ? '' : '';\n var template = /* html */ \"
\\n \" + dropZones + \"\\n
\\n \\n \" + sideBar + \"\\n
\\n \" + statusBar + \"\\n \\n \" + watermark + \"\\n
\";\n return template;\n };\n GridComp.prototype.getFocusableElement = function () {\n return this.eRootWrapperBody;\n };\n GridComp.prototype.getFocusableContainers = function () {\n var focusableContainers = [\n this.gridBodyComp.getGui()\n ];\n if (this.sideBarComp) {\n focusableContainers.push(this.sideBarComp.getGui());\n }\n return focusableContainers.filter(function (el) { return isVisible(el); });\n };\n __decorate$1X([\n Autowired('loggerFactory')\n ], GridComp.prototype, \"loggerFactory\", void 0);\n __decorate$1X([\n RefSelector('gridBody')\n ], GridComp.prototype, \"gridBodyComp\", void 0);\n __decorate$1X([\n RefSelector('sideBar')\n ], GridComp.prototype, \"sideBarComp\", void 0);\n __decorate$1X([\n RefSelector('rootWrapperBody')\n ], GridComp.prototype, \"eRootWrapperBody\", void 0);\n __decorate$1X([\n PostConstruct\n ], GridComp.prototype, \"postConstruct\", null);\n return GridComp;\n}(TabGuardComp));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2h = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1Y = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar SortController = /** @class */ (function (_super) {\n __extends$2h(SortController, _super);\n function SortController() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SortController_1 = SortController;\n SortController.prototype.progressSort = function (column, multiSort, source) {\n var nextDirection = this.getNextSortDirection(column);\n this.setSortForColumn(column, nextDirection, multiSort, source);\n };\n SortController.prototype.setSortForColumn = function (column, sort, multiSort, source) {\n // auto correct - if sort not legal value, then set it to 'no sort' (which is null)\n if (sort !== Constants.SORT_ASC && sort !== Constants.SORT_DESC) {\n sort = null;\n }\n // update sort on current col\n column.setSort(sort, source);\n var doingMultiSort = (multiSort || this.gridOptionsWrapper.isAlwaysMultiSort()) && !this.gridOptionsWrapper.isSuppressMultiSort();\n // clear sort on all columns except this one, and update the icons\n if (!doingMultiSort) {\n this.clearSortBarThisColumn(column, source);\n }\n // sortIndex used for knowing order of cols when multi-col sort\n this.updateSortIndex(column);\n this.dispatchSortChangedEvents(source);\n };\n SortController.prototype.updateSortIndex = function (lastColToChange) {\n // update sortIndex on all sorting cols\n var allSortedCols = this.getColumnsWithSortingOrdered();\n var sortIndex = 0;\n allSortedCols.forEach(function (col) {\n if (col !== lastColToChange) {\n col.setSortIndex(sortIndex);\n sortIndex++;\n }\n });\n // last col to change always gets the last sort index, it's added to the end\n if (lastColToChange.getSort()) {\n lastColToChange.setSortIndex(sortIndex);\n }\n // clear sort index on all cols not sorting\n var allCols = this.columnModel.getPrimaryAndSecondaryAndAutoColumns();\n allCols.filter(function (col) { return col.getSort() == null; }).forEach(function (col) { return col.setSortIndex(); });\n };\n // gets called by API, so if data changes, use can call this, which will end up\n // working out the sort order again of the rows.\n SortController.prototype.onSortChanged = function (source) {\n this.dispatchSortChangedEvents(source);\n };\n SortController.prototype.isSortActive = function () {\n // pull out all the columns that have sorting set\n var allCols = this.columnModel.getPrimaryAndSecondaryAndAutoColumns();\n var sortedCols = allCols.filter(function (column) { return !!column.getSort(); });\n return sortedCols && sortedCols.length > 0;\n };\n SortController.prototype.dispatchSortChangedEvents = function (source) {\n var event = {\n type: Events.EVENT_SORT_CHANGED,\n api: this.gridApi,\n columnApi: this.columnApi,\n source: source\n };\n this.eventService.dispatchEvent(event);\n };\n SortController.prototype.clearSortBarThisColumn = function (columnToSkip, source) {\n this.columnModel.getPrimaryAndSecondaryAndAutoColumns().forEach(function (columnToClear) {\n // Do not clear if either holding shift, or if column in question was clicked\n if (columnToClear !== columnToSkip) {\n // setting to 'undefined' as null means 'none' rather than cleared, otherwise issue will arise\n // if sort order is: ['desc', null , 'asc'], as it will start at null rather than 'desc'.\n columnToClear.setSort(undefined, source);\n }\n });\n };\n SortController.prototype.getNextSortDirection = function (column) {\n var sortingOrder;\n if (column.getColDef().sortingOrder) {\n sortingOrder = column.getColDef().sortingOrder;\n }\n else if (this.gridOptionsWrapper.getSortingOrder()) {\n sortingOrder = this.gridOptionsWrapper.getSortingOrder();\n }\n else {\n sortingOrder = SortController_1.DEFAULT_SORTING_ORDER;\n }\n if (!Array.isArray(sortingOrder) || sortingOrder.length <= 0) {\n console.warn(\"AG Grid: sortingOrder must be an array with at least one element, currently it's \" + sortingOrder);\n return null;\n }\n var currentIndex = sortingOrder.indexOf(column.getSort());\n var notInArray = currentIndex < 0;\n var lastItemInArray = currentIndex == sortingOrder.length - 1;\n var result;\n if (notInArray || lastItemInArray) {\n result = sortingOrder[0];\n }\n else {\n result = sortingOrder[currentIndex + 1];\n }\n // verify the sort type exists, as the user could provide the sortingOrder, need to make sure it's valid\n if (SortController_1.DEFAULT_SORTING_ORDER.indexOf(result) < 0) {\n console.warn('AG Grid: invalid sort type ' + result);\n return null;\n }\n return result;\n };\n SortController.prototype.getColumnsWithSortingOrdered = function () {\n // pull out all the columns that have sorting set\n var allColumnsIncludingAuto = this.columnModel.getPrimaryAndSecondaryAndAutoColumns();\n var columnsWithSorting = allColumnsIncludingAuto.filter(function (column) { return !!column.getSort(); });\n // when both cols are missing sortIndex, we use the position of the col in all cols list.\n // this means if colDefs only have sort, but no sortIndex, we deterministically pick which\n // cols is sorted by first.\n var allColsIndexes = {};\n allColumnsIncludingAuto.forEach(function (col, index) { return allColsIndexes[col.getId()] = index; });\n // put the columns in order of which one got sorted first\n columnsWithSorting.sort(function (a, b) {\n var iA = a.getSortIndex();\n var iB = b.getSortIndex();\n if (iA != null && iB != null) {\n return iA - iB; // both present, normal comparison\n }\n else if (iA == null && iB == null) {\n // both missing, compare using column positions\n var posA = allColsIndexes[a.getId()];\n var posB = allColsIndexes[b.getId()];\n return posA > posB ? 1 : -1;\n }\n else if (iB == null) {\n return -1; // iB missing\n }\n else {\n return 1; // iA missing\n }\n });\n return columnsWithSorting;\n };\n // used by server side row models, to sent sort to server\n SortController.prototype.getSortModel = function () {\n return this.getColumnsWithSortingOrdered().map(function (column) { return ({\n sort: column.getSort(),\n colId: column.getId()\n }); });\n };\n SortController.prototype.getSortOptions = function () {\n return this.getColumnsWithSortingOrdered().map(function (column) { return ({\n sort: column.getSort(),\n column: column\n }); });\n };\n var SortController_1;\n SortController.DEFAULT_SORTING_ORDER = [Constants.SORT_ASC, Constants.SORT_DESC, null];\n __decorate$1Y([\n Autowired('columnModel')\n ], SortController.prototype, \"columnModel\", void 0);\n __decorate$1Y([\n Autowired('columnApi')\n ], SortController.prototype, \"columnApi\", void 0);\n __decorate$1Y([\n Autowired('gridApi')\n ], SortController.prototype, \"gridApi\", void 0);\n SortController = SortController_1 = __decorate$1Y([\n Bean('sortController')\n ], SortController);\n return SortController;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2i = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1Z = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar ColumnHoverService = /** @class */ (function (_super) {\n __extends$2i(ColumnHoverService, _super);\n function ColumnHoverService() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ColumnHoverService.prototype.setMouseOver = function (columns) {\n this.selectedColumns = columns;\n var event = {\n type: Events.EVENT_COLUMN_HOVER_CHANGED,\n api: this.gridApi,\n columnApi: this.columnApi\n };\n this.eventService.dispatchEvent(event);\n };\n ColumnHoverService.prototype.clearMouseOver = function () {\n this.selectedColumns = null;\n var event = {\n type: Events.EVENT_COLUMN_HOVER_CHANGED,\n api: this.gridApi,\n columnApi: this.columnApi\n };\n this.eventService.dispatchEvent(event);\n };\n ColumnHoverService.prototype.isHovered = function (column) {\n return !!this.selectedColumns && this.selectedColumns.indexOf(column) >= 0;\n };\n __decorate$1Z([\n Autowired('columnApi')\n ], ColumnHoverService.prototype, \"columnApi\", void 0);\n __decorate$1Z([\n Autowired('gridApi')\n ], ColumnHoverService.prototype, \"gridApi\", void 0);\n ColumnHoverService = __decorate$1Z([\n Bean('columnHoverService')\n ], ColumnHoverService);\n return ColumnHoverService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2j = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1_ = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar ColumnAnimationService = /** @class */ (function (_super) {\n __extends$2j(ColumnAnimationService, _super);\n function ColumnAnimationService() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.executeNextFuncs = [];\n _this.executeLaterFuncs = [];\n _this.active = false;\n _this.animationThreadCount = 0;\n return _this;\n }\n ColumnAnimationService.prototype.postConstruct = function () {\n var _this = this;\n this.ctrlsService.whenReady(function (p) { return _this.gridBodyCtrl = p.gridBodyCtrl; });\n };\n ColumnAnimationService.prototype.isActive = function () {\n return this.active;\n };\n ColumnAnimationService.prototype.start = function () {\n if (this.active) {\n return;\n }\n if (this.gridOptionsWrapper.isSuppressColumnMoveAnimation()) {\n return;\n }\n // if doing RTL, we don't animate open / close as due to how the pixels are inverted,\n // the animation moves all the row the the right rather than to the left (ie it's the static\n // columns that actually get their coordinates updated)\n if (this.gridOptionsWrapper.isEnableRtl()) {\n return;\n }\n this.ensureAnimationCssClassPresent();\n this.active = true;\n };\n ColumnAnimationService.prototype.finish = function () {\n if (!this.active) {\n return;\n }\n this.flush();\n this.active = false;\n };\n ColumnAnimationService.prototype.executeNextVMTurn = function (func) {\n if (this.active) {\n this.executeNextFuncs.push(func);\n }\n else {\n func();\n }\n };\n ColumnAnimationService.prototype.executeLaterVMTurn = function (func) {\n if (this.active) {\n this.executeLaterFuncs.push(func);\n }\n else {\n func();\n }\n };\n ColumnAnimationService.prototype.ensureAnimationCssClassPresent = function () {\n var _this = this;\n // up the count, so we can tell if someone else has updated the count\n // by the time the 'wait' func executes\n this.animationThreadCount++;\n var animationThreadCountCopy = this.animationThreadCount;\n this.gridBodyCtrl.setColumnMovingCss(true);\n this.executeLaterFuncs.push(function () {\n // only remove the class if this thread was the last one to update it\n if (_this.animationThreadCount === animationThreadCountCopy) {\n _this.gridBodyCtrl.setColumnMovingCss(false);\n }\n });\n };\n ColumnAnimationService.prototype.flush = function () {\n var nowFuncs = this.executeNextFuncs;\n this.executeNextFuncs = [];\n var waitFuncs = this.executeLaterFuncs;\n this.executeLaterFuncs = [];\n if (nowFuncs.length === 0 && waitFuncs.length === 0) {\n return;\n }\n window.setTimeout(function () { return nowFuncs.forEach(function (func) { return func(); }); }, 0);\n window.setTimeout(function () { return waitFuncs.forEach(function (func) { return func(); }); }, 300);\n };\n __decorate$1_([\n Autowired('ctrlsService')\n ], ColumnAnimationService.prototype, \"ctrlsService\", void 0);\n __decorate$1_([\n PostConstruct\n ], ColumnAnimationService.prototype, \"postConstruct\", null);\n ColumnAnimationService = __decorate$1_([\n Bean('columnAnimationService')\n ], ColumnAnimationService);\n return ColumnAnimationService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2k = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$1$ = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar AutoGroupColService = /** @class */ (function (_super) {\n __extends$2k(AutoGroupColService, _super);\n function AutoGroupColService() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AutoGroupColService_1 = AutoGroupColService;\n AutoGroupColService.prototype.createAutoGroupColumns = function (existingCols, rowGroupColumns) {\n var _this = this;\n var groupAutoColumns = [];\n var doingTreeData = this.gridOptionsWrapper.isTreeData();\n var doingMultiAutoColumn = this.gridOptionsWrapper.isGroupMultiAutoColumn();\n if (doingTreeData && doingMultiAutoColumn) {\n console.warn('AG Grid: you cannot mix groupMultiAutoColumn with treeData, only one column can be used to display groups when doing tree data');\n doingMultiAutoColumn = false;\n }\n // if doing groupMultiAutoColumn, then we call the method multiple times, once\n // for each column we are grouping by\n if (doingMultiAutoColumn) {\n rowGroupColumns.forEach(function (rowGroupCol, index) {\n groupAutoColumns.push(_this.createOneAutoGroupColumn(existingCols, rowGroupCol, index));\n });\n }\n else {\n groupAutoColumns.push(this.createOneAutoGroupColumn(existingCols));\n }\n return groupAutoColumns;\n };\n // rowGroupCol and index are missing if groupMultiAutoColumn=false\n AutoGroupColService.prototype.createOneAutoGroupColumn = function (existingCols, rowGroupCol, index) {\n // if one provided by user, use it, otherwise create one\n var defaultAutoColDef = this.generateDefaultColDef(rowGroupCol);\n // if doing multi, set the field\n var colId;\n if (rowGroupCol) {\n colId = Constants.GROUP_AUTO_COLUMN_ID + \"-\" + rowGroupCol.getId();\n }\n else {\n colId = AutoGroupColService_1.GROUP_AUTO_COLUMN_BUNDLE_ID;\n }\n var userAutoColDef = this.gridOptionsWrapper.getAutoGroupColumnDef();\n mergeDeep(defaultAutoColDef, userAutoColDef);\n defaultAutoColDef = this.columnFactory.mergeColDefs(defaultAutoColDef);\n defaultAutoColDef.colId = colId;\n // For tree data the filter is always allowed\n if (!this.gridOptionsWrapper.isTreeData()) {\n // we would only allow filter if the user has provided field or value getter. otherwise the filter\n // would not be able to work.\n var noFieldOrValueGetter = missing(defaultAutoColDef.field) && missing(defaultAutoColDef.valueGetter) && missing(defaultAutoColDef.filterValueGetter);\n if (noFieldOrValueGetter) {\n defaultAutoColDef.filter = false;\n }\n }\n // if showing many cols, we don't want to show more than one with a checkbox for selection\n if (index && index > 0) {\n defaultAutoColDef.headerCheckboxSelection = false;\n }\n var existingCol = existingCols.find(function (col) { return col.getId() == colId; });\n if (existingCol) {\n existingCol.setColDef(defaultAutoColDef, null);\n this.columnFactory.applyColumnState(existingCol, defaultAutoColDef);\n return existingCol;\n }\n var newCol = new Column(defaultAutoColDef, null, colId, true);\n this.context.createBean(newCol);\n return newCol;\n };\n AutoGroupColService.prototype.generateDefaultColDef = function (rowGroupCol) {\n var userDef = this.gridOptionsWrapper.getAutoGroupColumnDef();\n var localeTextFunc = this.gridOptionsWrapper.getLocaleTextFunc();\n var res = {\n headerName: localeTextFunc('group', 'Group')\n };\n var userHasProvidedGroupCellRenderer = userDef &&\n (userDef.cellRenderer || userDef.cellRendererFramework || userDef.cellRendererSelector);\n // only add the default group cell renderer if user hasn't provided one\n if (!userHasProvidedGroupCellRenderer) {\n res.cellRenderer = 'agGroupCellRenderer';\n }\n // we never allow moving the group column\n // defaultAutoColDef.suppressMovable = true;\n if (rowGroupCol) {\n var colDef = rowGroupCol.getColDef();\n Object.assign(res, {\n // cellRendererParams.groupKey: colDefToCopy.field;\n headerName: this.columnModel.getDisplayNameForColumn(rowGroupCol, 'header'),\n headerValueGetter: colDef.headerValueGetter\n });\n if (colDef.cellRenderer || colDef.cellRendererFramework) {\n Object.assign(res, {\n cellRendererParams: {\n innerRenderer: colDef.cellRenderer,\n innerRendererFramework: colDef.cellRendererFramework,\n innerRendererParams: colDef.cellRendererParams\n }\n });\n }\n res.showRowGroup = rowGroupCol.getColId();\n }\n else {\n res.showRowGroup = true;\n }\n return res;\n };\n var AutoGroupColService_1;\n AutoGroupColService.GROUP_AUTO_COLUMN_BUNDLE_ID = Constants.GROUP_AUTO_COLUMN_ID;\n __decorate$1$([\n Autowired('columnModel')\n ], AutoGroupColService.prototype, \"columnModel\", void 0);\n __decorate$1$([\n Autowired('columnFactory')\n ], AutoGroupColService.prototype, \"columnFactory\", void 0);\n AutoGroupColService = AutoGroupColService_1 = __decorate$1$([\n Bean('autoGroupColService')\n ], AutoGroupColService);\n return AutoGroupColService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2l = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$20 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar PaginationAutoPageSizeService = /** @class */ (function (_super) {\n __extends$2l(PaginationAutoPageSizeService, _super);\n function PaginationAutoPageSizeService() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PaginationAutoPageSizeService.prototype.postConstruct = function () {\n var _this = this;\n this.ctrlsService.whenReady(function (p) {\n _this.centerRowContainerCon = p.centerRowContainerCtrl;\n _this.addManagedListener(_this.eventService, Events.EVENT_BODY_HEIGHT_CHANGED, _this.onBodyHeightChanged.bind(_this));\n _this.addManagedListener(_this.eventService, Events.EVENT_SCROLL_VISIBILITY_CHANGED, _this.onScrollVisibilityChanged.bind(_this));\n _this.checkPageSize();\n });\n };\n PaginationAutoPageSizeService.prototype.notActive = function () {\n return !this.gridOptionsWrapper.isPaginationAutoPageSize();\n };\n PaginationAutoPageSizeService.prototype.onScrollVisibilityChanged = function () {\n this.checkPageSize();\n };\n PaginationAutoPageSizeService.prototype.onBodyHeightChanged = function () {\n this.checkPageSize();\n };\n PaginationAutoPageSizeService.prototype.checkPageSize = function () {\n if (this.notActive()) {\n return;\n }\n var rowHeight = this.gridOptionsWrapper.getRowHeightAsNumber();\n var bodyHeight = this.centerRowContainerCon.getViewportSizeFeature().getBodyHeight();\n if (bodyHeight > 0) {\n var newPageSize = Math.floor(bodyHeight / rowHeight);\n this.gridOptionsWrapper.setProperty('paginationPageSize', newPageSize);\n }\n };\n __decorate$20([\n Autowired('ctrlsService')\n ], PaginationAutoPageSizeService.prototype, \"ctrlsService\", void 0);\n __decorate$20([\n PostConstruct\n ], PaginationAutoPageSizeService.prototype, \"postConstruct\", null);\n PaginationAutoPageSizeService = __decorate$20([\n Bean('paginationAutoPageSizeService')\n ], PaginationAutoPageSizeService);\n return PaginationAutoPageSizeService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2m = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$21 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar ValueCache = /** @class */ (function (_super) {\n __extends$2m(ValueCache, _super);\n function ValueCache() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.cacheVersion = 0;\n return _this;\n }\n ValueCache.prototype.init = function () {\n this.active = this.gridOptionsWrapper.isValueCache();\n this.neverExpires = this.gridOptionsWrapper.isValueCacheNeverExpires();\n };\n ValueCache.prototype.onDataChanged = function () {\n if (this.neverExpires) {\n return;\n }\n this.expire();\n };\n ValueCache.prototype.expire = function () {\n this.cacheVersion++;\n };\n ValueCache.prototype.setValue = function (rowNode, colId, value) {\n if (this.active) {\n if (rowNode.__cacheVersion !== this.cacheVersion) {\n rowNode.__cacheVersion = this.cacheVersion;\n rowNode.__cacheData = {};\n }\n rowNode.__cacheData[colId] = value;\n }\n };\n ValueCache.prototype.getValue = function (rowNode, colId) {\n if (!this.active || rowNode.__cacheVersion !== this.cacheVersion) {\n return undefined;\n }\n return rowNode.__cacheData[colId];\n };\n __decorate$21([\n PostConstruct\n ], ValueCache.prototype, \"init\", null);\n ValueCache = __decorate$21([\n Bean('valueCache')\n ], ValueCache);\n return ValueCache;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2n = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$22 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar ChangeDetectionService = /** @class */ (function (_super) {\n __extends$2n(ChangeDetectionService, _super);\n function ChangeDetectionService() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ChangeDetectionService.prototype.init = function () {\n if (this.rowModel.getType() === Constants.ROW_MODEL_TYPE_CLIENT_SIDE) {\n this.clientSideRowModel = this.rowModel;\n }\n this.addManagedListener(this.eventService, Events.EVENT_CELL_VALUE_CHANGED, this.onCellValueChanged.bind(this));\n };\n ChangeDetectionService.prototype.onCellValueChanged = function (event) {\n // Clipboard service manages its own change detection, so no need to do it here.\n // The clipboard manages its own as otherwise this would happen once for every cell\n // that got updated as part of a paste operation, so e.g. if 100 cells in a paste operation,\n // this doChangeDetection would get called 100 times (once for each cell), instead clipboard\n // service executes the logic we have here once (in essence batching up all cell changes\n // into one change detection).\n if (event.source === Constants.SOURCE_PASTE) {\n return;\n }\n this.doChangeDetection(event.node, event.column);\n };\n ChangeDetectionService.prototype.doChangeDetection = function (rowNode, column) {\n if (this.gridOptionsWrapper.isSuppressChangeDetection()) {\n return;\n }\n // step 1 of change detection is to update the aggregated values\n if (this.clientSideRowModel && !rowNode.isRowPinned()) {\n var onlyChangedColumns = this.gridOptionsWrapper.isAggregateOnlyChangedColumns();\n var changedPath = new ChangedPath(onlyChangedColumns, this.clientSideRowModel.getRootNode());\n changedPath.addParentNode(rowNode.parent, [column]);\n this.clientSideRowModel.doAggregate(changedPath);\n }\n // step 2 of change detection is to refresh the cells\n this.rowRenderer.refreshCells();\n };\n __decorate$22([\n Autowired('rowModel')\n ], ChangeDetectionService.prototype, \"rowModel\", void 0);\n __decorate$22([\n Autowired('rowRenderer')\n ], ChangeDetectionService.prototype, \"rowRenderer\", void 0);\n __decorate$22([\n PostConstruct\n ], ChangeDetectionService.prototype, \"init\", null);\n ChangeDetectionService = __decorate$22([\n Bean('changeDetectionService')\n ], ChangeDetectionService);\n return ChangeDetectionService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2o = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$23 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar AgComponentUtils = /** @class */ (function (_super) {\n __extends$2o(AgComponentUtils, _super);\n function AgComponentUtils() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AgComponentUtils.prototype.adaptFunction = function (propertyName, jsCompFunc) {\n var metadata = this.componentMetadataProvider.retrieve(propertyName);\n if (metadata && metadata.functionAdapter) {\n return metadata.functionAdapter(jsCompFunc);\n }\n return null;\n };\n AgComponentUtils.prototype.adaptCellRendererFunction = function (callback) {\n var Adapter = /** @class */ (function () {\n function Adapter() {\n }\n Adapter.prototype.refresh = function (params) {\n return false;\n };\n Adapter.prototype.getGui = function () {\n return this.eGui;\n };\n Adapter.prototype.init = function (params) {\n var callbackResult = callback(params);\n var type = typeof callbackResult;\n if (type === 'string' || type === 'number' || type === 'boolean') {\n this.eGui = loadTemplate('' + callbackResult + '');\n return;\n }\n if (callbackResult == null) {\n this.eGui = loadTemplate('');\n return;\n }\n this.eGui = callbackResult;\n };\n return Adapter;\n }());\n return Adapter;\n };\n AgComponentUtils.prototype.doesImplementIComponent = function (candidate) {\n if (!candidate) {\n return false;\n }\n return candidate.prototype && 'getGui' in candidate.prototype;\n };\n __decorate$23([\n Autowired(\"componentMetadataProvider\")\n ], AgComponentUtils.prototype, \"componentMetadataProvider\", void 0);\n AgComponentUtils = __decorate$23([\n Bean(\"agComponentUtils\")\n ], AgComponentUtils);\n return AgComponentUtils;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2p = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$24 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar ComponentMetadataProvider = /** @class */ (function (_super) {\n __extends$2p(ComponentMetadataProvider, _super);\n function ComponentMetadataProvider() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ComponentMetadataProvider.prototype.postConstruct = function () {\n this.componentMetaData = {\n dateComponent: {\n mandatoryMethodList: ['getDate', 'setDate'],\n optionalMethodList: ['afterGuiAttached', 'setInputPlaceholder', 'setInputAriaLabel']\n },\n detailCellRenderer: {\n mandatoryMethodList: [],\n optionalMethodList: ['refresh'],\n functionAdapter: this.agComponentUtils.adaptCellRendererFunction.bind(this.agComponentUtils)\n },\n headerComponent: {\n mandatoryMethodList: [],\n optionalMethodList: ['refresh']\n },\n headerGroupComponent: {\n mandatoryMethodList: [],\n optionalMethodList: []\n },\n loadingCellRenderer: {\n mandatoryMethodList: [],\n optionalMethodList: []\n },\n loadingOverlayComponent: {\n mandatoryMethodList: [],\n optionalMethodList: []\n },\n noRowsOverlayComponent: {\n mandatoryMethodList: [],\n optionalMethodList: []\n },\n floatingFilterComponent: {\n mandatoryMethodList: ['onParentModelChanged'],\n optionalMethodList: ['afterGuiAttached']\n },\n floatingFilterWrapperComponent: {\n mandatoryMethodList: [],\n optionalMethodList: []\n },\n cellRenderer: {\n mandatoryMethodList: [],\n optionalMethodList: ['refresh', 'afterGuiAttached'],\n functionAdapter: this.agComponentUtils.adaptCellRendererFunction.bind(this.agComponentUtils)\n },\n cellEditor: {\n mandatoryMethodList: ['getValue'],\n optionalMethodList: ['isPopup', 'isCancelBeforeStart', 'isCancelAfterEnd', 'getPopupPosition', 'focusIn', 'focusOut', 'afterGuiAttached']\n },\n innerRenderer: {\n mandatoryMethodList: [],\n optionalMethodList: ['afterGuiAttached'],\n functionAdapter: this.agComponentUtils.adaptCellRendererFunction.bind(this.agComponentUtils)\n },\n fullWidthCellRenderer: {\n mandatoryMethodList: [],\n optionalMethodList: ['refresh', 'afterGuiAttached'],\n functionAdapter: this.agComponentUtils.adaptCellRendererFunction.bind(this.agComponentUtils)\n },\n pinnedRowCellRenderer: {\n mandatoryMethodList: [],\n optionalMethodList: ['refresh', 'afterGuiAttached'],\n functionAdapter: this.agComponentUtils.adaptCellRendererFunction.bind(this.agComponentUtils)\n },\n groupRowRenderer: {\n mandatoryMethodList: [],\n optionalMethodList: ['afterGuiAttached'],\n functionAdapter: this.agComponentUtils.adaptCellRendererFunction.bind(this.agComponentUtils)\n },\n filter: {\n mandatoryMethodList: ['isFilterActive', 'doesFilterPass', 'getModel', 'setModel'],\n optionalMethodList: ['afterGuiAttached', 'onNewRowsLoaded', 'getModelAsString', 'onFloatingFilterChanged']\n },\n filterComponent: {\n mandatoryMethodList: ['isFilterActive', 'doesFilterPass', 'getModel', 'setModel'],\n optionalMethodList: ['afterGuiAttached', 'onNewRowsLoaded', 'getModelAsString', 'onFloatingFilterChanged']\n },\n statusPanel: {\n mandatoryMethodList: [],\n optionalMethodList: ['afterGuiAttached'],\n },\n toolPanel: {\n mandatoryMethodList: [],\n optionalMethodList: ['refresh', 'afterGuiAttached']\n },\n tooltipComponent: {\n mandatoryMethodList: [],\n optionalMethodList: []\n }\n };\n };\n ComponentMetadataProvider.prototype.retrieve = function (name) {\n return this.componentMetaData[name];\n };\n __decorate$24([\n Autowired(\"agComponentUtils\")\n ], ComponentMetadataProvider.prototype, \"agComponentUtils\", void 0);\n __decorate$24([\n PostConstruct\n ], ComponentMetadataProvider.prototype, \"postConstruct\", null);\n ComponentMetadataProvider = __decorate$24([\n Bean(\"componentMetadataProvider\")\n ], ComponentMetadataProvider);\n return ComponentMetadataProvider;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2q = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$25 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar MAT_GRID_SIZE = 8;\nvar BASE_GRID_SIZE = 4;\nvar BALHAM_GRID_SIZE = 4;\nvar ALPINE_GRID_SIZE = 6;\nvar HARD_CODED_SIZES = {\n // this item is required for custom themes\n 'ag-theme-custom': {\n headerHeight: 25,\n headerCellMinWidth: 24,\n listItemHeight: BASE_GRID_SIZE * 5,\n rowHeight: 25,\n chartMenuPanelWidth: 220\n },\n 'ag-theme-material': {\n headerHeight: MAT_GRID_SIZE * 7,\n headerCellMinWidth: 48,\n listItemHeight: MAT_GRID_SIZE * 4,\n rowHeight: MAT_GRID_SIZE * 6,\n chartMenuPanelWidth: 240\n },\n 'ag-theme-balham': {\n headerHeight: BALHAM_GRID_SIZE * 8,\n headerCellMinWidth: 24,\n listItemHeight: BALHAM_GRID_SIZE * 6,\n rowHeight: BALHAM_GRID_SIZE * 7,\n chartMenuPanelWidth: 220\n },\n 'ag-theme-alpine': {\n headerHeight: ALPINE_GRID_SIZE * 8,\n headerCellMinWidth: 36,\n listItemHeight: ALPINE_GRID_SIZE * 4,\n rowHeight: ALPINE_GRID_SIZE * 7,\n chartMenuPanelWidth: 240\n }\n};\n/**\n * this object contains a list of Sass variables and an array\n * of CSS styles required to get the correct value.\n * eg. $virtual-item-height requires a structure, so we can get its height.\n *
\n *
\n *
\n *
\n *
\n */\nvar SASS_PROPERTY_BUILDER = {\n headerHeight: ['ag-header-row'],\n headerCellMinWidth: ['ag-header-cell'],\n listItemHeight: ['ag-virtual-list-item'],\n rowHeight: ['ag-row'],\n chartMenuPanelWidth: ['ag-chart-docked-container']\n};\nvar CALCULATED_SIZES = {};\nvar Environment = /** @class */ (function (_super) {\n __extends$2q(Environment, _super);\n function Environment() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Environment.prototype.getSassVariable = function (theme, key) {\n var useTheme = 'ag-theme-' + (theme.match('material') ? 'material' : theme.match('balham') ? 'balham' : theme.match('alpine') ? 'alpine' : 'custom');\n var defaultValue = HARD_CODED_SIZES[useTheme][key];\n var calculatedValue = 0;\n if (!CALCULATED_SIZES[theme]) {\n CALCULATED_SIZES[theme] = {};\n }\n var size = CALCULATED_SIZES[theme][key];\n if (size != null) {\n return size;\n }\n if (SASS_PROPERTY_BUILDER[key]) {\n var classList = SASS_PROPERTY_BUILDER[key];\n var div = document.createElement('div');\n div.classList.add(theme);\n div.style.position = 'absolute';\n var el = classList.reduce(function (prevEl, currentClass) {\n var currentDiv = document.createElement('div');\n currentDiv.style.position = 'static';\n currentDiv.classList.add(currentClass);\n prevEl.appendChild(currentDiv);\n return currentDiv;\n }, div);\n if (document.body) {\n document.body.appendChild(div);\n var sizeName = key.toLowerCase().indexOf('height') !== -1 ? 'height' : 'width';\n calculatedValue = parseInt(window.getComputedStyle(el)[sizeName], 10);\n document.body.removeChild(div);\n }\n }\n CALCULATED_SIZES[theme][key] = calculatedValue || defaultValue;\n return CALCULATED_SIZES[theme][key];\n };\n Environment.prototype.isThemeDark = function () {\n var theme = this.getTheme().theme;\n return !!theme && theme.indexOf('dark') >= 0;\n };\n Environment.prototype.chartMenuPanelWidth = function () {\n var theme = this.getTheme().themeFamily;\n return this.getSassVariable(theme, 'chartMenuPanelWidth');\n };\n Environment.prototype.getTheme = function () {\n var reg = /\\bag-(material|(?:theme-([\\w\\-]*)))\\b/;\n var el = this.eGridDiv;\n var themeMatch = null;\n while (el) {\n themeMatch = reg.exec(el.className);\n if (!themeMatch) {\n el = el.parentElement || undefined;\n }\n else {\n break;\n }\n }\n if (!themeMatch) {\n return {};\n }\n var theme = themeMatch[0];\n var usingOldTheme = themeMatch[2] === undefined;\n if (usingOldTheme) {\n var newTheme_1 = theme.replace('ag-', 'ag-theme-');\n doOnce(function () { return console.warn(\"AG Grid: As of v19 old theme are no longer provided. Please replace \" + theme + \" with \" + newTheme_1 + \".\"); }, 'using-old-theme');\n }\n return { theme: theme, el: el, themeFamily: theme.replace(/-dark$/, '') };\n };\n __decorate$25([\n Autowired('eGridDiv')\n ], Environment.prototype, \"eGridDiv\", void 0);\n Environment = __decorate$25([\n Bean('environment')\n ], Environment);\n return Environment;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2r = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$26 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __param$9 = (undefined && undefined.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\n/**\n * This class solves the 'max height' problem, where the user might want to show more data than\n * the max div height actually allows.\n */\nvar RowContainerHeightService = /** @class */ (function (_super) {\n __extends$2r(RowContainerHeightService, _super);\n function RowContainerHeightService() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n // the scrollY position\n _this.scrollY = 0;\n // how tall the body is\n _this.uiBodyHeight = 0;\n return _this;\n }\n RowContainerHeightService.prototype.agWire = function (loggerFactory) {\n this.logger = loggerFactory.create(\"RowContainerHeightService\");\n };\n RowContainerHeightService.prototype.postConstruct = function () {\n this.addManagedListener(this.eventService, Events.EVENT_BODY_HEIGHT_CHANGED, this.updateOffset.bind(this));\n this.maxDivHeight = getMaxDivHeight();\n this.logger.log('maxDivHeight = ' + this.maxDivHeight);\n };\n RowContainerHeightService.prototype.isStretching = function () {\n return this.stretching;\n };\n RowContainerHeightService.prototype.getDivStretchOffset = function () {\n return this.divStretchOffset;\n };\n RowContainerHeightService.prototype.updateOffset = function () {\n if (!this.stretching) {\n return;\n }\n var gridBodyCon = this.ctrlsService.getGridBodyCtrl();\n var newScrollY = gridBodyCon.getScrollFeature().getVScrollPosition().top;\n var newBodyHeight = this.getUiBodyHeight();\n var atLeastOneChanged = newScrollY !== this.scrollY || newBodyHeight !== this.uiBodyHeight;\n if (atLeastOneChanged) {\n this.scrollY = newScrollY;\n this.uiBodyHeight = newBodyHeight;\n this.calculateOffset();\n }\n };\n RowContainerHeightService.prototype.calculateOffset = function () {\n this.setUiContainerHeight(this.maxDivHeight);\n this.pixelsToShave = this.modelHeight - this.uiContainerHeight;\n this.maxScrollY = this.uiContainerHeight - this.uiBodyHeight;\n var scrollPercent = this.scrollY / this.maxScrollY;\n var divStretchOffset = scrollPercent * this.pixelsToShave;\n this.logger.log(\"Div Stretch Offset = \" + divStretchOffset + \" (\" + this.pixelsToShave + \" * \" + scrollPercent + \")\");\n this.setDivStretchOffset(divStretchOffset);\n };\n RowContainerHeightService.prototype.setUiContainerHeight = function (height) {\n if (height !== this.uiContainerHeight) {\n this.uiContainerHeight = height;\n this.eventService.dispatchEvent({ type: Events.EVENT_ROW_CONTAINER_HEIGHT_CHANGED });\n }\n };\n RowContainerHeightService.prototype.clearOffset = function () {\n this.setUiContainerHeight(this.modelHeight);\n this.pixelsToShave = 0;\n this.setDivStretchOffset(0);\n };\n RowContainerHeightService.prototype.setDivStretchOffset = function (newOffset) {\n // because we are talking pixels, no point in confusing things with half numbers\n var newOffsetFloor = typeof newOffset === 'number' ? Math.floor(newOffset) : null;\n if (this.divStretchOffset === newOffsetFloor) {\n return;\n }\n this.divStretchOffset = newOffsetFloor;\n this.eventService.dispatchEvent({ type: Events.EVENT_HEIGHT_SCALE_CHANGED });\n };\n RowContainerHeightService.prototype.setModelHeight = function (modelHeight) {\n this.modelHeight = modelHeight;\n this.stretching = modelHeight != null // null happens when in print layout\n && this.maxDivHeight > 0\n && modelHeight > this.maxDivHeight;\n if (this.stretching) {\n this.calculateOffset();\n }\n else {\n this.clearOffset();\n }\n };\n RowContainerHeightService.prototype.getUiContainerHeight = function () {\n return this.uiContainerHeight;\n };\n RowContainerHeightService.prototype.getRealPixelPosition = function (modelPixel) {\n return modelPixel - this.divStretchOffset;\n };\n RowContainerHeightService.prototype.getUiBodyHeight = function () {\n var gridBodyCon = this.ctrlsService.getGridBodyCtrl();\n var pos = gridBodyCon.getScrollFeature().getVScrollPosition();\n return pos.bottom - pos.top;\n };\n RowContainerHeightService.prototype.getScrollPositionForPixel = function (rowTop) {\n if (this.pixelsToShave <= 0) {\n return rowTop;\n }\n var modelMaxScroll = this.modelHeight - this.getUiBodyHeight();\n var scrollPercent = rowTop / modelMaxScroll;\n var scrollPixel = this.maxScrollY * scrollPercent;\n return scrollPixel;\n };\n __decorate$26([\n Autowired('ctrlsService')\n ], RowContainerHeightService.prototype, \"ctrlsService\", void 0);\n __decorate$26([\n __param$9(0, Qualifier(\"loggerFactory\"))\n ], RowContainerHeightService.prototype, \"agWire\", null);\n __decorate$26([\n PostConstruct\n ], RowContainerHeightService.prototype, \"postConstruct\", null);\n RowContainerHeightService = __decorate$26([\n Bean('rowContainerHeightService')\n ], RowContainerHeightService);\n return RowContainerHeightService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2s = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$27 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar SelectableService = /** @class */ (function (_super) {\n __extends$2s(SelectableService, _super);\n function SelectableService() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SelectableService.prototype.init = function () {\n this.groupSelectsChildren = this.gridOptionsWrapper.isGroupSelectsChildren();\n this.isRowSelectableFunc = this.gridOptionsWrapper.getIsRowSelectableFunc();\n };\n SelectableService.prototype.updateSelectableAfterGrouping = function (rowNode) {\n if (this.isRowSelectableFunc) {\n var nextChildrenFunc = function (node) { return node.childrenAfterGroup; };\n this.recurseDown(rowNode.childrenAfterGroup, nextChildrenFunc);\n }\n };\n SelectableService.prototype.recurseDown = function (children, nextChildrenFunc) {\n var _this = this;\n if (!children) {\n return;\n }\n children.forEach(function (child) {\n if (!child.group) {\n return;\n } // only interested in groups\n if (child.hasChildren()) {\n _this.recurseDown(nextChildrenFunc(child), nextChildrenFunc);\n }\n var rowSelectable;\n if (_this.groupSelectsChildren) {\n // have this group selectable if at least one direct child is selectable\n var firstSelectable = (nextChildrenFunc(child) || []).find(function (rowNode) { return rowNode.selectable === true; });\n rowSelectable = exists(firstSelectable);\n }\n else {\n // directly retrieve selectable value from user callback\n rowSelectable = _this.isRowSelectableFunc ? _this.isRowSelectableFunc(child) : false;\n }\n child.setRowSelectable(rowSelectable);\n });\n };\n __decorate$27([\n PostConstruct\n ], SelectableService.prototype, \"init\", null);\n SelectableService = __decorate$27([\n Bean('selectableService')\n ], SelectableService);\n return SelectableService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2t = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$28 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar PaginationComp = /** @class */ (function (_super) {\n __extends$2t(PaginationComp, _super);\n function PaginationComp() {\n var _this = _super.call(this) || this;\n _this.previousAndFirstButtonsDisabled = false;\n _this.nextButtonDisabled = false;\n _this.lastButtonDisabled = false;\n return _this;\n }\n PaginationComp.prototype.postConstruct = function () {\n var _this = this;\n var isRtl = this.gridOptionsWrapper.isEnableRtl();\n this.setTemplate(this.getTemplate());\n this.btFirst.insertAdjacentElement('afterbegin', createIconNoSpan(isRtl ? 'last' : 'first', this.gridOptionsWrapper));\n this.btPrevious.insertAdjacentElement('afterbegin', createIconNoSpan(isRtl ? 'next' : 'previous', this.gridOptionsWrapper));\n this.btNext.insertAdjacentElement('afterbegin', createIconNoSpan(isRtl ? 'previous' : 'next', this.gridOptionsWrapper));\n this.btLast.insertAdjacentElement('afterbegin', createIconNoSpan(isRtl ? 'first' : 'last', this.gridOptionsWrapper));\n var isPaging = this.gridOptionsWrapper.isPagination();\n var paginationPanelEnabled = isPaging && !this.gridOptionsWrapper.isSuppressPaginationPanel();\n if (!paginationPanelEnabled) {\n this.setDisplayed(false);\n return;\n }\n this.addManagedListener(this.eventService, Events.EVENT_PAGINATION_CHANGED, this.onPaginationChanged.bind(this));\n [\n { el: this.btFirst, fn: this.onBtFirst.bind(this) },\n { el: this.btPrevious, fn: this.onBtPrevious.bind(this) },\n { el: this.btNext, fn: this.onBtNext.bind(this) },\n { el: this.btLast, fn: this.onBtLast.bind(this) }\n ].forEach(function (item) {\n var el = item.el, fn = item.fn;\n _this.addManagedListener(el, 'click', fn);\n _this.addManagedListener(el, 'keydown', function (e) {\n if (e.key === KeyCode.ENTER || e.key === KeyCode.SPACE) {\n e.preventDefault();\n fn();\n }\n });\n });\n this.onPaginationChanged();\n };\n PaginationComp.prototype.onPaginationChanged = function () {\n this.enableOrDisableButtons();\n this.updateRowLabels();\n this.setCurrentPageLabel();\n this.setTotalLabels();\n };\n PaginationComp.prototype.onBtFirst = function () {\n if (!this.previousAndFirstButtonsDisabled) {\n this.paginationProxy.goToFirstPage();\n }\n };\n PaginationComp.prototype.setCurrentPageLabel = function () {\n var pagesExist = this.paginationProxy.getTotalPages() > 0;\n var currentPage = this.paginationProxy.getCurrentPage();\n var toDisplay = pagesExist ? currentPage + 1 : 0;\n this.lbCurrent.innerHTML = this.formatNumber(toDisplay);\n };\n PaginationComp.prototype.formatNumber = function (value) {\n var userFunc = this.gridOptionsWrapper.getPaginationNumberFormatterFunc();\n if (userFunc) {\n var params = { value: value };\n return userFunc(params);\n }\n var localeTextFunc = this.gridOptionsWrapper.getLocaleTextFunc();\n var thousandSeparator = localeTextFunc('thousandSeparator', ',');\n var decimalSeparator = localeTextFunc('decimalSeparator', '.');\n return formatNumberCommas(value, thousandSeparator, decimalSeparator);\n };\n PaginationComp.prototype.getTemplate = function () {\n var localeTextFunc = this.gridOptionsWrapper.getLocaleTextFunc();\n var strPage = localeTextFunc('page', 'Page');\n var strTo = localeTextFunc('to', 'to');\n var strOf = localeTextFunc('of', 'of');\n var strFirst = localeTextFunc('firstPage', 'First Page');\n var strPrevious = localeTextFunc('previousPage', 'Previous Page');\n var strNext = localeTextFunc('nextPage', 'Next Page');\n var strLast = localeTextFunc('lastPage', 'Last Page');\n var compId = this.getCompId();\n return /* html */ \"
\\n \\n \\n \" + strTo + \"\\n \\n \" + strOf + \"\\n \\n \\n \\n
\\n
\\n \\n \" + strPage + \"\\n \\n \" + strOf + \"\\n \\n \\n
\\n
\\n
\\n
\";\n };\n PaginationComp.prototype.onBtNext = function () {\n if (!this.nextButtonDisabled) {\n this.paginationProxy.goToNextPage();\n }\n };\n PaginationComp.prototype.onBtPrevious = function () {\n if (!this.previousAndFirstButtonsDisabled) {\n this.paginationProxy.goToPreviousPage();\n }\n };\n PaginationComp.prototype.onBtLast = function () {\n if (!this.lastButtonDisabled) {\n this.paginationProxy.goToLastPage();\n }\n };\n PaginationComp.prototype.enableOrDisableButtons = function () {\n var currentPage = this.paginationProxy.getCurrentPage();\n var maxRowFound = this.paginationProxy.isLastPageFound();\n var totalPages = this.paginationProxy.getTotalPages();\n this.previousAndFirstButtonsDisabled = currentPage === 0;\n this.toggleButtonDisabled(this.btFirst, this.previousAndFirstButtonsDisabled);\n this.toggleButtonDisabled(this.btPrevious, this.previousAndFirstButtonsDisabled);\n var zeroPagesToDisplay = this.isZeroPagesToDisplay();\n var onLastPage = maxRowFound && currentPage === (totalPages - 1);\n this.nextButtonDisabled = onLastPage || zeroPagesToDisplay;\n this.lastButtonDisabled = !maxRowFound || zeroPagesToDisplay || currentPage === (totalPages - 1);\n this.toggleButtonDisabled(this.btNext, this.nextButtonDisabled);\n this.toggleButtonDisabled(this.btLast, this.lastButtonDisabled);\n };\n PaginationComp.prototype.toggleButtonDisabled = function (button, disabled) {\n setAriaDisabled(button, disabled);\n button.classList.toggle('ag-disabled', disabled);\n if (disabled) {\n button.removeAttribute('tabindex');\n }\n else {\n button.setAttribute('tabindex', '0');\n }\n };\n PaginationComp.prototype.updateRowLabels = function () {\n var currentPage = this.paginationProxy.getCurrentPage();\n var pageSize = this.paginationProxy.getPageSize();\n var maxRowFound = this.paginationProxy.isLastPageFound();\n var rowCount = this.paginationProxy.isLastPageFound() ?\n this.paginationProxy.getMasterRowCount() : null;\n var startRow;\n var endRow;\n if (this.isZeroPagesToDisplay()) {\n startRow = endRow = 0;\n }\n else {\n startRow = (pageSize * currentPage) + 1;\n endRow = startRow + pageSize - 1;\n if (maxRowFound && endRow > rowCount) {\n endRow = rowCount;\n }\n }\n this.lbFirstRowOnPage.innerHTML = this.formatNumber(startRow);\n if (this.rowNodeBlockLoader.isLoading()) {\n this.lbLastRowOnPage.innerHTML = '?';\n }\n else {\n this.lbLastRowOnPage.innerHTML = this.formatNumber(endRow);\n }\n };\n PaginationComp.prototype.isZeroPagesToDisplay = function () {\n var maxRowFound = this.paginationProxy.isLastPageFound();\n var totalPages = this.paginationProxy.getTotalPages();\n return maxRowFound && totalPages === 0;\n };\n PaginationComp.prototype.setTotalLabels = function () {\n var lastPageFound = this.paginationProxy.isLastPageFound();\n var totalPages = this.paginationProxy.getTotalPages();\n var rowCount = lastPageFound ? this.paginationProxy.getMasterRowCount() : null;\n // When `pivotMode=true` and no grouping or value columns exist, a single 'hidden' group row (root node) is in\n // the grid and the pagination totals will correctly display total = 1. However this is confusing to users as\n // they can't see it. To address this UX issue we simply set the totals to zero in the pagination panel.\n if (rowCount === 1) {\n var firstRow = this.paginationProxy.getRow(0);\n // a group node with no group or agg data will not be visible to users\n var hiddenGroupRow = firstRow && firstRow.group && !(firstRow.groupData || firstRow.aggData);\n if (hiddenGroupRow) {\n this.setTotalLabelsToZero();\n return;\n }\n }\n if (lastPageFound) {\n this.lbTotal.innerHTML = this.formatNumber(totalPages);\n this.lbRecordCount.innerHTML = this.formatNumber(rowCount);\n }\n else {\n var moreText = this.gridOptionsWrapper.getLocaleTextFunc()('more', 'more');\n this.lbTotal.innerHTML = moreText;\n this.lbRecordCount.innerHTML = moreText;\n }\n };\n PaginationComp.prototype.setTotalLabelsToZero = function () {\n this.lbFirstRowOnPage.innerHTML = this.formatNumber(0);\n this.lbCurrent.innerHTML = this.formatNumber(0);\n this.lbLastRowOnPage.innerHTML = this.formatNumber(0);\n this.lbTotal.innerHTML = this.formatNumber(0);\n this.lbRecordCount.innerHTML = this.formatNumber(0);\n };\n __decorate$28([\n Autowired('paginationProxy')\n ], PaginationComp.prototype, \"paginationProxy\", void 0);\n __decorate$28([\n Autowired('rowNodeBlockLoader')\n ], PaginationComp.prototype, \"rowNodeBlockLoader\", void 0);\n __decorate$28([\n RefSelector('btFirst')\n ], PaginationComp.prototype, \"btFirst\", void 0);\n __decorate$28([\n RefSelector('btPrevious')\n ], PaginationComp.prototype, \"btPrevious\", void 0);\n __decorate$28([\n RefSelector('btNext')\n ], PaginationComp.prototype, \"btNext\", void 0);\n __decorate$28([\n RefSelector('btLast')\n ], PaginationComp.prototype, \"btLast\", void 0);\n __decorate$28([\n RefSelector('lbRecordCount')\n ], PaginationComp.prototype, \"lbRecordCount\", void 0);\n __decorate$28([\n RefSelector('lbFirstRowOnPage')\n ], PaginationComp.prototype, \"lbFirstRowOnPage\", void 0);\n __decorate$28([\n RefSelector('lbLastRowOnPage')\n ], PaginationComp.prototype, \"lbLastRowOnPage\", void 0);\n __decorate$28([\n RefSelector('lbCurrent')\n ], PaginationComp.prototype, \"lbCurrent\", void 0);\n __decorate$28([\n RefSelector('lbTotal')\n ], PaginationComp.prototype, \"lbTotal\", void 0);\n __decorate$28([\n PostConstruct\n ], PaginationComp.prototype, \"postConstruct\", null);\n return PaginationComp;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2u = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$29 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar LoadingType;\n(function (LoadingType) {\n LoadingType[LoadingType[\"Loading\"] = 0] = \"Loading\";\n LoadingType[LoadingType[\"NoRows\"] = 1] = \"NoRows\";\n})(LoadingType || (LoadingType = {}));\nvar OverlayWrapperComponent = /** @class */ (function (_super) {\n __extends$2u(OverlayWrapperComponent, _super);\n function OverlayWrapperComponent() {\n var _this = _super.call(this, OverlayWrapperComponent.TEMPLATE) || this;\n _this.inProgress = false;\n _this.destroyRequested = false;\n _this.manuallyDisplayed = false;\n return _this;\n }\n OverlayWrapperComponent.prototype.updateLayoutClasses = function (cssClass, params) {\n var overlayWrapperClassList = this.eOverlayWrapper.classList;\n overlayWrapperClassList.toggle(exports.LayoutCssClasses.AUTO_HEIGHT, params.autoHeight);\n overlayWrapperClassList.toggle(exports.LayoutCssClasses.NORMAL, params.normal);\n overlayWrapperClassList.toggle(exports.LayoutCssClasses.PRINT, params.print);\n };\n OverlayWrapperComponent.prototype.postConstruct = function () {\n this.createManagedBean(new LayoutFeature(this));\n this.setDisplayed(false);\n this.addManagedListener(this.eventService, Events.EVENT_ROW_DATA_CHANGED, this.onRowDataChanged.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_ROW_DATA_UPDATED, this.onRowDataChanged.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_NEW_COLUMNS_LOADED, this.onNewColumnsLoaded.bind(this));\n if (this.gridOptionsWrapper.isRowModelDefault() && !this.gridOptionsWrapper.getRowData()) {\n this.showLoadingOverlay();\n }\n this.gridApi.registerOverlayWrapperComp(this);\n };\n OverlayWrapperComponent.prototype.setWrapperTypeClass = function (loadingType) {\n var overlayWrapperClassList = this.eOverlayWrapper.classList;\n overlayWrapperClassList.toggle('ag-overlay-loading-wrapper', loadingType === LoadingType.Loading);\n overlayWrapperClassList.toggle('ag-overlay-no-rows-wrapper', loadingType === LoadingType.NoRows);\n };\n OverlayWrapperComponent.prototype.showLoadingOverlay = function () {\n if (this.gridOptionsWrapper.isSuppressLoadingOverlay()) {\n return;\n }\n var params = {};\n var compDetails = this.userComponentFactory.getLoadingOverlayCompDetails(params);\n var promise = compDetails.newAgStackInstance();\n this.showOverlay(promise, LoadingType.Loading);\n };\n OverlayWrapperComponent.prototype.showNoRowsOverlay = function () {\n if (this.gridOptionsWrapper.isSuppressNoRowsOverlay()) {\n return;\n }\n var params = {};\n var compDetails = this.userComponentFactory.getNoRowsOverlayCompDetails(params);\n var promise = compDetails.newAgStackInstance();\n this.showOverlay(promise, LoadingType.NoRows);\n };\n OverlayWrapperComponent.prototype.showOverlay = function (workItem, type) {\n var _this = this;\n if (this.inProgress) {\n return;\n }\n this.setWrapperTypeClass(type);\n this.destroyActiveOverlay();\n this.inProgress = true;\n if (workItem) {\n workItem.then(function (comp) {\n _this.inProgress = false;\n _this.eOverlayWrapper.appendChild(comp.getGui());\n _this.activeOverlay = comp;\n if (_this.destroyRequested) {\n _this.destroyRequested = false;\n _this.destroyActiveOverlay();\n }\n });\n }\n this.manuallyDisplayed = this.columnModel.isReady() && !this.paginationProxy.isEmpty();\n this.setDisplayed(true);\n };\n OverlayWrapperComponent.prototype.destroyActiveOverlay = function () {\n if (this.inProgress) {\n this.destroyRequested = true;\n return;\n }\n if (!this.activeOverlay) {\n return;\n }\n this.activeOverlay = this.getContext().destroyBean(this.activeOverlay);\n clearElement(this.eOverlayWrapper);\n };\n OverlayWrapperComponent.prototype.hideOverlay = function () {\n this.manuallyDisplayed = false;\n this.destroyActiveOverlay();\n this.setDisplayed(false);\n };\n OverlayWrapperComponent.prototype.destroy = function () {\n this.destroyActiveOverlay();\n _super.prototype.destroy.call(this);\n };\n OverlayWrapperComponent.prototype.showOrHideOverlay = function () {\n var isEmpty = this.paginationProxy.isEmpty();\n var isSuppressNoRowsOverlay = this.gridOptionsWrapper.isSuppressNoRowsOverlay();\n if (isEmpty && !isSuppressNoRowsOverlay) {\n this.showNoRowsOverlay();\n }\n else {\n this.hideOverlay();\n }\n };\n OverlayWrapperComponent.prototype.onRowDataChanged = function () {\n this.showOrHideOverlay();\n };\n OverlayWrapperComponent.prototype.onNewColumnsLoaded = function () {\n // hide overlay if columns and rows exist, this can happen if columns are loaded after data.\n // this problem exists before of the race condition between the services (column controller in this case)\n // and the view (grid panel). if the model beans were all initialised first, and then the view beans second,\n // this race condition would not happen.\n if (this.columnModel.isReady() && !this.paginationProxy.isEmpty() && !this.manuallyDisplayed) {\n this.hideOverlay();\n }\n };\n // wrapping in outer div, and wrapper, is needed to center the loading icon\n // The idea for centering came from here: http://www.vanseodesign.com/css/vertical-centering/\n OverlayWrapperComponent.TEMPLATE = \"\\n
\\n
\\n
\\n
\\n
\";\n __decorate$29([\n Autowired('userComponentFactory')\n ], OverlayWrapperComponent.prototype, \"userComponentFactory\", void 0);\n __decorate$29([\n Autowired('paginationProxy')\n ], OverlayWrapperComponent.prototype, \"paginationProxy\", void 0);\n __decorate$29([\n Autowired('gridApi')\n ], OverlayWrapperComponent.prototype, \"gridApi\", void 0);\n __decorate$29([\n Autowired('columnModel')\n ], OverlayWrapperComponent.prototype, \"columnModel\", void 0);\n __decorate$29([\n RefSelector('eOverlayWrapper')\n ], OverlayWrapperComponent.prototype, \"eOverlayWrapper\", void 0);\n __decorate$29([\n PostConstruct\n ], OverlayWrapperComponent.prototype, \"postConstruct\", null);\n return OverlayWrapperComponent;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2v = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$2a = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar RowPositionUtils = /** @class */ (function (_super) {\n __extends$2v(RowPositionUtils, _super);\n function RowPositionUtils() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n RowPositionUtils.prototype.getFirstRow = function () {\n var rowIndex = 0;\n var rowPinned;\n if (this.pinnedRowModel.getPinnedTopRowCount()) {\n rowPinned = Constants.PINNED_TOP;\n }\n else if (this.rowModel.getRowCount()) {\n rowPinned = null;\n rowIndex = this.paginationProxy.getPageFirstRow();\n }\n else if (this.pinnedRowModel.getPinnedBottomRowCount()) {\n rowPinned = Constants.PINNED_BOTTOM;\n }\n return rowPinned === undefined ? null : { rowIndex: rowIndex, rowPinned: rowPinned };\n };\n RowPositionUtils.prototype.getLastRow = function () {\n var rowIndex;\n var rowPinned = null;\n var pinnedBottomCount = this.pinnedRowModel.getPinnedBottomRowCount();\n var pinnedTopCount = this.pinnedRowModel.getPinnedTopRowCount();\n if (pinnedBottomCount) {\n rowPinned = Constants.PINNED_BOTTOM;\n rowIndex = pinnedBottomCount - 1;\n }\n else if (this.rowModel.getRowCount()) {\n rowPinned = null;\n rowIndex = this.paginationProxy.getPageLastRow();\n }\n else if (pinnedTopCount) {\n rowPinned = Constants.PINNED_TOP;\n rowIndex = pinnedTopCount - 1;\n }\n return rowIndex === undefined ? null : { rowIndex: rowIndex, rowPinned: rowPinned };\n };\n RowPositionUtils.prototype.getRowNode = function (gridRow) {\n switch (gridRow.rowPinned) {\n case Constants.PINNED_TOP:\n return this.pinnedRowModel.getPinnedTopRowData()[gridRow.rowIndex];\n case Constants.PINNED_BOTTOM:\n return this.pinnedRowModel.getPinnedBottomRowData()[gridRow.rowIndex];\n default:\n return this.rowModel.getRow(gridRow.rowIndex);\n }\n };\n RowPositionUtils.prototype.sameRow = function (rowA, rowB) {\n // if both missing\n if (!rowA && !rowB) {\n return true;\n }\n // if only one missing\n if ((rowA && !rowB) || (!rowA && rowB)) {\n return false;\n }\n // otherwise compare (use == to compare rowPinned because it can be null or undefined)\n return rowA.rowIndex === rowB.rowIndex && rowA.rowPinned == rowB.rowPinned;\n };\n // tests if this row selection is before the other row selection\n RowPositionUtils.prototype.before = function (rowA, rowB) {\n switch (rowA.rowPinned) {\n case Constants.PINNED_TOP:\n // we we are floating top, and other isn't, then we are always before\n if (rowB.rowPinned !== Constants.PINNED_TOP) {\n return true;\n }\n break;\n case Constants.PINNED_BOTTOM:\n // if we are floating bottom, and the other isn't, then we are never before\n if (rowB.rowPinned !== Constants.PINNED_BOTTOM) {\n return false;\n }\n break;\n default:\n // if we are not floating, but the other one is floating...\n if (exists(rowB.rowPinned)) {\n return rowB.rowPinned !== Constants.PINNED_TOP;\n }\n break;\n }\n return rowA.rowIndex < rowB.rowIndex;\n };\n __decorate$2a([\n Autowired('rowModel')\n ], RowPositionUtils.prototype, \"rowModel\", void 0);\n __decorate$2a([\n Autowired('pinnedRowModel')\n ], RowPositionUtils.prototype, \"pinnedRowModel\", void 0);\n __decorate$2a([\n Autowired('paginationProxy')\n ], RowPositionUtils.prototype, \"paginationProxy\", void 0);\n RowPositionUtils = __decorate$2a([\n Bean('rowPositionUtils')\n ], RowPositionUtils);\n return RowPositionUtils;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2w = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$2b = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar CellPositionUtils = /** @class */ (function (_super) {\n __extends$2w(CellPositionUtils, _super);\n function CellPositionUtils() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CellPositionUtils.prototype.createId = function (cellPosition) {\n var rowIndex = cellPosition.rowIndex, rowPinned = cellPosition.rowPinned, column = cellPosition.column;\n return this.createIdFromValues(rowIndex, column, rowPinned);\n };\n CellPositionUtils.prototype.createIdFromValues = function (rowIndex, column, rowPinned) {\n return rowIndex + \".\" + (rowPinned == null ? 'null' : rowPinned) + \".\" + column.getId();\n };\n CellPositionUtils.prototype.equals = function (cellA, cellB) {\n var colsMatch = cellA.column === cellB.column;\n var floatingMatch = cellA.rowPinned === cellB.rowPinned;\n var indexMatch = cellA.rowIndex === cellB.rowIndex;\n return colsMatch && floatingMatch && indexMatch;\n };\n CellPositionUtils = __decorate$2b([\n Bean('cellPositionUtils')\n ], CellPositionUtils);\n return CellPositionUtils;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2x = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar UndoRedoAction = /** @class */ (function () {\n function UndoRedoAction(cellValueChanges) {\n this.cellValueChanges = cellValueChanges;\n }\n return UndoRedoAction;\n}());\nvar FillUndoRedoAction = /** @class */ (function (_super) {\n __extends$2x(FillUndoRedoAction, _super);\n function FillUndoRedoAction(cellValueChanges, initialRange, finalRange) {\n var _this = _super.call(this, cellValueChanges) || this;\n _this.initialRange = initialRange;\n _this.finalRange = finalRange;\n return _this;\n }\n return FillUndoRedoAction;\n}(UndoRedoAction));\nvar UndoRedoStack = /** @class */ (function () {\n function UndoRedoStack(maxStackSize) {\n this.actionStack = [];\n this.maxStackSize = maxStackSize ? maxStackSize : UndoRedoStack.DEFAULT_STACK_SIZE;\n this.actionStack = new Array(this.maxStackSize);\n }\n UndoRedoStack.prototype.pop = function () {\n return this.actionStack.pop();\n };\n UndoRedoStack.prototype.push = function (item) {\n var shouldAddActions = item.cellValueChanges && item.cellValueChanges.length > 0;\n if (!shouldAddActions) {\n return;\n }\n if (this.actionStack.length === this.maxStackSize) {\n this.actionStack.shift();\n }\n this.actionStack.push(item);\n };\n UndoRedoStack.prototype.clear = function () {\n this.actionStack = [];\n };\n UndoRedoStack.prototype.getCurrentStackSize = function () {\n return this.actionStack.length;\n };\n UndoRedoStack.DEFAULT_STACK_SIZE = 10;\n return UndoRedoStack;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2y = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$2c = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar UndoRedoService = /** @class */ (function (_super) {\n __extends$2y(UndoRedoService, _super);\n function UndoRedoService() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.cellValueChanges = [];\n _this.activeCellEdit = null;\n _this.activeRowEdit = null;\n _this.isPasting = false;\n _this.isFilling = false;\n _this.onCellValueChanged = function (event) {\n var eventCell = { column: event.column, rowIndex: event.rowIndex, rowPinned: event.rowPinned };\n var isCellEditing = _this.activeCellEdit !== null && _this.cellPositionUtils.equals(_this.activeCellEdit, eventCell);\n var isRowEditing = _this.activeRowEdit !== null && _this.rowPositionUtils.sameRow(_this.activeRowEdit, eventCell);\n var shouldCaptureAction = isCellEditing || isRowEditing || _this.isPasting || _this.isFilling;\n if (!shouldCaptureAction) {\n return;\n }\n var rowPinned = event.rowPinned, rowIndex = event.rowIndex, column = event.column, oldValue = event.oldValue, value = event.value;\n var cellValueChange = {\n rowPinned: rowPinned,\n rowIndex: rowIndex,\n columnId: column.getColId(),\n newValue: value,\n oldValue: oldValue\n };\n _this.cellValueChanges.push(cellValueChange);\n };\n _this.clearStacks = function () {\n _this.undoStack.clear();\n _this.redoStack.clear();\n };\n return _this;\n }\n UndoRedoService.prototype.init = function () {\n if (!this.gridOptionsWrapper.isUndoRedoCellEditing()) {\n return;\n }\n var undoRedoLimit = this.gridOptionsWrapper.getUndoRedoCellEditingLimit();\n if (undoRedoLimit <= 0) {\n return;\n }\n this.undoStack = new UndoRedoStack(undoRedoLimit);\n this.redoStack = new UndoRedoStack(undoRedoLimit);\n this.addRowEditingListeners();\n this.addCellEditingListeners();\n this.addPasteListeners();\n this.addFillListeners();\n this.addManagedListener(this.eventService, Events.EVENT_CELL_VALUE_CHANGED, this.onCellValueChanged);\n // undo / redo is restricted to actual editing so we clear the stacks when other operations are\n // performed that change the order of the row / cols.\n this.addManagedListener(this.eventService, Events.EVENT_MODEL_UPDATED, this.clearStacks);\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_PIVOT_MODE_CHANGED, this.clearStacks);\n this.addManagedListener(this.eventService, Events.EVENT_NEW_COLUMNS_LOADED, this.clearStacks);\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_GROUP_OPENED, this.clearStacks);\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_ROW_GROUP_CHANGED, this.clearStacks);\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_MOVED, this.clearStacks);\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_PINNED, this.clearStacks);\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_VISIBLE, this.clearStacks);\n this.addManagedListener(this.eventService, Events.EVENT_ROW_DRAG_END, this.clearStacks);\n };\n UndoRedoService.prototype.getCurrentUndoStackSize = function () {\n return this.undoStack ? this.undoStack.getCurrentStackSize() : 0;\n };\n UndoRedoService.prototype.getCurrentRedoStackSize = function () {\n return this.redoStack ? this.redoStack.getCurrentStackSize() : 0;\n };\n UndoRedoService.prototype.undo = function () {\n if (!this.undoStack) {\n return;\n }\n var undoAction = this.undoStack.pop();\n if (!undoAction || !undoAction.cellValueChanges) {\n return;\n }\n this.processAction(undoAction, function (cellValueChange) { return cellValueChange.oldValue; });\n if (undoAction instanceof FillUndoRedoAction) {\n this.processRangeAndCellFocus(undoAction.cellValueChanges, undoAction.initialRange);\n }\n else {\n this.processRangeAndCellFocus(undoAction.cellValueChanges);\n }\n this.redoStack.push(undoAction);\n };\n UndoRedoService.prototype.redo = function () {\n if (!this.redoStack) {\n return;\n }\n var redoAction = this.redoStack.pop();\n if (!redoAction || !redoAction.cellValueChanges) {\n return;\n }\n this.processAction(redoAction, function (cellValueChange) { return cellValueChange.newValue; });\n if (redoAction instanceof FillUndoRedoAction) {\n this.processRangeAndCellFocus(redoAction.cellValueChanges, redoAction.finalRange);\n }\n else {\n this.processRangeAndCellFocus(redoAction.cellValueChanges);\n }\n this.undoStack.push(redoAction);\n };\n UndoRedoService.prototype.processAction = function (action, valueExtractor) {\n var _this = this;\n action.cellValueChanges.forEach(function (cellValueChange) {\n var rowIndex = cellValueChange.rowIndex, rowPinned = cellValueChange.rowPinned, columnId = cellValueChange.columnId;\n var rowPosition = { rowIndex: rowIndex, rowPinned: rowPinned };\n var currentRow = _this.getRowNode(rowPosition);\n // checks if the row has been filtered out\n if (!currentRow.displayed) {\n return;\n }\n currentRow.setDataValue(columnId, valueExtractor(cellValueChange));\n });\n };\n UndoRedoService.prototype.processRangeAndCellFocus = function (cellValueChanges, range) {\n var lastFocusedCell;\n if (range) {\n var startRow = range.startRow;\n var endRow = range.endRow;\n lastFocusedCell = {\n rowPinned: startRow.rowPinned,\n rowIndex: startRow.rowIndex,\n columnId: range.startColumn.getColId()\n };\n this.setLastFocusedCell(lastFocusedCell);\n var cellRangeParams = {\n rowStartIndex: startRow.rowIndex,\n rowStartPinned: startRow.rowPinned,\n rowEndIndex: endRow.rowIndex,\n rowEndPinned: endRow.rowPinned,\n columnStart: range.startColumn,\n columns: range.columns\n };\n this.gridApi.addCellRange(cellRangeParams);\n return;\n }\n var cellValueChange = cellValueChanges[0];\n var rowIndex = cellValueChange.rowIndex, rowPinned = cellValueChange.rowPinned;\n var rowPosition = { rowIndex: rowIndex, rowPinned: rowPinned };\n var row = this.getRowNode(rowPosition);\n lastFocusedCell = {\n rowPinned: cellValueChange.rowPinned,\n rowIndex: row.rowIndex,\n columnId: cellValueChange.columnId\n };\n this.setLastFocusedCell(lastFocusedCell);\n };\n UndoRedoService.prototype.setLastFocusedCell = function (lastFocusedCell) {\n var rowIndex = lastFocusedCell.rowIndex, columnId = lastFocusedCell.columnId, rowPinned = lastFocusedCell.rowPinned;\n this.gridApi.ensureIndexVisible(rowIndex);\n this.gridApi.ensureColumnVisible(columnId);\n if (ModuleRegistry.isRegistered(exports.ModuleNames.RangeSelectionModule)) {\n this.gridApi.clearRangeSelection();\n }\n this.focusService.setFocusedCell(rowIndex, columnId, rowPinned, true);\n };\n UndoRedoService.prototype.addRowEditingListeners = function () {\n var _this = this;\n this.addManagedListener(this.eventService, Events.EVENT_ROW_EDITING_STARTED, function (e) {\n _this.activeRowEdit = { rowIndex: e.rowIndex, rowPinned: e.rowPinned };\n });\n this.addManagedListener(this.eventService, Events.EVENT_ROW_EDITING_STOPPED, function () {\n var action = new UndoRedoAction(_this.cellValueChanges);\n _this.pushActionsToUndoStack(action);\n _this.activeRowEdit = null;\n });\n };\n UndoRedoService.prototype.addCellEditingListeners = function () {\n var _this = this;\n this.addManagedListener(this.eventService, Events.EVENT_CELL_EDITING_STARTED, function (e) {\n _this.activeCellEdit = { column: e.column, rowIndex: e.rowIndex, rowPinned: e.rowPinned };\n });\n this.addManagedListener(this.eventService, Events.EVENT_CELL_EDITING_STOPPED, function () {\n _this.activeCellEdit = null;\n var shouldPushAction = !_this.activeRowEdit && !_this.isPasting && !_this.isFilling;\n if (shouldPushAction) {\n var action = new UndoRedoAction(_this.cellValueChanges);\n _this.pushActionsToUndoStack(action);\n }\n });\n };\n UndoRedoService.prototype.addPasteListeners = function () {\n var _this = this;\n this.addManagedListener(this.eventService, Events.EVENT_PASTE_START, function () {\n _this.isPasting = true;\n });\n this.addManagedListener(this.eventService, Events.EVENT_PASTE_END, function () {\n var action = new UndoRedoAction(_this.cellValueChanges);\n _this.pushActionsToUndoStack(action);\n _this.isPasting = false;\n });\n };\n UndoRedoService.prototype.addFillListeners = function () {\n var _this = this;\n this.addManagedListener(this.eventService, Events.EVENT_FILL_START, function () {\n _this.isFilling = true;\n });\n this.addManagedListener(this.eventService, Events.EVENT_FILL_END, function (event) {\n var action = new FillUndoRedoAction(_this.cellValueChanges, event.initialRange, event.finalRange);\n _this.pushActionsToUndoStack(action);\n _this.isFilling = false;\n });\n };\n UndoRedoService.prototype.pushActionsToUndoStack = function (action) {\n this.undoStack.push(action);\n this.cellValueChanges = [];\n this.redoStack.clear();\n };\n UndoRedoService.prototype.getRowNode = function (gridRow) {\n switch (gridRow.rowPinned) {\n case Constants.PINNED_TOP:\n return this.pinnedRowModel.getPinnedTopRowData()[gridRow.rowIndex];\n case Constants.PINNED_BOTTOM:\n return this.pinnedRowModel.getPinnedBottomRowData()[gridRow.rowIndex];\n default:\n return this.rowModel.getRow(gridRow.rowIndex);\n }\n };\n __decorate$2c([\n Autowired('focusService')\n ], UndoRedoService.prototype, \"focusService\", void 0);\n __decorate$2c([\n Autowired('gridApi')\n ], UndoRedoService.prototype, \"gridApi\", void 0);\n __decorate$2c([\n Autowired('rowModel')\n ], UndoRedoService.prototype, \"rowModel\", void 0);\n __decorate$2c([\n Autowired('pinnedRowModel')\n ], UndoRedoService.prototype, \"pinnedRowModel\", void 0);\n __decorate$2c([\n Autowired('cellPositionUtils')\n ], UndoRedoService.prototype, \"cellPositionUtils\", void 0);\n __decorate$2c([\n Autowired('rowPositionUtils')\n ], UndoRedoService.prototype, \"rowPositionUtils\", void 0);\n __decorate$2c([\n PostConstruct\n ], UndoRedoService.prototype, \"init\", null);\n UndoRedoService = __decorate$2c([\n Bean('undoRedoService')\n ], UndoRedoService);\n return UndoRedoService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2z = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$2d = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar HeaderPositionUtils = /** @class */ (function (_super) {\n __extends$2z(HeaderPositionUtils, _super);\n function HeaderPositionUtils() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n HeaderPositionUtils.prototype.findHeader = function (focusedHeader, direction) {\n var nextColumn;\n var getGroupMethod;\n var getColMethod;\n if (focusedHeader.column instanceof ColumnGroup) {\n getGroupMethod = \"getDisplayedGroup\" + direction;\n nextColumn = this.columnModel[getGroupMethod](focusedHeader.column);\n }\n else {\n getColMethod = \"getDisplayedCol\" + direction;\n nextColumn = this.columnModel[getColMethod](focusedHeader.column);\n }\n if (nextColumn) {\n return {\n column: nextColumn,\n headerRowIndex: focusedHeader.headerRowIndex\n };\n }\n };\n HeaderPositionUtils.prototype.findColAtEdgeForHeaderRow = function (level, position) {\n var displayedColumns = this.columnModel.getAllDisplayedColumns();\n var column = displayedColumns[position === 'start' ? 0 : displayedColumns.length - 1];\n if (!column) {\n return;\n }\n var childContainer = this.ctrlsService.getHeaderRowContainerCtrl(column.getPinned());\n var type = childContainer.getRowType(level);\n if (type == exports.HeaderRowType.COLUMN_GROUP) {\n var columnGroup = this.columnModel.getColumnGroupAtLevel(column, level);\n return {\n headerRowIndex: level,\n column: columnGroup\n };\n }\n return {\n // if type==null, means the header level didn't exist\n headerRowIndex: type == null ? -1 : level,\n column: column\n };\n };\n __decorate$2d([\n Autowired('columnModel')\n ], HeaderPositionUtils.prototype, \"columnModel\", void 0);\n __decorate$2d([\n Autowired('ctrlsService')\n ], HeaderPositionUtils.prototype, \"ctrlsService\", void 0);\n HeaderPositionUtils = __decorate$2d([\n Bean('headerPositionUtils')\n ], HeaderPositionUtils);\n return HeaderPositionUtils;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __decorate$2e = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar ColumnDefFactory = /** @class */ (function () {\n function ColumnDefFactory() {\n }\n ColumnDefFactory.prototype.buildColumnDefs = function (cols, rowGroupColumns, pivotColumns) {\n var _this = this;\n var res = [];\n var colGroupDefs = {};\n cols.forEach(function (col) {\n var colDef = _this.createDefFromColumn(col, rowGroupColumns, pivotColumns);\n var addToResult = true;\n var childDef = colDef;\n var pointer = col.getOriginalParent();\n while (pointer) {\n var parentDef = null;\n // we don't include padding groups, as the column groups provided\n // by application didn't have these. the whole point of padding groups\n // is to balance the column tree that the user provided.\n if (pointer.isPadding()) {\n pointer = pointer.getOriginalParent();\n continue;\n }\n // if colDef for this group already exists, use it\n var existingParentDef = colGroupDefs[pointer.getGroupId()];\n if (existingParentDef) {\n existingParentDef.children.push(childDef);\n // if we added to result, it would be the second time we did it\n addToResult = false;\n // we don't want to continue up the tree, as it has already been\n // done for this group\n break;\n }\n parentDef = _this.createDefFromGroup(pointer);\n if (parentDef) {\n parentDef.children = [childDef];\n colGroupDefs[parentDef.groupId] = parentDef;\n childDef = parentDef;\n pointer = pointer.getOriginalParent();\n }\n }\n if (addToResult) {\n res.push(childDef);\n }\n });\n return res;\n };\n ColumnDefFactory.prototype.createDefFromGroup = function (group) {\n var defCloned = deepCloneDefinition(group.getColGroupDef(), ['children']);\n if (defCloned) {\n defCloned.groupId = group.getGroupId();\n }\n return defCloned;\n };\n ColumnDefFactory.prototype.createDefFromColumn = function (col, rowGroupColumns, pivotColumns) {\n var colDefCloned = deepCloneDefinition(col.getColDef());\n colDefCloned.colId = col.getColId();\n colDefCloned.width = col.getActualWidth();\n colDefCloned.rowGroup = col.isRowGroupActive();\n colDefCloned.rowGroupIndex = col.isRowGroupActive() ? rowGroupColumns.indexOf(col) : null;\n colDefCloned.pivot = col.isPivotActive();\n colDefCloned.pivotIndex = col.isPivotActive() ? pivotColumns.indexOf(col) : null;\n colDefCloned.aggFunc = col.isValueActive() ? col.getAggFunc() : null;\n colDefCloned.hide = col.isVisible() ? undefined : true;\n colDefCloned.pinned = col.isPinned() ? col.getPinned() : null;\n colDefCloned.sort = col.getSort() ? col.getSort() : null;\n colDefCloned.sortIndex = col.getSortIndex() != null ? col.getSortIndex() : null;\n return colDefCloned;\n };\n ColumnDefFactory = __decorate$2e([\n Bean('columnDefFactory')\n ], ColumnDefFactory);\n return ColumnDefFactory;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __decorate$2f = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar RowCssClassCalculator = /** @class */ (function () {\n function RowCssClassCalculator() {\n }\n RowCssClassCalculator.prototype.getInitialRowClasses = function (params) {\n var classes = [];\n if (exists(params.extraCssClass)) {\n classes.push(params.extraCssClass);\n }\n classes.push('ag-row');\n classes.push(params.rowFocused ? 'ag-row-focus' : 'ag-row-no-focus');\n if (params.fadeRowIn) {\n classes.push('ag-opacity-zero');\n }\n classes.push(params.rowIsEven ? 'ag-row-even' : 'ag-row-odd');\n if (params.rowNode.isRowPinned()) {\n classes.push('ag-row-pinned');\n }\n if (params.rowNode.isSelected()) {\n classes.push('ag-row-selected');\n }\n if (params.rowNode.footer) {\n classes.push('ag-row-footer');\n }\n classes.push('ag-row-level-' + params.rowLevel);\n if (params.rowNode.stub) {\n classes.push('ag-row-loading');\n }\n if (params.fullWidthRow) {\n classes.push('ag-full-width-row');\n }\n if (params.expandable) {\n classes.push('ag-row-group');\n classes.push(params.rowNode.expanded ? 'ag-row-group-expanded' : 'ag-row-group-contracted');\n }\n if (params.rowNode.dragging) {\n classes.push('ag-row-dragging');\n }\n pushAll(classes, this.processClassesFromGridOptions(params.rowNode));\n pushAll(classes, this.preProcessRowClassRules(params.rowNode));\n // we use absolute position unless we are doing print layout\n classes.push(params.printLayout ? 'ag-row-position-relative' : 'ag-row-position-absolute');\n if (params.firstRowOnPage) {\n classes.push('ag-row-first');\n }\n if (params.lastRowOnPage) {\n classes.push('ag-row-last');\n }\n if (params.fullWidthRow) {\n if (params.pinned === Constants.PINNED_LEFT) {\n classes.push('ag-cell-last-left-pinned');\n }\n if (params.pinned === Constants.PINNED_RIGHT) {\n classes.push('ag-cell-first-right-pinned');\n }\n }\n return classes;\n };\n RowCssClassCalculator.prototype.processClassesFromGridOptions = function (rowNode) {\n var res = [];\n var process = function (rowCls) {\n if (typeof rowCls === 'string') {\n res.push(rowCls);\n }\n else if (Array.isArray(rowCls)) {\n rowCls.forEach(function (e) { return res.push(e); });\n }\n };\n // part 1 - rowClass\n var rowClass = this.gridOptionsWrapper.getRowClass();\n if (rowClass) {\n if (typeof rowClass === 'function') {\n console.warn('AG Grid: rowClass should not be a function, please use getRowClass instead');\n return [];\n }\n process(rowClass);\n }\n // part 2 - rowClassFunc\n var rowClassFunc = this.gridOptionsWrapper.getRowClassFunc();\n if (rowClassFunc) {\n var params = {\n data: rowNode.data,\n node: rowNode,\n rowIndex: rowNode.rowIndex\n };\n var rowClassFuncResult = rowClassFunc(params);\n process(rowClassFuncResult);\n }\n return res;\n };\n RowCssClassCalculator.prototype.preProcessRowClassRules = function (rowNode) {\n var res = [];\n this.processRowClassRules(rowNode, function (className) {\n res.push(className);\n }, function (className) {\n // not catered for, if creating, no need\n // to remove class as it was never there\n });\n return res;\n };\n RowCssClassCalculator.prototype.processRowClassRules = function (rowNode, onApplicableClass, onNotApplicableClass) {\n var rowClassParams = {\n data: rowNode.data,\n node: rowNode,\n rowIndex: rowNode.rowIndex,\n api: this.gridOptionsWrapper.getApi(),\n columnApi: this.gridOptionsWrapper.getColumnApi(),\n context: this.gridOptionsWrapper.getContext()\n };\n this.stylingService.processClassRules(this.gridOptionsWrapper.rowClassRules(), rowClassParams, onApplicableClass, onNotApplicableClass);\n };\n RowCssClassCalculator.prototype.calculateRowLevel = function (rowNode) {\n if (rowNode.group) {\n return rowNode.level;\n }\n // if a leaf, and a parent exists, put a level of the parent, else put level of 0 for top level item\n return rowNode.parent ? (rowNode.parent.level + 1) : 0;\n };\n __decorate$2f([\n Autowired('stylingService')\n ], RowCssClassCalculator.prototype, \"stylingService\", void 0);\n __decorate$2f([\n Autowired('gridOptionsWrapper')\n ], RowCssClassCalculator.prototype, \"gridOptionsWrapper\", void 0);\n RowCssClassCalculator = __decorate$2f([\n Bean('rowCssClassCalculator')\n ], RowCssClassCalculator);\n return RowCssClassCalculator;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __decorate$2g = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n// this logic is used by both SSRM and CSRM\nvar RowNodeSorter = /** @class */ (function () {\n function RowNodeSorter() {\n }\n RowNodeSorter.prototype.doFullSort = function (rowNodes, sortOptions) {\n var mapper = function (rowNode, pos) { return ({ currentPos: pos, rowNode: rowNode }); };\n var sortedRowNodes = rowNodes.map(mapper);\n sortedRowNodes.sort(this.compareRowNodes.bind(this, sortOptions));\n return sortedRowNodes.map(function (item) { return item.rowNode; });\n };\n RowNodeSorter.prototype.compareRowNodes = function (sortOptions, sortedNodeA, sortedNodeB) {\n var nodeA = sortedNodeA.rowNode;\n var nodeB = sortedNodeB.rowNode;\n // Iterate columns, return the first that doesn't match\n for (var i = 0, len = sortOptions.length; i < len; i++) {\n var sortOption = sortOptions[i];\n var isInverted = sortOption.sort === Constants.SORT_DESC;\n var valueA = this.getValue(nodeA, sortOption.column);\n var valueB = this.getValue(nodeB, sortOption.column);\n var comparatorResult = void 0;\n var providedComparator = this.getComparator(sortOption, nodeA);\n if (providedComparator) {\n //if comparator provided, use it\n comparatorResult = providedComparator(valueA, valueB, nodeA, nodeB, isInverted);\n }\n else {\n //otherwise do our own comparison\n comparatorResult = _.defaultComparator(valueA, valueB, this.gridOptionsWrapper.isAccentedSort());\n }\n // user provided comparators can return 'NaN' if they don't correctly handle 'undefined' values, this\n // typically occurs when the comparator is used on a group row\n var validResult = !isNaN(comparatorResult);\n if (validResult && comparatorResult !== 0) {\n return sortOption.sort === Constants.SORT_ASC ? comparatorResult : comparatorResult * -1;\n }\n }\n // All matched, we make is so that the original sort order is kept:\n return sortedNodeA.currentPos - sortedNodeB.currentPos;\n };\n RowNodeSorter.prototype.getComparator = function (sortOption, rowNode) {\n var column = sortOption.column;\n // comparator on col get preference over everything else\n var comparatorOnCol = column.getColDef().comparator;\n if (comparatorOnCol != null) {\n return comparatorOnCol;\n }\n // if no comparator on col, see if we are showing a group, and if we are, get comparator from row group col\n if (rowNode.rowGroupColumn) {\n return rowNode.rowGroupColumn.getColDef().comparator;\n }\n if (!column.getColDef().showRowGroup) {\n return;\n }\n // if a 'field' is supplied on the autoGroupColumnDef we need to use the associated column comparator\n var groupLeafField = !rowNode.group && column.getColDef().field;\n if (!groupLeafField) {\n return;\n }\n var primaryColumn = this.columnModel.getPrimaryColumn(groupLeafField);\n if (!primaryColumn) {\n return;\n }\n return primaryColumn.getColDef().comparator;\n };\n RowNodeSorter.prototype.getValue = function (nodeA, column) {\n return this.valueService.getValue(column, nodeA, false, false);\n };\n __decorate$2g([\n Autowired('gridOptionsWrapper')\n ], RowNodeSorter.prototype, \"gridOptionsWrapper\", void 0);\n __decorate$2g([\n Autowired('valueService')\n ], RowNodeSorter.prototype, \"valueService\", void 0);\n __decorate$2g([\n Autowired('columnModel')\n ], RowNodeSorter.prototype, \"columnModel\", void 0);\n RowNodeSorter = __decorate$2g([\n Bean('rowNodeSorter')\n ], RowNodeSorter);\n return RowNodeSorter;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2A = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$2h = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar CtrlsService = /** @class */ (function (_super) {\n __extends$2A(CtrlsService, _super);\n function CtrlsService() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.ready = false;\n _this.readyCallbacks = [];\n return _this;\n }\n CtrlsService_1 = CtrlsService;\n CtrlsService.prototype.checkReady = function () {\n this.ready =\n this.gridCtrl != null\n && this.gridBodyCtrl != null\n && this.centerRowContainerCtrl != null\n && this.leftRowContainerCtrl != null\n && this.rightRowContainerCtrl != null\n && this.bottomCenterRowContainerCtrl != null\n && this.bottomLeftRowContainerCtrl != null\n && this.bottomRightRowContainerCtrl != null\n && this.topCenterRowContainerCtrl != null\n && this.topLeftRowContainerCtrl != null\n && this.topRightRowContainerCtrl != null\n && this.centerHeaderRowContainerCtrl != null\n && this.leftHeaderRowContainerCtrl != null\n && this.rightHeaderRowContainerCtrl != null\n && this.fakeHScrollCtrl != null\n && this.gridHeaderCtrl != null;\n if (this.ready) {\n var p_1 = this.createReadyParams();\n this.readyCallbacks.forEach(function (c) { return c(p_1); });\n this.readyCallbacks.length = 0;\n }\n };\n CtrlsService.prototype.whenReady = function (callback) {\n if (this.ready) {\n callback(this.createReadyParams());\n }\n else {\n this.readyCallbacks.push(callback);\n }\n };\n CtrlsService.prototype.createReadyParams = function () {\n return {\n centerRowContainerCtrl: this.centerRowContainerCtrl,\n leftRowContainerCtrl: this.leftRowContainerCtrl,\n rightRowContainerCtrl: this.rightRowContainerCtrl,\n bottomCenterRowContainerCtrl: this.bottomCenterRowContainerCtrl,\n bottomLeftRowContainerCtrl: this.bottomLeftRowContainerCtrl,\n bottomRightRowContainerCtrl: this.bottomRightRowContainerCtrl,\n topCenterRowContainerCtrl: this.topCenterRowContainerCtrl,\n topLeftRowContainerCtrl: this.topLeftRowContainerCtrl,\n topRightRowContainerCtrl: this.topRightRowContainerCtrl,\n centerHeaderRowContainerCtrl: this.centerHeaderRowContainerCtrl,\n leftHeaderRowContainerCtrl: this.leftHeaderRowContainerCtrl,\n rightHeaderRowContainerCtrl: this.rightHeaderRowContainerCtrl,\n fakeHScrollCtrl: this.fakeHScrollCtrl,\n gridBodyCtrl: this.gridBodyCtrl,\n gridCtrl: this.gridCtrl,\n gridHeaderCtrl: this.gridHeaderCtrl,\n };\n };\n CtrlsService.prototype.registerFakeHScrollCtrl = function (ctrl) {\n this.fakeHScrollCtrl = ctrl;\n this.checkReady();\n };\n CtrlsService.prototype.registerGridHeaderCtrl = function (gridHeaderCtrl) {\n this.gridHeaderCtrl = gridHeaderCtrl;\n this.checkReady();\n };\n CtrlsService.prototype.registerCenterRowContainerCtrl = function (ctrl) {\n this.centerRowContainerCtrl = ctrl;\n this.checkReady();\n };\n CtrlsService.prototype.registerLeftRowContainerCtrl = function (ctrl) {\n this.leftRowContainerCtrl = ctrl;\n this.checkReady();\n };\n CtrlsService.prototype.registerRightRowContainerCtrl = function (ctrl) {\n this.rightRowContainerCtrl = ctrl;\n this.checkReady();\n };\n CtrlsService.prototype.registerTopCenterRowContainerCtrl = function (ctrl) {\n this.topCenterRowContainerCtrl = ctrl;\n this.checkReady();\n };\n CtrlsService.prototype.registerTopLeftRowContainerCon = function (ctrl) {\n this.topLeftRowContainerCtrl = ctrl;\n this.checkReady();\n };\n CtrlsService.prototype.registerTopRightRowContainerCtrl = function (ctrl) {\n this.topRightRowContainerCtrl = ctrl;\n this.checkReady();\n };\n CtrlsService.prototype.registerBottomCenterRowContainerCtrl = function (ctrl) {\n this.bottomCenterRowContainerCtrl = ctrl;\n this.checkReady();\n };\n CtrlsService.prototype.registerBottomLeftRowContainerCtrl = function (ctrl) {\n this.bottomLeftRowContainerCtrl = ctrl;\n this.checkReady();\n };\n CtrlsService.prototype.registerBottomRightRowContainerCtrl = function (ctrl) {\n this.bottomRightRowContainerCtrl = ctrl;\n this.checkReady();\n };\n CtrlsService.prototype.registerHeaderContainer = function (ctrl, pinned) {\n switch (pinned) {\n case Constants.PINNED_LEFT:\n this.leftHeaderRowContainerCtrl = ctrl;\n break;\n case Constants.PINNED_RIGHT:\n this.rightHeaderRowContainerCtrl = ctrl;\n break;\n default:\n this.centerHeaderRowContainerCtrl = ctrl;\n break;\n }\n this.checkReady();\n };\n CtrlsService.prototype.registerGridBodyCtrl = function (ctrl) {\n this.gridBodyCtrl = ctrl;\n this.checkReady();\n };\n CtrlsService.prototype.registerGridCtrl = function (ctrl) {\n this.gridCtrl = ctrl;\n this.checkReady();\n };\n CtrlsService.prototype.getFakeHScrollCtrl = function () {\n return this.fakeHScrollCtrl;\n };\n CtrlsService.prototype.getGridHeaderCtrl = function () {\n return this.gridHeaderCtrl;\n };\n CtrlsService.prototype.getGridCtrl = function () {\n return this.gridCtrl;\n };\n CtrlsService.prototype.getCenterRowContainerCtrl = function () {\n return this.centerRowContainerCtrl;\n };\n CtrlsService.prototype.getTopCenterRowContainerCtrl = function () {\n return this.topCenterRowContainerCtrl;\n };\n CtrlsService.prototype.getBottomCenterRowContainerCtrl = function () {\n return this.bottomCenterRowContainerCtrl;\n };\n CtrlsService.prototype.getGridBodyCtrl = function () {\n return this.gridBodyCtrl;\n };\n CtrlsService.prototype.getHeaderRowContainerCtrls = function () {\n return [this.leftHeaderRowContainerCtrl, this.rightHeaderRowContainerCtrl, this.centerHeaderRowContainerCtrl];\n };\n CtrlsService.prototype.getHeaderRowContainerCtrl = function (pinned) {\n switch (pinned) {\n case Constants.PINNED_LEFT: return this.leftHeaderRowContainerCtrl;\n case Constants.PINNED_RIGHT: return this.rightHeaderRowContainerCtrl;\n default: return this.centerHeaderRowContainerCtrl;\n }\n };\n var CtrlsService_1;\n CtrlsService.NAME = 'ctrlsService';\n CtrlsService = CtrlsService_1 = __decorate$2h([\n Bean(CtrlsService_1.NAME)\n ], CtrlsService);\n return CtrlsService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2B = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$2i = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar CtrlsFactory = /** @class */ (function (_super) {\n __extends$2B(CtrlsFactory, _super);\n function CtrlsFactory() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.registry = {};\n return _this;\n }\n CtrlsFactory.prototype.register = function (meta) {\n this.registry[meta.controllerName] = meta.controllerClass;\n };\n CtrlsFactory.prototype.getInstance = function (name) {\n var ControllerClass = this.registry[name];\n if (ControllerClass == null) {\n return undefined;\n }\n return new ControllerClass();\n };\n CtrlsFactory = __decorate$2i([\n Bean('ctrlsFactory')\n ], CtrlsFactory);\n return CtrlsFactory;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2C = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$2j = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar FakeHScrollCtrl = /** @class */ (function (_super) {\n __extends$2C(FakeHScrollCtrl, _super);\n function FakeHScrollCtrl() {\n return _super.call(this) || this;\n }\n FakeHScrollCtrl.prototype.setComp = function (view, eGui, eViewport, eContainer) {\n this.view = view;\n this.eViewport = eViewport;\n this.eContainer = eContainer;\n this.eGui = eGui;\n this.addManagedListener(this.eventService, Events.EVENT_SCROLL_VISIBILITY_CHANGED, this.onScrollVisibilityChanged.bind(this));\n this.onScrollVisibilityChanged();\n // When doing printing, this changes whether cols are pinned or not\n var spacerWidthsListener = this.setFakeHScrollSpacerWidths.bind(this);\n this.addManagedListener(this.eventService, Events.EVENT_DISPLAYED_COLUMNS_CHANGED, spacerWidthsListener);\n this.addManagedListener(this.eventService, Events.EVENT_DISPLAYED_COLUMNS_WIDTH_CHANGED, spacerWidthsListener);\n this.addManagedListener(this.gridOptionsWrapper, GridOptionsWrapper.PROP_DOM_LAYOUT, spacerWidthsListener);\n this.setFakeHScrollSpacerWidths();\n if (this.invisibleScrollbar) {\n this.hideAndShowInvisibleScrollAsNeeded();\n this.addActiveListenerToggles();\n }\n this.ctrlsService.registerFakeHScrollCtrl(this);\n };\n FakeHScrollCtrl.prototype.addActiveListenerToggles = function () {\n var _this = this;\n var activateEvents = ['mouseenter', 'mousedown', 'touchstart'];\n var deactivateEvents = ['mouseleave', 'mouseup', 'touchend'];\n activateEvents.forEach(function (eventName) { return _this.addManagedListener(_this.eGui, eventName, function () { return _this.view.addOrRemoveCssClass('ag-scrollbar-active', true); }); });\n deactivateEvents.forEach(function (eventName) { return _this.addManagedListener(_this.eGui, eventName, function () { return _this.view.addOrRemoveCssClass('ag-scrollbar-active', false); }); });\n };\n FakeHScrollCtrl.prototype.postConstruct = function () {\n this.enableRtl = this.gridOptionsWrapper.isEnableRtl();\n this.invisibleScrollbar = isInvisibleScrollbar();\n };\n FakeHScrollCtrl.prototype.onScrollVisibilityChanged = function () {\n this.setScrollVisible();\n this.setFakeHScrollSpacerWidths();\n };\n FakeHScrollCtrl.prototype.hideAndShowInvisibleScrollAsNeeded = function () {\n var _this = this;\n this.addManagedListener(this.eventService, Events.EVENT_BODY_SCROLL, function (params) {\n if (params.direction === 'horizontal') {\n _this.view.addOrRemoveCssClass('ag-scrollbar-scrolling', true);\n }\n });\n this.addManagedListener(this.eventService, Events.EVENT_BODY_SCROLL_END, function () { return _this.view.addOrRemoveCssClass('ag-scrollbar-scrolling', false); });\n };\n FakeHScrollCtrl.prototype.setFakeHScrollSpacerWidths = function () {\n var vScrollShowing = this.scrollVisibleService.isVerticalScrollShowing();\n // we pad the right based on a) if cols are pinned to the right and\n // b) if v scroll is showing on the right (normal position of scroll)\n var rightSpacing = this.columnModel.getDisplayedColumnsRightWidth();\n var scrollOnRight = !this.enableRtl && vScrollShowing;\n var scrollbarWidth = this.gridOptionsWrapper.getScrollbarWidth();\n if (scrollOnRight) {\n rightSpacing += scrollbarWidth;\n }\n this.view.setRightSpacerFixedWidth(rightSpacing);\n this.view.includeRightSpacerScrollerCss('ag-scroller-corner', rightSpacing <= scrollbarWidth);\n // we pad the left based on a) if cols are pinned to the left and\n // b) if v scroll is showing on the left (happens in LTR layout only)\n var leftSpacing = this.columnModel.getDisplayedColumnsLeftWidth();\n var scrollOnLeft = this.enableRtl && vScrollShowing;\n if (scrollOnLeft) {\n leftSpacing += scrollbarWidth;\n }\n this.view.setLeftSpacerFixedWidth(leftSpacing);\n this.view.includeLeftSpacerScrollerCss('ag-scroller-corner', leftSpacing <= scrollbarWidth);\n };\n FakeHScrollCtrl.prototype.setScrollVisible = function () {\n var hScrollShowing = this.scrollVisibleService.isHorizontalScrollShowing();\n var invisibleScrollbar = this.invisibleScrollbar;\n var isSuppressHorizontalScroll = this.gridOptionsWrapper.isSuppressHorizontalScroll();\n var scrollbarWidth = hScrollShowing ? (this.gridOptionsWrapper.getScrollbarWidth() || 0) : 0;\n var adjustedScrollbarWidth = (scrollbarWidth === 0 && invisibleScrollbar) ? 15 : scrollbarWidth;\n var scrollContainerSize = !isSuppressHorizontalScroll ? adjustedScrollbarWidth : 0;\n this.view.addOrRemoveCssClass('ag-scrollbar-invisible', invisibleScrollbar);\n this.view.setHeight(scrollContainerSize);\n this.view.setViewportHeight(scrollContainerSize);\n this.view.setContainerHeight(scrollContainerSize);\n };\n FakeHScrollCtrl.prototype.getViewport = function () {\n return this.eViewport;\n };\n FakeHScrollCtrl.prototype.getContainer = function () {\n return this.eContainer;\n };\n __decorate$2j([\n Autowired('scrollVisibleService')\n ], FakeHScrollCtrl.prototype, \"scrollVisibleService\", void 0);\n __decorate$2j([\n Autowired('columnModel')\n ], FakeHScrollCtrl.prototype, \"columnModel\", void 0);\n __decorate$2j([\n Autowired('ctrlsService')\n ], FakeHScrollCtrl.prototype, \"ctrlsService\", void 0);\n __decorate$2j([\n PostConstruct\n ], FakeHScrollCtrl.prototype, \"postConstruct\", null);\n return FakeHScrollCtrl;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2D = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$2k = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar FakeHScrollComp = /** @class */ (function (_super) {\n __extends$2D(FakeHScrollComp, _super);\n function FakeHScrollComp() {\n return _super.call(this, FakeHScrollComp.TEMPLATE) || this;\n }\n FakeHScrollComp.prototype.postConstruct = function () {\n var _this = this;\n var compProxy = {\n addOrRemoveCssClass: function (cssClassName, on) { return _this.addOrRemoveCssClass(cssClassName, on); },\n setHeight: function (height) { return setFixedHeight(_this.getGui(), height); },\n setContainerHeight: function (height) { return setFixedHeight(_this.eContainer, height); },\n setViewportHeight: function (height) { return setFixedHeight(_this.eViewport, height); },\n setRightSpacerFixedWidth: function (width) { return setFixedWidth(_this.eRightSpacer, width); },\n setLeftSpacerFixedWidth: function (width) { return setFixedWidth(_this.eLeftSpacer, width); },\n includeLeftSpacerScrollerCss: function (cssClass, include) {\n return _this.eLeftSpacer.classList.toggle(cssClass, include);\n },\n includeRightSpacerScrollerCss: function (cssClass, include) {\n return _this.eRightSpacer.classList.toggle(cssClass, include);\n },\n };\n var ctrl = this.createManagedBean(new FakeHScrollCtrl());\n ctrl.setComp(compProxy, this.getGui(), this.eViewport, this.eContainer);\n this.createManagedBean(new CenterWidthFeature(function (width) { return _this.eContainer.style.width = width + \"px\"; }));\n };\n FakeHScrollComp.TEMPLATE = \"
\\n
\\n
\\n
\\n
\\n
\\n
\";\n __decorate$2k([\n RefSelector('eLeftSpacer')\n ], FakeHScrollComp.prototype, \"eLeftSpacer\", void 0);\n __decorate$2k([\n RefSelector('eRightSpacer')\n ], FakeHScrollComp.prototype, \"eRightSpacer\", void 0);\n __decorate$2k([\n RefSelector('eViewport')\n ], FakeHScrollComp.prototype, \"eViewport\", void 0);\n __decorate$2k([\n RefSelector('eContainer')\n ], FakeHScrollComp.prototype, \"eContainer\", void 0);\n __decorate$2k([\n PostConstruct\n ], FakeHScrollComp.prototype, \"postConstruct\", null);\n return FakeHScrollComp;\n}(Component));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2E = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$2l = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar PinnedWidthService = /** @class */ (function (_super) {\n __extends$2E(PinnedWidthService, _super);\n function PinnedWidthService() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PinnedWidthService.prototype.postConstruct = function () {\n var listener = this.checkContainerWidths.bind(this);\n this.addManagedListener(this.eventService, Events.EVENT_DISPLAYED_COLUMNS_CHANGED, listener);\n this.addManagedListener(this.eventService, Events.EVENT_DISPLAYED_COLUMNS_WIDTH_CHANGED, listener);\n this.addManagedListener(this.gridOptionsWrapper, GridOptionsWrapper.PROP_DOM_LAYOUT, listener);\n };\n PinnedWidthService.prototype.checkContainerWidths = function () {\n var printLayout = this.gridOptionsWrapper.getDomLayout() === Constants.DOM_LAYOUT_PRINT;\n var newLeftWidth = printLayout ? 0 : this.columnModel.getDisplayedColumnsLeftWidth();\n var newRightWidth = printLayout ? 0 : this.columnModel.getDisplayedColumnsRightWidth();\n if (newLeftWidth != this.leftWidth) {\n this.leftWidth = newLeftWidth;\n this.eventService.dispatchEvent({ type: Events.EVENT_LEFT_PINNED_WIDTH_CHANGED });\n }\n if (newRightWidth != this.rightWidth) {\n this.rightWidth = newRightWidth;\n this.eventService.dispatchEvent({ type: Events.EVENT_RIGHT_PINNED_WIDTH_CHANGED });\n }\n };\n PinnedWidthService.prototype.getPinnedRightWidth = function () {\n return this.rightWidth;\n };\n PinnedWidthService.prototype.getPinnedLeftWidth = function () {\n return this.leftWidth;\n };\n __decorate$2l([\n Autowired('columnModel')\n ], PinnedWidthService.prototype, \"columnModel\", void 0);\n __decorate$2l([\n PostConstruct\n ], PinnedWidthService.prototype, \"postConstruct\", null);\n PinnedWidthService = __decorate$2l([\n Bean('pinnedWidthService')\n ], PinnedWidthService);\n return PinnedWidthService;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __extends$2F = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$2m = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar RowNodeEventThrottle = /** @class */ (function (_super) {\n __extends$2F(RowNodeEventThrottle, _super);\n function RowNodeEventThrottle() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.events = [];\n return _this;\n }\n RowNodeEventThrottle.prototype.postConstruct = function () {\n if (this.rowModel.getType() == Constants.ROW_MODEL_TYPE_CLIENT_SIDE) {\n this.clientSideRowModel = this.rowModel;\n }\n };\n // because the user can call rowNode.setExpanded() many times in one VM turn,\n // we throttle the calls to ClientSideRowModel using animationFrameService. this means for 100\n // row nodes getting expanded, we only update the CSRM once, and then we fire all events after\n // CSRM has updated.\n //\n // if we did not do this, then the user could call setExpanded on 100+ rows, causing the grid\n // to re-render 100+ times, which would be a performance lag.\n //\n // we use animationFrameService\n // rather than _.debounce() so this will get done if anyone flushes the animationFrameService\n // (eg user calls api.ensureRowVisible(), which in turn flushes ).\n RowNodeEventThrottle.prototype.dispatchExpanded = function (event) {\n var _this = this;\n // if not using CSRM, we don't debounce. otherwise this breaks the SSRM.\n if (this.clientSideRowModel == null) {\n this.eventService.dispatchEvent(event);\n return;\n }\n this.events.push(event);\n var func = function () {\n if (_this.clientSideRowModel) {\n _this.clientSideRowModel.onRowGroupOpened();\n }\n _this.events.forEach(function (e) { return _this.eventService.dispatchEvent(e); });\n _this.events = [];\n };\n if (this.dispatchExpandedDebounced == null) {\n this.dispatchExpandedDebounced = this.animationFrameService.debounce(func);\n }\n this.dispatchExpandedDebounced();\n };\n __decorate$2m([\n Autowired('animationFrameService')\n ], RowNodeEventThrottle.prototype, \"animationFrameService\", void 0);\n __decorate$2m([\n Autowired('rowModel')\n ], RowNodeEventThrottle.prototype, \"rowModel\", void 0);\n __decorate$2m([\n PostConstruct\n ], RowNodeEventThrottle.prototype, \"postConstruct\", null);\n RowNodeEventThrottle = __decorate$2m([\n Bean('rowNodeEventThrottle')\n ], RowNodeEventThrottle);\n return RowNodeEventThrottle;\n}(BeanStub));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar __read$h = (undefined && undefined.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spread$d = (undefined && undefined.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read$h(arguments[i]));\n return ar;\n};\n// creates JavaScript vanilla Grid, including JavaScript (ag-stack) components, which can\n// be wrapped by the framework wrappers\nvar Grid = /** @class */ (function () {\n function Grid(eGridDiv, gridOptions, params) {\n if (!gridOptions) {\n console.error('AG Grid: no gridOptions provided to the grid');\n return;\n }\n this.gridOptions = gridOptions;\n new GridCoreCreator().create(eGridDiv, gridOptions, function (context) {\n var gridComp = new GridComp(eGridDiv);\n context.createBean(gridComp);\n }, undefined, params);\n }\n Grid.prototype.destroy = function () {\n if (this.gridOptions && this.gridOptions.api) {\n this.gridOptions.api.destroy();\n }\n };\n return Grid;\n}());\n// created services of grid only, no UI, so frameworks can use this if providing\n// their own UI\nvar GridCoreCreator = /** @class */ (function () {\n function GridCoreCreator() {\n }\n GridCoreCreator.prototype.create = function (eGridDiv, gridOptions, createUi, acceptChanges, params) {\n var _this = this;\n var debug = !!gridOptions.debug;\n var registeredModules = this.getRegisteredModules(params);\n var beanClasses = this.createBeansList(gridOptions.rowModelType, registeredModules);\n var providedBeanInstances = this.createProvidedBeans(eGridDiv, gridOptions, params);\n if (!beanClasses) {\n return;\n } // happens when no row model found\n var contextParams = {\n providedBeanInstances: providedBeanInstances,\n beanClasses: beanClasses,\n debug: debug\n };\n var logger = new Logger('AG Grid', function () { return gridOptions.debug; });\n var contextLogger = new Logger('Context', function () { return contextParams.debug; });\n var context = new Context(contextParams, contextLogger);\n var beans = context.getBean('beans');\n this.registerModuleUserComponents(beans, registeredModules);\n this.registerStackComponents(beans, registeredModules);\n this.registerControllers(beans, registeredModules);\n createUi(context);\n // we wait until the UI has finished initialising before setting in columns and rows\n beans.ctrlsService.whenReady(function () {\n _this.setColumnsAndData(beans);\n _this.dispatchGridReadyEvent(beans, gridOptions);\n var isEnterprise = ModuleRegistry.isRegistered(exports.ModuleNames.EnterpriseCoreModule);\n logger.log(\"initialised successfully, enterprise = \" + isEnterprise);\n });\n if (acceptChanges) {\n acceptChanges(context);\n }\n };\n GridCoreCreator.prototype.registerControllers = function (beans, registeredModules) {\n registeredModules.forEach(function (module) {\n if (module.controllers) {\n module.controllers.forEach(function (meta) { return beans.ctrlsFactory.register(meta); });\n }\n });\n };\n GridCoreCreator.prototype.registerStackComponents = function (beans, registeredModules) {\n var agStackComponents = this.createAgStackComponentsList(registeredModules);\n beans.agStackComponentsRegistry.setupComponents(agStackComponents);\n };\n GridCoreCreator.prototype.getRegisteredModules = function (params) {\n var passedViaConstructor = params ? params.modules : null;\n var registered = ModuleRegistry.getRegisteredModules();\n var allModules = [];\n var mapNames = {};\n // adds to list and removes duplicates\n function addModule(moduleBased, mod) {\n function addIndividualModule(currentModule) {\n if (!mapNames[currentModule.moduleName]) {\n mapNames[currentModule.moduleName] = true;\n allModules.push(currentModule);\n ModuleRegistry.register(currentModule, moduleBased);\n }\n }\n addIndividualModule(mod);\n if (mod.dependantModules) {\n mod.dependantModules.forEach(addModule.bind(null, moduleBased));\n }\n }\n if (passedViaConstructor) {\n passedViaConstructor.forEach(addModule.bind(null, true));\n }\n if (registered) {\n registered.forEach(addModule.bind(null, !ModuleRegistry.isPackageBased()));\n }\n return allModules;\n };\n GridCoreCreator.prototype.registerModuleUserComponents = function (beans, registeredModules) {\n var moduleUserComps = this.extractModuleEntity(registeredModules, function (module) { return module.userComponents ? module.userComponents : []; });\n moduleUserComps.forEach(function (compMeta) {\n beans.userComponentRegistry.registerDefaultComponent(compMeta.componentName, compMeta.componentClass);\n });\n };\n GridCoreCreator.prototype.createProvidedBeans = function (eGridDiv, gridOptions, params) {\n var frameworkOverrides = params ? params.frameworkOverrides : null;\n if (missing(frameworkOverrides)) {\n frameworkOverrides = new VanillaFrameworkOverrides();\n }\n var seed = {\n gridOptions: gridOptions,\n eGridDiv: eGridDiv,\n globalEventListener: params ? params.globalEventListener : null,\n frameworkOverrides: frameworkOverrides\n };\n if (params && params.providedBeanInstances) {\n Object.assign(seed, params.providedBeanInstances);\n }\n return seed;\n };\n GridCoreCreator.prototype.createAgStackComponentsList = function (registeredModules) {\n var components = [\n { componentName: 'AgCheckbox', componentClass: AgCheckbox },\n { componentName: 'AgRadioButton', componentClass: AgRadioButton },\n { componentName: 'AgToggleButton', componentClass: AgToggleButton },\n { componentName: 'AgInputTextField', componentClass: AgInputTextField },\n { componentName: 'AgInputTextArea', componentClass: AgInputTextArea },\n { componentName: 'AgInputNumberField', componentClass: AgInputNumberField },\n { componentName: 'AgInputRange', componentClass: AgInputRange },\n { componentName: 'AgSelect', componentClass: AgSelect },\n { componentName: 'AgSlider', componentClass: AgSlider },\n { componentName: 'AgAngleSelect', componentClass: AgAngleSelect },\n { componentName: 'AgColorPicker', componentClass: AgColorPicker },\n { componentName: 'AgGridBody', componentClass: GridBodyComp },\n { componentName: 'AgHeaderRoot', componentClass: GridHeaderComp },\n { componentName: 'AgPagination', componentClass: PaginationComp },\n { componentName: 'AgOverlayWrapper', componentClass: OverlayWrapperComponent },\n { componentName: 'AgGroupComponent', componentClass: AgGroupComponent },\n { componentName: 'AgPanel', componentClass: AgPanel },\n { componentName: 'AgDialog', componentClass: AgDialog },\n { componentName: 'AgRowContainer', componentClass: RowContainerComp },\n { componentName: 'AgFakeHorizontalScroll', componentClass: FakeHScrollComp }\n ];\n var moduleAgStackComps = this.extractModuleEntity(registeredModules, function (module) { return module.agStackComponents ? module.agStackComponents : []; });\n components = components.concat(moduleAgStackComps);\n return components;\n };\n GridCoreCreator.prototype.createBeansList = function (rowModelType, registeredModules) {\n var rowModelClass = this.getRowModelClass(rowModelType, registeredModules);\n if (!rowModelClass) {\n return;\n }\n // beans should only contain SERVICES, it should NEVER contain COMPONENTS\n var beans = [\n rowModelClass, Beans, RowPositionUtils, CellPositionUtils, HeaderPositionUtils,\n PaginationAutoPageSizeService, GridApi, UserComponentRegistry, AgComponentUtils,\n ComponentMetadataProvider, ResizeObserverService, UserComponentFactory,\n RowContainerHeightService, HorizontalResizeService,\n PinnedRowModel, DragService, DisplayedGroupCreator, EventService, GridOptionsWrapper,\n PopupService, SelectionService, FilterManager, ColumnModel, HeaderNavigationService,\n PaginationProxy, RowRenderer, ExpressionService, ColumnFactory, TemplateService,\n AlignedGridsService, NavigationService, ValueCache, ValueService, LoggerFactory,\n ColumnUtils, AutoWidthCalculator, StandardMenuFactory, DragAndDropService, ColumnApi,\n FocusService, MouseEventService, Environment, CellNavigationService, ValueFormatterService,\n StylingService, ScrollVisibleService, SortController, ColumnHoverService, ColumnAnimationService,\n SelectableService, AutoGroupColService, ChangeDetectionService, AnimationFrameService,\n UndoRedoService, AgStackComponentsRegistry, ColumnDefFactory,\n RowCssClassCalculator, RowNodeBlockLoader, RowNodeSorter, CtrlsService,\n PinnedWidthService, RowNodeEventThrottle, CtrlsFactory\n ];\n var moduleBeans = this.extractModuleEntity(registeredModules, function (module) { return module.beans ? module.beans : []; });\n beans.push.apply(beans, __spread$d(moduleBeans));\n // check for duplicates, as different modules could include the same beans that\n // they depend on, eg ClientSideRowModel in enterprise, and ClientSideRowModel in community\n var beansNoDuplicates = [];\n beans.forEach(function (bean) {\n if (beansNoDuplicates.indexOf(bean) < 0) {\n beansNoDuplicates.push(bean);\n }\n });\n return beansNoDuplicates;\n };\n GridCoreCreator.prototype.extractModuleEntity = function (moduleEntities, extractor) {\n return [].concat.apply([], __spread$d(moduleEntities.map(extractor)));\n };\n GridCoreCreator.prototype.setColumnsAndData = function (beans) {\n var columnDefs = beans.gridOptionsWrapper.getColumnDefs();\n beans.columnModel.setColumnDefs(columnDefs || [], \"gridInitializing\");\n beans.rowModel.start();\n };\n GridCoreCreator.prototype.dispatchGridReadyEvent = function (beans, gridOptions) {\n var readyEvent = {\n type: Events.EVENT_GRID_READY,\n api: gridOptions.api,\n columnApi: gridOptions.columnApi\n };\n beans.eventService.dispatchEvent(readyEvent);\n };\n GridCoreCreator.prototype.getRowModelClass = function (rowModelType, registeredModules) {\n // default to client side\n if (!rowModelType) {\n rowModelType = Constants.ROW_MODEL_TYPE_CLIENT_SIDE;\n }\n var rowModelClasses = {};\n registeredModules.forEach(function (module) {\n iterateObject(module.rowModels, function (key, value) {\n rowModelClasses[key] = value;\n });\n });\n var rowModelClass = rowModelClasses[rowModelType];\n if (exists(rowModelClass)) {\n return rowModelClass;\n }\n if (ModuleRegistry.isPackageBased()) {\n if ([Constants.ROW_MODEL_TYPE_VIEWPORT, Constants.ROW_MODEL_TYPE_SERVER_SIDE].includes(rowModelType))\n // If package based only the enterprise row models could be missing.\n console.error(\"AG Grid: Row Model \\\"\" + rowModelType + \"\\\" not found. Please ensure the package 'ag-grid-enterprise' is imported. Please see: https://www.ag-grid.com/javascript-grid/packages/\");\n else {\n console.error('AG Grid: could not find row model for rowModelType ' + rowModelType);\n }\n }\n else {\n if (rowModelType === Constants.ROW_MODEL_TYPE_INFINITE) {\n console.error(\"AG Grid: Row Model \\\"Infinite\\\" not found. Please ensure the \" + exports.ModuleNames.InfiniteRowModelModule + \" module is registered. Please see: https://www.ag-grid.com/javascript-grid/modules/\");\n }\n else if (rowModelType === Constants.ROW_MODEL_TYPE_VIEWPORT) {\n console.error(\"AG Grid: Row Model \\\"Viewport\\\" not found. Please ensure the AG Grid Enterprise Module \" + exports.ModuleNames.ViewportRowModelModule + \" module is registered. Please see: https://www.ag-grid.com/javascript-grid/modules/\");\n }\n else if (rowModelType === Constants.ROW_MODEL_TYPE_SERVER_SIDE) {\n console.error(\"AG Grid: Row Model \\\"Server Side\\\" not found. Please ensure the AG Grid Enterprise Module \" + exports.ModuleNames.ServerSideRowModelModule + \" module is registered. Please see: https://www.ag-grid.com/javascript-grid/modules/\");\n }\n else if (rowModelType === Constants.ROW_MODEL_TYPE_CLIENT_SIDE) {\n console.error(\"AG Grid: Row Model \\\"Client Side\\\" not found. Please ensure the \" + exports.ModuleNames.ClientSideRowModelModule + \" module is registered. Please see: https://www.ag-grid.com/javascript-grid/modules/\");\n }\n else {\n console.error('AG Grid: could not find row model for rowModelType ' + rowModelType);\n }\n }\n };\n return GridCoreCreator;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nfunction defaultGroupComparator(valueA, valueB, nodeA, nodeB, accentedCompare) {\n if (accentedCompare === void 0) { accentedCompare = false; }\n console.warn('AG Grid: Since ag-grid 11.0.0 defaultGroupComparator is not necessary. You can remove this from your colDef');\n var nodeAIsGroup = exists(nodeA) && nodeA.group;\n var nodeBIsGroup = exists(nodeB) && nodeB.group;\n var bothAreGroups = nodeAIsGroup && nodeBIsGroup;\n var bothAreNormal = !nodeAIsGroup && !nodeBIsGroup;\n if (bothAreGroups) {\n return defaultComparator(nodeA.key, nodeB.key, accentedCompare);\n }\n if (bothAreNormal) {\n return defaultComparator(valueA, valueB, accentedCompare);\n }\n if (nodeAIsGroup) {\n return 1;\n }\n return -1;\n}\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar BaseComponentWrapper = /** @class */ (function () {\n function BaseComponentWrapper() {\n }\n BaseComponentWrapper.prototype.wrap = function (OriginalConstructor, mandatoryMethodList, optionalMethodList, componentType) {\n var _this = this;\n if (optionalMethodList === void 0) { optionalMethodList = []; }\n var wrapper = this.createWrapper(OriginalConstructor, componentType);\n mandatoryMethodList.forEach((function (methodName) {\n _this.createMethod(wrapper, methodName, true);\n }));\n optionalMethodList.forEach((function (methodName) {\n _this.createMethod(wrapper, methodName, false);\n }));\n return wrapper;\n };\n BaseComponentWrapper.prototype.unwrap = function (comp) {\n return comp;\n };\n BaseComponentWrapper.prototype.createMethod = function (wrapper, methodName, mandatory) {\n wrapper.addMethod(methodName, this.createMethodProxy(wrapper, methodName, mandatory));\n };\n BaseComponentWrapper.prototype.createMethodProxy = function (wrapper, methodName, mandatory) {\n return function () {\n if (wrapper.hasMethod(methodName)) {\n return wrapper.callMethod(methodName, arguments);\n }\n if (mandatory) {\n console.warn('AG Grid: Framework component is missing the method ' + methodName + '()');\n }\n return null;\n };\n };\n return BaseComponentWrapper;\n}());\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\n(function (BarColumnLabelPlacement) {\n BarColumnLabelPlacement[\"InsideBase\"] = \"insideBase\";\n BarColumnLabelPlacement[\"InsideEnd\"] = \"insideEnd\";\n BarColumnLabelPlacement[\"Center\"] = \"center\";\n BarColumnLabelPlacement[\"OutsideEnd\"] = \"outsideEnd\";\n})(exports.BarColumnLabelPlacement || (exports.BarColumnLabelPlacement = {}));\n\n/**\n * @ag-grid-community/core - Advanced Data Grid / Data Table supporting Javascript / Typescript / React / Angular / Vue\n * @version v27.3.0\n * @link https://www.ag-grid.com/\n * @license MIT\n */\nvar globalObj = typeof global === 'undefined' ? {} : global;\nglobalObj.HTMLElement = typeof HTMLElement === 'undefined' ? {} : HTMLElement;\nglobalObj.HTMLButtonElement = typeof HTMLButtonElement === 'undefined' ? {} : HTMLButtonElement;\nglobalObj.HTMLSelectElement = typeof HTMLSelectElement === 'undefined' ? {} : HTMLSelectElement;\nglobalObj.HTMLInputElement = typeof HTMLInputElement === 'undefined' ? {} : HTMLInputElement;\nglobalObj.Node = typeof Node === 'undefined' ? {} : Node;\nglobalObj.MouseEvent = typeof MouseEvent === 'undefined' ? {} : MouseEvent;\n\nvar __read$i = (undefined && undefined.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spread$e = (undefined && undefined.__spread) || function () {\n for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read$i(arguments[i]));\n return ar;\n};\nvar ClientSideNodeManager = /** @class */ (function () {\n function ClientSideNodeManager(rootNode, gridOptionsWrapper, eventService, columnModel, gridApi, columnApi, selectionService, beans) {\n this.nextId = 0;\n // when user is provide the id's, we also keep a map of ids to row nodes for convenience\n this.allNodesMap = {};\n this.rootNode = rootNode;\n this.gridOptionsWrapper = gridOptionsWrapper;\n this.eventService = eventService;\n this.columnModel = columnModel;\n this.gridApi = gridApi;\n this.columnApi = columnApi;\n this.beans = beans;\n this.selectionService = selectionService;\n this.rootNode.group = true;\n this.rootNode.level = -1;\n this.rootNode.id = ClientSideNodeManager.ROOT_NODE_ID;\n this.rootNode.allLeafChildren = [];\n this.rootNode.childrenAfterGroup = [];\n this.rootNode.childrenAfterSort = [];\n this.rootNode.childrenAfterAggFilter = [];\n this.rootNode.childrenAfterFilter = [];\n // if we make this class a bean, then can annotate postConstruct\n this.postConstruct();\n }\n // @PostConstruct - this is not a bean, so postConstruct called by constructor\n ClientSideNodeManager.prototype.postConstruct = function () {\n // func below doesn't have 'this' pointer, so need to pull out these bits\n this.suppressParentsInRowNodes = this.gridOptionsWrapper.isSuppressParentsInRowNodes();\n this.isRowMasterFunc = this.gridOptionsWrapper.getIsRowMasterFunc();\n this.doingTreeData = this.gridOptionsWrapper.isTreeData();\n this.doingMasterDetail = this.gridOptionsWrapper.isMasterDetail();\n };\n ClientSideNodeManager.prototype.getCopyOfNodesMap = function () {\n return _.cloneObject(this.allNodesMap);\n };\n ClientSideNodeManager.prototype.getRowNode = function (id) {\n return this.allNodesMap[id];\n };\n ClientSideNodeManager.prototype.setRowData = function (rowData) {\n var _this = this;\n if (typeof rowData === 'string') {\n console.warn('AG Grid: rowData must be an array, however you passed in a string. If you are loading JSON, make sure you convert the JSON string to JavaScript objects first');\n return;\n }\n var rootNode = this.rootNode;\n var sibling = this.rootNode.sibling;\n rootNode.childrenAfterFilter = null;\n rootNode.childrenAfterGroup = null;\n rootNode.childrenAfterAggFilter = null;\n rootNode.childrenAfterSort = null;\n rootNode.childrenMapped = null;\n rootNode.updateHasChildren();\n this.nextId = 0;\n this.allNodesMap = {};\n if (rowData) {\n // we use rootNode as the parent, however if using ag-grid-enterprise, the grouping stage\n // sets the parent node on each row (even if we are not grouping). so setting parent node\n // here is for benefit of ag-grid-community users\n rootNode.allLeafChildren = rowData.map(function (dataItem) { return _this.createNode(dataItem, _this.rootNode, ClientSideNodeManager.TOP_LEVEL); });\n }\n else {\n rootNode.allLeafChildren = [];\n rootNode.childrenAfterGroup = [];\n }\n if (sibling) {\n sibling.childrenAfterFilter = rootNode.childrenAfterFilter;\n sibling.childrenAfterGroup = rootNode.childrenAfterGroup;\n sibling.childrenAfterAggFilter = rootNode.childrenAfterAggFilter;\n sibling.childrenAfterSort = rootNode.childrenAfterSort;\n sibling.childrenMapped = rootNode.childrenMapped;\n sibling.allLeafChildren = rootNode.allLeafChildren;\n }\n };\n ClientSideNodeManager.prototype.updateRowData = function (rowDataTran, rowNodeOrder) {\n var rowNodeTransaction = {\n remove: [],\n update: [],\n add: []\n };\n var nodesToUnselect = [];\n this.executeRemove(rowDataTran, rowNodeTransaction, nodesToUnselect);\n this.executeUpdate(rowDataTran, rowNodeTransaction, nodesToUnselect);\n this.executeAdd(rowDataTran, rowNodeTransaction);\n this.updateSelection(nodesToUnselect);\n if (rowNodeOrder) {\n _.sortRowNodesByOrder(this.rootNode.allLeafChildren, rowNodeOrder);\n }\n return rowNodeTransaction;\n };\n ClientSideNodeManager.prototype.updateSelection = function (nodesToUnselect) {\n var selectionChanged = nodesToUnselect.length > 0;\n if (selectionChanged) {\n nodesToUnselect.forEach(function (rowNode) {\n rowNode.setSelected(false, false, true);\n });\n }\n // we do this regardless of nodes to unselect or not, as it's possible\n // a new node was inserted, so a parent that was previously selected (as all\n // children were selected) should not be tri-state (as new one unselected against\n // all other selected children).\n this.selectionService.updateGroupsFromChildrenSelections();\n if (selectionChanged) {\n var event_1 = {\n type: Events.EVENT_SELECTION_CHANGED,\n api: this.gridApi,\n columnApi: this.columnApi\n };\n this.eventService.dispatchEvent(event_1);\n }\n };\n ClientSideNodeManager.prototype.executeAdd = function (rowDataTran, rowNodeTransaction) {\n var _this = this;\n var add = rowDataTran.add, addIndex = rowDataTran.addIndex;\n if (_.missingOrEmpty(add)) {\n return;\n }\n // create new row nodes for each data item\n var newNodes = add.map(function (item) { return _this.createNode(item, _this.rootNode, ClientSideNodeManager.TOP_LEVEL); });\n // add new row nodes to the root nodes 'allLeafChildren'\n var useIndex = typeof addIndex === 'number' && addIndex >= 0;\n var nodesBeforeIndex;\n var nodesAfterIndex;\n if (useIndex) {\n // new rows are inserted in one go by concatenating them in between the existing rows at the desired index.\n // this is much faster than splicing them individually into 'allLeafChildren' when there are large inserts.\n // allLeafChildren can be out of order, so we loop over all the Nodes to find the correct index that\n // represents the position `addIndex` intended to be.\n var allLeafChildren_1 = this.rootNode.allLeafChildren;\n // if addIndex is 0, it should always be added at the start of the array\n // there is no need to verify the order of node by nodeIndex.\n var normalizedAddIndex = addIndex === 0 ? 0 : (allLeafChildren_1.reduce(function (prevIdx, currNode, currIdx) {\n var _a;\n var rowIndex = currNode.rowIndex;\n var prevValueAtIndex = (_a = allLeafChildren_1[prevIdx]) === null || _a === void 0 ? void 0 : _a.rowIndex;\n var shouldUpdateIndex = rowIndex != null && prevValueAtIndex != null && rowIndex < addIndex && rowIndex > prevValueAtIndex;\n return shouldUpdateIndex ? currIdx : prevIdx;\n }, 0) + 1);\n nodesBeforeIndex = allLeafChildren_1.slice(0, normalizedAddIndex);\n nodesAfterIndex = allLeafChildren_1.slice(normalizedAddIndex, allLeafChildren_1.length);\n }\n else {\n nodesBeforeIndex = this.rootNode.allLeafChildren;\n nodesAfterIndex = [];\n }\n this.rootNode.allLeafChildren = __spread$e(nodesBeforeIndex, newNodes, nodesAfterIndex);\n if (this.rootNode.sibling) {\n this.rootNode.sibling.allLeafChildren = this.rootNode.allLeafChildren;\n }\n // add new row nodes to the transaction add items\n rowNodeTransaction.add = newNodes;\n };\n ClientSideNodeManager.prototype.executeRemove = function (rowDataTran, rowNodeTransaction, nodesToUnselect) {\n var _this = this;\n var remove = rowDataTran.remove;\n if (_.missingOrEmpty(remove)) {\n return;\n }\n var rowIdsRemoved = {};\n remove.forEach(function (item) {\n var rowNode = _this.lookupRowNode(item);\n if (!rowNode) {\n return;\n }\n // do delete - setting 'suppressFinishActions = true' to ensure EVENT_SELECTION_CHANGED is not raised for\n // each row node updated, instead it is raised once by the calling code if any selected nodes exist.\n if (rowNode.isSelected()) {\n nodesToUnselect.push(rowNode);\n }\n // so row renderer knows to fade row out (and not reposition it)\n rowNode.clearRowTopAndRowIndex();\n // NOTE: were we could remove from allLeaveChildren, however _.removeFromArray() is expensive, especially\n // if called multiple times (eg deleting lots of rows) and if allLeafChildren is a large list\n rowIdsRemoved[rowNode.id] = true;\n // _.removeFromArray(this.rootNode.allLeafChildren, rowNode);\n delete _this.allNodesMap[rowNode.id];\n rowNodeTransaction.remove.push(rowNode);\n });\n this.rootNode.allLeafChildren = this.rootNode.allLeafChildren.filter(function (rowNode) { return !rowIdsRemoved[rowNode.id]; });\n if (this.rootNode.sibling) {\n this.rootNode.sibling.allLeafChildren = this.rootNode.allLeafChildren;\n }\n };\n ClientSideNodeManager.prototype.executeUpdate = function (rowDataTran, rowNodeTransaction, nodesToUnselect) {\n var _this = this;\n var update = rowDataTran.update;\n if (_.missingOrEmpty(update)) {\n return;\n }\n update.forEach(function (item) {\n var rowNode = _this.lookupRowNode(item);\n if (!rowNode) {\n return;\n }\n rowNode.updateData(item);\n if (!rowNode.selectable && rowNode.isSelected()) {\n nodesToUnselect.push(rowNode);\n }\n _this.setMasterForRow(rowNode, item, ClientSideNodeManager.TOP_LEVEL, false);\n rowNodeTransaction.update.push(rowNode);\n });\n };\n ClientSideNodeManager.prototype.lookupRowNode = function (data) {\n var getRowIdFunc = this.gridOptionsWrapper.getRowIdFunc();\n var rowNode;\n if (getRowIdFunc) {\n // find rowNode using id\n var id = getRowIdFunc({ data: data, level: 0 });\n rowNode = this.allNodesMap[id];\n if (!rowNode) {\n console.error(\"AG Grid: could not find row id=\" + id + \", data item was not found for this id\");\n return null;\n }\n }\n else {\n // find rowNode using object references\n rowNode = this.rootNode.allLeafChildren.find(function (node) { return node.data === data; });\n if (!rowNode) {\n console.error(\"AG Grid: could not find data item as object was not found\", data);\n console.error(\"Consider using getRowId to help the Grid find matching row data\");\n return null;\n }\n }\n return rowNode || null;\n };\n ClientSideNodeManager.prototype.createNode = function (dataItem, parent, level) {\n var node = new RowNode(this.beans);\n node.group = false;\n this.setMasterForRow(node, dataItem, level, true);\n if (parent && !this.suppressParentsInRowNodes) {\n node.parent = parent;\n }\n node.level = level;\n node.setDataAndId(dataItem, this.nextId.toString());\n if (this.allNodesMap[node.id]) {\n console.warn(\"AG Grid: duplicate node id '\" + node.id + \"' detected from getRowId callback, this could cause issues in your grid.\");\n }\n this.allNodesMap[node.id] = node;\n this.nextId++;\n return node;\n };\n ClientSideNodeManager.prototype.setMasterForRow = function (rowNode, data, level, setExpanded) {\n if (this.doingTreeData) {\n rowNode.setMaster(false);\n if (setExpanded) {\n rowNode.expanded = false;\n }\n }\n else {\n // this is the default, for when doing grid data\n if (this.doingMasterDetail) {\n // if we are doing master detail, then the\n // default is that everything can be a Master Row.\n if (this.isRowMasterFunc) {\n rowNode.setMaster(this.isRowMasterFunc(data));\n }\n else {\n rowNode.setMaster(true);\n }\n }\n else {\n rowNode.setMaster(false);\n }\n if (setExpanded) {\n var rowGroupColumns = this.columnModel.getRowGroupColumns();\n var numRowGroupColumns = rowGroupColumns ? rowGroupColumns.length : 0;\n // need to take row group into account when determining level\n var masterRowLevel = level + numRowGroupColumns;\n rowNode.expanded = rowNode.master ? this.isExpanded(masterRowLevel) : false;\n }\n }\n };\n ClientSideNodeManager.prototype.isExpanded = function (level) {\n var expandByDefault = this.gridOptionsWrapper.getGroupDefaultExpanded();\n if (expandByDefault === -1) {\n return true;\n }\n return level < expandByDefault;\n };\n ClientSideNodeManager.TOP_LEVEL = 0;\n ClientSideNodeManager.ROOT_NODE_ID = 'ROOT_NODE_ID';\n return ClientSideNodeManager;\n}());\n\nvar __extends$2G = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$2n = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar RecursionType;\n(function (RecursionType) {\n RecursionType[RecursionType[\"Normal\"] = 0] = \"Normal\";\n RecursionType[RecursionType[\"AfterFilter\"] = 1] = \"AfterFilter\";\n RecursionType[RecursionType[\"AfterFilterAndSort\"] = 2] = \"AfterFilterAndSort\";\n RecursionType[RecursionType[\"PivotNodes\"] = 3] = \"PivotNodes\";\n})(RecursionType || (RecursionType = {}));\nvar ClientSideRowModel = /** @class */ (function (_super) {\n __extends$2G(ClientSideRowModel, _super);\n function ClientSideRowModel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ClientSideRowModel.prototype.init = function () {\n var refreshEverythingFunc = this.refreshModel.bind(this, { step: exports.ClientSideRowModelSteps.EVERYTHING });\n var animate = !this.gridOptionsWrapper.isSuppressAnimationFrame();\n var refreshEverythingAfterColsChangedFunc = this.refreshModel.bind(this, {\n step: exports.ClientSideRowModelSteps.EVERYTHING,\n afterColumnsChanged: true,\n keepRenderedRows: true,\n animate: animate\n });\n this.addManagedListener(this.eventService, Events.EVENT_NEW_COLUMNS_LOADED, refreshEverythingAfterColsChangedFunc);\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_ROW_GROUP_CHANGED, refreshEverythingFunc);\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_VALUE_CHANGED, this.onValueChanged.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_PIVOT_CHANGED, this.refreshModel.bind(this, { step: exports.ClientSideRowModelSteps.PIVOT }));\n this.addManagedListener(this.eventService, Events.EVENT_FILTER_CHANGED, this.onFilterChanged.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_SORT_CHANGED, this.onSortChanged.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_COLUMN_PIVOT_MODE_CHANGED, refreshEverythingFunc);\n var refreshMapListener = this.refreshModel.bind(this, {\n step: exports.ClientSideRowModelSteps.MAP,\n keepRenderedRows: true,\n animate: animate\n });\n this.addManagedListener(this.gridOptionsWrapper, GridOptionsWrapper.PROP_GROUP_REMOVE_SINGLE_CHILDREN, refreshMapListener);\n this.addManagedListener(this.gridOptionsWrapper, GridOptionsWrapper.PROP_GROUP_REMOVE_LOWEST_SINGLE_CHILDREN, refreshMapListener);\n this.rootNode = new RowNode(this.beans);\n this.nodeManager = new ClientSideNodeManager(this.rootNode, this.gridOptionsWrapper, this.eventService, this.columnModel, this.gridApi, this.columnApi, this.selectionService, this.beans);\n };\n ClientSideRowModel.prototype.start = function () {\n var rowData = this.gridOptionsWrapper.getRowData();\n if (rowData) {\n this.setRowData(rowData);\n }\n };\n ClientSideRowModel.prototype.ensureRowHeightsValid = function (startPixel, endPixel, startLimitIndex, endLimitIndex) {\n var atLeastOneChange;\n var res = false;\n // we do this multiple times as changing the row heights can also change the first and last rows,\n // so the first pass can make lots of rows smaller, which means the second pass we end up changing\n // more rows.\n do {\n atLeastOneChange = false;\n var rowAtStartPixel = this.getRowIndexAtPixel(startPixel);\n var rowAtEndPixel = this.getRowIndexAtPixel(endPixel);\n // keep check to current page if doing pagination\n var firstRow = Math.max(rowAtStartPixel, startLimitIndex);\n var lastRow = Math.min(rowAtEndPixel, endLimitIndex);\n for (var rowIndex = firstRow; rowIndex <= lastRow; rowIndex++) {\n var rowNode = this.getRow(rowIndex);\n if (rowNode.rowHeightEstimated) {\n var rowHeight = this.gridOptionsWrapper.getRowHeightForNode(rowNode);\n rowNode.setRowHeight(rowHeight.height);\n atLeastOneChange = true;\n res = true;\n }\n }\n if (atLeastOneChange) {\n this.setRowTopAndRowIndex();\n }\n } while (atLeastOneChange);\n return res;\n };\n ClientSideRowModel.prototype.setRowTopAndRowIndex = function () {\n var defaultRowHeight = this.gridOptionsWrapper.getDefaultRowHeight();\n var nextRowTop = 0;\n // mapping displayed rows is not needed for this method, however it's used in\n // clearRowTopAndRowIndex(), and given we are looping through this.rowsToDisplay here,\n // we create the map here for performance reasons, so we don't loop a second time\n // in clearRowTopAndRowIndex()\n var displayedRowsMapped = new Set();\n // we don't estimate if doing fullHeight or autoHeight, as all rows get rendered all the time\n // with these two layouts.\n var allowEstimate = this.gridOptionsWrapper.getDomLayout() === Constants.DOM_LAYOUT_NORMAL;\n for (var i = 0; i < this.rowsToDisplay.length; i++) {\n var rowNode = this.rowsToDisplay[i];\n if (rowNode.id != null) {\n displayedRowsMapped.add(rowNode.id);\n }\n if (rowNode.rowHeight == null) {\n var rowHeight = this.gridOptionsWrapper.getRowHeightForNode(rowNode, allowEstimate, defaultRowHeight);\n rowNode.setRowHeight(rowHeight.height, rowHeight.estimated);\n }\n rowNode.setRowTop(nextRowTop);\n rowNode.setRowIndex(i);\n nextRowTop += rowNode.rowHeight;\n }\n return displayedRowsMapped;\n };\n ClientSideRowModel.prototype.clearRowTopAndRowIndex = function (changedPath, displayedRowsMapped) {\n var changedPathActive = changedPath.isActive();\n var clearIfNotDisplayed = function (rowNode) {\n if (rowNode && rowNode.id != null && !displayedRowsMapped.has(rowNode.id)) {\n rowNode.clearRowTopAndRowIndex();\n }\n };\n var recurse = function (rowNode) {\n clearIfNotDisplayed(rowNode);\n clearIfNotDisplayed(rowNode.detailNode);\n clearIfNotDisplayed(rowNode.sibling);\n if (rowNode.hasChildren()) {\n if (rowNode.childrenAfterGroup) {\n // if a changedPath is active, it means we are here because of a transaction update or\n // a change detection. neither of these impacts the open/closed state of groups. so if\n // a group is not open this time, it was not open last time. so we know all closed groups\n // already have their top positions cleared. so there is no need to traverse all the way\n // when changedPath is active and the rowNode is not expanded.\n var isRootNode = rowNode.level == -1; // we need to give special consideration for root node,\n // as expanded=undefined for root node\n var skipChildren = changedPathActive && !isRootNode && !rowNode.expanded;\n if (!skipChildren) {\n rowNode.childrenAfterGroup.forEach(recurse);\n }\n }\n }\n };\n recurse(this.rootNode);\n };\n // returns false if row was moved, otherwise true\n ClientSideRowModel.prototype.ensureRowsAtPixel = function (rowNodes, pixel, increment) {\n var _this = this;\n if (increment === void 0) { increment = 0; }\n var indexAtPixelNow = this.getRowIndexAtPixel(pixel);\n var rowNodeAtPixelNow = this.getRow(indexAtPixelNow);\n var animate = !this.gridOptionsWrapper.isSuppressAnimationFrame();\n if (rowNodeAtPixelNow === rowNodes[0]) {\n return false;\n }\n rowNodes.forEach(function (rowNode) {\n _.removeFromArray(_this.rootNode.allLeafChildren, rowNode);\n });\n rowNodes.forEach(function (rowNode, idx) {\n _.insertIntoArray(_this.rootNode.allLeafChildren, rowNode, Math.max(indexAtPixelNow + increment, 0) + idx);\n });\n this.refreshModel({\n step: exports.ClientSideRowModelSteps.EVERYTHING,\n keepRenderedRows: true,\n keepEditingRows: true,\n animate: animate\n });\n return true;\n };\n ClientSideRowModel.prototype.highlightRowAtPixel = function (rowNode, pixel) {\n var indexAtPixelNow = pixel != null ? this.getRowIndexAtPixel(pixel) : null;\n var rowNodeAtPixelNow = indexAtPixelNow != null ? this.getRow(indexAtPixelNow) : null;\n if (!rowNodeAtPixelNow || !rowNode || rowNodeAtPixelNow === rowNode || pixel == null) {\n if (this.lastHighlightedRow) {\n this.lastHighlightedRow.setHighlighted(null);\n this.lastHighlightedRow = null;\n }\n return;\n }\n var highlight = this.getHighlightPosition(pixel, rowNodeAtPixelNow);\n if (this.lastHighlightedRow && this.lastHighlightedRow !== rowNodeAtPixelNow) {\n this.lastHighlightedRow.setHighlighted(null);\n this.lastHighlightedRow = null;\n }\n rowNodeAtPixelNow.setHighlighted(highlight);\n this.lastHighlightedRow = rowNodeAtPixelNow;\n };\n ClientSideRowModel.prototype.getHighlightPosition = function (pixel, rowNode) {\n if (!rowNode) {\n var index = this.getRowIndexAtPixel(pixel);\n rowNode = this.getRow(index || 0);\n if (!rowNode) {\n return exports.RowHighlightPosition.Below;\n }\n }\n var rowTop = rowNode.rowTop, rowHeight = rowNode.rowHeight;\n return pixel - rowTop < rowHeight / 2 ? exports.RowHighlightPosition.Above : exports.RowHighlightPosition.Below;\n };\n ClientSideRowModel.prototype.getLastHighlightedRowNode = function () {\n return this.lastHighlightedRow;\n };\n ClientSideRowModel.prototype.isLastRowIndexKnown = function () {\n return true;\n };\n ClientSideRowModel.prototype.getRowCount = function () {\n if (this.rowsToDisplay) {\n return this.rowsToDisplay.length;\n }\n return 0;\n };\n ClientSideRowModel.prototype.getTopLevelRowCount = function () {\n var showingRootNode = this.rowsToDisplay && this.rowsToDisplay[0] === this.rootNode;\n if (showingRootNode) {\n return 1;\n }\n var filteredChildren = this.rootNode.childrenAfterAggFilter;\n return filteredChildren ? filteredChildren.length : 0;\n };\n ClientSideRowModel.prototype.getTopLevelRowDisplayedIndex = function (topLevelIndex) {\n var showingRootNode = this.rowsToDisplay && this.rowsToDisplay[0] === this.rootNode;\n if (showingRootNode) {\n return topLevelIndex;\n }\n var rowNode = this.rootNode.childrenAfterSort[topLevelIndex];\n if (this.gridOptionsWrapper.isGroupHideOpenParents()) {\n // if hideOpenParents, and this row open, then this row is now displayed at this index, first child is\n while (rowNode.expanded && rowNode.childrenAfterSort && rowNode.childrenAfterSort.length > 0) {\n rowNode = rowNode.childrenAfterSort[0];\n }\n }\n return rowNode.rowIndex;\n };\n ClientSideRowModel.prototype.getRowBounds = function (index) {\n if (_.missing(this.rowsToDisplay)) {\n return null;\n }\n var rowNode = this.rowsToDisplay[index];\n if (rowNode) {\n return {\n rowTop: rowNode.rowTop,\n rowHeight: rowNode.rowHeight\n };\n }\n return null;\n };\n ClientSideRowModel.prototype.onRowGroupOpened = function () {\n var animate = this.gridOptionsWrapper.isAnimateRows();\n this.refreshModel({ step: exports.ClientSideRowModelSteps.MAP, keepRenderedRows: true, animate: animate });\n };\n ClientSideRowModel.prototype.onFilterChanged = function (event) {\n if (event.afterDataChange) {\n return;\n }\n var animate = this.gridOptionsWrapper.isAnimateRows();\n var primaryOrQuickFilterChanged = event.columns.length === 0 || event.columns.some(function (col) { return col.isPrimary(); });\n var step = primaryOrQuickFilterChanged ? exports.ClientSideRowModelSteps.FILTER : exports.ClientSideRowModelSteps.FILTER_AGGREGATES;\n this.refreshModel({ step: step, keepRenderedRows: true, animate: animate });\n };\n ClientSideRowModel.prototype.onSortChanged = function () {\n var animate = this.gridOptionsWrapper.isAnimateRows();\n this.refreshModel({ step: exports.ClientSideRowModelSteps.SORT, keepRenderedRows: true, animate: animate, keepEditingRows: true });\n };\n ClientSideRowModel.prototype.getType = function () {\n return Constants.ROW_MODEL_TYPE_CLIENT_SIDE;\n };\n ClientSideRowModel.prototype.onValueChanged = function () {\n if (this.columnModel.isPivotActive()) {\n this.refreshModel({ step: exports.ClientSideRowModelSteps.PIVOT });\n }\n else {\n this.refreshModel({ step: exports.ClientSideRowModelSteps.AGGREGATE });\n }\n };\n ClientSideRowModel.prototype.createChangePath = function (rowNodeTransactions) {\n // for updates, if the row is updated at all, then we re-calc all the values\n // in that row. we could compare each value to each old value, however if we\n // did this, we would be calling the valueService twice, once on the old value\n // and once on the new value. so it's less valueGetter calls if we just assume\n // each column is different. that way the changedPath is used so that only\n // the impacted parent rows are recalculated, parents who's children have\n // not changed are not impacted.\n var noTransactions = _.missingOrEmpty(rowNodeTransactions);\n var changedPath = new ChangedPath(false, this.rootNode);\n if (noTransactions || this.gridOptionsWrapper.isTreeData()) {\n changedPath.setInactive();\n }\n return changedPath;\n };\n ClientSideRowModel.prototype.isSuppressModelUpdateAfterUpdateTransaction = function (params) {\n if (!this.gridOptionsWrapper.isSuppressModelUpdateAfterUpdateTransaction()) {\n return false;\n }\n // return true if we are only doing update transactions\n if (params.rowNodeTransactions == null) {\n return false;\n }\n var transWithAddsOrDeletes = params.rowNodeTransactions.filter(function (tx) {\n return (tx.add != null && tx.add.length > 0) || (tx.remove != null && tx.remove.length > 0);\n });\n var transactionsContainUpdatesOnly = transWithAddsOrDeletes == null || transWithAddsOrDeletes.length == 0;\n return transactionsContainUpdatesOnly;\n };\n ClientSideRowModel.prototype.refreshModel = function (params) {\n if (this.isSuppressModelUpdateAfterUpdateTransaction(params)) {\n return;\n }\n // this goes through the pipeline of stages. what's in my head is similar\n // to the diagram on this page:\n // http://commons.apache.org/sandbox/commons-pipeline/pipeline_basics.html\n // however we want to keep the results of each stage, hence we manually call\n // each step rather than have them chain each other.\n // fallthrough in below switch is on purpose,\n // eg if STEP_FILTER, then all steps below this\n // step get done\n // let start: number;\n // console.log('======= start =======');\n var changedPath = this.createChangePath(params.rowNodeTransactions);\n switch (params.step) {\n case exports.ClientSideRowModelSteps.EVERYTHING:\n this.doRowGrouping(params.groupState, params.rowNodeTransactions, params.rowNodeOrder, changedPath, !!params.afterColumnsChanged);\n case exports.ClientSideRowModelSteps.FILTER:\n this.doFilter(changedPath);\n case exports.ClientSideRowModelSteps.PIVOT:\n this.doPivot(changedPath);\n case exports.ClientSideRowModelSteps.AGGREGATE: // depends on agg fields\n this.doAggregate(changedPath);\n case exports.ClientSideRowModelSteps.FILTER_AGGREGATES:\n this.doFilterAggregates(changedPath);\n case exports.ClientSideRowModelSteps.SORT:\n this.doSort(params.rowNodeTransactions, changedPath);\n case exports.ClientSideRowModelSteps.MAP:\n this.doRowsToDisplay();\n }\n // set all row tops to null, then set row tops on all visible rows. if we don't\n // do this, then the algorithm below only sets row tops, old row tops from old rows\n // will still lie around\n var displayedNodesMapped = this.setRowTopAndRowIndex();\n this.clearRowTopAndRowIndex(changedPath, displayedNodesMapped);\n var event = {\n type: Events.EVENT_MODEL_UPDATED,\n api: this.gridApi,\n columnApi: this.columnApi,\n animate: params.animate,\n keepRenderedRows: params.keepRenderedRows,\n newData: params.newData,\n newPage: false\n };\n this.eventService.dispatchEvent(event);\n };\n ClientSideRowModel.prototype.isEmpty = function () {\n var rowsMissing = _.missing(this.rootNode.allLeafChildren) || this.rootNode.allLeafChildren.length === 0;\n return _.missing(this.rootNode) || rowsMissing || !this.columnModel.isReady();\n };\n ClientSideRowModel.prototype.isRowsToRender = function () {\n return _.exists(this.rowsToDisplay) && this.rowsToDisplay.length > 0;\n };\n ClientSideRowModel.prototype.getNodesInRangeForSelection = function (firstInRange, lastInRange) {\n // if lastSelectedNode is missing, we start at the first row\n var firstRowHit = !lastInRange;\n var lastRowHit = false;\n var lastRow;\n var result = [];\n var groupsSelectChildren = this.gridOptionsWrapper.isGroupSelectsChildren();\n this.forEachNodeAfterFilterAndSort(function (rowNode) {\n var lookingForLastRow = firstRowHit && !lastRowHit;\n // check if we need to flip the select switch\n if (!firstRowHit) {\n if (rowNode === lastInRange || rowNode === firstInRange) {\n firstRowHit = true;\n }\n }\n var skipThisGroupNode = rowNode.group && groupsSelectChildren;\n if (!skipThisGroupNode) {\n var inRange = firstRowHit && !lastRowHit;\n var childOfLastRow = rowNode.isParentOfNode(lastRow);\n if (inRange || childOfLastRow) {\n result.push(rowNode);\n }\n }\n if (lookingForLastRow) {\n if (rowNode === lastInRange || rowNode === firstInRange) {\n lastRowHit = true;\n if (rowNode === lastInRange) {\n lastRow = lastInRange;\n }\n else {\n lastRow = firstInRange;\n }\n }\n }\n });\n return result;\n };\n ClientSideRowModel.prototype.setDatasource = function (datasource) {\n console.error('AG Grid: should never call setDatasource on clientSideRowController');\n };\n ClientSideRowModel.prototype.getTopLevelNodes = function () {\n return this.rootNode ? this.rootNode.childrenAfterGroup : null;\n };\n ClientSideRowModel.prototype.getRootNode = function () {\n return this.rootNode;\n };\n ClientSideRowModel.prototype.getRow = function (index) {\n return this.rowsToDisplay[index];\n };\n ClientSideRowModel.prototype.isRowPresent = function (rowNode) {\n return this.rowsToDisplay.indexOf(rowNode) >= 0;\n };\n ClientSideRowModel.prototype.getRowIndexAtPixel = function (pixelToMatch) {\n if (this.isEmpty()) {\n return -1;\n }\n // do binary search of tree\n // http://oli.me.uk/2013/06/08/searching-javascript-arrays-with-a-binary-search/\n var bottomPointer = 0;\n var topPointer = this.rowsToDisplay.length - 1;\n // quick check, if the pixel is out of bounds, then return last row\n if (pixelToMatch <= 0) {\n // if pixel is less than or equal zero, it's always the first row\n return 0;\n }\n var lastNode = _.last(this.rowsToDisplay);\n if (lastNode.rowTop <= pixelToMatch) {\n return this.rowsToDisplay.length - 1;\n }\n while (true) {\n var midPointer = Math.floor((bottomPointer + topPointer) / 2);\n var currentRowNode = this.rowsToDisplay[midPointer];\n if (this.isRowInPixel(currentRowNode, pixelToMatch)) {\n return midPointer;\n }\n if (currentRowNode.rowTop < pixelToMatch) {\n bottomPointer = midPointer + 1;\n }\n else if (currentRowNode.rowTop > pixelToMatch) {\n topPointer = midPointer - 1;\n }\n }\n };\n ClientSideRowModel.prototype.isRowInPixel = function (rowNode, pixelToMatch) {\n var topPixel = rowNode.rowTop;\n var bottomPixel = rowNode.rowTop + rowNode.rowHeight;\n var pixelInRow = topPixel <= pixelToMatch && bottomPixel > pixelToMatch;\n return pixelInRow;\n };\n ClientSideRowModel.prototype.forEachLeafNode = function (callback) {\n if (this.rootNode.allLeafChildren) {\n this.rootNode.allLeafChildren.forEach(function (rowNode, index) { return callback(rowNode, index); });\n }\n };\n ClientSideRowModel.prototype.forEachNode = function (callback) {\n this.recursivelyWalkNodesAndCallback(this.rootNode.childrenAfterGroup, callback, RecursionType.Normal, 0);\n };\n ClientSideRowModel.prototype.forEachNodeAfterFilter = function (callback) {\n this.recursivelyWalkNodesAndCallback(this.rootNode.childrenAfterAggFilter, callback, RecursionType.AfterFilter, 0);\n };\n ClientSideRowModel.prototype.forEachNodeAfterFilterAndSort = function (callback) {\n this.recursivelyWalkNodesAndCallback(this.rootNode.childrenAfterSort, callback, RecursionType.AfterFilterAndSort, 0);\n };\n ClientSideRowModel.prototype.forEachPivotNode = function (callback) {\n this.recursivelyWalkNodesAndCallback([this.rootNode], callback, RecursionType.PivotNodes, 0);\n };\n // iterates through each item in memory, and calls the callback function\n // nodes - the rowNodes to traverse\n // callback - the user provided callback\n // recursion type - need this to know what child nodes to recurse, eg if looking at all nodes, or filtered notes etc\n // index - works similar to the index in forEach in javascript's array function\n ClientSideRowModel.prototype.recursivelyWalkNodesAndCallback = function (nodes, callback, recursionType, index) {\n if (!nodes) {\n return index;\n }\n for (var i = 0; i < nodes.length; i++) {\n var node = nodes[i];\n callback(node, index++);\n // go to the next level if it is a group\n if (node.hasChildren()) {\n // depending on the recursion type, we pick a difference set of children\n var nodeChildren = null;\n switch (recursionType) {\n case RecursionType.Normal:\n nodeChildren = node.childrenAfterGroup;\n break;\n case RecursionType.AfterFilter:\n nodeChildren = node.childrenAfterAggFilter;\n break;\n case RecursionType.AfterFilterAndSort:\n nodeChildren = node.childrenAfterSort;\n break;\n case RecursionType.PivotNodes:\n // for pivot, we don't go below leafGroup levels\n nodeChildren = !node.leafGroup ? node.childrenAfterSort : null;\n break;\n }\n if (nodeChildren) {\n index = this.recursivelyWalkNodesAndCallback(nodeChildren, callback, recursionType, index);\n }\n }\n }\n return index;\n };\n // it's possible to recompute the aggregate without doing the other parts\n // + gridApi.recomputeAggregates()\n ClientSideRowModel.prototype.doAggregate = function (changedPath) {\n if (this.aggregationStage) {\n this.aggregationStage.execute({ rowNode: this.rootNode, changedPath: changedPath });\n }\n };\n ClientSideRowModel.prototype.doFilterAggregates = function (changedPath) {\n if (this.filterAggregatesStage) {\n this.filterAggregatesStage.execute({ rowNode: this.rootNode, changedPath: changedPath });\n }\n else {\n // If filterAggregatesStage is undefined, then so is the grouping stage, so all children should be on the rootNode.\n this.rootNode.childrenAfterAggFilter = this.rootNode.childrenAfterFilter;\n }\n };\n // + gridApi.expandAll()\n // + gridApi.collapseAll()\n ClientSideRowModel.prototype.expandOrCollapseAll = function (expand) {\n var usingTreeData = this.gridOptionsWrapper.isTreeData();\n var usingPivotMode = this.columnModel.isPivotActive();\n var recursiveExpandOrCollapse = function (rowNodes) {\n if (!rowNodes) {\n return;\n }\n rowNodes.forEach(function (rowNode) {\n var actionRow = function () {\n rowNode.expanded = expand;\n recursiveExpandOrCollapse(rowNode.childrenAfterGroup);\n };\n if (usingTreeData) {\n var hasChildren = _.exists(rowNode.childrenAfterGroup);\n if (hasChildren) {\n actionRow();\n }\n return;\n }\n if (usingPivotMode) {\n var notLeafGroup = !rowNode.leafGroup;\n if (notLeafGroup) {\n actionRow();\n }\n return;\n }\n var isRowGroup = rowNode.group;\n if (isRowGroup) {\n actionRow();\n }\n });\n };\n if (this.rootNode) {\n recursiveExpandOrCollapse(this.rootNode.childrenAfterGroup);\n }\n this.refreshModel({ step: exports.ClientSideRowModelSteps.MAP });\n var eventSource = expand ? 'expandAll' : 'collapseAll';\n var event = {\n api: this.gridApi,\n columnApi: this.columnApi,\n type: Events.EVENT_EXPAND_COLLAPSE_ALL,\n source: eventSource\n };\n this.eventService.dispatchEvent(event);\n };\n ClientSideRowModel.prototype.doSort = function (rowNodeTransactions, changedPath) {\n this.sortStage.execute({\n rowNode: this.rootNode,\n rowNodeTransactions: rowNodeTransactions,\n changedPath: changedPath\n });\n };\n ClientSideRowModel.prototype.doRowGrouping = function (groupState, rowNodeTransactions, rowNodeOrder, changedPath, afterColumnsChanged) {\n if (this.groupStage) {\n if (rowNodeTransactions) {\n this.groupStage.execute({\n rowNode: this.rootNode,\n rowNodeTransactions: rowNodeTransactions,\n rowNodeOrder: rowNodeOrder,\n changedPath: changedPath\n });\n }\n else {\n this.groupStage.execute({\n rowNode: this.rootNode,\n changedPath: changedPath,\n afterColumnsChanged: afterColumnsChanged\n });\n // set open/closed state on groups\n this.restoreGroupState(groupState);\n }\n if (this.gridOptionsWrapper.isGroupSelectsChildren()) {\n this.selectionService.updateGroupsFromChildrenSelections(changedPath);\n }\n }\n else {\n this.rootNode.childrenAfterGroup = this.rootNode.allLeafChildren;\n if (this.rootNode.sibling) {\n this.rootNode.sibling.childrenAfterGroup = this.rootNode.childrenAfterGroup;\n }\n this.rootNode.updateHasChildren();\n }\n };\n ClientSideRowModel.prototype.restoreGroupState = function (groupState) {\n if (!groupState) {\n return;\n }\n _.traverseNodesWithKey(this.rootNode.childrenAfterGroup, function (node, key) {\n // if the group was open last time, then open it this time. however\n // if was not open last time, then don't touch the group, so the 'groupDefaultExpanded'\n // setting will take effect.\n if (typeof groupState[key] === 'boolean') {\n node.expanded = groupState[key];\n }\n });\n };\n ClientSideRowModel.prototype.doFilter = function (changedPath) {\n this.filterStage.execute({ rowNode: this.rootNode, changedPath: changedPath });\n };\n ClientSideRowModel.prototype.doPivot = function (changedPath) {\n if (this.pivotStage) {\n this.pivotStage.execute({ rowNode: this.rootNode, changedPath: changedPath });\n }\n };\n ClientSideRowModel.prototype.getGroupState = function () {\n if (!this.rootNode.childrenAfterGroup || !this.gridOptionsWrapper.isRememberGroupStateWhenNewData()) {\n return null;\n }\n var result = {};\n _.traverseNodesWithKey(this.rootNode.childrenAfterGroup, function (node, key) { return result[key] = node.expanded; });\n return result;\n };\n ClientSideRowModel.prototype.getCopyOfNodesMap = function () {\n return this.nodeManager.getCopyOfNodesMap();\n };\n ClientSideRowModel.prototype.getRowNode = function (id) {\n // although id is typed a string, this could be called by the user, and they could have passed a number\n var idIsGroup = typeof id == 'string' && id.indexOf(RowNode.ID_PREFIX_ROW_GROUP) == 0;\n if (idIsGroup) {\n // only one users complained about getRowNode not working for groups, after years of\n // this working for normal rows. so have done quick implementation. if users complain\n // about performance, then GroupStage should store / manage created groups in a map,\n // which is a chunk of work.\n var res_1 = undefined;\n this.forEachNode(function (node) {\n if (node.id === id) {\n res_1 = node;\n }\n });\n return res_1;\n }\n return this.nodeManager.getRowNode(id);\n };\n // rows: the rows to put into the model\n ClientSideRowModel.prototype.setRowData = function (rowData) {\n // no need to invalidate cache, as the cache is stored on the rowNode,\n // so new rowNodes means the cache is wiped anyway.\n // remember group state, so we can expand groups that should be expanded\n var groupState = this.getGroupState();\n this.nodeManager.setRowData(rowData);\n // - clears selection\n this.selectionService.reset();\n // - updates filters\n this.filterManager.onNewRowsLoaded('rowDataUpdated');\n // this event kicks off:\n // - shows 'no rows' overlay if needed\n var rowDataChangedEvent = {\n type: Events.EVENT_ROW_DATA_CHANGED,\n api: this.gridApi,\n columnApi: this.columnApi\n };\n this.eventService.dispatchEvent(rowDataChangedEvent);\n this.refreshModel({\n step: exports.ClientSideRowModelSteps.EVERYTHING,\n groupState: groupState,\n newData: true\n });\n };\n ClientSideRowModel.prototype.batchUpdateRowData = function (rowDataTransaction, callback) {\n var _this = this;\n if (this.applyAsyncTransactionsTimeout == null) {\n this.rowDataTransactionBatch = [];\n var waitMillis = this.gridOptionsWrapper.getAsyncTransactionWaitMillis();\n this.applyAsyncTransactionsTimeout = window.setTimeout(function () {\n _this.executeBatchUpdateRowData();\n }, waitMillis);\n }\n this.rowDataTransactionBatch.push({ rowDataTransaction: rowDataTransaction, callback: callback });\n };\n ClientSideRowModel.prototype.flushAsyncTransactions = function () {\n if (this.applyAsyncTransactionsTimeout != null) {\n clearTimeout(this.applyAsyncTransactionsTimeout);\n this.executeBatchUpdateRowData();\n }\n };\n ClientSideRowModel.prototype.executeBatchUpdateRowData = function () {\n var _this = this;\n this.valueCache.onDataChanged();\n var callbackFuncsBound = [];\n var rowNodeTrans = [];\n // The rowGroup stage uses rowNodeOrder if order was provided. if we didn't pass 'true' to\n // commonUpdateRowData, using addIndex would have no effect when grouping.\n var forceRowNodeOrder = false;\n if (this.rowDataTransactionBatch) {\n this.rowDataTransactionBatch.forEach(function (tranItem) {\n var rowNodeTran = _this.nodeManager.updateRowData(tranItem.rowDataTransaction, undefined);\n rowNodeTrans.push(rowNodeTran);\n if (tranItem.callback) {\n callbackFuncsBound.push(tranItem.callback.bind(null, rowNodeTran));\n }\n if (typeof tranItem.rowDataTransaction.addIndex === 'number') {\n forceRowNodeOrder = true;\n }\n });\n }\n this.commonUpdateRowData(rowNodeTrans, undefined, forceRowNodeOrder);\n // do callbacks in next VM turn so it's async\n if (callbackFuncsBound.length > 0) {\n window.setTimeout(function () {\n callbackFuncsBound.forEach(function (func) { return func(); });\n }, 0);\n }\n if (rowNodeTrans.length > 0) {\n var event_1 = {\n api: this.gridOptionsWrapper.getApi(),\n columnApi: this.gridOptionsWrapper.getColumnApi(),\n type: Events.EVENT_ASYNC_TRANSACTIONS_FLUSHED,\n results: rowNodeTrans\n };\n this.eventService.dispatchEvent(event_1);\n }\n this.rowDataTransactionBatch = null;\n this.applyAsyncTransactionsTimeout = undefined;\n };\n ClientSideRowModel.prototype.updateRowData = function (rowDataTran, rowNodeOrder) {\n this.valueCache.onDataChanged();\n var rowNodeTran = this.nodeManager.updateRowData(rowDataTran, rowNodeOrder);\n // if doing immutableData, addIndex is never present. however if doing standard transaction, and user\n // provided addIndex, then this is used in updateRowData. However if doing Enterprise, then the rowGroup\n // stage also uses the\n var forceRowNodeOrder = typeof rowDataTran.addIndex === 'number';\n this.commonUpdateRowData([rowNodeTran], rowNodeOrder, forceRowNodeOrder);\n return rowNodeTran;\n };\n ClientSideRowModel.prototype.createRowNodeOrder = function () {\n var suppressSortOrder = this.gridOptionsWrapper.isSuppressMaintainUnsortedOrder();\n if (suppressSortOrder) {\n return;\n }\n var orderMap = {};\n if (this.rootNode && this.rootNode.allLeafChildren) {\n for (var index = 0; index < this.rootNode.allLeafChildren.length; index++) {\n var node = this.rootNode.allLeafChildren[index];\n orderMap[node.id] = index;\n }\n }\n return orderMap;\n };\n // common to updateRowData and batchUpdateRowData\n ClientSideRowModel.prototype.commonUpdateRowData = function (rowNodeTrans, rowNodeOrder, forceRowNodeOrder) {\n var animate = !this.gridOptionsWrapper.isSuppressAnimationFrame();\n if (forceRowNodeOrder) {\n rowNodeOrder = this.createRowNodeOrder();\n }\n this.refreshModel({\n step: exports.ClientSideRowModelSteps.EVERYTHING,\n rowNodeTransactions: rowNodeTrans,\n rowNodeOrder: rowNodeOrder,\n keepRenderedRows: true,\n keepEditingRows: true,\n animate: animate\n });\n var event = {\n type: Events.EVENT_ROW_DATA_UPDATED,\n api: this.gridApi,\n columnApi: this.columnApi\n };\n this.eventService.dispatchEvent(event);\n };\n ClientSideRowModel.prototype.doRowsToDisplay = function () {\n this.rowsToDisplay = this.flattenStage.execute({ rowNode: this.rootNode });\n };\n ClientSideRowModel.prototype.onRowHeightChanged = function () {\n this.refreshModel({ step: exports.ClientSideRowModelSteps.MAP, keepRenderedRows: true, keepEditingRows: true });\n };\n ClientSideRowModel.prototype.resetRowHeights = function () {\n var atLeastOne = false;\n this.forEachNode(function (rowNode) {\n rowNode.setRowHeight(rowNode.rowHeight, true);\n // we keep the height each row is at, however we set estimated=true rather than clear the height.\n // this means the grid will not reset the row heights back to defaults, rather it will re-calc\n // the height for each row as the row is displayed. otherwise the scroll will jump when heights are reset.\n var detailNode = rowNode.detailNode;\n if (detailNode) {\n detailNode.setRowHeight(detailNode.rowHeight, true);\n }\n atLeastOne = true;\n });\n if (atLeastOne) {\n this.onRowHeightChanged();\n }\n };\n __decorate$2n([\n Autowired('columnModel')\n ], ClientSideRowModel.prototype, \"columnModel\", void 0);\n __decorate$2n([\n Autowired('selectionService')\n ], ClientSideRowModel.prototype, \"selectionService\", void 0);\n __decorate$2n([\n Autowired('filterManager')\n ], ClientSideRowModel.prototype, \"filterManager\", void 0);\n __decorate$2n([\n Autowired('valueCache')\n ], ClientSideRowModel.prototype, \"valueCache\", void 0);\n __decorate$2n([\n Autowired('columnApi')\n ], ClientSideRowModel.prototype, \"columnApi\", void 0);\n __decorate$2n([\n Autowired('gridApi')\n ], ClientSideRowModel.prototype, \"gridApi\", void 0);\n __decorate$2n([\n Autowired('animationFrameService')\n ], ClientSideRowModel.prototype, \"animationFrameService\", void 0);\n __decorate$2n([\n Autowired('beans')\n ], ClientSideRowModel.prototype, \"beans\", void 0);\n __decorate$2n([\n Autowired('filterStage')\n ], ClientSideRowModel.prototype, \"filterStage\", void 0);\n __decorate$2n([\n Autowired('sortStage')\n ], ClientSideRowModel.prototype, \"sortStage\", void 0);\n __decorate$2n([\n Autowired('flattenStage')\n ], ClientSideRowModel.prototype, \"flattenStage\", void 0);\n __decorate$2n([\n Optional('groupStage')\n ], ClientSideRowModel.prototype, \"groupStage\", void 0);\n __decorate$2n([\n Optional('aggregationStage')\n ], ClientSideRowModel.prototype, \"aggregationStage\", void 0);\n __decorate$2n([\n Optional('pivotStage')\n ], ClientSideRowModel.prototype, \"pivotStage\", void 0);\n __decorate$2n([\n Optional('filterAggregatesStage')\n ], ClientSideRowModel.prototype, \"filterAggregatesStage\", void 0);\n __decorate$2n([\n PostConstruct\n ], ClientSideRowModel.prototype, \"init\", null);\n ClientSideRowModel = __decorate$2n([\n Bean('rowModel')\n ], ClientSideRowModel);\n return ClientSideRowModel;\n}(BeanStub));\n\nvar __extends$2H = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$2o = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar FilterStage = /** @class */ (function (_super) {\n __extends$2H(FilterStage, _super);\n function FilterStage() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FilterStage.prototype.execute = function (params) {\n var changedPath = params.changedPath;\n this.filterService.filter(changedPath);\n };\n __decorate$2o([\n Autowired('filterService')\n ], FilterStage.prototype, \"filterService\", void 0);\n FilterStage = __decorate$2o([\n Bean('filterStage')\n ], FilterStage);\n return FilterStage;\n}(BeanStub));\n\nvar __extends$2I = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$2p = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar SortStage = /** @class */ (function (_super) {\n __extends$2I(SortStage, _super);\n function SortStage() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SortStage.prototype.execute = function (params) {\n var sortOptions = this.sortController.getSortOptions();\n var sortActive = _.exists(sortOptions) && sortOptions.length > 0;\n var deltaSort = sortActive\n && _.exists(params.rowNodeTransactions)\n // in time we can remove this check, so that delta sort is always\n // on if transactions are present. it's off for now so that we can\n // selectively turn it on and test it with some select users before\n // rolling out to everyone.\n && this.gridOptionsWrapper.isDeltaSort();\n var sortContainsGroupColumns = sortOptions.some(function (opt) { return !!opt.column.getColDef().showRowGroup; });\n this.sortService.sort(sortOptions, sortActive, deltaSort, params.rowNodeTransactions, params.changedPath, sortContainsGroupColumns);\n };\n __decorate$2p([\n Autowired('sortService')\n ], SortStage.prototype, \"sortService\", void 0);\n __decorate$2p([\n Autowired('sortController')\n ], SortStage.prototype, \"sortController\", void 0);\n __decorate$2p([\n Autowired('columnModel')\n ], SortStage.prototype, \"columnModel\", void 0);\n SortStage = __decorate$2p([\n Bean('sortStage')\n ], SortStage);\n return SortStage;\n}(BeanStub));\n\nvar __extends$2J = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$2q = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar FlattenStage = /** @class */ (function (_super) {\n __extends$2J(FlattenStage, _super);\n function FlattenStage() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FlattenStage.prototype.execute = function (params) {\n var rootNode = params.rowNode;\n // even if not doing grouping, we do the mapping, as the client might\n // of passed in data that already has a grouping in it somewhere\n var result = [];\n // putting value into a wrapper so it's passed by reference\n var nextRowTop = { value: 0 };\n var skipLeafNodes = this.columnModel.isPivotMode();\n // if we are reducing, and not grouping, then we want to show the root node, as that\n // is where the pivot values are\n var showRootNode = skipLeafNodes && rootNode.leafGroup;\n var topList = showRootNode ? [rootNode] : rootNode.childrenAfterSort;\n this.recursivelyAddToRowsToDisplay(topList, result, nextRowTop, skipLeafNodes, 0);\n // we do not want the footer total if the gris is empty\n var atLeastOneRowPresent = result.length > 0;\n var includeGroupTotalFooter = !showRootNode\n // don't show total footer when showRootNode is true (i.e. in pivot mode and no groups)\n && atLeastOneRowPresent\n && this.gridOptionsWrapper.isGroupIncludeTotalFooter();\n if (includeGroupTotalFooter) {\n this.ensureFooterNodeExists(rootNode);\n this.addRowNodeToRowsToDisplay(rootNode.sibling, result, nextRowTop, 0);\n }\n return result;\n };\n FlattenStage.prototype.recursivelyAddToRowsToDisplay = function (rowsToFlatten, result, nextRowTop, skipLeafNodes, uiLevel) {\n if (_.missingOrEmpty(rowsToFlatten)) {\n return;\n }\n var hideOpenParents = this.gridOptionsWrapper.isGroupHideOpenParents();\n // these two are mutually exclusive, so if first set, we don't set the second\n var groupRemoveSingleChildren = this.gridOptionsWrapper.isGroupRemoveSingleChildren();\n var groupRemoveLowestSingleChildren = !groupRemoveSingleChildren && this.gridOptionsWrapper.isGroupRemoveLowestSingleChildren();\n for (var i = 0; i < rowsToFlatten.length; i++) {\n var rowNode = rowsToFlatten[i];\n // check all these cases, for working out if this row should be included in the final mapped list\n var isParent = rowNode.hasChildren();\n var isSkippedLeafNode = skipLeafNodes && !isParent;\n var isRemovedSingleChildrenGroup = groupRemoveSingleChildren &&\n isParent &&\n rowNode.childrenAfterGroup.length === 1;\n var isRemovedLowestSingleChildrenGroup = groupRemoveLowestSingleChildren &&\n isParent &&\n rowNode.leafGroup &&\n rowNode.childrenAfterGroup.length === 1;\n // hide open parents means when group is open, we don't show it. we also need to make sure the\n // group is expandable in the first place (as leaf groups are not expandable if pivot mode is on).\n // the UI will never allow expanding leaf groups, however the user might via the API (or menu option 'expand all')\n var neverAllowToExpand = skipLeafNodes && rowNode.leafGroup;\n var isHiddenOpenParent = hideOpenParents && rowNode.expanded && !rowNode.master && (!neverAllowToExpand);\n var thisRowShouldBeRendered = !isSkippedLeafNode && !isHiddenOpenParent &&\n !isRemovedSingleChildrenGroup && !isRemovedLowestSingleChildrenGroup;\n if (thisRowShouldBeRendered) {\n this.addRowNodeToRowsToDisplay(rowNode, result, nextRowTop, uiLevel);\n }\n // if we are pivoting, we never map below the leaf group\n if (skipLeafNodes && rowNode.leafGroup) {\n continue;\n }\n if (isParent) {\n var excludedParent = isRemovedSingleChildrenGroup || isRemovedLowestSingleChildrenGroup;\n // we traverse the group if it is expended, however we always traverse if the parent node\n // was removed (as the group will never be opened if it is not displayed, we show the children instead)\n if (rowNode.expanded || excludedParent) {\n // if the parent was excluded, then ui level is that of the parent\n var uiLevelForChildren = excludedParent ? uiLevel : uiLevel + 1;\n this.recursivelyAddToRowsToDisplay(rowNode.childrenAfterSort, result, nextRowTop, skipLeafNodes, uiLevelForChildren);\n // put a footer in if user is looking for it\n if (this.gridOptionsWrapper.isGroupIncludeFooter()) {\n this.ensureFooterNodeExists(rowNode);\n this.addRowNodeToRowsToDisplay(rowNode.sibling, result, nextRowTop, uiLevel);\n }\n }\n }\n else if (rowNode.master && rowNode.expanded) {\n var detailNode = this.createDetailNode(rowNode);\n this.addRowNodeToRowsToDisplay(detailNode, result, nextRowTop, uiLevel);\n }\n }\n };\n // duplicated method, it's also in floatingRowModel\n FlattenStage.prototype.addRowNodeToRowsToDisplay = function (rowNode, result, nextRowTop, uiLevel) {\n var isGroupMultiAutoColumn = this.gridOptionsWrapper.isGroupMultiAutoColumn();\n result.push(rowNode);\n rowNode.setUiLevel(isGroupMultiAutoColumn ? 0 : uiLevel);\n };\n FlattenStage.prototype.ensureFooterNodeExists = function (groupNode) {\n // only create footer node once, otherwise we have daemons and\n // the animate screws up with the daemons hanging around\n if (_.exists(groupNode.sibling)) {\n return;\n }\n var footerNode = new RowNode(this.beans);\n Object.keys(groupNode).forEach(function (key) {\n footerNode[key] = groupNode[key];\n });\n footerNode.footer = true;\n footerNode.setRowTop(null);\n footerNode.setRowIndex(null);\n // manually set oldRowTop to null so we discard any\n // previous information about its position.\n footerNode.oldRowTop = null;\n if (_.exists(footerNode.id)) {\n footerNode.id = 'rowGroupFooter_' + footerNode.id;\n }\n // get both header and footer to reference each other as siblings. this is never undone,\n // only overwritten. so if a group is expanded, then contracted, it will have a ghost\n // sibling - but that's fine, as we can ignore this if the header is contracted.\n footerNode.sibling = groupNode;\n groupNode.sibling = footerNode;\n };\n FlattenStage.prototype.createDetailNode = function (masterNode) {\n if (_.exists(masterNode.detailNode)) {\n return masterNode.detailNode;\n }\n var detailNode = new RowNode(this.beans);\n detailNode.detail = true;\n detailNode.selectable = false;\n detailNode.parent = masterNode;\n if (_.exists(masterNode.id)) {\n detailNode.id = 'detail_' + masterNode.id;\n }\n detailNode.data = masterNode.data;\n detailNode.level = masterNode.level + 1;\n masterNode.detailNode = detailNode;\n return detailNode;\n };\n __decorate$2q([\n Autowired('columnModel')\n ], FlattenStage.prototype, \"columnModel\", void 0);\n __decorate$2q([\n Autowired('beans')\n ], FlattenStage.prototype, \"beans\", void 0);\n FlattenStage = __decorate$2q([\n Bean('flattenStage')\n ], FlattenStage);\n return FlattenStage;\n}(BeanStub));\n\nvar __extends$2K = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$2r = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar SortService = /** @class */ (function (_super) {\n __extends$2K(SortService, _super);\n function SortService() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SortService.prototype.init = function () {\n this.postSortFunc = this.gridOptionsWrapper.getPostSortFunc();\n };\n SortService.prototype.sort = function (sortOptions, sortActive, useDeltaSort, rowNodeTransactions, changedPath, sortContainsGroupColumns) {\n var _this = this;\n var groupMaintainOrder = this.gridOptionsWrapper.isGroupMaintainOrder();\n var groupColumnsPresent = this.columnModel.getAllGridColumns().some(function (c) { return c.isRowGroupActive(); });\n var allDirtyNodes = {};\n if (useDeltaSort && rowNodeTransactions) {\n allDirtyNodes = this.calculateDirtyNodes(rowNodeTransactions);\n }\n var isPivotMode = this.columnModel.isPivotMode();\n var callback = function (rowNode) {\n // we clear out the 'pull down open parents' first, as the values mix up the sorting\n _this.pullDownGroupDataForHideOpenParents(rowNode.childrenAfterAggFilter, true);\n // It's pointless to sort rows which aren't being displayed. in pivot mode we don't need to sort the leaf group children.\n var skipSortingPivotLeafs = isPivotMode && rowNode.leafGroup;\n // Javascript sort is non deterministic when all the array items are equals, ie Comparator always returns 0,\n // so to ensure the array keeps its order, add an additional sorting condition manually, in this case we\n // are going to inspect the original array position. This is what sortedRowNodes is for.\n var skipSortingGroups = groupMaintainOrder && groupColumnsPresent && !rowNode.leafGroup && !sortContainsGroupColumns;\n if (!sortActive || skipSortingGroups || skipSortingPivotLeafs) {\n // when 'groupMaintainOrder' is enabled we skip sorting groups unless we are sorting on group columns\n var childrenToBeSorted = rowNode.childrenAfterAggFilter.slice(0);\n if (groupMaintainOrder && rowNode.childrenAfterSort) {\n var indexedOrders_1 = rowNode.childrenAfterSort.reduce(function (acc, row, idx) {\n acc[row.id] = idx;\n return acc;\n }, {});\n childrenToBeSorted.sort(function (row1, row2) { return (indexedOrders_1[row1.id] || 0) - (indexedOrders_1[row2.id] || 0); });\n }\n rowNode.childrenAfterSort = childrenToBeSorted;\n }\n else if (useDeltaSort) {\n rowNode.childrenAfterSort = _this.doDeltaSort(rowNode, allDirtyNodes, changedPath, sortOptions);\n }\n else {\n rowNode.childrenAfterSort = _this.rowNodeSorter.doFullSort(rowNode.childrenAfterAggFilter, sortOptions);\n }\n if (rowNode.sibling) {\n rowNode.sibling.childrenAfterSort = rowNode.childrenAfterSort;\n }\n _this.updateChildIndexes(rowNode);\n if (_this.postSortFunc) {\n var params = { nodes: rowNode.childrenAfterSort };\n _this.postSortFunc(params);\n }\n };\n if (changedPath) {\n changedPath.forEachChangedNodeDepthFirst(callback);\n }\n this.updateGroupDataForHideOpenParents(changedPath);\n };\n SortService.prototype.calculateDirtyNodes = function (rowNodeTransactions) {\n var dirtyNodes = {};\n var addNodesFunc = function (rowNodes) {\n if (rowNodes) {\n rowNodes.forEach(function (rowNode) { return dirtyNodes[rowNode.id] = true; });\n }\n };\n // all leaf level nodes in the transaction were impacted\n if (rowNodeTransactions) {\n rowNodeTransactions.forEach(function (tran) {\n addNodesFunc(tran.add);\n addNodesFunc(tran.update);\n addNodesFunc(tran.remove);\n });\n }\n return dirtyNodes;\n };\n SortService.prototype.doDeltaSort = function (rowNode, allTouchedNodes, changedPath, sortOptions) {\n var _this = this;\n var unsortedRows = rowNode.childrenAfterAggFilter;\n var oldSortedRows = rowNode.childrenAfterSort;\n if (!oldSortedRows) {\n return this.rowNodeSorter.doFullSort(unsortedRows, sortOptions);\n }\n var untouchedRowsMap = {};\n var touchedRows = [];\n unsortedRows.forEach(function (row) {\n if (allTouchedNodes[row.id] || !changedPath.canSkip(row)) {\n touchedRows.push(row);\n }\n else {\n untouchedRowsMap[row.id] = true;\n }\n });\n var sortedUntouchedRows = oldSortedRows.filter(function (child) { return untouchedRowsMap[child.id]; });\n var mapNodeToSortedNode = function (rowNode, pos) { return ({ currentPos: pos, rowNode: rowNode }); };\n var sortedChangedRows = touchedRows\n .map(mapNodeToSortedNode)\n .sort(function (a, b) { return _this.rowNodeSorter.compareRowNodes(sortOptions, a, b); });\n return this.mergeSortedArrays(sortOptions, sortedChangedRows, sortedUntouchedRows.map(mapNodeToSortedNode)).map(function (_a) {\n var rowNode = _a.rowNode;\n return rowNode;\n });\n };\n // Merge two sorted arrays into each other\n SortService.prototype.mergeSortedArrays = function (sortOptions, arr1, arr2) {\n var res = [];\n var i = 0;\n var j = 0;\n // Traverse both array, adding them in order\n while (i < arr1.length && j < arr2.length) {\n // Check if current element of first\n // array is smaller than current element\n // of second array. If yes, store first\n // array element and increment first array\n // index. Otherwise do same with second array\n var compareResult = this.rowNodeSorter.compareRowNodes(sortOptions, arr1[i], arr2[j]);\n if (compareResult < 0) {\n res.push(arr1[i++]);\n }\n else {\n res.push(arr2[j++]);\n }\n }\n // add remaining from arr1\n while (i < arr1.length) {\n res.push(arr1[i++]);\n }\n // add remaining from arr2\n while (j < arr2.length) {\n res.push(arr2[j++]);\n }\n return res;\n };\n SortService.prototype.updateChildIndexes = function (rowNode) {\n if (_.missing(rowNode.childrenAfterSort)) {\n return;\n }\n var listToSort = rowNode.childrenAfterSort;\n for (var i = 0; i < listToSort.length; i++) {\n var child = listToSort[i];\n var firstChild = i === 0;\n var lastChild = i === rowNode.childrenAfterSort.length - 1;\n child.setFirstChild(firstChild);\n child.setLastChild(lastChild);\n child.setChildIndex(i);\n }\n };\n SortService.prototype.updateGroupDataForHideOpenParents = function (changedPath) {\n var _this = this;\n if (!this.gridOptionsWrapper.isGroupHideOpenParents()) {\n return;\n }\n if (this.gridOptionsWrapper.isTreeData()) {\n var msg_1 = \"AG Grid: The property hideOpenParents dose not work with Tree Data. This is because Tree Data has values at the group level, it doesn't make sense to hide them (as opposed to Row Grouping, which only has Aggregated Values at the group level).\";\n _.doOnce(function () { return console.warn(msg_1); }, 'sortService.hideOpenParentsWithTreeData');\n return false;\n }\n // recurse breadth first over group nodes after sort to 'pull down' group data to child groups\n var callback = function (rowNode) {\n _this.pullDownGroupDataForHideOpenParents(rowNode.childrenAfterSort, false);\n rowNode.childrenAfterSort.forEach(function (child) {\n if (child.hasChildren()) {\n callback(child);\n }\n });\n };\n if (changedPath) {\n changedPath.executeFromRootNode(function (rowNode) { return callback(rowNode); });\n }\n };\n SortService.prototype.pullDownGroupDataForHideOpenParents = function (rowNodes, clearOperation) {\n var _this = this;\n if (!this.gridOptionsWrapper.isGroupHideOpenParents() || _.missing(rowNodes)) {\n return;\n }\n rowNodes.forEach(function (childRowNode) {\n var groupDisplayCols = _this.columnModel.getGroupDisplayColumns();\n groupDisplayCols.forEach(function (groupDisplayCol) {\n var showRowGroup = groupDisplayCol.getColDef().showRowGroup;\n if (typeof showRowGroup !== 'string') {\n console.error('AG Grid: groupHideOpenParents only works when specifying specific columns for colDef.showRowGroup');\n return;\n }\n var displayingGroupKey = showRowGroup;\n var rowGroupColumn = _this.columnModel.getPrimaryColumn(displayingGroupKey);\n var thisRowNodeMatches = rowGroupColumn === childRowNode.rowGroupColumn;\n if (thisRowNodeMatches) {\n return;\n }\n if (clearOperation) {\n // if doing a clear operation, we clear down the value for every possible group column\n childRowNode.setGroupValue(groupDisplayCol.getId(), undefined);\n }\n else {\n // if doing a set operation, we set only where the pull down is to occur\n var parentToStealFrom = childRowNode.getFirstChildOfFirstChild(rowGroupColumn);\n if (parentToStealFrom) {\n childRowNode.setGroupValue(groupDisplayCol.getId(), parentToStealFrom.key);\n }\n }\n });\n });\n };\n __decorate$2r([\n Autowired('columnModel')\n ], SortService.prototype, \"columnModel\", void 0);\n __decorate$2r([\n Autowired('rowNodeSorter')\n ], SortService.prototype, \"rowNodeSorter\", void 0);\n __decorate$2r([\n PostConstruct\n ], SortService.prototype, \"init\", null);\n SortService = __decorate$2r([\n Bean('sortService')\n ], SortService);\n return SortService;\n}(BeanStub));\n\nvar __extends$2L = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$2s = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar FilterService = /** @class */ (function (_super) {\n __extends$2L(FilterService, _super);\n function FilterService() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FilterService.prototype.filter = function (changedPath) {\n var filterActive = this.filterManager.isColumnFilterPresent()\n || this.filterManager.isQuickFilterPresent()\n || this.gridOptionsWrapper.isExternalFilterPresent();\n this.filterNodes(filterActive, changedPath);\n };\n FilterService.prototype.filterNodes = function (filterActive, changedPath) {\n var _this = this;\n var filterCallback = function (rowNode, includeChildNodes) {\n // recursively get all children that are groups to also filter\n if (rowNode.hasChildren()) {\n // result of filter for this node. when filtering tree data, includeChildNodes = true when parent passes\n if (filterActive && !includeChildNodes) {\n rowNode.childrenAfterFilter = rowNode.childrenAfterGroup.filter(function (childNode) {\n // a group is included in the result if it has any children of it's own.\n // by this stage, the child groups are already filtered\n var passBecauseChildren = childNode.childrenAfterFilter && childNode.childrenAfterFilter.length > 0;\n // both leaf level nodes and tree data nodes have data. these get added if\n // the data passes the filter\n var passBecauseDataPasses = childNode.data\n && _this.filterManager.doesRowPassFilter({ rowNode: childNode });\n // note - tree data nodes pass either if a) they pass themselves or b) any children of that node pass\n return passBecauseChildren || passBecauseDataPasses;\n });\n }\n else {\n // if not filtering, the result is the original list\n rowNode.childrenAfterFilter = rowNode.childrenAfterGroup;\n }\n }\n else {\n rowNode.childrenAfterFilter = rowNode.childrenAfterGroup;\n }\n if (rowNode.sibling) {\n rowNode.sibling.childrenAfterFilter = rowNode.childrenAfterFilter;\n }\n };\n if (this.doingTreeDataFiltering()) {\n var treeDataDepthFirstFilter_1 = function (rowNode, alreadyFoundInParent) {\n // tree data filter traverses the hierarchy depth first and includes child nodes if parent passes\n // filter, and parent nodes will be include if any children exist.\n if (rowNode.childrenAfterGroup) {\n for (var i = 0; i < rowNode.childrenAfterGroup.length; i++) {\n var childNode = rowNode.childrenAfterGroup[i];\n // first check if current node passes filter before invoking child nodes\n var foundInParent = alreadyFoundInParent\n || _this.filterManager.doesRowPassFilter({ rowNode: childNode });\n if (childNode.childrenAfterGroup) {\n treeDataDepthFirstFilter_1(rowNode.childrenAfterGroup[i], foundInParent);\n }\n else {\n filterCallback(childNode, foundInParent);\n }\n }\n }\n filterCallback(rowNode, alreadyFoundInParent);\n };\n var treeDataFilterCallback = function (rowNode) { return treeDataDepthFirstFilter_1(rowNode, false); };\n changedPath.executeFromRootNode(treeDataFilterCallback);\n }\n else {\n var defaultFilterCallback = function (rowNode) { return filterCallback(rowNode, false); };\n changedPath.forEachChangedNodeDepthFirst(defaultFilterCallback, true);\n }\n };\n FilterService.prototype.doingTreeDataFiltering = function () {\n return this.gridOptionsWrapper.isTreeData() && !this.gridOptionsWrapper.isExcludeChildrenWhenTreeDataFiltering();\n };\n __decorate$2s([\n Autowired('filterManager')\n ], FilterService.prototype, \"filterManager\", void 0);\n FilterService = __decorate$2s([\n Bean(\"filterService\")\n ], FilterService);\n return FilterService;\n}(BeanStub));\n\nvar __extends$2M = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$2t = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __read$j = (undefined && undefined.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar ImmutableService = /** @class */ (function (_super) {\n __extends$2M(ImmutableService, _super);\n function ImmutableService() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ImmutableService.prototype.postConstruct = function () {\n if (this.rowModel.getType() === Constants.ROW_MODEL_TYPE_CLIENT_SIDE) {\n this.clientSideRowModel = this.rowModel;\n }\n };\n ImmutableService.prototype.isActive = function () {\n return this.gridOptionsWrapper.isImmutableData();\n };\n ImmutableService.prototype.setRowData = function (rowData) {\n var transactionAndMap = this.createTransactionForRowData(rowData);\n if (!transactionAndMap) {\n return;\n }\n var _a = __read$j(transactionAndMap, 2), transaction = _a[0], orderIdMap = _a[1];\n var nodeTransaction = this.clientSideRowModel.updateRowData(transaction, orderIdMap);\n // need to force updating of full width rows - note this wouldn't be necessary the full width cell comp listened\n // to the data change event on the row node and refreshed itself.\n if (nodeTransaction) {\n this.rowRenderer.refreshFullWidthRows(nodeTransaction.update);\n }\n // - shows 'no rows' overlay if needed\n var rowDataChangedEvent = {\n type: Events.EVENT_ROW_DATA_CHANGED,\n api: this.gridApi,\n columnApi: this.columnApi\n };\n this.eventService.dispatchEvent(rowDataChangedEvent);\n };\n // converts the setRowData() command to a transaction\n ImmutableService.prototype.createTransactionForRowData = function (rowData) {\n if (_.missing(this.clientSideRowModel)) {\n console.error('AG Grid: ImmutableService only works with ClientSideRowModel');\n return;\n }\n var getRowIdFunc = this.gridOptionsWrapper.getRowIdFunc();\n if (getRowIdFunc == null) {\n console.error('AG Grid: ImmutableService requires getRowId() callback to be implemented, your row data needs IDs!');\n return;\n }\n // convert the data into a transaction object by working out adds, removes and updates\n var transaction = {\n remove: [],\n update: [],\n add: []\n };\n var existingNodesMap = this.clientSideRowModel.getCopyOfNodesMap();\n var suppressSortOrder = this.gridOptionsWrapper.isSuppressMaintainUnsortedOrder();\n var orderMap = suppressSortOrder ? undefined : {};\n if (_.exists(rowData)) {\n // split all the new data in the following:\n // if new, push to 'add'\n // if update, push to 'update'\n // if not changed, do not include in the transaction\n rowData.forEach(function (data, index) {\n var id = getRowIdFunc({ data: data, level: 0 });\n var existingNode = existingNodesMap[id];\n if (orderMap) {\n orderMap[id] = index;\n }\n if (existingNode) {\n var dataHasChanged = existingNode.data !== data;\n if (dataHasChanged) {\n transaction.update.push(data);\n }\n // otherwise, if data not changed, we just don't include it anywhere, as it's not a delta\n // remove from list, so we know the item is not to be removed\n existingNodesMap[id] = undefined;\n }\n else {\n transaction.add.push(data);\n }\n });\n }\n // at this point, all rows that are left, should be removed\n _.iterateObject(existingNodesMap, function (id, rowNode) {\n if (rowNode) {\n transaction.remove.push(rowNode.data);\n }\n });\n return [transaction, orderMap];\n };\n __decorate$2t([\n Autowired('rowModel')\n ], ImmutableService.prototype, \"rowModel\", void 0);\n __decorate$2t([\n Autowired('rowRenderer')\n ], ImmutableService.prototype, \"rowRenderer\", void 0);\n __decorate$2t([\n Autowired('columnApi')\n ], ImmutableService.prototype, \"columnApi\", void 0);\n __decorate$2t([\n Autowired('gridApi')\n ], ImmutableService.prototype, \"gridApi\", void 0);\n __decorate$2t([\n PostConstruct\n ], ImmutableService.prototype, \"postConstruct\", null);\n ImmutableService = __decorate$2t([\n Bean('immutableService')\n ], ImmutableService);\n return ImmutableService;\n}(BeanStub));\n\nvar ClientSideRowModelModule = {\n moduleName: exports.ModuleNames.ClientSideRowModelModule,\n beans: [FilterStage, SortStage, FlattenStage, SortService, FilterService, ImmutableService],\n rowModels: { clientSide: ClientSideRowModel }\n};\n\nvar __extends$2N = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$2u = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar InfiniteBlock = /** @class */ (function (_super) {\n __extends$2N(InfiniteBlock, _super);\n function InfiniteBlock(id, parentCache, params) {\n var _this = _super.call(this, id) || this;\n _this.parentCache = parentCache;\n _this.params = params;\n // we don't need to calculate these now, as the inputs don't change,\n // however it makes the code easier to read if we work them out up front\n _this.startRow = id * params.blockSize;\n _this.endRow = _this.startRow + params.blockSize;\n return _this;\n }\n InfiniteBlock.prototype.postConstruct = function () {\n this.createRowNodes();\n };\n InfiniteBlock.prototype.getBlockStateJson = function () {\n return {\n id: '' + this.getId(),\n state: {\n blockNumber: this.getId(),\n startRow: this.getStartRow(),\n endRow: this.getEndRow(),\n pageStatus: this.getState()\n }\n };\n };\n InfiniteBlock.prototype.setDataAndId = function (rowNode, data, index) {\n // if there's no id and the rowNode was rendered before, it means this\n // was a placeholder rowNode and should not be recycled. Setting\n // `alreadyRendered` to `false` forces the rowRenderer to flush it.\n if (!rowNode.id && rowNode.alreadyRendered) {\n rowNode.alreadyRendered = false;\n }\n if (_.exists(data)) {\n // this means if the user is not providing id's we just use the\n // index for the row. this will allow selection to work (that is based\n // on index) as long user is not inserting or deleting rows,\n // or wanting to keep selection between server side sorting or filtering\n rowNode.setDataAndId(data, index.toString());\n }\n else {\n rowNode.setDataAndId(undefined, undefined);\n }\n };\n InfiniteBlock.prototype.loadFromDatasource = function () {\n var _this = this;\n var params = this.createLoadParams();\n if (_.missing(this.params.datasource.getRows)) {\n console.warn(\"AG Grid: datasource is missing getRows method\");\n return;\n }\n // put in timeout, to force result to be async\n window.setTimeout(function () {\n _this.params.datasource.getRows(params);\n }, 0);\n };\n InfiniteBlock.prototype.processServerFail = function () {\n // todo - this method has better handling in SSRM\n };\n InfiniteBlock.prototype.createLoadParams = function () {\n // PROBLEM . . . . when the user sets sort via colDef.sort, then this code\n // is executing before the sort is set up, so server is not getting the sort\n // model. need to change with regards order - so the server side request is\n // AFTER thus it gets the right sort model.\n var params = {\n startRow: this.getStartRow(),\n endRow: this.getEndRow(),\n successCallback: this.pageLoaded.bind(this, this.getVersion()),\n failCallback: this.pageLoadFailed.bind(this, this.getVersion()),\n sortModel: this.params.sortModel,\n filterModel: this.params.filterModel,\n context: this.gridOptionsWrapper.getContext()\n };\n return params;\n };\n InfiniteBlock.prototype.forEachNode = function (callback, sequence, rowCount) {\n var _this = this;\n this.rowNodes.forEach(function (rowNode, index) {\n var rowIndex = _this.startRow + index;\n if (rowIndex < rowCount) {\n callback(rowNode, sequence.next());\n }\n });\n };\n InfiniteBlock.prototype.getLastAccessed = function () {\n return this.lastAccessed;\n };\n InfiniteBlock.prototype.getRow = function (rowIndex, dontTouchLastAccessed) {\n if (dontTouchLastAccessed === void 0) { dontTouchLastAccessed = false; }\n if (!dontTouchLastAccessed) {\n this.lastAccessed = this.params.lastAccessedSequence.next();\n }\n var localIndex = rowIndex - this.startRow;\n return this.rowNodes[localIndex];\n };\n InfiniteBlock.prototype.getStartRow = function () {\n return this.startRow;\n };\n InfiniteBlock.prototype.getEndRow = function () {\n return this.endRow;\n };\n // creates empty row nodes, data is missing as not loaded yet\n InfiniteBlock.prototype.createRowNodes = function () {\n this.rowNodes = [];\n for (var i = 0; i < this.params.blockSize; i++) {\n var rowIndex = this.startRow + i;\n var rowNode = new RowNode(this.beans);\n rowNode.setRowHeight(this.params.rowHeight);\n rowNode.uiLevel = 0;\n rowNode.setRowIndex(rowIndex);\n rowNode.setRowTop(this.params.rowHeight * rowIndex);\n this.rowNodes.push(rowNode);\n }\n };\n InfiniteBlock.prototype.processServerResult = function (params) {\n var _this = this;\n this.rowNodes.forEach(function (rowNode, index) {\n var data = params.rowData ? params.rowData[index] : undefined;\n _this.setDataAndId(rowNode, data, _this.startRow + index);\n });\n var finalRowCount = params.rowCount != null && params.rowCount >= 0 ? params.rowCount : undefined;\n this.parentCache.pageLoaded(this, finalRowCount);\n };\n InfiniteBlock.prototype.destroyRowNodes = function () {\n this.rowNodes.forEach(function (rowNode) {\n // this is needed, so row render knows to fade out the row, otherwise it\n // sees row top is present, and thinks the row should be shown.\n rowNode.clearRowTopAndRowIndex();\n });\n };\n __decorate$2u([\n Autowired('beans')\n ], InfiniteBlock.prototype, \"beans\", void 0);\n __decorate$2u([\n PostConstruct\n ], InfiniteBlock.prototype, \"postConstruct\", null);\n __decorate$2u([\n PreDestroy\n ], InfiniteBlock.prototype, \"destroyRowNodes\", null);\n return InfiniteBlock;\n}(RowNodeBlock));\n\nvar __extends$2O = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$2v = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __param$a = (undefined && undefined.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nvar InfiniteCache = /** @class */ (function (_super) {\n __extends$2O(InfiniteCache, _super);\n function InfiniteCache(params) {\n var _this = _super.call(this) || this;\n _this.lastRowIndexKnown = false;\n _this.blocks = {};\n _this.blockCount = 0;\n _this.rowCount = params.initialRowCount;\n _this.params = params;\n return _this;\n }\n InfiniteCache.prototype.setBeans = function (loggerFactory) {\n this.logger = loggerFactory.create('InfiniteCache');\n };\n // the rowRenderer will not pass dontCreatePage, meaning when rendering the grid,\n // it will want new pages in the cache as it asks for rows. only when we are inserting /\n // removing rows via the api is dontCreatePage set, where we move rows between the pages.\n InfiniteCache.prototype.getRow = function (rowIndex, dontCreatePage) {\n if (dontCreatePage === void 0) { dontCreatePage = false; }\n var blockId = Math.floor(rowIndex / this.params.blockSize);\n var block = this.blocks[blockId];\n if (!block) {\n if (dontCreatePage) {\n return undefined;\n }\n block = this.createBlock(blockId);\n }\n return block.getRow(rowIndex);\n };\n InfiniteCache.prototype.createBlock = function (blockNumber) {\n var newBlock = this.createBean(new InfiniteBlock(blockNumber, this, this.params));\n this.blocks[newBlock.getId()] = newBlock;\n this.blockCount++;\n this.purgeBlocksIfNeeded(newBlock);\n this.params.rowNodeBlockLoader.addBlock(newBlock);\n return newBlock;\n };\n // we have this on infinite row model only, not server side row model,\n // because for server side, it would leave the children in inconsistent\n // state - eg if a node had children, but after the refresh it had data\n // for a different row, then the children would be with the wrong row node.\n InfiniteCache.prototype.refreshCache = function () {\n var nothingToRefresh = this.blockCount == 0;\n if (nothingToRefresh) {\n this.purgeCache();\n return;\n }\n this.getBlocksInOrder().forEach(function (block) { return block.setStateWaitingToLoad(); });\n this.params.rowNodeBlockLoader.checkBlockToLoad();\n };\n InfiniteCache.prototype.destroyAllBlocks = function () {\n var _this = this;\n this.getBlocksInOrder().forEach(function (block) { return _this.destroyBlock(block); });\n };\n InfiniteCache.prototype.getRowCount = function () {\n return this.rowCount;\n };\n InfiniteCache.prototype.isLastRowIndexKnown = function () {\n return this.lastRowIndexKnown;\n };\n // block calls this, when page loaded\n InfiniteCache.prototype.pageLoaded = function (block, lastRow) {\n // if we are not active, then we ignore all events, otherwise we could end up getting the\n // grid to refresh even though we are no longer the active cache\n if (!this.isAlive()) {\n return;\n }\n this.logger.log(\"onPageLoaded: page = \" + block.getId() + \", lastRow = \" + lastRow);\n this.checkRowCount(block, lastRow);\n // we fire cacheUpdated even if the row count has not changed, as some items need updating even\n // if no new rows to render. for example the pagination panel has '?' as the total rows when loading\n // is underway, which would need to get updated when loading finishes.\n this.onCacheUpdated();\n };\n InfiniteCache.prototype.purgeBlocksIfNeeded = function (blockToExclude) {\n var _this = this;\n // we exclude checking for the page just created, as this has yet to be accessed and hence\n // the lastAccessed stamp will not be updated for the first time yet\n var blocksForPurging = this.getBlocksInOrder().filter(function (b) { return b != blockToExclude; });\n var lastAccessedComparator = function (a, b) { return b.getLastAccessed() - a.getLastAccessed(); };\n blocksForPurging.sort(lastAccessedComparator);\n // we remove (maxBlocksInCache - 1) as we already excluded the 'just created' page.\n // in other words, after the splice operation below, we have taken out the blocks\n // we want to keep, which means we are left with blocks that we can potentially purge\n var maxBlocksProvided = this.params.maxBlocksInCache > 0;\n var blocksToKeep = maxBlocksProvided ? this.params.maxBlocksInCache - 1 : null;\n var emptyBlocksToKeep = InfiniteCache.MAX_EMPTY_BLOCKS_TO_KEEP - 1;\n blocksForPurging.forEach(function (block, index) {\n var purgeBecauseBlockEmpty = block.getState() === InfiniteBlock.STATE_WAITING_TO_LOAD && index >= emptyBlocksToKeep;\n var purgeBecauseCacheFull = maxBlocksProvided ? index >= blocksToKeep : false;\n if (purgeBecauseBlockEmpty || purgeBecauseCacheFull) {\n // if the block currently has rows been displayed, then don't remove it either.\n // this can happen if user has maxBlocks=2, and blockSize=5 (thus 10 max rows in cache)\n // but the screen is showing 20 rows, so at least 4 blocks are needed.\n if (_this.isBlockCurrentlyDisplayed(block)) {\n return;\n }\n // don't want to loose keyboard focus, so keyboard navigation can continue. so keep focused blocks.\n if (_this.isBlockFocused(block)) {\n return;\n }\n // at this point, block is not needed, so burn baby burn\n _this.removeBlockFromCache(block);\n }\n });\n };\n InfiniteCache.prototype.isBlockFocused = function (block) {\n var focusedCell = this.focusService.getFocusCellToUseAfterRefresh();\n if (!focusedCell) {\n return false;\n }\n if (focusedCell.rowPinned != null) {\n return false;\n }\n var blockIndexStart = block.getStartRow();\n var blockIndexEnd = block.getEndRow();\n var hasFocus = focusedCell.rowIndex >= blockIndexStart && focusedCell.rowIndex < blockIndexEnd;\n return hasFocus;\n };\n InfiniteCache.prototype.isBlockCurrentlyDisplayed = function (block) {\n var startIndex = block.getStartRow();\n var endIndex = block.getEndRow() - 1;\n return this.rowRenderer.isRangeInRenderedViewport(startIndex, endIndex);\n };\n InfiniteCache.prototype.removeBlockFromCache = function (blockToRemove) {\n if (!blockToRemove) {\n return;\n }\n this.destroyBlock(blockToRemove);\n // we do not want to remove the 'loaded' event listener, as the\n // concurrent loads count needs to be updated when the load is complete\n // if the purged page is in loading state\n };\n InfiniteCache.prototype.checkRowCount = function (block, lastRow) {\n // if client provided a last row, we always use it, as it could change between server calls\n // if user deleted data and then called refresh on the grid.\n if (typeof lastRow === 'number' && lastRow >= 0) {\n this.rowCount = lastRow;\n this.lastRowIndexKnown = true;\n }\n else if (!this.lastRowIndexKnown) {\n // otherwise, see if we need to add some virtual rows\n var lastRowIndex = (block.getId() + 1) * this.params.blockSize;\n var lastRowIndexPlusOverflow = lastRowIndex + this.params.overflowSize;\n if (this.rowCount < lastRowIndexPlusOverflow) {\n this.rowCount = lastRowIndexPlusOverflow;\n }\n }\n };\n InfiniteCache.prototype.setRowCount = function (rowCount, lastRowIndexKnown) {\n this.rowCount = rowCount;\n // if undefined is passed, we do not set this value, if one of {true,false}\n // is passed, we do set the value.\n if (_.exists(lastRowIndexKnown)) {\n this.lastRowIndexKnown = lastRowIndexKnown;\n }\n // if we are still searching, then the row count must not end at the end\n // of a particular page, otherwise the searching will not pop into the\n // next page\n if (!this.lastRowIndexKnown) {\n if (this.rowCount % this.params.blockSize === 0) {\n this.rowCount++;\n }\n }\n this.onCacheUpdated();\n };\n InfiniteCache.prototype.forEachNodeDeep = function (callback) {\n var _this = this;\n var sequence = new NumberSequence();\n this.getBlocksInOrder().forEach(function (block) { return block.forEachNode(callback, sequence, _this.rowCount); });\n };\n InfiniteCache.prototype.getBlocksInOrder = function () {\n // get all page id's as NUMBERS (not strings, as we need to sort as numbers) and in descending order\n var blockComparator = function (a, b) { return a.getId() - b.getId(); };\n var blocks = _.getAllValuesInObject(this.blocks).sort(blockComparator);\n return blocks;\n };\n InfiniteCache.prototype.destroyBlock = function (block) {\n delete this.blocks[block.getId()];\n this.destroyBean(block);\n this.blockCount--;\n this.params.rowNodeBlockLoader.removeBlock(block);\n };\n // gets called 1) row count changed 2) cache purged 3) items inserted\n InfiniteCache.prototype.onCacheUpdated = function () {\n if (this.isAlive()) {\n // if the virtualRowCount is shortened, then it's possible blocks exist that are no longer\n // in the valid range. so we must remove these. this can happen if user explicitly sets\n // the virtual row count, or the datasource returns a result and sets lastRow to something\n // less than virtualRowCount (can happen if user scrolls down, server reduces dataset size).\n this.destroyAllBlocksPastVirtualRowCount();\n // this results in both row models (infinite and server side) firing ModelUpdated,\n // however server side row model also updates the row indexes first\n var event_1 = {\n type: Events.EVENT_STORE_UPDATED\n };\n this.eventService.dispatchEvent(event_1);\n }\n };\n InfiniteCache.prototype.destroyAllBlocksPastVirtualRowCount = function () {\n var _this = this;\n var blocksToDestroy = [];\n this.getBlocksInOrder().forEach(function (block) {\n var startRow = block.getId() * _this.params.blockSize;\n if (startRow >= _this.rowCount) {\n blocksToDestroy.push(block);\n }\n });\n if (blocksToDestroy.length > 0) {\n blocksToDestroy.forEach(function (block) { return _this.destroyBlock(block); });\n }\n };\n InfiniteCache.prototype.purgeCache = function () {\n var _this = this;\n this.getBlocksInOrder().forEach(function (block) { return _this.removeBlockFromCache(block); });\n this.lastRowIndexKnown = false;\n // if zero rows in the cache, we need to get the SSRM to start asking for rows again.\n // otherwise if set to zero rows last time, and we don't update the row count, then after\n // the purge there will still be zero rows, meaning the SSRM won't request any rows.\n // to kick things off, at least one row needs to be asked for.\n if (this.rowCount === 0) {\n this.rowCount = this.params.initialRowCount;\n }\n this.onCacheUpdated();\n };\n InfiniteCache.prototype.getRowNodesInRange = function (firstInRange, lastInRange) {\n var _this = this;\n var result = [];\n var lastBlockId = -1;\n var inActiveRange = false;\n var numberSequence = new NumberSequence();\n // if only one node passed, we start the selection at the top\n if (_.missing(firstInRange)) {\n inActiveRange = true;\n }\n var foundGapInSelection = false;\n this.getBlocksInOrder().forEach(function (block) {\n if (foundGapInSelection) {\n return;\n }\n if (inActiveRange && (lastBlockId + 1 !== block.getId())) {\n foundGapInSelection = true;\n return;\n }\n lastBlockId = block.getId();\n block.forEachNode(function (rowNode) {\n var hitFirstOrLast = rowNode === firstInRange || rowNode === lastInRange;\n if (inActiveRange || hitFirstOrLast) {\n result.push(rowNode);\n }\n if (hitFirstOrLast) {\n inActiveRange = !inActiveRange;\n }\n }, numberSequence, _this.rowCount);\n });\n // inActiveRange will be still true if we never hit the second rowNode\n var invalidRange = foundGapInSelection || inActiveRange;\n return invalidRange ? [] : result;\n };\n // this property says how many empty blocks should be in a cache, eg if scrolls down fast and creates 10\n // blocks all for loading, the grid will only load the last 2 - it will assume the blocks the user quickly\n // scrolled over are not needed to be loaded.\n InfiniteCache.MAX_EMPTY_BLOCKS_TO_KEEP = 2;\n __decorate$2v([\n Autowired('rowRenderer')\n ], InfiniteCache.prototype, \"rowRenderer\", void 0);\n __decorate$2v([\n Autowired(\"focusService\")\n ], InfiniteCache.prototype, \"focusService\", void 0);\n __decorate$2v([\n __param$a(0, Qualifier('loggerFactory'))\n ], InfiniteCache.prototype, \"setBeans\", null);\n __decorate$2v([\n PreDestroy\n ], InfiniteCache.prototype, \"destroyAllBlocks\", null);\n return InfiniteCache;\n}(BeanStub));\n\nvar __extends$2P = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$2w = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar InfiniteRowModel = /** @class */ (function (_super) {\n __extends$2P(InfiniteRowModel, _super);\n function InfiniteRowModel() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n InfiniteRowModel.prototype.getRowBounds = function (index) {\n return {\n rowHeight: this.rowHeight,\n rowTop: this.rowHeight * index\n };\n };\n // we don't implement as lazy row heights is not supported in this row model\n InfiniteRowModel.prototype.ensureRowHeightsValid = function (startPixel, endPixel, startLimitIndex, endLimitIndex) {\n return false;\n };\n InfiniteRowModel.prototype.init = function () {\n var _this = this;\n if (!this.gridOptionsWrapper.isRowModelInfinite()) {\n return;\n }\n this.rowHeight = this.gridOptionsWrapper.getRowHeightAsNumber();\n this.addEventListeners();\n this.addDestroyFunc(function () { return _this.destroyCache(); });\n this.verifyProps();\n };\n InfiniteRowModel.prototype.verifyProps = function () {\n if (this.gridOptionsWrapper.getInitialGroupOrderComparator() != null) {\n var message_1 = \"AG Grid: initialGroupOrderComparator cannot be used with Infinite Row Model. If using Infinite Row Model, then sorting is done on the server side, nothing to do with the client.\";\n _.doOnce(function () { return console.warn(message_1); }, 'IRM.InitialGroupOrderComparator');\n }\n };\n InfiniteRowModel.prototype.start = function () {\n this.setDatasource(this.gridOptionsWrapper.getDatasource());\n };\n InfiniteRowModel.prototype.destroyDatasource = function () {\n if (this.datasource) {\n this.getContext().destroyBean(this.datasource);\n this.rowRenderer.datasourceChanged();\n this.datasource = null;\n }\n };\n InfiniteRowModel.prototype.addEventListeners = function () {\n this.addManagedListener(this.eventService, Events.EVENT_FILTER_CHANGED, this.onFilterChanged.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_SORT_CHANGED, this.onSortChanged.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_NEW_COLUMNS_LOADED, this.onColumnEverything.bind(this));\n this.addManagedListener(this.eventService, Events.EVENT_STORE_UPDATED, this.onCacheUpdated.bind(this));\n };\n InfiniteRowModel.prototype.onFilterChanged = function () {\n this.reset();\n };\n InfiniteRowModel.prototype.onSortChanged = function () {\n this.reset();\n };\n InfiniteRowModel.prototype.onColumnEverything = function () {\n var resetRequired;\n // if cache params, we require reset only if sort model has changed. we don't need to check\n // for filter model, as the filter manager will fire an event when columns change that result\n // in the filter changing.\n if (this.cacheParams) {\n resetRequired = this.isSortModelDifferent();\n }\n else {\n // if no cacheParams, means first time creating the cache, so always create one\n resetRequired = true;\n }\n if (resetRequired) {\n this.reset();\n }\n };\n InfiniteRowModel.prototype.isSortModelDifferent = function () {\n return !_.jsonEquals(this.cacheParams.sortModel, this.sortController.getSortModel());\n };\n InfiniteRowModel.prototype.getType = function () {\n return Constants.ROW_MODEL_TYPE_INFINITE;\n };\n InfiniteRowModel.prototype.setDatasource = function (datasource) {\n this.destroyDatasource();\n this.datasource = datasource;\n // only reset if we have a valid datasource to working with\n if (datasource) {\n this.reset();\n }\n };\n InfiniteRowModel.prototype.isEmpty = function () {\n return !this.infiniteCache;\n };\n InfiniteRowModel.prototype.isRowsToRender = function () {\n return !!this.infiniteCache;\n };\n InfiniteRowModel.prototype.getNodesInRangeForSelection = function (firstInRange, lastInRange) {\n return this.infiniteCache ? this.infiniteCache.getRowNodesInRange(firstInRange, lastInRange) : [];\n };\n InfiniteRowModel.prototype.reset = function () {\n // important to return here, as the user could be setting filter or sort before\n // data-source is set\n if (!this.datasource) {\n return;\n }\n // if user is providing id's, then this means we can keep the selection between datasource hits,\n // as the rows will keep their unique id's even if, for example, server side sorting or filtering\n // is done.\n var getRowIdFunc = this.gridOptionsWrapper.getRowIdFunc();\n var userGeneratingIds = getRowIdFunc != null;\n if (!userGeneratingIds) {\n this.selectionService.reset();\n }\n this.resetCache();\n var event = this.createModelUpdatedEvent();\n this.eventService.dispatchEvent(event);\n };\n InfiniteRowModel.prototype.createModelUpdatedEvent = function () {\n return {\n type: Events.EVENT_MODEL_UPDATED,\n api: this.gridApi,\n columnApi: this.columnApi,\n // not sure if these should all be false - noticed if after implementing,\n // maybe they should be true?\n newPage: false,\n newData: false,\n keepRenderedRows: true,\n animate: false\n };\n };\n InfiniteRowModel.prototype.resetCache = function () {\n // if not first time creating a cache, need to destroy the old one\n this.destroyCache();\n this.cacheParams = {\n // the user provided datasource\n datasource: this.datasource,\n // sort and filter model\n filterModel: this.filterManager.getFilterModel(),\n sortModel: this.sortController.getSortModel(),\n rowNodeBlockLoader: this.rowNodeBlockLoader,\n // properties - this way we take a snapshot of them, so if user changes any, they will be\n // used next time we create a new cache, which is generally after a filter or sort change,\n // or a new datasource is set\n initialRowCount: this.defaultIfInvalid(this.gridOptionsWrapper.getInfiniteInitialRowCount(), 1),\n maxBlocksInCache: this.gridOptionsWrapper.getMaxBlocksInCache(),\n rowHeight: this.gridOptionsWrapper.getRowHeightAsNumber(),\n // if user doesn't provide overflow, we use default overflow of 1, so user can scroll past\n // the current page and request first row of next page\n overflowSize: this.defaultIfInvalid(this.gridOptionsWrapper.getCacheOverflowSize(), 1),\n // page size needs to be 1 or greater. having it at 1 would be silly, as you would be hitting the\n // server for one page at a time. so the default if not specified is 100.\n blockSize: this.defaultIfInvalid(this.gridOptionsWrapper.getCacheBlockSize(), 100),\n // the cache could create this, however it is also used by the pages, so handy to create it\n // here as the settings are also passed to the pages\n lastAccessedSequence: new NumberSequence()\n };\n this.infiniteCache = this.createBean(new InfiniteCache(this.cacheParams));\n };\n InfiniteRowModel.prototype.defaultIfInvalid = function (value, defaultValue) {\n return value > 0 ? value : defaultValue;\n };\n InfiniteRowModel.prototype.destroyCache = function () {\n if (this.infiniteCache) {\n this.infiniteCache = this.destroyBean(this.infiniteCache);\n }\n };\n InfiniteRowModel.prototype.onCacheUpdated = function () {\n var event = this.createModelUpdatedEvent();\n this.eventService.dispatchEvent(event);\n };\n InfiniteRowModel.prototype.getRow = function (rowIndex) {\n if (!this.infiniteCache) {\n return undefined;\n }\n if (rowIndex >= this.infiniteCache.getRowCount()) {\n return undefined;\n }\n return this.infiniteCache.getRow(rowIndex);\n };\n InfiniteRowModel.prototype.getRowNode = function (id) {\n var result;\n this.forEachNode(function (rowNode) {\n if (rowNode.id === id) {\n result = rowNode;\n }\n });\n return result;\n };\n InfiniteRowModel.prototype.forEachNode = function (callback) {\n if (this.infiniteCache) {\n this.infiniteCache.forEachNodeDeep(callback);\n }\n };\n InfiniteRowModel.prototype.getTopLevelRowCount = function () {\n return this.getRowCount();\n };\n InfiniteRowModel.prototype.getTopLevelRowDisplayedIndex = function (topLevelIndex) {\n return topLevelIndex;\n };\n InfiniteRowModel.prototype.getRowIndexAtPixel = function (pixel) {\n if (this.rowHeight !== 0) { // avoid divide by zero error\n var rowIndexForPixel = Math.floor(pixel / this.rowHeight);\n var lastRowIndex = this.getRowCount() - 1;\n if (rowIndexForPixel > lastRowIndex) {\n return lastRowIndex;\n }\n return rowIndexForPixel;\n }\n return 0;\n };\n InfiniteRowModel.prototype.getRowCount = function () {\n return this.infiniteCache ? this.infiniteCache.getRowCount() : 0;\n };\n InfiniteRowModel.prototype.isRowPresent = function (rowNode) {\n var foundRowNode = this.getRowNode(rowNode.id);\n return !!foundRowNode;\n };\n InfiniteRowModel.prototype.refreshCache = function () {\n if (this.infiniteCache) {\n this.infiniteCache.refreshCache();\n }\n };\n InfiniteRowModel.prototype.purgeCache = function () {\n if (this.infiniteCache) {\n this.infiniteCache.purgeCache();\n }\n };\n // for iRowModel\n InfiniteRowModel.prototype.isLastRowIndexKnown = function () {\n if (this.infiniteCache) {\n return this.infiniteCache.isLastRowIndexKnown();\n }\n return false;\n };\n InfiniteRowModel.prototype.setRowCount = function (rowCount, lastRowIndexKnown) {\n if (this.infiniteCache) {\n this.infiniteCache.setRowCount(rowCount, lastRowIndexKnown);\n }\n };\n __decorate$2w([\n Autowired('filterManager')\n ], InfiniteRowModel.prototype, \"filterManager\", void 0);\n __decorate$2w([\n Autowired('sortController')\n ], InfiniteRowModel.prototype, \"sortController\", void 0);\n __decorate$2w([\n Autowired('selectionService')\n ], InfiniteRowModel.prototype, \"selectionService\", void 0);\n __decorate$2w([\n Autowired('gridApi')\n ], InfiniteRowModel.prototype, \"gridApi\", void 0);\n __decorate$2w([\n Autowired('columnApi')\n ], InfiniteRowModel.prototype, \"columnApi\", void 0);\n __decorate$2w([\n Autowired('rowRenderer')\n ], InfiniteRowModel.prototype, \"rowRenderer\", void 0);\n __decorate$2w([\n Autowired('rowNodeBlockLoader')\n ], InfiniteRowModel.prototype, \"rowNodeBlockLoader\", void 0);\n __decorate$2w([\n PostConstruct\n ], InfiniteRowModel.prototype, \"init\", null);\n __decorate$2w([\n PreDestroy\n ], InfiniteRowModel.prototype, \"destroyDatasource\", null);\n InfiniteRowModel = __decorate$2w([\n Bean('rowModel')\n ], InfiniteRowModel);\n return InfiniteRowModel;\n}(BeanStub));\n\nvar InfiniteRowModelModule = {\n moduleName: exports.ModuleNames.InfiniteRowModelModule,\n rowModels: { infinite: InfiniteRowModel }\n};\n\nvar BaseCreator = /** @class */ (function () {\n function BaseCreator() {\n }\n BaseCreator.prototype.setBeans = function (beans) {\n this.beans = beans;\n };\n BaseCreator.prototype.getFileName = function (fileName) {\n var extension = this.getDefaultFileExtension();\n if (fileName == null || !fileName.length) {\n fileName = this.getDefaultFileName();\n }\n return fileName.indexOf('.') === -1 ? fileName + \".\" + extension : fileName;\n };\n BaseCreator.prototype.getData = function (params) {\n var serializingSession = this.createSerializingSession(params);\n var data = this.beans.gridSerializer.serialize(serializingSession, params);\n return data;\n };\n return BaseCreator;\n}());\n\nvar BaseGridSerializingSession = /** @class */ (function () {\n function BaseGridSerializingSession(config) {\n this.groupColumns = [];\n var columnModel = config.columnModel, valueService = config.valueService, gridOptionsWrapper = config.gridOptionsWrapper, processCellCallback = config.processCellCallback, processHeaderCallback = config.processHeaderCallback, processGroupHeaderCallback = config.processGroupHeaderCallback, processRowGroupCallback = config.processRowGroupCallback;\n this.columnModel = columnModel;\n this.valueService = valueService;\n this.gridOptionsWrapper = gridOptionsWrapper;\n this.processCellCallback = processCellCallback;\n this.processHeaderCallback = processHeaderCallback;\n this.processGroupHeaderCallback = processGroupHeaderCallback;\n this.processRowGroupCallback = processRowGroupCallback;\n }\n BaseGridSerializingSession.prototype.prepare = function (columnsToExport) {\n this.groupColumns = columnsToExport.filter(function (col) { return !!col.getColDef().showRowGroup; });\n };\n BaseGridSerializingSession.prototype.extractHeaderValue = function (column) {\n var value = this.getHeaderName(this.processHeaderCallback, column);\n return value != null ? value : '';\n };\n BaseGridSerializingSession.prototype.extractRowCellValue = function (column, index, accumulatedRowIndex, type, node) {\n // we render the group summary text e.g. \"-> Parent -> Child\"...\n var groupIndex = this.gridOptionsWrapper.isGroupMultiAutoColumn() ? node.rowGroupIndex : 0;\n var renderGroupSummaryCell = \n // on group rows\n node && node.group\n && (\n // in the group column if groups appear in regular grid cells\n index === groupIndex && this.groupColumns.indexOf(column) !== -1\n // or the first cell in the row, if we're doing full width rows\n || (index === 0 && this.gridOptionsWrapper.isGroupUseEntireRow(this.columnModel.isPivotMode())));\n var valueForCell;\n if (renderGroupSummaryCell) {\n valueForCell = this.createValueForGroupNode(node);\n }\n else {\n valueForCell = this.valueService.getValue(column, node);\n }\n var value = this.processCell(accumulatedRowIndex, node, column, valueForCell, this.processCellCallback, type);\n return value != null ? value : '';\n };\n BaseGridSerializingSession.prototype.getHeaderName = function (callback, column) {\n if (callback) {\n return callback({\n column: column,\n api: this.gridOptionsWrapper.getApi(),\n columnApi: this.gridOptionsWrapper.getColumnApi(),\n context: this.gridOptionsWrapper.getContext()\n });\n }\n return this.columnModel.getDisplayNameForColumn(column, 'csv', true);\n };\n BaseGridSerializingSession.prototype.createValueForGroupNode = function (node) {\n if (this.processRowGroupCallback) {\n return this.processRowGroupCallback({\n node: node,\n api: this.gridOptionsWrapper.getApi(),\n columnApi: this.gridOptionsWrapper.getColumnApi(),\n context: this.gridOptionsWrapper.getContext(),\n });\n }\n var keys = [node.key];\n if (!this.gridOptionsWrapper.isGroupMultiAutoColumn()) {\n while (node.parent) {\n node = node.parent;\n keys.push(node.key);\n }\n }\n return keys.reverse().join(' -> ');\n };\n BaseGridSerializingSession.prototype.processCell = function (accumulatedRowIndex, rowNode, column, value, processCellCallback, type) {\n if (processCellCallback) {\n return processCellCallback({\n accumulatedRowIndex: accumulatedRowIndex,\n column: column,\n node: rowNode,\n value: value,\n api: this.gridOptionsWrapper.getApi(),\n columnApi: this.gridOptionsWrapper.getColumnApi(),\n context: this.gridOptionsWrapper.getContext(),\n type: type\n });\n }\n return value != null ? value : '';\n };\n return BaseGridSerializingSession;\n}());\n\nvar Downloader = /** @class */ (function () {\n function Downloader() {\n }\n Downloader.download = function (fileName, content) {\n var win = document.defaultView || window;\n if (!win) {\n console.warn('AG Grid: There is no `window` associated with the current `document`');\n return;\n }\n var element = document.createElement('a');\n // @ts-ignore\n var url = win.URL.createObjectURL(content);\n element.setAttribute('href', url);\n element.setAttribute('download', fileName);\n element.style.display = 'none';\n document.body.appendChild(element);\n element.dispatchEvent(new MouseEvent('click', {\n bubbles: false,\n cancelable: true,\n view: win\n }));\n document.body.removeChild(element);\n win.setTimeout(function () {\n // @ts-ignore\n win.URL.revokeObjectURL(url);\n }, 0);\n };\n return Downloader;\n}());\n\nvar __extends$2Q = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar LINE_SEPARATOR = '\\r\\n';\nvar CsvSerializingSession = /** @class */ (function (_super) {\n __extends$2Q(CsvSerializingSession, _super);\n function CsvSerializingSession(config) {\n var _this = _super.call(this, config) || this;\n _this.isFirstLine = true;\n _this.result = '';\n var suppressQuotes = config.suppressQuotes, columnSeparator = config.columnSeparator;\n _this.suppressQuotes = suppressQuotes;\n _this.columnSeparator = columnSeparator;\n return _this;\n }\n CsvSerializingSession.prototype.addCustomContent = function (content) {\n var _this = this;\n if (!content) {\n return;\n }\n if (typeof content === 'string') {\n if (!/^\\s*\\n/.test(content)) {\n this.beginNewLine();\n }\n // replace whatever newlines are supplied with the style we're using\n content = content.replace(/\\r?\\n/g, LINE_SEPARATOR);\n this.result += content;\n }\n else {\n content.forEach(function (row) {\n _this.beginNewLine();\n row.forEach(function (cell, index) {\n if (index !== 0) {\n _this.result += _this.columnSeparator;\n }\n _this.result += _this.putInQuotes(cell.data.value || '');\n if (cell.mergeAcross) {\n _this.appendEmptyCells(cell.mergeAcross);\n }\n });\n });\n }\n };\n CsvSerializingSession.prototype.onNewHeaderGroupingRow = function () {\n this.beginNewLine();\n return {\n onColumn: this.onNewHeaderGroupingRowColumn.bind(this)\n };\n };\n CsvSerializingSession.prototype.onNewHeaderGroupingRowColumn = function (header, index, span) {\n if (index != 0) {\n this.result += this.columnSeparator;\n }\n this.result += this.putInQuotes(header);\n this.appendEmptyCells(span);\n };\n CsvSerializingSession.prototype.appendEmptyCells = function (count) {\n for (var i = 1; i <= count; i++) {\n this.result += this.columnSeparator + this.putInQuotes(\"\");\n }\n };\n CsvSerializingSession.prototype.onNewHeaderRow = function () {\n this.beginNewLine();\n return {\n onColumn: this.onNewHeaderRowColumn.bind(this)\n };\n };\n CsvSerializingSession.prototype.onNewHeaderRowColumn = function (column, index) {\n if (index != 0) {\n this.result += this.columnSeparator;\n }\n this.result += this.putInQuotes(this.extractHeaderValue(column));\n };\n CsvSerializingSession.prototype.onNewBodyRow = function () {\n this.beginNewLine();\n return {\n onColumn: this.onNewBodyRowColumn.bind(this)\n };\n };\n CsvSerializingSession.prototype.onNewBodyRowColumn = function (column, index, node) {\n if (index != 0) {\n this.result += this.columnSeparator;\n }\n this.result += this.putInQuotes(this.extractRowCellValue(column, index, index, Constants.EXPORT_TYPE_CSV, node));\n };\n CsvSerializingSession.prototype.putInQuotes = function (value) {\n if (this.suppressQuotes) {\n return value;\n }\n if (value === null || value === undefined) {\n return '\"\"';\n }\n var stringValue;\n if (typeof value === 'string') {\n stringValue = value;\n }\n else if (typeof value.toString === 'function') {\n stringValue = value.toString();\n }\n else {\n console.warn('AG Grid: unknown value type during csv conversion');\n stringValue = '';\n }\n // replace each \" with \"\" (ie two sets of double quotes is how to do double quotes in csv)\n var valueEscaped = stringValue.replace(/\"/g, \"\\\"\\\"\");\n return '\"' + valueEscaped + '\"';\n };\n CsvSerializingSession.prototype.parse = function () {\n return this.result;\n };\n CsvSerializingSession.prototype.beginNewLine = function () {\n if (!this.isFirstLine) {\n this.result += LINE_SEPARATOR;\n }\n this.isFirstLine = false;\n };\n return CsvSerializingSession;\n}(BaseGridSerializingSession));\n\nvar __extends$2R = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$2x = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar CsvCreator = /** @class */ (function (_super) {\n __extends$2R(CsvCreator, _super);\n function CsvCreator() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CsvCreator.prototype.postConstruct = function () {\n this.setBeans({\n gridSerializer: this.gridSerializer,\n gridOptionsWrapper: this.gridOptionsWrapper\n });\n };\n CsvCreator.prototype.getMergedParams = function (params) {\n var baseParams = this.gridOptionsWrapper.getDefaultExportParams('csv');\n return Object.assign({}, baseParams, params);\n };\n CsvCreator.prototype.export = function (userParams) {\n if (this.isExportSuppressed()) {\n console.warn(\"AG Grid: Export cancelled. Export is not allowed as per your configuration.\");\n return '';\n }\n var mergedParams = this.getMergedParams(userParams);\n var data = this.getData(mergedParams);\n var packagedFile = new Blob([\"\\ufeff\", data], { type: 'text/plain' });\n Downloader.download(this.getFileName(mergedParams.fileName), packagedFile);\n return data;\n };\n CsvCreator.prototype.exportDataAsCsv = function (params) {\n return this.export(params);\n };\n CsvCreator.prototype.getDataAsCsv = function (params) {\n var mergedParams = this.getMergedParams(params);\n return this.getData(mergedParams);\n };\n CsvCreator.prototype.getDefaultFileName = function () {\n return 'export.csv';\n };\n CsvCreator.prototype.getDefaultFileExtension = function () {\n return 'csv';\n };\n CsvCreator.prototype.createSerializingSession = function (params) {\n var _a = this, columnModel = _a.columnModel, valueService = _a.valueService, gridOptionsWrapper = _a.gridOptionsWrapper;\n var _b = params, processCellCallback = _b.processCellCallback, processHeaderCallback = _b.processHeaderCallback, processGroupHeaderCallback = _b.processGroupHeaderCallback, processRowGroupCallback = _b.processRowGroupCallback, suppressQuotes = _b.suppressQuotes, columnSeparator = _b.columnSeparator;\n return new CsvSerializingSession({\n columnModel: columnModel,\n valueService: valueService,\n gridOptionsWrapper: gridOptionsWrapper,\n processCellCallback: processCellCallback || undefined,\n processHeaderCallback: processHeaderCallback || undefined,\n processGroupHeaderCallback: processGroupHeaderCallback || undefined,\n processRowGroupCallback: processRowGroupCallback || undefined,\n suppressQuotes: suppressQuotes || false,\n columnSeparator: columnSeparator || ','\n });\n };\n CsvCreator.prototype.isExportSuppressed = function () {\n return this.gridOptionsWrapper.isSuppressCsvExport();\n };\n __decorate$2x([\n Autowired('columnModel')\n ], CsvCreator.prototype, \"columnModel\", void 0);\n __decorate$2x([\n Autowired('valueService')\n ], CsvCreator.prototype, \"valueService\", void 0);\n __decorate$2x([\n Autowired('gridSerializer')\n ], CsvCreator.prototype, \"gridSerializer\", void 0);\n __decorate$2x([\n Autowired('gridOptionsWrapper')\n ], CsvCreator.prototype, \"gridOptionsWrapper\", void 0);\n __decorate$2x([\n PostConstruct\n ], CsvCreator.prototype, \"postConstruct\", null);\n CsvCreator = __decorate$2x([\n Bean('csvCreator')\n ], CsvCreator);\n return CsvCreator;\n}(BaseCreator));\n\nvar __extends$2S = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate$2y = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n(function (RowType) {\n RowType[RowType[\"HEADER_GROUPING\"] = 0] = \"HEADER_GROUPING\";\n RowType[RowType[\"HEADER\"] = 1] = \"HEADER\";\n RowType[RowType[\"BODY\"] = 2] = \"BODY\";\n})(exports.RowType || (exports.RowType = {}));\nvar GridSerializer = /** @class */ (function (_super) {\n __extends$2S(GridSerializer, _super);\n function GridSerializer() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n GridSerializer.prototype.serialize = function (gridSerializingSession, params) {\n if (params === void 0) { params = {}; }\n var columnsToExport = this.getColumnsToExport(params.allColumns, params.columnKeys);\n var serializeChain = _.compose(\n // first pass, put in the header names of the cols\n this.prepareSession(columnsToExport), this.prependContent(params), this.exportColumnGroups(params, columnsToExport), this.exportHeaders(params, columnsToExport), this.processPinnedTopRows(params, columnsToExport), this.processRows(params, columnsToExport), this.processPinnedBottomRows(params, columnsToExport), this.appendContent(params));\n return serializeChain(gridSerializingSession).parse();\n };\n GridSerializer.prototype.processRow = function (gridSerializingSession, params, columnsToExport, node) {\n var _this = this;\n var rowSkipper = params.shouldRowBeSkipped || (function () { return false; });\n var gridOptionsWrapper = this.gridOptionsWrapper;\n var context = gridOptionsWrapper.getContext();\n var api = gridOptionsWrapper.getApi();\n var columnApi = gridOptionsWrapper.getColumnApi();\n var skipSingleChildrenGroup = gridOptionsWrapper.isGroupRemoveSingleChildren();\n var hideOpenParents = gridOptionsWrapper.isGroupHideOpenParents();\n var skipLowestSingleChildrenGroup = gridOptionsWrapper.isGroupRemoveLowestSingleChildren();\n var isLeafNode = this.columnModel.isPivotMode() ? node.leafGroup : !node.group;\n var skipRowGroups = params.skipGroups || params.skipRowGroups;\n var shouldSkipLowestGroup = skipLowestSingleChildrenGroup && node.leafGroup;\n var shouldSkipCurrentGroup = node.allChildrenCount === 1 && (skipSingleChildrenGroup || shouldSkipLowestGroup);\n if (skipRowGroups && params.skipGroups) {\n _.doOnce(function () { return console.warn('AG Grid: Since v25.2 `skipGroups` has been renamed to `skipRowGroups`.'); }, 'gridSerializer-skipGroups');\n }\n var rowPosition = { rowIndex: node.rowIndex, rowPinned: node.rowPinned };\n if ((!isLeafNode && (params.skipRowGroups || shouldSkipCurrentGroup || hideOpenParents)) ||\n (params.onlySelected && !node.isSelected()) ||\n (params.rowNodes && !params.rowNodes.some(function (position) { return _this.rowPositionUtils.sameRow(position, rowPosition); })) ||\n (params.skipPinnedTop && node.rowPinned === 'top') ||\n (params.skipPinnedBottom && node.rowPinned === 'bottom')) {\n return;\n }\n // if we are in pivotMode, then the grid will show the root node only\n // if it's not a leaf group\n var nodeIsRootNode = node.level === -1;\n if (nodeIsRootNode && !node.leafGroup) {\n return;\n }\n var shouldRowBeSkipped = rowSkipper({ node: node, api: api, columnApi: columnApi, context: context });\n if (shouldRowBeSkipped) {\n return;\n }\n var rowAccumulator = gridSerializingSession.onNewBodyRow();\n columnsToExport.forEach(function (column, index) {\n rowAccumulator.onColumn(column, index, node);\n });\n if (params.getCustomContentBelowRow) {\n var content = params.getCustomContentBelowRow({ node: node, api: api, columnApi: columnApi, context: context });\n if (content) {\n gridSerializingSession.addCustomContent(content);\n }\n }\n };\n GridSerializer.prototype.appendContent = function (params) {\n return function (gridSerializingSession) {\n var appendContent = params.customFooter || params.appendContent;\n if (appendContent) {\n if (params.customFooter) {\n _.doOnce(function () { return console.warn('AG Grid: Since version 25.2.0 the `customFooter` param has been deprecated. Use `appendContent` instead.'); }, 'gridSerializer-customFooter');\n }\n gridSerializingSession.addCustomContent(appendContent);\n }\n return gridSerializingSession;\n };\n };\n GridSerializer.prototype.prependContent = function (params) {\n return function (gridSerializingSession) {\n var prependContent = params.customHeader || params.prependContent;\n if (prependContent) {\n if (params.customHeader) {\n _.doOnce(function () { return console.warn('AG Grid: Since version 25.2.0 the `customHeader` param has been deprecated. Use `prependContent` instead.'); }, 'gridSerializer-customHeader');\n }\n gridSerializingSession.addCustomContent(prependContent);\n }\n return gridSerializingSession;\n };\n };\n GridSerializer.prototype.prepareSession = function (columnsToExport) {\n return function (gridSerializingSession) {\n gridSerializingSession.prepare(columnsToExport);\n return gridSerializingSession;\n };\n };\n GridSerializer.prototype.exportColumnGroups = function (params, columnsToExport) {\n var _this = this;\n return function (gridSerializingSession) {\n if (!params.skipColumnGroupHeaders) {\n var groupInstanceIdCreator = new GroupInstanceIdCreator();\n var displayedGroups = _this.displayedGroupCreator.createDisplayedGroups(columnsToExport, _this.columnModel.getGridBalancedTree(), groupInstanceIdCreator, null);\n _this.recursivelyAddHeaderGroups(displayedGroups, gridSerializingSession, params.processGroupHeaderCallback);\n }\n else if (params.columnGroups) {\n _.doOnce(function () { return console.warn('AG Grid: Since v25.2 the `columnGroups` param has deprecated, and groups are exported by default.'); }, 'gridSerializer-columnGroups');\n }\n return gridSerializingSession;\n };\n };\n GridSerializer.prototype.exportHeaders = function (params, columnsToExport) {\n return function (gridSerializingSession) {\n if (!params.skipHeader && !params.skipColumnHeaders) {\n var gridRowIterator_1 = gridSerializingSession.onNewHeaderRow();\n columnsToExport.forEach(function (column, index) {\n gridRowIterator_1.onColumn(column, index, undefined);\n });\n }\n else if (params.skipHeader) {\n _.doOnce(function () { return console.warn('AG Grid: Since v25.2 the `skipHeader` param has been renamed to `skipColumnHeaders`.'); }, 'gridSerializer-skipHeader');\n }\n return gridSerializingSession;\n };\n };\n GridSerializer.prototype.processPinnedTopRows = function (params, columnsToExport) {\n var _this = this;\n return function (gridSerializingSession) {\n var processRow = _this.processRow.bind(_this, gridSerializingSession, params, columnsToExport);\n _this.pinnedRowModel.forEachPinnedTopRow(processRow);\n return gridSerializingSession;\n };\n };\n GridSerializer.prototype.processRows = function (params, columnsToExport) {\n var _this = this;\n return function (gridSerializingSession) {\n // when in pivot mode, we always render cols on screen, never 'all columns'\n var rowModel = _this.rowModel;\n var rowModelType = rowModel.getType();\n var usingCsrm = rowModelType === Constants.ROW_MODEL_TYPE_CLIENT_SIDE;\n var usingSsrm = rowModelType === Constants.ROW_MODEL_TYPE_SERVER_SIDE;\n var onlySelectedNonStandardModel = !usingCsrm && params.onlySelected;\n var processRow = _this.processRow.bind(_this, gridSerializingSession, params, columnsToExport);\n if (_this.columnModel.isPivotMode()) {\n if (usingCsrm) {\n rowModel.forEachPivotNode(processRow);\n }\n else {\n // must be enterprise, so we can just loop through all the nodes\n rowModel.forEachNode(processRow);\n }\n }\n else {\n // onlySelectedAllPages: user doing pagination and wants selected items from\n // other pages, so cannot use the standard row model as it won't have rows from\n // other pages.\n // onlySelectedNonStandardModel: if user wants selected in non standard row model\n // (eg viewport) then again RowModel cannot be used, so need to use selected instead.\n if (params.onlySelectedAllPages || onlySelectedNonStandardModel) {\n var selectedNodes = _this.selectionService.getSelectedNodes();\n selectedNodes.forEach(processRow);\n }\n else {\n // here is everything else - including standard row model and selected. we don't use\n // the selection model even when just using selected, so that the result is the order\n // of the rows appearing on the screen.\n if (usingCsrm) {\n rowModel.forEachNodeAfterFilterAndSort(processRow);\n }\n else if (usingSsrm) {\n rowModel.forEachNodeAfterFilterAndSort(processRow);\n }\n else {\n rowModel.forEachNode(processRow);\n }\n }\n }\n return gridSerializingSession;\n };\n };\n GridSerializer.prototype.processPinnedBottomRows = function (params, columnsToExport) {\n var _this = this;\n return function (gridSerializingSession) {\n var processRow = _this.processRow.bind(_this, gridSerializingSession, params, columnsToExport);\n _this.pinnedRowModel.forEachPinnedBottomRow(processRow);\n return gridSerializingSession;\n };\n };\n GridSerializer.prototype.getColumnsToExport = function (allColumns, columnKeys) {\n if (allColumns === void 0) { allColumns = false; }\n var isPivotMode = this.columnModel.isPivotMode();\n if (columnKeys && columnKeys.length) {\n return this.columnModel.getGridColumns(columnKeys);\n }\n if (allColumns && !isPivotMode) {\n // add auto group column for tree data\n var columns = this.gridOptionsWrapper.isTreeData()\n ? this.columnModel.getGridColumns([Constants.GROUP_AUTO_COLUMN_ID])\n : [];\n return columns.concat(this.columnModel.getAllPrimaryColumns() || []);\n }\n return this.columnModel.getAllDisplayedColumns();\n };\n GridSerializer.prototype.recursivelyAddHeaderGroups = function (displayedGroups, gridSerializingSession, processGroupHeaderCallback) {\n var directChildrenHeaderGroups = [];\n displayedGroups.forEach(function (columnGroupChild) {\n var columnGroup = columnGroupChild;\n if (!columnGroup.getChildren) {\n return;\n }\n columnGroup.getChildren().forEach(function (it) { return directChildrenHeaderGroups.push(it); });\n });\n if (displayedGroups.length > 0 && displayedGroups[0] instanceof ColumnGroup) {\n this.doAddHeaderHeader(gridSerializingSession, displayedGroups, processGroupHeaderCallback);\n }\n if (directChildrenHeaderGroups && directChildrenHeaderGroups.length > 0) {\n this.recursivelyAddHeaderGroups(directChildrenHeaderGroups, gridSerializingSession, processGroupHeaderCallback);\n }\n };\n GridSerializer.prototype.doAddHeaderHeader = function (gridSerializingSession, displayedGroups, processGroupHeaderCallback) {\n var _this = this;\n var gridRowIterator = gridSerializingSession.onNewHeaderGroupingRow();\n var columnIndex = 0;\n displayedGroups.forEach(function (columnGroupChild) {\n var columnGroup = columnGroupChild;\n var name;\n if (processGroupHeaderCallback) {\n name = processGroupHeaderCallback({\n columnGroup: columnGroup,\n api: _this.gridOptionsWrapper.getApi(),\n columnApi: _this.gridOptionsWrapper.getColumnApi(),\n context: _this.gridOptionsWrapper.getContext()\n });\n }\n else {\n name = _this.columnModel.getDisplayNameForColumnGroup(columnGroup, 'header');\n }\n var collapsibleGroupRanges = columnGroup.getLeafColumns().reduce(function (collapsibleGroups, currentColumn, currentIdx, arr) {\n var lastGroup = _.last(collapsibleGroups);\n var groupShow = currentColumn.getColumnGroupShow() === 'open';\n if (!groupShow) {\n if (lastGroup && lastGroup[1] == null) {\n lastGroup[1] = currentIdx - 1;\n }\n }\n else if (!lastGroup || lastGroup[1] != null) {\n lastGroup = [currentIdx];\n collapsibleGroups.push(lastGroup);\n }\n if (currentIdx === arr.length - 1 && lastGroup && lastGroup[1] == null) {\n lastGroup[1] = currentIdx;\n }\n return collapsibleGroups;\n }, []);\n gridRowIterator.onColumn(name || '', columnIndex++, columnGroup.getLeafColumns().length - 1, collapsibleGroupRanges);\n });\n };\n __decorate$2y([\n Autowired('displayedGroupCreator')\n ], GridSerializer.prototype, \"displayedGroupCreator\", void 0);\n __decorate$2y([\n Autowired('columnModel')\n ], GridSerializer.prototype, \"columnModel\", void 0);\n __decorate$2y([\n Autowired('rowModel')\n ], GridSerializer.prototype, \"rowModel\", void 0);\n __decorate$2y([\n Autowired('pinnedRowModel')\n ], GridSerializer.prototype, \"pinnedRowModel\", void 0);\n __decorate$2y([\n Autowired('selectionService')\n ], GridSerializer.prototype, \"selectionService\", void 0);\n __decorate$2y([\n Autowired('rowPositionUtils')\n ], GridSerializer.prototype, \"rowPositionUtils\", void 0);\n GridSerializer = __decorate$2y([\n Bean(\"gridSerializer\")\n ], GridSerializer);\n return GridSerializer;\n}(BeanStub));\n\nvar CsvExportModule = {\n moduleName: exports.ModuleNames.CsvExportModule,\n beans: [CsvCreator, GridSerializer]\n};\n\nvar LINE_SEPARATOR$1 = '\\r\\n';\nvar XmlFactory = /** @class */ (function () {\n function XmlFactory() {\n }\n XmlFactory.createHeader = function (headerElement) {\n if (headerElement === void 0) { headerElement = {}; }\n var headerStart = '';\n var keys = ['version'];\n if (!headerElement.version) {\n headerElement.version = \"1.0\";\n }\n if (headerElement.encoding) {\n keys.push('encoding');\n }\n if (headerElement.standalone) {\n keys.push('standalone');\n }\n var att = keys.map(function (key) { return key + \"=\\\"\" + headerElement[key] + \"\\\"\"; }).join(' ');\n return headerStart + \"xml \" + att + \" \" + headerEnd;\n };\n XmlFactory.createXml = function (xmlElement, booleanTransformer) {\n var _this = this;\n var props = '';\n if (xmlElement.properties) {\n if (xmlElement.properties.prefixedAttributes) {\n xmlElement.properties.prefixedAttributes.forEach(function (prefixedSet) {\n Object.keys(prefixedSet.map).forEach(function (key) {\n props += _this.returnAttributeIfPopulated(prefixedSet.prefix + key, prefixedSet.map[key], booleanTransformer);\n });\n });\n }\n if (xmlElement.properties.rawMap) {\n Object.keys(xmlElement.properties.rawMap).forEach(function (key) {\n props += _this.returnAttributeIfPopulated(key, xmlElement.properties.rawMap[key], booleanTransformer);\n });\n }\n }\n var result = '<' + xmlElement.name + props;\n if (!xmlElement.children && xmlElement.textNode == null) {\n return result + '/>' + LINE_SEPARATOR$1;\n }\n if (xmlElement.textNode != null) {\n return result + '>' + xmlElement.textNode + '' + LINE_SEPARATOR$1;\n }\n result += '>' + LINE_SEPARATOR$1;\n if (xmlElement.children) {\n xmlElement.children.forEach(function (it) {\n result += _this.createXml(it, booleanTransformer);\n });\n }\n return result + '' + LINE_SEPARATOR$1;\n };\n XmlFactory.returnAttributeIfPopulated = function (key, value, booleanTransformer) {\n if (!value && value !== '' && value !== 0) {\n return '';\n }\n var xmlValue = value;\n if ((typeof (value) === 'boolean')) {\n if (booleanTransformer) {\n xmlValue = booleanTransformer(value);\n }\n }\n return \" \" + key + \"=\\\"\" + xmlValue + \"\\\"\";\n };\n return XmlFactory;\n}());\n\nvar __values$3 = (undefined && undefined.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\n// table for crc calculation\n// from: https://referencesource.microsoft.com/#System/sys/System/IO/compression/Crc32Helper.cs,3b31978c7d7f7246,references\nvar crcTable = new Uint32Array([\n 0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419, 0x706af48f,\n 0xe963a535, 0x9e6495a3, 0x0edb8832, 0x79dcb8a4, 0xe0d5e91e, 0x97d2d988,\n 0x09b64c2b, 0x7eb17cbd, 0xe7b82d07, 0x90bf1d91, 0x1db71064, 0x6ab020f2,\n 0xf3b97148, 0x84be41de, 0x1adad47d, 0x6ddde4eb, 0xf4d4b551, 0x83d385c7,\n 0x136c9856, 0x646ba8c0, 0xfd62f97a, 0x8a65c9ec, 0x14015c4f, 0x63066cd9,\n 0xfa0f3d63, 0x8d080df5, 0x3b6e20c8, 0x4c69105e, 0xd56041e4, 0xa2677172,\n 0x3c03e4d1, 0x4b04d447, 0xd20d85fd, 0xa50ab56b, 0x35b5a8fa, 0x42b2986c,\n 0xdbbbc9d6, 0xacbcf940, 0x32d86ce3, 0x45df5c75, 0xdcd60dcf, 0xabd13d59,\n 0x26d930ac, 0x51de003a, 0xc8d75180, 0xbfd06116, 0x21b4f4b5, 0x56b3c423,\n 0xcfba9599, 0xb8bda50f, 0x2802b89e, 0x5f058808, 0xc60cd9b2, 0xb10be924,\n 0x2f6f7c87, 0x58684c11, 0xc1611dab, 0xb6662d3d, 0x76dc4190, 0x01db7106,\n 0x98d220bc, 0xefd5102a, 0x71b18589, 0x06b6b51f, 0x9fbfe4a5, 0xe8b8d433,\n 0x7807c9a2, 0x0f00f934, 0x9609a88e, 0xe10e9818, 0x7f6a0dbb, 0x086d3d2d,\n 0x91646c97, 0xe6635c01, 0x6b6b51f4, 0x1c6c6162, 0x856530d8, 0xf262004e,\n 0x6c0695ed, 0x1b01a57b, 0x8208f4c1, 0xf50fc457, 0x65b0d9c6, 0x12b7e950,\n 0x8bbeb8ea, 0xfcb9887c, 0x62dd1ddf, 0x15da2d49, 0x8cd37cf3, 0xfbd44c65,\n 0x4db26158, 0x3ab551ce, 0xa3bc0074, 0xd4bb30e2, 0x4adfa541, 0x3dd895d7,\n 0xa4d1c46d, 0xd3d6f4fb, 0x4369e96a, 0x346ed9fc, 0xad678846, 0xda60b8d0,\n 0x44042d73, 0x33031de5, 0xaa0a4c5f, 0xdd0d7cc9, 0x5005713c, 0x270241aa,\n 0xbe0b1010, 0xc90c2086, 0x5768b525, 0x206f85b3, 0xb966d409, 0xce61e49f,\n 0x5edef90e, 0x29d9c998, 0xb0d09822, 0xc7d7a8b4, 0x59b33d17, 0x2eb40d81,\n 0xb7bd5c3b, 0xc0ba6cad, 0xedb88320, 0x9abfb3b6, 0x03b6e20c, 0x74b1d29a,\n 0xead54739, 0x9dd277af, 0x04db2615, 0x73dc1683, 0xe3630b12, 0x94643b84,\n 0x0d6d6a3e, 0x7a6a5aa8, 0xe40ecf0b, 0x9309ff9d, 0x0a00ae27, 0x7d079eb1,\n 0xf00f9344, 0x8708a3d2, 0x1e01f268, 0x6906c2fe, 0xf762575d, 0x806567cb,\n 0x196c3671, 0x6e6b06e7, 0xfed41b76, 0x89d32be0, 0x10da7a5a, 0x67dd4acc,\n 0xf9b9df6f, 0x8ebeeff9, 0x17b7be43, 0x60b08ed5, 0xd6d6a3e8, 0xa1d1937e,\n 0x38d8c2c4, 0x4fdff252, 0xd1bb67f1, 0xa6bc5767, 0x3fb506dd, 0x48b2364b,\n 0xd80d2bda, 0xaf0a1b4c, 0x36034af6, 0x41047a60, 0xdf60efc3, 0xa867df55,\n 0x316e8eef, 0x4669be79, 0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236,\n 0xcc0c7795, 0xbb0b4703, 0x220216b9, 0x5505262f, 0xc5ba3bbe, 0xb2bd0b28,\n 0x2bb45a92, 0x5cb36a04, 0xc2d7ffa7, 0xb5d0cf31, 0x2cd99e8b, 0x5bdeae1d,\n 0x9b64c2b0, 0xec63f226, 0x756aa39c, 0x026d930a, 0x9c0906a9, 0xeb0e363f,\n 0x72076785, 0x05005713, 0x95bf4a82, 0xe2b87a14, 0x7bb12bae, 0x0cb61b38,\n 0x92d28e9b, 0xe5d5be0d, 0x7cdcefb7, 0x0bdbdf21, 0x86d3d2d4, 0xf1d4e242,\n 0x68ddb3f8, 0x1fda836e, 0x81be16cd, 0xf6b9265b, 0x6fb077e1, 0x18b74777,\n 0x88085ae6, 0xff0f6a70, 0x66063bca, 0x11010b5c, 0x8f659eff, 0xf862ae69,\n 0x616bffd3, 0x166ccf45, 0xa00ae278, 0xd70dd2ee, 0x4e048354, 0x3903b3c2,\n 0xa7672661, 0xd06016f7, 0x4969474d, 0x3e6e77db, 0xaed16a4a, 0xd9d65adc,\n 0x40df0b66, 0x37d83bf0, 0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9,\n 0xbdbdf21c, 0xcabac28a, 0x53b39330, 0x24b4a3a6, 0xbad03605, 0xcdd70693,\n 0x54de5729, 0x23d967bf, 0xb3667a2e, 0xc4614ab8, 0x5d681b02, 0x2a6f2b94,\n 0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, 0x2d02ef8d\n]);\nvar ZipContainer = /** @class */ (function () {\n function ZipContainer() {\n }\n ZipContainer.addFolders = function (paths) {\n paths.forEach(this.addFolder.bind(this));\n };\n ZipContainer.addFolder = function (path) {\n this.folders.push({\n path: path,\n created: new Date(),\n isBase64: false\n });\n };\n ZipContainer.addFile = function (path, content, isBase64) {\n if (isBase64 === void 0) { isBase64 = false; }\n this.files.push({\n path: path,\n created: new Date(),\n content: content,\n isBase64: isBase64\n });\n };\n ZipContainer.getContent = function (mimeType) {\n if (mimeType === void 0) { mimeType = 'application/zip'; }\n var textOutput = this.buildFileStream();\n var uInt8Output = this.buildUint8Array(textOutput);\n this.clearStream();\n return new Blob([uInt8Output], { type: mimeType });\n };\n ZipContainer.clearStream = function () {\n this.folders = [];\n this.files = [];\n };\n ZipContainer.buildFileStream = function (fData) {\n var e_1, _a;\n if (fData === void 0) { fData = ''; }\n var totalFiles = this.folders.concat(this.files);\n var len = totalFiles.length;\n var foData = '';\n var lL = 0;\n var cL = 0;\n try {\n for (var totalFiles_1 = __values$3(totalFiles), totalFiles_1_1 = totalFiles_1.next(); !totalFiles_1_1.done; totalFiles_1_1 = totalFiles_1.next()) {\n var currentFile = totalFiles_1_1.value;\n var _b = this.getHeader(currentFile, lL), fileHeader = _b.fileHeader, folderHeader = _b.folderHeader, content = _b.content;\n lL += fileHeader.length + content.length;\n cL += folderHeader.length;\n fData += fileHeader + content;\n foData += folderHeader;\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (totalFiles_1_1 && !totalFiles_1_1.done && (_a = totalFiles_1.return)) _a.call(totalFiles_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n var foEnd = this.buildFolderEnd(len, cL, lL);\n return fData + foData + foEnd;\n };\n ZipContainer.getHeader = function (currentFile, offset) {\n var content = currentFile.content, path = currentFile.path, created = currentFile.created, isBase64 = currentFile.isBase64;\n var utf8_encode = _.utf8_encode, decToHex = _.decToHex;\n var utfPath = utf8_encode(path);\n var isUTF8 = utfPath !== path;\n var time = this.convertTime(created);\n var dt = this.convertDate(created);\n var extraFields = '';\n if (isUTF8) {\n var uExtraFieldPath = decToHex(1, 1) + decToHex(this.getFromCrc32Table(utfPath), 4) + utfPath;\n extraFields = \"\\x75\\x70\" + decToHex(uExtraFieldPath.length, 2) + uExtraFieldPath;\n }\n var _a = !content ? { size: 0, content: '' } : this.getConvertedContent(content, isBase64), size = _a.size, convertedContent = _a.content;\n var header = '\\x0A\\x00' +\n (isUTF8 ? '\\x00\\x08' : '\\x00\\x00') +\n '\\x00\\x00' +\n decToHex(time, 2) + // last modified time\n decToHex(dt, 2) + // last modified date\n decToHex(size ? this.getFromCrc32Table(convertedContent) : 0, 4) +\n decToHex(size, 4) + // compressed size\n decToHex(size, 4) + // uncompressed size\n decToHex(utfPath.length, 2) + // file name length\n decToHex(extraFields.length, 2); // extra field length\n var fileHeader = 'PK\\x03\\x04' + header + utfPath + extraFields;\n var folderHeader = 'PK\\x01\\x02' + // central header\n '\\x14\\x00' +\n header + // file header\n '\\x00\\x00' +\n '\\x00\\x00' +\n '\\x00\\x00' +\n (content ? '\\x00\\x00\\x00\\x00' : '\\x10\\x00\\x00\\x00') + // external file attributes\n decToHex(offset, 4) + // relative offset of local header\n utfPath + // file name\n extraFields; // extra field\n return { fileHeader: fileHeader, folderHeader: folderHeader, content: convertedContent || '' };\n };\n ZipContainer.getConvertedContent = function (content, isBase64) {\n if (isBase64 === void 0) { isBase64 = false; }\n if (isBase64) {\n content = content.split(';base64,')[1];\n }\n content = isBase64 ? atob(content) : content;\n return {\n size: content.length,\n content: content\n };\n };\n ZipContainer.buildFolderEnd = function (tLen, cLen, lLen) {\n var decToHex = _.decToHex;\n return 'PK\\x05\\x06' + // central folder end\n '\\x00\\x00' +\n '\\x00\\x00' +\n decToHex(tLen, 2) + // total number of entries in the central folder\n decToHex(tLen, 2) + // total number of entries in the central folder\n decToHex(cLen, 4) + // size of the central folder\n decToHex(lLen, 4) + // central folder start offset\n '\\x00\\x00';\n };\n ZipContainer.buildUint8Array = function (content) {\n var uint8 = new Uint8Array(content.length);\n for (var i = 0; i < uint8.length; i++) {\n uint8[i] = content.charCodeAt(i);\n }\n return uint8;\n };\n ZipContainer.getFromCrc32Table = function (content) {\n if (!content.length) {\n return 0;\n }\n var size = content.length;\n var iterable = new Uint8Array(size);\n for (var i = 0; i < size; i++) {\n iterable[i] = content.charCodeAt(i);\n }\n var crc = 0 ^ (-1);\n var j = 0;\n var k = 0;\n var l = 0;\n for (var i = 0; i < size; i++) {\n j = iterable[i];\n k = (crc ^ j) & 0xFF;\n l = crcTable[k];\n crc = (crc >>> 8) ^ l;\n }\n return crc ^ (-1);\n };\n ZipContainer.convertTime = function (date) {\n var time = date.getHours();\n time <<= 6;\n time = time | date.getMinutes();\n time <<= 5;\n time = time | date.getSeconds() / 2;\n return time;\n };\n ZipContainer.convertDate = function (date) {\n var dt = date.getFullYear() - 1980;\n dt <<= 4;\n dt = dt | (date.getMonth() + 1);\n dt <<= 5;\n dt = dt | date.getDate();\n return dt;\n };\n ZipContainer.folders = [];\n ZipContainer.files = [];\n return ZipContainer;\n}());\n\nModuleRegistry.register(ClientSideRowModelModule, false);\r\nModuleRegistry.register(InfiniteRowModelModule, false);\r\nModuleRegistry.register(CsvExportModule, false);\n\nexports.AbstractHeaderCellCtrl = AbstractHeaderCellCtrl;\nexports.AgAbstractField = AgAbstractField;\nexports.AgAngleSelect = AgAngleSelect;\nexports.AgCheckbox = AgCheckbox;\nexports.AgColorPicker = AgColorPicker;\nexports.AgDialog = AgDialog;\nexports.AgGroupComponent = AgGroupComponent;\nexports.AgInputNumberField = AgInputNumberField;\nexports.AgInputRange = AgInputRange;\nexports.AgInputTextArea = AgInputTextArea;\nexports.AgInputTextField = AgInputTextField;\nexports.AgMenuItemComponent = AgMenuItemComponent;\nexports.AgMenuList = AgMenuList;\nexports.AgMenuPanel = AgMenuPanel;\nexports.AgPanel = AgPanel;\nexports.AgPromise = AgPromise;\nexports.AgRadioButton = AgRadioButton;\nexports.AgSelect = AgSelect;\nexports.AgSlider = AgSlider;\nexports.AgStackComponentsRegistry = AgStackComponentsRegistry;\nexports.AgToggleButton = AgToggleButton;\nexports.AlignedGridsService = AlignedGridsService;\nexports.AnimateShowChangeCellRenderer = AnimateShowChangeCellRenderer;\nexports.AnimateSlideCellRenderer = AnimateSlideCellRenderer;\nexports.AnimationFrameService = AnimationFrameService;\nexports.AutoScrollService = AutoScrollService;\nexports.AutoWidthCalculator = AutoWidthCalculator;\nexports.Autowired = Autowired;\nexports.BaseComponentWrapper = BaseComponentWrapper;\nexports.BaseCreator = BaseCreator;\nexports.BaseGridSerializingSession = BaseGridSerializingSession;\nexports.Bean = Bean;\nexports.BeanStub = BeanStub;\nexports.Beans = Beans;\nexports.BodyDropPivotTarget = BodyDropPivotTarget;\nexports.BodyDropTarget = BodyDropTarget;\nexports.CellComp = CellComp;\nexports.CellCtrl = CellCtrl;\nexports.CellNavigationService = CellNavigationService;\nexports.CellPositionUtils = CellPositionUtils;\nexports.ChangedPath = ChangedPath;\nexports.CheckboxSelectionComponent = CheckboxSelectionComponent;\nexports.ColDefUtil = ColDefUtil;\nexports.Color = Color;\nexports.Column = Column;\nexports.ColumnApi = ColumnApi;\nexports.ColumnFactory = ColumnFactory;\nexports.ColumnGroup = ColumnGroup;\nexports.ColumnKeyCreator = ColumnKeyCreator;\nexports.ColumnModel = ColumnModel;\nexports.ColumnUtils = ColumnUtils;\nexports.Component = Component;\nexports.ComponentUtil = ComponentUtil;\nexports.Constants = Constants;\nexports.Context = Context;\nexports.CssClassApplier = CssClassApplier;\nexports.CssClassManager = CssClassManager;\nexports.CsvCreator = CsvCreator;\nexports.CsvExportModule = CsvExportModule;\nexports.CtrlsService = CtrlsService;\nexports.CustomTooltipFeature = CustomTooltipFeature;\nexports.DateFilter = DateFilter;\nexports.DisplayedGroupCreator = DisplayedGroupCreator;\nexports.Downloader = Downloader;\nexports.DragAndDropService = DragAndDropService;\nexports.DragService = DragService;\nexports.Environment = Environment;\nexports.EventService = EventService;\nexports.Events = Events;\nexports.ExpressionService = ExpressionService;\nexports.FilterManager = FilterManager;\nexports.FloatingFilterMapper = FloatingFilterMapper;\nexports.FocusService = FocusService;\nexports.Grid = Grid;\nexports.GridApi = GridApi;\nexports.GridBodyComp = GridBodyComp;\nexports.GridBodyCtrl = GridBodyCtrl;\nexports.GridComp = GridComp;\nexports.GridCoreCreator = GridCoreCreator;\nexports.GridCtrl = GridCtrl;\nexports.GridHeaderComp = GridHeaderComp;\nexports.GridHeaderCtrl = GridHeaderCtrl;\nexports.GridOptionsWrapper = GridOptionsWrapper;\nexports.GridSerializer = GridSerializer;\nexports.GroupCellRenderer = GroupCellRenderer;\nexports.GroupCellRendererCtrl = GroupCellRendererCtrl;\nexports.GroupInstanceIdCreator = GroupInstanceIdCreator;\nexports.HeaderCellCtrl = HeaderCellCtrl;\nexports.HeaderFilterCellComp = HeaderFilterCellComp;\nexports.HeaderFilterCellCtrl = HeaderFilterCellCtrl;\nexports.HeaderGroupCellCtrl = HeaderGroupCellCtrl;\nexports.HeaderNavigationService = HeaderNavigationService;\nexports.HeaderPositionUtils = HeaderPositionUtils;\nexports.HeaderRowComp = HeaderRowComp;\nexports.HeaderRowContainerComp = HeaderRowContainerComp;\nexports.HeaderRowContainerCtrl = HeaderRowContainerCtrl;\nexports.HeaderRowCtrl = HeaderRowCtrl;\nexports.HorizontalResizeService = HorizontalResizeService;\nexports.KeyCode = KeyCode;\nexports.LargeTextCellEditor = LargeTextCellEditor;\nexports.Logger = Logger;\nexports.LoggerFactory = LoggerFactory;\nexports.ManagedFocusFeature = ManagedFocusFeature;\nexports.ModuleRegistry = ModuleRegistry;\nexports.MouseEventService = MouseEventService;\nexports.MoveColumnFeature = MoveColumnFeature;\nexports.NavigationService = NavigationService;\nexports.NumberFilter = NumberFilter;\nexports.NumberSequence = NumberSequence;\nexports.Optional = Optional;\nexports.PaginationProxy = PaginationProxy;\nexports.PinnedRowModel = PinnedRowModel;\nexports.PopupComponent = PopupComponent;\nexports.PopupEditorWrapper = PopupEditorWrapper;\nexports.PopupSelectCellEditor = PopupSelectCellEditor;\nexports.PopupService = PopupService;\nexports.PopupTextCellEditor = PopupTextCellEditor;\nexports.PositionableFeature = PositionableFeature;\nexports.PostConstruct = PostConstruct;\nexports.PreConstruct = PreConstruct;\nexports.PreDestroy = PreDestroy;\nexports.PropertyKeys = PropertyKeys;\nexports.ProvidedColumnGroup = ProvidedColumnGroup;\nexports.ProvidedFilter = ProvidedFilter;\nexports.Qualifier = Qualifier;\nexports.QuerySelector = QuerySelector;\nexports.RefSelector = RefSelector;\nexports.ResizeObserverService = ResizeObserverService;\nexports.RowContainerComp = RowContainerComp;\nexports.RowContainerCtrl = RowContainerCtrl;\nexports.RowCtrl = RowCtrl;\nexports.RowNode = RowNode;\nexports.RowNodeBlock = RowNodeBlock;\nexports.RowNodeBlockLoader = RowNodeBlockLoader;\nexports.RowNodeSorter = RowNodeSorter;\nexports.RowPositionUtils = RowPositionUtils;\nexports.RowRenderer = RowRenderer;\nexports.ScalarFilter = ScalarFilter;\nexports.ScrollVisibleService = ScrollVisibleService;\nexports.SelectCellEditor = SelectCellEditor;\nexports.SelectableService = SelectableService;\nexports.SelectionService = SelectionService;\nexports.SetLeftFeature = SetLeftFeature;\nexports.SimpleFilter = SimpleFilter;\nexports.SortController = SortController;\nexports.StandardMenuFactory = StandardMenuFactory;\nexports.StylingService = StylingService;\nexports.TabGuardComp = TabGuardComp;\nexports.TabGuardCtrl = TabGuardCtrl;\nexports.TabbedLayout = TabbedLayout;\nexports.TemplateService = TemplateService;\nexports.TextCellEditor = TextCellEditor;\nexports.TextFilter = TextFilter;\nexports.TextFloatingFilter = TextFloatingFilter;\nexports.Timer = Timer;\nexports.TouchListener = TouchListener;\nexports.UserComponentFactory = UserComponentFactory;\nexports.UserComponentRegistry = UserComponentRegistry;\nexports.ValueCache = ValueCache;\nexports.ValueFormatterService = ValueFormatterService;\nexports.ValueService = ValueService;\nexports.VanillaFrameworkOverrides = VanillaFrameworkOverrides;\nexports.VirtualList = VirtualList;\nexports.XmlFactory = XmlFactory;\nexports.ZipContainer = ZipContainer;\nexports._ = _;\nexports.defaultGroupComparator = defaultGroupComparator;\nexports.getRowContainerTypeForName = getRowContainerTypeForName;\nexports.simpleHttpRequest = simpleHttpRequest;\nexports.stringToArray = stringToArray;\n","// ag-grid-react v27.3.0\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar agGridReactLegacy_1 = require(\"./legacy/agGridReactLegacy\");\nvar agGridReactUi_1 = require(\"./reactUi/agGridReactUi\");\nvar AgGridReact = /** @class */ (function (_super) {\n __extends(AgGridReact, _super);\n function AgGridReact() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.setGridApi = function (api, columnApi) {\n _this.api = api;\n _this.columnApi = columnApi;\n };\n return _this;\n }\n AgGridReact.prototype.render = function () {\n var ReactComponentToUse = this.props.suppressReactUi ? agGridReactLegacy_1.AgGridReactLegacy : agGridReactUi_1.AgGridReactUi;\n return react_1.default.createElement(ReactComponentToUse, __assign({}, this.props, { setGridApi: this.setGridApi }));\n };\n return AgGridReact;\n}(react_1.Component));\nexports.AgGridReact = AgGridReact;\n","// ag-grid-react v27.3.0\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar prop_types_1 = __importDefault(require(\"prop-types\"));\nvar react_1 = __importStar(require(\"react\"));\nvar legacyReactComponent_1 = require(\"./legacyReactComponent\");\nvar agGridColumn_1 = require(\"../shared/agGridColumn\");\nvar changeDetectionService_1 = require(\"../shared/changeDetectionService\");\nvar newReactComponent_1 = require(\"../shared/newReactComponent\");\nvar portalManager_1 = require(\"../shared/portalManager\");\nvar reactFrameworkOverrides_1 = require(\"../shared/reactFrameworkOverrides\");\nvar AgGridReactLegacy = /** @class */ (function (_super) {\n __extends(AgGridReactLegacy, _super);\n function AgGridReactLegacy(props) {\n var _this = _super.call(this, props) || this;\n _this.props = props;\n _this.changeDetectionService = new changeDetectionService_1.ChangeDetectionService();\n _this.api = null;\n _this.destroyed = false;\n _this.SYNCHRONOUS_CHANGE_PROPERTIES = ['context'];\n _this.portalManager = new portalManager_1.PortalManager(_this, props.componentWrappingElement, props.maxComponentCreationTimeMs);\n return _this;\n }\n AgGridReactLegacy.prototype.render = function () {\n var _this = this;\n return react_1.default.createElement('div', {\n style: this.createStyleForDiv(),\n className: this.props.className,\n ref: function (e) {\n _this.eGridDiv = e;\n }\n }, this.portalManager.getPortals());\n };\n AgGridReactLegacy.prototype.createStyleForDiv = function () {\n return __assign({ height: '100%' }, (this.props.containerStyle || {}));\n };\n AgGridReactLegacy.prototype.componentDidMount = function () {\n var modules = this.props.modules || [];\n var gridParams = {\n providedBeanInstances: {\n agGridReact: this,\n frameworkComponentWrapper: new ReactFrameworkComponentWrapper(this, this.portalManager)\n },\n modules: modules,\n frameworkOverrides: new reactFrameworkOverrides_1.ReactFrameworkOverrides(false)\n };\n var gridOptions = this.props.gridOptions || {};\n var children = this.props.children;\n if (agGridColumn_1.AgGridColumn.hasChildColumns(children)) {\n gridOptions.columnDefs = agGridColumn_1.AgGridColumn.mapChildColumnDefs(children);\n }\n this.gridOptions = ag_grid_community_1.ComponentUtil.copyAttributesToGridOptions(gridOptions, this.props);\n // don't need the return value\n new ag_grid_community_1.Grid(this.eGridDiv, this.gridOptions, gridParams);\n this.api = this.gridOptions.api;\n this.columnApi = this.gridOptions.columnApi;\n this.props.setGridApi(this.api, this.columnApi);\n };\n AgGridReactLegacy.prototype.getStrategyTypeForProp = function (propKey) {\n if (propKey === 'rowData') {\n if (this.props.rowDataChangeDetectionStrategy) {\n return this.props.rowDataChangeDetectionStrategy;\n }\n else if (this.isImmutableDataActive()) {\n return changeDetectionService_1.ChangeDetectionStrategyType.IdentityCheck;\n }\n }\n // all other cases will default to DeepValueCheck\n return changeDetectionService_1.ChangeDetectionStrategyType.DeepValueCheck;\n };\n AgGridReactLegacy.prototype.isImmutableDataActive = function () {\n return (this.props.deltaRowDataMode || this.props.immutableData) || this.props.getRowId != null ||\n (this.props.gridOptions && (this.props.gridOptions.deltaRowDataMode\n || this.props.gridOptions.immutableData\n || this.props.gridOptions.getRowId != null));\n };\n AgGridReactLegacy.prototype.shouldComponentUpdate = function (nextProps) {\n this.processPropsChanges(this.props, nextProps);\n // we want full control of the dom, as AG Grid doesn't use React internally,\n // so for performance reasons we tell React we don't need render called after\n // property changes.\n return false;\n };\n AgGridReactLegacy.prototype.componentDidUpdate = function (prevProps) {\n this.processPropsChanges(prevProps, this.props);\n };\n AgGridReactLegacy.prototype.processPropsChanges = function (prevProps, nextProps) {\n var changes = {};\n this.extractGridPropertyChanges(prevProps, nextProps, changes);\n this.extractDeclarativeColDefChanges(nextProps, changes);\n this.processSynchronousChanges(changes);\n this.processAsynchronousChanges(changes);\n };\n AgGridReactLegacy.prototype.extractDeclarativeColDefChanges = function (nextProps, changes) {\n // if columnDefs are provided on gridOptions we use those - you can't combine both\n // we also skip if columnDefs are provided as a prop directly on AgGridReact\n if ((this.props.gridOptions && this.props.gridOptions.columnDefs) || this.props.columnDefs) {\n return;\n }\n var debugLogging = !!nextProps.debug;\n var propKey = 'columnDefs';\n var currentColDefs = this.gridOptions.columnDefs;\n if (agGridColumn_1.AgGridColumn.hasChildColumns(nextProps.children)) {\n var detectionStrategy = this.changeDetectionService.getStrategy(this.getStrategyTypeForProp(propKey));\n var newColDefs = agGridColumn_1.AgGridColumn.mapChildColumnDefs(nextProps.children);\n if (!detectionStrategy.areEqual(currentColDefs, newColDefs)) {\n if (debugLogging) {\n console.log(\"agGridReact: colDefs definitions changed\");\n }\n changes[propKey] =\n {\n previousValue: currentColDefs,\n currentValue: newColDefs\n };\n }\n }\n else if (currentColDefs && currentColDefs.length > 0) {\n changes[propKey] =\n {\n previousValue: currentColDefs,\n currentValue: []\n };\n }\n };\n AgGridReactLegacy.prototype.extractGridPropertyChanges = function (prevProps, nextProps, changes) {\n var _this = this;\n var debugLogging = !!nextProps.debug;\n Object.keys(nextProps).forEach(function (propKey) {\n if (ag_grid_community_1._.includes(ag_grid_community_1.ComponentUtil.ALL_PROPERTIES, propKey)) {\n var changeDetectionStrategy = _this.changeDetectionService.getStrategy(_this.getStrategyTypeForProp(propKey));\n if (!changeDetectionStrategy.areEqual(prevProps[propKey], nextProps[propKey])) {\n if (debugLogging) {\n console.log(\"agGridReact: [\" + propKey + \"] property changed\");\n }\n changes[propKey] = {\n previousValue: prevProps[propKey],\n currentValue: nextProps[propKey]\n };\n }\n }\n });\n ag_grid_community_1.ComponentUtil.getEventCallbacks().forEach(function (funcName) {\n if (prevProps[funcName] !== nextProps[funcName]) {\n if (debugLogging) {\n console.log(\"agGridReact: [\" + funcName + \"] event callback changed\");\n }\n changes[funcName] = {\n previousValue: prevProps[funcName],\n currentValue: nextProps[funcName]\n };\n }\n });\n };\n AgGridReactLegacy.prototype.componentWillUnmount = function () {\n if (this.api) {\n this.api.destroy();\n this.api = null;\n }\n this.destroyed = true;\n this.portalManager.destroy();\n };\n AgGridReactLegacy.prototype.isDisableStaticMarkup = function () {\n return this.props.disableStaticMarkup === true;\n };\n AgGridReactLegacy.prototype.isLegacyComponentRendering = function () {\n return this.props.legacyComponentRendering === true;\n };\n AgGridReactLegacy.prototype.processSynchronousChanges = function (changes) {\n var asyncChanges = __assign({}, changes);\n if (Object.keys(asyncChanges).length > 0) {\n var synchronousChanges_1 = {};\n this.SYNCHRONOUS_CHANGE_PROPERTIES.forEach(function (synchronousChangeProperty) {\n if (asyncChanges[synchronousChangeProperty]) {\n synchronousChanges_1[synchronousChangeProperty] = asyncChanges[synchronousChangeProperty];\n delete asyncChanges[synchronousChangeProperty];\n }\n });\n if (Object.keys(synchronousChanges_1).length > 0 && !!this.api) {\n ag_grid_community_1.ComponentUtil.processOnChange(synchronousChanges_1, this.gridOptions, this.api, this.columnApi);\n }\n }\n return asyncChanges;\n };\n AgGridReactLegacy.prototype.processAsynchronousChanges = function (changes) {\n var _this = this;\n if (Object.keys(changes).length > 0) {\n window.setTimeout(function () {\n // destroyed?\n if (_this.api) {\n ag_grid_community_1.ComponentUtil.processOnChange(changes, _this.gridOptions, _this.api, _this.columnApi);\n }\n });\n }\n };\n AgGridReactLegacy.MAX_COMPONENT_CREATION_TIME_IN_MS = 1000; // a second should be more than enough to instantiate a component\n AgGridReactLegacy.defaultProps = {\n legacyComponentRendering: false,\n disableStaticMarkup: false,\n maxComponentCreationTimeMs: AgGridReactLegacy.MAX_COMPONENT_CREATION_TIME_IN_MS\n };\n return AgGridReactLegacy;\n}(react_1.Component));\nexports.AgGridReactLegacy = AgGridReactLegacy;\nAgGridReactLegacy.propTypes = {\n gridOptions: prop_types_1.default.object\n};\naddProperties(ag_grid_community_1.ComponentUtil.getEventCallbacks(), prop_types_1.default.func);\naddProperties(ag_grid_community_1.ComponentUtil.BOOLEAN_PROPERTIES, prop_types_1.default.bool);\naddProperties(ag_grid_community_1.ComponentUtil.STRING_PROPERTIES, prop_types_1.default.string);\naddProperties(ag_grid_community_1.ComponentUtil.OBJECT_PROPERTIES, prop_types_1.default.object);\naddProperties(ag_grid_community_1.ComponentUtil.ARRAY_PROPERTIES, prop_types_1.default.array);\naddProperties(ag_grid_community_1.ComponentUtil.NUMBER_PROPERTIES, prop_types_1.default.number);\naddProperties(ag_grid_community_1.ComponentUtil.FUNCTION_PROPERTIES, prop_types_1.default.func);\nfunction addProperties(listOfProps, propType) {\n listOfProps.forEach(function (propKey) {\n AgGridReactLegacy[propKey] = propType;\n });\n}\nvar ReactFrameworkComponentWrapper = /** @class */ (function (_super) {\n __extends(ReactFrameworkComponentWrapper, _super);\n function ReactFrameworkComponentWrapper(agGridReact, portalManager) {\n var _this = _super.call(this) || this;\n _this.agGridReact = agGridReact;\n _this.portalManager = portalManager;\n return _this;\n }\n ReactFrameworkComponentWrapper.prototype.createWrapper = function (UserReactComponent, componentType) {\n if (this.agGridReact.isLegacyComponentRendering()) {\n return new legacyReactComponent_1.LegacyReactComponent(UserReactComponent, this.agGridReact, this.portalManager, componentType);\n }\n else {\n return new newReactComponent_1.NewReactComponent(UserReactComponent, this.portalManager, componentType);\n }\n };\n return ReactFrameworkComponentWrapper;\n}(ag_grid_community_1.BaseComponentWrapper));\n","// ag-grid-react v27.3.0\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nvar react_dom_1 = require(\"react-dom\");\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar reactComponent_1 = require(\"../shared/reactComponent\");\nvar server_1 = require(\"react-dom/server\");\nvar keyGenerator_1 = __importDefault(require(\"../shared/keyGenerator\"));\nvar LegacyReactComponent = /** @class */ (function (_super) {\n __extends(LegacyReactComponent, _super);\n function LegacyReactComponent(reactComponent, parentComponent, portalManager, componentType) {\n var _this = _super.call(this, reactComponent, portalManager, componentType) || this;\n _this.staticMarkup = null;\n _this.staticRenderTime = 0;\n _this.parentComponent = parentComponent;\n return _this;\n }\n LegacyReactComponent.prototype.init = function (params) {\n var _this = this;\n this.eParentElement = this.createParentElement(params);\n this.renderStaticMarkup(params);\n return new ag_grid_community_1.AgPromise(function (resolve) { return _this.createReactComponent(params, resolve); });\n };\n LegacyReactComponent.prototype.createReactComponent = function (params, resolve) {\n var _this = this;\n // regular components (ie not functional)\n if (!this.isStatelessComponent()) {\n // grab hold of the actual instance created\n params.ref = function (element) {\n _this.componentInstance = element;\n _this.addParentContainerStyleAndClasses();\n _this.removeStaticMarkup();\n };\n }\n var reactComponent = react_1.createElement(this.reactComponent, params);\n var portal = react_dom_1.createPortal(reactComponent, this.eParentElement, keyGenerator_1.default() // fixed deltaRowModeRefreshCompRenderer\n );\n this.portal = portal;\n this.portalManager.mountReactPortal(portal, this, function (value) {\n resolve(value);\n // functional/stateless components have a slightly different lifecycle (no refs) so we'll clean them up\n // here\n if (_this.isStatelessComponent()) {\n if (_this.isSlowRenderer()) {\n _this.removeStaticMarkup();\n }\n setTimeout(function () {\n _this.removeStaticMarkup();\n });\n }\n });\n };\n LegacyReactComponent.prototype.fallbackMethodAvailable = function (name) {\n return false;\n };\n LegacyReactComponent.prototype.fallbackMethod = function (name, params) { };\n LegacyReactComponent.prototype.isSlowRenderer = function () {\n return this.staticRenderTime >= LegacyReactComponent.SLOW_RENDERING_THRESHOLD;\n };\n LegacyReactComponent.prototype.isNullValue = function () {\n return this.staticMarkup === '';\n };\n /*\n * Attempt to render the component as static markup if possible\n * What this does is eliminate any visible flicker for the user in the scenario where a component is destroyed and\n * recreated with exactly the same data (ie with force refresh)\n * Note: Some use cases will throw an error (ie when using Context) so if an error occurs just ignore it any move on\n */\n LegacyReactComponent.prototype.renderStaticMarkup = function (params) {\n if (this.parentComponent.isDisableStaticMarkup() || !this.componentType.cellRenderer) {\n return;\n }\n var originalConsoleError = console.error;\n var reactComponent = react_1.createElement(this.reactComponent, params);\n try {\n // if a user is doing anything that uses useLayoutEffect (like material ui) then it will throw and we\n // can't do anything to stop it; this is just a warning and has no effect on anything so just suppress it\n // for this single operation\n console.error = function () {\n };\n var start = Date.now();\n var staticMarkup = server_1.renderToStaticMarkup(reactComponent);\n this.staticRenderTime = Date.now() - start;\n console.error = originalConsoleError;\n // if the render method returns null the result will be an empty string\n if (staticMarkup === '') {\n this.staticMarkup = staticMarkup;\n }\n else {\n if (staticMarkup) {\n // we wrap the content as if there is \"trailing\" text etc it's not easy to safely remove\n // the same is true for memoized renderers, renderers that that return simple strings or NaN etc\n this.staticMarkup = document.createElement('span');\n this.staticMarkup.innerHTML = staticMarkup;\n this.eParentElement.appendChild(this.staticMarkup);\n }\n }\n }\n catch (e) {\n // we tried - this can happen with certain (rare) edge cases\n }\n finally {\n console.error = originalConsoleError;\n }\n };\n LegacyReactComponent.prototype.removeStaticMarkup = function () {\n if (this.parentComponent.isDisableStaticMarkup() || !this.componentType.cellRenderer) {\n return;\n }\n if (this.staticMarkup) {\n if (this.staticMarkup.remove) {\n // everyone else in the world\n this.staticMarkup.remove();\n this.staticMarkup = null;\n }\n else if (this.eParentElement.removeChild) {\n // ie11...\n this.eParentElement.removeChild(this.staticMarkup);\n this.staticMarkup = null;\n }\n }\n };\n LegacyReactComponent.prototype.rendered = function () {\n return this.isNullValue() ||\n !!this.staticMarkup || (this.isStatelessComponent() && this.statelessComponentRendered()) ||\n !!(!this.isStatelessComponent() && this.getFrameworkComponentInstance());\n };\n LegacyReactComponent.SLOW_RENDERING_THRESHOLD = 3;\n return LegacyReactComponent;\n}(reactComponent_1.ReactComponent));\nexports.LegacyReactComponent = LegacyReactComponent;\n","// ag-grid-react v27.3.0\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar react_1 = __importStar(require(\"react\"));\nvar agGridColumn_1 = require(\"../shared/agGridColumn\");\nvar changeDetectionService_1 = require(\"../shared/changeDetectionService\");\nvar newReactComponent_1 = require(\"../shared/newReactComponent\");\nvar portalManager_1 = require(\"../shared/portalManager\");\nvar gridComp_1 = __importDefault(require(\"./gridComp\"));\nvar reactFrameworkOverrides_1 = require(\"../shared/reactFrameworkOverrides\");\nfunction debug(msg, obj) {\n // console.log(msg, obj);\n}\nvar AgGridReactUi = /** @class */ (function (_super) {\n __extends(AgGridReactUi, _super);\n function AgGridReactUi(props) {\n var _this = _super.call(this, props) || this;\n _this.props = props;\n _this.destroyFuncs = [];\n _this.changeDetectionService = new changeDetectionService_1.ChangeDetectionService();\n _this.eGui = react_1.default.createRef();\n _this.whenReadyFuncs = [];\n _this.ready = false;\n _this.renderedAfterMount = false;\n _this.mounted = false;\n debug('AgGridReactUi.constructor');\n _this.state = { context: undefined };\n _this.portalManager = new portalManager_1.PortalManager(_this, props.componentWrappingElement, props.maxComponentCreationTimeMs);\n _this.destroyFuncs.push(function () { return _this.portalManager.destroy(); });\n return _this;\n }\n AgGridReactUi.prototype.render = function () {\n debug('AgGridReactUi.render, context = ' + (this.state.context));\n if (this.state.context) {\n this.renderedAfterMount = true;\n }\n return (react_1.default.createElement(\"div\", { style: this.createStyleForDiv(), className: this.props.className, ref: this.eGui },\n this.state.context && react_1.default.createElement(gridComp_1.default, { context: this.state.context }),\n this.portalManager.getPortals()));\n };\n AgGridReactUi.prototype.createStyleForDiv = function () {\n return __assign({ height: '100%' }, (this.props.containerStyle || {}));\n };\n AgGridReactUi.prototype.componentDidMount = function () {\n var _this = this;\n if (this.mounted) {\n debug('AgGridReactUi.componentDidMount - skipping');\n return;\n }\n debug('AgGridReactUi.componentDidMount');\n this.mounted = true;\n var modules = this.props.modules || [];\n var gridParams = {\n providedBeanInstances: {\n frameworkComponentWrapper: new ReactFrameworkComponentWrapper(this.portalManager)\n },\n modules: modules,\n frameworkOverrides: new reactFrameworkOverrides_1.ReactFrameworkOverrides(true)\n };\n this.gridOptions = this.props.gridOptions || {};\n var children = this.props.children;\n if (agGridColumn_1.AgGridColumn.hasChildColumns(children)) {\n this.gridOptions.columnDefs = agGridColumn_1.AgGridColumn.mapChildColumnDefs(children);\n }\n this.gridOptions = ag_grid_community_1.ComponentUtil.copyAttributesToGridOptions(this.gridOptions, this.props);\n var createUiCallback = function (context) {\n _this.setState({ context: context });\n // because React is Async, we need to wait for the UI to be initialised before exposing the API's\n var ctrlsService = context.getBean(ag_grid_community_1.CtrlsService.NAME);\n ctrlsService.whenReady(function () {\n debug('AgGridReactUi.createUiCallback');\n _this.api = _this.gridOptions.api;\n _this.columnApi = _this.gridOptions.columnApi;\n _this.props.setGridApi(_this.api, _this.columnApi);\n _this.destroyFuncs.push(function () { return _this.api.destroy(); });\n });\n };\n // this callback adds to ctrlsService.whenReady(), just like above, however because whenReady() executes\n // funcs in the order they were received, we know adding items here will be AFTER the grid has set columns\n // and data. this is because GridCoreCreator sets these between calling createUiCallback and acceptChangesCallback\n var acceptChangesCallback = function (context) {\n var ctrlsService = context.getBean(ag_grid_community_1.CtrlsService.NAME);\n ctrlsService.whenReady(function () {\n debug('AgGridReactUi.acceptChangesCallback');\n _this.whenReadyFuncs.forEach(function (f) { return f(); });\n _this.whenReadyFuncs.length = 0;\n _this.ready = true;\n });\n };\n // don't need the return value\n var gridCoreCreator = new ag_grid_community_1.GridCoreCreator();\n gridCoreCreator.create(this.eGui.current, this.gridOptions, createUiCallback, acceptChangesCallback, gridParams);\n };\n AgGridReactUi.prototype.componentWillUnmount = function () {\n if (this.renderedAfterMount) {\n debug('AgGridReactUi.componentWillUnmount - executing');\n this.destroyFuncs.forEach(function (f) { return f(); });\n this.destroyFuncs.length = 0;\n }\n else {\n debug('AgGridReactUi.componentWillUnmount - skipping');\n }\n };\n AgGridReactUi.prototype.componentDidUpdate = function (prevProps) {\n this.processPropsChanges(prevProps, this.props);\n };\n AgGridReactUi.prototype.processPropsChanges = function (prevProps, nextProps) {\n var changes = {};\n this.extractGridPropertyChanges(prevProps, nextProps, changes);\n this.extractDeclarativeColDefChanges(nextProps, changes);\n this.processChanges(changes);\n };\n AgGridReactUi.prototype.extractDeclarativeColDefChanges = function (nextProps, changes) {\n // if columnDefs are provided on gridOptions we use those - you can't combine both\n // we also skip if columnDefs are provided as a prop directly on AgGridReact\n if ((this.props.gridOptions && this.props.gridOptions.columnDefs) || this.props.columnDefs) {\n return;\n }\n var debugLogging = !!nextProps.debug;\n var propKey = 'columnDefs';\n var currentColDefs = this.gridOptions.columnDefs;\n if (agGridColumn_1.AgGridColumn.hasChildColumns(nextProps.children)) {\n var detectionStrategy = this.changeDetectionService.getStrategy(this.getStrategyTypeForProp(propKey));\n var newColDefs = agGridColumn_1.AgGridColumn.mapChildColumnDefs(nextProps.children);\n if (!detectionStrategy.areEqual(currentColDefs, newColDefs)) {\n if (debugLogging) {\n console.log(\"agGridReact: colDefs definitions changed\");\n }\n changes[propKey] =\n {\n previousValue: currentColDefs,\n currentValue: newColDefs\n };\n }\n }\n else if (currentColDefs && currentColDefs.length > 0) {\n changes[propKey] =\n {\n previousValue: currentColDefs,\n currentValue: []\n };\n }\n };\n AgGridReactUi.prototype.extractGridPropertyChanges = function (prevProps, nextProps, changes) {\n var _this = this;\n var debugLogging = !!nextProps.debug;\n Object.keys(nextProps).forEach(function (propKey) {\n if (ag_grid_community_1._.includes(ag_grid_community_1.ComponentUtil.ALL_PROPERTIES, propKey)) {\n var changeDetectionStrategy = _this.changeDetectionService.getStrategy(_this.getStrategyTypeForProp(propKey));\n if (!changeDetectionStrategy.areEqual(prevProps[propKey], nextProps[propKey])) {\n if (debugLogging) {\n console.log(\"agGridReact: [\" + propKey + \"] property changed\");\n }\n changes[propKey] = {\n previousValue: prevProps[propKey],\n currentValue: nextProps[propKey]\n };\n }\n }\n });\n ag_grid_community_1.ComponentUtil.getEventCallbacks().forEach(function (funcName) {\n if (prevProps[funcName] !== nextProps[funcName]) {\n if (debugLogging) {\n console.log(\"agGridReact: [\" + funcName + \"] event callback changed\");\n }\n changes[funcName] = {\n previousValue: prevProps[funcName],\n currentValue: nextProps[funcName]\n };\n }\n });\n };\n AgGridReactUi.prototype.processChanges = function (changes) {\n var _this = this;\n this.processWhenReady(function () {\n return ag_grid_community_1.ComponentUtil.processOnChange(changes, _this.gridOptions, _this.api, _this.columnApi);\n });\n };\n AgGridReactUi.prototype.processWhenReady = function (func) {\n if (this.ready) {\n debug('AgGridReactUi.processWhenReady sync');\n func();\n }\n else {\n debug('AgGridReactUi.processWhenReady async');\n this.whenReadyFuncs.push(func);\n }\n };\n AgGridReactUi.prototype.getStrategyTypeForProp = function (propKey) {\n if (propKey === 'rowData') {\n if (this.props.rowDataChangeDetectionStrategy) {\n return this.props.rowDataChangeDetectionStrategy;\n }\n if (this.isImmutableDataActive()) {\n return changeDetectionService_1.ChangeDetectionStrategyType.IdentityCheck;\n }\n }\n // all other cases will default to DeepValueCheck\n return changeDetectionService_1.ChangeDetectionStrategyType.DeepValueCheck;\n };\n AgGridReactUi.prototype.isImmutableDataActive = function () {\n return (this.props.deltaRowDataMode || this.props.immutableData || this.props.getRowId != null) ||\n (this.props.gridOptions && (this.props.gridOptions.deltaRowDataMode\n || this.props.gridOptions.immutableData\n || this.props.gridOptions.getRowId != null));\n };\n return AgGridReactUi;\n}(react_1.Component));\nexports.AgGridReactUi = AgGridReactUi;\nvar ReactFrameworkComponentWrapper = /** @class */ (function (_super) {\n __extends(ReactFrameworkComponentWrapper, _super);\n function ReactFrameworkComponentWrapper(parent) {\n var _this = _super.call(this) || this;\n _this.parent = parent;\n return _this;\n }\n ReactFrameworkComponentWrapper.prototype.createWrapper = function (UserReactComponent, componentType) {\n return new newReactComponent_1.NewReactComponent(UserReactComponent, this.parent, componentType);\n };\n return ReactFrameworkComponentWrapper;\n}(ag_grid_community_1.BaseComponentWrapper));\n","// ag-grid-react v27.3.0\n\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nexports.BeansContext = react_1.default.createContext({});\n","// ag-grid-react v27.3.0\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar utils_1 = require(\"../utils\");\nvar beansContext_1 = require(\"../beansContext\");\nvar agGridReactUi_1 = require(\"../agGridReactUi\");\nvar useEffectOnce_1 = require(\"../useEffectOnce\");\nvar DetailCellRenderer = function (props, ref) {\n var _a = react_1.useContext(beansContext_1.BeansContext), ctrlsFactory = _a.ctrlsFactory, context = _a.context, gridOptionsWrapper = _a.gridOptionsWrapper, resizeObserverService = _a.resizeObserverService, clientSideRowModel = _a.clientSideRowModel, serverSideRowModel = _a.serverSideRowModel;\n var _b = react_1.useState(new utils_1.CssClasses()), cssClasses = _b[0], setCssClasses = _b[1];\n var _c = react_1.useState(new utils_1.CssClasses()), gridCssClasses = _c[0], setGridCssClasses = _c[1];\n var _d = react_1.useState(), detailGridOptions = _d[0], setDetailGridOptions = _d[1];\n var _e = react_1.useState(), detailRowData = _e[0], setDetailRowData = _e[1];\n var ctrlRef = react_1.useRef();\n var eGuiRef = react_1.useRef(null);\n var topClassName = react_1.useMemo(function () { return cssClasses.toString() + ' ag-details-row'; }, [cssClasses]);\n var gridClassName = react_1.useMemo(function () { return gridCssClasses.toString() + ' ag-details-grid'; }, [gridCssClasses]);\n if (ref) {\n react_1.useImperativeHandle(ref, function () { return ({\n refresh: function () { return ctrlRef.current.refresh(); }\n }); });\n }\n useEffectOnce_1.useEffectOnce(function () {\n if (props.template && typeof props.template === 'string') {\n console.warn('AG Grid: detailCellRendererParams.template is not supported by React - this only works with frameworks that work against String templates. To change the template, please provide your own React Detail Cell Renderer.');\n }\n });\n useEffectOnce_1.useEffectOnce(function () {\n var compProxy = {\n addOrRemoveCssClass: function (name, on) { return setCssClasses(function (prev) { return prev.setClass(name, on); }); },\n addOrRemoveDetailGridCssClass: function (name, on) { return setGridCssClasses(function (prev) { return prev.setClass(name, on); }); },\n setDetailGrid: function (gridOptions) { return setDetailGridOptions(gridOptions); },\n setRowData: function (rowData) { return setDetailRowData(rowData); },\n getGui: function () { return eGuiRef.current; }\n };\n var ctrl = ctrlsFactory.getInstance('detailCellRenderer');\n if (!ctrl) {\n return;\n } // should never happen, means master/detail module not loaded\n context.createBean(ctrl);\n ctrl.init(compProxy, props);\n ctrlRef.current = ctrl;\n var resizeObserverDestroyFunc;\n if (gridOptionsWrapper.isDetailRowAutoHeight()) {\n var checkRowSizeFunc = function () {\n // when disposed, current is null, so nothing to do, and the resize observer will\n // be disposed of soon\n if (eGuiRef.current == null) {\n return;\n }\n var clientHeight = eGuiRef.current.clientHeight;\n // if the UI is not ready, the height can be 0, which we ignore, as otherwise a flicker will occur\n // as UI goes from the default height, to 0, then to the real height as UI becomes ready. this means\n // it's not possible for have 0 as auto-height, however this is an improbable use case, as even an\n // empty detail grid would still have some styling around it giving at least a few pixels.\n if (clientHeight != null && clientHeight > 0) {\n // we do the update in a timeout, to make sure we are not calling from inside the grid\n // doing another update\n var updateRowHeightFunc = function () {\n props.node.setRowHeight(clientHeight);\n if (clientSideRowModel) {\n clientSideRowModel.onRowHeightChanged();\n }\n else if (serverSideRowModel) {\n serverSideRowModel.onRowHeightChanged();\n }\n };\n setTimeout(updateRowHeightFunc, 0);\n }\n };\n resizeObserverDestroyFunc = resizeObserverService.observeResize(eGuiRef.current, checkRowSizeFunc);\n checkRowSizeFunc();\n }\n return function () {\n context.destroyBean(ctrl);\n if (resizeObserverDestroyFunc) {\n resizeObserverDestroyFunc();\n }\n };\n });\n var setGridApi = react_1.useCallback(function (api, columnApi) {\n ctrlRef.current.registerDetailWithMaster(api, columnApi);\n }, []);\n return (react_1.default.createElement(\"div\", { className: topClassName, ref: eGuiRef }, detailGridOptions &&\n react_1.default.createElement(agGridReactUi_1.AgGridReactUi, __assign({ className: gridClassName }, detailGridOptions, { rowData: detailRowData, setGridApi: setGridApi }))));\n};\nexports.default = react_1.forwardRef(DetailCellRenderer);\n","// ag-grid-react v27.3.0\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar react_1 = __importStar(require(\"react\"));\nvar beansContext_1 = require(\"../beansContext\");\nvar jsComp_1 = require(\"../jsComp\");\nvar useEffectOnce_1 = require(\"../useEffectOnce\");\nvar utils_1 = require(\"../utils\");\nvar GroupCellRenderer = react_1.forwardRef(function (props, ref) {\n var context = react_1.useContext(beansContext_1.BeansContext).context;\n var eGui = react_1.useRef(null);\n var eValueRef = react_1.useRef(null);\n var eCheckboxRef = react_1.useRef(null);\n var eExpandedRef = react_1.useRef(null);\n var eContractedRef = react_1.useRef(null);\n var _a = react_1.useState(), innerCompDetails = _a[0], setInnerCompDetails = _a[1];\n var _b = react_1.useState(), childCount = _b[0], setChildCount = _b[1];\n var _c = react_1.useState(), value = _c[0], setValue = _c[1];\n var _d = react_1.useState(new utils_1.CssClasses()), cssClasses = _d[0], setCssClasses = _d[1];\n var _e = react_1.useState(new utils_1.CssClasses('ag-hidden')), expandedCssClasses = _e[0], setExpandedCssClasses = _e[1];\n var _f = react_1.useState(new utils_1.CssClasses('ag-hidden')), contractedCssClasses = _f[0], setContractedCssClasses = _f[1];\n var _g = react_1.useState(new utils_1.CssClasses('ag-invisible')), checkboxCssClasses = _g[0], setCheckboxCssClasses = _g[1];\n react_1.useImperativeHandle(ref, function () {\n return {\n // force new instance when grid tries to refresh\n refresh: function () { return false; }\n };\n });\n react_1.useEffect(function () {\n return jsComp_1.showJsComp(innerCompDetails, context, eValueRef.current);\n }, [innerCompDetails]);\n useEffectOnce_1.useEffectOnce(function () {\n var compProxy = {\n setInnerRenderer: function (details, valueToDisplay) {\n setInnerCompDetails(details);\n setValue(valueToDisplay);\n },\n setChildCount: function (count) { return setChildCount(count); },\n addOrRemoveCssClass: function (name, on) { return setCssClasses(function (prev) { return prev.setClass(name, on); }); },\n setContractedDisplayed: function (displayed) { return setContractedCssClasses(function (prev) { return prev.setClass('ag-hidden', !displayed); }); },\n setExpandedDisplayed: function (displayed) { return setExpandedCssClasses(function (prev) { return prev.setClass('ag-hidden', !displayed); }); },\n setCheckboxVisible: function (visible) { return setCheckboxCssClasses(function (prev) { return prev.setClass('ag-invisible', !visible); }); }\n };\n var ctrl = context.createBean(new ag_grid_community_1.GroupCellRendererCtrl());\n ctrl.init(compProxy, eGui.current, eCheckboxRef.current, eExpandedRef.current, eContractedRef.current, GroupCellRenderer, props);\n return function () { context.destroyBean(ctrl); };\n });\n var className = react_1.useMemo(function () { return \"ag-cell-wrapper \" + cssClasses.toString(); }, [cssClasses]);\n var expandedClassName = react_1.useMemo(function () { return \"ag-group-expanded \" + expandedCssClasses.toString(); }, [expandedCssClasses]);\n var contractedClassName = react_1.useMemo(function () { return \"ag-group-contracted \" + contractedCssClasses.toString(); }, [contractedCssClasses]);\n var checkboxClassName = react_1.useMemo(function () { return \"ag-group-checkbox \" + checkboxCssClasses.toString(); }, [checkboxCssClasses]);\n var useFwRenderer = innerCompDetails && innerCompDetails.componentFromFramework;\n var FwRenderer = useFwRenderer ? innerCompDetails.componentClass : undefined;\n var useValue = innerCompDetails == null && value != null;\n return (react_1.default.createElement(\"span\", __assign({ className: className, ref: eGui }, (!props.colDef ? { role: 'gridcell' } : {})),\n react_1.default.createElement(\"span\", { className: expandedClassName, ref: eExpandedRef }),\n react_1.default.createElement(\"span\", { className: contractedClassName, ref: eContractedRef }),\n react_1.default.createElement(\"span\", { className: checkboxClassName, ref: eCheckboxRef }),\n react_1.default.createElement(\"span\", { className: \"ag-group-value\", ref: eValueRef },\n useValue && react_1.default.createElement(react_1.default.Fragment, null, value),\n useFwRenderer && react_1.default.createElement(FwRenderer, __assign({}, innerCompDetails.params))),\n react_1.default.createElement(\"span\", { className: \"ag-group-child-count\" }, childCount)));\n});\n// we do not memo() here, as it would stop the forwardRef working\nexports.default = GroupCellRenderer;\n","// ag-grid-react v27.3.0\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar react_1 = __importStar(require(\"react\"));\nvar utils_1 = require(\"../utils\");\nvar popupEditorComp_1 = __importDefault(require(\"./popupEditorComp\"));\nvar showJsRenderer_1 = __importDefault(require(\"./showJsRenderer\"));\nvar beansContext_1 = require(\"../beansContext\");\nvar jsComp_1 = require(\"../jsComp\");\nvar useEffectOnce_1 = require(\"../useEffectOnce\");\nvar CellCompState;\n(function (CellCompState) {\n CellCompState[CellCompState[\"ShowValue\"] = 0] = \"ShowValue\";\n CellCompState[CellCompState[\"EditValue\"] = 1] = \"EditValue\";\n})(CellCompState = exports.CellCompState || (exports.CellCompState = {}));\nvar checkCellEditorDeprecations = function (popup, cellEditor, cellCtrl) {\n var col = cellCtrl.getColumn();\n // cellEditor is written to be a popup editor, however colDef.cellEditorPopup is not set\n if (!popup && cellEditor.isPopup && cellEditor.isPopup()) {\n var msg_1 = \"AG Grid: Found an issue in column \" + col.getColId() + \". If using React, specify an editor is a popup using colDef.cellEditorPopup=true. AG Grid React cannot depend on the editor component specifying if it's in a popup (via the isPopup() method on the editor), as React needs to know this information BEFORE the component is created.\";\n ag_grid_community_1._.doOnce(function () { return console.warn(msg_1); }, 'jsEditorComp-isPopup-' + cellCtrl.getColumn().getColId());\n }\n // cellEditor is a popup and is trying to position itself the deprecated way\n if (popup && cellEditor.getPopupPosition && cellEditor.getPopupPosition() != null) {\n var msg_2 = \"AG Grid: Found an issue in column \" + col.getColId() + \". If using React, specify an editor popup position using colDef.cellEditorPopupPosition=true. AG Grid React cannot depend on the editor component specifying it's position (via the getPopupPosition() method on the editor), as React needs to know this information BEFORE the component is created.\";\n ag_grid_community_1._.doOnce(function () { return console.warn(msg_2); }, 'jsEditorComp-getPopupPosition-' + cellCtrl.getColumn().getColId());\n }\n};\nvar jsxEditValue = function (editDetails, setInlineCellEditorRef, setPopupCellEditorRef, eGui, cellCtrl, jsEditorComp) {\n var compDetails = editDetails.compDetails;\n var CellEditorClass = compDetails.componentClass;\n var reactInlineEditor = compDetails.componentFromFramework && !editDetails.popup;\n var reactPopupEditor = compDetails.componentFromFramework && editDetails.popup;\n var jsPopupEditor = !compDetails.componentFromFramework && editDetails.popup;\n return (react_1.default.createElement(react_1.default.Fragment, null,\n reactInlineEditor\n && react_1.default.createElement(CellEditorClass, __assign({}, editDetails.compDetails.params, { ref: setInlineCellEditorRef })),\n reactPopupEditor\n && react_1.default.createElement(popupEditorComp_1.default, { editDetails: editDetails, cellCtrl: cellCtrl, eParentCell: eGui, wrappedContent: react_1.default.createElement(CellEditorClass, __assign({}, editDetails.compDetails.params, { ref: setPopupCellEditorRef })) }),\n jsPopupEditor && jsEditorComp && react_1.default.createElement(popupEditorComp_1.default, { editDetails: editDetails, cellCtrl: cellCtrl, eParentCell: eGui, jsChildComp: jsEditorComp })));\n};\nvar jsxShowValue = function (showDetails, key, parentId, cellRendererRef, showCellWrapper, reactCellRendererStateless, setECellValue) {\n var compDetails = showDetails.compDetails, value = showDetails.value;\n var noCellRenderer = !compDetails;\n var reactCellRenderer = compDetails && compDetails.componentFromFramework;\n var CellRendererClass = compDetails && compDetails.componentClass;\n // if we didn't do this, objects would cause React error. we depend on objects for things\n // like the aggregation functions avg and count, which return objects and depend on toString()\n // getting called.\n var valueForNoCellRenderer = (value && value.toString) ? value.toString() : value;\n var bodyJsxFunc = function () { return (react_1.default.createElement(react_1.default.Fragment, null,\n noCellRenderer && react_1.default.createElement(react_1.default.Fragment, null, valueForNoCellRenderer),\n reactCellRenderer && !reactCellRendererStateless && react_1.default.createElement(CellRendererClass, __assign({}, compDetails.params, { key: key, ref: cellRendererRef })),\n reactCellRenderer && reactCellRendererStateless && react_1.default.createElement(CellRendererClass, __assign({}, compDetails.params, { key: key })))); };\n return (react_1.default.createElement(react_1.default.Fragment, null, showCellWrapper ?\n react_1.default.createElement(\"span\", { role: \"presentation\", id: \"cell-\" + parentId, className: \"ag-cell-value\", ref: setECellValue }, bodyJsxFunc())\n :\n bodyJsxFunc()));\n};\nvar CellComp = function (props) {\n var context = react_1.useContext(beansContext_1.BeansContext).context;\n var cellCtrl = props.cellCtrl, printLayout = props.printLayout, editingRow = props.editingRow;\n var _a = react_1.useState(), renderDetails = _a[0], setRenderDetails = _a[1];\n var _b = react_1.useState(), editDetails = _b[0], setEditDetails = _b[1];\n var _c = react_1.useState(1), renderKey = _c[0], setRenderKey = _c[1];\n var _d = react_1.useState(new utils_1.CssClasses()), cssClasses = _d[0], setCssClasses = _d[1];\n var _e = react_1.useState(), userStyles = _e[0], setUserStyles = _e[1];\n var _f = react_1.useState(), tabIndex = _f[0], setTabIndex = _f[1];\n var _g = react_1.useState(), ariaDescribedBy = _g[0], setAriaDescribedBy = _g[1];\n var _h = react_1.useState(), role = _h[0], setRole = _h[1];\n var _j = react_1.useState(), colId = _j[0], setColId = _j[1];\n var _k = react_1.useState(), title = _k[0], setTitle = _k[1];\n var _l = react_1.useState(false), includeSelection = _l[0], setIncludeSelection = _l[1];\n var _m = react_1.useState(false), includeRowDrag = _m[0], setIncludeRowDrag = _m[1];\n var _o = react_1.useState(false), includeDndSource = _o[0], setIncludeDndSource = _o[1];\n var _p = react_1.useState(), jsEditorComp = _p[0], setJsEditorComp = _p[1];\n var forceWrapper = react_1.useMemo(function () { return cellCtrl.isForceWrapper(); }, []);\n var eGui = react_1.useRef(null);\n var cellRendererRef = react_1.useRef(null);\n var jsCellRendererRef = react_1.useRef();\n var cellEditorRef = react_1.useRef();\n // when setting the ref, we also update the state item to force a re-render\n var eCellWrapper = react_1.useRef();\n var _q = react_1.useState(0), cellWrapperVersion = _q[0], setCellWrapperVersion = _q[1];\n var setCellWrapperRef = react_1.useCallback(function (ref) {\n eCellWrapper.current = ref;\n setCellWrapperVersion(function (v) { return v + 1; });\n }, []);\n // when setting the ref, we also update the state item to force a re-render\n var eCellValue = react_1.useRef();\n var _r = react_1.useState(0), cellValueVersion = _r[0], setCellValueVersion = _r[1];\n var setCellValueRef = react_1.useCallback(function (ref) {\n eCellValue.current = ref;\n setCellValueVersion(function (v) { return v + 1; });\n }, []);\n var showTools = renderDetails != null && (includeSelection || includeDndSource || includeRowDrag);\n var showCellWrapper = forceWrapper || showTools;\n var setCellEditorRef = react_1.useCallback(function (popup, cellEditor) {\n cellEditorRef.current = cellEditor;\n if (cellEditor) {\n checkCellEditorDeprecations(popup, cellEditor, cellCtrl);\n var editingCancelledByUserComp = cellEditor.isCancelBeforeStart && cellEditor.isCancelBeforeStart();\n if (editingCancelledByUserComp) {\n // we cannot set state inside render, so hack is to do it in next VM turn\n setTimeout(function () { return cellCtrl.stopEditing(); }, 0);\n }\n }\n }, []);\n var setPopupCellEditorRef = react_1.useCallback(function (cellRenderer) { return setCellEditorRef(true, cellRenderer); }, []);\n var setInlineCellEditorRef = react_1.useCallback(function (cellRenderer) { return setCellEditorRef(false, cellRenderer); }, []);\n showJsRenderer_1.default(renderDetails, showCellWrapper, eCellValue.current, cellValueVersion, jsCellRendererRef, eGui);\n // if RenderDetails changed, need to call refresh. This is not our preferred way (the preferred\n // way for React is just allow the new props to propagate down to the React Cell Renderer)\n // however we do this for backwards compatibility, as having refresh used to be supported.\n var lastRenderDetails = react_1.useRef();\n react_1.useEffect(function () {\n var oldDetails = lastRenderDetails.current;\n var newDetails = renderDetails;\n lastRenderDetails.current = renderDetails;\n // if not updating renderDetails, do nothing\n if (oldDetails == null || oldDetails.compDetails == null\n || newDetails == null || newDetails.compDetails == null) {\n return;\n }\n var oldCompDetails = oldDetails.compDetails;\n var newCompDetails = newDetails.compDetails;\n // if different Cell Renderer, then do nothing, as renderer will be recreated\n if (oldCompDetails.componentClass != newCompDetails.componentClass) {\n return;\n }\n // if no refresh method, do nothing\n if (cellRendererRef.current == null || cellRendererRef.current.refresh == null) {\n return;\n }\n var result = cellRendererRef.current.refresh(newCompDetails.params);\n if (result != true) {\n // increasing the render key forces the refresh. this is undocumented (for React users,\n // we don't document the refresh method, instead we tell them to act on new params).\n // however the GroupCellRenderer has this logic in it and would need a small refactor\n // to get it working without using refresh() returning false. so this hack staying in,\n // in React if refresh() is implemented and returns false (or undefined), we force a refresh\n setRenderKey(function (prev) { return prev + 1; });\n }\n }, [renderDetails]);\n react_1.useEffect(function () {\n var doingJsEditor = editDetails && !editDetails.compDetails.componentFromFramework;\n if (!doingJsEditor) {\n return;\n }\n var compDetails = editDetails.compDetails;\n var isPopup = editDetails.popup === true;\n var cellEditor = jsComp_1.createSyncJsComp(compDetails);\n if (!cellEditor) {\n return;\n }\n var compGui = cellEditor.getGui();\n setCellEditorRef(isPopup, cellEditor);\n if (!isPopup) {\n eGui.current.appendChild(compGui);\n cellEditor.afterGuiAttached && cellEditor.afterGuiAttached();\n }\n setJsEditorComp(cellEditor);\n return function () {\n context.destroyBean(cellEditor);\n setCellEditorRef(isPopup, undefined);\n setJsEditorComp(undefined);\n if (compGui && compGui.parentElement) {\n compGui.parentElement.removeChild(compGui);\n }\n };\n }, [editDetails]);\n // tool widgets effect\n react_1.useEffect(function () {\n if (!cellCtrl || !context) {\n return;\n }\n setAriaDescribedBy(!!eCellWrapper.current ? \"cell-\" + cellCtrl.getInstanceId() : undefined);\n if (!eCellWrapper.current || !showCellWrapper) {\n return;\n }\n var destroyFuncs = [];\n var addComp = function (comp) {\n if (comp) {\n var eGui_1 = comp.getGui();\n eCellWrapper.current.insertAdjacentElement('afterbegin', eGui_1);\n destroyFuncs.push(function () {\n context.destroyBean(comp);\n ag_grid_community_1._.removeFromParent(eGui_1);\n });\n }\n return comp;\n };\n if (includeSelection) {\n addComp(cellCtrl.createSelectionCheckbox());\n }\n if (includeDndSource) {\n addComp(cellCtrl.createDndSource());\n }\n if (includeRowDrag) {\n addComp(cellCtrl.createRowDragComp());\n }\n return function () {\n destroyFuncs.forEach(function (f) {\n f();\n });\n };\n }, [showCellWrapper, includeDndSource, includeRowDrag, includeSelection, cellWrapperVersion]);\n useEffectOnce_1.useEffectOnce(function () {\n if (!cellCtrl) {\n return;\n }\n var compProxy = {\n addOrRemoveCssClass: function (name, on) { return setCssClasses(function (prev) { return prev.setClass(name, on); }); },\n setUserStyles: function (styles) { return setUserStyles(styles); },\n getFocusableElement: function () { return eGui.current; },\n setTabIndex: function (tabIndex) { return setTabIndex(tabIndex); },\n setRole: function (role) { return setRole(role); },\n setColId: function (colId) { return setColId(colId); },\n setTitle: function (title) { return setTitle(title); },\n setIncludeSelection: function (include) { return setIncludeSelection(include); },\n setIncludeRowDrag: function (include) { return setIncludeRowDrag(include); },\n setIncludeDndSource: function (include) { return setIncludeDndSource(include); },\n getCellEditor: function () { return cellEditorRef.current || null; },\n getCellRenderer: function () { return cellRendererRef.current ? cellRendererRef.current : jsCellRendererRef.current; },\n getParentOfValue: function () { return eCellValue.current ? eCellValue.current : eCellWrapper.current ? eCellWrapper.current : eGui.current; },\n setRenderDetails: function (compDetails, value, force) {\n setRenderDetails({\n value: value,\n compDetails: compDetails,\n force: force\n });\n },\n setEditDetails: function (compDetails, popup, popupPosition) {\n if (compDetails) {\n // start editing\n setEditDetails({\n compDetails: compDetails,\n popup: popup,\n popupPosition: popupPosition\n });\n if (!popup) {\n setRenderDetails(undefined);\n }\n }\n else {\n // stop editing\n setEditDetails(undefined);\n }\n }\n };\n var cellWrapperOrUndefined = eCellWrapper.current || undefined;\n cellCtrl.setComp(compProxy, eGui.current, cellWrapperOrUndefined, printLayout, editingRow);\n });\n var reactCellRendererStateless = react_1.useMemo(function () {\n var res = renderDetails && renderDetails.compDetails\n && renderDetails.compDetails.componentFromFramework\n && utils_1.isComponentStateless(renderDetails.compDetails.componentClass);\n return !!res;\n }, [renderDetails]);\n var className = react_1.useMemo(function () {\n var res = cssClasses.toString();\n if (!showCellWrapper) {\n res += ' ag-cell-value';\n }\n return res;\n }, [cssClasses, showTools]);\n var cellInstanceId = react_1.useMemo(function () { return cellCtrl.getInstanceId(); }, []);\n var showContents = function () { return react_1.default.createElement(react_1.default.Fragment, null,\n renderDetails != null && jsxShowValue(renderDetails, renderKey, cellInstanceId, cellRendererRef, showCellWrapper, reactCellRendererStateless, setCellValueRef),\n editDetails != null && jsxEditValue(editDetails, setInlineCellEditorRef, setPopupCellEditorRef, eGui.current, cellCtrl, jsEditorComp)); };\n return (react_1.default.createElement(\"div\", { ref: eGui, className: className, style: userStyles, tabIndex: tabIndex, role: role, \"col-id\": colId, title: title, \"aria-describedby\": ariaDescribedBy }, showCellWrapper ?\n react_1.default.createElement(\"div\", { className: \"ag-cell-wrapper\", role: \"presentation\", ref: setCellWrapperRef }, showContents())\n :\n showContents()));\n};\nexports.default = react_1.memo(CellComp);\n","// ag-grid-react v27.3.0\n\"use strict\";\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar react_1 = __importStar(require(\"react\"));\nvar react_dom_1 = require(\"react-dom\");\nvar beansContext_1 = require(\"../beansContext\");\nvar useEffectOnce_1 = require(\"../useEffectOnce\");\nvar PopupEditorComp = function (props) {\n var _a = react_1.useState(), popupEditorWrapper = _a[0], setPopupEditorWrapper = _a[1];\n var _b = react_1.useContext(beansContext_1.BeansContext), context = _b.context, popupService = _b.popupService, gridOptionsWrapper = _b.gridOptionsWrapper;\n useEffectOnce_1.useEffectOnce(function () {\n var editDetails = props.editDetails, cellCtrl = props.cellCtrl, eParentCell = props.eParentCell;\n var compDetails = editDetails.compDetails;\n var useModelPopup = gridOptionsWrapper.isStopEditingWhenCellsLoseFocus();\n var wrapper = context.createBean(new ag_grid_community_1.PopupEditorWrapper(compDetails.params));\n var ePopupGui = wrapper.getGui();\n if (props.jsChildComp) {\n var eChildGui = props.jsChildComp.getGui();\n if (eChildGui) {\n ePopupGui.appendChild(eChildGui);\n }\n }\n var positionParams = {\n column: cellCtrl.getColumn(),\n rowNode: cellCtrl.getRowNode(),\n type: 'popupCellEditor',\n eventSource: eParentCell,\n ePopup: ePopupGui,\n keepWithinBounds: true\n };\n var positionCallback = editDetails.popupPosition === 'under' ?\n popupService.positionPopupUnderComponent.bind(popupService, positionParams)\n : popupService.positionPopupOverComponent.bind(popupService, positionParams);\n var translate = gridOptionsWrapper.getLocaleTextFunc();\n var addPopupRes = popupService.addPopup({\n modal: useModelPopup,\n eChild: ePopupGui,\n closeOnEsc: true,\n closedCallback: function () { cellCtrl.onPopupEditorClosed(); },\n anchorToElement: eParentCell,\n positionCallback: positionCallback,\n ariaLabel: translate('ariaLabelCellEditor', 'Cell Editor')\n });\n var hideEditorPopup = addPopupRes ? addPopupRes.hideFunc : undefined;\n setPopupEditorWrapper(wrapper);\n props.jsChildComp && props.jsChildComp.afterGuiAttached && props.jsChildComp.afterGuiAttached();\n return function () {\n if (hideEditorPopup != null) {\n hideEditorPopup();\n }\n context.destroyBean(wrapper);\n };\n });\n return (react_1.default.createElement(react_1.default.Fragment, null, popupEditorWrapper && props.wrappedContent\n && react_dom_1.createPortal(props.wrappedContent, popupEditorWrapper.getGui())));\n};\nexports.default = react_1.memo(PopupEditorComp);\n","// ag-grid-react v27.3.0\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nvar beansContext_1 = require(\"../beansContext\");\nvar useEffectOnce_1 = require(\"../useEffectOnce\");\nvar useJsCellRenderer = function (showDetails, showTools, eCellValue, cellValueVersion, jsCellRendererRef, eGui) {\n var _a = react_1.useContext(beansContext_1.BeansContext), context = _a.context, userComponentFactory = _a.userComponentFactory;\n var destroyCellRenderer = react_1.useCallback(function () {\n var comp = jsCellRendererRef.current;\n if (!comp) {\n return;\n }\n var compGui = comp.getGui();\n if (compGui && compGui.parentElement) {\n compGui.parentElement.removeChild(compGui);\n }\n context.destroyBean(comp);\n jsCellRendererRef.current = undefined;\n }, []);\n // create or refresh JS cell renderer\n react_1.useEffect(function () {\n var showValue = showDetails != null;\n var jsCompDetails = showDetails && showDetails.compDetails && !showDetails.compDetails.componentFromFramework;\n var waitingForToolsSetup = showTools && eCellValue == null;\n var showComp = showValue && jsCompDetails && !waitingForToolsSetup;\n // if not showing comp, destroy any existing one and return\n if (!showComp) {\n destroyCellRenderer();\n return;\n }\n var compDetails = showDetails.compDetails;\n if (jsCellRendererRef.current) {\n // attempt refresh if refresh method exists\n var comp_1 = jsCellRendererRef.current;\n var attemptRefresh = comp_1.refresh != null && showDetails.force == false;\n var refreshResult = attemptRefresh ? comp_1.refresh(compDetails.params) : false;\n var refreshWorked = refreshResult === true || refreshResult === undefined;\n // if refresh worked, nothing else to do\n if (refreshWorked) {\n return;\n }\n // if refresh didn't work, we destroy it and continue, so new cell renderer created below\n destroyCellRenderer();\n }\n var promise = compDetails.newAgStackInstance();\n ;\n if (!promise) {\n return;\n }\n var comp = promise.resolveNow(null, function (x) { return x; }); // js comps are never async\n if (!comp) {\n return;\n }\n var compGui = comp.getGui();\n if (!compGui) {\n return;\n }\n var parent = showTools ? eCellValue : eGui.current;\n parent.appendChild(compGui);\n jsCellRendererRef.current = comp;\n }, [showDetails, showTools, cellValueVersion]);\n // this effect makes sure destroyCellRenderer gets called when the\n // component is destroyed. as the other effect only updates when there\n // is a change in state\n useEffectOnce_1.useEffectOnce(function () {\n return destroyCellRenderer;\n });\n};\nexports.default = useJsCellRenderer;\n","// ag-grid-react v27.3.0\n\"use strict\";\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar react_1 = __importStar(require(\"react\"));\nvar beansContext_1 = require(\"./beansContext\");\nvar gridHeaderComp_1 = __importDefault(require(\"./header/gridHeaderComp\"));\nvar reactComment_1 = __importDefault(require(\"./reactComment\"));\nvar rowContainerComp_1 = __importDefault(require(\"./rows/rowContainerComp\"));\nvar useEffectOnce_1 = require(\"./useEffectOnce\");\nvar utils_1 = require(\"./utils\");\nvar GridBodyComp = function () {\n var _a = react_1.useContext(beansContext_1.BeansContext), context = _a.context, agStackComponentsRegistry = _a.agStackComponentsRegistry, resizeObserverService = _a.resizeObserverService;\n var _b = react_1.useState(''), rowAnimationClass = _b[0], setRowAnimationClass = _b[1];\n var _c = react_1.useState(0), ariaColCount = _c[0], setAriaColCount = _c[1];\n var _d = react_1.useState(0), ariaRowCount = _d[0], setAriaRowCount = _d[1];\n var _e = react_1.useState(0), topHeight = _e[0], setTopHeight = _e[1];\n var _f = react_1.useState(0), bottomHeight = _f[0], setBottomHeight = _f[1];\n var _g = react_1.useState(''), topDisplay = _g[0], setTopDisplay = _g[1];\n var _h = react_1.useState(''), bottomDisplay = _h[0], setBottomDisplay = _h[1];\n var _j = react_1.useState(null), movingCss = _j[0], setMovingCss = _j[1];\n var _k = react_1.useState(null), forceVerticalScrollClass = _k[0], setForceVerticalScrollClass = _k[1];\n var _l = react_1.useState(''), topAndBottomOverflowY = _l[0], setTopAndBottomOverflowY = _l[1];\n var _m = react_1.useState(null), cellSelectableCss = _m[0], setCellSelectableCss = _m[1];\n // we initialise layoutClass to 'ag-layout-normal', because if we don't, the comp will initially\n // render with no width (as ag-layout-normal sets width to 0, which is needed for flex) which\n // gives the grid a massive width, which then renders a massive amount of columns. this problem\n // is due to React been async, for the non-async version (ie when not using React) this is not a\n // problem as the UI will finish initialising before we set data.\n var _o = react_1.useState('ag-layout-normal'), layoutClass = _o[0], setLayoutClass = _o[1];\n var eRoot = react_1.useRef(null);\n var eTop = react_1.useRef(null);\n var eBodyViewport = react_1.useRef(null);\n var eBottom = react_1.useRef(null);\n reactComment_1.default(' AG Grid Body ', eRoot);\n reactComment_1.default(' AG Pinned Top ', eTop);\n reactComment_1.default(' AG Middle ', eBodyViewport);\n reactComment_1.default(' AG Pinned Bottom ', eBottom);\n useEffectOnce_1.useEffectOnce(function () {\n var beansToDestroy = [];\n var destroyFuncs = [];\n if (!context) {\n return;\n }\n var newComp = function (tag) {\n var CompClass = agStackComponentsRegistry.getComponentClass(tag);\n var comp = context.createBean(new CompClass());\n beansToDestroy.push(comp);\n return comp;\n };\n eRoot.current.appendChild(document.createComment(' AG Fake Horizontal Scroll '));\n eRoot.current.appendChild(newComp('AG-FAKE-HORIZONTAL-SCROLL').getGui());\n eRoot.current.appendChild(document.createComment(' AG Overlay Wrapper '));\n eRoot.current.appendChild(newComp('AG-OVERLAY-WRAPPER').getGui());\n var compProxy = {\n setRowAnimationCssOnBodyViewport: setRowAnimationClass,\n setColumnCount: setAriaColCount,\n setRowCount: setAriaRowCount,\n setTopHeight: setTopHeight,\n setBottomHeight: setBottomHeight,\n setTopDisplay: setTopDisplay,\n setBottomDisplay: setBottomDisplay,\n setColumnMovingCss: setMovingCss,\n updateLayoutClasses: setLayoutClass,\n setAlwaysVerticalScrollClass: setForceVerticalScrollClass,\n setPinnedTopBottomOverflowY: setTopAndBottomOverflowY,\n setCellSelectableCss: setCellSelectableCss,\n registerBodyViewportResizeListener: function (listener) {\n var unsubscribeFromResize = resizeObserverService.observeResize(eBodyViewport.current, listener);\n destroyFuncs.push(function () { return unsubscribeFromResize(); });\n }\n };\n var ctrl = context.createBean(new ag_grid_community_1.GridBodyCtrl());\n beansToDestroy.push(ctrl);\n ctrl.setComp(compProxy, eRoot.current, eBodyViewport.current, eTop.current, eBottom.current);\n return function () {\n context.destroyBeans(beansToDestroy);\n destroyFuncs.forEach(function (f) { return f(); });\n };\n });\n var rootClasses = react_1.useMemo(function () {\n return utils_1.classesList('ag-root', 'ag-unselectable', movingCss, layoutClass);\n }, [movingCss, layoutClass]);\n var bodyViewportClasses = react_1.useMemo(function () {\n return utils_1.classesList('ag-body-viewport', rowAnimationClass, layoutClass, forceVerticalScrollClass, cellSelectableCss);\n }, [rowAnimationClass, layoutClass, forceVerticalScrollClass, cellSelectableCss]);\n var topClasses = react_1.useMemo(function () {\n return utils_1.classesList('ag-floating-top', cellSelectableCss);\n }, [cellSelectableCss]);\n var bottomClasses = react_1.useMemo(function () {\n return utils_1.classesList('ag-floating-bottom', cellSelectableCss);\n }, [cellSelectableCss]);\n var topStyle = react_1.useMemo(function () { return ({\n height: topHeight,\n minHeight: topHeight,\n display: topDisplay,\n overflowY: topAndBottomOverflowY\n }); }, [topHeight, topDisplay, topAndBottomOverflowY]);\n var bottomStyle = react_1.useMemo(function () { return ({\n height: bottomHeight,\n minHeight: bottomHeight,\n display: bottomDisplay,\n overflowY: topAndBottomOverflowY\n }); }, [bottomHeight, bottomDisplay, topAndBottomOverflowY]);\n var createRowContainer = function (container) { return react_1.default.createElement(rowContainerComp_1.default, { name: container, key: container + \"-container\" }); };\n var createSection = function (_a) {\n var section = _a.section, children = _a.children, className = _a.className, style = _a.style;\n return (react_1.default.createElement(\"div\", { ref: section, className: className, role: \"presentation\", style: style }, children.map(createRowContainer)));\n };\n return (react_1.default.createElement(\"div\", { ref: eRoot, className: rootClasses, role: \"grid\", \"aria-colcount\": ariaColCount, \"aria-rowcount\": ariaRowCount },\n react_1.default.createElement(gridHeaderComp_1.default, null),\n createSection({ section: eTop, className: topClasses, style: topStyle, children: [\n ag_grid_community_1.RowContainerName.TOP_LEFT,\n ag_grid_community_1.RowContainerName.TOP_CENTER,\n ag_grid_community_1.RowContainerName.TOP_RIGHT,\n ag_grid_community_1.RowContainerName.TOP_FULL_WIDTH,\n ] }),\n createSection({ section: eBodyViewport, className: bodyViewportClasses, children: [\n ag_grid_community_1.RowContainerName.LEFT,\n ag_grid_community_1.RowContainerName.CENTER,\n ag_grid_community_1.RowContainerName.RIGHT,\n ag_grid_community_1.RowContainerName.FULL_WIDTH,\n ] }),\n createSection({ section: eBottom, className: bottomClasses, style: bottomStyle, children: [\n ag_grid_community_1.RowContainerName.BOTTOM_LEFT,\n ag_grid_community_1.RowContainerName.BOTTOM_CENTER,\n ag_grid_community_1.RowContainerName.BOTTOM_RIGHT,\n ag_grid_community_1.RowContainerName.BOTTOM_FULL_WIDTH,\n ] })));\n};\nexports.default = react_1.memo(GridBodyComp);\n","// ag-grid-react v27.3.0\n\"use strict\";\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar react_1 = __importStar(require(\"react\"));\nvar beansContext_1 = require(\"./beansContext\");\nvar gridBodyComp_1 = __importDefault(require(\"./gridBodyComp\"));\nvar reactComment_1 = __importDefault(require(\"./reactComment\"));\nvar tabGuardComp_1 = __importDefault(require(\"./tabGuardComp\"));\nvar useEffectOnce_1 = require(\"./useEffectOnce\");\nvar utils_1 = require(\"./utils\");\nvar GridComp = function (_a) {\n var context = _a.context;\n var _b = react_1.useState(''), rtlClass = _b[0], setRtlClass = _b[1];\n var _c = react_1.useState(''), keyboardFocusClass = _c[0], setKeyboardFocusClass = _c[1];\n var _d = react_1.useState(''), layoutClass = _d[0], setLayoutClass = _d[1];\n var _e = react_1.useState(null), cursor = _e[0], setCursor = _e[1];\n var _f = react_1.useState(null), userSelect = _f[0], setUserSelect = _f[1];\n var _g = react_1.useState(false), initialised = _g[0], setInitialised = _g[1];\n var _h = react_1.useState(), tabGuardReady = _h[0], setTabGuardReady = _h[1];\n var gridCtrlRef = react_1.useRef(null);\n var eRootWrapperRef = react_1.useRef(null);\n var tabGuardRef = react_1.useRef();\n var eGridBodyParentRef = react_1.useRef(null);\n var focusInnerElementRef = react_1.useRef(function () { return undefined; });\n var onTabKeyDown = react_1.useCallback(function () { return undefined; }, []);\n var beans = react_1.useMemo(function () { return context.getBean('beans'); }, []);\n reactComment_1.default(' AG Grid ', eRootWrapperRef);\n // create shared controller.\n useEffectOnce_1.useEffectOnce(function () {\n var currentController = gridCtrlRef.current = context.createBean(new ag_grid_community_1.GridCtrl());\n return function () {\n context.destroyBean(currentController);\n gridCtrlRef.current = null;\n };\n });\n // initialise the UI\n useEffectOnce_1.useEffectOnce(function () {\n var gridCtrl = gridCtrlRef.current;\n focusInnerElementRef.current = gridCtrl.focusInnerElement.bind(gridCtrl);\n var compProxy = {\n destroyGridUi: function () { },\n setRtlClass: setRtlClass,\n addOrRemoveKeyboardFocusClass: function (addOrRemove) { return setKeyboardFocusClass(addOrRemove ? ag_grid_community_1.FocusService.AG_KEYBOARD_FOCUS : ''); },\n forceFocusOutOfContainer: function () {\n tabGuardRef.current.forceFocusOutOfContainer();\n },\n updateLayoutClasses: setLayoutClass,\n getFocusableContainers: function () {\n var els = [];\n var gridBodyCompEl = eRootWrapperRef.current.querySelector('.ag-root');\n var sideBarEl = eRootWrapperRef.current.querySelector('.ag-side-bar');\n if (gridBodyCompEl) {\n els.push(gridBodyCompEl);\n }\n if (sideBarEl) {\n els.push(sideBarEl);\n }\n return els;\n },\n setCursor: setCursor,\n setUserSelect: setUserSelect\n };\n gridCtrl.setComp(compProxy, eRootWrapperRef.current, eRootWrapperRef.current);\n setInitialised(true);\n });\n // initialise the extra components\n react_1.useEffect(function () {\n if (!tabGuardReady) {\n return;\n }\n var gridCtrl = gridCtrlRef.current;\n var beansToDestroy = [];\n var agStackComponentsRegistry = beans.agStackComponentsRegistry;\n var HeaderDropZonesClass = agStackComponentsRegistry.getComponentClass('AG-GRID-HEADER-DROP-ZONES');\n var SideBarClass = agStackComponentsRegistry.getComponentClass('AG-SIDE-BAR');\n var StatusBarClass = agStackComponentsRegistry.getComponentClass('AG-STATUS-BAR');\n var WatermarkClass = agStackComponentsRegistry.getComponentClass('AG-WATERMARK');\n var PaginationClass = agStackComponentsRegistry.getComponentClass('AG-PAGINATION');\n var additionalEls = [];\n var eRootWrapper = eRootWrapperRef.current;\n var eGridBodyParent = eGridBodyParentRef.current;\n if (gridCtrl.showDropZones() && HeaderDropZonesClass) {\n var headerDropZonesComp = context.createBean(new HeaderDropZonesClass());\n var eGui = headerDropZonesComp.getGui();\n eRootWrapper.insertAdjacentElement('afterbegin', eGui);\n additionalEls.push(eGui);\n beansToDestroy.push(headerDropZonesComp);\n }\n if (gridCtrl.showSideBar() && SideBarClass) {\n var sideBarComp = context.createBean(new SideBarClass());\n var eGui = sideBarComp.getGui();\n var bottomTabGuard = eGridBodyParent.querySelector('.ag-tab-guard-bottom');\n if (bottomTabGuard) {\n bottomTabGuard.insertAdjacentElement('beforebegin', eGui);\n additionalEls.push(eGui);\n }\n beansToDestroy.push(sideBarComp);\n }\n if (gridCtrl.showStatusBar() && StatusBarClass) {\n var statusBarComp = context.createBean(new StatusBarClass());\n var eGui = statusBarComp.getGui();\n eRootWrapper.insertAdjacentElement('beforeend', eGui);\n additionalEls.push(eGui);\n beansToDestroy.push(statusBarComp);\n }\n if (PaginationClass) {\n var paginationComp = context.createBean(new PaginationClass());\n var eGui = paginationComp.getGui();\n eRootWrapper.insertAdjacentElement('beforeend', eGui);\n additionalEls.push(eGui);\n beansToDestroy.push(paginationComp);\n }\n if (gridCtrl.showWatermark() && WatermarkClass) {\n var watermarkComp = context.createBean(new WatermarkClass());\n var eGui = watermarkComp.getGui();\n eRootWrapper.insertAdjacentElement('beforeend', eGui);\n additionalEls.push(eGui);\n beansToDestroy.push(watermarkComp);\n }\n return function () {\n context.destroyBeans(beansToDestroy);\n additionalEls.forEach(function (el) {\n if (el.parentElement) {\n el.parentElement.removeChild(el);\n }\n });\n };\n }, [tabGuardReady]);\n var rootWrapperClasses = react_1.useMemo(function () { return utils_1.classesList('ag-root-wrapper', rtlClass, keyboardFocusClass, layoutClass); }, [rtlClass, keyboardFocusClass, layoutClass]);\n var rootWrapperBodyClasses = react_1.useMemo(function () { return utils_1.classesList('ag-root-wrapper-body', 'ag-focus-managed', layoutClass); }, [layoutClass]);\n var topStyle = react_1.useMemo(function () { return ({\n userSelect: userSelect != null ? userSelect : '',\n WebkitUserSelect: userSelect != null ? userSelect : '',\n cursor: cursor != null ? cursor : ''\n }); }, [userSelect, cursor]);\n var eGridBodyParent = eGridBodyParentRef.current;\n var setTabGuardCompRef = react_1.useCallback(function (ref) {\n tabGuardRef.current = ref;\n setTabGuardReady(true);\n }, []);\n return (react_1.default.createElement(\"div\", { ref: eRootWrapperRef, className: rootWrapperClasses, style: topStyle },\n react_1.default.createElement(\"div\", { className: rootWrapperBodyClasses, ref: eGridBodyParentRef }, initialised && eGridBodyParent &&\n react_1.default.createElement(beansContext_1.BeansContext.Provider, { value: beans },\n react_1.default.createElement(tabGuardComp_1.default, { ref: setTabGuardCompRef, eFocusableElement: eGridBodyParent, onTabKeyDown: onTabKeyDown, gridCtrl: gridCtrlRef.current }, // we wait for initialised before rending the children, so GridComp has created and registered with it's\n // GridCtrl before we create the child GridBodyComp. Otherwise the GridBodyComp would initialise first,\n // before we have set the the Layout CSS classes, causing the GridBodyComp to render rows to a grid that\n // doesn't have it's height specified, which would result if all the rows getting rendered (and if many rows,\n // hangs the UI)\n react_1.default.createElement(gridBodyComp_1.default, null))))));\n};\nexports.default = react_1.memo(GridComp);\n","// ag-grid-react v27.3.0\n\"use strict\";\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar beansContext_1 = require(\"../beansContext\");\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar utils_1 = require(\"../utils\");\nvar headerRowContainerComp_1 = __importDefault(require(\"./headerRowContainerComp\"));\nvar useEffectOnce_1 = require(\"../useEffectOnce\");\nvar GridHeaderComp = function () {\n var _a = react_1.useState(new utils_1.CssClasses()), cssClasses = _a[0], setCssClasses = _a[1];\n var _b = react_1.useState(), height = _b[0], setHeight = _b[1];\n var context = react_1.useContext(beansContext_1.BeansContext).context;\n var eGui = react_1.useRef(null);\n useEffectOnce_1.useEffectOnce(function () {\n var compProxy = {\n addOrRemoveCssClass: function (name, on) { return setCssClasses(function (prev) { return prev.setClass(name, on); }); },\n setHeightAndMinHeight: function (height) { return setHeight(height); }\n };\n var ctrl = context.createBean(new ag_grid_community_1.GridHeaderCtrl());\n ctrl.setComp(compProxy, eGui.current, eGui.current);\n return function () {\n context.destroyBean(ctrl);\n };\n });\n var className = react_1.useMemo(function () {\n var res = cssClasses.toString();\n return 'ag-header ' + res;\n }, [cssClasses]);\n var style = react_1.useMemo(function () { return ({\n height: height,\n minHeight: height\n }); }, [height]);\n return (react_1.default.createElement(\"div\", { ref: eGui, className: className, style: style, role: \"presentation\" },\n react_1.default.createElement(headerRowContainerComp_1.default, { pinned: ag_grid_community_1.Constants.PINNED_LEFT }),\n react_1.default.createElement(headerRowContainerComp_1.default, { pinned: null }),\n react_1.default.createElement(headerRowContainerComp_1.default, { pinned: ag_grid_community_1.Constants.PINNED_RIGHT })));\n};\nexports.default = react_1.memo(GridHeaderComp);\n","// ag-grid-react v27.3.0\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar beansContext_1 = require(\"../beansContext\");\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar utils_1 = require(\"../utils\");\nvar jsComp_1 = require(\"../jsComp\");\nvar useEffectOnce_1 = require(\"../useEffectOnce\");\nvar HeaderCellComp = function (props) {\n var context = react_1.useContext(beansContext_1.BeansContext).context;\n var _a = react_1.useState(), width = _a[0], setWidth = _a[1];\n var _b = react_1.useState(), title = _b[0], setTitle = _b[1];\n var _c = react_1.useState(), colId = _c[0], setColId = _c[1];\n var _d = react_1.useState(), ariaSort = _d[0], setAriaSort = _d[1];\n var _e = react_1.useState(), ariaDescription = _e[0], setAriaDescription = _e[1];\n var _f = react_1.useState(), userCompDetails = _f[0], setUserCompDetails = _f[1];\n var eGui = react_1.useRef(null);\n var eResize = react_1.useRef(null);\n var userCompRef = react_1.useRef();\n var ctrl = props.ctrl;\n var cssClassManager = react_1.useMemo(function () { return new ag_grid_community_1.CssClassManager(function () { return eGui.current; }); }, []);\n useEffectOnce_1.useEffectOnce(function () {\n var compProxy = {\n setWidth: function (width) { return setWidth(width); },\n addOrRemoveCssClass: function (name, on) { return cssClassManager.addOrRemoveCssClass(name, on); },\n setColId: function (id) { return setColId(id); },\n setTitle: function (title) { return setTitle(title); },\n setAriaDescription: function (description) { return setAriaDescription(description); },\n setAriaSort: function (sort) { return setAriaSort(sort); },\n setUserCompDetails: function (compDetails) { return setUserCompDetails(compDetails); },\n getUserCompInstance: function () { return userCompRef.current || undefined; }\n };\n ctrl.setComp(compProxy, eGui.current, eResize.current);\n var selectAllGui = ctrl.getSelectAllGui();\n eResize.current.insertAdjacentElement('afterend', selectAllGui);\n });\n // js comps\n react_1.useEffect(function () { return jsComp_1.showJsComp(userCompDetails, context, eGui.current, userCompRef); }, [userCompDetails]);\n // add drag handling, must be done after component is added to the dom\n react_1.useEffect(function () {\n var userCompDomElement = undefined;\n eGui.current.childNodes.forEach(function (node) {\n if (node != null && node !== eResize.current) {\n userCompDomElement = node;\n }\n });\n ctrl.setDragSource(userCompDomElement);\n }, [userCompDetails]);\n var style = react_1.useMemo(function () { return ({ width: width }); }, [width]);\n var userCompStateless = react_1.useMemo(function () {\n var _a;\n var res = ((_a = userCompDetails) === null || _a === void 0 ? void 0 : _a.componentFromFramework) && utils_1.isComponentStateless(userCompDetails.componentClass);\n return !!res;\n }, [userCompDetails]);\n var reactUserComp = userCompDetails && userCompDetails.componentFromFramework;\n var UserCompClass = userCompDetails && userCompDetails.componentClass;\n return (react_1.default.createElement(\"div\", { ref: eGui, className: \"ag-header-cell\", style: style, title: title, \"col-id\": colId, \"aria-sort\": ariaSort, role: \"columnheader\", tabIndex: -1, \"aria-description\": ariaDescription },\n react_1.default.createElement(\"div\", { ref: eResize, className: \"ag-header-cell-resize\", role: \"presentation\" }),\n reactUserComp && userCompStateless && react_1.default.createElement(UserCompClass, __assign({}, userCompDetails.params)),\n reactUserComp && !userCompStateless && react_1.default.createElement(UserCompClass, __assign({}, userCompDetails.params, { ref: userCompRef }))));\n};\nexports.default = react_1.memo(HeaderCellComp);\n","// ag-grid-react v27.3.0\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar beansContext_1 = require(\"../beansContext\");\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar utils_1 = require(\"../utils\");\nvar jsComp_1 = require(\"../jsComp\");\nvar useEffectOnce_1 = require(\"../useEffectOnce\");\nvar HeaderFilterCellComp = function (props) {\n var context = react_1.useContext(beansContext_1.BeansContext).context;\n var _a = react_1.useState(new utils_1.CssClasses()), cssClasses = _a[0], setCssClasses = _a[1];\n var _b = react_1.useState(new utils_1.CssClasses()), cssBodyClasses = _b[0], setBodyCssClasses = _b[1];\n var _c = react_1.useState(new utils_1.CssClasses()), cssButtonWrapperClasses = _c[0], setButtonWrapperCssClasses = _c[1];\n var _d = react_1.useState(), width = _d[0], setWidth = _d[1];\n var _e = react_1.useState(), userCompDetails = _e[0], setUserCompDetails = _e[1];\n var eGui = react_1.useRef(null);\n var eFloatingFilterBody = react_1.useRef(null);\n var eButtonWrapper = react_1.useRef(null);\n var eButtonShowMainFilter = react_1.useRef(null);\n var alreadyResolved = react_1.useRef(false);\n var userCompResolve = react_1.useRef();\n var userCompPromise = react_1.useRef();\n useEffectOnce_1.useEffectOnce(function () {\n userCompPromise.current = new ag_grid_community_1.AgPromise(function (resolve) {\n userCompResolve.current = resolve;\n });\n });\n var userCompRef = function (value) {\n // i don't know why, but react was calling this method multiple\n // times, thus un-setting, them immediately setting the reference again.\n // because we are resolving a promise, it's not good to be resolving\n // the promise multiple times, so we only resolve the first time.\n if (alreadyResolved.current) {\n return;\n }\n // we also skip when it's un-setting\n if (value == null) {\n return;\n }\n userCompResolve.current && userCompResolve.current(value);\n alreadyResolved.current = true;\n };\n var ctrl = props.ctrl;\n useEffectOnce_1.useEffectOnce(function () {\n var compProxy = {\n addOrRemoveCssClass: function (name, on) { return setCssClasses(function (prev) { return prev.setClass(name, on); }); },\n addOrRemoveBodyCssClass: function (name, on) { return setBodyCssClasses(function (prev) { return prev.setClass(name, on); }); },\n addOrRemoveButtonWrapperCssClass: function (name, on) { return setButtonWrapperCssClasses(function (prev) { return prev.setClass(name, on); }); },\n setWidth: function (width) { return setWidth(width); },\n setCompDetails: function (compDetails) { return setUserCompDetails(compDetails); },\n getFloatingFilterComp: function () { return userCompPromise.current ? userCompPromise.current : null; },\n setMenuIcon: function (eIcon) { return eButtonShowMainFilter.current.appendChild(eIcon); }\n };\n ctrl.setComp(compProxy, eGui.current, eButtonShowMainFilter.current, eFloatingFilterBody.current);\n });\n // js comps\n react_1.useEffect(function () {\n return jsComp_1.showJsComp(userCompDetails, context, eFloatingFilterBody.current, userCompRef);\n }, [userCompDetails]);\n var style = react_1.useMemo(function () { return ({\n width: width\n }); }, [width]);\n var className = react_1.useMemo(function () { return 'ag-header-cell ag-floating-filter ' + cssClasses.toString(); }, [cssClasses]);\n var bodyClassName = react_1.useMemo(function () { return cssBodyClasses.toString(); }, [cssBodyClasses]);\n var buttonWrapperClassName = react_1.useMemo(function () { return 'ag-floating-filter-button ' + cssButtonWrapperClasses.toString(); }, [cssBodyClasses]);\n var userCompStateless = react_1.useMemo(function () {\n var res = userCompDetails\n && userCompDetails.componentFromFramework\n && utils_1.isComponentStateless(userCompDetails.componentClass);\n return !!res;\n }, [userCompDetails]);\n var reactUserComp = userCompDetails && userCompDetails.componentFromFramework;\n var UserCompClass = userCompDetails && userCompDetails.componentClass;\n return (react_1.default.createElement(\"div\", { ref: eGui, className: className, style: style, role: \"gridcell\", tabIndex: -1 },\n react_1.default.createElement(\"div\", { ref: eFloatingFilterBody, className: bodyClassName, role: \"presentation\" },\n reactUserComp && userCompStateless && react_1.default.createElement(UserCompClass, __assign({}, userCompDetails.params)),\n reactUserComp && !userCompStateless && react_1.default.createElement(UserCompClass, __assign({}, userCompDetails.params, { ref: userCompRef }))),\n react_1.default.createElement(\"div\", { ref: eButtonWrapper, className: buttonWrapperClassName, role: \"presentation\" },\n react_1.default.createElement(\"button\", { ref: eButtonShowMainFilter, type: \"button\", \"aria-label\": \"Open Filter Menu\", className: \"ag-floating-filter-button-button\", tabIndex: -1 }))));\n};\nexports.default = react_1.memo(HeaderFilterCellComp);\n","// ag-grid-react v27.3.0\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar beansContext_1 = require(\"../beansContext\");\nvar jsComp_1 = require(\"../jsComp\");\nvar useEffectOnce_1 = require(\"../useEffectOnce\");\nvar utils_1 = require(\"../utils\");\nvar HeaderGroupCellComp = function (props) {\n var context = react_1.useContext(beansContext_1.BeansContext).context;\n var _a = react_1.useState(new utils_1.CssClasses()), cssClasses = _a[0], setCssClasses = _a[1];\n var _b = react_1.useState(new utils_1.CssClasses()), cssResizableClasses = _b[0], setResizableCssClasses = _b[1];\n var _c = react_1.useState(), width = _c[0], setWidth = _c[1];\n var _d = react_1.useState(), title = _d[0], setTitle = _d[1];\n var _e = react_1.useState(), colId = _e[0], setColId = _e[1];\n var _f = react_1.useState(), ariaExpanded = _f[0], setAriaExpanded = _f[1];\n var _g = react_1.useState(), userCompDetails = _g[0], setUserCompDetails = _g[1];\n var eGui = react_1.useRef(null);\n var eResize = react_1.useRef(null);\n var ctrl = props.ctrl;\n useEffectOnce_1.useEffectOnce(function () {\n var compProxy = {\n setWidth: function (width) { return setWidth(width); },\n addOrRemoveCssClass: function (name, on) { return setCssClasses(function (prev) { return prev.setClass(name, on); }); },\n setColId: function (id) { return setColId(id); },\n setTitle: function (title) { return setTitle(title); },\n setUserCompDetails: function (compDetails) { return setUserCompDetails(compDetails); },\n addOrRemoveResizableCssClass: function (name, on) { return setResizableCssClasses(function (prev) { return prev.setClass(name, on); }); },\n setAriaExpanded: function (expanded) { return setAriaExpanded(expanded); }\n };\n ctrl.setComp(compProxy, eGui.current, eResize.current);\n });\n // js comps\n react_1.useEffect(function () {\n return jsComp_1.showJsComp(userCompDetails, context, eGui.current);\n }, [userCompDetails]);\n // add drag handling, must be done after component is added to the dom\n react_1.useEffect(function () {\n var userCompDomElement = undefined;\n eGui.current.childNodes.forEach(function (node) {\n if (node != null && node !== eResize.current) {\n userCompDomElement = node;\n }\n });\n userCompDomElement && ctrl.setDragSource(userCompDomElement);\n }, [userCompDetails]);\n var style = react_1.useMemo(function () { return ({\n width: width\n }); }, [width]);\n var className = react_1.useMemo(function () { return 'ag-header-group-cell ' + cssClasses.toString(); }, [cssClasses]);\n var resizableClassName = react_1.useMemo(function () { return 'ag-header-cell-resize ' + cssResizableClasses.toString(); }, [cssResizableClasses]);\n var reactUserComp = userCompDetails && userCompDetails.componentFromFramework;\n var UserCompClass = userCompDetails && userCompDetails.componentClass;\n return (react_1.default.createElement(\"div\", { ref: eGui, className: className, style: style, title: title, \"col-id\": colId, role: \"columnheader\", tabIndex: -1, \"aria-expanded\": ariaExpanded },\n reactUserComp && react_1.default.createElement(UserCompClass, __assign({}, userCompDetails.params)),\n react_1.default.createElement(\"div\", { ref: eResize, className: resizableClassName })));\n};\nexports.default = react_1.memo(HeaderGroupCellComp);\n","// ag-grid-react v27.3.0\n\"use strict\";\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar react_1 = __importStar(require(\"react\"));\nvar beansContext_1 = require(\"../beansContext\");\nvar headerCellComp_1 = __importDefault(require(\"./headerCellComp\"));\nvar headerGroupCellComp_1 = __importDefault(require(\"./headerGroupCellComp\"));\nvar headerFilterCellComp_1 = __importDefault(require(\"./headerFilterCellComp\"));\nvar useEffectOnce_1 = require(\"../useEffectOnce\");\nvar HeaderRowComp = function (props) {\n var gridOptionsWrapper = react_1.useContext(beansContext_1.BeansContext).gridOptionsWrapper;\n var _a = react_1.useState(), transform = _a[0], setTransform = _a[1];\n var _b = react_1.useState(), height = _b[0], setHeight = _b[1];\n var _c = react_1.useState(), top = _c[0], setTop = _c[1];\n var _d = react_1.useState(), width = _d[0], setWidth = _d[1];\n var _e = react_1.useState(), ariaRowIndex = _e[0], setAriaRowIndex = _e[1];\n var _f = react_1.useState([]), cellCtrls = _f[0], setCellCtrls = _f[1];\n var eGui = react_1.useRef(null);\n var ctrl = props.ctrl;\n var typeColumn = ctrl.getType() === ag_grid_community_1.HeaderRowType.COLUMN;\n var typeGroup = ctrl.getType() === ag_grid_community_1.HeaderRowType.COLUMN_GROUP;\n var typeFilter = ctrl.getType() === ag_grid_community_1.HeaderRowType.FLOATING_FILTER;\n var setCellCtrlsMaintainOrder = react_1.useCallback(function (prev, next) {\n // if we are ensuring dom order, we set the ctrls into the dom in the same order they appear on screen\n if (gridOptionsWrapper.isEnsureDomOrder()) {\n return next;\n }\n // if not maintaining order, we want to keep the dom elements we have and add new ones to the end,\n // otherwise we will loose transition effects as elements are placed in different dom locations\n var prevMap = ag_grid_community_1._.mapById(prev, function (c) { return c.getInstanceId(); });\n var nextMap = ag_grid_community_1._.mapById(next, function (c) { return c.getInstanceId(); });\n var oldCtrlsWeAreKeeping = prev.filter(function (c) { return nextMap.has(c.getInstanceId()); });\n var newCtrls = next.filter(function (c) { return !prevMap.has(c.getInstanceId()); });\n return __spreadArrays(oldCtrlsWeAreKeeping, newCtrls);\n }, []);\n useEffectOnce_1.useEffectOnce(function () {\n var compProxy = {\n setTransform: function (transform) { return setTransform(transform); },\n setHeight: function (height) { return setHeight(height); },\n setTop: function (top) { return setTop(top); },\n setHeaderCtrls: function (ctrls) { return setCellCtrls(function (prev) { return setCellCtrlsMaintainOrder(prev, ctrls); }); },\n setWidth: function (width) { return setWidth(width); },\n setAriaRowIndex: function (rowIndex) { return setAriaRowIndex(rowIndex); }\n };\n ctrl.setComp(compProxy);\n });\n var style = react_1.useMemo(function () { return ({\n transform: transform,\n height: height,\n top: top,\n width: width\n }); }, [transform, height, top, width]);\n var className = react_1.useMemo(function () {\n var res = [\"ag-header-row\"];\n typeColumn && res.push(\"ag-header-row-column\");\n typeGroup && res.push(\"ag-header-row-column-group\");\n typeFilter && res.push(\"ag-header-row-column-filter\");\n return res.join(' ');\n }, []);\n var createCellJsx = react_1.useCallback(function (cellCtrl) {\n switch (ctrl.getType()) {\n case ag_grid_community_1.HeaderRowType.COLUMN_GROUP:\n return react_1.default.createElement(headerGroupCellComp_1.default, { ctrl: cellCtrl, key: cellCtrl.getInstanceId() });\n case ag_grid_community_1.HeaderRowType.FLOATING_FILTER:\n return react_1.default.createElement(headerFilterCellComp_1.default, { ctrl: cellCtrl, key: cellCtrl.getInstanceId() });\n default:\n return react_1.default.createElement(headerCellComp_1.default, { ctrl: cellCtrl, key: cellCtrl.getInstanceId() });\n }\n }, []);\n // below, we are not doing floating filters, not yet\n return (react_1.default.createElement(\"div\", { ref: eGui, className: className, role: \"row\", style: style, \"aria-rowindex\": ariaRowIndex }, cellCtrls.map(createCellJsx)));\n};\nexports.default = react_1.memo(HeaderRowComp);\n","// ag-grid-react v27.3.0\n\"use strict\";\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar beansContext_1 = require(\"../beansContext\");\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar utils_1 = require(\"../utils\");\nvar headerRowComp_1 = __importDefault(require(\"./headerRowComp\"));\nvar useEffectOnce_1 = require(\"../useEffectOnce\");\nvar HeaderRowContainerComp = function (props) {\n var _a = react_1.useState(new utils_1.CssClasses()), cssClasses = _a[0], setCssClasses = _a[1];\n var _b = react_1.useState(), centerContainerWidth = _b[0], setCenterContainerWidth = _b[1];\n var _c = react_1.useState(), centerContainerTransform = _c[0], setCenterContainerTransform = _c[1];\n var _d = react_1.useState(), pinnedContainerWidth = _d[0], setPinnedContainerWidth = _d[1];\n var _e = react_1.useState([]), headerRowCtrls = _e[0], setHeaderRowCtrls = _e[1];\n var context = react_1.useContext(beansContext_1.BeansContext).context;\n var eGui = react_1.useRef(null);\n var pinnedLeft = props.pinned === ag_grid_community_1.Constants.PINNED_LEFT;\n var pinnedRight = props.pinned === ag_grid_community_1.Constants.PINNED_RIGHT;\n var centre = !pinnedLeft && !pinnedRight;\n useEffectOnce_1.useEffectOnce(function () {\n var compProxy = {\n addOrRemoveCssClass: function (name, on) { return setCssClasses(function (prev) { return prev.setClass(name, on); }); },\n setCtrls: function (ctrls) { return setHeaderRowCtrls(ctrls); },\n // centre only\n setCenterWidth: function (width) { return setCenterContainerWidth(width); },\n setContainerTransform: function (transform) { return setCenterContainerTransform(transform); },\n // pinned only\n setPinnedContainerWidth: function (width) { return setPinnedContainerWidth(width); }\n };\n var ctrl = context.createBean(new ag_grid_community_1.HeaderRowContainerCtrl(props.pinned));\n ctrl.setComp(compProxy, eGui.current);\n return function () {\n context.destroyBean(ctrl);\n };\n });\n var className = react_1.useMemo(function () { return cssClasses.toString(); }, [cssClasses]);\n var insertRowsJsx = function () { return headerRowCtrls.map(function (ctrl) { return react_1.default.createElement(headerRowComp_1.default, { ctrl: ctrl, key: ctrl.getInstanceId() }); }); };\n var eCenterContainerStyle = react_1.useMemo(function () { return ({\n width: centerContainerWidth,\n transform: centerContainerTransform\n }); }, [centerContainerWidth, centerContainerTransform]);\n var ePinnedStyle = react_1.useMemo(function () { return ({\n width: pinnedContainerWidth,\n minWidth: pinnedContainerWidth,\n maxWidth: pinnedContainerWidth,\n }); }, [pinnedContainerWidth]);\n return (react_1.default.createElement(react_1.default.Fragment, null,\n pinnedLeft &&\n react_1.default.createElement(\"div\", { ref: eGui, className: \"ag-pinned-left-header \" + className, role: \"presentation\", style: ePinnedStyle }, insertRowsJsx()),\n pinnedRight &&\n react_1.default.createElement(\"div\", { ref: eGui, className: \"ag-pinned-right-header \" + className, role: \"presentation\", style: ePinnedStyle }, insertRowsJsx()),\n centre &&\n react_1.default.createElement(\"div\", { ref: eGui, className: \"ag-header-viewport \" + className, role: \"presentation\" },\n react_1.default.createElement(\"div\", { className: \"ag-header-container\", role: \"rowgroup\", style: eCenterContainerStyle }, insertRowsJsx()))));\n};\nexports.default = react_1.memo(HeaderRowContainerComp);\n","// ag-grid-react v27.3.0\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.showJsComp = function (compDetails, context, eParent, ref) {\n var doNothing = !compDetails || compDetails.componentFromFramework;\n if (doNothing) {\n return;\n }\n var promise = compDetails.newAgStackInstance();\n if (!promise) {\n return;\n }\n // almost all JS Comps are NOT async, however the Floating Multi Filter is Async as it could\n // be wrapping a React filter, so we need to cater for async comps here.\n var comp;\n var compGui;\n var destroyed = false;\n promise.then(function (c) {\n if (destroyed) {\n context.destroyBean(c);\n return;\n }\n comp = c;\n compGui = comp.getGui();\n eParent.appendChild(compGui);\n setRef(ref, comp);\n });\n return function () {\n destroyed = true;\n if (!comp) {\n return;\n } // in case we were destroyed before async comp was returned\n if (compGui && compGui.parentElement) {\n compGui.parentElement.removeChild(compGui);\n }\n context.destroyBean(comp);\n if (ref) {\n setRef(ref, undefined);\n }\n };\n};\nvar setRef = function (ref, value) {\n if (!ref) {\n return;\n }\n if (ref instanceof Function) {\n var refCallback = ref;\n refCallback(value);\n }\n else {\n var refObj = ref;\n refObj.current = value;\n }\n};\nexports.createSyncJsComp = function (compDetails) {\n var promise = compDetails.newAgStackInstance();\n if (!promise) {\n return;\n }\n return promise.resolveNow(null, function (x) { return x; }); // js comps are never async\n};\n","// ag-grid-react v27.3.0\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar useEffectOnce_1 = require(\"./useEffectOnce\");\nvar useReactCommentEffect = function (comment, eForCommentRef) {\n useEffectOnce_1.useEffectOnce(function () {\n var eForComment = eForCommentRef.current;\n var eParent = eForComment.parentElement;\n if (!eParent) {\n return;\n }\n var eComment = document.createComment(comment);\n eParent.insertBefore(eComment, eForComment);\n return function () {\n eParent.removeChild(eComment);\n };\n });\n};\nexports.default = useReactCommentEffect;\n","// ag-grid-react v27.3.0\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar jsComp_1 = require(\"../jsComp\");\nvar utils_1 = require(\"../utils\");\nvar beansContext_1 = require(\"../beansContext\");\nvar cellComp_1 = __importDefault(require(\"../cells/cellComp\"));\nvar useEffectOnce_1 = require(\"../useEffectOnce\");\nvar maintainOrderOnColumns = function (prev, next, domOrder) {\n if (domOrder) {\n var res_1 = { list: next, instanceIdMap: new Map() };\n next.forEach(function (c) { return res_1.instanceIdMap.set(c.getInstanceId(), c); });\n return res_1;\n }\n // if dom order not important, we don't want to change the order\n // of the elements in the dom, as this would break transition styles\n var oldCellCtrls = [];\n var newCellCtrls = [];\n var newInstanceIdMap = new Map();\n var tempMap = new Map();\n next.forEach(function (c) { return tempMap.set(c.getInstanceId(), c); });\n prev.list.forEach(function (c) {\n var instanceId = c.getInstanceId();\n if (tempMap.has(instanceId)) {\n oldCellCtrls.push(c);\n newInstanceIdMap.set(instanceId, c);\n }\n });\n next.forEach(function (c) {\n var instanceId = c.getInstanceId();\n if (!prev.instanceIdMap.has(instanceId)) {\n newCellCtrls.push(c);\n newInstanceIdMap.set(instanceId, c);\n }\n });\n var res = {\n list: __spreadArrays(oldCellCtrls, newCellCtrls),\n instanceIdMap: newInstanceIdMap\n };\n return res;\n};\nvar RowComp = function (params) {\n var context = react_1.useContext(beansContext_1.BeansContext).context;\n var rowCtrl = params.rowCtrl, containerType = params.containerType;\n var _a = react_1.useState(), rowIndex = _a[0], setRowIndex = _a[1];\n var _b = react_1.useState(), rowId = _b[0], setRowId = _b[1];\n var _c = react_1.useState(), role = _c[0], setRole = _c[1];\n var _d = react_1.useState(), rowBusinessKey = _d[0], setRowBusinessKey = _d[1];\n var _e = react_1.useState(), tabIndex = _e[0], setTabIndex = _e[1];\n var _f = react_1.useState(), userStyles = _f[0], setUserStyles = _f[1];\n var _g = react_1.useState({ list: [], instanceIdMap: new Map() }), cellCtrls = _g[0], setCellCtrls = _g[1];\n var _h = react_1.useState(), fullWidthCompDetails = _h[0], setFullWidthCompDetails = _h[1];\n var _j = react_1.useState(false), domOrder = _j[0], setDomOrder = _j[1];\n // these styles have initial values, so element is placed into the DOM with them,\n // rather than an transition getting applied.\n var _k = react_1.useState(rowCtrl.getInitialRowTop()), top = _k[0], setTop = _k[1];\n var _l = react_1.useState(rowCtrl.getInitialTransform()), transform = _l[0], setTransform = _l[1];\n var eGui = react_1.useRef(null);\n var fullWidthCompRef = react_1.useRef();\n var autoHeightSetup = react_1.useRef(false);\n var _m = react_1.useState(0), autoHeightSetupAttempt = _m[0], setAutoHeightSetupAttempt = _m[1];\n // puts autoHeight onto full with detail rows. this needs trickery, as we need\n // the HTMLElement for the provided Detail Cell Renderer, however the Detail Cell Renderer\n // could be a stateless React Func Comp which won't work with useRef, so we need\n // to poll (we limit to 10) looking for the Detail HTMLElement (which will be the only\n // child) after the fullWidthCompDetails is set.\n react_1.useEffect(function () {\n var _a;\n if (autoHeightSetup.current) {\n return;\n }\n if (!fullWidthCompDetails) {\n return;\n }\n if (autoHeightSetupAttempt > 10) {\n return;\n }\n var eChild = (_a = eGui.current) === null || _a === void 0 ? void 0 : _a.firstChild;\n if (eChild) {\n rowCtrl.setupDetailRowAutoHeight(eChild);\n autoHeightSetup.current = true;\n }\n else {\n setAutoHeightSetupAttempt(function (prev) { return prev + 1; });\n }\n }, [fullWidthCompDetails, autoHeightSetupAttempt]);\n var cssClassManager = react_1.useMemo(function () { return new ag_grid_community_1.CssClassManager(function () { return eGui.current; }); }, []);\n useEffectOnce_1.useEffectOnce(function () {\n // because React is asychronous, it's possible the RowCtrl is no longer a valid RowCtrl. This can\n // happen if user calls two API methods one after the other, with the second API invalidating the rows\n // the first call created. Thus the rows for the first call could still get created even though no longer needed.\n if (!rowCtrl.isAlive()) {\n return;\n }\n var compProxy = {\n // the rowTop is managed by state, instead of direct style manipulation by rowCtrl (like all the other styles)\n // as we need to have an initial value when it's placed into he DOM for the first time, for animation to work.\n setTop: function (value) { return setTop(value); },\n setTransform: function (value) { return setTransform(value); },\n // i found using React for managing classes at the row level was to slow, as modifying classes caused a lot of\n // React code to execute, so avoiding React for managing CSS Classes made the grid go much faster.\n addOrRemoveCssClass: function (name, on) { return cssClassManager.addOrRemoveCssClass(name, on); },\n setDomOrder: function (domOrder) { return setDomOrder(domOrder); },\n setRowIndex: function (value) { return setRowIndex(value); },\n setRowId: function (value) { return setRowId(value); },\n setRowBusinessKey: function (value) { return setRowBusinessKey(value); },\n setTabIndex: function (value) { return setTabIndex(value); },\n setUserStyles: function (styles) { return setUserStyles(styles); },\n setRole: function (value) { return setRole(value); },\n // if we don't maintain the order, then cols will be ripped out and into the dom\n // when cols reordered, which would stop the CSS transitions from working\n setCellCtrls: function (next) { return setCellCtrls(function (prev) { return maintainOrderOnColumns(prev, next, domOrder); }); },\n showFullWidth: function (compDetails) { return setFullWidthCompDetails(compDetails); },\n getFullWidthCellRenderer: function () { return fullWidthCompRef.current; },\n };\n rowCtrl.setComp(compProxy, eGui.current, containerType);\n });\n react_1.useEffect(function () { return jsComp_1.showJsComp(fullWidthCompDetails, context, eGui.current, fullWidthCompRef); }, [fullWidthCompDetails]);\n var rowStyles = react_1.useMemo(function () {\n var res = { top: top, transform: transform };\n Object.assign(res, userStyles);\n return res;\n }, [top, transform, userStyles]);\n var showFullWidthFramework = fullWidthCompDetails && fullWidthCompDetails.componentFromFramework;\n var showCells = cellCtrls != null;\n var reactFullWidthCellRendererStateless = react_1.useMemo(function () {\n var _a;\n var res = ((_a = fullWidthCompDetails) === null || _a === void 0 ? void 0 : _a.componentFromFramework) && utils_1.isComponentStateless(fullWidthCompDetails.componentClass);\n return !!res;\n }, [fullWidthCompDetails]);\n var showCellsJsx = function () { return cellCtrls.list.map(function (cellCtrl) { return (react_1.default.createElement(cellComp_1.default, { cellCtrl: cellCtrl, editingRow: rowCtrl.isEditing(), printLayout: rowCtrl.isPrintLayout(), key: cellCtrl.getInstanceId() })); }); };\n var showFullWidthFrameworkJsx = function () {\n var FullWidthComp = fullWidthCompDetails.componentClass;\n return (react_1.default.createElement(react_1.default.Fragment, null,\n reactFullWidthCellRendererStateless\n && react_1.default.createElement(FullWidthComp, __assign({}, fullWidthCompDetails.params)),\n !reactFullWidthCellRendererStateless\n && react_1.default.createElement(FullWidthComp, __assign({}, fullWidthCompDetails.params, { ref: fullWidthCompRef }))));\n };\n return (react_1.default.createElement(\"div\", { ref: eGui, role: role, style: rowStyles, \"row-index\": rowIndex, \"row-id\": rowId, \"row-business-key\": rowBusinessKey, tabIndex: tabIndex },\n showCells && showCellsJsx(),\n showFullWidthFramework && showFullWidthFrameworkJsx()));\n};\nexports.default = react_1.memo(RowComp);\n","// ag-grid-react v27.3.0\n\"use strict\";\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar react_1 = __importStar(require(\"react\"));\nvar utils_1 = require(\"../utils\");\nvar reactComment_1 = __importDefault(require(\"../reactComment\"));\nvar rowComp_1 = __importDefault(require(\"./rowComp\"));\nvar beansContext_1 = require(\"../beansContext\");\nvar useEffectOnce_1 = require(\"../useEffectOnce\");\nvar RowContainerComp = function (params) {\n var context = react_1.useContext(beansContext_1.BeansContext).context;\n var _a = react_1.useState(''), viewportHeight = _a[0], setViewportHeight = _a[1];\n var _b = react_1.useState([]), rowCtrlsOrdered = _b[0], setRowCtrlsOrdered = _b[1];\n var _c = react_1.useState([]), rowCtrls = _c[0], setRowCtrls = _c[1];\n var _d = react_1.useState(false), domOrder = _d[0], setDomOrder = _d[1];\n var _e = react_1.useState(''), containerWidth = _e[0], setContainerWidth = _e[1];\n var name = params.name;\n var containerType = react_1.useMemo(function () { return ag_grid_community_1.getRowContainerTypeForName(name); }, [name]);\n var eWrapper = react_1.useRef(null);\n var eViewport = react_1.useRef(null);\n var eContainer = react_1.useRef(null);\n var cssClasses = react_1.useMemo(function () { return ag_grid_community_1.RowContainerCtrl.getRowContainerCssClasses(name); }, [name]);\n var wrapperClasses = react_1.useMemo(function () { return utils_1.classesList(cssClasses.wrapper); }, []);\n var viewportClasses = react_1.useMemo(function () { return utils_1.classesList(cssClasses.viewport); }, []);\n var containerClasses = react_1.useMemo(function () { return utils_1.classesList(cssClasses.container); }, []);\n // no need to useMemo for boolean types\n var template1 = name === ag_grid_community_1.RowContainerName.CENTER;\n var template2 = name === ag_grid_community_1.RowContainerName.TOP_CENTER || name === ag_grid_community_1.RowContainerName.BOTTOM_CENTER;\n var template3 = !template1 && !template2;\n var topLevelRef = template1 ? eWrapper : template2 ? eViewport : eContainer;\n reactComment_1.default(' AG Row Container ' + name + ' ', topLevelRef);\n // if domOrder=true, then we just copy rowCtrls into rowCtrlsOrdered observing order,\n // however if false, then we need to keep the order as they are in the dom, otherwise rowAnimation breaks\n react_1.useEffect(function () {\n setRowCtrlsOrdered(function (prev) {\n if (domOrder) {\n return rowCtrls;\n }\n // if dom order not important, we don't want to change the order\n // of the elements in the dom, as this would break transition styles\n var oldRows = prev.filter(function (r) { return rowCtrls.indexOf(r) >= 0; });\n var newRows = rowCtrls.filter(function (r) { return oldRows.indexOf(r) < 0; });\n var next = __spreadArrays(oldRows, newRows);\n return next;\n });\n }, [domOrder, rowCtrls]);\n useEffectOnce_1.useEffectOnce(function () {\n var beansToDestroy = [];\n var compProxy = {\n setViewportHeight: setViewportHeight,\n setRowCtrls: function (rowCtrls) { return setRowCtrls(rowCtrls); },\n setDomOrder: function (domOrder) { return setDomOrder(domOrder); },\n setContainerWidth: function (width) { return setContainerWidth(width); }\n };\n var ctrl = context.createBean(new ag_grid_community_1.RowContainerCtrl(name));\n beansToDestroy.push(ctrl);\n ctrl.setComp(compProxy, eContainer.current, eViewport.current, eWrapper.current);\n return function () {\n context.destroyBeans(beansToDestroy);\n };\n });\n var viewportStyle = react_1.useMemo(function () { return ({\n height: viewportHeight\n }); }, [viewportHeight]);\n var containerStyle = react_1.useMemo(function () { return ({\n width: containerWidth\n }); }, [containerWidth]);\n var buildContainer = function () { return (react_1.default.createElement(\"div\", { className: containerClasses, ref: eContainer, role: rowCtrls.length ? \"rowgroup\" : \"presentation\", style: containerStyle }, rowCtrlsOrdered.map(function (rowCtrl) { return react_1.default.createElement(rowComp_1.default, { rowCtrl: rowCtrl, containerType: containerType, key: rowCtrl.getInstanceId() }); }))); };\n return (react_1.default.createElement(react_1.default.Fragment, null,\n template1 &&\n react_1.default.createElement(\"div\", { className: wrapperClasses, ref: eWrapper, role: \"presentation\" },\n react_1.default.createElement(\"div\", { className: viewportClasses, ref: eViewport, role: \"presentation\", style: viewportStyle }, buildContainer())),\n template2 &&\n react_1.default.createElement(\"div\", { className: viewportClasses, ref: eViewport, role: \"presentation\", style: viewportStyle }, buildContainer()),\n template3 && buildContainer()));\n};\nexports.default = react_1.memo(RowContainerComp);\n","// ag-grid-react v27.3.0\n\"use strict\";\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar beansContext_1 = require(\"./beansContext\");\nvar useEffectOnce_1 = require(\"./useEffectOnce\");\nvar TabGuardCompRef = function (props, forwardRef) {\n var children = props.children, eFocusableElement = props.eFocusableElement, onTabKeyDown = props.onTabKeyDown, gridCtrl = props.gridCtrl;\n var context = react_1.useContext(beansContext_1.BeansContext).context;\n var topTabGuardRef = react_1.useRef(null);\n var bottomTabGuardRef = react_1.useRef(null);\n var tabGuardCtrlRef = react_1.useRef();\n var _a = react_1.useState(), tabIndex = _a[0], setTabIndex = _a[1];\n react_1.useImperativeHandle(forwardRef, function () { return ({\n forceFocusOutOfContainer: function () {\n tabGuardCtrlRef.current.forceFocusOutOfContainer();\n }\n }); });\n useEffectOnce_1.useEffectOnce(function () {\n var eTopGuard = topTabGuardRef.current;\n var eBottomGuard = bottomTabGuardRef.current;\n var compProxy = {\n setTabIndex: function (value) { return value == null ? setTabIndex(undefined) : setTabIndex(parseInt(value, 10)); }\n };\n var ctrl = tabGuardCtrlRef.current = context.createBean(new ag_grid_community_1.TabGuardCtrl({\n comp: compProxy,\n eTopGuard: eTopGuard,\n eBottomGuard: eBottomGuard,\n eFocusableElement: eFocusableElement,\n onTabKeyDown: onTabKeyDown,\n focusInnerElement: function (fromBottom) { return gridCtrl.focusInnerElement(fromBottom); }\n }));\n return function () {\n context.destroyBean(ctrl);\n };\n });\n var createTabGuard = function (side) { return (react_1.default.createElement(\"div\", { className: \"ag-tab-guard ag-tab-guard-\" + side, role: \"presentation\", tabIndex: tabIndex, ref: side === 'top' ? topTabGuardRef : bottomTabGuardRef })); };\n return (react_1.default.createElement(react_1.default.Fragment, null,\n createTabGuard('top'),\n children,\n createTabGuard('bottom')));\n};\nvar TabGuardComp = react_1.forwardRef(TabGuardCompRef);\nexports.default = react_1.memo(TabGuardComp);\n","// ag-grid-react v27.3.0\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nexports.useEffectOnce = function (effect) {\n var destroyFunc = react_1.useRef();\n var effectCalled = react_1.useRef(false);\n var renderAfterCalled = react_1.useRef(false);\n var _a = react_1.useState(0), val = _a[0], setVal = _a[1];\n if (effectCalled.current) {\n renderAfterCalled.current = true;\n }\n react_1.useEffect(function () {\n // only execute the effect first time around\n if (!effectCalled.current) {\n destroyFunc.current = effect();\n effectCalled.current = true;\n }\n // this forces one render after the effect is run\n setVal(function (val) { return val + 1; });\n return function () {\n // if the comp didn't render since the useEffect was called,\n // we know it's the dummy React cycle\n if (!renderAfterCalled.current) {\n return;\n }\n // otherwise this is not a dummy destroy, so call the destroy func\n if (destroyFunc.current) {\n destroyFunc.current();\n }\n };\n }, []);\n};\n","// ag-grid-react v27.3.0\n\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.classesList = function () {\n var list = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n list[_i] = arguments[_i];\n }\n var filtered = list.filter(function (s) { return s != null && s !== ''; });\n return filtered.join(' ');\n};\nvar CssClasses = /** @class */ (function () {\n function CssClasses() {\n var _this = this;\n var initialClasses = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n initialClasses[_i] = arguments[_i];\n }\n this.classesMap = {};\n initialClasses.forEach(function (className) {\n _this.classesMap[className] = true;\n });\n }\n CssClasses.prototype.setClass = function (className, on) {\n // important to not make a copy if nothing has changed, so react\n // won't trigger a render cycle on new object instance\n var nothingHasChanged = !!this.classesMap[className] == on;\n if (nothingHasChanged) {\n return this;\n }\n var res = new CssClasses();\n res.classesMap = __assign({}, this.classesMap);\n res.classesMap[className] = on;\n return res;\n };\n CssClasses.prototype.toString = function () {\n var _this = this;\n var res = Object.keys(this.classesMap).filter(function (key) { return _this.classesMap[key]; }).join(' ');\n return res;\n };\n return CssClasses;\n}());\nexports.CssClasses = CssClasses;\nexports.isComponentStateless = function (Component) {\n var hasSymbol = function () { return typeof Symbol === 'function' && Symbol.for; };\n var getMemoType = function () { return hasSymbol() ? Symbol.for('react.memo') : 0xead3; };\n return (typeof Component === 'function' && !(Component.prototype && Component.prototype.isReactComponent)) || (typeof Component === 'object' && Component.$$typeof === getMemoType());\n};\n","// ag-grid-react v27.3.0\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importStar(require(\"react\"));\nvar prop_types_1 = __importDefault(require(\"prop-types\"));\nvar AgGrid = __importStar(require(\"ag-grid-community\"));\nvar AgGridColumn = /** @class */ (function (_super) {\n __extends(AgGridColumn, _super);\n function AgGridColumn(props) {\n var _this = _super.call(this, props) || this;\n _this.props = props;\n return _this;\n }\n AgGridColumn.prototype.render = function () {\n return null;\n };\n AgGridColumn.mapChildColumnDefs = function (children) {\n return react_1.default.Children.map(children, function (child) { return !!child ? AgGridColumn.toColDef(child.props) : null; });\n };\n AgGridColumn.toColDef = function (columnProps) {\n var children = columnProps.children, colDef = __rest(columnProps, [\"children\"]);\n if (AgGridColumn.hasChildColumns(children)) {\n colDef.children = AgGridColumn.mapChildColumnDefs(children);\n }\n return colDef;\n };\n AgGridColumn.hasChildColumns = function (children) {\n return react_1.default.Children.count(children) > 0;\n };\n return AgGridColumn;\n}(react_1.Component));\nexports.AgGridColumn = AgGridColumn;\naddProperties(AgGrid.ColDefUtil.BOOLEAN_PROPERTIES, prop_types_1.default.bool);\naddProperties(AgGrid.ColDefUtil.STRING_PROPERTIES, prop_types_1.default.string);\naddProperties(AgGrid.ColDefUtil.OBJECT_PROPERTIES, prop_types_1.default.object);\naddProperties(AgGrid.ColDefUtil.ARRAY_PROPERTIES, prop_types_1.default.array);\naddProperties(AgGrid.ColDefUtil.NUMBER_PROPERTIES, prop_types_1.default.number);\naddProperties(AgGrid.ColDefUtil.FUNCTION_PROPERTIES, prop_types_1.default.func);\nfunction addProperties(listOfProps, propType) {\n listOfProps.forEach(function (propKey) {\n // @ts-ignore\n AgGridColumn[propKey] = propType;\n });\n}\n","// ag-grid-react v27.3.0\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ChangeDetectionStrategyType;\n(function (ChangeDetectionStrategyType) {\n ChangeDetectionStrategyType[\"IdentityCheck\"] = \"IdentityCheck\";\n ChangeDetectionStrategyType[\"DeepValueCheck\"] = \"DeepValueCheck\";\n ChangeDetectionStrategyType[\"NoCheck\"] = \"NoCheck\";\n})(ChangeDetectionStrategyType = exports.ChangeDetectionStrategyType || (exports.ChangeDetectionStrategyType = {}));\nvar SimpleFunctionalStrategy = /** @class */ (function () {\n function SimpleFunctionalStrategy(strategy) {\n this.strategy = strategy;\n }\n SimpleFunctionalStrategy.prototype.areEqual = function (a, b) {\n return this.strategy(a, b);\n };\n return SimpleFunctionalStrategy;\n}());\nvar DeepValueStrategy = /** @class */ (function () {\n function DeepValueStrategy() {\n }\n DeepValueStrategy.prototype.areEqual = function (a, b) {\n return DeepValueStrategy.areEquivalent(DeepValueStrategy.copy(a), DeepValueStrategy.copy(b));\n };\n /*\n * deeper object comparison - taken from https://stackoverflow.com/questions/1068834/object-comparison-in-javascript\n */\n DeepValueStrategy.unwrapStringOrNumber = function (obj) {\n return obj instanceof Number || obj instanceof String ? obj.valueOf() : obj;\n };\n // sigh, here for ie compatibility\n DeepValueStrategy.copy = function (value) {\n if (!value) {\n return value;\n }\n if (Array.isArray(value)) {\n // shallow copy the array - this will typically be either rowData or columnDefs\n var arrayCopy = [];\n for (var i = 0; i < value.length; i++) {\n arrayCopy.push(this.copy(value[i]));\n }\n return arrayCopy;\n }\n // for anything without keys (boolean, string etc).\n // Object.keys - chrome will swallow them\n if (typeof value !== \"object\") {\n return value;\n }\n return [{}, value].reduce(function (r, o) {\n Object.keys(o).forEach(function (k) {\n r[k] = o[k];\n });\n return r;\n }, {});\n };\n DeepValueStrategy.isNaN = function (value) {\n if (Number.isNaN) {\n return Number.isNaN(value);\n }\n // for ie11...\n return typeof (value) === 'number' && isNaN(value);\n };\n /*\n * slightly modified, but taken from https://stackoverflow.com/questions/1068834/object-comparison-in-javascript\n *\n * What we're trying to do here is determine if the property being checked has changed in _value_, not just in reference\n *\n * For eg, if a user updates the columnDefs via property binding, but the actual columns defs are the same before and\n * after, then we don't want the grid to re-render\n */\n DeepValueStrategy.areEquivalent = function (a, b) {\n a = DeepValueStrategy.unwrapStringOrNumber(a);\n b = DeepValueStrategy.unwrapStringOrNumber(b);\n if (a === b)\n return true; //e.g. a and b both null\n if (a === null || b === null || typeof a !== typeof b)\n return false;\n if (DeepValueStrategy.isNaN(a) && DeepValueStrategy.isNaN(b)) {\n return true;\n }\n if (a instanceof Date) {\n return b instanceof Date && a.valueOf() === b.valueOf();\n }\n if (typeof a === \"function\") {\n // false to allow for callbacks to be reactive...\n return false;\n }\n if (typeof a !== \"object\" ||\n (a.$$typeof && a.$$typeof.toString() === \"Symbol(react.element)\")) {\n return a == b; //for boolean, number, string, function, xml\n }\n if (Object.isFrozen(a) || Object.isFrozen(b)) {\n return a === b;\n }\n var newA = a.areEquivPropertyTracking === undefined, newB = b.areEquivPropertyTracking === undefined;\n try {\n var prop = void 0;\n if (newA) {\n a.areEquivPropertyTracking = [];\n }\n else if (a.areEquivPropertyTracking.some(function (other) {\n return other === b;\n }))\n return true;\n if (newB) {\n b.areEquivPropertyTracking = [];\n }\n else if (b.areEquivPropertyTracking.some(function (other) { return other === a; })) {\n return true;\n }\n a.areEquivPropertyTracking.push(b);\n b.areEquivPropertyTracking.push(a);\n var tmp = {};\n for (prop in a)\n if (prop != \"areEquivPropertyTracking\") {\n tmp[prop] = null;\n }\n for (prop in b)\n if (prop != \"areEquivPropertyTracking\") {\n tmp[prop] = null;\n }\n for (prop in tmp) {\n if (!this.areEquivalent(a[prop], b[prop])) {\n return false;\n }\n }\n return true;\n }\n finally {\n if (newA)\n delete a.areEquivPropertyTracking;\n if (newB)\n delete b.areEquivPropertyTracking;\n }\n };\n return DeepValueStrategy;\n}());\nvar ChangeDetectionService = /** @class */ (function () {\n function ChangeDetectionService() {\n var _a;\n this.strategyMap = (_a = {},\n _a[ChangeDetectionStrategyType.DeepValueCheck] = new DeepValueStrategy(),\n _a[ChangeDetectionStrategyType.IdentityCheck] = new SimpleFunctionalStrategy(function (a, b) { return a === b; }),\n _a[ChangeDetectionStrategyType.NoCheck] = new SimpleFunctionalStrategy(function (a, b) { return false; }),\n _a);\n }\n ChangeDetectionService.prototype.getStrategy = function (changeDetectionStrategy) {\n return this.strategyMap[changeDetectionStrategy];\n };\n return ChangeDetectionService;\n}());\nexports.ChangeDetectionService = ChangeDetectionService;\n","// ag-grid-react v27.3.0\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar counter = 0;\nfunction generateNewKey() {\n return \"agPortalKey_\" + ++counter;\n}\nexports.default = generateNewKey;\n","// ag-grid-react v27.3.0\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nvar react_dom_1 = require(\"react-dom\");\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar reactComponent_1 = require(\"./reactComponent\");\nvar server_1 = require(\"react-dom/server\");\nvar keyGenerator_1 = __importDefault(require(\"./keyGenerator\"));\nvar NewReactComponent = /** @class */ (function (_super) {\n __extends(NewReactComponent, _super);\n function NewReactComponent(reactComponent, parentComponent, componentType) {\n var _this = _super.call(this, reactComponent, parentComponent, componentType) || this;\n _this.oldPortal = null;\n _this.key = keyGenerator_1.default();\n _this.portalKey = keyGenerator_1.default();\n return _this;\n }\n NewReactComponent.prototype.init = function (params) {\n var _this = this;\n this.eParentElement = this.createParentElement(params);\n this.params = params;\n this.createOrUpdatePortal(params);\n return new ag_grid_community_1.AgPromise(function (resolve) { return _this.createReactComponent(resolve); });\n };\n NewReactComponent.prototype.createOrUpdatePortal = function (params) {\n var _this = this;\n if (!this.isStatelessComponent()) {\n // grab hold of the actual instance created\n params.ref = function (element) {\n _this.componentInstance = element;\n _this.addParentContainerStyleAndClasses();\n };\n }\n this.reactElement = react_1.createElement(this.reactComponent, __assign(__assign({}, params), { key: this.key }));\n this.portal = react_dom_1.createPortal(this.reactElement, this.eParentElement, this.portalKey // fixed deltaRowModeRefreshCompRenderer\n );\n };\n NewReactComponent.prototype.createReactComponent = function (resolve) {\n this.portalManager.mountReactPortal(this.portal, this, function (value) {\n resolve(value);\n });\n };\n NewReactComponent.prototype.isNullValue = function () {\n return this.valueRenderedIsNull(this.params);\n };\n NewReactComponent.prototype.rendered = function () {\n return (this.isStatelessComponent() && this.statelessComponentRendered()) ||\n !!(!this.isStatelessComponent() && this.getFrameworkComponentInstance());\n };\n NewReactComponent.prototype.valueRenderedIsNull = function (params) {\n // we only do this for cellRenderers\n if (!this.componentType.cellRenderer) {\n return false;\n }\n // we've no way of knowing if a component returns null without rendering it first\n // so we render it to markup and check the output - if it'll be null we know and won't timeout\n // waiting for a component that will never be created\n var originalConsoleError = console.error;\n try {\n // if a user is doing anything that uses useLayoutEffect (like material ui) then it will throw and we\n // can't do anything to stop it; this is just a warning and has no effect on anything so just suppress it\n // for this single operation\n console.error = function () {\n };\n var staticMarkup = server_1.renderToStaticMarkup(react_1.createElement(this.reactComponent, params));\n return staticMarkup === '';\n }\n catch (ignore) {\n }\n finally {\n console.error = originalConsoleError;\n }\n return false;\n };\n /*\n * fallback methods - these will be invoked if a corresponding instance method is not present\n * for example if refresh is called and is not available on the component instance, then refreshComponent on this\n * class will be invoked instead\n *\n * Currently only refresh is supported\n */\n NewReactComponent.prototype.refreshComponent = function (args) {\n this.oldPortal = this.portal;\n this.createOrUpdatePortal(args);\n this.portalManager.updateReactPortal(this.oldPortal, this.portal);\n };\n NewReactComponent.prototype.fallbackMethod = function (name, params) {\n var method = this[name + \"Component\"];\n if (!!method) {\n return method.bind(this)(params);\n }\n };\n NewReactComponent.prototype.fallbackMethodAvailable = function (name) {\n var method = this[name + \"Component\"];\n return !!method;\n };\n return NewReactComponent;\n}(reactComponent_1.ReactComponent));\nexports.NewReactComponent = NewReactComponent;\n","// ag-grid-react v27.3.0\n\"use strict\";\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar PortalManager = /** @class */ (function () {\n function PortalManager(parent, wrappingElement, maxComponentCreationTimeMs) {\n this.destroyed = false;\n this.portals = [];\n this.hasPendingPortalUpdate = false;\n this.wrappingElement = wrappingElement ? wrappingElement : 'div';\n this.parent = parent;\n this.maxComponentCreationTimeMs = maxComponentCreationTimeMs ? maxComponentCreationTimeMs : PortalManager.MAX_COMPONENT_CREATION_TIME_IN_MS;\n }\n PortalManager.prototype.getPortals = function () {\n return this.portals;\n };\n PortalManager.prototype.destroy = function () {\n this.destroyed = true;\n };\n PortalManager.prototype.destroyPortal = function (portal) {\n this.portals = this.portals.filter(function (curPortal) { return curPortal !== portal; });\n this.batchUpdate();\n };\n PortalManager.prototype.getComponentWrappingElement = function () {\n return this.wrappingElement;\n };\n PortalManager.prototype.mountReactPortal = function (portal, reactComponent, resolve) {\n this.portals = __spreadArrays(this.portals, [portal]);\n this.waitForInstance(reactComponent, resolve);\n this.batchUpdate();\n };\n PortalManager.prototype.updateReactPortal = function (oldPortal, newPortal) {\n this.portals[this.portals.indexOf(oldPortal)] = newPortal;\n this.batchUpdate();\n };\n PortalManager.prototype.batchUpdate = function () {\n var _this = this;\n if (this.hasPendingPortalUpdate) {\n return;\n }\n setTimeout(function () {\n if (!_this.destroyed) { // destroyed?\n _this.parent.forceUpdate(function () {\n _this.hasPendingPortalUpdate = false;\n });\n }\n });\n this.hasPendingPortalUpdate = true;\n };\n PortalManager.prototype.waitForInstance = function (reactComponent, resolve, startTime) {\n var _this = this;\n if (startTime === void 0) { startTime = Date.now(); }\n // if the grid has been destroyed in the meantime just resolve\n if (this.destroyed) {\n resolve(null);\n return;\n }\n if (reactComponent.rendered()) {\n resolve(reactComponent);\n }\n else {\n if (Date.now() - startTime >= this.maxComponentCreationTimeMs && !this.hasPendingPortalUpdate) {\n // last check - we check if this is a null value being rendered - we do this last as using SSR to check the value\n // can mess up contexts\n if (reactComponent.isNullValue()) {\n resolve(reactComponent);\n return;\n }\n console.error(\"AG Grid: React Component '\" + reactComponent.getReactComponentName() + \"' not created within \" + this.maxComponentCreationTimeMs + \"ms\");\n return;\n }\n window.setTimeout(function () {\n _this.waitForInstance(reactComponent, resolve, startTime);\n });\n }\n };\n PortalManager.MAX_COMPONENT_CREATION_TIME_IN_MS = 1000; // a second should be more than enough to instantiate a component\n return PortalManager;\n}());\nexports.PortalManager = PortalManager;\n","// ag-grid-react v27.3.0\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar BaseReactComponent = /** @class */ (function () {\n function BaseReactComponent() {\n }\n return BaseReactComponent;\n}());\nvar ReactComponent = /** @class */ (function (_super) {\n __extends(ReactComponent, _super);\n function ReactComponent(reactComponent, portalManager, componentType) {\n var _this = _super.call(this) || this;\n _this.portal = null;\n _this.reactComponent = reactComponent;\n _this.portalManager = portalManager;\n _this.componentType = componentType;\n _this.statelessComponent = _this.isStateless(_this.reactComponent);\n return _this;\n }\n ReactComponent.prototype.getGui = function () {\n return this.eParentElement;\n };\n ReactComponent.prototype.destroy = function () {\n if (this.componentInstance && typeof this.componentInstance.destroy == 'function') {\n this.componentInstance.destroy();\n }\n return this.portalManager.destroyPortal(this.portal);\n };\n ReactComponent.prototype.createParentElement = function (params) {\n var componentWrappingElement = this.portalManager.getComponentWrappingElement();\n var eParentElement = document.createElement(componentWrappingElement || 'div');\n eParentElement.classList.add('ag-react-container');\n // DEPRECATED - use componentInstance.getReactContainerStyle or componentInstance.getReactContainerClasses instead\n // so user can have access to the react container, to add css class or style\n params.reactContainer = eParentElement;\n return eParentElement;\n };\n ReactComponent.prototype.addParentContainerStyleAndClasses = function () {\n var _this = this;\n if (!this.componentInstance) {\n return;\n }\n if (this.componentInstance.getReactContainerStyle && this.componentInstance.getReactContainerStyle()) {\n Object.assign(this.eParentElement.style, this.componentInstance.getReactContainerStyle());\n }\n if (this.componentInstance.getReactContainerClasses && this.componentInstance.getReactContainerClasses()) {\n var parentContainerClasses = this.componentInstance.getReactContainerClasses();\n parentContainerClasses.forEach(function (className) { return _this.eParentElement.classList.add(className); });\n }\n };\n ReactComponent.prototype.statelessComponentRendered = function () {\n // fixed fragmentsFuncRendererCreateDestroy funcRendererWithNan (changeDetectionService too for NaN)\n return this.eParentElement.childElementCount > 0 || this.eParentElement.childNodes.length > 0;\n };\n ReactComponent.prototype.getFrameworkComponentInstance = function () {\n return this.componentInstance;\n };\n ReactComponent.prototype.isStatelessComponent = function () {\n return this.statelessComponent;\n };\n ReactComponent.prototype.getReactComponentName = function () {\n return this.reactComponent.name;\n };\n ReactComponent.prototype.getMemoType = function () {\n return this.hasSymbol() ? Symbol.for('react.memo') : 0xead3;\n };\n ReactComponent.prototype.hasSymbol = function () {\n return typeof Symbol === 'function' && Symbol.for;\n };\n ReactComponent.prototype.isStateless = function (Component) {\n return (typeof Component === 'function' && !(Component.prototype && Component.prototype.isReactComponent))\n || (typeof Component === 'object' && Component.$$typeof === this.getMemoType());\n };\n ReactComponent.prototype.hasMethod = function (name) {\n var frameworkComponentInstance = this.getFrameworkComponentInstance();\n return (!!frameworkComponentInstance && frameworkComponentInstance[name] !== null) ||\n this.fallbackMethodAvailable(name);\n };\n ReactComponent.prototype.callMethod = function (name, args) {\n var _this = this;\n var frameworkComponentInstance = this.getFrameworkComponentInstance();\n if (this.isStatelessComponent()) {\n return this.fallbackMethod(name, !!args && args[0] ? args[0] : {});\n }\n else if (!(!!frameworkComponentInstance)) {\n // instance not ready yet - wait for it\n setTimeout(function () { return _this.callMethod(name, args); });\n return;\n }\n var method = frameworkComponentInstance[name];\n if (!!method) {\n return method.apply(frameworkComponentInstance, args);\n }\n if (this.fallbackMethodAvailable(name)) {\n return this.fallbackMethod(name, !!args && args[0] ? args[0] : {});\n }\n };\n ReactComponent.prototype.addMethod = function (name, callback) {\n this[name] = callback;\n };\n return ReactComponent;\n}(BaseReactComponent));\nexports.ReactComponent = ReactComponent;\n","// ag-grid-react v27.3.0\n\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ag_grid_community_1 = require(\"ag-grid-community\");\nvar groupCellRenderer_1 = __importDefault(require(\"../reactUi/cellRenderer/groupCellRenderer\"));\nvar detailCellRenderer_1 = __importDefault(require(\"../reactUi/cellRenderer/detailCellRenderer\"));\nvar ReactFrameworkOverrides = /** @class */ (function (_super) {\n __extends(ReactFrameworkOverrides, _super);\n function ReactFrameworkOverrides(reactUi) {\n var _this = _super.call(this) || this;\n _this.frameworkComponents = {\n agGroupCellRenderer: groupCellRenderer_1.default,\n agGroupRowRenderer: groupCellRenderer_1.default,\n agDetailCellRenderer: detailCellRenderer_1.default\n };\n _this.reactUi = reactUi;\n return _this;\n }\n ReactFrameworkOverrides.prototype.frameworkComponent = function (name) {\n if (!this.reactUi) {\n return;\n }\n return this.frameworkComponents[name];\n };\n ReactFrameworkOverrides.prototype.isFrameworkComponent = function (comp) {\n if (!comp) {\n return false;\n }\n var prototype = comp.prototype;\n var isJsComp = prototype && 'getGui' in prototype;\n return !isJsComp;\n };\n return ReactFrameworkOverrides;\n}(ag_grid_community_1.VanillaFrameworkOverrides));\nexports.ReactFrameworkOverrides = ReactFrameworkOverrides;\n","exports.AgGridReact = require('./lib/agGridReact').AgGridReact;\nexports.AgGridColumn = require('./lib/shared/agGridColumn').AgGridColumn;\nexports.ChangeDetectionStrategyType = require('./lib/shared/changeDetectionService').ChangeDetectionStrategyType;\nexports.AgGridReactUi = require('./lib/reactUi/agGridReactUi').AgGridReactUi;\n","module.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\nvar transitionalDefaults = require('../defaults/transitional');\nvar Cancel = require('../cancel/Cancel');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n var onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n var transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(\n timeoutErrorMessage,\n config,\n transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = function(cancel) {\n if (!request) {\n return;\n }\n reject(!cancel || (cancel && cancel.type) ? new Cancel('canceled') : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\naxios.VERSION = require('./env/data').version;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(function(cancel) {\n if (!token._listeners) return;\n\n var i;\n var l = token._listeners.length;\n\n for (i = 0; i < l; i++) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = function(onfulfilled) {\n var _resolve;\n // eslint-disable-next-line func-names\n var promise = new Promise(function(resolve) {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Subscribe to the cancel signal\n */\n\nCancelToken.prototype.subscribe = function subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n};\n\n/**\n * Unsubscribe from the cancel signal\n */\n\nCancelToken.prototype.unsubscribe = function unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n var index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar Cancel = require('../cancel/Cancel');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new Cancel('canceled');\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n };\n return error;\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n var mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n var merge = mergeMap[prop] || mergeDeepProperties;\n var configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('../defaults');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar normalizeHeaderName = require('../helpers/normalizeHeaderName');\nvar enhanceError = require('../core/enhanceError');\nvar transitionalDefaults = require('./transitional');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('../adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('../adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data) || (headers && headers['Content-Type'] === 'application/json')) {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional || defaults.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw enhanceError(e, this, 'E_JSON_PARSE');\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","'use strict';\n\nmodule.exports = {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","module.exports = {\n \"version\": \"0.26.1\"\n};","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\nvar VERSION = require('../env/data').version;\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new Error(formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')));\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new TypeError('options must be an object');\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new TypeError('option ' + opt + ' must be ' + result);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw Error('Unknown option ' + opt);\n }\n }\n}\n\nmodule.exports = {\n assertOptions: assertOptions,\n validators: validators\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return Array.isArray(val);\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return toString.call(val) === '[object FormData]';\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return toString.call(val) === '[object URLSearchParams]';\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n","/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString === Object.prototype.toString) {\n\t\t\t\t\tfor (var key in arg) {\n\t\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/** @license React v17.0.2\n * react-dom-server.browser.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=require(\"object-assign\"),m=require(\"react\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cK;K++)J[K]=K+1;J[15]=0;var oa=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,pa=Object.prototype.hasOwnProperty,qa={},ra={};\nfunction sa(a){if(pa.call(ra,a))return!0;if(pa.call(qa,a))return!1;if(oa.test(a))return ra[a]=!0;qa[a]=!0;return!1}function ta(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}\nfunction ua(a,b,c,d){if(null===b||\"undefined\"===typeof b||ta(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function M(a,b,c,d,f,h,t){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=f;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=h;this.removeEmptyString=t}var N={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){N[a]=new M(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];N[b]=new M(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){N[a]=new M(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){N[a]=new M(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){N[a]=new M(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){N[a]=new M(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){N[a]=new M(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){N[a]=new M(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){N[a]=new M(a,5,!1,a.toLowerCase(),null,!1,!1)});var va=/[\\-:]([a-z])/g;function wa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(va,\nwa);N[b]=new M(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(va,wa);N[b]=new M(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(va,wa);N[b]=new M(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){N[a]=new M(a,1,!1,a.toLowerCase(),null,!1,!1)});\nN.xlinkHref=new M(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){N[a]=new M(a,1,!1,a.toLowerCase(),null,!0,!0)});var xa=/[\"'&<>]/;\nfunction O(a){if(\"boolean\"===typeof a||\"number\"===typeof a)return\"\"+a;a=\"\"+a;var b=xa.exec(a);if(b){var c=\"\",d,f=0;for(d=b.index;dV))throw Error(p(301));if(a===P)if(T=!0,a={action:c,next:null},null===U&&(U=new Map),c=U.get(b),void 0===c)U.set(b,a);else{for(b=c;null!==b.next;)b=b.next;b.next=a}}function Ja(){}\nvar X=null,Ka={readContext:function(a){var b=X.threadID;I(a,b);return a[b]},useContext:function(a){W();var b=X.threadID;I(a,b);return a[b]},useMemo:Ia,useReducer:Ga,useRef:function(a){P=W();R=Ca();var b=R.memoizedState;return null===b?(a={current:a},R.memoizedState=a):b},useState:function(a){return Ga(Fa,a)},useLayoutEffect:function(){},useCallback:function(a,b){return Ia(function(){return a},b)},useImperativeHandle:Ja,useEffect:Ja,useDebugValue:Ja,useDeferredValue:function(a){W();return a},useTransition:function(){W();\nreturn[function(a){a()},!1]},useOpaqueIdentifier:function(){return(X.identifierPrefix||\"\")+\"R:\"+(X.uniqueID++).toString(36)},useMutableSource:function(a,b){W();return b(a._source)}},La={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};function Ma(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}\nvar Na={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},Oa=l({menuitem:!0},Na),Y={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,\ngridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Pa=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(Y).forEach(function(a){Pa.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);Y[b]=Y[a]})});\nvar Qa=/([A-Z])/g,Ra=/^ms-/,Z=m.Children.toArray,Sa=la.ReactCurrentDispatcher,Ta={listing:!0,pre:!0,textarea:!0},Ua=/^[a-zA-Z][a-zA-Z:_\\.\\-\\d]*$/,Va={},Wa={};function Xa(a){if(void 0===a||null===a)return a;var b=\"\";m.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}var Ya=Object.prototype.hasOwnProperty,Za={children:null,dangerouslySetInnerHTML:null,suppressContentEditableWarning:null,suppressHydrationWarning:null};function $a(a,b){if(void 0===a)throw Error(p(152,F(b)||\"Component\"));}\nfunction ab(a,b,c){function d(d,h){var e=h.prototype&&h.prototype.isReactComponent,f=na(h,b,c,e),t=[],g=!1,n={isMounted:function(){return!1},enqueueForceUpdate:function(){if(null===t)return null},enqueueReplaceState:function(a,c){g=!0;t=[c]},enqueueSetState:function(a,c){if(null===t)return null;t.push(c)}};if(e){if(e=new h(d.props,f,n),\"function\"===typeof h.getDerivedStateFromProps){var k=h.getDerivedStateFromProps.call(null,d.props,e.state);null!=k&&(e.state=l({},e.state,k))}}else if(P={},e=h(d.props,\nf,n),e=Da(h,d.props,e,f),null==e||null==e.render){a=e;$a(a,h);return}e.props=d.props;e.context=f;e.updater=n;n=e.state;void 0===n&&(e.state=n=null);if(\"function\"===typeof e.UNSAFE_componentWillMount||\"function\"===typeof e.componentWillMount)if(\"function\"===typeof e.componentWillMount&&\"function\"!==typeof h.getDerivedStateFromProps&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&\"function\"!==typeof h.getDerivedStateFromProps&&e.UNSAFE_componentWillMount(),t.length){n=t;var v=\ng;t=null;g=!1;if(v&&1===n.length)e.state=n[0];else{k=v?n[0]:e.state;var H=!0;for(v=v?1:0;v=g))throw Error(p(304));var e=new Uint16Array(g);e.set(d);J=e;J[0]=c+1;for(d=c;d=e.children.length){var L=e.footer;\"\"!==L&&(this.previousWasTextNode=!1);this.stack.pop();if(\"select\"===e.type)this.currentSelectValue=null;else if(null!=e.type&&null!=e.type.type&&e.type.type.$$typeof===B)this.popProvider(e.type);else if(e.type===D){this.suspenseDepth--;var G=h.pop();if(t){t=!1;var C=e.fallbackFrame;if(!C)throw Error(p(303));this.stack.push(C);h[this.suspenseDepth]+=\"\\x3c!--$!--\\x3e\";continue}else h[this.suspenseDepth]+=\nG}h[this.suspenseDepth]+=L}else{var n=e.children[e.childIndex++],k=\"\";try{k+=this.render(n,e.context,e.domNamespace)}catch(v){if(null!=v&&\"function\"===typeof v.then)throw Error(p(294));throw v;}finally{}h.length<=this.suspenseDepth&&h.push(\"\");h[this.suspenseDepth]+=k}}return h[0]}finally{Sa.current=c,X=b,Ea()}};b.render=function(a,b,f){if(\"string\"===typeof a||\"number\"===typeof a){f=\"\"+a;if(\"\"===f)return\"\";if(this.makeStaticMarkup)return O(f);if(this.previousWasTextNode)return\"\\x3c!-- --\\x3e\"+O(f);\nthis.previousWasTextNode=!0;return O(f)}b=ab(a,b,this.threadID);a=b.child;b=b.context;if(null===a||!1===a)return\"\";if(!m.isValidElement(a)){if(null!=a&&null!=a.$$typeof){f=a.$$typeof;if(f===q)throw Error(p(257));throw Error(p(258,f.toString()));}a=Z(a);this.stack.push({type:null,domNamespace:f,children:a,childIndex:0,context:b,footer:\"\"});return\"\"}var c=a.type;if(\"string\"===typeof c)return this.renderDOM(a,b,f);switch(c){case ka:case ja:case u:case z:case ca:case r:return a=Z(a.props.children),this.stack.push({type:null,\ndomNamespace:f,children:a,childIndex:0,context:b,footer:\"\"}),\"\";case D:throw Error(p(294));case ia:throw Error(p(343));}if(\"object\"===typeof c&&null!==c)switch(c.$$typeof){case ba:P={};var d=c.render(a.props,a.ref);d=Da(c.render,a.props,d,a.ref);d=Z(d);this.stack.push({type:null,domNamespace:f,children:d,childIndex:0,context:b,footer:\"\"});return\"\";case da:return a=[m.createElement(c.type,l({ref:a.ref},a.props))],this.stack.push({type:null,domNamespace:f,children:a,childIndex:0,context:b,footer:\"\"}),\n\"\";case B:return c=Z(a.props.children),f={type:a,domNamespace:f,children:c,childIndex:0,context:b,footer:\"\"},this.pushProvider(a),this.stack.push(f),\"\";case aa:c=a.type;d=a.props;var g=this.threadID;I(c,g);c=Z(d.children(c[g]));this.stack.push({type:a,domNamespace:f,children:c,childIndex:0,context:b,footer:\"\"});return\"\";case ha:throw Error(p(338));case ea:return c=a.type,d=c._init,c=d(c._payload),a=[m.createElement(c,l({ref:a.ref},a.props))],this.stack.push({type:null,domNamespace:f,children:a,childIndex:0,\ncontext:b,footer:\"\"}),\"\"}throw Error(p(130,null==c?c:typeof c,\"\"));};b.renderDOM=function(a,b,f){var c=a.type.toLowerCase();f===La.html&&Ma(c);if(!Va.hasOwnProperty(c)){if(!Ua.test(c))throw Error(p(65,c));Va[c]=!0}var d=a.props;if(\"input\"===c)d=l({type:void 0},d,{defaultChecked:void 0,defaultValue:void 0,value:null!=d.value?d.value:d.defaultValue,checked:null!=d.checked?d.checked:d.defaultChecked});else if(\"textarea\"===c){var g=d.value;if(null==g){g=d.defaultValue;var e=d.children;if(null!=e){if(null!=\ng)throw Error(p(92));if(Array.isArray(e)){if(!(1>=e.length))throw Error(p(93));e=e[0]}g=\"\"+e}null==g&&(g=\"\")}d=l({},d,{value:void 0,children:\"\"+g})}else if(\"select\"===c)this.currentSelectValue=null!=d.value?d.value:d.defaultValue,d=l({},d,{value:void 0});else if(\"option\"===c){e=this.currentSelectValue;var L=Xa(d.children);if(null!=e){var G=null!=d.value?d.value+\"\":L;g=!1;if(Array.isArray(e))for(var C=0;C\":(w+=\">\",g=\"\");a:{e=d.dangerouslySetInnerHTML;if(null!=e){if(null!=e.__html){e=e.__html;break a}}else if(e=d.children,\"string\"===typeof e||\"number\"===typeof e){e=O(e);break a}e=null}null!=e?(d=[],Ta.hasOwnProperty(c)&&\"\\n\"===e.charAt(0)&&(w+=\"\\n\"),w+=e):d=Z(d.children);a=a.type;f=null==f||\"http://www.w3.org/1999/xhtml\"===f?Ma(a):\"http://www.w3.org/2000/svg\"===\nf&&\"foreignObject\"===a?\"http://www.w3.org/1999/xhtml\":f;this.stack.push({domNamespace:f,type:c,children:d,childIndex:0,context:b,footer:g});this.previousWasTextNode=!1;return w};return a}();exports.renderToNodeStream=function(){throw Error(p(207));};exports.renderToStaticMarkup=function(a,b){a=new bb(a,!0,b);try{return a.read(Infinity)}finally{a.destroy()}};exports.renderToStaticNodeStream=function(){throw Error(p(208));};exports.renderToString=function(a,b){a=new bb(a,!1,b);try{return a.read(Infinity)}finally{a.destroy()}};\nexports.version=\"17.0.2\";\n","/** @license React v17.0.2\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),m=require(\"object-assign\"),r=require(\"scheduler\");function y(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function B(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var D={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){D[a]=new B(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];D[b]=new B(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){D[a]=new B(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){D[a]=new B(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){D[a]=new B(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){D[a]=new B(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){D[a]=new B(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){D[a]=new B(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){D[a]=new B(a,5,!1,a.toLowerCase(),null,!1,!1)});var oa=/[\\-:]([a-z])/g;function pa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(oa,\npa);D[b]=new B(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!1,!1)});\nD.xlinkHref=new B(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction qa(a,b,c,d){var e=D.hasOwnProperty(b)?D[b]:null;var f=null!==e?0===e.type:d?!1:!(2h||e[g]!==f[h])return\"\\n\"+e[g].replace(\" at new \",\" at \");while(1<=g&&0<=h)}break}}}finally{Oa=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Na(a):\"\"}\nfunction Qa(a){switch(a.tag){case 5:return Na(a.type);case 16:return Na(\"Lazy\");case 13:return Na(\"Suspense\");case 19:return Na(\"SuspenseList\");case 0:case 2:case 15:return a=Pa(a.type,!1),a;case 11:return a=Pa(a.type.render,!1),a;case 22:return a=Pa(a.type._render,!1),a;case 1:return a=Pa(a.type,!0),a;default:return\"\"}}\nfunction Ra(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ua:return\"Fragment\";case ta:return\"Portal\";case xa:return\"Profiler\";case wa:return\"StrictMode\";case Ba:return\"Suspense\";case Ca:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case za:return(a.displayName||\"Context\")+\".Consumer\";case ya:return(a._context.displayName||\"Context\")+\".Provider\";case Aa:var b=a.render;b=b.displayName||b.name||\"\";\nreturn a.displayName||(\"\"!==b?\"ForwardRef(\"+b+\")\":\"ForwardRef\");case Da:return Ra(a.type);case Fa:return Ra(a._render);case Ea:b=a._payload;a=a._init;try{return Ra(a(b))}catch(c){}}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"object\":case \"string\":case \"undefined\":return a;default:return\"\"}}function Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return m({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function $a(a,b){b=b.checked;null!=b&&qa(a,\"checked\",b,!1)}\nfunction ab(a,b){$a(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?bb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&bb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction cb(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction bb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}function db(a){var b=\"\";aa.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}function eb(a,b){a=m({children:void 0},b);if(b=db(b.children))a.children=b;return a}\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e=c.length))throw Error(y(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var kb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction lb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function mb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?lb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar nb,ob=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==kb.svg||\"innerHTML\"in a)a.innerHTML=b;else{nb=nb||document.createElement(\"div\");nb.innerHTML=\"\"+b.valueOf().toString()+\"\";for(b=nb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction pb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar qb={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,\nfloodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},rb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(qb).forEach(function(a){rb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);qb[b]=qb[a]})});function sb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||qb.hasOwnProperty(a)&&qb[a]?(\"\"+b).trim():b+\"px\"}\nfunction tb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=sb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var ub=m({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction vb(a,b){if(b){if(ub[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(y(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(y(60));if(!(\"object\"===typeof b.dangerouslySetInnerHTML&&\"__html\"in b.dangerouslySetInnerHTML))throw Error(y(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(y(62));}}\nfunction wb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(y(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;ad?0:1<c;c++)b.push(a);return b}\nfunction $c(a,b,c){a.pendingLanes|=b;var d=b-1;a.suspendedLanes&=d;a.pingedLanes&=d;a=a.eventTimes;b=31-Vc(b);a[b]=c}var Vc=Math.clz32?Math.clz32:ad,bd=Math.log,cd=Math.LN2;function ad(a){return 0===a?32:31-(bd(a)/cd|0)|0}var dd=r.unstable_UserBlockingPriority,ed=r.unstable_runWithPriority,fd=!0;function gd(a,b,c,d){Kb||Ib();var e=hd,f=Kb;Kb=!0;try{Hb(e,a,b,c,d)}finally{(Kb=f)||Mb()}}function id(a,b,c,d){ed(dd,hd.bind(null,a,b,c,d))}\nfunction hd(a,b,c,d){if(fd){var e;if((e=0===(b&4))&&0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Ke(c)}}function Me(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Me(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Ne(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Oe(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nvar Pe=fa&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Oe(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Je(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Af||(a.current=zf[Af],zf[Af]=null,Af--)}function I(a,b){Af++;zf[Af]=a.current;a.current=b}var Cf={},M=Bf(Cf),N=Bf(!1),Df=Cf;\nfunction Ef(a,b){var c=a.type.contextTypes;if(!c)return Cf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function Ff(a){a=a.childContextTypes;return null!==a&&void 0!==a}function Gf(){H(N);H(M)}function Hf(a,b,c){if(M.current!==Cf)throw Error(y(168));I(M,b);I(N,c)}\nfunction If(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(y(108,Ra(b)||\"Unknown\",e));return m({},c,d)}function Jf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Cf;Df=M.current;I(M,a);I(N,N.current);return!0}function Kf(a,b,c){var d=a.stateNode;if(!d)throw Error(y(169));c?(a=If(a,b,Df),d.__reactInternalMemoizedMergedChildContext=a,H(N),H(M),I(M,a)):H(N);I(N,c)}\nvar Lf=null,Mf=null,Nf=r.unstable_runWithPriority,Of=r.unstable_scheduleCallback,Pf=r.unstable_cancelCallback,Qf=r.unstable_shouldYield,Rf=r.unstable_requestPaint,Sf=r.unstable_now,Tf=r.unstable_getCurrentPriorityLevel,Uf=r.unstable_ImmediatePriority,Vf=r.unstable_UserBlockingPriority,Wf=r.unstable_NormalPriority,Xf=r.unstable_LowPriority,Yf=r.unstable_IdlePriority,Zf={},$f=void 0!==Rf?Rf:function(){},ag=null,bg=null,cg=!1,dg=Sf(),O=1E4>dg?Sf:function(){return Sf()-dg};\nfunction eg(){switch(Tf()){case Uf:return 99;case Vf:return 98;case Wf:return 97;case Xf:return 96;case Yf:return 95;default:throw Error(y(332));}}function fg(a){switch(a){case 99:return Uf;case 98:return Vf;case 97:return Wf;case 96:return Xf;case 95:return Yf;default:throw Error(y(332));}}function gg(a,b){a=fg(a);return Nf(a,b)}function hg(a,b,c){a=fg(a);return Of(a,b,c)}function ig(){if(null!==bg){var a=bg;bg=null;Pf(a)}jg()}\nfunction jg(){if(!cg&&null!==ag){cg=!0;var a=0;try{var b=ag;gg(99,function(){for(;az?(q=u,u=null):q=u.sibling;var n=p(e,u,h[z],k);if(null===n){null===u&&(u=q);break}a&&u&&null===\nn.alternate&&b(e,u);g=f(n,g,z);null===t?l=n:t.sibling=n;t=n;u=q}if(z===h.length)return c(e,u),l;if(null===u){for(;zz?(q=u,u=null):q=u.sibling;var w=p(e,u,n.value,k);if(null===w){null===u&&(u=q);break}a&&u&&null===w.alternate&&b(e,u);g=f(w,g,z);null===t?l=w:t.sibling=w;t=w;u=q}if(n.done)return c(e,u),l;if(null===u){for(;!n.done;z++,n=h.next())n=A(e,n.value,k),null!==n&&(g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);return l}for(u=d(e,u);!n.done;z++,n=h.next())n=C(u,e,z,n.value,k),null!==n&&(a&&null!==n.alternate&&\nu.delete(null===n.key?z:n.key),g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);a&&u.forEach(function(a){return b(e,a)});return l}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ua&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case sa:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ua){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,k.sibling);\nd=e(k,f.props);d.ref=Qg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ua?(d=Xg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Vg(f.type,f.key,f.props,null,a.mode,h),h.ref=Qg(a,d,f),h.return=a,a=h)}return g(a);case ta:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=\nWg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Ug(f,a.mode,h),d.return=a,a=d),g(a);if(Pg(f))return x(a,d,f,h);if(La(f))return w(a,d,f,h);l&&Rg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 22:case 0:case 11:case 15:throw Error(y(152,Ra(a.type)||\"Component\"));}return c(a,d)}}var Yg=Sg(!0),Zg=Sg(!1),$g={},ah=Bf($g),bh=Bf($g),ch=Bf($g);\nfunction dh(a){if(a===$g)throw Error(y(174));return a}function eh(a,b){I(ch,b);I(bh,a);I(ah,$g);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:mb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=mb(b,a)}H(ah);I(ah,b)}function fh(){H(ah);H(bh);H(ch)}function gh(a){dh(ch.current);var b=dh(ah.current);var c=mb(b,a.type);b!==c&&(I(bh,a),I(ah,c))}function hh(a){bh.current===a&&(H(ah),H(bh))}var P=Bf(0);\nfunction ih(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var jh=null,kh=null,lh=!1;\nfunction mh(a,b){var c=nh(5,null,null,0);c.elementType=\"DELETED\";c.type=\"DELETED\";c.stateNode=b;c.return=a;c.flags=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}function oh(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}}\nfunction ph(a){if(lh){var b=kh;if(b){var c=b;if(!oh(a,b)){b=rf(c.nextSibling);if(!b||!oh(a,b)){a.flags=a.flags&-1025|2;lh=!1;jh=a;return}mh(jh,c)}jh=a;kh=rf(b.firstChild)}else a.flags=a.flags&-1025|2,lh=!1,jh=a}}function qh(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;jh=a}\nfunction rh(a){if(a!==jh)return!1;if(!lh)return qh(a),lh=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!nf(b,a.memoizedProps))for(b=kh;b;)mh(a,b),b=rf(b.nextSibling);qh(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(y(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){kh=rf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}kh=null}}else kh=jh?rf(a.stateNode.nextSibling):null;return!0}\nfunction sh(){kh=jh=null;lh=!1}var th=[];function uh(){for(var a=0;af))throw Error(y(301));f+=1;T=S=null;b.updateQueue=null;vh.current=Fh;a=c(d,e)}while(zh)}vh.current=Gh;b=null!==S&&null!==S.next;xh=0;T=S=R=null;yh=!1;if(b)throw Error(y(300));return a}function Hh(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===T?R.memoizedState=T=a:T=T.next=a;return T}\nfunction Ih(){if(null===S){var a=R.alternate;a=null!==a?a.memoizedState:null}else a=S.next;var b=null===T?R.memoizedState:T.next;if(null!==b)T=b,S=a;else{if(null===a)throw Error(y(310));S=a;a={memoizedState:S.memoizedState,baseState:S.baseState,baseQueue:S.baseQueue,queue:S.queue,next:null};null===T?R.memoizedState=T=a:T=T.next=a}return T}function Jh(a,b){return\"function\"===typeof b?b(a):b}\nfunction Kh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=S,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.lane;if((xh&l)===l)null!==h&&(h=h.next={lane:0,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),d=k.eagerReducer===a?k.eagerState:a(d,k.action);else{var n={lane:l,action:k.action,eagerReducer:k.eagerReducer,\neagerState:k.eagerState,next:null};null===h?(g=h=n,f=d):h=h.next=n;R.lanes|=l;Dg|=l}k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;He(d,b.memoizedState)||(ug=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction Lh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(ug=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction Mh(a,b,c){var d=b._getVersion;d=d(b._source);var e=b._workInProgressVersionPrimary;if(null!==e)a=e===d;else if(a=a.mutableReadLanes,a=(xh&a)===a)b._workInProgressVersionPrimary=d,th.push(b);if(a)return c(b._source);th.push(b);throw Error(y(350));}\nfunction Nh(a,b,c,d){var e=U;if(null===e)throw Error(y(349));var f=b._getVersion,g=f(b._source),h=vh.current,k=h.useState(function(){return Mh(e,b,c)}),l=k[1],n=k[0];k=T;var A=a.memoizedState,p=A.refs,C=p.getSnapshot,x=A.source;A=A.subscribe;var w=R;a.memoizedState={refs:p,source:b,subscribe:d};h.useEffect(function(){p.getSnapshot=c;p.setSnapshot=l;var a=f(b._source);if(!He(g,a)){a=c(b._source);He(n,a)||(l(a),a=Ig(w),e.mutableReadLanes|=a&e.pendingLanes);a=e.mutableReadLanes;e.entangledLanes|=a;for(var d=\ne.entanglements,h=a;0c?98:c,function(){a(!0)});gg(97\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[wf]=b;a[xf]=d;Bi(a,b,!1,!1);b.stateNode=a;g=wb(c,d);switch(c){case \"dialog\":G(\"cancel\",a);G(\"close\",a);\ne=d;break;case \"iframe\":case \"object\":case \"embed\":G(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eJi&&(b.flags|=64,f=!0,Fi(d,!1),b.lanes=33554432)}else{if(!f)if(a=ih(g),null!==a){if(b.flags|=64,f=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Fi(d,!0),null===d.tail&&\"hidden\"===d.tailMode&&!g.alternate&&!lh)return b=b.lastEffect=d.lastEffect,null!==b&&(b.nextEffect=null),null}else 2*O()-d.renderingStartTime>Ji&&1073741824!==c&&(b.flags|=\n64,f=!0,Fi(d,!1),b.lanes=33554432);d.isBackwards?(g.sibling=b.child,b.child=g):(c=d.last,null!==c?c.sibling=g:b.child=g,d.last=g)}return null!==d.tail?(c=d.tail,d.rendering=c,d.tail=c.sibling,d.lastEffect=b.lastEffect,d.renderingStartTime=O(),c.sibling=null,b=P.current,I(P,f?b&1|2:b&1),c):null;case 23:case 24:return Ki(),null!==a&&null!==a.memoizedState!==(null!==b.memoizedState)&&\"unstable-defer-without-hiding\"!==d.mode&&(b.flags|=4),null}throw Error(y(156,b.tag));}\nfunction Li(a){switch(a.tag){case 1:Ff(a.type)&&Gf();var b=a.flags;return b&4096?(a.flags=b&-4097|64,a):null;case 3:fh();H(N);H(M);uh();b=a.flags;if(0!==(b&64))throw Error(y(285));a.flags=b&-4097|64;return a;case 5:return hh(a),null;case 13:return H(P),b=a.flags,b&4096?(a.flags=b&-4097|64,a):null;case 19:return H(P),null;case 4:return fh(),null;case 10:return rg(a),null;case 23:case 24:return Ki(),null;default:return null}}\nfunction Mi(a,b){try{var c=\"\",d=b;do c+=Qa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e}}function Ni(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Oi=\"function\"===typeof WeakMap?WeakMap:Map;function Pi(a,b,c){c=zg(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Qi||(Qi=!0,Ri=d);Ni(a,b)};return c}\nfunction Si(a,b,c){c=zg(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){Ni(a,b);return d(e)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){\"function\"!==typeof d&&(null===Ti?Ti=new Set([this]):Ti.add(this),Ni(a,b));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}var Ui=\"function\"===typeof WeakSet?WeakSet:Set;\nfunction Vi(a){var b=a.ref;if(null!==b)if(\"function\"===typeof b)try{b(null)}catch(c){Wi(a,c)}else b.current=null}function Xi(a,b){switch(b.tag){case 0:case 11:case 15:case 22:return;case 1:if(b.flags&256&&null!==a){var c=a.memoizedProps,d=a.memoizedState;a=b.stateNode;b=a.getSnapshotBeforeUpdate(b.elementType===b.type?c:lg(b.type,c),d);a.__reactInternalSnapshotBeforeUpdate=b}return;case 3:b.flags&256&&qf(b.stateNode.containerInfo);return;case 5:case 6:case 4:case 17:return}throw Error(y(163));}\nfunction Yi(a,b,c){switch(c.tag){case 0:case 11:case 15:case 22:b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{if(3===(a.tag&3)){var d=a.create;a.destroy=d()}a=a.next}while(a!==b)}b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{var e=a;d=e.next;e=e.tag;0!==(e&4)&&0!==(e&1)&&(Zi(c,a),$i(c,a));a=d}while(a!==b)}return;case 1:a=c.stateNode;c.flags&4&&(null===b?a.componentDidMount():(d=c.elementType===c.type?b.memoizedProps:lg(c.type,b.memoizedProps),a.componentDidUpdate(d,\nb.memoizedState,a.__reactInternalSnapshotBeforeUpdate)));b=c.updateQueue;null!==b&&Eg(c,b,a);return;case 3:b=c.updateQueue;if(null!==b){a=null;if(null!==c.child)switch(c.child.tag){case 5:a=c.child.stateNode;break;case 1:a=c.child.stateNode}Eg(c,b,a)}return;case 5:a=c.stateNode;null===b&&c.flags&4&&mf(c.type,c.memoizedProps)&&a.focus();return;case 6:return;case 4:return;case 12:return;case 13:null===c.memoizedState&&(c=c.alternate,null!==c&&(c=c.memoizedState,null!==c&&(c=c.dehydrated,null!==c&&Cc(c))));\nreturn;case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error(y(163));}\nfunction aj(a,b){for(var c=a;;){if(5===c.tag){var d=c.stateNode;if(b)d=d.style,\"function\"===typeof d.setProperty?d.setProperty(\"display\",\"none\",\"important\"):d.display=\"none\";else{d=c.stateNode;var e=c.memoizedProps.style;e=void 0!==e&&null!==e&&e.hasOwnProperty(\"display\")?e.display:null;d.style.display=sb(\"display\",e)}}else if(6===c.tag)c.stateNode.nodeValue=b?\"\":c.memoizedProps;else if((23!==c.tag&&24!==c.tag||null===c.memoizedState||c===a)&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===\na)break;for(;null===c.sibling;){if(null===c.return||c.return===a)return;c=c.return}c.sibling.return=c.return;c=c.sibling}}\nfunction bj(a,b){if(Mf&&\"function\"===typeof Mf.onCommitFiberUnmount)try{Mf.onCommitFiberUnmount(Lf,b)}catch(f){}switch(b.tag){case 0:case 11:case 14:case 15:case 22:a=b.updateQueue;if(null!==a&&(a=a.lastEffect,null!==a)){var c=a=a.next;do{var d=c,e=d.destroy;d=d.tag;if(void 0!==e)if(0!==(d&4))Zi(b,c);else{d=b;try{e()}catch(f){Wi(d,f)}}c=c.next}while(c!==a)}break;case 1:Vi(b);a=b.stateNode;if(\"function\"===typeof a.componentWillUnmount)try{a.props=b.memoizedProps,a.state=b.memoizedState,a.componentWillUnmount()}catch(f){Wi(b,\nf)}break;case 5:Vi(b);break;case 4:cj(a,b)}}function dj(a){a.alternate=null;a.child=null;a.dependencies=null;a.firstEffect=null;a.lastEffect=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.return=null;a.updateQueue=null}function ej(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction fj(a){a:{for(var b=a.return;null!==b;){if(ej(b))break a;b=b.return}throw Error(y(160));}var c=b;b=c.stateNode;switch(c.tag){case 5:var d=!1;break;case 3:b=b.containerInfo;d=!0;break;case 4:b=b.containerInfo;d=!0;break;default:throw Error(y(161));}c.flags&16&&(pb(b,\"\"),c.flags&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c.return||ej(c.return)){c=null;break a}c=c.return}c.sibling.return=c.return;for(c=c.sibling;5!==c.tag&&6!==c.tag&&18!==c.tag;){if(c.flags&2)continue b;if(null===\nc.child||4===c.tag)continue b;else c.child.return=c,c=c.child}if(!(c.flags&2)){c=c.stateNode;break a}}d?gj(a,c,b):hj(a,c,b)}\nfunction gj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=jf));else if(4!==d&&(a=a.child,null!==a))for(gj(a,b,c),a=a.sibling;null!==a;)gj(a,b,c),a=a.sibling}\nfunction hj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(hj(a,b,c),a=a.sibling;null!==a;)hj(a,b,c),a=a.sibling}\nfunction cj(a,b){for(var c=b,d=!1,e,f;;){if(!d){d=c.return;a:for(;;){if(null===d)throw Error(y(160));e=d.stateNode;switch(d.tag){case 5:f=!1;break a;case 3:e=e.containerInfo;f=!0;break a;case 4:e=e.containerInfo;f=!0;break a}d=d.return}d=!0}if(5===c.tag||6===c.tag){a:for(var g=a,h=c,k=h;;)if(bj(g,k),null!==k.child&&4!==k.tag)k.child.return=k,k=k.child;else{if(k===h)break a;for(;null===k.sibling;){if(null===k.return||k.return===h)break a;k=k.return}k.sibling.return=k.return;k=k.sibling}f?(g=e,h=c.stateNode,\n8===g.nodeType?g.parentNode.removeChild(h):g.removeChild(h)):e.removeChild(c.stateNode)}else if(4===c.tag){if(null!==c.child){e=c.stateNode.containerInfo;f=!0;c.child.return=c;c=c.child;continue}}else if(bj(a,c),null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return;4===c.tag&&(d=!1)}c.sibling.return=c.return;c=c.sibling}}\nfunction ij(a,b){switch(b.tag){case 0:case 11:case 14:case 15:case 22:var c=b.updateQueue;c=null!==c?c.lastEffect:null;if(null!==c){var d=c=c.next;do 3===(d.tag&3)&&(a=d.destroy,d.destroy=void 0,void 0!==a&&a()),d=d.next;while(d!==c)}return;case 1:return;case 5:c=b.stateNode;if(null!=c){d=b.memoizedProps;var e=null!==a?a.memoizedProps:d;a=b.type;var f=b.updateQueue;b.updateQueue=null;if(null!==f){c[xf]=d;\"input\"===a&&\"radio\"===d.type&&null!=d.name&&$a(c,d);wb(a,e);b=wb(a,d);for(e=0;ee&&(e=g);c&=~f}c=e;c=O()-c;c=(120>c?120:480>c?480:1080>c?1080:1920>c?1920:3E3>c?3E3:4320>\nc?4320:1960*nj(c/1960))-c;if(10 component higher in the tree to provide a loading indicator or placeholder to display.\")}5!==V&&(V=2);k=Mi(k,h);p=\ng;do{switch(p.tag){case 3:f=k;p.flags|=4096;b&=-b;p.lanes|=b;var J=Pi(p,f,b);Bg(p,J);break a;case 1:f=k;var K=p.type,Q=p.stateNode;if(0===(p.flags&64)&&(\"function\"===typeof K.getDerivedStateFromError||null!==Q&&\"function\"===typeof Q.componentDidCatch&&(null===Ti||!Ti.has(Q)))){p.flags|=4096;b&=-b;p.lanes|=b;var L=Si(p,f,b);Bg(p,L);break a}}p=p.return}while(null!==p)}Zj(c)}catch(va){b=va;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}\nfunction Pj(){var a=oj.current;oj.current=Gh;return null===a?Gh:a}function Tj(a,b){var c=X;X|=16;var d=Pj();U===a&&W===b||Qj(a,b);do try{ak();break}catch(e){Sj(a,e)}while(1);qg();X=c;oj.current=d;if(null!==Y)throw Error(y(261));U=null;W=0;return V}function ak(){for(;null!==Y;)bk(Y)}function Rj(){for(;null!==Y&&!Qf();)bk(Y)}function bk(a){var b=ck(a.alternate,a,qj);a.memoizedProps=a.pendingProps;null===b?Zj(a):Y=b;pj.current=null}\nfunction Zj(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&2048)){c=Gi(c,b,qj);if(null!==c){Y=c;return}c=b;if(24!==c.tag&&23!==c.tag||null===c.memoizedState||0!==(qj&1073741824)||0===(c.mode&4)){for(var d=0,e=c.child;null!==e;)d|=e.lanes|e.childLanes,e=e.sibling;c.childLanes=d}null!==a&&0===(a.flags&2048)&&(null===a.firstEffect&&(a.firstEffect=b.firstEffect),null!==b.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=b.firstEffect),a.lastEffect=b.lastEffect),1g&&(h=g,g=J,J=h),h=Le(t,J),f=Le(t,g),h&&f&&(1!==v.rangeCount||v.anchorNode!==h.node||v.anchorOffset!==h.offset||v.focusNode!==f.node||v.focusOffset!==f.offset)&&(q=q.createRange(),q.setStart(h.node,h.offset),v.removeAllRanges(),J>g?(v.addRange(q),v.extend(f.node,f.offset)):(q.setEnd(f.node,f.offset),v.addRange(q))))));q=[];for(v=t;v=v.parentNode;)1===v.nodeType&&q.push({element:v,left:v.scrollLeft,top:v.scrollTop});\"function\"===typeof t.focus&&t.focus();for(t=\n0;tO()-jj?Qj(a,0):uj|=c);Mj(a,b)}function lj(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=0;0===b&&(b=a.mode,0===(b&2)?b=1:0===(b&4)?b=99===eg()?1:2:(0===Gj&&(Gj=tj),b=Yc(62914560&~Gj),0===b&&(b=4194304)));c=Hg();a=Kj(a,b);null!==a&&($c(a,b,c),Mj(a,c))}var ck;\nck=function(a,b,c){var d=b.lanes;if(null!==a)if(a.memoizedProps!==b.pendingProps||N.current)ug=!0;else if(0!==(c&d))ug=0!==(a.flags&16384)?!0:!1;else{ug=!1;switch(b.tag){case 3:ri(b);sh();break;case 5:gh(b);break;case 1:Ff(b.type)&&Jf(b);break;case 4:eh(b,b.stateNode.containerInfo);break;case 10:d=b.memoizedProps.value;var e=b.type._context;I(mg,e._currentValue);e._currentValue=d;break;case 13:if(null!==b.memoizedState){if(0!==(c&b.child.childLanes))return ti(a,b,c);I(P,P.current&1);b=hi(a,b,c);return null!==\nb?b.sibling:null}I(P,P.current&1);break;case 19:d=0!==(c&b.childLanes);if(0!==(a.flags&64)){if(d)return Ai(a,b,c);b.flags|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);I(P,P.current);if(d)break;else return null;case 23:case 24:return b.lanes=0,mi(a,b,c)}return hi(a,b,c)}else ug=!1;b.lanes=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);a=b.pendingProps;e=Ef(b,M.current);tg(b,c);e=Ch(null,b,d,a,e,c);b.flags|=1;if(\"object\"===\ntypeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(Ff(d)){var f=!0;Jf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;xg(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Gg(b,d,g,a);e.updater=Kg;b.stateNode=e;e._reactInternals=b;Og(b,d,a,c);b=qi(null,b,d,!0,f,c)}else b.tag=0,fi(null,b,e,c),b=b.child;return b;case 16:e=b.elementType;a:{null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);\na=b.pendingProps;f=e._init;e=f(e._payload);b.type=e;f=b.tag=hk(e);a=lg(e,a);switch(f){case 0:b=li(null,b,e,a,c);break a;case 1:b=pi(null,b,e,a,c);break a;case 11:b=gi(null,b,e,a,c);break a;case 14:b=ii(null,b,e,lg(e.type,a),d,c);break a}throw Error(y(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),li(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),pi(a,b,d,e,c);case 3:ri(b);d=b.updateQueue;if(null===a||null===d)throw Error(y(282));\nd=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;yg(a,b);Cg(b,d,null,c);d=b.memoizedState.element;if(d===e)sh(),b=hi(a,b,c);else{e=b.stateNode;if(f=e.hydrate)kh=rf(b.stateNode.containerInfo.firstChild),jh=b,f=lh=!0;if(f){a=e.mutableSourceEagerHydrationData;if(null!=a)for(e=0;e &&` helpers in initial condition allow es6 code\n // to co-exist with es5.\n // 2. Replace `for of` with es5 compliant iteration using `for`.\n // Basically, take:\n //\n // ```js\n // for (i of a.entries())\n // if (!b.has(i[0])) return false;\n // ```\n //\n // ... and convert to:\n //\n // ```js\n // it = a.entries();\n // while (!(i = it.next()).done)\n // if (!b.has(i.value[0])) return false;\n // ```\n //\n // **Note**: `i` access switches to `i.value`.\n var it;\n if (hasMap && (a instanceof Map) && (b instanceof Map)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!equal(i.value[1], b.get(i.value[0]))) return false;\n return true;\n }\n\n if (hasSet && (a instanceof Set) && (b instanceof Set)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n return true;\n }\n // END: Modifications\n\n if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (a[i] !== b[i]) return false;\n return true;\n }\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n // END: fast-deep-equal\n\n // START: react-fast-compare\n // custom handling for DOM elements\n if (hasElementType && a instanceof Element) return false;\n\n // custom handling for React/Preact\n for (i = length; i-- !== 0;) {\n if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner\n // Preact-specific: avoid traversing Preact elements' __v and __o\n // __v = $_original / $_vnode\n // __o = $_owner\n // These properties contain circular references and are not needed when\n // comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of elements\n\n continue;\n }\n\n // all other properties should be traversed as usual\n if (!equal(a[keys[i]], b[keys[i]])) return false;\n }\n // END: react-fast-compare\n\n // START: fast-deep-equal\n return true;\n }\n\n return a !== a && b !== b;\n}\n// end fast-deep-equal\n\nmodule.exports = function isEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if (((error.message || '').match(/stack|recursion/i))) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('react-fast-compare cannot handle circular refs');\n return false;\n }\n // some other error. we should definitely know about these\n throw error;\n }\n};\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = format;\nvar smallWords = /^(a|an|and|as|at|but|by|en|for|if|in|nor|of|on|or|per|the|to|vs?\\.?|via)$/i;\nfunction toTitleCase(string) {\n return string.toString().trim().replace(/[A-Za-z0-9\\u00C0-\\u00FF]+[^\\s-]*/g, function (match, index, title) {\n if (index > 0 && index + match.length !== title.length && match.search(smallWords) > -1 && title.charAt(index - 2) !== \":\" && (title.charAt(index + match.length) !== \"-\" || title.charAt(index - 1) === \"-\") && title.charAt(index - 1).search(/[^\\s-]/) < 0) {\n return match.toLowerCase();\n }\n if (match.substr(1).search(/[A-Z]|\\../) > -1) {\n return match;\n }\n return match.charAt(0).toUpperCase() + match.substr(1);\n });\n}\n\n// See if s could be an email address. We don't want to send personal data like email.\n// https://support.google.com/analytics/answer/2795983?hl=en\nfunction mightBeEmail(s) {\n // There's no point trying to validate rfc822 fully, just look for ...@...\n return typeof s === \"string\" && s.indexOf(\"@\") !== -1;\n}\nvar redacted = \"REDACTED (Potential Email Address)\";\nfunction redactEmail(string) {\n if (mightBeEmail(string)) {\n console.warn(\"This arg looks like an email address, redacting.\");\n return redacted;\n }\n return string;\n}\nfunction format() {\n var s = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var titleCase = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var redactingEmail = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n var _str = s || \"\";\n if (titleCase) {\n _str = toTitleCase(s);\n }\n if (redactingEmail) {\n _str = redactEmail(_str);\n }\n return _str;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = exports.GA4 = void 0;\nvar _gtag = _interopRequireDefault(require(\"./gtag\"));\nvar _format = _interopRequireDefault(require(\"./format\"));\nvar _excluded = [\"eventCategory\", \"eventAction\", \"eventLabel\", \"eventValue\", \"hitType\"],\n _excluded2 = [\"title\", \"location\"],\n _excluded3 = [\"page\", \"hitType\"];\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n/*\nLinks\nhttps://developers.google.com/gtagjs/reference/api\nhttps://developers.google.com/tag-platform/gtagjs/reference\n*/\n/**\n * @typedef GaOptions\n * @type {Object}\n * @property {boolean} [cookieUpdate=true]\n * @property {number} [cookieExpires=63072000] Default two years\n * @property {string} [cookieDomain=\"auto\"]\n * @property {string} [cookieFlags]\n * @property {string} [userId]\n * @property {string} [clientId]\n * @property {boolean} [anonymizeIp]\n * @property {string} [contentGroup1]\n * @property {string} [contentGroup2]\n * @property {string} [contentGroup3]\n * @property {string} [contentGroup4]\n * @property {string} [contentGroup5]\n * @property {boolean} [allowAdFeatures=true]\n * @property {boolean} [allowAdPersonalizationSignals]\n * @property {boolean} [nonInteraction]\n * @property {string} [page]\n */\n/**\n * @typedef UaEventOptions\n * @type {Object}\n * @property {string} action\n * @property {string} category\n * @property {string} [label]\n * @property {number} [value]\n * @property {boolean} [nonInteraction]\n * @property {('beacon'|'xhr'|'image')} [transport]\n */\n/**\n * @typedef InitOptions\n * @type {Object}\n * @property {string} trackingId\n * @property {GaOptions|any} [gaOptions]\n * @property {Object} [gtagOptions] New parameter\n */\nvar GA4 = /*#__PURE__*/function () {\n function GA4() {\n var _this = this;\n _classCallCheck(this, GA4);\n _defineProperty(this, \"reset\", function () {\n _this.isInitialized = false;\n _this._testMode = false;\n _this._currentMeasurementId;\n _this._hasLoadedGA = false;\n _this._isQueuing = false;\n _this._queueGtag = [];\n });\n _defineProperty(this, \"_gtag\", function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (!_this._testMode) {\n if (_this._isQueuing) {\n _this._queueGtag.push(args);\n } else {\n _gtag[\"default\"].apply(void 0, args);\n }\n } else {\n _this._queueGtag.push(args);\n }\n });\n _defineProperty(this, \"_loadGA\", function (GA_MEASUREMENT_ID, nonce) {\n var gtagUrl = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : \"https://www.googletagmanager.com/gtag/js\";\n if (typeof window === \"undefined\" || typeof document === \"undefined\") {\n return;\n }\n if (!_this._hasLoadedGA) {\n // Global Site Tag (gtag.js) - Google Analytics\n var script = document.createElement(\"script\");\n script.async = true;\n script.src = \"\".concat(gtagUrl, \"?id=\").concat(GA_MEASUREMENT_ID);\n if (nonce) {\n script.setAttribute(\"nonce\", nonce);\n }\n document.body.appendChild(script);\n window.dataLayer = window.dataLayer || [];\n window.gtag = function gtag() {\n window.dataLayer.push(arguments);\n };\n _this._hasLoadedGA = true;\n }\n });\n _defineProperty(this, \"_toGtagOptions\", function (gaOptions) {\n if (!gaOptions) {\n return;\n }\n var mapFields = {\n // Old https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#cookieUpdate\n // New https://developers.google.com/analytics/devguides/collection/gtagjs/cookies-user-id#cookie_update\n cookieUpdate: \"cookie_update\",\n cookieExpires: \"cookie_expires\",\n cookieDomain: \"cookie_domain\",\n cookieFlags: \"cookie_flags\",\n // must be in set method?\n userId: \"user_id\",\n clientId: \"client_id\",\n anonymizeIp: \"anonymize_ip\",\n // https://support.google.com/analytics/answer/2853546?hl=en#zippy=%2Cin-this-article\n contentGroup1: \"content_group1\",\n contentGroup2: \"content_group2\",\n contentGroup3: \"content_group3\",\n contentGroup4: \"content_group4\",\n contentGroup5: \"content_group5\",\n // https://support.google.com/analytics/answer/9050852?hl=en\n allowAdFeatures: \"allow_google_signals\",\n allowAdPersonalizationSignals: \"allow_ad_personalization_signals\",\n nonInteraction: \"non_interaction\",\n page: \"page_path\",\n hitCallback: \"event_callback\"\n };\n var gtagOptions = Object.entries(gaOptions).reduce(function (prev, _ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n key = _ref2[0],\n value = _ref2[1];\n if (mapFields[key]) {\n prev[mapFields[key]] = value;\n } else {\n prev[key] = value;\n }\n return prev;\n }, {});\n return gtagOptions;\n });\n _defineProperty(this, \"initialize\", function (GA_MEASUREMENT_ID) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (!GA_MEASUREMENT_ID) {\n throw new Error(\"Require GA_MEASUREMENT_ID\");\n }\n var initConfigs = typeof GA_MEASUREMENT_ID === \"string\" ? [{\n trackingId: GA_MEASUREMENT_ID\n }] : GA_MEASUREMENT_ID;\n _this._currentMeasurementId = initConfigs[0].trackingId;\n var gaOptions = options.gaOptions,\n gtagOptions = options.gtagOptions,\n nonce = options.nonce,\n _options$testMode = options.testMode,\n testMode = _options$testMode === void 0 ? false : _options$testMode,\n gtagUrl = options.gtagUrl;\n _this._testMode = testMode;\n if (!testMode) {\n _this._loadGA(_this._currentMeasurementId, nonce, gtagUrl);\n }\n if (!_this.isInitialized) {\n _this._gtag(\"js\", new Date());\n initConfigs.forEach(function (config) {\n var mergedGtagOptions = _objectSpread(_objectSpread(_objectSpread({}, _this._toGtagOptions(_objectSpread(_objectSpread({}, gaOptions), config.gaOptions))), gtagOptions), config.gtagOptions);\n if (Object.keys(mergedGtagOptions).length) {\n _this._gtag(\"config\", config.trackingId, mergedGtagOptions);\n } else {\n _this._gtag(\"config\", config.trackingId);\n }\n });\n }\n _this.isInitialized = true;\n if (!testMode) {\n var queues = _toConsumableArray(_this._queueGtag);\n _this._queueGtag = [];\n _this._isQueuing = false;\n while (queues.length) {\n var queue = queues.shift();\n _this._gtag.apply(_this, _toConsumableArray(queue));\n if (queue[0] === \"get\") {\n _this._isQueuing = true;\n }\n }\n }\n });\n _defineProperty(this, \"set\", function (fieldsObject) {\n if (!fieldsObject) {\n console.warn(\"`fieldsObject` is required in .set()\");\n return;\n }\n if (_typeof(fieldsObject) !== \"object\") {\n console.warn(\"Expected `fieldsObject` arg to be an Object\");\n return;\n }\n if (Object.keys(fieldsObject).length === 0) {\n console.warn(\"empty `fieldsObject` given to .set()\");\n }\n _this._gaCommand(\"set\", fieldsObject);\n });\n _defineProperty(this, \"_gaCommandSendEvent\", function (eventCategory, eventAction, eventLabel, eventValue, fieldsObject) {\n _this._gtag(\"event\", eventAction, _objectSpread(_objectSpread({\n event_category: eventCategory,\n event_label: eventLabel,\n value: eventValue\n }, fieldsObject && {\n non_interaction: fieldsObject.nonInteraction\n }), _this._toGtagOptions(fieldsObject)));\n });\n _defineProperty(this, \"_gaCommandSendEventParameters\", function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n if (typeof args[0] === \"string\") {\n _this._gaCommandSendEvent.apply(_this, _toConsumableArray(args.slice(1)));\n } else {\n var _args$ = args[0],\n eventCategory = _args$.eventCategory,\n eventAction = _args$.eventAction,\n eventLabel = _args$.eventLabel,\n eventValue = _args$.eventValue,\n hitType = _args$.hitType,\n rest = _objectWithoutProperties(_args$, _excluded);\n _this._gaCommandSendEvent(eventCategory, eventAction, eventLabel, eventValue, rest);\n }\n });\n _defineProperty(this, \"_gaCommandSendTiming\", function (timingCategory, timingVar, timingValue, timingLabel) {\n _this._gtag(\"event\", \"timing_complete\", {\n name: timingVar,\n value: timingValue,\n event_category: timingCategory,\n event_label: timingLabel\n });\n });\n _defineProperty(this, \"_gaCommandSendPageview\", function (page, fieldsObject) {\n if (fieldsObject && Object.keys(fieldsObject).length) {\n var _this$_toGtagOptions = _this._toGtagOptions(fieldsObject),\n title = _this$_toGtagOptions.title,\n location = _this$_toGtagOptions.location,\n rest = _objectWithoutProperties(_this$_toGtagOptions, _excluded2);\n _this._gtag(\"event\", \"page_view\", _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, page && {\n page_path: page\n }), title && {\n page_title: title\n }), location && {\n page_location: location\n }), rest));\n } else if (page) {\n _this._gtag(\"event\", \"page_view\", {\n page_path: page\n });\n } else {\n _this._gtag(\"event\", \"page_view\");\n }\n });\n _defineProperty(this, \"_gaCommandSendPageviewParameters\", function () {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n if (typeof args[0] === \"string\") {\n _this._gaCommandSendPageview.apply(_this, _toConsumableArray(args.slice(1)));\n } else {\n var _args$2 = args[0],\n page = _args$2.page,\n hitType = _args$2.hitType,\n rest = _objectWithoutProperties(_args$2, _excluded3);\n _this._gaCommandSendPageview(page, rest);\n }\n });\n _defineProperty(this, \"_gaCommandSend\", function () {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n var hitType = typeof args[0] === \"string\" ? args[0] : args[0].hitType;\n switch (hitType) {\n case \"event\":\n _this._gaCommandSendEventParameters.apply(_this, args);\n break;\n case \"pageview\":\n _this._gaCommandSendPageviewParameters.apply(_this, args);\n break;\n case \"timing\":\n _this._gaCommandSendTiming.apply(_this, _toConsumableArray(args.slice(1)));\n break;\n case \"screenview\":\n case \"transaction\":\n case \"item\":\n case \"social\":\n case \"exception\":\n console.warn(\"Unsupported send command: \".concat(hitType));\n break;\n default:\n console.warn(\"Send command doesn't exist: \".concat(hitType));\n }\n });\n _defineProperty(this, \"_gaCommandSet\", function () {\n for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n args[_key5] = arguments[_key5];\n }\n if (typeof args[0] === \"string\") {\n args[0] = _defineProperty({}, args[0], args[1]);\n }\n _this._gtag(\"set\", _this._toGtagOptions(args[0]));\n });\n _defineProperty(this, \"_gaCommand\", function (command) {\n for (var _len6 = arguments.length, args = new Array(_len6 > 1 ? _len6 - 1 : 0), _key6 = 1; _key6 < _len6; _key6++) {\n args[_key6 - 1] = arguments[_key6];\n }\n switch (command) {\n case \"send\":\n _this._gaCommandSend.apply(_this, args);\n break;\n case \"set\":\n _this._gaCommandSet.apply(_this, args);\n break;\n default:\n console.warn(\"Command doesn't exist: \".concat(command));\n }\n });\n _defineProperty(this, \"ga\", function () {\n for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n args[_key7] = arguments[_key7];\n }\n if (typeof args[0] === \"string\") {\n _this._gaCommand.apply(_this, args);\n } else {\n var readyCallback = args[0];\n _this._gtag(\"get\", _this._currentMeasurementId, \"client_id\", function (clientId) {\n _this._isQueuing = false;\n var queues = _this._queueGtag;\n readyCallback({\n get: function get(property) {\n return property === \"clientId\" ? clientId : property === \"trackingId\" ? _this._currentMeasurementId : property === \"apiVersion\" ? \"1\" : undefined;\n }\n });\n while (queues.length) {\n var queue = queues.shift();\n _this._gtag.apply(_this, _toConsumableArray(queue));\n }\n });\n _this._isQueuing = true;\n }\n return _this.ga;\n });\n _defineProperty(this, \"event\", function (optionsOrName, params) {\n if (typeof optionsOrName === \"string\") {\n _this._gtag(\"event\", optionsOrName, _this._toGtagOptions(params));\n } else {\n var action = optionsOrName.action,\n category = optionsOrName.category,\n label = optionsOrName.label,\n value = optionsOrName.value,\n nonInteraction = optionsOrName.nonInteraction,\n transport = optionsOrName.transport;\n if (!category || !action) {\n console.warn(\"args.category AND args.action are required in event()\");\n return;\n }\n\n // Required Fields\n var fieldObject = {\n hitType: \"event\",\n eventCategory: (0, _format[\"default\"])(category),\n eventAction: (0, _format[\"default\"])(action)\n };\n\n // Optional Fields\n if (label) {\n fieldObject.eventLabel = (0, _format[\"default\"])(label);\n }\n if (typeof value !== \"undefined\") {\n if (typeof value !== \"number\") {\n console.warn(\"Expected `args.value` arg to be a Number.\");\n } else {\n fieldObject.eventValue = value;\n }\n }\n if (typeof nonInteraction !== \"undefined\") {\n if (typeof nonInteraction !== \"boolean\") {\n console.warn(\"`args.nonInteraction` must be a boolean.\");\n } else {\n fieldObject.nonInteraction = nonInteraction;\n }\n }\n if (typeof transport !== \"undefined\") {\n if (typeof transport !== \"string\") {\n console.warn(\"`args.transport` must be a string.\");\n } else {\n if ([\"beacon\", \"xhr\", \"image\"].indexOf(transport) === -1) {\n console.warn(\"`args.transport` must be either one of these values: `beacon`, `xhr` or `image`\");\n }\n fieldObject.transport = transport;\n }\n }\n _this._gaCommand(\"send\", fieldObject);\n }\n });\n _defineProperty(this, \"send\", function (fieldObject) {\n _this._gaCommand(\"send\", fieldObject);\n });\n this.reset();\n }\n _createClass(GA4, [{\n key: \"gtag\",\n value: function gtag() {\n this._gtag.apply(this, arguments);\n }\n }]);\n return GA4;\n}();\nexports.GA4 = GA4;\nvar _default = new GA4();\nexports[\"default\"] = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar gtag = function gtag() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (typeof window !== \"undefined\") {\n var _window;\n if (typeof window.gtag === \"undefined\") {\n window.dataLayer = window.dataLayer || [];\n window.gtag = function gtag() {\n window.dataLayer.push(arguments);\n };\n }\n (_window = window).gtag.apply(_window, args);\n }\n};\nvar _default = gtag;\nexports[\"default\"] = _default;","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = exports.ReactGAImplementation = void 0;\nvar _ga = _interopRequireWildcard(require(\"./ga4\"));\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\nvar ReactGAImplementation = _ga.GA4;\nexports.ReactGAImplementation = ReactGAImplementation;\nvar _default = _ga[\"default\"];\nexports[\"default\"] = _default;","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/** @license React v17.0.2\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';require(\"object-assign\");var f=require(\"react\"),g=60103;exports.Fragment=60107;if(\"function\"===typeof Symbol&&Symbol.for){var h=Symbol.for;g=h(\"react.element\");exports.Fragment=h(\"react.fragment\")}var m=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,n=Object.prototype.hasOwnProperty,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,k){var b,d={},e=null,l=null;void 0!==k&&(e=\"\"+k);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(l=a.ref);for(b in a)n.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:g,type:c,key:e,ref:l,props:d,_owner:m.current}}exports.jsx=q;exports.jsxs=q;\n","/** @license React v17.0.2\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=require(\"object-assign\"),n=60103,p=60106;exports.Fragment=60107;exports.StrictMode=60108;exports.Profiler=60114;var q=60109,r=60110,t=60112;exports.Suspense=60113;var u=60115,v=60116;\nif(\"function\"===typeof Symbol&&Symbol.for){var w=Symbol.for;n=w(\"react.element\");p=w(\"react.portal\");exports.Fragment=w(\"react.fragment\");exports.StrictMode=w(\"react.strict_mode\");exports.Profiler=w(\"react.profiler\");q=w(\"react.provider\");r=w(\"react.context\");t=w(\"react.forward_ref\");exports.Suspense=w(\"react.suspense\");u=w(\"react.memo\");v=w(\"react.lazy\")}var x=\"function\"===typeof Symbol&&Symbol.iterator;\nfunction y(a){if(null===a||\"object\"!==typeof a)return null;a=x&&a[x]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}function z(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c=\nE};k=function(){};exports.unstable_forceFrameRate=function(a){0>a||125>>1,e=a[d];if(void 0!==e&&0I(n,c))void 0!==r&&0>I(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>I(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function I(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var L=[],M=[],N=1,O=null,P=3,Q=!1,R=!1,S=!1;\nfunction T(a){for(var b=J(M);null!==b;){if(null===b.callback)K(M);else if(b.startTime<=a)K(M),b.sortIndex=b.expirationTime,H(L,b);else break;b=J(M)}}function U(a){S=!1;T(a);if(!R)if(null!==J(L))R=!0,f(V);else{var b=J(M);null!==b&&g(U,b.startTime-a)}}\nfunction V(a,b){R=!1;S&&(S=!1,h());Q=!0;var c=P;try{T(b);for(O=J(L);null!==O&&(!(O.expirationTime>b)||a&&!exports.unstable_shouldYield());){var d=O.callback;if(\"function\"===typeof d){O.callback=null;P=O.priorityLevel;var e=d(O.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?O.callback=e:O===J(L)&&K(L);T(b)}else K(L);O=J(L)}if(null!==O)var m=!0;else{var n=J(M);null!==n&&g(U,n.startTime-b);m=!1}return m}finally{O=null,P=c,Q=!1}}var W=k;exports.unstable_IdlePriority=5;\nexports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){R||Q||(R=!0,f(V))};exports.unstable_getCurrentPriorityLevel=function(){return P};exports.unstable_getFirstCallbackNode=function(){return J(L)};\nexports.unstable_next=function(a){switch(P){case 1:case 2:case 3:var b=3;break;default:b=P}var c=P;P=b;try{return a()}finally{P=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=W;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=P;P=a;try{return b()}finally{P=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0d?(a.sortIndex=c,H(M,a),null===J(L)&&a===J(M)&&(S?h():S=!0,g(U,c-d))):(a.sortIndex=e,H(L,a),R||Q||(R=!0,f(V)));return a};\nexports.unstable_wrapCallback=function(a){var b=P;return function(){var c=P;P=b;try{return a.apply(this,arguments)}finally{P=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar warning = function() {};\n\nif (__DEV__) {\n var printWarning = function printWarning(format, args) {\n var len = arguments.length;\n args = new Array(len > 1 ? len - 1 : 0);\n for (var key = 1; key < len; key++) {\n args[key - 1] = arguments[key];\n }\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n }\n\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n if (!condition) {\n printWarning.apply(null, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n","// 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\t// no module.id needed\n\t\t// no module.loaded needed\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// 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};","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};","// 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 \"static/js/\" + chunkId + \".\" + \"aa58d671\" + \".chunk.js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn undefined;\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))","var inProgress = {};\nvar dataWebpackPrefix = \"mobyte-react:\";\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\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};","// 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__.p = \"/\";","// no baseURI\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\t792: 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}\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// no on chunks loaded\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\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkmobyte_react\"] = self[\"webpackChunkmobyte_react\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","import * as React from \"react\";\nimport type {\n Hash,\n History,\n InitialEntry,\n Location,\n MemoryHistory,\n Path,\n Pathname,\n Search,\n To,\n} from \"history\";\nimport {\n Action as NavigationType,\n createMemoryHistory,\n parsePath,\n createPath,\n} from \"history\";\n\nexport { parsePath, createPath, NavigationType };\nexport type { Hash, Location, Path, Pathname, Search, To };\n\nfunction invariant(cond: any, message: string): asserts cond {\n if (!cond) throw new Error(message);\n}\n\nfunction warning(cond: any, message: string): void {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== \"undefined\") console.warn(message);\n\n try {\n // Welcome to debugging React Router!\n //\n // This error is thrown as a convenience so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\nconst alreadyWarned: Record = {};\nfunction warningOnce(key: string, cond: boolean, message: string) {\n if (!cond && !alreadyWarned[key]) {\n alreadyWarned[key] = true;\n warning(false, message);\n }\n}\n\n///////////////////////////////////////////////////////////////////////////////\n// CONTEXT\n///////////////////////////////////////////////////////////////////////////////\n\n/**\n * A Navigator is a \"location changer\"; it's how you get to different locations.\n *\n * Every history instance conforms to the Navigator interface, but the\n * distinction is useful primarily when it comes to the low-level API\n * where both the location and a navigator must be provided separately in order\n * to avoid \"tearing\" that may occur in a suspense-enabled app if the action\n * and/or location were to be read directly from the history instance.\n */\nexport type Navigator = Pick;\n\ninterface NavigationContextObject {\n basename: string;\n navigator: Navigator;\n static: boolean;\n}\n\nconst NavigationContext = React.createContext(null!);\n\nif (__DEV__) {\n NavigationContext.displayName = \"Navigation\";\n}\n\ninterface LocationContextObject {\n location: Location;\n navigationType: NavigationType;\n}\n\nconst LocationContext = React.createContext(null!);\n\nif (__DEV__) {\n LocationContext.displayName = \"Location\";\n}\n\ninterface RouteContextObject {\n outlet: React.ReactElement | null;\n matches: RouteMatch[];\n}\n\nconst RouteContext = React.createContext({\n outlet: null,\n matches: [],\n});\n\nif (__DEV__) {\n RouteContext.displayName = \"Route\";\n}\n\n///////////////////////////////////////////////////////////////////////////////\n// COMPONENTS\n///////////////////////////////////////////////////////////////////////////////\n\nexport interface MemoryRouterProps {\n basename?: string;\n children?: React.ReactNode;\n initialEntries?: InitialEntry[];\n initialIndex?: number;\n}\n\n/**\n * A that stores all entries in memory.\n *\n * @see https://reactrouter.com/docs/en/v6/api#memoryrouter\n */\nexport function MemoryRouter({\n basename,\n children,\n initialEntries,\n initialIndex,\n}: MemoryRouterProps): React.ReactElement {\n let historyRef = React.useRef();\n if (historyRef.current == null) {\n historyRef.current = createMemoryHistory({ initialEntries, initialIndex });\n }\n\n let history = historyRef.current;\n let [state, setState] = React.useState({\n action: history.action,\n location: history.location,\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n \n );\n}\n\nexport interface NavigateProps {\n to: To;\n replace?: boolean;\n state?: any;\n}\n\n/**\n * Changes the current location.\n *\n * Note: This API is mostly useful in React.Component subclasses that are not\n * able to use hooks. In functional components, we recommend you use the\n * `useNavigate` hook instead.\n *\n * @see https://reactrouter.com/docs/en/v6/api#navigate\n */\nexport function Navigate({ to, replace, state }: NavigateProps): null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of\n // the router loaded. We can help them understand how to avoid that.\n ` may be used only in the context of a component.`\n );\n\n warning(\n !React.useContext(NavigationContext).static,\n ` must not be used on the initial render in a . ` +\n `This is a no-op, but you should modify your code so the is ` +\n `only ever rendered in response to some user interaction or state change.`\n );\n\n let navigate = useNavigate();\n React.useEffect(() => {\n navigate(to, { replace, state });\n });\n\n return null;\n}\n\nexport interface OutletProps {\n context?: unknown;\n}\n\n/**\n * Renders the child route's element, if there is one.\n *\n * @see https://reactrouter.com/docs/en/v6/api#outlet\n */\nexport function Outlet(props: OutletProps): React.ReactElement | null {\n return useOutlet(props.context);\n}\n\nexport interface RouteProps {\n caseSensitive?: boolean;\n children?: React.ReactNode;\n element?: React.ReactNode | null;\n index?: boolean;\n path?: string;\n}\n\nexport interface PathRouteProps {\n caseSensitive?: boolean;\n children?: React.ReactNode;\n element?: React.ReactNode | null;\n index?: false;\n path: string;\n}\n\nexport interface LayoutRouteProps {\n children?: React.ReactNode;\n element?: React.ReactNode | null;\n}\n\nexport interface IndexRouteProps {\n element?: React.ReactNode | null;\n index: true;\n}\n\n/**\n * Declares an element that should be rendered at a certain URL path.\n *\n * @see https://reactrouter.com/docs/en/v6/api#route\n */\nexport function Route(\n _props: PathRouteProps | LayoutRouteProps | IndexRouteProps\n): React.ReactElement | null {\n invariant(\n false,\n `A is only ever to be used as the child of element, ` +\n `never rendered directly. Please wrap your in a .`\n );\n}\n\nexport interface RouterProps {\n basename?: string;\n children?: React.ReactNode;\n location: Partial | string;\n navigationType?: NavigationType;\n navigator: Navigator;\n static?: boolean;\n}\n\n/**\n * Provides location context for the rest of the app.\n *\n * Note: You usually won't render a directly. Instead, you'll render a\n * router that is more specific to your environment such as a \n * in web browsers or a for server rendering.\n *\n * @see https://reactrouter.com/docs/en/v6/api#router\n */\nexport function Router({\n basename: basenameProp = \"/\",\n children = null,\n location: locationProp,\n navigationType = NavigationType.Pop,\n navigator,\n static: staticProp = false,\n}: RouterProps): React.ReactElement | null {\n invariant(\n !useInRouterContext(),\n `You cannot render a inside another .` +\n ` You should never have more than one in your app.`\n );\n\n let basename = normalizePathname(basenameProp);\n let navigationContext = React.useMemo(\n () => ({ basename, navigator, static: staticProp }),\n [basename, navigator, staticProp]\n );\n\n if (typeof locationProp === \"string\") {\n locationProp = parsePath(locationProp);\n }\n\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n state = null,\n key = \"default\",\n } = locationProp;\n\n let location = React.useMemo(() => {\n let trailingPathname = stripBasename(pathname, basename);\n\n if (trailingPathname == null) {\n return null;\n }\n\n return {\n pathname: trailingPathname,\n search,\n hash,\n state,\n key,\n };\n }, [basename, pathname, search, hash, state, key]);\n\n warning(\n location != null,\n ` is not able to match the URL ` +\n `\"${pathname}${search}${hash}\" because it does not start with the ` +\n `basename, so the won't render anything.`\n );\n\n if (location == null) {\n return null;\n }\n\n return (\n \n \n \n );\n}\n\nexport interface RoutesProps {\n children?: React.ReactNode;\n location?: Partial | string;\n}\n\n/**\n * A container for a nested tree of elements that renders the branch\n * that best matches the current location.\n *\n * @see https://reactrouter.com/docs/en/v6/api#routes\n */\nexport function Routes({\n children,\n location,\n}: RoutesProps): React.ReactElement | null {\n return useRoutes(createRoutesFromChildren(children), location);\n}\n\n///////////////////////////////////////////////////////////////////////////////\n// HOOKS\n///////////////////////////////////////////////////////////////////////////////\n\n/**\n * Returns the full href for the given \"to\" value. This is useful for building\n * custom links that are also accessible and preserve right-click behavior.\n *\n * @see https://reactrouter.com/docs/en/v6/api#usehref\n */\nexport function useHref(to: To): string {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useHref() may be used only in the context of a component.`\n );\n\n let { basename, navigator } = React.useContext(NavigationContext);\n let { hash, pathname, search } = useResolvedPath(to);\n\n let joinedPathname = pathname;\n if (basename !== \"/\") {\n let toPathname = getToPathname(to);\n let endsWithSlash = toPathname != null && toPathname.endsWith(\"/\");\n joinedPathname =\n pathname === \"/\"\n ? basename + (endsWithSlash ? \"/\" : \"\")\n : joinPaths([basename, pathname]);\n }\n\n return navigator.createHref({ pathname: joinedPathname, search, hash });\n}\n\n/**\n * Returns true if this component is a descendant of a .\n *\n * @see https://reactrouter.com/docs/en/v6/api#useinroutercontext\n */\nexport function useInRouterContext(): boolean {\n return React.useContext(LocationContext) != null;\n}\n\n/**\n * Returns the current location object, which represents the current URL in web\n * browsers.\n *\n * Note: If you're using this it may mean you're doing some of your own\n * \"routing\" in your app, and we'd like to know what your use case is. We may\n * be able to provide something higher-level to better suit your needs.\n *\n * @see https://reactrouter.com/docs/en/v6/api#uselocation\n */\nexport function useLocation(): Location {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useLocation() may be used only in the context of a component.`\n );\n\n return React.useContext(LocationContext).location;\n}\n\ntype ParamParseFailed = { failed: true };\n\ntype ParamParseSegment =\n // Check here if there exists a forward slash in the string.\n Segment extends `${infer LeftSegment}/${infer RightSegment}`\n ? // If there is a forward slash, then attempt to parse each side of the\n // forward slash.\n ParamParseSegment extends infer LeftResult\n ? ParamParseSegment extends infer RightResult\n ? LeftResult extends string\n ? // If the left side is successfully parsed as a param, then check if\n // the right side can be successfully parsed as well. If both sides\n // can be parsed, then the result is a union of the two sides\n // (read: \"foo\" | \"bar\").\n RightResult extends string\n ? LeftResult | RightResult\n : LeftResult\n : // If the left side is not successfully parsed as a param, then check\n // if only the right side can be successfully parse as a param. If it\n // can, then the result is just right, else it's a failure.\n RightResult extends string\n ? RightResult\n : ParamParseFailed\n : ParamParseFailed\n : // If the left side didn't parse into a param, then just check the right\n // side.\n ParamParseSegment extends infer RightResult\n ? RightResult extends string\n ? RightResult\n : ParamParseFailed\n : ParamParseFailed\n : // If there's no forward slash, then check if this segment starts with a\n // colon. If it does, then this is a dynamic segment, so the result is\n // just the remainder of the string. Otherwise, it's a failure.\n Segment extends `:${infer Remaining}`\n ? Remaining\n : ParamParseFailed;\n\n// Attempt to parse the given string segment. If it fails, then just return the\n// plain string type as a default fallback. Otherwise return the union of the\n// parsed string literals that were referenced as dynamic segments in the route.\ntype ParamParseKey =\n ParamParseSegment extends string\n ? ParamParseSegment\n : string;\n\n/**\n * Returns the current navigation action which describes how the router came to\n * the current location, either by a pop, push, or replace on the history stack.\n *\n * @see https://reactrouter.com/docs/en/v6/api#usenavigationtype\n */\nexport function useNavigationType(): NavigationType {\n return React.useContext(LocationContext).navigationType;\n}\n\n/**\n * Returns true if the URL for the given \"to\" value matches the current URL.\n * This is useful for components that need to know \"active\" state, e.g.\n * .\n *\n * @see https://reactrouter.com/docs/en/v6/api#usematch\n */\nexport function useMatch<\n ParamKey extends ParamParseKey,\n Path extends string\n>(pattern: PathPattern | Path): PathMatch | null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useMatch() may be used only in the context of a component.`\n );\n\n let { pathname } = useLocation();\n return React.useMemo(\n () => matchPath(pattern, pathname),\n [pathname, pattern]\n );\n}\n\n/**\n * The interface for the navigate() function returned from useNavigate().\n */\nexport interface NavigateFunction {\n (to: To, options?: NavigateOptions): void;\n (delta: number): void;\n}\n\nexport interface NavigateOptions {\n replace?: boolean;\n state?: any;\n}\n\n/**\n * Returns an imperative method for changing the location. Used by s, but\n * may also be used by other elements to change the location.\n *\n * @see https://reactrouter.com/docs/en/v6/api#usenavigate\n */\nexport function useNavigate(): NavigateFunction {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useNavigate() may be used only in the context of a component.`\n );\n\n let { basename, navigator } = React.useContext(NavigationContext);\n let { matches } = React.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n\n let routePathnamesJson = JSON.stringify(\n matches.map((match) => match.pathnameBase)\n );\n\n let activeRef = React.useRef(false);\n React.useEffect(() => {\n activeRef.current = true;\n });\n\n let navigate: NavigateFunction = React.useCallback(\n (to: To | number, options: NavigateOptions = {}) => {\n warning(\n activeRef.current,\n `You should call navigate() in a React.useEffect(), not when ` +\n `your component is first rendered.`\n );\n\n if (!activeRef.current) return;\n\n if (typeof to === \"number\") {\n navigator.go(to);\n return;\n }\n\n let path = resolveTo(\n to,\n JSON.parse(routePathnamesJson),\n locationPathname\n );\n\n if (basename !== \"/\") {\n path.pathname = joinPaths([basename, path.pathname]);\n }\n\n (!!options.replace ? navigator.replace : navigator.push)(\n path,\n options.state\n );\n },\n [basename, navigator, routePathnamesJson, locationPathname]\n );\n\n return navigate;\n}\n\nconst OutletContext = React.createContext(null);\n\n/**\n * Returns the context (if provided) for the child route at this level of the route\n * hierarchy.\n * @see https://reactrouter.com/docs/en/v6/api#useoutletcontext\n */\nexport function useOutletContext(): Context {\n return React.useContext(OutletContext) as Context;\n}\n\n/**\n * Returns the element for the child route at this level of the route\n * hierarchy. Used internally by to render child routes.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useoutlet\n */\nexport function useOutlet(context?: unknown): React.ReactElement | null {\n let outlet = React.useContext(RouteContext).outlet;\n if (outlet) {\n return (\n {outlet}\n );\n }\n return outlet;\n}\n\n/**\n * Returns an object of key/value pairs of the dynamic params from the current\n * URL that were matched by the route path.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useparams\n */\nexport function useParams<\n ParamsOrKey extends string | Record = string\n>(): Readonly<\n [ParamsOrKey] extends [string] ? Params : Partial\n> {\n let { matches } = React.useContext(RouteContext);\n let routeMatch = matches[matches.length - 1];\n return routeMatch ? (routeMatch.params as any) : {};\n}\n\n/**\n * Resolves the pathname of the given `to` value against the current location.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useresolvedpath\n */\nexport function useResolvedPath(to: To): Path {\n let { matches } = React.useContext(RouteContext);\n let { pathname: locationPathname } = useLocation();\n\n let routePathnamesJson = JSON.stringify(\n matches.map((match) => match.pathnameBase)\n );\n\n return React.useMemo(\n () => resolveTo(to, JSON.parse(routePathnamesJson), locationPathname),\n [to, routePathnamesJson, locationPathname]\n );\n}\n\n/**\n * Returns the element of the route that matched the current location, prepared\n * with the correct context to render the remainder of the route tree. Route\n * elements in the tree must render an to render their child route's\n * element.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useroutes\n */\nexport function useRoutes(\n routes: RouteObject[],\n locationArg?: Partial | string\n): React.ReactElement | null {\n invariant(\n useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useRoutes() may be used only in the context of a component.`\n );\n\n let { matches: parentMatches } = React.useContext(RouteContext);\n let routeMatch = parentMatches[parentMatches.length - 1];\n let parentParams = routeMatch ? routeMatch.params : {};\n let parentPathname = routeMatch ? routeMatch.pathname : \"/\";\n let parentPathnameBase = routeMatch ? routeMatch.pathnameBase : \"/\";\n let parentRoute = routeMatch && routeMatch.route;\n\n if (__DEV__) {\n // You won't get a warning about 2 different under a \n // without a trailing *, but this is a best-effort warning anyway since we\n // cannot even give the warning unless they land at the parent route.\n //\n // Example:\n //\n // \n // {/* This route path MUST end with /* because otherwise\n // it will never match /blog/post/123 */}\n // } />\n // } />\n // \n //\n // function Blog() {\n // return (\n // \n // } />\n // \n // );\n // }\n let parentPath = (parentRoute && parentRoute.path) || \"\";\n warningOnce(\n parentPathname,\n !parentRoute || parentPath.endsWith(\"*\"),\n `You rendered descendant (or called \\`useRoutes()\\`) at ` +\n `\"${parentPathname}\" (under ) but the ` +\n `parent route path has no trailing \"*\". This means if you navigate ` +\n `deeper, the parent won't match anymore and therefore the child ` +\n `routes will never render.\\n\\n` +\n `Please change the parent to .`\n );\n }\n\n let locationFromContext = useLocation();\n\n let location;\n if (locationArg) {\n let parsedLocationArg =\n typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n invariant(\n parentPathnameBase === \"/\" ||\n parsedLocationArg.pathname?.startsWith(parentPathnameBase),\n `When overriding the location using \\`\\` or \\`useRoutes(routes, location)\\`, ` +\n `the location pathname must begin with the portion of the URL pathname that was ` +\n `matched by all parent routes. The current pathname base is \"${parentPathnameBase}\" ` +\n `but pathname \"${parsedLocationArg.pathname}\" was given in the \\`location\\` prop.`\n );\n\n location = parsedLocationArg;\n } else {\n location = locationFromContext;\n }\n\n let pathname = location.pathname || \"/\";\n let remainingPathname =\n parentPathnameBase === \"/\"\n ? pathname\n : pathname.slice(parentPathnameBase.length) || \"/\";\n let matches = matchRoutes(routes, { pathname: remainingPathname });\n\n if (__DEV__) {\n warning(\n parentRoute || matches != null,\n `No routes matched location \"${location.pathname}${location.search}${location.hash}\" `\n );\n\n warning(\n matches == null ||\n matches[matches.length - 1].route.element !== undefined,\n `Matched leaf route at location \"${location.pathname}${location.search}${location.hash}\" does not have an element. ` +\n `This means it will render an with a null value by default resulting in an \"empty\" page.`\n );\n }\n\n return _renderMatches(\n matches &&\n matches.map((match) =>\n Object.assign({}, match, {\n params: Object.assign({}, parentParams, match.params),\n pathname: joinPaths([parentPathnameBase, match.pathname]),\n pathnameBase:\n match.pathnameBase === \"/\"\n ? parentPathnameBase\n : joinPaths([parentPathnameBase, match.pathnameBase]),\n })\n ),\n parentMatches\n );\n}\n\n///////////////////////////////////////////////////////////////////////////////\n// UTILS\n///////////////////////////////////////////////////////////////////////////////\n\n/**\n * Creates a route config from a React \"children\" object, which is usually\n * either a `` element or an array of them. Used internally by\n * `` to create a route config from its children.\n *\n * @see https://reactrouter.com/docs/en/v6/api#createroutesfromchildren\n */\nexport function createRoutesFromChildren(\n children: React.ReactNode\n): RouteObject[] {\n let routes: RouteObject[] = [];\n\n React.Children.forEach(children, (element) => {\n if (!React.isValidElement(element)) {\n // Ignore non-elements. This allows people to more easily inline\n // conditionals in their route config.\n return;\n }\n\n if (element.type === React.Fragment) {\n // Transparently support React.Fragment and its children.\n routes.push.apply(\n routes,\n createRoutesFromChildren(element.props.children)\n );\n return;\n }\n\n invariant(\n element.type === Route,\n `[${\n typeof element.type === \"string\" ? element.type : element.type.name\n }] is not a component. All component children of must be a or `\n );\n\n let route: RouteObject = {\n caseSensitive: element.props.caseSensitive,\n element: element.props.element,\n index: element.props.index,\n path: element.props.path,\n };\n\n if (element.props.children) {\n route.children = createRoutesFromChildren(element.props.children);\n }\n\n routes.push(route);\n });\n\n return routes;\n}\n\n/**\n * The parameters that were parsed from the URL path.\n */\nexport type Params = {\n readonly [key in Key]: string | undefined;\n};\n\n/**\n * A route object represents a logical route, with (optionally) its child\n * routes organized in a tree-like structure.\n */\nexport interface RouteObject {\n caseSensitive?: boolean;\n children?: RouteObject[];\n element?: React.ReactNode;\n index?: boolean;\n path?: string;\n}\n\n/**\n * Returns a path with params interpolated.\n *\n * @see https://reactrouter.com/docs/en/v6/api#generatepath\n */\nexport function generatePath(path: string, params: Params = {}): string {\n return path\n .replace(/:(\\w+)/g, (_, key) => {\n invariant(params[key] != null, `Missing \":${key}\" param`);\n return params[key]!;\n })\n .replace(/\\/*\\*$/, (_) =>\n params[\"*\"] == null ? \"\" : params[\"*\"].replace(/^\\/*/, \"/\")\n );\n}\n\n/**\n * A RouteMatch contains info about how a route matched a URL.\n */\nexport interface RouteMatch {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The route object that was used to match.\n */\n route: RouteObject;\n}\n\n/**\n * Matches the given routes to a location and returns the match data.\n *\n * @see https://reactrouter.com/docs/en/v6/api#matchroutes\n */\nexport function matchRoutes(\n routes: RouteObject[],\n locationArg: Partial | string,\n basename = \"/\"\n): RouteMatch[] | null {\n let location =\n typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n let pathname = stripBasename(location.pathname || \"/\", basename);\n\n if (pathname == null) {\n return null;\n }\n\n let branches = flattenRoutes(routes);\n rankRouteBranches(branches);\n\n let matches = null;\n for (let i = 0; matches == null && i < branches.length; ++i) {\n matches = matchRouteBranch(branches[i], pathname);\n }\n\n return matches;\n}\n\ninterface RouteMeta {\n relativePath: string;\n caseSensitive: boolean;\n childrenIndex: number;\n route: RouteObject;\n}\n\ninterface RouteBranch {\n path: string;\n score: number;\n routesMeta: RouteMeta[];\n}\n\nfunction flattenRoutes(\n routes: RouteObject[],\n branches: RouteBranch[] = [],\n parentsMeta: RouteMeta[] = [],\n parentPath = \"\"\n): RouteBranch[] {\n routes.forEach((route, index) => {\n let meta: RouteMeta = {\n relativePath: route.path || \"\",\n caseSensitive: route.caseSensitive === true,\n childrenIndex: index,\n route,\n };\n\n if (meta.relativePath.startsWith(\"/\")) {\n invariant(\n meta.relativePath.startsWith(parentPath),\n `Absolute route path \"${meta.relativePath}\" nested under path ` +\n `\"${parentPath}\" is not valid. An absolute child route path ` +\n `must start with the combined path of all its parent routes.`\n );\n\n meta.relativePath = meta.relativePath.slice(parentPath.length);\n }\n\n let path = joinPaths([parentPath, meta.relativePath]);\n let routesMeta = parentsMeta.concat(meta);\n\n // Add the children before adding this route to the array so we traverse the\n // route tree depth-first and child routes appear before their parents in\n // the \"flattened\" version.\n if (route.children && route.children.length > 0) {\n invariant(\n route.index !== true,\n `Index routes must not have child routes. Please remove ` +\n `all child routes from route path \"${path}\".`\n );\n\n flattenRoutes(route.children, branches, routesMeta, path);\n }\n\n // Routes without a path shouldn't ever match by themselves unless they are\n // index routes, so don't add them to the list of possible branches.\n if (route.path == null && !route.index) {\n return;\n }\n\n branches.push({ path, score: computeScore(path, route.index), routesMeta });\n });\n\n return branches;\n}\n\nfunction rankRouteBranches(branches: RouteBranch[]): void {\n branches.sort((a, b) =>\n a.score !== b.score\n ? b.score - a.score // Higher score first\n : compareIndexes(\n a.routesMeta.map((meta) => meta.childrenIndex),\n b.routesMeta.map((meta) => meta.childrenIndex)\n )\n );\n}\n\nconst paramRe = /^:\\w+$/;\nconst dynamicSegmentValue = 3;\nconst indexRouteValue = 2;\nconst emptySegmentValue = 1;\nconst staticSegmentValue = 10;\nconst splatPenalty = -2;\nconst isSplat = (s: string) => s === \"*\";\n\nfunction computeScore(path: string, index: boolean | undefined): number {\n let segments = path.split(\"/\");\n let initialScore = segments.length;\n if (segments.some(isSplat)) {\n initialScore += splatPenalty;\n }\n\n if (index) {\n initialScore += indexRouteValue;\n }\n\n return segments\n .filter((s) => !isSplat(s))\n .reduce(\n (score, segment) =>\n score +\n (paramRe.test(segment)\n ? dynamicSegmentValue\n : segment === \"\"\n ? emptySegmentValue\n : staticSegmentValue),\n initialScore\n );\n}\n\nfunction compareIndexes(a: number[], b: number[]): number {\n let siblings =\n a.length === b.length && a.slice(0, -1).every((n, i) => n === b[i]);\n\n return siblings\n ? // If two routes are siblings, we should try to match the earlier sibling\n // first. This allows people to have fine-grained control over the matching\n // behavior by simply putting routes with identical paths in the order they\n // want them tried.\n a[a.length - 1] - b[b.length - 1]\n : // Otherwise, it doesn't really make sense to rank non-siblings by index,\n // so they sort equally.\n 0;\n}\n\nfunction matchRouteBranch(\n branch: RouteBranch,\n pathname: string\n): RouteMatch[] | null {\n let { routesMeta } = branch;\n\n let matchedParams = {};\n let matchedPathname = \"/\";\n let matches: RouteMatch[] = [];\n for (let i = 0; i < routesMeta.length; ++i) {\n let meta = routesMeta[i];\n let end = i === routesMeta.length - 1;\n let remainingPathname =\n matchedPathname === \"/\"\n ? pathname\n : pathname.slice(matchedPathname.length) || \"/\";\n let match = matchPath(\n { path: meta.relativePath, caseSensitive: meta.caseSensitive, end },\n remainingPathname\n );\n\n if (!match) return null;\n\n Object.assign(matchedParams, match.params);\n\n let route = meta.route;\n\n matches.push({\n params: matchedParams,\n pathname: joinPaths([matchedPathname, match.pathname]),\n pathnameBase: normalizePathname(\n joinPaths([matchedPathname, match.pathnameBase])\n ),\n route,\n });\n\n if (match.pathnameBase !== \"/\") {\n matchedPathname = joinPaths([matchedPathname, match.pathnameBase]);\n }\n }\n\n return matches;\n}\n\n/**\n * Renders the result of `matchRoutes()` into a React element.\n */\nexport function renderMatches(\n matches: RouteMatch[] | null\n): React.ReactElement | null {\n return _renderMatches(matches);\n}\n\nfunction _renderMatches(\n matches: RouteMatch[] | null,\n parentMatches: RouteMatch[] = []\n): React.ReactElement | null {\n if (matches == null) return null;\n\n return matches.reduceRight((outlet, match, index) => {\n return (\n \n );\n }, null as React.ReactElement | null);\n}\n\n/**\n * A PathPattern is used to match on some portion of a URL pathname.\n */\nexport interface PathPattern {\n /**\n * A string to match against a URL pathname. May contain `:id`-style segments\n * to indicate placeholders for dynamic parameters. May also end with `/*` to\n * indicate matching the rest of the URL pathname.\n */\n path: Path;\n /**\n * Should be `true` if the static portions of the `path` should be matched in\n * the same case.\n */\n caseSensitive?: boolean;\n /**\n * Should be `true` if this pattern should match the entire URL pathname.\n */\n end?: boolean;\n}\n\n/**\n * A PathMatch contains info about how a PathPattern matched on a URL pathname.\n */\nexport interface PathMatch {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The pattern that was used to match.\n */\n pattern: PathPattern;\n}\n\ntype Mutable = {\n -readonly [P in keyof T]: T[P];\n};\n\n/**\n * Performs pattern matching on a URL pathname and returns information about\n * the match.\n *\n * @see https://reactrouter.com/docs/en/v6/api#matchpath\n */\nexport function matchPath<\n ParamKey extends ParamParseKey,\n Path extends string\n>(\n pattern: PathPattern | Path,\n pathname: string\n): PathMatch | null {\n if (typeof pattern === \"string\") {\n pattern = { path: pattern, caseSensitive: false, end: true };\n }\n\n let [matcher, paramNames] = compilePath(\n pattern.path,\n pattern.caseSensitive,\n pattern.end\n );\n\n let match = pathname.match(matcher);\n if (!match) return null;\n\n let matchedPathname = match[0];\n let pathnameBase = matchedPathname.replace(/(.)\\/+$/, \"$1\");\n let captureGroups = match.slice(1);\n let params: Params = paramNames.reduce>(\n (memo, paramName, index) => {\n // We need to compute the pathnameBase here using the raw splat value\n // instead of using params[\"*\"] later because it will be decoded then\n if (paramName === \"*\") {\n let splatValue = captureGroups[index] || \"\";\n pathnameBase = matchedPathname\n .slice(0, matchedPathname.length - splatValue.length)\n .replace(/(.)\\/+$/, \"$1\");\n }\n\n memo[paramName] = safelyDecodeURIComponent(\n captureGroups[index] || \"\",\n paramName\n );\n return memo;\n },\n {}\n );\n\n return {\n params,\n pathname: matchedPathname,\n pathnameBase,\n pattern,\n };\n}\n\nfunction compilePath(\n path: string,\n caseSensitive = false,\n end = true\n): [RegExp, string[]] {\n warning(\n path === \"*\" || !path.endsWith(\"*\") || path.endsWith(\"/*\"),\n `Route path \"${path}\" will be treated as if it were ` +\n `\"${path.replace(/\\*$/, \"/*\")}\" because the \\`*\\` character must ` +\n `always follow a \\`/\\` in the pattern. To get rid of this warning, ` +\n `please change the route path to \"${path.replace(/\\*$/, \"/*\")}\".`\n );\n\n let paramNames: string[] = [];\n let regexpSource =\n \"^\" +\n path\n .replace(/\\/*\\*?$/, \"\") // Ignore trailing / and /*, we'll handle it below\n .replace(/^\\/*/, \"/\") // Make sure it has a leading /\n .replace(/[\\\\.*+^$?{}|()[\\]]/g, \"\\\\$&\") // Escape special regex chars\n .replace(/:(\\w+)/g, (_: string, paramName: string) => {\n paramNames.push(paramName);\n return \"([^\\\\/]+)\";\n });\n\n if (path.endsWith(\"*\")) {\n paramNames.push(\"*\");\n regexpSource +=\n path === \"*\" || path === \"/*\"\n ? \"(.*)$\" // Already matched the initial /, just match the rest\n : \"(?:\\\\/(.+)|\\\\/*)$\"; // Don't include the / in params[\"*\"]\n } else {\n regexpSource += end\n ? \"\\\\/*$\" // When matching to the end, ignore trailing slashes\n : // Otherwise, match a word boundary or a proceeding /. The word boundary restricts\n // parent routes to matching only their own words and nothing more, e.g. parent\n // route \"/home\" should not match \"/home2\".\n // Additionally, allow paths starting with `.`, `-`, `~`, and url-encoded entities,\n // but do not consume the character in the matched path so they can match against\n // nested paths.\n \"(?:(?=[.~-]|%[0-9A-F]{2})|\\\\b|\\\\/|$)\";\n }\n\n let matcher = new RegExp(regexpSource, caseSensitive ? undefined : \"i\");\n\n return [matcher, paramNames];\n}\n\nfunction safelyDecodeURIComponent(value: string, paramName: string) {\n try {\n return decodeURIComponent(value);\n } catch (error) {\n warning(\n false,\n `The value for the URL param \"${paramName}\" will not be decoded because` +\n ` the string \"${value}\" is a malformed URL segment. This is probably` +\n ` due to a bad percent encoding (${error}).`\n );\n\n return value;\n }\n}\n\n/**\n * Returns a resolved path object relative to the given pathname.\n *\n * @see https://reactrouter.com/docs/en/v6/api#resolvepath\n */\nexport function resolvePath(to: To, fromPathname = \"/\"): Path {\n let {\n pathname: toPathname,\n search = \"\",\n hash = \"\",\n } = typeof to === \"string\" ? parsePath(to) : to;\n\n let pathname = toPathname\n ? toPathname.startsWith(\"/\")\n ? toPathname\n : resolvePathname(toPathname, fromPathname)\n : fromPathname;\n\n return {\n pathname,\n search: normalizeSearch(search),\n hash: normalizeHash(hash),\n };\n}\n\nfunction resolvePathname(relativePath: string, fromPathname: string): string {\n let segments = fromPathname.replace(/\\/+$/, \"\").split(\"/\");\n let relativeSegments = relativePath.split(\"/\");\n\n relativeSegments.forEach((segment) => {\n if (segment === \"..\") {\n // Keep the root \"\" segment so the pathname starts at /\n if (segments.length > 1) segments.pop();\n } else if (segment !== \".\") {\n segments.push(segment);\n }\n });\n\n return segments.length > 1 ? segments.join(\"/\") : \"/\";\n}\n\nfunction resolveTo(\n toArg: To,\n routePathnames: string[],\n locationPathname: string\n): Path {\n let to = typeof toArg === \"string\" ? parsePath(toArg) : toArg;\n let toPathname = toArg === \"\" || to.pathname === \"\" ? \"/\" : to.pathname;\n\n // If a pathname is explicitly provided in `to`, it should be relative to the\n // route context. This is explained in `Note on `` values` in our\n // migration guide from v5 as a means of disambiguation between `to` values\n // that begin with `/` and those that do not. However, this is problematic for\n // `to` values that do not provide a pathname. `to` can simply be a search or\n // hash string, in which case we should assume that the navigation is relative\n // to the current location's pathname and *not* the route pathname.\n let from: string;\n if (toPathname == null) {\n from = locationPathname;\n } else {\n let routePathnameIndex = routePathnames.length - 1;\n\n if (toPathname.startsWith(\"..\")) {\n let toSegments = toPathname.split(\"/\");\n\n // Each leading .. segment means \"go up one route\" instead of \"go up one\n // URL segment\". This is a key difference from how works and a\n // major reason we call this a \"to\" value instead of a \"href\".\n while (toSegments[0] === \"..\") {\n toSegments.shift();\n routePathnameIndex -= 1;\n }\n\n to.pathname = toSegments.join(\"/\");\n }\n\n // If there are more \"..\" segments than parent routes, resolve relative to\n // the root / URL.\n from = routePathnameIndex >= 0 ? routePathnames[routePathnameIndex] : \"/\";\n }\n\n let path = resolvePath(to, from);\n\n // Ensure the pathname has a trailing slash if the original to value had one.\n if (\n toPathname &&\n toPathname !== \"/\" &&\n toPathname.endsWith(\"/\") &&\n !path.pathname.endsWith(\"/\")\n ) {\n path.pathname += \"/\";\n }\n\n return path;\n}\n\nfunction getToPathname(to: To): string | undefined {\n // Empty strings should be treated the same as / paths\n return to === \"\" || (to as Path).pathname === \"\"\n ? \"/\"\n : typeof to === \"string\"\n ? parsePath(to).pathname\n : to.pathname;\n}\n\nfunction stripBasename(pathname: string, basename: string): string | null {\n if (basename === \"/\") return pathname;\n\n if (!pathname.toLowerCase().startsWith(basename.toLowerCase())) {\n return null;\n }\n\n let nextChar = pathname.charAt(basename.length);\n if (nextChar && nextChar !== \"/\") {\n // pathname does not start with basename/\n return null;\n }\n\n return pathname.slice(basename.length) || \"/\";\n}\n\nconst joinPaths = (paths: string[]): string =>\n paths.join(\"/\").replace(/\\/\\/+/g, \"/\");\n\nconst normalizePathname = (pathname: string): string =>\n pathname.replace(/\\/+$/, \"\").replace(/^\\/*/, \"/\");\n\nconst normalizeSearch = (search: string): string =>\n !search || search === \"?\"\n ? \"\"\n : search.startsWith(\"?\")\n ? search\n : \"?\" + search;\n\nconst normalizeHash = (hash: string): string =>\n !hash || hash === \"#\" ? \"\" : hash.startsWith(\"#\") ? hash : \"#\" + hash;\n\n///////////////////////////////////////////////////////////////////////////////\n// DANGER! PLEASE READ ME!\n// We provide these exports as an escape hatch in the event that you need any\n// routing data that we don't provide an explicit API for. With that said, we\n// want to cover your use case if we can, so if you feel the need to use these\n// we want to hear from you. Let us know what you're building and we'll do our\n// best to make sure we can support you!\n//\n// We consider these exports an implementation detail and do not guarantee\n// against any breaking changes, regardless of the semver release. Use with\n// extreme caution and only if you understand the consequences. Godspeed.\n///////////////////////////////////////////////////////////////////////////////\n\n/** @internal */\nexport {\n NavigationContext as UNSAFE_NavigationContext,\n LocationContext as UNSAFE_LocationContext,\n RouteContext as UNSAFE_RouteContext,\n};\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport const Constants = {\n LIBRARY_NAME: \"MSAL.JS\",\n SKU: \"msal.js.common\",\n // Prefix for all library cache entries\n CACHE_PREFIX: \"msal\",\n // default authority\n DEFAULT_AUTHORITY: \"https://login.microsoftonline.com/common/\",\n DEFAULT_AUTHORITY_HOST: \"login.microsoftonline.com\",\n DEFAULT_COMMON_TENANT: \"common\",\n // ADFS String\n ADFS: \"adfs\",\n // Default AAD Instance Discovery Endpoint\n AAD_INSTANCE_DISCOVERY_ENDPT: \"https://login.microsoftonline.com/common/discovery/instance?api-version=1.1&authorization_endpoint=\",\n // Resource delimiter - used for certain cache entries\n RESOURCE_DELIM: \"|\",\n // Placeholder for non-existent account ids/objects\n NO_ACCOUNT: \"NO_ACCOUNT\",\n // Claims\n CLAIMS: \"claims\",\n // Consumer UTID\n CONSUMER_UTID: \"9188040d-6c67-4c5b-b112-36a304b66dad\",\n // Default scopes\n OPENID_SCOPE: \"openid\",\n PROFILE_SCOPE: \"profile\",\n OFFLINE_ACCESS_SCOPE: \"offline_access\",\n EMAIL_SCOPE: \"email\",\n // Default response type for authorization code flow\n CODE_RESPONSE_TYPE: \"code\",\n CODE_GRANT_TYPE: \"authorization_code\",\n RT_GRANT_TYPE: \"refresh_token\",\n FRAGMENT_RESPONSE_MODE: \"fragment\",\n S256_CODE_CHALLENGE_METHOD: \"S256\",\n URL_FORM_CONTENT_TYPE: \"application/x-www-form-urlencoded;charset=utf-8\",\n AUTHORIZATION_PENDING: \"authorization_pending\",\n NOT_DEFINED: \"not_defined\",\n EMPTY_STRING: \"\",\n FORWARD_SLASH: \"/\",\n IMDS_ENDPOINT: \"http://169.254.169.254/metadata/instance/compute/location\",\n IMDS_VERSION: \"2020-06-01\",\n IMDS_TIMEOUT: 2000,\n AZURE_REGION_AUTO_DISCOVER_FLAG: \"TryAutoDetect\",\n REGIONAL_AUTH_PUBLIC_CLOUD_SUFFIX: \"login.microsoft.com\",\n KNOWN_PUBLIC_CLOUDS: [\"login.microsoftonline.com\", \"login.windows.net\", \"login.microsoft.com\", \"sts.windows.net\"],\n TOKEN_RESPONSE_TYPE: \"token\",\n ID_TOKEN_RESPONSE_TYPE: \"id_token\"\n};\n\nexport const OIDC_DEFAULT_SCOPES = [\n Constants.OPENID_SCOPE,\n Constants.PROFILE_SCOPE,\n Constants.OFFLINE_ACCESS_SCOPE\n];\n\nexport const OIDC_SCOPES = [\n ...OIDC_DEFAULT_SCOPES,\n Constants.EMAIL_SCOPE\n];\n\n/**\n * Request header names\n */\nexport enum HeaderNames {\n CONTENT_TYPE = \"Content-Type\",\n RETRY_AFTER = \"Retry-After\",\n CCS_HEADER = \"X-AnchorMailbox\",\n WWWAuthenticate = \"WWW-Authenticate\",\n AuthenticationInfo = \"Authentication-Info\"\n}\n\n/**\n * Persistent cache keys MSAL which stay while user is logged in.\n */\nexport enum PersistentCacheKeys {\n ID_TOKEN = \"idtoken\",\n CLIENT_INFO = \"client.info\",\n ADAL_ID_TOKEN = \"adal.idtoken\",\n ERROR = \"error\",\n ERROR_DESC = \"error.description\",\n ACTIVE_ACCOUNT = \"active-account\"\n}\n\n/**\n * String constants related to AAD Authority\n */\nexport enum AADAuthorityConstants {\n COMMON = \"common\",\n ORGANIZATIONS = \"organizations\",\n CONSUMERS = \"consumers\"\n}\n\n/**\n * Keys in the hashParams sent by AAD Server\n */\nexport enum AADServerParamKeys {\n CLIENT_ID = \"client_id\",\n REDIRECT_URI = \"redirect_uri\",\n RESPONSE_TYPE = \"response_type\",\n RESPONSE_MODE = \"response_mode\",\n GRANT_TYPE = \"grant_type\",\n CLAIMS = \"claims\",\n SCOPE = \"scope\",\n ERROR = \"error\",\n ERROR_DESCRIPTION = \"error_description\",\n ACCESS_TOKEN = \"access_token\",\n ID_TOKEN = \"id_token\",\n REFRESH_TOKEN = \"refresh_token\",\n EXPIRES_IN = \"expires_in\",\n STATE = \"state\",\n NONCE = \"nonce\",\n PROMPT = \"prompt\",\n SESSION_STATE = \"session_state\",\n CLIENT_INFO = \"client_info\",\n CODE = \"code\",\n CODE_CHALLENGE = \"code_challenge\",\n CODE_CHALLENGE_METHOD = \"code_challenge_method\",\n CODE_VERIFIER = \"code_verifier\",\n CLIENT_REQUEST_ID = \"client-request-id\",\n X_CLIENT_SKU = \"x-client-SKU\",\n X_CLIENT_VER = \"x-client-VER\",\n X_CLIENT_OS = \"x-client-OS\",\n X_CLIENT_CPU = \"x-client-CPU\",\n X_CLIENT_CURR_TELEM = \"x-client-current-telemetry\",\n X_CLIENT_LAST_TELEM = \"x-client-last-telemetry\",\n X_MS_LIB_CAPABILITY = \"x-ms-lib-capability\",\n X_APP_NAME = \"x-app-name\",\n X_APP_VER = \"x-app-ver\",\n POST_LOGOUT_URI = \"post_logout_redirect_uri\",\n ID_TOKEN_HINT= \"id_token_hint\",\n DEVICE_CODE = \"device_code\",\n CLIENT_SECRET = \"client_secret\",\n CLIENT_ASSERTION = \"client_assertion\",\n CLIENT_ASSERTION_TYPE = \"client_assertion_type\",\n TOKEN_TYPE = \"token_type\",\n REQ_CNF = \"req_cnf\",\n OBO_ASSERTION = \"assertion\",\n REQUESTED_TOKEN_USE = \"requested_token_use\",\n ON_BEHALF_OF = \"on_behalf_of\",\n FOCI = \"foci\",\n CCS_HEADER = \"X-AnchorMailbox\",\n RETURN_SPA_CODE = \"return_spa_code\",\n NATIVE_BROKER = \"nativebroker\",\n LOGOUT_HINT = \"logout_hint\"\n}\n\n/**\n * Claims request keys\n */\nexport enum ClaimsRequestKeys {\n ACCESS_TOKEN = \"access_token\",\n XMS_CC = \"xms_cc\"\n}\n\n/**\n * we considered making this \"enum\" in the request instead of string, however it looks like the allowed list of\n * prompt values kept changing over past couple of years. There are some undocumented prompt values for some\n * internal partners too, hence the choice of generic \"string\" type instead of the \"enum\"\n */\nexport const PromptValue = {\n LOGIN: \"login\",\n SELECT_ACCOUNT: \"select_account\",\n CONSENT: \"consent\",\n NONE: \"none\",\n CREATE: \"create\"\n};\n\n/**\n * SSO Types - generated to populate hints\n */\nexport enum SSOTypes {\n ACCOUNT = \"account\",\n SID = \"sid\",\n LOGIN_HINT = \"login_hint\",\n ID_TOKEN = \"id_token\",\n DOMAIN_HINT = \"domain_hint\",\n ORGANIZATIONS = \"organizations\",\n CONSUMERS = \"consumers\",\n ACCOUNT_ID = \"accountIdentifier\",\n HOMEACCOUNT_ID = \"homeAccountIdentifier\"\n}\n\n/**\n * Disallowed extra query parameters.\n */\nexport const BlacklistedEQParams = [\n SSOTypes.SID,\n SSOTypes.LOGIN_HINT\n];\n\n/**\n * allowed values for codeVerifier\n */\nexport const CodeChallengeMethodValues = {\n PLAIN: \"plain\",\n S256: \"S256\"\n};\n\n/**\n * The method used to encode the code verifier for the code challenge parameter. can be one\n * of plain or s256. if excluded, code challenge is assumed to be plaintext. for more\n * information, see the pkce rcf: https://tools.ietf.org/html/rfc7636\n */\nexport const CodeChallengeMethodValuesArray: string[] = [\n CodeChallengeMethodValues.PLAIN,\n CodeChallengeMethodValues.S256\n];\n\n/**\n * allowed values for response_mode\n */\nexport enum ResponseMode {\n QUERY = \"query\",\n FRAGMENT = \"fragment\",\n FORM_POST = \"form_post\"\n}\n\n/**\n * allowed grant_type\n */\nexport enum GrantType {\n IMPLICIT_GRANT = \"implicit\",\n AUTHORIZATION_CODE_GRANT = \"authorization_code\",\n CLIENT_CREDENTIALS_GRANT = \"client_credentials\",\n RESOURCE_OWNER_PASSWORD_GRANT = \"password\",\n REFRESH_TOKEN_GRANT = \"refresh_token\",\n DEVICE_CODE_GRANT = \"device_code\",\n JWT_BEARER = \"urn:ietf:params:oauth:grant-type:jwt-bearer\"\n}\n\n/**\n * Account types in Cache\n */\nexport enum CacheAccountType {\n MSSTS_ACCOUNT_TYPE = \"MSSTS\",\n ADFS_ACCOUNT_TYPE = \"ADFS\",\n MSAV1_ACCOUNT_TYPE = \"MSA\",\n GENERIC_ACCOUNT_TYPE = \"Generic\" // NTLM, Kerberos, FBA, Basic etc\n}\n\n/**\n * Separators used in cache\n */\nexport enum Separators {\n CACHE_KEY_SEPARATOR = \"-\",\n CLIENT_INFO_SEPARATOR = \".\"\n}\n\n/**\n * Credential Type stored in the cache\n */\nexport enum CredentialType {\n ID_TOKEN = \"IdToken\",\n ACCESS_TOKEN = \"AccessToken\",\n ACCESS_TOKEN_WITH_AUTH_SCHEME = \"AccessToken_With_AuthScheme\",\n REFRESH_TOKEN = \"RefreshToken\",\n}\n\n/**\n * Credential Type stored in the cache\n */\nexport enum CacheSchemaType {\n ACCOUNT = \"Account\",\n CREDENTIAL = \"Credential\",\n ID_TOKEN = \"IdToken\",\n ACCESS_TOKEN = \"AccessToken\",\n REFRESH_TOKEN = \"RefreshToken\",\n APP_METADATA = \"AppMetadata\",\n TEMPORARY = \"TempCache\",\n TELEMETRY = \"Telemetry\",\n UNDEFINED = \"Undefined\",\n THROTTLING = \"Throttling\"\n}\n\n/**\n * Combine all cache types\n */\nexport enum CacheType {\n ADFS = 1001,\n MSA = 1002,\n MSSTS = 1003,\n GENERIC = 1004,\n ACCESS_TOKEN = 2001,\n REFRESH_TOKEN = 2002,\n ID_TOKEN = 2003,\n APP_METADATA = 3001,\n UNDEFINED = 9999\n}\n\n/**\n * More Cache related constants\n */\nexport const APP_METADATA = \"appmetadata\";\nexport const CLIENT_INFO = \"client_info\";\nexport const THE_FAMILY_ID = \"1\";\n\nexport const AUTHORITY_METADATA_CONSTANTS = {\n CACHE_KEY: \"authority-metadata\",\n REFRESH_TIME_SECONDS: 3600 * 24 // 24 Hours\n};\n\nexport enum AuthorityMetadataSource {\n CONFIG = \"config\",\n CACHE = \"cache\",\n NETWORK = \"network\"\n}\n\nexport const SERVER_TELEM_CONSTANTS = {\n SCHEMA_VERSION: 5,\n MAX_CUR_HEADER_BYTES: 80, // ESTS limit is 100B, set to 80 to provide a 20B buffer\n MAX_LAST_HEADER_BYTES: 330, // ESTS limit is 350B, set to 330 to provide a 20B buffer,\n MAX_CACHED_ERRORS: 50, // Limit the number of errors that can be stored to prevent uncontrolled size gains\n CACHE_KEY: \"server-telemetry\",\n CATEGORY_SEPARATOR: \"|\",\n VALUE_SEPARATOR: \",\",\n OVERFLOW_TRUE: \"1\",\n OVERFLOW_FALSE: \"0\",\n UNKNOWN_ERROR: \"unknown_error\"\n};\n\n/**\n * Type of the authentication request\n */\nexport enum AuthenticationScheme {\n BEARER = \"Bearer\",\n POP = \"pop\",\n SSH = \"ssh-cert\"\n}\n\n/**\n * Constants related to throttling\n */\nexport const ThrottlingConstants = {\n // Default time to throttle RequestThumbprint in seconds\n DEFAULT_THROTTLE_TIME_SECONDS: 60,\n // Default maximum time to throttle in seconds, overrides what the server sends back\n DEFAULT_MAX_THROTTLE_TIME_SECONDS: 3600,\n // Prefix for storing throttling entries\n THROTTLING_PREFIX: \"throttling\",\n // Value assigned to the x-ms-lib-capability header to indicate to the server the library supports throttling\n X_MS_LIB_CAPABILITY_VALUE: \"retry-after, h429\"\n};\n\nexport const Errors = {\n INVALID_GRANT_ERROR: \"invalid_grant\",\n CLIENT_MISMATCH_ERROR: \"client_mismatch\",\n};\n\n/**\n * Password grant parameters\n */\nexport enum PasswordGrantConstants {\n username = \"username\",\n password = \"password\"\n}\n\n/**\n * Response codes\n */\nexport enum ResponseCodes {\n httpSuccess = 200,\n httpBadRequest = 400\n}\n\n/**\n * Region Discovery Sources\n */\nexport enum RegionDiscoverySources {\n FAILED_AUTO_DETECTION = \"1\",\n INTERNAL_CACHE = \"2\",\n ENVIRONMENT_VARIABLE = \"3\",\n IMDS = \"4\",\n}\n\n/**\n * Region Discovery Outcomes\n */\nexport enum RegionDiscoveryOutcomes {\n CONFIGURED_MATCHES_DETECTED = \"1\",\n CONFIGURED_NO_AUTO_DETECTION = \"2\",\n CONFIGURED_NOT_DETECTED = \"3\",\n AUTO_DETECTION_REQUESTED_SUCCESSFUL = \"4\",\n AUTO_DETECTION_REQUESTED_FAILED = \"5\"\n}\n\nexport enum CacheOutcome {\n NO_CACHE_HIT = \"0\",\n FORCE_REFRESH = \"1\",\n NO_CACHED_ACCESS_TOKEN = \"2\",\n CACHED_ACCESS_TOKEN_EXPIRED = \"3\",\n REFRESH_CACHED_ACCESS_TOKEN = \"4\"\n}\n\nexport enum JsonTypes {\n Jwt = \"JWT\",\n Jwk = \"JWK\"\n} \n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { OIDC_DEFAULT_SCOPES } from \"@azure/msal-common\";\nimport { PopupRequest } from \"../request/PopupRequest\";\nimport { RedirectRequest } from \"../request/RedirectRequest\";\n\n/**\n * Constants\n */\nexport const BrowserConstants = {\n /**\n * Interaction in progress cache value\n */\n INTERACTION_IN_PROGRESS_VALUE: \"interaction_in_progress\",\n /**\n * Invalid grant error code\n */\n INVALID_GRANT_ERROR: \"invalid_grant\",\n /**\n * Default popup window width\n */\n POPUP_WIDTH: 483,\n /**\n * Default popup window height\n */\n POPUP_HEIGHT: 600,\n /**\n * Name of the popup window starts with\n */\n POPUP_NAME_PREFIX: \"msal\",\n /**\n * Default popup monitor poll interval in milliseconds\n */\n POLL_INTERVAL_MS: 50,\n /**\n * Msal-browser SKU\n */\n MSAL_SKU: \"msal.js.browser\",\n};\n\nexport enum BrowserCacheLocation {\n LocalStorage = \"localStorage\",\n SessionStorage = \"sessionStorage\",\n MemoryStorage = \"memoryStorage\"\n}\n\n/**\n * HTTP Request types supported by MSAL.\n */\nexport enum HTTP_REQUEST_TYPE {\n GET = \"GET\",\n POST = \"POST\"\n}\n\n/**\n * Temporary cache keys for MSAL, deleted after any request.\n */\nexport enum TemporaryCacheKeys {\n AUTHORITY = \"authority\",\n ACQUIRE_TOKEN_ACCOUNT = \"acquireToken.account\",\n SESSION_STATE = \"session.state\",\n REQUEST_STATE = \"request.state\",\n NONCE_IDTOKEN = \"nonce.id_token\",\n ORIGIN_URI = \"request.origin\",\n RENEW_STATUS = \"token.renew.status\",\n URL_HASH = \"urlHash\",\n REQUEST_PARAMS = \"request.params\",\n SCOPES = \"scopes\",\n INTERACTION_STATUS_KEY = \"interaction.status\",\n CCS_CREDENTIAL = \"ccs.credential\",\n CORRELATION_ID = \"request.correlationId\"\n}\n\n/**\n * Cache keys stored in-memory\n */\nexport enum InMemoryCacheKeys {\n WRAPPER_SKU = \"wrapper.sku\",\n WRAPPER_VER = \"wrapper.version\"\n}\n\n/**\n * API Codes for Telemetry purposes. \n * Before adding a new code you must claim it in the MSAL Telemetry tracker as these number spaces are shared across all MSALs\n * 0-99 Silent Flow\n * 800-899 Auth Code Flow\n */\nexport enum ApiId {\n acquireTokenRedirect = 861,\n acquireTokenPopup = 862,\n ssoSilent = 863,\n acquireTokenSilent_authCode = 864,\n handleRedirectPromise = 865,\n acquireTokenByCode = 866,\n acquireTokenSilent_silentFlow = 61,\n logout = 961,\n logoutPopup = 962\n}\n\n/*\n * Interaction type of the API - used for state and telemetry\n */\nexport enum InteractionType {\n Redirect = \"redirect\",\n Popup = \"popup\",\n Silent = \"silent\",\n None = \"none\"\n}\n\n/**\n * Types of interaction currently in progress.\n * Used in events in wrapper libraries to invoke functions when certain interaction is in progress or all interactions are complete.\n */\nexport enum InteractionStatus {\n /**\n * Initial status before interaction occurs\n */\n Startup = \"startup\",\n /**\n * Status set when all login calls occuring\n */\n Login = \"login\",\n /**\n * Status set when logout call occuring\n */ \n Logout = \"logout\",\n /**\n * Status set for acquireToken calls\n */\n AcquireToken = \"acquireToken\",\n /**\n * Status set for ssoSilent calls\n */\n SsoSilent = \"ssoSilent\",\n /**\n * Status set when handleRedirect in progress\n */\n HandleRedirect = \"handleRedirect\",\n /**\n * Status set when interaction is complete\n */\n None = \"none\"\n}\n\nexport const DEFAULT_REQUEST: RedirectRequest|PopupRequest = {\n scopes: OIDC_DEFAULT_SCOPES\n};\n\n/**\n * JWK Key Format string (Type MUST be defined for window crypto APIs)\n */\nexport const KEY_FORMAT_JWK = \"jwk\";\n\n// Supported wrapper SKUs\nexport enum WrapperSKU {\n React = \"@azure/msal-react\",\n Angular = \"@azure/msal-angular\"\n}\n\n// DatabaseStorage Constants\nexport const DB_NAME = \"msal.db\";\nexport const DB_VERSION = 1;\nexport const DB_TABLE_NAME = `${DB_NAME}.keys`;\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { Constants } from \"../utils/Constants\";\n\n/**\n * AuthErrorMessage class containing string constants used by error codes and messages.\n */\nexport const AuthErrorMessage = {\n unexpectedError: {\n code: \"unexpected_error\",\n desc: \"Unexpected error in authentication.\"\n }\n};\n\n/**\n * General error class thrown by the MSAL.js library.\n */\nexport class AuthError extends Error {\n\n /**\n * Short string denoting error\n */\n errorCode: string;\n\n /**\n * Detailed description of error\n */\n errorMessage: string;\n\n /**\n * Describes the subclass of an error\n */\n subError: string;\n\n /**\n * CorrelationId associated with the error\n */\n correlationId: string;\n\n constructor(errorCode?: string, errorMessage?: string, suberror?: string) {\n const errorString = errorMessage ? `${errorCode}: ${errorMessage}` : errorCode;\n super(errorString);\n Object.setPrototypeOf(this, AuthError.prototype);\n\n this.errorCode = errorCode || Constants.EMPTY_STRING;\n this.errorMessage = errorMessage || Constants.EMPTY_STRING;\n this.subError = suberror || Constants.EMPTY_STRING;\n this.name = \"AuthError\";\n }\n\n setCorrelationId(correlationId: string): void {\n this.correlationId = correlationId;\n }\n\n /**\n * Creates an error that is thrown when something unexpected happens in the library.\n * @param errDesc\n */\n static createUnexpectedError(errDesc: string): AuthError {\n return new AuthError(AuthErrorMessage.unexpectedError.code, `${AuthErrorMessage.unexpectedError.desc}: ${errDesc}`);\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AuthError } from \"@azure/msal-common\";\n\n/**\n * BrowserAuthErrorMessage class containing string constants used by error codes and messages.\n */\nexport const BrowserConfigurationAuthErrorMessage = {\n redirectUriNotSet: {\n code: \"redirect_uri_empty\",\n desc: \"A redirect URI is required for all calls, and none has been set.\"\n },\n postLogoutUriNotSet: {\n code: \"post_logout_uri_empty\",\n desc: \"A post logout redirect has not been set.\"\n },\n storageNotSupportedError: {\n code: \"storage_not_supported\",\n desc: \"Given storage configuration option was not supported.\"\n },\n noRedirectCallbacksSet: {\n code: \"no_redirect_callbacks\",\n desc: \"No redirect callbacks have been set. Please call setRedirectCallbacks() with the appropriate function arguments before continuing. \" +\n \"More information is available here: https://github.com/AzureAD/microsoft-authentication-library-for-js/wiki/MSAL-basics.\"\n },\n invalidCallbackObject: {\n code: \"invalid_callback_object\",\n desc: \"The object passed for the callback was invalid. \" +\n \"More information is available here: https://github.com/AzureAD/microsoft-authentication-library-for-js/wiki/MSAL-basics.\"\n },\n stubPcaInstanceCalled: {\n code: \"stubbed_public_client_application_called\",\n desc: \"Stub instance of Public Client Application was called. If using msal-react, please ensure context is not used without a provider. For more visit: aka.ms/msaljs/browser-errors\"\n },\n inMemRedirectUnavailable: {\n code: \"in_mem_redirect_unavailable\",\n desc: \"Redirect cannot be supported. In-memory storage was selected and storeAuthStateInCookie=false, which would cause the library to be unable to handle the incoming hash. If you would like to use the redirect API, please use session/localStorage or set storeAuthStateInCookie=true.\"\n }\n};\n\n/**\n * Browser library error class thrown by the MSAL.js library for SPAs\n */\nexport class BrowserConfigurationAuthError extends AuthError {\n\n constructor(errorCode: string, errorMessage?: string) {\n super(errorCode, errorMessage);\n this.name = \"BrowserConfigurationAuthError\";\n\n Object.setPrototypeOf(this, BrowserConfigurationAuthError.prototype);\n }\n\n /**\n * Creates an error thrown when the redirect uri is empty (not set by caller)\n */\n static createRedirectUriEmptyError(): BrowserConfigurationAuthError {\n return new BrowserConfigurationAuthError(BrowserConfigurationAuthErrorMessage.redirectUriNotSet.code,\n BrowserConfigurationAuthErrorMessage.redirectUriNotSet.desc);\n }\n\n /**\n * Creates an error thrown when the post-logout redirect uri is empty (not set by caller)\n */\n static createPostLogoutRedirectUriEmptyError(): BrowserConfigurationAuthError {\n return new BrowserConfigurationAuthError(BrowserConfigurationAuthErrorMessage.postLogoutUriNotSet.code,\n BrowserConfigurationAuthErrorMessage.postLogoutUriNotSet.desc);\n }\n\n /**\n * Creates error thrown when given storage location is not supported.\n * @param givenStorageLocation \n */\n static createStorageNotSupportedError(givenStorageLocation: string): BrowserConfigurationAuthError {\n return new BrowserConfigurationAuthError(BrowserConfigurationAuthErrorMessage.storageNotSupportedError.code, `${BrowserConfigurationAuthErrorMessage.storageNotSupportedError.desc} Given Location: ${givenStorageLocation}`);\n }\n\n /**\n * Creates error thrown when redirect callbacks are not set before calling loginRedirect() or acquireTokenRedirect().\n */\n static createRedirectCallbacksNotSetError(): BrowserConfigurationAuthError {\n return new BrowserConfigurationAuthError(BrowserConfigurationAuthErrorMessage.noRedirectCallbacksSet.code, \n BrowserConfigurationAuthErrorMessage.noRedirectCallbacksSet.desc);\n }\n\n /**\n * Creates error thrown when the stub instance of PublicClientApplication is called.\n */\n static createStubPcaInstanceCalledError(): BrowserConfigurationAuthError {\n return new BrowserConfigurationAuthError(BrowserConfigurationAuthErrorMessage.stubPcaInstanceCalled.code,\n BrowserConfigurationAuthErrorMessage.stubPcaInstanceCalled.desc);\n }\n\n /*\n * Create an error thrown when in-memory storage is used and storeAuthStateInCookie=false.\n */\n static createInMemoryRedirectUnavailableError(): BrowserConfigurationAuthError {\n return new BrowserConfigurationAuthError(BrowserConfigurationAuthErrorMessage.inMemRedirectUnavailable.code, BrowserConfigurationAuthErrorMessage.inMemRedirectUnavailable.desc);\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AuthenticationResult, AccountInfo, Logger } from \"@azure/msal-common\";\nimport { RedirectRequest } from \"../request/RedirectRequest\";\nimport { PopupRequest } from \"../request/PopupRequest\";\nimport { SilentRequest } from \"../request/SilentRequest\";\nimport { SsoSilentRequest } from \"../request/SsoSilentRequest\";\nimport { EndSessionRequest } from \"../request/EndSessionRequest\";\nimport { BrowserConfigurationAuthError } from \"../error/BrowserConfigurationAuthError\";\nimport { WrapperSKU } from \"../utils/BrowserConstants\";\nimport { INavigationClient } from \"../navigation/INavigationClient\";\nimport { EndSessionPopupRequest } from \"../request/EndSessionPopupRequest\";\nimport { ITokenCache } from \"../cache/ITokenCache\";\nimport { AuthorizationCodeRequest } from \"../request/AuthorizationCodeRequest\";\nimport { BrowserConfiguration } from \"../config/Configuration\";\n\nexport interface IPublicClientApplication {\n acquireTokenPopup(request: PopupRequest): Promise;\n acquireTokenRedirect(request: RedirectRequest): Promise;\n acquireTokenSilent(silentRequest: SilentRequest): Promise;\n acquireTokenByCode(request: AuthorizationCodeRequest): Promise;\n addEventCallback(callback: Function): string | null;\n removeEventCallback(callbackId: string): void;\n enableAccountStorageEvents(): void;\n disableAccountStorageEvents(): void;\n getAccountByHomeId(homeAccountId: string): AccountInfo | null;\n getAccountByLocalId(localId: string): AccountInfo | null;\n getAccountByUsername(userName: string): AccountInfo | null;\n getAllAccounts(): AccountInfo[];\n handleRedirectPromise(hash?: string): Promise;\n loginPopup(request?: PopupRequest): Promise;\n loginRedirect(request?: RedirectRequest): Promise;\n logout(logoutRequest?: EndSessionRequest): Promise;\n logoutRedirect(logoutRequest?: EndSessionRequest): Promise;\n logoutPopup(logoutRequest?: EndSessionPopupRequest): Promise;\n ssoSilent(request: SsoSilentRequest): Promise;\n getTokenCache(): ITokenCache;\n getLogger(): Logger;\n setLogger(logger: Logger): void;\n setActiveAccount(account: AccountInfo | null): void;\n getActiveAccount(): AccountInfo | null;\n initializeWrapperLibrary(sku: WrapperSKU, version: string): void;\n setNavigationClient(navigationClient: INavigationClient): void;\n getConfiguration(): BrowserConfiguration;\n}\n\nexport const stubbedPublicClientApplication: IPublicClientApplication = {\n acquireTokenPopup: () => {\n return Promise.reject(BrowserConfigurationAuthError.createStubPcaInstanceCalledError());\n },\n acquireTokenRedirect: () => {\t\n return Promise.reject(BrowserConfigurationAuthError.createStubPcaInstanceCalledError());\t\n },\t\n acquireTokenSilent: () => {\t\n return Promise.reject(BrowserConfigurationAuthError.createStubPcaInstanceCalledError());\t\n },\n acquireTokenByCode: () => {\n return Promise.reject(BrowserConfigurationAuthError.createStubPcaInstanceCalledError());\n },\n getAllAccounts: () => {\n return [];\t\n },\t\n getAccountByHomeId: () => {\n return null;\n },\n getAccountByUsername: () => {\t\n return null;\t\n },\t\n getAccountByLocalId: () => {\n return null;\n },\n handleRedirectPromise: () => {\t\n return Promise.reject(BrowserConfigurationAuthError.createStubPcaInstanceCalledError());\t\n },\t\n loginPopup: () => {\t\n return Promise.reject(BrowserConfigurationAuthError.createStubPcaInstanceCalledError());\t\n },\t\n loginRedirect: () => {\t\n return Promise.reject(BrowserConfigurationAuthError.createStubPcaInstanceCalledError());\t\n },\t\n logout: () => {\t\n return Promise.reject(BrowserConfigurationAuthError.createStubPcaInstanceCalledError());\t\n },\t\n logoutRedirect: () => {\t\n return Promise.reject(BrowserConfigurationAuthError.createStubPcaInstanceCalledError());\t\n },\n logoutPopup: () => {\t\n return Promise.reject(BrowserConfigurationAuthError.createStubPcaInstanceCalledError());\t\n },\n ssoSilent: () => {\t\n return Promise.reject(BrowserConfigurationAuthError.createStubPcaInstanceCalledError());\t\n },\n addEventCallback: () => {\n return null;\n },\n removeEventCallback: () => {\n return;\n },\n enableAccountStorageEvents: () => {\n return;\n },\n disableAccountStorageEvents: () => {\n return;\n },\n getTokenCache: () => {\n throw BrowserConfigurationAuthError.createStubPcaInstanceCalledError();\n },\n getLogger: () => {\n throw BrowserConfigurationAuthError.createStubPcaInstanceCalledError();\n },\n setLogger: () => {\n return;\n },\n setActiveAccount: () => {\n return;\n },\n getActiveAccount: () => {\n return null;\n },\n initializeWrapperLibrary: () => {\n return;\n },\n setNavigationClient: () => {\n return;\n },\n getConfiguration: () => {\n throw BrowserConfigurationAuthError.createStubPcaInstanceCalledError();\n }\n};\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { StringUtils } from \"../utils/StringUtils\";\nimport { LoggerOptions } from \"../config/ClientConfiguration\";\nimport { Constants } from \"../utils/Constants\";\n\n/**\n * Options for logger messages.\n */\nexport type LoggerMessageOptions = {\n logLevel: LogLevel,\n containsPii?: boolean,\n context?: string,\n correlationId?: string\n};\n\n/**\n * Log message level.\n */\nexport enum LogLevel {\n Error,\n Warning,\n Info,\n Verbose,\n Trace\n}\n\n/**\n * Callback to send the messages to.\n */\nexport interface ILoggerCallback {\n (level: LogLevel, message: string, containsPii: boolean): void;\n}\n\n/**\n * Class which facilitates logging of messages to a specific place.\n */\nexport class Logger {\n\n // Correlation ID for request, usually set by user.\n private correlationId: string;\n\n // Current log level, defaults to info.\n private level: LogLevel = LogLevel.Info;\n\n // Boolean describing whether PII logging is allowed.\n private piiLoggingEnabled: boolean;\n\n // Callback to send messages to.\n private localCallback: ILoggerCallback;\n\n // Package name implementing this logger\n private packageName: string;\n\n // Package version implementing this logger\n private packageVersion: string;\n\n constructor(loggerOptions: LoggerOptions, packageName?: string, packageVersion?: string) {\n const defaultLoggerCallback = () => {\n return;\n };\n this.localCallback = loggerOptions.loggerCallback || defaultLoggerCallback;\n this.piiLoggingEnabled = loggerOptions.piiLoggingEnabled || false;\n this.level = typeof(loggerOptions.logLevel) === \"number\" ? loggerOptions.logLevel : LogLevel.Info;\n this.correlationId = loggerOptions.correlationId || Constants.EMPTY_STRING;\n\n this.packageName = packageName || Constants.EMPTY_STRING;\n this.packageVersion = packageVersion || Constants.EMPTY_STRING;\n }\n\n /**\n * Create new Logger with existing configurations.\n */\n public clone(packageName: string, packageVersion: string, correlationId?: string): Logger {\n return new Logger({loggerCallback: this.localCallback, piiLoggingEnabled: this.piiLoggingEnabled, logLevel: this.level, correlationId: correlationId || this.correlationId}, packageName, packageVersion);\n }\n\n /**\n * Log message with required options.\n */\n private logMessage(logMessage: string, options: LoggerMessageOptions): void {\n if ((options.logLevel > this.level) || (!this.piiLoggingEnabled && options.containsPii)) {\n return;\n }\n const timestamp = new Date().toUTCString();\n\n // Add correlationId to logs if set, correlationId provided on log messages take precedence\n let logHeader: string;\n if (!StringUtils.isEmpty(options.correlationId)) {\n logHeader = `[${timestamp}] : [${options.correlationId}]`;\n } else if (!StringUtils.isEmpty(this.correlationId)) {\n logHeader = `[${timestamp}] : [${this.correlationId}]`;\n } else {\n logHeader = `[${timestamp}]`;\n }\n\n const log = `${logHeader} : ${this.packageName}@${this.packageVersion} : ${LogLevel[options.logLevel]} - ${logMessage}`;\n // debug(`msal:${LogLevel[options.logLevel]}${options.containsPii ? \"-Pii\": Constants.EMPTY_STRING}${options.context ? `:${options.context}` : Constants.EMPTY_STRING}`)(logMessage);\n this.executeCallback(options.logLevel, log, options.containsPii || false);\n }\n\n /**\n * Execute callback with message.\n */\n executeCallback(level: LogLevel, message: string, containsPii: boolean): void {\n if (this.localCallback) {\n this.localCallback(level, message, containsPii);\n }\n }\n\n /**\n * Logs error messages.\n */\n error(message: string, correlationId?: string): void {\n this.logMessage(message, {\n logLevel: LogLevel.Error,\n containsPii: false,\n correlationId: correlationId || Constants.EMPTY_STRING\n });\n }\n\n /**\n * Logs error messages with PII.\n */\n errorPii(message: string, correlationId?: string): void {\n this.logMessage(message, {\n logLevel: LogLevel.Error,\n containsPii: true,\n correlationId: correlationId || Constants.EMPTY_STRING\n });\n }\n\n /**\n * Logs warning messages.\n */\n warning(message: string, correlationId?: string): void {\n this.logMessage(message, {\n logLevel: LogLevel.Warning,\n containsPii: false,\n correlationId: correlationId || Constants.EMPTY_STRING\n });\n }\n\n /**\n * Logs warning messages with PII.\n */\n warningPii(message: string, correlationId?: string): void {\n this.logMessage(message, {\n logLevel: LogLevel.Warning,\n containsPii: true,\n correlationId: correlationId || Constants.EMPTY_STRING\n });\n }\n\n /**\n * Logs info messages.\n */\n info(message: string, correlationId?: string): void {\n this.logMessage(message, {\n logLevel: LogLevel.Info,\n containsPii: false,\n correlationId: correlationId || Constants.EMPTY_STRING\n });\n }\n\n /**\n * Logs info messages with PII.\n */\n infoPii(message: string, correlationId?: string): void {\n this.logMessage(message, {\n logLevel: LogLevel.Info,\n containsPii: true,\n correlationId: correlationId || Constants.EMPTY_STRING\n });\n }\n\n /**\n * Logs verbose messages.\n */\n verbose(message: string, correlationId?: string): void {\n this.logMessage(message, {\n logLevel: LogLevel.Verbose,\n containsPii: false,\n correlationId: correlationId || Constants.EMPTY_STRING\n });\n }\n\n /**\n * Logs verbose messages with PII.\n */\n verbosePii(message: string, correlationId?: string): void {\n this.logMessage(message, {\n logLevel: LogLevel.Verbose,\n containsPii: true,\n correlationId: correlationId || Constants.EMPTY_STRING\n });\n }\n\n /**\n * Logs trace messages.\n */\n trace(message: string, correlationId?: string): void {\n this.logMessage(message, {\n logLevel: LogLevel.Trace,\n containsPii: false,\n correlationId: correlationId || Constants.EMPTY_STRING\n });\n }\n\n /**\n * Logs trace messages with PII.\n */\n tracePii(message: string, correlationId?: string): void {\n this.logMessage(message, {\n logLevel: LogLevel.Trace,\n containsPii: true,\n correlationId: correlationId || Constants.EMPTY_STRING\n });\n }\n\n /**\n * Returns whether PII Logging is enabled or not.\n */\n isPiiLoggingEnabled(): boolean {\n return this.piiLoggingEnabled || false;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AuthError } from \"./AuthError\";\n\n/**\n * ClientAuthErrorMessage class containing string constants used by error codes and messages.\n */\nexport const ClientAuthErrorMessage = {\n clientInfoDecodingError: {\n code: \"client_info_decoding_error\",\n desc: \"The client info could not be parsed/decoded correctly. Please review the trace to determine the root cause.\"\n },\n clientInfoEmptyError: {\n code: \"client_info_empty_error\",\n desc: \"The client info was empty. Please review the trace to determine the root cause.\"\n },\n tokenParsingError: {\n code: \"token_parsing_error\",\n desc: \"Token cannot be parsed. Please review stack trace to determine root cause.\"\n },\n nullOrEmptyToken: {\n code: \"null_or_empty_token\",\n desc: \"The token is null or empty. Please review the trace to determine the root cause.\"\n },\n endpointResolutionError: {\n code: \"endpoints_resolution_error\",\n desc: \"Error: could not resolve endpoints. Please check network and try again.\"\n },\n networkError: {\n code: \"network_error\",\n desc: \"Network request failed. Please check network trace to determine root cause.\"\n },\n unableToGetOpenidConfigError: {\n code: \"openid_config_error\",\n desc: \"Could not retrieve endpoints. Check your authority and verify the .well-known/openid-configuration endpoint returns the required endpoints.\"\n },\n hashNotDeserialized: {\n code: \"hash_not_deserialized\",\n desc: \"The hash parameters could not be deserialized. Please review the trace to determine the root cause.\"\n },\n blankGuidGenerated: {\n code: \"blank_guid_generated\",\n desc: \"The guid generated was blank. Please review the trace to determine the root cause.\"\n },\n invalidStateError: {\n code: \"invalid_state\",\n desc: \"State was not the expected format. Please check the logs to determine whether the request was sent using ProtocolUtils.setRequestState().\"\n },\n stateMismatchError: {\n code: \"state_mismatch\",\n desc: \"State mismatch error. Please check your network. Continued requests may cause cache overflow.\"\n },\n stateNotFoundError: {\n code: \"state_not_found\",\n desc: \"State not found\"\n },\n nonceMismatchError: {\n code: \"nonce_mismatch\",\n desc: \"Nonce mismatch error. This may be caused by a race condition in concurrent requests.\"\n },\n nonceNotFoundError: {\n code: \"nonce_not_found\",\n desc: \"nonce not found\"\n },\n noTokensFoundError: {\n code: \"no_tokens_found\",\n desc: \"No tokens were found for the given scopes, and no authorization code was passed to acquireToken. You must retrieve an authorization code before making a call to acquireToken().\"\n },\n multipleMatchingTokens: {\n code: \"multiple_matching_tokens\",\n desc: \"The cache contains multiple tokens satisfying the requirements. \" +\n \"Call AcquireToken again providing more requirements such as authority or account.\"\n },\n multipleMatchingAccounts: {\n code: \"multiple_matching_accounts\",\n desc: \"The cache contains multiple accounts satisfying the given parameters. Please pass more info to obtain the correct account\"\n },\n multipleMatchingAppMetadata: {\n code: \"multiple_matching_appMetadata\",\n desc: \"The cache contains multiple appMetadata satisfying the given parameters. Please pass more info to obtain the correct appMetadata\"\n },\n tokenRequestCannotBeMade: {\n code: \"request_cannot_be_made\",\n desc: \"Token request cannot be made without authorization code or refresh token.\"\n },\n appendEmptyScopeError: {\n code: \"cannot_append_empty_scope\",\n desc: \"Cannot append null or empty scope to ScopeSet. Please check the stack trace for more info.\"\n },\n removeEmptyScopeError: {\n code: \"cannot_remove_empty_scope\",\n desc: \"Cannot remove null or empty scope from ScopeSet. Please check the stack trace for more info.\"\n },\n appendScopeSetError: {\n code: \"cannot_append_scopeset\",\n desc: \"Cannot append ScopeSet due to error.\"\n },\n emptyInputScopeSetError: {\n code: \"empty_input_scopeset\",\n desc: \"Empty input ScopeSet cannot be processed.\"\n },\n DeviceCodePollingCancelled: {\n code: \"device_code_polling_cancelled\",\n desc: \"Caller has cancelled token endpoint polling during device code flow by setting DeviceCodeRequest.cancel = true.\"\n },\n DeviceCodeExpired: {\n code: \"device_code_expired\",\n desc: \"Device code is expired.\"\n },\n DeviceCodeUnknownError: {\n code: \"device_code_unknown_error\",\n desc: \"Device code stopped polling for unknown reasons.\"\n },\n NoAccountInSilentRequest: {\n code: \"no_account_in_silent_request\",\n desc: \"Please pass an account object, silent flow is not supported without account information\"\n },\n invalidCacheRecord: {\n code: \"invalid_cache_record\",\n desc: \"Cache record object was null or undefined.\"\n },\n invalidCacheEnvironment: {\n code: \"invalid_cache_environment\",\n desc: \"Invalid environment when attempting to create cache entry\"\n },\n noAccountFound: {\n code: \"no_account_found\",\n desc: \"No account found in cache for given key.\"\n },\n CachePluginError: {\n code: \"no cache plugin set on CacheManager\",\n desc: \"ICachePlugin needs to be set before using readFromStorage or writeFromStorage\"\n },\n noCryptoObj: {\n code: \"no_crypto_object\",\n desc: \"No crypto object detected. This is required for the following operation: \"\n },\n invalidCacheType: {\n code: \"invalid_cache_type\",\n desc: \"Invalid cache type\"\n },\n unexpectedAccountType: {\n code: \"unexpected_account_type\",\n desc: \"Unexpected account type.\"\n },\n unexpectedCredentialType: {\n code: \"unexpected_credential_type\",\n desc: \"Unexpected credential type.\"\n },\n invalidAssertion: {\n code: \"invalid_assertion\",\n desc: \"Client assertion must meet requirements described in https://tools.ietf.org/html/rfc7515\"\n },\n invalidClientCredential: {\n code: \"invalid_client_credential\",\n desc: \"Client credential (secret, certificate, or assertion) must not be empty when creating a confidential client. An application should at most have one credential\"\n },\n tokenRefreshRequired: {\n code: \"token_refresh_required\",\n desc: \"Cannot return token from cache because it must be refreshed. This may be due to one of the following reasons: forceRefresh parameter is set to true, claims have been requested, there is no cached access token or it is expired.\"\n },\n userTimeoutReached: {\n code: \"user_timeout_reached\",\n desc: \"User defined timeout for device code polling reached\",\n },\n tokenClaimsRequired: {\n code: \"token_claims_cnf_required_for_signedjwt\",\n desc: \"Cannot generate a POP jwt if the token_claims are not populated\"\n },\n noAuthorizationCodeFromServer: {\n code: \"authorization_code_missing_from_server_response\",\n desc: \"Server response does not contain an authorization code to proceed\"\n },\n noAzureRegionDetected: {\n code: \"no_azure_region_detected\",\n desc: \"No azure region was detected and no fallback was made available\"\n },\n accessTokenEntityNullError: {\n code: \"access_token_entity_null\",\n desc: \"Access token entity is null, please check logs and cache to ensure a valid access token is present.\"\n },\n bindingKeyNotRemovedError: {\n code: \"binding_key_not_removed\",\n desc: \"Could not remove the credential's binding key from storage.\"\n },\n logoutNotSupported: {\n code: \"end_session_endpoint_not_supported\",\n desc: \"Provided authority does not support logout.\"\n },\n keyIdMissing: {\n code: \"key_id_missing\",\n desc: \"A keyId value is missing from the requested bound token's cache record and is required to match the token to it's stored binding key.\"\n }\n};\n\n/**\n * Error thrown when there is an error in the client code running on the browser.\n */\nexport class ClientAuthError extends AuthError {\n\n constructor(errorCode: string, errorMessage?: string) {\n super(errorCode, errorMessage);\n this.name = \"ClientAuthError\";\n\n Object.setPrototypeOf(this, ClientAuthError.prototype);\n }\n\n /**\n * Creates an error thrown when client info object doesn't decode correctly.\n * @param caughtError\n */\n static createClientInfoDecodingError(caughtError: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.clientInfoDecodingError.code,\n `${ClientAuthErrorMessage.clientInfoDecodingError.desc} Failed with error: ${caughtError}`);\n }\n\n /**\n * Creates an error thrown if the client info is empty.\n * @param rawClientInfo\n */\n static createClientInfoEmptyError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.clientInfoEmptyError.code,\n `${ClientAuthErrorMessage.clientInfoEmptyError.desc}`);\n }\n\n /**\n * Creates an error thrown when the id token extraction errors out.\n * @param err\n */\n static createTokenParsingError(caughtExtractionError: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.tokenParsingError.code,\n `${ClientAuthErrorMessage.tokenParsingError.desc} Failed with error: ${caughtExtractionError}`);\n }\n\n /**\n * Creates an error thrown when the id token string is null or empty.\n * @param invalidRawTokenString\n */\n static createTokenNullOrEmptyError(invalidRawTokenString: string) : ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.nullOrEmptyToken.code,\n `${ClientAuthErrorMessage.nullOrEmptyToken.desc} Raw Token Value: ${invalidRawTokenString}`);\n }\n\n /**\n * Creates an error thrown when the endpoint discovery doesn't complete correctly.\n */\n static createEndpointDiscoveryIncompleteError(errDetail: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.endpointResolutionError.code,\n `${ClientAuthErrorMessage.endpointResolutionError.desc} Detail: ${errDetail}`);\n }\n\n /**\n * Creates an error thrown when the fetch client throws\n */\n static createNetworkError(endpoint: string, errDetail: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.networkError.code,\n `${ClientAuthErrorMessage.networkError.desc} | Fetch client threw: ${errDetail} | Attempted to reach: ${endpoint.split(\"?\")[0]}`);\n }\n\n /**\n * Creates an error thrown when the openid-configuration endpoint cannot be reached or does not contain the required data\n */\n static createUnableToGetOpenidConfigError(errDetail: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.unableToGetOpenidConfigError.code,\n `${ClientAuthErrorMessage.unableToGetOpenidConfigError.desc} Attempted to retrieve endpoints from: ${errDetail}`);\n }\n\n /**\n * Creates an error thrown when the hash cannot be deserialized.\n * @param hashParamObj\n */\n static createHashNotDeserializedError(hashParamObj: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.hashNotDeserialized.code,\n `${ClientAuthErrorMessage.hashNotDeserialized.desc} Given Object: ${hashParamObj}`);\n }\n\n /**\n * Creates an error thrown when the state cannot be parsed.\n * @param invalidState\n */\n static createInvalidStateError(invalidState: string, errorString?: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.invalidStateError.code,\n `${ClientAuthErrorMessage.invalidStateError.desc} Invalid State: ${invalidState}, Root Err: ${errorString}`);\n }\n\n /**\n * Creates an error thrown when two states do not match.\n */\n static createStateMismatchError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.stateMismatchError.code,\n ClientAuthErrorMessage.stateMismatchError.desc);\n }\n\n /**\n * Creates an error thrown when the state is not present\n * @param missingState\n */\n static createStateNotFoundError(missingState: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.stateNotFoundError.code,\n `${ClientAuthErrorMessage.stateNotFoundError.desc}: ${missingState}`);\n }\n\n /**\n * Creates an error thrown when the nonce does not match.\n */\n static createNonceMismatchError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.nonceMismatchError.code,\n ClientAuthErrorMessage.nonceMismatchError.desc);\n }\n\n /**\n * Creates an error thrown when the mnonce is not present\n * @param missingNonce\n */\n static createNonceNotFoundError(missingNonce: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.nonceNotFoundError.code,\n `${ClientAuthErrorMessage.nonceNotFoundError.desc}: ${missingNonce}`);\n }\n\n /**\n * Throws error when multiple tokens are in cache.\n */\n static createMultipleMatchingTokensInCacheError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.multipleMatchingTokens.code,\n `${ClientAuthErrorMessage.multipleMatchingTokens.desc}.`);\n }\n\n /**\n * Throws error when multiple accounts are in cache for the given params\n */\n static createMultipleMatchingAccountsInCacheError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.multipleMatchingAccounts.code,\n ClientAuthErrorMessage.multipleMatchingAccounts.desc);\n }\n\n /**\n * Throws error when multiple appMetada are in cache for the given clientId.\n */\n static createMultipleMatchingAppMetadataInCacheError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.multipleMatchingAppMetadata.code,\n ClientAuthErrorMessage.multipleMatchingAppMetadata.desc);\n }\n\n /**\n * Throws error when no auth code or refresh token is given to ServerTokenRequestParameters.\n */\n static createTokenRequestCannotBeMadeError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.tokenRequestCannotBeMade.code, ClientAuthErrorMessage.tokenRequestCannotBeMade.desc);\n }\n\n /**\n * Throws error when attempting to append a null, undefined or empty scope to a set\n * @param givenScope\n */\n static createAppendEmptyScopeToSetError(givenScope: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.appendEmptyScopeError.code, `${ClientAuthErrorMessage.appendEmptyScopeError.desc} Given Scope: ${givenScope}`);\n }\n\n /**\n * Throws error when attempting to append a null, undefined or empty scope to a set\n * @param givenScope\n */\n static createRemoveEmptyScopeFromSetError(givenScope: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.removeEmptyScopeError.code, `${ClientAuthErrorMessage.removeEmptyScopeError.desc} Given Scope: ${givenScope}`);\n }\n\n /**\n * Throws error when attempting to append null or empty ScopeSet.\n * @param appendError\n */\n static createAppendScopeSetError(appendError: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.appendScopeSetError.code, `${ClientAuthErrorMessage.appendScopeSetError.desc} Detail Error: ${appendError}`);\n }\n\n /**\n * Throws error if ScopeSet is null or undefined.\n * @param givenScopeSet\n */\n static createEmptyInputScopeSetError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.emptyInputScopeSetError.code, `${ClientAuthErrorMessage.emptyInputScopeSetError.desc}`);\n }\n\n /**\n * Throws error if user sets CancellationToken.cancel = true during polling of token endpoint during device code flow\n */\n static createDeviceCodeCancelledError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.DeviceCodePollingCancelled.code, `${ClientAuthErrorMessage.DeviceCodePollingCancelled.desc}`);\n }\n\n /**\n * Throws error if device code is expired\n */\n static createDeviceCodeExpiredError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.DeviceCodeExpired.code, `${ClientAuthErrorMessage.DeviceCodeExpired.desc}`);\n }\n\n /**\n * Throws error if device code is expired\n */\n static createDeviceCodeUnknownError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.DeviceCodeUnknownError.code, `${ClientAuthErrorMessage.DeviceCodeUnknownError.desc}`);\n }\n\n /**\n * Throws error when silent requests are made without an account object\n */\n static createNoAccountInSilentRequestError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.NoAccountInSilentRequest.code, `${ClientAuthErrorMessage.NoAccountInSilentRequest.desc}`);\n }\n\n /**\n * Throws error when cache record is null or undefined.\n */\n static createNullOrUndefinedCacheRecord(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.invalidCacheRecord.code, ClientAuthErrorMessage.invalidCacheRecord.desc);\n }\n\n /**\n * Throws error when provided environment is not part of the CloudDiscoveryMetadata object\n */\n static createInvalidCacheEnvironmentError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.invalidCacheEnvironment.code, ClientAuthErrorMessage.invalidCacheEnvironment.desc);\n }\n\n /**\n * Throws error when account is not found in cache.\n */\n static createNoAccountFoundError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.noAccountFound.code, ClientAuthErrorMessage.noAccountFound.desc);\n }\n\n /**\n * Throws error if ICachePlugin not set on CacheManager.\n */\n static createCachePluginError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.CachePluginError.code, `${ClientAuthErrorMessage.CachePluginError.desc}`);\n }\n\n /**\n * Throws error if crypto object not found.\n * @param operationName\n */\n static createNoCryptoObjectError(operationName: string): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.noCryptoObj.code, `${ClientAuthErrorMessage.noCryptoObj.desc}${operationName}`);\n }\n\n /**\n * Throws error if cache type is invalid.\n */\n static createInvalidCacheTypeError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.invalidCacheType.code, `${ClientAuthErrorMessage.invalidCacheType.desc}`);\n }\n\n /**\n * Throws error if unexpected account type.\n */\n static createUnexpectedAccountTypeError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.unexpectedAccountType.code, `${ClientAuthErrorMessage.unexpectedAccountType.desc}`);\n }\n\n /**\n * Throws error if unexpected credential type.\n */\n static createUnexpectedCredentialTypeError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.unexpectedCredentialType.code, `${ClientAuthErrorMessage.unexpectedCredentialType.desc}`);\n }\n\n /**\n * Throws error if client assertion is not valid.\n */\n static createInvalidAssertionError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.invalidAssertion.code, `${ClientAuthErrorMessage.invalidAssertion.desc}`);\n }\n\n /**\n * Throws error if client assertion is not valid.\n */\n static createInvalidCredentialError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.invalidClientCredential.code, `${ClientAuthErrorMessage.invalidClientCredential.desc}`);\n }\n\n /**\n * Throws error if token cannot be retrieved from cache due to refresh being required.\n */\n static createRefreshRequiredError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.tokenRefreshRequired.code, ClientAuthErrorMessage.tokenRefreshRequired.desc);\n }\n\n /**\n * Throws error if the user defined timeout is reached.\n */\n static createUserTimeoutReachedError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.userTimeoutReached.code, ClientAuthErrorMessage.userTimeoutReached.desc);\n }\n\n /*\n * Throws error if token claims are not populated for a signed jwt generation\n */\n static createTokenClaimsRequiredError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.tokenClaimsRequired.code, ClientAuthErrorMessage.tokenClaimsRequired.desc);\n }\n\n /**\n * Throws error when the authorization code is missing from the server response\n */\n static createNoAuthCodeInServerResponseError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.noAuthorizationCodeFromServer.code, ClientAuthErrorMessage.noAuthorizationCodeFromServer.desc);\n }\n\n static createBindingKeyNotRemovedError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.bindingKeyNotRemovedError.code, ClientAuthErrorMessage.bindingKeyNotRemovedError.desc);\n }\n\n /**\n * Thrown when logout is attempted for an authority that doesnt have an end_session_endpoint\n */\n static createLogoutNotSupportedError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.logoutNotSupported.code, ClientAuthErrorMessage.logoutNotSupported.desc);\n }\n\n /**\n * Create an error when kid attribute is missing from a PoP token's cache record\n */\n static createKeyIdMissingError(): ClientAuthError {\n return new ClientAuthError(ClientAuthErrorMessage.keyIdMissing.code, ClientAuthErrorMessage.keyIdMissing.desc);\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { DecodedAuthToken } from \"../account/DecodedAuthToken\";\nimport { ClientAuthError } from \"../error/ClientAuthError\";\n\n/**\n * @hidden\n */\nexport class StringUtils {\n\n /**\n * decode a JWT\n *\n * @param authToken\n */\n static decodeAuthToken(authToken: string): DecodedAuthToken {\n if (StringUtils.isEmpty(authToken)) {\n throw ClientAuthError.createTokenNullOrEmptyError(authToken);\n }\n const tokenPartsRegex = /^([^\\.\\s]*)\\.([^\\.\\s]+)\\.([^\\.\\s]*)$/;\n const matches = tokenPartsRegex.exec(authToken);\n if (!matches || matches.length < 4) {\n throw ClientAuthError.createTokenParsingError(`Given token is malformed: ${JSON.stringify(authToken)}`);\n }\n const crackedToken: DecodedAuthToken = {\n header: matches[1],\n JWSPayload: matches[2],\n JWSSig: matches[3]\n };\n return crackedToken;\n }\n\n /**\n * Check if a string is empty.\n *\n * @param str\n */\n static isEmpty(str?: string): boolean {\n return (typeof str === \"undefined\" || !str || 0 === str.length);\n }\n\n /**\n * Check if stringified object is empty\n * @param strObj \n */\n static isEmptyObj(strObj?: string): boolean {\n if (strObj && !StringUtils.isEmpty(strObj)) {\n try {\n const obj = JSON.parse(strObj);\n return Object.keys(obj).length === 0;\n } catch (e) {}\n }\n return true;\n }\n\n static startsWith(str: string, search: string): boolean {\n return str.indexOf(search) === 0;\n }\n\n static endsWith(str: string, search: string): boolean {\n return (str.length >= search.length) && (str.lastIndexOf(search) === (str.length - search.length));\n }\n\n /**\n * Parses string into an object.\n *\n * @param query\n */\n static queryStringToObject(query: string): T {\n const obj: {} = {};\n const params = query.split(\"&\");\n const decode = (s: string) => decodeURIComponent(s.replace(/\\+/g, \" \"));\n params.forEach((pair) => {\n if (pair.trim()) {\n const [key, value] = pair.split(/=(.+)/g, 2); // Split on the first occurence of the '=' character\n if (key && value) {\n obj[decode(key)] = decode(value);\n }\n }\n });\n return obj as T;\n }\n\n /**\n * Trims entries in an array.\n *\n * @param arr\n */\n static trimArrayEntries(arr: Array): Array {\n return arr.map(entry => entry.trim());\n }\n\n /**\n * Removes empty strings from array\n * @param arr\n */\n static removeEmptyStringsFromArray(arr: Array): Array {\n return arr.filter(entry => {\n return !StringUtils.isEmpty(entry);\n });\n }\n\n /**\n * Attempts to parse a string into JSON\n * @param str\n */\n static jsonParseHelper(str: string): T | null {\n try {\n return JSON.parse(str) as T;\n } catch (e) {\n return null;\n }\n }\n\n /**\n * Tests if a given string matches a given pattern, with support for wildcards and queries.\n * @param pattern Wildcard pattern to string match. Supports \"*\" for wildcards and \"?\" for queries\n * @param input String to match against\n */\n static matchPattern(pattern: string, input: string): boolean {\n /**\n * Wildcard support: https://stackoverflow.com/a/3117248/4888559\n * Queries: replaces \"?\" in string with escaped \"\\?\" for regex test\n */\n const regex: RegExp = new RegExp(pattern.replace(/\\\\/g, \"\\\\\\\\\").replace(/\\*/g, \"[^ ]*\").replace(/\\?/g, \"\\\\\\?\")); // eslint-disable-line security/detect-non-literal-regexp\n\n return regex.test(input);\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport enum EventType {\n ACCOUNT_ADDED = \"msal:accountAdded\",\n ACCOUNT_REMOVED = \"msal:accountRemoved\",\n LOGIN_START = \"msal:loginStart\",\n LOGIN_SUCCESS = \"msal:loginSuccess\",\n LOGIN_FAILURE = \"msal:loginFailure\",\n ACQUIRE_TOKEN_START = \"msal:acquireTokenStart\",\n ACQUIRE_TOKEN_SUCCESS = \"msal:acquireTokenSuccess\",\n ACQUIRE_TOKEN_FAILURE = \"msal:acquireTokenFailure\",\n ACQUIRE_TOKEN_NETWORK_START = \"msal:acquireTokenFromNetworkStart\",\n SSO_SILENT_START = \"msal:ssoSilentStart\",\n SSO_SILENT_SUCCESS = \"msal:ssoSilentSuccess\",\n SSO_SILENT_FAILURE = \"msal:ssoSilentFailure\",\n ACQUIRE_TOKEN_BY_CODE_START = \"msal:acquireTokenByCodeStart\",\n ACQUIRE_TOKEN_BY_CODE_SUCCESS = \"msal:acquireTokenByCodeSuccess\",\n ACQUIRE_TOKEN_BY_CODE_FAILURE = \"msal:acquireTokenByCodeFailure\",\n HANDLE_REDIRECT_START = \"msal:handleRedirectStart\",\n HANDLE_REDIRECT_END = \"msal:handleRedirectEnd\",\n POPUP_OPENED = \"msal:popupOpened\",\n LOGOUT_START = \"msal:logoutStart\",\n LOGOUT_SUCCESS = \"msal:logoutSuccess\",\n LOGOUT_FAILURE = \"msal:logoutFailure\",\n LOGOUT_END = \"msal:logoutEnd\"\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AuthenticationResult, AuthError, AccountInfo } from \"@azure/msal-common\";\nimport { EventType } from \"./EventType\";\nimport { InteractionStatus, InteractionType } from \"../utils/BrowserConstants\";\nimport { PopupRequest, RedirectRequest, SilentRequest, SsoSilentRequest, EndSessionRequest } from \"..\";\n\nexport type EventMessage = {\n eventType: EventType;\n interactionType: InteractionType | null;\n payload: EventPayload;\n error: EventError;\n timestamp: number;\n};\n\nexport type PopupEvent = {\n popupWindow: Window;\n};\n\nexport type EventPayload = AccountInfo | PopupRequest | RedirectRequest | SilentRequest | SsoSilentRequest | EndSessionRequest | AuthenticationResult | PopupEvent | null;\n\nexport type EventError = AuthError | Error | null;\n\nexport type EventCallbackFunction = (message: EventMessage) => void;\n\nexport class EventMessageUtils {\n\n /**\n * Gets interaction status from event message\n * @param message\n * @param currentStatus\n */\n static getInteractionStatusFromEvent(message: EventMessage, currentStatus?: InteractionStatus): InteractionStatus|null {\n switch (message.eventType) {\n case EventType.LOGIN_START:\n return InteractionStatus.Login;\n case EventType.SSO_SILENT_START:\n return InteractionStatus.SsoSilent;\n case EventType.ACQUIRE_TOKEN_START:\n if (message.interactionType === InteractionType.Redirect || message.interactionType === InteractionType.Popup) {\n return InteractionStatus.AcquireToken;\n }\n break;\n case EventType.HANDLE_REDIRECT_START:\n return InteractionStatus.HandleRedirect;\n case EventType.LOGOUT_START:\n return InteractionStatus.Logout;\n case EventType.SSO_SILENT_SUCCESS:\n case EventType.SSO_SILENT_FAILURE:\n if (currentStatus && currentStatus !== InteractionStatus.SsoSilent) {\n // Prevent this event from clearing any status other than ssoSilent\n break;\n }\n return InteractionStatus.None;\n case EventType.LOGOUT_END:\n if (currentStatus && currentStatus !== InteractionStatus.Logout) {\n // Prevent this event from clearing any status other than logout\n break;\n }\n return InteractionStatus.None;\n case EventType.HANDLE_REDIRECT_END:\n if (currentStatus && currentStatus !== InteractionStatus.HandleRedirect) {\n // Prevent this event from clearing any status other than handleRedirect\n break;\n }\n return InteractionStatus.None;\n case EventType.LOGIN_SUCCESS:\n case EventType.LOGIN_FAILURE:\n case EventType.ACQUIRE_TOKEN_SUCCESS:\n case EventType.ACQUIRE_TOKEN_FAILURE:\n if (message.interactionType === InteractionType.Redirect || message.interactionType === InteractionType.Popup) {\n if (currentStatus && currentStatus !== InteractionStatus.Login && currentStatus !== InteractionStatus.AcquireToken) {\n // Prevent this event from clearing any status other than login or acquireToken\n break;\n }\n return InteractionStatus.None;\n }\n break;\n default:\n break;\n }\n return null;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport * as React from \"react\";\nimport { IPublicClientApplication, stubbedPublicClientApplication, Logger, InteractionStatus, AccountInfo } from \"@azure/msal-browser\";\n\nexport interface IMsalContext {\n instance: IPublicClientApplication;\n inProgress: InteractionStatus;\n accounts: AccountInfo[];\n logger: Logger;\n}\n\n/*\n * Stubbed context implementation\n * Only used when there is no provider, which is an unsupported scenario\n */\nconst defaultMsalContext: IMsalContext = {\n instance: stubbedPublicClientApplication,\n inProgress: InteractionStatus.None,\n accounts: [],\n logger: new Logger({})\n};\n\nexport const MsalContext = React.createContext(\n defaultMsalContext\n);\nexport const MsalConsumer = MsalContext.Consumer;\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AccountIdentifiers } from \"../types/AccountIdentifiers\";\nimport { AccountInfo } from \"@azure/msal-browser\";\n\ntype FaaCFunction = (args: T) => React.ReactNode;\n\nexport function getChildrenOrFunction(\n children: React.ReactNode | FaaCFunction,\n args: T\n): React.ReactNode {\n if (typeof children === \"function\") {\n return children(args);\n }\n return children;\n}\n\n/*\n * Utility types\n * Reference: https://github.com/piotrwitek/utility-types\n */\ntype SetDifference = A extends B ? never : A;\ntype SetComplement = SetDifference;\nexport type Subtract = Pick>;\n\n/**\n * Helper function to determine whether 2 arrays are equal\n * Used to avoid unnecessary state updates\n * @param arrayA \n * @param arrayB \n */\nexport function accountArraysAreEqual(arrayA: Array, arrayB: Array): boolean {\n if (arrayA.length !== arrayB.length) {\n return false;\n }\n\n const comparisonArray = [...arrayB];\n\n return arrayA.every((elementA) => {\n const elementB = comparisonArray.shift();\n if (!elementA || !elementB) {\n return false;\n }\n\n return (elementA.homeAccountId === elementB.homeAccountId) && \n (elementA.localAccountId === elementB.localAccountId) &&\n (elementA.username === elementB.username);\n });\n}\n\nexport function getAccountByIdentifiers(allAccounts: AccountInfo[], accountIdentifiers: AccountIdentifiers): AccountInfo | null {\n if (allAccounts.length > 0 && (accountIdentifiers.homeAccountId || accountIdentifiers.localAccountId || accountIdentifiers.username)) {\n const matchedAccounts = allAccounts.filter(accountObj => {\n if (accountIdentifiers.username && accountIdentifiers.username.toLowerCase() !== accountObj.username.toLowerCase()) {\n return false;\n }\n if (accountIdentifiers.homeAccountId && accountIdentifiers.homeAccountId.toLowerCase() !== accountObj.homeAccountId.toLowerCase()) {\n return false;\n }\n if (accountIdentifiers.localAccountId && accountIdentifiers.localAccountId.toLowerCase() !== accountObj.localAccountId.toLowerCase()) {\n return false;\n }\n\n return true;\n });\n\n return matchedAccounts[0] || null;\n } else {\n return null;\n }\n}\n","/* eslint-disable header/header */\nexport const name = \"@azure/msal-react\";\nexport const version = \"1.3.1\";\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport React, { useEffect, useReducer, PropsWithChildren, useMemo} from \"react\";\nimport {\n IPublicClientApplication,\n EventMessage,\n EventMessageUtils,\n InteractionStatus,\n Logger,\n WrapperSKU,\n AccountInfo\n} from \"@azure/msal-browser\";\nimport { MsalContext, IMsalContext } from \"./MsalContext\";\nimport { accountArraysAreEqual } from \"./utils/utilities\";\nimport { name as SKU, version } from \"./packageMetadata\";\n\nexport type MsalProviderProps = PropsWithChildren<{\n instance: IPublicClientApplication;\n}>;\n\ntype MsalState = {\n inProgress: InteractionStatus;\n accounts: AccountInfo[];\n};\n\nenum MsalProviderActionType {\n UNBLOCK_INPROGRESS = \"UNBLOCK_INPROGRESS\",\n EVENT = \"EVENT\"\n}\n\ntype MsalProviderReducerAction = {\n type: MsalProviderActionType,\n payload: {\n logger: Logger;\n instance: IPublicClientApplication;\n message?: EventMessage;\n };\n};\n\n/**\n * Returns the next inProgress and accounts state based on event message\n * @param previousState \n * @param action \n */\nconst reducer = (previousState: MsalState, action: MsalProviderReducerAction): MsalState => {\n const { type, payload } = action;\n let newAccounts = previousState.accounts;\n let newInProgress = previousState.inProgress;\n\n switch (type) {\n case MsalProviderActionType.UNBLOCK_INPROGRESS:\n if (previousState.inProgress === InteractionStatus.Startup){\n newInProgress = InteractionStatus.None;\n payload.logger.info(\"MsalProvider - handleRedirectPromise resolved, setting inProgress to 'none'\");\n }\n break;\n case MsalProviderActionType.EVENT:\n const message = payload.message as EventMessage;\n const status = EventMessageUtils.getInteractionStatusFromEvent(message, previousState.inProgress);\n if (status) {\n payload.logger.info(`MsalProvider - ${message.eventType} results in setting inProgress from ${previousState.inProgress} to ${status}`);\n newInProgress = status;\n }\n break;\n default:\n throw new Error(`Unknown action type: ${type}`);\n }\n\n const currentAccounts = payload.instance.getAllAccounts();\n if (!accountArraysAreEqual(currentAccounts, previousState.accounts)) {\n payload.logger.info(\"MsalProvider - updating account state\");\n newAccounts = currentAccounts;\n } else {\n payload.logger.verbose(\"MsalProvider - no account changes\");\n }\n\n return {\n ...previousState,\n inProgress: newInProgress,\n accounts: newAccounts\n };\n};\n\n/**\n * MSAL context provider component. This must be rendered above any other components that use MSAL.\n */\nexport function MsalProvider({instance, children}: MsalProviderProps): React.ReactElement {\n useEffect(() => {\n instance.initializeWrapperLibrary(WrapperSKU.React, version);\n }, [instance]);\n // Create a logger instance for msal-react with the same options as PublicClientApplication\n const logger = useMemo(() => {\n return instance.getLogger().clone(SKU, version);\n }, [instance]);\n\n const [state, updateState] = useReducer(reducer, undefined, () => {\n // Lazy initialization of the initial state\n return {\n inProgress: InteractionStatus.Startup,\n accounts: instance.getAllAccounts()\n };\n });\n \n useEffect(() => {\n const callbackId = instance.addEventCallback((message: EventMessage) => {\n updateState({\n payload: {\n instance,\n logger,\n message\n }, \n type: MsalProviderActionType.EVENT\n });\n });\n logger.verbose(`MsalProvider - Registered event callback with id: ${callbackId}`);\n\n instance.handleRedirectPromise().catch(() => {\n // Errors should be handled by listening to the LOGIN_FAILURE event\n return;\n }).finally(() => {\n /*\n * If handleRedirectPromise returns a cached promise the necessary events may not be fired\n * This is a fallback to prevent inProgress from getting stuck in 'startup'\n */\n updateState({\n payload: {\n instance,\n logger\n },\n type: MsalProviderActionType.UNBLOCK_INPROGRESS \n });\n });\n\n return () => {\n // Remove callback when component unmounts or accounts change\n if (callbackId) {\n logger.verbose(`MsalProvider - Removing event callback ${callbackId}`);\n instance.removeEventCallback(callbackId);\n }\n };\n }, [instance, logger]);\n\n const contextValue: IMsalContext = {\n instance,\n inProgress: state.inProgress,\n accounts: state.accounts,\n logger\n };\n\n return (\n \n {children}\n \n );\n}\n\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { useContext } from \"react\";\nimport { IMsalContext, MsalContext } from \"../MsalContext\";\n\n/**\n * Returns Msal Context values\n */\nexport const useMsal = (): IMsalContext => useContext(MsalContext);\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { useState, useEffect } from \"react\";\nimport { useMsal } from \"./useMsal\";\nimport { AccountIdentifiers } from \"../types/AccountIdentifiers\";\nimport { AccountInfo } from \"@azure/msal-browser\";\nimport { getAccountByIdentifiers } from \"../utils/utilities\";\n\nfunction isAuthenticated(allAccounts: AccountInfo[], matchAccount?: AccountIdentifiers): boolean {\n if(matchAccount && (matchAccount.username || matchAccount.homeAccountId || matchAccount.localAccountId)) {\n return !!getAccountByIdentifiers(allAccounts, matchAccount);\n } \n\n return allAccounts.length > 0;\n}\n\n/**\n * Returns whether or not a user is currently signed-in. Optionally provide 1 or more accountIdentifiers to determine if a specific user is signed-in\n * @param matchAccount \n */\nexport function useIsAuthenticated(matchAccount?: AccountIdentifiers): boolean {\n const { accounts: allAccounts } = useMsal();\n\n const [hasAuthenticated, setHasAuthenticated] = useState(() => isAuthenticated(allAccounts, matchAccount));\n\n useEffect(() => {\n setHasAuthenticated(isAuthenticated(allAccounts, matchAccount));\n }, [allAccounts, matchAccount]);\n\n return hasAuthenticated;\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport React, { PropsWithChildren, useMemo } from \"react\";\nimport { AccountIdentifiers } from \"../types/AccountIdentifiers\";\nimport { getChildrenOrFunction } from \"../utils/utilities\";\nimport { useMsal } from \"../hooks/useMsal\";\nimport { useIsAuthenticated } from \"../hooks/useIsAuthenticated\";\nimport { InteractionStatus } from \"@azure/msal-browser\";\n\nexport type AuthenticatedTemplateProps = PropsWithChildren;\n\n/**\n * Renders child components if user is authenticated\n * @param props \n */\nexport function AuthenticatedTemplate({ username, homeAccountId, localAccountId, children }: AuthenticatedTemplateProps): React.ReactElement|null {\n const context = useMsal();\n const accountIdentifier: AccountIdentifiers = useMemo(() => {\n return {\n username,\n homeAccountId,\n localAccountId\n };\n }, [username, homeAccountId, localAccountId]);\n const isAuthenticated = useIsAuthenticated(accountIdentifier);\n\n if (isAuthenticated && context.inProgress !== InteractionStatus.Startup) {\n return (\n \n {getChildrenOrFunction(children, context)}\n \n );\n }\n return null;\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport React, { PropsWithChildren, useMemo } from \"react\";\nimport { useMsal } from \"../hooks/useMsal\";\nimport { useIsAuthenticated } from \"../hooks/useIsAuthenticated\";\nimport { getChildrenOrFunction } from \"../utils/utilities\";\nimport { AccountIdentifiers } from \"../types/AccountIdentifiers\";\nimport { InteractionStatus } from \"@azure/msal-browser\";\n\nexport type UnauthenticatedTemplateProps = PropsWithChildren;\n\n/**\n * Renders child components if user is unauthenticated\n * @param props \n */\nexport function UnauthenticatedTemplate({ username, homeAccountId, localAccountId, children }: UnauthenticatedTemplateProps): React.ReactElement|null {\n const context = useMsal();\n const accountIdentifier: AccountIdentifiers = useMemo(() => {\n return {\n username,\n homeAccountId,\n localAccountId\n };\n }, [username, homeAccountId, localAccountId]);\n const isAuthenticated = useIsAuthenticated(accountIdentifier);\n\n if (!isAuthenticated && context.inProgress !== InteractionStatus.Startup && context.inProgress !== InteractionStatus.HandleRedirect) {\n return (\n \n {getChildrenOrFunction(children, context)}\n \n );\n }\n return null;\n}\n","import * as React from 'react';\nexport var ManagerReferenceNodeContext = React.createContext();\nexport var ManagerReferenceNodeSetterContext = React.createContext();\nexport function Manager(_ref) {\n var children = _ref.children;\n\n var _React$useState = React.useState(null),\n referenceNode = _React$useState[0],\n setReferenceNode = _React$useState[1];\n\n var hasUnmounted = React.useRef(false);\n React.useEffect(function () {\n return function () {\n hasUnmounted.current = true;\n };\n }, []);\n var handleSetReferenceNode = React.useCallback(function (node) {\n if (!hasUnmounted.current) {\n setReferenceNode(node);\n }\n }, []);\n return /*#__PURE__*/React.createElement(ManagerReferenceNodeContext.Provider, {\n value: referenceNode\n }, /*#__PURE__*/React.createElement(ManagerReferenceNodeSetterContext.Provider, {\n value: handleSetReferenceNode\n }, children));\n}","import * as React from 'react';\n\n/**\n * Takes an argument and if it's an array, returns the first item in the array,\n * otherwise returns the argument. Used for Preact compatibility.\n */\nexport var unwrapArray = function unwrapArray(arg) {\n return Array.isArray(arg) ? arg[0] : arg;\n};\n/**\n * Takes a maybe-undefined function and arbitrary args and invokes the function\n * only if it is defined.\n */\n\nexport var safeInvoke = function safeInvoke(fn) {\n if (typeof fn === 'function') {\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 return fn.apply(void 0, args);\n }\n};\n/**\n * Sets a ref using either a ref callback or a ref object\n */\n\nexport var setRef = function setRef(ref, node) {\n // if its a function call it\n if (typeof ref === 'function') {\n return safeInvoke(ref, node);\n } // otherwise we should treat it as a ref object\n else if (ref != null) {\n ref.current = node;\n }\n};\n/**\n * Simple ponyfill for Object.fromEntries\n */\n\nexport var fromEntries = function fromEntries(entries) {\n return entries.reduce(function (acc, _ref) {\n var key = _ref[0],\n value = _ref[1];\n acc[key] = value;\n return acc;\n }, {});\n};\n/**\n * Small wrapper around `useLayoutEffect` to get rid of the warning on SSR envs\n */\n\nexport var useIsomorphicLayoutEffect = typeof window !== 'undefined' && window.document && window.document.createElement ? React.useLayoutEffect : React.useEffect;","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","import { isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nexport default function getBoundingClientRect(element, includeScale) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n var rect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (isHTMLElement(element) && includeScale) {\n var offsetHeight = element.offsetHeight;\n var offsetWidth = element.offsetWidth; // Do not attempt to divide by 0, otherwise we get `Infinity` as scale\n // Fallback to 1 in case both values are `0`\n\n if (offsetWidth > 0) {\n scaleX = round(rect.width) / offsetWidth || 1;\n }\n\n if (offsetHeight > 0) {\n scaleY = round(rect.height) / offsetHeight || 1;\n }\n }\n\n return {\n width: rect.width / scaleX,\n height: rect.height / scaleY,\n top: rect.top / scaleY,\n right: rect.right / scaleX,\n bottom: rect.bottom / scaleY,\n left: rect.left / scaleX,\n x: rect.left / scaleX,\n y: rect.top / scaleY\n };\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = round(rect.width) / element.offsetWidth || 1;\n var scaleY = round(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') !== -1;\n var isIE = navigator.userAgent.indexOf('Trident') !== -1;\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport getComputedStyle from \"./dom-utils/getComputedStyle.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport validateModifiers from \"./utils/validateModifiers.js\";\nimport uniqueBy from \"./utils/uniqueBy.js\";\nimport getBasePlacement from \"./utils/getBasePlacement.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nimport { auto } from \"./enums.js\";\nvar INVALID_ELEMENT_ERROR = 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.';\nvar INFINITE_LOOP_ERROR = 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.';\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n }); // Validate the provided modifiers so that the consumer will get warned\n // if one of the modifiers is invalid for any reason\n\n if (process.env.NODE_ENV !== \"production\") {\n var modifiers = uniqueBy([].concat(orderedModifiers, state.options.modifiers), function (_ref) {\n var name = _ref.name;\n return name;\n });\n validateModifiers(modifiers);\n\n if (getBasePlacement(state.options.placement) === auto) {\n var flipModifier = state.orderedModifiers.find(function (_ref2) {\n var name = _ref2.name;\n return name === 'flip';\n });\n\n if (!flipModifier) {\n console.error(['Popper: \"auto\" placements require the \"flip\" modifier be', 'present and enabled to work.'].join(' '));\n }\n }\n\n var _getComputedStyle = getComputedStyle(popper),\n marginTop = _getComputedStyle.marginTop,\n marginRight = _getComputedStyle.marginRight,\n marginBottom = _getComputedStyle.marginBottom,\n marginLeft = _getComputedStyle.marginLeft; // We no longer take into account `margins` on the popper, and it can\n // cause bugs with positioning, so we'll warn the consumer\n\n\n if ([marginTop, marginRight, marginBottom, marginLeft].some(function (margin) {\n return parseFloat(margin);\n })) {\n console.warn(['Popper: CSS \"margin\" styles cannot be used to apply padding', 'between the popper and its reference element or boundary.', 'To replicate margin, use the `offset` modifier, as well as', 'the `padding` option in the `preventOverflow` and `flip`', 'modifiers.'].join(' '));\n }\n }\n\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(INVALID_ELEMENT_ERROR);\n }\n\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n var __debug_loops__ = 0;\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (process.env.NODE_ENV !== \"production\") {\n __debug_loops__ += 1;\n\n if (__debug_loops__ > 100) {\n console.error(INFINITE_LOOP_ERROR);\n break;\n }\n }\n\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(INVALID_ELEMENT_ERROR);\n }\n\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref3) {\n var name = _ref3.name,\n _ref3$options = _ref3.options,\n options = _ref3$options === void 0 ? {} : _ref3$options,\n effect = _ref3.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref) {\n var x = _ref.x,\n y = _ref.y;\n var win = window;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(x * dpr) / dpr || 0,\n y: round(y * dpr) / dpr || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets,\n isFixed = _ref2.isFixed;\n var _offsets$x = offsets.x,\n x = _offsets$x === void 0 ? 0 : _offsets$x,\n _offsets$y = offsets.y,\n y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref3.x;\n y = _ref3.y;\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom;\n var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right;\n var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref4.x;\n y = _ref4.y;\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n var state = _ref5.state,\n options = _ref5.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n\n if (process.env.NODE_ENV !== \"production\") {\n var transitionProperty = getComputedStyle(state.elements.popper).transitionProperty || '';\n\n if (adaptive && ['transform', 'top', 'right', 'bottom', 'left'].some(function (property) {\n return transitionProperty.indexOf(property) >= 0;\n })) {\n console.warn(['Popper: Detected CSS transitions on at least one of the following', 'CSS properties: \"transform\", \"top\", \"right\", \"bottom\", \"left\".', '\\n\\n', 'Disable the \"computeStyles\" modifier\\'s `adaptive` option to allow', 'for smooth transitions, or remove these properties from the CSS', 'transition declaration on the popper element if only transitioning', 'opacity or background-color for example.', '\\n\\n', 'We recommend using the popper element as a wrapper around an inner', 'element that can have any CSS property transitioned for animations.'].join(' '));\n }\n }\n\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration,\n isFixed: state.options.strategy === 'fixed'\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element) {\n var rect = getBoundingClientRect(element);\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nexport default function getViewportRect(element) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0; // NB: This isn't supported on iOS <= 12. If the keyboard is open, the popper\n // can be obscured underneath it.\n // Also, `html.clientHeight` adds the bottom bar height in Safari iOS, even\n // if it isn't open, so if this isn't available, the popper will be detected\n // to overflow the bottom of the screen too early.\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height; // Uses Layout Viewport (like Chrome; Safari does not currently)\n // In Chrome, it returns a value very close to 0 (+/-) but contains rounding\n // errors due to floating point numbers, so we need to check precision.\n // Safari returns a number <= 0, usually < -1 when pinch-zoomed\n // Feature detection fails in mobile emulation mode in Chrome.\n // Math.abs(win.innerWidth / visualViewport.scale - visualViewport.width) <\n // 0.001\n // Fallback here: \"Not Safari\" userAgent\n\n if (!/^((?!chrome|android).)*safari/i.test(navigator.userAgent)) {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary);\n var referenceClientRect = getBoundingClientRect(state.elements.reference);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n\n if (process.env.NODE_ENV !== \"production\") {\n console.error(['Popper: The `allowedAutoPlacements` option did not allow any', 'placements. Ensure the `placement` option matches the variation', 'of the allowed placements.', 'For example, \"auto\" cannot be used to allow \"bottom-start\".', 'Use \"auto-start\" instead.'].join(' '));\n }\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n var v = within(min, value, max);\n return v > max ? max : v;\n}","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = offset + overflow[mainSide];\n var max = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (process.env.NODE_ENV !== \"production\") {\n if (!isHTMLElement(arrowElement)) {\n console.error(['Popper: \"arrow\" element must be an HTMLElement (not an SVGElement).', 'To use an SVG arrow, wrap it in an HTMLElement that will be used as', 'the arrow.'].join(' '));\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(['Popper: \"arrow\" modifier\\'s `element` must be a child of the popper', 'element.'].join(' '));\n }\n\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","import * as React from 'react';\nimport { createPopper as defaultCreatePopper } from '@popperjs/core';\nimport isEqual from 'react-fast-compare';\nimport { fromEntries, useIsomorphicLayoutEffect } from './utils';\nvar EMPTY_MODIFIERS = [];\nexport var usePopper = function usePopper(referenceElement, popperElement, options) {\n if (options === void 0) {\n options = {};\n }\n\n var prevOptions = React.useRef(null);\n var optionsWithDefaults = {\n onFirstUpdate: options.onFirstUpdate,\n placement: options.placement || 'bottom',\n strategy: options.strategy || 'absolute',\n modifiers: options.modifiers || EMPTY_MODIFIERS\n };\n\n var _React$useState = React.useState({\n styles: {\n popper: {\n position: optionsWithDefaults.strategy,\n left: '0',\n top: '0'\n },\n arrow: {\n position: 'absolute'\n }\n },\n attributes: {}\n }),\n state = _React$useState[0],\n setState = _React$useState[1];\n\n var updateStateModifier = React.useMemo(function () {\n return {\n name: 'updateState',\n enabled: true,\n phase: 'write',\n fn: function fn(_ref) {\n var state = _ref.state;\n var elements = Object.keys(state.elements);\n setState({\n styles: fromEntries(elements.map(function (element) {\n return [element, state.styles[element] || {}];\n })),\n attributes: fromEntries(elements.map(function (element) {\n return [element, state.attributes[element]];\n }))\n });\n },\n requires: ['computeStyles']\n };\n }, []);\n var popperOptions = React.useMemo(function () {\n var newOptions = {\n onFirstUpdate: optionsWithDefaults.onFirstUpdate,\n placement: optionsWithDefaults.placement,\n strategy: optionsWithDefaults.strategy,\n modifiers: [].concat(optionsWithDefaults.modifiers, [updateStateModifier, {\n name: 'applyStyles',\n enabled: false\n }])\n };\n\n if (isEqual(prevOptions.current, newOptions)) {\n return prevOptions.current || newOptions;\n } else {\n prevOptions.current = newOptions;\n return newOptions;\n }\n }, [optionsWithDefaults.onFirstUpdate, optionsWithDefaults.placement, optionsWithDefaults.strategy, optionsWithDefaults.modifiers, updateStateModifier]);\n var popperInstanceRef = React.useRef();\n useIsomorphicLayoutEffect(function () {\n if (popperInstanceRef.current) {\n popperInstanceRef.current.setOptions(popperOptions);\n }\n }, [popperOptions]);\n useIsomorphicLayoutEffect(function () {\n if (referenceElement == null || popperElement == null) {\n return;\n }\n\n var createPopper = options.createPopper || defaultCreatePopper;\n var popperInstance = createPopper(referenceElement, popperElement, popperOptions);\n popperInstanceRef.current = popperInstance;\n return function () {\n popperInstance.destroy();\n popperInstanceRef.current = null;\n };\n }, [referenceElement, popperElement, options.createPopper]);\n return {\n state: popperInstanceRef.current ? popperInstanceRef.current.state : null,\n styles: state.styles,\n attributes: state.attributes,\n update: popperInstanceRef.current ? popperInstanceRef.current.update : null,\n forceUpdate: popperInstanceRef.current ? popperInstanceRef.current.forceUpdate : null\n };\n};","import * as React from 'react';\nimport { ManagerReferenceNodeContext } from './Manager';\nimport { unwrapArray, setRef } from './utils';\nimport { usePopper } from './usePopper';\n\nvar NOOP = function NOOP() {\n return void 0;\n};\n\nvar NOOP_PROMISE = function NOOP_PROMISE() {\n return Promise.resolve(null);\n};\n\nvar EMPTY_MODIFIERS = [];\nexport function Popper(_ref) {\n var _ref$placement = _ref.placement,\n placement = _ref$placement === void 0 ? 'bottom' : _ref$placement,\n _ref$strategy = _ref.strategy,\n strategy = _ref$strategy === void 0 ? 'absolute' : _ref$strategy,\n _ref$modifiers = _ref.modifiers,\n modifiers = _ref$modifiers === void 0 ? EMPTY_MODIFIERS : _ref$modifiers,\n referenceElement = _ref.referenceElement,\n onFirstUpdate = _ref.onFirstUpdate,\n innerRef = _ref.innerRef,\n children = _ref.children;\n var referenceNode = React.useContext(ManagerReferenceNodeContext);\n\n var _React$useState = React.useState(null),\n popperElement = _React$useState[0],\n setPopperElement = _React$useState[1];\n\n var _React$useState2 = React.useState(null),\n arrowElement = _React$useState2[0],\n setArrowElement = _React$useState2[1];\n\n React.useEffect(function () {\n setRef(innerRef, popperElement);\n }, [innerRef, popperElement]);\n var options = React.useMemo(function () {\n return {\n placement: placement,\n strategy: strategy,\n onFirstUpdate: onFirstUpdate,\n modifiers: [].concat(modifiers, [{\n name: 'arrow',\n enabled: arrowElement != null,\n options: {\n element: arrowElement\n }\n }])\n };\n }, [placement, strategy, onFirstUpdate, modifiers, arrowElement]);\n\n var _usePopper = usePopper(referenceElement || referenceNode, popperElement, options),\n state = _usePopper.state,\n styles = _usePopper.styles,\n forceUpdate = _usePopper.forceUpdate,\n update = _usePopper.update;\n\n var childrenProps = React.useMemo(function () {\n return {\n ref: setPopperElement,\n style: styles.popper,\n placement: state ? state.placement : placement,\n hasPopperEscaped: state && state.modifiersData.hide ? state.modifiersData.hide.hasPopperEscaped : null,\n isReferenceHidden: state && state.modifiersData.hide ? state.modifiersData.hide.isReferenceHidden : null,\n arrowProps: {\n style: styles.arrow,\n ref: setArrowElement\n },\n forceUpdate: forceUpdate || NOOP,\n update: update || NOOP_PROMISE\n };\n }, [setPopperElement, setArrowElement, placement, state, styles, update, forceUpdate]);\n return unwrapArray(children)(childrenProps);\n}","import * as React from 'react';\nimport warning from 'warning';\nimport { ManagerReferenceNodeSetterContext } from './Manager';\nimport { safeInvoke, unwrapArray, setRef } from './utils';\nexport function Reference(_ref) {\n var children = _ref.children,\n innerRef = _ref.innerRef;\n var setReferenceNode = React.useContext(ManagerReferenceNodeSetterContext);\n var refHandler = React.useCallback(function (node) {\n setRef(innerRef, node);\n safeInvoke(setReferenceNode, node);\n }, [innerRef, setReferenceNode]); // ran on unmount\n\n React.useEffect(function () {\n return function () {\n return setRef(innerRef, null);\n };\n });\n React.useEffect(function () {\n warning(Boolean(setReferenceNode), '`Reference` should not be used outside of a `Manager` component.');\n }, [setReferenceNode]);\n return unwrapArray(children)({\n ref: refHandler\n });\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n }\n return target;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","export default {\n disabled: false\n};","import React from 'react';\nexport default React.createContext(null);","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport config from './config';\nimport { timeoutsShape } from './utils/PropTypes';\nimport TransitionGroupContext from './TransitionGroupContext';\nexport var UNMOUNTED = 'unmounted';\nexport var EXITED = 'exited';\nexport var ENTERING = 'entering';\nexport var ENTERED = 'entered';\nexport var EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 1 },\n * entered: { opacity: 1 },\n * exiting: { opacity: 0 },\n * exited: { opacity: 0 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * \n * {state => (\n *
\n * I'm a fade Transition!\n *
\n * )}\n *
\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n *
\n * \n * {state => (\n * // ...\n * )}\n * \n * \n *
\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nvar Transition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n } // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n ;\n\n var _proto = Transition.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n if (nextStatus === ENTERING) {\n this.performEnter(mounting);\n } else {\n this.performExit();\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context ? this.context.isMounting : mounting;\n\n var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM.findDOMNode(this), appearing],\n maybeNode = _ref2[0],\n maybeAppearing = _ref2[1];\n\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter || config.disabled) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode);\n });\n return;\n }\n\n this.props.onEnter(maybeNode, maybeAppearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(maybeNode, maybeAppearing);\n\n _this2.onTransitionEnd(enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode, maybeAppearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit() {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts();\n var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this); // no exit animation skip right to EXITED\n\n if (!exit || config.disabled) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n return;\n }\n\n this.props.onExit(maybeNode);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(maybeNode);\n\n _this3.onTransitionEnd(timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {\n this.setNextCallback(handler);\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],\n maybeNode = _ref3[0],\n maybeNextCallback = _ref3[1];\n\n this.props.addEndListener(maybeNode, maybeNextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n _in = _this$props.in,\n _mountOnEnter = _this$props.mountOnEnter,\n _unmountOnExit = _this$props.unmountOnExit,\n _appear = _this$props.appear,\n _enter = _this$props.enter,\n _exit = _this$props.exit,\n _timeout = _this$props.timeout,\n _addEndListener = _this$props.addEndListener,\n _onEnter = _this$props.onEnter,\n _onEntering = _this$props.onEntering,\n _onEntered = _this$props.onEntered,\n _onExit = _this$props.onExit,\n _onExiting = _this$props.onExiting,\n _onExited = _this$props.onExited,\n _nodeRef = _this$props.nodeRef,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\", \"mountOnEnter\", \"unmountOnExit\", \"appear\", \"enter\", \"exit\", \"timeout\", \"addEndListener\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\", \"nodeRef\"]);\n\n return (\n /*#__PURE__*/\n // allows for nested Transitions\n React.createElement(TransitionGroupContext.Provider, {\n value: null\n }, typeof children === 'function' ? children(status, childProps) : React.cloneElement(React.Children.only(children), childProps))\n );\n };\n\n return Transition;\n}(React.Component);\n\nTransition.contextType = TransitionGroupContext;\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A React reference to DOM element that need to transition:\n * https://stackoverflow.com/a/51127130/4671932\n *\n * - When `nodeRef` prop is used, `node` is not passed to callback functions\n * (e.g. `onEnter`) because user already has direct access to the node.\n * - When changing `key` prop of `Transition` in a `TransitionGroup` a new\n * `nodeRef` need to be provided to `Transition` with changed `key` prop\n * (see\n * [test/CSSTransition-test.js](https://github.com/reactjs/react-transition-group/blob/13435f897b3ab71f6e19d724f145596f5910581c/test/CSSTransition-test.js#L362-L437)).\n */\n nodeRef: PropTypes.shape({\n current: typeof Element === 'undefined' ? PropTypes.any : function (propValue, key, componentName, location, propFullName, secret) {\n var value = propValue[key];\n return PropTypes.instanceOf(value && 'ownerDocument' in value ? value.ownerDocument.defaultView.Element : Element)(propValue, key, componentName, location, propFullName, secret);\n }\n }),\n\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * \n * {state => (\n * \n * )}\n * \n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * By default the child component does not perform the enter transition when\n * it first mounts, regardless of the value of `in`. If you want this\n * behavior, set both `appear` and `in` to `true`.\n *\n * > **Note**: there are no special appear states like `appearing`/`appeared`, this prop\n * > only adds an additional enter transition. However, in the\n * > `` component that first enter transition does result in\n * > additional `.appear-*` classes, that way you can choose to style it\n * > differently.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\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 return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. Timeouts are still used as a fallback if provided.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func\n} : {}; // Name the function so it is clearer in the documentation\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = UNMOUNTED;\nTransition.EXITED = EXITED;\nTransition.ENTERING = ENTERING;\nTransition.ENTERED = ENTERED;\nTransition.EXITING = EXITING;\nexport default Transition;","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","import PropTypes from 'prop-types';\n\n// https://github.com/twbs/bootstrap/blob/v4.0.0-alpha.4/js/src/modal.js#L436-L443\nexport function getScrollbarWidth() {\n let scrollDiv = document.createElement('div');\n // .modal-scrollbar-measure styles // https://github.com/twbs/bootstrap/blob/v4.0.0-alpha.4/scss/_modal.scss#L106-L113\n scrollDiv.style.position = 'absolute';\n scrollDiv.style.top = '-9999px';\n scrollDiv.style.width = '50px';\n scrollDiv.style.height = '50px';\n scrollDiv.style.overflow = 'scroll';\n document.body.appendChild(scrollDiv);\n const scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n document.body.removeChild(scrollDiv);\n return scrollbarWidth;\n}\n\nexport function setScrollbarWidth(padding) {\n document.body.style.paddingRight = padding > 0 ? `${padding}px` : null;\n}\n\nexport function isBodyOverflowing() {\n return document.body.clientWidth < window.innerWidth;\n}\n\nexport function getOriginalBodyPadding() {\n const style = window.getComputedStyle(document.body, null);\n\n return parseInt((style && style.getPropertyValue('padding-right')) || 0, 10);\n}\n\nexport function conditionallyUpdateScrollbar() {\n const scrollbarWidth = getScrollbarWidth();\n // https://github.com/twbs/bootstrap/blob/v4.0.0-alpha.6/js/src/modal.js#L433\n const fixedContent = document.querySelectorAll(\n '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\n )[0];\n const bodyPadding = fixedContent\n ? parseInt(fixedContent.style.paddingRight || 0, 10)\n : 0;\n\n if (isBodyOverflowing()) {\n setScrollbarWidth(bodyPadding + scrollbarWidth);\n }\n}\n\nlet globalCssModule;\n\nexport function setGlobalCssModule(cssModule) {\n globalCssModule = cssModule;\n}\n\nexport function mapToCssModules(className = '', cssModule = globalCssModule) {\n if (!cssModule) return className;\n return className\n .split(' ')\n .map(c => cssModule[c] || c)\n .join(' ');\n}\n\n/**\n * Returns a new object with the key/value pairs from `obj` that are not in the array `omitKeys`.\n */\nexport function omit(obj, omitKeys) {\n const result = {};\n Object.keys(obj).forEach(key => {\n if (omitKeys.indexOf(key) === -1) {\n result[key] = obj[key];\n }\n });\n return result;\n}\n\n/**\n * Returns a filtered copy of an object with only the specified keys.\n */\nexport function pick(obj, keys) {\n const pickKeys = Array.isArray(keys) ? keys : [keys];\n let length = pickKeys.length;\n let key;\n const result = {};\n\n while (length > 0) {\n length -= 1;\n key = pickKeys[length];\n result[key] = obj[key];\n }\n return result;\n}\n\nlet warned = {};\n\nexport function warnOnce(message) {\n if (!warned[message]) {\n /* istanbul ignore else */\n if (typeof console !== 'undefined') {\n console.error(message); // eslint-disable-line no-console\n }\n warned[message] = true;\n }\n}\n\nexport function deprecated(propType, explanation) {\n return function validate(props, propName, componentName, ...rest) {\n if (props[propName] !== null && typeof props[propName] !== 'undefined') {\n warnOnce(\n `\"${propName}\" property of \"${componentName}\" has been deprecated.\\n${explanation}`\n );\n }\n\n return propType(props, propName, componentName, ...rest);\n };\n}\n\n// Shim Element if needed (e.g. in Node environment)\nconst Element = (typeof window === 'object' && window.Element) || function() {};\n\nexport function DOMElement(props, propName, componentName) {\n if (!(props[propName] instanceof Element)) {\n return new Error(\n 'Invalid prop `' +\n propName +\n '` supplied to `' +\n componentName +\n '`. Expected prop to be an instance of Element. Validation failed.'\n );\n }\n}\n\nexport const targetPropType = PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n DOMElement,\n PropTypes.shape({ current: PropTypes.any }),\n]);\n\nexport const tagPropType = PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.string,\n PropTypes.shape({ $$typeof: PropTypes.symbol, render: PropTypes.func }),\n PropTypes.arrayOf(PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.string,\n PropTypes.shape({ $$typeof: PropTypes.symbol, render: PropTypes.func }),\n ]))\n]);\n\n/* eslint key-spacing: [\"error\", { afterColon: true, align: \"value\" }] */\n// These are all setup to match what is in the bootstrap _variables.scss\n// https://github.com/twbs/bootstrap/blob/v4-dev/scss/_variables.scss\nexport const TransitionTimeouts = {\n Fade: 150, // $transition-fade\n Collapse: 350, // $transition-collapse\n Modal: 300, // $modal-transition\n Carousel: 600, // $carousel-transition\n Offcanvas: 300, // $offcanvas-transition\n};\n\n// Duplicated Transition.propType keys to ensure that Reactstrap builds\n// for distribution properly exclude these keys for nested child HTML attributes\n// since `react-transition-group` removes propTypes in production builds.\nexport const TransitionPropTypeKeys = [\n 'in',\n 'mountOnEnter',\n 'unmountOnExit',\n 'appear',\n 'enter',\n 'exit',\n 'timeout',\n 'onEnter',\n 'onEntering',\n 'onEntered',\n 'onExit',\n 'onExiting',\n 'onExited',\n];\n\nexport const TransitionStatuses = {\n ENTERING: 'entering',\n ENTERED: 'entered',\n EXITING: 'exiting',\n EXITED: 'exited',\n};\n\nexport const keyCodes = {\n esc: 27,\n space: 32,\n enter: 13,\n tab: 9,\n up: 38,\n down: 40,\n home: 36,\n end: 35,\n n: 78,\n p: 80,\n};\n\nexport const PopperPlacements = [\n 'auto-start',\n 'auto',\n 'auto-end',\n 'top-start',\n 'top',\n 'top-end',\n 'right-start',\n 'right',\n 'right-end',\n 'bottom-end',\n 'bottom',\n 'bottom-start',\n 'left-end',\n 'left',\n 'left-start',\n];\n\nexport const canUseDOM = !!(\n typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement\n);\n\nexport function isReactRefObj(target) {\n if (target && typeof target === 'object') {\n return 'current' in target;\n }\n return false;\n}\n\nfunction getTag(value) {\n if (value == null) {\n return value === undefined ? '[object Undefined]' : '[object Null]'\n }\n return Object.prototype.toString.call(value)\n}\n\nexport function toNumber(value) {\n const type = typeof value;\n const NAN = 0 / 0;\n if (type === 'number') {\n return value\n }\n if (type === 'symbol' || (type === 'object' && getTag(value) === '[object Symbol]')) {\n return NAN\n }\n if (isObject(value)) {\n const other = typeof value.valueOf === 'function' ? value.valueOf() : value;\n value = isObject(other) ? `${other}` : other\n }\n if (type !== 'string') {\n return value === 0 ? value : +value\n }\n value = value.replace(/^\\s+|\\s+$/g, '');\n const isBinary = /^0b[01]+$/i.test(value);\n return (isBinary || /^0o[0-7]+$/i.test(value))\n ? parseInt(value.slice(2), isBinary ? 2 : 8)\n : (/^[-+]0x[0-9a-f]+$/i.test(value) ? NAN : +value)\n}\n\nexport function isObject(value) {\n const type = typeof value;\n return value != null && (type === 'object' || type === 'function')\n}\n\nexport function isFunction(value) {\n if (!isObject(value)) {\n return false\n }\n\n const tag = getTag(value);\n return tag === '[object Function]' || tag === '[object AsyncFunction]' ||\n tag === '[object GeneratorFunction]' || tag === '[object Proxy]'\n}\n\nexport function findDOMElements(target) {\n if (isReactRefObj(target)) {\n return target.current;\n }\n if (isFunction(target)) {\n return target();\n }\n if (typeof target === 'string' && canUseDOM) {\n let selection = document.querySelectorAll(target);\n if (!selection.length) {\n selection = document.querySelectorAll(`#${target}`);\n }\n if (!selection.length) {\n throw new Error(\n `The target '${target}' could not be identified in the dom, tip: check spelling`\n );\n }\n return selection;\n }\n return target;\n}\n\nexport function isArrayOrNodeList(els) {\n if (els === null) {\n return false;\n }\n return Array.isArray(els) || (canUseDOM && typeof els.length === 'number');\n}\n\nexport function getTarget(target, allElements) {\n const els = findDOMElements(target);\n if (allElements) {\n if (isArrayOrNodeList(els)) {\n return els;\n }\n if (els === null) {\n return [];\n }\n return [els];\n } else {\n if (isArrayOrNodeList(els)) {\n return els[0];\n }\n return els;\n }\n}\n\nexport const defaultToggleEvents = ['touchstart', 'click'];\n\nexport function addMultipleEventListeners(_els, handler, _events, useCapture) {\n let els = _els;\n if (!isArrayOrNodeList(els)) {\n els = [els];\n }\n\n let events = _events;\n if (typeof events === 'string') {\n events = events.split(/\\s+/);\n }\n\n if (\n !isArrayOrNodeList(els) ||\n typeof handler !== 'function' ||\n !Array.isArray(events)\n ) {\n throw new Error(`\n The first argument of this function must be DOM node or an array on DOM nodes or NodeList.\n The second must be a function.\n The third is a string or an array of strings that represents DOM events\n `);\n }\n\n Array.prototype.forEach.call(events, event => {\n Array.prototype.forEach.call(els, el => {\n el.addEventListener(event, handler, useCapture);\n });\n });\n return function removeEvents() {\n Array.prototype.forEach.call(events, event => {\n Array.prototype.forEach.call(els, el => {\n el.removeEventListener(event, handler, useCapture);\n });\n });\n };\n}\n\nexport const focusableElements = [\n 'a[href]',\n 'area[href]',\n 'input:not([disabled]):not([type=hidden])',\n 'select:not([disabled])',\n 'textarea:not([disabled])',\n 'button:not([disabled])',\n 'object',\n 'embed',\n '[tabindex]:not(.modal)',\n 'audio[controls]',\n 'video[controls]',\n '[contenteditable]:not([contenteditable=\"false\"])',\n];\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\n\nconst propTypes = {\n tag: tagPropType,\n fluid: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n className: PropTypes.string,\n cssModule: PropTypes.object,\n};\n\nconst defaultProps = {\n tag: 'div',\n};\n\nconst Container = (props) => {\n const {\n className,\n cssModule,\n fluid,\n tag: Tag,\n ...attributes\n } = props;\n\n let containerClass = 'container';\n if (fluid === true) {\n containerClass = 'container-fluid';\n }\n else if (fluid) {\n containerClass = `container-${fluid}`;\n }\n\n const classes = mapToCssModules(classNames(\n className,\n containerClass\n ), cssModule);\n\n return (\n \n );\n};\n\nContainer.propTypes = propTypes;\nContainer.defaultProps = defaultProps;\n\nexport default Container;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType, deprecated } from './utils';\n\nconst rowColWidths = ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'];\nconst rowColsPropType = PropTypes.oneOfType([PropTypes.number, PropTypes.string]);\n\nconst propTypes = {\n tag: tagPropType,\n noGutters: deprecated(PropTypes.bool, \"Please use Bootstrap 5 gutter utility classes. https://getbootstrap.com/docs/5.0/layout/gutters/\"),\n className: PropTypes.string,\n cssModule: PropTypes.object,\n form: PropTypes.bool,\n xs: rowColsPropType,\n sm: rowColsPropType,\n md: rowColsPropType,\n lg: rowColsPropType,\n xl: rowColsPropType,\n xxl: rowColsPropType\n};\n\nconst defaultProps = {\n tag: 'div',\n widths: rowColWidths\n};\n\nconst Row = (props) => {\n const {\n className,\n cssModule,\n noGutters,\n tag: Tag,\n form,\n widths,\n ...attributes\n } = props;\n\n const colClasses = [];\n\n widths.forEach((colWidth, i) => {\n let colSize = props[colWidth];\n\n delete attributes[colWidth];\n\n if (!colSize) {\n return;\n }\n\n const isXs = !i;\n colClasses.push(isXs ? `row-cols-${colSize}` : `row-cols-${colWidth}-${colSize}`);\n });\n\n const classes = mapToCssModules(classNames(\n className,\n noGutters ? 'gx-0' : null,\n form ? 'form-row' : 'row',\n colClasses\n ), cssModule);\n\n return (\n \n );\n};\n\nRow.propTypes = propTypes;\nRow.defaultProps = defaultProps;\n\nexport default Row;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType, isObject } from './utils';\n\nconst colWidths = ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'];\nconst stringOrNumberProp = PropTypes.oneOfType([PropTypes.number, PropTypes.string]);\n\nconst columnProps = PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.number,\n PropTypes.string,\n PropTypes.shape({\n size: PropTypes.oneOfType([PropTypes.bool, PropTypes.number, PropTypes.string]),\n order: stringOrNumberProp,\n offset: stringOrNumberProp\n })\n]);\n\nconst propTypes = {\n tag: tagPropType,\n xs: columnProps,\n sm: columnProps,\n md: columnProps,\n lg: columnProps,\n xl: columnProps,\n xxl: columnProps,\n className: PropTypes.string,\n cssModule: PropTypes.object,\n widths: PropTypes.array,\n};\n\nconst defaultProps = {\n tag: 'div',\n widths: colWidths,\n};\n\nconst getColumnSizeClass = (isXs, colWidth, colSize) => {\n if (colSize === true || colSize === '') {\n return isXs ? 'col' : `col-${colWidth}`;\n } else if (colSize === 'auto') {\n return isXs ? 'col-auto' : `col-${colWidth}-auto`;\n }\n\n return isXs ? `col-${colSize}` : `col-${colWidth}-${colSize}`;\n};\n\n\nexport const getColumnClasses = (attributes, cssModule, widths=colWidths) => {\n const colClasses = [];\n \n widths.forEach((colWidth, i) => {\n let columnProp = attributes[colWidth];\n\n delete attributes[colWidth];\n\n if (!columnProp && columnProp !== '') {\n return;\n }\n\n const isXs = !i;\n\n if (isObject(columnProp)) {\n const colSizeInterfix = isXs ? '-' : `-${colWidth}-`;\n const colClass = getColumnSizeClass(isXs, colWidth, columnProp.size);\n\n colClasses.push(mapToCssModules(classNames({\n [colClass]: columnProp.size || columnProp.size === '',\n [`order${colSizeInterfix}${columnProp.order}`]: columnProp.order || columnProp.order === 0,\n [`offset${colSizeInterfix}${columnProp.offset}`]: columnProp.offset || columnProp.offset === 0\n }), cssModule));\n } else {\n const colClass = getColumnSizeClass(isXs, colWidth, columnProp);\n colClasses.push(colClass);\n }\n });\n\n return {\n colClasses,\n attributes\n }\n}\n\n\nconst Col = (props) => {\n const {\n className,\n cssModule,\n widths,\n tag: Tag,\n ...attributes\n } = props;\n \n let { attributes : modifiedAttributes, colClasses } = getColumnClasses(attributes, cssModule, widths)\n\n if (!colClasses.length) {\n colClasses.push('col');\n }\n\n const classes = mapToCssModules(classNames(\n className,\n colClasses\n ), cssModule);\n\n return (\n \n );\n};\n\nCol.propTypes = propTypes;\nCol.defaultProps = defaultProps;\n\nexport default Col;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\n\nconst propTypes = {\n light: PropTypes.bool,\n dark: PropTypes.bool,\n full: PropTypes.bool,\n fixed: PropTypes.string,\n sticky: PropTypes.string,\n color: PropTypes.string,\n role: PropTypes.string,\n tag: tagPropType,\n container: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n className: PropTypes.string,\n cssModule: PropTypes.object,\n expand: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n children: PropTypes.node,\n};\n\nconst defaultProps = {\n tag: 'nav',\n expand: false,\n container: 'fluid',\n};\n\nconst getExpandClass = (expand) => {\n if (expand === false) {\n return false;\n } else if (expand === true || expand === 'xs') {\n return 'navbar-expand';\n }\n\n return `navbar-expand-${expand}`;\n};\n\nconst Navbar = (props) => {\n const {\n expand,\n className,\n cssModule,\n light,\n dark,\n fixed,\n sticky,\n color,\n container,\n tag: Tag,\n children,\n ...attributes\n } = props;\n\n const classes = mapToCssModules(classNames(\n className,\n 'navbar',\n getExpandClass(expand),\n {\n 'navbar-light': light,\n 'navbar-dark': dark,\n [`bg-${color}`]: color,\n [`fixed-${fixed}`]: fixed,\n [`sticky-${sticky}`]: sticky,\n }\n ), cssModule);\n\n const containerClass = container && (container === true) ? 'container' : `container-${container}`;\n\n return (\n \n { container ?\n
\n {children}\n
:\n children\n }\n
\n );\n};\n\nNavbar.propTypes = propTypes;\nNavbar.defaultProps = defaultProps;\n\nexport default Navbar;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\n\nconst propTypes = {\n tag: tagPropType,\n className: PropTypes.string,\n cssModule: PropTypes.object,\n};\n\nconst defaultProps = {\n tag: 'a'\n};\n\nconst NavbarBrand = (props) => {\n const {\n className,\n cssModule,\n tag: Tag,\n ...attributes\n } = props;\n\n const classes = mapToCssModules(classNames(\n className,\n 'navbar-brand'\n ), cssModule);\n\n return (\n \n );\n};\n\nNavbarBrand.propTypes = propTypes;\nNavbarBrand.defaultProps = defaultProps;\n\nexport default NavbarBrand;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\n\nconst propTypes = {\n tag: tagPropType,\n className: PropTypes.string,\n cssModule: PropTypes.object\n};\n\nconst defaultProps = {\n tag: 'span'\n};\n\nconst NavbarText = (props) => {\n const {\n className,\n cssModule,\n active,\n tag: Tag,\n ...attributes\n } = props;\n\n const classes = mapToCssModules(classNames(\n className,\n 'navbar-text'\n ), cssModule);\n\n return (\n \n );\n};\n\nNavbarText.propTypes = propTypes;\nNavbarText.defaultProps = defaultProps;\n\nexport default NavbarText;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\n\nconst propTypes = {\n tag: tagPropType,\n type: PropTypes.string,\n className: PropTypes.string,\n cssModule: PropTypes.object,\n children: PropTypes.node,\n};\n\nconst defaultProps = {\n tag: 'button',\n type: 'button'\n};\n\nconst NavbarToggler = (props) => {\n const {\n className,\n cssModule,\n children,\n tag: Tag,\n ...attributes\n } = props;\n\n const classes = mapToCssModules(classNames(\n className,\n 'navbar-toggler'\n ), cssModule);\n\n return (\n \n {children || }\n \n );\n};\n\nNavbarToggler.propTypes = propTypes;\nNavbarToggler.defaultProps = defaultProps;\n\nexport default NavbarToggler;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\n\nconst propTypes = {\n tabs: PropTypes.bool,\n pills: PropTypes.bool,\n vertical: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n horizontal: PropTypes.string,\n justified: PropTypes.bool,\n fill: PropTypes.bool,\n navbar: PropTypes.bool,\n card: PropTypes.bool,\n tag: tagPropType,\n className: PropTypes.string,\n cssModule: PropTypes.object,\n};\n\nconst defaultProps = {\n tag: 'ul',\n vertical: false,\n};\n\nconst getVerticalClass = (vertical) => {\n if (vertical === false) {\n return false;\n } else if (vertical === true || vertical === 'xs') {\n return 'flex-column';\n }\n\n return `flex-${vertical}-column`;\n};\n\nconst Nav = (props) => {\n const {\n className,\n cssModule,\n tabs,\n pills,\n vertical,\n horizontal,\n justified,\n fill,\n navbar,\n card,\n tag: Tag,\n ...attributes\n } = props;\n\n const classes = mapToCssModules(classNames(\n className,\n navbar ? 'navbar-nav' : 'nav',\n horizontal ? `justify-content-${horizontal}` : false,\n getVerticalClass(vertical),\n {\n 'nav-tabs': tabs,\n 'card-header-tabs': card && tabs,\n 'nav-pills': pills,\n 'card-header-pills': card && pills,\n 'nav-justified': justified,\n 'nav-fill': fill,\n }\n ), cssModule);\n\n return (\n \n );\n};\n\nNav.propTypes = propTypes;\nNav.defaultProps = defaultProps;\n\nexport default Nav;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\n\nconst propTypes = {\n tag: tagPropType,\n active: PropTypes.bool,\n className: PropTypes.string,\n cssModule: PropTypes.object,\n};\n\nconst defaultProps = {\n tag: 'li'\n};\n\nconst NavItem = (props) => {\n const {\n className,\n cssModule,\n active,\n tag: Tag,\n ...attributes\n } = props;\n\n const classes = mapToCssModules(classNames(\n className,\n 'nav-item',\n active ? 'active' : false\n ), cssModule);\n\n return (\n \n );\n};\n\nNavItem.propTypes = propTypes;\nNavItem.defaultProps = defaultProps;\n\nexport default NavItem;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\n\nconst propTypes = {\n tag: tagPropType,\n innerRef: PropTypes.oneOfType([PropTypes.object, PropTypes.func, PropTypes.string]),\n disabled: PropTypes.bool,\n active: PropTypes.bool,\n className: PropTypes.string,\n cssModule: PropTypes.object,\n onClick: PropTypes.func,\n href: PropTypes.any,\n};\n\nconst defaultProps = {\n tag: 'a',\n};\n\nclass NavLink extends React.Component {\n constructor(props) {\n super(props);\n\n this.onClick = this.onClick.bind(this);\n }\n\n onClick(e) {\n if (this.props.disabled) {\n e.preventDefault();\n return;\n }\n\n if (this.props.href === '#') {\n e.preventDefault();\n }\n\n if (this.props.onClick) {\n this.props.onClick(e);\n }\n }\n\n render() {\n let {\n className,\n cssModule,\n active,\n tag: Tag,\n innerRef,\n ...attributes\n } = this.props;\n\n const classes = mapToCssModules(classNames(\n className,\n 'nav-link',\n {\n disabled: attributes.disabled,\n active: active\n }\n ), cssModule);\n\n return (\n \n );\n }\n}\n\nNavLink.propTypes = propTypes;\nNavLink.defaultProps = defaultProps;\n\nexport default NavLink;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\n\nconst propTypes = {\n tag: tagPropType,\n listTag: tagPropType,\n className: PropTypes.string,\n listClassName: PropTypes.string,\n cssModule: PropTypes.object,\n children: PropTypes.node,\n 'aria-label': PropTypes.string\n};\n\nconst defaultProps = {\n tag: 'nav',\n listTag: 'ol',\n 'aria-label': 'breadcrumb'\n};\n\nconst Breadcrumb = (props) => {\n const {\n className,\n listClassName,\n cssModule,\n children,\n tag: Tag,\n listTag: ListTag,\n 'aria-label': label,\n ...attributes\n } = props;\n\n const classes = mapToCssModules(classNames(\n className\n ), cssModule);\n\n const listClasses = mapToCssModules(classNames(\n 'breadcrumb',\n listClassName\n ), cssModule);\n\n return (\n \n \n {children}\n \n \n );\n};\n\nBreadcrumb.propTypes = propTypes;\nBreadcrumb.defaultProps = defaultProps;\n\nexport default Breadcrumb;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\n\nconst propTypes = {\n tag: tagPropType,\n active: PropTypes.bool,\n className: PropTypes.string,\n cssModule: PropTypes.object,\n};\n\nconst defaultProps = {\n tag: 'li'\n};\n\nconst BreadcrumbItem = (props) => {\n const {\n className,\n cssModule,\n active,\n tag: Tag,\n ...attributes\n } = props;\n const classes = mapToCssModules(classNames(\n className,\n active ? 'active' : false,\n 'breadcrumb-item'\n ), cssModule);\n\n return (\n \n );\n};\n\nBreadcrumbItem.propTypes = propTypes;\nBreadcrumbItem.defaultProps = defaultProps;\n\nexport default BreadcrumbItem;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\n\nconst propTypes = {\n active: PropTypes.bool,\n 'aria-label': PropTypes.string,\n block: PropTypes.bool,\n color: PropTypes.string,\n disabled: PropTypes.bool,\n outline: PropTypes.bool,\n tag: tagPropType,\n innerRef: PropTypes.oneOfType([PropTypes.object, PropTypes.func, PropTypes.string]),\n onClick: PropTypes.func,\n size: PropTypes.string,\n children: PropTypes.node,\n className: PropTypes.string,\n cssModule: PropTypes.object,\n close: PropTypes.bool,\n};\n\nconst defaultProps = {\n color: 'secondary',\n tag: 'button',\n};\n\nclass Button extends React.Component {\n constructor(props) {\n super(props);\n\n this.onClick = this.onClick.bind(this);\n }\n\n onClick(e) {\n if (this.props.disabled) {\n e.preventDefault();\n return;\n }\n\n if (this.props.onClick) {\n return this.props.onClick(e);\n }\n }\n\n render() {\n let {\n active,\n 'aria-label': ariaLabel,\n block,\n className,\n close,\n cssModule,\n color,\n outline,\n size,\n tag: Tag,\n innerRef,\n ...attributes\n } = this.props;\n\n const btnOutlineColor = `btn${outline ? '-outline' : ''}-${color}`;\n\n const classes = mapToCssModules(classNames(\n className,\n close && 'btn-close',\n close || 'btn',\n close || btnOutlineColor,\n size ? `btn-${size}` : false,\n block ? 'd-block w-100' : false,\n { active, disabled: this.props.disabled }\n ), cssModule);\n\n if (attributes.href && Tag === 'button') {\n Tag = 'a';\n }\n\n const defaultAriaLabel = close ? 'Close' : null;\n\n return (\n \n );\n }\n}\n\nButton.propTypes = propTypes;\nButton.defaultProps = defaultProps;\n\nexport default Button;\n","import React from \"react\";\nimport PropTypes from 'prop-types';\nimport Button from \"./Button\";\nimport classNames from 'classnames';\nimport { mapToCssModules } from './utils';\n\nconst propTypes = {\n onClick: PropTypes.func,\n onBlur: PropTypes.func,\n onFocus: PropTypes.func,\n defaultValue: PropTypes.bool,\n};\n\nconst defaultProps = {\n defaultValue: false,\n};\n\nclass ButtonToggle extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n toggled: props.defaultValue,\n focus: false,\n }\n\n this.onBlur = this.onBlur.bind(this);\n this.onFocus = this.onFocus.bind(this);\n this.onClick = this.onClick.bind(this);\n }\n\n onBlur(e) {\n if(this.props.onBlur) {\n this.props.onBlur(e);\n }\n\n this.setState({\n focus: false,\n });\n }\n\n onFocus(e) {\n if(this.props.onFocus) {\n this.props.onFocus(e);\n }\n\n this.setState({\n focus: true,\n });\n }\n\n onClick(e) {\n if(this.props.onClick) {\n this.props.onClick(e);\n }\n\n this.setState(({ toggled }) => ({\n toggled: !toggled,\n }));\n }\n\n render() {\n const {\n className,\n ...attributes\n } = this.props;\n\n const classes = mapToCssModules(classNames(\n className, \n { \n focus: this.state.focus, \n }\n ), this.props.cssModule);\n\n return ;\n }\n}\n\nButtonToggle.propTypes = propTypes;\nButtonToggle.defaultProps = defaultProps;\n\nexport default ButtonToggle;\n","import React from 'react';\n\n/**\n * DropdownContext\n * {\n * toggle: PropTypes.func.isRequired,\n * isOpen: PropTypes.bool.isRequired,\n * direction: PropTypes.oneOf(['up', 'down', 'start', 'end']).isRequired,\n * inNavbar: PropTypes.bool.isRequired,\n * disabled: PropTypes.bool\n * }\n */\nexport const DropdownContext = React.createContext({});","/* eslint react/no-find-dom-node: 0 */\n// https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-find-dom-node.md\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { Manager } from 'react-popper';\nimport classNames from 'classnames';\nimport { DropdownContext } from './DropdownContext';\nimport { mapToCssModules, omit, keyCodes, tagPropType } from './utils';\n\nconst propTypes = {\n a11y: PropTypes.bool,\n disabled: PropTypes.bool,\n direction: PropTypes.oneOf(['up', 'down', 'start', 'end', 'left', 'right']),\n group: PropTypes.bool,\n isOpen: PropTypes.bool,\n nav: PropTypes.bool,\n active: PropTypes.bool,\n size: PropTypes.string,\n tag: tagPropType,\n toggle: PropTypes.func,\n children: PropTypes.node,\n className: PropTypes.string,\n cssModule: PropTypes.object,\n inNavbar: PropTypes.bool,\n setActiveFromChild: PropTypes.bool,\n menuRole: PropTypes.oneOf(['listbox', 'menu'])\n};\n\nconst defaultProps = {\n a11y: true,\n isOpen: false,\n direction: 'down',\n nav: false,\n active: false,\n inNavbar: false,\n setActiveFromChild: false\n};\n\nconst preventDefaultKeys = [\n keyCodes.space,\n keyCodes.enter,\n keyCodes.up,\n keyCodes.down,\n keyCodes.end,\n keyCodes.home\n]\n\nclass Dropdown extends React.Component {\n constructor(props) {\n super(props);\n\n this.addEvents = this.addEvents.bind(this);\n this.handleDocumentClick = this.handleDocumentClick.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.removeEvents = this.removeEvents.bind(this);\n this.toggle = this.toggle.bind(this);\n this.handleMenuRef = this.handleMenuRef.bind(this);\n\n this.containerRef = React.createRef();\n this.menuRef = React.createRef();\n }\n\n handleMenuRef(menuRef) {\n this.menuRef.current = menuRef;\n }\n\n getContextValue() {\n return {\n toggle: this.toggle,\n isOpen: this.props.isOpen,\n direction: (this.props.direction === 'down' && this.props.dropup) ? 'up' : this.props.direction,\n inNavbar: this.props.inNavbar,\n disabled: this.props.disabled,\n // Callback that should be called by DropdownMenu to provide a ref to\n // a HTML tag that's used for the DropdownMenu\n onMenuRef: this.handleMenuRef,\n menuRole: this.props.menuRole\n };\n }\n\n componentDidMount() {\n this.handleProps();\n }\n\n componentDidUpdate(prevProps) {\n if (this.props.isOpen !== prevProps.isOpen) {\n this.handleProps();\n }\n }\n\n componentWillUnmount() {\n this.removeEvents();\n }\n\n getContainer() {\n return this.containerRef.current;\n }\n\n getMenu() {\n return this.menuRef.current;\n }\n\n getMenuCtrl() {\n if (this._$menuCtrl) return this._$menuCtrl;\n this._$menuCtrl = this.getContainer().querySelector('[aria-expanded]');\n return this._$menuCtrl;\n }\n\n getItemType() {\n if(this.context.menuRole === 'listbox') {\n return 'option'\n }\n return 'menuitem'\n }\n\n getMenuItems() {\n // In a real menu with a child DropdownMenu, `this.getMenu()` should never\n // be null, but it is sometimes null in tests. To mitigate that, we just\n // use `this.getContainer()` as the fallback `menuContainer`.\n const menuContainer = this.getMenu() || this.getContainer();\n return [].slice.call(menuContainer.querySelectorAll(`[role=\"${this.getItemType()}\"]`));\n }\n\n addEvents() {\n ['click', 'touchstart', 'keyup'].forEach(event =>\n document.addEventListener(event, this.handleDocumentClick, true)\n );\n }\n\n removeEvents() {\n ['click', 'touchstart', 'keyup'].forEach(event =>\n document.removeEventListener(event, this.handleDocumentClick, true)\n );\n }\n\n handleDocumentClick(e) {\n if (e && (e.which === 3 || (e.type === 'keyup' && e.which !== keyCodes.tab))) return;\n const container = this.getContainer();\n const menu = this.getMenu();\n const clickIsInContainer = container.contains(e.target) && container !== e.target;\n const clickIsInInput = container.classList.contains('input-group') && container.classList.contains('dropdown') && e.target.tagName === 'INPUT';\n const clickIsInMenu = menu && menu.contains(e.target) && menu !== e.target;\n if (((clickIsInContainer && !clickIsInInput) || clickIsInMenu) && (e.type !== 'keyup' || e.which === keyCodes.tab)) {\n return;\n }\n\n this.toggle(e);\n }\n\n handleKeyDown(e) {\n const isTargetMenuItem = e.target.getAttribute('role') === 'menuitem' || e.target.getAttribute('role') === 'option';\n const isTargetMenuCtrl = this.getMenuCtrl() === e.target;\n const isTab = keyCodes.tab === e.which;\n\n if (\n /input|textarea/i.test(e.target.tagName)\n || (isTab && !this.props.a11y)\n || (isTab && !(isTargetMenuItem || isTargetMenuCtrl))\n ) {\n return;\n }\n\n if (preventDefaultKeys.indexOf(e.which) !== -1 || ((e.which >= 48) && (e.which <= 90))) {\n e.preventDefault();\n }\n\n if (this.props.disabled) return;\n\n if (isTargetMenuCtrl) {\n if ([keyCodes.space, keyCodes.enter, keyCodes.up, keyCodes.down].indexOf(e.which) > -1) {\n // Open the menu (if not open) and focus the first menu item\n if (!this.props.isOpen) {\n this.toggle(e);\n }\n setTimeout(() => this.getMenuItems()[0].focus());\n } else if (this.props.isOpen && isTab) {\n // Focus the first menu item if tabbing from an open menu. We need this\n // for cases where the DropdownMenu sets a custom container, which may\n // not be the natural next item to tab to from the DropdownToggle.\n e.preventDefault();\n this.getMenuItems()[0].focus();\n } else if (this.props.isOpen && e.which === keyCodes.esc) {\n this.toggle(e);\n }\n }\n\n if (this.props.isOpen && isTargetMenuItem) {\n if ([keyCodes.tab, keyCodes.esc].indexOf(e.which) > -1) {\n this.toggle(e);\n this.getMenuCtrl().focus();\n } else if ([keyCodes.space, keyCodes.enter].indexOf(e.which) > -1) {\n e.target.click();\n this.getMenuCtrl().focus();\n } else if (\n [keyCodes.down, keyCodes.up].indexOf(e.which) > -1\n || ([keyCodes.n, keyCodes.p].indexOf(e.which) > -1 && e.ctrlKey)\n ) {\n const $menuitems = this.getMenuItems();\n let index = $menuitems.indexOf(e.target);\n if (keyCodes.up === e.which || (keyCodes.p === e.which && e.ctrlKey)) {\n index = index !== 0 ? index - 1 : $menuitems.length - 1;\n } else if (keyCodes.down === e.which || (keyCodes.n === e.which && e.ctrlKey)) {\n index = index === $menuitems.length - 1 ? 0 : index + 1;\n }\n $menuitems[index].focus();\n } else if (keyCodes.end === e.which) {\n const $menuitems = this.getMenuItems();\n $menuitems[$menuitems.length - 1].focus();\n } else if (keyCodes.home === e.which) {\n const $menuitems = this.getMenuItems();\n $menuitems[0].focus();\n } else if ((e.which >= 48) && (e.which <= 90)) {\n const $menuitems = this.getMenuItems();\n const charPressed = String.fromCharCode(e.which).toLowerCase();\n for (let i = 0; i < $menuitems.length; i += 1) {\n const firstLetter = $menuitems[i].textContent && $menuitems[i].textContent[0].toLowerCase();\n if (firstLetter === charPressed) {\n $menuitems[i].focus();\n break;\n }\n }\n }\n }\n }\n\n handleProps() {\n if (this.props.isOpen) {\n this.addEvents();\n } else {\n this.removeEvents();\n }\n }\n\n toggle(e) {\n if (this.props.disabled) {\n return e && e.preventDefault();\n }\n\n return this.props.toggle(e);\n }\n\n render() {\n const {\n className,\n cssModule,\n direction,\n isOpen,\n group,\n size,\n nav,\n setActiveFromChild,\n active,\n tag,\n menuRole,\n ...attrs\n } = omit(this.props, ['toggle', 'disabled', 'inNavbar', 'a11y']);\n\n const Tag = tag || (nav ? 'li' : 'div');\n\n let subItemIsActive = false;\n if (setActiveFromChild) {\n React.Children.map(this.props.children[1].props.children,\n (dropdownItem) => {\n if (dropdownItem && dropdownItem.props.active) subItemIsActive = true;\n }\n );\n }\n\n const classes = mapToCssModules(classNames(\n className,\n nav && active ? 'active' : false,\n setActiveFromChild && subItemIsActive ? 'active' : false,\n {\n 'btn-group': group,\n [`btn-group-${size}`]: !!size,\n dropdown: !group,\n dropup: direction === 'up',\n dropstart: direction === 'start' || direction === 'left',\n dropend: direction === 'end' || direction === 'right',\n show: isOpen,\n 'nav-item': nav\n }\n ), cssModule);\n\n return (\n \n \n \n \n \n );\n }\n}\n\nDropdown.propTypes = propTypes;\nDropdown.defaultProps = defaultProps;\n\nexport default Dropdown;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Dropdown from './Dropdown';\n\nconst propTypes = {\n children: PropTypes.node,\n};\n\nconst ButtonDropdown = (props) => {\n return (\n \n );\n};\n\nButtonDropdown.propTypes = propTypes;\n\nexport default ButtonDropdown;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\n\nconst propTypes = {\n tag: tagPropType,\n 'aria-label': PropTypes.string,\n className: PropTypes.string,\n cssModule: PropTypes.object,\n role: PropTypes.string,\n size: PropTypes.string,\n vertical: PropTypes.bool,\n};\n\nconst defaultProps = {\n tag: 'div',\n role: 'group',\n};\n\nconst ButtonGroup = (props) => {\n const {\n className,\n cssModule,\n size,\n vertical,\n tag: Tag,\n ...attributes\n } = props;\n\n const classes = mapToCssModules(classNames(\n className,\n size ? 'btn-group-' + size : false,\n vertical ? 'btn-group-vertical' : 'btn-group'\n ), cssModule);\n\n return (\n \n );\n};\n\nButtonGroup.propTypes = propTypes;\nButtonGroup.defaultProps = defaultProps;\n\nexport default ButtonGroup;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\n\nconst propTypes = {\n tag: tagPropType,\n 'aria-label': PropTypes.string,\n className: PropTypes.string,\n cssModule: PropTypes.object,\n role: PropTypes.string,\n};\n\nconst defaultProps = {\n tag: 'div',\n role: 'toolbar',\n};\n\nconst ButtonToolbar = (props) => {\n const {\n className,\n cssModule,\n tag: Tag,\n ...attributes\n } = props;\n\n const classes = mapToCssModules(classNames(\n className,\n 'btn-toolbar'\n ), cssModule);\n\n return (\n \n );\n};\n\nButtonToolbar.propTypes = propTypes;\nButtonToolbar.defaultProps = defaultProps;\n\nexport default ButtonToolbar;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { DropdownContext } from './DropdownContext';\nimport { mapToCssModules, omit, tagPropType } from './utils';\n\nconst propTypes = {\n children: PropTypes.node,\n active: PropTypes.bool,\n disabled: PropTypes.bool,\n divider: PropTypes.bool,\n tag: tagPropType,\n header: PropTypes.bool,\n onClick: PropTypes.func,\n className: PropTypes.string,\n cssModule: PropTypes.object,\n toggle: PropTypes.bool,\n text: PropTypes.bool\n};\n\nconst defaultProps = {\n tag: 'button',\n toggle: true\n};\n\nclass DropdownItem extends React.Component {\n constructor(props) {\n super(props);\n\n this.onClick = this.onClick.bind(this);\n this.getTabIndex = this.getTabIndex.bind(this);\n }\n\n getRole() {\n if(this.context.menuRole === 'listbox') {\n return 'option'\n }\n return 'menuitem'\n }\n\n onClick(e) {\n const { disabled, header, divider, text } = this.props;\n if (disabled || header || divider || text) {\n e.preventDefault();\n return;\n }\n\n if (this.props.onClick) {\n this.props.onClick(e);\n }\n\n if (this.props.toggle) {\n this.context.toggle(e);\n }\n }\n\n getTabIndex() {\n const { disabled, header, divider, text } = this.props;\n if (disabled || header || divider || text) {\n return '-1';\n }\n\n return '0';\n }\n\n render() {\n const tabIndex = this.getTabIndex();\n const role = tabIndex > -1 ? this.getRole() : undefined;\n let {\n className,\n cssModule,\n divider,\n tag: Tag,\n header,\n active,\n text,\n ...props } = omit(this.props, ['toggle']);\n\n const classes = mapToCssModules(classNames(\n className,\n {\n disabled: props.disabled,\n 'dropdown-item': !divider && !header && !text,\n active: active,\n 'dropdown-header': header,\n 'dropdown-divider': divider,\n 'dropdown-item-text': text\n }\n ), cssModule);\n\n if (Tag === 'button') {\n if (header) {\n Tag = 'h6';\n } else if (divider) {\n Tag = 'div';\n } else if (props.href) {\n Tag = 'a';\n } else if (text) {\n Tag = 'span';\n }\n }\n\n return (\n \n );\n }\n}\n\nDropdownItem.propTypes = propTypes;\nDropdownItem.defaultProps = defaultProps;\nDropdownItem.contextType = DropdownContext;\n\nexport default DropdownItem;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport ReactDOM from 'react-dom';\nimport classNames from 'classnames';\nimport { Popper } from 'react-popper';\nimport { DropdownContext } from './DropdownContext';\nimport { mapToCssModules, tagPropType, targetPropType, getTarget, deprecated } from './utils';\n\nconst propTypes = {\n tag: tagPropType,\n children: PropTypes.node.isRequired,\n dark: PropTypes.bool,\n end: PropTypes.bool,\n flip: PropTypes.bool,\n modifiers: PropTypes.array,\n className: PropTypes.string,\n cssModule: PropTypes.object,\n persist: PropTypes.bool,\n strategy: PropTypes.string,\n container: targetPropType,\n right: deprecated(PropTypes.bool, 'Please use \"end\" instead.'),\n};\n\nconst defaultProps = {\n tag: 'div',\n flip: true,\n modifiers: [],\n};\n\nconst directionPositionMap = {\n up: 'top',\n left: 'left',\n right: 'right',\n start: 'left',\n end: 'right',\n down: 'bottom',\n};\n\nclass DropdownMenu extends React.Component {\n\n getRole() {\n if(this.context.menuRole === 'listbox') {\n return 'listbox'\n }\n return 'menu'\n }\n\n render() {\n const {\n className,\n cssModule,\n dark,\n end,\n right,\n tag,\n flip,\n modifiers,\n persist,\n strategy,\n container,\n ...attrs\n } = this.props;\n\n const classes = mapToCssModules(classNames(\n className,\n 'dropdown-menu',\n {\n 'dropdown-menu-dark': dark,\n 'dropdown-menu-end': end || right,\n show: this.context.isOpen,\n }\n ), cssModule);\n\n const Tag = tag;\n\n if (persist || (this.context.isOpen && !this.context.inNavbar)) {\n\n const position1 = directionPositionMap[this.context.direction] || 'bottom';\n const position2 = (end || right) ? 'end' : 'start';\n const poperPlacement = `${position1}-${position2}`;\n const poperModifiers = [\n ...modifiers,\n {\n name: 'flip',\n enabled: !!flip,\n },\n ];\n\n const popper = (\n \n {({ ref, style, placement }) => {\n let combinedStyle = { ...this.props.style, ...style };\n\n const handleRef = (tagRef) => {\n // Send the ref to `react-popper`\n ref(tagRef);\n // Send the ref to the parent Dropdown so that clicks outside\n // it will cause it to close\n const { onMenuRef } = this.context;\n if (onMenuRef) onMenuRef(tagRef);\n };\n\n return (\n \n );\n }}\n \n );\n\n if (container) {\n return ReactDOM.createPortal(popper, getTarget(container));\n } else {\n return popper;\n }\n }\n\n return (\n \n );\n }\n};\n\nDropdownMenu.propTypes = propTypes;\nDropdownMenu.defaultProps = defaultProps;\nDropdownMenu.contextType = DropdownContext;\n\nexport default DropdownMenu;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { Reference } from 'react-popper';\nimport { DropdownContext } from './DropdownContext';\nimport { mapToCssModules, tagPropType } from './utils';\nimport Button from './Button';\n\nconst propTypes = {\n caret: PropTypes.bool,\n color: PropTypes.string,\n children: PropTypes.node,\n className: PropTypes.string,\n cssModule: PropTypes.object,\n disabled: PropTypes.bool,\n onClick: PropTypes.func,\n 'aria-haspopup': PropTypes.bool,\n split: PropTypes.bool,\n tag: tagPropType,\n nav: PropTypes.bool,\n};\n\nconst defaultProps = {\n color: 'secondary',\n 'aria-haspopup': true\n};\n\nclass DropdownToggle extends React.Component {\n constructor(props) {\n super(props);\n\n this.onClick = this.onClick.bind(this);\n }\n\n onClick(e) {\n if (this.props.disabled || this.context.disabled) {\n e.preventDefault();\n return;\n }\n\n if (this.props.nav && !this.props.tag) {\n e.preventDefault();\n }\n\n if (this.props.onClick) {\n this.props.onClick(e);\n }\n\n this.context.toggle(e);\n }\n\n getRole() {\n return this.context.menuRole || this.props['aria-haspopup'];\n }\n\n render() {\n const { className, color, cssModule, caret, split, nav, tag, innerRef, ...props } = this.props;\n const ariaLabel = props['aria-label'] || 'Toggle Dropdown';\n const classes = mapToCssModules(classNames(\n className,\n {\n 'dropdown-toggle': caret || split,\n 'dropdown-toggle-split': split,\n 'nav-link': nav\n }\n ), cssModule);\n const children =\n typeof props.children !== 'undefined' ? (\n props.children\n ) : (\n {ariaLabel}\n );\n\n let Tag;\n\n if (nav && !tag) {\n Tag = 'a';\n props.href = '#';\n } else if (!tag) {\n Tag = Button;\n props.color = color;\n props.cssModule = cssModule;\n } else {\n Tag = tag;\n }\n\n if (this.context.inNavbar) {\n return (\n \n );\n }\n\n return (\n \n {({ ref }) => (\n \n )}\n \n );\n }\n}\n\nDropdownToggle.propTypes = propTypes;\nDropdownToggle.defaultProps = defaultProps;\nDropdownToggle.contextType = DropdownContext;\n\nexport default DropdownToggle;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { Transition } from 'react-transition-group';\nimport { mapToCssModules, omit, pick, TransitionPropTypeKeys, TransitionTimeouts, tagPropType } from './utils';\n\nconst propTypes = {\n ...Transition.propTypes,\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node\n ]),\n tag: tagPropType,\n baseClass: PropTypes.string,\n baseClassActive: PropTypes.string,\n className: PropTypes.string,\n cssModule: PropTypes.object,\n innerRef: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.string,\n PropTypes.func,\n ]),\n};\n\nconst defaultProps = {\n ...Transition.defaultProps,\n tag: 'div',\n baseClass: 'fade',\n baseClassActive: 'show',\n timeout: TransitionTimeouts.Fade,\n appear: true,\n enter: true,\n exit: true,\n in: true,\n};\n\nfunction Fade(props) {\n const {\n tag: Tag,\n baseClass,\n baseClassActive,\n className,\n cssModule,\n children,\n innerRef,\n ...otherProps\n } = props;\n\n const transitionProps = pick(otherProps, TransitionPropTypeKeys);\n const childProps = omit(otherProps, TransitionPropTypeKeys);\n\n return (\n \n {(status) => {\n const isActive = status === 'entered';\n const classes = mapToCssModules(classNames(\n className,\n baseClass,\n isActive && baseClassActive\n ), cssModule);\n return (\n \n {children}\n \n );\n }}\n \n );\n}\n\nFade.propTypes = propTypes;\nFade.defaultProps = defaultProps;\n\nexport default Fade;\n","import React from 'react';\n\n/**\n * AccordionContext\n * {\n * toggle: PropTypes.func.isRequired,\n * openId: PropTypes.string, \n * }\n */\nexport const AccordionContext = React.createContext({});\n","import React, { useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\nimport { AccordionContext } from './AccordionContext';\n\nconst propTypes = {\n tag: tagPropType,\n className: PropTypes.string,\n cssModule: PropTypes.object,\n innerRef: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.string,\n PropTypes.func,\n ]),\n children: PropTypes.node,\n flush: PropTypes.bool,\n open: PropTypes.oneOfType([PropTypes.array, PropTypes.string]).isRequired,\n toggle: PropTypes.func.isRequired,\n};\n\nconst defaultProps = {\n tag: 'div'\n};\n\nconst Accordion = (props) => {\n const {\n flush,\n open,\n toggle,\n className,\n cssModule,\n tag: Tag,\n innerRef,\n ...attributes\n } = props;\n const classes = mapToCssModules(classNames(\n className,\n 'accordion',\n {\n 'accordion-flush': flush\n }\n ), cssModule);\n\n const accordionContext = useMemo(() => ({\n open,\n toggle,\n }));\n\n return (\n \n \n \n );\n};\n\nAccordion.propTypes = propTypes;\nAccordion.defaultProps = defaultProps;\n\nexport default Accordion;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { tagPropType } from './utils';\nimport Accordion from './Accordion';\n\nconst propTypes = {\n tag: tagPropType,\n className: PropTypes.string,\n cssModule: PropTypes.object,\n innerRef: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.string,\n PropTypes.func,\n ]),\n children: PropTypes.node,\n defaultOpen: PropTypes.oneOfType([PropTypes.array, PropTypes.string]),\n stayOpen: PropTypes.bool,\n};\n\nconst defaultProps = {\n tag: 'div'\n};\n\nconst UncontrolledAccordion = ({ defaultOpen, stayOpen, ...props }) => {\n const [open, setOpen] = useState(defaultOpen || (stayOpen ? [] : undefined));\n const toggle = (id) => {\n if (stayOpen) {\n open.includes(id) ? setOpen(open.filter(accordionId => accordionId !== id)) : setOpen([...open, id]);\n } else {\n open === id ? setOpen(undefined) : setOpen(id);\n }\n };\n\n return ;\n};\n\nAccordion.propTypes = propTypes;\nAccordion.defaultProps = defaultProps;\n\nexport default UncontrolledAccordion;\n","import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\nimport { AccordionContext } from './AccordionContext';\n\nconst propTypes = {\n tag: tagPropType,\n className: PropTypes.string,\n cssModule: PropTypes.object,\n innerRef: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.string,\n PropTypes.func,\n ]),\n children: PropTypes.node,\n targetId: PropTypes.string.isRequired,\n};\n\nconst defaultProps = {\n tag: 'h2'\n};\n\nconst AccordionHeader = (props) => {\n const {\n className,\n cssModule,\n tag: Tag,\n innerRef,\n children,\n targetId,\n ...attributes\n } = props;\n const { open, toggle } = useContext(AccordionContext);\n\n const classes = mapToCssModules(classNames(\n className,\n 'accordion-header',\n ), cssModule);\n\n const buttonClasses = mapToCssModules(classNames(\n 'accordion-button',\n {\n collapsed: !(Array.isArray(open) ? open.includes(targetId) : open === targetId)\n },\n ), cssModule);\n\n return (\n \n \n \n );\n};\n\nAccordionHeader.propTypes = propTypes;\nAccordionHeader.defaultProps = defaultProps;\n\nexport default AccordionHeader;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\n\nconst propTypes = {\n tag: tagPropType,\n className: PropTypes.string,\n cssModule: PropTypes.object,\n innerRef: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.string,\n PropTypes.func,\n ]),\n children: PropTypes.node,\n};\n\nconst defaultProps = {\n tag: 'div'\n};\n\nconst AccordionItem = (props) => {\n const {\n className,\n cssModule,\n tag: Tag,\n innerRef,\n ...attributes\n } = props;\n const classes = mapToCssModules(classNames(\n className,\n 'accordion-item',\n ), cssModule);\n\n return (\n \n );\n};\n\nAccordionItem.propTypes = propTypes;\nAccordionItem.defaultProps = defaultProps;\n\nexport default AccordionItem;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { Transition } from 'react-transition-group';\nimport { mapToCssModules, omit, pick, TransitionTimeouts, TransitionPropTypeKeys, TransitionStatuses, tagPropType } from './utils';\n\nconst propTypes = {\n ...Transition.propTypes,\n horizontal: PropTypes.bool,\n isOpen: PropTypes.bool,\n children: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.node),\n PropTypes.node\n ]),\n tag: tagPropType,\n className: PropTypes.node,\n navbar: PropTypes.bool,\n cssModule: PropTypes.object,\n innerRef: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.string,\n PropTypes.object\n ]),\n};\n\nconst defaultProps = {\n ...Transition.defaultProps,\n horizontal: false,\n isOpen: false,\n appear: false,\n enter: true,\n exit: true,\n tag: 'div',\n timeout: TransitionTimeouts.Collapse,\n};\n\nconst transitionStatusToClassHash = {\n [TransitionStatuses.ENTERING]: 'collapsing',\n [TransitionStatuses.ENTERED]: 'collapse show',\n [TransitionStatuses.EXITING]: 'collapsing',\n [TransitionStatuses.EXITED]: 'collapse',\n};\n\nfunction getTransitionClass(status) {\n return transitionStatusToClassHash[status] || 'collapse';\n}\n\nclass Collapse extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n dimension: null\n };\n\n ['onEntering', 'onEntered', 'onExit', 'onExiting', 'onExited'].forEach((name) => {\n this[name] = this[name].bind(this);\n });\n }\n\n getDimension(node) {\n return this.props.horizontal ? node.scrollWidth : node.scrollHeight;\n }\n\n onEntering(node, isAppearing) {\n this.setState({ dimension: this.getDimension(node) });\n this.props.onEntering(node, isAppearing);\n }\n\n onEntered(node, isAppearing) {\n this.setState({ dimension: null });\n this.props.onEntered(node, isAppearing);\n }\n\n onExit(node) {\n this.setState({ dimension: this.getDimension(node) });\n this.props.onExit(node);\n }\n\n onExiting(node) {\n // getting this variable triggers a reflow\n const _unused = this.getDimension(node); // eslint-disable-line no-unused-vars\n this.setState({ dimension: 0 });\n this.props.onExiting(node);\n }\n\n onExited(node) {\n this.setState({ dimension: null });\n this.props.onExited(node);\n }\n\n render() {\n const {\n tag: Tag,\n horizontal,\n isOpen,\n className,\n navbar,\n cssModule,\n children,\n innerRef,\n ...otherProps\n } = this.props;\n\n const { dimension } = this.state;\n\n const transitionProps = pick(otherProps, TransitionPropTypeKeys);\n const childProps = omit(otherProps, TransitionPropTypeKeys);\n return (\n \n {(status) => {\n let collapseClass = getTransitionClass(status);\n const classes = mapToCssModules(classNames(\n className,\n horizontal && 'collapse-horizontal',\n collapseClass,\n navbar && 'navbar-collapse'\n ), cssModule);\n const style = dimension === null ? null : { [horizontal ? 'width' : 'height']: dimension };\n return (\n \n {children}\n \n );\n }}\n \n );\n }\n}\n\nCollapse.propTypes = propTypes;\nCollapse.defaultProps = defaultProps;\nexport default Collapse;\n","import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\nimport Collapse from './Collapse';\nimport { AccordionContext } from './AccordionContext';\n\nconst propTypes = {\n tag: tagPropType,\n className: PropTypes.string,\n cssModule: PropTypes.object,\n innerRef: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.string,\n PropTypes.func,\n ]),\n children: PropTypes.node,\n accordionId: PropTypes.string.isRequired,\n};\n\nconst defaultProps = {\n tag: 'div'\n};\n\nconst AccordionItem = (props) => {\n const {\n className,\n cssModule,\n tag: Tag,\n innerRef,\n children,\n accordionId,\n ...attributes\n } = props;\n\n const { open } = useContext(AccordionContext);\n\n const classes = mapToCssModules(classNames(\n className,\n 'accordion-collapse',\n ), cssModule);\n\n return (\n \n {children}\n \n );\n};\n\nAccordionItem.propTypes = propTypes;\nAccordionItem.defaultProps = defaultProps;\n\nexport default AccordionItem;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\n\nconst propTypes = {\n color: PropTypes.string,\n pill: PropTypes.bool,\n tag: tagPropType,\n innerRef: PropTypes.oneOfType([PropTypes.object, PropTypes.func, PropTypes.string]),\n children: PropTypes.node,\n className: PropTypes.string,\n cssModule: PropTypes.object,\n};\n\nconst defaultProps = {\n color: 'secondary',\n pill: false,\n tag: 'span'\n};\n\nconst Badge = (props) => {\n let {\n className,\n cssModule,\n color,\n innerRef,\n pill,\n tag: Tag,\n ...attributes\n } = props;\n\n const classes = mapToCssModules(classNames(\n className,\n 'badge',\n 'bg-' + color,\n pill ? 'rounded-pill' : false\n ), cssModule);\n\n if (attributes.href && Tag === 'span') {\n Tag = 'a';\n }\n\n return (\n \n );\n};\n\nBadge.propTypes = propTypes;\nBadge.defaultProps = defaultProps;\n\nexport default Badge;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\n\nconst propTypes = {\n tag: tagPropType,\n inverse: PropTypes.bool,\n color: PropTypes.string,\n body: PropTypes.bool,\n outline: PropTypes.bool,\n className: PropTypes.string,\n cssModule: PropTypes.object,\n innerRef: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.string,\n PropTypes.func,\n ]),\n};\n\nconst defaultProps = {\n tag: 'div'\n};\n\nconst Card = (props) => {\n const {\n className,\n cssModule,\n color,\n body,\n inverse,\n outline,\n tag: Tag,\n innerRef,\n ...attributes\n } = props;\n const classes = mapToCssModules(classNames(\n className,\n 'card',\n inverse ? 'text-white' : false,\n body ? 'card-body' : false,\n color ? `${outline ? 'border' : 'bg'}-${color}` : false\n ), cssModule);\n\n return (\n \n );\n};\n\nCard.propTypes = propTypes;\nCard.defaultProps = defaultProps;\n\nexport default Card;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\n\nconst propTypes = {\n tag: tagPropType,\n className: PropTypes.string,\n cssModule: PropTypes.object,\n};\n\nconst defaultProps = {\n tag: 'div'\n};\n\nconst CardGroup = (props) => {\n const {\n className,\n cssModule,\n tag: Tag,\n ...attributes\n } = props;\n const classes = mapToCssModules(classNames(\n className,\n 'card-group'\n ), cssModule);\n\n return (\n \n );\n};\n\nCardGroup.propTypes = propTypes;\nCardGroup.defaultProps = defaultProps;\n\nexport default CardGroup;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\n\nconst propTypes = {\n tag: tagPropType,\n className: PropTypes.string,\n cssModule: PropTypes.object,\n};\n\nconst defaultProps = {\n tag: 'div',\n};\n\nconst CardDeck = (props) => {\n const {\n className,\n cssModule,\n tag: Tag,\n ...attributes\n } = props;\n const classes = mapToCssModules(classNames(\n className,\n 'card-deck'\n ), cssModule);\n\n return (\n \n );\n};\n\nCardDeck.propTypes = propTypes;\nCardDeck.defaultProps = defaultProps;\n\nexport default CardDeck;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\n\nconst propTypes = {\n tag: tagPropType,\n className: PropTypes.string,\n cssModule: PropTypes.object,\n};\n\nconst defaultProps = {\n tag: 'div'\n};\n\nconst CardColumns = (props) => {\n const {\n className,\n cssModule,\n tag: Tag,\n ...attributes\n } = props;\n const classes = mapToCssModules(classNames(\n className,\n 'card-columns'\n ), cssModule);\n\n return (\n \n );\n};\n\nCardColumns.propTypes = propTypes;\nCardColumns.defaultProps = defaultProps;\n\nexport default CardColumns;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\n\nconst propTypes = {\n tag: tagPropType,\n className: PropTypes.string,\n cssModule: PropTypes.object,\n innerRef: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.string,\n PropTypes.func,\n ]),\n};\n\nconst defaultProps = {\n tag: 'div'\n};\n\nconst CardBody = (props) => {\n const {\n className,\n cssModule,\n innerRef,\n tag: Tag,\n ...attributes\n } = props;\n const classes = mapToCssModules(classNames(\n className,\n 'card-body'\n ), cssModule);\n\n return (\n \n );\n};\n\nCardBody.propTypes = propTypes;\nCardBody.defaultProps = defaultProps;\n\nexport default CardBody;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\n\nconst propTypes = {\n tag: tagPropType,\n innerRef: PropTypes.oneOfType([PropTypes.object, PropTypes.func, PropTypes.string]),\n className: PropTypes.string,\n cssModule: PropTypes.object,\n};\n\nconst defaultProps = {\n tag: 'a'\n};\n\nconst CardLink = (props) => {\n const {\n className,\n cssModule,\n tag: Tag,\n innerRef,\n ...attributes\n } = props;\n const classes = mapToCssModules(classNames(\n className,\n 'card-link'\n ), cssModule);\n\n return (\n \n );\n};\n\nCardLink.propTypes = propTypes;\nCardLink.defaultProps = defaultProps;\n\nexport default CardLink;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\n\nconst propTypes = {\n tag: tagPropType,\n className: PropTypes.string,\n cssModule: PropTypes.object,\n};\n\nconst defaultProps = {\n tag: 'div'\n};\n\nconst CardFooter = (props) => {\n const {\n className,\n cssModule,\n tag: Tag,\n ...attributes\n } = props;\n const classes = mapToCssModules(classNames(\n className,\n 'card-footer'\n ), cssModule);\n\n return (\n \n );\n};\n\nCardFooter.propTypes = propTypes;\nCardFooter.defaultProps = defaultProps;\n\nexport default CardFooter;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\n\nconst propTypes = {\n tag: tagPropType,\n className: PropTypes.string,\n cssModule: PropTypes.object,\n};\n\nconst defaultProps = {\n tag: 'div'\n};\n\nconst CardHeader = (props) => {\n const {\n className,\n cssModule,\n tag: Tag,\n ...attributes\n } = props;\n const classes = mapToCssModules(classNames(\n className,\n 'card-header'\n ), cssModule);\n\n return (\n \n );\n};\n\nCardHeader.propTypes = propTypes;\nCardHeader.defaultProps = defaultProps;\n\nexport default CardHeader;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\n\nconst propTypes = {\n tag: tagPropType,\n top: PropTypes.bool,\n bottom: PropTypes.bool,\n className: PropTypes.string,\n cssModule: PropTypes.object,\n};\n\nconst defaultProps = {\n tag: 'img'\n};\n\nconst CardImg = (props) => {\n const {\n className,\n cssModule,\n top,\n bottom,\n tag: Tag,\n ...attributes\n } = props;\n\n let cardImgClassName = 'card-img';\n if (top) {\n cardImgClassName = 'card-img-top';\n }\n if (bottom) {\n cardImgClassName = 'card-img-bottom';\n }\n\n const classes = mapToCssModules(classNames(\n className,\n cardImgClassName\n ), cssModule);\n\n return (\n \n );\n};\n\nCardImg.propTypes = propTypes;\nCardImg.defaultProps = defaultProps;\n\nexport default CardImg;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\n\nconst propTypes = {\n tag: tagPropType,\n className: PropTypes.string,\n cssModule: PropTypes.object,\n};\n\nconst defaultProps = {\n tag: 'div'\n};\n\nconst CardImgOverlay = (props) => {\n const {\n className,\n cssModule,\n tag: Tag,\n ...attributes\n } = props;\n const classes = mapToCssModules(classNames(\n className,\n 'card-img-overlay'\n ), cssModule);\n\n return (\n \n );\n};\n\nCardImgOverlay.propTypes = propTypes;\nCardImgOverlay.defaultProps = defaultProps;\n\nexport default CardImgOverlay;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { Transition } from 'react-transition-group';\nimport { mapToCssModules, TransitionTimeouts, TransitionStatuses, tagPropType } from './utils';\n\nclass CarouselItem extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n startAnimation: false,\n };\n\n this.onEnter = this.onEnter.bind(this);\n this.onEntering = this.onEntering.bind(this);\n this.onExit = this.onExit.bind(this);\n this.onExiting = this.onExiting.bind(this);\n this.onExited = this.onExited.bind(this);\n }\n\n onEnter(node, isAppearing) {\n this.setState({ startAnimation: false });\n this.props.onEnter(node, isAppearing);\n }\n\n onEntering(node, isAppearing) {\n // getting this variable triggers a reflow\n const offsetHeight = node.offsetHeight;\n this.setState({ startAnimation: true });\n this.props.onEntering(node, isAppearing);\n return offsetHeight;\n }\n\n onExit(node) {\n this.setState({ startAnimation: false });\n this.props.onExit(node);\n }\n\n onExiting(node) {\n this.setState({ startAnimation: true });\n node.dispatchEvent(new CustomEvent('slide.bs.carousel'));\n this.props.onExiting(node);\n }\n\n onExited(node) {\n node.dispatchEvent(new CustomEvent('slid.bs.carousel'));\n this.props.onExited(node);\n }\n\n render() {\n const { in: isIn, children, cssModule, slide, tag: Tag, className, ...transitionProps } = this.props;\n\n return (\n \n {(status) => {\n const { direction } = this.context;\n const isActive = (status === TransitionStatuses.ENTERED) || (status === TransitionStatuses.EXITING);\n const directionClassName = (status === TransitionStatuses.ENTERING || status === TransitionStatuses.EXITING) &&\n this.state.startAnimation &&\n (direction === 'end' ? 'carousel-item-start' : 'carousel-item-end');\n const orderClassName = (status === TransitionStatuses.ENTERING) &&\n (direction === 'end' ? 'carousel-item-next' : 'carousel-item-prev');\n const itemClasses = mapToCssModules(classNames(\n className,\n 'carousel-item',\n isActive && 'active',\n directionClassName,\n orderClassName,\n ), cssModule);\n\n return (\n \n {children}\n \n );\n }}\n \n );\n }\n}\n\nCarouselItem.propTypes = {\n ...Transition.propTypes,\n tag: tagPropType,\n in: PropTypes.bool,\n cssModule: PropTypes.object,\n children: PropTypes.node,\n slide: PropTypes.bool,\n className: PropTypes.string,\n};\n\nCarouselItem.defaultProps = {\n ...Transition.defaultProps,\n tag: 'div',\n timeout: TransitionTimeouts.Carousel,\n slide: true,\n};\n\nCarouselItem.contextTypes = {\n direction: PropTypes.string\n};\n\nexport default CarouselItem;\n","import React from 'react';\n\n/**\n * CarouselContext\n * {\n * direction: PropTypes.oneOf(['start', 'end']).isRequired,\n * }\n */\nexport const CarouselContext = React.createContext({});\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport CarouselItem from './CarouselItem';\nimport { CarouselContext } from './CarouselContext';\nimport { mapToCssModules } from './utils';\n \nconst SWIPE_THRESHOLD = 40;\n\nclass Carousel extends React.Component {\n constructor(props) {\n super(props);\n this.handleKeyPress = this.handleKeyPress.bind(this);\n this.renderItems = this.renderItems.bind(this);\n this.hoverStart = this.hoverStart.bind(this);\n this.hoverEnd = this.hoverEnd.bind(this);\n this.handleTouchStart = this.handleTouchStart.bind(this);\n this.handleTouchEnd = this.handleTouchEnd.bind(this);\n this.touchStartX = 0;\n this.touchStartY = 0;\n this.state = {\n activeIndex: this.props.activeIndex,\n direction: 'end',\n indicatorClicked: false,\n };\n }\n\n getContextValue() {\n return { direction: this.state.direction };\n }\n\n componentDidMount() {\n // Set up the cycle\n if (this.props.ride === 'carousel') {\n this.setInterval();\n }\n\n // TODO: move this to the specific carousel like bootstrap. Currently it will trigger ALL carousels on the page.\n document.addEventListener('keyup', this.handleKeyPress);\n }\n\n static getDerivedStateFromProps(nextProps, prevState) {\n let newState = null;\n let { activeIndex, direction, indicatorClicked } = prevState;\n\n if (nextProps.activeIndex !== activeIndex) {\n // Calculate the direction to turn\n if (nextProps.activeIndex === activeIndex + 1) {\n direction = 'end';\n } else if (nextProps.activeIndex === activeIndex -1) {\n direction = 'start';\n } else if (nextProps.activeIndex < activeIndex) {\n direction = indicatorClicked ? 'start' : 'end';\n } else if (nextProps.activeIndex !== activeIndex) {\n direction = indicatorClicked ? 'end' : 'start';\n }\n\n newState = {\n activeIndex: nextProps.activeIndex,\n direction,\n indicatorClicked: false,\n }\n }\n\n return newState;\n }\n\n componentDidUpdate(prevProps, prevState) {\n if (prevState.activeIndex === this.state.activeIndex) return;\n this.setInterval(this.props);\n }\n\n componentWillUnmount() {\n this.clearInterval();\n document.removeEventListener('keyup', this.handleKeyPress);\n }\n\n setInterval(props = this.props) {\n // make sure not to have multiple intervals going...\n this.clearInterval();\n if (props.interval) {\n this.cycleInterval = setInterval(() => {\n props.next();\n }, parseInt(props.interval, 10));\n }\n }\n\n clearInterval() {\n clearInterval(this.cycleInterval);\n }\n\n hoverStart(...args) {\n if (this.props.pause === 'hover') {\n this.clearInterval();\n }\n if (this.props.mouseEnter) {\n this.props.mouseEnter(...args);\n }\n }\n\n hoverEnd(...args) {\n if (this.props.pause === 'hover') {\n this.setInterval();\n }\n if (this.props.mouseLeave) {\n this.props.mouseLeave(...args);\n }\n }\n\n handleKeyPress(evt) {\n if (this.props.keyboard) {\n if (evt.keyCode === 37) {\n this.props.previous();\n } else if (evt.keyCode === 39) {\n this.props.next();\n }\n }\n }\n\n handleTouchStart(e) {\n if(!this.props.enableTouch) {\n return;\n }\n this.touchStartX = e.changedTouches[0].screenX;\n this.touchStartY = e.changedTouches[0].screenY;\n }\n\n handleTouchEnd(e) {\n if(!this.props.enableTouch) {\n return;\n }\n\n const currentX = e.changedTouches[0].screenX;\n const currentY = e.changedTouches[0].screenY;\n const diffX = Math.abs(this.touchStartX - currentX);\n const diffY = Math.abs(this.touchStartY - currentY);\n\n // Don't swipe if Y-movement is bigger than X-movement\n if(diffX < diffY) {\n return;\n }\n\n if(diffX < SWIPE_THRESHOLD) {\n return;\n }\n\n if(currentX < this.touchStartX) {\n this.props.next();\n } else {\n this.props.previous();\n }\n }\n\n renderItems(carouselItems, className) {\n const { slide } = this.props;\n return (\n
\n {carouselItems.map((item, index) => {\n const isIn = (index === this.state.activeIndex);\n return React.cloneElement(item, {\n in: isIn,\n slide: slide,\n });\n })}\n
\n );\n }\n\n render() {\n const { cssModule, slide, className, dark, fade } = this.props;\n const outerClasses = mapToCssModules(classNames(\n className,\n 'carousel',\n 'carousel-fade' && fade,\n slide && 'slide',\n dark && 'carousel-dark'\n ), cssModule);\n\n const innerClasses = mapToCssModules(classNames(\n 'carousel-inner'\n ), cssModule);\n\n // filter out booleans, null, or undefined\n const children = this.props.children.filter(child => child !== null && child !== undefined && typeof child !== 'boolean');\n\n const slidesOnly = children.every(child => child.type === CarouselItem);\n\n // Rendering only slides\n if (slidesOnly) {\n return (\n
\n \n {this.renderItems(children, innerClasses)}\n \n
\n );\n }\n\n // Rendering slides and controls\n if (children[0] instanceof Array) {\n const carouselItems = children[0];\n const controlLeft = children[1];\n const controlRight = children[2];\n\n return (\n
\n \n {this.renderItems(carouselItems, innerClasses)}\n {controlLeft}\n {controlRight}\n \n
\n );\n }\n\n // Rendering indicators, slides and controls\n const indicators = children[0];\n const wrappedOnClick = (e) => {\n if (typeof indicators.props.onClickHandler === 'function') {\n this.setState({ indicatorClicked: true }, () => indicators.props.onClickHandler(e));\n }\n };\n const wrappedIndicators = React.cloneElement(indicators, { onClickHandler: wrappedOnClick });\n const carouselItems = children[1];\n const controlLeft = children[2];\n const controlRight = children[3];\n\n return (\n
\n \n {wrappedIndicators}\n {this.renderItems(carouselItems, innerClasses)}\n {controlLeft}\n {controlRight}\n \n
\n );\n }\n}\n\nCarousel.propTypes = {\n // the current active slide of the carousel\n activeIndex: PropTypes.number,\n // a function which should advance the carousel to the next slide (via activeIndex)\n next: PropTypes.func.isRequired,\n // a function which should advance the carousel to the previous slide (via activeIndex)\n previous: PropTypes.func.isRequired,\n // controls if the left and right arrow keys should control the carousel\n keyboard: PropTypes.bool,\n /* If set to \"hover\", pauses the cycling of the carousel on mouseenter and resumes the cycling of the carousel on\n * mouseleave. If set to false, hovering over the carousel won't pause it. (default: \"hover\")\n */\n pause: PropTypes.oneOf(['hover', false]),\n // Autoplays the carousel after the user manually cycles the first item. If \"carousel\", autoplays the carousel on load.\n // This is how bootstrap defines it... I would prefer a bool named autoplay or something...\n ride: PropTypes.oneOf(['carousel']),\n // the interval at which the carousel automatically cycles (default: 5000)\n // eslint-disable-next-line react/no-unused-prop-types\n interval: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n PropTypes.bool,\n ]),\n children: PropTypes.array,\n // called when the mouse enters the Carousel\n mouseEnter: PropTypes.func,\n // called when the mouse exits the Carousel\n mouseLeave: PropTypes.func,\n // controls whether the slide animation on the Carousel works or not\n slide: PropTypes.bool,\n // make the controls, indicators and captions dark on the Carousel\n dark: PropTypes.bool,\n cssModule: PropTypes.object,\n className: PropTypes.string,\n enableTouch: PropTypes.bool,\n};\n\nCarousel.defaultProps = {\n interval: 5000,\n pause: 'hover',\n keyboard: true,\n slide: true,\n enableTouch: true,\n fade: false,\n};\n\nCarousel.childContextTypes = {\n direction: PropTypes.string\n};\n\nexport default Carousel;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules } from './utils';\n\nconst CarouselControl = (props) => {\n const { direction, onClickHandler, cssModule, directionText, className } = props;\n\n const anchorClasses = mapToCssModules(classNames(\n className,\n `carousel-control-${direction}`\n ), cssModule);\n\n const iconClasses = mapToCssModules(classNames(\n `carousel-control-${direction}-icon`\n ), cssModule);\n\n const screenReaderClasses = mapToCssModules(classNames(\n 'visually-hidden'\n ), cssModule);\n\n\n return (\n // We need to disable this linting rule to use an `
` instead of\n // `);\n });\n\n return (\n
\n {indicators}\n
\n );\n};\n\nCarouselIndicators.propTypes = {\n items: PropTypes.array.isRequired,\n activeIndex: PropTypes.number.isRequired,\n cssModule: PropTypes.object,\n onClickHandler: PropTypes.func.isRequired,\n className: PropTypes.string,\n};\n\nexport default CarouselIndicators;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules } from './utils';\n\nconst CarouselCaption = (props) => {\n const { captionHeader, captionText, cssModule, className } = props;\n const classes = mapToCssModules(classNames(\n className,\n 'carousel-caption',\n 'd-none',\n 'd-md-block'\n ), cssModule);\n\n return (\n
\n

{captionHeader}

\n

{captionText}

\n
\n );\n};\n\nCarouselCaption.propTypes = {\n captionHeader: PropTypes.node,\n captionText: PropTypes.node.isRequired,\n cssModule: PropTypes.object,\n className: PropTypes.string,\n};\n\nexport default CarouselCaption;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport Carousel from './Carousel';\nimport CarouselItem from './CarouselItem';\nimport CarouselControl from './CarouselControl';\nimport CarouselIndicators from './CarouselIndicators';\nimport CarouselCaption from './CarouselCaption';\n\nconst propTypes = {\n items: PropTypes.array.isRequired,\n indicators: PropTypes.bool,\n controls: PropTypes.bool,\n autoPlay: PropTypes.bool,\n defaultActiveIndex: PropTypes.number,\n activeIndex: PropTypes.number,\n next: PropTypes.func,\n previous: PropTypes.func,\n goToIndex: PropTypes.func,\n};\n\nclass UncontrolledCarousel extends Component {\n constructor(props) {\n super(props);\n this.animating = false;\n this.state = { activeIndex: props.defaultActiveIndex || 0 };\n this.next = this.next.bind(this);\n this.previous = this.previous.bind(this);\n this.goToIndex = this.goToIndex.bind(this);\n this.onExiting = this.onExiting.bind(this);\n this.onExited = this.onExited.bind(this);\n }\n\n onExiting() {\n this.animating = true;\n }\n\n onExited() {\n this.animating = false;\n }\n\n next() {\n if (this.animating) return;\n const nextIndex = this.state.activeIndex === this.props.items.length - 1 ? 0 : this.state.activeIndex + 1;\n this.setState({ activeIndex: nextIndex });\n }\n\n previous() {\n if (this.animating) return;\n const nextIndex = this.state.activeIndex === 0 ? this.props.items.length - 1 : this.state.activeIndex - 1;\n this.setState({ activeIndex: nextIndex });\n }\n\n goToIndex(newIndex) {\n if (this.animating) return;\n this.setState({ activeIndex: newIndex });\n }\n\n render() {\n const { defaultActiveIndex, autoPlay, indicators, controls, items, goToIndex, ...props } = this.props;\n const { activeIndex } = this.state;\n\n const slides = items.map((item) => {\n const key = item.key || item.src;\n return (\n \n {item.altText}\n \n \n );\n });\n\n return (\n \n {indicators && }\n {slides}\n {controls && }\n {controls && }\n \n );\n }\n}\n\nUncontrolledCarousel.propTypes = propTypes;\nUncontrolledCarousel.defaultProps = {\n controls: true,\n indicators: true,\n autoPlay: true,\n};\n\nexport default UncontrolledCarousel;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\n\nconst propTypes = {\n tag: tagPropType,\n className: PropTypes.string,\n cssModule: PropTypes.object,\n};\n\nconst defaultProps = {\n tag: 'div'\n};\n\nconst CardSubtitle = (props) => {\n const {\n className,\n cssModule,\n tag: Tag,\n ...attributes\n } = props;\n const classes = mapToCssModules(classNames(\n className,\n 'card-subtitle'\n ), cssModule);\n\n return (\n \n );\n};\n\nCardSubtitle.propTypes = propTypes;\nCardSubtitle.defaultProps = defaultProps;\n\nexport default CardSubtitle;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\n\nconst propTypes = {\n tag: tagPropType,\n className: PropTypes.string,\n cssModule: PropTypes.object,\n};\n\nconst defaultProps = {\n tag: 'p'\n};\n\nconst CardText = (props) => {\n const {\n className,\n cssModule,\n tag: Tag,\n ...attributes\n } = props;\n const classes = mapToCssModules(classNames(\n className,\n 'card-text'\n ), cssModule);\n\n return (\n \n );\n};\n\nCardText.propTypes = propTypes;\nCardText.defaultProps = defaultProps;\n\nexport default CardText;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\n\nconst propTypes = {\n tag: tagPropType,\n className: PropTypes.string,\n cssModule: PropTypes.object,\n};\n\nconst defaultProps = {\n tag: 'div'\n};\n\nconst CardTitle = (props) => {\n const {\n className,\n cssModule,\n tag: Tag,\n ...attributes\n } = props;\n const classes = mapToCssModules(classNames(\n className,\n 'card-title'\n ), cssModule);\n\n return (\n \n );\n};\n\nCardTitle.propTypes = propTypes;\nCardTitle.defaultProps = defaultProps;\n\nexport default CardTitle;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport ReactDOM from 'react-dom';\nimport classNames from 'classnames';\nimport { Popper as ReactPopper } from 'react-popper';\nimport { getTarget, targetPropType, mapToCssModules, DOMElement, tagPropType } from './utils';\nimport Fade from './Fade';\n\nfunction noop() { }\n\nconst propTypes = {\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]).isRequired,\n popperClassName: PropTypes.string,\n placement: PropTypes.string,\n placementPrefix: PropTypes.string,\n arrowClassName: PropTypes.string,\n hideArrow: PropTypes.bool,\n tag: tagPropType,\n isOpen: PropTypes.bool.isRequired,\n cssModule: PropTypes.object,\n offset: PropTypes.arrayOf(PropTypes.number),\n fallbackPlacements: PropTypes.array,\n flip: PropTypes.bool,\n container: targetPropType,\n target: targetPropType.isRequired,\n modifiers: PropTypes.array,\n strategy: PropTypes.string,\n boundariesElement: PropTypes.oneOfType([PropTypes.string, DOMElement]),\n onClosed: PropTypes.func,\n fade: PropTypes.bool,\n transition: PropTypes.shape(Fade.propTypes),\n};\n\nconst defaultProps = {\n boundariesElement: 'scrollParent',\n placement: 'auto',\n hideArrow: false,\n isOpen: false,\n offset: [0, 0],\n flip: true,\n container: 'body',\n modifiers: [],\n onClosed: noop,\n fade: true,\n transition: {\n ...Fade.defaultProps,\n }\n};\n\nclass PopperContent extends React.Component {\n constructor(props) {\n super(props);\n\n this.setTargetNode = this.setTargetNode.bind(this);\n this.getTargetNode = this.getTargetNode.bind(this);\n this.getRef = this.getRef.bind(this);\n this.onClosed = this.onClosed.bind(this);\n this.state = { isOpen: props.isOpen };\n }\n\n static getDerivedStateFromProps(props, state) {\n if (props.isOpen && !state.isOpen) {\n return { isOpen: props.isOpen };\n }\n else return null;\n }\n\n componentDidUpdate() {\n if (this._element && this._element.childNodes && this._element.childNodes[0] && this._element.childNodes[0].focus) {\n this._element.childNodes[0].focus();\n }\n }\n\n setTargetNode(node) {\n this.targetNode = typeof node === 'string' ? getTarget(node) : node;\n }\n\n getTargetNode() {\n return this.targetNode;\n }\n\n getContainerNode() {\n return getTarget(this.props.container);\n }\n\n getRef(ref) {\n this._element = ref;\n }\n\n onClosed() {\n this.props.onClosed();\n this.setState({ isOpen: false });\n }\n\n renderChildren() {\n const {\n cssModule,\n children,\n isOpen,\n flip,\n target,\n offset,\n fallbackPlacements,\n placementPrefix,\n arrowClassName: _arrowClassName,\n hideArrow,\n popperClassName: _popperClassName,\n tag,\n container,\n modifiers,\n strategy,\n boundariesElement,\n onClosed,\n fade,\n transition,\n placement,\n ...attrs\n } = this.props;\n const arrowClassName = mapToCssModules(classNames(\n 'arrow',\n _arrowClassName\n ), cssModule);\n const popperClassName = mapToCssModules(classNames(\n _popperClassName,\n placementPrefix ? `${placementPrefix}-auto` : ''\n ), this.props.cssModule);\n\n const modifierNames = modifiers.map(m => m.name);\n const baseModifiers = [\n {\n name: 'offset',\n options: {\n offset,\n },\n },\n {\n name: 'flip',\n enabled: flip,\n options: {\n fallbackPlacements,\n },\n },\n {\n name: 'preventOverflow',\n options: {\n boundary: boundariesElement,\n },\n },\n ].filter(m => !modifierNames.includes(m.name));\n const extendedModifiers = [ ...baseModifiers, ...modifiers];\n\n const popperTransition = {\n ...Fade.defaultProps,\n ...transition,\n baseClass: fade ? transition.baseClass : '',\n timeout: fade ? transition.timeout : 0,\n }\n\n return (\n \n \n {({ ref, style, placement: popperPlacement, isReferenceHidden, arrowProps, update }) => (\n
\n {typeof children === 'function' ? children({ update }) : children}\n {!hideArrow && }\n
\n )}\n \n \n );\n }\n\n render() {\n this.setTargetNode(this.props.target);\n\n if (this.state.isOpen) {\n return this.props.container === 'inline' ?\n this.renderChildren() :\n ReactDOM.createPortal((
{this.renderChildren()}
), this.getContainerNode());\n }\n\n return null;\n }\n}\n\nPopperContent.propTypes = propTypes;\nPopperContent.defaultProps = defaultProps;\n\nexport default PopperContent;\n","import PropTypes from 'prop-types';\nimport { getTarget, targetPropType } from './utils';\n\nconst PopperTargetHelper = (props, context) => {\n context.popperManager.setTargetNode(getTarget(props.target));\n return null;\n};\n\nPopperTargetHelper.contextTypes = {\n popperManager: PropTypes.object.isRequired,\n};\n\nPopperTargetHelper.propTypes = {\n target: targetPropType.isRequired,\n};\n\nexport default PopperTargetHelper;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport PopperContent from './PopperContent';\nimport {\n getTarget,\n targetPropType,\n omit,\n PopperPlacements,\n mapToCssModules,\n DOMElement\n} from './utils';\n\nexport const propTypes = {\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n placement: PropTypes.oneOf(PopperPlacements),\n target: targetPropType.isRequired,\n container: targetPropType,\n isOpen: PropTypes.bool,\n disabled: PropTypes.bool,\n hideArrow: PropTypes.bool,\n boundariesElement: PropTypes.oneOfType([PropTypes.string, DOMElement]),\n className: PropTypes.string,\n innerClassName: PropTypes.string,\n arrowClassName: PropTypes.string,\n popperClassName: PropTypes.string,\n cssModule: PropTypes.object,\n toggle: PropTypes.func,\n autohide: PropTypes.bool,\n placementPrefix: PropTypes.string,\n delay: PropTypes.oneOfType([\n PropTypes.shape({ show: PropTypes.number, hide: PropTypes.number }),\n PropTypes.number\n ]),\n modifiers: PropTypes.array,\n strategy: PropTypes.string,\n offset: PropTypes.arrayOf(PropTypes.number),\n innerRef: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.string,\n PropTypes.object\n ]),\n trigger: PropTypes.string,\n fade: PropTypes.bool,\n flip: PropTypes.bool,\n};\n\nconst DEFAULT_DELAYS = {\n show: 0,\n hide: 50\n};\n\nconst defaultProps = {\n isOpen: false,\n hideArrow: false,\n autohide: false,\n delay: DEFAULT_DELAYS,\n toggle: function () {},\n trigger: 'click',\n fade: true,\n};\n\nfunction isInDOMSubtree(element, subtreeRoot) {\n return subtreeRoot && (element === subtreeRoot || subtreeRoot.contains(element));\n}\n\nfunction isInDOMSubtrees(element, subtreeRoots = []) {\n return subtreeRoots && subtreeRoots.length && subtreeRoots.filter(subTreeRoot=> isInDOMSubtree(element, subTreeRoot))[0];\n}\n\nclass TooltipPopoverWrapper extends React.Component {\n constructor(props) {\n super(props);\n\n this._targets = [];\n this.currentTargetElement = null;\n this.addTargetEvents = this.addTargetEvents.bind(this);\n this.handleDocumentClick = this.handleDocumentClick.bind(this);\n this.removeTargetEvents = this.removeTargetEvents.bind(this);\n this.toggle = this.toggle.bind(this);\n this.showWithDelay = this.showWithDelay.bind(this);\n this.hideWithDelay = this.hideWithDelay.bind(this);\n this.onMouseOverTooltipContent = this.onMouseOverTooltipContent.bind(this);\n this.onMouseLeaveTooltipContent = this.onMouseLeaveTooltipContent.bind(\n this\n );\n this.show = this.show.bind(this);\n this.hide = this.hide.bind(this);\n this.onEscKeyDown = this.onEscKeyDown.bind(this);\n this.getRef = this.getRef.bind(this);\n this.state = { isOpen: props.isOpen };\n this._isMounted = false;\n }\n\n componentDidMount() {\n this._isMounted = true;\n this.updateTarget();\n }\n\n componentWillUnmount() {\n this._isMounted = false;\n this.removeTargetEvents();\n this._targets = null;\n this.clearShowTimeout();\n this.clearHideTimeout();\n }\n\n static getDerivedStateFromProps(props, state) {\n if (props.isOpen && !state.isOpen) {\n return { isOpen: props.isOpen };\n }\n else return null;\n }\n\n onMouseOverTooltipContent() {\n if (this.props.trigger.indexOf('hover') > -1 && !this.props.autohide) {\n if (this._hideTimeout) {\n this.clearHideTimeout();\n }\n if (this.state.isOpen && !this.props.isOpen) {\n this.toggle();\n }\n }\n }\n\n onMouseLeaveTooltipContent(e) {\n if (this.props.trigger.indexOf('hover') > -1 && !this.props.autohide) {\n if (this._showTimeout) {\n this.clearShowTimeout();\n }\n e.persist();\n this._hideTimeout = setTimeout(\n this.hide.bind(this, e),\n this.getDelay('hide')\n );\n }\n }\n\n onEscKeyDown(e) {\n if (e.key === 'Escape') {\n this.hide(e);\n }\n }\n\n getRef(ref) {\n const { innerRef } = this.props;\n if (innerRef) {\n if (typeof innerRef === 'function') {\n innerRef(ref);\n } else if (typeof innerRef === 'object') {\n innerRef.current = ref;\n }\n }\n this._popover = ref;\n }\n\n getDelay(key) {\n const { delay } = this.props;\n if (typeof delay === 'object') {\n return isNaN(delay[key]) ? DEFAULT_DELAYS[key] : delay[key];\n }\n return delay;\n }\n\n getCurrentTarget(target) {\n if (!target)\n return null;\n const index = this._targets.indexOf(target);\n if (index >= 0)\n return this._targets[index];\n return this.getCurrentTarget(target.parentElement);\n }\n\n show(e) {\n if (!this.props.isOpen) {\n this.clearShowTimeout();\n this.currentTargetElement = e ? e.currentTarget || this.getCurrentTarget(e.target) : null;\n if (e && e.composedPath && typeof e.composedPath === 'function') {\n const path = e.composedPath();\n this.currentTargetElement = (path && path[0]) || this.currentTargetElement;\n }\n this.toggle(e);\n }\n }\n\n showWithDelay(e) {\n if (this._hideTimeout) {\n this.clearHideTimeout();\n }\n this._showTimeout = setTimeout(\n this.show.bind(this, e),\n this.getDelay('show')\n );\n }\n hide(e) {\n if (this.props.isOpen) {\n this.clearHideTimeout();\n this.currentTargetElement = null;\n this.toggle(e);\n }\n }\n\n hideWithDelay(e) {\n if (this._showTimeout) {\n this.clearShowTimeout();\n }\n this._hideTimeout = setTimeout(\n this.hide.bind(this, e),\n this.getDelay('hide')\n );\n }\n\n\n clearShowTimeout() {\n clearTimeout(this._showTimeout);\n this._showTimeout = undefined;\n }\n\n clearHideTimeout() {\n clearTimeout(this._hideTimeout);\n this._hideTimeout = undefined;\n }\n\n handleDocumentClick(e) {\n const triggers = this.props.trigger.split(' ');\n\n if (triggers.indexOf('legacy') > -1 && (this.props.isOpen || isInDOMSubtrees(e.target, this._targets))) {\n if (this._hideTimeout) {\n this.clearHideTimeout();\n }\n if (this.props.isOpen && !isInDOMSubtree(e.target, this._popover)) {\n this.hideWithDelay(e);\n } else if (!this.props.isOpen) {\n this.showWithDelay(e);\n }\n } else if (triggers.indexOf('click') > -1 && isInDOMSubtrees(e.target, this._targets)) {\n if (this._hideTimeout) {\n this.clearHideTimeout();\n }\n\n if (!this.props.isOpen) {\n this.showWithDelay(e);\n } else {\n this.hideWithDelay(e);\n }\n }\n }\n\n addEventOnTargets(type, handler, isBubble) {\n this._targets.forEach(target=> {\n target.addEventListener(type, handler, isBubble);\n });\n }\n\n removeEventOnTargets(type, handler, isBubble) {\n this._targets.forEach(target=> {\n target.removeEventListener(type, handler, isBubble);\n });\n }\n\n addTargetEvents() {\n if (this.props.trigger) {\n let triggers = this.props.trigger.split(' ');\n if (triggers.indexOf('manual') === -1) {\n if (triggers.indexOf('click') > -1 || triggers.indexOf('legacy') > -1) {\n document.addEventListener('click', this.handleDocumentClick, true);\n }\n\n if (this._targets && this._targets.length) {\n if (triggers.indexOf('hover') > -1) {\n this.addEventOnTargets(\n 'mouseover',\n this.showWithDelay,\n true\n );\n this.addEventOnTargets(\n 'mouseout',\n this.hideWithDelay,\n true\n );\n }\n if (triggers.indexOf('focus') > -1) {\n this.addEventOnTargets('focusin', this.show, true);\n this.addEventOnTargets('focusout', this.hide, true);\n }\n this.addEventOnTargets('keydown', this.onEscKeyDown, true);\n }\n }\n }\n }\n\n removeTargetEvents() {\n if (this._targets) {\n this.removeEventOnTargets(\n 'mouseover',\n this.showWithDelay,\n true\n );\n this.removeEventOnTargets(\n 'mouseout',\n this.hideWithDelay,\n true\n );\n this.removeEventOnTargets('keydown', this.onEscKeyDown, true);\n this.removeEventOnTargets('focusin', this.show, true);\n this.removeEventOnTargets('focusout', this.hide, true);\n }\n\n document.removeEventListener('click', this.handleDocumentClick, true)\n }\n\n updateTarget() {\n const newTarget = getTarget(this.props.target, true);\n if (newTarget !== this._targets) {\n this.removeTargetEvents();\n this._targets = newTarget ? Array.from(newTarget) : [];\n this.currentTargetElement = this.currentTargetElement || this._targets[0];\n this.addTargetEvents();\n }\n }\n\n toggle(e) {\n if (this.props.disabled || !this._isMounted) {\n return e && e.preventDefault();\n }\n\n return this.props.toggle(e);\n }\n\n render() {\n if (this.props.isOpen) {\n this.updateTarget();\n }\n\n const target = this.currentTargetElement || this._targets[0];\n if (!target) {\n return null;\n }\n\n const {\n className,\n cssModule,\n innerClassName,\n isOpen,\n hideArrow,\n boundariesElement,\n placement,\n placementPrefix,\n arrowClassName,\n popperClassName,\n container,\n modifiers,\n strategy,\n offset,\n fade,\n flip,\n children\n } = this.props;\n\n const attributes = omit(this.props, Object.keys(propTypes));\n\n const popperClasses = mapToCssModules(popperClassName, cssModule);\n\n const classes = mapToCssModules(innerClassName, cssModule);\n\n return (\n \n {({ update }) => (\n \n {typeof children === 'function' ? children({ update }) : children}\n
\n )}\n\n \n );\n }\n}\n\nTooltipPopoverWrapper.propTypes = propTypes;\nTooltipPopoverWrapper.defaultProps = defaultProps;\n\nexport default TooltipPopoverWrapper;\n","import React from 'react';\nimport classNames from 'classnames';\nimport TooltipPopoverWrapper, { propTypes } from './TooltipPopoverWrapper';\n\nconst defaultProps = {\n placement: 'right',\n placementPrefix: 'bs-popover',\n trigger: 'click',\n offset: [0, 8]\n};\n\nconst Popover = (props) => {\n const popperClasses = classNames(\n 'popover',\n 'show',\n props.popperClassName\n );\n\n const classes = classNames(\n 'popover-inner',\n props.innerClassName\n );\n\n\n return (\n \n );\n};\n\nPopover.propTypes = propTypes;\nPopover.defaultProps = defaultProps;\n\n\nexport default Popover;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport Popover from './Popover';\nimport { omit } from './utils';\n\nconst omitKeys = ['defaultOpen'];\n\nexport default class UncontrolledPopover extends Component {\n constructor(props) {\n super(props);\n\n this.state = { isOpen: props.defaultOpen || false };\n this.toggle = this.toggle.bind(this);\n }\n\n toggle() {\n this.setState({ isOpen: !this.state.isOpen });\n }\n\n render() {\n return ;\n }\n}\n\nUncontrolledPopover.propTypes = {\n defaultOpen: PropTypes.bool,\n ...Popover.propTypes\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\n\nconst propTypes = {\n tag: tagPropType,\n className: PropTypes.string,\n cssModule: PropTypes.object,\n};\n\nconst defaultProps = {\n tag: 'h3'\n};\n\nconst PopoverHeader = (props) => {\n const {\n className,\n cssModule,\n tag: Tag,\n ...attributes\n } = props;\n\n const classes = mapToCssModules(classNames(\n className,\n 'popover-header'\n ), cssModule);\n\n return (\n \n );\n};\n\nPopoverHeader.propTypes = propTypes;\nPopoverHeader.defaultProps = defaultProps;\n\nexport default PopoverHeader;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\n\nconst propTypes = {\n tag: tagPropType,\n className: PropTypes.string,\n cssModule: PropTypes.object,\n};\n\nconst defaultProps = {\n tag: 'div'\n};\n\nconst PopoverBody = (props) => {\n const {\n className,\n cssModule,\n tag: Tag,\n ...attributes\n } = props;\n\n const classes = mapToCssModules(classNames(\n className,\n 'popover-body'\n ), cssModule);\n\n return (\n \n );\n};\n\nPopoverBody.propTypes = propTypes;\nPopoverBody.defaultProps = defaultProps;\n\nexport default PopoverBody;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType, toNumber } from './utils';\n\nconst propTypes = {\n children: PropTypes.node,\n bar: PropTypes.bool,\n multi: PropTypes.bool,\n tag: tagPropType,\n value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n min: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n max: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n animated: PropTypes.bool,\n striped: PropTypes.bool,\n color: PropTypes.string,\n className: PropTypes.string,\n barClassName: PropTypes.string,\n cssModule: PropTypes.object,\n style: PropTypes.object,\n barStyle: PropTypes.object,\n barAriaValueText: PropTypes.string,\n barAriaLabelledBy: PropTypes.string,\n};\n\nconst defaultProps = {\n tag: 'div',\n value: 0,\n min: 0,\n max: 100,\n style: {},\n barStyle: {}\n};\n\nconst Progress = (props) => {\n const {\n children,\n className,\n barClassName,\n cssModule,\n value,\n min,\n max,\n animated,\n striped,\n color,\n bar,\n multi,\n tag: Tag,\n style,\n barStyle,\n barAriaValueText,\n barAriaLabelledBy,\n ...attributes\n } = props;\n\n const percent = ((toNumber(value) / toNumber(max)) * 100);\n\n const progressClasses = mapToCssModules(classNames(\n className,\n 'progress'\n ), cssModule);\n\n const progressBarClasses = mapToCssModules(classNames(\n 'progress-bar',\n bar ? className || barClassName : barClassName,\n animated ? 'progress-bar-animated' : null,\n color ? `bg-${color}` : null,\n striped || animated ? 'progress-bar-striped' : null\n ), cssModule);\n\n const progressBarProps = {\n className: progressBarClasses,\n style: {\n ...(bar ? style : {}),\n ...barStyle,\n width: `${percent}%`,\n },\n role: 'progressbar',\n 'aria-valuenow': value,\n 'aria-valuemin': min,\n 'aria-valuemax': max,\n 'aria-valuetext': barAriaValueText,\n 'aria-labelledby': barAriaLabelledBy,\n children: children\n };\n\n if (bar) {\n return (\n \n );\n }\n\n return (\n \n {multi ? children :
}\n \n );\n};\n\nProgress.propTypes = propTypes;\nProgress.defaultProps = defaultProps;\n\nexport default Progress;\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport { canUseDOM } from './utils';\n\nconst propTypes = {\n children: PropTypes.node.isRequired,\n node: PropTypes.any\n};\n\nclass Portal extends React.Component {\n componentWillUnmount() {\n if (this.defaultNode) {\n document.body.removeChild(this.defaultNode);\n }\n this.defaultNode = null;\n }\n\n render() {\n if (!canUseDOM) {\n return null;\n }\n\n if (!this.props.node && !this.defaultNode) {\n this.defaultNode = document.createElement('div');\n document.body.appendChild(this.defaultNode);\n }\n\n return ReactDOM.createPortal(\n this.props.children,\n this.props.node || this.defaultNode\n );\n }\n}\n\nPortal.propTypes = propTypes;\n\nexport default Portal;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport Portal from './Portal';\nimport Fade from './Fade';\nimport {\n getOriginalBodyPadding,\n conditionallyUpdateScrollbar,\n setScrollbarWidth,\n mapToCssModules,\n omit,\n focusableElements,\n TransitionTimeouts,\n keyCodes,\n targetPropType,\n getTarget\n} from './utils';\n\nfunction noop() { }\n\nconst FadePropTypes = PropTypes.shape(Fade.propTypes);\n\nconst propTypes = {\n isOpen: PropTypes.bool,\n autoFocus: PropTypes.bool,\n centered: PropTypes.bool,\n fullscreen: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.oneOf(['sm', 'md', 'lg', 'xl']),\n ]),\n scrollable: PropTypes.bool,\n size: PropTypes.string,\n toggle: PropTypes.func,\n keyboard: PropTypes.bool,\n role: PropTypes.string,\n labelledBy: PropTypes.string,\n backdrop: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.oneOf(['static'])\n ]),\n onEnter: PropTypes.func,\n onExit: PropTypes.func,\n onOpened: PropTypes.func,\n onClosed: PropTypes.func,\n children: PropTypes.node,\n className: PropTypes.string,\n wrapClassName: PropTypes.string,\n modalClassName: PropTypes.string,\n backdropClassName: PropTypes.string,\n contentClassName: PropTypes.string,\n external: PropTypes.node,\n fade: PropTypes.bool,\n cssModule: PropTypes.object,\n zIndex: PropTypes.oneOfType([\n PropTypes.number,\n PropTypes.string,\n ]),\n backdropTransition: FadePropTypes,\n modalTransition: FadePropTypes,\n innerRef: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.string,\n PropTypes.func,\n ]),\n unmountOnClose: PropTypes.bool,\n returnFocusAfterClose: PropTypes.bool,\n container: targetPropType,\n trapFocus: PropTypes.bool\n};\n\nconst propsToOmit = Object.keys(propTypes);\n\nconst defaultProps = {\n isOpen: false,\n autoFocus: true,\n centered: false,\n scrollable: false,\n role: 'dialog',\n backdrop: true,\n keyboard: true,\n zIndex: 1050,\n fade: true,\n onOpened: noop,\n onClosed: noop,\n modalTransition: {\n timeout: TransitionTimeouts.Modal,\n },\n backdropTransition: {\n mountOnEnter: true,\n timeout: TransitionTimeouts.Fade, // uses standard fade transition\n },\n unmountOnClose: true,\n returnFocusAfterClose: true,\n container: 'body',\n trapFocus: false\n};\n\nclass Modal extends React.Component {\n constructor(props) {\n super(props);\n\n this._element = null;\n this._originalBodyPadding = null;\n this.getFocusableChildren = this.getFocusableChildren.bind(this);\n this.handleBackdropClick = this.handleBackdropClick.bind(this);\n this.handleBackdropMouseDown = this.handleBackdropMouseDown.bind(this);\n this.handleEscape = this.handleEscape.bind(this);\n this.handleStaticBackdropAnimation = this.handleStaticBackdropAnimation.bind(this);\n this.handleTab = this.handleTab.bind(this);\n this.onOpened = this.onOpened.bind(this);\n this.onClosed = this.onClosed.bind(this);\n this.manageFocusAfterClose = this.manageFocusAfterClose.bind(this);\n this.clearBackdropAnimationTimeout = this.clearBackdropAnimationTimeout.bind(this);\n this.trapFocus = this.trapFocus.bind(this);\n\n this.state = {\n isOpen: false,\n showStaticBackdropAnimation: false\n };\n }\n\n componentDidMount() {\n const { isOpen, autoFocus, onEnter } = this.props;\n\n if (isOpen) {\n this.init();\n this.setState({ isOpen: true })\n if (autoFocus) {\n this.setFocus();\n }\n }\n\n if (onEnter) {\n onEnter();\n }\n\n // traps focus inside the Modal, even if the browser address bar is focused\n document.addEventListener('focus', this.trapFocus, true);\n\n this._isMounted = true;\n }\n\n componentDidUpdate(prevProps, prevState) {\n if (this.props.isOpen && !prevProps.isOpen) {\n this.init();\n this.setState({ isOpen: true});\n // let render() renders Modal Dialog first\n return;\n }\n\n // now Modal Dialog is rendered and we can refer this._element and this._dialog\n if (this.props.autoFocus && this.state.isOpen && !prevState.isOpen) {\n this.setFocus();\n }\n\n if (this._element && prevProps.zIndex !== this.props.zIndex) {\n this._element.style.zIndex = this.props.zIndex;\n }\n }\n\n componentWillUnmount() {\n this.clearBackdropAnimationTimeout();\n\n if (this.props.onExit) {\n this.props.onExit();\n }\n\n if (this._element) {\n this.destroy();\n if (this.props.isOpen || this.state.isOpen) {\n this.close();\n }\n }\n\n document.removeEventListener('focus', this.trapFocus, true);\n this._isMounted = false;\n }\n\n trapFocus (ev) {\n if (!this.props.trapFocus) {\n return;\n }\n\n if (!this._element) //element is not attached\n return;\n\n if (this._dialog && this._dialog.parentNode === ev.target) // initial focus when the Modal is opened\n return;\n\n if (this.modalIndex < (Modal.openCount - 1)) // last opened modal\n return;\n\n const children = this.getFocusableChildren();\n\n for (let i = 0; i < children.length; i++) { // focus is already inside the Modal\n if (children[i] === ev.target)\n return;\n }\n\n if (children.length > 0) { // otherwise focus the first focusable element in the Modal\n ev.preventDefault();\n ev.stopPropagation();\n children[0].focus();\n }\n }\n\n onOpened(node, isAppearing) {\n this.props.onOpened();\n (this.props.modalTransition.onEntered || noop)(node, isAppearing);\n }\n\n onClosed(node) {\n const { unmountOnClose } = this.props;\n // so all methods get called before it is unmounted\n this.props.onClosed();\n (this.props.modalTransition.onExited || noop)(node);\n\n if (unmountOnClose) {\n this.destroy();\n }\n this.close();\n\n if (this._isMounted) {\n this.setState({ isOpen: false });\n }\n }\n\n setFocus() {\n if (this._dialog && this._dialog.parentNode && typeof this._dialog.parentNode.focus === 'function') {\n this._dialog.parentNode.focus();\n }\n }\n\n getFocusableChildren() {\n return this._element.querySelectorAll(focusableElements.join(', '));\n }\n\n getFocusedChild() {\n let currentFocus;\n const focusableChildren = this.getFocusableChildren();\n\n try {\n currentFocus = document.activeElement;\n } catch (err) {\n currentFocus = focusableChildren[0];\n }\n return currentFocus;\n }\n\n // not mouseUp because scrollbar fires it, shouldn't close when user scrolls\n handleBackdropClick(e) {\n if (e.target === this._mouseDownElement) {\n e.stopPropagation();\n\n const backdrop = this._dialog ? this._dialog.parentNode : null;\n\n if (backdrop && e.target === backdrop && this.props.backdrop === 'static') {\n this.handleStaticBackdropAnimation();\n }\n\n if (!this.props.isOpen || this.props.backdrop !== true) return;\n\n if (backdrop && e.target === backdrop && this.props.toggle) {\n this.props.toggle(e);\n }\n }\n }\n\n handleTab(e) {\n if (e.which !== 9) return;\n if (this.modalIndex < (Modal.openCount - 1)) return; // last opened modal\n\n const focusableChildren = this.getFocusableChildren();\n const totalFocusable = focusableChildren.length;\n if (totalFocusable === 0) return;\n const currentFocus = this.getFocusedChild();\n\n let focusedIndex = 0;\n\n for (let i = 0; i < totalFocusable; i += 1) {\n if (focusableChildren[i] === currentFocus) {\n focusedIndex = i;\n break;\n }\n }\n\n if (e.shiftKey && focusedIndex === 0) {\n e.preventDefault();\n focusableChildren[totalFocusable - 1].focus();\n } else if (!e.shiftKey && focusedIndex === totalFocusable - 1) {\n e.preventDefault();\n focusableChildren[0].focus();\n }\n }\n\n handleBackdropMouseDown(e) {\n this._mouseDownElement = e.target;\n }\n\n handleEscape(e) {\n if (this.props.isOpen && e.keyCode === keyCodes.esc && this.props.toggle) {\n if (this.props.keyboard) {\n e.preventDefault();\n e.stopPropagation();\n\n this.props.toggle(e);\n }\n else if (this.props.backdrop === 'static') {\n e.preventDefault();\n e.stopPropagation();\n\n this.handleStaticBackdropAnimation();\n }\n }\n }\n\n handleStaticBackdropAnimation() {\n this.clearBackdropAnimationTimeout();\n this.setState({ showStaticBackdropAnimation: true });\n this._backdropAnimationTimeout = setTimeout(() => {\n this.setState({ showStaticBackdropAnimation: false });\n }, 100);\n }\n\n init() {\n try {\n this._triggeringElement = document.activeElement;\n } catch (err) {\n this._triggeringElement = null;\n }\n\n if (!this._element) {\n this._element = document.createElement('div');\n this._element.setAttribute('tabindex', '-1');\n this._element.style.position = 'relative';\n this._element.style.zIndex = this.props.zIndex;\n this._mountContainer = getTarget(this.props.container);\n this._mountContainer.appendChild(this._element);\n }\n\n this._originalBodyPadding = getOriginalBodyPadding();\n conditionallyUpdateScrollbar();\n\n if (Modal.openCount === 0) {\n document.body.className = classNames(\n document.body.className,\n mapToCssModules('modal-open', this.props.cssModule)\n );\n }\n\n this.modalIndex = Modal.openCount;\n Modal.openCount += 1;\n }\n\n destroy() {\n if (this._element) {\n this._mountContainer.removeChild(this._element);\n this._element = null;\n }\n\n this.manageFocusAfterClose();\n }\n\n manageFocusAfterClose() {\n if (this._triggeringElement) {\n const { returnFocusAfterClose } = this.props;\n if (this._triggeringElement.focus && returnFocusAfterClose) this._triggeringElement.focus();\n this._triggeringElement = null;\n }\n }\n\n close() {\n if (Modal.openCount <= 1) {\n const modalOpenClassName = mapToCssModules('modal-open', this.props.cssModule);\n // Use regex to prevent matching `modal-open` as part of a different class, e.g. `my-modal-opened`\n const modalOpenClassNameRegex = new RegExp(`(^| )${modalOpenClassName}( |$)`);\n document.body.className = document.body.className.replace(modalOpenClassNameRegex, ' ').trim();\n }\n this.manageFocusAfterClose();\n Modal.openCount = Math.max(0, Modal.openCount - 1);\n\n setScrollbarWidth(this._originalBodyPadding);\n }\n\n renderModalDialog() {\n const attributes = omit(this.props, propsToOmit);\n const dialogBaseClass = 'modal-dialog';\n\n return (\n {\n this._dialog = c;\n }}\n >\n \n {this.props.children}\n
\n
\n );\n }\n\n render() {\n const {\n unmountOnClose\n } = this.props;\n\n if (!!this._element && (this.state.isOpen || !unmountOnClose)) {\n const isModalHidden = !!this._element && !this.state.isOpen && !unmountOnClose;\n this._element.style.display = isModalHidden ? 'none' : 'block';\n\n const {\n wrapClassName,\n modalClassName,\n backdropClassName,\n cssModule,\n isOpen,\n backdrop,\n role,\n labelledBy,\n external,\n innerRef,\n } = this.props;\n\n const modalAttributes = {\n onClick: this.handleBackdropClick,\n onMouseDown: this.handleBackdropMouseDown,\n onKeyUp: this.handleEscape,\n onKeyDown: this.handleTab,\n style: { display: 'block' },\n 'aria-labelledby': labelledBy,\n role,\n tabIndex: '-1'\n };\n\n const hasTransition = this.props.fade;\n const modalTransition = {\n ...Fade.defaultProps,\n ...this.props.modalTransition,\n baseClass: hasTransition ? this.props.modalTransition.baseClass : '',\n timeout: hasTransition ? this.props.modalTransition.timeout : 0,\n };\n const backdropTransition = {\n ...Fade.defaultProps,\n ...this.props.backdropTransition,\n baseClass: hasTransition ? this.props.backdropTransition.baseClass : '',\n timeout: hasTransition ? this.props.backdropTransition.timeout : 0,\n };\n\n const Backdrop = backdrop && (\n hasTransition ?\n ()\n :
\n );\n\n return (\n \n
\n \n {external}\n {this.renderModalDialog()}\n \n {Backdrop}\n
\n
\n );\n }\n return null;\n }\n\n clearBackdropAnimationTimeout() {\n if (this._backdropAnimationTimeout) {\n clearTimeout(this._backdropAnimationTimeout);\n this._backdropAnimationTimeout = undefined;\n }\n }\n}\n\nModal.propTypes = propTypes;\nModal.defaultProps = defaultProps;\nModal.openCount = 0;\n\nexport default Modal;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\n\nconst propTypes = {\n tag: tagPropType,\n wrapTag: tagPropType,\n toggle: PropTypes.func,\n className: PropTypes.string,\n cssModule: PropTypes.object,\n children: PropTypes.node,\n closeAriaLabel: PropTypes.string,\n close: PropTypes.object,\n};\n\nconst defaultProps = {\n tag: 'h5',\n wrapTag: 'div',\n closeAriaLabel: 'Close',\n};\n\nconst ModalHeader = (props) => {\n let closeButton;\n const {\n className,\n cssModule,\n children,\n toggle,\n tag: Tag,\n wrapTag: WrapTag,\n closeAriaLabel,\n close,\n ...attributes } = props;\n\n const classes = mapToCssModules(classNames(\n className,\n 'modal-header'\n ), cssModule);\n\n if (!close && toggle) {\n closeButton = (\n \n )\n}\n\nPlaceholderButton.propTypes = propTypes;\nPlaceholderButton.defaultProps = defaultProps;\n\nexport default PlaceholderButton ","(() => {\n if ( typeof window !== 'object' || typeof window.CustomEvent === 'function' ) return;\n\n const CustomEvent = (( event, params ) => {\n params = params || { bubbles: false, cancelable: false, detail: null };\n var evt = document.createEvent( 'CustomEvent' );\n evt.initCustomEvent( event, params.bubbles, params.cancelable, params.detail );\n return evt;\n });\n\n window.CustomEvent = CustomEvent;\n})();\n\n(() => {\n if ( typeof Object.values === 'function' ) return;\n\n const values = ( (O) => Object.keys(O).map((key) => O[key]) );\n\n Object.values = values;\n})();\n","import { Spinner } from \"reactstrap\"\n\n\nconst Loader = () => {\n return (\n <>\n
\n \n
\n \n )\n}\n\nexport default Loader\n\n\n","import * as React from \"react\";\nimport type { BrowserHistory, HashHistory, History } from \"history\";\nimport { createBrowserHistory, createHashHistory } from \"history\";\nimport {\n MemoryRouter,\n Navigate,\n Outlet,\n Route,\n Router,\n Routes,\n createRoutesFromChildren,\n generatePath,\n matchRoutes,\n matchPath,\n createPath,\n parsePath,\n resolvePath,\n renderMatches,\n useHref,\n useInRouterContext,\n useLocation,\n useMatch,\n useNavigate,\n useNavigationType,\n useOutlet,\n useParams,\n useResolvedPath,\n useRoutes,\n useOutletContext,\n} from \"react-router\";\nimport type { To } from \"react-router\";\n\nfunction warning(cond: boolean, message: string): void {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== \"undefined\") console.warn(message);\n\n try {\n // Welcome to debugging React Router!\n //\n // This error is thrown as a convenience so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// RE-EXPORTS\n////////////////////////////////////////////////////////////////////////////////\n\n// Note: Keep in sync with react-router exports!\nexport {\n MemoryRouter,\n Navigate,\n Outlet,\n Route,\n Router,\n Routes,\n createRoutesFromChildren,\n generatePath,\n matchRoutes,\n matchPath,\n createPath,\n parsePath,\n renderMatches,\n resolvePath,\n useHref,\n useInRouterContext,\n useLocation,\n useMatch,\n useNavigate,\n useNavigationType,\n useOutlet,\n useParams,\n useResolvedPath,\n useRoutes,\n useOutletContext,\n};\n\nexport { NavigationType } from \"react-router\";\nexport type {\n Hash,\n Location,\n Path,\n To,\n MemoryRouterProps,\n NavigateFunction,\n NavigateOptions,\n NavigateProps,\n Navigator,\n OutletProps,\n Params,\n PathMatch,\n RouteMatch,\n RouteObject,\n RouteProps,\n PathRouteProps,\n LayoutRouteProps,\n IndexRouteProps,\n RouterProps,\n Pathname,\n Search,\n RoutesProps,\n} from \"react-router\";\n\n///////////////////////////////////////////////////////////////////////////////\n// DANGER! PLEASE READ ME!\n// We provide these exports as an escape hatch in the event that you need any\n// routing data that we don't provide an explicit API for. With that said, we\n// want to cover your use case if we can, so if you feel the need to use these\n// we want to hear from you. Let us know what you're building and we'll do our\n// best to make sure we can support you!\n//\n// We consider these exports an implementation detail and do not guarantee\n// against any breaking changes, regardless of the semver release. Use with\n// extreme caution and only if you understand the consequences. Godspeed.\n///////////////////////////////////////////////////////////////////////////////\n\n/** @internal */\nexport {\n UNSAFE_NavigationContext,\n UNSAFE_LocationContext,\n UNSAFE_RouteContext,\n} from \"react-router\";\n\n////////////////////////////////////////////////////////////////////////////////\n// COMPONENTS\n////////////////////////////////////////////////////////////////////////////////\n\nexport interface BrowserRouterProps {\n basename?: string;\n children?: React.ReactNode;\n window?: Window;\n}\n\n/**\n * A `` for use in web browsers. Provides the cleanest URLs.\n */\nexport function BrowserRouter({\n basename,\n children,\n window,\n}: BrowserRouterProps) {\n let historyRef = React.useRef();\n if (historyRef.current == null) {\n historyRef.current = createBrowserHistory({ window });\n }\n\n let history = historyRef.current;\n let [state, setState] = React.useState({\n action: history.action,\n location: history.location,\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n \n );\n}\n\nexport interface HashRouterProps {\n basename?: string;\n children?: React.ReactNode;\n window?: Window;\n}\n\n/**\n * A `` for use in web browsers. Stores the location in the hash\n * portion of the URL so it is not sent to the server.\n */\nexport function HashRouter({ basename, children, window }: HashRouterProps) {\n let historyRef = React.useRef();\n if (historyRef.current == null) {\n historyRef.current = createHashHistory({ window });\n }\n\n let history = historyRef.current;\n let [state, setState] = React.useState({\n action: history.action,\n location: history.location,\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n \n );\n}\n\nexport interface HistoryRouterProps {\n basename?: string;\n children?: React.ReactNode;\n history: History;\n}\n\n/**\n * A `` that accepts a pre-instantiated history object. It's important\n * to note that using your own history object is highly discouraged and may add\n * two versions of the history library to your bundles unless you use the same\n * version of the history library that React Router uses internally.\n */\nfunction HistoryRouter({ basename, children, history }: HistoryRouterProps) {\n const [state, setState] = React.useState({\n action: history.action,\n location: history.location,\n });\n\n React.useLayoutEffect(() => history.listen(setState), [history]);\n\n return (\n \n );\n}\n\nif (__DEV__) {\n HistoryRouter.displayName = \"unstable_HistoryRouter\";\n}\n\nexport { HistoryRouter as unstable_HistoryRouter };\n\nfunction isModifiedEvent(event: React.MouseEvent) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nexport interface LinkProps\n extends Omit, \"href\"> {\n reloadDocument?: boolean;\n replace?: boolean;\n state?: any;\n to: To;\n}\n\n/**\n * The public API for rendering a history-aware .\n */\nexport const Link = React.forwardRef(\n function LinkWithRef(\n { onClick, reloadDocument, replace = false, state, target, to, ...rest },\n ref\n ) {\n let href = useHref(to);\n let internalOnClick = useLinkClickHandler(to, { replace, state, target });\n function handleClick(\n event: React.MouseEvent\n ) {\n if (onClick) onClick(event);\n if (!event.defaultPrevented && !reloadDocument) {\n internalOnClick(event);\n }\n }\n\n return (\n // eslint-disable-next-line jsx-a11y/anchor-has-content\n \n );\n }\n);\n\nif (__DEV__) {\n Link.displayName = \"Link\";\n}\n\nexport interface NavLinkProps\n extends Omit {\n children:\n | React.ReactNode\n | ((props: { isActive: boolean }) => React.ReactNode);\n caseSensitive?: boolean;\n className?: string | ((props: { isActive: boolean }) => string | undefined);\n end?: boolean;\n style?:\n | React.CSSProperties\n | ((props: { isActive: boolean }) => React.CSSProperties);\n}\n\n/**\n * A wrapper that knows if it's \"active\" or not.\n */\nexport const NavLink = React.forwardRef(\n function NavLinkWithRef(\n {\n \"aria-current\": ariaCurrentProp = \"page\",\n caseSensitive = false,\n className: classNameProp = \"\",\n end = false,\n style: styleProp,\n to,\n children,\n ...rest\n },\n ref\n ) {\n let location = useLocation();\n let path = useResolvedPath(to);\n\n let locationPathname = location.pathname;\n let toPathname = path.pathname;\n if (!caseSensitive) {\n locationPathname = locationPathname.toLowerCase();\n toPathname = toPathname.toLowerCase();\n }\n\n let isActive =\n locationPathname === toPathname ||\n (!end &&\n locationPathname.startsWith(toPathname) &&\n locationPathname.charAt(toPathname.length) === \"/\");\n\n let ariaCurrent = isActive ? ariaCurrentProp : undefined;\n\n let className: string | undefined;\n if (typeof classNameProp === \"function\") {\n className = classNameProp({ isActive });\n } else {\n // If the className prop is not a function, we use a default `active`\n // class for s that are active. In v5 `active` was the default\n // value for `activeClassName`, but we are removing that API and can still\n // use the old default behavior for a cleaner upgrade path and keep the\n // simple styling rules working as they currently do.\n className = [classNameProp, isActive ? \"active\" : null]\n .filter(Boolean)\n .join(\" \");\n }\n\n let style =\n typeof styleProp === \"function\" ? styleProp({ isActive }) : styleProp;\n\n return (\n \n {typeof children === \"function\" ? children({ isActive }) : children}\n \n );\n }\n);\n\nif (__DEV__) {\n NavLink.displayName = \"NavLink\";\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// HOOKS\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Handles the click behavior for router `` components. This is useful if\n * you need to create custom `` components with the same click behavior we\n * use in our exported ``.\n */\nexport function useLinkClickHandler(\n to: To,\n {\n target,\n replace: replaceProp,\n state,\n }: {\n target?: React.HTMLAttributeAnchorTarget;\n replace?: boolean;\n state?: any;\n } = {}\n): (event: React.MouseEvent) => void {\n let navigate = useNavigate();\n let location = useLocation();\n let path = useResolvedPath(to);\n\n return React.useCallback(\n (event: React.MouseEvent) => {\n if (\n event.button === 0 && // Ignore everything but left clicks\n (!target || target === \"_self\") && // Let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // Ignore clicks with modifier keys\n ) {\n event.preventDefault();\n\n // If the URL hasn't changed, a regular will do a replace instead of\n // a push, so do the same here.\n let replace =\n !!replaceProp || createPath(location) === createPath(path);\n\n navigate(to, { replace, state });\n }\n },\n [location, navigate, path, replaceProp, state, target, to]\n );\n}\n\n/**\n * A convenient wrapper for reading and writing search parameters via the\n * URLSearchParams interface.\n */\nexport function useSearchParams(defaultInit?: URLSearchParamsInit) {\n warning(\n typeof URLSearchParams !== \"undefined\",\n `You cannot use the \\`useSearchParams\\` hook in a browser that does not ` +\n `support the URLSearchParams API. If you need to support Internet ` +\n `Explorer 11, we recommend you load a polyfill such as ` +\n `https://github.com/ungap/url-search-params\\n\\n` +\n `If you're unsure how to load polyfills, we recommend you check out ` +\n `https://polyfill.io/v3/ which provides some recommendations about how ` +\n `to load polyfills only for users that need them, instead of for every ` +\n `user.`\n );\n\n let defaultSearchParamsRef = React.useRef(createSearchParams(defaultInit));\n\n let location = useLocation();\n let searchParams = React.useMemo(() => {\n let searchParams = createSearchParams(location.search);\n\n for (let key of defaultSearchParamsRef.current.keys()) {\n if (!searchParams.has(key)) {\n defaultSearchParamsRef.current.getAll(key).forEach((value) => {\n searchParams.append(key, value);\n });\n }\n }\n\n return searchParams;\n }, [location.search]);\n\n let navigate = useNavigate();\n let setSearchParams = React.useCallback(\n (\n nextInit: URLSearchParamsInit,\n navigateOptions?: { replace?: boolean; state?: any }\n ) => {\n navigate(\"?\" + createSearchParams(nextInit), navigateOptions);\n },\n [navigate]\n );\n\n return [searchParams, setSearchParams] as const;\n}\n\nexport type ParamKeyValuePair = [string, string];\n\nexport type URLSearchParamsInit =\n | string\n | ParamKeyValuePair[]\n | Record\n | URLSearchParams;\n\n/**\n * Creates a URLSearchParams object using the given initializer.\n *\n * This is identical to `new URLSearchParams(init)` except it also\n * supports arrays as values in the object form of the initializer\n * instead of just strings. This is convenient when you need multiple\n * values for a given key, but don't want to use an array initializer.\n *\n * For example, instead of:\n *\n * let searchParams = new URLSearchParams([\n * ['sort', 'name'],\n * ['sort', 'price']\n * ]);\n *\n * you can do:\n *\n * let searchParams = createSearchParams({\n * sort: ['name', 'price']\n * });\n */\nexport function createSearchParams(\n init: URLSearchParamsInit = \"\"\n): URLSearchParams {\n return new URLSearchParams(\n typeof init === \"string\" ||\n Array.isArray(init) ||\n init instanceof URLSearchParams\n ? init\n : Object.keys(init).reduce((memo, key) => {\n let value = init[key];\n return memo.concat(\n Array.isArray(value) ? value.map((v) => [key, v]) : [[key, value]]\n );\n }, [] as ParamKeyValuePair[])\n );\n}\n","var _g;\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgDownLarge16(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 17,\n viewBox: \"0 0 16 17\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"none\",\n d: \"M0 .116h16v16H0z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.5 6 8 10 3.5 6\",\n stroke: \"#111\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgDownLarge16);\nexport default __webpack_public_path__ + \"static/media/down-large-16.54a5c49a1f5c52715e1bf1be427b4974.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgUpLarge16(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"none\",\n d: \"M0 0h16v16H0z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.5 10 8 6l4.5 4\",\n stroke: \"#111\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgUpLarge16);\nexport default __webpack_public_path__ + \"static/media/up-large-16.73196ab365e0234ad944b4906ca24ca6.svg\";\nexport { ForwardRef as ReactComponent };","export var IconsManifest = [\n {\n \"id\": \"ci\",\n \"name\": \"Circum Icons\",\n \"projectUrl\": \"https://circumicons.com/\",\n \"license\": \"MPL-2.0 license\",\n \"licenseUrl\": \"https://github.com/Klarr-Agency/Circum-Icons/blob/main/LICENSE\"\n },\n {\n \"id\": \"fa\",\n \"name\": \"Font Awesome 5\",\n \"projectUrl\": \"https://fontawesome.com/\",\n \"license\": \"CC BY 4.0 License\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/4.0/\"\n },\n {\n \"id\": \"fa6\",\n \"name\": \"Font Awesome 6\",\n \"projectUrl\": \"https://fontawesome.com/\",\n \"license\": \"CC BY 4.0 License\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/4.0/\"\n },\n {\n \"id\": \"io\",\n \"name\": \"Ionicons 4\",\n \"projectUrl\": \"https://ionicons.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/ionic-team/ionicons/blob/master/LICENSE\"\n },\n {\n \"id\": \"io5\",\n \"name\": \"Ionicons 5\",\n \"projectUrl\": \"https://ionicons.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/ionic-team/ionicons/blob/master/LICENSE\"\n },\n {\n \"id\": \"md\",\n \"name\": \"Material Design icons\",\n \"projectUrl\": \"http://google.github.io/material-design-icons/\",\n \"license\": \"Apache License Version 2.0\",\n \"licenseUrl\": \"https://github.com/google/material-design-icons/blob/master/LICENSE\"\n },\n {\n \"id\": \"ti\",\n \"name\": \"Typicons\",\n \"projectUrl\": \"http://s-ings.com/typicons/\",\n \"license\": \"CC BY-SA 3.0\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by-sa/3.0/\"\n },\n {\n \"id\": \"go\",\n \"name\": \"Github Octicons icons\",\n \"projectUrl\": \"https://octicons.github.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/primer/octicons/blob/master/LICENSE\"\n },\n {\n \"id\": \"fi\",\n \"name\": \"Feather\",\n \"projectUrl\": \"https://feathericons.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/feathericons/feather/blob/master/LICENSE\"\n },\n {\n \"id\": \"lu\",\n \"name\": \"Lucide\",\n \"projectUrl\": \"https://lucide.dev/\",\n \"license\": \"ISC\",\n \"licenseUrl\": \"https://github.com/lucide-icons/lucide/blob/main/LICENSE\"\n },\n {\n \"id\": \"gi\",\n \"name\": \"Game Icons\",\n \"projectUrl\": \"https://game-icons.net/\",\n \"license\": \"CC BY 3.0\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/3.0/\"\n },\n {\n \"id\": \"wi\",\n \"name\": \"Weather Icons\",\n \"projectUrl\": \"https://erikflowers.github.io/weather-icons/\",\n \"license\": \"SIL OFL 1.1\",\n \"licenseUrl\": \"http://scripts.sil.org/OFL\"\n },\n {\n \"id\": \"di\",\n \"name\": \"Devicons\",\n \"projectUrl\": \"https://vorillaz.github.io/devicons/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"ai\",\n \"name\": \"Ant Design Icons\",\n \"projectUrl\": \"https://github.com/ant-design/ant-design-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"bs\",\n \"name\": \"Bootstrap Icons\",\n \"projectUrl\": \"https://github.com/twbs/icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"ri\",\n \"name\": \"Remix Icon\",\n \"projectUrl\": \"https://github.com/Remix-Design/RemixIcon\",\n \"license\": \"Apache License Version 2.0\",\n \"licenseUrl\": \"http://www.apache.org/licenses/\"\n },\n {\n \"id\": \"fc\",\n \"name\": \"Flat Color Icons\",\n \"projectUrl\": \"https://github.com/icons8/flat-color-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"gr\",\n \"name\": \"Grommet-Icons\",\n \"projectUrl\": \"https://github.com/grommet/grommet-icons\",\n \"license\": \"Apache License Version 2.0\",\n \"licenseUrl\": \"http://www.apache.org/licenses/\"\n },\n {\n \"id\": \"hi\",\n \"name\": \"Heroicons\",\n \"projectUrl\": \"https://github.com/tailwindlabs/heroicons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"hi2\",\n \"name\": \"Heroicons 2\",\n \"projectUrl\": \"https://github.com/tailwindlabs/heroicons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"si\",\n \"name\": \"Simple Icons\",\n \"projectUrl\": \"https://simpleicons.org/\",\n \"license\": \"CC0 1.0 Universal\",\n \"licenseUrl\": \"https://creativecommons.org/publicdomain/zero/1.0/\"\n },\n {\n \"id\": \"sl\",\n \"name\": \"Simple Line Icons\",\n \"projectUrl\": \"https://thesabbir.github.io/simple-line-icons/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"im\",\n \"name\": \"IcoMoon Free\",\n \"projectUrl\": \"https://github.com/Keyamoon/IcoMoon-Free\",\n \"license\": \"CC BY 4.0 License\",\n \"licenseUrl\": \"https://github.com/Keyamoon/IcoMoon-Free/blob/master/License.txt\"\n },\n {\n \"id\": \"bi\",\n \"name\": \"BoxIcons\",\n \"projectUrl\": \"https://github.com/atisawd/boxicons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/atisawd/boxicons/blob/master/LICENSE\"\n },\n {\n \"id\": \"cg\",\n \"name\": \"css.gg\",\n \"projectUrl\": \"https://github.com/astrit/css.gg\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"vsc\",\n \"name\": \"VS Code Icons\",\n \"projectUrl\": \"https://github.com/microsoft/vscode-codicons\",\n \"license\": \"CC BY 4.0\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/4.0/\"\n },\n {\n \"id\": \"tb\",\n \"name\": \"Tabler Icons\",\n \"projectUrl\": \"https://github.com/tabler/tabler-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"tfi\",\n \"name\": \"Themify Icons\",\n \"projectUrl\": \"https://github.com/lykmapipo/themify-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/thecreation/standard-icons/blob/master/modules/themify-icons/LICENSE\"\n },\n {\n \"id\": \"rx\",\n \"name\": \"Radix Icons\",\n \"projectUrl\": \"https://icons.radix-ui.com\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/radix-ui/icons/blob/master/LICENSE\"\n },\n {\n \"id\": \"pi\",\n \"name\": \"Phosphor Icons\",\n \"projectUrl\": \"https://github.com/phosphor-icons/core\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/phosphor-icons/core/blob/main/LICENSE\"\n },\n {\n \"id\": \"lia\",\n \"name\": \"Icons8 Line Awesome\",\n \"projectUrl\": \"https://icons8.com/line-awesome\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/icons8/line-awesome/blob/master/LICENSE.md\"\n }\n]","var _g;\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgRemove48(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"48px\",\n height: \"48px\",\n viewBox: \"0 0 48 48\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"Remove / Large / 48\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Symbols\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Remove-/-Large-/-48\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"background\",\n fillOpacity: 0,\n fill: \"#000000\",\n x: 0,\n y: 0,\n width: 48,\n height: 48\n }), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group\",\n strokeLinecap: \"square\",\n transform: \"translate(15.600000, 15.600000)\",\n stroke: \"#111111\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.8,8.8817842e-14 L8.8817842e-14,16.8 M16.8,16.8 L8.8817842e-14,8.8817842e-14\",\n id: \"Combined-Shape\"\n }))))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgRemove48);\nexport default __webpack_public_path__ + \"static/media/remove48.422cf332d4d3f968f3e8fd7abf43522d.svg\";\nexport { ForwardRef as ReactComponent };","import React from \"react\";\nexport var DefaultContext = {\n color: undefined,\n size: undefined,\n className: undefined,\n style: undefined,\n attr: undefined\n};\nexport var IconContext = React.createContext && /*#__PURE__*/React.createContext(DefaultContext);","var _excluded = [\"attr\", \"size\", \"title\"];\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nimport React from \"react\";\nimport { IconContext, DefaultContext } from \"./iconContext.mjs\";\nfunction Tree2Element(tree) {\n return tree && tree.map((node, i) => /*#__PURE__*/React.createElement(node.tag, _objectSpread({\n key: i\n }, node.attr), Tree2Element(node.child)));\n}\nexport function GenIcon(data) {\n return props => /*#__PURE__*/React.createElement(IconBase, _extends({\n attr: _objectSpread({}, data.attr)\n }, props), Tree2Element(data.child));\n}\nexport function IconBase(props) {\n var elem = conf => {\n var {\n attr,\n size,\n title\n } = props,\n svgProps = _objectWithoutProperties(props, _excluded);\n var computedSize = size || conf.size || \"1em\";\n var className;\n if (conf.className) className = conf.className;\n if (props.className) className = (className ? className + \" \" : \"\") + props.className;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n stroke: \"currentColor\",\n fill: \"currentColor\",\n strokeWidth: \"0\"\n }, conf.attr, attr, svgProps, {\n className: className,\n style: _objectSpread(_objectSpread({\n color: props.color || conf.color\n }, conf.style), props.style),\n height: computedSize,\n width: computedSize,\n xmlns: \"http://www.w3.org/2000/svg\"\n }), title && /*#__PURE__*/React.createElement(\"title\", null, title), props.children);\n };\n return IconContext !== undefined ? /*#__PURE__*/React.createElement(IconContext.Consumer, null, conf => elem(conf)) : elem(DefaultContext);\n}","// THIS FILE IS AUTO GENERATED\nimport { GenIcon } from '../lib/index.mjs';\nexport function AiFillAccountBook (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zM648.3 426.8l-87.7 161.1h45.7c5.5 0 10 4.5 10 10v21.3c0 5.5-4.5 10-10 10h-63.4v29.7h63.4c5.5 0 10 4.5 10 10v21.3c0 5.5-4.5 10-10 10h-63.4V752c0 5.5-4.5 10-10 10h-41.3c-5.5 0-10-4.5-10-10v-51.8h-63.1c-5.5 0-10-4.5-10-10v-21.3c0-5.5 4.5-10 10-10h63.1v-29.7h-63.1c-5.5 0-10-4.5-10-10v-21.3c0-5.5 4.5-10 10-10h45.2l-88-161.1c-2.6-4.8-.9-10.9 4-13.6 1.5-.8 3.1-1.2 4.8-1.2h46c3.8 0 7.2 2.1 8.9 5.5l72.9 144.3 73.2-144.3a10 10 0 0 1 8.9-5.5h45c5.5 0 10 4.5 10 10 .1 1.7-.3 3.3-1.1 4.8z\"},\"child\":[]}]})(props);\n};\nexport function AiFillAlert (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 244c176.18 0 319 142.82 319 319v233a32 32 0 0 1-32 32H225a32 32 0 0 1-32-32V563c0-176.18 142.82-319 319-319zM484 68h56a8 8 0 0 1 8 8v96a8 8 0 0 1-8 8h-56a8 8 0 0 1-8-8V76a8 8 0 0 1 8-8zM177.25 191.66a8 8 0 0 1 11.32 0l67.88 67.88a8 8 0 0 1 0 11.31l-39.6 39.6a8 8 0 0 1-11.31 0l-67.88-67.88a8 8 0 0 1 0-11.31l39.6-39.6zm669.6 0l39.6 39.6a8 8 0 0 1 0 11.3l-67.88 67.9a8 8 0 0 1-11.32 0l-39.6-39.6a8 8 0 0 1 0-11.32l67.89-67.88a8 8 0 0 1 11.31 0zM192 892h640a32 32 0 0 1 32 32v24a8 8 0 0 1-8 8H168a8 8 0 0 1-8-8v-24a32 32 0 0 1 32-32zm148-317v253h64V575h-64z\"},\"child\":[]}]})(props);\n};\nexport function AiFillAlipayCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64c247.424 0 448 200.576 448 448S759.424 960 512 960 64 759.424 64 512 264.576 64 512 64m32.493 168c-69.66 0-86.056 16.843-86.709 39.079l-.02 1.426v46.623H291.45c-9.92 0-14.28 23.053-14.27 39.31 0 2.696 2.08 4.923 4.77 4.923h175.814v58.301h-116.5c-9.96 0-14.3 23.76-14.271 39.473a4.772 4.772 0 0 0 4.77 4.76l233.448.003c-4.527 41.056-15.432 77.58-30.716 109.315l-1.224 2.494-.32-.275c-60.244-28.47-120.431-52.577-194.407-52.577l-2.61.017c-84.982 1.112-144.718 56.503-145.916 127.04l-.018 1.222.019 2.123c1.238 70.399 63.566 126.452 148.525 126.452 61.245-.008 116.372-16.85 163.457-45.017a138.579 138.579 0 0 0 14.068-7.962c18.09-12.116 34.892-25.955 50.304-41.156l9.452 6.344 12.456 8.322c57.527 38.257 113.763 72.617 169.856 79.27a142.62 142.62 0 0 0 18.314 1.157c43.017 0 54.991-52.68 57.387-95.508l.145-2.84c.392-8.463-6.197-15.595-14.648-15.863-75.468-2.365-136.452-22.043-192.008-46.11l-6.267-2.742c35.146-56.8 56.657-121.816 57.155-186.661l.082-1.083c.401-5.515-3.997-10.198-9.52-10.198H549.33v-58.301h165.732c9.92 0 14.28-22.117 14.27-39.311-.01-2.686-2.089-4.922-4.779-4.922H549.32v-82.35c0-2.656-2.175-4.778-4.827-4.778m-216.5 351.847c54.627 0 107.073 22.417 158.09 52.19l5.77 3.402c-103.575 119.837-247.172 95.903-261.724 26.37a66.89 66.89 0 0 1-1.138-9.83l-.057-2.336.013-.907c.969-40.113 45.337-68.89 99.045-68.89\"},\"child\":[]}]})(props);\n};\nexport function AiFillAlipaySquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M894.606 116.541c5.541 2.963 9.89 7.312 12.853 12.853 2.963 5.54 4.541 11.036 4.541 26.192v712.828c0 15.156-1.578 20.652-4.541 26.192-2.963 5.541-7.312 9.89-12.853 12.853-5.54 2.963-11.036 4.541-26.192 4.541H155.586c-15.156 0-20.652-1.578-26.192-4.541-5.541-2.963-9.89-7.312-12.853-12.853-2.923-5.465-4.498-10.888-4.54-25.583L112 155.586c0-15.156 1.578-20.652 4.541-26.192 2.963-5.541 7.312-9.89 12.853-12.853 5.465-2.923 10.888-4.498 25.583-4.54L868.414 112c15.156 0 20.652 1.578 26.192 4.541M541.012 262c-62.197 0-76.836 15.038-77.419 34.892l-.018 1.274v41.627H315.08c-8.858 0-12.75 20.583-12.742 35.098 0 2.407 1.857 4.395 4.259 4.395h156.977v52.055H359.556c-8.891 0-12.767 21.215-12.741 35.244a4.26 4.26 0 0 0 4.259 4.25l208.436.003c-4.042 36.657-13.779 69.267-27.425 97.602l-1.093 2.227-.285-.245c-53.79-25.421-107.528-46.944-173.578-46.944l-2.33.015c-75.878.993-129.213 50.449-130.283 113.43l-.016 1.09.017 1.895c1.105 62.856 56.756 112.904 132.612 112.904 54.682-.008 103.903-15.046 145.943-40.194a123.73 123.73 0 0 0 12.561-7.109c16.152-10.818 31.153-23.174 44.914-36.746l8.44 5.664 11.12 7.43c51.365 34.158 101.575 64.836 151.658 70.776a127.34 127.34 0 0 0 16.352 1.034c38.408 0 49.1-47.036 51.238-85.275l.13-2.536c.35-7.556-5.533-13.924-13.079-14.163-67.382-2.111-121.832-19.681-171.436-41.17l-5.595-2.448c31.38-50.714 50.587-108.764 51.032-166.662l.073-.966c.357-4.924-3.569-9.106-8.5-9.106H545.33v-52.055h147.974c8.858 0 12.75-19.747 12.742-35.099-.009-2.398-1.865-4.394-4.267-4.394H545.32v-73.526c0-2.373-1.942-4.267-4.31-4.267M347.707 576.149c48.775 0 95.602 20.015 141.153 46.6l5.152 3.036c-92.478 106.997-220.69 85.627-233.683 23.545a59.723 59.723 0 0 1-1.016-8.778l-.05-2.085.011-.81c.865-35.815 40.48-61.508 88.433-61.508\"},\"child\":[]}]})(props);\n};\nexport function AiFillAliwangwang (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M868.2 377.4c-18.9-45.1-46.3-85.6-81.2-120.6a377.26 377.26 0 0 0-120.5-81.2A375.65 375.65 0 0 0 519 145.8c-41.9 0-82.9 6.7-121.9 20C306 123.3 200.8 120 170.6 120c-2.2 0-7.4 0-9.4.2-11.9.4-22.8 6.5-29.2 16.4-6.5 9.9-7.7 22.4-3.4 33.5l64.3 161.6a378.59 378.59 0 0 0-52.8 193.2c0 51.4 10 101 29.8 147.6 18.9 45 46.2 85.6 81.2 120.5 34.7 34.8 75.4 62.1 120.5 81.2C418.3 894 467.9 904 519 904c51.3 0 100.9-10 147.7-29.8 44.9-18.9 85.5-46.3 120.4-81.2 34.7-34.8 62.1-75.4 81.2-120.6a376.5 376.5 0 0 0 29.8-147.6c-.2-51.2-10.1-100.8-29.9-147.4zm-325.2 79c0 20.4-16.6 37.1-37.1 37.1-20.4 0-37.1-16.7-37.1-37.1v-55.1c0-20.4 16.6-37.1 37.1-37.1 20.4 0 37.1 16.6 37.1 37.1v55.1zm175.2 0c0 20.4-16.6 37.1-37.1 37.1S644 476.8 644 456.4v-55.1c0-20.4 16.7-37.1 37.1-37.1 20.4 0 37.1 16.6 37.1 37.1v55.1z\"},\"child\":[]}]})(props);\n};\nexport function AiFillAmazonCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M485 467.5c-11.6 4.9-20.9 12.2-27.8 22-6.9 9.8-10.4 21.6-10.4 35.5 0 17.8 7.5 31.5 22.4 41.2 14.1 9.1 28.9 11.4 44.4 6.8 17.9-5.2 30-17.9 36.4-38.1 3-9.3 4.5-19.7 4.5-31.3v-50.2c-12.6.4-24.4 1.6-35.5 3.7-11.1 2.1-22.4 5.6-34 10.4zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm35.8 262.7c-7.2-10.9-20.1-16.4-38.7-16.4-1.3 0-3 .1-5.3.3-2.2.2-6.6 1.5-12.9 3.7a79.4 79.4 0 0 0-17.9 9.1c-5.5 3.8-11.5 10-18 18.4-6.4 8.5-11.5 18.4-15.3 29.8l-94-8.4c0-12.4 2.4-24.7 7-36.9 4.7-12.2 11.8-23.9 21.4-35 9.6-11.2 21.1-21 34.5-29.4 13.4-8.5 29.6-15.2 48.4-20.3 18.9-5.1 39.1-7.6 60.9-7.6 21.3 0 40.6 2.6 57.8 7.7 17.2 5.2 31.1 11.5 41.4 19.1a117 117 0 0 1 25.9 25.7c6.9 9.6 11.7 18.5 14.4 26.7 2.7 8.2 4 15.7 4 22.8v182.5c0 6.4 1.4 13 4.3 19.8 2.9 6.8 6.3 12.8 10.2 18 3.9 5.2 7.9 9.9 12 14.3 4.1 4.3 7.6 7.7 10.6 9.9l4.1 3.4-72.5 69.4c-8.5-7.7-16.9-15.4-25.2-23.4-8.3-8-14.5-14-18.5-18.1l-6.1-6.2c-2.4-2.3-5-5.7-8-10.2-8.1 12.2-18.5 22.8-31.1 31.8-12.7 9-26.3 15.6-40.7 19.7-14.5 4.1-29.4 6.5-44.7 7.1-15.3.6-30-1.5-43.9-6.5-13.9-5-26.5-11.7-37.6-20.3-11.1-8.6-19.9-20.2-26.5-35-6.6-14.8-9.9-31.5-9.9-50.4 0-17.4 3-33.3 8.9-47.7 6-14.5 13.6-26.5 23-36.1 9.4-9.6 20.7-18.2 34-25.7s26.4-13.4 39.2-17.7c12.8-4.2 26.6-7.8 41.5-10.7 14.9-2.9 27.6-4.8 38.2-5.7 10.6-.9 21.2-1.6 31.8-2v-39.4c0-13.5-2.3-23.5-6.7-30.1zm180.5 379.6c-2.8 3.3-7.5 7.8-14.1 13.5s-16.8 12.7-30.5 21.1c-13.7 8.4-28.8 16-45 22.9-16.3 6.9-36.3 12.9-60.1 18-23.7 5.1-48.2 7.6-73.3 7.6-25.4 0-50.7-3.2-76.1-9.6-25.4-6.4-47.6-14.3-66.8-23.7-19.1-9.4-37.6-20.2-55.1-32.2-17.6-12.1-31.7-22.9-42.4-32.5-10.6-9.6-19.6-18.7-26.8-27.1-1.7-1.9-2.8-3.6-3.2-5.1-.4-1.5-.3-2.8.3-3.7.6-.9 1.5-1.6 2.6-2.2a7.42 7.42 0 0 1 7.4.8c40.9 24.2 72.9 41.3 95.9 51.4 82.9 36.4 168 45.7 255.3 27.9 40.5-8.3 82.1-22.2 124.9-41.8 3.2-1.2 6-1.5 8.3-.9 2.3.6 3.5 2.4 3.5 5.4 0 2.8-1.6 6.3-4.8 10.2zm59.9-29c-1.8 11.1-4.9 21.6-9.1 31.8-7.2 17.1-16.3 30-27.1 38.4-3.6 2.9-6.4 3.8-8.3 2.8-1.9-1-1.9-3.5 0-7.4 4.5-9.3 9.2-21.8 14.2-37.7 5-15.8 5.7-26 2.1-30.5-1.1-1.5-2.7-2.6-5-3.6-2.2-.9-5.1-1.5-8.6-1.9s-6.7-.6-9.4-.8c-2.8-.2-6.5-.2-11.2 0-4.7.2-8 .4-10.1.6a874.4 874.4 0 0 1-17.1 1.5c-1.3.2-2.7.4-4.1.5-1.5.1-2.7.2-3.5.3l-2.7.3c-1 .1-1.7.2-2.2.2h-3.2l-1-.2-.6-.5-.5-.9c-1.3-3.3 3.7-7.4 15-12.4s22.3-8.1 32.9-9.3c9.8-1.5 21.3-1.5 34.5-.3s21.3 3.7 24.3 7.4c2.3 3.5 2.5 10.7.7 21.7z\"},\"child\":[]}]})(props);\n};\nexport function AiFillAmazonSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM547.8 326.7c-7.2-10.9-20.1-16.4-38.7-16.4-1.3 0-3 .1-5.3.3-2.2.2-6.6 1.5-12.9 3.7a79.4 79.4 0 0 0-17.9 9.1c-5.5 3.8-11.5 10-18 18.4-6.4 8.5-11.5 18.4-15.3 29.8l-94-8.4c0-12.4 2.4-24.7 7-36.9s11.8-23.9 21.4-35c9.6-11.2 21.1-21 34.5-29.4 13.4-8.5 29.6-15.2 48.4-20.3 18.9-5.1 39.1-7.6 60.9-7.6 21.3 0 40.6 2.6 57.8 7.7 17.2 5.2 31.1 11.5 41.4 19.1a117 117 0 0 1 25.9 25.7c6.9 9.6 11.7 18.5 14.4 26.7 2.7 8.2 4 15.7 4 22.8v182.5c0 6.4 1.4 13 4.3 19.8 2.9 6.8 6.3 12.8 10.2 18 3.9 5.2 7.9 9.9 12 14.3 4.1 4.3 7.6 7.7 10.6 9.9l4.1 3.4-72.5 69.4c-8.5-7.7-16.9-15.4-25.2-23.4-8.3-8-14.5-14-18.5-18.1l-6.1-6.2c-2.4-2.3-5-5.7-8-10.2-8.1 12.2-18.5 22.8-31.1 31.8-12.7 9-26.3 15.6-40.7 19.7-14.5 4.1-29.4 6.5-44.7 7.1-15.3.6-30-1.5-43.9-6.5-13.9-5-26.5-11.7-37.6-20.3-11.1-8.6-19.9-20.2-26.5-35-6.6-14.8-9.9-31.5-9.9-50.4 0-17.4 3-33.3 8.9-47.7 6-14.5 13.6-26.5 23-36.1 9.4-9.6 20.7-18.2 34-25.7s26.4-13.4 39.2-17.7c12.8-4.2 26.6-7.8 41.5-10.7 14.9-2.9 27.6-4.8 38.2-5.7 10.6-.9 21.2-1.6 31.8-2v-39.4c0-13.5-2.3-23.5-6.7-30.1zm180.5 379.6c-2.8 3.3-7.5 7.8-14.1 13.5s-16.8 12.7-30.5 21.1c-13.7 8.4-28.8 16-45 22.9-16.3 6.9-36.3 12.9-60.1 18-23.7 5.1-48.2 7.6-73.3 7.6-25.4 0-50.7-3.2-76.1-9.6-25.4-6.4-47.6-14.3-66.8-23.7-19.1-9.4-37.6-20.2-55.1-32.2-17.6-12.1-31.7-22.9-42.4-32.5-10.6-9.6-19.6-18.7-26.8-27.1-1.7-1.9-2.8-3.6-3.2-5.1-.4-1.5-.3-2.8.3-3.7.6-.9 1.5-1.6 2.6-2.2a7.42 7.42 0 0 1 7.4.8c40.9 24.2 72.9 41.3 95.9 51.4 82.9 36.4 168 45.7 255.3 27.9 40.5-8.3 82.1-22.2 124.9-41.8 3.2-1.2 6-1.5 8.3-.9 2.3.6 3.5 2.4 3.5 5.4 0 2.8-1.6 6.3-4.8 10.2zm59.9-29c-1.8 11.1-4.9 21.6-9.1 31.8-7.2 17.1-16.3 30-27.1 38.4-3.6 2.9-6.4 3.8-8.3 2.8-1.9-1-1.9-3.5 0-7.4 4.5-9.3 9.2-21.8 14.2-37.7 5-15.8 5.7-26 2.1-30.5-1.1-1.5-2.7-2.6-5-3.6-2.2-.9-5.1-1.5-8.6-1.9s-6.7-.6-9.4-.8c-2.8-.2-6.5-.2-11.2 0-4.7.2-8 .4-10.1.6a874.4 874.4 0 0 1-17.1 1.5c-1.3.2-2.7.4-4.1.5-1.5.1-2.7.2-3.5.3l-2.7.3c-1 .1-1.7.2-2.2.2h-3.2l-1-.2-.6-.5-.5-.9c-1.3-3.3 3.7-7.4 15-12.4s22.3-8.1 32.9-9.3c9.8-1.5 21.3-1.5 34.5-.3s21.3 3.7 24.3 7.4c2.3 3.5 2.5 10.7.7 21.7zM485 467.5c-11.6 4.9-20.9 12.2-27.8 22-6.9 9.8-10.4 21.6-10.4 35.5 0 17.8 7.5 31.5 22.4 41.2 14.1 9.1 28.9 11.4 44.4 6.8 17.9-5.2 30-17.9 36.4-38.1 3-9.3 4.5-19.7 4.5-31.3v-50.2c-12.6.4-24.4 1.6-35.5 3.7-11.1 2.1-22.4 5.6-34 10.4z\"},\"child\":[]}]})(props);\n};\nexport function AiFillAndroid (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M270.1 741.7c0 23.4 19.1 42.5 42.6 42.5h48.7v120.4c0 30.5 24.5 55.4 54.6 55.4 30.2 0 54.6-24.8 54.6-55.4V784.1h85v120.4c0 30.5 24.5 55.4 54.6 55.4 30.2 0 54.6-24.8 54.6-55.4V784.1h48.7c23.5 0 42.6-19.1 42.6-42.5V346.4h-486v395.3zm357.1-600.1l44.9-65c2.6-3.8 2-8.9-1.5-11.4-3.5-2.4-8.5-1.2-11.1 2.6l-46.6 67.6c-30.7-12.1-64.9-18.8-100.8-18.8-35.9 0-70.1 6.7-100.8 18.8l-46.6-67.5c-2.6-3.8-7.6-5.1-11.1-2.6-3.5 2.4-4.1 7.4-1.5 11.4l44.9 65c-71.4 33.2-121.4 96.1-127.8 169.6h486c-6.6-73.6-56.7-136.5-128-169.7zM409.5 244.1a26.9 26.9 0 1 1 26.9-26.9 26.97 26.97 0 0 1-26.9 26.9zm208.4 0a26.9 26.9 0 1 1 26.9-26.9 26.97 26.97 0 0 1-26.9 26.9zm223.4 100.7c-30.2 0-54.6 24.8-54.6 55.4v216.4c0 30.5 24.5 55.4 54.6 55.4 30.2 0 54.6-24.8 54.6-55.4V400.1c.1-30.6-24.3-55.3-54.6-55.3zm-658.6 0c-30.2 0-54.6 24.8-54.6 55.4v216.4c0 30.5 24.5 55.4 54.6 55.4 30.2 0 54.6-24.8 54.6-55.4V400.1c0-30.6-24.5-55.3-54.6-55.3z\"},\"child\":[]}]})(props);\n};\nexport function AiFillApi (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M917.7 148.8l-42.4-42.4c-1.6-1.6-3.6-2.3-5.7-2.3s-4.1.8-5.7 2.3l-76.1 76.1a199.27 199.27 0 0 0-112.1-34.3c-51.2 0-102.4 19.5-141.5 58.6L432.3 308.7a8.03 8.03 0 0 0 0 11.3L704 591.7c1.6 1.6 3.6 2.3 5.7 2.3 2 0 4.1-.8 5.7-2.3l101.9-101.9c68.9-69 77-175.7 24.3-253.5l76.1-76.1c3.1-3.2 3.1-8.3 0-11.4zM578.9 546.7a8.03 8.03 0 0 0-11.3 0L501 613.3 410.7 523l66.7-66.7c3.1-3.1 3.1-8.2 0-11.3L441 408.6a8.03 8.03 0 0 0-11.3 0L363 475.3l-43-43a7.85 7.85 0 0 0-5.7-2.3c-2 0-4.1.8-5.7 2.3L206.8 534.2c-68.9 68.9-77 175.7-24.3 253.5l-76.1 76.1a8.03 8.03 0 0 0 0 11.3l42.4 42.4c1.6 1.6 3.6 2.3 5.7 2.3s4.1-.8 5.7-2.3l76.1-76.1c33.7 22.9 72.9 34.3 112.1 34.3 51.2 0 102.4-19.5 141.5-58.6l101.9-101.9c3.1-3.1 3.1-8.2 0-11.3l-43-43 66.7-66.7c3.1-3.1 3.1-8.2 0-11.3l-36.6-36.2z\"},\"child\":[]}]})(props);\n};\nexport function AiFillApple (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M747.4 535.7c-.4-68.2 30.5-119.6 92.9-157.5-34.9-50-87.7-77.5-157.3-82.8-65.9-5.2-138 38.4-164.4 38.4-27.9 0-91.7-36.6-141.9-36.6C273.1 298.8 163 379.8 163 544.6c0 48.7 8.9 99 26.7 150.8 23.8 68.2 109.6 235.3 199.1 232.6 46.8-1.1 79.9-33.2 140.8-33.2 59.1 0 89.7 33.2 141.9 33.2 90.3-1.3 167.9-153.2 190.5-221.6-121.1-57.1-114.6-167.2-114.6-170.7zm-105.1-305c50.7-60.2 46.1-115 44.6-134.7-44.8 2.6-96.6 30.5-126.1 64.8-32.5 36.8-51.6 82.3-47.5 133.6 48.4 3.7 92.6-21.2 129-63.7z\"},\"child\":[]}]})(props);\n};\nexport function AiFillAppstore (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M864 144H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm0 400H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16zM464 144H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm0 400H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function AiFillAudio (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 624c93.9 0 170-75.2 170-168V232c0-92.8-76.1-168-170-168s-170 75.2-170 168v224c0 92.8 76.1 168 170 168zm330-170c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 140.3-113.7 254-254 254S258 594.3 258 454c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 168.7 126.6 307.9 290 327.6V884H326.7c-13.7 0-24.7 14.3-24.7 32v36c0 4.4 2.8 8 6.2 8h407.6c3.4 0 6.2-3.6 6.2-8v-36c0-17.7-11-32-24.7-32H548V782.1c165.3-18 294-158 294-328.1z\"},\"child\":[]}]})(props);\n};\nexport function AiFillBackward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M485.6 249.9L198.2 498c-8.3 7.1-8.3 20.8 0 27.9l287.4 248.2c10.7 9.2 26.4.9 26.4-14V263.8c0-14.8-15.7-23.2-26.4-13.9zm320 0L518.2 498a18.6 18.6 0 0 0-6.2 14c0 5.2 2.1 10.4 6.2 14l287.4 248.2c10.7 9.2 26.4.9 26.4-14V263.8c0-14.8-15.7-23.2-26.4-13.9z\"},\"child\":[]}]})(props);\n};\nexport function AiFillBank (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M894 462c30.9 0 43.8-39.7 18.7-58L530.8 126.2a31.81 31.81 0 0 0-37.6 0L111.3 404c-25.1 18.2-12.2 58 18.8 58H192v374h-72c-4.4 0-8 3.6-8 8v52c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-52c0-4.4-3.6-8-8-8h-72V462h62zM381 836H264V462h117v374zm189 0H453V462h117v374zm190 0H642V462h118v374z\"},\"child\":[]}]})(props);\n};\nexport function AiFillBehanceCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M420.3 470.3c8.7-6.3 12.9-16.7 12.9-31 .3-6.8-1.1-13.5-4.1-19.6-2.7-4.9-6.7-9-11.6-11.9a44.8 44.8 0 0 0-16.6-6c-6.4-1.2-12.9-1.8-19.3-1.7h-70.3v79.7h76.1c13.1.1 24.2-3.1 32.9-9.5zm11.8 72c-9.8-7.5-22.9-11.2-39.2-11.2h-81.8v94h80.2c7.5 0 14.4-.7 21.1-2.1a50.5 50.5 0 0 0 17.8-7.2c5.1-3.3 9.2-7.8 12.3-13.6 3-5.8 4.5-13.2 4.5-22.1 0-17.7-5-30.2-14.9-37.8zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm86.5 286.9h138.4v33.7H598.5v-33.7zM512 628.8a89.52 89.52 0 0 1-27 31c-11.8 8.2-24.9 14.2-38.8 17.7a167.4 167.4 0 0 1-44.6 5.7H236V342.1h161c16.3 0 31.1 1.5 44.6 4.3 13.4 2.8 24.8 7.6 34.4 14.1 9.5 6.5 17 15.2 22.3 26 5.2 10.7 7.9 24.1 7.9 40 0 17.2-3.9 31.4-11.7 42.9-7.9 11.5-19.3 20.8-34.8 28.1 21.1 6 36.6 16.7 46.8 31.7 10.4 15.2 15.5 33.4 15.5 54.8 0 17.4-3.3 32.3-10 44.8zM790.8 576H612.4c0 19.4 6.7 38 16.8 48 10.2 9.9 24.8 14.9 43.9 14.9 13.8 0 25.5-3.5 35.5-10.4 9.9-6.9 15.9-14.2 18.1-21.8h59.8c-9.6 29.7-24.2 50.9-44 63.7-19.6 12.8-43.6 19.2-71.5 19.2-19.5 0-37-3.2-52.7-9.3-15.1-5.9-28.7-14.9-39.9-26.5a121.2 121.2 0 0 1-25.1-41.2c-6.1-16.9-9.1-34.7-8.9-52.6 0-18.5 3.1-35.7 9.1-51.7 11.5-31.1 35.4-56 65.9-68.9 16.3-6.8 33.8-10.2 51.5-10 21 0 39.2 4 55 12.2a111.6 111.6 0 0 1 38.6 32.8c10.1 13.7 17.2 29.3 21.7 46.9 4.3 17.3 5.8 35.5 4.6 54.7zm-122-95.6c-10.8 0-19.9 1.9-26.9 5.6-7 3.7-12.8 8.3-17.2 13.6a48.4 48.4 0 0 0-9.1 17.4c-1.6 5.3-2.7 10.7-3.1 16.2H723c-1.6-17.3-7.6-30.1-15.6-39.1-8.4-8.9-21.9-13.7-38.6-13.7z\"},\"child\":[]}]})(props);\n};\nexport function AiFillBehanceSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM598.5 350.9h138.4v33.7H598.5v-33.7zM512 628.8a89.52 89.52 0 0 1-27 31c-11.8 8.2-24.9 14.2-38.8 17.7a167.4 167.4 0 0 1-44.6 5.7H236V342.1h161c16.3 0 31.1 1.5 44.6 4.3 13.4 2.8 24.8 7.6 34.4 14.1 9.5 6.5 17 15.2 22.3 26 5.2 10.7 7.9 24.1 7.9 40 0 17.2-3.9 31.4-11.7 42.9-7.9 11.5-19.3 20.8-34.8 28.1 21.1 6 36.6 16.7 46.8 31.7 10.4 15.2 15.5 33.4 15.5 54.8 0 17.4-3.3 32.3-10 44.8zM790.8 576H612.4c0 19.4 6.7 38 16.8 48 10.2 9.9 24.8 14.9 43.9 14.9 13.8 0 25.5-3.5 35.5-10.4 9.9-6.9 15.9-14.2 18.1-21.8h59.8c-9.6 29.7-24.2 50.9-44 63.7-19.6 12.8-43.6 19.2-71.5 19.2-19.5 0-37-3.2-52.7-9.3-15.1-5.9-28.7-14.9-39.9-26.5a121.2 121.2 0 0 1-25.1-41.2c-6.1-16.9-9.1-34.7-8.9-52.6 0-18.5 3.1-35.7 9.1-51.7 11.5-31.1 35.4-56 65.9-68.9 16.3-6.8 33.8-10.2 51.5-10 21 0 39.2 4 55 12.2a111.6 111.6 0 0 1 38.6 32.8c10.1 13.7 17.2 29.3 21.7 46.9 4.3 17.3 5.8 35.5 4.6 54.7zm-122-95.6c-10.8 0-19.9 1.9-26.9 5.6-7 3.7-12.8 8.3-17.2 13.6a48.4 48.4 0 0 0-9.1 17.4c-1.6 5.3-2.7 10.7-3.1 16.2H723c-1.6-17.3-7.6-30.1-15.6-39.1-8.4-8.9-21.9-13.7-38.6-13.7zm-248.5-10.1c8.7-6.3 12.9-16.7 12.9-31 .3-6.8-1.1-13.5-4.1-19.6-2.7-4.9-6.7-9-11.6-11.9a44.8 44.8 0 0 0-16.6-6c-6.4-1.2-12.9-1.8-19.3-1.7h-70.3v79.7h76.1c13.1.1 24.2-3.1 32.9-9.5zm11.8 72c-9.8-7.5-22.9-11.2-39.2-11.2h-81.8v94h80.2c7.5 0 14.4-.7 21.1-2.1s12.7-3.8 17.8-7.2c5.1-3.3 9.2-7.8 12.3-13.6 3-5.8 4.5-13.2 4.5-22.1 0-17.7-5-30.2-14.9-37.8z\"},\"child\":[]}]})(props);\n};\nexport function AiFillBell (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M816 768h-24V428c0-141.1-104.3-257.8-240-277.2V112c0-22.1-17.9-40-40-40s-40 17.9-40 40v38.8C336.3 170.2 232 286.9 232 428v340h-24c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h216c0 61.8 50.2 112 112 112s112-50.2 112-112h216c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM512 888c-26.5 0-48-21.5-48-48h96c0 26.5-21.5 48-48 48z\"},\"child\":[]}]})(props);\n};\nexport function AiFillBilibili (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M198.134 484.45c-7.999-4.463-16.498-8.43-24.997-11.9a273.55 273.55 0 0 0-26.996-7.438c-2.5-.992-2.5.991-2.5 1.487 0 7.934.5 18.843 1.5 27.768 1 7.438 2 15.372 4 22.81 0 .496 0 .991.5 1.487.999.992 1.999 1.488 2.999.496 7.999-4.463 15.998-8.43 22.997-13.388 7.499-5.454 15.498-11.9 21.997-18.347 1.5-1.487 0-2.479.5-2.975m323.96-11.9a273.55 273.55 0 0 0-26.997-7.438c-2.5-.992-2.5.991-2.5 1.487 0 7.934.5 18.843 1.5 27.768 1 7.438 2 15.372 4 22.81 0 .496 0 .991.5 1.487 1 .992 2 1.488 3 .496 7.999-4.463 15.998-8.43 22.997-13.388 7.499-5.454 15.498-11.9 21.997-18.347 2-1.487.5-2.479.5-2.975-7.5-4.463-16.498-8.43-24.997-11.9\",\"transform\":\"translate(112 112)\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M629.496 0H171C76.499 0 0 76.5 0 171.5v458C.5 723.5 77 800 170.999 800h457.997c94.5 0 171.002-76.5 171.002-170.5v-458C800.495 76.5 723.996 0 629.496 0m95 343.5h15.5v48h-15.5zm-95.5-1.5 2 43-13.5 1.5-5-44.5zm-23.5 0 4 45.5-14.5 1.5-6.5-47.5h17zm-230.498 1.5h15v48h-15zm-96-1.5 2 43-13.5 1.5-5-44.5zm-23.5 0 4 45.5-14.5 2-6-47.5zm-3.5 149C231.498 556.5 104 550.5 92.5 548.5 83.5 387 69.5 352 58 273l54.5-22.5c1 71.5 9 185 9 185s108.5-15.5 132 47c.5 3 0 6-1.5 8.5m20.5 35.5-23.5-124h35.5l13 123zm44.5-8-27-235 33.5-1.5 21 236h-27.5zm34-175h17.5v48h-13.5zm41 190h-26.5l-9.5-126h36zm209.998-43C581.496 556 453.997 550 442.497 548c-9-161-23-196-34.5-275l54.5-22.5c1 71.5 9 185 9 185s108.5-15.5 132 46.5c.5 3 0 6-1.5 8.5m19.5 36-23-124h35.5l13 123zm45.5-8-27.5-235 33.5-1.5 21 236h-27zm33.5-175h17.5v48h-13zm41 190h-26.5l-9.5-126h36z\",\"transform\":\"translate(112 112)\"},\"child\":[]}]}]})(props);\n};\nexport function AiFillBook (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zM668 345.9L621.5 312 572 347.4V124h96v221.9z\"},\"child\":[]}]})(props);\n};\nexport function AiFillBoxPlot (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M952 224h-52c-4.4 0-8 3.6-8 8v248h-92V304c0-4.4-3.6-8-8-8H448v432h344c4.4 0 8-3.6 8-8V548h92v244c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8V232c0-4.4-3.6-8-8-8zm-728 80v176h-92V232c0-4.4-3.6-8-8-8H72c-4.4 0-8 3.6-8 8v560c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8V548h92v172c0 4.4 3.6 8 8 8h152V296H232c-4.4 0-8 3.6-8 8z\"},\"child\":[]}]})(props);\n};\nexport function AiFillBug (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M304 280h416c4.4 0 8-3.6 8-8 0-40-8.8-76.7-25.9-108.1-17.2-31.5-42.5-56.8-74-74C596.7 72.8 560 64 520 64h-16c-40 0-76.7 8.8-108.1 25.9-31.5 17.2-56.8 42.5-74 74C304.8 195.3 296 232 296 272c0 4.4 3.6 8 8 8z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M940 512H792V412c76.8 0 139-62.2 139-139 0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 34.8-28.2 63-63 63H232c-34.8 0-63-28.2-63-63 0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 76.8 62.2 139 139 139v100H84c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h148v96c0 6.5.2 13 .7 19.3C164.1 728.6 116 796.7 116 876c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8 0-44.2 23.9-82.9 59.6-103.7 6 17.2 13.6 33.6 22.7 49 24.3 41.5 59 76.2 100.5 100.5 28.9 16.9 61 28.8 95.3 34.5 4.4 0 8-3.6 8-8V484c0-4.4 3.6-8 8-8h60c4.4 0 8 3.6 8 8v464.2c0 4.4 3.6 8 8 8 34.3-5.7 66.4-17.6 95.3-34.5 41.5-24.3 76.2-59 100.5-100.5 9.1-15.5 16.7-31.9 22.7-49C812.1 793.1 836 831.8 836 876c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8 0-79.3-48.1-147.4-116.7-176.7.4-6.4.7-12.8.7-19.3v-96h148c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiFillBuild (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M916 210H376c-17.7 0-32 14.3-32 32v236H108c-17.7 0-32 14.3-32 32v272c0 17.7 14.3 32 32 32h540c17.7 0 32-14.3 32-32V546h236c17.7 0 32-14.3 32-32V242c0-17.7-14.3-32-32-32zM612 746H412V546h200v200zm268-268H680V278h200v200z\"},\"child\":[]}]})(props);\n};\nexport function AiFillBulb (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M348 676.1C250 619.4 184 513.4 184 392c0-181.1 146.9-328 328-328s328 146.9 328 328c0 121.4-66 227.4-164 284.1V792c0 17.7-14.3 32-32 32H380c-17.7 0-32-14.3-32-32V676.1zM392 888h240c4.4 0 8 3.6 8 8v32c0 17.7-14.3 32-32 32H416c-17.7 0-32-14.3-32-32v-32c0-4.4 3.6-8 8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiFillCalculator (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM440.2 765h-50.8c-2.2 0-4.5-1.1-5.9-2.9L348 718.6l-35.5 43.5a7.38 7.38 0 0 1-5.9 2.9h-50.8c-6.6 0-10.2-7.9-5.8-13.1l62.7-76.8-61.2-74.9c-4.3-5.2-.7-13.1 5.9-13.1h50.9c2.2 0 4.5 1.1 5.9 2.9l34 41.6 34-41.6c1.5-1.9 3.6-2.9 5.9-2.9h50.8c6.6 0 10.2 7.9 5.9 13.1L383.5 675l62.7 76.8c4.2 5.3.6 13.2-6 13.2zm7.8-382c0 2.2-1.4 4-3.2 4H376v68.7c0 1.9-1.8 3.3-4 3.3h-48c-2.2 0-4-1.4-4-3.2V387h-68.8c-1.8 0-3.2-1.8-3.2-4v-48c0-2.2 1.4-4 3.2-4H320v-68.8c0-1.8 1.8-3.2 4-3.2h48c2.2 0 4 1.4 4 3.2V331h68.7c1.9 0 3.3 1.8 3.3 4v48zm328 369c0 2.2-1.4 4-3.2 4H579.2c-1.8 0-3.2-1.8-3.2-4v-48c0-2.2 1.4-4 3.2-4h193.5c1.9 0 3.3 1.8 3.3 4v48zm0-104c0 2.2-1.4 4-3.2 4H579.2c-1.8 0-3.2-1.8-3.2-4v-48c0-2.2 1.4-4 3.2-4h193.5c1.9 0 3.3 1.8 3.3 4v48zm0-265c0 2.2-1.4 4-3.2 4H579.2c-1.8 0-3.2-1.8-3.2-4v-48c0-2.2 1.4-4 3.2-4h193.5c1.9 0 3.3 1.8 3.3 4v48z\"},\"child\":[]}]})(props);\n};\nexport function AiFillCalendar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M112 880c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V460H112v420zm768-696H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v176h800V216c0-17.7-14.3-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function AiFillCamera (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M864 260H728l-32.4-90.8a32.07 32.07 0 0 0-30.2-21.2H358.6c-13.5 0-25.6 8.5-30.1 21.2L296 260H160c-44.2 0-80 35.8-80 80v456c0 44.2 35.8 80 80 80h704c44.2 0 80-35.8 80-80V340c0-44.2-35.8-80-80-80zM512 716c-88.4 0-160-71.6-160-160s71.6-160 160-160 160 71.6 160 160-71.6 160-160 160zm-96-160a96 96 0 1 0 192 0 96 96 0 1 0-192 0z\"},\"child\":[]}]})(props);\n};\nexport function AiFillCar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M959 413.4L935.3 372a8 8 0 0 0-10.9-2.9l-50.7 29.6-78.3-216.2a63.9 63.9 0 0 0-60.9-44.4H301.2c-34.7 0-65.5 22.4-76.2 55.5l-74.6 205.2-50.8-29.6a8 8 0 0 0-10.9 2.9L65 413.4c-2.2 3.8-.9 8.6 2.9 10.8l60.4 35.2-14.5 40c-1.2 3.2-1.8 6.6-1.8 10v348.2c0 15.7 11.8 28.4 26.3 28.4h67.6c12.3 0 23-9.3 25.6-22.3l7.7-37.7h545.6l7.7 37.7c2.7 13 13.3 22.3 25.6 22.3h67.6c14.5 0 26.3-12.7 26.3-28.4V509.4c0-3.4-.6-6.8-1.8-10l-14.5-40 60.3-35.2a8 8 0 0 0 3-10.8zM264 621c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zm388 75c0 4.4-3.6 8-8 8H380c-4.4 0-8-3.6-8-8v-84c0-4.4 3.6-8 8-8h40c4.4 0 8 3.6 8 8v36h168v-36c0-4.4 3.6-8 8-8h40c4.4 0 8 3.6 8 8v84zm108-75c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zM220 418l72.7-199.9.5-1.3.4-1.3c1.1-3.3 4.1-5.5 7.6-5.5h427.6l75.4 208H220z\"},\"child\":[]}]})(props);\n};\nexport function AiFillCaretDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z\"},\"child\":[]}]})(props);\n};\nexport function AiFillCaretLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M689 165.1L308.2 493.5c-10.9 9.4-10.9 27.5 0 37L689 858.9c14.2 12.2 35 1.2 35-18.5V183.6c0-19.7-20.8-30.7-35-18.5z\"},\"child\":[]}]})(props);\n};\nexport function AiFillCaretRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M715.8 493.5L335 165.1c-14.2-12.2-35-1.2-35 18.5v656.8c0 19.7 20.8 30.7 35 18.5l380.8-328.4c10.9-9.4 10.9-27.6 0-37z\"},\"child\":[]}]})(props);\n};\nexport function AiFillCaretUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M858.9 689L530.5 308.2c-9.4-10.9-27.5-10.9-37 0L165.1 689c-12.2 14.2-1.2 35 18.5 35h656.8c19.7 0 30.7-20.8 18.5-35z\"},\"child\":[]}]})(props);\n};\nexport function AiFillCarryOut (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zM694.5 432.7L481.9 725.4a16.1 16.1 0 0 1-26 0l-126.4-174c-3.8-5.3 0-12.7 6.5-12.7h55.2c5.1 0 10 2.5 13 6.6l64.7 89 150.9-207.8c3-4.1 7.8-6.6 13-6.6H688c6.5.1 10.3 7.5 6.5 12.8z\"},\"child\":[]}]})(props);\n};\nexport function AiFillCheckCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm193.5 301.7l-210.6 292a31.8 31.8 0 0 1-51.7 0L318.5 484.9c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.2 0 19.9 4.9 25.9 13.3l71.2 98.8 157.2-218c6-8.3 15.6-13.3 25.9-13.3H699c6.5 0 10.3 7.4 6.5 12.7z\"},\"child\":[]}]})(props);\n};\nexport function AiFillCheckSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM695.5 365.7l-210.6 292a31.8 31.8 0 0 1-51.7 0L308.5 484.9c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.2 0 19.9 4.9 25.9 13.3l71.2 98.8 157.2-218c6-8.3 15.6-13.3 25.9-13.3H689c6.5 0 10.3 7.4 6.5 12.7z\"},\"child\":[]}]})(props);\n};\nexport function AiFillChrome (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M371.8 512c0 77.5 62.7 140.2 140.2 140.2S652.2 589.5 652.2 512 589.5 371.8 512 371.8 371.8 434.4 371.8 512zM900 362.4l-234.3 12.1c63.6 74.3 64.6 181.5 11.1 263.7l-188 289.2c78 4.2 158.4-12.9 231.2-55.2 180-104 253-322.1 180-509.8zM320.3 591.9L163.8 284.1A415.35 415.35 0 0 0 96 512c0 208 152.3 380.3 351.4 410.8l106.9-209.4c-96.6 18.2-189.9-34.8-234-121.5zm218.5-285.5l344.4 18.1C848 254.7 792.6 194 719.8 151.7 653.9 113.6 581.5 95.5 510.5 96c-122.5.5-242.2 55.2-322.1 154.5l128.2 196.9c32-91.9 124.8-146.7 222.2-141z\"},\"child\":[]}]})(props);\n};\nexport function AiFillCiCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-63.6 656c-103 0-162.4-68.6-162.4-182.6v-49C286 373.5 345.4 304 448.3 304c88.3 0 152.3 56.9 152.3 138.1 0 2.4-2 4.4-4.4 4.4h-52.6c-4.2 0-7.6-3.2-8-7.4-4-46.1-37.6-77.6-87-77.6-61.1 0-95.6 45.4-95.6 126.9v49.3c0 80.3 34.5 125.1 95.6 125.1 49.3 0 82.8-29.5 87-72.4.4-4.1 3.8-7.3 8-7.3h52.7c2.4 0 4.4 2 4.4 4.4 0 77.4-64.3 132.5-152.3 132.5zM738 704.1c0 4.4-3.6 8-8 8h-50.4c-4.4 0-8-3.6-8-8V319.9c0-4.4 3.6-8 8-8H730c4.4 0 8 3.6 8 8v384.2z\"},\"child\":[]}]})(props);\n};\nexport function AiFillClockCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm176.5 585.7l-28.6 39a7.99 7.99 0 0 1-11.2 1.7L483.3 569.8a7.92 7.92 0 0 1-3.3-6.5V288c0-4.4 3.6-8 8-8h48.1c4.4 0 8 3.6 8 8v247.5l142.6 103.1c3.6 2.5 4.4 7.5 1.8 11.1z\"},\"child\":[]}]})(props);\n};\nexport function AiFillCloseCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64c247.4 0 448 200.6 448 448S759.4 960 512 960 64 759.4 64 512 264.6 64 512 64Zm127.978 274.82-.034.006c-.023.007-.042.018-.083.059L512 466.745l-127.86-127.86c-.042-.041-.06-.052-.084-.059a.118.118 0 0 0-.07 0c-.022.007-.041.018-.082.059l-45.02 45.019c-.04.04-.05.06-.058.083a.118.118 0 0 0 0 .07l.01.022a.268.268 0 0 0 .049.06L466.745 512l-127.86 127.862c-.041.04-.052.06-.059.083a.118.118 0 0 0 0 .07c.007.022.018.041.059.082l45.019 45.02c.04.04.06.05.083.058a.118.118 0 0 0 .07 0c.022-.007.041-.018.082-.059L512 557.254l127.862 127.861c.04.041.06.052.083.059a.118.118 0 0 0 .07 0c.022-.007.041-.018.082-.059l45.02-45.019c.04-.04.05-.06.058-.083a.118.118 0 0 0 0-.07l-.01-.022a.268.268 0 0 0-.049-.06L557.254 512l127.861-127.86c.041-.042.052-.06.059-.084a.118.118 0 0 0 0-.07c-.007-.022-.018-.041-.059-.082l-45.019-45.02c-.04-.04-.06-.05-.083-.058a.118.118 0 0 0-.07 0Z\"},\"child\":[]}]})(props);\n};\nexport function AiFillCloseSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112c17.7 0 32 14.3 32 32v736c0 17.7-14.3 32-32 32H144c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32ZM639.978 338.82l-.034.006c-.023.007-.042.018-.083.059L512 466.745l-127.86-127.86c-.042-.041-.06-.052-.084-.059a.118.118 0 0 0-.07 0c-.022.007-.041.018-.082.059l-45.02 45.019c-.04.04-.05.06-.058.083a.118.118 0 0 0 0 .07l.01.022a.268.268 0 0 0 .049.06L466.745 512l-127.86 127.862c-.041.04-.052.06-.059.083a.118.118 0 0 0 0 .07c.007.022.018.041.059.082l45.019 45.02c.04.04.06.05.083.058a.118.118 0 0 0 .07 0c.022-.007.041-.018.082-.059L512 557.254l127.862 127.861c.04.041.06.052.083.059a.118.118 0 0 0 .07 0c.022-.007.041-.018.082-.059l45.02-45.019c.04-.04.05-.06.058-.083a.118.118 0 0 0 0-.07l-.01-.022a.268.268 0 0 0-.049-.06L557.254 512l127.861-127.86c.041-.042.052-.06.059-.084a.118.118 0 0 0 0-.07c-.007-.022-.018-.041-.059-.082l-45.019-45.02c-.04-.04-.06-.05-.083-.058a.118.118 0 0 0-.07 0Z\"},\"child\":[]}]})(props);\n};\nexport function AiFillCloud (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M811.4 418.7C765.6 297.9 648.9 212 512.2 212S258.8 297.8 213 418.6C127.3 441.1 64 519.1 64 612c0 110.5 89.5 200 199.9 200h496.2C870.5 812 960 722.5 960 612c0-92.7-63.1-170.7-148.6-193.3z\"},\"child\":[]}]})(props);\n};\nexport function AiFillCodeSandboxCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm243.7 589.2L512 794 268.3 653.2V371.8l110-63.6-.4-.2h.2L512 231l134 77h-.2l-.3.2 110.1 63.6v281.4zM307.9 536.7l87.6 49.9V681l96.7 55.9V524.8L307.9 418.4zm203.9-151.8L418 331l-91.1 52.6 185.2 107 185.2-106.9-91.4-52.8zm20 352l97.3-56.2v-94.1l87-49.5V418.5L531.8 525z\"},\"child\":[]}]})(props);\n};\nexport function AiFillCodeSandboxSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M307.9 536.7l87.6 49.9V681l96.7 55.9V524.8L307.9 418.4zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM755.7 653.2L512 794 268.3 653.2V371.8l110-63.6-.4-.2h.2L512 231l134 77h-.2l-.3.2 110.1 63.6v281.4zm-223.9 83.7l97.3-56.2v-94.1l87-49.5V418.5L531.8 525zm-20-352L418 331l-91.1 52.6 185.2 107 185.2-106.9-91.4-52.8z\"},\"child\":[]}]})(props);\n};\nexport function AiFillCode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM513.1 518.1l-192 161c-5.2 4.4-13.1.7-13.1-6.1v-62.7c0-2.3 1.1-4.6 2.9-6.1L420.7 512l-109.8-92.2a7.63 7.63 0 0 1-2.9-6.1V351c0-6.8 7.9-10.5 13.1-6.1l192 160.9c3.9 3.2 3.9 9.1 0 12.3zM716 673c0 4.4-3.4 8-7.5 8h-185c-4.1 0-7.5-3.6-7.5-8v-48c0-4.4 3.4-8 7.5-8h185c4.1 0 7.5 3.6 7.5 8v48z\"},\"child\":[]}]})(props);\n};\nexport function AiFillCodepenCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M488.1 414.7V303.4L300.9 428l83.6 55.8zm254.1 137.7v-79.8l-59.8 39.9zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm278 533c0 1.1-.1 2.1-.2 3.1 0 .4-.1.7-.2 1a14.16 14.16 0 0 1-.8 3.2c-.2.6-.4 1.2-.6 1.7-.2.4-.4.8-.5 1.2-.3.5-.5 1.1-.8 1.6-.2.4-.4.7-.7 1.1-.3.5-.7 1-1 1.5-.3.4-.5.7-.8 1-.4.4-.8.9-1.2 1.3-.3.3-.6.6-1 .9-.4.4-.9.8-1.4 1.1-.4.3-.7.6-1.1.8-.1.1-.3.2-.4.3L525.2 786c-4 2.7-8.6 4-13.2 4-4.7 0-9.3-1.4-13.3-4L244.6 616.9c-.1-.1-.3-.2-.4-.3l-1.1-.8c-.5-.4-.9-.7-1.3-1.1-.3-.3-.6-.6-1-.9-.4-.4-.8-.8-1.2-1.3a7 7 0 0 1-.8-1c-.4-.5-.7-1-1-1.5-.2-.4-.5-.7-.7-1.1-.3-.5-.6-1.1-.8-1.6-.2-.4-.4-.8-.5-1.2-.2-.6-.4-1.2-.6-1.7-.1-.4-.3-.8-.4-1.2-.2-.7-.3-1.3-.4-2-.1-.3-.1-.7-.2-1-.1-1-.2-2.1-.2-3.1V427.9c0-1 .1-2.1.2-3.1.1-.3.1-.7.2-1a14.16 14.16 0 0 1 .8-3.2c.2-.6.4-1.2.6-1.7.2-.4.4-.8.5-1.2.2-.5.5-1.1.8-1.6.2-.4.4-.7.7-1.1.6-.9 1.2-1.7 1.8-2.5.4-.4.8-.9 1.2-1.3.3-.3.6-.6 1-.9.4-.4.9-.8 1.3-1.1.4-.3.7-.6 1.1-.8.1-.1.3-.2.4-.3L498.7 239c8-5.3 18.5-5.3 26.5 0l254.1 169.1c.1.1.3.2.4.3l1.1.8 1.4 1.1c.3.3.6.6 1 .9.4.4.8.8 1.2 1.3.7.8 1.3 1.6 1.8 2.5.2.4.5.7.7 1.1.3.5.6 1 .8 1.6.2.4.4.8.5 1.2.2.6.4 1.2.6 1.7.1.4.3.8.4 1.2.2.7.3 1.3.4 2 .1.3.1.7.2 1 .1 1 .2 2.1.2 3.1V597zm-254.1 13.3v111.3L723.1 597l-83.6-55.8zM281.8 472.6v79.8l59.8-39.9zM512 456.1l-84.5 56.4 84.5 56.4 84.5-56.4zM723.1 428L535.9 303.4v111.3l103.6 69.1zM384.5 541.2L300.9 597l187.2 124.6V610.3l-103.6-69.1z\"},\"child\":[]}]})(props);\n};\nexport function AiFillCodepenSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M723.1 428L535.9 303.4v111.3l103.6 69.1zM512 456.1l-84.5 56.4 84.5 56.4 84.5-56.4zm23.9 154.2v111.3L723.1 597l-83.6-55.8zm-151.4-69.1L300.9 597l187.2 124.6V610.3l-103.6-69.1zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-90 485c0 1.1-.1 2.1-.2 3.1 0 .4-.1.7-.2 1a14.16 14.16 0 0 1-.8 3.2c-.2.6-.4 1.2-.6 1.7-.2.4-.4.8-.5 1.2-.3.5-.5 1.1-.8 1.6-.2.4-.4.7-.7 1.1-.3.5-.7 1-1 1.5-.3.4-.5.7-.8 1-.4.4-.8.9-1.2 1.3-.3.3-.6.6-1 .9-.4.4-.9.8-1.4 1.1-.4.3-.7.6-1.1.8-.1.1-.3.2-.4.3L525.2 786c-4 2.7-8.6 4-13.2 4-4.7 0-9.3-1.4-13.3-4L244.6 616.9c-.1-.1-.3-.2-.4-.3l-1.1-.8c-.5-.4-.9-.7-1.3-1.1-.3-.3-.6-.6-1-.9-.4-.4-.8-.8-1.2-1.3a7 7 0 0 1-.8-1c-.4-.5-.7-1-1-1.5-.2-.4-.5-.7-.7-1.1-.3-.5-.6-1.1-.8-1.6-.2-.4-.4-.8-.5-1.2-.2-.6-.4-1.2-.6-1.7-.1-.4-.3-.8-.4-1.2-.2-.7-.3-1.3-.4-2-.1-.3-.1-.7-.2-1-.1-1-.2-2.1-.2-3.1V427.9c0-1 .1-2.1.2-3.1.1-.3.1-.7.2-1a14.16 14.16 0 0 1 .8-3.2c.2-.6.4-1.2.6-1.7.2-.4.4-.8.5-1.2.2-.5.5-1.1.8-1.6.2-.4.4-.7.7-1.1.6-.9 1.2-1.7 1.8-2.5.4-.4.8-.9 1.2-1.3.3-.3.6-.6 1-.9.4-.4.9-.8 1.3-1.1.4-.3.7-.6 1.1-.8.1-.1.3-.2.4-.3L498.7 239c8-5.3 18.5-5.3 26.5 0l254.1 169.1c.1.1.3.2.4.3l1.1.8 1.4 1.1c.3.3.6.6 1 .9.4.4.8.8 1.2 1.3.7.8 1.3 1.6 1.8 2.5.2.4.5.7.7 1.1.3.5.6 1 .8 1.6.2.4.4.8.5 1.2.2.6.4 1.2.6 1.7.1.4.3.8.4 1.2.2.7.3 1.3.4 2 .1.3.1.7.2 1 .1 1 .2 2.1.2 3.1V597zm-47.8-44.6v-79.8l-59.8 39.9zm-460.4-79.8v79.8l59.8-39.9zm206.3-57.9V303.4L300.9 428l83.6 55.8z\"},\"child\":[]}]})(props);\n};\nexport function AiFillCompass (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zM327.3 702.4c-2 .9-4.4 0-5.3-2.1-.4-1-.4-2.2 0-3.2l98.7-225.5 132.1 132.1-225.5 98.7zm375.1-375.1l-98.7 225.5-132.1-132.1L697.1 322c2-.9 4.4 0 5.3 2.1.4 1 .4 2.1 0 3.2z\"},\"child\":[]}]})(props);\n};\nexport function AiFillContacts (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M928 224H768v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H548v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H328v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H96c-17.7 0-32 14.3-32 32v576c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32zM661 736h-43.9c-4.2 0-7.6-3.3-7.9-7.5-3.8-50.6-46-90.5-97.2-90.5s-93.4 40-97.2 90.5c-.3 4.2-3.7 7.5-7.9 7.5H363a8 8 0 0 1-8-8.4c2.8-53.3 32-99.7 74.6-126.1a111.8 111.8 0 0 1-29.1-75.5c0-61.9 49.9-112 111.4-112 61.5 0 111.4 50.1 111.4 112 0 29.1-11 55.5-29.1 75.5 42.7 26.5 71.8 72.8 74.6 126.1.4 4.6-3.2 8.4-7.8 8.4zM512 474c-28.5 0-51.7 23.3-51.7 52s23.2 52 51.7 52c28.5 0 51.7-23.3 51.7-52s-23.2-52-51.7-52z\"},\"child\":[]}]})(props);\n};\nexport function AiFillContainer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M832 64H192c-17.7 0-32 14.3-32 32v529c0-.6.4-1 1-1h219.3l5.2 24.7C397.6 708.5 450.8 752 512 752s114.4-43.5 126.4-103.3l5.2-24.7H863c.6 0 1 .4 1 1V96c0-17.7-14.3-32-32-32zM712 493c0 4.4-3.6 8-8 8H320c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h384c4.4 0 8 3.6 8 8v48zm0-160c0 4.4-3.6 8-8 8H320c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h384c4.4 0 8 3.6 8 8v48zm151 354H694.1c-11.6 32.8-32 62.3-59.1 84.7-34.5 28.6-78.2 44.3-123 44.3s-88.5-15.8-123-44.3a194.02 194.02 0 0 1-59.1-84.7H161c-.6 0-1-.4-1-1v242c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V686c0 .6-.4 1-1 1z\"},\"child\":[]}]})(props);\n};\nexport function AiFillControl (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM404 683v77c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-77c-41.7-13.6-72-52.8-72-99s30.3-85.5 72-99V264c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v221c41.7 13.6 72 52.8 72 99s-30.3 85.5-72 99zm279.6-143.9c.2 0 .3-.1.4-.1v221c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V539c.2 0 .3.1.4.1-42-13.4-72.4-52.7-72.4-99.1 0-46.4 30.4-85.7 72.4-99.1-.2 0-.3.1-.4.1v-77c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v77c-.2 0-.3-.1-.4-.1 42 13.4 72.4 52.7 72.4 99.1 0 46.4-30.4 85.7-72.4 99.1zM616 440a36 36 0 1 0 72 0 36 36 0 1 0-72 0zM403.4 566.5l-1.5-2.4c0-.1-.1-.1-.1-.2l-.9-1.2c-.1-.1-.2-.2-.2-.3-1-1.3-2-2.5-3.2-3.6l-.2-.2c-.4-.4-.8-.8-1.2-1.1-.8-.8-1.7-1.5-2.6-2.1h-.1l-1.2-.9c-.1-.1-.3-.2-.4-.3-1.2-.8-2.5-1.6-3.9-2.2-.2-.1-.5-.2-.7-.4-.4-.2-.7-.3-1.1-.5-.3-.1-.7-.3-1-.4-.5-.2-1-.4-1.5-.5-.4-.1-.9-.3-1.3-.4l-.9-.3-1.4-.3c-.2-.1-.5-.1-.7-.2-.7-.1-1.4-.3-2.1-.4-.2 0-.4 0-.6-.1-.6-.1-1.1-.1-1.7-.2-.2 0-.4 0-.7-.1-.8 0-1.5-.1-2.3-.1s-1.5 0-2.3.1c-.2 0-.4 0-.7.1-.6 0-1.2.1-1.7.2-.2 0-.4 0-.6.1-.7.1-1.4.2-2.1.4-.2.1-.5.1-.7.2l-1.4.3-.9.3c-.4.1-.9.3-1.3.4-.5.2-1 .4-1.5.5-.3.1-.7.3-1 .4-.4.2-.7.3-1.1.5-.2.1-.5.2-.7.4-1.3.7-2.6 1.4-3.9 2.2-.1.1-.3.2-.4.3l-1.2.9h-.1c-.9.7-1.8 1.4-2.6 2.1-.4.4-.8.7-1.2 1.1l-.2.2a54.8 54.8 0 0 0-3.2 3.6c-.1.1-.2.2-.2.3l-.9 1.2c0 .1-.1.1-.1.2l-1.5 2.4c-.1.2-.2.3-.3.5-2.7 5.1-4.3 10.9-4.3 17s1.6 12 4.3 17c.1.2.2.3.3.5l1.5 2.4c0 .1.1.1.1.2l.9 1.2c.1.1.2.2.2.3 1 1.3 2 2.5 3.2 3.6l.2.2c.4.4.8.8 1.2 1.1.8.8 1.7 1.5 2.6 2.1h.1l1.2.9c.1.1.3.2.4.3 1.2.8 2.5 1.6 3.9 2.2.2.1.5.2.7.4.4.2.7.3 1.1.5.3.1.7.3 1 .4.5.2 1 .4 1.5.5.4.1.9.3 1.3.4l.9.3 1.4.3c.2.1.5.1.7.2.7.1 1.4.3 2.1.4.2 0 .4 0 .6.1.6.1 1.1.1 1.7.2.2 0 .4 0 .7.1.8 0 1.5.1 2.3.1s1.5 0 2.3-.1c.2 0 .4 0 .7-.1.6 0 1.2-.1 1.7-.2.2 0 .4 0 .6-.1.7-.1 1.4-.2 2.1-.4.2-.1.5-.1.7-.2l1.4-.3.9-.3c.4-.1.9-.3 1.3-.4.5-.2 1-.4 1.5-.5.3-.1.7-.3 1-.4.4-.2.7-.3 1.1-.5.2-.1.5-.2.7-.4 1.3-.7 2.6-1.4 3.9-2.2.1-.1.3-.2.4-.3l1.2-.9h.1c.9-.7 1.8-1.4 2.6-2.1.4-.4.8-.7 1.2-1.1l.2-.2c1.1-1.1 2.2-2.4 3.2-3.6.1-.1.2-.2.2-.3l.9-1.2c0-.1.1-.1.1-.2l1.5-2.4c.1-.2.2-.3.3-.5 2.7-5.1 4.3-10.9 4.3-17s-1.6-12-4.3-17c-.1-.2-.2-.4-.3-.5z\"},\"child\":[]}]})(props);\n};\nexport function AiFillCopy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM382 896h-.2L232 746.2v-.2h150v150z\"},\"child\":[]}]})(props);\n};\nexport function AiFillCopyrightCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm5.4 670c-110 0-173.4-73.2-173.4-194.9v-52.3C344 364.2 407.4 290 517.3 290c94.3 0 162.7 60.7 162.7 147.4 0 2.6-2.1 4.7-4.7 4.7h-56.7c-4.2 0-7.6-3.2-8-7.4-4-49.5-40-83.4-93-83.4-65.3 0-102.1 48.5-102.1 135.5v52.6c0 85.7 36.9 133.6 102.1 133.6 52.8 0 88.7-31.7 93-77.8.4-4.1 3.8-7.3 8-7.3h56.8c2.6 0 4.7 2.1 4.7 4.7 0 82.6-68.7 141.4-162.7 141.4z\"},\"child\":[]}]})(props);\n};\nexport function AiFillCreditCard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M928 160H96c-17.7 0-32 14.3-32 32v160h896V192c0-17.7-14.3-32-32-32zM64 832c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V440H64v392zm579-184c0-4.4 3.6-8 8-8h165c4.4 0 8 3.6 8 8v72c0 4.4-3.6 8-8 8H651c-4.4 0-8-3.6-8-8v-72z\"},\"child\":[]}]})(props);\n};\nexport function AiFillCrown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M899.6 276.5L705 396.4 518.4 147.5a8.06 8.06 0 0 0-12.9 0L319 396.4 124.3 276.5c-5.7-3.5-13.1 1.2-12.2 7.9L188.5 865c1.1 7.9 7.9 14 16 14h615.1c8 0 14.9-6 15.9-14l76.4-580.6c.8-6.7-6.5-11.4-12.3-7.9zM512 734.2c-62.1 0-112.6-50.5-112.6-112.6S449.9 509 512 509s112.6 50.5 112.6 112.6S574.1 734.2 512 734.2zm0-160.9c-26.6 0-48.2 21.6-48.2 48.3 0 26.6 21.6 48.3 48.2 48.3s48.2-21.6 48.2-48.3c0-26.6-21.6-48.3-48.2-48.3z\"},\"child\":[]}]})(props);\n};\nexport function AiFillCustomerService (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 128c-212.1 0-384 171.9-384 384v360c0 13.3 10.7 24 24 24h184c35.3 0 64-28.7 64-64V624c0-35.3-28.7-64-64-64H200v-48c0-172.3 139.7-312 312-312s312 139.7 312 312v48H688c-35.3 0-64 28.7-64 64v208c0 35.3 28.7 64 64 64h184c13.3 0 24-10.7 24-24V512c0-212.1-171.9-384-384-384z\"},\"child\":[]}]})(props);\n};\nexport function AiFillDashboard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M924.8 385.6a446.7 446.7 0 0 0-96-142.4 446.7 446.7 0 0 0-142.4-96C631.1 123.8 572.5 112 512 112s-119.1 11.8-174.4 35.2a446.7 446.7 0 0 0-142.4 96 446.7 446.7 0 0 0-96 142.4C75.8 440.9 64 499.5 64 560c0 132.7 58.3 257.7 159.9 343.1l1.7 1.4c5.8 4.8 13.1 7.5 20.6 7.5h531.7c7.5 0 14.8-2.7 20.6-7.5l1.7-1.4C901.7 817.7 960 692.7 960 560c0-60.5-11.9-119.1-35.2-174.4zM482 232c0-4.4 3.6-8 8-8h44c4.4 0 8 3.6 8 8v80c0 4.4-3.6 8-8 8h-44c-4.4 0-8-3.6-8-8v-80zM270 582c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8v-44c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v44zm90.7-204.5l-31.1 31.1a8.03 8.03 0 0 1-11.3 0L261.7 352a8.03 8.03 0 0 1 0-11.3l31.1-31.1c3.1-3.1 8.2-3.1 11.3 0l56.6 56.6c3.1 3.1 3.1 8.2 0 11.3zm291.1 83.6l-84.5 84.5c5 18.7.2 39.4-14.5 54.1a55.95 55.95 0 0 1-79.2 0 55.95 55.95 0 0 1 0-79.2 55.87 55.87 0 0 1 54.1-14.5l84.5-84.5c3.1-3.1 8.2-3.1 11.3 0l28.3 28.3c3.1 3.1 3.1 8.1 0 11.3zm43-52.4l-31.1-31.1a8.03 8.03 0 0 1 0-11.3l56.6-56.6c3.1-3.1 8.2-3.1 11.3 0l31.1 31.1c3.1 3.1 3.1 8.2 0 11.3l-56.6 56.6a8.03 8.03 0 0 1-11.3 0zM846 582c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8v-44c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v44z\"},\"child\":[]}]})(props);\n};\nexport function AiFillDatabase (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M832 64H192c-17.7 0-32 14.3-32 32v224h704V96c0-17.7-14.3-32-32-32zM288 232c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zM160 928c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V704H160v224zm128-136c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40zM160 640h704V384H160v256zm128-168c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40z\"},\"child\":[]}]})(props);\n};\nexport function AiFillDelete (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M864 256H736v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zm-200 0H360v-72h304v72z\"},\"child\":[]}]})(props);\n};\nexport function AiFillDiff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M854.2 306.6L611.3 72.9c-6-5.7-13.9-8.9-22.2-8.9H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h277l219 210.6V824c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V329.6c0-8.7-3.5-17-9.8-23zM553.4 201.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v704c0 17.7 14.3 32 32 32h512c17.7 0 32-14.3 32-32V397.3c0-8.5-3.4-16.6-9.4-22.6L553.4 201.4zM568 753c0 3.8-3.4 7-7.5 7h-225c-4.1 0-7.5-3.2-7.5-7v-42c0-3.8 3.4-7 7.5-7h225c4.1 0 7.5 3.2 7.5 7v42zm0-220c0 3.8-3.4 7-7.5 7H476v84.9c0 3.9-3.1 7.1-7 7.1h-42c-3.8 0-7-3.2-7-7.1V540h-84.5c-4.1 0-7.5-3.2-7.5-7v-42c0-3.9 3.4-7 7.5-7H420v-84.9c0-3.9 3.2-7.1 7-7.1h42c3.9 0 7 3.2 7 7.1V484h84.5c4.1 0 7.5 3.1 7.5 7v42z\"},\"child\":[]}]})(props);\n};\nexport function AiFillDingtalkCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm227 385.3c-1 4.2-3.5 10.4-7 17.8h.1l-.4.7c-20.3 43.1-73.1 127.7-73.1 127.7s-.1-.2-.3-.5l-15.5 26.8h74.5L575.1 810l32.3-128h-58.6l20.4-84.7c-16.5 3.9-35.9 9.4-59 16.8 0 0-31.2 18.2-89.9-35 0 0-39.6-34.7-16.6-43.4 9.8-3.7 47.4-8.4 77-12.3 40-5.4 64.6-8.2 64.6-8.2S422 517 392.7 512.5c-29.3-4.6-66.4-53.1-74.3-95.8 0 0-12.2-23.4 26.3-12.3 38.5 11.1 197.9 43.2 197.9 43.2s-207.4-63.3-221.2-78.7c-13.8-15.4-40.6-84.2-37.1-126.5 0 0 1.5-10.5 12.4-7.7 0 0 153.3 69.7 258.1 107.9 104.8 37.9 195.9 57.3 184.2 106.7z\"},\"child\":[]}]})(props);\n};\nexport function AiFillDingtalkSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM739 449.3c-1 4.2-3.5 10.4-7 17.8h.1l-.4.7c-20.3 43.1-73.1 127.7-73.1 127.7s-.1-.2-.3-.5l-15.5 26.8h74.5L575.1 810l32.3-128h-58.6l20.4-84.7c-16.5 3.9-35.9 9.4-59 16.8 0 0-31.2 18.2-89.9-35 0 0-39.6-34.7-16.6-43.4 9.8-3.7 47.4-8.4 77-12.3 40-5.4 64.6-8.2 64.6-8.2S422 517 392.7 512.5c-29.3-4.6-66.4-53.1-74.3-95.8 0 0-12.2-23.4 26.3-12.3 38.5 11.1 197.9 43.2 197.9 43.2s-207.4-63.3-221.2-78.7c-13.8-15.4-40.6-84.2-37.1-126.5 0 0 1.5-10.5 12.4-7.7 0 0 153.3 69.7 258.1 107.9 104.8 37.9 195.9 57.3 184.2 106.7z\"},\"child\":[]}]})(props);\n};\nexport function AiFillDiscord (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M693.152 0c51.153 0 92.41 41.358 94.848 90.028V873l-97.395-82.68-53.482-48.67-58.356-50.852 24.376 80.207H92.41C41.403 771.005 0 732.265 0 680.94V90.21C0 41.54 41.476.11 92.592.11h600.305zM470.164 207.109h-1.091l-7.346 7.269c75.382 21.806 111.855 55.86 111.855 55.86-48.582-24.277-92.364-36.416-136.146-41.323-31.636-4.906-63.272-2.326-90 0h-7.272c-17.091 0-53.455 7.27-102.182 26.713-16.982 7.378-26.727 12.212-26.727 12.212s36.436-36.417 116.727-55.86l-4.91-4.907s-60.8-2.326-126.436 46.156c0 0-65.636 114.265-65.636 255.134 0 0 36.364 63.238 136.11 65.637 0 0 14.545-19.371 29.272-36.417-56-17.008-77.818-51.026-77.818-51.026s4.872 2.398 12.181 7.269h2.182c1.091 0 1.6.545 2.182 1.09v.218c.582.581 1.091 1.09 2.182 1.09 12 4.943 24 9.813 33.818 14.538a297.576 297.576 0 0 0 65.455 19.48c33.818 4.906 72.581 7.269 116.727 0 21.818-4.906 43.636-9.704 65.454-19.444 14.182-7.269 31.637-14.537 50.8-26.785 0 0-21.818 34.018-80.181 51.026 12 16.937 28.909 36.344 28.909 36.344 99.782-2.18 138.545-65.419 140.727-62.73 0-140.65-66-255.133-66-255.133-59.455-44.121-115.09-45.793-124.91-45.793l2.037-.727zM477 367c25.463 0 46 21.757 46 48.41 0 26.833-20.646 48.59-46 48.59s-46-21.757-46-48.373c.072-26.834 20.754-48.518 46-48.518zm-165.855 0C336.499 367 357 388.757 357 415.41c0 26.833-20.646 48.59-46 48.59s-46-21.757-46-48.373c0-26.834 20.646-48.518 46-48.518z\",\"transform\":\"translate(118 87)\"},\"child\":[]}]})(props);\n};\nexport function AiFillDislike (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M885.9 490.3c3.6-12 5.4-24.4 5.4-37 0-28.3-9.3-55.5-26.1-77.7 3.6-12 5.4-24.4 5.4-37 0-28.3-9.3-55.5-26.1-77.7 3.6-12 5.4-24.4 5.4-37 0-51.6-30.7-98.1-78.3-118.4a66.1 66.1 0 0 0-26.5-5.4H273v428h.3l85.8 310.8C372.9 889 418.9 924 470.9 924c29.7 0 57.4-11.8 77.9-33.4 20.5-21.5 31-49.7 29.5-79.4l-6-122.9h239.9c12.1 0 23.9-3.2 34.3-9.3 40.4-23.5 65.5-66.1 65.5-111 0-28.3-9.3-55.5-26.1-77.7zM112 132v364c0 17.7 14.3 32 32 32h65V100h-65c-17.7 0-32 14.3-32 32z\"},\"child\":[]}]})(props);\n};\nexport function AiFillDollarCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm22.3 665.2l.2 31.7c0 4.4-3.6 8.1-8 8.1h-28.4c-4.4 0-8-3.6-8-8v-31.4C401.3 723 359.5 672.4 355 617.4c-.4-4.7 3.3-8.7 8-8.7h46.2c3.9 0 7.3 2.8 7.9 6.6 5.1 31.7 29.8 55.4 74.1 61.3V533.9l-24.7-6.3c-52.3-12.5-102.1-45.1-102.1-112.7 0-72.9 55.4-112.1 126.2-119v-33c0-4.4 3.6-8 8-8h28.1c4.4 0 8 3.6 8 8v32.7c68.5 6.9 119.9 46.9 125.9 109.2.5 4.7-3.2 8.8-8 8.8h-44.9c-4 0-7.4-3-7.9-6.9-4-29.2-27.4-53-65.5-58.2v134.3l25.4 5.9c64.8 16 108.9 47 108.9 116.4 0 75.3-56 117.3-134.3 124.1zM426.6 410.3c0 25.4 15.7 45.1 49.5 57.3 4.7 1.9 9.4 3.4 15 5v-124c-36.9 4.7-64.5 25.4-64.5 61.7zm116.5 135.2c-2.8-.6-5.6-1.3-8.8-2.2V677c42.6-3.8 72-27.2 72-66.4 0-30.7-15.9-50.7-63.2-65.1z\"},\"child\":[]}]})(props);\n};\nexport function AiFillDownCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm184.5 353.7l-178 246a7.95 7.95 0 0 1-12.9 0l-178-246c-3.8-5.3 0-12.7 6.5-12.7H381c10.2 0 19.9 4.9 25.9 13.2L512 563.6l105.2-145.4c6-8.3 15.6-13.2 25.9-13.2H690c6.5 0 10.3 7.4 6.5 12.7z\"},\"child\":[]}]})(props);\n};\nexport function AiFillDownSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM696.5 412.7l-178 246a7.95 7.95 0 0 1-12.9 0l-178-246c-3.8-5.3 0-12.7 6.5-12.7H381c10.2 0 19.9 4.9 25.9 13.2L512 558.6l105.2-145.4c6-8.3 15.6-13.2 25.9-13.2H690c6.5 0 10.3 7.4 6.5 12.7z\"},\"child\":[]}]})(props);\n};\nexport function AiFillDribbbleCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M675.1 328.3a245.2 245.2 0 0 0-220.8-55.1c6.8 9.1 51.5 69.9 91.8 144 87.5-32.8 124.5-82.6 129-88.9zM554 552.8c-138.7 48.3-188.6 144.6-193 153.6 41.7 32.5 94.1 51.9 151 51.9 34.1 0 66.6-6.9 96.1-19.5-3.7-21.6-17.9-96.8-52.5-186.6l-1.6.6zm47.7-11.9c32.2 88.4 45.3 160.4 47.8 175.4 55.2-37.3 94.5-96.4 105.4-164.9-8.4-2.6-76.1-22.8-153.2-10.5zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 736c-158.8 0-288-129.2-288-288s129.2-288 288-288 288 129.2 288 288-129.2 288-288 288zm53.1-346.2c5.7 11.7 11.2 23.6 16.3 35.6 1.8 4.2 3.6 8.4 5.3 12.7 81.8-10.3 163.2 6.2 171.3 7.9-.5-58.1-21.3-111.4-55.5-153.3-5.3 7.1-46.5 60-137.4 97.1zM498.6 432c-40.8-72.5-84.7-133.4-91.2-142.3-68.8 32.5-120.3 95.9-136.2 172.2 11 .2 112.4.7 227.4-29.9zm30.6 82.5c3.2-1 6.4-2 9.7-2.9-6.2-14-12.9-28-19.9-41.7-122.8 36.8-242.1 35.2-252.8 35-.1 2.5-.1 5-.1 7.5 0 63.2 23.9 120.9 63.2 164.5 5.5-9.6 73-121.4 199.9-162.4z\"},\"child\":[]}]})(props);\n};\nexport function AiFillDribbbleSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M498.6 432c-40.8-72.5-84.7-133.4-91.2-142.3-68.8 32.5-120.3 95.9-136.2 172.2 11 .2 112.4.7 227.4-29.9zm66.5 21.8c5.7 11.7 11.2 23.6 16.3 35.6 1.8 4.2 3.6 8.4 5.3 12.7 81.8-10.3 163.2 6.2 171.3 7.9-.5-58.1-21.3-111.4-55.5-153.3-5.3 7.1-46.5 60-137.4 97.1zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM512 800c-158.8 0-288-129.2-288-288s129.2-288 288-288 288 129.2 288 288-129.2 288-288 288zm89.7-259.1c32.2 88.4 45.3 160.4 47.8 175.4 55.2-37.3 94.5-96.4 105.4-164.9-8.4-2.6-76.1-22.8-153.2-10.5zm-72.5-26.4c3.2-1 6.4-2 9.7-2.9-6.2-14-12.9-28-19.9-41.7-122.8 36.8-242.1 35.2-252.8 35-.1 2.5-.1 5-.1 7.5 0 63.2 23.9 120.9 63.2 164.5 5.5-9.6 73-121.4 199.9-162.4zm145.9-186.2a245.2 245.2 0 0 0-220.8-55.1c6.8 9.1 51.5 69.9 91.8 144 87.5-32.8 124.5-82.6 129-88.9zM554 552.8c-138.7 48.3-188.6 144.6-193 153.6 41.7 32.5 94.1 51.9 151 51.9 34.1 0 66.6-6.9 96.1-19.5-3.7-21.6-17.9-96.8-52.5-186.6l-1.6.6z\"},\"child\":[]}]})(props);\n};\nexport function AiFillDropboxCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M663.8 455.5zm-151.5-93.8l-151.8 93.8 151.8 93.9 151.5-93.9zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm151.2 595.5L512.6 750l-151-90.5v-33.1l45.4 29.4 105.6-87.7 105.6 87.7 45.1-29.4v33.1zm-45.6-22.4l-105.3-87.7L407 637.1l-151-99.2 104.5-82.4L256 371.2 407 274l105.3 87.7L617.6 274 768 372.1l-104.2 83.5L768 539l-150.4 98.1z\"},\"child\":[]}]})(props);\n};\nexport function AiFillDropboxSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM663.2 659.5L512.6 750l-151-90.5v-33.1l45.4 29.4 105.6-87.7 105.6 87.7 45.1-29.4v33.1zm-45.6-22.4l-105.3-87.7L407 637.1l-151-99.2 104.5-82.4L256 371.2 407 274l105.3 87.7L617.6 274 768 372.1l-104.2 83.5L768 539l-150.4 98.1zM512.3 361.7l-151.8 93.8 151.8 93.9 151.5-93.9zm151.5 93.8z\"},\"child\":[]}]})(props);\n};\nexport function AiFillEdit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 836H144c-17.7 0-32 14.3-32 32v36c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-36c0-17.7-14.3-32-32-32zm-622.3-84c2 0 4-.2 6-.5L431.9 722c2-.4 3.9-1.3 5.3-2.8l423.9-423.9a9.96 9.96 0 0 0 0-14.1L694.9 114.9c-1.9-1.9-4.4-2.9-7.1-2.9s-5.2 1-7.1 2.9L256.8 538.8c-1.5 1.5-2.4 3.3-2.8 5.3l-29.5 168.2a33.5 33.5 0 0 0 9.4 29.8c6.6 6.4 14.9 9.9 23.8 9.9z\"},\"child\":[]}]})(props);\n};\nexport function AiFillEnvironment (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 327c-29.9 0-58 11.6-79.2 32.8A111.6 111.6 0 0 0 400 439c0 29.9 11.7 58 32.8 79.2A111.6 111.6 0 0 0 512 551c29.9 0 58-11.7 79.2-32.8C612.4 497 624 468.9 624 439c0-29.9-11.6-58-32.8-79.2S541.9 327 512 327zm342.6-37.9a362.49 362.49 0 0 0-79.9-115.7 370.83 370.83 0 0 0-118.2-77.8C610.7 76.6 562.1 67 512 67c-50.1 0-98.7 9.6-144.5 28.5-44.3 18.3-84 44.5-118.2 77.8A363.6 363.6 0 0 0 169.4 289c-19.5 45-29.4 92.8-29.4 142 0 70.6 16.9 140.9 50.1 208.7 26.7 54.5 64 107.6 111 158.1 80.3 86.2 164.5 138.9 188.4 153a43.9 43.9 0 0 0 22.4 6.1c7.8 0 15.5-2 22.4-6.1 23.9-14.1 108.1-66.8 188.4-153 47-50.4 84.3-103.6 111-158.1C867.1 572 884 501.8 884 431.1c0-49.2-9.9-97-29.4-142zM512 615c-97.2 0-176-78.8-176-176s78.8-176 176-176 176 78.8 176 176-78.8 176-176 176z\"},\"child\":[]}]})(props);\n};\nexport function AiFillEuroCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm63.5 375.8c4.4 0 8 3.6 8 8V475c0 4.4-3.6 8-8 8h-136c-.3 4.4-.3 9.1-.3 13.8v36h136.2c4.4 0 8 3.6 8 8V568c0 4.4-3.6 8-8 8H444.9c15.3 62 61.3 98.6 129.8 98.6 19.9 0 37.1-1.2 51.8-4.1 4.9-1 9.5 2.8 9.5 7.8v42.8c0 3.8-2.7 7-6.4 7.8-15.9 3.4-34.3 5.1-55.3 5.1-109.8 0-183-58.8-200.2-158H344c-4.4 0-8-3.6-8-8v-27.2c0-4.4 3.6-8 8-8h26.1v-36.9c0-4.4 0-8.8.3-12.8H344c-4.4 0-8-3.6-8-8v-27.2c0-4.4 3.6-8 8-8h31.7c19.7-94.2 92-149.9 198.6-149.9 20.9 0 39.4 1.9 55.3 5.4 3.7.8 6.3 4 6.3 7.8V346h.1c0 5.1-4.6 8.8-9.6 7.8-14.7-2.9-31.8-4.4-51.7-4.4-65.4 0-110.4 33.5-127.6 90.4h128.4z\"},\"child\":[]}]})(props);\n};\nexport function AiFillExclamationCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-32 232c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V296zm32 440a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z\"},\"child\":[]}]})(props);\n};\nexport function AiFillExperiment (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M218.9 636.3l42.6 26.6c.1.1.3.2.4.3l12.7 8 .3.3a186.9 186.9 0 0 0 94.1 25.1c44.9 0 87.2-15.7 121-43.8a256.27 256.27 0 0 1 164.9-59.9c52.3 0 102.2 15.7 144.6 44.5l7.9 5-111.6-289V179.8h63.5c4.4 0 8-3.6 8-8V120c0-4.4-3.6-8-8-8H264.7c-4.4 0-8 3.6-8 8v51.9c0 4.4 3.6 8 8 8h63.5v173.6L218.9 636.3zm333-203.1c22 0 39.9 17.9 39.9 39.9S573.9 513 551.9 513 512 495.1 512 473.1s17.9-39.9 39.9-39.9zM878 825.1l-29.9-77.4-85.7-53.5-.1.1c-.7-.5-1.5-1-2.2-1.5l-8.1-5-.3-.3c-29-17.5-62.3-26.8-97-26.8-44.9 0-87.2 15.7-121 43.8a256.27 256.27 0 0 1-164.9 59.9c-53 0-103.5-16.1-146.2-45.6l-28.9-18.1L146 825.1c-2.8 7.4-4.3 15.2-4.3 23 0 35.2 28.6 63.8 63.8 63.8h612.9c7.9 0 15.7-1.5 23-4.3a63.6 63.6 0 0 0 36.6-82.5z\"},\"child\":[]}]})(props);\n};\nexport function AiFillEyeInvisible (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[{\"tag\":\"clipPath\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M124-288l388-672 388 672H124z\",\"clipRule\":\"evenodd\"},\"child\":[]}]}]},{\"tag\":\"path\",\"attr\":{\"d\":\"M508 624a112 112 0 0 0 112-112c0-3.28-.15-6.53-.43-9.74L498.26 623.57c3.21.28 6.45.43 9.74.43zm370.72-458.44L836 122.88a8 8 0 0 0-11.31 0L715.37 232.23Q624.91 186 512 186q-288.3 0-430.2 300.3a60.3 60.3 0 0 0 0 51.5q56.7 119.43 136.55 191.45L112.56 835a8 8 0 0 0 0 11.31L155.25 889a8 8 0 0 0 11.31 0l712.16-712.12a8 8 0 0 0 0-11.32zM332 512a176 176 0 0 1 258.88-155.28l-48.62 48.62a112.08 112.08 0 0 0-140.92 140.92l-48.62 48.62A175.09 175.09 0 0 1 332 512z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M942.2 486.2Q889.4 375 816.51 304.85L672.37 449A176.08 176.08 0 0 1 445 676.37L322.74 798.63Q407.82 838 512 838q288.3 0 430.2-300.3a60.29 60.29 0 0 0 0-51.5z\"},\"child\":[]}]})(props);\n};\nexport function AiFillEye (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M396 512a112 112 0 1 0 224 0 112 112 0 1 0-224 0zm546.2-25.8C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 0 0 0 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM508 688c-97.2 0-176-78.8-176-176s78.8-176 176-176 176 78.8 176 176-78.8 176-176 176z\"},\"child\":[]}]})(props);\n};\nexport function AiFillFacebook (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-92.4 233.5h-63.9c-50.1 0-59.8 23.8-59.8 58.8v77.1h119.6l-15.6 120.7h-104V912H539.2V602.2H434.9V481.4h104.3v-89c0-103.3 63.1-159.6 155.3-159.6 44.2 0 82.1 3.3 93.2 4.8v107.9z\"},\"child\":[]}]})(props);\n};\nexport function AiFillFastBackward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M517.6 273.5L230.2 499.3a16.14 16.14 0 0 0 0 25.4l287.4 225.8c10.7 8.4 26.4.8 26.4-12.7V286.2c0-13.5-15.7-21.1-26.4-12.7zm320 0L550.2 499.3a16.14 16.14 0 0 0 0 25.4l287.4 225.8c10.7 8.4 26.4.8 26.4-12.7V286.2c0-13.5-15.7-21.1-26.4-12.7zm-620-25.5h-51.2c-3.5 0-6.4 2.7-6.4 6v516c0 3.3 2.9 6 6.4 6h51.2c3.5 0 6.4-2.7 6.4-6V254c0-3.3-2.9-6-6.4-6z\"},\"child\":[]}]})(props);\n};\nexport function AiFillFastForward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M793.8 499.3L506.4 273.5c-10.7-8.4-26.4-.8-26.4 12.7v451.6c0 13.5 15.7 21.1 26.4 12.7l287.4-225.8a16.14 16.14 0 0 0 0-25.4zm-320 0L186.4 273.5c-10.7-8.4-26.4-.8-26.4 12.7v451.5c0 13.5 15.7 21.1 26.4 12.7l287.4-225.8c4.1-3.2 6.2-8 6.2-12.7 0-4.6-2.1-9.4-6.2-12.6zM857.6 248h-51.2c-3.5 0-6.4 2.7-6.4 6v516c0 3.3 2.9 6 6.4 6h51.2c3.5 0 6.4-2.7 6.4-6V254c0-3.3-2.9-6-6.4-6z\"},\"child\":[]}]})(props);\n};\nexport function AiFillFileAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M480 580H372a8 8 0 0 0-8 8v48a8 8 0 0 0 8 8h108v108a8 8 0 0 0 8 8h48a8 8 0 0 0 8-8V644h108a8 8 0 0 0 8-8v-48a8 8 0 0 0-8-8H544V472a8 8 0 0 0-8-8h-48a8 8 0 0 0-8 8v108zm374.6-291.3c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2z\"},\"child\":[]}]})(props);\n};\nexport function AiFillFileExcel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M854.6 288.7c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2zM575.34 477.84l-61.22 102.3L452.3 477.8a12 12 0 0 0-10.27-5.79h-38.44a12 12 0 0 0-6.4 1.85 12 12 0 0 0-3.75 16.56l82.34 130.42-83.45 132.78a12 12 0 0 0-1.84 6.39 12 12 0 0 0 12 12h34.46a12 12 0 0 0 10.21-5.7l62.7-101.47 62.3 101.45a12 12 0 0 0 10.23 5.72h37.48a12 12 0 0 0 6.48-1.9 12 12 0 0 0 3.62-16.58l-83.83-130.55 85.3-132.47a12 12 0 0 0 1.9-6.5 12 12 0 0 0-12-12h-35.7a12 12 0 0 0-10.29 5.84z\"},\"child\":[]}]})(props);\n};\nexport function AiFillFileExclamation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M854.6 288.7c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2zM512 784a40 40 0 1 0 0-80 40 40 0 0 0 0 80zm32-152V448a8 8 0 0 0-8-8h-48a8 8 0 0 0-8 8v184a8 8 0 0 0 8 8h48a8 8 0 0 0 8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiFillFileImage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M854.6 288.7L639.4 73.4c-6-6-14.2-9.4-22.7-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.6-9.4-22.6zM400 402c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40zm296 294H328c-6.7 0-10.4-7.7-6.3-12.9l99.8-127.2a8 8 0 0 1 12.6 0l41.1 52.4 77.8-99.2a8 8 0 0 1 12.6 0l136.5 174c4.3 5.2.5 12.9-6.1 12.9zm-94-370V137.8L790.2 326H602z\"},\"child\":[]}]})(props);\n};\nexport function AiFillFileMarkdown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M854.6 288.7c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2zM426.13 600.93l59.11 132.97a16 16 0 0 0 14.62 9.5h24.06a16 16 0 0 0 14.63-9.51l59.1-133.35V758a16 16 0 0 0 16.01 16H641a16 16 0 0 0 16-16V486a16 16 0 0 0-16-16h-34.75a16 16 0 0 0-14.67 9.62L512.1 662.2l-79.48-182.59a16 16 0 0 0-14.67-9.61H383a16 16 0 0 0-16 16v272a16 16 0 0 0 16 16h27.13a16 16 0 0 0 16-16V600.93z\"},\"child\":[]}]})(props);\n};\nexport function AiFillFilePdf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M854.6 288.7c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2zM633.22 637.26c-15.18-.5-31.32.67-49.65 2.96-24.3-14.99-40.66-35.58-52.28-65.83l1.07-4.38 1.24-5.18c4.3-18.13 6.61-31.36 7.3-44.7.52-10.07-.04-19.36-1.83-27.97-3.3-18.59-16.45-29.46-33.02-30.13-15.45-.63-29.65 8-33.28 21.37-5.91 21.62-2.45 50.07 10.08 98.59-15.96 38.05-37.05 82.66-51.2 107.54-18.89 9.74-33.6 18.6-45.96 28.42-16.3 12.97-26.48 26.3-29.28 40.3-1.36 6.49.69 14.97 5.36 21.92 5.3 7.88 13.28 13 22.85 13.74 24.15 1.87 53.83-23.03 86.6-79.26 3.29-1.1 6.77-2.26 11.02-3.7l11.9-4.02c7.53-2.54 12.99-4.36 18.39-6.11 23.4-7.62 41.1-12.43 57.2-15.17 27.98 14.98 60.32 24.8 82.1 24.8 17.98 0 30.13-9.32 34.52-23.99 3.85-12.88.8-27.82-7.48-36.08-8.56-8.41-24.3-12.43-45.65-13.12zM385.23 765.68v-.36l.13-.34a54.86 54.86 0 0 1 5.6-10.76c4.28-6.58 10.17-13.5 17.47-20.87 3.92-3.95 8-7.8 12.79-12.12 1.07-.96 7.91-7.05 9.19-8.25l11.17-10.4-8.12 12.93c-12.32 19.64-23.46 33.78-33 43-3.51 3.4-6.6 5.9-9.1 7.51a16.43 16.43 0 0 1-2.61 1.42c-.41.17-.77.27-1.13.3a2.2 2.2 0 0 1-1.12-.15 2.07 2.07 0 0 1-1.27-1.91zM511.17 547.4l-2.26 4-1.4-4.38c-3.1-9.83-5.38-24.64-6.01-38-.72-15.2.49-24.32 5.29-24.32 6.74 0 9.83 10.8 10.07 27.05.22 14.28-2.03 29.14-5.7 35.65zm-5.81 58.46l1.53-4.05 2.09 3.8c11.69 21.24 26.86 38.96 43.54 51.31l3.6 2.66-4.39.9c-16.33 3.38-31.54 8.46-52.34 16.85 2.17-.88-21.62 8.86-27.64 11.17l-5.25 2.01 2.8-4.88c12.35-21.5 23.76-47.32 36.05-79.77zm157.62 76.26c-7.86 3.1-24.78.33-54.57-12.39l-7.56-3.22 8.2-.6c23.3-1.73 39.8-.45 49.42 3.07 4.1 1.5 6.83 3.39 8.04 5.55a4.64 4.64 0 0 1-1.36 6.31 6.7 6.7 0 0 1-2.17 1.28z\"},\"child\":[]}]})(props);\n};\nexport function AiFillFilePpt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M854.6 288.7c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2zM468.53 760v-91.54h59.27c60.57 0 100.2-39.65 100.2-98.12 0-58.22-39.58-98.34-99.98-98.34H424a12 12 0 0 0-12 12v276a12 12 0 0 0 12 12h32.53a12 12 0 0 0 12-12zm0-139.33h34.9c47.82 0 67.19-12.93 67.19-50.33 0-32.05-18.12-50.12-49.87-50.12h-52.22v100.45z\"},\"child\":[]}]})(props);\n};\nexport function AiFillFileText (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M854.6 288.7c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2zM320 482a8 8 0 0 0-8 8v48a8 8 0 0 0 8 8h384a8 8 0 0 0 8-8v-48a8 8 0 0 0-8-8H320zm0 136a8 8 0 0 0-8 8v48a8 8 0 0 0 8 8h184a8 8 0 0 0 8-8v-48a8 8 0 0 0-8-8H320z\"},\"child\":[]}]})(props);\n};\nexport function AiFillFileUnknown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M854.6 288.7c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2zM402 549c0 5.4 4.4 9.5 9.8 9.5h32.4c5.4 0 9.8-4.2 9.8-9.4 0-28.2 25.8-51.6 58-51.6s58 23.4 58 51.5c0 25.3-21 47.2-49.3 50.9-19.3 2.8-34.5 20.3-34.7 40.1v32c0 5.5 4.5 10 10 10h32c5.5 0 10-4.5 10-10v-12.2c0-6 4-11.5 9.7-13.3 44.6-14.4 75-54 74.3-98.9-.8-55.5-49.2-100.8-108.5-101.6-61.4-.7-111.5 45.6-111.5 103zm110 227a32 32 0 1 0 0-64 32 32 0 0 0 0 64z\"},\"child\":[]}]})(props);\n};\nexport function AiFillFileWord (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M854.6 288.7c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2zM512 566.1l52.81 197a12 12 0 0 0 11.6 8.9h31.77a12 12 0 0 0 11.6-8.88l74.37-276a12 12 0 0 0 .4-3.12 12 12 0 0 0-12-12h-35.57a12 12 0 0 0-11.7 9.31l-45.78 199.1-49.76-199.32A12 12 0 0 0 528.1 472h-32.2a12 12 0 0 0-11.64 9.1L434.6 680.01 388.5 481.3a12 12 0 0 0-11.68-9.29h-35.39a12 12 0 0 0-3.11.41 12 12 0 0 0-8.47 14.7l74.17 276A12 12 0 0 0 415.6 772h31.99a12 12 0 0 0 11.59-8.9l52.81-197z\"},\"child\":[]}]})(props);\n};\nexport function AiFillFileZip (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M854.6 288.7c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2zM296 136v64h64v-64h-64zm64 64v64h64v-64h-64zm-64 64v64h64v-64h-64zm64 64v64h64v-64h-64zm-64 64v64h64v-64h-64zm64 64v64h64v-64h-64zm-64 64v64h64v-64h-64zm0 64v160h128V584H296zm48 48h32v64h-32v-64z\"},\"child\":[]}]})(props);\n};\nexport function AiFillFile (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M854.6 288.7c6 6 9.4 14.1 9.4 22.6V928c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32h424.7c8.5 0 16.7 3.4 22.7 9.4l215.2 215.3zM790.2 326L602 137.8V326h188.2z\"},\"child\":[]}]})(props);\n};\nexport function AiFillFilter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M349 838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V642H349v196zm531.1-684H143.9c-24.5 0-39.8 26.7-27.5 48l221.3 376h348.8l221.3-376c12.1-21.3-3.2-48-27.7-48z\"},\"child\":[]}]})(props);\n};\nexport function AiFillFire (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M834.1 469.2A347.49 347.49 0 0 0 751.2 354l-29.1-26.7a8.09 8.09 0 0 0-13 3.3l-13 37.3c-8.1 23.4-23 47.3-44.1 70.8-1.4 1.5-3 1.9-4.1 2-1.1.1-2.8-.1-4.3-1.5-1.4-1.2-2.1-3-2-4.8 3.7-60.2-14.3-128.1-53.7-202C555.3 171 510 123.1 453.4 89.7l-41.3-24.3c-5.4-3.2-12.3 1-12 7.3l2.2 48c1.5 32.8-2.3 61.8-11.3 85.9-11 29.5-26.8 56.9-47 81.5a295.64 295.64 0 0 1-47.5 46.1 352.6 352.6 0 0 0-100.3 121.5A347.75 347.75 0 0 0 160 610c0 47.2 9.3 92.9 27.7 136a349.4 349.4 0 0 0 75.5 110.9c32.4 32 70 57.2 111.9 74.7C418.5 949.8 464.5 959 512 959s93.5-9.2 136.9-27.3A348.6 348.6 0 0 0 760.8 857c32.4-32 57.8-69.4 75.5-110.9a344.2 344.2 0 0 0 27.7-136c0-48.8-10-96.2-29.9-140.9z\"},\"child\":[]}]})(props);\n};\nexport function AiFillFlag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 305H624V192c0-17.7-14.3-32-32-32H184v-40c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v784c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V640h248v113c0 17.7 14.3 32 32 32h416c17.7 0 32-14.3 32-32V337c0-17.7-14.3-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function AiFillFolderAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 298.4H521L403.7 186.2a8.15 8.15 0 0 0-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32zM632 577c0 3.8-3.4 7-7.5 7H540v84.9c0 3.9-3.2 7.1-7 7.1h-42c-3.8 0-7-3.2-7-7.1V584h-84.5c-4.1 0-7.5-3.2-7.5-7v-42c0-3.8 3.4-7 7.5-7H484v-84.9c0-3.9 3.2-7.1 7-7.1h42c3.8 0 7 3.2 7 7.1V528h84.5c4.1 0 7.5 3.2 7.5 7v42z\"},\"child\":[]}]})(props);\n};\nexport function AiFillFolderOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M928 444H820V330.4c0-17.7-14.3-32-32-32H473L355.7 186.2a8.15 8.15 0 0 0-5.5-2.2H96c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h698c13 0 24.8-7.9 29.7-20l134-332c1.5-3.8 2.3-7.9 2.3-12 0-17.7-14.3-32-32-32zm-180 0H238c-13 0-24.8 7.9-29.7 20L136 643.2V256h188.5l119.6 114.4H748V444z\"},\"child\":[]}]})(props);\n};\nexport function AiFillFolder (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 298.4H521L403.7 186.2a8.15 8.15 0 0 0-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function AiFillFormatPainter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"t\":\"1569683558243\",\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M840 192h-56v-72c0-13.3-10.7-24-24-24H168c-13.3 0-24 10.7-24 24v272c0 13.3 10.7 24 24 24h592c13.3 0 24-10.7 24-24V256h32v200H465c-22.1 0-40 17.9-40 40v136h-44c-4.4 0-8 3.6-8 8v228c0 1.1 0.2 2.2 0.6 3.1-0.4 1.6-0.6 3.2-0.6 4.9 0 46.4 37.6 84 84 84s84-37.6 84-84c0-1.7-0.2-3.3-0.6-4.9 0.4-1 0.6-2 0.6-3.1V640c0-4.4-3.6-8-8-8h-44V520h351c22.1 0 40-17.9 40-40V232c0-22.1-17.9-40-40-40z\"},\"child\":[]}]})(props);\n};\nexport function AiFillForward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M825.8 498L538.4 249.9c-10.7-9.2-26.4-.9-26.4 14v496.3c0 14.9 15.7 23.2 26.4 14L825.8 526c8.3-7.2 8.3-20.8 0-28zm-320 0L218.4 249.9c-10.7-9.2-26.4-.9-26.4 14v496.3c0 14.9 15.7 23.2 26.4 14L505.8 526c4.1-3.6 6.2-8.8 6.2-14 0-5.2-2.1-10.4-6.2-14z\"},\"child\":[]}]})(props);\n};\nexport function AiFillFrown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zM288 421a48.01 48.01 0 0 1 96 0 48.01 48.01 0 0 1-96 0zm376 272h-48.1c-4.2 0-7.8-3.2-8.1-7.4C604 636.1 562.5 597 512 597s-92.1 39.1-95.8 88.6c-.3 4.2-3.9 7.4-8.1 7.4H360a8 8 0 0 1-8-8.4c4.4-84.3 74.5-151.6 160-151.6s155.6 67.3 160 151.6a8 8 0 0 1-8 8.4zm24-224a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z\"},\"child\":[]}]})(props);\n};\nexport function AiFillFund (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M926 164H94c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V196c0-17.7-14.3-32-32-32zm-92.3 194.4l-297 297.2a8.03 8.03 0 0 1-11.3 0L410.9 541.1 238.4 713.7a8.03 8.03 0 0 1-11.3 0l-36.8-36.8a8.03 8.03 0 0 1 0-11.3l214.9-215c3.1-3.1 8.2-3.1 11.3 0L531 565l254.5-254.6c3.1-3.1 8.2-3.1 11.3 0l36.8 36.8c3.2 3 3.2 8.1.1 11.2z\"},\"child\":[]}]})(props);\n};\nexport function AiFillFunnelPlot (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M336.7 586h350.6l84.9-148H251.8zm543.4-432H143.9c-24.5 0-39.8 26.7-27.5 48L215 374h594l98.7-172c12.2-21.3-3.1-48-27.6-48zM349 838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V650H349v188z\"},\"child\":[]}]})(props);\n};\nexport function AiFillGift (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M160 894c0 17.7 14.3 32 32 32h286V550H160v344zm386 32h286c17.7 0 32-14.3 32-32V550H546v376zm334-616H732.4c13.6-21.4 21.6-46.8 21.6-74 0-76.1-61.9-138-138-138-41.4 0-78.7 18.4-104 47.4-25.3-29-62.6-47.4-104-47.4-76.1 0-138 61.9-138 138 0 27.2 7.9 52.6 21.6 74H144c-17.7 0-32 14.3-32 32v140h366V310h68v172h366V342c0-17.7-14.3-32-32-32zm-402-4h-70c-38.6 0-70-31.4-70-70s31.4-70 70-70 70 31.4 70 70v70zm138 0h-70v-70c0-38.6 31.4-70 70-70s70 31.4 70 70-31.4 70-70 70z\"},\"child\":[]}]})(props);\n};\nexport function AiFillGithub (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M511.6 76.3C264.3 76.2 64 276.4 64 523.5 64 718.9 189.3 885 363.8 946c23.5 5.9 19.9-10.8 19.9-22.2v-77.5c-135.7 15.9-141.2-73.9-150.3-88.9C215 726 171.5 718 184.5 703c30.9-15.9 62.4 4 98.9 57.9 26.4 39.1 77.9 32.5 104 26 5.7-23.5 17.9-44.5 34.7-60.8-140.6-25.2-199.2-111-199.2-213 0-49.5 16.3-95 48.3-131.7-20.4-60.5 1.9-112.3 4.9-120 58.1-5.2 118.5 41.6 123.2 45.3 33-8.9 70.7-13.6 112.9-13.6 42.4 0 80.2 4.9 113.5 13.9 11.3-8.6 67.3-48.8 121.3-43.9 2.9 7.7 24.7 58.3 5.5 118 32.4 36.8 48.9 82.7 48.9 132.3 0 102.2-59 188.1-200 212.9a127.5 127.5 0 0 1 38.1 91v112.5c.8 9 0 17.9 15 17.9 177.1-59.7 304.6-227 304.6-424.1 0-247.2-200.4-447.3-447.5-447.3z\"},\"child\":[]}]})(props);\n};\nexport function AiFillGitlab (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M910.5 553.2l-109-370.8c-6.8-20.4-23.1-34.1-44.9-34.1s-39.5 12.3-46.3 32.7l-72.2 215.4H386.2L314 181.1c-6.8-20.4-24.5-32.7-46.3-32.7s-39.5 13.6-44.9 34.1L113.9 553.2c-4.1 13.6 1.4 28.6 12.3 36.8l385.4 289 386.7-289c10.8-8.1 16.3-23.1 12.2-36.8z\"},\"child\":[]}]})(props);\n};\nexport function AiFillGold (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M905.9 806.7l-40.2-248c-.6-3.9-4-6.7-7.9-6.7H596.2c-3.9 0-7.3 2.8-7.9 6.7l-40.2 248c-.1.4-.1.9-.1 1.3 0 4.4 3.6 8 8 8h342c.4 0 .9 0 1.3-.1 4.3-.7 7.3-4.8 6.6-9.2zm-470.2-248c-.6-3.9-4-6.7-7.9-6.7H166.2c-3.9 0-7.3 2.8-7.9 6.7l-40.2 248c-.1.4-.1.9-.1 1.3 0 4.4 3.6 8 8 8h342c.4 0 .9 0 1.3-.1 4.4-.7 7.3-4.8 6.6-9.2l-40.2-248zM342 472h342c.4 0 .9 0 1.3-.1 4.4-.7 7.3-4.8 6.6-9.2l-40.2-248c-.6-3.9-4-6.7-7.9-6.7H382.2c-3.9 0-7.3 2.8-7.9 6.7l-40.2 248c-.1.4-.1.9-.1 1.3 0 4.4 3.6 8 8 8z\"},\"child\":[]}]})(props);\n};\nexport function AiFillGolden (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M905.9 806.7l-40.2-248c-.6-3.9-4-6.7-7.9-6.7H596.2c-3.9 0-7.3 2.8-7.9 6.7l-40.2 248c-.1.4-.1.9-.1 1.3 0 4.4 3.6 8 8 8h342c.4 0 .9 0 1.3-.1 4.3-.7 7.3-4.8 6.6-9.2zm-470.2-248c-.6-3.9-4-6.7-7.9-6.7H166.2c-3.9 0-7.3 2.8-7.9 6.7l-40.2 248c-.1.4-.1.9-.1 1.3 0 4.4 3.6 8 8 8h342c.4 0 .9 0 1.3-.1 4.4-.7 7.3-4.8 6.6-9.2l-40.2-248zM342 472h342c.4 0 .9 0 1.3-.1 4.4-.7 7.3-4.8 6.6-9.2l-40.2-248c-.6-3.9-4-6.7-7.9-6.7H382.2c-3.9 0-7.3 2.8-7.9 6.7l-40.2 248c-.1.4-.1.9-.1 1.3 0 4.4 3.6 8 8 8z\"},\"child\":[]}]})(props);\n};\nexport function AiFillGoogleCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm167 633.6C638.4 735 583 757 516.9 757c-95.7 0-178.5-54.9-218.8-134.9C281.5 589 272 551.6 272 512s9.5-77 26.1-110.1c40.3-80.1 123.1-135 218.8-135 66 0 121.4 24.3 163.9 63.8L610.6 401c-25.4-24.3-57.7-36.6-93.6-36.6-63.8 0-117.8 43.1-137.1 101-4.9 14.7-7.7 30.4-7.7 46.6s2.8 31.9 7.7 46.6c19.3 57.9 73.3 101 137 101 33 0 61-8.7 82.9-23.4 26-17.4 43.2-43.3 48.9-74H516.9v-94.8h230.7c2.9 16.1 4.4 32.8 4.4 50.1 0 74.7-26.7 137.4-73 180.1z\"},\"child\":[]}]})(props);\n};\nexport function AiFillGooglePlusCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm36.5 558.8c-43.9 61.8-132.1 79.8-200.9 53.3-69-26.3-118-99.2-112.1-173.5 1.5-90.9 85.2-170.6 176.1-167.5 43.6-2 84.6 16.9 118 43.6-14.3 16.2-29 31.8-44.8 46.3-40.1-27.7-97.2-35.6-137.3-3.6-57.4 39.7-60 133.4-4.8 176.1 53.7 48.7 155.2 24.5 170.1-50.1-33.6-.5-67.4 0-101-1.1-.1-20.1-.2-40.1-.1-60.2 56.2-.2 112.5-.3 168.8.2 3.3 47.3-3 97.5-32 136.5zM791 536.5c-16.8.2-33.6.3-50.4.4-.2 16.8-.3 33.6-.3 50.4H690c-.2-16.8-.2-33.5-.3-50.3-16.8-.2-33.6-.3-50.4-.5v-50.1c16.8-.2 33.6-.3 50.4-.3.1-16.8.3-33.6.4-50.4h50.2l.3 50.4c16.8.2 33.6.2 50.4.3v50.1z\"},\"child\":[]}]})(props);\n};\nexport function AiFillGooglePlusSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM548.5 622.8c-43.9 61.8-132.1 79.8-200.9 53.3-69-26.3-118-99.2-112.1-173.5 1.5-90.9 85.2-170.6 176.1-167.5 43.6-2 84.6 16.9 118 43.6-14.3 16.2-29 31.8-44.8 46.3-40.1-27.7-97.2-35.6-137.3-3.6-57.4 39.7-60 133.4-4.8 176.1 53.7 48.7 155.2 24.5 170.1-50.1-33.6-.5-67.4 0-101-1.1-.1-20.1-.2-40.1-.1-60.2 56.2-.2 112.5-.3 168.8.2 3.3 47.3-3 97.5-32 136.5zM791 536.5c-16.8.2-33.6.3-50.4.4-.2 16.8-.3 33.6-.3 50.4H690c-.2-16.8-.2-33.5-.3-50.3-16.8-.2-33.6-.3-50.4-.5v-50.1c16.8-.2 33.6-.3 50.4-.3.1-16.8.3-33.6.4-50.4h50.2l.3 50.4c16.8.2 33.6.2 50.4.3v50.1z\"},\"child\":[]}]})(props);\n};\nexport function AiFillGoogleSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM679 697.6C638.4 735 583 757 516.9 757c-95.7 0-178.5-54.9-218.8-134.9A245.02 245.02 0 0 1 272 512c0-39.6 9.5-77 26.1-110.1 40.3-80.1 123.1-135 218.8-135 66 0 121.4 24.3 163.9 63.8L610.6 401c-25.4-24.3-57.7-36.6-93.6-36.6-63.8 0-117.8 43.1-137.1 101-4.9 14.7-7.7 30.4-7.7 46.6s2.8 31.9 7.7 46.6c19.3 57.9 73.3 101 137 101 33 0 61-8.7 82.9-23.4 26-17.4 43.2-43.3 48.9-74H516.9v-94.8h230.7c2.9 16.1 4.4 32.8 4.4 50.1 0 74.7-26.7 137.4-73 180.1z\"},\"child\":[]}]})(props);\n};\nexport function AiFillHdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M832 64H192c-17.7 0-32 14.3-32 32v224h704V96c0-17.7-14.3-32-32-32zM456 216c0 4.4-3.6 8-8 8H264c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48zM160 928c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V704H160v224zm576-136c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40zM160 640h704V384H160v256zm96-152c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H264c-4.4 0-8-3.6-8-8v-48z\"},\"child\":[]}]})(props);\n};\nexport function AiFillHeart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M923 283.6a260.04 260.04 0 0 0-56.9-82.8 264.4 264.4 0 0 0-84-55.5A265.34 265.34 0 0 0 679.7 125c-49.3 0-97.4 13.5-139.2 39-10 6.1-19.5 12.8-28.5 20.1-9-7.3-18.5-14-28.5-20.1-41.8-25.5-89.9-39-139.2-39-35.5 0-69.9 6.8-102.4 20.3-31.4 13-59.7 31.7-84 55.5a258.44 258.44 0 0 0-56.9 82.8c-13.9 32.3-21 66.6-21 101.9 0 33.3 6.8 68 20.3 103.3 11.3 29.5 27.5 60.1 48.2 91 32.8 48.9 77.9 99.9 133.9 151.6 92.8 85.7 184.7 144.9 188.6 147.3l23.7 15.2c10.5 6.7 24 6.7 34.5 0l23.7-15.2c3.9-2.5 95.7-61.6 188.6-147.3 56-51.7 101.1-102.7 133.9-151.6 20.7-30.9 37-61.5 48.2-91 13.5-35.3 20.3-70 20.3-103.3.1-35.3-7-69.6-20.9-101.9z\"},\"child\":[]}]})(props);\n};\nexport function AiFillHighlight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M957.6 507.4L603.2 158.2a7.9 7.9 0 0 0-11.2 0L353.3 393.4a8.03 8.03 0 0 0-.1 11.3l.1.1 40 39.4-117.2 115.3a8.03 8.03 0 0 0-.1 11.3l.1.1 39.5 38.9-189.1 187H72.1c-4.4 0-8.1 3.6-8.1 8V860c0 4.4 3.6 8 8 8h344.9c2.1 0 4.1-.8 5.6-2.3l76.1-75.6 40.4 39.8a7.9 7.9 0 0 0 11.2 0l117.1-115.6 40.1 39.5a7.9 7.9 0 0 0 11.2 0l238.7-235.2c3.4-3 3.4-8 .3-11.2z\"},\"child\":[]}]})(props);\n};\nexport function AiFillHome (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M946.5 505L534.6 93.4a31.93 31.93 0 0 0-45.2 0L77.5 505c-12 12-18.8 28.3-18.8 45.3 0 35.3 28.7 64 64 64h43.4V908c0 17.7 14.3 32 32 32H448V716h112v224h265.9c17.7 0 32-14.3 32-32V614.3h43.4c17 0 33.3-6.7 45.3-18.8 24.9-25 24.9-65.5-.1-90.5z\"},\"child\":[]}]})(props);\n};\nexport function AiFillHourglass (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M742 318V184h86c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H196c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h86v134c0 81.5 42.4 153.2 106.4 194-64 40.8-106.4 112.5-106.4 194v134h-86c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h632c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-86V706c0-81.5-42.4-153.2-106.4-194 64-40.8 106.4-112.5 106.4-194z\"},\"child\":[]}]})(props);\n};\nexport function AiFillHtml5 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M145.2 96l66 746.6L512 928l299.6-85.4L878.9 96H145.2zm595 177.1l-4.8 47.2-1.7 19.5H382.3l8.2 94.2h335.1l-3.3 24.3-21.2 242.2-1.7 16.2-187 51.6v.3h-1.2l-.3.1v-.1h-.1l-188.6-52L310.8 572h91.1l6.5 73.2 102.4 27.7h.4l102-27.6 11.4-118.6H510.9v-.1H306l-22.8-253.5-1.7-24.3h460.3l-1.6 24.3z\"},\"child\":[]}]})(props);\n};\nexport function AiFillIdcard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M373 411c-28.5 0-51.7 23.3-51.7 52s23.2 52 51.7 52 51.7-23.3 51.7-52-23.2-52-51.7-52zm555-251H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zM608 420c0-4.4 1-8 2.3-8h123.4c1.3 0 2.3 3.6 2.3 8v48c0 4.4-1 8-2.3 8H610.3c-1.3 0-2.3-3.6-2.3-8v-48zm-86 253h-43.9c-4.2 0-7.6-3.3-7.9-7.5-3.8-50.5-46-90.5-97.2-90.5s-93.4 40-97.2 90.5c-.3 4.2-3.7 7.5-7.9 7.5H224a8 8 0 0 1-8-8.4c2.8-53.3 32-99.7 74.6-126.1a111.8 111.8 0 0 1-29.1-75.5c0-61.9 49.9-112 111.4-112s111.4 50.1 111.4 112c0 29.1-11 55.5-29.1 75.5 42.7 26.5 71.8 72.8 74.6 126.1.4 4.6-3.2 8.4-7.8 8.4zm278.9-53H615.1c-3.9 0-7.1-3.6-7.1-8v-48c0-4.4 3.2-8 7.1-8h185.7c3.9 0 7.1 3.6 7.1 8v48h.1c0 4.4-3.2 8-7.1 8z\"},\"child\":[]}]})(props);\n};\nexport function AiFillIeCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M693.6 284.4c-24 0-51.1 11.7-72.6 22 46.3 18 86 57.3 112.3 99.6 7.1-18.9 14.6-47.9 14.6-67.9 0-32-22.8-53.7-54.3-53.7zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm253.9 492.9H437.1c0 100.4 144.3 136 196.8 47.4h120.8c-32.6 91.7-119.7 146-216.8 146-35.1 0-70.3-.1-101.7-15.6-87.4 44.5-180.3 56.6-180.3-42 0-45.8 23.2-107.1 44-145C335 484 381.3 422.8 435.6 374.5c-43.7 18.9-91.1 66.3-122 101.2 25.9-112.8 129.5-193.6 237.1-186.5 130-59.8 209.7-34.1 209.7 38.6 0 27.4-10.6 63.3-21.4 87.9 25.2 45.5 33.3 97.6 26.9 141.2zM540.5 399.1c-53.7 0-102 39.7-104 94.9h208c-2-55.1-50.6-94.9-104-94.9zM320.6 602.9c-73 152.4 11.5 172.2 100.3 123.3-46.6-27.5-82.6-72.2-100.3-123.3z\"},\"child\":[]}]})(props);\n};\nexport function AiFillIeSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM765.9 556.9H437.1c0 100.4 144.3 136 196.8 47.4h120.8c-32.6 91.7-119.7 146-216.8 146-35.1 0-70.3-.1-101.7-15.6-87.4 44.5-180.3 56.6-180.3-42 0-45.8 23.2-107.1 44-145C335 484 381.3 422.8 435.6 374.5c-43.7 18.9-91.1 66.3-122 101.2 25.9-112.8 129.5-193.6 237.1-186.5 130-59.8 209.7-34.1 209.7 38.6 0 27.4-10.6 63.3-21.4 87.9 25.2 45.5 33.3 97.6 26.9 141.2zm-72.3-272.5c-24 0-51.1 11.7-72.6 22 46.3 18 86 57.3 112.3 99.6 7.1-18.9 14.6-47.9 14.6-67.9 0-32-22.8-53.7-54.3-53.7zM540.5 399.1c-53.7 0-102 39.7-104 94.9h208c-2-55.1-50.6-94.9-104-94.9zM320.6 602.9c-73 152.4 11.5 172.2 100.3 123.3-46.6-27.5-82.6-72.2-100.3-123.3z\"},\"child\":[]}]})(props);\n};\nexport function AiFillInfoCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z\"},\"child\":[]}]})(props);\n};\nexport function AiFillInstagram (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 378.7c-73.4 0-133.3 59.9-133.3 133.3S438.6 645.3 512 645.3 645.3 585.4 645.3 512 585.4 378.7 512 378.7zM911.8 512c0-55.2.5-109.9-2.6-165-3.1-64-17.7-120.8-64.5-167.6-46.9-46.9-103.6-61.4-167.6-64.5-55.2-3.1-109.9-2.6-165-2.6-55.2 0-109.9-.5-165 2.6-64 3.1-120.8 17.7-167.6 64.5C132.6 226.3 118.1 283 115 347c-3.1 55.2-2.6 109.9-2.6 165s-.5 109.9 2.6 165c3.1 64 17.7 120.8 64.5 167.6 46.9 46.9 103.6 61.4 167.6 64.5 55.2 3.1 109.9 2.6 165 2.6 55.2 0 109.9.5 165-2.6 64-3.1 120.8-17.7 167.6-64.5 46.9-46.9 61.4-103.6 64.5-167.6 3.2-55.1 2.6-109.8 2.6-165zM512 717.1c-113.5 0-205.1-91.6-205.1-205.1S398.5 306.9 512 306.9 717.1 398.5 717.1 512 625.5 717.1 512 717.1zm213.5-370.7c-26.5 0-47.9-21.4-47.9-47.9s21.4-47.9 47.9-47.9 47.9 21.4 47.9 47.9a47.84 47.84 0 0 1-47.9 47.9z\"},\"child\":[]}]})(props);\n};\nexport function AiFillInsurance (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M519.9 358.8h97.9v41.6h-97.9zm347-188.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM411.3 656h-.2c0 4.4-3.6 8-8 8h-37.3c-4.4 0-8-3.6-8-8V471.4c-7.7 9.2-15.4 17.9-23.1 26a6.04 6.04 0 0 1-10.2-2.4l-13.2-43.5c-.6-2-.2-4.1 1.2-5.6 37-43.4 64.7-95.1 82.2-153.6 1.1-3.5 5-5.3 8.4-3.7l38.6 18.3c2.7 1.3 4.1 4.4 3.2 7.2a429.2 429.2 0 0 1-33.6 79V656zm296.5-49.2l-26.3 35.3a5.92 5.92 0 0 1-8.9.7c-30.6-29.3-56.8-65.2-78.1-106.9V656c0 4.4-3.6 8-8 8h-36.2c-4.4 0-8-3.6-8-8V536c-22 44.7-49 80.8-80.6 107.6a5.9 5.9 0 0 1-8.9-1.4L430 605.7a6 6 0 0 1 1.6-8.1c28.6-20.3 51.9-45.2 71-76h-55.1c-4.4 0-8-3.6-8-8V478c0-4.4 3.6-8 8-8h94.9v-18.6h-65.9c-4.4 0-8-3.6-8-8V316c0-4.4 3.6-8 8-8h184.7c4.4 0 8 3.6 8 8v127.2c0 4.4-3.6 8-8 8h-66.7v18.6h98.8c4.4 0 8 3.6 8 8v35.6c0 4.4-3.6 8-8 8h-59c18.1 29.1 41.8 54.3 72.3 76.9 2.6 2.1 3.2 5.9 1.2 8.5z\"},\"child\":[]}]})(props);\n};\nexport function AiFillInteraction (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM726 585.7c0 55.3-44.7 100.1-99.7 100.1H420.6v53.4c0 5.7-6.5 8.8-10.9 5.3l-109.1-85.7c-3.5-2.7-3.5-8 0-10.7l109.1-85.7c4.4-3.5 10.9-.3 10.9 5.3v53.4h205.7c19.6 0 35.5-16 35.5-35.6v-78.9c0-3.7 3-6.8 6.8-6.8h50.7c3.7 0 6.8 3 6.8 6.8v79.1zm-2.6-209.9l-109.1 85.7c-4.4 3.5-10.9.3-10.9-5.3v-53.4H397.7c-19.6 0-35.5 16-35.5 35.6v78.9c0 3.7-3 6.8-6.8 6.8h-50.7c-3.7 0-6.8-3-6.8-6.8v-78.9c0-55.3 44.7-100.1 99.7-100.1h205.7v-53.4c0-5.7 6.5-8.8 10.9-5.3l109.1 85.7c3.6 2.5 3.6 7.8.1 10.5z\"},\"child\":[]}]})(props);\n};\nexport function AiFillLayout (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 912h496c17.7 0 32-14.3 32-32V340H384v572zm496-800H384v164h528V144c0-17.7-14.3-32-32-32zm-768 32v736c0 17.7 14.3 32 32 32h176V112H144c-17.7 0-32 14.3-32 32z\"},\"child\":[]}]})(props);\n};\nexport function AiFillLeftCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm104 316.9c0 10.2-4.9 19.9-13.2 25.9L457.4 512l145.4 105.2c8.3 6 13.2 15.6 13.2 25.9V690c0 6.5-7.4 10.3-12.7 6.5l-246-178a7.95 7.95 0 0 1 0-12.9l246-178a8 8 0 0 1 12.7 6.5v46.8z\"},\"child\":[]}]})(props);\n};\nexport function AiFillLeftSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM624 380.9c0 10.2-4.9 19.9-13.2 25.9L465.4 512l145.4 105.2c8.3 6 13.2 15.6 13.2 25.9V690c0 6.5-7.4 10.3-12.7 6.5l-246-178a7.95 7.95 0 0 1 0-12.9l246-178c5.3-3.8 12.7 0 12.7 6.5v46.8z\"},\"child\":[]}]})(props);\n};\nexport function AiFillLike (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M885.9 533.7c16.8-22.2 26.1-49.4 26.1-77.7 0-44.9-25.1-87.4-65.5-111.1a67.67 67.67 0 0 0-34.3-9.3H572.4l6-122.9c1.4-29.7-9.1-57.9-29.5-79.4A106.62 106.62 0 0 0 471 99.9c-52 0-98 35-111.8 85.1l-85.9 311h-.3v428h472.3c9.2 0 18.2-1.8 26.5-5.4 47.6-20.3 78.3-66.8 78.3-118.4 0-12.6-1.8-25-5.4-37 16.8-22.2 26.1-49.4 26.1-77.7 0-12.6-1.8-25-5.4-37 16.8-22.2 26.1-49.4 26.1-77.7-.2-12.6-2-25.1-5.6-37.1zM112 528v364c0 17.7 14.3 32 32 32h65V496h-65c-17.7 0-32 14.3-32 32z\"},\"child\":[]}]})(props);\n};\nexport function AiFillLinkedin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM349.3 793.7H230.6V411.9h118.7v381.8zm-59.3-434a68.8 68.8 0 1 1 68.8-68.8c-.1 38-30.9 68.8-68.8 68.8zm503.7 434H675.1V608c0-44.3-.8-101.2-61.7-101.2-61.7 0-71.2 48.2-71.2 98v188.9H423.7V411.9h113.8v52.2h1.6c15.8-30 54.5-61.7 112.3-61.7 120.2 0 142.3 79.1 142.3 181.9v209.4z\"},\"child\":[]}]})(props);\n};\nexport function AiFillLock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M832 464h-68V240c0-70.7-57.3-128-128-128H388c-70.7 0-128 57.3-128 128v224h-68c-17.7 0-32 14.3-32 32v384c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V496c0-17.7-14.3-32-32-32zM540 701v53c0 4.4-3.6 8-8 8h-40c-4.4 0-8-3.6-8-8v-53a48.01 48.01 0 1 1 56 0zm152-237H332V240c0-30.9 25.1-56 56-56h248c30.9 0 56 25.1 56 56v224z\"},\"child\":[]}]})(props);\n};\nexport function AiFillMacCommand (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"t\":\"1569747879816\",\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M624 672c0 26.5 21.5 48 48 48s48-21.5 48-48-21.5-48-48-48h-48v48zM720 352c0-26.5-21.5-48-48-48s-48 21.5-48 48v48h48c26.5 0 48-21.5 48-48z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M928 64H96c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zM672 560c61.9 0 112 50.1 112 112s-50.1 112-112 112-112-50.1-112-112v-48h-96v48c0 61.9-50.1 112-112 112s-112-50.1-112-112 50.1-112 112-112h48v-96h-48c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112v48h96v-48c0-61.9 50.1-112 112-112s112 50.1 112 112-50.1 112-112 112h-48v96h48z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M464 464h96v96h-96zM352 304c-26.5 0-48 21.5-48 48s21.5 48 48 48h48v-48c0-26.5-21.5-48-48-48zM304 672c0 26.5 21.5 48 48 48s48-21.5 48-48v-48h-48c-26.5 0-48 21.5-48 48z\"},\"child\":[]}]})(props);\n};\nexport function AiFillMail (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-80.8 108.9L531.7 514.4c-7.8 6.1-18.7 6.1-26.5 0L189.6 268.9A7.2 7.2 0 0 1 194 256h648.8a7.2 7.2 0 0 1 4.4 12.9z\"},\"child\":[]}]})(props);\n};\nexport function AiFillMedicineBox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M839.2 278.1a32 32 0 0 0-30.4-22.1H736V144c0-17.7-14.3-32-32-32H320c-17.7 0-32 14.3-32 32v112h-72.8a31.9 31.9 0 0 0-30.4 22.1L112 502v378c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V502l-72.8-223.9zM660 628c0 4.4-3.6 8-8 8H544v108c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V636H372c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h108V464c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v108h108c4.4 0 8 3.6 8 8v48zm4-372H360v-72h304v72z\"},\"child\":[]}]})(props);\n};\nexport function AiFillMediumCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm256 253.7l-40.8 39.1c-3.6 2.7-5.3 7.1-4.6 11.4v287.7c-.7 4.4 1 8.8 4.6 11.4l40 39.1v8.7H566.4v-8.3l41.3-40.1c4.1-4.1 4.1-5.3 4.1-11.4V422.5l-115 291.6h-15.5L347.5 422.5V618c-1.2 8.2 1.7 16.5 7.5 22.4l53.8 65.1v8.7H256v-8.7l53.8-65.1a26.1 26.1 0 0 0 7-22.4V392c.7-6.3-1.7-12.4-6.5-16.7l-47.8-57.6V309H411l114.6 251.5 100.9-251.3H768v8.5z\"},\"child\":[]}]})(props);\n};\nexport function AiFillMediumSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM768 317.7l-40.8 39.1c-3.6 2.7-5.3 7.1-4.6 11.4v287.7c-.7 4.4 1 8.8 4.6 11.4l40 39.1v8.7H566.4v-8.3l41.3-40.1c4.1-4.1 4.1-5.3 4.1-11.4V422.5l-115 291.6h-15.5L347.5 422.5V618c-1.2 8.2 1.7 16.5 7.5 22.4l53.8 65.1v8.7H256v-8.7l53.8-65.1a26.1 26.1 0 0 0 7-22.4V392c.7-6.3-1.7-12.4-6.5-16.7l-47.8-57.6V309H411l114.6 251.5 100.9-251.3H768v8.5z\"},\"child\":[]}]})(props);\n};\nexport function AiFillMeh (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zM288 421a48.01 48.01 0 0 1 96 0 48.01 48.01 0 0 1-96 0zm384 200c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h304c4.4 0 8 3.6 8 8v48zm16-152a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z\"},\"child\":[]}]})(props);\n};\nexport function AiFillMerge (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M112 0c61.856 0 112 50.144 112 112 0 49.262-31.803 91.095-75.998 106.088L148 502.371l386.488-126.553.014-95.914C489.009 265.664 456 223.187 456 173c0-61.856 50.144-112 112-112s112 50.144 112 112c0 48.327-30.608 89.505-73.496 105.206l-.018 113.037c-.003 21.932-14.1 41.379-34.944 48.204L148 578.132l.002 27.78c43.64 14.805 75.197 55.78 75.983 104.236L224 712c0 61.856-50.144 112-112 112S0 773.856 0 712c0-49.262 31.804-91.096 75.999-106.088V218.088C31.804 203.096 0 161.262 0 112 0 50.144 50.144 0 112 0\",\"transform\":\"matrix(1 0 0 -1 172 924)\"},\"child\":[]}]})(props);\n};\nexport function AiFillMessage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M924.3 338.4a447.57 447.57 0 0 0-96.1-143.3 443.09 443.09 0 0 0-143-96.3A443.91 443.91 0 0 0 512 64h-2c-60.5.3-119 12.3-174.1 35.9a444.08 444.08 0 0 0-141.7 96.5 445 445 0 0 0-95 142.8A449.89 449.89 0 0 0 65 514.1c.3 69.4 16.9 138.3 47.9 199.9v152c0 25.4 20.6 46 45.9 46h151.8a447.72 447.72 0 0 0 199.5 48h2.1c59.8 0 117.7-11.6 172.3-34.3A443.2 443.2 0 0 0 827 830.5c41.2-40.9 73.6-88.7 96.3-142 23.5-55.2 35.5-113.9 35.8-174.5.2-60.9-11.6-120-34.8-175.6zM312.4 560c-26.4 0-47.9-21.5-47.9-48s21.5-48 47.9-48 47.9 21.5 47.9 48-21.4 48-47.9 48zm199.6 0c-26.4 0-47.9-21.5-47.9-48s21.5-48 47.9-48 47.9 21.5 47.9 48-21.5 48-47.9 48zm199.6 0c-26.4 0-47.9-21.5-47.9-48s21.5-48 47.9-48 47.9 21.5 47.9 48-21.5 48-47.9 48z\"},\"child\":[]}]})(props);\n};\nexport function AiFillMinusCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm192 472c0 4.4-3.6 8-8 8H328c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h368c4.4 0 8 3.6 8 8v48z\"},\"child\":[]}]})(props);\n};\nexport function AiFillMinusSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM704 536c0 4.4-3.6 8-8 8H328c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h368c4.4 0 8 3.6 8 8v48z\"},\"child\":[]}]})(props);\n};\nexport function AiFillMobile (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M744 62H280c-35.3 0-64 28.7-64 64v768c0 35.3 28.7 64 64 64h464c35.3 0 64-28.7 64-64V126c0-35.3-28.7-64-64-64zM512 824c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40z\"},\"child\":[]}]})(props);\n};\nexport function AiFillMoneyCollect (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M911.5 699.7a8 8 0 0 0-10.3-4.8L840 717.2V179c0-37.6-30.4-68-68-68H252c-37.6 0-68 30.4-68 68v538.2l-61.3-22.3c-.9-.3-1.8-.5-2.7-.5-4.4 0-8 3.6-8 8V762c0 3.3 2.1 6.3 5.3 7.5L501 909.1c7.1 2.6 14.8 2.6 21.9 0l383.8-139.5c3.2-1.2 5.3-4.2 5.3-7.5v-59.6c0-1-.2-1.9-.5-2.8zm-243.8-377L564 514.3h57.6c4.4 0 8 3.6 8 8v27.1c0 4.4-3.6 8-8 8h-76.3v39h76.3c4.4 0 8 3.6 8 8v27.1c0 4.4-3.6 8-8 8h-76.3V703c0 4.4-3.6 8-8 8h-49.9c-4.4 0-8-3.6-8-8v-63.4h-76c-4.4 0-8-3.6-8-8v-27.1c0-4.4 3.6-8 8-8h76v-39h-76c-4.4 0-8-3.6-8-8v-27.1c0-4.4 3.6-8 8-8h57L356.5 322.8c-2.1-3.8-.7-8.7 3.2-10.8 1.2-.7 2.5-1 3.8-1h55.7a8 8 0 0 1 7.1 4.4L511 484.2h3.3L599 315.4c1.3-2.7 4.1-4.4 7.1-4.4h54.5c4.4 0 8 3.6 8.1 7.9 0 1.3-.4 2.6-1 3.8z\"},\"child\":[]}]})(props);\n};\nexport function AiFillMoon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M489.493 111.658c30.658-1.792 45.991 36.44 22.59 56.329C457.831 214.095 426 281.423 426 354c0 134.757 109.243 244 244 244 72.577 0 139.905-31.832 186.014-86.084 19.868-23.377 58.064-8.102 56.332 22.53C900.4 745.823 725.141 912 512.5 912 291.31 912 112 732.69 112 511.5c0-211.39 164.287-386.024 374.198-399.649l.206-.013z\"},\"child\":[]}]})(props);\n};\nexport function AiFillMuted (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M771.915 115c-5.863 0-11.877 1.644-17.42 5.267L400 351.966H236c-8.837 0-16 7.165-16 16.003V656.03c0 8.838 7.163 16.003 16 16.003h164l354.495 231.7c5.542 3.621 11.558 5.267 17.42 5.267C788.566 909 804 895.749 804 876.94V147.06c0-18.808-15.436-32.06-32.085-32.06\"},\"child\":[]}]})(props);\n};\nexport function AiFillNotification (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112c-3.8 0-7.7.7-11.6 2.3L292 345.9H128c-8.8 0-16 7.4-16 16.6v299c0 9.2 7.2 16.6 16 16.6h101.6c-3.7 11.6-5.6 23.9-5.6 36.4 0 65.9 53.8 119.5 120 119.5 55.4 0 102.1-37.6 115.9-88.4l408.6 164.2c3.9 1.5 7.8 2.3 11.6 2.3 16.9 0 32-14.2 32-33.2V145.2C912 126.2 897 112 880 112zM344 762.3c-26.5 0-48-21.4-48-47.8 0-11.2 3.9-21.9 11-30.4l84.9 34.1c-2 24.6-22.7 44.1-47.9 44.1z\"},\"child\":[]}]})(props);\n};\nexport function AiFillOpenAI (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M366.609 0C292.567 0 226.882 42.382 193.68 104.575v237.284l92.265 56.484 3.386-235.699 188.997-127.45C446.12 12.695 407.577 0 366.608 0M569.51 62.248c-13.17 0-26.054 1.758-38.8 4.359L344.2 192.363l-1.37 96.146 186.584-125.253 231.22 137.284c3.08-13.888 4.863-28.051 4.863-42.327 0-108.044-87.93-195.965-195.986-195.965m-431.168 91.75C58.343 178.696 0 253.216 0 341.21c0 27.924 5.906 54.829 16.788 79.36l245.487 139.769 90.571-56.124-214.503-131.376zm392.872 74.676-72.702 48.848 203.984 128.062 25.795 235.41C758.422 611.115 807 541.971 807 461.095c0-27.555-5.855-54.129-16.572-78.53zM408.22 311.275l-66.362 44.56-1.045 76.117 64.704 39.662 69.532-43.048-1.837-76.477zm121.194 76.117 5.872 248.343-201.282 119.164C368.72 783.635 412.631 800 458.837 800c79.224 0 147.798-46.522 178.621-114.986L610.402 438.22zm-52.852 105.295L263.428 624.676 60.56 509.15c-3.357 14.46-5.224 29.262-5.224 44.164 0 102.935 79.847 187.408 180.819 195.173l243.036-143.876z\",\"transform\":\"translate(109 112)\"},\"child\":[]}]})(props);\n};\nexport function AiFillPauseCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-80 600c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V360c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v304zm224 0c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V360c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v304z\"},\"child\":[]}]})(props);\n};\nexport function AiFillPayCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm166.6 246.8L567.5 515.6h62c4.4 0 8 3.6 8 8v29.9c0 4.4-3.6 8-8 8h-82V603h82c4.4 0 8 3.6 8 8v29.9c0 4.4-3.6 8-8 8h-82V717c0 4.4-3.6 8-8 8h-54.3c-4.4 0-8-3.6-8-8v-68.1h-81.7c-4.4 0-8-3.6-8-8V611c0-4.4 3.6-8 8-8h81.7v-41.5h-81.7c-4.4 0-8-3.6-8-8v-29.9c0-4.4 3.6-8 8-8h61.4L345.4 310.8a8.07 8.07 0 0 1 7-11.9h60.7c3 0 5.8 1.7 7.1 4.4l90.6 180h3.4l90.6-180a8 8 0 0 1 7.1-4.4h59.5c4.4 0 8 3.6 8 8 .2 1.4-.2 2.7-.8 3.9z\"},\"child\":[]}]})(props);\n};\nexport function AiFillPhone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M885.6 230.2L779.1 123.8a80.83 80.83 0 0 0-57.3-23.8c-21.7 0-42.1 8.5-57.4 23.8L549.8 238.4a80.83 80.83 0 0 0-23.8 57.3c0 21.7 8.5 42.1 23.8 57.4l83.8 83.8A393.82 393.82 0 0 1 553.1 553 395.34 395.34 0 0 1 437 633.8L353.2 550a80.83 80.83 0 0 0-57.3-23.8c-21.7 0-42.1 8.5-57.4 23.8L123.8 664.5a80.89 80.89 0 0 0-23.8 57.4c0 21.7 8.5 42.1 23.8 57.4l106.3 106.3c24.4 24.5 58.1 38.4 92.7 38.4 7.3 0 14.3-.6 21.2-1.8 134.8-22.2 268.5-93.9 376.4-201.7C828.2 612.8 899.8 479.2 922.3 344c6.8-41.3-6.9-83.8-36.7-113.8z\"},\"child\":[]}]})(props);\n};\nexport function AiFillPicture (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zM338 304c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm513.9 437.1a8.11 8.11 0 0 1-5.2 1.9H177.2c-4.4 0-8-3.6-8-8 0-1.9.7-3.7 1.9-5.2l170.3-202c2.8-3.4 7.9-3.8 11.3-1 .3.3.7.6 1 1l99.4 118 158.1-187.5c2.8-3.4 7.9-3.8 11.3-1 .3.3.7.6 1 1l229.6 271.6c2.6 3.3 2.2 8.4-1.2 11.2z\"},\"child\":[]}]})(props);\n};\nexport function AiFillPieChart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M863.1 518.5H505.5V160.9c0-4.4-3.6-8-8-8h-26a398.57 398.57 0 0 0-282.5 117 397.47 397.47 0 0 0-85.6 127C82.6 446.2 72 498.5 72 552.5S82.6 658.7 103.4 708c20.1 47.5 48.9 90.3 85.6 127 36.7 36.7 79.4 65.5 127 85.6a396.64 396.64 0 0 0 155.6 31.5 398.57 398.57 0 0 0 282.5-117c36.7-36.7 65.5-79.4 85.6-127a396.64 396.64 0 0 0 31.5-155.6v-26c-.1-4.4-3.7-8-8.1-8zM951 463l-2.6-28.2c-8.5-92-49.3-178.8-115.1-244.3A398.5 398.5 0 0 0 588.4 75.6L560.1 73c-4.7-.4-8.7 3.2-8.7 7.9v383.7c0 4.4 3.6 8 8 8l383.6-1c4.7-.1 8.4-4 8-8.6z\"},\"child\":[]}]})(props);\n};\nexport function AiFillPinterest (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 0C200.974 0 0 200.974 0 448c0 192.526 122.082 357.042 292.882 420.282-4.919-43.857-4.147-115.682 3.97-150.457 7.602-32.666 49.11-208.167 49.11-208.167S333.43 484.563 333.43 447.5c0-58.244 33.744-101.7 75.767-101.7 35.742 0 52.977 26.834 52.977 58.984 0 35.951-22.857 89.652-34.696 139.422-9.873 41.702 20.907 75.703 62.012 75.703 74.431 0 131.644-78.49 131.644-191.77 0-100.266-72.03-170.38-174.906-170.38-119.144 0-189.081 89.377-189.081 181.752 0 35.983 13.852 74.575 31.167 95.579 3.414 4.155 3.914 7.78 2.9 12-3.174 13.223-10.228 41.669-11.63 47.499-1.82 7.683-6.073 9.278-13.998 5.589-52.314-24.354-85.012-100.813-85.012-162.246 0-132.093 95.965-253.428 276.718-253.428 145.286 0 258.18 103.504 258.18 241.88 0 144.334-91.02 260.482-217.316 260.482-42.441 0-82.323-22.05-95.965-48.096 0 0-21.003 79.956-26.11 99.558-8.813 33.9-46.539 104.13-65.477 136.03A446.164 446.164 0 0 0 448 896c247.035 0 448-200.965 448-448C896 200.974 695.035 0 448 0\",\"transform\":\"translate(64 64)\"},\"child\":[]}]})(props);\n};\nexport function AiFillPlayCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm144.1 454.9L437.7 677.8a8.02 8.02 0 0 1-12.7-6.5V353.7a8 8 0 0 1 12.7-6.5L656.1 506a7.9 7.9 0 0 1 0 12.9z\"},\"child\":[]}]})(props);\n};\nexport function AiFillPlaySquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM641.7 520.8L442.3 677.6c-7.4 5.8-18.3.6-18.3-8.8V355.3c0-9.4 10.9-14.7 18.3-8.8l199.4 156.7a11.2 11.2 0 0 1 0 17.6z\"},\"child\":[]}]})(props);\n};\nexport function AiFillPlusCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm192 472c0 4.4-3.6 8-8 8H544v152c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V544H328c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h152V328c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v152h152c4.4 0 8 3.6 8 8v48z\"},\"child\":[]}]})(props);\n};\nexport function AiFillPlusSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM704 536c0 4.4-3.6 8-8 8H544v152c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V544H328c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h152V328c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v152h152c4.4 0 8 3.6 8 8v48z\"},\"child\":[]}]})(props);\n};\nexport function AiFillPoundCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm146 658c0 4.4-3.6 8-8 8H376.2c-4.4 0-8-3.6-8-8v-38.5c0-3.7 2.5-6.9 6.1-7.8 44-10.9 72.8-49 72.8-94.2 0-14.7-2.5-29.4-5.9-44.2H374c-4.4 0-8-3.6-8-8v-30c0-4.4 3.6-8 8-8h53.7c-7.8-25.1-14.6-50.7-14.6-77.1 0-75.8 58.6-120.3 151.5-120.3 26.5 0 51.4 5.5 70.3 12.7 3.1 1.2 5.2 4.2 5.2 7.5v39.5a8 8 0 0 1-10.6 7.6c-17.9-6.4-39-10.5-60.4-10.5-53.3 0-87.3 26.6-87.3 70.2 0 24.7 6.2 47.9 13.4 70.5h112c4.4 0 8 3.6 8 8v30c0 4.4-3.6 8-8 8h-98.6c3.1 13.2 5.3 26.9 5.3 41 0 40.7-16.5 73.9-43.9 91.1v4.7h180c4.4 0 8 3.6 8 8V722z\"},\"child\":[]}]})(props);\n};\nexport function AiFillPrinter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M732 120c0-4.4-3.6-8-8-8H300c-4.4 0-8 3.6-8 8v148h440V120zm120 212H172c-44.2 0-80 35.8-80 80v328c0 17.7 14.3 32 32 32h168v132c0 4.4 3.6 8 8 8h424c4.4 0 8-3.6 8-8V772h168c17.7 0 32-14.3 32-32V412c0-44.2-35.8-80-80-80zM664 844H360V568h304v276zm164-360c0 4.4-3.6 8-8 8h-40c-4.4 0-8-3.6-8-8v-40c0-4.4 3.6-8 8-8h40c4.4 0 8 3.6 8 8v40z\"},\"child\":[]}]})(props);\n};\nexport function AiFillProduct (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M160 144h304c8.837 0 16 7.163 16 16v304c0 8.837-7.163 16-16 16H160c-8.837 0-16-7.163-16-16V160c0-8.837 7.163-16 16-16m564.314-25.333 181.019 181.02c6.248 6.248 6.248 16.378 0 22.627l-181.02 181.019c-6.248 6.248-16.378 6.248-22.627 0l-181.019-181.02c-6.248-6.248-6.248-16.378 0-22.627l181.02-181.019c6.248-6.248 16.378-6.248 22.627 0M160 544h304c8.837 0 16 7.163 16 16v304c0 8.837-7.163 16-16 16H160c-8.837 0-16-7.163-16-16V560c0-8.837 7.163-16 16-16m400 0h304c8.837 0 16 7.163 16 16v304c0 8.837-7.163 16-16 16H560c-8.837 0-16-7.163-16-16V560c0-8.837 7.163-16 16-16\"},\"child\":[]}]})(props);\n};\nexport function AiFillProfile (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM380 696c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zm0-144c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zm0-144c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zm304 272c0 4.4-3.6 8-8 8H492c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48zm0-144c0 4.4-3.6 8-8 8H492c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48zm0-144c0 4.4-3.6 8-8 8H492c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48z\"},\"child\":[]}]})(props);\n};\nexport function AiFillProject (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM368 744c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8V280c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v464zm192-280c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8V280c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v184zm192 72c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8V280c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v256z\"},\"child\":[]}]})(props);\n};\nexport function AiFillPropertySafety (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM648.3 332.8l-87.7 161.1h45.7c5.5 0 10 4.5 10 10v21.3c0 5.5-4.5 10-10 10h-63.4v29.7h63.4c5.5 0 10 4.5 10 10v21.3c0 5.5-4.5 10-10 10h-63.4V658c0 5.5-4.5 10-10 10h-41.3c-5.5 0-10-4.5-10-10v-51.8h-63.1c-5.5 0-10-4.5-10-10v-21.3c0-5.5 4.5-10 10-10h63.1v-29.7h-63.1c-5.5 0-10-4.5-10-10v-21.3c0-5.5 4.5-10 10-10h45.2l-88-161.1c-2.6-4.8-.9-10.9 4-13.6 1.5-.8 3.1-1.2 4.8-1.2h46c3.8 0 7.2 2.1 8.9 5.5l72.9 144.3 73.2-144.3a10 10 0 0 1 8.9-5.5h45c5.5 0 10 4.5 10 10 .1 1.7-.3 3.3-1.1 4.8z\"},\"child\":[]}]})(props);\n};\nexport function AiFillPushpin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M878.3 392.1L631.9 145.7c-6.5-6.5-15-9.7-23.5-9.7s-17 3.2-23.5 9.7L423.8 306.9c-12.2-1.4-24.5-2-36.8-2-73.2 0-146.4 24.1-206.5 72.3-15.4 12.3-16.6 35.4-2.7 49.4l181.7 181.7-215.4 215.2a15.8 15.8 0 0 0-4.6 9.8l-3.4 37.2c-.9 9.4 6.6 17.4 15.9 17.4.5 0 1 0 1.5-.1l37.2-3.4c3.7-.3 7.2-2 9.8-4.6l215.4-215.4 181.7 181.7c6.5 6.5 15 9.7 23.5 9.7 9.7 0 19.3-4.2 25.9-12.4 56.3-70.3 79.7-158.3 70.2-243.4l161.1-161.1c12.9-12.8 12.9-33.8 0-46.8z\"},\"child\":[]}]})(props);\n};\nexport function AiFillQqCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm210.5 612.4c-11.5 1.4-44.9-52.7-44.9-52.7 0 31.3-16.2 72.2-51.1 101.8 16.9 5.2 54.9 19.2 45.9 34.4-7.3 12.3-125.6 7.9-159.8 4-34.2 3.8-152.5 8.3-159.8-4-9.1-15.2 28.9-29.2 45.8-34.4-35-29.5-51.1-70.4-51.1-101.8 0 0-33.4 54.1-44.9 52.7-5.4-.7-12.4-29.6 9.4-99.7 10.3-33 22-60.5 40.2-105.8-3.1-116.9 45.3-215 160.4-215 113.9 0 163.3 96.1 160.4 215 18.1 45.2 29.9 72.8 40.2 105.8 21.7 70.1 14.6 99.1 9.3 99.7z\"},\"child\":[]}]})(props);\n};\nexport function AiFillQqSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM722.5 676.4c-11.5 1.4-44.9-52.7-44.9-52.7 0 31.3-16.2 72.2-51.1 101.8 16.9 5.2 54.9 19.2 45.9 34.4-7.3 12.3-125.6 7.9-159.8 4-34.2 3.8-152.5 8.3-159.8-4-9.1-15.2 28.9-29.2 45.8-34.4-35-29.5-51.1-70.4-51.1-101.8 0 0-33.4 54.1-44.9 52.7-5.4-.7-12.4-29.6 9.4-99.7 10.3-33 22-60.5 40.2-105.8-3.1-116.9 45.3-215 160.4-215 113.9 0 163.3 96.1 160.4 215 18.1 45.2 29.9 72.8 40.2 105.8 21.7 70.1 14.6 99.1 9.3 99.7z\"},\"child\":[]}]})(props);\n};\nexport function AiFillQuestionCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 708c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zm62.9-219.5a48.3 48.3 0 0 0-30.9 44.8V620c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-21.5c0-23.1 6.7-45.9 19.9-64.9 12.9-18.6 30.9-32.8 52.1-40.9 34-13.1 56-41.6 56-72.7 0-44.1-43.1-80-96-80s-96 35.9-96 80v7.6c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V420c0-39.3 17.2-76 48.4-103.3C430.4 290.4 470 276 512 276s81.6 14.5 111.6 40.7C654.8 344 672 380.7 672 420c0 57.8-38.1 109.8-97.1 132.5z\"},\"child\":[]}]})(props);\n};\nexport function AiFillRead (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M928 161H699.2c-49.1 0-97.1 14.1-138.4 40.7L512 233l-48.8-31.3A255.2 255.2 0 0 0 324.8 161H96c-17.7 0-32 14.3-32 32v568c0 17.7 14.3 32 32 32h228.8c49.1 0 97.1 14.1 138.4 40.7l44.4 28.6c1.3.8 2.8 1.3 4.3 1.3s3-.4 4.3-1.3l44.4-28.6C602 807.1 650.1 793 699.2 793H928c17.7 0 32-14.3 32-32V193c0-17.7-14.3-32-32-32zM404 553.5c0 4.1-3.2 7.5-7.1 7.5H211.1c-3.9 0-7.1-3.4-7.1-7.5v-45c0-4.1 3.2-7.5 7.1-7.5h185.7c3.9 0 7.1 3.4 7.1 7.5v45zm0-140c0 4.1-3.2 7.5-7.1 7.5H211.1c-3.9 0-7.1-3.4-7.1-7.5v-45c0-4.1 3.2-7.5 7.1-7.5h185.7c3.9 0 7.1 3.4 7.1 7.5v45zm416 140c0 4.1-3.2 7.5-7.1 7.5H627.1c-3.9 0-7.1-3.4-7.1-7.5v-45c0-4.1 3.2-7.5 7.1-7.5h185.7c3.9 0 7.1 3.4 7.1 7.5v45zm0-140c0 4.1-3.2 7.5-7.1 7.5H627.1c-3.9 0-7.1-3.4-7.1-7.5v-45c0-4.1 3.2-7.5 7.1-7.5h185.7c3.9 0 7.1 3.4 7.1 7.5v45z\"},\"child\":[]}]})(props);\n};\nexport function AiFillReconciliation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M676 623c-18.8 0-34 15.2-34 34s15.2 34 34 34 34-15.2 34-34-15.2-34-34-34zm204-455H668c0-30.9-25.1-56-56-56h-80c-30.9 0-56 25.1-56 56H264c-17.7 0-32 14.3-32 32v200h-88c-17.7 0-32 14.3-32 32v448c0 17.7 14.3 32 32 32h336c17.7 0 32-14.3 32-32v-16h368c17.7 0 32-14.3 32-32V200c0-17.7-14.3-32-32-32zM448 848H176V616h272v232zm0-296H176v-88h272v88zm20-272v-48h72v-56h64v56h72v48H468zm180 168v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8zm28 301c-50.8 0-92-41.2-92-92s41.2-92 92-92 92 41.2 92 92-41.2 92-92 92zm92-245c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-96c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v96zm-92 61c-50.8 0-92 41.2-92 92s41.2 92 92 92 92-41.2 92-92-41.2-92-92-92zm0 126c-18.8 0-34-15.2-34-34s15.2-34 34-34 34 15.2 34 34-15.2 34-34 34z\"},\"child\":[]}]})(props);\n};\nexport function AiFillRedEnvelope (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zM647 470.4l-87.2 161h45.9c4.6 0 8.4 3.8 8.4 8.4v25.1c0 4.6-3.8 8.4-8.4 8.4h-63.3v28.6h63.3c4.6 0 8.4 3.8 8.4 8.4v25c.2 4.6-3.6 8.5-8.2 8.5h-63.3v49.9c0 4.6-3.8 8.4-8.4 8.4h-43.7c-4.6 0-8.4-3.8-8.4-8.4v-49.9h-63c-4.6 0-8.4-3.8-8.4-8.4v-25.1c0-4.6 3.8-8.4 8.4-8.4h63v-28.6h-63c-4.6 0-8.4-3.8-8.4-8.4v-25.1c0-4.6 3.8-8.4 8.4-8.4h45.4l-87.5-161c-2.2-4.1-.7-9.1 3.4-11.4 1.3-.6 2.6-1 3.9-1h48.8c3.2 0 6.1 1.8 7.5 4.6l71.9 141.8 71.9-141.9a8.5 8.5 0 0 1 7.5-4.6h47.8c4.6 0 8.4 3.8 8.4 8.4-.1 1.5-.5 2.9-1.1 4.1zM512.6 323L289 148h446L512.6 323z\"},\"child\":[]}]})(props);\n};\nexport function AiFillRedditCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M584 548a36 36 0 1 0 72 0 36 36 0 1 0-72 0zm144-108a35.9 35.9 0 0 0-32.5 20.6c18.8 14.3 34.4 30.7 45.9 48.8A35.98 35.98 0 0 0 728 440zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm245 477.9c4.6 13.5 7 27.6 7 42.1 0 99.4-112.8 180-252 180s-252-80.6-252-180c0-14.5 2.4-28.6 7-42.1A72.01 72.01 0 0 1 296 404c27.1 0 50.6 14.9 62.9 37 36.2-19.8 80.2-32.8 128.1-36.1l58.4-131.1c4.3-9.8 15.2-14.8 25.5-11.8l91.6 26.5a54.03 54.03 0 0 1 101.6 25.6c0 29.8-24.2 54-54 54-23.5 0-43.5-15.1-50.9-36.1L577 308.3l-43 96.5c49.1 3 94.2 16.1 131.2 36.3 12.3-22.1 35.8-37 62.9-37 39.8 0 72 32.2 72 72-.1 29.3-17.8 54.6-43.1 65.8zm-171.3 83c-14.9 11.7-44.3 24.3-73.7 24.3s-58.9-12.6-73.7-24.3c-9.3-7.3-22.7-5.7-30 3.6-7.3 9.3-5.7 22.7 3.6 30 25.7 20.4 65 33.5 100.1 33.5 35.1 0 74.4-13.1 100.2-33.5 9.3-7.3 10.9-20.8 3.6-30a21.46 21.46 0 0 0-30.1-3.6zM296 440a35.98 35.98 0 0 0-13.4 69.4c11.5-18.1 27.1-34.5 45.9-48.8A35.9 35.9 0 0 0 296 440zm72 108a36 36 0 1 0 72 0 36 36 0 1 0-72 0z\"},\"child\":[]}]})(props);\n};\nexport function AiFillRedditSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M296 440a35.98 35.98 0 0 0-13.4 69.4c11.5-18.1 27.1-34.5 45.9-48.8A35.9 35.9 0 0 0 296 440zm289.7 184.9c-14.9 11.7-44.3 24.3-73.7 24.3s-58.9-12.6-73.7-24.3c-9.3-7.3-22.7-5.7-30 3.6-7.3 9.3-5.7 22.7 3.6 30 25.7 20.4 65 33.5 100.1 33.5 35.1 0 74.4-13.1 100.2-33.5 9.3-7.3 10.9-20.8 3.6-30a21.46 21.46 0 0 0-30.1-3.6zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM757 541.9c4.6 13.5 7 27.6 7 42.1 0 99.4-112.8 180-252 180s-252-80.6-252-180c0-14.5 2.4-28.6 7-42.1A72.01 72.01 0 0 1 296 404c27.1 0 50.6 14.9 62.9 37 36.2-19.8 80.2-32.8 128.1-36.1l58.4-131.1c4.3-9.8 15.2-14.8 25.5-11.8l91.6 26.5a54.03 54.03 0 0 1 101.6 25.6c0 29.8-24.2 54-54 54-23.5 0-43.5-15.1-50.9-36.1L577 308.3l-43 96.5c49.1 3 94.2 16.1 131.2 36.3 12.3-22.1 35.8-37 62.9-37 39.8 0 72 32.2 72 72-.1 29.3-17.8 54.6-43.1 65.8zM584 548a36 36 0 1 0 72 0 36 36 0 1 0-72 0zm144-108a35.9 35.9 0 0 0-32.5 20.6c18.8 14.3 34.4 30.7 45.9 48.8A35.98 35.98 0 0 0 728 440zM368 548a36 36 0 1 0 72 0 36 36 0 1 0-72 0z\"},\"child\":[]}]})(props);\n};\nexport function AiFillRest (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M832 256h-28.1l-35.7-120.9c-4-13.7-16.5-23.1-30.7-23.1h-451c-14.3 0-26.8 9.4-30.7 23.1L220.1 256H192c-17.7 0-32 14.3-32 32v28c0 4.4 3.6 8 8 8h45.8l47.7 558.7a32 32 0 0 0 31.9 29.3h429.2a32 32 0 0 0 31.9-29.3L802.2 324H856c4.4 0 8-3.6 8-8v-28c0-17.7-14.3-32-32-32zM508 704c-79.5 0-144-64.5-144-144s64.5-144 144-144 144 64.5 144 144-64.5 144-144 144zM291 256l22.4-76h397.2l22.4 76H291zm137 304a80 80 0 1 0 160 0 80 80 0 1 0-160 0z\"},\"child\":[]}]})(props);\n};\nexport function AiFillRightCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm154.7 454.5l-246 178c-5.3 3.8-12.7 0-12.7-6.5v-46.9c0-10.2 4.9-19.9 13.2-25.9L566.6 512 421.2 406.8c-8.3-6-13.2-15.6-13.2-25.9V334c0-6.5 7.4-10.3 12.7-6.5l246 178c4.4 3.2 4.4 9.8 0 13z\"},\"child\":[]}]})(props);\n};\nexport function AiFillRightSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM658.7 518.5l-246 178c-5.3 3.8-12.7 0-12.7-6.5v-46.9c0-10.2 4.9-19.9 13.2-25.9L558.6 512 413.2 406.8c-8.3-6-13.2-15.6-13.2-25.9V334c0-6.5 7.4-10.3 12.7-6.5l246 178c4.4 3.2 4.4 9.8 0 13z\"},\"child\":[]}]})(props);\n};\nexport function AiFillRobot (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"t\":\"1569682613478\",\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M852 64H172c-17.7 0-32 14.3-32 32v660c0 17.7 14.3 32 32 32h680c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zM300 328c0-33.1 26.9-60 60-60s60 26.9 60 60-26.9 60-60 60-60-26.9-60-60z m372 248c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-60c0-4.4 3.6-8 8-8h304c4.4 0 8 3.6 8 8v60z m-8-188c-33.1 0-60-26.9-60-60s26.9-60 60-60 60 26.9 60 60-26.9 60-60 60zM799 864H225c-13.8 0-25 14.3-25 32v56c0 4.4 2.8 8 6.2 8h611.5c3.4 0 6.2-3.6 6.2-8v-56c0.1-17.7-11.1-32-24.9-32z\"},\"child\":[]}]})(props);\n};\nexport function AiFillRocket (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M864 736c0-111.6-65.4-208-160-252.9V317.3c0-15.1-5.3-29.7-15.1-41.2L536.5 95.4C530.1 87.8 521 84 512 84s-18.1 3.8-24.5 11.4L335.1 276.1a63.97 63.97 0 0 0-15.1 41.2v165.8C225.4 528 160 624.4 160 736h156.5c-2.3 7.2-3.5 15-3.5 23.8 0 22.1 7.6 43.7 21.4 60.8a97.2 97.2 0 0 0 43.1 30.6c23.1 54 75.6 88.8 134.5 88.8 29.1 0 57.3-8.6 81.4-24.8 23.6-15.8 41.9-37.9 53-64a97 97 0 0 0 43.1-30.5 97.52 97.52 0 0 0 21.4-60.8c0-8.4-1.1-16.4-3.1-23.8L864 736zM512 352a48.01 48.01 0 0 1 0 96 48.01 48.01 0 0 1 0-96zm116.1 432.2c-5.2 3-11.2 4.2-17.1 3.4l-19.5-2.4-2.8 19.4c-5.4 37.9-38.4 66.5-76.7 66.5s-71.3-28.6-76.7-66.5l-2.8-19.5-19.5 2.5a27.7 27.7 0 0 1-17.1-3.5c-8.7-5-14.1-14.3-14.1-24.4 0-10.6 5.9-19.4 14.6-23.8h231.3c8.8 4.5 14.6 13.3 14.6 23.8-.1 10.2-5.5 19.6-14.2 24.5z\"},\"child\":[]}]})(props);\n};\nexport function AiFillSafetyCertificate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM694.5 340.7L481.9 633.4a16.1 16.1 0 0 1-26 0l-126.4-174c-3.8-5.3 0-12.7 6.5-12.7h55.2c5.1 0 10 2.5 13 6.6l64.7 89 150.9-207.8c3-4.1 7.8-6.6 13-6.6H688c6.5.1 10.3 7.5 6.5 12.8z\"},\"child\":[]}]})(props);\n};\nexport function AiFillSave (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M893.3 293.3L730.7 130.7c-12-12-28.3-18.7-45.3-18.7H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V338.5c0-17-6.7-33.2-18.7-45.2zM384 176h256v112H384V176zm128 554c-79.5 0-144-64.5-144-144s64.5-144 144-144 144 64.5 144 144-64.5 144-144 144zm0-224c-44.2 0-80 35.8-80 80s35.8 80 80 80 80-35.8 80-80-35.8-80-80-80z\"},\"child\":[]}]})(props);\n};\nexport function AiFillSchedule (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M928 224H768v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H548v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H328v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H96c-17.7 0-32 14.3-32 32v576c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32zM424 688c0 4.4-3.6 8-8 8H232c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48zm0-136c0 4.4-3.6 8-8 8H232c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48zm374.5-91.3l-165 228.7a15.9 15.9 0 0 1-25.8 0L493.5 531.2c-3.8-5.3 0-12.7 6.5-12.7h54.9c5.1 0 9.9 2.5 12.9 6.6l52.8 73.1 103.7-143.7c3-4.2 7.8-6.6 12.9-6.6H792c6.5.1 10.3 7.5 6.5 12.8z\"},\"child\":[]}]})(props);\n};\nexport function AiFillSecurityScan (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM626.8 554c-48.5 48.5-123 55.2-178.6 20.1l-77.5 77.5a8.03 8.03 0 0 1-11.3 0l-34-34a8.03 8.03 0 0 1 0-11.3l77.5-77.5c-35.1-55.7-28.4-130.1 20.1-178.6 56.3-56.3 147.5-56.3 203.8 0 56.3 56.3 56.3 147.5 0 203.8zm-158.54-45.27a80.1 80.1 0 1 0 113.27-113.28 80.1 80.1 0 1 0-113.27 113.28z\"},\"child\":[]}]})(props);\n};\nexport function AiFillSetting (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512.5 390.6c-29.9 0-57.9 11.6-79.1 32.8-21.1 21.2-32.8 49.2-32.8 79.1 0 29.9 11.7 57.9 32.8 79.1 21.2 21.1 49.2 32.8 79.1 32.8 29.9 0 57.9-11.7 79.1-32.8 21.1-21.2 32.8-49.2 32.8-79.1 0-29.9-11.7-57.9-32.8-79.1a110.96 110.96 0 0 0-79.1-32.8zm412.3 235.5l-65.4-55.9c3.1-19 4.7-38.4 4.7-57.7s-1.6-38.8-4.7-57.7l65.4-55.9a32.03 32.03 0 0 0 9.3-35.2l-.9-2.6a442.5 442.5 0 0 0-79.6-137.7l-1.8-2.1a32.12 32.12 0 0 0-35.1-9.5l-81.2 28.9c-30-24.6-63.4-44-99.6-57.5l-15.7-84.9a32.05 32.05 0 0 0-25.8-25.7l-2.7-.5c-52-9.4-106.8-9.4-158.8 0l-2.7.5a32.05 32.05 0 0 0-25.8 25.7l-15.8 85.3a353.44 353.44 0 0 0-98.9 57.3l-81.8-29.1a32 32 0 0 0-35.1 9.5l-1.8 2.1a445.93 445.93 0 0 0-79.6 137.7l-.9 2.6c-4.5 12.5-.8 26.5 9.3 35.2l66.2 56.5c-3.1 18.8-4.6 38-4.6 57 0 19.2 1.5 38.4 4.6 57l-66 56.5a32.03 32.03 0 0 0-9.3 35.2l.9 2.6c18.1 50.3 44.8 96.8 79.6 137.7l1.8 2.1a32.12 32.12 0 0 0 35.1 9.5l81.8-29.1c29.8 24.5 63 43.9 98.9 57.3l15.8 85.3a32.05 32.05 0 0 0 25.8 25.7l2.7.5a448.27 448.27 0 0 0 158.8 0l2.7-.5a32.05 32.05 0 0 0 25.8-25.7l15.7-84.9c36.2-13.6 69.6-32.9 99.6-57.5l81.2 28.9a32 32 0 0 0 35.1-9.5l1.8-2.1c34.8-41.1 61.5-87.4 79.6-137.7l.9-2.6c4.3-12.4.6-26.3-9.5-35zm-412.3 52.2c-97.1 0-175.8-78.7-175.8-175.8s78.7-175.8 175.8-175.8 175.8 78.7 175.8 175.8-78.7 175.8-175.8 175.8z\"},\"child\":[]}]})(props);\n};\nexport function AiFillShop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M882 272.1V144c0-17.7-14.3-32-32-32H174c-17.7 0-32 14.3-32 32v128.1c-16.7 1-30 14.9-30 31.9v131.7a177 177 0 0 0 14.4 70.4c4.3 10.2 9.6 19.8 15.6 28.9v345c0 17.6 14.3 32 32 32h274V736h128v176h274c17.7 0 32-14.3 32-32V535a175 175 0 0 0 15.6-28.9c9.5-22.3 14.4-46 14.4-70.4V304c0-17-13.3-30.9-30-31.9zm-72 568H640V704c0-17.7-14.3-32-32-32H416c-17.7 0-32 14.3-32 32v136.1H214V597.9c2.9 1.4 5.9 2.8 9 4 22.3 9.4 46 14.1 70.4 14.1s48-4.7 70.4-14.1c13.8-5.8 26.8-13.2 38.7-22.1.2-.1.4-.1.6 0a180.4 180.4 0 0 0 38.7 22.1c22.3 9.4 46 14.1 70.4 14.1 24.4 0 48-4.7 70.4-14.1 13.8-5.8 26.8-13.2 38.7-22.1.2-.1.4-.1.6 0a180.4 180.4 0 0 0 38.7 22.1c22.3 9.4 46 14.1 70.4 14.1 24.4 0 48-4.7 70.4-14.1 3-1.3 6-2.6 9-4v242.2zm0-568.1H214v-88h596v88z\"},\"child\":[]}]})(props);\n};\nexport function AiFillShopping (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M832 312H696v-16c0-101.6-82.4-184-184-184s-184 82.4-184 184v16H192c-17.7 0-32 14.3-32 32v536c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V344c0-17.7-14.3-32-32-32zm-208 0H400v-16c0-61.9 50.1-112 112-112s112 50.1 112 112v16z\"},\"child\":[]}]})(props);\n};\nexport function AiFillSignal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"t\":\"1569682885975\",\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M584 352H440c-17.7 0-32 14.3-32 32v544c0 17.7 14.3 32 32 32h144c17.7 0 32-14.3 32-32V384c0-17.7-14.3-32-32-32zM892 64H748c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h144c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zM276 640H132c-17.7 0-32 14.3-32 32v256c0 17.7 14.3 32 32 32h144c17.7 0 32-14.3 32-32V672c0-17.7-14.3-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function AiFillSignature (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M33.713 640c1.994 0 3.988-.2 5.982-.498l168.19-29.508c1.994-.399 3.888-1.296 5.284-2.792l423.915-423.875a9.927 9.927 0 0 0 0-14.056L470.888 2.891C468.994.997 466.5 0 463.809 0s-5.184.997-7.078 2.891L32.816 426.766c-1.495 1.496-2.393 3.29-2.791 5.284L.514 600.224c-1.894 11.066 1.495 21.932 9.372 29.807 6.58 6.48 14.954 9.969 23.827 9.969M486.826 455.928c27.691-14.812 57.293-20.852 85.545-15.519 32.365 6.11 59.72 26.534 78.96 59.406 29.974 51.211 21.642 102.332-18.484 144.254-17.577 18.364-41.07 35.013-69.996 50.297l-.293.152.848.26c13.153 3.956 27.085 6.1 41.54 6.21l1.174.005c61.068 0 100.981-22.104 125.285-67.876 9.325-17.56 31.119-24.237 48.679-14.913 17.56 9.325 24.237 31.119 14.912 48.68-37.285 70.218-102.092 106.109-188.876 106.109-47.687 0-91.94-15.03-128.188-41.368l-1.056-.774-1.36.473c-46.18 15.996-98.732 29.945-155.37 41.932l-2.239.472c-48.571 10.217-97.257 18.377-139.154 23.957-19.709 2.625-37.813-11.224-40.438-30.932-2.625-19.709 11.224-37.813 30.932-40.438 40.196-5.353 87.126-13.22 133.84-23.045 42.799-9.002 83.011-19.134 119.357-30.342l.234-.074-.436-.693c-16.464-26.452-25.857-55.432-26.142-83.24l-.007-1.303c0-49.907 39.555-104.315 90.733-131.69m72.188 55.231c-10.74-2.027-24.099.699-38.228 8.257-29.546 15.804-52.693 47.643-52.693 68.202 0 18.206 8.889 40.146 24.71 59.736l.238.293 1.223-.514c39.17-16.581 68.483-34.271 85.929-52.186l.64-.663c18.735-19.573 21.386-35.842 8.36-58.1-9.059-15.475-19.03-22.92-30.18-25.025\",\"transform\":\"translate(112 112)\"},\"child\":[]}]}]})(props);\n};\nexport function AiFillSketchCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M582.3 625.6l147.9-166.3h-63.4zm90-202.3h62.5l-92.1-115.1zm-274.7 36L512 684.5l114.4-225.2zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm286.7 380.2L515.8 762.3c-1 1.1-2.4 1.7-3.8 1.7s-2.8-.6-3.8-1.7L225.3 444.2a5.14 5.14 0 0 1-.2-6.6L365.6 262c1-1.2 2.4-1.9 4-1.9h284.6c1.6 0 3 .7 4 1.9l140.5 175.6a4.9 4.9 0 0 1 0 6.6zm-190.5-20.9L512 326.1l-96.2 97.2zM420.3 301.1l-23.1 89.8 88.8-89.8zm183.4 0H538l88.8 89.8zm-222.4 7.1l-92.1 115.1h62.5zm-87.5 151.1l147.9 166.3-84.5-166.3z\"},\"child\":[]}]})(props);\n};\nexport function AiFillSketchSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M608.2 423.3L512 326.1l-96.2 97.2zm-25.9 202.3l147.9-166.3h-63.4zm90-202.3h62.5l-92.1-115.1zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-81.3 332.2L515.8 762.3c-1 1.1-2.4 1.7-3.8 1.7s-2.8-.6-3.8-1.7L225.3 444.2a5.14 5.14 0 0 1-.2-6.6L365.6 262c1-1.2 2.4-1.9 4-1.9h284.6c1.6 0 3 .7 4 1.9l140.5 175.6a4.9 4.9 0 0 1 0 6.6zm-401.1 15.1L512 684.5l114.4-225.2zm-16.3-151.1l-92.1 115.1h62.5zm-87.5 151.1l147.9 166.3-84.5-166.3zm126.5-158.2l-23.1 89.8 88.8-89.8zm183.4 0H538l88.8 89.8z\"},\"child\":[]}]})(props);\n};\nexport function AiFillSkin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M870 126H663.8c-17.4 0-32.9 11.9-37 29.3C614.3 208.1 567 246 512 246s-102.3-37.9-114.8-90.7a37.93 37.93 0 0 0-37-29.3H154a44 44 0 0 0-44 44v252a44 44 0 0 0 44 44h75v388a44 44 0 0 0 44 44h478a44 44 0 0 0 44-44V466h75a44 44 0 0 0 44-44V170a44 44 0 0 0-44-44z\"},\"child\":[]}]})(props);\n};\nexport function AiFillSkype (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M883.7 578.6c4.1-22.5 6.3-45.5 6.3-68.5 0-51-10-100.5-29.7-147-19-45-46.3-85.4-81-120.1a375.79 375.79 0 0 0-120.1-80.9c-46.6-19.7-96-29.7-147-29.7-24 0-48.1 2.3-71.5 6.8A225.1 225.1 0 0 0 335.6 113c-59.7 0-115.9 23.3-158.1 65.5A222.25 222.25 0 0 0 112 336.6c0 38 9.8 75.4 28.1 108.4-3.7 21.4-5.7 43.3-5.7 65.1 0 51 10 100.5 29.7 147 19 45 46.2 85.4 80.9 120.1 34.7 34.7 75.1 61.9 120.1 80.9 46.6 19.7 96 29.7 147 29.7 22.2 0 44.4-2 66.2-5.9 33.5 18.9 71.3 29 110 29 59.7 0 115.9-23.2 158.1-65.5 42.3-42.2 65.5-98.4 65.5-158.1.1-38-9.7-75.5-28.2-108.7zm-370 162.9c-134.2 0-194.2-66-194.2-115.4 0-25.4 18.7-43.1 44.5-43.1 57.4 0 42.6 82.5 149.7 82.5 54.9 0 85.2-29.8 85.2-60.3 0-18.3-9-38.7-45.2-47.6l-119.4-29.8c-96.1-24.1-113.6-76.1-113.6-124.9 0-101.4 95.5-139.5 185.2-139.5 82.6 0 180 45.7 180 106.5 0 26.1-22.6 41.2-48.4 41.2-49 0-40-67.8-138.7-67.8-49 0-76.1 22.2-76.1 53.9s38.7 41.8 72.3 49.5l88.4 19.6c96.8 21.6 121.3 78.1 121.3 131.3 0 82.3-63.3 143.9-191 143.9z\"},\"child\":[]}]})(props);\n};\nexport function AiFillSlackCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zM361.5 580.2c0 27.8-22.5 50.4-50.3 50.4-13.3 0-26.1-5.3-35.6-14.8-9.4-9.5-14.7-22.3-14.7-35.6 0-27.8 22.5-50.4 50.3-50.4h50.3v50.4zm134 134.4c0 27.8-22.5 50.4-50.3 50.4-27.8 0-50.3-22.6-50.3-50.4V580.2c0-27.8 22.5-50.4 50.3-50.4 13.3 0 26.1 5.3 35.6 14.8s14.7 22.3 14.7 35.6v134.4zm-50.2-218.4h-134c-27.8 0-50.3-22.6-50.3-50.4 0-27.8 22.5-50.4 50.3-50.4h134c27.8 0 50.3 22.6 50.3 50.4-.1 27.9-22.6 50.4-50.3 50.4zm0-134.4c-13.3 0-26.1-5.3-35.6-14.8S395 324.8 395 311.4c0-27.8 22.5-50.4 50.3-50.4 27.8 0 50.3 22.6 50.3 50.4v50.4h-50.3zm83.7-50.4c0-27.8 22.5-50.4 50.3-50.4 27.8 0 50.3 22.6 50.3 50.4v134.4c0 27.8-22.5 50.4-50.3 50.4-27.8 0-50.3-22.6-50.3-50.4V311.4zM579.3 765c-27.8 0-50.3-22.6-50.3-50.4v-50.4h50.3c27.8 0 50.3 22.6 50.3 50.4 0 27.8-22.5 50.4-50.3 50.4zm134-134.4h-134c-13.3 0-26.1-5.3-35.6-14.8S529 593.6 529 580.2c0-27.8 22.5-50.4 50.3-50.4h134c27.8 0 50.3 22.6 50.3 50.4 0 27.8-22.5 50.4-50.3 50.4zm0-134.4H663v-50.4c0-27.8 22.5-50.4 50.3-50.4s50.3 22.6 50.3 50.4c0 27.8-22.5 50.4-50.3 50.4z\"},\"child\":[]}]})(props);\n};\nexport function AiFillSlackSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM529 311.4c0-27.8 22.5-50.4 50.3-50.4 27.8 0 50.3 22.6 50.3 50.4v134.4c0 27.8-22.5 50.4-50.3 50.4-27.8 0-50.3-22.6-50.3-50.4V311.4zM361.5 580.2c0 27.8-22.5 50.4-50.3 50.4-13.3 0-26.1-5.3-35.6-14.8-9.4-9.5-14.7-22.3-14.7-35.6 0-27.8 22.5-50.4 50.3-50.4h50.3v50.4zm134 134.4c0 27.8-22.5 50.4-50.3 50.4-27.8 0-50.3-22.6-50.3-50.4V580.2c0-27.8 22.5-50.4 50.3-50.4 13.3 0 26.1 5.3 35.6 14.8s14.7 22.3 14.7 35.6v134.4zm-50.2-218.4h-134c-27.8 0-50.3-22.6-50.3-50.4 0-27.8 22.5-50.4 50.3-50.4h134c27.8 0 50.3 22.6 50.3 50.4-.1 27.9-22.6 50.4-50.3 50.4zm0-134.4c-13.3 0-26.1-5.3-35.6-14.8S395 324.8 395 311.4c0-27.8 22.5-50.4 50.3-50.4 27.8 0 50.3 22.6 50.3 50.4v50.4h-50.3zm134 403.2c-27.8 0-50.3-22.6-50.3-50.4v-50.4h50.3c27.8 0 50.3 22.6 50.3 50.4 0 27.8-22.5 50.4-50.3 50.4zm134-134.4h-134c-13.3 0-26.1-5.3-35.6-14.8-9.4-9.5-14.7-22.3-14.7-35.6 0-27.8 22.5-50.4 50.3-50.4h134c27.8 0 50.3 22.6 50.3 50.4 0 27.8-22.5 50.4-50.3 50.4zm0-134.4H663v-50.4c0-27.8 22.5-50.4 50.3-50.4s50.3 22.6 50.3 50.4c0 27.8-22.5 50.4-50.3 50.4z\"},\"child\":[]}]})(props);\n};\nexport function AiFillSliders (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M904 296h-66v-96c0-4.4-3.6-8-8-8h-52c-4.4 0-8 3.6-8 8v96h-66c-4.4 0-8 3.6-8 8v416c0 4.4 3.6 8 8 8h66v96c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8v-96h66c4.4 0 8-3.6 8-8V304c0-4.4-3.6-8-8-8zm-584-72h-66v-56c0-4.4-3.6-8-8-8h-52c-4.4 0-8 3.6-8 8v56h-66c-4.4 0-8 3.6-8 8v560c0 4.4 3.6 8 8 8h66v56c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8v-56h66c4.4 0 8-3.6 8-8V232c0-4.4-3.6-8-8-8zm292 180h-66V232c0-4.4-3.6-8-8-8h-52c-4.4 0-8 3.6-8 8v172h-66c-4.4 0-8 3.6-8 8v200c0 4.4 3.6 8 8 8h66v172c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8V620h66c4.4 0 8-3.6 8-8V412c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiFillSmile (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zM288 421a48.01 48.01 0 0 1 96 0 48.01 48.01 0 0 1-96 0zm224 272c-85.5 0-155.6-67.3-160-151.6a8 8 0 0 1 8-8.4h48.1c4.2 0 7.8 3.2 8.1 7.4C420 589.9 461.5 629 512 629s92.1-39.1 95.8-88.6c.3-4.2 3.9-7.4 8.1-7.4H664a8 8 0 0 1 8 8.4C667.6 625.7 597.5 693 512 693zm176-224a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z\"},\"child\":[]}]})(props);\n};\nexport function AiFillSnippets (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M832 112H724V72c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v40H500V72c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v40H320c-17.7 0-32 14.3-32 32v120h-96c-17.7 0-32 14.3-32 32v632c0 17.7 14.3 32 32 32h512c17.7 0 32-14.3 32-32v-96h96c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM664 486H514V336h.2L664 485.8v.2zm128 274h-56V456L544 264H360v-80h68v32c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-32h152v32c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-32h68v576z\"},\"child\":[]}]})(props);\n};\nexport function AiFillSound (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M892.1 737.8l-110.3-63.7a15.9 15.9 0 0 0-21.7 5.9l-19.9 34.5c-4.4 7.6-1.8 17.4 5.8 21.8L856.3 800a15.9 15.9 0 0 0 21.7-5.9l19.9-34.5c4.4-7.6 1.7-17.4-5.8-21.8zM760 344a15.9 15.9 0 0 0 21.7 5.9L892 286.2c7.6-4.4 10.2-14.2 5.8-21.8L878 230a15.9 15.9 0 0 0-21.7-5.9L746 287.8a15.99 15.99 0 0 0-5.8 21.8L760 344zm174 132H806c-8.8 0-16 7.2-16 16v40c0 8.8 7.2 16 16 16h128c8.8 0 16-7.2 16-16v-40c0-8.8-7.2-16-16-16zM625.9 115c-5.9 0-11.9 1.6-17.4 5.3L254 352H90c-8.8 0-16 7.2-16 16v288c0 8.8 7.2 16 16 16h164l354.5 231.7c5.5 3.6 11.6 5.3 17.4 5.3 16.7 0 32.1-13.3 32.1-32.1V147.1c0-18.8-15.4-32.1-32.1-32.1z\"},\"child\":[]}]})(props);\n};\nexport function AiFillSpotify (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M657.417 631.167c0-12.445-5.834-22.361-17.5-29.75-75.056-44.723-161.973-67.084-260.75-67.084-51.723 0-107.528 6.611-167.417 19.834-16.333 3.5-24.5 13.61-24.5 30.333 0 7.778 2.625 14.486 7.875 20.125 5.25 5.639 12.153 8.458 20.708 8.458 1.945 0 9.14-1.555 21.584-4.666 51.333-10.5 98.583-15.75 141.75-15.75 87.889 0 165.083 20.027 231.583 60.083 7.389 4.278 13.806 6.417 19.25 6.417 7.389 0 13.806-2.625 19.25-7.875 5.444-5.25 8.167-11.959 8.167-20.125m56-125.417c0-15.556-6.806-27.417-20.417-35.583-92.167-54.834-198.722-82.25-319.667-82.25-59.5 0-118.416 8.166-176.75 24.5-18.666 5.055-28 17.5-28 37.333 0 9.722 3.403 17.986 10.209 24.792 6.805 6.805 15.07 10.208 24.791 10.208 2.723 0 9.917-1.556 21.584-4.667 47.444-12.833 96.25-19.25 146.416-19.25 108.5 0 203.39 24.111 284.667 72.334 9.333 5.055 16.722 7.583 22.167 7.583 9.722 0 17.986-3.403 24.791-10.208 6.806-6.806 10.209-15.07 10.209-24.792m63-144.667c0-18.277-7.778-31.889-23.334-40.833-49-28.389-105.972-49.875-170.916-64.458-64.945-14.584-131.64-21.875-200.084-21.875-79.333 0-150.11 9.139-212.333 27.416-8.944 2.723-16.43 7.68-22.458 14.875-6.028 7.195-9.042 16.625-9.042 28.292 0 12.056 3.986 22.167 11.958 30.333 7.973 8.167 17.986 12.25 30.042 12.25 4.278 0 12.056-1.555 23.333-4.666 51.723-14.39 111.417-21.584 179.084-21.584 61.833 0 122.014 6.611 180.541 19.834 58.528 13.222 107.82 31.694 147.875 55.416 8.167 4.667 15.945 7 23.334 7 11.277 0 21.097-3.986 29.458-11.958 8.361-7.972 12.542-17.986 12.542-30.042M896 448c0 81.278-20.028 156.236-60.083 224.875-40.056 68.639-94.403 122.986-163.042 163.042C604.236 875.972 529.278 896 448 896c-81.278 0-156.236-20.028-224.875-60.083-68.639-40.056-122.986-94.403-163.042-163.042C20.028 604.236 0 529.278 0 448c0-81.278 20.028-156.236 60.083-224.875 40.056-68.639 94.403-122.986 163.042-163.042C291.764 20.028 366.722 0 448 0c81.278 0 156.236 20.028 224.875 60.083 68.639 40.056 122.986 94.403 163.042 163.042C875.972 291.764 896 366.722 896 448\",\"transform\":\"translate(64 64)\"},\"child\":[]}]})(props);\n};\nexport function AiFillStar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M908.1 353.1l-253.9-36.9L540.7 86.1c-3.1-6.3-8.2-11.4-14.5-14.5-15.8-7.8-35-1.3-42.9 14.5L369.8 316.2l-253.9 36.9c-7 1-13.4 4.3-18.3 9.3a32.05 32.05 0 0 0 .6 45.3l183.7 179.1-43.4 252.9a31.95 31.95 0 0 0 46.4 33.7L512 754l227.1 119.4c6.2 3.3 13.4 4.4 20.3 3.2 17.4-3 29.1-19.5 26.1-36.9l-43.4-252.9 183.7-179.1c5-4.9 8.3-11.3 9.3-18.3 2.7-17.5-9.5-33.7-27-36.3z\"},\"child\":[]}]})(props);\n};\nexport function AiFillStepBackward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M347.6 528.95l383.2 301.02c14.25 11.2 35.2 1.1 35.2-16.95V210.97c0-18.05-20.95-28.14-35.2-16.94L347.6 495.05a21.53 21.53 0 0 0 0 33.9M330 864h-64a8 8 0 0 1-8-8V168a8 8 0 0 1 8-8h64a8 8 0 0 1 8 8v688a8 8 0 0 1-8 8\"},\"child\":[]}]})(props);\n};\nexport function AiFillStepForward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M676.4 528.95L293.2 829.97c-14.25 11.2-35.2 1.1-35.2-16.95V210.97c0-18.05 20.95-28.14 35.2-16.94l383.2 301.02a21.53 21.53 0 0 1 0 33.9M694 864h64a8 8 0 0 0 8-8V168a8 8 0 0 0-8-8h-64a8 8 0 0 0-8 8v688a8 8 0 0 0 8 8\"},\"child\":[]}]})(props);\n};\nexport function AiFillStop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm234.8 736.5L223.5 277.2c16-19.7 34-37.7 53.7-53.7l523.3 523.3c-16 19.6-34 37.7-53.7 53.7z\"},\"child\":[]}]})(props);\n};\nexport function AiFillSun (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M548 818v126c0 8.837-7.163 16-16 16h-40c-8.837 0-16-7.163-16-16V818c15.845 1.643 27.845 2.464 36 2.464 8.155 0 20.155-.821 36-2.464m205.251-115.66 89.096 89.095c6.248 6.248 6.248 16.38 0 22.627l-28.285 28.285c-6.248 6.248-16.379 6.248-22.627 0L702.34 753.25c12.365-10.043 21.431-17.947 27.198-23.713 5.766-5.767 13.67-14.833 23.713-27.198m-482.502 0c10.043 12.365 17.947 21.431 23.713 27.198 5.767 5.766 14.833 13.67 27.198 23.713l-89.095 89.096c-6.248 6.248-16.38 6.248-22.627 0l-28.285-28.285c-6.248-6.248-6.248-16.379 0-22.627zM512 278c129.235 0 234 104.765 234 234S641.235 746 512 746 278 641.235 278 512s104.765-234 234-234M206 476c-1.643 15.845-2.464 27.845-2.464 36 0 8.155.821 20.155 2.464 36H80c-8.837 0-16-7.163-16-16v-40c0-8.837 7.163-16 16-16zm738 0c8.837 0 16 7.163 16 16v40c0 8.837-7.163 16-16 16H818c1.643-15.845 2.464-27.845 2.464-36 0-8.155-.821-20.155-2.464-36ZM814.062 180.653l28.285 28.285c6.248 6.248 6.248 16.379 0 22.627L753.25 320.66c-10.043-12.365-17.947-21.431-23.713-27.198-5.767-5.766-14.833-13.67-27.198-23.713l89.095-89.096c6.248-6.248 16.38-6.248 22.627 0m-581.497 0 89.095 89.096c-12.365 10.043-21.431 17.947-27.198 23.713-5.766 5.767-13.67 14.833-23.713 27.198l-89.096-89.095c-6.248-6.248-6.248-16.38 0-22.627l28.285-28.285c6.248-6.248 16.379-6.248 22.627 0M532 64c8.837 0 16 7.163 16 16v126c-15.845-1.643-27.845-2.464-36-2.464-8.155 0-20.155.821-36 2.464V80c0-8.837 7.163-16 16-16z\"},\"child\":[]}]})(props);\n};\nexport function AiFillSwitcher (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M752 240H144c-17.7 0-32 14.3-32 32v608c0 17.7 14.3 32 32 32h608c17.7 0 32-14.3 32-32V272c0-17.7-14.3-32-32-32zM596 606c0 4.4-3.6 8-8 8H308c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h280c4.4 0 8 3.6 8 8v48zm284-494H264c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h576v576c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V144c0-17.7-14.3-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function AiFillTablet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M800 64H224c-35.3 0-64 28.7-64 64v768c0 35.3 28.7 64 64 64h576c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64zM512 824c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40z\"},\"child\":[]}]})(props);\n};\nexport function AiFillTag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M938 458.8l-29.6-312.6c-1.5-16.2-14.4-29-30.6-30.6L565.2 86h-.4c-3.2 0-5.7 1-7.6 2.9L88.9 557.2a9.96 9.96 0 0 0 0 14.1l363.8 363.8c1.9 1.9 4.4 2.9 7.1 2.9s5.2-1 7.1-2.9l468.3-468.3c2-2.1 3-5 2.8-8zM699 387c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64z\"},\"child\":[]}]})(props);\n};\nexport function AiFillTags (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M483.2 790.3L861.4 412c1.7-1.7 2.5-4 2.3-6.3l-25.5-301.4c-.7-7.8-6.8-13.9-14.6-14.6L522.2 64.3c-2.3-.2-4.7.6-6.3 2.3L137.7 444.8a8.03 8.03 0 0 0 0 11.3l334.2 334.2c3.1 3.2 8.2 3.2 11.3 0zm122.7-533.4c18.7-18.7 49.1-18.7 67.9 0 18.7 18.7 18.7 49.1 0 67.9-18.7 18.7-49.1 18.7-67.9 0-18.7-18.7-18.7-49.1 0-67.9zm283.8 282.9l-39.6-39.5a8.03 8.03 0 0 0-11.3 0l-362 361.3-237.6-237a8.03 8.03 0 0 0-11.3 0l-39.6 39.5a8.03 8.03 0 0 0 0 11.3l243.2 242.8 39.6 39.5c3.1 3.1 8.2 3.1 11.3 0l407.3-406.6c3.1-3.1 3.1-8.2 0-11.3z\"},\"child\":[]}]})(props);\n};\nexport function AiFillTaobaoCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zM315.7 291.5c27.3 0 49.5 22.1 49.5 49.4s-22.1 49.4-49.5 49.4a49.4 49.4 0 1 1 0-98.8zM366.9 578c-13.6 42.3-10.2 26.7-64.4 144.5l-78.5-49s87.7-79.8 105.6-116.2c19.2-38.4-21.1-58.9-21.1-58.9l-60.2-37.5 32.7-50.2c45.4 33.7 48.7 36.6 79.2 67.2 23.8 23.9 20.7 56.8 6.7 100.1zm427.2 55c-15.3 143.8-202.4 90.3-202.4 90.3l10.2-41.1 43.3 9.3c80 5 72.3-64.9 72.3-64.9V423c.6-77.3-72.6-85.4-204.2-38.3l30.6 8.3c-2.5 9-12.5 23.2-25.2 38.6h176v35.6h-99.1v44.5h98.7v35.7h-98.7V622c14.9-4.8 28.6-11.5 40.5-20.5l-8.7-32.5 46.5-14.4 38.8 94.9-57.3 23.9-10.2-37.8c-25.6 19.5-78.8 48-171.8 45.4-99.2 2.6-73.7-112-73.7-112l2.5-1.3H472c-.5 14.7-6.6 38.7 1.7 51.8 6.8 10.8 24.2 12.6 35.3 13.1 1.3.1 2.6.1 3.9.1v-85.3h-101v-35.7h101v-44.5H487c-22.7 24.1-43.5 44.1-43.5 44.1l-30.6-26.7c21.7-22.9 43.3-59.1 56.8-83.2-10.9 4.4-22 9.2-33.6 14.2-11.2 14.3-24.2 29-38.7 43.5.5.8-50-28.4-50-28.4 52.2-44.4 81.4-139.9 81.4-139.9l72.5 20.4s-5.9 14-18.4 35.6c290.3-82.3 307.4 50.5 307.4 50.5s19.1 91.8 3.8 235.7z\"},\"child\":[]}]})(props);\n};\nexport function AiFillTaobaoSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM315.7 291.5c27.3 0 49.5 22.1 49.5 49.4s-22.1 49.4-49.5 49.4a49.4 49.4 0 1 1 0-98.8zM366.9 578c-13.6 42.3-10.2 26.7-64.4 144.5l-78.5-49s87.7-79.8 105.6-116.2c19.2-38.4-21.1-58.9-21.1-58.9l-60.2-37.5 32.7-50.2c45.4 33.7 48.7 36.6 79.2 67.2 23.8 23.9 20.7 56.8 6.7 100.1zm427.2 55c-15.3 143.8-202.4 90.3-202.4 90.3l10.2-41.1 43.3 9.3c80 5 72.3-64.9 72.3-64.9V423c.6-77.3-72.6-85.4-204.2-38.3l30.6 8.3c-2.5 9-12.5 23.2-25.2 38.6h176v35.6h-99.1v44.5h98.7v35.7h-98.7V622c14.9-4.8 28.6-11.5 40.5-20.5l-8.7-32.5 46.5-14.4 38.8 94.9-57.3 23.9-10.2-37.8c-25.6 19.5-78.8 48-171.8 45.4-99.2 2.6-73.7-112-73.7-112l2.5-1.3H472c-.5 14.7-6.6 38.7 1.7 51.8 6.8 10.8 24.2 12.6 35.3 13.1 1.3.1 2.6.1 3.9.1v-85.3h-101v-35.7h101v-44.5H487c-22.7 24.1-43.5 44.1-43.5 44.1l-30.6-26.7c21.7-22.9 43.3-59.1 56.8-83.2-10.9 4.4-22 9.2-33.6 14.2-11.2 14.3-24.2 29-38.7 43.5.5.8-50-28.4-50-28.4 52.2-44.4 81.4-139.9 81.4-139.9l72.5 20.4s-5.9 14-18.4 35.6c290.3-82.3 307.4 50.5 307.4 50.5s19.1 91.8 3.8 235.7z\"},\"child\":[]}]})(props);\n};\nexport function AiFillThunderbolt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M848 359.3H627.7L825.8 109c4.1-5.3.4-13-6.3-13H436c-2.8 0-5.5 1.5-6.9 4L170 547.5c-3.1 5.3.7 12 6.9 12h174.4l-89.4 357.6c-1.9 7.8 7.5 13.3 13.3 7.7L853.5 373c5.2-4.9 1.7-13.7-5.5-13.7z\"},\"child\":[]}]})(props);\n};\nexport function AiFillTikTok (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M800 112.962C800 50.575 749.425 0 687.038 0H112.962C50.575 0 0 50.575 0 112.962v574.076C0 749.426 50.575 800 112.962 800h574.076C749.425 800 800 749.426 800 687.038zM662.759 348.916c-51.615.577-99.71-15.027-141.938-43.927v202.874c0 90.166-61.72 167.62-148.996 187.848-119.068 27.165-219.864-58.954-232.577-161.835-13.294-102.884 52.322-193.051 152.892-213.281 19.651-4.045 49.209-4.045 64.458-.577v108.661c-4.692-1.153-9.086-2.31-13.709-2.888-39.304-6.937-77.371 12.715-92.977 48.55-15.605 35.838-5.16 77.451 26.629 101.73 26.586 20.806 56.085 23.694 86.14 9.822 30.057-13.291 46.21-37.567 49.676-70.512.578-4.622.546-9.826.546-15.028V110.206c0-10.981.086-10.502 11.068-10.502h86.12c6.36 0 8.673.915 9.25 8.433 4.621 67.047 55.526 124.147 120.838 132.818 6.937 1.155 14.369 1.613 22.58 2.19z\",\"transform\":\"translate(112 112)\"},\"child\":[]}]})(props);\n};\nexport function AiFillTool (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M865.3 244.7c-.3-.3-61.1 59.8-182.1 180.6l-84.9-84.9 180.9-180.9c-95.2-57.3-217.5-42.6-296.8 36.7A244.42 244.42 0 0 0 419 432l1.8 6.7-283.5 283.4c-6.2 6.2-6.2 16.4 0 22.6l141.4 141.4c6.2 6.2 16.4 6.2 22.6 0l283.3-283.3 6.7 1.8c83.7 22.3 173.6-.9 236-63.3 79.4-79.3 94.1-201.6 38-296.6z\"},\"child\":[]}]})(props);\n};\nexport function AiFillTrademarkCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm164.7 660.2c-1.1.5-2.3.8-3.5.8h-62c-3.1 0-5.9-1.8-7.2-4.6l-74.6-159.2h-88.7V717c0 4.4-3.6 8-8 8H378c-4.4 0-8-3.6-8-8V307c0-4.4 3.6-8 8-8h155.6c98.8 0 144.2 59.9 144.2 131.1 0 70.2-43.6 106.4-78.4 119.2l80.8 164.2c2.1 3.9.4 8.7-3.5 10.7zM523.9 357h-83.4v148H522c53 0 82.8-25.6 82.8-72.4 0-50.3-32.9-75.6-80.9-75.6z\"},\"child\":[]}]})(props);\n};\nexport function AiFillTrophy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M868 160h-92v-40c0-4.4-3.6-8-8-8H256c-4.4 0-8 3.6-8 8v40h-92a44 44 0 0 0-44 44v148c0 81.7 60 149.6 138.2 162C265.6 630.2 359 721.8 476 734.5v105.2H280c-17.7 0-32 14.3-32 32V904c0 4.4 3.6 8 8 8h512c4.4 0 8-3.6 8-8v-32.3c0-17.7-14.3-32-32-32H548V734.5C665 721.8 758.4 630.2 773.8 514 852 501.6 912 433.7 912 352V204a44 44 0 0 0-44-44zM248 439.6c-37.1-11.9-64-46.7-64-87.6V232h64v207.6zM840 352c0 41-26.9 75.8-64 87.6V232h64v120z\"},\"child\":[]}]})(props);\n};\nexport function AiFillTruck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M608 192c17.673 0 32 14.327 32 32v160h174.815a32 32 0 0 1 26.676 14.327l113.186 170.846A32 32 0 0 1 960 586.846V672c0 17.673-14.327 32-32 32h-96c0 70.692-57.308 128-128 128-70.692 0-128-57.308-128-128H384c0 70.692-57.308 128-128 128-70.692 0-128-57.308-128-128H96c-17.673 0-32-14.327-32-32V224c0-17.673 14.327-32 32-32zM256 640c-35.346 0-64 28.654-64 64 0 35.346 28.654 64 64 64l1.058-.009C291.916 767.426 320 738.993 320 704c0-35.346-28.654-64-64-64m448 0c-35.346 0-64 28.654-64 64 0 35.346 28.654 64 64 64l1.058-.009C739.916 767.426 768 738.993 768 704c0-35.346-28.654-64-64-64m93.629-192H640v145.124C658.829 582.234 680.687 576 704 576c47.378 0 88.745 25.741 110.876 64H896v-43.516zM500 448H332c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h168c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12M308 320H204c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h104c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12\"},\"child\":[]}]})(props);\n};\nexport function AiFillTwitch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1042 1042\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[{\"tag\":\"filter\",\"attr\":{\"id\":\"a\",\"width\":\"102.3%\",\"height\":\"102.3%\",\"x\":\"-1.2%\",\"y\":\"-1.2%\",\"filterUnits\":\"objectBoundingBox\"},\"child\":[{\"tag\":\"feOffset\",\"attr\":{\"dy\":\"2\",\"in\":\"SourceAlpha\",\"result\":\"shadowOffsetOuter1\"},\"child\":[]},{\"tag\":\"feGaussianBlur\",\"attr\":{\"in\":\"shadowOffsetOuter1\",\"result\":\"shadowBlurOuter1\",\"stdDeviation\":\"2\"},\"child\":[]},{\"tag\":\"feColorMatrix\",\"attr\":{\"in\":\"shadowBlurOuter1\",\"result\":\"shadowMatrixOuter1\",\"values\":\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.5 0\"},\"child\":[]},{\"tag\":\"feMerge\",\"attr\":{},\"child\":[{\"tag\":\"feMergeNode\",\"attr\":{\"in\":\"shadowMatrixOuter1\"},\"child\":[]},{\"tag\":\"feMergeNode\",\"attr\":{\"in\":\"SourceGraphic\"},\"child\":[]}]}]}]},{\"tag\":\"g\",\"attr\":{\"filter\":\"url(#a)\",\"transform\":\"translate(9 9)\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M57.143 0 0 142.857v542.857h171.429V800h114.285L400 685.714h142.857l200-200V0zm314.286 428.571h-85.715V198.214h85.715zm200 0h-85.715V198.214h85.715z\",\"transform\":\"translate(128 112)\"},\"child\":[]}]}]})(props);\n};\nexport function AiFillTwitterCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm215.3 337.7c.3 4.7.3 9.6.3 14.4 0 146.8-111.8 315.9-316.1 315.9-63 0-121.4-18.3-170.6-49.8 9 1 17.6 1.4 26.8 1.4 52 0 99.8-17.6 137.9-47.4-48.8-1-89.8-33-103.8-77 17.1 2.5 32.5 2.5 50.1-2a111 111 0 0 1-88.9-109v-1.4c14.7 8.3 32 13.4 50.1 14.1a111.13 111.13 0 0 1-49.5-92.4c0-20.7 5.4-39.6 15.1-56a315.28 315.28 0 0 0 229 116.1C492 353.1 548.4 292 616.2 292c32 0 60.8 13.4 81.1 35 25.1-4.7 49.1-14.1 70.5-26.7-8.3 25.7-25.7 47.4-48.8 61.1 22.4-2.4 44-8.6 64-17.3-15.1 22.2-34 41.9-55.7 57.6z\"},\"child\":[]}]})(props);\n};\nexport function AiFillTwitterSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM727.3 401.7c.3 4.7.3 9.6.3 14.4 0 146.8-111.8 315.9-316.1 315.9-63 0-121.4-18.3-170.6-49.8 9 1 17.6 1.4 26.8 1.4 52 0 99.8-17.6 137.9-47.4-48.8-1-89.8-33-103.8-77 17.1 2.5 32.5 2.5 50.1-2a111 111 0 0 1-88.9-109v-1.4c14.7 8.3 32 13.4 50.1 14.1a111.13 111.13 0 0 1-49.5-92.4c0-20.7 5.4-39.6 15.1-56a315.28 315.28 0 0 0 229 116.1C492 353.1 548.4 292 616.2 292c32 0 60.8 13.4 81.1 35 25.1-4.7 49.1-14.1 70.5-26.7-8.3 25.7-25.7 47.4-48.8 61.1 22.4-2.4 44-8.6 64-17.3-15.1 22.2-34 41.9-55.7 57.6z\"},\"child\":[]}]})(props);\n};\nexport function AiFillUnlock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M832 464H332V240c0-30.9 25.1-56 56-56h248c30.9 0 56 25.1 56 56v68c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-68c0-70.7-57.3-128-128-128H388c-70.7 0-128 57.3-128 128v224h-68c-17.7 0-32 14.3-32 32v384c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V496c0-17.7-14.3-32-32-32zM540 701v53c0 4.4-3.6 8-8 8h-40c-4.4 0-8-3.6-8-8v-53a48.01 48.01 0 1 1 56 0z\"},\"child\":[]}]})(props);\n};\nexport function AiFillUpCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm178 555h-46.9c-10.2 0-19.9-4.9-25.9-13.2L512 460.4 406.8 605.8c-6 8.3-15.6 13.2-25.9 13.2H334c-6.5 0-10.3-7.4-6.5-12.7l178-246c3.2-4.4 9.7-4.4 12.9 0l178 246c3.9 5.3.1 12.7-6.4 12.7z\"},\"child\":[]}]})(props);\n};\nexport function AiFillUpSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM690 624h-46.9c-10.2 0-19.9-4.9-25.9-13.2L512 465.4 406.8 610.8c-6 8.3-15.6 13.2-25.9 13.2H334c-6.5 0-10.3-7.4-6.5-12.7l178-246c3.2-4.4 9.7-4.4 12.9 0l178 246c3.9 5.3.1 12.7-6.4 12.7z\"},\"child\":[]}]})(props);\n};\nexport function AiFillUsb (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M408 312h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm352 120V144c0-17.7-14.3-32-32-32H296c-17.7 0-32 14.3-32 32v288c-66.2 0-120 52.1-120 116v356c0 4.4 3.6 8 8 8h720c4.4 0 8-3.6 8-8V548c0-63.9-53.8-116-120-116zm-72 0H336V184h352v248zM568 312h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z\"},\"child\":[]}]})(props);\n};\nexport function AiFillVideoCamera (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M912 302.3L784 376V224c0-35.3-28.7-64-64-64H128c-35.3 0-64 28.7-64 64v576c0 35.3 28.7 64 64 64h592c35.3 0 64-28.7 64-64V648l128 73.7c21.3 12.3 48-3.1 48-27.6V330c0-24.6-26.7-40-48-27.7zM328 352c0 4.4-3.6 8-8 8H208c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h112c4.4 0 8 3.6 8 8v48zm560 273l-104-59.8V458.9L888 399v226z\"},\"child\":[]}]})(props);\n};\nexport function AiFillWallet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-32 464H528V448h320v128zm-268-64a40 40 0 1 0 80 0 40 40 0 1 0-80 0z\"},\"child\":[]}]})(props);\n};\nexport function AiFillWarning (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M955.7 856l-416-720c-6.2-10.7-16.9-16-27.7-16s-21.6 5.3-27.7 16l-416 720C56 877.4 71.4 904 96 904h832c24.6 0 40-26.6 27.7-48zM480 416c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v184c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V416zm32 352a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z\"},\"child\":[]}]})(props);\n};\nexport function AiFillWechatWork (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M693.333 0H106.667C47.756 0 0 47.756 0 106.667v586.666C0 752.244 47.756 800 106.667 800h586.666C752.244 800 800 752.244 800 693.333V106.667C800 47.756 752.244 0 693.333 0m-98.169 417.862a102.129 102.129 0 0 0 28.09 52.454l2.137 2.062c.409.275.796.573 1.156.902l.555.636.191.022a7.964 7.964 0 0 1-.969 10.818 7.964 7.964 0 0 1-10.853-.178c-1.102-1.05-2.142-2.142-3.24-3.24a102.489 102.489 0 0 0-53.818-28.356l-2.004-.275c-.658-.116-1.342-.387-1.978-.387-16.28-3.785-27.224-19.06-25.574-35.692 1.65-16.632 15.384-29.458 32.09-29.97 16.72-.5 31.213 11.487 33.857 28.004.165 1.085.36 2.156.36 3.2M382.062 571.684a276.782 276.782 0 0 1-61.706.165 267.307 267.307 0 0 1-44.663-8.605l-68.44 34.405c-.329.244-.769.431-1.15.711h-.276a18.289 18.289 0 0 1-27.516-15.902c.027-.587.093-1.17.191-1.742.134-1.97.6-3.898 1.378-5.712l2.747-11.155 9.564-39.56a277.573 277.573 0 0 1-49.253-54.671 185.987 185.987 0 0 1-31.827-103.516 182.422 182.422 0 0 1 19.076-81.044 203.982 203.982 0 0 1 37.19-52.316c38.916-39.938 93.259-65.52 153.094-72.035a278.247 278.247 0 0 1 30.182-1.64c10.498.03 20.987.649 31.414 1.866 59.586 6.783 113.653 32.476 152.266 72.36a202.96 202.96 0 0 1 37 52.476 182.298 182.298 0 0 1 18.17 94.675c-.52-.577-1.019-1.208-1.57-1.76-10.873-10.836-27.75-12.823-40.844-4.808.222-2.254.222-4.538.222-6.783a143.644 143.644 0 0 0-14.76-63.382 164.071 164.071 0 0 0-29.684-42.147c-31.774-32.768-76.467-53.955-125.885-59.55a234.369 234.369 0 0 0-51.67-.143c-49.614 5.413-94.605 26.453-126.574 59.262a163.631 163.631 0 0 0-29.818 41.951 143.436 143.436 0 0 0-15.12 63.925 147.156 147.156 0 0 0 25.289 81.515 170.498 170.498 0 0 0 24.929 29.396 172.311 172.311 0 0 0 17.564 14.747 17.6 17.6 0 0 1 6.351 19.622l-6.489 24.667-1.866 7.146-1.622 6.45a2.849 2.849 0 0 0 2.777 2.88 3.987 3.987 0 0 0 1.925-.68l43.866-25.934 1.432-.774a23.2 23.2 0 0 1 18.248-1.84c11.09 3.23 22.41 5.61 33.863 7.12l5.222.685a227.257 227.257 0 0 0 51.671-.138 226.578 226.578 0 0 0 42.747-9.067c-1.498 15.476 7.943 29.919 22.72 34.756a269.267 269.267 0 0 1-60.365 14.124m89.071-24.875a33.333 33.333 0 0 1-33.764-18.747 33.316 33.316 0 0 1 6.644-38.03 33.156 33.156 0 0 1 18.254-9.312c1.07-.142 2.19-.36 3.24-.36a102.373 102.373 0 0 0 52.475-28.053l2.2-2.33a10.21 10.21 0 0 1 1.57-1.68v-.026a7.969 7.969 0 1 1 10.64 11.809l-3.245 3.24a102.44 102.44 0 0 0-28.56 53.738c-.085.635-.276 1.35-.276 2.009l-.387 2.004a33.293 33.293 0 0 1-28.79 25.738m94.431 93.867c-16.405 2.02-31.809-8.303-36.177-24.245a28.009 28.009 0 0 1-1.098-6.729 102.4 102.4 0 0 0-28.147-52.39l-2.31-2.25a7.191 7.191 0 0 1-1.103-.91l-.542-.6h-.031v.057a7.964 7.964 0 0 1 .964-10.818 7.956 7.956 0 0 1 10.849.178l3.222 3.24a102.289 102.289 0 0 0 53.791 28.355l2.005.272a33.271 33.271 0 1 1-1.423 65.84m113.672-103.338a32.836 32.836 0 0 1-18.276 9.315 26.364 26.364 0 0 1-3.24.36 102.32 102.32 0 0 0-52.444 28.103 49.566 49.566 0 0 0-3.138 3.408l-.68.552h.022l.084.053a7.938 7.938 0 1 1-10.604-11.809l3.24-3.24a102.053 102.053 0 0 0 28.364-53.707 33.262 33.262 0 1 1 62.405-12.093 33.213 33.213 0 0 1-5.733 39.058\",\"transform\":\"translate(112 112)\"},\"child\":[]}]})(props);\n};\nexport function AiFillWechat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M690.1 377.4c5.9 0 11.8.2 17.6.5-24.4-128.7-158.3-227.1-319.9-227.1C209 150.8 64 271.4 64 420.2c0 81.1 43.6 154.2 111.9 203.6a21.5 21.5 0 0 1 9.1 17.6c0 2.4-.5 4.6-1.1 6.9-5.5 20.3-14.2 52.8-14.6 54.3-.7 2.6-1.7 5.2-1.7 7.9 0 5.9 4.8 10.8 10.8 10.8 2.3 0 4.2-.9 6.2-2l70.9-40.9c5.3-3.1 11-5 17.2-5 3.2 0 6.4.5 9.5 1.4 33.1 9.5 68.8 14.8 105.7 14.8 6 0 11.9-.1 17.8-.4-7.1-21-10.9-43.1-10.9-66 0-135.8 132.2-245.8 295.3-245.8zm-194.3-86.5c23.8 0 43.2 19.3 43.2 43.1s-19.3 43.1-43.2 43.1c-23.8 0-43.2-19.3-43.2-43.1s19.4-43.1 43.2-43.1zm-215.9 86.2c-23.8 0-43.2-19.3-43.2-43.1s19.3-43.1 43.2-43.1 43.2 19.3 43.2 43.1-19.4 43.1-43.2 43.1zm586.8 415.6c56.9-41.2 93.2-102 93.2-169.7 0-124-120.8-224.5-269.9-224.5-149 0-269.9 100.5-269.9 224.5S540.9 847.5 690 847.5c30.8 0 60.6-4.4 88.1-12.3 2.6-.8 5.2-1.2 7.9-1.2 5.2 0 9.9 1.6 14.3 4.1l59.1 34c1.7 1 3.3 1.7 5.2 1.7a9 9 0 0 0 6.4-2.6 9 9 0 0 0 2.6-6.4c0-2.2-.9-4.4-1.4-6.6-.3-1.2-7.6-28.3-12.2-45.3-.5-1.9-.9-3.8-.9-5.7.1-5.9 3.1-11.2 7.6-14.5zM600.2 587.2c-19.9 0-36-16.1-36-35.9 0-19.8 16.1-35.9 36-35.9s36 16.1 36 35.9c0 19.8-16.2 35.9-36 35.9zm179.9 0c-19.9 0-36-16.1-36-35.9 0-19.8 16.1-35.9 36-35.9s36 16.1 36 35.9a36.08 36.08 0 0 1-36 35.9z\"},\"child\":[]}]})(props);\n};\nexport function AiFillWeiboCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-44.4 672C353.1 736 236 680.4 236 588.9c0-47.8 30.2-103.1 82.3-155.3 69.5-69.6 150.6-101.4 181.1-70.8 13.5 13.5 14.8 36.8 6.1 64.6-4.5 14 13.1 6.3 13.1 6.3 56.2-23.6 105.2-25 123.1.7 9.6 13.7 8.6 32.8-.2 55.1-4.1 10.2 1.3 11.8 9 14.1 31.7 9.8 66.9 33.6 66.9 75.5.2 69.5-99.7 156.9-249.8 156.9zm207.3-290.8a34.9 34.9 0 0 0-7.2-34.1 34.68 34.68 0 0 0-33.1-10.7 18.24 18.24 0 0 1-7.6-35.7c24.1-5.1 50.1 2.3 67.7 21.9 17.7 19.6 22.4 46.3 14.9 69.8a18.13 18.13 0 0 1-22.9 11.7 18.18 18.18 0 0 1-11.8-22.9zm106 34.3s0 .1 0 0a21.1 21.1 0 0 1-26.6 13.7 21.19 21.19 0 0 1-13.6-26.7c11-34.2 4-73.2-21.7-101.8a104.04 104.04 0 0 0-98.9-32.1 21.14 21.14 0 0 1-25.1-16.3 21.07 21.07 0 0 1 16.2-25.1c49.4-10.5 102.8 4.8 139.1 45.1 36.3 40.2 46.1 95.1 30.6 143.2zm-334.5 6.1c-91.4 9-160.7 65.1-154.7 125.2 5.9 60.1 84.8 101.5 176.2 92.5 91.4-9.1 160.7-65.1 154.7-125.3-5.9-60.1-84.8-101.5-176.2-92.4zm80.2 141.7c-18.7 42.3-72.3 64.8-117.8 50.1-43.9-14.2-62.5-57.7-43.3-96.8 18.9-38.4 68-60.1 111.5-48.8 45 11.7 68 54.2 49.6 95.5zm-93-32.2c-14.2-5.9-32.4.2-41.2 13.9-8.8 13.8-4.7 30.2 9.3 36.6 14.3 6.5 33.2.3 42-13.8 8.8-14.3 4.2-30.6-10.1-36.7zm34.9-14.5c-5.4-2.2-12.2.5-15.4 5.8-3.1 5.4-1.4 11.5 4.1 13.8 5.5 2.3 12.6-.3 15.8-5.8 3-5.6 1-11.8-4.5-13.8z\"},\"child\":[]}]})(props);\n};\nexport function AiFillWeiboSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M433.6 595.1c-14.2-5.9-32.4.2-41.2 13.9-8.8 13.8-4.7 30.2 9.3 36.6 14.3 6.5 33.2.3 42-13.8 8.8-14.3 4.2-30.6-10.1-36.7zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM467.6 736C353.1 736 236 680.4 236 588.9c0-47.8 30.2-103.1 82.3-155.3 69.5-69.6 150.6-101.4 181.1-70.8 13.5 13.5 14.8 36.8 6.1 64.6-4.5 14 13.1 6.3 13.1 6.3 56.2-23.6 105.2-25 123.1.7 9.6 13.7 8.6 32.8-.2 55.1-4.1 10.2 1.3 11.8 9 14.1 31.7 9.8 66.9 33.6 66.9 75.5.2 69.5-99.7 156.9-249.8 156.9zm207.3-290.8a34.9 34.9 0 0 0-7.2-34.1 34.68 34.68 0 0 0-33.1-10.7 18.24 18.24 0 0 1-7.6-35.7c24.1-5.1 50.1 2.3 67.7 21.9 17.7 19.6 22.4 46.3 14.9 69.8a18.13 18.13 0 0 1-22.9 11.7 18.18 18.18 0 0 1-11.8-22.9zm106 34.3s0 .1 0 0a21.1 21.1 0 0 1-26.6 13.7 21.19 21.19 0 0 1-13.6-26.7c11-34.2 4-73.2-21.7-101.8a104.04 104.04 0 0 0-98.9-32.1 21.14 21.14 0 0 1-25.1-16.3 21.07 21.07 0 0 1 16.2-25.1c49.4-10.5 102.8 4.8 139.1 45.1 36.3 40.2 46.1 95.1 30.6 143.2zm-334.5 6.1c-91.4 9-160.7 65.1-154.7 125.2 5.9 60.1 84.8 101.5 176.2 92.5 91.4-9.1 160.7-65.1 154.7-125.3-5.9-60.1-84.8-101.5-176.2-92.4zm80.2 141.7c-18.7 42.3-72.3 64.8-117.8 50.1-43.9-14.2-62.5-57.7-43.3-96.8 18.9-38.4 68-60.1 111.5-48.8 45 11.7 68 54.2 49.6 95.5zm-58.1-46.7c-5.4-2.2-12.2.5-15.4 5.8-3.1 5.4-1.4 11.5 4.1 13.8 5.5 2.3 12.6-.3 15.8-5.8 3-5.6 1-11.8-4.5-13.8z\"},\"child\":[]}]})(props);\n};\nexport function AiFillWindows (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M523.8 191.4v288.9h382V128.1zm0 642.2l382 62.2v-352h-382zM120.1 480.2H443V201.9l-322.9 53.5zm0 290.4L443 823.2V543.8H120.1z\"},\"child\":[]}]})(props);\n};\nexport function AiFillX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"g\",\"attr\":{\"fill\":\"none\",\"fillRule\":\"evenodd\",\"stroke\":\"none\",\"strokeWidth\":\"1\",\"transform\":\"translate(112 112)\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M711.111 800H88.89C39.8 800 0 760.2 0 711.111V88.89C0 39.8 39.8 0 88.889 0H711.11C760.2 0 800 39.8 800 88.889V711.11C800 760.2 760.2 800 711.111 800\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M628 623H484.942L174 179h143.058zm-126.012-37.651h56.96L300.013 216.65h-56.96z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M219.296885 623 379 437.732409 358.114212 410 174 623z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"nonzero\",\"d\":\"M409 348.387347 429.212986 377 603 177 558.330417 177z\"},\"child\":[]}]}]})(props);\n};\nexport function AiFillYahoo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M937.3 231H824.7c-15.5 0-27.7 12.6-27.1 28.1l13.1 366h84.4l65.4-366.4c2.7-15.2-7.8-27.7-23.2-27.7zm-77.4 450.4h-14.1c-27.1 0-49.2 22.2-49.2 49.3v14.1c0 27.1 22.2 49.3 49.2 49.3h14.1c27.1 0 49.2-22.2 49.2-49.3v-14.1c0-27.1-22.2-49.3-49.2-49.3zM402.6 231C216.2 231 65 357 65 512.5S216.2 794 402.6 794s337.6-126 337.6-281.5S589.1 231 402.6 231zm225.2 225.2h-65.3L458.9 559.8v65.3h84.4v56.3H318.2v-56.3h84.4v-65.3L242.9 399.9h-37v-56.3h168.5v56.3h-37l93.4 93.5 28.1-28.1V400h168.8v56.2z\"},\"child\":[]}]})(props);\n};\nexport function AiFillYoutube (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M941.3 296.1a112.3 112.3 0 0 0-79.2-79.3C792.2 198 512 198 512 198s-280.2 0-350.1 18.7A112.12 112.12 0 0 0 82.7 296C64 366 64 512 64 512s0 146 18.7 215.9c10.3 38.6 40.7 69 79.2 79.3C231.8 826 512 826 512 826s280.2 0 350.1-18.8c38.6-10.3 68.9-40.7 79.2-79.3C960 658 960 512 960 512s0-146-18.7-215.9zM423 646V378l232 133-232 135z\"},\"child\":[]}]})(props);\n};\nexport function AiFillYuque (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M854.6 370.6c-9.9-39.4 9.9-102.2 73.4-124.4l-67.9-3.6s-25.7-90-143.6-98c-117.9-8.1-195-3-195-3s87.4 55.6 52.4 154.7c-25.6 52.5-65.8 95.6-108.8 144.7-1.3 1.3-2.5 2.6-3.5 3.7C319.4 605 96 860 96 860c245.9 64.4 410.7-6.3 508.2-91.1 20.5-.2 35.9-.3 46.3-.3 135.8 0 250.6-117.6 245.9-248.4-3.2-89.9-31.9-110.2-41.8-149.6z\"},\"child\":[]}]})(props);\n};\nexport function AiFillZhihuCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-90.7 477.8l-.1 1.5c-1.5 20.4-6.3 43.9-12.9 67.6l24-18.1 71 80.7c9.2 33-3.3 63.1-3.3 63.1l-95.7-111.9v-.1c-8.9 29-20.1 57.3-33.3 84.7-22.6 45.7-55.2 54.7-89.5 57.7-34.4 3-23.3-5.3-23.3-5.3 68-55.5 78-87.8 96.8-123.1 11.9-22.3 20.4-64.3 25.3-96.8H264.1s4.8-31.2 19.2-41.7h101.6c.6-15.3-1.3-102.8-2-131.4h-49.4c-9.2 45-41 56.7-48.1 60.1-7 3.4-23.6 7.1-21.1 0 2.6-7.1 27-46.2 43.2-110.7 16.3-64.6 63.9-62 63.9-62-12.8 22.5-22.4 73.6-22.4 73.6h159.7c10.1 0 10.6 39 10.6 39h-90.8c-.7 22.7-2.8 83.8-5 131.4H519s12.2 15.4 12.2 41.7H421.3zm346.5 167h-87.6l-69.5 46.6-16.4-46.6h-40.1V321.5h213.6v387.3zM408.2 611s0-.1 0 0zm216 94.3l56.8-38.1h45.6-.1V364.7H596.7v302.5h14.1z\"},\"child\":[]}]})(props);\n};\nexport function AiFillZhihuSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM432.3 592.8l71 80.7c9.2 33-3.3 63.1-3.3 63.1l-95.7-111.9v-.1c-8.9 29-20.1 57.3-33.3 84.7-22.6 45.7-55.2 54.7-89.5 57.7-34.4 3-23.3-5.3-23.3-5.3 68-55.5 78-87.8 96.8-123.1 11.9-22.3 20.4-64.3 25.3-96.8H264.1s4.8-31.2 19.2-41.7h101.6c.6-15.3-1.3-102.8-2-131.4h-49.4c-9.2 45-41 56.7-48.1 60.1-7 3.4-23.6 7.1-21.1 0 2.6-7.1 27-46.2 43.2-110.7 16.3-64.6 63.9-62 63.9-62-12.8 22.5-22.4 73.6-22.4 73.6h159.7c10.1 0 10.6 39 10.6 39h-90.8c-.7 22.7-2.8 83.8-5 131.4H519s12.2 15.4 12.2 41.7h-110l-.1 1.5c-1.5 20.4-6.3 43.9-12.9 67.6l24.1-18.1zm335.5 116h-87.6l-69.5 46.6-16.4-46.6h-40.1V321.5h213.6v387.3zM408.2 611s0-.1 0 0zm216 94.3l56.8-38.1h45.6-.1V364.7H596.7v302.5h14.1z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineAccountBook (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v584zM639.5 414h-45c-3 0-5.8 1.7-7.1 4.4L514 563.8h-2.8l-73.4-145.4a8 8 0 0 0-7.1-4.4h-46c-1.3 0-2.7.3-3.8 1-3.9 2.1-5.3 7-3.2 10.9l89.3 164h-48.6c-4.4 0-8 3.6-8 8v21.3c0 4.4 3.6 8 8 8h65.1v33.7h-65.1c-4.4 0-8 3.6-8 8v21.3c0 4.4 3.6 8 8 8h65.1V752c0 4.4 3.6 8 8 8h41.3c4.4 0 8-3.6 8-8v-53.8h65.4c4.4 0 8-3.6 8-8v-21.3c0-4.4-3.6-8-8-8h-65.4v-33.7h65.4c4.4 0 8-3.6 8-8v-21.3c0-4.4-3.6-8-8-8h-49.1l89.3-164.1c.6-1.2 1-2.5 1-3.8.1-4.4-3.4-8-7.9-8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineAim (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"t\":\"1569683657482\",\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M952 474H829.8C812.5 327.6 696.4 211.5 550 194.2V72c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v122.2C327.6 211.5 211.5 327.6 194.2 474H72c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h122.2C211.5 696.4 327.6 812.5 474 829.8V952c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V829.8C696.4 812.5 812.5 696.4 829.8 550H952c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zM512 756c-134.8 0-244-109.2-244-244s109.2-244 244-244 244 109.2 244 244-109.2 244-244 244z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M512 392c-32.1 0-62.1 12.4-84.8 35.2-22.7 22.7-35.2 52.7-35.2 84.8s12.5 62.1 35.2 84.8C449.9 619.4 480 632 512 632s62.1-12.5 84.8-35.2C619.4 574.1 632 544 632 512s-12.5-62.1-35.2-84.8C574.1 404.4 544.1 392 512 392z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineAlert (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M193 796c0 17.7 14.3 32 32 32h574c17.7 0 32-14.3 32-32V563c0-176.2-142.8-319-319-319S193 386.8 193 563v233zm72-233c0-136.4 110.6-247 247-247s247 110.6 247 247v193H404V585c0-5.5-4.5-10-10-10h-44c-5.5 0-10 4.5-10 10v171h-75V563zm-48.1-252.5l39.6-39.6c3.1-3.1 3.1-8.2 0-11.3l-67.9-67.9a8.03 8.03 0 0 0-11.3 0l-39.6 39.6a8.03 8.03 0 0 0 0 11.3l67.9 67.9c3.1 3.1 8.1 3.1 11.3 0zm669.6-79.2l-39.6-39.6a8.03 8.03 0 0 0-11.3 0l-67.9 67.9a8.03 8.03 0 0 0 0 11.3l39.6 39.6c3.1 3.1 8.2 3.1 11.3 0l67.9-67.9c3.1-3.2 3.1-8.2 0-11.3zM832 892H192c-17.7 0-32 14.3-32 32v24c0 4.4 3.6 8 8 8h688c4.4 0 8-3.6 8-8v-24c0-17.7-14.3-32-32-32zM484 180h56c4.4 0 8-3.6 8-8V76c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v96c0 4.4 3.6 8 8 8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineAlibaba (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M602.9 669.8c-37.2 2.6-33.6-17.3-11.5-46.2 50.4-67.2 143.7-158.5 147.9-225.2 5.8-86.6-81.3-113.4-171-113.4-62.4 1.6-127 18.9-171 34.6-151.6 53.5-246.6 137.5-306.9 232-62.4 93.4-43 183.2 91.8 185.8 101.8-4.2 170.5-32.5 239.7-68.2.5 0-192.5 55.1-263.9 14.7-7.9-4.2-15.7-10-17.8-26.2 0-33.1 54.6-67.7 86.6-78.7v-56.7c64.5 22.6 140.6 16.3 205.7-32 2.1 5.8 4.2 13.1 3.7 21h11c2.6-22.6-12.6-44.6-37.8-46.2 7.3 5.8 12.6 10.5 15.2 14.7l-1 1-.5.5c-83.9 58.8-165.3 31.5-173.1 29.9l46.7-45.7-13.1-33.1c92.9-32.5 169.5-56.2 296.9-78.7l-28.5-23 14.7-8.9c75.5 21 126.4 36.7 123.8 76.6-1 6.8-3.7 14.7-7.9 23.1C660.1 466.1 594 538 567.2 569c-17.3 20.5-34.6 39.4-46.7 58.3-13.6 19.4-20.5 37.3-21 53.5 2.6 131.8 391.4-61.9 468-112.9-111.7 47.8-232.9 93.5-364.6 101.9zm85-302.9c2.8 5.2 4.1 11.6 4.1 19.1-.1-6.8-1.4-13.3-4.1-19.1z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineAlignCenter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M264 230h496c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H264c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm496 424c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H264c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496zm144 140H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-424H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineAlignLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M120 230h496c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm0 424h496c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm784 140H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-424H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineAlignRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M904 158H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 424H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 212H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-424H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineAlipayCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64c247.424 0 448 200.576 448 448S759.424 960 512 960 64 759.424 64 512 264.576 64 512 64m32.493 168c-69.66 0-86.056 16.843-86.709 39.079l-.02 1.426v46.623H291.45c-9.92 0-14.28 23.053-14.27 39.31 0 2.696 2.08 4.923 4.77 4.923h175.814v58.301h-116.5c-9.96 0-14.3 23.76-14.271 39.473a4.772 4.772 0 0 0 4.77 4.76l233.448.003c-4.527 41.056-15.432 77.58-30.716 109.315l-1.224 2.494-.32-.275c-60.244-28.47-120.431-52.577-194.407-52.577l-2.61.017c-84.982 1.112-144.718 56.503-145.916 127.04l-.018 1.222.019 2.123c1.238 70.399 63.566 126.452 148.525 126.452 61.245-.008 116.372-16.85 163.457-45.017a138.579 138.579 0 0 0 14.068-7.962c18.09-12.116 34.892-25.955 50.304-41.156l9.452 6.344 12.456 8.322c57.527 38.257 113.763 72.617 169.856 79.27a142.62 142.62 0 0 0 18.314 1.157c43.017 0 54.991-52.68 57.387-95.508l.145-2.84c.392-8.463-6.197-15.595-14.648-15.863-75.468-2.365-136.452-22.043-192.008-46.11l-6.267-2.742c35.146-56.8 56.657-121.816 57.155-186.661l.082-1.083c.401-5.515-3.997-10.198-9.52-10.198H549.33v-58.301h165.732c9.92 0 14.28-22.117 14.27-39.311-.01-2.686-2.089-4.922-4.779-4.922H549.32v-82.35c0-2.656-2.175-4.778-4.827-4.778m-216.5 351.847c54.627 0 107.073 22.417 158.09 52.19l5.77 3.402c-103.575 119.837-247.172 95.903-261.724 26.37a66.89 66.89 0 0 1-1.138-9.83l-.057-2.336.013-.907c.969-40.113 45.337-68.89 99.045-68.89\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineAlipay (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M557.208 129c3.69 0 6.715 2.952 6.715 6.648v114.55h243.802c3.742 0 6.636 3.111 6.649 6.847.013 23.918-6.052 54.683-19.855 54.683H563.936v81.1h166.189c7.684 0 13.803 6.515 13.245 14.186l-.114 1.506c-.693 90.203-30.622 180.642-79.52 259.653l8.719 3.815c77.295 33.478 162.142 60.85 267.142 64.14 11.758.373 20.925 10.294 20.38 22.067l-.203 3.95C956.441 821.72 939.781 895 879.932 895c-8.805 0-17.288-.55-25.48-1.61-78.043-9.254-156.284-57.05-236.322-110.267l-17.33-11.576-13.15-8.825c-21.444 21.146-44.82 40.396-69.989 57.25-6.193 4.013-12.734 7.703-19.573 11.076-65.509 39.18-142.208 62.608-227.418 62.62-118.203 0-204.921-77.972-206.644-175.9L64 714.815l.026-1.699c1.666-98.12 84.776-175.172 203.013-176.719l3.63-.023c102.924 0 186.663 33.532 270.481 73.137l.444.381 1.703-3.469c21.265-44.145 36.438-94.95 42.736-152.06l-324.798-.005a6.638 6.638 0 0 1-6.636-6.621c-.04-21.857 5.999-54.909 19.854-54.909h162.088v-81.1H191.93c-3.743 0-6.636-3.098-6.636-6.847-.014-22.615 6.052-54.683 19.854-54.683h231.393v-64.853l.029-1.985c.908-30.931 23.72-54.36 120.638-54.36M256.896 619c-74.766 0-136.529 39.934-137.877 95.601L119 715.86l.079 3.241a92.55 92.55 0 0 0 1.584 13.643C140.92 829.238 340.818 862.454 485 696.15l-8.031-4.72C405.949 650.109 332.94 619 256.896 619\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineAliwangwang (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M868.2 377.4c-18.9-45.1-46.3-85.6-81.2-120.6a377.26 377.26 0 0 0-120.5-81.2A375.65 375.65 0 0 0 519 145.8c-41.9 0-82.9 6.7-121.9 20C306 123.3 200.8 120 170.6 120c-2.2 0-7.4 0-9.4.2-11.9.4-22.8 6.5-29.2 16.4-6.5 9.9-7.7 22.4-3.4 33.5l64.3 161.6a378.59 378.59 0 0 0-52.8 193.2c0 51.4 10 101 29.8 147.6 18.9 45 46.2 85.6 81.2 120.5 34.7 34.8 75.4 62.1 120.5 81.2C418.3 894 467.9 904 519 904c51.3 0 100.9-10.1 147.7-29.8 44.9-18.9 85.5-46.3 120.4-81.2 34.7-34.8 62.1-75.4 81.2-120.6a376.5 376.5 0 0 0 29.8-147.6c-.2-51.2-10.1-100.8-29.9-147.4zm-66.4 266.5a307.08 307.08 0 0 1-65.9 98c-28.4 28.5-61.3 50.7-97.7 65.9h-.1c-38 16-78.3 24.2-119.9 24.2a306.51 306.51 0 0 1-217.5-90.2c-28.4-28.5-50.6-61.4-65.8-97.8v-.1c-16-37.8-24.1-78.2-24.1-119.9 0-55.4 14.8-109.7 42.8-157l13.2-22.1-9.5-23.9L206 192c14.9.6 35.9 2.1 59.7 5.6 43.8 6.5 82.5 17.5 114.9 32.6l19 8.9 19.9-6.8c31.5-10.8 64.8-16.2 98.9-16.2a306.51 306.51 0 0 1 217.5 90.2c28.4 28.5 50.6 61.4 65.8 97.8l.1.1.1.1c16 37.6 24.1 78 24.2 119.8-.1 41.7-8.3 82-24.3 119.8zM681.1 364.2c-20.4 0-37.1 16.7-37.1 37.1v55.1c0 20.4 16.6 37.1 37.1 37.1s37.1-16.7 37.1-37.1v-55.1c0-20.5-16.7-37.1-37.1-37.1zm-175.2 0c-20.5 0-37.1 16.7-37.1 37.1v55.1c0 20.4 16.7 37.1 37.1 37.1 20.5 0 37.1-16.7 37.1-37.1v-55.1c0-20.5-16.7-37.1-37.1-37.1z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineAliyun (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M959.2 383.9c-.3-82.1-66.9-148.6-149.1-148.6H575.9l21.6 85.2 201 43.7a42.58 42.58 0 0 1 32.9 39.7c.1.5.1 216.1 0 216.6a42.58 42.58 0 0 1-32.9 39.7l-201 43.7-21.6 85.3h234.2c82.1 0 148.8-66.5 149.1-148.6V383.9zM225.5 660.4a42.58 42.58 0 0 1-32.9-39.7c-.1-.6-.1-216.1 0-216.6.8-19.4 14.6-35.5 32.9-39.7l201-43.7 21.6-85.2H213.8c-82.1 0-148.8 66.4-149.1 148.6V641c.3 82.1 67 148.6 149.1 148.6H448l-21.6-85.3-200.9-43.9zm200.9-158.8h171v21.3h-171z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineAmazon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M825 768.9c-3.3-.9-7.3-.4-11.9 1.3-61.6 28.2-121.5 48.3-179.7 60.2C507.7 856 385.2 842.6 266 790.3c-33.1-14.6-79.1-39.2-138-74a9.36 9.36 0 0 0-5.3-2c-2-.1-3.7.1-5.3.9-1.6.8-2.8 1.8-3.7 3.1-.9 1.3-1.1 3.1-.4 5.4.6 2.2 2.1 4.7 4.6 7.4 10.4 12.2 23.3 25.2 38.6 39s35.6 29.4 60.9 46.8c25.3 17.4 51.8 32.9 79.3 46.4 27.6 13.5 59.6 24.9 96.1 34.1s73 13.8 109.4 13.8c36.2 0 71.4-3.7 105.5-10.9 34.2-7.3 63-15.9 86.5-25.9 23.4-9.9 45-21 64.8-33 19.8-12 34.4-22.2 43.9-30.3 9.5-8.2 16.3-14.6 20.2-19.4 4.6-5.7 6.9-10.6 6.9-14.9.1-4.5-1.7-7.1-5-7.9zM527.4 348.1c-15.2 1.3-33.5 4.1-55 8.3-21.5 4.1-41.4 9.3-59.8 15.4s-37.2 14.6-56.3 25.4c-19.2 10.8-35.5 23.2-49 37s-24.5 31.1-33.1 52c-8.6 20.8-12.9 43.7-12.9 68.7 0 27.1 4.7 51.2 14.3 72.5 9.5 21.3 22.2 38 38.2 50.4 15.9 12.4 34 22.1 54 29.2 20 7.1 41.2 10.3 63.2 9.4 22-.9 43.5-4.3 64.4-10.3 20.8-5.9 40.4-15.4 58.6-28.3 18.2-12.9 33.1-28.2 44.8-45.7 4.3 6.6 8.1 11.5 11.5 14.7l8.7 8.9c5.8 5.9 14.7 14.6 26.7 26.1 11.9 11.5 24.1 22.7 36.3 33.7l104.4-99.9-6-4.9c-4.3-3.3-9.4-8-15.2-14.3-5.8-6.2-11.6-13.1-17.2-20.5-5.7-7.4-10.6-16.1-14.7-25.9-4.1-9.8-6.2-19.3-6.2-28.5V258.7c0-10.1-1.9-21-5.7-32.8-3.9-11.7-10.7-24.5-20.7-38.3-10-13.8-22.4-26.2-37.2-37-14.9-10.8-34.7-20-59.6-27.4-24.8-7.4-52.6-11.1-83.2-11.1-31.3 0-60.4 3.7-87.6 10.9-27.1 7.3-50.3 17-69.7 29.2-19.3 12.2-35.9 26.3-49.7 42.4-13.8 16.1-24.1 32.9-30.8 50.4-6.7 17.5-10.1 35.2-10.1 53.1L408 310c5.5-16.4 12.9-30.6 22-42.8 9.2-12.2 17.9-21 25.8-26.5 8-5.5 16.6-9.9 25.7-13.2 9.2-3.3 15.4-5 18.6-5.4 3.2-.3 5.7-.4 7.6-.4 26.7 0 45.2 7.9 55.6 23.6 6.5 9.5 9.7 23.9 9.7 43.3v56.6c-15.2.6-30.4 1.6-45.6 2.9zM573.1 500c0 16.6-2.2 31.7-6.5 45-9.2 29.1-26.7 47.4-52.4 54.8-22.4 6.6-43.7 3.3-63.9-9.8-21.5-14-32.2-33.8-32.2-59.3 0-19.9 5-36.9 15-51.1 10-14.1 23.3-24.7 40-31.7s33-12 49-14.9c15.9-3 33-4.8 51-5.4V500zm335.2 218.9c-4.3-5.4-15.9-8.9-34.9-10.7-19-1.8-35.5-1.7-49.7.4-15.3 1.8-31.1 6.2-47.3 13.4-16.3 7.1-23.4 13.1-21.6 17.8l.7 1.3.9.7 1.4.2h4.6c.8 0 1.8-.1 3.2-.2 1.4-.1 2.7-.3 3.9-.4 1.2-.1 2.9-.3 5.1-.4 2.1-.1 4.1-.4 6-.7.3 0 3.7-.3 10.3-.9 6.6-.6 11.4-1 14.3-1.3 2.9-.3 7.8-.6 14.5-.9 6.7-.3 12.1-.3 16.1 0 4 .3 8.5.7 13.6 1.1 5.1.4 9.2 1.3 12.4 2.7 3.2 1.3 5.6 3 7.1 5.1 5.2 6.6 4.2 21.2-3 43.9s-14 40.8-20.4 54.2c-2.8 5.7-2.8 9.2 0 10.7s6.7.1 11.9-4c15.6-12.2 28.6-30.6 39.1-55.3 6.1-14.6 10.5-29.8 13.1-45.7 2.4-15.9 2-26.2-1.3-31z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineAndroid (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448.3 225.2c-18.6 0-32 13.4-32 31.9s13.5 31.9 32 31.9c18.6 0 32-13.4 32-31.9.1-18.4-13.4-31.9-32-31.9zm393.9 96.4c-13.8-13.8-32.7-21.5-53.2-21.5-3.9 0-7.4.4-10.7 1v-1h-3.6c-5.5-30.6-18.6-60.5-38.1-87.4-18.7-25.7-43-47.9-70.8-64.9l25.1-35.8v-3.3c0-.8.4-2.3.7-3.8.6-2.4 1.4-5.5 1.4-8.9 0-18.5-13.5-31.9-32-31.9-9.8 0-19.5 5.7-25.9 15.4l-29.3 42.1c-30-9.8-62.4-15-93.8-15-31.3 0-63.7 5.2-93.8 15L389 79.4c-6.6-9.6-16.1-15.4-26-15.4-18.6 0-32 13.4-32 31.9 0 6.2 2.5 12.8 6.7 17.4l22.6 32.3c-28.7 17-53.5 39.4-72.2 65.1-19.4 26.9-32 56.8-36.7 87.4h-5.5v1c-3.2-.6-6.7-1-10.7-1-20.3 0-39.2 7.5-53.1 21.3-13.8 13.8-21.5 32.6-21.5 53v235c0 20.3 7.5 39.1 21.4 52.9 13.8 13.8 32.8 21.5 53.2 21.5 3.9 0 7.4-.4 10.7-1v93.5c0 29.2 23.9 53.1 53.2 53.1H331v58.3c0 20.3 7.5 39.1 21.4 52.9 13.8 13.8 32.8 21.5 53.2 21.5 20.3 0 39.2-7.5 53.1-21.3 13.8-13.8 21.5-32.6 21.5-53v-58.2H544v58.1c0 20.3 7.5 39.1 21.4 52.9 13.8 13.8 32.8 21.5 53.2 21.5 20.4 0 39.2-7.5 53.1-21.6 13.8-13.8 21.5-32.6 21.5-53v-58.2h31.9c29.3 0 53.2-23.8 53.2-53.1v-91.4c3.2.6 6.7 1 10.7 1 20.3 0 39.2-7.5 53.1-21.3 13.8-13.8 21.5-32.6 21.5-53v-235c-.1-20.3-7.6-39-21.4-52.9zM246 609.6c0 6.8-3.9 10.6-10.7 10.6-6.8 0-10.7-3.8-10.7-10.6V374.5c0-6.8 3.9-10.6 10.7-10.6 6.8 0 10.7 3.8 10.7 10.6v235.1zm131.1-396.8c37.5-27.3 85.3-42.3 135-42.3s97.5 15.1 135 42.5c32.4 23.7 54.2 54.2 62.7 87.5H314.4c8.5-33.4 30.5-64 62.7-87.7zm39.3 674.7c-.6 5.6-4.4 8.7-10.5 8.7-6.8 0-10.7-3.8-10.7-10.6v-58.2h21.2v60.1zm202.3 8.7c-6.8 0-10.7-3.8-10.7-10.6v-58.2h21.2v60.1c-.6 5.6-4.3 8.7-10.5 8.7zm95.8-132.6H309.9V364h404.6v399.6zm85.2-154c0 6.8-3.9 10.6-10.7 10.6-6.8 0-10.7-3.8-10.7-10.6V374.5c0-6.8 3.9-10.6 10.7-10.6 6.8 0 10.7 3.8 10.7 10.6v235.1zM576.1 225.2c-18.6 0-32 13.4-32 31.9s13.5 31.9 32 31.9c18.6 0 32.1-13.4 32.1-32-.1-18.6-13.4-31.8-32.1-31.8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineAntCloud (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M378.9 738c-3.1 0-6.1-.5-8.8-1.5l4.4 30.7h26.3l-15.5-29.9c-2.1.5-4.2.7-6.4.7zm421-291.2c-12.6 0-24.8 1.5-36.5 4.2-21.4-38.4-62.3-64.3-109.3-64.3-6.9 0-13.6.6-20.2 1.6-35.4-77.4-113.4-131.1-203.9-131.1-112.3 0-205.3 82.6-221.6 190.4C127.3 455.5 64 523.8 64 607c0 88.4 71.6 160.1 160 160.2h50l13.2-27.6c-26.2-8.3-43.3-29-39.1-48.8 4.6-21.6 32.8-33.9 63.1-27.5 22.9 4.9 40.4 19.1 45.5 35.1a26.1 26.1 0 0 1 22.1-12.4h.2c-.8-3.2-1.2-6.5-1.2-9.9 0-20.1 14.8-36.7 34.1-39.6v-25.4c0-4.4 3.6-8 8-8s8 3.6 8 8v26.3c4.6 1.2 8.8 3.2 12.6 5.8l19.5-21.4c3-3.3 8-3.5 11.3-.5 3.3 3 3.5 8 .5 11.3l-20 22-.2.2a40 40 0 0 1-46.9 59.2c-.4 5.6-2.6 10.7-6 14.8l20 38.4H804v-.1c86.5-2.2 156-73 156-160.1 0-88.5-71.7-160.2-160.1-160.2zM338.2 737.2l-4.3 30h24.4l-5.9-41.5c-3.5 4.6-8.3 8.5-14.2 11.5zM797.5 305a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm-65.7 61.3a24 24 0 1 0 48 0 24 24 0 1 0-48 0zM303.4 742.9l-11.6 24.3h26l3.5-24.7c-5.7.8-11.7 1-17.9.4z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineAntDesign (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M716.3 313.8c19-18.9 19-49.7 0-68.6l-69.9-69.9.1.1c-18.5-18.5-50.3-50.3-95.3-95.2-21.2-20.7-55.5-20.5-76.5.5L80.9 474.2a53.84 53.84 0 0 0 0 76.4L474.6 944a54.14 54.14 0 0 0 76.5 0l165.1-165c19-18.9 19-49.7 0-68.6a48.7 48.7 0 0 0-68.7 0l-125 125.2c-5.2 5.2-13.3 5.2-18.5 0L189.5 521.4c-5.2-5.2-5.2-13.3 0-18.5l314.4-314.2c.4-.4.9-.7 1.3-1.1 5.2-4.1 12.4-3.7 17.2 1.1l125.2 125.1c19 19 49.8 19 68.7 0zM408.6 514.4a106.3 106.2 0 1 0 212.6 0 106.3 106.2 0 1 0-212.6 0zm536.2-38.6L821.9 353.5c-19-18.9-49.8-18.9-68.7.1a48.4 48.4 0 0 0 0 68.6l83 82.9c5.2 5.2 5.2 13.3 0 18.5l-81.8 81.7a48.4 48.4 0 0 0 0 68.6 48.7 48.7 0 0 0 68.7 0l121.8-121.7a53.93 53.93 0 0 0-.1-76.4z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineApartment (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M908 640H804V488c0-4.4-3.6-8-8-8H548v-96h108c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16H368c-8.8 0-16 7.2-16 16v288c0 8.8 7.2 16 16 16h108v96H228c-4.4 0-8 3.6-8 8v152H116c-8.8 0-16 7.2-16 16v288c0 8.8 7.2 16 16 16h288c8.8 0 16-7.2 16-16V656c0-8.8-7.2-16-16-16H292v-88h440v88H620c-8.8 0-16 7.2-16 16v288c0 8.8 7.2 16 16 16h288c8.8 0 16-7.2 16-16V656c0-8.8-7.2-16-16-16zm-564 76v168H176V716h168zm84-408V140h168v168H428zm420 576H680V716h168v168z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineApi (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M917.7 148.8l-42.4-42.4c-1.6-1.6-3.6-2.3-5.7-2.3s-4.1.8-5.7 2.3l-76.1 76.1a199.27 199.27 0 0 0-112.1-34.3c-51.2 0-102.4 19.5-141.5 58.6L432.3 308.7a8.03 8.03 0 0 0 0 11.3L704 591.7c1.6 1.6 3.6 2.3 5.7 2.3 2 0 4.1-.8 5.7-2.3l101.9-101.9c68.9-69 77-175.7 24.3-253.5l76.1-76.1c3.1-3.2 3.1-8.3 0-11.4zM769.1 441.7l-59.4 59.4-186.8-186.8 59.4-59.4c24.9-24.9 58.1-38.7 93.4-38.7 35.3 0 68.4 13.7 93.4 38.7 24.9 24.9 38.7 58.1 38.7 93.4 0 35.3-13.8 68.4-38.7 93.4zm-190.2 105a8.03 8.03 0 0 0-11.3 0L501 613.3 410.7 523l66.7-66.7c3.1-3.1 3.1-8.2 0-11.3L441 408.6a8.03 8.03 0 0 0-11.3 0L363 475.3l-43-43a7.85 7.85 0 0 0-5.7-2.3c-2 0-4.1.8-5.7 2.3L206.8 534.2c-68.9 69-77 175.7-24.3 253.5l-76.1 76.1a8.03 8.03 0 0 0 0 11.3l42.4 42.4c1.6 1.6 3.6 2.3 5.7 2.3s4.1-.8 5.7-2.3l76.1-76.1c33.7 22.9 72.9 34.3 112.1 34.3 51.2 0 102.4-19.5 141.5-58.6l101.9-101.9c3.1-3.1 3.1-8.2 0-11.3l-43-43 66.7-66.7c3.1-3.1 3.1-8.2 0-11.3l-36.6-36.2zM441.7 769.1a131.32 131.32 0 0 1-93.4 38.7c-35.3 0-68.4-13.7-93.4-38.7a131.32 131.32 0 0 1-38.7-93.4c0-35.3 13.7-68.4 38.7-93.4l59.4-59.4 186.8 186.8-59.4 59.4z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineApple (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M747.4 535.7c-.4-68.2 30.5-119.6 92.9-157.5-34.9-50-87.7-77.5-157.3-82.8-65.9-5.2-138 38.4-164.4 38.4-27.9 0-91.7-36.6-141.9-36.6C273.1 298.8 163 379.8 163 544.6c0 48.7 8.9 99 26.7 150.8 23.8 68.2 109.6 235.3 199.1 232.6 46.8-1.1 79.9-33.2 140.8-33.2 59.1 0 89.7 33.2 141.9 33.2 90.3-1.3 167.9-153.2 190.5-221.6-121.1-57.1-114.6-167.2-114.6-170.7zm-10.6 267c-14.3 19.9-28.7 35.6-41.9 45.7-10.5 8-18.6 11.4-24 11.6-9-.1-17.7-2.3-34.7-8.8-1.2-.5-2.5-1-4.2-1.6l-4.4-1.7c-17.4-6.7-27.8-10.3-41.1-13.8-18.6-4.8-37.1-7.4-56.9-7.4-20.2 0-39.2 2.5-58.1 7.2-13.9 3.5-25.6 7.4-42.7 13.8-.7.3-8.1 3.1-10.2 3.9-3.5 1.3-6.2 2.3-8.7 3.2-10.4 3.6-17 5.1-22.9 5.2-.7 0-1.3-.1-1.8-.2-1.1-.2-2.5-.6-4.1-1.3-4.5-1.8-9.9-5.1-16-9.8-14-10.9-29.4-28-45.1-49.9-27.5-38.6-53.5-89.8-66-125.7-15.4-44.8-23-87.7-23-128.6 0-60.2 17.8-106 48.4-137.1 26.3-26.6 61.7-41.5 97.8-42.3 5.9.1 14.5 1.5 25.4 4.5 8.6 2.3 18 5.4 30.7 9.9 3.8 1.4 16.9 6.1 18.5 6.7 7.7 2.8 13.5 4.8 19.2 6.6 18.2 5.8 32.3 9 47.6 9 15.5 0 28.8-3.3 47.7-9.8 7.1-2.4 32.9-12 37.5-13.6 25.6-9.1 44.5-14 60.8-15.2 4.8-.4 9.1-.4 13.2-.1 22.7 1.8 42.1 6.3 58.6 13.8-37.6 43.4-57 96.5-56.9 158.4-.3 14.7.9 31.7 5.1 51.8 6.4 30.5 18.6 60.7 37.9 89 14.7 21.5 32.9 40.9 54.7 57.8-11.5 23.7-25.6 48.2-40.4 68.8zm-94.5-572c50.7-60.2 46.1-115 44.6-134.7-44.8 2.6-96.6 30.5-126.1 64.8-32.5 36.8-51.6 82.3-47.5 133.6 48.4 3.7 92.6-21.2 129-63.7z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineAppstoreAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"t\":\"1569683928793\",\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M464 144H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16z m-52 268H212V212h200v200zM864 144H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16z m-52 268H612V212h200v200zM864 544H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16z m-52 268H612V612h200v200zM424 712H296V584c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v128H104c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h128v128c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V776h128c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineAppstore (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 144H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm-52 268H212V212h200v200zm452-268H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm-52 268H612V212h200v200zM464 544H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16zm-52 268H212V612h200v200zm452-268H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16zm-52 268H612V612h200v200z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineAreaChart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-616-64h536c4.4 0 8-3.6 8-8V284c0-7.2-8.7-10.7-13.7-5.7L592 488.6l-125.4-124a8.03 8.03 0 0 0-11.3 0l-189 189.6a7.87 7.87 0 0 0-2.3 5.6V720c0 4.4 3.6 8 8 8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineArrowDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M862 465.3h-81c-4.6 0-9 2-12.1 5.5L550 723.1V160c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v563.1L255.1 470.8c-3-3.5-7.4-5.5-12.1-5.5h-81c-6.8 0-10.5 8.1-6 13.2L487.9 861a31.96 31.96 0 0 0 48.3 0L868 478.5c4.5-5.2.8-13.2-6-13.2z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineArrowLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M872 474H286.9l350.2-304c5.6-4.9 2.2-14-5.2-14h-88.5c-3.9 0-7.6 1.4-10.5 3.9L155 487.8a31.96 31.96 0 0 0 0 48.3L535.1 866c1.5 1.3 3.3 2 5.2 2h91.5c7.4 0 10.8-9.2 5.2-14L286.9 550H872c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineArrowRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M869 487.8L491.2 159.9c-2.9-2.5-6.6-3.9-10.5-3.9h-88.5c-7.4 0-10.8 9.2-5.2 14l350.2 304H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h585.1L386.9 854c-5.6 4.9-2.2 14 5.2 14h91.5c1.9 0 3.8-.7 5.2-2L869 536.2a32.07 32.07 0 0 0 0-48.4z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineArrowUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M868 545.5L536.1 163a31.96 31.96 0 0 0-48.3 0L156 545.5a7.97 7.97 0 0 0 6 13.2h81c4.6 0 9-2 12.1-5.5L474 300.9V864c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V300.9l218.9 252.3c3 3.5 7.4 5.5 12.1 5.5h81c6.8 0 10.5-8 6-13.2z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineArrowsAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M855 160.1l-189.2 23.5c-6.6.8-9.3 8.8-4.7 13.5l54.7 54.7-153.5 153.5a8.03 8.03 0 0 0 0 11.3l45.1 45.1c3.1 3.1 8.2 3.1 11.3 0l153.6-153.6 54.7 54.7a7.94 7.94 0 0 0 13.5-4.7L863.9 169a7.9 7.9 0 0 0-8.9-8.9zM416.6 562.3a8.03 8.03 0 0 0-11.3 0L251.8 715.9l-54.7-54.7a7.94 7.94 0 0 0-13.5 4.7L160.1 855c-.6 5.2 3.7 9.5 8.9 8.9l189.2-23.5c6.6-.8 9.3-8.8 4.7-13.5l-54.7-54.7 153.6-153.6c3.1-3.1 3.1-8.2 0-11.3l-45.2-45z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineAudioMuted (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"t\":\"1569682811064\",\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M682 455V311l-76 76v68c-0.1 50.7-42 92.1-94 92-19.1 0.1-36.8-5.4-52-15l-54 55c29.1 22.4 65.9 36 106 36 93.8 0 170-75.1 170-168z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M833 446h-60c-4.4 0-8 3.6-8 8 0 140.3-113.7 254-254 254-63 0-120.7-23-165-61l-54 54c48.9 43.2 110.8 72.3 179 81v102H326c-13.9 0-24.9 14.3-25 32v36c0.1 4.4 2.9 8 6 8h408c3.2 0 6-3.6 6-8v-36c0-17.7-11-32-25-32H547V782c165.3-17.9 294-157.9 294-328 0-4.4-3.6-8-8-8zM846.1 68.3l-43.5-41.9c-3.1-3-8.1-3-11.2 0.1l-129 129C634.3 101.2 577 64 511 64c-93.9 0-170 75.3-170 168v224c0 6.7 0.4 13.3 1.2 19.8l-68 68c-10.5-27.9-16.3-58.2-16.2-89.8-0.2-4.4-3.8-8-8-8h-60c-4.4 0-8 3.6-8 8 0 53 12.5 103 34.6 147.4l-137 137c-3.1 3.1-3.1 8.2 0 11.3l42.7 42.7c3.1 3.1 8.2 3.1 11.3 0L846.2 79.8l0.1-0.1c3.1-3.2 3-8.3-0.2-11.4zM417 401V232c0-50.6 41.9-92 94-92 46 0 84.1 32.3 92.3 74.7L417 401z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineAudio (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M842 454c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 140.3-113.7 254-254 254S258 594.3 258 454c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 168.7 126.6 307.9 290 327.6V884H326.7c-13.7 0-24.7 14.3-24.7 32v36c0 4.4 2.8 8 6.2 8h407.6c3.4 0 6.2-3.6 6.2-8v-36c0-17.7-11-32-24.7-32H548V782.1c165.3-18 294-158 294-328.1zM512 624c93.9 0 170-75.2 170-168V232c0-92.8-76.1-168-170-168s-170 75.2-170 168v224c0 92.8 76.1 168 170 168zm-94-392c0-50.6 41.9-92 94-92s94 41.4 94 92v224c0 50.6-41.9 92-94 92s-94-41.4-94-92V232z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineAudit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M296 250c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H296zm184 144H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm-48 458H208V148h560v320c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V108c0-17.7-14.3-32-32-32H168c-17.7 0-32 14.3-32 32v784c0 17.7 14.3 32 32 32h264c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm440-88H728v-36.6c46.3-13.8 80-56.6 80-107.4 0-61.9-50.1-112-112-112s-112 50.1-112 112c0 50.7 33.7 93.6 80 107.4V764H520c-8.8 0-16 7.2-16 16v152c0 8.8 7.2 16 16 16h352c8.8 0 16-7.2 16-16V780c0-8.8-7.2-16-16-16zM646 620c0-27.6 22.4-50 50-50s50 22.4 50 50-22.4 50-50 50-50-22.4-50-50zm180 266H566v-60h260v60z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineBackward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M485.6 249.9L198.2 498c-8.3 7.1-8.3 20.8 0 27.9l287.4 248.2c10.7 9.2 26.4.9 26.4-14V263.8c0-14.8-15.7-23.2-26.4-13.9zm320 0L518.2 498a18.6 18.6 0 0 0-6.2 14c0 5.2 2.1 10.4 6.2 14l287.4 248.2c10.7 9.2 26.4.9 26.4-14V263.8c0-14.8-15.7-23.2-26.4-13.9z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineBaidu (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M118.02 448.043c92.37-19.802 79.767-130.078 76.948-154.187-4.56-37.201-48.258-102.157-107.628-97.02C12.631 203.547 1.686 311.42 1.686 311.42-8.347 361.297 25.898 467.845 118.02 448.043m84.7 214.138c10.282 38.692 43.947 40.432 43.947 40.432h48.341V584.549h-51.74c-23.218 6.96-34.495 25.104-36.982 32.81-2.737 7.787-8.707 27.589-3.566 44.822m169.07-531.11C371.79 58.66 330.663 0 279.585 0c-50.911 0-92.205 58.66-92.205 131.072 0 72.495 41.294 131.154 92.205 131.154 51.078 0 92.205-58.659 92.205-131.154m248.092 9.107c8.872-54.93-35.075-118.892-83.333-129.828C488.208-.753 427.843 76.63 422.37 127.088c-6.551 61.725 8.789 123.283 76.865 132.066 68.158 8.865 112.022-63.879 120.646-118.976m46.35 433.02S560.762 491.672 499.237 403.6c-83.416-129.911-201.989-77.052-241.624-11.019-39.469 66.033-100.994 107.873-109.7 118.892-8.873 10.937-127.363 74.816-101.078 191.554 26.285 116.656 118.739 114.501 118.739 114.501s68.076 6.711 147.097-10.936c79.02-17.565 147.014 4.391 147.014 4.391s184.576 61.725 235.073-57.168c50.414-118.975-28.524-180.617-28.524-180.617M230.416 750.17c-51.824-10.357-72.47-45.652-75.124-51.7-2.57-6.13-17.247-34.55-9.453-82.852 22.388-72.412 86.235-77.632 86.235-77.632h63.847v-78.46l54.395.828.083 289.816zm205.388-.829c-53.565-13.753-56.052-51.782-56.052-51.782V544.946l56.052-.912v137.12c3.4 14.582 21.642 17.316 21.642 17.316h56.882V544.946h59.618V749.34zM759.64 351.617c0-26.347-21.89-105.72-103.15-105.72-81.426 0-92.289 74.899-92.289 127.841 0 50.54 4.312 121.13 105.39 118.81 101.16-2.155 90.049-114.419 90.049-140.931\",\"transform\":\"translate(132 99)\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineBank (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M894 462c30.9 0 43.8-39.7 18.7-58L530.8 126.2a31.81 31.81 0 0 0-37.6 0L111.3 404c-25.1 18.2-12.2 58 18.8 58H192v374h-72c-4.4 0-8 3.6-8 8v52c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-52c0-4.4-3.6-8-8-8h-72V462h62zM512 196.7l271.1 197.2H240.9L512 196.7zM264 462h117v374H264V462zm189 0h117v374H453V462zm307 374H642V462h118v374z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineBarChart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-600-80h56c4.4 0 8-3.6 8-8V560c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v144c0 4.4 3.6 8 8 8zm152 0h56c4.4 0 8-3.6 8-8V384c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v320c0 4.4 3.6 8 8 8zm152 0h56c4.4 0 8-3.6 8-8V462c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v242c0 4.4 3.6 8 8 8zm152 0h56c4.4 0 8-3.6 8-8V304c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v400c0 4.4 3.6 8 8 8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineBarcode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M120 160H72c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V168c0-4.4-3.6-8-8-8zm833 0h-48c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V168c0-4.4-3.6-8-8-8zM200 736h112c4.4 0 8-3.6 8-8V168c0-4.4-3.6-8-8-8H200c-4.4 0-8 3.6-8 8v560c0 4.4 3.6 8 8 8zm321 0h48c4.4 0 8-3.6 8-8V168c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v560c0 4.4 3.6 8 8 8zm126 0h178c4.4 0 8-3.6 8-8V168c0-4.4-3.6-8-8-8H647c-4.4 0-8 3.6-8 8v560c0 4.4 3.6 8 8 8zm-255 0h48c4.4 0 8-3.6 8-8V168c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v560c0 4.4 3.6 8 8 8zm-79 64H201c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h112c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm257 0h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm256 0H648c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h178c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm-385 0h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineBars (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M912 192H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM104 228a56 56 0 1 0 112 0 56 56 0 1 0-112 0zm0 284a56 56 0 1 0 112 0 56 56 0 1 0-112 0zm0 284a56 56 0 1 0 112 0 56 56 0 1 0-112 0z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineBehanceSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM598.5 350.9h138.4v33.7H598.5v-33.7zM512 628.8a89.52 89.52 0 0 1-27 31c-11.8 8.2-24.9 14.2-38.8 17.7a167.4 167.4 0 0 1-44.6 5.7H236V342.1h161c16.3 0 31.1 1.5 44.6 4.3 13.4 2.8 24.8 7.6 34.4 14.1 9.5 6.5 17 15.2 22.3 26 5.2 10.7 7.9 24.1 7.9 40 0 17.2-3.9 31.4-11.7 42.9-7.9 11.5-19.3 20.8-34.8 28.1 21.1 6 36.6 16.7 46.8 31.7 10.4 15.2 15.5 33.4 15.5 54.8 0 17.4-3.3 32.3-10 44.8zM790.8 576H612.4c0 19.4 6.7 38 16.8 48 10.2 9.9 24.8 14.9 43.9 14.9 13.8 0 25.5-3.5 35.5-10.4 9.9-6.9 15.9-14.2 18.1-21.8h59.8c-9.6 29.7-24.2 50.9-44 63.7-19.6 12.8-43.6 19.2-71.5 19.2-19.5 0-37-3.2-52.7-9.3-15.1-5.9-28.7-14.9-39.9-26.5a121.2 121.2 0 0 1-25.1-41.2c-6.1-16.9-9.1-34.7-8.9-52.6 0-18.5 3.1-35.7 9.1-51.7 11.5-31.1 35.4-56 65.9-68.9 16.3-6.8 33.8-10.2 51.5-10 21 0 39.2 4 55 12.2a111.6 111.6 0 0 1 38.6 32.8c10.1 13.7 17.2 29.3 21.7 46.9 4.3 17.3 5.8 35.5 4.6 54.7zm-122-95.6c-10.8 0-19.9 1.9-26.9 5.6-7 3.7-12.8 8.3-17.2 13.6a48.4 48.4 0 0 0-9.1 17.4c-1.6 5.3-2.7 10.7-3.1 16.2H723c-1.6-17.3-7.6-30.1-15.6-39.1-8.4-8.9-21.9-13.7-38.6-13.7zm-248.5-10.1c8.7-6.3 12.9-16.7 12.9-31 .3-6.8-1.1-13.5-4.1-19.6-2.7-4.9-6.7-9-11.6-11.9a44.8 44.8 0 0 0-16.6-6c-6.4-1.2-12.9-1.8-19.3-1.7h-70.3v79.7h76.1c13.1.1 24.2-3.1 32.9-9.5zm11.8 72c-9.8-7.5-22.9-11.2-39.2-11.2h-81.8v94h80.2c7.5 0 14.4-.7 21.1-2.1s12.7-3.8 17.8-7.2c5.1-3.3 9.2-7.8 12.3-13.6 3-5.8 4.5-13.2 4.5-22.1 0-17.7-5-30.2-14.9-37.8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineBehance (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M634 294.3h199.5v48.4H634zM434.1 485.8c44.1-21.1 67.2-53.2 67.2-102.8 0-98.1-73-121.9-157.3-121.9H112v492.4h238.5c89.4 0 173.3-43 173.3-143 0-61.8-29.2-107.5-89.7-124.7zM220.2 345.1h101.5c39.1 0 74.2 10.9 74.2 56.3 0 41.8-27.3 58.6-66 58.6H220.2V345.1zm115.5 324.8H220.1V534.3H338c47.6 0 77.7 19.9 77.7 70.3 0 49.6-35.9 65.3-80 65.3zm575.8-89.5c0-105.5-61.7-193.4-173.3-193.4-108.5 0-182.3 81.7-182.3 188.8 0 111 69.9 187.2 182.3 187.2 85.1 0 140.2-38.3 166.7-120h-86.3c-9.4 30.5-47.6 46.5-77.3 46.5-57.4 0-87.4-33.6-87.4-90.7h256.9c.3-5.9.7-12.1.7-18.4zM653.9 537c3.1-46.9 34.4-76.2 81.2-76.2 49.2 0 73.8 28.9 78.1 76.2H653.9z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineBell (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M816 768h-24V428c0-141.1-104.3-257.7-240-277.1V112c0-22.1-17.9-40-40-40s-40 17.9-40 40v38.9c-135.7 19.4-240 136-240 277.1v340h-24c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h216c0 61.8 50.2 112 112 112s112-50.2 112-112h216c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM512 888c-26.5 0-48-21.5-48-48h96c0 26.5-21.5 48-48 48zM304 768V428c0-55.6 21.6-107.8 60.9-147.1S456.4 220 512 220c55.6 0 107.8 21.6 147.1 60.9S720 372.4 720 428v340H304z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineBgColors (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M766.4 744.3c43.7 0 79.4-36.2 79.4-80.5 0-53.5-79.4-140.8-79.4-140.8S687 610.3 687 663.8c0 44.3 35.7 80.5 79.4 80.5zm-377.1-44.1c7.1 7.1 18.6 7.1 25.6 0l256.1-256c7.1-7.1 7.1-18.6 0-25.6l-256-256c-.6-.6-1.3-1.2-2-1.7l-78.2-78.2a9.11 9.11 0 0 0-12.8 0l-48 48a9.11 9.11 0 0 0 0 12.8l67.2 67.2-207.8 207.9c-7.1 7.1-7.1 18.6 0 25.6l255.9 256zm12.9-448.6l178.9 178.9H223.4l178.8-178.9zM904 816H120c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-80c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineBilibili (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M164.516 504.574c16.736-.741 32.287-1.778 47.69-2.074 66.797-1.185 132.409 6.814 194.762 31.998 30.51 12.296 59.984 26.517 86.495 46.516 21.772 16.444 26.512 36.887 16.588 67.108-6.22 18.665-18.661 32.739-34.36 45.034-37.028 28.888-75.832 54.96-120.412 69.626-31.251 10.37-63.687 18.222-96.27 23.259-42.803 6.666-86.2 9.629-129.447 13.628-8.886.89-17.92-.296-26.807-.296-4.591 0-5.776-2.37-5.924-6.37-1.185-19.703-2.074-39.553-3.851-59.256-2.222-25.48-4.74-50.96-7.702-76.292-3.999-35.406-8.442-70.663-12.885-105.92-4.592-37.184-9.331-74.22-13.774-111.403-4.443-36.294-8.442-72.736-13.182-109.03-5.332-41.48-11.256-82.96-16.884-124.439C21.888 157.63 12.705 109.04.116 61.19c-.592-2.074 1.185-6.666 2.962-7.259C44.993 37.042 87.056 20.6 128.97 3.86c13.922-5.63 15.107-7.26 15.255 10.37.148 75.107.444 150.214 1.63 225.321.592 39.11 2.073 78.218 4.739 117.18 3.258 47.552 8.294 95.106 12.589 142.659 0 2.074.889 4 1.333 5.185m83.68 218.062a74372.3 74372.3 0 0 0 114.784-86.958c-4.74-6.815-109.303-47.85-133.89-53.33 6.221 46.367 12.59 92.587 19.107 140.288M682.317 708.25C662.38 506.113 645.544 301.756 607 98.584c12.553-1.481 25.106-3.258 37.806-4.295 14.62-1.332 29.388-1.925 44.009-3.11 12.257-1.036 16.835 2.222 17.574 14.217 2.215 32.134 4.135 64.268 6.35 96.403 2.953 43.388 6.055 86.925 9.156 130.314 2.215 31.246 4.135 62.64 6.646 93.886 2.805 34.207 5.907 68.267 9.008 102.474 2.215 25.175 4.283 50.497 6.793 75.672 2.658 27.247 5.612 54.495 8.418 81.742.738 7.849 1.624 15.697 2.215 23.546.296 4.294-2.067 4.887-6.055 4.442-21.709-2.221-43.418-3.85-66.603-5.627M501 415.155c17.616-2.517 34.639-5.33 51.662-7.254 12.287-1.48 24.721-1.629 37.008-2.813 6.661-.593 10.954 1.776 11.99 8.29 2.813 17.322 5.773 34.79 7.846 52.26 3.405 29.017 6.07 58.182 9.178 87.199 2.664 25.464 5.329 50.78 8.29 76.243 3.256 27.24 6.809 54.333 10.213 81.425 1.037 7.995 1.777 16.137 2.813 24.872A9507.093 9507.093 0 0 0 565.245 745C543.929 635.15 522.612 526.189 501 415.155M883 753.976c-24.084 0-47.276.148-70.468-.296-1.933 0-5.352-3.409-5.501-5.484-3.568-37.05-6.69-73.953-9.96-111.004l-9.367-103.149c-3.27-35.42-6.393-70.841-9.663-106.262-.149-2.074-.595-4.001-1.041-7.113 8.623-1.038 16.8-2.668 25.125-2.668 22.449 0 44.897.593 67.495 1.186 5.798.148 8.325 4.001 8.623 9.336.743 11.116 1.784 22.083 1.784 33.198.148 52.167-.149 104.483.297 156.65.446 41.646 1.784 83.439 2.676 125.084zM551.069 368c-5.307-42.568-10.614-84.102-16.069-127.409 13.857-.148 27.715-.591 41.425-.591 4.57 0 6.634 2.513 7.076 7.538 3.686 38.725 7.519 77.45 11.499 117.654-14.3.739-29.042 1.773-43.931 2.808M830 252.066c11.937 0 24.619-.148 37.45 0 6.417.148 9.55 2.672 9.55 10.244-.448 36.224-.15 72.449-.15 108.525V379c-15.367-.742-30.139-1.485-46.7-2.227-.15-41.124-.15-82.396-.15-124.707M497.569 377c-7.424-41.193-14.996-82.091-22.569-124.023 13.512-2.067 27.023-4.282 40.387-5.906 5.939-.738 4.9 4.43 5.197 7.678 1.633 13.879 2.82 27.61 4.305 41.488 2.376 21.704 4.752 43.408 6.979 64.965.297 2.805 0 5.758 0 8.859-11.284 2.362-22.569 4.577-34.299 6.939M768 253.16c12.718 0 25.435.148 38.004-.148 5.685-.149 7.78 1.038 7.63 7.563-.449 17.352.15 34.704.3 52.204.15 21.505 0 43.157 0 64.513-12.868 1.335-24.09 2.373-36.209 3.708-3.142-41.97-6.433-83.793-9.725-127.84\",\"transform\":\"translate(71 112)\"},\"child\":[]}]}]})(props);\n};\nexport function AiOutlineBlock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M856 376H648V168c0-8.8-7.2-16-16-16H168c-8.8 0-16 7.2-16 16v464c0 8.8 7.2 16 16 16h208v208c0 8.8 7.2 16 16 16h464c8.8 0 16-7.2 16-16V392c0-8.8-7.2-16-16-16zm-480 16v188H220V220h360v156H392c-8.8 0-16 7.2-16 16zm204 52v136H444V444h136zm224 360H444V648h188c8.8 0 16-7.2 16-16V444h156v360z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineBold (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M697.8 481.4c33.6-35 54.2-82.3 54.2-134.3v-10.2C752 229.3 663.9 142 555.3 142H259.4c-15.1 0-27.4 12.3-27.4 27.4v679.1c0 16.3 13.2 29.5 29.5 29.5h318.7c117 0 211.8-94.2 211.8-210.5v-11c0-73-37.4-137.3-94.2-175.1zM328 238h224.7c57.1 0 103.3 44.4 103.3 99.3v9.5c0 54.8-46.3 99.3-103.3 99.3H328V238zm366.6 429.4c0 62.9-51.7 113.9-115.5 113.9H328V542.7h251.1c63.8 0 115.5 51 115.5 113.9v10.8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineBook (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-260 72h96v209.9L621.5 312 572 347.4V136zm220 752H232V136h280v296.9c0 3.3 1 6.6 3 9.3a15.9 15.9 0 0 0 22.3 3.7l83.8-59.9 81.4 59.4c2.7 2 6 3.1 9.4 3.1 8.8 0 16-7.2 16-16V136h64v752z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineBorderBottom (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M872 808H152c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h720c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-720-94h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm0-498h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm0 332h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm0-166h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm166 166h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm0-332h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm332 0h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm0 332h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm222-72h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-388 72h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm388-404h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-388 72h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm388 426h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-388 72h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm388-404h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-388 72h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineBorderHorizontal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M540 144h-56c-4.4 0-8 3.6-8 8v720c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V152c0-4.4-3.6-8-8-8zm-166 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm498 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-664 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm498 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM208 310h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm664 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-664 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 166h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm664 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM374 808h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineBorderInner (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M872 476H548V144h-72v332H152c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h324v332h72V548h324c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-166h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 498h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-664h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 498h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM650 216h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm56 592h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-56-592h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-166 0h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm56 592h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-56-426h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm56 260h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineBorderLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M208 144h-56c-4.4 0-8 3.6-8 8v720c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V152c0-4.4-3.6-8-8-8zm166 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm498 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm166 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM540 310h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 166h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM374 808h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineBorderOuter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656zM484 366h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zM302 548h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm364 0h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-182 0h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm0 182h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineBorderRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M872 144h-56c-4.4 0-8 3.6-8 8v720c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V152c0-4.4-3.6-8-8-8zm-166 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-498 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-166 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm166 166h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 166h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM208 808h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm498 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM374 808h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineBorderTop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M872 144H152c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h720c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM208 310h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 498h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 166h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm166-166h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm166 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332-498h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 332h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineBorderVerticle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M872 476H152c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h720c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-166h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 498h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-664h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 498h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM650 216h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm56 592h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-56-592h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-166 0h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm332 0h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zM208 808h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM152 382h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm332 0h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zM208 642h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm332 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineBorder (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineBorderlessTable (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"t\":\"1569683537953\",\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M117 368h231v64H117zM676 368h241v64H676zM412 368h200v64H412zM412 592h200v64H412zM676 592h241v64H676zM117 592h231v64H117zM412 432V179h-64v666h64V592zM676 368V179h-64v666h64V432z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineBoxPlot (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M952 224h-52c-4.4 0-8 3.6-8 8v248h-92V304c0-4.4-3.6-8-8-8H232c-4.4 0-8 3.6-8 8v176h-92V232c0-4.4-3.6-8-8-8H72c-4.4 0-8 3.6-8 8v560c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8V548h92v172c0 4.4 3.6 8 8 8h560c4.4 0 8-3.6 8-8V548h92v244c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8V232c0-4.4-3.6-8-8-8zM296 368h88v288h-88V368zm432 288H448V368h280v288z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineBranches (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M740 161c-61.8 0-112 50.2-112 112 0 50.1 33.1 92.6 78.5 106.9v95.9L320 602.4V318.1c44.2-15 76-56.9 76-106.1 0-61.8-50.2-112-112-112s-112 50.2-112 112c0 49.2 31.8 91 76 106.1V706c-44.2 15-76 56.9-76 106.1 0 61.8 50.2 112 112 112s112-50.2 112-112c0-49.2-31.8-91-76-106.1v-27.8l423.5-138.7a50.52 50.52 0 0 0 34.9-48.2V378.2c42.9-15.8 73.6-57 73.6-105.2 0-61.8-50.2-112-112-112zm-504 51a48.01 48.01 0 0 1 96 0 48.01 48.01 0 0 1-96 0zm96 600a48.01 48.01 0 0 1-96 0 48.01 48.01 0 0 1 96 0zm408-491a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineBug (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M304 280h56c4.4 0 8-3.6 8-8 0-28.3 5.9-53.2 17.1-73.5 10.6-19.4 26-34.8 45.4-45.4C450.9 142 475.7 136 504 136h16c28.3 0 53.2 5.9 73.5 17.1 19.4 10.6 34.8 26 45.4 45.4C650 218.9 656 243.7 656 272c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8 0-40-8.8-76.7-25.9-108.1-17.2-31.5-42.5-56.8-74-74C596.7 72.8 560 64 520 64h-16c-40 0-76.7 8.8-108.1 25.9-31.5 17.2-56.8 42.5-74 74C304.8 195.3 296 232 296 272c0 4.4 3.6 8 8 8z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M940 512H792V412c76.8 0 139-62.2 139-139 0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 34.8-28.2 63-63 63H232c-34.8 0-63-28.2-63-63 0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 76.8 62.2 139 139 139v100H84c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h148v96c0 6.5.2 13 .7 19.3C164.1 728.6 116 796.7 116 876c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8 0-44.2 23.9-82.9 59.6-103.7 6 17.2 13.6 33.6 22.7 49 24.3 41.5 59 76.2 100.5 100.5S460.5 960 512 960s99.8-13.9 141.3-38.2c41.5-24.3 76.2-59 100.5-100.5 9.1-15.5 16.7-31.9 22.7-49C812.1 793.1 836 831.8 836 876c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8 0-79.3-48.1-147.4-116.7-176.7.4-6.4.7-12.8.7-19.3v-96h148c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM716 680c0 36.8-9.7 72-27.8 102.9-17.7 30.3-43 55.6-73.3 73.3C584 874.3 548.8 884 512 884s-72-9.7-102.9-27.8c-30.3-17.7-55.6-43-73.3-73.3C317.7 752 308 716.8 308 680V412h408v268z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineBuild (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M916 210H376c-17.7 0-32 14.3-32 32v236H108c-17.7 0-32 14.3-32 32v272c0 17.7 14.3 32 32 32h540c17.7 0 32-14.3 32-32V546h236c17.7 0 32-14.3 32-32V242c0-17.7-14.3-32-32-32zm-504 68h200v200H412V278zm-68 468H144V546h200v200zm268 0H412V546h200v200zm268-268H680V278h200v200z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineBulb (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M632 888H392c-4.4 0-8 3.6-8 8v32c0 17.7 14.3 32 32 32h192c17.7 0 32-14.3 32-32v-32c0-4.4-3.6-8-8-8zM512 64c-181.1 0-328 146.9-328 328 0 121.4 66 227.4 164 284.1V792c0 17.7 14.3 32 32 32h264c17.7 0 32-14.3 32-32V676.1c98-56.7 164-162.7 164-284.1 0-181.1-146.9-328-328-328zm127.9 549.8L604 634.6V752H420V634.6l-35.9-20.8C305.4 568.3 256 484.5 256 392c0-141.4 114.6-256 256-256s256 114.6 256 256c0 92.5-49.4 176.3-128.1 221.8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineCalculator (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M251.2 387H320v68.8c0 1.8 1.8 3.2 4 3.2h48c2.2 0 4-1.4 4-3.3V387h68.8c1.8 0 3.2-1.8 3.2-4v-48c0-2.2-1.4-4-3.3-4H376v-68.8c0-1.8-1.8-3.2-4-3.2h-48c-2.2 0-4 1.4-4 3.2V331h-68.8c-1.8 0-3.2 1.8-3.2 4v48c0 2.2 1.4 4 3.2 4zm328 0h193.6c1.8 0 3.2-1.8 3.2-4v-48c0-2.2-1.4-4-3.3-4H579.2c-1.8 0-3.2 1.8-3.2 4v48c0 2.2 1.4 4 3.2 4zm0 265h193.6c1.8 0 3.2-1.8 3.2-4v-48c0-2.2-1.4-4-3.3-4H579.2c-1.8 0-3.2 1.8-3.2 4v48c0 2.2 1.4 4 3.2 4zm0 104h193.6c1.8 0 3.2-1.8 3.2-4v-48c0-2.2-1.4-4-3.3-4H579.2c-1.8 0-3.2 1.8-3.2 4v48c0 2.2 1.4 4 3.2 4zm-195.7-81l61.2-74.9c4.3-5.2.7-13.1-5.9-13.1H388c-2.3 0-4.5 1-5.9 2.9l-34 41.6-34-41.6a7.85 7.85 0 0 0-5.9-2.9h-50.9c-6.6 0-10.2 7.9-5.9 13.1l61.2 74.9-62.7 76.8c-4.4 5.2-.8 13.1 5.8 13.1h50.8c2.3 0 4.5-1 5.9-2.9l35.5-43.5 35.5 43.5c1.5 1.8 3.7 2.9 5.9 2.9h50.8c6.6 0 10.2-7.9 5.9-13.1L383.5 675zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-36 732H180V180h664v664z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineCalendar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V460h656v380zM184 392V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v136H184z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineCamera (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M864 248H728l-32.4-90.8a32.07 32.07 0 0 0-30.2-21.2H358.6c-13.5 0-25.6 8.5-30.1 21.2L296 248H160c-44.2 0-80 35.8-80 80v456c0 44.2 35.8 80 80 80h704c44.2 0 80-35.8 80-80V328c0-44.2-35.8-80-80-80zm8 536c0 4.4-3.6 8-8 8H160c-4.4 0-8-3.6-8-8V328c0-4.4 3.6-8 8-8h186.7l17.1-47.8 22.9-64.2h250.5l22.9 64.2 17.1 47.8H864c4.4 0 8 3.6 8 8v456zM512 384c-88.4 0-160 71.6-160 160s71.6 160 160 160 160-71.6 160-160-71.6-160-160-160zm0 256c-53 0-96-43-96-96s43-96 96-96 96 43 96 96-43 96-96 96z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineCar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M380 704h264c4.4 0 8-3.6 8-8v-84c0-4.4-3.6-8-8-8h-40c-4.4 0-8 3.6-8 8v36H428v-36c0-4.4-3.6-8-8-8h-40c-4.4 0-8 3.6-8 8v84c0 4.4 3.6 8 8 8zm340-123a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm239-167.6L935.3 372a8 8 0 0 0-10.9-2.9l-50.7 29.6-78.3-216.2a63.9 63.9 0 0 0-60.9-44.4H301.2c-34.7 0-65.5 22.4-76.2 55.5l-74.6 205.2-50.8-29.6a8 8 0 0 0-10.9 2.9L65 413.4c-2.2 3.8-.9 8.6 2.9 10.8l60.4 35.2-14.5 40c-1.2 3.2-1.8 6.6-1.8 10v348.2c0 15.7 11.8 28.4 26.3 28.4h67.6c12.3 0 23-9.3 25.6-22.3l7.7-37.7h545.6l7.7 37.7c2.7 13 13.3 22.3 25.6 22.3h67.6c14.5 0 26.3-12.7 26.3-28.4V509.4c0-3.4-.6-6.8-1.8-10l-14.5-40 60.3-35.2a8 8 0 0 0 3-10.8zM840 517v237H184V517l15.6-43h624.8l15.6 43zM292.7 218.1l.5-1.3.4-1.3c1.1-3.3 4.1-5.5 7.6-5.5h427.6l75.4 208H220l72.7-199.9zM224 581a40 40 0 1 0 80 0 40 40 0 1 0-80 0z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineCaretDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineCaretLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M689 165.1L308.2 493.5c-10.9 9.4-10.9 27.5 0 37L689 858.9c14.2 12.2 35 1.2 35-18.5V183.6c0-19.7-20.8-30.7-35-18.5z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineCaretRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M715.8 493.5L335 165.1c-14.2-12.2-35-1.2-35 18.5v656.8c0 19.7 20.8 30.7 35 18.5l380.8-328.4c10.9-9.4 10.9-27.6 0-37z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineCaretUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M858.9 689L530.5 308.2c-9.4-10.9-27.5-10.9-37 0L165.1 689c-12.2 14.2-1.2 35 18.5 35h656.8c19.7 0 30.7-20.8 18.5-35z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineCarryOut (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v584zM688 420h-55.2c-5.1 0-10 2.5-13 6.6L468.9 634.4l-64.7-89c-3-4.1-7.8-6.6-13-6.6H336c-6.5 0-10.3 7.4-6.5 12.7l126.4 174a16.1 16.1 0 0 0 26 0l212.6-292.7c3.8-5.4 0-12.8-6.5-12.8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineCheckCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M699 353h-46.9c-10.2 0-19.9 4.9-25.9 13.3L469 584.3l-71.2-98.8c-6-8.3-15.6-13.3-25.9-13.3H325c-6.5 0-10.3 7.4-6.5 12.7l124.6 172.8a31.8 31.8 0 0 0 51.7 0l210.6-292c3.9-5.3.1-12.7-6.4-12.7z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineCheckSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M433.1 657.7a31.8 31.8 0 0 0 51.7 0l210.6-292c3.8-5.3 0-12.7-6.5-12.7H642c-10.2 0-19.9 4.9-25.9 13.3L459 584.3l-71.2-98.8c-6-8.3-15.6-13.3-25.9-13.3H315c-6.5 0-10.3 7.4-6.5 12.7l124.6 172.8z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 0 0-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineChrome (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M928 512.3v-.3c0-229.8-186.2-416-416-416S96 282.2 96 512v.4c0 229.8 186.2 416 416 416s416-186.2 416-416v-.3.2zm-6.7-74.6l.6 3.3-.6-3.3zM676.7 638.2c53.5-82.2 52.5-189.4-11.1-263.7l162.4-8.4c20.5 44.4 32 93.8 32 145.9 0 185.2-144.6 336.6-327.1 347.4l143.8-221.2zM512 652.3c-77.5 0-140.2-62.7-140.2-140.2 0-77.7 62.7-140.2 140.2-140.2S652.2 434.5 652.2 512 589.5 652.3 512 652.3zm369.2-331.7l-3-5.7 3 5.7zM512 164c121.3 0 228.2 62.1 290.4 156.2l-263.6-13.9c-97.5-5.7-190.2 49.2-222.3 141.1L227.8 311c63.1-88.9 166.9-147 284.2-147zM102.5 585.8c26 145 127.1 264 261.6 315.1C229.6 850 128.5 731 102.5 585.8zM164 512c0-55.9 13.2-108.7 36.6-155.5l119.7 235.4c44.1 86.7 137.4 139.7 234 121.6l-74 145.1C302.9 842.5 164 693.5 164 512zm324.7 415.4c4 .2 8 .4 12 .5-4-.2-8-.3-12-.5z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineCiCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm218-572.1h-50.4c-4.4 0-8 3.6-8 8v384.2c0 4.4 3.6 8 8 8H730c4.4 0 8-3.6 8-8V319.9c0-4.4-3.6-8-8-8zm-281.4 49.6c49.5 0 83.1 31.5 87 77.6.4 4.2 3.8 7.4 8 7.4h52.6c2.4 0 4.4-2 4.4-4.4 0-81.2-64-138.1-152.3-138.1C345.4 304 286 373.5 286 488.4v49c0 114 59.4 182.6 162.3 182.6 88 0 152.3-55.1 152.3-132.5 0-2.4-2-4.4-4.4-4.4h-52.7c-4.2 0-7.6 3.2-8 7.3-4.2 43-37.7 72.4-87 72.4-61.1 0-95.6-44.9-95.6-125.2v-49.3c.1-81.4 34.6-126.8 95.7-126.8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineCi (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm218-572.1h-50.4c-4.4 0-8 3.6-8 8v384.2c0 4.4 3.6 8 8 8H730c4.4 0 8-3.6 8-8V319.9c0-4.4-3.6-8-8-8zm-281.4 49.6c49.5 0 83.1 31.5 87 77.6.4 4.2 3.8 7.4 8 7.4h52.6c2.4 0 4.4-2 4.4-4.4 0-81.2-64-138.1-152.3-138.1C345.4 304 286 373.5 286 488.4v49c0 114 59.4 182.6 162.3 182.6 88 0 152.3-55.1 152.3-132.5 0-2.4-2-4.4-4.4-4.4h-52.7c-4.2 0-7.6 3.2-8 7.3-4.2 43-37.7 72.4-87 72.4-61.1 0-95.6-44.9-95.6-125.2v-49.3c.1-81.4 34.6-126.8 95.7-126.8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineClear (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"t\":\"1569683368540\",\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M899.1 869.6l-53-305.6H864c14.4 0 26-11.6 26-26V346c0-14.4-11.6-26-26-26H618V138c0-14.4-11.6-26-26-26H432c-14.4 0-26 11.6-26 26v182H160c-14.4 0-26 11.6-26 26v192c0 14.4 11.6 26 26 26h17.9l-53 305.6c-0.3 1.5-0.4 3-0.4 4.4 0 14.4 11.6 26 26 26h723c1.5 0 3-0.1 4.4-0.4 14.2-2.4 23.7-15.9 21.2-30zM204 390h272V182h72v208h272v104H204V390z m468 440V674c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v156H416V674c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v156H202.8l45.1-260H776l45.1 260H672z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineClockCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M686.7 638.6L544.1 535.5V288c0-4.4-3.6-8-8-8H488c-4.4 0-8 3.6-8 8v275.4c0 2.6 1.2 5 3.3 6.5l165.4 120.6c3.6 2.6 8.6 1.8 11.2-1.7l28.6-39c2.6-3.7 1.8-8.7-1.8-11.2z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineCloseCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64c247.4 0 448 200.6 448 448S759.4 960 512 960 64 759.4 64 512 264.6 64 512 64Zm0 76c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372Zm128.013 198.826c.023.007.042.018.083.059l45.02 45.019c.04.04.05.06.058.083a.118.118 0 0 1 0 .07c-.007.022-.018.041-.059.082L557.254 512l127.861 127.862a.268.268 0 0 1 .05.06l.009.023a.118.118 0 0 1 0 .07c-.007.022-.018.041-.059.082l-45.019 45.02c-.04.04-.06.05-.083.058a.118.118 0 0 1-.07 0c-.022-.007-.041-.018-.082-.059L512 557.254 384.14 685.115c-.042.041-.06.052-.084.059a.118.118 0 0 1-.07 0c-.022-.007-.041-.018-.082-.059l-45.02-45.019c-.04-.04-.05-.06-.058-.083a.118.118 0 0 1 0-.07c.007-.022.018-.041.059-.082L466.745 512l-127.86-127.86a.268.268 0 0 1-.05-.061l-.009-.023a.118.118 0 0 1 0-.07c.007-.022.018-.041.059-.082l45.019-45.02c.04-.04.06-.05.083-.058a.118.118 0 0 1 .07 0c.022.007.041.018.082.059L512 466.745l127.862-127.86c.04-.041.06-.052.083-.059a.118.118 0 0 1 .07 0Z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineCloseSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112c17.7 0 32 14.3 32 32v736c0 17.7-14.3 32-32 32H144c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32Zm-40 72H184v656h656V184ZM640.013 338.826c.023.007.042.018.083.059l45.02 45.019c.04.04.05.06.058.083a.118.118 0 0 1 0 .07c-.007.022-.018.041-.059.082L557.254 512l127.861 127.862a.268.268 0 0 1 .05.06l.009.023a.118.118 0 0 1 0 .07c-.007.022-.018.041-.059.082l-45.019 45.02c-.04.04-.06.05-.083.058a.118.118 0 0 1-.07 0c-.022-.007-.041-.018-.082-.059L512 557.254 384.14 685.115c-.042.041-.06.052-.084.059a.118.118 0 0 1-.07 0c-.022-.007-.041-.018-.082-.059l-45.02-45.019c-.04-.04-.05-.06-.058-.083a.118.118 0 0 1 0-.07c.007-.022.018-.041.059-.082L466.745 512l-127.86-127.86a.268.268 0 0 1-.05-.061l-.009-.023a.118.118 0 0 1 0-.07c.007-.022.018-.041.059-.082l45.019-45.02c.04-.04.06-.05.083-.058a.118.118 0 0 1 .07 0c.022.007.041.018.082.059L512 466.745l127.862-127.86c.04-.041.06-.052.083-.059a.118.118 0 0 1 .07 0Z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineClose (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M799.855 166.312c.023.007.043.018.084.059l57.69 57.69c.041.041.052.06.059.084a.118.118 0 0 1 0 .069c-.007.023-.018.042-.059.083L569.926 512l287.703 287.703c.041.04.052.06.059.083a.118.118 0 0 1 0 .07c-.007.022-.018.042-.059.083l-57.69 57.69c-.041.041-.06.052-.084.059a.118.118 0 0 1-.069 0c-.023-.007-.042-.018-.083-.059L512 569.926 224.297 857.629c-.04.041-.06.052-.083.059a.118.118 0 0 1-.07 0c-.022-.007-.042-.018-.083-.059l-57.69-57.69c-.041-.041-.052-.06-.059-.084a.118.118 0 0 1 0-.069c.007-.023.018-.042.059-.083L454.073 512 166.371 224.297c-.041-.04-.052-.06-.059-.083a.118.118 0 0 1 0-.07c.007-.022.018-.042.059-.083l57.69-57.69c.041-.041.06-.052.084-.059a.118.118 0 0 1 .069 0c.023.007.042.018.083.059L512 454.073l287.703-287.702c.04-.041.06-.052.083-.059a.118.118 0 0 1 .07 0Z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineCloudDownload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M624 706.3h-74.1V464c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v242.3H400c-6.7 0-10.4 7.7-6.3 12.9l112 141.7a8 8 0 0 0 12.6 0l112-141.7c4.1-5.2.4-12.9-6.3-12.9z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M811.4 366.7C765.6 245.9 648.9 160 512.2 160S258.8 245.8 213 366.6C127.3 389.1 64 467.2 64 560c0 110.5 89.5 200 199.9 200H304c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8h-40.1c-33.7 0-65.4-13.4-89-37.7-23.5-24.2-36-56.8-34.9-90.6.9-26.4 9.9-51.2 26.2-72.1 16.7-21.3 40.1-36.8 66.1-43.7l37.9-9.9 13.9-36.6c8.6-22.8 20.6-44.1 35.7-63.4a245.6 245.6 0 0 1 52.4-49.9c41.1-28.9 89.5-44.2 140-44.2s98.9 15.3 140 44.2c19.9 14 37.5 30.8 52.4 49.9 15.1 19.3 27.1 40.7 35.7 63.4l13.8 36.5 37.8 10C846.1 454.5 884 503.8 884 560c0 33.1-12.9 64.3-36.3 87.7a123.07 123.07 0 0 1-87.6 36.3H720c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h40.1C870.5 760 960 670.5 960 560c0-92.7-63.1-170.7-148.6-193.3z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineCloudServer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M704 446H320c-4.4 0-8 3.6-8 8v402c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8V454c0-4.4-3.6-8-8-8zm-328 64h272v117H376V510zm272 290H376V683h272v117z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M424 748a32 32 0 1 0 64 0 32 32 0 1 0-64 0zm0-178a32 32 0 1 0 64 0 32 32 0 1 0-64 0z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M811.4 368.9C765.6 248 648.9 162 512.2 162S258.8 247.9 213 368.8C126.9 391.5 63.5 470.2 64 563.6 64.6 668 145.6 752.9 247.6 762c4.7.4 8.7-3.3 8.7-8v-60.4c0-4-3-7.4-7-7.9-27-3.4-52.5-15.2-72.1-34.5-24-23.5-37.2-55.1-37.2-88.6 0-28 9.1-54.4 26.2-76.4 16.7-21.4 40.2-36.9 66.1-43.7l37.9-10 13.9-36.7c8.6-22.8 20.6-44.2 35.7-63.5 14.9-19.2 32.6-36 52.4-50 41.1-28.9 89.5-44.2 140-44.2s98.9 15.3 140 44.3c19.9 14 37.5 30.8 52.4 50 15.1 19.3 27.1 40.7 35.7 63.5l13.8 36.6 37.8 10c54.2 14.4 92.1 63.7 92.1 120 0 33.6-13.2 65.1-37.2 88.6-19.5 19.2-44.9 31.1-71.9 34.5-4 .5-6.9 3.9-6.9 7.9V754c0 4.7 4.1 8.4 8.8 8 101.7-9.2 182.5-94 183.2-198.2.6-93.4-62.7-172.1-148.6-194.9z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineCloudSync (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M811.4 368.9C765.6 248 648.9 162 512.2 162S258.8 247.9 213 368.8C126.9 391.5 63.5 470.2 64 563.6 64.6 668 145.6 752.9 247.6 762c4.7.4 8.7-3.3 8.7-8v-60.4c0-4-3-7.4-7-7.9-27-3.4-52.5-15.2-72.1-34.5-24-23.5-37.2-55.1-37.2-88.6 0-28 9.1-54.4 26.2-76.4 16.7-21.4 40.2-36.9 66.1-43.7l37.9-10 13.9-36.7c8.6-22.8 20.6-44.2 35.7-63.5 14.9-19.2 32.6-36 52.4-50 41.1-28.9 89.5-44.2 140-44.2s98.9 15.3 140 44.3c19.9 14 37.5 30.8 52.4 50 15.1 19.3 27.1 40.7 35.7 63.5l13.8 36.6 37.8 10c54.2 14.4 92.1 63.7 92.1 120 0 33.6-13.2 65.1-37.2 88.6-19.5 19.2-44.9 31.1-71.9 34.5-4 .5-6.9 3.9-6.9 7.9V754c0 4.7 4.1 8.4 8.8 8 101.7-9.2 182.5-94 183.2-198.2.6-93.4-62.7-172.1-148.6-194.9z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M376.9 656.4c1.8-33.5 15.7-64.7 39.5-88.6 25.4-25.5 60-39.8 96-39.8 36.2 0 70.3 14.1 96 39.8 1.4 1.4 2.7 2.8 4.1 4.3l-25 19.6a8 8 0 0 0 3 14.1l98.2 24c5 1.2 9.9-2.6 9.9-7.7l.5-101.3c0-6.7-7.6-10.5-12.9-6.3L663 532.7c-36.6-42-90.4-68.6-150.5-68.6-107.4 0-195 85.1-199.4 191.7-.2 4.5 3.4 8.3 8 8.3H369c4.2-.1 7.7-3.4 7.9-7.7zM703 664h-47.9c-4.2 0-7.7 3.3-8 7.6-1.8 33.5-15.7 64.7-39.5 88.6-25.4 25.5-60 39.8-96 39.8-36.2 0-70.3-14.1-96-39.8-1.4-1.4-2.7-2.8-4.1-4.3l25-19.6a8 8 0 0 0-3-14.1l-98.2-24c-5-1.2-9.9 2.6-9.9 7.7l-.4 101.4c0 6.7 7.6 10.5 12.9 6.3l23.2-18.2c36.6 42 90.4 68.6 150.5 68.6 107.4 0 195-85.1 199.4-191.7.2-4.5-3.4-8.3-8-8.3z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineCloudUpload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M518.3 459a8 8 0 0 0-12.6 0l-112 141.7a7.98 7.98 0 0 0 6.3 12.9h73.9V856c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V613.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 459z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M811.4 366.7C765.6 245.9 648.9 160 512.2 160S258.8 245.8 213 366.6C127.3 389.1 64 467.2 64 560c0 110.5 89.5 200 199.9 200H304c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8h-40.1c-33.7 0-65.4-13.4-89-37.7-23.5-24.2-36-56.8-34.9-90.6.9-26.4 9.9-51.2 26.2-72.1 16.7-21.3 40.1-36.8 66.1-43.7l37.9-9.9 13.9-36.6c8.6-22.8 20.6-44.1 35.7-63.4a245.6 245.6 0 0 1 52.4-49.9c41.1-28.9 89.5-44.2 140-44.2s98.9 15.3 140 44.2c19.9 14 37.5 30.8 52.4 49.9 15.1 19.3 27.1 40.7 35.7 63.4l13.8 36.5 37.8 10C846.1 454.5 884 503.8 884 560c0 33.1-12.9 64.3-36.3 87.7a123.07 123.07 0 0 1-87.6 36.3H720c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h40.1C870.5 760 960 670.5 960 560c0-92.7-63.1-170.7-148.6-193.3z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineCloud (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M811.4 418.7C765.6 297.9 648.9 212 512.2 212S258.8 297.8 213 418.6C127.3 441.1 64 519.1 64 612c0 110.5 89.5 200 199.9 200h496.2C870.5 812 960 722.5 960 612c0-92.7-63.1-170.7-148.6-193.3zm36.3 281a123.07 123.07 0 0 1-87.6 36.3H263.9c-33.1 0-64.2-12.9-87.6-36.3A123.3 123.3 0 0 1 140 612c0-28 9.1-54.3 26.2-76.3a125.7 125.7 0 0 1 66.1-43.7l37.9-9.9 13.9-36.6c8.6-22.8 20.6-44.1 35.7-63.4a245.6 245.6 0 0 1 52.4-49.9c41.1-28.9 89.5-44.2 140-44.2s98.9 15.3 140 44.2c19.9 14 37.5 30.8 52.4 49.9 15.1 19.3 27.1 40.7 35.7 63.4l13.8 36.5 37.8 10c54.3 14.5 92.1 63.8 92.1 120 0 33.1-12.9 64.3-36.3 87.7z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineCluster (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M888 680h-54V540H546v-92h238c8.8 0 16-7.2 16-16V168c0-8.8-7.2-16-16-16H240c-8.8 0-16 7.2-16 16v264c0 8.8 7.2 16 16 16h238v92H190v140h-54c-4.4 0-8 3.6-8 8v176c0 4.4 3.6 8 8 8h176c4.4 0 8-3.6 8-8V688c0-4.4-3.6-8-8-8h-54v-72h220v72h-54c-4.4 0-8 3.6-8 8v176c0 4.4 3.6 8 8 8h176c4.4 0 8-3.6 8-8V688c0-4.4-3.6-8-8-8h-54v-72h220v72h-54c-4.4 0-8 3.6-8 8v176c0 4.4 3.6 8 8 8h176c4.4 0 8-3.6 8-8V688c0-4.4-3.6-8-8-8zM256 805.3c0 1.5-1.2 2.7-2.7 2.7h-58.7c-1.5 0-2.7-1.2-2.7-2.7v-58.7c0-1.5 1.2-2.7 2.7-2.7h58.7c1.5 0 2.7 1.2 2.7 2.7v58.7zm288 0c0 1.5-1.2 2.7-2.7 2.7h-58.7c-1.5 0-2.7-1.2-2.7-2.7v-58.7c0-1.5 1.2-2.7 2.7-2.7h58.7c1.5 0 2.7 1.2 2.7 2.7v58.7zM288 384V216h448v168H288zm544 421.3c0 1.5-1.2 2.7-2.7 2.7h-58.7c-1.5 0-2.7-1.2-2.7-2.7v-58.7c0-1.5 1.2-2.7 2.7-2.7h58.7c1.5 0 2.7 1.2 2.7 2.7v58.7zM360 300a40 40 0 1 0 80 0 40 40 0 1 0-80 0z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineCodeSandbox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M709.6 210l.4-.2h.2L512 96 313.9 209.8h-.2l.7.3L151.5 304v416L512 928l360.5-208V304l-162.9-94zM482.7 843.6L339.6 761V621.4L210 547.8V372.9l272.7 157.3v313.4zM238.2 321.5l134.7-77.8 138.9 79.7 139.1-79.9 135.2 78-273.9 158-274-158zM814 548.3l-128.8 73.1v139.1l-143.9 83V530.4L814 373.1v175.2z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineCode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M516 673c0 4.4 3.4 8 7.5 8h185c4.1 0 7.5-3.6 7.5-8v-48c0-4.4-3.4-8-7.5-8h-185c-4.1 0-7.5 3.6-7.5 8v48zm-194.9 6.1l192-161c3.8-3.2 3.8-9.1 0-12.3l-192-160.9A7.95 7.95 0 0 0 308 351v62.7c0 2.4 1 4.6 2.9 6.1L420.7 512l-109.8 92.2a8.1 8.1 0 0 0-2.9 6.1V673c0 6.8 7.9 10.5 13.1 6.1zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineCodepenCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M488.1 414.7V303.4L300.9 428l83.6 55.8zm254.1 137.7v-79.8l-59.8 39.9zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm278 533c0 1.1-.1 2.1-.2 3.1 0 .4-.1.7-.2 1a14.16 14.16 0 0 1-.8 3.2c-.2.6-.4 1.2-.6 1.7-.2.4-.4.8-.5 1.2-.3.5-.5 1.1-.8 1.6-.2.4-.4.7-.7 1.1-.3.5-.7 1-1 1.5-.3.4-.5.7-.8 1-.4.4-.8.9-1.2 1.3-.3.3-.6.6-1 .9-.4.4-.9.8-1.4 1.1-.4.3-.7.6-1.1.8-.1.1-.3.2-.4.3L525.2 786c-4 2.7-8.6 4-13.2 4-4.7 0-9.3-1.4-13.3-4L244.6 616.9c-.1-.1-.3-.2-.4-.3l-1.1-.8c-.5-.4-.9-.7-1.3-1.1-.3-.3-.6-.6-1-.9-.4-.4-.8-.8-1.2-1.3a7 7 0 0 1-.8-1c-.4-.5-.7-1-1-1.5-.2-.4-.5-.7-.7-1.1-.3-.5-.6-1.1-.8-1.6-.2-.4-.4-.8-.5-1.2-.2-.6-.4-1.2-.6-1.7-.1-.4-.3-.8-.4-1.2-.2-.7-.3-1.3-.4-2-.1-.3-.1-.7-.2-1-.1-1-.2-2.1-.2-3.1V427.9c0-1 .1-2.1.2-3.1.1-.3.1-.7.2-1a14.16 14.16 0 0 1 .8-3.2c.2-.6.4-1.2.6-1.7.2-.4.4-.8.5-1.2.2-.5.5-1.1.8-1.6.2-.4.4-.7.7-1.1.6-.9 1.2-1.7 1.8-2.5.4-.4.8-.9 1.2-1.3.3-.3.6-.6 1-.9.4-.4.9-.8 1.3-1.1.4-.3.7-.6 1.1-.8.1-.1.3-.2.4-.3L498.7 239c8-5.3 18.5-5.3 26.5 0l254.1 169.1c.1.1.3.2.4.3l1.1.8 1.4 1.1c.3.3.6.6 1 .9.4.4.8.8 1.2 1.3.7.8 1.3 1.6 1.8 2.5.2.4.5.7.7 1.1.3.5.6 1 .8 1.6.2.4.4.8.5 1.2.2.6.4 1.2.6 1.7.1.4.3.8.4 1.2.2.7.3 1.3.4 2 .1.3.1.7.2 1 .1 1 .2 2.1.2 3.1V597zm-254.1 13.3v111.3L723.1 597l-83.6-55.8zM281.8 472.6v79.8l59.8-39.9zM512 456.1l-84.5 56.4 84.5 56.4 84.5-56.4zM723.1 428L535.9 303.4v111.3l103.6 69.1zM384.5 541.2L300.9 597l187.2 124.6V610.3l-103.6-69.1z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineCodepen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M911.7 385.3l-.3-1.5c-.2-1-.3-1.9-.6-2.9-.2-.6-.4-1.1-.5-1.7-.3-.8-.5-1.7-.9-2.5-.2-.6-.5-1.1-.8-1.7-.4-.8-.8-1.5-1.2-2.3-.3-.5-.6-1.1-1-1.6-.8-1.2-1.7-2.4-2.6-3.6-.5-.6-1.1-1.3-1.7-1.9-.4-.5-.9-.9-1.4-1.3-.6-.6-1.3-1.1-1.9-1.6-.5-.4-1-.8-1.6-1.2-.2-.1-.4-.3-.6-.4L531.1 117.8a34.3 34.3 0 0 0-38.1 0L127.3 361.3c-.2.1-.4.3-.6.4-.5.4-1 .8-1.6 1.2-.7.5-1.3 1.1-1.9 1.6-.5.4-.9.9-1.4 1.3-.6.6-1.2 1.2-1.7 1.9-1 1.1-1.8 2.3-2.6 3.6-.3.5-.7 1-1 1.6-.4.7-.8 1.5-1.2 2.3-.3.5-.5 1.1-.8 1.7-.3.8-.6 1.7-.9 2.5-.2.6-.4 1.1-.5 1.7-.2.9-.4 1.9-.6 2.9l-.3 1.5c-.2 1.5-.3 3-.3 4.5v243.5c0 1.5.1 3 .3 4.5l.3 1.5.6 2.9c.2.6.3 1.1.5 1.7.3.9.6 1.7.9 2.5.2.6.5 1.1.8 1.7.4.8.7 1.5 1.2 2.3.3.5.6 1.1 1 1.6.5.7.9 1.4 1.5 2.1l1.2 1.5c.5.6 1.1 1.3 1.7 1.9.4.5.9.9 1.4 1.3.6.6 1.3 1.1 1.9 1.6.5.4 1 .8 1.6 1.2.2.1.4.3.6.4L493 905.7c5.6 3.8 12.3 5.8 19.1 5.8 6.6 0 13.3-1.9 19.1-5.8l365.6-243.5c.2-.1.4-.3.6-.4.5-.4 1-.8 1.6-1.2.7-.5 1.3-1.1 1.9-1.6.5-.4.9-.9 1.4-1.3.6-.6 1.2-1.2 1.7-1.9l1.2-1.5 1.5-2.1c.3-.5.7-1 1-1.6.4-.8.8-1.5 1.2-2.3.3-.5.5-1.1.8-1.7.3-.8.6-1.7.9-2.5.2-.5.4-1.1.5-1.7.3-.9.4-1.9.6-2.9l.3-1.5c.2-1.5.3-3 .3-4.5V389.8c-.3-1.5-.4-3-.6-4.5zM546.4 210.5l269.4 179.4-120.3 80.4-149-99.6V210.5zm-68.8 0v160.2l-149 99.6-120.3-80.4 269.3-179.4zM180.7 454.1l86 57.5-86 57.5v-115zm296.9 358.5L208.3 633.2l120.3-80.4 149 99.6v160.2zM512 592.8l-121.6-81.2L512 430.3l121.6 81.2L512 592.8zm34.4 219.8V652.4l149-99.6 120.3 80.4-269.3 179.4zM843.3 569l-86-57.5 86-57.5v115z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineCoffee (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M275 281c19.9 0 36-16.1 36-36V36c0-19.9-16.1-36-36-36s-36 16.1-36 36v209c0 19.9 16.1 36 36 36zm613 144H768c0-39.8-32.2-72-72-72H200c-39.8 0-72 32.2-72 72v248c0 3.4.2 6.7.7 9.9-.5 7-.7 14-.7 21.1 0 176.7 143.3 320 320 320 160.1 0 292.7-117.5 316.3-271H888c39.8 0 72-32.2 72-72V497c0-39.8-32.2-72-72-72zM696 681h-1.1c.7 7.6 1.1 15.2 1.1 23 0 137-111 248-248 248S200 841 200 704c0-7.8.4-15.4 1.1-23H200V425h496v256zm192-8H776V497h112v176zM613 281c19.9 0 36-16.1 36-36V36c0-19.9-16.1-36-36-36s-36 16.1-36 36v209c0 19.9 16.1 36 36 36zm-170 0c19.9 0 36-16.1 36-36V36c0-19.9-16.1-36-36-36s-36 16.1-36 36v209c0 19.9 16.1 36 36 36z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineColumnHeight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M840 836H184c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h656c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zm0-724H184c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h656c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zM610.8 378c6 0 9.4-7 5.7-11.7L515.7 238.7a7.14 7.14 0 0 0-11.3 0L403.6 366.3a7.23 7.23 0 0 0 5.7 11.7H476v268h-62.8c-6 0-9.4 7-5.7 11.7l100.8 127.5c2.9 3.7 8.5 3.7 11.3 0l100.8-127.5c3.7-4.7.4-11.7-5.7-11.7H548V378h62.8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineColumnWidth (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M180 176h-60c-4.4 0-8 3.6-8 8v656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V184c0-4.4-3.6-8-8-8zm724 0h-60c-4.4 0-8 3.6-8 8v656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V184c0-4.4-3.6-8-8-8zM785.3 504.3L657.7 403.6a7.23 7.23 0 0 0-11.7 5.7V476H378v-62.8c0-6-7-9.4-11.7-5.7L238.7 508.3a7.14 7.14 0 0 0 0 11.3l127.5 100.8c4.7 3.7 11.7.4 11.7-5.7V548h268v62.8c0 6 7 9.4 11.7 5.7l127.5-100.8c3.8-2.9 3.8-8.5.2-11.4z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineComment (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"t\":\"1569682881658\",\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M573 421c-23.1 0-41 17.9-41 40s17.9 40 41 40c21.1 0 39-17.9 39-40s-17.9-40-39-40zM293 421c-23.1 0-41 17.9-41 40s17.9 40 41 40c21.1 0 39-17.9 39-40s-17.9-40-39-40z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M894 345c-48.1-66-115.3-110.1-189-130v0.1c-17.1-19-36.4-36.5-58-52.1-163.7-119-393.5-82.7-513 81-96.3 133-92.2 311.9 6 439l0.8 132.6c0 3.2 0.5 6.4 1.5 9.4 5.3 16.9 23.3 26.2 40.1 20.9L309 806c33.5 11.9 68.1 18.7 102.5 20.6l-0.5 0.4c89.1 64.9 205.9 84.4 313 49l127.1 41.4c3.2 1 6.5 1.6 9.9 1.6 17.7 0 32-14.3 32-32V753c88.1-119.6 90.4-284.9 1-408zM323 735l-12-5-99 31-1-104-8-9c-84.6-103.2-90.2-251.9-11-361 96.4-132.2 281.2-161.4 413-66 132.2 96.1 161.5 280.6 66 412-80.1 109.9-223.5 150.5-348 102z m505-17l-8 10 1 104-98-33-12 5c-56 20.8-115.7 22.5-171 7l-0.2-0.1C613.7 788.2 680.7 742.2 729 676c76.4-105.3 88.8-237.6 44.4-350.4l0.6 0.4c23 16.5 44.1 37.1 62 62 72.6 99.6 68.5 235.2-8 330z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M433 421c-23.1 0-41 17.9-41 40s17.9 40 41 40c21.1 0 39-17.9 39-40s-17.9-40-39-40z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineCompass (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm198.4-588.1a32 32 0 0 0-24.5.5L414.9 415 296.4 686c-3.6 8.2-3.6 17.5 0 25.7 3.4 7.8 9.7 13.9 17.7 17 3.8 1.5 7.7 2.2 11.7 2.2 4.4 0 8.7-.9 12.8-2.7l271-118.6 118.5-271a32.06 32.06 0 0 0-17.7-42.7zM576.8 534.4l26.2 26.2-42.4 42.4-26.2-26.2L380 644.4 447.5 490 422 464.4l42.4-42.4 25.5 25.5L644.4 380l-67.6 154.4zM464.4 422L422 464.4l25.5 25.6 86.9 86.8 26.2 26.2 42.4-42.4-26.2-26.2-86.8-86.9z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineCompress (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"t\":\"1569683667781\",\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M326 664H104c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h174v176c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V696c0-17.7-14.3-32-32-32zM342 88h-48c-8.8 0-16 7.2-16 16v176H104c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h222c17.7 0 32-14.3 32-32V104c0-8.8-7.2-16-16-16zM920 664H698c-17.7 0-32 14.3-32 32v224c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V744h174c8.8 0 16-7.2 16-16v-48c0-8.8-7.2-16-16-16zM920 280H746V104c0-8.8-7.2-16-16-16h-48c-8.8 0-16 7.2-16 16v224c0 17.7 14.3 32 32 32h222c8.8 0 16-7.2 16-16v-48c0-8.8-7.2-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineConsoleSql (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"t\":\"1569683650778\",\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M301.3 496.7c-23.8 0-40.2-10.5-41.6-26.9H205c0.9 43.4 36.9 70.3 93.9 70.3 59.1 0 95-28.4 95-75.5 0-35.8-20-55.9-64.5-64.5l-29.1-5.6c-23.8-4.7-33.8-11.9-33.8-24.2 0-15 13.3-24.5 33.4-24.5 20.1 0 35.3 11.1 36.6 27h53c-0.9-41.7-37.5-70.3-90.3-70.3-54.4 0-89.7 28.9-89.7 73 0 35.5 21.2 58 62.5 65.8l29.7 5.9c25.8 5.2 35.6 11.9 35.6 24.4 0.1 14.7-14.5 25.1-36 25.1z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M928 140H96c-17.7 0-32 14.3-32 32v496c0 17.7 14.3 32 32 32h380v112H304c-8.8 0-16 7.2-16 16v48c0 4.4 3.6 8 8 8h432c4.4 0 8-3.6 8-8v-48c0-8.8-7.2-16-16-16H548V700h380c17.7 0 32-14.3 32-32V172c0-17.7-14.3-32-32-32z m-40 488H136V212h752v416z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M828.5 486.7h-95.8V308.5h-57.4V534h153.2zM529.9 540.1c14.1 0 27.2-2 39.1-5.8l13.3 20.3h53.3L607.9 511c21.1-20 33-51.1 33-89.8 0-73.3-43.3-118.8-110.9-118.8s-111.2 45.3-111.2 118.8c-0.1 73.7 43 118.9 111.1 118.9z m0-190c31.6 0 52.7 27.7 52.7 71.1 0 16.7-3.6 30.6-10 40.5l-5.2-6.9h-48.8L542 491c-3.9 0.9-8 1.4-12.2 1.4-31.7 0-52.8-27.5-52.8-71.2 0.1-43.6 21.2-71.1 52.9-71.1z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineContacts (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M594.3 601.5a111.8 111.8 0 0 0 29.1-75.5c0-61.9-49.9-112-111.4-112s-111.4 50.1-111.4 112c0 29.1 11 55.5 29.1 75.5a158.09 158.09 0 0 0-74.6 126.1 8 8 0 0 0 8 8.4H407c4.2 0 7.6-3.3 7.9-7.5 3.8-50.6 46-90.5 97.2-90.5s93.4 40 97.2 90.5c.3 4.2 3.7 7.5 7.9 7.5H661a8 8 0 0 0 8-8.4c-2.8-53.3-32-99.7-74.7-126.1zM512 578c-28.5 0-51.7-23.3-51.7-52s23.2-52 51.7-52 51.7 23.3 51.7 52-23.2 52-51.7 52zm416-354H768v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H548v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H328v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H96c-17.7 0-32 14.3-32 32v576c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32zm-40 568H136V296h120v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h148v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h148v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h120v496z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineContainer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-40 824H232V687h97.9c11.6 32.8 32 62.3 59.1 84.7 34.5 28.5 78.2 44.3 123 44.3s88.5-15.7 123-44.3c27.1-22.4 47.5-51.9 59.1-84.7H792v-63H643.6l-5.2 24.7C626.4 708.5 573.2 752 512 752s-114.4-43.5-126.5-103.3l-5.2-24.7H232V136h560v752zM320 341h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H320c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm0 160h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H320c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineControl (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656zM340 683v77c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-77c-10.1 3.3-20.8 5-32 5s-21.9-1.8-32-5zm64-198V264c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v221c10.1-3.3 20.8-5 32-5s21.9 1.8 32 5zm-64 198c10.1 3.3 20.8 5 32 5s21.9-1.8 32-5c41.8-13.5 72-52.7 72-99s-30.2-85.5-72-99c-10.1-3.3-20.8-5-32-5s-21.9 1.8-32 5c-41.8 13.5-72 52.7-72 99s30.2 85.5 72 99zm.1-115.7c.3-.6.7-1.2 1-1.8v-.1l1.2-1.8c.1-.2.2-.3.3-.5.3-.5.7-.9 1-1.4.1-.1.2-.3.3-.4.5-.6.9-1.1 1.4-1.6l.3-.3 1.2-1.2.4-.4c.5-.5 1-.9 1.6-1.4.6-.5 1.1-.9 1.7-1.3.2-.1.3-.2.5-.3.5-.3.9-.7 1.4-1 .1-.1.3-.2.4-.3.6-.4 1.2-.7 1.9-1.1.1-.1.3-.1.4-.2.5-.3 1-.5 1.6-.8l.6-.3c.7-.3 1.3-.6 2-.8.7-.3 1.4-.5 2.1-.7.2-.1.4-.1.6-.2.6-.2 1.1-.3 1.7-.4.2 0 .3-.1.5-.1.7-.2 1.5-.3 2.2-.4.2 0 .3 0 .5-.1.6-.1 1.2-.1 1.8-.2h.6c.8 0 1.5-.1 2.3-.1s1.5 0 2.3.1h.6c.6 0 1.2.1 1.8.2.2 0 .3 0 .5.1.7.1 1.5.2 2.2.4.2 0 .3.1.5.1.6.1 1.2.3 1.7.4.2.1.4.1.6.2.7.2 1.4.4 2.1.7.7.2 1.3.5 2 .8l.6.3c.5.2 1.1.5 1.6.8.1.1.3.1.4.2.6.3 1.3.7 1.9 1.1.1.1.3.2.4.3.5.3 1 .6 1.4 1 .2.1.3.2.5.3.6.4 1.2.9 1.7 1.3s1.1.9 1.6 1.4l.4.4 1.2 1.2.3.3c.5.5 1 1.1 1.4 1.6.1.1.2.3.3.4.4.4.7.9 1 1.4.1.2.2.3.3.5l1.2 1.8s0 .1.1.1a36.18 36.18 0 0 1 5.1 18.5c0 6-1.5 11.7-4.1 16.7-.3.6-.7 1.2-1 1.8 0 0 0 .1-.1.1l-1.2 1.8c-.1.2-.2.3-.3.5-.3.5-.7.9-1 1.4-.1.1-.2.3-.3.4-.5.6-.9 1.1-1.4 1.6l-.3.3-1.2 1.2-.4.4c-.5.5-1 .9-1.6 1.4-.6.5-1.1.9-1.7 1.3-.2.1-.3.2-.5.3-.5.3-.9.7-1.4 1-.1.1-.3.2-.4.3-.6.4-1.2.7-1.9 1.1-.1.1-.3.1-.4.2-.5.3-1 .5-1.6.8l-.6.3c-.7.3-1.3.6-2 .8-.7.3-1.4.5-2.1.7-.2.1-.4.1-.6.2-.6.2-1.1.3-1.7.4-.2 0-.3.1-.5.1-.7.2-1.5.3-2.2.4-.2 0-.3 0-.5.1-.6.1-1.2.1-1.8.2h-.6c-.8 0-1.5.1-2.3.1s-1.5 0-2.3-.1h-.6c-.6 0-1.2-.1-1.8-.2-.2 0-.3 0-.5-.1-.7-.1-1.5-.2-2.2-.4-.2 0-.3-.1-.5-.1-.6-.1-1.2-.3-1.7-.4-.2-.1-.4-.1-.6-.2-.7-.2-1.4-.4-2.1-.7-.7-.2-1.3-.5-2-.8l-.6-.3c-.5-.2-1.1-.5-1.6-.8-.1-.1-.3-.1-.4-.2-.6-.3-1.3-.7-1.9-1.1-.1-.1-.3-.2-.4-.3-.5-.3-1-.6-1.4-1-.2-.1-.3-.2-.5-.3-.6-.4-1.2-.9-1.7-1.3s-1.1-.9-1.6-1.4l-.4-.4-1.2-1.2-.3-.3c-.5-.5-1-1.1-1.4-1.6-.1-.1-.2-.3-.3-.4-.4-.4-.7-.9-1-1.4-.1-.2-.2-.3-.3-.5l-1.2-1.8v-.1c-.4-.6-.7-1.2-1-1.8-2.6-5-4.1-10.7-4.1-16.7s1.5-11.7 4.1-16.7zM620 539v221c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V539c-10.1 3.3-20.8 5-32 5s-21.9-1.8-32-5zm64-198v-77c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v77c10.1-3.3 20.8-5 32-5s21.9 1.8 32 5zm-64 198c10.1 3.3 20.8 5 32 5s21.9-1.8 32-5c41.8-13.5 72-52.7 72-99s-30.2-85.5-72-99c-10.1-3.3-20.8-5-32-5s-21.9 1.8-32 5c-41.8 13.5-72 52.7-72 99s30.2 85.5 72 99zm.1-115.7c.3-.6.7-1.2 1-1.8v-.1l1.2-1.8c.1-.2.2-.3.3-.5.3-.5.7-.9 1-1.4.1-.1.2-.3.3-.4.5-.6.9-1.1 1.4-1.6l.3-.3 1.2-1.2.4-.4c.5-.5 1-.9 1.6-1.4.6-.5 1.1-.9 1.7-1.3.2-.1.3-.2.5-.3.5-.3.9-.7 1.4-1 .1-.1.3-.2.4-.3.6-.4 1.2-.7 1.9-1.1.1-.1.3-.1.4-.2.5-.3 1-.5 1.6-.8l.6-.3c.7-.3 1.3-.6 2-.8.7-.3 1.4-.5 2.1-.7.2-.1.4-.1.6-.2.6-.2 1.1-.3 1.7-.4.2 0 .3-.1.5-.1.7-.2 1.5-.3 2.2-.4.2 0 .3 0 .5-.1.6-.1 1.2-.1 1.8-.2h.6c.8 0 1.5-.1 2.3-.1s1.5 0 2.3.1h.6c.6 0 1.2.1 1.8.2.2 0 .3 0 .5.1.7.1 1.5.2 2.2.4.2 0 .3.1.5.1.6.1 1.2.3 1.7.4.2.1.4.1.6.2.7.2 1.4.4 2.1.7.7.2 1.3.5 2 .8l.6.3c.5.2 1.1.5 1.6.8.1.1.3.1.4.2.6.3 1.3.7 1.9 1.1.1.1.3.2.4.3.5.3 1 .6 1.4 1 .2.1.3.2.5.3.6.4 1.2.9 1.7 1.3s1.1.9 1.6 1.4l.4.4 1.2 1.2.3.3c.5.5 1 1.1 1.4 1.6.1.1.2.3.3.4.4.4.7.9 1 1.4.1.2.2.3.3.5l1.2 1.8v.1a36.18 36.18 0 0 1 5.1 18.5c0 6-1.5 11.7-4.1 16.7-.3.6-.7 1.2-1 1.8v.1l-1.2 1.8c-.1.2-.2.3-.3.5-.3.5-.7.9-1 1.4-.1.1-.2.3-.3.4-.5.6-.9 1.1-1.4 1.6l-.3.3-1.2 1.2-.4.4c-.5.5-1 .9-1.6 1.4-.6.5-1.1.9-1.7 1.3-.2.1-.3.2-.5.3-.5.3-.9.7-1.4 1-.1.1-.3.2-.4.3-.6.4-1.2.7-1.9 1.1-.1.1-.3.1-.4.2-.5.3-1 .5-1.6.8l-.6.3c-.7.3-1.3.6-2 .8-.7.3-1.4.5-2.1.7-.2.1-.4.1-.6.2-.6.2-1.1.3-1.7.4-.2 0-.3.1-.5.1-.7.2-1.5.3-2.2.4-.2 0-.3 0-.5.1-.6.1-1.2.1-1.8.2h-.6c-.8 0-1.5.1-2.3.1s-1.5 0-2.3-.1h-.6c-.6 0-1.2-.1-1.8-.2-.2 0-.3 0-.5-.1-.7-.1-1.5-.2-2.2-.4-.2 0-.3-.1-.5-.1-.6-.1-1.2-.3-1.7-.4-.2-.1-.4-.1-.6-.2-.7-.2-1.4-.4-2.1-.7-.7-.2-1.3-.5-2-.8l-.6-.3c-.5-.2-1.1-.5-1.6-.8-.1-.1-.3-.1-.4-.2-.6-.3-1.3-.7-1.9-1.1-.1-.1-.3-.2-.4-.3-.5-.3-1-.6-1.4-1-.2-.1-.3-.2-.5-.3-.6-.4-1.2-.9-1.7-1.3s-1.1-.9-1.6-1.4l-.4-.4-1.2-1.2-.3-.3c-.5-.5-1-1.1-1.4-1.6-.1-.1-.2-.3-.3-.4-.4-.4-.7-.9-1-1.4-.1-.2-.2-.3-.3-.5l-1.2-1.8v-.1c-.4-.6-.7-1.2-1-1.8-2.6-5-4.1-10.7-4.1-16.7s1.5-11.7 4.1-16.7z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineCopy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineCopyrightCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm5.6-532.7c53 0 89 33.8 93 83.4.3 4.2 3.8 7.4 8 7.4h56.7c2.6 0 4.7-2.1 4.7-4.7 0-86.7-68.4-147.4-162.7-147.4C407.4 290 344 364.2 344 486.8v52.3C344 660.8 407.4 734 517.3 734c94 0 162.7-58.8 162.7-141.4 0-2.6-2.1-4.7-4.7-4.7h-56.8c-4.2 0-7.6 3.2-8 7.3-4.2 46.1-40.1 77.8-93 77.8-65.3 0-102.1-47.9-102.1-133.6v-52.6c.1-87 37-135.5 102.2-135.5z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineCopyright (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm5.6-532.7c53 0 89 33.8 93 83.4.3 4.2 3.8 7.4 8 7.4h56.7c2.6 0 4.7-2.1 4.7-4.7 0-86.7-68.4-147.4-162.7-147.4C407.4 290 344 364.2 344 486.8v52.3C344 660.8 407.4 734 517.3 734c94 0 162.7-58.8 162.7-141.4 0-2.6-2.1-4.7-4.7-4.7h-56.8c-4.2 0-7.6 3.2-8 7.3-4.2 46.1-40.1 77.8-93 77.8-65.3 0-102.1-47.9-102.1-133.6v-52.6c.1-87 37-135.5 102.2-135.5z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineCreditCard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-792 72h752v120H136V232zm752 560H136V440h752v352zm-237-64h165c4.4 0 8-3.6 8-8v-72c0-4.4-3.6-8-8-8H651c-4.4 0-8 3.6-8 8v72c0 4.4 3.6 8 8 8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineCrown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M899.6 276.5L705 396.4 518.4 147.5a8.06 8.06 0 0 0-12.9 0L319 396.4 124.3 276.5c-5.7-3.5-13.1 1.2-12.2 7.9L188.5 865c1.1 7.9 7.9 14 16 14h615.1c8 0 14.9-6 15.9-14l76.4-580.6c.8-6.7-6.5-11.4-12.3-7.9zm-126 534.1H250.3l-53.8-409.4 139.8 86.1L512 252.9l175.7 234.4 139.8-86.1-53.9 409.4zM512 509c-62.1 0-112.6 50.5-112.6 112.6S449.9 734.2 512 734.2s112.6-50.5 112.6-112.6S574.1 509 512 509zm0 160.9c-26.6 0-48.2-21.6-48.2-48.3 0-26.6 21.6-48.3 48.2-48.3s48.2 21.6 48.2 48.3c0 26.6-21.6 48.3-48.2 48.3z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineCustomerService (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 128c-212.1 0-384 171.9-384 384v360c0 13.3 10.7 24 24 24h184c35.3 0 64-28.7 64-64V624c0-35.3-28.7-64-64-64H200v-48c0-172.3 139.7-312 312-312s312 139.7 312 312v48H688c-35.3 0-64 28.7-64 64v208c0 35.3 28.7 64 64 64h184c13.3 0 24-10.7 24-24V512c0-212.1-171.9-384-384-384zM328 632v192H200V632h128zm496 192H696V632h128v192z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineDash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M112 476h160v72H112zm320 0h160v72H432zm320 0h160v72H752z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineDashboard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M924.8 385.6a446.7 446.7 0 0 0-96-142.4 446.7 446.7 0 0 0-142.4-96C631.1 123.8 572.5 112 512 112s-119.1 11.8-174.4 35.2a446.7 446.7 0 0 0-142.4 96 446.7 446.7 0 0 0-96 142.4C75.8 440.9 64 499.5 64 560c0 132.7 58.3 257.7 159.9 343.1l1.7 1.4c5.8 4.8 13.1 7.5 20.6 7.5h531.7c7.5 0 14.8-2.7 20.6-7.5l1.7-1.4C901.7 817.7 960 692.7 960 560c0-60.5-11.9-119.1-35.2-174.4zM761.4 836H262.6A371.12 371.12 0 0 1 140 560c0-99.4 38.7-192.8 109-263 70.3-70.3 163.7-109 263-109 99.4 0 192.8 38.7 263 109 70.3 70.3 109 163.7 109 263 0 105.6-44.5 205.5-122.6 276zM623.5 421.5a8.03 8.03 0 0 0-11.3 0L527.7 506c-18.7-5-39.4-.2-54.1 14.5a55.95 55.95 0 0 0 0 79.2 55.95 55.95 0 0 0 79.2 0 55.87 55.87 0 0 0 14.5-54.1l84.5-84.5c3.1-3.1 3.1-8.2 0-11.3l-28.3-28.3zM490 320h44c4.4 0 8-3.6 8-8v-80c0-4.4-3.6-8-8-8h-44c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8zm260 218v44c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8v-44c0-4.4-3.6-8-8-8h-80c-4.4 0-8 3.6-8 8zm12.7-197.2l-31.1-31.1a8.03 8.03 0 0 0-11.3 0l-56.6 56.6a8.03 8.03 0 0 0 0 11.3l31.1 31.1c3.1 3.1 8.2 3.1 11.3 0l56.6-56.6c3.1-3.1 3.1-8.2 0-11.3zm-458.6-31.1a8.03 8.03 0 0 0-11.3 0l-31.1 31.1a8.03 8.03 0 0 0 0 11.3l56.6 56.6c3.1 3.1 8.2 3.1 11.3 0l31.1-31.1c3.1-3.1 3.1-8.2 0-11.3l-56.6-56.6zM262 530h-80c-4.4 0-8 3.6-8 8v44c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8v-44c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineDatabase (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-600 72h560v208H232V136zm560 480H232V408h560v208zm0 272H232V680h560v208zM304 240a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm0 272a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm0 272a40 40 0 1 0 80 0 40 40 0 1 0-80 0z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineDeleteColumn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"t\":\"1569683386799\",\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M651.1 641.9c-1.4-1.2-3.2-1.9-5.1-1.9h-54.7c-2.4 0-4.6 1.1-6.1 2.9L512 730.7l-73.1-87.8c-1.5-1.8-3.8-2.9-6.1-2.9H378c-1.9 0-3.7 0.7-5.1 1.9-3.4 2.8-3.9 7.9-1 11.3L474.2 776 371.8 898.9c-2.8 3.4-2.4 8.4 1 11.3 1.4 1.2 3.2 1.9 5.1 1.9h54.7c2.4 0 4.6-1.1 6.1-2.9l73.1-87.8 73.1 87.8c1.5 1.8 3.8 2.9 6.1 2.9h55c1.9 0 3.7-0.7 5.1-1.9 3.4-2.8 3.9-7.9 1-11.3L549.8 776l102.4-122.9c2.8-3.4 2.3-8.4-1.1-11.2zM472 544h80c4.4 0 8-3.6 8-8V120c0-4.4-3.6-8-8-8h-80c-4.4 0-8 3.6-8 8v416c0 4.4 3.6 8 8 8zM350 386H184V136c0-3.3-2.7-6-6-6h-60c-3.3 0-6 2.7-6 6v292c0 16.6 13.4 30 30 30h208c3.3 0 6-2.7 6-6v-60c0-3.3-2.7-6-6-6zM906 130h-60c-3.3 0-6 2.7-6 6v250H674c-3.3 0-6 2.7-6 6v60c0 3.3 2.7 6 6 6h208c16.6 0 30-13.4 30-30V136c0-3.3-2.7-6-6-6z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineDeleteRow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"t\":\"1569683582196\",\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M819.8 512l102.4-122.9c2.8-3.4 2.4-8.4-1-11.3-1.4-1.2-3.2-1.9-5.1-1.9h-54.7c-2.4 0-4.6 1.1-6.1 2.9L782 466.7l-73.1-87.8c-1.5-1.8-3.8-2.9-6.1-2.9H648c-1.9 0-3.7 0.7-5.1 1.9-3.4 2.8-3.9 7.9-1 11.3L744.2 512 641.8 634.9c-2.8 3.4-2.4 8.4 1 11.3 1.4 1.2 3.2 1.9 5.1 1.9h54.7c2.4 0 4.6-1.1 6.1-2.9l73.1-87.8 73.1 87.8c1.5 1.8 3.8 2.9 6.1 2.9h55c1.9 0 3.7-0.7 5.1-1.9 3.4-2.8 3.9-7.9 1-11.3L819.8 512zM536 464H120c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8h416c4.4 0 8-3.6 8-8v-80c0-4.4-3.6-8-8-8zM452 668h-60c-3.3 0-6 2.7-6 6v166H136c-3.3 0-6 2.7-6 6v60c0 3.3 2.7 6 6 6h292c16.6 0 30-13.4 30-30V674c0-3.3-2.7-6-6-6zM136 184h250v166c0 3.3 2.7 6 6 6h60c3.3 0 6-2.7 6-6V142c0-16.6-13.4-30-30-30H136c-3.3 0-6 2.7-6 6v60c0 3.3 2.7 6 6 6z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineDelete (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineDeliveredProcedure (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"t\":\"1569683642448\",\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M632 698.3l141.9-112c4.1-3.2 4.1-9.4 0-12.6L632 461.7c-5.3-4.2-13-0.4-13 6.3v76H295c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h324v76c0 6.7 7.8 10.4 13 6.3zM893.3 293.3L730.7 130.7c-7.5-7.5-16.7-13-26.7-16V112H144c-17.7 0-32 14.3-32 32v278c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V184h136v136c0 17.7 14.3 32 32 32h320c17.7 0 32-14.3 32-32V205.8l136 136V422c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-83.5c0-17-6.7-33.2-18.7-45.2zM640 288H384V184h256v104zM904 724h-56c-4.4 0-8 3.6-8 8v108H184V732c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v148c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V732c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineDeploymentUnit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M888.3 693.2c-42.5-24.6-94.3-18-129.2 12.8l-53-30.7V523.6c0-15.7-8.4-30.3-22-38.1l-136-78.3v-67.1c44.2-15 76-56.8 76-106.1 0-61.9-50.1-112-112-112s-112 50.1-112 112c0 49.3 31.8 91.1 76 106.1v67.1l-136 78.3c-13.6 7.8-22 22.4-22 38.1v151.6l-53 30.7c-34.9-30.8-86.8-37.4-129.2-12.8-53.5 31-71.7 99.4-41 152.9 30.8 53.5 98.9 71.9 152.2 41 42.5-24.6 62.7-73 53.6-118.8l48.7-28.3 140.6 81c6.8 3.9 14.4 5.9 22 5.9s15.2-2 22-5.9L674.5 740l48.7 28.3c-9.1 45.7 11.2 94.2 53.6 118.8 53.3 30.9 121.5 12.6 152.2-41 30.8-53.6 12.6-122-40.7-152.9zm-673 138.4a47.6 47.6 0 0 1-65.2-17.6c-13.2-22.9-5.4-52.3 17.5-65.5a47.6 47.6 0 0 1 65.2 17.6c13.2 22.9 5.4 52.3-17.5 65.5zM522 463.8zM464 234a48.01 48.01 0 0 1 96 0 48.01 48.01 0 0 1-96 0zm170 446.2l-122 70.3-122-70.3V539.8l122-70.3 122 70.3v140.4zm239.9 133.9c-13.2 22.9-42.4 30.8-65.2 17.6-22.8-13.2-30.7-42.6-17.5-65.5s42.4-30.8 65.2-17.6c22.9 13.2 30.7 42.5 17.5 65.5z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineDesktop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M928 140H96c-17.7 0-32 14.3-32 32v496c0 17.7 14.3 32 32 32h380v112H304c-8.8 0-16 7.2-16 16v48c0 4.4 3.6 8 8 8h432c4.4 0 8-3.6 8-8v-48c0-8.8-7.2-16-16-16H548V700h380c17.7 0 32-14.3 32-32V172c0-17.7-14.3-32-32-32zm-40 488H136V212h752v416z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineDiff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M476 399.1c0-3.9-3.1-7.1-7-7.1h-42c-3.8 0-7 3.2-7 7.1V484h-84.5c-4.1 0-7.5 3.1-7.5 7v42c0 3.8 3.4 7 7.5 7H420v84.9c0 3.9 3.2 7.1 7 7.1h42c3.9 0 7-3.2 7-7.1V540h84.5c4.1 0 7.5-3.2 7.5-7v-42c0-3.9-3.4-7-7.5-7H476v-84.9zM560.5 704h-225c-4.1 0-7.5 3.2-7.5 7v42c0 3.8 3.4 7 7.5 7h225c4.1 0 7.5-3.2 7.5-7v-42c0-3.8-3.4-7-7.5-7zm-7.1-502.6c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v704c0 17.7 14.3 32 32 32h512c17.7 0 32-14.3 32-32V397.3c0-8.5-3.4-16.6-9.4-22.6L553.4 201.4zM664 888H232V264h282.2L664 413.8V888zm190.2-581.4L611.3 72.9c-6-5.7-13.9-8.9-22.2-8.9H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h277l219 210.6V824c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V329.6c0-8.7-3.5-17-9.8-23z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineDingding (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M573.7 252.5C422.5 197.4 201.3 96.7 201.3 96.7c-15.7-4.1-17.9 11.1-17.9 11.1-5 61.1 33.6 160.5 53.6 182.8 19.9 22.3 319.1 113.7 319.1 113.7S326 357.9 270.5 341.9c-55.6-16-37.9 17.8-37.9 17.8 11.4 61.7 64.9 131.8 107.2 138.4 42.2 6.6 220.1 4 220.1 4s-35.5 4.1-93.2 11.9c-42.7 5.8-97 12.5-111.1 17.8-33.1 12.5 24 62.6 24 62.6 84.7 76.8 129.7 50.5 129.7 50.5 33.3-10.7 61.4-18.5 85.2-24.2L565 743.1h84.6L603 928l205.3-271.9H700.8l22.3-38.7c.3.5.4.8.4.8S799.8 496.1 829 433.8l.6-1h-.1c5-10.8 8.6-19.7 10-25.8 17-71.3-114.5-99.4-265.8-154.5z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineDingtalk (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M573.7 252.5C422.5 197.4 201.3 96.7 201.3 96.7c-15.7-4.1-17.9 11.1-17.9 11.1-5 61.1 33.6 160.5 53.6 182.8 19.9 22.3 319.1 113.7 319.1 113.7S326 357.9 270.5 341.9c-55.6-16-37.9 17.8-37.9 17.8 11.4 61.7 64.9 131.8 107.2 138.4 42.2 6.6 220.1 4 220.1 4s-35.5 4.1-93.2 11.9c-42.7 5.8-97 12.5-111.1 17.8-33.1 12.5 24 62.6 24 62.6 84.7 76.8 129.7 50.5 129.7 50.5 33.3-10.7 61.4-18.5 85.2-24.2L565 743.1h84.6L603 928l205.3-271.9H700.8l22.3-38.7c.3.5.4.8.4.8S799.8 496.1 829 433.8l.6-1h-.1c5-10.8 8.6-19.7 10-25.8 17-71.3-114.5-99.4-265.8-154.5z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineDisconnect (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M832.6 191.4c-84.6-84.6-221.5-84.6-306 0l-96.9 96.9 51 51 96.9-96.9c53.8-53.8 144.6-59.5 204 0 59.5 59.5 53.8 150.2 0 204l-96.9 96.9 51.1 51.1 96.9-96.9c84.4-84.6 84.4-221.5-.1-306.1zM446.5 781.6c-53.8 53.8-144.6 59.5-204 0-59.5-59.5-53.8-150.2 0-204l96.9-96.9-51.1-51.1-96.9 96.9c-84.6 84.6-84.6 221.5 0 306s221.5 84.6 306 0l96.9-96.9-51-51-96.8 97zM260.3 209.4a8.03 8.03 0 0 0-11.3 0L209.4 249a8.03 8.03 0 0 0 0 11.3l554.4 554.4c3.1 3.1 8.2 3.1 11.3 0l39.6-39.6c3.1-3.1 3.1-8.2 0-11.3L260.3 209.4z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineDiscord (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M340.992 0 316 3.008S203.872 15.264 121.984 81.024h-.96l-1.024.96c-18.368 16.896-26.368 37.664-39.008 68.032a982.08 982.08 0 0 0-37.984 112C19.264 347.872 0 451.872 0 547.008v8l4 8c29.632 52 82.24 85.12 131.008 108 48.736 22.88 90.88 35.008 120 36l19.008.992L284 691.008l35.008-62.016c37.12 8.384 79.872 14.016 128.992 14.016 49.12 0 91.872-5.632 128.992-14.016L612 691.008 622.016 708l18.976-.992c29.12-.992 71.264-13.12 120-36 48.768-22.88 101.376-56 131.008-108l4-8v-8c0-95.136-19.264-199.136-43.008-284.992a982.08 982.08 0 0 0-37.984-112c-12.64-30.4-20.64-51.136-39.008-68l-.992-1.024h-1.024C692.16 15.264 580 3.008 580 3.008L555.008 0l-9.024 23.008s-9.248 23.36-14.976 50.016A643.04 643.04 0 0 0 448 67.008c-17.12 0-46.72 1.12-83.008 6.016-5.76-26.656-15.008-50.016-15.008-50.016zm-44 73.024c1.376 4.48 2.752 8.352 4 12-41.376 10.24-85.504 25.856-125.984 50.976l33.984 54.016C292 138.496 411.232 131.008 448 131.008c36.736 0 156 7.488 239.008 59.008L720.992 136c-40.48-25.12-84.608-40.736-125.984-51.008 1.248-3.616 2.624-7.488 4-12 29.856 6.016 86.88 19.776 133.984 57.024-.256.128 12 18.624 23.008 44.992 11.264 27.136 23.744 63.264 35.008 104 21.632 78.112 38.624 173.248 40 256.992-20.16 30.752-57.504 58.496-97.024 77.024A311.808 311.808 0 0 1 656 637.984l-16-26.976c9.504-3.52 18.88-7.36 27.008-11.008 49.248-21.632 76-44.992 76-44.992l-42.016-48s-17.984 16.512-60 35.008C599.04 560.512 534.88 579.008 448 579.008s-151.008-18.496-192.992-36.992c-42.016-18.496-60-35.008-60-35.008l-42.016 48s26.752 23.36 76 44.992A424.473 424.473 0 0 0 256 611.008l-16 27.008a311.808 311.808 0 0 1-78.016-25.024c-39.488-18.496-76.864-46.24-96.96-76.992 1.344-83.744 18.336-178.88 40-256.992a917.216 917.216 0 0 1 34.976-104c11.008-26.368 23.264-44.864 23.008-44.992 47.104-37.248 104.128-51.008 133.984-56.992M336 291.008c-24.736 0-46.624 14.112-60 32-13.376 17.888-20 39.872-20 64s6.624 46.112 20 64c13.376 17.888 35.264 32 60 32 24.736 0 46.624-14.112 60-32 13.376-17.888 20-39.872 20-64s-6.624-46.112-20-64c-13.376-17.888-35.264-32-60-32m224 0c-24.736 0-46.624 14.112-60 32-13.376 17.888-20 39.872-20 64s6.624 46.112 20 64c13.376 17.888 35.264 32 60 32 24.736 0 46.624-14.112 60-32 13.376-17.888 20-39.872 20-64s-6.624-46.112-20-64c-13.376-17.888-35.264-32-60-32m-224 64c1.76 0 4 .64 8 6.016 4 5.344 8 14.72 8 25.984 0 11.264-4 20.64-8 26.016-4 5.344-6.24 5.984-8 5.984-1.76 0-4-.64-8-6.016a44.832 44.832 0 0 1-8-25.984c0-11.264 4-20.64 8-26.016 4-5.344 6.24-5.984 8-5.984m224 0c1.76 0 4 .64 8 6.016 4 5.344 8 14.72 8 25.984 0 11.264-4 20.64-8 26.016-4 5.344-6.24 5.984-8 5.984-1.76 0-4-.64-8-6.016a44.832 44.832 0 0 1-8-25.984c0-11.264 4-20.64 8-26.016 4-5.344 6.24-5.984 8-5.984\",\"transform\":\"translate(64 158)\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineDislike (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M885.9 490.3c3.6-12 5.4-24.4 5.4-37 0-28.3-9.3-55.5-26.1-77.7 3.6-12 5.4-24.4 5.4-37 0-28.3-9.3-55.5-26.1-77.7 3.6-12 5.4-24.4 5.4-37 0-51.6-30.7-98.1-78.3-118.4a66.1 66.1 0 0 0-26.5-5.4H144c-17.7 0-32 14.3-32 32v364c0 17.7 14.3 32 32 32h129.3l85.8 310.8C372.9 889 418.9 924 470.9 924c29.7 0 57.4-11.8 77.9-33.4 20.5-21.5 31-49.7 29.5-79.4l-6-122.9h239.9c12.1 0 23.9-3.2 34.3-9.3 40.4-23.5 65.5-66.1 65.5-111 0-28.3-9.3-55.5-26.1-77.7zM184 456V172h81v284h-81zm627.2 160.4H496.8l9.6 198.4c.6 11.9-4.7 23.1-14.6 30.5-6.1 4.5-13.6 6.8-21.1 6.7a44.28 44.28 0 0 1-42.2-32.3L329 459.2V172h415.4a56.85 56.85 0 0 1 33.6 51.8c0 9.7-2.3 18.9-6.9 27.3l-13.9 25.4 21.9 19a56.76 56.76 0 0 1 19.6 43c0 9.7-2.3 18.9-6.9 27.3l-13.9 25.4 21.9 19a56.76 56.76 0 0 1 19.6 43c0 9.7-2.3 18.9-6.9 27.3l-14 25.5 21.9 19a56.76 56.76 0 0 1 19.6 43c0 19.1-11 37.5-28.8 48.4z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineDocker (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M491.877 286.236h-92.612v-82.784h92.612zm0-286.236h-92.612v85.59h92.612zm109.45 203.452h-92.612v82.784h92.612zm-218.9-101.024h-92.612v84.187h92.612zm109.45 0h-92.612v84.187h92.612zm388.688 140.311c-19.645-14.03-67.354-18.24-102.434-11.225-4.21-33.674-23.855-63.14-57.532-89.8l-19.645-12.627-12.628 19.644c-25.258 39.287-32.274 103.83-5.613 145.924-12.63 7.015-36.484 15.434-67.354 15.434H3.56c-12.629 71.56 8.42 164.165 61.741 227.305C117.221 599.131 195.8 630 296.832 630c220.302 0 384.478-101.024 460.25-286.236 29.468 0 95.419 0 127.692-63.14 1.404-2.807 9.823-18.24 11.226-23.853zm-717.038-39.287H70.915v82.784h92.612zm109.45 0h-92.612v82.784h92.612zm109.45 0h-92.612v82.784h92.612zm-109.45-101.024h-92.612v84.187h92.612z\",\"transform\":\"translate(64 202)\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineDollarCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm47.7-395.2l-25.4-5.9V348.6c38 5.2 61.5 29 65.5 58.2.5 4 3.9 6.9 7.9 6.9h44.9c4.7 0 8.4-4.1 8-8.8-6.1-62.3-57.4-102.3-125.9-109.2V263c0-4.4-3.6-8-8-8h-28.1c-4.4 0-8 3.6-8 8v33c-70.8 6.9-126.2 46-126.2 119 0 67.6 49.8 100.2 102.1 112.7l24.7 6.3v142.7c-44.2-5.9-69-29.5-74.1-61.3-.6-3.8-4-6.6-7.9-6.6H363c-4.7 0-8.4 4-8 8.7 4.5 55 46.2 105.6 135.2 112.1V761c0 4.4 3.6 8 8 8h28.4c4.4 0 8-3.6 8-8.1l-.2-31.7c78.3-6.9 134.3-48.8 134.3-124-.1-69.4-44.2-100.4-109-116.4zm-68.6-16.2c-5.6-1.6-10.3-3.1-15-5-33.8-12.2-49.5-31.9-49.5-57.3 0-36.3 27.5-57 64.5-61.7v124zM534.3 677V543.3c3.1.9 5.9 1.6 8.8 2.2 47.3 14.4 63.2 34.4 63.2 65.1 0 39.1-29.4 62.6-72 66.4z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineDollar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm47.7-395.2l-25.4-5.9V348.6c38 5.2 61.5 29 65.5 58.2.5 4 3.9 6.9 7.9 6.9h44.9c4.7 0 8.4-4.1 8-8.8-6.1-62.3-57.4-102.3-125.9-109.2V263c0-4.4-3.6-8-8-8h-28.1c-4.4 0-8 3.6-8 8v33c-70.8 6.9-126.2 46-126.2 119 0 67.6 49.8 100.2 102.1 112.7l24.7 6.3v142.7c-44.2-5.9-69-29.5-74.1-61.3-.6-3.8-4-6.6-7.9-6.6H363c-4.7 0-8.4 4-8 8.7 4.5 55 46.2 105.6 135.2 112.1V761c0 4.4 3.6 8 8 8h28.4c4.4 0 8-3.6 8-8.1l-.2-31.7c78.3-6.9 134.3-48.8 134.3-124-.1-69.4-44.2-100.4-109-116.4zm-68.6-16.2c-5.6-1.6-10.3-3.1-15-5-33.8-12.2-49.5-31.9-49.5-57.3 0-36.3 27.5-57 64.5-61.7v124zM534.3 677V543.3c3.1.9 5.9 1.6 8.8 2.2 47.3 14.4 63.2 34.4 63.2 65.1 0 39.1-29.4 62.6-72 66.4z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineDotChart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM288 604a64 64 0 1 0 128 0 64 64 0 1 0-128 0zm118-224a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm158 228a96 96 0 1 0 192 0 96 96 0 1 0-192 0zm148-314a56 56 0 1 0 112 0 56 56 0 1 0-112 0z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineDotNet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\"},\"child\":[{\"tag\":\"g\",\"attr\":{\"fillOpacity\":\".88\",\"transform\":\"translate(64 362)\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M37.283 300c-10.652 0-19.53-3.297-26.63-9.89C3.55 283.514 0 275.41 0 265.793c0-9.891 3.653-17.996 10.96-24.315 7.306-6.32 16.422-9.479 27.347-9.479 11.062 0 20.11 3.194 27.143 9.582C72.483 247.97 76 256.04 76 265.794c0 10.028-3.585 18.236-10.755 24.624-7.17 6.388-16.49 9.582-27.962 9.582M394 295h-66.969L205.624 109.648c-7.121-10.835-12.052-18.995-14.79-24.48h-.822c1.095 10.422 1.643 26.331 1.643 47.726V295H129V0h71.488l116.888 179.592c5.341 8.092 10.271 16.115 14.79 24.07h.822c-1.095-6.858-1.643-20.367-1.643-40.527V0H394z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M638 295 461 295 461 0 631.20814 0 631.20814 54.1039052 527.477907 54.1039052 527.477907 119.728033 624.004651 119.728033 624.004651 173.62622 527.477907 173.62622 527.477907 241.101813 638 241.101813z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M896 54.1039052 812.047368 54.1039052 812.047368 295 745.542105 295 745.542105 54.1039052 662 54.1039052 662 0 896 0z\"},\"child\":[]}]}]})(props);\n};\nexport function AiOutlineDoubleLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M272.9 512l265.4-339.1c4.1-5.2.4-12.9-6.3-12.9h-77.3c-4.9 0-9.6 2.3-12.6 6.1L186.8 492.3a31.99 31.99 0 0 0 0 39.5l255.3 326.1c3 3.9 7.7 6.1 12.6 6.1H532c6.7 0 10.4-7.7 6.3-12.9L272.9 512zm304 0l265.4-339.1c4.1-5.2.4-12.9-6.3-12.9h-77.3c-4.9 0-9.6 2.3-12.6 6.1L490.8 492.3a31.99 31.99 0 0 0 0 39.5l255.3 326.1c3 3.9 7.7 6.1 12.6 6.1H836c6.7 0 10.4-7.7 6.3-12.9L576.9 512z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineDoubleRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M533.2 492.3L277.9 166.1c-3-3.9-7.7-6.1-12.6-6.1H188c-6.7 0-10.4 7.7-6.3 12.9L447.1 512 181.7 851.1A7.98 7.98 0 0 0 188 864h77.3c4.9 0 9.6-2.3 12.6-6.1l255.3-326.1c9.1-11.7 9.1-27.9 0-39.5zm304 0L581.9 166.1c-3-3.9-7.7-6.1-12.6-6.1H492c-6.7 0-10.4 7.7-6.3 12.9L751.1 512 485.7 851.1A7.98 7.98 0 0 0 492 864h77.3c4.9 0 9.6-2.3 12.6-6.1l255.3-326.1c9.1-11.7 9.1-27.9 0-39.5z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineDownCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M690 405h-46.9c-10.2 0-19.9 4.9-25.9 13.2L512 563.6 406.8 418.2c-6-8.3-15.6-13.2-25.9-13.2H334c-6.5 0-10.3 7.4-6.5 12.7l178 246c3.2 4.4 9.7 4.4 12.9 0l178-246c3.9-5.3.1-12.7-6.4-12.7z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineDownSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M505.5 658.7c3.2 4.4 9.7 4.4 12.9 0l178-246c3.8-5.3 0-12.7-6.5-12.7H643c-10.2 0-19.9 4.9-25.9 13.2L512 558.6 406.8 413.2c-6-8.3-15.6-13.2-25.9-13.2H334c-6.5 0-10.3 7.4-6.5 12.7l178 246z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineDownload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M505.7 661a8 8 0 0 0 12.6 0l112-141.7c4.1-5.2.4-12.9-6.3-12.9h-74.1V168c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v338.3H400c-6.7 0-10.4 7.7-6.3 12.9l112 141.8zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineDrag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M909.3 506.3L781.7 405.6a7.23 7.23 0 0 0-11.7 5.7V476H548V254h64.8c6 0 9.4-7 5.7-11.7L517.7 114.7a7.14 7.14 0 0 0-11.3 0L405.6 242.3a7.23 7.23 0 0 0 5.7 11.7H476v222H254v-64.8c0-6-7-9.4-11.7-5.7L114.7 506.3a7.14 7.14 0 0 0 0 11.3l127.5 100.8c4.7 3.7 11.7.4 11.7-5.7V548h222v222h-64.8c-6 0-9.4 7-5.7 11.7l100.8 127.5c2.9 3.7 8.5 3.7 11.3 0l100.8-127.5c3.7-4.7.4-11.7-5.7-11.7H548V548h222v64.8c0 6 7 9.4 11.7 5.7l127.5-100.8a7.3 7.3 0 0 0 .1-11.4z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineDribbbleSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M498.6 432c-40.8-72.5-84.7-133.4-91.2-142.3-68.8 32.5-120.3 95.9-136.2 172.2 11 .2 112.4.7 227.4-29.9zm66.5 21.8c5.7 11.7 11.2 23.6 16.3 35.6 1.8 4.2 3.6 8.4 5.3 12.7 81.8-10.3 163.2 6.2 171.3 7.9-.5-58.1-21.3-111.4-55.5-153.3-5.3 7.1-46.5 60-137.4 97.1zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM512 800c-158.8 0-288-129.2-288-288s129.2-288 288-288 288 129.2 288 288-129.2 288-288 288zm89.7-259.1c32.2 88.4 45.3 160.4 47.8 175.4 55.2-37.3 94.5-96.4 105.4-164.9-8.4-2.6-76.1-22.8-153.2-10.5zm-72.5-26.4c3.2-1 6.4-2 9.7-2.9-6.2-14-12.9-28-19.9-41.7-122.8 36.8-242.1 35.2-252.8 35-.1 2.5-.1 5-.1 7.5 0 63.2 23.9 120.9 63.2 164.5 5.5-9.6 73-121.4 199.9-162.4zm145.9-186.2a245.2 245.2 0 0 0-220.8-55.1c6.8 9.1 51.5 69.9 91.8 144 87.5-32.8 124.5-82.6 129-88.9zM554 552.8c-138.7 48.3-188.6 144.6-193 153.6 41.7 32.5 94.1 51.9 151 51.9 34.1 0 66.6-6.9 96.1-19.5-3.7-21.6-17.9-96.8-52.5-186.6l-1.6.6z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineDribbble (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 96C282.6 96 96 282.6 96 512s186.6 416 416 416 416-186.6 416-416S741.4 96 512 96zm275.1 191.8c49.5 60.5 79.5 137.5 80.2 221.4-11.7-2.5-129.2-26.3-247.4-11.4-2.5-6.1-5-12.2-7.6-18.3-7.4-17.3-15.3-34.6-23.6-51.5C720 374.3 779.6 298 787.1 287.8zM512 157.2c90.3 0 172.8 33.9 235.5 89.5-6.4 9.1-59.9 81-186.2 128.4-58.2-107-122.7-194.8-132.6-208 27.3-6.6 55.2-9.9 83.3-9.9zM360.9 191c9.4 12.8 72.9 100.9 131.7 205.5C326.4 440.6 180 440 164.1 439.8c23.1-110.3 97.4-201.9 196.8-248.8zM156.7 512.5c0-3.6.1-7.3.2-10.9 15.5.3 187.7 2.5 365.2-50.6 10.2 19.9 19.9 40.1 28.8 60.3-4.7 1.3-9.4 2.7-14 4.2C353.6 574.9 256.1 736.4 248 750.1c-56.7-63-91.3-146.3-91.3-237.6zM512 867.8c-82.2 0-157.9-28-218.1-75 6.4-13.1 78.3-152 278.7-221.9l2.3-.8c49.9 129.6 70.5 238.3 75.8 269.5A350.46 350.46 0 0 1 512 867.8zm198.5-60.7c-3.6-21.6-22.5-125.6-69-253.3C752.9 536 850.7 565.2 862.8 569c-15.8 98.8-72.5 184.2-152.3 238.1z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineDropbox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M64 556.9l264.2 173.5L512.5 577 246.8 412.7zm896-290.3zm0 0L696.8 95 512.5 248.5l265.2 164.2L512.5 577l184.3 153.4L960 558.8 777.7 412.7zM513 609.8L328.2 763.3l-79.4-51.5v57.8L513 928l263.7-158.4v-57.8l-78.9 51.5zM328.2 95L64 265.1l182.8 147.6 265.7-164.2zM64 556.9z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineEdit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M257.7 752c2 0 4-.2 6-.5L431.9 722c2-.4 3.9-1.3 5.3-2.8l423.9-423.9a9.96 9.96 0 0 0 0-14.1L694.9 114.9c-1.9-1.9-4.4-2.9-7.1-2.9s-5.2 1-7.1 2.9L256.8 538.8c-1.5 1.5-2.4 3.3-2.8 5.3l-29.5 168.2a33.5 33.5 0 0 0 9.4 29.8c6.6 6.4 14.9 9.9 23.8 9.9zm67.4-174.4L687.8 215l73.3 73.3-362.7 362.6-88.9 15.7 15.6-89zM880 836H144c-17.7 0-32 14.3-32 32v36c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-36c0-17.7-14.3-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineEllipsis (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M176 511a56 56 0 1 0 112 0 56 56 0 1 0-112 0zm280 0a56 56 0 1 0 112 0 56 56 0 1 0-112 0zm280 0a56 56 0 1 0 112 0 56 56 0 1 0-112 0z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineEnter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M864 170h-60c-4.4 0-8 3.6-8 8v518H310v-73c0-6.7-7.8-10.5-13-6.3l-141.9 112a8 8 0 0 0 0 12.6l141.9 112c5.3 4.2 13 .4 13-6.3v-75h498c35.3 0 64-28.7 64-64V178c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineEnvironment (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M854.6 289.1a362.49 362.49 0 0 0-79.9-115.7 370.83 370.83 0 0 0-118.2-77.8C610.7 76.6 562.1 67 512 67c-50.1 0-98.7 9.6-144.5 28.5-44.3 18.3-84 44.5-118.2 77.8A363.6 363.6 0 0 0 169.4 289c-19.5 45-29.4 92.8-29.4 142 0 70.6 16.9 140.9 50.1 208.7 26.7 54.5 64 107.6 111 158.1 80.3 86.2 164.5 138.9 188.4 153a43.9 43.9 0 0 0 22.4 6.1c7.8 0 15.5-2 22.4-6.1 23.9-14.1 108.1-66.8 188.4-153 47-50.4 84.3-103.6 111-158.1C867.1 572 884 501.8 884 431.1c0-49.2-9.9-97-29.4-142zM512 880.2c-65.9-41.9-300-207.8-300-449.1 0-77.9 31.1-151.1 87.6-206.3C356.3 169.5 431.7 139 512 139s155.7 30.5 212.4 85.9C780.9 280 812 353.2 812 431.1c0 241.3-234.1 407.2-300 449.1zm0-617.2c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm79.2 255.2A111.6 111.6 0 0 1 512 551c-29.9 0-58-11.7-79.2-32.8A111.6 111.6 0 0 1 400 439c0-29.9 11.7-58 32.8-79.2C454 338.6 482.1 327 512 327c29.9 0 58 11.6 79.2 32.8C612.4 381 624 409.1 624 439c0 29.9-11.6 58-32.8 79.2z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineEuroCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm117.7-588.6c-15.9-3.5-34.4-5.4-55.3-5.4-106.7 0-178.9 55.7-198.6 149.9H344c-4.4 0-8 3.6-8 8v27.2c0 4.4 3.6 8 8 8h26.4c-.3 4.1-.3 8.4-.3 12.8v36.9H344c-4.4 0-8 3.6-8 8V568c0 4.4 3.6 8 8 8h30.2c17.2 99.2 90.4 158 200.2 158 20.9 0 39.4-1.7 55.3-5.1 3.7-.8 6.4-4 6.4-7.8v-42.8c0-5-4.6-8.8-9.5-7.8-14.7 2.8-31.9 4.1-51.8 4.1-68.5 0-114.5-36.6-129.8-98.6h130.6c4.4 0 8-3.6 8-8v-27.2c0-4.4-3.6-8-8-8H439.2v-36c0-4.7 0-9.4.3-13.8h135.9c4.4 0 8-3.6 8-8v-27.2c0-4.4-3.6-8-8-8H447.1c17.2-56.9 62.3-90.4 127.6-90.4 19.9 0 37.1 1.5 51.7 4.4a8 8 0 0 0 9.6-7.8v-42.8c0-3.8-2.6-7-6.3-7.8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineEuro (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm117.7-588.6c-15.9-3.5-34.4-5.4-55.3-5.4-106.7 0-178.9 55.7-198.6 149.9H344c-4.4 0-8 3.6-8 8v27.2c0 4.4 3.6 8 8 8h26.4c-.3 4.1-.3 8.4-.3 12.8v36.9H344c-4.4 0-8 3.6-8 8V568c0 4.4 3.6 8 8 8h30.2c17.2 99.2 90.4 158 200.2 158 20.9 0 39.4-1.7 55.3-5.1 3.7-.8 6.4-4 6.4-7.8v-42.8c0-5-4.6-8.8-9.5-7.8-14.7 2.8-31.9 4.1-51.8 4.1-68.5 0-114.5-36.6-129.8-98.6h130.6c4.4 0 8-3.6 8-8v-27.2c0-4.4-3.6-8-8-8H439.2v-36c0-4.7 0-9.4.3-13.8h135.9c4.4 0 8-3.6 8-8v-27.2c0-4.4-3.6-8-8-8H447.1c17.2-56.9 62.3-90.4 127.6-90.4 19.9 0 37.1 1.5 51.7 4.4a8 8 0 0 0 9.6-7.8v-42.8c0-3.8-2.6-7-6.3-7.8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineException (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M688 312v-48c0-4.4-3.6-8-8-8H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8zm-392 88c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H296zm376 116c-119.3 0-216 96.7-216 216s96.7 216 216 216 216-96.7 216-216-96.7-216-216-216zm107.5 323.5C750.8 868.2 712.6 884 672 884s-78.8-15.8-107.5-44.5C535.8 810.8 520 772.6 520 732s15.8-78.8 44.5-107.5C593.2 595.8 631.4 580 672 580s78.8 15.8 107.5 44.5C808.2 653.2 824 691.4 824 732s-15.8 78.8-44.5 107.5zM640 812a32 32 0 1 0 64 0 32 32 0 1 0-64 0zm12-64h40c4.4 0 8-3.6 8-8V628c0-4.4-3.6-8-8-8h-40c-4.4 0-8 3.6-8 8v112c0 4.4 3.6 8 8 8zM440 852H208V148h560v344c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V108c0-17.7-14.3-32-32-32H168c-17.7 0-32 14.3-32 32v784c0 17.7 14.3 32 32 32h272c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineExclamationCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M464 688a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm24-112h48c4.4 0 8-3.6 8-8V296c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineExclamation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 804a64 64 0 1 0 128 0 64 64 0 1 0-128 0zm32-168h64c4.4 0 8-3.6 8-8V164c0-4.4-3.6-8-8-8h-64c-4.4 0-8 3.6-8 8v464c0 4.4 3.6 8 8 8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineExpandAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M855 160.1l-189.2 23.5c-6.6.8-9.3 8.8-4.7 13.5l54.7 54.7-153.5 153.5a8.03 8.03 0 0 0 0 11.3l45.1 45.1c3.1 3.1 8.2 3.1 11.3 0l153.6-153.6 54.7 54.7a7.94 7.94 0 0 0 13.5-4.7L863.9 169a7.9 7.9 0 0 0-8.9-8.9zM416.6 562.3a8.03 8.03 0 0 0-11.3 0L251.8 715.9l-54.7-54.7a7.94 7.94 0 0 0-13.5 4.7L160.1 855c-.6 5.2 3.7 9.5 8.9 8.9l189.2-23.5c6.6-.8 9.3-8.8 4.7-13.5l-54.7-54.7 153.6-153.6c3.1-3.1 3.1-8.2 0-11.3l-45.2-45z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineExpand (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"t\":\"1569683683230\",\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M342 88H120c-17.7 0-32 14.3-32 32v224c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V168h174c8.8 0 16-7.2 16-16v-48c0-8.8-7.2-16-16-16zM920 664h-48c-8.8 0-16 7.2-16 16v176H682c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h222c17.7 0 32-14.3 32-32V680c0-8.8-7.2-16-16-16zM342 856H168V680c0-8.8-7.2-16-16-16h-48c-8.8 0-16 7.2-16 16v224c0 17.7 14.3 32 32 32h222c8.8 0 16-7.2 16-16v-48c0-8.8-7.2-16-16-16zM904 88H682c-8.8 0-16 7.2-16 16v48c0 8.8 7.2 16 16 16h174v176c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16V120c0-17.7-14.3-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineExperiment (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 472a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm367 352.9L696.3 352V178H768v-68H256v68h71.7v174L145 824.9c-2.8 7.4-4.3 15.2-4.3 23.1 0 35.3 28.7 64 64 64h614.6c7.9 0 15.7-1.5 23.1-4.3 33-12.7 49.4-49.8 36.6-82.8zM395.7 364.7V180h232.6v184.7L719.2 600c-20.7-5.3-42.1-8-63.9-8-61.2 0-119.2 21.5-165.3 60a188.78 188.78 0 0 1-121.3 43.9c-32.7 0-64.1-8.3-91.8-23.7l118.8-307.5zM210.5 844l41.7-107.8c35.7 18.1 75.4 27.8 116.6 27.8 61.2 0 119.2-21.5 165.3-60 33.9-28.2 76.3-43.9 121.3-43.9 35 0 68.4 9.5 97.6 27.1L813.5 844h-603z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineExport (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h360c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H184V184h656v320c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V144c0-17.7-14.3-32-32-32ZM770.87 824.869l-52.2 52.2c-4.7 4.7-1.9 12.8 4.7 13.6l179.4 21c5.1.6 9.5-3.7 8.9-8.9l-21-179.4c-.8-6.6-8.9-9.4-13.6-4.7l-52.4 52.4-256.2-256.2c-3.1-3.1-8.2-3.1-11.3 0l-42.4 42.4c-3.1 3.1-3.1 8.2 0 11.3l256.1 256.3Z\",\"transform\":\"matrix(1 0 0 -1 0 1024)\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineEyeInvisible (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M942.2 486.2Q889.47 375.11 816.7 305l-50.88 50.88C807.31 395.53 843.45 447.4 874.7 512 791.5 684.2 673.4 766 512 766q-72.67 0-133.87-22.38L323 798.75Q408 838 512 838q288.3 0 430.2-300.3a60.29 60.29 0 0 0 0-51.5zm-63.57-320.64L836 122.88a8 8 0 0 0-11.32 0L715.31 232.2Q624.86 186 512 186q-288.3 0-430.2 300.3a60.3 60.3 0 0 0 0 51.5q56.69 119.4 136.5 191.41L112.48 835a8 8 0 0 0 0 11.31L155.17 889a8 8 0 0 0 11.31 0l712.15-712.12a8 8 0 0 0 0-11.32zM149.3 512C232.6 339.8 350.7 258 512 258c54.54 0 104.13 9.36 149.12 28.39l-70.3 70.3a176 176 0 0 0-238.13 238.13l-83.42 83.42C223.1 637.49 183.3 582.28 149.3 512zm246.7 0a112.11 112.11 0 0 1 146.2-106.69L401.31 546.2A112 112 0 0 1 396 512z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M508 624c-3.46 0-6.87-.16-10.25-.47l-52.82 52.82a176.09 176.09 0 0 0 227.42-227.42l-52.82 52.82c.31 3.38.47 6.79.47 10.25a111.94 111.94 0 0 1-112 112z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineEye (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M942.2 486.2C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 0 0 0 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM512 766c-161.3 0-279.4-81.8-362.7-254C232.6 339.8 350.7 258 512 258c161.3 0 279.4 81.8 362.7 254C791.5 684.2 673.4 766 512 766zm-4-430c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm0 288c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineFacebook (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-32 736H663.9V602.2h104l15.6-120.7H663.9v-77.1c0-35 9.7-58.8 59.8-58.8h63.9v-108c-11.1-1.5-49-4.8-93.2-4.8-92.2 0-155.3 56.3-155.3 159.6v89H434.9v120.7h104.3V848H176V176h672v672z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineFall (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M925.9 804l-24-199.2c-.8-6.6-8.9-9.4-13.6-4.7L829 659.5 557.7 388.3c-6.3-6.2-16.4-6.2-22.6 0L433.3 490 156.6 213.3a8.03 8.03 0 0 0-11.3 0l-45 45.2a8.03 8.03 0 0 0 0 11.3L422 591.7c6.2 6.3 16.4 6.3 22.6 0L546.4 490l226.1 226-59.3 59.3a8.01 8.01 0 0 0 4.7 13.6l199.2 24c5.1.7 9.5-3.7 8.8-8.9z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineFastBackward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M517.6 273.5L230.2 499.3a16.14 16.14 0 0 0 0 25.4l287.4 225.8c10.7 8.4 26.4.8 26.4-12.7V286.2c0-13.5-15.7-21.1-26.4-12.7zm320 0L550.2 499.3a16.14 16.14 0 0 0 0 25.4l287.4 225.8c10.7 8.4 26.4.8 26.4-12.7V286.2c0-13.5-15.7-21.1-26.4-12.7zm-620-25.5h-51.2c-3.5 0-6.4 2.7-6.4 6v516c0 3.3 2.9 6 6.4 6h51.2c3.5 0 6.4-2.7 6.4-6V254c0-3.3-2.9-6-6.4-6z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineFastForward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M793.8 499.3L506.4 273.5c-10.7-8.4-26.4-.8-26.4 12.7v451.6c0 13.5 15.7 21.1 26.4 12.7l287.4-225.8a16.14 16.14 0 0 0 0-25.4zm-320 0L186.4 273.5c-10.7-8.4-26.4-.8-26.4 12.7v451.5c0 13.5 15.7 21.1 26.4 12.7l287.4-225.8c4.1-3.2 6.2-8 6.2-12.7 0-4.6-2.1-9.4-6.2-12.6zM857.6 248h-51.2c-3.5 0-6.4 2.7-6.4 6v516c0 3.3 2.9 6 6.4 6h51.2c3.5 0 6.4-2.7 6.4-6V254c0-3.3-2.9-6-6.4-6z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineFieldBinary (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"t\":\"1569683645783\",\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M600 395.4h91V649h79V267c0-4.4-3.6-8-8-8h-48.2c-3.7 0-7 2.6-7.7 6.3-2.6 12.1-6.9 22.3-12.9 30.9-7.2 10.1-15.9 18.2-26.3 24.4-10.3 6.2-22 10.5-35 12.9-10.4 1.9-21 3-32 3.1-4.4 0.1-7.9 3.6-7.9 8v42.8c0 4.4 3.6 8 8 8zM871 702H567c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h304c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM443.9 312.7c-16.1-19-34.4-32.4-55.2-40.4-21.3-8.2-44.1-12.3-68.4-12.3-23.9 0-46.4 4.1-67.7 12.3-20.8 8-39 21.4-54.8 40.3-15.9 19.1-28.7 44.7-38.3 77-9.6 32.5-14.5 73-14.5 121.5 0 49.9 4.9 91.4 14.5 124.4 9.6 32.8 22.4 58.7 38.3 77.7 15.8 18.9 34 32.3 54.8 40.3 21.3 8.2 43.8 12.3 67.7 12.3 24.4 0 47.2-4.1 68.4-12.3 20.8-8 39.2-21.4 55.2-40.4 16.1-19 29-44.9 38.6-77.7 9.6-33 14.5-74.5 14.5-124.4 0-48.4-4.9-88.9-14.5-121.5-9.5-32.1-22.4-57.7-38.6-76.8z m-29.5 251.7c-1 21.4-4.2 42-9.5 61.9-5.5 20.7-14.5 38.5-27 53.4-13.6 16.3-33.2 24.3-57.6 24.3-24 0-43.2-8.1-56.7-24.4-12.2-14.8-21.1-32.6-26.6-53.3-5.3-19.9-8.5-40.6-9.5-61.9-1-20.8-1.5-38.5-1.5-53.2 0-8.8 0.1-19.4 0.4-31.8 0.2-12.7 1.1-25.8 2.6-39.2 1.5-13.6 4-27.1 7.6-40.5 3.7-13.8 8.8-26.3 15.4-37.4 6.9-11.6 15.8-21.1 26.7-28.3 11.4-7.6 25.3-11.3 41.5-11.3 16.1 0 30.1 3.7 41.7 11.2 11.1 7.2 20.3 16.6 27.4 28.2 6.9 11.2 12.1 23.8 15.6 37.7 3.3 13.2 5.8 26.6 7.5 40.1 1.8 13.5 2.8 26.6 3 39.4 0.2 12.4 0.4 23 0.4 31.8 0.1 14.8-0.4 32.5-1.4 53.3z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineFieldNumber (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"t\":\"1569683604581\",\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M508 280h-63.3c-3.3 0-6 2.7-6 6v340.2H433L197.4 282.6c-1.1-1.6-3-2.6-4.9-2.6H126c-3.3 0-6 2.7-6 6v464c0 3.3 2.7 6 6 6h62.7c3.3 0 6-2.7 6-6V405.1h5.7l238.2 348.3c1.1 1.6 3 2.6 5 2.6H508c3.3 0 6-2.7 6-6V286c0-3.3-2.7-6-6-6zM886 693H582c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h304c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM733.8 630c52.9 0 95.2-17.2 126.2-51.7 29.4-32.9 44-75.8 44-128.8 0-53.1-14.6-96.5-44-129.3-30.9-34.8-73.2-52.2-126.2-52.2-53.7 0-95.9 17.5-126.3 52.8-29.2 33.1-43.4 75.9-43.4 128.7 0 52.4 14.3 95.2 43.5 128.3 30.6 34.7 73 52.2 126.2 52.2z m-71.5-263.7c16.9-20.6 40.3-30.9 71.4-30.9 31.5 0 54.8 9.6 71 29.1 16.4 20.3 24.9 48.6 24.9 84.9 0 36.3-8.4 64.1-24.8 83.9-16.5 19.4-40 29.2-71.1 29.2-31.2 0-55-10.3-71.4-30.4-16.3-20.1-24.5-47.3-24.5-82.6 0.1-35.8 8.2-63 24.5-83.2z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineFieldString (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"t\":\"1569683607277\",\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M875.6 515.9c2.1 0.8 4.4-0.3 5.2-2.4 0.2-0.4 0.2-0.9 0.2-1.4v-58.3c0-1.8-1.1-3.3-2.8-3.8-6-1.8-17.2-3-27.2-3-32.9 0-61.7 16.7-73.5 41.2v-28.6c0-4.4-3.6-8-8-8H717c-4.4 0-8 3.6-8 8V729c0 4.4 3.6 8 8 8h54.8c4.4 0 8-3.6 8-8V572.7c0-36.2 26.1-60.2 65.1-60.2 10.4 0.1 26.6 1.8 30.7 3.4zM338.6 475.4l-54.7-12.6c-61.2-14.2-87.7-34.8-87.7-70.7 0-44.6 39.1-73.5 96.9-73.5 52.8 0 91.4 26.5 99.9 68.9h70C455.9 311.6 387.6 259 293.4 259c-103.3 0-171 55.5-171 139 0 68.6 38.6 109.5 122.2 128.5l61.6 14.3c63.6 14.9 91.6 37.1 91.6 75.1 0 44.1-43.5 75.2-102.5 75.2-60.6 0-104.5-27.2-112.8-70.5H111c7.2 79.9 75.6 130.4 179.1 130.4C402.3 751 471 695.2 471 605.3c0-70.2-38.6-108.5-132.4-129.9z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M877 729m-36 0a36 36 0 1 0 72 0 36 36 0 1 0-72 0Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M653 457.8h-51.4V396c0-4.4-3.6-8-8-8h-54.7c-4.4 0-8 3.6-8 8v61.8H495c-4.4 0-8 3.6-8 8v42.3c0 4.4 3.6 8 8 8h35.9v147.5c0 56.2 27.4 79.4 93.1 79.4 11.7 0 23.6-1.2 33.8-3.1 1.9-0.3 3.2-2 3.2-3.9v-49.3c0-2.2-1.8-4-4-4h-0.4c-4.9 0.5-6.2 0.6-8.3 0.8-4.1 0.3-7.8 0.5-12.6 0.5-24.1 0-34.1-10.3-34.1-35.6V516.1H653c4.4 0 8-3.6 8-8v-42.3c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineFieldTime (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"t\":\"1569683618210\",\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M945 412H689c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h256c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM811 548H689c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h122c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM477.3 322.5H434c-6.2 0-11.2 5-11.2 11.2v248c0 3.6 1.7 6.9 4.6 9l148.9 108.6c5 3.6 12 2.6 15.6-2.4l25.7-35.1v-0.1c3.6-5 2.5-12-2.5-15.6l-126.7-91.6V333.7c0.1-6.2-5-11.2-11.1-11.2z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M804.8 673.9H747c-5.6 0-10.9 2.9-13.9 7.7-12.7 20.1-27.5 38.7-44.5 55.7-29.3 29.3-63.4 52.3-101.3 68.3-39.3 16.6-81 25-124 25-43.1 0-84.8-8.4-124-25-37.9-16-72-39-101.3-68.3s-52.3-63.4-68.3-101.3c-16.6-39.2-25-80.9-25-124 0-43.1 8.4-84.7 25-124 16-37.9 39-72 68.3-101.3 29.3-29.3 63.4-52.3 101.3-68.3 39.2-16.6 81-25 124-25 43.1 0 84.8 8.4 124 25 37.9 16 72 39 101.3 68.3 17 17 31.8 35.6 44.5 55.7 3 4.8 8.3 7.7 13.9 7.7h57.8c6.9 0 11.3-7.2 8.2-13.3-65.2-129.7-197.4-214-345-215.7-216.1-2.7-395.6 174.2-396 390.1C71.6 727.5 246.9 903 463.2 903c149.5 0 283.9-84.6 349.8-215.8 3.1-6.1-1.4-13.3-8.2-13.3z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineFileAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0 0 42 42h216v494zM544 472c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v108H372c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h108v108c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V644h108c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H544V472z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineFileDone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M688 312v-48c0-4.4-3.6-8-8-8H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8zm-392 88c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H296zm376 116c-119.3 0-216 96.7-216 216s96.7 216 216 216 216-96.7 216-216-96.7-216-216-216zm107.5 323.5C750.8 868.2 712.6 884 672 884s-78.8-15.8-107.5-44.5C535.8 810.8 520 772.6 520 732s15.8-78.8 44.5-107.5C593.2 595.8 631.4 580 672 580s78.8 15.8 107.5 44.5C808.2 653.2 824 691.4 824 732s-15.8 78.8-44.5 107.5zM761 656h-44.3c-2.6 0-5 1.2-6.5 3.3l-63.5 87.8-23.1-31.9a7.92 7.92 0 0 0-6.5-3.3H573c-6.5 0-10.3 7.4-6.5 12.7l73.8 102.1c3.2 4.4 9.7 4.4 12.9 0l114.2-158c3.9-5.3.1-12.7-6.4-12.7zM440 852H208V148h560v344c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V108c0-17.7-14.3-32-32-32H168c-17.7 0-32 14.3-32 32v784c0 17.7 14.3 32 32 32h272c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineFileExcel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0 0 42 42h216v494zM514.1 580.1l-61.8-102.4c-2.2-3.6-6.1-5.8-10.3-5.8h-38.4c-2.3 0-4.5.6-6.4 1.9-5.6 3.5-7.3 10.9-3.7 16.6l82.3 130.4-83.4 132.8a12.04 12.04 0 0 0 10.2 18.4h34.5c4.2 0 8-2.2 10.2-5.7L510 664.8l62.3 101.4c2.2 3.6 6.1 5.7 10.2 5.7H620c2.3 0 4.5-.7 6.5-1.9 5.6-3.6 7.2-11 3.6-16.6l-84-130.4 85.3-132.5a12.04 12.04 0 0 0-10.1-18.5h-35.7c-4.2 0-8.1 2.2-10.3 5.8l-61.2 102.3z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineFileExclamation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0 0 42 42h216v494zM472 744a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm16-104h48c4.4 0 8-3.6 8-8V448c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v184c0 4.4 3.6 8 8 8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineFileGif (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"t\":\"1569683725598\",\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M551.5 490.5H521c-4.6 0-8.4 3.7-8.4 8.4V720c0 4.6 3.7 8.4 8.4 8.4h30.5c4.6 0 8.4-3.7 8.4-8.4V498.9c-0.1-4.6-3.8-8.4-8.4-8.4zM477.3 600h-88.1c-4.6 0-8.4 3.7-8.4 8.4v23.8c0 4.6 3.7 8.4 8.4 8.4h47.6v0.7c-0.6 29.9-23 49.8-56.5 49.8-39.2 0-63.6-30.7-63.6-81.4 0-50.1 23.9-80.6 62.3-80.6 28.1 0 47.5 13.5 55.4 38.3l0.9 2.8h49.2l-0.7-4.6C475.9 515.9 434.7 484 379 484c-68.8 0-113 49.4-113 125.9 0 77.5 43.7 126.1 113.6 126.1 64.4 0 106-40.3 106-102.9v-24.8c0-4.6-3.7-8.3-8.3-8.3z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216c0 23.2 18.8 42 42 42h216v494z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M608.2 727.8h32.3c4.6 0 8.4-3.7 8.4-8.4v-84.8h87.8c4.6 0 8.4-3.7 8.4-8.4v-25.5c0-4.6-3.7-8.4-8.4-8.4h-87.8v-58.9h96.8c4.6 0 8.4-3.7 8.4-8.4v-26.8c0-4.6-3.7-8.4-8.4-8.4H608.2c-4.6 0-8.4 3.7-8.4 8.4v221.1c0 4.8 3.8 8.5 8.4 8.5z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineFileImage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M553.1 509.1l-77.8 99.2-41.1-52.4a8 8 0 0 0-12.6 0l-99.8 127.2a7.98 7.98 0 0 0 6.3 12.9H696c6.7 0 10.4-7.7 6.3-12.9l-136.5-174a8.1 8.1 0 0 0-12.7 0zM360 442a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm494.6-153.4L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0 0 42 42h216v494z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineFileJpg (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M874.6 301.8L596.8 21.3c-4.5-4.5-9.4-8.3-14.7-11.5-1.4-.8-2.8-1.6-4.3-2.3-.9-.5-1.9-.9-2.8-1.3-9-4-18.9-6.2-29-6.2H201c-39.8 0-73 32.2-73 72v880c0 39.8 33.2 72 73 72h623c39.8 0 71-32.2 71-72V352.5c0-19-7-37.2-20.4-50.7zM583 110.4L783.8 312H583V110.4zM823 952H200V72h311v240c0 39.8 33.2 72 73 72h239v568zM350 696.5c0 24.2-7.5 31.4-21.9 31.4-9 0-18.4-5.8-24.8-18.5L272.9 732c13.4 22.9 32.3 34.2 61.3 34.2 41.6 0 60.8-29.9 60.8-66.2V577h-45v119.5zM501.3 577H437v186h44v-62h21.6c39.1 0 73.1-19.6 73.1-63.6 0-45.8-33.5-60.4-74.4-60.4zm-.8 89H481v-53h18.2c21.5 0 33.4 6.2 33.4 24.9 0 18.1-10.5 28.1-32.1 28.1zm182.5-9v36h30v30.1c-4 2.9-11 4.7-17.7 4.7-34.3 0-50.7-21.4-50.7-58.2 0-36.1 19.7-57.4 47.1-57.4 15.3 0 25 6.2 34 14.4l23.7-28.3c-12.7-12.8-32.1-24.2-59.2-24.2-49.6 0-91.1 35.3-91.1 97 0 62.7 40 95.1 91.5 95.1 25.9 0 49.2-10.2 61.5-22.6V657H683z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineFileMarkdown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0 0 42 42h216v494zM429 481.2c-1.9-4.4-6.2-7.2-11-7.2h-35c-6.6 0-12 5.4-12 12v272c0 6.6 5.4 12 12 12h27.1c6.6 0 12-5.4 12-12V582.1l66.8 150.2a12 12 0 0 0 11 7.1H524c4.7 0 9-2.8 11-7.1l66.8-150.6V758c0 6.6 5.4 12 12 12H641c6.6 0 12-5.4 12-12V486c0-6.6-5.4-12-12-12h-34.7c-4.8 0-9.1 2.8-11 7.2l-83.1 191-83.2-191z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineFilePdf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M531.3 574.4l.3-1.4c5.8-23.9 13.1-53.7 7.4-80.7-3.8-21.3-19.5-29.6-32.9-30.2-15.8-.7-29.9 8.3-33.4 21.4-6.6 24-.7 56.8 10.1 98.6-13.6 32.4-35.3 79.5-51.2 107.5-29.6 15.3-69.3 38.9-75.2 68.7-1.2 5.5.2 12.5 3.5 18.8 3.7 7 9.6 12.4 16.5 15 3 1.1 6.6 2 10.8 2 17.6 0 46.1-14.2 84.1-79.4 5.8-1.9 11.8-3.9 17.6-5.9 27.2-9.2 55.4-18.8 80.9-23.1 28.2 15.1 60.3 24.8 82.1 24.8 21.6 0 30.1-12.8 33.3-20.5 5.6-13.5 2.9-30.5-6.2-39.6-13.2-13-45.3-16.4-95.3-10.2-24.6-15-40.7-35.4-52.4-65.8zM421.6 726.3c-13.9 20.2-24.4 30.3-30.1 34.7 6.7-12.3 19.8-25.3 30.1-34.7zm87.6-235.5c5.2 8.9 4.5 35.8.5 49.4-4.9-19.9-5.6-48.1-2.7-51.4.8.1 1.5.7 2.2 2zm-1.6 120.5c10.7 18.5 24.2 34.4 39.1 46.2-21.6 4.9-41.3 13-58.9 20.2-4.2 1.7-8.3 3.4-12.3 5 13.3-24.1 24.4-51.4 32.1-71.4zm155.6 65.5c.1.2.2.5-.4.9h-.2l-.2.3c-.8.5-9 5.3-44.3-8.6 40.6-1.9 45 7.3 45.1 7.4zm191.4-388.2L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0 0 42 42h216v494z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineFilePpt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M424 476c-4.4 0-8 3.6-8 8v276c0 4.4 3.6 8 8 8h32.5c4.4 0 8-3.6 8-8v-95.5h63.3c59.4 0 96.2-38.9 96.2-94.1 0-54.5-36.3-94.3-96-94.3H424zm150.6 94.3c0 43.4-26.5 54.3-71.2 54.3h-38.9V516.2h56.2c33.8 0 53.9 19.7 53.9 54.1zm280-281.7L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0 0 42 42h216v494z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineFileProtect (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M644.7 669.2a7.92 7.92 0 0 0-6.5-3.3H594c-6.5 0-10.3 7.4-6.5 12.7l73.8 102.1c3.2 4.4 9.7 4.4 12.9 0l114.2-158c3.8-5.3 0-12.7-6.5-12.7h-44.3c-2.6 0-5 1.2-6.5 3.3l-63.5 87.8-22.9-31.9zM688 306v-48c0-4.4-3.6-8-8-8H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8zm-392 88c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H296zm184 458H208V148h560v296c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V108c0-17.7-14.3-32-32-32H168c-17.7 0-32 14.3-32 32v784c0 17.7 14.3 32 32 32h312c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm402.6-320.8l-192-66.7c-.9-.3-1.7-.4-2.6-.4s-1.8.1-2.6.4l-192 66.7a7.96 7.96 0 0 0-5.4 7.5v251.1c0 2.5 1.1 4.8 3.1 6.3l192 150.2c1.4 1.1 3.2 1.7 4.9 1.7s3.5-.6 4.9-1.7l192-150.2c1.9-1.5 3.1-3.8 3.1-6.3V538.7c0-3.4-2.2-6.4-5.4-7.5zM826 763.7L688 871.6 550 763.7V577l138-48 138 48v186.7z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineFileSearch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M688 312v-48c0-4.4-3.6-8-8-8H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8zm-392 88c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H296zm144 452H208V148h560v344c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V108c0-17.7-14.3-32-32-32H168c-17.7 0-32 14.3-32 32v784c0 17.7 14.3 32 32 32h272c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm445.7 51.5l-93.3-93.3C814.7 780.7 828 743.9 828 704c0-97.2-78.8-176-176-176s-176 78.8-176 176 78.8 176 176 176c35.8 0 69-10.7 96.8-29l94.7 94.7c1.6 1.6 3.6 2.3 5.6 2.3s4.1-.8 5.6-2.3l31-31a7.9 7.9 0 0 0 0-11.2zM652 816c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineFileSync (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M296 256c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H296zm192 200v-48c0-4.4-3.6-8-8-8H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8zm-48 396H208V148h560v344c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V108c0-17.7-14.3-32-32-32H168c-17.7 0-32 14.3-32 32v784c0 17.7 14.3 32 32 32h272c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm104.1-115.6c1.8-34.5 16.2-66.8 40.8-91.4 26.2-26.2 62-41 99.1-41 37.4 0 72.6 14.6 99.1 41 3.2 3.2 6.3 6.6 9.2 10.1L769.2 673a8 8 0 0 0 3 14.1l93.3 22.5c5 1.2 9.8-2.6 9.9-7.7l.6-95.4a8 8 0 0 0-12.9-6.4l-20.3 15.8C805.4 569.6 748.1 540 684 540c-109.9 0-199.6 86.9-204 195.7-.2 4.5 3.5 8.3 8 8.3h48.1c4.3 0 7.8-3.3 8-7.6zM880 744h-48.1c-4.3 0-7.8 3.3-8 7.6-1.8 34.5-16.2 66.8-40.8 91.4-26.2 26.2-62 41-99.1 41-37.4 0-72.6-14.6-99.1-41-3.2-3.2-6.3-6.6-9.2-10.1l23.1-17.9a8 8 0 0 0-3-14.1l-93.3-22.5c-5-1.2-9.8 2.6-9.9 7.7l-.6 95.4a8 8 0 0 0 12.9 6.4l20.3-15.8C562.6 918.4 619.9 948 684 948c109.9 0 199.6-86.9 204-195.7.2-4.5-3.5-8.3-8-8.3z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineFileText (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0 0 42 42h216v494zM504 618H320c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM312 490v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H320c-4.4 0-8 3.6-8 8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineFileUnknown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M854.6 288.7L639.4 73.4c-6-6-14.2-9.4-22.7-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.6-9.4-22.6zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0 0 42 42h216v494zM402 549c0 5.4 4.4 9.5 9.8 9.5h32.4c5.4 0 9.8-4.2 9.8-9.4 0-28.2 25.8-51.6 58-51.6s58 23.4 58 51.5c0 25.3-21 47.2-49.3 50.9-19.3 2.8-34.5 20.3-34.7 40.1v32c0 5.5 4.5 10 10 10h32c5.5 0 10-4.5 10-10v-12.2c0-6 4-11.5 9.7-13.3 44.6-14.4 75-54 74.3-98.9-.8-55.5-49.2-100.8-108.5-101.6-61.4-.7-111.5 45.6-111.5 103zm78 195a32 32 0 1 0 64 0 32 32 0 1 0-64 0z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineFileWord (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0 0 42 42h216v494zM528.1 472h-32.2c-5.5 0-10.3 3.7-11.6 9.1L434.6 680l-46.1-198.7c-1.3-5.4-6.1-9.3-11.7-9.3h-35.4a12.02 12.02 0 0 0-11.6 15.1l74.2 276c1.4 5.2 6.2 8.9 11.6 8.9h32c5.4 0 10.2-3.6 11.6-8.9l52.8-197 52.8 197c1.4 5.2 6.2 8.9 11.6 8.9h31.8c5.4 0 10.2-3.6 11.6-8.9l74.4-276a12.04 12.04 0 0 0-11.6-15.1H647c-5.6 0-10.4 3.9-11.7 9.3l-45.8 199.1-49.8-199.3c-1.3-5.4-6.1-9.1-11.6-9.1z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineFileZip (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M296 392h64v64h-64zm0 190v160h128V582h-64v-62h-64v62zm80 48v64h-32v-64h32zm-16-302h64v64h-64zm-64-64h64v64h-64zm64 192h64v64h-64zm0-256h64v64h-64zm494.6 88.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h64v64h64v-64h174v216a42 42 0 0 0 42 42h216v494z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineFile (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326zm1.8 562H232V136h302v216a42 42 0 0 0 42 42h216v494z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineFilter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880.1 154H143.9c-24.5 0-39.8 26.7-27.5 48L349 597.4V838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V597.4L907.7 202c12.2-21.3-3.1-48-27.6-48zM603.4 798H420.6V642h182.9v156zm9.6-236.6l-9.5 16.6h-183l-9.5-16.6L212.7 226h598.6L613 561.4z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineFire (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M834.1 469.2A347.49 347.49 0 0 0 751.2 354l-29.1-26.7a8.09 8.09 0 0 0-13 3.3l-13 37.3c-8.1 23.4-23 47.3-44.1 70.8-1.4 1.5-3 1.9-4.1 2-1.1.1-2.8-.1-4.3-1.5-1.4-1.2-2.1-3-2-4.8 3.7-60.2-14.3-128.1-53.7-202C555.3 171 510 123.1 453.4 89.7l-41.3-24.3c-5.4-3.2-12.3 1-12 7.3l2.2 48c1.5 32.8-2.3 61.8-11.3 85.9-11 29.5-26.8 56.9-47 81.5a295.64 295.64 0 0 1-47.5 46.1 352.6 352.6 0 0 0-100.3 121.5A347.75 347.75 0 0 0 160 610c0 47.2 9.3 92.9 27.7 136a349.4 349.4 0 0 0 75.5 110.9c32.4 32 70 57.2 111.9 74.7C418.5 949.8 464.5 959 512 959s93.5-9.2 136.9-27.3A348.6 348.6 0 0 0 760.8 857c32.4-32 57.8-69.4 75.5-110.9a344.2 344.2 0 0 0 27.7-136c0-48.8-10-96.2-29.9-140.9zM713 808.5c-53.7 53.2-125 82.4-201 82.4s-147.3-29.2-201-82.4c-53.5-53.1-83-123.5-83-198.4 0-43.5 9.8-85.2 29.1-124 18.8-37.9 46.8-71.8 80.8-97.9a349.6 349.6 0 0 0 58.6-56.8c25-30.5 44.6-64.5 58.2-101a240 240 0 0 0 12.1-46.5c24.1 22.2 44.3 49 61.2 80.4 33.4 62.6 48.8 118.3 45.8 165.7a74.01 74.01 0 0 0 24.4 59.8 73.36 73.36 0 0 0 53.4 18.8c19.7-1 37.8-9.7 51-24.4 13.3-14.9 24.8-30.1 34.4-45.6 14 17.9 25.7 37.4 35 58.4 15.9 35.8 24 73.9 24 113.1 0 74.9-29.5 145.4-83 198.4z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineFlag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 305H624V192c0-17.7-14.3-32-32-32H184v-40c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v784c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V640h248v113c0 17.7 14.3 32 32 32h416c17.7 0 32-14.3 32-32V337c0-17.7-14.3-32-32-32zM184 568V232h368v336H184zm656 145H504v-73h112c4.4 0 8-3.6 8-8V377h216v336z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineFolderAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M484 443.1V528h-84.5c-4.1 0-7.5 3.1-7.5 7v42c0 3.8 3.4 7 7.5 7H484v84.9c0 3.9 3.2 7.1 7 7.1h42c3.9 0 7-3.2 7-7.1V584h84.5c4.1 0 7.5-3.2 7.5-7v-42c0-3.9-3.4-7-7.5-7H540v-84.9c0-3.9-3.1-7.1-7-7.1h-42c-3.8 0-7 3.2-7 7.1zm396-144.7H521L403.7 186.2a8.15 8.15 0 0 0-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32zM840 768H184V256h188.5l119.6 114.4H840V768z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineFolderOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M928 444H820V330.4c0-17.7-14.3-32-32-32H473L355.7 186.2a8.15 8.15 0 0 0-5.5-2.2H96c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h698c13 0 24.8-7.9 29.7-20l134-332c1.5-3.8 2.3-7.9 2.3-12 0-17.7-14.3-32-32-32zM136 256h188.5l119.6 114.4H748V444H238c-13 0-24.8 7.9-29.7 20L136 643.2V256zm635.3 512H159l103.3-256h612.4L771.3 768z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineFolderView (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"t\":\"1569683698855\",\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M309.1 554.3c-5.4 11.6-5.4 24.9 0 36.4C353.3 684 421.6 732 512.5 732s159.2-48.1 203.4-141.3c5.4-11.5 5.4-24.8 0.1-36.3l-0.1-0.1-0.1-0.1C671.7 461 603.4 413 512.5 413s-159.2 48.1-203.4 141.3zM512.5 477c62.1 0 107.4 30 141.1 95.5C620 638 574.6 668 512.5 668s-107.4-30-141.1-95.5c33.7-65.5 79-95.5 141.1-95.5z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M513 573m-56 0a56 56 0 1 0 112 0 56 56 0 1 0-112 0Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M880 298.4H521L403.7 186.2c-1.5-1.4-3.5-2.2-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32zM840 768H184V256h188.5l119.6 114.4H840V768z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineFolder (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 298.4H521L403.7 186.2a8.15 8.15 0 0 0-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32zM840 768H184V256h188.5l119.6 114.4H840V768z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineFontColors (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M904 816H120c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-80c0-4.4-3.6-8-8-8zm-650.3-80h85c4.2 0 8-2.7 9.3-6.8l53.7-166h219.2l53.2 166c1.3 4 5 6.8 9.3 6.8h89.1c1.1 0 2.2-.2 3.2-.5a9.7 9.7 0 0 0 6-12.4L573.6 118.6a9.9 9.9 0 0 0-9.2-6.6H462.1c-4.2 0-7.9 2.6-9.2 6.6L244.5 723.1c-.4 1-.5 2.1-.5 3.2-.1 5.3 4.3 9.7 9.7 9.7zm255.9-516.1h4.1l83.8 263.8H424.9l84.7-263.8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineFontSize (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M920 416H616c-4.4 0-8 3.6-8 8v112c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-56h60v320h-46c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h164c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8h-46V480h60v56c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V424c0-4.4-3.6-8-8-8zM656 296V168c0-4.4-3.6-8-8-8H104c-4.4 0-8 3.6-8 8v128c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-64h168v560h-92c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h264c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-92V232h168v64c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineFork (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M752 100c-61.8 0-112 50.2-112 112 0 47.7 29.9 88.5 72 104.6v27.6L512 601.4 312 344.2v-27.6c42.1-16.1 72-56.9 72-104.6 0-61.8-50.2-112-112-112s-112 50.2-112 112c0 50.6 33.8 93.5 80 107.3v34.4c0 9.7 3.3 19.3 9.3 27L476 672.3v33.6c-44.2 15-76 56.9-76 106.1 0 61.8 50.2 112 112 112s112-50.2 112-112c0-49.2-31.8-91-76-106.1v-33.6l226.7-291.6c6-7.7 9.3-17.3 9.3-27v-34.4c46.2-13.8 80-56.7 80-107.3 0-61.8-50.2-112-112-112zM224 212a48.01 48.01 0 0 1 96 0 48.01 48.01 0 0 1-96 0zm336 600a48.01 48.01 0 0 1-96 0 48.01 48.01 0 0 1 96 0zm192-552a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineForm (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M904 512h-56c-4.4 0-8 3.6-8 8v320H184V184h320c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V520c0-4.4-3.6-8-8-8z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M355.9 534.9L354 653.8c-.1 8.9 7.1 16.2 16 16.2h.4l118-2.9c2-.1 4-.9 5.4-2.3l415.9-415c3.1-3.1 3.1-8.2 0-11.3L785.4 114.3c-1.6-1.6-3.6-2.3-5.7-2.3s-4.1.8-5.7 2.3l-415.8 415a8.3 8.3 0 0 0-2.3 5.6zm63.5 23.6L779.7 199l45.2 45.1-360.5 359.7-45.7 1.1.7-46.4z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineFormatPainter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"t\":\"1569683552617\",\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M840 192h-56v-72c0-13.3-10.7-24-24-24H168c-13.3 0-24 10.7-24 24v272c0 13.3 10.7 24 24 24h592c13.3 0 24-10.7 24-24V256h32v200H465c-22.1 0-40 17.9-40 40v136h-44c-4.4 0-8 3.6-8 8v228c0 0.6 0.1 1.3 0.2 1.9-0.1 2-0.2 4.1-0.2 6.1 0 46.4 37.6 84 84 84s84-37.6 84-84c0-2.1-0.1-4.1-0.2-6.1 0.1-0.6 0.2-1.2 0.2-1.9V640c0-4.4-3.6-8-8-8h-44V520h351c22.1 0 40-17.9 40-40V232c0-22.1-17.9-40-40-40zM720 352H208V160h512v192zM477 876c0 11-9 20-20 20s-20-9-20-20V696h40v180z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineForward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M825.8 498L538.4 249.9c-10.7-9.2-26.4-.9-26.4 14v496.3c0 14.9 15.7 23.2 26.4 14L825.8 526c8.3-7.2 8.3-20.8 0-28zm-320 0L218.4 249.9c-10.7-9.2-26.4-.9-26.4 14v496.3c0 14.9 15.7 23.2 26.4 14L505.8 526c4.1-3.6 6.2-8.8 6.2-14 0-5.2-2.1-10.4-6.2-14z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineFrown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 421a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm352 0a48 48 0 1 0 96 0 48 48 0 1 0-96 0zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm263 711c-34.2 34.2-74 61-118.3 79.8C611 874.2 562.3 884 512 884c-50.3 0-99-9.8-144.8-29.2A370.4 370.4 0 0 1 248.9 775c-34.2-34.2-61-74-79.8-118.3C149.8 611 140 562.3 140 512s9.8-99 29.2-144.8A370.4 370.4 0 0 1 249 248.9c34.2-34.2 74-61 118.3-79.8C413 149.8 461.7 140 512 140c50.3 0 99 9.8 144.8 29.2A370.4 370.4 0 0 1 775.1 249c34.2 34.2 61 74 79.8 118.3C874.2 413 884 461.7 884 512s-9.8 99-29.2 144.8A368.89 368.89 0 0 1 775 775zM512 533c-85.5 0-155.6 67.3-160 151.6a8 8 0 0 0 8 8.4h48.1c4.2 0 7.8-3.2 8.1-7.4C420 636.1 461.5 597 512 597s92.1 39.1 95.8 88.6c.3 4.2 3.9 7.4 8.1 7.4H664a8 8 0 0 0 8-8.4C667.6 600.3 597.5 533 512 533z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineFullscreenExit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M391 240.9c-.8-6.6-8.9-9.4-13.6-4.7l-43.7 43.7L200 146.3a8.03 8.03 0 0 0-11.3 0l-42.4 42.3a8.03 8.03 0 0 0 0 11.3L280 333.6l-43.9 43.9a8.01 8.01 0 0 0 4.7 13.6L401 410c5.1.6 9.5-3.7 8.9-8.9L391 240.9zm10.1 373.2L240.8 633c-6.6.8-9.4 8.9-4.7 13.6l43.9 43.9L146.3 824a8.03 8.03 0 0 0 0 11.3l42.4 42.3c3.1 3.1 8.2 3.1 11.3 0L333.7 744l43.7 43.7A8.01 8.01 0 0 0 391 783l18.9-160.1c.6-5.1-3.7-9.4-8.8-8.8zm221.8-204.2L783.2 391c6.6-.8 9.4-8.9 4.7-13.6L744 333.6 877.7 200c3.1-3.1 3.1-8.2 0-11.3l-42.4-42.3a8.03 8.03 0 0 0-11.3 0L690.3 279.9l-43.7-43.7a8.01 8.01 0 0 0-13.6 4.7L614.1 401c-.6 5.2 3.7 9.5 8.8 8.9zM744 690.4l43.9-43.9a8.01 8.01 0 0 0-4.7-13.6L623 614c-5.1-.6-9.5 3.7-8.9 8.9L633 783.1c.8 6.6 8.9 9.4 13.6 4.7l43.7-43.7L824 877.7c3.1 3.1 8.2 3.1 11.3 0l42.4-42.3c3.1-3.1 3.1-8.2 0-11.3L744 690.4z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineFullscreen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M290 236.4l43.9-43.9a8.01 8.01 0 0 0-4.7-13.6L169 160c-5.1-.6-9.5 3.7-8.9 8.9L179 329.1c.8 6.6 8.9 9.4 13.6 4.7l43.7-43.7L370 423.7c3.1 3.1 8.2 3.1 11.3 0l42.4-42.3c3.1-3.1 3.1-8.2 0-11.3L290 236.4zm352.7 187.3c3.1 3.1 8.2 3.1 11.3 0l133.7-133.6 43.7 43.7a8.01 8.01 0 0 0 13.6-4.7L863.9 169c.6-5.1-3.7-9.5-8.9-8.9L694.8 179c-6.6.8-9.4 8.9-4.7 13.6l43.9 43.9L600.3 370a8.03 8.03 0 0 0 0 11.3l42.4 42.4zM845 694.9c-.8-6.6-8.9-9.4-13.6-4.7l-43.7 43.7L654 600.3a8.03 8.03 0 0 0-11.3 0l-42.4 42.3a8.03 8.03 0 0 0 0 11.3L734 787.6l-43.9 43.9a8.01 8.01 0 0 0 4.7 13.6L855 864c5.1.6 9.5-3.7 8.9-8.9L845 694.9zm-463.7-94.6a8.03 8.03 0 0 0-11.3 0L236.3 733.9l-43.7-43.7a8.01 8.01 0 0 0-13.6 4.7L160.1 855c-.6 5.1 3.7 9.5 8.9 8.9L329.2 845c6.6-.8 9.4-8.9 4.7-13.6L290 787.6 423.7 654c3.1-3.1 3.1-8.2 0-11.3l-42.4-42.4z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineFunction (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"t\":\"1569683610100\",\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M841 370c3-3.3 2.7-8.3-0.6-11.3-1.5-1.3-3.4-2.1-5.3-2.1h-72.6c-2.4 0-4.6 1-6.1 2.8L633.5 504.6c-2.9 3.4-7.9 3.8-11.3 0.9-0.9-0.8-1.6-1.7-2.1-2.8l-63.5-141.3c-1.3-2.9-4.1-4.7-7.3-4.7H380.7l0.9-4.7 8-42.3c10.5-55.4 38-81.4 85.8-81.4 18.6 0 35.5 1.7 48.8 4.7l14.1-66.8c-22.6-4.7-35.2-6.1-54.9-6.1-103.3 0-156.4 44.3-175.9 147.3l-9.4 49.4h-97.6c-3.8 0-7.1 2.7-7.8 6.4L181.9 415c-0.9 4.3 1.9 8.6 6.2 9.5 0.5 0.1 1.1 0.2 1.6 0.2H284l-89 429.9c-0.9 4.3 1.9 8.6 6.2 9.5 0.5 0.1 1.1 0.2 1.6 0.2H269c3.8 0 7.1-2.7 7.8-6.4l89.7-433.1h135.8l68.2 139.1c1.4 2.9 1 6.4-1.2 8.8l-180.6 203c-2.9 3.3-2.6 8.4 0.7 11.3 1.5 1.3 3.4 2 5.3 2h72.7c2.4 0 4.6-1 6.1-2.8l123.7-146.7c2.8-3.4 7.9-3.8 11.3-1 0.9 0.8 1.6 1.7 2.1 2.8L676.4 784c1.3 2.8 4.1 4.7 7.3 4.7h64.6c4.4 0 8-3.6 8-8 0-1.2-0.3-2.4-0.8-3.5l-95.2-198.9c-1.4-2.9-0.9-6.4 1.3-8.8L841 370z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineFundProjectionScreen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"t\":\"1569683753031\",\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M312.1 591.5c3.1 3.1 8.2 3.1 11.3 0l101.8-101.8 86.1 86.2c3.1 3.1 8.2 3.1 11.3 0l226.3-226.5c3.1-3.1 3.1-8.2 0-11.3l-36.8-36.8c-3.1-3.1-8.2-3.1-11.3 0L517 485.3l-86.1-86.2c-3.1-3.1-8.2-3.1-11.3 0L275.3 543.4c-3.1 3.1-3.1 8.2 0 11.3l36.8 36.8z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M904 160H548V96c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H120c-17.7 0-32 14.3-32 32v520c0 17.7 14.3 32 32 32h356.4v32L311.6 884.1c-3.7 2.4-4.7 7.3-2.3 11l30.3 47.2v0.1c2.4 3.7 7.4 4.7 11.1 2.3L512 838.9l161.3 105.8c3.7 2.4 8.7 1.4 11.1-2.3v-0.1l30.3-47.2c2.4-3.7 1.3-8.6-2.3-11L548 776.3V744h356c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32z m-40 512H160V232h704v440z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineFundView (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"t\":\"1569683816874\",\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M956 686.5l-0.1-0.1-0.1-0.1C911.7 593 843.4 545 752.5 545s-159.2 48.1-203.4 141.3v0.1c-5.4 11.5-5.4 24.9 0 36.4C593.3 816 661.6 864 752.5 864s159.2-48.1 203.4-141.3c5.4-11.5 5.4-24.8 0.1-36.2zM752.5 800c-62.1 0-107.4-30-141.1-95.5C645 639 690.4 609 752.5 609c62.1 0 107.4 30 141.1 95.5C860 770 814.6 800 752.5 800z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M753 705m-56 0a56 56 0 1 0 112 0 56 56 0 1 0-112 0Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M136 232h704v253h72V192c0-17.7-14.3-32-32-32H96c-17.7 0-32 14.3-32 32v520c0 17.7 14.3 32 32 32h352v-72H136V232z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M724.9 338.1l-36.8-36.8c-3.1-3.1-8.2-3.1-11.3 0L493 485.3l-86.1-86.2c-3.1-3.1-8.2-3.1-11.3 0L251.3 543.4c-3.1 3.1-3.1 8.2 0 11.3l36.8 36.8c3.1 3.1 8.2 3.1 11.3 0l101.8-101.8 86.1 86.2c3.1 3.1 8.2 3.1 11.3 0l226.3-226.5c3.2-3.1 3.2-8.2 0-11.3z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineFund (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M926 164H94c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V196c0-17.7-14.3-32-32-32zm-40 632H134V236h752v560zm-658.9-82.3c3.1 3.1 8.2 3.1 11.3 0l172.5-172.5 114.4 114.5c3.1 3.1 8.2 3.1 11.3 0l297-297.2c3.1-3.1 3.1-8.2 0-11.3l-36.8-36.8a8.03 8.03 0 0 0-11.3 0L531 565 416.6 450.5a8.03 8.03 0 0 0-11.3 0l-214.9 215a8.03 8.03 0 0 0 0 11.3l36.7 36.9z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineFunnelPlot (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880.1 154H143.9c-24.5 0-39.8 26.7-27.5 48L349 607.4V838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V607.4L907.7 202c12.2-21.3-3.1-48-27.6-48zM603.4 798H420.6V650h182.9v148zm9.6-226.6l-8.4 14.6H419.3l-8.4-14.6L334.4 438h355.2L613 571.4zM726.3 374H297.7l-85-148h598.6l-85 148z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineGateway (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M928 392c8.8 0 16-7.2 16-16V192c0-8.8-7.2-16-16-16H744c-8.8 0-16 7.2-16 16v56H296v-56c0-8.8-7.2-16-16-16H96c-8.8 0-16 7.2-16 16v184c0 8.8 7.2 16 16 16h56v240H96c-8.8 0-16 7.2-16 16v184c0 8.8 7.2 16 16 16h184c8.8 0 16-7.2 16-16v-56h432v56c0 8.8 7.2 16 16 16h184c8.8 0 16-7.2 16-16V648c0-8.8-7.2-16-16-16h-56V392h56zM792 240h88v88h-88v-88zm-648 88v-88h88v88h-88zm88 456h-88v-88h88v88zm648-88v88h-88v-88h88zm-80-64h-56c-8.8 0-16 7.2-16 16v56H296v-56c0-8.8-7.2-16-16-16h-56V392h56c8.8 0 16-7.2 16-16v-56h432v56c0 8.8 7.2 16 16 16h56v240z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineGif (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"t\":\"1569683621237\",\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M944 299H692c-4.4 0-8 3.6-8 8v406c0 4.4 3.6 8 8 8h59.2c4.4 0 8-3.6 8-8V549.9h168.2c4.4 0 8-3.6 8-8V495c0-4.4-3.6-8-8-8H759.2V364.2H944c4.4 0 8-3.6 8-8V307c0-4.4-3.6-8-8-8zM588 300h-56c-4.4 0-8 3.6-8 8v406c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V308c0-4.4-3.6-8-8-8zM452 500.9H290.5c-4.4 0-8 3.6-8 8v43.7c0 4.4 3.6 8 8 8h94.9l-0.3 8.9c-1.2 58.8-45.6 98.5-110.9 98.5-76.2 0-123.9-59.7-123.9-156.7 0-95.8 46.8-155.2 121.5-155.2 54.8 0 93.1 26.9 108.5 75.4h76.2c-13.6-87.2-86-143.4-184.7-143.4C150 288 72 375.2 72 511.9 72 650.2 149.1 736 273 736c114.1 0 187-70.7 187-181.6v-45.5c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineGift (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 310H732.4c13.6-21.4 21.6-46.8 21.6-74 0-76.1-61.9-138-138-138-41.4 0-78.7 18.4-104 47.4-25.3-29-62.6-47.4-104-47.4-76.1 0-138 61.9-138 138 0 27.2 7.9 52.6 21.6 74H144c-17.7 0-32 14.3-32 32v200c0 4.4 3.6 8 8 8h40v344c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V550h40c4.4 0 8-3.6 8-8V342c0-17.7-14.3-32-32-32zm-334-74c0-38.6 31.4-70 70-70s70 31.4 70 70-31.4 70-70 70h-70v-70zm-138-70c38.6 0 70 31.4 70 70v70h-70c-38.6 0-70-31.4-70-70s31.4-70 70-70zM180 482V378h298v104H180zm48 68h250v308H228V550zm568 308H546V550h250v308zm48-376H546V378h298v104z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineGithub (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M511.6 76.3C264.3 76.2 64 276.4 64 523.5 64 718.9 189.3 885 363.8 946c23.5 5.9 19.9-10.8 19.9-22.2v-77.5c-135.7 15.9-141.2-73.9-150.3-88.9C215 726 171.5 718 184.5 703c30.9-15.9 62.4 4 98.9 57.9 26.4 39.1 77.9 32.5 104 26 5.7-23.5 17.9-44.5 34.7-60.8-140.6-25.2-199.2-111-199.2-213 0-49.5 16.3-95 48.3-131.7-20.4-60.5 1.9-112.3 4.9-120 58.1-5.2 118.5 41.6 123.2 45.3 33-8.9 70.7-13.6 112.9-13.6 42.4 0 80.2 4.9 113.5 13.9 11.3-8.6 67.3-48.8 121.3-43.9 2.9 7.7 24.7 58.3 5.5 118 32.4 36.8 48.9 82.7 48.9 132.3 0 102.2-59 188.1-200 212.9a127.5 127.5 0 0 1 38.1 91v112.5c.8 9 0 17.9 15 17.9 177.1-59.7 304.6-227 304.6-424.1 0-247.2-200.4-447.3-447.5-447.3z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineGitlab (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M913.9 552.2L805 181.4v-.1c-7.6-22.9-25.7-36.5-48.3-36.5-23.4 0-42.5 13.5-49.7 35.2l-71.4 213H388.8l-71.4-213c-7.2-21.7-26.3-35.2-49.7-35.2-23.1 0-42.5 14.8-48.4 36.6L110.5 552.2c-4.4 14.7 1.2 31.4 13.5 40.7l368.5 276.4c2.6 3.6 6.2 6.3 10.4 7.8l8.6 6.4 8.5-6.4c4.9-1.7 9-4.7 11.9-8.9l368.4-275.4c12.4-9.2 18-25.9 13.6-40.6zM751.7 193.4c1-1.8 2.9-1.9 3.5-1.9 1.1 0 2.5.3 3.4 3L818 394.3H684.5l67.2-200.9zm-487.4 1c.9-2.6 2.3-2.9 3.4-2.9 2.7 0 2.9.1 3.4 1.7l67.3 201.2H206.5l57.8-200zM158.8 558.7l28.2-97.3 202.4 270.2-230.6-172.9zm73.9-116.4h122.1l90.8 284.3-212.9-284.3zM512.9 776L405.7 442.3H620L512.9 776zm157.9-333.7h119.5L580 723.1l90.8-280.8zm-40.7 293.9l207.3-276.7 29.5 99.2-236.8 177.5z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineGlobal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M854.4 800.9c.2-.3.5-.6.7-.9C920.6 722.1 960 621.7 960 512s-39.4-210.1-104.8-288c-.2-.3-.5-.5-.7-.8-1.1-1.3-2.1-2.5-3.2-3.7-.4-.5-.8-.9-1.2-1.4l-4.1-4.7-.1-.1c-1.5-1.7-3.1-3.4-4.6-5.1l-.1-.1c-3.2-3.4-6.4-6.8-9.7-10.1l-.1-.1-4.8-4.8-.3-.3c-1.5-1.5-3-2.9-4.5-4.3-.5-.5-1-1-1.6-1.5-1-1-2-1.9-3-2.8-.3-.3-.7-.6-1-1C736.4 109.2 629.5 64 512 64s-224.4 45.2-304.3 119.2c-.3.3-.7.6-1 1-1 .9-2 1.9-3 2.9-.5.5-1 1-1.6 1.5-1.5 1.4-3 2.9-4.5 4.3l-.3.3-4.8 4.8-.1.1c-3.3 3.3-6.5 6.7-9.7 10.1l-.1.1c-1.6 1.7-3.1 3.4-4.6 5.1l-.1.1c-1.4 1.5-2.8 3.1-4.1 4.7-.4.5-.8.9-1.2 1.4-1.1 1.2-2.1 2.5-3.2 3.7-.2.3-.5.5-.7.8C103.4 301.9 64 402.3 64 512s39.4 210.1 104.8 288c.2.3.5.6.7.9l3.1 3.7c.4.5.8.9 1.2 1.4l4.1 4.7c0 .1.1.1.1.2 1.5 1.7 3 3.4 4.6 5l.1.1c3.2 3.4 6.4 6.8 9.6 10.1l.1.1c1.6 1.6 3.1 3.2 4.7 4.7l.3.3c3.3 3.3 6.7 6.5 10.1 9.6 80.1 74 187 119.2 304.5 119.2s224.4-45.2 304.3-119.2a300 300 0 0 0 10-9.6l.3-.3c1.6-1.6 3.2-3.1 4.7-4.7l.1-.1c3.3-3.3 6.5-6.7 9.6-10.1l.1-.1c1.5-1.7 3.1-3.3 4.6-5 0-.1.1-.1.1-.2 1.4-1.5 2.8-3.1 4.1-4.7.4-.5.8-.9 1.2-1.4a99 99 0 0 0 3.3-3.7zm4.1-142.6c-13.8 32.6-32 62.8-54.2 90.2a444.07 444.07 0 0 0-81.5-55.9c11.6-46.9 18.8-98.4 20.7-152.6H887c-3 40.9-12.6 80.6-28.5 118.3zM887 484H743.5c-1.9-54.2-9.1-105.7-20.7-152.6 29.3-15.6 56.6-34.4 81.5-55.9A373.86 373.86 0 0 1 887 484zM658.3 165.5c39.7 16.8 75.8 40 107.6 69.2a394.72 394.72 0 0 1-59.4 41.8c-15.7-45-35.8-84.1-59.2-115.4 3.7 1.4 7.4 2.9 11 4.4zm-90.6 700.6c-9.2 7.2-18.4 12.7-27.7 16.4V697a389.1 389.1 0 0 1 115.7 26.2c-8.3 24.6-17.9 47.3-29 67.8-17.4 32.4-37.8 58.3-59 75.1zm59-633.1c11 20.6 20.7 43.3 29 67.8A389.1 389.1 0 0 1 540 327V141.6c9.2 3.7 18.5 9.1 27.7 16.4 21.2 16.7 41.6 42.6 59 75zM540 640.9V540h147.5c-1.6 44.2-7.1 87.1-16.3 127.8l-.3 1.2A445.02 445.02 0 0 0 540 640.9zm0-156.9V383.1c45.8-2.8 89.8-12.5 130.9-28.1l.3 1.2c9.2 40.7 14.7 83.5 16.3 127.8H540zm-56 56v100.9c-45.8 2.8-89.8 12.5-130.9 28.1l-.3-1.2c-9.2-40.7-14.7-83.5-16.3-127.8H484zm-147.5-56c1.6-44.2 7.1-87.1 16.3-127.8l.3-1.2c41.1 15.6 85 25.3 130.9 28.1V484H336.5zM484 697v185.4c-9.2-3.7-18.5-9.1-27.7-16.4-21.2-16.7-41.7-42.7-59.1-75.1-11-20.6-20.7-43.3-29-67.8 37.2-14.6 75.9-23.3 115.8-26.1zm0-370a389.1 389.1 0 0 1-115.7-26.2c8.3-24.6 17.9-47.3 29-67.8 17.4-32.4 37.8-58.4 59.1-75.1 9.2-7.2 18.4-12.7 27.7-16.4V327zM365.7 165.5c3.7-1.5 7.3-3 11-4.4-23.4 31.3-43.5 70.4-59.2 115.4-21-12-40.9-26-59.4-41.8 31.8-29.2 67.9-52.4 107.6-69.2zM165.5 365.7c13.8-32.6 32-62.8 54.2-90.2 24.9 21.5 52.2 40.3 81.5 55.9-11.6 46.9-18.8 98.4-20.7 152.6H137c3-40.9 12.6-80.6 28.5-118.3zM137 540h143.5c1.9 54.2 9.1 105.7 20.7 152.6a444.07 444.07 0 0 0-81.5 55.9A373.86 373.86 0 0 1 137 540zm228.7 318.5c-39.7-16.8-75.8-40-107.6-69.2 18.5-15.8 38.4-29.7 59.4-41.8 15.7 45 35.8 84.1 59.2 115.4-3.7-1.4-7.4-2.9-11-4.4zm292.6 0c-3.7 1.5-7.3 3-11 4.4 23.4-31.3 43.5-70.4 59.2-115.4 21 12 40.9 26 59.4 41.8a373.81 373.81 0 0 1-107.6 69.2z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineGold (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M342 472h342c.4 0 .9 0 1.3-.1 4.4-.7 7.3-4.8 6.6-9.2l-40.2-248c-.6-3.9-4-6.7-7.9-6.7H382.2c-3.9 0-7.3 2.8-7.9 6.7l-40.2 248c-.1.4-.1.9-.1 1.3 0 4.4 3.6 8 8 8zm91.2-196h159.5l20.7 128h-201l20.8-128zm2.5 282.7c-.6-3.9-4-6.7-7.9-6.7H166.2c-3.9 0-7.3 2.8-7.9 6.7l-40.2 248c-.1.4-.1.9-.1 1.3 0 4.4 3.6 8 8 8h342c.4 0 .9 0 1.3-.1 4.4-.7 7.3-4.8 6.6-9.2l-40.2-248zM196.5 748l20.7-128h159.5l20.7 128H196.5zm709.4 58.7l-40.2-248c-.6-3.9-4-6.7-7.9-6.7H596.2c-3.9 0-7.3 2.8-7.9 6.7l-40.2 248c-.1.4-.1.9-.1 1.3 0 4.4 3.6 8 8 8h342c.4 0 .9 0 1.3-.1 4.3-.7 7.3-4.8 6.6-9.2zM626.5 748l20.7-128h159.5l20.7 128H626.5z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineGooglePlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M879.5 470.4c-.3-27-.4-54.2-.5-81.3h-80.8c-.3 27-.5 54.1-.7 81.3-27.2.1-54.2.3-81.2.6v80.9c27 .3 54.2.5 81.2.8.3 27 .3 54.1.5 81.1h80.9c.1-27 .3-54.1.5-81.3 27.2-.3 54.2-.4 81.2-.7v-80.9c-26.9-.2-54.1-.2-81.1-.5zm-530 .4c-.1 32.3 0 64.7.1 97 54.2 1.8 108.5 1 162.7 1.8-23.9 120.3-187.4 159.3-273.9 80.7-89-68.9-84.8-220 7.7-284 64.7-51.6 156.6-38.9 221.3 5.8 25.4-23.5 49.2-48.7 72.1-74.7-53.8-42.9-119.8-73.5-190-70.3-146.6-4.9-281.3 123.5-283.7 270.2-9.4 119.9 69.4 237.4 180.6 279.8 110.8 42.7 252.9 13.6 323.7-86 46.7-62.9 56.8-143.9 51.3-220-90.7-.7-181.3-.6-271.9-.3z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineGoogle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M881 442.4H519.7v148.5h206.4c-8.9 48-35.9 88.6-76.6 115.8-34.4 23-78.3 36.6-129.9 36.6-99.9 0-184.4-67.5-214.6-158.2-7.6-23-12-47.6-12-72.9s4.4-49.9 12-72.9c30.3-90.6 114.8-158.1 214.7-158.1 56.3 0 106.8 19.4 146.6 57.4l110-110.1c-66.5-62-153.2-100-256.6-100-149.9 0-279.6 86-342.7 211.4-26 51.8-40.8 110.4-40.8 172.4S151 632.8 177 684.6C240.1 810 369.8 896 519.7 896c103.6 0 190.4-34.4 253.8-93 72.5-66.8 114.4-165.2 114.4-282.1 0-27.2-2.4-53.3-6.9-78.5z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineGroup (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"t\":\"1569683739097\",\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M912 820.1V203.9c28-9.9 48-36.6 48-67.9 0-39.8-32.2-72-72-72-31.3 0-58 20-67.9 48H203.9C194 84 167.3 64 136 64c-39.8 0-72 32.2-72 72 0 31.3 20 58 48 67.9v616.2C84 830 64 856.7 64 888c0 39.8 32.2 72 72 72 31.3 0 58-20 67.9-48h616.2c9.9 28 36.6 48 67.9 48 39.8 0 72-32.2 72-72 0-31.3-20-58-48-67.9zM888 112c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zM136 912c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24z m0-752c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24z m704 680H184V184h656v656z m48 72c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M288 474h448c8.8 0 16-7.2 16-16V282c0-8.8-7.2-16-16-16H288c-8.8 0-16 7.2-16 16v176c0 8.8 7.2 16 16 16z m56-136h336v64H344v-64zM288 758h448c8.8 0 16-7.2 16-16V566c0-8.8-7.2-16-16-16H288c-8.8 0-16 7.2-16 16v176c0 8.8 7.2 16 16 16z m56-136h336v64H344v-64z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineHarmonyOS (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\"},\"child\":[{\"tag\":\"g\",\"attr\":{\"transform\":\"translate(134 65)\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M377.5 0C585.987 0 755 169.013 755 377.5S585.987 755 377.5 755 0 585.987 0 377.5 169.013 0 377.5 0m0 64C204.359 64 64 204.359 64 377.5S204.359 691 377.5 691 691 550.641 691 377.5 550.641 64 377.5 64\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M611 824 611 896 144 896 144 824z\"},\"child\":[]}]}]})(props);\n};\nexport function AiOutlineHdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-600 72h560v208H232V136zm560 480H232V408h560v208zm0 272H232V680h560v208zM496 208H312c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM312 544h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H312c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm328 244a40 40 0 1 0 80 0 40 40 0 1 0-80 0z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineHeart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M923 283.6a260.04 260.04 0 0 0-56.9-82.8 264.4 264.4 0 0 0-84-55.5A265.34 265.34 0 0 0 679.7 125c-49.3 0-97.4 13.5-139.2 39-10 6.1-19.5 12.8-28.5 20.1-9-7.3-18.5-14-28.5-20.1-41.8-25.5-89.9-39-139.2-39-35.5 0-69.9 6.8-102.4 20.3-31.4 13-59.7 31.7-84 55.5a258.44 258.44 0 0 0-56.9 82.8c-13.9 32.3-21 66.6-21 101.9 0 33.3 6.8 68 20.3 103.3 11.3 29.5 27.5 60.1 48.2 91 32.8 48.9 77.9 99.9 133.9 151.6 92.8 85.7 184.7 144.9 188.6 147.3l23.7 15.2c10.5 6.7 24 6.7 34.5 0l23.7-15.2c3.9-2.5 95.7-61.6 188.6-147.3 56-51.7 101.1-102.7 133.9-151.6 20.7-30.9 37-61.5 48.2-91 13.5-35.3 20.3-70 20.3-103.3.1-35.3-7-69.6-20.9-101.9zM512 814.8S156 586.7 156 385.5C156 283.6 240.3 201 344.3 201c73.1 0 136.5 40.8 167.7 100.4C543.2 241.8 606.6 201 679.7 201c104 0 188.3 82.6 188.3 184.5 0 201.2-356 429.3-356 429.3z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineHeatMap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M955.7 856l-416-720c-6.2-10.7-16.9-16-27.7-16s-21.6 5.3-27.7 16l-416 720C56 877.4 71.4 904 96 904h832c24.6 0 40-26.6 27.7-48zm-790.4-23.9L512 231.9 858.7 832H165.3zm319-474.1l-228 394c-12.3 21.3 3.1 48 27.7 48h455.8c24.7 0 40.1-26.7 27.7-48L539.7 358c-6.2-10.7-17-16-27.7-16-10.8 0-21.6 5.3-27.7 16zm214 386H325.7L512 422l186.3 322zm-214-194.1l-57 98.4C415 669.5 430.4 696 455 696h114c24.6 0 39.9-26.5 27.7-47.7l-57-98.4c-6.1-10.6-16.9-15.9-27.7-15.9s-21.5 5.3-27.7 15.9zm57.1 98.4h-58.7l29.4-50.7 29.3 50.7z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineHighlight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M957.6 507.4L603.2 158.2a7.9 7.9 0 0 0-11.2 0L353.3 393.4a8.03 8.03 0 0 0-.1 11.3l.1.1 40 39.4-117.2 115.3a8.03 8.03 0 0 0-.1 11.3l.1.1 39.5 38.9-189.1 187H72.1c-4.4 0-8.1 3.6-8.1 8V860c0 4.4 3.6 8 8 8h344.9c2.1 0 4.1-.8 5.6-2.3l76.1-75.6 40.4 39.8a7.9 7.9 0 0 0 11.2 0l117.1-115.6 40.1 39.5a7.9 7.9 0 0 0 11.2 0l238.7-235.2c3.4-3 3.4-8 .3-11.2zM389.8 796.2H229.6l134.4-133 80.1 78.9-54.3 54.1zm154.8-62.1L373.2 565.2l68.6-67.6 171.4 168.9-68.6 67.6zM713.1 658L450.3 399.1 597.6 254l262.8 259-147.3 145z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineHistory (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M536.1 273H488c-4.4 0-8 3.6-8 8v275.3c0 2.6 1.2 5 3.3 6.5l165.3 120.7c3.6 2.6 8.6 1.9 11.2-1.7l28.6-39c2.7-3.7 1.9-8.7-1.7-11.2L544.1 528.5V281c0-4.4-3.6-8-8-8zm219.8 75.2l156.8 38.3c5 1.2 9.9-2.6 9.9-7.7l.8-161.5c0-6.7-7.7-10.5-12.9-6.3L752.9 334.1a8 8 0 0 0 3 14.1zm167.7 301.1l-56.7-19.5a8 8 0 0 0-10.1 4.8c-1.9 5.1-3.9 10.1-6 15.1-17.8 42.1-43.3 80-75.9 112.5a353 353 0 0 1-112.5 75.9 352.18 352.18 0 0 1-137.7 27.8c-47.8 0-94.1-9.3-137.7-27.8a353 353 0 0 1-112.5-75.9c-32.5-32.5-58-70.4-75.9-112.5A353.44 353.44 0 0 1 171 512c0-47.8 9.3-94.2 27.8-137.8 17.8-42.1 43.3-80 75.9-112.5a353 353 0 0 1 112.5-75.9C430.6 167.3 477 158 524.8 158s94.1 9.3 137.7 27.8A353 353 0 0 1 775 261.7c10.2 10.3 19.8 21 28.6 32.3l59.8-46.8C784.7 146.6 662.2 81.9 524.6 82 285 82.1 92.6 276.7 95 516.4 97.4 751.9 288.9 942 524.8 942c185.5 0 343.5-117.6 403.7-282.3 1.5-4.2-.7-8.9-4.9-10.4z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineHolder (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M300,276.497424 C317.32646,286.500861 338.67354,286.500861 356,276.497424 C373.326461,266.493987 384,248.006874 384,228 C384,207.993128 373.326461,189.506014 356,179.502578 C338.67354,169.499141 317.32646,169.499141 300,179.502578 C282.673539,189.506014 272,207.993128 272,228 C272,248.006874 282.673539,266.493987 300,276.497424 Z M300,560.497426 C317.32646,570.500863 338.67354,570.500863 356,560.497426 C373.326461,550.493989 384,532.006876 384,512.000002 C384,491.993129 373.326461,473.506016 356,463.502579 C338.67354,453.499142 317.32646,453.499142 300,463.502579 C282.673539,473.506016 272,491.993129 272,512.000002 C272,532.006876 282.673539,550.493989 300,560.497426 Z M640,228 C640,248.006874 650.673539,266.493987 668,276.497424 C685.32646,286.500861 706.67354,286.500861 724,276.497424 C741.326461,266.493987 752,248.006874 752,228 C752,207.993128 741.326461,189.506014 724,179.502578 C706.67354,169.499141 685.32646,169.499141 668,179.502578 C650.673539,189.506014 640,207.993128 640,228 L640,228 Z M640,512.000002 C640,532.006876 650.673539,550.493989 668,560.497426 C685.32646,570.500863 706.67354,570.500863 724,560.497426 C741.326461,550.493989 752,532.006876 752,512.000002 C752,491.993129 741.326461,473.506016 724,463.502579 C706.67354,453.499142 685.32646,453.499142 668,463.502579 C650.673539,473.506016 640,491.993129 640,512.000002 L640,512.000002 Z M300,844.497427 C317.32646,854.500864 338.67354,854.500864 356,844.497427 C373.326461,834.493991 384,816.006877 384,796.000003 C384,775.993131 373.326461,757.506018 356,747.502581 C338.67354,737.499144 317.32646,737.499144 300,747.502581 C282.673539,757.506018 272,775.993131 272,796.000003 C272,816.006877 282.673539,834.493991 300,844.497427 Z M640,796.000003 C640,816.006877 650.673539,834.493991 668,844.497427 C685.32646,854.500864 706.67354,854.500864 724,844.497427 C741.326461,834.493991 752,816.006877 752,796.000003 C752,775.993131 741.326461,757.506018 724,747.502581 C706.67354,737.499144 685.32646,737.499144 668,747.502581 C650.673539,757.506018 640,775.993131 640,796.000003 L640,796.000003 Z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineHome (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M946.5 505L560.1 118.8l-25.9-25.9a31.5 31.5 0 0 0-44.4 0L77.5 505a63.9 63.9 0 0 0-18.8 46c.4 35.2 29.7 63.3 64.9 63.3h42.5V940h691.8V614.3h43.4c17.1 0 33.2-6.7 45.3-18.8a63.6 63.6 0 0 0 18.7-45.3c0-17-6.7-33.1-18.8-45.2zM568 868H456V664h112v204zm217.9-325.7V868H632V640c0-22.1-17.9-40-40-40H432c-22.1 0-40 17.9-40 40v228H238.1V542.3h-96l370-369.7 23.1 23.1L882 542.3h-96.1z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineHourglass (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M742 318V184h86c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H196c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h86v134c0 81.5 42.4 153.2 106.4 194-64 40.8-106.4 112.5-106.4 194v134h-86c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h632c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-86V706c0-81.5-42.4-153.2-106.4-194 64-40.8 106.4-112.5 106.4-194zm-72 388v134H354V706c0-42.2 16.4-81.9 46.3-111.7C430.1 564.4 469.8 548 512 548s81.9 16.4 111.7 46.3C653.6 624.1 670 663.8 670 706zm0-388c0 42.2-16.4 81.9-46.3 111.7C593.9 459.6 554.2 476 512 476s-81.9-16.4-111.7-46.3A156.63 156.63 0 0 1 354 318V184h316v134z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineHtml5 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M145 96l66 746.6L511.8 928l299.6-85.4L878.7 96H145zm610.9 700.6l-244.1 69.6-245.2-69.6-56.7-641.2h603.8l-57.8 641.2zM281 249l1.7 24.3 22.7 253.5h206.5v-.1h112.9l-11.4 118.5L511 672.9v.2h-.8l-102.4-27.7-6.5-73.2h-91l11.3 144.7 188.6 52h1.7v-.4l187.7-51.7 1.7-16.3 21.2-242.2 3.2-24.3H511v.2H389.9l-8.2-94.2h352.1l1.7-19.5 4.8-47.2L742 249H511z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineIdcard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 632H136V232h752v560zM610.3 476h123.4c1.3 0 2.3-3.6 2.3-8v-48c0-4.4-1-8-2.3-8H610.3c-1.3 0-2.3 3.6-2.3 8v48c0 4.4 1 8 2.3 8zm4.8 144h185.7c3.9 0 7.1-3.6 7.1-8v-48c0-4.4-3.2-8-7.1-8H615.1c-3.9 0-7.1 3.6-7.1 8v48c0 4.4 3.2 8 7.1 8zM224 673h43.9c4.2 0 7.6-3.3 7.9-7.5 3.8-50.5 46-90.5 97.2-90.5s93.4 40 97.2 90.5c.3 4.2 3.7 7.5 7.9 7.5H522a8 8 0 0 0 8-8.4c-2.8-53.3-32-99.7-74.6-126.1a111.8 111.8 0 0 0 29.1-75.5c0-61.9-49.9-112-111.4-112s-111.4 50.1-111.4 112c0 29.1 11 55.5 29.1 75.5a158.09 158.09 0 0 0-74.6 126.1c-.4 4.6 3.2 8.4 7.8 8.4zm149-262c28.5 0 51.7 23.3 51.7 52s-23.2 52-51.7 52-51.7-23.3-51.7-52 23.2-52 51.7-52z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineIe (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M852.6 367.6c16.3-36.9 32.1-90.7 32.1-131.8 0-109.1-119.5-147.6-314.5-57.9-161.4-10.8-316.8 110.5-355.6 279.7 46.3-52.3 117.4-123.4 183-151.7C316.1 378.3 246.7 470 194 565.6c-31.1 56.9-66 148.8-66 217.5 0 147.9 139.3 129.8 270.4 63 47.1 23.1 99.8 23.4 152.5 23.4 145.7 0 276.4-81.4 325.2-219H694.9c-78.8 132.9-295.2 79.5-295.2-71.2h493.2c9.6-65.4-2.5-143.6-40.3-211.7zM224.8 648.3c26.6 76.7 80.6 143.8 150.4 185-133.1 73.4-259.9 43.6-150.4-185zm174-163.3c3-82.7 75.4-142.3 156-142.3 80.1 0 153 59.6 156 142.3h-312zm276.8-281.4c32.1-15.4 72.8-33 108.8-33 47.1 0 81.4 32.6 81.4 80.6 0 30-11.1 73.5-21.9 101.8-39.3-63.5-98.9-122.4-168.3-149.4z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineImport (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h360c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H184V184h656v320c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V144c0-17.7-14.3-32-32-32ZM653.3 599.4l52.2-52.2c4.7-4.7 1.9-12.8-4.7-13.6l-179.4-21c-5.1-.6-9.5 3.7-8.9 8.9l21 179.4c.8 6.6 8.9 9.4 13.6 4.7l52.4-52.4 256.2 256.2c3.1 3.1 8.2 3.1 11.3 0l42.4-42.4c3.1-3.1 3.1-8.2 0-11.3L653.3 599.4Z\",\"transform\":\"matrix(1 0 0 -1 0 1024)\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineInbox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M885.2 446.3l-.2-.8-112.2-285.1c-5-16.1-19.9-27.2-36.8-27.2H281.2c-17 0-32.1 11.3-36.9 27.6L139.4 443l-.3.7-.2.8c-1.3 4.9-1.7 9.9-1 14.8-.1 1.6-.2 3.2-.2 4.8V830a60.9 60.9 0 0 0 60.8 60.8h627.2c33.5 0 60.8-27.3 60.9-60.8V464.1c0-1.3 0-2.6-.1-3.7.4-4.9 0-9.6-1.3-14.1zm-295.8-43l-.3 15.7c-.8 44.9-31.8 75.1-77.1 75.1-22.1 0-41.1-7.1-54.8-20.6S436 441.2 435.6 419l-.3-15.7H229.5L309 210h399.2l81.7 193.3H589.4zm-375 76.8h157.3c24.3 57.1 76 90.8 140.4 90.8 33.7 0 65-9.4 90.3-27.2 22.2-15.6 39.5-37.4 50.7-63.6h156.5V814H214.4V480.1z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineInfoCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M464 336a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm72 112h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V456c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineInfo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 224a64 64 0 1 0 128 0 64 64 0 1 0-128 0zm96 168h-64c-4.4 0-8 3.6-8 8v464c0 4.4 3.6 8 8 8h64c4.4 0 8-3.6 8-8V400c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineInsertRowAbove (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"t\":\"1569683507961\",\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M878.7 336H145.3c-18.4 0-33.3 14.3-33.3 32v464c0 17.7 14.9 32 33.3 32h733.3c18.4 0 33.3-14.3 33.3-32V368c0.1-17.7-14.8-32-33.2-32zM360 792H184V632h176v160z m0-224H184V408h176v160z m240 224H424V632h176v160z m0-224H424V408h176v160z m240 224H664V632h176v160z m0-224H664V408h176v160zM904 160H120c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-80c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineInsertRowBelow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"t\":\"1569683503597\",\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M904 768H120c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-80c0-4.4-3.6-8-8-8zM878.7 160H145.3c-18.4 0-33.3 14.3-33.3 32v464c0 17.7 14.9 32 33.3 32h733.3c18.4 0 33.3-14.3 33.3-32V192c0.1-17.7-14.8-32-33.2-32zM360 616H184V456h176v160z m0-224H184V232h176v160z m240 224H424V456h176v160z m0-224H424V232h176v160z m240 224H664V456h176v160z m0-224H664V232h176v160z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineInsertRowLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"t\":\"1569683561749\",\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M248 112h-80c-4.4 0-8 3.6-8 8v784c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8V120c0-4.4-3.6-8-8-8zM832 112H368c-17.7 0-32 14.9-32 33.3v733.3c0 18.4 14.3 33.3 32 33.3h464c17.7 0 32-14.9 32-33.3V145.3c0-18.4-14.3-33.3-32-33.3zM568 840H408V664h160v176z m0-240H408V424h160v176z m0-240H408V184h160v176z m224 480H632V664h160v176z m0-240H632V424h160v176z m0-240H632V184h160v176z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineInsertRowRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"t\":\"1569683555439\",\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M856 112h-80c-4.4 0-8 3.6-8 8v784c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8V120c0-4.4-3.6-8-8-8zM656 112H192c-17.7 0-32 14.9-32 33.3v733.3c0 18.4 14.3 33.3 32 33.3h464c17.7 0 32-14.9 32-33.3V145.3c0-18.4-14.3-33.3-32-33.3zM392 840H232V664h160v176z m0-240H232V424h160v176z m0-240H232V184h160v176z m224 480H456V664h160v176z m0-240H456V424h160v176z m0-240H456V184h160v176z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineInstagram (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 306.9c-113.5 0-205.1 91.6-205.1 205.1S398.5 717.1 512 717.1 717.1 625.5 717.1 512 625.5 306.9 512 306.9zm0 338.4c-73.4 0-133.3-59.9-133.3-133.3S438.6 378.7 512 378.7 645.3 438.6 645.3 512 585.4 645.3 512 645.3zm213.5-394.6c-26.5 0-47.9 21.4-47.9 47.9s21.4 47.9 47.9 47.9 47.9-21.3 47.9-47.9a47.84 47.84 0 0 0-47.9-47.9zM911.8 512c0-55.2.5-109.9-2.6-165-3.1-64-17.7-120.8-64.5-167.6-46.9-46.9-103.6-61.4-167.6-64.5-55.2-3.1-109.9-2.6-165-2.6-55.2 0-109.9-.5-165 2.6-64 3.1-120.8 17.7-167.6 64.5C132.6 226.3 118.1 283 115 347c-3.1 55.2-2.6 109.9-2.6 165s-.5 109.9 2.6 165c3.1 64 17.7 120.8 64.5 167.6 46.9 46.9 103.6 61.4 167.6 64.5 55.2 3.1 109.9 2.6 165 2.6 55.2 0 109.9.5 165-2.6 64-3.1 120.8-17.7 167.6-64.5 46.9-46.9 61.4-103.6 64.5-167.6 3.2-55.1 2.6-109.8 2.6-165zm-88 235.8c-7.3 18.2-16.1 31.8-30.2 45.8-14.1 14.1-27.6 22.9-45.8 30.2C695.2 844.7 570.3 840 512 840c-58.3 0-183.3 4.7-235.9-16.1-18.2-7.3-31.8-16.1-45.8-30.2-14.1-14.1-22.9-27.6-30.2-45.8C179.3 695.2 184 570.3 184 512c0-58.3-4.7-183.3 16.1-235.9 7.3-18.2 16.1-31.8 30.2-45.8s27.6-22.9 45.8-30.2C328.7 179.3 453.7 184 512 184s183.3-4.7 235.9 16.1c18.2 7.3 31.8 16.1 45.8 30.2 14.1 14.1 22.9 27.6 30.2 45.8C844.7 328.7 840 453.7 840 512c0 58.3 4.7 183.2-16.2 235.8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineInsurance (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M441.6 306.8L403 288.6a6.1 6.1 0 0 0-8.4 3.7c-17.5 58.5-45.2 110.1-82.2 153.6a6.05 6.05 0 0 0-1.2 5.6l13.2 43.5c1.3 4.4 7 5.7 10.2 2.4 7.7-8.1 15.4-16.9 23.1-26V656c0 4.4 3.6 8 8 8H403c4.4 0 8-3.6 8-8V393.1a429.2 429.2 0 0 0 33.6-79c1-2.9-.3-6-3-7.3zm26.8 9.2v127.2c0 4.4 3.6 8 8 8h65.9v18.6h-94.9c-4.4 0-8 3.6-8 8v35.6c0 4.4 3.6 8 8 8h55.1c-19.1 30.8-42.4 55.7-71 76a6 6 0 0 0-1.6 8.1l22.8 36.5c1.9 3.1 6.2 3.8 8.9 1.4 31.6-26.8 58.7-62.9 80.6-107.6v120c0 4.4 3.6 8 8 8h36.2c4.4 0 8-3.6 8-8V536c21.3 41.7 47.5 77.5 78.1 106.9 2.6 2.5 6.8 2.1 8.9-.7l26.3-35.3c2-2.7 1.4-6.5-1.2-8.4-30.5-22.6-54.2-47.8-72.3-76.9h59c4.4 0 8-3.6 8-8V478c0-4.4-3.6-8-8-8h-98.8v-18.6h66.7c4.4 0 8-3.6 8-8V316c0-4.4-3.6-8-8-8H476.4c-4.4 0-8 3.6-8 8zm51.5 42.8h97.9v41.6h-97.9v-41.6zm347-188.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM810 654.3L512 886.5 214 654.3V226.7l298-101.6 298 101.6v427.6z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineInteraction (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656zM304.8 524h50.7c3.7 0 6.8-3 6.8-6.8v-78.9c0-19.7 15.9-35.6 35.5-35.6h205.7v53.4c0 5.7 6.5 8.8 10.9 5.3l109.1-85.7c3.5-2.7 3.5-8 0-10.7l-109.1-85.7c-4.4-3.5-10.9-.3-10.9 5.3V338H397.7c-55.1 0-99.7 44.8-99.7 100.1V517c0 4 3 7 6.8 7zm-4.2 134.9l109.1 85.7c4.4 3.5 10.9.3 10.9-5.3v-53.4h205.7c55.1 0 99.7-44.8 99.7-100.1v-78.9c0-3.7-3-6.8-6.8-6.8h-50.7c-3.7 0-6.8 3-6.8 6.8v78.9c0 19.7-15.9 35.6-35.5 35.6H420.6V568c0-5.7-6.5-8.8-10.9-5.3l-109.1 85.7c-3.5 2.5-3.5 7.8 0 10.5z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineIssuesClose (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 688a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm72-112c4.4 0 8-3.6 8-8V296c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8h48zm400-188h-59.3c-2.6 0-5 1.2-6.5 3.3L763.7 538.1l-49.9-68.8a7.92 7.92 0 0 0-6.5-3.3H648c-6.5 0-10.3 7.4-6.5 12.7l109.2 150.7a16.1 16.1 0 0 0 26 0l165.8-228.7c3.8-5.3 0-12.7-6.5-12.7zm-44 306h-64.2c-5.5 0-10.6 2.9-13.6 7.5a352.2 352.2 0 0 1-49.8 62.2A355.92 355.92 0 0 1 651.1 840a355 355 0 0 1-138.7 27.9c-48.1 0-94.8-9.4-138.7-27.9a355.92 355.92 0 0 1-113.3-76.3A353.06 353.06 0 0 1 184 650.5c-18.6-43.8-28-90.5-28-138.5s9.4-94.7 28-138.5c17.9-42.4 43.6-80.5 76.4-113.2 32.8-32.7 70.9-58.4 113.3-76.3a355 355 0 0 1 138.7-27.9c48.1 0 94.8 9.4 138.7 27.9 42.4 17.9 80.5 43.6 113.3 76.3 19 19 35.6 39.8 49.8 62.2 2.9 4.7 8.1 7.5 13.6 7.5H892c6 0 9.8-6.3 7.2-11.6C828.8 178.5 684.7 82 517.7 80 278.9 77.2 80.5 272.5 80 511.2 79.5 750.1 273.3 944 512.4 944c169.2 0 315.6-97 386.7-238.4A8 8 0 0 0 892 694z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineItalic (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M798 160H366c-4.4 0-8 3.6-8 8v64c0 4.4 3.6 8 8 8h181.2l-156 544H229c-4.4 0-8 3.6-8 8v64c0 4.4 3.6 8 8 8h432c4.4 0 8-3.6 8-8v-64c0-4.4-3.6-8-8-8H474.4l156-544H798c4.4 0 8-3.6 8-8v-64c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineJavaScript (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M353 16H192.545v425.615c0 105.313-36.166 134.718-99.104 134.718-29.494 0-56.055-5.05-76.718-12.144L0 688.784C29.484 698.924 74.73 705 110.126 705 254.631 705 353 637.16 353 442.658zM702.49 0C547.26 0 449 88.126 449 204.609c0 100.313 75.67 163.12 185.696 203.629 79.577 28.358 111.03 53.695 111.03 95.218 0 45.579-36.358 74.96-105.13 74.96-63.868 0-121.849-21.311-161.146-42.573v-.042L449 662.427C486.361 683.735 556.12 705 631.741 705 813.52 705 898 607.753 898 493.293c0-97.243-54.036-160.035-170.937-204.627-86.47-34.432-122.813-53.669-122.813-97.227 0-34.45 31.446-65.834 96.3-65.834 63.834 0 107.728 21.445 133.307 34.632L872.193 32.05C832.103 14.461 778.109 0 702.49 0\",\"transform\":\"translate(63 160)\"},\"child\":[]}]}]})(props);\n};\nexport function AiOutlineJava (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M212.68 692.99s-34.325 19.95 24.343 26.6c71.1 8.05 107.351 7 185.632-7.874 0 0 20.665 12.949 49.385 24.149-175.475 75.074-397.184-4.375-259.36-42.875m-21.366-98.173s-38.352 28.35 20.315 34.475c75.83 7.875 135.897 8.4 239.571-11.55 0 0 14.36 14.525 36.952 22.4-212.427 62.123-448.846 5.075-296.838-45.325m180.73-166.422c43.256 49.699-11.384 94.498-11.384 94.498s109.804-56.7 59.368-127.573c-47.11-66.15-83.185-99.049 112.255-212.273.175 0-306.819 76.65-160.24 245.348M604.26 765.439s25.393 20.825-27.846 37.1c-101.397 30.625-421.7 39.9-510.664 1.225-32.048-13.825 28.02-33.25 46.934-37.275 19.613-4.2 30.997-3.5 30.997-3.5-35.551-25.025-229.94 49.175-98.771 70.35 357.605 58.1 652.165-26.075 559.35-67.9M229.142 493.144S66.1 531.818 171.35 545.818c44.482 5.95 133.095 4.55 215.58-2.275 67.423-5.6 135.196-17.85 135.196-17.85s-23.818 10.15-40.98 21.875C315.653 591.143-3.95 570.843 87.99 526.393c77.93-37.45 141.151-33.25 141.151-33.25M521.6 656.416c168.296-87.324 90.365-171.322 36.077-159.948-13.31 2.8-19.264 5.25-19.264 5.25s4.903-7.7 14.36-11.025c107.351-37.8 190.01 111.299-34.675 170.273 0-.175 2.627-2.45 3.502-4.55M420.028 0s93.166 93.1-88.438 236.246c-145.53 114.8-33.274 180.424 0 255.148-84.936-76.65-147.28-144.024-105.425-206.848C287.634 192.672 457.68 147.873 420.028 0m-174.25 893.188c161.466 10.325 409.443-5.775 415.222-82.075 0 0-11.208 28.875-133.445 51.975-137.824 25.9-307.87 22.925-408.567 6.3 0-.175 20.665 16.975 126.79 23.8\",\"transform\":\"translate(182 64)\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineKey (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M608 112c-167.9 0-304 136.1-304 304 0 70.3 23.9 135 63.9 186.5l-41.1 41.1-62.3-62.3a8.15 8.15 0 0 0-11.4 0l-39.8 39.8a8.15 8.15 0 0 0 0 11.4l62.3 62.3-44.9 44.9-62.3-62.3a8.15 8.15 0 0 0-11.4 0l-39.8 39.8a8.15 8.15 0 0 0 0 11.4l62.3 62.3-65.3 65.3a8.03 8.03 0 0 0 0 11.3l42.3 42.3c3.1 3.1 8.2 3.1 11.3 0l253.6-253.6A304.06 304.06 0 0 0 608 720c167.9 0 304-136.1 304-304S775.9 112 608 112zm161.2 465.2C726.2 620.3 668.9 644 608 644c-60.9 0-118.2-23.7-161.2-66.8-43.1-43-66.8-100.3-66.8-161.2 0-60.9 23.7-118.2 66.8-161.2 43-43.1 100.3-66.8 161.2-66.8 60.9 0 118.2 23.7 161.2 66.8 43.1 43 66.8 100.3 66.8 161.2 0 60.9-23.7 118.2-66.8 161.2z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineKubernetes (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M399.987 0a61.547 61.547 0 0 0-26.801 6.135L101.882 137.131c-16.876 8.144-29.148 23.57-33.313 41.849L1.53 473.498A61.767 61.767 0 0 0 13.39 525.56l187.815 236.15c11.69 14.704 29.484 23.271 48.256 23.271h301.052c18.772 0 36.566-8.567 48.256-23.272l187.815-236.115v-.034c11.633-14.637 16.03-33.792 11.893-52.028v-.034L731.405 178.98v-.035c-4.164-18.25-16.429-33.654-33.313-41.814L426.822 6.135a17.426 17.426 0 0 0-.034-.034A61.764 61.764 0 0 0 399.987 0m0 35.097c3.942 0 7.875.876 11.55 2.639L682.84 168.732a26.538 26.538 0 0 1 14.36 18.028l67.037 294.518a26.564 26.564 0 0 1-5.106 22.45L571.317 739.875c-5.05 6.353-12.692 10.008-20.804 10.008H249.461c-8.112 0-15.72-3.655-20.77-10.008L40.876 503.727c-5.035-6.339-6.929-14.575-5.14-22.45l67.071-294.483c1.801-7.903 7.057-14.52 14.326-18.028v-.034L388.437 37.736a26.521 26.521 0 0 1 11.55-2.64m-.137 73.826c-2.476 0-4.99.5-7.403 1.508-9.651 4.212-14.22 15.437-10.008 25.09 4.036 9.475 5.425 18.936 6.478 28.412.35 4.914.552 9.657.377 14.395.526 4.739-1.94 9.486-5.45 14.224-3.685 4.738-4.031 9.486-4.558 14.224-48.155 4.727-91.506 25.83-124.65 57.546l-.309-.171c-4.036-2.632-7.875-5.274-14.017-5.45-5.79-.35-11.06-1.391-14.395-4.9-3.685-2.809-7.359-5.955-10.693-9.29-6.843-6.667-13.358-13.872-18.096-22.997-2.281-4.387-6.495-7.915-11.584-9.494-10.178-2.808-20.7 2.983-23.683 13.161-2.983 10.003 2.983 20.705 13.161 23.512 9.827 2.984 18.078 7.897 26.15 13.162a127.38 127.38 0 0 1 11.242 8.602c4.036 2.633 6.132 7.546 7.711 13.162 1.158 5.625 4.386 8.879 7.54 12.03-24.02 34.206-38.248 75.777-38.248 120.645 0 7.422.412 14.743 1.165 21.97-3.937 1.378-7.833 2.873-11.173 6.82-3.86 4.387-8.08 7.875-12.818 8.226a94.03 94.03 0 0 1-14.018 2.64c-9.475 1.228-19.13 1.934-29.131-.172-4.914-.878-10.35.166-14.738 3.324-8.598 5.967-10.524 17.896-4.558 26.494 6.142 8.6 18.066 10.735 26.664 4.593 8.423-5.966 17.368-9.321 26.493-12.304 4.563-1.404 9.143-2.619 13.88-3.496 4.563-1.58 9.64-.19 15.08 2.09 4.52 2.333 8.523 2.148 12.476 1.748 15.446 50.08 49.22 92.035 93.325 118.52-1.507 4.217-2.92 8.611-1.577 14.156 1.053 5.79 1.223 11.25-1.234 15.286-1.93 4.387-4.025 8.573-6.306 12.784-4.913 8.073-10.17 16.15-17.89 23.17-3.685 3.334-6.165 8.064-6.34 13.504-.352 10.529 7.91 19.322 18.438 19.673 10.529.351 19.493-7.91 19.844-18.44.176-10.353 2.976-19.459 6.135-28.584 1.58-4.387 3.515-8.778 5.62-12.99 1.58-4.563 5.776-7.92 10.865-10.728 5.07-2.616 7.35-6.316 9.63-10.214 22.15 7.94 45.898 12.51 70.74 12.51 25.266 0 49.402-4.72 71.87-12.92 2.377 4.055 4.819 7.912 9.905 10.624 5.089 2.983 9.285 6.165 10.864 10.728 2.106 4.387 3.87 8.774 5.45 13.161 3.158 9.125 5.784 18.231 6.135 28.585 0 5.089 2.098 10.024 6.134 13.71 7.897 7.019 19.847 6.487 27.042-1.234 7.019-7.897 6.487-19.848-1.234-27.043-7.721-6.844-12.981-15.093-17.72-23.34-2.28-4.036-4.375-8.402-6.305-12.613-2.457-4.212-2.291-9.496-1.063-15.287 1.404-5.966-.173-10.346-1.576-14.909l-.138-.445c43.755-26.75 77.084-68.833 92.194-118.897l.583.034c4.913.35 9.644.858 14.909-2.125 5.264-2.457 10.552-3.872 15.114-2.468 4.562.702 9.284 1.754 13.846 2.982 9.125 2.632 18.272 5.794 26.87 11.585 4.212 2.632 9.473 3.867 14.737 2.639 10.354-2.282 16.848-12.443 14.566-22.621-2.28-10.354-12.472-16.848-22.825-14.567-10.178 2.282-19.652 1.906-29.304 1.028-4.737-.526-9.314-1.209-14.051-2.262-4.738-.35-8.92-3.5-12.956-7.711-4.036-4.738-8.598-5.965-13.16-7.37l-.309-.102c.61-6.51.994-13.077.994-19.742 0-43.507-13.282-83.992-35.986-117.595 3.328-3.502 6.69-6.828 7.917-12.784 1.579-5.615 3.675-10.529 7.711-13.161 3.51-3.159 7.381-5.967 11.242-8.774 7.896-5.265 16.152-10.354 25.978-13.162 4.914-1.404 9.094-4.751 11.55-9.665 4.914-9.3 1.25-20.865-8.225-25.603-9.3-4.913-20.898-1.25-25.636 8.226-4.738 9.125-11.223 16.33-17.89 22.998-3.51 3.334-7.009 6.51-10.694 9.494-3.334 3.51-8.604 4.55-14.394 4.901-6.142.176-10.016 2.989-14.052 5.621-33.462-33.151-77.946-55.16-127.392-60.014-.527-4.738-.874-9.486-4.559-14.224-3.51-4.738-5.975-9.485-5.449-14.224-.175-4.738.026-9.481.377-14.395 1.053-9.476 2.442-18.937 6.478-28.413 1.93-4.563 2.105-9.992 0-15.08-3.159-7.24-10.258-11.533-17.685-11.517m-25.156 133.91-.857 6.751c-2.457 18.953-4.209 38.08-5.964 57.033a875.999 875.999 0 0 0-2.639 30.195c-8.598-6.142-17.196-12.648-26.321-18.44-15.793-10.704-31.594-21.422-47.914-31.6l-5.518-3.427c24.68-21.267 55.354-35.638 89.213-40.513m50.586 0c35.246 5.074 66.986 20.51 92.16 43.22l-5.86 3.7c-16.145 10.354-31.744 21.068-47.537 31.773-6.317 4.212-12.473 8.603-18.439 12.99-4.738 3.334-11.233.341-11.584-5.45-.527-7.546-1.218-14.904-1.92-22.45-1.754-18.952-3.506-38.08-5.963-57.032zm-173.009 78.83 5.587 5.827c13.336 13.863 26.857 27.205 40.544 40.717 5.791 5.791 11.582 11.252 17.548 16.692 4.211 3.86 2.63 10.69-2.81 12.27-8.599 2.632-17.21 5.075-25.808 7.883-18.074 5.967-36.317 11.604-54.39 18.097l-7.952 2.776c-.174-3.21-.48-6.376-.48-9.631 0-34.926 10.267-67.33 27.761-94.63m297.522 3.462c16.177 26.577 25.67 57.694 25.67 91.169 0 2.931-.304 5.776-.445 8.671l-6.237-1.988c-18.25-5.966-36.48-11.084-54.906-16.348-11.932-3.51-23.882-6.648-35.815-9.631 8.95-8.599 18.272-17.035 26.87-25.809 13.512-13.512 27.007-27.022 40.168-41.06zm-160.67 56.072h21.386c3.334 0 6.505 1.588 8.26 4.045l13.674 17.205c1.93 2.282 2.652 5.586 2.125 8.569l-4.935 21.25c-.527 3.334-2.813 5.96-5.62 7.54l-19.64 9.117a9.363 9.363 0 0 1-9.116 0l-19.672-9.117c-2.808-1.58-5.27-4.206-5.621-7.54l-4.901-21.25c-.526-2.983.195-6.287 2.125-8.569l13.675-17.205c1.754-2.457 4.925-4.045 8.26-4.045m-63.371 83.698c5.44-.878 9.851 4.576 7.746 9.665-3.334 8.774-6.51 17.377-9.494 26.151-6.493 18.075-12.815 35.972-18.781 54.222l-2.4 7.54c-31.23-20.767-55.218-51.326-67.997-87.296l9.322-.788c19.127-1.755 37.903-4.06 57.03-6.341 8.248-.877 16.327-2.1 24.574-3.153m151.623 2.468c8.247.877 16.326 1.765 24.574 2.467 19.127 1.755 38.074 3.502 57.2 4.73l6.101.343c-12.548 35.512-36.008 65.782-66.592 86.576l-1.987-6.375c-5.791-18.25-12.092-36.322-18.234-54.221-2.807-8.073-5.619-15.958-8.602-23.855-1.93-5.09 2.276-10.367 7.54-9.665m-76.086 34.616c2.5 0 5.005 1.26 6.41 3.805 3.86 7.37 7.92 14.57 12.132 21.764 9.476 16.495 18.92 33.176 29.098 49.32l4.147 6.718a176.026 176.026 0 0 1-53.09 8.192 176.144 176.144 0 0 1-51.58-7.712l4.387-7.026c10.178-16.145 19.824-32.654 29.475-49.15a451.58 451.58 0 0 0 12.647-22.106c1.403-2.545 3.874-3.805 6.374-3.805\",\"transform\":\"translate(112 111)\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineLaptop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M956.9 845.1L896.4 632V168c0-17.7-14.3-32-32-32h-704c-17.7 0-32 14.3-32 32v464L67.9 845.1C60.4 866 75.8 888 98 888h828.8c22.2 0 37.6-22 30.1-42.9zM200.4 208h624v395h-624V208zm228.3 608l8.1-37h150.3l8.1 37H428.7zm224 0l-19.1-86.7c-.8-3.7-4.1-6.3-7.8-6.3H398.2c-3.8 0-7 2.6-7.8 6.3L371.3 816H151l42.3-149h638.2l42.3 149H652.7z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineLayout (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-696 72h136v656H184V184zm656 656H384V384h456v456zM384 320V184h456v136H384z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineLeftCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M603.3 327.5l-246 178a7.95 7.95 0 0 0 0 12.9l246 178c5.3 3.8 12.7 0 12.7-6.5V643c0-10.2-4.9-19.9-13.2-25.9L457.4 512l145.4-105.2c8.3-6 13.2-15.6 13.2-25.9V334c0-6.5-7.4-10.3-12.7-6.5z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineLeftSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M365.3 518.5l246 178c5.3 3.8 12.7 0 12.7-6.5v-46.9c0-10.2-4.9-19.9-13.2-25.9L465.4 512l145.4-105.2c8.3-6 13.2-15.6 13.2-25.9V334c0-6.5-7.4-10.3-12.7-6.5l-246 178a8.05 8.05 0 0 0 0 13z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M724 218.3V141c0-6.7-7.7-10.4-12.9-6.3L260.3 486.8a31.86 31.86 0 0 0 0 50.3l450.8 352.1c5.3 4.1 12.9.4 12.9-6.3v-77.3c0-4.9-2.3-9.6-6.1-12.6l-360-281 360-281.1c3.8-3 6.1-7.7 6.1-12.6z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineLike (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M885.9 533.7c16.8-22.2 26.1-49.4 26.1-77.7 0-44.9-25.1-87.4-65.5-111.1a67.67 67.67 0 0 0-34.3-9.3H572.4l6-122.9c1.4-29.7-9.1-57.9-29.5-79.4A106.62 106.62 0 0 0 471 99.9c-52 0-98 35-111.8 85.1l-85.9 311H144c-17.7 0-32 14.3-32 32v364c0 17.7 14.3 32 32 32h601.3c9.2 0 18.2-1.8 26.5-5.4 47.6-20.3 78.3-66.8 78.3-118.4 0-12.6-1.8-25-5.4-37 16.8-22.2 26.1-49.4 26.1-77.7 0-12.6-1.8-25-5.4-37 16.8-22.2 26.1-49.4 26.1-77.7-.2-12.6-2-25.1-5.6-37.1zM184 852V568h81v284h-81zm636.4-353l-21.9 19 13.9 25.4a56.2 56.2 0 0 1 6.9 27.3c0 16.5-7.2 32.2-19.6 43l-21.9 19 13.9 25.4a56.2 56.2 0 0 1 6.9 27.3c0 16.5-7.2 32.2-19.6 43l-21.9 19 13.9 25.4a56.2 56.2 0 0 1 6.9 27.3c0 22.4-13.2 42.6-33.6 51.8H329V564.8l99.5-360.5a44.1 44.1 0 0 1 42.2-32.3c7.6 0 15.1 2.2 21.1 6.7 9.9 7.4 15.2 18.6 14.6 30.5l-9.6 198.4h314.4C829 418.5 840 436.9 840 456c0 16.5-7.2 32.1-19.6 43z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineLineChart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M888 792H200V168c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h752c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM305.8 637.7c3.1 3.1 8.1 3.1 11.3 0l138.3-137.6L583 628.5c3.1 3.1 8.2 3.1 11.3 0l275.4-275.3c3.1-3.1 3.1-8.2 0-11.3l-39.6-39.6a8.03 8.03 0 0 0-11.3 0l-230 229.9L461.4 404a8.03 8.03 0 0 0-11.3 0L266.3 586.7a8.03 8.03 0 0 0 0 11.3l39.5 39.7z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineLineHeight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M648 160H104c-4.4 0-8 3.6-8 8v128c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-64h168v560h-92c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h264c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-92V232h168v64c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V168c0-4.4-3.6-8-8-8zm272.8 546H856V318h64.8c6 0 9.4-7 5.7-11.7L825.7 178.7a7.14 7.14 0 0 0-11.3 0L713.6 306.3a7.23 7.23 0 0 0 5.7 11.7H784v388h-64.8c-6 0-9.4 7-5.7 11.7l100.8 127.5c2.9 3.7 8.5 3.7 11.3 0l100.8-127.5a7.2 7.2 0 0 0-5.6-11.7z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M904 476H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineLink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M574 665.4a8.03 8.03 0 0 0-11.3 0L446.5 781.6c-53.8 53.8-144.6 59.5-204 0-59.5-59.5-53.8-150.2 0-204l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3l-39.8-39.8a8.03 8.03 0 0 0-11.3 0L191.4 526.5c-84.6 84.6-84.6 221.5 0 306s221.5 84.6 306 0l116.2-116.2c3.1-3.1 3.1-8.2 0-11.3L574 665.4zm258.6-474c-84.6-84.6-221.5-84.6-306 0L410.3 307.6a8.03 8.03 0 0 0 0 11.3l39.7 39.7c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c53.8-53.8 144.6-59.5 204 0 59.5 59.5 53.8 150.2 0 204L665.3 562.6a8.03 8.03 0 0 0 0 11.3l39.8 39.8c3.1 3.1 8.2 3.1 11.3 0l116.2-116.2c84.5-84.6 84.5-221.5 0-306.1zM610.1 372.3a8.03 8.03 0 0 0-11.3 0L372.3 598.7a8.03 8.03 0 0 0 0 11.3l39.6 39.6c3.1 3.1 8.2 3.1 11.3 0l226.4-226.4c3.1-3.1 3.1-8.2 0-11.3l-39.5-39.6z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineLinkedin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M847.7 112H176.3c-35.5 0-64.3 28.8-64.3 64.3v671.4c0 35.5 28.8 64.3 64.3 64.3h671.4c35.5 0 64.3-28.8 64.3-64.3V176.3c0-35.5-28.8-64.3-64.3-64.3zm0 736c-447.8-.1-671.7-.2-671.7-.3.1-447.8.2-671.7.3-671.7 447.8.1 671.7.2 671.7.3-.1 447.8-.2 671.7-.3 671.7zM230.6 411.9h118.7v381.8H230.6zm59.4-52.2c37.9 0 68.8-30.8 68.8-68.8a68.8 68.8 0 1 0-137.6 0c-.1 38 30.7 68.8 68.8 68.8zm252.3 245.1c0-49.8 9.5-98 71.2-98 60.8 0 61.7 56.9 61.7 101.2v185.7h118.6V584.3c0-102.8-22.2-181.9-142.3-181.9-57.7 0-96.4 31.7-112.3 61.7h-1.6v-52.2H423.7v381.8h118.6V604.8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineLinux (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M387.86 0c-5.786 0-11.759.299-17.88.784-157.798 12.431-115.95 179.448-118.34 235.108-2.874 40.803-11.198 72.945-39.234 112.776-33.037 39.235-79.402 102.66-101.39 168.772-10.378 31.06-15.305 62.865-10.714 92.916a15.828 15.828 0 0 0-4.143 5.04c-9.706 10.004-16.762 22.436-24.713 31.32-7.429 7.43-18.106 9.968-29.753 14.933C30.01 666.726 17.13 671.69 9.44 687.07c-3.36 7.018-5.077 14.67-4.928 22.435 0 7.43 1.008 14.97 2.053 20.01 2.165 14.895 4.33 27.214 1.456 36.21-9.258 25.385-10.415 42.781-3.92 55.436 6.496 12.469 19.972 17.509 35.054 22.436 30.275 7.466 71.301 5.04 103.592 22.361 34.569 17.434 69.66 25.05 97.657 17.546a66.01 66.01 0 0 0 45.096-35.278c21.913-.112 45.917-10.042 84.367-12.468 26.094-2.165 58.759 9.967 96.239 7.429.933 5.04 2.351 7.428 4.255 12.468l.112.112c14.597 29.043 41.55 42.258 70.331 39.981 28.782-2.24 59.43-20.01 84.255-48.754 23.556-28.558 62.828-40.466 88.773-56.108 12.99-7.429 23.48-17.508 24.227-31.843.859-14.932-7.428-30.312-26.654-51.404v-3.621l-.112-.112c-6.346-7.466-9.332-19.972-12.617-34.568-3.174-14.97-6.795-29.342-18.367-39.048h-.112c-2.203-2.016-4.592-2.501-7.018-5.04a13.327 13.327 0 0 0-7.093-2.389c16.09-47.709 9.855-95.193-6.458-137.9-19.898-52.636-54.69-98.478-81.195-130.022-29.715-37.517-58.833-73.056-58.273-125.767C521.168 148.837 529.008.224 387.86 0m19.748 127.11h.486c7.951 0 14.783 2.315 21.8 7.392 7.131 5.04 12.32 12.394 16.389 19.898 3.92 9.668 5.898 17.134 6.197 27.027 0-.747.224-1.493.224-2.203v3.883a3.21 3.21 0 0 1-.15-.784l-.149-.896a67.456 67.456 0 0 1-5.6 26.355 35.576 35.576 0 0 1-7.95 12.506 26.505 26.505 0 0 0-3.286-1.568c-3.92-1.68-7.429-2.389-10.64-4.965a48.978 48.978 0 0 0-8.175-2.463c1.83-2.203 5.413-4.965 6.795-7.392 1.978-4.778 3.06-9.855 3.285-15.007v-.71a45.17 45.17 0 0 0-2.277-14.931c-1.68-5.04-3.77-7.504-6.832-12.469-3.136-2.464-6.234-4.928-9.967-4.928h-.598c-3.471 0-6.57 1.12-9.78 4.928a29.865 29.865 0 0 0-7.653 12.469 44.05 44.05 0 0 0-3.36 14.932v.71c.075 3.322.299 6.681.747 9.966-7.205-2.5-16.351-5.04-22.66-7.54-.375-2.46-.6-4.942-.672-7.43v-.746a66.15 66.15 0 0 1 5.6-28.707 40.455 40.455 0 0 1 16.052-19.897 36.77 36.77 0 0 1 22.174-7.43m-110.573 2.203h1.344c5.3 0 10.08 1.792 14.895 5.04 5.45 4.816 9.855 10.751 12.842 17.359 3.36 7.429 5.263 14.97 5.711 24.9v.149c.261 5.002.224 7.503-.074 9.93v2.986c-1.12.261-2.091.672-3.099.896-5.674 2.053-10.229 5.04-14.67 7.466.447-3.322.484-6.682.111-9.967v-.56c-.448-4.965-1.456-7.429-3.061-12.431a22.884 22.884 0 0 0-6.197-9.968 9.258 9.258 0 0 0-6.831-2.389h-.784c-2.65.224-4.853 1.53-6.944 4.928a20.607 20.607 0 0 0-4.48 10.08 35.24 35.24 0 0 0-.858 12.356v.522c.448 5.04 1.381 7.504 3.024 12.469 1.68 5.002 3.62 7.466 6.16 10.004.41.336.783.672 1.268.896-2.613 2.128-4.367 2.613-6.57 5.077a11.386 11.386 0 0 1-4.89 2.539 97.844 97.844 0 0 1-10.266-15.007 66.15 66.15 0 0 1-5.786-24.9 65.665 65.665 0 0 1 2.986-24.937 53.383 53.383 0 0 1 10.565-19.971c4.778-4.965 9.706-7.467 15.604-7.467M348.215 193c12.357 0 27.326 2.427 45.357 14.895 10.938 7.467 19.524 10.042 39.31 17.471h.111c9.52 5.077 15.12 9.93 17.844 14.895v-4.89a21.316 21.316 0 0 1 .598 17.545c-4.592 11.61-19.263 24.041-39.72 31.47v.075c-10.005 5.04-18.703 12.43-28.931 17.358-10.304 5.04-21.95 10.9-37.78 9.968a42.52 42.52 0 0 1-16.723-2.502 133.121 133.121 0 0 1-12.02-7.391c-7.28-5.04-13.552-12.394-22.847-17.359v-.186h-.187c-14.932-9.184-22.995-19.114-25.609-26.542-2.575-10.005-.186-17.509 7.205-22.399 8.362-5.04 14.186-10.116 18.031-12.543 3.882-2.762 5.338-3.808 6.57-4.89h.075v-.112c6.309-7.541 16.276-17.508 31.32-22.436 5.19-1.344 10.975-2.427 17.396-2.427m104.489 80c13.402 52.898 44.685 129.724 64.806 166.98 10.676 19.935 31.918 61.932 41.138 112.888 5.824-.187 12.282.672 19.15 2.39 24.116-62.38-20.382-129.426-40.652-148.054-8.25-7.504-8.66-12.506-4.592-12.506 21.988 19.935 50.956 58.684 61.446 102.92 4.816 19.973 5.936 41.214.784 62.343 2.501 1.045 5.04 2.277 7.653 2.501 38.525 19.935 52.748 35.016 45.917 57.377v-1.605c-2.277-.112-4.48 0-6.757 0h-.56c5.637-17.433-6.794-30.798-39.757-45.693-34.158-14.932-61.446-12.543-66.113 17.359-.261 1.605-.448 2.464-.634 5.04-2.539.858-5.19 1.978-7.802 2.389-16.053 10.004-24.713 24.974-29.604 44.311-4.853 19.898-6.346 43.155-7.652 69.771v.112c-.784 12.469-6.384 31.283-11.909 50.434-55.996 40.018-133.644 57.415-199.682 12.468a98.74 98.74 0 0 0-15.007-19.897 54.13 54.13 0 0 0-10.265-12.468c6.794 0 12.617-1.083 17.358-2.501a22.958 22.958 0 0 0 11.722-12.469c4.032-9.967 0-26.02-12.879-43.415-12.879-17.434-34.755-37.144-66.747-56.78-23.518-14.895-36.808-32.478-42.93-52.114-6.16-19.934-5.339-40.504-.56-61.409 9.146-39.944 32.59-78.767 47.559-103.144 3.994-2.427 1.381 5.04-15.231 36.36-14.783 28.035-42.594 93.214-4.554 143.872a303.274 303.274 0 0 1 24.153-107.363c21.054-47.709 65.067-130.807 68.539-196.658 1.791 1.344 8.1 5.04 10.788 7.54 8.138 4.966 14.186 12.432 22.025 17.36 7.877 7.503 17.807 12.505 32.702 12.505 1.456.112 2.8.224 4.144.224 15.343 0 27.214-5.002 37.181-10.004 10.826-5.002 19.45-12.469 27.625-14.932h.186c17.434-5.04 31.209-15.007 39.01-26.132m81.605 334.408c1.38 22.436 12.804 46.477 32.925 51.404 21.95 5.003 53.532-12.43 66.86-28.558l7.876-.336c11.76-.298 21.54.374 31.62 9.968l.111.112c7.765 7.429 11.386 19.822 14.597 32.701 3.173 14.97 5.749 29.118 15.268 39.795 18.143 19.673 24.078 33.821 23.742 42.557l.112-.224v.672l-.112-.448c-.56 9.78-6.906 14.783-18.59 22.212-23.519 14.97-65.18 26.579-91.722 58.609-23.07 27.512-51.18 42.52-76.005 44.46-24.788 1.98-46.178-7.466-58.759-33.522l-.186-.112c-7.84-14.97-4.48-38.264 2.09-63.09 6.57-24.936 15.978-50.209 17.284-70.853 1.382-26.654 2.837-49.836 7.28-67.718 4.48-17.358 11.498-29.752 23.929-36.733l1.68-.821zm-403.731 1.83h.373c1.978 0 3.92.186 5.86.522 14.037 2.053 26.356 12.431 38.19 28.073l33.971 62.118.112.112c9.071 19.897 28.147 39.72 44.386 61.147 16.202 22.324 28.745 42.221 27.214 58.61v.224c-2.128 27.774-17.881 42.855-41.997 48.305-24.078 5.04-56.742.075-89.407-17.321-36.136-20.01-79.066-17.508-106.653-22.473-13.775-2.464-22.81-7.504-26.99-14.97-4.144-7.428-4.219-22.435 4.591-45.916v-.112l.075-.112c4.368-12.469 1.12-28.11-1.008-41.773-2.053-14.97-3.099-26.468 1.605-35.091 5.973-12.469 14.783-14.895 25.721-19.897 11.013-5.04 23.929-7.541 34.195-17.509h.075v-.111c9.556-10.005 16.612-22.436 24.936-31.284 7.093-7.503 14.186-12.543 24.75-12.543m267.25-338.74c-16.24 7.504-35.278 19.973-55.548 19.973-20.233 0-36.211-9.967-47.746-17.396-5.786-5.003-10.453-10.005-13.962-12.506-6.122-5.002-5.375-12.468-2.762-12.468 4.069.597 4.815 5.04 7.429 7.503 3.583 2.464 8.026 7.429 13.476 12.431 10.863 7.466 25.385 17.434 43.527 17.434 18.106 0 39.31-9.968 52.189-17.397 7.28-5.04 16.612-12.468 24.19-17.433 5.824-5.114 5.562-10.005 10.415-10.005 4.816.598 1.27 5.003-5.487 12.432a302.304 302.304 0 0 1-25.759 17.47v-.037zm-40.392-59.13v-.822c-.224-.71.485-1.568 1.083-1.867 2.762-1.605 6.72-1.008 9.706.15 2.351 0 5.972 2.5 5.6 5.04-.225 1.829-3.174 2.463-5.04 2.463-2.054 0-3.435-1.605-5.264-2.538-1.941-.672-5.45-.299-6.085-2.427m-20.57 0c-.746 2.164-4.218 1.828-6.196 2.463-1.755.933-3.21 2.538-5.189 2.538-1.904 0-4.89-.709-5.114-2.538-.336-2.464 3.285-4.965 5.6-4.965 3.023-1.157 6.868-1.755 9.668-.187.71.336 1.344 1.12 1.12 1.867v.784h.112z\",\"transform\":\"translate(142.938 64)\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineLoading3Quarters (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 1024c-69.1 0-136.2-13.5-199.3-40.2C251.7 958 197 921 150 874c-47-47-84-101.7-109.8-162.7C13.5 648.2 0 581.1 0 512c0-19.9 16.1-36 36-36s36 16.1 36 36c0 59.4 11.6 117 34.6 171.3 22.2 52.4 53.9 99.5 94.3 139.9 40.4 40.4 87.5 72.2 139.9 94.3C395 940.4 452.6 952 512 952c59.4 0 117-11.6 171.3-34.6 52.4-22.2 99.5-53.9 139.9-94.3 40.4-40.4 72.2-87.5 94.3-139.9C940.4 629 952 571.4 952 512c0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 0 0-94.3-139.9 437.71 437.71 0 0 0-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.2C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3s-13.5 136.2-40.2 199.3C958 772.3 921 827 874 874c-47 47-101.8 83.9-162.7 109.7-63.1 26.8-130.2 40.3-199.3 40.3z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineLoading (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M988 548c-19.9 0-36-16.1-36-36 0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 0 0-94.3-139.9 437.71 437.71 0 0 0-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.3C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3.1 19.9-16 36-35.9 36z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineLock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M832 464h-68V240c0-70.7-57.3-128-128-128H388c-70.7 0-128 57.3-128 128v224h-68c-17.7 0-32 14.3-32 32v384c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V496c0-17.7-14.3-32-32-32zM332 240c0-30.9 25.1-56 56-56h248c30.9 0 56 25.1 56 56v224H332V240zm460 600H232V536h560v304zM484 701v53c0 4.4 3.6 8 8 8h40c4.4 0 8-3.6 8-8v-53a48.01 48.01 0 1 0-56 0z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineLogin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M521.7 82c-152.5-.4-286.7 78.5-363.4 197.7-3.4 5.3.4 12.3 6.7 12.3h70.3c4.8 0 9.3-2.1 12.3-5.8 7-8.5 14.5-16.7 22.4-24.5 32.6-32.5 70.5-58.1 112.7-75.9 43.6-18.4 90-27.8 137.9-27.8 47.9 0 94.3 9.3 137.9 27.8 42.2 17.8 80.1 43.4 112.7 75.9 32.6 32.5 58.1 70.4 76 112.5C865.7 417.8 875 464.1 875 512c0 47.9-9.4 94.2-27.8 137.8-17.8 42.1-43.4 80-76 112.5s-70.5 58.1-112.7 75.9A352.8 352.8 0 0 1 520.6 866c-47.9 0-94.3-9.4-137.9-27.8A353.84 353.84 0 0 1 270 762.3c-7.9-7.9-15.3-16.1-22.4-24.5-3-3.7-7.6-5.8-12.3-5.8H165c-6.3 0-10.2 7-6.7 12.3C234.9 863.2 368.5 942 520.6 942c236.2 0 428-190.1 430.4-425.6C953.4 277.1 761.3 82.6 521.7 82zM395.02 624v-76h-314c-4.4 0-8-3.6-8-8v-56c0-4.4 3.6-8 8-8h314v-76c0-6.7 7.8-10.5 13-6.3l141.9 112a8 8 0 0 1 0 12.6l-141.9 112c-5.2 4.1-13 .4-13-6.3z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineLogout (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M868 732h-70.3c-4.8 0-9.3 2.1-12.3 5.8-7 8.5-14.5 16.7-22.4 24.5a353.84 353.84 0 0 1-112.7 75.9A352.8 352.8 0 0 1 512.4 866c-47.9 0-94.3-9.4-137.9-27.8a353.84 353.84 0 0 1-112.7-75.9 353.28 353.28 0 0 1-76-112.5C167.3 606.2 158 559.9 158 512s9.4-94.2 27.8-137.8c17.8-42.1 43.4-80 76-112.5s70.5-58.1 112.7-75.9c43.6-18.4 90-27.8 137.9-27.8 47.9 0 94.3 9.3 137.9 27.8 42.2 17.8 80.1 43.4 112.7 75.9 7.9 7.9 15.3 16.1 22.4 24.5 3 3.7 7.6 5.8 12.3 5.8H868c6.3 0 10.2-7 6.7-12.3C798 160.5 663.8 81.6 511.3 82 271.7 82.6 79.6 277.1 82 516.4 84.4 751.9 276.2 942 512.4 942c152.1 0 285.7-78.8 362.3-197.7 3.4-5.3-.4-12.3-6.7-12.3zm88.9-226.3L815 393.7c-5.3-4.2-13-.4-13 6.3v76H488c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h314v76c0 6.7 7.8 10.5 13 6.3l141.9-112a8 8 0 0 0 0-12.6z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineMacCommand (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"t\":\"1569683819749\",\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32z m-40 728H184V184h656v656z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M370.8 554.4c-54.6 0-98.8 44.2-98.8 98.8s44.2 98.8 98.8 98.8 98.8-44.2 98.8-98.8v-42.4h84.7v42.4c0 54.6 44.2 98.8 98.8 98.8s98.8-44.2 98.8-98.8-44.2-98.8-98.8-98.8h-42.4v-84.7h42.4c54.6 0 98.8-44.2 98.8-98.8 0-54.6-44.2-98.8-98.8-98.8s-98.8 44.2-98.8 98.8v42.4h-84.7v-42.4c0-54.6-44.2-98.8-98.8-98.8S272 316.2 272 370.8s44.2 98.8 98.8 98.8h42.4v84.7h-42.4z m42.4 98.8c0 23.4-19 42.4-42.4 42.4s-42.4-19-42.4-42.4 19-42.4 42.4-42.4h42.4v42.4z m197.6-282.4c0-23.4 19-42.4 42.4-42.4s42.4 19 42.4 42.4-19 42.4-42.4 42.4h-42.4v-42.4z m0 240h42.4c23.4 0 42.4 19 42.4 42.4s-19 42.4-42.4 42.4-42.4-19-42.4-42.4v-42.4zM469.6 469.6h84.7v84.7h-84.7v-84.7z m-98.8-56.4c-23.4 0-42.4-19-42.4-42.4s19-42.4 42.4-42.4 42.4 19 42.4 42.4v42.4h-42.4z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineMail (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 110.8V792H136V270.8l-27.6-21.5 39.3-50.5 42.8 33.3h643.1l42.8-33.3 39.3 50.5-27.7 21.5zM833.6 232L512 482 190.4 232l-42.8-33.3-39.3 50.5 27.6 21.5 341.6 265.6a55.99 55.99 0 0 0 68.7 0L888 270.8l27.6-21.5-39.3-50.5-42.7 33.2z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineMan (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M874 120H622c-3.3 0-6 2.7-6 6v56c0 3.3 2.7 6 6 6h160.4L583.1 387.3c-50-38.5-111-59.3-175.1-59.3-76.9 0-149.3 30-203.6 84.4S120 539.1 120 616s30 149.3 84.4 203.6C258.7 874 331.1 904 408 904s149.3-30 203.6-84.4C666 765.3 696 692.9 696 616c0-64.1-20.8-124.9-59.2-174.9L836 241.9V402c0 3.3 2.7 6 6 6h56c3.3 0 6-2.7 6-6V150c0-16.5-13.5-30-30-30zM408 828c-116.9 0-212-95.1-212-212s95.1-212 212-212 212 95.1 212 212-95.1 212-212 212z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineMedicineBox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M839.2 278.1a32 32 0 0 0-30.4-22.1H736V144c0-17.7-14.3-32-32-32H320c-17.7 0-32 14.3-32 32v112h-72.8a31.9 31.9 0 0 0-30.4 22.1L112 502v378c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V502l-72.8-223.9zM360 184h304v72H360v-72zm480 656H184V513.4L244.3 328h535.4L840 513.4V840zM652 572H544V464c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v108H372c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h108v108c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V636h108c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineMediumWorkmark (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M517.2 590.55c0 3.55 0 4.36 2.4 6.55l13.43 13.25v.57h-59.57v-25.47a41.44 41.44 0 0 1-39.5 27.65c-30.61 0-52.84-24.25-52.84-68.87 0-41.8 23.99-69.69 57.65-69.69a35.15 35.15 0 0 1 34.61 21.67v-56.19a6.99 6.99 0 0 0-2.71-6.79l-12.8-12.45v-.56l59.33-7.04v177.37zm-43.74-8.09v-83.83a22.2 22.2 0 0 0-17.74-8.4c-14.48 0-28.47 13.25-28.47 52.62 0 36.86 12.07 49.88 27.1 49.88a23.91 23.91 0 0 0 19.11-10.27zm83.23 28.46V497.74a7.65 7.65 0 0 0-2.4-6.79l-13.19-13.74v-.57h59.56v114.8c0 3.55 0 4.36 2.4 6.54l13.12 12.45v.57l-59.49-.08zm-2.16-175.67c0-13.4 10.74-24.25 23.99-24.25 13.25 0 23.98 10.86 23.98 24.25 0 13.4-10.73 24.25-23.98 24.25s-23.99-10.85-23.99-24.25zm206.83 155.06c0 3.55 0 4.6 2.4 6.79l13.43 13.25v.57h-59.88V581.9a43.4 43.4 0 0 1-41.01 31.2c-26.55 0-40.78-19.56-40.78-56.59 0-17.86 0-37.43.56-59.41a6.91 6.91 0 0 0-2.4-6.55L620.5 477.2v-.57h59.09v73.81c0 24.25 3.51 40.42 18.54 40.42a23.96 23.96 0 0 0 19.35-12.2v-80.85a7.65 7.65 0 0 0-2.4-6.79l-13.27-13.82v-.57h59.56V590.3zm202.76 20.6c0-4.36.8-59.97.8-72.75 0-24.25-3.76-40.98-20.63-40.98a26.7 26.7 0 0 0-21.19 11.64 99.68 99.68 0 0 1 2.4 23.04c0 16.81-.56 38.23-.8 59.66a6.91 6.91 0 0 0 2.4 6.55l13.43 12.45v.56h-60.12c0-4.04.8-59.98.8-72.76 0-24.65-3.76-40.98-20.39-40.98-8.2.3-15.68 4.8-19.83 11.96v82.46c0 3.56 0 4.37 2.4 6.55l13.11 12.45v.56h-59.48V498.15a7.65 7.65 0 0 0-2.4-6.8l-13.19-14.14v-.57H841v28.78c5.53-19 23.13-31.76 42.7-30.96 19.82 0 33.26 11.16 38.93 32.34a46.41 46.41 0 0 1 44.77-32.34c26.55 0 41.58 19.8 41.58 57.23 0 17.87-.56 38.24-.8 59.66a6.5 6.5 0 0 0 2.72 6.55l13.11 12.45v.57h-59.88zM215.87 593.3l17.66 17.05v.57h-89.62v-.57l17.99-17.05a6.91 6.91 0 0 0 2.4-6.55V477.69c0-4.6 0-10.83.8-16.16L104.66 613.1h-.72l-62.6-139.45c-1.37-3.47-1.77-3.72-2.65-6.06v91.43a32.08 32.08 0 0 0 2.96 17.87l25.19 33.46v.57H0v-.57l25.18-33.55a32.16 32.16 0 0 0 2.96-17.78V457.97A19.71 19.71 0 0 0 24 444.15L6.16 420.78v-.56h63.96l53.56 118.1 47.17-118.1h62.6v.56l-17.58 19.8a6.99 6.99 0 0 0-2.72 6.8v139.37a6.5 6.5 0 0 0 2.72 6.55zm70.11-54.65v.56c0 34.6 17.67 48.5 38.38 48.5a43.5 43.5 0 0 0 40.77-24.97h.56c-7.2 34.2-28.14 50.36-59.48 50.36-33.82 0-65.72-20.61-65.72-68.39 0-50.2 31.98-70.25 67.32-70.25 28.46 0 58.76 13.58 58.76 57.24v6.95h-80.59zm0-6.95h39.42v-7.04c0-35.57-7.28-45.03-18.23-45.03-13.27 0-21.35 14.15-21.35 52.07h.16z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineMedium (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M834.7 279.8l61.3-58.9V208H683.7L532.4 586.4 360.3 208H137.7v12.9l71.6 86.6c7 6.4 10.6 15.8 9.7 25.2V673c2.2 12.3-1.7 24.8-10.3 33.7L128 805v12.7h228.6v-12.9l-80.6-98a39.99 39.99 0 0 1-11.1-33.7V378.7l200.7 439.2h23.3l172.6-439.2v349.9c0 9.2 0 11.1-6 17.2l-62.1 60.3V819h301.2v-12.9l-59.9-58.9c-5.2-4-7.9-10.7-6.8-17.2V297a18.1 18.1 0 0 1 6.8-17.2z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineMeh (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 421a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm352 0a48 48 0 1 0 96 0 48 48 0 1 0-96 0zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm263 711c-34.2 34.2-74 61-118.3 79.8C611 874.2 562.3 884 512 884c-50.3 0-99-9.8-144.8-29.2A370.4 370.4 0 0 1 248.9 775c-34.2-34.2-61-74-79.8-118.3C149.8 611 140 562.3 140 512s9.8-99 29.2-144.8A370.4 370.4 0 0 1 249 248.9c34.2-34.2 74-61 118.3-79.8C413 149.8 461.7 140 512 140c50.3 0 99 9.8 144.8 29.2A370.4 370.4 0 0 1 775.1 249c34.2 34.2 61 74 79.8 118.3C874.2 413 884 461.7 884 512s-9.8 99-29.2 144.8A368.89 368.89 0 0 1 775 775zM664 565H360c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h304c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineMenuFold (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineMenuUnfold (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM142.4 642.1L298.7 519a8.84 8.84 0 0 0 0-13.9L142.4 381.9c-5.8-4.6-14.4-.5-14.4 6.9v246.3a8.9 8.9 0 0 0 14.4 7z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineMenu (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M904 160H120c-4.4 0-8 3.6-8 8v64c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-64c0-4.4-3.6-8-8-8zm0 624H120c-4.4 0-8 3.6-8 8v64c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-64c0-4.4-3.6-8-8-8zm0-312H120c-4.4 0-8 3.6-8 8v64c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-64c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineMergeCells (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"t\":\"1569683404098\",\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M482.2 508.4L331.3 389c-3-2.4-7.3-0.2-7.3 3.6V478H184V184h204v128c0 2.2 1.8 4 4 4h60c2.2 0 4-1.8 4-4V144c0-15.5-12.5-28-28-28H144c-15.5 0-28 12.5-28 28v736c0 15.5 12.5 28 28 28h284c15.5 0 28-12.5 28-28V712c0-2.2-1.8-4-4-4h-60c-2.2 0-4 1.8-4 4v128H184V546h140v85.4c0 3.8 4.4 6 7.3 3.6l150.9-119.4c2.4-1.8 2.4-5.4 0-7.2zM880 116H596c-15.5 0-28 12.5-28 28v168c0 2.2 1.8 4 4 4h60c2.2 0 4-1.8 4-4V184h204v294H700v-85.4c0-3.8-4.3-6-7.3-3.6l-151 119.4c-2.3 1.8-2.3 5.3 0 7.1l151 119.5c2.9 2.3 7.3 0.2 7.3-3.6V546h140v294H636V712c0-2.2-1.8-4-4-4h-60c-2.2 0-4 1.8-4 4v168c0 15.5 12.5 28 28 28h284c15.5 0 28-12.5 28-28V144c0-15.5-12.5-28-28-28z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineMerge (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\"},\"child\":[{\"tag\":\"g\",\"attr\":{\"transform\":\"matrix(1 0 0 -1 172 924)\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M76 172H148V660H76z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M568 61c61.856 0 112 50.144 112 112 0 48.327-30.608 89.505-73.496 105.206l-.018 113.037c-.003 21.932-14.1 41.379-34.944 48.204L136.643 581.85l-22.405-68.425 420.25-137.608.014-95.914C489.009 265.664 456 223.187 456 173c0-61.856 50.144-112 112-112M112 0c61.856 0 112 50.144 112 112s-50.144 112-112 112S0 173.856 0 112 50.144 0 112 0m456 125c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48M112 64c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48m0 536c61.856 0 112 50.144 112 112s-50.144 112-112 112S0 773.856 0 712s50.144-112 112-112m0 64c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48\"},\"child\":[]}]}]})(props);\n};\nexport function AiOutlineMessage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 512a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm200 0a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm-400 0a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm661.2-173.6c-22.6-53.7-55-101.9-96.3-143.3a444.35 444.35 0 0 0-143.3-96.3C630.6 75.7 572.2 64 512 64h-2c-60.6.3-119.3 12.3-174.5 35.9a445.35 445.35 0 0 0-142 96.5c-40.9 41.3-73 89.3-95.2 142.8-23 55.4-34.6 114.3-34.3 174.9A449.4 449.4 0 0 0 112 714v152a46 46 0 0 0 46 46h152.1A449.4 449.4 0 0 0 510 960h2.1c59.9 0 118-11.6 172.7-34.3a444.48 444.48 0 0 0 142.8-95.2c41.3-40.9 73.8-88.7 96.5-142 23.6-55.2 35.6-113.9 35.9-174.5.3-60.9-11.5-120-34.8-175.6zm-151.1 438C704 845.8 611 884 512 884h-1.7c-60.3-.3-120.2-15.3-173.1-43.5l-8.4-4.5H188V695.2l-4.5-8.4C155.3 633.9 140.3 574 140 513.7c-.4-99.7 37.7-193.3 107.6-263.8 69.8-70.5 163.1-109.5 262.8-109.9h1.7c50 0 98.5 9.7 144.2 28.9 44.6 18.7 84.6 45.6 119 80 34.3 34.3 61.3 74.4 80 119 19.4 46.2 29.1 95.2 28.9 145.8-.6 99.6-39.7 192.9-110.1 262.7z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineMinusCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M696 480H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineMinusSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M328 544h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M872 474H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h720c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineMobile (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M744 62H280c-35.3 0-64 28.7-64 64v768c0 35.3 28.7 64 64 64h464c35.3 0 64-28.7 64-64V126c0-35.3-28.7-64-64-64zm-8 824H288V134h448v752zM472 784a40 40 0 1 0 80 0 40 40 0 1 0-80 0z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineMoneyCollect (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M911.5 700.7a8 8 0 0 0-10.3-4.8L840 718.2V180c0-37.6-30.4-68-68-68H252c-37.6 0-68 30.4-68 68v538.2l-61.3-22.3c-.9-.3-1.8-.5-2.7-.5-4.4 0-8 3.6-8 8V763c0 3.3 2.1 6.3 5.3 7.5L501 910.1c7.1 2.6 14.8 2.6 21.9 0l383.8-139.5c3.2-1.2 5.3-4.2 5.3-7.5v-59.6c0-1-.2-1.9-.5-2.8zM512 837.5l-256-93.1V184h512v560.4l-256 93.1zM660.6 312h-54.5c-3 0-5.8 1.7-7.1 4.4l-84.7 168.8H511l-84.7-168.8a8 8 0 0 0-7.1-4.4h-55.7c-1.3 0-2.6.3-3.8 1-3.9 2.1-5.3 7-3.2 10.8l103.9 191.6h-57c-4.4 0-8 3.6-8 8v27.1c0 4.4 3.6 8 8 8h76v39h-76c-4.4 0-8 3.6-8 8v27.1c0 4.4 3.6 8 8 8h76V704c0 4.4 3.6 8 8 8h49.9c4.4 0 8-3.6 8-8v-63.5h76.3c4.4 0 8-3.6 8-8v-27.1c0-4.4-3.6-8-8-8h-76.3v-39h76.3c4.4 0 8-3.6 8-8v-27.1c0-4.4-3.6-8-8-8H564l103.7-191.6c.6-1.2 1-2.5 1-3.8-.1-4.3-3.7-7.9-8.1-7.9z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineMonitor (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M692.8 412.7l.2-.2-34.6-44.3a7.97 7.97 0 0 0-11.2-1.4l-50.4 39.3-70.5-90.1a7.97 7.97 0 0 0-11.2-1.4l-37.9 29.7a7.97 7.97 0 0 0-1.4 11.2l70.5 90.2-.2.1 34.6 44.3c2.7 3.5 7.7 4.1 11.2 1.4l50.4-39.3 64.1 82c2.7 3.5 7.7 4.1 11.2 1.4l37.9-29.6c3.5-2.7 4.1-7.7 1.4-11.2l-64.1-82.1zM608 112c-167.9 0-304 136.1-304 304 0 70.3 23.9 135 63.9 186.5L114.3 856.1a8.03 8.03 0 0 0 0 11.3l42.3 42.3c3.1 3.1 8.2 3.1 11.3 0l253.6-253.6C473 696.1 537.7 720 608 720c167.9 0 304-136.1 304-304S775.9 112 608 112zm161.2 465.2C726.2 620.3 668.9 644 608 644s-118.2-23.7-161.2-66.8C403.7 534.2 380 476.9 380 416s23.7-118.2 66.8-161.2c43-43.1 100.3-66.8 161.2-66.8s118.2 23.7 161.2 66.8c43.1 43 66.8 100.3 66.8 161.2s-23.7 118.2-66.8 161.2z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineMoon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M489.493 111.658c30.658-1.792 45.991 36.44 22.59 56.329C457.831 214.095 426 281.423 426 354c0 134.757 109.243 244 244 244 72.577 0 139.905-31.832 186.014-86.084 19.868-23.377 58.064-8.102 56.332 22.53C900.4 745.823 725.141 912 512.5 912 291.31 912 112 732.69 112 511.5c0-211.39 164.287-386.024 374.198-399.649l.206-.013zm-81.143 79.75-4.112 1.362C271.1 237.943 176 364.092 176 511.5 176 697.344 326.656 848 512.5 848c148.28 0 274.938-96.192 319.453-230.41l.625-1.934-.11.071c-47.18 29.331-102.126 45.755-159.723 46.26L670 662c-170.104 0-308-137.896-308-308 0-58.595 16.476-114.54 46.273-162.467z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineMore (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M456 231a56 56 0 1 0 112 0 56 56 0 1 0-112 0zm0 280a56 56 0 1 0 112 0 56 56 0 1 0-112 0zm0 280a56 56 0 1 0 112 0 56 56 0 1 0-112 0z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineMuted (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M771.915 115c-5.863 0-11.877 1.644-17.42 5.267L400 351.966H236c-8.837 0-16 7.165-16 16.003V656.03c0 8.838 7.163 16.003 16 16.003h164l354.495 231.7c5.542 3.621 11.558 5.267 17.42 5.267C788.566 909 804 895.749 804 876.94V147.06c0-18.808-15.436-32.06-32.085-32.06M732 220.997v582.005L439.386 611.75l-17.948-11.73H292V423.98h129.438l17.948-11.73z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineNodeCollapse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"t\":\"1569683371420\",\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M952 612c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H298c-14.2-35.2-48.7-60-89-60-53 0-96 43-96 96s43 96 96 96c40.3 0 74.8-24.8 89-60h150.3v152c0 55.2 44.8 100 100 100H952c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H548.3c-15.5 0-28-12.5-28-28V612H952zM451.7 313.7l172.5 136.2c6.3 5.1 15.8 0.5 15.8-7.7V344h264c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8H640v-98.2c0-8.1-9.4-12.8-15.8-7.7L451.7 298.3c-4.9 3.9-4.9 11.5 0 15.4z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineNodeExpand (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"t\":\"1569683374330\",\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M952 612c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H298c-14.2-35.2-48.7-60-89-60-53 0-96 43-96 96s43 96 96 96c40.3 0 74.8-24.8 89-60h150.3v152c0 55.2 44.8 100 100 100H952c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H548.3c-15.5 0-28-12.5-28-28V612H952zM456 344h264v98.2c0 8.1 9.5 12.8 15.8 7.7l172.5-136.2c5-3.9 5-11.4 0-15.3L735.8 162.1c-6.4-5.1-15.8-0.5-15.8 7.7V268H456c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineNodeIndex (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"t\":\"1569683635191\",\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M843.5 737.4c-12.4-75.2-79.2-129.1-155.3-125.4S550.9 676 546 752c-153.5-4.8-208-40.7-199.1-113.7 3.3-27.3 19.8-41.9 50.1-49 18.4-4.3 38.8-4.9 57.3-3.2 1.7 0.2 3.5 0.3 5.2 0.5 11.3 2.7 22.8 5 34.3 6.8 34.1 5.6 68.8 8.4 101.8 6.6 92.8-5 156-45.9 159.2-132.7 3.1-84.1-54.7-143.7-147.9-183.6-29.9-12.8-61.6-22.7-93.3-30.2-14.3-3.4-26.3-5.7-35.2-7.2-7.9-75.9-71.5-133.8-147.8-134.4-76.3-0.6-140.9 56.1-150.1 131.9s40 146.3 114.2 163.9c74.2 17.6 149.9-23.3 175.7-95.1 9.4 1.7 18.7 3.6 28 5.8 28.2 6.6 56.4 15.4 82.4 26.6 70.7 30.2 109.3 70.1 107.5 119.9-1.6 44.6-33.6 65.2-96.2 68.6-27.5 1.5-57.6-0.9-87.3-5.8-8.3-1.4-15.9-2.8-22.6-4.3-3.9-0.8-6.6-1.5-7.8-1.8l-3.1-0.6c-2.2-0.3-5.9-0.8-10.7-1.3-25-2.3-52.1-1.5-78.5 4.6-55.2 12.9-93.9 47.2-101.1 105.8-15.7 126.2 78.6 184.7 276 188.9 29.1 70.4 106.4 107.9 179.6 87 73.3-20.9 119.3-93.4 106.9-168.6zM329.1 345.2c-46 0-83.3-37.3-83.3-83.3s37.3-83.3 83.3-83.3 83.3 37.3 83.3 83.3-37.3 83.3-83.3 83.3zM695.6 845c-46 0-83.3-37.3-83.3-83.3s37.3-83.3 83.3-83.3 83.3 37.3 83.3 83.3-37.3 83.3-83.3 83.3z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineNotification (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112c-3.8 0-7.7.7-11.6 2.3L292 345.9H128c-8.8 0-16 7.4-16 16.6v299c0 9.2 7.2 16.6 16 16.6h101.7c-3.7 11.6-5.7 23.9-5.7 36.4 0 65.9 53.8 119.5 120 119.5 55.4 0 102.1-37.6 115.9-88.4l408.6 164.2c3.9 1.5 7.8 2.3 11.6 2.3 16.9 0 32-14.2 32-33.2V145.2C912 126.2 897 112 880 112zM344 762.3c-26.5 0-48-21.4-48-47.8 0-11.2 3.9-21.9 11-30.4l84.9 34.1c-2 24.6-22.7 44.1-47.9 44.1zm496 58.4L318.8 611.3l-12.9-5.2H184V417.9h121.9l12.9-5.2L840 203.3v617.4z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineNumber (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M872 394c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8H708V152c0-4.4-3.6-8-8-8h-64c-4.4 0-8 3.6-8 8v166H400V152c0-4.4-3.6-8-8-8h-64c-4.4 0-8 3.6-8 8v166H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h168v236H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h168v166c0 4.4 3.6 8 8 8h64c4.4 0 8-3.6 8-8V706h228v166c0 4.4 3.6 8 8 8h64c4.4 0 8-3.6 8-8V706h164c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8H708V394h164zM628 630H400V394h228v236z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineOneToOne (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"t\":\"1569683653709\",\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M316 672h60c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v304c0 4.4 3.6 8 8 8zM512 622c22.1 0 40-17.9 40-39 0-23.1-17.9-41-40-41s-40 17.9-40 41c0 21.1 17.9 39 40 39zM512 482c22.1 0 40-17.9 40-39 0-23.1-17.9-41-40-41s-40 17.9-40 41c0 21.1 17.9 39 40 39z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32z m-40 728H184V184h656v656z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M648 672h60c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v304c0 4.4 3.6 8 8 8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineOpenAI (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M358.878 0c-84.345 0-156.575 52.808-185.68 126.983-60.887 8.128-115.29 43.622-146.595 97.837C-15.56 297.814-5.953 386.702 43.74 448.978 20.36 505.726 23.887 570.575 55.164 624.76c42.18 73.024 124.095 109.152 202.937 97.235C295.585 770.621 353.51 800 416.121 800c84.346 0 156.576-52.808 185.68-126.983 60.888-8.128 115.291-43.622 146.596-97.837 42.163-72.994 32.556-161.882-17.137-224.158 23.38-56.748 19.853-121.597-11.424-175.782-42.18-73.024-124.095-109.152-202.937-97.235C479.415 29.379 421.49 0 358.879 0m0 61.538c35.593 0 68.972 13.99 94.223 37.74-1.928 1.031-3.925 1.845-5.832 2.946L310.594 181.13c-14.223 8.184-23.028 23.353-23.09 39.783l-.841 183.594-65.722-38.341V199.399c0-76 61.895-137.86 137.937-137.86m197.706 75.902c44.186 3.142 86.154 27.435 109.917 68.57 17.794 30.797 22.38 66.692 14.43 100.42-1.879-1.169-3.6-2.491-5.531-3.605l-136.734-78.907a46.232 46.232 0 0 0-46-.06l-159.463 91.106.36-76.022 144.492-83.413c24.694-14.25 52.017-19.974 78.53-18.09M159.67 192.849c-.071 2.19-.3 4.343-.3 6.55v157.752a46.185 46.185 0 0 0 22.91 39.904l158.68 92.488-66.021 37.68-144.552-83.353c-65.852-38-88.47-122.526-50.448-188.341 17.783-30.78 46.556-52.689 79.731-62.68m340.393 79.927 144.552 83.354c65.852 38 88.47 122.526 50.448 188.341-17.783 30.78-46.556 52.689-79.731 62.68.071-2.19.3-4.343.3-6.55V442.849a46.185 46.185 0 0 0-22.91-39.904l-158.68-92.488zM387.801 336.84l54.537 31.79-.3 63.222-54.839 31.31-54.537-31.85.3-63.162zm100.536 58.654 65.722 38.341v166.767c0 76-61.895 137.86-137.937 137.86-35.593 0-68.972-13.988-94.223-37.74 1.928-1.03 3.925-1.844 5.832-2.945l136.675-78.906c14.223-8.184 23.028-23.353 23.09-39.783zm-46.54 89.543-.36 76.022-144.492 83.413c-65.852 38-150.425 15.335-188.446-50.48-17.794-30.798-22.38-66.693-14.43-100.421 1.879 1.169 3.6 2.491 5.531 3.605l136.735 78.907a46.232 46.232 0 0 0 45.999.06z\",\"transform\":\"translate(124 128)\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineOrderedList (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M920 760H336c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-568H336c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H336c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM216 712H100c-2.2 0-4 1.8-4 4v34c0 2.2 1.8 4 4 4h72.4v20.5h-35.7c-2.2 0-4 1.8-4 4v34c0 2.2 1.8 4 4 4h35.7V838H100c-2.2 0-4 1.8-4 4v34c0 2.2 1.8 4 4 4h116c2.2 0 4-1.8 4-4V716c0-2.2-1.8-4-4-4zM100 188h38v120c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V152c0-4.4-3.6-8-8-8h-78c-2.2 0-4 1.8-4 4v36c0 2.2 1.8 4 4 4zm116 240H100c-2.2 0-4 1.8-4 4v36c0 2.2 1.8 4 4 4h68.4l-70.3 77.7a8.3 8.3 0 0 0-2.1 5.4V592c0 2.2 1.8 4 4 4h116c2.2 0 4-1.8 4-4v-36c0-2.2-1.8-4-4-4h-68.4l70.3-77.7a8.3 8.3 0 0 0 2.1-5.4V432c0-2.2-1.8-4-4-4z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlinePaperClip (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M779.3 196.6c-94.2-94.2-247.6-94.2-341.7 0l-261 260.8c-1.7 1.7-2.6 4-2.6 6.4s.9 4.7 2.6 6.4l36.9 36.9a9 9 0 0 0 12.7 0l261-260.8c32.4-32.4 75.5-50.2 121.3-50.2s88.9 17.8 121.2 50.2c32.4 32.4 50.2 75.5 50.2 121.2 0 45.8-17.8 88.8-50.2 121.2l-266 265.9-43.1 43.1c-40.3 40.3-105.8 40.3-146.1 0-19.5-19.5-30.2-45.4-30.2-73s10.7-53.5 30.2-73l263.9-263.8c6.7-6.6 15.5-10.3 24.9-10.3h.1c9.4 0 18.1 3.7 24.7 10.3 6.7 6.7 10.3 15.5 10.3 24.9 0 9.3-3.7 18.1-10.3 24.7L372.4 653c-1.7 1.7-2.6 4-2.6 6.4s.9 4.7 2.6 6.4l36.9 36.9a9 9 0 0 0 12.7 0l215.6-215.6c19.9-19.9 30.8-46.3 30.8-74.4s-11-54.6-30.8-74.4c-41.1-41.1-107.9-41-149 0L463 364 224.8 602.1A172.22 172.22 0 0 0 174 724.8c0 46.3 18.1 89.8 50.8 122.5 33.9 33.8 78.3 50.7 122.7 50.7 44.4 0 88.8-16.9 122.6-50.7l309.2-309C824.8 492.7 850 432 850 367.5c.1-64.6-25.1-125.3-70.7-170.9z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlinePartition (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"t\":\"1569683632175\",\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M640.6 429.8h257.1c7.9 0 14.3-6.4 14.3-14.3V158.3c0-7.9-6.4-14.3-14.3-14.3H640.6c-7.9 0-14.3 6.4-14.3 14.3v92.9H490.6c-3.9 0-7.1 3.2-7.1 7.1v221.5h-85.7v-96.5c0-7.9-6.4-14.3-14.3-14.3H126.3c-7.9 0-14.3 6.4-14.3 14.3v257.2c0 7.9 6.4 14.3 14.3 14.3h257.1c7.9 0 14.3-6.4 14.3-14.3V544h85.7v221.5c0 3.9 3.2 7.1 7.1 7.1h135.7v92.9c0 7.9 6.4 14.3 14.3 14.3h257.1c7.9 0 14.3-6.4 14.3-14.3v-257c0-7.9-6.4-14.3-14.3-14.3h-257c-7.9 0-14.3 6.4-14.3 14.3v100h-78.6v-393h78.6v100c0 7.9 6.4 14.3 14.3 14.3z m53.5-217.9h150V362h-150V211.9zM329.9 587h-150V437h150v150z m364.2 75.1h150v150.1h-150V662.1z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlinePauseCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm-88-532h-48c-4.4 0-8 3.6-8 8v304c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8zm224 0h-48c-4.4 0-8 3.6-8 8v304c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlinePause (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M304 176h80v672h-80zm408 0h-64c-4.4 0-8 3.6-8 8v656c0 4.4 3.6 8 8 8h64c4.4 0 8-3.6 8-8V184c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlinePayCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm159.6-585h-59.5c-3 0-5.8 1.7-7.1 4.4l-90.6 180H511l-90.6-180a8 8 0 0 0-7.1-4.4h-60.7c-1.3 0-2.6.3-3.8 1-3.9 2.1-5.3 7-3.2 10.9L457 515.7h-61.4c-4.4 0-8 3.6-8 8v29.9c0 4.4 3.6 8 8 8h81.7V603h-81.7c-4.4 0-8 3.6-8 8v29.9c0 4.4 3.6 8 8 8h81.7V717c0 4.4 3.6 8 8 8h54.3c4.4 0 8-3.6 8-8v-68.1h82c4.4 0 8-3.6 8-8V611c0-4.4-3.6-8-8-8h-82v-41.5h82c4.4 0 8-3.6 8-8v-29.9c0-4.4-3.6-8-8-8h-62l111.1-204.8c.6-1.2 1-2.5 1-3.8-.1-4.4-3.7-8-8.1-8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlinePercentage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M855.7 210.8l-42.4-42.4a8.03 8.03 0 0 0-11.3 0L168.3 801.9a8.03 8.03 0 0 0 0 11.3l42.4 42.4c3.1 3.1 8.2 3.1 11.3 0L855.6 222c3.2-3 3.2-8.1.1-11.2zM304 448c79.4 0 144-64.6 144-144s-64.6-144-144-144-144 64.6-144 144 64.6 144 144 144zm0-216c39.7 0 72 32.3 72 72s-32.3 72-72 72-72-32.3-72-72 32.3-72 72-72zm416 344c-79.4 0-144 64.6-144 144s64.6 144 144 144 144-64.6 144-144-64.6-144-144-144zm0 216c-39.7 0-72-32.3-72-72s32.3-72 72-72 72 32.3 72 72-32.3 72-72 72z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlinePhone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M877.1 238.7L770.6 132.3c-13-13-30.4-20.3-48.8-20.3s-35.8 7.2-48.8 20.3L558.3 246.8c-13 13-20.3 30.5-20.3 48.9 0 18.5 7.2 35.8 20.3 48.9l89.6 89.7a405.46 405.46 0 0 1-86.4 127.3c-36.7 36.9-79.6 66-127.2 86.6l-89.6-89.7c-13-13-30.4-20.3-48.8-20.3a68.2 68.2 0 0 0-48.8 20.3L132.3 673c-13 13-20.3 30.5-20.3 48.9 0 18.5 7.2 35.8 20.3 48.9l106.4 106.4c22.2 22.2 52.8 34.9 84.2 34.9 6.5 0 12.8-.5 19.2-1.6 132.4-21.8 263.8-92.3 369.9-198.3C818 606 888.4 474.6 910.4 342.1c6.3-37.6-6.3-76.3-33.3-103.4zm-37.6 91.5c-19.5 117.9-82.9 235.5-178.4 331s-213 158.9-330.9 178.4c-14.8 2.5-30-2.5-40.8-13.2L184.9 721.9 295.7 611l119.8 120 .9.9 21.6-8a481.29 481.29 0 0 0 285.7-285.8l8-21.6-120.8-120.7 110.8-110.9 104.5 104.5c10.8 10.8 15.8 26 13.3 40.8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlinePicCenter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M952 792H72c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h880c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-632H72c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h880c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM848 660c8.8 0 16-7.2 16-16V380c0-8.8-7.2-16-16-16H176c-8.8 0-16 7.2-16 16v264c0 8.8 7.2 16 16 16h672zM232 436h560v152H232V436z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlinePicLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M952 792H72c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h880c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-632H72c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h880c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM608 660c8.8 0 16-7.2 16-16V380c0-8.8-7.2-16-16-16H96c-8.8 0-16 7.2-16 16v264c0 8.8 7.2 16 16 16h512zM152 436h400v152H152V436zm552 210c0 4.4 3.6 8 8 8h224c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H712c-4.4 0-8 3.6-8 8v56zm8-204h224c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H712c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlinePicRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M952 792H72c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h880c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-632H72c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h880c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-24 500c8.8 0 16-7.2 16-16V380c0-8.8-7.2-16-16-16H416c-8.8 0-16 7.2-16 16v264c0 8.8 7.2 16 16 16h512zM472 436h400v152H472V436zM80 646c0 4.4 3.6 8 8 8h224c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H88c-4.4 0-8 3.6-8 8v56zm8-204h224c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H88c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlinePicture (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 632H136v-39.9l138.5-164.3 150.1 178L658.1 489 888 761.6V792zm0-129.8L664.2 396.8c-3.2-3.8-9-3.8-12.2 0L424.6 666.4l-144-170.7c-3.2-3.8-9-3.8-12.2 0L136 652.7V232h752v430.2zM304 456a88 88 0 1 0 0-176 88 88 0 0 0 0 176zm0-116c15.5 0 28 12.5 28 28s-12.5 28-28 28-28-12.5-28-28 12.5-28 28-28z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlinePieChart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M864 518H506V160c0-4.4-3.6-8-8-8h-26a398.46 398.46 0 0 0-282.8 117.1 398.19 398.19 0 0 0-85.7 127.1A397.61 397.61 0 0 0 72 552a398.46 398.46 0 0 0 117.1 282.8c36.7 36.7 79.5 65.6 127.1 85.7A397.61 397.61 0 0 0 472 952a398.46 398.46 0 0 0 282.8-117.1c36.7-36.7 65.6-79.5 85.7-127.1A397.61 397.61 0 0 0 872 552v-26c0-4.4-3.6-8-8-8zM705.7 787.8A331.59 331.59 0 0 1 470.4 884c-88.1-.4-170.9-34.9-233.2-97.2C174.5 724.1 140 640.7 140 552c0-88.7 34.5-172.1 97.2-234.8 54.6-54.6 124.9-87.9 200.8-95.5V586h364.3c-7.7 76.3-41.3 147-96.6 201.8zM952 462.4l-2.6-28.2c-8.5-92.1-49.4-179-115.2-244.6A399.4 399.4 0 0 0 589 74.6L560.7 72c-4.7-.4-8.7 3.2-8.7 7.9V464c0 4.4 3.6 8 8 8l384-1c4.7 0 8.4-4 8-8.6zm-332.2-58.2V147.6a332.24 332.24 0 0 1 166.4 89.8c45.7 45.6 77 103.6 90 166.1l-256.4.7z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlinePinterest (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 0C200.807 0 0 200.807 0 448s200.807 448 448 448 448-200.807 448-448S695.193 0 448 0m0 38.957c226.14 0 409.043 182.904 409.043 409.043 0 226.14-182.904 409.043-409.043 409.043-41.365 0-81.269-6.19-118.886-17.576 16.756-28.014 38.39-68.058 46.984-101.12 5.106-19.601 26.098-99.559 26.098-99.559 13.642 26.045 53.503 48.087 95.945 48.087 126.295 0 217.343-116.149 217.343-260.484 0-138.375-112.916-241.88-258.201-241.88-180.753 0-276.69 121.314-276.69 253.407 0 61.433 32.673 137.902 84.989 162.256 7.924 3.688 12.18 2.09 14-5.592 1.4-5.831 8.468-34.255 11.64-47.479 1.016-4.22.524-7.866-2.89-12.021-17.316-21.004-31.196-59.583-31.196-95.566 0-92.374 69.932-181.771 189.076-181.771 102.875 0 174.924 70.13 174.924 170.396 0 113.281-57.2 191.777-131.63 191.777-41.106 0-71.885-34.005-62.011-75.706 11.838-49.77 34.695-103.478 34.695-139.43 0-32.149-17.253-58.967-52.994-58.967-42.024 0-75.783 43.447-75.783 101.69 0 37.063 12.554 62.163 12.554 62.163s-41.511 175.51-49.114 208.174c-7.619 32.642-5.578 76.605-2.435 109.337C144.551 766.518 38.957 619.785 38.957 448 38.957 221.86 221.86 38.957 448 38.957\",\"transform\":\"translate(64 64)\"},\"child\":[]}]})(props);\n};\nexport function AiOutlinePlayCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M719.4 499.1l-296.1-215A15.9 15.9 0 0 0 398 297v430c0 13.1 14.8 20.5 25.3 12.9l296.1-215a15.9 15.9 0 0 0 0-25.8zm-257.6 134V390.9L628.5 512 461.8 633.1z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlinePlaySquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M442.3 677.6l199.4-156.7a11.3 11.3 0 0 0 0-17.7L442.3 346.4c-7.4-5.8-18.3-.6-18.3 8.8v313.5c0 9.4 10.9 14.7 18.3 8.9z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlinePlusCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M696 480H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlinePlusSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M328 544h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlinePlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M482 152h60q8 0 8 8v704q0 8-8 8h-60q-8 0-8-8V160q0-8 8-8Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M192 474h672q8 0 8 8v60q0 8-8 8H160q-8 0-8-8v-60q0-8 8-8Z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlinePoundCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm138-209.8H469.8v-4.7c27.4-17.2 43.9-50.4 43.9-91.1 0-14.1-2.2-27.9-5.3-41H607c4.4 0 8-3.6 8-8v-30c0-4.4-3.6-8-8-8H495c-7.2-22.6-13.4-45.7-13.4-70.5 0-43.5 34-70.2 87.3-70.2 21.5 0 42.5 4.1 60.4 10.5 5.2 1.9 10.6-2 10.6-7.6v-39.5c0-3.3-2.1-6.3-5.2-7.5-18.8-7.2-43.8-12.7-70.3-12.7-92.9 0-151.5 44.5-151.5 120.3 0 26.3 6.9 52 14.6 77.1H374c-4.4 0-8 3.6-8 8v30c0 4.4 3.6 8 8 8h67.1c3.4 14.7 5.9 29.4 5.9 44.2 0 45.2-28.8 83.3-72.8 94.2-3.6.9-6.1 4.1-6.1 7.8V722c0 4.4 3.6 8 8 8H650c4.4 0 8-3.6 8-8v-39.8c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlinePound (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm138-209.8H469.8v-4.7c27.4-17.2 43.9-50.4 43.9-91.1 0-14.1-2.2-27.9-5.3-41H607c4.4 0 8-3.6 8-8v-30c0-4.4-3.6-8-8-8H495c-7.2-22.6-13.4-45.7-13.4-70.5 0-43.5 34-70.2 87.3-70.2 21.5 0 42.5 4.1 60.4 10.5 5.2 1.9 10.6-2 10.6-7.6v-39.5c0-3.3-2.1-6.3-5.2-7.5-18.8-7.2-43.8-12.7-70.3-12.7-92.9 0-151.5 44.5-151.5 120.3 0 26.3 6.9 52 14.6 77.1H374c-4.4 0-8 3.6-8 8v30c0 4.4 3.6 8 8 8h67.1c3.4 14.7 5.9 29.4 5.9 44.2 0 45.2-28.8 83.3-72.8 94.2-3.6.9-6.1 4.1-6.1 7.8V722c0 4.4 3.6 8 8 8H650c4.4 0 8-3.6 8-8v-39.8c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlinePoweroff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M705.6 124.9a8 8 0 0 0-11.6 7.2v64.2c0 5.5 2.9 10.6 7.5 13.6a352.2 352.2 0 0 1 62.2 49.8c32.7 32.8 58.4 70.9 76.3 113.3a355 355 0 0 1 27.9 138.7c0 48.1-9.4 94.8-27.9 138.7a355.92 355.92 0 0 1-76.3 113.3 353.06 353.06 0 0 1-113.2 76.4c-43.8 18.6-90.5 28-138.5 28s-94.7-9.4-138.5-28a353.06 353.06 0 0 1-113.2-76.4A355.92 355.92 0 0 1 184 650.4a355 355 0 0 1-27.9-138.7c0-48.1 9.4-94.8 27.9-138.7 17.9-42.4 43.6-80.5 76.3-113.3 19-19 39.8-35.6 62.2-49.8 4.7-2.9 7.5-8.1 7.5-13.6V132c0-6-6.3-9.8-11.6-7.2C178.5 195.2 82 339.3 80 506.3 77.2 745.1 272.5 943.5 511.2 944c239 .5 432.8-193.3 432.8-432.4 0-169.2-97-315.7-238.4-386.7zM480 560h64c4.4 0 8-3.6 8-8V88c0-4.4-3.6-8-8-8h-64c-4.4 0-8 3.6-8 8v464c0 4.4 3.6 8 8 8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlinePrinter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M820 436h-40c-4.4 0-8 3.6-8 8v40c0 4.4 3.6 8 8 8h40c4.4 0 8-3.6 8-8v-40c0-4.4-3.6-8-8-8zm32-104H732V120c0-4.4-3.6-8-8-8H300c-4.4 0-8 3.6-8 8v212H172c-44.2 0-80 35.8-80 80v328c0 17.7 14.3 32 32 32h168v132c0 4.4 3.6 8 8 8h424c4.4 0 8-3.6 8-8V772h168c17.7 0 32-14.3 32-32V412c0-44.2-35.8-80-80-80zM360 180h304v152H360V180zm304 664H360V568h304v276zm200-140H732V500H292v204H160V412c0-6.6 5.4-12 12-12h680c6.6 0 12 5.4 12 12v292z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineProduct (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M320 30.02c8.837 0 16 7.163 16 16v304c0 8.836-7.163 16-16 16H16c-8.837 0-16-7.164-16-16v-304c0-8.837 7.163-16 16-16zm-52 68H68v200h200zm493.333 87.686c6.248 6.248 6.248 16.379 0 22.627l-181.02 181.02c-6.248 6.248-16.378 6.248-22.627 0l-181.019-181.02c-6.248-6.248-6.248-16.379 0-22.627l181.02-181.02c6.248-6.248 16.378-6.248 22.627 0zm-84.853 11.313L569 89.54 461.52 197.02 569 304.5zM320 430.02c8.837 0 16 7.164 16 16v304c0 8.837-7.163 16-16 16H16c-8.837 0-16-7.163-16-16v-304c0-8.836 7.163-16 16-16zm-52 68H68v200h200zm452-68c8.837 0 16 7.164 16 16v304c0 8.837-7.163 16-16 16H416c-8.837 0-16-7.163-16-16v-304c0-8.836 7.163-16 16-16zm-52 68H468v200h200z\",\"transform\":\"translate(144 113.98)\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineProfile (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656zM492 400h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H492c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm0 144h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H492c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm0 144h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H492c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zM340 368a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm0 144a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm0 144a40 40 0 1 0 80 0 40 40 0 1 0-80 0z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineProject (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M280 752h80c4.4 0 8-3.6 8-8V280c0-4.4-3.6-8-8-8h-80c-4.4 0-8 3.6-8 8v464c0 4.4 3.6 8 8 8zm192-280h80c4.4 0 8-3.6 8-8V280c0-4.4-3.6-8-8-8h-80c-4.4 0-8 3.6-8 8v184c0 4.4 3.6 8 8 8zm192 72h80c4.4 0 8-3.6 8-8V280c0-4.4-3.6-8-8-8h-80c-4.4 0-8 3.6-8 8v256c0 4.4 3.6 8 8 8zm216-432H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlinePropertySafety (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM810 654.3L512 886.5 214 654.3V226.7l298-101.6 298 101.6v427.6zM430.5 318h-46c-1.7 0-3.3.4-4.8 1.2a10.1 10.1 0 0 0-4 13.6l88 161.1h-45.2c-5.5 0-10 4.5-10 10v21.3c0 5.5 4.5 10 10 10h63.1v29.7h-63.1c-5.5 0-10 4.5-10 10v21.3c0 5.5 4.5 10 10 10h63.1V658c0 5.5 4.5 10 10 10h41.3c5.5 0 10-4.5 10-10v-51.8h63.4c5.5 0 10-4.5 10-10v-21.3c0-5.5-4.5-10-10-10h-63.4v-29.7h63.4c5.5 0 10-4.5 10-10v-21.3c0-5.5-4.5-10-10-10h-45.7l87.7-161.1a10.05 10.05 0 0 0-8.8-14.8h-45c-3.8 0-7.2 2.1-8.9 5.5l-73.2 144.3-72.9-144.3c-1.7-3.4-5.2-5.5-9-5.5z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlinePullRequest (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M788 705.9V192c0-8.8-7.2-16-16-16H602v-68.8c0-6-7-9.4-11.7-5.7L462.7 202.3a7.14 7.14 0 0 0 0 11.3l127.5 100.8c4.7 3.7 11.7.4 11.7-5.7V240h114v465.9c-44.2 15-76 56.9-76 106.1 0 61.8 50.2 112 112 112s112-50.2 112-112c.1-49.2-31.7-91-75.9-106.1zM752 860a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96zM384 212c0-61.8-50.2-112-112-112s-112 50.2-112 112c0 49.2 31.8 91 76 106.1V706c-44.2 15-76 56.9-76 106.1 0 61.8 50.2 112 112 112s112-50.2 112-112c0-49.2-31.8-91-76-106.1V318.1c44.2-15.1 76-56.9 76-106.1zm-160 0a48.01 48.01 0 0 1 96 0 48.01 48.01 0 0 1-96 0zm96 600a48.01 48.01 0 0 1-96 0 48.01 48.01 0 0 1 96 0z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlinePushpin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M878.3 392.1L631.9 145.7c-6.5-6.5-15-9.7-23.5-9.7s-17 3.2-23.5 9.7L423.8 306.9c-12.2-1.4-24.5-2-36.8-2-73.2 0-146.4 24.1-206.5 72.3a33.23 33.23 0 0 0-2.7 49.4l181.7 181.7-215.4 215.2a15.8 15.8 0 0 0-4.6 9.8l-3.4 37.2c-.9 9.4 6.6 17.4 15.9 17.4.5 0 1 0 1.5-.1l37.2-3.4c3.7-.3 7.2-2 9.8-4.6l215.4-215.4 181.7 181.7c6.5 6.5 15 9.7 23.5 9.7 9.7 0 19.3-4.2 25.9-12.4 56.3-70.3 79.7-158.3 70.2-243.4l161.1-161.1c12.9-12.8 12.9-33.8 0-46.8zM666.2 549.3l-24.5 24.5 3.8 34.4a259.92 259.92 0 0 1-30.4 153.9L262 408.8c12.9-7.1 26.3-13.1 40.3-17.9 27.2-9.4 55.7-14.1 84.7-14.1 9.6 0 19.3.5 28.9 1.6l34.4 3.8 24.5-24.5L608.5 224 800 415.5 666.2 549.3z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlinePython (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M443 678.5c0 15.74 12.76 28.5 28.5 28.5s28.5-12.76 28.5-28.5-12.76-28.5-28.5-28.5-28.5 12.76-28.5 28.5M300 121.5c0 15.74 12.76 28.5 28.5 28.5s28.5-12.76 28.5-28.5S344.24 93 328.5 93 300 105.76 300 121.5\",\"transform\":\"translate(112 112)\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M709.524 185.714h-95.238V90.476C614.286 40.571 573.714 0 523.81 0H276.19c-49.904 0-90.476 40.571-90.476 90.476v95.238H90.476C40.571 185.714 0 226.286 0 276.19v247.62c0 49.904 40.571 90.476 90.476 90.476h95.238v95.238c0 49.905 40.572 90.476 90.476 90.476h247.62c49.904 0 90.476-40.571 90.476-90.476v-95.238h95.238c49.905 0 90.476-40.572 90.476-90.476V276.19c0-49.904-40.571-90.476-90.476-90.476M90.476 557.143c-18.38 0-33.333-14.953-33.333-33.333V276.19c0-18.38 14.952-33.333 33.333-33.333h278.572c15.81 0 28.571-12.762 28.571-28.571 0-15.81-12.762-28.572-28.571-28.572h-126.19V90.476c0-18.38 14.952-33.333 33.332-33.333h247.62c18.38 0 33.333 14.952 33.333 33.333v256.476c0 13.524-10.953 24.477-24.476 24.477H267.333c-45.047 0-81.619 36.666-81.619 81.619v104.095zm652.381-33.333c0 18.38-14.952 33.333-33.333 33.333H430.952c-15.81 0-28.571 12.762-28.571 28.571 0 15.81 12.762 28.572 28.571 28.572h126.19v95.238c0 18.38-14.952 33.333-33.332 33.333H276.19c-18.38 0-33.333-14.952-33.333-33.333V453.048c0-13.524 10.953-24.477 24.476-24.477h265.334c45.047 0 81.619-36.666 81.619-81.619V242.857h95.238c18.38 0 33.333 14.953 33.333 33.333z\",\"transform\":\"translate(112 112)\"},\"child\":[]}]}]})(props);\n};\nexport function AiOutlineQq (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M824.8 613.2c-16-51.4-34.4-94.6-62.7-165.3C766.5 262.2 689.3 112 511.5 112 331.7 112 256.2 265.2 261 447.9c-28.4 70.8-46.7 113.7-62.7 165.3-34 109.5-23 154.8-14.6 155.8 18 2.2 70.1-82.4 70.1-82.4 0 49 25.2 112.9 79.8 159-26.4 8.1-85.7 29.9-71.6 53.8 11.4 19.3 196.2 12.3 249.5 6.3 53.3 6 238.1 13 249.5-6.3 14.1-23.8-45.3-45.7-71.6-53.8 54.6-46.2 79.8-110.1 79.8-159 0 0 52.1 84.6 70.1 82.4 8.5-1.1 19.5-46.4-14.5-155.8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineQrcode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M468 128H160c-17.7 0-32 14.3-32 32v308c0 4.4 3.6 8 8 8h332c4.4 0 8-3.6 8-8V136c0-4.4-3.6-8-8-8zm-56 284H192V192h220v220zm-138-74h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm194 210H136c-4.4 0-8 3.6-8 8v308c0 17.7 14.3 32 32 32h308c4.4 0 8-3.6 8-8V556c0-4.4-3.6-8-8-8zm-56 284H192V612h220v220zm-138-74h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm590-630H556c-4.4 0-8 3.6-8 8v332c0 4.4 3.6 8 8 8h332c4.4 0 8-3.6 8-8V160c0-17.7-14.3-32-32-32zm-32 284H612V192h220v220zm-138-74h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm194 210h-48c-4.4 0-8 3.6-8 8v134h-78V556c0-4.4-3.6-8-8-8H556c-4.4 0-8 3.6-8 8v332c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V644h78v102c0 4.4 3.6 8 8 8h190c4.4 0 8-3.6 8-8V556c0-4.4-3.6-8-8-8zM746 832h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm142 0h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineQuestionCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M623.6 316.7C593.6 290.4 554 276 512 276s-81.6 14.5-111.6 40.7C369.2 344 352 380.7 352 420v7.6c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V420c0-44.1 43.1-80 96-80s96 35.9 96 80c0 31.1-22 59.6-56.1 72.7-21.2 8.1-39.2 22.3-52.1 40.9-13.1 19-19.9 41.8-19.9 64.9V620c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-22.7a48.3 48.3 0 0 1 30.9-44.8c59-22.7 97.1-74.7 97.1-132.5.1-39.3-17.1-76-48.3-103.3zM472 732a40 40 0 1 0 80 0 40 40 0 1 0-80 0z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineQuestion (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M764 280.9c-14-30.6-33.9-58.1-59.3-81.6C653.1 151.4 584.6 125 512 125s-141.1 26.4-192.7 74.2c-25.4 23.6-45.3 51-59.3 81.7-14.6 32-22 65.9-22 100.9v27c0 6.2 5 11.2 11.2 11.2h54c6.2 0 11.2-5 11.2-11.2v-27c0-99.5 88.6-180.4 197.6-180.4s197.6 80.9 197.6 180.4c0 40.8-14.5 79.2-42 111.2-27.2 31.7-65.6 54.4-108.1 64-24.3 5.5-46.2 19.2-61.7 38.8a110.85 110.85 0 0 0-23.9 68.6v31.4c0 6.2 5 11.2 11.2 11.2h54c6.2 0 11.2-5 11.2-11.2v-31.4c0-15.7 10.9-29.5 26-32.9 58.4-13.2 111.4-44.7 149.3-88.7 19.1-22.3 34-47.1 44.3-74 10.7-27.9 16.1-57.2 16.1-87 0-35-7.4-69-22-100.9zM512 787c-30.9 0-56 25.1-56 56s25.1 56 56 56 56-25.1 56-56-25.1-56-56-56z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineRadarChart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M926.8 397.1l-396-288a31.81 31.81 0 0 0-37.6 0l-396 288a31.99 31.99 0 0 0-11.6 35.8l151.3 466a32 32 0 0 0 30.4 22.1h489.5c13.9 0 26.1-8.9 30.4-22.1l151.3-466c4.2-13.2-.5-27.6-11.7-35.8zM838.6 417l-98.5 32-200-144.7V199.9L838.6 417zM466 567.2l-89.1 122.3-55.2-169.2L466 567.2zm-116.3-96.8L484 373.3v140.8l-134.3-43.7zM512 599.2l93.9 128.9H418.1L512 599.2zm28.1-225.9l134.2 97.1L540.1 514V373.3zM558 567.2l144.3-46.9-55.2 169.2L558 567.2zm-74-367.3v104.4L283.9 449l-98.5-32L484 199.9zM169.3 470.8l86.5 28.1 80.4 246.4-53.8 73.9-113.1-348.4zM327.1 853l50.3-69h269.3l50.3 69H327.1zm414.5-33.8l-53.8-73.9 80.4-246.4 86.5-28.1-113.1 348.4z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineRadiusBottomleft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M712 824h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm2-696h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM136 374h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm0-174h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm752 624h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-348 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-230 72h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm230 624H358c-87.3 0-158-70.7-158-158V484c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v182c0 127 103 230 230 230h182c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineRadiusBottomright (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M368 824h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-58-624h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm578 102h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM192 824h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm292 72h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm174 0h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm230 276h-56c-4.4 0-8 3.6-8 8v182c0 87.3-70.7 158-158 158H484c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h182c127 0 230-103 230-230V484c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineRadiusSetting (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M396 140h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-44 684h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm524-204h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM192 344h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 160h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 160h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 160h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm320 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm160 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm140-284c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V370c0-127-103-230-230-230H484c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h170c87.3 0 158 70.7 158 158v170zM236 96H92c-4.4 0-8 3.6-8 8v144c0 4.4 3.6 8 8 8h144c4.4 0 8-3.6 8-8V104c0-4.4-3.6-8-8-8zm-48 101.6c0 1.3-1.1 2.4-2.4 2.4h-43.2c-1.3 0-2.4-1.1-2.4-2.4v-43.2c0-1.3 1.1-2.4 2.4-2.4h43.2c1.3 0 2.4 1.1 2.4 2.4v43.2zM920 780H776c-4.4 0-8 3.6-8 8v144c0 4.4 3.6 8 8 8h144c4.4 0 8-3.6 8-8V788c0-4.4-3.6-8-8-8zm-48 101.6c0 1.3-1.1 2.4-2.4 2.4h-43.2c-1.3 0-2.4-1.1-2.4-2.4v-43.2c0-1.3 1.1-2.4 2.4-2.4h43.2c1.3 0 2.4 1.1 2.4 2.4v43.2z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineRadiusUpleft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M656 200h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm58 624h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM192 650h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm696-696h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-348 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-174 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm174-696H358c-127 0-230 103-230 230v182c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V358c0-87.3 70.7-158 158-158h182c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineRadiusUpright (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M368 128h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-2 696h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm522-174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM192 128h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 174h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm348 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm174 0h-56c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm-48-696H484c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h182c87.3 0 158 70.7 158 158v182c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V358c0-127-103-230-230-230z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineRead (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M928 161H699.2c-49.1 0-97.1 14.1-138.4 40.7L512 233l-48.8-31.3A255.2 255.2 0 0 0 324.8 161H96c-17.7 0-32 14.3-32 32v568c0 17.7 14.3 32 32 32h228.8c49.1 0 97.1 14.1 138.4 40.7l44.4 28.6c1.3.8 2.8 1.3 4.3 1.3s3-.4 4.3-1.3l44.4-28.6C602 807.1 650.1 793 699.2 793H928c17.7 0 32-14.3 32-32V193c0-17.7-14.3-32-32-32zM324.8 721H136V233h188.8c35.4 0 69.8 10.1 99.5 29.2l48.8 31.3 6.9 4.5v462c-47.6-25.6-100.8-39-155.2-39zm563.2 0H699.2c-54.4 0-107.6 13.4-155.2 39V298l6.9-4.5 48.8-31.3c29.7-19.1 64.1-29.2 99.5-29.2H888v488zM396.9 361H211.1c-3.9 0-7.1 3.4-7.1 7.5v45c0 4.1 3.2 7.5 7.1 7.5h185.7c3.9 0 7.1-3.4 7.1-7.5v-45c.1-4.1-3.1-7.5-7-7.5zm223.1 7.5v45c0 4.1 3.2 7.5 7.1 7.5h185.7c3.9 0 7.1-3.4 7.1-7.5v-45c0-4.1-3.2-7.5-7.1-7.5H627.1c-3.9 0-7.1 3.4-7.1 7.5zM396.9 501H211.1c-3.9 0-7.1 3.4-7.1 7.5v45c0 4.1 3.2 7.5 7.1 7.5h185.7c3.9 0 7.1-3.4 7.1-7.5v-45c.1-4.1-3.1-7.5-7-7.5zm416 0H627.1c-3.9 0-7.1 3.4-7.1 7.5v45c0 4.1 3.2 7.5 7.1 7.5h185.7c3.9 0 7.1-3.4 7.1-7.5v-45c.1-4.1-3.1-7.5-7-7.5z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineReconciliation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M676 565c-50.8 0-92 41.2-92 92s41.2 92 92 92 92-41.2 92-92-41.2-92-92-92zm0 126c-18.8 0-34-15.2-34-34s15.2-34 34-34 34 15.2 34 34-15.2 34-34 34zm204-523H668c0-30.9-25.1-56-56-56h-80c-30.9 0-56 25.1-56 56H264c-17.7 0-32 14.3-32 32v200h-88c-17.7 0-32 14.3-32 32v448c0 17.7 14.3 32 32 32h336c17.7 0 32-14.3 32-32v-16h368c17.7 0 32-14.3 32-32V200c0-17.7-14.3-32-32-32zm-412 64h72v-56h64v56h72v48H468v-48zm-20 616H176V616h272v232zm0-296H176v-88h272v88zm392 240H512V432c0-17.7-14.3-32-32-32H304V240h100v104h336V240h100v552zM704 408v96c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-96c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8zM592 512h48c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineRedEnvelope (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M440.6 462.6a8.38 8.38 0 0 0-7.5-4.6h-48.8c-1.3 0-2.6.4-3.9 1a8.4 8.4 0 0 0-3.4 11.4l87.4 161.1H419c-4.6 0-8.4 3.8-8.4 8.4V665c0 4.6 3.8 8.4 8.4 8.4h63V702h-63c-4.6 0-8.4 3.8-8.4 8.4v25.1c0 4.6 3.8 8.4 8.4 8.4h63v49.9c0 4.6 3.8 8.4 8.4 8.4h43.7c4.6 0 8.4-3.8 8.4-8.4v-49.9h63.3c4.7 0 8.4-3.8 8.2-8.5v-25c0-4.6-3.8-8.4-8.4-8.4h-63.3v-28.6h63.3c4.6 0 8.4-3.8 8.4-8.4v-25.1c0-4.6-3.8-8.4-8.4-8.4h-45.9l87.2-161a8.45 8.45 0 0 0-7.4-12.4h-47.8c-3.1 0-6 1.8-7.5 4.6l-71.9 141.9-71.7-142zM832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-40 824H232V193.1l260.3 204.1c11.6 9.1 27.9 9.1 39.5 0L792 193.1V888zm0-751.3h-31.7L512 331.3 263.7 136.7H232v-.7h560v.7z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineReddit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 568a56 56 0 1 0 112 0 56 56 0 1 0-112 0zm338.7 119.7c-23.1 18.2-68.9 37.8-114.7 37.8s-91.6-19.6-114.7-37.8c-14.4-11.3-35.3-8.9-46.7 5.5s-8.9 35.3 5.5 46.7C396.3 771.6 457.5 792 512 792s115.7-20.4 155.9-52.1a33.25 33.25 0 1 0-41.2-52.2zM960 456c0-61.9-50.1-112-112-112-42.1 0-78.7 23.2-97.9 57.6-57.6-31.5-127.7-51.8-204.1-56.5L612.9 195l127.9 36.9c11.5 32.6 42.6 56.1 79.2 56.1 46.4 0 84-37.6 84-84s-37.6-84-84-84c-32 0-59.8 17.9-74 44.2L603.5 123a33.2 33.2 0 0 0-39.6 18.4l-90.8 203.9c-74.5 5.2-142.9 25.4-199.2 56.2A111.94 111.94 0 0 0 176 344c-61.9 0-112 50.1-112 112 0 45.8 27.5 85.1 66.8 102.5-7.1 21-10.8 43-10.8 65.5 0 154.6 175.5 280 392 280s392-125.4 392-280c0-22.6-3.8-44.5-10.8-65.5C932.5 541.1 960 501.8 960 456zM820 172.5a31.5 31.5 0 1 1 0 63 31.5 31.5 0 0 1 0-63zM120 456c0-30.9 25.1-56 56-56a56 56 0 0 1 50.6 32.1c-29.3 22.2-53.5 47.8-71.5 75.9a56.23 56.23 0 0 1-35.1-52zm392 381.5c-179.8 0-325.5-95.6-325.5-213.5S332.2 410.5 512 410.5 837.5 506.1 837.5 624 691.8 837.5 512 837.5zM868.8 508c-17.9-28.1-42.2-53.7-71.5-75.9 9-18.9 28.3-32.1 50.6-32.1 30.9 0 56 25.1 56 56 .1 23.5-14.5 43.7-35.1 52zM624 568a56 56 0 1 0 112 0 56 56 0 1 0-112 0z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineRedo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M758.2 839.1C851.8 765.9 912 651.9 912 523.9 912 303 733.5 124.3 512.6 124 291.4 123.7 112 302.8 112 523.9c0 125.2 57.5 236.9 147.6 310.2 3.5 2.8 8.6 2.2 11.4-1.3l39.4-50.5c2.7-3.4 2.1-8.3-1.2-11.1-8.1-6.6-15.9-13.7-23.4-21.2a318.64 318.64 0 0 1-68.6-101.7C200.4 609 192 567.1 192 523.9s8.4-85.1 25.1-124.5c16.1-38.1 39.2-72.3 68.6-101.7 29.4-29.4 63.6-52.5 101.7-68.6C426.9 212.4 468.8 204 512 204s85.1 8.4 124.5 25.1c38.1 16.1 72.3 39.2 101.7 68.6 29.4 29.4 52.5 63.6 68.6 101.7 16.7 39.4 25.1 81.3 25.1 124.5s-8.4 85.1-25.1 124.5a318.64 318.64 0 0 1-68.6 101.7c-9.3 9.3-19.1 18-29.3 26L668.2 724a8 8 0 0 0-14.1 3l-39.6 162.2c-1.2 5 2.6 9.9 7.7 9.9l167 .8c6.7 0 10.5-7.7 6.3-12.9l-37.3-47.9z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineReload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M909.1 209.3l-56.4 44.1C775.8 155.1 656.2 92 521.9 92 290 92 102.3 279.5 102 511.5 101.7 743.7 289.8 932 521.9 932c181.3 0 335.8-115 394.6-276.1 1.5-4.2-.7-8.9-4.9-10.3l-56.7-19.5a8 8 0 0 0-10.1 4.8c-1.8 5-3.8 10-5.9 14.9-17.3 41-42.1 77.8-73.7 109.4A344.77 344.77 0 0 1 655.9 829c-42.3 17.9-87.4 27-133.8 27-46.5 0-91.5-9.1-133.8-27A341.5 341.5 0 0 1 279 755.2a342.16 342.16 0 0 1-73.7-109.4c-17.9-42.4-27-87.4-27-133.9s9.1-91.5 27-133.9c17.3-41 42.1-77.8 73.7-109.4 31.6-31.6 68.4-56.4 109.3-73.8 42.3-17.9 87.4-27 133.8-27 46.5 0 91.5 9.1 133.8 27a341.5 341.5 0 0 1 109.3 73.8c9.9 9.9 19.2 20.4 27.8 31.4l-60.2 47a8 8 0 0 0 3 14.1l175.6 43c5 1.2 9.9-2.6 9.9-7.7l.8-180.9c-.1-6.6-7.8-10.3-13-6.2z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineRest (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M508 704c79.5 0 144-64.5 144-144s-64.5-144-144-144-144 64.5-144 144 64.5 144 144 144zm0-224c44.2 0 80 35.8 80 80s-35.8 80-80 80-80-35.8-80-80 35.8-80 80-80z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M832 256h-28.1l-35.7-120.9c-4-13.7-16.5-23.1-30.7-23.1h-451c-14.3 0-26.8 9.4-30.7 23.1L220.1 256H192c-17.7 0-32 14.3-32 32v28c0 4.4 3.6 8 8 8h45.8l47.7 558.7a32 32 0 0 0 31.9 29.3h429.2a32 32 0 0 0 31.9-29.3L802.2 324H856c4.4 0 8-3.6 8-8v-28c0-17.7-14.3-32-32-32zm-518.6-76h397.2l22.4 76H291l22.4-76zm376.2 664H326.4L282 324h451.9l-44.3 520z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineRetweet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M136 552h63.6c4.4 0 8-3.6 8-8V288.7h528.6v72.6c0 1.9.6 3.7 1.8 5.2a8.3 8.3 0 0 0 11.7 1.4L893 255.4c4.3-5 3.6-10.3 0-13.2L749.7 129.8a8.22 8.22 0 0 0-5.2-1.8c-4.6 0-8.4 3.8-8.4 8.4V209H199.7c-39.5 0-71.7 32.2-71.7 71.8V544c0 4.4 3.6 8 8 8zm752-80h-63.6c-4.4 0-8 3.6-8 8v255.3H287.8v-72.6c0-1.9-.6-3.7-1.8-5.2a8.3 8.3 0 0 0-11.7-1.4L131 768.6c-4.3 5-3.6 10.3 0 13.2l143.3 112.4c1.5 1.2 3.3 1.8 5.2 1.8 4.6 0 8.4-3.8 8.4-8.4V815h536.6c39.5 0 71.7-32.2 71.7-71.8V480c-.2-4.4-3.8-8-8.2-8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineRightCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M666.7 505.5l-246-178A8 8 0 0 0 408 334v46.9c0 10.2 4.9 19.9 13.2 25.9L566.6 512 421.2 617.2c-8.3 6-13.2 15.6-13.2 25.9V690c0 6.5 7.4 10.3 12.7 6.5l246-178c4.4-3.2 4.4-9.8 0-13z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineRightSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M412.7 696.5l246-178c4.4-3.2 4.4-9.7 0-12.9l-246-178c-5.3-3.8-12.7 0-12.7 6.5V381c0 10.2 4.9 19.9 13.2 25.9L558.6 512 413.2 617.2c-8.3 6-13.2 15.6-13.2 25.9V690c0 6.5 7.4 10.3 12.7 6.5z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M765.7 486.8L314.9 134.7A7.97 7.97 0 0 0 302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 0 0 0-50.4z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineRise (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M917 211.1l-199.2 24c-6.6.8-9.4 8.9-4.7 13.6l59.3 59.3-226 226-101.8-101.7c-6.3-6.3-16.4-6.2-22.6 0L100.3 754.1a8.03 8.03 0 0 0 0 11.3l45 45.2c3.1 3.1 8.2 3.1 11.3 0L433.3 534 535 635.7c6.3 6.2 16.4 6.2 22.6 0L829 364.5l59.3 59.3a8.01 8.01 0 0 0 13.6-4.7l24-199.2c.7-5.1-3.7-9.5-8.9-8.8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineRobot (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M300 328a60 60 0 1 0 120 0 60 60 0 1 0-120 0zM852 64H172c-17.7 0-32 14.3-32 32v660c0 17.7 14.3 32 32 32h680c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-32 660H204V128h616v596zM604 328a60 60 0 1 0 120 0 60 60 0 1 0-120 0zm250.2 556H169.8c-16.5 0-29.8 14.3-29.8 32v36c0 4.4 3.3 8 7.4 8h729.1c4.1 0 7.4-3.6 7.4-8v-36c.1-17.7-13.2-32-29.7-32zM664 508H360c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h304c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineRocket (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M864 736c0-111.6-65.4-208-160-252.9V317.3c0-15.1-5.3-29.7-15.1-41.2L536.5 95.4C530.1 87.8 521 84 512 84s-18.1 3.8-24.5 11.4L335.1 276.1a63.97 63.97 0 0 0-15.1 41.2v165.8C225.4 528 160 624.4 160 736h156.5c-2.3 7.2-3.5 15-3.5 23.8 0 22.1 7.6 43.7 21.4 60.8a97.2 97.2 0 0 0 43.1 30.6c23.1 54 75.6 88.8 134.5 88.8 29.1 0 57.3-8.6 81.4-24.8 23.6-15.8 41.9-37.9 53-64a97 97 0 0 0 43.1-30.5 97.52 97.52 0 0 0 21.4-60.8c0-8.4-1.1-16.4-3.1-23.8H864zM762.3 621.4c9.4 14.6 17 30.3 22.5 46.6H700V558.7a211.6 211.6 0 0 1 62.3 62.7zM388 483.1V318.8l124-147 124 147V668H388V483.1zM239.2 668c5.5-16.3 13.1-32 22.5-46.6 16.3-25.2 37.5-46.5 62.3-62.7V668h-84.8zm388.9 116.2c-5.2 3-11.2 4.2-17.1 3.4l-19.5-2.4-2.8 19.4c-5.4 37.9-38.4 66.5-76.7 66.5-38.3 0-71.3-28.6-76.7-66.5l-2.8-19.5-19.5 2.5a27.7 27.7 0 0 1-17.1-3.5c-8.7-5-14.1-14.3-14.1-24.4 0-10.6 5.9-19.4 14.6-23.8h231.3c8.8 4.5 14.6 13.3 14.6 23.8-.1 10.2-5.5 19.6-14.2 24.5zM464 400a48 48 0 1 0 96 0 48 48 0 1 0-96 0z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineRollback (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M793 242H366v-74c0-6.7-7.7-10.4-12.9-6.3l-142 112a8 8 0 0 0 0 12.6l142 112c5.2 4.1 12.9.4 12.9-6.3v-74h415v470H175c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h618c35.3 0 64-28.7 64-64V306c0-35.3-28.7-64-64-64z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineRotateLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"t\":\"1569683455503\",\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M672 418H144c-17.7 0-32 14.3-32 32v414c0 17.7 14.3 32 32 32h528c17.7 0 32-14.3 32-32V450c0-17.7-14.3-32-32-32z m-44 402H188V494h440v326z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M819.3 328.5c-78.8-100.7-196-153.6-314.6-154.2l-0.2-64c0-6.5-7.6-10.1-12.6-6.1l-128 101c-4 3.1-3.9 9.1 0 12.3L492 318.6c5.1 4 12.7 0.4 12.6-6.1v-63.9c12.9 0.1 25.9 0.9 38.8 2.5 42.1 5.2 82.1 18.2 119 38.7 38.1 21.2 71.2 49.7 98.4 84.3 27.1 34.7 46.7 73.7 58.1 115.8 11 40.7 14 82.7 8.9 124.8-0.7 5.4-1.4 10.8-2.4 16.1h74.9c14.8-103.6-11.3-213-81-302.3z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineRotateRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"t\":\"1569683458761\",\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M480.5 251.2c13-1.6 25.9-2.4 38.8-2.5v63.9c0 6.5 7.5 10.1 12.6 6.1L660 217.6c4-3.2 4-9.2 0-12.3l-128-101c-5.1-4-12.6-0.4-12.6 6.1l-0.2 64c-118.6 0.5-235.8 53.4-314.6 154.2-69.6 89.2-95.7 198.6-81.1 302.4h74.9c-0.9-5.3-1.7-10.7-2.4-16.1-5.1-42.1-2.1-84.1 8.9-124.8 11.4-42.2 31-81.1 58.1-115.8 27.2-34.7 60.3-63.2 98.4-84.3 37-20.6 76.9-33.6 119.1-38.8z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M880 418H352c-17.7 0-32 14.3-32 32v414c0 17.7 14.3 32 32 32h528c17.7 0 32-14.3 32-32V450c0-17.7-14.3-32-32-32z m-44 402H396V494h440v326z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineRuby (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M397.815.02c-.735.049-1.469.12-2.2.213h-4.328l-3.406 1.703a36.334 36.334 0 0 0-8.87 4.4l-145.96 73.013L79.356 233.041 6.696 378.288a36.333 36.333 0 0 0-4.897 9.863l-1.561 3.122v3.974a36.332 36.332 0 0 0 0 8.302v298.229l6.883 9.508c5.975 8.28 12.713 16.544 20.578 24.41 37.856 37.854 87.664 57.169 142.625 62.015a36.335 36.335 0 0 0 11.566 1.774h575.753c3.14.534 6.337.654 9.508.355a36.335 36.335 0 0 0 2.554-.355h29.803V769.54a36.332 36.332 0 0 0 0-11.92V181.88a36.332 36.332 0 0 0-1.774-11.566c-4.848-54.956-24.165-104.757-62.017-142.622h-.071v-.07c-7.85-7.807-16.071-14.49-24.268-20.436l-9.58-6.954H403.138a36.335 36.335 0 0 0-5.322-.213m133.188 72.872h145.96c2.467 2.081 5.248 4.054 7.451 6.245 26.585 26.63 40.964 64.743 42.291 111.188zm-132.691 5.11 65.707 39.38-25.474 156.104-64.359 64.357-100.69 100.687-156.107 25.473-39.381-65.705 61.095-122.258L276.05 139.095zm132.762 79.612 123.183 73.937-138.084 17.242zm178.814 140.21c-21.21 68.248-62.66 142.573-122.402 211.875l-65.85-188.389zm-252.54 59.603 53.645 153.55-153.553-53.643 68.12-68.119zm269.499 81.032v236.994L626.44 575.05c40.102-43.738 73.727-89.827 100.406-136.59m-478.044 77.697-17.242 138.081-73.938-123.18zm72.52 5.464 188.322 65.847c-69.283 59.712-143.574 101.195-211.81 122.4zm-248.424 9.366 117.435 195.698c-46.5-1.327-84.636-15.736-111.262-42.361-2.161-2.162-4.113-4.939-6.173-7.38zm502.169 95.436 100.405 100.404h-237c46.768-26.68 92.86-60.308 136.595-100.404\",\"transform\":\"translate(112 112)\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineSafetyCertificate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM810 654.3L512 886.5 214 654.3V226.7l298-101.6 298 101.6v427.6zm-405.8-201c-3-4.1-7.8-6.6-13-6.6H336c-6.5 0-10.3 7.4-6.5 12.7l126.4 174a16.1 16.1 0 0 0 26 0l212.6-292.7c3.8-5.3 0-12.7-6.5-12.7h-55.2c-5.1 0-10 2.5-13 6.6L468.9 542.4l-64.7-89.1z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineSafety (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64L128 192v384c0 212.1 171.9 384 384 384s384-171.9 384-384V192L512 64zm312 512c0 172.3-139.7 312-312 312S200 748.3 200 576V246l312-110 312 110v330z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M378.4 475.1a35.91 35.91 0 0 0-50.9 0 35.91 35.91 0 0 0 0 50.9l129.4 129.4 2.1 2.1a33.98 33.98 0 0 0 48.1 0L730.6 434a33.98 33.98 0 0 0 0-48.1l-2.8-2.8a33.98 33.98 0 0 0-48.1 0L483 579.7 378.4 475.1z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineSave (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M893.3 293.3L730.7 130.7c-7.5-7.5-16.7-13-26.7-16V112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V338.5c0-17-6.7-33.2-18.7-45.2zM384 184h256v104H384V184zm456 656H184V184h136v136c0 17.7 14.3 32 32 32h320c17.7 0 32-14.3 32-32V205.8l136 136V840zM512 442c-79.5 0-144 64.5-144 144s64.5 144 144 144 144-64.5 144-144-64.5-144-144-144zm0 224c-44.2 0-80-35.8-80-80s35.8-80 80-80 80 35.8 80 80-35.8 80-80 80z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineScan (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M136 384h56c4.4 0 8-3.6 8-8V200h176c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H196c-37.6 0-68 30.4-68 68v180c0 4.4 3.6 8 8 8zm512-184h176v176c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V196c0-37.6-30.4-68-68-68H648c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zM376 824H200V648c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v180c0 37.6 30.4 68 68 68h180c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm512-184h-56c-4.4 0-8 3.6-8 8v176H648c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h180c37.6 0 68-30.4 68-68V648c0-4.4-3.6-8-8-8zm16-164H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineSchedule (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M928 224H768v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H548v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H328v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H96c-17.7 0-32 14.3-32 32v576c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32zm-40 568H136V296h120v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h148v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h148v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h120v496zM416 496H232c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm0 136H232c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm308.2-177.4L620.6 598.3l-52.8-73.1c-3-4.2-7.8-6.6-12.9-6.6H500c-6.5 0-10.3 7.4-6.5 12.7l114.1 158.2a15.9 15.9 0 0 0 25.8 0l165-228.7c3.8-5.3 0-12.7-6.5-12.7H737c-5-.1-9.8 2.4-12.8 6.5z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineScissor (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M567.1 512l318.5-319.3c5-5 1.5-13.7-5.6-13.7h-90.5c-2.1 0-4.2.8-5.6 2.3l-273.3 274-90.2-90.5c12.5-22.1 19.7-47.6 19.7-74.8 0-83.9-68.1-152-152-152s-152 68.1-152 152 68.1 152 152 152c27.7 0 53.6-7.4 75.9-20.3l90 90.3-90.1 90.3A151.04 151.04 0 0 0 288 582c-83.9 0-152 68.1-152 152s68.1 152 152 152 152-68.1 152-152c0-27.2-7.2-52.7-19.7-74.8l90.2-90.5 273.3 274c1.5 1.5 3.5 2.3 5.6 2.3H880c7.1 0 10.7-8.6 5.6-13.7L567.1 512zM288 370c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80zm0 444c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineSearch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M909.6 854.5L649.9 594.8C690.2 542.7 712 479 712 412c0-80.2-31.3-155.4-87.9-212.1-56.6-56.7-132-87.9-212.1-87.9s-155.5 31.3-212.1 87.9C143.2 256.5 112 331.8 112 412c0 80.1 31.3 155.5 87.9 212.1C256.5 680.8 331.8 712 412 712c67 0 130.6-21.8 182.7-62l259.7 259.6a8.2 8.2 0 0 0 11.6 0l43.6-43.5a8.2 8.2 0 0 0 0-11.6zM570.4 570.4C528 612.7 471.8 636 412 636s-116-23.3-158.4-65.6C211.3 528 188 471.8 188 412s23.3-116.1 65.6-158.4C296 211.3 352.2 188 412 188s116.1 23.2 158.4 65.6S636 352.2 636 412s-23.3 116.1-65.6 158.4z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineSecurityScan (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM810 654.3L512 886.5 214 654.3V226.7l298-101.6 298 101.6v427.6zM402.9 528.8l-77.5 77.5a8.03 8.03 0 0 0 0 11.3l34 34c3.1 3.1 8.2 3.1 11.3 0l77.5-77.5c55.7 35.1 130.1 28.4 178.6-20.1 56.3-56.3 56.3-147.5 0-203.8-56.3-56.3-147.5-56.3-203.8 0-48.5 48.5-55.2 123-20.1 178.6zm65.4-133.3c31.3-31.3 82-31.3 113.2 0 31.3 31.3 31.3 82 0 113.2-31.3 31.3-82 31.3-113.2 0s-31.3-81.9 0-113.2z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineSelect (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h360c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H184V184h656v320c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V144c0-17.7-14.3-32-32-32zM653.3 599.4l52.2-52.2a8.01 8.01 0 0 0-4.7-13.6l-179.4-21c-5.1-.6-9.5 3.7-8.9 8.9l21 179.4c.8 6.6 8.9 9.4 13.6 4.7l52.4-52.4 256.2 256.2c3.1 3.1 8.2 3.1 11.3 0l42.4-42.4c3.1-3.1 3.1-8.2 0-11.3L653.3 599.4z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineSend (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"t\":\"1569683742680\",\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M931.4 498.9L94.9 79.5c-3.4-1.7-7.3-2.1-11-1.2-8.5 2.1-13.8 10.7-11.7 19.3l86.2 352.2c1.3 5.3 5.2 9.6 10.4 11.3l147.7 50.7-147.6 50.7c-5.2 1.8-9.1 6-10.3 11.3L72.2 926.5c-0.9 3.7-0.5 7.6 1.2 10.9 3.9 7.9 13.5 11.1 21.5 7.2l836.5-417c3.1-1.5 5.6-4.1 7.2-7.1 3.9-8 0.7-17.6-7.2-21.6zM170.8 826.3l50.3-205.6 295.2-101.3c2.3-0.8 4.2-2.6 5-5 1.4-4.2-0.8-8.7-5-10.2L221.1 403 171 198.2l628 314.9-628.2 313.2z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineSetting (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M924.8 625.7l-65.5-56c3.1-19 4.7-38.4 4.7-57.8s-1.6-38.8-4.7-57.8l65.5-56a32.03 32.03 0 0 0 9.3-35.2l-.9-2.6a443.74 443.74 0 0 0-79.7-137.9l-1.8-2.1a32.12 32.12 0 0 0-35.1-9.5l-81.3 28.9c-30-24.6-63.5-44-99.7-57.6l-15.7-85a32.05 32.05 0 0 0-25.8-25.7l-2.7-.5c-52.1-9.4-106.9-9.4-159 0l-2.7.5a32.05 32.05 0 0 0-25.8 25.7l-15.8 85.4a351.86 351.86 0 0 0-99 57.4l-81.9-29.1a32 32 0 0 0-35.1 9.5l-1.8 2.1a446.02 446.02 0 0 0-79.7 137.9l-.9 2.6c-4.5 12.5-.8 26.5 9.3 35.2l66.3 56.6c-3.1 18.8-4.6 38-4.6 57.1 0 19.2 1.5 38.4 4.6 57.1L99 625.5a32.03 32.03 0 0 0-9.3 35.2l.9 2.6c18.1 50.4 44.9 96.9 79.7 137.9l1.8 2.1a32.12 32.12 0 0 0 35.1 9.5l81.9-29.1c29.8 24.5 63.1 43.9 99 57.4l15.8 85.4a32.05 32.05 0 0 0 25.8 25.7l2.7.5a449.4 449.4 0 0 0 159 0l2.7-.5a32.05 32.05 0 0 0 25.8-25.7l15.7-85a350 350 0 0 0 99.7-57.6l81.3 28.9a32 32 0 0 0 35.1-9.5l1.8-2.1c34.8-41.1 61.6-87.5 79.7-137.9l.9-2.6c4.5-12.3.8-26.3-9.3-35zM788.3 465.9c2.5 15.1 3.8 30.6 3.8 46.1s-1.3 31-3.8 46.1l-6.6 40.1 74.7 63.9a370.03 370.03 0 0 1-42.6 73.6L721 702.8l-31.4 25.8c-23.9 19.6-50.5 35-79.3 45.8l-38.1 14.3-17.9 97a377.5 377.5 0 0 1-85 0l-17.9-97.2-37.8-14.5c-28.5-10.8-55-26.2-78.7-45.7l-31.4-25.9-93.4 33.2c-17-22.9-31.2-47.6-42.6-73.6l75.5-64.5-6.5-40c-2.4-14.9-3.7-30.3-3.7-45.5 0-15.3 1.2-30.6 3.7-45.5l6.5-40-75.5-64.5c11.3-26.1 25.6-50.7 42.6-73.6l93.4 33.2 31.4-25.9c23.7-19.5 50.2-34.9 78.7-45.7l37.9-14.3 17.9-97.2c28.1-3.2 56.8-3.2 85 0l17.9 97 38.1 14.3c28.7 10.8 55.4 26.2 79.3 45.8l31.4 25.8 92.8-32.9c17 22.9 31.2 47.6 42.6 73.6L781.8 426l6.5 39.9zM512 326c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm79.2 255.2A111.6 111.6 0 0 1 512 614c-29.9 0-58-11.7-79.2-32.8A111.6 111.6 0 0 1 400 502c0-29.9 11.7-58 32.8-79.2C454 401.6 482.1 390 512 390c29.9 0 58 11.6 79.2 32.8A111.6 111.6 0 0 1 624 502c0 29.9-11.7 58-32.8 79.2z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineShake (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M324 666a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm616.7-309.6L667.6 83.2C655.2 70.9 638.7 64 621.1 64s-34.1 6.8-46.5 19.2L83.3 574.5a65.85 65.85 0 0 0 0 93.1l273.2 273.2c12.3 12.3 28.9 19.2 46.5 19.2s34.1-6.8 46.5-19.2l491.3-491.3c25.6-25.7 25.6-67.5-.1-93.1zM403 880.1L143.9 621l477.2-477.2 259 259.2L403 880.1zM152.8 373.7a7.9 7.9 0 0 0 11.2 0L373.7 164a7.9 7.9 0 0 0 0-11.2l-38.4-38.4a7.9 7.9 0 0 0-11.2 0L114.3 323.9a7.9 7.9 0 0 0 0 11.2l38.5 38.6zm718.6 276.6a7.9 7.9 0 0 0-11.2 0L650.3 860.1a7.9 7.9 0 0 0 0 11.2l38.4 38.4a7.9 7.9 0 0 0 11.2 0L909.7 700a7.9 7.9 0 0 0 0-11.2l-38.3-38.5z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineShareAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M752 664c-28.5 0-54.8 10-75.4 26.7L469.4 540.8a160.68 160.68 0 0 0 0-57.6l207.2-149.9C697.2 350 723.5 360 752 360c66.2 0 120-53.8 120-120s-53.8-120-120-120-120 53.8-120 120c0 11.6 1.6 22.7 4.7 33.3L439.9 415.8C410.7 377.1 364.3 352 312 352c-88.4 0-160 71.6-160 160s71.6 160 160 160c52.3 0 98.7-25.1 127.9-63.8l196.8 142.5c-3.1 10.6-4.7 21.8-4.7 33.3 0 66.2 53.8 120 120 120s120-53.8 120-120-53.8-120-120-120zm0-476c28.7 0 52 23.3 52 52s-23.3 52-52 52-52-23.3-52-52 23.3-52 52-52zM312 600c-48.5 0-88-39.5-88-88s39.5-88 88-88 88 39.5 88 88-39.5 88-88 88zm440 236c-28.7 0-52-23.3-52-52s23.3-52 52-52 52 23.3 52 52-23.3 52-52 52z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineShop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M882 272.1V144c0-17.7-14.3-32-32-32H174c-17.7 0-32 14.3-32 32v128.1c-16.7 1-30 14.9-30 31.9v131.7a177 177 0 0 0 14.4 70.4c4.3 10.2 9.6 19.8 15.6 28.9v345c0 17.6 14.3 32 32 32h676c17.7 0 32-14.3 32-32V535a175 175 0 0 0 15.6-28.9c9.5-22.3 14.4-46 14.4-70.4V304c0-17-13.3-30.9-30-31.9zM214 184h596v88H214v-88zm362 656.1H448V736h128v104.1zm234 0H640V704c0-17.7-14.3-32-32-32H416c-17.7 0-32 14.3-32 32v136.1H214V597.9c2.9 1.4 5.9 2.8 9 4 22.3 9.4 46 14.1 70.4 14.1s48-4.7 70.4-14.1c13.8-5.8 26.8-13.2 38.7-22.1.2-.1.4-.1.6 0a180.4 180.4 0 0 0 38.7 22.1c22.3 9.4 46 14.1 70.4 14.1 24.4 0 48-4.7 70.4-14.1 13.8-5.8 26.8-13.2 38.7-22.1.2-.1.4-.1.6 0a180.4 180.4 0 0 0 38.7 22.1c22.3 9.4 46 14.1 70.4 14.1 24.4 0 48-4.7 70.4-14.1 3-1.3 6-2.6 9-4v242.2zm30-404.4c0 59.8-49 108.3-109.3 108.3-40.8 0-76.4-22.1-95.2-54.9-2.9-5-8.1-8.1-13.9-8.1h-.6c-5.7 0-11 3.1-13.9 8.1A109.24 109.24 0 0 1 512 544c-40.7 0-76.2-22-95-54.7-3-5.1-8.4-8.3-14.3-8.3s-11.4 3.2-14.3 8.3a109.63 109.63 0 0 1-95.1 54.7C233 544 184 495.5 184 435.7v-91.2c0-.3.2-.5.5-.5h655c.3 0 .5.2.5.5v91.2z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineShoppingCart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M922.9 701.9H327.4l29.9-60.9 496.8-.9c16.8 0 31.2-12 34.2-28.6l68.8-385.1c1.8-10.1-.9-20.5-7.5-28.4a34.99 34.99 0 0 0-26.6-12.5l-632-2.1-5.4-25.4c-3.4-16.2-18-28-34.6-28H96.5a35.3 35.3 0 1 0 0 70.6h125.9L246 312.8l58.1 281.3-74.8 122.1a34.96 34.96 0 0 0-3 36.8c6 11.9 18.1 19.4 31.5 19.4h62.8a102.43 102.43 0 0 0-20.6 61.7c0 56.6 46 102.6 102.6 102.6s102.6-46 102.6-102.6c0-22.3-7.4-44-20.6-61.7h161.1a102.43 102.43 0 0 0-20.6 61.7c0 56.6 46 102.6 102.6 102.6s102.6-46 102.6-102.6c0-22.3-7.4-44-20.6-61.7H923c19.4 0 35.3-15.8 35.3-35.3a35.42 35.42 0 0 0-35.4-35.2zM305.7 253l575.8 1.9-56.4 315.8-452.3.8L305.7 253zm96.9 612.7c-17.4 0-31.6-14.2-31.6-31.6 0-17.4 14.2-31.6 31.6-31.6s31.6 14.2 31.6 31.6a31.6 31.6 0 0 1-31.6 31.6zm325.1 0c-17.4 0-31.6-14.2-31.6-31.6 0-17.4 14.2-31.6 31.6-31.6s31.6 14.2 31.6 31.6a31.6 31.6 0 0 1-31.6 31.6z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineShopping (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M832 312H696v-16c0-101.6-82.4-184-184-184s-184 82.4-184 184v16H192c-17.7 0-32 14.3-32 32v536c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V344c0-17.7-14.3-32-32-32zm-432-16c0-61.9 50.1-112 112-112s112 50.1 112 112v16H400v-16zm392 544H232V384h96v88c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-88h224v88c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-88h96v456z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineShrink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M881.7 187.4l-45.1-45.1a8.03 8.03 0 0 0-11.3 0L667.8 299.9l-54.7-54.7a7.94 7.94 0 0 0-13.5 4.7L576.1 439c-.6 5.2 3.7 9.5 8.9 8.9l189.2-23.5c6.6-.8 9.3-8.8 4.7-13.5l-54.7-54.7 157.6-157.6c3-3 3-8.1-.1-11.2zM439 576.1l-189.2 23.5c-6.6.8-9.3 8.9-4.7 13.5l54.7 54.7-157.5 157.5a8.03 8.03 0 0 0 0 11.3l45.1 45.1c3.1 3.1 8.2 3.1 11.3 0l157.6-157.6 54.7 54.7a7.94 7.94 0 0 0 13.5-4.7L447.9 585a7.9 7.9 0 0 0-8.9-8.9z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineSignature (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\"},\"child\":[{\"tag\":\"g\",\"attr\":{},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M33.713 640c1.994 0 3.988-.2 5.982-.498l168.19-29.508c1.994-.399 3.888-1.296 5.284-2.792l423.915-423.875a9.927 9.927 0 0 0 0-14.056L470.888 2.891C468.994.997 466.5 0 463.809 0s-5.184.997-7.078 2.891L32.816 426.766c-1.495 1.496-2.393 3.29-2.791 5.284L.514 600.224c-1.894 11.066 1.495 21.932 9.372 29.807 6.58 6.48 14.954 9.969 23.827 9.969m51.743-85.433 15.653-88.922 362.7-362.667 73.278 73.271-362.7 362.667zM486.826 455.928c27.691-14.812 57.293-20.852 85.545-15.519 32.365 6.11 59.72 26.534 78.96 59.406 29.974 51.211 21.642 102.332-18.484 144.254-17.577 18.364-41.07 35.013-69.996 50.297l-.293.152.848.26c13.153 3.956 27.085 6.1 41.54 6.21l1.174.005c61.068 0 100.981-22.104 125.285-67.876 9.325-17.56 31.119-24.237 48.679-14.913 17.56 9.325 24.237 31.119 14.912 48.68-37.285 70.218-102.092 106.109-188.876 106.109-47.687 0-91.94-15.03-128.188-41.368l-1.056-.774-1.36.473c-46.18 15.996-98.732 29.945-155.37 41.932l-2.239.472c-48.571 10.217-97.257 18.377-139.154 23.957-19.709 2.625-37.813-11.224-40.438-30.932-2.625-19.709 11.224-37.813 30.932-40.438 40.196-5.353 87.126-13.22 133.84-23.045 42.799-9.002 83.011-19.134 119.357-30.342l.234-.074-.436-.693c-16.464-26.452-25.857-55.432-26.142-83.24l-.007-1.303c0-49.907 39.555-104.315 90.733-131.69m72.188 55.231c-10.74-2.027-24.099.699-38.228 8.257-29.546 15.804-52.693 47.643-52.693 68.202 0 18.206 8.889 40.146 24.71 59.736l.238.293 1.223-.514c39.17-16.581 68.483-34.271 85.929-52.186l.64-.663c18.735-19.573 21.386-35.842 8.36-58.1-9.059-15.475-19.03-22.92-30.18-25.025\",\"transform\":\"translate(112 112)\"},\"child\":[]}]}]})(props);\n};\nexport function AiOutlineSisternode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"t\":\"1569683586275\",\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M672 432c-120.3 0-219.9 88.5-237.3 204H320c-15.5 0-28-12.5-28-28V244h291c14.2 35.2 48.7 60 89 60 53 0 96-43 96-96s-43-96-96-96c-40.3 0-74.8 24.8-89 60H112v72h108v364c0 55.2 44.8 100 100 100h114.7c17.4 115.5 117 204 237.3 204 132.5 0 240-107.5 240-240S804.5 432 672 432z m128 266c0 4.4-3.6 8-8 8h-86v86c0 4.4-3.6 8-8 8h-52c-4.4 0-8-3.6-8-8v-86h-86c-4.4 0-8-3.6-8-8v-52c0-4.4 3.6-8 8-8h86v-86c0-4.4 3.6-8 8-8h52c4.4 0 8 3.6 8 8v86h86c4.4 0 8 3.6 8 8v52z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineSketch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M925.6 405.1l-203-253.7a6.5 6.5 0 0 0-5-2.4H306.4c-1.9 0-3.8.9-5 2.4l-203 253.7a6.5 6.5 0 0 0 .2 8.3l408.6 459.5c1.2 1.4 3 2.1 4.8 2.1 1.8 0 3.5-.8 4.8-2.1l408.6-459.5a6.5 6.5 0 0 0 .2-8.3zM645.2 206.4l34.4 133.9-132.5-133.9h98.1zm8.2 178.5H370.6L512 242l141.4 142.9zM378.8 206.4h98.1L344.3 340.3l34.5-133.9zm-53.4 7l-44.1 171.5h-93.1l137.2-171.5zM194.6 434.9H289l125.8 247.7-220.2-247.7zM512 763.4L345.1 434.9h333.7L512 763.4zm97.1-80.8L735 434.9h94.4L609.1 682.6zm133.6-297.7l-44.1-171.5 137.2 171.5h-93.1z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineSkin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M870 126H663.8c-17.4 0-32.9 11.9-37 29.3C614.3 208.1 567 246 512 246s-102.3-37.9-114.8-90.7a37.93 37.93 0 0 0-37-29.3H154a44 44 0 0 0-44 44v252a44 44 0 0 0 44 44h75v388a44 44 0 0 0 44 44h478a44 44 0 0 0 44-44V466h75a44 44 0 0 0 44-44V170a44 44 0 0 0-44-44zm-28 268H723v432H301V394H182V198h153.3c28.2 71.2 97.5 120 176.7 120s148.5-48.8 176.7-120H842v196z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineSkype (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M883.7 578.6c4.1-22.5 6.3-45.5 6.3-68.5 0-51-10-100.5-29.7-147-19-45-46.3-85.4-81-120.1a375.79 375.79 0 0 0-120.1-80.9c-46.6-19.7-96-29.7-147-29.7-24 0-48.1 2.3-71.5 6.8A225.1 225.1 0 0 0 335.6 113c-59.7 0-115.9 23.3-158.1 65.5A222.25 222.25 0 0 0 112 336.6c0 38 9.8 75.4 28.1 108.4-3.7 21.4-5.7 43.3-5.7 65.1 0 51 10 100.5 29.7 147 19 45 46.2 85.4 80.9 120.1 34.7 34.7 75.1 61.9 120.1 80.9 46.6 19.7 96 29.7 147 29.7 22.2 0 44.4-2 66.2-5.9 33.5 18.9 71.3 29 110 29 59.7 0 115.9-23.2 158.1-65.5 42.3-42.2 65.5-98.4 65.5-158.1.1-38-9.7-75.5-28.2-108.7zm-88.1 216C766.9 823.4 729 839 688.4 839c-26.1 0-51.8-6.8-74.6-19.7l-22.5-12.7-25.5 4.5c-17.8 3.2-35.8 4.8-53.6 4.8-41.4 0-81.3-8.1-119.1-24.1-36.3-15.3-69-37.3-97.2-65.5a304.29 304.29 0 0 1-65.5-97.1c-16-37.7-24-77.6-24-119 0-17.4 1.6-35.2 4.6-52.8l4.4-25.1L203 410a151.02 151.02 0 0 1-19.1-73.4c0-40.6 15.7-78.5 44.4-107.2C257.1 200.7 295 185 335.6 185a153 153 0 0 1 71.4 17.9l22.4 11.8 24.8-4.8c18.9-3.6 38.4-5.5 58-5.5 41.4 0 81.3 8.1 119 24 36.5 15.4 69.1 37.4 97.2 65.5 28.2 28.1 50.2 60.8 65.6 97.2 16 37.7 24 77.6 24 119 0 18.4-1.7 37-5.1 55.5l-4.7 25.5 12.6 22.6c12.6 22.5 19.2 48 19.2 73.7 0 40.7-15.7 78.5-44.4 107.2zM583.4 466.2L495 446.6c-33.6-7.7-72.3-17.8-72.3-49.5s27.1-53.9 76.1-53.9c98.7 0 89.7 67.8 138.7 67.8 25.8 0 48.4-15.2 48.4-41.2 0-60.8-97.4-106.5-180-106.5-89.7 0-185.2 38.1-185.2 139.5 0 48.8 17.4 100.8 113.6 124.9l119.4 29.8c36.1 8.9 45.2 29.2 45.2 47.6 0 30.5-30.3 60.3-85.2 60.3-107.2 0-92.3-82.5-149.7-82.5-25.8 0-44.5 17.8-44.5 43.1 0 49.4 60 115.4 194.2 115.4 127.7 0 191-61.5 191-144 0-53.1-24.5-109.6-121.3-131.2z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineSlackSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM529 311.4c0-27.8 22.5-50.4 50.3-50.4 27.8 0 50.3 22.6 50.3 50.4v134.4c0 27.8-22.5 50.4-50.3 50.4-27.8 0-50.3-22.6-50.3-50.4V311.4zM361.5 580.2c0 27.8-22.5 50.4-50.3 50.4-13.3 0-26.1-5.3-35.6-14.8-9.4-9.5-14.7-22.3-14.7-35.6 0-27.8 22.5-50.4 50.3-50.4h50.3v50.4zm134 134.4c0 27.8-22.5 50.4-50.3 50.4-27.8 0-50.3-22.6-50.3-50.4V580.2c0-27.8 22.5-50.4 50.3-50.4 13.3 0 26.1 5.3 35.6 14.8s14.7 22.3 14.7 35.6v134.4zm-50.2-218.4h-134c-27.8 0-50.3-22.6-50.3-50.4 0-27.8 22.5-50.4 50.3-50.4h134c27.8 0 50.3 22.6 50.3 50.4-.1 27.9-22.6 50.4-50.3 50.4zm0-134.4c-13.3 0-26.1-5.3-35.6-14.8S395 324.8 395 311.4c0-27.8 22.5-50.4 50.3-50.4 27.8 0 50.3 22.6 50.3 50.4v50.4h-50.3zm134 403.2c-27.8 0-50.3-22.6-50.3-50.4v-50.4h50.3c27.8 0 50.3 22.6 50.3 50.4 0 27.8-22.5 50.4-50.3 50.4zm134-134.4h-134c-13.3 0-26.1-5.3-35.6-14.8-9.4-9.5-14.7-22.3-14.7-35.6 0-27.8 22.5-50.4 50.3-50.4h134c27.8 0 50.3 22.6 50.3 50.4 0 27.8-22.5 50.4-50.3 50.4zm0-134.4H663v-50.4c0-27.8 22.5-50.4 50.3-50.4s50.3 22.6 50.3 50.4c0 27.8-22.5 50.4-50.3 50.4z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineSlack (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M409.4 128c-42.4 0-76.7 34.4-76.7 76.8 0 20.3 8.1 39.9 22.4 54.3 14.4 14.4 33.9 22.5 54.3 22.5h76.7v-76.8c0-42.3-34.3-76.7-76.7-76.8zm0 204.8H204.7c-42.4 0-76.7 34.4-76.7 76.8s34.4 76.8 76.7 76.8h204.6c42.4 0 76.7-34.4 76.7-76.8.1-42.4-34.3-76.8-76.6-76.8zM614 486.4c42.4 0 76.8-34.4 76.7-76.8V204.8c0-42.4-34.3-76.8-76.7-76.8-42.4 0-76.7 34.4-76.7 76.8v204.8c0 42.5 34.3 76.8 76.7 76.8zm281.4-76.8c0-42.4-34.4-76.8-76.7-76.8S742 367.2 742 409.6v76.8h76.7c42.3 0 76.7-34.4 76.7-76.8zm-76.8 128H614c-42.4 0-76.7 34.4-76.7 76.8 0 20.3 8.1 39.9 22.4 54.3 14.4 14.4 33.9 22.5 54.3 22.5h204.6c42.4 0 76.7-34.4 76.7-76.8.1-42.4-34.3-76.7-76.7-76.8zM614 742.4h-76.7v76.8c0 42.4 34.4 76.8 76.7 76.8 42.4 0 76.8-34.4 76.7-76.8.1-42.4-34.3-76.7-76.7-76.8zM409.4 537.6c-42.4 0-76.7 34.4-76.7 76.8v204.8c0 42.4 34.4 76.8 76.7 76.8 42.4 0 76.8-34.4 76.7-76.8V614.4c0-20.3-8.1-39.9-22.4-54.3-14.4-14.4-34-22.5-54.3-22.5zM128 614.4c0 20.3 8.1 39.9 22.4 54.3 14.4 14.4 33.9 22.5 54.3 22.5 42.4 0 76.8-34.4 76.7-76.8v-76.8h-76.7c-42.3 0-76.7 34.4-76.7 76.8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineSliders (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M320 224h-66v-56c0-4.4-3.6-8-8-8h-52c-4.4 0-8 3.6-8 8v56h-66c-4.4 0-8 3.6-8 8v560c0 4.4 3.6 8 8 8h66v56c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8v-56h66c4.4 0 8-3.6 8-8V232c0-4.4-3.6-8-8-8zm-60 508h-80V292h80v440zm644-436h-66v-96c0-4.4-3.6-8-8-8h-52c-4.4 0-8 3.6-8 8v96h-66c-4.4 0-8 3.6-8 8v416c0 4.4 3.6 8 8 8h66v96c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8v-96h66c4.4 0 8-3.6 8-8V304c0-4.4-3.6-8-8-8zm-60 364h-80V364h80v296zM612 404h-66V232c0-4.4-3.6-8-8-8h-52c-4.4 0-8 3.6-8 8v172h-66c-4.4 0-8 3.6-8 8v200c0 4.4 3.6 8 8 8h66v172c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8V620h66c4.4 0 8-3.6 8-8V412c0-4.4-3.6-8-8-8zm-60 145a3 3 0 0 1-3 3h-74a3 3 0 0 1-3-3v-74a3 3 0 0 1 3-3h74a3 3 0 0 1 3 3v74z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineSmallDash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M112 476h72v72h-72zm182 0h72v72h-72zm364 0h72v72h-72zm182 0h72v72h-72zm-364 0h72v72h-72z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineSmile (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 421a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm352 0a48 48 0 1 0 96 0 48 48 0 1 0-96 0zM512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm263 711c-34.2 34.2-74 61-118.3 79.8C611 874.2 562.3 884 512 884c-50.3 0-99-9.8-144.8-29.2A370.4 370.4 0 0 1 248.9 775c-34.2-34.2-61-74-79.8-118.3C149.8 611 140 562.3 140 512s9.8-99 29.2-144.8A370.4 370.4 0 0 1 249 248.9c34.2-34.2 74-61 118.3-79.8C413 149.8 461.7 140 512 140c50.3 0 99 9.8 144.8 29.2A370.4 370.4 0 0 1 775.1 249c34.2 34.2 61 74 79.8 118.3C874.2 413 884 461.7 884 512s-9.8 99-29.2 144.8A368.89 368.89 0 0 1 775 775zM664 533h-48.1c-4.2 0-7.8 3.2-8.1 7.4C604 589.9 562.5 629 512 629s-92.1-39.1-95.8-88.6c-.3-4.2-3.9-7.4-8.1-7.4H360a8 8 0 0 0-8 8.4c4.4 84.3 74.5 151.6 160 151.6s155.6-67.3 160-151.6a8 8 0 0 0-8-8.4z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineSnippets (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M832 112H724V72c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v40H500V72c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v40H320c-17.7 0-32 14.3-32 32v120h-96c-17.7 0-32 14.3-32 32v632c0 17.7 14.3 32 32 32h512c17.7 0 32-14.3 32-32v-96h96c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM664 888H232V336h218v174c0 22.1 17.9 40 40 40h174v338zm0-402H514V336h.2L664 485.8v.2zm128 274h-56V456L544 264H360v-80h68v32c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-32h152v32c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-32h68v576z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineSolution (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M688 264c0-4.4-3.6-8-8-8H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48zm-8 136H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM480 544H296c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm-48 308H208V148h560v344c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V108c0-17.7-14.3-32-32-32H168c-17.7 0-32 14.3-32 32v784c0 17.7 14.3 32 32 32h264c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm356.8-74.4c29-26.3 47.2-64.3 47.2-106.6 0-79.5-64.5-144-144-144s-144 64.5-144 144c0 42.3 18.2 80.3 47.2 106.6-57 32.5-96.2 92.7-99.2 162.1-.2 4.5 3.5 8.3 8 8.3h48.1c4.2 0 7.7-3.3 8-7.6C564 871.2 621.7 816 692 816s128 55.2 131.9 124.4c.2 4.2 3.7 7.6 8 7.6H880c4.6 0 8.2-3.8 8-8.3-2.9-69.5-42.2-129.6-99.2-162.1zM692 591c44.2 0 80 35.8 80 80s-35.8 80-80 80-80-35.8-80-80 35.8-80 80-80z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineSortAscending (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M839.6 433.8L749 150.5a9.24 9.24 0 0 0-8.9-6.5h-77.4c-4.1 0-7.6 2.6-8.9 6.5l-91.3 283.3c-.3.9-.5 1.9-.5 2.9 0 5.1 4.2 9.3 9.3 9.3h56.4c4.2 0 7.8-2.8 9-6.8l17.5-61.6h89l17.3 61.5c1.1 4 4.8 6.8 9 6.8h61.2c1 0 1.9-.1 2.8-.4 2.4-.8 4.3-2.4 5.5-4.6 1.1-2.2 1.3-4.7.6-7.1zM663.3 325.5l32.8-116.9h6.3l32.1 116.9h-71.2zm143.5 492.9H677.2v-.4l132.6-188.9c1.1-1.6 1.7-3.4 1.7-5.4v-36.4c0-5.1-4.2-9.3-9.3-9.3h-204c-5.1 0-9.3 4.2-9.3 9.3v43c0 5.1 4.2 9.3 9.3 9.3h122.6v.4L587.7 828.9a9.35 9.35 0 0 0-1.7 5.4v36.4c0 5.1 4.2 9.3 9.3 9.3h211.4c5.1 0 9.3-4.2 9.3-9.3v-43a9.2 9.2 0 0 0-9.2-9.3zM416 702h-76V172c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v530h-76c-6.7 0-10.5 7.8-6.3 13l112 141.9a8 8 0 0 0 12.6 0l112-141.9c4.1-5.2.4-13-6.3-13z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineSortDescending (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M839.6 433.8L749 150.5a9.24 9.24 0 0 0-8.9-6.5h-77.4c-4.1 0-7.6 2.6-8.9 6.5l-91.3 283.3c-.3.9-.5 1.9-.5 2.9 0 5.1 4.2 9.3 9.3 9.3h56.4c4.2 0 7.8-2.8 9-6.8l17.5-61.6h89l17.3 61.5c1.1 4 4.8 6.8 9 6.8h61.2c1 0 1.9-.1 2.8-.4 2.4-.8 4.3-2.4 5.5-4.6 1.1-2.2 1.3-4.7.6-7.1zM663.3 325.5l32.8-116.9h6.3l32.1 116.9h-71.2zm143.5 492.9H677.2v-.4l132.6-188.9c1.1-1.6 1.7-3.4 1.7-5.4v-36.4c0-5.1-4.2-9.3-9.3-9.3h-204c-5.1 0-9.3 4.2-9.3 9.3v43c0 5.1 4.2 9.3 9.3 9.3h122.6v.4L587.7 828.9a9.35 9.35 0 0 0-1.7 5.4v36.4c0 5.1 4.2 9.3 9.3 9.3h211.4c5.1 0 9.3-4.2 9.3-9.3v-43a9.2 9.2 0 0 0-9.2-9.3zM310.3 167.1a8 8 0 0 0-12.6 0L185.7 309c-4.2 5.3-.4 13 6.3 13h76v530c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V322h76c6.7 0 10.5-7.8 6.3-13l-112-141.9z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineSound (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M625.9 115c-5.9 0-11.9 1.6-17.4 5.3L254 352H90c-8.8 0-16 7.2-16 16v288c0 8.8 7.2 16 16 16h164l354.5 231.7c5.5 3.6 11.6 5.3 17.4 5.3 16.7 0 32.1-13.3 32.1-32.1V147.1c0-18.8-15.4-32.1-32.1-32.1zM586 803L293.4 611.7l-18-11.7H146V424h129.4l17.9-11.7L586 221v582zm348-327H806c-8.8 0-16 7.2-16 16v40c0 8.8 7.2 16 16 16h128c8.8 0 16-7.2 16-16v-40c0-8.8-7.2-16-16-16zm-41.9 261.8l-110.3-63.7a15.9 15.9 0 0 0-21.7 5.9l-19.9 34.5c-4.4 7.6-1.8 17.4 5.8 21.8L856.3 800a15.9 15.9 0 0 0 21.7-5.9l19.9-34.5c4.4-7.6 1.7-17.4-5.8-21.8zM760 344a15.9 15.9 0 0 0 21.7 5.9L892 286.2c7.6-4.4 10.2-14.2 5.8-21.8L878 230a15.9 15.9 0 0 0-21.7-5.9L746 287.8a15.99 15.99 0 0 0-5.8 21.8L760 344z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineSplitCells (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"t\":\"1569683545621\",\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M938.2 508.4L787.3 389c-3-2.4-7.3-0.2-7.3 3.6V478H636V184h204v128c0 2.2 1.8 4 4 4h60c2.2 0 4-1.8 4-4V144c0-15.5-12.5-28-28-28H596c-15.5 0-28 12.5-28 28v736c0 15.5 12.5 28 28 28h284c15.5 0 28-12.5 28-28V712c0-2.2-1.8-4-4-4h-60c-2.2 0-4 1.8-4 4v128H636V546h144v85.4c0 3.8 4.4 6 7.3 3.6l150.9-119.4c2.4-1.8 2.4-5.4 0-7.2zM428 116H144c-15.5 0-28 12.5-28 28v168c0 2.2 1.8 4 4 4h60c2.2 0 4-1.8 4-4V184h204v294H244v-85.4c0-3.8-4.3-6-7.3-3.6l-151 119.4c-2.3 1.8-2.3 5.3 0 7.1l151 119.5c2.9 2.3 7.3 0.2 7.3-3.6V546h144v294H184V712c0-2.2-1.8-4-4-4h-60c-2.2 0-4 1.8-4 4v168c0 15.5 12.5 28 28 28h284c15.5 0 28-12.5 28-28V144c0-15.5-12.5-28-28-28z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineSpotify (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 0C200.517 0 0 200.517 0 448s200.517 448 448 448 448-200.517 448-448S695.483 0 448 0m0 74.664a371.855 371.855 0 0 1 264.427 108.91A371.855 371.855 0 0 1 821.337 448a371.855 371.855 0 0 1-108.91 264.427A371.855 371.855 0 0 1 448 821.337a371.855 371.855 0 0 1-264.427-108.91A371.855 371.855 0 0 1 74.663 448a371.855 371.855 0 0 1 108.91-264.427A371.855 371.855 0 0 1 448 74.663M388.49 252c-72.613 0-135.893 6.72-196 25.685-15.903 3.174-29.157 15.158-29.157 37.334 0 22.138 16.352 41.701 38.491 38.453 9.483 0 15.904-3.472 22.176-3.472 50.587-12.693 107.632-18.667 164.49-18.667 110.545 0 224 24.64 299.825 68.843 9.482 3.21 12.693 6.981 22.176 6.981 22.176 0 37.632-16.314 40.842-38.49 0-18.966-9.482-31.062-22.176-37.334C634.368 277.648 508.517 252 388.491 252M378 390.843c-66.341 0-113.605 9.482-161.019 22.176-15.717 6.234-24.49 16.053-24.49 34.981 0 15.755 12.544 31.51 31.509 31.51 6.421 0 9.184-.3 18.667-3.51 34.72-9.483 82.394-15.157 133.018-15.157 104.235 0 194.955 25.386 261.334 66.49 6.234 3.211 12.693 5.824 22.138 5.824 18.966 0 31.51-16.053 31.51-34.981 0-12.693-5.974-25.237-18.667-31.51-82.133-50.586-186.517-75.823-294-75.823m10.49 136.49c-53.647 0-104.533 5.974-155.157 18.667-12.693 3.21-22.176 12.245-22.176 28 0 12.693 9.931 25.685 25.686 25.685 3.21 0 12.394-3.509 18.666-3.509a581.728 581.728 0 0 1 129.51-15.195c78.885 0 151.05 18.966 211.157 53.686 6.421 3.21 13.552 5.824 19.824 5.824 12.693 0 24.79-9.483 28-22.139 0-15.904-6.87-21.765-16.352-28-69.552-41.141-150.79-63.019-239.157-63.019\",\"transform\":\"translate(64 64)\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineStar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M908.1 353.1l-253.9-36.9L540.7 86.1c-3.1-6.3-8.2-11.4-14.5-14.5-15.8-7.8-35-1.3-42.9 14.5L369.8 316.2l-253.9 36.9c-7 1-13.4 4.3-18.3 9.3a32.05 32.05 0 0 0 .6 45.3l183.7 179.1-43.4 252.9a31.95 31.95 0 0 0 46.4 33.7L512 754l227.1 119.4c6.2 3.3 13.4 4.4 20.3 3.2 17.4-3 29.1-19.5 26.1-36.9l-43.4-252.9 183.7-179.1c5-4.9 8.3-11.3 9.3-18.3 2.7-17.5-9.5-33.7-27-36.3zM664.8 561.6l36.1 210.3L512 672.7 323.1 772l36.1-210.3-152.8-149L417.6 382 512 190.7 606.4 382l211.2 30.7-152.8 148.9z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineStepBackward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M347.6 528.95l383.2 301.02c14.25 11.2 35.2 1.1 35.2-16.95V210.97c0-18.05-20.95-28.14-35.2-16.94L347.6 495.05a21.53 21.53 0 0 0 0 33.9M330 864h-64a8 8 0 0 1-8-8V168a8 8 0 0 1 8-8h64a8 8 0 0 1 8 8v688a8 8 0 0 1-8 8\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineStepForward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M676.4 528.95L293.2 829.97c-14.25 11.2-35.2 1.1-35.2-16.95V210.97c0-18.05 20.95-28.14 35.2-16.94l383.2 301.02a21.53 21.53 0 0 1 0 33.9M694 864h64a8 8 0 0 0 8-8V168a8 8 0 0 0-8-8h-64a8 8 0 0 0-8 8v688a8 8 0 0 0 8 8\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineStock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M904 747H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM165.7 621.8l39.7 39.5c3.1 3.1 8.2 3.1 11.3 0l234.7-233.9 97.6 97.3a32.11 32.11 0 0 0 45.2 0l264.2-263.2c3.1-3.1 3.1-8.2 0-11.3l-39.7-39.6a8.03 8.03 0 0 0-11.3 0l-235.7 235-97.7-97.3a32.11 32.11 0 0 0-45.2 0L165.7 610.5a7.94 7.94 0 0 0 0 11.3z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineStop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372 0-89 31.3-170.8 83.5-234.8l523.3 523.3C682.8 852.7 601 884 512 884zm288.5-137.2L277.2 223.5C341.2 171.3 423 140 512 140c205.4 0 372 166.6 372 372 0 89-31.3 170.8-83.5 234.8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineStrikethrough (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M952 474H569.9c-10-2-20.5-4-31.6-6-15.9-2.9-22.2-4.1-30.8-5.8-51.3-10-82.2-20-106.8-34.2-35.1-20.5-52.2-48.3-52.2-85.1 0-37 15.2-67.7 44-89 28.4-21 68.8-32.1 116.8-32.1 54.8 0 97.1 14.4 125.8 42.8 14.6 14.4 25.3 32.1 31.8 52.6 1.3 4.1 2.8 10 4.3 17.8.9 4.8 5.2 8.2 9.9 8.2h72.8c5.6 0 10.1-4.6 10.1-10.1v-1c-.7-6.8-1.3-12.1-2-16-7.3-43.5-28-81.7-59.7-110.3-44.4-40.5-109.7-61.8-188.7-61.8-72.3 0-137.4 18.1-183.3 50.9-25.6 18.4-45.4 41.2-58.6 67.7-13.5 27.1-20.3 58.4-20.3 92.9 0 29.5 5.7 54.5 17.3 76.5 8.3 15.7 19.6 29.5 34.1 42H72c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h433.2c2.1.4 3.9.8 5.9 1.2 30.9 6.2 49.5 10.4 66.6 15.2 23 6.5 40.6 13.3 55.2 21.5 35.8 20.2 53.3 49.2 53.3 89 0 35.3-15.5 66.8-43.6 88.8-30.5 23.9-75.6 36.4-130.5 36.4-43.7 0-80.7-8.5-110.2-25-29.1-16.3-49.1-39.8-59.7-69.5-.8-2.2-1.7-5.2-2.7-9-1.2-4.4-5.3-7.5-9.7-7.5h-79.7c-5.6 0-10.1 4.6-10.1 10.1v1c.2 2.3.4 4.2.6 5.7 6.5 48.8 30.3 88.8 70.7 118.8 47.1 34.8 113.4 53.2 191.8 53.2 84.2 0 154.8-19.8 204.2-57.3 25-18.9 44.2-42.2 57.1-69 13-27.1 19.7-57.9 19.7-91.5 0-31.8-5.8-58.4-17.8-81.4-5.8-11.2-13.1-21.5-21.8-30.8H952c4.4 0 8-3.6 8-8v-60a8 8 0 0 0-8-7.9z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineSubnode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"t\":\"1569683432252\",\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M688 240c-138 0-252 102.8-269.6 236H249c-14.2-35.2-48.7-60-89-60-53 0-96 43-96 96s43 96 96 96c40.3 0 74.8-24.8 89-60h169.3C436 681.2 550 784 688 784c150.2 0 272-121.8 272-272S838.2 240 688 240z m128 298c0 4.4-3.6 8-8 8h-86v86c0 4.4-3.6 8-8 8h-52c-4.4 0-8-3.6-8-8v-86h-86c-4.4 0-8-3.6-8-8v-52c0-4.4 3.6-8 8-8h86v-86c0-4.4 3.6-8 8-8h52c4.4 0 8 3.6 8 8v86h86c4.4 0 8 3.6 8 8v52z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineSun (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M548 818v126c0 8.837-7.163 16-16 16h-40c-8.837 0-16-7.163-16-16V818c15.845 1.643 27.845 2.464 36 2.464 8.155 0 20.155-.821 36-2.464m205.251-115.66 89.096 89.095c6.248 6.248 6.248 16.38 0 22.627l-28.285 28.285c-6.248 6.248-16.379 6.248-22.627 0L702.34 753.25c12.365-10.043 21.431-17.947 27.198-23.713 5.766-5.767 13.67-14.833 23.713-27.198m-482.502 0c10.043 12.365 17.947 21.431 23.713 27.198 5.767 5.766 14.833 13.67 27.198 23.713l-89.095 89.096c-6.248 6.248-16.38 6.248-22.627 0l-28.285-28.285c-6.248-6.248-6.248-16.379 0-22.627zM512 278c129.235 0 234 104.765 234 234S641.235 746 512 746 278 641.235 278 512s104.765-234 234-234m0 72c-89.47 0-162 72.53-162 162s72.53 162 162 162 162-72.53 162-162-72.53-162-162-162M206 476c-1.643 15.845-2.464 27.845-2.464 36 0 8.155.821 20.155 2.464 36H80c-8.837 0-16-7.163-16-16v-40c0-8.837 7.163-16 16-16zm738 0c8.837 0 16 7.163 16 16v40c0 8.837-7.163 16-16 16H818c1.643-15.845 2.464-27.845 2.464-36 0-8.155-.821-20.155-2.464-36ZM814.062 180.653l28.285 28.285c6.248 6.248 6.248 16.379 0 22.627L753.25 320.66c-10.043-12.365-17.947-21.431-23.713-27.198-5.767-5.766-14.833-13.67-27.198-23.713l89.095-89.096c6.248-6.248 16.38-6.248 22.627 0m-581.497 0 89.095 89.096c-12.365 10.043-21.431 17.947-27.198 23.713-5.766 5.767-13.67 14.833-23.713 27.198l-89.096-89.095c-6.248-6.248-6.248-16.38 0-22.627l28.285-28.285c6.248-6.248 16.379-6.248 22.627 0M532 64c8.837 0 16 7.163 16 16v126c-15.845-1.643-27.845-2.464-36-2.464-8.155 0-20.155.821-36 2.464V80c0-8.837 7.163-16 16-16z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineSwapLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M872 572H266.8l144.3-183c4.1-5.2.4-13-6.3-13H340c-9.8 0-19.1 4.5-25.1 12.2l-164 208c-16.5 21-1.6 51.8 25.1 51.8h696c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineSwapRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M873.1 596.2l-164-208A32 32 0 0 0 684 376h-64.8c-6.7 0-10.4 7.7-6.3 13l144.3 183H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h695.9c26.8 0 41.7-30.8 25.2-51.8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineSwap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M847.9 592H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h605.2L612.9 851c-4.1 5.2-.4 13 6.3 13h72.5c4.9 0 9.5-2.2 12.6-6.1l168.8-214.1c16.5-21 1.6-51.8-25.2-51.8zM872 356H266.8l144.3-183c4.1-5.2.4-13-6.3-13h-72.5c-4.9 0-9.5 2.2-12.6 6.1L150.9 380.2c-16.5 21-1.6 51.8 25.1 51.8h696c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineSwitcher (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M752 240H144c-17.7 0-32 14.3-32 32v608c0 17.7 14.3 32 32 32h608c17.7 0 32-14.3 32-32V272c0-17.7-14.3-32-32-32zm-40 600H184V312h528v528zm168-728H264c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h576v576c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V144c0-17.7-14.3-32-32-32zM300 550h296v64H300z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineSync (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M168 504.2c1-43.7 10-86.1 26.9-126 17.3-41 42.1-77.7 73.7-109.4S337 212.3 378 195c42.4-17.9 87.4-27 133.9-27s91.5 9.1 133.8 27A341.5 341.5 0 0 1 755 268.8c9.9 9.9 19.2 20.4 27.8 31.4l-60.2 47a8 8 0 0 0 3 14.1l175.7 43c5 1.2 9.9-2.6 9.9-7.7l.8-180.9c0-6.7-7.7-10.5-12.9-6.3l-56.4 44.1C765.8 155.1 646.2 92 511.8 92 282.7 92 96.3 275.6 92 503.8a8 8 0 0 0 8 8.2h60c4.4 0 7.9-3.5 8-7.8zm756 7.8h-60c-4.4 0-7.9 3.5-8 7.8-1 43.7-10 86.1-26.9 126-17.3 41-42.1 77.8-73.7 109.4A342.45 342.45 0 0 1 512.1 856a342.24 342.24 0 0 1-243.2-100.8c-9.9-9.9-19.2-20.4-27.8-31.4l60.2-47a8 8 0 0 0-3-14.1l-175.7-43c-5-1.2-9.9 2.6-9.9 7.7l-.7 181c0 6.7 7.7 10.5 12.9 6.3l56.4-44.1C258.2 868.9 377.8 932 512.2 932c229.2 0 415.5-183.7 419.8-411.8a8 8 0 0 0-8-8.2z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineTable (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 208H676V232h212v136zm0 224H676V432h212v160zM412 432h200v160H412V432zm200-64H412V232h200v136zm-476 64h212v160H136V432zm0-200h212v136H136V232zm0 424h212v136H136V656zm276 0h200v136H412V656zm476 136H676V656h212v136z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineTablet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M800 64H224c-35.3 0-64 28.7-64 64v768c0 35.3 28.7 64 64 64h576c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64zm-8 824H232V136h560v752zM472 784a40 40 0 1 0 80 0 40 40 0 1 0-80 0z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineTag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M938 458.8l-29.6-312.6c-1.5-16.2-14.4-29-30.6-30.6L565.2 86h-.4c-3.2 0-5.7 1-7.6 2.9L88.9 557.2a9.96 9.96 0 0 0 0 14.1l363.8 363.8c1.9 1.9 4.4 2.9 7.1 2.9s5.2-1 7.1-2.9l468.3-468.3c2-2.1 3-5 2.8-8zM459.7 834.7L189.3 564.3 589 164.6 836 188l23.4 247-399.7 399.7zM680 256c-48.5 0-88 39.5-88 88s39.5 88 88 88 88-39.5 88-88-39.5-88-88-88zm0 120c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineTags (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M483.2 790.3L861.4 412c1.7-1.7 2.5-4 2.3-6.3l-25.5-301.4c-.7-7.8-6.8-13.9-14.6-14.6L522.2 64.3c-2.3-.2-4.7.6-6.3 2.3L137.7 444.8a8.03 8.03 0 0 0 0 11.3l334.2 334.2c3.1 3.2 8.2 3.2 11.3 0zm62.6-651.7l224.6 19 19 224.6L477.5 694 233.9 450.5l311.9-311.9zm60.16 186.23a48 48 0 1 0 67.88-67.89 48 48 0 1 0-67.88 67.89zM889.7 539.8l-39.6-39.5a8.03 8.03 0 0 0-11.3 0l-362 361.3-237.6-237a8.03 8.03 0 0 0-11.3 0l-39.6 39.5a8.03 8.03 0 0 0 0 11.3l243.2 242.8 39.6 39.5c3.1 3.1 8.2 3.1 11.3 0l407.3-406.6c3.1-3.1 3.1-8.2 0-11.3z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineTaobaoCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zM315.7 291.5c27.3 0 49.5 22.1 49.5 49.4s-22.1 49.4-49.5 49.4a49.4 49.4 0 1 1 0-98.8zM366.9 578c-13.6 42.3-10.2 26.7-64.4 144.5l-78.5-49s87.7-79.8 105.6-116.2c19.2-38.4-21.1-58.9-21.1-58.9l-60.2-37.5 32.7-50.2c45.4 33.7 48.7 36.6 79.2 67.2 23.8 23.9 20.7 56.8 6.7 100.1zm427.2 55c-15.3 143.8-202.4 90.3-202.4 90.3l10.2-41.1 43.3 9.3c80 5 72.3-64.9 72.3-64.9V423c.6-77.3-72.6-85.4-204.2-38.3l30.6 8.3c-2.5 9-12.5 23.2-25.2 38.6h176v35.6h-99.1v44.5h98.7v35.7h-98.7V622c14.9-4.8 28.6-11.5 40.5-20.5l-8.7-32.5 46.5-14.4 38.8 94.9-57.3 23.9-10.2-37.8c-25.6 19.5-78.8 48-171.8 45.4-99.2 2.6-73.7-112-73.7-112l2.5-1.3H472c-.5 14.7-6.6 38.7 1.7 51.8 6.8 10.8 24.2 12.6 35.3 13.1 1.3.1 2.6.1 3.9.1v-85.3h-101v-35.7h101v-44.5H487c-22.7 24.1-43.5 44.1-43.5 44.1l-30.6-26.7c21.7-22.9 43.3-59.1 56.8-83.2-10.9 4.4-22 9.2-33.6 14.2-11.2 14.3-24.2 29-38.7 43.5.5.8-50-28.4-50-28.4 52.2-44.4 81.4-139.9 81.4-139.9l72.5 20.4s-5.9 14-18.4 35.6c290.3-82.3 307.4 50.5 307.4 50.5s19.1 91.8 3.8 235.7z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineTaobao (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M168.5 273.7a68.7 68.7 0 1 0 137.4 0 68.7 68.7 0 1 0-137.4 0zm730 79.2s-23.7-184.4-426.9-70.1c17.3-30 25.6-49.5 25.6-49.5L396.4 205s-40.6 132.6-113 194.4c0 0 70.1 40.6 69.4 39.4 20.1-20.1 38.2-40.6 53.7-60.4 16.1-7 31.5-13.6 46.7-19.8-18.6 33.5-48.7 83.8-78.8 115.6l42.4 37s28.8-27.7 60.4-61.2h36v61.8H372.9v49.5h140.3v118.5c-1.7 0-3.6 0-5.4-.2-15.4-.7-39.5-3.3-49-18.2-11.5-18.1-3-51.5-2.4-71.9h-97l-3.4 1.8s-35.5 159.1 102.3 155.5c129.1 3.6 203-36 238.6-63.1l14.2 52.6 79.6-33.2-53.9-131.9-64.6 20.1 12.1 45.2c-16.6 12.4-35.6 21.7-56.2 28.4V561.3h137.1v-49.5H628.1V450h137.6v-49.5H521.3c17.6-21.4 31.5-41.1 35-53.6l-42.5-11.6c182.8-65.5 284.5-54.2 283.6 53.2v282.8s10.8 97.1-100.4 90.1l-60.2-12.9-14.2 57.1S882.5 880 903.7 680.2c21.3-200-5.2-327.3-5.2-327.3zm-707.4 18.3l-45.4 69.7 83.6 52.1s56 28.5 29.4 81.9C233.8 625.5 112 736.3 112 736.3l109 68.1c75.4-163.7 70.5-142 89.5-200.7 19.5-60.1 23.7-105.9-9.4-139.1-42.4-42.6-47-46.6-110-93.4z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineTeam (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M824.2 699.9a301.55 301.55 0 0 0-86.4-60.4C783.1 602.8 812 546.8 812 484c0-110.8-92.4-201.7-203.2-200-109.1 1.7-197 90.6-197 200 0 62.8 29 118.8 74.2 155.5a300.95 300.95 0 0 0-86.4 60.4C345 754.6 314 826.8 312 903.8a8 8 0 0 0 8 8.2h56c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5A226.62 226.62 0 0 1 612 684c60.9 0 118.2 23.7 161.3 66.8C814.5 792 838 846.3 840 904.3c.1 4.3 3.7 7.7 8 7.7h56a8 8 0 0 0 8-8.2c-2-77-33-149.2-87.8-203.9zM612 612c-34.2 0-66.4-13.3-90.5-37.5a126.86 126.86 0 0 1-37.5-91.8c.3-32.8 13.4-64.5 36.3-88 24-24.6 56.1-38.3 90.4-38.7 33.9-.3 66.8 12.9 91 36.6 24.8 24.3 38.4 56.8 38.4 91.4 0 34.2-13.3 66.3-37.5 90.5A127.3 127.3 0 0 1 612 612zM361.5 510.4c-.9-8.7-1.4-17.5-1.4-26.4 0-15.9 1.5-31.4 4.3-46.5.7-3.6-1.2-7.3-4.5-8.8-13.6-6.1-26.1-14.5-36.9-25.1a127.54 127.54 0 0 1-38.7-95.4c.9-32.1 13.8-62.6 36.3-85.6 24.7-25.3 57.9-39.1 93.2-38.7 31.9.3 62.7 12.6 86 34.4 7.9 7.4 14.7 15.6 20.4 24.4 2 3.1 5.9 4.4 9.3 3.2 17.6-6.1 36.2-10.4 55.3-12.4 5.6-.6 8.8-6.6 6.3-11.6-32.5-64.3-98.9-108.7-175.7-109.9-110.9-1.7-203.3 89.2-203.3 199.9 0 62.8 28.9 118.8 74.2 155.5-31.8 14.7-61.1 35-86.5 60.4-54.8 54.7-85.8 126.9-87.8 204a8 8 0 0 0 8 8.2h56.1c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5 29.4-29.4 65.4-49.8 104.7-59.7 3.9-1 6.5-4.7 6-8.7z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineThunderbolt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M848 359.3H627.7L825.8 109c4.1-5.3.4-13-6.3-13H436c-2.8 0-5.5 1.5-6.9 4L170 547.5c-3.1 5.3.7 12 6.9 12h174.4l-89.4 357.6c-1.9 7.8 7.5 13.3 13.3 7.7L853.5 373c5.2-4.9 1.7-13.7-5.5-13.7zM378.2 732.5l60.3-241H281.1l189.6-327.4h224.6L487 427.4h211L378.2 732.5z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineTikTok (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M365.014.667C408.68 0 452.011.333 495.342 0c2.667 51 21 102.999 58.33 138.998 37.332 37 89.997 54 141.328 59.666v134.332c-47.998-1.667-96.33-11.667-139.994-32.333-19-8.667-36.665-19.667-53.998-31-.333 97.332.334 194.665-.666 291.663-2.667 46.666-18 93-44.998 131.332-43.665 64-119.328 105.665-196.992 106.999-47.664 2.666-95.329-10.334-135.994-34.333C55.028 725.658 7.696 652.992.697 574.993c-.667-16.667-1-33.333-.334-49.666 6-63.333 37.332-123.999 85.997-165.332 55.33-47.999 132.66-70.999 204.99-57.332.667 49.333-1.332 98.665-1.332 147.998-33-10.667-71.664-7.667-100.663 12.333-20.999 13.667-36.998 34.666-45.331 58.333-7 17-5 35.666-4.667 53.666 8 54.666 60.664 100.665 116.662 95.665 37.332-.333 72.997-22 92.33-53.666 6.332-11 13.332-22.333 13.665-35.333 3.334-59.666 2-118.998 2.334-178.664.333-134.332-.334-268.33.666-402.328\",\"transform\":\"translate(165 112)\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineToTop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M885 780H165c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h720c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zM400 325.7h73.9V664c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V325.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 171a8 8 0 0 0-12.6 0l-112 141.7c-4.1 5.3-.4 13 6.3 13z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineTool (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M876.6 239.5c-.5-.9-1.2-1.8-2-2.5-5-5-13.1-5-18.1 0L684.2 409.3l-67.9-67.9L788.7 169c.8-.8 1.4-1.6 2-2.5 3.6-6.1 1.6-13.9-4.5-17.5-98.2-58-226.8-44.7-311.3 39.7-67 67-89.2 162-66.5 247.4l-293 293c-3 3-2.8 7.9.3 11l169.7 169.7c3.1 3.1 8.1 3.3 11 .3l292.9-292.9c85.5 22.8 180.5.7 247.6-66.4 84.4-84.5 97.7-213.1 39.7-311.3zM786 499.8c-58.1 58.1-145.3 69.3-214.6 33.6l-8.8 8.8-.1-.1-274 274.1-79.2-79.2 230.1-230.1s0 .1.1.1l52.8-52.8c-35.7-69.3-24.5-156.5 33.6-214.6a184.2 184.2 0 0 1 144-53.5L537 318.9a32.05 32.05 0 0 0 0 45.3l124.5 124.5a32.05 32.05 0 0 0 45.3 0l132.8-132.8c3.7 51.8-14.4 104.8-53.6 143.9z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineTrademarkCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm87.5-334.7c34.8-12.8 78.4-49 78.4-119.2 0-71.2-45.5-131.1-144.2-131.1H378c-4.4 0-8 3.6-8 8v410c0 4.4 3.6 8 8 8h54.5c4.4 0 8-3.6 8-8V561.2h88.7l74.6 159.2c1.3 2.8 4.1 4.6 7.2 4.6h62a7.9 7.9 0 0 0 7.1-11.5l-80.6-164.2zM522 505h-81.5V357h83.4c48 0 80.9 25.3 80.9 75.5 0 46.9-29.8 72.5-82.8 72.5z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineTrademark (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372zm87.5-334.7c34.8-12.8 78.4-49 78.4-119.2 0-71.2-45.5-131.1-144.2-131.1H378c-4.4 0-8 3.6-8 8v410c0 4.4 3.6 8 8 8h54.5c4.4 0 8-3.6 8-8V561.2h88.7l74.6 159.2c1.3 2.8 4.1 4.6 7.2 4.6h62a7.9 7.9 0 0 0 7.1-11.5l-80.6-164.2zM522 505h-81.5V357h83.4c48 0 80.9 25.3 80.9 75.5 0 46.9-29.8 72.5-82.8 72.5z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineTransaction (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M668.6 320c0-4.4-3.6-8-8-8h-54.5c-3 0-5.8 1.7-7.1 4.4l-84.7 168.8H511l-84.7-168.8a8 8 0 0 0-7.1-4.4h-55.7c-1.3 0-2.6.3-3.8 1-3.9 2.1-5.3 7-3.2 10.8l103.9 191.6h-57c-4.4 0-8 3.6-8 8v27.1c0 4.4 3.6 8 8 8h76v39h-76c-4.4 0-8 3.6-8 8v27.1c0 4.4 3.6 8 8 8h76V704c0 4.4 3.6 8 8 8h49.9c4.4 0 8-3.6 8-8v-63.5h76.3c4.4 0 8-3.6 8-8v-27.1c0-4.4-3.6-8-8-8h-76.3v-39h76.3c4.4 0 8-3.6 8-8v-27.1c0-4.4-3.6-8-8-8H564l103.7-191.6c.5-1.1.9-2.4.9-3.7zM157.9 504.2a352.7 352.7 0 0 1 103.5-242.4c32.5-32.5 70.3-58.1 112.4-75.9 43.6-18.4 89.9-27.8 137.6-27.8 47.8 0 94.1 9.3 137.6 27.8 42.1 17.8 79.9 43.4 112.4 75.9 10 10 19.3 20.5 27.9 31.4l-50 39.1a8 8 0 0 0 3 14.1l156.8 38.3c5 1.2 9.9-2.6 9.9-7.7l.8-161.5c0-6.7-7.7-10.5-12.9-6.3l-47.8 37.4C770.7 146.3 648.6 82 511.5 82 277 82 86.3 270.1 82 503.8a8 8 0 0 0 8 8.2h60c4.3 0 7.8-3.5 7.9-7.8zM934 512h-60c-4.3 0-7.9 3.5-8 7.8a352.7 352.7 0 0 1-103.5 242.4 352.57 352.57 0 0 1-112.4 75.9c-43.6 18.4-89.9 27.8-137.6 27.8s-94.1-9.3-137.6-27.8a352.57 352.57 0 0 1-112.4-75.9c-10-10-19.3-20.5-27.9-31.4l49.9-39.1a8 8 0 0 0-3-14.1l-156.8-38.3c-5-1.2-9.9 2.6-9.9 7.7l-.8 161.7c0 6.7 7.7 10.5 12.9 6.3l47.8-37.4C253.3 877.7 375.4 942 512.5 942 747 942 937.7 753.9 942 520.2a8 8 0 0 0-8-8.2z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineTranslation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"t\":\"1569683569194\",\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M140 188h584v164h76V144c0-17.7-14.3-32-32-32H96c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h544v-76H140V188z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M414.3 256h-60.6c-3.4 0-6.4 2.2-7.6 5.4L219 629.4c-0.3 0.8-0.4 1.7-0.4 2.6 0 4.4 3.6 8 8 8h55.1c3.4 0 6.4-2.2 7.6-5.4L322 540h196.2L422 261.4c-1.3-3.2-4.3-5.4-7.7-5.4z m12.4 228h-85.5L384 360.2 426.7 484zM936 528H800v-93c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v93H592c-13.3 0-24 10.7-24 24v176c0 13.3 10.7 24 24 24h136v152c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V752h136c13.3 0 24-10.7 24-24V552c0-13.3-10.7-24-24-24zM728 680h-88v-80h88v80z m160 0h-88v-80h88v80z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineTrophy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M868 160h-92v-40c0-4.4-3.6-8-8-8H256c-4.4 0-8 3.6-8 8v40h-92a44 44 0 0 0-44 44v148c0 81.7 60 149.6 138.2 162C265.7 630.2 359 721.7 476 734.5v105.2H280c-17.7 0-32 14.3-32 32V904c0 4.4 3.6 8 8 8h512c4.4 0 8-3.6 8-8v-32.3c0-17.7-14.3-32-32-32H548V734.5C665 721.7 758.3 630.2 773.8 514 852 501.6 912 433.7 912 352V204a44 44 0 0 0-44-44zM184 352V232h64v207.6a91.99 91.99 0 0 1-64-87.6zm520 128c0 49.1-19.1 95.4-53.9 130.1-34.8 34.8-81 53.9-130.1 53.9h-16c-49.1 0-95.4-19.1-130.1-53.9-34.8-34.8-53.9-81-53.9-130.1V184h384v296zm136-128c0 41-26.9 75.8-64 87.6V232h64v120z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineTruck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M608 192c17.673 0 32 14.327 32 32v160h174.815a32 32 0 0 1 26.676 14.327l113.186 170.846A32 32 0 0 1 960 586.846V672c0 17.673-14.327 32-32 32h-96c0 70.692-57.308 128-128 128-70.692 0-128-57.308-128-128H384c0 70.692-57.308 128-128 128-70.692 0-128-57.308-128-128H96c-17.673 0-32-14.327-32-32V224c0-17.673 14.327-32 32-32zM256 640c-35.346 0-64 28.654-64 64 0 35.346 28.654 64 64 64l1.058-.009C291.916 767.426 320 738.993 320 704c0-35.346-28.654-64-64-64m448 0c-35.346 0-64 28.654-64 64 0 35.346 28.654 64 64 64l1.058-.009C739.916 767.426 768 738.993 768 704c0-35.346-28.654-64-64-64M576 256H128v384h17.124c22.131-38.259 63.498-64 110.876-64 47.378 0 88.745 25.741 110.876 64H576zm221.629 192H640v145.124C658.829 582.234 680.687 576 704 576c47.378 0 88.745 25.741 110.876 64H896v-43.516zM500 448c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12H332c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12zM308 320c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12H204c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineTwitch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M52.133 0 0 139.167v556.466h191.2V800h104.4l104.233-104.4h156.5L765 487V0zm69.534 69.5H695.5v382.633L573.767 573.867H382.5L278.267 678.1V573.867h-156.6zM313 417.4h69.5V208.733H313zm191.167 0H573.7V208.733h-69.533z\",\"transform\":\"translate(114 112)\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineTwitter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M928 254.3c-30.6 13.2-63.9 22.7-98.2 26.4a170.1 170.1 0 0 0 75-94 336.64 336.64 0 0 1-108.2 41.2A170.1 170.1 0 0 0 672 174c-94.5 0-170.5 76.6-170.5 170.6 0 13.2 1.6 26.4 4.2 39.1-141.5-7.4-267.7-75-351.6-178.5a169.32 169.32 0 0 0-23.2 86.1c0 59.2 30.1 111.4 76 142.1a172 172 0 0 1-77.1-21.7v2.1c0 82.9 58.6 151.6 136.7 167.4a180.6 180.6 0 0 1-44.9 5.8c-11.1 0-21.6-1.1-32.2-2.6C211 652 273.9 701.1 348.8 702.7c-58.6 45.9-132 72.9-211.7 72.9-14.3 0-27.5-.5-41.2-2.1C171.5 822 261.2 850 357.8 850 671.4 850 843 590.2 843 364.7c0-7.4 0-14.8-.5-22.2 33.2-24.3 62.3-54.4 85.5-88.2z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineUnderline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M824 804H200c-4.4 0-8 3.4-8 7.6v60.8c0 4.2 3.6 7.6 8 7.6h624c4.4 0 8-3.4 8-7.6v-60.8c0-4.2-3.6-7.6-8-7.6zm-312-76c69.4 0 134.6-27.1 183.8-76.2C745 602.7 772 537.4 772 468V156c0-6.6-5.4-12-12-12h-60c-6.6 0-12 5.4-12 12v312c0 97-79 176-176 176s-176-79-176-176V156c0-6.6-5.4-12-12-12h-60c-6.6 0-12 5.4-12 12v312c0 69.4 27.1 134.6 76.2 183.8C377.3 701 442.6 728 512 728z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineUndo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M511.4 124C290.5 124.3 112 303 112 523.9c0 128 60.2 242 153.8 315.2l-37.5 48c-4.1 5.3-.3 13 6.3 12.9l167-.8c5.2 0 9-4.9 7.7-9.9L369.8 727a8 8 0 0 0-14.1-3L315 776.1c-10.2-8-20-16.7-29.3-26a318.64 318.64 0 0 1-68.6-101.7C200.4 609 192 567.1 192 523.9s8.4-85.1 25.1-124.5c16.1-38.1 39.2-72.3 68.6-101.7 29.4-29.4 63.6-52.5 101.7-68.6C426.9 212.4 468.8 204 512 204s85.1 8.4 124.5 25.1c38.1 16.1 72.3 39.2 101.7 68.6 29.4 29.4 52.5 63.6 68.6 101.7 16.7 39.4 25.1 81.3 25.1 124.5s-8.4 85.1-25.1 124.5a318.64 318.64 0 0 1-68.6 101.7c-7.5 7.5-15.3 14.5-23.4 21.2a7.93 7.93 0 0 0-1.2 11.1l39.4 50.5c2.8 3.5 7.9 4.1 11.4 1.3C854.5 760.8 912 649.1 912 523.9c0-221.1-179.4-400.2-400.6-399.9z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineUngroup (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"t\":\"1569683823033\",\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M736 550H288c-8.8 0-16 7.2-16 16v176c0 8.8 7.2 16 16 16h448c8.8 0 16-7.2 16-16V566c0-8.8-7.2-16-16-16z m-56 136H344v-64h336v64zM888 816c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72z m0 96c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zM736 266H288c-8.8 0-16 7.2-16 16v176c0 8.8 7.2 16 16 16h448c8.8 0 16-7.2 16-16V282c0-8.8-7.2-16-16-16z m-56 136H344v-64h336v64zM888 208c39.8 0 72-32.2 72-72s-32.2-72-72-72-72 32.2-72 72 32.2 72 72 72z m0-96c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zM136 64c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72z m0 96c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zM136 816c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72z m0 96c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineUnlock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M832 464H332V240c0-30.9 25.1-56 56-56h248c30.9 0 56 25.1 56 56v68c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-68c0-70.7-57.3-128-128-128H388c-70.7 0-128 57.3-128 128v224h-68c-17.7 0-32 14.3-32 32v384c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V496c0-17.7-14.3-32-32-32zm-40 376H232V536h560v304zM484 701v53c0 4.4 3.6 8 8 8h40c4.4 0 8-3.6 8-8v-53a48.01 48.01 0 1 0-56 0z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineUnorderedList (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M912 192H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM104 228a56 56 0 1 0 112 0 56 56 0 1 0-112 0zm0 284a56 56 0 1 0 112 0 56 56 0 1 0-112 0zm0 284a56 56 0 1 0 112 0 56 56 0 1 0-112 0z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineUpCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M518.5 360.3a7.95 7.95 0 0 0-12.9 0l-178 246c-3.8 5.3 0 12.7 6.5 12.7H381c10.2 0 19.9-4.9 25.9-13.2L512 460.4l105.2 145.4c6 8.3 15.6 13.2 25.9 13.2H690c6.5 0 10.3-7.4 6.5-12.7l-178-246z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineUpSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M334 624h46.9c10.2 0 19.9-4.9 25.9-13.2L512 465.4l105.2 145.4c6 8.3 15.6 13.2 25.9 13.2H690c6.5 0 10.3-7.4 6.5-12.7l-178-246a7.95 7.95 0 0 0-12.9 0l-178 246A7.96 7.96 0 0 0 334 624z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M890.5 755.3L537.9 269.2c-12.8-17.6-39-17.6-51.7 0L133.5 755.3A8 8 0 0 0 140 768h75c5.1 0 9.9-2.5 12.9-6.6L512 369.8l284.1 391.6c3 4.1 7.8 6.6 12.9 6.6h75c6.5 0 10.3-7.4 6.5-12.7z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineUpload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 317.7h73.9V656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V317.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 163a8 8 0 0 0-12.6 0l-112 141.7c-4.1 5.3-.4 13 6.3 13zM878 626h-60c-4.4 0-8 3.6-8 8v154H214V634c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v198c0 17.7 14.3 32 32 32h684c17.7 0 32-14.3 32-32V634c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineUsb (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M760 432V144c0-17.7-14.3-32-32-32H296c-17.7 0-32 14.3-32 32v288c-66.2 0-120 52.1-120 116v356c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V548c0-24.3 21.6-44 48.1-44h495.8c26.5 0 48.1 19.7 48.1 44v356c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V548c0-63.9-53.8-116-120-116zm-424 0V184h352v248H336zm120-184h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm160 0h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineUserAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M678.3 642.4c24.2-13 51.9-20.4 81.4-20.4h.1c3 0 4.4-3.6 2.2-5.6a371.67 371.67 0 0 0-103.7-65.8c-.4-.2-.8-.3-1.2-.5C719.2 505 759.6 431.7 759.6 349c0-137-110.8-248-247.5-248S264.7 212 264.7 349c0 82.7 40.4 156 102.6 201.1-.4.2-.8.3-1.2.5-44.7 18.9-84.8 46-119.3 80.6a373.42 373.42 0 0 0-80.4 119.5A373.6 373.6 0 0 0 137 888.8a8 8 0 0 0 8 8.2h59.9c4.3 0 7.9-3.5 8-7.8 2-77.2 32.9-149.5 87.6-204.3C357 628.2 432.2 597 512.2 597c56.7 0 111.1 15.7 158 45.1a8.1 8.1 0 0 0 8.1.3zM512.2 521c-45.8 0-88.9-17.9-121.4-50.4A171.2 171.2 0 0 1 340.5 349c0-45.9 17.9-89.1 50.3-121.6S466.3 177 512.2 177s88.9 17.9 121.4 50.4A171.2 171.2 0 0 1 683.9 349c0 45.9-17.9 89.1-50.3 121.6C601.1 503.1 558 521 512.2 521zM880 759h-84v-84c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v84h-84c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h84v84c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-84h84c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineUserDelete (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M678.3 655.4c24.2-13 51.9-20.4 81.4-20.4h.1c3 0 4.4-3.6 2.2-5.6a371.67 371.67 0 0 0-103.7-65.8c-.4-.2-.8-.3-1.2-.5C719.2 518 759.6 444.7 759.6 362c0-137-110.8-248-247.5-248S264.7 225 264.7 362c0 82.7 40.4 156 102.6 201.1-.4.2-.8.3-1.2.5-44.7 18.9-84.8 46-119.3 80.6a373.42 373.42 0 0 0-80.4 119.5A373.6 373.6 0 0 0 137 901.8a8 8 0 0 0 8 8.2h59.9c4.3 0 7.9-3.5 8-7.8 2-77.2 32.9-149.5 87.6-204.3C357 641.2 432.2 610 512.2 610c56.7 0 111.1 15.7 158 45.1a8.1 8.1 0 0 0 8.1.3zM512.2 534c-45.8 0-88.9-17.9-121.4-50.4A171.2 171.2 0 0 1 340.5 362c0-45.9 17.9-89.1 50.3-121.6S466.3 190 512.2 190s88.9 17.9 121.4 50.4A171.2 171.2 0 0 1 683.9 362c0 45.9-17.9 89.1-50.3 121.6C601.1 516.1 558 534 512.2 534zM880 772H640c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h240c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineUserSwitch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"t\":\"1569683921137\",\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M759 335c0-137-111-248-248-248S263 198 263 335c0 82.8 40.6 156.2 103 201.2-0.4 0.2-0.7 0.3-0.9 0.4-44.7 18.9-84.8 46-119.3 80.6-34.5 34.5-61.5 74.7-80.4 119.5C146.9 780.5 137 827 136 874.8c-0.1 4.5 3.5 8.2 8 8.2h59.9c4.3 0 7.9-3.5 8-7.8 2-77.2 32.9-149.5 87.6-204.3C356 614.2 431 583 511 583c137 0 248-111 248-248zM511 507c-95 0-172-77-172-172s77-172 172-172 172 77 172 172-77 172-172 172zM616 728h264c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H703.5l47.2-60.1c1.1-1.4 1.7-3.2 1.7-4.9 0-4.4-3.6-8-8-8h-72.6c-4.9 0-9.5 2.3-12.6 6.1l-68.5 87.1c-4.4 5.6-6.8 12.6-6.8 19.8 0.1 17.7 14.4 32 32.1 32zM856 792H592c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h176.5l-47.2 60.1c-1.1 1.4-1.7 3.2-1.7 4.9 0 4.4 3.6 8 8 8h72.6c4.9 0 9.5-2.3 12.6-6.1l68.5-87.1c4.4-5.6 6.8-12.6 6.8-19.8-0.1-17.7-14.4-32-32.1-32z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineUser (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M858.5 763.6a374 374 0 0 0-80.6-119.5 375.63 375.63 0 0 0-119.5-80.6c-.4-.2-.8-.3-1.2-.5C719.5 518 760 444.7 760 362c0-137-111-248-248-248S264 225 264 362c0 82.7 40.5 156 102.8 201.1-.4.2-.8.3-1.2.5-44.8 18.9-85 46-119.5 80.6a375.63 375.63 0 0 0-80.6 119.5A371.7 371.7 0 0 0 136 901.8a8 8 0 0 0 8 8.2h60c4.4 0 7.9-3.5 8-7.8 2-77.2 33-149.5 87.8-204.3 56.7-56.7 132-87.9 212.2-87.9s155.5 31.2 212.2 87.9C779 752.7 810 825 812 902.2c.1 4.4 3.6 7.8 8 7.8h60a8 8 0 0 0 8-8.2c-1-47.8-10.9-94.3-29.5-138.2zM512 534c-45.9 0-89.1-17.9-121.6-50.4S340 407.9 340 362c0-45.9 17.9-89.1 50.4-121.6S466.1 190 512 190s89.1 17.9 121.6 50.4S684 316.1 684 362c0 45.9-17.9 89.1-50.4 121.6S557.9 534 512 534z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineUsergroupAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M892 772h-80v-80c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v80h-80c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h80v80c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-80h80c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM373.5 498.4c-.9-8.7-1.4-17.5-1.4-26.4 0-15.9 1.5-31.4 4.3-46.5.7-3.6-1.2-7.3-4.5-8.8-13.6-6.1-26.1-14.5-36.9-25.1a127.54 127.54 0 0 1-38.7-95.4c.9-32.1 13.8-62.6 36.3-85.6 24.7-25.3 57.9-39.1 93.2-38.7 31.9.3 62.7 12.6 86 34.4 7.9 7.4 14.7 15.6 20.4 24.4 2 3.1 5.9 4.4 9.3 3.2 17.6-6.1 36.2-10.4 55.3-12.4 5.6-.6 8.8-6.6 6.3-11.6-32.5-64.3-98.9-108.7-175.7-109.9-110.8-1.7-203.2 89.2-203.2 200 0 62.8 28.9 118.8 74.2 155.5-31.8 14.7-61.1 35-86.5 60.4-54.8 54.7-85.8 126.9-87.8 204a8 8 0 0 0 8 8.2h56.1c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5 29.4-29.4 65.4-49.8 104.7-59.7 3.8-1.1 6.4-4.8 5.9-8.8zM824 472c0-109.4-87.9-198.3-196.9-200C516.3 270.3 424 361.2 424 472c0 62.8 29 118.8 74.2 155.5a300.95 300.95 0 0 0-86.4 60.4C357 742.6 326 814.8 324 891.8a8 8 0 0 0 8 8.2h56c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5C505.8 695.7 563 672 624 672c110.4 0 200-89.5 200-200zm-109.5 90.5C690.3 586.7 658.2 600 624 600s-66.3-13.3-90.5-37.5a127.26 127.26 0 0 1-37.5-91.8c.3-32.8 13.4-64.5 36.3-88 24-24.6 56.1-38.3 90.4-38.7 33.9-.3 66.8 12.9 91 36.6 24.8 24.3 38.4 56.8 38.4 91.4-.1 34.2-13.4 66.3-37.6 90.5z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineUsergroupDelete (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M888 784H664c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h224c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM373.5 510.4c-.9-8.7-1.4-17.5-1.4-26.4 0-15.9 1.5-31.4 4.3-46.5.7-3.6-1.2-7.3-4.5-8.8-13.6-6.1-26.1-14.5-36.9-25.1a127.54 127.54 0 0 1-38.7-95.4c.9-32.1 13.8-62.6 36.3-85.6 24.7-25.3 57.9-39.1 93.2-38.7 31.9.3 62.7 12.6 86 34.4 7.9 7.4 14.7 15.6 20.4 24.4 2 3.1 5.9 4.4 9.3 3.2 17.6-6.1 36.2-10.4 55.3-12.4 5.6-.6 8.8-6.6 6.3-11.6-32.5-64.3-98.9-108.7-175.7-109.9-110.9-1.7-203.3 89.2-203.3 199.9 0 62.8 28.9 118.8 74.2 155.5-31.8 14.7-61.1 35-86.5 60.4-54.8 54.7-85.8 126.9-87.8 204a8 8 0 0 0 8 8.2h56.1c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5 29.4-29.4 65.4-49.8 104.7-59.7 3.9-1 6.5-4.7 6-8.7zM824 484c0-109.4-87.9-198.3-196.9-200C516.3 282.3 424 373.2 424 484c0 62.8 29 118.8 74.2 155.5a300.95 300.95 0 0 0-86.4 60.4C357 754.6 326 826.8 324 903.8a8 8 0 0 0 8 8.2h56c4.3 0 7.9-3.4 8-7.7 1.9-58 25.4-112.3 66.7-153.5C505.8 707.7 563 684 624 684c110.4 0 200-89.5 200-200zm-109.5 90.5C690.3 598.7 658.2 612 624 612s-66.3-13.3-90.5-37.5a127.26 127.26 0 0 1-37.5-91.8c.3-32.8 13.4-64.5 36.3-88 24-24.6 56.1-38.3 90.4-38.7 33.9-.3 66.8 12.9 91 36.6 24.8 24.3 38.4 56.8 38.4 91.4-.1 34.2-13.4 66.3-37.6 90.5z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineVerified (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"t\":\"1569683899926\",\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M447.8 588.8l-7.3-32.5c-0.2-1-0.6-1.9-1.1-2.7-2.5-3.7-7.4-4.7-11.1-2.2L405 567V411c0-4.4-3.6-8-8-8h-81c-4.4 0-8 3.6-8 8v36c0 4.4 3.6 8 8 8h37v192.4c0 1.7 0.5 3.3 1.5 4.7 2.6 3.6 7.6 4.4 11.2 1.8l79-56.8c2.6-1.9 3.8-5.1 3.1-8.3zM391.1 372.2l0.2 0.2c3.2 3 8.3 2.8 11.3-0.5l24.1-26.2c2.9-3.2 2.8-8.1-0.3-11.2l-53.7-52.1c-3.1-3-8.1-3-11.2 0.1l-24.7 24.7c-3.1 3.1-3.1 8.2 0.1 11.3l54.2 53.7z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 0.7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c0.2-8.8-6.6-18.3-14.9-21.2zM810 654.3L512 886.5 214 654.3V226.7l298-101.6 298 101.6v427.6z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M452 297v36c0 4.4 3.6 8 8 8h108v274h-38V405c0-4.4-3.6-8-8-8h-35c-4.4 0-8 3.6-8 8v210h-31c-4.4 0-8 3.6-8 8v37c0 4.4 3.6 8 8 8h244c4.4 0 8-3.6 8-8v-37c0-4.4-3.6-8-8-8h-72V493h58c4.4 0 8-3.6 8-8v-35c0-4.4-3.6-8-8-8h-58V341h63c4.4 0 8-3.6 8-8v-36c0-4.4-3.6-8-8-8H460c-4.4 0-8 3.6-8 8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineVerticalAlignBottom (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M859.9 780H164.1c-4.5 0-8.1 3.6-8.1 8v60c0 4.4 3.6 8 8.1 8h695.8c4.5 0 8.1-3.6 8.1-8v-60c0-4.4-3.6-8-8.1-8zM505.7 669a8 8 0 0 0 12.6 0l112-141.7c4.1-5.2.4-12.9-6.3-12.9h-74.1V176c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v338.3H400c-6.7 0-10.4 7.7-6.3 12.9l112 141.8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineVerticalAlignMiddle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M859.9 474H164.1c-4.5 0-8.1 3.6-8.1 8v60c0 4.4 3.6 8 8.1 8h695.8c4.5 0 8.1-3.6 8.1-8v-60c0-4.4-3.6-8-8.1-8zm-353.6-74.7c2.9 3.7 8.5 3.7 11.3 0l100.8-127.5c3.7-4.7.4-11.7-5.7-11.7H550V104c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v156h-62.8c-6 0-9.4 7-5.7 11.7l100.8 127.6zm11.4 225.4a7.14 7.14 0 0 0-11.3 0L405.6 752.3a7.23 7.23 0 0 0 5.7 11.7H474v156c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V764h62.8c6 0 9.4-7 5.7-11.7L517.7 624.7z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineVerticalAlignTop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M859.9 168H164.1c-4.5 0-8.1 3.6-8.1 8v60c0 4.4 3.6 8 8.1 8h695.8c4.5 0 8.1-3.6 8.1-8v-60c0-4.4-3.6-8-8.1-8zM518.3 355a8 8 0 0 0-12.6 0l-112 141.7a7.98 7.98 0 0 0 6.3 12.9h73.9V848c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V509.7H624c6.7 0 10.4-7.7 6.3-12.9L518.3 355z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineVerticalLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M762 164h-64c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h64c4.4 0 8-3.6 8-8V172c0-4.4-3.6-8-8-8zm-508 0v72.4c0 9.5 4.2 18.4 11.4 24.5L564.6 512 265.4 763.1c-7.2 6.1-11.4 15-11.4 24.5V860c0 6.8 7.9 10.5 13.1 6.1L689 512 267.1 157.9A7.95 7.95 0 0 0 254 164z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineVerticalRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M326 164h-64c-4.4 0-8 3.6-8 8v688c0 4.4 3.6 8 8 8h64c4.4 0 8-3.6 8-8V172c0-4.4-3.6-8-8-8zm444 72.4V164c0-6.8-7.9-10.5-13.1-6.1L335 512l421.9 354.1c5.2 4.4 13.1.7 13.1-6.1v-72.4c0-9.4-4.2-18.4-11.4-24.5L459.4 512l299.2-251.1c7.2-6.1 11.4-15.1 11.4-24.5z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineVideoCameraAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"t\":\"1569683915274\",\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M368 724H252V608c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v116H72c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h116v116c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V788h116c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M912 302.3L784 376V224c0-35.3-28.7-64-64-64H128c-35.3 0-64 28.7-64 64v352h72V232h576v560H448v72h272c35.3 0 64-28.7 64-64V648l128 73.7c21.3 12.3 48-3.1 48-27.6V330c0-24.6-26.7-40-48-27.7zM888 625l-104-59.8V458.9L888 399v226z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M320 360c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H208c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h112z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineVideoCamera (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M912 302.3L784 376V224c0-35.3-28.7-64-64-64H128c-35.3 0-64 28.7-64 64v576c0 35.3 28.7 64 64 64h592c35.3 0 64-28.7 64-64V648l128 73.7c21.3 12.3 48-3.1 48-27.6V330c0-24.6-26.7-40-48-27.7zM712 792H136V232h576v560zm176-167l-104-59.8V458.9L888 399v226zM208 360h112c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H208c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineWallet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 464H528V448h312v128zm0 264H184V184h656v200H496c-17.7 0-32 14.3-32 32v192c0 17.7 14.3 32 32 32h344v200zM580 512a40 40 0 1 0 80 0 40 40 0 1 0-80 0z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineWarning (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 720a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm16-304v184c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V416c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8zm475.7 440l-416-720c-6.2-10.7-16.9-16-27.7-16s-21.6 5.3-27.7 16l-416 720C56 877.4 71.4 904 96 904h832c24.6 0 40-26.6 27.7-48zm-783.5-27.9L512 239.9l339.8 588.2H172.2z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineWechatWork (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M845.784 581.585a135.867 135.867 0 0 0-47.042 19.049 114.236 114.236 0 0 1-51.41 31.075c2.613-17.554 11.313-33.577 24.455-45.418a169.303 169.303 0 0 0 23.409-55.017c-.061-27.838 22.44-50.459 50.265-50.534 27.827-.076 50.45 22.423 50.539 50.26.089 27.839-22.39 50.482-50.215 50.585zM753.568 460.83a168.829 168.829 0 0 0-54.808-23.68c-27.836 0-50.402-22.575-50.402-50.423 0-27.848 22.566-50.423 50.402-50.423 27.836 0 50.402 22.575 50.402 50.423a137.497 137.497 0 0 0 18.817 47.211 114.809 114.809 0 0 1 30.764 51.656 76.08 76.08 0 0 1-45.026-24.763h-.186zm-83.033-177.713C655.34 155.789 523.548 56.026 364.09 56.026c-169.874 0-308.088 113.097-308.088 252.19 2.72 78.1 43.941 149.778 110.063 191.385a311.284 311.284 0 0 0 33.602 21.588l-13.664 54.569c4.928 2.316 9.706 4.78 14.746 6.91l68.996-34.512c10.08 2.615 20.683 4.295 31.21 6.088 6.721 1.195 13.442 2.428 20.35 3.25a354.835 354.835 0 0 0 128.805-7.396 248.885 248.885 0 0 0 10.154 55.055 425.638 425.638 0 0 1-96.175 11.242 417.983 417.983 0 0 1-86.392-9.524l-125.186 62.526a27.619 27.619 0 0 1-29.98-3.137 28.019 28.019 0 0 1-9.67-28.611l22.401-90.239C53.176 495.186 2.463 405.506 0 308.216 0 137.973 163.004 0 364.09 0c190.93 0 347.29 124.527 362.521 282.818a244.967 244.967 0 0 0-26.47-2.614c-9.893.374-19.787 1.307-29.607 2.876zM554.237 481.934c16.764-3.362 32.706-9.786 47.042-19.049a114.236 114.236 0 0 1 51.447-31.001 76.466 76.466 0 0 1-24.491 45.344c-11.014 16.807-18.929 35.483-23.409 55.054.041 27.833-22.468 50.435-50.29 50.497-27.821.062-50.43-22.44-50.514-50.273-.082-27.833 22.393-50.469 50.215-50.572m90.798 121.314c16.652 11.168 35.17 19.236 54.659 23.904 20.386 0 38.764 12.286 46.565 31.127 7.801 18.842 3.49 40.53-10.926 54.95-14.414 14.422-36.093 18.736-54.927 10.931-18.834-7.804-31.114-26.19-31.114-46.585a136.736 136.736 0 0 0-18.668-47.285 114.714 114.714 0 0 1-30.54-51.805 76 76 0 0 1 44.951 25.062z\",\"transform\":\"translate(64 148)\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineWechat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M690.1 377.4c5.9 0 11.8.2 17.6.5-24.4-128.7-158.3-227.1-319.9-227.1C209 150.8 64 271.4 64 420.2c0 81.1 43.6 154.2 111.9 203.6a21.5 21.5 0 0 1 9.1 17.6c0 2.4-.5 4.6-1.1 6.9-5.5 20.3-14.2 52.8-14.6 54.3-.7 2.6-1.7 5.2-1.7 7.9 0 5.9 4.8 10.8 10.8 10.8 2.3 0 4.2-.9 6.2-2l70.9-40.9c5.3-3.1 11-5 17.2-5 3.2 0 6.4.5 9.5 1.4 33.1 9.5 68.8 14.8 105.7 14.8 6 0 11.9-.1 17.8-.4-7.1-21-10.9-43.1-10.9-66 0-135.8 132.2-245.8 295.3-245.8zm-194.3-86.5c23.8 0 43.2 19.3 43.2 43.1s-19.3 43.1-43.2 43.1c-23.8 0-43.2-19.3-43.2-43.1s19.4-43.1 43.2-43.1zm-215.9 86.2c-23.8 0-43.2-19.3-43.2-43.1s19.3-43.1 43.2-43.1 43.2 19.3 43.2 43.1-19.4 43.1-43.2 43.1zm586.8 415.6c56.9-41.2 93.2-102 93.2-169.7 0-124-120.8-224.5-269.9-224.5-149 0-269.9 100.5-269.9 224.5S540.9 847.5 690 847.5c30.8 0 60.6-4.4 88.1-12.3 2.6-.8 5.2-1.2 7.9-1.2 5.2 0 9.9 1.6 14.3 4.1l59.1 34c1.7 1 3.3 1.7 5.2 1.7a9 9 0 0 0 6.4-2.6 9 9 0 0 0 2.6-6.4c0-2.2-.9-4.4-1.4-6.6-.3-1.2-7.6-28.3-12.2-45.3-.5-1.9-.9-3.8-.9-5.7.1-5.9 3.1-11.2 7.6-14.5zM600.2 587.2c-19.9 0-36-16.1-36-35.9 0-19.8 16.1-35.9 36-35.9s36 16.1 36 35.9c0 19.8-16.2 35.9-36 35.9zm179.9 0c-19.9 0-36-16.1-36-35.9 0-19.8 16.1-35.9 36-35.9s36 16.1 36 35.9a36.08 36.08 0 0 1-36 35.9z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineWeiboCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-44.4 672C353.1 736 236 680.4 236 588.9c0-47.8 30.2-103.1 82.3-155.3 69.5-69.6 150.6-101.4 181.1-70.8 13.5 13.5 14.8 36.8 6.1 64.6-4.5 14 13.1 6.3 13.1 6.3 56.2-23.6 105.2-25 123.1.7 9.6 13.7 8.6 32.8-.2 55.1-4.1 10.2 1.3 11.8 9 14.1 31.7 9.8 66.9 33.6 66.9 75.5.2 69.5-99.7 156.9-249.8 156.9zm207.3-290.8a34.9 34.9 0 0 0-7.2-34.1 34.68 34.68 0 0 0-33.1-10.7 18.24 18.24 0 0 1-7.6-35.7c24.1-5.1 50.1 2.3 67.7 21.9 17.7 19.6 22.4 46.3 14.9 69.8a18.13 18.13 0 0 1-22.9 11.7 18.18 18.18 0 0 1-11.8-22.9zm106 34.3s0 .1 0 0a21.1 21.1 0 0 1-26.6 13.7 21.19 21.19 0 0 1-13.6-26.7c11-34.2 4-73.2-21.7-101.8a104.04 104.04 0 0 0-98.9-32.1 21.14 21.14 0 0 1-25.1-16.3 21.07 21.07 0 0 1 16.2-25.1c49.4-10.5 102.8 4.8 139.1 45.1 36.3 40.2 46.1 95.1 30.6 143.2zm-334.5 6.1c-91.4 9-160.7 65.1-154.7 125.2 5.9 60.1 84.8 101.5 176.2 92.5 91.4-9.1 160.7-65.1 154.7-125.3-5.9-60.1-84.8-101.5-176.2-92.4zm80.2 141.7c-18.7 42.3-72.3 64.8-117.8 50.1-43.9-14.2-62.5-57.7-43.3-96.8 18.9-38.4 68-60.1 111.5-48.8 45 11.7 68 54.2 49.6 95.5zm-93-32.2c-14.2-5.9-32.4.2-41.2 13.9-8.8 13.8-4.7 30.2 9.3 36.6 14.3 6.5 33.2.3 42-13.8 8.8-14.3 4.2-30.6-10.1-36.7zm34.9-14.5c-5.4-2.2-12.2.5-15.4 5.8-3.1 5.4-1.4 11.5 4.1 13.8 5.5 2.3 12.6-.3 15.8-5.8 3-5.6 1-11.8-4.5-13.8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineWeiboSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M433.6 595.1c-14.2-5.9-32.4.2-41.2 13.9-8.8 13.8-4.7 30.2 9.3 36.6 14.3 6.5 33.2.3 42-13.8 8.8-14.3 4.2-30.6-10.1-36.7zM880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM467.6 736C353.1 736 236 680.4 236 588.9c0-47.8 30.2-103.1 82.3-155.3 69.5-69.6 150.6-101.4 181.1-70.8 13.5 13.5 14.8 36.8 6.1 64.6-4.5 14 13.1 6.3 13.1 6.3 56.2-23.6 105.2-25 123.1.7 9.6 13.7 8.6 32.8-.2 55.1-4.1 10.2 1.3 11.8 9 14.1 31.7 9.8 66.9 33.6 66.9 75.5.2 69.5-99.7 156.9-249.8 156.9zm207.3-290.8a34.9 34.9 0 0 0-7.2-34.1 34.68 34.68 0 0 0-33.1-10.7 18.24 18.24 0 0 1-7.6-35.7c24.1-5.1 50.1 2.3 67.7 21.9 17.7 19.6 22.4 46.3 14.9 69.8a18.13 18.13 0 0 1-22.9 11.7 18.18 18.18 0 0 1-11.8-22.9zm106 34.3s0 .1 0 0a21.1 21.1 0 0 1-26.6 13.7 21.19 21.19 0 0 1-13.6-26.7c11-34.2 4-73.2-21.7-101.8a104.04 104.04 0 0 0-98.9-32.1 21.14 21.14 0 0 1-25.1-16.3 21.07 21.07 0 0 1 16.2-25.1c49.4-10.5 102.8 4.8 139.1 45.1 36.3 40.2 46.1 95.1 30.6 143.2zm-334.5 6.1c-91.4 9-160.7 65.1-154.7 125.2 5.9 60.1 84.8 101.5 176.2 92.5 91.4-9.1 160.7-65.1 154.7-125.3-5.9-60.1-84.8-101.5-176.2-92.4zm80.2 141.7c-18.7 42.3-72.3 64.8-117.8 50.1-43.9-14.2-62.5-57.7-43.3-96.8 18.9-38.4 68-60.1 111.5-48.8 45 11.7 68 54.2 49.6 95.5zm-58.1-46.7c-5.4-2.2-12.2.5-15.4 5.8-3.1 5.4-1.4 11.5 4.1 13.8 5.5 2.3 12.6-.3 15.8-5.8 3-5.6 1-11.8-4.5-13.8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineWeibo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M457.3 543c-68.1-17.7-145 16.2-174.6 76.2-30.1 61.2-1 129.1 67.8 151.3 71.2 23 155.2-12.2 184.4-78.3 28.7-64.6-7.2-131-77.6-149.2zm-52 156.2c-13.8 22.1-43.5 31.7-65.8 21.6-22-10-28.5-35.7-14.6-57.2 13.7-21.4 42.3-31 64.4-21.7 22.4 9.5 29.6 35 16 57.3zm45.5-58.5c-5 8.6-16.1 12.7-24.7 9.1-8.5-3.5-11.2-13.1-6.4-21.5 5-8.4 15.6-12.4 24.1-9.1 8.7 3.2 11.8 12.9 7 21.5zm334.5-197.2c15 4.8 31-3.4 35.9-18.3 11.8-36.6 4.4-78.4-23.2-109a111.39 111.39 0 0 0-106-34.3 28.45 28.45 0 0 0-21.9 33.8 28.39 28.39 0 0 0 33.8 21.8c18.4-3.9 38.3 1.8 51.9 16.7a54.2 54.2 0 0 1 11.3 53.3 28.45 28.45 0 0 0 18.2 36zm99.8-206c-56.7-62.9-140.4-86.9-217.7-70.5a32.98 32.98 0 0 0-25.4 39.3 33.12 33.12 0 0 0 39.3 25.5c55-11.7 114.4 5.4 154.8 50.1 40.3 44.7 51.2 105.7 34 159.1-5.6 17.4 3.9 36 21.3 41.7 17.4 5.6 36-3.9 41.6-21.2v-.1c24.1-75.4 8.9-161.1-47.9-223.9zM729 499c-12.2-3.6-20.5-6.1-14.1-22.1 13.8-34.7 15.2-64.7.3-86-28-40.1-104.8-37.9-192.8-1.1 0 0-27.6 12.1-20.6-9.8 13.5-43.5 11.5-79.9-9.6-101-47.7-47.8-174.6 1.8-283.5 110.6C127.3 471.1 80 557.5 80 632.2 80 775.1 263.2 862 442.5 862c235 0 391.3-136.5 391.3-245 0-65.5-55.2-102.6-104.8-118zM443 810.8c-143 14.1-266.5-50.5-275.8-144.5-9.3-93.9 99.2-181.5 242.2-195.6 143-14.2 266.5 50.5 275.8 144.4C694.4 709 586 796.6 443 810.8z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineWhatsApp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"t\":\"1569683925316\",\"viewBox\":\"0 0 1024 1024\",\"version\":\"1.1\"},\"child\":[{\"tag\":\"defs\",\"attr\":{},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M713.5 599.9c-10.9-5.6-65.2-32.2-75.3-35.8-10.1-3.8-17.5-5.6-24.8 5.6-7.4 11.1-28.4 35.8-35 43.3-6.4 7.4-12.9 8.3-23.8 2.8-64.8-32.4-107.3-57.8-150-131.1-11.3-19.5 11.3-18.1 32.4-60.2 3.6-7.4 1.8-13.7-1-19.3-2.8-5.6-24.8-59.8-34-81.9-8.9-21.5-18.1-18.5-24.8-18.9-6.4-0.4-13.7-0.4-21.1-0.4-7.4 0-19.3 2.8-29.4 13.7-10.1 11.1-38.6 37.8-38.6 92s39.5 106.7 44.9 114.1c5.6 7.4 77.7 118.6 188.4 166.5 70 30.2 97.4 32.8 132.4 27.6 21.3-3.2 65.2-26.6 74.3-52.5 9.1-25.8 9.1-47.9 6.4-52.5-2.7-4.9-10.1-7.7-21-13z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M925.2 338.4c-22.6-53.7-55-101.9-96.3-143.3-41.3-41.3-89.5-73.8-143.3-96.3C630.6 75.7 572.2 64 512 64h-2c-60.6 0.3-119.3 12.3-174.5 35.9-53.3 22.8-101.1 55.2-142 96.5-40.9 41.3-73 89.3-95.2 142.8-23 55.4-34.6 114.3-34.3 174.9 0.3 69.4 16.9 138.3 48 199.9v152c0 25.4 20.6 46 46 46h152.1c61.6 31.1 130.5 47.7 199.9 48h2.1c59.9 0 118-11.6 172.7-34.3 53.5-22.3 101.6-54.3 142.8-95.2 41.3-40.9 73.8-88.7 96.5-142 23.6-55.2 35.6-113.9 35.9-174.5 0.3-60.9-11.5-120-34.8-175.6z m-151.1 438C704 845.8 611 884 512 884h-1.7c-60.3-0.3-120.2-15.3-173.1-43.5l-8.4-4.5H188V695.2l-4.5-8.4C155.3 633.9 140.3 574 140 513.7c-0.4-99.7 37.7-193.3 107.6-263.8 69.8-70.5 163.1-109.5 262.8-109.9h1.7c50 0 98.5 9.7 144.2 28.9 44.6 18.7 84.6 45.6 119 80 34.3 34.3 61.3 74.4 80 119 19.4 46.2 29.1 95.2 28.9 145.8-0.6 99.6-39.7 192.9-110.1 262.7z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineWifi (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M723 620.5C666.8 571.6 593.4 542 513 542s-153.8 29.6-210.1 78.6a8.1 8.1 0 0 0-.8 11.2l36 42.9c2.9 3.4 8 3.8 11.4.9C393.1 637.2 450.3 614 513 614s119.9 23.2 163.5 61.5c3.4 2.9 8.5 2.5 11.4-.9l36-42.9c2.8-3.3 2.4-8.3-.9-11.2zm117.4-140.1C751.7 406.5 637.6 362 513 362s-238.7 44.5-327.5 118.4a8.05 8.05 0 0 0-1 11.3l36 42.9c2.8 3.4 7.9 3.8 11.2 1C308 472.2 406.1 434 513 434s205 38.2 281.2 101.6c3.4 2.8 8.4 2.4 11.2-1l36-42.9c2.8-3.4 2.4-8.5-1-11.3zm116.7-139C835.7 241.8 680.3 182 511 182c-168.2 0-322.6 59-443.7 157.4a8 8 0 0 0-1.1 11.4l36 42.9c2.8 3.3 7.8 3.8 11.1 1.1C222 306.7 360.3 254 511 254c151.8 0 291 53.5 400 142.7 3.4 2.8 8.4 2.3 11.2-1.1l36-42.9c2.9-3.4 2.4-8.5-1.1-11.3zM448 778a64 64 0 1 0 128 0 64 64 0 1 0-128 0z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineWindows (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M120.1 770.6L443 823.2V543.8H120.1v226.8zm63.4-163.5h196.2v141.6l-196.2-31.9V607.1zm340.3 226.5l382 62.2v-352h-382v289.8zm63.4-226.5h255.3v214.4l-255.3-41.6V607.1zm-63.4-415.7v288.8h382V128.1l-382 63.3zm318.7 225.5H587.3V245l255.3-42.3v214.2zm-722.4 63.3H443V201.9l-322.9 53.5v224.8zM183.5 309l196.2-32.5v140.4H183.5V309z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineWoman (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M712.8 548.8c53.6-53.6 83.2-125 83.2-200.8 0-75.9-29.5-147.2-83.2-200.8C659.2 93.6 587.8 64 512 64s-147.2 29.5-200.8 83.2C257.6 200.9 228 272.1 228 348c0 63.8 20.9 124.4 59.4 173.9 7.3 9.4 15.2 18.3 23.7 26.9 8.5 8.5 17.5 16.4 26.8 23.7 39.6 30.8 86.3 50.4 136.1 57V736H360c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h114v140c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V812h114c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8H550V629.5c61.5-8.2 118.2-36.1 162.8-80.7zM512 556c-55.6 0-107.7-21.6-147.1-60.9C325.6 455.8 304 403.6 304 348s21.6-107.7 60.9-147.1C404.2 161.5 456.4 140 512 140s107.7 21.6 147.1 60.9C698.4 240.2 720 292.4 720 348s-21.6 107.7-60.9 147.1C619.7 534.4 567.6 556 512 556z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\",\"fill\":\"currentColor\",\"fillRule\":\"evenodd\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M818 800 498.11 333.745l.546.437L787.084 0h-96.385L455.738 272 269.15 0H16.367l298.648 435.31-.036-.037L0 800h96.385l261.222-302.618L565.217 800zM230.96 72.727l448.827 654.546h-76.38L154.217 72.727z\",\"transform\":\"translate(103 112)\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineYahoo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M859.9 681.4h-14.1c-27.1 0-49.2 22.2-49.2 49.3v14.1c0 27.1 22.2 49.3 49.2 49.3h14.1c27.1 0 49.2-22.2 49.2-49.3v-14.1c0-27.1-22.2-49.3-49.2-49.3zM402.6 231C216.2 231 65 357 65 512.5S216.2 794 402.6 794s337.6-126 337.6-281.5S589.1 231 402.6 231zm0 507C245.1 738 121 634.6 121 512.5c0-62.3 32.3-119.7 84.9-161v48.4h37l159.8 159.9v65.3h-84.4v56.3h225.1v-56.3H459v-65.3l103.5-103.6h65.3v-56.3H459v65.3l-28.1 28.1-93.4-93.5h37v-56.3H216.4c49.4-35 114.3-56.6 186.2-56.6 157.6 0 281.6 103.4 281.6 225.5S560.2 738 402.6 738zm534.7-507H824.7c-15.5 0-27.7 12.6-27.1 28.1l13.1 366h84.4l65.4-366.4c2.7-15.2-7.8-27.7-23.2-27.7z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineYoutube (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M960 509.2c0-2.2 0-4.7-.1-7.6-.1-8.1-.3-17.2-.5-26.9-.8-27.9-2.2-55.7-4.4-81.9-3-36.1-7.4-66.2-13.4-88.8a139.52 139.52 0 0 0-98.3-98.5c-28.3-7.6-83.7-12.3-161.7-15.2-37.1-1.4-76.8-2.3-116.5-2.8-13.9-.2-26.8-.3-38.4-.4h-29.4c-11.6.1-24.5.2-38.4.4-39.7.5-79.4 1.4-116.5 2.8-78 3-133.5 7.7-161.7 15.2A139.35 139.35 0 0 0 82.4 304C76.3 326.6 72 356.7 69 392.8c-2.2 26.2-3.6 54-4.4 81.9-.3 9.7-.4 18.8-.5 26.9 0 2.9-.1 5.4-.1 7.6v5.6c0 2.2 0 4.7.1 7.6.1 8.1.3 17.2.5 26.9.8 27.9 2.2 55.7 4.4 81.9 3 36.1 7.4 66.2 13.4 88.8 12.8 47.9 50.4 85.7 98.3 98.5 28.2 7.6 83.7 12.3 161.7 15.2 37.1 1.4 76.8 2.3 116.5 2.8 13.9.2 26.8.3 38.4.4h29.4c11.6-.1 24.5-.2 38.4-.4 39.7-.5 79.4-1.4 116.5-2.8 78-3 133.5-7.7 161.7-15.2 47.9-12.8 85.5-50.5 98.3-98.5 6.1-22.6 10.4-52.7 13.4-88.8 2.2-26.2 3.6-54 4.4-81.9.3-9.7.4-18.8.5-26.9 0-2.9.1-5.4.1-7.6v-5.6zm-72 5.2c0 2.1 0 4.4-.1 7.1-.1 7.8-.3 16.4-.5 25.7-.7 26.6-2.1 53.2-4.2 77.9-2.7 32.2-6.5 58.6-11.2 76.3-6.2 23.1-24.4 41.4-47.4 47.5-21 5.6-73.9 10.1-145.8 12.8-36.4 1.4-75.6 2.3-114.7 2.8-13.7.2-26.4.3-37.8.3h-28.6l-37.8-.3c-39.1-.5-78.2-1.4-114.7-2.8-71.9-2.8-124.9-7.2-145.8-12.8-23-6.2-41.2-24.4-47.4-47.5-4.7-17.7-8.5-44.1-11.2-76.3-2.1-24.7-3.4-51.3-4.2-77.9-.3-9.3-.4-18-.5-25.7 0-2.7-.1-5.1-.1-7.1v-4.8c0-2.1 0-4.4.1-7.1.1-7.8.3-16.4.5-25.7.7-26.6 2.1-53.2 4.2-77.9 2.7-32.2 6.5-58.6 11.2-76.3 6.2-23.1 24.4-41.4 47.4-47.5 21-5.6 73.9-10.1 145.8-12.8 36.4-1.4 75.6-2.3 114.7-2.8 13.7-.2 26.4-.3 37.8-.3h28.6l37.8.3c39.1.5 78.2 1.4 114.7 2.8 71.9 2.8 124.9 7.2 145.8 12.8 23 6.2 41.2 24.4 47.4 47.5 4.7 17.7 8.5 44.1 11.2 76.3 2.1 24.7 3.4 51.3 4.2 77.9.3 9.3.4 18 .5 25.7 0 2.7.1 5.1.1 7.1v4.8zM423 646l232-135-232-133z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineYuque (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M854.6 370.6c-9.9-39.4 9.9-102.2 73.4-124.4l-67.9-3.6s-25.7-90-143.6-98c-117.8-8.1-194.9-3-195-3 .1 0 87.4 55.6 52.4 154.7-25.6 52.5-65.8 95.6-108.8 144.7-1.3 1.3-2.5 2.6-3.5 3.7C319.4 605 96 860 96 860c245.9 64.4 410.7-6.3 508.2-91.1 20.5-.2 35.9-.3 46.3-.3 135.8 0 250.6-117.6 245.9-248.4-3.2-89.9-31.9-110.2-41.8-149.6zm-204.1 334c-10.6 0-26.2.1-46.8.3l-23.6.2-17.8 15.5c-47.1 41-104.4 71.5-171.4 87.6-52.5 12.6-110 16.2-172.7 9.6 18-20.5 36.5-41.6 55.4-63.1 92-104.6 173.8-197.5 236.9-268.5l1.4-1.4 1.3-1.5c4.1-4.6 20.6-23.3 24.7-28.1 9.7-11.1 17.3-19.9 24.5-28.6 30.7-36.7 52.2-67.8 69-102.2l1.6-3.3 1.2-3.4c13.7-38.8 15.4-76.9 6.2-112.8 22.5.7 46.5 1.9 71.7 3.6 33.3 2.3 55.5 12.9 71.1 29.2 5.8 6 10.2 12.5 13.4 18.7 1 2 1.7 3.6 2.3 5l5 17.7c-15.7 34.5-19.9 73.3-11.4 107.2 3 11.8 6.9 22.4 12.3 34.4 2.1 4.7 9.5 20.1 11 23.3 10.3 22.7 15.4 43 16.7 78.7 3.3 94.6-82.7 181.9-182 181.9z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineZhihu (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M564.7 230.1V803h60l25.2 71.4L756.3 803h131.5V230.1H564.7zm247.7 497h-59.9l-75.1 50.4-17.8-50.4h-18V308.3h170.7v418.8zM526.1 486.9H393.3c2.1-44.9 4.3-104.3 6.6-172.9h130.9l-.1-8.1c0-.6-.2-14.7-2.3-29.1-2.1-15-6.6-34.9-21-34.9H287.8c4.4-20.6 15.7-69.7 29.4-93.8l6.4-11.2-12.9-.7c-.8 0-19.6-.9-41.4 10.6-35.7 19-51.7 56.4-58.7 84.4-18.4 73.1-44.6 123.9-55.7 145.6-3.3 6.4-5.3 10.2-6.2 12.8-1.8 4.9-.8 9.8 2.8 13 10.5 9.5 38.2-2.9 38.5-3 .6-.3 1.3-.6 2.2-1 13.9-6.3 55.1-25 69.8-84.5h56.7c.7 32.2 3.1 138.4 2.9 172.9h-141l-2.1 1.5c-23.1 16.9-30.5 63.2-30.8 65.2l-1.4 9.2h167c-12.3 78.3-26.5 113.4-34 127.4-3.7 7-7.3 14-10.7 20.8-21.3 42.2-43.4 85.8-126.3 153.6-3.6 2.8-7 8-4.8 13.7 2.4 6.3 9.3 9.1 24.6 9.1 5.4 0 11.8-.3 19.4-1 49.9-4.4 100.8-18 135.1-87.6 17-35.1 31.7-71.7 43.9-108.9L497 850l5-12c.8-1.9 19-46.3 5.1-95.9l-.5-1.8-108.1-123-22 16.6c6.4-26.1 10.6-49.9 12.5-71.1h158.7v-8c0-40.1-18.5-63.9-19.2-64.9l-2.4-3z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineZoomIn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M637 443H519V309c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v134H325c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h118v134c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V519h118c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zm284 424L775 721c122.1-148.9 113.6-369.5-26-509-148-148.1-388.4-148.1-537 0-148.1 148.6-148.1 389 0 537 139.5 139.6 360.1 148.1 509 26l146 146c3.2 2.8 8.3 2.8 11 0l43-43c2.8-2.7 2.8-7.8 0-11zM696 696c-118.8 118.7-311.2 118.7-430 0-118.7-118.8-118.7-311.2 0-430 118.8-118.7 311.2-118.7 430 0 118.7 118.8 118.7 311.2 0 430z\"},\"child\":[]}]})(props);\n};\nexport function AiOutlineZoomOut (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M637 443H325c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h312c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zm284 424L775 721c122.1-148.9 113.6-369.5-26-509-148-148.1-388.4-148.1-537 0-148.1 148.6-148.1 389 0 537 139.5 139.6 360.1 148.1 509 26l146 146c3.2 2.8 8.3 2.8 11 0l43-43c2.8-2.7 2.8-7.8 0-11zM696 696c-118.8 118.7-311.2 118.7-430 0-118.7-118.8-118.7-311.2 0-430 118.8-118.7 311.2-118.7 430 0 118.7 118.8 118.7 311.2 0 430z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneAccountBook (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M712 304c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-48H384v48c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-48H184v584h656V256H712v48zm-65.6 121.8l-89.3 164.1h49.1c4.4 0 8 3.6 8 8v21.3c0 4.4-3.6 8-8 8h-65.4v33.7h65.4c4.4 0 8 3.6 8 8v21.3c0 4.4-3.6 8-8 8h-65.4V752c0 4.4-3.6 8-8 8h-41.3c-4.4 0-8-3.6-8-8v-53.8h-65.1c-4.4 0-8-3.6-8-8v-21.3c0-4.4 3.6-8 8-8h65.1v-33.7h-65.1c-4.4 0-8-3.6-8-8v-21.3c0-4.4 3.6-8 8-8H467l-89.3-164c-2.1-3.9-.7-8.8 3.2-10.9 1.1-.7 2.5-1 3.8-1h46a8 8 0 0 1 7.1 4.4l73.4 145.4h2.8l73.4-145.4c1.3-2.7 4.1-4.4 7.1-4.4h45c4.5 0 8 3.6 7.9 8 0 1.3-.4 2.6-1 3.8z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M639.5 414h-45c-3 0-5.8 1.7-7.1 4.4L514 563.8h-2.8l-73.4-145.4a8 8 0 0 0-7.1-4.4h-46c-1.3 0-2.7.3-3.8 1-3.9 2.1-5.3 7-3.2 10.9l89.3 164h-48.6c-4.4 0-8 3.6-8 8v21.3c0 4.4 3.6 8 8 8h65.1v33.7h-65.1c-4.4 0-8 3.6-8 8v21.3c0 4.4 3.6 8 8 8h65.1V752c0 4.4 3.6 8 8 8h41.3c4.4 0 8-3.6 8-8v-53.8h65.4c4.4 0 8-3.6 8-8v-21.3c0-4.4-3.6-8-8-8h-65.4v-33.7h65.4c4.4 0 8-3.6 8-8v-21.3c0-4.4-3.6-8-8-8h-49.1l89.3-164.1c.6-1.2 1-2.5 1-3.8.1-4.4-3.4-8-7.9-8z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v584z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneAlert (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M340 585c0-5.5 4.5-10 10-10h44c5.5 0 10 4.5 10 10v171h355V563c0-136.4-110.6-247-247-247S265 426.6 265 563v193h75V585z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M216.9 310.5l39.6-39.6c3.1-3.1 3.1-8.2 0-11.3l-67.9-67.9a8.03 8.03 0 0 0-11.3 0l-39.6 39.6a8.03 8.03 0 0 0 0 11.3l67.9 67.9c3.1 3.1 8.1 3.1 11.3 0zm669.6-79.2l-39.6-39.6a8.03 8.03 0 0 0-11.3 0l-67.9 67.9a8.03 8.03 0 0 0 0 11.3l39.6 39.6c3.1 3.1 8.2 3.1 11.3 0l67.9-67.9c3.1-3.2 3.1-8.2 0-11.3zM484 180h56c4.4 0 8-3.6 8-8V76c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v96c0 4.4 3.6 8 8 8zm348 712H192c-17.7 0-32 14.3-32 32v24c0 4.4 3.6 8 8 8h688c4.4 0 8-3.6 8-8v-24c0-17.7-14.3-32-32-32zm-639-96c0 17.7 14.3 32 32 32h574c17.7 0 32-14.3 32-32V563c0-176.2-142.8-319-319-319S193 386.8 193 563v233zm72-233c0-136.4 110.6-247 247-247s247 110.6 247 247v193H404V585c0-5.5-4.5-10-10-10h-44c-5.5 0-10 4.5-10 10v171h-75V563z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneApi (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M148.2 674.6zm106.7-92.3c-25 25-38.7 58.1-38.7 93.4s13.8 68.5 38.7 93.4c25 25 58.1 38.7 93.4 38.7 35.3 0 68.5-13.8 93.4-38.7l59.4-59.4-186.8-186.8-59.4 59.4zm420.8-366.1c-35.3 0-68.5 13.8-93.4 38.7l-59.4 59.4 186.8 186.8 59.4-59.4c24.9-25 38.7-58.1 38.7-93.4s-13.8-68.5-38.7-93.4c-25-25-58.1-38.7-93.4-38.7z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M578.9 546.7a8.03 8.03 0 0 0-11.3 0L501 613.3 410.7 523l66.7-66.7c3.1-3.1 3.1-8.2 0-11.3L441 408.6a8.03 8.03 0 0 0-11.3 0L363 475.3l-43-43a7.85 7.85 0 0 0-5.7-2.3c-2 0-4.1.8-5.7 2.3L206.8 534.2a199.45 199.45 0 0 0-58.6 140.4c-.2 39.5 11.2 79.1 34.3 113.1l-76.1 76.1a8.03 8.03 0 0 0 0 11.3l42.4 42.4c1.6 1.6 3.6 2.3 5.7 2.3s4.1-.8 5.7-2.3l76.1-76.1c33.7 22.9 72.9 34.3 112.1 34.3 51.2 0 102.4-19.5 141.5-58.6l101.9-101.9c3.1-3.1 3.1-8.2 0-11.3l-43-43 66.7-66.7c3.1-3.1 3.1-8.2 0-11.3l-36.6-36.2zM441.7 769.1a131.32 131.32 0 0 1-93.4 38.7c-35.3 0-68.4-13.7-93.4-38.7-24.9-24.9-38.7-58.1-38.7-93.4s13.7-68.4 38.7-93.4l59.4-59.4 186.8 186.8-59.4 59.4zm476-620.3l-42.4-42.4c-1.6-1.6-3.6-2.3-5.7-2.3s-4.1.8-5.7 2.3l-76.1 76.1a199.27 199.27 0 0 0-112.1-34.3c-51.2 0-102.4 19.5-141.5 58.6L432.3 308.7a8.03 8.03 0 0 0 0 11.3L704 591.7c1.6 1.6 3.6 2.3 5.7 2.3 2 0 4.1-.8 5.7-2.3l101.9-101.9c68.9-69 77-175.7 24.3-253.5l76.1-76.1c3.1-3.2 3.1-8.3 0-11.4zM769.1 441.7l-59.4 59.4-186.8-186.8 59.4-59.4c24.9-24.9 58.1-38.7 93.4-38.7s68.4 13.7 93.4 38.7c24.9 24.9 38.7 58.1 38.7 93.4s-13.8 68.4-38.7 93.4z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneAppstore (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M864 144H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm-52 268H612V212h200v200zM464 544H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16zm-52 268H212V612h200v200zm52-668H160c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V160c0-8.8-7.2-16-16-16zm-52 268H212V212h200v200zm452 132H560c-8.8 0-16 7.2-16 16v304c0 8.8 7.2 16 16 16h304c8.8 0 16-7.2 16-16V560c0-8.8-7.2-16-16-16zm-52 268H612V612h200v200z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M212 212h200v200H212zm400 0h200v200H612zM212 612h200v200H212zm400 0h200v200H612z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneAudio (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M512 552c54.3 0 98-43.2 98-96V232c0-52.8-43.7-96-98-96s-98 43.2-98 96v224c0 52.8 43.7 96 98 96z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M842 454c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 140.3-113.7 254-254 254S258 594.3 258 454c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8 0 168.7 126.6 307.9 290 327.6V884H326.7c-13.7 0-24.7 14.3-24.7 32v36c0 4.4 2.8 8 6.2 8h407.6c3.4 0 6.2-3.6 6.2-8v-36c0-17.7-11-32-24.7-32H548V782.1c165.3-18 294-158 294-328.1z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M512 624c93.9 0 170-75.2 170-168V232c0-92.8-76.1-168-170-168s-170 75.2-170 168v224c0 92.8 76.1 168 170 168zm-98-392c0-52.8 43.7-96 98-96s98 43.2 98 96v224c0 52.8-43.7 96-98 96s-98-43.2-98-96V232z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneBank (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M240.9 393.9h542.2L512 196.7z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M894 462c30.9 0 43.8-39.7 18.7-58L530.8 126.2a31.81 31.81 0 0 0-37.6 0L111.3 404c-25.1 18.2-12.2 58 18.8 58H192v374h-72c-4.4 0-8 3.6-8 8v52c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-52c0-4.4-3.6-8-8-8h-72V462h62zM381 836H264V462h117v374zm189 0H453V462h117v374zm190 0H642V462h118v374zM240.9 393.9L512 196.7l271.1 197.2H240.9z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneBell (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M512 220c-55.6 0-107.8 21.6-147.1 60.9S304 372.4 304 428v340h416V428c0-55.6-21.6-107.8-60.9-147.1S567.6 220 512 220zm280 208c0-141.1-104.3-257.8-240-277.2v.1c135.7 19.4 240 136 240 277.1zM472 150.9v-.1C336.3 170.2 232 286.9 232 428c0-141.1 104.3-257.7 240-277.1z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M816 768h-24V428c0-141.1-104.3-257.7-240-277.1V112c0-22.1-17.9-40-40-40s-40 17.9-40 40v38.9c-135.7 19.4-240 136-240 277.1v340h-24c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h216c0 61.8 50.2 112 112 112s112-50.2 112-112h216c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM512 888c-26.5 0-48-21.5-48-48h96c0 26.5-21.5 48-48 48zm208-120H304V428c0-55.6 21.6-107.8 60.9-147.1S456.4 220 512 220c55.6 0 107.8 21.6 147.1 60.9S720 372.4 720 428v340z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneBook (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-260 72h96v209.9L621.5 312 572 347.4V136zM232 888V136h280v296.9c0 3.3 1 6.6 3 9.3a15.9 15.9 0 0 0 22.3 3.7l83.8-59.9 81.4 59.4c2.7 2 6 3.1 9.4 3.1 8.8 0 16-7.2 16-16V136h64v752H232z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M668 345.9V136h-96v211.4l49.5-35.4z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M727.9 136v296.5c0 8.8-7.2 16-16 16-3.4 0-6.7-1.1-9.4-3.1L621.1 386l-83.8 59.9a15.9 15.9 0 0 1-22.3-3.7c-2-2.7-3-6-3-9.3V136H232v752h559.9V136h-64z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneBoxPlot (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M296 368h88v288h-88zm152 0h280v288H448z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M952 224h-52c-4.4 0-8 3.6-8 8v248h-92V304c0-4.4-3.6-8-8-8H232c-4.4 0-8 3.6-8 8v176h-92V232c0-4.4-3.6-8-8-8H72c-4.4 0-8 3.6-8 8v560c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8V548h92v172c0 4.4 3.6 8 8 8h560c4.4 0 8-3.6 8-8V548h92v244c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8V232c0-4.4-3.6-8-8-8zM384 656h-88V368h88v288zm344 0H448V368h280v288z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneBug (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M308 412v268c0 36.779 9.678 71.962 27.805 102.907a205.39 205.39 0 0 0 73.288 73.288C440.038 874.322 475.22 884 512 884c36.779 0 71.962-9.678 102.907-27.805a205.39 205.39 0 0 0 73.288-73.288C706.322 751.962 716 716.78 716 680V412H308zm484 172v96c0 6.503-.222 12.954-.658 19.346C859.931 728.636 908 796.705 908 876a8 8 0 0 1-8 8h-56a8 8 0 0 1-8-8c0-44.24-23.94-82.888-59.57-103.697a278.635 278.635 0 0 1-22.658 49.018 281.39 281.39 0 0 1-100.45 100.45C611.84 946.072 563.546 960 512 960s-99.84-13.929-141.321-38.228a281.39 281.39 0 0 1-100.45-100.45 278.635 278.635 0 0 1-22.658-49.019C211.94 793.113 188 831.76 188 876a8 8 0 0 1-8 8h-56a8 8 0 0 1-8-8c0-79.295 48.07-147.363 116.658-176.654A284.122 284.122 0 0 1 232 680v-96H84a8 8 0 0 1-8-8v-56a8 8 0 0 1 8-8h148V412c-76.768 0-139-62.232-139-139a8 8 0 0 1 8-8h60a8 8 0 0 1 8 8c0 34.794 28.206 63 63 63h560c34.794 0 63-28.206 63-63a8 8 0 0 1 8-8h60a8 8 0 0 1 8 8c0 76.768-62.232 139-139 139v100h148a8 8 0 0 1 8 8v56a8 8 0 0 1-8 8H792zM368 272a8 8 0 0 1-8 8h-56a8 8 0 0 1-8-8c0-40.039 8.779-76.746 25.9-108.068 17.235-31.526 42.506-56.797 74.032-74.031C427.254 72.779 463.962 64 504 64h16c40.039 0 76.746 8.779 108.068 25.9 31.526 17.235 56.797 42.506 74.031 74.032C719.221 195.254 728 231.962 728 272a8 8 0 0 1-8 8h-56a8 8 0 0 1-8-8c0-28.326-5.938-53.154-17.077-73.531-10.625-19.437-25.955-34.767-45.392-45.392C573.154 141.937 548.326 136 520 136h-16c-28.326 0-53.154 5.938-73.531 17.077-19.437 10.625-34.767 25.955-45.392 45.392C373.937 218.846 368 243.674 368 272z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M308 412v268c0 36.779 9.678 71.962 27.805 102.907a205.39 205.39 0 0 0 73.288 73.288C440.038 874.322 475.22 884 512 884c36.779 0 71.962-9.678 102.907-27.805a205.39 205.39 0 0 0 73.288-73.288C706.322 751.962 716 716.78 716 680V412H308z\",\"fill\":\"#E6E6E6\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneBuild (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M144 546h200v200H144zm268-268h200v200H412z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M916 210H376c-17.7 0-32 14.3-32 32v236H108c-17.7 0-32 14.3-32 32v272c0 17.7 14.3 32 32 32h540c17.7 0 32-14.3 32-32V546h236c17.7 0 32-14.3 32-32V242c0-17.7-14.3-32-32-32zM344 746H144V546h200v200zm268 0H412V546h200v200zm0-268H412V278h200v200zm268 0H680V278h200v200z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneBulb (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M512 136c-141.4 0-256 114.6-256 256 0 92.5 49.4 176.3 128.1 221.8l35.9 20.8V752h184V634.6l35.9-20.8C718.6 568.3 768 484.5 768 392c0-141.4-114.6-256-256-256z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M632 888H392c-4.4 0-8 3.6-8 8v32c0 17.7 14.3 32 32 32h192c17.7 0 32-14.3 32-32v-32c0-4.4-3.6-8-8-8zM512 64c-181.1 0-328 146.9-328 328 0 121.4 66 227.4 164 284.1V792c0 17.7 14.3 32 32 32h264c17.7 0 32-14.3 32-32V676.1c98-56.7 164-162.7 164-284.1 0-181.1-146.9-328-328-328zm127.9 549.8L604 634.6V752H420V634.6l-35.9-20.8C305.4 568.3 256 484.5 256 392c0-141.4 114.6-256 256-256s256 114.6 256 256c0 92.5-49.4 176.3-128.1 221.8z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneCalculator (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M184 840h656V184H184v656zm256.2-75h-50.8c-2.2 0-4.5-1.1-5.9-2.9L348 718.6l-35.5 43.5a7.38 7.38 0 0 1-5.9 2.9h-50.8c-6.6 0-10.2-7.9-5.8-13.1l62.7-76.8-61.2-74.9c-4.3-5.2-.7-13.1 5.9-13.1h50.9c2.2 0 4.5 1.1 5.9 2.9l34 41.6 34-41.6c1.5-1.9 3.6-2.9 5.9-2.9h50.8c6.6 0 10.2 7.9 5.9 13.1L383.5 675l62.7 76.8c4.2 5.3.6 13.2-6 13.2zM576 335c0-2.2 1.4-4 3.2-4h193.5c1.9 0 3.3 1.8 3.3 4v48c0 2.2-1.4 4-3.2 4H579.2c-1.8 0-3.2-1.8-3.2-4v-48zm0 265c0-2.2 1.4-4 3.2-4h193.5c1.9 0 3.3 1.8 3.3 4v48c0 2.2-1.4 4-3.2 4H579.2c-1.8 0-3.2-1.8-3.2-4v-48zm0 104c0-2.2 1.4-4 3.2-4h193.5c1.9 0 3.3 1.8 3.3 4v48c0 2.2-1.4 4-3.2 4H579.2c-1.8 0-3.2-1.8-3.2-4v-48zM248 335c0-2.2 1.4-4 3.2-4H320v-68.8c0-1.8 1.8-3.2 4-3.2h48c2.2 0 4 1.4 4 3.2V331h68.7c1.9 0 3.3 1.8 3.3 4v48c0 2.2-1.4 4-3.2 4H376v68.7c0 1.9-1.8 3.3-4 3.3h-48c-2.2 0-4-1.4-4-3.2V387h-68.8c-1.8 0-3.2-1.8-3.2-4v-48z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M383.5 675l61.3-74.8c4.3-5.2.7-13.1-5.9-13.1h-50.8c-2.3 0-4.4 1-5.9 2.9l-34 41.6-34-41.6a7.69 7.69 0 0 0-5.9-2.9h-50.9c-6.6 0-10.2 7.9-5.9 13.1l61.2 74.9-62.7 76.8c-4.4 5.2-.8 13.1 5.8 13.1h50.8c2.3 0 4.4-1 5.9-2.9l35.5-43.5 35.5 43.5c1.4 1.8 3.7 2.9 5.9 2.9h50.8c6.6 0 10.2-7.9 6-13.2L383.5 675zM251.2 387H320v68.8c0 1.8 1.8 3.2 4 3.2h48c2.2 0 4-1.4 4-3.3V387h68.8c1.8 0 3.2-1.8 3.2-4v-48c0-2.2-1.4-4-3.3-4H376v-68.8c0-1.8-1.8-3.2-4-3.2h-48c-2.2 0-4 1.4-4 3.2V331h-68.8c-1.8 0-3.2 1.8-3.2 4v48c0 2.2 1.4 4 3.2 4zm328 369h193.6c1.8 0 3.2-1.8 3.2-4v-48c0-2.2-1.4-4-3.3-4H579.2c-1.8 0-3.2 1.8-3.2 4v48c0 2.2 1.4 4 3.2 4zm0-104h193.6c1.8 0 3.2-1.8 3.2-4v-48c0-2.2-1.4-4-3.3-4H579.2c-1.8 0-3.2 1.8-3.2 4v48c0 2.2 1.4 4 3.2 4zm0-265h193.6c1.8 0 3.2-1.8 3.2-4v-48c0-2.2-1.4-4-3.3-4H579.2c-1.8 0-3.2 1.8-3.2 4v48c0 2.2 1.4 4 3.2 4z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneCalendar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M712 304c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-48H384v48c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-48H184v136h656V256H712v48z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V460h656v380zm0-448H184V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v136z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneCamera (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M864 320H677.2l-17.1-47.8-22.9-64.2H386.7l-22.9 64.2-17.1 47.8H160c-4.4 0-8 3.6-8 8v456c0 4.4 3.6 8 8 8h704c4.4 0 8-3.6 8-8V328c0-4.4-3.6-8-8-8zM512 704c-88.4 0-160-71.6-160-160s71.6-160 160-160 160 71.6 160 160-71.6 160-160 160z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M512 384c-88.4 0-160 71.6-160 160s71.6 160 160 160 160-71.6 160-160-71.6-160-160-160zm0 256c-53 0-96-43-96-96s43-96 96-96 96 43 96 96-43 96-96 96z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M864 248H728l-32.4-90.8a32.07 32.07 0 0 0-30.2-21.2H358.6c-13.5 0-25.6 8.5-30.1 21.2L296 248H160c-44.2 0-80 35.8-80 80v456c0 44.2 35.8 80 80 80h704c44.2 0 80-35.8 80-80V328c0-44.2-35.8-80-80-80zm8 536c0 4.4-3.6 8-8 8H160c-4.4 0-8-3.6-8-8V328c0-4.4 3.6-8 8-8h186.7l17.1-47.8 22.9-64.2h250.5l22.9 64.2 17.1 47.8H864c4.4 0 8 3.6 8 8v456z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneCar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M199.6 474L184 517v237h656V517l-15.6-43H199.6zM264 621c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zm388 75c0 4.4-3.6 8-8 8H380c-4.4 0-8-3.6-8-8v-84c0-4.4 3.6-8 8-8h40c4.4 0 8 3.6 8 8v36h168v-36c0-4.4 3.6-8 8-8h40c4.4 0 8 3.6 8 8v84zm108-75c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M720 581a40 40 0 1 0 80 0 40 40 0 1 0-80 0z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M959 413.4L935.3 372a8 8 0 0 0-10.9-2.9l-50.7 29.6-78.3-216.2a63.9 63.9 0 0 0-60.9-44.4H301.2c-34.7 0-65.5 22.4-76.2 55.5l-74.6 205.2-50.8-29.6a8 8 0 0 0-10.9 2.9L65 413.4c-2.2 3.8-.9 8.6 2.9 10.8l60.4 35.2-14.5 40c-1.2 3.2-1.8 6.6-1.8 10v348.2c0 15.7 11.8 28.4 26.3 28.4h67.6c12.3 0 23-9.3 25.6-22.3l7.7-37.7h545.6l7.7 37.7c2.7 13 13.3 22.3 25.6 22.3h67.6c14.5 0 26.3-12.7 26.3-28.4V509.4c0-3.4-.6-6.8-1.8-10l-14.5-40 60.3-35.2a8 8 0 0 0 3-10.8zM292.7 218.1l.5-1.3.4-1.3c1.1-3.3 4.1-5.5 7.6-5.5h427.6l75.4 208H220l72.7-199.9zM840 754H184V517l15.6-43h624.8l15.6 43v237z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M224 581a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm420 23h-40c-4.4 0-8 3.6-8 8v36H428v-36c0-4.4-3.6-8-8-8h-40c-4.4 0-8 3.6-8 8v84c0 4.4 3.6 8 8 8h264c4.4 0 8-3.6 8-8v-84c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneCarryOut (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M880 184H712v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H384v-64c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v64H144c-17.7 0-32 14.3-32 32v664c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V216c0-17.7-14.3-32-32-32zm-40 656H184V256h128v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h256v48c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-48h128v584z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M712 304c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-48H384v48c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-48H184v584h656V256H712v48zm-17.5 128.8L481.9 725.5a16.1 16.1 0 0 1-26 0l-126.4-174c-3.8-5.3 0-12.7 6.5-12.7h55.2c5.2 0 10 2.5 13 6.6l64.7 89 150.9-207.8c3-4.1 7.9-6.6 13-6.6H688c6.5 0 10.3 7.4 6.5 12.8z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M688 420h-55.2c-5.1 0-10 2.5-13 6.6L468.9 634.4l-64.7-89c-3-4.1-7.8-6.6-13-6.6H336c-6.5 0-10.3 7.4-6.5 12.7l126.4 174a16.1 16.1 0 0 0 26 0l212.6-292.7c3.8-5.4 0-12.8-6.5-12.8z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneCheckCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm193.4 225.7l-210.6 292a31.8 31.8 0 0 1-51.7 0L318.5 484.9c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.3 0 19.9 5 25.9 13.3l71.2 98.8 157.2-218c6-8.4 15.7-13.3 25.9-13.3H699c6.5 0 10.3 7.4 6.4 12.7z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M699 353h-46.9c-10.2 0-19.9 4.9-25.9 13.3L469 584.3l-71.2-98.8c-6-8.3-15.6-13.3-25.9-13.3H325c-6.5 0-10.3 7.4-6.5 12.7l124.6 172.8a31.8 31.8 0 0 0 51.7 0l210.6-292c3.9-5.3.1-12.7-6.4-12.7z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneCheckSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M184 840h656V184H184v656zm130-367.8h46.9c10.2 0 19.9 4.9 25.9 13.3l71.2 98.8 157.2-218c6-8.3 15.6-13.3 25.9-13.3H688c6.5 0 10.3 7.4 6.5 12.7l-210.6 292a31.8 31.8 0 0 1-51.7 0L307.5 484.9c-3.8-5.3 0-12.7 6.5-12.7z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M432.2 657.7a31.8 31.8 0 0 0 51.7 0l210.6-292c3.8-5.3 0-12.7-6.5-12.7h-46.9c-10.3 0-19.9 5-25.9 13.3L458 584.3l-71.2-98.8c-6-8.4-15.7-13.3-25.9-13.3H314c-6.5 0-10.3 7.4-6.5 12.7l124.7 172.8z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneCiCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm-63.5 522.8c49.3 0 82.8-29.4 87-72.4.4-4.1 3.8-7.3 8-7.3h52.7c2.4 0 4.4 2 4.4 4.4 0 77.4-64.3 132.5-152.3 132.5C345.4 720 286 651.4 286 537.4v-49C286 373.5 345.4 304 448.3 304c88.3 0 152.3 56.9 152.3 138.1 0 2.4-2 4.4-4.4 4.4h-52.6c-4.2 0-7.6-3.2-8-7.4-3.9-46.1-37.5-77.6-87-77.6-61.1 0-95.6 45.4-95.7 126.8v49.3c0 80.3 34.5 125.2 95.6 125.2zM738 704.1c0 4.4-3.6 8-8 8h-50.4c-4.4 0-8-3.6-8-8V319.9c0-4.4 3.6-8 8-8H730c4.4 0 8 3.6 8 8v384.2z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M730 311.9h-50.4c-4.4 0-8 3.6-8 8v384.2c0 4.4 3.6 8 8 8H730c4.4 0 8-3.6 8-8V319.9c0-4.4-3.6-8-8-8zm-281.4 49.6c49.5 0 83.1 31.5 87 77.6.4 4.2 3.8 7.4 8 7.4h52.6c2.4 0 4.4-2 4.4-4.4 0-81.2-64-138.1-152.3-138.1C345.4 304 286 373.5 286 488.4v49c0 114 59.4 182.6 162.3 182.6 88 0 152.3-55.1 152.3-132.5 0-2.4-2-4.4-4.4-4.4h-52.7c-4.2 0-7.6 3.2-8 7.3-4.2 43-37.7 72.4-87 72.4-61.1 0-95.6-44.9-95.6-125.2v-49.3c.1-81.4 34.6-126.8 95.7-126.8z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneCi (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm-63.5 522.8c49.3 0 82.8-29.4 87-72.4.4-4.1 3.8-7.3 8-7.3h52.7c2.4 0 4.4 2 4.4 4.4 0 77.4-64.3 132.5-152.3 132.5C345.4 720 286 651.4 286 537.4v-49C286 373.5 345.4 304 448.3 304c88.3 0 152.3 56.9 152.3 138.1 0 2.4-2 4.4-4.4 4.4h-52.6c-4.2 0-7.6-3.2-8-7.4-3.9-46.1-37.5-77.6-87-77.6-61.1 0-95.6 45.4-95.7 126.8v49.3c0 80.3 34.5 125.2 95.6 125.2zM738 704.1c0 4.4-3.6 8-8 8h-50.4c-4.4 0-8-3.6-8-8V319.9c0-4.4 3.6-8 8-8H730c4.4 0 8 3.6 8 8v384.2z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M730 311.9h-50.4c-4.4 0-8 3.6-8 8v384.2c0 4.4 3.6 8 8 8H730c4.4 0 8-3.6 8-8V319.9c0-4.4-3.6-8-8-8zm-281.4 49.6c49.5 0 83.1 31.5 87 77.6.4 4.2 3.8 7.4 8 7.4h52.6c2.4 0 4.4-2 4.4-4.4 0-81.2-64-138.1-152.3-138.1C345.4 304 286 373.5 286 488.4v49c0 114 59.4 182.6 162.3 182.6 88 0 152.3-55.1 152.3-132.5 0-2.4-2-4.4-4.4-4.4h-52.7c-4.2 0-7.6 3.2-8 7.3-4.2 43-37.7 72.4-87 72.4-61.1 0-95.6-44.9-95.6-125.2v-49.3c.1-81.4 34.6-126.8 95.7-126.8z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneClockCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm176.5 509.7l-28.6 39a7.99 7.99 0 0 1-11.2 1.7L483.3 569.8a7.92 7.92 0 0 1-3.3-6.5V288c0-4.4 3.6-8 8-8h48.1c4.4 0 8 3.6 8 8v247.5l142.6 103.1c3.6 2.5 4.4 7.5 1.8 11.1z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M686.7 638.6L544.1 535.5V288c0-4.4-3.6-8-8-8H488c-4.4 0-8 3.6-8 8v275.3c0 2.6 1.2 5 3.3 6.5l165.4 120.6c3.6 2.6 8.6 1.9 11.2-1.7l28.6-39c2.6-3.6 1.8-8.6-1.8-11.1z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneCloseCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm171.8 527.1c1.2 1.5 1.9 3.3 1.9 5.2 0 4.5-3.6 8-8 8l-66-.3-99.3-118.4-99.3 118.5-66.1.3c-4.4 0-8-3.6-8-8 0-1.9.7-3.7 1.9-5.2L471 512.3l-130.1-155a8.32 8.32 0 0 1-1.9-5.2c0-4.5 3.6-8 8-8l66.1.3 99.3 118.4 99.4-118.5 66-.3c4.4 0 8 3.6 8 8 0 1.9-.6 3.8-1.8 5.2l-130.1 155 129.9 154.9z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M685.8 352c0-4.4-3.6-8-8-8l-66 .3-99.4 118.5-99.3-118.4-66.1-.3c-4.4 0-8 3.5-8 8 0 1.9.7 3.7 1.9 5.2l130.1 155-130.1 154.9a8.32 8.32 0 0 0-1.9 5.2c0 4.4 3.6 8 8 8l66.1-.3 99.3-118.5L611.7 680l66 .3c4.4 0 8-3.5 8-8 0-1.9-.7-3.7-1.9-5.2L553.9 512.2l130.1-155c1.2-1.4 1.8-3.3 1.8-5.2z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneCloseSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M184 840h656V184H184v656zm163.9-473.9A7.95 7.95 0 0 1 354 353h58.9c4.7 0 9.2 2.1 12.3 5.7L512 462.2l86.8-103.5c3-3.6 7.5-5.7 12.3-5.7H670c6.8 0 10.5 7.9 6.1 13.1L553.8 512l122.3 145.9c4.4 5.2.7 13.1-6.1 13.1h-58.9c-4.7 0-9.2-2.1-12.3-5.7L512 561.8l-86.8 103.5c-3 3.6-7.5 5.7-12.3 5.7H354c-6.8 0-10.5-7.9-6.1-13.1L470.2 512 347.9 366.1z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M354 671h58.9c4.8 0 9.3-2.1 12.3-5.7L512 561.8l86.8 103.5c3.1 3.6 7.6 5.7 12.3 5.7H670c6.8 0 10.5-7.9 6.1-13.1L553.8 512l122.3-145.9c4.4-5.2.7-13.1-6.1-13.1h-58.9c-4.8 0-9.3 2.1-12.3 5.7L512 462.2l-86.8-103.5c-3.1-3.6-7.6-5.7-12.3-5.7H354c-6.8 0-10.5 7.9-6.1 13.1L470.2 512 347.9 657.9A7.95 7.95 0 0 0 354 671z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneCloud (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M791.9 492l-37.8-10-13.8-36.5c-8.6-22.7-20.6-44.1-35.7-63.4a245.73 245.73 0 0 0-52.4-49.9c-41.1-28.9-89.5-44.2-140-44.2s-98.9 15.3-140 44.2a245.6 245.6 0 0 0-52.4 49.9 240.47 240.47 0 0 0-35.7 63.4l-13.9 36.6-37.9 9.9a125.7 125.7 0 0 0-66.1 43.7A123.1 123.1 0 0 0 140 612c0 33.1 12.9 64.3 36.3 87.7 23.4 23.4 54.5 36.3 87.6 36.3h496.2c33.1 0 64.2-12.9 87.6-36.3A123.3 123.3 0 0 0 884 612c0-56.2-37.8-105.5-92.1-120z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M811.4 418.7C765.6 297.9 648.9 212 512.2 212S258.8 297.8 213 418.6C127.3 441.1 64 519.1 64 612c0 110.5 89.5 200 199.9 200h496.2C870.5 812 960 722.5 960 612c0-92.7-63.1-170.7-148.6-193.3zm36.3 281a123.07 123.07 0 0 1-87.6 36.3H263.9c-33.1 0-64.2-12.9-87.6-36.3A123.3 123.3 0 0 1 140 612c0-28 9.1-54.3 26.2-76.3a125.7 125.7 0 0 1 66.1-43.7l37.9-9.9 13.9-36.6c8.6-22.8 20.6-44.1 35.7-63.4a245.6 245.6 0 0 1 52.4-49.9c41.1-28.9 89.5-44.2 140-44.2s98.9 15.3 140 44.2c19.9 14 37.5 30.8 52.4 49.9 15.1 19.3 27.1 40.7 35.7 63.4l13.8 36.5 37.8 10c54.3 14.5 92.1 63.8 92.1 120 0 33.1-12.9 64.3-36.3 87.7z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneCode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M184 840h656V184H184v656zm339.5-223h185c4.1 0 7.5 3.6 7.5 8v48c0 4.4-3.4 8-7.5 8h-185c-4.1 0-7.5-3.6-7.5-8v-48c0-4.4 3.4-8 7.5-8zM308 610.3c0-2.3 1.1-4.6 2.9-6.1L420.7 512l-109.8-92.2a7.63 7.63 0 0 1-2.9-6.1V351c0-6.8 7.9-10.5 13.1-6.1l192 160.9c3.9 3.2 3.9 9.1 0 12.3l-192 161c-5.2 4.4-13.1.7-13.1-6.1v-62.7z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M321.1 679.1l192-161c3.9-3.2 3.9-9.1 0-12.3l-192-160.9A7.95 7.95 0 0 0 308 351v62.7c0 2.4 1 4.6 2.9 6.1L420.7 512l-109.8 92.2a8.1 8.1 0 0 0-2.9 6.1V673c0 6.8 7.9 10.5 13.1 6.1zM516 673c0 4.4 3.4 8 7.5 8h185c4.1 0 7.5-3.6 7.5-8v-48c0-4.4-3.4-8-7.5-8h-185c-4.1 0-7.5 3.6-7.5 8v48z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneCompass (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zM327.6 701.7c-2 .9-4.4 0-5.3-2.1-.4-1-.4-2.2 0-3.2L421 470.9 553.1 603l-225.5 98.7zm375.1-375.1L604 552.1 471.9 420l225.5-98.7c2-.9 4.4 0 5.3 2.1.4 1 .4 2.1 0 3.2z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M322.3 696.4c-.4 1-.4 2.2 0 3.2.9 2.1 3.3 3 5.3 2.1L553.1 603 421 470.9l-98.7 225.5zm375.1-375.1L471.9 420 604 552.1l98.7-225.5c.4-1.1.4-2.2 0-3.2-.9-2.1-3.3-3-5.3-2.1z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneContacts (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M460.3 526a51.7 52 0 1 0 103.4 0 51.7 52 0 1 0-103.4 0z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M768 352c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-56H548v56c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-56H328v56c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-56H136v496h752V296H768v56zM661 736h-43.8c-4.2 0-7.6-3.3-7.9-7.5-3.8-50.5-46-90.5-97.2-90.5s-93.4 39.9-97.2 90.5c-.3 4.2-3.7 7.5-7.9 7.5h-43.9a8 8 0 0 1-8-8.4c2.8-53.3 31.9-99.6 74.6-126.1-18.1-20-29.1-46.4-29.1-75.5 0-61.9 49.9-112 111.4-112s111.4 50.1 111.4 112c0 29.1-11 55.6-29.1 75.5 42.7 26.4 71.9 72.8 74.7 126.1a8 8 0 0 1-8 8.4z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M594.3 601.5a111.8 111.8 0 0 0 29.1-75.5c0-61.9-49.9-112-111.4-112s-111.4 50.1-111.4 112c0 29.1 11 55.5 29.1 75.5a158.09 158.09 0 0 0-74.6 126.1 8 8 0 0 0 8 8.4H407c4.2 0 7.6-3.3 7.9-7.5 3.8-50.6 46-90.5 97.2-90.5s93.4 40 97.2 90.5c.3 4.2 3.7 7.5 7.9 7.5H661a8 8 0 0 0 8-8.4c-2.8-53.3-32-99.7-74.7-126.1zM512 578c-28.5 0-51.7-23.3-51.7-52s23.2-52 51.7-52 51.7 23.3 51.7 52-23.2 52-51.7 52z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M928 224H768v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H548v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H328v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H96c-17.7 0-32 14.3-32 32v576c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32zm-40 568H136V296h120v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h148v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h148v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h120v496z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneContainer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M635 771.7c-34.5 28.6-78.2 44.3-123 44.3s-88.5-15.8-123-44.3a194.02 194.02 0 0 1-59.1-84.7H232v201h560V687h-97.9c-11.6 32.8-32 62.3-59.1 84.7z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M320 501h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H320c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-40 824H232V687h97.9c11.6 32.8 32 62.3 59.1 84.7 34.5 28.5 78.2 44.3 123 44.3s88.5-15.7 123-44.3c27.1-22.4 47.5-51.9 59.1-84.7H792v201zm0-264H643.6l-5.2 24.7C626.4 708.5 573.2 752 512 752s-114.4-43.5-126.5-103.3l-5.2-24.7H232V136h560v488z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M320 341h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H320c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneControl (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M616 440a36 36 0 1 0 72 0 36 36 0 1 0-72 0zM340.4 601.5l1.5 2.4c0 .1.1.1.1.2l.9 1.2c.1.1.2.2.2.3 1 1.3 2 2.5 3.2 3.6l.2.2c.4.4.8.8 1.2 1.1.8.8 1.7 1.5 2.6 2.1h.1l1.2.9c.1.1.3.2.4.3 1.2.8 2.5 1.6 3.9 2.2.2.1.5.2.7.4.4.2.7.3 1.1.5.3.1.7.3 1 .4.5.2 1 .4 1.5.5.4.1.9.3 1.3.4l.9.3 1.4.3c.2.1.5.1.7.2.7.1 1.4.3 2.1.4.2 0 .4 0 .6.1.6.1 1.1.1 1.7.2.2 0 .4 0 .7.1.8 0 1.5.1 2.3.1s1.5 0 2.3-.1c.2 0 .4 0 .7-.1.6 0 1.2-.1 1.7-.2.2 0 .4 0 .6-.1.7-.1 1.4-.2 2.1-.4.2-.1.5-.1.7-.2l1.4-.3.9-.3c.4-.1.9-.3 1.3-.4.5-.2 1-.4 1.5-.5.3-.1.7-.3 1-.4.4-.2.7-.3 1.1-.5.2-.1.5-.2.7-.4 1.3-.7 2.6-1.4 3.9-2.2.1-.1.3-.2.4-.3l1.2-.9h.1c.9-.7 1.8-1.4 2.6-2.1.4-.4.8-.7 1.2-1.1l.2-.2c1.1-1.1 2.2-2.4 3.2-3.6.1-.1.2-.2.2-.3l.9-1.2c0-.1.1-.1.1-.2l1.5-2.4c.1-.2.2-.3.3-.5 2.7-5.1 4.3-10.9 4.3-17s-1.6-12-4.3-17c-.1-.2-.2-.4-.3-.5l-1.5-2.4c0-.1-.1-.1-.1-.2l-.9-1.2c-.1-.1-.2-.2-.2-.3-1-1.3-2-2.5-3.2-3.6l-.2-.2c-.4-.4-.8-.8-1.2-1.1-.8-.8-1.7-1.5-2.6-2.1h-.1l-1.2-.9c-.1-.1-.3-.2-.4-.3-1.2-.8-2.5-1.6-3.9-2.2-.2-.1-.5-.2-.7-.4-.4-.2-.7-.3-1.1-.5-.3-.1-.7-.3-1-.4-.5-.2-1-.4-1.5-.5-.4-.1-.9-.3-1.3-.4l-.9-.3-1.4-.3c-.2-.1-.5-.1-.7-.2-.7-.1-1.4-.3-2.1-.4-.2 0-.4 0-.6-.1-.6-.1-1.1-.1-1.7-.2-.2 0-.4 0-.7-.1-.8 0-1.5-.1-2.3-.1s-1.5 0-2.3.1c-.2 0-.4 0-.7.1-.6 0-1.2.1-1.7.2-.2 0-.4 0-.6.1-.7.1-1.4.2-2.1.4-.2.1-.5.1-.7.2l-1.4.3-.9.3c-.4.1-.9.3-1.3.4-.5.2-1 .4-1.5.5-.3.1-.7.3-1 .4-.4.2-.7.3-1.1.5-.2.1-.5.2-.7.4-1.3.7-2.6 1.4-3.9 2.2-.1.1-.3.2-.4.3l-1.2.9h-.1c-.9.7-1.8 1.4-2.6 2.1-.4.4-.8.7-1.2 1.1l-.2.2a54.8 54.8 0 0 0-3.2 3.6c-.1.1-.2.2-.2.3l-.9 1.2c0 .1-.1.1-.1.2l-1.5 2.4c-.1.2-.2.3-.3.5-2.7 5.1-4.3 10.9-4.3 17s1.6 12 4.3 17c.1.2.2.3.3.5z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M184 840h656V184H184v656zm436.4-499.1c-.2 0-.3.1-.4.1v-77c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v77c-.2 0-.3-.1-.4-.1 42 13.4 72.4 52.7 72.4 99.1 0 46.4-30.4 85.7-72.4 99.1.2 0 .3-.1.4-.1v221c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V539c.2 0 .3.1.4.1-42-13.4-72.4-52.7-72.4-99.1 0-46.4 30.4-85.7 72.4-99.1zM340 485V264c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v221c41.7 13.6 72 52.8 72 99s-30.3 85.5-72 99v77c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-77c-41.7-13.6-72-52.8-72-99s30.3-85.5 72-99z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M340 683v77c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-77c41.7-13.5 72-52.8 72-99s-30.3-85.4-72-99V264c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v221c-41.7 13.5-72 52.8-72 99s30.3 85.4 72 99zm.1-116c.1-.2.2-.3.3-.5l1.5-2.4c0-.1.1-.1.1-.2l.9-1.2c0-.1.1-.2.2-.3 1-1.2 2.1-2.5 3.2-3.6l.2-.2c.4-.4.8-.7 1.2-1.1.8-.7 1.7-1.4 2.6-2.1h.1l1.2-.9c.1-.1.3-.2.4-.3 1.3-.8 2.6-1.5 3.9-2.2.2-.2.5-.3.7-.4.4-.2.7-.3 1.1-.5.3-.1.7-.3 1-.4.5-.1 1-.3 1.5-.5.4-.1.9-.3 1.3-.4l.9-.3 1.4-.3c.2-.1.5-.1.7-.2.7-.2 1.4-.3 2.1-.4.2-.1.4-.1.6-.1.5-.1 1.1-.2 1.7-.2.3-.1.5-.1.7-.1.8-.1 1.5-.1 2.3-.1s1.5.1 2.3.1c.3.1.5.1.7.1.6.1 1.1.1 1.7.2.2.1.4.1.6.1.7.1 1.4.3 2.1.4.2.1.5.1.7.2l1.4.3.9.3c.4.1.9.3 1.3.4.5.1 1 .3 1.5.5.3.1.7.3 1 .4.4.2.7.3 1.1.5.2.2.5.3.7.4 1.4.6 2.7 1.4 3.9 2.2.1.1.3.2.4.3l1.2.9h.1c.9.6 1.8 1.3 2.6 2.1.4.3.8.7 1.2 1.1l.2.2c1.2 1.1 2.2 2.3 3.2 3.6 0 .1.1.2.2.3l.9 1.2c0 .1.1.1.1.2l1.5 2.4A36.03 36.03 0 0 1 408 584c0 6.1-1.6 11.9-4.3 17-.1.2-.2.3-.3.5l-1.5 2.4c0 .1-.1.1-.1.2l-.9 1.2c0 .1-.1.2-.2.3-1 1.2-2.1 2.5-3.2 3.6l-.2.2c-.4.4-.8.7-1.2 1.1-.8.7-1.7 1.4-2.6 2.1h-.1l-1.2.9c-.1.1-.3.2-.4.3-1.3.8-2.6 1.5-3.9 2.2-.2.2-.5.3-.7.4-.4.2-.7.3-1.1.5-.3.1-.7.3-1 .4-.5.1-1 .3-1.5.5-.4.1-.9.3-1.3.4l-.9.3-1.4.3c-.2.1-.5.1-.7.2-.7.2-1.4.3-2.1.4-.2.1-.4.1-.6.1-.5.1-1.1.2-1.7.2-.3.1-.5.1-.7.1-.8.1-1.5.1-2.3.1s-1.5-.1-2.3-.1c-.3-.1-.5-.1-.7-.1-.6-.1-1.1-.1-1.7-.2-.2-.1-.4-.1-.6-.1-.7-.1-1.4-.3-2.1-.4-.2-.1-.5-.1-.7-.2l-1.4-.3-.9-.3c-.4-.1-.9-.3-1.3-.4-.5-.1-1-.3-1.5-.5-.3-.1-.7-.3-1-.4-.4-.2-.7-.3-1.1-.5-.2-.2-.5-.3-.7-.4-1.4-.6-2.7-1.4-3.9-2.2-.1-.1-.3-.2-.4-.3l-1.2-.9h-.1c-.9-.6-1.8-1.3-2.6-2.1-.4-.3-.8-.7-1.2-1.1l-.2-.2c-1.2-1.1-2.2-2.3-3.2-3.6 0-.1-.1-.2-.2-.3l-.9-1.2c0-.1-.1-.1-.1-.2l-1.5-2.4c-.1-.2-.2-.3-.3-.5-2.7-5-4.3-10.9-4.3-17s1.6-11.9 4.3-17zm280.3-27.9c-.1 0-.2-.1-.4-.1v221c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V539c-.1 0-.2.1-.4.1 42-13.4 72.4-52.7 72.4-99.1 0-46.4-30.4-85.7-72.4-99.1.1 0 .2.1.4.1v-77c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v77c.1 0 .2-.1.4-.1-42 13.4-72.4 52.7-72.4 99.1 0 46.4 30.4 85.7 72.4 99.1zM652 404c19.9 0 36 16.1 36 36s-16.1 36-36 36-36-16.1-36-36 16.1-36 36-36z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneCopy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M232 706h142c22.1 0 40 17.9 40 40v142h250V264H232v442z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneCopyrightCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm5.5 533c52.9 0 88.8-31.7 93-77.8.4-4.1 3.8-7.3 8-7.3h56.8c2.6 0 4.7 2.1 4.7 4.7 0 82.6-68.7 141.4-162.7 141.4C407.4 734 344 660.8 344 539.1v-52.3C344 364.2 407.4 290 517.3 290c94.3 0 162.7 60.7 162.7 147.4 0 2.6-2.1 4.7-4.7 4.7h-56.7c-4.2 0-7.7-3.2-8-7.4-4-49.6-40-83.4-93-83.4-65.2 0-102.1 48.5-102.2 135.5v52.6c0 85.7 36.8 133.6 102.1 133.6z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M517.6 351.3c53 0 89 33.8 93 83.4.3 4.2 3.8 7.4 8 7.4h56.7c2.6 0 4.7-2.1 4.7-4.7 0-86.7-68.4-147.4-162.7-147.4C407.4 290 344 364.2 344 486.8v52.3C344 660.8 407.4 734 517.3 734c94 0 162.7-58.8 162.7-141.4 0-2.6-2.1-4.7-4.7-4.7h-56.8c-4.2 0-7.6 3.2-8 7.3-4.2 46.1-40.1 77.8-93 77.8-65.3 0-102.1-47.9-102.1-133.6v-52.6c.1-87 37-135.5 102.2-135.5z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneCopyright (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm5.5 533c52.9 0 88.8-31.7 93-77.8.4-4.1 3.8-7.3 8-7.3h56.8c2.6 0 4.7 2.1 4.7 4.7 0 82.6-68.7 141.4-162.7 141.4C407.4 734 344 660.8 344 539.1v-52.3C344 364.2 407.4 290 517.3 290c94.3 0 162.7 60.7 162.7 147.4 0 2.6-2.1 4.7-4.7 4.7h-56.7c-4.2 0-7.7-3.2-8-7.4-4-49.6-40-83.4-93-83.4-65.2 0-102.1 48.5-102.2 135.5v52.6c0 85.7 36.8 133.6 102.1 133.6z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M517.6 351.3c53 0 89 33.8 93 83.4.3 4.2 3.8 7.4 8 7.4h56.7c2.6 0 4.7-2.1 4.7-4.7 0-86.7-68.4-147.4-162.7-147.4C407.4 290 344 364.2 344 486.8v52.3C344 660.8 407.4 734 517.3 734c94 0 162.7-58.8 162.7-141.4 0-2.6-2.1-4.7-4.7-4.7h-56.8c-4.2 0-7.6 3.2-8 7.3-4.2 46.1-40.1 77.8-93 77.8-65.3 0-102.1-47.9-102.1-133.6v-52.6c.1-87 37-135.5 102.2-135.5z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneCreditCard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M136 792h752V440H136v352zm507-144c0-4.4 3.6-8 8-8h165c4.4 0 8 3.6 8 8v72c0 4.4-3.6 8-8 8H651c-4.4 0-8-3.6-8-8v-72zM136 232h752v120H136z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M651 728h165c4.4 0 8-3.6 8-8v-72c0-4.4-3.6-8-8-8H651c-4.4 0-8 3.6-8 8v72c0 4.4 3.6 8 8 8z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 632H136V440h752v352zm0-440H136V232h752v120z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneCrown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M911.9 283.9v.5L835.5 865c-1 8-7.9 14-15.9 14H204.5c-8.1 0-14.9-6.1-16-14l-76.4-580.6v-.6 1.6L188.5 866c1.1 7.9 7.9 14 16 14h615.1c8 0 14.9-6 15.9-14l76.4-580.6c.1-.5.1-1 0-1.5z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M773.6 810.6l53.9-409.4-139.8 86.1L512 252.9 336.3 487.3l-139.8-86.1 53.8 409.4h523.3zm-374.2-189c0-62.1 50.5-112.6 112.6-112.6s112.6 50.5 112.6 112.6v1c0 62.1-50.5 112.6-112.6 112.6s-112.6-50.5-112.6-112.6v-1z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M512 734.2c61.9 0 112.3-50.2 112.6-112.1v-.5c0-62.1-50.5-112.6-112.6-112.6s-112.6 50.5-112.6 112.6v.5c.3 61.9 50.7 112.1 112.6 112.1zm0-160.9c26.6 0 48.2 21.6 48.2 48.3 0 26.6-21.6 48.3-48.2 48.3s-48.2-21.6-48.2-48.3c0-26.6 21.6-48.3 48.2-48.3z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M188.5 865c1.1 7.9 7.9 14 16 14h615.1c8 0 14.9-6 15.9-14l76.4-580.6v-.5c.3-6.4-6.7-10.8-12.3-7.4L705 396.4 518.4 147.5a8.06 8.06 0 0 0-12.9 0L319 396.4 124.3 276.5c-5.5-3.4-12.6.9-12.2 7.3v.6L188.5 865zm147.8-377.7L512 252.9l175.7 234.4 139.8-86.1-53.9 409.4H250.3l-53.8-409.4 139.8 86.1z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneCustomerService (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M696 632h128v192H696zm-496 0h128v192H200z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M512 128c-212.1 0-384 171.9-384 384v360c0 13.3 10.7 24 24 24h184c35.3 0 64-28.7 64-64V624c0-35.3-28.7-64-64-64H200v-48c0-172.3 139.7-312 312-312s312 139.7 312 312v48H688c-35.3 0-64 28.7-64 64v208c0 35.3 28.7 64 64 64h184c13.3 0 24-10.7 24-24V512c0-212.1-171.9-384-384-384zM328 632v192H200V632h128zm496 192H696V632h128v192z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneDashboard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M512 188c-99.3 0-192.7 38.7-263 109-70.3 70.2-109 163.6-109 263 0 105.6 44.5 205.5 122.6 276h498.8A371.12 371.12 0 0 0 884 560c0-99.3-38.7-192.7-109-263-70.2-70.3-163.6-109-263-109zm-30 44c0-4.4 3.6-8 8-8h44c4.4 0 8 3.6 8 8v80c0 4.4-3.6 8-8 8h-44c-4.4 0-8-3.6-8-8v-80zM270 582c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8v-44c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v44zm90.7-204.4l-31.1 31.1a8.03 8.03 0 0 1-11.3 0l-56.6-56.6a8.03 8.03 0 0 1 0-11.3l31.1-31.1c3.1-3.1 8.2-3.1 11.3 0l56.6 56.6c3.1 3.1 3.1 8.2 0 11.3zm291.1 83.5l-84.5 84.5c5 18.7.2 39.4-14.5 54.1a55.95 55.95 0 0 1-79.2 0 55.95 55.95 0 0 1 0-79.2 55.87 55.87 0 0 1 54.1-14.5l84.5-84.5c3.1-3.1 8.2-3.1 11.3 0l28.3 28.3c3.1 3.1 3.1 8.2 0 11.3zm43-52.4l-31.1-31.1a8.03 8.03 0 0 1 0-11.3l56.6-56.6c3.1-3.1 8.2-3.1 11.3 0l31.1 31.1c3.1 3.1 3.1 8.2 0 11.3l-56.6 56.6a8.03 8.03 0 0 1-11.3 0zM846 538v44c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8v-44c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M623.5 421.5a8.03 8.03 0 0 0-11.3 0L527.7 506c-18.7-5-39.4-.2-54.1 14.5a55.95 55.95 0 0 0 0 79.2 55.95 55.95 0 0 0 79.2 0 55.87 55.87 0 0 0 14.5-54.1l84.5-84.5c3.1-3.1 3.1-8.2 0-11.3l-28.3-28.3zM490 320h44c4.4 0 8-3.6 8-8v-80c0-4.4-3.6-8-8-8h-44c-4.4 0-8 3.6-8 8v80c0 4.4 3.6 8 8 8z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M924.8 385.6a446.7 446.7 0 0 0-96-142.4 446.7 446.7 0 0 0-142.4-96C631.1 123.8 572.5 112 512 112s-119.1 11.8-174.4 35.2a446.7 446.7 0 0 0-142.4 96 446.7 446.7 0 0 0-96 142.4C75.8 440.9 64 499.5 64 560c0 132.7 58.3 257.7 159.9 343.1l1.7 1.4c5.8 4.8 13.1 7.5 20.6 7.5h531.7c7.5 0 14.8-2.7 20.6-7.5l1.7-1.4C901.7 817.7 960 692.7 960 560c0-60.5-11.9-119.1-35.2-174.4zM761.4 836H262.6A371.12 371.12 0 0 1 140 560c0-99.4 38.7-192.8 109-263 70.3-70.3 163.7-109 263-109 99.4 0 192.8 38.7 263 109 70.3 70.3 109 163.7 109 263 0 105.6-44.5 205.5-122.6 276z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M762.7 340.8l-31.1-31.1a8.03 8.03 0 0 0-11.3 0l-56.6 56.6a8.03 8.03 0 0 0 0 11.3l31.1 31.1c3.1 3.1 8.2 3.1 11.3 0l56.6-56.6c3.1-3.1 3.1-8.2 0-11.3zM750 538v44c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8v-44c0-4.4-3.6-8-8-8h-80c-4.4 0-8 3.6-8 8zM304.1 309.7a8.03 8.03 0 0 0-11.3 0l-31.1 31.1a8.03 8.03 0 0 0 0 11.3l56.6 56.6c3.1 3.1 8.2 3.1 11.3 0l31.1-31.1c3.1-3.1 3.1-8.2 0-11.3l-56.6-56.6zM262 530h-80c-4.4 0-8 3.6-8 8v44c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8v-44c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneDatabase (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D8D8D8\",\"d\":\"M232 616h560V408H232v208zm112-144c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40zM232 888h560V680H232v208zm112-144c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40zM232 344h560V136H232v208zm112-144c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M304 512a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm0 272a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm0-544a40 40 0 1 0 80 0 40 40 0 1 0-80 0z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-40 824H232V680h560v208zm0-272H232V408h560v208zm0-272H232V136h560v208z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneDelete (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M292.7 840h438.6l24.2-512h-487z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M864 256H736v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zm-504-72h304v72H360v-72zm371.3 656H292.7l-24.2-512h487l-24.2 512z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneDiff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M232 264v624h432V413.8L514.2 264H232zm336 489c0 3.8-3.4 7-7.5 7h-225c-4.1 0-7.5-3.2-7.5-7v-42c0-3.8 3.4-7 7.5-7h225c4.1 0 7.5 3.2 7.5 7v42zm0-262v42c0 3.8-3.4 7-7.5 7H476v84.9c0 3.9-3.1 7.1-7 7.1h-42c-3.8 0-7-3.2-7-7.1V540h-84.5c-4.1 0-7.5-3.2-7.5-7v-42c0-3.9 3.4-7 7.5-7H420v-84.9c0-3.9 3.2-7.1 7-7.1h42c3.9 0 7 3.2 7 7.1V484h84.5c4.1 0 7.5 3.1 7.5 7z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M854.2 306.6L611.3 72.9c-6-5.7-13.9-8.9-22.2-8.9H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h277l219 210.6V824c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V329.6c0-8.7-3.5-17-9.8-23z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M553.4 201.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v704c0 17.7 14.3 32 32 32h512c17.7 0 32-14.3 32-32V397.3c0-8.5-3.4-16.6-9.4-22.6L553.4 201.4zM664 888H232V264h282.2L664 413.8V888z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M476 399.1c0-3.9-3.1-7.1-7-7.1h-42c-3.8 0-7 3.2-7 7.1V484h-84.5c-4.1 0-7.5 3.1-7.5 7v42c0 3.8 3.4 7 7.5 7H420v84.9c0 3.9 3.2 7.1 7 7.1h42c3.9 0 7-3.2 7-7.1V540h84.5c4.1 0 7.5-3.2 7.5-7v-42c0-3.9-3.4-7-7.5-7H476v-84.9zM560.5 704h-225c-4.1 0-7.5 3.2-7.5 7v42c0 3.8 3.4 7 7.5 7h225c4.1 0 7.5-3.2 7.5-7v-42c0-3.8-3.4-7-7.5-7z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneDislike (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M273 100.1v428h.3l-.3-428zM820.4 525l-21.9-19 14-25.5a56.2 56.2 0 0 0 6.9-27.3c0-16.5-7.1-32.2-19.6-43l-21.9-19 13.9-25.4a56.2 56.2 0 0 0 6.9-27.3c0-16.5-7.1-32.2-19.6-43l-21.9-19 13.9-25.4a56.2 56.2 0 0 0 6.9-27.3c0-22.4-13.2-42.6-33.6-51.8H345v345.2c18.6 67.2 46.4 168 83.5 302.5a44.28 44.28 0 0 0 42.2 32.3c7.5.1 15-2.2 21.1-6.7 9.9-7.4 15.2-18.6 14.6-30.5l-9.6-198.4h314.4C829 605.5 840 587.1 840 568c0-16.5-7.1-32.2-19.6-43z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M112 132v364c0 17.7 14.3 32 32 32h65V100h-65c-17.7 0-32 14.3-32 32zm773.9 358.3c3.6-12 5.4-24.4 5.4-37 0-28.3-9.3-55.5-26.1-77.7 3.6-12 5.4-24.4 5.4-37 0-28.3-9.3-55.5-26.1-77.7 3.6-12 5.4-24.4 5.4-37 0-51.6-30.7-98.1-78.3-118.4a66.1 66.1 0 0 0-26.5-5.4H273l.3 428 85.8 310.8C372.9 889 418.9 924 470.9 924c29.7 0 57.4-11.8 77.9-33.4 20.5-21.5 31-49.7 29.5-79.4l-6-122.9h239.9c12.1 0 23.9-3.2 34.3-9.3 40.4-23.5 65.5-66.1 65.5-111 0-28.3-9.3-55.5-26.1-77.7zm-74.7 126.1H496.8l9.6 198.4c.6 11.9-4.7 23.1-14.6 30.5-6.1 4.5-13.6 6.8-21.1 6.7a44.28 44.28 0 0 1-42.2-32.3c-37.1-134.4-64.9-235.2-83.5-302.5V172h399.4a56.85 56.85 0 0 1 33.6 51.8c0 9.7-2.3 18.9-6.9 27.3l-13.9 25.4 21.9 19a56.76 56.76 0 0 1 19.6 43c0 9.7-2.3 18.9-6.9 27.3l-13.9 25.4 21.9 19a56.76 56.76 0 0 1 19.6 43c0 9.7-2.3 18.9-6.9 27.3l-14 25.5 21.9 19a56.76 56.76 0 0 1 19.6 43c0 19.1-11 37.5-28.8 48.4z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneDollarCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M426.6 410.3c0 25.4 15.7 45.1 49.5 57.3 4.7 1.9 9.4 3.4 15 5v-124c-37 4.7-64.5 25.4-64.5 61.7zm116.5 135.2c-2.9-.6-5.7-1.3-8.8-2.2V677c42.6-3.8 72-27.3 72-66.4 0-30.7-15.9-50.7-63.2-65.1z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm22.4 589.2l.2 31.7c0 4.5-3.6 8.1-8 8.1h-28.4c-4.4 0-8-3.6-8-8v-31.4c-89-6.5-130.7-57.1-135.2-112.1-.4-4.7 3.3-8.7 8-8.7h46.2c3.9 0 7.3 2.8 7.9 6.6 5.1 31.8 29.9 55.4 74.1 61.3V534l-24.7-6.3c-52.3-12.5-102.1-45.1-102.1-112.7 0-73 55.4-112.1 126.2-119v-33c0-4.4 3.6-8 8-8h28.1c4.4 0 8 3.6 8 8v32.7c68.5 6.9 119.8 46.9 125.9 109.2a8.1 8.1 0 0 1-8 8.8h-44.9c-4 0-7.4-2.9-7.9-6.9-4-29.2-27.5-53-65.5-58.2v134.3l25.4 5.9c64.8 16 108.9 47 109 116.4 0 75.2-56 117.1-134.3 124z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M559.7 488.8l-25.4-5.9V348.6c38 5.2 61.5 29 65.5 58.2.5 4 3.9 6.9 7.9 6.9h44.9c4.7 0 8.4-4.1 8-8.8-6.1-62.3-57.4-102.3-125.9-109.2V263c0-4.4-3.6-8-8-8h-28.1c-4.4 0-8 3.6-8 8v33c-70.8 6.9-126.2 46-126.2 119 0 67.6 49.8 100.2 102.1 112.7l24.7 6.3v142.7c-44.2-5.9-69-29.5-74.1-61.3-.6-3.8-4-6.6-7.9-6.6H363c-4.7 0-8.4 4-8 8.7 4.5 55 46.2 105.6 135.2 112.1V761c0 4.4 3.6 8 8 8h28.4c4.4 0 8-3.6 8-8.1l-.2-31.7c78.3-6.9 134.3-48.8 134.3-124-.1-69.4-44.2-100.4-109-116.4zm-68.6-16.2c-5.6-1.6-10.3-3.1-15-5-33.8-12.2-49.5-31.9-49.5-57.3 0-36.3 27.5-57 64.5-61.7v124zM534.3 677V543.3c3.1.9 5.9 1.6 8.8 2.2 47.3 14.4 63.2 34.4 63.2 65.1 0 39.1-29.4 62.6-72 66.4z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneDollar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M426.6 410.3c0 25.4 15.7 45.1 49.5 57.3 4.7 1.9 9.4 3.4 15 5v-124c-37 4.7-64.5 25.4-64.5 61.7zm116.5 135.2c-2.9-.6-5.7-1.3-8.8-2.2V677c42.6-3.8 72-27.3 72-66.4 0-30.7-15.9-50.7-63.2-65.1z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm22.4 589.2l.2 31.7c0 4.5-3.6 8.1-8 8.1h-28.4c-4.4 0-8-3.6-8-8v-31.4c-89-6.5-130.7-57.1-135.2-112.1-.4-4.7 3.3-8.7 8-8.7h46.2c3.9 0 7.3 2.8 7.9 6.6 5.1 31.8 29.9 55.4 74.1 61.3V534l-24.7-6.3c-52.3-12.5-102.1-45.1-102.1-112.7 0-73 55.4-112.1 126.2-119v-33c0-4.4 3.6-8 8-8h28.1c4.4 0 8 3.6 8 8v32.7c68.5 6.9 119.8 46.9 125.9 109.2a8.1 8.1 0 0 1-8 8.8h-44.9c-4 0-7.4-2.9-7.9-6.9-4-29.2-27.5-53-65.5-58.2v134.3l25.4 5.9c64.8 16 108.9 47 109 116.4 0 75.2-56 117.1-134.3 124z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M559.7 488.8l-25.4-5.9V348.6c38 5.2 61.5 29 65.5 58.2.5 4 3.9 6.9 7.9 6.9h44.9c4.7 0 8.4-4.1 8-8.8-6.1-62.3-57.4-102.3-125.9-109.2V263c0-4.4-3.6-8-8-8h-28.1c-4.4 0-8 3.6-8 8v33c-70.8 6.9-126.2 46-126.2 119 0 67.6 49.8 100.2 102.1 112.7l24.7 6.3v142.7c-44.2-5.9-69-29.5-74.1-61.3-.6-3.8-4-6.6-7.9-6.6H363c-4.7 0-8.4 4-8 8.7 4.5 55 46.2 105.6 135.2 112.1V761c0 4.4 3.6 8 8 8h28.4c4.4 0 8-3.6 8-8.1l-.2-31.7c78.3-6.9 134.3-48.8 134.3-124-.1-69.4-44.2-100.4-109-116.4zm-68.6-16.2c-5.6-1.6-10.3-3.1-15-5-33.8-12.2-49.5-31.9-49.5-57.3 0-36.3 27.5-57 64.5-61.7v124zM534.3 677V543.3c3.1.9 5.9 1.6 8.8 2.2 47.3 14.4 63.2 34.4 63.2 65.1 0 39.1-29.4 62.6-72 66.4z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneDownCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm184.4 277.7l-178 246a7.95 7.95 0 0 1-12.9 0l-178-246c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.3 0 19.9 4.9 25.9 13.2L512 563.6l105.2-145.4c6-8.3 15.7-13.2 25.9-13.2H690c6.5 0 10.3 7.4 6.4 12.7z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M690 405h-46.9c-10.2 0-19.9 4.9-25.9 13.2L512 563.6 406.8 418.2c-6-8.3-15.6-13.2-25.9-13.2H334c-6.5 0-10.3 7.4-6.5 12.7l178 246c3.2 4.4 9.7 4.4 12.9 0l178-246c3.9-5.3.1-12.7-6.4-12.7z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneDownSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M184 840h656V184H184v656zm150-440h46.9c10.3 0 19.9 4.9 25.9 13.2L512 558.6l105.2-145.4c6-8.3 15.7-13.2 25.9-13.2H690c6.5 0 10.3 7.4 6.4 12.7l-178 246a7.95 7.95 0 0 1-12.9 0l-178-246c-3.8-5.3 0-12.7 6.5-12.7z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M505.5 658.7c3.2 4.4 9.7 4.4 12.9 0l178-246c3.9-5.3.1-12.7-6.4-12.7h-46.9c-10.2 0-19.9 4.9-25.9 13.2L512 558.6 406.8 413.2c-6-8.3-15.6-13.2-25.9-13.2H334c-6.5 0-10.3 7.4-6.5 12.7l178 246z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneEdit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M761.1 288.3L687.8 215 325.1 577.6l-15.6 89 88.9-15.7z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M880 836H144c-17.7 0-32 14.3-32 32v36c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-36c0-17.7-14.3-32-32-32zm-622.3-84c2 0 4-.2 6-.5L431.9 722c2-.4 3.9-1.3 5.3-2.8l423.9-423.9a9.96 9.96 0 0 0 0-14.1L694.9 114.9c-1.9-1.9-4.4-2.9-7.1-2.9s-5.2 1-7.1 2.9L256.8 538.8c-1.5 1.5-2.4 3.3-2.8 5.3l-29.5 168.2a33.5 33.5 0 0 0 9.4 29.8c6.6 6.4 14.9 9.9 23.8 9.9zm67.4-174.4L687.8 215l73.3 73.3-362.7 362.6-88.9 15.7 15.6-89z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneEnvironment (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M724.4 224.9C667.7 169.5 592.3 139 512 139s-155.7 30.5-212.4 85.8C243.1 280 212 353.2 212 431.1c0 241.3 234.1 407.2 300 449.1 65.9-41.9 300-207.8 300-449.1 0-77.9-31.1-151.1-87.6-206.2zM512 615c-97.2 0-176-78.8-176-176s78.8-176 176-176 176 78.8 176 176-78.8 176-176 176z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M512 263c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm79.2 255.2A111.6 111.6 0 0 1 512 551c-29.9 0-58-11.7-79.2-32.8A111.6 111.6 0 0 1 400 439c0-29.9 11.7-58 32.8-79.2C454 338.6 482.1 327 512 327c29.9 0 58 11.6 79.2 32.8S624 409.1 624 439c0 29.9-11.6 58-32.8 79.2z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M854.6 289.1a362.49 362.49 0 0 0-79.9-115.7 370.83 370.83 0 0 0-118.2-77.8C610.7 76.6 562.1 67 512 67c-50.1 0-98.7 9.6-144.5 28.5-44.3 18.3-84 44.5-118.2 77.8A363.6 363.6 0 0 0 169.4 289c-19.5 45-29.4 92.8-29.4 142 0 70.6 16.9 140.9 50.1 208.7 26.7 54.5 64 107.6 111 158.1 80.3 86.2 164.5 138.9 188.4 153a43.9 43.9 0 0 0 22.4 6.1c7.8 0 15.5-2 22.4-6.1 23.9-14.1 108.1-66.8 188.4-153 47-50.4 84.3-103.6 111-158.1C867.1 572 884 501.8 884 431.1c0-49.2-9.9-97-29.4-142zM512 880.2c-65.9-41.9-300-207.8-300-449.1 0-77.9 31.1-151.1 87.6-206.3C356.3 169.5 431.7 139 512 139s155.7 30.5 212.4 85.9C780.9 280 812 353.2 812 431.1c0 241.3-234.1 407.2-300 449.1z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneEuroCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm117.1 581.1c0 3.8-2.7 7-6.4 7.8-15.9 3.4-34.4 5.1-55.3 5.1-109.8 0-183-58.8-200.2-158H337c-4.4 0-8-3.6-8-8v-27.2c0-4.4 3.6-8 8-8h26.1v-36.9c0-4.4 0-8.7.3-12.8H337c-4.4 0-8-3.6-8-8v-27.2c0-4.4 3.6-8 8-8h31.8C388.5 345.7 460.7 290 567.4 290c20.9 0 39.4 1.9 55.3 5.4 3.7.8 6.3 4 6.3 7.8V346a8 8 0 0 1-9.6 7.8c-14.6-2.9-31.8-4.4-51.7-4.4-65.3 0-110.4 33.5-127.6 90.4h128.3c4.4 0 8 3.6 8 8V475c0 4.4-3.6 8-8 8H432.5c-.3 4.4-.3 9.1-.3 13.8v36h136.4c4.4 0 8 3.6 8 8V568c0 4.4-3.6 8-8 8H438c15.3 62 61.3 98.6 129.8 98.6 19.9 0 37.1-1.3 51.8-4.1 4.9-1 9.5 2.8 9.5 7.8v42.8z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M619.6 670.5c-14.7 2.8-31.9 4.1-51.8 4.1-68.5 0-114.5-36.6-129.8-98.6h130.6c4.4 0 8-3.6 8-8v-27.2c0-4.4-3.6-8-8-8H432.2v-36c0-4.7 0-9.4.3-13.8h135.9c4.4 0 8-3.6 8-8v-27.2c0-4.4-3.6-8-8-8H440.1c17.2-56.9 62.3-90.4 127.6-90.4 19.9 0 37.1 1.5 51.7 4.4a8 8 0 0 0 9.6-7.8v-42.8c0-3.8-2.6-7-6.3-7.8-15.9-3.5-34.4-5.4-55.3-5.4-106.7 0-178.9 55.7-198.6 149.9H337c-4.4 0-8 3.6-8 8v27.2c0 4.4 3.6 8 8 8h26.4c-.3 4.1-.3 8.4-.3 12.8v36.9H337c-4.4 0-8 3.6-8 8V568c0 4.4 3.6 8 8 8h30.2c17.2 99.2 90.4 158 200.2 158 20.9 0 39.4-1.7 55.3-5.1 3.7-.8 6.4-4 6.4-7.8v-42.8c0-5-4.6-8.8-9.5-7.8z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneEuro (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm117.1 581.1c0 3.8-2.7 7-6.4 7.8-15.9 3.4-34.4 5.1-55.3 5.1-109.8 0-183-58.8-200.2-158H337c-4.4 0-8-3.6-8-8v-27.2c0-4.4 3.6-8 8-8h26.1v-36.9c0-4.4 0-8.7.3-12.8H337c-4.4 0-8-3.6-8-8v-27.2c0-4.4 3.6-8 8-8h31.8C388.5 345.7 460.7 290 567.4 290c20.9 0 39.4 1.9 55.3 5.4 3.7.8 6.3 4 6.3 7.8V346a8 8 0 0 1-9.6 7.8c-14.6-2.9-31.8-4.4-51.7-4.4-65.3 0-110.4 33.5-127.6 90.4h128.3c4.4 0 8 3.6 8 8V475c0 4.4-3.6 8-8 8H432.5c-.3 4.4-.3 9.1-.3 13.8v36h136.4c4.4 0 8 3.6 8 8V568c0 4.4-3.6 8-8 8H438c15.3 62 61.3 98.6 129.8 98.6 19.9 0 37.1-1.3 51.8-4.1 4.9-1 9.5 2.8 9.5 7.8v42.8z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M619.6 670.5c-14.7 2.8-31.9 4.1-51.8 4.1-68.5 0-114.5-36.6-129.8-98.6h130.6c4.4 0 8-3.6 8-8v-27.2c0-4.4-3.6-8-8-8H432.2v-36c0-4.7 0-9.4.3-13.8h135.9c4.4 0 8-3.6 8-8v-27.2c0-4.4-3.6-8-8-8H440.1c17.2-56.9 62.3-90.4 127.6-90.4 19.9 0 37.1 1.5 51.7 4.4a8 8 0 0 0 9.6-7.8v-42.8c0-3.8-2.6-7-6.3-7.8-15.9-3.5-34.4-5.4-55.3-5.4-106.7 0-178.9 55.7-198.6 149.9H337c-4.4 0-8 3.6-8 8v27.2c0 4.4 3.6 8 8 8h26.4c-.3 4.1-.3 8.4-.3 12.8v36.9H337c-4.4 0-8 3.6-8 8V568c0 4.4 3.6 8 8 8h30.2c17.2 99.2 90.4 158 200.2 158 20.9 0 39.4-1.7 55.3-5.1 3.7-.8 6.4-4 6.4-7.8v-42.8c0-5-4.6-8.8-9.5-7.8z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneExclamationCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm-32 156c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V296zm32 440a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M488 576h48c4.4 0 8-3.6 8-8V296c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8zm-24 112a48 48 0 1 0 96 0 48 48 0 1 0-96 0z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneExperiment (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M551.9 513c19.6 0 35.9-14.2 39.3-32.8A40.02 40.02 0 0 1 552 512a40 40 0 0 1-40-39.4v.5c0 22 17.9 39.9 39.9 39.9zM752 687.8l-.3-.3c-29-17.5-62.3-26.8-97-26.8-44.9 0-87.2 15.7-121 43.8a256.27 256.27 0 0 1-164.9 59.9c-41.2 0-81-9.8-116.7-28L210.5 844h603l-59.9-155.2-1.6-1z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M879 824.9L696.3 352V178H768v-68H256v68h71.7v174L145 824.9c-2.8 7.4-4.3 15.2-4.3 23.1 0 35.3 28.7 64 64 64h614.6c7.9 0 15.7-1.5 23.1-4.3 33-12.7 49.4-49.8 36.6-82.8zM395.7 364.7V180h232.6v184.7L719.2 600c-20.7-5.3-42.1-8-63.9-8-61.2 0-119.2 21.5-165.3 60a188.78 188.78 0 0 1-121.3 43.9c-32.7 0-64.1-8.3-91.8-23.7l118.8-307.5zM210.5 844l41.6-107.6.1-.2c35.7 18.1 75.4 27.8 116.6 27.8 61.2 0 119.2-21.5 165.3-60 33.9-28.2 76.3-43.9 121.3-43.9 35 0 68.4 9.5 97.6 27.1l.6 1.6L813.5 844h-603z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M552 512c19.3 0 35.4-13.6 39.2-31.8.6-2.7.8-5.4.8-8.2 0-22.1-17.9-40-40-40s-40 17.9-40 40v.6a40 40 0 0 0 40 39.4z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneEyeInvisible (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M254.89,758.85,380.46,633.28A176,176,0,0,1,629.28,384.46L757,256.72Q651.69,186.07,512,186,223.7,186,81.8,486.3a60.3,60.3,0,0,0,0,51.5Q151.07,683.71,254.89,758.85Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M942.2,486.2Q889.46,375.11,816.7,305L672.48,449.27A176.09,176.09,0,0,1,445.26,676.48L323,798.75Q408,838,512,838q288.3,0,430.2-300.3A60.29,60.29,0,0,0,942.2,486.2Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M942.2,486.2Q889.47,375.11,816.7,305l-50.88,50.88C807.31,395.53,843.45,447.4,874.7,512,791.5,684.2,673.4,766,512,766q-72.67,0-133.87-22.38L323,798.75Q408,838,512,838q288.3,0,430.2-300.3A60.29,60.29,0,0,0,942.2,486.2Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M878.63,165.56,836,122.88a8,8,0,0,0-11.32,0L715.31,232.2Q624.86,186,512,186,223.7,186,81.8,486.3a60.3,60.3,0,0,0,0,51.5q56.69,119.4,136.5,191.41L112.48,835a8,8,0,0,0,0,11.31L155.17,889a8,8,0,0,0,11.31,0L878.63,176.88A8,8,0,0,0,878.63,165.56ZM149.3,512C232.6,339.8,350.7,258,512,258c54.54,0,104.13,9.36,149.12,28.39l-70.3,70.3A176,176,0,0,0,352.69,594.82l-83.42,83.42C223.1,637.49,183.3,582.28,149.3,512ZM396,512A112.11,112.11,0,0,1,542.2,405.31L401.31,546.2A112,112,0,0,1,396,512Z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M508,624c-3.46,0-6.87-.16-10.25-.47l-52.82,52.82A176.09,176.09,0,0,0,672.35,448.93l-52.82,52.82c.31,3.38.47,6.79.47,10.25A111.94,111.94,0,0,1,508,624Z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneEye (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M81.8 537.8a60.3 60.3 0 0 1 0-51.5C176.6 286.5 319.8 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 0 0 0 51.5C176.6 737.5 319.9 838 512 838c-192.1 0-335.4-100.5-430.2-300.2z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M512 258c-161.3 0-279.4 81.8-362.7 254C232.6 684.2 350.7 766 512 766c161.4 0 279.5-81.8 362.7-254C791.4 339.8 673.3 258 512 258zm-4 430c-97.2 0-176-78.8-176-176s78.8-176 176-176 176 78.8 176 176-78.8 176-176 176z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M942.2 486.2C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 0 0 0 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM512 766c-161.3 0-279.4-81.8-362.7-254C232.6 339.8 350.7 258 512 258s279.4 81.8 362.7 254C791.5 684.2 673.4 766 512 766z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M508 336c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm0 288c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneFileAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M534 352V136H232v752h560V394H576a42 42 0 0 1-42-42zm126 236v48c0 4.4-3.6 8-8 8H544v108c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V644H372c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h108V472c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v108h108c4.4 0 8 3.6 8 8z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0 0 42 42h216v494z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M544 472c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v108H372c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h108v108c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V644h108c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H544V472z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneFileExcel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M534 352V136H232v752h560V394H576a42 42 0 0 1-42-42zm51.6 120h35.7a12.04 12.04 0 0 1 10.1 18.5L546.1 623l84 130.4c3.6 5.6 2 13-3.6 16.6-2 1.2-4.2 1.9-6.5 1.9h-37.5c-4.1 0-8-2.1-10.2-5.7L510 664.8l-62.7 101.5c-2.2 3.5-6 5.7-10.2 5.7h-34.5a12.04 12.04 0 0 1-10.2-18.4l83.4-132.8-82.3-130.4c-3.6-5.7-1.9-13.1 3.7-16.6 1.9-1.3 4.1-1.9 6.4-1.9H442c4.2 0 8.1 2.2 10.3 5.8l61.8 102.4 61.2-102.3c2.2-3.6 6.1-5.8 10.3-5.8z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0 0 42 42h216v494z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M514.1 580.1l-61.8-102.4c-2.2-3.6-6.1-5.8-10.3-5.8h-38.4c-2.3 0-4.5.6-6.4 1.9-5.6 3.5-7.3 10.9-3.7 16.6l82.3 130.4-83.4 132.8a12.04 12.04 0 0 0 10.2 18.4h34.5c4.2 0 8-2.2 10.2-5.7L510 664.8l62.3 101.4c2.2 3.6 6.1 5.7 10.2 5.7H620c2.3 0 4.5-.7 6.5-1.9 5.6-3.6 7.2-11 3.6-16.6l-84-130.4 85.3-132.5a12.04 12.04 0 0 0-10.1-18.5h-35.7c-4.2 0-8.1 2.2-10.3 5.8l-61.2 102.3z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneFileExclamation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M534 352V136H232v752h560V394H576a42 42 0 0 1-42-42zm-54 96c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v184c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V448zm32 336c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0 0 42 42h216v494z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M488 640h48c4.4 0 8-3.6 8-8V448c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v184c0 4.4 3.6 8 8 8zm-16 104a40 40 0 1 0 80 0 40 40 0 1 0-80 0z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneFileImage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M534 352V136H232v752h560V394H576a42 42 0 0 1-42-42zm-134 50c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40zm296 294H328.1c-6.7 0-10.4-7.7-6.3-12.9l99.8-127.2a8 8 0 0 1 12.6 0l41.1 52.4 77.8-99.2a8.1 8.1 0 0 1 12.7 0l136.5 174c4.1 5.2.4 12.9-6.3 12.9z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0 0 42 42h216v494z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M553.1 509.1l-77.8 99.2-41.1-52.4a8 8 0 0 0-12.6 0l-99.8 127.2a7.98 7.98 0 0 0 6.3 12.9H696c6.7 0 10.4-7.7 6.3-12.9l-136.5-174a8.1 8.1 0 0 0-12.7 0zM360 442a40 40 0 1 0 80 0 40 40 0 1 0-80 0z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneFileMarkdown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M534 352V136H232v752h560V394H576a42 42 0 0 1-42-42zm72.3 122H641c6.6 0 12 5.4 12 12v272c0 6.6-5.4 12-12 12h-27.2c-6.6 0-12-5.4-12-12V581.7L535 732.3c-2 4.3-6.3 7.1-11 7.1h-24.1a12 12 0 0 1-11-7.1l-66.8-150.2V758c0 6.6-5.4 12-12 12H383c-6.6 0-12-5.4-12-12V486c0-6.6 5.4-12 12-12h35c4.8 0 9.1 2.8 11 7.2l83.2 191 83.1-191c1.9-4.4 6.2-7.2 11-7.2z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0 0 42 42h216v494z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M429 481.2c-1.9-4.4-6.2-7.2-11-7.2h-35c-6.6 0-12 5.4-12 12v272c0 6.6 5.4 12 12 12h27.1c6.6 0 12-5.4 12-12V582.1l66.8 150.2a12 12 0 0 0 11 7.1H524c4.7 0 9-2.8 11-7.1l66.8-150.6V758c0 6.6 5.4 12 12 12H641c6.6 0 12-5.4 12-12V486c0-6.6-5.4-12-12-12h-34.7c-4.8 0-9.1 2.8-11 7.2l-83.1 191-83.2-191z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneFilePdf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M509.2 490.8c-.7-1.3-1.4-1.9-2.2-2-2.9 3.3-2.2 31.5 2.7 51.4 4-13.6 4.7-40.5-.5-49.4zm-1.6 120.5c-7.7 20-18.8 47.3-32.1 71.4 4-1.6 8.1-3.3 12.3-5 17.6-7.2 37.3-15.3 58.9-20.2-14.9-11.8-28.4-27.7-39.1-46.2z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M534 352V136H232v752h560V394H576a42 42 0 0 1-42-42zm55 287.6c16.1-1.9 30.6-2.8 44.3-2.3 12.8.4 23.6 2 32 5.1.2.1.3.1.5.2.4.2.8.3 1.2.5.5.2 1.1.4 1.6.7.1.1.3.1.4.2 4.1 1.8 7.5 4 10.1 6.6 9.1 9.1 11.8 26.1 6.2 39.6-3.2 7.7-11.7 20.5-33.3 20.5-21.8 0-53.9-9.7-82.1-24.8-25.5 4.3-53.7 13.9-80.9 23.1-5.8 2-11.8 4-17.6 5.9-38 65.2-66.5 79.4-84.1 79.4-4.2 0-7.8-.9-10.8-2-6.9-2.6-12.8-8-16.5-15-.9-1.7-1.6-3.4-2.2-5.2-1.6-4.8-2.1-9.6-1.3-13.6l.6-2.7c.1-.2.1-.4.2-.6.2-.7.4-1.4.7-2.1 0-.1.1-.2.1-.3 4.1-11.9 13.6-23.4 27.7-34.6 12.3-9.8 27.1-18.7 45.9-28.4 15.9-28 37.6-75.1 51.2-107.4-10.8-41.8-16.7-74.6-10.1-98.6.9-3.3 2.5-6.4 4.6-9.1.2-.2.3-.4.5-.6.1-.1.1-.2.2-.2 6.3-7.5 16.9-11.9 28.1-11.5 16.6.7 29.7 11.5 33 30.1 1.7 8 2.2 16.5 1.9 25.7v.7c0 .5 0 1-.1 1.5-.7 13.3-3 26.6-7.3 44.7-.4 1.6-.8 3.2-1.2 5.2l-1 4.1-.1.3c.1.2.1.3.2.5l1.8 4.5c.1.3.3.7.4 1 .7 1.6 1.4 3.3 2.1 4.8v.1c8.7 18.8 19.7 33.4 33.9 45.1 4.3 3.5 8.9 6.7 13.9 9.8 1.8-.5 3.5-.7 5.3-.9z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M391.5 761c5.7-4.4 16.2-14.5 30.1-34.7-10.3 9.4-23.4 22.4-30.1 34.7zm270.9-83l.2-.3h.2c.6-.4.5-.7.4-.9-.1-.1-4.5-9.3-45.1-7.4 35.3 13.9 43.5 9.1 44.3 8.6z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0 0 42 42h216v494z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M535.9 585.3c-.8-1.7-1.5-3.3-2.2-4.9-.1-.3-.3-.7-.4-1l-1.8-4.5c-.1-.2-.1-.3-.2-.5l.1-.3.2-1.1c4-16.3 8.6-35.3 9.4-54.4v-.7c.3-8.6-.2-17.2-2-25.6-3.8-21.3-19.5-29.6-32.9-30.2-11.3-.5-21.8 4-28.1 11.4-.1.1-.1.2-.2.2-.2.2-.4.4-.5.6-2.1 2.7-3.7 5.8-4.6 9.1-6.6 24-.7 56.8 10.1 98.6-13.6 32.4-35.3 79.4-51.2 107.4v.1c-27.7 14.3-64.1 35.8-73.6 62.9 0 .1-.1.2-.1.3-.2.7-.5 1.4-.7 2.1-.1.2-.1.4-.2.6-.2.9-.5 1.8-.6 2.7-.9 4-.4 8.8 1.3 13.6.6 1.8 1.3 3.5 2.2 5.2 3.7 7 9.6 12.4 16.5 15 3 1.1 6.6 2 10.8 2 17.6 0 46.1-14.2 84.1-79.4 5.8-1.9 11.8-3.9 17.6-5.9 27.2-9.2 55.4-18.8 80.9-23.1 28.2 15.1 60.3 24.8 82.1 24.8 21.6 0 30.1-12.8 33.3-20.5 5.6-13.5 2.9-30.5-6.2-39.6-2.6-2.6-6-4.8-10.1-6.6-.1-.1-.3-.1-.4-.2-.5-.2-1.1-.4-1.6-.7-.4-.2-.8-.3-1.2-.5-.2-.1-.3-.1-.5-.2-16.2-5.8-41.7-6.7-76.3-2.8l-5.3.6c-5-3-9.6-6.3-13.9-9.8-14.2-11.3-25.1-25.8-33.8-44.7zM391.5 761c6.7-12.3 19.8-25.3 30.1-34.7-13.9 20.2-24.4 30.3-30.1 34.7zM507 488.8c.8.1 1.5.7 2.2 2 5.2 8.9 4.5 35.8.5 49.4-4.9-19.9-5.6-48.1-2.7-51.4zm-19.2 188.9c-4.2 1.7-8.3 3.4-12.3 5 13.3-24.1 24.4-51.4 32.1-71.4 10.7 18.5 24.2 34.4 39.1 46.2-21.6 4.9-41.3 13-58.9 20.2zm175.4-.9c.1.2.2.5-.4.9h-.2l-.2.3c-.8.5-9 5.3-44.3-8.6 40.6-1.9 45 7.3 45.1 7.4z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneFilePpt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M464.5 516.2v108.4h38.9c44.7 0 71.2-10.9 71.2-54.3 0-34.4-20.1-54.1-53.9-54.1h-56.2z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M534 352V136H232v752h560V394H576a42 42 0 0 1-42-42zm90 218.4c0 55.2-36.8 94.1-96.2 94.1h-63.3V760c0 4.4-3.6 8-8 8H424c-4.4 0-8-3.6-8-8V484c0-4.4 3.6-8 8-8v.1h104c59.7 0 96 39.8 96 94.3z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0 0 42 42h216v494z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M424 476.1c-4.4-.1-8 3.5-8 7.9v276c0 4.4 3.6 8 8 8h32.5c4.4 0 8-3.6 8-8v-95.5h63.3c59.4 0 96.2-38.9 96.2-94.1 0-54.5-36.3-94.3-96-94.3H424zm150.6 94.2c0 43.4-26.5 54.3-71.2 54.3h-38.9V516.2h56.2c33.8 0 53.9 19.7 53.9 54.1z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneFileText (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M534 352V136H232v752h560V394H576a42 42 0 0 1-42-42zm-22 322c0 4.4-3.6 8-8 8H320c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48zm200-184v48c0 4.4-3.6 8-8 8H320c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h384c4.4 0 8 3.6 8 8z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0 0 42 42h216v494z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M312 490v48c0 4.4 3.6 8 8 8h384c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H320c-4.4 0-8 3.6-8 8zm192 128H320c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneFileUnknown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M534 352V136H232v752h560V394H576a42 42 0 0 1-42-42zm-22 424c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm110-228.4c.7 44.9-29.7 84.5-74.3 98.9-5.7 1.8-9.7 7.3-9.7 13.3V672c0 5.5-4.5 10-10 10h-32c-5.5 0-10-4.5-10-10v-32c.2-19.8 15.4-37.3 34.7-40.1C549 596.2 570 574.3 570 549c0-28.1-25.8-51.5-58-51.5s-58 23.4-58 51.6c0 5.2-4.4 9.4-9.8 9.4h-32.4c-5.4 0-9.8-4.1-9.8-9.5 0-57.4 50.1-103.7 111.5-103 59.3.8 107.7 46.1 108.5 101.6z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M854.6 288.7L639.4 73.4c-6-6-14.2-9.4-22.7-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.6-9.4-22.6zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0 0 42 42h216v494z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M480 744a32 32 0 1 0 64 0 32 32 0 1 0-64 0zm-78-195c0 5.4 4.4 9.5 9.8 9.5h32.4c5.4 0 9.8-4.2 9.8-9.4 0-28.2 25.8-51.6 58-51.6s58 23.4 58 51.5c0 25.3-21 47.2-49.3 50.9-19.3 2.8-34.5 20.3-34.7 40.1v32c0 5.5 4.5 10 10 10h32c5.5 0 10-4.5 10-10v-12.2c0-6 4-11.5 9.7-13.3 44.6-14.4 75-54 74.3-98.9-.8-55.5-49.2-100.8-108.5-101.6-61.4-.7-111.5 45.6-111.5 103z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneFileWord (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M534 352V136H232v752h560V394H576a42 42 0 0 1-42-42zm101.3 129.3c1.3-5.4 6.1-9.3 11.7-9.3h35.6a12.04 12.04 0 0 1 11.6 15.1l-74.4 276c-1.4 5.3-6.2 8.9-11.6 8.9h-31.8c-5.4 0-10.2-3.7-11.6-8.9l-52.8-197-52.8 197c-1.4 5.3-6.2 8.9-11.6 8.9h-32c-5.4 0-10.2-3.7-11.6-8.9l-74.2-276a12.02 12.02 0 0 1 11.6-15.1h35.4c5.6 0 10.4 3.9 11.7 9.3L434.6 680l49.7-198.9c1.3-5.4 6.1-9.1 11.6-9.1h32.2c5.5 0 10.3 3.7 11.6 9.1l49.8 199.3 45.8-199.1z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0 0 42 42h216v494z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M528.1 472h-32.2c-5.5 0-10.3 3.7-11.6 9.1L434.6 680l-46.1-198.7c-1.3-5.4-6.1-9.3-11.7-9.3h-35.4a12.02 12.02 0 0 0-11.6 15.1l74.2 276c1.4 5.2 6.2 8.9 11.6 8.9h32c5.4 0 10.2-3.6 11.6-8.9l52.8-197 52.8 197c1.4 5.2 6.2 8.9 11.6 8.9h31.8c5.4 0 10.2-3.6 11.6-8.9l74.4-276a12.04 12.04 0 0 0-11.6-15.1H647c-5.6 0-10.4 3.9-11.7 9.3l-45.8 199.1-49.8-199.3c-1.3-5.4-6.1-9.1-11.6-9.1z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneFileZip (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M344 630h32v2h-32z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M534 352V136H360v64h64v64h-64v64h64v64h-64v64h64v64h-64v62h64v160H296V520h64v-64h-64v-64h64v-64h-64v-64h64v-64h-64v-64h-64v752h560V394H576a42 42 0 0 1-42-42z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h64v64h64v-64h174v216a42 42 0 0 0 42 42h216v494z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M296 392h64v64h-64zm0-128h64v64h-64zm0 318v160h128V582h-64v-62h-64v62zm48 50v-2h32v64h-32v-62zm16-432h64v64h-64zm0 256h64v64h-64zm0-128h64v64h-64z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneFile (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M534 352V136H232v752h560V394H576a42 42 0 0 1-42-42z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM602 137.8L790.2 326H602V137.8zM792 888H232V136h302v216a42 42 0 0 0 42 42h216v494z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneFilter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M420.6 798h182.9V642H420.6zM411 561.4l9.5 16.6h183l9.5-16.6L811.3 226H212.7z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M880.1 154H143.9c-24.5 0-39.8 26.7-27.5 48L349 597.4V838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V597.4L907.7 202c12.2-21.3-3.1-48-27.6-48zM603.5 798H420.6V642h182.9v156zm9.5-236.6l-9.5 16.6h-183l-9.5-16.6L212.7 226h598.6L613 561.4z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneFire (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M737 438.6c-9.6 15.5-21.1 30.7-34.4 45.6a73.1 73.1 0 0 1-51 24.4 73.36 73.36 0 0 1-53.4-18.8 74.01 74.01 0 0 1-24.4-59.8c3-47.4-12.4-103.1-45.8-165.7-16.9-31.4-37.1-58.2-61.2-80.4a240 240 0 0 1-12.1 46.5 354.26 354.26 0 0 1-58.2 101 349.6 349.6 0 0 1-58.6 56.8c-34 26.1-62 60-80.8 97.9a275.96 275.96 0 0 0-29.1 124c0 74.9 29.5 145.3 83 198.4 53.7 53.2 125 82.4 201 82.4s147.3-29.2 201-82.4c53.5-53 83-123.5 83-198.4 0-39.2-8.1-77.3-24-113.1-9.3-21-21-40.5-35-58.4z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M834.1 469.2A347.49 347.49 0 0 0 751.2 354l-29.1-26.7a8.09 8.09 0 0 0-13 3.3l-13 37.3c-8.1 23.4-23 47.3-44.1 70.8-1.4 1.5-3 1.9-4.1 2-1.1.1-2.8-.1-4.3-1.5-1.4-1.2-2.1-3-2-4.8 3.7-60.2-14.3-128.1-53.7-202C555.3 171 510 123.1 453.4 89.7l-41.3-24.3c-5.4-3.2-12.3 1-12 7.3l2.2 48c1.5 32.8-2.3 61.8-11.3 85.9-11 29.5-26.8 56.9-47 81.5a295.64 295.64 0 0 1-47.5 46.1 352.6 352.6 0 0 0-100.3 121.5A347.75 347.75 0 0 0 160 610c0 47.2 9.3 92.9 27.7 136a349.4 349.4 0 0 0 75.5 110.9c32.4 32 70 57.2 111.9 74.7C418.5 949.8 464.5 959 512 959s93.5-9.2 136.9-27.3A348.6 348.6 0 0 0 760.8 857c32.4-32 57.8-69.4 75.5-110.9a344.2 344.2 0 0 0 27.7-136c0-48.8-10-96.2-29.9-140.9zM713 808.5c-53.7 53.2-125 82.4-201 82.4s-147.3-29.2-201-82.4c-53.5-53.1-83-123.5-83-198.4 0-43.5 9.8-85.2 29.1-124 18.8-37.9 46.8-71.8 80.8-97.9a349.6 349.6 0 0 0 58.6-56.8c25-30.5 44.6-64.5 58.2-101a240 240 0 0 0 12.1-46.5c24.1 22.2 44.3 49 61.2 80.4 33.4 62.6 48.8 118.3 45.8 165.7a74.01 74.01 0 0 0 24.4 59.8 73.36 73.36 0 0 0 53.4 18.8c19.7-1 37.8-9.7 51-24.4 13.3-14.9 24.8-30.1 34.4-45.6 14 17.9 25.7 37.4 35 58.4 15.9 35.8 24 73.9 24 113.1 0 74.9-29.5 145.4-83 198.4z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneFlag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M184 232h368v336H184z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M624 632c0 4.4-3.6 8-8 8H504v73h336V377H624v255z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M880 305H624V192c0-17.7-14.3-32-32-32H184v-40c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v784c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V640h248v113c0 17.7 14.3 32 32 32h416c17.7 0 32-14.3 32-32V337c0-17.7-14.3-32-32-32zM184 568V232h368v336H184zm656 145H504v-73h112c4.4 0 8-3.6 8-8V377h216v336z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneFolderAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M372.5 256H184v512h656V370.4H492.1L372.5 256zM540 443.1V528h84.5c4.1 0 7.5 3.1 7.5 7v42c0 3.8-3.4 7-7.5 7H540v84.9c0 3.9-3.1 7.1-7 7.1h-42c-3.8 0-7-3.2-7-7.1V584h-84.5c-4.1 0-7.5-3.2-7.5-7v-42c0-3.9 3.4-7 7.5-7H484v-84.9c0-3.9 3.2-7.1 7-7.1h42c3.9 0 7 3.2 7 7.1z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M880 298.4H521L403.7 186.2a8.15 8.15 0 0 0-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32zM840 768H184V256h188.5l119.6 114.4H840V768z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M484 443.1V528h-84.5c-4.1 0-7.5 3.1-7.5 7v42c0 3.8 3.4 7 7.5 7H484v84.9c0 3.9 3.2 7.1 7 7.1h42c3.9 0 7-3.2 7-7.1V584h84.5c4.1 0 7.5-3.2 7.5-7v-42c0-3.9-3.4-7-7.5-7H540v-84.9c0-3.9-3.1-7.1-7-7.1h-42c-3.8 0-7 3.2-7 7.1z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneFolderOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M159 768h612.3l103.4-256H262.3z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M928 444H820V330.4c0-17.7-14.3-32-32-32H473L355.7 186.2a8.15 8.15 0 0 0-5.5-2.2H96c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h698c13 0 24.8-7.9 29.7-20l134-332c1.5-3.8 2.3-7.9 2.3-12 0-17.7-14.3-32-32-32zM136 256h188.5l119.6 114.4H748V444H238c-13 0-24.8 7.9-29.7 20L136 643.2V256zm635.3 512H159l103.3-256h612.4L771.3 768z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneFolder (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M880 298.4H521L403.7 186.2a8.15 8.15 0 0 0-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32zM840 768H184V256h188.5l119.6 114.4H840V768z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M372.5 256H184v512h656V370.4H492.1z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneFrown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zM288 421a48.01 48.01 0 0 1 96 0 48.01 48.01 0 0 1-96 0zm376 272h-48.1c-4.2 0-7.8-3.2-8.1-7.4C604 636.1 562.5 597 512 597s-92.1 39.1-95.8 88.6c-.3 4.2-3.9 7.4-8.1 7.4H360a8 8 0 0 1-8-8.4c4.4-84.3 74.5-151.6 160-151.6s155.6 67.3 160 151.6a8 8 0 0 1-8 8.4zm24-224a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M288 421a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm224 112c-85.5 0-155.6 67.3-160 151.6a8 8 0 0 0 8 8.4h48.1c4.2 0 7.8-3.2 8.1-7.4 3.7-49.5 45.3-88.6 95.8-88.6s92 39.1 95.8 88.6c.3 4.2 3.9 7.4 8.1 7.4H664a8 8 0 0 0 8-8.4C667.6 600.3 597.5 533 512 533zm128-112a48 48 0 1 0 96 0 48 48 0 1 0-96 0z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneFund (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 632H136V232h752v560z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M136 792h752V232H136v560zm56.4-130.5l214.9-215c3.1-3.1 8.2-3.1 11.3 0L533 561l254.5-254.6c3.1-3.1 8.2-3.1 11.3 0l36.8 36.8c3.1 3.1 3.1 8.2 0 11.3l-297 297.2a8.03 8.03 0 0 1-11.3 0L412.9 537.2 240.4 709.7a8.03 8.03 0 0 1-11.3 0l-36.7-36.9a8.03 8.03 0 0 1 0-11.3z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M229.1 709.7c3.1 3.1 8.2 3.1 11.3 0l172.5-172.5 114.4 114.5c3.1 3.1 8.2 3.1 11.3 0l297-297.2c3.1-3.1 3.1-8.2 0-11.3l-36.8-36.8a8.03 8.03 0 0 0-11.3 0L533 561 418.6 446.5a8.03 8.03 0 0 0-11.3 0l-214.9 215a8.03 8.03 0 0 0 0 11.3l36.7 36.9z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneFunnelPlot (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M420.6 798h182.9V650H420.6zM297.7 374h428.6l85-148H212.7zm113.2 197.4l8.4 14.6h185.3l8.4-14.6L689.6 438H334.4z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M880.1 154H143.9c-24.5 0-39.8 26.7-27.5 48L349 607.4V838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V607.4L907.7 202c12.2-21.3-3.1-48-27.6-48zM603.5 798H420.6V650h182.9v148zm9.5-226.6l-8.4 14.6H419.3l-8.4-14.6L334.4 438h355.2L613 571.4zM726.3 374H297.7l-85-148h598.6l-85 148z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneGift (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M546 378h298v104H546zM228 550h250v308H228zm-48-172h298v104H180zm366 172h250v308H546z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M880 310H732.4c13.6-21.4 21.6-46.8 21.6-74 0-76.1-61.9-138-138-138-41.4 0-78.7 18.4-104 47.4-25.3-29-62.6-47.4-104-47.4-76.1 0-138 61.9-138 138 0 27.2 7.9 52.6 21.6 74H144c-17.7 0-32 14.3-32 32v200c0 4.4 3.6 8 8 8h40v344c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V550h40c4.4 0 8-3.6 8-8V342c0-17.7-14.3-32-32-32zM478 858H228V550h250v308zm0-376H180V378h298v104zm0-176h-70c-38.6 0-70-31.4-70-70s31.4-70 70-70 70 31.4 70 70v70zm68-70c0-38.6 31.4-70 70-70s70 31.4 70 70-31.4 70-70 70h-70v-70zm250 622H546V550h250v308zm48-376H546V378h298v104z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneGold (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M435.7 558.7c-.6-3.9-4-6.7-7.9-6.7H166.2c-3.9 0-7.3 2.8-7.9 6.7l-40.2 248c-.1.4-.1.9-.1 1.3 0 4.4 3.6 8 8 8h342c.4 0 .9 0 1.3-.1 4.4-.7 7.3-4.8 6.6-9.2l-40.2-248zM196.5 748l20.7-128h159.5l20.7 128H196.5zm709.4 58.7l-40.2-248c-.6-3.9-4-6.7-7.9-6.7H596.2c-3.9 0-7.3 2.8-7.9 6.7l-40.2 248c-.1.4-.1.9-.1 1.3 0 4.4 3.6 8 8 8h342c.4 0 .9 0 1.3-.1 4.3-.7 7.3-4.8 6.6-9.2zM626.5 748l20.7-128h159.5l20.7 128H626.5zM342 472h342c.4 0 .9 0 1.3-.1 4.4-.7 7.3-4.8 6.6-9.2l-40.2-248c-.6-3.9-4-6.7-7.9-6.7H382.2c-3.9 0-7.3 2.8-7.9 6.7l-40.2 248c-.1.4-.1.9-.1 1.3 0 4.4 3.6 8 8 8zm91.2-196h159.5l20.7 128h-201l20.8-128z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M592.7 276H433.2l-20.8 128h201zM217.2 620l-20.7 128h200.9l-20.7-128zm430 0l-20.7 128h200.9l-20.7-128z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneHdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M232 888h560V680H232v208zm448-140c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40zM232 616h560V408H232v208zm72-128c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H312c-4.4 0-8-3.6-8-8v-48zm-72-144h560V136H232v208zm72-128c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H312c-4.4 0-8-3.6-8-8v-48z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-40 824H232V680h560v208zm0-272H232V408h560v208zm0-272H232V136h560v208z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M312 544h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H312c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm0-272h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H312c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm328 516a40 40 0 1 0 80 0 40 40 0 1 0-80 0z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneHeart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M923 283.6a260.04 260.04 0 0 0-56.9-82.8 264.4 264.4 0 0 0-84-55.5A265.34 265.34 0 0 0 679.7 125c-49.3 0-97.4 13.5-139.2 39-10 6.1-19.5 12.8-28.5 20.1-9-7.3-18.5-14-28.5-20.1-41.8-25.5-89.9-39-139.2-39-35.5 0-69.9 6.8-102.4 20.3-31.4 13-59.7 31.7-84 55.5a258.44 258.44 0 0 0-56.9 82.8c-13.9 32.3-21 66.6-21 101.9 0 33.3 6.8 68 20.3 103.3 11.3 29.5 27.5 60.1 48.2 91 32.8 48.9 77.9 99.9 133.9 151.6 92.8 85.7 184.7 144.9 188.6 147.3l23.7 15.2c10.5 6.7 24 6.7 34.5 0l23.7-15.2c3.9-2.5 95.7-61.6 188.6-147.3 56-51.7 101.1-102.7 133.9-151.6 20.7-30.9 37-61.5 48.2-91 13.5-35.3 20.3-70 20.3-103.3.1-35.3-7-69.6-20.9-101.9zM512 814.8S156 586.7 156 385.5C156 283.6 240.3 201 344.3 201c73.1 0 136.5 40.8 167.7 100.4C543.2 241.8 606.6 201 679.7 201c104 0 188.3 82.6 188.3 184.5 0 201.2-356 429.3-356 429.3z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M679.7 201c-73.1 0-136.5 40.8-167.7 100.4C480.8 241.8 417.4 201 344.3 201c-104 0-188.3 82.6-188.3 184.5 0 201.2 356 429.3 356 429.3s356-228.1 356-429.3C868 283.6 783.7 201 679.7 201z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneHighlight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M229.6 796.3h160.2l54.3-54.1-80.1-78.9zm220.7-397.1l262.8 258.9 147.3-145-262.8-259zm-77.1 166.1l171.4 168.9 68.6-67.6-171.4-168.9z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M957.6 507.5L603.2 158.3a7.9 7.9 0 0 0-11.2 0L353.3 393.5a8.03 8.03 0 0 0-.1 11.3l.1.1 40 39.4-117.2 115.3a8.03 8.03 0 0 0-.1 11.3l.1.1 39.5 38.9-189.1 187H72.1c-4.4 0-8.1 3.6-8.1 8v55.2c0 4.4 3.6 8 8 8h344.9c2.1 0 4.1-.8 5.6-2.3l76.1-75.6L539 830a7.9 7.9 0 0 0 11.2 0l117.1-115.6 40.1 39.5a7.9 7.9 0 0 0 11.2 0l238.7-235.2c3.4-3 3.4-8 .3-11.2zM389.8 796.3H229.6l134.4-133 80.1 78.9-54.3 54.1zm154.8-62.1L373.2 565.3l68.6-67.6 171.4 168.9-68.6 67.6zm168.5-76.1L450.3 399.2l147.3-145.1 262.8 259-147.3 145z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneHome (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M512.1 172.6l-370 369.7h96V868H392V640c0-22.1 17.9-40 40-40h160c22.1 0 40 17.9 40 40v228h153.9V542.3H882L535.2 195.7l-23.1-23.1zm434.5 422.9c-6 6-13.1 10.8-20.8 13.9 7.7-3.2 14.8-7.9 20.8-13.9zm-887-34.7c5 30.3 31.4 53.5 63.1 53.5h.9c-31.9 0-58.9-23-64-53.5zm-.9-10.5v-1.9 1.9zm.1-2.6c.1-3.1.5-6.1 1-9.1-.6 2.9-.9 6-1 9.1z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M951 510c0-.1-.1-.1-.1-.2l-1.8-2.1c-.1-.1-.2-.3-.4-.4-.7-.8-1.5-1.6-2.2-2.4L560.1 118.8l-25.9-25.9a31.5 31.5 0 0 0-44.4 0L77.5 505a63.6 63.6 0 0 0-16 26.6l-.6 2.1-.3 1.1-.3 1.2c-.2.7-.3 1.4-.4 2.1 0 .1 0 .3-.1.4-.6 3-.9 6-1 9.1v3.3c0 .5 0 1 .1 1.5 0 .5 0 .9.1 1.4 0 .5.1 1 .1 1.5 0 .6.1 1.2.2 1.8 0 .3.1.6.1.9l.3 2.5v.1c5.1 30.5 32.2 53.5 64 53.5h42.5V940h691.7V614.3h43.4c8.6 0 16.9-1.7 24.5-4.9s14.7-7.9 20.8-13.9a63.6 63.6 0 0 0 18.7-45.3c0-14.7-5-28.8-14.3-40.2zM568 868H456V664h112v204zm217.9-325.7V868H632V640c0-22.1-17.9-40-40-40H432c-22.1 0-40 17.9-40 40v228H238.1V542.3h-96l370-369.7 23.1 23.1L882 542.3h-96.1z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneHourglass (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M512 548c-42.2 0-81.9 16.4-111.7 46.3A156.63 156.63 0 0 0 354 706v134h316V706c0-42.2-16.4-81.9-46.3-111.7A156.63 156.63 0 0 0 512 548zM354 318c0 42.2 16.4 81.9 46.3 111.7C430.1 459.6 469.8 476 512 476s81.9-16.4 111.7-46.3C653.6 399.9 670 360.2 670 318V184H354v134z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M742 318V184h86c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H196c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h86v134c0 81.5 42.4 153.2 106.4 194-64 40.8-106.4 112.5-106.4 194v134h-86c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h632c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-86V706c0-81.5-42.4-153.2-106.4-194 64-40.8 106.4-112.5 106.4-194zm-72 388v134H354V706c0-42.2 16.4-81.9 46.3-111.7C430.1 564.4 469.8 548 512 548s81.9 16.4 111.7 46.3C653.6 624.1 670 663.8 670 706zm0-388c0 42.2-16.4 81.9-46.3 111.7C593.9 459.6 554.2 476 512 476s-81.9-16.4-111.7-46.3A156.63 156.63 0 0 1 354 318V184h316v134z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneHtml5 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M145 96l66 746.6L511.8 928l299.6-85.4L878.7 96H145zm610.9 700.6l-244.1 69.6-245.2-69.6-56.7-641.2h603.8l-57.8 641.2z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M209.9 155.4l56.7 641.2 245.2 69.6 244.1-69.6 57.8-641.2H209.9zm530.4 117.9l-4.8 47.2-1.7 19.5H381.7l8.2 94.2H511v-.2h214.7l-3.2 24.3-21.2 242.2-1.7 16.3-187.7 51.7v.4h-1.7l-188.6-52-11.3-144.7h91l6.5 73.2 102.4 27.7h.8v-.2l102.4-27.7 11.4-118.5H511.9v.1H305.4l-22.7-253.5L281 249h461l-1.7 24.3z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M281 249l1.7 24.3 22.7 253.5h206.5v-.1h112.9l-11.4 118.5L511 672.9v.2h-.8l-102.4-27.7-6.5-73.2h-91l11.3 144.7 188.6 52h1.7v-.4l187.7-51.7 1.7-16.3 21.2-242.2 3.2-24.3H511v.2H389.9l-8.2-94.2h352.1l1.7-19.5 4.8-47.2L742 249H511z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneIdcard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 632H136V232h752v560z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M136 792h752V232H136v560zm472-372c0-4.4 1-8 2.3-8h123.4c1.3 0 2.3 3.6 2.3 8v48c0 4.4-1 8-2.3 8H610.3c-1.3 0-2.3-3.6-2.3-8v-48zm0 144c0-4.4 3.2-8 7.1-8h185.7c3.9 0 7.1 3.6 7.1 8v48c0 4.4-3.2 8-7.1 8H615.1c-3.9 0-7.1-3.6-7.1-8v-48zM216.2 664.6c2.8-53.3 31.9-99.6 74.6-126.1-18.1-20-29.1-46.4-29.1-75.5 0-61.9 49.9-112 111.4-112s111.4 50.1 111.4 112c0 29.1-11 55.6-29.1 75.5 42.6 26.4 71.8 72.8 74.6 126.1a8 8 0 0 1-8 8.4h-43.9c-4.2 0-7.6-3.3-7.9-7.5-3.8-50.5-46-90.5-97.2-90.5s-93.4 40-97.2 90.5c-.3 4.2-3.7 7.5-7.9 7.5H224c-4.6 0-8.2-3.8-7.8-8.4z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M321.3 463a51.7 52 0 1 0 103.4 0 51.7 52 0 1 0-103.4 0z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M610.3 476h123.4c1.3 0 2.3-3.6 2.3-8v-48c0-4.4-1-8-2.3-8H610.3c-1.3 0-2.3 3.6-2.3 8v48c0 4.4 1 8 2.3 8zm4.8 144h185.7c3.9 0 7.1-3.6 7.1-8v-48c0-4.4-3.2-8-7.1-8H615.1c-3.9 0-7.1 3.6-7.1 8v48c0 4.4 3.2 8 7.1 8zM224 673h43.9c4.2 0 7.6-3.3 7.9-7.5 3.8-50.5 46-90.5 97.2-90.5s93.4 40 97.2 90.5c.3 4.2 3.7 7.5 7.9 7.5H522a8 8 0 0 0 8-8.4c-2.8-53.3-32-99.7-74.6-126.1a111.8 111.8 0 0 0 29.1-75.5c0-61.9-49.9-112-111.4-112s-111.4 50.1-111.4 112c0 29.1 11 55.5 29.1 75.5a158.09 158.09 0 0 0-74.6 126.1c-.4 4.6 3.2 8.4 7.8 8.4zm149-262c28.5 0 51.7 23.3 51.7 52s-23.2 52-51.7 52-51.7-23.3-51.7-52 23.2-52 51.7-52z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneInfoCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm32 588c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M464 336a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm72 112h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V456c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneInsurance (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM810 654.3L512 886.5 214 654.3V226.7l298-101.6 298 101.6v427.6z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M521.9 358.8h97.9v41.6h-97.9z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M214 226.7v427.6l298 232.2 298-232.2V226.7L512 125.1 214 226.7zM413.3 656h-.2c0 4.4-3.6 8-8 8h-37.3c-4.4 0-8-3.6-8-8V471.4c-7.7 9.2-15.4 17.9-23.1 26a6.04 6.04 0 0 1-10.2-2.4l-13.2-43.5c-.6-2-.2-4.1 1.2-5.6 37-43.4 64.7-95.1 82.2-153.6 1.1-3.5 5-5.3 8.4-3.7l38.6 18.3c2.7 1.3 4.1 4.4 3.2 7.2a429.2 429.2 0 0 1-33.6 79V656zm257.9-340v127.2c0 4.4-3.6 8-8 8h-66.7v18.6h98.8c4.4 0 8 3.6 8 8v35.6c0 4.4-3.6 8-8 8h-59c18.1 29.1 41.8 54.3 72.3 76.9 2.6 2.1 3.2 5.9 1.2 8.5l-26.3 35.3a5.92 5.92 0 0 1-8.9.7c-30.6-29.3-56.8-65.2-78.1-106.9V656c0 4.4-3.6 8-8 8h-36.2c-4.4 0-8-3.6-8-8V536c-22 44.7-49 80.8-80.6 107.6a6.38 6.38 0 0 1-4.8 1.4c-1.7-.3-3.2-1.3-4.1-2.8L432 605.7a6 6 0 0 1 1.6-8.1c28.6-20.3 51.9-45.2 71-76h-55.1c-4.4 0-8-3.6-8-8V478c0-4.4 3.6-8 8-8h94.9v-18.6h-65.9c-4.4 0-8-3.6-8-8V316c0-4.4 3.6-8 8-8h184.7c4.4 0 8 3.6 8 8z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M443.7 306.9l-38.6-18.3c-3.4-1.6-7.3.2-8.4 3.7-17.5 58.5-45.2 110.2-82.2 153.6a5.7 5.7 0 0 0-1.2 5.6l13.2 43.5c1.4 4.5 7 5.8 10.2 2.4 7.7-8.1 15.4-16.8 23.1-26V656c0 4.4 3.6 8 8 8h37.3c4.4 0 8-3.6 8-8h.2V393.1a429.2 429.2 0 0 0 33.6-79c.9-2.8-.5-5.9-3.2-7.2zm26.8 9.1v127.4c0 4.4 3.6 8 8 8h65.9V470h-94.9c-4.4 0-8 3.6-8 8v35.6c0 4.4 3.6 8 8 8h55.1c-19.1 30.8-42.4 55.7-71 76a6 6 0 0 0-1.6 8.1l22.8 36.5c.9 1.5 2.4 2.5 4.1 2.8 1.7.3 3.5-.2 4.8-1.4 31.6-26.8 58.6-62.9 80.6-107.6v120c0 4.4 3.6 8 8 8h36.2c4.4 0 8-3.6 8-8V535.9c21.3 41.7 47.5 77.6 78.1 106.9 2.6 2.5 6.7 2.2 8.9-.7l26.3-35.3c2-2.6 1.4-6.4-1.2-8.5-30.5-22.6-54.2-47.8-72.3-76.9h59c4.4 0 8-3.6 8-8v-35.6c0-4.4-3.6-8-8-8h-98.8v-18.6h66.7c4.4 0 8-3.6 8-8V316c0-4.4-3.6-8-8-8H478.5c-4.4 0-8 3.6-8 8zm51.4 42.8h97.9v41.6h-97.9v-41.6z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneInteraction (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M184 840h656V184H184v656zm114-401.9c0-55.3 44.6-100.1 99.7-100.1h205.8v-53.4c0-5.6 6.5-8.8 10.9-5.3L723.5 365c3.5 2.7 3.5 8 0 10.7l-109.1 85.7c-4.4 3.5-10.9.4-10.9-5.3v-53.4H397.8c-19.6 0-35.5 15.9-35.5 35.6v78.9c0 3.8-3.1 6.8-6.8 6.8h-50.7c-3.8 0-6.8-3-6.8-7v-78.9zm2.6 210.3l109.1-85.7c4.4-3.5 10.9-.4 10.9 5.3v53.4h205.6c19.6 0 35.5-15.9 35.5-35.6v-78.9c0-3.8 3.1-6.8 6.8-6.8h50.7c3.8 0 6.8 3.1 6.8 6.8v78.9c0 55.3-44.6 100.1-99.7 100.1H420.6v53.4c0 5.6-6.5 8.8-10.9 5.3l-109.1-85.7c-3.5-2.7-3.5-8 0-10.5z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M304.8 524h50.7c3.7 0 6.8-3 6.8-6.8v-78.9c0-19.7 15.9-35.6 35.5-35.6h205.7v53.4c0 5.7 6.5 8.8 10.9 5.3l109.1-85.7c3.5-2.7 3.5-8 0-10.7l-109.1-85.7c-4.4-3.5-10.9-.3-10.9 5.3V338H397.7c-55.1 0-99.7 44.8-99.7 100.1V517c0 4 3 7 6.8 7zm-4.2 134.9l109.1 85.7c4.4 3.5 10.9.3 10.9-5.3v-53.4h205.7c55.1 0 99.7-44.8 99.7-100.1v-78.9c0-3.7-3-6.8-6.8-6.8h-50.7c-3.7 0-6.8 3-6.8 6.8v78.9c0 19.7-15.9 35.6-35.5 35.6H420.6V568c0-5.7-6.5-8.8-10.9-5.3l-109.1 85.7c-3.5 2.5-3.5 7.8 0 10.5z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneLayout (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M384 185h456v136H384zm-200 0h136v656H184zm696-73H144c-17.7 0-32 14.3-32 32v1c0-17.7 14.3-32 32-32h736c17.7 0 32 14.3 32 32v-1c0-17.7-14.3-32-32-32zM384 385h456v456H384z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M880 113H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V145c0-17.7-14.3-32-32-32zM320 841H184V185h136v656zm520 0H384V385h456v456zm0-520H384V185h456v136z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneLeftCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm104 240.9c0 10.3-4.9 19.9-13.2 25.9L457.4 512l145.4 105.1c8.3 6 13.2 15.7 13.2 25.9v46.9c0 6.5-7.4 10.3-12.7 6.5l-246-178a7.95 7.95 0 0 1 0-12.9l246-178c5.3-3.8 12.7 0 12.7 6.5v46.9z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M603.3 327.5l-246 178a7.95 7.95 0 0 0 0 12.9l246 178c5.3 3.8 12.7 0 12.7-6.5V643c0-10.2-4.9-19.9-13.2-25.9L457.4 512l145.4-105.2c8.3-6 13.2-15.6 13.2-25.9V334c0-6.5-7.4-10.3-12.7-6.5z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneLeftSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M184 840h656V184H184v656zm181.3-334.5l246-178c5.3-3.8 12.7 0 12.7 6.5v46.9c0 10.3-4.9 19.9-13.2 25.9L465.4 512l145.4 105.2c8.3 6 13.2 15.7 13.2 25.9V690c0 6.5-7.4 10.3-12.7 6.4l-246-178a7.95 7.95 0 0 1 0-12.9z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M365.3 518.4l246 178c5.3 3.9 12.7.1 12.7-6.4v-46.9c0-10.2-4.9-19.9-13.2-25.9L465.4 512l145.4-105.2c8.3-6 13.2-15.6 13.2-25.9V334c0-6.5-7.4-10.3-12.7-6.5l-246 178a7.95 7.95 0 0 0 0 12.9z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneLike (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M273 495.9v428l.3-428zm538.2-88.3H496.8l9.6-198.4c.6-11.9-4.7-23.1-14.6-30.5-6.1-4.5-13.6-6.8-21.1-6.7-19.6.1-36.9 13.4-42.2 32.3-37.1 134.4-64.9 235.2-83.5 302.5V852h399.4a56.85 56.85 0 0 0 33.6-51.8c0-9.7-2.3-18.9-6.9-27.3l-13.9-25.4 21.9-19a56.76 56.76 0 0 0 19.6-43c0-9.7-2.3-18.9-6.9-27.3l-13.9-25.4 21.9-19a56.76 56.76 0 0 0 19.6-43c0-9.7-2.3-18.9-6.9-27.3l-14-25.5 21.9-19a56.76 56.76 0 0 0 19.6-43c0-19.1-11-37.5-28.8-48.4z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M112 528v364c0 17.7 14.3 32 32 32h65V496h-65c-17.7 0-32 14.3-32 32zm773.9 5.7c16.8-22.2 26.1-49.4 26.1-77.7 0-44.9-25.1-87.5-65.5-111a67.67 67.67 0 0 0-34.3-9.3H572.3l6-122.9c1.5-29.7-9-57.9-29.5-79.4a106.4 106.4 0 0 0-77.9-33.4c-52 0-98 35-111.8 85.1l-85.8 310.8-.3 428h472.1c9.3 0 18.2-1.8 26.5-5.4 47.6-20.3 78.3-66.8 78.3-118.4 0-12.6-1.8-25-5.4-37 16.8-22.2 26.1-49.4 26.1-77.7 0-12.6-1.8-25-5.4-37 16.8-22.2 26.1-49.4 26.1-77.7 0-12.6-1.8-25-5.4-37zM820.4 499l-21.9 19 14 25.5a56.2 56.2 0 0 1 6.9 27.3c0 16.5-7.1 32.2-19.6 43l-21.9 19 13.9 25.4a56.2 56.2 0 0 1 6.9 27.3c0 16.5-7.1 32.2-19.6 43l-21.9 19 13.9 25.4a56.2 56.2 0 0 1 6.9 27.3c0 22.4-13.2 42.6-33.6 51.8H345V506.8c18.6-67.2 46.4-168 83.5-302.5a44.28 44.28 0 0 1 42.2-32.3c7.5-.1 15 2.2 21.1 6.7 9.9 7.4 15.2 18.6 14.6 30.5l-9.6 198.4h314.4C829 418.5 840 436.9 840 456c0 16.5-7.1 32.2-19.6 43z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneLock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M832 464h-68V240c0-70.7-57.3-128-128-128H388c-70.7 0-128 57.3-128 128v224h-68c-17.7 0-32 14.3-32 32v384c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V496c0-17.7-14.3-32-32-32zM332 240c0-30.9 25.1-56 56-56h248c30.9 0 56 25.1 56 56v224H332V240zm460 600H232V536h560v304z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M232 840h560V536H232v304zm280-226a48.01 48.01 0 0 1 28 87v53c0 4.4-3.6 8-8 8h-40c-4.4 0-8-3.6-8-8v-53a48.01 48.01 0 0 1 28-87z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M484 701v53c0 4.4 3.6 8 8 8h40c4.4 0 8-3.6 8-8v-53a48.01 48.01 0 1 0-56 0z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneMail (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M477.5 536.3L135.9 270.7l-27.5-21.4 27.6 21.5V792h752V270.8L546.2 536.3a55.99 55.99 0 0 1-68.7 0z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M876.3 198.8l39.3 50.5-27.6 21.5 27.7-21.5-39.3-50.5z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-94.5 72.1L512 482 190.5 232.1h643zm54.5 38.7V792H136V270.8l-27.6-21.5 27.5 21.4 341.6 265.6a55.99 55.99 0 0 0 68.7 0L888 270.8l27.6-21.5-39.3-50.5h.1l39.3 50.5-27.7 21.5z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneMedicineBox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M244.3 328L184 513.4V840h656V513.4L779.7 328H244.3zM660 628c0 4.4-3.6 8-8 8H544v108c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V636H372c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h108V464c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v108h108c4.4 0 8 3.6 8 8v48z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M652 572H544V464c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v108H372c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h108v108c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V636h108c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M839.2 278.1a32 32 0 0 0-30.4-22.1H736V144c0-17.7-14.3-32-32-32H320c-17.7 0-32 14.3-32 32v112h-72.8a31.9 31.9 0 0 0-30.4 22.1L112 502v378c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V502l-72.8-223.9zM360 184h304v72H360v-72zm480 656H184V513.4L244.3 328h535.4L840 513.4V840z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneMeh (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zM288 421a48.01 48.01 0 0 1 96 0 48.01 48.01 0 0 1-96 0zm384 200c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h304c4.4 0 8 3.6 8 8v48zm16-152a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M288 421a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm376 144H360c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h304c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm-24-144a48 48 0 1 0 96 0 48 48 0 1 0-96 0z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneMessage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D8D8D8\",\"d\":\"M775.3 248.9a369.62 369.62 0 0 0-119-80A370.2 370.2 0 0 0 512.1 140h-1.7c-99.7.4-193 39.4-262.8 109.9-69.9 70.5-108 164.1-107.6 263.8.3 60.3 15.3 120.2 43.5 173.1l4.5 8.4V836h140.8l8.4 4.5c52.9 28.2 112.8 43.2 173.1 43.5h1.7c99 0 192-38.2 262.1-107.6 70.4-69.8 109.5-163.1 110.1-262.7.2-50.6-9.5-99.6-28.9-145.8a370.15 370.15 0 0 0-80-119zM312 560a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96zm200 0a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96zm200 0a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M664 512a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm-400 0a48 48 0 1 0 96 0 48 48 0 1 0-96 0z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M925.2 338.4c-22.6-53.7-55-101.9-96.3-143.3a444.35 444.35 0 0 0-143.3-96.3C630.6 75.7 572.2 64 512 64h-2c-60.6.3-119.3 12.3-174.5 35.9a445.35 445.35 0 0 0-142 96.5c-40.9 41.3-73 89.3-95.2 142.8-23 55.4-34.6 114.3-34.3 174.9A449.4 449.4 0 0 0 112 714v152a46 46 0 0 0 46 46h152.1A449.4 449.4 0 0 0 510 960h2.1c59.9 0 118-11.6 172.7-34.3a444.48 444.48 0 0 0 142.8-95.2c41.3-40.9 73.8-88.7 96.5-142 23.6-55.2 35.6-113.9 35.9-174.5.3-60.9-11.5-120-34.8-175.6zm-151.1 438C704 845.8 611 884 512 884h-1.7c-60.3-.3-120.2-15.3-173.1-43.5l-8.4-4.5H188V695.2l-4.5-8.4C155.3 633.9 140.3 574 140 513.7c-.4-99.7 37.7-193.3 107.6-263.8 69.8-70.5 163.1-109.5 262.8-109.9h1.7c50 0 98.5 9.7 144.2 28.9 44.6 18.7 84.6 45.6 119 80 34.3 34.3 61.3 74.4 80 119 19.4 46.2 29.1 95.2 28.9 145.8-.6 99.6-39.7 192.9-110.1 262.7z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M464 512a48 48 0 1 0 96 0 48 48 0 1 0-96 0z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneMinusCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm192 396c0 4.4-3.6 8-8 8H328c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h368c4.4 0 8 3.6 8 8v48z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M696 480H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneMinusSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M184 840h656V184H184v656zm136-352c0-4.4 3.6-8 8-8h368c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H328c-4.4 0-8-3.6-8-8v-48z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M328 544h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneMobile (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M744 64H280c-35.3 0-64 28.7-64 64v768c0 35.3 28.7 64 64 64h464c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64zm-8 824H288V136h448v752z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M288 888h448V136H288v752zm224-142c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M472 786a40 40 0 1 0 80 0 40 40 0 1 0-80 0z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneMoneyCollect (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M256 744.4l256 93.1 256-93.1V184H256v560.4zM359.7 313c1.2-.7 2.5-1 3.8-1h55.7a8 8 0 0 1 7.1 4.4L511 485.2h3.3L599 316.4c1.3-2.7 4.1-4.4 7.1-4.4h54.5c4.4 0 8 3.6 8.1 7.9 0 1.3-.4 2.6-1 3.8L564 515.3h57.6c4.4 0 8 3.6 8 8v27.1c0 4.4-3.6 8-8 8h-76.3v39h76.3c4.4 0 8 3.6 8 8v27.1c0 4.4-3.6 8-8 8h-76.3V704c0 4.4-3.6 8-8 8h-49.9c-4.4 0-8-3.6-8-8v-63.4h-76c-4.4 0-8-3.6-8-8v-27.1c0-4.4 3.6-8 8-8h76v-39h-76c-4.4 0-8-3.6-8-8v-27.1c0-4.4 3.6-8 8-8h57L356.5 323.8c-2.1-3.8-.7-8.7 3.2-10.8z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M911.5 700.7a8 8 0 0 0-10.3-4.8L840 718.2V180c0-37.6-30.4-68-68-68H252c-37.6 0-68 30.4-68 68v538.2l-61.3-22.3c-.9-.3-1.8-.5-2.7-.5-4.4 0-8 3.6-8 8V763c0 3.3 2.1 6.3 5.3 7.5L501 910.1c7.1 2.6 14.8 2.6 21.9 0l383.8-139.5c3.2-1.2 5.3-4.2 5.3-7.5v-59.6c0-1-.2-1.9-.5-2.8zM768 744.4l-256 93.1-256-93.1V184h512v560.4z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M460.4 515.4h-57c-4.4 0-8 3.6-8 8v27.1c0 4.4 3.6 8 8 8h76v39h-76c-4.4 0-8 3.6-8 8v27.1c0 4.4 3.6 8 8 8h76V704c0 4.4 3.6 8 8 8h49.9c4.4 0 8-3.6 8-8v-63.5h76.3c4.4 0 8-3.6 8-8v-27.1c0-4.4-3.6-8-8-8h-76.3v-39h76.3c4.4 0 8-3.6 8-8v-27.1c0-4.4-3.6-8-8-8H564l103.7-191.6c.6-1.2 1-2.5 1-3.8-.1-4.3-3.7-7.9-8.1-7.9h-54.5c-3 0-5.8 1.7-7.1 4.4l-84.7 168.8H511l-84.7-168.8a8 8 0 0 0-7.1-4.4h-55.7c-1.3 0-2.6.3-3.8 1-3.9 2.1-5.3 7-3.2 10.8l103.9 191.6z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneNotification (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M229.6 678.1c-3.7 11.6-5.6 23.9-5.6 36.4 0-12.5 2-24.8 5.7-36.4h-.1zm76.3-260.2H184v188.2h121.9l12.9 5.2L840 820.7V203.3L318.8 412.7z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112c-3.8 0-7.7.7-11.6 2.3L292 345.9H128c-8.8 0-16 7.4-16 16.6v299c0 9.2 7.2 16.6 16 16.6h101.7c-3.7 11.6-5.7 23.9-5.7 36.4 0 65.9 53.8 119.5 120 119.5 55.4 0 102.1-37.6 115.9-88.4l408.6 164.2c3.9 1.5 7.8 2.3 11.6 2.3 16.9 0 32-14.2 32-33.2V145.2C912 126.2 897 112 880 112zM344 762.3c-26.5 0-48-21.4-48-47.8 0-11.2 3.9-21.9 11-30.4l84.9 34.1c-2 24.6-22.7 44.1-47.9 44.1zm496 58.4L318.8 611.3l-12.9-5.2H184V417.9h121.9l12.9-5.2L840 203.3v617.4z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotonePauseCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm-80 524c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V360c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v304zm224 0c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V360c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v304z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M424 352h-48c-4.4 0-8 3.6-8 8v304c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8zm224 0h-48c-4.4 0-8 3.6-8 8v304c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotonePhone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M721.7 184.9L610.9 295.8l120.8 120.7-8 21.6A481.29 481.29 0 0 1 438 723.9l-21.6 8-.9-.9-119.8-120-110.8 110.9 104.5 104.5c10.8 10.7 26 15.7 40.8 13.2 117.9-19.5 235.4-82.9 330.9-178.4s158.9-213.1 178.4-331c2.5-14.8-2.5-30-13.3-40.8L721.7 184.9z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M877.1 238.7L770.6 132.3c-13-13-30.4-20.3-48.8-20.3s-35.8 7.2-48.8 20.3L558.3 246.8c-13 13-20.3 30.5-20.3 48.9 0 18.5 7.2 35.8 20.3 48.9l89.6 89.7a405.46 405.46 0 0 1-86.4 127.3c-36.7 36.9-79.6 66-127.2 86.6l-89.6-89.7c-13-13-30.4-20.3-48.8-20.3a68.2 68.2 0 0 0-48.8 20.3L132.3 673c-13 13-20.3 30.5-20.3 48.9 0 18.5 7.2 35.8 20.3 48.9l106.4 106.4c22.2 22.2 52.8 34.9 84.2 34.9 6.5 0 12.8-.5 19.2-1.6 132.4-21.8 263.8-92.3 369.9-198.3C818 606 888.4 474.6 910.4 342.1c6.3-37.6-6.3-76.3-33.3-103.4zm-37.6 91.5c-19.5 117.9-82.9 235.5-178.4 331s-213 158.9-330.9 178.4c-14.8 2.5-30-2.5-40.8-13.2L184.9 721.9 295.7 611l119.8 120 .9.9 21.6-8a481.29 481.29 0 0 0 285.7-285.8l8-21.6-120.8-120.7 110.8-110.9 104.5 104.5c10.8 10.8 15.8 26 13.3 40.8z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotonePicture (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 632H136v-39.9l138.5-164.3 150.1 178L658.1 489 888 761.6V792zm0-129.8L664.2 396.8c-3.2-3.8-9-3.8-12.2 0L424.6 666.4l-144-170.7c-3.2-3.8-9-3.8-12.2 0L136 652.7V232h752v430.2z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M424.6 765.8l-150.1-178L136 752.1V792h752v-30.4L658.1 489z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M136 652.7l132.4-157c3.2-3.8 9-3.8 12.2 0l144 170.7L652 396.8c3.2-3.8 9-3.8 12.2 0L888 662.2V232H136v420.7zM304 280a88 88 0 1 1 0 176 88 88 0 0 1 0-176z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M276 368a28 28 0 1 0 56 0 28 28 0 1 0-56 0z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M304 456a88 88 0 1 0 0-176 88 88 0 0 0 0 176zm0-116c15.5 0 28 12.5 28 28s-12.5 28-28 28-28-12.5-28-28 12.5-28 28-28z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotonePieChart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M316.2 920.5c-47.6-20.1-90.4-49-127.1-85.7a398.19 398.19 0 0 1-85.7-127.1A397.12 397.12 0 0 1 72 552.2v.2a398.57 398.57 0 0 0 117 282.5c36.7 36.7 79.4 65.5 127 85.6A396.64 396.64 0 0 0 471.6 952c27 0 53.6-2.7 79.7-7.9-25.9 5.2-52.4 7.8-79.3 7.8-54 .1-106.4-10.5-155.8-31.4zM560 472c-4.4 0-8-3.6-8-8V79.9c0-1.3.3-2.5.9-3.6-.9 1.3-1.5 2.9-1.5 4.6v383.7c0 4.4 3.6 8 8 8l383.6-1c1.6 0 3.1-.5 4.4-1.3-1 .5-2.2.7-3.4.7l-384 1z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M619.8 147.6v256.6l256.4-.7c-13-62.5-44.3-120.5-90-166.1a332.24 332.24 0 0 0-166.4-89.8z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M438 221.7c-75.9 7.6-146.2 40.9-200.8 95.5C174.5 379.9 140 463.3 140 552s34.5 172.1 97.2 234.8c62.3 62.3 145.1 96.8 233.2 97.2 88.2.4 172.7-34.1 235.3-96.2C761 733 794.6 662.3 802.3 586H438V221.7z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M864 518H506V160c0-4.4-3.6-8-8-8h-26a398.46 398.46 0 0 0-282.8 117.1 398.19 398.19 0 0 0-85.7 127.1A397.61 397.61 0 0 0 72 552v.2c0 53.9 10.6 106.2 31.4 155.5 20.1 47.6 49 90.4 85.7 127.1 36.7 36.7 79.5 65.6 127.1 85.7A397.61 397.61 0 0 0 472 952c26.9 0 53.4-2.6 79.3-7.8 26.1-5.3 51.7-13.1 76.4-23.6 47.6-20.1 90.4-49 127.1-85.7 36.7-36.7 65.6-79.5 85.7-127.1A397.61 397.61 0 0 0 872 552v-26c0-4.4-3.6-8-8-8zM705.7 787.8A331.59 331.59 0 0 1 470.4 884c-88.1-.4-170.9-34.9-233.2-97.2C174.5 724.1 140 640.7 140 552s34.5-172.1 97.2-234.8c54.6-54.6 124.9-87.9 200.8-95.5V586h364.3c-7.7 76.3-41.3 147-96.6 201.8z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M952 462.4l-2.6-28.2c-8.5-92.1-49.4-179-115.2-244.6A399.4 399.4 0 0 0 589 74.6L560.7 72c-3.4-.3-6.4 1.5-7.8 4.3a8.7 8.7 0 0 0-.9 3.6V464c0 4.4 3.6 8 8 8l384-1c1.2 0 2.3-.3 3.4-.7a8.1 8.1 0 0 0 4.6-7.9zm-332.2-58.2V147.6a332.24 332.24 0 0 1 166.4 89.8c45.7 45.6 77 103.6 90 166.1l-256.4.7z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotonePlayCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm164.1 378.2L457.7 677.1a8.02 8.02 0 0 1-12.7-6.5V353a8 8 0 0 1 12.7-6.5l218.4 158.8a7.9 7.9 0 0 1 0 12.9z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M676.1 505.3L457.7 346.5A8 8 0 0 0 445 353v317.6a8.02 8.02 0 0 0 12.7 6.5l218.4-158.9a7.9 7.9 0 0 0 0-12.9z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotonePlaySquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M184 840h656V184H184v656zm240-484.7c0-9.4 10.9-14.7 18.3-8.8l199.4 156.7a11.2 11.2 0 0 1 0 17.6L442.3 677.6c-7.4 5.8-18.3.6-18.3-8.8V355.3z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M442.3 677.6l199.4-156.8a11.2 11.2 0 0 0 0-17.6L442.3 346.5c-7.4-5.9-18.3-.6-18.3 8.8v313.5c0 9.4 10.9 14.6 18.3 8.8z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotonePlusCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm192 396c0 4.4-3.6 8-8 8H544v152c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V544H328c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h152V328c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v152h152c4.4 0 8 3.6 8 8v48z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M696 480H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotonePlusSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M184 840h656V184H184v656zm136-352c0-4.4 3.6-8 8-8h152V328c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v152h152c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H544v152c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V544H328c-4.4 0-8-3.6-8-8v-48z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M328 544h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotonePoundCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm146 582.1c0 4.4-3.6 8-8 8H376.2c-4.4 0-8-3.6-8-8v-38.5c0-3.7 2.5-6.9 6.1-7.8 44-10.9 72.8-49 72.8-94.2 0-14.7-2.5-29.4-5.9-44.2H374c-4.4 0-8-3.6-8-8v-30c0-4.4 3.6-8 8-8h53.7c-7.8-25.1-14.6-50.7-14.6-77.1 0-75.8 58.6-120.3 151.5-120.3 26.5 0 51.4 5.5 70.3 12.7 3.1 1.2 5.2 4.2 5.2 7.5v39.5a8 8 0 0 1-10.6 7.6c-17.9-6.4-39-10.5-60.4-10.5-53.3 0-87.3 26.6-87.3 70.2 0 24.7 6.2 47.9 13.4 70.5h112c4.4 0 8 3.6 8 8v30c0 4.4-3.6 8-8 8h-98.6c3.1 13.2 5.3 26.9 5.3 41 0 40.7-16.5 73.9-43.9 91.1v4.7h180c4.4 0 8 3.6 8 8v39.8z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M650 674.3H470v-4.7c27.4-17.2 43.9-50.4 43.9-91.1 0-14.1-2.2-27.8-5.3-41h98.6c4.4 0 8-3.6 8-8v-30c0-4.4-3.6-8-8-8h-112c-7.2-22.6-13.4-45.8-13.4-70.5 0-43.6 34-70.2 87.3-70.2 21.4 0 42.5 4.1 60.4 10.5a8 8 0 0 0 10.6-7.6v-39.5c0-3.3-2.1-6.3-5.2-7.5-18.9-7.2-43.8-12.7-70.3-12.7-92.9 0-151.5 44.5-151.5 120.3 0 26.4 6.8 52 14.6 77.1H374c-4.4 0-8 3.6-8 8v30c0 4.4 3.6 8 8 8h67.2c3.4 14.8 5.9 29.5 5.9 44.2 0 45.2-28.8 83.3-72.8 94.2-3.6.9-6.1 4.1-6.1 7.8v38.5c0 4.4 3.6 8 8 8H650c4.4 0 8-3.6 8-8v-39.8c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotonePrinter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M360 180h304v152H360zm492 220H172c-6.6 0-12 5.4-12 12v292h132V500h440v204h132V412c0-6.6-5.4-12-12-12zm-24 84c0 4.4-3.6 8-8 8h-40c-4.4 0-8-3.6-8-8v-40c0-4.4 3.6-8 8-8h40c4.4 0 8 3.6 8 8v40z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M852 332H732V120c0-4.4-3.6-8-8-8H300c-4.4 0-8 3.6-8 8v212H172c-44.2 0-80 35.8-80 80v328c0 17.7 14.3 32 32 32h168v132c0 4.4 3.6 8 8 8h424c4.4 0 8-3.6 8-8V772h168c17.7 0 32-14.3 32-32V412c0-44.2-35.8-80-80-80zM360 180h304v152H360V180zm304 664H360V568h304v276zm200-140H732V500H292v204H160V412c0-6.6 5.4-12 12-12h680c6.6 0 12 5.4 12 12v292z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M820 436h-40c-4.4 0-8 3.6-8 8v40c0 4.4 3.6 8 8 8h40c4.4 0 8-3.6 8-8v-40c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneProfile (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M184 840h656V184H184v656zm300-496c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H492c-4.4 0-8-3.6-8-8v-48zm0 144c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H492c-4.4 0-8-3.6-8-8v-48zm0 144c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H492c-4.4 0-8-3.6-8-8v-48zM380 328c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40zm0 144c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40zm0 144c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M340 656a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm0-144a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm0-144a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm152 320h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H492c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm0-144h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H492c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm0-144h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H492c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneProject (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M184 840h656V184H184v656zm472-560c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v256c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8V280zm-192 0c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v184c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8V280zm-192 0c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v464c0 4.4-3.6 8-8 8h-80c-4.4 0-8-3.6-8-8V280z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M280 752h80c4.4 0 8-3.6 8-8V280c0-4.4-3.6-8-8-8h-80c-4.4 0-8 3.6-8 8v464c0 4.4 3.6 8 8 8zm192-280h80c4.4 0 8-3.6 8-8V280c0-4.4-3.6-8-8-8h-80c-4.4 0-8 3.6-8 8v184c0 4.4 3.6 8 8 8zm192 72h80c4.4 0 8-3.6 8-8V280c0-4.4-3.6-8-8-8h-80c-4.4 0-8 3.6-8 8v256c0 4.4 3.6 8 8 8z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotonePropertySafety (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM810 654.3L512 886.5 214 654.3V226.7l298-101.6 298 101.6v427.6z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M214 226.7v427.6l298 232.2 298-232.2V226.7L512 125.1 214 226.7zM593.9 318h45c5.5 0 10 4.5 10 10 .1 1.7-.3 3.3-1.1 4.8l-87.7 161.1h45.7c5.5 0 10 4.5 10 10v21.3c0 5.5-4.5 10-10 10h-63.4v29.7h63.4c5.5 0 10 4.5 10 10v21.3c0 5.5-4.5 10-10 10h-63.4V658c0 5.5-4.5 10-10 10h-41.3c-5.5 0-10-4.5-10-10v-51.8H418c-5.5 0-10-4.5-10-10v-21.3c0-5.5 4.5-10 10-10h63.1v-29.7H418c-5.5 0-10-4.5-10-10v-21.3c0-5.5 4.5-10 10-10h45.2l-88-161.1c-2.6-4.8-.9-10.9 4-13.6 1.5-.8 3.1-1.2 4.8-1.2h46c3.8 0 7.2 2.1 8.9 5.5l72.9 144.3L585 323.5a10 10 0 0 1 8.9-5.5z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M438.9 323.5a9.88 9.88 0 0 0-8.9-5.5h-46c-1.7 0-3.3.4-4.8 1.2-4.9 2.7-6.6 8.8-4 13.6l88 161.1H418c-5.5 0-10 4.5-10 10v21.3c0 5.5 4.5 10 10 10h63.1v29.7H418c-5.5 0-10 4.5-10 10v21.3c0 5.5 4.5 10 10 10h63.1V658c0 5.5 4.5 10 10 10h41.3c5.5 0 10-4.5 10-10v-51.8h63.4c5.5 0 10-4.5 10-10v-21.3c0-5.5-4.5-10-10-10h-63.4v-29.7h63.4c5.5 0 10-4.5 10-10v-21.3c0-5.5-4.5-10-10-10h-45.7l87.7-161.1c.8-1.5 1.2-3.1 1.1-4.8 0-5.5-4.5-10-10-10h-45a10 10 0 0 0-8.9 5.5l-73.2 144.3-72.9-144.3z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotonePushpin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M474.8 357.7l-24.5 24.5-34.4-3.8c-9.6-1.1-19.3-1.6-28.9-1.6-29 0-57.5 4.7-84.7 14.1-14 4.8-27.4 10.8-40.3 17.9l353.1 353.3a259.92 259.92 0 0 0 30.4-153.9l-3.8-34.4 24.5-24.5L800 415.5 608.5 224 474.8 357.7z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M878.3 392.1L631.9 145.7c-6.5-6.5-15-9.7-23.5-9.7s-17 3.2-23.5 9.7L423.8 306.9c-12.2-1.4-24.5-2-36.8-2-73.2 0-146.4 24.1-206.5 72.3a33.23 33.23 0 0 0-2.7 49.4l181.7 181.7-215.4 215.2a15.8 15.8 0 0 0-4.6 9.8l-3.4 37.2c-.9 9.4 6.6 17.4 15.9 17.4.5 0 1 0 1.5-.1l37.2-3.4c3.7-.3 7.2-2 9.8-4.6l215.4-215.4 181.7 181.7c6.5 6.5 15 9.7 23.5 9.7 9.7 0 19.3-4.2 25.9-12.4 56.3-70.3 79.7-158.3 70.2-243.4l161.1-161.1c12.9-12.8 12.9-33.8 0-46.8zM666.2 549.3l-24.5 24.5 3.8 34.4a259.92 259.92 0 0 1-30.4 153.9L262 408.8c12.9-7.1 26.3-13.1 40.3-17.9 27.2-9.4 55.7-14.1 84.7-14.1 9.6 0 19.3.5 28.9 1.6l34.4 3.8 24.5-24.5L608.5 224 800 415.5 666.2 549.3z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneQuestionCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm0 632c-22.1 0-40-17.9-40-40s17.9-40 40-40 40 17.9 40 40-17.9 40-40 40zm62.9-219.5a48.3 48.3 0 0 0-30.9 44.8V620c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-21.5c0-23.1 6.7-45.9 19.9-64.9 12.9-18.6 30.9-32.8 52.1-40.9 34-13.1 56-41.6 56-72.7 0-44.1-43.1-80-96-80s-96 35.9-96 80v7.6c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V420c0-39.3 17.2-76 48.4-103.3C430.4 290.4 470 276 512 276s81.6 14.5 111.6 40.7C654.8 344 672 380.7 672 420c0 57.8-38.1 109.8-97.1 132.5z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M472 732a40 40 0 1 0 80 0 40 40 0 1 0-80 0zm151.6-415.3C593.6 290.5 554 276 512 276s-81.6 14.4-111.6 40.7C369.2 344 352 380.7 352 420v7.6c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V420c0-44.1 43.1-80 96-80s96 35.9 96 80c0 31.1-22 59.6-56 72.7-21.2 8.1-39.2 22.3-52.1 40.9-13.2 19-19.9 41.8-19.9 64.9V620c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-22.7a48.3 48.3 0 0 1 30.9-44.8c59-22.7 97.1-74.7 97.1-132.5 0-39.3-17.2-76-48.4-103.3z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneReconciliation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M740 344H404V240H304v160h176c17.7 0 32 14.3 32 32v360h328V240H740v104zM584 448c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56zm92 301c-50.8 0-92-41.2-92-92s41.2-92 92-92 92 41.2 92 92-41.2 92-92 92zm92-341v96c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-96c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M642 657a34 34 0 1 0 68 0 34 34 0 1 0-68 0z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M592 512h48c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm112-104v96c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-96c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M880 168H668c0-30.9-25.1-56-56-56h-80c-30.9 0-56 25.1-56 56H264c-17.7 0-32 14.3-32 32v200h-88c-17.7 0-32 14.3-32 32v448c0 17.7 14.3 32 32 32h336c17.7 0 32-14.3 32-32v-16h368c17.7 0 32-14.3 32-32V200c0-17.7-14.3-32-32-32zm-412 64h72v-56h64v56h72v48H468v-48zm-20 616H176V616h272v232zm0-296H176v-88h272v88zm392 240H512V432c0-17.7-14.3-32-32-32H304V240h100v104h336V240h100v552z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M676 565c-50.8 0-92 41.2-92 92s41.2 92 92 92 92-41.2 92-92-41.2-92-92-92zm0 126c-18.8 0-34-15.2-34-34s15.2-34 34-34 34 15.2 34 34-15.2 34-34 34z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneRedEnvelope (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M832 64H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V96c0-17.7-14.3-32-32-32zm-40 824H232V193.1l260.3 204.1c11.6 9.1 27.9 9.1 39.5 0L792 193.1V888zm0-751.3h-31.7L512 331.3 263.7 136.7H232v-.7h560v.7z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M492.3 397.2L232 193.1V888h560V193.1L531.8 397.2a31.99 31.99 0 0 1-39.5 0zm99.4 60.9h47.8a8.45 8.45 0 0 1 7.4 12.4l-87.2 161h45.9c4.6 0 8.4 3.8 8.4 8.4V665c0 4.6-3.8 8.4-8.4 8.4h-63.3V702h63.3c4.6 0 8.4 3.8 8.4 8.4v25c.2 4.7-3.5 8.5-8.2 8.5h-63.3v49.9c0 4.6-3.8 8.4-8.4 8.4h-43.7c-4.6 0-8.4-3.8-8.4-8.4v-49.9h-63c-4.6 0-8.4-3.8-8.4-8.4v-25.1c0-4.6 3.8-8.4 8.4-8.4h63v-28.6h-63c-4.6 0-8.4-3.8-8.4-8.4v-25.1c0-4.6 3.8-8.4 8.4-8.4h45.4L377 470.4a8.4 8.4 0 0 1 3.4-11.4c1.3-.6 2.6-1 3.9-1h48.8c3.2 0 6.1 1.8 7.5 4.6l71.7 142 71.9-141.9a8.6 8.6 0 0 1 7.5-4.6z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M232 136.7h31.7L512 331.3l248.3-194.6H792v-.7H232z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M440.6 462.6a8.38 8.38 0 0 0-7.5-4.6h-48.8c-1.3 0-2.6.4-3.9 1a8.4 8.4 0 0 0-3.4 11.4l87.4 161.1H419c-4.6 0-8.4 3.8-8.4 8.4V665c0 4.6 3.8 8.4 8.4 8.4h63V702h-63c-4.6 0-8.4 3.8-8.4 8.4v25.1c0 4.6 3.8 8.4 8.4 8.4h63v49.9c0 4.6 3.8 8.4 8.4 8.4h43.7c4.6 0 8.4-3.8 8.4-8.4v-49.9h63.3c4.7 0 8.4-3.8 8.2-8.5v-25c0-4.6-3.8-8.4-8.4-8.4h-63.3v-28.6h63.3c4.6 0 8.4-3.8 8.4-8.4v-25.1c0-4.6-3.8-8.4-8.4-8.4h-45.9l87.2-161a8.45 8.45 0 0 0-7.4-12.4h-47.8c-3.1 0-6 1.8-7.5 4.6l-71.9 141.9-71.7-142z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneRest (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M326.4 844h363.2l44.3-520H282l44.4 520zM508 416c79.5 0 144 64.5 144 144s-64.5 144-144 144-144-64.5-144-144 64.5-144 144-144z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M508 704c79.5 0 144-64.5 144-144s-64.5-144-144-144-144 64.5-144 144 64.5 144 144 144zm0-224c44.2 0 80 35.8 80 80s-35.8 80-80 80-80-35.8-80-80 35.8-80 80-80z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M832 256h-28.1l-35.7-120.9c-4-13.7-16.5-23.1-30.7-23.1h-451c-14.3 0-26.8 9.4-30.7 23.1L220.1 256H192c-17.7 0-32 14.3-32 32v28c0 4.4 3.6 8 8 8h45.8l47.7 558.7a32 32 0 0 0 31.9 29.3h429.2a32 32 0 0 0 31.9-29.3L802.2 324H856c4.4 0 8-3.6 8-8v-28c0-17.7-14.3-32-32-32zm-518.6-76h397.2l22.4 76H291l22.4-76zm376.2 664H326.4L282 324h451.9l-44.3 520z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneRightCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm154.7 378.4l-246 178c-5.3 3.8-12.7 0-12.7-6.5V643c0-10.2 4.9-19.9 13.2-25.9L566.6 512 421.2 406.8c-8.3-6-13.2-15.6-13.2-25.9V334c0-6.5 7.4-10.3 12.7-6.5l246 178c4.4 3.2 4.4 9.7 0 12.9z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M666.7 505.5l-246-178c-5.3-3.8-12.7 0-12.7 6.5v46.9c0 10.3 4.9 19.9 13.2 25.9L566.6 512 421.2 617.1c-8.3 6-13.2 15.7-13.2 25.9v46.9c0 6.5 7.4 10.3 12.7 6.5l246-178c4.4-3.2 4.4-9.7 0-12.9z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneRightSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M184 840h656V184H184v656zm216-196.9c0-10.2 4.9-19.9 13.2-25.9L558.6 512 413.2 406.8c-8.3-6-13.2-15.6-13.2-25.9V334c0-6.5 7.4-10.3 12.7-6.5l246 178c4.4 3.2 4.4 9.7 0 12.9l-246 178c-5.3 3.9-12.7.1-12.7-6.4v-46.9z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M412.7 696.4l246-178c4.4-3.2 4.4-9.7 0-12.9l-246-178c-5.3-3.8-12.7 0-12.7 6.5v46.9c0 10.3 4.9 19.9 13.2 25.9L558.6 512 413.2 617.2c-8.3 6-13.2 15.7-13.2 25.9V690c0 6.5 7.4 10.3 12.7 6.4z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneRocket (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M261.7 621.4c-9.4 14.6-17 30.3-22.5 46.6H324V558.7c-24.8 16.2-46 37.5-62.3 62.7zM700 558.7V668h84.8c-5.5-16.3-13.1-32-22.5-46.6a211.6 211.6 0 0 0-62.3-62.7zm-64-239.9l-124-147-124 147V668h248V318.8zM512 448a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M864 736c0-111.6-65.4-208-160-252.9V317.3c0-15.1-5.3-29.7-15.1-41.2L536.5 95.4C530.1 87.8 521 84 512 84s-18.1 3.8-24.5 11.4L335.1 276.1a63.97 63.97 0 0 0-15.1 41.2v165.8C225.4 528 160 624.4 160 736h156.5c-2.3 7.2-3.5 15-3.5 23.8 0 22.1 7.6 43.7 21.4 60.8a97.2 97.2 0 0 0 43.1 30.6c23.1 54 75.6 88.8 134.5 88.8 29.1 0 57.3-8.6 81.4-24.8 23.6-15.8 41.9-37.9 53-64a97 97 0 0 0 43.1-30.5 97.52 97.52 0 0 0 21.4-60.8c0-8.4-1.1-16.4-3.1-23.8L864 736zm-540-68h-84.8c5.5-16.3 13.1-32 22.5-46.6 16.3-25.2 37.5-46.5 62.3-62.7V668zm64-184.9V318.8l124-147 124 147V668H388V483.1zm240.1 301.1c-5.2 3-11.2 4.2-17.1 3.4l-19.5-2.4-2.8 19.4c-5.4 37.9-38.4 66.5-76.7 66.5s-71.3-28.6-76.7-66.5l-2.8-19.5-19.5 2.5a27.7 27.7 0 0 1-17.1-3.5c-8.7-5-14.1-14.3-14.1-24.4 0-10.6 5.9-19.4 14.6-23.8h231.3c8.8 4.5 14.6 13.3 14.6 23.8-.1 10.2-5.5 19.6-14.2 24.5zM700 668V558.7a211.6 211.6 0 0 1 62.3 62.7c9.4 14.6 17 30.3 22.5 46.6H700z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M464 400a48 48 0 1 0 96 0 48 48 0 1 0-96 0z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneSafetyCertificate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM810 654.3L512 886.5 214 654.3V226.7l298-101.6 298 101.6v427.6z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M214 226.7v427.6l298 232.2 298-232.2V226.7L512 125.1 214 226.7zM632.8 328H688c6.5 0 10.3 7.4 6.5 12.7L481.9 633.4a16.1 16.1 0 0 1-26 0l-126.4-174c-3.8-5.3 0-12.7 6.5-12.7h55.2c5.2 0 10 2.5 13 6.6l64.7 89.1 150.9-207.8c3-4.1 7.9-6.6 13-6.6z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M404.2 453.3c-3-4.1-7.8-6.6-13-6.6H336c-6.5 0-10.3 7.4-6.5 12.7l126.4 174a16.1 16.1 0 0 0 26 0l212.6-292.7c3.8-5.3 0-12.7-6.5-12.7h-55.2c-5.1 0-10 2.5-13 6.6L468.9 542.4l-64.7-89.1z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneSave (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M704 320c0 17.7-14.3 32-32 32H352c-17.7 0-32-14.3-32-32V184H184v656h656V341.8l-136-136V320zM512 730c-79.5 0-144-64.5-144-144s64.5-144 144-144 144 64.5 144 144-64.5 144-144 144z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M512 442c-79.5 0-144 64.5-144 144s64.5 144 144 144 144-64.5 144-144-64.5-144-144-144zm0 224c-44.2 0-80-35.8-80-80s35.8-80 80-80 80 35.8 80 80-35.8 80-80 80z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M893.3 293.3L730.7 130.7c-.7-.7-1.4-1.3-2.1-2-.1-.1-.3-.2-.4-.3-.7-.7-1.5-1.3-2.2-1.9a64 64 0 0 0-22-11.7V112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V338.5c0-17-6.7-33.2-18.7-45.2zM384 184h256v104H384V184zm456 656H184V184h136v136c0 17.7 14.3 32 32 32h320c17.7 0 32-14.3 32-32V205.8l136 136V840z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneSchedule (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M768 352c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-56H548v56c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-56H328v56c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-56H136v496h752V296H768v56zM424 688c0 4.4-3.6 8-8 8H232c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48zm0-136c0 4.4-3.6 8-8 8H232c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h184c4.4 0 8 3.6 8 8v48zm374.4-91.2l-165 228.7a15.9 15.9 0 0 1-25.8 0L493.5 531.3c-3.8-5.3 0-12.7 6.5-12.7h54.9c5.1 0 9.9 2.4 12.9 6.6l52.8 73.1 103.6-143.7c3-4.1 7.8-6.6 12.8-6.5h54.9c6.5 0 10.3 7.4 6.5 12.7z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M724.2 454.6L620.6 598.3l-52.8-73.1c-3-4.2-7.8-6.6-12.9-6.6H500c-6.5 0-10.3 7.4-6.5 12.7l114.1 158.2a15.9 15.9 0 0 0 25.8 0l165-228.7c3.8-5.3 0-12.7-6.5-12.7H737c-5-.1-9.8 2.4-12.8 6.5zM416 496H232c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M928 224H768v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H548v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H328v-56c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v56H96c-17.7 0-32 14.3-32 32v576c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32zm-40 568H136V296h120v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h148v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h148v56c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-56h120v496z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M416 632H232c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h184c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneSecurityScan (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM810 654.3L512 886.5 214 654.3V226.7l298-101.6 298 101.6v427.6z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M460.7 451.1a80.1 80.1 0 1 0 160.2 0 80.1 80.1 0 1 0-160.2 0z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M214 226.7v427.6l298 232.2 298-232.2V226.7L512 125.1 214 226.7zm428.7 122.5c56.3 56.3 56.3 147.5 0 203.8-48.5 48.5-123 55.2-178.6 20.1l-77.5 77.5a8.03 8.03 0 0 1-11.3 0l-34-34a8.03 8.03 0 0 1 0-11.3l77.5-77.5c-35.1-55.7-28.4-130.1 20.1-178.6 56.3-56.3 147.5-56.3 203.8 0z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M418.8 527.8l-77.5 77.5a8.03 8.03 0 0 0 0 11.3l34 34c3.1 3.1 8.2 3.1 11.3 0l77.5-77.5c55.6 35.1 130.1 28.4 178.6-20.1 56.3-56.3 56.3-147.5 0-203.8-56.3-56.3-147.5-56.3-203.8 0-48.5 48.5-55.2 122.9-20.1 178.6zm65.4-133.3a80.1 80.1 0 0 1 113.3 0 80.1 80.1 0 0 1 0 113.3c-31.3 31.3-82 31.3-113.3 0s-31.3-82 0-113.3z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneSetting (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M859.3 569.7l.2.1c3.1-18.9 4.6-38.2 4.6-57.3 0-17.1-1.3-34.3-3.7-51.1 2.4 16.7 3.6 33.6 3.6 50.5 0 19.4-1.6 38.8-4.7 57.8zM99 398.1c-.5-.4-.9-.8-1.4-1.3.7.7 1.4 1.4 2.2 2.1l65.5 55.9v-.1L99 398.1zm536.6-216h.1l-15.5-83.8c-.2-1-.4-1.9-.7-2.8.1.5.3 1.1.4 1.6l15.7 85zm54 546.5l31.4-25.8 92.8 32.9c17-22.9 31.3-47.5 42.6-73.6l-74.7-63.9 6.6-40.1c2.5-15.1 3.8-30.6 3.8-46.1s-1.3-31-3.8-46.1l-6.5-39.9 74.7-63.9c-11.4-26-25.6-50.7-42.6-73.6l-92.8 32.9-31.4-25.8c-23.9-19.6-50.6-35-79.3-45.8l-38.1-14.3-17.9-97a377.5 377.5 0 0 0-85 0l-17.9 97.2-37.9 14.3c-28.5 10.8-55 26.2-78.7 45.7l-31.4 25.9-93.4-33.2c-17 22.9-31.3 47.5-42.6 73.6l75.5 64.5-6.5 40c-2.5 14.9-3.7 30.2-3.7 45.5 0 15.2 1.3 30.6 3.7 45.5l6.5 40-75.5 64.5c11.4 26 25.6 50.7 42.6 73.6l93.4-33.2 31.4 25.9c23.7 19.5 50.2 34.9 78.7 45.7l37.8 14.5 17.9 97.2c28.2 3.2 56.9 3.2 85 0l17.9-97 38.1-14.3c28.8-10.8 55.4-26.2 79.3-45.8zm-177.1-50.3c-30.5 0-59.2-7.8-84.3-21.5C373.3 627 336 568.9 336 502c0-97.2 78.8-176 176-176 66.9 0 125 37.3 154.8 92.2 13.7 25 21.5 53.7 21.5 84.3 0 97.1-78.7 175.8-175.8 175.8zM207.2 812.8c-5.5 1.9-11.2 2.3-16.6 1.2 5.7 1.2 11.7 1 17.5-1l81.4-29c-.1-.1-.3-.2-.4-.3l-81.9 29.1zm717.6-414.7l-65.5 56c0 .2.1.5.1.7l65.4-55.9c7.1-6.1 11.1-14.9 11.2-24-.3 8.8-4.3 17.3-11.2 23.2z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M935.8 646.6c.5 4.7 0 9.5-1.7 14.1l-.9 2.6a446.02 446.02 0 0 1-79.7 137.9l-1.8 2.1a32 32 0 0 1-35.1 9.5l-81.3-28.9a350 350 0 0 1-99.7 57.6l-15.7 85a32.05 32.05 0 0 1-25.8 25.7l-2.7.5a445.2 445.2 0 0 1-79.2 7.1h.3c26.7 0 53.4-2.4 79.4-7.1l2.7-.5a32.05 32.05 0 0 0 25.8-25.7l15.7-84.9c36.2-13.6 69.6-32.9 99.6-57.5l81.2 28.9a32 32 0 0 0 35.1-9.5l1.8-2.1c34.8-41.1 61.5-87.4 79.6-137.7l.9-2.6c1.6-4.7 2.1-9.7 1.5-14.5z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M688 502c0-30.3-7.7-58.9-21.2-83.8C637 363.3 578.9 326 512 326c-97.2 0-176 78.8-176 176 0 66.9 37.3 125 92.2 154.8 24.9 13.5 53.4 21.2 83.8 21.2 97.2 0 176-78.8 176-176zm-288 0c0-29.9 11.7-58 32.8-79.2C454 401.6 482.1 390 512 390c29.9 0 58 11.6 79.2 32.8A111.6 111.6 0 0 1 624 502c0 29.9-11.7 58-32.8 79.2A111.6 111.6 0 0 1 512 614c-29.9 0-58-11.7-79.2-32.8A111.6 111.6 0 0 1 400 502z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M594.1 952.2a32.05 32.05 0 0 0 25.8-25.7l15.7-85a350 350 0 0 0 99.7-57.6l81.3 28.9a32 32 0 0 0 35.1-9.5l1.8-2.1c34.8-41.1 61.6-87.5 79.7-137.9l.9-2.6c1.7-4.6 2.2-9.4 1.7-14.1-.9-7.9-4.7-15.4-11-20.9l-65.3-55.9-.2-.1c3.1-19 4.7-38.4 4.7-57.8 0-16.9-1.2-33.9-3.6-50.5-.3-2.2-.7-4.4-1-6.6 0-.2-.1-.5-.1-.7l65.5-56c6.9-5.9 10.9-14.4 11.2-23.2.1-4-.5-8.1-1.9-12l-.9-2.6a443.74 443.74 0 0 0-79.7-137.9l-1.8-2.1a32.12 32.12 0 0 0-35.1-9.5l-81.3 28.9c-30-24.6-63.4-44-99.6-57.6h-.1l-15.7-85c-.1-.5-.2-1.1-.4-1.6a32.08 32.08 0 0 0-25.4-24.1l-2.7-.5c-52.1-9.4-106.9-9.4-159 0l-2.7.5a32.05 32.05 0 0 0-25.8 25.7l-15.8 85.4a351.86 351.86 0 0 0-99 57.4l-81.9-29.1a32 32 0 0 0-35.1 9.5l-1.8 2.1a446.02 446.02 0 0 0-79.7 137.9l-.9 2.6a32.09 32.09 0 0 0 7.9 33.9c.5.4.9.9 1.4 1.3l66.3 56.6v.1c-3.1 18.8-4.6 37.9-4.6 57 0 19.2 1.5 38.4 4.6 57.1L99 625.5a32.03 32.03 0 0 0-9.3 35.2l.9 2.6c18.1 50.4 44.9 96.9 79.7 137.9l1.8 2.1c4.9 5.7 11.4 9.4 18.5 10.7 5.4 1 11.1.7 16.6-1.2l81.9-29.1c.1.1.3.2.4.3 29.7 24.3 62.8 43.6 98.6 57.1l15.8 85.4a32.05 32.05 0 0 0 25.8 25.7l2.7.5c26.1 4.7 52.8 7.1 79.5 7.1h.3c26.6 0 53.3-2.4 79.2-7.1l2.7-.5zm-39.8-66.5a377.5 377.5 0 0 1-85 0l-17.9-97.2-37.8-14.5c-28.5-10.8-55-26.2-78.7-45.7l-31.4-25.9-93.4 33.2c-17-22.9-31.2-47.6-42.6-73.6l75.5-64.5-6.5-40c-2.4-14.9-3.7-30.3-3.7-45.5 0-15.3 1.2-30.6 3.7-45.5l6.5-40-75.5-64.5c11.3-26.1 25.6-50.7 42.6-73.6l93.4 33.2 31.4-25.9c23.7-19.5 50.2-34.9 78.7-45.7l37.9-14.3 17.9-97.2c28.1-3.2 56.8-3.2 85 0l17.9 97 38.1 14.3c28.7 10.8 55.4 26.2 79.3 45.8l31.4 25.8 92.8-32.9c17 22.9 31.2 47.6 42.6 73.6L781.8 426l6.5 39.9c2.5 15.1 3.8 30.6 3.8 46.1s-1.3 31-3.8 46.1l-6.6 40.1 74.7 63.9a370.03 370.03 0 0 1-42.6 73.6L721 702.8l-31.4 25.8c-23.9 19.6-50.5 35-79.3 45.8l-38.1 14.3-17.9 97z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneShop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M839.5 344h-655c-.3 0-.5.2-.5.5v91.2c0 59.8 49 108.3 109.3 108.3 40.7 0 76.2-22 95.1-54.7 2.9-5.1 8.4-8.3 14.3-8.3s11.3 3.2 14.3 8.3c18.8 32.7 54.3 54.7 95 54.7 40.8 0 76.4-22.1 95.1-54.9 2.9-5 8.2-8.1 13.9-8.1h.6c5.8 0 11 3.1 13.9 8.1 18.8 32.8 54.4 54.9 95.2 54.9C791 544 840 495.5 840 435.7v-91.2c0-.3-.2-.5-.5-.5z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M882 272.1V144c0-17.7-14.3-32-32-32H174c-17.7 0-32 14.3-32 32v128.1c-16.7 1-30 14.9-30 31.9v131.7a177 177 0 0 0 14.4 70.4c4.3 10.2 9.6 19.8 15.6 28.9v345c0 17.6 14.3 32 32 32h676c17.7 0 32-14.3 32-32V535a175 175 0 0 0 15.6-28.9c9.5-22.3 14.4-46 14.4-70.4V304c0-17-13.3-30.9-30-31.9zM214 184h596v88H214v-88zm362 656.1H448V736h128v104.1zm234.4 0H640V704c0-17.7-14.3-32-32-32H416c-17.7 0-32 14.3-32 32v136.1H214V597.9c2.9 1.4 5.9 2.8 9 4 22.3 9.4 46 14.1 70.4 14.1 24.4 0 48-4.7 70.4-14.1 13.8-5.8 26.8-13.2 38.7-22.1.2-.1.4-.1.6 0a180.4 180.4 0 0 0 38.7 22.1c22.3 9.4 46 14.1 70.4 14.1s48-4.7 70.4-14.1c13.8-5.8 26.8-13.2 38.7-22.1.2-.1.4-.1.6 0a180.4 180.4 0 0 0 38.7 22.1c22.3 9.4 46 14.1 70.4 14.1s48-4.7 70.4-14.1c3-1.3 6-2.6 9-4v242.2zM840 435.7c0 59.8-49 108.3-109.3 108.3-40.8 0-76.4-22.1-95.2-54.9-2.9-5-8.1-8.1-13.9-8.1h-.6c-5.7 0-11 3.1-13.9 8.1A109.24 109.24 0 0 1 512 544c-40.7 0-76.2-22-95-54.7-3-5.1-8.4-8.3-14.3-8.3s-11.4 3.2-14.3 8.3a109.63 109.63 0 0 1-95.1 54.7C233 544 184 495.5 184 435.7v-91.2c0-.3.2-.5.5-.5h655c.3 0 .5.2.5.5v91.2z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneShopping (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M696 472c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-88H400v88c0 4.4-3.6 8-8 8h-56c-4.4 0-8-3.6-8-8v-88h-96v456h560V384h-96v88z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M832 312H696v-16c0-101.6-82.4-184-184-184s-184 82.4-184 184v16H192c-17.7 0-32 14.3-32 32v536c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V344c0-17.7-14.3-32-32-32zm-432-16c0-61.9 50.1-112 112-112s112 50.1 112 112v16H400v-16zm392 544H232V384h96v88c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-88h224v88c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-88h96v456z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneSkin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M512 318c-79.2 0-148.5-48.8-176.7-120H182v196h119v432h422V394h119V198H688.7c-28.2 71.2-97.5 120-176.7 120z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M870 126H663.8c-17.4 0-32.9 11.9-37 29.3C614.3 208.1 567 246 512 246s-102.3-37.9-114.8-90.7a37.93 37.93 0 0 0-37-29.3H154a44 44 0 0 0-44 44v252a44 44 0 0 0 44 44h75v388a44 44 0 0 0 44 44h478a44 44 0 0 0 44-44V466h75a44 44 0 0 0 44-44V170a44 44 0 0 0-44-44zm-28 268H723v432H301V394H182V198h153.3c28.2 71.2 97.5 120 176.7 120s148.5-48.8 176.7-120H842v196z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneSliders (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M180 292h80v440h-80zm369 180h-74a3 3 0 0 0-3 3v74a3 3 0 0 0 3 3h74a3 3 0 0 0 3-3v-74a3 3 0 0 0-3-3zm215-108h80v296h-80z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M904 296h-66v-96c0-4.4-3.6-8-8-8h-52c-4.4 0-8 3.6-8 8v96h-66c-4.4 0-8 3.6-8 8v416c0 4.4 3.6 8 8 8h66v96c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8v-96h66c4.4 0 8-3.6 8-8V304c0-4.4-3.6-8-8-8zm-60 364h-80V364h80v296zM612 404h-66V232c0-4.4-3.6-8-8-8h-52c-4.4 0-8 3.6-8 8v172h-66c-4.4 0-8 3.6-8 8v200c0 4.4 3.6 8 8 8h66v172c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8V620h66c4.4 0 8-3.6 8-8V412c0-4.4-3.6-8-8-8zm-60 145a3 3 0 0 1-3 3h-74a3 3 0 0 1-3-3v-74a3 3 0 0 1 3-3h74a3 3 0 0 1 3 3v74zM320 224h-66v-56c0-4.4-3.6-8-8-8h-52c-4.4 0-8 3.6-8 8v56h-66c-4.4 0-8 3.6-8 8v560c0 4.4 3.6 8 8 8h66v56c0 4.4 3.6 8 8 8h52c4.4 0 8-3.6 8-8v-56h66c4.4 0 8-3.6 8-8V232c0-4.4-3.6-8-8-8zm-60 508h-80V292h80v440z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneSmile (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zM288 421a48.01 48.01 0 0 1 96 0 48.01 48.01 0 0 1-96 0zm224 272c-85.5 0-155.6-67.3-160-151.6a8 8 0 0 1 8-8.4h48.1c4.2 0 7.8 3.2 8.1 7.4C420 589.9 461.5 629 512 629s92.1-39.1 95.8-88.6c.3-4.2 3.9-7.4 8.1-7.4H664a8 8 0 0 1 8 8.4C667.6 625.7 597.5 693 512 693zm176-224a48.01 48.01 0 0 1 0-96 48.01 48.01 0 0 1 0 96z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M288 421a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm376 112h-48.1c-4.2 0-7.8 3.2-8.1 7.4-3.7 49.5-45.3 88.6-95.8 88.6s-92-39.1-95.8-88.6c-.3-4.2-3.9-7.4-8.1-7.4H360a8 8 0 0 0-8 8.4c4.4 84.3 74.5 151.6 160 151.6s155.6-67.3 160-151.6a8 8 0 0 0-8-8.4zm-24-112a48 48 0 1 0 96 0 48 48 0 1 0-96 0z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneSnippets (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M450 510V336H232v552h432V550H490c-22.1 0-40-17.9-40-40z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M832 112H724V72c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v40H500V72c0-4.4-3.6-8-8-8h-56c-4.4 0-8 3.6-8 8v40H320c-17.7 0-32 14.3-32 32v120h-96c-17.7 0-32 14.3-32 32v632c0 17.7 14.3 32 32 32h512c17.7 0 32-14.3 32-32v-96h96c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zM664 888H232V336h218v174c0 22.1 17.9 40 40 40h174v338zm0-402H514V336h.2L664 485.8v.2zm128 274h-56V456L544 264H360v-80h68v32c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-32h152v32c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-32h68v576z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneSound (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M275.4 424H146v176h129.4l18 11.7L586 803V221L293.3 412.3z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M892.1 737.8l-110.3-63.7a15.9 15.9 0 0 0-21.7 5.9l-19.9 34.5c-4.4 7.6-1.8 17.4 5.8 21.8L856.3 800a15.9 15.9 0 0 0 21.7-5.9l19.9-34.5c4.4-7.6 1.7-17.4-5.8-21.8zM934 476H806c-8.8 0-16 7.2-16 16v40c0 8.8 7.2 16 16 16h128c8.8 0 16-7.2 16-16v-40c0-8.8-7.2-16-16-16zM760 344a15.9 15.9 0 0 0 21.7 5.9L892 286.2c7.6-4.4 10.2-14.2 5.8-21.8L878 230a15.9 15.9 0 0 0-21.7-5.9L746 287.8a15.99 15.99 0 0 0-5.8 21.8L760 344zM625.9 115c-5.9 0-11.9 1.6-17.4 5.3L254 352H90c-8.8 0-16 7.2-16 16v288c0 8.8 7.2 16 16 16h164l354.5 231.7c5.5 3.6 11.6 5.3 17.4 5.3 16.7 0 32.1-13.3 32.1-32.1V147.1c0-18.8-15.4-32.1-32.1-32.1zM586 803L293.4 611.7l-18-11.7H146V424h129.4l17.9-11.7L586 221v582z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneStar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M512.5 190.4l-94.4 191.3-211.2 30.7 152.8 149-36.1 210.3 188.9-99.3 188.9 99.2-36.1-210.3 152.8-148.9-211.2-30.7z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M908.6 352.8l-253.9-36.9L541.2 85.8c-3.1-6.3-8.2-11.4-14.5-14.5-15.8-7.8-35-1.3-42.9 14.5L370.3 315.9l-253.9 36.9c-7 1-13.4 4.3-18.3 9.3a32.05 32.05 0 0 0 .6 45.3l183.7 179.1L239 839.4a31.95 31.95 0 0 0 46.4 33.7l227.1-119.4 227.1 119.4c6.2 3.3 13.4 4.4 20.3 3.2 17.4-3 29.1-19.5 26.1-36.9l-43.4-252.9 183.7-179.1c5-4.9 8.3-11.3 9.3-18.3 2.7-17.5-9.5-33.7-27-36.3zM665.3 561.3l36.1 210.3-188.9-99.2-188.9 99.3 36.1-210.3-152.8-149 211.2-30.7 94.4-191.3 94.4 191.3 211.2 30.7-152.8 148.9z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneStop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm288.5 682.8L277.7 224C258 240 240 258 224 277.7l522.8 522.8C682.8 852.7 601 884 512 884c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372c0 89-31.3 170.8-83.5 234.8z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372c89 0 170.8-31.3 234.8-83.5L224 277.7c16-19.7 34-37.7 53.7-53.7l522.8 522.8C852.7 682.8 884 601 884 512c0-205.4-166.6-372-372-372z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneSwitcher (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M184 840h528V312H184v528zm116-290h296v64H300v-64z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M880 112H264c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h576v576c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V144c0-17.7-14.3-32-32-32z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M752 240H144c-17.7 0-32 14.3-32 32v608c0 17.7 14.3 32 32 32h608c17.7 0 32-14.3 32-32V272c0-17.7-14.3-32-32-32zm-40 600H184V312h528v528z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M300 550h296v64H300z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneTablet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M800 64H224c-35.3 0-64 28.7-64 64v768c0 35.3 28.7 64 64 64h576c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64zm-8 824H232V136h560v752z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M232 888h560V136H232v752zm280-144c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M472 784a40 40 0 1 0 80 0 40 40 0 1 0-80 0z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneTag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M589 164.6L189.3 564.3l270.4 270.4L859.4 435 836 188l-247-23.4zM680 432c-48.5 0-88-39.5-88-88s39.5-88 88-88 88 39.5 88 88-39.5 88-88 88z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M680 256c-48.5 0-88 39.5-88 88s39.5 88 88 88 88-39.5 88-88-39.5-88-88-88zm0 120c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M938 458.8l-29.6-312.6c-1.5-16.2-14.4-29-30.6-30.6L565.2 86h-.4c-3.2 0-5.7 1-7.6 2.9L88.9 557.2a9.96 9.96 0 0 0 0 14.1l363.8 363.8a9.9 9.9 0 0 0 7.1 2.9c2.7 0 5.2-1 7.1-2.9l468.3-468.3c2-2.1 3-5 2.8-8zM459.7 834.7L189.3 564.3 589 164.6 836 188l23.4 247-399.7 399.7z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneTags (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M477.5 694l311.9-311.8-19-224.6-224.6-19-311.9 311.9L477.5 694zm116-415.5a47.81 47.81 0 0 1 33.9-33.9c16.6-4.4 34.2.3 46.4 12.4a47.93 47.93 0 0 1 12.4 46.4 47.81 47.81 0 0 1-33.9 33.9c-16.6 4.4-34.2-.3-46.4-12.4a48.3 48.3 0 0 1-12.4-46.4z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M476.6 792.6c-1.7-.2-3.4-1-4.7-2.3L137.7 456.1a8.03 8.03 0 0 1 0-11.3L515.9 66.6c1.2-1.3 2.9-2.1 4.7-2.3h-.4c-2.3-.2-4.7.6-6.3 2.3L135.7 444.8a8.03 8.03 0 0 0 0 11.3l334.2 334.2c1.8 1.9 4.3 2.6 6.7 2.3z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M889.7 539.8l-39.6-39.5a8.03 8.03 0 0 0-11.3 0l-362 361.3-237.6-237a8.03 8.03 0 0 0-11.3 0l-39.6 39.5a8.03 8.03 0 0 0 0 11.3l243.2 242.8 39.6 39.5c3.1 3.1 8.2 3.1 11.3 0l407.3-406.6c3.1-3.1 3.1-8.2 0-11.3zM652.3 337.3a47.81 47.81 0 0 0 33.9-33.9c4.4-16.6-.3-34.2-12.4-46.4a47.93 47.93 0 0 0-46.4-12.4 47.81 47.81 0 0 0-33.9 33.9c-4.4 16.6.3 34.2 12.4 46.4a48.3 48.3 0 0 0 46.4 12.4z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M137.7 444.8a8.03 8.03 0 0 0 0 11.3l334.2 334.2c1.3 1.3 2.9 2.1 4.7 2.3 2.4.3 4.8-.5 6.6-2.3L861.4 412c1.7-1.7 2.5-4 2.3-6.3l-25.5-301.4c-.7-7.8-6.8-13.9-14.6-14.6L522.2 64.3h-1.6c-1.8.2-3.4 1-4.7 2.3L137.7 444.8zm408.1-306.2l224.6 19 19 224.6L477.5 694 233.9 450.5l311.9-311.9z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneThunderbolt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M695.4 164.1H470.8L281.2 491.5h157.4l-60.3 241 319.8-305.1h-211z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M848.1 359.3H627.8L825.9 109c4.1-5.3.4-13-6.3-13H436.1c-2.8 0-5.5 1.5-6.9 4L170.1 547.5c-3.1 5.3.7 12 6.9 12h174.4L262 917.1c-1.9 7.8 7.5 13.3 13.3 7.7L853.6 373c5.2-4.9 1.7-13.7-5.5-13.7zM378.3 732.5l60.3-241H281.2l189.6-327.4h224.6L487.1 427.4h211L378.3 732.5z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneTool (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M706.8 488.7a32.05 32.05 0 0 1-45.3 0L537 364.2a32.05 32.05 0 0 1 0-45.3l132.9-132.8a184.2 184.2 0 0 0-144 53.5c-58.1 58.1-69.3 145.3-33.6 214.6L439.5 507c-.1 0-.1-.1-.1-.1L209.3 737l79.2 79.2 274-274.1.1.1 8.8-8.8c69.3 35.7 156.5 24.5 214.6-33.6 39.2-39.1 57.3-92.1 53.6-143.9L706.8 488.7z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M876.6 239.5c-.5-.9-1.2-1.8-2-2.5-5-5-13.1-5-18.1 0L684.2 409.3l-67.9-67.9L788.7 169c.8-.8 1.4-1.6 2-2.5 3.6-6.1 1.6-13.9-4.5-17.5-98.2-58-226.8-44.7-311.3 39.7-67 67-89.2 162-66.5 247.4l-293 293c-3 3-2.8 7.9.3 11l169.7 169.7c3.1 3.1 8.1 3.3 11 .3l292.9-292.9c85.5 22.8 180.5.7 247.6-66.4 84.4-84.5 97.7-213.1 39.7-311.3zM786 499.8c-58.1 58.1-145.3 69.3-214.6 33.6l-8.8 8.8-.1-.1-274 274.1-79.2-79.2 230.1-230.1s0 .1.1.1l52.8-52.8c-35.7-69.3-24.5-156.5 33.6-214.6a184.2 184.2 0 0 1 144-53.5L537 318.9a32.05 32.05 0 0 0 0 45.3l124.5 124.5a32.05 32.05 0 0 0 45.3 0l132.8-132.8c3.7 51.8-14.4 104.8-53.6 143.9z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneTrademarkCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm170.7 584.2c-1.1.5-2.3.8-3.5.8h-62c-3.1 0-5.9-1.8-7.2-4.6l-74.6-159.2h-88.7V717c0 4.4-3.6 8-8 8H384c-4.4 0-8-3.6-8-8V307c0-4.4 3.6-8 8-8h155.6c98.8 0 144.2 59.9 144.2 131.1 0 70.2-43.6 106.4-78.4 119.2l80.8 164.2c2.1 3.9.4 8.7-3.5 10.7z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M529.9 357h-83.4v148H528c53 0 82.8-25.6 82.8-72.4 0-50.3-32.9-75.6-80.9-75.6z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M605.4 549.3c34.8-12.8 78.4-49 78.4-119.2 0-71.2-45.4-131.1-144.2-131.1H384c-4.4 0-8 3.6-8 8v410c0 4.4 3.6 8 8 8h54.7c4.4 0 8-3.6 8-8V561.2h88.7L610 720.4c1.3 2.8 4.1 4.6 7.2 4.6h62c1.2 0 2.4-.3 3.5-.8 3.9-2 5.6-6.8 3.5-10.7l-80.8-164.2zM528 505h-81.5V357h83.4c48 0 80.9 25.3 80.9 75.6 0 46.8-29.8 72.4-82.8 72.4z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneTrophy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M320 480c0 49.1 19.1 95.3 53.9 130.1 34.7 34.8 81 53.9 130.1 53.9h16c49.1 0 95.3-19.1 130.1-53.9 34.8-34.7 53.9-81 53.9-130.1V184H320v296zM184 352c0 41 26.9 75.8 64 87.6-37.1-11.9-64-46.7-64-87.6zm364 382.5C665 721.8 758.4 630.2 773.8 514 758.3 630.2 665 721.7 548 734.5zM250.2 514C265.6 630.2 359 721.8 476 734.5 359 721.7 265.7 630.2 250.2 514z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M868 160h-92v-40c0-4.4-3.6-8-8-8H256c-4.4 0-8 3.6-8 8v40h-92a44 44 0 0 0-44 44v148c0 81.7 60 149.6 138.2 162C265.7 630.2 359 721.7 476 734.5v105.2H280c-17.7 0-32 14.3-32 32V904c0 4.4 3.6 8 8 8h512c4.4 0 8-3.6 8-8v-32.3c0-17.7-14.3-32-32-32H548V734.5C665 721.7 758.3 630.2 773.8 514 852 501.6 912 433.7 912 352V204a44 44 0 0 0-44-44zM248 439.6a91.99 91.99 0 0 1-64-87.6V232h64v207.6zM704 480c0 49.1-19.1 95.4-53.9 130.1-34.8 34.8-81 53.9-130.1 53.9h-16c-49.1 0-95.4-19.1-130.1-53.9-34.8-34.8-53.9-81-53.9-130.1V184h384v296zm136-128c0 41-26.9 75.8-64 87.6V232h64v120z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneUnlock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M232 840h560V536H232v304zm280-226a48.01 48.01 0 0 1 28 87v53c0 4.4-3.6 8-8 8h-40c-4.4 0-8-3.6-8-8v-53a48.01 48.01 0 0 1 28-87z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M484 701v53c0 4.4 3.6 8 8 8h40c4.4 0 8-3.6 8-8v-53a48.01 48.01 0 1 0-56 0z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M832 464H332V240c0-30.9 25.1-56 56-56h248c30.9 0 56 25.1 56 56v68c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8v-68c0-70.7-57.3-128-128-128H388c-70.7 0-128 57.3-128 128v224h-68c-17.7 0-32 14.3-32 32v384c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V496c0-17.7-14.3-32-32-32zm-40 376H232V536h560v304z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneUpCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M512 140c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm178 479h-46.9c-10.2 0-19.9-4.9-25.9-13.2L512 460.4 406.8 605.8c-6 8.3-15.6 13.2-25.9 13.2H334c-6.5 0-10.3-7.4-6.5-12.7l178-246c3.2-4.4 9.7-4.4 12.9 0l178 246c3.9 5.3.1 12.7-6.4 12.7z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M518.4 360.3a7.95 7.95 0 0 0-12.9 0l-178 246c-3.8 5.3 0 12.7 6.5 12.7h46.9c10.3 0 19.9-4.9 25.9-13.2L512 460.4l105.2 145.4c6 8.3 15.7 13.2 25.9 13.2H690c6.5 0 10.3-7.4 6.4-12.7l-178-246z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneUpSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 728H184V184h656v656z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M184 840h656V184H184v656zm143.5-228.7l178-246c3.2-4.4 9.7-4.4 12.9 0l178 246c3.9 5.3.1 12.7-6.4 12.7h-46.9c-10.2 0-19.9-4.9-25.9-13.2L512 465.4 406.8 610.8c-6 8.3-15.6 13.2-25.9 13.2H334c-6.5 0-10.3-7.4-6.5-12.7z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M334 624h46.9c10.3 0 19.9-4.9 25.9-13.2L512 465.4l105.2 145.4c6 8.3 15.7 13.2 25.9 13.2H690c6.5 0 10.3-7.4 6.4-12.7l-178-246a7.95 7.95 0 0 0-12.9 0l-178 246c-3.8 5.3 0 12.7 6.5 12.7z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneUsb (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M759.9 504H264.1c-26.5 0-48.1 19.7-48.1 44v292h592V548c0-24.3-21.6-44-48.1-44z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M456 248h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm160 0h-48c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M760 432V144c0-17.7-14.3-32-32-32H296c-17.7 0-32 14.3-32 32v288c-66.2 0-120 52.1-120 116v356c0 4.4 3.6 8 8 8h720c4.4 0 8-3.6 8-8V548c0-63.9-53.8-116-120-116zM336 184h352v248H336V184zm472 656H216V548c0-24.3 21.6-44 48.1-44h495.8c26.5 0 48.1 19.7 48.1 44v292z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneVideoCamera (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#D9D9D9\",\"d\":\"M136 792h576V232H136v560zm64-488c0-4.4 3.6-8 8-8h112c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8H208c-4.4 0-8-3.6-8-8v-48z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M912 302.3L784 376V224c0-35.3-28.7-64-64-64H128c-35.3 0-64 28.7-64 64v576c0 35.3 28.7 64 64 64h592c35.3 0 64-28.7 64-64V648l128 73.7c21.3 12.3 48-3.1 48-27.6V330c0-24.6-26.7-40-48-27.7zM712 792H136V232h576v560zm176-167l-104-59.8V458.9L888 399v226z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M208 360h112c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8H208c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneWallet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M880 112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V144c0-17.7-14.3-32-32-32zm-40 464H528V448h312v128zm0-192H496c-17.7 0-32 14.3-32 32v192c0 17.7 14.3 32 32 32h344v200H184V184h656v200z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M528 576h312V448H528v128zm92-104c22.1 0 40 17.9 40 40s-17.9 40-40 40-40-17.9-40-40 17.9-40 40-40z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M580 512a40 40 0 1 0 80 0 40 40 0 1 0-80 0z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M184 840h656V640H496c-17.7 0-32-14.3-32-32V416c0-17.7 14.3-32 32-32h344V184H184v656z\"},\"child\":[]}]})(props);\n};\nexport function AiTwotoneWarning (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 1024 1024\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M955.7 856l-416-720c-6.2-10.7-16.9-16-27.7-16s-21.6 5.3-27.7 16l-416 720C56 877.4 71.4 904 96 904h832c24.6 0 40-26.6 27.7-48zm-783.5-27.9L512 239.9l339.8 588.2H172.2z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#E6E6E6\",\"d\":\"M172.2 828.1h679.6L512 239.9 172.2 828.1zM560 720a48.01 48.01 0 0 1-96 0 48.01 48.01 0 0 1 96 0zm-16-304v184c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V416c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"#333\",\"d\":\"M464 720a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm16-304v184c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V416c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8z\"},\"child\":[]}]})(props);\n};\n","var _g;\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgHamburger48(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"48px\",\n height: \"49px\",\n viewBox: \"0 0 48 49\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"90E6D92F-C2B8-4809-91C0-360F13648176\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Previews\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Iconography\",\n transform: \"translate(-445.000000, -3261.000000)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"row\",\n transform: \"translate(283.000000, 3253.500000)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Hamburger-/-48\",\n transform: \"translate(162.000000, 8.000000)\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"background\",\n fillOpacity: 0,\n fill: \"#000000\",\n x: 0,\n y: 0,\n width: 48,\n height: 48\n }), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group\",\n strokeLinecap: \"square\",\n transform: \"translate(13.000000, 16.500000)\",\n stroke: \"#111111\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0,7.5 L22,7.5 M0,0.5 L22,0.5 M0,14.5 L22,14.5\",\n id: \"Combined-Shape\"\n }))))))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgHamburger48);\nexport default __webpack_public_path__ + \"static/media/hamburger-48.44fb6a462716be0956cbe62fedaf2ce8.svg\";\nexport { ForwardRef as ReactComponent };","import { useState, useLayoutEffect } from 'react';\nimport { Navbar, Collapse, Nav, NavbarToggler, UncontrolledDropdown, DropdownMenu, DropdownToggle, Row, Col } from 'reactstrap';\nimport { Link } from 'react-router-dom';\nimport { ReactComponent as Down16 } from '../../assets/icons/down-large-16.svg';\nimport { ReactComponent as Up16 } from '../../assets/icons/up-large-16.svg';\nimport { AiOutlineCluster, AiOutlineCode, AiOutlineInfoCircle, AiOutlineOrderedList, AiOutlineProject, AiOutlineTeam } from 'react-icons/ai';\nimport { useLocation } from 'react-router-dom';\nimport { ReactComponent as Remove48 } from '../../assets/icons/remove48.svg';\nimport { ReactComponent as Hamburger48 } from '../../assets/icons/hamburger-48.svg';\nimport MobyteTeal from \"../../assets/images/mobyte-blueteal.png\"\nimport '../../assets/css/shared/navbar.scss';\n\n\nconst Navibar = () => {\n\n const location = useLocation();\n\n const [isOpen, setIsOpen] = useState(false);\n const [dropdownOpen, setDropdownOpen] = useState(false);\n const [companyOpen, setCompanyOpen] = useState(false);\n const [manageDataOpen, setManageDataOpen] = useState(false);\n const [reportsOpen, setReportsOpen] = useState(false);\n const [profileOpen, setProfileOpen] = useState(false);\n\n useLayoutEffect(() => {\n setIsOpen(false);\n }, [location]);\n\n const toggle = () => setIsOpen(!isOpen);\n\n\n const handleDropdown = (event) => {\n const elementID = event.target.id.split(\":\")[0];\n const setDropdown = (dropdown) => {\n setDropdownOpen(dropdown === 'work');\n setCompanyOpen(dropdown === 'company');\n setManageDataOpen(dropdown === 'managedata');\n setReportsOpen(dropdown === 'reports');\n setProfileOpen(dropdown === 'profile');\n };\n\n if (window.innerWidth >= 992) {\n if (event.type === 'mouseenter') {\n setDropdown(elementID);\n } else if (event.type === 'mouseleave') {\n setDropdown(null);\n }\n } else if (event.type === 'click') {\n setDropdownOpen(elementID === 'work' && !dropdownOpen);\n setCompanyOpen(elementID === 'company' && !companyOpen);\n setManageDataOpen(elementID === 'managedata' && !manageDataOpen);\n setReportsOpen(elementID === 'reports' && !reportsOpen);\n setProfileOpen(elementID === 'profile' && !profileOpen);\n }\n };\n\n const handleLink = () => {\n setDropdownOpen(false);\n setCompanyOpen(false);\n setManageDataOpen(false);\n setReportsOpen(false);\n setProfileOpen(false);\n };\n\n return (\n \n
\n \n \"Mobyte\n\n \n
\n \n {isOpen ? : }\n \n \n \n \n
\n );\n};\n\nexport default Navibar;\n","import React from 'react';\nimport '../../assets/css/shared/Footer.scss'\nimport { NavItem, Nav, Row, Col } from 'reactstrap'\nimport { AiOutlineMail, AiOutlinePhone, AiFillLinkedin, AiOutlineX } from 'react-icons/ai'\nimport { Link } from 'react-router-dom';\n// import { Widget, addResponseMessage } from 'react-chat-widget';\n\n// import 'react-chat-widget/lib/styles.css';\n\n\nconst Footer = (props) => {\n\n // const [chatBox, showChatBox] = useState(false);\n // const [chatMessage, setChatMessage] = useState(\"\");\n // const [fullChat, setFullChat] = useState([]);\n // const chatBodyRef = useRef(null);\n\n // const sendMessage = () => {\n // if (chatMessage.trim() !== \"\") {\n // if (fullChat.length === 0) {\n // setFullChat(prevFullChat => [...prevFullChat, { text: chatMessage, user: true }, { text: \"Hello. You are through to Mobyte support, How can we help?\", user: false }]);\n // } else {\n // if (chatMessage === \"Can you help me?\") {\n // setFullChat(prevFullChat => [...prevFullChat, { text: chatMessage, user: true }, { text: \"Of course. What issue are you facing?\", user: false }]);\n // } else {\n // setFullChat(prevFullChat => [...prevFullChat, { text: chatMessage, user: true }]);\n\n // }\n // }\n // }\n // setChatMessage(\"\"); // Clear the input field after sending the message\n // }\n\n // useEffect(() => {\n // if (chatBodyRef.current) {\n // chatBodyRef.current.scrollTop = chatBodyRef.current.scrollHeight;\n // }\n // }, [fullChat]);\n\n // const handleKeyDown = (event) => {\n // if (event.key === 'Enter') {\n // sendMessage();\n // }\n // };\n\n\n\n // const handleNewUserMessage = (newMessage) => {\n // console.log(`New message incoming! ${newMessage}`);\n // // Now send the message throught the backend API\n // // addResponseMessage(response);\n // };\n\n return (\n <>\n {/* */}\n\n\n {/*
showChatBox(!chatBox)}>\n
\n \n
\n
\n\n {chatBox && (\n
\n
\n Mobyte support\n
\n
\n {fullChat.map((message, index) => (\n \n {message.text}\n
\n ))}\n
\n
\n
\n
\n setChatMessage(e.target.value)} />\n
\n
\n sendMessage()} />\n
\n\n
\n
\n\n
\n )} */}\n\n
\n
\n
\n \n \n
Mobyte
\n
\n \n \n
Our work
\n \n \n \n
Company
\n \n \n\n \n
Resources
\n \n \n \n \n
Social
\n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n \n \n \n\n \n \n Terms of Use\n \n \n \n \n Privacy Policy\n \n \n \n \n Cookie Policy\n \n \n\n \n {/* */}\n \n \n\n

\n ©{new Date().getFullYear()} Mobyte. All rights reserved.\n

\n \n
\n
\n
\n
\n \n );\n}\n\nexport default Footer","var _style, _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10, _path11, _path12, _path13, _path14, _path15, _path16, _path17, _rect, _path18, _rect2, _rect3, _path19, _path20, _path21, _rect4, _path22, _path23, _path24, _path25, _text, _path26, _path27, _path28, _path29, _path30, _path31, _path32, _path33, _path34, _path35, _path36, _path37, _path38, _path39, _path40, _path41, _path42, _path43, _path44, _path45, _path46, _path47, _path48, _path49, _path50, _path51, _path52, _path53, _path54, _path55, _path56, _rect5, _rect6, _rect7, _path57, _path58, _path59, _path60, _path61, _path62, _path63, _path64, _path65, _path66, _path67, _path68, _path69, _path70, _path71, _path72, _path73, _path74, _path75, _path76, _path77, _path78, _path79, _path80, _path81, _path82, _path83, _path84, _path85, _polygon, _path86, _polygon2;\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgError404(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 684.7 417.6\",\n style: {\n enableBackground: \"new 0 0 684.7 417.6\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\n\\t.st0{fill-rule:evenodd;clip-rule:evenodd;fill:#9FB2D9;}\\n\\t.st1{fill-rule:evenodd;clip-rule:evenodd;fill:#E1E8F6;}\\n\\t.st2{fill-rule:evenodd;clip-rule:evenodd;fill:#B4C5E6;}\\n\\t.st3{fill-rule:evenodd;clip-rule:evenodd;fill:#C0CDEA;}\\n\\t.st4{fill-rule:evenodd;clip-rule:evenodd;fill:#00000F;}\\n\\t.st5{fill-rule:evenodd;clip-rule:evenodd;fill:#3B405F;}\\n\\t.st6{fill:#00000F;}\\n\\t.st7{fill:#3B405F;}\\n\\t.st8{fill-rule:evenodd;clip-rule:evenodd;fill:#101537;}\\n\\t.st9{fill:#F8BD7A;}\\n\\t.st10{fill:#FFFFFF;}\\n\\t.st11{fill:#E4E1E8;}\\n\\t.st12{fill-rule:evenodd;clip-rule:evenodd;fill:#D64C47;}\\n\\t.st13{fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}\\n\\t.st14{font-family:'ArialMT';}\\n\\t.st15{font-size:72px;}\\n\\t.st16{fill-rule:evenodd;clip-rule:evenodd;fill:#070725;}\\n\\t.st17{fill:#101537;}\\n\\t.st18{fill:#D58750;}\\n\\t.st19{fill:#B56B41;}\\n\\t.st20{fill-rule:evenodd;clip-rule:evenodd;fill:#E4E1E8;}\\n\\t.st21{fill:#070725;}\\n\\t.st22{fill:#AEABBA;}\\n\\t.st23{fill-rule:evenodd;clip-rule:evenodd;fill:#B56B41;}\\n\\t.st24{fill-rule:evenodd;clip-rule:evenodd;fill:#ED7862;}\\n\\t.st25{fill-rule:evenodd;clip-rule:evenodd;fill:#F5AC83;}\\n\\t.st26{fill-rule:evenodd;clip-rule:evenodd;fill:#181D3B;}\\n\\t.st27{fill-rule:evenodd;clip-rule:evenodd;fill:#F8BD7A;}\\n\\t.st28{fill:#EE5050;}\\n\\t.st29{fill:#D95050;}\\n\\t.st30{fill-rule:evenodd;clip-rule:evenodd;fill:#707386;}\\n\\t.st31{fill-rule:evenodd;clip-rule:evenodd;fill:#EE5050;}\\n\\t.st32{fill-rule:evenodd;clip-rule:evenodd;fill:#D95050;}\\n\\t.st33{fill-rule:evenodd;clip-rule:evenodd;fill:#05A677;}\\n\\t.st34{fill-rule:evenodd;clip-rule:evenodd;fill:#4A9075;}\\n\\t.st35{fill-rule:evenodd;clip-rule:evenodd;fill:#1B7154;}\\n\")), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M373.4,37.2c0.1-0.5-0.3-1-0.8-1c-0.5-0.1-1,0.3-1,0.8c0,0.1,0,0.1,0,0.2v2.2h-2.1c-0.5,0.1-0.9,0.5-0.8,1 c0,0.4,0.4,0.8,0.8,0.8h2.1v2.2c0.1,0.5,0.5,0.9,1,0.8c0.4,0,0.8-0.4,0.8-0.8v-2.2h2.1c0.5,0.1,1-0.3,1-0.8c0.1-0.5-0.3-1-0.8-1 c-0.1,0-0.1,0-0.2,0h-2.1V37.2z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M142.3,291.7h-60c-32.4,0.1-58.6,26.3-58.7,58.7l0,0c0.1,32.4,26.3,58.6,58.7,58.7h507.4 c52.3,0,95.1-42.8,95.1-95.1l0,0c0-52.3-42.8-95.1-95.1-95.1l0,0c-22.2-0.1-40.1-18-40.2-40.2l0,0c0.1-22.2,18-40.1,40.2-40.2H638 c23.1-0.1,41.7-18.7,41.8-41.8l0,0C679.8,73.7,661.1,55.1,638,55h-61.2c-9,0-16.2-7.3-16.3-16.3l0,0c0-9,7.3-16.2,16.3-16.3h10.8 c6.2,0,11.2-5,11.2-11.2l0,0c0-6.2-5-11.2-11.2-11.2h-70.8c-14.9,0-16.6,17.6-54.2,17.6h-87.3c-8.1,0-14.6,6.6-14.6,14.7l0,0 c0,8.1,6.6,14.6,14.6,14.7h14.1c11.7,0,21.2,9.5,21.2,21.2l0,0c0,11.7-9.5,21.2-21.2,21.2h-42.4c-57.2,0-65.3,14.9-75.3,44.7 s-62,32.1-62,32.1h-71.2c-17.7,0-32,14.3-32,32l0,0c0,17.7,14.3,32,32,32h3.7c17,0,30.7,13.8,30.8,30.8l0,0 C173,277.9,159.3,291.7,142.3,291.7z M619.2,22.5c-6.2,0-11.2-5-11.2-11.2C607.9,5,613,0,619.2,0c6.2,0,11.2,5,11.2,11.2 c0,0,0,0,0,0C630.4,17.4,625.4,22.5,619.2,22.5z\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M214.2,351.8c0,0-21.7-11.2-17.7-38.6s-12.8-36.1-17.1-44.3s5.3-21.3,4.2-32.9s-14.4-14.6-8.2-30.4 s1-21.8-7.2-38.8s3.9-42.8,9.7-42.7s-1.3,6.2,3.8,17.5s26.5,14.7,33.2,24.1s-5.1,21.9,2.6,34.6s30.4,8.8,36.5,21.1 s-8.3,27.1-4.2,40.1c4.2,12.9,19.6,20.3,26,30.6s18.6,30.3-1.2,54S214.2,351.8,214.2,351.8z\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M175.6,147.6c-0.2-0.7,0.2-1.5,0.9-1.8c0.7-0.2,1.4,0.1,1.7,0.8l89.7,232.9l-3.4-0.9L175.6,147.6z\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M196.2,324c-0.1-1.1-0.2-2.2-0.2-3.4l58.9,33.1l-5.2-13.5c0-0.1,0-0.1-0.1-0.2l-2.7-7l-49.9-28 c0-1.1,0-2.2-0.1-3.3l48.4,27.2l-4.7-12.2l-46.1-25.9c-0.6-1.5-1.2-3-2-4.4l46.5,26.1l-2.3-6.1c0-0.1-0.1-0.1-0.1-0.2l-10.2-26.6 l-46.1-25.9c0.3-0.9,0.6-1.8,0.8-2.8l43.7,24.6l-5.1-13.3l-36.3-20.4c0.2-1,0.3-2,0.3-3.1l34.4,19.4l-3.8-10c0,0,0-0.1-0.1-0.1 L203,219l-27-15.1c0.3-0.9,0.6-1.9,0.9-2.7l24.5,13.8l-9.8-25.3c0,0,0-0.1-0.1-0.1l-16.1-41.8c-0.2-0.7,0.2-1.5,0.9-1.8 c0.7-0.2,1.4,0.1,1.7,0.8l14.6,38l8.4-28.5c0.9,0.4,1.7,0.9,2.6,1.3l-9.2,31.6l11,28.5c0,0,0,0.1,0,0.1l10.2,26.4l16-34.4 c0.9,0.3,1.8,0.6,2.7,0.8L217,247.7l3.9,10.1l21.1-45c0.9,0.3,1.8,0.6,2.7,1l-22.1,47l0.3,0.2c0.7,0.4,0.9,1.2,0.5,1.9c0,0,0,0,0,0 c-0.1,0.2-0.3,0.4-0.4,0.5l5.7,14.8c0,0,0,0.1,0.1,0.1l9.2,24l15.7-33.3c0.6,0.8,1.3,1.7,2,2.5L239.5,306l2.4,6.2l17.4-37 c0.7,0.7,1.4,1.4,2.2,2l-18.2,38.5l6.1,15.8l0,0.1l1.7,4.4l22.2-47.3c0.7,0.8,1.3,1.6,1.9,2.5l-22.8,48.5l6.4,16.6c0,0,0,0.1,0,0.1 v0c-1.1,0.4-2.2,0.6-3.4,0.9L196.2,324z\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st3\",\n d: \"M204.1,409.3c-6-4.6-12.1-6.8-15.3-9.8c-6.5-6-2.1-20.9-6.8-30.9s-17.7-8.5-17.1-24.8s-6.2-19.9-19-32.5 s-10.2-39.8-5-41.5s0.9,6,9,14.5s28.6,4.7,37.6,11s2.5,21.3,13.4,30.3s30.2-1.9,39.6,7.3s1.2,27.1,9.1,37.4s24.1,11.9,33.3,19.2 c5.2,4.1,12.9,10.3,16.9,19.9L204.1,409.3z\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M247.5,409.3l-13-15.1l-49.8-8.5c0-0.9-0.1-1.8-0.1-2.8l47.2,8l-8.9-10.3l-39.3-6.7c-0.2-1-0.4-1.9-0.7-2.9 l37.2,6.3l-6.7-7.8l-0.1-0.1L194,347.1l-29.1-5c0-1,0-1.9-0.1-2.8l26.5,4.5l-17-19.6l-0.1-0.1l-27.9-32.4c-0.4-0.6-0.2-1.5,0.4-1.9 c0.5-0.3,1.1-0.3,1.6,0.1l25.4,29.5l-1.7-28.4l2.7,0.4l1.9,31.4l19.1,22.2l0.1,0.1l17.6,20.5l3.4-36.1l2.7-0.1l-3.6,39.1l6.7,7.8 l4.6-47.3c0.9,0,1.8,0,2.7,0l-4.8,49.4l0.4,0.1c0.7,0.1,1.2,0.8,1.1,1.5c0,0,0,0,0,0c0,0.2-0.1,0.4-0.2,0.6l9.9,11.5l0.1,0.1 l14.8,17.2L247.5,409.3z M252.5,409.3l3.2-33.6c0.8,0.6,1.7,1.1,2.5,1.6l-3.1,32L252.5,409.3z M259.8,409.3l2.9-29.8 c0.9,0.4,1.7,0.8,2.6,1.1l-2.8,28.6H259.8z M277.5,409.3l2.1-22.2c0.9,0.5,1.7,1.1,2.5,1.6l-2,20.5L277.5,409.3z\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st4\",\n d: \"M22.9,417.6h-5.5c-2.3,0-4.2-1.8-4.2-4.1l0,0l0,0c0-2.3,1.9-4.1,4.1-4.1h5.5c2.3,0,4.1,1.9,4.1,4.1l0,0 C27,415.7,25.2,417.6,22.9,417.6z\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st4\",\n d: \"M36.2,417.6h599.3c2.3,0,4.1-1.9,4.1-4.1l0,0c0-2.3-1.9-4.1-4.1-4.1H36.2c-2.3,0-4.1,1.9-4.1,4.1l0,0 C32,415.7,33.9,417.6,36.2,417.6z\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st3\",\n d: \"M634.2,203.2\"\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M662.7,229.2c0-0.6-0.5-1.1-1.1-1.1s-1.1,0.5-1.1,1.1v2.7h-2.7c-0.6,0-1.1,0.5-1.1,1.1c0,0.6,0.5,1.1,1.1,1.1 c0,0,0,0,0,0h2.7v2.7c0,0.6,0.5,1.1,1.1,1.1s1.1-0.5,1.1-1.1v-2.7h2.7c0.6,0,1.1-0.5,1.1-1.1c0-0.6-0.5-1.1-1.1-1.1h-2.7V229.2z\"\n })), _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st4\",\n d: \"M416.3,215.3h-68c-2.5,0-4.5,2-4.5,4.5l0,0c0,2.5,2,4.5,4.5,4.5h68c2.5,0,4.5-2,4.5-4.5l0,0 C420.8,217.3,418.8,215.3,416.3,215.3z\"\n })), _path13 || (_path13 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st5\",\n d: \"M414,183.3h-31.5c-0.3,0-0.5,0.2-0.5,0.5l-5.6,40c0,0.2,0.1,0.4,0.3,0.5c0,0,0.1,0,0.1,0h43 c0.2,0,0.4-0.2,0.4-0.4c0,0,0-0.1,0-0.1l-5.6-40C414.4,183.5,414.2,183.3,414,183.3z\"\n })), _path14 || (_path14 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st5\",\n d: \"M432.8,215.3h-68c-2.5,0-4.5,2-4.5,4.5l0,0c0,2.5,2,4.5,4.5,4.5h68c2.5,0,4.5-2,4.5-4.5l0,0 C437.3,217.3,435.3,215.3,432.8,215.3z\"\n })), _path15 || (_path15 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st6\",\n d: \"M316.3,95.1h150.8c1.3,0,2.3,1,2.3,2.3v100.8c0,1.3-1,2.3-2.3,2.3H316.3c-1.3,0-2.3-1-2.3-2.3v0V97.4 C313.9,96.1,315,95.1,316.3,95.1C316.3,95.1,316.3,95.1,316.3,95.1z\"\n })), _path16 || (_path16 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st7\",\n d: \"M323.6,95.1h150.8c1.3,0,2.3,1,2.3,2.3v0v100.9c0,1.3-1,2.3-2.3,2.3H323.6c-1.3,0-2.3-1-2.3-2.3V97.4 C321.3,96.1,322.4,95.1,323.6,95.1z\"\n })), _path17 || (_path17 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st8\",\n d: \"M473.2,96.6H324.9c-0.8,0-1.5,0.7-1.5,1.5V189c0,0.6,0.4,1,1,1h149.4c0.6,0,1-0.4,1-1V98.1 C474.8,97.3,474.1,96.6,473.2,96.6C473.2,96.6,473.2,96.6,473.2,96.6z\"\n })), _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n x: 327.7,\n y: 100.9,\n className: \"st9\",\n width: 142.6,\n height: 84.7\n })), _path18 || (_path18 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st8\",\n d: \"M385.8,204.7l-1.5,10.6h-6.8l2.1-14.7h37.3l0.5,3.7h-31C386.1,204.2,385.9,204.4,385.8,204.7z\"\n })), _rect2 || (_rect2 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 327.7,\n y: 100.9,\n className: \"st10\",\n width: 143.1,\n height: 4.9\n })), _rect3 || (_rect3 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 328.6,\n y: 102,\n className: \"st11\",\n width: 36,\n height: 2.8\n })), _path19 || (_path19 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st12\",\n d: \"M362.8,104c0.3,0,0.6-0.3,0.6-0.6s-0.3-0.6-0.6-0.6c-0.3,0-0.6,0.3-0.6,0.6c0,0,0,0,0,0 C362.2,103.7,362.5,104,362.8,104z\"\n })), _path20 || (_path20 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st12\",\n d: \"M361,104c0.3,0,0.6-0.3,0.6-0.6s-0.3-0.6-0.6-0.6c-0.3,0-0.6,0.3-0.6,0.6c0,0,0,0,0,0 C360.4,103.7,360.6,104,361,104z\"\n })), _path21 || (_path21 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st12\",\n d: \"M359.1,104c0.3,0,0.6-0.3,0.6-0.6c0-0.3-0.3-0.6-0.6-0.6c-0.3,0-0.6,0.3-0.6,0.6c0,0,0,0,0,0 C358.5,103.7,358.8,104,359.1,104z\"\n })), _rect4 || (_rect4 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 366.3,\n y: 102,\n className: \"st11\",\n width: 36,\n height: 2.8\n })), _path22 || (_path22 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st12\",\n d: \"M400.5,104c0.3,0,0.6-0.4,0.5-0.7c0-0.3-0.3-0.5-0.5-0.5c-0.3,0-0.7,0.2-0.7,0.5c0,0.3,0.2,0.7,0.5,0.7 C400.4,104,400.4,104,400.5,104z\"\n })), _path23 || (_path23 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st12\",\n d: \"M398.6,104c0.3,0,0.6-0.4,0.5-0.7c0-0.3-0.3-0.5-0.5-0.5c-0.3,0-0.7,0.2-0.7,0.5c0,0.3,0.2,0.7,0.5,0.7 C398.5,104,398.6,104,398.6,104z\"\n })), _path24 || (_path24 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st12\",\n d: \"M396.8,104c0.3,0,0.6-0.3,0.6-0.6s-0.3-0.6-0.6-0.6c-0.3,0-0.6,0.3-0.6,0.6c0,0,0,0,0,0 C396.1,103.7,396.4,104,396.8,104z\"\n })), _path25 || (_path25 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st13\",\n d: \"M348.2,175.7h101.7c0.4,0,0.8,0.3,0.8,0.8l0,0c0,0.4-0.3,0.8-0.8,0.8H348.2c-0.4,0-0.8-0.3-0.8-0.8l0,0 C347.4,176,347.8,175.7,348.2,175.7z\"\n })), _text || (_text = /*#__PURE__*/React.createElement(\"text\", {\n transform: \"matrix(1 0 0 1 342.72 167.96)\",\n className: \"st10 st14 st15\"\n }, \"404\")), _path26 || (_path26 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st8\",\n d: \"M398,210.8h88.4c5,0,9,4,9,9l0,0c0,5-4,9-9,9H398c-5,0-9-4-9-9l0,0C389,214.8,393,210.8,398,210.8z\"\n })), _path27 || (_path27 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st16\",\n d: \"M381.1,210.8h41c5,0,9,4,9,9l0,0c0,5-4,9-9,9h-41c-5,0-9-4-9-9l0,0C372.1,214.8,376.1,210.8,381.1,210.8z\"\n })), _path28 || (_path28 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st17\",\n d: \"M335.4,225.5h274.2c2.8,0,5,2.3,5,5V254c0,2.8-2.3,5-5,5H335.4c-2.8,0-5-2.3-5-5v-23.5 C330.4,227.7,332.7,225.5,335.4,225.5z\"\n })), _path29 || (_path29 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st4\",\n d: \"M335.3,225.5h274.5c2.7,0.1,4.9,2.3,4.9,5v9.2c0,2.7-2.2,4.9-4.9,5H335.3c-2.7-0.1-4.9-2.3-4.9-5v-9.2 C330.4,227.8,332.6,225.5,335.3,225.5z\"\n })), _path30 || (_path30 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st6\",\n d: \"M260.1,225.9H336c2.9,0,5.2,2.3,5.2,5.2v172.8c0,2.9-2.3,5.2-5.2,5.2h-75.9c-2.9,0-5.2-2.3-5.2-5.2V231.1 C254.9,228.2,257.2,225.9,260.1,225.9z\"\n })), _path31 || (_path31 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st17\",\n d: \"M335,225.9h67.9c2.6,0,4.7,2.1,4.7,4.7v173.9c0,2.6-2.1,4.7-4.7,4.7H335c-2.6,0-4.7-2.1-4.7-4.7V230.6 C330.4,228,332.4,225.9,335,225.9z\"\n })), _path32 || (_path32 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st18\",\n d: \"M332.1,219.8h294.3c0.9,0,1.7,0.8,1.7,1.7v8c0,0.9-0.8,1.7-1.7,1.7H332.1c-0.9,0-1.7-0.8-1.7-1.7v-8 C330.4,220.5,331.2,219.8,332.1,219.8z\"\n })), _path33 || (_path33 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st19\",\n d: \"M247.7,219.8h84c0.9,0,1.7,0.8,1.7,1.7v8c0,0.9-0.8,1.7-1.7,1.7h-84c-0.9,0-1.7-0.8-1.7-1.7v-8 C246,220.5,246.8,219.8,247.7,219.8z\"\n })), _path34 || (_path34 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st10\",\n d: \"M340,237h57.9c2.1,0,3.9,1.7,3.9,3.9v44.9c0,2.1-1.7,3.9-3.9,3.9H340c-2.1,0-3.9-1.7-3.9-3.9v-44.9 C336.1,238.7,337.9,237,340,237z\"\n })), _path35 || (_path35 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st20\",\n d: \"M401.8,286.3h-57.1c-1.5,0-2.8-0.8-3.5-2.2c-0.3-0.5-0.4-1.1-0.4-1.7v-44.9c0-0.2,0-0.4,0-0.6H340 c-2.1,0-3.9,1.7-3.9,3.9v44.9c0,2.1,1.7,3.9,3.9,3.9h57.9C399.8,289.6,401.5,288.2,401.8,286.3z\"\n })), _path36 || (_path36 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st21\",\n d: \"M355,240.1h28c0.8,0,1.5,0.7,1.5,1.5v0.5c0,0.8-0.7,1.5-1.5,1.5h-28c-0.8,0-1.5-0.7-1.5-1.5v-0.5 C353.5,240.7,354.2,240.1,355,240.1z\"\n })), _path37 || (_path37 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st10\",\n d: \"M340,292.4h57.9c2.1,0,3.9,1.7,3.9,3.9v44.9c0,2.1-1.7,3.9-3.9,3.9H340c-2.1,0-3.9-1.7-3.9-3.9v-44.9 C336.1,294.2,337.9,292.4,340,292.4z\"\n })), _path38 || (_path38 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st20\",\n d: \"M401.8,341.8h-57.1c-1.5,0-2.8-0.8-3.5-2.2c-0.3-0.5-0.4-1.1-0.4-1.7V293c0-0.2,0-0.4,0-0.6H340 c-2.1,0-3.9,1.7-3.9,3.9v44.9c0,2.1,1.7,3.9,3.9,3.9h57.9C399.9,345.1,401.5,343.7,401.8,341.8z\"\n })), _path39 || (_path39 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st21\",\n d: \"M355,295.5h28c0.8,0,1.5,0.7,1.5,1.5v0.5c0,0.8-0.7,1.5-1.5,1.5h-28c-0.8,0-1.5-0.7-1.5-1.5V297 C353.5,296.2,354.2,295.5,355,295.5z\"\n })), _path40 || (_path40 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st10\",\n d: \"M340,347.9h57.9c2.1,0,3.9,1.7,3.9,3.9v44.9c0,2.1-1.7,3.9-3.9,3.9H340c-2.1,0-3.9-1.7-3.9-3.9v-44.9 C336.1,349.6,337.9,347.9,340,347.9z\"\n })), _path41 || (_path41 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st20\",\n d: \"M401.8,397.2h-57.1c-1.5,0-2.8-0.8-3.5-2.2c-0.3-0.5-0.4-1.1-0.4-1.7v-44.9c0-0.2,0-0.4,0-0.6H340 c-2.1,0-3.9,1.8-3.9,3.9v44.9c0,2.1,1.7,3.9,3.9,3.9h57.9C399.9,400.5,401.5,399.1,401.8,397.2z\"\n })), _path42 || (_path42 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st21\",\n d: \"M355,351h28c0.8,0,1.5,0.7,1.5,1.5v0.5c0,0.8-0.7,1.5-1.5,1.5h-28c-0.8,0-1.5-0.7-1.5-1.5v-0.5 C353.5,351.6,354.2,351,355,351z\"\n })), _path43 || (_path43 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st22\",\n d: \"M558.1,225.9h10.5c0.3,0,0.5,0.2,0.5,0.5v184.5c0,0.3-0.2,0.5-0.5,0.5h-10.5c-0.3,0-0.5-0.2-0.5-0.5V226.4 C557.7,226.1,557.9,225.9,558.1,225.9z\"\n })), _path44 || (_path44 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st10\",\n d: \"M565.2,225.9h3.3c1.3,0,2.3,1,2.3,2.3V409c0,1.3-1,2.3-2.3,2.3h-3.3c-1.3,0-2.3-1-2.3-2.3V228.2 C562.9,226.9,563.9,225.9,565.2,225.9z\"\n })), _path45 || (_path45 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st22\",\n d: \"M607.2,225.9h10.5c0.3,0,0.5,0.2,0.5,0.5v184.5c0,0.3-0.2,0.5-0.5,0.5h-10.5c-0.3,0-0.5-0.2-0.5-0.5V226.4 C606.7,226.1,606.9,225.9,607.2,225.9z\"\n })), _path46 || (_path46 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st10\",\n d: \"M614.3,225.9h3.3c1.3,0,2.3,1,2.3,2.3V409c0,1.3-1,2.3-2.3,2.3h-3.3c-1.3,0-2.3-1-2.3-2.3V228.2 C611.9,226.9,613,225.9,614.3,225.9z\"\n })), _path47 || (_path47 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st23\",\n d: \"M455.5,219.8h170.9c0.9,0,1.7,0.8,1.7,1.7v8c0,0.9-0.8,1.7-1.7,1.7H466.7C463.4,226.9,459.7,223.1,455.5,219.8 z\"\n })), _path48 || (_path48 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st24\",\n d: \"M517.6,170.2l2.2,3.6c0,0,0.8,4.4-0.4,7.3s14.2,6.2,14.2,6.2l12-9.7l2.7-3.3c0,0-5.6-6.1-6-8.8 S517.6,170.2,517.6,170.2z\"\n })), _path49 || (_path49 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st25\",\n d: \"M490.9,204.5c0,0-8.1,6.5-10.9,7s-15.1-5.2-17.6-5.8s-8-0.7-11.9-0.7s-8,1.5-10.1,5.8h8.3 c2.2,0,9.8,6.1,17,11.1s13.1,9.1,17.9,8.6s21.4-12.9,21.4-12.9L490.9,204.5z\"\n })), _path50 || (_path50 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st24\",\n d: \"M465.6,221.9c7.3,5,13.1,9.1,17.9,8.6s21.4-12.9,21.4-12.9l-14-13.1c0,0-1.9,1.5-4.1,3.1 c5.9,9.4,3.2,13.4-3.7,16.2c-5.5,2.2-19.6-5.5-28.5-9.8C457.7,216.2,461.7,219.2,465.6,221.9z\"\n })), _path51 || (_path51 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st16\",\n d: \"M557,280.9c0,0-41.9-0.4-47,0.1c-5.1,0.5-10.2,5.9-9.3,14.3s12.6,74,12.6,74c0.5,0.4,1.1,0.6,1.7,0.8 c0.9,0.2,8.4,1.4,8.4,1.4l0.5-6.1l-4.4-63.8l38.6-7L557,280.9z\"\n })), _path52 || (_path52 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st12\",\n d: \"M523.9,365.4c0.6,0.2,1.1,0.7,1.3,1.4c0.6,3.1,1,6.2,1.1,9.4c-0.1,1-2.7,3-7.1,4.9s-21.2,6.8-21.2,6.8 l-0.2-0.6c-0.5-0.3-0.9-0.8-1.1-1.4c-0.4-1.6-0.1-3.2,0.7-4.6c0.9-1.3,6.3-5,7.3-5.8s5.9-7.6,6.3-8.1c1.7-1.4,4.2-1.6,6.1-0.4 C520.1,368.6,523.6,368,523.9,365.4z\"\n })), _path53 || (_path53 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st13\",\n d: \"M497.7,387.2c0,0,16.8-6.2,20.5-7.5c2.9-1.2,5.6-2.8,8-4.8c0.3,0.2,0.6,0.4,0.7,0.8c0.1,0.5,0.2,2.2,0.3,2.6 c0,1.2-0.8,2.4-1.9,2.8c-1.8,0.8-25.3,9-26.4,9.4s-1.5-2.5-1.5-2.5S497.3,387.4,497.7,387.2z\"\n })), _path54 || (_path54 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st26\",\n d: \"M582.9,254.9c0,0-111.9,12.9-118,14.3s-11.3,8.6-8.9,18.5s27.4,89.7,27.4,89.7c0.7,0.4,1.4,0.6,2.1,0.7 c1.1,0.1,10.3,0.4,10.3,0.4l3.6-3.7l-20-71.2l81.8-4.1C584.1,295.7,587.2,267.8,582.9,254.9z\"\n })), _path55 || (_path55 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st27\",\n d: \"M504.2,263.4c0,0,8.9,6.6,14.3,4.5s31.2-46.8,31.2-46.8l-12.4-44.7c-6.1,0.4-12.2,1.2-18.1,2.5l-1.9,1.7 c0,0-7.3,1.2-11.4,5.9s-17.7,16.7-18.2,17.7s11.8,14.6,15,16.7c0.8,0.3,1.7,0.1,2.4-0.4l1.5-1.2c0,0,3.3,17.2,3.3,22.4v5.1 c0,0-1.7,13.2-3.1,14.4S504.2,263.4,504.2,263.4z\"\n })), _path56 || (_path56 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st13\",\n d: \"M544.2,271.9c2.1,0,3.8-1.7,3.8-3.8s-1.7-3.8-3.8-3.8h-33.1c-7.7-0.1-14.3-5.4-16-12.9c-2.4,1-4.7,2.1-6.9,3.3 c3.1,10.1,12.4,17,22.9,17.1H544.2z\"\n })), _rect5 || (_rect5 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 544.4,\n y: 301.6,\n className: \"st21\",\n width: 9.5,\n height: 78.2\n })), _rect6 || (_rect6 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 531.7,\n y: 275.4,\n className: \"st6\",\n width: 9.3,\n height: 21.2\n })), _rect7 || (_rect7 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 595.8,\n y: 275.4,\n className: \"st6\",\n width: 9.3,\n height: 21.2\n })), _path57 || (_path57 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st7\",\n d: \"M544.4,299.8h9.5c3,0,5.5,2.5,5.5,5.5c0,0,0,0,0,0v10.2c0,3-2.5,5.5-5.5,5.5l0,0h-9.5c-3,0-5.5-2.5-5.5-5.5 c0,0,0,0,0,0v-10.2C538.9,302.3,541.3,299.8,544.4,299.8z\"\n })), _path58 || (_path58 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st21\",\n d: \"M536.8,298.1h24.6c0.9,0,1.6,0.7,1.6,1.6v12.8c0,0.9-0.7,1.6-1.6,1.6h-24.6c-0.9,0-1.6-0.7-1.6-1.6v-12.8 C535.2,298.8,535.9,298.1,536.8,298.1z\"\n })), _path59 || (_path59 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st28\",\n d: \"M476.1,292.1h77.1c2.9,0,5.3,2.4,5.3,5.3v6c0,2.9-2.4,5.3-5.3,5.3h-77.1c-2.9,0-5.3-2.4-5.3-5.3v-6 C470.8,294.4,473.2,292.1,476.1,292.1z\"\n })), _path60 || (_path60 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st29\",\n d: \"M532.2,292.1h77.1c2.9,0,5.3,2.4,5.3,5.3v6c0,2.9-2.4,5.3-5.3,5.3h-77.1c-2.9,0-5.3-2.4-5.3-5.3v-6 C526.9,294.5,529.3,292.1,532.2,292.1z\"\n })), _path61 || (_path61 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st7\",\n d: \"M544.4,374.8h9.5c3,0,5.5,2.5,5.5,5.5c0,0,0,0,0,0v10.2c0,3-2.5,5.5-5.5,5.5l0,0h-9.5c-3,0-5.5-2.5-5.5-5.5l0,0 v-10.2C538.9,377.3,541.3,374.8,544.4,374.8z\"\n })), _path62 || (_path62 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st21\",\n d: \"M537.5,384.9h23.2c1.3,0,2.3,1,2.3,2.3v18.5c0,1.3-1,2.3-2.3,2.3h-23.2c-1.3,0-2.3-1-2.3-2.3v-18.5 C535.2,385.9,536.2,384.9,537.5,384.9z\"\n })), _path63 || (_path63 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st30\",\n d: \"M574.4,402.3L574.4,402.3c0,3.8-3.1,6.8-6.8,6.8h-36.8c-3.8,0-6.8-3.1-6.8-6.8l0,0c0-3.8,3.1-6.8,6.8-6.8h36.8 C571.3,395.5,574.3,398.5,574.4,402.3z\"\n })), _path64 || (_path64 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st8\",\n d: \"M610.2,409.1L610.2,409.1c0,3.8-3.1,6.8-6.8,6.8h-93.6c-3.8,0-6.8-3.1-6.8-6.8l0,0c0-3.8,3.1-6.8,6.8-6.8h93.6 C607.1,402.3,610.2,405.3,610.2,409.1z\"\n })), _path65 || (_path65 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st4\",\n d: \"M551.6,409.1L551.6,409.1c0,3.8-3.1,6.8-6.8,6.8h-49.9c-3.8,0-6.8-3.1-6.8-6.8l0,0c0-3.8,3.1-6.8,6.8-6.8h49.9 C548.5,402.3,551.6,405.3,551.6,409.1z\"\n })), _path66 || (_path66 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st13\",\n d: \"M530.3,246.8c2.1-0.1,3.8,1.5,3.9,3.6c0.1,2.1-1.5,3.8-3.6,3.9c-0.1,0-0.3,0-0.4,0h-33.1 c-9.1,0-16.4,7.4-16.4,16.4v29.8c0.1,2.1-1.5,3.8-3.6,3.9c-2.1,0.1-3.8-1.5-3.9-3.6c0-0.1,0-0.3,0-0.4v-29.8c0-13.2,10.7-23.9,24-24 H530.3z\"\n })), _path67 || (_path67 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st31\",\n d: \"M603.7,206.8c-0.1-22.7-18.4-41.1-41.1-41.1h-5.5c-22.7,0.1-41.1,18.4-41.1,41.1v61.2 c0,5.8,4.7,10.5,10.6,10.6h66.6c5.8,0,10.5-4.7,10.6-10.6V206.8z\"\n })), _path68 || (_path68 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st32\",\n d: \"M614.7,206.8c-0.1-22.7-18.4-41.1-41.1-41.1h-5.5c-22.7,0.1-41.1,18.4-41.1,41.1v61.2 c0,5.8,4.7,10.6,10.6,10.6h66.6c5.8,0,10.5-4.7,10.6-10.6V206.8z\"\n })), _path69 || (_path69 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st12\",\n d: \"M498.5,371.9c0.9,0,1.8,0.5,2.3,1.2c0.9,1.2,4.1,9.5,4.3,10.7s-3.3,4.4-9.7,7.9s-31.2,14.5-31.2,14.5l-0.5-0.7 c-0.8-0.1-1.6-0.6-2.1-1.3c-1-1.7-1.1-3.9-0.2-5.7c1.1-1.8,8.5-7.9,9.9-9.1s7.1-10.8,7.6-11.5s4.1-3.4,9.4-2.3 S498.8,375,498.5,371.9z\"\n })), _path70 || (_path70 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st13\",\n d: \"M463.8,405.6c0,0,24.5-12.4,29.8-15c5.4-2.6,11.2-8.1,11.2-8.1s1,0.1,1.3,0.7c0.4,1,0.8,1.9,1.1,2.9 c0.2,0.4,0.4,2.4-2.2,3.9s-36.9,18.3-38.5,19s-3-2.5-3-2.5S463.2,405.9,463.8,405.6z\"\n })), _path71 || (_path71 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st25\",\n d: \"M510.5,119.8l4-0.9c9.5-2.2,19,3.7,21.3,13.2l4.4,19c2.2,9.5-3.7,19-13.2,21.3l-4,0.9 c-9.5,2.2-19-3.7-21.3-13.2l-4.4-19C495,131.6,500.9,122.1,510.5,119.8z\"\n })), _path72 || (_path72 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st24\",\n d: \"M536.3,134.3l3.9,16.8c2.2,9.5-3.7,19-13.2,21.3l-4,0.9c-3.8,0.9-7.8,0.5-11.3-1.1c0.5,0.2,3.8,1.5,4.6-1 c0.8-2.7-3.8-11.2-3.8-11.2c-0.2-0.4-0.1-0.8,0.1-1.1c1.9-3.3,2.5-7.1,1.8-10.9c-1.1-5.7,6.2-9.7,6.2-9.7l-17.1,4.6v3.5 c-1.2-2.3-3.5-3.9-6.1-4.3l-0.2-1c-1-4.3-0.4-8.8,1.8-12.7C504.7,129.1,523.3,131.5,536.3,134.3z\"\n })), _path73 || (_path73 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st8\",\n d: \"M504.7,151.7c0,0-1.5-0.2-2.1-2.4s-0.7-2.9-0.7-2.9c-1.3-1.9-2.2-4.1-2.6-6.4c0,0-10.1-1.4-12.1-10.8 s6.7-19.2,8-20.2s6.7-2.8,13.4,0.2c0,0,1.2,0.7,3.4-0.2c2.2-0.9,14.6-4.4,20.6-4.6s9.8,6,12.7,13.5c0.3-1.8,1.6-3.3,3.4-3.7 c3-0.6,1.4,5-0.8,7c0,0,5.1,2.7,6.1,8.1c1,5.5-0.9,29.8-5.5,34.6s-16.2,6.9-19.9,7.8s-11-3-14-13.1c0,0,1.5-5.1,0.2-9.2 s-2.3-7.2-3.9-7.8c-1.6-0.5-5.4,3.5-5.7,5.3c-0.1,1.4,0,2.9,0.4,4.3C505.4,151.6,505,151.7,504.7,151.7z\"\n })), _path74 || (_path74 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st16\",\n d: \"M504.7,151.7c0,0-1.5-0.2-2.1-2.4s-0.7-2.9-0.7-2.9c-1.3-1.9-2.2-4.1-2.6-6.4c0,0-10.1-1.4-12.1-10.8 s6.7-19.2,8-20.2c0,0-9.5,10.4,1,15.7c10.5,5.3,26,8.7,36.2,8.1s17.4-18.3,17.4-18.3c1.2,1.1-0.2,5.2-2,6.7c0,0,5.1,2.7,6.1,8.1 c1,5.5-0.9,29.8-5.5,34.6s-16.2,6.9-19.9,7.8s-11-3-14-13.1c0,0,1.5-5.1,0.2-9.2s-2.3-7.2-3.9-7.8c-1.6-0.5-5.4,3.5-5.7,5.3 c-0.1,1.4,0,2.9,0.4,4.3C505.4,151.6,505.1,151.7,504.7,151.7z\"\n })), _path75 || (_path75 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M644.6,306.8c0-0.6-0.5-1.1-1.1-1.1s-1.1,0.5-1.1,1.1v2.7h-2.7c-0.6,0.1-1.1,0.6-1,1.3c0.1,0.6,0.5,1,1,1h2.7 v2.7c0,0.6,0.5,1.1,1.1,1.1s1.1-0.5,1.1-1.1v-2.7h2.7c0.6,0.1,1.2-0.4,1.3-1c0.1-0.6-0.4-1.2-1-1.3c-0.1,0-0.1,0-0.2,0h-2.7V306.8z\"\n })), _path76 || (_path76 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M576.1,70.3c0.1-0.6-0.4-1.2-1-1.3c-0.6-0.1-1.2,0.4-1.3,1c0,0.1,0,0.1,0,0.2V73h-2.7c-0.6,0-1.1,0.5-1.1,1.1 c0,0.6,0.5,1.1,1.1,1.1c0,0,0,0,0,0h2.7V78c0.1,0.6,0.6,1.1,1.3,1c0.6-0.1,1-0.5,1-1v-2.7h2.7c0.6,0,1.1-0.5,1.1-1.1 c0-0.6-0.5-1.1-1.1-1.1h-2.7V70.3z\"\n })), _path77 || (_path77 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M446.9,27.6c0-0.6-0.5-1.1-1.1-1.1c-0.6,0-1.1,0.5-1.1,1.1v2.7h-2.7c-0.6,0-1.1,0.5-1.1,1.1 c0,0.6,0.5,1.1,1.1,1.1c0,0,0,0,0,0h2.7v2.7c0,0.6,0.5,1.1,1.1,1.1c0.6,0,1.1-0.5,1.1-1.1c0,0,0,0,0,0v-2.7h2.7 c0.6,0,1.1-0.5,1.1-1.1c0-0.6-0.5-1.1-1.1-1.1h-2.7V27.6z\"\n })), _path78 || (_path78 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M127.6,255.1c-0.1-0.6-0.6-1.1-1.3-1c-0.6,0.1-1,0.5-1,1v2.7h-2.7c-0.6,0.1-1.1,0.6-1,1.3c0.1,0.6,0.5,1,1,1 h2.6v2.7c0.1,0.6,0.6,1.1,1.3,1c0.6-0.1,1-0.5,1-1v-2.7h2.7c0.6-0.1,1.1-0.6,1-1.3c-0.1-0.6-0.5-1-1-1h-2.7L127.6,255.1z\"\n })), _path79 || (_path79 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M238.8,107.8c0-0.6-0.5-1.1-1.1-1.1c-0.6,0-1.1,0.5-1.1,1.1c0,0,0,0,0,0v2.7h-2.7c-0.6,0-1.1,0.5-1.1,1.1 c0,0.6,0.5,1.1,1.1,1.1c0,0,0,0,0,0h2.7v2.7c0,0.6,0.5,1.1,1.1,1.1c0.6,0,1.1-0.5,1.1-1.1c0,0,0,0,0,0v-2.7h2.7 c0.6,0,1.1-0.5,1.1-1.1c0-0.6-0.5-1.1-1.1-1.1c0,0,0,0,0,0h-2.7L238.8,107.8z\"\n })), _path80 || (_path80 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M108.2,363.7c0-0.6-0.5-1.1-1.1-1.1c-0.6,0-1.1,0.5-1.1,1.1v2.7h-2.7c-0.6,0.1-1.1,0.6-1,1.3c0.1,0.6,0.5,1,1,1 h2.7v2.7c0,0.6,0.5,1.1,1.1,1.1c0.6,0,1.1-0.5,1.1-1.1v-2.7h2.7c0.6-0.1,1.1-0.6,1-1.3c-0.1-0.6-0.5-1-1-1h-2.7L108.2,363.7z\"\n })), _path81 || (_path81 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M6.1,281c0-0.6-0.5-1.1-1.1-1.1c-0.6,0-1.1,0.5-1.1,1.1v2.7H1.1c-0.6-0.1-1.2,0.4-1.3,1c-0.1,0.6,0.4,1.2,1,1.3 c0.1,0,0.1,0,0.2,0h2.7v2.7c0,0.6,0.5,1.1,1.1,1.1c0.6,0,1.1-0.5,1.1-1.1v-2.7h2.7c0.6-0.1,1.1-0.6,1-1.3c-0.1-0.6-0.5-1-1-1H6.1 V281z\"\n })), _path82 || (_path82 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st33\",\n d: \"M282.8,276.6c16.2-8.6,20.3,10.1,14,25.6s-38.6,67.6-40.3,88.3c-0.6,8-2.1,7.1-3.4,1.5 C246.8,364,260.6,288.4,282.8,276.6z\"\n })), _path83 || (_path83 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st34\",\n d: \"M248.6,205.6c-18.6-16.7-30.1,6.7-26.9,29.2c3.2,22.6,28.7,102.1,24.1,130c-1.8,10.8,0.5,10.1,4,3.1 C267.4,333,274.1,228.6,248.6,205.6z\"\n })), _path84 || (_path84 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st35\",\n d: \"M245.4,372.6c0.4,1,1.3,0.5,2.5-1.2c19.3-64.4-10.8-160.6-10.9-160.9c-0.2-0.5-0.7-0.8-1.3-0.7 c-0.5,0.2-0.8,0.7-0.7,1.3C235.1,211.3,265.6,308.9,245.4,372.6z\"\n })), _path85 || (_path85 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st33\",\n d: \"M208.1,259.1c-18-7.8-20.8,12.5-12.8,28.5s46.8,68.9,50.3,90.8c1.4,8.5,2.9,7.4,3.8,1.3 C253.8,349.3,232.8,269.9,208.1,259.1z\"\n })), _polygon || (_polygon = /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st5\",\n points: \"233.4,372.6 267.9,372.6 276.9,380.7 269.5,409.1 250.6,409.1 231.7,409.1 224.4,380.7 \"\n })), _path86 || (_path86 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st7\",\n d: \"M224.4,362h52.6c1.6,0,2.9,1.3,2.9,2.9v13c0,1.6-1.3,2.9-2.9,2.9h-52.6c-1.6,0-2.9-1.3-2.9-2.9v-13 C221.5,363.3,222.8,362,224.4,362z\"\n })), _polygon2 || (_polygon2 = /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st8\",\n points: \"276.9,380.7 275.4,386.6 225.9,386.6 224.4,380.7 \"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgError404);\nexport default __webpack_public_path__ + \"static/media/error404.59d1f9fdba8996c7b96966e44ec51e9a.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useEffect, useState } from 'react';\nimport { Link } from 'react-router-dom'\nimport '../../assets/css/mainsite/textonImage.scss'\n\nconst ImageWithButton = ({ imageUrl, heading, subheading, fromHome, altText }) => {\n\n\n const [isVisible, setIsVisible] = useState(false);\n\n useEffect(() => {\n setIsVisible(true);\n }, []);\n\n return (\n
\n
\n

{subheading}

\n {fromHome && (\n <>\n

{heading}

\n
\n \n \n \n
\n \n )\n }\n
\n\n\n {/* Dark overlay */}\n
\n {altText}\n\n\n {/* Image */}\n\n
\n );\n};\n\nexport default ImageWithButton;\n","import React, { useEffect } from 'react'\nimport Error404 from '../../assets/images/error404.svg'\nimport image from '../../assets/images/cables.jpg'\nimport TextOnImage from '../shared/textOnImage'\nconst Error404Component = () => {\n\n useEffect(() => {\n document.title = '404 - Page Not Found';\n const metaRobots = document.createElement('meta');\n metaRobots.setAttribute('name', 'robots');\n metaRobots.content = 'noindex';\n document.head.appendChild(metaRobots);\n\n return () => {\n document.head.removeChild(metaRobots);\n };\n }, []);\n\n const subheading = (\n \n 404 Not Found\n \n )\n\n return (\n
\n \n\n
\n
\n \"404\n
\n\n
\n
\n )\n}\n\nexport default Error404Component","// THIS FILE IS AUTO GENERATED\nimport { GenIcon } from '../lib/index.mjs';\nexport function IoAccessibilityOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"56\",\"r\":\"40\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M204.23 274.44c2.9-18.06 4.2-35.52-.5-47.59-4-10.38-12.7-16.19-23.2-20.15L88 176.76c-12-4-23.21-10.7-24-23.94-1-17 14-28 29-24 0 0 88 31.14 163 31.14s162-31 162-31c18-5 30 9 30 23.79 0 14.21-11 19.21-24 23.94l-88 31.91c-8 3-21 9-26 18.18-6 10.75-5 29.53-2.1 47.59l5.9 29.63 37.41 163.9c2.8 13.15-6.3 25.44-19.4 27.74S308 489 304.12 476.28l-37.56-115.93q-2.71-8.34-4.8-16.87L256 320l-5.3 21.65q-2.52 10.35-5.8 20.48L208 476.18c-4 12.85-14.5 21.75-27.6 19.46s-22.4-15.59-19.46-27.74l37.39-163.83z\"},\"child\":[]}]})(props);\n};\nexport function IoAccessibilitySharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 112c-66.82 17.92-119.55 32-192 32s-125.18-14.08-192-32l-16 51c48 20.53 96.71 35.16 147.2 53.2L144 496l56.4 16L246 336h20l45.6 176 56.4-16-51.2-279.8C367.26 199.93 416 183.53 464 164zm-192 0a56 56 0 1 1 56-56 56.06 56.06 0 0 1-56 56z\"},\"child\":[]}]})(props);\n};\nexport function IoAccessibility (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 112a56 56 0 1 1 56-56 56.06 56.06 0 0 1-56 56z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"m432 112.8-.45.12-.42.13c-1 .28-2 .58-3 .89-18.61 5.46-108.93 30.92-172.56 30.92-59.13 0-141.28-22-167.56-29.47a73.79 73.79 0 0 0-8-2.58c-19-5-32 14.3-32 31.94 0 17.47 15.7 25.79 31.55 31.76v.28l95.22 29.74c9.73 3.73 12.33 7.54 13.6 10.84 4.13 10.59.83 31.56-.34 38.88l-5.8 45-32.19 176.19q-.15.72-.27 1.47l-.23 1.27c-2.32 16.15 9.54 31.82 32 31.82 19.6 0 28.25-13.53 32-31.94s28-157.57 42-157.57 42.84 157.57 42.84 157.57c3.75 18.41 12.4 31.94 32 31.94 22.52 0 34.38-15.74 32-31.94a57.17 57.17 0 0 0-.76-4.06L329 301.27l-5.79-45c-4.19-26.21-.82-34.87.32-36.9a1.09 1.09 0 0 0 .08-.15c1.08-2 6-6.48 17.48-10.79l89.28-31.21a16.9 16.9 0 0 0 1.62-.52c16-6 32-14.3 32-31.93S451 107.81 432 112.8z\"},\"child\":[]}]})(props);\n};\nexport function IoAddCircleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192 192-86 192-192z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M256 176v160m80-80H176\"},\"child\":[]}]})(props);\n};\nexport function IoAddCircleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm96 224h-80v80h-32v-80h-80v-32h80v-80h32v80h80z\"},\"child\":[]}]})(props);\n};\nexport function IoAddCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm80 224h-64v64a16 16 0 0 1-32 0v-64h-64a16 16 0 0 1 0-32h64v-64a16 16 0 0 1 32 0v64h64a16 16 0 0 1 0 32z\"},\"child\":[]}]})(props);\n};\nexport function IoAddOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M256 112v288m144-144H112\"},\"child\":[]}]})(props);\n};\nexport function IoAddSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M256 112v288m144-144H112\"},\"child\":[]}]})(props);\n};\nexport function IoAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M256 112v288m144-144H112\"},\"child\":[]}]})(props);\n};\nexport function IoAirplaneOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M407.72 224c-3.4 0-14.79.1-18 .3l-64.9 1.7a1.83 1.83 0 0 1-1.69-.9L193.55 67.56a9 9 0 0 0-6.66-3.56H160l73 161a2.35 2.35 0 0 1-2.26 3.35l-121.69 1.8a8.06 8.06 0 0 1-6.6-3.1l-37-45c-3-3.9-8.62-6-13.51-6H33.08c-1.29 0-1.1 1.21-.75 2.43l19.84 71.42a16.3 16.3 0 0 1 0 11.9L32.31 333c-.59 1.95-.52 3 1.77 3H52c8.14 0 9.25-1.06 13.41-6.3l37.7-45.7a8.19 8.19 0 0 1 6.6-3.1l120.68 2.7a2.7 2.7 0 0 1 2.43 3.74L160 448h26.64a9 9 0 0 0 6.65-3.55L323.14 287c.39-.6 2-.9 2.69-.9l63.9 1.7c3.3.2 14.59.3 18 .3C452 288.1 480 275.93 480 256s-27.88-32-72.28-32z\"},\"child\":[]}]})(props);\n};\nexport function IoAirplaneSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M407.72 208c-2.72 0-14.44.08-18.67.31l-57.77 1.52L198.06 48h-62.81l74.59 164.61-97.31 1.44L68.25 160H16.14l20.61 94.18c.15.54.33 1.07.53 1.59a.26.26 0 0 1 0 .15 15.42 15.42 0 0 0-.53 1.58L15.86 352h51.78l45.45-55 96.77 2.17L135.24 464h63l133-161.75 57.77 1.54c4.29.23 16 .31 18.66.31 24.35 0 44.27-3.34 59.21-9.94C492.22 283 496 265.46 496 256c0-30.06-33-48-88.28-48zm-71.29 87.9z\"},\"child\":[]}]})(props);\n};\nexport function IoAirplane (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M186.62 464H160a16 16 0 0 1-14.57-22.6l64.46-142.25L113.1 297l-35.3 42.77C71.07 348.23 65.7 352 52 352H34.08a17.66 17.66 0 0 1-14.7-7.06c-2.38-3.21-4.72-8.65-2.44-16.41l19.82-71c.15-.53.33-1.06.53-1.58a.38.38 0 0 0 0-.15 14.82 14.82 0 0 1-.53-1.59l-19.84-71.45c-2.15-7.61.2-12.93 2.56-16.06a16.83 16.83 0 0 1 13.6-6.7H52c10.23 0 20.16 4.59 26 12l34.57 42.05 97.32-1.44-64.44-142A16 16 0 0 1 160 48h26.91a25 25 0 0 1 19.35 9.8l125.05 152 57.77-1.52c4.23-.23 15.95-.31 18.66-.31C463 208 496 225.94 496 256c0 9.46-3.78 27-29.07 38.16-14.93 6.6-34.85 9.94-59.21 9.94-2.68 0-14.37-.08-18.66-.31l-57.76-1.54-125.36 152a25 25 0 0 1-19.32 9.75z\"},\"child\":[]}]})(props);\n};\nexport function IoAlarmOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M416.07 272a160 160 0 1 0-160 160 160 160 0 0 0 160-160zM142.12 91.21A46.67 46.67 0 0 0 112 80l-2.79.08C83.66 81.62 64 104 64.07 131c0 13.21 4.66 19.37 10.88 27.23a4.55 4.55 0 0 0 3.24 1.77h.88a3.23 3.23 0 0 0 2.54-1.31L142.38 99a5.38 5.38 0 0 0 1.55-4 5.26 5.26 0 0 0-1.81-3.79zm227.76 0A46.67 46.67 0 0 1 400 80l2.79.08C428.34 81.62 448 104 447.93 131c0 13.21-4.66 19.37-10.88 27.23a4.55 4.55 0 0 1-3.24 1.76h-.88a3.23 3.23 0 0 1-2.54-1.31L369.62 99a5.38 5.38 0 0 1-1.55-4 5.26 5.26 0 0 1 1.81-3.79z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M256.07 160v112h-80m240 160-40-40m-280 40 40-40\"},\"child\":[]}]})(props);\n};\nexport function IoAlarmSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m403.79 64.11-3.27-.1H400c-14.73 0-28.55 5.91-40.52 15S344 96 344 96l88 86s11.25-5.71 17.61-13.85 14.28-18.08 14.32-37.11c.07-35.49-26.33-64.89-60.14-66.93zm-295.58 0 3.27-.1h.52c14.73 0 28.55 5.91 40.52 15S168 96 168 96l-88 86s-11.25-5.71-17.61-13.85S48.11 150.07 48.07 131C48 95.55 74.4 66.15 108.21 64.11z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M391.3 384.6a.06.06 0 0 1 0-.08C425 344 441 288.24 427 229.23c-13.64-57.52-72.67-115.69-130.34-128.66C182 74.79 80.07 161.71 80.07 272a175.15 175.15 0 0 0 40.78 112.52.06.06 0 0 1 0 .08L73 432a.06.06 0 0 0 0 .08l23 22.51a.06.06 0 0 0 .08 0l47.43-47.37a.06.06 0 0 1 .08 0 175.64 175.64 0 0 0 225.05 0h.07L416 454.59a.06.06 0 0 0 .08 0L440 432zM272.07 288H160v-31.9l.05-.05h80V144h32z\"},\"child\":[]}]})(props);\n};\nexport function IoAlarm (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M153.59 110.46A21.41 21.41 0 0 0 152.48 79 62.67 62.67 0 0 0 112 64l-3.27.09h-.48C74.4 66.15 48 95.55 48.07 131c0 19 8 29.06 14.32 37.11a20.61 20.61 0 0 0 14.7 7.8c.26 0 .7.05 2 .05a19.06 19.06 0 0 0 13.75-5.89zm250.2-46.35-3.27-.1H400a62.67 62.67 0 0 0-40.52 15 21.41 21.41 0 0 0-1.11 31.44l60.77 59.65a19.06 19.06 0 0 0 13.79 5.9c1.28 0 1.72 0 2-.05a20.61 20.61 0 0 0 14.69-7.8c6.36-8.05 14.28-18.08 14.32-37.11.06-35.49-26.34-64.89-60.15-66.93z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M256.07 96c-97 0-176 78.95-176 176a175.23 175.23 0 0 0 40.81 112.56l-36.12 36.13a16 16 0 1 0 22.63 22.62l36.12-36.12a175.63 175.63 0 0 0 225.12 0l36.13 36.12a16 16 0 1 0 22.63-22.62l-36.13-36.13A175.17 175.17 0 0 0 432.07 272c0-97-78.95-176-176-176zm16 176a16 16 0 0 1-16 16h-80a16 16 0 0 1 0-32h64v-96a16 16 0 0 1 32 0z\"},\"child\":[]}]})(props);\n};\nexport function IoAlbumsOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"384\",\"height\":\"256\",\"x\":\"64\",\"y\":\"176\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"28.87\",\"ry\":\"28.87\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M144 80h224m-256 48h288\"},\"child\":[]}]})(props);\n};\nexport function IoAlbumsSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M128 64h256v32H128zm-32 48h320v32H96zm368 336H48V160h416z\"},\"child\":[]}]})(props);\n};\nexport function IoAlbums (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M368 96H144a16 16 0 0 1 0-32h224a16 16 0 0 1 0 32zm32 48H112a16 16 0 0 1 0-32h288a16 16 0 0 1 0 32zm19.13 304H92.87A44.92 44.92 0 0 1 48 403.13V204.87A44.92 44.92 0 0 1 92.87 160h326.26A44.92 44.92 0 0 1 464 204.87v198.26A44.92 44.92 0 0 1 419.13 448z\"},\"child\":[]}]})(props);\n};\nexport function IoAlertCircleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192 192-86 192-192z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M250.26 166.05 256 288l5.73-121.95a5.74 5.74 0 0 0-5.79-6h0a5.74 5.74 0 0 0-5.68 6z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M256 367.91a20 20 0 1 1 20-20 20 20 0 0 1-20 20z\"},\"child\":[]}]})(props);\n};\nexport function IoAlertCircleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M240 304h32l6-160h-44l6 160z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm20 319.91h-40v-40h40zM272 304h-32l-6-160h44z\"},\"child\":[]}]})(props);\n};\nexport function IoAlertCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm0 319.91a20 20 0 1 1 20-20 20 20 0 0 1-20 20zm21.72-201.15-5.74 122a16 16 0 0 1-32 0l-5.74-121.94v-.05a21.74 21.74 0 1 1 43.44 0z\"},\"child\":[]}]})(props);\n};\nexport function IoAlertOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M256 80c-8.66 0-16.58 7.36-16 16l8 216a8 8 0 0 0 8 8h0a8 8 0 0 0 8-8l8-216c.58-8.64-7.34-16-16-16z\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"416\",\"r\":\"16\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]}]})(props);\n};\nexport function IoAlertSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"m240 80 8 240h16l8-240h-32zm0 320h32v32h-32z\"},\"child\":[]}]})(props);\n};\nexport function IoAlert (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M256 80c-8.66 0-16.58 7.36-16 16l8 216a8 8 0 0 0 8 8h0a8 8 0 0 0 8-8l8-216c.58-8.64-7.34-16-16-16z\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"416\",\"r\":\"16\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]}]})(props);\n};\nexport function IoAmericanFootballOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"ellipse\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"267.57\",\"ry\":\"173.44\",\"transform\":\"rotate(-45 256 256.002)\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M334.04 177.96 177.96 334.04M278.3 278.3l-44.6-44.6m89.19 0-44.59-44.59m178.38 22.29L300.6 55.32m-89.2 401.36L55.32 300.6m178.38 22.29-44.59-44.59\"},\"child\":[]}]})(props);\n};\nexport function IoAmericanFootballSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M120.9 120.51c-44.75 44.56-67.29 101.05-78.64 145.9l202.31 201.44c45.05-11.3 101.78-33.74 146.53-78.3s67.29-101.05 78.64-145.91L267.43 42.21C222.38 53.51 165.65 76 120.9 120.51zm259 257.83zm-45-224.2 22.52 22.42-33.78 33.63 22.52 22.42L323.55 255 301 232.61 278.52 255 301 277.45l-22.51 22.42L256 277.45l-22.52 22.42L256 322.29l-22.52 22.42L211 322.29l-33.78 33.63-22.55-22.42 33.78-33.63-22.52-22.42L188.45 255 211 277.45 233.48 255 211 232.61l22.51-22.42L256 232.61l22.52-22.42L256 187.77l22.52-22.42L301 187.77zm143.58 44.27C485.85 143.65 464 48.05 464 48.05s-96.14-21.88-151.14-14.54c-2.54.33-5.21.72-8 1.14l172.47 171.71c.43-2.76.81-5.42 1.15-7.95zM33.52 311.65C26.15 366.41 48.05 464 48.05 464s60 16 99.86 16a391.92 391.92 0 0 0 51.23-3.45c2.54-.33 5.21-.72 8-1.15L34.67 303.7c-.43 2.76-.81 5.42-1.15 7.95z\"},\"child\":[]}]})(props);\n};\nexport function IoAmericanFootball (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M122.06 122.06c-44.37 44.37-66.71 100.61-78 145.28l200.6 200.56c44.67-11.25 100.91-33.59 145.28-78s66.71-100.61 78-145.28L267.34 44.1c-44.67 11.25-100.91 33.59-145.28 77.96zm256.73 256.72zM300.65 189 323 166.71A15.78 15.78 0 0 1 345.29 189L323 211.35l11.16 11.17a15.78 15.78 0 0 1-22.32 22.32l-11.16-11.16L278.32 256l11.16 11.16a15.78 15.78 0 1 1-22.32 22.32L256 278.32l-22.32 22.33 11.16 11.16a15.78 15.78 0 1 1-22.32 22.32L211.35 323 189 345.29A15.78 15.78 0 0 1 166.71 323L189 300.65l-11.16-11.17a15.78 15.78 0 0 1 22.32-22.32l11.16 11.16L233.68 256l-11.16-11.16a15.78 15.78 0 1 1 22.32-22.32L256 233.68l22.32-22.33-11.16-11.16a15.78 15.78 0 0 1 22.32-22.32zm175.92 10.63c7.31-54.53 4-120.26-20-144.21s-89.68-27.3-144.21-20c-2.51.34-5.16.72-7.91 1.15l171 171c.4-2.78.78-5.43 1.12-7.94zM35.43 312.37c-7.31 54.53-4 120.26 20 144.21C72.17 473.33 109.34 480 148.84 480a387 387 0 0 0 50.79-3.43c2.51-.34 5.16-.72 7.91-1.15l-171-171c-.39 2.79-.77 5.44-1.11 7.95z\"},\"child\":[]}]})(props);\n};\nexport function IoAnalyticsOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m344 280 88-88m-200 24 64 64M80 320l104-104\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"456\",\"cy\":\"168\",\"r\":\"24\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"320\",\"cy\":\"304\",\"r\":\"24\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"208\",\"cy\":\"192\",\"r\":\"24\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"56\",\"cy\":\"344\",\"r\":\"24\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]}]})(props);\n};\nexport function IoAnalyticsSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M450 128a46 46 0 0 0-44.11 59l-71.37 71.36a45.88 45.88 0 0 0-29 0l-52.91-52.91a46 46 0 1 0-89.12 0L75 293.88A46.08 46.08 0 1 0 106.11 325l87.37-87.36a45.85 45.85 0 0 0 29 0l52.92 52.92a46 46 0 1 0 89.12 0L437 218.12A46 46 0 1 0 450 128z\"},\"child\":[]}]})(props);\n};\nexport function IoAnalytics (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M456 128a40 40 0 0 0-37.23 54.6l-84.17 84.17a39.86 39.86 0 0 0-29.2 0l-60.17-60.17a40 40 0 1 0-74.46 0L70.6 306.77a40 40 0 1 0 22.63 22.63L193.4 229.23a39.86 39.86 0 0 0 29.2 0l60.17 60.17a40 40 0 1 0 74.46 0l84.17-84.17A40 40 0 1 0 456 128z\"},\"child\":[]}]})(props);\n};\nexport function IoApertureOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192 192-86 192-192z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M360 94.59V296m83.13-83.13L296 360m121.41 0H216m83.13 83.13-144-144M152 416V216m-83.13 83.13 144-144M94.59 152H288m-75.13-83.13L360 216\"},\"child\":[]}]})(props);\n};\nexport function IoApertureSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m216 48 129.49 128.18V48H216zm-34.53 10.38L80 134h176l-74.53-75.62zM336 344h128V216L336 344zm118-162L378 80v176l76-74zM48 166v128l128-128H48zm282 288 102-76H256l74 76zM58 330l76 102V256l-76 74zm287.49-107.88-55.55-55.46h-67.88l-55.55 55.46v67.76l55.62 55.52c.44 0 .88-.06 1.33-.06h66.48l55.55-55.46zM165.98 336.09 166 464h128L165.98 336.09z\"},\"child\":[]}]})(props);\n};\nexport function IoAperture (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m250.54 129.17-67.8-67.8A209.65 209.65 0 0 0 86.32 136h161.4a4 4 0 0 0 2.82-6.83zM167.72 168H67.63a207.34 207.34 0 0 0-16.15 125.9l119.06-119.07a4 4 0 0 0-2.82-6.83zm176.28-.28V67.56a207.82 207.82 0 0 0-125.89-16.08l119.06 119.06a4 4 0 0 0 6.83-2.82zm116.52 50.38L341.46 337.17a4 4 0 0 0 2.82 6.83h100.09a207.34 207.34 0 0 0 16.15-125.9zm-77.69 32.44 67.83-67.82A209.08 209.08 0 0 0 376 86.2v161.52a4 4 0 0 0 6.83 2.82zm-161.15 91.23a8 8 0 0 0 5.54 2.23h59.66a8 8 0 0 0 5.7-2.39l49.18-50a8 8 0 0 0 2.3-5.62l-.06-60.81a8 8 0 0 0-2.38-5.69l-50-49.25a8 8 0 0 0-5.63-2.3l-60.84.06a8 8 0 0 0-5.69 2.38l-49.25 50a8 8 0 0 0-2.3 5.63l.06 60.78a8 8 0 0 0 2.45 5.76zm39.78 41.06 67.8 67.8A209.65 209.65 0 0 0 425.68 376h-161.4a4 4 0 0 0-2.82 6.83zM168 344.28v100.16a207.82 207.82 0 0 0 125.89 16.08L174.83 341.46a4 4 0 0 0-6.83 2.82zm-38.83-82.82-67.83 67.83A209.1 209.1 0 0 0 136 425.8V264.28a4 4 0 0 0-6.83-2.82z\"},\"child\":[]}]})(props);\n};\nexport function IoAppsOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"80\",\"height\":\"80\",\"x\":\"64\",\"y\":\"64\",\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"rx\":\"40\",\"ry\":\"40\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"80\",\"height\":\"80\",\"x\":\"216\",\"y\":\"64\",\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"rx\":\"40\",\"ry\":\"40\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"80\",\"height\":\"80\",\"x\":\"368\",\"y\":\"64\",\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"rx\":\"40\",\"ry\":\"40\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"80\",\"height\":\"80\",\"x\":\"64\",\"y\":\"216\",\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"rx\":\"40\",\"ry\":\"40\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"80\",\"height\":\"80\",\"x\":\"216\",\"y\":\"216\",\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"rx\":\"40\",\"ry\":\"40\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"80\",\"height\":\"80\",\"x\":\"368\",\"y\":\"216\",\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"rx\":\"40\",\"ry\":\"40\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"80\",\"height\":\"80\",\"x\":\"64\",\"y\":\"368\",\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"rx\":\"40\",\"ry\":\"40\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"80\",\"height\":\"80\",\"x\":\"216\",\"y\":\"368\",\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"rx\":\"40\",\"ry\":\"40\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"80\",\"height\":\"80\",\"x\":\"368\",\"y\":\"368\",\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"rx\":\"40\",\"ry\":\"40\"},\"child\":[]}]})(props);\n};\nexport function IoAppsSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"112\",\"height\":\"112\",\"x\":\"48\",\"y\":\"48\",\"rx\":\"8\",\"ry\":\"8\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"112\",\"height\":\"112\",\"x\":\"200\",\"y\":\"48\",\"rx\":\"8\",\"ry\":\"8\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"112\",\"height\":\"112\",\"x\":\"352\",\"y\":\"48\",\"rx\":\"8\",\"ry\":\"8\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"112\",\"height\":\"112\",\"x\":\"48\",\"y\":\"200\",\"rx\":\"8\",\"ry\":\"8\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"112\",\"height\":\"112\",\"x\":\"200\",\"y\":\"200\",\"rx\":\"8\",\"ry\":\"8\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"112\",\"height\":\"112\",\"x\":\"352\",\"y\":\"200\",\"rx\":\"8\",\"ry\":\"8\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"112\",\"height\":\"112\",\"x\":\"48\",\"y\":\"352\",\"rx\":\"8\",\"ry\":\"8\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"112\",\"height\":\"112\",\"x\":\"200\",\"y\":\"352\",\"rx\":\"8\",\"ry\":\"8\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"112\",\"height\":\"112\",\"x\":\"352\",\"y\":\"352\",\"rx\":\"8\",\"ry\":\"8\"},\"child\":[]}]})(props);\n};\nexport function IoApps (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M104 160a56 56 0 1 1 56-56 56.06 56.06 0 0 1-56 56zm152 0a56 56 0 1 1 56-56 56.06 56.06 0 0 1-56 56zm152 0a56 56 0 1 1 56-56 56.06 56.06 0 0 1-56 56zM104 312a56 56 0 1 1 56-56 56.06 56.06 0 0 1-56 56zm152 0a56 56 0 1 1 56-56 56.06 56.06 0 0 1-56 56zm152 0a56 56 0 1 1 56-56 56.06 56.06 0 0 1-56 56zM104 464a56 56 0 1 1 56-56 56.06 56.06 0 0 1-56 56zm152 0a56 56 0 1 1 56-56 56.06 56.06 0 0 1-56 56zm152 0a56 56 0 1 1 56-56 56.06 56.06 0 0 1-56 56z\"},\"child\":[]}]})(props);\n};\nexport function IoArchiveOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M80 152v256a40.12 40.12 0 0 0 40 40h272a40.12 40.12 0 0 0 40-40V152\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"416\",\"height\":\"80\",\"x\":\"48\",\"y\":\"64\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"28\",\"ry\":\"28\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m320 304-64 64-64-64m64 41.89V224\"},\"child\":[]}]})(props);\n};\nexport function IoArchiveSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"448\",\"height\":\"80\",\"x\":\"32\",\"y\":\"48\",\"rx\":\"12\",\"ry\":\"12\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M64 160v280a24 24 0 0 0 24 24h336a24 24 0 0 0 24-24V160zm192 230.63L169.32 304 192 281.32l48 48.05V208h32v121.37l48.07-48.07 22.61 22.64z\"},\"child\":[]}]})(props);\n};\nexport function IoArchive (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M64 164v244a56 56 0 0 0 56 56h272a56 56 0 0 0 56-56V164a4 4 0 0 0-4-4H68a4 4 0 0 0-4 4zm267 151.63-63.69 63.68a16 16 0 0 1-22.62 0L181 315.63c-6.09-6.09-6.65-16-.85-22.38a16 16 0 0 1 23.16-.56L240 329.37V224.45c0-8.61 6.62-16 15.23-16.43A16 16 0 0 1 272 224v105.37l36.69-36.68a16 16 0 0 1 23.16.56c5.8 6.37 5.24 16.29-.85 22.38z\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"448\",\"height\":\"80\",\"x\":\"32\",\"y\":\"48\",\"rx\":\"32\",\"ry\":\"32\"},\"child\":[]}]})(props);\n};\nexport function IoArrowBackCircleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M249.38 336 170 256l79.38-80m-68.35 80H342\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192 192-86 192-192z\"},\"child\":[]}]})(props);\n};\nexport function IoArrowBackCircleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M48 256c0 114.87 93.13 208 208 208s208-93.13 208-208S370.87 48 256 48 48 141.13 48 256zm224-80.09L208.42 240H358v32H208.42L272 336.09l-22.7 22.54L147.46 256 249.3 153.37z\"},\"child\":[]}]})(props);\n};\nexport function IoArrowBackCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M48 256c0 114.87 93.13 208 208 208s208-93.13 208-208S370.87 48 256 48 48 141.13 48 256zm212.65-91.36a16 16 0 0 1 .09 22.63L208.42 240H342a16 16 0 0 1 0 32H208.42l52.32 52.73A16 16 0 1 1 238 347.27l-79.39-80a16 16 0 0 1 0-22.54l79.39-80a16 16 0 0 1 22.65-.09z\"},\"child\":[]}]})(props);\n};\nexport function IoArrowBackOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"48\",\"d\":\"M244 400 100 256l144-144M120 256h292\"},\"child\":[]}]})(props);\n};\nexport function IoArrowBackSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"48\",\"d\":\"M244 400 100 256l144-144M120 256h292\"},\"child\":[]}]})(props);\n};\nexport function IoArrowBack (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"48\",\"d\":\"M244 400 100 256l144-144M120 256h292\"},\"child\":[]}]})(props);\n};\nexport function IoArrowDownCircleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M176 262.62 256 342l80-79.38m-80 68.35V170\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M256 64C150 64 64 150 64 256s86 192 192 192 192-86 192-192S362 64 256 64z\"},\"child\":[]}]})(props);\n};\nexport function IoArrowDownCircleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 464c114.87 0 208-93.13 208-208S370.87 48 256 48 48 141.13 48 256s93.13 208 208 208zm-80.09-224L240 303.58V154h32v149.58L336.09 240l22.54 22.71L256 364.54 153.37 262.7z\"},\"child\":[]}]})(props);\n};\nexport function IoArrowDownCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 464c114.87 0 208-93.13 208-208S370.87 48 256 48 48 141.13 48 256s93.13 208 208 208zm-91.36-212.65a16 16 0 0 1 22.63-.09L240 303.58V170a16 16 0 0 1 32 0v133.58l52.73-52.32A16 16 0 1 1 347.27 274l-80 79.39a16 16 0 0 1-22.54 0l-80-79.39a16 16 0 0 1-.09-22.65z\"},\"child\":[]}]})(props);\n};\nexport function IoArrowDownOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"48\",\"d\":\"m112 268 144 144 144-144M256 392V100\"},\"child\":[]}]})(props);\n};\nexport function IoArrowDownSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"48\",\"d\":\"m112 268 144 144 144-144M256 392V100\"},\"child\":[]}]})(props);\n};\nexport function IoArrowDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"48\",\"d\":\"m112 268 144 144 144-144M256 392V100\"},\"child\":[]}]})(props);\n};\nexport function IoArrowForwardCircleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M262.62 336 342 256l-79.38-80m68.35 80H170\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M256 448c106 0 192-86 192-192S362 64 256 64 64 150 64 256s86 192 192 192z\"},\"child\":[]}]})(props);\n};\nexport function IoArrowForwardCircleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 256c0-114.87-93.13-208-208-208S48 141.13 48 256s93.13 208 208 208 208-93.13 208-208zm-224 80.09L303.58 272H154v-32h149.58L240 175.91l22.71-22.54L364.54 256 262.7 358.63z\"},\"child\":[]}]})(props);\n};\nexport function IoArrowForwardCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 256c0-114.87-93.13-208-208-208S48 141.13 48 256s93.13 208 208 208 208-93.13 208-208zm-212.65 91.36a16 16 0 0 1-.09-22.63L303.58 272H170a16 16 0 0 1 0-32h133.58l-52.32-52.73A16 16 0 1 1 274 164.73l79.39 80a16 16 0 0 1 0 22.54l-79.39 80a16 16 0 0 1-22.65.09z\"},\"child\":[]}]})(props);\n};\nexport function IoArrowForwardOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"48\",\"d\":\"m268 112 144 144-144 144m124-144H100\"},\"child\":[]}]})(props);\n};\nexport function IoArrowForwardSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"48\",\"d\":\"m268 112 144 144-144 144m124-144H100\"},\"child\":[]}]})(props);\n};\nexport function IoArrowForward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"48\",\"d\":\"m268 112 144 144-144 144m124-144H100\"},\"child\":[]}]})(props);\n};\nexport function IoArrowRedoCircleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M266.91 327.74v-37.32c-57.07 0-84.51 13.47-108.58 38.68-5.4 5.65-15 1.32-14.29-6.43 5.45-61.45 34.14-117.09 122.87-117.09v-37.32a8.32 8.32 0 0 1 14-6L365.42 242a8.2 8.2 0 0 1 0 11.94L281 333.71a8.32 8.32 0 0 1-14.09-5.97z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M64 256c0 106 86 192 192 192s192-86 192-192S362 64 256 64 64 150 64 256z\"},\"child\":[]}]})(props);\n};\nexport function IoArrowRedoCircleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M48 256c0 114.87 93.13 208 208 208s208-93.13 208-208S370.87 48 256 48 48 141.13 48 256zm98 88c0-68.13 22.67-137.14 119.17-137.14V152L366 248l-100.83 96v-54.86c-66.69 0-91.32 19.29-119.17 54.86z\"},\"child\":[]}]})(props);\n};\nexport function IoArrowRedoCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M48 256c0 114.87 93.13 208 208 208s208-93.13 208-208S370.87 48 256 48 48 141.13 48 256zm96 66.67c5.45-61.45 34.14-117.09 122.87-117.09v-37.32a8.32 8.32 0 0 1 14-6L365.42 242a8.2 8.2 0 0 1 0 11.94L281 333.71a8.32 8.32 0 0 1-14-6v-37.29c-57.07 0-84.51 13.47-108.58 38.68-5.49 5.65-15.07 1.32-14.42-6.43z\"},\"child\":[]}]})(props);\n};\nexport function IoArrowRedoOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M448 256 272 88v96C103.57 184 64 304.77 64 424c48.61-62.24 91.6-96 208-96v96z\"},\"child\":[]}]})(props);\n};\nexport function IoArrowRedoSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M48 399.26C48 335.19 62.44 284 90.91 247c34.38-44.67 88.68-68.77 161.56-71.75V72L464 252 252.47 432V329.35c-44.25 1.19-77.66 7.58-104.27 19.84-28.75 13.25-49.6 33.05-72.08 58.7L48 440z\"},\"child\":[]}]})(props);\n};\nexport function IoArrowRedo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M58.79 439.13A16 16 0 0 1 48 424c0-73.1 14.68-131.56 43.65-173.77 35-51 90.21-78.46 164.35-81.87V88a16 16 0 0 1 27.05-11.57l176 168a16 16 0 0 1 0 23.14l-176 168A16 16 0 0 1 256 424v-79.77c-45 1.36-79 8.65-106.07 22.64-29.25 15.12-50.46 37.71-73.32 67a16 16 0 0 1-17.82 5.28z\"},\"child\":[]}]})(props);\n};\nexport function IoArrowUndoCircleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M245.09 327.74v-37.32c57.07 0 84.51 13.47 108.58 38.68 5.4 5.65 15 1.32 14.29-6.43-5.45-61.45-34.14-117.09-122.87-117.09v-37.32a8.32 8.32 0 0 0-14.05-6L146.58 242a8.2 8.2 0 0 0 0 11.94L231 333.71a8.32 8.32 0 0 0 14.09-5.97z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M256 64C150 64 64 150 64 256s86 192 192 192 192-86 192-192S362 64 256 64z\"},\"child\":[]}]})(props);\n};\nexport function IoArrowUndoCircleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.13 48 48 141.13 48 256s93.13 208 208 208 208-93.13 208-208S370.87 48 256 48zm-9.17 241.14V344L146 248l100.83-96v54.86c96.5 0 119.17 69 119.17 137.14-27.85-35.57-52.48-54.86-119.17-54.86z\"},\"child\":[]}]})(props);\n};\nexport function IoArrowUndoCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.13 48 48 141.13 48 256s93.13 208 208 208 208-93.13 208-208S370.87 48 256 48zm97.67 281.1c-24.07-25.21-51.51-38.68-108.58-38.68v37.32a8.32 8.32 0 0 1-14.05 6L146.58 254a8.2 8.2 0 0 1 0-11.94L231 162.29a8.32 8.32 0 0 1 14.05 6v37.32c88.73 0 117.42 55.64 122.87 117.09.73 7.72-8.85 12.05-14.25 6.4z\"},\"child\":[]}]})(props);\n};\nexport function IoArrowUndoOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M240 424v-96c116.4 0 159.39 33.76 208 96 0-119.23-39.57-240-208-240V88L64 256z\"},\"child\":[]}]})(props);\n};\nexport function IoArrowUndoSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m464 440-28.12-32.11c-22.48-25.65-43.33-45.45-72.08-58.7-26.61-12.26-60-18.65-104.27-19.84V432L48 252 259.53 72v103.21c72.88 3 127.18 27.08 161.56 71.75C449.56 284 464 335.19 464 399.26z\"},\"child\":[]}]})(props);\n};\nexport function IoArrowUndo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 440a16 16 0 0 1-12.61-6.15c-22.86-29.27-44.07-51.86-73.32-67C335 352.88 301 345.59 256 344.23V424a16 16 0 0 1-27 11.57l-176-168a16 16 0 0 1 0-23.14l176-168A16 16 0 0 1 256 88v80.36c74.14 3.41 129.38 30.91 164.35 81.87C449.32 292.44 464 350.9 464 424a16 16 0 0 1-16 16z\"},\"child\":[]}]})(props);\n};\nexport function IoArrowUpCircleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M176 249.38 256 170l80 79.38m-80-68.35V342\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192 192-86 192-192z\"},\"child\":[]}]})(props);\n};\nexport function IoArrowUpCircleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.13 48 48 141.13 48 256s93.13 208 208 208 208-93.13 208-208S370.87 48 256 48zm80.09 224L272 208.42V358h-32V208.42L175.91 272l-22.54-22.7L256 147.46 358.63 249.3z\"},\"child\":[]}]})(props);\n};\nexport function IoArrowUpCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.13 48 48 141.13 48 256s93.13 208 208 208 208-93.13 208-208S370.87 48 256 48zm91.36 212.65a16 16 0 0 1-22.63.09L272 208.42V342a16 16 0 0 1-32 0V208.42l-52.73 52.32A16 16 0 1 1 164.73 238l80-79.39a16 16 0 0 1 22.54 0l80 79.39a16 16 0 0 1 .09 22.65z\"},\"child\":[]}]})(props);\n};\nexport function IoArrowUpOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"48\",\"d\":\"m112 244 144-144 144 144M256 120v292\"},\"child\":[]}]})(props);\n};\nexport function IoArrowUpSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"48\",\"d\":\"m112 244 144-144 144 144M256 120v292\"},\"child\":[]}]})(props);\n};\nexport function IoArrowUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"48\",\"d\":\"m112 244 144-144 144 144M256 120v292\"},\"child\":[]}]})(props);\n};\nexport function IoAtCircleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M448.08 256.08c0-106-86-192-192-192s-192 86-192 192 86 192 192 192 192-85.97 192-192z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"28\",\"d\":\"M300.81 358.29c-20.83 7.42-34.05 9.59-54.19 9.59-61.17 0-106.39-50.07-101-111.84S205 144.21 266.14 144.21c68.92 0 106.79 45.55 101.47 106.55-4 45.54-32.8 58.66-47.89 56-14.2-2.55-25.92-15.52-23.75-40.35l5.62-44.66c-7.58-9.17-28.11-18-49.93-14.54C231.77 210.3 209 228 206.56 256s14.49 50.84 39.93 50.84 47.86-18.39 50.69-50.84\"},\"child\":[]}]})(props);\n};\nexport function IoAtCircleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256.41 48.74c-114.85 0-208 93.11-208 208s93.12 208 208 208 208-93.12 208-208-93.16-208-208-208zM381.22 252c-2.85 32.63-16.78 49.7-28 58.26s-24.69 12.34-36.33 10.26a41.63 41.63 0 0 1-27-17.52 60.84 60.84 0 0 1-43.72 17.9 51.65 51.65 0 0 1-38.55-16.83c-11.39-12.42-17-30.36-15.33-49.23 3.05-35 30.92-57.39 56.87-61.48 27.21-4.29 52.24 6.54 62.91 19.46l3.84 4.66-6.34 50.38c-1.19 14.34 3.29 23.48 12.29 25.1 2.39.42 8.11-.13 14.38-4.93 6.72-5.15 15.14-16 17.1-38.47 2.32-26.55-4.35-49.19-19.28-65.49-15.5-16.9-39.1-25.84-68.24-25.84-54 0-101.81 44.43-106.57 99-2.29 26.2 5.66 50.68 22.39 68.93C198 344 221 353.88 246.29 353.88c19 0 30.61-2.05 49.49-8.78l13.22-4.69 9.39 26.37-13.19 4.7c-21.82 7.77-36.68 10.4-58.88 10.4-33.28 0-63.57-13.06-85.3-36.77-22.09-24.11-32.62-56.17-29.65-90.29 2.91-33.33 18.46-64.63 43.77-88.12s57.57-36.49 90.7-36.49c37.2 0 67.94 12.08 88.88 34.93 20.05 21.91 29.48 52.75 26.5 86.86z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M253.51 221c-14.83 2.33-31.55 15.84-33.34 36.26-1 11.06 2 21.22 8.08 27.87a23.63 23.63 0 0 0 17.91 7.75c19.7 0 33.8-14.79 36.8-38.59l1.75-13.89h.09l1.65-13.11a49.63 49.63 0 0 0-32.94-6.3z\"},\"child\":[]}]})(props);\n};\nexport function IoAtCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M255.46 48.74c-114.84 0-208 93.11-208 208s93.12 208 208 208 208-93.12 208-208-93.15-208-208-208zM380.28 252c-2.85 32.63-16.79 49.7-28 58.26S327.61 322.58 316 320.5a41.61 41.61 0 0 1-26.82-17.19 62.06 62.06 0 0 1-44 17.57 51.66 51.66 0 0 1-38.55-16.83c-11.38-12.42-17-30.36-15.32-49.23 3-35 30.91-57.39 56.87-61.48 27.2-4.29 52.23 6.54 62.9 19.46l3.85 4.66-6.34 50.38c-1.19 14.34 3.28 23.48 12.29 25.1 2.39.42 8.1-.13 14.37-4.93 6.72-5.15 15.14-16 17.1-38.47 2.35-26.54-4.35-49.19-19.25-65.49-15.49-16.9-39.09-25.84-68.23-25.84-54 0-101.81 44.43-106.58 99-2.28 26.2 5.67 50.68 22.4 68.93 16.36 17.86 39.31 27.74 64.66 27.74 19 0 30.61-2.05 49.48-8.78a14 14 0 0 1 9.4 26.38c-21.82 7.77-36.68 10.4-58.88 10.4-33.28 0-63.57-13.06-85.3-36.77C138 321 127.42 288.94 130.4 254.82c2.91-33.33 18.45-64.63 43.77-88.12s57.57-36.49 90.7-36.49c37.2 0 67.93 12.08 88.87 34.93 20.09 21.91 29.51 52.75 26.54 86.86z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M252.57 221c-14.83 2.33-31.56 15.84-33.34 36.26-1 11.06 2 21.22 8.07 27.87a23.65 23.65 0 0 0 17.91 7.75c20.31 0 34.73-14.94 36.75-38.06a14 14 0 0 1 .34-2.07l3.2-25.45a49.61 49.61 0 0 0-32.93-6.3z\"},\"child\":[]}]})(props);\n};\nexport function IoAtOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M320 254.27c-4.5 51-40.12 80-80.55 80s-67.34-35.82-63.45-80 37.12-80 77.55-80 70.33 36 66.45 80z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M319.77 415.77c-28.56 12-47.28 14.5-79.28 14.5-97.2 0-169-78.8-160.49-176s94.31-176 191.51-176C381 78.27 441.19 150 432.73 246c-6.31 71.67-52.11 92.32-76.09 88.07-22.56-4-41.18-24.42-37.74-63.5l8.48-96.25\"},\"child\":[]}]})(props);\n};\nexport function IoAtSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M407.6 115.78c-32.07-35-79.47-53.51-137.09-53.51-51 0-100.69 19.8-139.82 55.76s-63.13 83.84-67.63 134.83c-4.55 51.67 11.41 100.29 44.94 136.9 33.37 36.44 80.07 56.51 131.49 56.51 32.52 0 53.61-2.36 85.48-15.75l14.75-6.2-12.4-29.5-14.75 6.18c-27.15 11.4-43.78 13.25-73.08 13.25-42.34 0-80.65-16.38-107.89-46.12-27.4-29.92-40.42-69.86-36.66-112.48 7.84-89 86.6-161.4 175.57-161.4 48.4 0 87.65 14.91 113.49 43.13 24.61 26.87 35.6 63.92 31.79 107.15-3.29 37.35-17.76 55.74-29.32 64.6-11 8.44-22 10.18-28 9.11-17.68-3.13-26.87-20.46-24.59-46.29l9.93-109.12L311.9 160l-2 22.29a79.69 79.69 0 0 0-57.32-24c-23.8 0-46.54 10.07-64 28.37-16.77 17.53-27.23 41.05-29.45 66.22-2.45 27.87 5.75 54.34 22.51 72.64a76.14 76.14 0 0 0 56.88 24.77A93 93 0 0 0 310 318a60 60 0 0 0 42.88 31.81c16.89 3 36.73-2.69 53.08-15.21 30.19-23.13 39.36-60.19 41.74-87.2 4.52-51.7-9.7-98.4-40.1-131.62zm-126.34 186a62.19 62.19 0 0 1-42.81 16.53 43.94 43.94 0 0 1-33.28-14.38c-10.71-11.7-15.9-29.27-14.23-48.22 3.23-36.68 30.29-65.4 61.61-65.4a48.16 48.16 0 0 1 35.88 15.82c10.87 11.87 16.2 28.87 14.63 46.73-1.78 20.28-9.33 37.14-21.8 48.88z\"},\"child\":[]}]})(props);\n};\nexport function IoAt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M320 254.27c-4.5 51-40.12 80-80.55 80s-67.34-35.82-63.45-80 37.12-80 77.55-80 70.33 36 66.45 80z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M319.77 415.77c-28.56 12-47.28 14.5-79.28 14.5-97.2 0-169-78.8-160.49-176s94.31-176 191.51-176C381 78.27 441.19 150 432.73 246c-6.31 71.67-52.11 92.32-76.09 88.07-22.56-4-41.18-24.42-37.74-63.5l8.48-96.25\"},\"child\":[]}]})(props);\n};\nexport function IoAttachOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M216.08 192v143.85a40.08 40.08 0 0 0 80.15 0l.13-188.55a67.94 67.94 0 1 0-135.87 0v189.82a95.51 95.51 0 1 0 191 0V159.74\"},\"child\":[]}]})(props);\n};\nexport function IoAttachSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M216.08 192v143.55a40.08 40.08 0 0 0 80.15 0l.13-188.55a67.94 67.94 0 1 0-135.87 0v189.82a95.51 95.51 0 0 0 191 0V159.44\"},\"child\":[]}]})(props);\n};\nexport function IoAttach (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M216.08 192v143.85a40.08 40.08 0 0 0 80.15 0l.13-188.55a67.94 67.94 0 1 0-135.87 0v189.82a95.51 95.51 0 1 0 191 0V159.74\"},\"child\":[]}]})(props);\n};\nexport function IoBackspaceOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M135.19 390.14a28.79 28.79 0 0 0 21.68 9.86h246.26A29 29 0 0 0 432 371.13V140.87A29 29 0 0 0 403.13 112H156.87a28.84 28.84 0 0 0-21.67 9.84L46.33 256l88.86 134.11z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M336.67 192.33 206.66 322.34m130.01 0L206.66 192.33m130.01 0L206.66 322.34m130.01 0L206.66 192.33\"},\"child\":[]}]})(props);\n};\nexport function IoBackspaceSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M144 96 32 256l112 160h304V96zm215.3 226.34L336.67 345l-65-65-65 65L184 322.34l65-65-65-65 22.63-22.63 65 65 65-65 22.63 22.63-65 65z\"},\"child\":[]}]})(props);\n};\nexport function IoBackspace (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M403.13 96H156.87a44.9 44.9 0 0 0-33.68 15.27 15.88 15.88 0 0 0-1.91 2.7L32 247.75a16 16 0 0 0 0 16.5l89.15 133.57a16.24 16.24 0 0 0 2 2.88 44.89 44.89 0 0 0 33.7 15.3h246.28A44.92 44.92 0 0 0 448 371.13V140.87A44.92 44.92 0 0 0 403.13 96zM348 311a16 16 0 1 1-22.63 22.62L271.67 280 218 333.65A16 16 0 0 1 195.35 311L249 257.33l-53.69-53.69A16 16 0 0 1 218 181l53.69 53.7 53.67-53.7A16 16 0 0 1 348 203.64l-53.7 53.69z\"},\"child\":[]}]})(props);\n};\nexport function IoBagAddOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M256 256v128m64-64H192M80 176a16 16 0 0 0-16 16v216c0 30.24 25.76 56 56 56h272c30.24 0 56-24.51 56-54.75V192a16 16 0 0 0-16-16zm80 0v-32a96 96 0 0 1 96-96h0a96 96 0 0 1 96 96v32\"},\"child\":[]}]})(props);\n};\nexport function IoBagAddSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M460 160h-88v-12A116.13 116.13 0 0 0 258.89 32h-5.78A116.13 116.13 0 0 0 140 148v12H52a4 4 0 0 0-4 4v300a16 16 0 0 0 16 16h384a16 16 0 0 0 16-16V164a4 4 0 0 0-4-4zm-280-11c0-41.84 33.41-76.56 75.25-77A76.08 76.08 0 0 1 332 148v12H180zm156 187h-64v64h-32v-64h-64v-32h64v-64h32v64h64z\"},\"child\":[]}]})(props);\n};\nexport function IoBagAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M454.66 169.4A31.86 31.86 0 0 0 432 160h-64v-16a112 112 0 0 0-224 0v16H80a32 32 0 0 0-32 32v216c0 39 33 72 72 72h272a72.22 72.22 0 0 0 50.48-20.55 69.48 69.48 0 0 0 21.52-50.2V192a31.78 31.78 0 0 0-9.34-22.6zM320 336h-48v48a16 16 0 0 1-32 0v-48h-48a16 16 0 0 1 0-32h48v-48a16 16 0 0 1 32 0v48h48a16 16 0 0 1 0 32zm16-176H176v-16a80 80 0 0 1 160 0z\"},\"child\":[]}]})(props);\n};\nexport function IoBagCheckOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m320 264-89.6 112-38.4-44.88\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M80 176a16 16 0 0 0-16 16v216c0 30.24 25.76 56 56 56h272c30.24 0 56-24.51 56-54.75V192a16 16 0 0 0-16-16zm80 0v-32a96 96 0 0 1 96-96h0a96 96 0 0 1 96 96v32\"},\"child\":[]}]})(props);\n};\nexport function IoBagCheckSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M460 160h-88v-12A116.13 116.13 0 0 0 258.89 32h-5.78A116.13 116.13 0 0 0 140 148v12H52a4 4 0 0 0-4 4v300a16 16 0 0 0 16 16h384a16 16 0 0 0 16-16V164a4 4 0 0 0-4-4zm-280-11c0-41.84 33.41-76.56 75.25-77A76.08 76.08 0 0 1 332 148v12H180zm50.81 252.12-61.37-71.72 24.31-20.81L230 350.91l87.51-109.4 25 20z\"},\"child\":[]}]})(props);\n};\nexport function IoBagCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M454.65 169.4A31.82 31.82 0 0 0 432 160h-64v-16a112 112 0 0 0-224 0v16H80a32 32 0 0 0-32 32v216c0 39 33 72 72 72h272a72.22 72.22 0 0 0 50.48-20.55 69.48 69.48 0 0 0 21.52-50.2V192a31.75 31.75 0 0 0-9.35-22.6zM332.49 274l-89.6 112a16 16 0 0 1-12.23 6h-.26a16 16 0 0 1-12.16-5.6l-38.4-44.88a16 16 0 1 1 24.32-20.8L230 350.91 307.51 254a16 16 0 0 1 25 20zM336 160H176v-16a80 80 0 0 1 160 0z\"},\"child\":[]}]})(props);\n};\nexport function IoBagHandleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M80 176a16 16 0 0 0-16 16v216c0 30.24 25.76 56 56 56h272c30.24 0 56-24.51 56-54.75V192a16 16 0 0 0-16-16zm80 0v-32a96 96 0 0 1 96-96h0a96 96 0 0 1 96 96v32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M160 224v16a96 96 0 0 0 96 96h0a96 96 0 0 0 96-96v-16\"},\"child\":[]}]})(props);\n};\nexport function IoBagHandleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M460 160h-88v-12A116.13 116.13 0 0 0 258.89 32h-5.78A116.13 116.13 0 0 0 140 148v12H52a4 4 0 0 0-4 4v300a16 16 0 0 0 16 16h384a16 16 0 0 0 16-16V164a4 4 0 0 0-4-4zm-280-11c0-41.84 33.41-76.56 75.25-77A76.08 76.08 0 0 1 332 148v12H180zm188 91a112 112 0 0 1-224 0v-32h32v32a80 80 0 0 0 160 0v-32h32z\"},\"child\":[]}]})(props);\n};\nexport function IoBagHandle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M454.65 169.4A31.82 31.82 0 0 0 432 160h-64v-16a112 112 0 0 0-224 0v16H80a32 32 0 0 0-32 32v216c0 39 33 72 72 72h272a72.22 72.22 0 0 0 50.48-20.55 69.48 69.48 0 0 0 21.52-50.2V192a31.75 31.75 0 0 0-9.35-22.6zM176 144a80 80 0 0 1 160 0v16H176zm192 96a112 112 0 0 1-224 0v-16a16 16 0 0 1 32 0v16a80 80 0 0 0 160 0v-16a16 16 0 0 1 32 0z\"},\"child\":[]}]})(props);\n};\nexport function IoBagOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M80 176a16 16 0 0 0-16 16v216c0 30.24 25.76 56 56 56h272c30.24 0 56-24.51 56-54.75V192a16 16 0 0 0-16-16zm80 0v-32a96 96 0 0 1 96-96h0a96 96 0 0 1 96 96v32\"},\"child\":[]}]})(props);\n};\nexport function IoBagRemoveOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M320 320H192M80 176a16 16 0 0 0-16 16v216c0 30.24 25.76 56 56 56h272c30.24 0 56-24.51 56-54.75V192a16 16 0 0 0-16-16zm80 0v-32a96 96 0 0 1 96-96h0a96 96 0 0 1 96 96v32\"},\"child\":[]}]})(props);\n};\nexport function IoBagRemoveSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M460 160h-88v-12A116.13 116.13 0 0 0 258.89 32h-5.78A116.13 116.13 0 0 0 140 148v12H52a4 4 0 0 0-4 4v300a16 16 0 0 0 16 16h384a16 16 0 0 0 16-16V164a4 4 0 0 0-4-4zm-280-11c0-41.84 33.41-76.56 75.25-77A76.08 76.08 0 0 1 332 148v12H180zm156 187H176v-32h160z\"},\"child\":[]}]})(props);\n};\nexport function IoBagRemove (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M454.66 169.4A31.86 31.86 0 0 0 432 160h-64v-16a112 112 0 0 0-224 0v16H80a32 32 0 0 0-32 32v216c0 39 33 72 72 72h272a72.22 72.22 0 0 0 50.48-20.55 69.48 69.48 0 0 0 21.52-50.2V192a31.78 31.78 0 0 0-9.34-22.6zM320 336H192a16 16 0 0 1 0-32h128a16 16 0 0 1 0 32zm16-176H176v-16a80 80 0 0 1 160 0z\"},\"child\":[]}]})(props);\n};\nexport function IoBagSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M372 160v-12A116.13 116.13 0 0 0 258.89 32h-5.78A116.13 116.13 0 0 0 140 148v12H52a4 4 0 0 0-4 4v300a16 16 0 0 0 16 16h384a16 16 0 0 0 16-16V164a4 4 0 0 0-4-4zm-40 0H180v-11c0-41.84 33.41-76.56 75.25-77A76.08 76.08 0 0 1 332 148z\"},\"child\":[]}]})(props);\n};\nexport function IoBag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M454.65 169.4A31.82 31.82 0 0 0 432 160h-64v-16a112 112 0 0 0-224 0v16H80a32 32 0 0 0-32 32v216c0 39 33 72 72 72h272a72.22 72.22 0 0 0 50.48-20.55 69.48 69.48 0 0 0 21.52-50.2V192a31.75 31.75 0 0 0-9.35-22.6zM176 144a80 80 0 0 1 160 0v16H176z\"},\"child\":[]}]})(props);\n};\nexport function IoBalloonOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M414.11 153.82C429.66 264.4 345.85 357.09 282.54 366s-169.48-57.5-185-167.68a159.82 159.82 0 1 1 316.53-44.49z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M236.06 308.05c-32.83-13-67.08-43.1-82.27-85.46M367.7 495.78c-32.83-13-63.31-40.06-78.5-82.41\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m266.71 368.21-9.17 49.61 63.31-8.9-22.49-45.16-31.65 4.45z\"},\"child\":[]}]})(props);\n};\nexport function IoBalloonSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M391 307.27c32.75-46.35 46.59-101.63 39-155.68C416.47 55.59 327.38-11.54 231.38 2S68.24 104.53 81.73 200.53c7.57 53.89 36.12 103.16 80.37 138.74 26.91 21.64 57.59 36.1 86.05 41.33l-8.36 45.23a8 8 0 0 0 9 9.38L279 431c15.9 35.87 41.65 60.48 78.41 75l14.88 5.88 11.77-29.75-14.88-5.89c-26.35-10.42-44.48-26.16-57-49.92l21.84-3.07a8 8 0 0 0 6.05-11.49l-20.49-41.16c25.98-12.87 51.49-35.18 71.42-63.33zm-160.82 15.66c-41.26-16.32-76.3-52.7-91.45-94.94l-5.4-15.06 30.12-10.8 5.4 15.06c14.5 40.44 47.27 65.77 73.1 76l14.88 5.88-11.77 29.76z\"},\"child\":[]}]})(props);\n};\nexport function IoBalloon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M391 307.27c32.75-46.35 46.59-101.63 39-155.68A175.82 175.82 0 0 0 231.38 2c-96 13.49-163.14 102.58-149.65 198.58 7.57 53.89 36.12 103.16 80.37 138.74 24.58 19.68 52.31 33.5 78.62 39.68a8 8 0 0 1 6 9.22l-4.87 26.38a16.29 16.29 0 0 0 1.48 10.57 16 16 0 0 0 14.2 8.61 15.21 15.21 0 0 0 2.23-.16l17.81-2.5a2 2 0 0 1 2.09 1.14c16.72 36.31 45.46 63.85 82.15 78.36a16 16 0 0 0 21-9.65c2.83-8.18-1.64-17.07-9.68-20.28a118.57 118.57 0 0 1-59.3-51.88 2 2 0 0 1 1.45-3l7.4-1a16.54 16.54 0 0 0 10.08-5.23 16 16 0 0 0 2.39-17.8l-12.06-24.23a8 8 0 0 1 3.26-10.55c23.59-13.17 46.45-34 64.65-59.73zm-154.9 16.78a16 16 0 0 1-5.88-1.12c-41.26-16.32-76.3-52.7-91.45-94.94a16 16 0 1 1 30.12-10.8c14.5 40.44 47.27 65.77 73.1 76a16 16 0 0 1-5.89 30.88z\"},\"child\":[]}]})(props);\n};\nexport function IoBanOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"r\":\"208\",\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"m108.92 108.92 294.16 294.16\"},\"child\":[]}]})(props);\n};\nexport function IoBanSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M414.39 97.61A224 224 0 1 0 97.61 414.39 224 224 0 1 0 414.39 97.61zM432 256a175.09 175.09 0 0 1-35.8 106.26L149.74 115.8A175.09 175.09 0 0 1 256 80c97.05 0 176 79 176 176zm-352 0a175.09 175.09 0 0 1 35.8-106.26L362.26 396.2A175.09 175.09 0 0 1 256 432c-97 0-176-78.95-176-176z\"},\"child\":[]}]})(props);\n};\nexport function IoBan (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"r\":\"200\",\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"48\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"48\",\"d\":\"m114.58 114.58 282.84 282.84\"},\"child\":[]}]})(props);\n};\nexport function IoBandageOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"560.87\",\"height\":\"176.25\",\"x\":\"-24.43\",\"y\":\"167.88\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"88.12\",\"ry\":\"88.12\",\"transform\":\"rotate(-45 256 256.002)\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"176\",\"height\":\"196\",\"x\":\"169.41\",\"y\":\"156.59\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"32\",\"ry\":\"32\",\"transform\":\"rotate(45 257.409 254.582)\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"208\",\"r\":\"16\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"304\",\"cy\":\"256\",\"r\":\"16\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"208\",\"cy\":\"256\",\"r\":\"16\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"304\",\"r\":\"16\"},\"child\":[]}]})(props);\n};\nexport function IoBandageSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M27.71 337.1a40 40 0 0 0 0 56.54l90.65 90.65a40 40 0 0 0 56.54 0l75.1-75.1L102.81 262zM496 147.1a39.87 39.87 0 0 0-11.75-28.38l-91-91a40.14 40.14 0 0 0-56.75 0L264 100.28 411.72 248l72.53-72.53A39.85 39.85 0 0 0 496 147.1zM273.06 386.19l116-116L241.77 123l-116 116zm19.63-141.5a16 16 0 1 1 0 22.62 16 16 0 0 1 0-22.62zm-48-48a16 16 0 1 1 0 22.62 16 16 0 0 1 0-22.62zm0 96a16 16 0 1 1 0 22.62 16 16 0 0 1 0-22.62zm-25.38-48a16 16 0 1 1-22.62 0 16 16 0 0 1 22.62 0z\"},\"child\":[]}]})(props);\n};\nexport function IoBandage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M275.8 157a16 16 0 0 0-22.63 0l-93.34 93.34a16 16 0 0 0 0 22.63l79.2 79.2a16 16 0 0 0 22.63 0L355 258.83a16 16 0 0 0 0-22.63zM137.21 295.6a47.81 47.81 0 0 1-9.43-13.38L69 341a72.2 72.2 0 0 0 0 102 72.37 72.37 0 0 0 102 0l58.77-58.76a47.81 47.81 0 0 1-13.38-9.43zM392 48a71.55 71.55 0 0 0-51 21l-55.92 55.91a48.05 48.05 0 0 1 13.36 9.45l79.19 79.19a48.05 48.05 0 0 1 9.45 13.36L443 171a72 72 0 0 0-51-123z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M275.8 157a16 16 0 0 0-22.63 0l-93.34 93.34a16 16 0 0 0 0 22.63l79.2 79.2a16 16 0 0 0 22.63 0L355 258.83a16 16 0 0 0 0-22.63zm-56.49 110.31a16 16 0 1 1 0-22.62 16 16 0 0 1 0 22.62zm48 48a16 16 0 1 1 0-22.62 16 16 0 0 1 0 22.62zm0-96a16 16 0 1 1 0-22.62 16 16 0 0 1 0 22.62zm48 48a16 16 0 1 1 0-22.62 16 16 0 0 1 0 22.62zm150.3-220.92a104.38 104.38 0 0 0-147.25 0l-69.76 69.89a4 4 0 0 0 4.2 6.58 35.74 35.74 0 0 1 11.69-2.54 47.7 47.7 0 0 1 33.94 14.06l79.19 79.19a47.7 47.7 0 0 1 14.06 33.94 35.68 35.68 0 0 1-2.54 11.69 4 4 0 0 0 6.58 4.2l69.89-69.76a104.38 104.38 0 0 0 0-147.25z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M254.34 386.83a47.91 47.91 0 0 1-33.94-14l-79.19-79.23a47.81 47.81 0 0 1-9.43-13.38c-4.59-9.7-1.39-25 2.48-36.9a4 4 0 0 0-6.64-4l-77.23 77.04a104.12 104.12 0 0 0 147.25 147.25l72.75-72.88a4 4 0 0 0-4.21-6.58c-4.18 1.58-8.4 2.68-11.84 2.68z\"},\"child\":[]}]})(props);\n};\nexport function IoBarChartOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M32 32v432a16 16 0 0 0 16 16h432\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"80\",\"height\":\"192\",\"x\":\"96\",\"y\":\"224\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"20\",\"ry\":\"20\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"80\",\"height\":\"240\",\"x\":\"240\",\"y\":\"176\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"20\",\"ry\":\"20\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"80\",\"height\":\"304\",\"x\":\"383.64\",\"y\":\"112\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"20\",\"ry\":\"20\"},\"child\":[]}]})(props);\n};\nexport function IoBarChartSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496 496H16V16h32v448h448v32z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M192 432H80V208h112zm144 0H224V160h112zm143.64 0h-112V96h112z\"},\"child\":[]}]})(props);\n};\nexport function IoBarChart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M480 496H48a32 32 0 0 1-32-32V32a16 16 0 0 1 32 0v432h432a16 16 0 0 1 0 32z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M156 432h-40a36 36 0 0 1-36-36V244a36 36 0 0 1 36-36h40a36 36 0 0 1 36 36v152a36 36 0 0 1-36 36zm144 0h-40a36 36 0 0 1-36-36V196a36 36 0 0 1 36-36h40a36 36 0 0 1 36 36v200a36 36 0 0 1-36 36zm143.64 0h-40a36 36 0 0 1-36-36V132a36 36 0 0 1 36-36h40a36 36 0 0 1 36 36v264a36 36 0 0 1-36 36z\"},\"child\":[]}]})(props);\n};\nexport function IoBarbellOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M48 256h416\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"32\",\"height\":\"256\",\"x\":\"384\",\"y\":\"128\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"16\",\"ry\":\"16\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"32\",\"height\":\"256\",\"x\":\"96\",\"y\":\"128\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"16\",\"ry\":\"16\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"16\",\"height\":\"128\",\"x\":\"32\",\"y\":\"192\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"8\",\"ry\":\"8\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"16\",\"height\":\"128\",\"x\":\"464\",\"y\":\"192\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"8\",\"ry\":\"8\"},\"child\":[]}]})(props);\n};\nexport function IoBarbellSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496 176h-58v-64h-76v122H150V112H74v64H16v160h58v64h76V278h212v122h76v-64h58V176z\"},\"child\":[]}]})(props);\n};\nexport function IoBarbell (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M467 176a29.94 29.94 0 0 0-25.32 12.5 2 2 0 0 1-3.64-1.14v-36.65c0-20.75-16.34-38.21-37.08-38.7A38 38 0 0 0 362 150v82a2 2 0 0 1-2 2H152a2 2 0 0 1-2-2v-81.29c0-20.75-16.34-38.21-37.08-38.7A38 38 0 0 0 74 150v37.38a2 2 0 0 1-3.64 1.14A29.94 29.94 0 0 0 45 176c-16.3.51-29 14.31-29 30.62v98.72c0 16.31 12.74 30.11 29 30.62a29.94 29.94 0 0 0 25.32-12.5 2 2 0 0 1 3.68 1.16v36.67C74 382 90.34 399.5 111.08 400A38 38 0 0 0 150 362v-82a2 2 0 0 1 2-2h208a2 2 0 0 1 2 2v81.29c0 20.75 16.34 38.21 37.08 38.7A38 38 0 0 0 438 362v-37.38a2 2 0 0 1 3.64-1.14A29.94 29.94 0 0 0 467 336c16.3-.51 29-14.31 29-30.62v-98.74c0-16.31-12.74-30.11-29-30.64z\"},\"child\":[]}]})(props);\n};\nexport function IoBarcodeOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m384 400.33 35.13-.33A29 29 0 0 0 448 371.13V140.87A29 29 0 0 0 419.13 112l-35.13.33M128 112l-36.8.33c-15.88 0-27.2 13-27.2 28.87v230.27c0 15.87 11.32 28.86 27.2 28.86L128 400m256-208v128m-64-160v192m-64-176v160m-64-176v192m-64-160v128\"},\"child\":[]}]})(props);\n};\nexport function IoBarcodeSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m400 400.33 48-.33V112l-48 .33M112 112l-48 .33v288l48-.33m272-208v128m-64-160v192m-64-176v160m-64-176v192m-64-160v128\"},\"child\":[]}]})(props);\n};\nexport function IoBarcode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M419.13 96H419l-35.05.33L128 96h-.16l-36.74.33C66.93 96.38 48 116.07 48 141.2v230.27c0 25.15 19 44.86 43.2 44.86h.15l36.71-.33 255.92.33h.17l35.07-.33A44.91 44.91 0 0 0 464 371.13V140.87A44.92 44.92 0 0 0 419.13 96zM144 320a16 16 0 0 1-32 0V192a16 16 0 0 1 32 0zm64 32a16 16 0 0 1-32 0V160a16 16 0 0 1 32 0zm64-16a16 16 0 0 1-32 0V176a16 16 0 0 1 32 0zm64 16a16 16 0 0 1-32 0V160a16 16 0 0 1 32 0zm64-32a16 16 0 0 1-32 0V192a16 16 0 0 1 32 0z\"},\"child\":[]}]})(props);\n};\nexport function IoBaseballOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m294.25 108.6-60.57 17.59m83.45 29.92-51.5 36.4m90.26 2.36-36.4 51.5m83.91-28.62-17.59 60.57\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"r\":\"192\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M432.94 255.05a192 192 0 0 1-176.31-180.7M108.54 294.31l17.59-60.57m29.92 83.45 36.4-51.5m2.36 90.26 51.5-36.4m-28.62 83.91 60.57-17.59M255 433.61A192 192 0 0 0 74.29 256.69\"},\"child\":[]}]})(props);\n};\nexport function IoBaseballSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M302.16 56.2a13.88 13.88 0 0 1-3.42 8.91l-.11 5.13-27.71-.57c0 1.3.09 2.61.16 3.91a177.33 177.33 0 0 0 3.45 26.31l24.72-7.18 7.81 26.88-24.71 7.18a177.21 177.21 0 0 0 13.34 27.69l21.27-15 16.16 22.86-21.29 15.05q5.25 6.33 11.11 12.19c3.91 3.91 8 7.6 12.2 11.1l15.71-22.22 22.86 16.16L358 216.75a178.78 178.78 0 0 0 27.68 13.32l7.49-25.8 26.89 7.81-7.5 25.83a177.8 177.8 0 0 0 31 3.67l-.41-24.67 17.41-.29A208 208 0 0 0 301.82 52.93a13.65 13.65 0 0 1 .34 3.27zM214 441.64l27.91.49a177.46 177.46 0 0 0-3.62-29.95l-24.14 7-7.81-26.88 24.11-7a177.92 177.92 0 0 0-13.33-27.68L196.79 372l-16.16-22.86L201 334.73c-3.49-4.22-7.19-8.3-11.09-12.2s-8-7.62-12.19-11.12l-13.91 19.68L141 314.93l13.9-19.66a177.26 177.26 0 0 0-27.7-13.33l-6.37 21.94-26.89-7.81 6.38-22a177.32 177.32 0 0 0-26.32-3.4c-1.59-.09-3.18-.16-4.78-.2l.4 22.34-17.71.32a207.88 207.88 0 0 0 161.81 166.48z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"m444.65 302.67-.55-33.06a206 206 0 0 1-39.33-4.74L397 291.8l-26.94-7.8 7.83-27a206.91 206.91 0 0 1-36.06-17.35l-16.36 23.15-22.86-16.16 16.33-23.11a204.21 204.21 0 0 1-30-30l-22.19 15.67-16.16-22.87 22.17-15.67a206 206 0 0 1-17.38-36.06l-25.75 7.48-7.81-26.89 25.73-7.47q-2-9.21-3.18-18.64h-.47l-.78-14-.33-6-17.94-.32a13.38 13.38 0 0 1-1.79-.16l-6.35-.13.06-2.47a14 14 0 0 1-5.66-11.49 13.27 13.27 0 0 1 .13-1.67A208 208 0 0 0 52.16 217.43l16.1-.28.45 25.18 6.83.38 14 .77v.48q9.42 1.17 18.64 3.18l6.68-23L141.7 232l-6.7 23a205.3 205.3 0 0 1 36.06 17.38l14.53-20.56L208.47 268 194 288.5a203.5 203.5 0 0 1 30 30l21.3-15 16.16 22.86-21.36 15.05a206.86 206.86 0 0 1 17.34 36.06l25.27-7.33 7.81 26.86-25.24 7.33a205.9 205.9 0 0 1 4.72 38.3l29.42.53-.29 16.48a207.94 207.94 0 0 0 160-157.21z\"},\"child\":[]}]})(props);\n};\nexport function IoBaseball (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m444 295.67-.47-26.07a205.42 205.42 0 0 1-39.27-4.73l-5 17.35a14 14 0 1 1-26.88-7.81l5-17.38a206.47 206.47 0 0 1-36.05-17.35l-10.44 14.77a14 14 0 0 1-22.87-16.16l10.41-14.73a204.8 204.8 0 0 1-30-30L273.71 204a14 14 0 0 1-16.16-22.87l14.74-10.42a205.3 205.3 0 0 1-17.38-36.06l-17.32 5a14 14 0 1 1-7.81-26.89l17.3-5a205.88 205.88 0 0 1-4.43-32.59q-.17-3-.24-6l-18.22-.33a14 14 0 0 1-13.74-14A208 208 0 0 0 55 202.42a16 16 0 0 1 15 15.66l.44 24.43c1.58.05 3.16.11 4.73.2a205.88 205.88 0 0 1 32.59 4.43l5-17.3a14 14 0 0 1 26.89 7.81l-5 17.32a205.21 205.21 0 0 1 36 17.38L181 257.61a14 14 0 0 1 22.87 16.16l-10.39 14.73a205.65 205.65 0 0 1 15.79 14.23 203.79 203.79 0 0 1 14.23 15.79l14.73-10.41A14 14 0 0 1 254.39 331l-14.76 10.43A206.86 206.86 0 0 1 257 377.47l17.38-5.05a14 14 0 0 1 7.81 26.89l-17.35 5a205.89 205.89 0 0 1 4.7 38.28l18.27.33a16 16 0 0 1 15.71 16.28 11.69 11.69 0 0 1-.08 1.19 208 208 0 0 0 153.39-151.03A14 14 0 0 1 444 295.67z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M301.49 56.2A14 14 0 0 1 287.5 70h-.25l-16.81-.3c.05 1.31.1 2.62.17 3.93a178.83 178.83 0 0 0 3.44 26.31l16.29-4.74a14 14 0 0 1 7.81 26.8l-16.27 4.73a178.06 178.06 0 0 0 13.33 27.69l13.84-9.78a14 14 0 1 1 16.16 22.87l-13.86 9.79q5.25 6.33 11.12 12.19c3.9 3.91 8 7.6 12.2 11.1l9.78-13.84A14 14 0 1 1 367.32 203l-9.76 13.8a178.83 178.83 0 0 0 27.68 13.33l4.76-16.28a14 14 0 0 1 26.89 7.81l-4.73 16.26a177.72 177.72 0 0 0 30.95 3.65l-.16-9a14 14 0 0 1 13.75-14.24h.25a14.67 14.67 0 0 1 2.59.25 208 208 0 0 0-158-163.51c-.06.4-.04.76-.05 1.13zm-93.05 401.35a16 16 0 0 1 16.28-15.71l16.76.29a178.49 178.49 0 0 0-3.62-29.95l-16.26 4.72a14 14 0 1 1-7.81-26.9l16.21-4.7a177.92 177.92 0 0 0-13.33-27.68l-13.8 9.76a14 14 0 1 1-16.16-22.87l13.84-9.78c-3.5-4.22-7.19-8.3-11.1-12.2s-8-7.62-12.19-11.12l-9.79 13.86a14 14 0 1 1-22.87-16.16l9.78-13.84a177.16 177.16 0 0 0-27.69-13.33L122 298.21a14 14 0 1 1-26.9-7.81l4.73-16.29a177.32 177.32 0 0 0-26.31-3.44c-.89-.05-1.79-.08-2.68-.12l.16 10.59a16 16 0 0 1-15.71 16.28H55a16 16 0 0 1-3.94-.51 208 208 0 0 0 157.65 163.87 15.72 15.72 0 0 1-.27-3.23z\"},\"child\":[]}]})(props);\n};\nexport function IoBasketOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M68.4 192A20.38 20.38 0 0 0 48 212.2a17.87 17.87 0 0 0 .8 5.5L100.5 400a40.46 40.46 0 0 0 39.1 29.5h232.8a40.88 40.88 0 0 0 39.3-29.5l51.7-182.3.6-5.5a20.38 20.38 0 0 0-20.4-20.2H68.4zm193.32 160.07A42.07 42.07 0 1 1 304 310a42.27 42.27 0 0 1-42.28 42.07z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m160 192 96-128 96 128\"},\"child\":[]}]})(props);\n};\nexport function IoBasketSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M339.2 217.6 256 106.67 172.8 217.6l-25.6-19.2 96-128a16 16 0 0 1 25.6 0l96 128z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M441.59 192H70.41a12 12 0 0 0-11.68 14.77L112.59 434h286.82l53.86-227.23A12 12 0 0 0 441.59 192zM256 351.66A37.71 37.71 0 1 1 293.89 314 37.88 37.88 0 0 1 256 351.66z\"},\"child\":[]}]})(props);\n};\nexport function IoBasket (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M424.11 192H360L268.8 70.4a16 16 0 0 0-25.6 0L152 192H87.89a32.57 32.57 0 0 0-32.62 32.44 30.3 30.3 0 0 0 1.31 9l46.27 163.14a50.72 50.72 0 0 0 48.84 36.91h208.62a51.21 51.21 0 0 0 49-36.86l46.33-163.36a15.62 15.62 0 0 0 .46-2.36l.53-4.93a13.3 13.3 0 0 0 .09-1.55A32.57 32.57 0 0 0 424.11 192zM256 106.67 320 192H192zm0 245a37.7 37.7 0 1 1 37.88-37.7A37.87 37.87 0 0 1 256 351.63z\"},\"child\":[]}]})(props);\n};\nexport function IoBasketballOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"r\":\"192\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M432.94 255.05a192 192 0 0 1-176.31-180.7M255 433.61A192 192 0 0 0 74.29 256.69m45.95-136.45 271.52 271.52m-271.52 0 271.52-271.52\"},\"child\":[]}]})(props);\n};\nexport function IoBasketballSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m256 233.37 34.45-34.45a207.08 207.08 0 0 1-50.12-135.25c0-5 .19-10.05.54-15A207.09 207.09 0 0 0 120.67 98zm57.14-57.14L391.33 98A207.07 207.07 0 0 0 273 48.8c-.41 4.9-.64 9.86-.64 14.87a175.25 175.25 0 0 0 40.78 112.56zm22.63 22.63a175.25 175.25 0 0 0 112.56 40.81c5 0 10-.23 14.87-.64A207.07 207.07 0 0 0 414 120.67zM176.23 313.14a175.23 175.23 0 0 0-112.56-40.81q-7.52 0-14.87.64A207.07 207.07 0 0 0 98 391.33zM256 278.63l-34.45 34.45a207.08 207.08 0 0 1 50.12 135.25c0 5-.19 10.05-.54 15A207.06 207.06 0 0 0 391.33 414zm192.33-6.96a207.08 207.08 0 0 1-135.25-50.12L278.63 256 414 391.33a207.09 207.09 0 0 0 49.39-120.2c-5.01.35-10.02.54-15.06.54zM233.37 256 98 120.67a207.06 207.06 0 0 0-49.39 120.2c5-.35 10-.54 15-.54a207.08 207.08 0 0 1 135.25 50.12zm-112.7 158A207.07 207.07 0 0 0 239 463.2q.63-7.35.64-14.87a175.23 175.23 0 0 0-40.81-112.56z\"},\"child\":[]}]})(props);\n};\nexport function IoBasketball (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m256 233.37 34.45-34.45a207.08 207.08 0 0 1-50.12-135.25c0-5 .19-10.05.54-15A207.09 207.09 0 0 0 120.67 98zm57.14-57.14L391.33 98A207.07 207.07 0 0 0 273 48.8c-.41 4.9-.64 9.86-.64 14.87a175.25 175.25 0 0 0 40.78 112.56zm22.63 22.63a175.25 175.25 0 0 0 112.56 40.81c5 0 10-.23 14.87-.64A207.07 207.07 0 0 0 414 120.67zM176.23 313.14a175.23 175.23 0 0 0-112.56-40.81q-7.52 0-14.87.64A207.07 207.07 0 0 0 98 391.33zM256 278.63l-34.45 34.45a207.08 207.08 0 0 1 50.12 135.25c0 5-.19 10.05-.54 15A207.06 207.06 0 0 0 391.33 414zm192.33-6.96a207.08 207.08 0 0 1-135.25-50.12L278.63 256 414 391.33a207.09 207.09 0 0 0 49.39-120.2c-5.01.35-10.02.54-15.06.54zM233.37 256 98 120.67a207.06 207.06 0 0 0-49.39 120.2c5-.35 10-.54 15-.54a207.08 207.08 0 0 1 135.25 50.12zm-112.7 158A207.07 207.07 0 0 0 239 463.2q.63-7.35.64-14.87a175.23 175.23 0 0 0-40.81-112.56z\"},\"child\":[]}]})(props);\n};\nexport function IoBatteryChargingOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M48 322.3V189.7A29.74 29.74 0 0 1 77.7 160h137.44l24.4-32H77.7A61.77 61.77 0 0 0 16 189.7v132.6A61.77 61.77 0 0 0 77.7 384h96.85a22.57 22.57 0 0 1 .26-7.32l.15-.75.21-.73 6.5-23.2H77.7A29.74 29.74 0 0 1 48 322.3zM386.3 128h-98.64a22.69 22.69 0 0 1-.27 7.2l-.15.74-.21.73-6.54 23.33H386.3a29.74 29.74 0 0 1 29.7 29.7v132.6a29.74 29.74 0 0 1-29.7 29.7H247l-24.42 32H386.3a61.77 61.77 0 0 0 61.7-61.7V189.7a61.77 61.77 0 0 0-61.7-61.7z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M162.65 294.16a24.37 24.37 0 0 1-21.56-13 25 25 0 0 1 1.42-25.83l.31-.46.33-.44L197.62 183H89.69a20 20 0 0 0-20 20v106a20 20 0 0 0 20 20h98.42l9.78-34.86z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"m276.07 280.89 27.07-35.49a5.2 5.2 0 0 0 .77-1.91 5 5 0 0 0 .08-.66 5 5 0 0 0-.08-1.29 5.11 5.11 0 0 0-.68-1.75 4.76 4.76 0 0 0-.78-.95 3.48 3.48 0 0 0-.48-.38 4 4 0 0 0-1.11-.55 4.28 4.28 0 0 0-1.31-.2h-61.62l12.12-43.21 3.23-11.5 6.21-22.16.51-1.84 7.79-27.76a3.51 3.51 0 0 0 .05-.55v-.16c0-.05 0-.26-.05-.38s0-.09 0-.14a2.2 2.2 0 0 0-.17-.45 3.77 3.77 0 0 0-.26-.39l-.09-.1a2.73 2.73 0 0 0-.25-.23l-.1-.08a3.14 3.14 0 0 0-.39-.24 2 2 0 0 0-.41-.14h-.59a2.3 2.3 0 0 0-.45 0 1.9 1.9 0 0 0-.42.15l-.13.07-.3.21-.11.1a2.4 2.4 0 0 0-.36.41l-18 23.63-13.14 17.22-9.85 12.83-63.71 83.55a5.72 5.72 0 0 0-.44.8 4.78 4.78 0 0 0-.35 1.09 4.7 4.7 0 0 0-.08 1.29 4.86 4.86 0 0 0 2 3.71 4.74 4.74 0 0 0 .54.31 4.31 4.31 0 0 0 1.89.43h61.62L194.42 380.6a3.64 3.64 0 0 0 0 .56v.15a2.32 2.32 0 0 0 .06.38.58.58 0 0 0 0 .14 2.2 2.2 0 0 0 .17.45 3.62 3.62 0 0 0 .26.38l.09.1.25.24a.39.39 0 0 1 .1.08 2.22 2.22 0 0 0 .39.23 2.83 2.83 0 0 0 .41.14h.13a1.86 1.86 0 0 0 .33 0h.13a2.32 2.32 0 0 0 .45-.06 2.05 2.05 0 0 0 .41-.16l.13-.07.3-.21.11-.09a2.4 2.4 0 0 0 .36-.41L221.82 352l17.53-23z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"m319.5 256.93-.46.6L264.51 329h109.8a20 20 0 0 0 20-20V203a20 20 0 0 0-20-20H274.05l-9.74 34.73h35.24A24.35 24.35 0 0 1 321 230.5a25.21 25.21 0 0 1-1 25.79zM480 202.67a16 16 0 0 0-16 16v74.66a16 16 0 0 0 32 0v-74.66a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function IoBatteryChargingSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M306.68 237.62h-66.5l15.33-54.7 6.43-22.92 3.94-14 4.29-15.33a3.56 3.56 0 0 0 .06-.44v-.19a1.85 1.85 0 0 0 0-.23 2 2 0 0 0 0-.24v-.14c0-.1-.07-.19-.11-.29v-.05a2.33 2.33 0 0 0-2-1.35h-.1a2.25 2.25 0 0 0-1.8 1l-12.5 17.15-18.82 25.55-8.36 11.48-35.41 48.6L160 274.26h66.44l-30 107a3.93 3.93 0 0 0-.06.48v.1a1.94 1.94 0 0 0 0 .34.29.29 0 0 0 0 .09 3 3 0 0 0 .07.32v.06a1.83 1.83 0 0 0 .14.32 2.38 2.38 0 0 0 1.52 1.16h.57a2.1 2.1 0 0 0 1.31-.5l.06-.05a2.6 2.6 0 0 0 .42-.45L223.3 352l13-17.82z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"m289.78 134.55-.14.74-.21.73-6.72 24H417V352H248.05l-23.33 32H449V128H290.13a22.62 22.62 0 0 1-.35 6.55zM49 160h169.49l23.31-32H17v256h159.49a22.73 22.73 0 0 1 .34-6.67l.15-.75.2-.73 6.69-23.85H49z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M264.76 329.08h130.55V182.92H276.28l-9.73 34.7H346l-23.16 31.78-58.08 79.68zM160 294.26h-39.31l23.15-31.78 57.95-79.56H70.69v146.16h119.6l9.77-34.82H160zm305-91.59h32v106.67h-32z\"},\"child\":[]}]})(props);\n};\nexport function IoBatteryCharging (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M48 322.3V189.7A29.74 29.74 0 0 1 77.7 160h137.44l24.4-32H77.7A61.77 61.77 0 0 0 16 189.7v132.6A61.77 61.77 0 0 0 77.7 384h96.85a22.57 22.57 0 0 1 .26-7.32l.15-.75.21-.73 6.5-23.2H77.7A29.74 29.74 0 0 1 48 322.3zM386.3 128h-98.64a22.69 22.69 0 0 1-.27 7.2l-.15.74-.21.73-6.54 23.33H386.3a29.74 29.74 0 0 1 29.7 29.7v132.6a29.74 29.74 0 0 1-29.7 29.7H247l-24.42 32H386.3a61.77 61.77 0 0 0 61.7-61.7V189.7a61.77 61.77 0 0 0-61.7-61.7z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M162.65 294.16a24.37 24.37 0 0 1-21.56-13 25 25 0 0 1 1.42-25.83l.31-.46.33-.44L197.62 183H89.69a20 20 0 0 0-20 20v106a20 20 0 0 0 20 20h98.42l9.78-34.86z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"m276.07 280.89 27.07-35.49a5.2 5.2 0 0 0 .77-1.91 5 5 0 0 0 .08-.66 5 5 0 0 0-.08-1.29 5.11 5.11 0 0 0-.68-1.75 4.76 4.76 0 0 0-.78-.95 3.48 3.48 0 0 0-.48-.38 4 4 0 0 0-1.11-.55 4.28 4.28 0 0 0-1.31-.2h-61.62l12.12-43.21 3.23-11.5 6.21-22.16.51-1.84 7.79-27.76a3.51 3.51 0 0 0 .05-.55v-.16c0-.05 0-.26-.05-.38s0-.09 0-.14a2.2 2.2 0 0 0-.17-.45 3.77 3.77 0 0 0-.26-.39l-.09-.1a2.73 2.73 0 0 0-.25-.23l-.1-.08a3.14 3.14 0 0 0-.39-.24 2 2 0 0 0-.41-.14h-.59a2.3 2.3 0 0 0-.45 0 1.9 1.9 0 0 0-.42.15l-.13.07-.3.21-.11.1a2.4 2.4 0 0 0-.36.41l-18 23.63-13.14 17.22-9.85 12.83-63.71 83.55a5.72 5.72 0 0 0-.44.8 4.78 4.78 0 0 0-.35 1.09 4.7 4.7 0 0 0-.08 1.29 4.86 4.86 0 0 0 2 3.71 4.74 4.74 0 0 0 .54.31 4.31 4.31 0 0 0 1.89.43h61.62L194.42 380.6a3.64 3.64 0 0 0 0 .56v.15a2.32 2.32 0 0 0 .06.38.58.58 0 0 0 0 .14 2.2 2.2 0 0 0 .17.45 3.62 3.62 0 0 0 .26.38l.09.1.25.24a.39.39 0 0 1 .1.08 2.22 2.22 0 0 0 .39.23 2.83 2.83 0 0 0 .41.14h.13a1.86 1.86 0 0 0 .33 0h.13a2.32 2.32 0 0 0 .45-.06 2.05 2.05 0 0 0 .41-.16l.13-.07.3-.21.11-.09a2.4 2.4 0 0 0 .36-.41L221.82 352l17.53-23z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"m319.5 256.93-.46.6L264.51 329h109.8a20 20 0 0 0 20-20V203a20 20 0 0 0-20-20H274.05l-9.74 34.73h35.24A24.35 24.35 0 0 1 321 230.5a25.21 25.21 0 0 1-1 25.79zM480 202.67a16 16 0 0 0-16 16v74.66a16 16 0 0 0 32 0v-74.66a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function IoBatteryDeadOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"400\",\"height\":\"224\",\"x\":\"31\",\"y\":\"144\",\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"rx\":\"45.7\",\"ry\":\"45.7\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M479 218.67v74.66\"},\"child\":[]}]})(props);\n};\nexport function IoBatteryDeadSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M32 144h400v224H32zm448 74.67v74.66\"},\"child\":[]}]})(props);\n};\nexport function IoBatteryDead (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"400\",\"height\":\"224\",\"x\":\"31\",\"y\":\"144\",\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"rx\":\"45.7\",\"ry\":\"45.7\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M479 218.67v74.66\"},\"child\":[]}]})(props);\n};\nexport function IoBatteryFullOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"400\",\"height\":\"224\",\"x\":\"32\",\"y\":\"144\",\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"rx\":\"45.7\",\"ry\":\"45.7\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"292.63\",\"height\":\"114.14\",\"x\":\"85.69\",\"y\":\"198.93\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"rx\":\"4\",\"ry\":\"4\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M480 218.67v74.66\"},\"child\":[]}]})(props);\n};\nexport function IoBatteryFullSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17 384h432V128H17zm32-224h368v192H49z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M70.69 182.94h324.63v146.13H70.69zM465 202.67h32v106.67h-32z\"},\"child\":[]}]})(props);\n};\nexport function IoBatteryFull (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"400\",\"height\":\"224\",\"x\":\"32\",\"y\":\"144\",\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"rx\":\"45.7\",\"ry\":\"45.7\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"292.63\",\"height\":\"114.14\",\"x\":\"85.69\",\"y\":\"198.93\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"rx\":\"4\",\"ry\":\"4\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M480 218.67v74.66\"},\"child\":[]}]})(props);\n};\nexport function IoBatteryHalfOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"400\",\"height\":\"224\",\"x\":\"32\",\"y\":\"144\",\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"rx\":\"45.7\",\"ry\":\"45.7\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"154.31\",\"height\":\"114.13\",\"x\":\"85.69\",\"y\":\"198.93\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"rx\":\"4\",\"ry\":\"4\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M480 218.67v74.66\"},\"child\":[]}]})(props);\n};\nexport function IoBatteryHalfSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17 384h432V128H17zm32-224h368v192H49z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M70.69 182.92H256v146.16H70.69zM465 202.67h32v106.67h-32z\"},\"child\":[]}]})(props);\n};\nexport function IoBatteryHalf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"400\",\"height\":\"224\",\"x\":\"32\",\"y\":\"144\",\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"rx\":\"45.7\",\"ry\":\"45.7\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"154.31\",\"height\":\"114.13\",\"x\":\"85.69\",\"y\":\"198.93\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"rx\":\"4\",\"ry\":\"4\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M480 218.67v74.66\"},\"child\":[]}]})(props);\n};\nexport function IoBeakerOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M445.2 48.05 398 48H128c-54.3 0-64 35.7-64 48 30.3 4.2 48 8 48 40v264a64 64 0 0 0 64 64h192a64 64 0 0 0 64-64V96c0-19 11.5-38.35 12.6-40 1.2-1.9 3.4-4.4 3.4-5.5s-.3-2.45-2.8-2.45zM112 176h320\"},\"child\":[]}]})(props);\n};\nexport function IoBeakerSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M453.55 54.7 464 32H128.4c-27.74 0-49 6.57-63.31 19.51C54.39 61.27 48 74.89 48 88v24h16c31 0 32 16.79 32 35v313a20 20 0 0 0 20 20h312a20 20 0 0 0 20-20V96c0-17.16 2.28-34.14 5.55-41.3zM416 96v64H128v-22c0-36.15-21-51-41.77-53.46C89 70 105.7 64.05 128.4 64.05h289.92A221.83 221.83 0 0 0 416 96z\"},\"child\":[]}]})(props);\n};\nexport function IoBeaker (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M444 32H128c-19.38 0-45.9 4.34-64.11 24.77C52.17 69.92 48 85.66 48 96a16 16 0 0 0 13.8 15.85C91.7 116 96 117.79 96 136v264a80.07 80.07 0 0 0 80 80h192a80.11 80.11 0 0 0 80-80V96c0-12.55 7.46-27.25 10-31.36l.1-.14c.22-.35.5-.72.78-1.1 2-2.79 5.09-7 5.09-12.95C464 39.79 454.89 32 444 32zM84.11 83.08c5.24-8.87 17.17-19 44.29-19h294.43C419.3 72.87 416 84.27 416 96v64H128v-24c0-37.32-21.35-48.14-43.89-52.92z\"},\"child\":[]}]})(props);\n};\nexport function IoBedOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M384 240H96V136a40.12 40.12 0 0 1 40-40h240a40.12 40.12 0 0 1 40 40v104zM48 416V304a64.19 64.19 0 0 1 64-64h288a64.19 64.19 0 0 1 64 64v112\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M48 416v-8a24.07 24.07 0 0 1 24-24h368a24.07 24.07 0 0 1 24 24v8M112 240v-16a32.09 32.09 0 0 1 32-32h80a32.09 32.09 0 0 1 32 32v16m0 0v-16a32.09 32.09 0 0 1 32-32h80a32.09 32.09 0 0 1 32 32v16\"},\"child\":[]}]})(props);\n};\nexport function IoBedSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M432 224V96a16 16 0 0 0-16-16H96a16 16 0 0 0-16 16v128a48 48 0 0 0-48 48v160h36v-32h376v32h36V272a48 48 0 0 0-48-48zm-192 0H120v-32a16 16 0 0 1 16-16h88a16 16 0 0 1 16 16zm32-32a16 16 0 0 1 16-16h88a16 16 0 0 1 16 16v32H272z\"},\"child\":[]}]})(props);\n};\nexport function IoBed (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M432 230.7a79.44 79.44 0 0 0-32-6.7H112a79.51 79.51 0 0 0-32 6.69A80.09 80.09 0 0 0 32 304v112a16 16 0 0 0 32 0v-8a8.1 8.1 0 0 1 8-8h368a8.1 8.1 0 0 1 8 8v8a16 16 0 0 0 32 0V304a80.09 80.09 0 0 0-48-73.3zM376 80H136a56 56 0 0 0-56 56v72a4 4 0 0 0 5.11 3.84A95.5 95.5 0 0 1 112 208h4.23a4 4 0 0 0 4-3.55A32 32 0 0 1 152 176h56a32 32 0 0 1 31.8 28.45 4 4 0 0 0 4 3.55h24.46a4 4 0 0 0 4-3.55A32 32 0 0 1 304 176h56a32 32 0 0 1 31.8 28.45 4 4 0 0 0 4 3.55h4.2a95.51 95.51 0 0 1 26.89 3.85A4 4 0 0 0 432 208v-72a56 56 0 0 0-56-56z\"},\"child\":[]}]})(props);\n};\nexport function IoBeerOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M352 200v240a40.12 40.12 0 0 1-40 40H136a40.12 40.12 0 0 1-40-40V224\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M352 224h40a56.16 56.16 0 0 1 56 56v80a56.16 56.16 0 0 1-56 56h-40\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M224 256v160m64-160v160M160 256v160m160-304a48 48 0 0 1 0 96c-13.25 0-29.31-7.31-38-16H160c-8 22-27 32-48 32a48 48 0 0 1 0-96 47.91 47.91 0 0 1 26 9\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M91.86 132.43a40 40 0 1 1 60.46-52S160 91 160 96m-14.17-31.29C163.22 44.89 187.57 32 216 32c52.38 0 94 42.84 94 95.21a95 95 0 0 1-1.67 17.79\"},\"child\":[]}]})(props);\n};\nexport function IoBeerSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 208h-80v-5.74A63.93 63.93 0 0 0 321.65 96a111 111 0 0 0-27.59-47.29A108.62 108.62 0 0 0 216 16c-29.91 0-57.78 12.28-79 34.67a56 56 0 0 0-67.51 77.51c-1 .86-1.91 1.74-2.83 2.66A63.56 63.56 0 0 0 48 176.26a62.65 62.65 0 0 0 20.77 46.54A65 65 0 0 0 80 231v249a16 16 0 0 0 16 16h256a16 16 0 0 0 16-16v-48h80a16 16 0 0 0 16-16V224a16 16 0 0 0-16-16zM176 432h-32V240h32zm64 0h-32V240h32zm64 0h-32V240h32zm16-240c-8.33 0-20.55-5.18-26.69-11.31l-4.68-4.69H148.79L145 186.53c-5.81 16-18.83 20.41-28.73 21.29a34.08 34.08 0 0 1-25.91-8.67 31 31 0 0 1-10.32-23 31.8 31.8 0 0 1 9.33-22.71c.16-.17.33-.32.5-.49A31.78 31.78 0 0 1 112 144c.09 0 9.12.34 16.4 5.8l12.8 9.6 19.2-25.6-12.8-9.6A63.69 63.69 0 0 0 112 112a64.79 64.79 0 0 0-14 1.55 24 24 0 0 1 41.4-23.68l.23.35.4.46a35.78 35.78 0 0 1 5 8.94l5.62 15 30-11.24-5.62-15a68.2 68.2 0 0 0-10-17.74c-.38-.52-.79-1-1.19-1.51C178.38 55.45 196.64 48 216 48a76.86 76.86 0 0 1 55.23 23.18A80.2 80.2 0 0 1 292.61 142l-3 15.72 31.43 6 3-15.72a111.78 111.78 0 0 0 1.96-19.43 32 32 0 0 1-6 63.43zm112 208h-64V240h64z\"},\"child\":[]}]})(props);\n};\nexport function IoBeer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M392 208h-24v-5.74A63.93 63.93 0 0 0 321.65 96a111 111 0 0 0-27.59-47.29A108.62 108.62 0 0 0 216 16c-29.91 0-57.78 12.28-79 34.68a56 56 0 0 0-67.51 77.54A63.91 63.91 0 0 0 80 231.39V440a56.06 56.06 0 0 0 56 56h176a56.06 56.06 0 0 0 56-56v-8h24a72.08 72.08 0 0 0 72-72v-80a72.08 72.08 0 0 0-72-72zM176 416a16 16 0 0 1-32 0V256a16 16 0 0 1 32 0zm64 0a16 16 0 0 1-32 0V256a16 16 0 0 1 32 0zm64 0a16 16 0 0 1-32 0V256a16 16 0 0 1 32 0zm16-224c-8.33 0-20.55-5.18-26.69-11.31A16 16 0 0 0 282 176H160a16 16 0 0 0-15 10.53c-6.83 18.68-23.6 21.47-33 21.47a32 32 0 0 1 0-64c.09 0 9.12.34 16.4 5.8a16 16 0 1 0 19.2-25.6A63.69 63.69 0 0 0 112 112a63.55 63.55 0 0 0-14 1.57A24 24 0 0 1 120 80a23.78 23.78 0 0 1 19.38 9.84 51.35 51.35 0 0 1 4.71 7.9A16 16 0 0 0 176 96c0-6.77-3.61-15.17-10.76-25-.46-.63-1-1.25-1.45-1.86C178.39 55.44 196.64 48 216 48a76.86 76.86 0 0 1 55.23 23.18A80.2 80.2 0 0 1 292.61 142a16 16 0 0 0 12.73 18.71 16.29 16.29 0 0 0 3 .28 16 16 0 0 0 15.7-13 111.78 111.78 0 0 0 1.96-19.42 32 32 0 0 1-6 63.43zm112 168a40 40 0 0 1-40 40h-24V240h24a40 40 0 0 1 40 40z\"},\"child\":[]}]})(props);\n};\nexport function IoBicycleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M388 288a76 76 0 1 0 76 76 76.24 76.24 0 0 0-76-76zm-264 0a76 76 0 1 0 76 76 76.24 76.24 0 0 0-76-76z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M256 360v-86l-64-42 80-88 40 72h56\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M320 136a31.89 31.89 0 0 0 32-32.1A31.55 31.55 0 0 0 320.2 72a32 32 0 1 0-.2 64z\"},\"child\":[]}]})(props);\n};\nexport function IoBicycleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m320 192-29.5-60.1C284.32 118 284.32 118 264 118c-13.26 0-14.76 0-23 7.3l-71.7 69.1c-8.3 8.45-9.3 9.45-9.3 26.6 0 12.67 3.78 14.61 18.51 22.9L240 278v90h32V254s-29-17-48.3-30l48.9-51.5c18.7 28.5 27.3 51.5 38 51.5H384v-32z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M388 448a92 92 0 1 1 92-92 92.1 92.1 0 0 1-92 92zm0-152a60 60 0 1 0 60 60 60.07 60.07 0 0 0-60-60zM124 448a92 92 0 1 1 92-92 92.1 92.1 0 0 1-92 92zm0-152a60 60 0 1 0 60 60 60.07 60.07 0 0 0-60-60zm196-168a31.89 31.89 0 0 0 32-32.1A31.55 31.55 0 0 0 320.2 64a32 32 0 1 0-.2 64z\"},\"child\":[]}]})(props);\n};\nexport function IoBicycle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M388 448a92 92 0 1 1 92-92 92.1 92.1 0 0 1-92 92zm0-152a60 60 0 1 0 60 60 60.07 60.07 0 0 0-60-60zM124 448a92 92 0 1 1 92-92 92.1 92.1 0 0 1-92 92zm0-152a60 60 0 1 0 60 60 60.07 60.07 0 0 0-60-60zm196-168a31.89 31.89 0 0 0 32-32.1A31.55 31.55 0 0 0 320.2 64a32 32 0 1 0-.2 64z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M367.55 192h-43.76a4 4 0 0 1-3.51-2.08l-31.74-58.17a31 31 0 0 0-49.38-7.75l-69.86 70.4a32.56 32.56 0 0 0-9.3 22.4c0 17.4 12.6 23.6 18.5 27.1 28.5 16.42 48.57 28.43 59.58 35.1a4 4 0 0 1 1.92 3.41v69.12c0 8.61 6.62 16 15.23 16.43A16 16 0 0 0 272 352v-86a16 16 0 0 0-6.66-13l-37-26.61a4 4 0 0 1-.58-6l42-44.79a4 4 0 0 1 6.42.79L298 215.77a16 16 0 0 0 14 8.23h56a16 16 0 0 0 16-16.77c-.42-8.61-7.84-15.23-16.45-15.23z\"},\"child\":[]}]})(props);\n};\nexport function IoBluetoothOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m144 352 224-192L256 48v416l112-112-224-192\"},\"child\":[]}]})(props);\n};\nexport function IoBluetoothSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M397.41 161.13 236-.28v212.8l-94.17-80.72-26 30.37L225.27 256 115.8 349.83l26 30.37 94.2-80.72v212.8l161.41-161.41L286.73 256zM276 96.28l62.59 62.59L276 212.52zm62.58 256.85L276 415.72V299.48z\"},\"child\":[]}]})(props);\n};\nexport function IoBluetooth (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M388 160.77a20 20 0 0 0-5.85-14.91l-112-112A20 20 0 0 0 236 48v164.52l-79-67.71a20 20 0 0 0-26 30.38L225.27 256 131 336.81a20 20 0 1 0 26 30.38l79-67.71V464a20 20 0 0 0 34.14 14.14l112-112a20 20 0 0 0-1.14-29.33L286.73 256 381 175.19a20 20 0 0 0 7-14.42zm-49.42 192.36L276 415.72V299.49zM276 212.52V96.28l62.59 62.59z\"},\"child\":[]}]})(props);\n};\nexport function IoBoatOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M461.93 261.05c-2-4.76-6.71-7.83-11.67-9.49l-187.18-74.48a23.78 23.78 0 0 0-14.17 0l-187 74.52c-5 1.56-9.83 4.77-11.81 9.53s-2.94 9.37-1 15.08l46.53 119.15a7.46 7.46 0 0 0 7.47 4.64c26.69-1.68 50.31-15.23 68.38-32.5a7.66 7.66 0 0 1 10.49 0C201.29 386 227 400 256 400s54.56-14 73.88-32.54a7.67 7.67 0 0 1 10.5 0c18.07 17.28 41.69 30.86 68.38 32.54a7.45 7.45 0 0 0 7.46-4.61l46.7-119.16c1.98-4.78.99-10.41-.99-15.18z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M416 473.14a6.84 6.84 0 0 0-3.56-6c-27.08-14.55-51.77-36.82-62.63-48a10.05 10.05 0 0 0-12.72-1.51c-50.33 32.42-111.61 32.44-161.95.05a10.09 10.09 0 0 0-12.82 1.56c-10.77 11.28-35.19 33.3-62.43 47.75a7.15 7.15 0 0 0-3.89 5.73 6.73 6.73 0 0 0 7.92 7.15c20.85-4.18 41-13.68 60.2-23.83a8.71 8.71 0 0 1 8-.06A185.14 185.14 0 0 0 340 456a8.82 8.82 0 0 1 8.09.06c19.1 10 39.22 19.59 60 23.8a6.72 6.72 0 0 0 7.95-6.71z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M320 96V72a24.07 24.07 0 0 0-24-24h-80a24.07 24.07 0 0 0-24 24v24m224 137v-89a48.14 48.14 0 0 0-48-48H144a48.14 48.14 0 0 0-48 48v92m160-52.4v212.85\"},\"child\":[]}]})(props);\n};\nexport function IoBoatSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M477.77 246.42c-2.13-6-7.23-9.55-12.56-11.95L432 221.38V92a20 20 0 0 0-20-20h-76V40a16 16 0 0 0-16-16H192a16 16 0 0 0-16 16v32h-76a20 20 0 0 0-20 20v129.46l-33.08 13.06c-5.33 2.4-10.58 6-12.72 12s-3.16 11.81-1 19L84.25 415.7h1.06c34.12 0 64-17.41 85.31-43.82 21.32 26.41 51.18 42.12 85.3 42.12s64-15.76 85.31-42.17c21.32 26.41 51.18 43.87 85.3 43.87h1.06l51.25-150.17c2.16-6 1.07-13.1-1.07-19.11zM256 152l-144 56.83V108a4 4 0 0 1 4-4h280a4 4 0 0 1 4 4v100.76z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M345.22 407c-52.25 36.26-126.35 36.25-178.6 0 0 0-45.64 63-94.64 63l13.33 1c29.86 0 58.65-11.73 85.31-25.59a185.33 185.33 0 0 0 170.6 0c26.66 13.87 55.45 25.6 85.31 25.6l13.33-1C392.21 470 345.22 407 345.22 407z\"},\"child\":[]}]})(props);\n};\nexport function IoBoat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416 473.14a6.83 6.83 0 0 0-3.57-6c-27.07-14.55-51.76-36.82-62.62-48a10.05 10.05 0 0 0-12.72-1.51c-50.33 32.42-111.61 32.44-161.95.05a10.09 10.09 0 0 0-12.82 1.56c-10.77 11.28-35.19 33.3-62.43 47.75a7.11 7.11 0 0 0-3.89 5.73 6.73 6.73 0 0 0 7.92 7.15c20.85-4.18 41-13.68 60.2-23.83a8.71 8.71 0 0 1 8-.06 185.14 185.14 0 0 0 167.81 0 8.82 8.82 0 0 1 8.09.06c19.1 10 39.22 19.59 60 23.8a6.73 6.73 0 0 0 8-6.71zm60.71-226.23c-3.49-8.39-10.9-14.89-20.9-18.35L432 219.08V136a64 64 0 0 0-64-64h-32v-8a40 40 0 0 0-40-40h-80a40 40 0 0 0-40 40v8h-32a64 64 0 0 0-64 64v83.15l-23.58 9.39c-9.94 3.3-17.63 10-21.15 18.44-2.45 5.89-5.25 15-1.3 26.46l.1.3 46.66 119.44A23.33 23.33 0 0 0 102.58 408c.5 0 1 0 1.53-.05 31.32-2 56-17.27 72.6-31.61C200.42 396.81 228.31 408 256 408s55.43-11.2 79.14-31.7c16.59 14.36 41.3 29.67 72.61 31.65a23.36 23.36 0 0 0 23.37-14.74l46.65-119c3.28-8.09 2.9-17.76-1.06-27.3zM269 154.21l-1.14-.4a39.53 39.53 0 0 0-23.73 0l-.58.18-126.07 50.23a4 4 0 0 1-5.48-3.72V136a32 32 0 0 1 32-32h224a32 32 0 0 1 32 32v64.44a4 4 0 0 1-5.48 3.72z\"},\"child\":[]}]})(props);\n};\nexport function IoBodyOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"56\",\"r\":\"40\",\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"m199.3 295.62-30.4 172.2a24 24 0 0 0 19.5 27.8 23.76 23.76 0 0 0 27.6-19.5l21-119.9v.2s5.2-32.5 17.5-32.5h3.1c12.5 0 17.5 32.5 17.5 32.5v-.1l21 119.9a23.92 23.92 0 1 0 47.1-8.4l-30.4-172.2-4.9-29.7c-2.9-18.1-4.2-47.6.5-59.7 4-10.4 14.13-14.2 23.2-14.2H424a24 24 0 0 0 0-48H88a24 24 0 0 0 0 48h92.5c9.23 0 19.2 3.8 23.2 14.2 4.7 12.1 3.4 41.6.5 59.7z\"},\"child\":[]}]})(props);\n};\nexport function IoBodySharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"56\",\"r\":\"56\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M464 128H48v52h144l-32 325.13 51 6.87 21.65-192h47.02L301 512l51-6.98L320 180h144v-52z\"},\"child\":[]}]})(props);\n};\nexport function IoBody (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"56\",\"r\":\"56\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M437 128H75a27 27 0 0 0 0 54h101.88c6.91 0 15 3.09 19.58 15 5.35 13.83 2.73 40.54-.57 61.23l-4.32 24.45a.42.42 0 0 1-.12.35l-34.6 196.81A27.43 27.43 0 0 0 179 511.58a27.06 27.06 0 0 0 31.42-22.29l23.91-136.8S242 320 256 320c14.23 0 21.74 32.49 21.74 32.49l23.91 136.92a27.24 27.24 0 1 0 53.62-9.6L320.66 283a.45.45 0 0 0-.11-.35l-4.33-24.45c-3.3-20.69-5.92-47.4-.57-61.23 4.56-11.88 12.91-15 19.28-15H437a27 27 0 0 0 0-54z\"},\"child\":[]}]})(props);\n};\nexport function IoBonfireOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M273.38 368.33c-.81-9.23-8.86-16.44-18.55-16.44a18.63 18.63 0 0 0-18.2 14.11l-18.2 88.38a35.75 35.75 0 0 0-.93 7.88c0 19.93 16.68 33.78 37.33 33.78s37.34-13.85 37.34-33.78a36.16 36.16 0 0 0-1.29-9.45zm137.67 39.53a41.78 41.78 0 0 0-5.95-4.35l-69.53-48.59c-6.77-4.25-14-4.13-19.25 1a13.53 13.53 0 0 0-2 17.2l52.5 69a36.57 36.57 0 0 0 4 4.69c9.1 10.17 29.28 10.73 40.37 0 10.94-10.91 10.81-30.35-.14-38.95zm52.25-71.98h-70.42c-4.55 0-8.88 3.35-8.88 8.16s2.95 7.85 6.92 9.16l66.43 20.55C467 376 480 367.4 480 356.66c0-13.66-7.6-20.78-16.7-20.78zM128.22 344c0-5-4.55-8.16-9.45-8.16H48.35c-8.87 0-16.35 9.58-16.35 20.32S44.62 376 54.3 373.75l67.43-20.55c4.39-1.31 6.49-4.2 6.49-9.2zm48.33 11L107 403.38a32.34 32.34 0 0 0-6 4.35 26.33 26.33 0 0 0 0 38.56 29.39 29.39 0 0 0 40.36 0 30.75 30.75 0 0 0 4-4.68L197.9 373c3.5-5.58 2.92-12.49-2-17.06a15 15 0 0 0-19.35-.94z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M368 125.09c0-55.7-49.22-89.16-94.2-93.06a8 8 0 0 0-8.69 7.71c-3.12 76-109.38 110.69-119.87 178.68-7 45.4 16.65 72.37 34.31 85.78a15.94 15.94 0 0 0 23.93-5.62c22.5-45.86 74.33-63.49 109.72-85.94 42.88-27.2 54.8-56.44 54.8-87.55z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M240 95.7c-12.82-23-30.51-31-59.16-31.63a3.86 3.86 0 0 0-4.06 3.51c-.95 34.22-32.78 44.85-32.78 73.15 0 19.37 5.39 29 17.16 39.28m191.29-1.25c8.6 14.31 15.55 30.08 15.55 48 0 52.52-42.47 93.1-94.86 93.1a94.42 94.42 0 0 1-65.14-26\"},\"child\":[]}]})(props);\n};\nexport function IoBonfireSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m199.89 336-15.25-5.62a100.35 100.35 0 0 1-32-23.08c-13.93-14.9-29.29-40.71-23.38-79.11 5.2-33.73 44.2-74.21 69.34-97.87 27.24-25.62 66-65.85 64.15-99.15L262 16h15.18C328.53 16 384 53.62 384 114.41c0 45.57-22 77.61-68.91 106.9-8 5-16.44 9.66-25.42 14.53-30.63 16.62-75.29 49.83-85.73 85.32zm-18.7-222.41C201 95 218.91 78.15 227.62 59.79q-2.76-1.68-5.7-3.09c-11.87-5.69-26.1-8.34-44.76-8.34h-16.94l.56 16.49c.47 14.06-6.06 22.51-14.33 33.21C137.8 109.26 128 121.94 128 141c0 10.23 1.29 18.76 4.2 26.36q3.5-5.31 7.61-10.63c12.19-15.73 27.05-29.68 41.38-43.14z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M330.34 239.85c-9.31 5.9-19 11.14-29.25 16.71-32.65 17.69-63.48 34.44-73.23 67.44l-.6 2a110.5 110.5 0 0 0 45.87 10c29.66 0 57.45-11.13 78.24-31.36A107.38 107.38 0 0 0 384 227a92.39 92.39 0 0 0-5.59-31c-11.35 16.18-27.14 30.58-48.07 43.85zM268.72 360h-25.44a4 4 0 0 0-3.92 3.22l-25.36 128a4 4 0 0 0 3.92 4.78h76.26a4 4 0 0 0 3.92-4.78l-25.41-128a4 4 0 0 0-3.97-3.22zm56.96-5.68-11.36 11.36a4 4 0 0 0-.5 5.05l59.47 89.21a4 4 0 0 0 6.16.61l41.1-41.1a4 4 0 0 0-.61-6.16l-89.21-59.47a4 4 0 0 0-5.05.5zM388 336a4 4 0 0 0-4 4v8.61a4 4 0 0 0 3.34 3.95l88 14.66a4 4 0 0 0 4.66-3.94V340a4 4 0 0 0-4-4zm-201.68 18.32 11.36 11.36a4 4 0 0 1 .5 5.05l-59.47 89.21a4 4 0 0 1-6.16.61l-41.1-41.1a4 4 0 0 1 .61-6.16l89.21-59.47a4 4 0 0 1 5.05.5zM124 336H36a4 4 0 0 0-4 4v23.28a4 4 0 0 0 4.66 3.94l88-14.66a4 4 0 0 0 3.34-3.95V340a4 4 0 0 0-4-4z\"},\"child\":[]}]})(props);\n};\nexport function IoBonfire (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M273.38 368.37c-.81-9.23-8.86-16.44-18.55-16.44a18.63 18.63 0 0 0-18.2 14.07l-18.2 88.36a35.59 35.59 0 0 0-.93 7.87c0 19.93 16.68 33.77 37.33 33.77s37.34-13.84 37.34-33.77a36.16 36.16 0 0 0-1.29-9.45zm137.67 39.52a42.66 42.66 0 0 0-5.95-4.36L335.57 355c-6.77-4.24-14-4.13-19.25 1a13.52 13.52 0 0 0-2 17.19l52.5 69a38 38 0 0 0 4 4.69c9.1 10.16 29.28 10.72 40.37 0 10.94-10.96 10.81-30.39-.14-38.99zm52.25-71.96h-70.42c-4.55 0-8.88 3.35-8.88 8.15s2.95 7.85 6.92 9.16l66.43 20.55C467 376 480 367.44 480 356.71c0-13.63-7.6-20.78-16.7-20.78zm-335.08 8.15c0-4.95-4.55-8.15-9.45-8.15H48.35c-8.87 0-16.35 9.58-16.35 20.31S44.62 376 54.3 373.79l67.43-20.55c4.39-1.31 6.49-4.24 6.49-9.16zm48.33 10.97L107 403.41a32.29 32.29 0 0 0-6 4.34 26.33 26.33 0 0 0 0 38.56 29.41 29.41 0 0 0 40.36 0 30.75 30.75 0 0 0 4-4.68L197.9 373c3.5-5.57 2.92-12.48-2-17a15 15 0 0 0-19.35-.95zm116.91-112.66c10-5.42 19.45-10.54 28.31-16.16 42.46-26.92 62.23-59 62.23-101 0-64.66-56.07-104.4-108.82-109-6.49-.57-15-.42-19.91 3.88s-5.88 12.56-6.15 19.1c-1.38 33.61-28.38 59-57 85.86-28 26.3-56.93 53.49-62.71 91-8.41 54.68 21.74 86.71 40.46 100.93a31.88 31.88 0 0 0 19.3 6.51 32.32 32.32 0 0 0 7.41-.87 31.75 31.75 0 0 0 21.27-16.95c14.91-30.39 45.77-47.12 75.61-63.3z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M139.82 156.57c12.22-15.76 27-29.68 41.37-43.15 19.92-18.72 37.81-35.58 46.5-53.86-12.24-7.37-27.36-11.36-46.51-11.36-17.79 0-20.39 5.18-20.39 19.06 0 12.56-6.53 20.54-14.34 30.65C137.8 109.1 128 121.77 128 140.84c0 10.23 1.29 18.77 4.2 26.37q3.5-5.32 7.62-10.64zm190.52 83.17c-9.33 5.92-19 11.16-29.25 16.71-28.91 15.68-56.21 30.48-68.88 56.28a62.6 62.6 0 0 1-1.88 3.61 8 8 0 0 0 3.89 11.3c12.31 5.1 25.13 8.27 38.91 8.27a111.42 111.42 0 0 0 78.24-31.37A107.45 107.45 0 0 0 384 226.85a86.56 86.56 0 0 0-1.33-15 8 8 0 0 0-13.8-4c-10.18 11.47-22.93 22-38.53 31.89z\"},\"child\":[]}]})(props);\n};\nexport function IoBookOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M256 160c16-63.16 76.43-95.41 208-96a15.94 15.94 0 0 1 16 16v288a16 16 0 0 1-16 16c-128 0-177.45 25.81-208 64-30.37-38-80-64-208-64-9.88 0-16-8.05-16-17.93V80a15.94 15.94 0 0 1 16-16c131.57.59 192 32.84 208 96zm0 0v288\"},\"child\":[]}]})(props);\n};\nexport function IoBookSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 48c-67.61.29-117.87 9.6-154.24 25.69-27.14 12-37.76 21.08-37.76 51.84V448c41.57-37.5 78.46-48 224-48V48zM48 48c67.61.29 117.87 9.6 154.24 25.69 27.14 12 37.76 21.08 37.76 51.84V448c-41.57-37.5-78.46-48-224-48V48z\"},\"child\":[]}]})(props);\n};\nexport function IoBook (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M202.24 74C166.11 56.75 115.61 48.3 48 48a31.36 31.36 0 0 0-17.92 5.33A32 32 0 0 0 16 79.9V366c0 19.34 13.76 33.93 32 33.93 71.07 0 142.36 6.64 185.06 47a4.11 4.11 0 0 0 6.94-3V106.82a15.89 15.89 0 0 0-5.46-12A143 143 0 0 0 202.24 74zm279.68-20.7A31.33 31.33 0 0 0 464 48c-67.61.3-118.11 8.71-154.24 26a143.31 143.31 0 0 0-32.31 20.78 15.93 15.93 0 0 0-5.45 12v337.13a3.93 3.93 0 0 0 6.68 2.81c25.67-25.5 70.72-46.82 185.36-46.81a32 32 0 0 0 32-32v-288a32 32 0 0 0-14.12-26.61z\"},\"child\":[]}]})(props);\n};\nexport function IoBookmarkOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M352 48H160a48 48 0 0 0-48 48v368l144-128 144 128V96a48 48 0 0 0-48-48z\"},\"child\":[]}]})(props);\n};\nexport function IoBookmarkSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416 480 256 357.41 96 480V32h320z\"},\"child\":[]}]})(props);\n};\nexport function IoBookmark (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 480a16 16 0 0 1-10.63-4L256 357.41 122.63 476A16 16 0 0 1 96 464V96a64.07 64.07 0 0 1 64-64h192a64.07 64.07 0 0 1 64 64v368a16 16 0 0 1-16 16z\"},\"child\":[]}]})(props);\n};\nexport function IoBookmarksOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M128 80V64a48.14 48.14 0 0 1 48-48h224a48.14 48.14 0 0 1 48 48v368l-80-64\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M320 96H112a48.14 48.14 0 0 0-48 48v352l152-128 152 128V144a48.14 48.14 0 0 0-48-48z\"},\"child\":[]}]})(props);\n};\nexport function IoBookmarksSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M112 0v48h304v368l48 32V0H112z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M48 80v432l168-124 168 124V80H48z\"},\"child\":[]}]})(props);\n};\nexport function IoBookmarks (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 0H176a64.11 64.11 0 0 0-62 48h228a74 74 0 0 1 74 74v304.89l22 17.6a16 16 0 0 0 19.34.5 16.41 16.41 0 0 0 6.66-13.42V64a64 64 0 0 0-64-64z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M320 80H112a64 64 0 0 0-64 64v351.62A16.36 16.36 0 0 0 54.6 509a16 16 0 0 0 19.71-.71L216 388.92l141.69 119.32a16 16 0 0 0 19.6.79 16.4 16.4 0 0 0 6.71-13.44V144a64 64 0 0 0-64-64z\"},\"child\":[]}]})(props);\n};\nexport function IoBowlingBallOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"r\":\"208\",\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"288\",\"cy\":\"200\",\"r\":\"24\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"296\",\"cy\":\"128\",\"r\":\"24\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"360\",\"cy\":\"168\",\"r\":\"24\"},\"child\":[]}]})(props);\n};\nexport function IoBowlingBallSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M414.39 97.61A224 224 0 1 0 97.61 414.39 224 224 0 1 0 414.39 97.61zM286 230a28 28 0 1 1 28-28 28 28 0 0 1-28 28zm8-76a28 28 0 1 1 28-28 28 28 0 0 1-28 28zm68 44a28 28 0 1 1 28-28 28 28 0 0 1-28 28z\"},\"child\":[]}]})(props);\n};\nexport function IoBowlingBall (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M414.39 97.61A224 224 0 1 0 97.61 414.39 224 224 0 1 0 414.39 97.61zM288 224a24 24 0 1 1 24-24 24 24 0 0 1-24 24zm8-72a24 24 0 1 1 24-24 24 24 0 0 1-24 24zm64 40a24 24 0 1 1 24-24 24 24 0 0 1-24 24z\"},\"child\":[]}]})(props);\n};\nexport function IoBriefcaseOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"448\",\"height\":\"320\",\"x\":\"32\",\"y\":\"128\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"48\",\"ry\":\"48\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M144 128V96a32 32 0 0 1 32-32h160a32 32 0 0 1 32 32v32m112 112H32m288 0v24a8 8 0 0 1-8 8H200a8 8 0 0 1-8-8v-24\"},\"child\":[]}]})(props);\n};\nexport function IoBriefcaseSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M336 288H176v-32H16v196a12 12 0 0 0 12 12h456a12 12 0 0 0 12-12V256H336zm160-164a12 12 0 0 0-12-12H384V56a8 8 0 0 0-8-8H136a8 8 0 0 0-8 8v56H28a12 12 0 0 0-12 12v100h480zm-152-12H168V88h176z\"},\"child\":[]}]})(props);\n};\nexport function IoBriefcase (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M336 80H176a16 16 0 0 0-16 16v16h192V96a16 16 0 0 0-16-16z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M496 176a64.07 64.07 0 0 0-64-64h-48V96a48.05 48.05 0 0 0-48-48H176a48.05 48.05 0 0 0-48 48v16H80a64.07 64.07 0 0 0-64 64v48h480zm-144-64H160V96a16 16 0 0 1 16-16h160a16 16 0 0 1 16 16zm-16 152a24 24 0 0 1-24 24H200a24 24 0 0 1-24-24v-4a4 4 0 0 0-4-4H16v144a64 64 0 0 0 64 64h352a64 64 0 0 0 64-64V256H340a4 4 0 0 0-4 4z\"},\"child\":[]}]})(props);\n};\nexport function IoBrowsersOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"416\",\"height\":\"384\",\"x\":\"48\",\"y\":\"64\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"48\",\"ry\":\"48\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M397.82 64H114.18C77.69 64 48 94.15 48 131.2V176h16c0-16 16-32 32-32h320c16 0 32 16 32 32h16v-44.8c0-37.05-29.69-67.2-66.18-67.2z\"},\"child\":[]}]})(props);\n};\nexport function IoBrowsersSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M32 64v384a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V64a16 16 0 0 0-16-16H48a16 16 0 0 0-16 16zm408 364H72a4 4 0 0 1-4-4V152a4 4 0 0 1 4-4h368a4 4 0 0 1 4 4v272a4 4 0 0 1-4 4z\"},\"child\":[]}]})(props);\n};\nexport function IoBrowsers (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416 48H96a64 64 0 0 0-64 64v288a64 64 0 0 0 64 64h320a64 64 0 0 0 64-64V112a64 64 0 0 0-64-64zm24 96H72a8 8 0 0 1-8-8v-24a32.09 32.09 0 0 1 32-32h320a32.09 32.09 0 0 1 32 32v24a8 8 0 0 1-8 8z\"},\"child\":[]}]})(props);\n};\nexport function IoBrushOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M452.37 59.63h0a40.49 40.49 0 0 0-57.26 0L184 294.74c23.08 4.7 46.12 27.29 49.26 49.26l219.11-227.11a40.49 40.49 0 0 0 0-57.26zM138 336c-29.88 0-54 24.5-54 54.86 0 23.95-20.88 36.57-36 36.57C64.56 449.74 92.82 464 120 464c39.78 0 72-32.73 72-73.14 0-30.36-24.12-54.86-54-54.86z\"},\"child\":[]}]})(props);\n};\nexport function IoBrushSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m480 96-64-64-244 260 64 64zM142 320c-36.52 0-66 30.63-66 68.57 0 25.43-31 45.72-44 45.72C52.24 462.17 86.78 480 120 480c48.62 0 88-40.91 88-91.43 0-37.94-29.48-68.57-66-68.57z\"},\"child\":[]}]})(props);\n};\nexport function IoBrush (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M233.15 360.11a15.7 15.7 0 0 1-4.92-.77 16 16 0 0 1-10.92-13c-2.15-15-19.95-32.46-36.62-35.85a16 16 0 0 1-8.69-26.33l211.09-235.1c.19-.22.39-.43.59-.63a56.57 56.57 0 0 1 79.89 0 56.51 56.51 0 0 1 .11 79.78l-219 227a16 16 0 0 1-11.53 4.9zm-113.26 120c-32.14 0-65.45-16.89-84.85-43a16 16 0 0 1 12.85-25.54c5.34 0 20-4.87 20-20.57 0-39.07 31.4-70.86 70-70.86s70 31.79 70 70.86c0 49.12-39.48 89.11-88 89.11z\"},\"child\":[]}]})(props);\n};\nexport function IoBugOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M370 378c28.89 23.52 46 46.07 46 86m-274-86c-28.89 23.52-46 46.06-46 86m288-256c28.89-23.52 32-56.07 32-96m-288 94c-28.89-23.52-32-54.06-32-94m368 176.13h-80m-256 0H48M256 192v256\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M256 448h0c-70.4 0-128-57.6-128-128v-96.07c0-65.07 57.6-96 128-96h0c70.4 0 128 25.6 128 96V320c0 70.4-57.6 128-128 128z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M179.43 143.52a49.08 49.08 0 0 1-3.43-15.73A80 80 0 0 1 255.79 48h.42A80 80 0 0 1 336 127.79a41.91 41.91 0 0 1-3.12 14.3\"},\"child\":[]}]})(props);\n};\nexport function IoBugSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M480 304.13v-32h-80V215.2c29.42-27.95 32-64.76 32-103.2V96h-32v16c0 28-1.86 48.15-9.9 63.84C368 128 324.32 112 256 112c-39.8 0-75.19 7.06-100.43 24.32-14.9 10.19-25.2 24.91-32.7 39.72C114 160.57 112 140.82 112 112V96H80v16c0 37.44 2.59 73.36 32 101.2v58.93H32v32l80-.13c0 19 3.7 53.09 10.39 69.69C96.6 396.76 80 422.31 80 464v16h32v-16c0-27.66 9.1-44.71 26.17-61.32C160 448 177 464 240 464V176h32v288c65 0 80-16 101.83-61.32C390.9 419.29 400 436.35 400 464v16h32v-16c0-41.68-16.6-67.23-42.39-90.31C396.3 357.09 400 323 400 304z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M256 32c-48.06 0-96 0-96 84 26.12-14 59.35-20 96-20 24.09 0 46.09 2.65 65.39 8 10.75 3 24.66 8.71 30.61 12 0-84-47.94-84-96-84z\"},\"child\":[]}]})(props);\n};\nexport function IoBug (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M463.55 272.13H400v-48.2q0-4.32-.27-8.47c29.57-27.88 32.25-64.63 32.27-103 0-8.61-6.64-16-15.25-16.41A16 16 0 0 0 400 112c0 28-1.86 48.15-9.9 63.84-19.22-41.15-65.78-63.91-134.1-63.91-39.8 0-74.19 9.13-99.43 26.39-14.9 10.19-26.2 22.91-33.7 37.72C114 160.65 112 141 112 112.46c0-8.61-6.6-16-15.2-16.44A16 16 0 0 0 80 112c0 37.63 2.61 73.73 32.44 101.63q-.43 5.06-.44 10.3v48.2H48.45c-8.61 0-16 6.62-16.43 15.23a16 16 0 0 0 16 16.77h64V320a143.32 143.32 0 0 0 10.39 53.69C96.74 396.64 80.18 422 80 463.34c0 8.74 6.62 16.3 15.36 16.65A16 16 0 0 0 112 464c0-27.66 9.1-44.71 26.17-61.32A144.37 144.37 0 0 0 220 459.42a16 16 0 0 0 20-15.49V192.45c0-8.61 6.62-16 15.23-16.43A16 16 0 0 1 272 192v251.93a16 16 0 0 0 20 15.49 144.4 144.4 0 0 0 81.82-56.74c17 16.54 26.09 33.52 26.17 60.95a16.27 16.27 0 0 0 15.1 16.37A16 16 0 0 0 432 464c0-41.68-16.6-67.23-42.39-90.31A143.32 143.32 0 0 0 400 320v-15.87h64a16 16 0 0 0 16-16.77c-.42-8.61-7.84-15.23-16.45-15.23z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"m321.39 104 .32.09c13.57 3.8 25.07-10.55 18.2-22.85A95.86 95.86 0 0 0 256.21 32h-.42a95.87 95.87 0 0 0-84.19 50.13c-6.84 12.58 5.14 27 18.84 22.86 19.71-6 41.79-9.06 65.56-9.06 24.09 0 46.09 2.72 65.39 8.07z\"},\"child\":[]}]})(props);\n};\nexport function IoBuildOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M393.87 190a32.1 32.1 0 0 1-45.25 0l-26.57-26.57a32.09 32.09 0 0 1 0-45.26L382.19 58a1 1 0 0 0-.3-1.64c-38.82-16.64-89.15-8.16-121.11 23.57-30.58 30.35-32.32 76-21.12 115.84a31.93 31.93 0 0 1-9.06 32.08L64 380a48.17 48.17 0 1 0 68 68l153.86-167a31.93 31.93 0 0 1 31.6-9.13c39.54 10.59 84.54 8.6 114.72-21.19 32.49-32 39.5-88.56 23.75-120.93a1 1 0 0 0-1.6-.26z\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"96\",\"cy\":\"416\",\"r\":\"16\"},\"child\":[]}]})(props);\n};\nexport function IoBuildSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M230 209.2 32 405.58 106.65 480l197.59-198.17c46.47 17.46 105.52 12.54 143-24.78 40.44-40.32 40.35-108 16.81-156.79l-87.33 87.06-52.32-52.13 87.33-87.06C363 24.46 294.67 24.34 254.23 64.66c-38.03 37.91-42.78 97.6-24.23 144.54z\"},\"child\":[]}]})(props);\n};\nexport function IoBuild (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M469.54 120.52a16 16 0 0 0-25.54-4L382.56 178a16.12 16.12 0 0 1-22.63 0l-26.56-26.6a16 16 0 0 1 0-22.63l61.18-61.19a16 16 0 0 0-4.78-25.92C343.56 21 285.88 31.78 249.51 67.88c-30.9 30.68-40.11 78.62-25.25 131.53a15.89 15.89 0 0 1-4.49 16L53.29 367.46a64.17 64.17 0 1 0 90.6 90.64l153.68-166.85a15.9 15.9 0 0 1 15.77-4.57 179.3 179.3 0 0 0 46.22 6.37c33.4 0 62.71-10.81 83.85-31.64 39.15-38.57 45.12-103.99 26.13-140.89zM99.48 447.15a32 32 0 1 1 28.34-28.35 32 32 0 0 1-28.34 28.35z\"},\"child\":[]}]})(props);\n};\nexport function IoBulbOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M304 384v-24c0-29 31.54-56.43 52-76 28.84-27.57 44-64.61 44-108 0-80-63.73-144-144-144a143.6 143.6 0 0 0-144 144c0 41.84 15.81 81.39 44 108 20.35 19.21 52 46.7 52 76v24m16 96h64m-80-48h96m-48-48V256\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M294 240s-21.51 16-38 16-38-16-38-16\"},\"child\":[]}]})(props);\n};\nexport function IoBulbSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M208 464h96v32h-96zm-16-48h128v32H192zM369.42 62.69C339.35 32.58 299.07 16 256 16A159.62 159.62 0 0 0 96 176c0 46.62 17.87 90.23 49 119.64l4.36 4.09C167.37 316.57 192 339.64 192 360v40h48V269.11L195.72 244 214 217.72 256 240l41.29-22.39 19.1 25.68-44.39 26V400h48v-40c0-19.88 24.36-42.93 42.15-59.77l4.91-4.66C399.08 265 416 223.61 416 176a159.16 159.16 0 0 0-46.58-113.31z\"},\"child\":[]}]})(props);\n};\nexport function IoBulb (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 464h-64a16 16 0 0 0 0 32h64a16 16 0 0 0 0-32zm16-48h-96a16 16 0 0 0 0 32h96a16 16 0 0 0 0-32zm65.42-353.31C339.35 32.58 299.07 16 256 16A159.62 159.62 0 0 0 96 176c0 46.62 17.87 90.23 49 119.64l4.36 4.09C167.37 316.57 192 339.64 192 360v24a16 16 0 0 0 16 16h24a8 8 0 0 0 8-8V274.82a8 8 0 0 0-5.13-7.47A130.73 130.73 0 0 1 208.71 253a16 16 0 1 1 18.58-26c7.4 5.24 21.65 13 28.71 13s21.31-7.78 28.73-13a16 16 0 0 1 18.56 26 130.73 130.73 0 0 1-26.16 14.32 8 8 0 0 0-5.13 7.47V392a8 8 0 0 0 8 8h24a16 16 0 0 0 16-16v-24c0-19.88 24.36-42.93 42.15-59.77l4.91-4.66C399.08 265 416 223.61 416 176a159.16 159.16 0 0 0-46.58-113.31z\"},\"child\":[]}]})(props);\n};\nexport function IoBusOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"352\",\"height\":\"192\",\"x\":\"80\",\"y\":\"112\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"32\",\"ry\":\"32\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"352\",\"height\":\"128\",\"x\":\"80\",\"y\":\"304\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"32\",\"ry\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M400 112H112a32.09 32.09 0 0 1-32-32h0a32.09 32.09 0 0 1 32-32h288a32.09 32.09 0 0 1 32 32h0a32.09 32.09 0 0 1-32 32zM144 432v22a10 10 0 0 1-10 10h-28a10 10 0 0 1-10-10v-22zm272 0v22a10 10 0 0 1-10 10h-28a10 10 0 0 1-10-10v-22z\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"368\",\"cy\":\"368\",\"r\":\"16\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"144\",\"cy\":\"368\",\"r\":\"16\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M256 112v192M80 80v288M432 80v288\"},\"child\":[]}]})(props);\n};\nexport function IoBusSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M400 64H112a16 16 0 0 0 0 32h288a16 16 0 0 0 0-32z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M424 32H88a24 24 0 0 0-24 24v360a32 32 0 0 0 16 27.71V480h72v-32h208v32h72v-36.29A32 32 0 0 0 448 416V56a24 24 0 0 0-24-24zM175.82 371.47a32 32 0 1 1-35.3-35.29 32.09 32.09 0 0 1 35.3 35.29zM240 288H96V128h144zm16-192H96.46L96 64h320l-.46 32H256zm16 32h144v160H272zm64.18 236.53a32 32 0 1 1 35.3 35.29 32.09 32.09 0 0 1-35.3-35.29z\"},\"child\":[]}]})(props);\n};\nexport function IoBus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H112a48 48 0 0 0-48 48v320a47.91 47.91 0 0 0 16 35.74V454a26 26 0 0 0 26 26h28a26 26 0 0 0 26-26v-6h192v6a26 26 0 0 0 26 26h28a26 26 0 0 0 26-26v-18.26A47.91 47.91 0 0 0 448 400V80a48 48 0 0 0-48-48zM147.47 399.82a32 32 0 1 1 28.35-28.35 32 32 0 0 1-28.35 28.35zM236 288H112a16 16 0 0 1-16-16V144a16 16 0 0 1 16-16h124a4 4 0 0 1 4 4v152a4 4 0 0 1-4 4zm20-192H112.46c-8.6 0-16-6.6-16.44-15.19A16 16 0 0 1 112 64h287.54c8.6 0 16 6.6 16.44 15.19A16 16 0 0 1 400 96H256zm20 32h124a16 16 0 0 1 16 16v128a16 16 0 0 1-16 16H276a4 4 0 0 1-4-4V132a4 4 0 0 1 4-4zm60.18 243.47a32 32 0 1 1 28.35 28.35 32 32 0 0 1-28.35-28.35z\"},\"child\":[]}]})(props);\n};\nexport function IoBusinessOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M176 416v64M80 32h192a32 32 0 0 1 32 32v412a4 4 0 0 1-4 4H48h0V64a32 32 0 0 1 32-32zm240 160h112a32 32 0 0 1 32 32v256h0-160 0V208a16 16 0 0 1 16-16z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M98.08 431.87a16 16 0 1 1 13.79-13.79 16 16 0 0 1-13.79 13.79zm0-80a16 16 0 1 1 13.79-13.79 16 16 0 0 1-13.79 13.79zm0-80a16 16 0 1 1 13.79-13.79 16 16 0 0 1-13.79 13.79zm0-80a16 16 0 1 1 13.79-13.79 16 16 0 0 1-13.79 13.79zm0-80a16 16 0 1 1 13.79-13.79 16 16 0 0 1-13.79 13.79zm80 240a16 16 0 1 1 13.79-13.79 16 16 0 0 1-13.79 13.79zm0-80a16 16 0 1 1 13.79-13.79 16 16 0 0 1-13.79 13.79zm0-80a16 16 0 1 1 13.79-13.79 16 16 0 0 1-13.79 13.79zm0-80a16 16 0 1 1 13.79-13.79 16 16 0 0 1-13.79 13.79zm80 320a16 16 0 1 1 13.79-13.79 16 16 0 0 1-13.79 13.79zm0-80a16 16 0 1 1 13.79-13.79 16 16 0 0 1-13.79 13.79zm0-80a16 16 0 1 1 13.79-13.79 16 16 0 0 1-13.79 13.79z\"},\"child\":[]},{\"tag\":\"ellipse\",\"attr\":{\"cx\":\"256\",\"cy\":\"176\",\"rx\":\"15.95\",\"ry\":\"16.03\",\"transform\":\"rotate(-45 255.99 175.996)\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M258.08 111.87a16 16 0 1 1 13.79-13.79 16 16 0 0 1-13.79 13.79zM400 400a16 16 0 1 0 16 16 16 16 0 0 0-16-16zm0-80a16 16 0 1 0 16 16 16 16 0 0 0-16-16zm0-80a16 16 0 1 0 16 16 16 16 0 0 0-16-16zm-64 160a16 16 0 1 0 16 16 16 16 0 0 0-16-16zm0-80a16 16 0 1 0 16 16 16 16 0 0 0-16-16zm0-80a16 16 0 1 0 16 16 16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function IoBusinessSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M320 176V16H32v480h128v-96h32v96h288V176zM112 432H80v-32h32zm0-80H80v-32h32zm0-80H80v-32h32zm0-80H80v-32h32zm0-80H80V80h32zm128-32h32v32h-32zm-48 272h-32v-32h32zm0-80h-32v-32h32zm0-80h-32v-32h32zm0-80h-32V80h32zm80 320h-32v-32h32zm0-80h-32v-32h32zm0-80h-32v-32h32zm0-80h-32v-32h32v32zm176 272H320v-32h32v-32h-32v-48h32v-32h-32v-48h32v-32h-32v-32h128z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M384 400h32v32h-32zm0-80h32v32h-32zm0-80h32v32h-32z\"},\"child\":[]}]})(props);\n};\nexport function IoBusiness (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M432 176H320V64a48 48 0 0 0-48-48H80a48 48 0 0 0-48 48v416a16 16 0 0 0 16 16h104a8 8 0 0 0 8-8v-71.55c0-8.61 6.62-16 15.23-16.43A16 16 0 0 1 192 416v72a8 8 0 0 0 8 8h264a16 16 0 0 0 16-16V224a48 48 0 0 0-48-48zM98.08 431.87a16 16 0 1 1 13.79-13.79 16 16 0 0 1-13.79 13.79zm0-80a16 16 0 1 1 13.79-13.79 16 16 0 0 1-13.79 13.79zm0-80a16 16 0 1 1 13.79-13.79 16 16 0 0 1-13.79 13.79zm0-80a16 16 0 1 1 13.79-13.79 16 16 0 0 1-13.79 13.79zm0-80a16 16 0 1 1 13.79-13.79 16 16 0 0 1-13.79 13.79zm80 240a16 16 0 1 1 13.79-13.79 16 16 0 0 1-13.79 13.79zm0-80a16 16 0 1 1 13.79-13.79 16 16 0 0 1-13.79 13.79zm0-80a16 16 0 1 1 13.79-13.79 16 16 0 0 1-13.79 13.79zm0-80a16 16 0 1 1 13.79-13.79 16 16 0 0 1-13.79 13.79zm80 320a16 16 0 1 1 13.79-13.79 16 16 0 0 1-13.79 13.79zm0-80a16 16 0 1 1 13.79-13.79 16 16 0 0 1-13.79 13.79zm0-80a16 16 0 1 1 13.79-13.79 16 16 0 0 1-13.79 13.79zm0-80a16 16 0 1 1 13.79-13.79 16 16 0 0 1-13.79 13.79zm0-80a16 16 0 1 1 13.79-13.79 16 16 0 0 1-13.79 13.79zM444 464H320V208h112a16 16 0 0 1 16 16v236a4 4 0 0 1-4 4z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M400 400a16 16 0 1 0 16 16 16 16 0 0 0-16-16zm0-80a16 16 0 1 0 16 16 16 16 0 0 0-16-16zm0-80a16 16 0 1 0 16 16 16 16 0 0 0-16-16zm-64 160a16 16 0 1 0 16 16 16 16 0 0 0-16-16zm0-80a16 16 0 1 0 16 16 16 16 0 0 0-16-16zm0-80a16 16 0 1 0 16 16 16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function IoCafeOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M368 80h64a16 16 0 0 1 16 16v34a46 46 0 0 1-46 46h-34M96 80h272v192a80 80 0 0 1-80 80H176a80 80 0 0 1-80-80V80h0zM64 416h336\"},\"child\":[]}]})(props);\n};\nexport function IoCafeSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 64H80v254.34a19.83 19.83 0 0 0 5.86 14.14l29.65 29.66a19.87 19.87 0 0 0 14.15 5.86h204.68a19.87 19.87 0 0 0 14.15-5.86l29.65-29.66a19.83 19.83 0 0 0 5.86-14.14V192h32a16 16 0 0 0 11.31-4.69l32-32A16 16 0 0 0 464 144V80a16 16 0 0 0-16-16zm-16 73.37L409.37 160H384V96h48zM48 400h368v32H48z\"},\"child\":[]}]})(props);\n};\nexport function IoCafe (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M432 64H96a16 16 0 0 0-16 16v192a96.11 96.11 0 0 0 96 96h112a96.11 96.11 0 0 0 96-96v-80h18a62.07 62.07 0 0 0 62-62V96a32 32 0 0 0-32-32zm0 66a30 30 0 0 1-30 30h-18V96h48zm-32 270H64a16 16 0 0 0 0 32h336a16 16 0 0 0 0-32z\"},\"child\":[]}]})(props);\n};\nexport function IoCalculatorOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"288\",\"height\":\"416\",\"x\":\"112\",\"y\":\"48\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"32\",\"ry\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M160.01 112H352v64H160.01z\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"168\",\"cy\":\"248\",\"r\":\"24\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"248\",\"r\":\"24\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"344\",\"cy\":\"248\",\"r\":\"24\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"168\",\"cy\":\"328\",\"r\":\"24\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"328\",\"r\":\"24\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"168\",\"cy\":\"408\",\"r\":\"24\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"408\",\"r\":\"24\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"48\",\"height\":\"128\",\"x\":\"320\",\"y\":\"304\",\"rx\":\"24\",\"ry\":\"24\"},\"child\":[]}]})(props);\n};\nexport function IoCalculatorSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416 48a16 16 0 0 0-16-16H112a16 16 0 0 0-16 16v416a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16zM192 432h-48v-48h48zm0-80h-48v-48h48zm0-80h-48v-48h48zm88 160h-48v-48h48zm0-80h-48v-48h48zm0-80h-48v-48h48zm88 160h-48V304h48zm0-160h-48v-48h48zm0-96H144V80h224z\"},\"child\":[]}]})(props);\n};\nexport function IoCalculator (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416 80a48.05 48.05 0 0 0-48-48H144a48.05 48.05 0 0 0-48 48v352a48.05 48.05 0 0 0 48 48h224a48.05 48.05 0 0 0 48-48zM168 432a24 24 0 1 1 24-24 24 24 0 0 1-24 24zm0-80a24 24 0 1 1 24-24 24 24 0 0 1-24 24zm0-80a24 24 0 1 1 24-24 24 24 0 0 1-24 24zm88 160a24 24 0 1 1 24-24 24 24 0 0 1-24 24zm0-80a24 24 0 1 1 24-24 24 24 0 0 1-24 24zm0-80a24 24 0 1 1 24-24 24 24 0 0 1-24 24zm112 136a24 24 0 0 1-48 0v-80a24 24 0 0 1 48 0zm-24-136a24 24 0 1 1 24-24 24 24 0 0 1-24 24zm19.31-100.69A16 16 0 0 1 352 176H160a16 16 0 0 1-16-16V96a16 16 0 0 1 16-16h192a16 16 0 0 1 16 16v64a16 16 0 0 1-4.69 11.31z\"},\"child\":[]}]})(props);\n};\nexport function IoCalendarClearOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"416\",\"height\":\"384\",\"x\":\"48\",\"y\":\"80\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"48\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M128 48v32m256-32v32m80 80H48\"},\"child\":[]}]})(props);\n};\nexport function IoCalendarClearSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M32 456a24 24 0 0 0 24 24h400a24 24 0 0 0 24-24V192H32zM480 87.77A23.8 23.8 0 0 0 456 64h-55.92V32h-48v32H159.92V32h-48v32H56a23.8 23.8 0 0 0-24 23.77V144h448z\"},\"child\":[]}]})(props);\n};\nexport function IoCalendarClear (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M480 128a64 64 0 0 0-64-64h-16V48.45c0-8.61-6.62-16-15.23-16.43A16 16 0 0 0 368 48v16H144V48.45c0-8.61-6.62-16-15.23-16.43A16 16 0 0 0 112 48v16H96a64 64 0 0 0-64 64v12a4 4 0 0 0 4 4h440a4 4 0 0 0 4-4zM32 416a64 64 0 0 0 64 64h320a64 64 0 0 0 64-64V180a4 4 0 0 0-4-4H36a4 4 0 0 0-4 4z\"},\"child\":[]}]})(props);\n};\nexport function IoCalendarNumberOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"416\",\"height\":\"384\",\"x\":\"48\",\"y\":\"80\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"48\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M128 48v32m256-32v32m80 80H48m256 100 43.42-32H352v168m-160.13-89.37c9.11 0 25.79-4.28 36.72-15.47a37.9 37.9 0 0 0 11.13-27.26c0-26.12-22.59-39.9-47.89-39.9-21.4 0-33.52 11.61-37.85 18.93M149 374.16c4.88 8.27 19.71 25.84 43.88 25.84 28.59 0 52.12-15.94 52.12-43.82 0-12.62-3.66-24-11.58-32.07-12.36-12.64-31.25-17.48-41.55-17.48\"},\"child\":[]}]})(props);\n};\nexport function IoCalendarNumberSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M32 456a24 24 0 0 0 24 24h400a24 24 0 0 0 24-24V176H32zm310.17-244H368v200h-32V256.29l-35.39 26.08-19-25.76zM222 335.3c-8.54-8.74-22.75-12.67-30.11-12.67h-16v-32h16c4.85 0 17.41-2.6 25.28-10.65a22 22 0 0 0 6.57-16.08c0-23.23-28.63-23.9-31.89-23.9-17.34 0-23.8 10.61-24.07 11.06l-8.13 13.78-27.56-16.27 8.14-13.77c7.64-13 25.22-26.8 51.62-26.8 16.44 0 31.76 4.77 43.13 13.42 13.39 10.2 20.76 25.28 20.76 42.48A54 54 0 0 1 240 302.35c-1.15 1.18-2.36 2.28-3.59 3.35a66.18 66.18 0 0 1 8.42 7.23c10.56 10.8 16.14 25.75 16.14 43.25 0 18.06-7.61 34-21.42 44.92-12.17 9.61-28.75 14.9-46.7 14.9-27.87 0-48.48-18.16-57.66-33.7l-8.13-13.78 27.56-16.27 8.16 13.75c1.08 1.84 11.15 18 30.1 18 16.66 0 36.12-7.29 36.12-27.82 0-6.25-1.22-14.95-7-20.88zM456 64h-55.92V32h-48v32H159.92V32h-48v32H56a23.8 23.8 0 0 0-24 23.77V144h448V87.77A23.8 23.8 0 0 0 456 64z\"},\"child\":[]}]})(props);\n};\nexport function IoCalendarNumber (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416 64h-16V48.45c0-8.61-6.62-16-15.23-16.43A16 16 0 0 0 368 48v16H144V48.45c0-8.61-6.62-16-15.23-16.43A16 16 0 0 0 112 48v16H96a64 64 0 0 0-64 64v12a4 4 0 0 0 4 4h440a4 4 0 0 0 4-4v-12a64 64 0 0 0-64-64zm60 112H36a4 4 0 0 0-4 4v236a64 64 0 0 0 64 64h320a64 64 0 0 0 64-64V180a4 4 0 0 0-4-4zM239.58 401.1c-12.17 9.61-28.75 14.9-46.7 14.9-27.87 0-48.48-18.16-57.66-33.7a16 16 0 0 1 27.56-16.3c1.08 1.84 11.15 18 30.1 18 16.66 0 36.12-7.29 36.12-27.82 0-6.25-1.22-14.95-7-20.88-8.54-8.74-22.75-12.67-30.11-12.67a16 16 0 0 1 0-32c4.85 0 17.41-2.6 25.28-10.65a22 22 0 0 0 6.57-16.08c0-23.23-28.63-23.9-31.89-23.9-17.34 0-23.8 10.61-24.07 11.06a16 16 0 1 1-27.55-16.26c7.64-13 25.22-26.8 51.62-26.8 16.44 0 31.76 4.77 43.13 13.42 13.39 10.2 20.76 25.28 20.76 42.48A54 54 0 0 1 240 302.35c-1.15 1.18-2.36 2.28-3.59 3.35a66.18 66.18 0 0 1 8.42 7.23c10.56 10.8 16.14 25.75 16.14 43.25.03 18.06-7.58 34.01-21.39 44.92zM368 396a16 16 0 0 1-32 0V256.29l-22.51 16.59a16 16 0 1 1-19-25.76l43.42-32a16 16 0 0 1 9.49-3.12h4.6a16 16 0 0 1 16 16z\"},\"child\":[]}]})(props);\n};\nexport function IoCalendarOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"416\",\"height\":\"384\",\"x\":\"48\",\"y\":\"80\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"48\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"296\",\"cy\":\"232\",\"r\":\"24\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"376\",\"cy\":\"232\",\"r\":\"24\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"296\",\"cy\":\"312\",\"r\":\"24\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"376\",\"cy\":\"312\",\"r\":\"24\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"136\",\"cy\":\"312\",\"r\":\"24\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"216\",\"cy\":\"312\",\"r\":\"24\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"136\",\"cy\":\"392\",\"r\":\"24\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"216\",\"cy\":\"392\",\"r\":\"24\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"296\",\"cy\":\"392\",\"r\":\"24\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M128 48v32m256-32v32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M464 160H48\"},\"child\":[]}]})(props);\n};\nexport function IoCalendarSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M32 456a24 24 0 0 0 24 24h400a24 24 0 0 0 24-24V176H32zm320-244a4 4 0 0 1 4-4h40a4 4 0 0 1 4 4v40a4 4 0 0 1-4 4h-40a4 4 0 0 1-4-4zm0 80a4 4 0 0 1 4-4h40a4 4 0 0 1 4 4v40a4 4 0 0 1-4 4h-40a4 4 0 0 1-4-4zm-80-80a4 4 0 0 1 4-4h40a4 4 0 0 1 4 4v40a4 4 0 0 1-4 4h-40a4 4 0 0 1-4-4zm0 80a4 4 0 0 1 4-4h40a4 4 0 0 1 4 4v40a4 4 0 0 1-4 4h-40a4 4 0 0 1-4-4zm0 80a4 4 0 0 1 4-4h40a4 4 0 0 1 4 4v40a4 4 0 0 1-4 4h-40a4 4 0 0 1-4-4zm-80-80a4 4 0 0 1 4-4h40a4 4 0 0 1 4 4v40a4 4 0 0 1-4 4h-40a4 4 0 0 1-4-4zm0 80a4 4 0 0 1 4-4h40a4 4 0 0 1 4 4v40a4 4 0 0 1-4 4h-40a4 4 0 0 1-4-4zm-80-80a4 4 0 0 1 4-4h40a4 4 0 0 1 4 4v40a4 4 0 0 1-4 4h-40a4 4 0 0 1-4-4zm0 80a4 4 0 0 1 4-4h40a4 4 0 0 1 4 4v40a4 4 0 0 1-4 4h-40a4 4 0 0 1-4-4zM456 64h-55.92V32h-48v32H159.92V32h-48v32H56a23.8 23.8 0 0 0-24 23.77V144h448V87.77A23.8 23.8 0 0 0 456 64z\"},\"child\":[]}]})(props);\n};\nexport function IoCalendar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M480 128a64 64 0 0 0-64-64h-16V48.45c0-8.61-6.62-16-15.23-16.43A16 16 0 0 0 368 48v16H144V48.45c0-8.61-6.62-16-15.23-16.43A16 16 0 0 0 112 48v16H96a64 64 0 0 0-64 64v12a4 4 0 0 0 4 4h440a4 4 0 0 0 4-4zM32 416a64 64 0 0 0 64 64h320a64 64 0 0 0 64-64V179a3 3 0 0 0-3-3H35a3 3 0 0 0-3 3zm344-208a24 24 0 1 1-24 24 24 24 0 0 1 24-24zm0 80a24 24 0 1 1-24 24 24 24 0 0 1 24-24zm-80-80a24 24 0 1 1-24 24 24 24 0 0 1 24-24zm0 80a24 24 0 1 1-24 24 24 24 0 0 1 24-24zm0 80a24 24 0 1 1-24 24 24 24 0 0 1 24-24zm-80-80a24 24 0 1 1-24 24 24 24 0 0 1 24-24zm0 80a24 24 0 1 1-24 24 24 24 0 0 1 24-24zm-80-80a24 24 0 1 1-24 24 24 24 0 0 1 24-24zm0 80a24 24 0 1 1-24 24 24 24 0 0 1 24-24z\"},\"child\":[]}]})(props);\n};\nexport function IoCallOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M451 374c-15.88-16-54.34-39.35-73-48.76-24.3-12.24-26.3-13.24-45.4.95-12.74 9.47-21.21 17.93-36.12 14.75s-47.31-21.11-75.68-49.39-47.34-61.62-50.53-76.48 5.41-23.23 14.79-36c13.22-18 12.22-21 .92-45.3-8.81-18.9-32.84-57-48.9-72.8C119.9 44 119.9 47 108.83 51.6A160.15 160.15 0 0 0 83 65.37C67 76 58.12 84.83 51.91 98.1s-9 44.38 23.07 102.64 54.57 88.05 101.14 134.49S258.5 406.64 310.85 436c64.76 36.27 89.6 29.2 102.91 23s22.18-15 32.83-31a159.09 159.09 0 0 0 13.8-25.8C465 391.17 468 391.17 451 374z\"},\"child\":[]}]})(props);\n};\nexport function IoCallSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M478.94 370.14c-5.22-5.56-23.65-22-57.53-43.75-34.13-21.94-59.3-35.62-66.52-38.81a3.83 3.83 0 0 0-3.92.49c-11.63 9.07-31.21 25.73-32.26 26.63-6.78 5.81-6.78 5.81-12.33 4-9.76-3.2-40.08-19.3-66.5-45.78s-43.35-57.55-46.55-67.3c-1.83-5.56-1.83-5.56 4-12.34.9-1.05 17.57-20.63 26.64-32.25a3.83 3.83 0 0 0 .49-3.92c-3.19-7.23-16.87-32.39-38.81-66.52-21.78-33.87-38.2-52.3-43.76-57.52a3.9 3.9 0 0 0-3.89-.87 322.35 322.35 0 0 0-56 25.45A338 338 0 0 0 33.35 92a3.83 3.83 0 0 0-1.26 3.74c2.09 9.74 12.08 50.4 43.08 106.72 31.63 57.48 53.55 86.93 100 133.22S252 405.21 309.54 436.84c56.32 31 97 41 106.72 43.07a3.86 3.86 0 0 0 3.75-1.26A337.73 337.73 0 0 0 454.35 430a322.7 322.7 0 0 0 25.45-56 3.9 3.9 0 0 0-.86-3.86z\"},\"child\":[]}]})(props);\n};\nexport function IoCall (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M391 480c-19.52 0-46.94-7.06-88-30-49.93-28-88.55-53.85-138.21-103.38C116.91 298.77 93.61 267.79 61 208.45c-36.84-67-30.56-102.12-23.54-117.13C45.82 73.38 58.16 62.65 74.11 52a176.3 176.3 0 0 1 28.64-15.2c1-.43 1.93-.84 2.76-1.21 4.95-2.23 12.45-5.6 21.95-2 6.34 2.38 12 7.25 20.86 16 18.17 17.92 43 57.83 52.16 77.43 6.15 13.21 10.22 21.93 10.23 31.71 0 11.45-5.76 20.28-12.75 29.81-1.31 1.79-2.61 3.5-3.87 5.16-7.61 10-9.28 12.89-8.18 18.05 2.23 10.37 18.86 41.24 46.19 68.51s57.31 42.85 67.72 45.07c5.38 1.15 8.33-.59 18.65-8.47 1.48-1.13 3-2.3 4.59-3.47 10.66-7.93 19.08-13.54 30.26-13.54h.06c9.73 0 18.06 4.22 31.86 11.18 18 9.08 59.11 33.59 77.14 51.78 8.77 8.84 13.66 14.48 16.05 20.81 3.6 9.53.21 17-2 22-.37.83-.78 1.74-1.21 2.75a176.49 176.49 0 0 1-15.29 28.58c-10.63 15.9-21.4 28.21-39.38 36.58A67.42 67.42 0 0 1 391 480z\"},\"child\":[]}]})(props);\n};\nexport function IoCameraOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m350.54 148.68-26.62-42.06C318.31 100.08 310.62 96 302 96h-92c-8.62 0-16.31 4.08-21.92 10.62l-26.62 42.06C155.85 155.23 148.62 160 140 160H80a32 32 0 0 0-32 32v192a32 32 0 0 0 32 32h352a32 32 0 0 0 32-32V192a32 32 0 0 0-32-32h-59c-8.65 0-16.85-4.77-22.46-11.32z\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"272\",\"r\":\"80\",\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M124 158v-22h-24v22\"},\"child\":[]}]})(props);\n};\nexport function IoCameraReverseOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m350.54 148.68-26.62-42.06C318.31 100.08 310.62 96 302 96h-92c-8.62 0-16.31 4.08-21.92 10.62l-26.62 42.06C155.85 155.23 148.62 160 140 160H80a32 32 0 0 0-32 32v192a32 32 0 0 0 32 32h352a32 32 0 0 0 32-32V192a32 32 0 0 0-32-32h-59c-8.65 0-16.85-4.77-22.46-11.32z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M124 158v-22h-24v22m235.76 127.22v-13.31a80 80 0 0 0-131-61.6M176 258.78v13.31a80 80 0 0 0 130.73 61.8\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m196 272-20-20-20 20m200 0-20 20-20-20\"},\"child\":[]}]})(props);\n};\nexport function IoCameraReverseSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M456 144h-83c-3 0-6.72-1.94-9.62-5l-27.31-42.79C326 80 320 80 302 80h-92c-18 0-23 0-34.07 16.21L148.62 139c-2.22 2.42-5.34 5-8.62 5v-16a8 8 0 0 0-8-8H92a8 8 0 0 0-8 8v16H56a24 24 0 0 0-24 24v240a24 24 0 0 0 24 24h400a24 24 0 0 0 24-24V168a24 24 0 0 0-24-24zM256 368c-47.82 0-87.76-34.23-95-80h-43.63L176 229.37 234.63 288H194a64.07 64.07 0 0 0 102.63 33.49L320 343l-3.68 3.72A96.64 96.64 0 0 1 256 368zm80-53.84L277.11 256H318a64.26 64.26 0 0 0-103-33.36L192 200l3.14-2.45A96.19 96.19 0 0 1 255.76 176c47.85 0 87 34.19 94.24 80h44.92z\"},\"child\":[]}]})(props);\n};\nexport function IoCameraReverse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M432 144h-59c-3 0-6.72-1.94-9.62-5l-25.94-40.94a15.52 15.52 0 0 0-1.37-1.85C327.11 85.76 315 80 302 80h-92c-13 0-25.11 5.76-34.07 16.21a15.52 15.52 0 0 0-1.37 1.85l-25.94 41c-2.22 2.42-5.34 5-8.62 5v-8a16 16 0 0 0-16-16h-24a16 16 0 0 0-16 16v8h-4a48.05 48.05 0 0 0-48 48V384a48.05 48.05 0 0 0 48 48h352a48.05 48.05 0 0 0 48-48V192a48.05 48.05 0 0 0-48-48zM316.84 346.3a96.06 96.06 0 0 1-155.66-59.18 16 16 0 0 1-16.49-26.43l20-20a16 16 0 0 1 22.62 0l20 20A16 16 0 0 1 196 288a17.31 17.31 0 0 1-2-.14 64.07 64.07 0 0 0 102.66 33.63 16 16 0 1 1 20.21 24.81zm50.47-63-20 20a16 16 0 0 1-22.62 0l-20-20a16 16 0 0 1 13.09-27.2A64 64 0 0 0 215 222.64 16 16 0 1 1 194.61 198a96 96 0 0 1 156 59 16 16 0 0 1 16.72 26.35z\"},\"child\":[]}]})(props);\n};\nexport function IoCameraSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"272\",\"r\":\"64\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M456 144h-83c-3 0-6.72-1.94-9.62-5L336.1 96.2C325 80 320 80 302 80h-92c-18 0-24 0-34.07 16.21L148.62 139c-2.22 2.42-5.34 5-8.62 5v-16a8 8 0 0 0-8-8H92a8 8 0 0 0-8 8v16H56a24 24 0 0 0-24 24v240a24 24 0 0 0 24 24h400a24 24 0 0 0 24-24V168a24 24 0 0 0-24-24zM260.51 367.9a96 96 0 1 1 91.39-91.39 96.11 96.11 0 0 1-91.39 91.39z\"},\"child\":[]}]})(props);\n};\nexport function IoCamera (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"272\",\"r\":\"64\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M432 144h-59c-3 0-6.72-1.94-9.62-5l-25.94-40.94a15.52 15.52 0 0 0-1.37-1.85C327.11 85.76 315 80 302 80h-92c-13 0-25.11 5.76-34.07 16.21a15.52 15.52 0 0 0-1.37 1.85l-25.94 41c-2.22 2.42-5.34 5-8.62 5v-8a16 16 0 0 0-16-16h-24a16 16 0 0 0-16 16v8h-4a48.05 48.05 0 0 0-48 48V384a48.05 48.05 0 0 0 48 48h352a48.05 48.05 0 0 0 48-48V192a48.05 48.05 0 0 0-48-48zM256 368a96 96 0 1 1 96-96 96.11 96.11 0 0 1-96 96z\"},\"child\":[]}]})(props);\n};\nexport function IoCarOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m80 224 37.78-88.15C123.93 121.5 139.6 112 157.11 112h197.78c17.51 0 33.18 9.5 39.33 23.85L432 224m-352 0h352v144H80zm32 144v32H80v-32m352 0v32h-32v-32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"144\",\"cy\":\"288\",\"r\":\"16\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"368\",\"cy\":\"288\",\"r\":\"16\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]}]})(props);\n};\nexport function IoCarSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M447.68 220.78a16.44 16.44 0 0 0-1-3.1l-48-112A16 16 0 0 0 384 96H128a16 16 0 0 0-14.71 9.7l-48 112a16.44 16.44 0 0 0-1 3.1A16.15 16.15 0 0 0 64 224v184a8 8 0 0 0 8 8h32a8 8 0 0 0 8-8v-24h288v24a8 8 0 0 0 8 8h32a8 8 0 0 0 8-8V224a16.15 16.15 0 0 0-.32-3.22zM144 320a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm224 0a32 32 0 1 1 32-32 32 32 0 0 1-32 32zM104.26 208l34.29-80h234.9l34.29 80z\"},\"child\":[]}]})(props);\n};\nexport function IoCarSportOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M469.71 234.6c-7.33-9.73-34.56-16.43-46.08-33.94s-20.95-55.43-50.27-70S288 112 256 112s-88 4-117.36 18.63-38.75 52.52-50.27 70-38.75 24.24-46.08 33.97S29.8 305.84 32.94 336s9 48 9 48h86c14.08 0 18.66-5.29 47.46-8 31.6-3 62.6-4 80.6-4s50 1 81.58 4c28.8 2.73 33.53 8 47.46 8h85s5.86-17.84 9-48-2.04-91.67-9.33-101.4zM400 384h56v16h-56zm-344 0h56v16H56z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M364.47 309.16c-5.91-6.83-25.17-12.53-50.67-16.35S279 288 256.2 288s-33.17 1.64-57.61 4.81-42.79 8.81-50.66 16.35C136.12 320.6 153.42 333.44 167 335c13.16 1.5 39.47.95 89.31.95s76.15.55 89.31-.95c13.56-1.65 29.62-13.6 18.85-25.84zm67.1-66.11a3.23 3.23 0 0 0-3.1-3c-11.81-.42-23.8.42-45.07 6.69a93.88 93.88 0 0 0-30.08 15.06c-2.28 1.78-1.47 6.59 1.39 7.1a455.32 455.32 0 0 0 52.82 3.1c10.59 0 21.52-3 23.55-12.44a52.41 52.41 0 0 0 .49-16.51zm-351.14 0a3.23 3.23 0 0 1 3.1-3c11.81-.42 23.8.42 45.07 6.69a93.88 93.88 0 0 1 30.08 15.06c2.28 1.78 1.47 6.59-1.39 7.1a455.32 455.32 0 0 1-52.82 3.1c-10.59 0-21.52-3-23.55-12.44a52.41 52.41 0 0 1-.49-16.51z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M432 192h16m-384 0h16m-2 19s46.35-12 178-12 178 12 178 12\"},\"child\":[]}]})(props);\n};\nexport function IoCarSportSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M488 224c-3-5-32.61-17.79-32.61-17.79 5.15-2.66 8.67-3.21 8.67-14.21 0-12-.06-16-8.06-16h-27.14c-.11-.24-.23-.49-.34-.74-17.52-38.26-19.87-47.93-46-60.95C347.47 96.88 281.76 96 256 96s-91.47.88-126.49 18.31c-26.16 13-25.51 19.69-46 60.95 0 .11-.21.4-.4.74H55.94c-7.94 0-8 4-8 16 0 11 3.52 11.55 8.67 14.21C56.61 206.21 28 220 24 224s-8 32-8 80 4 96 4 96h11.94c0 14 2.06 16 8.06 16h80c6 0 8-2 8-16h256c0 14 2 16 8 16h82c4 0 6-3 6-16h12s4-49 4-96-5-75-8-80zm-362.74 44.94A516.94 516.94 0 0 1 70.42 272c-20.42 0-21.12 1.31-22.56-11.44a72.16 72.16 0 0 1 .51-17.51L49 240h3c12 0 23.27.51 44.55 6.78a98 98 0 0 1 30.09 15.06C131 265 132 268 132 268zm247.16 72L368 352H144s.39-.61-5-11.18c-4-7.82 1-12.82 8.91-15.66C163.23 319.64 208 304 256 304s93.66 13.48 108.5 21.16C370 328 376.83 330 372.42 341zm-257-136.53a96.23 96.23 0 0 1-9.7.07c2.61-4.64 4.06-9.81 6.61-15.21 8-17 17.15-36.24 33.44-44.35 23.54-11.72 72.33-17 110.23-17s86.69 5.24 110.23 17c16.29 8.11 25.4 27.36 33.44 44.35 2.57 5.45 4 10.66 6.68 15.33-2 .11-4.3 0-9.79-.19zm347.72 56.11C461 273 463 272 441.58 272a516.94 516.94 0 0 1-54.84-3.06c-2.85-.51-3.66-5.32-1.38-7.1a93.84 93.84 0 0 1 30.09-15.06c21.28-6.27 33.26-7.11 45.09-6.69a3.22 3.22 0 0 1 3.09 3 70.18 70.18 0 0 1-.49 17.47z\"},\"child\":[]}]})(props);\n};\nexport function IoCarSport (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M494.26 276.22c-3.6-40.41-9.53-48.28-11.77-51.24-5.15-6.84-13.39-11.31-22.11-16a3.6 3.6 0 0 1-.91-5.68 15.93 15.93 0 0 0 4.53-12.53A16.27 16.27 0 0 0 447.65 176h-15.6a17 17 0 0 0-2 .13 8.5 8.5 0 0 0-1.41-.47c-9.24-19.53-21.89-46.27-48.11-59.32C341.64 97 270 96 256 96s-85.64 1-124.48 20.31c-26.22 13.05-38.87 39.79-48.11 59.32l-.08.16a6.52 6.52 0 0 0-1.35.34 17 17 0 0 0-2-.13H64.35A16.27 16.27 0 0 0 48 190.77a15.93 15.93 0 0 0 4.59 12.47 3.6 3.6 0 0 1-.91 5.68c-8.72 4.72-17 9.19-22.11 16-2.24 3-8.16 10.83-11.77 51.24-2 22.74-2.3 46.28-.73 61.44 3.29 31.5 9.46 50.54 9.72 51.33a16 16 0 0 0 13.2 10.87v.2a16 16 0 0 0 16 16h56a16 16 0 0 0 16-16c8.61 0 14.6-1.54 20.95-3.18a158.83 158.83 0 0 1 28-4.91C207.45 389 237.79 388 256 388c17.84 0 49.52 1 80.08 3.91a159.16 159.16 0 0 1 28.11 4.93c6.08 1.56 11.85 3 19.84 3.15a16 16 0 0 0 16 16h56a16 16 0 0 0 16-16v-.12A16 16 0 0 0 485.27 389c.26-.79 6.43-19.83 9.72-51.33 1.57-15.17 1.29-38.67-.73-61.45zm-381.93-86.91c8-17 17.15-36.24 33.44-44.35 23.54-11.72 72.33-17 110.23-17s86.69 5.24 110.23 17c16.29 8.11 25.4 27.36 33.44 44.35l1 2.17a8 8 0 0 1-7.44 11.42C360 202 290 199.12 256 199.12s-104 2.95-137.28 3.85a8 8 0 0 1-7.44-11.42c.35-.74.72-1.49 1.05-2.24zm11.93 79.63A427.17 427.17 0 0 1 72.42 272c-10.6 0-21.53-3-23.56-12.44-1.39-6.35-1.24-9.92-.49-13.51C49 243 50 240.78 55 240c13-2 20.27.51 41.55 6.78 14.11 4.15 24.29 9.68 30.09 14.06 2.91 2.16 1.36 7.8-2.38 8.1zm221.38 82c-13.16 1.5-39.48.95-89.34.95s-76.17.55-89.33-.95c-13.58-1.51-30.89-14.35-19.07-25.79 7.87-7.54 26.23-13.18 50.68-16.35s34.8-4.8 57.62-4.8 32.12 1 57.62 4.81 44.77 9.52 50.68 16.35c10.78 12.24-5.29 24.19-18.86 25.84zm117.5-91.39c-2 9.48-13 12.44-23.56 12.44a455.91 455.91 0 0 1-52.84-3.06c-3.06-.29-4.48-5.66-1.38-8.1 5.71-4.49 16-9.91 30.09-14.06 21.28-6.27 33.55-8.78 44.09-6.69 2.57.51 3.93 3.27 4.09 5a40.64 40.64 0 0 1-.49 14.48z\"},\"child\":[]}]})(props);\n};\nexport function IoCar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M447.68 220.78a16 16 0 0 0-1-3.08l-37.78-88.16C400.19 109.17 379 96 354.89 96H157.11c-24.09 0-45.3 13.17-54 33.54L65.29 217.7A15.72 15.72 0 0 0 64 224v176a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-16h256v16a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V224a16.15 16.15 0 0 0-.32-3.22zM144 320a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm224 0a32 32 0 1 1 32-32 32 32 0 0 1-32 32zM104.26 208l28.23-65.85C136.11 133.69 146 128 157.11 128h197.78c11.1 0 21 5.69 24.62 14.15L407.74 208z\"},\"child\":[]}]})(props);\n};\nexport function IoCardOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"416\",\"height\":\"320\",\"x\":\"48\",\"y\":\"96\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"56\",\"ry\":\"56\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"60\",\"d\":\"M48 192h416M128 300h48v20h-48z\"},\"child\":[]}]})(props);\n};\nexport function IoCardSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M32 416a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V222H32zm66-138a8 8 0 0 1 8-8h92a8 8 0 0 1 8 8v64a8 8 0 0 1-8 8h-92a8 8 0 0 1-8-8zM464 80H48a16 16 0 0 0-16 16v66h448V96a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function IoCard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M32 376a56 56 0 0 0 56 56h336a56 56 0 0 0 56-56V222H32zm66-76a30 30 0 0 1 30-30h48a30 30 0 0 1 30 30v20a30 30 0 0 1-30 30h-48a30 30 0 0 1-30-30zM424 80H88a56 56 0 0 0-56 56v26h448v-26a56 56 0 0 0-56-56z\"},\"child\":[]}]})(props);\n};\nexport function IoCaretBackCircleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m273.77 169.57-89.09 74.13a16 16 0 0 0 0 24.6l89.09 74.13A16 16 0 0 0 300 330.14V181.86a16 16 0 0 0-26.23-12.29z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192 192-86 192-192z\"},\"child\":[]}]})(props);\n};\nexport function IoCaretBackCircleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M48 256c0 114.87 93.13 208 208 208s208-93.13 208-208S370.87 48 256 48 48 141.13 48 256zm252 108.27L169.91 256 300 147.73z\"},\"child\":[]}]})(props);\n};\nexport function IoCaretBackCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M48 256c0 114.87 93.13 208 208 208s208-93.13 208-208S370.87 48 256 48 48 141.13 48 256zm252-74.14v148.28a16 16 0 0 1-26.23 12.29l-89.09-74.13a16 16 0 0 1 0-24.6l89.09-74.13A16 16 0 0 1 300 181.86z\"},\"child\":[]}]})(props);\n};\nexport function IoCaretBackOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M321.94 98 158.82 237.78a24 24 0 0 0 0 36.44L321.94 414c15.57 13.34 39.62 2.28 39.62-18.22v-279.6c0-20.5-24.05-31.56-39.62-18.18z\"},\"child\":[]}]})(props);\n};\nexport function IoCaretBackSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M368 64 144 256l224 192V64z\"},\"child\":[]}]})(props);\n};\nexport function IoCaretBack (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M321.94 98 158.82 237.78a24 24 0 0 0 0 36.44L321.94 414c15.57 13.34 39.62 2.28 39.62-18.22v-279.6c0-20.5-24.05-31.56-39.62-18.18z\"},\"child\":[]}]})(props);\n};\nexport function IoCaretDownCircleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m342.43 238.23-74.13 89.09a16 16 0 0 1-24.6 0l-74.13-89.09A16 16 0 0 1 181.86 212h148.28a16 16 0 0 1 12.29 26.23z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192 192-86 192-192z\"},\"child\":[]}]})(props);\n};\nexport function IoCaretDownCircleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 256c0-114.87-93.13-208-208-208S48 141.13 48 256s93.13 208 208 208 208-93.13 208-208zm-99.73-44L256 342.09 147.73 212z\"},\"child\":[]}]})(props);\n};\nexport function IoCaretDownCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 256c0-114.87-93.13-208-208-208S48 141.13 48 256s93.13 208 208 208 208-93.13 208-208zm-121.57-17.77-74.13 89.09a16 16 0 0 1-24.6 0l-74.13-89.09A16 16 0 0 1 181.86 212h148.28a16 16 0 0 1 12.29 26.23z\"},\"child\":[]}]})(props);\n};\nexport function IoCaretDownOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m98 190.06 139.78 163.12a24 24 0 0 0 36.44 0L414 190.06c13.34-15.57 2.28-39.62-18.22-39.62h-279.6c-20.5 0-31.56 24.05-18.18 39.62z\"},\"child\":[]}]})(props);\n};\nexport function IoCaretDownSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m64 144 192 224 192-224H64z\"},\"child\":[]}]})(props);\n};\nexport function IoCaretDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m98 190.06 139.78 163.12a24 24 0 0 0 36.44 0L414 190.06c13.34-15.57 2.28-39.62-18.22-39.62h-279.6c-20.5 0-31.56 24.05-18.18 39.62z\"},\"child\":[]}]})(props);\n};\nexport function IoCaretForwardCircleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m238.23 342.43 89.09-74.13a16 16 0 0 0 0-24.6l-89.09-74.13A16 16 0 0 0 212 181.86v148.28a16 16 0 0 0 26.23 12.29z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192 192-86 192-192z\"},\"child\":[]}]})(props);\n};\nexport function IoCaretForwardCircleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 256c0-114.87-93.13-208-208-208S48 141.13 48 256s93.13 208 208 208 208-93.13 208-208zM212 147.73 342.09 256 212 364.27z\"},\"child\":[]}]})(props);\n};\nexport function IoCaretForwardCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 256c0-114.87-93.13-208-208-208S48 141.13 48 256s93.13 208 208 208 208-93.13 208-208zm-252 74.14V181.86a16 16 0 0 1 26.23-12.29l89.09 74.13a16 16 0 0 1 0 24.6l-89.09 74.13A16 16 0 0 1 212 330.14z\"},\"child\":[]}]})(props);\n};\nexport function IoCaretForwardOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m190.06 414 163.12-139.78a24 24 0 0 0 0-36.44L190.06 98c-15.57-13.34-39.62-2.28-39.62 18.22v279.6c0 20.5 24.05 31.56 39.62 18.18z\"},\"child\":[]}]})(props);\n};\nexport function IoCaretForwardSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m144 448 224-192L144 64v384z\"},\"child\":[]}]})(props);\n};\nexport function IoCaretForward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m190.06 414 163.12-139.78a24 24 0 0 0 0-36.44L190.06 98c-15.57-13.34-39.62-2.28-39.62 18.22v279.6c0 20.5 24.05 31.56 39.62 18.18z\"},\"child\":[]}]})(props);\n};\nexport function IoCaretUpCircleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m342.43 273.77-74.13-89.09a16 16 0 0 0-24.6 0l-74.13 89.09A16 16 0 0 0 181.86 300h148.28a16 16 0 0 0 12.29-26.23z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192 192-86 192-192z\"},\"child\":[]}]})(props);\n};\nexport function IoCaretUpCircleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.13 48 48 141.13 48 256s93.13 208 208 208 208-93.13 208-208S370.87 48 256 48zM147.73 300 256 169.91 364.27 300z\"},\"child\":[]}]})(props);\n};\nexport function IoCaretUpCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.13 48 48 141.13 48 256s93.13 208 208 208 208-93.13 208-208S370.87 48 256 48zm74.14 252H181.86a16 16 0 0 1-12.29-26.23l74.13-89.09a16 16 0 0 1 24.6 0l74.13 89.09A16 16 0 0 1 330.14 300z\"},\"child\":[]}]})(props);\n};\nexport function IoCaretUpOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M414 321.94 274.22 158.82a24 24 0 0 0-36.44 0L98 321.94c-13.34 15.57-2.28 39.62 18.22 39.62h279.6c20.5 0 31.56-24.05 18.18-39.62z\"},\"child\":[]}]})(props);\n};\nexport function IoCaretUpSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 368 256 144 64 368h384z\"},\"child\":[]}]})(props);\n};\nexport function IoCaretUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M414 321.94 274.22 158.82a24 24 0 0 0-36.44 0L98 321.94c-13.34 15.57-2.28 39.62 18.22 39.62h279.6c20.5 0 31.56-24.05 18.18-39.62z\"},\"child\":[]}]})(props);\n};\nexport function IoCartOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"176\",\"cy\":\"416\",\"r\":\"16\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"400\",\"cy\":\"416\",\"r\":\"16\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M48 80h64l48 272h256\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M160 288h249.44a8 8 0 0 0 7.85-6.43l28.8-144a8 8 0 0 0-7.85-9.57H128\"},\"child\":[]}]})(props);\n};\nexport function IoCartSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"176\",\"cy\":\"416\",\"r\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"400\",\"cy\":\"416\",\"r\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M167.78 304h261.34l38.4-192H133.89l-8.47-48H32v32h66.58l48 272H432v-32H173.42l-5.64-32z\"},\"child\":[]}]})(props);\n};\nexport function IoCart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"176\",\"cy\":\"416\",\"r\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"400\",\"cy\":\"416\",\"r\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M456.8 120.78a23.92 23.92 0 0 0-18.56-8.78H133.89l-6.13-34.78A16 16 0 0 0 112 64H48a16 16 0 0 0 0 32h50.58l45.66 258.78A16 16 0 0 0 160 368h256a16 16 0 0 0 0-32H173.42l-5.64-32h241.66A24.07 24.07 0 0 0 433 284.71l28.8-144a24 24 0 0 0-5-19.93z\"},\"child\":[]}]})(props);\n};\nexport function IoCashOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"448\",\"height\":\"256\",\"x\":\"32\",\"y\":\"80\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"16\",\"ry\":\"16\",\"transform\":\"rotate(180 256 208)\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M64 384h384M96 432h320\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"208\",\"r\":\"80\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M480 160a80 80 0 0 1-80-80M32 160a80 80 0 0 0 80-80m368 176a80 80 0 0 0-80 80M32 256a80 80 0 0 1 80 80\"},\"child\":[]}]})(props);\n};\nexport function IoCashSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M48 368h416v32H48zm32 48h352v32H80zm400-240a96.11 96.11 0 0 1-96-96V64H128v16a96.11 96.11 0 0 1-96 96H16v64h16a96.11 96.11 0 0 1 96 96v16h256v-16a96.11 96.11 0 0 1 96-96h16v-64zM256 304a96 96 0 1 1 96-96 96.11 96.11 0 0 1-96 96z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M96 80V64H16v80h16a64.07 64.07 0 0 0 64-64zM32 272H16v80h80v-16a64.07 64.07 0 0 0-64-64zm448-128h16V64h-80v16a64.07 64.07 0 0 0 64 64zm-64 192v16h80v-80h-16a64.07 64.07 0 0 0-64 64z\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"208\",\"r\":\"64\"},\"child\":[]}]})(props);\n};\nexport function IoCash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 400H64a16 16 0 0 1 0-32h384a16 16 0 0 1 0 32zm-32 48H96a16 16 0 0 1 0-32h320a16 16 0 0 1 0 32zM32 272H16v48a32 32 0 0 0 32 32h48v-16a64.07 64.07 0 0 0-64-64z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M480 240h16v-64h-16a96.11 96.11 0 0 1-96-96V64H128v16a96.11 96.11 0 0 1-96 96H16v64h16a96.11 96.11 0 0 1 96 96v16h256v-16a96.11 96.11 0 0 1 96-96zm-224 64a96 96 0 1 1 96-96 96.11 96.11 0 0 1-96 96z\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"208\",\"r\":\"64\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M416 336v16h48a32 32 0 0 0 32-32v-48h-16a64.07 64.07 0 0 0-64 64zm64-192h16V96a32 32 0 0 0-32-32h-48v16a64.07 64.07 0 0 0 64 64zM96 80V64H48a32 32 0 0 0-32 32v48h16a64.07 64.07 0 0 0 64-64z\"},\"child\":[]}]})(props);\n};\nexport function IoCellularOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"64\",\"height\":\"320\",\"x\":\"416\",\"y\":\"96\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"8\",\"ry\":\"8\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"64\",\"height\":\"240\",\"x\":\"288\",\"y\":\"176\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"8\",\"ry\":\"8\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"64\",\"height\":\"176\",\"x\":\"160\",\"y\":\"240\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"8\",\"ry\":\"8\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"64\",\"height\":\"112\",\"x\":\"32\",\"y\":\"304\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"8\",\"ry\":\"8\"},\"child\":[]}]})(props);\n};\nexport function IoCellularSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496 432h-96V80h96zm-128 0h-96V160h96zm-128 0h-96V224h96zm-128 0H16V288h96z\"},\"child\":[]}]})(props);\n};\nexport function IoCellular (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M472 432h-48a24 24 0 0 1-24-24V104a24 24 0 0 1 24-24h48a24 24 0 0 1 24 24v304a24 24 0 0 1-24 24zm-128 0h-48a24 24 0 0 1-24-24V184a24 24 0 0 1 24-24h48a24 24 0 0 1 24 24v224a24 24 0 0 1-24 24zm-128 0h-48a24 24 0 0 1-24-24V248a24 24 0 0 1 24-24h48a24 24 0 0 1 24 24v160a24 24 0 0 1-24 24zm-128 0H40a24 24 0 0 1-24-24v-96a24 24 0 0 1 24-24h48a24 24 0 0 1 24 24v96a24 24 0 0 1-24 24z\"},\"child\":[]}]})(props);\n};\nexport function IoChatboxEllipsesOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M408 64H104a56.16 56.16 0 0 0-56 56v192a56.16 56.16 0 0 0 56 56h40v80l93.72-78.14a8 8 0 0 1 5.13-1.86H408a56.16 56.16 0 0 0 56-56V120a56.16 56.16 0 0 0-56-56z\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"160\",\"cy\":\"216\",\"r\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"216\",\"r\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"352\",\"cy\":\"216\",\"r\":\"32\"},\"child\":[]}]})(props);\n};\nexport function IoChatboxEllipsesSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M456 48H56a24 24 0 0 0-24 24v288a24 24 0 0 0 24 24h72v80l117.74-80H456a24 24 0 0 0 24-24V72a24 24 0 0 0-24-24zM160 248a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm96 0a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm96 0a32 32 0 1 1 32-32 32 32 0 0 1-32 32zM456 80z\"},\"child\":[]}]})(props);\n};\nexport function IoChatboxEllipses (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M408 48H104a72.08 72.08 0 0 0-72 72v192a72.08 72.08 0 0 0 72 72h24v64a16 16 0 0 0 26.25 12.29L245.74 384H408a72.08 72.08 0 0 0 72-72V120a72.08 72.08 0 0 0-72-72zM160 248a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm96 0a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm96 0a32 32 0 1 1 32-32 32 32 0 0 1-32 32z\"},\"child\":[]}]})(props);\n};\nexport function IoChatboxOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M408 64H104a56.16 56.16 0 0 0-56 56v192a56.16 56.16 0 0 0 56 56h40v80l93.72-78.14a8 8 0 0 1 5.13-1.86H408a56.16 56.16 0 0 0 56-56V120a56.16 56.16 0 0 0-56-56z\"},\"child\":[]}]})(props);\n};\nexport function IoChatboxSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M128 464v-80H56a24 24 0 0 1-24-24V72a24 24 0 0 1 24-24h400a24 24 0 0 1 24 24v288a24 24 0 0 1-24 24H245.74zM456 80z\"},\"child\":[]}]})(props);\n};\nexport function IoChatbox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M144 464a16 16 0 0 1-16-16v-64h-24a72.08 72.08 0 0 1-72-72V120a72.08 72.08 0 0 1 72-72h304a72.08 72.08 0 0 1 72 72v192a72.08 72.08 0 0 1-72 72H245.74l-91.49 76.29A16.05 16.05 0 0 1 144 464z\"},\"child\":[]}]})(props);\n};\nexport function IoChatbubbleEllipsesOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M87.48 380c1.2-4.38-1.43-10.47-3.94-14.86a42.63 42.63 0 0 0-2.54-3.8 199.81 199.81 0 0 1-33-110C47.64 139.09 140.72 48 255.82 48 356.2 48 440 117.54 459.57 209.85a199 199 0 0 1 4.43 41.64c0 112.41-89.49 204.93-204.59 204.93-18.31 0-43-4.6-56.47-8.37s-26.92-8.77-30.39-10.11a31.14 31.14 0 0 0-11.13-2.07 30.7 30.7 0 0 0-12.08 2.43L81.5 462.78a15.92 15.92 0 0 1-4.66 1.22 9.61 9.61 0 0 1-9.58-9.74 15.85 15.85 0 0 1 .6-3.29z\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"160\",\"cy\":\"256\",\"r\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"r\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"352\",\"cy\":\"256\",\"r\":\"32\"},\"child\":[]}]})(props);\n};\nexport function IoChatbubbleEllipsesSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M475.22 206.52c-10.34-48.65-37.76-92.93-77.22-124.68A227.4 227.4 0 0 0 255.82 32C194.9 32 138 55.47 95.46 98.09 54.35 139.33 31.82 193.78 32 251.37a215.66 215.66 0 0 0 35.65 118.76l4.35 6.05L48 480l114.8-28.56s2.3.77 4 1.42 16.33 6.26 31.85 10.6c12.9 3.6 39.74 9 60.77 9 59.65 0 115.35-23.1 156.83-65.06C457.36 365.77 480 310.42 480 251.49a213.5 213.5 0 0 0-4.78-44.97zM160 288a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm96 0a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm96 0a32 32 0 1 1 32-32 32 32 0 0 1-32 32z\"},\"child\":[]}]})(props);\n};\nexport function IoChatbubbleEllipses (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M398 81.84A227.4 227.4 0 0 0 255.82 32C194.9 32 138 55.47 95.46 98.09 54.35 139.33 31.82 193.78 32 251.37a215.66 215.66 0 0 0 35.65 118.76l.19.27c.28.41.57.82.86 1.22s.65.92.73 1.05l.22.4c1.13 2 2 4.44 1.23 6.9l-18.42 66.66a29.13 29.13 0 0 0-1.2 7.63A25.69 25.69 0 0 0 76.83 480a29.44 29.44 0 0 0 10.45-2.29l67.49-24.36.85-.33a14.75 14.75 0 0 1 5.8-1.15 15.12 15.12 0 0 1 5.37 1c1.62.63 16.33 6.26 31.85 10.6 12.9 3.6 39.74 9 60.77 9 59.65 0 115.35-23.1 156.83-65.06C457.36 365.77 480 310.42 480 251.49a213.5 213.5 0 0 0-4.78-45c-10.34-48.62-37.76-92.9-77.22-124.65zM87.48 380zM160 288a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm96 0a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm96 0a32 32 0 1 1 32-32 32 32 0 0 1-32 32z\"},\"child\":[]}]})(props);\n};\nexport function IoChatbubbleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M87.49 380c1.19-4.38-1.44-10.47-3.95-14.86a44.86 44.86 0 0 0-2.54-3.8 199.81 199.81 0 0 1-33-110C47.65 139.09 140.73 48 255.83 48 356.21 48 440 117.54 459.58 209.85a199 199 0 0 1 4.42 41.64c0 112.41-89.49 204.93-204.59 204.93-18.3 0-43-4.6-56.47-8.37s-26.92-8.77-30.39-10.11a31.09 31.09 0 0 0-11.12-2.07 30.71 30.71 0 0 0-12.09 2.43l-67.83 24.48a16 16 0 0 1-4.67 1.22 9.6 9.6 0 0 1-9.57-9.74 15.85 15.85 0 0 1 .6-3.29z\"},\"child\":[]}]})(props);\n};\nexport function IoChatbubbleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M475.22 206.52c-10.34-48.65-37.76-92.93-77.22-124.68A227.4 227.4 0 0 0 255.82 32C194.9 32 138 55.47 95.46 98.09 54.35 139.33 31.82 193.78 32 251.37a215.66 215.66 0 0 0 35.65 118.76l4.35 6.05L48 480l114.8-28.56s2.3.77 4 1.42 16.33 6.26 31.85 10.6c12.9 3.6 39.74 9 60.77 9 59.65 0 115.35-23.1 156.83-65.06C457.36 365.77 480 310.42 480 251.49a213.5 213.5 0 0 0-4.78-44.97z\"},\"child\":[]}]})(props);\n};\nexport function IoChatbubble (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M76.83 480a25.69 25.69 0 0 1-25.57-25.74 29.13 29.13 0 0 1 1.2-7.63L70.88 380c.77-2.46-.1-4.94-1.23-6.9l-.22-.4c-.08-.13-.46-.66-.73-1.05s-.58-.81-.86-1.22l-.19-.27A215.66 215.66 0 0 1 32 251.37c-.18-57.59 22.35-112 63.46-153.28C138 55.47 194.9 32 255.82 32A227.4 227.4 0 0 1 398 81.84c39.45 31.75 66.87 76 77.21 124.68a213.5 213.5 0 0 1 4.78 45c0 58.93-22.64 114.28-63.76 155.87-41.48 42-97.18 65.06-156.83 65.06-21 0-47.87-5.36-60.77-9-15.52-4.34-30.23-10-31.85-10.6a15.12 15.12 0 0 0-5.37-1 14.75 14.75 0 0 0-5.8 1.15l-.85.33-67.48 24.38A29.44 29.44 0 0 1 76.83 480zm-2-31.8zM87.48 380z\"},\"child\":[]}]})(props);\n};\nexport function IoChatbubblesOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M431 320.6c-1-3.6 1.2-8.6 3.3-12.2a33.68 33.68 0 0 1 2.1-3.1A162 162 0 0 0 464 215c.3-92.2-77.5-167-173.7-167-83.9 0-153.9 57.1-170.3 132.9a160.7 160.7 0 0 0-3.7 34.2c0 92.3 74.8 169.1 171 169.1 15.3 0 35.9-4.6 47.2-7.7s22.5-7.2 25.4-8.3a26.44 26.44 0 0 1 9.3-1.7 26 26 0 0 1 10.1 2l56.7 20.1a13.52 13.52 0 0 0 3.9 1 8 8 0 0 0 8-8 12.85 12.85 0 0 0-.5-2.7z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M66.46 232a146.23 146.23 0 0 0 6.39 152.67c2.31 3.49 3.61 6.19 3.21 8s-11.93 61.87-11.93 61.87a8 8 0 0 0 2.71 7.68A8.17 8.17 0 0 0 72 464a7.26 7.26 0 0 0 2.91-.6l56.21-22a15.7 15.7 0 0 1 12 .2c18.94 7.38 39.88 12 60.83 12A159.21 159.21 0 0 0 284 432.11\"},\"child\":[]}]})(props);\n};\nexport function IoChatbubblesSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 312.43c.77-1.11 1.51-2.26 2.27-3.34A174.55 174.55 0 0 0 480 211.85C480.32 112.55 396.54 32 292.94 32c-90.36 0-165.74 61.49-183.4 143.12a172.81 172.81 0 0 0-4 36.83c0 99.4 80.56 182.11 184.16 182.11 16.47 0 38.66-4.95 50.83-8.29s24.23-7.75 27.35-8.94 8-2.41 11.89-1.29l77.42 22.38a4 4 0 0 0 5-4.86l-17.72-67.49c-1.23-5-1.39-5.94 3.53-13.14z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M312.54 415.38a165.32 165.32 0 0 1-23.26 2.05c-42.43 0-82.5-11.2-115-32.2a184.09 184.09 0 0 1-53.09-49.32c-26.08-34.57-40.3-78.51-40.3-124.49 0-3.13.11-6.14.22-9.16a4.34 4.34 0 0 0-7.54-3.12 158.76 158.76 0 0 0-14.86 195.24c2.47 3.77 3.87 6.68 3.44 8.62l-14.09 72.26a4 4 0 0 0 5.22 4.53l68-24.24a16.85 16.85 0 0 1 12.92.22c20.35 8 42.86 12.92 65.37 12.92a169.45 169.45 0 0 0 116.63-46 4.29 4.29 0 0 0-3.66-7.31z\"},\"child\":[]}]})(props);\n};\nexport function IoChatbubbles (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M60.44 389.17c0 .07 0 .2-.08.38.03-.12.05-.25.08-.38zM439.9 405.6a26.77 26.77 0 0 1-9.59-2l-56.78-20.13-.42-.17a9.88 9.88 0 0 0-3.91-.76 10.32 10.32 0 0 0-3.62.66c-1.38.52-13.81 5.19-26.85 8.77-7.07 1.94-31.68 8.27-51.43 8.27-50.48 0-97.68-19.4-132.89-54.63A183.38 183.38 0 0 1 100.3 215.1a175.9 175.9 0 0 1 4.06-37.58c8.79-40.62 32.07-77.57 65.55-104A194.76 194.76 0 0 1 290.3 32c52.21 0 100.86 20 137 56.18 34.16 34.27 52.88 79.33 52.73 126.87a177.86 177.86 0 0 1-30.3 99.15l-.19.28-.74 1c-.17.23-.34.45-.5.68l-.15.27a21.63 21.63 0 0 0-1.08 2.09l15.74 55.94a26.42 26.42 0 0 1 1.12 7.11 24 24 0 0 1-24.03 24.03z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M299.87 425.39a15.74 15.74 0 0 0-10.29-8.1c-5.78-1.53-12.52-1.27-17.67-1.65a201.78 201.78 0 0 1-128.82-58.75A199.21 199.21 0 0 1 86.4 244.16C85 234.42 85 232 85 232a16 16 0 0 0-28-10.58s-7.88 8.58-11.6 17.19a162.09 162.09 0 0 0 11 150.06C59 393 59 395 58.42 399.5c-2.73 14.11-7.51 39-10 51.91a24 24 0 0 0 8 22.92l.46.39A24.34 24.34 0 0 0 72 480a23.42 23.42 0 0 0 9-1.79l53.51-20.65a8.05 8.05 0 0 1 5.72 0c21.07 7.84 43 12 63.78 12a176 176 0 0 0 74.91-16.66c5.46-2.56 14-5.34 19-11.12a15 15 0 0 0 1.95-16.39z\"},\"child\":[]}]})(props);\n};\nexport function IoCheckboxOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M352 176 217.6 336 160 272\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"384\",\"height\":\"384\",\"x\":\"64\",\"y\":\"64\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"48\",\"ry\":\"48\"},\"child\":[]}]})(props);\n};\nexport function IoCheckboxSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M48 48v416h416V48zm170 312.38-80.6-89.57 23.79-21.41 56 62.22L350 153.46 374.54 174z\"},\"child\":[]}]})(props);\n};\nexport function IoCheckbox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 48H112a64.07 64.07 0 0 0-64 64v288a64.07 64.07 0 0 0 64 64h288a64.07 64.07 0 0 0 64-64V112a64.07 64.07 0 0 0-64-64zm-35.75 138.29-134.4 160a16 16 0 0 1-12 5.71h-.27a16 16 0 0 1-11.89-5.3l-57.6-64a16 16 0 1 1 23.78-21.4l45.29 50.32 122.59-145.91a16 16 0 0 1 24.5 20.58z\"},\"child\":[]}]})(props);\n};\nexport function IoCheckmarkCircleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192 192-86 192-192z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M352 176 217.6 336 160 272\"},\"child\":[]}]})(props);\n};\nexport function IoCheckmarkCircleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm-38 312.38-80.6-89.57 23.79-21.41 56 62.22L350 153.46 374.54 174z\"},\"child\":[]}]})(props);\n};\nexport function IoCheckmarkCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm108.25 138.29-134.4 160a16 16 0 0 1-12 5.71h-.27a16 16 0 0 1-11.89-5.3l-57.6-64a16 16 0 1 1 23.78-21.4l45.29 50.32 122.59-145.91a16 16 0 0 1 24.5 20.58z\"},\"child\":[]}]})(props);\n};\nexport function IoCheckmarkDoneCircleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192 192-86 192-192z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M368 192 256.13 320l-47.95-48m-16.23 48L144 272m161.71-80-51.55 59\"},\"child\":[]}]})(props);\n};\nexport function IoCheckmarkDoneCircleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm48.19 121.42 24.1 21.06-73.61 84.1-24.1-23.06zM191.93 342.63 121.37 272 144 249.37 214.57 320zm65 .79L185.55 272l22.64-22.62 47.16 47.21 111.13-127.17 24.1 21.06z\"},\"child\":[]}]})(props);\n};\nexport function IoCheckmarkDoneCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M258.9 48C141.92 46.42 46.42 141.92 48 258.9c1.56 112.19 92.91 203.54 205.1 205.1 117 1.6 212.48-93.9 210.88-210.88C462.44 140.91 371.09 49.56 258.9 48zm-16.79 192.47 51.55-59a16 16 0 0 1 24.1 21.06l-51.55 59a16 16 0 1 1-24.1-21.06zm-38.86 90.85a16 16 0 0 1-22.62 0l-47.95-48a16 16 0 1 1 22.64-22.62l48 48a16 16 0 0 1-.07 22.62zm176.8-128.79-111.88 128a16 16 0 0 1-11.51 5.47h-.54a16 16 0 0 1-11.32-4.69l-47.94-48a16 16 0 1 1 22.64-22.62l29.8 29.83a8 8 0 0 0 11.68-.39l95-108.66a16 16 0 0 1 24.1 21.06z\"},\"child\":[]}]})(props);\n};\nexport function IoCheckmarkDoneOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M464 128 240 384l-96-96m0 96-96-96m320-160L232 284\"},\"child\":[]}]})(props);\n};\nexport function IoCheckmarkDoneSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"44\",\"d\":\"M465 127 241 384l-92-92m-9 93-93-93m316-165L236 273\"},\"child\":[]}]})(props);\n};\nexport function IoCheckmarkDone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M464 128 240 384l-96-96m0 96-96-96m320-160L232 284\"},\"child\":[]}]})(props);\n};\nexport function IoCheckmarkOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M416 128 192 384l-96-96\"},\"child\":[]}]})(props);\n};\nexport function IoCheckmarkSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"44\",\"d\":\"M416 128 192 384l-96-96\"},\"child\":[]}]})(props);\n};\nexport function IoCheckmark (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M416 128 192 384l-96-96\"},\"child\":[]}]})(props);\n};\nexport function IoChevronBackCircleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M256 64C150 64 64 150 64 256s86 192 192 192 192-86 192-192S362 64 256 64z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m296 352-96-96 96-96\"},\"child\":[]}]})(props);\n};\nexport function IoChevronBackCircleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.13 48 48 141.13 48 256s93.13 208 208 208 208-93.13 208-208S370.87 48 256 48zm62.63 304L296 374.63 177.37 256 296 137.37 318.63 160l-96 96z\"},\"child\":[]}]})(props);\n};\nexport function IoChevronBackCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.13 48 48 141.13 48 256s93.13 208 208 208 208-93.13 208-208S370.87 48 256 48zm35.31 292.69a16 16 0 1 1-22.62 22.62l-96-96a16 16 0 0 1 0-22.62l96-96a16 16 0 0 1 22.62 22.62L206.63 256z\"},\"child\":[]}]})(props);\n};\nexport function IoChevronBackOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"48\",\"d\":\"M328 112 184 256l144 144\"},\"child\":[]}]})(props);\n};\nexport function IoChevronBackSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"48\",\"d\":\"M328 112 184 256l144 144\"},\"child\":[]}]})(props);\n};\nexport function IoChevronBack (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"48\",\"d\":\"M328 112 184 256l144 144\"},\"child\":[]}]})(props);\n};\nexport function IoChevronDownCircleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M256 64C150 64 64 150 64 256s86 192 192 192 192-86 192-192S362 64 256 64z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m352 216-96 96-96-96\"},\"child\":[]}]})(props);\n};\nexport function IoChevronDownCircleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 464c114.87 0 208-93.13 208-208S370.87 48 256 48 48 141.13 48 256s93.13 208 208 208zm-96-270.63 96 96 96-96L374.63 216 256 334.63 137.37 216z\"},\"child\":[]}]})(props);\n};\nexport function IoChevronDownCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 256c0-114.87-93.13-208-208-208S48 141.13 48 256s93.13 208 208 208 208-93.13 208-208zm-100.69-28.69-96 96a16 16 0 0 1-22.62 0l-96-96a16 16 0 0 1 22.62-22.62L256 289.37l84.69-84.68a16 16 0 0 1 22.62 22.62z\"},\"child\":[]}]})(props);\n};\nexport function IoChevronDownOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"48\",\"d\":\"m112 184 144 144 144-144\"},\"child\":[]}]})(props);\n};\nexport function IoChevronDownSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"48\",\"d\":\"m112 184 144 144 144-144\"},\"child\":[]}]})(props);\n};\nexport function IoChevronDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"48\",\"d\":\"m112 184 144 144 144-144\"},\"child\":[]}]})(props);\n};\nexport function IoChevronForwardCircleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M64 256c0 106 86 192 192 192s192-86 192-192S362 64 256 64 64 150 64 256z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m216 352 96-96-96-96\"},\"child\":[]}]})(props);\n};\nexport function IoChevronForwardCircleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.13 48 48 141.13 48 256s93.13 208 208 208 208-93.13 208-208S370.87 48 256 48zm-40 326.63L193.37 352l96-96-96-96L216 137.37 334.63 256z\"},\"child\":[]}]})(props);\n};\nexport function IoChevronForwardCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M48 256c0 114.87 93.13 208 208 208s208-93.13 208-208S370.87 48 256 48 48 141.13 48 256zm257.37 0-84.68-84.69a16 16 0 0 1 22.62-22.62l96 96a16 16 0 0 1 0 22.62l-96 96a16 16 0 0 1-22.62-22.62z\"},\"child\":[]}]})(props);\n};\nexport function IoChevronForwardOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"48\",\"d\":\"m184 112 144 144-144 144\"},\"child\":[]}]})(props);\n};\nexport function IoChevronForwardSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"48\",\"d\":\"m184 112 144 144-144 144\"},\"child\":[]}]})(props);\n};\nexport function IoChevronForward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"48\",\"d\":\"m184 112 144 144-144 144\"},\"child\":[]}]})(props);\n};\nexport function IoChevronUpCircleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m352 296-96-96-96 96\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M256 64C150 64 64 150 64 256s86 192 192 192 192-86 192-192S362 64 256 64z\"},\"child\":[]}]})(props);\n};\nexport function IoChevronUpCircleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.13 48 48 141.13 48 256s93.13 208 208 208 208-93.13 208-208S370.87 48 256 48zm96 270.63-96-96-96 96L137.37 296 256 177.37 374.63 296z\"},\"child\":[]}]})(props);\n};\nexport function IoChevronUpCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.13 48 48 141.13 48 256s93.13 208 208 208 208-93.13 208-208S370.87 48 256 48zm107.31 259.31a16 16 0 0 1-22.62 0L256 222.63l-84.69 84.68a16 16 0 0 1-22.62-22.62l96-96a16 16 0 0 1 22.62 0l96 96a16 16 0 0 1 0 22.62z\"},\"child\":[]}]})(props);\n};\nexport function IoChevronUpOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"48\",\"d\":\"m112 328 144-144 144 144\"},\"child\":[]}]})(props);\n};\nexport function IoChevronUpSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"48\",\"d\":\"m112 328 144-144 144 144\"},\"child\":[]}]})(props);\n};\nexport function IoChevronUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"48\",\"d\":\"m112 328 144-144 144 144\"},\"child\":[]}]})(props);\n};\nexport function IoClipboardOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M336 64h32a48 48 0 0 1 48 48v320a48 48 0 0 1-48 48H144a48 48 0 0 1-48-48V112a48 48 0 0 1 48-48h32\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"160\",\"height\":\"64\",\"x\":\"176\",\"y\":\"32\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"26.13\",\"ry\":\"26.13\"},\"child\":[]}]})(props);\n};\nexport function IoClipboardSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M420 48h-68V28a12 12 0 0 0-12-12H172a12 12 0 0 0-12 12v20H92a12 12 0 0 0-12 12v424a12 12 0 0 0 12 12h328a12 12 0 0 0 12-12V60a12 12 0 0 0-12-12zm-84.13 64H176.13V80h159.74z\"},\"child\":[]}]})(props);\n};\nexport function IoClipboard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M368 48h-11.41a8 8 0 0 1-7.44-5.08A42.18 42.18 0 0 0 309.87 16H202.13a42.18 42.18 0 0 0-39.28 26.92 8 8 0 0 1-7.44 5.08H144a64 64 0 0 0-64 64v320a64 64 0 0 0 64 64h224a64 64 0 0 0 64-64V112a64 64 0 0 0-64-64zm-48.13 64H192.13a16 16 0 0 1 0-32h127.74a16 16 0 0 1 0 32z\"},\"child\":[]}]})(props);\n};\nexport function IoCloseCircleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192 192-86 192-192z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M320 320 192 192m0 128 128-128\"},\"child\":[]}]})(props);\n};\nexport function IoCloseCircleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm86.63 272L320 342.63l-64-64-64 64L169.37 320l64-64-64-64L192 169.37l64 64 64-64L342.63 192l-64 64z\"},\"child\":[]}]})(props);\n};\nexport function IoCloseCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm75.31 260.69a16 16 0 1 1-22.62 22.62L256 278.63l-52.69 52.68a16 16 0 0 1-22.62-22.62L233.37 256l-52.68-52.69a16 16 0 0 1 22.62-22.62L256 233.37l52.69-52.68a16 16 0 0 1 22.62 22.62L278.63 256z\"},\"child\":[]}]})(props);\n};\nexport function IoCloseOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M368 368 144 144m224 0L144 368\"},\"child\":[]}]})(props);\n};\nexport function IoCloseSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 145.49 366.51 112 256 222.51 145.49 112 112 145.49 222.51 256 112 366.51 145.49 400 256 289.49 366.51 400 400 366.51 289.49 256 400 145.49z\"},\"child\":[]}]})(props);\n};\nexport function IoClose (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m289.94 256 95-95A24 24 0 0 0 351 127l-95 95-95-95a24 24 0 0 0-34 34l95 95-95 95a24 24 0 1 0 34 34l95-95 95 95a24 24 0 0 0 34-34z\"},\"child\":[]}]})(props);\n};\nexport function IoCloudCircleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M333.88 240.59a8 8 0 0 1-6.66-6.66C320.68 192.78 290.82 168 256 168c-32.37 0-53.93 21.22-62.48 43.58a7.92 7.92 0 0 1-6.16 5c-27.67 4.35-50.82 22.56-51.35 54.3-.52 31.53 25.51 57.11 57 57.11H326c27.5 0 50-13.72 50-44 0-27.22-22-40.41-42.12-43.4z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192 192-86 192-192z\"},\"child\":[]}]})(props);\n};\nexport function IoCloudCircleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.13 48 48 141.13 48 256s93.13 208 208 208 208-93.13 208-208S370.87 48 256 48zm70 280H196c-33 0-60-23-60-56 0-34.21 26-53 56-56 7.28-23.9 29.5-48 64-48 36.5 0 67.55 27.23 72 72 21.49 1.12 48 14.09 48 44 0 30.28-22.5 44-50 44z\"},\"child\":[]}]})(props);\n};\nexport function IoCloudCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.13 48 48 141.13 48 256s93.13 208 208 208 208-93.13 208-208S370.87 48 256 48zm70 280H193.05c-31.53 0-57.56-25.58-57-57.11.53-31.74 23.68-49.95 51.35-54.3a7.92 7.92 0 0 0 6.16-5C202.07 189.22 223.63 168 256 168c33.17 0 61.85 22.49 70.14 60.21a17.75 17.75 0 0 0 13.18 13.43C357.79 246.05 376 259.21 376 284c0 30.28-22.5 44-50 44z\"},\"child\":[]}]})(props);\n};\nexport function IoCloudDoneOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M400 240c-8.89-89.54-71-144-144-144-69 0-113.44 48.2-128 96-60 6-112 43.59-112 112 0 66 54 112 120 112h260c55 0 100-27.44 100-88 0-59.82-53-85.76-96-88z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M317 208 209.2 336 163 284.8\"},\"child\":[]}]})(props);\n};\nexport function IoCloudDoneSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M414.25 225.36c-6.52-41.18-24.05-76.4-51.11-102.46A153.57 153.57 0 0 0 256 80c-35.5 0-68.24 11.69-94.68 33.8a156.42 156.42 0 0 0-45.22 63.61c-30.26 4.81-57.45 17.18-77.38 35.37C13.39 235.88 0 267.42 0 304c0 36 14.38 68.88 40.49 92.59C65.64 419.43 99.56 432 136 432h260c32.37 0 60.23-8.57 80.59-24.77C499.76 388.78 512 361.39 512 328c0-61.85-48.44-95.34-97.75-102.64zm-204.63 135-69.22-76.7 23.76-21.44 44.62 49.46 106.29-126.2 24.47 20.61z\"},\"child\":[]}]})(props);\n};\nexport function IoCloudDone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M424.44 227.25a16 16 0 0 1-12.12-12.39c-7.68-36.68-24.45-68.15-49.18-92A153.57 153.57 0 0 0 256 80c-35.5 0-68.24 11.69-94.68 33.8a156.24 156.24 0 0 0-42 56 16 16 0 0 1-11.37 9.15c-27 5.62-51.07 17.34-69.18 33.87C13.39 235.88 0 267.42 0 304c0 36 14.38 68.88 40.49 92.59C65.64 419.43 99.56 432 136 432h260c32.37 0 60.23-8.57 80.59-24.77C499.76 388.78 512 361.39 512 328c0-57.57-42-90.58-87.56-100.75zm-95.2-8.94-107.8 128a16 16 0 0 1-12 5.69h-.27a16 16 0 0 1-11.88-5.28l-45.9-50.87c-5.77-6.39-5.82-16.33.3-22.4a16 16 0 0 1 23.16.63l33.9 37.58 96-114a16 16 0 1 1 24.48 20.62z\"},\"child\":[]}]})(props);\n};\nexport function IoCloudDownloadOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M320 336h76c55 0 100-21.21 100-75.6s-53-73.47-96-75.6C391.11 99.74 329 48 256 48c-69 0-113.44 45.79-128 91.2-60 5.7-112 35.88-112 98.4S70 336 136 336h56m0 64.1 64 63.9 64-63.9M256 224v224.03\"},\"child\":[]}]})(props);\n};\nexport function IoCloudDownloadSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M472.7 189.5c-15.76-10-36.21-16.79-58.59-19.54-6.65-39.1-24.22-72.52-51.27-97.26C334.15 46.45 296.21 32 256 32c-35.35 0-68 11.08-94.37 32a149.7 149.7 0 0 0-45.29 60.42c-30.67 4.32-57 14.61-76.71 30C13.7 174.83 0 203.56 0 237.6 0 305 55.92 352 136 352h104V208h32v144h124c72.64 0 116-34.24 116-91.6 0-30.05-13.59-54.57-39.3-70.9zM240 419.42 191.98 371l-22.61 23L256 480l86.63-86-22.61-23L272 419.42V352h-32v67.42z\"},\"child\":[]}]})(props);\n};\nexport function IoCloudDownload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M472.7 189.5c-13.26-8.43-29.83-14.56-48.08-17.93A16 16 0 0 1 412 159.28c-7.86-34.51-24.6-64.13-49.15-86.58C334.15 46.45 296.21 32 256 32c-35.35 0-68 11.08-94.37 32a150.13 150.13 0 0 0-41.95 52.83A16.05 16.05 0 0 1 108 125.8c-27.13 4.9-50.53 14.68-68.41 28.7C13.7 174.83 0 203.56 0 237.6 0 305 55.93 352 136 352h104V224.45c0-8.61 6.62-16 15.23-16.43A16 16 0 0 1 272 224v128h124c72.64 0 116-34.24 116-91.6 0-30.05-13.59-54.57-39.3-70.9zM240 425.42l-36.7-36.64a16 16 0 0 0-22.6 22.65l64 63.89a16 16 0 0 0 22.6 0l64-63.89a16 16 0 0 0-22.6-22.65L272 425.42V352h-32z\"},\"child\":[]}]})(props);\n};\nexport function IoCloudOfflineOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M93.72 183.25C49.49 198.05 16 233.1 16 288c0 66 54 112 120 112h184.37m147.45-22.26C485.24 363.3 496 341.61 496 312c0-59.82-53-85.76-96-88-8.89-89.54-71-144-144-144-26.16 0-48.79 6.93-67.6 18.14\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M448 448 64 64\"},\"child\":[]}]})(props);\n};\nexport function IoCloudOfflineSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m41.37 64 22.628-22.628L470.627 448l-22.628 22.627zm-2.65 148.78C13.39 235.88 0 267.42 0 304c0 36 14.38 68.88 40.49 92.59C65.64 419.43 99.56 432 136 432h228.12L110.51 178.39c-28.01 5.39-53.09 17.33-71.79 34.39zm437.87 194.45C499.76 388.78 512 361.39 512 328c0-61.85-48.44-95.34-97.75-102.64-6.52-41.18-24.05-76.4-51.11-102.46A153.57 153.57 0 0 0 256 80c-30.47 0-58.9 8.62-83.07 25l302.82 302.86c.25-.21.57-.41.84-.63z\"},\"child\":[]}]})(props);\n};\nexport function IoCloudOffline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 464a15.92 15.92 0 0 1-11.31-4.69l-384-384a16 16 0 0 1 22.62-22.62l384 384A16 16 0 0 1 448 464zM38.72 196.78C13.39 219.88 0 251.42 0 288c0 36 14.38 68.88 40.49 92.59C65.64 403.43 99.56 416 136 416h192.8a8 8 0 0 0 5.66-13.66L100.88 168.76a8 8 0 0 0-8-2C72 173.15 53.4 183.38 38.72 196.78zm437.87 194.45C499.76 372.78 512 345.39 512 312c0-57.57-42-90.58-87.56-100.75a16 16 0 0 1-12.12-12.39c-7.68-36.68-24.45-68.15-49.18-92A153.57 153.57 0 0 0 256 64c-31.12 0-60.12 9-84.62 26.1a8 8 0 0 0-1.14 12.26L461.68 393.8a8 8 0 0 0 10.2.93q2.43-1.68 4.71-3.5z\"},\"child\":[]}]})(props);\n};\nexport function IoCloudOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M400 240c-8.89-89.54-71-144-144-144-69 0-113.44 48.2-128 96-60 6-112 43.59-112 112 0 66 54 112 120 112h260c55 0 100-27.44 100-88 0-59.82-53-85.76-96-88z\"},\"child\":[]}]})(props);\n};\nexport function IoCloudSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M396 432H136c-36.44 0-70.36-12.57-95.51-35.41C14.38 372.88 0 340 0 304c0-36.58 13.39-68.12 38.72-91.22 19.93-18.19 47.12-30.56 77.38-35.37a156.42 156.42 0 0 1 45.22-63.61C187.76 91.69 220.5 80 256 80a153.57 153.57 0 0 1 107.14 42.9c27.06 26.06 44.59 61.28 51.11 102.46C463.56 232.66 512 266.15 512 328c0 33.39-12.24 60.78-35.41 79.23C456.23 423.43 428.37 432 396 432z\"},\"child\":[]}]})(props);\n};\nexport function IoCloudUploadOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M320 367.79h76c55 0 100-29.21 100-83.6s-53-81.47-96-83.6c-8.89-85.06-71-136.8-144-136.8-69 0-113.44 45.79-128 91.2-60 5.7-112 43.88-112 106.4s54 106.4 120 106.4h56\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m320 255.79-64-64-64 64m64 192.42V207.79\"},\"child\":[]}]})(props);\n};\nexport function IoCloudUploadSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M473.66 210c-16.56-12.3-37.7-20.75-59.52-24-6.62-39.18-24.21-72.67-51.3-97.45-28.69-26.3-66.63-40.76-106.84-40.76-35.35 0-68 11.08-94.37 32.05a149.61 149.61 0 0 0-45.32 60.49c-29.94 4.6-57.12 16.68-77.39 34.55C13.46 197.33 0 227.24 0 261.39c0 34.52 14.49 66 40.79 88.76 25.12 21.69 58.94 33.64 95.21 33.64h104V230.42l-48 48-22.63-22.63L256 169.17l86.63 86.62L320 278.42l-48-48v153.37h124c31.34 0 59.91-8.8 80.45-24.77 23.26-18.1 35.55-44 35.55-74.83 0-29.94-13.26-55.61-38.34-74.19zM240 383.79h32v80.41h-32z\"},\"child\":[]}]})(props);\n};\nexport function IoCloudUpload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M473.66 210c-14-10.38-31.2-18-49.36-22.11a16.11 16.11 0 0 1-12.19-12.22c-7.8-34.75-24.59-64.55-49.27-87.13C334.15 62.25 296.21 47.79 256 47.79c-35.35 0-68 11.08-94.37 32.05a150.07 150.07 0 0 0-42.06 53 16 16 0 0 1-11.31 8.87c-26.75 5.4-50.9 16.87-69.34 33.12C13.46 197.33 0 227.24 0 261.39c0 34.52 14.49 66 40.79 88.76 25.12 21.69 58.94 33.64 95.21 33.64h104V230.42l-36.69 36.69a16 16 0 0 1-23.16-.56c-5.8-6.37-5.24-16.3.85-22.39l63.69-63.68a16 16 0 0 1 22.62 0L331 244.14c6.28 6.29 6.64 16.6.39 22.91a16 16 0 0 1-22.68.06L272 230.42v153.37h124c31.34 0 59.91-8.8 80.45-24.77 23.26-18.1 35.55-44 35.55-74.83 0-29.94-13.26-55.61-38.34-74.19zM240 448.21a16 16 0 1 0 32 0v-64.42h-32z\"},\"child\":[]}]})(props);\n};\nexport function IoCloud (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M396 432H136c-36.44 0-70.36-12.57-95.51-35.41C14.38 372.88 0 340 0 304c0-36.58 13.39-68.12 38.72-91.22 18.11-16.53 42.22-28.25 69.18-33.87a16 16 0 0 0 11.37-9.15 156.24 156.24 0 0 1 42.05-56C187.76 91.69 220.5 80 256 80a153.57 153.57 0 0 1 107.14 42.9c24.73 23.81 41.5 55.28 49.18 92a16 16 0 0 0 12.12 12.39C470 237.42 512 270.43 512 328c0 33.39-12.24 60.78-35.41 79.23C456.23 423.43 428.37 432 396 432z\"},\"child\":[]}]})(props);\n};\nexport function IoCloudyNightOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M388.31 272c47.75 0 89.77-27.77 107.69-68.92-14.21 6.18-30.9 8.61-47.38 8.61A116.31 116.31 0 0 1 332.31 95.38c0-16.48 2.43-33.17 8.61-47.38C299.77 65.92 272 107.94 272 155.69a116.31 116.31 0 0 0 3.44 28.18\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M90.61 306.85A16.07 16.07 0 0 0 104 293.6C116.09 220.17 169.63 176 232 176c57.93 0 96.62 37.75 112.2 77.74a15.84 15.84 0 0 0 12.2 9.87c50 8.15 91.6 41.54 91.6 99.59 0 59.4-48.6 100.8-108 100.8H106c-49.5 0-90-24.7-90-79.2 0-48.47 38.67-72.22 74.61-77.95z\"},\"child\":[]}]})(props);\n};\nexport function IoCloudyNightSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M340 480H106c-29.5 0-54.92-7.83-73.53-22.64C11.23 440.44 0 415.35 0 384.8c0-29.44 12.09-54.25 35-71.74 14.55-11.13 33.41-18.87 53.2-22 6.06-36.92 21.92-68.53 46.29-92A139.82 139.82 0 0 1 232 160c32.33 0 62.15 10.65 86.24 30.79a142.41 142.41 0 0 1 40.83 57.05c27.18 4.48 51.59 15.68 69.56 32.08C451.77 301 464 329.82 464 363.2c0 32.85-13.13 62.87-37 84.52-22.89 20.82-53.8 32.28-87 32.28zm41.55-260.07c26.5 6.93 50 19.32 68.65 36.34q3.89 3.56 7.47 7.34c25.41-18.4 45.47-44.92 54.33-71.38-16.24 7.07-35.31 9.85-54.15 9.85-73.42 0-115.93-42.51-115.93-115.93 0-18.84 2.78-37.91 9.85-54.15-40.41 13.53-81 53.19-92.52 98.13a162.61 162.61 0 0 1 79.52 36.12 173 173 0 0 1 42.78 53.68z\"},\"child\":[]}]})(props);\n};\nexport function IoCloudyNight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M340 480H106c-29.5 0-54.92-7.83-73.53-22.64C11.23 440.44 0 415.35 0 384.8c0-29.44 12.09-54.25 35-71.74 12.1-9.26 27.2-16.17 43.33-20.05a16 16 0 0 0 11.81-12.21c7.15-32.54 22.25-60.49 44.33-81.75A139.82 139.82 0 0 1 232 160c32.33 0 62.15 10.65 86.24 30.79a142.22 142.22 0 0 1 37.65 49.54 16.06 16.06 0 0 0 11.12 9c24 5.22 45.42 15.78 61.62 30.56C451.77 301 464 329.82 464 363.2c0 32.85-13.13 62.87-37 84.52-22.89 20.82-53.8 32.28-87 32.28zm170.53-270.21a16.34 16.34 0 0 0-1.35-15.8 16 16 0 0 0-19.57-5.58c-10.7 4.65-24.48 7.17-39.92 7.28-55.3.4-101.38-45-101.38-100.31 0-15.75 2.48-29.84 7.18-40.76a16.3 16.3 0 0 0-1.85-16.33 16 16 0 0 0-19.1-5c-38.63 16.82-66.18 51.51-75.27 92.54a4 4 0 0 0 3.19 4.79 162.54 162.54 0 0 1 76.31 35.59 172.58 172.58 0 0 1 39.64 47.84 16.35 16.35 0 0 0 9.54 7.64c23.89 7.17 45.1 18.9 62.25 34.54q4.44 4.07 8.48 8.42a4 4 0 0 0 5.16.57 129.12 129.12 0 0 0 46.69-55.43z\"},\"child\":[]}]})(props);\n};\nexport function IoCloudyOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M100.18 241.19a15.93 15.93 0 0 0 13.37-13.25C126.6 145.59 186.34 96 256 96c64.69 0 107.79 42.36 124.92 87a16.11 16.11 0 0 0 12.53 10.18C449.36 202.06 496 239.21 496 304c0 66-54 112-120 112H116c-55 0-100-27.44-100-88 0-54.43 43.89-80.81 84.18-86.81z\"},\"child\":[]}]})(props);\n};\nexport function IoCloudySharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M376 432H116c-32.37 0-60.23-8.57-80.59-24.77C12.24 388.78 0 361.39 0 328c0-61.85 48.44-95.34 97.75-102.64 6.52-41.18 24-76.4 51.11-102.46A153.57 153.57 0 0 1 256 80c35.5 0 68.24 11.69 94.68 33.8a156.42 156.42 0 0 1 45.22 63.61c30.26 4.81 57.45 17.18 77.38 35.36C498.61 235.88 512 267.42 512 304c0 36-14.38 68.88-40.49 92.59C446.36 419.43 412.44 432 376 432z\"},\"child\":[]}]})(props);\n};\nexport function IoCloudy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M376 432H116c-32.37 0-60.23-8.57-80.59-24.77C12.24 388.78 0 361.39 0 328c0-57.57 42-90.58 87.56-100.75a16 16 0 0 0 12.12-12.39c7.68-36.68 24.45-68.15 49.18-92A153.57 153.57 0 0 1 256 80c35.5 0 68.24 11.69 94.68 33.8a156.24 156.24 0 0 1 42.05 56 16 16 0 0 0 11.37 9.16c27 5.61 51.07 17.33 69.18 33.85C498.61 235.88 512 267.42 512 304c0 36-14.38 68.88-40.49 92.59C446.36 419.43 412.44 432 376 432z\"},\"child\":[]}]})(props);\n};\nexport function IoCodeDownloadOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M160 368 32 256l128-112m192 224 128-112-128-112M192 288.1l64 63.9 64-63.9M256 160v176.03\"},\"child\":[]}]})(props);\n};\nexport function IoCodeDownloadSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"42\",\"d\":\"M160 368 32 256l128-112m192 224 128-112-128-112M192 288.1l64 63.9 64-63.9M256 160v176.03\"},\"child\":[]}]})(props);\n};\nexport function IoCodeDownload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"42\",\"d\":\"M160 368 32 256l128-112m192 224 128-112-128-112M192 288.1l64 63.9 64-63.9M256 160v176.03\"},\"child\":[]}]})(props);\n};\nexport function IoCodeOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M160 368 32 256l128-112m192 224 128-112-128-112\"},\"child\":[]}]})(props);\n};\nexport function IoCodeSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M161.98 397.63 0 256l161.98-141.63 27.65 31.61L64 256l125.63 110.02-27.65 31.61zm188.04 0-27.65-31.61L448 256 322.37 145.98l27.65-31.61L512 256 350.02 397.63z\"},\"child\":[]}]})(props);\n};\nexport function IoCodeSlashOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M160 368 32 256l128-112m192 224 128-112-128-112m-48-48-96 320\"},\"child\":[]}]})(props);\n};\nexport function IoCodeSlashSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M161.98 397.63 0 256l161.98-141.63 27.65 31.61L64 256l125.63 110.02-27.65 31.61zm188.04 0-27.65-31.61L448 256 322.37 145.98l27.65-31.61L512 256 350.02 397.63zM222.15 442 182 430.08 289.85 70 330 81.92 222.15 442z\"},\"child\":[]}]})(props);\n};\nexport function IoCodeSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M160 389a20.91 20.91 0 0 1-13.82-5.2l-128-112a21 21 0 0 1 0-31.6l128-112a21 21 0 0 1 27.66 31.61L63.89 256l109.94 96.19A21 21 0 0 1 160 389zm192 0a21 21 0 0 1-13.84-36.81L448.11 256l-109.94-96.19a21 21 0 0 1 27.66-31.61l128 112a21 21 0 0 1 0 31.6l-128 112A20.89 20.89 0 0 1 352 389zm-144 48a21 21 0 0 1-20.12-27l96-320a21 21 0 1 1 40.23 12l-96 320A21 21 0 0 1 208 437z\"},\"child\":[]}]})(props);\n};\nexport function IoCodeWorkingOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"r\":\"26\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"346\",\"cy\":\"256\",\"r\":\"26\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"166\",\"cy\":\"256\",\"r\":\"26\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M160 368 32 256l128-112m192 224 128-112-128-112\"},\"child\":[]}]})(props);\n};\nexport function IoCodeWorkingSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"r\":\"26\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"10\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"346\",\"cy\":\"256\",\"r\":\"26\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"10\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"166\",\"cy\":\"256\",\"r\":\"26\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"10\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"42\",\"d\":\"M160 368 32 256l128-112m192 224 128-112-128-112\"},\"child\":[]}]})(props);\n};\nexport function IoCodeWorking (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"r\":\"26\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"10\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"346\",\"cy\":\"256\",\"r\":\"26\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"10\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"166\",\"cy\":\"256\",\"r\":\"26\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"10\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"42\",\"d\":\"M160 368 32 256l128-112m192 224 128-112-128-112\"},\"child\":[]}]})(props);\n};\nexport function IoCode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M160 389a20.91 20.91 0 0 1-13.82-5.2l-128-112a21 21 0 0 1 0-31.6l128-112a21 21 0 0 1 27.66 31.61L63.89 256l109.94 96.19A21 21 0 0 1 160 389zm192 0a21 21 0 0 1-13.84-36.81L448.11 256l-109.94-96.19a21 21 0 0 1 27.66-31.61l128 112a21 21 0 0 1 0 31.6l-128 112A20.89 20.89 0 0 1 352 389z\"},\"child\":[]}]})(props);\n};\nexport function IoCogOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m456.7 242.27-26.08-4.2a8 8 0 0 1-6.6-6.82c-.5-3.2-1-6.41-1.7-9.51a8.08 8.08 0 0 1 3.9-8.62l23.09-12.82a8.05 8.05 0 0 0 3.9-9.92l-4-11a7.94 7.94 0 0 0-9.4-5l-25.89 5a8 8 0 0 1-8.59-4.11q-2.25-4.2-4.8-8.41a8.16 8.16 0 0 1 .7-9.52l17.29-19.94a8 8 0 0 0 .3-10.62l-7.49-9a7.88 7.88 0 0 0-10.5-1.51l-22.69 13.63a8 8 0 0 1-9.39-.9c-2.4-2.11-4.9-4.21-7.4-6.22a8 8 0 0 1-2.5-9.11l9.4-24.75A8 8 0 0 0 365 78.77l-10.2-5.91a8 8 0 0 0-10.39 2.21l-16.64 20.84a7.15 7.15 0 0 1-8.5 2.5s-5.6-2.3-9.8-3.71A8 8 0 0 1 304 87l.4-26.45a8.07 8.07 0 0 0-6.6-8.42l-11.59-2a8.07 8.07 0 0 0-9.1 5.61l-8.6 25.05a8 8 0 0 1-7.79 5.41h-9.8a8.07 8.07 0 0 1-7.79-5.41l-8.6-25.05a8.07 8.07 0 0 0-9.1-5.61l-11.59 2a8.07 8.07 0 0 0-6.6 8.42l.4 26.45a8 8 0 0 1-5.49 7.71c-2.3.9-7.3 2.81-9.7 3.71-2.8 1-6.1.2-8.8-2.91l-16.51-20.34A8 8 0 0 0 156.75 73l-10.2 5.91a7.94 7.94 0 0 0-3.3 10.09l9.4 24.75a8.06 8.06 0 0 1-2.5 9.11c-2.5 2-5 4.11-7.4 6.22a8 8 0 0 1-9.39.9L111 116.14a8 8 0 0 0-10.5 1.51l-7.49 9a8 8 0 0 0 .3 10.62l17.29 19.94a8 8 0 0 1 .7 9.52q-2.55 4-4.8 8.41a8.11 8.11 0 0 1-8.59 4.11l-25.89-5a8 8 0 0 0-9.4 5l-4 11a8.05 8.05 0 0 0 3.9 9.92L85.58 213a7.94 7.94 0 0 1 3.9 8.62c-.6 3.2-1.2 6.31-1.7 9.51a8.08 8.08 0 0 1-6.6 6.82l-26.08 4.2a8.09 8.09 0 0 0-7.1 7.92v11.72a7.86 7.86 0 0 0 7.1 7.92l26.08 4.2a8 8 0 0 1 6.6 6.82c.5 3.2 1 6.41 1.7 9.51a8.08 8.08 0 0 1-3.9 8.62L62.49 311.7a8.05 8.05 0 0 0-3.9 9.92l4 11a7.94 7.94 0 0 0 9.4 5l25.89-5a8 8 0 0 1 8.59 4.11q2.25 4.2 4.8 8.41a8.16 8.16 0 0 1-.7 9.52l-17.29 19.96a8 8 0 0 0-.3 10.62l7.49 9a7.88 7.88 0 0 0 10.5 1.51l22.69-13.63a8 8 0 0 1 9.39.9c2.4 2.11 4.9 4.21 7.4 6.22a8 8 0 0 1 2.5 9.11l-9.4 24.75a8 8 0 0 0 3.3 10.12l10.2 5.91a8 8 0 0 0 10.39-2.21l16.79-20.64c2.1-2.6 5.5-3.7 8.2-2.6 3.4 1.4 5.7 2.2 9.9 3.61a8 8 0 0 1 5.49 7.71l-.4 26.45a8.07 8.07 0 0 0 6.6 8.42l11.59 2a8.07 8.07 0 0 0 9.1-5.61l8.6-25a8 8 0 0 1 7.79-5.41h9.8a8.07 8.07 0 0 1 7.79 5.41l8.6 25a8.07 8.07 0 0 0 9.1 5.61l11.59-2a8.07 8.07 0 0 0 6.6-8.42l-.4-26.45a8 8 0 0 1 5.49-7.71c4.2-1.41 7-2.51 9.6-3.51s5.8-1 8.3 2.1l17 20.94A8 8 0 0 0 355 439l10.2-5.91a7.93 7.93 0 0 0 3.3-10.12l-9.4-24.75a8.08 8.08 0 0 1 2.5-9.12c2.5-2 5-4.1 7.4-6.21a8 8 0 0 1 9.39-.9L401 395.66a8 8 0 0 0 10.5-1.51l7.49-9a8 8 0 0 0-.3-10.62l-17.29-19.94a8 8 0 0 1-.7-9.52q2.55-4.05 4.8-8.41a8.11 8.11 0 0 1 8.59-4.11l25.89 5a8 8 0 0 0 9.4-5l4-11a8.05 8.05 0 0 0-3.9-9.92l-23.09-12.82a7.94 7.94 0 0 1-3.9-8.62c.6-3.2 1.2-6.31 1.7-9.51a8.08 8.08 0 0 1 6.6-6.82l26.08-4.2a8.09 8.09 0 0 0 7.1-7.92V250a8.25 8.25 0 0 0-7.27-7.73zM256 112a143.82 143.82 0 0 1 139.38 108.12A16 16 0 0 1 379.85 240H274.61a16 16 0 0 1-13.91-8.09l-52.1-91.71a16 16 0 0 1 9.85-23.39A146.94 146.94 0 0 1 256 112zM112 256a144 144 0 0 1 43.65-103.41 16 16 0 0 1 25.17 3.47L233.06 248a16 16 0 0 1 0 15.87l-52.67 91.7a16 16 0 0 1-25.18 3.36A143.94 143.94 0 0 1 112 256zm144 144a146.9 146.9 0 0 1-38.19-4.95 16 16 0 0 1-9.76-23.44l52.58-91.55a16 16 0 0 1 13.88-8H379.9a16 16 0 0 1 15.52 19.88A143.84 143.84 0 0 1 256 400z\"},\"child\":[]}]})(props);\n};\nexport function IoCogSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 249.93a10.58 10.58 0 0 0-9.36-9.94L429 235.84a5.42 5.42 0 0 1-4.5-4.67c-.49-3.15-1-6.42-1.7-9.52a5.52 5.52 0 0 1 2.63-5.85l22.78-12.65a10.35 10.35 0 0 0 5-12.83l-3.95-10.9a10.32 10.32 0 0 0-12.13-6.51l-25.55 5a5.5 5.5 0 0 1-5.82-2.81c-1.49-2.79-3.11-5.63-4.8-8.42a5.6 5.6 0 0 1 .44-6.5l17-19.63a10.44 10.44 0 0 0 .39-13.77l-7.42-8.91a10.24 10.24 0 0 0-13.58-2l-22.37 13.43a5.39 5.39 0 0 1-6.39-.63c-2.47-2.17-4.95-4.26-7.37-6.19a5.45 5.45 0 0 1-1.72-6.21l9.26-24.4a10.35 10.35 0 0 0-4.31-13.07l-10.08-5.85a10.31 10.31 0 0 0-13.46 2.83L325 96.28a4.58 4.58 0 0 1-5.6 1.72c-.62-.25-5.77-2.36-9.78-3.7a5.42 5.42 0 0 1-3.74-5.23l.39-26.07a10.48 10.48 0 0 0-8.57-10.88l-11.45-2a10.45 10.45 0 0 0-11.75 7.17L266 82.1a5.42 5.42 0 0 1-5.36 3.65h-9.75a5.53 5.53 0 0 1-5.3-3.67l-8.46-24.67a10.46 10.46 0 0 0-11.77-7.25l-11.46 2a10.46 10.46 0 0 0-8.57 10.79l.4 26.16a5.45 5.45 0 0 1-3.86 5.25c-2.28.89-7.26 2.78-9.51 3.63-2 .72-4.19-.07-6-2.1l-16.26-20A10.3 10.3 0 0 0 156.69 73l-10.06 5.83A10.36 10.36 0 0 0 142.31 92l9.25 24.34a5.54 5.54 0 0 1-1.7 6.23c-2.43 2-4.92 4-7.4 6.22a5.38 5.38 0 0 1-6.35.64L114 115.74a10.39 10.39 0 0 0-13.61 2l-7.4 8.9a10.32 10.32 0 0 0 .37 13.76l17.09 19.6a5.42 5.42 0 0 1 .45 6.45c-1.71 2.72-3.34 5.58-4.82 8.44a5.53 5.53 0 0 1-5.86 2.82l-25.51-4.93a10.34 10.34 0 0 0-12.14 6.51l-4 10.88a10.37 10.37 0 0 0 5 12.85l22.78 12.65a5.39 5.39 0 0 1 2.65 5.92l-.23 1.24c-.53 2.8-1 5.45-1.47 8.27a5.48 5.48 0 0 1-4.46 4.64l-25.7 4.15A10.42 10.42 0 0 0 48 250.16v11.58A10.26 10.26 0 0 0 57.16 272l25.68 4.14a5.41 5.41 0 0 1 4.5 4.67c.49 3.16 1 6.42 1.7 9.52a5.52 5.52 0 0 1-2.63 5.85l-22.77 12.67a10.35 10.35 0 0 0-5 12.83l4 10.9a10.33 10.33 0 0 0 12.13 6.51l25.55-4.95a5.5 5.5 0 0 1 5.82 2.81c1.5 2.8 3.12 5.64 4.8 8.42a5.58 5.58 0 0 1-.44 6.5l-17 19.64a10.41 10.41 0 0 0-.5 13.76l7.41 8.91a10.24 10.24 0 0 0 13.58 2l22.37-13.43a5.39 5.39 0 0 1 6.39.63c2.48 2.17 5 4.26 7.37 6.19a5.45 5.45 0 0 1 1.72 6.21l-9.26 24.4a10.35 10.35 0 0 0 4.31 13.07l10.11 5.84a10.3 10.3 0 0 0 13.45-2.82L187 415.92c1.39-1.73 3.6-2.5 5.24-1.84 3.47 1.44 5.8 2.25 9.93 3.63a5.44 5.44 0 0 1 3.75 5.23l-.4 26.05a10.5 10.5 0 0 0 8.57 10.88l11.45 2a10.44 10.44 0 0 0 11.75-7.17l8.5-24.77a5.48 5.48 0 0 1 5.36-3.65h9.75a5.52 5.52 0 0 1 5.3 3.67l8.47 24.67a10.48 10.48 0 0 0 10 7.41 9.74 9.74 0 0 0 1.78-.16l11.47-2a10.46 10.46 0 0 0 8.56-10.79l-.4-26.16a5.43 5.43 0 0 1 3.75-5.2c3.84-1.29 6.53-2.33 8.91-3.24l.6-.24c3.06-1.06 4.53.14 5.47 1.31l16.75 20.63A10.3 10.3 0 0 0 355 439l10.07-5.83a10.35 10.35 0 0 0 4.31-13.1l-9.24-24.34a5.52 5.52 0 0 1 1.69-6.23c2.43-2 4.92-4 7.4-6.22a5.39 5.39 0 0 1 6.38-.62l22.39 13.4a10.39 10.39 0 0 0 13.61-2l7.4-8.9a10.31 10.31 0 0 0-.37-13.75l-17.06-19.67a5.42 5.42 0 0 1-.45-6.45c1.71-2.71 3.34-5.57 4.82-8.44a5.56 5.56 0 0 1 5.86-2.82l25.48 4.97a10.34 10.34 0 0 0 12.14-6.51l3.95-10.88a10.36 10.36 0 0 0-5-12.84l-22.8-12.67a5.4 5.4 0 0 1-2.61-5.89l.23-1.25c.53-2.8 1-5.44 1.47-8.26a5.48 5.48 0 0 1 4.46-4.64l25.7-4.14a10.43 10.43 0 0 0 9.17-10.28v-11.71zM171.59 361.27a135.12 135.12 0 0 1 .5-210.94l60 105.61zM256 391.11a133.75 133.75 0 0 1-48.49-9.05L268 276.79h121.22C379.21 341.45 323.29 391.11 256 391.11zm12.06-155.9-59.95-105.5a133.87 133.87 0 0 1 47.89-8.82c67.29 0 123.21 49.66 133.22 114.32z\"},\"child\":[]}]})(props);\n};\nexport function IoCog (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 249.93a10.58 10.58 0 0 0-9.36-9.94L429 235.84a5.42 5.42 0 0 1-4.5-4.67c-.49-3.15-1-6.42-1.7-9.52a5.52 5.52 0 0 1 2.63-5.85l22.78-12.65a10.35 10.35 0 0 0 5-12.83l-3.95-10.9a10.32 10.32 0 0 0-12.13-6.51l-25.55 5a5.51 5.51 0 0 1-5.82-2.81c-1.49-2.79-3.11-5.63-4.8-8.42a5.6 5.6 0 0 1 .44-6.5l17-19.64a10.42 10.42 0 0 0 .39-13.76l-7.42-8.91a10.24 10.24 0 0 0-13.58-2l-22.37 13.43a5.39 5.39 0 0 1-6.39-.63c-2.47-2.17-5-4.26-7.37-6.19a5.45 5.45 0 0 1-1.72-6.21l9.26-24.4a10.35 10.35 0 0 0-4.31-13.07l-10.09-5.89a10.3 10.3 0 0 0-13.45 2.83L325 96.28a4.6 4.6 0 0 1-5.6 1.72c-.61-.25-5.77-2.36-9.78-3.7a5.42 5.42 0 0 1-3.74-5.23l.39-26.07a10.48 10.48 0 0 0-8.57-10.88l-11.45-2a10.45 10.45 0 0 0-11.75 7.17L266 82.1a5.46 5.46 0 0 1-5.36 3.65h-9.75a5.5 5.5 0 0 1-5.3-3.67l-8.46-24.67a10.46 10.46 0 0 0-11.77-7.25l-11.47 2a10.46 10.46 0 0 0-8.56 10.79l.4 26.16a5.45 5.45 0 0 1-3.86 5.25c-2.29.89-7.26 2.79-9.52 3.63-2 .72-4.18-.07-5.94-2.1l-16.26-20A10.3 10.3 0 0 0 156.69 73l-10.06 5.83A10.36 10.36 0 0 0 142.31 92l9.25 24.34a5.54 5.54 0 0 1-1.7 6.23c-2.43 2-4.92 4-7.4 6.22a5.38 5.38 0 0 1-6.35.64L114 115.74a10.4 10.4 0 0 0-13.61 2L93 126.63a10.31 10.31 0 0 0 .37 13.75L110.45 160a5.42 5.42 0 0 1 .45 6.45c-1.71 2.72-3.34 5.58-4.82 8.44a5.53 5.53 0 0 1-5.86 2.82l-25.51-4.93a10.34 10.34 0 0 0-12.14 6.51l-4 10.88a10.38 10.38 0 0 0 5 12.85l22.78 12.65a5.39 5.39 0 0 1 2.65 5.92l-.24 1.27c-.52 2.79-1 5.43-1.46 8.24a5.48 5.48 0 0 1-4.46 4.64l-25.69 4.15A10.42 10.42 0 0 0 48 250.16v11.58A10.26 10.26 0 0 0 57.16 272l25.68 4.14a5.41 5.41 0 0 1 4.5 4.67c.49 3.16 1 6.42 1.7 9.52a5.52 5.52 0 0 1-2.63 5.85l-22.77 12.67a10.35 10.35 0 0 0-5 12.83l4 10.9a10.33 10.33 0 0 0 12.13 6.51l25.55-4.95a5.49 5.49 0 0 1 5.82 2.81c1.5 2.8 3.11 5.63 4.8 8.42a5.58 5.58 0 0 1-.44 6.5l-17 19.63a10.41 10.41 0 0 0-.5 13.77l7.41 8.91a10.23 10.23 0 0 0 13.58 2l22.37-13.43a5.39 5.39 0 0 1 6.39.63c2.48 2.17 5 4.26 7.37 6.19a5.47 5.47 0 0 1 1.73 6.21l-9.27 24.4a10.35 10.35 0 0 0 4.31 13.07l10.11 5.84a10.3 10.3 0 0 0 13.45-2.82L187 415.92c1.4-1.73 3.6-2.5 5.23-1.84 3.48 1.44 5.81 2.25 9.94 3.63a5.44 5.44 0 0 1 3.75 5.23l-.4 26.05a10.5 10.5 0 0 0 8.57 10.88l11.45 2a10.43 10.43 0 0 0 11.75-7.17l8.5-24.77a5.45 5.45 0 0 1 5.36-3.65h9.75a5.49 5.49 0 0 1 5.3 3.67l8.47 24.67a10.48 10.48 0 0 0 10 7.41 9.74 9.74 0 0 0 1.78-.16l11.47-2a10.46 10.46 0 0 0 8.56-10.79l-.4-26.16a5.43 5.43 0 0 1 3.75-5.2c3.84-1.29 6.54-2.33 8.91-3.25l.6-.23c3.1-1.07 4.6.23 5.47 1.31l16.75 20.63A10.3 10.3 0 0 0 355 439l10.07-5.83a10.35 10.35 0 0 0 4.31-13.1l-9.24-24.34a5.52 5.52 0 0 1 1.69-6.23c2.43-2 4.92-4 7.4-6.22a5.39 5.39 0 0 1 6.38-.62l22.39 13.4a10.39 10.39 0 0 0 13.61-2l7.4-8.9a10.31 10.31 0 0 0-.37-13.75l-17.06-19.67a5.42 5.42 0 0 1-.45-6.45c1.71-2.71 3.34-5.57 4.82-8.44a5.55 5.55 0 0 1 5.86-2.82l25.48 4.97a10.34 10.34 0 0 0 12.14-6.51l3.95-10.88a10.37 10.37 0 0 0-5-12.84l-22.8-12.67a5.4 5.4 0 0 1-2.61-5.89l.24-1.27c.52-2.79 1-5.43 1.46-8.24a5.48 5.48 0 0 1 4.46-4.64l25.69-4.14a10.43 10.43 0 0 0 9.18-10.28v-11.71zm-282.45 94a15.8 15.8 0 0 1-25.47 2.66 135.06 135.06 0 0 1 .42-181.65 15.81 15.81 0 0 1 25.5 2.77l45.65 80.35a15.85 15.85 0 0 1 0 15.74zM256 391.11a134.75 134.75 0 0 1-28.31-3 15.81 15.81 0 0 1-10.23-23.36l46-80a15.79 15.79 0 0 1 13.7-7.93h92.14a15.8 15.8 0 0 1 15.1 20.53c-17.49 54.32-68.4 93.76-128.4 93.76zm7.51-163.9L218 147.07a15.81 15.81 0 0 1 10.31-23.3 134 134 0 0 1 27.69-2.88c60 0 110.91 39.44 128.37 93.79a15.8 15.8 0 0 1-15.1 20.53h-92a15.78 15.78 0 0 1-13.76-8z\"},\"child\":[]}]})(props);\n};\nexport function IoColorFillOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M419.1 337.45a3.94 3.94 0 0 0-6.1 0c-10.5 12.4-45 46.55-45 77.66 0 27 21.5 48.89 48 48.89s48-22 48-48.89c0-31.11-34.3-65.26-44.9-77.66zM387 287.9 155.61 58.36a36 36 0 0 0-51 0l-5.15 5.15a36 36 0 0 0 0 51l52.89 52.89 57-57L56.33 263.2a28 28 0 0 0 .3 40l131.2 126a28.05 28.05 0 0 0 38.9-.1c37.8-36.6 118.3-114.5 126.7-122.9 5.8-5.8 18.2-7.1 28.7-7.1h.3a6.53 6.53 0 0 0 4.57-11.2z\"},\"child\":[]}]})(props);\n};\nexport function IoColorFillSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416 320s-64 48-64 99.84c0 33.28 28.67 60.16 64 60.16s64-27 64-60.16C480 368 416 320 416 320zM144 32l-76 76 70 70L32 280l176 184 152.8-148.3L416 304zm24 116-39.6-41 15.88-15.89L184 132z\"},\"child\":[]}]})(props);\n};\nexport function IoColorFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416 480c-35.29 0-64-29.11-64-64.88 0-33.29 28.67-65.4 44.08-82.64 1.87-2.1 3.49-3.91 4.68-5.31a19.94 19.94 0 0 1 30.55 0c1.13 1.31 2.63 3 4.36 4.93 15.5 17.3 44.33 49.51 44.33 83.05 0 35.74-28.71 64.85-64 64.85zm-17.77-203.36L166.89 47.22a52.1 52.1 0 0 0-73.6 0l-4.51 4.51a53.2 53.2 0 0 0-15.89 37.33A51.66 51.66 0 0 0 88.14 126l41.51 41.5L45 252a44.52 44.52 0 0 0-13 32 42.81 42.81 0 0 0 13.5 30.84l131.24 126a44 44 0 0 0 61.08-.18l124.11-120.28a15.6 15.6 0 0 1 8.23-4.29 69.21 69.21 0 0 1 11.93-.86h.3a22.53 22.53 0 0 0 15.84-38.59zM152.29 144.85l-41.53-41.52a20 20 0 0 1 0-28.34l5.16-5.15a20.07 20.07 0 0 1 28.39 0L186 111.21z\"},\"child\":[]}]})(props);\n};\nexport function IoColorFilterOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"184\",\"r\":\"120\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"344\",\"cy\":\"328\",\"r\":\"120\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"168\",\"cy\":\"328\",\"r\":\"120\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]}]})(props);\n};\nexport function IoColorFilterSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 185a167.85 167.85 0 0 1 134.9-18.28C382.36 99.83 325.12 48 256 48S129.64 99.83 121.1 166.67A167.85 167.85 0 0 1 256 185zm80 146.73a167.51 167.51 0 0 1-52.37 118.08A135 135 0 0 0 344 464c75 0 136-61 136-136a136 136 0 0 0-59.06-112.08A168.53 168.53 0 0 1 336 331.73zm-52.42-125.54a167.87 167.87 0 0 1 49.36 89.89 136.14 136.14 0 0 0 58.06-95.7 135.87 135.87 0 0 0-107.43 5.81zM176.05 331.73a168.53 168.53 0 0 1-85-115.81A136 136 0 0 0 32 328c0 75 61 136 136 136a135 135 0 0 0 60.42-14.19 167.51 167.51 0 0 1-52.37-118.08zm3.01-35.65a167.87 167.87 0 0 1 49.36-89.89A135.87 135.87 0 0 0 121 200.38a136.14 136.14 0 0 0 58.06 95.7zm123.84 49.25a168.22 168.22 0 0 1-93.8 0A135.9 135.9 0 0 0 256 431.6a135.9 135.9 0 0 0 46.9-86.27zM209 311.62a136 136 0 0 0 94 0 135.93 135.93 0 0 0-47-87.22 135.93 135.93 0 0 0-47 87.22z\"},\"child\":[]}]})(props);\n};\nexport function IoColorFilter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M253.72 202.53a4 4 0 0 0 4.56 0 151.88 151.88 0 0 1 128.44-20.41 4 4 0 0 0 5.15-4C388.8 105.86 329 48 256 48s-132.8 57.86-135.87 130.15a4 4 0 0 0 5.15 4 151.88 151.88 0 0 1 128.44 20.41zm151.59 10.03a152.53 152.53 0 0 1-83.08 108.23 4 4 0 0 0-2.28 3.69c0 1.17.05 2.34.05 3.52a151.58 151.58 0 0 1-47.15 109.94 4 4 0 0 0 .64 6.31A135.24 135.24 0 0 0 344 464c72.07 0 134.1-60.28 136-132.34a136.07 136.07 0 0 0-68.76-121.87 4 4 0 0 0-5.93 2.77z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M390.57 203.67a4 4 0 0 0-2.69-4.4 135.84 135.84 0 0 0-114.4 12.49 4 4 0 0 0-.64 6.29 151.92 151.92 0 0 1 44.47 81.4 4 4 0 0 0 5.94 2.72 136.29 136.29 0 0 0 67.32-98.5zM192 328c0-1.18 0-2.35.05-3.52a4 4 0 0 0-2.28-3.69 152.53 152.53 0 0 1-83.08-108.23 4 4 0 0 0-5.88-2.77 136.07 136.07 0 0 0-68.76 121.87C34 403.72 96 464 168.05 464a135.24 135.24 0 0 0 70.46-19.75 4 4 0 0 0 .64-6.31A151.58 151.58 0 0 1 192 328z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M168 192a135.34 135.34 0 0 0-43.88 7.27 4 4 0 0 0-2.69 4.4 136.29 136.29 0 0 0 67.32 98.5 4 4 0 0 0 5.94-2.72 151.92 151.92 0 0 1 44.47-81.4 4 4 0 0 0-.64-6.29A135.18 135.18 0 0 0 168 192zm88 144a151.44 151.44 0 0 1-42.72-6.12 4 4 0 0 0-5.15 4 135.69 135.69 0 0 0 45.18 95.4 4 4 0 0 0 5.38 0 135.69 135.69 0 0 0 45.18-95.4 4 4 0 0 0-5.15-4A151.44 151.44 0 0 1 256 336zm46.57-27.67a135.94 135.94 0 0 0-43.87-81.58 4.06 4.06 0 0 0-5.4 0 135.94 135.94 0 0 0-43.87 81.58 4 4 0 0 0 2.69 4.4 136.06 136.06 0 0 0 87.76 0 4 4 0 0 0 2.69-4.4z\"},\"child\":[]}]})(props);\n};\nexport function IoColorPaletteOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M430.11 347.9c-6.6-6.1-16.3-7.6-24.6-9-11.5-1.9-15.9-4-22.6-10-14.3-12.7-14.3-31.1 0-43.8l30.3-26.9c46.4-41 46.4-108.2 0-149.2-34.2-30.1-80.1-45-127.8-45-55.7 0-113.9 20.3-158.8 60.1-83.5 73.8-83.5 194.7 0 268.5 41.5 36.7 97.5 55 152.9 55.4h1.7c55.4 0 110-17.9 148.8-52.4 14.4-12.7 11.99-36.6.1-47.7z\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"144\",\"cy\":\"208\",\"r\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"152\",\"cy\":\"311\",\"r\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"224\",\"cy\":\"144\",\"r\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"367\",\"r\":\"48\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"328\",\"cy\":\"144\",\"r\":\"32\"},\"child\":[]}]})(props);\n};\nexport function IoColorPaletteSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416 352c-12.6-.84-21-4-28-12-14-16-14-36 5.49-52.48l32.82-29.14c50.27-44.41 50.27-117.21 0-161.63C389.26 64.14 339.54 48 287.86 48c-60.34 0-123.39 22-172 65.11-90.46 80-90.46 210.92 0 290.87 45 39.76 105.63 59.59 165.64 60h1.84c60 0 119.07-19.5 161.2-56.77C464 390 464 385 444.62 355.56 440 348 431 353 416 352zM112 208a32 32 0 1 1 32 32 32 32 0 0 1-32-32zm40 135a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm40-199a32 32 0 1 1 32 32 32 32 0 0 1-32-32zm64 271a48 48 0 1 1 48-48 48 48 0 0 1-48 48zm72-239a32 32 0 1 1 32-32 32 32 0 0 1-32 32z\"},\"child\":[]}]})(props);\n};\nexport function IoColorPalette (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m441 336.2-.06-.05c-9.93-9.18-22.78-11.34-32.16-12.92l-.69-.12c-9.05-1.49-10.48-2.5-14.58-6.17-2.44-2.17-5.35-5.65-5.35-9.94s2.91-7.77 5.34-9.94l30.28-26.87c25.92-22.91 40.2-53.66 40.2-86.59s-14.25-63.68-40.2-86.6c-35.89-31.59-85-49-138.37-49C223.72 48 162 71.37 116 112.11c-43.87 38.77-68 90.71-68 146.24s24.16 107.47 68 146.23c21.75 19.24 47.49 34.18 76.52 44.42a266.17 266.17 0 0 0 86.87 15h1.81c61 0 119.09-20.57 159.39-56.4 9.7-8.56 15.15-20.83 15.34-34.56.21-14.17-5.37-27.95-14.93-36.84zM112 208a32 32 0 1 1 32 32 32 32 0 0 1-32-32zm40 135a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm40-199a32 32 0 1 1 32 32 32 32 0 0 1-32-32zm64 271a48 48 0 1 1 48-48 48 48 0 0 1-48 48zm72-239a32 32 0 1 1 32-32 32 32 0 0 1-32 32z\"},\"child\":[]}]})(props);\n};\nexport function IoColorWandOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"63.03\",\"height\":\"378.2\",\"x\":\"280.48\",\"y\":\"122.9\",\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"rx\":\"31.52\",\"transform\":\"rotate(-45 312.002 311.994)\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M178.38 178.38a31.64 31.64 0 0 0 0 44.75L223.25 268 268 223.25l-44.87-44.87a31.64 31.64 0 0 0-44.75 0z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M48 192h48M90.18 90.18l33.94 33.94M192 48v48m101.82-5.82-33.94 33.94M124.12 259.88l-33.94 33.94\"},\"child\":[]}]})(props);\n};\nexport function IoColorWandSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m133.441 200.647 67.197-67.196 78.142 78.142-67.196 67.196zM301.41 234.21l-67.19 67.2L412 480l68-68-178.59-177.79zM32 176h80v32H32zm35.624-85.75 22.627-22.628 56.569 56.569-22.627 22.627zM176 32h32v80h-32zm61.32 92.195 56.569-56.569 22.627 22.627-56.569 56.569zM67.62 293.887l56.569-56.569 22.627 22.627-56.569 56.569z\"},\"child\":[]}]})(props);\n};\nexport function IoColorWand (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M96 208H48c-8.8 0-16-7.2-16-16s7.2-16 16-16h48c8.8 0 16 7.2 16 16s-7.2 16-16 16zm28.1-67.9c-4.2 0-8.3-1.7-11.3-4.7l-33.9-33.9c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l33.9 33.9c6.3 6.2 6.3 16.4 0 22.6-3 3-7 4.7-11.3 4.7zM192 112c-8.8 0-16-7.2-16-16V48c0-8.8 7.2-16 16-16s16 7.2 16 16v48c0 8.8-7.2 16-16 16zm67.9 28.1c-8.8 0-16-7.2-16-16 0-4.2 1.7-8.3 4.7-11.3l33.9-33.9c6.2-6.2 16.4-6.2 22.6 0 6.2 6.2 6.2 16.4 0 22.6l-33.9 33.9c-3 3-7.1 4.7-11.3 4.7zM90.2 309.8c-8.8 0-16-7.2-16-16 0-4.2 1.7-8.3 4.7-11.3l33.9-33.9c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-33.9 33.9c-3 3-7.1 4.7-11.3 4.7zm144-142.8c-18.4-18.7-48.5-19-67.2-.7s-19 48.5-.7 67.2l.7.7 39.5 39.5c3.1 3.1 8.2 3.1 11.3 0l55.9-55.9c3.1-3.1 3.1-8.2 0-11.3L234.2 167zM457 389.8 307.6 240.4c-3.1-3.1-8.2-3.1-11.3 0l-55.9 55.9c-3.1 3.1-3.1 8.2 0 11.3L389.8 457c18.4 18.7 48.5 19 67.2.7 18.7-18.4 19-48.5.7-67.2-.2-.2-.4-.5-.7-.7z\"},\"child\":[]}]})(props);\n};\nexport function IoCompassOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192 192-86 192-192z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"m350.67 150.93-117.2 46.88a64 64 0 0 0-35.66 35.66l-46.88 117.2a8 8 0 0 0 10.4 10.4l117.2-46.88a64 64 0 0 0 35.66-35.66l46.88-117.2a8 8 0 0 0-10.4-10.4zM256 280a24 24 0 1 1 24-24 24 24 0 0 1-24 24z\"},\"child\":[]}]})(props);\n};\nexport function IoCompassSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"r\":\"24\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm48 256-160 64 64-160 160-64z\"},\"child\":[]}]})(props);\n};\nexport function IoCompass (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"r\":\"24\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm105.07 113.33-46.88 117.2a64 64 0 0 1-35.66 35.66l-117.2 46.88a8 8 0 0 1-10.4-10.4l46.88-117.2a64 64 0 0 1 35.66-35.66l117.2-46.88a8 8 0 0 1 10.4 10.4z\"},\"child\":[]}]})(props);\n};\nexport function IoConstructOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M436.67 184.11a27.17 27.17 0 0 1-38.3 0l-22.48-22.49a27.15 27.15 0 0 1 0-38.29l50.89-50.89a.85.85 0 0 0-.26-1.38C393.68 57 351.09 64.15 324.05 91c-25.88 25.69-27.35 64.27-17.87 98a27 27 0 0 1-7.67 27.14l-173 160.76a40.76 40.76 0 1 0 57.57 57.54l162.15-173.3a27 27 0 0 1 26.77-7.7c33.46 8.94 71.49 7.26 97.07-17.94 27.49-27.08 33.42-74.94 20.1-102.33a.85.85 0 0 0-1.36-.22z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M224 284c-17.48-17-25.49-24.91-31-30.29a18.24 18.24 0 0 1-3.33-21.35 20.76 20.76 0 0 1 3.5-4.62l15.68-15.29a18.66 18.66 0 0 1 5.63-3.87 18.11 18.11 0 0 1 20 3.62c5.45 5.29 15.43 15 33.41 32.52m49.18 46.58c40.95 38.1 90.62 83.27 110 99.41a13.46 13.46 0 0 1 .94 19.92L394.63 444a14 14 0 0 1-20.29-.76c-16.53-19.18-61.09-67.11-99.27-107\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m17.34 193.5 29.41-28.74a4.71 4.71 0 0 1 3.41-1.35 4.85 4.85 0 0 1 3.41 1.35h0a9.86 9.86 0 0 0 8.19 2.77c3.83-.42 7.92-1.6 10.57-4.12 6-5.8-.94-17.23 4.34-24.54a207 207 0 0 1 19.78-22.6c6-5.88 29.84-28.32 69.9-44.45A107.31 107.31 0 0 1 206.67 64c22.59 0 40 10 46.26 15.67a89.54 89.54 0 0 1 10.28 11.64 78.92 78.92 0 0 0-9.21-2.77 68.82 68.82 0 0 0-20-1.26c-13.33 1.09-29.41 7.26-38 14-13.9 11-19.87 25.72-20.81 44.71-.68 14.12 2.72 22.1 36.1 55.49a6.6 6.6 0 0 1-.34 9.16l-18.22 18a6.88 6.88 0 0 1-9.54.09c-21.94-21.94-36.65-33.09-45-38.16s-15.07-6.5-18.3-6.85a30.85 30.85 0 0 0-18.27 3.87 11.39 11.39 0 0 0-2.64 2 14.14 14.14 0 0 0 .42 20.08l1.71 1.6a4.63 4.63 0 0 1 0 6.64L71.73 246.6a4.71 4.71 0 0 1-3.41 1.4 4.86 4.86 0 0 1-3.41-1.35l-47.57-46.43a4.88 4.88 0 0 1 0-6.72z\"},\"child\":[]}]})(props);\n};\nexport function IoConstructSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m497.14 111.38-81.09 80.84-48.58-48.41L448.56 63c-45.22-22-108.65-22.09-146.2 15.35-35.32 35.2-39.73 90.61-22.54 134.2L99.57 391.37a12 12 0 0 0 0 17l52.27 52.11a12 12 0 0 0 17 0l180-180.5c43.16 16.21 98 11.64 132.74-23 37.5-37.45 37.42-100.34 15.56-145.6z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"m365.45 308.62-71.83 72 75.53 79.92a10.88 10.88 0 0 0 15.65.21l60-60.46a11 11 0 0 0-.24-15.69zM119 212c0-4.87-4-9.33-7.45-12.78l-.25-.24-1.54-1.47a1.06 1.06 0 0 1-.26-.8 16.16 16.16 0 0 1 9.52-2c1.27.13 5.91.9 12.4 4.91 3.38 2.09 32.63 30.23 43.93 40.7a11 11 0 0 0 .14 15.35l7.43 7.86 65.66-65.17-8.25-7.84a10.87 10.87 0 0 0-15.31-.06c-23-24.68-29-35.45-31-42.45-4.42-15.47 4.14-28 14-36 5.84-4.62 17.88-8.08 29-9a52.72 52.72 0 0 1 11.61.6c3.47.5 6.3 1.14 7.39 1.4a68.51 68.51 0 0 1 11 4l12-19a88.38 88.38 0 0 0-13.4-17.7 115.05 115.05 0 0 0-5.19-5.1c-7.78-7.15-28-19.2-54.59-19.2a117.38 117.38 0 0 0-44.77 8.82c-37.44 15.34-61.88 36.25-73.11 47.35l-.07.07A219.55 219.55 0 0 0 67 128.56c-5.35 7.53-4.77 15.84-4.38 21.34 0 .32 0 .67.07 1a18.41 18.41 0 0 0-10.78-3.5A18 18 0 0 0 39 152.73L2 189.62a6.79 6.79 0 0 0 0 9.6L65 262a6.72 6.72 0 0 0 9.5 0l37.06-37c3.44-3.44 7.44-8.14 7.44-13z\"},\"child\":[]}]})(props);\n};\nexport function IoConstruct (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M503.58 126.2a16.85 16.85 0 0 0-27.07-4.55l-51.15 51.15a11.15 11.15 0 0 1-15.66 0l-22.48-22.48a11.17 11.17 0 0 1 0-15.67l50.88-50.89a16.85 16.85 0 0 0-5.27-27.4c-39.71-17-89.08-7.45-120 23.29-26.81 26.61-34.83 68-22 113.7a11 11 0 0 1-3.16 11.1L114.77 365.1a56.76 56.76 0 1 0 80.14 80.18L357 272.08a11 11 0 0 1 10.9-3.17c45 12 86 4 112.43-22 15.2-15 25.81-36.17 29.89-59.71 3.83-22.2 1.41-44.44-6.64-61z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M437.33 378.41c-13.94-11.59-43.72-38.4-74.07-66.22l-66.07 70.61c28.24 30 53.8 57.85 65 70.88l.07.08A30 30 0 0 0 383.72 464h1.1a30.11 30.11 0 0 0 21-8.62l.07-.07 33.43-33.37a29.46 29.46 0 0 0-2-43.53zM118.54 214.55a20.48 20.48 0 0 0-3-10.76 2.76 2.76 0 0 1 2.62-4.22h.06c.84.09 5.33.74 11.7 4.61 4.73 2.87 18.23 12.08 41.73 35.54a34.23 34.23 0 0 0 7.22 22.12l66.23-61.55a33.73 33.73 0 0 0-21.6-9.2 2.65 2.65 0 0 1-.21-.26l-.65-.69-24.54-33.84a28.45 28.45 0 0 1-4-26.11 35.23 35.23 0 0 1 11.78-16.35c5.69-4.41 18.53-9.72 29.44-10.62a52.92 52.92 0 0 1 15.19.94 65.57 65.57 0 0 1 7.06 2.13 15.46 15.46 0 0 0 2.15.63 16 16 0 0 0 16.38-25.06c-.26-.35-1.32-1.79-2.89-3.73a91.85 91.85 0 0 0-9.6-10.36c-8.15-7.36-29.27-19.77-57-19.77a123.13 123.13 0 0 0-46.3 9c-38.37 15.45-63.47 36.58-75.01 47.79l-.09.09A222.14 222.14 0 0 0 63.7 129.5a27 27 0 0 0-4.7 11.77 7.33 7.33 0 0 1-7.71 6.17H50.2a20.65 20.65 0 0 0-14.59 5.9L6.16 182.05l-.32.32a20.89 20.89 0 0 0-.24 28.72c.19.2.37.39.57.58L53.67 258a21 21 0 0 0 14.65 6 20.65 20.65 0 0 0 14.59-5.9l29.46-28.79a20.51 20.51 0 0 0 6.17-14.76z\"},\"child\":[]}]})(props);\n};\nexport function IoContractOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M304 416V304h112m-101.8 10.23L432 432M208 96v112H96m101.8-10.23L80 80m336 128H304V96m10.23 101.8L432 80M96 304h112v112m-10.23-101.8L80 432\"},\"child\":[]}]})(props);\n};\nexport function IoContractSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M304 416V304h112m-101.8 10.23L432 432M208 96v112H96m101.8-10.23L80 80m336 128H304V96m10.23 101.8L432 80M96 304h112v112m-10.23-101.8L80 432\"},\"child\":[]}]})(props);\n};\nexport function IoContract (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M304 416V304h112m-101.8 10.23L432 432M208 96v112H96m101.8-10.23L80 80m336 128H304V96m10.23 101.8L432 80M96 304h112v112m-10.23-101.8L80 432\"},\"child\":[]}]})(props);\n};\nexport function IoContrastOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"r\":\"208\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M256 464c-114.88 0-208-93.12-208-208S141.12 48 256 48z\"},\"child\":[]}]})(props);\n};\nexport function IoContrastSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 32C132.29 32 32 132.29 32 256s100.29 224 224 224 224-100.29 224-224S379.71 32 256 32zM128.72 383.28A180 180 0 0 1 256 76v360a178.82 178.82 0 0 1-127.28-52.72z\"},\"child\":[]}]})(props);\n};\nexport function IoContrast (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 32A224 224 0 0 0 97.61 414.39 224 224 0 1 0 414.39 97.61 222.53 222.53 0 0 0 256 32zM64 256c0-105.87 86.13-192 192-192v384c-105.87 0-192-86.13-192-192z\"},\"child\":[]}]})(props);\n};\nexport function IoCopyOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"336\",\"height\":\"336\",\"x\":\"128\",\"y\":\"128\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"57\",\"ry\":\"57\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m383.5 128 .5-24a56.16 56.16 0 0 0-56-56H112a64.19 64.19 0 0 0-64 64v216a56.16 56.16 0 0 0 56 56h24\"},\"child\":[]}]})(props);\n};\nexport function IoCopySharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M456 480H136a24 24 0 0 1-24-24V128a16 16 0 0 1 16-16h328a24 24 0 0 1 24 24v320a24 24 0 0 1-24 24z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M112 80h288V56a24 24 0 0 0-24-24H60a28 28 0 0 0-28 28v316a24 24 0 0 0 24 24h24V112a32 32 0 0 1 32-32z\"},\"child\":[]}]})(props);\n};\nexport function IoCopy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M408 480H184a72 72 0 0 1-72-72V184a72 72 0 0 1 72-72h224a72 72 0 0 1 72 72v224a72 72 0 0 1-72 72z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M160 80h235.88A72.12 72.12 0 0 0 328 32H104a72 72 0 0 0-72 72v224a72.12 72.12 0 0 0 48 67.88V160a80 80 0 0 1 80-80z\"},\"child\":[]}]})(props);\n};\nexport function IoCreateOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M384 224v184a40 40 0 0 1-40 40H104a40 40 0 0 1-40-40V168a40 40 0 0 1 40-40h167.48\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M459.94 53.25a16.06 16.06 0 0 0-23.22-.56L424.35 65a8 8 0 0 0 0 11.31l11.34 11.32a8 8 0 0 0 11.34 0l12.06-12c6.1-6.09 6.67-16.01.85-22.38zM399.34 90 218.82 270.2a9 9 0 0 0-2.31 3.93L208.16 299a3.91 3.91 0 0 0 4.86 4.86l24.85-8.35a9 9 0 0 0 3.93-2.31L422 112.66a9 9 0 0 0 0-12.66l-9.95-10a9 9 0 0 0-12.71 0z\"},\"child\":[]}]})(props);\n};\nexport function IoCreateSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464.37 49.2a22.07 22.07 0 0 0-31.88-.76l-18.31 18.25 31.18 31.1 18-17.91a22.16 22.16 0 0 0 1.01-30.68zM252.76 336H176v-76.76l9.4-9.38L323.54 112H48v352h352V188.46L262.14 326.6l-9.38 9.4zM400 143.16l32.79-32.86-31.09-31.09L368.85 112H400v31.16z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M208 304h31.49L400 143.16V112h-31.15L208 272.51V304z\"},\"child\":[]}]})(props);\n};\nexport function IoCreate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M459.94 53.25a16.06 16.06 0 0 0-23.22-.56L424.35 65a8 8 0 0 0 0 11.31l11.34 11.32a8 8 0 0 0 11.34 0l12.06-12c6.1-6.09 6.67-16.01.85-22.38zM399.34 90 218.82 270.2a9 9 0 0 0-2.31 3.93L208.16 299a3.91 3.91 0 0 0 4.86 4.86l24.85-8.35a9 9 0 0 0 3.93-2.31L422 112.66a9 9 0 0 0 0-12.66l-9.95-10a9 9 0 0 0-12.71 0z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M386.34 193.66 264.45 315.79A41.08 41.08 0 0 1 247.58 326l-25.9 8.67a35.92 35.92 0 0 1-44.33-44.33l8.67-25.9a41.08 41.08 0 0 1 10.19-16.87l122.13-121.91a8 8 0 0 0-5.65-13.66H104a56 56 0 0 0-56 56v240a56 56 0 0 0 56 56h240a56 56 0 0 0 56-56V199.31a8 8 0 0 0-13.66-5.65z\"},\"child\":[]}]})(props);\n};\nexport function IoCropOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M144 48v272a48 48 0 0 0 48 48h272\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M368 304V192a48 48 0 0 0-48-48H208m160 224v96M144 144H48\"},\"child\":[]}]})(props);\n};\nexport function IoCropSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M166 346V32h-44v90H32v44h90v224h224v90h44v-90h90v-44H166z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M346 320h44V122H192v44h154v154z\"},\"child\":[]}]})(props);\n};\nexport function IoCrop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M458 346H192a26 26 0 0 1-26-26V54a22 22 0 0 0-44 0v68H54a22 22 0 0 0 0 44h68v154a70.08 70.08 0 0 0 70 70h154v68a22 22 0 0 0 44 0v-68h68a22 22 0 0 0 0-44z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M214 166h106a26 26 0 0 1 26 26v106a22 22 0 0 0 44 0V192a70.08 70.08 0 0 0-70-70H214a22 22 0 0 0 0 44z\"},\"child\":[]}]})(props);\n};\nexport function IoCubeOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M448 341.37V170.61A32 32 0 0 0 432.11 143l-152-88.46a47.94 47.94 0 0 0-48.24 0L79.89 143A32 32 0 0 0 64 170.61v170.76A32 32 0 0 0 79.89 369l152 88.46a48 48 0 0 0 48.24 0l152-88.46A32 32 0 0 0 448 341.37z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m69 153.99 187 110 187-110m-187 310v-200\"},\"child\":[]}]})(props);\n};\nexport function IoCubeSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M48 170v196.92L240 480V284L48 170zm224 310 192-113.08V170L272 284zm176-122.36zM448 144 256 32 64 144l192 112 192-112z\"},\"child\":[]}]})(props);\n};\nexport function IoCube (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M440.9 136.3a4 4 0 0 0 0-6.91L288.16 40.65a64.14 64.14 0 0 0-64.33 0L71.12 129.39a4 4 0 0 0 0 6.91L254 243.88a4 4 0 0 0 4.06 0zM54 163.51a4 4 0 0 0-6 3.49v173.89a48 48 0 0 0 23.84 41.39L234 479.51a4 4 0 0 0 6-3.46V274.3a4 4 0 0 0-2-3.46zM272 275v201a4 4 0 0 0 6 3.46l162.15-97.23A48 48 0 0 0 464 340.89V167a4 4 0 0 0-6-3.45l-184 108a4 4 0 0 0-2 3.45z\"},\"child\":[]}]})(props);\n};\nexport function IoCutOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"104\",\"cy\":\"152\",\"r\":\"56\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"104\",\"cy\":\"360\",\"r\":\"56\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"m157 175-11 15 37 15s3.46-6.42 7-10z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M154.17 334.43 460 162c-2.5-6.7-28-12-64-4-29.12 6.47-121.16 29.05-159.16 56.05C205.85 236.06 227 272 192 298c-25.61 19-44.43 22.82-44.43 22.82zm190.3-56.19L295 306.67c14.23 6.74 65.54 33.27 117 36.33 14.92.89 30 .39 39-6z\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"240\",\"r\":\"32\",\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\"},\"child\":[]}]})(props);\n};\nexport function IoCutSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M480 128h-48l-198.94 70.46-59.13-31.59a72.16 72.16 0 1 0-25.69 41.47l52.2 31.72L192 277l-43.64 26.76a71.74 71.74 0 1 0 24.79 38L480 160zm-376.52 64a40 40 0 1 1 40-40 40 40 0 0 1-40 40zm0 208a40 40 0 1 1 40-40 40 40 0 0 1-40 40zm152-144a16 16 0 1 1 16-16 16 16 0 0 1-16 16z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"m343.79 259.87-83.74 48.18L432 368h47.99l.01-32-136.21-76.13z\"},\"child\":[]}]})(props);\n};\nexport function IoCut (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M103.48 224a71.64 71.64 0 0 0 44.76-15.66l41.5 16.89 6.82-12.63a39.15 39.15 0 0 1 4.32-6.37l14.22-14.42-41.17-24.94A72 72 0 1 0 103.48 224zm0-112a40 40 0 1 1-40 40 40 40 0 0 1 40-40z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"m480 169-5.52-12.58c-4.48-10.42-14.74-16-32.78-17.85-10.12-1-26.95-1.24-49.69 3.81-20 4.45-122.14 28.2-164.95 58.62-20.25 14.39-24.06 33.67-27.06 49.16-2.78 14.14-5 25.31-18 35-15 11.14-27.27 16.38-33.58 18.6a71.74 71.74 0 1 0 24.79 38zm-224.52 87a16 16 0 1 1 16-16 16 16 0 0 1-16 16zm-152 144a40 40 0 1 1 40-40 40 40 0 0 1-40 40z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"m343.79 259.87-83.74 48.18 27.63 13.08 3.62 1.74C310 331.92 359.74 356 410.53 359c3.89.23 7.47.34 10.78.34C442 359.31 453 354 459.75 350L480 336z\"},\"child\":[]}]})(props);\n};\nexport function IoDesktopOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"448\",\"height\":\"320\",\"x\":\"32\",\"y\":\"64\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"32\",\"ry\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m304 448-8-64h-80l-8 64h96z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M368 448H144\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M32 304v48a32.09 32.09 0 0 0 32 32h384a32.09 32.09 0 0 0 32-32v-48zm224 64a16 16 0 1 1 16-16 16 16 0 0 1-16 16z\"},\"child\":[]}]})(props);\n};\nexport function IoDesktopSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M480 48H32a16 16 0 0 0-16 16v320a16 16 0 0 0 16 16h168v32h-72v32h256v-32h-72v-32h168a16 16 0 0 0 16-16V64a16 16 0 0 0-16-16zm-20 36v216H52V84zM240.13 354.08a16 16 0 1 1 13.79 13.79 16 16 0 0 1-13.79-13.79z\"},\"child\":[]}]})(props);\n};\nexport function IoDesktop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 352a48.05 48.05 0 0 0 48 48h133.88l-4 32H144a16 16 0 0 0 0 32h224a16 16 0 0 0 0-32h-49.88l-4-32H448a48.05 48.05 0 0 0 48-48v-48H16zm240-16a16 16 0 1 1-16 16 16 16 0 0 1 16-16zM496 96a48.05 48.05 0 0 0-48-48H64a48.05 48.05 0 0 0-48 48v192h480z\"},\"child\":[]}]})(props);\n};\nexport function IoDiamondOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m35.42 188.21 207.75 269.46a16.17 16.17 0 0 0 25.66 0l207.75-269.46a16.52 16.52 0 0 0 .95-18.75L407.06 55.71A16.22 16.22 0 0 0 393.27 48H118.73a16.22 16.22 0 0 0-13.79 7.71L34.47 169.46a16.52 16.52 0 0 0 .95 18.75zM48 176h416\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m400 64-48 112-96-128M112 64l48 112 96-128m0 400-96-272m96 272 96-272\"},\"child\":[]}]})(props);\n};\nexport function IoDiamondSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M396.31 32H264l84.19 112.26L396.31 32zm-280.62 0 48.12 112.26L248 32H115.69zM256 74.67 192 160h128l-64-85.33zm166.95-23.61L376.26 160H488L422.95 51.06zm-333.9 0L23 160h112.74L89.05 51.06zM146.68 192H24l222.8 288h.53L146.68 192zm218.64 0L264.67 480h.53L488 192H365.32zm-35.93 0H182.61L256 400l73.39-208z\"},\"child\":[]}]})(props);\n};\nexport function IoDiamond (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M121.72 32a4 4 0 0 0-3.72 5.56l2.3 5.43 40.7 94.9a4 4 0 0 0 6.88.82L243 38.4a4 4 0 0 0-3.2-6.4zm298.21 26.06-41.28 96.37a4 4 0 0 0 3.68 5.57h101a4 4 0 0 0 3.4-6.11L427 57.53a4 4 0 0 0-7.07.53zM85 57.57l-59.71 96.32a4 4 0 0 0 3.4 6.11h101a4 4 0 0 0 3.67-5.58L92 58.1a4 4 0 0 0-7-.53zM393.27 32H267.82a1.94 1.94 0 0 0-1.56 3.11l79.92 106.46a1.94 1.94 0 0 0 3.34-.4L391.6 43l3.4-8.34a1.92 1.92 0 0 0-1.7-2.66zM239 448l-89.43-253.49A3.78 3.78 0 0 0 146 192H25.7a3.72 3.72 0 0 0-2.95 6l216 279.81a5.06 5.06 0 0 0 6.39 1.37 5 5 0 0 0 2.39-6.08zm247.3-256H366a3.75 3.75 0 0 0-3.54 2.51l-98.2 278.16a5.21 5.21 0 0 0 2.42 6.31 5.22 5.22 0 0 0 6.61-1.39L489.25 198a3.72 3.72 0 0 0-2.95-6zM259.2 78.93l56 74.67a4 4 0 0 1-3.2 6.4H200a4 4 0 0 1-3.2-6.4l56-74.67a4 4 0 0 1 6.4 0zm-7 310.31-67.7-191.91a4 4 0 0 1 3.77-5.33h135.46a4 4 0 0 1 3.77 5.33l-67.73 191.91a4 4 0 0 1-7.54 0z\"},\"child\":[]}]})(props);\n};\nexport function IoDiceOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M448 341.37V170.61A32 32 0 0 0 432.11 143l-152-88.46a47.94 47.94 0 0 0-48.24 0L79.89 143A32 32 0 0 0 64 170.61v170.76A32 32 0 0 0 79.89 369l152 88.46a48 48 0 0 0 48.24 0l152-88.46A32 32 0 0 0 448 341.37z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m69 153.99 187 110 187-110m-187 310v-200\"},\"child\":[]},{\"tag\":\"ellipse\",\"attr\":{\"cx\":\"256\",\"cy\":\"152\",\"rx\":\"24\",\"ry\":\"16\"},\"child\":[]},{\"tag\":\"ellipse\",\"attr\":{\"cx\":\"208\",\"cy\":\"296\",\"rx\":\"16\",\"ry\":\"24\"},\"child\":[]},{\"tag\":\"ellipse\",\"attr\":{\"cx\":\"112\",\"cy\":\"328\",\"rx\":\"16\",\"ry\":\"24\"},\"child\":[]},{\"tag\":\"ellipse\",\"attr\":{\"cx\":\"304\",\"cy\":\"296\",\"rx\":\"16\",\"ry\":\"24\"},\"child\":[]},{\"tag\":\"ellipse\",\"attr\":{\"cx\":\"400\",\"cy\":\"240\",\"rx\":\"16\",\"ry\":\"24\"},\"child\":[]},{\"tag\":\"ellipse\",\"attr\":{\"cx\":\"304\",\"cy\":\"384\",\"rx\":\"16\",\"ry\":\"24\"},\"child\":[]},{\"tag\":\"ellipse\",\"attr\":{\"cx\":\"400\",\"cy\":\"328\",\"rx\":\"16\",\"ry\":\"24\"},\"child\":[]}]})(props);\n};\nexport function IoDiceSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M48 366.92 240 480V284L48 170zM192 288c8.84 0 16 10.75 16 24s-7.16 24-16 24-16-10.75-16-24 7.16-24 16-24zm-96 32c8.84 0 16 10.75 16 24s-7.16 24-16 24-16-10.75-16-24 7.16-24 16-24zm176-36v196l192-113.08V170zm48 140c-8.84 0-16-10.75-16-24s7.16-24 16-24 16 10.75 16 24-7.16 24-16 24zm0-88c-8.84 0-16-10.75-16-24s7.16-24 16-24 16 10.75 16 24-7.16 24-16 24zm96 32c-8.84 0-16-10.75-16-24s7.16-24 16-24 16 10.75 16 24-7.16 24-16 24zm0-88c-8.84 0-16-10.75-16-24s7.16-24 16-24 16 10.75 16 24-7.16 24-16 24zm32 77.64zM256 32 64 144l192 112 192-112zm0 120c-13.25 0-24-7.16-24-16s10.75-16 24-16 24 7.16 24 16-10.75 16-24 16z\"},\"child\":[]}]})(props);\n};\nexport function IoDice (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M440.88 129.37 288.16 40.62a64.14 64.14 0 0 0-64.33 0L71.12 129.37a4 4 0 0 0 0 6.9L254 243.85a4 4 0 0 0 4.06 0L440.9 136.27a4 4 0 0 0-.02-6.9zM256 152c-13.25 0-24-7.16-24-16s10.75-16 24-16 24 7.16 24 16-10.75 16-24 16zm-18 118.81L54 163.48a4 4 0 0 0-6 3.46v173.92a48 48 0 0 0 23.84 41.39L234 479.48a4 4 0 0 0 6-3.46V274.27a4 4 0 0 0-2-3.46zM96 368c-8.84 0-16-10.75-16-24s7.16-24 16-24 16 10.75 16 24-7.16 24-16 24zm96-32c-8.84 0-16-10.75-16-24s7.16-24 16-24 16 10.75 16 24-7.16 24-16 24zm266-172.49L274 271.56a4 4 0 0 0-2 3.45V476a4 4 0 0 0 6 3.46l162.15-97.23A48 48 0 0 0 464 340.86V167a4 4 0 0 0-6-3.49zM320 424c-8.84 0-16-10.75-16-24s7.16-24 16-24 16 10.75 16 24-7.16 24-16 24zm0-88c-8.84 0-16-10.75-16-24s7.16-24 16-24 16 10.75 16 24-7.16 24-16 24zm96 32c-8.84 0-16-10.75-16-24s7.16-24 16-24 16 10.75 16 24-7.16 24-16 24zm0-88c-8.84 0-16-10.75-16-24s7.16-24 16-24 16 10.75 16 24-7.16 24-16 24z\"},\"child\":[]}]})(props);\n};\nexport function IoDiscOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"r\":\"208\",\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"r\":\"96\",\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"r\":\"32\"},\"child\":[]}]})(props);\n};\nexport function IoDiscSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"r\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M414.39 97.61A224 224 0 1 0 97.61 414.39 224 224 0 1 0 414.39 97.61zM256 336a80 80 0 1 1 80-80 80.09 80.09 0 0 1-80 80z\"},\"child\":[]}]})(props);\n};\nexport function IoDisc (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 176a80 80 0 1 0 80 80 80.09 80.09 0 0 0-80-80zm0 112a32 32 0 1 1 32-32 32 32 0 0 1-32 32z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M414.39 97.61A224 224 0 1 0 97.61 414.39 224 224 0 1 0 414.39 97.61zM256 368a112 112 0 1 1 112-112 112.12 112.12 0 0 1-112 112z\"},\"child\":[]}]})(props);\n};\nexport function IoDocumentAttachOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M208 64h66.75a32 32 0 0 1 22.62 9.37l141.26 141.26a32 32 0 0 1 9.37 22.62V432a48 48 0 0 1-48 48H192a48 48 0 0 1-48-48V304\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M288 72v120a32 32 0 0 0 32 32h120\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M160 80v152a23.69 23.69 0 0 1-24 24c-12 0-24-9.1-24-24V88c0-30.59 16.57-56 48-56s48 24.8 48 55.38v138.75c0 43-27.82 77.87-72 77.87s-72-34.86-72-77.87V144\"},\"child\":[]}]})(props);\n};\nexport function IoDocumentAttachSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M280 240a8 8 0 0 1-8-8V48h-57.25a65.42 65.42 0 0 0-6.5-9.81C196.72 23.88 179.59 16 160 16c-37.68 0-64 29.61-64 72v144c0 25 20.34 40 40 40a39.57 39.57 0 0 0 40-40V80h-32v152a7.75 7.75 0 0 1-8 8c-2.23 0-8-1.44-8-8V88c0-19.34 8.41-40 32-40 29.69 0 32 30.15 32 39.38v138.75c0 17.45-5.47 33.23-15.41 44.46C166.5 282 152.47 288 136 288s-30.5-6-40.59-17.41C85.47 259.36 80 243.58 80 226.13V144H48v82.13c0 51.51 33.19 89.63 80 93.53V468a12 12 0 0 0 12 12h312a12 12 0 0 0 12-12V240z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M308 208h146.31a2 2 0 0 0 1.42-3.41L307.41 56.27a2 2 0 0 0-3.41 1.42V204a4 4 0 0 0 4 4z\"},\"child\":[]}]})(props);\n};\nexport function IoDocumentAttach (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M460 240H320a48 48 0 0 1-48-48V52a4 4 0 0 0-4-4h-53.25a65.42 65.42 0 0 0-6.5-9.81C196.72 23.88 179.59 16 160 16c-37.68 0-64 29.61-64 72v144c0 25 20.34 40 40 40a39.57 39.57 0 0 0 40-40V80a16 16 0 0 0-32 0v152a7.75 7.75 0 0 1-8 8c-2.23 0-8-1.44-8-8V88c0-19.34 8.41-40 32-40 29.69 0 32 30.15 32 39.38v138.75c0 17.45-5.47 33.23-15.41 44.46C166.5 282 152.47 288 136 288s-30.5-6-40.59-17.41C85.47 259.36 80 243.58 80 226.13V144a16 16 0 0 0-32 0v82.13c0 51.51 33.19 89.63 80 93.53V432a64 64 0 0 0 64 64h208a64 64 0 0 0 64-64V244a4 4 0 0 0-4-4z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M320 208h129.81a2 2 0 0 0 1.41-3.41L307.41 60.78a2 2 0 0 0-3.41 1.41V192a16 16 0 0 0 16 16z\"},\"child\":[]}]})(props);\n};\nexport function IoDocumentLockOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M288 304v-18c0-16.63-14.26-30-32-30s-32 13.37-32 30v18\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M304 416h-96a32 32 0 0 1-32-32v-48a32 32 0 0 1 32-32h96a32 32 0 0 1 32 32v48a32 32 0 0 1-32 32z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M416 221.25V416a48 48 0 0 1-48 48H144a48 48 0 0 1-48-48V96a48 48 0 0 1 48-48h98.75a32 32 0 0 1 22.62 9.37l141.26 141.26a32 32 0 0 1 9.37 22.62z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M256 50.88V176a32 32 0 0 0 32 32h125.12\"},\"child\":[]}]})(props);\n};\nexport function IoDocumentLockSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M276 192h146.31a2 2 0 0 0 1.42-3.41L275.41 40.27a2 2 0 0 0-3.41 1.42V188a4 4 0 0 0 4 4zm-20 80c-8.82 0-16 6.28-16 14v18h32v-18c0-7.72-7.18-14-16-14z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M248 224a8 8 0 0 1-8-8V32H92a12 12 0 0 0-12 12v424a12 12 0 0 0 12 12h328a12 12 0 0 0 12-12V224zm88 175.91A16.1 16.1 0 0 1 319.91 416H192.09A16.1 16.1 0 0 1 176 399.91V320c0-10 7-16 16-16h16v-18c0-25.36 21.53-46 48-46s48 20.64 48 46v18h16a15.8 15.8 0 0 1 16 16z\"},\"child\":[]}]})(props);\n};\nexport function IoDocumentLock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 192h129.81a2 2 0 0 0 1.41-3.41L275.41 44.78a2 2 0 0 0-3.41 1.41V176a16 16 0 0 0 16 16zm-32 80c-8.82 0-16 6.28-16 14v18h32v-18c0-7.72-7.18-14-16-14z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M428 224H288a48 48 0 0 1-48-48V36a4 4 0 0 0-4-4h-92a64 64 0 0 0-64 64v320a64 64 0 0 0 64 64h224a64 64 0 0 0 64-64V228a4 4 0 0 0-4-4zm-92 160a32 32 0 0 1-32 32h-96a32 32 0 0 1-32-32v-48a32 32 0 0 1 32-32v-18c0-25.36 21.53-46 48-46s48 20.64 48 46v18a32 32 0 0 1 32 32z\"},\"child\":[]}]})(props);\n};\nexport function IoDocumentOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M416 221.25V416a48 48 0 0 1-48 48H144a48 48 0 0 1-48-48V96a48 48 0 0 1 48-48h98.75a32 32 0 0 1 22.62 9.37l141.26 141.26a32 32 0 0 1 9.37 22.62z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M256 56v120a32 32 0 0 0 32 32h120\"},\"child\":[]}]})(props);\n};\nexport function IoDocumentSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M240 216V32H92a12 12 0 0 0-12 12v424a12 12 0 0 0 12 12h328a12 12 0 0 0 12-12V224H248a8 8 0 0 1-8-8z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M272 41.69V188a4 4 0 0 0 4 4h146.31a2 2 0 0 0 1.42-3.41L275.41 40.27a2 2 0 0 0-3.41 1.42z\"},\"child\":[]}]})(props);\n};\nexport function IoDocumentTextOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M416 221.25V416a48 48 0 0 1-48 48H144a48 48 0 0 1-48-48V96a48 48 0 0 1 48-48h98.75a32 32 0 0 1 22.62 9.37l141.26 141.26a32 32 0 0 1 9.37 22.62z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M256 56v120a32 32 0 0 0 32 32h120m-232 80h160m-160 80h160\"},\"child\":[]}]})(props);\n};\nexport function IoDocumentTextSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M272 41.69V188a4 4 0 0 0 4 4h146.31a2 2 0 0 0 1.42-3.41L275.41 40.27a2 2 0 0 0-3.41 1.42z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M248 224a8 8 0 0 1-8-8V32H92a12 12 0 0 0-12 12v424a12 12 0 0 0 12 12h328a12 12 0 0 0 12-12V224zm104 160H160v-32h192zm0-80H160v-32h192z\"},\"child\":[]}]})(props);\n};\nexport function IoDocumentText (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M428 224H288a48 48 0 0 1-48-48V36a4 4 0 0 0-4-4h-92a64 64 0 0 0-64 64v320a64 64 0 0 0 64 64h224a64 64 0 0 0 64-64V228a4 4 0 0 0-4-4zm-92 160H176a16 16 0 0 1 0-32h160a16 16 0 0 1 0 32zm0-80H176a16 16 0 0 1 0-32h160a16 16 0 0 1 0 32z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M419.22 188.59 275.41 44.78a2 2 0 0 0-3.41 1.41V176a16 16 0 0 0 16 16h129.81a2 2 0 0 0 1.41-3.41z\"},\"child\":[]}]})(props);\n};\nexport function IoDocument (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M428 224H288a48 48 0 0 1-48-48V36a4 4 0 0 0-4-4h-92a64 64 0 0 0-64 64v320a64 64 0 0 0 64 64h224a64 64 0 0 0 64-64V228a4 4 0 0 0-4-4z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M419.22 188.59 275.41 44.78a2 2 0 0 0-3.41 1.41V176a16 16 0 0 0 16 16h129.81a2 2 0 0 0 1.41-3.41z\"},\"child\":[]}]})(props);\n};\nexport function IoDocumentsOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M336 264.13V436c0 24.3-19.05 44-42.95 44H107c-23.95 0-43-19.7-43-44V172a44.26 44.26 0 0 1 44-44h94.12a24.55 24.55 0 0 1 17.49 7.36l109.15 111a25.4 25.4 0 0 1 7.24 17.77z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M200 128v108a28.34 28.34 0 0 0 28 28h108\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M176 128V76a44.26 44.26 0 0 1 44-44h94a24.83 24.83 0 0 1 17.61 7.36l109.15 111A25.09 25.09 0 0 1 448 168v172c0 24.3-19.05 44-42.95 44H344\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M312 32v108a28.34 28.34 0 0 0 28 28h108\"},\"child\":[]}]})(props);\n};\nexport function IoDocumentsSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M307.94 248 216 154.52V242a6 6 0 0 0 6 6z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M184 268V144H60a12 12 0 0 0-12 12v328a12 12 0 0 0 12 12h248a12 12 0 0 0 12-12V280H196a12 12 0 0 1-12-12zm182-148h85.94L360 26.52V114a6 6 0 0 0 6 6z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M340 152a12 12 0 0 1-12-12V16H172a12 12 0 0 0-12 12v84h42.12A40.81 40.81 0 0 1 231 124.14l109.16 111a41.11 41.11 0 0 1 11.83 29V400H452a12 12 0 0 0 12-12V152z\"},\"child\":[]}]})(props);\n};\nexport function IoDocuments (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M298.39 248a4 4 0 0 0 2.86-6.8l-78.4-79.72a4 4 0 0 0-6.85 2.81V236a12 12 0 0 0 12 12z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M197 267a43.67 43.67 0 0 1-13-31v-92h-72a64.19 64.19 0 0 0-64 64v224a64 64 0 0 0 64 64h144a64 64 0 0 0 64-64V280h-92a43.61 43.61 0 0 1-31-13zm175-147h70.39a4 4 0 0 0 2.86-6.8l-78.4-79.72a4 4 0 0 0-6.85 2.81V108a12 12 0 0 0 12 12z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M372 152a44.34 44.34 0 0 1-44-44V16H220a60.07 60.07 0 0 0-60 60v36h42.12A40.81 40.81 0 0 1 231 124.14l109.16 111a41.11 41.11 0 0 1 11.83 29V400h53.05c32.51 0 58.95-26.92 58.95-60V152z\"},\"child\":[]}]})(props);\n};\nexport function IoDownloadOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M336 176h40a40 40 0 0 1 40 40v208a40 40 0 0 1-40 40H136a40 40 0 0 1-40-40V216a40 40 0 0 1 40-40h40\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m176 272 80 80 80-80M256 48v288\"},\"child\":[]}]})(props);\n};\nexport function IoDownloadSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M272 160v147.37l64-64L358.63 266 256 368.63 153.37 266 176 243.37l64 64V160H92a12 12 0 0 0-12 12v296a12 12 0 0 0 12 12h328a12 12 0 0 0 12-12V172a12 12 0 0 0-12-12zM240 32h32v128h-32z\"},\"child\":[]}]})(props);\n};\nexport function IoDownload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M376 160H272v153.37l52.69-52.68a16 16 0 0 1 22.62 22.62l-80 80a16 16 0 0 1-22.62 0l-80-80a16 16 0 0 1 22.62-22.62L240 313.37V160H136a56.06 56.06 0 0 0-56 56v208a56.06 56.06 0 0 0 56 56h240a56.06 56.06 0 0 0 56-56V216a56.06 56.06 0 0 0-56-56zM272 48a16 16 0 0 0-32 0v112h32z\"},\"child\":[]}]})(props);\n};\nexport function IoDuplicateOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"336\",\"height\":\"336\",\"x\":\"128\",\"y\":\"128\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"57\",\"ry\":\"57\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m383.5 128 .5-24a56.16 56.16 0 0 0-56-56H112a64.19 64.19 0 0 0-64 64v216a56.16 56.16 0 0 0 56 56h24m168-168v160m80-80H216\"},\"child\":[]}]})(props);\n};\nexport function IoDuplicateSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M112 80h288V56a24 24 0 0 0-24-24H66a34 34 0 0 0-34 34v310a24 24 0 0 0 24 24h24V112a32 32 0 0 1 32-32z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M456 112H136a24 24 0 0 0-24 24v320a24 24 0 0 0 24 24h320a24 24 0 0 0 24-24V136a24 24 0 0 0-24-24zm-64 200h-80v80h-32v-80h-80v-32h80v-80h32v80h80z\"},\"child\":[]}]})(props);\n};\nexport function IoDuplicate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M408 112H184a72 72 0 0 0-72 72v224a72 72 0 0 0 72 72h224a72 72 0 0 0 72-72V184a72 72 0 0 0-72-72zm-32.45 200H312v63.55c0 8.61-6.62 16-15.23 16.43A16 16 0 0 1 280 376v-64h-63.55c-8.61 0-16-6.62-16.43-15.23A16 16 0 0 1 216 280h64v-63.55c0-8.61 6.62-16 15.23-16.43A16 16 0 0 1 312 216v64h64a16 16 0 0 1 16 16.77c-.42 8.61-7.84 15.23-16.45 15.23z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M395.88 80A72.12 72.12 0 0 0 328 32H104a72 72 0 0 0-72 72v224a72.12 72.12 0 0 0 48 67.88V160a80 80 0 0 1 80-80z\"},\"child\":[]}]})(props);\n};\nexport function IoEarOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M335.72 330.76C381.73 299.5 416 251.34 416 192a160 160 0 0 0-320 0v206.57c0 44.26 35.74 81.43 80 81.43h0c44.26 0 66.83-25.94 77.29-40 14.77-19.81 41.71-81.56 82.43-109.24z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M160 304V184c0-48.4 43.2-88 96-88h0c52.8 0 96 39.6 96 88\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M160 239c25-18 79.82-15 79.82-15 26 0 41.17 29.42 26 50.6 0 0-36.86 42.4-41.86 61.4\"},\"child\":[]}]})(props);\n};\nexport function IoEarSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M380.48 68.09C347.09 34.5 302.88 16 256 16 159 16 80 95 80 192v206.57a97.59 97.59 0 0 0 28 68.49A94.49 94.49 0 0 0 176 496c19.93 0 41.06-7.69 62.8-22.87a181.46 181.46 0 0 0 25.88-21.86C327.37 390.16 432 288.06 432 192c0-46.49-18.29-90.49-51.52-123.91zM368 200h-32v-16c0-39.7-35.89-72-80-72s-80 32.3-80 72v30.41c27.5-7.84 59.89-6.62 64.26-6.41a48 48 0 0 1 38.62 75.9c-.3.41-.61.81-.95 1.2-16.55 19-36 45.49-38.46 55l-4.07 15.47-30.94-8.14 4.07-15.47c5.51-20.94 36.93-58.2 44.66-67.15A16 16 0 0 0 239.82 240h-.88c-10.67-.58-42.66-.25-62.12 8l-.82.35V320h-32V184c0-57.35 50.24-104 112-104s112 46.65 112 104z\"},\"child\":[]}]})(props);\n};\nexport function IoEar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 16C159 16 80 95 80 192v206.57a97.59 97.59 0 0 0 28 68.49A94.51 94.51 0 0 0 176 496c36.86 0 67.18-15.62 90.12-46.42 4.48-6 9.55-14.74 15.42-24.85 15.32-26.37 36.29-62.47 63.17-80.74 25.77-17.51 47.23-39.54 62-63.72C423.51 252.94 432 223.24 432 192c0-97-78.95-176-176-176zm96 184a16 16 0 0 1-16-16c0-39.7-35.89-72-80-72s-80 32.3-80 72v30.42c27.19-7.84 58.4-6.72 64.28-6.42a48 48 0 0 1 38.6 75.9c-.3.41-.61.81-.95 1.2-16.55 19-36 45.48-38.46 55a16 16 0 0 1-30.94-8.14c5.51-20.94 36.93-58.2 44.66-67.15A16 16 0 0 0 239.82 240h-.88c-16.6-.89-45.89.8-62.94 8.31V304a16 16 0 0 1-32 0V184c0-57.35 50.24-104 112-104s112 46.65 112 104a16 16 0 0 1-16 16z\"},\"child\":[]}]})(props);\n};\nexport function IoEarthOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M464 256c0-114.87-93.13-208-208-208S48 141.13 48 256s93.13 208 208 208 208-93.13 208-208z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M445.57 172.14c-16.06.1-14.48 29.73-34.49 15.75-7.43-5.18-12-12.71-21.33-15-8.15-2-16.5.08-24.55 1.47-9.15 1.58-20 2.29-26.94 9.22-6.71 6.67-10.26 15.62-17.4 22.33-13.81 13-19.64 27.19-10.7 45.57 8.6 17.67 26.59 27.26 46 26 19.07-1.27 38.88-12.33 38.33 15.38-.2 9.8 1.85 16.6 4.86 25.71 2.79 8.4 2.6 16.54 3.24 25.21 1.18 16.2 4.16 34.36 12.2 48.67l15-21.16c1.85-2.62 5.72-6.29 6.64-9.38 1.63-5.47-1.58-14.87-1.95-21s-.19-12.34-1.13-18.47c-1.32-8.59-6.4-16.64-7.1-25.13-1.29-15.81 1.6-28.43-10.58-41.65-11.76-12.75-29-15.81-45.47-13.22-8.3 1.3-41.71 6.64-28.3-12.33 2.65-3.73 7.28-6.79 10.26-10.34 2.59-3.09 4.84-8.77 7.88-11.18s17-5.18 21-3.95 8.17 7 11.64 9.56a49.89 49.89 0 0 0 21.81 9.36c13.66 2 42.22-5.94 42-23.46-.04-8.4-7.84-20.1-10.92-27.96zM287.45 316.3c-5.33-22.44-35.82-29.94-52.26-42.11-9.45-7-17.86-17.81-30.27-18.69-5.72-.41-10.51.83-16.18-.64-5.2-1.34-9.28-4.14-14.82-3.41-10.35 1.36-16.88 12.42-28 10.92-10.55-1.42-21.42-13.76-23.82-23.81-3.08-12.92 7.14-17.11 18.09-18.26 4.57-.48 9.7-1 14.09.67 5.78 2.15 8.51 7.81 13.7 10.67 9.73 5.33 11.7-3.19 10.21-11.83-2.23-12.94-4.83-18.22 6.71-27.12 8-6.14 14.84-10.58 13.56-21.61-.76-6.48-4.31-9.41-1-15.86 2.51-4.91 9.4-9.34 13.89-12.27 11.59-7.56 49.65-7 34.1-28.16-4.57-6.21-13-17.31-21-18.83-10-1.89-14.44 9.27-21.41 14.19-7.2 5.09-21.22 10.87-28.43 3-9.7-10.59 6.43-14.07 10-21.46s-8.27-21.36-14.61-24.9l-29.81 33.43a41.52 41.52 0 0 0 8.34 31.86c5.93 7.63 15.37 10.08 15.8 20.5.42 10-1.14 15.12-7.68 22.15-2.83 3-4.83 7.26-7.71 10.07-3.53 3.43-2.22 2.38-7.73 3.32-10.36 1.75-19.18 4.45-29.19 7.21C95.34 199.94 93.8 172.69 86.2 162l-25 20.19c-.27 3.31 4.1 9.4 5.29 13 6.83 20.57 20.61 36.48 29.51 56.16 9.37 20.84 34.53 15.06 45.64 33.32 9.86 16.2-.67 36.71 6.71 53.67 5.36 12.31 18 15 26.72 24 8.91 9.09 8.72 21.53 10.08 33.36a305.22 305.22 0 0 0 7.45 41.28c1.21 4.69 2.32 10.89 5.53 14.76 2.2 2.66 9.75 4.95 6.7 5.83 4.26.7 11.85 4.68 15.4 1.76 4.68-3.84 3.43-15.66 4.24-21 2.43-15.9 10.39-31.45 21.13-43.35 10.61-11.74 25.15-19.69 34.11-33 8.73-12.98 11.36-30.49 7.74-45.68zm-33.39 26.32c-6 10.71-19.36 17.88-27.95 26.39-2.33 2.31-7.29 10.31-10.21 8.58-2.09-1.24-2.8-11.62-3.57-14a61.17 61.17 0 0 0-21.71-29.95c-3.13-2.37-10.89-5.45-12.68-8.7-2-3.53-.2-11.86-.13-15.7.11-5.6-2.44-14.91-1.06-20 1.6-5.87-1.48-2.33 3.77-3.49 2.77-.62 14.21 1.39 17.66 2.11 5.48 1.14 8.5 4.55 12.82 8 11.36 9.11 23.87 16.16 36.6 23.14 9.86 5.46 12.76 12.37 6.46 23.62zm-69.6-275.53c4.74 4.63 9.2 10.11 16.27 10.57 6.69.45 13-3.17 18.84 1.38 6.48 5 11.15 11.33 19.75 12.89 8.32 1.51 17.13-3.35 19.19-11.86 2-8.11-2.31-16.93-2.57-25.07 0-1.13.61-6.15-.17-7-.58-.64-5.42.08-6.16.1q-8.13.24-16.22 1.12a207.1 207.1 0 0 0-57.18 14.65c2.43 1.68 5.48 2.35 8.25 3.22zm171.94 56.18c8.49 0 17.11-3.8 14.37-13.62-2.3-8.23-6.22-17.16-15.76-12.72-6.07 2.82-14.67 10-15.38 17.12-.81 8.08 11.11 9.22 16.77 9.22zm-6.78 42.97c8.67 5.19 21.53 2.75 28.07-4.66 5.11-5.8 8.12-15.87 17.31-15.86a15.4 15.4 0 0 1 10.82 4.41c3.8 3.93 3.05 7.62 3.86 12.54 1.81 11.05 13.66.63 16.75-3.65 2-2.79 4.71-6.93 3.8-10.56-.84-3.39-4.8-7-6.56-10.11-5.14-9-9.37-19.47-17.07-26.74-7.41-7-16.52-6.19-23.55 1.08-5.76 6-12.45 10.75-16.39 18.05-2.78 5.13-5.91 7.58-11.54 8.91-3.1.73-6.64 1-9.24 3.08-7.24 5.7-3.12 19.39 3.74 23.51z\"},\"child\":[]}]})(props);\n};\nexport function IoEarthSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m267 474-.8-.13a.85.85 0 0 0 .8.13zm181.9-286.22a5.51 5.51 0 0 0-10.67-.63A5.52 5.52 0 0 1 433 191h-15.47a5.48 5.48 0 0 1-2.84-.79l-22.38-13.42a5.48 5.48 0 0 0-2.84-.79h-35.8a5.48 5.48 0 0 0-3.06.93l-44.15 29.43A5.52 5.52 0 0 0 304 211v41.74a5.51 5.51 0 0 0 2.92 4.87l57.89 30.9a5.55 5.55 0 0 1 2.92 4.8l.27 23.49a5.53 5.53 0 0 0 2.85 4.75l23.26 12.87a5.54 5.54 0 0 1 2.85 4.83v48.6a5.52 5.52 0 0 0 9.17 4.14c9.38-8.26 22.83-20.32 24.62-23.08q4.44-6.87 8.33-14.07a207.39 207.39 0 0 0 13.6-31c12.68-36.71 2.66-102.7-3.78-136.06zM286.4 302.8l-61.33-46a4 4 0 0 0-2.4-.8h-29.1a3.78 3.78 0 0 1-2.68-1.11l-13.72-13.72a4 4 0 0 0-2.83-1.17h-53.19a3.79 3.79 0 0 1-2.68-6.47l8.42-8.42a3.78 3.78 0 0 1 2.68-1.11h32.37a8 8 0 0 0 7.7-5.83l6.89-24.5a4 4 0 0 1 2-2.47L206 177.06a3.79 3.79 0 0 0 2.05-3.37v-12.5a3.82 3.82 0 0 1 .68-2.17l14.6-21.02a3.75 3.75 0 0 1 1.78-1.38l20.43-7.67a3.79 3.79 0 0 0 2.46-3.55V114a3.8 3.8 0 0 0-1.69-3.16l-20.48-13.62A3.83 3.83 0 0 0 222 97l-27.88 13.94a3.78 3.78 0 0 1-4-.41l-13.22-10.45a3.8 3.8 0 0 1 .1-6l10.74-7.91a3.78 3.78 0 0 0-.09-6.16l-16.73-11.67a3.78 3.78 0 0 0-4-.22c-6.05 3.31-23.8 13.11-30.1 17.52a209.48 209.48 0 0 0-68.16 80c-1.82 3.76-4.07 7.59-4.29 11.72s-3.46 13.35-4.81 17.08a3.78 3.78 0 0 0 .24 3.1l35.69 65.58a3.74 3.74 0 0 0 1.38 1.44l37.55 22.54a3.78 3.78 0 0 1 1.81 2.73l7.52 54.54a3.82 3.82 0 0 0 1.61 2.61l29.3 20.14a4 4 0 0 1 1.65 2.48l15.54 73.8a3.6 3.6 0 0 0 .49 1.22c1.46 2.36 7.28 11 14.3 12.28-.65.18-1.23.59-1.88.78a47.63 47.63 0 0 1 5 1.16c2 .54 4 1 6 1.43 3.13.62 3.44 1.1 4.94-1.68 2-3.72 4.29-5 6-5.46a3.85 3.85 0 0 0 2.89-2.9l10.07-46.68a4 4 0 0 1 1.6-2.42l45-31.9a4 4 0 0 0 1.69-3.27V306a4 4 0 0 0-1.55-3.2z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M262 48s-3.65.21-4.39.23q-8.13.24-16.22 1.12A207.45 207.45 0 0 0 184.21 64c2.43 1.68-1.75 3.22-1.75 3.22L189 80h35l24 12 21-12zm92.23 72.06 16.11-14a4 4 0 0 0-.94-6.65l-18.81-8.73a4 4 0 0 0-5.3 1.9l-7.75 16.21a4 4 0 0 0 1.49 5.11l10.46 6.54a4 4 0 0 0 4.74-.38zm75.41 20.61-5.83-9c-.09-.14-.17-.28-.25-.43-1.05-2.15-9.74-19.7-17-26.51-5.45-5.15-7-3.67-7.43-2.53a3.77 3.77 0 0 1-1.19 1.6l-28.84 23.31a4 4 0 0 1-2.51.89h-14.93a4 4 0 0 0-2.83 1.17l-12 12a4 4 0 0 0 0 5.66l12 12a4 4 0 0 0 2.83 1.17h75.17a4 4 0 0 0 4-4.17l-.55-13.15a4 4 0 0 0-.64-2.01z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M256 72a184 184 0 1 1-130.1 53.9A182.77 182.77 0 0 1 256 72m0-40C132.3 32 32 132.3 32 256s100.3 224 224 224 224-100.3 224-224S379.7 32 256 32z\"},\"child\":[]}]})(props);\n};\nexport function IoEarth (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M414.39 97.74A224 224 0 1 0 97.61 414.52 224 224 0 1 0 414.39 97.74zM64 256.13a191.63 191.63 0 0 1 6.7-50.31c7.34 15.8 18 29.45 25.25 45.66 9.37 20.84 34.53 15.06 45.64 33.32 9.86 16.21-.67 36.71 6.71 53.67 5.36 12.31 18 15 26.72 24 8.91 9.08 8.72 21.52 10.08 33.36a305.36 305.36 0 0 0 7.45 41.27c0 .1 0 .21.08.31C117.8 411.13 64 339.8 64 256.13zm192 192a193.12 193.12 0 0 1-32-2.68c.11-2.71.16-5.24.43-7 2.43-15.9 10.39-31.45 21.13-43.35 10.61-11.74 25.15-19.68 34.11-33 8.78-13 11.41-30.5 7.79-45.69-5.33-22.44-35.82-29.93-52.26-42.1-9.45-7-17.86-17.82-30.27-18.7-5.72-.4-10.51.83-16.18-.63-5.2-1.35-9.28-4.15-14.82-3.42-10.35 1.36-16.88 12.42-28 10.92-10.55-1.41-21.42-13.76-23.82-23.81-3.08-12.92 7.14-17.11 18.09-18.26 4.57-.48 9.7-1 14.09.68 5.78 2.14 8.51 7.8 13.7 10.66 9.73 5.34 11.7-3.19 10.21-11.83-2.23-12.94-4.83-18.21 6.71-27.12 8-6.14 14.84-10.58 13.56-21.61-.76-6.48-4.31-9.41-1-15.86 2.51-4.91 9.4-9.34 13.89-12.27 11.59-7.56 49.65-7 34.1-28.16-4.57-6.21-13-17.31-21-18.83-10-1.89-14.44 9.27-21.41 14.19-7.2 5.09-21.22 10.87-28.43 3-9.7-10.59 6.43-14.06 10-21.46 1.65-3.45 0-8.24-2.78-12.75q5.41-2.28 11-4.23a15.6 15.6 0 0 0 8 3c6.69.44 13-3.18 18.84 1.38 6.48 5 11.15 11.32 19.75 12.88 8.32 1.51 17.13-3.34 19.19-11.86 1.25-5.18 0-10.65-1.2-16a190.83 190.83 0 0 1 105 32.21c-2-.76-4.39-.67-7.34.7-6.07 2.82-14.67 10-15.38 17.12-.81 8.08 11.11 9.22 16.77 9.22 8.5 0 17.11-3.8 14.37-13.62-1.19-4.26-2.81-8.69-5.42-11.37a193.27 193.27 0 0 1 18 14.14c-.09.09-.18.17-.27.27-5.76 6-12.45 10.75-16.39 18.05-2.78 5.14-5.91 7.58-11.54 8.91-3.1.73-6.64 1-9.24 3.08-7.24 5.7-3.12 19.4 3.74 23.51 8.67 5.19 21.53 2.75 28.07-4.66 5.11-5.8 8.12-15.87 17.31-15.86a15.4 15.4 0 0 1 10.82 4.41c3.8 3.94 3.05 7.62 3.86 12.54 1.43 8.74 9.14 4 13.83-.41a192.12 192.12 0 0 1 9.24 18.77c-5.16 7.43-9.26 15.53-21.67 6.87-7.43-5.19-12-12.72-21.33-15.06-8.15-2-16.5.08-24.55 1.47-9.15 1.59-20 2.29-26.94 9.22-6.71 6.68-10.26 15.62-17.4 22.33-13.81 13-19.64 27.19-10.7 45.57 8.6 17.67 26.59 27.26 46 26 19.07-1.27 38.88-12.33 38.33 15.38-.2 9.81 1.85 16.6 4.86 25.71 2.79 8.4 2.6 16.54 3.24 25.21a158 158 0 0 0 4.74 30.07A191.75 191.75 0 0 1 256 448.13z\"},\"child\":[]}]})(props);\n};\nexport function IoEaselOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"416\",\"height\":\"272\",\"x\":\"48\",\"y\":\"80\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"32\",\"ry\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M256 416v-64m0-272V48m144 416-32-112M112 464l32-112\"},\"child\":[]}]})(props);\n};\nexport function IoEaselSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M468 64H278V32h-44v32H44a12 12 0 0 0-12 12v280a12 12 0 0 0 12 12h78.19L89.93 470.46l36.53 9.61L161.74 368H234v64h44v-64h71.84l31 111.7 36.83-8.57L389.05 368H468a12 12 0 0 0 12-12V76a12 12 0 0 0-12-12zm-26 266H70V102h372z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M88 120h336v192H88z\"},\"child\":[]}]})(props);\n};\nexport function IoEasel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"352\",\"height\":\"208\",\"x\":\"80\",\"y\":\"112\",\"rx\":\"12\",\"ry\":\"12\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M432 64H272V48a16 16 0 0 0-32 0v16H80a48.05 48.05 0 0 0-48 48v208a48.05 48.05 0 0 0 48 48h42.79l-26.17 91.6a16 16 0 1 0 30.76 8.8L156.07 368H240v48a16 16 0 0 0 32 0v-48h83.93l28.69 100.4a16 16 0 1 0 30.76-8.8L389.21 368H432a48.05 48.05 0 0 0 48-48V112a48.05 48.05 0 0 0-48-48zm16 256a16 16 0 0 1-16 16H80a16 16 0 0 1-16-16V112a16 16 0 0 1 16-16h352a16 16 0 0 1 16 16z\"},\"child\":[]}]})(props);\n};\nexport function IoEggOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M256 48C192 48 96 171.69 96 286.55S160 464 256 464s160-62.59 160-177.45S320 48 256 48z\"},\"child\":[]}]})(props);\n};\nexport function IoEggSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M418.39 381.05c-8.08 21.68-19.76 40.1-34.72 54.75-14.38 14.07-32.1 24.95-52.67 32.34C309.08 476 283.85 480 256 480s-53.08-4-75-11.86c-20.57-7.39-38.29-18.27-52.67-32.34-15-14.65-26.64-33.07-34.72-54.75C84.58 356.82 80 328.53 80 296.94c0-30.28 6.68-62.57 19.86-96A371 371 0 0 1 151 111.42C195.78 53.56 241 32 256 32s62.67 22.4 105 79.42c18.33 24.71 38.87 58.34 51.17 89.54 13.18 33.41 19.86 65.7 19.86 96-.03 31.57-4.61 59.86-13.64 84.09z\"},\"child\":[]}]})(props);\n};\nexport function IoEgg (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 480c-52.57 0-96.72-17.54-127.7-50.73C96.7 395.4 80 346.05 80 286.55 80 230.5 101.48 168 138.93 115 175.65 63 219.41 32 256 32s80.35 31 117.07 83C410.52 168 432 230.5 432 286.55c0 59.5-16.7 108.85-48.3 142.72C352.72 462.46 308.57 480 256 480z\"},\"child\":[]}]})(props);\n};\nexport function IoEllipseOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"r\":\"192\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]}]})(props);\n};\nexport function IoEllipseSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 464c-114.69 0-208-93.31-208-208S141.31 48 256 48s208 93.31 208 208-93.31 208-208 208z\"},\"child\":[]}]})(props);\n};\nexport function IoEllipse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 464c-114.69 0-208-93.31-208-208S141.31 48 256 48s208 93.31 208 208-93.31 208-208 208z\"},\"child\":[]}]})(props);\n};\nexport function IoEllipsisHorizontalCircleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"r\":\"26\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"346\",\"cy\":\"256\",\"r\":\"26\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"166\",\"cy\":\"256\",\"r\":\"26\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192 192-86 192-192z\"},\"child\":[]}]})(props);\n};\nexport function IoEllipsisHorizontalCircleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.13 48 48 141.13 48 256s93.13 208 208 208 208-93.13 208-208S370.87 48 256 48zm-90 234a26 26 0 1 1 26-26 26 26 0 0 1-26 26zm90 0a26 26 0 1 1 26-26 26 26 0 0 1-26 26zm90 0a26 26 0 1 1 26-26 26 26 0 0 1-26 26z\"},\"child\":[]}]})(props);\n};\nexport function IoEllipsisHorizontalCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"r\":\"26\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"346\",\"cy\":\"256\",\"r\":\"26\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"166\",\"cy\":\"256\",\"r\":\"26\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192 192-86 192-192z\"},\"child\":[]}]})(props);\n};\nexport function IoEllipsisHorizontalOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"r\":\"32\",\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"416\",\"cy\":\"256\",\"r\":\"32\",\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"96\",\"cy\":\"256\",\"r\":\"32\",\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\"},\"child\":[]}]})(props);\n};\nexport function IoEllipsisHorizontalSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"r\":\"48\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"416\",\"cy\":\"256\",\"r\":\"48\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"96\",\"cy\":\"256\",\"r\":\"48\"},\"child\":[]}]})(props);\n};\nexport function IoEllipsisHorizontal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"r\":\"48\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"416\",\"cy\":\"256\",\"r\":\"48\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"96\",\"cy\":\"256\",\"r\":\"48\"},\"child\":[]}]})(props);\n};\nexport function IoEllipsisVerticalCircleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"r\":\"26\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"346\",\"r\":\"26\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"166\",\"r\":\"26\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192 192-86 192-192z\"},\"child\":[]}]})(props);\n};\nexport function IoEllipsisVerticalCircleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 256c0-114.87-93.13-208-208-208S48 141.13 48 256s93.13 208 208 208 208-93.13 208-208zm-234-90a26 26 0 1 1 26 26 26 26 0 0 1-26-26zm0 90a26 26 0 1 1 26 26 26 26 0 0 1-26-26zm0 90a26 26 0 1 1 26 26 26 26 0 0 1-26-26z\"},\"child\":[]}]})(props);\n};\nexport function IoEllipsisVerticalCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"r\":\"26\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"346\",\"r\":\"26\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"166\",\"r\":\"26\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192 192-86 192-192z\"},\"child\":[]}]})(props);\n};\nexport function IoEllipsisVerticalOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"r\":\"32\",\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"416\",\"r\":\"32\",\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"96\",\"r\":\"32\",\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\"},\"child\":[]}]})(props);\n};\nexport function IoEllipsisVerticalSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"r\":\"48\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"416\",\"r\":\"48\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"96\",\"r\":\"48\"},\"child\":[]}]})(props);\n};\nexport function IoEllipsisVertical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"r\":\"48\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"416\",\"r\":\"48\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"96\",\"r\":\"48\"},\"child\":[]}]})(props);\n};\nexport function IoEnterOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M176 176v-40a40 40 0 0 1 40-40h208a40 40 0 0 1 40 40v240a40 40 0 0 1-40 40H216a40 40 0 0 1-40-40v-40\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m272 336 80-80-80-80M48 256h288\"},\"child\":[]}]})(props);\n};\nexport function IoEnterSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M160 240h147.37l-64-64L266 153.37 368.63 256 266 358.63 243.37 336l64-64H160v148a12 12 0 0 0 12 12h296a12 12 0 0 0 12-12V92a12 12 0 0 0-12-12H172a12 12 0 0 0-12 12zm-128 0h128v32H32z\"},\"child\":[]}]})(props);\n};\nexport function IoEnter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M160 136v104h153.37l-52.68-52.69a16 16 0 0 1 22.62-22.62l80 80a16 16 0 0 1 0 22.62l-80 80a16 16 0 0 1-22.62-22.62L313.37 272H160v104a56.06 56.06 0 0 0 56 56h208a56.06 56.06 0 0 0 56-56V136a56.06 56.06 0 0 0-56-56H216a56.06 56.06 0 0 0-56 56zM48 240a16 16 0 0 0 0 32h112v-32z\"},\"child\":[]}]})(props);\n};\nexport function IoExitOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M320 176v-40a40 40 0 0 0-40-40H88a40 40 0 0 0-40 40v240a40 40 0 0 0 40 40h192a40 40 0 0 0 40-40v-40m64-160 80 80-80 80m-193-80h273\"},\"child\":[]}]})(props);\n};\nexport function IoExitSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M335.69 272h-161v-32h161V92a12 12 0 0 0-12-12h-280a12 12 0 0 0-12 12v328a12 12 0 0 0 12 12h280a12 12 0 0 0 12-12zm83.37 0-64 64 22.63 22.63L480.31 256 377.69 153.37 355.06 176l64 64h-83.37v32h83.37z\"},\"child\":[]}]})(props);\n};\nexport function IoExit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M336 376V272H191a16 16 0 0 1 0-32h145V136a56.06 56.06 0 0 0-56-56H88a56.06 56.06 0 0 0-56 56v240a56.06 56.06 0 0 0 56 56h192a56.06 56.06 0 0 0 56-56zm89.37-104-52.68 52.69a16 16 0 0 0 22.62 22.62l80-80a16 16 0 0 0 0-22.62l-80-80a16 16 0 0 0-22.62 22.62L425.37 240H336v32z\"},\"child\":[]}]})(props);\n};\nexport function IoExpandOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M432 320v112H320m101.8-10.23L304 304M80 192V80h112M90.2 90.23 208 208M320 80h112v112M421.77 90.2 304 208M192 432H80V320m10.23 101.8L208 304\"},\"child\":[]}]})(props);\n};\nexport function IoExpandSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M432 320v112H320m101.8-10.23L304 304M80 192V80h112M90.2 90.23 208 208M320 80h112v112M421.77 90.2 304 208M192 432H80V320m10.23 101.8L208 304\"},\"child\":[]}]})(props);\n};\nexport function IoExpand (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M432 320v112H320m101.8-10.23L304 304M80 192V80h112M90.2 90.23 208 208M320 80h112v112M421.77 90.2 304 208M192 432H80V320m10.23 101.8L208 304\"},\"child\":[]}]})(props);\n};\nexport function IoExtensionPuzzleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M413.66 246.1H386a2 2 0 0 1-2-2v-77.24A38.86 38.86 0 0 0 345.14 128H267.9a2 2 0 0 1-2-2V98.34c0-27.14-21.5-49.86-48.64-50.33a49.53 49.53 0 0 0-50.4 49.51V126a2 2 0 0 1-2 2H87.62A39.74 39.74 0 0 0 48 167.62V238a2 2 0 0 0 2 2h26.91c29.37 0 53.68 25.48 54.09 54.85.42 29.87-23.51 57.15-53.29 57.15H50a2 2 0 0 0-2 2v70.38A39.74 39.74 0 0 0 87.62 464H158a2 2 0 0 0 2-2v-20.93c0-30.28 24.75-56.35 55-57.06 30.1-.7 57 20.31 57 50.28V462a2 2 0 0 0 2 2h71.14A38.86 38.86 0 0 0 384 425.14v-78a2 2 0 0 1 2-2h28.48c27.63 0 49.52-22.67 49.52-50.4s-23.2-48.64-50.34-48.64z\"},\"child\":[]}]})(props);\n};\nexport function IoExtensionPuzzleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M345.14 480H256v-45.71a31.3 31.3 0 0 0-9.59-22.65c-7.67-7.56-18.83-11.81-30.57-11.64a44.38 44.38 0 0 0-28.45 10.67c-5.2 4.6-11.39 12.56-11.39 24.42V480H87.62A55.68 55.68 0 0 1 32 424.38V336h45.71c9.16 0 18.07-3.92 25.09-11a42.06 42.06 0 0 0 12.2-29.92C114.7 273.89 97.26 256 76.91 256H32v-89.34a53.77 53.77 0 0 1 16.53-39A55.88 55.88 0 0 1 87.62 112h63.24V97.52A65.53 65.53 0 0 1 217.54 32c35.49.62 64.36 30.38 64.36 66.33V112h63.24A54.28 54.28 0 0 1 400 166.86v63.24h13.66c36.58 0 66.34 29 66.34 64.64 0 36.61-29.39 66.4-65.52 66.4H400v63.24c0 30.67-24.61 55.62-54.86 55.62z\"},\"child\":[]}]})(props);\n};\nexport function IoExtensionPuzzle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M345.14 480H274a18 18 0 0 1-18-18v-27.71a31.32 31.32 0 0 0-9.71-22.77c-7.78-7.59-19.08-11.8-30.89-11.51-21.36.5-39.4 19.3-39.4 41.06V462a18 18 0 0 1-18 18H87.62A55.62 55.62 0 0 1 32 424.38V354a18 18 0 0 1 18-18h27.71c9.16 0 18.07-3.92 25.09-11a42.06 42.06 0 0 0 12.2-29.92C114.7 273.89 97.26 256 76.91 256H50a18 18 0 0 1-18-18v-70.38A55.62 55.62 0 0 1 87.62 112h55.24a8 8 0 0 0 8-8v-6.48A65.53 65.53 0 0 1 217.54 32c35.49.62 64.36 30.38 64.36 66.33V104a8 8 0 0 0 8 8h55.24A54.86 54.86 0 0 1 400 166.86v55.24a8 8 0 0 0 8 8h5.66c36.58 0 66.34 29 66.34 64.64 0 36.61-29.39 66.4-65.52 66.4H408a8 8 0 0 0-8 8v56A54.86 54.86 0 0 1 345.14 480z\"},\"child\":[]}]})(props);\n};\nexport function IoEyeOffOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M432 448a15.92 15.92 0 0 1-11.31-4.69l-352-352a16 16 0 0 1 22.62-22.62l352 352A16 16 0 0 1 432 448zm-176.34-64c-41.49 0-81.5-12.28-118.92-36.5-34.07-22-64.74-53.51-88.7-91v-.08c19.94-28.57 41.78-52.73 65.24-72.21a2 2 0 0 0 .14-2.94L93.5 161.38a2 2 0 0 0-2.71-.12c-24.92 21-48.05 46.76-69.08 76.92a31.92 31.92 0 0 0-.64 35.54c26.41 41.33 60.4 76.14 98.28 100.65C162 402 207.9 416 255.66 416a239.13 239.13 0 0 0 75.8-12.58 2 2 0 0 0 .77-3.31l-21.58-21.58a4 4 0 0 0-3.83-1 204.8 204.8 0 0 1-51.16 6.47zm235.18-145.4c-26.46-40.92-60.79-75.68-99.27-100.53C349 110.55 302 96 255.66 96a227.34 227.34 0 0 0-74.89 12.83 2 2 0 0 0-.75 3.31l21.55 21.55a4 4 0 0 0 3.88 1 192.82 192.82 0 0 1 50.21-6.69c40.69 0 80.58 12.43 118.55 37 34.71 22.4 65.74 53.88 89.76 91a.13.13 0 0 1 0 .16 310.72 310.72 0 0 1-64.12 72.73 2 2 0 0 0-.15 2.95l19.9 19.89a2 2 0 0 0 2.7.13 343.49 343.49 0 0 0 68.64-78.48 32.2 32.2 0 0 0-.1-34.78z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M256 160a95.88 95.88 0 0 0-21.37 2.4 2 2 0 0 0-1 3.38l112.59 112.56a2 2 0 0 0 3.38-1A96 96 0 0 0 256 160zm-90.22 73.66a2 2 0 0 0-3.38 1 96 96 0 0 0 115 115 2 2 0 0 0 1-3.38z\"},\"child\":[]}]})(props);\n};\nexport function IoEyeOffSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m63.998 86.004 21.998-21.998L448 426.01l-21.998 21.998zM259.34 192.09l60.57 60.57a64.07 64.07 0 0 0-60.57-60.57zm-6.68 127.82-60.57-60.57a64.07 64.07 0 0 0 60.57 60.57z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M256 352a96 96 0 0 1-92.6-121.34l-69.07-69.08C66.12 187.42 39.24 221.14 16 256c26.42 44 62.56 89.24 100.2 115.18C159.38 400.92 206.33 416 255.76 416A233.47 233.47 0 0 0 335 402.2l-53.61-53.6A95.84 95.84 0 0 1 256 352zm0-192a96 96 0 0 1 92.6 121.34L419.26 352c29.15-26.25 56.07-61.56 76.74-96-26.38-43.43-62.9-88.56-101.18-114.82C351.1 111.2 304.31 96 255.76 96a222.92 222.92 0 0 0-78.21 14.29l53.11 53.11A95.84 95.84 0 0 1 256 160z\"},\"child\":[]}]})(props);\n};\nexport function IoEyeOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M432 448a15.92 15.92 0 0 1-11.31-4.69l-352-352a16 16 0 0 1 22.62-22.62l352 352A16 16 0 0 1 432 448zM248 315.85l-51.79-51.79a2 2 0 0 0-3.39 1.69 64.11 64.11 0 0 0 53.49 53.49 2 2 0 0 0 1.69-3.39zm16-119.7L315.87 248a2 2 0 0 0 3.4-1.69 64.13 64.13 0 0 0-53.55-53.55 2 2 0 0 0-1.72 3.39z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M491 273.36a32.2 32.2 0 0 0-.1-34.76c-26.46-40.92-60.79-75.68-99.27-100.53C349 110.55 302 96 255.68 96a226.54 226.54 0 0 0-71.82 11.79 4 4 0 0 0-1.56 6.63l47.24 47.24a4 4 0 0 0 3.82 1.05 96 96 0 0 1 116 116 4 4 0 0 0 1.05 3.81l67.95 68a4 4 0 0 0 5.4.24 343.81 343.81 0 0 0 67.24-77.4zM256 352a96 96 0 0 1-93.3-118.63 4 4 0 0 0-1.05-3.81l-66.84-66.87a4 4 0 0 0-5.41-.23c-24.39 20.81-47 46.13-67.67 75.72a31.92 31.92 0 0 0-.64 35.54c26.41 41.33 60.39 76.14 98.28 100.65C162.06 402 207.92 416 255.68 416a238.22 238.22 0 0 0 72.64-11.55 4 4 0 0 0 1.61-6.64l-47.47-47.46a4 4 0 0 0-3.81-1.05A96 96 0 0 1 256 352z\"},\"child\":[]}]})(props);\n};\nexport function IoEyeOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M255.66 112c-77.94 0-157.89 45.11-220.83 135.33a16 16 0 0 0-.27 17.77C82.92 340.8 161.8 400 255.66 400c92.84 0 173.34-59.38 221.79-135.25a16.14 16.14 0 0 0 0-17.47C428.89 172.28 347.8 112 255.66 112z\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"r\":\"80\",\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\"},\"child\":[]}]})(props);\n};\nexport function IoEyeSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"r\":\"64\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M394.82 141.18C351.1 111.2 304.31 96 255.76 96c-43.69 0-86.28 13-126.59 38.48C88.52 160.23 48.67 207 16 256c26.42 44 62.56 89.24 100.2 115.18C159.38 400.92 206.33 416 255.76 416c49 0 95.85-15.07 139.3-44.79C433.31 345 469.71 299.82 496 256c-26.38-43.43-62.9-88.56-101.18-114.82zM256 352a96 96 0 1 1 96-96 96.11 96.11 0 0 1-96 96z\"},\"child\":[]}]})(props);\n};\nexport function IoEye (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"r\":\"64\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M490.84 238.6c-26.46-40.92-60.79-75.68-99.27-100.53C349 110.55 302 96 255.66 96c-42.52 0-84.33 12.15-124.27 36.11-40.73 24.43-77.63 60.12-109.68 106.07a31.92 31.92 0 0 0-.64 35.54c26.41 41.33 60.4 76.14 98.28 100.65C162 402 207.9 416 255.66 416c46.71 0 93.81-14.43 136.2-41.72 38.46-24.77 72.72-59.66 99.08-100.92a32.2 32.2 0 0 0-.1-34.76zM256 352a96 96 0 1 1 96-96 96.11 96.11 0 0 1-96 96z\"},\"child\":[]}]})(props);\n};\nexport function IoEyedropOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M262.51 204.22 70 396.69C57.56 409.15 48 464 48 464s54.38-9.09 67.31-22L307.8 249.51\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"192.15\",\"height\":\"64.05\",\"x\":\"211.72\",\"y\":\"172.19\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"32.03\",\"ry\":\"32.03\",\"transform\":\"rotate(45 307.788 204.2)\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M289.91 141s20.57 8.57 37.22-8.08l54.67-70.63c18.5-19.41 49.26-18.69 67.94 0h0c18.68 18.68 19.34 48.81 0 67.93l-70.68 54.67c-15.65 15.65-8.08 37.22-8.08 37.22M115.31 442s-26.48 17.34-44.56-.73-.75-44.58-.75-44.58\"},\"child\":[]}]})(props);\n};\nexport function IoEyedropSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M480 96.22a63.84 63.84 0 0 0-18.95-45.61 65 65 0 0 0-45.71-19h-.76a61.78 61.78 0 0 0-44.22 19.09l-74.88 74.88-33.88-33.86-34.07 33.91-33.85 34 44 44L32 409.37V480h70.63l205.7-205.71L352 317.94l11.31-11.19c.11-.1 10.42-10.31 22.79-22.68l33.85-34-33.89-33.89L461 141.23a63.18 63.18 0 0 0 19-45.01zM245 292.35 219.65 267l40.68-40.69 25.38 25.38z\"},\"child\":[]}]})(props);\n};\nexport function IoEyedrop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M461.05 51a65 65 0 0 0-45.71-19h-.76a61.81 61.81 0 0 0-44.36 19.25 12.81 12.81 0 0 0-1.07 1.25l-54 69.76c-5.62 7.1-12.74 8.68-16.78 4.64l-1.9-1.9a48 48 0 0 0-67.92 67.92l9.91 9.91a2 2 0 0 1 0 2.83L58.7 385.38C54 390.05 46.9 399.85 38.85 431c-4.06 15.71-6.51 29.66-6.61 30.24A16 16 0 0 0 48 480a15.68 15.68 0 0 0 2.64-.22c.58-.1 14.44-2.43 30.13-6.44 31.07-7.94 41.05-15.24 45.85-20l179.77-179.79a2 2 0 0 1 2.82 0l9.92 9.92a48 48 0 0 0 67.92-67.93l-1.59-1.54c-5-5-2.52-12.11 4.32-17.14l69.75-53.94a17.82 17.82 0 0 0 1.47-1.32 63.2 63.2 0 0 0 19-45A63.88 63.88 0 0 0 461.05 51zM250.78 283.9c-2.92 2.92-16.18 7.92-23.39.71s-2.24-20.42.69-23.35l33-33a2 2 0 0 1 2.83 0l19.84 19.83a2 2 0 0 1 0 2.83z\"},\"child\":[]}]})(props);\n};\nexport function IoFastFoodOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M322 416c0 35.35-20.65 64-56 64H134c-35.35 0-56-28.65-56-64m258-80c17.67 0 32 17.91 32 40h0c0 22.09-14.33 40-32 40H64c-17.67 0-32-17.91-32-40h0c0-22.09 14.33-40 32-40\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M344 336H179.31a8 8 0 0 0-5.65 2.34l-26.83 26.83a4 4 0 0 1-5.66 0l-26.83-26.83a8 8 0 0 0-5.65-2.34H56a24 24 0 0 1-24-24h0a24 24 0 0 1 24-24h288a24 24 0 0 1 24 24h0a24 24 0 0 1-24 24zM64 276v-.22c0-55 45-83.78 100-83.78h72c55 0 100 29 100 84v-.22M241 112l7.44 63.97\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M256 480h139.31a32 32 0 0 0 31.91-29.61L463 112\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m368 112 16-64 47-16\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M224 112h256\"},\"child\":[]}]})(props);\n};\nexport function IoFastFoodSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 352H184.36l-41 35-41-35H16v24c0 30.59 21.13 55.51 47.26 56 2.43 15.12 8.31 28.78 17.16 39.47C93.51 487.28 112.54 496 134 496h132c21.46 0 40.49-8.72 53.58-24.55 8.85-10.69 14.73-24.35 17.16-39.47 13.88-.25 26.35-7.4 35-18.63A61.26 61.26 0 0 0 384 376zm-279-32 38.33 28.19L182 320h202v-8a40.07 40.07 0 0 0-32-39.2c-.82-29.69-13-54.54-35.51-72C295.67 184.56 267.85 176 236 176h-72c-68.22 0-114.43 38.77-116 96.8A40.07 40.07 0 0 0 16 312v8h89z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M463.08 96h-74.59l8.92-35.66L442 45l-10-29-62 20-14.49 60H208v32h18.75l1.86 16H236c39 0 73.66 10.9 100.12 31.52A121.9 121.9 0 0 1 371 218.07a124.16 124.16 0 0 1 10.73 32.65 72 72 0 0 1 27.89 90.9A96 96 0 0 1 416 376c0 22.34-7.6 43.63-21.4 59.95a80 80 0 0 1-31.83 22.95 109.21 109.21 0 0 1-18.53 33c-1.18 1.42-2.39 2.81-3.63 4.15H416c16 0 23-8 25-23l36.4-345H496V96z\"},\"child\":[]}]})(props);\n};\nexport function IoFastFood (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M368 128h.09m111.46-32h-91.06l8.92-35.66 38.32-13.05c8.15-2.77 13-11.43 10.65-19.71a16 16 0 0 0-20.54-10.73l-47 16a16 16 0 0 0-10.36 11.27L355.51 96H224.45c-8.61 0-16 6.62-16.43 15.23A16 16 0 0 0 224 128h2.75l1 8.66A8.3 8.3 0 0 0 236 144c39 0 73.66 10.9 100.12 31.52A121.9 121.9 0 0 1 371 218.07a123.4 123.4 0 0 1 10.12 29.51 7.83 7.83 0 0 0 3.29 4.88 72 72 0 0 1 26.38 86.43 7.92 7.92 0 0 0-.15 5.53A96 96 0 0 1 416 376c0 22.34-7.6 43.63-21.4 59.95a80.12 80.12 0 0 1-28.78 21.67 8 8 0 0 0-4.21 4.37 108.19 108.19 0 0 1-17.37 29.86 2.5 2.5 0 0 0 1.9 4.11h49.21a48.22 48.22 0 0 0 47.85-44.14L477.4 128h2.6a16 16 0 0 0 16-16.77c-.42-8.61-7.84-15.23-16.45-15.23z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M108.69 320a23.87 23.87 0 0 1 17 7l15.51 15.51a4 4 0 0 0 5.66 0L162.34 327a23.87 23.87 0 0 1 17-7h196.58a8 8 0 0 0 8.08-7.92V312a40.07 40.07 0 0 0-32-39.2c-.82-29.69-13-54.54-35.51-72C295.67 184.56 267.85 176 236 176h-72c-68.22 0-114.43 38.77-116 96.8A40.07 40.07 0 0 0 16 312a8 8 0 0 0 8 8zm77.25 32a8 8 0 0 0-5.66 2.34l-22.14 22.15a20 20 0 0 1-28.28 0l-22.14-22.15a8 8 0 0 0-5.66-2.34h-69.4a15.93 15.93 0 0 0-15.76 13.17A65.22 65.22 0 0 0 16 376c0 30.59 21.13 55.51 47.26 56 2.43 15.12 8.31 28.78 17.16 39.47C93.51 487.28 112.54 496 134 496h132c21.46 0 40.49-8.72 53.58-24.55 8.85-10.69 14.73-24.35 17.16-39.47 26.13-.47 47.26-25.39 47.26-56a65.22 65.22 0 0 0-.9-10.83A15.93 15.93 0 0 0 367.34 352z\"},\"child\":[]}]})(props);\n};\nexport function IoFemaleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"184\",\"r\":\"152\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M256 336v144m58-64H198\"},\"child\":[]}]})(props);\n};\nexport function IoFemaleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M430 190c0-95.94-78.06-174-174-174S82 94.06 82 190c0 88.49 66.4 161.77 152 172.61V394h-58v44h58v58h44v-58h58v-44h-58v-31.39c85.6-10.84 152-84.12 152-172.61zm-304 0c0-71.68 58.32-130 130-130s130 58.32 130 130-58.32 130-130 130-130-58.32-130-130z\"},\"child\":[]}]})(props);\n};\nexport function IoFemale (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M430 190c0-95.94-78.06-174-174-174S82 94.06 82 190c0 88.49 66.4 161.77 152 172.61V394h-36a22 22 0 0 0 0 44h36v36a22 22 0 0 0 44 0v-36h36a22 22 0 0 0 0-44h-36v-31.39c85.6-10.84 152-84.12 152-172.61zm-304 0c0-71.68 58.32-130 130-130s130 58.32 130 130-58.32 130-130 130-130-58.32-130-130z\"},\"child\":[]}]})(props);\n};\nexport function IoFileTrayFullOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M384 80H128c-26 0-43 14-48 40L48 272v112a48.14 48.14 0 0 0 48 48h320a48.14 48.14 0 0 0 48-48V272l-32-152c-5-27-23-40-48-40z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M48 272h144m128 0h144m-272 0a64 64 0 0 0 128 0M144 144h224m-240 64h256\"},\"child\":[]}]})(props);\n};\nexport function IoFileTrayFullSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M128 128h256v38H128zm-16 64h288v38H112z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M448 64H64L32 256v192h448V256zm-12 192H320a64 64 0 0 1-128 0H76l22-150h316z\"},\"child\":[]}]})(props);\n};\nexport function IoFileTrayFull (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m479.66 268.7-32-151.81C441.48 83.77 417.68 64 384 64H128c-16.8 0-31 4.69-42.1 13.94s-18.37 22.31-21.58 38.89l-32 151.87A16.65 16.65 0 0 0 32 272v112a64 64 0 0 0 64 64h320a64 64 0 0 0 64-64V272a16.65 16.65 0 0 0-.34-3.3zm-384-145.4v-.28c3.55-18.43 13.81-27 32.29-27H384c18.61 0 28.87 8.55 32.27 26.91 0 .13.05.26.07.39l26.93 127.88a4 4 0 0 1-3.92 4.82H320a15.92 15.92 0 0 0-16 15.82 48 48 0 1 1-96 0A15.92 15.92 0 0 0 192 256H72.65a4 4 0 0 1-3.92-4.82z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M368 160H144a16 16 0 0 1 0-32h224a16 16 0 0 1 0 32zm16 64H128a16 16 0 0 1 0-32h256a16 16 0 0 1 0 32z\"},\"child\":[]}]})(props);\n};\nexport function IoFileTrayOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M384 80H128c-26 0-43 14-48 40L48 272v112a48.14 48.14 0 0 0 48 48h320a48.14 48.14 0 0 0 48-48V272l-32-152c-5-27-23-40-48-40z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M48 272h144m128 0h144m-272 0a64 64 0 0 0 128 0\"},\"child\":[]}]})(props);\n};\nexport function IoFileTraySharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 64H64L32 256v192h448V256zm-12 192H320a64 64 0 0 1-128 0H76l22-150h316z\"},\"child\":[]}]})(props);\n};\nexport function IoFileTrayStackedOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M48 336v96a48.14 48.14 0 0 0 48 48h320a48.14 48.14 0 0 0 48-48v-96\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M48 336h144m128 0h144m-272 0a64 64 0 0 0 128 0\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M384 32H128c-26 0-43 14-48 40L48 192v96a48.14 48.14 0 0 0 48 48h320a48.14 48.14 0 0 0 48-48v-96L432 72c-5-27-23-40-48-40z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M48 192h144m128 0h144m-272 0a64 64 0 0 0 128 0\"},\"child\":[]}]})(props);\n};\nexport function IoFileTrayStackedSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 16H64L32 176v144h448V176zm-12 160H320a64 64 0 0 1-128 0H76L98 58h316zM320 352a64 64 0 0 1-128 0H32v144h448V352z\"},\"child\":[]}]})(props);\n};\nexport function IoFileTrayStacked (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 352H320a16 16 0 0 0-16 16 48 48 0 0 1-96 0 16 16 0 0 0-16-16H48a16 16 0 0 0-16 16v64a64.07 64.07 0 0 0 64 64h320a64.07 64.07 0 0 0 64-64v-64a16 16 0 0 0-16-16zm15.46-164.12L447.61 68.45C441.27 35.59 417.54 16 384 16H128c-16.8 0-31 4.69-42.1 13.94S67.66 52 64.4 68.4L32.54 187.88A15.9 15.9 0 0 0 32 192v48c0 35.29 28.71 80 64 80h320c35.29 0 64-44.71 64-80v-48a15.9 15.9 0 0 0-.54-4.12zM440.57 176H320a15.92 15.92 0 0 0-16 15.82 48 48 0 1 1-96 0A15.92 15.92 0 0 0 192 176H71.43a2 2 0 0 1-1.93-2.52L95.71 75c3.55-18.41 13.81-27 32.29-27h256c18.59 0 28.84 8.53 32.25 26.85l26.25 98.63a2 2 0 0 1-1.93 2.52z\"},\"child\":[]}]})(props);\n};\nexport function IoFileTray (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m479.66 268.7-32-151.81C441.48 83.77 417.68 64 384 64H128c-16.8 0-31 4.69-42.1 13.94s-18.37 22.31-21.58 38.89l-32 151.87A16.65 16.65 0 0 0 32 272v112a64 64 0 0 0 64 64h320a64 64 0 0 0 64-64V272a16.65 16.65 0 0 0-.34-3.3zm-384-145.4v-.28c3.55-18.43 13.81-27 32.29-27H384c18.61 0 28.87 8.55 32.27 26.91 0 .13.05.26.07.39l26.93 127.88a4 4 0 0 1-3.92 4.82H320a15.92 15.92 0 0 0-16 15.82 48 48 0 1 1-96 0A15.92 15.92 0 0 0 192 256H72.65a4 4 0 0 1-3.92-4.82z\"},\"child\":[]}]})(props);\n};\nexport function IoFilmOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"416\",\"height\":\"320\",\"x\":\"48\",\"y\":\"96\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"28\",\"ry\":\"28\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"80\",\"height\":\"80\",\"x\":\"384\",\"y\":\"336\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"28\",\"ry\":\"28\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"80\",\"height\":\"80\",\"x\":\"384\",\"y\":\"256\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"28\",\"ry\":\"28\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"80\",\"height\":\"80\",\"x\":\"384\",\"y\":\"176\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"28\",\"ry\":\"28\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"80\",\"height\":\"80\",\"x\":\"384\",\"y\":\"96\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"28\",\"ry\":\"28\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"80\",\"height\":\"80\",\"x\":\"48\",\"y\":\"336\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"28\",\"ry\":\"28\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"80\",\"height\":\"80\",\"x\":\"48\",\"y\":\"256\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"28\",\"ry\":\"28\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"80\",\"height\":\"80\",\"x\":\"48\",\"y\":\"176\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"28\",\"ry\":\"28\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"80\",\"height\":\"80\",\"x\":\"48\",\"y\":\"96\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"28\",\"ry\":\"28\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"256\",\"height\":\"160\",\"x\":\"128\",\"y\":\"96\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"28\",\"ry\":\"28\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"256\",\"height\":\"160\",\"x\":\"128\",\"y\":\"256\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"28\",\"ry\":\"28\"},\"child\":[]}]})(props);\n};\nexport function IoFilmSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M480 80H32v352h448zM112 352v48H64v-48zm0-80v48H64v-48zm0-80v48H64v-48zm0-80v48H64v-48zm256 160H144v-32h224zm80 80v48h-48v-48zm0-80v48h-48v-48zm0-80v48h-48v-48zm0-80v48h-48v-48z\"},\"child\":[]}]})(props);\n};\nexport function IoFilm (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M436 80H76a44.05 44.05 0 0 0-44 44v264a44.05 44.05 0 0 0 44 44h360a44.05 44.05 0 0 0 44-44V124a44.05 44.05 0 0 0-44-44zM112 388a12 12 0 0 1-12 12H76a12 12 0 0 1-12-12v-24a12 12 0 0 1 12-12h24a12 12 0 0 1 12 12zm0-80a12 12 0 0 1-12 12H76a12 12 0 0 1-12-12v-24a12 12 0 0 1 12-12h24a12 12 0 0 1 12 12zm0-80a12 12 0 0 1-12 12H76a12 12 0 0 1-12-12v-24a12 12 0 0 1 12-12h24a12 12 0 0 1 12 12zm0-80a12 12 0 0 1-12 12H76a12 12 0 0 1-12-12v-24a12 12 0 0 1 12-12h24a12 12 0 0 1 12 12zm241.68 124H158.32a16 16 0 0 1 0-32h195.36a16 16 0 1 1 0 32zM448 388a12 12 0 0 1-12 12h-24a12 12 0 0 1-12-12v-24a12 12 0 0 1 12-12h24a12 12 0 0 1 12 12zm0-80a12 12 0 0 1-12 12h-24a12 12 0 0 1-12-12v-24a12 12 0 0 1 12-12h24a12 12 0 0 1 12 12zm0-80a12 12 0 0 1-12 12h-24a12 12 0 0 1-12-12v-24a12 12 0 0 1 12-12h24a12 12 0 0 1 12 12zm0-80a12 12 0 0 1-12 12h-24a12 12 0 0 1-12-12v-24a12 12 0 0 1 12-12h24a12 12 0 0 1 12 12z\"},\"child\":[]}]})(props);\n};\nexport function IoFilterCircleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192 192-86 192-192z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M144 208h224m-192 64h160m-112 64h64\"},\"child\":[]}]})(props);\n};\nexport function IoFilterCircleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm48 304h-96v-32h96zm48-64H160v-32h192zm32-64H128v-32h256z\"},\"child\":[]}]})(props);\n};\nexport function IoFilterCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm32 304h-64a16 16 0 0 1 0-32h64a16 16 0 0 1 0 32zm48-64H176a16 16 0 0 1 0-32h160a16 16 0 0 1 0 32zm32-64H144a16 16 0 0 1 0-32h224a16 16 0 0 1 0 32z\"},\"child\":[]}]})(props);\n};\nexport function IoFilterOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M32 144h448M112 256h288M208 368h96\"},\"child\":[]}]})(props);\n};\nexport function IoFilterSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 120h480v48H16zm80 112h320v48H96zm96 112h128v48H192z\"},\"child\":[]}]})(props);\n};\nexport function IoFilter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M472 168H40a24 24 0 0 1 0-48h432a24 24 0 0 1 0 48zm-80 112H120a24 24 0 0 1 0-48h272a24 24 0 0 1 0 48zm-96 112h-80a24 24 0 0 1 0-48h80a24 24 0 0 1 0 48z\"},\"child\":[]}]})(props);\n};\nexport function IoFingerPrintOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M390.42 75.28a10.45 10.45 0 0 1-5.32-1.44C340.72 50.08 302.35 40 256.35 40c-45.77 0-89.23 11.28-128.76 33.84C122 77 115.11 74.8 111.87 69a12.4 12.4 0 0 1 4.63-16.32A281.81 281.81 0 0 1 256.35 16c49.23 0 92.23 11.28 139.39 36.48a12 12 0 0 1 4.85 16.08 11.3 11.3 0 0 1-10.17 6.72zm-330.79 126a11.73 11.73 0 0 1-6.7-2.16 12.26 12.26 0 0 1-2.78-16.8c22.89-33.6 52-60 86.69-78.48 72.58-38.84 165.51-39.12 238.32-.24 34.68 18.48 63.8 44.64 86.69 78a12.29 12.29 0 0 1-2.78 16.8 11.26 11.26 0 0 1-16.18-2.88c-20.8-30.24-47.15-54-78.36-70.56-66.34-35.28-151.18-35.28-217.29.24-31.44 16.8-57.79 40.8-78.59 71a10 10 0 0 1-9.02 5.08zM204.1 491a10.66 10.66 0 0 1-8.09-3.6C175.9 466.48 165 453 149.55 424c-16-29.52-24.27-65.52-24.27-104.16 0-71.28 58.71-129.36 130.84-129.36S387 248.56 387 319.84a11.56 11.56 0 1 1-23.11 0c0-58.08-48.32-105.36-107.72-105.36S148.4 261.76 148.4 319.84c0 34.56 7.39 66.48 21.49 92.4 14.8 27.6 25 39.36 42.77 58.08a12.67 12.67 0 0 1 0 17 12.44 12.44 0 0 1-8.56 3.68zm165.75-44.4c-27.51 0-51.78-7.2-71.66-21.36a129.1 129.1 0 0 1-55-105.36 11.57 11.57 0 1 1 23.12 0 104.28 104.28 0 0 0 44.84 85.44c16.41 11.52 35.6 17 58.72 17a147.41 147.41 0 0 0 24-2.4c6.24-1.2 12.25 3.12 13.4 9.84a11.92 11.92 0 0 1-9.47 13.92 152.28 152.28 0 0 1-27.95 2.88zM323.38 496a13 13 0 0 1-3-.48c-36.76-10.56-60.8-24.72-86-50.4-32.37-33.36-50.16-77.76-50.16-125.28 0-38.88 31.9-70.56 71.19-70.56s71.2 31.68 71.2 70.56c0 25.68 21.5 46.56 48.08 46.56s48.08-20.88 48.08-46.56c0-90.48-75.13-163.92-167.59-163.92-65.65 0-125.75 37.92-152.79 96.72-9 19.44-13.64 42.24-13.64 67.2 0 18.72 1.61 48.24 15.48 86.64 2.32 6.24-.69 13.2-6.7 15.36a11.34 11.34 0 0 1-14.79-7 276.39 276.39 0 0 1-16.88-95c0-28.8 5.32-55 15.72-77.76 30.75-67 98.94-110.4 173.6-110.4 105.18 0 190.71 84.24 190.71 187.92 0 38.88-31.9 70.56-71.2 70.56s-71.2-31.68-71.2-70.56c.01-25.68-21.49-46.6-48.07-46.6s-48.08 20.88-48.08 46.56c0 41 15.26 79.44 43.23 108.24 22 22.56 43 35 75.59 44.4 6.24 1.68 9.71 8.4 8.09 14.64a11.39 11.39 0 0 1-10.87 9.16z\"},\"child\":[]}]})(props);\n};\nexport function IoFingerPrintSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m56.79 200.58 12.36 7.5 7.35-13.58C93.07 166.75 143.78 102 256 102c115 0 164 70.32 180.1 93.46l8.16 12.7L469.88 192l-8.54-13.36c-8.88-12.85-27.52-39.53-60.78-63.1C360.15 86.82 311.5 72.25 256 72.25c-128.07 0-186.69 75.11-206 107.25L42.63 192 54 198.86a14.09 14.09 0 0 0 1.63 1.1 12.57 12.57 0 0 0 1.16.62z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M379.22 172.32c-35.54-28.93-78.12-44.25-123.22-44.25-97.52 0-162.31 66-183.33 131.47C53.42 320 76.82 407.61 77.8 411.36l4.38 13.81 29.93-6.43-4.74-15c-.21-.75-22.1-82.93-5.41-135.21 9-28.08 27.73-55.4 51.35-74.79C181.81 170.39 217.35 158 256 158c90.58 0 141.93 70.61 156.45 108.11 11.27 28.93 8.67 61.82-6.28 82-5.53 7.39-15.28 16.07-30.12 15.32-33.81-1.72-39.66-18.43-47.79-50.25-3.9-15.32-7.9-31.18-17.87-44-12.14-15.75-29.8-23.36-54.28-23.36-26.33 0-46.27 8.68-59.38 25.72-28.6 37.28-10 100.93-9.21 103.61l.22.85c1.41 3.86 36.08 96.65 128.93 119.68l14.77 3.21 8.09-28.71-15.27-3.43c-74.22-18.43-105.21-94.39-107.59-100.39a152.44 152.44 0 0 1-5.1-29.79c-1.08-14.46-.32-34.39 9.43-47.14 7.15-9.32 18.64-13.82 35-13.82 29.79 0 34.78 14.57 42.58 44.79 7.58 29.46 18 69.85 75.84 72.75 22.21 1.07 42.26-8.79 56.34-27.65 21.13-28.28 25.14-71.57 10.19-110.14-11.68-30.36-34.21-60.54-61.73-83.04z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M154.18 343.21c-3.47-28.28 1.41-71 26.55-98.78 17.44-19.29 42.79-29 75.19-29 37.49 0 65.87 16.72 84.51 49.61a154 154 0 0 1 17.88 53.25l1.43 14.69 30-2.2a112.63 112.63 0 0 0-1-15.6c-.11-1.28-3.57-32.46-21-63.75-24.06-43.11-62.63-65.93-111.74-65.93-41.5 0-74.55 13.18-98.06 39.11-31.85 35.14-38.35 86.25-33.91 122.35v.33c7.97 54.53 28.97 98.14 66.12 137.14l11.6 11.22 20.95-21.79-10.34-9.79c-32.72-34.28-51.25-72.64-58.18-120.86zM132.47 72.66c11.08-6.72 50.27-26.77 123.53-26.77 87.54 0 126.44 28.72 126.87 28.93l13.9 8.86L413 58.47l-13.22-8.56c-.52-.38-1.06-.76-1.6-1.12C385.5 40.54 340.54 16 256 16c-87.71 0-132.75 26.48-143.41 33.71L99 58.52l16.2 25.21z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M390.59 415.21c-33.37 3.75-60.45-2.67-80.71-18.85-34.24-27.43-38.68-75.11-38.79-76l-1.23-14.88-30.53 2.23 1.31 15c.22 2.46 5.2 60.75 49.62 96.54 22.11 17.89 49.74 26.89 82.24 26.89a187 187 0 0 0 21.56-1.29l16.59-2.09-6.1-29.71z\"},\"child\":[]}]})(props);\n};\nexport function IoFingerPrint (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M63.28 202a15.29 15.29 0 0 1-7.7-2 14.84 14.84 0 0 1-5.52-20.46C69.34 147.36 128 72.25 256 72.25c55.47 0 104.12 14.57 144.53 43.29 33.26 23.57 51.9 50.25 60.78 63.1a14.79 14.79 0 0 1-4 20.79 15.52 15.52 0 0 1-21.24-4C420 172.32 371 102 256 102c-112.25 0-163 64.71-179.53 92.46A15 15 0 0 1 63.28 202z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M320.49 496a15.31 15.31 0 0 1-3.79-.43c-92.85-23-127.52-115.82-128.93-119.68l-.22-.85c-.76-2.68-19.39-66.33 9.21-103.61 13.11-17 33.05-25.72 59.38-25.72 24.48 0 42.14 7.61 54.28 23.36 10 12.86 14 28.72 17.87 44 8.13 31.82 14 48.53 47.79 50.25 14.84.75 24.59-7.93 30.12-15.32 14.95-20.15 17.55-53 6.28-82C398 228.57 346.61 158 256 158c-38.68 0-74.22 12.43-102.72 35.79-23.59 19.35-42.28 46.67-51.28 74.75-16.69 52.28 5.2 134.46 5.41 135.21A14.83 14.83 0 0 1 96.54 422a15.39 15.39 0 0 1-18.74-10.6c-1-3.75-24.38-91.4-5.1-151.82 21-65.47 85.81-131.47 183.33-131.47 45.07 0 87.65 15.32 123.19 44.25 27.52 22.5 50 52.72 61.76 82.93 14.95 38.57 10.94 81.86-10.19 110.14-14.08 18.86-34.13 28.72-56.34 27.65-57.86-2.9-68.26-43.29-75.84-72.75-7.8-30.22-12.79-44.79-42.58-44.79-16.36 0-27.85 4.5-35 13.82-9.75 12.75-10.51 32.68-9.43 47.14a152.44 152.44 0 0 0 5.1 29.79c2.38 6 33.37 82 107.59 100.39a14.88 14.88 0 0 1 11 18.11 15.36 15.36 0 0 1-14.8 11.21z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M201.31 489.14a15.5 15.5 0 0 1-11.16-4.71c-37.16-39-58.18-82.61-66.09-137.14V347c-4.44-36.1 2.06-87.21 33.91-122.35 23.51-25.93 56.56-39.11 98.06-39.11 49.08 0 87.65 22.82 111.7 65.89 17.45 31.29 20.91 62.47 21 63.75a15.07 15.07 0 0 1-13.65 16.4 15.26 15.26 0 0 1-16.79-13.29A154 154 0 0 0 340.43 265c-18.64-32.89-47-49.61-84.51-49.61-32.4 0-57.75 9.75-75.19 29-25.14 27.75-30 70.5-26.55 98.78 6.93 48.22 25.46 86.58 58.18 120.86a14.7 14.7 0 0 1-.76 21.11 15.44 15.44 0 0 1-10.29 4z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M372.5 446.18c-32.5 0-60.13-9-82.24-26.89-44.42-35.79-49.4-94.08-49.62-96.54a15.27 15.27 0 0 1 30.45-2.36c.11.86 4.55 48.54 38.79 76 20.26 16.18 47.34 22.6 80.71 18.85a15.2 15.2 0 0 1 16.91 13.18 14.92 14.92 0 0 1-13.44 16.5 187 187 0 0 1-21.56 1.26zm25.68-397.39C385.5 40.54 340.54 16 256 16c-88.74 0-133.81 27.11-143.78 34a11.59 11.59 0 0 0-1.84 1.4.36.36 0 0 1-.22.1 14.87 14.87 0 0 0-5.09 11.15 15.06 15.06 0 0 0 15.31 14.85 15.56 15.56 0 0 0 8.88-2.79c.43-.32 39.22-28.82 126.77-28.82S382.58 74.29 383 74.5a15.25 15.25 0 0 0 9.21 3 15.06 15.06 0 0 0 15.29-14.89 14.9 14.9 0 0 0-9.32-13.82z\"},\"child\":[]}]})(props);\n};\nexport function IoFishOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M240 152c-50.71 12.21-94.15 52.31-120.3 73.43a261.14 261.14 0 0 0-23.81-19.58C59.53 179.29 16 176 16 176s11.37 51.53 41.36 79.83C27.37 284.14 16 335.67 16 335.67s43.53-3.29 79.89-29.85a259.18 259.18 0 0 0 23.61-19.41c26.1 21.14 69.74 61.34 120.5 73.59l-16 56c39.43-6.67 78.86-35.51 94.72-48.25C448 362 496 279 496 256c0-22-48-106-176.89-111.73C303.52 131.78 263.76 102.72 224 96z\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"416\",\"cy\":\"239.99\",\"r\":\"16\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"20\",\"strokeWidth\":\"32\",\"d\":\"M378.37 356a199.22 199.22 0 0 1 0-200\"},\"child\":[]}]})(props);\n};\nexport function IoFishSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M335.45 256a214.83 214.83 0 0 1 29.08-108l7.62-13.26a280.69 280.69 0 0 0-48.64-7.15c-21.94-16.9-54.64-36.95-92.34-43.33L208 80l13.37 61.86c-41.67 14.14-78.43 42.86-102.76 62.62q-7.06-5.91-14.78-11.55c-39.71-29-82.6-31.8-84.4-31.9L0 160l2.67 19.31c.29 2 6.79 44.73 31.65 76.52C9.46 287.63 3 330.33 2.67 332.36L0 352l19.43-1.36c1.8-.1 44.69-2.89 84.4-31.9q7.58-5.53 14.56-11.37c24.37 19.83 61.14 48.6 102.86 62.74L208 432l23.17-4.22c37.49-6.34 70.08-26.4 92-43.32a284.27 284.27 0 0 0 49.32-7.23l-7.91-13.18A214.92 214.92 0 0 1 335.45 256z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M499.59 221.75c-5.85-9.88-16.54-24.9-34.19-40.28a209.82 209.82 0 0 0-62-37L392.23 164a183.22 183.22 0 0 0-.09 183.87l11.75 19.57a209.26 209.26 0 0 0 61.42-36.49C497.05 303.47 512 269 512 256c0-12.31-8-26.74-12.41-34.25zM416 256a16 16 0 1 1 16-16 16 16 0 0 1-16 16z\"},\"child\":[]}]})(props);\n};\nexport function IoFish (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 256c0-16.54-14.27-46.76-45.61-74a207.06 207.06 0 0 0-60.28-36.12 3.15 3.15 0 0 0-3.93 1.56c-.15.29-.3.57-.47.86l-9.59 15.9a183.24 183.24 0 0 0 .07 183.78l.23.39 8.74 16a4 4 0 0 0 4.94 1.82C479.63 337.42 512 281.49 512 256zm-93.92-.14a16 16 0 1 1 13.79-13.79 16 16 0 0 1-13.79 13.79z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M335.45 256a214.8 214.8 0 0 1 29.08-108l.12-.21 4.62-7.67a4 4 0 0 0-2.59-6 284.29 284.29 0 0 0-39.26-5.39 7.94 7.94 0 0 1-4.29-1.6c-19.28-14.66-57.5-40.3-96.46-46.89a16 16 0 0 0-18 20.18l10.62 37.17a4 4 0 0 1-2.42 4.84c-36.85 13.69-68.59 38.75-91.74 57.85a8 8 0 0 1-10.06.06q-4.72-3.75-9.69-7.39c-39.64-28.95-86.21-32.76-88.17-32.9a16 16 0 0 0-16.83 19.4c.42 1.93 9.19 40.69 31.7 71.61a8.09 8.09 0 0 1 0 9.55C9.57 291.52.8 330.29.38 332.22a16 16 0 0 0 16.83 19.4c2-.14 48.53-4 88.12-32.88q4.85-3.56 9.47-7.22a8 8 0 0 1 10.06.07c23.25 19.19 55.05 44.28 92 58a4 4 0 0 1 2.42 4.83l-10.66 37.18a16 16 0 0 0 18 20.18c17.16-2.9 51.88-12.86 96.05-46.83a8.15 8.15 0 0 1 4.36-1.65 287.36 287.36 0 0 0 39.22-5.3 4 4 0 0 0 2.69-5.83l-4.51-8.29A214.81 214.81 0 0 1 335.45 256z\"},\"child\":[]}]})(props);\n};\nexport function IoFitnessOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M352.92 80C288 80 256 144 256 144s-32-64-96.92-64c-52.76 0-94.54 44.14-95.08 96.81-1.1 109.33 86.73 187.08 183 252.42a16 16 0 0 0 18 0c96.26-65.34 184.09-143.09 183-252.42-.54-52.67-42.32-96.81-95.08-96.81z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M48 256h112l48-96 48 160 48-96 32 64h128\"},\"child\":[]}]})(props);\n};\nexport function IoFitnessSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M480 272h-37.34a261.41 261.41 0 0 1-18.25 32H480zM32 240v32h37.34a225.1 225.1 0 0 1-12.4-32z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"m304 259.78-51.73 103.46-48-160L169.89 272H69.34c10 20.92 23.5 41.41 40.63 61.68 40.12 47.46 94.25 79.75 137 108.32l9 6 9-6c42.78-28.57 96.91-60.86 137-108.32A322.78 322.78 0 0 0 424.41 304h-98.3z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"m211.73 116.76 48 160L304 188.22 345.89 272h96.77A213.13 213.13 0 0 0 464 176.65C463.37 114.54 413.54 64 352.92 64c-48.11 0-80.1 28-96.92 48.21C239.18 92 207.19 64 159.08 64 98.46 64 48.63 114.54 48 176.65A211.23 211.23 0 0 0 56.94 240h93.17z\"},\"child\":[]}]})(props);\n};\nexport function IoFitness (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M193.69 152.84a16 16 0 0 1 29.64 2.56l36.4 121.36 30-59.92a16 16 0 0 1 28.62 0L345.89 272h96.76A213.08 213.08 0 0 0 464 176.65C463.37 114.54 413.54 64 352.92 64c-48.09 0-80 29.54-96.92 51-16.88-21.49-48.83-51-96.92-51C98.46 64 48.63 114.54 48 176.65A211.13 211.13 0 0 0 56.93 240h93.18z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M321.69 295.16 304 259.78l-33.69 67.38A16 16 0 0 1 256 336q-.67 0-1.38-.06a16 16 0 0 1-14-11.34l-36.4-121.36-30 59.92A16 16 0 0 1 160 272H69.35q14 29.29 37.27 57.66c18.77 22.88 52.8 59.46 131.39 112.81a31.84 31.84 0 0 0 36 0c78.59-53.35 112.62-89.93 131.39-112.81a316.79 316.79 0 0 0 19-25.66H336a16 16 0 0 1-14.31-8.84zM464 272h-21.35a260.11 260.11 0 0 1-18.25 32H464a16 16 0 0 0 0-32zM48 240a16 16 0 0 0 0 32h21.35a225.22 225.22 0 0 1-12.42-32z\"},\"child\":[]}]})(props);\n};\nexport function IoFlagOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M80 464V68.14a8 8 0 0 1 4-6.9C91.81 56.66 112.92 48 160 48c64 0 145 48 192 48a199.53 199.53 0 0 0 77.23-15.77 2 2 0 0 1 2.77 1.85v219.36a4 4 0 0 1-2.39 3.65C421.37 308.7 392.33 320 352 320c-48 0-128-32-192-32s-80 16-80 16\"},\"child\":[]}]})(props);\n};\nexport function IoFlagSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M102 480H64V57.37l4.69-4.68C72.14 49.23 92.78 32 160 32c37.21 0 78.83 14.71 115.55 27.68C305.12 70.13 333.05 80 352 80c42.83 0 72.72-14.25 73-14.4l23-11.14v259.43l-8.84 4.42C437.71 319 403.19 336 352 336c-24.14 0-54.38-7.14-86.39-14.71C229.63 312.79 192.43 304 160 304c-36.87 0-49.74 5.58-58 9.11z\"},\"child\":[]}]})(props);\n};\nexport function IoFlag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M80 480a16 16 0 0 1-16-16V68.13a24 24 0 0 1 11.9-20.72C88 40.38 112.38 32 160 32c37.21 0 78.83 14.71 115.55 27.68C305.12 70.13 333.05 80 352 80a183.84 183.84 0 0 0 71-14.5 18 18 0 0 1 25 16.58v219.36a20 20 0 0 1-12 18.31c-8.71 3.81-40.51 16.25-84 16.25-24.14 0-54.38-7.14-86.39-14.71C229.63 312.79 192.43 304 160 304c-36.87 0-55.74 5.58-64 9.11V464a16 16 0 0 1-16 16z\"},\"child\":[]}]})(props);\n};\nexport function IoFlameOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M112 320c0-93 124-165 96-272 66 0 192 96 192 272a144 144 0 0 1-288 0z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M320 368c0 57.71-32 80-64 80s-64-22.29-64-80 40-86 32-128c42 0 96 70.29 96 128z\"},\"child\":[]}]})(props);\n};\nexport function IoFlameSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M394.24 197.56a300.67 300.67 0 0 0-53.38-90C301.2 61.65 240 32 192 32c19 70-14.36 117.12-44.79 163.77C122 234.36 96 274.27 96 320c0 88.22 71.78 160 160 160s160-71.78 160-160c0-43.3-7.32-84.49-21.76-122.44zM288.33 418.69C278 429.69 265.05 432 256 432s-22-2.31-32.33-13.31S208 390.24 208 368c0-25.14 8.82-44.28 17.34-62.78 6.48-14.07 14.66-27.22 15.11-44.49 11.3 5.88 23.67 16.91 34.54 31.28 18.17 24 29 52.42 29 76 .01 22.23-5.41 39.76-15.66 50.68z\"},\"child\":[]}]})(props);\n};\nexport function IoFlame (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M394.23 197.56a300.43 300.43 0 0 0-53.37-90C301.2 61.65 249.05 32 208 32a16 16 0 0 0-15.48 20c13.87 53-14.88 97.07-45.31 143.72C122 234.36 96 274.27 96 320c0 88.22 71.78 160 160 160s160-71.78 160-160c0-43.3-7.32-84.49-21.77-122.44zm-105.9 221.13C278 429.69 265.05 432 256 432s-22-2.31-32.33-13.31S208 390.24 208 368c0-25.14 8.82-44.28 17.34-62.78 4.95-10.74 10-21.67 13-33.37a8 8 0 0 1 12.49-4.51A126.48 126.48 0 0 1 275 292c18.17 24 29 52.42 29 76 0 22.24-5.42 39.77-15.67 50.69z\"},\"child\":[]}]})(props);\n};\nexport function IoFlashOffOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M432 448a15.92 15.92 0 0 1-11.31-4.69l-352-352a16 16 0 0 1 22.62-22.62l352 352A16 16 0 0 1 432 448zM294.34 84.28l-22.08 120.84a16 16 0 0 0 6.17 15.71 16.49 16.49 0 0 0 9.93 3.17h94.12l-38.37 47.42a4 4 0 0 0 .28 5.34l17.07 17.07a4 4 0 0 0 5.94-.31l60.8-75.16a16.37 16.37 0 0 0 3.3-14.36 16 16 0 0 0-15.5-12H307.19L335.4 37.63c.05-.3.1-.59.13-.89A18.45 18.45 0 0 0 302.73 23l-92.58 114.46a4 4 0 0 0 .28 5.35l17.07 17.06a4 4 0 0 0 5.94-.31zm-76.56 343.29 22-120.71a16 16 0 0 0-6.19-15.7 16.54 16.54 0 0 0-9.92-3.16h-94.1l38.36-47.42a4 4 0 0 0-.28-5.34l-17.07-17.07a4 4 0 0 0-5.93.31L83.8 293.64A16.37 16.37 0 0 0 80.5 308 16 16 0 0 0 96 320h108.83l-28.09 154.36v.11a18.37 18.37 0 0 0 32.5 14.53l92.61-114.46a4 4 0 0 0-.28-5.35l-17.07-17.06a4 4 0 0 0-5.94.31z\"},\"child\":[]}]})(props);\n};\nexport function IoFlashOffSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m63.998 86.004 21.998-21.998L448 426.01l-21.998 21.998zM80 304h144l-32 192 108.18-129.82-148.36-148.36L80 304zm352-96H288l32-192-108.18 129.82 148.36 148.36L432 208z\"},\"child\":[]}]})(props);\n};\nexport function IoFlashOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M432 448a15.92 15.92 0 0 1-11.31-4.69l-352-352a16 16 0 0 1 22.62-22.62l352 352A16 16 0 0 1 432 448zm-.5-244a16 16 0 0 0-15.5-12H307.19L335.4 37.63c.05-.3.1-.59.13-.89A18.45 18.45 0 0 0 302.73 23l-92.58 114.46a4 4 0 0 0 .29 5.35l151 151a4 4 0 0 0 5.94-.31l60.8-75.16A16.37 16.37 0 0 0 431.5 204zM301.57 369.19l-151-151a4 4 0 0 0-5.93.31L83.8 293.64A16.37 16.37 0 0 0 80.5 308 16 16 0 0 0 96 320h108.83l-28.09 154.36v.11a18.37 18.37 0 0 0 32.5 14.53l92.61-114.46a4 4 0 0 0-.28-5.35z\"},\"child\":[]}]})(props);\n};\nexport function IoFlashOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M315.27 33 96 304h128l-31.51 173.23a2.36 2.36 0 0 0 2.33 2.77h0a2.36 2.36 0 0 0 1.89-.95L416 208H288l31.66-173.25a2.45 2.45 0 0 0-2.44-2.75h0a2.42 2.42 0 0 0-1.95 1z\"},\"child\":[]}]})(props);\n};\nexport function IoFlashSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M432 208H288l32-192L80 304h144l-32 192z\"},\"child\":[]}]})(props);\n};\nexport function IoFlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M194.82 496a18.36 18.36 0 0 1-18.1-21.53v-.11L204.83 320H96a16 16 0 0 1-12.44-26.06L302.73 23a18.45 18.45 0 0 1 32.8 13.71c0 .3-.08.59-.13.89L307.19 192H416a16 16 0 0 1 12.44 26.06L209.24 489a18.45 18.45 0 0 1-14.42 7z\"},\"child\":[]}]})(props);\n};\nexport function IoFlashlightOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M456.64 162.86 349.12 55.36c-13.15-13.14-28.68-7.17-41.82 6l-11.95 12c-26.13 26.13-27.62 58.38-29.42 83.31-.89 12.24-9.78 27.55-18.51 36.28L58.58 381.67c-16.35 16.33-12.69 39.42 3.73 55.84l12.17 12.17c16.36 16.35 39.43 20.16 55.86 3.74l188.83-188.8c8.74-8.74 24-17.55 36.29-18.52 24.87-1.86 58.62-4.85 83.26-29.49l11.94-11.94c13.15-13.14 19.12-28.67 5.98-41.81z\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"224.68\",\"cy\":\"287.28\",\"r\":\"20\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"m289 81 142 142\"},\"child\":[]}]})(props);\n};\nexport function IoFlashlightSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m330 16-42.68 42.7L453.3 224.68 496 182 330 16z\"},\"child\":[]},{\"tag\":\"ellipse\",\"attr\":{\"cx\":\"224.68\",\"cy\":\"287.3\",\"fill\":\"none\",\"rx\":\"20.03\",\"ry\":\"19.96\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M429.21 243.85 268 82.59 249.65 168 16 402l94 94 234.23-233.8zm-189 56.07a20 20 0 1 1 0-25.25 20 20 0 0 1-.02 25.25z\"},\"child\":[]}]})(props);\n};\nexport function IoFlashlight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M462 216c9.35-9.35 15.14-19.09 17.19-28.95 2.7-12.95-1.29-25.55-11.22-35.48L360.43 44.05C346.29 29.92 322 24.07 296 50l-2 2a8 8 0 0 0 0 11.32L448.64 218a8 8 0 0 0 11.36 0zm-211.86-62.92-.16 2.34c-.53 7.18-6.88 19.15-13.88 26.14L47.27 370.36c-11.12 11.11-16.46 25.57-15.05 40.7C33.49 424.58 40.16 438 51 448.83L63.17 461c12.61 12.6 27.78 19 42.49 19a50.4 50.4 0 0 0 36-15.24l188.84-188.8c7.07-7.07 18.84-13.3 26.17-13.87 17.48-1.32 43.57-3.28 67.79-15.65a4 4 0 0 0 1-6.37L271.69 86.31a4 4 0 0 0-6.39 1c-12.12 22.99-13.82 46.91-15.16 65.77zm-9.95 146.83a20 20 0 1 1 0-25.25 20 20 0 0 1 0 25.25z\"},\"child\":[]}]})(props);\n};\nexport function IoFlaskOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M176 48h160M118 304h276M208 48v93.48a64.09 64.09 0 0 1-9.88 34.18L73.21 373.49C48.4 412.78 76.63 464 123.08 464h265.84c46.45 0 74.68-51.22 49.87-90.51L313.87 175.66a64.09 64.09 0 0 1-9.87-34.18V48\"},\"child\":[]}]})(props);\n};\nexport function IoFlaskSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M469.11 382.76 325 153.92V74h32V32H155v42h32v79.92L42.89 382.76c-13 20.64-14.78 43.73-3 65.1S71.59 480 96 480h320c24.41 0 44.32-10.76 56.1-32.14s10.04-44.46-2.99-65.1zM224.39 173.39a29.76 29.76 0 0 0 4.62-16V74h54v84.59a25.85 25.85 0 0 0 4 13.82L356.82 283H155.18z\"},\"child\":[]}]})(props);\n};\nexport function IoFlask (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M452.32 365 327.4 167.12a48.07 48.07 0 0 1-7.4-25.64V64h15.56c8.61 0 16-6.62 16.43-15.23A16 16 0 0 0 336 32H176.45c-8.61 0-16 6.62-16.43 15.23A16 16 0 0 0 176 64h16v77.48a47.92 47.92 0 0 1-7.41 25.63L59.68 365a74 74 0 0 0-2.5 75.84C70.44 465.19 96.36 480 124.13 480h263.74c27.77 0 53.69-14.81 66.95-39.21a74 74 0 0 0-2.5-75.79zM211.66 184.2A79.94 79.94 0 0 0 224 141.48V68a4 4 0 0 1 4-4h56a4 4 0 0 1 4 4v73.48a79.94 79.94 0 0 0 12.35 42.72l57.8 91.53a8 8 0 0 1-6.78 12.27H160.63a8 8 0 0 1-6.77-12.27z\"},\"child\":[]}]})(props);\n};\nexport function IoFlowerOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M215.08 156.92c-4.89-24-10.77-56.27-10.77-73.23A51.36 51.36 0 0 1 256 32h0c28.55 0 51.69 23.69 51.69 51.69 0 16.5-5.85 48.95-10.77 73.23m-81.84 198.16c-4.91 24.06-10.77 56.16-10.77 73.23A51.36 51.36 0 0 0 256 480h0c28.55 0 51.69-23.69 51.69-51.69 0-16.54-5.85-48.93-10.77-73.23m58.16-140c24.06-4.91 56.16-10.77 73.23-10.77A51.36 51.36 0 0 1 480 256h0c0 28.55-23.69 51.69-51.69 51.69-16.5 0-48.95-5.85-73.23-10.77m-198.16-81.85c-24-4.89-56.25-10.76-73.23-10.76A51.36 51.36 0 0 0 32 256h0c0 28.55 23.69 51.69 51.69 51.69 16.5 0 48.95-5.85 73.23-10.77\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M296.92 156.92c13.55-20.48 32.3-47.25 44.37-59.31a51.35 51.35 0 0 1 73.1 0h0c20.19 20.19 19.8 53.3 0 73.1-11.66 11.67-38.67 30.67-59.31 44.37m-198.16 81.84c-20.48 13.55-47.25 32.3-59.31 44.37a51.35 51.35 0 0 0 0 73.1h0c20.19 20.19 53.3 19.8 73.1 0 11.67-11.66 30.67-38.67 44.37-59.31m140-58.16c20.48 13.55 47.25 32.3 59.31 44.37a51.35 51.35 0 0 1 0 73.1h0c-20.19 20.19-53.3 19.8-73.1 0-11.69-11.69-30.66-38.65-44.37-59.31m-81.84-198.16c-13.53-20.43-32.38-47.32-44.37-59.31a51.35 51.35 0 0 0-73.1 0h0c-20.19 20.19-19.8 53.3 0 73.1 11.61 11.61 38.7 30.68 59.31 44.37\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"r\":\"64\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\"},\"child\":[]}]})(props);\n};\nexport function IoFlowerSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"r\":\"43\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M475.93 303.91a67.49 67.49 0 0 0-47.62-115.6c-2.88 0-6.2.14-9.93.43 2.75-2.36 5.23-4.62 7.33-6.71A67.83 67.83 0 0 0 378 66.33h-.25a67.27 67.27 0 0 0-47.82 20c-2.11 2.11-4.37 4.59-6.72 7.33.29-3.75.44-7.07.44-9.93a67.69 67.69 0 1 0-135.38 0c0 2.87.15 6.19.44 9.93-2.36-2.74-4.62-5.22-6.72-7.33a67.27 67.27 0 0 0-47.82-20H134A67.9 67.9 0 0 0 86.29 182c2.1 2.09 4.58 4.35 7.34 6.72-3.74-.29-7.06-.44-9.94-.44a67.69 67.69 0 0 0 0 135.38c2.86 0 6.18-.15 9.93-.44-2.74 2.35-5.22 4.61-7.33 6.72a67.55 67.55 0 0 0 47.82 115.42h.25A67.32 67.32 0 0 0 182 425.71c2.09-2.1 4.35-4.58 6.71-7.33-.28 3.73-.43 7.05-.43 9.93a67.69 67.69 0 0 0 135.38 0c0-2.87-.15-6.19-.44-9.94 2.36 2.75 4.62 5.24 6.72 7.34a67.32 67.32 0 0 0 47.67 19.68h.25A67.5 67.5 0 0 0 425.71 330c-2.11-2.11-4.59-4.37-7.33-6.72 3.75.29 7.07.44 9.93.44a67.27 67.27 0 0 0 47.62-19.81zM256 341a85 85 0 1 1 85-85 85.1 85.1 0 0 1-85 85z\"},\"child\":[]}]})(props);\n};\nexport function IoFlower (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"r\":\"48\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M475.93 303.91a67.49 67.49 0 0 0-44.34-115.53 5.2 5.2 0 0 1-4.58-3.21 5.21 5.21 0 0 1 1-5.51A67.83 67.83 0 0 0 378 66.33h-.25A67.13 67.13 0 0 0 332.35 84a5.21 5.21 0 0 1-5.52 1 5.23 5.23 0 0 1-3.22-4.58 67.68 67.68 0 0 0-135.23 0 5.2 5.2 0 0 1-3.21 4.58 5.21 5.21 0 0 1-5.52-1 67.11 67.11 0 0 0-45.44-17.69H134a67.91 67.91 0 0 0-50 113.34 5.21 5.21 0 0 1 1 5.51 5.2 5.2 0 0 1-4.58 3.21 67.71 67.71 0 0 0 0 135.23 5.23 5.23 0 0 1 4.58 3.23 5.22 5.22 0 0 1-1 5.52 67.54 67.54 0 0 0 50.08 113h.25A67.38 67.38 0 0 0 179.65 428a5.21 5.21 0 0 1 5.51-1 5.2 5.2 0 0 1 3.21 4.58 67.71 67.71 0 0 0 135.23 0 5.23 5.23 0 0 1 3.22-4.58 5.21 5.21 0 0 1 5.51 1 67.38 67.38 0 0 0 45.29 17.42h.25a67.48 67.48 0 0 0 50.08-113 5.22 5.22 0 0 1-1-5.52 5.23 5.23 0 0 1 4.58-3.22 67.31 67.31 0 0 0 44.4-19.77zM256 336a80 80 0 1 1 80-80 80.09 80.09 0 0 1-80 80z\"},\"child\":[]}]})(props);\n};\nexport function IoFolderOpenOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M64 192v-72a40 40 0 0 1 40-40h75.89a40 40 0 0 1 22.19 6.72l27.84 18.56a40 40 0 0 0 22.19 6.72H408a40 40 0 0 1 40 40v40\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M479.9 226.55 463.68 392a40 40 0 0 1-39.93 40H88.25a40 40 0 0 1-39.93-40L32.1 226.55A32 32 0 0 1 64 192h384.1a32 32 0 0 1 31.8 34.55z\"},\"child\":[]}]})(props);\n};\nexport function IoFolderOpenSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m16.08 189.4 28.58 233.87A28 28 0 0 0 72.52 448h367a28 28 0 0 0 27.86-24.73l28.54-233.87A12 12 0 0 0 484 176H28a12 12 0 0 0-11.92 13.4zM464 124a28 28 0 0 0-28-28H244.84l-48-32H76a28 28 0 0 0-28 28v52h416z\"},\"child\":[]}]})(props);\n};\nexport function IoFolderOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M408 96H252.11a23.89 23.89 0 0 1-13.31-4L211 73.41A55.77 55.77 0 0 0 179.89 64H104a56.06 56.06 0 0 0-56 56v24h416c0-30.88-25.12-48-56-48zm15.75 352H88.25a56 56 0 0 1-55.93-55.15L16.18 228.11v-.28A48 48 0 0 1 64 176h384.1a48 48 0 0 1 47.8 51.83v.28l-16.22 164.74A56 56 0 0 1 423.75 448zm56.15-221.45z\"},\"child\":[]}]})(props);\n};\nexport function IoFolderOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M440 432H72a40 40 0 0 1-40-40V120a40 40 0 0 1 40-40h75.89a40 40 0 0 1 22.19 6.72l27.84 18.56a40 40 0 0 0 22.19 6.72H440a40 40 0 0 1 40 40v240a40 40 0 0 1-40 40zM32 192h448\"},\"child\":[]}]})(props);\n};\nexport function IoFolderSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 420a28 28 0 0 0 28 28h424a28 28 0 0 0 28-28V208H16zm480-296a28 28 0 0 0-28-28H212.84l-48-32H44a28 28 0 0 0-28 28v84h480z\"},\"child\":[]}]})(props);\n};\nexport function IoFolder (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496 152a56 56 0 0 0-56-56H220.11a23.89 23.89 0 0 1-13.31-4L179 73.41A55.77 55.77 0 0 0 147.89 64H72a56 56 0 0 0-56 56v48a8 8 0 0 0 8 8h464a8 8 0 0 0 8-8zM16 392a56 56 0 0 0 56 56h368a56 56 0 0 0 56-56V216a8 8 0 0 0-8-8H24a8 8 0 0 0-8 8z\"},\"child\":[]}]})(props);\n};\nexport function IoFootballOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"r\":\"192\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m256 175.15-76.09 63.83L200 320h112l20.09-81.02L256 175.15zm76.09 63.83 52.87-22.4 25.78-73.26M447 269.97l-62.04-53.39m-205.05 22.4-52.87-22.4-25.78-73.26M65 269.97l62.04-53.39M256 175.15v-57.57l64-42.64m-128-.01 64 42.65M312 320l28 48-28 71m98.74-71H342m-142-48-28 48 28.37 71.5M101.63 368H172\"},\"child\":[]}]})(props);\n};\nexport function IoFootballSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm140.64 296.08h-46.77l-16.89-29 15-60.44L377.79 242l42.65 36.71a164.87 164.87 0 0 1-23.8 65.37zM134.21 242 164 254.67l15 60.44-16.89 29h-46.75a164.87 164.87 0 0 1-23.8-65.34zm249.07-92.47-18.41 52.33-31.12 13.18L277 167.46v-35l43.86-29.22a166.87 166.87 0 0 1 62.42 46.32zM191.14 103.2 235 132.42v35l-56.75 47.61-31.12-13.18-18.41-52.33a166.87 166.87 0 0 1 62.42-46.32zm26.44 314.3-20.1-50.66 16-27.51h85l16.06 27.53-20 50.6a166.23 166.23 0 0 1-77 0z\"},\"child\":[]}]})(props);\n};\nexport function IoFootball (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm143 304h-45.22a8 8 0 0 1-6.91-4l-16.14-27.68a8 8 0 0 1-.86-6l14.86-59.92a8 8 0 0 1 4.65-5.45l28.1-11.9a8 8 0 0 1 8.34 1.3l41.63 35.82a8 8 0 0 1 2.69 7.26 174.75 174.75 0 0 1-24.28 66.68A8 8 0 0 1 399 352zM134.52 237.13l28.1 11.9a8 8 0 0 1 4.65 5.45l14.86 59.92a8 8 0 0 1-.86 6L165.13 348a8 8 0 0 1-6.91 4H113a8 8 0 0 1-6.82-3.81 174.75 174.75 0 0 1-24.28-66.68 8 8 0 0 1 2.69-7.26l41.63-35.82a8 8 0 0 1 8.3-1.3zm256.94-87.24-18.07 51.38A8 8 0 0 1 369 206l-29.58 12.53a8 8 0 0 1-8.26-1.24L274.9 170.1a8 8 0 0 1-2.9-6.1v-33.58a8 8 0 0 1 3.56-6.65l42.83-28.54a8 8 0 0 1 7.66-.67A176.92 176.92 0 0 1 390 142a8 8 0 0 1 1.46 7.89zM193.6 95.23l42.84 28.54a8 8 0 0 1 3.56 6.65V164a8 8 0 0 1-2.86 6.13l-56.26 47.19a8 8 0 0 1-8.26 1.24L143 206a8 8 0 0 1-4.43-4.72L120.5 149.9a8 8 0 0 1 1.5-7.9 176.92 176.92 0 0 1 64-47.48 8 8 0 0 1 7.6.71zm17.31 327.46L191.18 373a8 8 0 0 1 .52-7l15.17-26a8 8 0 0 1 6.91-4h84.44a8 8 0 0 1 6.91 4l15.18 26a8 8 0 0 1 .53 7l-19.59 49.67a8 8 0 0 1-5.69 4.87 176.58 176.58 0 0 1-79 0 8 8 0 0 1-5.65-4.85z\"},\"child\":[]}]})(props);\n};\nexport function IoFootstepsOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M200 246.84c8.81 58.62-7.33 90.67-52.91 97.41-50.65 7.49-71.52-26.44-80.33-85.06-11.85-78.88 16-127.94 55.71-131.1 36.14-2.87 68.71 60.14 77.53 118.75zm23.65 162.69c3.13 33.28-14.86 64.34-42 69.66-27.4 5.36-58.71-16.37-65.09-49.19s17.75-34.56 47.32-40.21 55.99-20.4 59.77 19.74zM312 150.83c-8.81 58.62 7.33 90.67 52.9 97.41 50.66 7.49 71.52-26.44 80.33-85.06 11.86-78.89-16-128.22-55.7-131.1-36.4-2.64-68.71 60.13-77.53 118.75zm-23.65 162.7c-3.13 33.27 14.86 64.34 42 69.66 27.4 5.36 58.71-16.37 65.09-49.19s-17.75-34.56-47.32-40.22-55.99-20.4-59.77 19.75z\"},\"child\":[]}]})(props);\n};\nexport function IoFootstepsSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M130.54 358.31c-12.83 1.88-33.95 5.38-48-10.56S56.34 293.32 51 258.92c-7.88-50.7-.06-93.43 22-120.31 13-15.83 30.06-25 49.34-26.46 16.51-1.27 41.18 5.19 65 43.19 14.92 23.81 26.27 55.44 31.14 86.77 5.88 37.82 11.61 78.18-8.44 92.65-11.31 8.17-19.43 11-38.62 15.57-15.78 3.75-28.04 6.09-40.88 7.98zm-22.82 32.53 108.89-22.46c9.2-1.9 16.58 3.16 20 18.32 11.22 49.76-4.86 109.3-55.22 109.3-47.69 0-79.47-54.36-84.66-83.58-2.37-13.25 1.01-19.53 10.99-21.58zm232.87-136.5c-19.19-4.55-27.31-7.4-38.62-15.57-20.05-14.47-14.32-54.83-8.44-92.65 4.87-31.33 16.22-63 31.14-86.77 23.8-38 48.47-44.46 65-43.19C408.93 17.63 426 26.78 439 42.61c22.08 26.88 29.9 69.61 22 120.31-5.35 34.4-17.46 72.76-31.59 88.83s-35.13 12.44-48 10.56-25.05-4.23-40.82-7.97zm63.69 40.5-108.89-22.46c-9.2-1.9-16.58 3.16-20 18.32-11.21 49.76 4.87 109.3 55.23 109.3 47.69 0 79.47-54.36 84.66-83.58 2.36-13.25-1.02-19.53-11-21.58z\"},\"child\":[]}]})(props);\n};\nexport function IoFootsteps (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M133.83 361.27c-22.61 0-41-8.17-54.79-24.39s-22.84-40.29-28.11-75.31c-7.76-51.61-.06-95.11 21.68-122.48 12.8-16.12 29.6-25.44 48.58-26.94 16.25-1.3 40.54 5.29 64 44 14.69 24.24 25.86 56.44 30.65 88.34 5.79 38.51 1.48 66.86-13.18 86.65-11.64 15.72-29.54 25.46-53.21 29a106.46 106.46 0 0 1-15.62 1.13zM173 496c-13.21 0-26.6-4.23-38.66-12.36a79.79 79.79 0 0 1-33.52-50.6c-2.85-14.66-1.14-26.31 5.22-35.64 10.33-15.15 28.87-18.56 48.49-22.18 2.07-.38 4.17-.76 6.3-1.17 4.52-.86 9.14-2 13.62-3.11 16.78-4.14 34.14-8.43 48.47 1.75 9.59 6.8 15 18.36 16.62 35.32 1.84 19.57-2.36 39.1-11.83 55-10.19 17.11-25.47 28.42-43 31.86A61 61 0 0 1 173 496zm205.17-230.73a106.69 106.69 0 0 1-15.6-1.2c-23.66-3.5-41.56-13.25-53.2-29-14.66-19.79-19-48.13-13.18-86.65 4.79-31.93 15.93-64.1 30.55-88.25 23.34-38.57 47.66-45.26 64-44.08 18.92 1.38 35.69 10.57 48.51 26.6 21.89 27.37 29.65 71 21.86 122.84-5.27 35-14.2 58.95-28.11 75.31s-32.22 24.43-54.83 24.43zM339 400a61 61 0 0 1-11.68-1.13c-17.56-3.44-32.84-14.75-43-31.86-9.47-15.9-13.67-35.43-11.83-55 1.6-17 7-28.52 16.62-35.33 14.33-10.17 31.69-5.89 48.47-1.74 4.48 1.1 9.1 2.24 13.62 3.11l6.29 1.17c19.63 3.61 38.17 7 48.5 22.17 6.36 9.33 8.07 21 5.22 35.64a79.78 79.78 0 0 1-33.52 50.61C365.56 395.78 352.17 400 339 400z\"},\"child\":[]}]})(props);\n};\nexport function IoFunnelOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m35.4 87.12 168.65 196.44A16.07 16.07 0 0 1 208 294v119.32a7.93 7.93 0 0 0 5.39 7.59l80.15 26.67A7.94 7.94 0 0 0 304 440V294a16.07 16.07 0 0 1 4-10.44L476.6 87.12A14 14 0 0 0 466 64H46.05A14 14 0 0 0 35.4 87.12z\"},\"child\":[]}]})(props);\n};\nexport function IoFunnelSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m0 48 192 240v128l128 48V288L512 48H0z\"},\"child\":[]}]})(props);\n};\nexport function IoFunnel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M296 464a23.88 23.88 0 0 1-7.55-1.23L208.3 436.1a23.92 23.92 0 0 1-16.3-22.78V294.11a.44.44 0 0 0-.09-.13L23.26 97.54A30 30 0 0 1 46.05 48H466a30 30 0 0 1 22.79 49.54L320.09 294a.77.77 0 0 0-.09.13V440a23.93 23.93 0 0 1-24 24z\"},\"child\":[]}]})(props);\n};\nexport function IoGameControllerOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M467.51 248.83c-18.4-83.18-45.69-136.24-89.43-149.17A91.5 91.5 0 0 0 352 96c-26.89 0-48.11 16-96 16s-69.15-16-96-16a99.09 99.09 0 0 0-27.2 3.66C89 112.59 61.94 165.7 43.33 248.83c-19 84.91-15.56 152 21.58 164.88 26 9 49.25-9.61 71.27-37 25-31.2 55.79-40.8 119.82-40.8s93.62 9.6 118.66 40.8c22 27.41 46.11 45.79 71.42 37.16 41.02-14.01 40.44-79.13 21.43-165.04z\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"292\",\"cy\":\"224\",\"r\":\"20\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M336 288a20 20 0 1 1 20-19.95A20 20 0 0 1 336 288z\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"336\",\"cy\":\"180\",\"r\":\"20\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"380\",\"cy\":\"224\",\"r\":\"20\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M160 176v96m48-48h-96\"},\"child\":[]}]})(props);\n};\nexport function IoGameControllerSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M478.07 356.88 439 151c-8.86-40.35-23-71-88-71H145c-66 0-79.14 30.65-88 71L18 356.88c-7 34.12 4.43 61.25 33.37 71.81S103 423 119.18 391.3l15.42-30.52a16 16 0 0 1 14.28-8.78h198.28a16 16 0 0 1 14.28 8.78l15.42 30.52c16.14 31.7 38.88 48 67.81 37.39S485 391 478.07 356.88zM224 240h-48v48h-32v-48H96v-32h48v-48h32v48h48zm68 4a20 20 0 1 1 20-20 20 20 0 0 1-20 20zm44 44a20 20 0 1 1 20-20 20 20 0 0 1-20 20zm0-88a20 20 0 1 1 20-20 20 20 0 0 1-20 20zm44 44a20 20 0 1 1 20-20 20 20 0 0 1-20 20z\"},\"child\":[]}]})(props);\n};\nexport function IoGameController (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M483.13 245.38C461.92 149.49 430 98.31 382.65 84.33A107.13 107.13 0 0 0 352 80c-13.71 0-25.65 3.34-38.28 6.88C298.5 91.15 281.21 96 256 96s-42.51-4.84-57.76-9.11C185.6 83.34 173.67 80 160 80a115.74 115.74 0 0 0-31.73 4.32c-47.1 13.92-79 65.08-100.52 161C4.61 348.54 16 413.71 59.69 428.83a56.62 56.62 0 0 0 18.64 3.22c29.93 0 53.93-24.93 70.33-45.34 18.53-23.1 40.22-34.82 107.34-34.82 59.95 0 84.76 8.13 106.19 34.82 13.47 16.78 26.2 28.52 38.9 35.91 16.89 9.82 33.77 12 50.16 6.37 25.82-8.81 40.62-32.1 44-69.24 2.57-28.48-1.39-65.89-12.12-114.37zM208 240h-32v32a16 16 0 0 1-32 0v-32h-32a16 16 0 0 1 0-32h32v-32a16 16 0 0 1 32 0v32h32a16 16 0 0 1 0 32zm84 4a20 20 0 1 1 20-20 20 20 0 0 1-20 20zm44 44a20 20 0 1 1 20-19.95A20 20 0 0 1 336 288zm0-88a20 20 0 1 1 20-20 20 20 0 0 1-20 20zm44 44a20 20 0 1 1 20-20 20 20 0 0 1-20 20z\"},\"child\":[]}]})(props);\n};\nexport function IoGiftOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M256 104v56h56a56 56 0 1 0-56-56zm0 0v56h-56a56 56 0 1 1 56-56z\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"384\",\"height\":\"112\",\"x\":\"64\",\"y\":\"160\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"32\",\"ry\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M416 272v144a48 48 0 0 1-48 48H144a48 48 0 0 1-48-48V272m160-112v304\"},\"child\":[]}]})(props);\n};\nexport function IoGiftSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M346 110a34 34 0 0 0-68 0v34h34a34 34 0 0 0 34-34zm-112 0a34 34 0 1 0-34 34h34z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M234 144h44v112h164a22 22 0 0 0 22-22v-68a22 22 0 0 0-22-22h-59.82A77.95 77.95 0 0 0 256 55.79 78 78 0 0 0 129.81 144H70a22 22 0 0 0-22 22v68a22 22 0 0 0 22 22h164zm44-34a34 34 0 1 1 34 34h-34zm-112 0a34 34 0 1 1 68 0v34h-34a34 34 0 0 1-34-34zm112 370h132a22 22 0 0 0 22-22V288H278zM80 458a22 22 0 0 0 22 22h132V288H80z\"},\"child\":[]}]})(props);\n};\nexport function IoGift (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M200 144h40v-40a40 40 0 1 0-40 40zm152-40a40 40 0 0 0-80 0v40h40a40 40 0 0 0 40-40z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M80 416a64 64 0 0 0 64 64h92a4 4 0 0 0 4-4V292a4 4 0 0 0-4-4H88a8 8 0 0 0-8 8zm160-164V144h32v108a4 4 0 0 0 4 4h140a47.93 47.93 0 0 0 16-2.75A48.09 48.09 0 0 0 464 208v-16a48 48 0 0 0-48-48h-40.54a2 2 0 0 1-1.7-3A72 72 0 0 0 256 58.82 72 72 0 0 0 138.24 141a2 2 0 0 1-1.7 3H96a48 48 0 0 0-48 48v16a48.09 48.09 0 0 0 32 45.25A47.93 47.93 0 0 0 96 256h140a4 4 0 0 0 4-4zm32-148a40 40 0 1 1 40 40h-40zm-74.86-39.9A40 40 0 0 1 240 104v40h-40a40 40 0 0 1-2.86-79.89zM276 480h92a64 64 0 0 0 64-64V296a8 8 0 0 0-8-8H276a4 4 0 0 0-4 4v184a4 4 0 0 0 4 4z\"},\"child\":[]}]})(props);\n};\nexport function IoGitBranchOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"160\",\"cy\":\"96\",\"r\":\"48\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"160\",\"cy\":\"416\",\"r\":\"48\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M160 368V144\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"352\",\"cy\":\"160\",\"r\":\"48\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M352 208c0 128-192 48-192 160\"},\"child\":[]}]})(props);\n};\nexport function IoGitBranchSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M352 96a64 64 0 0 0-58.86 89.11l-101.14 88V151.39a64 64 0 1 0-64 0v209.22a64 64 0 1 0 64 0V358l154.25-134.27c1.9.17 3.81.27 5.75.27a64 64 0 0 0 0-128zM160 64a32 32 0 1 1-32 32 32 32 0 0 1 32-32zm0 384a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm192-256a32 32 0 1 1 32-32 32 32 0 0 1-32 32z\"},\"child\":[]}]})(props);\n};\nexport function IoGitBranch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416 160a64 64 0 1 0-96.27 55.24c-2.29 29.08-20.08 37-75 48.42-17.76 3.68-35.93 7.45-52.71 13.93v-126.2a64 64 0 1 0-64 0v209.22a64 64 0 1 0 64.42.24c2.39-18 16-24.33 65.26-34.52 27.43-5.67 55.78-11.54 79.78-26.95 29-18.58 44.53-46.78 46.36-83.89A64 64 0 0 0 416 160zM160 64a32 32 0 1 1-32 32 32 32 0 0 1 32-32zm0 384a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm192-256a32 32 0 1 1 32-32 32 32 0 0 1-32 32z\"},\"child\":[]}]})(props);\n};\nexport function IoGitCommitOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"r\":\"96\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M160 256H48m416 0H352\"},\"child\":[]}]})(props);\n};\nexport function IoGitCommitSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M480 224H380a128 128 0 0 0-247.9 0H32v64h100.05A128 128 0 0 0 380 288h100zm-224 96a64 64 0 1 1 64-64 64.07 64.07 0 0 1-64 64z\"},\"child\":[]}]})(props);\n};\nexport function IoGitCommit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 224h-68a128 128 0 0 0-247.9 0H64a32 32 0 0 0 0 64h68.05A128 128 0 0 0 380 288h68a32 32 0 0 0 0-64zm-192 96a64 64 0 1 1 64-64 64.07 64.07 0 0 1-64 64z\"},\"child\":[]}]})(props);\n};\nexport function IoGitCompareOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m304 160-64-64 64-64m-97 320 64 64-64 64\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"112\",\"cy\":\"96\",\"r\":\"48\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"400\",\"cy\":\"416\",\"r\":\"48\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M256 96h84a60 60 0 0 1 60 60v212m-145 48h-84a60 60 0 0 1-60-60V144\"},\"child\":[]}]})(props);\n};\nexport function IoGitCompareSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M209 384h-37a28 28 0 0 1-28-28V152a64 64 0 1 0-64-1.16V356a92.1 92.1 0 0 0 92 92h37v55.21L294.39 416 209 328.79zM113 64a32 32 0 1 1-32 32 32 32 0 0 1 32-32zm319 296.61V156a92.1 92.1 0 0 0-92-92h-35V9.93L217.14 96 305 182.07V128h35a28 28 0 0 1 28 28v204.61a64 64 0 1 0 64 0zM400 448a32 32 0 1 1 32-32 32 32 0 0 1-32 32z\"},\"child\":[]}]})(props);\n};\nexport function IoGitCompare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M218.31 340.69A16 16 0 0 0 191 352v32h-20a28 28 0 0 1-28-28V152a64 64 0 1 0-64-1.16V356a92.1 92.1 0 0 0 92 92h20v32a16 16 0 0 0 27.31 11.31l64-64a16 16 0 0 0 0-22.62zM112 64a32 32 0 1 1-32 32 32 32 0 0 1 32-32zm320 296.61V156a92.1 92.1 0 0 0-92-92h-20V32a16 16 0 0 0-27.31-11.31l-64 64a16 16 0 0 0 0 22.62l64 64A16 16 0 0 0 320 160v-32h20a28 28 0 0 1 28 28v204.61a64 64 0 1 0 64 0zM400 448a32 32 0 1 1 32-32 32 32 0 0 1-32 32z\"},\"child\":[]}]})(props);\n};\nexport function IoGitMergeOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"129\",\"cy\":\"96\",\"r\":\"48\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"129\",\"cy\":\"416\",\"r\":\"48\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M129 144v224\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"385\",\"cy\":\"288\",\"r\":\"48\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M129 144c0 96 112 144 208 144\"},\"child\":[]}]})(props);\n};\nexport function IoGitMergeSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 224a63.66 63.66 0 0 0-37.95 12.5L160 153.36v-2a64 64 0 1 0-64 0v209.25a64 64 0 1 0 64 0V223.46l160.41 71.69A64 64 0 1 0 384 224zM128 64a32 32 0 1 1-32 32 32 32 0 0 1 32-32zm0 384a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm256-128a32 32 0 1 1 32-32 32 32 0 0 1-32 32z\"},\"child\":[]}]})(props);\n};\nexport function IoGitMerge (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M385 224a64 64 0 0 0-55.33 31.89c-42.23-1.21-85.19-12.72-116.21-31.33-32.2-19.32-49.71-44-52.15-73.35a64 64 0 1 0-64.31.18v209.22a64 64 0 1 0 64 0v-94.46c44.76 34 107.28 52.38 168.56 53.76A64 64 0 1 0 385 224zM129 64a32 32 0 1 1-32 32 32 32 0 0 1 32-32zm0 384a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm256-128a32 32 0 1 1 32-32 32 32 0 0 1-32 32z\"},\"child\":[]}]})(props);\n};\nexport function IoGitNetworkOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"128\",\"cy\":\"96\",\"r\":\"48\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"416\",\"r\":\"48\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M256 256v112\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"384\",\"cy\":\"96\",\"r\":\"48\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M128 144c0 74.67 68.92 112 128 112m128-112c0 74.67-68.92 112-128 112\"},\"child\":[]}]})(props);\n};\nexport function IoGitNetworkSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 32a64 64 0 0 0-57.67 91.73l-70.83 80.82-70.19-80.1A64 64 0 1 0 128 160c1.1 0 2.2 0 3.29-.08L224 265.7v94.91a64 64 0 1 0 64 0v-96.05l91.78-104.71c1.39.09 2.8.15 4.22.15a64 64 0 0 0 0-128zM96 96a32 32 0 1 1 32 32 32 32 0 0 1-32-32zm160 352a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm128-320a32 32 0 1 1 32-32 32 32 0 0 1-32 32z\"},\"child\":[]}]})(props);\n};\nexport function IoGitNetwork (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 96a64 64 0 1 0-96.31 55.21c-1.79 20.87-11.47 38.1-28.87 51.29C305.07 216 280.09 224 256 224s-49.07-8-66.82-21.5c-17.4-13.19-27.08-30.42-28.87-51.29a64 64 0 1 0-64.11.29c2.08 40.87 21.17 76.87 54.31 102C171.3 269.26 197 280.19 224 285.09v75.52a64 64 0 1 0 64 0v-75.52c27-4.9 52.7-15.83 73.49-31.59 33.14-25.13 52.23-61.13 54.31-102A64 64 0 0 0 448 96zM128 64a32 32 0 1 1-32 32 32 32 0 0 1 32-32zm128 384a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm128-320a32 32 0 1 1 32-32 32 32 0 0 1-32 32z\"},\"child\":[]}]})(props);\n};\nexport function IoGitPullRequestOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"128\",\"cy\":\"416\",\"r\":\"48\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M128 144v224m160-208-64-64 64-64\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"128\",\"cy\":\"96\",\"r\":\"48\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"384\",\"cy\":\"416\",\"r\":\"48\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M240 96h84a60 60 0 0 1 60 60v212\"},\"child\":[]}]})(props);\n};\nexport function IoGitPullRequestSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M192 96a64 64 0 1 0-97 54.81v209.8a64 64 0 1 0 64 0V152a64.06 64.06 0 0 0 33-56zm-64-32a32 32 0 1 1-32 32 32 32 0 0 1 32-32zm-1 384a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm289-87.39V156a92.1 92.1 0 0 0-92-92h-35V9.93L201.14 96 289 182.07V128h35a28 28 0 0 1 28 28v204.61a64 64 0 1 0 64 0zM384 448a32 32 0 1 1 32-32 32 32 0 0 1-32 32z\"},\"child\":[]}]})(props);\n};\nexport function IoGitPullRequest (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M192 96a64 64 0 1 0-96 55.39v209.22a64 64 0 1 0 64 0V151.39A64 64 0 0 0 192 96zm-64-32a32 32 0 1 1-32 32 32 32 0 0 1 32-32zm0 384a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm288-87.39V156a92.1 92.1 0 0 0-92-92h-20V32a16 16 0 0 0-27.31-11.31l-64 64a16 16 0 0 0 0 22.62l64 64A16 16 0 0 0 304 160v-32h20a28 28 0 0 1 28 28v204.61a64 64 0 1 0 64 0zM384 448a32 32 0 1 1 32-32 32 32 0 0 1-32 32z\"},\"child\":[]}]})(props);\n};\nexport function IoGlassesOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M224 232a32 32 0 0 1 64 0m160-32h16m-400 0H48m16 0c0 96 16 128 80 128s80-32 80-128c0 0-16-16-80-16s-80 16-80 16zm384 0c0 96-16 128-80 128s-80-32-80-128c0 0 16-16 80-16s80 16 80 16z\"},\"child\":[]}]})(props);\n};\nexport function IoGlassesSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496 176H16v64h21.24l12.44 112h171.87L240 241.32V240a16 16 0 0 1 32 0v1.32L290.45 352h171.87l12.44-112H496z\"},\"child\":[]}]})(props);\n};\nexport function IoGlasses (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 184h-10.9a78.72 78.72 0 0 0-16-7.18C419.5 171 396.26 168 368 168s-51.5 3-69.06 8.82c-14.06 4.69-20.25 9.86-22.25 11.87a47.94 47.94 0 0 0-41.36 0c-2-2-8.19-7.18-22.25-11.87C195.5 171 172.26 168 144 168s-51.5 3-69.06 8.82a78.72 78.72 0 0 0-16 7.18H48a16 16 0 0 0 0 32h.17c1 45.46 6.44 72.78 18.11 92.23a66.78 66.78 0 0 0 31.92 28c12.23 5.24 27.22 7.79 45.8 7.79 24.15 0 58.48-3.71 77.72-35.77 9.68-16.14 15.09-37.69 17.21-70.52A16 16 0 0 0 240 232a16 16 0 0 1 32 0 16 16 0 0 0 1.07 5.71c2.12 32.83 7.53 54.38 17.21 70.52a66.78 66.78 0 0 0 31.92 28c12.23 5.24 27.22 7.79 45.8 7.79 24.15 0 58.48-3.71 77.72-35.77 11.67-19.45 17.13-46.77 18.11-92.23h.17a16 16 0 0 0 0-32z\"},\"child\":[]}]})(props);\n};\nexport function IoGlobeOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M256 48C141.13 48 48 141.13 48 256s93.13 208 208 208 208-93.13 208-208S370.87 48 256 48z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M256 48c-58.07 0-112.67 93.13-112.67 208S197.93 464 256 464s112.67-93.13 112.67-208S314.07 48 256 48z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M117.33 117.33c38.24 27.15 86.38 43.34 138.67 43.34s100.43-16.19 138.67-43.34m0 277.34c-38.24-27.15-86.38-43.34-138.67-43.34s-100.43 16.19-138.67 43.34\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M256 48v416m208-208H48\"},\"child\":[]}]})(props);\n};\nexport function IoGlobeSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"44\",\"d\":\"M256 48C141.13 48 48 141.13 48 256s93.13 208 208 208 208-93.13 208-208S370.87 48 256 48z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"44\",\"d\":\"M256 48c-58.07 0-112.67 93.13-112.67 208S197.93 464 256 464s112.67-93.13 112.67-208S314.07 48 256 48z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"44\",\"d\":\"M117.33 121.33c38.24 27.15 86.38 43.34 138.67 43.34s100.43-16.19 138.67-43.34m0 269.34c-38.24-27.15-86.38-43.34-138.67-43.34s-100.43 16.19-138.67 43.34\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"44\",\"d\":\"M256 48v416m208-208H48\"},\"child\":[]}]})(props);\n};\nexport function IoGlobe (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M340.75 344.49c5.91-20.7 9.82-44.75 11.31-67.84a4.41 4.41 0 0 0-4.46-4.65h-71.06a4.43 4.43 0 0 0-4.47 4.39v55.3a4.44 4.44 0 0 0 4.14 4.38 273.51 273.51 0 0 1 59 11.39 4.45 4.45 0 0 0 5.54-2.97zm-17.17 32.82a260.05 260.05 0 0 0-46.6-9.09 4.42 4.42 0 0 0-4.91 4.29v65.24a4.47 4.47 0 0 0 6.76 3.7c15.9-9.27 29-24.84 40.84-45.43 1.94-3.36 4.89-9.15 6.67-12.69a4.29 4.29 0 0 0-2.76-6.02zm-88.29-8.91a256.85 256.85 0 0 0-46.56 8.82c-2.64.76-3.75 4.4-2.55 6.79 1.79 3.56 4 8.11 5.89 11.51 13 23 26.84 37.5 41.24 45.93a4.47 4.47 0 0 0 6.76-3.7v-65.27a4.16 4.16 0 0 0-4.78-4.08zm.31-96.4h-71.06a4.41 4.41 0 0 0-4.46 4.64c1.48 23.06 5.37 47.16 11.26 67.84a4.46 4.46 0 0 0 5.59 3 272.2 272.2 0 0 1 59-11.36 4.44 4.44 0 0 0 4.15-4.38V276.4a4.43 4.43 0 0 0-4.48-4.4zM277 143.78a235.8 235.8 0 0 0 46.5-9.14 4.3 4.3 0 0 0 2.76-6c-1.79-3.57-4.27-8.68-6.17-12.09-12.29-22-26.14-37.35-41.24-46a4.48 4.48 0 0 0-6.76 3.7v65.23a4.43 4.43 0 0 0 4.91 4.3zm-.46 96.22h71.06a4.39 4.39 0 0 0 4.46-4.58c-1.48-22.77-5.27-47.8-11.16-68.22a4.46 4.46 0 0 0-5.59-2.95c-19 5.74-38.79 10.43-59.09 12a4.4 4.4 0 0 0-4.15 4.32v55.11a4.4 4.4 0 0 0 4.47 4.32zM233.31 70.56c-15.42 8.57-29.17 24.43-41.47 46.37-1.91 3.41-4.19 8.11-6 11.67a4.31 4.31 0 0 0 2.76 6 225.42 225.42 0 0 0 46.54 9.17 4.43 4.43 0 0 0 4.91-4.29V74.26a4.49 4.49 0 0 0-6.74-3.7zm2.61 105.7c-20.3-1.55-40.11-6.24-59.09-12a4.46 4.46 0 0 0-5.59 2.95c-5.89 20.42-9.68 45.45-11.16 68.22a4.39 4.39 0 0 0 4.46 4.58h71.06a4.4 4.4 0 0 0 4.47-4.34v-55.09a4.4 4.4 0 0 0-4.15-4.32z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M414.39 97.61A224 224 0 1 0 97.61 414.39 224 224 0 1 0 414.39 97.61zM176.6 430.85a219.08 219.08 0 0 1-12.48-19.66c-2-3.69-4.84-9.26-6.73-13.13a7.29 7.29 0 0 0-10.31-3.16c-4.3 2.41-10 5.72-14.13 8.43a147.29 147.29 0 0 1-23.57-22.43 248.83 248.83 0 0 1 30.41-18.36c1.86-1 2.77-2.14 2.18-4.18a374.8 374.8 0 0 1-14.09-82.17 4.36 4.36 0 0 0-4.3-4.17H66.84a2 2 0 0 1-2-1.7A98.28 98.28 0 0 1 64 256a96.27 96.27 0 0 1 .86-14.29 2 2 0 0 1 2-1.7h56.74c2.29 0 4.17-1.32 4.29-3.63a372.71 372.71 0 0 1 14-81.83 4.36 4.36 0 0 0-2.19-5.11 260.63 260.63 0 0 1-29.84-17.9 169.82 169.82 0 0 1 23.14-22.8c4.08 2.68 9.4 5.71 13.66 8.11a7.89 7.89 0 0 0 11-3.42c1.88-3.87 4-8.18 6.06-11.88a221.93 221.93 0 0 1 12.54-19.91A185 185 0 0 1 256 64c28.94 0 55.9 7 80.53 18.46a202.23 202.23 0 0 1 12 19c2.59 4.66 5.34 10.37 7.66 15.32a4.29 4.29 0 0 0 5.92 1.94c5.38-2.91 11.21-6.26 16.34-9.63a171.36 171.36 0 0 1 23.2 23 244.89 244.89 0 0 1-29.06 17.31 4.35 4.35 0 0 0-2.18 5.12 348.68 348.68 0 0 1 13.85 81.4 4.33 4.33 0 0 0 4.3 4.12l56.62-.07a2 2 0 0 1 2 1.7 117.46 117.46 0 0 1 0 28.62 2 2 0 0 1-2 1.72h-56.67a4.35 4.35 0 0 0-4.3 4.17 367.4 367.4 0 0 1-13.87 81.3 4.45 4.45 0 0 0 2.19 5.19c5 2.59 10.57 5.48 15.37 8.42s9.55 6.08 14.13 9.34a172.73 172.73 0 0 1-23 22.93c-2.44-1.61-5.34-3.44-7.84-4.94-1.72-1-4.89-2.77-6.65-3.76-3.82-2.14-7.88-.54-9.79 3.4s-4.83 9.59-6.87 13.25a212.42 212.42 0 0 1-12.35 19.53C310.91 442.37 284.94 448 256 448s-54.77-5.63-79.4-17.15z\"},\"child\":[]}]})(props);\n};\nexport function IoGolfOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M256 400V32l176 80-176 80\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M256 336c-87 0-175.3 43.2-191.64 124.74C62.39 470.57 68.57 480 80 480h352c11.44 0 17.62-9.43 15.65-19.26C431.3 379.2 343 336 256 336z\"},\"child\":[]}]})(props);\n};\nexport function IoGolfSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M240 16v304.47q8-.47 16-.47t16 .47V202.3L448 112z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M462.91 457.5c-8.54-42.85-35-78.74-76.62-103.8-32.43-19.55-72.53-31.3-114.29-33.7v95.79h-32V320c-41.79 2.4-81.89 14.15-114.32 33.7-41.59 25.06-68.08 60.95-76.62 103.8-2 9.81-.68 38.5-.68 38.5h415.21s1.28-28.69-.68-38.5z\"},\"child\":[]}]})(props);\n};\nexport function IoGolf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M272 320.46V202.3l166.62-75.73a16 16 0 0 0 0-29.14l-176-80A16 16 0 0 0 240 32v288.46q8-.45 16-.46t16 .46z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M463.33 457.5c-8.56-42.85-35.11-78.74-76.78-103.8-32.5-19.55-72.67-31.3-114.55-33.7v79.75a16 16 0 1 1-32 0V320c-41.88 2.4-82.05 14.15-114.55 33.7-41.67 25.06-68.22 60.95-76.78 103.8a32.49 32.49 0 0 0 6.44 27.08C61.13 492 70 496 80 496h352c10 0 18.88-4.05 24.9-11.42a32.49 32.49 0 0 0 6.43-27.08z\"},\"child\":[]}]})(props);\n};\nexport function IoGridOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"176\",\"height\":\"176\",\"x\":\"48\",\"y\":\"48\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"20\",\"ry\":\"20\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"176\",\"height\":\"176\",\"x\":\"288\",\"y\":\"48\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"20\",\"ry\":\"20\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"176\",\"height\":\"176\",\"x\":\"48\",\"y\":\"288\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"20\",\"ry\":\"20\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"176\",\"height\":\"176\",\"x\":\"288\",\"y\":\"288\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"20\",\"ry\":\"20\"},\"child\":[]}]})(props);\n};\nexport function IoGridSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M240 240H32V32h208zm240 0H272V32h208zM240 480H32V272h208zm240 0H272V272h208z\"},\"child\":[]}]})(props);\n};\nexport function IoGrid (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M204 240H68a36 36 0 0 1-36-36V68a36 36 0 0 1 36-36h136a36 36 0 0 1 36 36v136a36 36 0 0 1-36 36zm240 0H308a36 36 0 0 1-36-36V68a36 36 0 0 1 36-36h136a36 36 0 0 1 36 36v136a36 36 0 0 1-36 36zM204 480H68a36 36 0 0 1-36-36V308a36 36 0 0 1 36-36h136a36 36 0 0 1 36 36v136a36 36 0 0 1-36 36zm240 0H308a36 36 0 0 1-36-36V308a36 36 0 0 1 36-36h136a36 36 0 0 1 36 36v136a36 36 0 0 1-36 36z\"},\"child\":[]}]})(props);\n};\nexport function IoHammerOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M277.42 247a24.68 24.68 0 0 0-4.08-5.47L255 223.44a21.63 21.63 0 0 0-6.56-4.57 20.93 20.93 0 0 0-23.28 4.27c-6.36 6.26-18 17.68-39 38.43C146 301.3 71.43 367.89 37.71 396.29a16 16 0 0 0-1.09 23.54l39 39.43a16.13 16.13 0 0 0 23.67-.89c29.24-34.37 96.3-109 136-148.23 20.39-20.06 31.82-31.58 38.29-37.94a21.76 21.76 0 0 0 3.84-25.2zm201.01-46-34.31-34a5.44 5.44 0 0 0-4-1.59 5.59 5.59 0 0 0-4 1.59h0a11.41 11.41 0 0 1-9.55 3.27c-4.48-.49-9.25-1.88-12.33-4.86-7-6.86 1.09-20.36-5.07-29a242.88 242.88 0 0 0-23.08-26.72c-7.06-7-34.81-33.47-81.55-52.53a123.79 123.79 0 0 0-47-9.24c-26.35 0-46.61 11.76-54 18.51-5.88 5.32-12 13.77-12 13.77a91.29 91.29 0 0 1 10.81-3.2 79.53 79.53 0 0 1 23.28-1.49C241.19 76.8 259.94 84.1 270 92c16.21 13 23.18 30.39 24.27 52.83.8 16.69-15.23 37.76-30.44 54.94a7.85 7.85 0 0 0 .4 10.83l21.24 21.23a8 8 0 0 0 11.14.1c13.93-13.51 31.09-28.47 40.82-34.46s17.58-7.68 21.35-8.09a35.71 35.71 0 0 1 21.3 4.62 13.65 13.65 0 0 1 3.08 2.38c6.46 6.56 6.07 17.28-.5 23.74l-2 1.89a5.5 5.5 0 0 0 0 7.84l34.31 34a5.5 5.5 0 0 0 4 1.58 5.65 5.65 0 0 0 4-1.58L478.43 209a5.82 5.82 0 0 0 0-8z\"},\"child\":[]}]})(props);\n};\nexport function IoHammerSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m294.28 256.9-54.42-54.41a12 12 0 0 0-17 0L12.45 401a12 12 0 0 0-.27 17.2l66.05 66.28a12 12 0 0 0 17.22-.23l198.81-210.36a12 12 0 0 0 .02-16.99zm205.05-57.57-43.89-43.58a21.46 21.46 0 0 0-15.28-6.26 21.89 21.89 0 0 0-12.79 4.14c0-.43.06-.85.09-1.22.45-6.5 1.15-16.32-5.2-25.22a258 258 0 0 0-24.8-28.74.6.6 0 0 0-.08-.08c-13.32-13.12-42.31-37.83-86.72-55.94A139.55 139.55 0 0 0 257.56 32C226 32 202 46.24 192.81 54.68A53.4 53.4 0 0 0 176 86.17L192 96s8.06-2 13.86-3.39a62.73 62.73 0 0 1 18.45-1.15c13.19 1.09 28.79 7.64 35.69 13.09 11.7 9.41 17.33 22.09 18.26 41.09.2 4.23-9.52 21.35-24.16 39.84a8 8 0 0 0 .61 10.62l45.37 45.37a8 8 0 0 0 11 .25c12.07-11 30.49-28 34.67-30.59 7.69-4.73 13.19-5.64 14.7-5.8a19.18 19.18 0 0 1 11.29 2.38 1.24 1.24 0 0 1-.31.95l-1.82 1.73-.3.28a21.52 21.52 0 0 0 .05 30.54l43.95 43.68a8 8 0 0 0 11.28 0l74.68-74.2a8 8 0 0 0 .06-11.36z\"},\"child\":[]}]})(props);\n};\nexport function IoHammer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m280.16 242.79-26.11-26.12a32 32 0 0 0-45.14-.12L27.38 384.08c-6.61 6.23-10.95 14.17-11.35 23.06a32.11 32.11 0 0 0 9.21 23.94l39 39.43a.46.46 0 0 0 .07.07A32.29 32.29 0 0 0 87 480h1.18c8.89-.33 16.85-4.5 23.17-11.17l168.7-180.7a32 32 0 0 0 .11-45.34zM490 190l-.31-.31-34.27-33.92a21.46 21.46 0 0 0-15.28-6.26 21.89 21.89 0 0 0-12.79 4.14c0-.43.06-.85.09-1.22.45-6.5 1.15-16.32-5.2-25.22a258 258 0 0 0-24.8-28.74.6.6 0 0 0-.08-.08c-13.32-13.12-42.31-37.83-86.72-55.94A139.55 139.55 0 0 0 257.56 32C226 32 202 46.24 192.81 54.68a119.92 119.92 0 0 0-14.18 16.22 16 16 0 0 0 18.65 24.34 74.45 74.45 0 0 1 8.58-2.63 63.46 63.46 0 0 1 18.45-1.15c13.19 1.09 28.79 7.64 35.69 13.09 11.7 9.41 17.33 22.09 18.26 41.09.18 3.82-7.72 18.14-20 34.48a16 16 0 0 0 1.45 21l34.41 34.41a16 16 0 0 0 22 .62c9.73-8.69 24.55-21.79 29.73-25 7.69-4.73 13.19-5.64 14.7-5.8a19.18 19.18 0 0 1 11.29 2.38 1.24 1.24 0 0 1-.31.95l-1.82 1.73-.3.28a21.52 21.52 0 0 0 .05 30.54l34.26 33.91a21.45 21.45 0 0 0 15.28 6.25 21.7 21.7 0 0 0 15.22-6.2l55.5-54.82c.19-.19.38-.39.56-.59A21.87 21.87 0 0 0 490 190z\"},\"child\":[]}]})(props);\n};\nexport function IoHandLeftOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M80 320V144a32 32 0 0 1 32-32h0a32 32 0 0 1 32 32v112m0 0V80a32 32 0 0 1 32-32h0a32 32 0 0 1 32 32v160m64 1V96a32 32 0 0 1 32-32h0a32 32 0 0 1 32 32v224m-128-80V48a32 32 0 0 1 32-32h0a32 32 0 0 1 32 32v192\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M80 320c0 117.4 64 176 152 176s123.71-39.6 144-88l52.71-144c6.66-18.05 3.64-34.79-11.87-43.6h0c-15.52-8.82-35.91-4.28-44.31 11.68L336 320\"},\"child\":[]}]})(props);\n};\nexport function IoHandLeftSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M429.58 209.08c-15.06-6.62-32.38 1.31-38.5 17.62L356 312h-11.27V80c0-17.6-13.3-32-29.55-32-16.26 0-29.55 14.4-29.55 32v151.75l-14.78.25V32c0-17.6-13.3-32-29.55-32s-29.55 14.4-29.55 32v199.75L197 232V64c0-17.6-13.3-32-29.55-32-16.26 0-29.55 14.4-29.55 32v183.75l-14.8.25V128c0-17.6-13.3-32-29.55-32S64 110.4 64 128v216c0 75.8 37.13 168 169 168 40.8 0 79.42-7 100.66-21a121.41 121.41 0 0 0 33.72-33.31 138 138 0 0 0 16-31.78l62.45-175.14c6.17-16.31-1.19-35.06-16.25-41.69z\"},\"child\":[]}]})(props);\n};\nexport function IoHandLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M432.8 211.44c-15.52-8.82-34.91-2.28-43.31 13.68l-41.38 84.41a7 7 0 0 1-8.93 3.43 7 7 0 0 1-4.41-6.52V72c0-13.91-12.85-24-26.77-24s-26 10.09-26 24v156.64A11.24 11.24 0 0 1 271.21 240 11 11 0 0 1 260 229V24c0-13.91-10.94-24-24.86-24S210 10.09 210 24v204.64A11.24 11.24 0 0 1 199.21 240 11 11 0 0 1 188 229V56c0-13.91-12.08-24-26-24s-26 11.09-26 25v187.64A11.24 11.24 0 0 1 125.21 256 11 11 0 0 1 114 245V120c0-13.91-11.08-24-25-24s-25.12 10.22-25 24v216c0 117.41 72 176 160 176h16c88 0 115.71-39.6 136-88l68.71-169c6.62-18 3.6-34.75-11.91-43.56z\"},\"child\":[]}]})(props);\n};\nexport function IoHandRightOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M432 320V144a32 32 0 0 0-32-32h0a32 32 0 0 0-32 32v112m0 0V80a32 32 0 0 0-32-32h0a32 32 0 0 0-32 32v160m-64 1V96a32 32 0 0 0-32-32h0a32 32 0 0 0-32 32v224m128-80V48a32 32 0 0 0-32-32h0a32 32 0 0 0-32 32v192\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M432 320c0 117.4-64 176-152 176s-123.71-39.6-144-88L83.33 264c-6.66-18.05-3.64-34.79 11.87-43.6h0c15.52-8.82 35.91-4.28 44.31 11.68L176 320\"},\"child\":[]}]})(props);\n};\nexport function IoHandRightSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M82.42 209.08c15.06-6.62 32.38 1.31 38.5 17.62L156 312h11.27V80c0-17.6 13.3-32 29.55-32 16.26 0 29.55 14.4 29.55 32v151.75l14.78.25V32c0-17.6 13.3-32 29.55-32 16.3 0 29.55 14.4 29.55 32v199.75L315 232V64c0-17.6 13.3-32 29.55-32 16.26 0 29.55 14.4 29.55 32v183.75l14.78.25V128c0-17.6 13.3-32 29.55-32C434.7 96 448 110.4 448 128v216c0 75.8-37.13 168-169 168-40.8 0-79.42-7-100.66-21a121.41 121.41 0 0 1-33.72-33.31 138 138 0 0 1-16-31.78L66.16 250.77c-6.11-16.31 1.2-35.06 16.26-41.69z\"},\"child\":[]}]})(props);\n};\nexport function IoHandRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M79.2 211.44c15.52-8.82 34.91-2.28 43.31 13.68l41.38 84.41a7 7 0 0 0 8.93 3.43 7 7 0 0 0 4.41-6.52V72c0-13.91 12.85-24 26.77-24s26 10.09 26 24v156.64A11.24 11.24 0 0 0 240.79 240 11 11 0 0 0 252 229V24c0-13.91 10.94-24 24.86-24S302 10.09 302 24v204.64A11.24 11.24 0 0 0 312.79 240 11 11 0 0 0 324 229V56c0-13.91 12.08-24 26-24s26 11.09 26 25v187.64A11.24 11.24 0 0 0 386.79 256 11 11 0 0 0 398 245V120c0-13.91 11.08-24 25-24s25.12 10.22 25 24v216c0 117.41-72 176-160 176h-16c-88 0-115.71-39.6-136-88L67.33 255c-6.66-18-3.64-34.75 11.87-43.56z\"},\"child\":[]}]})(props);\n};\nexport function IoHappyOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"184\",\"cy\":\"232\",\"r\":\"24\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M256.05 384c-45.42 0-83.62-29.53-95.71-69.83a8 8 0 0 1 7.82-10.17h175.69a8 8 0 0 1 7.82 10.17c-11.99 40.3-50.2 69.83-95.62 69.83z\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"328\",\"cy\":\"232\",\"r\":\"24\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"r\":\"208\",\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\"},\"child\":[]}]})(props);\n};\nexport function IoHappySharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M414.39 97.61A224 224 0 1 0 97.61 414.39 224 224 0 1 0 414.39 97.61zM328 208a24 24 0 1 1-24 24 23.94 23.94 0 0 1 24-24zm-144 0a24 24 0 1 1-24 24 23.94 23.94 0 0 1 24-24zm72.05 176c-45.42 0-83.75-29.49-95.72-69.83C159.29 310.65 158 304 158 304h196s-1.31 6.69-2.33 10.17c-11.78 40.36-50.2 69.83-95.62 69.83z\"},\"child\":[]}]})(props);\n};\nexport function IoHappy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M414.39 97.61A224 224 0 1 0 97.61 414.39 224 224 0 1 0 414.39 97.61zM184 208a24 24 0 1 1-24 24 23.94 23.94 0 0 1 24-24zm167.67 106.17c-12 40.3-50.2 69.83-95.62 69.83s-83.62-29.53-95.72-69.83a8 8 0 0 1 7.83-10.17h175.69a8 8 0 0 1 7.82 10.17zM328 256a24 24 0 1 1 24-24 23.94 23.94 0 0 1-24 24z\"},\"child\":[]}]})(props);\n};\nexport function IoHardwareChipOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"352\",\"height\":\"352\",\"x\":\"80\",\"y\":\"80\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"48\",\"ry\":\"48\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"224\",\"height\":\"224\",\"x\":\"144\",\"y\":\"144\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"16\",\"ry\":\"16\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M256 80V48m80 32V48M176 80V48m80 416v-32m80 32v-32m-160 32v-32m256-176h32m-32 80h32m-32-160h32M48 256h32m-32 80h32M48 176h32\"},\"child\":[]}]})(props);\n};\nexport function IoHardwareChipSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M160 160h192v192H160z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M480 198v-44h-32V88a24 24 0 0 0-24-24h-66V32h-44v32h-36V32h-44v32h-36V32h-44v32H88a24 24 0 0 0-24 24v66H32v44h32v36H32v44h32v36H32v44h32v66a24 24 0 0 0 24 24h66v32h44v-32h36v32h44v-32h36v32h44v-32h66a24 24 0 0 0 24-24v-66h32v-44h-32v-36h32v-44h-32v-36zm-352-70h256v256H128z\"},\"child\":[]}]})(props);\n};\nexport function IoHardwareChip (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M352 128H160a32 32 0 0 0-32 32v192a32 32 0 0 0 32 32h192a32 32 0 0 0 32-32V160a32 32 0 0 0-32-32zm0 216a8 8 0 0 1-8 8H168a8 8 0 0 1-8-8V168a8 8 0 0 1 8-8h176a8 8 0 0 1 8 8z\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"192\",\"height\":\"192\",\"x\":\"160\",\"y\":\"160\",\"rx\":\"8\",\"ry\":\"8\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M464 192a16 16 0 0 0 0-32h-16v-32a64.07 64.07 0 0 0-64-64h-32V48a16 16 0 0 0-32 0v16h-48V48a16 16 0 0 0-32 0v16h-48V48a16 16 0 0 0-32 0v16h-32a64.07 64.07 0 0 0-64 64v32H48a16 16 0 0 0 0 32h16v48H48a16 16 0 0 0 0 32h16v48H48a16 16 0 0 0 0 32h16v32a64.07 64.07 0 0 0 64 64h32v16a16 16 0 0 0 32 0v-16h48v16a16 16 0 0 0 32 0v-16h48v16a16 16 0 0 0 32 0v-16h32a64.07 64.07 0 0 0 64-64v-32h16a16 16 0 0 0 0-32h-16v-48h16a16 16 0 0 0 0-32h-16v-48zm-80 160a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h192a32 32 0 0 1 32 32z\"},\"child\":[]}]})(props);\n};\nexport function IoHeadsetOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M83 384c-13-33-35-93.37-35-128C48 141.12 149.33 48 256 48s208 93.12 208 208c0 34.63-23 97-35 128\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"m108.39 270.13-13.69 8c-30.23 17.7-31.7 72.41-3.38 122.2s75.87 75.81 106.1 58.12l13.69-8a16.16 16.16 0 0 0 5.78-21.87L130 276a15.74 15.74 0 0 0-21.61-5.87zm295.22 0 13.69 8c30.23 17.69 31.74 72.4 3.38 122.19s-75.87 75.81-106.1 58.12l-13.69-8a16.16 16.16 0 0 1-5.78-21.87L382 276a15.74 15.74 0 0 1 21.61-5.87z\"},\"child\":[]}]})(props);\n};\nexport function IoHeadsetSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M411.16 97.45C368.43 55.85 311.88 32 256 32S143.57 55.85 100.84 97.45C56.45 140.67 32 196 32 256s26.84 118.49 45.42 152.25S121 480 144 480c32 0 96-32 96-32L128 240l-54.42 31.73a176.07 176.07 0 0 1-1-18.84c0-48.57 19.32-94.1 56.15-130C164.24 88.34 210 70 256 70s91.73 18.34 127.27 52.93c36.83 35.86 56.14 81.39 56.14 130a175.56 175.56 0 0 1-1 18.82L384 240 272 448s64 32 96 32c23 0 48-38 66.58-71.75S480 316 480 256s-24.45-115.33-68.84-158.55z\"},\"child\":[]}]})(props);\n};\nexport function IoHeadset (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M411.16 97.46C368.43 55.86 311.88 32 256 32S143.57 55.86 100.84 97.46C56.45 140.67 32 197 32 256c0 26.67 8.75 61.09 32.88 125.55S137 473 157.27 477.41c5.81 1.27 12.62 2.59 18.73 2.59a60.06 60.06 0 0 0 30-8l14-8c15.07-8.82 19.47-28.13 10.8-43.35l-86.92-152.57a31.73 31.73 0 0 0-43.57-11.76l-13.69 8a56.49 56.49 0 0 0-14 11.59 4 4 0 0 1-7-2A114.68 114.68 0 0 1 64 256c0-50.31 21-98.48 59.16-135.61C160 84.55 208.39 64 256 64s96 20.55 132.84 56.39C427 157.52 448 205.69 448 256a114.68 114.68 0 0 1-1.68 17.91 4 4 0 0 1-7 2 56.49 56.49 0 0 0-14-11.59l-13.69-8a31.73 31.73 0 0 0-43.57 11.76L281.2 420.65c-8.67 15.22-4.27 34.53 10.8 43.35l14 8a60.06 60.06 0 0 0 30 8c6.11 0 12.92-1.32 18.73-2.59C375 473 423 446 447.12 381.55S480 282.67 480 256c0-59-24.45-115.33-68.84-158.54z\"},\"child\":[]}]})(props);\n};\nexport function IoHeartCircleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192 192-86 192-192z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M256 360a16 16 0 0 1-9-2.78c-39.3-26.68-56.32-45-65.7-56.41-20-24.37-29.58-49.4-29.3-76.5.31-31.06 25.22-56.33 55.53-56.33 20.4 0 35 10.63 44.1 20.41a6 6 0 0 0 8.72 0c9.11-9.78 23.7-20.41 44.1-20.41 30.31 0 55.22 25.27 55.53 56.33.28 27.1-9.31 52.13-29.3 76.5-9.38 11.44-26.4 29.73-65.7 56.41A16 16 0 0 1 256 360z\"},\"child\":[]}]})(props);\n};\nexport function IoHeartCircleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm74.69 252.82c-8.5 10.36-39.69 38.48-74.69 63.51-35-25-66.19-53.15-74.69-63.51-20-24.37-29.58-49.4-29.3-76.5.31-31.06 25.22-56.33 55.53-56.33 22 0 37.3 12.41 46.19 22.76l2.27 2.75 2.27-2.75C267 180.29 282.42 168 304.46 168c30.31 0 55.22 25.27 55.53 56.33.28 27.09-9.31 52.12-29.3 76.49z\"},\"child\":[]}]})(props);\n};\nexport function IoHeartCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm74.69 252.82c-9.38 11.44-26.4 29.73-65.7 56.41a15.93 15.93 0 0 1-18 0c-39.3-26.68-56.32-45-65.7-56.41-20-24.37-29.58-49.4-29.3-76.5.31-31.06 25.22-56.33 55.53-56.33 20.4 0 35 10.63 44.1 20.41a6 6 0 0 0 8.72 0c9.11-9.78 23.7-20.41 44.1-20.41 30.31 0 55.22 25.27 55.53 56.33.3 27.1-9.29 52.13-29.28 76.5z\"},\"child\":[]}]})(props);\n};\nexport function IoHeartDislikeCircleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192 192-86 192-192z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M333.2 297.69c18.28-23.39 27.06-47.43 26.79-73.37-.31-31.06-25.22-56.33-55.53-56.33-20.4 0-35 10.64-44.11 20.42a5.93 5.93 0 0 1-8.7 0c-9.11-9.78-23.71-20.42-44.11-20.42L206 168a4 4 0 0 0-2.75 6.84l124 123.21a3.92 3.92 0 0 0 5.95-.36zM158.84 221a4 4 0 0 0-6.82 2.72v.64c-.28 27.1 9.31 52.13 29.3 76.5 9.38 11.44 26.4 29.73 65.7 56.41a15.93 15.93 0 0 0 18 0c5.15-3.49 9.9-6.84 14.31-10a4 4 0 0 0 .46-6.07zM336 368a15.92 15.92 0 0 1-11.31-4.69l-176-176a16 16 0 0 1 22.62-22.62l176 176A16 16 0 0 1 336 368z\"},\"child\":[]}]})(props);\n};\nexport function IoHeartDislikeCircleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm63.73 310.36-183.14-182.3 22.74-22.51 183.19 182.36zm-63.51 4.86c-35.36-25-66.31-51.92-74.91-62.4-20-24.37-29.58-49.4-29.3-76.5a58.27 58.27 0 0 1 .85-9.31l130.21 129.4c-3.43 2.59-16.21 11.45-26.85 18.81zm74.47-62.4-.31.38L197.33 169a53.8 53.8 0 0 1 10.21-1 59.34 59.34 0 0 1 44.1 19.41L256 192l4.36-4.6a59.34 59.34 0 0 1 44.1-19.4c30.31 0 55.22 25.27 55.53 56.33.28 27.09-9.31 52.12-29.3 76.49z\"},\"child\":[]}]})(props);\n};\nexport function IoHeartDislikeCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm23.3 299.19c-4.41 3.2-9.16 6.55-14.31 10a15.93 15.93 0 0 1-18 0c-39.3-26.68-56.32-45-65.7-56.41-20-24.37-29.58-49.4-29.3-76.5v-.64a4 4 0 0 1 6.82-2.72l120.95 120.2a4 4 0 0 1-.46 6.07zm68 16.12a16 16 0 0 1-22.62 0l-176-176a16 16 0 0 1 22.62-22.62l176 176a16 16 0 0 1 .01 22.62zm-14.1-65.62a3.92 3.92 0 0 1-6 .37l-124-123.21A4 4 0 0 1 206 168h1.55c20.4 0 35 10.64 44.11 20.42a5.93 5.93 0 0 0 8.7 0c9.11-9.78 23.71-20.42 44.11-20.42 30.31 0 55.22 25.27 55.53 56.33.26 25.93-8.52 49.97-26.8 73.36z\"},\"child\":[]}]})(props);\n};\nexport function IoHeartDislikeOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M417.84 448a15.94 15.94 0 0 1-11.35-4.72L40.65 75.26a16 16 0 0 1 22.7-22.56l365.83 368a16 16 0 0 1-11.34 27.3zM364.92 80c-48.09 0-80 29.55-96.92 51-16.88-21.48-48.83-51-96.92-51a107.37 107.37 0 0 0-31 4.55L168 112c22.26 0 45.81 9 63.94 26.67a123 123 0 0 1 21.75 28.47 16 16 0 0 0 28.6 0 123 123 0 0 1 21.77-28.51C322.19 121 342.66 112 364.92 112c43.15 0 78.62 36.33 79.07 81 .54 53.69-22.75 99.55-57.38 139.52l22.63 22.77c3-3.44 5.7-6.64 8.14-9.6 40-48.75 59.15-98.8 58.61-153C475.37 130.52 425.54 80 364.92 80zM268 432C180.38 372.51 91 297.6 92 193a83.69 83.69 0 0 1 2.24-18.39L69 149.14a115.1 115.1 0 0 0-9 43.49c-.54 54.22 18.63 104.27 58.61 153 18.77 22.87 52.8 59.45 131.39 112.8a31.84 31.84 0 0 0 36 0c20.35-13.81 37.7-26.5 52.58-38.11l-22.66-22.81C300.25 409.6 284.09 421.05 268 432z\"},\"child\":[]}]})(props);\n};\nexport function IoHeartDislikeSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m32 64.45 389.47 389.94 22.84-22.47L54.85 42 32 64.45zm30.67 128.46c-.56 55.63 19.77 106.94 62.16 156.88 40.25 47.42 94.56 79.67 137.47 108.21l9 6 9-6c18.49-12.3 39.1-25.3 59.79-39.89L71.74 149.28a114.62 114.62 0 0 0-9.07 43.63zm355.16 156.88c42.39-49.94 62.72-101.25 62.16-156.88-.63-62-50.61-112.54-111.43-112.54-48.26 0-80.35 28-97.23 48.17-16.88-20.2-49-48.17-97.23-48.17A108.24 108.24 0 0 0 142.84 85l270 270.48c1.71-1.89 3.37-3.78 4.99-5.69z\"},\"child\":[]}]})(props);\n};\nexport function IoHeartDislike (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M417.84 448a16 16 0 0 1-11.35-4.72l-365.84-368a16 16 0 1 1 22.7-22.56l365.83 368A16 16 0 0 1 417.84 448zM364.92 80c-44.09 0-74.61 24.82-92.39 45.5a6 6 0 0 1-9.06 0C245.69 104.82 215.16 80 171.08 80a107.71 107.71 0 0 0-31 4.54l269.13 270.7c3-3.44 5.7-6.64 8.14-9.6 40-48.75 59.15-98.79 58.61-153C475.37 130.53 425.54 80 364.92 80zM69 149.15a115.06 115.06 0 0 0-9 43.49c-.54 54.21 18.63 104.25 58.61 153 18.77 22.87 52.8 59.45 131.39 112.8a31.88 31.88 0 0 0 36 0c20.35-13.82 37.7-26.5 52.58-38.12z\"},\"child\":[]}]})(props);\n};\nexport function IoHeartHalfOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M352.92 64c-48.09 0-80 29.54-96.92 51-16.88-21.49-48.83-51-96.92-51C98.46 64 48.63 114.54 48 176.65c-.54 54.21 18.63 104.27 58.61 153 18.77 22.88 52.8 59.46 131.39 112.81a31.84 31.84 0 0 0 36 0c78.59-53.35 112.62-89.93 131.39-112.81 40-48.74 59.15-98.8 58.61-153C463.37 114.54 413.54 64 352.92 64zM256 416V207.58c0-19.63 5.23-38.76 14.21-56.22a1.19 1.19 0 0 1 .08-.16 123 123 0 0 1 21.77-28.51C310.19 105 330.66 96 352.92 96c43.15 0 78.62 36.32 79.07 81C433 281.61 343.63 356.51 256 416z\"},\"child\":[]}]})(props);\n};\nexport function IoHeartHalfSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M352.92 64c-48.11 0-80.1 28-96.92 48.21C239.18 92 207.19 64 159.08 64 98.46 64 48.63 114.54 48 176.65c-.56 55.68 19.71 107 62 157 40.12 47.46 94.25 79.75 137 108.32l9 6 9-6c42.78-28.57 96.91-60.86 137-108.32 42.25-50 62.52-101.35 62-157C463.37 114.54 413.54 64 352.92 64zm24.67 249c-31.78 37.6-74.68 65.75-112.52 90.59l-9.07 6V162.23l24.59-29.54C294.53 116 318.38 96 352.92 96c43.15 0 78.62 36.32 79.07 81a178.63 178.63 0 0 1-12.69 68.59c-9.03 22.84-22.67 44.91-41.71 67.41z\"},\"child\":[]}]})(props);\n};\nexport function IoHeartHalf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M352.92 64c-48.09 0-80 29.54-96.92 51-16.88-21.49-48.83-51-96.92-51C98.46 64 48.63 114.54 48 176.65c-.54 54.21 18.63 104.27 58.61 153 18.77 22.88 52.8 59.46 131.39 112.81a31.84 31.84 0 0 0 36 0c78.59-53.35 112.62-89.93 131.39-112.81 40-48.74 59.15-98.8 58.61-153C463.37 114.54 413.54 64 352.92 64zM256 416V207.58c0-19.63 5.23-38.76 14.21-56.22a1.19 1.19 0 0 1 .08-.16 123 123 0 0 1 21.77-28.51C310.19 105 330.66 96 352.92 96c43.15 0 78.62 36.32 79.07 81C433 281.61 343.63 356.51 256 416z\"},\"child\":[]}]})(props);\n};\nexport function IoHeartOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M352.92 80C288 80 256 144 256 144s-32-64-96.92-64c-52.76 0-94.54 44.14-95.08 96.81-1.1 109.33 86.73 187.08 183 252.42a16 16 0 0 0 18 0c96.26-65.34 184.09-143.09 183-252.42-.54-52.67-42.32-96.81-95.08-96.81z\"},\"child\":[]}]})(props);\n};\nexport function IoHeartSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m256 448-9-6c-42.78-28.57-96.91-60.86-137-108.32-42.25-50-62.52-101.35-62-157C48.63 114.54 98.46 64 159.08 64c48.11 0 80.1 28 96.92 48.21C272.82 92 304.81 64 352.92 64c60.62 0 110.45 50.54 111.08 112.65.56 55.68-19.71 107-62 157-40.09 47.49-94.22 79.78-137 108.35z\"},\"child\":[]}]})(props);\n};\nexport function IoHeart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 448a32 32 0 0 1-18-5.57c-78.59-53.35-112.62-89.93-131.39-112.8-40-48.75-59.15-98.8-58.61-153C48.63 114.52 98.46 64 159.08 64c44.08 0 74.61 24.83 92.39 45.51a6 6 0 0 0 9.06 0C278.31 88.81 308.84 64 352.92 64c60.62 0 110.45 50.52 111.08 112.64.54 54.21-18.63 104.26-58.61 153-18.77 22.87-52.8 59.45-131.39 112.8a32 32 0 0 1-18 5.56z\"},\"child\":[]}]})(props);\n};\nexport function IoHelpBuoyOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"r\":\"208\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"r\":\"80\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m208 54 8 132m80 0 8-132m-96 404 8-132m80 0 8 132m154-250-132 8m0 80 132 8M54 208l132 8m0 80-132 8\"},\"child\":[]}]})(props);\n};\nexport function IoHelpBuoySharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 32C132.29 32 32 132.29 32 256s100.29 224 224 224 224-100.29 224-224S379.71 32 256 32zm-64 224a64 64 0 1 1 64 64 64 64 0 0 1-64-64zm237.24-62.29L342.91 199a104.86 104.86 0 0 0-29.86-29.86l5.24-86.33a185 185 0 0 1 111 111zm-303.35-67.82a183.44 183.44 0 0 1 67.82-43.13l5.29 86.33A104.86 104.86 0 0 0 169.09 199l-86.33-5.24a183.44 183.44 0 0 1 43.13-67.87zm-43.13 192.4 86.33-5.24A104.86 104.86 0 0 0 199 342.91l-5.24 86.33a185 185 0 0 1-111-110.95zm303.35 67.82a183.44 183.44 0 0 1-67.82 43.13l-5.24-86.33a104.86 104.86 0 0 0 29.86-29.86l86.33 5.24a183.44 183.44 0 0 1-43.13 67.82z\"},\"child\":[]}]})(props);\n};\nexport function IoHelpBuoy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M414.39 97.61A224 224 0 1 0 97.61 414.39 224 224 0 1 0 414.39 97.61zM192.13 260.18a64 64 0 1 1 59.69 59.69 64.07 64.07 0 0 1-59.69-59.69zm240-66.64-96.37 5.84a4.06 4.06 0 0 1-3.44-1.59 96 96 0 0 0-18.07-18.07 4.06 4.06 0 0 1-1.59-3.44l5.84-96.37a4 4 0 0 1 5.42-3.51A193 193 0 0 1 435.6 188.12a4 4 0 0 1-3.51 5.42zM193.54 79.91l5.84 96.37a4.06 4.06 0 0 1-1.59 3.44 96 96 0 0 0-18.07 18.07 4.06 4.06 0 0 1-3.44 1.59l-96.37-5.84a4 4 0 0 1-3.51-5.42A193 193 0 0 1 188.12 76.4a4 4 0 0 1 5.42 3.51zM79.91 318.46l96.37-5.84a4.06 4.06 0 0 1 3.44 1.59 96 96 0 0 0 18.07 18.07 4.06 4.06 0 0 1 1.59 3.44l-5.84 96.37a4 4 0 0 1-5.42 3.51A193 193 0 0 1 76.4 323.88a4 4 0 0 1 3.51-5.42zm238.55 113.63-5.84-96.37a4.06 4.06 0 0 1 1.59-3.44 96 96 0 0 0 18.07-18.07 4.06 4.06 0 0 1 3.44-1.59l96.37 5.84a4 4 0 0 1 3.51 5.42A193 193 0 0 1 323.88 435.6a4 4 0 0 1-5.42-3.51z\"},\"child\":[]}]})(props);\n};\nexport function IoHelpCircleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M256 80a176 176 0 1 0 176 176A176 176 0 0 0 256 80z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"28\",\"d\":\"M200 202.29s.84-17.5 19.57-32.57C230.68 160.77 244 158.18 256 158c10.93-.14 20.69 1.67 26.53 4.45 10 4.76 29.47 16.38 29.47 41.09 0 26-17 37.81-36.37 50.8S251 281.43 251 296\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"250\",\"cy\":\"348\",\"r\":\"20\"},\"child\":[]}]})(props);\n};\nexport function IoHelpCircleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M288.55 150.84c-8.09-3.86-20-6-32.72-5.82-18 .22-33.13 5.2-45 14.78-23 18.48-24.55 40.37-24.77 42.8a61.69 61.69 0 0 0-.09 12 3 3 0 0 0 3 2.69h21.23a3 3 0 0 0 3-3A65.7 65.7 0 0 1 214 204c0-.11 1.14-11.7 14.36-22.34 7-5.64 16.11-8.44 27.83-8.59 9.32-.11 16.93 1.47 20.34 3.09C291 183 298 192.31 298 204.57c0 18-10.9 26.23-30.18 39.18C247.08 257.68 237 275.1 237 297v11a3 3 0 0 0 3 3h22a3 3 0 0 0 3-3v-11c0-9.16 2.23-19.13 18.44-30 19.95-13.41 42.56-28.6 42.56-62.43 0-23.14-13.3-42.23-37.45-53.73z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M256 64C150 64 64 150 64 256s86 192 192 192 192-86 192-192S362 64 256 64zm10.44 302h-30.21a2.57 2.57 0 0 1-2.56-2.57v-30.2a2.57 2.57 0 0 1 2.56-2.57h30.21a2.57 2.57 0 0 1 2.56 2.57v30.2a2.57 2.57 0 0 1-2.56 2.57zm17-99C267.23 277.88 265 287.85 265 297v11a3 3 0 0 1-3 3h-22a3 3 0 0 1-3-3v-11c0-21.91 10.08-39.33 30.82-53.26C287.1 230.8 298 222.6 298 204.57c0-12.26-7-21.57-21.49-28.46-3.41-1.62-11-3.2-20.34-3.09-11.72.15-20.82 2.95-27.83 8.59C215.12 192.25 214 203.84 214 204a65.7 65.7 0 0 0-.84 10.28 3 3 0 0 1-3 3h-21.25a3 3 0 0 1-3-2.69 61.69 61.69 0 0 1 .09-12c.22-2.43 1.8-24.32 24.77-42.8 11.91-9.58 27.06-14.56 45-14.78 12.7-.15 24.63 2 32.72 5.82 24.21 11.51 37.51 30.6 37.51 53.74 0 33.83-22.61 49.02-42.56 62.43z\"},\"child\":[]}]})(props);\n};\nexport function IoHelpCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 64C150 64 64 150 64 256s86 192 192 192 192-86 192-192S362 64 256 64zm-6 304a20 20 0 1 1 20-20 20 20 0 0 1-20 20zm33.44-102C267.23 276.88 265 286.85 265 296a14 14 0 0 1-28 0c0-21.91 10.08-39.33 30.82-53.26C287.1 229.8 298 221.6 298 203.57c0-12.26-7-21.57-21.49-28.46-3.41-1.62-11-3.2-20.34-3.09-11.72.15-20.82 2.95-27.83 8.59C215.12 191.25 214 202.83 214 203a14 14 0 1 1-28-1.35c.11-2.43 1.8-24.32 24.77-42.8 11.91-9.58 27.06-14.56 45-14.78 12.7-.15 24.63 2 32.72 5.82C312.7 161.34 326 180.43 326 203.57c0 33.83-22.61 49.02-42.56 62.43z\"},\"child\":[]}]})(props);\n};\nexport function IoHelpOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"40\",\"d\":\"M160 164s1.44-33 33.54-59.46C212.6 88.83 235.49 84.28 256 84c18.73-.23 35.47 2.94 45.48 7.82C318.59 100.2 352 120.6 352 164c0 45.67-29.18 66.37-62.35 89.18S248 298.36 248 324\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"248\",\"cy\":\"399.99\",\"r\":\"32\"},\"child\":[]}]})(props);\n};\nexport function IoHelpSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"40\",\"d\":\"M160 164c0-10 1.44-33 33.54-59.46C212.6 88.83 235.49 84.28 256 84c18.73-.23 35.47 2.94 45.48 7.82C318.59 100.2 352 120.6 352 164c0 45.67-29.18 66.37-62.35 89.18S248 290.36 248 316\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"56\",\"height\":\"56\",\"x\":\"220\",\"y\":\"368\",\"rx\":\"3.5\",\"ry\":\"3.5\"},\"child\":[]}]})(props);\n};\nexport function IoHelp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"40\",\"d\":\"M160 164s1.44-33 33.54-59.46C212.6 88.83 235.49 84.28 256 84c18.73-.23 35.47 2.94 45.48 7.82C318.59 100.2 352 120.6 352 164c0 45.67-29.18 66.37-62.35 89.18S248 298.36 248 324\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"248\",\"cy\":\"399.99\",\"r\":\"32\"},\"child\":[]}]})(props);\n};\nexport function IoHomeOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M80 212v236a16 16 0 0 0 16 16h96V328a24 24 0 0 1 24-24h80a24 24 0 0 1 24 24v136h96a16 16 0 0 0 16-16V212\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M480 256 266.89 52c-5-5.28-16.69-5.34-21.78 0L32 256m368-77V64h-48v69\"},\"child\":[]}]})(props);\n};\nexport function IoHomeSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416 174.74V48h-80v58.45L256 32 0 272h64v208h144V320h96v160h144V272h64l-96-97.26z\"},\"child\":[]}]})(props);\n};\nexport function IoHome (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M261.56 101.28a8 8 0 0 0-11.06 0L66.4 277.15a8 8 0 0 0-2.47 5.79L63.9 448a32 32 0 0 0 32 32H192a16 16 0 0 0 16-16V328a8 8 0 0 1 8-8h80a8 8 0 0 1 8 8v136a16 16 0 0 0 16 16h96.06a32 32 0 0 0 32-32V282.94a8 8 0 0 0-2.47-5.79z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"m490.91 244.15-74.8-71.56V64a16 16 0 0 0-16-16h-48a16 16 0 0 0-16 16v32l-57.92-55.38C272.77 35.14 264.71 32 256 32c-8.68 0-16.72 3.14-22.14 8.63l-212.7 203.5c-6.22 6-7 15.87-1.34 22.37A16 16 0 0 0 43 267.56L250.5 69.28a8 8 0 0 1 11.06 0l207.52 198.28a16 16 0 0 0 22.59-.44c6.14-6.36 5.63-16.86-.76-22.97z\"},\"child\":[]}]})(props);\n};\nexport function IoHourglassOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M145.61 464h220.78c19.8 0 35.55-16.29 33.42-35.06C386.06 308 304 310 304 256s83.11-51 95.8-172.94c2-18.78-13.61-35.06-33.41-35.06H145.61c-19.8 0-35.37 16.28-33.41 35.06C124.89 205 208 201 208 256s-82.06 52-95.8 172.94c-2.14 18.77 13.61 35.06 33.41 35.06z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M343.3 432H169.13c-15.6 0-20-18-9.06-29.16C186.55 376 240 356.78 240 326V224c0-19.85-38-35-61.51-67.2-3.88-5.31-3.49-12.8 6.37-12.8h142.73c8.41 0 10.23 7.43 6.4 12.75C310.82 189 272 204.05 272 224v102c0 30.53 55.71 47 80.4 76.87 9.95 12.04 6.47 29.13-9.1 29.13z\"},\"child\":[]}]})(props);\n};\nexport function IoHourglassSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416 32H96v112l108 112L96 368v112h320V368L308 256l108-112zM272 224v112l91 96H148l92-96V224l-80-80h192z\"},\"child\":[]}]})(props);\n};\nexport function IoHourglass (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M415.7 427.13c-8.74-76.89-43.83-108.76-69.46-132C328.52 279 320 270.61 320 256c0-14.41 8.49-22.64 26.16-38.44 25.93-23.17 61.44-54.91 69.56-132.84a47 47 0 0 0-12-36.26A50.3 50.3 0 0 0 366.39 32H145.61a50.34 50.34 0 0 0-37.39 16.46 47.05 47.05 0 0 0-11.94 36.26c8.09 77.68 43.47 109.19 69.3 132.19C183.42 232.8 192 241.09 192 256c0 15.1-8.6 23.56-26.5 39.75-25.5 23.1-60.5 54.73-69.2 131.38a46.59 46.59 0 0 0 11.7 36.2A50.44 50.44 0 0 0 145.61 480h220.78A50.44 50.44 0 0 0 404 463.33a46.59 46.59 0 0 0 11.7-36.2zM343.3 432H169.13c-15.6 0-20-18-9.06-29.16C186.55 376 240 356.78 240 326V224c0-19.85-38-35-61.51-67.2-3.88-5.31-3.49-12.8 6.37-12.8h142.73c8.41 0 10.22 7.43 6.4 12.75C310.82 189 272 204.05 272 224v102c0 30.53 55.71 47 80.4 76.87 9.95 12.04 6.47 29.13-9.1 29.13z\"},\"child\":[]}]})(props);\n};\nexport function IoIceCreamOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m352 256-96 224-62-145\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M299.42 223.48C291.74 239.75 275.18 252 256 252c-13.1 0-27-5-33.63-9.76C216.27 237.87 208 240 208 250v62a24.07 24.07 0 0 1-24 24h0a24.07 24.07 0 0 1-24-24v-56h-2c-35.35 0-62-28.65-62-64a64 64 0 0 1 64-64h8v-8a88 88 0 0 1 176 0v8h8a64 64 0 0 1 0 128c-21.78 0-42-13-52.59-32.51z\"},\"child\":[]}]})(props);\n};\nexport function IoIceCreamSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M359.72 112.37a104 104 0 0 0-207.44 0A80.12 80.12 0 0 0 80 192c0 39.36 26.37 71.23 62.38 78.46a2 2 0 0 1 1.62 2v38.83c0 21.84 17.2 40.22 39 40.74a40 40 0 0 0 41-40v-47.84a2 2 0 0 1 2.72-1.86A83.47 83.47 0 0 0 256 268a63.18 63.18 0 0 0 42.24-16.59 2 2 0 0 1 2.74 0A74.63 74.63 0 0 0 352 272a80 80 0 0 0 7.72-159.63z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M256 300v12a72.1 72.1 0 0 1-58.21 70.64L256 496l92.06-192.08a105.29 105.29 0 0 1-49.18-14.36A93.75 93.75 0 0 1 256 300z\"},\"child\":[]}]})(props);\n};\nexport function IoIceCream (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M183 352c-21.84-.52-39-18.9-39-40.74v-34.07a8 8 0 0 0-6-7.74c-33.75-8.85-58-39.71-58-77.45a80.14 80.14 0 0 1 66.27-78.82 8 8 0 0 0 6.62-6.83 104 104 0 0 1 206.22 0 8 8 0 0 0 6.62 6.83A80 80 0 0 1 352 272a74.33 74.33 0 0 1-47.45-17.41 7.93 7.93 0 0 0-9.92-.14A62.89 62.89 0 0 1 256 268a80.47 80.47 0 0 1-21.8-3.18 8 8 0 0 0-10.2 7.69V312a40 40 0 0 1-41 40z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M263.39 299.7a8 8 0 0 0-7.39 7.91V312a72.11 72.11 0 0 1-50.69 68.76 8 8 0 0 0-4.91 10.78l40.91 94.8A16 16 0 0 0 256 496a16 16 0 0 0 14.69-9.7l73.78-172.15a8 8 0 0 0-6.2-11.07 106.31 106.31 0 0 1-35.9-11.59 8 8 0 0 0-7.13-.2 95 95 0 0 1-31.85 8.41z\"},\"child\":[]}]})(props);\n};\nexport function IoIdCardOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"320\",\"height\":\"448\",\"x\":\"96\",\"y\":\"32\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"48\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M208 80h96\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M333.48 284.51A39.65 39.65 0 0 0 304 272c-11.6 0-22.09 4.41-29.54 12.43s-11.2 19.12-10.34 31C265.83 338.91 283.72 358 304 358s38.14-19.09 39.87-42.55c.88-11.78-2.82-22.77-10.39-30.94zM371.69 448H236.31a12.05 12.05 0 0 1-9.31-4.17 13 13 0 0 1-2.76-10.92c3.25-17.56 13.38-32.31 29.3-42.66C267.68 381.06 285.6 376 304 376s36.32 5.06 50.46 14.25c15.92 10.35 26.05 25.1 29.3 42.66a13 13 0 0 1-2.76 10.92 12.05 12.05 0 0 1-9.31 4.17z\"},\"child\":[]}]})(props);\n};\nexport function IoIdCardSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M408 16H104a24 24 0 0 0-24 24v432a24 24 0 0 0 24 24h304a24 24 0 0 0 24-24V40a24 24 0 0 0-24-24zm-61.1 296.77a43 43 0 1 1-40.71-40.71 43 43 0 0 1 40.71 40.71zM192 64h128v32H192zm192 384H224v-24.6c0-32.72 53.27-49.21 80-49.21s80 16.49 80 49.21z\"},\"child\":[]}]})(props);\n};\nexport function IoIdCard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M368 16H144a64.07 64.07 0 0 0-64 64v352a64.07 64.07 0 0 0 64 64h224a64.07 64.07 0 0 0 64-64V80a64.07 64.07 0 0 0-64-64zm-34.52 268.51c7.57 8.17 11.27 19.16 10.39 30.94C342.14 338.91 324.25 358 304 358s-38.17-19.09-39.88-42.55c-.86-11.9 2.81-22.91 10.34-31S292.4 272 304 272a39.65 39.65 0 0 1 29.48 12.51zM192 80a16 16 0 0 1 16-16h96a16 16 0 0 1 0 32h-96a16 16 0 0 1-16-16zm189 363.83a12.05 12.05 0 0 1-9.31 4.17H236.31a12.05 12.05 0 0 1-9.31-4.17 13 13 0 0 1-2.76-10.92c3.25-17.56 13.38-32.31 29.3-42.66C267.68 381.06 285.6 376 304 376s36.32 5.06 50.46 14.25c15.92 10.35 26.05 25.1 29.3 42.66a13 13 0 0 1-2.76 10.92z\"},\"child\":[]}]})(props);\n};\nexport function IoImageOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"416\",\"height\":\"352\",\"x\":\"48\",\"y\":\"80\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"48\",\"ry\":\"48\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"336\",\"cy\":\"176\",\"r\":\"32\",\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m304 335.79-90.66-90.49a32 32 0 0 0-43.87-1.3L48 352m176 80 123.34-123.34a32 32 0 0 1 43.11-2L464 368\"},\"child\":[]}]})(props);\n};\nexport function IoImageSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M456 64H56a24 24 0 0 0-24 24v336a24 24 0 0 0 24 24h400a24 24 0 0 0 24-24V88a24 24 0 0 0-24-24zm-124.38 64.2a48 48 0 1 1-43.42 43.42 48 48 0 0 1 43.42-43.42zM76 416a12 12 0 0 1-12-12v-87.63L192.64 202l96.95 96.75L172.37 416zm372-12a12 12 0 0 1-12 12H217.63l149.53-149.53L448 333.84z\"},\"child\":[]}]})(props);\n};\nexport function IoImage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416 64H96a64.07 64.07 0 0 0-64 64v256a64.07 64.07 0 0 0 64 64h320a64.07 64.07 0 0 0 64-64V128a64.07 64.07 0 0 0-64-64zm-80 64a48 48 0 1 1-48 48 48.05 48.05 0 0 1 48-48zM96 416a32 32 0 0 1-32-32v-67.63l94.84-84.3a48.06 48.06 0 0 1 65.8 1.9l64.95 64.81L172.37 416zm352-32a32 32 0 0 1-32 32H217.63l121.42-121.42a47.72 47.72 0 0 1 61.64-.16L448 333.84z\"},\"child\":[]}]})(props);\n};\nexport function IoImagesOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M432 112V96a48.14 48.14 0 0 0-48-48H64a48.14 48.14 0 0 0-48 48v256a48.14 48.14 0 0 0 48 48h16\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"400\",\"height\":\"336\",\"x\":\"96\",\"y\":\"128\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"45.99\",\"ry\":\"45.99\"},\"child\":[]},{\"tag\":\"ellipse\",\"attr\":{\"cx\":\"372.92\",\"cy\":\"219.64\",\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"rx\":\"30.77\",\"ry\":\"30.55\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M342.15 372.17 255 285.78a30.93 30.93 0 0 0-42.18-1.21L96 387.64M265.23 464l118.59-117.73a31 31 0 0 1 41.46-1.87L496 402.91\"},\"child\":[]}]})(props);\n};\nexport function IoImagesSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"ellipse\",\"attr\":{\"cx\":\"373.14\",\"cy\":\"219.33\",\"fill\":\"none\",\"rx\":\"46.29\",\"ry\":\"46\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M80 132v328a20 20 0 0 0 20 20h392a20 20 0 0 0 20-20V132a20 20 0 0 0-20-20H100a20 20 0 0 0-20 20zm293.14 41.33a46 46 0 1 1-46.28 46 46.19 46.19 0 0 1 46.28-46zm-261.41 276v-95.48l122.76-110.2L328.27 337l-113 112.33zm368.27 0H259l144.58-144L480 370.59z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 32A20 20 0 0 0 0 52v344a20 20 0 0 0 20 20h28V100a20 20 0 0 1 20-20h380V52a20 20 0 0 0-20-20z\"},\"child\":[]}]})(props);\n};\nexport function IoImages (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M450.29 112H142c-34 0-62 27.51-62 61.33v245.34c0 33.82 28 61.33 62 61.33h308c34 0 62-26.18 62-60V173.33c0-33.82-27.68-61.33-61.71-61.33zm-77.15 61.34a46 46 0 1 1-46.28 46 46.19 46.19 0 0 1 46.28-46.01zm-231.55 276c-17 0-29.86-13.75-29.86-30.66v-64.83l90.46-80.79a46.54 46.54 0 0 1 63.44 1.83L328.27 337l-113 112.33zM480 418.67a30.67 30.67 0 0 1-30.71 30.66H259L376.08 333a46.24 46.24 0 0 1 59.44-.16L480 370.59z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M384 32H64A64 64 0 0 0 0 96v256a64.11 64.11 0 0 0 48 62V152a72 72 0 0 1 72-72h326a64.11 64.11 0 0 0-62-48z\"},\"child\":[]}]})(props);\n};\nexport function IoInfiniteOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M256 256s-48-96-126-96c-54.12 0-98 43-98 96s43.88 96 98 96c37.51 0 71-22.41 94-48m32-48s48 96 126 96c54.12 0 98-43 98-96s-43.88-96-98-96c-37.51 0-71 22.41-94 48\"},\"child\":[]}]})(props);\n};\nexport function IoInfiniteSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M382 136c-40.87 0-73.46 20.53-93.6 37.76l-.71.61-11.47 12.47 25.32 41.61 18.74-18.79C339.89 193.1 361.78 184 382 184c40.8 0 74 32.3 74 72s-33.2 72-74 72c-62 0-104.14-81.95-104.56-82.78C275 240.29 221.56 136 130 136 62.73 136 8 189.83 8 256s54.73 120 122 120c32.95 0 65.38-13.11 93.79-37.92l.61-.54 11.38-12.38-25.33-41.61-18.83 18.88C172 319.4 151.26 328 130 328c-40.8 0-74-32.3-74-72s33.2-72 74-72c62 0 104.14 81.95 104.56 82.78C237 271.71 290.44 376 382 376c67.27 0 122-53.83 122-120s-54.73-120-122-120z\"},\"child\":[]}]})(props);\n};\nexport function IoInfinite (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"48\",\"d\":\"M256 256s-48-96-126-96c-54.12 0-98 43-98 96s43.88 96 98 96c30 0 56.45-13.18 78-32m48-64s48 96 126 96c54.12 0 98-43 98-96s-43.88-96-98-96c-29.37 0-56.66 13.75-78 32\"},\"child\":[]}]})(props);\n};\nexport function IoInformationCircleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M248 64C146.39 64 64 146.39 64 248s82.39 184 184 184 184-82.39 184-184S349.61 64 248 64z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M220 220h32v116\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M208 340h88\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M248 130a26 26 0 1 0 26 26 26 26 0 0 0-26-26z\"},\"child\":[]}]})(props);\n};\nexport function IoInformationCircleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 56C145.72 56 56 145.72 56 256s89.72 200 200 200 200-89.72 200-200S366.28 56 256 56zm0 82a26 26 0 1 1-26 26 26 26 0 0 1 26-26zm64 226H200v-32h44v-88h-32v-32h64v120h44z\"},\"child\":[]}]})(props);\n};\nexport function IoInformationCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 56C145.72 56 56 145.72 56 256s89.72 200 200 200 200-89.72 200-200S366.28 56 256 56zm0 82a26 26 0 1 1-26 26 26 26 0 0 1 26-26zm48 226h-88a16 16 0 0 1 0-32h28v-88h-16a16 16 0 0 1 0-32h32a16 16 0 0 1 16 16v104h28a16 16 0 0 1 0 32z\"},\"child\":[]}]})(props);\n};\nexport function IoInformationOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"40\",\"d\":\"M196 220h64v172\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"40\",\"d\":\"M187 396h138\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M256 160a32 32 0 1 1 32-32 32 32 0 0 1-32 32z\"},\"child\":[]}]})(props);\n};\nexport function IoInformationSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"40\",\"d\":\"M196 220h64v172m-73 4h138\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M256 160a32 32 0 1 1 32-32 32 32 0 0 1-32 32z\"},\"child\":[]}]})(props);\n};\nexport function IoInformation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"40\",\"d\":\"M196 220h64v172\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"40\",\"d\":\"M187 396h138\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M256 160a32 32 0 1 1 32-32 32 32 0 0 1-32 32z\"},\"child\":[]}]})(props);\n};\nexport function IoInvertModeOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"r\":\"208\",\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M256 176v160a80 80 0 0 1 0-160zm0-128v128a80 80 0 0 1 0 160v128c114.88 0 208-93.12 208-208S370.88 48 256 48z\"},\"child\":[]}]})(props);\n};\nexport function IoInvertModeSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M414.39 97.61A224 224 0 1 0 97.61 414.39 224 224 0 1 0 414.39 97.61zM256 432v-96a80 80 0 0 1 0-160V80c97.05 0 176 79 176 176s-78.95 176-176 176z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M336 256a80 80 0 0 0-80-80v160a80 80 0 0 0 80-80z\"},\"child\":[]}]})(props);\n};\nexport function IoInvertMode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"r\":\"208\",\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M256 176v160a80 80 0 0 0 0-160zm0-128v128a80 80 0 0 0 0 160v128c-114.88 0-208-93.12-208-208S141.12 48 256 48z\"},\"child\":[]}]})(props);\n};\nexport function IoJournalOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"320\",\"height\":\"416\",\"x\":\"96\",\"y\":\"48\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"48\",\"ry\":\"48\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"60\",\"d\":\"M320 48v416\"},\"child\":[]}]})(props);\n};\nexport function IoJournalSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M290 32H104a24 24 0 0 0-24 24v400a24 24 0 0 0 24 24h186zm118 0h-58v448h58a24 24 0 0 0 24-24V56a24 24 0 0 0-24-24z\"},\"child\":[]}]})(props);\n};\nexport function IoJournal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M290 32H144a64.07 64.07 0 0 0-64 64v320a64.07 64.07 0 0 0 64 64h146zm78 0h-18v448h18a64.07 64.07 0 0 0 64-64V96a64.07 64.07 0 0 0-64-64z\"},\"child\":[]}]})(props);\n};\nexport function IoKeyOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M218.1 167.17c0 13 0 25.6 4.1 37.4-43.1 50.6-156.9 184.3-167.5 194.5a20.17 20.17 0 0 0-6.7 15c0 8.5 5.2 16.7 9.6 21.3 6.6 6.9 34.8 33 40 28 15.4-15 18.5-19 24.8-25.2 9.5-9.3-1-28.3 2.3-36s6.8-9.2 12.5-10.4 15.8 2.9 23.7 3c8.3.1 12.8-3.4 19-9.2 5-4.6 8.6-8.9 8.7-15.6.2-9-12.8-20.9-3.1-30.4s23.7 6.2 34 5 22.8-15.5 24.1-21.6-11.7-21.8-9.7-30.7c.7-3 6.8-10 11.4-11s25 6.9 29.6 5.9c5.6-1.2 12.1-7.1 17.4-10.4 15.5 6.7 29.6 9.4 47.7 9.4 68.5 0 124-53.4 124-119.2S408.5 48 340 48s-121.9 53.37-121.9 119.17zM400 144a32 32 0 1 1-32-32 32 32 0 0 1 32 32z\"},\"child\":[]}]})(props);\n};\nexport function IoKeySharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M218.1 167.2c0 13 0 25.6 4.1 37.4-43.1 50.6-167.5 194.5-167.5 194.5l2.9 36.3s34.8 33 40 28c15.4-15 24.8-25.2 24.8-25.2l7.24-43.35 47.11-3.47 3.78-46.8 49.63-.95.49-50.09 52.69 2.1 9-18.84c15.5 6.7 29.6 9.4 47.7 9.4 68.5 0 124-53.4 124-119.2S408.5 48 340 48s-121.9 53.4-121.9 119.2zM406.85 144A38.85 38.85 0 1 1 368 105.15 38.81 38.81 0 0 1 406.85 144z\"},\"child\":[]}]})(props);\n};\nexport function IoKey (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M218.1 167.17c0 13 0 25.6 4.1 37.4-43.1 50.6-156.9 184.3-167.5 194.5a20.17 20.17 0 0 0-6.7 15c0 8.5 5.2 16.7 9.6 21.3 6.6 6.9 34.8 33 40 28 15.4-15 18.5-19 24.8-25.2 9.5-9.3-1-28.3 2.3-36s6.8-9.2 12.5-10.4 15.8 2.9 23.7 3c8.3.1 12.8-3.4 19-9.2 5-4.6 8.6-8.9 8.7-15.6.2-9-12.8-20.9-3.1-30.4s23.7 6.2 34 5 22.8-15.5 24.1-21.6-11.7-21.8-9.7-30.7c.7-3 6.8-10 11.4-11s25 6.9 29.6 5.9c5.6-1.2 12.1-7.1 17.4-10.4 15.5 6.7 29.6 9.4 47.7 9.4 68.5 0 124-53.4 124-119.2S408.5 48 340 48s-121.9 53.37-121.9 119.17zM400 144a32 32 0 1 1-32-32 32 32 0 0 1 32 32z\"},\"child\":[]}]})(props);\n};\nexport function IoKeypadOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"448\",\"r\":\"32\",\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"320\",\"r\":\"32\",\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M288 192a32 32 0 1 1-32-32 32 32 0 0 1 32 32z\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"64\",\"r\":\"32\",\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"384\",\"cy\":\"320\",\"r\":\"32\",\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"384\",\"cy\":\"192\",\"r\":\"32\",\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"384\",\"cy\":\"64\",\"r\":\"32\",\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"128\",\"cy\":\"320\",\"r\":\"32\",\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"128\",\"cy\":\"192\",\"r\":\"32\",\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"128\",\"cy\":\"64\",\"r\":\"32\",\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\"},\"child\":[]}]})(props);\n};\nexport function IoKeypadSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"96\",\"height\":\"96\",\"x\":\"80\",\"y\":\"16\",\"rx\":\"8\",\"ry\":\"8\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"96\",\"height\":\"96\",\"x\":\"208\",\"y\":\"16\",\"rx\":\"8\",\"ry\":\"8\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"96\",\"height\":\"96\",\"x\":\"336\",\"y\":\"16\",\"rx\":\"8\",\"ry\":\"8\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"96\",\"height\":\"96\",\"x\":\"80\",\"y\":\"144\",\"rx\":\"8\",\"ry\":\"8\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"96\",\"height\":\"96\",\"x\":\"208\",\"y\":\"144\",\"rx\":\"8\",\"ry\":\"8\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"96\",\"height\":\"96\",\"x\":\"336\",\"y\":\"144\",\"rx\":\"8\",\"ry\":\"8\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"96\",\"height\":\"96\",\"x\":\"80\",\"y\":\"272\",\"rx\":\"8\",\"ry\":\"8\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"96\",\"height\":\"96\",\"x\":\"208\",\"y\":\"272\",\"rx\":\"8\",\"ry\":\"8\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"96\",\"height\":\"96\",\"x\":\"208\",\"y\":\"400\",\"rx\":\"8\",\"ry\":\"8\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"96\",\"height\":\"96\",\"x\":\"336\",\"y\":\"272\",\"rx\":\"8\",\"ry\":\"8\"},\"child\":[]}]})(props);\n};\nexport function IoKeypad (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 400a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm0-128a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm0-128a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm0-128a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm128 256a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm0-128a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm0-128a48 48 0 1 0 48 48 48 48 0 0 0-48-48zM128 272a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm0-128a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm0-128a48 48 0 1 0 48 48 48 48 0 0 0-48-48z\"},\"child\":[]}]})(props);\n};\nexport function IoLanguageOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M48 112h288M192 64v48m80 336 96-224 96 224m-162.5-64h133M281.3 112S257 206 199 277 80 384 80 384\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M256 336s-35-27-72-75-56-85-56-85\"},\"child\":[]}]})(props);\n};\nexport function IoLanguageSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M363 176 246 464h47.24l24.49-58h90.54l24.49 58H480zm-26.69 186L363 279.85 389.69 362zM272 320c-.25-.19-20.59-15.77-45.42-42.67 39.58-53.64 62-114.61 71.15-143.33H352V90H214V48h-44v42H32v44h219.25c-9.52 26.95-27.05 69.5-53.79 108.36-32.68-43.44-47.14-75.88-47.33-76.22L143 152l-38 22 6.87 13.86c.89 1.56 17.19 37.9 54.71 86.57.92 1.21 1.85 2.39 2.78 3.57-49.72 56.86-89.15 79.09-89.66 79.47L64 368l23 36 19.3-11.47c2.2-1.67 41.33-24 92-80.78 24.52 26.28 43.22 40.83 44.3 41.67L255 362z\"},\"child\":[]}]})(props);\n};\nexport function IoLanguage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m478.33 433.6-90-218a22 22 0 0 0-40.67 0l-90 218a22 22 0 1 0 40.67 16.79L316.66 406h102.67l18.33 44.39A22 22 0 0 0 458 464a22 22 0 0 0 20.32-30.4zM334.83 362 368 281.65 401.17 362zm-66.99-19.08a22 22 0 0 0-4.89-30.7c-.2-.15-15-11.13-36.49-34.73 39.65-53.68 62.11-114.75 71.27-143.49H330a22 22 0 0 0 0-44H214V70a22 22 0 0 0-44 0v20H54a22 22 0 0 0 0 44h197.25c-9.52 26.95-27.05 69.5-53.79 108.36-31.41-41.68-43.08-68.65-43.17-68.87a22 22 0 0 0-40.58 17c.58 1.38 14.55 34.23 52.86 83.93.92 1.19 1.83 2.35 2.74 3.51-39.24 44.35-77.74 71.86-93.85 80.74a22 22 0 1 0 21.07 38.63c2.16-1.18 48.6-26.89 101.63-85.59 22.52 24.08 38 35.44 38.93 36.1a22 22 0 0 0 30.75-4.9z\"},\"child\":[]}]})(props);\n};\nexport function IoLaptopOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"416\",\"height\":\"304\",\"x\":\"48\",\"y\":\"96\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"32.14\",\"ry\":\"32.14\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M16 416h480\"},\"child\":[]}]})(props);\n};\nexport function IoLaptopSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M477.29 400a27.75 27.75 0 0 0 2.71-12V108a28 28 0 0 0-28-28H60a28 28 0 0 0-28 28v280a27.75 27.75 0 0 0 2.71 12H0v32h512v-32z\"},\"child\":[]}]})(props);\n};\nexport function IoLaptop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496 400h-28.34A47.92 47.92 0 0 0 480 367.86V128.14A48.2 48.2 0 0 0 431.86 80H80.14A48.2 48.2 0 0 0 32 128.14v239.72A47.92 47.92 0 0 0 44.34 400H16a16 16 0 0 0 0 32h480a16 16 0 0 0 0-32z\"},\"child\":[]}]})(props);\n};\nexport function IoLayersOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m434.8 137.65-149.36-68.1c-16.19-7.4-42.69-7.4-58.88 0L77.3 137.65c-17.6 8-17.6 21.09 0 29.09l148 67.5c16.89 7.7 44.69 7.7 61.58 0l148-67.5c17.52-8 17.52-21.1-.08-29.09zM160 308.52l-82.7 37.11c-17.6 8-17.6 21.1 0 29.1l148 67.5c16.89 7.69 44.69 7.69 61.58 0l148-67.5c17.6-8 17.6-21.1 0-29.1l-79.94-38.47\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m160 204.48-82.8 37.16c-17.6 8-17.6 21.1 0 29.1l148 67.49c16.89 7.7 44.69 7.7 61.58 0l148-67.49c17.7-8 17.7-21.1.1-29.1L352 204.48\"},\"child\":[]}]})(props);\n};\nexport function IoLayersSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M480 150 256 48 32 150l224 104 224-104zM255.71 392.95l-144.81-66.2L32 362l224 102 224-102-78.69-35.3-145.6 66.25z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"m480 256-75.53-33.53L256.1 290.6l-148.77-68.17L32 256l224 102 224-102z\"},\"child\":[]}]})(props);\n};\nexport function IoLayers (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 256c-13.47 0-26.94-2.39-37.44-7.17l-148-67.49C63.79 178.26 48 169.25 48 152.24s15.79-26 22.58-29.12l149.28-68.07c20.57-9.4 51.61-9.4 72.19 0l149.37 68.07c6.79 3.09 22.58 12.1 22.58 29.12s-15.79 26-22.58 29.11l-148 67.48C282.94 253.61 269.47 256 256 256zm176.76-100.86z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M441.36 226.81 426.27 220l-38.77 17.74-94 43c-10.5 4.8-24 7.19-37.44 7.19s-26.93-2.39-37.42-7.19l-94.07-43L85.79 220l-15.22 6.84C63.79 229.93 48 239 48 256s15.79 26.08 22.56 29.17l148 67.63C229 357.6 242.49 360 256 360s26.94-2.4 37.44-7.19l147.87-67.61c6.81-3.09 22.69-12.11 22.69-29.2s-15.77-26.07-22.64-29.19z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"m441.36 330.8-15.09-6.8-38.77 17.73-94 42.95c-10.5 4.78-24 7.18-37.44 7.18s-26.93-2.39-37.42-7.18l-94.07-43L85.79 324l-15.22 6.84C63.79 333.93 48 343 48 360s15.79 26.07 22.56 29.15l148 67.59C229 461.52 242.54 464 256 464s26.88-2.48 37.38-7.27l147.92-67.57c6.82-3.08 22.7-12.1 22.7-29.16s-15.77-26.07-22.64-29.2z\"},\"child\":[]}]})(props);\n};\nexport function IoLeafOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M321.89 171.42C233 114 141 155.22 56 65.22c-19.8-21-8.3 235.5 98.1 332.7 77.79 71 197.9 63.08 238.4-5.92s18.28-163.17-70.61-220.58zM173 253c86 81 175 129 292 147\"},\"child\":[]}]})(props);\n};\nexport function IoLeafSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m150.38 253.68 21.94-23.3 11.65 11c73.63 69.36 147.51 111.56 234.45 133.07 11.73-32 12.77-67.22 2.64-101.58-13.44-45.59-44.74-85.31-90.49-114.86-40.25-26-76.6-32.09-115.09-38.54-21.12-3.54-43-7.2-66.85-14.43-43.78-13.28-89.69-52.74-90.15-53.13L33.4 30.15 32 63.33c-.1 2.56-2.42 63.57 14.22 147.77 17.58 89 50.24 155.85 97.07 198.63 38 34.69 87.62 53.9 136.93 53.9a185.88 185.88 0 0 0 27.78-2.07c41.72-6.32 76.43-27.27 96-57.75-89.5-23.28-165.95-67.55-242-139.16z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M467.43 384.19c-16.83-2.59-33.13-5.84-49-9.77a158.49 158.49 0 0 1-12.13 25.68c-.74 1.25-1.51 2.49-2.29 3.71a583.43 583.43 0 0 0 58.55 12l15.82 2.44 4.86-31.63z\"},\"child\":[]}]})(props);\n};\nexport function IoLeaf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M161.35 242a16 16 0 0 1 22.62-.68c73.63 69.36 147.51 111.56 234.45 133.07 11.73-32 12.77-67.22 2.64-101.58-13.44-45.59-44.74-85.31-90.49-114.86-40.84-26.38-81.66-33.25-121.15-39.89-49.82-8.38-96.88-16.3-141.79-63.85-5-5.26-11.81-7.37-18.32-5.66-7.44 2-12.43 7.88-14.82 17.6-5.6 22.75-2 86.51 13.75 153.82 25.29 108.14 65.65 162.86 95.06 189.73 38 34.69 87.62 53.9 136.93 53.9a186 186 0 0 0 27.77-2.04c41.71-6.32 76.43-27.27 96-57.75-89.49-23.28-165.94-67.55-242-139.16a16 16 0 0 1-.65-22.65zm306.08 142.19c-16.83-2.59-33.13-5.84-49-9.77a157.71 157.71 0 0 1-12.13 25.68c-.73 1.25-1.5 2.49-2.29 3.71a584.21 584.21 0 0 0 58.56 12 16 16 0 1 0 4.87-31.62z\"},\"child\":[]}]})(props);\n};\nexport function IoLibraryOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"64\",\"height\":\"368\",\"x\":\"32\",\"y\":\"96\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"16\",\"ry\":\"16\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M112 224h128M112 400h128\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"128\",\"height\":\"304\",\"x\":\"112\",\"y\":\"160\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"16\",\"ry\":\"16\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"96\",\"height\":\"416\",\"x\":\"256\",\"y\":\"48\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"16\",\"ry\":\"16\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m422.46 96.11-40.4 4.25c-11.12 1.17-19.18 11.57-17.93 23.1l34.92 321.59c1.26 11.53 11.37 20 22.49 18.84l40.4-4.25c11.12-1.17 19.18-11.57 17.93-23.1L445 115c-1.31-11.58-11.42-20.06-22.54-18.89z\"},\"child\":[]}]})(props);\n};\nexport function IoLibrarySharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M84 480H28a12 12 0 0 1-12-12V92a12 12 0 0 1 12-12h56a12 12 0 0 1 12 12v376a12 12 0 0 1-12 12zm156-272v-52a12 12 0 0 0-12-12H124a12 12 0 0 0-12 12v52zM112 416v52a12 12 0 0 0 12 12h104a12 12 0 0 0 12-12v-52zm0-176h128v144H112zm228 240h-72a12 12 0 0 1-12-12V44a12 12 0 0 1 12-12h72a12 12 0 0 1 12 12v424a12 12 0 0 1-12 12zm29-379.3 30 367.83a12 12 0 0 0 13.45 10.92l72.16-9a12 12 0 0 0 10.47-12.9L465 91.21a12 12 0 0 0-13.2-10.94l-72.13 7.51A12 12 0 0 0 369 100.7z\"},\"child\":[]}]})(props);\n};\nexport function IoLibrary (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M64 480H48a32 32 0 0 1-32-32V112a32 32 0 0 1 32-32h16a32 32 0 0 1 32 32v336a32 32 0 0 1-32 32zm176-304a32 32 0 0 0-32-32h-64a32 32 0 0 0-32 32v28a4 4 0 0 0 4 4h120a4 4 0 0 0 4-4zM112 448a32 32 0 0 0 32 32h64a32 32 0 0 0 32-32v-30a2 2 0 0 0-2-2H114a2 2 0 0 0-2 2z\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"128\",\"height\":\"144\",\"x\":\"112\",\"y\":\"240\",\"rx\":\"2\",\"ry\":\"2\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M320 480h-32a32 32 0 0 1-32-32V64a32 32 0 0 1 32-32h32a32 32 0 0 1 32 32v384a32 32 0 0 1-32 32zm175.89-34.55-32.23-340c-1.48-15.65-16.94-27-34.53-25.31l-31.85 3c-17.59 1.67-30.65 15.71-29.17 31.36l32.23 340c1.48 15.65 16.94 27 34.53 25.31l31.85-3c17.59-1.67 30.65-15.71 29.17-31.36z\"},\"child\":[]}]})(props);\n};\nexport function IoLinkOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"36\",\"d\":\"M208 352h-64a96 96 0 0 1 0-192h64m96 0h64a96 96 0 0 1 0 192h-64m-140.71-96h187.42\"},\"child\":[]}]})(props);\n};\nexport function IoLinkSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"48\",\"d\":\"M200.66 352H144a96 96 0 0 1 0-192h55.41m113.18 0H368a96 96 0 0 1 0 192h-56.66m-142.27-96h175.86\"},\"child\":[]}]})(props);\n};\nexport function IoLink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"48\",\"d\":\"M200.66 352H144a96 96 0 0 1 0-192h55.41m113.18 0H368a96 96 0 0 1 0 192h-56.66m-142.27-96h175.86\"},\"child\":[]}]})(props);\n};\nexport function IoListCircleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M224 184h128m-128 72h128m-128 71h128\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M448 258c0-106-86-192-192-192S64 152 64 258s86 192 192 192 192-86 192-192z\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"168\",\"cy\":\"184\",\"r\":\"8\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"168\",\"cy\":\"257\",\"r\":\"8\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"168\",\"cy\":\"328\",\"r\":\"8\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]}]})(props);\n};\nexport function IoListCircleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm-64 287.5a16 16 0 0 1-16 16h-16a16 16 0 0 1-16-16v-16a16 16 0 0 1 16-16h16a16 16 0 0 1 16 16zm0-71a16 16 0 0 1-16 16h-16a16 16 0 0 1-16-16v-16a16 16 0 0 1 16-16h16a16 16 0 0 1 16 16zm0-72a16 16 0 0 1-16 16h-16a16 16 0 0 1-16-16v-16a16 16 0 0 1 16-16h16a16 16 0 0 1 16 16zm176 151H212.67v-32H368zm0-71H212.67v-32H368zm0-72H212.67v-32H368z\"},\"child\":[]}]})(props);\n};\nexport function IoListCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm-88 302a24 24 0 1 1 24-24 24 24 0 0 1-24 24zm0-71a24 24 0 1 1 24-24 24 24 0 0 1-24 24zm0-73a24 24 0 1 1 24-24 24 24 0 0 1-24 24zm184 135H224a16 16 0 0 1 0-32h128a16 16 0 0 1 0 32zm0-71H224a16 16 0 0 1 0-32h128a16 16 0 0 1 0 32zm0-72H224a16 16 0 0 1 0-32h128a16 16 0 0 1 0 32z\"},\"child\":[]}]})(props);\n};\nexport function IoListOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M160 144h288M160 256h288M160 368h288\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"80\",\"cy\":\"144\",\"r\":\"16\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"80\",\"cy\":\"256\",\"r\":\"16\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"80\",\"cy\":\"368\",\"r\":\"16\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]}]})(props);\n};\nexport function IoListSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"48\",\"d\":\"M144 144h320M144 256h320M144 368h320\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M64 128h32v32H64zm0 112h32v32H64zm0 112h32v32H64z\"},\"child\":[]}]})(props);\n};\nexport function IoList (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"48\",\"d\":\"M160 144h288M160 256h288M160 368h288\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"80\",\"cy\":\"144\",\"r\":\"16\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"80\",\"cy\":\"256\",\"r\":\"16\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"80\",\"cy\":\"368\",\"r\":\"16\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]}]})(props);\n};\nexport function IoLocateOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"48\",\"d\":\"M256 96V56m0 400v-40\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M256 112a144 144 0 1 0 144 144 144 144 0 0 0-144-144z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"48\",\"d\":\"M416 256h40m-400 0h40\"},\"child\":[]}]})(props);\n};\nexport function IoLocateSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"48\",\"d\":\"M256 96V56m0 400v-40m0-304a144 144 0 1 0 144 144 144 144 0 0 0-144-144zm160 144h40m-400 0h40\"},\"child\":[]}]})(props);\n};\nexport function IoLocate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"48\",\"d\":\"M256 96V56m0 400v-40m0-304a144 144 0 1 0 144 144 144 144 0 0 0-144-144zm160 144h40m-400 0h40\"},\"child\":[]}]})(props);\n};\nexport function IoLocationOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M256 48c-79.5 0-144 61.39-144 137 0 87 96 224.87 131.25 272.49a15.77 15.77 0 0 0 25.5 0C304 409.89 400 272.07 400 185c0-75.61-64.5-137-144-137z\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"192\",\"r\":\"48\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]}]})(props);\n};\nexport function IoLocationSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 32C167.67 32 96 96.51 96 176c0 128 160 304 160 304s160-176 160-304c0-79.49-71.67-144-160-144zm0 224a64 64 0 1 1 64-64 64.07 64.07 0 0 1-64 64z\"},\"child\":[]}]})(props);\n};\nexport function IoLocation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"192\",\"r\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M256 32c-88.22 0-160 68.65-160 153 0 40.17 18.31 93.59 54.42 158.78 29 52.34 62.55 99.67 80 123.22a31.75 31.75 0 0 0 51.22 0c17.42-23.55 51-70.88 80-123.22C397.69 278.61 416 225.19 416 185c0-84.35-71.78-153-160-153zm0 224a64 64 0 1 1 64-64 64.07 64.07 0 0 1-64 64z\"},\"child\":[]}]})(props);\n};\nexport function IoLockClosedOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M336 208v-95a80 80 0 0 0-160 0v95\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"320\",\"height\":\"272\",\"x\":\"96\",\"y\":\"208\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"48\",\"ry\":\"48\"},\"child\":[]}]})(props);\n};\nexport function IoLockClosedSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M420 192h-68v-80a96 96 0 1 0-192 0v80H92a12 12 0 0 0-12 12v280a12 12 0 0 0 12 12h328a12 12 0 0 0 12-12V204a12 12 0 0 0-12-12zm-106 0H198v-80.75a58 58 0 1 1 116 0z\"},\"child\":[]}]})(props);\n};\nexport function IoLockClosed (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M368 192h-16v-80a96 96 0 1 0-192 0v80h-16a64.07 64.07 0 0 0-64 64v176a64.07 64.07 0 0 0 64 64h224a64.07 64.07 0 0 0 64-64V256a64.07 64.07 0 0 0-64-64zm-48 0H192v-80a64 64 0 1 1 128 0z\"},\"child\":[]}]})(props);\n};\nexport function IoLockOpenOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M336 112a80 80 0 0 0-160 0v96\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"320\",\"height\":\"272\",\"x\":\"96\",\"y\":\"208\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"48\",\"ry\":\"48\"},\"child\":[]}]})(props);\n};\nexport function IoLockOpenSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M420 192H198v-80.75a58.08 58.08 0 0 1 99.07-41.07A59.4 59.4 0 0 1 314 112h38a96 96 0 1 0-192 0v80H92a12 12 0 0 0-12 12v280a12 12 0 0 0 12 12h328a12 12 0 0 0 12-12V204a12 12 0 0 0-12-12z\"},\"child\":[]}]})(props);\n};\nexport function IoLockOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M368 192H192v-80a64 64 0 1 1 128 0 16 16 0 0 0 32 0 96 96 0 1 0-192 0v80h-16a64.07 64.07 0 0 0-64 64v176a64.07 64.07 0 0 0 64 64h224a64.07 64.07 0 0 0 64-64V256a64.07 64.07 0 0 0-64-64z\"},\"child\":[]}]})(props);\n};\nexport function IoLogInOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M192 176v-40a40 40 0 0 1 40-40h160a40 40 0 0 1 40 40v240a40 40 0 0 1-40 40H240c-22.09 0-48-17.91-48-40v-40\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m288 336 80-80-80-80M80 256h272\"},\"child\":[]}]})(props);\n};\nexport function IoLogInSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M432 80H192a16 16 0 0 0-16 16v144h153.37l-64-64L288 153.37l91.31 91.32a16 16 0 0 1 0 22.62L288 358.63 265.37 336l64-64H176v144a16 16 0 0 0 16 16h240a16 16 0 0 0 16-16V96a16 16 0 0 0-16-16zM64 240h112v32H64z\"},\"child\":[]}]})(props);\n};\nexport function IoLogIn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M392 80H232a56.06 56.06 0 0 0-56 56v104h153.37l-52.68-52.69a16 16 0 0 1 22.62-22.62l80 80a16 16 0 0 1 0 22.62l-80 80a16 16 0 0 1-22.62-22.62L329.37 272H176v104c0 32.05 33.79 56 64 56h152a56.06 56.06 0 0 0 56-56V136a56.06 56.06 0 0 0-56-56zM80 240a16 16 0 0 0 0 32h96v-32z\"},\"child\":[]}]})(props);\n};\nexport function IoLogOutOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M304 336v40a40 40 0 0 1-40 40H104a40 40 0 0 1-40-40V136a40 40 0 0 1 40-40h152c22.09 0 48 17.91 48 40v40m64 160 80-80-80-80m-192 80h256\"},\"child\":[]}]})(props);\n};\nexport function IoLogOutSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M160 240h160V96a16 16 0 0 0-16-16H64a16 16 0 0 0-16 16v320a16 16 0 0 0 16 16h240a16 16 0 0 0 16-16V272H160zm299.31 4.69L368 153.37 345.37 176l64 64H320v32h89.37l-64 64L368 358.63l91.31-91.32a16 16 0 0 0 0-22.62z\"},\"child\":[]}]})(props);\n};\nexport function IoLogOut (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M160 256a16 16 0 0 1 16-16h144V136c0-32-33.79-56-64-56H104a56.06 56.06 0 0 0-56 56v240a56.06 56.06 0 0 0 56 56h160a56.06 56.06 0 0 0 56-56V272H176a16 16 0 0 1-16-16zm299.31-11.31-80-80a16 16 0 0 0-22.62 22.62L409.37 240H320v32h89.37l-52.68 52.69a16 16 0 1 0 22.62 22.62l80-80a16 16 0 0 0 0-22.62z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoAlipay (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M102.41 32C62.38 32 32 64.12 32 103.78v304.45C32 447.86 64.38 480 104.41 480h303.2c40 0 72.39-32.14 72.39-71.77v-3.11c-1.35-.56-115.47-48.57-174.5-76.7-39.82 48.57-91.18 78-144.5 78-90.18 0-120.8-78.22-78.1-129.72 9.31-11.22 25.15-21.94 49.73-28 38.45-9.36 99.64 5.85 157 24.61a309.41 309.41 0 0 0 25.46-61.67H138.34V194h91.13v-31.83H119.09v-17.75h110.38V99s0-7.65 7.82-7.65h44.55v53H391v17.75H281.84V194h89.08a359.41 359.41 0 0 1-37.72 94.43c27 9.69 49.31 18.88 67.39 24.89 60.32 20 77.23 22.45 79.41 22.7V103.78C480 64.12 447.6 32 407.61 32h-305.2zM152 274.73q-5.81.06-11.67.63c-11.3 1.13-32.5 6.07-44.09 16.23-34.74 30-13.94 84.93 56.37 84.93 40.87 0 81.71-25.9 113.79-67.37-41.36-20-77-34.85-114.4-34.42z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoAmazon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M48.48 378.73a300.52 300.52 0 0 0 152.89 95.92 262.57 262.57 0 0 0 159.3-17.25 225.52 225.52 0 0 0 66.79-47 6.36 6.36 0 0 0-2-8.53 11.76 11.76 0 0 0-8-.05 401.92 401.92 0 0 1-116.55 39.34 358.13 358.13 0 0 1-127.29-8.83 446.73 446.73 0 0 1-119.1-60.49 5 5 0 0 0-6.06 6.9z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M387.15 388.44a168.11 168.11 0 0 1 48.94-2.23l.67.13a10 10 0 0 1 7.37 12.05A204.71 204.71 0 0 1 429 444.47a2.55 2.55 0 0 0 1.66 3.18 2.51 2.51 0 0 0 2.23-.37A83.31 83.31 0 0 0 464 382.86a12.44 12.44 0 0 0-10.22-13.22A95.75 95.75 0 0 0 384.91 384a2.55 2.55 0 0 0-.57 3.55 2.52 2.52 0 0 0 2.81.89zm-82.91-63.52a164 164 0 0 1-28.92 25.3A135.16 135.16 0 0 1 208.63 369a99.49 99.49 0 0 1-57.49-19.85 97.25 97.25 0 0 1-27.36-100.28 112.35 112.35 0 0 1 65.3-69.06 367.67 367.67 0 0 1 104.7-15.55V127A37.82 37.82 0 0 0 261 94.72a59.9 59.9 0 0 0-31.17 4.08 48.89 48.89 0 0 0-27.13 34.67 12 12 0 0 1-12.58 6.72l-50.9-4.5a11.38 11.38 0 0 1-8.38-10.16 103.66 103.66 0 0 1 36.61-63.45A143.86 143.86 0 0 1 257.85 32a146.24 146.24 0 0 1 84.27 27.67 86.82 86.82 0 0 1 30.7 70.22V258.8a84.46 84.46 0 0 0 8 31.28l15.87 23.23a13 13 0 0 1 0 11.23l-46.99 39.71a12.5 12.5 0 0 1-12.68-.44 244.84 244.84 0 0 1-32.78-38.89zm-10.6-116.83a257.68 257.68 0 0 0-44 2.89A63 63 0 0 0 208 242.54a63 63 0 0 0 3.07 54 40.6 40.6 0 0 0 47.11 12.19 78.61 78.61 0 0 0 35.46-55.58v-45.06\"},\"child\":[]}]})(props);\n};\nexport function IoLogoAmplify (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"m112.31 268 40.36-68.69 34.65 59-67.54 115h135L289.31 432H16zm58.57-99.76 33.27-56.67L392.44 432h-66.68zM222.67 80h66.59L496 432h-66.68z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoAndroid (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m380.91 199 42.47-73.57a8.63 8.63 0 0 0-3.12-11.76 8.52 8.52 0 0 0-11.71 3.12l-43 74.52c-32.83-15-69.78-23.35-109.52-23.35s-76.69 8.36-109.52 23.35l-43-74.52a8.6 8.6 0 1 0-14.88 8.64L131 199C57.8 238.64 8.19 312.77 0 399.55h512c-8.19-86.78-57.8-160.91-131.09-200.55zM138.45 327.65a21.46 21.46 0 1 1 21.46-21.46 21.47 21.47 0 0 1-21.46 21.46zm235 0A21.46 21.46 0 1 1 395 306.19a21.47 21.47 0 0 1-21.51 21.46z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoAngular (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M213.57 256h84.85l-42.43-89.36L213.57 256z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M256 32 32 112l46.12 272L256 480l177.75-96L480 112zm88 320-26.59-56H194.58L168 352h-40L256 72l128 280z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoAppleAppstore (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 32C132.26 32 32 132.26 32 256s100.26 224 224 224 224-100.26 224-224S379.74 32 256 32zm-85 321.89a15.48 15.48 0 0 1-13.46 7.65 14.91 14.91 0 0 1-7.86-2.16 15.48 15.48 0 0 1-5.6-21.21l15.29-25.42a8.73 8.73 0 0 1 7.54-4.3h2.26c11.09 0 18.85 6.67 21.11 13.13zm129.45-50-100.13.11h-66.55a15.46 15.46 0 0 1-15.51-16.15c.32-8.4 7.65-14.76 16-14.76h48.24l57.19-97.35-18.52-31.55C217 137 218.85 127.52 226 123a15.57 15.57 0 0 1 21.87 5.17l9.9 16.91h.11l9.91-16.91A15.58 15.58 0 0 1 289.6 123c7.11 4.52 8.94 14 4.74 21.22l-18.52 31.55-18 30.69-39.09 66.66v.11h57.61c7.22 0 16.27 3.88 19.93 10.12l.32.65c3.23 5.49 5.06 9.26 5.06 14.75a13.82 13.82 0 0 1-1.17 5.17zm77.75.11h-27.11v.11l19.82 33.71a15.8 15.8 0 0 1-5.17 21.53 15.53 15.53 0 0 1-8.08 2.27A15.71 15.71 0 0 1 344.2 354l-29.29-49.86-18.2-31L273.23 233a38.35 38.35 0 0 1-.65-38c4.64-8.19 8.19-10.34 8.19-10.34L333 273h44.91c8.4 0 15.61 6.46 16 14.75A15.65 15.65 0 0 1 378.23 304z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoAppleAr (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M201.14 64 256 32l54.86 32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M256 32v80\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M310.86 448 256 480l-54.86-32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M256 480v-80\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M64 207.51V144l53.15-31.51\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"m64 144 67.29 40\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M448 304.49V368l-53.15 31.51\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"m448 368-67.29-40\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M117.15 400 64 368v-63.51\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"m64 368 66.64-40\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M394.85 112.49 448 144v63.51\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"m448 144-67.29 40M256 320v-64l54.86-32M256 256l-54.86-32\"},\"child\":[]}]})(props);\n};\nexport function IoLogoApple (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M349.13 136.86c-40.32 0-57.36 19.24-85.44 19.24-28.79 0-50.75-19.1-85.69-19.1-34.2 0-70.67 20.88-93.83 56.45-32.52 50.16-27 144.63 25.67 225.11 18.84 28.81 44 61.12 77 61.47h.6c28.68 0 37.2-18.78 76.67-19h.6c38.88 0 46.68 18.89 75.24 18.89h.6c33-.35 59.51-36.15 78.35-64.85 13.56-20.64 18.6-31 29-54.35-76.19-28.92-88.43-136.93-13.08-178.34-23-28.8-55.32-45.48-85.79-45.48z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M340.25 32c-24 1.63-52 16.91-68.4 36.86-14.88 18.08-27.12 44.9-22.32 70.91h1.92c25.56 0 51.72-15.39 67-35.11 14.72-18.77 25.88-45.37 21.8-72.66z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoBehance (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M344.1 233.6c-28.9 0-32.9 28.8-32.9 28.8h61.4s.4-28.8-28.5-28.8zm-139.3 28.8h-54.4v50h51.7c7.8-.2 22.4-2.4 22.4-24.3 0-26-19.7-25.7-19.7-25.7z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M256 32C132.3 32 32 132.3 32 256s100.3 224 224 224 224-100.3 224-224S379.7 32 256 32zm47.2 137.6h77.1v23h-77.1v-23zm-39 120.8c0 57-59.4 55.2-59.4 55.2h-97.2v-187h97.2c29.6 0 52.9 16.3 52.9 49.8S229.2 244 229.2 244c37.6 0 35 46.4 35 46.4zm144.2-3.1h-96.9c0 34.7 32.9 32.5 32.9 32.5 31.1 0 30-20.1 30-20.1h32.9c0 53.4-64 49.7-64 49.7-76.7 0-71.8-71.5-71.8-71.5s-.1-71.8 71.8-71.8c75.7.1 65.1 81.2 65.1 81.2z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M218 211.3c0-19.4-13.2-19.4-13.2-19.4h-54.4v41.7h51c8.8 0 16.6-2.9 16.6-22.3z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoBitbucket (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M483.13 32.23a19.65 19.65 0 0 0-2.54-.23h-449C23 31.88 16.12 38.88 16 47.75a11.44 11.44 0 0 0 .23 2.8l65.3 411.25a22.52 22.52 0 0 0 7 12.95A20 20 0 0 0 102 480h313.18a15.45 15.45 0 0 0 15.34-13.42l38.88-247.91H325.19l-18.46 112H205.21l-25.73-148h295.58l20.76-132c1.27-8.75-4.38-17.04-12.69-18.44z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoBitcoin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M410.47 279.2c-5-11.5-12.7-21.6-28.1-30.1a98.15 98.15 0 0 0-25.4-10 62.22 62.22 0 0 0 16.3-11 56.37 56.37 0 0 0 15.6-23.3 77.11 77.11 0 0 0 3.5-28.2c-1.1-16.8-4.4-33.1-13.2-44.8s-21.2-20.7-37.6-27c-12.6-4.8-25.5-7.8-45.5-8.9V32h-40v64h-32V32h-41v64H96v48h27.87c8.7 0 14.6.8 17.6 2.3a13.22 13.22 0 0 1 6.5 6c1.3 2.5 1.9 8.4 1.9 17.5V343c0 9-.6 14.8-1.9 17.4s-2 4.9-5.1 6.3-3.2 1.3-11.8 1.3h-26.4L96 416h87v64h41v-64h32v64h40v-64.4c26-1.3 44.5-4.7 59.4-10.3 19.3-7.2 34.1-17.7 44.7-31.5s14-34.9 14.93-51.2c.67-14.5-.03-33.2-4.56-43.4zM224 150h32v74h-32zm0 212v-90h32v90zm72-208.1c6 2.5 9.9 7.5 13.8 12.7 4.3 5.7 6.5 13.3 6.5 21.4 0 7.8-2.9 14.5-7.5 20.5-3.8 4.9-6.8 8.3-12.8 11.1zm28.8 186.7c-7.8 6.9-12.3 10.1-22.1 13.8a56.06 56.06 0 0 1-6.7 1.9v-82.8a40.74 40.74 0 0 1 11.3 3.4c7.8 3.3 15.2 6.9 19.8 13.2a43.82 43.82 0 0 1 8 24.7c-.03 10.9-2.83 19.2-10.33 25.8z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoBuffer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m39.93 149.25 197.4 95.32c5.14 2.45 12 3.73 18.79 3.73s13.65-1.28 18.78-3.73l197.4-95.32c10.38-5 10.38-13.18 0-18.2L274.9 35.73c-5.13-2.45-12-3.73-18.78-3.73s-13.65 1.28-18.79 3.73l-197.4 95.32c-10.38 5.02-10.38 13.18 0 18.2z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M472.3 246.9s-36.05-17.38-40.83-19.72-6.07-2.21-11.09.12-145.6 70.23-145.6 70.23a45.71 45.71 0 0 1-18.78 3.74c-6.77 0-13.65-1.29-18.78-3.74 0 0-136.85-66-143.27-69.18C87 225 85 225 78.67 228l-39 18.78c-10.38 5-10.38 13.19 0 18.2L237.1 360.3c5.13 2.45 12 3.73 18.78 3.73s13.65-1.28 18.79-3.73l197.4-95.3c10.61-4.92 10.61-13.08.23-18.1z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M472.3 362.75s-36.05-17.38-40.83-19.75-6.07-2.21-11.09.12S274.9 413.5 274.9 413.5a45.74 45.74 0 0 1-18.78 3.73c-6.77 0-13.65-1.28-18.79-3.73 0 0-136.85-66-143.26-69.18-7-3.39-9-3.39-15.29-.35l-39 18.78c-10.39 5-10.39 13.18 0 18.2l197.4 95.32c5.13 2.56 12 3.73 18.78 3.73s13.65-1.28 18.78-3.73L472.18 381c10.5-5.07 10.5-13.23.12-18.25z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoCapacitor (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M480 101.09 372.37 208.72l106.86 107.06-69.3 69.3-283.22-283.23L196 32.54l107.07 106.88L410.67 32zM32.55 196l69.3-69.31 283.22 283.24-69.3 69.3-107-106.87L101.08 480 32 410.67l107.42-107.61z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoChrome (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M188.8 255.93a67.2 67.2 0 1 0 67.2-67.18 67.38 67.38 0 0 0-67.2 67.18z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M476.75 217.79v.05a206.63 206.63 0 0 0-7-28.84h-.11a202.16 202.16 0 0 1 7.07 29 203.5 203.5 0 0 0-7.07-29h-155.4c19.05 17 31.36 40.17 31.36 67.05a86.55 86.55 0 0 1-12.31 44.73L231 478.45a2.44 2.44 0 0 1 0 .27v.28-.26a224 224 0 0 0 25 1.26c6.84 0 13.61-.39 20.3-1a222.91 222.91 0 0 0 29.78-4.74C405.68 451.52 480 362.4 480 255.94a225.25 225.25 0 0 0-3.25-38.15z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M256 345.5c-33.6 0-61.6-17.91-77.29-44.79L76 123.05l-.14-.24A224 224 0 0 0 207.4 474.55v-.05l77.69-134.6a84.13 84.13 0 0 1-29.09 5.6z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"m91.29 104.57 77.35 133.25A89.19 89.19 0 0 1 256 166h205.17a246.51 246.51 0 0 0-25.78-43.94l.12.08A245.26 245.26 0 0 1 461.17 166h.17a245.91 245.91 0 0 0-25.66-44 2.63 2.63 0 0 1-.35-.26 223.93 223.93 0 0 0-344.19-17.4l.14.24z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoClosedCaptioning (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 80v352h512V80zm464 175.78c0 25.74-1.6 45.32-3.77 77.22s-19.2 54.34-59.09 57.86-95.77 3.85-145.14 3.74c-49 .11-105.14-.11-145.14-3.74s-56.8-26-59.09-57.86S48 281.52 48 255.78s.11-42.46 3.77-77.22 23-54.12 59.09-57.64 98.28-3.52 145.14-3.52 109 0 145.14 3.52 55.43 23 59.09 57.64 3.77 51.59 3.77 77.22z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M367.57 282.84v.77c0 17.93-11.11 28.49-25.95 28.49s-24.84-11.88-26.27-28.49c0 0-1.31-8.69-1.31-26.29a229.5 229.5 0 0 1 1.53-28.6c2.64-18.7 11.77-28.49 26.6-28.49s26.49 12.76 26.49 32.12v.55h49.58c0-24.09-6.05-45.76-18.25-59.4S369.76 153 345.8 153a108.06 108.06 0 0 0-33 4.73 58.82 58.82 0 0 0-25.94 16.61c-7.23 7.96-12.86 18.52-16.86 31.83s-6 30-6 50.27c0 19.8 1.65 36.3 4.84 49.61s8 23.87 14.4 31.79a49.76 49.76 0 0 0 24 16.5q14.5 4.62 34 4.62c27.47 0 47.26-7 59.13-20.57S418 305.06 418 279.1h-50.65c.22 0 .22 2.75.22 3.74zm-170.27 0v.77c0 17.93-11.1 28.49-25.94 28.49s-24.84-11.88-26.27-28.49c0 0-1.31-8.69-1.31-26.29a229.5 229.5 0 0 1 1.53-28.6c2.64-18.7 11.77-28.49 26.6-28.49S198.4 213 198.4 232.35v.55H248c0-24.09-6-45.76-18.25-59.4S199.5 153 175.54 153a108.06 108.06 0 0 0-33 4.73 58.82 58.82 0 0 0-25.94 16.61c-7.26 7.92-12.86 18.48-16.93 31.79s-6 30-6 50.27c0 19.8 1.65 36.3 4.84 49.61s8 23.87 14.4 31.79a49.76 49.76 0 0 0 24 16.5q14.51 4.62 34 4.62c27.48 0 47.27-7 59.14-20.57s17.81-33.33 17.81-59.29h-50.78c.22.04.22 2.79.22 3.78z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoCodepen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M241.24 303.94c-15.32-10.36-30.74-20.57-46.06-30.93-2-1.38-3.43-1.48-5.5 0l-38.88 26.12C182 319.9 244 361.32 244 361.32v-53.79c0-1.22-1.55-2.78-2.76-3.59zm-46.15-63.27q23.19-15.24 46.11-30.86a7.54 7.54 0 0 0 2.8-5.34v-51.7s-62 41.12-93.26 61.94c13.7 9.16 26.67 17.91 39.78 26.44 1.02.66 3.4.28 4.57-.48zm74.75-31.32q23.71 16.07 47.63 31.82a4.3 4.3 0 0 0 3.83 0l39.76-26.47L268 152.48v53.35a4.79 4.79 0 0 0 1.84 3.52zm-11.73 21.02a5.27 5.27 0 0 0-4.74.17c-4.82 3-9.47 6.2-14.17 9.35-8.25 5.53-25.35 17-25.35 17l38.84 25.86a6.18 6.18 0 0 0 6.26.11l39-26s-34.07-22.66-39.84-26.49zM141 237.12v39.61l29.62-19.84L141 237.12z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M256 32C132.29 32 32 132.29 32 256s100.29 224 224 224 224-100.29 224-224S379.71 32 256 32zm139 265c0 5.78-2.65 9.86-7.51 13.09q-61.71 41-123.29 82.19c-5.85 3.92-11.17 3.75-17-.14q-61.17-41-122.63-81.67c-5.11-3.39-7.59-7.56-7.59-13.73V217c0-6.14 2.52-10.34 7.62-13.72 40.91-27.13 81.94-54.36 122.73-81.68 5.82-3.89 11.09-4 16.94-.09q61.54 41.21 123.26 82.19c4.68 3.11 7.45 6.95 7.45 12.66z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M316.25 273.23q-22.59 15.34-45.39 30.34c-2.41 1.58-2.89 3.31-2.86 6.19v51.34l93-62-38.53-25.88c-2.3-1.61-3.89-1.57-6.22.01zm53.75 3.45v-39.62l-29.59 19.87L370 276.68z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoCss3 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m64 32 35 403.22L255.77 480 413 435.15 448 32zm290.68 334.9L256.07 395l-98.46-28.24-6.75-77.76h48.26l3.43 39.56 53.59 15.16.13.28 53.47-14.85 5.64-64.15H203l-4-50h120.65l4.35-51H140l-4-49h240.58z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoDesignernews (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M295.31 122.8 222.86 64l72.68 122.64-.23-63.84z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M339.43 64v195.6h-41.6L225.6 141.28l1.94 118.32h-45.83V131.2L139.09 96c1.14 1.44 2.28 2.88 3.31 4.44 11.43 16.68 17.14 36.6 17.14 60.6 0 59-35 98.52-87.88 98.52H0v.48L228.11 448H512V205.72z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M111.89 162.52c0-34.8-16.23-54.12-45.38-54.12H44.57v106.8h21.72c29.71 0 45.6-18.48 45.6-52.68z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoDeviantart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M408 103.28V16h-89.31l-8.9 8.78-42.15 78.48-13.25 8.74H104v119.85h82.68l7.36 8.71L104 408.72V496h89.3l8.91-8.79 42.14-78.48 13.26-8.73H408V280.13h-82.68l-7.36-8.75L408 103.28z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoDiscord (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 66.52A50 50 0 0 0 414.12 17L97.64 16A49.65 49.65 0 0 0 48 65.52V392c0 27.3 22.28 48 49.64 48H368l-13-44 109 100zM324.65 329.81s-8.72-10.39-16-19.32C340.39 301.55 352.5 282 352.5 282a139 139 0 0 1-27.85 14.25 173.31 173.31 0 0 1-35.11 10.39 170.05 170.05 0 0 1-62.72-.24 184.45 184.45 0 0 1-35.59-10.4 141.46 141.46 0 0 1-17.68-8.21c-.73-.48-1.45-.72-2.18-1.21-.49-.24-.73-.48-1-.48-4.36-2.42-6.78-4.11-6.78-4.11s11.62 19.09 42.38 28.26c-7.27 9.18-16.23 19.81-16.23 19.81-53.51-1.69-73.85-36.47-73.85-36.47 0-77.06 34.87-139.62 34.87-139.62 34.87-25.85 67.8-25.12 67.8-25.12l2.42 2.9c-43.59 12.32-63.44 31.4-63.44 31.4s5.32-2.9 14.28-6.77c25.91-11.35 46.5-14.25 55-15.21a24 24 0 0 1 4.12-.49 205.62 205.62 0 0 1 48.91-.48 201.62 201.62 0 0 1 72.89 22.95s-19.13-18.15-60.3-30.45l3.39-3.86s33.17-.73 67.81 25.16c0 0 34.87 62.56 34.87 139.62 0-.28-20.35 34.5-73.86 36.19z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M212.05 218c-13.8 0-24.7 11.84-24.7 26.57s11.14 26.57 24.7 26.57c13.8 0 24.7-11.83 24.7-26.57.25-14.76-10.9-26.57-24.7-26.57zm88.38 0c-13.8 0-24.7 11.84-24.7 26.57s11.14 26.57 24.7 26.57c13.81 0 24.7-11.83 24.7-26.57S314 218 300.43 218z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoDocker (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M507 211.16c-1.42-1.19-14.25-10.94-41.79-10.94a132.55 132.55 0 0 0-21.61 1.9c-5.22-36.4-35.38-54-36.57-55l-7.36-4.28-4.75 6.9a101.65 101.65 0 0 0-13.06 30.45c-5 20.7-1.9 40.2 8.55 56.85-12.59 7.14-33 8.8-37.28 9H15.94A15.93 15.93 0 0 0 0 262.07a241.25 241.25 0 0 0 14.75 86.83C26.39 379.35 43.72 402 66 415.74 91.22 431.2 132.3 440 178.6 440a344.23 344.23 0 0 0 62.45-5.71 257.44 257.44 0 0 0 81.69-29.73 223.55 223.55 0 0 0 55.57-45.67c26.83-30.21 42.74-64 54.38-94h4.75c29.21 0 47.26-11.66 57.23-21.65a63.31 63.31 0 0 0 15.2-22.36l2.14-6.18z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M47.29 236.37H92.4a4 4 0 0 0 4-4v-40.48a4 4 0 0 0-4-4H47.29a4 4 0 0 0-4 4v40.44a4.16 4.16 0 0 0 4 4m62.21.04h45.12a4 4 0 0 0 4-4v-40.48a4 4 0 0 0-4-4H109.5a4 4 0 0 0-4 4v40.44a4.16 4.16 0 0 0 4 4m63.4.04H218a4 4 0 0 0 4-4v-40.48a4 4 0 0 0-4-4h-45.1a4 4 0 0 0-4 4v40.44a3.87 3.87 0 0 0 4 4m62.46.04h45.12a4 4 0 0 0 4-4v-40.48a4 4 0 0 0-4-4h-45.12a4 4 0 0 0-4 4v40.44a4 4 0 0 0 4 4M109.5 178.57h45.12a4.16 4.16 0 0 0 4-4v-40.48a4 4 0 0 0-4-4H109.5a4 4 0 0 0-4 4v40.44a4.34 4.34 0 0 0 4 4m63.4.04H218a4.16 4.16 0 0 0 4-4v-40.48a4 4 0 0 0-4-4h-45.1a4 4 0 0 0-4 4v40.44a4 4 0 0 0 4 4m62.46.04h45.12a4.16 4.16 0 0 0 4-4v-40.48a4.16 4.16 0 0 0-4-4h-45.12a4 4 0 0 0-4 4v40.44a4.16 4.16 0 0 0 4 4m0-58h45.12a4 4 0 0 0 4-4V76a4.16 4.16 0 0 0-4-4h-45.12a4 4 0 0 0-4 4v40.44a4.17 4.17 0 0 0 4 4m62.92 115.93h45.12a4 4 0 0 0 4-4v-40.48a4 4 0 0 0-4-4h-45.12a4 4 0 0 0-4 4v40.44a4.16 4.16 0 0 0 4 4\"},\"child\":[]}]})(props);\n};\nexport function IoLogoDribbble (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 32C132.33 32 32 132.33 32 256s100.33 224 224 224 224-100.22 224-224S379.67 32 256 32zm142.22 103.25a186.36 186.36 0 0 1 44 108.38c-40.37-2.1-88.67-2.1-127.4 1.52-4.9-12.37-9.92-24.5-15.4-36.17 44.66-19.36 79.08-44.8 98.8-73.73zM256 69.33a185.81 185.81 0 0 1 119.12 42.94c-20.3 25.66-52.15 48-91.82 64.86C261.6 137 236.63 102.47 210 75.28a187.51 187.51 0 0 1 46-5.95zm-84.47 20.42c26.95 26.83 52.27 61 74.44 101C203.85 203.62 155.55 211 104 211c-9.8 0-19.36-.35-28.81-.94a186.78 186.78 0 0 1 96.34-120.31zM69.68 247.13c10.62.47 21.35.7 32.2.59 58.8-.7 113.52-9.92 160.54-25q6.65 13.83 12.6 28.35a115.43 115.43 0 0 0-16.69 5c-64.28 27-114.91 70.51-142.33 123.13A186 186 0 0 1 69.33 256c0-3 .12-5.95.35-8.87zM256 442.67a185.57 185.57 0 0 1-114.45-39.32c24.85-49.23 69.18-90 125.07-115.27 5.25-2.45 12.25-4.43 20.3-6.18q10 27.64 17.85 57.4A678 678 0 0 1 322 430.42a185.06 185.06 0 0 1-66 12.25zm100.92-29.75a672.61 672.61 0 0 0-17.39-92.05c-4-15.17-8.51-29.87-13.41-44.22 36.63-3 80.5-2.57 115.38 0a186.5 186.5 0 0 1-84.58 136.27z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoDropbox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m256.32 126.24-120.16 78.25 120.16 78.24L136.16 361 16 282.08l120.16-78.24L16 126.24 136.16 48zm-120.8 259.52 120.16-78.25 120.16 78.25L255.68 464zm120.8-103.68 120.16-78.24-120.16-77.6L375.84 48 496 126.24l-120.16 78.25L496 282.73 375.84 361z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoEdge (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M255.5 15c-132 0-240 108-240 240s108 240 240 240c85.4 0 160.8-45.2 203.3-112.9a6.87 6.87 0 0 0-9.1-9.7 108.64 108.64 0 0 1-18.4 8.6c-36.8 12.6-57.1 13.1-82.1 12-27.9-1.2-61.9-10.8-85.8-25s-43.5-34.6-54.1-52.3-17-39.9-14.1-68.3c2.9-29 29.4-52.6 60.4-52.6 33.5 0 60.8 26.6 60.8 60.1 0 17-8.1 31.7-18.5 43.5-2.3 2.1-7.6 9.7 5.8 20 15.9 12.2 51.6 18 79.9 16.6s59.1-12.6 80.2-34.8c16.8-17.7 31.8-46.1 31.8-77.4C495.5 97.7 379.5 15 255.5 15z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoElectron (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M86.76 255a9.89 9.89 0 0 0 4.87-1.29 9.82 9.82 0 0 0 3.65-13.43c-16.46-28.56-17.81-52.12-7.45-70 14.26-24.57 53.61-33.65 105.27-24.29a9.86 9.86 0 0 0 11.45-7.9 9.84 9.84 0 0 0-7.93-11.44c-29.19-5.28-56-5.18-77.39.3-22.3 5.71-39 17.28-48.45 33.48-14 24.19-12.7 54.73 7.42 89.62a9.85 9.85 0 0 0 8.56 4.95zm274.85-111.27c32.24.42 52.61 9.31 62.79 26.86 14.21 24.48 2.52 62.81-31.27 102.52a9.82 9.82 0 0 0 7.51 16.18 9.88 9.88 0 0 0 7.52-3.46c19.12-22.47 32.35-45.54 38.25-66.71 6.14-22 4.43-42.21-5-58.38-13.8-23.78-40.13-36.15-79.59-36.67h-.14a9.83 9.83 0 0 0-.12 19.66zm-35.14 271.16a9.88 9.88 0 0 0-13.5 3.35c-16.41 27.15-36.57 42.1-56.77 42.1-28.49 0-56-29.31-73.73-78.42a9.87 9.87 0 0 0-12.59-5.92 9.83 9.83 0 0 0-6 12.58c10 27.77 23.47 50.75 39 66.46 16.11 16.34 34.55 25 53.32 25 27.38 0 53.54-18.33 73.65-51.61a9.81 9.81 0 0 0-3.38-13.5zm105.23-76.35a32.14 32.14 0 0 0-29.9 44.33c-41.8 19.5-119.8 4.79-191.87-36.62-32.91-18.9-62.16-41.86-84.6-66.39a9.9 9.9 0 0 0-13.91-.65 9.8 9.8 0 0 0-.65 13.9c23.79 26 54.68 50.28 89.33 70.18 40.28 23.13 82.27 38.63 121.43 44.81a225.54 225.54 0 0 0 35 2.91c23.12 0 43-4.3 58.51-12.79a32.2 32.2 0 1 0 16.7-59.68zm0 44.66a12.6 12.6 0 0 1-7.82-2.72 10 10 0 0 0-2.2-2.21 12.61 12.61 0 1 1 10 4.93z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M82.09 338.59c.57-21.26 12.41-47 33.68-73.16 23.19-28.45 56.69-56 94.34-77.65 33.25-19.1 65.2-31.9 98.07-38.91a9.83 9.83 0 1 0-4.12-19.22c-34.85 7.43-68.78 21-103.79 41.09C116.09 219.09 59.9 289.88 62.46 343.9a32.32 32.32 0 1 0 19.63-5.31zM80.3 383.2a12.5 12.5 0 1 1 12.59-12.5 12.56 12.56 0 0 1-12.59 12.5z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M256.2 96.32a32.23 32.23 0 0 0 26.53-13.81c17.89 11.69 34 35 45.81 66.12 13 34.39 19.84 75.38 19.84 118.54 0 37.18-5.19 72.35-15 103.6a9.72 9.72 0 0 0 .66 7.49 9.82 9.82 0 0 0 5.8 4.84 9.89 9.89 0 0 0 12.34-6.44c10.42-33.14 15.93-70.34 15.93-109.49 0-47.17-7.77-91.77-22.47-129-14.41-36.48-34.13-62.4-57.14-75.16a32.3 32.3 0 1 0-32.3 33.31zm0-44.66a12.5 12.5 0 1 1-12.59 12.5 12.56 12.56 0 0 1 12.59-12.5zm-5.2 191.7a24.35 24.35 0 0 0 5.16 48.16 24.68 24.68 0 0 0 5.16-.55A24.36 24.36 0 1 0 251 243.36z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoEuro (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M231.8 272v-48H376l8-48H231.8v-8.12c0-38.69 16.47-62.56 87.18-62.56 28.89 0 61.45 2.69 102.5 9.42l10.52-70A508.54 508.54 0 0 0 315.46 32C189.26 32 135 76.4 135 158.46V176H80v48h55v48H80v48h55v33.54C135 435.6 189.23 480 315.43 480a507.76 507.76 0 0 0 116.44-12.78l-10.58-70c-41.05 6.73-73.46 9.42-102.35 9.42-70.7 0-87.14-20.18-87.14-67.94V320h128.47l7.87-48z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoFacebook (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M480 257.35c0-123.7-100.3-224-224-224s-224 100.3-224 224c0 111.8 81.9 204.47 189 221.29V322.12h-56.89v-64.77H221V208c0-56.13 33.45-87.16 84.61-87.16 24.51 0 50.15 4.38 50.15 4.38v55.13H327.5c-27.81 0-36.51 17.26-36.51 35v42h62.12l-9.92 64.77H291v156.54c107.1-16.81 189-109.48 189-221.31z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoFigma (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M336 176a80 80 0 0 0 0-160H176a80 80 0 0 0 0 160 80 80 0 0 0 0 160 80 80 0 1 0 80 80V176z\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"336\",\"cy\":\"256\",\"r\":\"80\"},\"child\":[]}]})(props);\n};\nexport function IoLogoFirebase (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m93.19 329.38 47.45-304.07c1.64-10.37 15.55-12.82 20.46-3.55l51 95.45zM432 400l-46.74-276.79a11 11 0 0 0-18.54-6L80 400l159.36 91.91a33.18 33.18 0 0 0 31.91 0zM302.36 158.93l-36.54-69.54a10.86 10.86 0 0 0-19.36 0L85.83 375.74z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoFirefox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M471.46 194.62v-.07c-.22-.76-.45-1.52-.68-2.28-.05-.19-.11-.38-.17-.56-.43-1.44-.87-2.88-1.33-4.31l-.06-.2a223.24 223.24 0 0 0-10-25.56 191.77 191.77 0 0 0-12.9-23.8 225.15 225.15 0 0 0-74.74-73.74A222.9 222.9 0 0 0 256 32c-7 0-14 .34-20.82 1-24.12 2.54-64.78 11.21-97.77 40.18C257.5 11.86 417.94 85.7 404.29 223c-4.86 49-46.46 82.67-85.19 88.35a73.73 73.73 0 0 1-20.8.21c-94.59-13.15-88.8-90.68-60.06-123.83-38-.24-67.47 46.79-53.15 93-32.95-61.18.35-157 70.93-186-82.95-12-160.71 28.2-185.7 98.07A330.23 330.23 0 0 1 88.07 118s-45.22 35.74-54.44 110.9c-.14 1.16-.27 2.32-.39 3.49-.05.4-.09.8-.13 1.21q-.53 5.25-.8 10.57v.81c-.07 1.48-.13 3-.17 4.46v1.25c0 1.76-.07 3.52-.07 5.29 0 123.71 100.29 224 224 224S480 379.71 480 256a224 224 0 0 0-8.54-61.38z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoFlickr (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 32C132.8 32 32 132.8 32 256s100.8 224 224 224 224-100.8 224-224S379.2 32 256 32zm-82.16 280A56 56 0 1 1 228 257.84 56 56 0 0 1 173.84 312zm168 0A56 56 0 1 1 396 257.84 56 56 0 0 1 341.84 312z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoFoursquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M376.76 32H138.54C105.67 32 96 56.8 96 72.41v379.64c0 17.59 9.42 24.12 14.72 26.27s19.91 4 28.67-6.17c0 0 112.47-130.89 114.4-132.83 2.92-2.93 2.92-2.93 5.84-2.93h72.77c30.58 0 35.49-21.87 38.69-34.75 2.65-10.79 32.48-164 42.45-212.56C421.14 52 411.74 32 376.76 32zm-5.67 269.64c2.65-10.79 32.48-164 42.45-212.56m-50.85 7.59-10 51.73c-1.19 5.65-8.28 11.6-14.86 11.6h-95.92c-10.44 0-17.91 6.14-17.91 16.6v13.45c0 10.47 7.52 17.89 18 17.89h81.85c7.38 0 14.61 8.11 13 16s-9.09 46.57-10 50.89-5.84 11.72-14.61 11.72H248c-11.7 0-15.24 1.54-23.07 11.3s-78.26 94.59-78.26 94.59c-.71.82-1.41.58-1.41-.31V95.9c0-6.69 5.8-14.53 14.48-14.53h191.14a12.42 12.42 0 0 1 11.81 15.3z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoGithub (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 32C132.3 32 32 134.9 32 261.7c0 101.5 64.2 187.5 153.2 217.9a17.56 17.56 0 0 0 3.8.4c8.3 0 11.5-6.1 11.5-11.4 0-5.5-.2-19.9-.3-39.1a102.4 102.4 0 0 1-22.6 2.7c-43.1 0-52.9-33.5-52.9-33.5-10.2-26.5-24.9-33.6-24.9-33.6-19.5-13.7-.1-14.1 1.4-14.1h.1c22.5 2 34.3 23.8 34.3 23.8 11.2 19.6 26.2 25.1 39.6 25.1a63 63 0 0 0 25.6-6c2-14.8 7.8-24.9 14.2-30.7-49.7-5.8-102-25.5-102-113.5 0-25.1 8.7-45.6 23-61.6-2.3-5.8-10-29.2 2.2-60.8a18.64 18.64 0 0 1 5-.5c8.1 0 26.4 3.1 56.6 24.1a208.21 208.21 0 0 1 112.2 0c30.2-21 48.5-24.1 56.6-24.1a18.64 18.64 0 0 1 5 .5c12.2 31.6 4.5 55 2.2 60.8 14.3 16.1 23 36.6 23 61.6 0 88.2-52.4 107.6-102.3 113.3 8 7.1 15.2 21.1 15.2 42.5 0 30.7-.3 55.5-.3 63 0 5.4 3.1 11.5 11.4 11.5a19.35 19.35 0 0 0 4-.4C415.9 449.2 480 363.1 480 261.7 480 134.9 379.7 32 256 32z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoGitlab (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m494.07 281.6-25.18-78.08a11 11 0 0 0-.61-2.1l-50.5-156.94a20.08 20.08 0 0 0-19.17-13.82 19.77 19.77 0 0 0-18.95 13.94l-48.14 149.55h-152L131.34 44.59a19.76 19.76 0 0 0-18.86-13.94h-.11a20.15 20.15 0 0 0-19.12 14L42.7 201.73c0 .14-.11.26-.16.4l-25.63 79.48a29.15 29.15 0 0 0 10.44 32.46l221.44 162.41a11.25 11.25 0 0 0 13.38-.07l221.48-162.34a29.13 29.13 0 0 0 10.42-32.47m-331-64.51 61.73 191.76L76.63 217.09m209.64 191.8 59.19-183.84 2.55-8h86.52L300.47 390.44M398.8 59.31l43.37 134.83h-86.82M324.16 217l-43 133.58-25.66 79.56L186.94 217M112.27 59.31l43.46 134.83H69M40.68 295.58a6.19 6.19 0 0 1-2.21-6.9l19-59 139.61 180.59m273.26-114.69L313.92 410.22l.52-.69L453.5 229.64l19 59a6.2 6.2 0 0 1-2.19 6.92\"},\"child\":[]}]})(props);\n};\nexport function IoLogoGooglePlaystore (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M48 59.49v393a4.33 4.33 0 0 0 7.37 3.07L260 256 55.37 56.42A4.33 4.33 0 0 0 48 59.49zM345.8 174 89.22 32.64l-.16-.09c-4.42-2.4-8.62 3.58-5 7.06l201.13 192.32zM84.08 472.39c-3.64 3.48.56 9.46 5 7.06l.16-.09L345.8 338l-60.61-57.95zM449.38 231l-71.65-39.46L310.36 256l67.37 64.43L449.38 281c19.49-10.77 19.49-39.23 0-50z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoGoogle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m473.16 221.48-2.26-9.59H262.46v88.22H387c-12.93 61.4-72.93 93.72-121.94 93.72-35.66 0-73.25-15-98.13-39.11a140.08 140.08 0 0 1-41.8-98.88c0-37.16 16.7-74.33 41-98.78s61-38.13 97.49-38.13c41.79 0 71.74 22.19 82.94 32.31l62.69-62.36C390.86 72.72 340.34 32 261.6 32c-60.75 0-119 23.27-161.58 65.71C58 139.5 36.25 199.93 36.25 256s20.58 113.48 61.3 155.6c43.51 44.92 105.13 68.4 168.58 68.4 57.73 0 112.45-22.62 151.45-63.66 38.34-40.4 58.17-96.3 58.17-154.9 0-24.67-2.48-39.32-2.59-39.96z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoHackernews (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M32 32v448h448V32zm249.67 250.83v84H235v-84l-77-140h55l46.32 97.54 44.33-97.54h52.73z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoHtml5 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m64 32 34.94 403.21L255.77 480 413 435.15 448 32zm308 132H188l4 51h176l-13.51 151.39L256 394.48l-98.68-28-6.78-77.48h48.26l3.42 39.29L256 343.07l53.42-14.92L315 264H148l-12.59-149.59H376.2z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoInstagram (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M349.33 69.33a93.62 93.62 0 0 1 93.34 93.34v186.66a93.62 93.62 0 0 1-93.34 93.34H162.67a93.62 93.62 0 0 1-93.34-93.34V162.67a93.62 93.62 0 0 1 93.34-93.34h186.66m0-37.33H162.67C90.8 32 32 90.8 32 162.67v186.66C32 421.2 90.8 480 162.67 480h186.66C421.2 480 480 421.2 480 349.33V162.67C480 90.8 421.2 32 349.33 32z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M377.33 162.67a28 28 0 1 1 28-28 27.94 27.94 0 0 1-28 28zM256 181.33A74.67 74.67 0 1 1 181.33 256 74.75 74.75 0 0 1 256 181.33m0-37.33a112 112 0 1 0 112 112 112 112 0 0 0-112-112z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoIonic (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 153.9A102.1 102.1 0 1 0 358.1 256 102.23 102.23 0 0 0 256 153.9z\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"402.59\",\"cy\":\"116.45\",\"r\":\"46.52\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"m459.86 163.2-1.95-4.28-3.11 3.52a70 70 0 0 1-28.06 19.32l-3 1.1 1.22 2.93A181.43 181.43 0 0 1 439 256c0 100.92-82.1 183-183 183S73 356.92 73 256 155.08 73 256 73a180.94 180.94 0 0 1 78.43 17.7l2.87 1.3 1.25-2.92A70.19 70.19 0 0 1 359.21 62l3.67-2.93-4.17-2.07A221.61 221.61 0 0 0 256 32C132.49 32 32 132.49 32 256s100.49 224 224 224 224-100.49 224-224a222.19 222.19 0 0 0-20.14-92.8z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoIonitron (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M468.41 269.19c-2.64-33.39-11.76-58-31.44-57.39a1 1 0 0 0-.92 1.37c5.11 12.59 9.68 36.9 9.17 58.07a1 1 0 0 1-2 .08c-2.19-21.21-7.1-41.19-16.22-59.43a186.69 186.69 0 0 0-348.91 41 4 4 0 0 1-3.33 3.11l-8.65 1.22c-17.2 2.4-26.9 34.9-21.7 72.5s23.5 66.2 40.7 63.8l13.24-1.85a4 4 0 0 1 3.93 1.84 186.71 186.71 0 0 0 339-56.07 4 4 0 0 1 3.68-3.08l4.4-.24c15.15-2.53 21.75-31.23 19.05-64.93zM94.5 270.42a1 1 0 0 1 1.59-1.19c9.63 10 20.25 27.65 23.32 49.86 3.24 23.05-2.24 45.2-9.13 57.87a1 1 0 0 1-1.84-.73c4.07-14.44 5.16-33.83 2.27-54.74-2.8-20.32-8.71-38.27-16.21-51.07zm178.77 109.79a15.53 15.53 0 0 1-15.41-13.83 15.48 15.48 0 1 1 15.41 13.83zm81.84-4.72a15.37 15.37 0 1 1 14.6-16.2 15.43 15.43 0 0 1-14.6 16.2z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M165.51 70a.31.31 0 0 1 .1.2c.1.2.2.3.3.5v.1a5.78 5.78 0 0 0 2.3 2.7c2 1.5 5 2.4 8.6 3a63.69 63.69 0 0 0 11.9.5 28.25 28.25 0 0 0 2.9-.2c-.4-.4-.8-.9-1.2-1.3h-1.3a52 52 0 0 1-11.6-.9 19.71 19.71 0 0 1-8.4-3.4 9.24 9.24 0 0 1-1.4-1.4 4.48 4.48 0 0 1 0-2.3c.5-2.3 2.4-4.8 5.5-7.4a57.25 57.25 0 0 1 10.9-7c.9-.4 1.7-.9 2.6-1.3.1-.1.3-.1.5-.2a24.69 24.69 0 0 0-.2 10.5c2.3 11.9 11.6 20.3 23.2 20.6l4 24.3 12.7-3-4-23.3c10.8-4.6 16.3-16.1 14-28a25.8 25.8 0 0 0-3.9-9.5c-5.3-.8-15.6-.8-29.2 2.1 1.1-.3 2.1-.7 3.2-1a135.27 135.27 0 0 1 21.5-4.2c.6-.1 1.2-.1 1.8-.2l3.5-.3h.6a61.83 61.83 0 0 1 10.8.3 29 29 0 0 1 6.1 1.4 5.71 5.71 0 0 0-.9 3.2 6.12 6.12 0 0 0 4.3 5.8 25.53 25.53 0 0 1-2.1 2.8 26 26 0 0 1-2.9 2.8c-1.1.9-2.3 1.8-3.5 2.7l-6.5 3.8-.3 1.5a.35.35 0 0 0 .2-.1l8.4-4.7c1.2-.8 2.4-1.6 3.4-2.4a29.15 29.15 0 0 0 3.2-2.8 29.86 29.86 0 0 0 2.4-2.8l.3-.6a6.14 6.14 0 0 0 5.4-6 6.06 6.06 0 0 0-6.1-6.1 6.81 6.81 0 0 0-2.8.7 24.6 24.6 0 0 0-8.2-2.7 63.48 63.48 0 0 0-15.5-.6 14.92 14.92 0 0 0-2.1.2 13.55 13.55 0 0 1-2 .2 25.15 25.15 0 0 0-18.7-3.7 25.86 25.86 0 0 0-17.8 13c-1.3.5-2.6 1.1-3.8 1.7-.7.3-1.3.6-2 .9a60.75 60.75 0 0 0-13.9 9.1c-3.1 2.9-4.9 5.7-5.3 8.3a6.14 6.14 0 0 0 .7 4 2.19 2.19 0 0 1 .3.5z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoJavascript (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M32 32v448h448V32zm240 348c0 43.61-25.76 64.87-63.05 64.87-33.68 0-53.23-17.44-63.15-38.49l34.28-20.75c6.61 11.73 11.63 21.65 26.06 21.65 12 0 21.86-5.41 21.86-26.46V240h44zm99.35 63.87c-39.09 0-64.35-17.64-76.68-42L329 382c9 14.74 20.75 24.56 41.5 24.56 17.44 0 27.57-7.72 27.57-19.75 0-14.43-10.43-19.54-29.68-28l-10.52-4.52c-30.38-12.92-50.52-29.16-50.52-63.45 0-31.57 24.05-54.63 61.64-54.63 26.77 0 46 8.32 59.85 32.68L396 290c-7.22-12.93-15-18-27.06-18-12.33 0-20.15 7.82-20.15 18 0 12.63 7.82 17.74 25.86 25.56l10.52 4.51c35.79 15.34 55.94 31 55.94 66.16.01 37.9-29.76 57.64-69.76 57.64z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoLaravel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M505.57 234.62c-3.28-3.53-26.82-32.29-39.51-47.79-6.75-8.24-12.08-14.75-14.32-17.45l-.18-.22-.2-.21c-5.22-5.83-12.64-12.51-23.78-12.51a39.78 39.78 0 0 0-5.41.44c-.37.05-.75.11-1.15.15-2.45.27-10.06 1.5-28.14 4.48-14 2.29-35.11 5.77-38.31 6.07l-.71.06-.69.13c-10 1.78-16.62 6.22-19.56 13.19-1.55 3.68-3.22 11.15 2.94 19.86 1.53 2.22 6.83 9.56 15.94 22.17 6.06 8.4 12.87 17.82 18.75 26L259.9 275 150.66 96.05l-.2-.34-.23-.33-.44-.65C145.32 88.17 139.76 80 123.7 80c-1.13 0-2.31 0-3.63.11-4.6.25-21.42 1.57-40.89 3.11-21.49 1.69-50.9 4-54.72 4.1h-.73l-.79.08c-9.14.89-15.77 4.6-19.7 11-6.55 10.69-1.42 22.69.26 26.63C6.87 133 37.56 197.7 64.63 254.81c18 37.94 36.58 77.17 38.1 80.65a34.85 34.85 0 0 0 32.94 21.59 46.62 46.62 0 0 0 9.86-1.1h.21l.2-.05c13.86-3.38 57.83-14.54 89.2-22.59 1.9 3.32 3.9 6.83 6 10.44 21.93 38.5 37.9 66.35 43.16 73.46C287 421 295 432 310.06 432c5.46 0 10.46-1.4 15.74-2.89l1.53-.43h.12c10.53-3 150.69-52.16 157.87-55.35l.22-.1c5.44-2.41 13.66-6.05 16.18-15.4 1.65-6.12.18-12.33-4.38-18.46l-.07-.09-.07-.09c-.85-1.1-4-5.21-8.27-10.9-9.13-12.07-23.88-31.57-36.84-48.54 17.37-4.5 38.8-10.11 43.38-11.55 11.47-3.43 14.94-10.69 16-14.73.79-3.15 1.82-11.2-5.9-18.85zm-320 58.19c-17.81 4.17-30.22 7.08-37.89 8.9-6.67-13.34-19.74-39.65-32.5-65.33-29.74-59.92-45.1-90.77-53.18-106.9l8.15-.7c13.34-1.15 31.61-2.72 41.78-3.57 16.76 28.26 74.32 125.3 96.3 162.3zM427.58 172zM310.06 416.4zm53.67-56.95c-24.21 8-37.33 12.37-44.42 14.74-6.3-10.34-20.16-33.52-32.47-54.19l115.7-29.48c5 6.81 14.57 19.72 33.46 44.93-18.07 6.04-48.2 16.02-72.27 24zm55.87-121.63-23.76-31.53c13.67-2.39 21.54-3.77 26.15-4.6l12 14.88 11.94 14.82c-8.2 1.99-17.74 4.32-26.33 6.43z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoLinkedin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M444.17 32H70.28C49.85 32 32 46.7 32 66.89v374.72C32 461.91 49.85 480 70.28 480h373.78c20.54 0 35.94-18.21 35.94-38.39V66.89C480.12 46.7 464.6 32 444.17 32zm-273.3 373.43h-64.18V205.88h64.18zM141 175.54h-.46c-20.54 0-33.84-15.29-33.84-34.43 0-19.49 13.65-34.42 34.65-34.42s33.85 14.82 34.31 34.42c-.01 19.14-13.31 34.43-34.66 34.43zm264.43 229.89h-64.18V296.32c0-26.14-9.34-44-32.56-44-17.74 0-28.24 12-32.91 23.69-1.75 4.2-2.22 9.92-2.22 15.76v113.66h-64.18V205.88h64.18v27.77c9.34-13.3 23.93-32.44 57.88-32.44 42.13 0 74 27.77 74 87.64z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoMarkdown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M475 64H37C16.58 64 0 81.38 0 102.77v306.42C0 430.59 16.58 448 37 448h438c20.38 0 37-17.41 37-38.81V102.77C512 81.38 495.42 64 475 64zM288 368h-64V256l-48 64-48-64v112H64V144h64l48 80 48-80h64zm96 0-80-112h48.05L352 144h64v112h48z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoMastodon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M480 173.59c0-104.13-68.26-134.65-68.26-134.65C377.3 23.15 318.2 16.5 256.8 16h-1.51c-61.4.5-120.46 7.15-154.88 22.94 0 0-68.27 30.52-68.27 134.65 0 23.85-.46 52.35.29 82.59C34.91 358 51.11 458.37 145.32 483.29c43.43 11.49 80.73 13.89 110.76 12.24 54.47-3 85-19.42 85-19.42l-1.79-39.5s-38.93 12.27-82.64 10.77c-43.31-1.48-89-4.67-96-57.81a108.44 108.44 0 0 1-1-14.9 558.91 558.91 0 0 0 96.39 12.85c32.95 1.51 63.84-1.93 95.22-5.67 60.18-7.18 112.58-44.24 119.16-78.09 10.42-53.34 9.58-130.17 9.58-130.17zm-80.54 134.16h-50V185.38c0-25.8-10.86-38.89-32.58-38.89-24 0-36.06 15.53-36.06 46.24v67h-49.66v-67c0-30.71-12-46.24-36.06-46.24-21.72 0-32.58 13.09-32.58 38.89v122.37h-50V181.67q0-38.65 19.75-61.39c13.6-15.15 31.4-22.92 53.51-22.92 25.58 0 44.95 9.82 57.75 29.48L256 147.69l12.45-20.85c12.81-19.66 32.17-29.48 57.75-29.48 22.11 0 39.91 7.77 53.51 22.92q19.79 22.72 19.75 61.39z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoMedium (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M28 28v456h456V28H28zm378.83 108.04-24.46 23.45a7.162 7.162 0 0 0-2.72 6.86v172.28c-.44 2.61.61 5.26 2.72 6.86l23.88 23.45v5.15H286.13v-5.15l24.74-24.02c2.43-2.43 2.43-3.15 2.43-6.86V198.81l-68.79 174.71h-9.3l-80.09-174.71v117.1c-.67 4.92.97 9.88 4.43 13.44l32.18 39.03v5.15h-91.24v-5.15l32.18-39.03c3.44-3.57 4.98-8.56 4.15-13.44V180.5c.38-3.76-1.05-7.48-3.86-10.01l-28.6-34.46v-5.15h88.81l68.65 150.55 60.35-150.55h84.66v5.16z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoMicrosoft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M31.87 30.58H244.7v212.81H31.87zm235.02 0H479.7v212.81H266.89zM31.87 265.61H244.7v212.8H31.87zm235.02 0H479.7v212.8H266.89z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoNoSmoking (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M360 256h16v48h-16zm-248 48h129.6l-48-48H112v48z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M364.5 60.1a8.79 8.79 0 0 1-1-.6 218.79 218.79 0 0 0-34.4-14.8l-5.4-1.8A223.2 223.2 0 0 0 256 32C132.3 32 32 132.3 32 256a223.71 223.71 0 0 0 115.4 195.8c.4.2.7.5 1.1.7a218.79 218.79 0 0 0 34.4 14.8l5.4 1.8A222.7 222.7 0 0 0 256 480c123.7 0 224-100.3 224-224A223.76 223.76 0 0 0 364.5 60.1zM256 426.4a161.85 161.85 0 0 1-27.2-2.4 170.14 170.14 0 0 1-28.5-7.3c-1.9-.6-3.8-1.2-5.6-1.9a162.39 162.39 0 0 1-19-8.6 170.33 170.33 0 0 1-90.1-150.3c0-37.2 12.4-71.4 32.7-99.4l237.2 237.2c-28.1 20.3-62.3 32.7-99.5 32.7zm137.8-71L156.6 118.2c28-20.2 62.1-32.6 99.4-32.6a162.79 162.79 0 0 1 27.2 2.4 170.14 170.14 0 0 1 28.5 7.3c1.8.6 3.7 1.2 5.6 1.9a162 162 0 0 1 18 8.1 170.25 170.25 0 0 1 91.2 150.8c-.1 37.2-12.5 71.3-32.7 99.3z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M352 256h-34l34 34v-34zm32 0h16v48h-16zm-23.9-43.3c-8.8-4.1-22-5.7-45.6-5.7h-3.6c-12.7.1-15.9-.1-20-6.1-2.8-4.2-1-14.8 3.7-21.9a8 8 0 0 0 .4-8.2 8.26 8.26 0 0 0-7-4.3 53.67 53.67 0 0 1-18.3-3.9c-10.6-4.5-15.6-12.1-15.6-23.1 0-25.8 21.8-27.7 22.8-27.7v-16c-12 0-38.8 11-38.8 43.7 0 17.5 9 31 25.7 38a66.58 66.58 0 0 0 12 3.6c-3.3 9.8-3.6 20.9 1.7 28.7 9 13.3 20.3 13.2 33.3 13.1h3.5c26.3 0 34.6 2.3 38.9 4.3 5.7 2.6 6.8 7.5 6.6 15.7v1h16v-1c0-7.1.3-22.8-15.7-30.2z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M400 244c0-25.7-3-39.2-9.1-49.6C382.3 180 368.5 172 352 172h-17.4c2.9-8.3 5.4-19.8 3.5-30.9-3.2-18.8-19.1-30-43.1-30v16c21 0 26.1 9.1 27.4 16.7 2.5 14.5-6.8 32.1-6.9 32.3a8 8 0 0 0 .1 7.9 8.06 8.06 0 0 0 6.9 3.9H352c10.9 0 19.4 4.9 25.1 14.6 3.1 5.3 6.9 13.5 6.9 41.4h16z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoNodejs (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M429.76 130.07 274.33 36.85a37 37 0 0 0-36.65 0L82.24 130.06A38.2 38.2 0 0 0 64 162.83V349a38.26 38.26 0 0 0 18.24 32.8L123 406.14l.23.13c20.58 10.53 28.46 10.53 37.59 10.53 32.14 0 52.11-20.8 52.11-54.29V182a8.51 8.51 0 0 0-8.42-8.58h-22.38a8.51 8.51 0 0 0-8.42 8.58v180.51a15 15 0 0 1-6.85 13.07c-5.9 3.6-14.47 2.84-24.14-2.15l-39.06-23.51a1.1 1.1 0 0 1-.48-.92V165.46a1.32 1.32 0 0 1 .59-1.06l151.84-93a.82.82 0 0 1 .73 0l151.93 93a1.34 1.34 0 0 1 .55 1.1V349a1.28 1.28 0 0 1-.45 1l-152.06 90.65a1.22 1.22 0 0 1-.8 0l-38.83-23.06a7.8 7.8 0 0 0-7.83-.41l-.34.2c-10.72 6.35-13.6 8-23.54 11.62-1.62.59-5.43 2-5.76 5.77s3.29 6.45 6.51 8.32l51.9 31.87a35.67 35.67 0 0 0 18.3 5.07h.58a35.87 35.87 0 0 0 17.83-5.07l155.43-93.13A38.37 38.37 0 0 0 448 349V162.83a38.21 38.21 0 0 0-18.24-32.76z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M307.88 318.05c-37.29 0-45.24-10.42-47.6-27.24a8.43 8.43 0 0 0-8.22-7.32h-19.8a8.44 8.44 0 0 0-8.26 8.58c0 14.58 5.12 62.17 83.92 62.17 24.38 0 44.66-5.7 58.63-16.49S388 311.26 388 292.55c0-37.55-24.5-47.83-72.75-54.55-49.05-6.82-49.05-10.29-49.05-17.89 0-5.47 0-18.28 35.46-18.28 25.23 0 38.74 3.19 43.06 20a8.35 8.35 0 0 0 8.06 6.67h19.87a8.24 8.24 0 0 0 6.16-2.86 8.91 8.91 0 0 0 2.12-6.44c-2.57-35.55-28.56-53.58-79.24-53.58-46.06 0-73.55 20.75-73.55 55.5 0 38.1 28.49 48.87 71.29 53.33 50 5.17 50 12.71 50 19.37.03 10.38-4.28 24.23-41.55 24.23z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoNpm (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M227.6 213.1H256v57.1h-28.4z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 156v171.4h142.2V356H256v-28.6h256V156zm142.2 142.9h-28.4v-85.7H85.3v85.7H28.4V184.6h113.8zm142.2 0h-56.9v28.6h-56.9V184.6h113.8zm199.2 0h-28.4v-85.7h-28.4v85.7h-28.4v-85.7H370v85.7h-56.9V184.6h170.7v114.3z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoOctocat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M172.86 290.12c-9.75 0-18.11 4.56-24.86 13.87s-10.07 20.58-10.07 34 3.43 24.91 10.07 34.12S163 386 172.86 386c9.1 0 17-4.66 23.68-13.87s10.07-20.58 10.07-34.12-3.43-24.81-10.07-34-14.54-13.89-23.68-13.89zm167.46 0c-9.64 0-18.11 4.56-24.86 13.87s-10.07 20.58-10.07 34 3.43 24.91 10.07 34.12S330.57 386 340.32 386c9.11 0 17-4.66 23.79-13.87s10.07-20.58 10.07-34.12-3.43-24.81-10.07-34-14.57-13.89-23.79-13.89z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M459.36 165c-.11 0 2.89-15.49.32-42.47-2.36-27-8-51.78-17.25-74.53 0 0-4.72.87-13.72 3.14S405 58 384.89 67.18c-19.82 9.2-40.71 21.44-62.46 36.29-14.79-4.23-36.86-6.39-66.43-6.39-28.18 0-50.25 2.16-66.43 6.39Q117.9 53.25 69.46 48q-13.81 34.13-17.14 74.75c-2.57 27 .43 42.58.43 42.58C26.71 193.82 16 234.88 16 268.78c0 26.22.75 49.94 6.54 71 6 20.91 13.6 38 22.6 51.14A147.49 147.49 0 0 0 79 425.43c13.39 10.08 25.71 17.34 36.86 21.89 11.25 4.76 24 8.23 38.57 10.72a279.19 279.19 0 0 0 32.68 4.34s30 1.62 69 1.62 68.89-1.62 68.89-1.62a285.25 285.25 0 0 0 32.68-4.38 178.91 178.91 0 0 0 38.46-10.72c11.15-4.66 23.47-11.81 37-21.89a145 145 0 0 0 33.75-34.55c9-13.11 16.6-30.23 22.6-51.14s6.51-44.81 6.51-71.03c0-32.82-10.71-74.42-36.64-103.67zm-70.07 253.07C359.39 432.26 315.46 438 257.18 438h-2.25c-58.29 0-102.22-5.63-131.57-19.93s-44.25-43.45-44.25-87.43c0-26.32 9.21-47.66 27.32-64 7.93-7 17.57-11.92 29.57-14.84s22.93-3 33.21-2.71c10.08.43 24.22 2.38 42.11 3.79s31.39 3.25 44.79 3.25c12.53 0 29.14-2.17 55.82-4.33s46.61-3.25 59.46-1.09c13.18 2.17 24.65 6.72 34.4 15.93q28.44 25.67 28.5 64c-.11 43.98-15.22 73.24-45 87.43z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoPaypal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M424.81 148.79c-.43 2.76-.93 5.58-1.49 8.48-19.17 98-84.76 131.8-168.54 131.8h-42.65a20.67 20.67 0 0 0-20.47 17.46l-21.84 137.84-6.18 39.07a10.86 10.86 0 0 0 9.07 12.42 10.72 10.72 0 0 0 1.7.13h75.65a18.18 18.18 0 0 0 18-15.27l.74-3.83 14.24-90 .91-4.94a18.16 18.16 0 0 1 18-15.3h11.31c73.3 0 130.67-29.62 147.44-115.32 7-35.8 3.38-65.69-15.16-86.72a72.27 72.27 0 0 0-20.73-15.82z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M385.52 51.09C363.84 26.52 324.71 16 274.63 16H129.25a20.75 20.75 0 0 0-20.54 17.48l-60.55 382a12.43 12.43 0 0 0 10.39 14.22 12.58 12.58 0 0 0 1.94.15h89.76l22.54-142.29-.7 4.46a20.67 20.67 0 0 1 20.47-17.46h42.65c83.77 0 149.36-33.86 168.54-131.8.57-2.9 1.05-5.72 1.49-8.48 5.7-36.22-.05-60.87-19.72-83.19z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoPinterest (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256.05 32c-123.7 0-224 100.3-224 224 0 91.7 55.2 170.5 134.1 205.2-.6-15.6-.1-34.4 3.9-51.4 4.3-18.2 28.8-122.1 28.8-122.1s-7.2-14.3-7.2-35.4c0-33.2 19.2-58 43.2-58 20.4 0 30.2 15.3 30.2 33.6 0 20.5-13.1 51.1-19.8 79.5-5.6 23.8 11.9 43.1 35.4 43.1 42.4 0 71-54.5 71-119.1 0-49.1-33.1-85.8-93.2-85.8-67.9 0-110.3 50.7-110.3 107.3 0 19.5 5.8 33.3 14.8 43.9 4.1 4.9 4.7 6.9 3.2 12.5-1.1 4.1-3.5 14-4.6 18-1.5 5.7-6.1 7.7-11.2 5.6-31.3-12.8-45.9-47-45.9-85.6 0-63.6 53.7-139.9 160.1-139.9 85.5 0 141.8 61.9 141.8 128.3 0 87.9-48.9 153.5-120.9 153.5-24.2 0-46.9-13.1-54.7-27.9 0 0-13 51.6-15.8 61.6-4.7 17.3-14 34.5-22.5 48a225.13 225.13 0 0 0 63.5 9.2c123.7 0 224-100.3 224-224S379.75 32 256.05 32z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoPlaystation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M399.77 203c-.8-17.1-3.3-34.5-10.8-50.1a82.45 82.45 0 0 0-16.5-23.2 105.59 105.59 0 0 0-21.3-16.3c-17.1-10.2-37.5-17-84.4-31S192 64 192 64v358.3l79.9 25.7s.1-198.8.1-299.5v-3.8c0-9.3 7.5-16.8 16.1-16.8h.5c8.5 0 15.5 7.5 15.5 16.8V278c11 5.3 29.2 9.3 41.8 9.1a47.79 47.79 0 0 0 24-5.7 49.11 49.11 0 0 0 18.4-17.8 78.64 78.64 0 0 0 9.9-27.3c1.87-10.8 1.97-22.1 1.57-33.3zM86.67 357.8c27.4-9.8 89.3-29.5 89.3-29.5v-47.2s-76.5 24.8-111.3 37.1c-8.6 3.1-17.3 5.9-25.7 9.5-9.8 4.1-19.4 8.7-28.1 14.8a26.29 26.29 0 0 0-9.2 10.1 17.36 17.36 0 0 0-.5 13.6c2 5.1 5.8 9.3 10.1 12.6 7.8 5.9 17.1 9.5 26.4 12.2a262.42 262.42 0 0 0 88.4 13.3c14.5-.2 36-1.9 50-4.4v-42s-11 2.5-41.3 12.5c-4.6 1.5-9.2 3.3-14 4.3a104.87 104.87 0 0 1-21.6 2.2c-6.5-.3-13.2-.7-19.3-3.1-2.2-1-4.6-2.2-5.5-4.6-.8-2 .3-4 1.7-5.4 2.8-2.9 6.8-4.5 10.6-6z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M512 345.9c-.1-6-3.7-11.2-7.9-15-7.1-6.3-15.9-10.3-24.7-13.5-5.5-1.9-9.3-3.3-14.7-5-25.2-8.2-51.9-11.2-78.3-11.3-8 .3-23.1.5-31 1.4-21.9 2.5-67.3 15.4-67.3 15.4v48.8s67.5-21.6 96.5-31.8a94.43 94.43 0 0 1 30.3-4.6c6.5.2 13.2.7 19.4 3.1 2.2.9 4.5 2.2 5.5 4.5.9 2.6-.9 5-2.9 6.5-4.7 3.8-10.7 5.3-16.2 7.4-41 14.5-132.7 44.7-132.7 44.7v47s117.2-39.6 170.8-58.8c8.9-3.3 17.9-6.1 26.4-10.4 7.9-4 15.8-8.6 21.8-15.3a19.74 19.74 0 0 0 5-13.1z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoPwa (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m330.7 352 77.72-192H356.9l-53.16 124.07L265.93 160h-39.61l-40.58 124.07-28.63-56.53-25.9 79.46 26.3 45h50.7l36.68-111.27 35 111.27zM48.79 286.09h31.65a93.39 93.39 0 0 0 25.62-3.21l8.18-25.19 22.88-70.39a55.75 55.75 0 0 0-6-7.82Q113.54 160 79.59 160H0v192h48.79zm41.9-81.92q6.89 6.92 6.88 18.52t-6 18.53q-6.64 7.62-24.44 7.61H48.79v-51.58h18.42q16.59 0 23.48 6.92zm286.16 113.44 14.79-37.25h42.69l-20.26-56.51L439.41 160 512 352h-53.53l-12.4-34.39z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoPython (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M314 36.38c-18.59-3.06-45.8-4.47-64.27-4.38a311.09 311.09 0 0 0-51.66 4.38c-45.74 8-54.07 24.7-54.07 55.54V128h112v16H107.62C66.06 144 32.33 193.67 32 255.12v.88a162.91 162.91 0 0 0 3.13 32c9.29 46.28 38.23 80 72.49 80H128v-54c0-31.3 20.84-59.95 55-66.1l9.87-1.23H314a56.05 56.05 0 0 0 15.06-2A52.48 52.48 0 0 0 368 193.68V91.92c0-28.92-24.68-50.73-54-55.54zM194.93 105.5a20.37 20.37 0 1 1 20.3-20.3 20.29 20.29 0 0 1-20.3 20.3z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M475.28 217c-10.7-42.61-38.41-73-70.9-73h-17.71v47.45c0 39.57-26 68.22-57.74 73.13a63.54 63.54 0 0 1-9.69.75H198.08a60 60 0 0 0-15.23 1.95C160.54 273.14 144 291.7 144 315.77v101.77c0 29 29.14 46 57.73 54.31 34.21 9.95 71.48 11.75 112.42 0 27.19-7.77 53.85-23.48 53.85-54.31V384H256v-16h148.38c29.44 0 54.95-24.93 67.45-61.31A156.83 156.83 0 0 0 480 256a160.64 160.64 0 0 0-4.72-39zM316.51 404a20.37 20.37 0 1 1-20.3 20.3 20.29 20.29 0 0 1 20.3-20.3z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoReact (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M410.66 180.72q-7.67-2.62-15.45-4.88 1.29-5.25 2.38-10.56c11.7-56.9 4.05-102.74-22.06-117.83-25-14.48-66 .61-107.36 36.69q-6.1 5.34-11.95 11-3.9-3.76-8-7.36c-43.35-38.58-86.8-54.83-112.88-39.69-25 14.51-32.43 57.6-21.9 111.53q1.58 8 3.55 15.93a320.85 320.85 0 0 0-17.77 5.6C48.46 198.9 16 226.73 16 255.59c0 29.82 34.84 59.72 87.77 77.85q6.44 2.19 13 4.07-2.13 8.49-3.77 17.17c-10 53-2.2 95.07 22.75 109.49 25.77 14.89 69-.41 111.14-37.31q5-4.38 10-9.25 6.32 6.11 13 11.86c40.8 35.18 81.09 49.39 106 34.93 25.75-14.94 34.12-60.14 23.25-115.13q-1.25-6.3-2.88-12.86 4.56-1.35 8.93-2.79c55-18.27 90.83-47.81 90.83-78-.02-29-33.52-57.01-85.36-74.9zm-129-81.08c35.43-30.91 68.55-43.11 83.65-34.39 16.07 9.29 22.32 46.75 12.22 95.88q-1 4.8-2.16 9.57a487.83 487.83 0 0 0-64.18-10.16 481.27 481.27 0 0 0-40.57-50.75q5.38-5.22 11.02-10.15zM157.73 280.25q6.51 12.6 13.61 24.89 7.23 12.54 15.07 24.71a435.28 435.28 0 0 1-44.24-7.13c4.24-13.72 9.46-27.97 15.56-42.47zm0-48.33c-6-14.19-11.08-28.15-15.25-41.63 13.7-3.07 28.3-5.58 43.52-7.48q-7.65 11.94-14.72 24.23t-13.58 24.88zm10.9 24.17q9.48-19.77 20.42-38.78 10.93-19 23.27-37.13c14.28-1.08 28.92-1.65 43.71-1.65s29.52.57 43.79 1.66q12.21 18.09 23.13 37t20.69 38.6Q334 275.63 323 294.73q-10.91 19-23 37.24c-14.25 1-29 1.55-44 1.55s-29.47-.47-43.46-1.38q-12.43-18.19-23.46-37.29t-20.48-38.76zM340.75 305q7.25-12.58 13.92-25.49a440.41 440.41 0 0 1 16.12 42.32 434.44 434.44 0 0 1-44.79 7.65q7.62-12.09 14.75-24.48zm13.72-73.07q-6.64-12.65-13.81-25-7-12.18-14.59-24.06c15.31 1.94 30 4.52 43.77 7.67a439.89 439.89 0 0 1-15.37 41.39zm-98.24-107.45a439.75 439.75 0 0 1 28.25 34.18q-28.35-1.35-56.74 0c9.33-12.34 18.88-23.79 28.49-34.18zM145.66 65.86c16.06-9.32 51.57 4 89 37.27 2.39 2.13 4.8 4.36 7.2 6.67A491.37 491.37 0 0 0 201 160.51a499.12 499.12 0 0 0-64.06 10q-1.83-7.36-3.3-14.82c-9.05-46.23-3.06-81.08 12.02-89.83zm-23.41 251.85q-6-1.71-11.85-3.71c-23.4-8-42.73-18.44-56-29.81-11.88-10.19-17.9-20.36-17.9-28.6 0-17.51 26.06-39.85 69.52-55q8.19-2.85 16.52-5.21a493.54 493.54 0 0 0 23.4 60.75 502.46 502.46 0 0 0-23.69 61.58zm111.13 93.67c-18.63 16.32-37.29 27.89-53.74 33.72-14.78 5.23-26.55 5.38-33.66 1.27-15.14-8.75-21.44-42.54-12.85-87.86q1.53-8 3.5-16a480.85 480.85 0 0 0 64.69 9.39 501.2 501.2 0 0 0 41.2 51c-2.98 2.93-6.03 5.75-9.14 8.48zm23.42-23.22c-9.72-10.51-19.42-22.14-28.88-34.64q13.79.54 28.08.54c9.78 0 19.46-.21 29-.64a439.33 439.33 0 0 1-28.2 34.74zm124.52 28.59c-2.86 15.44-8.61 25.74-15.72 29.86-15.13 8.78-47.48-2.63-82.36-32.72-4-3.44-8-7.13-12.07-11a484.54 484.54 0 0 0 40.23-51.2 477.84 477.84 0 0 0 65-10.05q1.47 5.94 2.6 11.64c4.81 24.3 5.5 46.28 2.32 63.47zm17.4-102.64c-2.62.87-5.32 1.71-8.06 2.53a483.26 483.26 0 0 0-24.31-60.94 481.52 481.52 0 0 0 23.36-60.06c4.91 1.43 9.68 2.93 14.27 4.52 44.42 15.32 71.52 38 71.52 55.43 0 18.6-29.27 42.74-76.78 58.52z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M256 298.55a43 43 0 1 0-42.86-43 42.91 42.91 0 0 0 42.86 43z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoReddit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M324 256a36 36 0 1 0 36 36 36 36 0 0 0-36-36z\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"188\",\"cy\":\"292\",\"r\":\"36\",\"transform\":\"rotate(-22.5 187.997 291.992)\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M496 253.77c0-31.19-25.14-56.56-56-56.56a55.72 55.72 0 0 0-35.61 12.86c-35-23.77-80.78-38.32-129.65-41.27l22-79 66.41 13.2c1.9 26.48 24 47.49 50.65 47.49 28 0 50.78-23 50.78-51.21S441 48 413 48c-19.53 0-36.31 11.19-44.85 28.77l-90-17.89-31.1 109.52-4.63.13c-50.63 2.21-98.34 16.93-134.77 41.53A55.38 55.38 0 0 0 72 197.21c-30.89 0-56 25.37-56 56.56a56.43 56.43 0 0 0 28.11 49.06 98.65 98.65 0 0 0-.89 13.34c.11 39.74 22.49 77 63 105C146.36 448.77 199.51 464 256 464s109.76-15.23 149.83-42.89c40.53-28 62.85-65.27 62.85-105.06a109.32 109.32 0 0 0-.84-13.3A56.32 56.32 0 0 0 496 253.77zM414 75a24 24 0 1 1-24 24 24 24 0 0 1 24-24zM42.72 253.77a29.6 29.6 0 0 1 29.42-29.71 29 29 0 0 1 13.62 3.43c-15.5 14.41-26.93 30.41-34.07 47.68a30.23 30.23 0 0 1-8.97-21.4zM390.82 399c-35.74 24.59-83.6 38.14-134.77 38.14S157 423.61 121.29 399c-33-22.79-51.24-52.26-51.24-83A78.5 78.5 0 0 1 75 288.72c5.68-15.74 16.16-30.48 31.15-43.79a155.17 155.17 0 0 1 14.76-11.53l.3-.21.24-.17c35.72-24.52 83.52-38 134.61-38s98.9 13.51 134.62 38l.23.17.34.25A156.57 156.57 0 0 1 406 244.92c15 13.32 25.48 28.05 31.16 43.81a85.44 85.44 0 0 1 4.31 17.67 77.29 77.29 0 0 1 .6 9.65c-.01 30.72-18.21 60.19-51.25 82.95zm69.6-123.92c-7.13-17.28-18.56-33.29-34.07-47.72A29.09 29.09 0 0 1 440 224a29.59 29.59 0 0 1 29.41 29.71 30.07 30.07 0 0 1-8.99 21.39z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M323.23 362.22c-.25.25-25.56 26.07-67.15 26.27-42-.2-66.28-25.23-67.31-26.27a4.14 4.14 0 0 0-5.83 0l-13.7 13.47a4.15 4.15 0 0 0 0 5.89c3.4 3.4 34.7 34.23 86.78 34.45 51.94-.22 83.38-31.05 86.78-34.45a4.16 4.16 0 0 0 0-5.9l-13.71-13.47a4.13 4.13 0 0 0-5.81 0z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoRss (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M108.56 342.78a60.34 60.34 0 1 0 60.56 60.44 60.63 60.63 0 0 0-60.56-60.44z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M48 186.67v86.55c52 0 101.94 15.39 138.67 52.11s52 86.56 52 138.67h86.66c0-151.56-125.66-277.33-277.33-277.33z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M48 48v86.56c185.25 0 329.22 144.08 329.22 329.44H464C464 234.66 277.67 48 48 48z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoSass (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M511.78 328.07c-1.47-11.92-7.51-22.26-18-30.77a3.58 3.58 0 0 0-.43-.44l-.53-.38-.17-.12-5.57-4-.19-.14-.71-.5a3.5 3.5 0 0 0-.83-.35c-17.62-10.49-46.79-17.84-91.42-2.09-10.65-17.92-11.86-32.28-4.73-54.28 1.27-3.83.09-6.36-3.71-8-7.64-3.25-18.1-1.59-25.52.37-3.46.9-5.54 2.86-6.2 5.83-4.7 22-18.36 42.1-31.57 61.5l-.78 1.14c-8.14-17.26-6.45-30.63-.78-47.38 1.13-3.34.24-5.56-2.89-7.22-8.74-4.51-21.85-1.41-27.07.13-6.62 1.93-13.72 19.82-21.65 41.24-2 5.39-3.72 10-4.75 12.15-2.45 5-4.79 10.7-7.27 16.75-5.6 13.69-11.91 29.1-20.93 38.78-3.28-7.25 1.88-18.68 6.89-29.77 5.93-13.11 11.53-25.5 5.08-33.41a11.82 11.82 0 0 0-8.33-4.32 13.26 13.26 0 0 0-6.15 1c.67-5.65.7-10.11-.95-15.5-2.36-7.69-8.49-12-16.93-11.77-19.22.56-35.48 14.88-45.75 26.8-6.84 8-22 14.1-35.31 19.45-5.26 2.23-10.26 4.23-14.43 6.23-6.65-5.62-15.1-11.29-24-17.28-25-16.78-53.33-35.81-54.31-61.61-1.4-38.11 42-65.14 79.88-84.43 28.71-14.6 53.67-24.28 76.31-29.57 31.8-7.43 58.66-5.93 79.82 4.44 11.58 5.67 17 18 13.56 30.68-9 32.95-46.29 55.53-78.18 65.69-19.21 6.12-35.56 8.68-50 7.84-18.1-1.05-32.88-10.13-39.2-14a21.18 21.18 0 0 0-3.2-1.8l-.29-.07a3.21 3.21 0 0 0-3.19 1c-1.3 1.55-.84 4-.37 5.24 6.15 16.07 18.85 26.22 37.74 30.17a92.09 92.09 0 0 0 18.78 1.79c44.21 0 100.62-25.49 121.34-46.48 14.13-14.3 24.42-29 28.68-54.35 4.45-26.55-13.55-45-31.89-53.5-44.57-20.57-95.19-12.44-129.81-2-40.5 12.21-82.4 34.41-114.94 60.93-40.12 32.67-54.62 63-43.12 90.25 11.81 27.93 40.61 45.4 68.46 62.3 9 5.45 17.56 10.64 25.27 16-2.32 1.13-4.69 2.28-7.1 3.43-23.38 11.33-49.9 24.08-64.61 45.15-10.68 15.35-12.68 30.63-5.94 45.42 3.6 7.87 10 13.21 18.89 15.87A50 50 0 0 0 53 432c17.31 0 36.36-7 46.73-13.47 18.32-11.5 30.19-26.94 35.29-45.89 4.54-16.86 3.45-33.61-3.15-48.56l22.45-11.32c-10.83 36-2.53 57.5 6.59 69.36 3.36 4.37 9.42 7 16.19 7.12s13-2.43 16.52-6.77c6.66-8.25 11.58-17.9 16.11-27.55-.24 6.3.06 12.68 2.21 18.09 1.93 4.87 5.11 8.1 9.21 9.34 4.36 1.33 9.47.21 14.39-3.15 22.17-15.17 37.33-51.58 49.51-80.85 1.73-4.16 3.39-8.16 5-11.9a152.5 152.5 0 0 0 12.5 31.07c1.18 2.14 1.08 3.08-.52 4.84-2.41 2.64-5.77 5.83-9.33 9.21-10.78 10.23-24.2 23-26 34.23-.7 4.5 2.4 8.6 7.21 9.53 14.47 2.88 31.9-1.33 46.64-11.25 13.4-9 18.44-21.55 15-37.19-3.33-15.06 4.27-33.76 22.59-55.62 3 12.53 7 22.66 12.52 31.53l-.15.12c-13.34 11.65-31.62 27.6-28.78 46.95a13.35 13.35 0 0 0 5.58 9.22 14.22 14.22 0 0 0 11.2 2.06c17.47-3.67 30.62-11.06 40.18-22.57s6.07-24.27 2.85-34.17c25-6.78 47.26-6.61 68.1.5 11.7 4 20.09 10.57 24.93 19.64 6.09 11.41 2.8 21.94-9.29 29.65-3.71 2.37-5.5 3.82-5.61 5.65a2.65 2.65 0 0 0 1 2.23c1.4 1.15 5.72 3.15 15.49-3 9-5.65 14.28-13.34 15.63-23a39 39 0 0 0-.01-8.01zm-399.73 25.06-.1 1.28c-1.56 14.64-9 27.4-22.15 38-8.26 6.66-17.23 10.75-25.25 11.53-5.6.54-9.67-.22-12.09-2.27-1.81-1.53-2.78-3.82-3-7-1.64-25.48 38.32-50.8 60.81-59.13a51.39 51.39 0 0 1 1.78 17.59zm102.35-71.86c-3.7 21.09-14.49 60.9-31.45 76.35-.81.74-1.49 1-1.8.93s-.55-.44-.8-1c-5.66-13.12-3.57-35.28 5-52.69 6.59-13.42 16-22.31 26.52-25a5.29 5.29 0 0 1 1.34-.19 1.58 1.58 0 0 1 1 .27 1.64 1.64 0 0 1 .19 1.33zm83.49 76.88c-3.19 3.33-7.56 2.88-6.53 1.66l16.24-17.24c-1.31 5.93-5.18 10.84-9.71 15.58zm67.37-14.91a14.07 14.07 0 0 1-4.93 1.39c-.46-9.07 8.33-19.28 17-26.09 2.33 9.46-2.44 19.46-12.07 24.7z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoSkype (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M467.16 303.6a205.69 205.69 0 0 0 4.9-45.15c0-116.32-95.69-210.7-213.79-210.7a221.83 221.83 0 0 0-36.52 3A123.58 123.58 0 0 0 155.93 32C87.55 32 32 86.72 32 154.15A119.56 119.56 0 0 0 49 216a211.16 211.16 0 0 0-4.32 42.35c0 116.44 95.69 210.7 213.67 210.7a214 214 0 0 0 39.09-3.5A125.45 125.45 0 0 0 356.07 480C424.57 480 480 425.28 480 357.85a118 118 0 0 0-12.84-54.25zM368 359c-9.92 13.76-24.51 24.73-43.41 32.43S283.36 403 257.69 403c-30.69 0-56.36-5.37-76.55-15.87a101 101 0 0 1-35.24-30.8c-9.11-12.83-13.66-25.66-13.66-38 0-7.7 3-14.35 8.87-19.95 5.84-5.37 13.42-8.17 22.29-8.17 7.35 0 13.65 2.1 18.79 6.42 4.9 4.08 9.1 10.15 12.48 18.08A108.09 108.09 0 0 0 207 336.15q6.32 8.22 17.86 13.65c7.82 3.62 18.2 5.48 31 5.48 17.62 0 32.09-3.73 42.94-11.08 10.74-7.12 15.88-15.75 15.88-26.25 0-8.28-2.69-14.82-8.29-19.95-5.83-5.37-13.42-9.57-22.87-12.37-9.69-3-22.87-6.18-39.21-9.56-22.17-4.67-41-10.27-56-16.57-15.28-6.42-27.65-15.4-36.76-26.48-9.22-11.32-13.77-25.55-13.77-42.24a67.86 67.86 0 0 1 14.47-42.58c9.57-12.25 23.46-21.82 41.55-28.35 17.74-6.53 38.86-9.8 62.66-9.8 19.14 0 35.83 2.22 49.83 6.42s25.91 10.15 35.36 17.38 16.34 14.93 20.77 23 6.66 16.22 6.66 24c0 7.46-2.92 14.35-8.76 20.3a29.65 29.65 0 0 1-21.94 9.1c-7.93 0-14.12-1.87-18.43-5.6-4-3.5-8.17-8.87-12.72-16.69-5.37-9.91-11.79-17.85-19.14-23.45-7.24-5.36-19.14-8.16-35.71-8.16-15.29 0-27.77 3-37 9-8.87 5.72-13.19 12.37-13.19 20.18a18.26 18.26 0 0 0 4.32 12.25 38.13 38.13 0 0 0 12.72 9.57 90.14 90.14 0 0 0 17.15 6.53c6 1.64 15.87 4.09 29.53 7.12 17.38 3.62 33.25 7.82 47.26 12.13 14.24 4.55 26.49 10 36.52 16.45a72.93 72.93 0 0 1 24.16 25.09c5.72 10 8.64 22.63 8.64 37.1A75.09 75.09 0 0 1 368 359z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoSlack (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M126.12 315.1A47.06 47.06 0 1 1 79.06 268h47.06zm23.72 0a47.06 47.06 0 0 1 94.12 0v117.84a47.06 47.06 0 1 1-94.12 0zm47.06-188.98A47.06 47.06 0 1 1 244 79.06v47.06zm0 23.72a47.06 47.06 0 0 1 0 94.12H79.06a47.06 47.06 0 0 1 0-94.12zm188.98 47.06a47.06 47.06 0 1 1 47.06 47.1h-47.06zm-23.72 0a47.06 47.06 0 0 1-94.12 0V79.06a47.06 47.06 0 1 1 94.12 0zM315.1 385.88a47.06 47.06 0 1 1-47.1 47.06v-47.06zm0-23.72a47.06 47.06 0 0 1 0-94.12h117.84a47.06 47.06 0 1 1 0 94.12z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoSnapchat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496 347.21a190.31 190.31 0 0 1-32.79-5.31c-27.28-6.63-54.84-24.26-68.12-52.43-6.9-14.63-2.64-18.59 11.86-24 14.18-5.27 29.8-7.72 36.86-23 5.89-12.76 1.13-27.76-10.41-35.49-15.71-10.53-30.35-.21-46.62 2.07 3.73-46.66 8.66-88.57-22.67-127.73C338.14 48.86 297.34 32 256.29 32s-81.86 16.86-107.81 49.33c-31.38 39.26-26.4 81.18-22.67 127.92-16.32-2.25-30.81-12.79-46.63-2.18-14.72 9.85-17 29.76-5.44 43s31.64 9.5 43.45 20.6c6.49 6.09 3.49 12.61-.35 20.14-14.48 28.4-39.26 45.74-69.84 51.56-4 .76-22.31 2.87-31 3.65 0 9.28.52 16.78 1.63 21.73 2.94 13.06 12.32 23.58 23.69 30.1 11.18 6.4 35.48 6.43 41.68 15.51 3 4.48 1.76 12.28 5.33 17.38a23.8 23.8 0 0 0 15.37 9.75c18.61 3.61 37.32-7.2 56.42-2.1 14.85 3.95 26.52 15.87 39.26 24 15.51 9.85 32.34 16.42 50.83 17.49 38.1 2.21 59.93-18.91 90.58-36.42 19.5-11.14 38.15-3.86 58.88-2.68 20.1 1.15 23.53-9.25 29.62-24.88a27.37 27.37 0 0 0 1.54-4.85 10.52 10.52 0 0 0 2.28-1.47c2-1.57 10.55-2.34 12.76-2.86 10.28-2.44 20.34-5.15 29.17-11.2 11.31-7.76 17.65-18.5 19.58-32.64a93.73 93.73 0 0 0 1.38-15.67zM208 128c8.84 0 16 10.74 16 24s-7.16 24-16 24-16-10.74-16-24 7.16-24 16-24zm103.62 77.7c-15.25 15-35 23.3-55.62 23.3a78.37 78.37 0 0 1-55.66-23.34 8 8 0 0 1 11.32-11.32A62.46 62.46 0 0 0 256 213c16.39 0 32.15-6.64 44.39-18.7a8 8 0 0 1 11.23 11.4zM304 176c-8.84 0-16-10.75-16-24s7.16-24 16-24 16 10.75 16 24-7.16 24-16 24z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoSoundcloud (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.8 278a2.11 2.11 0 0 0-2 2L0 308.64l3.74 28.16a2.12 2.12 0 0 0 2.05 2 2.14 2.14 0 0 0 2-2l4.44-28.17L7.83 280a2.14 2.14 0 0 0-2-2zm21.05-15.68a2.13 2.13 0 0 0-4.26 0l-5 46.32 5 45.3a2.13 2.13 0 0 0 4.26 0l5.73-45.31-5.73-46.32zm79.32-42.73a4 4 0 0 0-3.87 3.87l-4 85.22 4 55.08a3.88 3.88 0 0 0 7.75 0l4.53-55.08-4.53-85.22a4 4 0 0 0-3.88-3.87zm-41.05 29.62a3.09 3.09 0 0 0-3 3l-4.52 56.45 4.51 54.63a3 3 0 0 0 6 0l5.13-54.63-5.13-56.48a3.1 3.1 0 0 0-2.99-2.97zm82.76 118.39a4.83 4.83 0 0 0 4.75-4.74l3.93-54.15-3.93-113.46a4.75 4.75 0 0 0-9.5 0l-3.49 113.45 3.49 54.17a4.81 4.81 0 0 0 4.75 4.73zm85.4.25a6.6 6.6 0 0 0 6.5-6.52l2.74-52.6-2.74-131a6.5 6.5 0 1 0-13 0l-2.45 131c0 .08 2.45 52.67 2.45 52.67a6.59 6.59 0 0 0 6.5 6.45zm-43.02-.2a5.67 5.67 0 0 0 5.62-5.64l3.34-53.33-3.34-114.28a5.63 5.63 0 1 0-11.25 0l-3 114.29 3 53.32a5.66 5.66 0 0 0 5.63 5.6zm-104.7-.5a3.53 3.53 0 0 0 3.44-3.41l4.83-55.09-4.83-52.4a3.44 3.44 0 0 0-6.88 0l-4.26 52.38 4.26 55.08a3.5 3.5 0 0 0 3.44 3.44zm-40.72-3.02a2.67 2.67 0 0 0 2.57-2.52l5.43-53-5.42-55a2.57 2.57 0 0 0-5.14 0l-4.78 55 4.78 53a2.62 2.62 0 0 0 2.56 2.53zm166.85-171.6a6.1 6.1 0 0 0-6.07 6.09l-2.71 110.11 2.71 53a6.07 6.07 0 0 0 12.13 0l3-53-3-110.13a6.1 6.1 0 0 0-6.06-6.07zM127 367.71a4.41 4.41 0 0 0 4.31-4.3l4.23-54.71-4.28-104.7a4.32 4.32 0 0 0-8.63 0l-3.74 104.7 3.75 54.73a4.38 4.38 0 0 0 4.36 4.28zm47.17-5.17 3.63-53.8-3.63-117.28a5.19 5.19 0 1 0-10.37 0l-3.23 117.28 3.23 53.83a5.18 5.18 0 0 0 10.36 0zM449 241.1a62.42 62.42 0 0 0-24.33 4.9c-5-57.18-52.61-102-110.66-102a111.92 111.92 0 0 0-40.28 7.58c-4.75 1.85-6 3.76-6.06 7.46V360.4a7.66 7.66 0 0 0 6.8 7.5l174.56.11c34.78 0 63-28.41 63-63.45s-28.2-63.46-63-63.46zm-194.21-82.23a7 7 0 0 0-6.94 7L245 308.75l2.85 51.87a6.94 6.94 0 1 0 13.87-.06v.06l3.09-51.87-3.09-142.93a7 7 0 0 0-6.93-6.95z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoStackoverflow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M392 440V320h40v160H64V320h40v120z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"m149.1 308.77 198.57 40.87 8.4-39.32-198.57-40.87zm26.27-93.12L359.22 300 376 263.76l-183.82-84.84zm50.95-89 156 127.78 25.74-30.52-156-127.78zM328 32l-33.39 23.8 120.82 160.37L448 192zM144 400h204v-40H144z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoSteam (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M478.8 208.2a36 36 0 1 1-36-36 36 36 0 0 1 36 36zM442.6 139a69.42 69.42 0 0 0-69.4 68.7l-43.2 62a48.86 48.86 0 0 0-5.4-.3 51.27 51.27 0 0 0-26.4 7.3L102.4 198a51.8 51.8 0 1 0-50.6 62.9 51.27 51.27 0 0 0 26.4-7.3L274 332.2a51.76 51.76 0 0 0 102.1-5.9l66.5-48.6a69.35 69.35 0 1 0 0-138.7zm0 22.9a46.45 46.45 0 1 1-46.5 46.5 46.54 46.54 0 0 1 46.5-46.5zm-390.8 9a38.18 38.18 0 0 1 33.7 20.2l-18.9-7.6v.1a30.21 30.21 0 0 0-22.6 56v.1l16.1 6.4a36.8 36.8 0 0 1-8.2.9 38.05 38.05 0 0 1-.1-76.1zm272.8 112.2a38.1 38.1 0 1 1-33.7 55.9c6.3 2.5 12.5 5 18.8 7.6a30.27 30.27 0 1 0 22.5-56.2l-15.9-6.4a46.83 46.83 0 0 1 8.3-.9z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoStencil (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M188.8 334.07h197.33L279.47 448H83.2zM512 199H106.61L0 313h405.39zM232.2 64h196.6L322.62 177.93H125.87z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoTableau (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M242.69 340.3h26.62v-72.6h67v-25.82h-67v-72.6h-26.62v72.6h-66.15v25.82h66.15zM119.26 445.18h22.59v-64.54h59.7v-20.17h-59.7v-65.34h-22.59v65.34h-59.7v20.17h59.7zM370.15 212h22.59v-64.5h60.5v-19.37h-60.5V62.79h-22.59v65.34h-59.7v19.37h59.7zM246.72 496h19.36v-46h41.15v-16.92h-41.15v-46h-19.36v46h-40.33V450h40.33zM120.07 212h21v-65.31h60.51v-18.56H141V62.79h-21v65.34H59.56v18.56h60.51zm315.65 96.84h19.36v-45.18H496v-17.74h-40.92v-45.18h-19.36v45.18h-40.33v17.74h40.33z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M370.15 445.18h22.59v-64.54h60.5v-20.17h-60.5v-65.34h-22.59v65.34h-59.7v20.17h59.7z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M307 74.08V60.37h-40.34V16h-14.52v44.37h-40.33v13.71h40.33v44.37h14.52V74.08zM56.11 305.61h14.52v-44.37H111v-13.71H70.63V204H56.11v43.56H16v14.52l40.11-.08z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoTiktok (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M412.19 118.66a109.27 109.27 0 0 1-9.45-5.5 132.87 132.87 0 0 1-24.27-20.62c-18.1-20.71-24.86-41.72-27.35-56.43h.1C349.14 23.9 350 16 350.13 16h-82.44v318.78c0 4.28 0 8.51-.18 12.69 0 .52-.05 1-.08 1.56 0 .23 0 .47-.05.71v.18a70 70 0 0 1-35.22 55.56 68.8 68.8 0 0 1-34.11 9c-38.41 0-69.54-31.32-69.54-70s31.13-70 69.54-70a68.9 68.9 0 0 1 21.41 3.39l.1-83.94a153.14 153.14 0 0 0-118 34.52 161.79 161.79 0 0 0-35.3 43.53c-3.48 6-16.61 30.11-18.2 69.24-1 22.21 5.67 45.22 8.85 54.73v.2c2 5.6 9.75 24.71 22.38 40.82A167.53 167.53 0 0 0 115 470.66v-.2l.2.2c39.91 27.12 84.16 25.34 84.16 25.34 7.66-.31 33.32 0 62.46-13.81 32.32-15.31 50.72-38.12 50.72-38.12a158.46 158.46 0 0 0 27.64-45.93c7.46-19.61 9.95-43.13 9.95-52.53V176.49c1 .6 14.32 9.41 14.32 9.41s19.19 12.3 49.13 20.31c21.48 5.7 50.42 6.9 50.42 6.9v-81.84c-10.14 1.1-30.73-2.1-51.81-12.61z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoTumblr (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M390 32H120c-49.19 0-88 38.81-88 88v270c0 49.19 38.81 90 88 90h270c49.19 0 90-40.81 90-90V120c0-49.19-40.81-88-90-88zm-54 364h-52c-42.51 0-72-23.68-72-76v-80h-36v-48c42.51-11 57.95-48.32 60-80h44v72h52v56h-52l-.39 70.51c0 21.87 11 29.43 28.62 29.43L336 340z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoTux (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M443.66 405.05c-1.46-.79-2.85-1.54-4-2.2-6.47-3.83-13-10.52-11.85-17.83 2.42-15.94 2.89-23.47-.49-28.79a15.61 15.61 0 0 0-7.67-6.2v-.06c1.41-2.56 2.26-5.66 2.83-10.12 1.44-11-5-44-13.7-70.7-8.08-24.68-29.24-50-44.7-68.56l-3.61-4.34c-23.88-28.93-24.34-38.19-26.55-82.67-.32-6.47-.69-13.8-1.17-22C329.87 41.43 304 16 256 16c-25.2 0-44.62 7.15-57.72 21.26C187.79 48.55 182 64 182 80.78c0 29.52 2 53 2.15 54.29 1.4 35.7 1 41.22-8.31 57.55-2.23 3.93-8.38 10.87-14.89 18.21-8.48 9.57-18.09 20.41-23.36 29.22-3.77 6.31-5.88 12.63-8.11 19.33-3.4 10.21-7.26 21.78-18.15 36.57-12.57 17.07-15.52 29.61-11 47.45-4.94 6.45-4.83 14.37-4.75 20.23a25.84 25.84 0 0 1-.3 6.09c-2.29 7.59-12.42 9.4-22 10.18-1.58.12-3.1.21-4.55.29-7.26.39-13.53.74-17.13 6.3-3.47 5.36-1.12 13.8 2.14 25.48.72 2.58 1.46 5.25 2.19 8.06 1.83 7-.16 10.48-2.68 14.84-2.44 4.21-5.21 9-5.21 17.55 0 14.67 20 18 43.05 21.94 7.36 1.24 15 2.53 22.63 4.24a225.58 225.58 0 0 1 34.08 10.68c9.72 3.73 17.4 6.68 26.43 6.68 16.18 0 28.25-9.77 39.92-19.21l2.15-1.75c5.53-4.49 21.5-4 34.34-3.64 3.46.1 6.73.2 9.65.2h6.22c13.48-.08 31.94-.18 42.23 2.5 3.75 1 6.2 3.72 9.29 7.19 5.87 6.56 13.17 14.75 33.39 14.75 19.39 0 29.55-8.71 41.32-18.8 7.16-6.13 14.56-12.48 25.07-17.86 3.92-2 7.62-3.87 11.08-5.61 22.64-11.38 35.11-17.65 35.11-27.82 0-9.91-12.24-16.5-20.34-20.86zM211.11 88.38a13.91 13.91 0 0 1 12.47 9c1.95 5.55 1.81 10.42.21 12.94 0 0-.22-1-.36-1.44a14.85 14.85 0 0 0-6.44-8.59 11.35 11.35 0 0 0-8.94-1.47c-4.26 1.13-8.41 5-8.91 18.79-5.16-10.47-2.31-18 .92-23 2.31-3.73 7.47-6.33 11.05-6.23zm-17.5 375C192 479.24 175.2 479 170.09 478.59c-9.81-.82-21.66-4.69-33.13-8.43-4.52-1.47-9.19-3-13.73-4.34-13.2-3.89-30.12-6.74-43.72-9-3.22-.55-6.27-1.06-9.05-1.55s-4.61-1.27-5.2-2.3c-1-1.65.38-5.25 1.93-9.41C69.27 438 72.11 430.34 72 421c0-3.91-1.47-8.3-2.84-12.56-1.62-5-3.28-10.17-1.93-12.62 1.23-2.23 6.75-2.49 11.6-2.49h2.26c3.55 0 6.62.06 8.75-.53 6.51-1.81 14.86-6.92 17.81-13.88.9-2.17 1.37-6.94 2-14 .37-4.12.74-8.37 1.22-10.58a3.55 3.55 0 0 1 2.11-2.55c1.65-.77 6.78-1.91 18.63 4.08 11.18 5.65 22.88 25.84 34.2 45.37 3.56 6.14 6.92 11.94 10.3 17.36 14.04 22.54 18.83 31.6 17.5 44.8zm128.84-31.56a68.74 68.74 0 0 1-4.55 10.9.58.58 0 0 1-1.08-.42 56.61 56.61 0 0 0 2.11-18.43c-.25-4.73-.4-7.59-2.66-8.51s-4.26.83-9.45 5.54c-1.1 1-2.36 2.14-3.78 3.4-10.8 9.47-26.88 20.68-55.61 23.37-16.84 1.59-27.59-4.63-30.92-8.14a2.16 2.16 0 0 0-3.07-.08 2.23 2.23 0 0 0-.51 2.29c2.12 6.84 1.2 12.26-.49 16.19-.95 2.2-1.85 2.05-2-.34-.25-4.64-1-9.88-3-14.19-3.11-6.94-7-14.34-8.89-17.88v-.05c3.24-1.49 8.86-4.83 11.37-10.88s4.48-18-9.82-31.74c-6.28-6.05-22.1-17.16-36.06-27-10.9-7.65-22.17-15.56-23.65-17.51-4.49-5.89-6.37-9.3-6.94-19.65.07-2.3.13-4.59.19-6.89l.27-2.49a.58.58 0 0 1 1.15 0 63.07 63.07 0 0 0 2 9.72c1.08 3.73 2.4 7.58 3.62 9.18 3.19 4.22 7.56 7.39 11.67 8.49a5.48 5.48 0 0 0 5-.72c2.93-2.33 2.65-7.6 2.19-16.34-.47-9-1.11-21.34 1.85-34.55 5.62-25 10.91-32.51 17.61-42 .86-1.22 1.75-2.47 2.65-3.79 1.44-2.08 3-4.1 4.67-6.23 7.47-9.61 15.93-20.49 13.92-40.95-.51-5.19-.76-8.83-.86-11.39a1 1 0 0 1 1.88-.59l.49.77 1.21 2c4.86 8 13.64 22.57 25.1 22.57a13.62 13.62 0 0 0 2.36-.21c23.39-3.93 51.9-30.25 52.17-30.51 3.12-3 2.84-6.14 1.64-7.91a5.18 5.18 0 0 0-6.45-1.72c-3.29 1.4-7.14 3.15-11.22 5-13.82 6.27-37 16.75-42.25 14.34a23.11 23.11 0 0 1-6.32-5.13 1 1 0 0 1 1.14-1.65c5.59 2.29 9.55 1.45 14.2-.08l1-.34c9.37-3.09 14.2-4.77 30.76-12.08a97.55 97.55 0 0 1 16.26-5.93c4-1 6.42-1.63 7.71-4.34a6.65 6.65 0 0 0-.5-7.13c-1.53-1.87-4.07-2.57-7-1.9-3.22.75-4.7 3-6.41 4.49-2.4 2.05-5 4.16-17.19 8.65-27 10-34.58 10.61-45.21 3.43-9.84-6.69-15.15-13.23-15.15-16 0-2.13 5.45-5.7 8.71-7.84 1.33-.87 2.59-1.69 3.62-2.46 4.34-3.22 13-11.39 13.38-11.73 5.4-5.41 17.91-2.18 25 2.58a2.23 2.23 0 0 0 1.72.41 2.14 2.14 0 0 0 1.68-2.58c-4.2-17.46-.13-27.34 4-32.55a22.58 22.58 0 0 1 17.48-8.48c12.81 0 21.76 10 21.76 24.42 0 11-2.82 16.79-5.48 20.3a1.73 1.73 0 0 1-2.58.18 1.78 1.78 0 0 1-.24-2.2A24.61 24.61 0 0 0 290 114a16.58 16.58 0 0 0-16.84-16.67c-3.94 0-13.48 1.5-16.77 15.44a29.81 29.81 0 0 0-.34 11.07l.08.71c.9 7.38 15.3 12.51 27.23 15.51 11.36 2.85 13 6.22 8.84 19.63s3.11 26.23 5.7 29.57a78.3 78.3 0 0 1 8.31 12.47 93.8 93.8 0 0 1 6.62 16.48c2.17 6.79 4.05 12.65 10.63 21.22 11.07 14.4 17.66 48.64 15 78-.21 2.41-.53 4.29-.77 5.67-.43 2.53-.72 4.2.66 5.38s3.16.7 7.26-.63l3.43-1.09a109.33 109.33 0 0 1 12.58-2.8 2.15 2.15 0 0 0 1.59-1.16c3.43-6.91 3.85-15.22 4-22.47q0-1.31.06-2.79c.19-7.77.45-18.93-2.95-32a1 1 0 0 1 1.93-.64 93 93 0 0 1 6.66 25.55c2.55 22.58-1.9 32.09-1.94 32.17a1.61 1.61 0 0 0 .95 2.25 17.12 17.12 0 0 1 6.95 4.67c1.46 1.66.93 2.4-1.14 1.62a36.26 36.26 0 0 0-12.77-2.29c-10.4 0-18.09 4.95-21.51 9.19-3.19 3.94-3.7 7.67-3.83 11.27l-.06.05c-7.48-.75-12.94 1.21-17.47 6.21l-.08.09c-6.26 7.75-4 24.63-1.29 38.48 1.28 6.45 5.59 25.52 1.73 37.68zm96.1 10.07c-15.71 6.71-25.43 14.51-34 21.39-5.65 4.53-11 8.81-17.28 12.14-10.12 5.34-24.91 6.53-33.27-7.7-2.37-4-.71-9.86 1.58-17.95 3.05-10.75 7.23-25.46 3.71-44.65-.94-5.12-1.77-9.51-2.49-13.31C334 377 332.9 371.43 334 367c.63-2.45 3.43-3 5.87-3a20.83 20.83 0 0 1 2.63.19 29.51 29.51 0 0 0 7 12.1c5.7 5.86 13.63 8.83 23.56 8.85 2.1.17 25.94 1.55 36.54-22.4 1.46.18 3.65.7 4.3 2.3 1.28 3.19-.27 8.91-1.52 13.5-.9 3.31-1.68 6.16-1.63 8.37.31 16 11 22.78 25.83 32.16 1.79 1.13 3.66 2.31 5.55 3.54S445 425 445 426c-.52 4.79-20 13.16-26.45 15.91z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoTwitch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m80 32-32 80v304h96v64h64l64-64h80l112-112V32zm336 256-64 64h-96l-64 64v-64h-80V80h304z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M320 143h48v129h-48zm-112 0h48v129h-48z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoTwitter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496 109.5a201.8 201.8 0 0 1-56.55 15.3 97.51 97.51 0 0 0 43.33-53.6 197.74 197.74 0 0 1-62.56 23.5A99.14 99.14 0 0 0 348.31 64c-54.42 0-98.46 43.4-98.46 96.9a93.21 93.21 0 0 0 2.54 22.1 280.7 280.7 0 0 1-203-101.3A95.69 95.69 0 0 0 36 130.4c0 33.6 17.53 63.3 44 80.7A97.5 97.5 0 0 1 35.22 199v1.2c0 47 34 86.1 79 95a100.76 100.76 0 0 1-25.94 3.4 94.38 94.38 0 0 1-18.51-1.8c12.51 38.5 48.92 66.5 92.05 67.3A199.59 199.59 0 0 1 39.5 405.6a203 203 0 0 1-23.5-1.4A278.68 278.68 0 0 0 166.74 448c181.36 0 280.44-147.7 280.44-275.8 0-4.2-.11-8.4-.31-12.5A198.48 198.48 0 0 0 496 109.5z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoUsd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M240 480v-36.42C160.53 439 112.25 398.06 112 336h72c1.77 26.34 23.86 46.45 56 50v-98l-26.77-7c-61-14.18-93.64-49.39-93.64-102.08C119.59 116.81 164.08 76.08 240 70V32h32v38c77.39 6.3 119 47.74 120 106h-72c-.76-24.06-15.83-43.39-48-46v92l30.82 7.28C367.61 243.46 400 277 400 332c0 64.34-43.74 105.88-128 111.32V480zm0-264v-86c-27.59 1.52-47.27 18.47-47.27 42.53 0 22.3 16.39 36.88 47.27 43.47zm32 78v92c38.15-1.54 56.38-18.92 56.38-45.77 0-24.58-18.23-41.13-56.38-46.23z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoVenmo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M444.17 32H70.28C49.85 32 32 46.7 32 66.89V441.6c0 20.31 17.85 38.4 38.28 38.4h373.78c20.54 0 35.94-18.2 35.94-38.39V66.89C480.12 46.7 464.6 32 444.17 32zM278 387H174.32l-41.57-248.56 90.75-8.62 22 176.87c20.53-33.45 45.88-86 45.88-121.87 0-19.62-3.36-33-8.61-44l82.63-16.72c9.56 15.78 13.86 32 13.86 52.57-.01 65.5-55.92 150.59-101.26 210.33z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoVercel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"m256 48 240 416H16z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoVimeo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M476.9 114c-5-23.39-17.51-38.78-40.61-46.27s-64.92-4.5-94.12 16.79c-26.79 19.51-46.26 54.42-54 78.28a4 4 0 0 0 5.13 5c10.77-3.8 21.72-7.1 34-6.45 15 .8 24.51 12 24.91 25.29.3 9.79-.2 18.69-3.6 27.68-10.74 28.68-27.61 56.46-47.55 80.75a72.49 72.49 0 0 1-10 9.89c-10.21 8.29-18.81 6.1-25.41-5.2-5.4-9.29-9-18.88-12.2-29.08-12.4-39.67-16.81-80.84-23.81-121.52-3.3-19.48-7-39.77-18-56.86-11.6-17.79-28.61-24.58-50-22-14.7 1.8-36.91 17.49-47.81 26.39 0 0-56 46.87-81.82 71.35l21.2 27s17.91-12.49 27.51-18.29c5.7-3.39 12.4-4.09 17.2.2 4.51 3.9 9.61 9 12.31 14.1 5.7 10.69 11.2 21.88 14.7 33.37 13.2 44.27 25.51 88.64 37.81 133.22 6.3 22.78 13.9 44.17 28 63.55 19.31 26.59 39.61 32.68 70.92 21.49 25.41-9.09 46.61-26.18 66-43.87 33.11-30.18 59.12-65.36 85.52-101.14 20.41-27.67 37.31-55.67 51.41-86.95C478.5 179.74 484 147.26 476.9 114z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoVk (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M484.7 132c3.56-11.28 0-19.48-15.75-19.48h-52.37c-13.21 0-19.31 7.18-22.87 14.86 0 0-26.94 65.6-64.56 108.13-12.2 12.3-17.79 16.4-24.4 16.4-3.56 0-8.14-4.1-8.14-15.37V131.47c0-13.32-4.06-19.47-15.25-19.47H199c-8.14 0-13.22 6.15-13.22 12.3 0 12.81 18.81 15.89 20.84 51.76V254c0 16.91-3 20-9.66 20-17.79 0-61-66.11-86.92-141.44C105 117.64 99.88 112 86.66 112H33.79C18.54 112 16 119.17 16 126.86c0 13.84 17.79 83.53 82.86 175.77 43.21 63 104.72 96.86 160.13 96.86 33.56 0 37.62-7.69 37.62-20.5v-47.66c0-15.37 3.05-17.93 13.73-17.93 7.62 0 21.35 4.09 52.36 34.33C398.28 383.6 404.38 400 424.21 400h52.36c15.25 0 22.37-7.69 18.3-22.55-4.57-14.86-21.86-36.38-44.23-62-12.2-14.34-30.5-30.23-36.09-37.92-7.62-10.25-5.59-14.35 0-23.57-.51 0 63.55-91.22 70.15-122\"},\"child\":[]}]})(props);\n};\nexport function IoLogoVue (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m256 144.03-55.49-96.11h-79.43L256 281.61 390.92 47.92h-79.43L256 144.03z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M409.4 47.92 256 313.61 102.6 47.92H15.74L256 464.08 496.26 47.92H409.4z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoWebComponent (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"m179.9 388-76.16-132 76.16 132zm0 0h152.21l76.15-132-76.15-132H179.9l-76.16 132 76.16 132zm-76.16-132 76.16-132-76.16 132z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M496 256 376 48H239.74l-43.84 76h136.21l76.15 132-76.15 132H195.9l43.84 76H376l120-208z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"m179.9 388-76.16-132 76.16-132 43.84-76H136L16 256l120 208h87.74l-43.84-76z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoWechat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M408.67 298.53a21 21 0 1 1 20.9-21 20.85 20.85 0 0 1-20.9 21m-102.17 0a21 21 0 1 1 20.9-21 20.84 20.84 0 0 1-20.9 21m152.09 118.86C491.1 394.08 512 359.13 512 319.51c0-71.08-68.5-129.35-154.41-129.35s-154.42 58.27-154.42 129.35 68.5 129.34 154.42 129.34c17.41 0 34.83-2.33 49.92-7 2.49-.86 3.48-1.17 4.64-1.17a16.67 16.67 0 0 1 8.13 2.34L454 462.83a11.62 11.62 0 0 0 3.48 1.17 5 5 0 0 0 4.65-4.66 14.27 14.27 0 0 0-.77-3.86c-.41-1.46-5-16-7.36-25.27a18.94 18.94 0 0 1-.33-3.47 11.4 11.4 0 0 1 5-9.35\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M246.13 178.51a24.47 24.47 0 0 1 0-48.94c12.77 0 24.38 11.65 24.38 24.47 1.16 12.82-10.45 24.47-24.38 24.47m-123.06 0A24.47 24.47 0 1 1 147.45 154a24.57 24.57 0 0 1-24.38 24.47M184.6 48C82.43 48 0 116.75 0 203c0 46.61 24.38 88.56 63.85 116.53C67.34 321.84 68 327 68 329a11.38 11.38 0 0 1-.66 4.49C63.85 345.14 59.4 364 59.21 365s-1.16 3.5-1.16 4.66a5.49 5.49 0 0 0 5.8 5.83 7.15 7.15 0 0 0 3.49-1.17L108 351c3.49-2.33 5.81-2.33 9.29-2.33a16.33 16.33 0 0 1 5.81 1.16c18.57 5.83 39.47 8.16 60.37 8.16h10.45a133.24 133.24 0 0 1-5.81-38.45c0-78.08 75.47-141 168.35-141h10.45C354.1 105.1 277.48 48 184.6 48\"},\"child\":[]}]})(props);\n};\nexport function IoLogoWhatsapp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M414.73 97.1A222.14 222.14 0 0 0 256.94 32C134 32 33.92 131.58 33.87 254a220.61 220.61 0 0 0 29.78 111L32 480l118.25-30.87a223.63 223.63 0 0 0 106.6 27h.09c122.93 0 223-99.59 223.06-222A220.18 220.18 0 0 0 414.73 97.1zM256.94 438.66h-.08a185.75 185.75 0 0 1-94.36-25.72l-6.77-4-70.17 18.32 18.73-68.09-4.41-7A183.46 183.46 0 0 1 71.53 254c0-101.73 83.21-184.5 185.48-184.5a185 185 0 0 1 185.33 184.64c-.04 101.74-83.21 184.52-185.4 184.52zm101.69-138.19c-5.57-2.78-33-16.2-38.08-18.05s-8.83-2.78-12.54 2.78-14.4 18-17.65 21.75-6.5 4.16-12.07 1.38-23.54-8.63-44.83-27.53c-16.57-14.71-27.75-32.87-31-38.42s-.35-8.56 2.44-11.32c2.51-2.49 5.57-6.48 8.36-9.72s3.72-5.56 5.57-9.26.93-6.94-.46-9.71-12.54-30.08-17.18-41.19c-4.53-10.82-9.12-9.35-12.54-9.52-3.25-.16-7-.2-10.69-.2a20.53 20.53 0 0 0-14.86 6.94c-5.11 5.56-19.51 19-19.51 46.28s20 53.68 22.76 57.38 39.3 59.73 95.21 83.76a323.11 323.11 0 0 0 31.78 11.68c13.35 4.22 25.5 3.63 35.1 2.2 10.71-1.59 33-13.42 37.63-26.38s4.64-24.06 3.25-26.37-5.11-3.71-10.69-6.48z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoWindows (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M480 265H232v179l248 36V265zm-264 0H32v150l184 26.7V265zM480 32 232 67.4V249h248V32zM216 69.7 32 96v153h184V69.7z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoWordpress (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M259 271.3 226.2 367h-.1l-25.4 73.1c1.8.5 3.5.9 5.3 1.4h.3a192.51 192.51 0 0 0 49.5 6.5 157 157 0 0 0 24.9-1.8 184.3 184.3 0 0 0 32.5-7.1c2.6-.8 5.2-1.7 7.8-2.6-2.8-6-8.8-19.3-9.1-19.9zM80.8 180.5C70.8 203.1 64 230.9 64 256c0 6.3.3 12.6.9 18.8 6.9 71.2 52.9 131 116.1 157.9 2.6 1.1 5.3 2.2 8 3.2L96 180.6c-8-.3-9.5.2-15.2-.1z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M430.2 175.4a188 188 0 0 0-15.1-26.6c-1.6-2.4-3.4-4.8-5.1-7.2A193 193 0 0 0 325.1 77a189.2 189.2 0 0 0-69.2-13 191.51 191.51 0 0 0-149.4 71.7A196 196 0 0 0 89 161.3c14.2.1 31.8.1 33.8.1 18.1 0 46-2.2 46-2.2 9.4-.6 10.4 13.1 1.1 14.2 0 0-9.4 1.1-19.8 1.6L213 362l37.8-113.3-26.8-73.6c-9.4-.5-18.1-1.6-18.1-1.6-9.4-.5-8.2-14.8 1-14.2 0 0 28.5 2.2 45.5 2.2 18.1 0 46-2.2 46-2.2 9.3-.6 10.5 13.1 1.1 14.2 0 0-9.3 1.1-19.7 1.6l62.3 185.6 17.3-57.6c8.7-22.4 13.1-40.9 13.1-55.7 0-21.3-7.7-36.1-14.3-47.6-8.7-14.3-16.9-26.3-16.9-40.4 0-15.9 12-30.7 29-30.7h2.2c26.2-.7 34.8 25.3 35.9 43v.6c.4 7.2.1 12.5.1 18.8 0 17.4-3.3 37.1-13.1 61.8l-39 112.8-22.3 65.7c1.8-.8 3.5-1.6 5.3-2.5 56.7-27.4 98-82 106.7-146.7a172.07 172.07 0 0 0 1.9-26 191.11 191.11 0 0 0-17.8-80.8z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48a208.06 208.06 0 0 1 81 399.66A208.06 208.06 0 0 1 175 64.34 206.7 206.7 0 0 1 256 48m0-16C132.29 32 32 132.29 32 256s100.29 224 224 224 224-100.29 224-224S379.71 32 256 32z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoXbox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M126.8 248.3c39.7-58.6 77.9-92.8 77.9-92.8s-42.1-48.9-92.8-67.4l-3.3-.8A224.13 224.13 0 0 0 77.2 391c0-4.4.6-70.3 49.6-142.7zM480 256a223.71 223.71 0 0 0-76.6-168.7l-3.2.9c-50.7 18.5-92.9 67.4-92.9 67.4s38.2 34.2 77.9 92.8c49 72.4 49.6 138.3 49.5 142.7A222.8 222.8 0 0 0 480 256zM201.2 80.9c29.3 13.1 54.6 34.6 54.6 34.6s25.5-21.4 54.8-34.6c36.8-16.5 64.9-11.3 72.3-9.5a224.06 224.06 0 0 0-253.8 0c7.2-1.8 35.2-7.1 72.1 9.5zm157.5 212C312.4 236 255.8 199 255.8 199s-56.3 37-102.7 93.9c-39.8 48.9-54.6 84.8-62.6 107.8l-1.3 4.8a224 224 0 0 0 333.6 0l-1.4-4.8c-8-23-22.9-58.9-62.7-107.8z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoXing (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M313.8 303.9 469 32H365L209.4 303.8a1.35 1.35 0 0 0 0 1.7l98.9 173.8c.4.7.8.7 1.6.7H413l-99.3-174.7a1.74 1.74 0 0 1 .1-1.4zm-91.9-87.7L163 113a2 2 0 0 0-2-1H65l58.9 104.4a1.13 1.13 0 0 1 .1.8L43 352h96.8a1.54 1.54 0 0 0 1.6-.9l80.5-133.7a2.44 2.44 0 0 0 0-1.2z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoYahoo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M410.32 37.13c-13.56 0-27-.93-39.12-5.13L256 218.67 140.8 32c-12.12 4.2-24.84 5.13-38.4 5.13-13.32 0-26.52-1.05-38.4-5.13l153.6 248.15V480c12-4.08 25-5.13 38.4-5.13s26.4 1.05 38.4 5.13V280.5L448 32c-11.88 4-24.36 5.13-37.68 5.13z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoYen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 32h-80L256 253.13 144 32H64l112.37 208H128v48h73.56L216 319v17h-88v48h88v96h80v-96h88v-48h-88v-17l14.89-31H384v-48h-48.29z\"},\"child\":[]}]})(props);\n};\nexport function IoLogoYoutube (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M508.64 148.79c0-45-33.1-81.2-74-81.2C379.24 65 322.74 64 265 64h-18c-57.6 0-114.2 1-169.6 3.6C36.6 67.6 3.5 104 3.5 149 1 184.59-.06 220.19 0 255.79q-.15 53.4 3.4 106.9c0 45 33.1 81.5 73.9 81.5 58.2 2.7 117.9 3.9 178.6 3.8q91.2.3 178.6-3.8c40.9 0 74-36.5 74-81.5 2.4-35.7 3.5-71.3 3.4-107q.34-53.4-3.26-106.9zM207 353.89v-196.5l145 98.2z\"},\"child\":[]}]})(props);\n};\nexport function IoMagnetOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M421.83 293.82A144 144 0 0 0 218.18 90.17m135.76 135.77a48 48 0 0 0-67.88-67.88\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M192 464v-48m-101.82 5.82 33.94-33.94M48 320h48\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M286.06 158.06 172.92 271.19a32 32 0 0 1-45.25 0L105 248.57a32 32 0 0 1 0-45.26L218.18 90.17m203.65 203.65L308.69 407a32 32 0 0 1-45.26 0l-22.62-22.63a32 32 0 0 1 0-45.26l113.13-113.17M139.6 169.98l67.88 67.89m67.88 67.88 67.89 67.88\"},\"child\":[]}]})(props);\n};\nexport function IoMagnetSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M191.98 463.58v-48M90.16 421.4l33.94-33.94m-76.12-67.88h48\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M422.2 89.82a144 144 0 0 0-203.71-.07l-67.88 67.88 67.88 67.89 67.88-67.89a48 48 0 0 1 68.46.59c18.3 18.92 17.48 49.24-1.14 67.86l-67.32 67.32 67.88 67.88 66.91-66.91c56.37-56.37 57.37-148.15 1.04-204.55zM82.718 225.517l45.255-45.254 67.883 67.882L150.6 293.4zM218.49 361.27l45.254-45.254 67.882 67.882-45.255 45.255z\"},\"child\":[]}]})(props);\n};\nexport function IoMagnet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M191.98 463.79v-48m-101.82 5.82 33.94-33.94m-76.12-67.88h48\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"m267.56 312.32-31.11 31.11a16 16 0 0 0 0 22.63l45.26 45.25a16 16 0 0 0 22.62 0l31.12-31.11a4 4 0 0 0 0-5.66l-62.23-62.22a4 4 0 0 0-5.66 0zM131.8 176.55l-31.11 31.12a16 16 0 0 0 0 22.62l45.25 45.26a16 16 0 0 0 22.63 0l31.11-31.11a4 4 0 0 0 0-5.66l-62.22-62.23a4 4 0 0 0-5.66 0zm297.05-93.27a144 144 0 0 0-203.71-.06l-65.06 65.05a4 4 0 0 0 0 5.66l62.23 62.22a4 4 0 0 0 5.66 0l65-65.05a48 48 0 0 1 68.46.59c18.3 18.92 17.47 49.24-1.14 67.85L295.85 284a4 4 0 0 0 0 5.66l62.22 62.23a4 4 0 0 0 5.66 0l64.08-64.08c56.37-56.34 57.37-148.13 1.04-204.53z\"},\"child\":[]}]})(props);\n};\nexport function IoMailOpenOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M441.6 171.61 266.87 85.37a24.57 24.57 0 0 0-21.74 0L70.4 171.61A40 40 0 0 0 48 207.39V392c0 22.09 18.14 40 40.52 40h335c22.38 0 40.52-17.91 40.52-40V207.39a40 40 0 0 0-22.44-35.78z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M397.33 368 268.07 267.46a24 24 0 0 0-29.47 0L109.33 368m200-73 136-103m-384 0 139 105\"},\"child\":[]}]})(props);\n};\nexport function IoMailOpenSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M471.05 168.36 263.24 65.69a16.37 16.37 0 0 0-14.48 0L41 168.36a16 16 0 0 0-9 14.31V432a16.09 16.09 0 0 0 16.19 16h415.62A16.09 16.09 0 0 0 480 432V182.67a16 16 0 0 0-8.95-14.31zM256 97.89l173 85.44-175.7 86.78-173-85.44z\"},\"child\":[]}]})(props);\n};\nexport function IoMailOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448.67 154.45 274.1 68.2a41.1 41.1 0 0 0-36.2 0L63.33 154.45A55.6 55.6 0 0 0 32 204.53v184.61c0 30.88 25.42 56 56.67 56h334.66c31.25 0 56.67-25.12 56.67-56V204.53a55.6 55.6 0 0 0-31.33-50.08zM252.38 96.82a8.22 8.22 0 0 1 7.24 0L429 180.48l-172 85a8.22 8.22 0 0 1-7.24 0L80.35 181.81z\"},\"child\":[]}]})(props);\n};\nexport function IoMailOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"416\",\"height\":\"320\",\"x\":\"48\",\"y\":\"96\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"40\",\"ry\":\"40\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m112 160 144 112 144-112\"},\"child\":[]}]})(props);\n};\nexport function IoMailSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 80H48a16 16 0 0 0-16 16v320a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V96a16 16 0 0 0-16-16zM265.82 284.63a16 16 0 0 1-19.64 0L89.55 162.81l19.64-25.26L256 251.73l146.81-114.18 19.64 25.26z\"},\"child\":[]}]})(props);\n};\nexport function IoMailUnreadOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M320 96H88a40 40 0 0 0-40 40v240a40 40 0 0 0 40 40h334.73a40 40 0 0 0 40-40V239\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m112 160 144 112 87-65.67\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"431.95\",\"cy\":\"128.05\",\"r\":\"47.95\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M432 192a63.95 63.95 0 1 1 63.95-63.95A64 64 0 0 1 432 192zm0-95.9a32 32 0 1 0 31.95 32 32 32 0 0 0-31.95-32z\"},\"child\":[]}]})(props);\n};\nexport function IoMailUnreadSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M374.09 101c-.11.23-.21.46-.31.7-.34.75-.67 1.5-1 2.26l-.36.9c-.27.71-.54 1.42-.79 2.14-.12.35-.24.7-.35 1-.23.68-.44 1.37-.64 2.07l-.33 1.15q-.27 1-.51 2c-.1.41-.2.82-.28 1.23-.15.67-.28 1.36-.4 2-.08.42-.16.84-.23 1.27-.11.69-.2 1.4-.29 2.1-.05.42-.11.83-.16 1.25-.08.77-.13 1.54-.19 2.31 0 .36-.06.72-.08 1.09-.06 1.13-.09 2.27-.09 3.41 0 1 0 2 .07 2.94v.62c.05.95.12 1.89.21 2.83l.06.46c.09.87.2 1.72.32 2.57 0 .15 0 .31.07.46.14.92.31 1.84.49 2.75l.12.59c.2.92.4 1.84.64 2.75.23.92.5 1.82.77 2.71.06.19.12.38.17.57.28.88.57 1.74.88 2.59.05.15.11.29.16.43.29.78.6 1.55.92 2.32.05.14.11.28.17.42.35.83.73 1.65 1.11 2.47l.27.53c.4.82.81 1.64 1.24 2.44a64.21 64.21 0 0 0 29.56 27.63l.37.17c1.78.8 3.59 1.53 5.45 2.17l.95.32 1.5.47c.45.14.9.26 1.36.39l1.92.5c.57.14 1.14.27 1.72.39l1.15.24 1.83.32.93.16c.9.13 1.81.24 2.72.34l.77.07c.73.07 1.47.13 2.22.17l.85.05c1 0 1.94.07 2.93.07 1.15 0 2.29 0 3.43-.09l1.09-.09c.77 0 1.54-.11 2.3-.19.42 0 .83-.1 1.25-.16.7-.08 1.41-.17 2.1-.28l1.27-.23c.68-.12 1.36-.25 2-.39l1.24-.29c.67-.16 1.35-.32 2-.51.39-.1.78-.21 1.16-.33.69-.2 1.37-.41 2.05-.63l1.07-.36c.7-.24 1.4-.5 2.1-.77l.94-.37c.74-.3 1.47-.62 2.19-.95l.77-.34c.8-.37 1.58-.77 2.36-1.17.17-.09.35-.17.52-.27.91-.48 1.8-1 2.68-1.5l.12-.07a63.95 63.95 0 1 0-89.21-84.88l-.21.39c-.3 1.03-.72 1.86-1.11 2.69z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"m371.51 202.43-105.69 82.2a16 16 0 0 1-19.64 0L89.55 162.81l19.64-25.26L256 251.73l94.36-73.39A95.81 95.81 0 0 1 349 80H48a16 16 0 0 0-16 16v320a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V211.13a95.75 95.75 0 0 1-108.49-8.7z\"},\"child\":[]}]})(props);\n};\nexport function IoMailUnread (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496 128.05A64 64 0 0 0 389.62 80a64.52 64.52 0 0 0-12.71 15.3v.06c-.54.9-1.05 1.82-1.55 2.74l-.24.49c-.42.79-.81 1.59-1.19 2.4-.12.25-.23.5-.34.75-.33.73-.65 1.47-.95 2.22-.13.31-.25.62-.37.93-.27.7-.53 1.4-.78 2.11l-.36 1.06c-.22.68-.43 1.37-.63 2.06-.12.39-.23.77-.33 1.16-.19.67-.35 1.35-.51 2-.1.41-.2.82-.29 1.23-.14.68-.27 1.37-.39 2-.08.42-.16.84-.23 1.26-.11.7-.2 1.41-.29 2.12-.05.41-.11.82-.16 1.24-.08.77-.13 1.54-.19 2.32 0 .36-.06.72-.08 1.08-.06 1.14-.1 2.28-.1 3.44 0 1 0 2 .08 2.94v.64q.08 1.41.21 2.82l.06.48c.09.85.19 1.69.32 2.52 0 .17 0 .35.07.52.14.91.31 1.81.49 2.71 0 .22.09.43.13.65.18.86.38 1.72.6 2.57v.19c.23.89.48 1.76.75 2.63l.21.68c.27.85.55 1.68.85 2.51.06.18.13.36.2.54.27.71.55 1.42.84 2.12.08.21.16.41.25.61.34.79.69 1.58 1.06 2.36l.33.67c.35.7.7 1.4 1.07 2.09a64.34 64.34 0 0 0 22.14 23.81 62.22 62.22 0 0 0 7.62 4.15l.39.18q2.66 1.2 5.43 2.16l.95.32 1.5.47c.45.14.9.26 1.36.39l1.92.5 1.73.4 1.15.23 1.83.33.94.15c.9.13 1.81.25 2.72.35l.77.07c.73.06 1.47.12 2.21.16l.86.05c1 0 1.94.08 2.92.08 1.16 0 2.3 0 3.44-.1l1.08-.08c.78-.06 1.55-.11 2.32-.19l1.25-.16c.7-.09 1.41-.18 2.11-.29l1.26-.23c.68-.12 1.37-.25 2-.39l1.23-.29c.68-.16 1.36-.32 2-.51.39-.1.77-.21 1.16-.33.69-.2 1.38-.41 2.06-.63l1.06-.36c.71-.25 1.41-.51 2.11-.78l.93-.37c.75-.3 1.49-.62 2.22-.95l.75-.34c.81-.38 1.61-.77 2.4-1.19l.49-.24c.92-.5 1.84-1 2.74-1.55h.06A64.52 64.52 0 0 0 480 170.38a63.81 63.81 0 0 0 16-42.33z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"m371.38 202.53-105.56 82.1a16 16 0 0 1-19.64 0l-144-112a16 16 0 1 1 19.64-25.26L256 251.73l94.22-73.28A95.86 95.86 0 0 1 348.81 80H88a56.06 56.06 0 0 0-56 56v240a56.06 56.06 0 0 0 56 56h336a56.06 56.06 0 0 0 56-56V211.19a95.85 95.85 0 0 1-108.62-8.66z\"},\"child\":[]}]})(props);\n};\nexport function IoMail (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M424 80H88a56.06 56.06 0 0 0-56 56v240a56.06 56.06 0 0 0 56 56h336a56.06 56.06 0 0 0 56-56V136a56.06 56.06 0 0 0-56-56zm-14.18 92.63-144 112a16 16 0 0 1-19.64 0l-144-112a16 16 0 1 1 19.64-25.26L256 251.73l134.18-104.36a16 16 0 0 1 19.64 25.26z\"},\"child\":[]}]})(props);\n};\nexport function IoMaleFemaleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"216\",\"cy\":\"200\",\"r\":\"136\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M216 352v128m56-64H160m272-304V32h-80m-16.72 96.72L432 32\"},\"child\":[]}]})(props);\n};\nexport function IoMaleFemaleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M330 16v44h42.89l-37.1 37.09A157.67 157.67 0 0 0 216 42c-87.12 0-158 70.88-158 158 0 79.66 59.26 145.72 136 156.46V394h-50v44h50v58h44v-58h50v-44h-50v-37.54c76.74-10.74 136-76.8 136-156.46a157.23 157.23 0 0 0-14-64.93l44-44V134h44V16zM216 314a114 114 0 1 1 114-114 114.13 114.13 0 0 1-114 114z\"},\"child\":[]}]})(props);\n};\nexport function IoMaleFemale (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M426 16h-74a22 22 0 0 0 0 44h20.89l-37.1 37.09A157.68 157.68 0 0 0 216 42c-87.12 0-158 70.88-158 158 0 79.66 59.26 145.72 136 156.46V394h-28a22 22 0 0 0 0 44h28v36a22 22 0 0 0 44 0v-36h28a22 22 0 0 0 0-44h-28v-37.54c76.74-10.74 136-76.8 136-156.46a157.15 157.15 0 0 0-14-64.92l44-44V112a22 22 0 0 0 44 0V38a22 22 0 0 0-22-22zM216 314a114 114 0 1 1 114-114 114.13 114.13 0 0 1-114 114z\"},\"child\":[]}]})(props);\n};\nexport function IoMaleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"216\",\"cy\":\"296\",\"r\":\"152\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M448 160V64h-96m-28 124L448 64\"},\"child\":[]}]})(props);\n};\nexport function IoMaleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M330 48v44h58.89l-60.39 60.39c-68.2-52.86-167-48-229.54 14.57C31.12 234.81 31.12 345.19 99 413a174.21 174.21 0 0 0 246 0c62.57-62.58 67.43-161.34 14.57-229.54L420 123.11V182h44V48zm-16.08 333.92a130.13 130.13 0 0 1-183.84 0c-50.69-50.68-50.69-133.16 0-183.84s133.16-50.69 183.84 0 50.69 133.16 0 183.84z\"},\"child\":[]}]})(props);\n};\nexport function IoMale (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M442 48h-90a22 22 0 0 0 0 44h36.89l-60.39 60.39c-68.19-52.86-167-48-229.54 14.57C31.12 234.81 31.12 345.19 99 413a174.21 174.21 0 0 0 246 0c62.57-62.58 67.43-161.35 14.57-229.54L420 123.11V160a22 22 0 0 0 44 0V70a22 22 0 0 0-22-22zM313.92 381.92a130.13 130.13 0 0 1-183.84 0c-50.69-50.68-50.69-133.16 0-183.84s133.16-50.69 183.84 0 50.69 133.16 0 183.84z\"},\"child\":[]}]})(props);\n};\nexport function IoManOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M208 208v264a23.73 23.73 0 0 0 24 24h0a23.73 23.73 0 0 0 24-24\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M256 336v136a23.73 23.73 0 0 0 24 24h0a23.73 23.73 0 0 0 24-24V208\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M208 192v88a23.72 23.72 0 0 1-24 24h0a23.72 23.72 0 0 1-24-24v-88a48 48 0 0 1 48-48h96a48 48 0 0 1 48 48v88a23.72 23.72 0 0 1-24 24h0a23.72 23.72 0 0 1-24-24v-88\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"56\",\"r\":\"40\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\"},\"child\":[]}]})(props);\n};\nexport function IoManSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"56\",\"r\":\"56\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M336 128H176a32 32 0 0 0-32 32v160h48V192h8v320h52V328h8v184h52V192h8v128h48V160a32 32 0 0 0-32-32z\"},\"child\":[]}]})(props);\n};\nexport function IoMan (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"56\",\"r\":\"56\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M304 128h-96a64.19 64.19 0 0 0-64 64v107.52c0 10.85 8.43 20.08 19.27 20.47A20 20 0 0 0 184 300v-99.73a8.18 8.18 0 0 1 7.47-8.25 8 8 0 0 1 8.53 8V489a23 23 0 0 0 23 23 23 23 0 0 0 23-23V346.34a10.24 10.24 0 0 1 9.33-10.34A10 10 0 0 1 266 346v143a23 23 0 0 0 23 23 23 23 0 0 0 23-23V200.27a8.18 8.18 0 0 1 7.47-8.25 8 8 0 0 1 8.53 8v99.52c0 10.85 8.43 20.08 19.27 20.47A20 20 0 0 0 368 300V192a64.19 64.19 0 0 0-64-64z\"},\"child\":[]}]})(props);\n};\nexport function IoMapOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M313.27 124.64 198.73 51.36a32 32 0 0 0-29.28.35L56.51 127.49A16 16 0 0 0 48 141.63v295.8a16 16 0 0 0 23.49 14.14l97.82-63.79a32 32 0 0 1 29.5-.24l111.86 73a32 32 0 0 0 29.27-.11l115.43-75.94a16 16 0 0 0 8.63-14.2V74.57a16 16 0 0 0-23.49-14.14l-98 63.86a32 32 0 0 1-29.24.35zM328 128v336M184 48v336\"},\"child\":[]}]})(props);\n};\nexport function IoMapSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M327.71 130.93 184 39 32 144v336l152.29-98.93L328 473l152-105V32zM312 421l-112-72V91l112 72z\"},\"child\":[]}]})(props);\n};\nexport function IoMap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M48.17 113.34A32 32 0 0 0 32 141.24V438a32 32 0 0 0 47 28.37c.43-.23.85-.47 1.26-.74l84.14-55.05a8 8 0 0 0 3.63-6.72V46.45a8 8 0 0 0-12.51-6.63zm164.19-74.03A8 8 0 0 0 200 46v357.56a8 8 0 0 0 3.63 6.72l96 62.42A8 8 0 0 0 312 466V108.67a8 8 0 0 0-3.64-6.73zm252.17 7.16a31.64 31.64 0 0 0-31.5-.88 12.07 12.07 0 0 0-1.25.74l-84.15 55a8 8 0 0 0-3.63 6.72v357.46a8 8 0 0 0 12.52 6.63l107.07-73.46a32 32 0 0 0 16.41-28v-296a32.76 32.76 0 0 0-15.47-28.21z\"},\"child\":[]}]})(props);\n};\nexport function IoMedalOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"352\",\"r\":\"112\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"352\",\"r\":\"48\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M147 323 41.84 159.32a32 32 0 0 1-1.7-31.61l31-62A32 32 0 0 1 99.78 48h312.44a32 32 0 0 1 28.62 17.69l31 62a32 32 0 0 1-1.7 31.61L365 323m6-179H37m391.74-91.4L305 250M140.55 144 207 250\"},\"child\":[]}]})(props);\n};\nexport function IoMedalSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M80 32 16 160h289.11l80.22-128H80z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M496 144 424 32 298 231.08a128 128 0 0 0-84 0L189.53 192H43.82l86.66 134.89a128 128 0 1 0 251 0zM256 422a70 70 0 1 1 70-70 70.08 70.08 0 0 1-70 70z\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"352\",\"r\":\"32\"},\"child\":[]}]})(props);\n};\nexport function IoMedal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"352\",\"r\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M99.78 32a48 48 0 0 0-42.94 26.53l-31 62A48.26 48.26 0 0 0 24.28 160h278.2a4 4 0 0 0 3.39-1.87l75.5-120A4 4 0 0 0 378 32z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"m486.17 120.56-31-62a47.7 47.7 0 0 0-32.79-25.46L342.5 160 298 231.08a128 128 0 0 0-84 0l-23.32-37.2a4 4 0 0 0-3.39-1.88H51.14a4 4 0 0 0-3.36 6.16l82.7 128.73a128 128 0 1 0 251 0L483.62 168a48.22 48.22 0 0 0 2.55-47.44zm-226 295.31a64 64 0 1 1 59.69-59.69 64.08 64.08 0 0 1-59.68 59.69z\"},\"child\":[]}]})(props);\n};\nexport function IoMedicalOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m429.93 174.27-16.47-28.59a15.49 15.49 0 0 0-21.15-5.7l-98.39 57a4 4 0 0 1-6-3.5L288 80a16 16 0 0 0-16-16h-32a16 16 0 0 0-16 16l.07 113.57a4 4 0 0 1-6 3.5l-98.39-57a15.49 15.49 0 0 0-21.15 5.7l-16.46 28.6a15.42 15.42 0 0 0 5.69 21.1l98.49 57.08a4 4 0 0 1 0 6.9l-98.49 57.08a15.54 15.54 0 0 0-5.69 21.1l16.47 28.59a15.49 15.49 0 0 0 21.15 5.7l98.39-57a4 4 0 0 1 6 3.5L224 432a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16l-.07-113.67a4 4 0 0 1 6-3.5l98.39 57a15.49 15.49 0 0 0 21.15-5.7l16.47-28.59a15.42 15.42 0 0 0-5.69-21.1l-98.49-57.08a4 4 0 0 1 0-6.9l98.49-57.08a15.51 15.51 0 0 0 5.68-21.11z\"},\"child\":[]}]})(props);\n};\nexport function IoMedicalSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M351.9 256 460 193.6l-48-83.2-108 62.4V48h-96v124.8l-108-62.4-48 83.2L160.1 256 52 318.4l48 83.2 108-62.4V464h96V339.2l108 62.4 48-83.2L351.9 256z\"},\"child\":[]}]})(props);\n};\nexport function IoMedical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M272 464h-32a32 32 0 0 1-32-32l.05-85.82a4 4 0 0 0-6-3.47l-74.34 43.06a31.48 31.48 0 0 1-43-11.52l-16.5-28.64-.06-.1a31.65 31.65 0 0 1 11.56-42.8l74.61-43.25a4 4 0 0 0 0-6.92l-74.54-43.21a31.41 31.41 0 0 1-11.55-43l16.44-28.55a31.48 31.48 0 0 1 19.27-14.74 31.14 31.14 0 0 1 23.8 3.2l74.31 43a4 4 0 0 0 6-3.47L208 80a32 32 0 0 1 32-32h32a32 32 0 0 1 32 32v85.72a4 4 0 0 0 6 3.47l74.34-43.06a31.51 31.51 0 0 1 43 11.52l16.49 28.64.06.09a31.52 31.52 0 0 1-11.64 42.86l-74.53 43.2a4 4 0 0 0 0 6.92l74.53 43.2a31.42 31.42 0 0 1 11.56 43l-16.44 28.55a31.48 31.48 0 0 1-19.27 14.74 31.14 31.14 0 0 1-23.8-3.2l-74.31-43a4 4 0 0 0-6 3.46L304 432a32 32 0 0 1-32 32zm-93.56-197.48zm0-21zm155.1-.08zm0 0z\"},\"child\":[]}]})(props);\n};\nexport function IoMedkitOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"448\",\"height\":\"352\",\"x\":\"32\",\"y\":\"112\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"48\",\"ry\":\"48\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M144 112V80a32 32 0 0 1 32-32h160a32 32 0 0 1 32 32v32m-112 96v160m80-80H176\"},\"child\":[]}]})(props);\n};\nexport function IoMedkitSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M168 72h176v24H168z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M484 96H384V40a8 8 0 0 0-8-8H136a8 8 0 0 0-8 8v56H28a12 12 0 0 0-12 12v360a12 12 0 0 0 12 12h456a12 12 0 0 0 12-12V108a12 12 0 0 0-12-12zM168 72h176v24H168zm184 238h-74v74h-44v-74h-74v-44h74v-74h44v74h74z\"},\"child\":[]}]})(props);\n};\nexport function IoMedkit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M336 64H176a16 16 0 0 0-16 16v16h192V80a16 16 0 0 0-16-16z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M432 96h-48V80a48.05 48.05 0 0 0-48-48H176a48.05 48.05 0 0 0-48 48v16H80a64.07 64.07 0 0 0-64 64v256a64 64 0 0 0 64 64h352a64 64 0 0 0 64-64V160a64.07 64.07 0 0 0-64-64zm-96 208h-64v64a16 16 0 0 1-32 0v-64h-64a16 16 0 0 1 0-32h64v-64a16 16 0 0 1 32 0v64h64a16 16 0 0 1 0 32zm16-208H160V80a16 16 0 0 1 16-16h160a16 16 0 0 1 16 16z\"},\"child\":[]}]})(props);\n};\nexport function IoMegaphoneOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M407.94 52.22S321.3 160 240 160H80a16 16 0 0 0-16 16v96a16 16 0 0 0 16 16h160c81.3 0 167.94 108.23 167.94 108.23 6.06 8 24.06 2.52 24.06-9.83V62c0-12.31-17-18.82-24.06-9.78zM64 256s-16-6-16-32 16-32 16-32m384 54s16-4.33 16-22-16-22-16-22m-192-42v128M112 160v128\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M144 288v168a8 8 0 0 0 8 8h53a16 16 0 0 0 15.29-20.73C211.91 416.39 192 386.08 192 336h16a16 16 0 0 0 16-16v-16a16 16 0 0 0-16-16h-16\"},\"child\":[]}]})(props);\n};\nexport function IoMegaphoneSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M128 144v332a4 4 0 0 0 4 4h100.07a8 8 0 0 0 7.82-9.7L208.71 352H232a8 8 0 0 0 8-8V144zm324.18 42.55L448 185.5V36a4 4 0 0 0-4-4h-42.5a4 4 0 0 0-2.63 1L272 144v160l126.87 111a4 4 0 0 0 2.63 1H444a4 4 0 0 0 4-4V262.5l4.18-1.05C461.8 258.84 480 247.67 480 224s-18.2-34.84-27.82-37.45zM96 144H52a4 4 0 0 0-4 4v35.59a43 43 0 0 0-4.24 4.35C38.4 194.32 32 205.74 32 224c0 20.19 7.89 33.13 16 40.42V300a4 4 0 0 0 4 4h44z\"},\"child\":[]}]})(props);\n};\nexport function IoMegaphone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M48 176v.66a17.38 17.38 0 0 1-4.2 11.23v.05C38.4 194.32 32 205.74 32 224c0 16.55 5.3 28.23 11.68 35.91A19 19 0 0 1 48 272a32 32 0 0 0 32 32h8a8 8 0 0 0 8-8V152a8 8 0 0 0-8-8h-8a32 32 0 0 0-32 32zm404.18 10.55-.93-.17a4 4 0 0 1-3.25-3.93V62c0-12.64-8.39-24-20.89-28.32-11.92-4.11-24.34-.76-31.68 8.53a431.18 431.18 0 0 1-51.31 51.69c-23.63 20-46.24 34.25-67 42.31a8 8 0 0 0-5.15 7.47V299a16 16 0 0 0 9.69 14.69c19.34 8.29 40.24 21.83 62 40.28a433.74 433.74 0 0 1 51.68 52.16 26.22 26.22 0 0 0 21.1 9.87 33.07 33.07 0 0 0 10.44-1.74C439.71 410 448 399.05 448 386.4V265.53a4 4 0 0 1 3.33-3.94l.85-.14C461.8 258.84 480 247.67 480 224s-18.2-34.84-27.82-37.45zM240 320V152a8 8 0 0 0-8-8h-96a8 8 0 0 0-8 8v304a24 24 0 0 0 24 24h52.45a32.66 32.66 0 0 0 25.93-12.45 31.65 31.65 0 0 0 5.21-29.05c-1.62-5.18-3.63-11-5.77-17.19-7.91-22.9-18.34-37.07-21.12-69.32A32 32 0 0 0 240 320z\"},\"child\":[]}]})(props);\n};\nexport function IoMenuOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M80 160h352M80 256h352M80 352h352\"},\"child\":[]}]})(props);\n};\nexport function IoMenuSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M64 384h384v-42.67H64zm0-106.67h384v-42.66H64zM64 128v42.67h384V128z\"},\"child\":[]}]})(props);\n};\nexport function IoMenu (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"48\",\"d\":\"M88 152h336M88 256h336M88 360h336\"},\"child\":[]}]})(props);\n};\nexport function IoMicCircleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192 192-86 192-192z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M224 368h64m48-143.7v23.92c0 39.42-40.58 71.48-80 71.48h0c-39.42 0-80-32.06-80-71.48V224.3m80 95.7v48\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"96\",\"height\":\"160\",\"x\":\"208\",\"y\":\"128\",\"rx\":\"48\",\"ry\":\"48\"},\"child\":[]}]})(props);\n};\nexport function IoMicCircleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm-48 128a48.14 48.14 0 0 1 48-48 48.14 48.14 0 0 1 48 48v64a48.14 48.14 0 0 1-48 48 48.14 48.14 0 0 1-48-48zm144 72.22c0 23.36-10.94 45.61-30.79 62.66A103.71 103.71 0 0 1 272 334.26V352h32v32h-96v-32h32v-17.74a103.71 103.71 0 0 1-49.21-23.38c-19.85-17.05-30.79-39.3-30.79-62.66V208.3h32v39.92c0 25.66 28 55.48 64 55.48 29.6 0 64-24.23 64-55.48V208.3h32z\"},\"child\":[]}]})(props);\n};\nexport function IoMicCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm-48 128a48.14 48.14 0 0 1 48-48 48.14 48.14 0 0 1 48 48v64a48.14 48.14 0 0 1-48 48 48.14 48.14 0 0 1-48-48zm144 72.22c0 23.36-10.94 45.61-30.79 62.66A103.71 103.71 0 0 1 272 334.26V352h16a16 16 0 0 1 0 32h-64a16 16 0 0 1 0-32h16v-17.74a103.71 103.71 0 0 1-49.21-23.38c-19.85-17.05-30.79-39.3-30.79-62.66V224.3a16 16 0 0 1 32 0v23.92c0 25.66 28 55.48 64 55.48 29.6 0 64-24.23 64-55.48V224.3a16 16 0 1 1 32 0z\"},\"child\":[]}]})(props);\n};\nexport function IoMicOffCircleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 464c-114.69 0-208-93.31-208-208S141.31 48 256 48s208 93.31 208 208-93.31 208-208 208zm0-384c-97 0-176 79-176 176s79 176 176 176 176-78.95 176-176S353.05 80 256 80z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M352 369a15.93 15.93 0 0 1-11.84-5.24l-192-210a16 16 0 0 1 23.68-21.52l192 210A16 16 0 0 1 352 369zm0-120.78v-23.8a16.3 16.3 0 0 0-13.64-16.24c-9.88-1.48-18.36 6.51-18.36 16.12v23.92a43.35 43.35 0 0 1-3.07 15.91 4 4 0 0 0 .76 4.16l19.19 21.1a2 2 0 0 0 3.19-.3A77.12 77.12 0 0 0 352 248.22zM304 240v-64a48.14 48.14 0 0 0-48-48 48.08 48.08 0 0 0-41 23.1 4 4 0 0 0 .47 4.77l84.42 92.86a2 2 0 0 0 3.46-1A47.84 47.84 0 0 0 304 240zm-57.43 45.2-36.46-40.11a1 1 0 0 0-1.74.8 48.26 48.26 0 0 0 37.25 41 1 1 0 0 0 .95-1.69z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M287.55 352H272v-17.74a100.33 100.33 0 0 0 12.53-3.06 2 2 0 0 0 .89-3.26l-21.07-23.19a3.94 3.94 0 0 0-3.29-1.29c-1.69.15-3.39.24-5.06.24-36 0-64-29.82-64-55.48V224.4a16.26 16.26 0 0 0-15.61-16.4A15.91 15.91 0 0 0 160 224v24.22c0 23.36 10.94 45.61 30.79 62.66A103.71 103.71 0 0 0 240 334.26V352h-15.55c-8.61 0-16 6.62-16.43 15.23A16 16 0 0 0 224 384h64a16 16 0 0 0 16-16.77c-.42-8.61-7.84-15.23-16.45-15.23z\"},\"child\":[]}]})(props);\n};\nexport function IoMicOffCircleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm64 200.22V208h32v40.22a77.53 77.53 0 0 1-13.37 43.11L316 266.4a44.11 44.11 0 0 0 4-18.18zM256 128a48.14 48.14 0 0 1 48 48v64a48.07 48.07 0 0 1-1.44 11.64l-89-97.92A48.13 48.13 0 0 1 256 128zm48 256h-96v-32h32v-17.74a103.71 103.71 0 0 1-49.21-23.38c-19.85-17.05-30.79-39.3-30.79-62.66V208h32v40.22c0 25.66 28 55.48 64 55.48a56.91 56.91 0 0 0 7-.45l24.52 27a99.57 99.57 0 0 1-15.5 4V352h32zm-95.91-141.13 40.5 44.55a48.2 48.2 0 0 1-40.5-44.55zm136.07 124.89-200.5-218.5 23.68-21.52 200.5 218.5z\"},\"child\":[]}]})(props);\n};\nexport function IoMicOffCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm0 80a48.14 48.14 0 0 1 48 48v64a47.84 47.84 0 0 1-.63 7.71 2 2 0 0 1-3.46 1l-84.42-92.86a4 4 0 0 1-.47-4.77A48.08 48.08 0 0 1 256 128zm32 256h-63.55c-8.61 0-16-6.62-16.43-15.23A16 16 0 0 1 224 352h16v-17.74a103.71 103.71 0 0 1-49.21-23.38c-19.85-17.05-30.79-39.3-30.79-62.66V224a15.91 15.91 0 0 1 16.39-16A16.26 16.26 0 0 1 192 224.4v23.82c0 25.66 28 55.48 64 55.48 1.67 0 3.37-.09 5.06-.24a3.94 3.94 0 0 1 3.29 1.29l21.07 23.19a2 2 0 0 1-.89 3.26 100.33 100.33 0 0 1-12.53 3.06V352h15.55c8.61 0 16 6.62 16.43 15.23A16 16 0 0 1 288 384zm-77.89-138.91 36.46 40.11a1 1 0 0 1-.95 1.66 48.26 48.26 0 0 1-37.25-41 1 1 0 0 1 1.74-.77zm152.65 119.75a16 16 0 0 1-22.6-1.08l-192-210a16 16 0 0 1 23.68-21.52l192 210a16 16 0 0 1-1.08 22.6zM352 248.22a77.12 77.12 0 0 1-11.93 40.87 2 2 0 0 1-3.19.3l-19.19-21.1a4 4 0 0 1-.76-4.16 43.35 43.35 0 0 0 3.07-15.91v-23.8a16.3 16.3 0 0 1 13.64-16.24c9.88-1.48 18.36 6.51 18.36 16.12z\"},\"child\":[]}]})(props);\n};\nexport function IoMicOffOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M432 400 96 64\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M400 240v-31.55c0-8.61-6.62-16-15.23-16.43A16 16 0 0 0 368 208v32a111.58 111.58 0 0 1-2.45 23.31 4.05 4.05 0 0 0 1.07 3.69l21.82 21.81a2 2 0 0 0 3.29-.72A143.27 143.27 0 0 0 400 240zM256 352a112.36 112.36 0 0 1-112-112v-31.55c0-8.61-6.62-16-15.23-16.43A16 16 0 0 0 112 208v32c0 74 56.1 135.12 128 143.11V432h-47.55c-8.61 0-16 6.62-16.43 15.23A16 16 0 0 0 192 464h127.55c8.61 0 16-6.62 16.43-15.23A16 16 0 0 0 320 432h-48v-48.89a143.08 143.08 0 0 0 52-16.22 4 4 0 0 0 .91-6.35L307 342.63a4 4 0 0 0-4.51-.78A110.78 110.78 0 0 1 256 352zm0-272a47.18 47.18 0 0 1 48 48v74.72a4 4 0 0 0 1.17 2.82L332.59 233a2 2 0 0 0 3.41-1.42V128.91C336 85 301 48.6 257.14 48a79.66 79.66 0 0 0-68.47 36.57 4 4 0 0 0 .54 5l19.54 19.54a2 2 0 0 0 3.25-.63A47.44 47.44 0 0 1 256 80z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M207.27 242.9 179.41 215a2 2 0 0 0-3.41 1.42V239a80.89 80.89 0 0 0 23.45 56.9 78.55 78.55 0 0 0 77.8 21.19 2 2 0 0 0 .86-3.35l-24.91-24.91a4.08 4.08 0 0 0-2.42-1.15c-21.65-2.52-39.48-20.44-42.37-42.43a4 4 0 0 0-1.14-2.35z\"},\"child\":[]}]})(props);\n};\nexport function IoMicOffSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M432 400 96 64\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M368 192v48a111.74 111.74 0 0 1-2.93 25.45L390.65 291a143.07 143.07 0 0 0 9.35-51v-48zm-96 240v-48.89a143.11 143.11 0 0 0 56.65-18.83L305 340.65A112.13 112.13 0 0 1 144 240v-48h-32v48c0 74 56.1 135.12 128 143.11V432h-64v32h160v-32zm64-195.63V128c0-44.86-35.14-80-80-80a79.68 79.68 0 0 0-69 39.34\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M176 211.63V239a80.89 80.89 0 0 0 23.45 56.9 78.55 78.55 0 0 0 81 20.21z\"},\"child\":[]}]})(props);\n};\nexport function IoMicOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M432 400 96 64\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M400 240v-31.55c0-8.61-6.62-16-15.23-16.43A16 16 0 0 0 368 208v32a111.68 111.68 0 0 1-2.68 24.38 2 2 0 0 0 .53 1.84l22.59 22.59a2 2 0 0 0 3.29-.72A143.27 143.27 0 0 0 400 240zM256 352a112.36 112.36 0 0 1-112-112v-31.55c0-8.61-6.62-16-15.23-16.43A16 16 0 0 0 112 208v32c0 74 56.1 135.12 128 143.11V432h-47.55c-8.61 0-16 6.62-16.43 15.23A16 16 0 0 0 192 464h127.55c8.61 0 16-6.62 16.43-15.23A16 16 0 0 0 320 432h-48v-48.89a143.08 143.08 0 0 0 52-16.22 4 4 0 0 0 .91-6.35l-18.4-18.39a3 3 0 0 0-3.41-.58A111 111 0 0 1 256 352zm1.14-304a79.66 79.66 0 0 0-68.47 36.57 4 4 0 0 0 .54 5L332.59 233a2 2 0 0 0 3.41-1.42V128.91C336 85 301 48.6 257.14 48z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M179.41 215a2 2 0 0 0-3.41 1.42V239a80.89 80.89 0 0 0 23.45 56.9 78.55 78.55 0 0 0 77.8 21.19 2 2 0 0 0 .86-3.35z\"},\"child\":[]}]})(props);\n};\nexport function IoMicOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M192 448h128m64-240v32c0 70.4-57.6 128-128 128h0c-70.4 0-128-57.6-128-128v-32m128 160v80\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M256 64a63.68 63.68 0 0 0-64 64v111c0 35.2 29 65 64 65s64-29 64-65V128c0-36-28-64-64-64z\"},\"child\":[]}]})(props);\n};\nexport function IoMicSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M192 448h128m64-240v32c0 70.4-57.6 128-128 128h0c-70.4 0-128-57.6-128-128v-32m128 160v80\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M256 320a78.83 78.83 0 0 1-56.55-24.1A80.89 80.89 0 0 1 176 239V128a79.69 79.69 0 0 1 80-80c44.86 0 80 35.14 80 80v111c0 44.66-35.89 81-80 81z\"},\"child\":[]}]})(props);\n};\nexport function IoMic (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M192 448h128m64-240v32c0 70.4-57.6 128-128 128h0c-70.4 0-128-57.6-128-128v-32m128 160v80\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M256 320a78.83 78.83 0 0 1-56.55-24.1A80.89 80.89 0 0 1 176 239V128a79.69 79.69 0 0 1 80-80c44.86 0 80 35.14 80 80v111c0 44.66-35.89 81-80 81z\"},\"child\":[]}]})(props);\n};\nexport function IoMoonOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M160 136c0-30.62 4.51-61.61 16-88C99.57 81.27 48 159.32 48 248c0 119.29 96.71 216 216 216 88.68 0 166.73-51.57 200-128-26.39 11.49-57.38 16-88 16-119.29 0-216-96.71-216-216z\"},\"child\":[]}]})(props);\n};\nexport function IoMoonSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M152.62 126.77c0-33 4.85-66.35 17.23-94.77C87.54 67.83 32 151.89 32 247.38 32 375.85 136.15 480 264.62 480c95.49 0 179.55-55.54 215.38-137.85-28.42 12.38-61.8 17.23-94.77 17.23-128.47 0-232.61-104.14-232.61-232.61z\"},\"child\":[]}]})(props);\n};\nexport function IoMoon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M264 480A232 232 0 0 1 32 248c0-94 54-178.28 137.61-214.67a16 16 0 0 1 21.06 21.06C181.07 76.43 176 104.66 176 136c0 110.28 89.72 200 200 200 31.34 0 59.57-5.07 81.61-14.67a16 16 0 0 1 21.06 21.06C442.28 426 358 480 264 480z\"},\"child\":[]}]})(props);\n};\nexport function IoMoveOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m176 112 80-80 80 80m-80.02-80 .02 448m-80-80 80 80 80-80m64-224 80 80-80 80M112 176l-80 80 80 80m-80-80h448\"},\"child\":[]}]})(props);\n};\nexport function IoMoveSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"m176 112 80-80 80 80m-80.02-80 .02 448m-80-80 80 80 80-80m64-224 80 80-80 80M112 176l-80 80 80 80m-80-80h448\"},\"child\":[]}]})(props);\n};\nexport function IoMove (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m176 112 80-80 80 80m-80.02-80 .02 448m-80-80 80 80 80-80m64-224 80 80-80 80M112 176l-80 80 80 80m-80-80h448\"},\"child\":[]}]})(props);\n};\nexport function IoMusicalNoteOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M240 343.31V424a32.28 32.28 0 0 1-21.88 30.65l-21.47 7.23c-25.9 8.71-52.65-10.75-52.65-38.32h0A34.29 34.29 0 0 1 167.25 391l50.87-17.12A32.29 32.29 0 0 0 240 343.24V92a16.13 16.13 0 0 1 12.06-15.66L360.49 48.2A6 6 0 0 1 368 54v57.76a16.13 16.13 0 0 1-12.12 15.67l-91.64 23.13A32.25 32.25 0 0 0 240 181.91v39.39\"},\"child\":[]}]})(props);\n};\nexport function IoMusicalNoteSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M381.55 32.05c-18.13 4.28-126.57 31.07-156 38.19a2 2 0 0 0-1.55 1.94V353.3a2 2 0 0 1-1.32 1.88L182 369.88c-29.82 10.66-54 18.94-54 59.06 0 32.47 23.53 47.18 37.95 50a81.77 81.77 0 0 0 15 1.08c8.89 0 31-3.59 47.52-14.24C256 448 256 448 256 415.93V169.16a2 2 0 0 1 1.49-1.94l125-33a2 2 0 0 0 1.49-1.94V34a2 2 0 0 0-2.43-1.95z\"},\"child\":[]}]})(props);\n};\nexport function IoMusicalNote (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M183.83 480a55.2 55.2 0 0 1-32.36-10.55A56.64 56.64 0 0 1 128 423.58a50.26 50.26 0 0 1 34.14-47.73L213 358.73a16.25 16.25 0 0 0 11-15.49V92a32.1 32.1 0 0 1 24.09-31.15l108.39-28.14A22 22 0 0 1 384 54v57.75a32.09 32.09 0 0 1-24.2 31.19l-91.65 23.13A16.24 16.24 0 0 0 256 181.91V424a48.22 48.22 0 0 1-32.78 45.81l-21.47 7.23a56 56 0 0 1-17.92 2.96z\"},\"child\":[]}]})(props);\n};\nexport function IoMusicalNotesOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M192 218v-6c0-14.84 10-27 24.24-30.59l174.59-46.68A20 20 0 0 1 416 154v22\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M416 295.94v80c0 13.91-8.93 25.59-22 30l-22 8c-25.9 8.72-52-10.42-52-38h0a33.37 33.37 0 0 1 23-32l51-18.15c13.07-4.4 22-15.94 22-29.85V58a10 10 0 0 0-12.6-9.61L204 102a16.48 16.48 0 0 0-12 16v226c0 13.91-8.93 25.6-22 30l-52 18c-13.88 4.68-22 17.22-22 32h0c0 27.58 26.52 46.55 52 38l22-8c13.07-4.4 22-16.08 22-30v-80\"},\"child\":[]}]})(props);\n};\nexport function IoMusicalNotesSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M429.46 32.07c-23.6 6.53-205.55 58.81-250.54 71.43a4 4 0 0 0-2.92 3.83v247a2 2 0 0 1-1.33 1.89l-27.85 9.55c-19 7.44-66.82 16.68-66.82 59.19 0 35.54 24.63 51.54 45.86 54.28a52.06 52.06 0 0 0 7.81.8c7.37 0 36.38-7.08 53.3-18.08C208 448.25 208 448 208 412V202c0-.9.62-.84 1.48-1.07l188-51.92a2 2 0 0 1 2.53 2v155.54a2 2 0 0 1-1.36 1.89c-8.9 3-19.23 6.5-26.48 9.12C341.39 328.68 304 335.65 304 376c0 38.51 28.26 54.58 46.3 55.83a87.37 87.37 0 0 0 21.33-1c9-1.38 24.09-5.9 38.14-14.86C432 401.79 432 401.51 432 360V34a2 2 0 0 0-2.54-1.93z\"},\"child\":[]}]})(props);\n};\nexport function IoMusicalNotes (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M421.84 37.37a25.86 25.86 0 0 0-22.6-4.46L199.92 86.49A32.3 32.3 0 0 0 176 118v226c0 6.74-4.36 12.56-11.11 14.83l-.12.05-52 18C92.88 383.53 80 402 80 423.91a55.54 55.54 0 0 0 23.23 45.63A54.78 54.78 0 0 0 135.34 480a55.82 55.82 0 0 0 17.75-2.93l.38-.13 21.84-7.94A47.84 47.84 0 0 0 208 423.91v-212c0-7.29 4.77-13.21 12.16-15.07l.21-.06L395 150.14a4 4 0 0 1 5 3.86v141.93c0 6.75-4.25 12.38-11.11 14.68l-.25.09-50.89 18.11A49.09 49.09 0 0 0 304 375.92a55.67 55.67 0 0 0 23.23 45.8 54.63 54.63 0 0 0 49.88 7.35l.36-.12 21.84-7.95A47.83 47.83 0 0 0 432 375.92V58a25.74 25.74 0 0 0-10.16-20.63z\"},\"child\":[]}]})(props);\n};\nexport function IoNavigateCircleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m336.76 161-186.53 82.35c-10.47 4.8-6.95 20.67 4.57 20.67H244a4 4 0 0 1 4 4v89.18c0 11.52 16 15 20.78 4.56L351 175.24A10.73 10.73 0 0 0 336.76 161z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192 192-86 192-192z\"},\"child\":[]}]})(props);\n};\nexport function IoNavigateCircleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48A208.23 208.23 0 0 0 48 256c0 114.68 93.31 208 208 208a208.23 208.23 0 0 0 208-208c0-114.69-93.31-208-208-208zm-8 361V264H103l259-114.11z\"},\"child\":[]}]})(props);\n};\nexport function IoNavigateCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M258.9 48C141.92 46.42 46.42 141.92 48 258.9c1.56 112.19 92.91 203.54 205.1 205.1 117 1.6 212.48-93.9 210.88-210.88C462.44 140.91 371.09 49.56 258.9 48zM351 175.24l-82.24 186.52c-4.79 10.47-20.78 7-20.78-4.56V268a4 4 0 0 0-4-4H154.8c-11.52 0-15-15.87-4.57-20.67L336.76 161A10.73 10.73 0 0 1 351 175.24z\"},\"child\":[]}]})(props);\n};\nexport function IoNavigateOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M448 64 64 240.14h200a8 8 0 0 1 8 8V448z\"},\"child\":[]}]})(props);\n};\nexport function IoNavigateSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M480 32 32 240h240v240L480 32z\"},\"child\":[]}]})(props);\n};\nexport function IoNavigate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M272 464a16 16 0 0 1-16-16.42V264.13a8 8 0 0 0-8-8H64.41a16.31 16.31 0 0 1-15.49-10.65 16 16 0 0 1 8.41-19.87l384-176.15a16 16 0 0 1 21.22 21.19l-176 384A16 16 0 0 1 272 464z\"},\"child\":[]}]})(props);\n};\nexport function IoNewspaperOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M368 415.86V72a24.07 24.07 0 0 0-24-24H72a24.07 24.07 0 0 0-24 24v352a40.12 40.12 0 0 0 40 40h328\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M416 464a48 48 0 0 1-48-48V128h72a24 24 0 0 1 24 24v264a48 48 0 0 1-48 48z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M240 128h64m-64 64h64m-192 64h192m-192 64h192m-192 64h192\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M176 208h-64a16 16 0 0 1-16-16v-64a16 16 0 0 1 16-16h64a16 16 0 0 1 16 16v64a16 16 0 0 1-16 16z\"},\"child\":[]}]})(props);\n};\nexport function IoNewspaperSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"96\",\"height\":\"96\",\"x\":\"96\",\"y\":\"112\",\"fill\":\"none\",\"rx\":\"16\",\"ry\":\"16\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M468 112h-52v304a32 32 0 0 0 32 32 32 32 0 0 0 32-32V124a12 12 0 0 0-12-12z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M431.15 477.75A64.11 64.11 0 0 1 384 416V44a12 12 0 0 0-12-12H44a12 12 0 0 0-12 12v380a56 56 0 0 0 56 56h342.85a1.14 1.14 0 0 0 .3-2.25zM96 208v-96h96v96zm224 192H96v-32h224zm0-64H96v-32h224zm0-64H96v-32h224zm0-64h-96v-32h96zm0-64h-96v-32h96z\"},\"child\":[]}]})(props);\n};\nexport function IoNewspaper (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M439.91 112h-23.82a.09.09 0 0 0-.09.09V416a32 32 0 0 0 32 32 32 32 0 0 0 32-32V152.09A40.09 40.09 0 0 0 439.91 112z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M384 416V72a40 40 0 0 0-40-40H72a40 40 0 0 0-40 40v352a56 56 0 0 0 56 56h342.85a1.14 1.14 0 0 0 1.15-1.15 1.14 1.14 0 0 0-.85-1.1A64.11 64.11 0 0 1 384 416zM96 128a16 16 0 0 1 16-16h64a16 16 0 0 1 16 16v64a16 16 0 0 1-16 16h-64a16 16 0 0 1-16-16zm208 272H112.45c-8.61 0-16-6.62-16.43-15.23A16 16 0 0 1 112 368h191.55c8.61 0 16 6.62 16.43 15.23A16 16 0 0 1 304 400zm0-64H112.45c-8.61 0-16-6.62-16.43-15.23A16 16 0 0 1 112 304h191.55c8.61 0 16 6.62 16.43 15.23A16 16 0 0 1 304 336zm0-64H112.45c-8.61 0-16-6.62-16.43-15.23A16 16 0 0 1 112 240h191.55c8.61 0 16 6.62 16.43 15.23A16 16 0 0 1 304 272zm0-64h-63.55c-8.61 0-16-6.62-16.43-15.23A16 16 0 0 1 240 176h63.55c8.61 0 16 6.62 16.43 15.23A16 16 0 0 1 304 208zm0-64h-63.55c-8.61 0-16-6.62-16.43-15.23A16 16 0 0 1 240 112h63.55c8.61 0 16 6.62 16.43 15.23A16 16 0 0 1 304 144z\"},\"child\":[]}]})(props);\n};\nexport function IoNotificationsCircleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192 192-86 192-192z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M365.2 313c-16.33-19.34-27.86-27.47-27.86-80.8 0-48.86-25.78-66.23-47-74.67a11.39 11.39 0 0 1-6.34-6.68C280.29 138.6 269.88 128 256 128s-24.31 10.6-28 22.86a11.35 11.35 0 0 1-6.33 6.68c-21.24 8.46-47 25.8-47 74.67 0 53.33-11.54 61.46-27.87 80.8-6.77 8-.65 23 11.19 23H354C365.77 336 371.94 321 365.2 313zm-144.96 39a4 4 0 0 0-4 4.42C218.49 375.14 235.11 384 256 384c20.67 0 37.14-9.15 39.66-27.52a4 4 0 0 0-4-4.48z\"},\"child\":[]}]})(props);\n};\nexport function IoNotificationsCircleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M295.68 351.43v.57h.32z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M256 384c22.28 0 39.36-10.63 39.66-32H216c0 21.75 17.53 32 40 32zm39.67-32h.33l-.32-.57c0 .19-.01.38-.01.57z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm0 336c-22.48 0-40-10.25-40-32h80c-.3 21.37-17.71 32-40 32zm112-48H144v-28l28-36v-32.3c0-40.41 15.82-75.35 56-84.27l4-27.43h48l4 27.43c40 8.92 56 44 56 84.27V272l28 36z\"},\"child\":[]}]})(props);\n};\nexport function IoNotificationsCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm0 336c-20.9 0-37.52-8.86-39.75-27.58a4 4 0 0 1 4-4.42h71.45a4 4 0 0 1 4 4.48C293.15 374.85 276.68 384 256 384zm98-48H158c-11.84 0-18-15-11.19-23 16.33-19.34 27.87-27.47 27.87-80.8 0-48.87 25.74-66.21 47-74.67a11.35 11.35 0 0 0 6.33-6.68C231.7 138.6 242.14 128 256 128s24.28 10.6 28 22.86a11.39 11.39 0 0 0 6.34 6.68c21.21 8.44 47 25.81 47 74.67 0 53.33 11.53 61.46 27.86 80.8 6.74 7.99.57 22.99-11.2 22.99z\"},\"child\":[]}]})(props);\n};\nexport function IoNotificationsOffCircleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192 192-86 192-192z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M220.24 352a4 4 0 0 0-4 4.42C218.49 375.14 235.11 384 256 384s37.5-8.86 39.73-27.58a4 4 0 0 0-4-4.42zM352 378a15.93 15.93 0 0 1-11.84-5.24l-192-212a16 16 0 0 1 23.68-21.52l192 212A16 16 0 0 1 352 378zM174.68 232.21c0 53.33-11.54 61.46-27.87 80.8-6.77 8-.65 23 11.19 23h118.83a4 4 0 0 0 2.95-6.7l-98-106.87a4 4 0 0 0-6.94 2.52c-.1 2.33-.16 4.75-.16 7.25zM365.2 313c-16.33-19.34-27.86-27.47-27.86-80.8 0-48.86-25.78-66.23-47-74.67a11.39 11.39 0 0 1-6.34-6.68C280.29 138.6 269.88 128 256 128s-24.31 10.6-28 22.86a11.35 11.35 0 0 1-6.33 6.68c-1.28.51-2.57 1.05-3.88 1.63a4 4 0 0 0-1.3 6.36L361 323.21a4 4 0 0 0 6.94-2.95 12 12 0 0 0-2.74-7.26z\"},\"child\":[]}]})(props);\n};\nexport function IoNotificationsOffCircleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zM144 308l28-36v-32.3a131.83 131.83 0 0 1 2.34-25.42L285.92 336H144zm112.18 76C233.6 384 216 373.75 216 352h80c-.3 21.37-17.45 32-39.82 32zm93.48-3.74-211-227 23.68-21.52 211 227zM368 330.85l-.32-.38-155.5-169.63a73.4 73.4 0 0 1 15.82-5.41l4-27.43h48l4 27.43c40 8.92 56 44 56 84.27V272l28 36z\"},\"child\":[]}]})(props);\n};\nexport function IoNotificationsOffCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zM146.83 313c16.33-19.34 27.86-27.47 27.86-80.8q0-3.75.2-7.26a4 4 0 0 1 7-2.52l98 106.87a4 4 0 0 1-2.94 6.7H158C146.18 336 140.06 321 146.83 313zm148.93 43.41C293.53 375.14 276.92 384 256 384s-37.51-8.86-39.75-27.58a4 4 0 0 1 4-4.42h71.53a4 4 0 0 1 3.98 4.42zm67 17.42a16 16 0 0 1-22.6-1.08l-192-212a16 16 0 0 1 23.68-21.52l192 212a16 16 0 0 1-1.08 22.61zM361 323.21 216.49 165.53a4 4 0 0 1 1.3-6.36c1.31-.58 2.61-1.12 3.89-1.63a11.33 11.33 0 0 0 6.32-6.68c3.72-12.26 14.15-22.86 28-22.86s24.29 10.6 28 22.86a11.34 11.34 0 0 0 6.34 6.68c21.21 8.44 47 25.81 47 74.67 0 53.33 11.54 61.46 27.87 80.8a12.09 12.09 0 0 1 2.76 7.25 4 4 0 0 1-6.97 2.95z\"},\"child\":[]}]})(props);\n};\nexport function IoNotificationsOffOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M128.51 204.59q-.37 6.15-.37 12.76C128.14 304 110 320 84.33 351.43 73.69 364.45 83 384 101.62 384H320m94.5-48.7c-18.48-23.45-30.62-47.05-30.62-118 0-79.3-40.52-107.57-73.88-121.3-4.43-1.82-8.6-6-9.95-10.55C294.21 65.54 277.82 48 256 48s-38.2 17.55-44 37.47c-1.35 4.6-5.52 8.71-10 10.53a149.57 149.57 0 0 0-18 8.79M320 384v16a64 64 0 0 1-128 0v-16\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M448 448 64 64\"},\"child\":[]}]})(props);\n};\nexport function IoNotificationsOffSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m41.37 64 22.628-22.628L470.627 448l-22.628 22.627zM256 480a80.09 80.09 0 0 0 73.3-48H182.7a80.09 80.09 0 0 0 73.3 48zM112 227.47V288l-48 64v48h268.12L115.87 183.75a236.75 236.75 0 0 0-3.87 43.72zM448 352l-48-64v-60.53C400 157 372.64 95.61 304 80l-8-48h-80l-8 48a117.45 117.45 0 0 0-41.95 18.17l282 282z\"},\"child\":[]}]})(props);\n};\nexport function IoNotificationsOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 464a15.92 15.92 0 0 1-11.31-4.69l-384-384a16 16 0 0 1 22.62-22.62l384 384A16 16 0 0 1 448 464zm-7.92-122.69c-1.66-2-3.29-4-4.89-5.93-22-26.61-35.31-42.67-35.31-118 0-39-9.33-71-27.72-95-13.56-17.73-31.89-31.18-56.05-41.12a3 3 0 0 1-.82-.67C306.6 51.49 282.82 32 256 32s-50.59 19.49-59.28 48.56a3.13 3.13 0 0 1-.81.65 157.88 157.88 0 0 0-21.88 11 8 8 0 0 0-1.49 12.49l261.78 261.74a8 8 0 0 0 13.6-6.63 35.39 35.39 0 0 0-7.84-18.5zM112.14 217.35c0 75.36-13.29 91.42-35.31 118-1.6 1.93-3.23 3.89-4.89 5.93a35.16 35.16 0 0 0-4.65 37.62c6.17 13 19.32 21.07 34.33 21.07H312.8a8 8 0 0 0 5.66-13.66l-192-192a8 8 0 0 0-13.62 5q-.7 8.69-.7 18.04zM256 480a80.06 80.06 0 0 0 70.44-42.13 4 4 0 0 0-3.54-5.87H189.12a4 4 0 0 0-3.55 5.87A80.06 80.06 0 0 0 256 480z\"},\"child\":[]}]})(props);\n};\nexport function IoNotificationsOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M427.68 351.43C402 320 383.87 304 383.87 217.35 383.87 138 343.35 109.73 310 96c-4.43-1.82-8.6-6-9.95-10.55C294.2 65.54 277.8 48 256 48s-38.21 17.55-44 37.47c-1.35 4.6-5.52 8.71-9.95 10.53-33.39 13.75-73.87 41.92-73.87 121.35C128.13 304 110 320 84.32 351.43 73.68 364.45 83 384 101.61 384h308.88c18.51 0 27.77-19.61 17.19-32.57zM320 384v16a64 64 0 0 1-128 0v-16\"},\"child\":[]}]})(props);\n};\nexport function IoNotificationsSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 480a80.09 80.09 0 0 0 73.3-48H182.7a80.09 80.09 0 0 0 73.3 48zm144-192v-60.53C400 157 372.64 95.61 304 80l-8-48h-80l-8 48c-68.88 15.61-96 76.76-96 147.47V288l-48 64v48h384v-48z\"},\"child\":[]}]})(props);\n};\nexport function IoNotifications (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M440.08 341.31c-1.66-2-3.29-4-4.89-5.93-22-26.61-35.31-42.67-35.31-118 0-39-9.33-71-27.72-95-13.56-17.73-31.89-31.18-56.05-41.12a3 3 0 0 1-.82-.67C306.6 51.49 282.82 32 256 32s-50.59 19.49-59.28 48.56a3.13 3.13 0 0 1-.81.65c-56.38 23.21-83.78 67.74-83.78 136.14 0 75.36-13.29 91.42-35.31 118-1.6 1.93-3.23 3.89-4.89 5.93a35.16 35.16 0 0 0-4.65 37.62c6.17 13 19.32 21.07 34.33 21.07H410.5c14.94 0 28-8.06 34.19-21a35.17 35.17 0 0 0-4.61-37.66zM256 480a80.06 80.06 0 0 0 70.44-42.13 4 4 0 0 0-3.54-5.87H189.12a4 4 0 0 0-3.55 5.87A80.06 80.06 0 0 0 256 480z\"},\"child\":[]}]})(props);\n};\nexport function IoNuclearOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"r\":\"192\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"r\":\"64\",\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M224 192 171 85m117 107 53-107m-13.45 170.81 119.41.13m-147.87 57.19 72.25 95.06M184.45 255.81l-119.41.13m147.87 57.19-72.25 95.06\"},\"child\":[]}]})(props);\n};\nexport function IoNuclearSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"r\":\"48\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"m223.47 335.59-51.71 68a169.73 169.73 0 0 0 168.48 0l-51.71-68\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M403.08 108.92a208 208 0 0 0-294.16 294.16 208 208 0 0 0 294.16-294.16zM342 256a86.13 86.13 0 0 1-53.47 79.59l51.71 68a169.73 169.73 0 0 1-168.48 0l51.71-68a86 86 0 0 1-50.56-101.77l-85.48.09a170.21 170.21 0 0 1 73.83-119l37.94 76.59a85.78 85.78 0 0 1 113.6 0l37.94-76.59a170.21 170.21 0 0 1 73.83 119l-85.48-.09A85.87 85.87 0 0 1 342 256z\"},\"child\":[]}]})(props);\n};\nexport function IoNuclear (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M258.9 48C141.92 46.42 46.42 141.92 48 258.9c1.56 112.19 92.91 203.54 205.1 205.1 117 1.6 212.48-93.9 210.88-210.88C462.44 140.91 371.09 49.56 258.9 48zM429 239.92l-93.08-.1a2 2 0 0 1-1.95-1.57 80.08 80.08 0 0 0-27.44-44.17 2 2 0 0 1-.54-2.43l41.32-83.43a2 2 0 0 1 2.87-.81A176.2 176.2 0 0 1 431 237.71a2 2 0 0 1-2 2.21zm-220.8 20.46a48 48 0 1 1 43.42 43.42 48 48 0 0 1-43.42-43.42zm-43.55-152.16L206 191.65a2 2 0 0 1-.54 2.43A80.08 80.08 0 0 0 178 238.25a2 2 0 0 1-2 1.57l-93.08.1a2 2 0 0 1-2-2.21 176.2 176.2 0 0 1 80.82-130.3 2 2 0 0 1 2.91.81zm-.37 295.34 56.31-74.09a2 2 0 0 1 2.43-.6 79.84 79.84 0 0 0 66 0 2 2 0 0 1 2.43.6l56.31 74.09a2 2 0 0 1-.54 2.92 175.65 175.65 0 0 1-182.36 0 2 2 0 0 1-.58-2.92z\"},\"child\":[]}]})(props);\n};\nexport function IoNutritionOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M352 128c-32.26-2.89-64 16-96 16s-63.75-19-96-16c-64 6-96 64-96 160 0 80 64 192 111.2 192s51.94-24 80.8-24 33.59 24 80.8 24S448 368 448 288c0-96-29-154-96-160z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M323.92 83.14c-21 21-45.66 27-58.82 28.79a8 8 0 0 1-9.1-8.73 97.6 97.6 0 0 1 28.61-59.33c22-22 46-26.9 58.72-27.85a8 8 0 0 1 8.67 8.92 98 98 0 0 1-28.08 58.2z\"},\"child\":[]},{\"tag\":\"ellipse\",\"attr\":{\"cx\":\"216\",\"cy\":\"304\",\"rx\":\"24\",\"ry\":\"48\"},\"child\":[]},{\"tag\":\"ellipse\",\"attr\":{\"cx\":\"296\",\"cy\":\"304\",\"rx\":\"24\",\"ry\":\"48\"},\"child\":[]}]})(props);\n};\nexport function IoNutritionSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M438.71 159.43c-17.6-28.31-45.5-43.8-85.28-47.37-22.82-2-50.23 4.94-72.25 10.55C271.26 125.14 260 128 256 128s-15.18-2.86-25-5.39c-22.08-5.65-49.56-12.69-72.45-10.54-38.53 3.61-66 19.19-84 47.62S48 229 48 288c0 61.28 29.53 114.58 47.13 140.89C116.82 461.34 149.25 496 175.2 496c18.57 0 34.12-7.23 47.82-13.64C243 473 256 472 256 472s11 0 31.94 10.11C301.65 488.73 317.3 496 336.8 496c26.58 0 59.08-34.69 80.63-67.15C434.82 402.65 464 349.52 464 288c0-60-8-100.83-25.29-128.57zM216 352c-13.25 0-24-21.49-24-48s10.75-48 24-48 24 21.49 24 48-10.75 48-24 48zm80 0c-13.25 0-24-21.49-24-48s10.75-48 24-48 24 21.49 24 48-10.75 48-24 48z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M323.72 82.76C353.68 52.82 352 16.18 352 16.14s-35.77-3.76-67.23 27.67S256.06 112 256.06 112s37.68.71 67.66-29.24z\"},\"child\":[]}]})(props);\n};\nexport function IoNutrition (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M439 166.29c-18.67-32.57-47.46-50.81-85.57-54.23-20.18-1.8-39 3.37-57.23 8.38-14.15 3.89-27.52 7.56-40.2 7.56s-26-3.68-40.06-7.57c-18.28-5-37.18-10.26-57.43-8.36-36.39 3.41-65.51 22.11-84.31 54.08C56.82 195.76 48 236.76 48 288c0 40.4 15 90.49 40 134 12.82 22.25 47 74 87.16 74 30.77 0 47.15-9.44 59.11-16.33 8.3-4.78 13.31-7.67 21.69-7.67s13.39 2.89 21.69 7.67c12 6.89 28.35 16.33 59.15 16.33 40.17 0 74.34-51.76 87.16-74 25.07-43.5 40-93.59 40-134 .04-52.57-8.14-92.38-24.96-121.71zM216 352c-13.25 0-24-21.49-24-48s10.75-48 24-48 24 21.49 24 48-10.75 48-24 48zm80 0c-13.25 0-24-21.49-24-48s10.75-48 24-48 24 21.49 24 48-10.75 48-24 48z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M265.1 111.93c13.16-1.75 37.86-7.83 58.83-28.79a98 98 0 0 0 28-58.2 8 8 0 0 0-8.55-8.94c-12.71.95-36.76 5.87-58.73 27.85A97.6 97.6 0 0 0 256 103.2a8 8 0 0 0 9.1 8.73z\"},\"child\":[]}]})(props);\n};\nexport function IoOpenOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M384 224v184a40 40 0 0 1-40 40H104a40 40 0 0 1-40-40V168a40 40 0 0 1 40-40h167.48M336 64h112v112M224 288 440 72\"},\"child\":[]}]})(props);\n};\nexport function IoOpenSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m201.37 288 176-176H48v352h352V134.63l-176 176L201.37 288z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M320 48v32h89.37l-32 32L400 134.63l32-32V192h32V48H320z\"},\"child\":[]}]})(props);\n};\nexport function IoOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 304a16 16 0 0 1-11.31-27.31l157.94-157.94A55.7 55.7 0 0 0 344 112H104a56.06 56.06 0 0 0-56 56v240a56.06 56.06 0 0 0 56 56h240a56.06 56.06 0 0 0 56-56V168a55.7 55.7 0 0 0-6.75-26.63L235.31 299.31A15.92 15.92 0 0 1 224 304z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M448 48H336a16 16 0 0 0 0 32h73.37l-38.74 38.75a56.35 56.35 0 0 1 22.62 22.62L432 102.63V176a16 16 0 0 0 32 0V64a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function IoOptionsOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M368 128h80m-384 0h240m64 256h80m-384 0h240m-96-128h240m-384 0h80\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"336\",\"cy\":\"128\",\"r\":\"32\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"176\",\"cy\":\"256\",\"r\":\"32\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"336\",\"cy\":\"384\",\"r\":\"32\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]}]})(props);\n};\nexport function IoOptionsSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M381.25 112a48 48 0 0 0-90.5 0H48v32h242.75a48 48 0 0 0 90.5 0H464v-32zM176 208a48.09 48.09 0 0 0-45.25 32H48v32h82.75a48 48 0 0 0 90.5 0H464v-32H221.25A48.09 48.09 0 0 0 176 208zm160 128a48.09 48.09 0 0 0-45.25 32H48v32h242.75a48 48 0 0 0 90.5 0H464v-32h-82.75A48.09 48.09 0 0 0 336 336z\"},\"child\":[]}]})(props);\n};\nexport function IoOptions (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M64 144h226.75a48 48 0 0 0 90.5 0H448a16 16 0 0 0 0-32h-66.75a48 48 0 0 0-90.5 0H64a16 16 0 0 0 0 32zm384 224h-66.75a48 48 0 0 0-90.5 0H64a16 16 0 0 0 0 32h226.75a48 48 0 0 0 90.5 0H448a16 16 0 0 0 0-32zm0-128H221.25a48 48 0 0 0-90.5 0H64a16 16 0 0 0 0 32h66.75a48 48 0 0 0 90.5 0H448a16 16 0 0 0 0-32z\"},\"child\":[]}]})(props);\n};\nexport function IoPaperPlaneOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m53.12 199.94 400-151.39a8 8 0 0 1 10.33 10.33l-151.39 400a8 8 0 0 1-15-.34l-67.4-166.09a16 16 0 0 0-10.11-10.11L53.46 215a8 8 0 0 1-.34-15.06zM460 52 227 285\"},\"child\":[]}]})(props);\n};\nexport function IoPaperPlaneSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496 16 15.88 208 195 289 448 64 223 317l81 179L496 16z\"},\"child\":[]}]})(props);\n};\nexport function IoPaperPlane (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M473 39.05a24 24 0 0 0-25.5-5.46L47.47 185h-.08a24 24 0 0 0 1 45.16l.41.13 137.3 58.63a16 16 0 0 0 15.54-3.59L422 80a7.07 7.07 0 0 1 10 10L226.66 310.26a16 16 0 0 0-3.59 15.54l58.65 137.38c.06.2.12.38.19.57 3.2 9.27 11.3 15.81 21.09 16.25h1a24.63 24.63 0 0 0 23-15.46L478.39 64.62A24 24 0 0 0 473 39.05z\"},\"child\":[]}]})(props);\n};\nexport function IoPartlySunnyOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M90.61 306.85A16.07 16.07 0 0 0 104 293.6C116.09 220.17 169.63 176 232 176c57.93 0 96.62 37.75 112.2 77.74a15.84 15.84 0 0 0 12.2 9.87c50 8.15 91.6 41.54 91.6 99.59 0 59.4-48.6 100.8-108 100.8H106c-49.5 0-90-24.7-90-79.2 0-48.47 38.67-72.22 74.61-77.95z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M384.8 271.4a80 80 0 1 0-123.55-92M464 208h32M336 48v32M222.86 94.86l22.63 22.63m203.65-22.63-22.63 22.63\"},\"child\":[]}]})(props);\n};\nexport function IoPartlySunnySharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M340 480H106c-29.5 0-54.92-7.83-73.53-22.64C11.23 440.44 0 415.35 0 384.8c0-26.66 10.08-49.8 29.14-66.91 15.24-13.68 36.17-23.21 59-26.84.06 0 .08 0 .09-.05 6.44-39 23.83-72.09 50.31-95.68A140.24 140.24 0 0 1 232 160c30.23 0 58.48 9.39 81.71 27.17a142.69 142.69 0 0 1 45.36 60.66c29.41 4.82 54.72 17.11 73.19 35.54C453 304.11 464 331.71 464 363.2c0 32.85-13.13 62.87-37 84.52-22.89 20.82-53.8 32.28-87 32.28zm19-232.18zm22.5-27.93a169.23 169.23 0 0 1 45.44 19A96 96 0 0 0 281 129.33q-2.85 2-5.54 4.2a162.47 162.47 0 0 1 57.73 28.23 174.53 174.53 0 0 1 48.31 58.13zM448 192h64v32h-64zM320 32h32v64h-32zm-64.65 97.63 12.45-12.45-44.62-44.63-22.63 22.63 33.17 33.17h.6a172 172 0 0 1 21.03 1.28zm148.853-12.46 44.626-44.625 22.627 22.628-44.625 44.625z\"},\"child\":[]}]})(props);\n};\nexport function IoPartlySunny (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M340 480H106c-29.5 0-54.92-7.83-73.53-22.64C11.23 440.44 0 415.35 0 384.8c0-26.66 10.08-49.8 29.14-66.91 15.24-13.68 36.17-23.21 59-26.84.06 0 .08 0 .09-.05 6.44-39 23.83-72.09 50.31-95.68A140.24 140.24 0 0 1 232 160c30.23 0 58.48 9.39 81.71 27.17a142.24 142.24 0 0 1 42.19 53.21 16 16 0 0 0 11.19 9c26 5.61 48.4 17.29 65.17 34C453 304.11 464 331.71 464 363.2c0 32.85-13.13 62.87-37 84.52-22.89 20.82-53.8 32.28-87 32.28zm19-232.18zm28.89-26.14a168.8 168.8 0 0 1 34.76 14.71 4 4 0 0 0 5.82-2.44 97 97 0 0 0 3.53-26.68c-.39-52.43-43.48-95.22-95.91-95.27A95.46 95.46 0 0 0 281 129.33h-.06a3.38 3.38 0 0 0 1 6 162.45 162.45 0 0 1 51.28 26.4 173.92 173.92 0 0 1 45.32 52.51 16 16 0 0 0 9.35 7.44zM496 224h-32a16 16 0 0 1 0-32h32a16 16 0 0 1 0 32zM336 96a16 16 0 0 1-16-16V48a16 16 0 0 1 32 0v32a16 16 0 0 1-16 16zm-90.51 37.49a15.92 15.92 0 0 1-11.31-4.69l-22.63-22.62a16 16 0 0 1 22.63-22.63l22.62 22.63a16 16 0 0 1-11.31 27.31zm181.02 0a16 16 0 0 1-11.31-27.31l22.62-22.63a16 16 0 0 1 22.63 22.63l-22.63 22.62a15.92 15.92 0 0 1-11.31 4.69z\"},\"child\":[]}]})(props);\n};\nexport function IoPauseCircleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192 192-86 192-192z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M208 192v128m96-128v128\"},\"child\":[]}]})(props);\n};\nexport function IoPauseCircleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm-32 288h-32V176h32zm96 0h-32V176h32z\"},\"child\":[]}]})(props);\n};\nexport function IoPauseCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm-32 272a16 16 0 0 1-32 0V192a16 16 0 0 1 32 0zm96 0a16 16 0 0 1-32 0V192a16 16 0 0 1 32 0z\"},\"child\":[]}]})(props);\n};\nexport function IoPauseOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M176 96h16v320h-16zm144 0h16v320h-16z\"},\"child\":[]}]})(props);\n};\nexport function IoPauseSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 432h-80V80h80zm144 0h-80V80h80z\"},\"child\":[]}]})(props);\n};\nexport function IoPause (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M208 432h-48a16 16 0 0 1-16-16V96a16 16 0 0 1 16-16h48a16 16 0 0 1 16 16v320a16 16 0 0 1-16 16zm144 0h-48a16 16 0 0 1-16-16V96a16 16 0 0 1 16-16h48a16 16 0 0 1 16 16v320a16 16 0 0 1-16 16z\"},\"child\":[]}]})(props);\n};\nexport function IoPawOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M457.74 170.1a30.26 30.26 0 0 0-11.16-2.1h-.4c-20.17.3-42.79 19.19-54.66 47.76-14.23 34.18-7.68 69.15 14.74 78.14a30.21 30.21 0 0 0 11.15 2.1c20.27 0 43.2-19 55.17-47.76 14.13-34.18 7.48-69.15-14.84-78.14zM327.6 303.48C299.8 257.35 287.8 240 256 240s-43.9 17.46-71.7 63.48c-23.8 39.36-71.9 42.64-83.9 76.07a50.91 50.91 0 0 0-3.6 19.25c0 27.19 20.8 49.2 46.4 49.2 31.8 0 75.1-25.39 112.9-25.39S337 448 368.8 448c25.6 0 46.3-22 46.3-49.2a51 51 0 0 0-3.7-19.25c-12-33.55-60-36.71-83.8-76.07zM192.51 196a26.53 26.53 0 0 0 4-.3c23.21-3.37 37.7-35.53 32.44-71.85C224 89.61 203.22 64 181.49 64a26.53 26.53 0 0 0-4 .3c-23.21 3.37-37.7 35.53-32.44 71.85C150 170.29 170.78 196 192.51 196zm174.41-59.85c5.26-36.32-9.23-68.48-32.44-71.85a26.53 26.53 0 0 0-4-.3c-21.73 0-42.47 25.61-47.43 59.85-5.26 36.32 9.23 68.48 32.44 71.85a26.53 26.53 0 0 0 4 .3c21.73 0 42.51-25.71 47.43-59.85zM105.77 293.9c22.39-9 28.93-44 14.72-78.14C108.53 187 85.62 168 65.38 168a30.21 30.21 0 0 0-11.15 2.1c-22.39 9-28.93 44-14.72 78.14C51.47 277 74.38 296 94.62 296a30.21 30.21 0 0 0 11.15-2.1z\"},\"child\":[]}]})(props);\n};\nexport function IoPawSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M442.8 361.82c-8.8-25.1-29.31-37.82-49.11-50.12-17.23-10.71-33.5-20.83-44.14-39-29.33-50.33-45.44-80.7-93.49-80.7s-64.21 30.38-93.61 80.69c-10.65 18.21-27 28.35-44.25 39.08-19.8 12.31-40.27 25-49.1 50.05a78.06 78.06 0 0 0-5.1 28.29C64 430.85 96.45 464 132.4 464s83.31-18.13 123.76-18.13S343.31 464 379.71 464 448 430.85 448 390.11a78.3 78.3 0 0 0-5.2-28.29z\"},\"child\":[]},{\"tag\":\"ellipse\",\"attr\":{\"cx\":\"72\",\"cy\":\"216\",\"rx\":\"56\",\"ry\":\"72\"},\"child\":[]},{\"tag\":\"ellipse\",\"attr\":{\"cx\":\"184\",\"cy\":\"120\",\"rx\":\"56\",\"ry\":\"72\"},\"child\":[]},{\"tag\":\"ellipse\",\"attr\":{\"cx\":\"328\",\"cy\":\"120\",\"rx\":\"56\",\"ry\":\"72\"},\"child\":[]},{\"tag\":\"ellipse\",\"attr\":{\"cx\":\"440\",\"cy\":\"216\",\"rx\":\"56\",\"ry\":\"72\"},\"child\":[]}]})(props);\n};\nexport function IoPaw (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M490.39 182.75c-5.55-13.19-14.77-22.7-26.67-27.49l-.16-.06a46.46 46.46 0 0 0-17-3.2h-.64c-27.24.41-55.05 23.56-69.19 57.61-10.37 24.9-11.56 51.68-3.18 71.64 5.54 13.2 14.78 22.71 26.73 27.5l.13.05a46.53 46.53 0 0 0 17 3.2c27.5 0 55.6-23.15 70-57.65 10.24-24.87 11.37-51.63 2.98-71.6zM381.55 329.61c-15.71-9.44-30.56-18.37-40.26-34.41C314.53 250.8 298.37 224 256 224s-58.57 26.8-85.39 71.2c-9.72 16.06-24.6 25-40.36 34.48-18.07 10.86-36.74 22.08-44.8 44.16a66.93 66.93 0 0 0-4.65 25c0 35.95 28 65.2 62.4 65.2 17.75 0 36.64-6.15 56.63-12.66 19.22-6.26 39.09-12.73 56.27-12.73s37 6.47 56.15 12.73C332.2 457.85 351 464 368.8 464c34.35 0 62.3-29.25 62.3-65.2a67 67 0 0 0-4.75-25c-8.06-22.1-26.74-33.33-44.8-44.19zM150 188.85c11.9 14.93 27 23.15 42.52 23.15a42.88 42.88 0 0 0 6.33-.47c32.37-4.76 52.54-44.26 45.92-90C242 102.3 234.6 84.39 224 71.11 212.12 56.21 197 48 181.49 48a42.88 42.88 0 0 0-6.33.47c-32.37 4.76-52.54 44.26-45.92 90 2.76 19.2 10.16 37.09 20.76 50.38zm163.16 22.68a42.88 42.88 0 0 0 6.33.47c15.53 0 30.62-8.22 42.52-23.15 10.59-13.29 17.95-31.18 20.75-50.4 6.62-45.72-13.55-85.22-45.92-90a42.88 42.88 0 0 0-6.33-.47C315 48 299.88 56.21 288 71.11c-10.6 13.28-18 31.19-20.76 50.44-6.62 45.72 13.55 85.22 45.92 89.98zM111.59 308.8l.14-.05c11.93-4.79 21.16-14.29 26.69-27.48 8.38-20 7.2-46.75-3.15-71.65C120.94 175.16 92.85 152 65.38 152a46.4 46.4 0 0 0-17 3.2l-.14.05c-11.9 4.75-21.13 14.29-26.66 27.48-8.38 20-7.2 46.75 3.15 71.65C39.06 288.84 67.15 312 94.62 312a46.4 46.4 0 0 0 16.97-3.2z\"},\"child\":[]}]})(props);\n};\nexport function IoPencilOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M364.13 125.25 87 403l-23 45 44.99-23 277.76-277.13-22.62-22.62zm56.56-56.56-22.62 22.62 22.62 22.63 22.62-22.63a16 16 0 0 0 0-22.62h0a16 16 0 0 0-22.62 0z\"},\"child\":[]}]})(props);\n};\nexport function IoPencilSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M103 464H48v-55L358.14 98.09l55.77 55.78L103 464zm322.72-322L370 86.28l31.66-30.66C406.55 50.7 414.05 48 421 48a25.91 25.91 0 0 1 18.42 7.62l17 17A25.87 25.87 0 0 1 464 91c0 7-2.71 14.45-7.62 19.36zm-7.52-70.83z\"},\"child\":[]}]})(props);\n};\nexport function IoPencil (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"44\",\"d\":\"M358.62 129.28 86.49 402.08 70 442l39.92-16.49 272.8-272.13-24.1-24.1zm54.45-54.44-11.79 11.78 24.1 24.1 11.79-11.79a16.51 16.51 0 0 0 0-23.34l-.75-.75a16.51 16.51 0 0 0-23.35 0z\"},\"child\":[]}]})(props);\n};\nexport function IoPeopleCircleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 464c-114.69 0-208-93.31-208-208S141.31 48 256 48s208 93.31 208 208-93.31 208-208 208zm0-384c-97 0-176 79-176 176s79 176 176 176 176-78.95 176-176S353.05 80 256 80z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M323.67 292c-17.4 0-34.21-7.72-47.34-21.73a83.76 83.76 0 0 1-22-51.32c-1.47-20.7 4.88-39.75 17.88-53.62S303.38 144 323.67 144c20.14 0 38.37 7.62 51.33 21.46s19.47 33 18 53.51a84 84 0 0 1-22 51.3C357.86 284.28 341.06 292 323.67 292zm55.81-74zm-215.66 77.36c-29.76 0-55.93-27.51-58.33-61.33-1.23-17.32 4.15-33.33 15.17-45.08s26.22-18 43.15-18 32.12 6.44 43.07 18.14 16.5 27.82 15.25 45c-2.44 33.77-28.6 61.27-58.31 61.27zm256.55 59.92c-1.59-4.7-5.46-9.71-13.22-14.46-23.46-14.33-52.32-21.91-83.48-21.91-30.57 0-60.23 7.9-83.53 22.25-26.25 16.17-43.89 39.75-51 68.18-1.68 6.69-4.13 19.14-1.51 26.11a192.18 192.18 0 0 0 232.75-80.17zm-256.74 46.09c7.07-28.21 22.12-51.73 45.47-70.75a8 8 0 0 0-2.59-13.77c-12-3.83-25.7-5.88-42.69-5.88-23.82 0-49.11 6.45-68.14 18.17-5.4 3.33-10.7 4.61-14.78 5.75a192.84 192.84 0 0 0 77.78 86.64l1.79-.14a102.82 102.82 0 0 1 3.16-20.02z\"},\"child\":[]}]})(props);\n};\nexport function IoPeopleCircleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm69.3 96.17a72.5 72.5 0 1 1-72.6 72.5 72.55 72.55 0 0 1 72.6-72.5zm-155.1 26.36a59.32 59.32 0 1 1-59.4 59.32 59.35 59.35 0 0 1 59.4-59.32zm-75.85 155c24.5-13.29 55.87-19.94 75.85-19.94 15 0 34.32 3 53.33 10.2a133.05 133.05 0 0 0-34 27.11c-13.19 15-20.76 32.92-20.76 50.83v15a177.06 177.06 0 0 1-74.42-83.15zM256 432a175.12 175.12 0 0 1-59.4-10.33v-27.05c0-52.59 85.75-79.09 128.7-79.09 23 0 58.38 7.63 86.21 22.81A176.14 176.14 0 0 1 256 432z\"},\"child\":[]}]})(props);\n};\nexport function IoPeopleCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M258.9 48C141.92 46.42 46.42 141.92 48 258.9c1.56 112.19 92.91 203.54 205.1 205.1 117 1.6 212.48-93.9 210.88-210.88C462.44 140.91 371.09 49.56 258.9 48zm-3.68 152.11c.21-1.2.44-2.4.71-3.59a66.46 66.46 0 0 1 16.29-31.21c12.89-13.73 31.16-21.31 51.45-21.31a74.05 74.05 0 0 1 25.06 4.26 66.69 66.69 0 0 1 26.27 17.2 68.15 68.15 0 0 1 18 42.14 78.46 78.46 0 0 1 0 11.4 86.19 86.19 0 0 1-8.2 31q-.76 1.59-1.59 3.15c-1.11 2.07-2.3 4.1-3.58 6.06a79.47 79.47 0 0 1-8.63 11c-13.12 14-29.92 21.73-47.31 21.73a59.61 59.61 0 0 1-19.17-3.18 63.47 63.47 0 0 1-6.1-2.43 70.76 70.76 0 0 1-22.07-16.12 83.76 83.76 0 0 1-22-51.32q-.27-3.88-.18-7.68a75.62 75.62 0 0 1 1.05-11.08zm-149.73 24.34a59.87 59.87 0 0 1 5.2-20.64 56.76 56.76 0 0 1 2.78-5.3 54.49 54.49 0 0 1 7.19-9.56 55.62 55.62 0 0 1 14-10.82 56.84 56.84 0 0 1 8.11-3.64 63.85 63.85 0 0 1 33.35-2.39 57 57 0 0 1 30.78 17 57.86 57.86 0 0 1 15.41 38.62c.05 2.11 0 4.23-.15 6.38a71.58 71.58 0 0 1-6 23.84 69.49 69.49 0 0 1-5.73 10.42 65.39 65.39 0 0 1-15.76 16.57c-1.5 1.07-3.06 2.07-4.67 3.07a54.21 54.21 0 0 1-10 4.65 49.31 49.31 0 0 1-16.2 2.76c-.93 0-1.86 0-2.78-.08a47.6 47.6 0 0 1-5.48-.62 51.19 51.19 0 0 1-5.35-1.23 53.54 53.54 0 0 1-7.72-2.89c-.84-.39-1.66-.8-2.48-1.23-18-9.49-31.57-29.16-34.23-52.12-.12-1.05-.22-2.1-.29-3.16a66.59 66.59 0 0 1 .02-9.63zm53.92 178.6a177.27 177.27 0 0 1-61.94-70.65 4 4 0 0 1 1.62-5.26C117.67 316.69 141.4 311 163.82 311c17 0 30.7 2 42.69 5.88a8 8 0 0 1 2.59 13.77c-23.35 19-38.4 42.54-45.47 70.75a2.77 2.77 0 0 1-4.22 1.65zM256 432a175.12 175.12 0 0 1-65.7-12.72 4 4 0 0 1-2.4-4.46c.4-2.05.84-3.92 1.23-5.48 7.12-28.43 24.76-52 51-68.18 23.29-14.35 53-22.25 83.52-22.25 31.16 0 60 7.58 83.48 21.91a2.72 2.72 0 0 1 .91 3.67A176.1 176.1 0 0 1 256 432z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M161 295.28a47.6 47.6 0 0 1-5.48-.62 47.6 47.6 0 0 0 5.48.62zm-26.36-117.15a55.62 55.62 0 0 0-14 10.82 54.49 54.49 0 0 0-7.19 9.56 54.49 54.49 0 0 1 7.19-9.56 55.62 55.62 0 0 1 14-10.82zm81.53 79.76a71.58 71.58 0 0 0 6-23.84c.15-2.15.2-4.27.15-6.38q.08 3.15-.15 6.38a71.58 71.58 0 0 1-6 23.84zm-81.53-79.76a56.84 56.84 0 0 1 8.11-3.64 56.84 56.84 0 0 0-8.11 3.64zm15.57 115.3a53.54 53.54 0 0 1-7.72-2.89 53.54 53.54 0 0 0 7.72 2.89zm-44.43-56.24c2.66 23 16.26 42.63 34.23 52.12-18.01-9.49-31.57-29.16-34.23-52.12zM254.34 219a83.76 83.76 0 0 0 22 51.32 70.76 70.76 0 0 0 22.07 16.12 70.76 70.76 0 0 1-22.07-16.12 83.76 83.76 0 0 1-22-51.32q-.27-3.88-.18-7.68-.09 3.75.18 7.68zm50.16 69.82a63.47 63.47 0 0 1-6.1-2.43 63.47 63.47 0 0 0 6.1 2.43zm-48.57-92.28a66.46 66.46 0 0 1 16.29-31.21 66.46 66.46 0 0 0-16.29 31.21zM375 165.46a68.15 68.15 0 0 1 18 42.14 68.15 68.15 0 0 0-18-42.14 66.69 66.69 0 0 0-26.27-17.2 66.69 66.69 0 0 1 26.27 17.2zM393 219a86.19 86.19 0 0 1-8.2 31 86.19 86.19 0 0 0 8.2-31zm-138.84-7.73a75.62 75.62 0 0 1 1.06-11.14 75.62 75.62 0 0 0-1.06 11.14zm129.03 41.89zm-176.31-64.11a57.86 57.86 0 0 1 15.41 38.62 57.86 57.86 0 0 0-15.41-38.62 57 57 0 0 0-30.78-17 57 57 0 0 1 30.78 17zM190 288a54.21 54.21 0 0 1-10 4.65 54.21 54.21 0 0 0 10-4.65zm-84.51-63.55a59.87 59.87 0 0 1 5.2-20.64 59.87 59.87 0 0 0-5.2 20.64zm89.19 60.43C193.17 286 191.61 287 190 288c1.61-1 3.17-2 4.68-3.12zm21.49-26.99a69.49 69.49 0 0 1-5.73 10.42 69.49 69.49 0 0 0 5.73-10.42zm-105.48-54.08a56.76 56.76 0 0 1 2.78-5.3 56.76 56.76 0 0 0-2.78 5.3zm83.99 81.07a65.39 65.39 0 0 0 15.76-16.57 65.39 65.39 0 0 1-15.76 16.57z\"},\"child\":[]}]})(props);\n};\nexport function IoPeopleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M402 168c-2.93 40.67-33.1 72-66 72s-63.12-31.32-66-72c-3-42.31 26.37-72 66-72s69 30.46 66 72z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M336 304c-65.17 0-127.84 32.37-143.54 95.41-2.08 8.34 3.15 16.59 11.72 16.59h263.65c8.57 0 13.77-8.25 11.72-16.59C463.85 335.36 401.18 304 336 304z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M200 185.94c-2.34 32.48-26.72 58.06-53 58.06s-50.7-25.57-53-58.06C91.61 152.15 115.34 128 147 128s55.39 24.77 53 57.94z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M206 306c-18.05-8.27-37.93-11.45-59-11.45-52 0-102.1 25.85-114.65 76.2-1.65 6.66 2.53 13.25 9.37 13.25H154\"},\"child\":[]}]})(props);\n};\nexport function IoPeopleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"152\",\"cy\":\"184\",\"r\":\"72\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M234 296c-28.16-14.3-59.24-20-82-20-44.58 0-136 27.34-136 82v42h150v-16.07c0-19 8-38.05 22-53.93 11.17-12.68 26.81-24.45 46-34z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M340 288c-52.07 0-156 32.16-156 96v48h312v-48c0-63.84-103.93-96-156-96z\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"340\",\"cy\":\"168\",\"r\":\"88\"},\"child\":[]}]})(props);\n};\nexport function IoPeople (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M336 256c-20.56 0-40.44-9.18-56-25.84-15.13-16.25-24.37-37.92-26-61-1.74-24.62 5.77-47.26 21.14-63.76S312 80 336 80c23.83 0 45.38 9.06 60.7 25.52 15.47 16.62 23 39.22 21.26 63.63-1.67 23.11-10.9 44.77-26 61C376.44 246.82 356.57 256 336 256zm66-88zm65.83 264H204.18a27.71 27.71 0 0 1-22-10.67 30.22 30.22 0 0 1-5.26-25.79c8.42-33.81 29.28-61.85 60.32-81.08C264.79 297.4 299.86 288 336 288c36.85 0 71 9 98.71 26.05 31.11 19.13 52 47.33 60.38 81.55a30.27 30.27 0 0 1-5.32 25.78A27.68 27.68 0 0 1 467.83 432zM147 260c-35.19 0-66.13-32.72-69-72.93-1.42-20.6 5-39.65 18-53.62 12.86-13.83 31-21.45 51-21.45s38 7.66 50.93 21.57c13.1 14.08 19.5 33.09 18 53.52-2.87 40.2-33.8 72.91-68.93 72.91zm65.66 31.45c-17.59-8.6-40.42-12.9-65.65-12.9-29.46 0-58.07 7.68-80.57 21.62-25.51 15.83-42.67 38.88-49.6 66.71a27.39 27.39 0 0 0 4.79 23.36A25.32 25.32 0 0 0 41.72 400h111a8 8 0 0 0 7.87-6.57c.11-.63.25-1.26.41-1.88 8.48-34.06 28.35-62.84 57.71-83.82a8 8 0 0 0-.63-13.39c-1.57-.92-3.37-1.89-5.42-2.89z\"},\"child\":[]}]})(props);\n};\nexport function IoPersonAddOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M376 144c-3.92 52.87-44 96-88 96s-84.15-43.12-88-96c-4-55 35-96 88-96s92 42 88 96z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M288 304c-87 0-175.3 48-191.64 138.6-2 10.92 4.21 21.4 15.65 21.4H464c11.44 0 17.62-10.48 15.65-21.4C463.3 352 375 304 288 304z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M88 176v112m56-56H32\"},\"child\":[]}]})(props);\n};\nexport function IoPersonAddSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M106 304v-54h54v-36h-54v-54H70v54H16v36h54v54h36z\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"288\",\"cy\":\"144\",\"r\":\"112\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M288 288c-69.42 0-208 42.88-208 128v64h416v-64c0-85.12-138.58-128-208-128z\"},\"child\":[]}]})(props);\n};\nexport function IoPersonAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 256c52.79 0 99.43-49.71 104-110.82 2.27-30.7-7.36-59.33-27.12-80.6C345.33 43.57 318 32 288 32c-30.24 0-57.59 11.5-77 32.38-19.63 21.11-29.2 49.8-27 80.78C188.49 206.28 235.12 256 288 256zm207.38 183.76c-8.44-46.82-34.79-86.15-76.19-113.75C382.42 301.5 335.83 288 288 288s-94.42 13.5-131.19 38c-41.4 27.6-67.75 66.93-76.19 113.75-1.93 10.73.69 21.34 7.19 29.11A30.94 30.94 0 0 0 112 480h352a30.94 30.94 0 0 0 24.21-11.13c6.48-7.77 9.1-18.38 7.17-29.11zM104 288v-40h40a16 16 0 0 0 0-32h-40v-40a16 16 0 0 0-32 0v40H32a16 16 0 0 0 0 32h40v40a16 16 0 0 0 32 0z\"},\"child\":[]}]})(props);\n};\nexport function IoPersonCircleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M258.9 48C141.92 46.42 46.42 141.92 48 258.9c1.56 112.19 92.91 203.54 205.1 205.1 117 1.6 212.48-93.9 210.88-210.88C462.44 140.91 371.09 49.56 258.9 48zm126.42 327.25a4 4 0 0 1-6.14-.32 124.27 124.27 0 0 0-32.35-29.59C321.37 329 289.11 320 256 320s-65.37 9-90.83 25.34a124.24 124.24 0 0 0-32.35 29.58 4 4 0 0 1-6.14.32A175.32 175.32 0 0 1 80 259c-1.63-97.31 78.22-178.76 175.57-179S432 158.81 432 256a175.32 175.32 0 0 1-46.68 119.25z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M256 144c-19.72 0-37.55 7.39-50.22 20.82s-19 32-17.57 51.93C191.11 256 221.52 288 256 288s64.83-32 67.79-71.24c1.48-19.74-4.8-38.14-17.68-51.82C293.39 151.44 275.59 144 256 144z\"},\"child\":[]}]})(props);\n};\nexport function IoPersonCircleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm2 96a72 72 0 1 1-72 72 72 72 0 0 1 72-72zm-2 288a175.55 175.55 0 0 1-129.18-56.6C135.66 329.62 215.06 320 256 320s120.34 9.62 129.18 55.39A175.52 175.52 0 0 1 256 432z\"},\"child\":[]}]})(props);\n};\nexport function IoPersonCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm-50.22 116.82C218.45 151.39 236.28 144 256 144s37.39 7.44 50.11 20.94c12.89 13.68 19.16 32.06 17.68 51.82C320.83 256 290.43 288 256 288s-64.89-32-67.79-71.25c-1.47-19.92 4.79-38.36 17.57-51.93zM256 432a175.49 175.49 0 0 1-126-53.22 122.91 122.91 0 0 1 35.14-33.44C190.63 329 222.89 320 256 320s65.37 9 90.83 25.34A122.87 122.87 0 0 1 382 378.78 175.45 175.45 0 0 1 256 432z\"},\"child\":[]}]})(props);\n};\nexport function IoPersonOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M344 144c-3.92 52.87-44 96-88 96s-84.15-43.12-88-96c-4-55 35-96 88-96s92 42 88 96z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M256 304c-87 0-175.3 48-191.64 138.6C62.39 453.52 68.57 464 80 464h352c11.44 0 17.62-10.48 15.65-21.4C431.3 352 343 304 256 304z\"},\"child\":[]}]})(props);\n};\nexport function IoPersonRemoveOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M376 144c-3.92 52.87-44 96-88 96s-84.15-43.12-88-96c-4-55 35-96 88-96s92 42 88 96z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M288 304c-87 0-175.3 48-191.64 138.6-2 10.92 4.21 21.4 15.65 21.4H464c11.44 0 17.62-10.48 15.65-21.4C463.3 352 375 304 288 304z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M144 232H32\"},\"child\":[]}]})(props);\n};\nexport function IoPersonRemoveSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 214h144v36H16z\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"288\",\"cy\":\"144\",\"r\":\"112\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M288 288c-69.42 0-208 42.88-208 128v64h416v-64c0-85.12-138.58-128-208-128z\"},\"child\":[]}]})(props);\n};\nexport function IoPersonRemove (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 256c52.79 0 99.43-49.71 104-110.82 2.27-30.7-7.36-59.33-27.12-80.6C345.33 43.57 318 32 288 32c-30.24 0-57.59 11.5-77 32.38-19.63 21.11-29.2 49.8-27 80.78C188.49 206.28 235.12 256 288 256zm207.38 183.76c-8.44-46.82-34.79-86.15-76.19-113.75C382.42 301.5 335.83 288 288 288s-94.42 13.5-131.19 38c-41.4 27.6-67.75 66.93-76.19 113.75-1.93 10.73.69 21.34 7.19 29.11A30.94 30.94 0 0 0 112 480h352a30.94 30.94 0 0 0 24.21-11.13c6.48-7.77 9.1-18.38 7.17-29.11zM144 216H32a16 16 0 0 0 0 32h112a16 16 0 0 0 0-32z\"},\"child\":[]}]})(props);\n};\nexport function IoPersonSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 256a112 112 0 1 0-112-112 112 112 0 0 0 112 112zm0 32c-69.42 0-208 42.88-208 128v64h416v-64c0-85.12-138.58-128-208-128z\"},\"child\":[]}]})(props);\n};\nexport function IoPerson (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M332.64 64.58C313.18 43.57 286 32 256 32c-30.16 0-57.43 11.5-76.8 32.38-19.58 21.11-29.12 49.8-26.88 80.78C156.76 206.28 203.27 256 256 256s99.16-49.71 103.67-110.82c2.27-30.7-7.33-59.33-27.03-80.6zM432 480H80a31 31 0 0 1-24.2-11.13c-6.5-7.77-9.12-18.38-7.18-29.11C57.06 392.94 83.4 353.61 124.8 326c36.78-24.51 83.37-38 131.2-38s94.42 13.5 131.2 38c41.4 27.6 67.74 66.93 76.18 113.75 1.94 10.73-.68 21.34-7.18 29.11A31 31 0 0 1 432 480z\"},\"child\":[]}]})(props);\n};\nexport function IoPhoneLandscapeOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"256\",\"height\":\"480\",\"x\":\"128\",\"y\":\"16\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"48\",\"ry\":\"48\",\"transform\":\"rotate(-90 256 256)\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M16 336v-24a8 8 0 0 1 8-8h0a16 16 0 0 0 16-16v-64a16 16 0 0 0-16-16h0a8 8 0 0 1-8-8v-24\"},\"child\":[]}]})(props);\n};\nexport function IoPhoneLandscapeSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 130v252a18 18 0 0 0 18 18h476a18 18 0 0 0 18-18V130a18 18 0 0 0-18-18H18a18 18 0 0 0-18 18zm448 234H64V148h384z\"},\"child\":[]}]})(props);\n};\nexport function IoPhoneLandscape (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 176v160a64 64 0 0 0 64 64h384a64 64 0 0 0 64-64V176a64 64 0 0 0-64-64H64a64 64 0 0 0-64 64zm448-32a32 32 0 0 1 32 32v160a32 32 0 0 1-32 32H64a32 32 0 0 1-32-32v-11.35a7.94 7.94 0 0 1 4.75-7.3A32 32 0 0 0 56 288v-64a32 32 0 0 0-19.25-29.35 7.94 7.94 0 0 1-4.75-7.3V176a32 32 0 0 1 32-32z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M48 176a11.88 11.88 0 0 0 4.69 9.53A48 48 0 0 1 72 224v64a48 48 0 0 1-19.31 38.47A11.88 11.88 0 0 0 48 336a16 16 0 0 0 16 16h384a16 16 0 0 0 16-16V176a16 16 0 0 0-16-16H64a16 16 0 0 0-16 16z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 176v160a64 64 0 0 0 64 64h384a64 64 0 0 0 64-64V176a64 64 0 0 0-64-64H64a64 64 0 0 0-64 64zm448-32a32 32 0 0 1 32 32v160a32 32 0 0 1-32 32H64a32 32 0 0 1-32-32v-11.35a7.94 7.94 0 0 1 4.75-7.3A32 32 0 0 0 56 288v-64a32 32 0 0 0-19.25-29.35 7.94 7.94 0 0 1-4.75-7.3V176a32 32 0 0 1 32-32z\"},\"child\":[]}]})(props);\n};\nexport function IoPhonePortraitOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"256\",\"height\":\"480\",\"x\":\"128\",\"y\":\"16\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"48\",\"ry\":\"48\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M176 16h24a8 8 0 0 1 8 8h0a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16h0a8 8 0 0 1 8-8h24\"},\"child\":[]}]})(props);\n};\nexport function IoPhonePortraitSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M382 0H130a18 18 0 0 0-18 18v476a18 18 0 0 0 18 18h252a18 18 0 0 0 18-18V18a18 18 0 0 0-18-18zM148 448V64h216v384z\"},\"child\":[]}]})(props);\n};\nexport function IoPhonePortrait (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M336 0H176a64 64 0 0 0-64 64v384a64 64 0 0 0 64 64h160a64 64 0 0 0 64-64V64a64 64 0 0 0-64-64zm32 448a32 32 0 0 1-32 32H176a32 32 0 0 1-32-32V64a32 32 0 0 1 32-32h11.35a7.94 7.94 0 0 1 7.3 4.75A32 32 0 0 0 224 56h64a32 32 0 0 0 29.35-19.25 7.94 7.94 0 0 1 7.3-4.75H336a32 32 0 0 1 32 32z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M336 48a11.88 11.88 0 0 0-9.53 4.69A48 48 0 0 1 288 72h-64a48 48 0 0 1-38.47-19.31A11.88 11.88 0 0 0 176 48a16 16 0 0 0-16 16v384a16 16 0 0 0 16 16h160a16 16 0 0 0 16-16V64a16 16 0 0 0-16-16z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M336 0H176a64 64 0 0 0-64 64v384a64 64 0 0 0 64 64h160a64 64 0 0 0 64-64V64a64 64 0 0 0-64-64zm32 448a32 32 0 0 1-32 32H176a32 32 0 0 1-32-32V64a32 32 0 0 1 32-32h11.35a7.94 7.94 0 0 1 7.3 4.75A32 32 0 0 0 224 56h64a32 32 0 0 0 29.35-19.25 7.94 7.94 0 0 1 7.3-4.75H336a32 32 0 0 1 32 32z\"},\"child\":[]}]})(props);\n};\nexport function IoPieChartOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M256.05 80.65Q263.94 80 272 80c106 0 192 86 192 192s-86 192-192 192A192.09 192.09 0 0 1 89.12 330.65\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M256 48C141.12 48 48 141.12 48 256a207.29 207.29 0 0 0 18.09 85L256 256z\"},\"child\":[]}]})(props);\n};\nexport function IoPieChartSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m58 362.09-6.51-14.59A224 224 0 0 1 256 32h16v234.37z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M304 66.46v220.65L94.62 380.78A208.31 208.31 0 0 0 272 480c114.69 0 208-93.31 208-208 0-103.81-76.45-190.1-176-205.54z\"},\"child\":[]}]})(props);\n};\nexport function IoPieChart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M66.1 357a16 16 0 0 1-14.61-9.46A224 224 0 0 1 256 32a16 16 0 0 1 16 16v208a16 16 0 0 1-9.47 14.61l-189.9 84.95A15.93 15.93 0 0 1 66.1 357z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M313.59 68.18A8 8 0 0 0 304 76v180a48.07 48.07 0 0 1-28.4 43.82L103.13 377a8 8 0 0 0-3.35 11.81 208.42 208.42 0 0 0 48.46 50.41A206.32 206.32 0 0 0 272 480c114.69 0 208-93.31 208-208 0-100.45-71.58-184.5-166.41-203.82z\"},\"child\":[]}]})(props);\n};\nexport function IoPinOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"96\",\"r\":\"64\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M272 164a9 9 0 0 0-9-9h-14a9 9 0 0 0-9 9v293.56a32.09 32.09 0 0 0 2.49 12.38l10.07 24a3.92 3.92 0 0 0 6.88 0l10.07-24a32.09 32.09 0 0 0 2.49-12.38z\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"280\",\"cy\":\"72\",\"r\":\"24\"},\"child\":[]}]})(props);\n};\nexport function IoPinSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M339 99a83 83 0 1 0-102 80.8V464l19 32 19-32V179.8A83.28 83.28 0 0 0 339 99zm-59-6a21 21 0 1 1 21-21 21 21 0 0 1-21 21z\"},\"child\":[]}]})(props);\n};\nexport function IoPin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M336 96a80 80 0 1 0-96 78.39v283.17a32.09 32.09 0 0 0 2.49 12.38l10.07 24a3.92 3.92 0 0 0 6.88 0l10.07-24a32.09 32.09 0 0 0 2.49-12.38V174.39A80.13 80.13 0 0 0 336 96zm-56 0a24 24 0 1 1 24-24 24 24 0 0 1-24 24z\"},\"child\":[]}]})(props);\n};\nexport function IoPintOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M132.43 162c-6.24-34-4.49-45.55-3.07-68.39L132.27 47a16 16 0 0 1 15.94-15h215.57a16 16 0 0 1 15.94 15l2.91 46.61c1.43 22.86 3.19 34.39-3.06 68.45-5.93 32.29-43.71 133.27-43.71 238.32V472a8 8 0 0 1-8 8H184.12a8 8 0 0 1-8-8v-71.63c.01-92.47-37.46-204.3-43.69-238.37zm2.78-66h241.58\"},\"child\":[]}]})(props);\n};\nexport function IoPintSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M399 99.29 394 16H118.45L113 99.26c-1.29 19.24-2.23 33.14 3.73 65.66 1.67 9.11 5.22 22.66 9.73 39.82 12.61 48 33.71 128.36 33.71 195.63V496h191.68v-95.62c0-77.09 21.31-153.29 34-198.81 4.38-15.63 7.83-28 9.41-36.62 6.01-32.51 5.07-46.42 3.74-65.66zM146.23 80l2-32h215.52l2 32z\"},\"child\":[]}]})(props);\n};\nexport function IoPint (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M399 99.29c-.15-2.13-.3-4.35-.44-6.68L395.69 46a32 32 0 0 0-31.91-30H148.21a32 32 0 0 0-31.91 30l-2.91 46.63c-.14 2.31-.29 4.51-.43 6.62-1.29 19.24-2.23 33.14 3.73 65.66 1.67 9.11 5.22 22.66 9.73 39.82 12.61 48 33.71 128.36 33.71 195.63V472a24 24 0 0 0 24 24h143.74a24 24 0 0 0 24-24v-71.62c0-77.09 21.31-153.29 34-198.81 4.38-15.63 7.83-28 9.41-36.62 5.99-32.51 5.05-46.42 3.72-65.66zm-35-47.54 1.5 24a4 4 0 0 1-4 4.25h-211a4 4 0 0 1-4-4.25l1.48-24A4 4 0 0 1 152 48h208a4 4 0 0 1 4 3.75z\"},\"child\":[]}]})(props);\n};\nexport function IoPizzaOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M404.76 123.08C358.37 104.18 309.69 96 256 96s-106.1 9-148.9 26.68c-8.08 3.3-15.26 9-10.07 19.5C101.24 150.71 203 375 241.66 455a15.94 15.94 0 0 0 28.72 0l144.05-312.22c3.19-6.9.9-15.4-9.67-19.7z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M436.38 82.68C384.31 62.08 320.17 48 256 48S128.65 60.78 75.48 82.08C70.79 84 62 88.43 64.41 95.88L74.09 120c4 8.2 8.67 8.2 15.06 8.2 1.79 0 4.29-1 7.28-2.18A442.46 442.46 0 0 1 256 96c56.76 0 114.91 12 159.6 30 3.59 1.4 5.59 2.18 7.28 2.18 6.58 0 10.38 2.19 15-8.1L447.65 96c2.01-6-4.99-10.82-11.27-13.32z\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"192\",\"cy\":\"192\",\"r\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"320\",\"cy\":\"208\",\"r\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"320\",\"r\":\"32\"},\"child\":[]}]})(props);\n};\nexport function IoPizzaSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M442.3 67.82C383.92 44.72 317.78 32 256 32c-63.57 0-129.8 12.51-186.56 35.25C49.18 75.48 42 80 42 80l22 44 37.53-16.14C147.58 89.53 199.19 80 256.51 80c57.49 0 108.09 9.23 154.75 28.25L448 124l22-44s-7-4-27.7-12.18z\"},\"child\":[]},{\"tag\":\"ellipse\",\"attr\":{\"cx\":\"320.48\",\"cy\":\"207.99\",\"fill\":\"none\",\"rx\":\"31.97\",\"ry\":\"32.03\",\"transform\":\"rotate(-44.98 320.503 207.996)\"},\"child\":[]},{\"tag\":\"ellipse\",\"attr\":{\"cx\":\"192.48\",\"cy\":\"191.99\",\"fill\":\"none\",\"rx\":\"31.97\",\"ry\":\"32.03\",\"transform\":\"rotate(-44.98 192.49 191.992)\"},\"child\":[]},{\"tag\":\"ellipse\",\"attr\":{\"cx\":\"256.48\",\"cy\":\"319.99\",\"fill\":\"none\",\"rx\":\"31.97\",\"ry\":\"32.03\",\"transform\":\"rotate(-44.98 256.505 320)\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M409.66 140.85C364.15 122.52 308.16 112 256 112a425 425 0 0 0-153.7 28.9c-.25.1-9.24 4.23-19 8.71 7.46 16.22 18 39.16 22.2 48.33L256 480l173.74-330.84-19.92-8.24zm-185.25 53.22a32 32 0 1 1-34-34 32.12 32.12 0 0 1 34 34zm64 128a32 32 0 1 1-34-34 32.12 32.12 0 0 1 34 34zm64-112a32 32 0 1 1-34-34 32.12 32.12 0 0 1 34 34z\"},\"child\":[]}]})(props);\n};\nexport function IoPizza (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M441.82 67.83C383.44 44.73 317.3 32 255.56 32 192 32 125.76 44.53 69 67.26 48.7 75.49 45.21 90 48.71 100.82L52.78 111a16 16 0 0 0 21.31 8.69c10.8-4.76 23.93-10.54 27-11.78C145.1 89.64 198.71 80 256 80c57.47 0 108.09 9.24 154.76 28.25 4.42 1.8 14.88 6.42 26.17 11.46a16 16 0 0 0 21.35-8.59L462 102l.34-.9c3.45-10.21.14-25.05-20.52-33.27z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M409.18 140.86C363.67 122.53 307.68 112 255.56 112a425 425 0 0 0-153.74 28.89c-.53.21-2.06.88-4.29 1.88a16 16 0 0 0-8 21.27c4 8.71 9.42 20.58 15.5 33.89C137.94 270 199.21 404 227.26 462A31.74 31.74 0 0 0 256 480a31.73 31.73 0 0 0 28.76-18.06l.06-.13 137.3-297.57a15.94 15.94 0 0 0-8.31-21.45c-2.26-.95-3.85-1.61-4.5-1.87zm-215.1 83.07a32 32 0 1 1 29.85-29.85 32 32 0 0 1-29.85 29.85zm64 128a32 32 0 1 1 29.85-29.85 32 32 0 0 1-29.85 29.85zm64-112a32 32 0 1 1 29.85-29.85 32 32 0 0 1-29.85 29.85z\"},\"child\":[]}]})(props);\n};\nexport function IoPlanetOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M413.48 284.46c58.87 47.24 91.61 89 80.31 108.55-17.85 30.85-138.78-5.48-270.1-81.15S.37 149.84 18.21 119c11.16-19.28 62.58-12.32 131.64 14.09\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"r\":\"160\",\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\"},\"child\":[]}]})(props);\n};\nexport function IoPlanetSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M81 274.71C90.36 363 165.26 432 256 432a174.91 174.91 0 0 0 71.49-15.19c-40.3-16.53-84.05-38.17-127.77-63.36C157 328.86 115.84 301.5 81 274.71zm411.72 64.8c-8.5-11.31-20-23.8-34-37a205.25 205.25 0 0 1-11 34c28.72 29.5 33.2 45.34 32.17 48.45-2 2.23-17.05 6.89-58.15-3.53q-8.83-2.24-19.32-5.46-6.76-2.08-13.79-4.49a176.76 176.76 0 0 0 19.54-27.25c.17-.29.35-.58.52-.88A175.39 175.39 0 0 0 432 256a178.87 178.87 0 0 0-1-19c-9.57-88.17-84.4-157-175-157a175.37 175.37 0 0 0-106.4 35.89 177.4 177.4 0 0 0-45.83 51.84c-.16.29-.34.58-.51.87a175.48 175.48 0 0 0-13.83 30.52q-5.59-4.87-10.79-9.67c-5.39-5-10.17-9.63-14.42-14-29.57-30.26-33.09-45.61-32.16-48.45 2.16-2.43 18.1-6.54 58.13 3.55a209.88 209.88 0 0 1 24-26.56c-18.86-5.61-35.79-9.35-50.05-11C33.41 89.47 13.3 95.52 4.35 111c-3.24 5.58-6.35 15.09-2.72 28.6C7 159.66 26.14 184 53.23 209.5c8.63 8.13 18.06 16.37 28.12 24.64 7.32 6 15 12.06 22.9 18.08q7.91 6 16.15 12T137.1 276c25.41 17.61 52.26 34.52 78.59 49.69q14.34 8.26 28.64 16t28.37 14.81c21.9 11 43.35 20.92 63.86 29.43q13.19 5.48 25.81 10.16c11.89 4.42 23.37 8.31 34.31 11.59l1.1.33c25.73 7.66 47.42 11.69 64.48 12H464c21.64 0 36.3-6.38 43.58-19 9.09-15.62 4.08-36.32-14.86-61.5z\"},\"child\":[]}]})(props);\n};\nexport function IoPlanet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M96.85 286.62a8 8 0 0 0-12.53 8.25C102.07 373.28 172.3 432 256 432a175.31 175.31 0 0 0 52.41-8 8 8 0 0 0 .79-15 1120 1120 0 0 1-109.48-55.61 1126.24 1126.24 0 0 1-102.87-66.77zm395.87 52.89c-4.19-5.58-9.11-11.44-14.7-17.53a15.83 15.83 0 0 0-26.56 5.13c0 .16-.11.31-.17.47a15.75 15.75 0 0 0 3.15 16.06c22.74 25 26.42 38.51 25.48 41.36-2 2.23-17.05 6.89-58.15-3.53q-8.83-2.24-19.32-5.46-6.76-2.08-13.79-4.49a176.76 176.76 0 0 0 19.54-27.25c.17-.29.35-.58.52-.88A175.39 175.39 0 0 0 432 256a178.87 178.87 0 0 0-1-19c-9.57-88.17-84.4-157-175-157a175.37 175.37 0 0 0-106.4 35.89 177.4 177.4 0 0 0-45.83 51.84c-.16.29-.34.58-.51.87a175.48 175.48 0 0 0-13.83 30.52q-5.59-4.87-10.79-9.67c-5.39-5-10.17-9.63-14.42-14-29.57-30.26-33.09-45.61-32.16-48.45 2-2.23 15.54-5.87 48.62 1.31A15.82 15.82 0 0 0 96.22 123l.36-.44a15.74 15.74 0 0 0-8.67-25.43A237.38 237.38 0 0 0 64.13 93c-30.72-3.53-50.83 2.52-59.78 18-3.24 5.58-6.35 15.09-2.72 28.6C7 159.66 26.14 184 53.23 209.5c8.63 8.13 18.06 16.37 28.12 24.64 7.32 6 15 12.06 22.9 18.08q7.91 6 16.15 12T137.1 276c25.41 17.61 52.26 34.52 78.59 49.69q14.34 8.26 28.64 16t28.37 14.81c21.9 11 43.35 20.92 63.86 29.43q13.19 5.48 25.81 10.16c11.89 4.42 23.37 8.31 34.31 11.59l1.1.33c25.73 7.66 47.42 11.69 64.48 12H464c21.64 0 36.3-6.38 43.58-19 9.09-15.62 4.08-36.32-14.86-61.5z\"},\"child\":[]}]})(props);\n};\nexport function IoPlayBackCircleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M256 448c106 0 192-86 192-192S362 64 256 64 64 150 64 256s86 192 192 192z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"m117.23 246.7 114.45-69.14a10.78 10.78 0 0 1 16.32 9.31v53.32l103.68-62.63a10.78 10.78 0 0 1 16.32 9.31v138.26a10.78 10.78 0 0 1-16.32 9.31L248 271.81v53.32a10.78 10.78 0 0 1-16.32 9.31L117.23 265.3a10.89 10.89 0 0 1 0-18.6z\"},\"child\":[]}]})(props);\n};\nexport function IoPlayBackCircleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M48 256c0 114.69 93.31 208 208 208s208-93.31 208-208S370.69 48 256 48 48 141.31 48 256zm63.47 0L248 168v72.16l120-72.48v176.45l-120-72.32v71.44z\"},\"child\":[]}]})(props);\n};\nexport function IoPlayBackCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M48 256c0 114.69 93.31 208 208 208s208-93.31 208-208S370.69 48 256 48 48 141.31 48 256zm69.23-9.3 114.45-69.14a10.78 10.78 0 0 1 16.32 9.31v53.32l103.68-62.63a10.78 10.78 0 0 1 16.32 9.31v138.26a10.78 10.78 0 0 1-16.32 9.31L248 271.81v53.32a10.78 10.78 0 0 1-16.32 9.31L117.23 265.3a10.89 10.89 0 0 1 0-18.6z\"},\"child\":[]}]})(props);\n};\nexport function IoPlayBackOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M480 145.52v221c0 13.28-13 21.72-23.63 15.35L267.5 268.8c-9.24-5.53-9.24-20.07 0-25.6l188.87-113C467 123.8 480 132.24 480 145.52zm-228.57 0v221c0 13.28-13 21.72-23.63 15.35L38.93 268.8c-9.24-5.53-9.24-20.07 0-25.6l188.87-113c10.64-6.4 23.63 2.04 23.63 15.32z\"},\"child\":[]}]})(props);\n};\nexport function IoPlayBackSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496 400 256 256l240-144v288zm-240 0L16 256l240-144v288z\"},\"child\":[]}]})(props);\n};\nexport function IoPlayBack (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m30.71 229.47 188.87-113a30.54 30.54 0 0 1 31.09-.39 33.74 33.74 0 0 1 16.76 29.47v79.05l180.72-108.16a30.54 30.54 0 0 1 31.09-.39A33.74 33.74 0 0 1 496 145.52v221A33.73 33.73 0 0 1 479.24 396a30.54 30.54 0 0 1-31.09-.39L267.43 287.4v79.08A33.73 33.73 0 0 1 250.67 396a30.54 30.54 0 0 1-31.09-.39l-188.87-113a31.27 31.27 0 0 1 0-53z\"},\"child\":[]}]})(props);\n};\nexport function IoPlayCircleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192 192-86 192-192z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"m216.32 334.44 114.45-69.14a10.89 10.89 0 0 0 0-18.6l-114.45-69.14a10.78 10.78 0 0 0-16.32 9.31v138.26a10.78 10.78 0 0 0 16.32 9.31z\"},\"child\":[]}]})(props);\n};\nexport function IoPlayCircleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm-56 296V168l144 88z\"},\"child\":[]}]})(props);\n};\nexport function IoPlayCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm74.77 217.3-114.45 69.14a10.78 10.78 0 0 1-16.32-9.31V186.87a10.78 10.78 0 0 1 16.32-9.31l114.45 69.14a10.89 10.89 0 0 1 0 18.6z\"},\"child\":[]}]})(props);\n};\nexport function IoPlayForwardCircleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192 192-86 192-192z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"m394.77 246.7-114.45-69.14a10.78 10.78 0 0 0-16.32 9.31v53.32l-103.68-62.63a10.78 10.78 0 0 0-16.32 9.31v138.26a10.78 10.78 0 0 0 16.32 9.31L264 271.81v53.32a10.78 10.78 0 0 0 16.32 9.31l114.45-69.14a10.89 10.89 0 0 0 0-18.6z\"},\"child\":[]}]})(props);\n};\nexport function IoPlayForwardCircleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm8 295.25v-71.44l-120 72.32V167.71l120 72.48V168l136.53 88z\"},\"child\":[]}]})(props);\n};\nexport function IoPlayForwardCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm138.77 217.3-114.45 69.14a10.78 10.78 0 0 1-16.32-9.31v-53.32l-103.68 62.63a10.78 10.78 0 0 1-16.32-9.31V186.87a10.78 10.78 0 0 1 16.32-9.31L264 240.19v-53.32a10.78 10.78 0 0 1 16.32-9.31l114.45 69.14a10.89 10.89 0 0 1 0 18.6z\"},\"child\":[]}]})(props);\n};\nexport function IoPlayForwardOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M32 145.52v221c0 13.28 13 21.72 23.63 15.35l188.87-113c9.24-5.53 9.24-20.07 0-25.6l-188.87-113C45 123.8 32 132.24 32 145.52zm228.57 0v221c0 13.28 13 21.72 23.63 15.35l188.87-113c9.24-5.53 9.24-20.07 0-25.6l-188.87-113c-10.64-6.47-23.63 1.97-23.63 15.25z\"},\"child\":[]}]})(props);\n};\nexport function IoPlayForwardSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m16 400 240-144L16 112v288zm240 0 240-144-240-144v288z\"},\"child\":[]}]})(props);\n};\nexport function IoPlayForward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m481.29 229.47-188.87-113a30.54 30.54 0 0 0-31.09-.39 33.74 33.74 0 0 0-16.76 29.47v79.05L63.85 116.44a30.54 30.54 0 0 0-31.09-.39A33.74 33.74 0 0 0 16 145.52v221A33.74 33.74 0 0 0 32.76 396a30.54 30.54 0 0 0 31.09-.39L244.57 287.4v79.08A33.74 33.74 0 0 0 261.33 396a30.54 30.54 0 0 0 31.09-.39l188.87-113a31.27 31.27 0 0 0 0-53z\"},\"child\":[]}]})(props);\n};\nexport function IoPlayOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M112 111v290c0 17.44 17 28.52 31 20.16l247.9-148.37c12.12-7.25 12.12-26.33 0-33.58L143 90.84c-14-8.36-31 2.72-31 20.16z\"},\"child\":[]}]})(props);\n};\nexport function IoPlaySharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m96 448 320-192L96 64v384z\"},\"child\":[]}]})(props);\n};\nexport function IoPlaySkipBackCircleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M256 448c106 0 192-86 192-192S362 64 256 64 64 150 64 256s86 192 192 192z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M192 176a16 16 0 0 1 16 16v53l111.68-67.46a10.78 10.78 0 0 1 16.32 9.33v138.26a10.78 10.78 0 0 1-16.32 9.31L208 267v53a16 16 0 0 1-32 0V192a16 16 0 0 1 16-16z\"},\"child\":[]}]})(props);\n};\nexport function IoPlaySkipBackCircleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M48 256c0 114.69 93.31 208 208 208s208-93.31 208-208S370.69 48 256 48 48 141.31 48 256zm128-80h32v69l128-77.53v176.9L208 267v69h-32z\"},\"child\":[]}]})(props);\n};\nexport function IoPlaySkipBackCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M48 256c0 114.69 93.31 208 208 208s208-93.31 208-208S370.69 48 256 48 48 141.31 48 256zm128-64a16 16 0 0 1 32 0v53l111.68-67.46a10.78 10.78 0 0 1 16.32 9.33v138.26a10.78 10.78 0 0 1-16.32 9.31L208 267v53a16 16 0 0 1-32 0z\"},\"child\":[]}]})(props);\n};\nexport function IoPlaySkipBackOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M400 111v290c0 17.44-17 28.52-31 20.16L121.09 272.79c-12.12-7.25-12.12-26.33 0-33.58L369 90.84c14-8.36 31 2.72 31 20.16z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M112 80v352\"},\"child\":[]}]})(props);\n};\nexport function IoPlaySkipBackSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M143.47 64v163.52L416 64v384L143.47 284.48V448H96V64h47.47z\"},\"child\":[]}]})(props);\n};\nexport function IoPlaySkipBack (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M112 64a16 16 0 0 1 16 16v136.43L360.77 77.11a35.13 35.13 0 0 1 35.77-.44c12 6.8 19.46 20 19.46 34.33v290c0 14.37-7.46 27.53-19.46 34.33a35.14 35.14 0 0 1-35.77-.45L128 295.57V432a16 16 0 0 1-32 0V80a16 16 0 0 1 16-16z\"},\"child\":[]}]})(props);\n};\nexport function IoPlaySkipForwardCircleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192 192-86 192-192z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M320 176a16 16 0 0 0-16 16v53l-111.68-67.44a10.78 10.78 0 0 0-16.32 9.31v138.26a10.78 10.78 0 0 0 16.32 9.31L304 267v53a16 16 0 0 0 32 0V192a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function IoPlaySkipForwardCircleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm80 288h-32v-69l-128 77.37V167.49L304 245v-69h32z\"},\"child\":[]}]})(props);\n};\nexport function IoPlaySkipForwardCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm80 272a16 16 0 0 1-32 0v-53l-111.68 67.44a10.78 10.78 0 0 1-16.32-9.31V186.87a10.78 10.78 0 0 1 16.32-9.31L304 245v-53a16 16 0 0 1 32 0z\"},\"child\":[]}]})(props);\n};\nexport function IoPlaySkipForwardOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M112 111v290c0 17.44 17 28.52 31 20.16l247.9-148.37c12.12-7.25 12.12-26.33 0-33.58L143 90.84c-14-8.36-31 2.72-31 20.16z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M400 80v352\"},\"child\":[]}]})(props);\n};\nexport function IoPlaySkipForwardSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M368.53 64v163.52L96 64v384l272.53-163.52V448H416V64h-47.47z\"},\"child\":[]}]})(props);\n};\nexport function IoPlaySkipForward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 64a16 16 0 0 0-16 16v136.43L151.23 77.11a35.13 35.13 0 0 0-35.77-.44C103.46 83.47 96 96.63 96 111v290c0 14.37 7.46 27.53 19.46 34.33a35.14 35.14 0 0 0 35.77-.45L384 295.57V432a16 16 0 0 0 32 0V80a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function IoPlay (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M133 440a35.37 35.37 0 0 1-17.5-4.67c-12-6.8-19.46-20-19.46-34.33V111c0-14.37 7.46-27.53 19.46-34.33a35.13 35.13 0 0 1 35.77.45l247.85 148.36a36 36 0 0 1 0 61l-247.89 148.4A35.5 35.5 0 0 1 133 440z\"},\"child\":[]}]})(props);\n};\nexport function IoPodiumOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M32 160v296a8 8 0 0 0 8 8h136V160a16 16 0 0 0-16-16H48a16 16 0 0 0-16 16zM320 48H192a16 16 0 0 0-16 16v400h160V64a16 16 0 0 0-16-16zm144 160H352a16 16 0 0 0-16 16v240h136a8 8 0 0 0 8-8V224a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function IoPodiumSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M160 32h192v448H160zm224 160h112v288H384zM16 128h112v352H16z\"},\"child\":[]}]})(props);\n};\nexport function IoPodium (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M320 32H192a32 32 0 0 0-32 32v412a4 4 0 0 0 4 4h184a4 4 0 0 0 4-4V64a32 32 0 0 0-32-32zm144 160h-72a8 8 0 0 0-8 8v272a8 8 0 0 0 8 8h80a24 24 0 0 0 24-24V224a32 32 0 0 0-32-32zM48 128a32 32 0 0 0-32 32v296a24 24 0 0 0 24 24h80a8 8 0 0 0 8-8V136a8 8 0 0 0-8-8z\"},\"child\":[]}]})(props);\n};\nexport function IoPowerOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M378 108a191.41 191.41 0 0 1 70 148c0 106-86 192-192 192S64 362 64 256a192 192 0 0 1 69-148m123-44v192\"},\"child\":[]}]})(props);\n};\nexport function IoPowerSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 464c-114.69 0-208-93.23-208-207.82a207.44 207.44 0 0 1 74.76-160.13l16.9-14 28.17 33.72-16.9 14A163.72 163.72 0 0 0 92 256.18c0 90.39 73.57 163.93 164 163.93s164-73.54 164-163.93a163.38 163.38 0 0 0-59.83-126.36l-17-14 28-33.82 17 14A207.13 207.13 0 0 1 464 256.18C464 370.77 370.69 464 256 464z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M234 48h44v224h-44z\"},\"child\":[]}]})(props);\n};\nexport function IoPower (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 464c-114.69 0-208-93.47-208-208.35 0-62.45 27.25-121 74.76-160.55a22 22 0 1 1 28.17 33.8C113.48 160.1 92 206.3 92 255.65 92 346.27 165.57 420 256 420s164-73.73 164-164.35A164 164 0 0 0 360.17 129a22 22 0 1 1 28-33.92A207.88 207.88 0 0 1 464 255.65C464 370.53 370.69 464 256 464z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M256 272a22 22 0 0 1-22-22V70a22 22 0 0 1 44 0v180a22 22 0 0 1-22 22z\"},\"child\":[]}]})(props);\n};\nexport function IoPricetagOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M435.25 48h-122.9a14.46 14.46 0 0 0-10.2 4.2L56.45 297.9a28.85 28.85 0 0 0 0 40.7l117 117a28.85 28.85 0 0 0 40.7 0L459.75 210a14.46 14.46 0 0 0 4.2-10.2v-123a28.66 28.66 0 0 0-28.7-28.8z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M384 160a32 32 0 1 1 32-32 32 32 0 0 1-32 32z\"},\"child\":[]}]})(props);\n};\nexport function IoPricetagSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M304 32 16 320l176 176 288-288V32zm80 128a32 32 0 1 1 32-32 32 32 0 0 1-32 32z\"},\"child\":[]}]})(props);\n};\nexport function IoPricetag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M467 45.2A44.45 44.45 0 0 0 435.29 32H312.36a30.63 30.63 0 0 0-21.52 8.89L45.09 286.59a44.82 44.82 0 0 0 0 63.32l117 117a44.83 44.83 0 0 0 63.34 0l245.65-245.6A30.6 30.6 0 0 0 480 199.8v-123a44.24 44.24 0 0 0-13-31.6zM384 160a32 32 0 1 1 32-32 32 32 0 0 1-32 32z\"},\"child\":[]}]})(props);\n};\nexport function IoPricetagsOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M403.29 32H280.36a14.46 14.46 0 0 0-10.2 4.2L24.4 281.9a28.85 28.85 0 0 0 0 40.7l117 117a28.86 28.86 0 0 0 40.71 0L427.8 194a14.46 14.46 0 0 0 4.2-10.2v-123A28.66 28.66 0 0 0 403.29 32z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M352 144a32 32 0 1 1 32-32 32 32 0 0 1-32 32z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m230 480 262-262a13.81 13.81 0 0 0 4-10V80\"},\"child\":[]}]})(props);\n};\nexport function IoPricetagsSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 16 0 304l176 176 288-288V16zm80 128a32 32 0 1 1 32-32 32 32 0 0 1-32 32z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M480 64v144L216.9 471.1 242 496l270-272V64h-32z\"},\"child\":[]}]})(props);\n};\nexport function IoPricetags (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 183.8v-123A44.66 44.66 0 0 0 403.29 16H280.36a30.62 30.62 0 0 0-21.51 8.89L13.09 270.58a44.86 44.86 0 0 0 0 63.34l117 117a44.84 44.84 0 0 0 63.33 0l245.69-245.61A30.6 30.6 0 0 0 448 183.8zM352 144a32 32 0 1 1 32-32 32 32 0 0 1-32 32z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M496 64a16 16 0 0 0-16 16v127.37L218.69 468.69a16 16 0 1 0 22.62 22.62l262-262A29.84 29.84 0 0 0 512 208V80a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function IoPrintOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M384 368h24a40.12 40.12 0 0 0 40-40V168a40.12 40.12 0 0 0-40-40H104a40.12 40.12 0 0 0-40 40v160a40.12 40.12 0 0 0 40 40h24\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"256\",\"height\":\"208\",\"x\":\"128\",\"y\":\"240\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"24.32\",\"ry\":\"24.32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M384 128v-24a40.12 40.12 0 0 0-40-40H168a40.12 40.12 0 0 0-40 40v24\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"392\",\"cy\":\"184\",\"r\":\"24\"},\"child\":[]}]})(props);\n};\nexport function IoPrintSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 96V56a8 8 0 0 0-8-8H120a8 8 0 0 0-8 8v40\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"208\",\"height\":\"160\",\"x\":\"152\",\"y\":\"264\",\"fill\":\"none\",\"rx\":\"4\",\"ry\":\"4\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"208\",\"height\":\"160\",\"x\":\"152\",\"y\":\"264\",\"fill\":\"none\",\"rx\":\"4\",\"ry\":\"4\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M408 112H104a56 56 0 0 0-56 56v208a8 8 0 0 0 8 8h56v72a8 8 0 0 0 8 8h272a8 8 0 0 0 8-8v-72h56a8 8 0 0 0 8-8V168a56 56 0 0 0-56-56zm-48 308a4 4 0 0 1-4 4H156a4 4 0 0 1-4-4V268a4 4 0 0 1 4-4h200a4 4 0 0 1 4 4zm34-212.08a24 24 0 1 1 22-22 24 24 0 0 1-22 22z\"},\"child\":[]}]})(props);\n};\nexport function IoPrint (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M408 112H106a58 58 0 0 0-58 58v158a56 56 0 0 0 56 56h8v39.68A40.32 40.32 0 0 0 152.32 464h207.36A40.32 40.32 0 0 0 400 423.68V384h8a56 56 0 0 0 56-56V168a56 56 0 0 0-56-56zm-40 311.68a8.35 8.35 0 0 1-8.32 8.32H152.32a8.35 8.35 0 0 1-8.32-8.32V264.32a8.35 8.35 0 0 1 8.32-8.32h207.36a8.35 8.35 0 0 1 8.32 8.32zm26-215.76a24 24 0 1 1 22-22 24 24 0 0 1-22 22zM344 48H168a56.09 56.09 0 0 0-55.42 48h286.84A56.09 56.09 0 0 0 344 48z\"},\"child\":[]}]})(props);\n};\nexport function IoPrismOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M229.73 45.88 37.53 327.79a31.79 31.79 0 0 0 11.31 46L241 476.26a31.77 31.77 0 0 0 29.92 0l192.2-102.51a31.79 31.79 0 0 0 11.31-46L282.27 45.88a31.8 31.8 0 0 0-52.54 0zM256 32v448\"},\"child\":[]}]})(props);\n};\nexport function IoPrismSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 16 16 352l240 144 240-144zm-20 96.82v324.53L73.73 340z\"},\"child\":[]}]})(props);\n};\nexport function IoPrism (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M487.83 319.44 295.63 36.88a48 48 0 0 0-79.26 0L24.17 319.44a47.1 47.1 0 0 0 16.93 68.13l192.2 102.75a48.05 48.05 0 0 0 45.4 0l192.2-102.75a47.1 47.1 0 0 0 16.93-68.13zm-431.26 41a16.12 16.12 0 0 1-8-10.38 16.8 16.8 0 0 1 2.37-13.62L232.66 69.26c2.18-3.21 7.34-1.72 7.34 2.13v374c0 5.9-6.54 9.63-11.87 6.78z\"},\"child\":[]}]})(props);\n};\nexport function IoPulseOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M48 320h64l64-256 64 384 64-224 32 96h64\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"432\",\"cy\":\"320\",\"r\":\"32\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]}]})(props);\n};\nexport function IoPulseSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M426 266a54.07 54.07 0 0 0-49.3 32h-24.84l-27-81a22 22 0 0 0-42 .92l-37.2 130.2-48-281.74a22 22 0 0 0-43-1.72L94.82 298H32v44h80a22 22 0 0 0 21.34-16.66L171.69 172l46.61 273.62A22 22 0 0 0 238.76 464H240a22 22 0 0 0 21.15-16l44.47-149.62 9.51 28.62A22 22 0 0 0 336 342h40.7a54 54 0 1 0 49.3-76z\"},\"child\":[]}]})(props);\n};\nexport function IoPulse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M432 272a48.09 48.09 0 0 0-45.25 32h-39.22l-28.35-85.06a16 16 0 0 0-30.56.66l-44.51 155.76-52.33-314a16 16 0 0 0-31.3-1.25L99.51 304H48a16 16 0 0 0 0 32h64a16 16 0 0 0 15.52-12.12l45.34-181.37 51.36 308.12A16 16 0 0 0 239.1 464h.91a16 16 0 0 0 15.37-11.6l49.8-174.28 15.64 46.94A16 16 0 0 0 336 336h50.75A48 48 0 1 0 432 272z\"},\"child\":[]}]})(props);\n};\nexport function IoPushOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M336 336h40a40 40 0 0 0 40-40V88a40 40 0 0 0-40-40H136a40 40 0 0 0-40 40v208a40 40 0 0 0 40 40h40\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m176 240 80-80 80 80m-80 224V176\"},\"child\":[]}]})(props);\n};\nexport function IoPushSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M272 352V204.63l64 64L358.63 246 256 143.37 153.37 246 176 268.63l64-64V352H92a12 12 0 0 1-12-12V44a12 12 0 0 1 12-12h328a12 12 0 0 1 12 12v296a12 12 0 0 1-12 12zm-32 0h32v128h-32z\"},\"child\":[]}]})(props);\n};\nexport function IoPush (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M376 352H272V198.63l52.69 52.68a16 16 0 0 0 22.62-22.62l-80-80a16 16 0 0 0-22.62 0l-80 80a16 16 0 0 0 22.62 22.62L240 198.63V352H136a56.06 56.06 0 0 1-56-56V88a56.06 56.06 0 0 1 56-56h240a56.06 56.06 0 0 1 56 56v208a56.06 56.06 0 0 1-56 56zM272 464a16 16 0 0 1-32 0V352h32z\"},\"child\":[]}]})(props);\n};\nexport function IoQrCodeOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"80\",\"height\":\"80\",\"x\":\"336\",\"y\":\"336\",\"rx\":\"8\",\"ry\":\"8\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"64\",\"height\":\"64\",\"x\":\"272\",\"y\":\"272\",\"rx\":\"8\",\"ry\":\"8\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"64\",\"height\":\"64\",\"x\":\"416\",\"y\":\"416\",\"rx\":\"8\",\"ry\":\"8\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"48\",\"height\":\"48\",\"x\":\"432\",\"y\":\"272\",\"rx\":\"8\",\"ry\":\"8\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"48\",\"height\":\"48\",\"x\":\"272\",\"y\":\"432\",\"rx\":\"8\",\"ry\":\"8\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"80\",\"height\":\"80\",\"x\":\"336\",\"y\":\"96\",\"rx\":\"8\",\"ry\":\"8\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"176\",\"height\":\"176\",\"x\":\"288\",\"y\":\"48\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"16\",\"ry\":\"16\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"80\",\"height\":\"80\",\"x\":\"96\",\"y\":\"96\",\"rx\":\"8\",\"ry\":\"8\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"176\",\"height\":\"176\",\"x\":\"48\",\"y\":\"48\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"16\",\"ry\":\"16\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"80\",\"height\":\"80\",\"x\":\"96\",\"y\":\"336\",\"rx\":\"8\",\"ry\":\"8\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"176\",\"height\":\"176\",\"x\":\"48\",\"y\":\"288\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"16\",\"ry\":\"16\"},\"child\":[]}]})(props);\n};\nexport function IoQrCodeSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M336 336h80v80h-80zm-64-64h64v64h-64zm144 144h64v64h-64zm16-144h48v48h-48zM272 432h48v48h-48zm64-336h80v80h-80z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M480 240H272V32h208zm-164-44h120V76H316zM96 96h80v80H96z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M240 240H32V32h208zM76 196h120V76H76zm20 140h80v80H96z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M240 480H32V272h208zM76 436h120V316H76z\"},\"child\":[]}]})(props);\n};\nexport function IoQrCode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"80\",\"height\":\"80\",\"x\":\"336\",\"y\":\"336\",\"rx\":\"8\",\"ry\":\"8\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"64\",\"height\":\"64\",\"x\":\"272\",\"y\":\"272\",\"rx\":\"8\",\"ry\":\"8\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"64\",\"height\":\"64\",\"x\":\"416\",\"y\":\"416\",\"rx\":\"8\",\"ry\":\"8\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"48\",\"height\":\"48\",\"x\":\"432\",\"y\":\"272\",\"rx\":\"8\",\"ry\":\"8\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"48\",\"height\":\"48\",\"x\":\"272\",\"y\":\"432\",\"rx\":\"8\",\"ry\":\"8\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M448 32H304a32 32 0 0 0-32 32v144a32 32 0 0 0 32 32h144a32 32 0 0 0 32-32V64a32 32 0 0 0-32-32zm-32 136a8 8 0 0 1-8 8h-64a8 8 0 0 1-8-8v-64a8 8 0 0 1 8-8h64a8 8 0 0 1 8 8zM208 32H64a32 32 0 0 0-32 32v144a32 32 0 0 0 32 32h144a32 32 0 0 0 32-32V64a32 32 0 0 0-32-32zm-32 136a8 8 0 0 1-8 8h-64a8 8 0 0 1-8-8v-64a8 8 0 0 1 8-8h64a8 8 0 0 1 8 8zm32 104H64a32 32 0 0 0-32 32v144a32 32 0 0 0 32 32h144a32 32 0 0 0 32-32V304a32 32 0 0 0-32-32zm-32 136a8 8 0 0 1-8 8h-64a8 8 0 0 1-8-8v-64a8 8 0 0 1 8-8h64a8 8 0 0 1 8 8z\"},\"child\":[]}]})(props);\n};\nexport function IoRadioButtonOffOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192 192-86 192-192z\"},\"child\":[]}]})(props);\n};\nexport function IoRadioButtonOffSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192 192-86 192-192z\"},\"child\":[]}]})(props);\n};\nexport function IoRadioButtonOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192 192-86 192-192z\"},\"child\":[]}]})(props);\n};\nexport function IoRadioButtonOnOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192 192-86 192-192z\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"r\":\"144\"},\"child\":[]}]})(props);\n};\nexport function IoRadioButtonOnSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192 192-86 192-192z\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"r\":\"144\"},\"child\":[]}]})(props);\n};\nexport function IoRadioButtonOn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192 192-86 192-192z\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"r\":\"144\"},\"child\":[]}]})(props);\n};\nexport function IoRadioOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256.02\",\"r\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M184.25 192.25a96 96 0 0 0 0 127.52m143.52 0a96 96 0 0 0 0-127.52m-194.49-50.97a168 168 0 0 0 0 229.44m245.44 0a168 168 0 0 0 0-229.44M435 416a240.34 240.34 0 0 0 0-320M77 96a240.34 240.34 0 0 0 0 320\"},\"child\":[]}]})(props);\n};\nexport function IoRadioSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"ellipse\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"rx\":\"36\",\"ry\":\"35.99\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"m188.4 350.8-14.62-16.44a117.91 117.91 0 0 1 0-156.71l14.62-16.43 32.87 29.24-14.62 16.43a73.93 73.93 0 0 0 0 98.25l14.62 16.44zm135.2 0-32.89-29.22 14.62-16.44a73.93 73.93 0 0 0 0-98.25l-14.62-16.43 32.87-29.24 14.62 16.43a117.91 117.91 0 0 1 0 156.71z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"m138.24 401.76-15-16.06a189.85 189.85 0 0 1 0-259.4l15-16.07 32.14 30.05-15 16.06a145.88 145.88 0 0 0 0 199.32l15 16.06zm235.52 0-32.14-30 15-16.06a145.88 145.88 0 0 0 0-199.32l-15-16.06 32.14-30 15 16.07a189.85 189.85 0 0 1 0 259.4z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"m430.73 447-32.79-29.33 14.66-16.39a218.2 218.2 0 0 0 0-290.56l-14.67-16.38L430.72 65l14.67 16.39a262.18 262.18 0 0 1 0 349.22zm-349.46 0L66.6 430.61a262.18 262.18 0 0 1 0-349.22L81.28 65l32.79 29.34-14.68 16.38a218.2 218.2 0 0 0 0 290.56l14.66 16.39z\"},\"child\":[]}]})(props);\n};\nexport function IoRadio (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"r\":\"36\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M190.24 341.77a22 22 0 0 1-16.46-7.38 118 118 0 0 1 0-156.76 22 22 0 1 1 32.87 29.24 74 74 0 0 0 0 98.29 22 22 0 0 1-16.43 36.61zm131.52 0a22 22 0 0 1-16.43-36.61 74 74 0 0 0 0-98.29 22 22 0 1 1 32.87-29.24 118 118 0 0 1 0 156.76 22 22 0 0 1-16.44 7.38z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M139.29 392.72a21.92 21.92 0 0 1-16.08-7 190 190 0 0 1 0-259.49 22 22 0 1 1 32.13 30.06 146 146 0 0 0 0 199.38 22 22 0 0 1-16.06 37zm233.42 0a22 22 0 0 1-16.06-37 146 146 0 0 0 0-199.38 22 22 0 1 1 32.13-30.06 190 190 0 0 1 0 259.49 21.92 21.92 0 0 1-16.07 6.95z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M429 438a22 22 0 0 1-16.39-36.67 218.34 218.34 0 0 0 0-290.66 22 22 0 0 1 32.78-29.34 262.34 262.34 0 0 1 0 349.34A22 22 0 0 1 429 438zm-346 0a21.94 21.94 0 0 1-16.41-7.33 262.34 262.34 0 0 1 0-349.34 22 22 0 0 1 32.78 29.34 218.34 218.34 0 0 0 0 290.66A22 22 0 0 1 83 438z\"},\"child\":[]}]})(props);\n};\nexport function IoRainyOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M114.61 162.85A16.07 16.07 0 0 0 128 149.6C140.09 76.17 193.63 32 256 32c57.93 0 96.62 37.75 112.2 77.74a15.84 15.84 0 0 0 12.2 9.87c50 8.15 91.6 41.54 91.6 99.59 0 59.4-48.6 100.8-108 100.8H130c-49.5 0-90-24.7-90-79.2 0-48.47 38.67-72.22 74.61-77.95z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m144 384-32 48m112-48-64 96m144-96-32 48m112-48-64 96\"},\"child\":[]}]})(props);\n};\nexport function IoRainySharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M364 336H130c-29.5 0-54.92-7.83-73.53-22.64C35.23 296.44 24 271.35 24 240.8c0-26.66 10.08-49.8 29.14-66.91 15.24-13.68 36.17-23.21 59-26.84.06 0 .08 0 .09-.05 6.44-39 23.83-72.09 50.31-95.68A140.24 140.24 0 0 1 256 16c30.23 0 58.48 9.39 81.71 27.17a142.69 142.69 0 0 1 45.36 60.66c29.41 4.82 54.72 17.11 73.19 35.54C477 160.11 488 187.71 488 219.2c0 32.85-13.13 62.87-37 84.52-22.89 20.82-53.8 32.28-87 32.28zm19-232.18zM93.82 430.422l49.75-74.626 26.626 17.75-49.751 74.627zm47.996 48.007L223.568 355.8l26.625 17.75-81.751 122.628zm111.995-48.005 49.751-74.626 26.626 17.75-49.751 74.627zm47.997 48.006 81.752-122.627 26.625 17.75-81.751 122.628z\"},\"child\":[]}]})(props);\n};\nexport function IoRainy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M456.26 139.37c-16.77-16.73-39.17-28.41-65.17-34a16 16 0 0 1-11.19-9 142.24 142.24 0 0 0-42.19-53.21C314.48 25.39 286.23 16 256 16a140.24 140.24 0 0 0-93.5 35.32c-24.2 21.56-40.91 51.34-48.43 85.83a16.05 16.05 0 0 1-11.72 12.18c-25 6.3-35.71 12.54-49.21 24.56C34 190.93 24 214.14 24 240.8c0 30.55 11.23 55.64 32.47 72.56C75.08 328.17 100.5 336 130 336h234c33.2 0 64.11-11.46 87-32.28 23.84-21.65 37-51.67 37-84.52 0-31.49-11-59.09-31.74-79.83zM112 448a16 16 0 0 1-13.3-24.88l32-48a16 16 0 0 1 26.62 17.76l-32 48A16 16 0 0 1 112 448zm48 48a16 16 0 0 1-13.29-24.88l64-96a16 16 0 0 1 26.62 17.76l-64 96A16 16 0 0 1 160 496zm112-48a16 16 0 0 1-13.3-24.88l32-48a16 16 0 0 1 26.62 17.76l-32 48A16 16 0 0 1 272 448zm48 48a16 16 0 0 1-13.3-24.88l64-96a16 16 0 0 1 26.62 17.76l-64 96A16 16 0 0 1 320 496z\"},\"child\":[]}]})(props);\n};\nexport function IoReaderOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"320\",\"height\":\"416\",\"x\":\"96\",\"y\":\"48\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"48\",\"ry\":\"48\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M176 128h160m-160 80h160m-160 80h80\"},\"child\":[]}]})(props);\n};\nexport function IoReaderSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M80 44v424a12 12 0 0 0 12 12h328a12 12 0 0 0 12-12V44a12 12 0 0 0-12-12H92a12 12 0 0 0-12 12zm192 260H160v-32h112zm80-80H160v-32h192zm0-80H160v-32h192z\"},\"child\":[]}]})(props);\n};\nexport function IoReader (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M368 32H144a64.07 64.07 0 0 0-64 64v320a64.07 64.07 0 0 0 64 64h224a64.07 64.07 0 0 0 64-64V96a64.07 64.07 0 0 0-64-64zM256 304h-80a16 16 0 0 1 0-32h80a16 16 0 0 1 0 32zm80-80H176a16 16 0 0 1 0-32h160a16 16 0 0 1 0 32zm0-80H176a16 16 0 0 1 0-32h160a16 16 0 0 1 0 32z\"},\"child\":[]}]})(props);\n};\nexport function IoReceiptOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M160 336V48l32 16 32-16 31.94 16 32.37-16L320 64l31.79-16 31.93 16L416 48l32.01 16L480 48v224\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M480 272v112a80 80 0 0 1-80 80 80 80 0 0 1-80-80v-48H48a15.86 15.86 0 0 0-16 16c0 64 6.74 112 80 112h288\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M224 144h192m-128 80h128\"},\"child\":[]}]})(props);\n};\nexport function IoReceiptSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m448 48-32-16-32 16-32-16-32 16-32-16-32 16-32-16-32 16-48-16v256.05h224V424c0 30.93 33.07 56 64 56h12c30.93 0 52-25.07 52-56V32zM272.5 240l-.5-32h159.5l.5 32zm-64-80-.5-32h223.5l.5 32z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M336 424V320H16v32c0 50.55 5.78 71.62 14.46 87.63C45.19 466.8 71.86 480 112 480h256s-32-20-32-56z\"},\"child\":[]}]})(props);\n};\nexport function IoReceipt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M483.82 32.45a16.28 16.28 0 0 0-11.23 1.37L448 46.1l-24.8-12.4a16 16 0 0 0-14.31 0l-25.11 12.41L359 33.7a16 16 0 0 0-14.36 0L320 46.07l-24.45-12.34a16 16 0 0 0-14.35-.06L256 46.12l-24.8-12.43a16.05 16.05 0 0 0-14.33 0L192 46.1l-24.84-12.41a16 16 0 0 0-19.36 3.94 16.25 16.25 0 0 0-3.8 10.65V288l.05.05H336a32 32 0 0 1 32 32V424c0 30.93 33.07 56 64 56h12a52 52 0 0 0 52-52V48a16 16 0 0 0-12.18-15.55zM416 240H288.5c-8.64 0-16.1-6.64-16.48-15.28A16 16 0 0 1 288 208h127.5c8.64 0 16.1 6.64 16.48 15.28A16 16 0 0 1 416 240zm0-80H224.5c-8.64 0-16.1-6.64-16.48-15.28A16 16 0 0 1 224 128h191.5c8.64 0 16.1 6.64 16.48 15.28A16 16 0 0 1 416 160z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M336 424v-88a16 16 0 0 0-16-16H48a32.1 32.1 0 0 0-32 32.05c0 50.55 5.78 71.57 14.46 87.57C45.19 466.79 71.86 480 112 480h245.68a4 4 0 0 0 2.85-6.81C351.07 463.7 336 451 336 424z\"},\"child\":[]}]})(props);\n};\nexport function IoRecordingOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"128\",\"cy\":\"256\",\"r\":\"96\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"384\",\"cy\":\"256\",\"r\":\"96\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M128 352h256\"},\"child\":[]}]})(props);\n};\nexport function IoRecordingSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 138a117.93 117.93 0 0 0-91.84 192h-72.32A118 118 0 1 0 128 374h256a118 118 0 0 0 0-236zM54 256a74 74 0 1 1 74 74 74.09 74.09 0 0 1-74-74zm330 74a74 74 0 1 1 74-74 74.09 74.09 0 0 1-74 74z\"},\"child\":[]}]})(props);\n};\nexport function IoRecording (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M380.79 144.05c-59.1 1.65-107.12 49.71-108.79 108.81a111.64 111.64 0 0 0 30.36 79.77A2 2 0 0 1 301 336h-90a2 2 0 0 1-1.44-3.37A111.64 111.64 0 0 0 240 252.86c-1.63-59.1-49.65-107.16-108.75-108.81A112.12 112.12 0 0 0 16 255.53C15.75 317.77 67 368 129.24 368h253.52C445 368 496.25 317.77 496 255.53a112.12 112.12 0 0 0-115.21-111.48z\"},\"child\":[]}]})(props);\n};\nexport function IoRefreshCircleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"28\",\"d\":\"M288 193s12.18-6-32-6a80 80 0 1 0 80 80\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"28\",\"d\":\"m256 149 40 40-40 40\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M256 64C150 64 64 150 64 256s86 192 192 192 192-86 192-192S362 64 256 64z\"},\"child\":[]}]})(props);\n};\nexport function IoRefreshCircleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.31 48 48 141.32 48 256c0 114.86 93.14 208 208 208 114.69 0 208-93.31 208-208 0-114.87-93.13-208-208-208zm94 219a94 94 0 1 1-94-94h4.21l-24-24L256 129.2l59.8 59.8-59.8 59.8-19.8-19.8 27.92-27.92c-2.4-.08-5.12-.08-8.12-.08a66 66 0 1 0 66 66v-14h28z\"},\"child\":[]}]})(props);\n};\nexport function IoRefreshCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.31 48 48 141.32 48 256c0 114.86 93.14 208 208 208 114.69 0 208-93.31 208-208 0-114.87-93.13-208-208-208zm0 313a94 94 0 0 1 0-188h4.21l-14.11-14.1a14 14 0 0 1 19.8-19.8l40 40a14 14 0 0 1 0 19.8l-40 40a14 14 0 0 1-19.8-19.8l18-18c-2.38-.1-5.1-.1-8.1-.1a66 66 0 1 0 66 66 14 14 0 0 1 28 0 94.11 94.11 0 0 1-94 94z\"},\"child\":[]}]})(props);\n};\nexport function IoRefreshOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M320 146s24.36-12-64-12a160 160 0 1 0 160 160\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m256 58 80 80-80 80\"},\"child\":[]}]})(props);\n};\nexport function IoRefreshSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M320 146s24.36-12-64-12a160 160 0 1 0 160 160\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"m256 58 80 80-80 80\"},\"child\":[]}]})(props);\n};\nexport function IoRefresh (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M320 146s24.36-12-64-12a160 160 0 1 0 160 160\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m256 58 80 80-80 80\"},\"child\":[]}]})(props);\n};\nexport function IoReloadCircleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192 192-86 192-192z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"m341.54 197.85-11.37-13.23a103.37 103.37 0 1 0 22.71 105.84\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M367.32 162a8.44 8.44 0 0 0-6 2.54l-59.54 59.54a8.61 8.61 0 0 0 6.09 14.71h59.54a8.62 8.62 0 0 0 8.62-8.62v-59.56a8.61 8.61 0 0 0-8.68-8.63z\"},\"child\":[]}]})(props);\n};\nexport function IoReloadCircleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm120 190.77h-89l36.88-36.88-5.6-6.51a87.38 87.38 0 1 0-62.94 148 87.55 87.55 0 0 0 82.42-58.25l5.37-15.13 30.17 10.67-5.3 15.13a119.4 119.4 0 1 1-112.62-159.18 118.34 118.34 0 0 1 86.36 36.95l.56.62 4.31 5L376 149.81z\"},\"child\":[]}]})(props);\n};\nexport function IoReloadCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm120 182.15a8.62 8.62 0 0 1-8.62 8.62h-59.54a8.61 8.61 0 0 1-6.09-14.71l22.17-22.17-5.6-6.51a87.38 87.38 0 1 0-62.94 148 87.55 87.55 0 0 0 82.42-58.25A16 16 0 1 1 368 295.8a119.4 119.4 0 1 1-112.62-159.18 118.34 118.34 0 0 1 86.36 36.95l.56.62 4.31 5 14.68-14.68a8.44 8.44 0 0 1 6-2.54 8.61 8.61 0 0 1 8.68 8.63z\"},\"child\":[]}]})(props);\n};\nexport function IoReloadOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"m400 148-21.12-24.57A191.43 191.43 0 0 0 240 64C134 64 48 150 48 256s86 192 192 192a192.09 192.09 0 0 0 181.07-128\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M464 97.42V208a16 16 0 0 1-16 16H337.42c-14.26 0-21.4-17.23-11.32-27.31L436.69 86.1C446.77 76 464 83.16 464 97.42z\"},\"child\":[]}]})(props);\n};\nexport function IoReloadSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"m400 148-21.12-24.57A191.43 191.43 0 0 0 240 64C134 64 48 150 48 256s86 192 192 192a192.09 192.09 0 0 0 181.07-128\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M464 68.45V220a4 4 0 0 1-4 4H308.45a4 4 0 0 1-2.83-6.83L457.17 65.62a4 4 0 0 1 6.83 2.83z\"},\"child\":[]}]})(props);\n};\nexport function IoReload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"m400 148-21.12-24.57A191.43 191.43 0 0 0 240 64C134 64 48 150 48 256s86 192 192 192a192.09 192.09 0 0 0 181.07-128\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M464 97.42V208a16 16 0 0 1-16 16H337.42c-14.26 0-21.4-17.23-11.32-27.31L436.69 86.1C446.77 76 464 83.16 464 97.42z\"},\"child\":[]}]})(props);\n};\nexport function IoRemoveCircleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192 192-86 192-192z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M336 256H176\"},\"child\":[]}]})(props);\n};\nexport function IoRemoveCircleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm96 224H160v-32h192z\"},\"child\":[]}]})(props);\n};\nexport function IoRemoveCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm80 224H176a16 16 0 0 1 0-32h160a16 16 0 0 1 0 32z\"},\"child\":[]}]})(props);\n};\nexport function IoRemoveOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M400 256H112\"},\"child\":[]}]})(props);\n};\nexport function IoRemoveSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M400 256H112\"},\"child\":[]}]})(props);\n};\nexport function IoRemove (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M400 256H112\"},\"child\":[]}]})(props);\n};\nexport function IoReorderFourOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M96 304h320M96 208h320M96 112h320M96 400h320\"},\"child\":[]}]})(props);\n};\nexport function IoReorderFourSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"44\",\"d\":\"M102 304h308m-308-96h308m-308-96h308M102 400h308\"},\"child\":[]}]})(props);\n};\nexport function IoReorderFour (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"44\",\"d\":\"M102 304h308m-308-96h308m-308-96h308M102 400h308\"},\"child\":[]}]})(props);\n};\nexport function IoReorderThreeOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M96 256h320M96 176h320M96 336h320\"},\"child\":[]}]})(props);\n};\nexport function IoReorderThreeSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"44\",\"d\":\"M102 256h308m-308-80h308M102 336h308\"},\"child\":[]}]})(props);\n};\nexport function IoReorderThree (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"44\",\"d\":\"M102 256h308m-308-80h308M102 336h308\"},\"child\":[]}]})(props);\n};\nexport function IoReorderTwoOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M112 304h288m-288-96h288\"},\"child\":[]}]})(props);\n};\nexport function IoReorderTwoSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"44\",\"d\":\"M118 304h276m-276-96h276\"},\"child\":[]}]})(props);\n};\nexport function IoReorderTwo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"44\",\"d\":\"M118 304h276m-276-96h276\"},\"child\":[]}]})(props);\n};\nexport function IoRepeatOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m320 120 48 48-48 48\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M352 168H144a80.24 80.24 0 0 0-80 80v16m128 128-48-48 48-48\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M160 344h208a80.24 80.24 0 0 0 80-80v-16\"},\"child\":[]}]})(props);\n};\nexport function IoRepeatSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"m320 120 48 48-48 48\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M352 168H64v96m128 128-48-48 48-48\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M160 344h288v-96\"},\"child\":[]}]})(props);\n};\nexport function IoRepeat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m320 120 48 48-48 48\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M352 168H144a80.24 80.24 0 0 0-80 80v16m128 128-48-48 48-48\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M160 344h208a80.24 80.24 0 0 0 80-80v-16\"},\"child\":[]}]})(props);\n};\nexport function IoResizeOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M304 96h112v112m-10.23-101.8L111.98 400.02M208 416H96V304\"},\"child\":[]}]})(props);\n};\nexport function IoResizeSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M304 96h112v112m-10.23-101.8L111.98 400.02M208 416H96V304\"},\"child\":[]}]})(props);\n};\nexport function IoResize (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M304 96h112v112m-10.23-101.8L111.98 400.02M208 416H96V304\"},\"child\":[]}]})(props);\n};\nexport function IoRestaurantOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m57.49 47.74 368.43 368.43a37.28 37.28 0 0 1 0 52.72 37.29 37.29 0 0 1-52.72 0l-90-91.55a32 32 0 0 1-9.2-22.43v-5.53a32 32 0 0 0-9.52-22.78l-11.62-10.73a32 32 0 0 0-29.8-7.44 48.53 48.53 0 0 1-46.56-12.63l-85.43-85.44C40.39 159.68 21.74 83.15 57.49 47.74z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m400 32-77.25 77.25A64 64 0 0 0 304 154.51v14.86a16 16 0 0 1-4.69 11.32L288 192m32 32 11.31-11.31a16 16 0 0 1 11.32-4.69h14.86a64 64 0 0 0 45.26-18.75L480 112m-40-40-80 80M200 368l-99.72 100.28a40 40 0 0 1-56.56 0h0a40 40 0 0 1 0-56.56L128 328\"},\"child\":[]}]})(props);\n};\nexport function IoRestaurantSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M342.7 223.94h14.87a79.48 79.48 0 0 0 56.58-23.44L496 118l-22.22-22.4-83.58 83.58-17.37-17.37 83.58-83.59-23-22.31-83.27 83.26-17.32-17.37 83.58-83.59L394 16l-82.5 81.85a79.49 79.49 0 0 0-23.44 56.59v14.86l-43.13 43.13L48 16C3.72 70.87 29.87 171.71 79.72 221.57l85.5 85.5c26.55 26.55 31.82 28.92 61.94 16.8 6.49-2.61 8.85-2.32 14.9 3.72l13 12.13c2.93 3 3 3.88 3 9.62v5.54c0 21.08 13.48 33.2 22.36 42.24L384 496l72-72-156.43-156.93z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M227.37 354.59c-29.82 6.11-48.11 11.74-83.08-23.23-.56-.56-1.14-1.1-1.7-1.66l-19.5-19.5L16 416l80 80 144-144z\"},\"child\":[]}]})(props);\n};\nexport function IoRestaurant (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M357.57 223.94a79.48 79.48 0 0 0 56.58-23.44l77-76.95c6.09-6.09 6.65-16 .85-22.39a16 16 0 0 0-23.17-.56l-68.63 68.58a12.29 12.29 0 0 1-17.37 0c-4.79-4.78-4.53-12.86.25-17.64l68.33-68.33a16 16 0 0 0-.56-23.16A15.62 15.62 0 0 0 440.27 56a16.71 16.71 0 0 0-11.81 4.9l-68.27 68.26a12.29 12.29 0 0 1-17.37 0c-4.78-4.78-4.53-12.86.25-17.64l68.33-68.31a16 16 0 0 0-.56-23.16A15.62 15.62 0 0 0 400.26 16a16.73 16.73 0 0 0-11.81 4.9L311.5 97.85a79.49 79.49 0 0 0-23.44 56.59v8.23a16 16 0 0 1-4.69 11.33l-35.61 35.62a4 4 0 0 1-5.66 0L68.82 36.33a16 16 0 0 0-22.58-.06C31.09 51.28 23 72.47 23 97.54c-.1 41.4 21.66 89 56.79 124.08l85.45 85.45A64.79 64.79 0 0 0 211 326a64 64 0 0 0 16.21-2.08 16.24 16.24 0 0 1 4.07-.53 15.93 15.93 0 0 1 10.83 4.25l11.39 10.52a16.12 16.12 0 0 1 4.6 11.23v5.54a47.73 47.73 0 0 0 13.77 33.65l90.05 91.57.09.1a53.29 53.29 0 0 0 75.36-75.37L302.39 269.9a4 4 0 0 1 0-5.66L338 228.63a16 16 0 0 1 11.32-4.69z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M211 358a97.32 97.32 0 0 1-68.36-28.25l-13.86-13.86a8 8 0 0 0-11.3 0l-85 84.56c-15.15 15.15-20.56 37.45-13.06 59.29a30.63 30.63 0 0 0 1.49 3.6C31 484 50.58 496 72 496a55.68 55.68 0 0 0 39.64-16.44L225 365.66a4.69 4.69 0 0 0 1.32-3.72v-.26a4.63 4.63 0 0 0-5.15-4.27A97.09 97.09 0 0 1 211 358z\"},\"child\":[]}]})(props);\n};\nexport function IoReturnDownBackOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m112 352-64-64 64-64\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M64 288h294c58.76 0 106-49.33 106-108v-20\"},\"child\":[]}]})(props);\n};\nexport function IoReturnDownBackSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"m112 352-64-64 64-64\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M64 288h400V160\"},\"child\":[]}]})(props);\n};\nexport function IoReturnDownBack (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m112 352-64-64 64-64\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M64 288h294c58.76 0 106-49.33 106-108v-20\"},\"child\":[]}]})(props);\n};\nexport function IoReturnDownForwardOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m400 352 64-64-64-64\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M448 288H154c-58.76 0-106-49.33-106-108v-20\"},\"child\":[]}]})(props);\n};\nexport function IoReturnDownForwardSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"m400 352 64-64-64-64\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M448 288H48V160\"},\"child\":[]}]})(props);\n};\nexport function IoReturnDownForward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m400 352 64-64-64-64\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M448 288H154c-58.76 0-106-49.33-106-108v-20\"},\"child\":[]}]})(props);\n};\nexport function IoReturnUpBackOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m112 160-64 64 64 64\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M64 224h294c58.76 0 106 49.33 106 108v20\"},\"child\":[]}]})(props);\n};\nexport function IoReturnUpBackSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"m112 160-64 64 64 64\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M64 224h400v128\"},\"child\":[]}]})(props);\n};\nexport function IoReturnUpBack (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m112 160-64 64 64 64\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M64 224h294c58.76 0 106 49.33 106 108v20\"},\"child\":[]}]})(props);\n};\nexport function IoReturnUpForwardOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m400 160 64 64-64 64\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M448 224H154c-58.76 0-106 49.33-106 108v20\"},\"child\":[]}]})(props);\n};\nexport function IoReturnUpForwardSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"m400 160 64 64-64 64\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M448 224H48v128\"},\"child\":[]}]})(props);\n};\nexport function IoReturnUpForward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m400 160 64 64-64 64\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M448 224H154c-58.76 0-106 49.33-106 108v20\"},\"child\":[]}]})(props);\n};\nexport function IoRibbonOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"160\",\"r\":\"128\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M143.65 227.82 48 400l86.86-.42a16 16 0 0 1 13.82 7.8L192 480l88.33-194.32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M366.54 224 464 400l-86.86-.42a16 16 0 0 0-13.82 7.8L320 480l-64-140.8\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"160\",\"r\":\"64\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]}]})(props);\n};\nexport function IoRibbonSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 336c-5.22 0-10.4-.24-15.51-.69a176.12 176.12 0 0 1-131.29-78.37L20 416h115l58 96 82.53-177.09A177.53 177.53 0 0 1 256 336zm147-79.26a176.9 176.9 0 0 1-88.18 69.14L273.7 415.5 319 512l58-96h115z\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256.02\",\"cy\":\"160\",\"r\":\"48\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M256 16c-79.4 0-144 64.6-144 144s64.6 144 144 144 144-64.6 144-144S335.4 16 256 16zm0 224a80 80 0 1 1 80-80 80.09 80.09 0 0 1-80 80z\"},\"child\":[]}]})(props);\n};\nexport function IoRibbon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M269 335.61q-6.33.47-12.78.47c-5.23 0-10.4-.24-15.51-.69a176.11 176.11 0 0 1-127.67-72.94 4 4 0 0 0-6.77.35l-72 129.4c-2.74 5-3.17 11-.28 15.88A16.78 16.78 0 0 0 48.22 416h78a15.28 15.28 0 0 1 13.62 7.33L178.5 488a16.26 16.26 0 0 0 13.75 8c5.94-.33 12.09-4.19 14.56-9.6l66.11-145.15a4 4 0 0 0-3.92-5.64zm208.64 56.27-71.53-129.17a4 4 0 0 0-6.74-.36 176.5 176.5 0 0 1-78.31 61.42 16.09 16.09 0 0 0-8.72 8.25l-36.86 81.1a7.92 7.92 0 0 0 0 6.6l30.27 66.59c2.45 5.41 8.59 9.36 14.52 9.69a16.3 16.3 0 0 0 13.7-8.12l38.53-64.58c2.89-4.85 8.13-7.33 13.78-7.3h78.77c6.67 0 11.72-3.48 14-10a16.92 16.92 0 0 0-1.41-14.12z\"},\"child\":[]},{\"tag\":\"ellipse\",\"attr\":{\"cx\":\"256.26\",\"cy\":\"160\",\"rx\":\"48.01\",\"ry\":\"48\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M256.26 16c-79.42 0-144 64.59-144 144s64.61 144 144 144 144-64.6 144-144-64.59-144-144-144zm0 224a80 80 0 1 1 80-80 80.1 80.1 0 0 1-80 80z\"},\"child\":[]}]})(props);\n};\nexport function IoRocketOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M461.81 53.81a4.4 4.4 0 0 0-3.3-3.39c-54.38-13.3-180 34.09-248.13 102.17a294.9 294.9 0 0 0-33.09 39.08c-21-1.9-42-.3-59.88 7.5-50.49 22.2-65.18 80.18-69.28 105.07a9 9 0 0 0 9.8 10.4l81.07-8.9a180.29 180.29 0 0 0 1.1 18.3 18.15 18.15 0 0 0 5.3 11.09l31.39 31.39a18.15 18.15 0 0 0 11.1 5.3 179.91 179.91 0 0 0 18.19 1.1l-8.89 81a9 9 0 0 0 10.39 9.79c24.9-4 83-18.69 105.07-69.17 7.8-17.9 9.4-38.79 7.6-59.69a293.91 293.91 0 0 0 39.19-33.09c68.38-68 115.47-190.86 102.37-247.95zM298.66 213.67a42.7 42.7 0 1 1 60.38 0 42.65 42.65 0 0 1-60.38 0z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M109.64 352a45.06 45.06 0 0 0-26.35 12.84C65.67 382.52 64 448 64 448s65.52-1.67 83.15-19.31A44.73 44.73 0 0 0 160 402.32\"},\"child\":[]}]})(props);\n};\nexport function IoRocketSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M477.64 38.26a4.75 4.75 0 0 0-3.55-3.66c-58.57-14.32-193.9 36.71-267.22 110a317 317 0 0 0-35.63 42.1c-22.61-2-45.22-.33-64.49 8.07C52.38 218.7 36.55 281.14 32.14 308a9.64 9.64 0 0 0 10.55 11.2l87.31-9.63a194.1 194.1 0 0 0 1.19 19.7 19.53 19.53 0 0 0 5.7 12L170.7 375a19.59 19.59 0 0 0 12 5.7 193.53 193.53 0 0 0 19.59 1.19l-9.58 87.2a9.65 9.65 0 0 0 11.2 10.55c26.81-4.3 89.36-20.13 113.15-74.5 8.4-19.27 10.12-41.77 8.18-64.27a317.66 317.66 0 0 0 42.21-35.64C441 232.05 491.74 99.74 477.64 38.26zM294.07 217.93a48 48 0 1 1 67.86 0 47.95 47.95 0 0 1-67.86 0z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M168.4 399.43c-5.48 5.49-14.27 7.63-24.85 9.46-23.77 4.05-44.76-16.49-40.49-40.52 1.63-9.11 6.45-21.88 9.45-24.88a4.37 4.37 0 0 0-3.65-7.45 60 60 0 0 0-35.13 17.12C50.22 376.69 48 464 48 464s87.36-2.22 110.87-25.75A59.69 59.69 0 0 0 176 403.09c.37-4.18-4.72-6.67-7.6-3.66z\"},\"child\":[]}]})(props);\n};\nexport function IoRocket (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M328.85 156.79a26.69 26.69 0 1 0 18.88 7.81 26.6 26.6 0 0 0-18.88-7.81z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M477.44 50.06a.29.29 0 0 1 0-.09 20.4 20.4 0 0 0-15.13-15.3c-29.8-7.27-76.68.48-128.63 21.28-52.36 21-101.42 52-134.58 85.22A320.7 320.7 0 0 0 169.55 175c-22.33-1-42 2.18-58.57 9.41-57.74 25.41-74.23 90.44-78.62 117.14a25 25 0 0 0 27.19 29h.13l64.32-7.02c.08.82.17 1.57.24 2.26a34.36 34.36 0 0 0 9.9 20.72l31.39 31.41a34.27 34.27 0 0 0 20.71 9.91l2.15.23-7 64.24v.13A25 25 0 0 0 206 480a25.25 25.25 0 0 0 4.15-.34C237 475.34 302 459.05 327.34 401c7.17-16.46 10.34-36.05 9.45-58.34a314.78 314.78 0 0 0 33.95-29.55c33.43-33.26 64.53-81.92 85.31-133.52 20.69-51.36 28.48-98.59 21.39-129.53zM370.38 224.94a58.77 58.77 0 1 1 0-83.07 58.3 58.3 0 0 1 0 83.07z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M161.93 386.44a16 16 0 0 0-11 2.67c-6.39 4.37-12.81 8.69-19.29 12.9-13.11 8.52-28.79-6.44-21-20l12.15-21a16 16 0 0 0-15.16-24.91A61.25 61.25 0 0 0 72 353.56c-3.66 3.67-14.79 14.81-20.78 57.26A357.94 357.94 0 0 0 48 447.59 16 16 0 0 0 64 464h.4a359.87 359.87 0 0 0 36.8-3.2c42.47-6 53.61-17.14 57.27-20.8a60.49 60.49 0 0 0 17.39-35.74 16 16 0 0 0-13.93-17.82z\"},\"child\":[]}]})(props);\n};\nexport function IoRoseOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M416 128c-18.9 4.25-36.8 8.94-53.7 13.95-40.5 12-75.5 27.15-105.4 41.65-19.3 9.37-26.2 13.51-51.5 28.23-58.4 33.69-93.4 77.4-93.4 142.81C112 428.55 167.6 480 256 480s144-55.81 144-129.72S339 225.24 416 128z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M264 180.19c-19.69-27-38.2-38.69-52.7-46.59C162.6 107.1 96 96 96 96c41.5 43.7 37.2 90.1 32 128 0 0-3.87 32.88 1.91 58.41\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M372 139.15C356.55 102.6 336 64 336 64s-63.32 0-135.69 64m53.17-40.43C221.25 45.81 176 32 176 32c-15.3 20.8-28.79 51.58-34.87 74.17\"},\"child\":[]}]})(props);\n};\nexport function IoRoseSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 112s-17.62 0-30.51 1.39c-19 2-42.06 8-59.73 13.22-35.06 10.39-69.33 23.92-107.85 42.59-18.62 9.05-26 13.35-48 26.13l-4.5 2.67c-32.95 19-57.09 40-73.79 64.3C105.29 288.89 96 320 96 354.64c0 40.74 15.71 77.1 44.24 102.37C169 482.52 209.06 496 256 496c46.76 0 86.89-14.32 116-41.43 28.35-26.35 44-63.39 44-104.29 0-25-6.19-47-12.17-68.22-12.59-44.69-23.46-83.29 24.71-144.13C432.75 132.62 448 112 448 112zm-229 7.55C168.47 92.08 104.72 80 80 80c0 0 23.23 28.19 29.15 55.4s6.54 48.61 2.91 88.6c17.94-20.48 40.59-37.15 69.32-53.73l4.48-2.6C208 154.8 216.23 150 236 140.41c2.88-1.4 5.74-2.76 8.58-4.11A170.77 170.77 0 0 0 219 119.55zM345.25 48s-42.53.36-86.12 21.3a280.36 280.36 0 0 0-32.27 18.27q3.73 1.89 7.4 3.88c3.44 1.87 7.09 4 10.9 6.29a189.7 189.7 0 0 1 31.46 24.16c24.57-10.41 73-26.1 90.77-31.28-8-19.15-22.14-42.62-22.14-42.62zM176 16c-16 10.83-33.24 41.1-33.24 41.1a494.22 494.22 0 0 1 48.92 15.25l17.65-11.56c8.18-5.35 16.55-10.29 25-14.77C234.31 46 202.59 24.17 176 16z\"},\"child\":[]}]})(props);\n};\nexport function IoRose (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M429.55 119.49a16 16 0 0 0-17.06-7.1c-18.64 4.19-37.06 9-54.73 14.22-35.06 10.39-69.33 23.92-107.85 42.59-18.62 9.05-26 13.35-48 26.13l-4.5 2.67c-32.95 19-57.09 40-73.79 64.29C105.29 288.89 96 320 96 354.64c0 40.74 15.71 77.1 44.24 102.37C169 482.52 209.06 496 256 496c46.76 0 86.89-14.33 116-41.43 28.35-26.35 44-63.39 44-104.29 0-25-6.19-47-12.17-68.22-12.59-44.69-23.46-83.29 24.71-144.13a16 16 0 0 0 1.01-18.44zm-210.55.06C168.46 92.08 101.46 80.69 98.63 80.22A16 16 0 0 0 81 90.55a16.47 16.47 0 0 0 3.79 16.84c31.84 33.78 32.86 68.79 28.65 104.63a4.45 4.45 0 0 0 2.5 4.54 4.44 4.44 0 0 0 5.08-.9c16.39-16.51 36.37-31.52 60.4-45.39l4.48-2.6C208 154.8 216.23 150 236 140.41l2.69-1.3a4 4 0 0 0 .64-6.83A178.59 178.59 0 0 0 219 119.55zm15.26-28.1c3.44 1.87 7.09 4 10.9 6.29a189.31 189.31 0 0 1 29.57 22.39 4 4 0 0 0 4.28.76 672 672 0 0 1 69.65-25q7-2.07 14.08-4a4 4 0 0 0 2.53-5.62c-8.27-16.83-14.67-28.9-15.15-29.79A16 16 0 0 0 336 48c-1.91 0-33.28.36-76.87 21.3a279 279 0 0 0-26.39 14.51 4 4 0 0 0 .22 6.94zm-24.93-30.66c7.3-4.77 14.74-9.22 22.25-13.31a2 2 0 0 0 .24-3.36c-26-19.57-49.73-27-51.15-27.42a16 16 0 0 0-17.56 5.82 217.63 217.63 0 0 0-19.28 32.38 2 2 0 0 0 1.29 2.81c13.61 3.57 29.4 8.29 45.61 14.29a2 2 0 0 0 1.79-.2z\"},\"child\":[]}]})(props);\n};\nexport function IoSadOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"184\",\"cy\":\"232\",\"r\":\"24\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M256 288c45.42 0 83.62 29.53 95.71 69.83a8 8 0 0 1-7.87 10.17H168.15a8 8 0 0 1-7.82-10.17C172.32 317.53 210.53 288 256 288z\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"328\",\"cy\":\"232\",\"r\":\"24\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"r\":\"208\",\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\"},\"child\":[]}]})(props);\n};\nexport function IoSadSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M414.39 97.61A224 224 0 1 0 97.61 414.39 224 224 0 1 0 414.39 97.61zM328 208a24 24 0 1 1-24 24 23.94 23.94 0 0 1 24-24zm-144 0a24 24 0 1 1-24 24 23.94 23.94 0 0 1 24-24zm72 80c45.42 0 83.75 29.49 95.72 69.83 1 3.52 2.33 10.17 2.33 10.17H158s1.31-6.69 2.33-10.17C172.11 317.47 210.53 288 256 288z\"},\"child\":[]}]})(props);\n};\nexport function IoSad (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M414.39 97.61A224 224 0 1 0 97.61 414.39 224 224 0 1 0 414.39 97.61zM184 208a24 24 0 1 1-24 24 23.94 23.94 0 0 1 24-24zm-23.67 149.83c12-40.3 50.2-69.83 95.62-69.83s83.62 29.53 95.71 69.83a8 8 0 0 1-7.82 10.17H168.15a8 8 0 0 1-7.82-10.17zM328 256a24 24 0 1 1 24-24 23.94 23.94 0 0 1-24 24z\"},\"child\":[]}]})(props);\n};\nexport function IoSaveOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M380.93 57.37A32 32 0 0 0 358.3 48H94.22A46.21 46.21 0 0 0 48 94.22v323.56A46.21 46.21 0 0 0 94.22 464h323.56A46.36 46.36 0 0 0 464 417.78V153.7a32 32 0 0 0-9.37-22.63zM256 416a64 64 0 1 1 64-64 63.92 63.92 0 0 1-64 64zm48-224H112a16 16 0 0 1-16-16v-64a16 16 0 0 1 16-16h192a16 16 0 0 1 16 16v64a16 16 0 0 1-16 16z\"},\"child\":[]}]})(props);\n};\nexport function IoSaveSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M380.44 32H64a32 32 0 0 0-32 32v384a32 32 0 0 0 32 32h384a32.09 32.09 0 0 0 32-32V131.56zM112 176v-64h192v64zm223.91 179.76a80 80 0 1 1-83.66-83.67 80.21 80.21 0 0 1 83.66 83.67z\"},\"child\":[]}]})(props);\n};\nexport function IoSave (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m465.94 119.76-73.7-73.7A47.68 47.68 0 0 0 358.3 32H96a64 64 0 0 0-64 64v320a64 64 0 0 0 64 64h320a64 64 0 0 0 64-64V153.7a47.68 47.68 0 0 0-14.06-33.94zM120 112h176a8 8 0 0 1 8 8v48a8 8 0 0 1-8 8H120a8 8 0 0 1-8-8v-48a8 8 0 0 1 8-8zm139.75 319.91a80 80 0 1 1 76.16-76.16 80.06 80.06 0 0 1-76.16 76.16z\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"352\",\"r\":\"48\"},\"child\":[]}]})(props);\n};\nexport function IoScaleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"416\",\"height\":\"416\",\"x\":\"48\",\"y\":\"48\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"96\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M388.94 151.56c-24.46-22.28-68.72-51.4-132.94-51.4s-108.48 29.12-132.94 51.4a34.66 34.66 0 0 0-3.06 48.08l33.32 39.21a26.07 26.07 0 0 0 33.6 5.21c15.92-9.83 40.91-21.64 69.1-21.64s53.18 11.81 69.1 21.64a26.07 26.07 0 0 0 33.6-5.21L392 199.64a34.66 34.66 0 0 0-3.06-48.08z\"},\"child\":[]}]})(props);\n};\nexport function IoScaleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M432 32H80a48.05 48.05 0 0 0-48 48v352a48.05 48.05 0 0 0 48 48h352a48.05 48.05 0 0 0 48-48V80a48.05 48.05 0 0 0-48-48zm-16.71 165-52.46 61.73a27.83 27.83 0 0 1-37.65 4.62c-13-9.29-39.27-24.89-69.18-24.89s-56.18 15.6-69.18 24.89a27.84 27.84 0 0 1-37.65-4.62L96.71 197a32.12 32.12 0 0 1 .42-42c18.93-21.31 72.3-70.87 158.87-70.87S395.94 133.72 414.87 155a32.12 32.12 0 0 1 .42 42z\"},\"child\":[]}]})(props);\n};\nexport function IoScale (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M368 32H144A112.12 112.12 0 0 0 32 144v224a112.12 112.12 0 0 0 112 112h224a112.12 112.12 0 0 0 112-112V144A112.12 112.12 0 0 0 368 32zm36.21 178-33.32 39.21A41.76 41.76 0 0 1 339 264.05a42.32 42.32 0 0 1-22.29-6.38c-14.22-8.78-36.3-19.25-60.69-19.25s-46.47 10.47-60.69 19.25a41.86 41.86 0 0 1-54.2-8.46L107.79 210a50.48 50.48 0 0 1 4.49-70.27c27.84-25.35 75.37-55.57 143.72-55.57s115.88 30.22 143.72 55.57a50.48 50.48 0 0 1 4.49 70.27z\"},\"child\":[]}]})(props);\n};\nexport function IoScanCircleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192 192-86 192-192z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M296 352h28a28 28 0 0 0 28-28v-28m0-80v-28a28 28 0 0 0-28-28h-28m-80 192h-28a28 28 0 0 1-28-28v-28m0-80v-28a28 28 0 0 1 28-28h28\"},\"child\":[]}]})(props);\n};\nexport function IoScanCircleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm-24 320h-44a44.05 44.05 0 0 1-44-44v-44h32v44a12 12 0 0 0 12 12h44zm0-192h-44a12 12 0 0 0-12 12v44h-32v-44a44.05 44.05 0 0 1 44-44h44zm136 148a44.05 44.05 0 0 1-44 44h-44v-32h44a12 12 0 0 0 12-12v-44h32zm0-92h-32v-44a12 12 0 0 0-12-12h-44v-32h44a44.05 44.05 0 0 1 44 44z\"},\"child\":[]}]})(props);\n};\nexport function IoScanCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm-40 320h-28a44.05 44.05 0 0 1-44-44v-28a16 16 0 0 1 32 0v28a12 12 0 0 0 12 12h28a16 16 0 0 1 0 32zm0-192h-28a12 12 0 0 0-12 12v28a16 16 0 0 1-32 0v-28a44.05 44.05 0 0 1 44-44h28a16 16 0 0 1 0 32zm152 148a44.05 44.05 0 0 1-44 44h-28a16 16 0 0 1 0-32h28a12 12 0 0 0 12-12v-28a16 16 0 0 1 32 0zm0-108a16 16 0 0 1-32 0v-28a12 12 0 0 0-12-12h-28a16 16 0 0 1 0-32h28a44.05 44.05 0 0 1 44 44z\"},\"child\":[]}]})(props);\n};\nexport function IoScanOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M336 448h56a56 56 0 0 0 56-56v-56m0-160v-56a56 56 0 0 0-56-56h-56M176 448h-56a56 56 0 0 1-56-56v-56m0-160v-56a56 56 0 0 1 56-56h56\"},\"child\":[]}]})(props);\n};\nexport function IoScanSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M388 466h-68v-44h68a34 34 0 0 0 34-34v-68h44v68a78.09 78.09 0 0 1-78 78zm78-274h-44v-68a34 34 0 0 0-34-34h-68V46h68a78.09 78.09 0 0 1 78 78zM192 466h-68a78.09 78.09 0 0 1-78-78v-68h44v68a34 34 0 0 0 34 34h68zM90 192H46v-68a78.09 78.09 0 0 1 78-78h68v44h-68a34 34 0 0 0-34 34z\"},\"child\":[]}]})(props);\n};\nexport function IoScan (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"44\",\"d\":\"M342 444h46a56 56 0 0 0 56-56v-46m0-172v-46a56 56 0 0 0-56-56h-46M170 444h-46a56 56 0 0 1-56-56v-46m0-172v-46a56 56 0 0 1 56-56h46\"},\"child\":[]}]})(props);\n};\nexport function IoSchoolOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M32 192 256 64l224 128-224 128L32 192z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M112 240v128l144 80 144-80V240m80 128V192M256 320v128\"},\"child\":[]}]})(props);\n};\nexport function IoSchoolSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 370.43 96 279v98.42l160 88.88 160-88.88V279l-160 91.43z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M512.25 192 256 45.57-.25 192 256 338.43l208-118.86V384h48V192.14l.25-.14z\"},\"child\":[]}]})(props);\n};\nexport function IoSchool (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 368a16 16 0 0 1-7.94-2.11L108 285.84a8 8 0 0 0-12 6.94V368a16 16 0 0 0 8.23 14l144 80a16 16 0 0 0 15.54 0l144-80a16 16 0 0 0 8.23-14v-75.22a8 8 0 0 0-12-6.94l-140.06 80.05A16 16 0 0 1 256 368z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M495.92 190.5v-.11a16 16 0 0 0-8-12.28l-224-128a16 16 0 0 0-15.88 0l-224 128a16 16 0 0 0 0 27.78l224 128a16 16 0 0 0 15.88 0L461 221.28a2 2 0 0 1 3 1.74v144.53c0 8.61 6.62 16 15.23 16.43A16 16 0 0 0 496 368V192a14.76 14.76 0 0 0-.08-1.5z\"},\"child\":[]}]})(props);\n};\nexport function IoSearchCircleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M256 80a176 176 0 1 0 176 176A176 176 0 0 0 256 80z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M232 160a72 72 0 1 0 72 72 72 72 0 0 0-72-72z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M283.64 283.64 336 336\"},\"child\":[]}]})(props);\n};\nexport function IoSearchCircleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 64C150.13 64 64 150.13 64 256s86.13 192 192 192 192-86.13 192-192S361.87 64 256 64zm80 294.63-54.15-54.15a88.08 88.08 0 1 1 22.63-22.63L358.63 336z\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"232\",\"cy\":\"232\",\"r\":\"56\"},\"child\":[]}]})(props);\n};\nexport function IoSearchCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 64C150.13 64 64 150.13 64 256s86.13 192 192 192 192-86.13 192-192S361.87 64 256 64zm91.31 283.31a16 16 0 0 1-22.62 0l-42.84-42.83a88.08 88.08 0 1 1 22.63-22.63l42.83 42.84a16 16 0 0 1 0 22.62z\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"232\",\"cy\":\"232\",\"r\":\"56\"},\"child\":[]}]})(props);\n};\nexport function IoSearchOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M221.09 64a157.09 157.09 0 1 0 157.09 157.09A157.1 157.1 0 0 0 221.09 64z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M338.29 338.29 448 448\"},\"child\":[]}]})(props);\n};\nexport function IoSearchSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 428 339.92 303.9a160.48 160.48 0 0 0 30.72-94.58C370.64 120.37 298.27 48 209.32 48S48 120.37 48 209.32s72.37 161.32 161.32 161.32a160.48 160.48 0 0 0 94.58-30.72L428 464zM209.32 319.69a110.38 110.38 0 1 1 110.37-110.37 110.5 110.5 0 0 1-110.37 110.37z\"},\"child\":[]}]})(props);\n};\nexport function IoSearch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M456.69 421.39 362.6 327.3a173.81 173.81 0 0 0 34.84-104.58C397.44 126.38 319.06 48 222.72 48S48 126.38 48 222.72s78.38 174.72 174.72 174.72A173.81 173.81 0 0 0 327.3 362.6l94.09 94.09a25 25 0 0 0 35.3-35.3zM97.92 222.72a124.8 124.8 0 1 1 124.8 124.8 124.95 124.95 0 0 1-124.8-124.8z\"},\"child\":[]}]})(props);\n};\nexport function IoSendOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M470.3 271.15 43.16 447.31a7.83 7.83 0 0 1-11.16-7V327a8 8 0 0 1 6.51-7.86l247.62-47c17.36-3.29 17.36-28.15 0-31.44l-247.63-47a8 8 0 0 1-6.5-7.85V72.59c0-5.74 5.88-10.26 11.16-8L470.3 241.76a16 16 0 0 1 0 29.39z\"},\"child\":[]}]})(props);\n};\nexport function IoSendSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m16 464 480-208L16 48v160l320 48-320 48z\"},\"child\":[]}]})(props);\n};\nexport function IoSend (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m476.59 227.05-.16-.07L49.35 49.84A23.56 23.56 0 0 0 27.14 52 24.65 24.65 0 0 0 16 72.59v113.29a24 24 0 0 0 19.52 23.57l232.93 43.07a4 4 0 0 1 0 7.86L35.53 303.45A24 24 0 0 0 16 327v113.31A23.57 23.57 0 0 0 26.59 460a23.94 23.94 0 0 0 13.22 4 24.55 24.55 0 0 0 9.52-1.93L476.4 285.94l.19-.09a32 32 0 0 0 0-58.8z\"},\"child\":[]}]})(props);\n};\nexport function IoServerOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"ellipse\",\"attr\":{\"cx\":\"256\",\"cy\":\"128\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"rx\":\"192\",\"ry\":\"80\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M448 214c0 44.18-86 80-192 80S64 258.18 64 214m384 86c0 44.18-86 80-192 80S64 344.18 64 300\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M64 127.24v257.52C64 428.52 150 464 256 464s192-35.48 192-79.24V127.24\"},\"child\":[]}]})(props);\n};\nexport function IoServerSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M409.43 389.87C362 410 305.4 421.05 256 421.05s-105.87-11.3-153.44-31.18S48 353.16 48 353.16v38.2c0 31.15 18 43.64 67.32 64.35C153.13 471.59 203.18 480 256 480s102.87-8.41 140.68-24.29C446 435 464 422.51 464 391.36v-38.2s-7.14 16.59-54.57 36.71zM63.69 173.22c11.23 9.84 27.82 19.49 48 27.92 42.48 17.76 96.45 28.37 144.36 28.37s101.88-10.61 144.36-28.37c20.13-8.43 36.72-18.08 47.95-27.92 6.06-5.31 10.85-10.12 13.47-12.85a8 8 0 0 0 2.22-5.54v-26.16c-.84-28.79-24.71-54.41-67.21-72.14C358.83 40.71 308.84 32 256 32s-102.83 8.71-140.74 24.53C72.85 74.22 49 99.78 48.05 128.5v26.33a8 8 0 0 0 2.21 5.54c2.58 2.73 7.36 7.54 13.43 12.85z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M409.43 221.91C365 241 305.4 253.09 256 253.09s-108.87-12.27-153.43-31.18S48 185.2 48 185.2v47.36c.08 7.52 5.5 16.2 15.69 25.13 11.24 9.84 27.82 19.5 48 27.92C154.12 303.38 208.09 314 256 314s101.88-10.6 144.36-28.37c20.13-8.42 36.72-18.08 47.95-27.92 10.25-9 15.68-17.71 15.69-25.27V185.2s-10.13 17.62-54.57 36.71z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M409.43 306.38C362 326 305.4 337.56 256 337.56s-109.87-12.8-153.43-31.18S48 269.67 48 269.67v46.25c0 7.55 5.44 16.28 15.69 25.26 11.23 9.84 27.81 19.5 48 27.92 42.48 17.77 96.44 28.37 144.36 28.37s101.88-10.6 144.36-28.37c20.13-8.43 36.72-18.08 47.95-27.92 10.19-8.93 15.61-17.61 15.69-25.13v-46.38s-7.18 17.09-54.62 36.71z\"},\"child\":[]}]})(props);\n};\nexport function IoServer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 428c-52.35 0-111.39-11.61-157.93-31-17.07-7.19-31.69-18.82-43.64-28a4 4 0 0 0-6.43 3.18v12.58c0 28.07 23.49 53.22 66.14 70.82C152.29 471.33 202.67 480 256 480s103.7-8.67 141.86-24.42C440.51 438 464 412.83 464 384.76v-12.58a4 4 0 0 0-6.43-3.18c-11.95 9.17-26.57 20.81-43.65 28-46.54 19.39-105.57 31-157.92 31zm208-301.49c-.81-27.65-24.18-52.4-66-69.85C359.74 40.76 309.34 32 256 32s-103.74 8.76-141.91 24.66c-41.78 17.41-65.15 42.11-66 69.69L48 144c0 6.41 5.2 16.48 14.63 24.73 11.13 9.73 27.65 19.33 47.78 27.73C153.24 214.36 207.67 225 256 225s102.76-10.68 145.59-28.58c20.13-8.4 36.65-18 47.78-27.73C458.8 160.49 464 150.42 464 144z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M413.92 226c-46.53 19.43-105.57 31-157.92 31s-111.39-11.57-157.93-31c-17.07-7.15-31.69-18.79-43.64-28a4 4 0 0 0-6.43 3.22V232c0 6.41 5.2 14.48 14.63 22.73 11.13 9.74 27.65 19.33 47.78 27.74C153.24 300.34 207.67 311 256 311s102.76-10.68 145.59-28.57c20.13-8.41 36.65-18 47.78-27.74C458.8 246.47 464 238.41 464 232v-30.78a4 4 0 0 0-6.43-3.18c-11.95 9.17-26.57 20.81-43.65 27.96z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M413.92 312c-46.54 19.41-105.57 31-157.92 31s-111.39-11.59-157.93-31c-17.07-7.17-31.69-18.81-43.64-28a4 4 0 0 0-6.43 3.2V317c0 6.41 5.2 14.47 14.62 22.71 11.13 9.74 27.66 19.33 47.79 27.74C153.24 385.32 207.66 396 256 396s102.76-10.68 145.59-28.57c20.13-8.41 36.65-18 47.78-27.74C458.8 331.44 464 323.37 464 317v-29.8a4 4 0 0 0-6.43-3.18c-11.95 9.17-26.57 20.81-43.65 27.98z\"},\"child\":[]}]})(props);\n};\nexport function IoSettingsOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M262.29 192.31a64 64 0 1 0 57.4 57.4 64.13 64.13 0 0 0-57.4-57.4zM416.39 256a154.34 154.34 0 0 1-1.53 20.79l45.21 35.46a10.81 10.81 0 0 1 2.45 13.75l-42.77 74a10.81 10.81 0 0 1-13.14 4.59l-44.9-18.08a16.11 16.11 0 0 0-15.17 1.75A164.48 164.48 0 0 1 325 400.8a15.94 15.94 0 0 0-8.82 12.14l-6.73 47.89a11.08 11.08 0 0 1-10.68 9.17h-85.54a11.11 11.11 0 0 1-10.69-8.87l-6.72-47.82a16.07 16.07 0 0 0-9-12.22 155.3 155.3 0 0 1-21.46-12.57 16 16 0 0 0-15.11-1.71l-44.89 18.07a10.81 10.81 0 0 1-13.14-4.58l-42.77-74a10.8 10.8 0 0 1 2.45-13.75l38.21-30a16.05 16.05 0 0 0 6-14.08c-.36-4.17-.58-8.33-.58-12.5s.21-8.27.58-12.35a16 16 0 0 0-6.07-13.94l-38.19-30A10.81 10.81 0 0 1 49.48 186l42.77-74a10.81 10.81 0 0 1 13.14-4.59l44.9 18.08a16.11 16.11 0 0 0 15.17-1.75A164.48 164.48 0 0 1 187 111.2a15.94 15.94 0 0 0 8.82-12.14l6.73-47.89A11.08 11.08 0 0 1 213.23 42h85.54a11.11 11.11 0 0 1 10.69 8.87l6.72 47.82a16.07 16.07 0 0 0 9 12.22 155.3 155.3 0 0 1 21.46 12.57 16 16 0 0 0 15.11 1.71l44.89-18.07a10.81 10.81 0 0 1 13.14 4.58l42.77 74a10.8 10.8 0 0 1-2.45 13.75l-38.21 30a16.05 16.05 0 0 0-6.05 14.08c.33 4.14.55 8.3.55 12.47z\"},\"child\":[]}]})(props);\n};\nexport function IoSettingsSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 176a80 80 0 1 0 80 80 80.24 80.24 0 0 0-80-80zm172.72 80a165.53 165.53 0 0 1-1.64 22.34l48.69 38.12a11.59 11.59 0 0 1 2.63 14.78l-46.06 79.52a11.64 11.64 0 0 1-14.14 4.93l-57.25-23a176.56 176.56 0 0 1-38.82 22.67l-8.56 60.78a11.93 11.93 0 0 1-11.51 9.86h-92.12a12 12 0 0 1-11.51-9.53l-8.56-60.78A169.3 169.3 0 0 1 151.05 393L93.8 416a11.64 11.64 0 0 1-14.14-4.92L33.6 331.57a11.59 11.59 0 0 1 2.63-14.78l48.69-38.12A174.58 174.58 0 0 1 83.28 256a165.53 165.53 0 0 1 1.64-22.34l-48.69-38.12a11.59 11.59 0 0 1-2.63-14.78l46.06-79.52a11.64 11.64 0 0 1 14.14-4.93l57.25 23a176.56 176.56 0 0 1 38.82-22.67l8.56-60.78A11.93 11.93 0 0 1 209.94 26h92.12a12 12 0 0 1 11.51 9.53l8.56 60.78A169.3 169.3 0 0 1 361 119l57.2-23a11.64 11.64 0 0 1 14.14 4.92l46.06 79.52a11.59 11.59 0 0 1-2.63 14.78l-48.69 38.12a174.58 174.58 0 0 1 1.64 22.66z\"},\"child\":[]}]})(props);\n};\nexport function IoSettings (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"r\":\"48\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"m470.39 300-.47-.38-31.56-24.75a16.11 16.11 0 0 1-6.1-13.33v-11.56a16 16 0 0 1 6.11-13.22L469.92 212l.47-.38a26.68 26.68 0 0 0 5.9-34.06l-42.71-73.9a1.59 1.59 0 0 1-.13-.22A26.86 26.86 0 0 0 401 92.14l-.35.13-37.1 14.93a15.94 15.94 0 0 1-14.47-1.29q-4.92-3.1-10-5.86a15.94 15.94 0 0 1-8.19-11.82l-5.59-39.59-.12-.72A27.22 27.22 0 0 0 298.76 26h-85.52a26.92 26.92 0 0 0-26.45 22.39l-.09.56-5.57 39.67a16 16 0 0 1-8.13 11.82 175.21 175.21 0 0 0-10 5.82 15.92 15.92 0 0 1-14.43 1.27l-37.13-15-.35-.14a26.87 26.87 0 0 0-32.48 11.34l-.13.22-42.77 73.95a26.71 26.71 0 0 0 5.9 34.1l.47.38 31.56 24.75a16.11 16.11 0 0 1 6.1 13.33v11.56a16 16 0 0 1-6.11 13.22L42.08 300l-.47.38a26.68 26.68 0 0 0-5.9 34.06l42.71 73.9a1.59 1.59 0 0 1 .13.22 26.86 26.86 0 0 0 32.45 11.3l.35-.13 37.07-14.93a15.94 15.94 0 0 1 14.47 1.29q4.92 3.11 10 5.86a15.94 15.94 0 0 1 8.19 11.82l5.56 39.59.12.72A27.22 27.22 0 0 0 213.24 486h85.52a26.92 26.92 0 0 0 26.45-22.39l.09-.56 5.57-39.67a16 16 0 0 1 8.18-11.82c3.42-1.84 6.76-3.79 10-5.82a15.92 15.92 0 0 1 14.43-1.27l37.13 14.95.35.14a26.85 26.85 0 0 0 32.48-11.34 2.53 2.53 0 0 1 .13-.22l42.71-73.89a26.7 26.7 0 0 0-5.89-34.11zm-134.48-40.24a80 80 0 1 1-83.66-83.67 80.21 80.21 0 0 1 83.66 83.67z\"},\"child\":[]}]})(props);\n};\nexport function IoShapesOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M336 320H32L184 48l152 272zm-70.68-125.49A144 144 0 1 1 192 320\"},\"child\":[]}]})(props);\n};\nexport function IoShapesSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M363.27 336H4.73L184 16z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M336 160a160.54 160.54 0 0 0-32.55 3.36l87.75 157L417.81 368H183.36C203.8 432.85 264.49 480 336 480c88.22 0 160-71.78 160-160s-71.78-160-160-160z\"},\"child\":[]}]})(props);\n};\nexport function IoShapes (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M336 336H32a16 16 0 0 1-14-23.81l152-272a16 16 0 0 1 27.94 0l152 272A16 16 0 0 1 336 336z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M336 160a161.07 161.07 0 0 0-32.57 3.32l74.47 133.27A48 48 0 0 1 336 368H183.33A160 160 0 1 0 336 160z\"},\"child\":[]}]})(props);\n};\nexport function IoShareOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M336 192h40a40 40 0 0 1 40 40v192a40 40 0 0 1-40 40H136a40 40 0 0 1-40-40V232a40 40 0 0 1 40-40h40m160-64-80-80-80 80m80 193V48\"},\"child\":[]}]})(props);\n};\nexport function IoShareSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M272 176v161h-32V176H92a12 12 0 0 0-12 12v280a12 12 0 0 0 12 12h328a12 12 0 0 0 12-12V188a12 12 0 0 0-12-12zm0-83.37 64 64L358.63 134 256 31.37 153.37 134 176 156.63l64-64V176h32V92.63z\"},\"child\":[]}]})(props);\n};\nexport function IoShareSocialOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"128\",\"cy\":\"256\",\"r\":\"48\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"384\",\"cy\":\"112\",\"r\":\"48\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"384\",\"cy\":\"400\",\"r\":\"48\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m169.83 279.53 172.34 96.94m0-240.94-172.34 96.94\"},\"child\":[]}]})(props);\n};\nexport function IoShareSocialSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M378 324a69.78 69.78 0 0 0-48.83 19.91L202 272.41a69.68 69.68 0 0 0 0-32.82l127.13-71.5A69.76 69.76 0 1 0 308.87 129l-130.13 73.2a70 70 0 1 0 0 107.56L308.87 383A70 70 0 1 0 378 324z\"},\"child\":[]}]})(props);\n};\nexport function IoShareSocial (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 336a63.78 63.78 0 0 0-46.12 19.7l-148-83.27a63.85 63.85 0 0 0 0-32.86l148-83.27a63.8 63.8 0 1 0-15.73-27.87l-148 83.27a64 64 0 1 0 0 88.6l148 83.27A64 64 0 1 0 384 336z\"},\"child\":[]}]})(props);\n};\nexport function IoShare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M376 176H272v145a16 16 0 0 1-32 0V176H136a56.06 56.06 0 0 0-56 56v192a56.06 56.06 0 0 0 56 56h240a56.06 56.06 0 0 0 56-56V232a56.06 56.06 0 0 0-56-56zM272 86.63l52.69 52.68a16 16 0 0 0 22.62-22.62l-80-80a16 16 0 0 0-22.62 0l-80 80a16 16 0 0 0 22.62 22.62L240 86.63V176h32z\"},\"child\":[]}]})(props);\n};\nexport function IoShieldCheckmarkOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M336 176 225.2 304 176 255.8\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M463.1 112.37C373.68 96.33 336.71 84.45 256 48c-80.71 36.45-117.68 48.33-207.1 64.37C32.7 369.13 240.58 457.79 256 464c15.42-6.21 223.3-94.87 207.1-351.63z\"},\"child\":[]}]})(props);\n};\nexport function IoShieldCheckmarkSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m479.07 111.36-.79-12.53-12.36-2.21c-86.5-15.52-122.61-26.74-203.33-63.2l-6.59-3-6.59 3C168.69 69.88 132.58 81.1 46.08 96.62l-12.36 2.21-.79 12.53c-3.85 61.11 4.36 118.05 24.43 169.24A349.47 349.47 0 0 0 129 393.11c53.47 56.73 110.24 81.37 121.07 85.73l6 2.41 6-2.41c10.83-4.36 67.6-29 121.07-85.73a349.47 349.47 0 0 0 71.5-112.51c20.07-51.19 28.28-108.13 24.43-169.24zm-252.91 216L153.37 256l22.4-22.86 48.47 47.49 110.13-127.2 24.2 20.94z\"},\"child\":[]}]})(props);\n};\nexport function IoShieldCheckmark (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M479.07 111.36a16 16 0 0 0-13.15-14.74c-86.5-15.52-122.61-26.74-203.33-63.2a16 16 0 0 0-13.18 0C168.69 69.88 132.58 81.1 46.08 96.62a16 16 0 0 0-13.15 14.74c-3.85 61.11 4.36 118.05 24.43 169.24A349.47 349.47 0 0 0 129 393.11c53.47 56.73 110.24 81.37 121.07 85.73a16 16 0 0 0 12 0c10.83-4.36 67.6-29 121.07-85.73a349.47 349.47 0 0 0 71.5-112.51c20.07-51.19 28.28-108.13 24.43-169.24zm-131 75.11-110.8 128a16 16 0 0 1-11.41 5.53h-.66a16 16 0 0 1-11.2-4.57l-49.2-48.2a16 16 0 1 1 22.4-22.86l37 36.29 99.7-115.13a16 16 0 0 1 24.2 20.94z\"},\"child\":[]}]})(props);\n};\nexport function IoShieldHalfOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M463.1 112.37C373.68 96.33 336.71 84.45 256 48c-80.71 36.45-117.68 48.33-207.1 64.37C32.7 369.13 240.58 457.79 256 464c15.42-6.21 223.3-94.87 207.1-351.63z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48c-80.71 36.45-117.68 48.33-207.1 64.37C32.7 369.13 240.58 457.79 256 464z\"},\"child\":[]}]})(props);\n};\nexport function IoShieldHalfSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 32C174 69.06 121.38 86.46 32 96c0 77.59 5.27 133.36 25.29 184.51a348.86 348.86 0 0 0 71.43 112.41c49.6 52.66 104.17 80.4 127.28 87.08 23.11-6.68 77.68-34.42 127.28-87.08a348.86 348.86 0 0 0 71.43-112.41C474.73 229.36 480 173.59 480 96c-89.38-9.54-142-26.94-224-64zm161.47 233.93a309.18 309.18 0 0 1-63.31 99.56C316 406 276.65 428.31 256 437.36V75.8c38.75 17 68.73 28.3 97.93 36.89a613.12 613.12 0 0 0 85.6 18.52c-1.72 60.22-8.36 99.69-22.06 134.72z\"},\"child\":[]}]})(props);\n};\nexport function IoShieldHalf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M48.9 112.37C138.32 96.33 175.29 84.45 256 48c80.71 36.45 117.68 48.33 207.1 64.37C479.3 369.13 271.42 457.79 256 464c-15.42-6.21-223.3-94.87-207.1-351.63z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48c80.71 36.45 117.68 48.33 207.1 64.37C479.3 369.13 271.42 457.79 256 464z\"},\"child\":[]}]})(props);\n};\nexport function IoShieldOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M463.1 112.37C373.68 96.33 336.71 84.45 256 48c-80.71 36.45-117.68 48.33-207.1 64.37C32.7 369.13 240.58 457.79 256 464c15.42-6.21 223.3-94.87 207.1-351.63z\"},\"child\":[]}]})(props);\n};\nexport function IoShieldSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 32C174 69.06 121.38 86.46 32 96c0 77.59 5.27 133.36 25.29 184.51a348.86 348.86 0 0 0 71.43 112.41c49.6 52.66 104.17 80.4 127.28 87.08 23.11-6.68 77.68-34.42 127.28-87.08a348.86 348.86 0 0 0 71.43-112.41C474.73 229.36 480 173.59 480 96c-89.38-9.54-142-26.94-224-64z\"},\"child\":[]}]})(props);\n};\nexport function IoShield (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M479.07 111.35a16 16 0 0 0-13.15-14.75C379.89 81.18 343.69 69.12 266 34.16c-7.76-2.89-12.57-2.84-20 0-77.69 35-113.89 47-199.92 62.44a16 16 0 0 0-13.15 14.75c-3.85 61.1 4.34 118 24.36 169.15a348.86 348.86 0 0 0 71.43 112.41c44.67 47.43 94.2 75.12 119.74 85.6a20 20 0 0 0 15.11 0c27-10.92 74.69-37.82 119.71-85.62a348.86 348.86 0 0 0 71.43-112.39c20.02-51.14 28.21-108.05 24.36-169.15z\"},\"child\":[]}]})(props);\n};\nexport function IoShirtOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M314.56 48s-22.78 8-58.56 8-58.56-8-58.56-8a31.94 31.94 0 0 0-10.57 1.8L32 104l16.63 88 48.88 5.52a24 24 0 0 1 21.29 24.58L112 464h288l-6.8-241.9a24 24 0 0 1 21.29-24.58l48.88-5.52L480 104 325.13 49.8a31.94 31.94 0 0 0-10.57-1.8zm18.75 4.66a80 80 0 0 1-154.62 0\"},\"child\":[]}]})(props);\n};\nexport function IoShirtSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 42c-33.88 0-64-10-64-10v2a64 64 0 0 0 128 0v-2s-30.12 10-64 10z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M352 44c-5.49 47.76-46.79 85-96 85s-90.51-37.24-96-85L16 94l18 114 61.71 7.42c7.08.9 7.1.9 7.1 8.19L96 480h320l-6.81-256.39c-.21-7-.21-7 7.1-8.19L478 208l18-114z\"},\"child\":[]}]})(props);\n};\nexport function IoShirt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 96c33.08 0 60.71-25.78 64-58 .3-3-3-6-6-6a13 13 0 0 0-4.74.9c-.2.08-21.1 8.1-53.26 8.1s-53.1-8-53.26-8.1a16.21 16.21 0 0 0-5.3-.9h-.06a5.69 5.69 0 0 0-5.38 6c3.35 32.16 31 58 64 58z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M485.29 89.9 356 44.64a4 4 0 0 0-5.27 3.16 96 96 0 0 1-189.38 0 4 4 0 0 0-5.35-3.16L26.71 89.9A16 16 0 0 0 16.28 108l16.63 88a16 16 0 0 0 13.92 12.9l48.88 5.52a8 8 0 0 1 7.1 8.19l-7.33 240.9a16 16 0 0 0 9.1 14.94A17.49 17.49 0 0 0 112 480h288a17.49 17.49 0 0 0 7.42-1.55 16 16 0 0 0 9.1-14.94l-7.33-240.9a8 8 0 0 1 7.1-8.19l48.88-5.52a16 16 0 0 0 13.92-12.9l16.63-88a16 16 0 0 0-10.43-18.1z\"},\"child\":[]}]})(props);\n};\nexport function IoShuffleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m400 304 48 48-48 48m0-288 48 48-48 48M64 352h85.19a80 80 0 0 0 66.56-35.62L256 256\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M64 160h85.19a80 80 0 0 1 66.56 35.62l80.5 120.76A80 80 0 0 0 362.81 352H416m0-192h-53.19a80 80 0 0 0-66.56 35.62L288 208\"},\"child\":[]}]})(props);\n};\nexport function IoShuffleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"m400 304 48 48-48 48m0-288 48 48-48 48M64 352h128l60-92\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M64 160h128l128 192h96m0-192h-96l-32 48\"},\"child\":[]}]})(props);\n};\nexport function IoShuffle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m400 304 48 48-48 48m0-288 48 48-48 48M64 352h85.19a80 80 0 0 0 66.56-35.62L256 256\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M64 160h85.19a80 80 0 0 1 66.56 35.62l80.5 120.76A80 80 0 0 0 362.81 352H416m0-192h-53.19a80 80 0 0 0-66.56 35.62L288 208\"},\"child\":[]}]})(props);\n};\nexport function IoSkullOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M448 225.64v99a64 64 0 0 1-40.23 59.42l-23.68 9.47A32 32 0 0 0 364.6 417l-10 50.14A16 16 0 0 1 338.88 480H173.12a16 16 0 0 1-15.69-12.86L147.4 417a32 32 0 0 0-19.49-23.44l-23.68-9.47A64 64 0 0 1 64 324.67V224c0-105.92 85.77-191.81 191.65-192S448 119.85 448 225.64z\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"168\",\"cy\":\"280\",\"r\":\"40\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"344\",\"cy\":\"280\",\"r\":\"40\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m256 336-16 48h32l-16-48zm0 112v32m-48-32v32m96-32v32\"},\"child\":[]}]})(props);\n};\nexport function IoSkullSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 16C141.31 16 48 109.31 48 224v154.83l82 32.81L146.88 496H192v-64h32v64h16v-64h32v64h16v-64h32v64h45.12L382 411.64l82-32.81V224c0-114.69-93.31-208-208-208zm-88 320a56 56 0 1 1 56-56 56.06 56.06 0 0 1-56 56zm51.51 64L244 320h24l24.49 80zM344 336a56 56 0 1 1 56-56 56.06 56.06 0 0 1-56 56zm104 32z\"},\"child\":[]}]})(props);\n};\nexport function IoSkull (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M402 76.94C362.61 37.63 310.78 16 256 16h-.37A208 208 0 0 0 48 224v100.67A79.62 79.62 0 0 0 98.29 399l23.71 9.42a15.92 15.92 0 0 1 9.75 11.72l10 50.13A32.09 32.09 0 0 0 173.12 496H184a8 8 0 0 0 8-8v-39.55c0-8.61 6.62-16 15.23-16.43A16 16 0 0 1 224 448v40a8 8 0 0 0 8 8 8 8 0 0 0 8-8v-39.55c0-8.61 6.62-16 15.23-16.43A16 16 0 0 1 272 448v40a8 8 0 0 0 8 8 8 8 0 0 0 8-8v-39.55c0-8.61 6.62-16 15.23-16.43A16 16 0 0 1 320 448v40a8 8 0 0 0 8 8h10.88a32.09 32.09 0 0 0 31.38-25.72l10-50.14a16 16 0 0 1 9.74-11.72l23.71-9.42A79.62 79.62 0 0 0 464 324.67v-99c0-56-22-108.81-62-148.73zM171.66 335.88a56 56 0 1 1 52.22-52.22 56 56 0 0 1-52.22 52.22zM281 397.25a16.37 16.37 0 0 1-9.3 2.75h-31.4a16.37 16.37 0 0 1-9.28-2.75 16 16 0 0 1-6.6-16.9l15.91-47.6C243 326 247.25 321 254 320.13c8.26-1 14 2.87 17.61 12.22l16 48a16 16 0 0 1-6.61 16.9zm66.68-61.37a56 56 0 1 1 52.22-52.22 56 56 0 0 1-52.24 52.22z\"},\"child\":[]}]})(props);\n};\nexport function IoSnowOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M256 32v448m57.72-400A111.47 111.47 0 0 1 256 96a111.47 111.47 0 0 1-57.72-16m0 352a112.11 112.11 0 0 1 115.44 0m136.27-288L62.01 368m375.26-150a112.09 112.09 0 0 1-57.71-100M74.73 294a112.09 112.09 0 0 1 57.71 100M62.01 144l387.98 224M74.73 218a112.09 112.09 0 0 0 57.71-100m304.83 176a112.09 112.09 0 0 0-57.71 100\"},\"child\":[]}]})(props);\n};\nexport function IoSnowSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m447.88 313.27 19.25-10.64-21.28-38.51-19.25 10.64a133.42 133.42 0 0 0-38.54 32.1L300 256l88.07-50.86a133.42 133.42 0 0 0 38.54 32.1l19.25 10.64 21.28-38.51-19.25-10.64a89.27 89.27 0 0 1-20.93-16L480 152.05 458 114l-53 30.58a89.07 89.07 0 0 1-3.42-26.15l.41-22-44-.82-.41 22a133.62 133.62 0 0 0 8.49 49.39L278 217.89V116.18a133.52 133.52 0 0 0 47.06-17.33L343.9 87.5l-22.71-37.69-18.84 11.35A89.5 89.5 0 0 1 278 71.27V16h-44v55.27a89.5 89.5 0 0 1-24.35-10.11l-18.84-11.35L168.1 87.5l18.84 11.35A133.52 133.52 0 0 0 234 116.18v101.71L145.93 167a133.62 133.62 0 0 0 8.53-49.43l-.41-22-44 .82.41 22a89.07 89.07 0 0 1-3.42 26.15L54 114l-22 38.1 53.05 30.64a89.27 89.27 0 0 1-20.93 16l-19.25 10.63 21.28 38.51 19.25-10.64a133.42 133.42 0 0 0 38.54-32.1L212 256l-88.07 50.86a133.42 133.42 0 0 0-38.54-32.1l-19.24-10.64-21.28 38.51 19.25 10.64a89.27 89.27 0 0 1 20.93 16L32 360l22 38.1 53.05-30.63a89.07 89.07 0 0 1 3.42 26.15l-.41 22 44 .82.41-22a133.62 133.62 0 0 0-8.54-49.44L234 294.11v101.71a133.52 133.52 0 0 0-47.06 17.33L168.1 424.5l22.71 37.69 18.84-11.35A89.5 89.5 0 0 1 234 440.73V496h44v-55.27a89.5 89.5 0 0 1 24.35 10.11l18.84 11.35 22.71-37.69-18.84-11.35A133.52 133.52 0 0 0 278 395.82V294.11L366.07 345a133.62 133.62 0 0 0-8.53 49.43l.41 22 44-.82-.41-22a89.07 89.07 0 0 1 3.46-26.19l53 30.63L480 360l-53-30.69a89.27 89.27 0 0 1 20.88-16.04z\"},\"child\":[]}]})(props);\n};\nexport function IoSnow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m461 349-34-19.64a89.53 89.53 0 0 1 20.94-16 22 22 0 0 0-21.28-38.51 133.62 133.62 0 0 0-38.55 32.1L300 256l88.09-50.86a133.46 133.46 0 0 0 38.55 32.1 22 22 0 1 0 21.28-38.51 89.74 89.74 0 0 1-20.94-16l34-19.64A22 22 0 1 0 439 125l-34 19.63a89.74 89.74 0 0 1-3.42-26.15A22 22 0 0 0 380 96h-.41a22 22 0 0 0-22 21.59 133.61 133.61 0 0 0 8.5 49.41L278 217.89V116.18a133.5 133.5 0 0 0 47.07-17.33 22 22 0 0 0-22.71-37.69A89.56 89.56 0 0 1 278 71.27V38a22 22 0 0 0-44 0v33.27a89.56 89.56 0 0 1-24.36-10.11 22 22 0 1 0-22.71 37.69A133.5 133.5 0 0 0 234 116.18v101.71L145.91 167a133.61 133.61 0 0 0 8.52-49.43 22 22 0 0 0-22-21.59H132a22 22 0 0 0-21.59 22.41 89.74 89.74 0 0 1-3.41 26.19L73 125a22 22 0 1 0-22 38.1l34 19.64a89.74 89.74 0 0 1-20.94 16 22 22 0 1 0 21.28 38.51 133.62 133.62 0 0 0 38.55-32.1L212 256l-88.09 50.86a133.62 133.62 0 0 0-38.55-32.1 22 22 0 1 0-21.28 38.51 89.74 89.74 0 0 1 20.94 16L51 349a22 22 0 1 0 22 38.1l34-19.63a89.74 89.74 0 0 1 3.42 26.15A22 22 0 0 0 132 416h.41a22 22 0 0 0 22-21.59 133.61 133.61 0 0 0-8.5-49.41L234 294.11v101.71a133.5 133.5 0 0 0-47.07 17.33 22 22 0 1 0 22.71 37.69A89.56 89.56 0 0 1 234 440.73V474a22 22 0 0 0 44 0v-33.27a89.56 89.56 0 0 1 24.36 10.11 22 22 0 0 0 22.71-37.69A133.5 133.5 0 0 0 278 395.82V294.11L366.09 345a133.61 133.61 0 0 0-8.52 49.43 22 22 0 0 0 22 21.59h.43a22 22 0 0 0 21.59-22.41 89.74 89.74 0 0 1 3.41-26.19l34 19.63A22 22 0 1 0 461 349z\"},\"child\":[]}]})(props);\n};\nexport function IoSparklesOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M259.92 262.91 216.4 149.77a9 9 0 0 0-16.8 0l-43.52 113.14a9 9 0 0 1-5.17 5.17L37.77 311.6a9 9 0 0 0 0 16.8l113.14 43.52a9 9 0 0 1 5.17 5.17l43.52 113.14a9 9 0 0 0 16.8 0l43.52-113.14a9 9 0 0 1 5.17-5.17l113.14-43.52a9 9 0 0 0 0-16.8l-113.14-43.52a9 9 0 0 1-5.17-5.17zM108 68 88 16 68 68 16 88l52 20 20 52 20-52 52-20-52-20zm318.67 49.33L400 48l-26.67 69.33L304 144l69.33 26.67L400 240l26.67-69.33L496 144l-69.33-26.67z\"},\"child\":[]}]})(props);\n};\nexport function IoSparklesSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m208 512-52.38-139.62L16 320l139.62-52.38L208 128l52.38 139.62L400 320l-139.62 52.38zM88 176l-23.57-64.43L0 88l64.43-23.57L88 0l23.57 64.43L176 88l-64.43 23.57zm312 80-31.11-80.89L288 144l80.89-31.11L400 32l31.11 80.89L512 144l-80.89 31.11z\"},\"child\":[]}]})(props);\n};\nexport function IoSparkles (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M208 512a24.84 24.84 0 0 1-23.34-16l-39.84-103.6a16.06 16.06 0 0 0-9.19-9.19L32 343.34a25 25 0 0 1 0-46.68l103.6-39.84a16.06 16.06 0 0 0 9.19-9.19L184.66 144a25 25 0 0 1 46.68 0l39.84 103.6a16.06 16.06 0 0 0 9.19 9.19l103 39.63a25.49 25.49 0 0 1 16.63 24.1 24.82 24.82 0 0 1-16 22.82l-103.6 39.84a16.06 16.06 0 0 0-9.19 9.19L231.34 496A24.84 24.84 0 0 1 208 512zm66.85-254.84zM88 176a14.67 14.67 0 0 1-13.69-9.4l-16.86-43.84a7.28 7.28 0 0 0-4.21-4.21L9.4 101.69a14.67 14.67 0 0 1 0-27.38l43.84-16.86a7.31 7.31 0 0 0 4.21-4.21L74.16 9.79A15 15 0 0 1 86.23.11a14.67 14.67 0 0 1 15.46 9.29l16.86 43.84a7.31 7.31 0 0 0 4.21 4.21l43.84 16.86a14.67 14.67 0 0 1 0 27.38l-43.84 16.86a7.28 7.28 0 0 0-4.21 4.21l-16.86 43.84A14.67 14.67 0 0 1 88 176zm312 80a16 16 0 0 1-14.93-10.26l-22.84-59.37a8 8 0 0 0-4.6-4.6l-59.37-22.84a16 16 0 0 1 0-29.86l59.37-22.84a8 8 0 0 0 4.6-4.6l22.67-58.95a16.45 16.45 0 0 1 13.17-10.57 16 16 0 0 1 16.86 10.15l22.84 59.37a8 8 0 0 0 4.6 4.6l59.37 22.84a16 16 0 0 1 0 29.86l-59.37 22.84a8 8 0 0 0-4.6 4.6l-22.84 59.37A16 16 0 0 1 400 256z\"},\"child\":[]}]})(props);\n};\nexport function IoSpeedometerOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m326.1 231.9-47.5 75.5a31 31 0 0 1-7 7 30.11 30.11 0 0 1-35-49l75.5-47.5a10.23 10.23 0 0 1 11.7 0 10.06 10.06 0 0 1 2.3 14z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M256 64C132.3 64 32 164.2 32 287.9a223.18 223.18 0 0 0 56.3 148.5c1.1 1.2 2.1 2.4 3.2 3.5a25.19 25.19 0 0 0 37.1-.1 173.13 173.13 0 0 1 254.8 0 25.19 25.19 0 0 0 37.1.1l3.2-3.5A223.18 223.18 0 0 0 480 287.9C480 164.2 379.7 64 256 64z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M256 128v32m160 128h-32m-256 0H96m69.49-90.51-22.63-22.63m203.65 22.63 22.63-22.63\"},\"child\":[]}]})(props);\n};\nexport function IoSpeedometerSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C123.46 48 16 156.55 16 290.56a243.3 243.3 0 0 0 60.32 160.87c1.18 1.3 2.25 2.6 3.43 3.79C89.2 464 92.07 464 99.57 464s12.43 0 19.93-8.88C152 416.64 202 400 256 400s104.07 16.71 136.5 55.12C400 464 404.82 464 412.43 464s11.3 0 19.82-8.78c1.22-1.25 2.25-2.49 3.43-3.79A243.3 243.3 0 0 0 496 290.56C496 156.55 388.54 48 256 48zm-16 64h32v64h-32zm-96 192H80v-32h64zm21.49-83.88-45.25-45.26 22.62-22.62 45.26 45.25zM278.6 307.4a31 31 0 0 1-7 7 30.11 30.11 0 0 1-35-49L320 224zm45.28-109.91 45.26-45.25 22.62 22.62-45.25 45.26zM432 304h-64v-32h64z\"},\"child\":[]}]})(props);\n};\nexport function IoSpeedometer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M425.7 118.25A240 240 0 0 0 76.32 447l.18.2c.33.35.64.71 1 1.05.74.84 1.58 1.79 2.57 2.78a41.17 41.17 0 0 0 60.36-.42 157.13 157.13 0 0 1 231.26 0 41.18 41.18 0 0 0 60.65.06l3.21-3.5.18-.2a239.93 239.93 0 0 0-10-328.76zM240 128a16 16 0 0 1 32 0v32a16 16 0 0 1-32 0zM128 304H96a16 16 0 0 1 0-32h32a16 16 0 0 1 0 32zm48.8-95.2a16 16 0 0 1-22.62 0l-22.63-22.62a16 16 0 0 1 22.63-22.63l22.62 22.63a16 16 0 0 1 0 22.62zm149.3 23.1-47.5 75.5a31 31 0 0 1-7 7 30.11 30.11 0 0 1-35-49l75.5-47.5a10.23 10.23 0 0 1 11.7 0 10.06 10.06 0 0 1 2.3 14zm31.72-23.1a16 16 0 0 1-22.62-22.62l22.62-22.63a16 16 0 0 1 22.63 22.63zm65.88 227.6zM416 304h-32a16 16 0 0 1 0-32h32a16 16 0 0 1 0 32z\"},\"child\":[]}]})(props);\n};\nexport function IoSquareOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M416 448H96a32.09 32.09 0 0 1-32-32V96a32.09 32.09 0 0 1 32-32h320a32.09 32.09 0 0 1 32 32v320a32.09 32.09 0 0 1-32 32z\"},\"child\":[]}]})(props);\n};\nexport function IoSquareSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M48 48h416v416H48z\"},\"child\":[]}]})(props);\n};\nexport function IoSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416 464H96a48.05 48.05 0 0 1-48-48V96a48.05 48.05 0 0 1 48-48h320a48.05 48.05 0 0 1 48 48v320a48.05 48.05 0 0 1-48 48z\"},\"child\":[]}]})(props);\n};\nexport function IoStarHalfOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M480 208H308L256 48l-52 160H32l140 96-54 160 138-100 138 100-54-160z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48v316L118 464l54-160-140-96h172l52-160z\"},\"child\":[]}]})(props);\n};\nexport function IoStarHalfSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496 203.3H312.36L256 32l-56.36 171.3H16l150.21 105.4-58.5 171.3L256 373.84 404.29 480l-58.61-171.3zM274.63 347.82 256 334.49v-200.1l26 78.91 7.24 22h105.39l-67.32 47.2-19.69 13.81 7.78 22.75 26.26 76.75z\"},\"child\":[]}]})(props);\n};\nexport function IoStarHalf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M480 208H308L256 48l-52 160H32l140 96-54 160 138-100 138 100-54-160z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48v316L118 464l54-160-140-96h172l52-160z\"},\"child\":[]}]})(props);\n};\nexport function IoStarOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M480 208H308L256 48l-52 160H32l140 96-54 160 138-100 138 100-54-160z\"},\"child\":[]}]})(props);\n};\nexport function IoStarSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496 203.3H312.36L256 32l-56.36 171.3H16l150.21 105.4-58.5 171.3L256 373.84 404.29 480l-58.61-171.3z\"},\"child\":[]}]})(props);\n};\nexport function IoStar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M394 480a16 16 0 0 1-9.39-3L256 383.76 127.39 477a16 16 0 0 1-24.55-18.08L153 310.35 23 221.2a16 16 0 0 1 9-29.2h160.38l48.4-148.95a16 16 0 0 1 30.44 0l48.4 149H480a16 16 0 0 1 9.05 29.2L359 310.35l50.13 148.53A16 16 0 0 1 394 480z\"},\"child\":[]}]})(props);\n};\nexport function IoStatsChartOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"48\",\"height\":\"160\",\"x\":\"64\",\"y\":\"320\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"8\",\"ry\":\"8\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"48\",\"height\":\"256\",\"x\":\"288\",\"y\":\"224\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"8\",\"ry\":\"8\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"48\",\"height\":\"368\",\"x\":\"400\",\"y\":\"112\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"8\",\"ry\":\"8\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"48\",\"height\":\"448\",\"x\":\"176\",\"y\":\"32\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"8\",\"ry\":\"8\"},\"child\":[]}]})(props);\n};\nexport function IoStatsChartSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M128 496H48V304h80zm224 0h-80V208h80zm112 0h-80V96h80zm-224 0h-80V16h80z\"},\"child\":[]}]})(props);\n};\nexport function IoStatsChart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M104 496H72a24 24 0 0 1-24-24V328a24 24 0 0 1 24-24h32a24 24 0 0 1 24 24v144a24 24 0 0 1-24 24zm224 0h-32a24 24 0 0 1-24-24V232a24 24 0 0 1 24-24h32a24 24 0 0 1 24 24v240a24 24 0 0 1-24 24zm112 0h-32a24 24 0 0 1-24-24V120a24 24 0 0 1 24-24h32a24 24 0 0 1 24 24v352a24 24 0 0 1-24 24zm-224 0h-32a24 24 0 0 1-24-24V40a24 24 0 0 1 24-24h32a24 24 0 0 1 24 24v432a24 24 0 0 1-24 24z\"},\"child\":[]}]})(props);\n};\nexport function IoStopCircleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192 192-86 192-192z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M310.4 336H201.6a25.62 25.62 0 0 1-25.6-25.6V201.6a25.62 25.62 0 0 1 25.6-25.6h108.8a25.62 25.62 0 0 1 25.6 25.6v108.8a25.62 25.62 0 0 1-25.6 25.6z\"},\"child\":[]}]})(props);\n};\nexport function IoStopCircleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm80 288H176V176h160z\"},\"child\":[]}]})(props);\n};\nexport function IoStopCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm80 262.4a25.62 25.62 0 0 1-25.6 25.6H201.6a25.62 25.62 0 0 1-25.6-25.6V201.6a25.62 25.62 0 0 1 25.6-25.6h108.8a25.62 25.62 0 0 1 25.6 25.6z\"},\"child\":[]}]})(props);\n};\nexport function IoStopOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"320\",\"height\":\"320\",\"x\":\"96\",\"y\":\"96\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"24\",\"ry\":\"24\"},\"child\":[]}]})(props);\n};\nexport function IoStopSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M80 80h352v352H80z\"},\"child\":[]}]})(props);\n};\nexport function IoStop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M392 432H120a40 40 0 0 1-40-40V120a40 40 0 0 1 40-40h272a40 40 0 0 1 40 40v272a40 40 0 0 1-40 40z\"},\"child\":[]}]})(props);\n};\nexport function IoStopwatchOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M256 232v-80\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"48\",\"d\":\"M256 88V72m-124 60-12-12\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"272\",\"r\":\"32\",\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M256 96a176 176 0 1 0 176 176A176 176 0 0 0 256 96z\"},\"child\":[]}]})(props);\n};\nexport function IoStopwatchSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M280 81.5V48h-48v33.5a191 191 0 0 0-84.43 32.13L120 86l-34 34 25.59 25.59A191.17 191.17 0 0 0 64 272c0 105.87 86.13 192 192 192s192-86.13 192-192c0-97.74-73.42-178.66-168-190.5zM256 320a48 48 0 0 1-16-93.25V136h32v90.75A48 48 0 0 1 256 320z\"},\"child\":[]}]})(props);\n};\nexport function IoStopwatch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"272\",\"r\":\"16\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M280 81.5V72a24 24 0 0 0-48 0v9.5a191 191 0 0 0-84.43 32.13L137 103a24 24 0 0 0-34 34l8.6 8.6A191.17 191.17 0 0 0 64 272c0 105.87 86.13 192 192 192s192-86.13 192-192c0-97.74-73.42-178.66-168-190.5zM256 320a48 48 0 0 1-16-93.25V152a16 16 0 0 1 32 0v74.75A48 48 0 0 1 256 320z\"},\"child\":[]}]})(props);\n};\nexport function IoStorefrontOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M448 448V240m-384 0v208M382.47 48H129.53c-21.79 0-41.47 12-49.93 30.46L36.3 173c-14.58 31.81 9.63 67.85 47.19 69h2c31.4 0 56.85-25.18 56.85-52.23 0 27 25.46 52.23 56.86 52.23s56.8-23.38 56.8-52.23c0 27 25.45 52.23 56.85 52.23s56.86-23.38 56.86-52.23c0 28.85 25.45 52.23 56.85 52.23h1.95c37.56-1.17 61.77-37.21 47.19-69l-43.3-94.54C423.94 60 404.26 48 382.47 48zM32 464h448M136 288h80a24 24 0 0 1 24 24v88h0-128 0v-88a24 24 0 0 1 24-24zm152 176V312a24 24 0 0 1 24-24h64a24 24 0 0 1 24 24v152\"},\"child\":[]}]})(props);\n};\nexport function IoStorefrontSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 448V267.85a104.76 104.76 0 0 1-33.56 6.58c-1.18 0-2.3.05-3.4.05a108 108 0 0 1-56.86-16 108 108 0 0 1-56.85 16 106.16 106.16 0 0 1-56.51-16.2 107.84 107.84 0 0 1-57.2 16.2 106.14 106.14 0 0 1-56.85-16.42 106.14 106.14 0 0 1-56.85 16.42c-1.09 0-2.19 0-3.37-.05h-.06A104.66 104.66 0 0 1 48 267.49V448H16v32h480v-32zm-240-64h-96v-76a4 4 0 0 1 4-4h88a4 4 0 0 1 4 4zm160 64h-80V308a4 4 0 0 1 4-4h72a4 4 0 0 1 4 4zm108.57-277.72L445.89 64C432 32 432 32 400 32H112c-32 0-32 0-45.94 32L19.38 170.28c-9 19.41 2.89 39.34 2.9 39.35l.41.66c.42.66 1.13 1.75 1.62 2.37.1.13.19.27.28.4l5.24 6.39 5.31 5.14.42.36a69.65 69.65 0 0 0 9.44 6.78v.05a74 74 0 0 0 36 10.67h2.47a76.08 76.08 0 0 0 51.89-20.31 72.38 72.38 0 0 0 5.77-6 74.18 74.18 0 0 0 5.78 6 76.08 76.08 0 0 0 51.89 20.31c23.28 0 44.07-10 57.63-25.56a.11.11 0 0 1 .15 0l5.66 5.26a76.09 76.09 0 0 0 51.9 20.31c23.29 0 44.11-10 57.66-25.61 13.56 15.61 34.37 25.61 57.67 25.61h2.49a71.35 71.35 0 0 0 35-10.7c.95-.57 1.86-1.17 2.78-1.77A71.33 71.33 0 0 0 488 212.17l2-3c.9-2.04 11.21-20.3 2.57-38.89z\"},\"child\":[]}]})(props);\n};\nexport function IoStorefront (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M480 448h-12a4 4 0 0 1-4-4V273.51a4 4 0 0 0-5.24-3.86 104.92 104.92 0 0 1-28.32 4.78c-1.18 0-2.3.05-3.4.05a108.22 108.22 0 0 1-52.85-13.64 8.23 8.23 0 0 0-8 0 108.18 108.18 0 0 1-52.84 13.64 106.11 106.11 0 0 1-52.46-13.79 8.21 8.21 0 0 0-8.09 0 108.14 108.14 0 0 1-53.16 13.8 106.19 106.19 0 0 1-52.77-14 8.25 8.25 0 0 0-8.16 0 106.19 106.19 0 0 1-52.77 14c-1.09 0-2.19 0-3.37-.05h-.06a104.91 104.91 0 0 1-29.28-5.09 4 4 0 0 0-5.23 3.8V444a4 4 0 0 1-4 4H32.5c-8.64 0-16.1 6.64-16.48 15.28A16 16 0 0 0 32 480h447.5c8.64 0 16.1-6.64 16.48-15.28A16 16 0 0 0 480 448zm-256-68a4 4 0 0 1-4 4h-88a4 4 0 0 1-4-4v-64a12 12 0 0 1 12-12h72a12 12 0 0 1 12 12zm156 68h-72a4 4 0 0 1-4-4V316a12 12 0 0 1 12-12h56a12 12 0 0 1 12 12v128a4 4 0 0 1-4 4zm112.57-277.72-42.92-98.49C438.41 47.62 412.74 32 384.25 32H127.7c-28.49 0-54.16 15.62-65.4 39.79l-42.92 98.49c-9 19.41 2.89 39.34 2.9 39.35l.28.45c.49.78 1.36 2 1.89 2.78.05.06.09.13.14.2l5 6.05a7.45 7.45 0 0 0 .6.65l5 4.83.42.36a69.65 69.65 0 0 0 9.39 6.78v.05a74 74 0 0 0 36 10.67h2.47a76.08 76.08 0 0 0 51.89-20.31l.33-.31a7.94 7.94 0 0 1 10.89 0l.33.31a77.3 77.3 0 0 0 104.46 0 8 8 0 0 1 10.87 0 77.31 77.31 0 0 0 104.21.23 7.88 7.88 0 0 1 10.71 0 76.81 76.81 0 0 0 52.31 20.08h2.49a71.35 71.35 0 0 0 35-10.7c.95-.57 1.86-1.17 2.78-1.77A71.33 71.33 0 0 0 488 212.17l1.74-2.63q.26-.4.48-.84c1.66-3.38 10.56-20.76 2.35-38.42z\"},\"child\":[]}]})(props);\n};\nexport function IoSubwayOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"288\",\"height\":\"352\",\"x\":\"112\",\"y\":\"32\",\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"rx\":\"48\",\"ry\":\"48\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M208 80h96\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"288\",\"height\":\"96\",\"x\":\"112\",\"y\":\"128\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"32\",\"ry\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"176\",\"cy\":\"320\",\"r\":\"16\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"336\",\"cy\":\"320\",\"r\":\"16\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M144 464h224m-32-32 48 48m-208-48-48 48\"},\"child\":[]}]})(props);\n};\nexport function IoSubwaySharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M392 16H120a24 24 0 0 0-24 24v336a24 24 0 0 0 24 24h272a24 24 0 0 0 24-24V40a24 24 0 0 0-24-24zM208 64h95.55c8.61 0 16 6.62 16.43 15.23A16 16 0 0 1 304 96h-95.55c-8.61 0-16-6.62-16.43-15.23A16 16 0 0 1 208 64zm-28.53 287.82a32 32 0 1 1 28.35-28.35 32 32 0 0 1-28.35 28.35zm160 0a32 32 0 1 1 28.35-28.35 32 32 0 0 1-28.35 28.35zM384 144v64H128v-64zm-86 272 31.37 32H182.63L214 416h-44l-80.57 80h45.2l16-16h210.74l16 16h45.3L343 416h-45z\"},\"child\":[]}]})(props);\n};\nexport function IoSubway (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M352 16H160a64.07 64.07 0 0 0-64 64v256a64.07 64.07 0 0 0 64 64h192a64.07 64.07 0 0 0 64-64V80a64.07 64.07 0 0 0-64-64zM208 64h96a16 16 0 0 1 0 32h-96a16 16 0 0 1 0-32zm-32 288a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm160 0a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm48-160a16 16 0 0 1-16 16H144a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h224a16 16 0 0 1 16 16zm-36.69 228.69a16 16 0 0 0-22.62 22.62l4.68 4.69H182.63l4.68-4.69a16 16 0 0 0-22.62-22.62l-48 48a16 16 0 1 0 22.62 22.62L150.63 480h210.74l11.32 11.31a16 16 0 0 0 22.62-22.62z\"},\"child\":[]}]})(props);\n};\nexport function IoSunnyOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M256 48v48m0 320v48m147.08-355.08-33.94 33.94M142.86 369.14l-33.94 33.94M464 256h-48m-320 0H48m355.08 147.08-33.94-33.94M142.86 142.86l-33.94-33.94\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"r\":\"80\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\"},\"child\":[]}]})(props);\n};\nexport function IoSunnySharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M234 26h44v92h-44zm0 368h44v92h-44zm104.025-251.143 65.054-65.054 31.113 31.113-65.054 65.054zM77.815 403.074l65.054-65.054 31.113 31.113-65.054 65.054zM394 234h92v44h-92zm-368 0h92v44H26zm312.029 135.14 31.112-31.113 65.054 65.054-31.112 31.112zM77.802 108.92l31.113-31.113 65.054 65.054-31.113 31.112zM256 358a102 102 0 1 1 102-102 102.12 102.12 0 0 1-102 102z\"},\"child\":[]}]})(props);\n};\nexport function IoSunny (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 118a22 22 0 0 1-22-22V48a22 22 0 0 1 44 0v48a22 22 0 0 1-22 22zm0 368a22 22 0 0 1-22-22v-48a22 22 0 0 1 44 0v48a22 22 0 0 1-22 22zm113.14-321.14a22 22 0 0 1-15.56-37.55l33.94-33.94a22 22 0 0 1 31.11 31.11l-33.94 33.94a21.93 21.93 0 0 1-15.55 6.44zM108.92 425.08a22 22 0 0 1-15.55-37.56l33.94-33.94a22 22 0 1 1 31.11 31.11l-33.94 33.94a21.94 21.94 0 0 1-15.56 6.45zM464 278h-48a22 22 0 0 1 0-44h48a22 22 0 0 1 0 44zm-368 0H48a22 22 0 0 1 0-44h48a22 22 0 0 1 0 44zm307.08 147.08a21.94 21.94 0 0 1-15.56-6.45l-33.94-33.94a22 22 0 0 1 31.11-31.11l33.94 33.94a22 22 0 0 1-15.55 37.56zM142.86 164.86a21.89 21.89 0 0 1-15.55-6.44l-33.94-33.94a22 22 0 0 1 31.11-31.11l33.94 33.94a22 22 0 0 1-15.56 37.55zM256 358a102 102 0 1 1 102-102 102.12 102.12 0 0 1-102 102z\"},\"child\":[]}]})(props);\n};\nexport function IoSwapHorizontalOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m304 48 112 112-112 112m94.87-112H96m112 304L96 352l112-112m-94 112h302\"},\"child\":[]}]})(props);\n};\nexport function IoSwapHorizontalSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"m304 48 112 112-112 112m94.87-112H96m112 304L96 352l112-112m-94 112h302\"},\"child\":[]}]})(props);\n};\nexport function IoSwapHorizontal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m304 48 112 112-112 112m94.87-112H96m112 304L96 352l112-112m-94 112h302\"},\"child\":[]}]})(props);\n};\nexport function IoSwapVerticalOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M464 208 352 96 240 208m112-94.87V416M48 304l112 112 112-112m-112 94V96\"},\"child\":[]}]})(props);\n};\nexport function IoSwapVerticalSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M464 208 352 96 240 208m112-94.87V416M48 304l112 112 112-112m-112 94V96\"},\"child\":[]}]})(props);\n};\nexport function IoSwapVertical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M464 208 352 96 240 208m112-94.87V416M48 304l112 112 112-112m-112 94V96\"},\"child\":[]}]})(props);\n};\nexport function IoSyncCircleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M448 256c0-106-86-192-192-192S64 150 64 256s86 192 192 192 192-86 192-192z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M351.82 271.87v-16A96.15 96.15 0 0 0 184.09 192m-24.2 48.17v16A96.22 96.22 0 0 0 327.81 320\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m135.87 256 23.59-23.6 24.67 23.6m192 0-23.59 23.6-24.67-23.6\"},\"child\":[]}]})(props);\n};\nexport function IoSyncCircleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.13 48 48 141.13 48 256s93.13 208 208 208 208-93.13 208-208S370.87 48 256 48zm0 320a112.19 112.19 0 0 1-111.27-98.23l-8.86 8.86L113.24 256l46-46 47.55 45.48-22.12 23.12-7.2-6.88a80.26 80.26 0 0 0 138.48 37.5l23.77 21.41A112.82 112.82 0 0 1 256 368zm96.79-66-47.55-45.5 22.12-23.12 6.86 6.55A80.2 80.2 0 0 0 196 202.64l-23.82-21.37A112.18 112.18 0 0 1 367 242.49l9.11-9.12L398.76 256z\"},\"child\":[]}]})(props);\n};\nexport function IoSyncCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.13 48 48 141.13 48 256s93.13 208 208 208 208-93.13 208-208S370.87 48 256 48zm83.69 282.65a112.24 112.24 0 0 1-195-61.29 16 16 0 0 1-20.13-24.67l23.6-23.6a16 16 0 0 1 22.37-.25l24.67 23.6a16 16 0 0 1-18 26 80.25 80.25 0 0 0 138.72 38.83 16 16 0 0 1 23.77 21.41zm47.76-63.34-23.6 23.6a16 16 0 0 1-22.37.25l-24.67-23.6a16 16 0 0 1 17.68-26.11A80.17 80.17 0 0 0 196 202.64a16 16 0 1 1-23.82-21.37 112.17 112.17 0 0 1 194.88 61.57 16 16 0 0 1 20.39 24.47z\"},\"child\":[]}]})(props);\n};\nexport function IoSyncOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M434.67 285.59v-29.8c0-98.73-80.24-178.79-179.2-178.79a179 179 0 0 0-140.14 67.36m-38.53 82v29.8C76.8 355 157 435 256 435a180.45 180.45 0 0 0 140-66.92\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m32 256 44-44 46 44m358 0-44 44-46-44\"},\"child\":[]}]})(props);\n};\nexport function IoSyncSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M434.67 285.59v-29.8c0-98.73-80.24-178.79-179.2-178.79a179 179 0 0 0-140.14 67.36m-38.53 82v29.8C76.8 355 157 435 256 435a180.45 180.45 0 0 0 140-66.92\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"m32 256 44-44 46 44m358 0-44 44-46-44\"},\"child\":[]}]})(props);\n};\nexport function IoSync (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M434.67 285.59v-29.8c0-98.73-80.24-178.79-179.2-178.79a179 179 0 0 0-140.14 67.36m-38.53 82v29.8C76.8 355 157 435 256 435a180.45 180.45 0 0 0 140-66.92\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m32 256 44-44 46 44m358 0-44 44-46-44\"},\"child\":[]}]})(props);\n};\nexport function IoTabletLandscapeOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"352\",\"height\":\"480\",\"x\":\"80\",\"y\":\"16\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"48\",\"ry\":\"48\",\"transform\":\"rotate(-90 256 256)\"},\"child\":[]}]})(props);\n};\nexport function IoTabletLandscapeSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 82v348a18 18 0 0 0 18 18h476a18 18 0 0 0 18-18V82a18 18 0 0 0-18-18H18A18 18 0 0 0 0 82zm448 330H64V100h384z\"},\"child\":[]}]})(props);\n};\nexport function IoTabletLandscape (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 128v256a64.07 64.07 0 0 1-64 64H64a64.07 64.07 0 0 1-64-64V128a64.07 64.07 0 0 1 64-64h384a64.07 64.07 0 0 1 64 64zM32 384a32 32 0 0 0 32 32h384a32 32 0 0 0 32-32V128a32 32 0 0 0-32-32H64a32 32 0 0 0-32 32z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 128a64.07 64.07 0 0 1 64-64h384a64.07 64.07 0 0 1 64 64v256a64.07 64.07 0 0 1-64 64H64a64.07 64.07 0 0 1-64-64V128m480 256V128a32 32 0 0 0-32-32H64a32 32 0 0 0-32 32v256a32 32 0 0 0 32 32h384a32 32 0 0 0 32-32m-16 0a16 16 0 0 1-16 16H64a16 16 0 0 1-16-16V128a16 16 0 0 1 16-16h384a16 16 0 0 1 16 16v256z\"},\"child\":[]}]})(props);\n};\nexport function IoTabletPortraitOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"352\",\"height\":\"480\",\"x\":\"80\",\"y\":\"16\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"48\",\"ry\":\"48\"},\"child\":[]}]})(props);\n};\nexport function IoTabletPortraitSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M430 0H82a18 18 0 0 0-18 18v476a18 18 0 0 0 18 18h348a18 18 0 0 0 18-18V18a18 18 0 0 0-18-18zM100 448V64h312v384z\"},\"child\":[]}]})(props);\n};\nexport function IoTabletPortrait (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 512H128a64.07 64.07 0 0 1-64-64V64a64.07 64.07 0 0 1 64-64h256a64.07 64.07 0 0 1 64 64v384a64.07 64.07 0 0 1-64 64zM128 32a32 32 0 0 0-32 32v384a32 32 0 0 0 32 32h256a32 32 0 0 0 32-32V64a32 32 0 0 0-32-32z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M384 0a64.07 64.07 0 0 1 64 64v384a64.07 64.07 0 0 1-64 64H128a64.07 64.07 0 0 1-64-64V64a64.07 64.07 0 0 1 64-64h256M128 480h256a32 32 0 0 0 32-32V64a32 32 0 0 0-32-32H128a32 32 0 0 0-32 32v384a32 32 0 0 0 32 32m0-16a16 16 0 0 1-16-16V64a16 16 0 0 1 16-16h256a16 16 0 0 1 16 16v384a16 16 0 0 1-16 16z\"},\"child\":[]}]})(props);\n};\nexport function IoTelescopeOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m39.93 327.56-4.71-8.13A24 24 0 0 1 44 286.64l86.87-50.07a16 16 0 0 1 21.89 5.86l12.71 22a16 16 0 0 1-5.86 21.85l-86.85 50.07a24.06 24.06 0 0 1-32.83-8.79z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M170.68 273.72 147.12 233a24 24 0 0 1 8.8-32.78l124.46-71.75a16 16 0 0 1 21.89 5.86l31.57 54.59a16 16 0 0 1-5.84 21.84L203.51 282.5a24 24 0 0 1-32.83-8.78zm171.17-71.51-46.51-80.43a24 24 0 0 1 8.8-32.78l93.29-53.78A24.07 24.07 0 0 1 430.27 44l46.51 80.43a24 24 0 0 1-8.8 32.79L374.69 211a24.06 24.06 0 0 1-32.84-8.79zM127.59 480l96.14-207.99m48.07-15.99L368.55 448\"},\"child\":[]}]})(props);\n};\nexport function IoTelescopeSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m1.41 292.9 44.82 76.97 98.14-56.38-44.73-77.37L1.41 292.9z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"m287.87 252.34 23.67-13.81-63.42-110-132.92 77C133.75 237.51 176 310 176 310l15.53-8.32c.24-.13.55 0 .83 0L102.65 496h35.16l99.05-214.25 23.24-13.4L358 464h36zM262.08 96c24.81 42.23 60.25 104.25 86.4 148.76L510.79 151 424.07 1.41z\"},\"child\":[]}]})(props);\n};\nexport function IoTelescope (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M107.56 250a16 16 0 0 0-21.85-5.86L36 272.81a39.71 39.71 0 0 0-18.8 24.91 40.9 40.9 0 0 0 4.55 30.35l4.36 7.54a40 40 0 0 0 54.62 14.62l49.67-28.63a16 16 0 0 0 5.87-21.86z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M382.84 440.8 288.72 254a2 2 0 0 1 .79-2.63l8.3-4.79a16 16 0 0 0 5.86-21.86l-47.53-82.33a16 16 0 0 0-21.86-5.87l-86.38 49.8a39.73 39.73 0 0 0-18.65 24.28 34.82 34.82 0 0 0-1.37 9.76c.06 7.6 9.2 22.7 18.12 38.28 9.59 16.75 19.24 33.88 26.34 38.15 4.52 2.72 12.5 4.9 19.21 4.9h.84l-79.32 171.6a16 16 0 1 0 29.05 13.42l93.68-202.65a7.94 7.94 0 0 1 3.26-3.57l19.21-11.08a2 2 0 0 1 2.78.84l93.21 185a16 16 0 0 0 28.58-14.4zm107.37-325.06L444.09 36a40.08 40.08 0 0 0-54.63-14.62l-93.34 53.78a39.69 39.69 0 0 0-18.65 24.28 32.76 32.76 0 0 0-1.27 13.25c1.74 12.62 13 30.4 26.41 53.89 13.58 23.73 28.91 50.48 36.93 56.27a40.18 40.18 0 0 0 23.18 7.37 39.77 39.77 0 0 0 19.92-5.34L476 171.07a39.72 39.72 0 0 0 18.79-24.84 41 41 0 0 0-4.58-30.49z\"},\"child\":[]}]})(props);\n};\nexport function IoTennisballOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"r\":\"208\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M461.43 271.44c-5.09.37-8.24.56-13.43.56-114.88 0-208-93.12-208-208 0-5.37.2-8.69.6-14M49.65 240.56S58.84 240 64 240c114.88 0 208 93.12 208 208 0 5.38-.61 14-.61 14\"},\"child\":[]}]})(props);\n};\nexport function IoTennisballSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M246.4 480a181 181 0 0 0 3.22-22.86c.35-4.61.53-9.31.53-14 0-100-81.34-181.32-181.32-181.32A181.72 181.72 0 0 0 32 265.61 224.2 224.2 0 0 0 246.4 480z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M284.63 227.37A222.73 222.73 0 0 1 219 68.83a227.09 227.09 0 0 1 2.62-34.42A224.41 224.41 0 0 0 34.41 221.58 227.09 227.09 0 0 1 68.83 219a222.73 222.73 0 0 1 158.54 65.67A222.73 222.73 0 0 1 293 443.17c0 5.74-.22 11.54-.65 17.23s-1.11 11.51-2 17.2a224.42 224.42 0 0 0 187.24-187.18 227.09 227.09 0 0 1-34.42 2.58 222.73 222.73 0 0 1-158.54-65.63z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M443.17 250.15a181.72 181.72 0 0 0 36.83-3.76A224.2 224.2 0 0 0 265.61 32a181.72 181.72 0 0 0-3.76 36.83c0 99.98 81.34 181.32 181.32 181.32z\"},\"child\":[]}]})(props);\n};\nexport function IoTennisball (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 256a192.55 192.55 0 0 0 32-2.68A224 224 0 0 0 258.68 32 192.55 192.55 0 0 0 256 64c0 105.87 86.13 192 192 192zM253.35 480c.94-5.67 1.65-11.4 2.09-17.18.37-4.88.56-9.86.56-14.79 0-105.87-86.13-192-192-192a192.55 192.55 0 0 0-32 2.68A224 224 0 0 0 253.35 480z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M289.61 222.39A222.53 222.53 0 0 1 224 64a226.07 226.07 0 0 1 2-30A224.1 224.1 0 0 0 34 226a226.07 226.07 0 0 1 30-2 222.53 222.53 0 0 1 158.39 65.61A222.53 222.53 0 0 1 288 448c0 5.74-.22 11.53-.65 17.22q-.5 6.42-1.36 12.79A224.12 224.12 0 0 0 478 286a226.07 226.07 0 0 1-30 2 222.53 222.53 0 0 1-158.39-65.61z\"},\"child\":[]}]})(props);\n};\nexport function IoTerminalOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"448\",\"height\":\"416\",\"x\":\"32\",\"y\":\"48\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"48\",\"ry\":\"48\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m96 112 80 64-80 64m96 0h64\"},\"child\":[]}]})(props);\n};\nexport function IoTerminalSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 44v424a12 12 0 0 0 12 12h456a12 12 0 0 0 12-12V44a12 12 0 0 0-12-12H28a12 12 0 0 0-12 12zm57.51 193.5 76.88-61.5-76.88-61.5 20-25 108.1 86.5L93.5 262.49zM272 256h-96v-32h96z\"},\"child\":[]}]})(props);\n};\nexport function IoTerminal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M432 32H80a64.07 64.07 0 0 0-64 64v320a64.07 64.07 0 0 0 64 64h352a64.07 64.07 0 0 0 64-64V96a64.07 64.07 0 0 0-64-64zM96 256a16 16 0 0 1-10-28.49L150.39 176 86 124.49a16 16 0 1 1 20-25l80 64a16 16 0 0 1 0 25l-80 64A16 16 0 0 1 96 256zm160 0h-64a16 16 0 0 1 0-32h64a16 16 0 0 1 0 32z\"},\"child\":[]}]})(props);\n};\nexport function IoTextOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m32 415.5 120-320 120 320m-42-112H74m252-64c12.19-28.69 41-48 74-48h0c46 0 80 32 80 80v144\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M320 358.5c0 36 26.86 58 60 58 54 0 100-27 100-106v-15c-20 0-58 1-92 5-32.77 3.86-68 19-68 58z\"},\"child\":[]}]})(props);\n};\nexport function IoTextSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M404.42 170c-41.23 0-78.07 24.06-93.85 61.3L304 246.52l40.33 17.18 6.56-15.22c8.9-21 29.91-34.55 53.53-34.55 34.55 0 57.76 23.27 57.76 57.91v2.3c-22.12.59-48.65 2.05-72.27 4.84-54.52 6.43-87.06 36.23-87.06 79.72 0 23.16 8.72 44 24.56 58.59C342.28 431 362.55 438 384.51 438c30.86 0 57.5-7.33 77.67-22.64V438H506V271.84C506 212.83 463.28 170 404.42 170zm-19.91 225.07c-17.46 0-37.85-9.84-37.85-36.37 0-10.65 3.82-18.11 12.38-24.19 8.34-5.92 21.12-10.15 36-11.9 21.78-2.57 46.31-3.95 67-4.52-2.16 51.49-27.57 76.98-77.53 76.98zm-291.26-69.2h125.5L260.94 438H308L155 48 4 438h47.06zM156 160.71 202.25 282h-92.5z\"},\"child\":[]}]})(props);\n};\nexport function IoText (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m292.6 407.78-120-320a22 22 0 0 0-41.2 0l-120 320a22 22 0 0 0 41.2 15.44l36.16-96.42a2 2 0 0 1 1.87-1.3h122.74a2 2 0 0 1 1.87 1.3l36.16 96.42a22 22 0 0 0 41.2-15.44zm-185.84-129 43.37-115.65a2 2 0 0 1 3.74 0l43.37 115.67a2 2 0 0 1-1.87 2.7h-86.74a2 2 0 0 1-1.87-2.7zM400.77 169.5c-41.72-.3-79.08 23.87-95 61.4a22 22 0 0 0 40.5 17.2c8.88-20.89 29.77-34.44 53.32-34.6 32.32-.22 58.41 26.5 58.41 58.85a1.5 1.5 0 0 1-1.45 1.5c-21.92.61-47.92 2.07-71.12 4.8-54.75 6.44-87.43 36.29-87.43 79.85 0 23.19 8.76 44 24.67 58.68C337.6 430.93 358 438.5 380 438.5c31 0 57.69-8 77.94-23.22h.06a22 22 0 1 0 44 .19v-143c0-56.18-45-102.56-101.23-102.97zM380 394.5c-17.53 0-38-9.43-38-36 0-10.67 3.83-18.14 12.43-24.23 8.37-5.93 21.2-10.16 36.14-11.92 21.12-2.49 44.82-3.86 65.14-4.47a2 2 0 0 1 2 2.1C455 370.1 429.46 394.5 380 394.5z\"},\"child\":[]}]})(props);\n};\nexport function IoThermometerOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M307.72 302.27a8 8 0 0 1-3.72-6.75V80a48 48 0 0 0-48-48h0a48 48 0 0 0-48 48v215.52a8 8 0 0 1-3.71 6.74 97.51 97.51 0 0 0-44.19 86.07A96 96 0 0 0 352 384a97.49 97.49 0 0 0-44.28-81.73zM256 112v272\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"384\",\"r\":\"48\"},\"child\":[]}]})(props);\n};\nexport function IoThermometerSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M320 291.24V80a64 64 0 1 0-128 0v211.24A113.39 113.39 0 0 0 144 384a112 112 0 0 0 224 0 113.39 113.39 0 0 0-48-92.76zM256 432a48 48 0 0 1-16-93.26V96h32v242.74A48 48 0 0 1 256 432z\"},\"child\":[]}]})(props);\n};\nexport function IoThermometer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M320 287.18V81c0-35.12-27.89-64.42-63-64.95a64.08 64.08 0 0 0-65 64v207.13a8 8 0 0 1-3.18 6.37A113.48 113.48 0 0 0 144 384a112 112 0 0 0 224 0 113.48 113.48 0 0 0-44.82-90.45 8 8 0 0 1-3.18-6.37zM254.07 432a48 48 0 0 1-22-89.54 16 16 0 0 0 8-13.84V112.45c0-8.61 6.62-16 15.23-16.43A16 16 0 0 1 272 112v216.58a16.18 16.18 0 0 0 8.15 13.94A48 48 0 0 1 254.07 432z\"},\"child\":[]}]})(props);\n};\nexport function IoThumbsDownOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M192 53.84S208 48 256 48s74 16 96 32h64a64 64 0 0 1 64 64v48a64 64 0 0 1-64 64h-30a32.34 32.34 0 0 0-27.37 15.4S350 290.19 324 335.22 248 448 240 464c-29 0-43-22-34-47.71 10.28-29.39 23.71-54.38 27.46-87.09.54-4.78-3.14-12-8-12L96 307\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"m96 241 80 2c20 1.84 32 12.4 32 30s-14 28.84-32 30l-80 4c-17.6 0-32-16.4-32-34v-.17A32 32 0 0 1 96 241zm-32-65 112 2c18 .84 32 12.41 32 30 0 17.61-14 28.86-32 30l-112 2a32.1 32.1 0 0 1-32-32 32.1 32.1 0 0 1 32-32zm48-128 64 3c21 1.84 32 11.4 32 29s-14.4 30-32 30l-64 2a32.09 32.09 0 0 1-32-32 32.09 32.09 0 0 1 32-32zm-32 64 96 2c19 .84 32 12.4 32 30s-13 28.84-32 30l-96 2a32.09 32.09 0 0 1-32-32 32.09 32.09 0 0 1 32-32z\"},\"child\":[]}]})(props);\n};\nexport function IoThumbsDownSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m56 320 156.05 12-23 89.4c-6.08 26.6.7 41.87 22.39 48.62l34.69 9.85a4 4 0 0 0 4.4-1.72l129-202.34a8 8 0 0 1 6.81-3.81H496V64H378.39a48 48 0 0 1-15.18-2.46l-76.3-25.43a80 80 0 0 0-25.3-4.11H83.68c-19 0-31.5 13.52-35.23 32.16L16 206.42V280c0 22.06 18 38 40 40z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M378.45 273.93A15.84 15.84 0 0 1 386 272a15.93 15.93 0 0 0-7.51 1.91zm-40.59 69.29-.13.22a2.53 2.53 0 0 1 .13-.22c20.5-35.51 30.36-55 33.82-62-3.47 7.06-13.34 26.51-33.82 62z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"m372.66 279.16-1 2a16.29 16.29 0 0 1 6.77-7.26 16.48 16.48 0 0 0-5.77 5.26z\"},\"child\":[]}]})(props);\n};\nexport function IoThumbsDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m39.94 178 144.16 6.12c4.61.36 23.9 1.22 23.9 25.88 0 23.8-19.16 25.33-24.14 25.88L39.94 242C27.27 241.87 16 227.56 16 210s11.27-31.87 23.94-32zm141.45 131.66L74.65 318C62 318 48 301.31 48 284.12v-.33c0-16.33 11.14-29.63 24.88-29.79l108.45 1.72C208 259 208 275.16 208 282.12c0 22.88-21.8 27.14-26.61 27.54zM90.15 32l89.37 8.93C204 41.86 208 58.18 208 68.4c0 18.39-13.41 24.6-26.67 24.6l-91 3C75.78 95.78 64 81.51 64 64s11.68-31.66 26.15-32zm-34.36 71.5 126.4 6.22c9.39.63 25.81 3 25.81 26.36 0 12-4.35 25.62-25 27.53L55.79 167.5C42.65 167.35 32 154 32 136.08s10.65-32.43 23.79-32.58z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M378.45 273.93A15.84 15.84 0 0 1 386 272a15.93 15.93 0 0 0-7.51 1.91zm-40.59 69.29-.13.22a2.53 2.53 0 0 1 .13-.22c20.5-35.51 30.36-55 33.82-62-3.47 7.06-13.34 26.51-33.82 62z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"m372.66 279.16-1 2a16.29 16.29 0 0 1 6.77-7.26 16.48 16.48 0 0 0-5.77 5.26z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M195.94 459.38C205.37 472.67 221 480 240 480a16 16 0 0 0 14.31-8.85c3-6.06 15.25-24 28.19-42.9 18-26.33 40.35-59.08 55.23-84.81l.13-.22c20.48-35.49 30.35-54.94 33.82-62l1-2a16.48 16.48 0 0 1 5.79-5.23A15.93 15.93 0 0 1 386 272h25.32A84.7 84.7 0 0 0 496 187.3v-38.6A84.7 84.7 0 0 0 411.31 64h-48.79a17.46 17.46 0 0 1-9.58-2.89C330 46.13 286.66 32 240 32c-7.45 0-14.19.14-20.27.38a8 8 0 0 0-6.2 12.68l.1.14C222.2 57.59 224 71 224 80a61.16 61.16 0 0 1-5.19 24.77 17.38 17.38 0 0 0 0 14.06 63.81 63.81 0 0 1 0 50.39 17.32 17.32 0 0 0 0 14 62.13 62.13 0 0 1 0 49.58 18.13 18.13 0 0 0 0 14.68A60.41 60.41 0 0 1 224 273c0 8.2-2 21.3-8 31.18a15.66 15.66 0 0 0-1.14 13.65c.38 1 .76 2.06 1.13 3.17a24.8 24.8 0 0 1 .86 11.57c-3 19.35-9.67 36.3-16.74 54.16-3.08 7.78-6.27 15.82-9.22 24.27-6.14 17.56-4.3 35.2 5.05 48.38z\"},\"child\":[]}]})(props);\n};\nexport function IoThumbsUpOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M320 458.16S304 464 256 464s-74-16-96-32H96a64 64 0 0 1-64-64v-48a64 64 0 0 1 64-64h30a32.34 32.34 0 0 0 27.37-15.4S162 221.81 188 176.78 264 64 272 48c29 0 43 22 34 47.71-10.28 29.39-23.71 54.38-27.46 87.09-.54 4.78 3.14 12 7.95 12L416 205\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"m416 271-80-2c-20-1.84-32-12.4-32-30s14-28.84 32-30l80-4c17.6 0 32 16.4 32 34v.17A32 32 0 0 1 416 271zm32 65-112-2c-18-.84-32-12.41-32-30 0-17.61 14-28.86 32-30l112-2a32.1 32.1 0 0 1 32 32 32.1 32.1 0 0 1-32 32zm-48 128-64-3c-21-1.84-32-11.4-32-29s14.4-30 32-30l64-2a32.09 32.09 0 0 1 32 32 32.09 32.09 0 0 1-32 32zm32-64-96-2c-19-.84-32-12.4-32-30s13-28.84 32-30l96-2a32.09 32.09 0 0 1 32 32 32.09 32.09 0 0 1-32 32z\"},\"child\":[]}]})(props);\n};\nexport function IoThumbsUpSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m456 192-156-12 23-89.4c6-26.6-.78-41.87-22.47-48.6l-34.69-9.85a4 4 0 0 0-4.4 1.72l-129 202.34a8 8 0 0 1-6.81 3.81H16V448h117.61a48 48 0 0 1 15.18 2.46l76.3 25.43a80 80 0 0 0 25.3 4.11h177.93c19 0 31.5-13.52 35.23-32.16L496 305.58V232c0-22.06-18-38-40-40z\"},\"child\":[]}]})(props);\n};\nexport function IoThumbsUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m472.06 334-144.16-6.13c-4.61-.36-23.9-1.21-23.9-25.87 0-23.81 19.16-25.33 24.14-25.88L472.06 270c12.67.13 23.94 14.43 23.94 32s-11.27 31.87-23.94 32zM330.61 202.33 437.35 194C450 194 464 210.68 464 227.88v.33c0 16.32-11.14 29.62-24.88 29.79l-108.45-1.73C304 253 304 236.83 304 229.88c0-22.88 21.8-27.15 26.61-27.55zM421.85 480l-89.37-8.93C308 470.14 304 453.82 304 443.59c0-18.38 13.41-24.6 26.67-24.6l91-3c14.54.23 26.32 14.5 26.32 32s-11.67 31.67-26.14 32.01zm34.36-71.5-126.4-6.21c-9.39-.63-25.81-3-25.81-26.37 0-12 4.35-25.61 25-27.53l127.19-3.88c13.16.14 23.81 13.49 23.81 31.4s-10.65 32.43-23.79 32.58z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M133.55 238.06A15.85 15.85 0 0 1 126 240a15.82 15.82 0 0 0 7.51-1.92zm40.59-69.28.13-.23-.13.23c-20.5 35.51-30.36 54.95-33.82 62 3.47-7.07 13.34-26.51 33.82-62z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"m139.34 232.84 1-2a16.27 16.27 0 0 1-6.77 7.25 16.35 16.35 0 0 0 5.77-5.25z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M316.06 52.62C306.63 39.32 291 32 272 32a16 16 0 0 0-14.31 8.84c-3 6.07-15.25 24-28.19 42.91-18 26.33-40.35 59.07-55.23 84.8l-.13.23c-20.48 35.49-30.35 54.93-33.82 62l-1 2a16.35 16.35 0 0 1-5.79 5.22 15.82 15.82 0 0 1-7.53 2h-25.31A84.69 84.69 0 0 0 16 324.69v38.61a84.69 84.69 0 0 0 84.69 84.7h48.79a17.55 17.55 0 0 1 9.58 2.89C182 465.87 225.34 480 272 480c7.45 0 14.19-.14 20.27-.38a8 8 0 0 0 6.2-12.68l-.1-.14C289.8 454.41 288 441 288 432a61.2 61.2 0 0 1 5.19-24.77 17.36 17.36 0 0 0 0-14.05 63.81 63.81 0 0 1 0-50.39 17.32 17.32 0 0 0 0-14 62.15 62.15 0 0 1 0-49.59 18.13 18.13 0 0 0 0-14.68A60.33 60.33 0 0 1 288 239c0-8.2 2-21.3 8-31.19a15.63 15.63 0 0 0 1.14-13.64c-.38-1-.76-2.07-1.13-3.17a24.84 24.84 0 0 1-.86-11.58c3-19.34 9.67-36.29 16.74-54.16 3.08-7.78 6.27-15.82 9.22-24.26 6.14-17.57 4.3-35.2-5.05-48.38z\"},\"child\":[]}]})(props);\n};\nexport function IoThunderstormOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m120 352-24 48m40 32-16 32m280-112-24 48m40 32-16 32M208 304l-16 96h48v80l80-112h-48l16-64m116.33-151.11H392.2C384.71 84.85 326.14 32 256 32a136.39 136.39 0 0 0-128.63 90.67h-4.57c-49.94 0-90.8 40.8-90.8 90.66h0C32 263.2 72.86 304 122.8 304h281.53C446 304 480 270 480 228.44h0c0-41.55-34-75.55-75.67-75.55z\"},\"child\":[]}]})(props);\n};\nexport function IoThunderstormSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M405.84 136.9a151.25 151.25 0 0 0-47.6-81.9 153 153 0 0 0-241.81 51.86C60.5 110.16 16 156.65 16 213.33 16 272.15 63.91 320 122.8 320h72.31L176 416h48v80l112-144h-43.51l8-32h103.84a91.56 91.56 0 0 0 1.51-183.1z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"m74.53 407.177 38.32-76.622 28.62 14.313-38.32 76.623zm23.99 64.012 30.318-60.622 28.62 14.313-30.317 60.622zm256.021-64 38.32-76.623 28.62 14.314-38.32 76.622zm24.001 64.011 30.317-60.622 28.62 14.314-30.317 60.621z\"},\"child\":[]}]})(props);\n};\nexport function IoThunderstorm (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M96 416a16 16 0 0 1-14.3-23.16l24-48a16 16 0 0 1 28.62 14.32l-24 48A16 16 0 0 1 96 416zm24 64a16 16 0 0 1-14.3-23.16l16-32a16 16 0 0 1 28.62 14.32l-16 32A16 16 0 0 1 120 480zm256-64a16 16 0 0 1-14.3-23.16l24-48a16 16 0 0 1 28.62 14.32l-24 48A16 16 0 0 1 376 416zm24 64a16 16 0 0 1-14.3-23.16l16-32a16 16 0 0 1 28.62 14.32l-16 32A16 16 0 0 1 400 480z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M405.84 136.9a151.25 151.25 0 0 0-47.6-81.9 153 153 0 0 0-241.81 51.86C60.5 110.16 16 156.65 16 213.33 16 272.15 63.91 320 122.8 320h66.31l-12.89 77.37A16 16 0 0 0 192 416h32v64a16 16 0 0 0 29 9.3l80-112a16 16 0 0 0-13-25.3h-27.51l8-32h103.84a91.56 91.56 0 0 0 1.51-183.1z\"},\"child\":[]}]})(props);\n};\nexport function IoTicketOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M366.05 146a46.7 46.7 0 0 1-2.42-63.42 3.87 3.87 0 0 0-.22-5.26l-44.13-44.18a3.89 3.89 0 0 0-5.5 0l-70.34 70.34a23.62 23.62 0 0 0-5.71 9.24 23.66 23.66 0 0 1-14.95 15 23.7 23.7 0 0 0-9.25 5.71L33.14 313.78a3.89 3.89 0 0 0 0 5.5l44.13 44.13a3.87 3.87 0 0 0 5.26.22 46.69 46.69 0 0 1 65.84 65.84 3.87 3.87 0 0 0 .22 5.26l44.13 44.13a3.89 3.89 0 0 0 5.5 0l180.4-180.39a23.7 23.7 0 0 0 5.71-9.25 23.66 23.66 0 0 1 14.95-15 23.62 23.62 0 0 0 9.24-5.71l70.34-70.34a3.89 3.89 0 0 0 0-5.5l-44.13-44.13a3.87 3.87 0 0 0-5.26-.22 46.7 46.7 0 0 1-63.42-2.32z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"m250.5 140.44-16.51-16.51m60.53 60.53-11.01-11m55.03 55.03-11-11.01m60.53 60.53-16.51-16.51\"},\"child\":[]}]})(props);\n};\nexport function IoTicketSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m426.24 127.72-10.94 10.94a29.67 29.67 0 0 1-42-42l10.94-10.94L314.52 16l-88 88-4 12.09-12.09 4L16 314.52l69.76 69.76 10.94-10.94a29.67 29.67 0 0 1 42 42l-10.94 10.94L197.48 496l194.4-194.4 4-12.09 12.09-4 88-88zm-208.56 5.43 21.87-21.87 33 33-21.88 21.87zm43 43 21.88-21.88 32.52 32.52-21.88 21.88zm42.56 42.56 21.88-21.88 32.52 32.52-21.84 21.93zm75.57 75.56-33-33 21.87-21.88 33 33z\"},\"child\":[]}]})(props);\n};\nexport function IoTicket (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m490.18 181.4-44.13-44.13a20 20 0 0 0-27-1 30.81 30.81 0 0 1-41.68-1.6 30.81 30.81 0 0 1-1.6-41.67 20 20 0 0 0-1-27L330.6 21.82a19.91 19.91 0 0 0-28.13 0l-70.35 70.34a39.87 39.87 0 0 0-9.57 15.5 7.71 7.71 0 0 1-4.83 4.83 39.78 39.78 0 0 0-15.5 9.58l-180.4 180.4a19.91 19.91 0 0 0 0 28.13L66 374.73a20 20 0 0 0 27 1 30.69 30.69 0 0 1 43.28 43.28 20 20 0 0 0 1 27l44.13 44.13a19.91 19.91 0 0 0 28.13 0l180.4-180.4a39.82 39.82 0 0 0 9.58-15.49 7.69 7.69 0 0 1 4.84-4.84 39.84 39.84 0 0 0 15.49-9.57l70.34-70.35a19.91 19.91 0 0 0-.01-28.09zm-228.37-29.65a16 16 0 0 1-22.63 0l-11.51-11.51a16 16 0 0 1 22.63-22.62l11.51 11.5a16 16 0 0 1 0 22.63zm44 44a16 16 0 0 1-22.62 0l-11-11a16 16 0 1 1 22.63-22.63l11 11a16 16 0 0 1 .01 22.66zm44 44a16 16 0 0 1-22.63 0l-11-11a16 16 0 0 1 22.63-22.62l11 11a16 16 0 0 1 .05 22.67zm44.43 44.54a16 16 0 0 1-22.63 0l-11.44-11.5a16 16 0 1 1 22.68-22.57l11.45 11.49a16 16 0 0 1-.01 22.63z\"},\"child\":[]}]})(props);\n};\nexport function IoTimeOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M256 64C150 64 64 150 64 256s86 192 192 192 192-86 192-192S362 64 256 64z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M256 128v144h96\"},\"child\":[]}]})(props);\n};\nexport function IoTimeSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.13 48 48 141.13 48 256c0 114.69 93.32 208 208 208 114.86 0 208-93.14 208-208 0-114.69-93.31-208-208-208zm108 240H244a4 4 0 0 1-4-4V116a4 4 0 0 1 4-4h24a4 4 0 0 1 4 4v140h92a4 4 0 0 1 4 4v24a4 4 0 0 1-4 4z\"},\"child\":[]}]})(props);\n};\nexport function IoTime (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.13 48 48 141.13 48 256s93.13 208 208 208 208-93.13 208-208S370.87 48 256 48zm96 240h-96a16 16 0 0 1-16-16V128a16 16 0 0 1 32 0v128h80a16 16 0 0 1 0 32z\"},\"child\":[]}]})(props);\n};\nexport function IoTimerOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M112.91 128A191.85 191.85 0 0 0 64 254c-1.18 106.35 85.65 193.8 192 194 106.2.2 192-85.83 192-192 0-104.54-83.55-189.61-187.5-192a4.36 4.36 0 0 0-4.5 4.37V152\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"m233.38 278.63-79-113a8.13 8.13 0 0 1 11.32-11.32l113 79a32.5 32.5 0 0 1-37.25 53.26 33.21 33.21 0 0 1-8.07-7.94z\"},\"child\":[]}]})(props);\n};\nexport function IoTimerSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.12 48 48 141.12 48 256s93.12 208 208 208 208-93.12 208-208S370.88 48 256 48zm0 384c-97 0-176-78.95-176-176a174.55 174.55 0 0 1 53.87-126.72L279 233l-19 30-125-91c-13 23-26.7 46-26.7 84 0 81.44 66.26 147.7 147.7 147.7S403.7 337.44 403.7 256c0-76.67-58.72-139.88-133.55-147v55h-28.3V79.89c4.24.07 8.94.11 14.15.11 97.05 0 176 79 176 176s-78.95 176-176 176z\"},\"child\":[]}]})(props);\n};\nexport function IoTimer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48C141.12 48 48 141.12 48 256s93.12 208 208 208 208-93.12 208-208S370.88 48 256 48zm-82.33 114.34 105 71a32.5 32.5 0 0 1-37.25 53.26 33.21 33.21 0 0 1-8-8l-71-105a8.13 8.13 0 0 1 11.32-11.32zM256 432c-97 0-176-78.95-176-176a174.55 174.55 0 0 1 53.87-126.72 14.15 14.15 0 1 1 19.64 20.37A146.53 146.53 0 0 0 108.3 256c0 81.44 66.26 147.7 147.7 147.7S403.7 337.44 403.7 256c0-76.67-58.72-139.88-133.55-147v55a14.15 14.15 0 1 1-28.3 0V94.15A14.15 14.15 0 0 1 256 80c97.05 0 176 79 176 176s-78.95 176-176 176z\"},\"child\":[]}]})(props);\n};\nexport function IoTodayOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"416\",\"height\":\"384\",\"x\":\"48\",\"y\":\"80\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"48\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M128 48v32m256-32v32\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"96\",\"height\":\"96\",\"x\":\"112\",\"y\":\"224\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"13\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M464 160H48\"},\"child\":[]}]})(props);\n};\nexport function IoTodaySharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M32 456a24 24 0 0 0 24 24h400a24 24 0 0 0 24-24V176H32zm80-238.86a9.14 9.14 0 0 1 9.14-9.14h109.72a9.14 9.14 0 0 1 9.14 9.14v109.72a9.14 9.14 0 0 1-9.14 9.14H121.14a9.14 9.14 0 0 1-9.14-9.14zM456 64h-55.92V32h-48v32H159.92V32h-48v32H56a23.8 23.8 0 0 0-24 23.77V144h448V87.77A23.8 23.8 0 0 0 456 64z\"},\"child\":[]}]})(props);\n};\nexport function IoToday (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416 64h-16V48.45c0-8.61-6.62-16-15.23-16.43A16 16 0 0 0 368 48v16H144V48.45c0-8.61-6.62-16-15.23-16.43A16 16 0 0 0 112 48v16H96a64 64 0 0 0-64 64v12a4 4 0 0 0 4 4h440a4 4 0 0 0 4-4v-12a64 64 0 0 0-64-64zm61 112H35a3 3 0 0 0-3 3v237a64 64 0 0 0 64 64h320a64 64 0 0 0 64-64V179a3 3 0 0 0-3-3zM224 307.43A28.57 28.57 0 0 1 195.43 336h-70.86A28.57 28.57 0 0 1 96 307.43v-70.86A28.57 28.57 0 0 1 124.57 208h70.86A28.57 28.57 0 0 1 224 236.57z\"},\"child\":[]}]})(props);\n};\nexport function IoToggleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"368\",\"cy\":\"256\",\"r\":\"128\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"480\",\"height\":\"256\",\"x\":\"16\",\"y\":\"128\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"128\",\"ry\":\"128\"},\"child\":[]}]})(props);\n};\nexport function IoToggleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M368 112H144a144 144 0 0 0 0 288h224a144 144 0 0 0 0-288zm0 230a86 86 0 1 1 86-86 85.88 85.88 0 0 1-86 86z\"},\"child\":[]}]})(props);\n};\nexport function IoToggle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M368 112H144C64.6 112 0 176.6 0 256s64.6 144 144 144h224c79.4 0 144-64.6 144-144s-64.6-144-144-144zm0 256a112 112 0 1 1 112-112 112.12 112.12 0 0 1-112 112z\"},\"child\":[]}]})(props);\n};\nexport function IoTrailSignOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M256 400v64m0-256v64m0-224v32m160 128H102.63a16 16 0 0 1-11.32-4.69L32 144l59.31-59.31A16 16 0 0 1 102.63 80H416a16 16 0 0 1 16 16v96a16 16 0 0 1-16 16zM96 400h313.37a16 16 0 0 0 11.32-4.69L480 336l-59.31-59.31a16 16 0 0 0-11.32-4.69H96a16 16 0 0 0-16 16v96a16 16 0 0 0 16 16z\"},\"child\":[]}]})(props);\n};\nexport function IoTrailSignSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m502.63 336-80-80H278v-32h170V64H278V32h-44v32H89.37l-80 80 80 80H234v32H64v160h170v64h44v-64h144.63z\"},\"child\":[]}]})(props);\n};\nexport function IoTrailSign (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M491.31 324.69 432 265.37a31.8 31.8 0 0 0-22.63-9.37H272v-32h144a32 32 0 0 0 32-32V96a32 32 0 0 0-32-32H272V48a16 16 0 0 0-32 0v16H102.63A31.8 31.8 0 0 0 80 73.37l-59.31 59.32a16 16 0 0 0 0 22.62L80 214.63a31.8 31.8 0 0 0 22.63 9.37H240v32H96a32 32 0 0 0-32 32v96a32 32 0 0 0 32 32h144v48a16 16 0 0 0 32 0v-48h137.37a31.8 31.8 0 0 0 22.63-9.37l59.31-59.32a16 16 0 0 0 0-22.62z\"},\"child\":[]}]})(props);\n};\nexport function IoTrainOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M344 48h-24a16 16 0 0 0-16-16h-96a16 16 0 0 0-16 16h-24a56.16 56.16 0 0 0-56 56v247c0 35.3 144 65 144 65s144-29.7 144-65V104a56 56 0 0 0-56-56zm-88 304a48 48 0 1 1 48-48 48 48 0 0 1-48 48zm96-160a16 16 0 0 1-16 16H176a16 16 0 0 1-16-16v-64a16 16 0 0 1 16-16h160a16 16 0 0 1 16 16zM144 464h224m-32-32 48 48m-208-48-48 48\"},\"child\":[]}]})(props);\n};\nexport function IoTrainSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 32h-64a16 16 0 0 0-16-16h-96a16 16 0 0 0-16 16h-64c-16 0-32 16-32 32v288c0 23.92 160 80 160 80s160-56.74 160-80V64c0-16-16-32-32-32zM256 352a48 48 0 1 1 48-48 48 48 0 0 1-48 48zm112-152a8 8 0 0 1-8 8H152a8 8 0 0 1-8-8v-80a8 8 0 0 1 8-8h208a8 8 0 0 1 8 8z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"m314 432 15.32 16H182.58L198 432l-32-13-76.62 77h45.2l16-16h210.74l16 16h45.3l-76.36-77.75L314 432z\"},\"child\":[]}]})(props);\n};\nexport function IoTrain (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"ellipse\",\"attr\":{\"cx\":\"256\",\"cy\":\"304\",\"rx\":\"32.05\",\"ry\":\"31.94\",\"transform\":\"rotate(-45 256.001 304)\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M352 32h-15a10 10 0 0 1-7.87-3.78A31.94 31.94 0 0 0 304 16h-96a32 32 0 0 0-26.11 13.52A6 6 0 0 1 177 32h-17c-36.81 0-64 28.84-64 64v255c0 23.27 25.6 42.06 83 60.94a753 753 0 0 0 73.77 19.73 16 16 0 0 0 6.46 0A753 753 0 0 0 333 411.94c57.4-18.88 83-37.67 83-60.94V96a64 64 0 0 0-64-64zm-168 96h144a8 8 0 0 1 8 8v48a8 8 0 0 1-8 8H184a8 8 0 0 1-8-8v-48a8 8 0 0 1 8-8zm76.18 239.87a64 64 0 1 1 59.69-59.69 64.07 64.07 0 0 1-59.69 59.69z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M395.31 468.69 347.63 421c-6.09-6.1-16-6.66-22.38-.86a16 16 0 0 0-.56 23.16l4.68 4.69H182.63l4.36-4.37c6.1-6.09 6.66-16 .86-22.38a16 16 0 0 0-23.16-.56l-48 48a16 16 0 1 0 22.62 22.62l11.32-11.3h210.74l11.32 11.31a16 16 0 0 0 22.62-22.62z\"},\"child\":[]}]})(props);\n};\nexport function IoTransgenderOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"256\",\"r\":\"128\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m448 352-96 96M176 80l-95.98 95.98M464 128V48h-80M48 128V48h80m336 0L346.5 165.5M48 48l117.49 117.49M464 464 346.65 346.37\"},\"child\":[]}]})(props);\n};\nexport function IoTransgenderSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m480 448.94-48.94-49.08L464 366.92l-31.1-31.11-32.9 32.9-23.55-23.61a149.64 149.64 0 0 0-.1-178.45l59.55-59.56V144h44V32h-112v44h36.87l-59.55 59.55a149.65 149.65 0 0 0-178.59 0l-7.55-7.55 33-33L161 63.88l-33 33L107.09 76H144V32H32v112h44v-36.91L96.87 128l-33 33L95 192.05l33-33 7.56 7.57A149.18 149.18 0 0 0 106 255.94c0 82.69 67.27 150 150 150a149.12 149.12 0 0 0 89.44-29.67l23.51 23.58-33.14 33.05 31.11 31.1 33-33 48.9 49zm-330-193a106 106 0 1 1 106 106 106.09 106.09 0 0 1-106-106z\"},\"child\":[]}]})(props);\n};\nexport function IoTransgender (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M458 32h-68a22 22 0 0 0 0 44h14.89l-59.57 59.57a149.69 149.69 0 0 0-178.64 0l-7.57-7.57 26.45-26.44a22 22 0 0 0-31.12-31.12L128 96.89 107.11 76H122a22 22 0 0 0 0-44H54a22 22 0 0 0-22 22v68a22 22 0 0 0 44 0v-14.89L96.89 128l-26.42 26.42a22 22 0 1 0 31.11 31.11L128 159.11l7.57 7.57A149.19 149.19 0 0 0 106 256c0 82.71 67.29 150 150 150a149.2 149.2 0 0 0 89.46-29.67L369 399.9l-26.54 26.54a22 22 0 0 0 31.12 31.12l26.49-26.5 42.37 42.48a22 22 0 0 0 31.16-31.08L431.17 400l26.39-26.39a22 22 0 0 0-31.12-31.12l-26.35 26.35-23.55-23.62a149.68 149.68 0 0 0-.11-178.49L436 107.11V122a22 22 0 0 0 44 0V54a22 22 0 0 0-22-22zM150 256a106 106 0 1 1 106 106 106.12 106.12 0 0 1-106-106z\"},\"child\":[]}]})(props);\n};\nexport function IoTrashBinOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m432 144-28.67 275.74A32 32 0 0 1 371.55 448H140.46a32 32 0 0 1-31.78-28.26L80 144\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"448\",\"height\":\"80\",\"x\":\"32\",\"y\":\"64\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"16\",\"ry\":\"16\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M312 240 200 352m112 0L200 240\"},\"child\":[]}]})(props);\n};\nexport function IoTrashBinSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M337.46 240 312 214.54l-56 56-56-56L174.54 240l56 56-56 56L200 377.46l56-56 56 56L337.46 352l-56-56 56-56z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M337.46 240 312 214.54l-56 56-56-56L174.54 240l56 56-56 56L200 377.46l56-56 56 56L337.46 352l-56-56 56-56z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"m64 160 29.74 282.51A24 24 0 0 0 117.61 464h276.78a24 24 0 0 0 23.87-21.49L448 160zm248 217.46-56-56-56 56L174.54 352l56-56-56-56L200 214.54l56 56 56-56L337.46 240l-56 56 56 56z\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"448\",\"height\":\"80\",\"x\":\"32\",\"y\":\"48\",\"rx\":\"12\",\"ry\":\"12\"},\"child\":[]}]})(props);\n};\nexport function IoTrashBin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"448\",\"height\":\"80\",\"x\":\"32\",\"y\":\"48\",\"rx\":\"32\",\"ry\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M74.45 160a8 8 0 0 0-8 8.83l26.31 252.56a1.5 1.5 0 0 0 0 .22A48 48 0 0 0 140.45 464h231.09a48 48 0 0 0 47.67-42.39v-.21l26.27-252.57a8 8 0 0 0-8-8.83zm248.86 180.69a16 16 0 1 1-22.63 22.62L256 318.63l-44.69 44.68a16 16 0 0 1-22.63-22.62L233.37 296l-44.69-44.69a16 16 0 0 1 22.63-22.62L256 273.37l44.68-44.68a16 16 0 0 1 22.63 22.62L278.62 296z\"},\"child\":[]}]})(props);\n};\nexport function IoTrashOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m112 112 20 320c.95 18.49 14.4 32 32 32h184c17.67 0 30.87-13.51 32-32l20-320\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M80 112h352\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M192 112V72h0a23.93 23.93 0 0 1 24-24h80a23.93 23.93 0 0 1 24 24h0v40m-64 64v224m-72-224 8 224m136-224-8 224\"},\"child\":[]}]})(props);\n};\nexport function IoTrashSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M296 64h-80a7.91 7.91 0 0 0-8 8v24h96V72a7.91 7.91 0 0 0-8-8z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M292 64h-72a4 4 0 0 0-4 4v28h80V68a4 4 0 0 0-4-4z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M447.55 96H336V48a16 16 0 0 0-16-16H192a16 16 0 0 0-16 16v48H64.45L64 136h33l20.09 314A32 32 0 0 0 149 480h214a32 32 0 0 0 31.93-29.95L415 136h33zM176 416l-9-256h33l9 256zm96 0h-32V160h32zm24-320h-80V68a4 4 0 0 1 4-4h72a4 4 0 0 1 4 4zm40 320h-33l9-256h33z\"},\"child\":[]}]})(props);\n};\nexport function IoTrash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"d\":\"M296 64h-80a7.91 7.91 0 0 0-8 8v24h96V72a7.91 7.91 0 0 0-8-8z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M432 96h-96V72a40 40 0 0 0-40-40h-80a40 40 0 0 0-40 40v24H80a16 16 0 0 0 0 32h17l19 304.92c1.42 26.85 22 47.08 48 47.08h184c26.13 0 46.3-19.78 48-47l19-305h17a16 16 0 0 0 0-32zM192.57 416H192a16 16 0 0 1-16-15.43l-8-224a16 16 0 1 1 32-1.14l8 224A16 16 0 0 1 192.57 416zM272 400a16 16 0 0 1-32 0V176a16 16 0 0 1 32 0zm32-304h-96V72a7.91 7.91 0 0 1 8-8h80a7.91 7.91 0 0 1 8 8zm32 304.57A16 16 0 0 1 320 416h-.58A16 16 0 0 1 304 399.43l8-224a16 16 0 1 1 32 1.14z\"},\"child\":[]}]})(props);\n};\nexport function IoTrendingDownOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M352 368h112V256\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m48 144 121.37 121.37a32 32 0 0 0 45.26 0l50.74-50.74a32 32 0 0 1 45.26 0L448 352\"},\"child\":[]}]})(props);\n};\nexport function IoTrendingDownSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M352 368h112V256\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"m48 144 144 144 96-96 160 160\"},\"child\":[]}]})(props);\n};\nexport function IoTrendingDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M352 368h112V256\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m48 144 121.37 121.37a32 32 0 0 0 45.26 0l50.74-50.74a32 32 0 0 1 45.26 0L448 352\"},\"child\":[]}]})(props);\n};\nexport function IoTrendingUpOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M352 144h112v112\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m48 368 121.37-121.37a32 32 0 0 1 45.26 0l50.74 50.74a32 32 0 0 0 45.26 0L448 160\"},\"child\":[]}]})(props);\n};\nexport function IoTrendingUpSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M352 144h112v112\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"m48 368 144-144 96 96 160-160\"},\"child\":[]}]})(props);\n};\nexport function IoTrendingUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M352 144h112v112\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m48 368 121.37-121.37a32 32 0 0 1 45.26 0l50.74 50.74a32 32 0 0 0 45.26 0L448 160\"},\"child\":[]}]})(props);\n};\nexport function IoTriangleOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M48 448 256 64l208 384H48z\"},\"child\":[]}]})(props);\n};\nexport function IoTriangleSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 32 20 464h472L256 32z\"},\"child\":[]}]})(props);\n};\nexport function IoTriangle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 464H48a16 16 0 0 1-14.07-23.62l208-384a16 16 0 0 1 28.14 0l208 384A16 16 0 0 1 464 464z\"},\"child\":[]}]})(props);\n};\nexport function IoTrophyOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M176 464h160m-80 0V336m128-112c0-50.64-.08-134.63-.12-160a16 16 0 0 0-16-16l-223.79.26a16 16 0 0 0-16 15.95c0 30.58-.13 129.17-.13 159.79 0 64.28 83 112 128 112S384 288.28 384 224z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M128 96H48v16c0 55.22 33.55 112 80 112M384 96h80v16c0 55.22-33.55 112-80 112\"},\"child\":[]}]})(props);\n};\nexport function IoTrophySharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M399.9 80V32H112v48H32v38c0 32 9.5 62.79 26.76 86.61 13.33 18.4 34.17 31.1 52.91 37.21 5.44 29.29 20.2 57.13 50.19 79.83 22 16.66 48.45 28.87 72.14 33.86V436h-74v44h192v-44h-74v-80.49c23.69-5 50.13-17.2 72.14-33.86 30-22.7 44.75-50.54 50.19-79.83 18.74-6.11 39.58-18.81 52.91-37.21C470.5 180.79 480 150 480 118V80zM94.4 178.8c-10.68-14.68-17.17-34.4-18.24-54.8H112v67.37c-3.94-1.14-12.92-6.12-17.6-12.57zm323.2 0c-4.6 6.61-11.6 12.58-17.6 12.58 0-22.4 0-46.29-.05-67.38h35.9c-1.08 20.4-7.85 39.9-18.25 54.8z\"},\"child\":[]}]})(props);\n};\nexport function IoTrophy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 80h-60.1a4 4 0 0 1-4-4V63.92a32 32 0 0 0-32-31.92l-223.79.26a32 32 0 0 0-31.94 31.93V76a4 4 0 0 1-4 4H48a16 16 0 0 0-16 16v16c0 54.53 30 112.45 76.52 125.35a7.82 7.82 0 0 1 5.55 5.9c5.77 26.89 23.52 52.5 51.41 73.61 20.91 15.83 45.85 27.5 68.27 32.48a8 8 0 0 1 6.25 7.8V444a4 4 0 0 1-4 4h-59.55c-8.61 0-16 6.62-16.43 15.23A16 16 0 0 0 176 480h159.55c8.61 0 16-6.62 16.43-15.23A16 16 0 0 0 336 448h-60a4 4 0 0 1-4-4v-86.86a8 8 0 0 1 6.25-7.8c22.42-5 47.36-16.65 68.27-32.48 27.89-21.11 45.64-46.72 51.41-73.61a7.82 7.82 0 0 1 5.55-5.9C450 224.45 480 166.53 480 112V96a16 16 0 0 0-16-16zM112 198.22a4 4 0 0 1-6 3.45c-10.26-6.11-17.75-15.37-22.14-21.89-11.91-17.69-19-40.67-19.79-63.63a4 4 0 0 1 4-4.15h40a4 4 0 0 1 4 4c-.02 27.45-.07 58.87-.07 82.22zm316.13-18.44c-4.39 6.52-11.87 15.78-22.13 21.89a4 4 0 0 1-6-3.46c0-26.51 0-56.63-.05-82.21a4 4 0 0 1 4-4h40a4 4 0 0 1 4 4.15c-.79 22.96-7.9 45.94-19.81 63.63z\"},\"child\":[]}]})(props);\n};\nexport function IoTvOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"448\",\"height\":\"272\",\"x\":\"32\",\"y\":\"96\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"32.14\",\"ry\":\"32.14\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M128 416h256\"},\"child\":[]}]})(props);\n};\nexport function IoTvSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M488 384H24a8 8 0 0 1-8-8V88a8 8 0 0 1 8-8h464a8 8 0 0 1 8 8v288a8 8 0 0 1-8 8z\"},\"child\":[]},{\"tag\":\"rect\",\"attr\":{\"width\":\"288\",\"height\":\"32\",\"x\":\"112\",\"y\":\"400\",\"rx\":\"4\",\"ry\":\"4\"},\"child\":[]}]})(props);\n};\nexport function IoTv (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M447.86 384H64.14A48.2 48.2 0 0 1 16 335.86V128.14A48.2 48.2 0 0 1 64.14 80h383.72A48.2 48.2 0 0 1 496 128.14v207.72A48.2 48.2 0 0 1 447.86 384z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M128 416h256\"},\"child\":[]}]})(props);\n};\nexport function IoUmbrellaOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M256 272v160a32 32 0 0 1-32 32h0a32 32 0 0 1-32-32m272-160c0-114.88-93.12-208-208-208S48 157.12 48 272h0a67.88 67.88 0 0 1 96 0h0a78.28 78.28 0 0 1 102.31-7.27L256 272l9.69-7.27A78.28 78.28 0 0 1 368 272h0a67.88 67.88 0 0 1 96 0zM256 64V48\"},\"child\":[]}]})(props);\n};\nexport function IoUmbrellaSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m128.93 280-.26-.3c-.9-.74-1.83-1.43-2.77-2.1zm254.15 0 2.62-2.12c-.79.58-1.57 1.17-2.34 1.79z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M463.14 186.44A224.55 224.55 0 0 0 272 48.57V32h-32v16.57A223.58 223.58 0 0 0 32 272v22.52l12.25-11.21a62.63 62.63 0 0 1 81.43-5.88l.22.17c.94.67 1.87 1.36 2.77 2.1q2.09 1.69 4 3.61L144 294.63l11.31-11.32a62.59 62.59 0 0 1 81.4-5.78L240 280v152a16 16 0 0 1-32 0v-16h-32v16a48 48 0 0 0 96 0V280l3.29-2.47a62.59 62.59 0 0 1 81.4 5.78L368 294.63l11.31-11.32q1.95-1.94 4.05-3.64c.77-.62 1.55-1.21 2.34-1.79l.26-.21c24.63-18.47 60-16.13 81.81 5.64l12.23 11.2V272a223.62 223.62 0 0 0-16.86-85.56z\"},\"child\":[]}]})(props);\n};\nexport function IoUmbrella (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M414.39 113.61a222.26 222.26 0 0 0-136.33-64.54 8.09 8.09 0 0 1-6.88-5.62 15.79 15.79 0 0 0-30.36 0 8.09 8.09 0 0 1-6.88 5.62A224 224 0 0 0 32 271.52a16.41 16.41 0 0 0 7.24 13.87 16 16 0 0 0 20.07-2.08 51.89 51.89 0 0 1 73.31-.06 15.94 15.94 0 0 0 22.6.15 62.59 62.59 0 0 1 81.49-5.87 8.24 8.24 0 0 1 3.29 6.59v147.42c0 8.6-6.6 16-15.19 16.44A16 16 0 0 1 208 432a16 16 0 0 0-16.29-16c-9 .16-15.9 8.11-15.7 17.1a48.06 48.06 0 0 0 47.37 46.9c26.88.34 48.62-21.93 48.62-48.81V284.12a8.24 8.24 0 0 1 3.29-6.59 62.59 62.59 0 0 1 81.4 5.78 16 16 0 0 0 22.62 0 51.91 51.91 0 0 1 73.38 0 16 16 0 0 0 19.54 2.41 16.4 16.4 0 0 0 7.77-14.21 222.54 222.54 0 0 0-65.61-157.9z\"},\"child\":[]}]})(props);\n};\nexport function IoUnlinkOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"36\",\"d\":\"M208 352h-64a96 96 0 0 1 0-192h64m96 0h64a96 96 0 0 1 0 192h-64\"},\"child\":[]}]})(props);\n};\nexport function IoUnlinkSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"48\",\"d\":\"M200.66 352H144a96 96 0 0 1 0-192h55.41m113.18 0H368a96 96 0 0 1 0 192h-56.66\"},\"child\":[]}]})(props);\n};\nexport function IoUnlink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"48\",\"d\":\"M200.66 352H144a96 96 0 0 1 0-192h55.41m113.18 0H368a96 96 0 0 1 0 192h-56.66\"},\"child\":[]}]})(props);\n};\nexport function IoVideocamOffOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M374.79 308.78 457.5 367a16 16 0 0 0 22.5-14.62V159.62A16 16 0 0 0 457.5 145l-82.71 58.22A16 16 0 0 0 368 216.3v79.4a16 16 0 0 0 6.79 13.08z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M50.19 140.57A51.94 51.94 0 0 0 32 180v152a52.15 52.15 0 0 0 52 52h184a51.6 51.6 0 0 0 22-4.9M208 128h60.48A51.68 51.68 0 0 1 320 179.52V248m96 168L80 80\"},\"child\":[]}]})(props);\n};\nexport function IoVideocamOffSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m57.376 79.998 22.627-22.627 358.63 358.63-22.627 22.628zM32 112a16 16 0 0 0-16 16v256a16 16 0 0 0 16 16h288a15.89 15.89 0 0 0 9.34-3l-285-285zm304 96v-80a16 16 0 0 0-16-16H179.63l245.44 245.44L496 400V112z\"},\"child\":[]}]})(props);\n};\nexport function IoVideocamOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M336 179.52A67.52 67.52 0 0 0 268.48 112h-79.2a4 4 0 0 0-2.82 6.83l142.71 142.71a4 4 0 0 0 6.83-2.82zM16 180v152a68 68 0 0 0 68 68h184a67.66 67.66 0 0 0 42.84-15.24 4 4 0 0 0 .33-6L54.41 122a4 4 0 0 0-4.87-.62A68 68 0 0 0 16 180zm448 204.39a32 32 0 0 1-13-2.77 15.77 15.77 0 0 1-2.71-1.54l-82.71-58.22A32 32 0 0 1 352 295.7v-79.4a32 32 0 0 1 13.58-26.16l82.71-58.22a15.77 15.77 0 0 1 2.71-1.54 32 32 0 0 1 45 29.24v192.76a32 32 0 0 1-32 32z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M416 416 80 80\"},\"child\":[]}]})(props);\n};\nexport function IoVideocamOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M374.79 308.78 457.5 367a16 16 0 0 0 22.5-14.62V159.62A16 16 0 0 0 457.5 145l-82.71 58.22A16 16 0 0 0 368 216.3v79.4a16 16 0 0 0 6.79 13.08z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M268 384H84a52.15 52.15 0 0 1-52-52V180a52.15 52.15 0 0 1 52-52h184.48A51.68 51.68 0 0 1 320 179.52V332a52.15 52.15 0 0 1-52 52z\"},\"child\":[]}]})(props);\n};\nexport function IoVideocamSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M336 208v-80a16 16 0 0 0-16-16H32a16 16 0 0 0-16 16v256a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16v-80l160 96V112z\"},\"child\":[]}]})(props);\n};\nexport function IoVideocam (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 384.39a32 32 0 0 1-13-2.77 15.77 15.77 0 0 1-2.71-1.54l-82.71-58.22A32 32 0 0 1 352 295.7v-79.4a32 32 0 0 1 13.58-26.16l82.71-58.22a15.77 15.77 0 0 1 2.71-1.54 32 32 0 0 1 45 29.24v192.76a32 32 0 0 1-32 32zM268 400H84a68.07 68.07 0 0 1-68-68V180a68.07 68.07 0 0 1 68-68h184.48A67.6 67.6 0 0 1 336 179.52V332a68.07 68.07 0 0 1-68 68z\"},\"child\":[]}]})(props);\n};\nexport function IoVolumeHighOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M126 192H56a8 8 0 0 0-8 8v112a8 8 0 0 0 8 8h69.65a15.93 15.93 0 0 1 10.14 3.54l91.47 74.89A8 8 0 0 0 240 392V120a8 8 0 0 0-12.74-6.43l-91.47 74.89A15 15 0 0 1 126 192zm194 128c9.74-19.38 16-40.84 16-64 0-23.48-6-44.42-16-64m48 176c19.48-33.92 32-64.06 32-112s-12-77.74-32-112m48 272c30-46 48-91.43 48-160s-18-113-48-160\"},\"child\":[]}]})(props);\n};\nexport function IoVolumeHighSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M320 320c9.74-19.38 16-40.84 16-64 0-23.48-6-44.42-16-64m48 176c19.48-33.92 32-64.06 32-112s-12-77.74-32-112m48 272c30-46 48-91.43 48-160s-18-113-48-160\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M125.65 176.1H32v159.8h93.65L256 440V72L125.65 176.1z\"},\"child\":[]}]})(props);\n};\nexport function IoVolumeHigh (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M232 416a23.88 23.88 0 0 1-14.2-4.68 8.27 8.27 0 0 1-.66-.51L125.76 336H56a24 24 0 0 1-24-24V200a24 24 0 0 1 24-24h69.75l91.37-74.81a8.27 8.27 0 0 1 .66-.51A24 24 0 0 1 256 120v272a24 24 0 0 1-24 24zm-106.18-80zm-.27-159.86zM320 336a16 16 0 0 1-14.29-23.19c9.49-18.87 14.3-38 14.3-56.81 0-19.38-4.66-37.94-14.25-56.73a16 16 0 0 1 28.5-14.54C346.19 208.12 352 231.44 352 256c0 23.86-6 47.81-17.7 71.19A16 16 0 0 1 320 336z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M368 384a16 16 0 0 1-13.86-24C373.05 327.09 384 299.51 384 256c0-44.17-10.93-71.56-29.82-103.94a16 16 0 0 1 27.64-16.12C402.92 172.11 416 204.81 416 256c0 50.43-13.06 83.29-34.13 120a16 16 0 0 1-13.87 8z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M416 432a16 16 0 0 1-13.39-24.74C429.85 365.47 448 323.76 448 256c0-66.5-18.18-108.62-45.49-151.39a16 16 0 1 1 27-17.22C459.81 134.89 480 181.74 480 256c0 64.75-14.66 113.63-50.6 168.74A16 16 0 0 1 416 432z\"},\"child\":[]}]})(props);\n};\nexport function IoVolumeLowOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M189.65 192H120a8 8 0 0 0-8 8v112a8 8 0 0 0 8 8h69.65a16 16 0 0 1 10.14 3.63l91.47 75a8 8 0 0 0 12.74-6.46V119.83a8 8 0 0 0-12.74-6.44l-91.47 75a16 16 0 0 1-10.14 3.61zM384 320c9.74-19.41 16-40.81 16-64 0-23.51-6-44.4-16-64\"},\"child\":[]}]})(props);\n};\nexport function IoVolumeLowSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"m391.12 341.48-28.6-14.36 7.18-14.3c9.49-18.9 14.3-38 14.3-56.82 0-19.36-4.66-37.92-14.25-56.73L362.48 185 391 170.48l7.26 14.25C410.2 208.16 416 231.47 416 256c0 23.83-6 47.78-17.7 71.18zM189.65 176.1H96v159.8h93.65L320 440V72L189.65 176.1z\"},\"child\":[]}]})(props);\n};\nexport function IoVolumeLow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M296 416.19a23.92 23.92 0 0 1-14.21-4.69l-.66-.51-91.46-75H120a24 24 0 0 1-24-24V200a24 24 0 0 1 24-24h69.65l91.46-75 .66-.51A24 24 0 0 1 320 119.83v272.34a24 24 0 0 1-24 24zM384 336a16 16 0 0 1-14.29-23.18c9.49-18.9 14.3-38 14.3-56.82 0-19.36-4.66-37.92-14.25-56.73a16 16 0 0 1 28.5-14.54C410.2 208.16 416 231.47 416 256c0 23.83-6 47.78-17.7 71.18A16 16 0 0 1 384 336z\"},\"child\":[]}]})(props);\n};\nexport function IoVolumeMediumOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M157.65 192H88a8 8 0 0 0-8 8v112a8 8 0 0 0 8 8h69.65a16 16 0 0 1 10.14 3.63l91.47 75a8 8 0 0 0 12.74-6.46V119.83a8 8 0 0 0-12.74-6.44l-91.47 75a16 16 0 0 1-10.14 3.61zM352 320c9.74-19.41 16-40.81 16-64 0-23.51-6-44.4-16-64m48 176c19.48-34 32-64 32-112s-12-77.7-32-112\"},\"child\":[]}]})(props);\n};\nexport function IoVolumeMediumSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M157.65 176.1H64v159.8h93.65L288 440V72L157.65 176.1z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M352 320c9.74-19.41 16-40.81 16-64 0-23.51-6-44.4-16-64m48 176c19.48-34 32-64 32-112s-12-77.7-32-112\"},\"child\":[]}]})(props);\n};\nexport function IoVolumeMedium (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M264 416.19a23.92 23.92 0 0 1-14.21-4.69l-.66-.51-91.46-75H88a24 24 0 0 1-24-24V200a24 24 0 0 1 24-24h69.65l91.46-75 .66-.51A24 24 0 0 1 288 119.83v272.34a24 24 0 0 1-24 24zM352 336a16 16 0 0 1-14.29-23.18c9.49-18.9 14.3-38 14.3-56.82 0-19.36-4.66-37.92-14.25-56.73a16 16 0 0 1 28.5-14.54C378.2 208.16 384 231.47 384 256c0 23.83-6 47.78-17.7 71.18A16 16 0 0 1 352 336z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M400 384a16 16 0 0 1-13.87-24C405 327.05 416 299.45 416 256c0-44.12-10.94-71.52-29.83-103.95A16 16 0 0 1 413.83 136C434.92 172.16 448 204.88 448 256c0 50.36-13.06 83.24-34.12 120a16 16 0 0 1-13.88 8z\"},\"child\":[]}]})(props);\n};\nexport function IoVolumeMuteOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M416 432 64 80\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M224 136.92v33.8a4 4 0 0 0 1.17 2.82l24 24a4 4 0 0 0 6.83-2.82v-74.15a24.53 24.53 0 0 0-12.67-21.72 23.91 23.91 0 0 0-25.55 1.83 8.27 8.27 0 0 0-.66.51l-31.94 26.15a4 4 0 0 0-.29 5.92l17.05 17.06a4 4 0 0 0 5.37.26zm0 238.16-78.07-63.92a32 32 0 0 0-20.28-7.16H64v-96h50.72a4 4 0 0 0 2.82-6.83l-24-24a4 4 0 0 0-2.82-1.17H56a24 24 0 0 0-24 24v112a24 24 0 0 0 24 24h69.76l91.36 74.8a8.27 8.27 0 0 0 .66.51 23.93 23.93 0 0 0 25.85 1.69A24.49 24.49 0 0 0 256 391.45v-50.17a4 4 0 0 0-1.17-2.82l-24-24a4 4 0 0 0-6.83 2.82zM125.82 336zM352 256c0-24.56-5.81-47.88-17.75-71.27a16 16 0 0 0-28.5 14.54C315.34 218.06 320 236.62 320 256q0 4-.31 8.13a8 8 0 0 0 2.32 6.25l19.66 19.67a4 4 0 0 0 6.75-2A146.89 146.89 0 0 0 352 256zm64 0c0-51.19-13.08-83.89-34.18-120.06a16 16 0 0 0-27.64 16.12C373.07 184.44 384 211.83 384 256c0 23.83-3.29 42.88-9.37 60.65a8 8 0 0 0 1.9 8.26l16.77 16.76a4 4 0 0 0 6.52-1.27C410.09 315.88 416 289.91 416 256z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M480 256c0-74.26-20.19-121.11-50.51-168.61a16 16 0 1 0-27 17.22C429.82 147.38 448 189.5 448 256c0 47.45-8.9 82.12-23.59 113a4 4 0 0 0 .77 4.55L443 391.39a4 4 0 0 0 6.4-1C470.88 348.22 480 307 480 256z\"},\"child\":[]}]})(props);\n};\nexport function IoVolumeMuteSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M416 432 64 80\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M352 256c0-24.56-5.81-47.88-17.75-71.27L327 170.47 298.48 185l7.27 14.25C315.34 218.06 320 236.62 320 256a112.91 112.91 0 0 1-.63 11.74l27.32 27.32A148.8 148.8 0 0 0 352 256zm64 0c0-51.19-13.08-83.89-34.18-120.06l-8.06-13.82-27.64 16.12 8.06 13.82C373.07 184.44 384 211.83 384 256c0 25.93-3.89 46.21-11 65.33l24.5 24.51C409.19 319.68 416 292.42 416 256z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M480 256c0-74.26-20.19-121.11-50.51-168.61l-8.61-13.49-27 17.22 8.61 13.49C429.82 147.38 448 189.5 448 256c0 48.76-9.4 84-24.82 115.55l23.7 23.7C470.16 351.39 480 309 480 256zM256 72l-73.6 58.78 73.6 73.59V72zM32 176.1v159.8h93.65L256 440V339.63L92.47 176.1H32z\"},\"child\":[]}]})(props);\n};\nexport function IoVolumeMute (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M416 432 64 80\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M243.33 98.86a23.89 23.89 0 0 0-25.55 1.82l-.66.51-28.52 23.35a8 8 0 0 0-.59 11.85l54.33 54.33a8 8 0 0 0 13.66-5.66v-64.49a24.51 24.51 0 0 0-12.67-21.71zm8 236.43L96.69 180.69A16 16 0 0 0 85.38 176H56a24 24 0 0 0-24 24v112a24 24 0 0 0 24 24h69.76l92 75.31a23.9 23.9 0 0 0 25.87 1.69A24.51 24.51 0 0 0 256 391.45v-44.86a16 16 0 0 0-4.67-11.3zM352 256c0-24.56-5.81-47.87-17.75-71.27a16 16 0 1 0-28.5 14.55C315.34 218.06 320 236.62 320 256q0 4-.31 8.13a8 8 0 0 0 2.32 6.25l14.36 14.36a8 8 0 0 0 13.55-4.31A146 146 0 0 0 352 256zm64 0c0-51.18-13.08-83.89-34.18-120.06a16 16 0 0 0-27.64 16.12C373.07 184.44 384 211.83 384 256c0 23.83-3.29 42.88-9.37 60.65a8 8 0 0 0 1.9 8.26L389 337.4a8 8 0 0 0 13.13-2.79C411 311.76 416 287.26 416 256z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M480 256c0-74.25-20.19-121.11-50.51-168.61a16 16 0 1 0-27 17.22C429.82 147.38 448 189.5 448 256c0 46.19-8.43 80.27-22.43 110.53a8 8 0 0 0 1.59 9l11.92 11.92a8 8 0 0 0 12.92-2.16C471.6 344.9 480 305 480 256z\"},\"child\":[]}]})(props);\n};\nexport function IoVolumeOffOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M237.65 192H168a8 8 0 0 0-8 8v112a8 8 0 0 0 8 8h69.65a16 16 0 0 1 10.14 3.63l91.47 75a8 8 0 0 0 12.74-6.46V119.83a8 8 0 0 0-12.74-6.44l-91.47 75a16 16 0 0 1-10.14 3.61z\"},\"child\":[]}]})(props);\n};\nexport function IoVolumeOffSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M237.65 176.1H144v159.8h93.65L368 440V72L237.65 176.1z\"},\"child\":[]}]})(props);\n};\nexport function IoVolumeOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M344 416a23.92 23.92 0 0 1-14.21-4.69c-.23-.16-.44-.33-.66-.51l-91.46-74.9H168a24 24 0 0 1-24-24V200.07a24 24 0 0 1 24-24h69.65l91.46-74.9c.22-.18.43-.35.66-.51A24 24 0 0 1 368 120v272a24 24 0 0 1-24 24z\"},\"child\":[]}]})(props);\n};\nexport function IoWalkOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m314.21 482.32-56.77-114.74-44.89-57.39a72.82 72.82 0 0 1-10.13-37.05V144h15.67a40.22 40.22 0 0 1 40.23 40.22v183.36M127.9 293.05v-74.52S165.16 144 202.42 144M370.1 274.42 304 231M170.53 478.36 224 400\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"258.32\",\"cy\":\"69.48\",\"r\":\"37.26\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\"},\"child\":[]}]})(props);\n};\nexport function IoWalkSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"square\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m315.09 481.38-56.95-115.12-45-57.56a73.11 73.11 0 0 1-10.16-37.17V142h15.73A40.36 40.36 0 0 1 259 182.32v162.52\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M128.18 291.5v-74.77l64.95-65.1\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"m376.35 295.73-83.95-56.38v-44.68l104.68 72.95-20.73 28.11zM175.13 498.58l-21.43-26.91 80.33-81.54 15.53 32.07-74.43 76.38z\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"259.02\",\"cy\":\"67.21\",\"r\":\"37.38\",\"strokeLinecap\":\"square\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"16\"},\"child\":[]}]})(props);\n};\nexport function IoWalk (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m312.55 479.9-56.42-114-44.62-57a72.37 72.37 0 0 1-10.06-36.9V143.64H217a40 40 0 0 1 40 40v182.21\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M127.38 291.78v-74.07s37-74.07 74.07-74.07\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M368.09 291.78a18.49 18.49 0 0 1-10.26-3.11L297.7 250a21.18 21.18 0 0 1-9.7-17.79v-23.7a5.65 5.65 0 0 1 8.69-4.77l81.65 54.11a18.52 18.52 0 0 1-10.29 33.93zM171.91 493.47a18.5 18.5 0 0 1-14.83-7.41c-6.14-8.18-4-17.18 3.7-25.92l59.95-74.66a7.41 7.41 0 0 1 10.76 2.06c1.56 2.54 3.38 5.65 5.19 9.09 5.24 9.95 6 16.11-1.68 25.7-8 10-52 67.44-52 67.44-2.62 2.98-7.23 3.7-11.09 3.7z\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"257\",\"cy\":\"69.56\",\"r\":\"37.04\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"16\"},\"child\":[]}]})(props);\n};\nexport function IoWalletOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"416\",\"height\":\"288\",\"x\":\"48\",\"y\":\"144\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"48\",\"ry\":\"48\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M411.36 144v-30A50 50 0 0 0 352 64.9L88.64 109.85A50 50 0 0 0 48 159v49\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M368 320a32 32 0 1 1 32-32 32 32 0 0 1-32 32z\"},\"child\":[]}]})(props);\n};\nexport function IoWalletSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M47.5 104H432V51.52a16 16 0 0 0-19.14-15.69l-368 60.48a16 16 0 0 0-12 10.47A39.69 39.69 0 0 1 47.5 104zm416 24h-416a16 16 0 0 0-16 16v288a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V144a16 16 0 0 0-16-16zM368 320a32 32 0 1 1 32-32 32 32 0 0 1-32 32z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M31.33 259.5V116c0-12.33 5.72-18.48 15.42-20 35.2-5.53 108.58-8.5 108.58-8.5s-8.33 16-27.33 16V128c18.5 0 31.33 23.5 31.33 23.5L84.83 236z\"},\"child\":[]}]})(props);\n};\nexport function IoWallet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M95.5 104h320a87.73 87.73 0 0 1 11.18.71 66 66 0 0 0-77.51-55.56L86 94.08h-.3a66 66 0 0 0-41.07 26.13A87.57 87.57 0 0 1 95.5 104zm320 24h-320a64.07 64.07 0 0 0-64 64v192a64.07 64.07 0 0 0 64 64h320a64.07 64.07 0 0 0 64-64V192a64.07 64.07 0 0 0-64-64zM368 320a32 32 0 1 1 32-32 32 32 0 0 1-32 32z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M32 259.5V160c0-21.67 12-58 53.65-65.87C121 87.5 156 87.5 156 87.5s23 16 4 16-18.5 24.5 0 24.5 0 23.5 0 23.5L85.5 236z\"},\"child\":[]}]})(props);\n};\nexport function IoWarningOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M85.57 446.25h340.86a32 32 0 0 0 28.17-47.17L284.18 82.58c-12.09-22.44-44.27-22.44-56.36 0L57.4 399.08a32 32 0 0 0 28.17 47.17z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m250.26 195.39 5.74 122 5.73-121.95a5.74 5.74 0 0 0-5.79-6h0a5.74 5.74 0 0 0-5.68 5.95z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M256 397.25a20 20 0 1 1 20-20 20 20 0 0 1-20 20z\"},\"child\":[]}]})(props);\n};\nexport function IoWarningSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M479 447.77 268.43 56.64a8 8 0 0 0-14.09 0L43.73 447.77a8 8 0 0 0 7.05 11.79H472a8 8 0 0 0 7-11.79zm-197.62-36.29h-40v-40h40zm-4-63.92h-32l-6-160h44z\"},\"child\":[]}]})(props);\n};\nexport function IoWarning (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M449.07 399.08 278.64 82.58c-12.08-22.44-44.26-22.44-56.35 0L51.87 399.08A32 32 0 0 0 80 446.25h340.89a32 32 0 0 0 28.18-47.17zm-198.6-1.83a20 20 0 1 1 20-20 20 20 0 0 1-20 20zm21.72-201.15-5.74 122a16 16 0 0 1-32 0l-5.74-121.95a21.73 21.73 0 0 1 21.5-22.69h.21a21.74 21.74 0 0 1 21.73 22.7z\"},\"child\":[]}]})(props);\n};\nexport function IoWatchOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"288\",\"height\":\"288\",\"x\":\"112\",\"y\":\"112\",\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"rx\":\"64\",\"ry\":\"64\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M176 112V40a8 8 0 0 1 8-8h144a8 8 0 0 1 8 8v72m0 288v72a8 8 0 0 1-8 8H184a8 8 0 0 1-8-8v-72\"},\"child\":[]}]})(props);\n};\nexport function IoWatchSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"240\",\"height\":\"240\",\"x\":\"136\",\"y\":\"136\",\"rx\":\"8\",\"ry\":\"8\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M384 96h-48V16H176v80h-48a32 32 0 0 0-32 32v256a32 32 0 0 0 32 32h48v80h160v-80h48a32 32 0 0 0 32-32V128a32 32 0 0 0-32-32zm8 272a24 24 0 0 1-24 24H144a24 24 0 0 1-24-24V144a24 24 0 0 1 24-24h224a24 24 0 0 1 24 24z\"},\"child\":[]}]})(props);\n};\nexport function IoWatch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"width\":\"240\",\"height\":\"240\",\"x\":\"136\",\"y\":\"136\",\"rx\":\"56\",\"ry\":\"56\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M336 96V32a16 16 0 0 0-16-16H192a16 16 0 0 0-16 16v64a80.09 80.09 0 0 0-80 80v160a80.09 80.09 0 0 0 80 80v64a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-64a80.09 80.09 0 0 0 80-80V176a80.09 80.09 0 0 0-80-80zm56 224a72.08 72.08 0 0 1-72 72H192a72.08 72.08 0 0 1-72-72V192a72.08 72.08 0 0 1 72-72h128a72.08 72.08 0 0 1 72 72z\"},\"child\":[]}]})(props);\n};\nexport function IoWaterOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M400 320c0 88.37-55.63 144-144 144s-144-55.63-144-144c0-94.83 103.23-222.85 134.89-259.88a12 12 0 0 1 18.23 0C296.77 97.15 400 225.17 400 320z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M344 328a72 72 0 0 1-72 72\"},\"child\":[]}]})(props);\n};\nexport function IoWaterSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 43.91s-144 158.3-144 270.3c0 88.36 55.64 144 144 144s144-55.64 144-144c0-112-144-270.3-144-270.3zm16 362.3v-24a60.07 60.07 0 0 0 60-60h24a84.09 84.09 0 0 1-84 84z\"},\"child\":[]}]})(props);\n};\nexport function IoWater (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M265.12 60.12a12 12 0 0 0-18.23 0C215.23 97.15 112 225.17 112 320c0 88.37 55.64 144 144 144s144-55.63 144-144c0-94.83-103.23-222.85-134.88-259.88zM272 412a12 12 0 0 1-11.34-16 11.89 11.89 0 0 1 11.41-8A60.06 60.06 0 0 0 332 328.07a11.89 11.89 0 0 1 8-11.41A12 12 0 0 1 356 328a84.09 84.09 0 0 1-84 84z\"},\"child\":[]}]})(props);\n};\nexport function IoWifiOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M332.41 310.59a115 115 0 0 0-152.8 0m213.85-61.05a201.26 201.26 0 0 0-274.92 0m329.18-67.43a288 288 0 0 0-383.44 0\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M256 416a32 32 0 1 1 32-32 32 32 0 0 1-32 32z\"},\"child\":[]}]})(props);\n};\nexport function IoWifiSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"square\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"42\",\"d\":\"M332.69 320a115 115 0 0 0-152.8 0m213.85-61a201.26 201.26 0 0 0-274.92 0M448 191.52a288 288 0 0 0-383.44 0\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M300.67 384 256 433l-44.34-49a56.73 56.73 0 0 1 88.92 0z\"},\"child\":[]}]})(props);\n};\nexport function IoWifi (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M346.65 304.3a136 136 0 0 0-180.71 0 21 21 0 1 0 27.91 31.38 94 94 0 0 1 124.89 0 21 21 0 0 0 27.91-31.4z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M256.28 183.7a221.47 221.47 0 0 0-151.8 59.92 21 21 0 1 0 28.68 30.67 180.28 180.28 0 0 1 246.24 0 21 21 0 1 0 28.68-30.67 221.47 221.47 0 0 0-151.8-59.92z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M462 175.86a309 309 0 0 0-411.44 0 21 21 0 1 0 28 31.29 267 267 0 0 1 355.43 0 21 21 0 0 0 28-31.31z\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256.28\",\"cy\":\"393.41\",\"r\":\"32\"},\"child\":[]}]})(props);\n};\nexport function IoWineOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M398.57 80H113.43v16S87.51 272 256 272 398.57 96 398.57 96zM256 272v160\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M352 432H160\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"M112 160h288\"},\"child\":[]}]})(props);\n};\nexport function IoWineSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M453 112V66.33H60.75V112l175.13 176v118H124.75v42H389v-42H277.88V288zm-336.65-3.67h281l-37.81 38H154.16z\"},\"child\":[]}]})(props);\n};\nexport function IoWine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M414.56 94.92V80a16 16 0 0 0-16-16H113.44a16 16 0 0 0-16 16v14.92c-1.46 11.37-9.65 90.74 36.93 144.69 24.87 28.8 60.36 44.85 105.63 47.86V416h-80a16 16 0 0 0 0 32h192a16 16 0 0 0 0-32h-80V287.47c45.27-3 80.76-19.06 105.63-47.86 46.58-53.95 38.37-133.32 36.93-144.69zm-285.3 3.41a15.14 15.14 0 0 0 .18-2.33h253.12a15.14 15.14 0 0 0 .18 2.33 201.91 201.91 0 0 1 0 45.67H129.32a204.29 204.29 0 0 1-.06-45.67z\"},\"child\":[]}]})(props);\n};\nexport function IoWomanOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M208 368v104a23.73 23.73 0 0 0 24 24h0a23.73 23.73 0 0 0 24-24\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\",\"d\":\"M256 368v104a23.73 23.73 0 0 0 24 24h0a23.73 23.73 0 0 0 24-24V368m-121-94a23.73 23.73 0 0 1-29.84 16.18h0a23.72 23.72 0 0 1-16.17-29.84l25-84.28A44.85 44.85 0 0 1 205 144h102a44.85 44.85 0 0 1 43 32.08l25 84.28a23.72 23.72 0 0 1-16.17 29.84h0a23.73 23.73 0 0 1-29.78-16.2\"},\"child\":[]},{\"tag\":\"circle\",\"attr\":{\"cx\":\"256\",\"cy\":\"56\",\"r\":\"40\",\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeMiterlimit\":\"10\",\"strokeWidth\":\"32\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"fill\":\"none\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"32\",\"d\":\"m208 192-48 160h192l-48-160\"},\"child\":[]}]})(props);\n};\nexport function IoWomanSharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"255.75\",\"cy\":\"56\",\"r\":\"56\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M310.28 191.4h.05l7.66-2.3 36.79 122.6 46-13.8-16.21-54.16c0-.12 0-.24-.07-.36l-16.84-56.12-4.71-15.74-.9-3H362l-2.51-8.45a44.84 44.84 0 0 0-43-32.08H195.24a44.84 44.84 0 0 0-43 32.08l-2.51 8.45h-.06l-.9 3-4.71 15.74-16.84 56.12c0 .12 0 .24-.07.36l-16.21 54.16 46 13.8 36.76-122.6 7.54 2.26L148.25 368h51.5v144h52V368h8v144h52V368h51.51z\"},\"child\":[]}]})(props);\n};\nexport function IoWoman (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"circle\",\"attr\":{\"cx\":\"255.75\",\"cy\":\"56\",\"r\":\"56\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"m394.63 277.9-10.33-34.41v-.11l-22.46-74.86h-.05l-2.51-8.45a44.87 44.87 0 0 0-43-32.08h-120a44.84 44.84 0 0 0-43 32.08l-2.51 8.45h-.06l-22.46 74.86v.11l-10.37 34.41c-3.12 10.39 2.3 21.66 12.57 25.14a20 20 0 0 0 25.6-13.18l25.58-85.25 2.17-7.23a8 8 0 0 1 15.53 2.62 7.78 7.78 0 0 1-.17 1.61L155.43 347.4a16 16 0 0 0 15.32 20.6h29v114.69c0 16.46 10.53 29.31 24 29.31s24-12.85 24-29.31V368h16v114.69c0 16.46 10.53 29.31 24 29.31s24-12.85 24-29.31V368h30a16 16 0 0 0 15.33-20.6l-43.74-145.81a7.52 7.52 0 0 1-.16-1.59 8 8 0 0 1 15.54-2.63l2.17 7.23 25.57 85.25A20 20 0 0 0 382.05 303c10.27-3.44 15.69-14.71 12.58-25.1z\"},\"child\":[]}]})(props);\n};\n","import React from 'react';\nimport { AiOutlineCode, AiOutlineApi, AiOutlineSetting, AiOutlineDatabase, AiOutlineAppstoreAdd } from 'react-icons/ai';\nimport { IoArrowUpSharp, IoLogoReact, IoSaveOutline, IoShieldCheckmarkOutline, IoSwapHorizontalOutline } from 'react-icons/io5';\nimport { IoShirtOutline, IoPower, IoScaleOutline, IoLockOpenOutline, IoChatbubbleEllipsesOutline } from 'react-icons/io5'\nimport { AiOutlineLineChart, } from 'react-icons/ai'\n\nconst iconColor = '#1F81D6';\n\nconst servicesData = [\n {\n id: \"softwaredevelopment\",\n icon: ,\n heading: \"Software development\",\n subHeading:\n \n Software development  \n {/* that empower your business */}\n \n ,\n description: \"Developing software that is designed to support various business processes. Business applications are used by organizations to automate and streamline processes, improve efficiency, and make better informed decisions.\",\n keywords: \"Software Development, Custom Software Development, Software Development Services, Business Software Development, Enterprise Software Development, Software Solutions, Software Development Company, Application Development, Custom Software Solutions, Software Engineering, Custom Software Development for Businesses, Enterprise Application Development, Bespoke Software Development Services, End-to-End Software Development Solutions, Scalable Software Solutions for Enterprises, Agile Software Development, Software Development Lifecycle, Full-Stack Software Development, Software Development Outsourcing, Software Modernization\",\n content: [{\n id: 1,\n heading:

Empower your business with custom software solutions

,\n subheading: \"In today's dynamic business landscape, staying ahead of the competition requires more than off-the-shelf software solutions. At Mobyte, we understand the unique challenges your business faces and the critical role that software plays in driving growth, efficiency, and innovation.\",\n icon: \n },\n {\n id: 2,\n heading:

Tailored solutions for your unique needs

,\n subheading: \"Off-the-shelf software may offer convenience, but it often falls short when it comes to addressing your specific business requirements. That's where custom software development shines. Our team of experienced developers works closely with you to understand your business processes, challenges, and goals. We then design and build custom software solutions that are tailored to your exact needs, ensuring seamless integration with your existing systems and workflows.\",\n icon: \n },\n {\n id: 3,\n heading:

Scalable to future proof your business

,\n subheading: \"One of the key advantages of custom software is scalability. As your business evolves and expands, your software should be able to grow with it. Our custom solutions are designed with scalability in mind, allowing you to easily add new features, accommodate increased user loads, and adapt to changing market demands. With our future-proof software, you can stay ahead of the curve and drive sustainable business growth.\",\n icon: \n },\n {\n id: 4,\n heading:

Enhanced efficiency and productivity

,\n subheading: \"Time is money, and inefficient processes can eat into your bottom line. Our custom software solutions are engineered to streamline your workflows, automate repetitive tasks, and eliminate bottlenecks. By optimizing your business processes, you can boost productivity, reduce operational costs, and free up valuable resources to focus on what matters most: driving your business forward.\",\n icon: \n },\n {\n id: 5,\n heading:

Seamless integration and support

,\n subheading: \"We understand that transitioning to new software can be daunting. That's why we offer comprehensive support throughout the entire process, from initial consultation to deployment and beyond. Our team ensures seamless integration with your existing systems and provides ongoing support and maintenance to keep your software running smoothly. With Mobyte by your side, you can trust that your software is in good hands.\",\n icon: \n },\n {\n id: 6,\n heading:

Unlock your business potential

,\n subheading: \"Don't let outdated or generic software hold your business back. Partner with Mobyte and unlock your full potential with custom software solutions designed to meet your unique needs. Whether you're looking to streamline operations, drive innovation, or gain a competitive edge, we're here to help you succeed.\",\n icon: \n }\n ]\n },\n // {\n // id: \"webdesign\",\n // icon: ,\n // heading: \"Web design\",\n // subHeading:\n // \n // Web design  \n // {/* that empower your business */}\n // \n // ,\n // description: \"Creating responsive websites, including layout, colors, typography, and visual elements, to provide an optimal user experience. We combine technical skills with design principles to create functional and aesthetically pleasing websites.\",\n // keywords: \"Web Design, Responsive Web Design, Web Design Services, Professional Web Design, Custom Web Design, Website Design, Web Design Company, UI/UX Design, Website Redesign, E-commerce Web Design, Responsive Web Design Services, Professional Website Design for Businesses, Custom Web Design Solutions, User-Centric Web Design Services, E-commerce Website Design and Development, Graphic Design, User Interface Design, User Experience Design, Mobile-Friendly Web Design, Website Optimization\",\n // content: [{\n // id: 1,\n // heading:

Elevate your online presence with custom web design

,\n // subheading: \"In today's digital age, your website is often the first impression customers have of your business. At Mobyte, we recognize the importance of a captivating and user-friendly web presence in driving engagement, conversions, and brand loyalty.\",\n // icon: \n // },\n // {\n // id: 2,\n // heading:

Customized designs for your brand identity

,\n // subheading: \"Off-the-shelf website templates may offer convenience, but they lack the uniqueness and personalization that sets your brand apart. Our team of talented designers specializes in creating custom web designs tailored to your brand identity, audience, and business objectives. From color schemes and typography to layout and imagery, we craft visually stunning and cohesive designs that reflect your brand's personality and values.\",\n // icon: \n // },\n // {\n // id: 3,\n // heading:

Mobile-Friendly

,\n // subheading: \"With the rise of mobile browsing, it's essential that your website looks and functions flawlessly across all devices and screen sizes. Our responsive web designs adapt seamlessly to desktops, tablets, and smartphones, ensuring an optimal viewing experience for every visitor. By prioritizing mobile-friendliness, we help you reach and engage with your audience wherever they are.\",\n // icon: \n // },\n // {\n // id: 4,\n // heading:

SEO optimised for online visability

,\n // subheading: \"A stunning website is only effective if it can be found by your target audience. Our web design services include SEO optimization to improve your site's visibility in search engine results. From optimized content and metadata to site speed and mobile-friendliness, we implement best practices to enhance your website's search engine ranking and attract organic traffic.\",\n // icon: \n // },\n // {\n // id: 5,\n // heading:

Comprehensive support and maintenance

,\n // subheading: \"Launching a website is just the beginning of your online journey. Our team provides ongoing support and maintenance to ensure your website remains secure, up-to-date, and performing at its best. Whether you need content updates, security patches, or technical assistance, we're here to support you every step of the way.\",\n // icon: \n // },\n // {\n // id: 6,\n // heading:

Unlock your online potential

,\n // subheading: \"Don't settle for a generic or outdated website. Partner with Mobyte and unlock your online potential with innovative web design solutions tailored to your business goals. Whether you're launching a new site, refreshing an existing one, or embarking on an e-commerce venture, we're here to turn your vision into reality.\",\n // icon: \n // }\n // ]\n // },\n {\n id: \"apidevelopment\",\n icon: ,\n heading: \"API development\",\n subHeading:\n \n API development  \n {/* that empower your business */}\n \n ,\n description: \"Developing robust APIs to enhance functionality and integration across various platforms. We combine technical expertise with industry best practices to create secure, efficient, and reliable APIs that drive business growth and innovation.\",\n keywords: \"API Development, Custom API Development, RESTful APIs, API Integration, API Design, API Management, Secure API Development, Scalable API Solutions, API Services, API Gateway, API Documentation, Professional API Development, Custom API Solutions, Business API Development, Efficient API Integration, Reliable API Services, API Security, API Performance Optimization, Developer-Friendly APIs, Enterprise API Solutions\",\n content: [{\n id: 1,\n heading:

Elevate your business with custom API development

,\n subheading: \"In today’s interconnected digital landscape, APIs are the backbone of seamless integration and innovation. At Mobyte, we understand the critical role APIs play in enhancing functionality, streamlining processes, and enabling new business opportunities.\",\n icon: \n },\n {\n id: 2,\n heading:

Tailored API solutions for your unique needs

,\n subheading: \"Off-the-shelf APIs may provide basic functionality, but they often fall short of meeting the specific needs of your business. Our team of experienced developers specializes in creating custom APIs tailored to your unique requirements, ensuring optimal performance and seamless integration with your existing systems. From design to deployment, we craft APIs that enhance your capabilities and drive growth.\",\n icon: \n },\n {\n id: 3,\n heading:

Seamless integration with existing systems

,\n subheading: \"ntegrating new APIs with your existing systems can be complex and challenging. Our expertise in API integration ensures a smooth and hassle-free process, minimizing disruptions to your operations. We work closely with your team to understand your systems and develop APIs that seamlessly connect and enhance your technological ecosystem.\",\n icon: \n },\n {\n id: 4,\n heading:

Performance optimization for efficiency

,\n subheading: \"A stunning website is only effective if it can be found by your target audience. Our web design services include SEO optimization to improve your site's visibility in search engine results. From optimized content and metadata to site speed and mobile-friendliness, we implement best practices to enhance your website's search engine ranking and attract organic traffic.\",\n icon: \n },\n {\n id: 5,\n heading:

Comprehensive documentation and support

,\n subheading: \"Clear and comprehensive documentation is essential for the successful adoption and use of APIs. We provide detailed documentation for all our APIs, making it easy for your developers to understand and integrate them. Additionally, our team offers ongoing support to address any issues and ensure the continued performance and reliability of your APIs.\",\n icon: \n },\n {\n id: 6,\n heading:

Unlock your business potential

,\n subheading: \"Don’t let generic solutions limit your potential. Partner with Mobyte to unlock new opportunities with custom API development tailored to your business needs. Whether you’re looking to integrate new services, enhance your existing capabilities, or drive innovation, we’re here to help you achieve your goals with cutting-edge API solutions.\",\n icon: \n }\n ]\n },\n {\n id: \"dataintegration\",\n icon: ,\n heading: \"Data integration\",\n subHeading:\n \n Data integration  \n {/* that empower your business */}\n \n ,\n description: \"Combining data from multiple sources into a single, unified view. This involves the collection, transformation, and loading of data into a centralized repository, so that it can be analyzed and used to support business decisions.\",\n keywords: \"Data Integration, Data Integration Services, Enterprise Data Integration, Data Integration Solutions, Data Integration Tools, Data Integration Platform, Data Integration Company, Data Integration Software, Cloud Data Integration, Real-Time Data Integration, Comprehensive Data Integration Services, Enterprise Data Integration Solutions, Data Integration and Transformation, Seamless Data Integration Services, Data Integration for Business Intelligence, ETL (Extract, Transform, Load), Data Warehousing, Big Data Integration, Data Migration, Data Synchronization\",\n content: [{\n id: 1,\n heading:

Streamline operations with data integration

,\n subheading: \"In today's data-driven world, seamless data integration is essential for operational efficiency and informed decision-making. At Mobyte, we understand the complexities of managing data from diverse sources and the critical role that integrated data plays in driving business success.\",\n icon: \n },\n {\n id: 2,\n heading:

Customized integration solutions for your unique needs

,\n subheading: \"Standard integration solutions often fail to address the unique requirements of your business. Our team of experts work closely with you to understand your specific data landscape, challenges, and objectives. We design and implement custom data integration solutions tailored to your needs, ensuring seamless connectivity between disparate systems and data sources.\",\n icon: \n },\n {\n id: 3,\n heading:

Unified data for informed decisions

,\n subheading: \"Data silos can hinder your ability to make informed decisions and respond swiftly to market changes. Our data integration services consolidate data from multiple sources into a single, unified view, providing you with accurate and real-time insights. By breaking down data barriers, we help you unlock the full potential of your information and make data-driven decisions with confidence.\",\n icon: \n },\n {\n id: 4,\n heading:

Enhanced efficiency and productivity

,\n subheading: \"Manual data management processes are time-consuming and prone to errors. Our data integration solutions automate data workflows, reducing manual intervention and eliminating errors. By streamlining data operations, you can enhance efficiency, improve data quality, and free up valuable resources to focus on strategic initiatives.\",\n icon: \n },\n {\n id: 5,\n heading:

Unlock your data potential

,\n subheading: \"Don't let fragmented data hold your business back. Partner with Mobyte and unlock the full potential of your data with advanced data integration services. Whether you're looking to improve operational efficiency, enhance data quality, or gain deeper insights, we're here to help you succeed.\",\n icon: \n }\n ]\n },\n {\n id: \"softwaremodernisation\",\n icon: ,\n heading: \"Software modernisation\",\n subHeading:\n \n Software modernisation  \n {/* that empower your business */}\n \n ,\n description: \"Updating or transforming legacy software systems to improve their functionality, performance, and security. The aim is to bring systems up to date with current technology, enabling them to better meet the evolving needs of the business.\",\n keywords: \"Software Modernisation, Legacy Software Modernization, Software Upgrade Services, Modernization of Software Systems, Legacy System Transformation, Software Enhancement, Legacy System Upgrade, Software System Modernization, Legacy Application Modernization, Software Performance Improvement, Modernizing Legacy Systems, Software Security Enhancement, Legacy Software Update, Software Modernization Solutions, Software Modernization Services, Updating Legacy Software, Transforming Legacy Software, Enhancing Software Functionality, Software Modernization Strategies, Improving Software Performance\",\n content: [{\n id: 1,\n heading:

Transform your legacy systems

,\n subheading: \"In an era of rapid technological advancement, relying on outdated software can impede your business's growth and agility. At Mobyte, we specialize in transforming legacy systems into modern, efficient, and scalable solutions that drive innovation and success.\",\n icon: \n },\n {\n id: 2,\n heading:

Future proof your business

,\n subheading: \"Technology is constantly evolving, and your software should keep pace. Our modernization solutions are designed with the future in mind, ensuring that your software remains relevant and adaptable to emerging trends and market demands. By embracing modern technologies, you can future-proof your business and stay ahead of the competition.\",\n icon: \n },\n {\n id: 3,\n heading:

Enhance performance and scalability

,\n subheading: \"Outdated software can struggle to meet the performance demands of today's fast-paced business environment. We enhance the performance and scalability of your applications, ensuring they can handle increased workloads and deliver a seamless user experience. Our modernization efforts include optimizing code, improving database performance, and leveraging cloud technologies to boost efficiency and scalability.\",\n icon: \n },\n {\n id: 4,\n heading:

Improve security and compliance

,\n subheading: \"Legacy systems are often more vulnerable to security threats and compliance issues. Our software modernization services address these concerns by incorporating robust security measures and ensuring compliance with industry standards and regulations. We help you safeguard your data and protect your business from potential risks.\",\n icon: \n },\n {\n id: 5,\n heading:

Seemless Transition

,\n subheading: \"Transitioning from legacy systems to modern solutions can be challenging. Our experienced team ensures a smooth and seamless transition with minimal disruption to your operations. We employ best practices and proven methodologies to migrate your data, applications, and processes, minimizing downtime and ensuring business continuity.\",\n icon: \n\n },\n {\n id: 6,\n heading:

Unlock innovation and efficiency

,\n subheading: \"Modernizing your software opens up new possibilities for innovation and efficiency. By integrating advanced features, automating manual processes, and leveraging data analytics, we help you unlock new opportunities for growth and improvement. Our modernization solutions empower you to innovate, streamline operations, and achieve your strategic goals.\",\n icon: \n }\n ]\n },\n {\n id: \"databasemanagement\",\n icon: ,\n heading: \"Database management\",\n subHeading:\n \n Database management  \n {/* that empower your business */}\n \n ,\n content: [{\n id: 1,\n heading:

Optimize your data

,\n subheading: \"In the digital age, effective database management is crucial for maintaining the integrity, performance, and security of your data. At Mobyte, we provide comprehensive database management services designed to optimize your data infrastructure and support your business objectives.\",\n icon: \n },\n {\n id: 2,\n heading:

Customized database solutions for your needs

,\n subheading: \"Every business has unique data requirements. Our team of experienced database administrators works closely with you to understand your specific needs and challenges. We design and implement customized database solutions that align with your business goals, ensuring efficient data storage, retrieval, and management.\",\n icon: \n },\n {\n id: 3,\n heading:

Enhance performance and scalability

,\n subheading: \"As your business grows, so does your data. Our database management services ensure your databases are optimized for performance and scalability. We fine-tune database configurations, optimize queries, and implement best practices to handle increasing data volumes and user loads. By enhancing database performance, we help you deliver fast and reliable data access to your applications and users.\",\n icon: \n },\n {\n id: 4,\n heading:

Improve data security and compliance

,\n subheading: \"Protecting your data from unauthorized access and breaches is a top priority. Our database management solutions include robust security measures to safeguard your data. We implement encryption, access controls, and regular security audits to ensure your databases comply with industry standards and regulations. With our proactive approach, you can trust that your data is secure and compliant.\",\n icon: \n },\n {\n id: 5,\n heading:

Backup and Recovery

,\n subheading: \"Data loss can have devastating consequences for your business. We provide comprehensive backup and recovery solutions to ensure your data is always protected. Our services include regular automated backups, disaster recovery planning, and rapid data restoration in the event of a failure. With our backup and recovery solutions, you can minimize downtime and ensure business continuity.\",\n icon: \n\n },\n {\n id: 6,\n heading:

Unlock the power of your data

,\n subheading: \"Don't let database challenges hold your business back. Partner with Mobyte and benefit from our expert database management services. Whether you're looking to optimize performance, enhance security, or ensure reliable backups, we're here to support you every step of the way.\",\n icon: \n }\n ],\n description: \"Collecting, storing, organizing, maintaining, and utilizing data to meet the needs of an organization. Effective data management is crucial for businesses to make informed decisions, improve efficiency, and remain competitive.\",\n keywords: \"Database Management, Data Management Services, Database Administration, Database Solutions, Data Management Solutions, Database Management Company, Database Maintenance, Data Storage Solutions, Database Optimization, Database Management System, Database Security, Database Performance Tuning, Data Backup and Recovery, Data Governance, Database Management Best Practices, Cloud Database Management, Database Integration, Enterprise Data Management, Data Management Strategies, Database Management Services for Businesses\"\n },\n {\n id: \"automation\",\n icon: ,\n heading: \"Automation\",\n subHeading:\n \n Automation  \n {/* that empower your business */}\n \n ,\n content: [{\n id: 1,\n heading:

Revolutionize your operations

,\n subheading: \"In today's fast-paced business environment, efficiency and productivity are key to staying competitive. At Mobyte, we specialize in delivering cutting-edge automation solutions that streamline your operations, reduce manual effort, and drive significant cost savings.\",\n icon: \n },\n {\n id: 2,\n heading:

Tailored automation for your unique processes

,\n subheading: \"Every business has distinct processes and workflows. Our team of automation experts works closely with you to understand your specific needs and identify opportunities for automation. We design and implement custom automation solutions that integrate seamlessly with your existing systems, enhancing efficiency and consistency across your operations.\",\n icon: \n },\n {\n id: 3,\n heading:

Boost productivity and efficiency

,\n subheading: \"Manual tasks can be time-consuming and prone to errors. Our automation solutions eliminate repetitive tasks, freeing up your employees to focus on more strategic and value-added activities. By automating routine processes, we help you boost productivity, reduce operational costs, and improve overall efficiency.\",\n icon: \n },\n {\n id: 4,\n heading:

Scalable solutions for growth

,\n subheading: \"As your business grows, so do your operational demands. Our automation solutions are designed to scale with your business, allowing you to easily adapt to increasing workloads and evolving requirements. Whether you're expanding your operations or launching new initiatives, our scalable automation solutions provide the flexibility you need to support growth.\",\n icon: \n },\n {\n id: 5,\n heading:

Integration and support

,\n subheading: \"Implementing automation can be complex, but our team is here to ensure a smooth transition. We provide comprehensive support throughout the entire process, from initial consultation to deployment and beyond. Our solutions integrate seamlessly with your existing systems, and we offer ongoing maintenance and support to keep your automation running smoothly.\",\n icon: \n\n },\n {\n id: 6,\n heading:

Unlock your business potential with automation

,\n subheading: \"Automation is more than just a tool—it's a strategic advantage. By automating your processes, you can achieve faster turnaround times, improved accuracy, and greater operational efficiency. Our advanced automation solutions empower you to transform your business and stay ahead in a competitive market.\",\n icon: \n }\n ],\n description: \"The process of turning repeatable, routine tasks into automated actions. We work with businesses to use technology to perform processes with little or no human intervention. This can improve efficiency, accuracy, and consistency.\",\n keywords: \"Automation, Business Process Automation, Workflow Automation, Automation Services, Process Automation, Automation Solutions, Robotic Process Automation, Automation Company, Automation Tools, Automation Technologies, Automated Systems, Business Automation Solutions, Custom Automation Services, Industrial Automation, IT Automation, Office Automation, Automation for Businesses, Automation Software, Automation and Efficiency, Automation Strategies\"\n },\n];\n\nexport default servicesData;\n","import React from \"react\";\nimport { Row, Col } from 'reactstrap';\nimport ServicesData from './servicesData'\nimport { Link } from \"react-router-dom\";\n\nexport default function Services() {\n\n\n return (\n
\n \n {ServicesData.map((item) => (\n \n
\n {item.icon}\n
\n

{item.heading}

\n

{item.description}

\n
\n
\n\n \n \n \n\n \n \n\n \n \n\n \n ))}\n
\n
\n );\n}\n","import React, { useEffect } from 'react'\nimport { Row } from 'reactstrap'\nimport ServicesItems from \"./servicesItems\"\nimport TextOnImage from '../../shared/textOnImage'\nimport image from '../../../assets/images/services.jpg'\n\nconst Services = () => {\n\n useEffect(() => {\n document.title = 'Services | 35+ years expertise developing software | Mobyte';\n\n // Create meta description\n const metaDescription = document.createElement('meta');\n metaDescription.setAttribute('name', 'description');\n metaDescription.content = 'Discover our range of services : Software development and modernization, web design, data integration, database management and process automation.';\n\n // Create meta keywords\n const metaKeywords = document.createElement('meta');\n metaKeywords.setAttribute('name', 'keywords');\n metaKeywords.content = 'Software development, web design, data integration, software modernization, database management, automation, business applications, responsive websites, data consolidation, technology updates, process automation';\n\n const metaRobots = document.createElement('meta');\n metaRobots.setAttribute('name', 'robots');\n metaRobots.content = 'index';\n document.head.appendChild(metaRobots);\n\n // Append both meta elements to the head\n document.head.appendChild(metaDescription);\n document.head.appendChild(metaKeywords);\n document.head.appendChild(metaRobots);\n\n return () => {\n // Clean up added meta tags when component unmounts\n document.head.removeChild(metaDescription);\n document.head.removeChild(metaKeywords);\n document.head.removeChild(metaRobots);\n\n };\n\n\n }, []);\n\n const subheading = (\n // \n // Providing  solutions for over 35 years\n // \n // Services\n Services\n )\n\n\n\n return (\n
\n\n \n\n
\n
\n

\n Over 35 years expertise developing cutting-edge software\n

\n
\n \n\n \n\n \n\n
\n\n
\n )\n}\n\nexport default Services","import React from \"react\";\nimport { AiOutlineCode, AiOutlineBulb, AiOutlineOrderedList, AiOutlineCheckCircle } from 'react-icons/ai'\nimport { IoChatbubbleEllipsesOutline, IoDocumentTextOutline, IoPencilSharp, IoRocketOutline } from 'react-icons/io5'\nimport { Row, Col } from 'reactstrap'\n\nexport default function ProcessItems() {\n\n const processItems = [\n {\n id: 1,\n icon: ,\n heading: \"Ideation\",\n subheading: \"The first stage involves brainstorming and generating ideas for potential projects. This could come from internal stakeholders or external customers.\",\n },\n {\n id: 2,\n icon: ,\n heading: \"Requirements\",\n subheading: \"We work with stakeholders to gather requirements for the project. This includes defining the scope, objectives, and constraints for the project.\"\n },\n {\n id: 3,\n icon: ,\n heading: \"Planning\",\n subheading: \"We create a detailed plan for the project, including a timeline, budget, resources required, and the process for executing the project.\",\n },\n {\n id: 4,\n icon: ,\n heading: \"Design\",\n subheading: \"We create the design for the solution, including both the technical design and the user interface design.\",\n },\n {\n id: 5,\n icon: ,\n heading: \"Development\",\n subheading: \"We start developing the solution, including writing code, building the infrastructure, and testing the solution.\",\n },\n {\n id: 6,\n icon: ,\n heading: \"Testing\",\n subheading: \"We thoroughly test the solution to ensure that it meets the requirements and works as intended.\",\n },\n {\n id: 7,\n icon: ,\n heading: \"Deployment\",\n subheading: \"We deploy the solution to the customer's environment, making it available for use.\",\n },\n {\n id: 8,\n icon: ,\n heading: \"Support and Maintenance\",\n subheading: \"We provide ongoing maintenance and support for the solution, including fixing any bugs or issues that arise and adding new features as needed.\",\n },\n ]\n\n\n\n const getBackgroundColor = (index) => {\n const colors = ['#fff', '#ffc266', '#003333'];\n return colors[index % colors.length];\n };\n\n return (\n <>\n \n
\n

\n Creating\n innovative IT solutions \n through our proven 8-step process\n

\n
\n\n
\n {processItems.map((item, index) => {\n const color = getBackgroundColor(index);\n let headColor\n let textColor\n let emphColor\n switch (color) {\n case '#ffa31a': //orange\n headColor = 'secondary-text'\n textColor = 'accent-4'\n emphColor = 'secondary-text'\n break;\n case '#003333': // dark teal\n headColor = 'white-text'\n textColor = 'neutral-2-text'\n emphColor = 'white-text'\n break;\n default: //white or other\n headColor = 'secondary-text'\n textColor = 'accent-4'\n emphColor = 'secondary-text'\n break;\n }\n return (\n \n\n \n {\n index % 2 === 0 ? (\n <>\n \n {item.icon}\n \n \n

\n Stage {index + 1}: {item.heading}\n

\n

{item.subheading}

\n \n\n \n ) : (\n <>\n \n {item.icon}\n \n \n

\n Stage {index + 1}: {item.heading}\n

\n

{item.subheading}

\n \n \n )\n }\n
\n
\n )\n\n })}\n\n\n \n );\n}","import React, { useEffect } from 'react'\nimport ProcessItems from './processItems'\nimport TextOnImage from '../../shared/textOnImage'\nimport image from '../../../assets/images/image12.jpg'\n\nconst Process = () => {\n\n useEffect(() => {\n document.title = 'Process | Creating innovative IT solutions | Mobyte';\n\n // Create meta description\n const metaDescription = document.createElement('meta');\n metaDescription.setAttribute('name', 'description');\n metaDescription.content = 'Experience our meticulous software development process, guiding ideas to successful projects, from inception to deployment';\n\n // Create meta keywords\n const metaKeywords = document.createElement('meta');\n metaKeywords.setAttribute('name', 'keywords');\n metaKeywords.content = 'Ideation, requirements gathering, project planning, solution design, development, testing, deployment, support, maintenance, project management, software development process, project lifecycle';\n\n\n const metaRobots = document.createElement('meta');\n metaRobots.setAttribute('name', 'robots');\n metaRobots.content = 'index';\n document.head.appendChild(metaRobots);\n // Append both meta elements to the head\n document.head.appendChild(metaDescription);\n document.head.appendChild(metaKeywords);\n document.head.appendChild(metaKeywords);\n\n return () => {\n // Clean up added meta tags when component unmounts\n document.head.removeChild(metaDescription);\n document.head.removeChild(metaKeywords);\n document.head.removeChild(metaRobots);\n\n };\n }, []);\n const subheading = (\n Our process\n )\n\n return (\n
\n \n \n
\n )\n}\n\nexport default Process","import axios from 'axios';\n\n\nvar axiosinstance = axios.create({\n baseURL: process.env.REACT_APP_BASE_API_URL,\n});\n\n\nconst sendRequest = async (method, url, data, tokenRequest, additionalConfig = {}) => {\n try {\n const config = {\n method,\n url,\n data,\n withCredentials: false,\n ...additionalConfig,\n };\n const response = await axiosinstance(config);\n return response || response;\n } catch (error) {\n console.error(`Error making ${method.toUpperCase()} request to ${url}:`, error.message);\n throw error;\n }\n};\n\nconst base = {\n getAll: (url) => sendRequest(\"get\", url, null),\n\n get: (url, id) => sendRequest(\"get\", `${url}/${id}`, null),\n\n qry: (url, id) => sendRequest(\"get\", `${url}/${id}`, null),\n\n add: (url, data) => sendRequest(\"post\", url, data),\n};\n\nexport default base;","import { Col, Row, Card } from 'reactstrap';\nimport React, { useState, useEffect } from \"react\";\nimport imgT1 from '../../../assets/images/01-thumbnail.jpg'\nimport imgT2 from '../../../assets/images/aviation.jpg'\nimport imgT3 from '../../../assets/images/office.jpg'\nimport imgT4 from '../../../assets/images/04-thumbnail.jpg'\nimport imgT5 from '../../../assets/images/cards1.jpg'\nimport imgT6 from '../../../assets/images/oil-rig.jpg'\nimport { Link } from \"react-router-dom\";\nimport base from '../../../services/naBaseService';\n\nexport default function Projects({ style }) {\n\n const [projectsItems, setProjectsItems] = useState([])\n\n useEffect(() => {\n base.getAll(\"project/qry\").then((res) => {\n setProjectsItems(res.data);\n });\n }, []);\n\n return (\n \n {projectsItems.map((item, index) => {\n\n const projectID = item.id\n let image;\n switch (projectID) {\n case 1:\n image = imgT2\n break;\n case 3:\n image = imgT3\n break;\n case 4:\n image = imgT1\n\n break;\n case 5:\n image = imgT5\n break;\n case 7:\n image = imgT6\n break;\n case 8:\n image = imgT4\n break;\n default:\n break;\n }\n\n return (\n \n {item.display === true ?\n \n
\n \n
\n {item.altText}\n
\n
\n
{item.heading}
\n
{item.subheading}
\n
{item.read_time}
\n
\n \n \n \n \n \n \n \n
\n
\n \n :\n \"\"\n }\n
\n );\n })}\n
\n );\n}","import React, { useEffect } from 'react'\nimport ProjectsItems from './projectsItems'\nimport TextOnImage from '../../shared/textOnImage'\nimport image from '../../../assets/images/image7.jpg'\n\nconst Projects = ({ setProjectID, setProjectTitle, setProjectSubheading }) => {\n\n useEffect(() => {\n document.title = 'Projects | A proven track record delivering cost effective software solutions | Mobyte';\n\n // Create meta description\n const metaDescription = document.createElement('meta');\n metaDescription.setAttribute('name', 'description');\n metaDescription.content = 'Discover our portfolio of innovative software development projects crafted. From conceptualization to deployment, each project reflects our commitment to excellence and client satisfaction.';\n\n // Create meta keywords\n const metaKeywords = document.createElement('meta');\n metaKeywords.setAttribute('name', 'keywords');\n metaKeywords.content = 'Project portfolio, innovative projects, client success, project examples, industry expertise, customized solutions, project showcase, successful deployments, client satisfaction, excellence in execution';\n\n const metaRobots = document.createElement('meta');\n metaRobots.setAttribute('name', 'robots');\n metaRobots.content = 'index';\n document.head.appendChild(metaRobots);\n\n // Append both meta elements to the head\n document.head.appendChild(metaDescription);\n document.head.appendChild(metaKeywords);\n document.head.appendChild(metaKeywords);\n\n return () => {\n // Clean up added meta tags when component unmounts\n document.head.removeChild(metaDescription);\n document.head.removeChild(metaKeywords);\n document.head.removeChild(metaRobots);\n\n };\n }, []);\n\n const style = {\n border: \"solid 1px lightgrey\"\n }\n\n\n\n return (\n
\n Projects} fromHome={false} altText={\"Laptop displaying interactive dashboard\"} />\n
\n\n
\n

\n A proven track record delivering cost effective software solutions\n

\n
\n \n
\n\n\n
\n )\n}\n\nexport default Projects","import React from 'react'\nimport dotnetCore from '../../../assets/images/netcore.png'\nimport sqlServer from '../../../assets/images/sqlserver.jpg'\nimport csharp from '../../../assets/images/csharp.png'\nimport git from '../../../assets/images/git.jpg'\nimport reactlogo from '../../../assets/images/reactlogo.png'\nimport devops from '../../../assets/images/azuredevops.png'\nimport oauth2 from '../../../assets/images/oauth-2-sm.png'\nimport azure from '../../../assets/images/azure.png'\nimport csslogo from '../../../assets/images/css.png'\nimport { Row, Col } from 'reactstrap'\n\nconst services = () => {\n return (\n
\n\n
\n
Technology
\n

We offer a wide range of services that utilise the latest technologies.

\n
\n
\n \n \n \n
\n \"react\"\n
\n

ReactJS, also known as React, is an open-source JavaScript library used for building user interfaces. It was created by Facebook and is now maintained by Facebook and a community of developers.\n\n React allows developers to create reusable UI components that can be used in building complex user interfaces. These components are based on a declarative programming model, where the developer describes how the UI should look and React takes care of updating the UI as the application data changes.

\n \n\n \n
\n \"c\n
\n

C# (pronounced \"C sharp\") is a modern, object-oriented programming language developed by Microsoft. It is designed for building a wide range of applications that run on the .NET Framework or .NET Core, including Windows desktop applications, web applications, games, and mobile applications.\n\n C# is a type-safe, strongly-typed language, which means that all code must be checked for type compatibility before it can be compiled and run. This helps to prevent common programming errors and makes it easier to write high-quality, maintainable code.

\n \n \n
\n \"oauth\n
\n

OAuth 2.0 is an authorization framework that allows users to grant access to their data on one website or application to another website or application, without having to share their username and password. It is used to enable secure and controlled access to resources, such as APIs, for web and mobile applications.\n\n OAuth 2.0 works by allowing users to grant a third-party application access to their resources by redirecting them to a web page where they can authenticate and authorize the access. Once the user approves the access, the third-party application is issued an access token that allows it to access the requested resources on behalf of the user.

\n \n\n
\n \n\n \n
\n \"sql\n
\n

Microsoft SQL Server is a relational database management system (RDBMS) developed by Microsoft. It is used to store and manage data for a wide range of applications, including enterprise applications, web applications, and business intelligence solutions.\n\n SQL Server supports the Structured Query Language (SQL), which is a standard language used to interact with relational databases. It includes a range of features and tools for managing data, such as data import and export, backup and recovery, security and access control, and performance tuning.

\n \n \n
\n \"git\"\n
\n

Git is a distributed version control system for software development. Git allows multiple developers to work on the same codebase simultaneously, without interfering with each other's work. With Git, developers can make changes to the code and track those changes over time. Git tracks changes in a codebase through a series of commits, which are snapshots of the code at a particular point in time. Each commit contains information about the changes made to the code, such as what files were modified, what lines were added or removed, and who made the changes.

\n \n \n
\n \"microsoft\n
\n

Microsoft Azure is a cloud computing platform and service from Microsoft that provides a wide range of cloud services, including compute, storage, networking, data and analytics, machine learning, and more. Azure enables users to build, deploy, and manage applications and services in the cloud, using a wide range of tools and technologies.\n\n Azure is available as a public cloud service, which means that users can access Azure resources and services over the internet, and it also supports hybrid and private cloud deployments, which allow users to run Azure services on their own hardware or in their own data centers.

\n \n
\n \n \n
\n \"azure\n
\n

Azure DevOps is a set of cloud-based services from Microsoft that provides a complete solution for managing the entire application lifecycle. It includes services for source control management, continuous integration and delivery (CI/CD), agile project management, testing and deployment.

\n \n \n
\n {/* */}\n \"dotnet\n
\n

ASP.NET Core is a modern, open-source, cross-platform web framework from Microsoft that enables developers to build web applications and services using .NET Core. It is a modular framework that allows developers to choose the components they need for their applications, and it includes features for building web APIs, web applications, and real-time applications.

\n \n\n \n
\n \"cascading\n
\n

CSS, or Cascading Style Sheets, is a stylesheet language used to describe the presentation and styling of HTML (Hypertext Markup Language) documents. It is used to add colors, layouts, fonts, and other visual elements to web pages, and it is an important part of modern web development.

\n \n
\n
\n\n
\n\n
\n )\n}\n\nexport default services","// THIS FILE IS AUTO GENERATED\nimport { GenIcon } from '../lib/index.mjs';\nexport function Fa500Px (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M103.3 344.3c-6.5-14.2-6.9-18.3 7.4-23.1 25.6-8 8 9.2 43.2 49.2h.3v-93.9c1.2-50.2 44-92.2 97.7-92.2 53.9 0 97.7 43.5 97.7 96.8 0 63.4-60.8 113.2-128.5 93.3-10.5-4.2-2.1-31.7 8.5-28.6 53 0 89.4-10.1 89.4-64.4 0-61-77.1-89.6-116.9-44.6-23.5 26.4-17.6 42.1-17.6 157.6 50.7 31 118.3 22 160.4-20.1 24.8-24.8 38.5-58 38.5-93 0-35.2-13.8-68.2-38.8-93.3-24.8-24.8-57.8-38.5-93.3-38.5s-68.8 13.8-93.5 38.5c-.3.3-16 16.5-21.2 23.9l-.5.6c-3.3 4.7-6.3 9.1-20.1 6.1-6.9-1.7-14.3-5.8-14.3-11.8V20c0-5 3.9-10.5 10.5-10.5h241.3c8.3 0 8.3 11.6 8.3 15.1 0 3.9 0 15.1-8.3 15.1H130.3v132.9h.3c104.2-109.8 282.8-36 282.8 108.9 0 178.1-244.8 220.3-310.1 62.8zm63.3-260.8c-.5 4.2 4.6 24.5 14.6 20.6C306 56.6 384 144.5 390.6 144.5c4.8 0 22.8-15.3 14.3-22.8-93.2-89-234.5-57-238.3-38.2zM393 414.7C283 524.6 94 475.5 61 310.5c0-12.2-30.4-7.4-28.9 3.3 24 173.4 246 256.9 381.6 121.3 6.9-7.8-12.6-28.4-20.7-20.4zM213.6 306.6c0 4 4.3 7.3 5.5 8.5 3 3 6.1 4.4 8.5 4.4 3.8 0 2.6.2 22.3-19.5 19.6 19.3 19.1 19.5 22.3 19.5 5.4 0 18.5-10.4 10.7-18.2L265.6 284l18.2-18.2c6.3-6.8-10.1-21.8-16.2-15.7L249.7 268c-18.6-18.8-18.4-19.5-21.5-19.5-5 0-18 11.7-12.4 17.3L234 284c-18.1 17.9-20.4 19.2-20.4 22.6z\"},\"child\":[]}]})(props);\n};\nexport function FaAccessibleIcon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M423.9 255.8L411 413.1c-3.3 40.7-63.9 35.1-60.6-4.9l10-122.5-41.1 2.3c10.1 20.7 15.8 43.9 15.8 68.5 0 41.2-16.1 78.7-42.3 106.5l-39.3-39.3c57.9-63.7 13.1-167.2-74-167.2-25.9 0-49.5 9.9-67.2 26L73 243.2c22-20.7 50.1-35.1 81.4-40.2l75.3-85.7-42.6-24.8-51.6 46c-30 26.8-70.6-18.5-40.5-45.4l68-60.7c9.8-8.8 24.1-10.2 35.5-3.6 0 0 139.3 80.9 139.5 81.1 16.2 10.1 20.7 36 6.1 52.6L285.7 229l106.1-5.9c18.5-1.1 33.6 14.4 32.1 32.7zm-64.9-154c28.1 0 50.9-22.8 50.9-50.9C409.9 22.8 387.1 0 359 0c-28.1 0-50.9 22.8-50.9 50.9 0 28.1 22.8 50.9 50.9 50.9zM179.6 456.5c-80.6 0-127.4-90.6-82.7-156.1l-39.7-39.7C36.4 287 24 320.3 24 356.4c0 130.7 150.7 201.4 251.4 122.5l-39.7-39.7c-16 10.9-35.3 17.3-56.1 17.3z\"},\"child\":[]}]})(props);\n};\nexport function FaAccusoft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M322.1 252v-1l-51.2-65.8s-12 1.6-25 15.1c-9 9.3-242.1 239.1-243.4 240.9-7 10 1.6 6.8 15.7 1.7.8 0 114.5-36.6 114.5-36.6.5-.6-.1-.1.6-.6-.4-5.1-.8-26.2-1-27.7-.6-5.2 2.2-6.9 7-8.9l92.6-33.8c.6-.8 88.5-81.7 90.2-83.3zm160.1 120.1c13.3 16.1 20.7 13.3 30.8 9.3 3.2-1.2 115.4-47.6 117.8-48.9 8-4.3-1.7-16.7-7.2-23.4-2.1-2.5-205.1-245.6-207.2-248.3-9.7-12.2-14.3-12.9-38.4-12.8-10.2 0-106.8.5-116.5.6-19.2.1-32.9-.3-19.2 16.9C250 75 476.5 365.2 482.2 372.1zm152.7 1.6c-2.3-.3-24.6-4.7-38-7.2 0 0-115 50.4-117.5 51.6-16 7.3-26.9-3.2-36.7-14.6l-57.1-74c-5.4-.9-60.4-9.6-65.3-9.3-3.1.2-9.6.8-14.4 2.9-4.9 2.1-145.2 52.8-150.2 54.7-5.1 2-11.4 3.6-11.1 7.6.2 2.5 2 2.6 4.6 3.5 2.7.8 300.9 67.6 308 69.1 15.6 3.3 38.5 10.5 53.6 1.7 2.1-1.2 123.8-76.4 125.8-77.8 5.4-4 4.3-6.8-1.7-8.2z\"},\"child\":[]}]})(props);\n};\nexport function FaAcquisitionsIncorporated (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M357.45 468.2c-1.2-7.7-1.3-7.6-9.6-7.6-99.8.2-111.8-2.4-112.7-2.6-12.3-1.7-20.6-10.5-21-23.1-.1-1.6-.2-71.6-1-129.1-.1-4.7 1.6-6.4 5.9-7.5 12.5-3 24.9-6.1 37.3-9.7 4.3-1.3 6.8-.2 8.4 3.5 4.5 10.3 8.8 20.6 13.2 30.9 1.6 3.7.1 4.4-3.4 4.4-10-.2-20-.1-30.4-.1v27h116c-1.4-9.5-2.7-18.1-4-27.5-7 0-13.8.4-20.4-.1-22.6-1.6-18.3-4.4-84-158.6-8.8-20.1-27.9-62.1-36.5-89.2-4.4-14 5.5-25.4 18.9-26.6 18.6-1.7 37.5-1.6 56.2-2 20.6-.4 41.2-.4 61.8-.5 3.1 0 4-1.4 4.3-4.3 1.2-9.8 2.7-19.5 4-29.2.8-5.3 1.6-10.7 2.4-16.1L23.75 0c-3.6 0-5.3 1.1-4.6 5.3 2.2 13.2-.8.8 6.4 45.3 63.4 0 71.8.9 101.8.5 12.3-.2 37 3.5 37.7 22.1.4 11.4-1.1 11.3-32.6 87.4-53.8 129.8-50.7 120.3-67.3 161-1.7 4.1-3.6 5.2-7.6 5.2-8.5-.2-17-.3-25.4.1-1.9.1-5.2 1.8-5.5 3.2-1.5 8.1-2.2 16.3-3.2 24.9h114.3v-27.6c-6.9 0-33.5.4-35.3-2.9 5.3-12.3 10.4-24.4 15.7-36.7 16.3 4 31.9 7.8 47.6 11.7 3.4.9 4.6 3 4.6 6.8-.1 42.9.1 85.9.2 128.8 0 10.2-5.5 19.1-14.9 23.1-6.5 2.7-3.3 3.4-121.4 2.4-5.3 0-7.1 2-7.6 6.8-1.5 12.9-2.9 25.9-5 38.8-.8 5 1.3 5.7 5.3 5.7 183.2.6-30.7 0 337.1 0-2.5-15-4.4-29.4-6.6-43.7zm-174.9-205.7c-13.3-4.2-26.6-8.2-39.9-12.5a44.53 44.53 0 0 1-5.8-2.9c17.2-44.3 34.2-88.1 51.3-132.1 7.5 2.4 7.9-.8 9.4 0 9.3 22.5 18.1 60.1 27 82.8 6.6 16.7 13 33.5 19.7 50.9a35.78 35.78 0 0 1-3.9 2.1c-13.1 3.9-26.4 7.5-39.4 11.7a27.66 27.66 0 0 1-18.4 0z\"},\"child\":[]}]})(props);\n};\nexport function FaAdn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 167.5l64.9 98.8H183.1l64.9-98.8zM496 256c0 136.9-111.1 248-248 248S0 392.9 0 256 111.1 8 248 8s248 111.1 248 248zm-99.8 82.7L248 115.5 99.8 338.7h30.4l33.6-51.7h168.6l33.6 51.7h30.2z\"},\"child\":[]}]})(props);\n};\nexport function FaAdversal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M482.1 32H28.7C5.8 32 0 37.9 0 60.9v390.2C0 474.4 5.8 480 28.7 480h453.4c24.4 0 29.9-5.2 29.9-29.7V62.2c0-24.6-5.4-30.2-29.9-30.2zM178.4 220.3c-27.5-20.2-72.1-8.7-84.2 23.4-4.3 11.1-9.3 9.5-17.5 8.3-9.7-1.5-17.2-3.2-22.5-5.5-28.8-11.4 8.6-55.3 24.9-64.3 41.1-21.4 83.4-22.2 125.3-4.8 40.9 16.8 34.5 59.2 34.5 128.5 2.7 25.8-4.3 58.3 9.3 88.8 1.9 4.4.4 7.9-2.7 10.7-8.4 6.7-39.3 2.2-46.6-7.4-1.9-2.2-1.8-3.6-3.9-6.2-3.6-3.9-7.3-2.2-11.9 1-57.4 36.4-140.3 21.4-147-43.3-3.1-29.3 12.4-57.1 39.6-71 38.2-19.5 112.2-11.8 114-30.9 1.1-10.2-1.9-20.1-11.3-27.3zm286.7 222c0 15.1-11.1 9.9-17.8 9.9H52.4c-7.4 0-18.2 4.8-17.8-10.7.4-13.9 10.5-9.1 17.1-9.1 132.3-.4 264.5-.4 396.8 0 6.8 0 16.6-4.4 16.6 9.9zm3.8-340.5v291c0 5.7-.7 13.9-8.1 13.9-12.4-.4-27.5 7.1-36.1-5.6-5.8-8.7-7.8-4-12.4-1.2-53.4 29.7-128.1 7.1-144.4-85.2-6.1-33.4-.7-67.1 15.7-100 11.8-23.9 56.9-76.1 136.1-30.5v-71c0-26.2-.1-26.2 26-26.2 3.1 0 6.6.4 9.7 0 10.1-.8 13.6 4.4 13.6 14.3-.1.2-.1.3-.1.5zm-51.5 232.3c-19.5 47.6-72.9 43.3-90 5.2-15.1-33.3-15.5-68.2.4-101.5 16.3-34.1 59.7-35.7 81.5-4.8 20.6 28.8 14.9 84.6 8.1 101.1zm-294.8 35.3c-7.5-1.3-33-3.3-33.7-27.8-.4-13.9 7.8-23 19.8-25.8 24.4-5.9 49.3-9.9 73.7-14.7 8.9-2 7.4 4.4 7.8 9.5 1.4 33-26.1 59.2-67.6 58.8z\"},\"child\":[]}]})(props);\n};\nexport function FaAffiliatetheme (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M159.7 237.4C108.4 308.3 43.1 348.2 14 326.6-15.2 304.9 2.8 230 54.2 159.1c51.3-70.9 116.6-110.8 145.7-89.2 29.1 21.6 11.1 96.6-40.2 167.5zm351.2-57.3C437.1 303.5 319 367.8 246.4 323.7c-25-15.2-41.3-41.2-49-73.8-33.6 64.8-92.8 113.8-164.1 133.2 49.8 59.3 124.1 96.9 207 96.9 150 0 271.6-123.1 271.6-274.9.1-8.5-.3-16.8-1-25z\"},\"child\":[]}]})(props);\n};\nexport function FaAirbnb (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 373.12c-25.24-31.67-40.08-59.43-45-83.18-22.55-88 112.61-88 90.06 0-5.45 24.25-20.29 52-45 83.18zm138.15 73.23c-42.06 18.31-83.67-10.88-119.3-50.47 103.9-130.07 46.11-200-18.85-200-54.92 0-85.16 46.51-73.28 100.5 6.93 29.19 25.23 62.39 54.43 99.5-32.53 36.05-60.55 52.69-85.15 54.92-50 7.43-89.11-41.06-71.3-91.09 15.1-39.16 111.72-231.18 115.87-241.56 15.75-30.07 25.56-57.4 59.38-57.4 32.34 0 43.4 25.94 60.37 59.87 36 70.62 89.35 177.48 114.84 239.09 13.17 33.07-1.37 71.29-37.01 86.64zm47-136.12C280.27 35.93 273.13 32 224 32c-45.52 0-64.87 31.67-84.66 72.79C33.18 317.1 22.89 347.19 22 349.81-3.22 419.14 48.74 480 111.63 480c21.71 0 60.61-6.06 112.37-62.4 58.68 63.78 101.26 62.4 112.37 62.4 62.89.05 114.85-60.86 89.61-130.19.02-3.89-16.82-38.9-16.82-39.58z\"},\"child\":[]}]})(props);\n};\nexport function FaAlgolia (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M229.3 182.6c-49.3 0-89.2 39.9-89.2 89.2 0 49.3 39.9 89.2 89.2 89.2s89.2-39.9 89.2-89.2c0-49.3-40-89.2-89.2-89.2zm62.7 56.6l-58.9 30.6c-1.8.9-3.8-.4-3.8-2.3V201c0-1.5 1.3-2.7 2.7-2.6 26.2 1 48.9 15.7 61.1 37.1.7 1.3.2 3-1.1 3.7zM389.1 32H58.9C26.4 32 0 58.4 0 90.9V421c0 32.6 26.4 59 58.9 59H389c32.6 0 58.9-26.4 58.9-58.9V90.9C448 58.4 421.6 32 389.1 32zm-202.6 84.7c0-10.8 8.7-19.5 19.5-19.5h45.3c10.8 0 19.5 8.7 19.5 19.5v15.4c0 1.8-1.7 3-3.3 2.5-12.3-3.4-25.1-5.1-38.1-5.1-13.5 0-26.7 1.8-39.4 5.5-1.7.5-3.4-.8-3.4-2.5v-15.8zm-84.4 37l9.2-9.2c7.6-7.6 19.9-7.6 27.5 0l7.7 7.7c1.1 1.1 1 3-.3 4-6.2 4.5-12.1 9.4-17.6 14.9-5.4 5.4-10.4 11.3-14.8 17.4-1 1.3-2.9 1.5-4 .3l-7.7-7.7c-7.6-7.5-7.6-19.8 0-27.4zm127.2 244.8c-70 0-126.6-56.7-126.6-126.6s56.7-126.6 126.6-126.6c70 0 126.6 56.6 126.6 126.6 0 69.8-56.7 126.6-126.6 126.6z\"},\"child\":[]}]})(props);\n};\nexport function FaAlipay (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M377.74 32H70.26C31.41 32 0 63.41 0 102.26v307.48C0 448.59 31.41 480 70.26 480h307.48c38.52 0 69.76-31.08 70.26-69.6-45.96-25.62-110.59-60.34-171.6-88.44-32.07 43.97-84.14 81-148.62 81-70.59 0-93.73-45.3-97.04-76.37-3.97-39.01 14.88-81.5 99.52-81.5 35.38 0 79.35 10.25 127.13 24.96 16.53-30.09 26.45-60.34 26.45-60.34h-178.2v-16.7h92.08v-31.24H88.28v-19.01h109.44V92.34h50.92v50.42h109.44v19.01H248.63v31.24h88.77s-15.21 46.62-38.35 90.92c48.93 16.7 100.01 36.04 148.62 52.74V102.26C447.83 63.57 416.43 32 377.74 32zM47.28 322.95c.99 20.17 10.25 53.73 69.93 53.73 52.07 0 92.58-39.68 117.87-72.9-44.63-18.68-84.48-31.41-109.44-31.41-67.45 0-79.35 33.06-78.36 50.58z\"},\"child\":[]}]})(props);\n};\nexport function FaAmazonPay (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 325.3c2.3-4.2 5.2-4.9 9.7-2.5 10.4 5.6 20.6 11.4 31.2 16.7a595.88 595.88 0 0 0 127.4 46.3 616.61 616.61 0 0 0 63.2 11.8 603.33 603.33 0 0 0 95 5.2c17.4-.4 34.8-1.8 52.1-3.8a603.66 603.66 0 0 0 163.3-42.8c2.9-1.2 5.9-2 9.1-1.2 6.7 1.8 9 9 4.1 13.9a70 70 0 0 1-9.6 7.4c-30.7 21.1-64.2 36.4-99.6 47.9a473.31 473.31 0 0 1-75.1 17.6 431 431 0 0 1-53.2 4.8 21.3 21.3 0 0 0-2.5.3H308a21.3 21.3 0 0 0-2.5-.3c-3.6-.2-7.2-.3-10.7-.4a426.3 426.3 0 0 1-50.4-5.3A448.4 448.4 0 0 1 164 420a443.33 443.33 0 0 1-145.6-87c-1.8-1.6-3-3.8-4.4-5.7zM172 65.1l-4.3.6a80.92 80.92 0 0 0-38 15.1c-2.4 1.7-4.6 3.5-7.1 5.4a4.29 4.29 0 0 1-.4-1.4c-.4-2.7-.8-5.5-1.3-8.2-.7-4.6-3-6.6-7.6-6.6h-11.5c-6.9 0-8.2 1.3-8.2 8.2v209.3c0 1 0 2 .1 3 .2 3 2 4.9 4.9 5 7 .1 14.1.1 21.1 0 2.9 0 4.7-2 5-5 .1-1 .1-2 .1-3v-72.4c1.1.9 1.7 1.4 2.2 1.9 17.9 14.9 38.5 19.8 61 15.4 20.4-4 34.6-16.5 43.8-34.9 7-13.9 9.9-28.7 10.3-44.1.5-17.1-1.2-33.9-8.1-49.8-8.5-19.6-22.6-32.5-43.9-36.9-3.2-.7-6.5-1-9.8-1.5-2.8-.1-5.5-.1-8.3-.1zM124.6 107a3.48 3.48 0 0 1 1.7-3.3c13.7-9.5 28.8-14.5 45.6-13.2 14.9 1.1 27.1 8.4 33.5 25.9 3.9 10.7 4.9 21.8 4.9 33 0 10.4-.8 20.6-4 30.6-6.8 21.3-22.4 29.4-42.6 28.5-14-.6-26.2-6-37.4-13.9a3.57 3.57 0 0 1-1.7-3.3c.1-14.1 0-28.1 0-42.2s.1-28 0-42.1zm205.7-41.9c-1 .1-2 .3-2.9.4a148 148 0 0 0-28.9 4.1c-6.1 1.6-12 3.8-17.9 5.8-3.6 1.2-5.4 3.8-5.3 7.7.1 3.3-.1 6.6 0 9.9.1 4.8 2.1 6.1 6.8 4.9 7.8-2 15.6-4.2 23.5-5.7 12.3-2.3 24.7-3.3 37.2-1.4 6.5 1 12.6 2.9 16.8 8.4 3.7 4.8 5.1 10.5 5.3 16.4.3 8.3.2 16.6.3 24.9a7.84 7.84 0 0 1-.2 1.4c-.5-.1-.9 0-1.3-.1a180.56 180.56 0 0 0-32-4.9c-11.3-.6-22.5.1-33.3 3.9-12.9 4.5-23.3 12.3-29.4 24.9-4.7 9.8-5.4 20.2-3.9 30.7 2 14 9 24.8 21.4 31.7 11.9 6.6 24.8 7.4 37.9 5.4 15.1-2.3 28.5-8.7 40.3-18.4a7.36 7.36 0 0 1 1.6-1.1c.6 3.8 1.1 7.4 1.8 11 .6 3.1 2.5 5.1 5.4 5.2 5.4.1 10.9.1 16.3 0a4.84 4.84 0 0 0 4.8-4.7 26.2 26.2 0 0 0 .1-2.8v-106a80 80 0 0 0-.9-12.9c-1.9-12.9-7.4-23.5-19-30.4-6.7-4-14.1-6-21.8-7.1-3.6-.5-7.2-.8-10.8-1.3-3.9.1-7.9.1-11.9.1zm35 127.7a3.33 3.33 0 0 1-1.5 3c-11.2 8.1-23.5 13.5-37.4 14.9-5.7.6-11.4.4-16.8-1.8a20.08 20.08 0 0 1-12.4-13.3 32.9 32.9 0 0 1-.1-19.4c2.5-8.3 8.4-13 16.4-15.6a61.33 61.33 0 0 1 24.8-2.2c8.4.7 16.6 2.3 25 3.4 1.6.2 2.1 1 2.1 2.6-.1 4.8 0 9.5 0 14.3s-.2 9.4-.1 14.1zm259.9 129.4c-1-5-4.8-6.9-9.1-8.3a88.42 88.42 0 0 0-21-3.9 147.32 147.32 0 0 0-39.2 1.9c-14.3 2.7-27.9 7.3-40 15.6a13.75 13.75 0 0 0-3.7 3.5 5.11 5.11 0 0 0-.5 4c.4 1.5 2.1 1.9 3.6 1.8a16.2 16.2 0 0 0 2.2-.1c7.8-.8 15.5-1.7 23.3-2.5 11.4-1.1 22.9-1.8 34.3-.9a71.64 71.64 0 0 1 14.4 2.7c5.1 1.4 7.4 5.2 7.6 10.4.4 8-1.4 15.7-3.5 23.3-4.1 15.4-10 30.3-15.8 45.1a17.6 17.6 0 0 0-1 3c-.5 2.9 1.2 4.8 4.1 4.1a10.56 10.56 0 0 0 4.8-2.5 145.91 145.91 0 0 0 12.7-13.4c12.8-16.4 20.3-35.3 24.7-55.6.8-3.6 1.4-7.3 2.1-10.9v-17.3zM493.1 199q-19.35-53.55-38.7-107.2c-2-5.7-4.2-11.3-6.3-16.9-1.1-2.9-3.2-4.8-6.4-4.8-7.6-.1-15.2-.2-22.9-.1-2.5 0-3.7 2-3.2 4.5a43.1 43.1 0 0 0 1.9 6.1q29.4 72.75 59.1 145.5c1.7 4.1 2.1 7.6.2 11.8-3.3 7.3-5.9 15-9.3 22.3-3 6.5-8 11.4-15.2 13.3a42.13 42.13 0 0 1-15.4 1.1c-2.5-.2-5-.8-7.5-1-3.4-.2-5.1 1.3-5.2 4.8q-.15 5 0 9.9c.1 5.5 2 8 7.4 8.9a108.18 108.18 0 0 0 16.9 2c17.1.4 30.7-6.5 39.5-21.4a131.63 131.63 0 0 0 9.2-18.4q35.55-89.7 70.6-179.6a26.62 26.62 0 0 0 1.6-5.5c.4-2.8-.9-4.4-3.7-4.4-6.6-.1-13.3 0-19.9 0a7.54 7.54 0 0 0-7.7 5.2c-.5 1.4-1.1 2.7-1.6 4.1l-34.8 100c-2.5 7.2-5.1 14.5-7.7 22.2-.4-1.1-.6-1.7-.9-2.4z\"},\"child\":[]}]})(props);\n};\nexport function FaAmazon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M257.2 162.7c-48.7 1.8-169.5 15.5-169.5 117.5 0 109.5 138.3 114 183.5 43.2 6.5 10.2 35.4 37.5 45.3 46.8l56.8-56S341 288.9 341 261.4V114.3C341 89 316.5 32 228.7 32 140.7 32 94 87 94 136.3l73.5 6.8c16.3-49.5 54.2-49.5 54.2-49.5 40.7-.1 35.5 29.8 35.5 69.1zm0 86.8c0 80-84.2 68-84.2 17.2 0-47.2 50.5-56.7 84.2-57.8v40.6zm136 163.5c-7.7 10-70 67-174.5 67S34.2 408.5 9.7 379c-6.8-7.7 1-11.3 5.5-8.3C88.5 415.2 203 488.5 387.7 401c7.5-3.7 13.3 2 5.5 12zm39.8 2.2c-6.5 15.8-16 26.8-21.2 31-5.5 4.5-9.5 2.7-6.5-3.8s19.3-46.5 12.7-55c-6.5-8.3-37-4.3-48-3.2-10.8 1-13 2-14-.3-2.3-5.7 21.7-15.5 37.5-17.5 15.7-1.8 41-.8 46 5.7 3.7 5.1 0 27.1-6.5 43.1z\"},\"child\":[]}]})(props);\n};\nexport function FaAmilia (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M240.1 32c-61.9 0-131.5 16.9-184.2 55.4-5.1 3.1-9.1 9.2-7.2 19.4 1.1 5.1 5.1 27.4 10.2 39.6 4.1 10.2 14.2 10.2 20.3 6.1 32.5-22.3 96.5-47.7 152.3-47.7 57.9 0 58.9 28.4 58.9 73.1v38.5C203 227.7 78.2 251 46.7 264.2 11.2 280.5 16.3 357.7 16.3 376s15.2 104 124.9 104c47.8 0 113.7-20.7 153.3-42.1v25.4c0 3 2.1 8.2 6.1 9.1 3.1 1 50.7 2 59.9 2s62.5.3 66.5-.7c4.1-1 5.1-6.1 5.1-9.1V168c-.1-80.3-57.9-136-192-136zm50.2 348c-21.4 13.2-48.7 24.4-79.1 24.4-52.8 0-58.9-33.5-59-44.7 0-12.2-3-42.7 18.3-52.9 24.3-13.2 75.1-29.4 119.8-33.5z\"},\"child\":[]}]})(props);\n};\nexport function FaAndroid (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M420.55,301.93a24,24,0,1,1,24-24,24,24,0,0,1-24,24m-265.1,0a24,24,0,1,1,24-24,24,24,0,0,1-24,24m273.7-144.48,47.94-83a10,10,0,1,0-17.27-10h0l-48.54,84.07a301.25,301.25,0,0,0-246.56,0L116.18,64.45a10,10,0,1,0-17.27,10h0l47.94,83C64.53,202.22,8.24,285.55,0,384H576c-8.24-98.45-64.54-181.78-146.85-226.55\"},\"child\":[]}]})(props);\n};\nexport function FaAngellist (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M347.1 215.4c11.7-32.6 45.4-126.9 45.4-157.1 0-26.6-15.7-48.9-43.7-48.9-44.6 0-84.6 131.7-97.1 163.1C242 144 196.6 0 156.6 0c-31.1 0-45.7 22.9-45.7 51.7 0 35.3 34.2 126.8 46.6 162-6.3-2.3-13.1-4.3-20-4.3-23.4 0-48.3 29.1-48.3 52.6 0 8.9 4.9 21.4 8 29.7-36.9 10-51.1 34.6-51.1 71.7C46 435.6 114.4 512 210.6 512c118 0 191.4-88.6 191.4-202.9 0-43.1-6.9-82-54.9-93.7zM311.7 108c4-12.3 21.1-64.3 37.1-64.3 8.6 0 10.9 8.9 10.9 16 0 19.1-38.6 124.6-47.1 148l-34-6 33.1-93.7zM142.3 48.3c0-11.9 14.5-45.7 46.3 47.1l34.6 100.3c-15.6-1.3-27.7-3-35.4 1.4-10.9-28.8-45.5-119.7-45.5-148.8zM140 244c29.3 0 67.1 94.6 67.1 107.4 0 5.1-4.9 11.4-10.6 11.4-20.9 0-76.9-76.9-76.9-97.7.1-7.7 12.7-21.1 20.4-21.1zm184.3 186.3c-29.1 32-66.3 48.6-109.7 48.6-59.4 0-106.3-32.6-128.9-88.3-17.1-43.4 3.8-68.3 20.6-68.3 11.4 0 54.3 60.3 54.3 73.1 0 4.9-7.7 8.3-11.7 8.3-16.1 0-22.4-15.5-51.1-51.4-29.7 29.7 20.5 86.9 58.3 86.9 26.1 0 43.1-24.2 38-42 3.7 0 8.3.3 11.7-.6 1.1 27.1 9.1 59.4 41.7 61.7 0-.9 2-7.1 2-7.4 0-17.4-10.6-32.6-10.6-50.3 0-28.3 21.7-55.7 43.7-71.7 8-6 17.7-9.7 27.1-13.1 9.7-3.7 20-8 27.4-15.4-1.1-11.2-5.7-21.1-16.9-21.1-27.7 0-120.6 4-120.6-39.7 0-6.7.1-13.1 17.4-13.1 32.3 0 114.3 8 138.3 29.1 18.1 16.1 24.3 113.2-31 174.7zm-98.6-126c9.7 3.1 19.7 4 29.7 6-7.4 5.4-14 12-20.3 19.1-2.8-8.5-6.2-16.8-9.4-25.1z\"},\"child\":[]}]})(props);\n};\nexport function FaAngrycreative (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M640 238.2l-3.2 28.2-34.5 2.3-2 18.1 34.5-2.3-3.2 28.2-34.4 2.2-2.3 20.1 34.4-2.2-3 26.1-64.7 4.1 12.7-113.2L527 365.2l-31.9 2-23.8-117.8 30.3-2 13.6 79.4 31.7-82.4 93.1-6.2zM426.8 371.5l28.3-1.8L468 249.6l-28.4 1.9-12.8 120zM162 388.1l-19.4-36-3.5 37.4-28.2 1.7 2.7-29.1c-11 18-32 34.3-56.9 35.8C23.9 399.9-3 377 .3 339.7c2.6-29.3 26.7-62.8 67.5-65.4 37.7-2.4 47.6 23.2 51.3 28.8l2.8-30.8 38.9-2.5c20.1-1.3 38.7 3.7 42.5 23.7l2.6-26.6 64.8-4.2-2.7 27.9-36.4 2.4-1.7 17.9 36.4-2.3-2.7 27.9-36.4 2.3-1.9 19.9 36.3-2.3-2.1 20.8 55-117.2 23.8-1.6L370.4 369l8.9-85.6-22.3 1.4 2.9-27.9 75-4.9-3 28-24.3 1.6-9.7 91.9-58 3.7-4.3-15.6-39.4 2.5-8 16.3-126.2 7.7zm-44.3-70.2l-26.4 1.7C84.6 307.2 76.9 303 65 303.8c-19 1.2-33.3 17.5-34.6 33.3-1.4 16 7.3 32.5 28.7 31.2 12.8-.8 21.3-8.6 28.9-18.9l27-1.7 2.7-29.8zm56.1-7.7c1.2-12.9-7.6-13.6-26.1-12.4l-2.7 28.5c14.2-.9 27.5-2.1 28.8-16.1zm21.1 70.8l5.8-60c-5 13.5-14.7 21.1-27.9 26.6l22.1 33.4zm135.4-45l-7.9-37.8-15.8 39.3 23.7-1.5zm-170.1-74.6l-4.3-17.5-39.6 2.6-8.1 18.2-31.9 2.1 57-121.9 23.9-1.6 30.7 102 9.9-104.7 27-1.8 37.8 63.6 6.5-66.6 28.5-1.9-4 41.2c7.4-13.5 22.9-44.7 63.6-47.5 40.5-2.8 52.4 29.3 53.4 30.3l3.3-32 39.3-2.7c12.7-.9 27.8.3 36.3 9.7l-4.4-11.9 32.2-2.2 12.9 43.2 23-45.7 31-2.2-43.6 78.4-4.8 44.3-28.4 1.9 4.8-44.3-15.8-43c1 22.3-9.2 40.1-32 49.6l25.2 38.8-36.4 2.4-19.2-36.8-4 38.3-28.4 1.9 3.3-31.5c-6.7 9.3-19.7 35.4-59.6 38-26.2 1.7-45.6-10.3-55.4-39.2l-4 40.3-25 1.6-37.6-63.3-6.3 66.2-56.8 3.7zm276.6-82.1c10.2-.7 17.5-2.1 21.6-4.3 4.5-2.4 7-6.4 7.6-12.1.6-5.3-.6-8.8-3.4-10.4-3.6-2.1-10.6-2.8-22.9-2l-2.9 28.8zM327.7 214c5.6 5.9 12.7 8.5 21.3 7.9 4.7-.3 9.1-1.8 13.3-4.1 5.5-3 10.6-8 15.1-14.3l-34.2 2.3 2.4-23.9 63.1-4.3 1.2-12-31.2 2.1c-4.1-3.7-7.8-6.6-11.1-8.1-4-1.7-8.1-2.8-12.2-2.5-8 .5-15.3 3.6-22 9.2-7.7 6.4-12 14.5-12.9 24.4-1.1 9.6 1.4 17.3 7.2 23.3zm-201.3 8.2l23.8-1.6-8.3-37.6-15.5 39.2z\"},\"child\":[]}]})(props);\n};\nexport function FaAngular (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M185.7 268.1h76.2l-38.1-91.6-38.1 91.6zM223.8 32L16 106.4l31.8 275.7 176 97.9 176-97.9 31.8-275.7zM354 373.8h-48.6l-26.2-65.4H168.6l-26.2 65.4H93.7L223.8 81.5z\"},\"child\":[]}]})(props);\n};\nexport function FaAppStoreIos (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM127 384.5c-5.5 9.6-17.8 12.8-27.3 7.3-9.6-5.5-12.8-17.8-7.3-27.3l14.3-24.7c16.1-4.9 29.3-1.1 39.6 11.4L127 384.5zm138.9-53.9H84c-11 0-20-9-20-20s9-20 20-20h51l65.4-113.2-20.5-35.4c-5.5-9.6-2.2-21.8 7.3-27.3 9.6-5.5 21.8-2.2 27.3 7.3l8.9 15.4 8.9-15.4c5.5-9.6 17.8-12.8 27.3-7.3 9.6 5.5 12.8 17.8 7.3 27.3l-85.8 148.6h62.1c20.2 0 31.5 23.7 22.7 40zm98.1 0h-29l19.6 33.9c5.5 9.6 2.2 21.8-7.3 27.3-9.6 5.5-21.8 2.2-27.3-7.3-32.9-56.9-57.5-99.7-74-128.1-16.7-29-4.8-58 7.1-67.8 13.1 22.7 32.7 56.7 58.9 102h52c11 0 20 9 20 20 0 11.1-9 20-20 20z\"},\"child\":[]}]})(props);\n};\nexport function FaAppStore (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M255.9 120.9l9.1-15.7c5.6-9.8 18.1-13.1 27.9-7.5 9.8 5.6 13.1 18.1 7.5 27.9l-87.5 151.5h63.3c20.5 0 32 24.1 23.1 40.8H113.8c-11.3 0-20.4-9.1-20.4-20.4 0-11.3 9.1-20.4 20.4-20.4h52l66.6-115.4-20.8-36.1c-5.6-9.8-2.3-22.2 7.5-27.9 9.8-5.6 22.2-2.3 27.9 7.5l8.9 15.7zm-78.7 218l-19.6 34c-5.6 9.8-18.1 13.1-27.9 7.5-9.8-5.6-13.1-18.1-7.5-27.9l14.6-25.2c16.4-5.1 29.8-1.2 40.4 11.6zm168.9-61.7h53.1c11.3 0 20.4 9.1 20.4 20.4 0 11.3-9.1 20.4-20.4 20.4h-29.5l19.9 34.5c5.6 9.8 2.3 22.2-7.5 27.9-9.8 5.6-22.2 2.3-27.9-7.5-33.5-58.1-58.7-101.6-75.4-130.6-17.1-29.5-4.9-59.1 7.2-69.1 13.4 23 33.4 57.7 60.1 104zM256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm216 248c0 118.7-96.1 216-216 216-118.7 0-216-96.1-216-216 0-118.7 96.1-216 216-216 118.7 0 216 96.1 216 216z\"},\"child\":[]}]})(props);\n};\nexport function FaApper (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M42.1 239.1c22.2 0 29 2.8 33.5 14.6h.8v-22.9c0-11.3-4.8-15.4-17.9-15.4-11.3 0-14.4 2.5-15.1 12.8H4.8c.3-13.9 1.5-19.1 5.8-24.4C17.9 195 29.5 192 56.7 192c33 0 47.1 5 53.9 18.9 2 4.3 4 15.6 4 23.7v76.3H76.3l1.3-19.1h-1c-5.3 15.6-13.6 20.4-35.5 20.4-30.3 0-41.1-10.1-41.1-37.3 0-25.2 12.3-35.8 42.1-35.8zm17.1 48.1c13.1 0 16.9-3 16.9-13.4 0-9.1-4.3-11.6-19.6-11.6-13.1 0-17.9 3-17.9 12.1-.1 10.4 3.7 12.9 20.6 12.9zm77.8-94.9h38.3l-1.5 20.6h.8c9.1-17.1 15.9-20.9 37.5-20.9 14.4 0 24.7 3 31.5 9.1 9.8 8.6 12.8 20.4 12.8 48.1 0 30-3 43.1-12.1 52.9-6.8 7.3-16.4 10.1-33.2 10.1-20.4 0-29.2-5.5-33.8-21.2h-.8v70.3H137v-169zm80.9 60.7c0-27.5-3.3-32.5-20.7-32.5-16.9 0-20.7 5-20.7 28.7 0 28 3.5 33.5 21.2 33.5 16.4 0 20.2-5.6 20.2-29.7zm57.9-60.7h38.3l-1.5 20.6h.8c9.1-17.1 15.9-20.9 37.5-20.9 14.4 0 24.7 3 31.5 9.1 9.8 8.6 12.8 20.4 12.8 48.1 0 30-3 43.1-12.1 52.9-6.8 7.3-16.4 10.1-33.3 10.1-20.4 0-29.2-5.5-33.8-21.2h-.8v70.3h-39.5v-169zm80.9 60.7c0-27.5-3.3-32.5-20.7-32.5-16.9 0-20.7 5-20.7 28.7 0 28 3.5 33.5 21.2 33.5 16.4 0 20.2-5.6 20.2-29.7zm53.8-3.8c0-25.4 3.3-37.8 12.3-45.8 8.8-8.1 22.2-11.3 45.1-11.3 42.8 0 55.7 12.8 55.7 55.7v11.1h-75.3c-.3 2-.3 4-.3 4.8 0 16.9 4.5 21.9 20.1 21.9 13.9 0 17.9-3 17.9-13.9h37.5v2.3c0 9.8-2.5 18.9-6.8 24.7-7.3 9.8-19.6 13.6-44.3 13.6-27.5 0-41.6-3.3-50.6-12.3-8.5-8.5-11.3-21.3-11.3-50.8zm76.4-11.6c-.3-1.8-.3-3.3-.3-3.8 0-12.3-3.3-14.6-19.6-14.6-14.4 0-17.1 3-18.1 15.1l-.3 3.3h38.3zm55.6-45.3h38.3l-1.8 19.9h.7c6.8-14.9 14.4-20.2 29.7-20.2 10.8 0 19.1 3.3 23.4 9.3 5.3 7.3 6.8 14.4 6.8 34 0 1.5 0 5 .2 9.3h-35c.3-1.8.3-3.3.3-4 0-15.4-2-19.4-10.3-19.4-6.3 0-10.8 3.3-13.1 9.3-1 3-1 4.3-1 12.3v68h-38.3V192.3z\"},\"child\":[]}]})(props);\n};\nexport function FaApplePay (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M116.9 158.5c-7.5 8.9-19.5 15.9-31.5 14.9-1.5-12 4.4-24.8 11.3-32.6 7.5-9.1 20.6-15.6 31.3-16.1 1.2 12.4-3.7 24.7-11.1 33.8m10.9 17.2c-17.4-1-32.3 9.9-40.5 9.9-8.4 0-21-9.4-34.8-9.1-17.9.3-34.5 10.4-43.6 26.5-18.8 32.3-4.9 80 13.3 106.3 8.9 13 19.5 27.3 33.5 26.8 13.3-.5 18.5-8.6 34.5-8.6 16.1 0 20.8 8.6 34.8 8.4 14.5-.3 23.6-13 32.5-26 10.1-14.8 14.3-29.1 14.5-29.9-.3-.3-28-10.9-28.3-42.9-.3-26.8 21.9-39.5 22.9-40.3-12.5-18.6-32-20.6-38.8-21.1m100.4-36.2v194.9h30.3v-66.6h41.9c38.3 0 65.1-26.3 65.1-64.3s-26.4-64-64.1-64h-73.2zm30.3 25.5h34.9c26.3 0 41.3 14 41.3 38.6s-15 38.8-41.4 38.8h-34.8V165zm162.2 170.9c19 0 36.6-9.6 44.6-24.9h.6v23.4h28v-97c0-28.1-22.5-46.3-57.1-46.3-32.1 0-55.9 18.4-56.8 43.6h27.3c2.3-12 13.4-19.9 28.6-19.9 18.5 0 28.9 8.6 28.9 24.5v10.8l-37.8 2.3c-35.1 2.1-54.1 16.5-54.1 41.5.1 25.2 19.7 42 47.8 42zm8.2-23.1c-16.1 0-26.4-7.8-26.4-19.6 0-12.3 9.9-19.4 28.8-20.5l33.6-2.1v11c0 18.2-15.5 31.2-36 31.2zm102.5 74.6c29.5 0 43.4-11.3 55.5-45.4L640 193h-30.8l-35.6 115.1h-.6L537.4 193h-31.6L557 334.9l-2.8 8.6c-4.6 14.6-12.1 20.3-25.5 20.3-2.4 0-7-.3-8.9-.5v23.4c1.8.4 9.3.7 11.6.7z\"},\"child\":[]}]})(props);\n};\nexport function FaApple (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C63.3 141.2 4 184.8 4 273.5q0 39.3 14.4 81.2c12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z\"},\"child\":[]}]})(props);\n};\nexport function FaArtstation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 377.4l43 74.3A51.35 51.35 0 0 0 90.9 480h285.4l-59.2-102.6zM501.8 350L335.6 59.3A51.38 51.38 0 0 0 290.2 32h-88.4l257.3 447.6 40.7-70.5c1.9-3.2 21-29.7 2-59.1zM275 304.5l-115.5-200L44 304.5z\"},\"child\":[]}]})(props);\n};\nexport function FaAsymmetrik (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M517.5 309.2c38.8-40 58.1-80 58.5-116.1.8-65.5-59.4-118.2-169.4-135C277.9 38.4 118.1 73.6 0 140.5 52 114 110.6 92.3 170.7 82.3c74.5-20.5 153-25.4 221.3-14.8C544.5 91.3 588.8 195 490.8 299.2c-10.2 10.8-22 21.1-35 30.6L304.9 103.4 114.7 388.9c-65.6-29.4-76.5-90.2-19.1-151.2 20.8-22.2 48.3-41.9 79.5-58.1 20-12.2 39.7-22.6 62-30.7-65.1 20.3-122.7 52.9-161.6 92.9-27.7 28.6-41.4 57.1-41.7 82.9-.5 35.1 23.4 65.1 68.4 83l-34.5 51.7h101.6l22-34.4c22.2 1 45.3 0 68.6-2.7l-22.8 37.1h135.5L340 406.3c18.6-5.3 36.9-11.5 54.5-18.7l45.9 71.8H542L468.6 349c18.5-12.1 35-25.5 48.9-39.8zm-187.6 80.5l-25-40.6-32.7 53.3c-23.4 3.5-46.7 5.1-69.2 4.4l101.9-159.3 78.7 123c-17.2 7.4-35.3 13.9-53.7 19.2z\"},\"child\":[]}]})(props);\n};\nexport function FaAtlassian (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M152.2 236.4c-7.7-8.2-19.7-7.7-24.8 2.8L1.6 490.2c-5 10 2.4 21.7 13.4 21.7h175c5.8.1 11-3.2 13.4-8.4 37.9-77.8 15.1-196.3-51.2-267.1zM244.4 8.1c-122.3 193.4-8.5 348.6 65 495.5 2.5 5.1 7.7 8.4 13.4 8.4H497c11.2 0 18.4-11.8 13.4-21.7 0 0-234.5-470.6-240.4-482.3-5.3-10.6-18.8-10.8-25.6.1z\"},\"child\":[]}]})(props);\n};\nexport function FaAudible (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M640 199.9v54l-320 200L0 254v-54l320 200 320-200.1zm-194.5 72l47.1-29.4c-37.2-55.8-100.7-92.6-172.7-92.6-72 0-135.5 36.7-172.6 92.4h.3c2.5-2.3 5.1-4.5 7.7-6.7 89.7-74.4 219.4-58.1 290.2 36.3zm-220.1 18.8c16.9-11.9 36.5-18.7 57.4-18.7 34.4 0 65.2 18.4 86.4 47.6l45.4-28.4c-20.9-29.9-55.6-49.5-94.8-49.5-38.9 0-73.4 19.4-94.4 49zM103.6 161.1c131.8-104.3 318.2-76.4 417.5 62.1l.7 1 48.8-30.4C517.1 112.1 424.8 58.1 319.9 58.1c-103.5 0-196.6 53.5-250.5 135.6 9.9-10.5 22.7-23.5 34.2-32.6zm467 32.7z\"},\"child\":[]}]})(props);\n};\nexport function FaAutoprefixer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M318.4 16l-161 480h77.5l25.4-81.4h119.5L405 496h77.5L318.4 16zm-40.3 341.9l41.2-130.4h1.5l40.9 130.4h-83.6zM640 405l-10-31.4L462.1 358l19.4 56.5L640 405zm-462.1-47L10 373.7 0 405l158.5 9.4 19.4-56.4z\"},\"child\":[]}]})(props);\n};\nexport function FaAvianex (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M453.1 32h-312c-38.9 0-76.2 31.2-83.3 69.7L1.2 410.3C-5.9 448.8 19.9 480 58.9 480h312c38.9 0 76.2-31.2 83.3-69.7l56.7-308.5c7-38.6-18.8-69.8-57.8-69.8zm-58.2 347.3l-32 13.5-115.4-110c-14.7 10-29.2 19.5-41.7 27.1l22.1 64.2-17.9 12.7-40.6-61-52.4-48.1 15.7-15.4 58 31.1c9.3-10.5 20.8-22.6 32.8-34.9L203 228.9l-68.8-99.8 18.8-28.9 8.9-4.8L265 207.8l4.9 4.5c19.4-18.8 33.8-32.4 33.8-32.4 7.7-6.5 21.5-2.9 30.7 7.9 9 10.5 10.6 24.7 2.7 31.3-1.8 1.3-15.5 11.4-35.3 25.6l4.5 7.3 94.9 119.4-6.3 7.9z\"},\"child\":[]}]})(props);\n};\nexport function FaAviato (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M107.2 283.5l-19-41.8H36.1l-19 41.8H0l62.2-131.4 62.2 131.4h-17.2zm-45-98.1l-19.6 42.5h39.2l-19.6-42.5zm112.7 102.4l-62.2-131.4h17.1l45.1 96 45.1-96h17l-62.1 131.4zm80.6-4.3V156.4H271v127.1h-15.5zm209.1-115.6v115.6h-17.3V167.9h-41.2v-11.5h99.6v11.5h-41.1zM640 218.8c0 9.2-1.7 17.8-5.1 25.8-3.4 8-8.2 15.1-14.2 21.1-6 6-13.1 10.8-21.1 14.2-8 3.4-16.6 5.1-25.8 5.1s-17.8-1.7-25.8-5.1c-8-3.4-15.1-8.2-21.1-14.2-6-6-10.8-13-14.2-21.1-3.4-8-5.1-16.6-5.1-25.8s1.7-17.8 5.1-25.8c3.4-8 8.2-15.1 14.2-21.1 6-6 13-8.4 21.1-11.9 8-3.4 16.6-5.1 25.8-5.1s17.8 1.7 25.8 5.1c8 3.4 15.1 5.8 21.1 11.9 6 6 10.7 13.1 14.2 21.1 3.4 8 5.1 16.6 5.1 25.8zm-15.5 0c0-7.3-1.3-14-3.9-20.3-2.6-6.3-6.2-11.7-10.8-16.3-4.6-4.6-10-8.2-16.2-10.9-6.2-2.7-12.8-4-19.8-4s-13.6 1.3-19.8 4c-6.2 2.7-11.6 6.3-16.2 10.9-4.6 4.6-8.2 10-10.8 16.3-2.6 6.3-3.9 13.1-3.9 20.3 0 7.3 1.3 14 3.9 20.3 2.6 6.3 6.2 11.7 10.8 16.3 4.6 4.6 10 8.2 16.2 10.9 6.2 2.7 12.8 4 19.8 4s13.6-1.3 19.8-4c6.2-2.7 11.6-6.3 16.2-10.9 4.6-4.6 8.2-10 10.8-16.3 2.6-6.3 3.9-13.1 3.9-20.3zm-94.8 96.7v-6.3l88.9-10-242.9 13.4c.6-2.2 1.1-4.6 1.4-7.2.3-2 .5-4.2.6-6.5l64.8-8.1-64.9 1.9c0-.4-.1-.7-.1-1.1-2.8-17.2-25.5-23.7-25.5-23.7l-1.1-26.3h23.8l19 41.8h17.1L348.6 152l-62.2 131.4h17.1l19-41.8h23.6L345 268s-22.7 6.5-25.5 23.7c-.1.3-.1.7-.1 1.1l-64.9-1.9 64.8 8.1c.1 2.3.3 4.4.6 6.5.3 2.6.8 5 1.4 7.2L78.4 299.2l88.9 10v6.3c-5.9.9-10.5 6-10.5 12.2 0 6.8 5.6 12.4 12.4 12.4 6.8 0 12.4-5.6 12.4-12.4 0-6.2-4.6-11.3-10.5-12.2v-5.8l80.3 9v5.4c-5.7 1.1-9.9 6.2-9.9 12.1 0 6.8 5.6 10.2 12.4 10.2 6.8 0 12.4-3.4 12.4-10.2 0-6-4.3-11-9.9-12.1v-4.9l28.4 3.2v23.7h-5.9V360h5.9v-6.6h5v6.6h5.9v-13.8h-5.9V323l38.3 4.3c8.1 11.4 19 13.6 19 13.6l-.1 6.7-5.1.2-.1 12.1h4.1l.1-5h5.2l.1 5h4.1l-.1-12.1-5.1-.2-.1-6.7s10.9-2.1 19-13.6l38.3-4.3v23.2h-5.9V360h5.9v-6.6h5v6.6h5.9v-13.8h-5.9v-23.7l28.4-3.2v4.9c-5.7 1.1-9.9 6.2-9.9 12.1 0 6.8 5.6 10.2 12.4 10.2 6.8 0 12.4-3.4 12.4-10.2 0-6-4.3-11-9.9-12.1v-5.4l80.3-9v5.8c-5.9.9-10.5 6-10.5 12.2 0 6.8 5.6 12.4 12.4 12.4 6.8 0 12.4-5.6 12.4-12.4-.2-6.3-4.7-11.4-10.7-12.3zm-200.8-87.6l19.6-42.5 19.6 42.5h-17.9l-1.7-40.3-1.7 40.3h-17.9z\"},\"child\":[]}]})(props);\n};\nexport function FaAws (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M180.41 203.01c-.72 22.65 10.6 32.68 10.88 39.05a8.164 8.164 0 0 1-4.1 6.27l-12.8 8.96a10.66 10.66 0 0 1-5.63 1.92c-.43-.02-8.19 1.83-20.48-25.61a78.608 78.608 0 0 1-62.61 29.45c-16.28.89-60.4-9.24-58.13-56.21-1.59-38.28 34.06-62.06 70.93-60.05 7.1.02 21.6.37 46.99 6.27v-15.62c2.69-26.46-14.7-46.99-44.81-43.91-2.4.01-19.4-.5-45.84 10.11-7.36 3.38-8.3 2.82-10.75 2.82-7.41 0-4.36-21.48-2.94-24.2 5.21-6.4 35.86-18.35 65.94-18.18a76.857 76.857 0 0 1 55.69 17.28 70.285 70.285 0 0 1 17.67 52.36l-.01 69.29zM93.99 235.4c32.43-.47 46.16-19.97 49.29-30.47 2.46-10.05 2.05-16.41 2.05-27.4-9.67-2.32-23.59-4.85-39.56-4.87-15.15-1.14-42.82 5.63-41.74 32.26-1.24 16.79 11.12 31.4 29.96 30.48zm170.92 23.05c-7.86.72-11.52-4.86-12.68-10.37l-49.8-164.65c-.97-2.78-1.61-5.65-1.92-8.58a4.61 4.61 0 0 1 3.86-5.25c.24-.04-2.13 0 22.25 0 8.78-.88 11.64 6.03 12.55 10.37l35.72 140.83 33.16-140.83c.53-3.22 2.94-11.07 12.8-10.24h17.16c2.17-.18 11.11-.5 12.68 10.37l33.42 142.63L420.98 80.1c.48-2.18 2.72-11.37 12.68-10.37h19.72c.85-.13 6.15-.81 5.25 8.58-.43 1.85 3.41-10.66-52.75 169.9-1.15 5.51-4.82 11.09-12.68 10.37h-18.69c-10.94 1.15-12.51-9.66-12.68-10.75L328.67 110.7l-32.78 136.99c-.16 1.09-1.73 11.9-12.68 10.75h-18.3zm273.48 5.63c-5.88.01-33.92-.3-57.36-12.29a12.802 12.802 0 0 1-7.81-11.91v-10.75c0-8.45 6.2-6.9 8.83-5.89 10.04 4.06 16.48 7.14 28.81 9.6 36.65 7.53 52.77-2.3 56.72-4.48 13.15-7.81 14.19-25.68 5.25-34.95-10.48-8.79-15.48-9.12-53.13-21-4.64-1.29-43.7-13.61-43.79-52.36-.61-28.24 25.05-56.18 69.52-55.95 12.67-.01 46.43 4.13 55.57 15.62 1.35 2.09 2.02 4.55 1.92 7.04v10.11c0 4.44-1.62 6.66-4.87 6.66-7.71-.86-21.39-11.17-49.16-10.75-6.89-.36-39.89.91-38.41 24.97-.43 18.96 26.61 26.07 29.7 26.89 36.46 10.97 48.65 12.79 63.12 29.58 17.14 22.25 7.9 48.3 4.35 55.44-19.08 37.49-68.42 34.44-69.26 34.42zm40.2 104.86c-70.03 51.72-171.69 79.25-258.49 79.25A469.127 469.127 0 0 1 2.83 327.46c-6.53-5.89-.77-13.96 7.17-9.47a637.37 637.37 0 0 0 316.88 84.12 630.22 630.22 0 0 0 241.59-49.55c11.78-5 21.77 7.8 10.12 16.38zm29.19-33.29c-8.96-11.52-59.28-5.38-81.81-2.69-6.79.77-7.94-5.12-1.79-9.47 40.07-28.17 105.88-20.1 113.44-10.63 7.55 9.47-2.05 75.41-39.56 106.91-5.76 4.87-11.27 2.3-8.71-4.1 8.44-21.25 27.39-68.49 18.43-80.02z\"},\"child\":[]}]})(props);\n};\nexport function FaBandcamp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256,8C119,8,8,119,8,256S119,504,256,504,504,393,504,256,393,8,256,8Zm48.2,326.1h-181L207.9,178h181Z\"},\"child\":[]}]})(props);\n};\nexport function FaBattleNet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448.61 225.62c26.87.18 35.57-7.43 38.92-12.37 12.47-16.32-7.06-47.6-52.85-71.33 17.76-33.58 30.11-63.68 36.34-85.3 3.38-11.83 1.09-19 .45-20.25-1.72 10.52-15.85 48.46-48.2 100.05-25-11.22-56.52-20.1-93.77-23.8-8.94-16.94-34.88-63.86-60.48-88.93C252.18 7.14 238.7 1.07 228.18.22h-.05c-13.83-1.55-22.67 5.85-27.4 11-17.2 18.53-24.33 48.87-25 84.07-7.24-12.35-17.17-24.63-28.5-25.93h-.18c-20.66-3.48-38.39 29.22-36 81.29-38.36 1.38-71 5.75-93 11.23-9.9 2.45-16.22 7.27-17.76 9.72 1-.38 22.4-9.22 111.56-9.22 5.22 53 29.75 101.82 26 93.19-9.73 15.4-38.24 62.36-47.31 97.7-5.87 22.88-4.37 37.61.15 47.14 5.57 12.75 16.41 16.72 23.2 18.26 25 5.71 55.38-3.63 86.7-21.14-7.53 12.84-13.9 28.51-9.06 39.34 7.31 19.65 44.49 18.66 88.44-9.45 20.18 32.18 40.07 57.94 55.7 74.12a39.79 39.79 0 0 0 8.75 7.09c5.14 3.21 8.58 3.37 8.58 3.37-8.24-6.75-34-38-62.54-91.78 22.22-16 45.65-38.87 67.47-69.27 122.82 4.6 143.29-24.76 148-31.64 14.67-19.88 3.43-57.44-57.32-93.69zm-77.85 106.22c23.81-37.71 30.34-67.77 29.45-92.33 27.86 17.57 47.18 37.58 49.06 58.83 1.14 12.93-8.1 29.12-78.51 33.5zM216.9 387.69c9.76-6.23 19.53-13.12 29.2-20.49 6.68 13.33 13.6 26.1 20.6 38.19-40.6 21.86-68.84 12.76-49.8-17.7zm215-171.35c-10.29-5.34-21.16-10.34-32.38-15.05a722.459 722.459 0 0 0 22.74-36.9c39.06 24.1 45.9 53.18 9.64 51.95zM279.18 398c-5.51-11.35-11-23.5-16.5-36.44 43.25 1.27 62.42-18.73 63.28-20.41 0 .07-25 15.64-62.53 12.25a718.78 718.78 0 0 0 85.06-84q13.06-15.31 24.93-31.11c-.36-.29-1.54-3-16.51-12-51.7 60.27-102.34 98-132.75 115.92-20.59-11.18-40.84-31.78-55.71-61.49-20-39.92-30-82.39-31.57-116.07 12.3.91 25.27 2.17 38.85 3.88-22.29 36.8-14.39 63-13.47 64.23 0-.07-.95-29.17 20.14-59.57a695.23 695.23 0 0 0 44.67 152.84c.93-.38 1.84.88 18.67-8.25-26.33-74.47-33.76-138.17-34-173.43 20-12.42 48.18-19.8 81.63-17.81 44.57 2.67 86.36 15.25 116.32 30.71q-10.69 15.66-23.33 32.47C365.63 152 339.1 145.84 337.5 146c.11 0 25.9 14.07 41.52 47.22a717.63 717.63 0 0 0-115.34-31.71 646.608 646.608 0 0 0-39.39-6.05c-.07.45-1.81 1.85-2.16 20.33C300 190.28 358.78 215.68 389.36 233c.74 23.55-6.95 51.61-25.41 79.57-24.6 37.31-56.39 67.23-84.77 85.43zm27.4-287c-44.56-1.66-73.58 7.43-94.69 20.67 2-52.3 21.31-76.38 38.21-75.28C267 52.15 305 108.55 306.58 111zm-130.65 3.1c.48 12.11 1.59 24.62 3.21 37.28-14.55-.85-28.74-1.25-42.4-1.26-.08 3.24-.12-51 24.67-49.59h.09c5.76 1.09 10.63 6.88 14.43 13.57zm-28.06 162c20.76 39.7 43.3 60.57 65.25 72.31-46.79 24.76-77.53 20-84.92 4.51-.2-.21-11.13-15.3 19.67-76.81zm210.06 74.8\"},\"child\":[]}]})(props);\n};\nexport function FaBehanceSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M186.5 293c0 19.3-14 25.4-31.2 25.4h-45.1v-52.9h46c18.6.1 30.3 7.8 30.3 27.5zm-7.7-82.3c0-17.7-13.7-21.9-28.9-21.9h-39.6v44.8H153c15.1 0 25.8-6.6 25.8-22.9zm132.3 23.2c-18.3 0-30.5 11.4-31.7 29.7h62.2c-1.7-18.5-11.3-29.7-30.5-29.7zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zM271.7 185h77.8v-18.9h-77.8V185zm-43 110.3c0-24.1-11.4-44.9-35-51.6 17.2-8.2 26.2-17.7 26.2-37 0-38.2-28.5-47.5-61.4-47.5H68v192h93.1c34.9-.2 67.6-16.9 67.6-55.9zM380 280.5c0-41.1-24.1-75.4-67.6-75.4-42.4 0-71.1 31.8-71.1 73.6 0 43.3 27.3 73 71.1 73 33.2 0 54.7-14.9 65.1-46.8h-33.7c-3.7 11.9-18.6 18.1-30.2 18.1-22.4 0-34.1-13.1-34.1-35.3h100.2c.1-2.3.3-4.8.3-7.2z\"},\"child\":[]}]})(props);\n};\nexport function FaBehance (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M232 237.2c31.8-15.2 48.4-38.2 48.4-74 0-70.6-52.6-87.8-113.3-87.8H0v354.4h171.8c64.4 0 124.9-30.9 124.9-102.9 0-44.5-21.1-77.4-64.7-89.7zM77.9 135.9H151c28.1 0 53.4 7.9 53.4 40.5 0 30.1-19.7 42.2-47.5 42.2h-79v-82.7zm83.3 233.7H77.9V272h84.9c34.3 0 56 14.3 56 50.6 0 35.8-25.9 47-57.6 47zm358.5-240.7H376V94h143.7v34.9zM576 305.2c0-75.9-44.4-139.2-124.9-139.2-78.2 0-131.3 58.8-131.3 135.8 0 79.9 50.3 134.7 131.3 134.7 61.3 0 101-27.6 120.1-86.3H509c-6.7 21.9-34.3 33.5-55.7 33.5-41.3 0-63-24.2-63-65.3h185.1c.3-4.2.6-8.7.6-13.2zM390.4 274c2.3-33.7 24.7-54.8 58.5-54.8 35.4 0 53.2 20.8 56.2 54.8H390.4z\"},\"child\":[]}]})(props);\n};\nexport function FaBimobject (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416 32H32C14.4 32 0 46.4 0 64v384c0 17.6 14.4 32 32 32h384c17.6 0 32-14.4 32-32V64c0-17.6-14.4-32-32-32zm-64 257.4c0 49.4-11.4 82.6-103.8 82.6h-16.9c-44.1 0-62.4-14.9-70.4-38.8h-.9V368H96V136h64v74.7h1.1c4.6-30.5 39.7-38.8 69.7-38.8h17.3c92.4 0 103.8 33.1 103.8 82.5v35zm-64-28.9v22.9c0 21.7-3.4 33.8-38.4 33.8h-45.3c-28.9 0-44.1-6.5-44.1-35.7v-19c0-29.3 15.2-35.7 44.1-35.7h45.3c35-.2 38.4 12 38.4 33.7z\"},\"child\":[]}]})(props);\n};\nexport function FaBitbucket (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22.2 32A16 16 0 0 0 6 47.8a26.35 26.35 0 0 0 .2 2.8l67.9 412.1a21.77 21.77 0 0 0 21.3 18.2h325.7a16 16 0 0 0 16-13.4L505 50.7a16 16 0 0 0-13.2-18.3 24.58 24.58 0 0 0-2.8-.2L22.2 32zm285.9 297.8h-104l-28.1-147h157.3l-25.2 147z\"},\"child\":[]}]})(props);\n};\nexport function FaBitcoin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zm-141.651-35.33c4.937-32.999-20.191-50.739-54.55-62.573l11.146-44.702-27.213-6.781-10.851 43.524c-7.154-1.783-14.502-3.464-21.803-5.13l10.929-43.81-27.198-6.781-11.153 44.686c-5.922-1.349-11.735-2.682-17.377-4.084l.031-.14-37.53-9.37-7.239 29.062s20.191 4.627 19.765 4.913c11.022 2.751 13.014 10.044 12.68 15.825l-12.696 50.925c.76.194 1.744.473 2.829.907-.907-.225-1.876-.473-2.876-.713l-17.796 71.338c-1.349 3.348-4.767 8.37-12.471 6.464.271.395-19.78-4.937-19.78-4.937l-13.51 31.147 35.414 8.827c6.588 1.651 13.045 3.379 19.4 5.006l-11.262 45.213 27.182 6.781 11.153-44.733a1038.209 1038.209 0 0 0 21.687 5.627l-11.115 44.523 27.213 6.781 11.262-45.128c46.404 8.781 81.299 5.239 95.986-36.727 11.836-33.79-.589-53.281-25.004-65.991 17.78-4.098 31.174-15.792 34.747-39.949zm-62.177 87.179c-8.41 33.79-65.308 15.523-83.755 10.943l14.944-59.899c18.446 4.603 77.6 13.717 68.811 48.956zm8.417-87.667c-7.673 30.736-55.031 15.12-70.393 11.292l13.548-54.327c15.363 3.828 64.836 10.973 56.845 43.035z\"},\"child\":[]}]})(props);\n};\nexport function FaBity (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M78.4 67.2C173.8-22 324.5-24 421.5 71c14.3 14.1-6.4 37.1-22.4 21.5-84.8-82.4-215.8-80.3-298.9-3.2-16.3 15.1-36.5-8.3-21.8-22.1zm98.9 418.6c19.3 5.7 29.3-23.6 7.9-30C73 421.9 9.4 306.1 37.7 194.8c5-19.6-24.9-28.1-30.2-7.1-32.1 127.4 41.1 259.8 169.8 298.1zm148.1-2c121.9-40.2 192.9-166.9 164.4-291-4.5-19.7-34.9-13.8-30 7.9 24.2 107.7-37.1 217.9-143.2 253.4-21.2 7-10.4 36 8.8 29.7zm-62.9-79l.2-71.8c0-8.2-6.6-14.8-14.8-14.8-8.2 0-14.8 6.7-14.8 14.8l-.2 71.8c0 8.2 6.6 14.8 14.8 14.8s14.8-6.6 14.8-14.8zm71-269c2.1 90.9 4.7 131.9-85.5 132.5-92.5-.7-86.9-44.3-85.5-132.5 0-21.8-32.5-19.6-32.5 0v71.6c0 69.3 60.7 90.9 118 90.1 57.3.8 118-20.8 118-90.1v-71.6c0-19.6-32.5-21.8-32.5 0z\"},\"child\":[]}]})(props);\n};\nexport function FaBlackTie (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 32v448h448V32H0zm316.5 325.2L224 445.9l-92.5-88.7 64.5-184-64.5-86.6h184.9L252 173.2l64.5 184z\"},\"child\":[]}]})(props);\n};\nexport function FaBlackberry (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M166 116.9c0 23.4-16.4 49.1-72.5 49.1H23.4l21-88.8h67.8c42.1 0 53.8 23.3 53.8 39.7zm126.2-39.7h-67.8L205.7 166h70.1c53.8 0 70.1-25.7 70.1-49.1.1-16.4-11.6-39.7-53.7-39.7zM88.8 208.1H21L0 296.9h70.1c56.1 0 72.5-23.4 72.5-49.1 0-16.3-11.7-39.7-53.8-39.7zm180.1 0h-67.8l-18.7 88.8h70.1c53.8 0 70.1-23.4 70.1-49.1 0-16.3-11.7-39.7-53.7-39.7zm189.3-53.8h-67.8l-18.7 88.8h70.1c53.8 0 70.1-23.4 70.1-49.1.1-16.3-11.6-39.7-53.7-39.7zm-28 137.9h-67.8L343.7 381h70.1c56.1 0 70.1-23.4 70.1-49.1 0-16.3-11.6-39.7-53.7-39.7zM240.8 346H173l-18.7 88.8h70.1c56.1 0 70.1-25.7 70.1-49.1.1-16.3-11.6-39.7-53.7-39.7z\"},\"child\":[]}]})(props);\n};\nexport function FaBloggerB (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M446.6 222.7c-1.8-8-6.8-15.4-12.5-18.5-1.8-1-13-2.2-25-2.7-20.1-.9-22.3-1.3-28.7-5-10.1-5.9-12.8-12.3-12.9-29.5-.1-33-13.8-63.7-40.9-91.3-19.3-19.7-40.9-33-65.5-40.5-5.9-1.8-19.1-2.4-63.3-2.9-69.4-.8-84.8.6-108.4 10C45.9 59.5 14.7 96.1 3.3 142.9 1.2 151.7.7 165.8.2 246.8c-.6 101.5.1 116.4 6.4 136.5 15.6 49.6 59.9 86.3 104.4 94.3 14.8 2.7 197.3 3.3 216 .8 32.5-4.4 58-17.5 81.9-41.9 17.3-17.7 28.1-36.8 35.2-62.1 4.9-17.6 4.5-142.8 2.5-151.7zm-322.1-63.6c7.8-7.9 10-8.2 58.8-8.2 43.9 0 45.4.1 51.8 3.4 9.3 4.7 13.4 11.3 13.4 21.9 0 9.5-3.8 16.2-12.3 21.6-4.6 2.9-7.3 3.1-50.3 3.3-26.5.2-47.7-.4-50.8-1.2-16.6-4.7-22.8-28.5-10.6-40.8zm191.8 199.8l-14.9 2.4-77.5.9c-68.1.8-87.3-.4-90.9-2-7.1-3.1-13.8-11.7-14.9-19.4-1.1-7.3 2.6-17.3 8.2-22.4 7.1-6.4 10.2-6.6 97.3-6.7 89.6-.1 89.1-.1 97.6 7.8 12.1 11.3 9.5 31.2-4.9 39.4z\"},\"child\":[]}]})(props);\n};\nexport function FaBlogger (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M162.4 196c4.8-4.9 6.2-5.1 36.4-5.1 27.2 0 28.1.1 32.1 2.1 5.8 2.9 8.3 7 8.3 13.6 0 5.9-2.4 10-7.6 13.4-2.8 1.8-4.5 1.9-31.1 2.1-16.4.1-29.5-.2-31.5-.8-10.3-2.9-14.1-17.7-6.6-25.3zm61.4 94.5c-53.9 0-55.8.2-60.2 4.1-3.5 3.1-5.7 9.4-5.1 13.9.7 4.7 4.8 10.1 9.2 12 2.2 1 14.1 1.7 56.3 1.2l47.9-.6 9.2-1.5c9-5.1 10.5-17.4 3.1-24.4-5.3-4.7-5-4.7-60.4-4.7zm223.4 130.1c-3.5 28.4-23 50.4-51.1 57.5-7.2 1.8-9.7 1.9-172.9 1.8-157.8 0-165.9-.1-172-1.8-8.4-2.2-15.6-5.5-22.3-10-5.6-3.8-13.9-11.8-17-16.4-3.8-5.6-8.2-15.3-10-22C.1 423 0 420.3 0 256.3 0 93.2 0 89.7 1.8 82.6 8.1 57.9 27.7 39 53 33.4c7.3-1.6 332.1-1.9 340-.3 21.2 4.3 37.9 17.1 47.6 36.4 7.7 15.3 7-1.5 7.3 180.6.2 115.8 0 164.5-.7 170.5zm-85.4-185.2c-1.1-5-4.2-9.6-7.7-11.5-1.1-.6-8-1.3-15.5-1.7-12.4-.6-13.8-.8-17.8-3.1-6.2-3.6-7.9-7.6-8-18.3 0-20.4-8.5-39.4-25.3-56.5-12-12.2-25.3-20.5-40.6-25.1-3.6-1.1-11.8-1.5-39.2-1.8-42.9-.5-52.5.4-67.1 6.2-27 10.7-46.3 33.4-53.4 62.4-1.3 5.4-1.6 14.2-1.9 64.3-.4 62.8 0 72.1 4 84.5 9.7 30.7 37.1 53.4 64.6 58.4 9.2 1.7 122.2 2.1 133.7.5 20.1-2.7 35.9-10.8 50.7-25.9 10.7-10.9 17.4-22.8 21.8-38.5 3.2-10.9 2.9-88.4 1.7-93.9z\"},\"child\":[]}]})(props);\n};\nexport function FaBluetoothB (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M196.48 260.023l92.626-103.333L143.125 0v206.33l-86.111-86.111-31.406 31.405 108.061 108.399L25.608 368.422l31.406 31.405 86.111-86.111L145.84 512l148.552-148.644-97.912-103.333zm40.86-102.996l-49.977 49.978-.338-100.295 50.315 50.317zM187.363 313.04l49.977 49.978-50.315 50.316.338-100.294z\"},\"child\":[]}]})(props);\n};\nexport function FaBluetooth (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M292.6 171.1L249.7 214l-.3-86 43.2 43.1m-43.2 219.8l43.1-43.1-42.9-42.9-.2 86zM416 259.4C416 465 344.1 512 230.9 512S32 465 32 259.4 115.4 0 228.6 0 416 53.9 416 259.4zm-158.5 0l79.4-88.6L211.8 36.5v176.9L138 139.6l-27 26.9 92.7 93-92.7 93 26.9 26.9 73.8-73.8 2.3 170 127.4-127.5-83.9-88.7z\"},\"child\":[]}]})(props);\n};\nexport function FaBootstrap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M333.5,201.4c0-22.1-15.6-34.3-43-34.3h-50.4v71.2h42.5C315.4,238.2,333.5,225,333.5,201.4z M517,188.6 c-9.5-30.9-10.9-68.8-9.8-98.1c1.1-30.5-22.7-58.5-54.7-58.5H123.7c-32.1,0-55.8,28.1-54.7,58.5c1,29.3-0.3,67.2-9.8,98.1 c-9.6,31-25.7,50.6-52.2,53.1v28.5c26.4,2.5,42.6,22.1,52.2,53.1c9.5,30.9,10.9,68.8,9.8,98.1c-1.1,30.5,22.7,58.5,54.7,58.5h328.7 c32.1,0,55.8-28.1,54.7-58.5c-1-29.3,0.3-67.2,9.8-98.1c9.6-31,25.7-50.6,52.1-53.1v-28.5C542.7,239.2,526.5,219.6,517,188.6z M300.2,375.1h-97.9V136.8h97.4c43.3,0,71.7,23.4,71.7,59.4c0,25.3-19.1,47.9-43.5,51.8v1.3c33.2,3.6,55.5,26.6,55.5,58.3 C383.4,349.7,352.1,375.1,300.2,375.1z M290.2,266.4h-50.1v78.4h52.3c34.2,0,52.3-13.7,52.3-39.5 C344.7,279.6,326.1,266.4,290.2,266.4z\"},\"child\":[]}]})(props);\n};\nexport function FaBtc (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M310.204 242.638c27.73-14.18 45.377-39.39 41.28-81.3-5.358-57.351-52.458-76.573-114.85-81.929V0h-48.528v77.203c-12.605 0-25.525.315-38.444.63V0h-48.528v79.409c-17.842.539-38.622.276-97.37 0v51.678c38.314-.678 58.417-3.14 63.023 21.427v217.429c-2.925 19.492-18.524 16.685-53.255 16.071L3.765 443.68c88.481 0 97.37.315 97.37.315V512h48.528v-67.06c13.234.315 26.154.315 38.444.315V512h48.528v-68.005c81.299-4.412 135.647-24.894 142.895-101.467 5.671-61.446-23.32-88.862-69.326-99.89zM150.608 134.553c27.415 0 113.126-8.507 113.126 48.528 0 54.515-85.71 48.212-113.126 48.212v-96.74zm0 251.776V279.821c32.772 0 133.127-9.138 133.127 53.255-.001 60.186-100.355 53.253-133.127 53.253z\"},\"child\":[]}]})(props);\n};\nexport function FaBuffer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M427.84 380.67l-196.5 97.82a18.6 18.6 0 0 1-14.67 0L20.16 380.67c-4-2-4-5.28 0-7.29L67.22 350a18.65 18.65 0 0 1 14.69 0l134.76 67a18.51 18.51 0 0 0 14.67 0l134.76-67a18.62 18.62 0 0 1 14.68 0l47.06 23.43c4.05 1.96 4.05 5.24 0 7.24zm0-136.53l-47.06-23.43a18.62 18.62 0 0 0-14.68 0l-134.76 67.08a18.68 18.68 0 0 1-14.67 0L81.91 220.71a18.65 18.65 0 0 0-14.69 0l-47.06 23.43c-4 2-4 5.29 0 7.31l196.51 97.8a18.6 18.6 0 0 0 14.67 0l196.5-97.8c4.05-2.02 4.05-5.3 0-7.31zM20.16 130.42l196.5 90.29a20.08 20.08 0 0 0 14.67 0l196.51-90.29c4-1.86 4-4.89 0-6.74L231.33 33.4a19.88 19.88 0 0 0-14.67 0l-196.5 90.28c-4.05 1.85-4.05 4.88 0 6.74z\"},\"child\":[]}]})(props);\n};\nexport function FaBuromobelexperte (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 32v128h128V32H0zm120 120H8V40h112v112zm40-120v128h128V32H160zm120 120H168V40h112v112zm40-120v128h128V32H320zm120 120H328V40h112v112zM0 192v128h128V192H0zm120 120H8V200h112v112zm40-120v128h128V192H160zm120 120H168V200h112v112zm40-120v128h128V192H320zm120 120H328V200h112v112zM0 352v128h128V352H0zm120 120H8V360h112v112zm40-120v128h128V352H160zm120 120H168V360h112v112zm40-120v128h128V352H320z\"},\"child\":[]}]})(props);\n};\nexport function FaBuyNLarge (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 32C133.27 32 7.79 132.32 7.79 256S133.27 480 288 480s280.21-100.32 280.21-224S442.73 32 288 32zm-85.39 357.19L64.1 390.55l77.25-290.74h133.44c63.15 0 84.93 28.65 78 72.84a60.24 60.24 0 0 1-1.5 6.85 77.39 77.39 0 0 0-17.21-1.93c-42.35 0-76.69 33.88-76.69 75.65 0 37.14 27.14 68 62.93 74.45-18.24 37.16-56.16 60.92-117.71 61.52zM358 207.11h32l-22.16 90.31h-35.41l-11.19-35.63-7.83 35.63h-37.83l26.63-90.31h31.34l15 36.75zm145.86 182.08H306.79L322.63 328a78.8 78.8 0 0 0 11.47.83c42.34 0 76.69-33.87 76.69-75.65 0-32.65-21-60.46-50.38-71.06l21.33-82.35h92.5l-53.05 205.36h103.87zM211.7 269.39H187l-13.8 56.47h24.7c16.14 0 32.11-3.18 37.94-26.65 5.56-22.31-7.99-29.82-24.14-29.82zM233 170h-21.34L200 217.71h21.37c18 0 35.38-14.64 39.21-30.14C265.23 168.71 251.07 170 233 170z\"},\"child\":[]}]})(props);\n};\nexport function FaBuysellads (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 150.7l42.9 160.7h-85.8L224 150.7zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-65.3 325.3l-94.5-298.7H159.8L65.3 405.3H156l111.7-91.6 24.2 91.6h90.8z\"},\"child\":[]}]})(props);\n};\nexport function FaCanadianMapleLeaf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M383.8 351.7c2.5-2.5 105.2-92.4 105.2-92.4l-17.5-7.5c-10-4.9-7.4-11.5-5-17.4 2.4-7.6 20.1-67.3 20.1-67.3s-47.7 10-57.7 12.5c-7.5 2.4-10-2.5-12.5-7.5s-15-32.4-15-32.4-52.6 59.9-55.1 62.3c-10 7.5-20.1 0-17.6-10 0-10 27.6-129.6 27.6-129.6s-30.1 17.4-40.1 22.4c-7.5 5-12.6 5-17.6-5C293.5 72.3 255.9 0 255.9 0s-37.5 72.3-42.5 79.8c-5 10-10 10-17.6 5-10-5-40.1-22.4-40.1-22.4S183.3 182 183.3 192c2.5 10-7.5 17.5-17.6 10-2.5-2.5-55.1-62.3-55.1-62.3S98.1 167 95.6 172s-5 9.9-12.5 7.5C73 177 25.4 167 25.4 167s17.6 59.7 20.1 67.3c2.4 6 5 12.5-5 17.4L23 259.3s102.6 89.9 105.2 92.4c5.1 5 10 7.5 5.1 22.5-5.1 15-10.1 35.1-10.1 35.1s95.2-20.1 105.3-22.6c8.7-.9 18.3 2.5 18.3 12.5S241 512 241 512h30s-5.8-102.7-5.8-112.8 9.5-13.4 18.4-12.5c10 2.5 105.2 22.6 105.2 22.6s-5-20.1-10-35.1 0-17.5 5-22.5z\"},\"child\":[]}]})(props);\n};\nexport function FaCcAmazonPay (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M124.7 201.8c.1-11.8 0-23.5 0-35.3v-35.3c0-1.3.4-2 1.4-2.7 11.5-8 24.1-12.1 38.2-11.1 12.5.9 22.7 7 28.1 21.7 3.3 8.9 4.1 18.2 4.1 27.7 0 8.7-.7 17.3-3.4 25.6-5.7 17.8-18.7 24.7-35.7 23.9-11.7-.5-21.9-5-31.4-11.7-.9-.8-1.4-1.6-1.3-2.8zm154.9 14.6c4.6 1.8 9.3 2 14.1 1.5 11.6-1.2 21.9-5.7 31.3-12.5.9-.6 1.3-1.3 1.3-2.5-.1-3.9 0-7.9 0-11.8 0-4-.1-8 0-12 0-1.4-.4-2-1.8-2.2-7-.9-13.9-2.2-20.9-2.9-7-.6-14-.3-20.8 1.9-6.7 2.2-11.7 6.2-13.7 13.1-1.6 5.4-1.6 10.8.1 16.2 1.6 5.5 5.2 9.2 10.4 11.2zM576 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zm-207.5 23.9c.4 1.7.9 3.4 1.6 5.1 16.5 40.6 32.9 81.3 49.5 121.9 1.4 3.5 1.7 6.4.2 9.9-2.8 6.2-4.9 12.6-7.8 18.7-2.6 5.5-6.7 9.5-12.7 11.2-4.2 1.1-8.5 1.3-12.9.9-2.1-.2-4.2-.7-6.3-.8-2.8-.2-4.2 1.1-4.3 4-.1 2.8-.1 5.6 0 8.3.1 4.6 1.6 6.7 6.2 7.5 4.7.8 9.4 1.6 14.2 1.7 14.3.3 25.7-5.4 33.1-17.9 2.9-4.9 5.6-10.1 7.7-15.4 19.8-50.1 39.5-100.3 59.2-150.5.6-1.5 1.1-3 1.3-4.6.4-2.4-.7-3.6-3.1-3.7-5.6-.1-11.1 0-16.7 0-3.1 0-5.3 1.4-6.4 4.3-.4 1.1-.9 2.3-1.3 3.4l-29.1 83.7c-2.1 6.1-4.2 12.1-6.5 18.6-.4-.9-.6-1.4-.8-1.9-10.8-29.9-21.6-59.9-32.4-89.8-1.7-4.7-3.5-9.5-5.3-14.2-.9-2.5-2.7-4-5.4-4-6.4-.1-12.8-.2-19.2-.1-2.2 0-3.3 1.6-2.8 3.7zM242.4 206c1.7 11.7 7.6 20.8 18 26.6 9.9 5.5 20.7 6.2 31.7 4.6 12.7-1.9 23.9-7.3 33.8-15.5.4-.3.8-.6 1.4-1 .5 3.2.9 6.2 1.5 9.2.5 2.6 2.1 4.3 4.5 4.4 4.6.1 9.1.1 13.7 0 2.3-.1 3.8-1.6 4-3.9.1-.8.1-1.6.1-2.3v-88.8c0-3.6-.2-7.2-.7-10.8-1.6-10.8-6.2-19.7-15.9-25.4-5.6-3.3-11.8-5-18.2-5.9-3-.4-6-.7-9.1-1.1h-10c-.8.1-1.6.3-2.5.3-8.2.4-16.3 1.4-24.2 3.5-5.1 1.3-10 3.2-15 4.9-3 1-4.5 3.2-4.4 6.5.1 2.8-.1 5.6 0 8.3.1 4.1 1.8 5.2 5.7 4.1 6.5-1.7 13.1-3.5 19.7-4.8 10.3-1.9 20.7-2.7 31.1-1.2 5.4.8 10.5 2.4 14.1 7 3.1 4 4.2 8.8 4.4 13.7.3 6.9.2 13.9.3 20.8 0 .4-.1.7-.2 1.2-.4 0-.8 0-1.1-.1-8.8-2.1-17.7-3.6-26.8-4.1-9.5-.5-18.9.1-27.9 3.2-10.8 3.8-19.5 10.3-24.6 20.8-4.1 8.3-4.6 17-3.4 25.8zM98.7 106.9v175.3c0 .8 0 1.7.1 2.5.2 2.5 1.7 4.1 4.1 4.2 5.9.1 11.8.1 17.7 0 2.5 0 4-1.7 4.1-4.1.1-.8.1-1.7.1-2.5v-60.7c.9.7 1.4 1.2 1.9 1.6 15 12.5 32.2 16.6 51.1 12.9 17.1-3.4 28.9-13.9 36.7-29.2 5.8-11.6 8.3-24.1 8.7-37 .5-14.3-1-28.4-6.8-41.7-7.1-16.4-18.9-27.3-36.7-30.9-2.7-.6-5.5-.8-8.2-1.2h-7c-1.2.2-2.4.3-3.6.5-11.7 1.4-22.3 5.8-31.8 12.7-2 1.4-3.9 3-5.9 4.5-.1-.5-.3-.8-.4-1.2-.4-2.3-.7-4.6-1.1-6.9-.6-3.9-2.5-5.5-6.4-5.6h-9.7c-5.9-.1-6.9 1-6.9 6.8zM493.6 339c-2.7-.7-5.1 0-7.6 1-43.9 18.4-89.5 30.2-136.8 35.8-14.5 1.7-29.1 2.8-43.7 3.2-26.6.7-53.2-.8-79.6-4.3-17.8-2.4-35.5-5.7-53-9.9-37-8.9-72.7-21.7-106.7-38.8-8.8-4.4-17.4-9.3-26.1-14-3.8-2.1-6.2-1.5-8.2 2.1v1.7c1.2 1.6 2.2 3.4 3.7 4.8 36 32.2 76.6 56.5 122 72.9 21.9 7.9 44.4 13.7 67.3 17.5 14 2.3 28 3.8 42.2 4.5 3 .1 6 .2 9 .4.7 0 1.4.2 2.1.3h17.7c.7-.1 1.4-.3 2.1-.3 14.9-.4 29.8-1.8 44.6-4 21.4-3.2 42.4-8.1 62.9-14.7 29.6-9.6 57.7-22.4 83.4-40.1 2.8-1.9 5.7-3.8 8-6.2 4.3-4.4 2.3-10.4-3.3-11.9zm50.4-27.7c-.8-4.2-4-5.8-7.6-7-5.7-1.9-11.6-2.8-17.6-3.3-11-.9-22-.4-32.8 1.6-12 2.2-23.4 6.1-33.5 13.1-1.2.8-2.4 1.8-3.1 3-.6.9-.7 2.3-.5 3.4.3 1.3 1.7 1.6 3 1.5.6 0 1.2 0 1.8-.1l19.5-2.1c9.6-.9 19.2-1.5 28.8-.8 4.1.3 8.1 1.2 12 2.2 4.3 1.1 6.2 4.4 6.4 8.7.3 6.7-1.2 13.1-2.9 19.5-3.5 12.9-8.3 25.4-13.3 37.8-.3.8-.7 1.7-.8 2.5-.4 2.5 1 4 3.4 3.5 1.4-.3 3-1.1 4-2.1 3.7-3.6 7.5-7.2 10.6-11.2 10.7-13.8 17-29.6 20.7-46.6.7-3 1.2-6.1 1.7-9.1.2-4.7.2-9.6.2-14.5z\"},\"child\":[]}]})(props);\n};\nexport function FaCcAmex (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M325.1 167.8c0-16.4-14.1-18.4-27.4-18.4l-39.1-.3v69.3H275v-25.1h18c18.4 0 14.5 10.3 14.8 25.1h16.6v-13.5c0-9.2-1.5-15.1-11-18.4 7.4-3 11.8-10.7 11.7-18.7zm-29.4 11.3H275v-15.3h21c5.1 0 10.7 1 10.7 7.4 0 6.6-5.3 7.9-11 7.9zM279 268.6h-52.7l-21 22.8-20.5-22.8h-66.5l-.1 69.3h65.4l21.3-23 20.4 23h32.2l.1-23.3c18.9 0 49.3 4.6 49.3-23.3 0-17.3-12.3-22.7-27.9-22.7zm-103.8 54.7h-40.6v-13.8h36.3v-14.1h-36.3v-12.5h41.7l17.9 20.2zm65.8 8.2l-25.3-28.1L241 276zm37.8-31h-21.2v-17.6h21.5c5.6 0 10.2 2.3 10.2 8.4 0 6.4-4.6 9.2-10.5 9.2zm-31.6-136.7v-14.6h-55.5v69.3h55.5v-14.3h-38.9v-13.8h37.8v-14.1h-37.8v-12.5zM576 255.4h-.2zm-194.6 31.9c0-16.4-14.1-18.7-27.1-18.7h-39.4l-.1 69.3h16.6l.1-25.3h17.6c11 0 14.8 2 14.8 13.8l-.1 11.5h16.6l.1-13.8c0-8.9-1.8-15.1-11-18.4 7.7-3.1 11.8-10.8 11.9-18.4zm-29.2 11.2h-20.7v-15.6h21c5.1 0 10.7 1 10.7 7.4 0 6.9-5.4 8.2-11 8.2zm-172.8-80v-69.3h-27.6l-19.7 47-21.7-47H83.3v65.7l-28.1-65.7H30.7L1 218.5h17.9l6.4-15.3h34.5l6.4 15.3H100v-54.2l24 54.2h14.6l24-54.2v54.2zM31.2 188.8l11.2-27.6 11.5 27.6zm477.4 158.9v-4.5c-10.8 5.6-3.9 4.5-156.7 4.5 0-25.2.1-23.9 0-25.2-1.7-.1-3.2-.1-9.4-.1 0 17.9-.1 6.8-.1 25.3h-39.6c0-12.1.1-15.3.1-29.2-10 6-22.8 6.4-34.3 6.2 0 14.7-.1 8.3-.1 23h-48.9c-5.1-5.7-2.7-3.1-15.4-17.4-3.2 3.5-12.8 13.9-16.1 17.4h-82v-92.3h83.1c5 5.6 2.8 3.1 15.5 17.2 3.2-3.5 12.2-13.4 15.7-17.2h58c9.8 0 18 1.9 24.3 5.6v-5.6c54.3 0 64.3-1.4 75.7 5.1v-5.1h78.2v5.2c11.4-6.9 19.6-5.2 64.9-5.2v5c10.3-5.9 16.6-5.2 54.3-5V80c0-26.5-21.5-48-48-48h-480c-26.5 0-48 21.5-48 48v109.8c9.4-21.9 19.7-46 23.1-53.9h39.7c4.3 10.1 1.6 3.7 9 21.1v-21.1h46c2.9 6.2 11.1 24 13.9 30 5.8-13.6 10.1-23.9 12.6-30h103c0-.1 11.5 0 11.6 0 43.7.2 53.6-.8 64.4 5.3v-5.3H363v9.3c7.6-6.1 17.9-9.3 30.7-9.3h27.6c0 .5 1.9.3 2.3.3H456c4.2 9.8 2.6 6 8.8 20.6v-20.6h43.3c4.9 8-1-1.8 11.2 18.4v-18.4h39.9v92h-41.6c-5.4-9-1.4-2.2-13.2-21.9v21.9h-52.8c-6.4-14.8-.1-.3-6.6-15.3h-19c-4.2 10-2.2 5.2-6.4 15.3h-26.8c-12.3 0-22.3-3-29.7-8.9v8.9h-66.5c-.3-13.9-.1-24.8-.1-24.8-1.8-.3-3.4-.2-9.8-.2v25.1H151.2v-11.4c-2.5 5.6-2.7 5.9-5.1 11.4h-29.5c-4-8.9-2.9-6.4-5.1-11.4v11.4H58.6c-4.2-10.1-2.2-5.3-6.4-15.3H33c-4.2 10-2.2 5.2-6.4 15.3H0V432c0 26.5 21.5 48 48 48h480.1c26.5 0 48-21.5 48-48v-90.4c-12.7 8.3-32.7 6.1-67.5 6.1zm36.3-64.5H575v-14.6h-32.9c-12.8 0-23.8 6.6-23.8 20.7 0 33 42.7 12.8 42.7 27.4 0 5.1-4.3 6.4-8.4 6.4h-32l-.1 14.8h32c8.4 0 17.6-1.8 22.5-8.9v-25.8c-10.5-13.8-39.3-1.3-39.3-13.5 0-5.8 4.6-6.5 9.2-6.5zm-57 39.8h-32.2l-.1 14.8h32.2c14.8 0 26.2-5.6 26.2-22 0-33.2-42.9-11.2-42.9-26.3 0-5.6 4.9-6.4 9.2-6.4h30.4v-14.6h-33.2c-12.8 0-23.5 6.6-23.5 20.7 0 33 42.7 12.5 42.7 27.4-.1 5.4-4.7 6.4-8.8 6.4zm-42.2-40.1v-14.3h-55.2l-.1 69.3h55.2l.1-14.3-38.6-.3v-13.8H445v-14.1h-37.8v-12.5zm-56.3-108.1c-.3.2-1.4 2.2-1.4 7.6 0 6 .9 7.7 1.1 7.9.2.1 1.1.5 3.4.5l7.3-16.9c-1.1 0-2.1-.1-3.1-.1-5.6 0-7 .7-7.3 1zm20.4-10.5h-.1zm-16.2-15.2c-23.5 0-34 12-34 35.3 0 22.2 10.2 34 33 34h19.2l6.4-15.3h34.3l6.6 15.3h33.7v-51.9l31.2 51.9h23.6v-69h-16.9v48.1l-29.1-48.1h-25.3v65.4l-27.9-65.4h-24.8l-23.5 54.5h-7.4c-13.3 0-16.1-8.1-16.1-19.9 0-23.8 15.7-20 33.1-19.7v-15.2zm42.1 12.1l11.2 27.6h-22.8zm-101.1-12v69.3h16.9v-69.3z\"},\"child\":[]}]})(props);\n};\nexport function FaCcApplePay (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M302.2 218.4c0 17.2-10.5 27.1-29 27.1h-24.3v-54.2h24.4c18.4 0 28.9 9.8 28.9 27.1zm47.5 62.6c0 8.3 7.2 13.7 18.5 13.7 14.4 0 25.2-9.1 25.2-21.9v-7.7l-23.5 1.5c-13.3.9-20.2 5.8-20.2 14.4zM576 79v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V79c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM127.8 197.2c8.4.7 16.8-4.2 22.1-10.4 5.2-6.4 8.6-15 7.7-23.7-7.4.3-16.6 4.9-21.9 11.3-4.8 5.5-8.9 14.4-7.9 22.8zm60.6 74.5c-.2-.2-19.6-7.6-19.8-30-.2-18.7 15.3-27.7 16-28.2-8.8-13-22.4-14.4-27.1-14.7-12.2-.7-22.6 6.9-28.4 6.9-5.9 0-14.7-6.6-24.3-6.4-12.5.2-24.2 7.3-30.5 18.6-13.1 22.6-3.4 56 9.3 74.4 6.2 9.1 13.7 19.1 23.5 18.7 9.3-.4 13-6 24.2-6 11.3 0 14.5 6 24.3 5.9 10.2-.2 16.5-9.1 22.8-18.2 6.9-10.4 9.8-20.4 10-21zm135.4-53.4c0-26.6-18.5-44.8-44.9-44.8h-51.2v136.4h21.2v-46.6h29.3c26.8 0 45.6-18.4 45.6-45zm90 23.7c0-19.7-15.8-32.4-40-32.4-22.5 0-39.1 12.9-39.7 30.5h19.1c1.6-8.4 9.4-13.9 20-13.9 13 0 20.2 6 20.2 17.2v7.5l-26.4 1.6c-24.6 1.5-37.9 11.6-37.9 29.1 0 17.7 13.7 29.4 33.4 29.4 13.3 0 25.6-6.7 31.2-17.4h.4V310h19.6v-68zM516 210.9h-21.5l-24.9 80.6h-.4l-24.9-80.6H422l35.9 99.3-1.9 6c-3.2 10.2-8.5 14.2-17.9 14.2-1.7 0-4.9-.2-6.2-.3v16.4c1.2.4 6.5.5 8.1.5 20.7 0 30.4-7.9 38.9-31.8L516 210.9z\"},\"child\":[]}]})(props);\n};\nexport function FaCcDinersClub (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M239.7 79.9c-96.9 0-175.8 78.6-175.8 175.8 0 96.9 78.9 175.8 175.8 175.8 97.2 0 175.8-78.9 175.8-175.8 0-97.2-78.6-175.8-175.8-175.8zm-39.9 279.6c-41.7-15.9-71.4-56.4-71.4-103.8s29.7-87.9 71.4-104.1v207.9zm79.8.3V151.6c41.7 16.2 71.4 56.7 71.4 104.1s-29.7 87.9-71.4 104.1zM528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM329.7 448h-90.3c-106.2 0-193.8-85.5-193.8-190.2C45.6 143.2 133.2 64 239.4 64h90.3c105 0 200.7 79.2 200.7 193.8 0 104.7-95.7 190.2-200.7 190.2z\"},\"child\":[]}]})(props);\n};\nexport function FaCcDiscover (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M520.4 196.1c0-7.9-5.5-12.1-15.6-12.1h-4.9v24.9h4.7c10.3 0 15.8-4.4 15.8-12.8zM528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-44.1 138.9c22.6 0 52.9-4.1 52.9 24.4 0 12.6-6.6 20.7-18.7 23.2l25.8 34.4h-19.6l-22.2-32.8h-2.2v32.8h-16zm-55.9.1h45.3v14H444v18.2h28.3V217H444v22.2h29.3V253H428zm-68.7 0l21.9 55.2 22.2-55.2h17.5l-35.5 84.2h-8.6l-35-84.2zm-55.9-3c24.7 0 44.6 20 44.6 44.6 0 24.7-20 44.6-44.6 44.6-24.7 0-44.6-20-44.6-44.6 0-24.7 20-44.6 44.6-44.6zm-49.3 6.1v19c-20.1-20.1-46.8-4.7-46.8 19 0 25 27.5 38.5 46.8 19.2v19c-29.7 14.3-63.3-5.7-63.3-38.2 0-31.2 33.1-53 63.3-38zm-97.2 66.3c11.4 0 22.4-15.3-3.3-24.4-15-5.5-20.2-11.4-20.2-22.7 0-23.2 30.6-31.4 49.7-14.3l-8.4 10.8c-10.4-11.6-24.9-6.2-24.9 2.5 0 4.4 2.7 6.9 12.3 10.3 18.2 6.6 23.6 12.5 23.6 25.6 0 29.5-38.8 37.4-56.6 11.3l10.3-9.9c3.7 7.1 9.9 10.8 17.5 10.8zM55.4 253H32v-82h23.4c26.1 0 44.1 17 44.1 41.1 0 18.5-13.2 40.9-44.1 40.9zm67.5 0h-16v-82h16zM544 433c0 8.2-6.8 15-15 15H128c189.6-35.6 382.7-139.2 416-160zM74.1 191.6c-5.2-4.9-11.6-6.6-21.9-6.6H48v54.2h4.2c10.3 0 17-2 21.9-6.4 5.7-5.2 8.9-12.8 8.9-20.7s-3.2-15.5-8.9-20.5z\"},\"child\":[]}]})(props);\n};\nexport function FaCcJcb (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M431.5 244.3V212c41.2 0 38.5.2 38.5.2 7.3 1.3 13.3 7.3 13.3 16 0 8.8-6 14.5-13.3 15.8-1.2.4-3.3.3-38.5.3zm42.8 20.2c-2.8-.7-3.3-.5-42.8-.5v35c39.6 0 40 .2 42.8-.5 7.5-1.5 13.5-8 13.5-17 0-8.7-6-15.5-13.5-17zM576 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM182 192.3h-57c0 67.1 10.7 109.7-35.8 109.7-19.5 0-38.8-5.7-57.2-14.8v28c30 8.3 68 8.3 68 8.3 97.9 0 82-47.7 82-131.2zm178.5 4.5c-63.4-16-165-14.9-165 59.3 0 77.1 108.2 73.6 165 59.2V287C312.9 311.7 253 309 253 256s59.8-55.6 107.5-31.2v-28zM544 286.5c0-18.5-16.5-30.5-38-32v-.8c19.5-2.7 30.3-15.5 30.3-30.2 0-19-15.7-30-37-31 0 0 6.3-.3-120.3-.3v127.5h122.7c24.3.1 42.3-12.9 42.3-33.2z\"},\"child\":[]}]})(props);\n};\nexport function FaCcMastercard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M482.9 410.3c0 6.8-4.6 11.7-11.2 11.7-6.8 0-11.2-5.2-11.2-11.7 0-6.5 4.4-11.7 11.2-11.7 6.6 0 11.2 5.2 11.2 11.7zm-310.8-11.7c-7.1 0-11.2 5.2-11.2 11.7 0 6.5 4.1 11.7 11.2 11.7 6.5 0 10.9-4.9 10.9-11.7-.1-6.5-4.4-11.7-10.9-11.7zm117.5-.3c-5.4 0-8.7 3.5-9.5 8.7h19.1c-.9-5.7-4.4-8.7-9.6-8.7zm107.8.3c-6.8 0-10.9 5.2-10.9 11.7 0 6.5 4.1 11.7 10.9 11.7 6.8 0 11.2-4.9 11.2-11.7 0-6.5-4.4-11.7-11.2-11.7zm105.9 26.1c0 .3.3.5.3 1.1 0 .3-.3.5-.3 1.1-.3.3-.3.5-.5.8-.3.3-.5.5-1.1.5-.3.3-.5.3-1.1.3-.3 0-.5 0-1.1-.3-.3 0-.5-.3-.8-.5-.3-.3-.5-.5-.5-.8-.3-.5-.3-.8-.3-1.1 0-.5 0-.8.3-1.1 0-.5.3-.8.5-1.1.3-.3.5-.3.8-.5.5-.3.8-.3 1.1-.3.5 0 .8 0 1.1.3.5.3.8.3 1.1.5s.2.6.5 1.1zm-2.2 1.4c.5 0 .5-.3.8-.3.3-.3.3-.5.3-.8 0-.3 0-.5-.3-.8-.3 0-.5-.3-1.1-.3h-1.6v3.5h.8V426h.3l1.1 1.4h.8l-1.1-1.3zM576 81v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V81c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM64 220.6c0 76.5 62.1 138.5 138.5 138.5 27.2 0 53.9-8.2 76.5-23.1-72.9-59.3-72.4-171.2 0-230.5-22.6-15-49.3-23.1-76.5-23.1-76.4-.1-138.5 62-138.5 138.2zm224 108.8c70.5-55 70.2-162.2 0-217.5-70.2 55.3-70.5 162.6 0 217.5zm-142.3 76.3c0-8.7-5.7-14.4-14.7-14.7-4.6 0-9.5 1.4-12.8 6.5-2.4-4.1-6.5-6.5-12.2-6.5-3.8 0-7.6 1.4-10.6 5.4V392h-8.2v36.7h8.2c0-18.9-2.5-30.2 9-30.2 10.2 0 8.2 10.2 8.2 30.2h7.9c0-18.3-2.5-30.2 9-30.2 10.2 0 8.2 10 8.2 30.2h8.2v-23zm44.9-13.7h-7.9v4.4c-2.7-3.3-6.5-5.4-11.7-5.4-10.3 0-18.2 8.2-18.2 19.3 0 11.2 7.9 19.3 18.2 19.3 5.2 0 9-1.9 11.7-5.4v4.6h7.9V392zm40.5 25.6c0-15-22.9-8.2-22.9-15.2 0-5.7 11.9-4.8 18.5-1.1l3.3-6.5c-9.4-6.1-30.2-6-30.2 8.2 0 14.3 22.9 8.3 22.9 15 0 6.3-13.5 5.8-20.7.8l-3.5 6.3c11.2 7.6 32.6 6 32.6-7.5zm35.4 9.3l-2.2-6.8c-3.8 2.1-12.2 4.4-12.2-4.1v-16.6h13.1V392h-13.1v-11.2h-8.2V392h-7.6v7.3h7.6V416c0 17.6 17.3 14.4 22.6 10.9zm13.3-13.4h27.5c0-16.2-7.4-22.6-17.4-22.6-10.6 0-18.2 7.9-18.2 19.3 0 20.5 22.6 23.9 33.8 14.2l-3.8-6c-7.8 6.4-19.6 5.8-21.9-4.9zm59.1-21.5c-4.6-2-11.6-1.8-15.2 4.4V392h-8.2v36.7h8.2V408c0-11.6 9.5-10.1 12.8-8.4l2.4-7.6zm10.6 18.3c0-11.4 11.6-15.1 20.7-8.4l3.8-6.5c-11.6-9.1-32.7-4.1-32.7 15 0 19.8 22.4 23.8 32.7 15l-3.8-6.5c-9.2 6.5-20.7 2.6-20.7-8.6zm66.7-18.3H408v4.4c-8.3-11-29.9-4.8-29.9 13.9 0 19.2 22.4 24.7 29.9 13.9v4.6h8.2V392zm33.7 0c-2.4-1.2-11-2.9-15.2 4.4V392h-7.9v36.7h7.9V408c0-11 9-10.3 12.8-8.4l2.4-7.6zm40.3-14.9h-7.9v19.3c-8.2-10.9-29.9-5.1-29.9 13.9 0 19.4 22.5 24.6 29.9 13.9v4.6h7.9v-51.7zm7.6-75.1v4.6h.8V302h1.9v-.8h-4.6v.8h1.9zm6.6 123.8c0-.5 0-1.1-.3-1.6-.3-.3-.5-.8-.8-1.1-.3-.3-.8-.5-1.1-.8-.5 0-1.1-.3-1.6-.3-.3 0-.8.3-1.4.3-.5.3-.8.5-1.1.8-.5.3-.8.8-.8 1.1-.3.5-.3 1.1-.3 1.6 0 .3 0 .8.3 1.4 0 .3.3.8.8 1.1.3.3.5.5 1.1.8.5.3 1.1.3 1.4.3.5 0 1.1 0 1.6-.3.3-.3.8-.5 1.1-.8.3-.3.5-.8.8-1.1.3-.6.3-1.1.3-1.4zm3.2-124.7h-1.4l-1.6 3.5-1.6-3.5h-1.4v5.4h.8v-4.1l1.6 3.5h1.1l1.4-3.5v4.1h1.1v-5.4zm4.4-80.5c0-76.2-62.1-138.3-138.5-138.3-27.2 0-53.9 8.2-76.5 23.1 72.1 59.3 73.2 171.5 0 230.5 22.6 15 49.5 23.1 76.5 23.1 76.4.1 138.5-61.9 138.5-138.4z\"},\"child\":[]}]})(props);\n};\nexport function FaCcPaypal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M186.3 258.2c0 12.2-9.7 21.5-22 21.5-9.2 0-16-5.2-16-15 0-12.2 9.5-22 21.7-22 9.3 0 16.3 5.7 16.3 15.5zM80.5 209.7h-4.7c-1.5 0-3 1-3.2 2.7l-4.3 26.7 8.2-.3c11 0 19.5-1.5 21.5-14.2 2.3-13.4-6.2-14.9-17.5-14.9zm284 0H360c-1.8 0-3 1-3.2 2.7l-4.2 26.7 8-.3c13 0 22-3 22-18-.1-10.6-9.6-11.1-18.1-11.1zM576 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM128.3 215.4c0-21-16.2-28-34.7-28h-40c-2.5 0-5 2-5.2 4.7L32 294.2c-.3 2 1.2 4 3.2 4h19c2.7 0 5.2-2.9 5.5-5.7l4.5-26.6c1-7.2 13.2-4.7 18-4.7 28.6 0 46.1-17 46.1-45.8zm84.2 8.8h-19c-3.8 0-4 5.5-4.2 8.2-5.8-8.5-14.2-10-23.7-10-24.5 0-43.2 21.5-43.2 45.2 0 19.5 12.2 32.2 31.7 32.2 9 0 20.2-4.9 26.5-11.9-.5 1.5-1 4.7-1 6.2 0 2.3 1 4 3.2 4H200c2.7 0 5-2.9 5.5-5.7l10.2-64.3c.3-1.9-1.2-3.9-3.2-3.9zm40.5 97.9l63.7-92.6c.5-.5.5-1 .5-1.7 0-1.7-1.5-3.5-3.2-3.5h-19.2c-1.7 0-3.5 1-4.5 2.5l-26.5 39-11-37.5c-.8-2.2-3-4-5.5-4h-18.7c-1.7 0-3.2 1.8-3.2 3.5 0 1.2 19.5 56.8 21.2 62.1-2.7 3.8-20.5 28.6-20.5 31.6 0 1.8 1.5 3.2 3.2 3.2h19.2c1.8-.1 3.5-1.1 4.5-2.6zm159.3-106.7c0-21-16.2-28-34.7-28h-39.7c-2.7 0-5.2 2-5.5 4.7l-16.2 102c-.2 2 1.3 4 3.2 4h20.5c2 0 3.5-1.5 4-3.2l4.5-29c1-7.2 13.2-4.7 18-4.7 28.4 0 45.9-17 45.9-45.8zm84.2 8.8h-19c-3.8 0-4 5.5-4.3 8.2-5.5-8.5-14-10-23.7-10-24.5 0-43.2 21.5-43.2 45.2 0 19.5 12.2 32.2 31.7 32.2 9.3 0 20.5-4.9 26.5-11.9-.3 1.5-1 4.7-1 6.2 0 2.3 1 4 3.2 4H484c2.7 0 5-2.9 5.5-5.7l10.2-64.3c.3-1.9-1.2-3.9-3.2-3.9zm47.5-33.3c0-2-1.5-3.5-3.2-3.5h-18.5c-1.5 0-3 1.2-3.2 2.7l-16.2 104-.3.5c0 1.8 1.5 3.5 3.5 3.5h16.5c2.5 0 5-2.9 5.2-5.7L544 191.2v-.3zm-90 51.8c-12.2 0-21.7 9.7-21.7 22 0 9.7 7 15 16.2 15 12 0 21.7-9.2 21.7-21.5.1-9.8-6.9-15.5-16.2-15.5z\"},\"child\":[]}]})(props);\n};\nexport function FaCcStripe (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M492.4 220.8c-8.9 0-18.7 6.7-18.7 22.7h36.7c0-16-9.3-22.7-18-22.7zM375 223.4c-8.2 0-13.3 2.9-17 7l.2 52.8c3.5 3.7 8.5 6.7 16.8 6.7 13.1 0 21.9-14.3 21.9-33.4 0-18.6-9-33.2-21.9-33.1zM528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM122.2 281.1c0 25.6-20.3 40.1-49.9 40.3-12.2 0-25.6-2.4-38.8-8.1v-33.9c12 6.4 27.1 11.3 38.9 11.3 7.9 0 13.6-2.1 13.6-8.7 0-17-54-10.6-54-49.9 0-25.2 19.2-40.2 48-40.2 11.8 0 23.5 1.8 35.3 6.5v33.4c-10.8-5.8-24.5-9.1-35.3-9.1-7.5 0-12.1 2.2-12.1 7.7 0 16 54.3 8.4 54.3 50.7zm68.8-56.6h-27V275c0 20.9 22.5 14.4 27 12.6v28.9c-4.7 2.6-13.3 4.7-24.9 4.7-21.1 0-36.9-15.5-36.9-36.5l.2-113.9 34.7-7.4v30.8H191zm74 2.4c-4.5-1.5-18.7-3.6-27.1 7.4v84.4h-35.5V194.2h30.7l2.2 10.5c8.3-15.3 24.9-12.2 29.6-10.5h.1zm44.1 91.8h-35.7V194.2h35.7zm0-142.9l-35.7 7.6v-28.9l35.7-7.6zm74.1 145.5c-12.4 0-20-5.3-25.1-9l-.1 40.2-35.5 7.5V194.2h31.3l1.8 8.8c4.9-4.5 13.9-11.1 27.8-11.1 24.9 0 48.4 22.5 48.4 63.8 0 45.1-23.2 65.5-48.6 65.6zm160.4-51.5h-69.5c1.6 16.6 13.8 21.5 27.6 21.5 14.1 0 25.2-3 34.9-7.9V312c-9.7 5.3-22.4 9.2-39.4 9.2-34.6 0-58.8-21.7-58.8-64.5 0-36.2 20.5-64.9 54.3-64.9 33.7 0 51.3 28.7 51.3 65.1 0 3.5-.3 10.9-.4 12.9z\"},\"child\":[]}]})(props);\n};\nexport function FaCcVisa (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M470.1 231.3s7.6 37.2 9.3 45H446c3.3-8.9 16-43.5 16-43.5-.2.3 3.3-9.1 5.3-14.9l2.8 13.4zM576 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM152.5 331.2L215.7 176h-42.5l-39.3 106-4.3-21.5-14-71.4c-2.3-9.9-9.4-12.7-18.2-13.1H32.7l-.7 3.1c15.8 4 29.9 9.8 42.2 17.1l35.8 135h42.5zm94.4.2L272.1 176h-40.2l-25.1 155.4h40.1zm139.9-50.8c.2-17.7-10.6-31.2-33.7-42.3-14.1-7.1-22.7-11.9-22.7-19.2.2-6.6 7.3-13.4 23.1-13.4 13.1-.3 22.7 2.8 29.9 5.9l3.6 1.7 5.5-33.6c-7.9-3.1-20.5-6.6-36-6.6-39.7 0-67.6 21.2-67.8 51.4-.3 22.3 20 34.7 35.2 42.2 15.5 7.6 20.8 12.6 20.8 19.3-.2 10.4-12.6 15.2-24.1 15.2-16 0-24.6-2.5-37.7-8.3l-5.3-2.5-5.6 34.9c9.4 4.3 26.8 8.1 44.8 8.3 42.2.1 69.7-20.8 70-53zM528 331.4L495.6 176h-31.1c-9.6 0-16.9 2.8-21 12.9l-59.7 142.5H426s6.9-19.2 8.4-23.3H486c1.2 5.5 4.8 23.3 4.8 23.3H528z\"},\"child\":[]}]})(props);\n};\nexport function FaCentercode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M329.2 268.6c-3.8 35.2-35.4 60.6-70.6 56.8-35.2-3.8-60.6-35.4-56.8-70.6 3.8-35.2 35.4-60.6 70.6-56.8 35.1 3.8 60.6 35.4 56.8 70.6zm-85.8 235.1C96.7 496-8.2 365.5 10.1 224.3c11.2-86.6 65.8-156.9 139.1-192 161-77.1 349.7 37.4 354.7 216.6 4.1 147-118.4 262.2-260.5 254.8zm179.9-180c27.9-118-160.5-205.9-237.2-234.2-57.5 56.3-69.1 188.6-33.8 344.4 68.8 15.8 169.1-26.4 271-110.2z\"},\"child\":[]}]})(props);\n};\nexport function FaCentos (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M289.6 97.5l31.6 31.7-76.3 76.5V97.5zm-162.4 31.7l76.3 76.5V97.5h-44.7zm41.5-41.6h44.7v127.9l10.8 10.8 10.8-10.8V87.6h44.7L224.2 32zm26.2 168.1l-10.8-10.8H55.5v-44.8L0 255.7l55.5 55.6v-44.8h128.6l10.8-10.8zm79.3-20.7h107.9v-44.8l-31.6-31.7zm173.3 20.7L392 200.1v44.8H264.3l-10.8 10.8 10.8 10.8H392v44.8l55.5-55.6zM65.4 176.2l32.5-31.7 90.3 90.5h15.3v-15.3l-90.3-90.5 31.6-31.7H65.4zm316.7-78.7h-78.5l31.6 31.7-90.3 90.5V235h15.3l90.3-90.5 31.6 31.7zM203.5 413.9V305.8l-76.3 76.5 31.6 31.7h44.7zM65.4 235h108.8l-76.3-76.5-32.5 31.7zm316.7 100.2l-31.6 31.7-90.3-90.5h-15.3v15.3l90.3 90.5-31.6 31.7h78.5zm0-58.8H274.2l76.3 76.5 31.6-31.7zm-60.9 105.8l-76.3-76.5v108.1h44.7zM97.9 352.9l76.3-76.5H65.4v44.8zm181.8 70.9H235V295.9l-10.8-10.8-10.8 10.8v127.9h-44.7l55.5 55.6zm-166.5-41.6l90.3-90.5v-15.3h-15.3l-90.3 90.5-32.5-31.7v78.7h79.4z\"},\"child\":[]}]})(props);\n};\nexport function FaChrome (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M131.5 217.5L55.1 100.1c47.6-59.2 119-91.8 192-92.1 42.3-.3 85.5 10.5 124.8 33.2 43.4 25.2 76.4 61.4 97.4 103L264 133.4c-58.1-3.4-113.4 29.3-132.5 84.1zm32.9 38.5c0 46.2 37.4 83.6 83.6 83.6s83.6-37.4 83.6-83.6-37.4-83.6-83.6-83.6-83.6 37.3-83.6 83.6zm314.9-89.2L339.6 174c37.9 44.3 38.5 108.2 6.6 157.2L234.1 503.6c46.5 2.5 94.4-7.7 137.8-32.9 107.4-62 150.9-192 107.4-303.9zM133.7 303.6L40.4 120.1C14.9 159.1 0 205.9 0 256c0 124 90.8 226.7 209.5 244.9l63.7-124.8c-57.6 10.8-113.2-20.8-139.5-72.5z\"},\"child\":[]}]})(props);\n};\nexport function FaChromecast (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M447.8,64H64c-23.6,0-42.7,19.1-42.7,42.7v63.9H64v-63.9h383.8v298.6H298.6V448H448c23.6,0,42.7-19.1,42.7-42.7V106.7 C490.7,83.1,471.4,64,447.8,64z M21.3,383.6L21.3,383.6l0,63.9h63.9C85.2,412.2,56.6,383.6,21.3,383.6L21.3,383.6z M21.3,298.6V341 c58.9,0,106.6,48.1,106.6,107h42.7C170.7,365.6,103.7,298.7,21.3,298.6z M213.4,448h42.7c-0.5-129.5-105.3-234.3-234.8-234.6l0,42.4 C127.3,255.6,213.3,342,213.4,448z\"},\"child\":[]}]})(props);\n};\nexport function FaCloudflare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M407.906,319.913l-230.8-2.928a4.58,4.58,0,0,1-3.632-1.926,4.648,4.648,0,0,1-.494-4.147,6.143,6.143,0,0,1,5.361-4.076L411.281,303.9c27.631-1.26,57.546-23.574,68.022-50.784l13.286-34.542a7.944,7.944,0,0,0,.524-2.936,7.735,7.735,0,0,0-.164-1.631A151.91,151.91,0,0,0,201.257,198.4,68.12,68.12,0,0,0,94.2,269.59C41.924,271.106,0,313.728,0,366.12a96.054,96.054,0,0,0,1.029,13.958,4.508,4.508,0,0,0,4.445,3.871l426.1.051c.043,0,.08-.019.122-.02a5.606,5.606,0,0,0,5.271-4l3.273-11.265c3.9-13.4,2.448-25.8-4.1-34.9C430.124,325.423,420.09,320.487,407.906,319.913ZM513.856,221.1c-2.141,0-4.271.062-6.391.164a3.771,3.771,0,0,0-3.324,2.653l-9.077,31.193c-3.9,13.4-2.449,25.786,4.1,34.89,6.02,8.4,16.054,13.323,28.238,13.9l49.2,2.939a4.491,4.491,0,0,1,3.51,1.894,4.64,4.64,0,0,1,.514,4.169,6.153,6.153,0,0,1-5.351,4.075l-51.125,2.939c-27.754,1.27-57.669,23.574-68.145,50.784l-3.695,9.606a2.716,2.716,0,0,0,2.427,3.68c.046,0,.088.017.136.017h175.91a4.69,4.69,0,0,0,4.539-3.37,124.807,124.807,0,0,0,4.682-34C640,277.3,583.524,221.1,513.856,221.1Z\"},\"child\":[]}]})(props);\n};\nexport function FaCloudscale (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M318.1 154l-9.4 7.6c-22.5-19.3-51.5-33.6-83.3-33.6C153.8 128 96 188.8 96 260.3c0 6.6.4 13.1 1.4 19.4-2-56 41.8-97.4 92.6-97.4 24.2 0 46.2 9.4 62.6 24.7l-25.2 20.4c-8.3-.9-16.8 1.8-23.1 8.1-11.1 11-11.1 28.9 0 40 11.1 11 28.9 11 40 0 6.3-6.3 9-14.9 8.1-23.1l75.2-88.8c6.3-6.5-3.3-15.9-9.5-9.6zm-83.8 111.5c-5.6 5.5-14.6 5.5-20.2 0-5.6-5.6-5.6-14.6 0-20.2s14.6-5.6 20.2 0 5.6 14.7 0 20.2zM224 32C100.5 32 0 132.5 0 256s100.5 224 224 224 224-100.5 224-224S347.5 32 224 32zm0 384c-88.2 0-160-71.8-160-160S135.8 96 224 96s160 71.8 160 160-71.8 160-160 160z\"},\"child\":[]}]})(props);\n};\nexport function FaCloudsmith (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 332 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M332.5 419.9c0 46.4-37.6 84.1-84 84.1s-84-37.7-84-84.1 37.6-84 84-84 84 37.6 84 84zm-84-243.9c46.4 0 80-37.6 80-84s-33.6-84-80-84-88 37.6-88 84-29.6 76-76 76-84 41.6-84 88 37.6 80 84 80 84-33.6 84-80 33.6-80 80-80z\"},\"child\":[]}]})(props);\n};\nexport function FaCloudversify (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 616 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M148.6 304c8.2 68.5 67.4 115.5 146 111.3 51.2 43.3 136.8 45.8 186.4-5.6 69.2 1.1 118.5-44.6 131.5-99.5 14.8-62.5-18.2-132.5-92.1-155.1-33-88.1-131.4-101.5-186.5-85-57.3 17.3-84.3 53.2-99.3 109.7-7.8 2.7-26.5 8.9-45 24.1 11.7 0 15.2 8.9 15.2 19.5v20.4c0 10.7-8.7 19.5-19.5 19.5h-20.2c-10.7 0-19.5-6-19.5-16.7V240H98.8C95 240 88 244.3 88 251.9v40.4c0 6.4 5.3 11.8 11.7 11.8h48.9zm227.4 8c-10.7 46.3 21.7 72.4 55.3 86.8C324.1 432.6 259.7 348 296 288c-33.2 21.6-33.7 71.2-29.2 92.9-17.9-12.4-53.8-32.4-57.4-79.8-3-39.9 21.5-75.7 57-93.9C297 191.4 369.9 198.7 400 248c-14.1-48-53.8-70.1-101.8-74.8 30.9-30.7 64.4-50.3 114.2-43.7 69.8 9.3 133.2 82.8 67.7 150.5 35-16.3 48.7-54.4 47.5-76.9l10.5 19.6c11.8 22 15.2 47.6 9.4 72-9.2 39-40.6 68.8-79.7 76.5-32.1 6.3-83.1-5.1-91.8-59.2zM128 208H88.2c-8.9 0-16.2-7.3-16.2-16.2v-39.6c0-8.9 7.3-16.2 16.2-16.2H128c8.9 0 16.2 7.3 16.2 16.2v39.6c0 8.9-7.3 16.2-16.2 16.2zM10.1 168C4.5 168 0 163.5 0 157.9v-27.8c0-5.6 4.5-10.1 10.1-10.1h27.7c5.5 0 10.1 4.5 10.1 10.1v27.8c0 5.6-4.5 10.1-10.1 10.1H10.1zM168 142.7v-21.4c0-5.1 4.2-9.3 9.3-9.3h21.4c5.1 0 9.3 4.2 9.3 9.3v21.4c0 5.1-4.2 9.3-9.3 9.3h-21.4c-5.1 0-9.3-4.2-9.3-9.3zM56 235.5v25c0 6.3-5.1 11.5-11.4 11.5H19.4C13.1 272 8 266.8 8 260.5v-25c0-6.3 5.1-11.5 11.4-11.5h25.1c6.4 0 11.5 5.2 11.5 11.5z\"},\"child\":[]}]})(props);\n};\nexport function FaCodepen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M502.285 159.704l-234-156c-7.987-4.915-16.511-4.96-24.571 0l-234 156C3.714 163.703 0 170.847 0 177.989v155.999c0 7.143 3.714 14.286 9.715 18.286l234 156.022c7.987 4.915 16.511 4.96 24.571 0l234-156.022c6-3.999 9.715-11.143 9.715-18.286V177.989c-.001-7.142-3.715-14.286-9.716-18.285zM278 63.131l172.286 114.858-76.857 51.429L278 165.703V63.131zm-44 0v102.572l-95.429 63.715-76.857-51.429L234 63.131zM44 219.132l55.143 36.857L44 292.846v-73.714zm190 229.715L61.714 333.989l76.857-51.429L234 346.275v102.572zm22-140.858l-77.715-52 77.715-52 77.715 52-77.715 52zm22 140.858V346.275l95.429-63.715 76.857 51.429L278 448.847zm190-156.001l-55.143-36.857L468 219.132v73.714z\"},\"child\":[]}]})(props);\n};\nexport function FaCodiepie (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 472 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M422.5 202.9c30.7 0 33.5 53.1-.3 53.1h-10.8v44.3h-26.6v-97.4h37.7zM472 352.6C429.9 444.5 350.4 504 248 504 111 504 0 393 0 256S111 8 248 8c97.4 0 172.8 53.7 218.2 138.4l-186 108.8L472 352.6zm-38.5 12.5l-60.3-30.7c-27.1 44.3-70.4 71.4-122.4 71.4-82.5 0-149.2-66.7-149.2-148.9 0-82.5 66.7-149.2 149.2-149.2 48.4 0 88.9 23.5 116.9 63.4l59.5-34.6c-40.7-62.6-104.7-100-179.2-100-121.2 0-219.5 98.3-219.5 219.5S126.8 475.5 248 475.5c78.6 0 146.5-42.1 185.5-110.4z\"},\"child\":[]}]})(props);\n};\nexport function FaConfluence (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.3 412.2c-4.5 7.6-2.1 17.5 5.5 22.2l105.9 65.2c7.7 4.7 17.7 2.4 22.4-5.3 0-.1.1-.2.1-.2 67.1-112.2 80.5-95.9 280.9-.7 8.1 3.9 17.8.4 21.7-7.7.1-.1.1-.3.2-.4l50.4-114.1c3.6-8.1-.1-17.6-8.1-21.3-22.2-10.4-66.2-31.2-105.9-50.3C127.5 179 44.6 345.3 2.3 412.2zm507.4-312.1c4.5-7.6 2.1-17.5-5.5-22.2L398.4 12.8c-7.5-5-17.6-3.1-22.6 4.4-.2.3-.4.6-.6 1-67.3 112.6-81.1 95.6-280.6.9-8.1-3.9-17.8-.4-21.7 7.7-.1.1-.1.3-.2.4L22.2 141.3c-3.6 8.1.1 17.6 8.1 21.3 22.2 10.4 66.3 31.2 106 50.4 248 120 330.8-45.4 373.4-112.9z\"},\"child\":[]}]})(props);\n};\nexport function FaConnectdevelop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M550.5 241l-50.089-86.786c1.071-2.142 1.875-4.553 1.875-7.232 0-8.036-6.696-14.733-14.732-15.001l-55.447-95.893c.536-1.607 1.071-3.214 1.071-4.821 0-8.571-6.964-15.268-15.268-15.268-4.821 0-8.839 2.143-11.786 5.625H299.518C296.839 18.143 292.821 16 288 16s-8.839 2.143-11.518 5.625H170.411C167.464 18.143 163.447 16 158.625 16c-8.303 0-15.268 6.696-15.268 15.268 0 1.607.536 3.482 1.072 4.821l-55.983 97.233c-5.356 2.41-9.107 7.5-9.107 13.661 0 .535.268 1.071.268 1.607l-53.304 92.143c-7.232 1.339-12.59 7.5-12.59 15 0 7.232 5.089 13.393 12.054 15l55.179 95.358c-.536 1.607-.804 2.946-.804 4.821 0 7.232 5.089 13.393 12.054 14.732l51.697 89.732c-.536 1.607-1.071 3.482-1.071 5.357 0 8.571 6.964 15.268 15.268 15.268 4.821 0 8.839-2.143 11.518-5.357h106.875C279.161 493.857 283.447 496 288 496s8.839-2.143 11.518-5.357h107.143c2.678 2.946 6.696 4.821 10.982 4.821 8.571 0 15.268-6.964 15.268-15.268 0-1.607-.267-2.946-.803-4.285l51.697-90.268c6.964-1.339 12.054-7.5 12.054-14.732 0-1.607-.268-3.214-.804-4.821l54.911-95.358c6.964-1.339 12.322-7.5 12.322-15-.002-7.232-5.092-13.393-11.788-14.732zM153.535 450.732l-43.66-75.803h43.66v75.803zm0-83.839h-43.66c-.268-1.071-.804-2.142-1.339-3.214l44.999-47.41v50.624zm0-62.411l-50.357 53.304c-1.339-.536-2.679-1.34-4.018-1.607L43.447 259.75c.535-1.339.535-2.679.535-4.018s0-2.41-.268-3.482l51.965-90c2.679-.268 5.357-1.072 7.768-2.679l50.089 51.965v92.946zm0-102.322l-45.803-47.41c1.339-2.143 2.143-4.821 2.143-7.767 0-.268-.268-.804-.268-1.072l43.928-15.804v72.053zm0-80.625l-43.66 15.804 43.66-75.536v59.732zm326.519 39.108l.804 1.339L445.5 329.125l-63.75-67.232 98.036-101.518.268.268zM291.75 355.107l11.518 11.786H280.5l11.25-11.786zm-.268-11.25l-83.303-85.446 79.553-84.375 83.036 87.589-79.286 82.232zm5.357 5.893l79.286-82.232 67.5 71.25-5.892 28.125H313.714l-16.875-17.143zM410.411 44.393c1.071.536 2.142 1.072 3.482 1.34l57.857 100.714v.536c0 2.946.803 5.624 2.143 7.767L376.393 256l-83.035-87.589L410.411 44.393zm-9.107-2.143L287.732 162.518l-57.054-60.268 166.339-60h4.287zm-123.483 0c2.678 2.678 6.16 4.285 10.179 4.285s7.5-1.607 10.179-4.285h75L224.786 95.821 173.893 42.25h103.928zm-116.249 5.625l1.071-2.142a33.834 33.834 0 0 0 2.679-.804l51.161 53.84-54.911 19.821V47.875zm0 79.286l60.803-21.964 59.732 63.214-79.553 84.107-40.982-42.053v-83.304zm0 92.678L198 257.607l-36.428 38.304v-76.072zm0 87.858l42.053-44.464 82.768 85.982-17.143 17.678H161.572v-59.196zm6.964 162.053c-1.607-1.607-3.482-2.678-5.893-3.482l-1.071-1.607v-89.732h99.91l-91.607 94.821h-1.339zm129.911 0c-2.679-2.41-6.428-4.285-10.447-4.285s-7.767 1.875-10.447 4.285h-96.429l91.607-94.821h38.304l91.607 94.821H298.447zm120-11.786l-4.286 7.5c-1.339.268-2.41.803-3.482 1.339l-89.196-91.875h114.376l-17.412 83.036zm12.856-22.232l12.858-60.803h21.964l-34.822 60.803zm34.822-68.839h-20.357l4.553-21.16 17.143 18.214c-.535.803-1.071 1.874-1.339 2.946zm66.161-107.411l-55.447 96.697c-1.339.535-2.679 1.071-4.018 1.874l-20.625-21.964 34.554-163.928 45.803 79.286c-.267 1.339-.803 2.678-.803 4.285 0 1.339.268 2.411.536 3.75z\"},\"child\":[]}]})(props);\n};\nexport function FaContao (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M45.4 305c14.4 67.1 26.4 129 68.2 175H34c-18.7 0-34-15.2-34-34V66c0-18.7 15.2-34 34-34h57.7C77.9 44.6 65.6 59.2 54.8 75.6c-45.4 70-27 146.8-9.4 229.4zM478 32h-90.2c21.4 21.4 39.2 49.5 52.7 84.1l-137.1 29.3c-14.9-29-37.8-53.3-82.6-43.9-24.6 5.3-41 19.3-48.3 34.6-8.8 18.7-13.2 39.8 8.2 140.3 21.1 100.2 33.7 117.7 49.5 131.2 12.9 11.1 33.4 17 58.3 11.7 44.5-9.4 55.7-40.7 57.4-73.2l137.4-29.6c3.2 71.5-18.7 125.2-57.4 163.6H478c18.7 0 34-15.2 34-34V66c0-18.8-15.2-34-34-34z\"},\"child\":[]}]})(props);\n};\nexport function FaCottonBureau (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M474.31 330.41c-23.66 91.85-94.23 144.59-201.9 148.35V429.6c0-48 26.41-74.39 74.39-74.39 62 0 99.2-37.2 99.2-99.21 0-61.37-36.53-98.28-97.38-99.06-33-69.32-146.5-64.65-177.24 0C110.52 157.72 74 194.63 74 256c0 62.13 37.27 99.41 99.4 99.41 48 0 74.55 26.23 74.55 74.39V479c-134.43-5-211.1-85.07-211.1-223 0-141.82 81.35-223.2 223.2-223.2 114.77 0 189.84 53.2 214.69 148.81H500C473.88 71.51 388.22 8 259.82 8 105 8 12 101.19 12 255.82 12 411.14 105.19 504.34 259.82 504c128.27 0 213.87-63.81 239.67-173.59zM357 182.33c41.37 3.45 64.2 29 64.2 73.67 0 48-26.43 74.41-74.4 74.41-28.61 0-49.33-9.59-61.59-27.33 83.06-16.55 75.59-99.67 71.79-120.75zm-81.68 97.36c-2.46-10.34-16.33-87 56.23-97 2.27 10.09 16.52 87.11-56.26 97zM260 132c28.61 0 49 9.67 61.44 27.61-28.36 5.48-49.36 20.59-61.59 43.45-12.23-22.86-33.23-38-61.6-43.45 12.41-17.69 33.27-27.35 61.57-27.35zm-71.52 50.72c73.17 10.57 58.91 86.81 56.49 97-72.41-9.84-59-86.95-56.25-97zM173.2 330.41c-48 0-74.4-26.4-74.4-74.41 0-44.36 22.86-70 64.22-73.67-6.75 37.2-1.38 106.53 71.65 120.75-12.14 17.63-32.84 27.3-61.14 27.3zm53.21 12.39A80.8 80.8 0 0 0 260 309.25c7.77 14.49 19.33 25.54 33.82 33.55a80.28 80.28 0 0 0-33.58 33.83c-8-14.5-19.07-26.23-33.56-33.83z\"},\"child\":[]}]})(props);\n};\nexport function FaCpanel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M210.3 220.2c-5.6-24.8-26.9-41.2-51-41.2h-37c-7.1 0-12.5 4.5-14.3 10.9L73.1 320l24.7-.1c6.8 0 12.3-4.5 14.2-10.7l25.8-95.7h19.8c8.4 0 16.2 5.6 18.3 14.8 2.5 10.9-5.9 22.6-18.3 22.6h-10.3c-7 0-12.5 4.6-14.3 10.8l-6.4 23.8h32c37.2 0 58.3-36.2 51.7-65.3zm-156.5 28h18.6c6.9 0 12.4-4.4 14.3-10.9l6.2-23.6h-40C30 213.7 9 227.8 1.7 254.8-7 288.6 18.5 320 52 320h12.4l7.1-26.1c1.2-4.4-2.2-8.3-6.4-8.3H53.8c-24.7 0-24.9-37.4 0-37.4zm247.5-34.8h-77.9l-3.5 13.4c-2.4 9.6 4.5 18.5 14.2 18.5h57.5c4 0 2.4 4.3 2.1 5.3l-8.6 31.8c-.4 1.4-.9 5.3-5.5 5.3h-34.9c-5.3 0-5.3-7.9 0-7.9h21.6c6.8 0 12.3-4.6 14.2-10.8l3.5-13.2h-48.4c-39.2 0-43.6 63.8-.7 63.8l57.5.2c11.2 0 20.6-7.2 23.4-17.8l14-51.8c4.8-19.2-9.7-36.8-28.5-36.8zM633.1 179h-18.9c-4.9 0-9.2 3.2-10.4 7.9L568.2 320c20.7 0 39.8-13.8 44.9-34.5l26.5-98.2c1.2-4.3-2-8.3-6.5-8.3zm-236.3 34.7v.1h-48.3l-26.2 98c-1.2 4.4 2.2 8.3 6.4 8.3h18.9c4.8 0 9.2-3 10.4-7.8l17.2-64H395c12.5 0 21.4 11.8 18.1 23.4l-10.6 40c-1.2 4.3 1.9 8.3 6.4 8.3H428c4.6 0 9.1-2.9 10.3-7.8l8.8-33.1c9-33.1-15.9-65.4-50.3-65.4zm98.3 74.6c-3.6 0-6-3.4-5.1-6.7l8-30c.9-3.9 3.7-6 7.8-6h32.9c2.6 0 4.6 2.4 3.9 5.1l-.7 2.6c-.6 2-1.9 3-3.9 3h-21.6c-7 0-12.6 4.6-14.2 10.8l-3.5 13h53.4c10.5 0 20.3-6.6 23.2-17.6l3.2-12c4.9-19.1-9.3-36.8-28.3-36.8h-47.3c-17.9 0-33.8 12-38.6 29.6l-10.8 40c-5 17.7 8.3 36.7 28.3 36.7h66.7c6.8 0 12.3-4.5 14.2-10.7l5.7-21z\"},\"child\":[]}]})(props);\n};\nexport function FaCreativeCommonsBy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M314.9 194.4v101.4h-28.3v120.5h-77.1V295.9h-28.3V194.4c0-4.4 1.6-8.2 4.6-11.3 3.1-3.1 6.9-4.7 11.3-4.7H299c4.1 0 7.8 1.6 11.1 4.7 3.1 3.2 4.8 6.9 4.8 11.3zm-101.5-63.7c0-23.3 11.5-35 34.5-35s34.5 11.7 34.5 35c0 23-11.5 34.5-34.5 34.5s-34.5-11.5-34.5-34.5zM247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3z\"},\"child\":[]}]})(props);\n};\nexport function FaCreativeCommonsNcEu (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M247.7 8C103.6 8 0 124.8 0 256c0 136.3 111.7 248 247.7 248C377.9 504 496 403.1 496 256 496 117 388.4 8 247.7 8zm.6 450.7c-112 0-203.6-92.5-203.6-202.7 0-23.2 3.7-45.2 10.9-66l65.7 29.1h-4.7v29.5h23.3c0 6.2-.4 3.2-.4 19.5h-22.8v29.5h27c11.4 67 67.2 101.3 124.6 101.3 26.6 0 50.6-7.9 64.8-15.8l-10-46.1c-8.7 4.6-28.2 10.8-47.3 10.8-28.2 0-58.1-10.9-67.3-50.2h90.3l128.3 56.8c-1.5 2.1-56.2 104.3-178.8 104.3zm-16.7-190.6l-.5-.4.9.4h-.4zm77.2-19.5h3.7v-29.5h-70.3l-28.6-12.6c2.5-5.5 5.4-10.5 8.8-14.3 12.9-15.8 31.1-22.4 51.1-22.4 18.3 0 35.3 5.4 46.1 10l11.6-47.3c-15-6.6-37-12.4-62.3-12.4-39 0-72.2 15.8-95.9 42.3-5.3 6.1-9.8 12.9-13.9 20.1l-81.6-36.1c64.6-96.8 157.7-93.6 170.7-93.6 113 0 203 90.2 203 203.4 0 18.7-2.1 36.3-6.3 52.9l-136.1-60.5z\"},\"child\":[]}]})(props);\n};\nexport function FaCreativeCommonsNcJp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M247.7 8C103.6 8 0 124.8 0 256c0 136.4 111.8 248 247.7 248C377.9 504 496 403.2 496 256 496 117.2 388.5 8 247.7 8zm.6 450.7c-112 0-203.6-92.5-203.6-202.7 0-21.1 3-41.2 9-60.3l127 56.5h-27.9v38.6h58.1l5.7 11.8v18.7h-63.8V360h63.8v56h61.7v-56h64.2v-35.7l81 36.1c-1.5 2.2-57.1 98.3-175.2 98.3zm87.6-137.3h-57.6v-18.7l2.9-5.6 54.7 24.3zm6.5-51.4v-17.8h-38.6l63-116H301l-43.4 96-23-10.2-39.6-85.7h-65.8l27.3 51-81.9-36.5c27.8-44.1 82.6-98.1 173.7-98.1 112.8 0 203 90 203 203.4 0 21-2.7 40.6-7.9 59l-101-45.1z\"},\"child\":[]}]})(props);\n};\nexport function FaCreativeCommonsNc (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M247.6 8C387.4 8 496 115.9 496 256c0 147.2-118.5 248-248.4 248C113.1 504 0 393.2 0 256 0 123.1 104.7 8 247.6 8zM55.8 189.1c-7.4 20.4-11.1 42.7-11.1 66.9 0 110.9 92.1 202.4 203.7 202.4 122.4 0 177.2-101.8 178.5-104.1l-93.4-41.6c-7.7 37.1-41.2 53-68.2 55.4v38.1h-28.8V368c-27.5-.3-52.6-10.2-75.3-29.7l34.1-34.5c31.7 29.4 86.4 31.8 86.4-2.2 0-6.2-2.2-11.2-6.6-15.1-14.2-6-1.8-.1-219.3-97.4zM248.4 52.3c-38.4 0-112.4 8.7-170.5 93l94.8 42.5c10-31.3 40.4-42.9 63.8-44.3v-38.1h28.8v38.1c22.7 1.2 43.4 8.9 62 23L295 199.7c-42.7-29.9-83.5-8-70 11.1 53.4 24.1 43.8 19.8 93 41.6l127.1 56.7c4.1-17.4 6.2-35.1 6.2-53.1 0-57-19.8-105-59.3-143.9-39.3-39.9-87.2-59.8-143.6-59.8z\"},\"child\":[]}]})(props);\n};\nexport function FaCreativeCommonsNd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm94 144.3v42.5H162.1V197h180.3zm0 79.8v42.5H162.1v-42.5h180.3z\"},\"child\":[]}]})(props);\n};\nexport function FaCreativeCommonsPdAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M247.6 8C104.7 8 0 123.1 0 256c0 138.5 113.6 248 247.6 248C377.5 504 496 403.1 496 256 496 118.1 389.4 8 247.6 8zm.8 450.8c-112.5 0-203.7-93-203.7-202.8 0-105.4 85.5-203.3 203.7-203.3 112.6 0 202.9 89.5 202.8 203.3 0 121.7-99.6 202.8-202.8 202.8zM316.7 186h-53.2v137.2h53.2c21.4 0 70-5.1 70-68.6 0-63.4-48.6-68.6-70-68.6zm.8 108.5h-19.9v-79.7l19.4-.1c3.8 0 35-2.1 35 39.9 0 24.6-10.5 39.9-34.5 39.9zM203.7 186h-68.2v137.3h34.6V279h27c54.1 0 57.1-37.5 57.1-46.5 0-31-16.8-46.5-50.5-46.5zm-4.9 67.3h-29.2v-41.6h28.3c30.9 0 28.8 41.6.9 41.6z\"},\"child\":[]}]})(props);\n};\nexport function FaCreativeCommonsPd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119.1 0 256c0 137 111 248 248 248s248-111 248-248C496 119.1 385 8 248 8zm0 449.5c-139.2 0-235.8-138-190.2-267.9l78.8 35.1c-2.1 10.5-3.3 21.5-3.3 32.9 0 99 73.9 126.9 120.4 126.9 22.9 0 53.5-6.7 79.4-29.5L297 311.1c-5.5 6.3-17.6 16.7-36.3 16.7-37.8 0-53.7-39.9-53.9-71.9 230.4 102.6 216.5 96.5 217.9 96.8-34.3 62.4-100.6 104.8-176.7 104.8zm194.2-150l-224-100c18.8-34 54.9-30.7 74.7-11l40.4-41.6c-27.1-23.3-58-27.5-78.1-27.5-47.4 0-80.9 20.5-100.7 51.6l-74.9-33.4c36.1-54.9 98.1-91.2 168.5-91.2 111.1 0 201.5 90.4 201.5 201.5 0 18-2.4 35.4-6.8 52-.3-.1-.4-.2-.6-.4z\"},\"child\":[]}]})(props);\n};\nexport function FaCreativeCommonsRemix (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm161.7 207.7l4.9 2.2v70c-7.2 3.6-63.4 27.5-67.3 28.8-6.5-1.8-113.7-46.8-137.3-56.2l-64.2 26.6-63.3-27.5v-63.8l59.3-24.8c-.7-.7-.4 5-.4-70.4l67.3-29.7L361 178.5v61.6l49.1 20.3zm-70.4 81.5v-43.8h-.4v-1.8l-113.8-46.5V295l113.8 46.9v-.4l.4.4zm7.5-57.6l39.9-16.4-36.8-15.5-39 16.4 35.9 15.5zm52.3 38.1v-43L355.2 298v43.4l44.3-19z\"},\"child\":[]}]})(props);\n};\nexport function FaCreativeCommonsSa (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zM137.7 221c13-83.9 80.5-95.7 108.9-95.7 99.8 0 127.5 82.5 127.5 134.2 0 63.6-41 132.9-128.9 132.9-38.9 0-99.1-20-109.4-97h62.5c1.5 30.1 19.6 45.2 54.5 45.2 23.3 0 58-18.2 58-82.8 0-82.5-49.1-80.6-56.7-80.6-33.1 0-51.7 14.6-55.8 43.8h18.2l-49.2 49.2-49-49.2h19.4z\"},\"child\":[]}]})(props);\n};\nexport function FaCreativeCommonsSamplingPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm107 205.6c-4.7 0-9 2.8-10.7 7.2l-4 9.5-11-92.8c-1.7-13.9-22-13.4-23.1.4l-4.3 51.4-5.2-68.8c-1.1-14.3-22.1-14.2-23.2 0l-3.5 44.9-5.9-94.3c-.9-14.5-22.3-14.4-23.2 0l-5.1 83.7-4.3-66.3c-.9-14.4-22.2-14.4-23.2 0l-5.3 80.2-4.1-57c-1.1-14.3-22-14.3-23.2-.2l-7.7 89.8-1.8-12.2c-1.7-11.4-17.1-13.6-22-3.3l-13.2 27.7H87.5v23.2h51.3c4.4 0 8.4-2.5 10.4-6.4l10.7 73.1c2 13.5 21.9 13 23.1-.7l3.8-43.6 5.7 78.3c1.1 14.4 22.3 14.2 23.2-.1l4.6-70.4 4.8 73.3c.9 14.4 22.3 14.4 23.2-.1l4.9-80.5 4.5 71.8c.9 14.3 22.1 14.5 23.2.2l4.6-58.6 4.9 64.4c1.1 14.3 22 14.2 23.1.1l6.8-83 2.7 22.3c1.4 11.8 17.7 14.1 22.3 3.1l18-43.4h50.5V258l-58.4.3zm-78 5.2h-21.9v21.9c0 4.1-3.3 7.5-7.5 7.5-4.1 0-7.5-3.3-7.5-7.5v-21.9h-21.9c-4.1 0-7.5-3.3-7.5-7.5 0-4.1 3.4-7.5 7.5-7.5h21.9v-21.9c0-4.1 3.4-7.5 7.5-7.5s7.5 3.3 7.5 7.5v21.9h21.9c4.1 0 7.5 3.3 7.5 7.5 0 4.1-3.4 7.5-7.5 7.5z\"},\"child\":[]}]})(props);\n};\nexport function FaCreativeCommonsSampling (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm3.6 53.2c2.8-.3 11.5 1 11.5 11.5l6.6 107.2 4.9-59.3c0-6 4.7-10.6 10.6-10.6 5.9 0 10.6 4.7 10.6 10.6 0 2.5-.5-5.7 5.7 81.5l5.8-64.2c.3-2.9 2.9-9.3 10.2-9.3 3.8 0 9.9 2.3 10.6 8.9l11.5 96.5 5.3-12.8c1.8-4.4 5.2-6.6 10.2-6.6h58v21.3h-50.9l-18.2 44.3c-3.9 9.9-19.5 9.1-20.8-3.1l-4-31.9-7.5 92.6c-.3 3-3 9.3-10.2 9.3-3 0-9.8-2.1-10.6-9.3 0-1.9.6 5.8-6.2-77.9l-5.3 72.2c-1.1 4.8-4.8 9.3-10.6 9.3-2.9 0-9.8-2-10.6-9.3 0-1.9.5 6.7-5.8-87.7l-5.8 94.8c0 6.3-3.6 12.4-10.6 12.4-5.2 0-10.6-4.1-10.6-12l-5.8-87.7c-5.8 92.5-5.3 84-5.3 85.9-1.1 4.8-4.8 9.3-10.6 9.3-3 0-9.8-2.1-10.6-9.3 0-.7-.4-1.1-.4-2.6l-6.2-88.6L182 348c-.7 6.5-6.7 9.3-10.6 9.3-5.8 0-9.6-4.1-10.6-8.9L149.7 272c-2 4-3.5 8.4-11.1 8.4H87.2v-21.3H132l13.7-27.9c4.4-9.9 18.2-7.2 19.9 2.7l3.1 20.4 8.4-97.9c0-6 4.8-10.6 10.6-10.6.5 0 10.6-.2 10.6 12.4l4.9 69.1 6.6-92.6c0-10.1 9.5-10.6 10.2-10.6.6 0 10.6.7 10.6 10.6l5.3 80.6 6.2-97.9c.1-1.1-.6-10.3 9.9-11.5z\"},\"child\":[]}]})(props);\n};\nexport function FaCreativeCommonsShare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm101 132.4c7.8 0 13.7 6.1 13.7 13.7v182.5c0 7.7-6.1 13.7-13.7 13.7H214.3c-7.7 0-13.7-6-13.7-13.7v-54h-54c-7.8 0-13.7-6-13.7-13.7V131.1c0-8.2 6.6-12.7 12.4-13.7h136.4c7.7 0 13.7 6 13.7 13.7v54h54zM159.9 300.3h40.7V198.9c0-7.4 5.8-12.6 12-13.7h55.8v-40.3H159.9v155.4zm176.2-88.1H227.6v155.4h108.5V212.2z\"},\"child\":[]}]})(props);\n};\nexport function FaCreativeCommonsZero (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M247.6 8C389.4 8 496 118.1 496 256c0 147.1-118.5 248-248.4 248C113.6 504 0 394.5 0 256 0 123.1 104.7 8 247.6 8zm.8 44.7C130.2 52.7 44.7 150.6 44.7 256c0 109.8 91.2 202.8 203.7 202.8 103.2 0 202.8-81.1 202.8-202.8.1-113.8-90.2-203.3-202.8-203.3zm-.4 60.5c-81.9 0-102.5 77.3-102.5 142.8 0 65.5 20.6 142.8 102.5 142.8S350.5 321.5 350.5 256c0-65.5-20.6-142.8-102.5-142.8zm0 53.9c3.3 0 6.4.5 9.2 1.2 5.9 5.1 8.8 12.1 3.1 21.9l-54.5 100.2c-1.7-12.7-1.9-25.1-1.9-34.4 0-28.8 2-88.9 44.1-88.9zm40.8 46.2c2.9 15.4 3.3 31.4 3.3 42.7 0 28.9-2 88.9-44.1 88.9-13.5 0-32.6-7.7-20.1-26.4l60.9-105.2z\"},\"child\":[]}]})(props);\n};\nexport function FaCreativeCommons (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M245.83 214.87l-33.22 17.28c-9.43-19.58-25.24-19.93-27.46-19.93-22.13 0-33.22 14.61-33.22 43.84 0 23.57 9.21 43.84 33.22 43.84 14.47 0 24.65-7.09 30.57-21.26l30.55 15.5c-6.17 11.51-25.69 38.98-65.1 38.98-22.6 0-73.96-10.32-73.96-77.05 0-58.69 43-77.06 72.63-77.06 30.72-.01 52.7 11.95 65.99 35.86zm143.05 0l-32.78 17.28c-9.5-19.77-25.72-19.93-27.9-19.93-22.14 0-33.22 14.61-33.22 43.84 0 23.55 9.23 43.84 33.22 43.84 14.45 0 24.65-7.09 30.54-21.26l31 15.5c-2.1 3.75-21.39 38.98-65.09 38.98-22.69 0-73.96-9.87-73.96-77.05 0-58.67 42.97-77.06 72.63-77.06 30.71-.01 52.58 11.95 65.56 35.86zM247.56 8.05C104.74 8.05 0 123.11 0 256.05c0 138.49 113.6 248 247.56 248 129.93 0 248.44-100.87 248.44-248 0-137.87-106.62-248-248.44-248zm.87 450.81c-112.54 0-203.7-93.04-203.7-202.81 0-105.42 85.43-203.27 203.72-203.27 112.53 0 202.82 89.46 202.82 203.26-.01 121.69-99.68 202.82-202.84 202.82z\"},\"child\":[]}]})(props);\n};\nexport function FaCriticalRole (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M225.82 0c.26.15 216.57 124.51 217.12 124.72 3 1.18 3.7 3.46 3.7 6.56q-.11 125.17 0 250.36a5.88 5.88 0 0 1-3.38 5.78c-21.37 12-207.86 118.29-218.93 124.58h-3C142 466.34 3.08 386.56 2.93 386.48a3.29 3.29 0 0 1-1.88-3.24c0-.87 0-225.94-.05-253.1a5 5 0 0 1 2.93-4.93C27.19 112.11 213.2 6 224.07 0zM215.4 20.42l-.22-.16Q118.06 75.55 21 130.87c0 .12.08.23.13.35l30.86 11.64c-7.71 6-8.32 6-10.65 5.13-.1 0-24.17-9.28-26.8-10v230.43c.88-1.41 64.07-110.91 64.13-111 1.62-2.82 3-1.92 9.12-1.52 1.4.09 1.48.22.78 1.42-41.19 71.33-36.4 63-67.48 116.94-.81 1.4-.61 1.13 1.25 1.13h186.5c1.44 0 1.69-.23 1.7-1.64v-8.88c0-1.34 2.36-.81-18.37-1-7.46-.07-14.14-3.22-21.38-12.7-7.38-9.66-14.62-19.43-21.85-29.21-2.28-3.08-3.45-2.38-16.76-2.38-1.75 0-1.78 0-1.76 1.82.29 26.21.15 25.27 1 32.66.52 4.37 2.16 4.2 9.69 4.81 3.14.26 3.88 4.08.52 4.92-1.57.39-31.6.51-33.67-.1a2.42 2.42 0 0 1 .3-4.73c3.29-.76 6.16.81 6.66-4.44 1.3-13.66 1.17-9 1.1-79.42 0-10.82-.35-12.58-5.36-13.55-1.22-.24-3.54-.16-4.69-.55-2.88-1-2-4.84 1.77-4.85 33.67 0 46.08-1.07 56.06 4.86 7.74 4.61 12 11.48 12.51 20.4.88 14.59-6.51 22.35-15 32.59a1.46 1.46 0 0 0 0 2.22c2.6 3.25 5 6.63 7.71 9.83 27.56 33.23 24.11 30.54 41.28 33.06.89.13 1-.42 1-1.15v-11c0-1 .32-1.43 1.41-1.26a72.37 72.37 0 0 0 23.58-.3c1.08-.15 1.5.2 1.48 1.33 0 .11.88 26.69.87 26.8-.05 1.52.67 1.62 1.89 1.62h186.71Q386.51 304.6 346 234.33c2.26-.66-.4 0 6.69-1.39 2-.39 2.05-.41 3.11 1.44 7.31 12.64 77.31 134 77.37 134.06V138c-1.72.5-103.3 38.72-105.76 39.68-1.08.42-1.55.2-1.91-.88-.63-1.9-1.34-3.76-2.09-5.62-.32-.79-.09-1.13.65-1.39.1 0 95.53-35.85 103-38.77-65.42-37.57-130.56-75-196-112.6l86.82 150.39-.28.33c-9.57-.9-10.46-1.6-11.8-3.94-1-1.69-73.5-127.71-82-142.16-9.1 14.67-83.56 146.21-85.37 146.32-2.93.17-5.88.08-9.25.08q43.25-74.74 86.18-149zm51.93 129.92a37.68 37.68 0 0 0 5.54-.85c1.69-.3 2.53.2 2.6 1.92 0 .11.07 19.06-.86 20.45s-1.88 1.22-2.6-.19c-5-9.69 6.22-9.66-39.12-12-.7 0-1 .23-1 .93 0 .13 3.72 122 3.73 122.11 0 .89.52 1.2 1.21 1.51a83.92 83.92 0 0 1 8.7 4.05c7.31 4.33 11.38 10.84 12.41 19.31 1.44 11.8-2.77 35.77-32.21 37.14-2.75.13-28.26 1.08-34.14-23.25-4.66-19.26 8.26-32.7 19.89-36.4a2.45 2.45 0 0 0 2-2.66c.1-5.63 3-107.1 3.71-121.35.05-1.08-.62-1.16-1.35-1.15-32.35.52-36.75-.34-40.22 8.52-2.42 6.18-4.14 1.32-3.95.23q1.59-9 3.31-18c.4-2.11 1.43-2.61 3.43-1.86 5.59 2.11 6.72 1.7 37.25 1.92 1.73 0 1.78-.08 1.82-1.85.68-27.49.58-22.59 1-29.55a2.69 2.69 0 0 0-1.63-2.8c-5.6-2.91-8.75-7.55-8.9-13.87-.35-14.81 17.72-21.67 27.38-11.51 6.84 7.19 5.8 18.91-2.45 24.15a4.35 4.35 0 0 0-2.22 4.34c0 .59-.11-4.31 1 30.05 0 .9.43 1.12 1.24 1.11.1 0 23-.09 34.47-.37zM68.27 141.7c19.84-4.51 32.68-.56 52.49 1.69 2.76.31 3.74 1.22 3.62 4-.21 5-1.16 22.33-1.24 23.15a2.65 2.65 0 0 1-1.63 2.34c-4.06 1.7-3.61-4.45-4-7.29-3.13-22.43-73.87-32.7-74.63 25.4-.31 23.92 17 53.63 54.08 50.88 27.24-2 19-20.19 24.84-20.47a2.72 2.72 0 0 1 3 3.36c-1.83 10.85-3.42 18.95-3.45 19.15-1.54 9.17-86.7 22.09-93.35-42.06-2.71-25.85 10.44-53.37 40.27-60.15zm80 87.67h-19.49a2.57 2.57 0 0 1-2.66-1.79c2.38-3.75 5.89.92 5.86-6.14-.08-25.75.21-38 .23-40.1 0-3.42-.53-4.65-3.32-4.94-7-.72-3.11-3.37-1.11-3.38 11.84-.1 22.62-.18 30.05.72 8.77 1.07 16.71 12.63 7.93 22.62-2 2.25-4 4.42-6.14 6.73.95 1.15 6.9 8.82 17.28 19.68 2.66 2.78 6.15 3.51 9.88 3.13a2.21 2.21 0 0 0 2.23-2.12c.3-3.42.26 4.73.45-40.58 0-5.65-.34-6.58-3.23-6.83-3.95-.35-4-2.26-.69-3.37l19.09-.09c.32 0 4.49.53 1 3.38 0 .05-.16 0-.24 0-3.61.26-3.94 1-4 4.62-.27 43.93.07 40.23.41 42.82.11.84.27 2.23 5.1 2.14 2.49 0 3.86 3.37 0 3.4-10.37.08-20.74 0-31.11.07-10.67 0-13.47-6.2-24.21-20.82-1.6-2.18-8.31-2.36-8.2-.37.88 16.47 0 17.78 4 17.67 4.75-.1 4.73 3.57.83 3.55zm275-10.15c-1.21 7.13.17 10.38-5.3 10.34-61.55-.42-47.82-.22-50.72-.31a18.4 18.4 0 0 1-3.63-.73c-2.53-.6 1.48-1.23-.38-5.6-1.43-3.37-2.78-6.78-4.11-10.19a1.94 1.94 0 0 0-2-1.44 138 138 0 0 0-14.58.07 2.23 2.23 0 0 0-1.62 1.06c-1.58 3.62-3.07 7.29-4.51 11-1.27 3.23 7.86 1.32 12.19 2.16 3 .57 4.53 3.72.66 3.73H322.9c-2.92 0-3.09-3.15-.74-3.21a6.3 6.3 0 0 0 5.92-3.47c1.5-3 2.8-6 4.11-9.09 18.18-42.14 17.06-40.17 18.42-41.61a1.83 1.83 0 0 1 3 0c2.93 3.34 18.4 44.71 23.62 51.92 2 2.7 5.74 2 6.36 2 3.61.13 4-1.11 4.13-4.29.09-1.87.08 1.17.07-41.24 0-4.46-2.36-3.74-5.55-4.27-.26 0-2.56-.63-.08-3.06.21-.2-.89-.24 21.7-.15 2.32 0 5.32 2.75-1.21 3.45a2.56 2.56 0 0 0-2.66 2.83c-.07 1.63-.19 38.89.29 41.21a3.06 3.06 0 0 0 3.23 2.43c13.25.43 14.92.44 16-3.41 1.67-5.78 4.13-2.52 3.73-.19zm-104.72 64.37c-4.24 0-4.42-3.39-.61-3.41 35.91-.16 28.11.38 37.19-.65 1.68-.19 2.38.24 2.25 1.89-.26 3.39-.64 6.78-1 10.16-.25 2.16-3.2 2.61-3.4-.15-.38-5.31-2.15-4.45-15.63-5.08-1.58-.07-1.64 0-1.64 1.52V304c0 1.65 0 1.6 1.62 1.47 3.12-.25 10.31.34 15.69-1.52.47-.16 3.3-1.79 3.07 1.76 0 .21-.76 10.35-1.18 11.39-.53 1.29-1.88 1.51-2.58.32-1.17-2 0-5.08-3.71-5.3-15.42-.9-12.91-2.55-12.91 6 0 12.25-.76 16.11 3.89 16.24 16.64.48 14.4 0 16.43-5.71.84-2.37 3.5-1.77 3.18.58-.44 3.21-.85 6.43-1.23 9.64 0 .36-.16 2.4-4.66 2.39-37.16-.08-34.54-.19-35.21-.31-2.72-.51-2.2-3 .22-3.45 1.1-.19 4 .54 4.16-2.56 2.44-56.22-.07-51.34-3.91-51.33zm-.41-109.52c2.46.61 3.13 1.76 2.95 4.65-.33 5.3-.34 9-.55 9.69-.66 2.23-3.15 2.12-3.34-.27-.38-4.81-3.05-7.82-7.57-9.15-26.28-7.73-32.81 15.46-27.17 30.22 5.88 15.41 22 15.92 28.86 13.78 5.92-1.85 5.88-6.5 6.91-7.58 1.23-1.3 2.25-1.84 3.12 1.1 0 .1.57 11.89-6 12.75-1.6.21-19.38 3.69-32.68-3.39-21-11.19-16.74-35.47-6.88-45.33 14-14.06 39.91-7.06 42.32-6.47zM289.8 280.14c3.28 0 3.66 3 .16 3.43-2.61.32-5-.42-5 5.46 0 2-.19 29.05.4 41.45.11 2.29 1.15 3.52 3.44 3.65 22 1.21 14.95-1.65 18.79-6.34 1.83-2.24 2.76.84 2.76 1.08.35 13.62-4 12.39-5.19 12.4l-38.16-.19c-1.93-.23-2.06-3-.42-3.38 2-.48 4.94.4 5.13-2.8 1-15.87.57-44.65.34-47.81-.27-3.77-2.8-3.27-5.68-3.71-2.47-.38-2-3.22.34-3.22 1.45-.02 17.97-.03 23.09-.02zm-31.63-57.79c.07 4.08 2.86 3.46 6 3.58 2.61.1 2.53 3.41-.07 3.43-6.48 0-13.7 0-21.61-.06-3.84 0-3.38-3.35 0-3.37 4.49 0 3.24 1.61 3.41-45.54 0-5.08-3.27-3.54-4.72-4.23-2.58-1.23-1.36-3.09.41-3.15 1.29 0 20.19-.41 21.17.21s1.87 1.65-.42 2.86c-1 .52-3.86-.28-4.15 2.47 0 .21-.82 1.63-.07 43.8zm-36.91 274.27a2.93 2.93 0 0 0 3.26 0c17-9.79 182-103.57 197.42-112.51-.14-.43 11.26-.18-181.52-.27-1.22 0-1.57.37-1.53 1.56 0 .1 1.25 44.51 1.22 50.38a28.33 28.33 0 0 1-1.36 7.71c-.55 1.83.38-.5-13.5 32.23-.73 1.72-1 2.21-2-.08-4.19-10.34-8.28-20.72-12.57-31a23.6 23.6 0 0 1-2-10.79c.16-2.46.8-16.12 1.51-48 0-1.95 0-2-2-2h-183c2.58 1.63 178.32 102.57 196 112.76zm-90.9-188.75c0 2.4.36 2.79 2.76 3 11.54 1.17 21 3.74 25.64-7.32 6-14.46 2.66-34.41-12.48-38.84-2-.59-16-2.76-15.94 1.51.05 8.04.01 11.61.02 41.65zm105.75-15.05c0 2.13 1.07 38.68 1.09 39.13.34 9.94-25.58 5.77-25.23-2.59.08-2 1.37-37.42 1.1-39.43-14.1 7.44-14.42 40.21 6.44 48.8a17.9 17.9 0 0 0 22.39-7.07c4.91-7.76 6.84-29.47-5.43-39a2.53 2.53 0 0 1-.36.12zm-12.28-198c-9.83 0-9.73 14.75-.07 14.87s10.1-14.88.07-14.91zm-80.15 103.83c0 1.8.41 2.4 2.17 2.58 13.62 1.39 12.51-11 12.16-13.36-1.69-11.22-14.38-10.2-14.35-7.81.05 4.5-.03 13.68.02 18.59zm212.32 6.4l-6.1-15.84c-2.16 5.48-4.16 10.57-6.23 15.84z\"},\"child\":[]}]})(props);\n};\nexport function FaCss3Alt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 32l34.9 395.8L192 480l157.1-52.2L384 32H0zm313.1 80l-4.8 47.3L193 208.6l-.3.1h111.5l-12.8 146.6-98.2 28.7-98.8-29.2-6.4-73.9h48.9l3.2 38.3 52.6 13.3 54.7-15.4 3.7-61.6-166.3-.5v-.1l-.2.1-3.6-46.3L193.1 162l6.5-2.7H76.7L70.9 112h242.2z\"},\"child\":[]}]})(props);\n};\nexport function FaCss3 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M480 32l-64 368-223.3 80L0 400l19.6-94.8h82l-8 40.6L210 390.2l134.1-44.4 18.8-97.1H29.5l16-82h333.7l10.5-52.7H56.3l16.3-82H480z\"},\"child\":[]}]})(props);\n};\nexport function FaCuttlefish (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 440 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M344 305.5c-17.5 31.6-57.4 54.5-96 54.5-56.6 0-104-47.4-104-104s47.4-104 104-104c38.6 0 78.5 22.9 96 54.5 13.7-50.9 41.7-93.3 87-117.8C385.7 39.1 320.5 8 248 8 111 8 0 119 0 256s111 248 248 248c72.5 0 137.7-31.1 183-80.7-45.3-24.5-73.3-66.9-87-117.8z\"},\"child\":[]}]})(props);\n};\nexport function FaDAndDBeyond (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M313.8 241.5c13.8 0 21-10.1 24.8-17.9-1-1.1-5-4.2-7.4-6.6-2.4 4.3-8.2 10.7-13.9 10.7-10.2 0-15.4-14.7-3.2-26.6-.5-.2-4.3-1.8-8 2.4 0-3 1-5.1 2.1-6.6-3.5 1.3-9.8 5.6-11.4 7.9.2-5.8 1.6-7.5.6-9l-.2-.2s-8.5 5.6-9.3 14.7c0 0 1.1-1.6 2.1-1.9.6-.3 1.3 0 .6 1.9-.2.6-5.8 15.7 5.1 26-.6-1.6-1.9-7.6 2.4-1.9-.3.1 5.8 7.1 15.7 7.1zm52.4-21.1c0-4-4.9-4.4-5.6-4.5 2 3.9.9 7.5.2 9 2.5-.4 5.4-1.6 5.4-4.5zm10.3 5.2c0-6.4-6.2-11.4-13.5-10.7 8 1.3 5.6 13.8-5 11.4 3.7-2.6 3.2-9.9-1.3-12.5 1.4 4.2-3 8.2-7.4 4.6-2.4-1.9-8-6.6-10.6-8.6-2.4-2.1-5.5-1-6.6-1.8-1.3-1.1-.5-3.8-2.2-5-1.6-.8-3-.3-4.8-1-1.6-.6-2.7-1.9-2.6-3.5-2.5 4.4 3.4 6.3 4.5 8.5 1 1.9-.8 4.8 4 8.5 14.8 11.6 9.1 8 10.4 18.1.6 4.3 4.2 6.7 6.4 7.4-2.1-1.9-2.9-6.4 0-9.3 0 13.9 19.2 13.3 23.1 6.4-2.4 1.1-7-.2-9-1.9 7.7 1 14.2-4.1 14.6-10.6zm-39.4-18.4c2 .8 1.6.7 6.4 4.5 10.2-24.5 21.7-15.7 22-15.5 2.2-1.9 9.8-3.8 13.8-2.7-2.4-2.7-7.5-6.2-13.3-6.2-4.7 0-7.4 2.2-8 1.3-.8-1.4 3.2-3.4 3.2-3.4-5.4.2-9.6 6.7-11.2 5.9-1.1-.5 1.4-3.7 1.4-3.7-5.1 2.9-9.3 9.1-10.2 13 4.6-5.8 13.8-9.8 19.7-9-10.5.5-19.5 9.7-23.8 15.8zm242.5 51.9c-20.7 0-40 1.3-50.3 2.1l7.4 8.2v77.2l-7.4 8.2c10.4.8 30.9 2.1 51.6 2.1 42.1 0 59.1-20.7 59.1-48.9 0-29.3-23.2-48.9-60.4-48.9zm-15.1 75.6v-53.3c30.1-3.3 46.8 3.8 46.8 26.3 0 25.6-21.4 30.2-46.8 27zM301.6 181c-1-3.4-.2-6.9 1.1-9.4 1 3 2.6 6.4 7.5 9-.5-2.4-.2-5.6.5-8-1.4-5.4 2.1-9.9 6.4-9.9 6.9 0 8.5 8.8 4.7 14.4 2.1 3.2 5.5 5.6 7.7 7.8 3.2-3.7 5.5-9.5 5.5-13.8 0-8.2-5.5-15.9-16.7-16.5-20-.9-20.2 16.6-20 18.9.5 5.2 3.4 7.8 3.3 7.5zm-.4 6c-.5 1.8-7 3.7-10.2 6.9 4.8-1 7-.2 7.8 1.8.5 1.4-.2 3.4-.5 5.6 1.6-1.8 7-5.5 11-6.2-1-.3-3.4-.8-4.3-.8 2.9-3.4 9.3-4.5 12.8-3.7-2.2-.2-6.7 1.1-8.5 2.6 1.6.3 3 .6 4.3 1.1-2.1.8-4.8 3.4-5.8 6.1 7-5 13.1 5.2 7 8.2.8.2 2.7 0 3.5-.5-.3 1.1-1.9 3-3 3.4 2.9 0 7-1.9 8.2-4.6 0 0-1.8.6-2.6-.2s.3-4.3.3-4.3c-2.3 2.9-3.4-1.3-1.3-4.2-1-.3-3.5-.6-4.6-.5 3.2-1.1 10.4-1.8 11.2-.3.6 1.1-1 3.4-1 3.4 4-.5 8.3 1.1 6.7 5.1 2.9-1.4 5.5-5.9 4.8-10.4-.3 1-1.6 2.4-2.9 2.7.2-1.4-1-2.2-1.9-2.6 1.7-9.6-14.6-14.2-14.1-23.9-1 1.3-1.8 5-.8 7.1 2.7 3.2 8.7 6.7 10.1 12.2-2.6-6.4-15.1-11.4-14.6-20.2-1.6 1.6-2.6 7.8-1.3 11 2.4 1.4 4.5 3.8 4.8 6.1-2.2-5.1-11.4-6.1-13.9-12.2-.6 2.2-.3 5 1 6.7 0 0-2.2-.8-7-.6 1.7.6 5.1 3.5 4.8 5.2zm25.9 7.4c-2.7 0-3.5-2.1-4.2-4.3 3.3 1.3 4.2 4.3 4.2 4.3zm38.9 3.7l-1-.6c-1.1-1-2.9-1.4-4.7-1.4-2.9 0-5.8 1.3-7.5 3.4-.8.8-1.4 1.8-2.1 2.6v15.7c3.5 2.6 7.1-2.9 3-7.2 1.5.3 4.6 2.7 5.1 3.2 0 0 2.6-.5 5-.5 2.1 0 3.9.3 5.6 1.1V196c-1.1.5-2.2 1-2.7 1.4zM79.9 305.9c17.2-4.6 16.2-18 16.2-19.9 0-20.6-24.1-25-37-25H3l8.3 8.6v29.5H0l11.4 14.6V346L3 354.6c61.7 0 73.8 1.5 86.4-5.9 6.7-4 9.9-9.8 9.9-17.6 0-5.1 2.6-18.8-19.4-25.2zm-41.3-27.5c20 0 29.6-.8 29.6 9.1v3c0 12.1-19 8.8-29.6 8.8zm0 59.2V315c12.2 0 32.7-2.3 32.7 8.8v4.5h.2c0 11.2-12.5 9.3-32.9 9.3zm101.2-19.3l23.1.2v-.2l14.1-21.2h-37.2v-14.9h52.4l-14.1-21v-.2l-73.5.2 7.4 8.2v77.1l-7.4 8.2h81.2l14.1-21.2-60.1.2zm214.7-60.1c-73.9 0-77.5 99.3-.3 99.3 77.9 0 74.1-99.3.3-99.3zm-.3 77.5c-37.4 0-36.9-55.3.2-55.3 36.8.1 38.8 55.3-.2 55.3zm-91.3-8.3l44.1-66.2h-41.7l6.1 7.2-20.5 37.2h-.3l-21-37.2 6.4-7.2h-44.9l44.1 65.8.2 19.4-7.7 8.2h42.6l-7.2-8.2zm-28.4-151.3c1.6 1.3 2.9 2.4 2.9 6.6v38.8c0 4.2-.8 5.3-2.7 6.4-.1.1-7.5 4.5-7.9 4.6h35.1c10 0 17.4-1.5 26-8.6-.6-5 .2-9.5.8-12 0-.2-1.8 1.4-2.7 3.5 0-5.7 1.6-15.4 9.6-20.5-.1 0-3.7-.8-9 1.1 2-3.1 10-7.9 10.4-7.9-8.2-26-38-22.9-32.2-22.9-30.9 0-32.6.3-39.9-4 .1.8.5 8.2 9.6 14.9zm21.5 5.5c4.6 0 23.1-3.3 23.1 17.3 0 20.7-18.4 17.3-23.1 17.3zm228.9 79.6l7 8.3V312h-.3c-5.4-14.4-42.3-41.5-45.2-50.9h-31.6l7.4 8.5v76.9l-7.2 8.3h39l-7.4-8.2v-47.4h.3c3.7 10.6 44.5 42.9 48.5 55.6h21.3v-85.2l7.4-8.3zm-106.7-96.1c-32.2 0-32.8.2-39.9-4 .1.7.5 8.3 9.6 14.9 3.1 2 2.9 4.3 2.9 9.5 1.8-1.1 3.8-2.2 6.1-3-1.1 1.1-2.7 2.7-3.5 4.5 1-1.1 7.5-5.1 14.6-3.5-1.6.3-4 1.1-6.1 2.9.1 0 2.1-1.1 7.5-.3v-4.3c4.7 0 23.1-3.4 23.1 17.3 0 20.5-18.5 17.3-19.7 17.3 5.7 4.4 5.8 12 2.2 16.3h.3c33.4 0 36.7-27.3 36.7-34 0-3.8-1.1-32-33.8-33.6z\"},\"child\":[]}]})(props);\n};\nexport function FaDAndD (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M82.5 98.9c-.6-17.2 2-33.8 12.7-48.2.3 7.4 1.2 14.5 4.2 21.6 5.9-27.5 19.7-49.3 42.3-65.5-1.9 5.9-3.5 11.8-3 17.7 8.7-7.4 18.8-17.8 44.4-22.7 14.7-2.8 29.7-2 42.1 1 38.5 9.3 61 34.3 69.7 72.3 5.3 23.1.7 45-8.3 66.4-5.2 12.4-12 24.4-20.7 35.1-2-1.9-3.9-3.8-5.8-5.6-42.8-40.8-26.8-25.2-37.4-37.4-1.1-1.2-1-2.2-.1-3.6 8.3-13.5 11.8-28.2 10-44-1.1-9.8-4.3-18.9-11.3-26.2-14.5-15.3-39.2-15-53.5.6-11.4 12.5-14.1 27.4-10.9 43.6.2 1.3.4 2.7 0 3.9-3.4 13.7-4.6 27.6-2.5 41.6.1.5.1 1.1.1 1.6 0 .3-.1.5-.2 1.1-21.8-11-36-28.3-43.2-52.2-8.3 17.8-11.1 35.5-6.6 54.1-15.6-15.2-21.3-34.3-22-55.2zm469.6 123.2c-11.6-11.6-25-20.4-40.1-26.6-12.8-5.2-26-7.9-39.9-7.1-10 .6-19.6 3.1-29 6.4-2.5.9-5.1 1.6-7.7 2.2-4.9 1.2-7.3-3.1-4.7-6.8 3.2-4.6 3.4-4.2 15-12 .6-.4 1.2-.8 2.2-1.5h-2.5c-.6 0-1.2.2-1.9.3-19.3 3.3-30.7 15.5-48.9 29.6-10.4 8.1-13.8 3.8-12-.5 1.4-3.5 3.3-6.7 5.1-10 1-1.8 2.3-3.4 3.5-5.1-.2-.2-.5-.3-.7-.5-27 18.3-46.7 42.4-57.7 73.3.3.3.7.6 1 .9.3-.6.5-1.2.9-1.7 10.4-12.1 22.8-21.8 36.6-29.8 18.2-10.6 37.5-18.3 58.7-20.2 4.3-.4 8.7-.1 13.1-.1-1.8.7-3.5.9-5.3 1.1-18.5 2.4-35.5 9-51.5 18.5-30.2 17.9-54.5 42.2-75.1 70.4-.3.4-.4.9-.7 1.3 14.5 5.3 24 17.3 36.1 25.6.2-.1.3-.2.4-.4l1.2-2.7c12.2-26.9 27-52.3 46.7-74.5 16.7-18.8 38-25.3 62.5-20 5.9 1.3 11.4 4.4 17.2 6.8 2.3-1.4 5.1-3.2 8-4.7 8.4-4.3 17.4-7 26.7-9 14.7-3.1 29.5-4.9 44.5-1.3v-.5c-.5-.4-1.2-.8-1.7-1.4zM316.7 397.6c-39.4-33-22.8-19.5-42.7-35.6-.8.9 0-.2-1.9 3-11.2 19.1-25.5 35.3-44 47.6-10.3 6.8-21.5 11.8-34.1 11.8-21.6 0-38.2-9.5-49.4-27.8-12-19.5-13.3-40.7-8.2-62.6 7.8-33.8 30.1-55.2 38.6-64.3-18.7-6.2-33 1.7-46.4 13.9.8-13.9 4.3-26.2 11.8-37.3-24.3 10.6-45.9 25-64.8 43.9-.3-5.8 5.4-43.7 5.6-44.7.3-2.7-.6-5.3-3-7.4-24.2 24.7-44.5 51.8-56.1 84.6 7.4-5.9 14.9-11.4 23.6-16.2-8.3 22.3-19.6 52.8-7.8 101.1 4.6 19 11.9 36.8 24.1 52.3 2.9 3.7 6.3 6.9 9.5 10.3.2-.2.4-.3.6-.5-1.4-7-2.2-14.1-1.5-21.9 2.2 3.2 3.9 6 5.9 8.6 12.6 16 28.7 27.4 47.2 35.6 25 11.3 51.1 13.3 77.9 8.6 54.9-9.7 90.7-48.6 116-98.8 1-1.8.6-2.9-.9-4.2zm172-46.4c-9.5-3.1-22.2-4.2-28.7-2.9 9.9 4 14.1 6.6 18.8 12 12.6 14.4 10.4 34.7-5.4 45.6-11.7 8.1-24.9 10.5-38.9 9.1-1.2-.1-2.3-.4-3-.6 2.8-3.7 6-7 8.1-10.8 9.4-16.8 5.4-42.1-8.7-56.1-2.1-2.1-4.6-3.9-7-5.9-.3 1.3-.1 2.1.1 2.8 4.2 16.6-8.1 32.4-24.8 31.8-7.6-.3-13.9-3.8-19.6-8.5-19.5-16.1-39.1-32.1-58.5-48.3-5.9-4.9-12.5-8.1-20.1-8.7-4.6-.4-9.3-.6-13.9-.9-5.9-.4-8.8-2.8-10.4-8.4-.9-3.4-1.5-6.8-2.2-10.2-1.5-8.1-6.2-13-14.3-14.2-4.4-.7-8.9-1-13.3-1.5-13-1.4-19.8-7.4-22.6-20.3-5 11-1.6 22.4 7.3 29.9 4.5 3.8 9.3 7.3 13.8 11.2 4.6 3.8 7.4 8.7 7.9 14.8.4 4.7.8 9.5 1.8 14.1 2.2 10.6 8.9 18.4 17 25.1 16.5 13.7 33 27.3 49.5 41.1 17.9 15 13.9 32.8 13 56-.9 22.9 12.2 42.9 33.5 51.2 1 .4 2 .6 3.6 1.1-15.7-18.2-10.1-44.1.7-52.3.3 2.2.4 4.3.9 6.4 9.4 44.1 45.4 64.2 85 56.9 16-2.9 30.6-8.9 42.9-19.8 2-1.8 3.7-4.1 5.9-6.5-19.3 4.6-35.8.1-50.9-10.6.7-.3 1.3-.3 1.9-.3 21.3 1.8 40.6-3.4 57-17.4 19.5-16.6 26.6-42.9 17.4-66-8.3-20.1-23.6-32.3-43.8-38.9zM99.4 179.3c-5.3-9.2-13.2-15.6-22.1-21.3 13.7-.5 26.6.2 39.6 3.7-7-12.2-8.5-24.7-5-38.7 5.3 11.9 13.7 20.1 23.6 26.8 19.7 13.2 35.7 19.6 46.7 30.2 3.4 3.3 6.3 7.1 9.6 10.9-.8-2.1-1.4-4.1-2.2-6-5-10.6-13-18.6-22.6-25-1.8-1.2-2.8-2.5-3.4-4.5-3.3-12.5-3-25.1-.7-37.6 1-5.5 2.8-10.9 4.5-16.3.8-2.4 2.3-4.6 4-6.6.6 6.9 0 25.5 19.6 46 10.8 11.3 22.4 21.9 33.9 32.7 9 8.5 18.3 16.7 25.5 26.8 1.1 1.6 2.2 3.3 3.8 4.7-5-13-14.2-24.1-24.2-33.8-9.6-9.3-19.4-18.4-29.2-27.4-3.3-3-4.6-6.7-5.1-10.9-1.2-10.4 0-20.6 4.3-30.2.5-1 1.1-2 1.9-3.3.5 4.2.6 7.9 1.4 11.6 4.8 23.1 20.4 36.3 49.3 63.5 10 9.4 19.3 19.2 25.6 31.6 4.8 9.3 7.3 19 5.7 29.6-.1.6.5 1.7 1.1 2 6.2 2.6 10 6.9 9.7 14.3 7.7-2.6 12.5-8 16.4-14.5 4.2 20.2-9.1 50.3-27.2 58.7.4-4.5 5-23.4-16.5-27.7-6.8-1.3-12.8-1.3-22.9-2.1 4.7-9 10.4-20.6.5-22.4-24.9-4.6-52.8 1.9-57.8 4.6 8.2.4 16.3 1 23.5 3.3-2 6.5-4 12.7-5.8 18.9-1.9 6.5 2.1 14.6 9.3 9.6 1.2-.9 2.3-1.9 3.3-2.7-3.1 17.9-2.9 15.9-2.8 18.3.3 10.2 9.5 7.8 15.7 7.3-2.5 11.8-29.5 27.3-45.4 25.8 7-4.7 12.7-10.3 15.9-17.9-6.5.8-12.9 1.6-19.2 2.4l-.3-.9c4.7-3.4 8-7.8 10.2-13.1 8.7-21.1-3.6-38-25-39.9-9.1-.8-17.8.8-25.9 5.5 6.2-15.6 17.2-26.6 32.6-34.5-15.2-4.3-8.9-2.7-24.6-6.3 14.6-9.3 30.2-13.2 46.5-14.6-5.2-3.2-48.1-3.6-70.2 20.9 7.9 1.4 15.5 2.8 23.2 4.2-23.8 7-44 19.7-62.4 35.6 1.1-4.8 2.7-9.5 3.3-14.3.6-4.5.8-9.2.1-13.6-1.5-9.4-8.9-15.1-19.7-16.3-7.9-.9-15.6.1-23.3 1.3-.9.1-1.7.3-2.9 0 15.8-14.8 36-21.7 53.1-33.5 6-4.5 6.8-8.2 3-14.9zm128.4 26.8c3.3 16 12.6 25.5 23.8 24.3-4.6-11.3-12.1-19.5-23.8-24.3z\"},\"child\":[]}]})(props);\n};\nexport function FaDailymotion (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M298.93,267a48.4,48.4,0,0,0-24.36-6.21q-19.83,0-33.44,13.27t-13.61,33.42q0,21.16,13.28,34.6t33.43,13.44q20.5,0,34.11-13.78T322,307.47A47.13,47.13,0,0,0,315.9,284,44.13,44.13,0,0,0,298.93,267ZM0,32V480H448V32ZM374.71,405.26h-53.1V381.37h-.67q-15.79,26.2-55.78,26.2-27.56,0-48.89-13.1a88.29,88.29,0,0,1-32.94-35.77q-11.6-22.68-11.59-50.89,0-27.56,11.76-50.22a89.9,89.9,0,0,1,32.93-35.78q21.18-13.09,47.72-13.1a80.87,80.87,0,0,1,29.74,5.21q13.28,5.21,25,17V153l55.79-12.09Z\"},\"child\":[]}]})(props);\n};\nexport function FaDashcube (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M326.6 104H110.4c-51.1 0-91.2 43.3-91.2 93.5V427c0 50.5 40.1 85 91.2 85h227.2c51.1 0 91.2-34.5 91.2-85V0L326.6 104zM153.9 416.5c-17.7 0-32.4-15.1-32.4-32.8V240.8c0-17.7 14.7-32.5 32.4-32.5h140.7c17.7 0 32 14.8 32 32.5v123.5l51.1 52.3H153.9z\"},\"child\":[]}]})(props);\n};\nexport function FaDeezer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M451.46,244.71H576V172H451.46Zm0-173.89v72.67H576V70.82Zm0,275.06H576V273.2H451.46ZM0,447.09H124.54V374.42H0Zm150.47,0H275V374.42H150.47Zm150.52,0H425.53V374.42H301Zm150.47,0H576V374.42H451.46ZM301,345.88H425.53V273.2H301Zm-150.52,0H275V273.2H150.47Zm0-101.17H275V172H150.47Z\"},\"child\":[]}]})(props);\n};\nexport function FaDelicious (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M446.5 68c-.4-1.5-.9-3-1.4-4.5-.9-2.5-2-4.8-3.3-7.1-1.4-2.4-3-4.8-4.7-6.9-2.1-2.5-4.4-4.8-6.9-6.8-1.1-.9-2.2-1.7-3.3-2.5-1.3-.9-2.6-1.7-4-2.4-1.8-1-3.6-1.8-5.5-2.5-1.7-.7-3.5-1.3-5.4-1.7-3.8-1-7.9-1.5-12-1.5H48C21.5 32 0 53.5 0 80v352c0 4.1.5 8.2 1.5 12 2 7.7 5.8 14.6 11 20.3 1 1.1 2.1 2.2 3.3 3.3 5.7 5.2 12.6 9 20.3 11 3.8 1 7.9 1.5 12 1.5h352c26.5 0 48-21.5 48-48V80c-.1-4.1-.6-8.2-1.6-12zM416 432c0 8.8-7.2 16-16 16H224V256H32V80c0-8.8 7.2-16 16-16h176v192h192z\"},\"child\":[]}]})(props);\n};\nexport function FaDeploydog (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M382.2 136h51.7v239.6h-51.7v-20.7c-19.8 24.8-52.8 24.1-73.8 14.7-26.2-11.7-44.3-38.1-44.3-71.8 0-29.8 14.8-57.9 43.3-70.8 20.2-9.1 52.7-10.6 74.8 12.9V136zm-64.7 161.8c0 18.2 13.6 33.5 33.2 33.5 19.8 0 33.2-16.4 33.2-32.9 0-17.1-13.7-33.2-33.2-33.2-19.6 0-33.2 16.4-33.2 32.6zM188.5 136h51.7v239.6h-51.7v-20.7c-19.8 24.8-52.8 24.1-73.8 14.7-26.2-11.7-44.3-38.1-44.3-71.8 0-29.8 14.8-57.9 43.3-70.8 20.2-9.1 52.7-10.6 74.8 12.9V136zm-64.7 161.8c0 18.2 13.6 33.5 33.2 33.5 19.8 0 33.2-16.4 33.2-32.9 0-17.1-13.7-33.2-33.2-33.2-19.7 0-33.2 16.4-33.2 32.6zM448 96c17.5 0 32 14.4 32 32v256c0 17.5-14.4 32-32 32H64c-17.5 0-32-14.4-32-32V128c0-17.5 14.4-32 32-32h384m0-32H64C28.8 64 0 92.8 0 128v256c0 35.2 28.8 64 64 64h384c35.2 0 64-28.8 64-64V128c0-35.2-28.8-64-64-64z\"},\"child\":[]}]})(props);\n};\nexport function FaDeskpro (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 480 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M205.9 512l31.1-38.4c12.3-.2 25.6-1.4 36.5-6.6 38.9-18.6 38.4-61.9 38.3-63.8-.1-5-.8-4.4-28.9-37.4H362c-.2 50.1-7.3 68.5-10.2 75.7-9.4 23.7-43.9 62.8-95.2 69.4-8.7 1.1-32.8 1.2-50.7 1.1zm200.4-167.7c38.6 0 58.5-13.6 73.7-30.9l-175.5-.3-17.4 31.3 119.2-.1zm-43.6-223.9v168.3h-73.5l-32.7 55.5H250c-52.3 0-58.1-56.5-58.3-58.9-1.2-13.2-21.3-11.6-20.1 1.8 1.4 15.8 8.8 40 26.4 57.1h-91c-25.5 0-110.8-26.8-107-114V16.9C0 .9 9.7.3 15 .1h82c.2 0 .3.1.5.1 4.3-.4 50.1-2.1 50.1 43.7 0 13.3 20.2 13.4 20.2 0 0-18.2-5.5-32.8-15.8-43.7h84.2c108.7-.4 126.5 79.4 126.5 120.2zm-132.5 56l64 29.3c13.3-45.5-42.2-71.7-64-29.3z\"},\"child\":[]}]})(props);\n};\nexport function FaDev (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M120.12 208.29c-3.88-2.9-7.77-4.35-11.65-4.35H91.03v104.47h17.45c3.88 0 7.77-1.45 11.65-4.35 3.88-2.9 5.82-7.25 5.82-13.06v-69.65c-.01-5.8-1.96-10.16-5.83-13.06zM404.1 32H43.9C19.7 32 .06 51.59 0 75.8v360.4C.06 460.41 19.7 480 43.9 480h360.2c24.21 0 43.84-19.59 43.9-43.8V75.8c-.06-24.21-19.7-43.8-43.9-43.8zM154.2 291.19c0 18.81-11.61 47.31-48.36 47.25h-46.4V172.98h47.38c35.44 0 47.36 28.46 47.37 47.28l.01 70.93zm100.68-88.66H201.6v38.42h32.57v29.57H201.6v38.41h53.29v29.57h-62.18c-11.16.29-20.44-8.53-20.72-19.69V193.7c-.27-11.15 8.56-20.41 19.71-20.69h63.19l-.01 29.52zm103.64 115.29c-13.2 30.75-36.85 24.63-47.44 0l-38.53-144.8h32.57l29.71 113.72 29.57-113.72h32.58l-38.46 144.8z\"},\"child\":[]}]})(props);\n};\nexport function FaDeviantart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M320 93.2l-98.2 179.1 7.4 9.5H320v127.7H159.1l-13.5 9.2-43.7 84c-.3 0-8.6 8.6-9.2 9.2H0v-93.2l93.2-179.4-7.4-9.2H0V102.5h156l13.5-9.2 43.7-84c.3 0 8.6-8.6 9.2-9.2H320v93.1z\"},\"child\":[]}]})(props);\n};\nexport function FaDhl (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M238 301.2h58.7L319 271h-58.7L238 301.2zM0 282.9v6.4h81.8l4.7-6.4H0zM172.9 271c-8.7 0-6-3.6-4.6-5.5 2.8-3.8 7.6-10.4 10.4-14.1 2.8-3.7 2.8-5.9-2.8-5.9h-51l-41.1 55.8h100.1c33.1 0 51.5-22.5 57.2-30.3h-68.2zm317.5-6.9l39.3-53.4h-62.2l-39.3 53.4h62.2zM95.3 271H0v6.4h90.6l4.7-6.4zm111-26.6c-2.8 3.8-7.5 10.4-10.3 14.2-1.4 2-4.1 5.5 4.6 5.5h45.6s7.3-10 13.5-18.4c8.4-11.4.7-35-29.2-35H112.6l-20.4 27.8h111.4c5.6 0 5.5 2.2 2.7 5.9zM0 301.2h73.1l4.7-6.4H0v6.4zm323 0h58.7L404 271h-58.7c-.1 0-22.3 30.2-22.3 30.2zm222 .1h95v-6.4h-90.3l-4.7 6.4zm22.3-30.3l-4.7 6.4H640V271h-72.7zm-13.5 18.3H640v-6.4h-81.5l-4.7 6.4zm-164.2-78.6l-22.5 30.6h-26.2l22.5-30.6h-58.7l-39.3 53.4H409l39.3-53.4h-58.7zm33.5 60.3s-4.3 5.9-6.4 8.7c-7.4 10-.9 21.6 23.2 21.6h94.3l22.3-30.3H423.1z\"},\"child\":[]}]})(props);\n};\nexport function FaDiaspora (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M251.64 354.55c-1.4 0-88 119.9-88.7 119.9S76.34 414 76 413.25s86.6-125.7 86.6-127.4c0-2.2-129.6-44-137.6-47.1-1.3-.5 31.4-101.8 31.7-102.1.6-.7 144.4 47 145.5 47 .4 0 .9-.6 1-1.3.4-2 1-148.6 1.7-149.6.8-1.2 104.5-.7 105.1-.3 1.5 1 3.5 156.1 6.1 156.1 1.4 0 138.7-47 139.3-46.3.8.9 31.9 102.2 31.5 102.6-.9.9-140.2 47.1-140.6 48.8-.3 1.4 82.8 122.1 82.5 122.9s-85.5 63.5-86.3 63.5c-1-.2-89-125.5-90.9-125.5z\"},\"child\":[]}]})(props);\n};\nexport function FaDigg (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M81.7 172.3H0v174.4h132.7V96h-51v76.3zm0 133.4H50.9v-92.3h30.8v92.3zm297.2-133.4v174.4h81.8v28.5h-81.8V416H512V172.3H378.9zm81.8 133.4h-30.8v-92.3h30.8v92.3zm-235.6 41h82.1v28.5h-82.1V416h133.3V172.3H225.1v174.4zm51.2-133.3h30.8v92.3h-30.8v-92.3zM153.3 96h51.3v51h-51.3V96zm0 76.3h51.3v174.4h-51.3V172.3z\"},\"child\":[]}]})(props);\n};\nexport function FaDigitalOcean (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M87 481.8h73.7v-73.6H87zM25.4 346.6v61.6H87v-61.6zm466.2-169.7c-23-74.2-82.4-133.3-156.6-156.6C164.9-32.8 8 93.7 8 255.9h95.8c0-101.8 101-180.5 208.1-141.7 39.7 14.3 71.5 46.1 85.8 85.7 39.1 107-39.7 207.8-141.4 208v.3h-.3V504c162.6 0 288.8-156.8 235.6-327.1zm-235.3 231v-95.3h-95.6v95.6H256v-.3z\"},\"child\":[]}]})(props);\n};\nexport function FaDiscord (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M524.531,69.836a1.5,1.5,0,0,0-.764-.7A485.065,485.065,0,0,0,404.081,32.03a1.816,1.816,0,0,0-1.923.91,337.461,337.461,0,0,0-14.9,30.6,447.848,447.848,0,0,0-134.426,0,309.541,309.541,0,0,0-15.135-30.6,1.89,1.89,0,0,0-1.924-.91A483.689,483.689,0,0,0,116.085,69.137a1.712,1.712,0,0,0-.788.676C39.068,183.651,18.186,294.69,28.43,404.354a2.016,2.016,0,0,0,.765,1.375A487.666,487.666,0,0,0,176.02,479.918a1.9,1.9,0,0,0,2.063-.676A348.2,348.2,0,0,0,208.12,430.4a1.86,1.86,0,0,0-1.019-2.588,321.173,321.173,0,0,1-45.868-21.853,1.885,1.885,0,0,1-.185-3.126c3.082-2.309,6.166-4.711,9.109-7.137a1.819,1.819,0,0,1,1.9-.256c96.229,43.917,200.41,43.917,295.5,0a1.812,1.812,0,0,1,1.924.233c2.944,2.426,6.027,4.851,9.132,7.16a1.884,1.884,0,0,1-.162,3.126,301.407,301.407,0,0,1-45.89,21.83,1.875,1.875,0,0,0-1,2.611,391.055,391.055,0,0,0,30.014,48.815,1.864,1.864,0,0,0,2.063.7A486.048,486.048,0,0,0,610.7,405.729a1.882,1.882,0,0,0,.765-1.352C623.729,277.594,590.933,167.465,524.531,69.836ZM222.491,337.58c-28.972,0-52.844-26.587-52.844-59.239S193.056,219.1,222.491,219.1c29.665,0,53.306,26.82,52.843,59.239C275.334,310.993,251.924,337.58,222.491,337.58Zm195.38,0c-28.971,0-52.843-26.587-52.843-59.239S388.437,219.1,417.871,219.1c29.667,0,53.307,26.82,52.844,59.239C470.715,310.993,447.538,337.58,417.871,337.58Z\"},\"child\":[]}]})(props);\n};\nexport function FaDiscourse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M225.9 32C103.3 32 0 130.5 0 252.1 0 256 .1 480 .1 480l225.8-.2c122.7 0 222.1-102.3 222.1-223.9C448 134.3 348.6 32 225.9 32zM224 384c-19.4 0-37.9-4.3-54.4-12.1L88.5 392l22.9-75c-9.8-18.1-15.4-38.9-15.4-61 0-70.7 57.3-128 128-128s128 57.3 128 128-57.3 128-128 128z\"},\"child\":[]}]})(props);\n};\nexport function FaDochub (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 416 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M397.9 160H256V19.6L397.9 160zM304 192v130c0 66.8-36.5 100.1-113.3 100.1H96V84.8h94.7c12 0 23.1.8 33.1 2.5v-84C212.9 1.1 201.4 0 189.2 0H0v512h189.2C329.7 512 400 447.4 400 318.1V192h-96z\"},\"child\":[]}]})(props);\n};\nexport function FaDocker (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M349.9 236.3h-66.1v-59.4h66.1v59.4zm0-204.3h-66.1v60.7h66.1V32zm78.2 144.8H362v59.4h66.1v-59.4zm-156.3-72.1h-66.1v60.1h66.1v-60.1zm78.1 0h-66.1v60.1h66.1v-60.1zm276.8 100c-14.4-9.7-47.6-13.2-73.1-8.4-3.3-24-16.7-44.9-41.1-63.7l-14-9.3-9.3 14c-18.4 27.8-23.4 73.6-3.7 103.8-8.7 4.7-25.8 11.1-48.4 10.7H2.4c-8.7 50.8 5.8 116.8 44 162.1 37.1 43.9 92.7 66.2 165.4 66.2 157.4 0 273.9-72.5 328.4-204.2 21.4.4 67.6.1 91.3-45.2 1.5-2.5 6.6-13.2 8.5-17.1l-13.3-8.9zm-511.1-27.9h-66v59.4h66.1v-59.4zm78.1 0h-66.1v59.4h66.1v-59.4zm78.1 0h-66.1v59.4h66.1v-59.4zm-78.1-72.1h-66.1v60.1h66.1v-60.1z\"},\"child\":[]}]})(props);\n};\nexport function FaDraft2Digital (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 480 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M480 398.1l-144-82.2v64.7h-91.3c30.8-35 81.8-95.9 111.8-149.3 35.2-62.6 16.1-123.4-12.8-153.3-4.4-4.6-62.2-62.9-166-41.2-59.1 12.4-89.4 43.4-104.3 67.3-13.1 20.9-17 39.8-18.2 47.7-5.5 33 19.4 67.1 56.7 67.1 31.7 0 57.3-25.7 57.3-57.4 0-27.1-19.7-52.1-48-56.8 1.8-7.3 17.7-21.1 26.3-24.7 41.1-17.3 78 5.2 83.3 33.5 8.3 44.3-37.1 90.4-69.7 127.6C84.5 328.1 18.3 396.8 0 415.9l336-.1V480zM369.9 371l47.1 27.2-47.1 27.2zM134.2 161.4c0 12.4-10 22.4-22.4 22.4s-22.4-10-22.4-22.4 10-22.4 22.4-22.4 22.4 10.1 22.4 22.4zM82.5 380.5c25.6-27.4 97.7-104.7 150.8-169.9 35.1-43.1 40.3-82.4 28.4-112.7-7.4-18.8-17.5-30.2-24.3-35.7 45.3 2.1 68 23.4 82.2 38.3 0 0 42.4 48.2 5.8 113.3-37 65.9-110.9 147.5-128.5 166.7z\"},\"child\":[]}]})(props);\n};\nexport function FaDribbbleSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M90.2 228.2c8.9-42.4 37.4-77.7 75.7-95.7 3.6 4.9 28 38.8 50.7 79-64 17-120.3 16.8-126.4 16.7zM314.6 154c-33.6-29.8-79.3-41.1-122.6-30.6 3.8 5.1 28.6 38.9 51 80 48.6-18.3 69.1-45.9 71.6-49.4zM140.1 364c40.5 31.6 93.3 36.7 137.3 18-2-12-10-53.8-29.2-103.6-55.1 18.8-93.8 56.4-108.1 85.6zm98.8-108.2c-3.4-7.8-7.2-15.5-11.1-23.2C159.6 253 93.4 252.2 87.4 252c0 1.4-.1 2.8-.1 4.2 0 35.1 13.3 67.1 35.1 91.4 22.2-37.9 67.1-77.9 116.5-91.8zm34.9 16.3c17.9 49.1 25.1 89.1 26.5 97.4 30.7-20.7 52.5-53.6 58.6-91.6-4.6-1.5-42.3-12.7-85.1-5.8zm-20.3-48.4c4.8 9.8 8.3 17.8 12 26.8 45.5-5.7 90.7 3.4 95.2 4.4-.3-32.3-11.8-61.9-30.9-85.1-2.9 3.9-25.8 33.2-76.3 53.9zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-64 176c0-88.2-71.8-160-160-160S64 167.8 64 256s71.8 160 160 160 160-71.8 160-160z\"},\"child\":[]}]})(props);\n};\nexport function FaDribbble (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8C119.252 8 8 119.252 8 256s111.252 248 248 248 248-111.252 248-248S392.748 8 256 8zm163.97 114.366c29.503 36.046 47.369 81.957 47.835 131.955-6.984-1.477-77.018-15.682-147.502-6.818-5.752-14.041-11.181-26.393-18.617-41.614 78.321-31.977 113.818-77.482 118.284-83.523zM396.421 97.87c-3.81 5.427-35.697 48.286-111.021 76.519-34.712-63.776-73.185-116.168-79.04-124.008 67.176-16.193 137.966 1.27 190.061 47.489zm-230.48-33.25c5.585 7.659 43.438 60.116 78.537 122.509-99.087 26.313-186.36 25.934-195.834 25.809C62.38 147.205 106.678 92.573 165.941 64.62zM44.17 256.323c0-2.166.043-4.322.108-6.473 9.268.19 111.92 1.513 217.706-30.146 6.064 11.868 11.857 23.915 17.174 35.949-76.599 21.575-146.194 83.527-180.531 142.306C64.794 360.405 44.17 310.73 44.17 256.323zm81.807 167.113c22.127-45.233 82.178-103.622 167.579-132.756 29.74 77.283 42.039 142.053 45.189 160.638-68.112 29.013-150.015 21.053-212.768-27.882zm248.38 8.489c-2.171-12.886-13.446-74.897-41.152-151.033 66.38-10.626 124.7 6.768 131.947 9.055-9.442 58.941-43.273 109.844-90.795 141.978z\"},\"child\":[]}]})(props);\n};\nexport function FaDropbox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 528 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M264.4 116.3l-132 84.3 132 84.3-132 84.3L0 284.1l132.3-84.3L0 116.3 132.3 32l132.1 84.3zM131.6 395.7l132-84.3 132 84.3-132 84.3-132-84.3zm132.8-111.6l132-84.3-132-83.6L395.7 32 528 116.3l-132.3 84.3L528 284.8l-132.3 84.3-131.3-85z\"},\"child\":[]}]})(props);\n};\nexport function FaDrupal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M319.5 114.7c-22.2-14-43.5-19.5-64.7-33.5-13-8.8-31.3-30-46.5-48.3-2.7 29.3-11.5 41.2-22 49.5-21.3 17-34.8 22.2-53.5 32.3C117 123 32 181.5 32 290.5 32 399.7 123.8 480 225.8 480 327.5 480 416 406 416 294c0-112.3-83-171-96.5-179.3zm2.5 325.6c-20.1 20.1-90.1 28.7-116.7 4.2-4.8-4.8.3-12 6.5-12 0 0 17 13.3 51.5 13.3 27 0 46-7.7 54.5-14 6.1-4.6 8.4 4.3 4.2 8.5zm-54.5-52.6c8.7-3.6 29-3.8 36.8 1.3 4.1 2.8 16.1 18.8 6.2 23.7-8.4 4.2-1.2-15.7-26.5-15.7-14.7 0-19.5 5.2-26.7 11-7 6-9.8 8-12.2 4.7-6-8.2 15.9-22.3 22.4-25zM360 405c-15.2-1-45.5-48.8-65-49.5-30.9-.9-104.1 80.7-161.3 42-38.8-26.6-14.6-104.8 51.8-105.2 49.5-.5 83.8 49 108.5 48.5 21.3-.3 61.8-41.8 81.8-41.8 48.7 0 23.3 109.3-15.8 106z\"},\"child\":[]}]})(props);\n};\nexport function FaDyalog (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 416 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 32v119.2h64V96h107.2C284.6 96 352 176.2 352 255.9 352 332 293.4 416 171.2 416H0v64h171.2C331.9 480 416 367.3 416 255.9c0-58.7-22.1-113.4-62.3-154.3C308.9 56 245.7 32 171.2 32H0z\"},\"child\":[]}]})(props);\n};\nexport function FaEarlybirds (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 480 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M313.2 47.5c1.2-13 21.3-14 36.6-8.7.9.3 26.2 9.7 19 15.2-27.9-7.4-56.4 18.2-55.6-6.5zm-201 6.9c30.7-8.1 62 20 61.1-7.1-1.3-14.2-23.4-15.3-40.2-9.6-1 .3-28.7 10.5-20.9 16.7zM319.4 160c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zm-159.7 0c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zm318.5 163.2c-9.9 24-40.7 11-63.9-1.2-13.5 69.1-58.1 111.4-126.3 124.2.3.9-2-.1 24 1 33.6 1.4 63.8-3.1 97.4-8-19.8-13.8-11.4-37.1-9.8-38.1 1.4-.9 14.7 1.7 21.6 11.5 8.6-12.5 28.4-14.8 30.2-13.6 1.6 1.1 6.6 20.9-6.9 34.6 4.7-.9 8.2-1.6 9.8-2.1 2.6-.8 17.7 11.3 3.1 13.3-14.3 2.3-22.6 5.1-47.1 10.8-45.9 10.7-85.9 11.8-117.7 12.8l1 11.6c3.8 18.1-23.4 24.3-27.6 6.2.8 17.9-27.1 21.8-28.4-1l-.5 5.3c-.7 18.4-28.4 17.9-28.3-.6-7.5 13.5-28.1 6.8-26.4-8.5l1.2-12.4c-36.7.9-59.7 3.1-61.8 3.1-20.9 0-20.9-31.6 0-31.6 2.4 0 27.7 1.3 63.2 2.8-61.1-15.5-103.7-55-114.9-118.2-25 12.8-57.5 26.8-68.2.8-10.5-25.4 21.5-42.6 66.8-73.4.7-6.6 1.6-13.3 2.7-19.8-14.4-19.6-11.6-36.3-16.1-60.4-16.8 2.4-23.2-9.1-23.6-23.1.3-7.3 2.1-14.9 2.4-15.4 1.1-1.8 10.1-2 12.7-2.6 6-31.7 50.6-33.2 90.9-34.5 19.7-21.8 45.2-41.5 80.9-48.3C203.3 29 215.2 8.5 216.2 8c1.7-.8 21.2 4.3 26.3 23.2 5.2-8.8 18.3-11.4 19.6-10.7 1.1.6 6.4 15-4.9 25.9 40.3 3.5 72.2 24.7 96 50.7 36.1 1.5 71.8 5.9 77.1 34 2.7.6 11.6.8 12.7 2.6.3.5 2.1 8.1 2.4 15.4-.5 13.9-6.8 25.4-23.6 23.1-3.2 17.3-2.7 32.9-8.7 47.7 2.4 11.7 4 23.8 4.8 36.4 37 25.4 70.3 42.5 60.3 66.9zM207.4 159.9c.9-44-37.9-42.2-78.6-40.3-21.7 1-38.9 1.9-45.5 13.9-11.4 20.9 5.9 92.9 23.2 101.2 9.8 4.7 73.4 7.9 86.3-7.1 8.2-9.4 15-49.4 14.6-67.7zm52 58.3c-4.3-12.4-6-30.1-15.3-32.7-2-.5-9-.5-11 0-10 2.8-10.8 22.1-17 37.2 15.4 0 19.3 9.7 23.7 9.7 4.3 0 6.3-11.3 19.6-14.2zm135.7-84.7c-6.6-12.1-24.8-12.9-46.5-13.9-40.2-1.9-78.2-3.8-77.3 40.3-.5 18.3 5 58.3 13.2 67.8 13 14.9 76.6 11.8 86.3 7.1 15.8-7.6 36.5-78.9 24.3-101.3z\"},\"child\":[]}]})(props);\n};\nexport function FaEbay (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M606 189.5l-54.8 109.9-54.9-109.9h-37.5l10.9 20.6c-11.5-19-35.9-26-63.3-26-31.8 0-67.9 8.7-71.5 43.1h33.7c1.4-13.8 15.7-21.8 35-21.8 26 0 41 9.6 41 33v3.4c-12.7 0-28 .1-41.7.4-42.4.9-69.6 10-76.7 34.4 1-5.2 1.5-10.6 1.5-16.2 0-52.1-39.7-76.2-75.4-76.2-21.3 0-43 5.5-58.7 24.2v-80.6h-32.1v169.5c0 10.3-.6 22.9-1.1 33.1h31.5c.7-6.3 1.1-12.9 1.1-19.5 13.6 16.6 35.4 24.9 58.7 24.9 36.9 0 64.9-21.9 73.3-54.2-.5 2.8-.7 5.8-.7 9 0 24.1 21.1 45 60.6 45 26.6 0 45.8-5.7 61.9-25.5 0 6.6.3 13.3 1.1 20.2h29.8c-.7-8.2-1-17.5-1-26.8v-65.6c0-9.3-1.7-17.2-4.8-23.8l61.5 116.1-28.5 54.1h35.9L640 189.5zM243.7 313.8c-29.6 0-50.2-21.5-50.2-53.8 0-32.4 20.6-53.8 50.2-53.8 29.8 0 50.2 21.4 50.2 53.8 0 32.3-20.4 53.8-50.2 53.8zm200.9-47.3c0 30-17.9 48.4-51.6 48.4-25.1 0-35-13.4-35-25.8 0-19.1 18.1-24.4 47.2-25.3 13.1-.5 27.6-.6 39.4-.6zm-411.9 1.6h128.8v-8.5c0-51.7-33.1-75.4-78.4-75.4-56.8 0-83 30.8-83 77.6 0 42.5 25.3 74 82.5 74 31.4 0 68-11.7 74.4-46.1h-33.1c-12 35.8-87.7 36.7-91.2-21.6zm95-21.4H33.3c6.9-56.6 92.1-54.7 94.4 0z\"},\"child\":[]}]})(props);\n};\nexport function FaEdgeLegacy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M25.71,228.16l.35-.48c0,.16,0,.32-.07.48Zm460.58,15.51c0-44-7.76-84.46-28.81-122.4C416.5,47.88,343.91,8,258.89,8,119,7.72,40.62,113.21,26.06,227.68c42.42-61.31,117.07-121.38,220.37-125,0,0,109.67,0,99.42,105H170c6.37-37.39,18.55-59,34.34-78.93-75.05,34.9-121.85,96.1-120.75,188.32.83,71.45,50.13,144.84,120.75,172,83.35,31.84,192.77,7.2,240.13-21.33V363.31C363.6,419.8,173.6,424.23,172.21,295.74H486.29V243.67Z\"},\"child\":[]}]})(props);\n};\nexport function FaEdge (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M481.92,134.48C440.87,54.18,352.26,8,255.91,8,137.05,8,37.51,91.68,13.47,203.66c26-46.49,86.22-79.14,149.46-79.14,79.27,0,121.09,48.93,122.25,50.18,22,23.8,33,50.39,33,83.1,0,10.4-5.31,25.82-15.11,38.57-1.57,2-6.39,4.84-6.39,11,0,5.06,3.29,9.92,9.14,14,27.86,19.37,80.37,16.81,80.51,16.81A115.39,115.39,0,0,0,444.94,322a118.92,118.92,0,0,0,58.95-102.44C504.39,176.13,488.39,147.26,481.92,134.48ZM212.77,475.67a154.88,154.88,0,0,1-46.64-45c-32.94-47.42-34.24-95.6-20.1-136A155.5,155.5,0,0,1,203,215.75c59-45.2,94.84-5.65,99.06-1a80,80,0,0,0-4.89-10.14c-9.24-15.93-24-36.41-56.56-53.51-33.72-17.69-70.59-18.59-77.64-18.59-38.71,0-77.9,13-107.53,35.69C35.68,183.3,12.77,208.72,8.6,243c-1.08,12.31-2.75,62.8,23,118.27a248,248,0,0,0,248.3,141.61C241.78,496.26,214.05,476.24,212.77,475.67Zm250.72-98.33a7.76,7.76,0,0,0-7.92-.23,181.66,181.66,0,0,1-20.41,9.12,197.54,197.54,0,0,1-69.55,12.52c-91.67,0-171.52-63.06-171.52-144A61.12,61.12,0,0,1,200.61,228,168.72,168.72,0,0,0,161.85,278c-14.92,29.37-33,88.13,13.33,151.66,6.51,8.91,23,30,56,47.67,23.57,12.65,49,19.61,71.7,19.61,35.14,0,115.43-33.44,163-108.87A7.75,7.75,0,0,0,463.49,377.34Z\"},\"child\":[]}]})(props);\n};\nexport function FaElementor (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M425.6 32H22.4C10 32 0 42 0 54.4v403.2C0 470 10 480 22.4 480h403.2c12.4 0 22.4-10 22.4-22.4V54.4C448 42 438 32 425.6 32M164.3 355.5h-39.8v-199h39.8v199zm159.3 0H204.1v-39.8h119.5v39.8zm0-79.6H204.1v-39.8h119.5v39.8zm0-79.7H204.1v-39.8h119.5v39.8z\"},\"child\":[]}]})(props);\n};\nexport function FaEllo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm143.84 285.2C375.31 358.51 315.79 404.8 248 404.8s-127.31-46.29-143.84-111.6c-1.65-7.44 2.48-15.71 9.92-17.36 7.44-1.65 15.71 2.48 17.36 9.92 14.05 52.91 62 90.11 116.56 90.11s102.51-37.2 116.56-90.11c1.65-7.44 9.92-12.4 17.36-9.92 7.44 1.65 12.4 9.92 9.92 17.36z\"},\"child\":[]}]})(props);\n};\nexport function FaEmber (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M639.9 254.6c-1.1-10.7-10.7-6.8-10.7-6.8s-15.6 12.1-29.3 10.7c-13.7-1.3-9.4-32-9.4-32s3-28.1-5.1-30.4c-8.1-2.4-18 7.3-18 7.3s-12.4 13.7-18.3 31.2l-1.6.5s1.9-30.6-.3-37.6c-1.6-3.5-16.4-3.2-18.8 3s-14.2 49.2-15 67.2c0 0-23.1 19.6-43.3 22.8s-25-9.4-25-9.4 54.8-15.3 52.9-59.1-44.2-27.6-49-24c-4.6 3.5-29.4 18.4-36.6 59.7-.2 1.4-.7 7.5-.7 7.5s-21.2 14.2-33 18c0 0 33-55.6-7.3-80.9-11.4-6.8-21.3-.5-27.2 5.3 13.6-17.3 46.4-64.2 36.9-105.2-5.8-24.4-18-27.1-29.2-23.1-17 6.7-23.5 16.7-23.5 16.7s-22 32-27.1 79.5-12.6 105.1-12.6 105.1-10.5 10.2-20.2 10.7-5.4-28.7-5.4-28.7 7.5-44.6 7-52.1-1.1-11.6-9.9-14.2c-8.9-2.7-18.5 8.6-18.5 8.6s-25.5 38.7-27.7 44.6l-1.3 2.4-1.3-1.6s18-52.7.8-53.5-28.5 18.8-28.5 18.8-19.6 32.8-20.4 36.5l-1.3-1.6s8.1-38.2 6.4-47.6c-1.6-9.4-10.5-7.5-10.5-7.5s-11.3-1.3-14.2 5.9-13.7 55.3-15 70.7c0 0-28.2 20.2-46.8 20.4-18.5.3-16.7-11.8-16.7-11.8s68-23.3 49.4-69.2c-8.3-11.8-18-15.5-31.7-15.3-13.7.3-30.3 8.6-41.3 33.3-5.3 11.8-6.8 23-7.8 31.5 0 0-12.3 2.4-18.8-2.9s-10 0-10 0-11.2 14-.1 18.3 28.1 6.1 28.1 6.1c1.6 7.5 6.2 19.5 19.6 29.7 20.2 15.3 58.8-1.3 58.8-1.3l15.9-8.8s.5 14.6 12.1 16.7 16.4 1 36.5-47.9c11.8-25 12.6-23.6 12.6-23.6l1.3-.3s-9.1 46.8-5.6 59.7C187.7 319.4 203 318 203 318s8.3 2.4 15-21.2 19.6-49.9 19.6-49.9h1.6s-5.6 48.1 3 63.7 30.9 5.3 30.9 5.3 15.6-7.8 18-10.2c0 0 18.5 15.8 44.6 12.9 58.3-11.5 79.1-25.9 79.1-25.9s10 24.4 41.1 26.7c35.5 2.7 54.8-18.6 54.8-18.6s-.3 13.5 12.1 18.6 20.7-22.8 20.7-22.8l20.7-57.2h1.9s1.1 37.3 21.5 43.2 47-13.7 47-13.7 6.4-3.5 5.3-14.3zm-578 5.3c.8-32 21.8-45.9 29-39 7.3 7 4.6 22-9.1 31.4-13.7 9.5-19.9 7.6-19.9 7.6zm272.8-123.8s19.1-49.7 23.6-25.5-40 96.2-40 96.2c.5-16.2 16.4-70.7 16.4-70.7zm22.8 138.4c-12.6 33-43.3 19.6-43.3 19.6s-3.5-11.8 6.4-44.9 33.3-20.2 33.3-20.2 16.2 12.4 3.6 45.5zm84.6-14.6s-3-10.5 8.1-30.6c11-20.2 19.6-9.1 19.6-9.1s9.4 10.2-1.3 25.5-26.4 14.2-26.4 14.2z\"},\"child\":[]}]})(props);\n};\nexport function FaEmpire (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M287.6 54.2c-10.8-2.2-22.1-3.3-33.5-3.6V32.4c78.1 2.2 146.1 44 184.6 106.6l-15.8 9.1c-6.1-9.7-12.7-18.8-20.2-27.1l-18 15.5c-26-29.6-61.4-50.7-101.9-58.4l4.8-23.9zM53.4 322.4l23-7.7c-6.4-18.3-10-38.2-10-58.7s3.3-40.4 9.7-58.7l-22.7-7.7c3.6-10.8 8.3-21.3 13.6-31l-15.8-9.1C34 181 24.1 217.5 24.1 256s10 75 27.1 106.6l15.8-9.1c-5.3-10-9.7-20.3-13.6-31.1zM213.1 434c-40.4-8-75.8-29.1-101.9-58.7l-18 15.8c-7.5-8.6-14.4-17.7-20.2-27.4l-16 9.4c38.5 62.3 106.8 104.3 184.9 106.6v-18.3c-11.3-.3-22.7-1.7-33.5-3.6l4.7-23.8zM93.3 120.9l18 15.5c26-29.6 61.4-50.7 101.9-58.4l-4.7-23.8c10.8-2.2 22.1-3.3 33.5-3.6V32.4C163.9 34.6 95.9 76.4 57.4 139l15.8 9.1c6-9.7 12.6-18.9 20.1-27.2zm309.4 270.2l-18-15.8c-26 29.6-61.4 50.7-101.9 58.7l4.7 23.8c-10.8 1.9-22.1 3.3-33.5 3.6v18.3c78.1-2.2 146.4-44.3 184.9-106.6l-16.1-9.4c-5.7 9.7-12.6 18.8-20.1 27.4zM496 256c0 137-111 248-248 248S0 393 0 256 111 8 248 8s248 111 248 248zm-12.2 0c0-130.1-105.7-235.8-235.8-235.8S12.2 125.9 12.2 256 117.9 491.8 248 491.8 483.8 386.1 483.8 256zm-39-106.6l-15.8 9.1c5.3 9.7 10 20.2 13.6 31l-22.7 7.7c6.4 18.3 9.7 38.2 9.7 58.7s-3.6 40.4-10 58.7l23 7.7c-3.9 10.8-8.3 21-13.6 31l15.8 9.1C462 331 471.9 294.5 471.9 256s-9.9-75-27.1-106.6zm-183 177.7c16.3-3.3 30.4-11.6 40.7-23.5l51.2 44.8c11.9-13.6 21.3-29.3 27.1-46.8l-64.2-22.1c2.5-7.5 3.9-15.2 3.9-23.5s-1.4-16.1-3.9-23.5l64.5-22.1c-6.1-17.4-15.5-33.2-27.4-46.8l-51.2 44.8c-10.2-11.9-24.4-20.5-40.7-23.8l13.3-66.4c-8.6-1.9-17.7-2.8-27.1-2.8-9.4 0-18.5.8-27.1 2.8l13.3 66.4c-16.3 3.3-30.4 11.9-40.7 23.8l-51.2-44.8c-11.9 13.6-21.3 29.3-27.4 46.8l64.5 22.1c-2.5 7.5-3.9 15.2-3.9 23.5s1.4 16.1 3.9 23.5l-64.2 22.1c5.8 17.4 15.2 33.2 27.1 46.8l51.2-44.8c10.2 11.9 24.4 20.2 40.7 23.5l-13.3 66.7c8.6 1.7 17.7 2.8 27.1 2.8 9.4 0 18.5-1.1 27.1-2.8l-13.3-66.7z\"},\"child\":[]}]})(props);\n};\nexport function FaEnvira (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 32c477.6 0 366.6 317.3 367.1 366.3L448 480h-26l-70.4-71.2c-39 4.2-124.4 34.5-214.4-37C47 300.3 52 214.7 0 32zm79.7 46c-49.7-23.5-5.2 9.2-5.2 9.2 45.2 31.2 66 73.7 90.2 119.9 31.5 60.2 79 139.7 144.2 167.7 65 28 34.2 12.5 6-8.5-28.2-21.2-68.2-87-91-130.2-31.7-60-61-118.6-144.2-158.1z\"},\"child\":[]}]})(props);\n};\nexport function FaErlang (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M87.2 53.5H0v405h100.4c-49.7-52.6-78.8-125.3-78.7-212.1-.1-76.7 24-142.7 65.5-192.9zm238.2 9.7c-45.9.1-85.1 33.5-89.2 83.2h169.9c-1.1-49.7-34.5-83.1-80.7-83.2zm230.7-9.6h.3l-.1-.1zm.3 0c31.4 42.7 48.7 97.5 46.2 162.7.5 6 .5 11.7 0 24.1H230.2c-.2 109.7 38.9 194.9 138.6 195.3 68.5-.3 118-51 151.9-106.1l96.4 48.2c-17.4 30.9-36.5 57.8-57.9 80.8H640v-405z\"},\"child\":[]}]})(props);\n};\nexport function FaEthereum (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M311.9 260.8L160 353.6 8 260.8 160 0l151.9 260.8zM160 383.4L8 290.6 160 512l152-221.4-152 92.8z\"},\"child\":[]}]})(props);\n};\nexport function FaEtsy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 348c-1.75 10.75-13.75 110-15.5 132-117.879-4.299-219.895-4.743-368.5 0v-25.5c45.457-8.948 60.627-8.019 61-35.25 1.793-72.322 3.524-244.143 0-322-1.029-28.46-12.13-26.765-61-36v-25.5c73.886 2.358 255.933 8.551 362.999-3.75-3.5 38.25-7.75 126.5-7.75 126.5H332C320.947 115.665 313.241 68 277.25 68h-137c-10.25 0-10.75 3.5-10.75 9.75V241.5c58 .5 88.5-2.5 88.5-2.5 29.77-.951 27.56-8.502 40.75-65.251h25.75c-4.407 101.351-3.91 61.829-1.75 160.25H257c-9.155-40.086-9.065-61.045-39.501-61.5 0 0-21.5-2-88-2v139c0 26 14.25 38.25 44.25 38.25H263c63.636 0 66.564-24.996 98.751-99.75H384z\"},\"child\":[]}]})(props);\n};\nexport function FaEvernote (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M120.82 132.21c1.6 22.31-17.55 21.59-21.61 21.59-68.93 0-73.64-1-83.58 3.34-.56.22-.74 0-.37-.37L123.79 46.45c.38-.37.6-.22.38.37-4.35 9.99-3.35 15.09-3.35 85.39zm79 308c-14.68-37.08 13-76.93 52.52-76.62 17.49 0 22.6 23.21 7.95 31.42-6.19 3.3-24.95 1.74-25.14 19.2-.05 17.09 19.67 25 31.2 24.89A45.64 45.64 0 0 0 312 393.45v-.08c0-11.63-7.79-47.22-47.54-55.34-7.72-1.54-65-6.35-68.35-50.52-3.74 16.93-17.4 63.49-43.11 69.09-8.74 1.94-69.68 7.64-112.92-36.77 0 0-18.57-15.23-28.23-57.95-3.38-15.75-9.28-39.7-11.14-62 0-18 11.14-30.45 25.07-32.2 81 0 90 2.32 101-7.8 9.82-9.24 7.8-15.5 7.8-102.78 1-8.3 7.79-30.81 53.41-24.14 6 .86 31.91 4.18 37.48 30.64l64.26 11.15c20.43 3.71 70.94 7 80.6 57.94 22.66 121.09 8.91 238.46 7.8 238.46C362.15 485.53 267.06 480 267.06 480c-18.95-.23-54.25-9.4-67.27-39.83zm80.94-204.84c-1 1.92-2.2 6 .85 7 14.09 4.93 39.75 6.84 45.88 5.53 3.11-.25 3.05-4.43 2.48-6.65-3.53-21.85-40.83-26.5-49.24-5.92z\"},\"child\":[]}]})(props);\n};\nexport function FaExpeditedssl (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 43.4C130.6 43.4 35.4 138.6 35.4 256S130.6 468.6 248 468.6 460.6 373.4 460.6 256 365.4 43.4 248 43.4zm-97.4 132.9c0-53.7 43.7-97.4 97.4-97.4s97.4 43.7 97.4 97.4v26.6c0 5-3.9 8.9-8.9 8.9h-17.7c-5 0-8.9-3.9-8.9-8.9v-26.6c0-82.1-124-82.1-124 0v26.6c0 5-3.9 8.9-8.9 8.9h-17.7c-5 0-8.9-3.9-8.9-8.9v-26.6zM389.7 380c0 9.7-8 17.7-17.7 17.7H124c-9.7 0-17.7-8-17.7-17.7V238.3c0-9.7 8-17.7 17.7-17.7h248c9.7 0 17.7 8 17.7 17.7V380zm-248-137.3v132.9c0 2.5-1.9 4.4-4.4 4.4h-8.9c-2.5 0-4.4-1.9-4.4-4.4V242.7c0-2.5 1.9-4.4 4.4-4.4h8.9c2.5 0 4.4 1.9 4.4 4.4zm141.7 48.7c0 13-7.2 24.4-17.7 30.4v31.6c0 5-3.9 8.9-8.9 8.9h-17.7c-5 0-8.9-3.9-8.9-8.9v-31.6c-10.5-6.1-17.7-17.4-17.7-30.4 0-19.7 15.8-35.4 35.4-35.4s35.5 15.8 35.5 35.4zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 478.3C121 486.3 17.7 383 17.7 256S121 25.7 248 25.7 478.3 129 478.3 256 375 486.3 248 486.3z\"},\"child\":[]}]})(props);\n};\nexport function FaFacebookF (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M279.14 288l14.22-92.66h-88.91v-60.13c0-25.35 12.42-50.06 52.24-50.06h40.42V6.26S260.43 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.17V288z\"},\"child\":[]}]})(props);\n};\nexport function FaFacebookMessenger (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256.55 8C116.52 8 8 110.34 8 248.57c0 72.3 29.71 134.78 78.07 177.94 8.35 7.51 6.63 11.86 8.05 58.23A19.92 19.92 0 0 0 122 502.31c52.91-23.3 53.59-25.14 62.56-22.7C337.85 521.8 504 423.7 504 248.57 504 110.34 396.59 8 256.55 8zm149.24 185.13l-73 115.57a37.37 37.37 0 0 1-53.91 9.93l-58.08-43.47a15 15 0 0 0-18 0l-78.37 59.44c-10.46 7.93-24.16-4.6-17.11-15.67l73-115.57a37.36 37.36 0 0 1 53.91-9.93l58.06 43.46a15 15 0 0 0 18 0l78.41-59.38c10.44-7.98 24.14 4.54 17.09 15.62z\"},\"child\":[]}]})(props);\n};\nexport function FaFacebookSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48A48 48 0 0 0 0 80v352a48 48 0 0 0 48 48h137.25V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.27c-30.81 0-40.42 19.12-40.42 38.73V256h68.78l-11 71.69h-57.78V480H400a48 48 0 0 0 48-48V80a48 48 0 0 0-48-48z\"},\"child\":[]}]})(props);\n};\nexport function FaFacebook (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M504 256C504 119 393 8 256 8S8 119 8 256c0 123.78 90.69 226.38 209.25 245V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.28c-30.8 0-40.41 19.12-40.41 38.73V256h68.78l-11 71.69h-57.78V501C413.31 482.38 504 379.78 504 256z\"},\"child\":[]}]})(props);\n};\nexport function FaFantasyFlightGames (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 32.86L32.86 256 256 479.14 479.14 256 256 32.86zM88.34 255.83c1.96-2 11.92-12.3 96.49-97.48 41.45-41.75 86.19-43.77 119.77-18.69 24.63 18.4 62.06 58.9 62.15 59 .68.74 1.07 2.86.58 3.38-11.27 11.84-22.68 23.54-33.5 34.69-34.21-32.31-40.52-38.24-48.51-43.95-17.77-12.69-41.4-10.13-56.98 5.1-2.17 2.13-1.79 3.43.12 5.35 2.94 2.95 28.1 28.33 35.09 35.78-11.95 11.6-23.66 22.97-35.69 34.66-12.02-12.54-24.48-25.53-36.54-38.11-21.39 21.09-41.69 41.11-61.85 60.99a42569.01 42569.01 0 0 1-41.13-40.72zm234.82 101.6c-35.49 35.43-78.09 38.14-106.99 20.47-22.08-13.5-39.38-32.08-72.93-66.84 12.05-12.37 23.79-24.42 35.37-36.31 33.02 31.91 37.06 36.01 44.68 42.09 18.48 14.74 42.52 13.67 59.32-1.8 3.68-3.39 3.69-3.64.14-7.24-10.59-10.73-21.19-21.44-31.77-32.18-1.32-1.34-3.03-2.48-.8-4.69 10.79-10.71 21.48-21.52 32.21-32.29.26-.26.65-.38 1.91-1.07 12.37 12.87 24.92 25.92 37.25 38.75 21.01-20.73 41.24-40.68 61.25-60.42 13.68 13.4 27.13 26.58 40.86 40.03-20.17 20.86-81.68 82.71-100.5 101.5zM256 0L0 256l256 256 256-256L256 0zM16 256L256 16l240 240-240 240L16 256z\"},\"child\":[]}]})(props);\n};\nexport function FaFedex (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M586 284.5l53.3-59.9h-62.4l-21.7 24.8-22.5-24.8H414v-16h56.1v-48.1H318.9V236h-.5c-9.6-11-21.5-14.8-35.4-14.8-28.4 0-49.8 19.4-57.3 44.9-18-59.4-97.4-57.6-121.9-14v-24.2H49v-26.2h60v-41.1H0V345h49v-77.5h48.9c-1.5 5.7-2.3 11.8-2.3 18.2 0 73.1 102.6 91.4 130.2 23.7h-42c-14.7 20.9-45.8 8.9-45.8-14.6h85.5c3.7 30.5 27.4 56.9 60.1 56.9 14.1 0 27-6.9 34.9-18.6h.5V345h212.2l22.1-25 22.3 25H640l-54-60.5zm-446.7-16.6c6.1-26.3 41.7-25.6 46.5 0h-46.5zm153.4 48.9c-34.6 0-34-62.8 0-62.8 32.6 0 34.5 62.8 0 62.8zm167.8 19.1h-94.4V169.4h95v30.2H405v33.9h55.5v28.1h-56.1v44.7h56.1v29.6zm-45.9-39.8v-24.4h56.1v-44l50.7 57-50.7 57v-45.6h-56.1zm138.6 10.3l-26.1 29.5H489l45.6-51.2-45.6-51.2h39.7l26.6 29.3 25.6-29.3h38.5l-45.4 51 46 51.4h-40.5l-26.3-29.5z\"},\"child\":[]}]})(props);\n};\nexport function FaFedora (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M225 32C101.3 31.7.8 131.7.4 255.4L0 425.7a53.6 53.6 0 0 0 53.6 53.9l170.2.4c123.7.3 224.3-99.7 224.6-223.4S348.7 32.3 225 32zm169.8 157.2L333 126.6c2.3-4.7 3.8-9.2 3.8-14.3v-1.6l55.2 56.1a101 101 0 0 1 2.8 22.4zM331 94.3a106.06 106.06 0 0 1 58.5 63.8l-54.3-54.6a26.48 26.48 0 0 0-4.2-9.2zM118.1 247.2a49.66 49.66 0 0 0-7.7 11.4l-8.5-8.5a85.78 85.78 0 0 1 16.2-2.9zM97 251.4l11.8 11.9-.9 8a34.74 34.74 0 0 0 2.4 12.5l-27-27.2a80.6 80.6 0 0 1 13.7-5.2zm-18.2 7.4l38.2 38.4a53.17 53.17 0 0 0-14.1 4.7L67.6 266a107 107 0 0 1 11.2-7.2zm-15.2 9.8l35.3 35.5a67.25 67.25 0 0 0-10.5 8.5L53.5 278a64.33 64.33 0 0 1 10.1-9.4zm-13.3 12.3l34.9 35a56.84 56.84 0 0 0-7.7 11.4l-35.8-35.9c2.8-3.8 5.7-7.2 8.6-10.5zm-11 14.3l36.4 36.6a48.29 48.29 0 0 0-3.6 15.2l-39.5-39.8a99.81 99.81 0 0 1 6.7-12zm-8.8 16.3l41.3 41.8a63.47 63.47 0 0 0 6.7 26.2L25.8 326c1.4-4.9 2.9-9.6 4.7-14.5zm-7.9 43l61.9 62.2a31.24 31.24 0 0 0-3.6 14.3v1.1l-55.4-55.7a88.27 88.27 0 0 1-2.9-21.9zm5.3 30.7l54.3 54.6a28.44 28.44 0 0 0 4.2 9.2 106.32 106.32 0 0 1-58.5-63.8zm-5.3-37a80.69 80.69 0 0 1 2.1-17l72.2 72.5a37.59 37.59 0 0 0-9.9 8.7zm253.3-51.8l-42.6-.1-.1 56c-.2 69.3-64.4 115.8-125.7 102.9-5.7 0-19.9-8.7-19.9-24.2a24.89 24.89 0 0 1 24.5-24.6c6.3 0 6.3 1.6 15.7 1.6a55.91 55.91 0 0 0 56.1-55.9l.1-47c0-4.5-4.5-9-8.9-9l-33.6-.1c-32.6-.1-32.5-49.4.1-49.3l42.6.1.1-56a105.18 105.18 0 0 1 105.6-105 86.35 86.35 0 0 1 20.2 2.3c11.2 1.8 19.9 11.9 19.9 24 0 15.5-14.9 27.8-30.3 23.9-27.4-5.9-65.9 14.4-66 54.9l-.1 47a8.94 8.94 0 0 0 8.9 9l33.6.1c32.5.2 32.4 49.5-.2 49.4zm23.5-.3a35.58 35.58 0 0 0 7.6-11.4l8.5 8.5a102 102 0 0 1-16.1 2.9zm21-4.2L308.6 280l.9-8.1a34.74 34.74 0 0 0-2.4-12.5l27 27.2a74.89 74.89 0 0 1-13.7 5.3zm18-7.4l-38-38.4c4.9-1.1 9.6-2.4 13.7-4.7l36.2 35.9c-3.8 2.5-7.9 5-11.9 7.2zm15.5-9.8l-35.3-35.5a61.06 61.06 0 0 0 10.5-8.5l34.9 35a124.56 124.56 0 0 1-10.1 9zm13.2-12.3l-34.9-35a63.18 63.18 0 0 0 7.7-11.4l35.8 35.9a130.28 130.28 0 0 1-8.6 10.5zm11-14.3l-36.4-36.6a48.29 48.29 0 0 0 3.6-15.2l39.5 39.8a87.72 87.72 0 0 1-6.7 12zm13.5-30.9a140.63 140.63 0 0 1-4.7 14.3L345.6 190a58.19 58.19 0 0 0-7.1-26.2zm1-5.6l-71.9-72.1a32 32 0 0 0 9.9-9.2l64.3 64.7a90.93 90.93 0 0 1-2.3 16.6z\"},\"child\":[]}]})(props);\n};\nexport function FaFigma (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 95.7924C14 42.8877 56.8878 0 109.793 0H274.161C327.066 0 369.954 42.8877 369.954 95.7924C369.954 129.292 352.758 158.776 326.711 175.897C352.758 193.019 369.954 222.502 369.954 256.002C369.954 308.907 327.066 351.795 274.161 351.795H272.081C247.279 351.795 224.678 342.369 207.666 326.904V415.167C207.666 468.777 163.657 512 110.309 512C57.5361 512 14 469.243 14 416.207C14 382.709 31.1945 353.227 57.2392 336.105C31.1945 318.983 14 289.5 14 256.002C14 222.502 31.196 193.019 57.2425 175.897C31.196 158.776 14 129.292 14 95.7924ZM176.288 191.587H109.793C74.2172 191.587 45.3778 220.427 45.3778 256.002C45.3778 291.44 73.9948 320.194 109.381 320.416C109.518 320.415 109.655 320.415 109.793 320.415H176.288V191.587ZM207.666 256.002C207.666 291.577 236.505 320.417 272.081 320.417H274.161C309.737 320.417 338.576 291.577 338.576 256.002C338.576 220.427 309.737 191.587 274.161 191.587H272.081C236.505 191.587 207.666 220.427 207.666 256.002ZM109.793 351.795C109.655 351.795 109.518 351.794 109.381 351.794C73.9948 352.015 45.3778 380.769 45.3778 416.207C45.3778 451.652 74.6025 480.622 110.309 480.622C146.591 480.622 176.288 451.186 176.288 415.167V351.795H109.793ZM109.793 31.3778C74.2172 31.3778 45.3778 60.2173 45.3778 95.7924C45.3778 131.368 74.2172 160.207 109.793 160.207H176.288V31.3778H109.793ZM207.666 160.207H274.161C309.737 160.207 338.576 131.368 338.576 95.7924C338.576 60.2173 309.737 31.3778 274.161 31.3778H207.666V160.207Z\"},\"child\":[]}]})(props);\n};\nexport function FaFirefoxBrowser (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M189.37,152.86Zm-58.74-29.37C130.79,123.5,130.71,123.5,130.63,123.49Zm351.42,45.35c-10.61-25.5-32.08-53-48.94-61.73,13.72,26.89,21.67,53.88,24.7,74,0,0,0,.14.05.41-27.58-68.75-74.35-96.47-112.55-156.83-1.93-3.05-3.86-6.11-5.74-9.33-1-1.65-1.86-3.34-2.69-5.05A44.88,44.88,0,0,1,333.24.69a.63.63,0,0,0-.55-.66.9.9,0,0,0-.46,0l-.12.07-.18.1.1-.14c-54.23,31.77-76.72,87.38-82.5,122.78a130,130,0,0,0-48.33,12.33,6.25,6.25,0,0,0-3.09,7.75,6.13,6.13,0,0,0,7.79,3.79l.52-.21a117.84,117.84,0,0,1,42.11-11l1.42-.1c2-.12,4-.2,6-.22A122.61,122.61,0,0,1,291,140c.67.2,1.32.42,2,.63,1.89.57,3.76,1.2,5.62,1.87,1.36.5,2.71,1,4.05,1.58,1.09.44,2.18.88,3.25,1.35q2.52,1.13,5,2.35c.75.37,1.5.74,2.25,1.13q2.4,1.26,4.74,2.63,1.51.87,3,1.8a124.89,124.89,0,0,1,42.66,44.13c-13-9.15-36.35-18.19-58.82-14.28,87.74,43.86,64.18,194.9-57.39,189.2a108.43,108.43,0,0,1-31.74-6.12c-2.42-.91-4.8-1.89-7.16-2.93-1.38-.63-2.76-1.27-4.12-2C174.5,346,149.9,316.92,146.83,281.59c0,0,11.25-41.95,80.62-41.95,7.5,0,28.93-20.92,29.33-27-.09-2-42.54-18.87-59.09-35.18-8.85-8.71-13.05-12.91-16.77-16.06a69.58,69.58,0,0,0-6.31-4.77A113.05,113.05,0,0,1,173.92,97c-25.06,11.41-44.55,29.45-58.71,45.37h-.12c-9.67-12.25-9-52.65-8.43-61.08-.12-.53-7.22,3.68-8.15,4.31a178.54,178.54,0,0,0-23.84,20.43A214,214,0,0,0,51.9,133.36l0,0a.08.08,0,0,1,0,0,205.84,205.84,0,0,0-32.73,73.9c-.06.27-2.33,10.21-4,22.48q-.42,2.87-.78,5.74c-.57,3.69-1,7.71-1.44,14,0,.24,0,.48-.05.72-.18,2.71-.34,5.41-.49,8.12,0,.41,0,.82,0,1.24,0,134.7,109.21,243.89,243.92,243.89,120.64,0,220.82-87.58,240.43-202.62.41-3.12.74-6.26,1.11-9.41,4.85-41.83-.54-85.79-15.82-122.55Z\"},\"child\":[]}]})(props);\n};\nexport function FaFirefox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M503.52,241.48c-.12-1.56-.24-3.12-.24-4.68v-.12l-.36-4.68v-.12a245.86,245.86,0,0,0-7.32-41.15c0-.12,0-.12-.12-.24l-1.08-4c-.12-.24-.12-.48-.24-.6-.36-1.2-.72-2.52-1.08-3.72-.12-.24-.12-.6-.24-.84-.36-1.2-.72-2.4-1.08-3.48-.12-.36-.24-.6-.36-1-.36-1.2-.72-2.28-1.2-3.48l-.36-1.08c-.36-1.08-.84-2.28-1.2-3.36a8.27,8.27,0,0,0-.36-1c-.48-1.08-.84-2.28-1.32-3.36-.12-.24-.24-.6-.36-.84-.48-1.2-1-2.28-1.44-3.48,0-.12-.12-.24-.12-.36-1.56-3.84-3.24-7.68-5-11.4l-.36-.72c-.48-1-.84-1.8-1.32-2.64-.24-.48-.48-1.08-.72-1.56-.36-.84-.84-1.56-1.2-2.4-.36-.6-.6-1.2-1-1.8s-.84-1.44-1.2-2.28c-.36-.6-.72-1.32-1.08-1.92s-.84-1.44-1.2-2.16a18.07,18.07,0,0,0-1.2-2c-.36-.72-.84-1.32-1.2-2s-.84-1.32-1.2-2-.84-1.32-1.2-1.92-.84-1.44-1.32-2.16a15.63,15.63,0,0,0-1.2-1.8L463.2,119a15.63,15.63,0,0,0-1.2-1.8c-.48-.72-1.08-1.56-1.56-2.28-.36-.48-.72-1.08-1.08-1.56l-1.8-2.52c-.36-.48-.6-.84-1-1.32-1-1.32-1.8-2.52-2.76-3.72a248.76,248.76,0,0,0-23.51-26.64A186.82,186.82,0,0,0,412,62.46c-4-3.48-8.16-6.72-12.48-9.84a162.49,162.49,0,0,0-24.6-15.12c-2.4-1.32-4.8-2.52-7.2-3.72a254,254,0,0,0-55.43-19.56c-1.92-.36-3.84-.84-5.64-1.2h-.12c-1-.12-1.8-.36-2.76-.48a236.35,236.35,0,0,0-38-4H255.14a234.62,234.62,0,0,0-45.48,5c-33.59,7.08-63.23,21.24-82.91,39-1.08,1-1.92,1.68-2.4,2.16l-.48.48H124l-.12.12.12-.12a.12.12,0,0,0,.12-.12l-.12.12a.42.42,0,0,1,.24-.12c14.64-8.76,34.92-16,49.44-19.56l5.88-1.44c.36-.12.84-.12,1.2-.24,1.68-.36,3.36-.72,5.16-1.08.24,0,.6-.12.84-.12C250.94,20.94,319.34,40.14,367,85.61a171.49,171.49,0,0,1,26.88,32.76c30.36,49.2,27.48,111.11,3.84,147.59-34.44,53-111.35,71.27-159,24.84a84.19,84.19,0,0,1-25.56-59,74.05,74.05,0,0,1,6.24-31c1.68-3.84,13.08-25.67,18.24-24.59-13.08-2.76-37.55,2.64-54.71,28.19-15.36,22.92-14.52,58.2-5,83.28a132.85,132.85,0,0,1-12.12-39.24c-12.24-82.55,43.31-153,94.31-170.51-27.48-24-96.47-22.31-147.71,15.36-29.88,22-51.23,53.16-62.51,90.36,1.68-20.88,9.6-52.08,25.8-83.88-17.16,8.88-39,37-49.8,62.88-15.6,37.43-21,82.19-16.08,124.79.36,3.24.72,6.36,1.08,9.6,19.92,117.11,122,206.38,244.78,206.38C392.77,503.42,504,392.19,504,255,503.88,250.48,503.76,245.92,503.52,241.48Z\"},\"child\":[]}]})(props);\n};\nexport function FaFirstOrderAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 488.21C115.34 496.21 7.79 388.66 7.79 256S115.34 15.79 248 15.79 488.21 123.34 488.21 256 380.66 496.21 248 496.21zm0-459.92C126.66 36.29 28.29 134.66 28.29 256S126.66 475.71 248 475.71 467.71 377.34 467.71 256 369.34 36.29 248 36.29zm0 431.22c-116.81 0-211.51-94.69-211.51-211.51S131.19 44.49 248 44.49 459.51 139.19 459.51 256 364.81 467.51 248 467.51zm186.23-162.98a191.613 191.613 0 0 1-20.13 48.69l-74.13-35.88 61.48 54.82a193.515 193.515 0 0 1-37.2 37.29l-54.8-61.57 35.88 74.27a190.944 190.944 0 0 1-48.63 20.23l-27.29-78.47 4.79 82.93c-8.61 1.18-17.4 1.8-26.33 1.8s-17.72-.62-26.33-1.8l4.76-82.46-27.15 78.03a191.365 191.365 0 0 1-48.65-20.2l35.93-74.34-54.87 61.64a193.85 193.85 0 0 1-37.22-37.28l61.59-54.9-74.26 35.93a191.638 191.638 0 0 1-20.14-48.69l77.84-27.11-82.23 4.76c-1.16-8.57-1.78-17.32-1.78-26.21 0-9 .63-17.84 1.82-26.51l82.38 4.77-77.94-27.16a191.726 191.726 0 0 1 20.23-48.67l74.22 35.92-61.52-54.86a193.85 193.85 0 0 1 37.28-37.22l54.76 61.53-35.83-74.17a191.49 191.49 0 0 1 48.65-20.13l26.87 77.25-4.71-81.61c8.61-1.18 17.39-1.8 26.32-1.8s17.71.62 26.32 1.8l-4.74 82.16 27.05-77.76c17.27 4.5 33.6 11.35 48.63 20.17l-35.82 74.12 54.72-61.47a193.13 193.13 0 0 1 37.24 37.23l-61.45 54.77 74.12-35.86a191.515 191.515 0 0 1 20.2 48.65l-77.81 27.1 82.24-4.75c1.19 8.66 1.82 17.5 1.82 26.49 0 8.88-.61 17.63-1.78 26.19l-82.12-4.75 77.72 27.09z\"},\"child\":[]}]})(props);\n};\nexport function FaFirstOrder (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.9 229.2c.1-.1.2-.3.3-.4 0 .1 0 .3-.1.4h-.2zM224 96.6c-7.1 0-14.6.6-21.4 1.7l3.7 67.4-22-64c-14.3 3.7-27.7 9.4-40 16.6l29.4 61.4-45.1-50.9c-11.4 8.9-21.7 19.1-30.6 30.9l50.6 45.4-61.1-29.7c-7.1 12.3-12.9 25.7-16.6 40l64.3 22.6-68-4c-.9 7.1-1.4 14.6-1.4 22s.6 14.6 1.4 21.7l67.7-4-64 22.6c3.7 14.3 9.4 27.7 16.6 40.3l61.1-29.7L97.7 352c8.9 11.7 19.1 22.3 30.9 30.9l44.9-50.9-29.5 61.4c12.3 7.4 25.7 13.1 40 16.9l22.3-64.6-4 68c7.1 1.1 14.6 1.7 21.7 1.7 7.4 0 14.6-.6 21.7-1.7l-4-68.6 22.6 65.1c14.3-4 27.7-9.4 40-16.9L274.9 332l44.9 50.9c11.7-8.9 22-19.1 30.6-30.9l-50.6-45.1 61.1 29.4c7.1-12.3 12.9-25.7 16.6-40.3l-64-22.3 67.4 4c1.1-7.1 1.4-14.3 1.4-21.7s-.3-14.9-1.4-22l-67.7 4 64-22.3c-3.7-14.3-9.1-28-16.6-40.3l-60.9 29.7 50.6-45.4c-8.9-11.7-19.1-22-30.6-30.9l-45.1 50.9 29.4-61.1c-12.3-7.4-25.7-13.1-40-16.9L241.7 166l4-67.7c-7.1-1.2-14.3-1.7-21.7-1.7zM443.4 128v256L224 512 4.6 384V128L224 0l219.4 128zm-17.1 10.3L224 20.9 21.7 138.3v235.1L224 491.1l202.3-117.7V138.3zM224 37.1l187.7 109.4v218.9L224 474.9 36.3 365.4V146.6L224 37.1zm0 50.9c-92.3 0-166.9 75.1-166.9 168 0 92.6 74.6 167.7 166.9 167.7 92 0 166.9-75.1 166.9-167.7 0-92.9-74.9-168-166.9-168z\"},\"child\":[]}]})(props);\n};\nexport function FaFirstdraft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 192h-64v128H192v128H0v-25.6h166.4v-128h128v-128H384V192zm-25.6 38.4v128h-128v128H64V512h192V384h128V230.4h-25.6zm25.6 192h-89.6V512H320v-64h64v-25.6zM0 0v384h128V256h128V128h128V0H0z\"},\"child\":[]}]})(props);\n};\nexport function FaFlickr (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM144.5 319c-35.1 0-63.5-28.4-63.5-63.5s28.4-63.5 63.5-63.5 63.5 28.4 63.5 63.5-28.4 63.5-63.5 63.5zm159 0c-35.1 0-63.5-28.4-63.5-63.5s28.4-63.5 63.5-63.5 63.5 28.4 63.5 63.5-28.4 63.5-63.5 63.5z\"},\"child\":[]}]})(props);\n};\nexport function FaFlipboard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 32v448h448V32H0zm358.4 179.2h-89.6v89.6h-89.6v89.6H89.6V121.6h268.8v89.6z\"},\"child\":[]}]})(props);\n};\nexport function FaFly (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M197.8 427.8c12.9 11.7 33.7 33.3 33.2 50.7 0 .8-.1 1.6-.1 2.5-1.8 19.8-18.8 31.1-39.1 31-25-.1-39.9-16.8-38.7-35.8 1-16.2 20.5-36.7 32.4-47.6 2.3-2.1 2.7-2.7 5.6-3.6 3.4 0 3.9.3 6.7 2.8zM331.9 67.3c-16.3-25.7-38.6-40.6-63.3-52.1C243.1 4.5 214-.2 192 0c-44.1 0-71.2 13.2-81.1 17.3C57.3 45.2 26.5 87.2 28 158.6c7.1 82.2 97 176 155.8 233.8 1.7 1.6 4.5 4.5 6.2 5.1l3.3.1c2.1-.7 1.8-.5 3.5-2.1 52.3-49.2 140.7-145.8 155.9-215.7 7-39.2 3.1-72.5-20.8-112.5zM186.8 351.9c-28-51.1-65.2-130.7-69.3-189-3.4-47.5 11.4-131.2 69.3-136.7v325.7zM328.7 180c-16.4 56.8-77.3 128-118.9 170.3C237.6 298.4 275 217 277 158.4c1.6-45.9-9.8-105.8-48-131.4 88.8 18.3 115.5 98.1 99.7 153z\"},\"child\":[]}]})(props);\n};\nexport function FaFontAwesomeAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48A48 48 0 0 0 0 80V432a48 48 0 0 0 48 48H400a48 48 0 0 0 48-48V80A48 48 0 0 0 400 32Zm16 400a16 16 0 0 1-16 16H48a16 16 0 0 1-16-16V80A16 16 0 0 1 48 64H400a16 16 0 0 1 16 16ZM201.6 152c-25.4 0-37.4 10.4-57.6 14.4V160a16 16 0 0 0-32 0V352a16 16 0 0 0 32 0V198.4c20.2-4 32.2-14.4 57.6-14.4 31.4 0 43.2 16 74.6 16 10.2 0 17.8-1.4 27.8-4.6v96c-10 3.2-17.6 4.6-27.8 4.6-31.4 0-43.4-16-74.6-16a85.9 85.9 0 0 0-25.6 4v32a80 80 0 0 1 25.6-4c31.4 0 43.2 16 74.6 16 18.6 0 28.2-4.8 59.8-16V152c-31.6 11.2-41.2 16-59.8 16C244.8 168 232.8 152 201.6 152Z\"},\"child\":[]}]})(props);\n};\nexport function FaFontAwesomeFlag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 48V384c-63 23-82 32-119 32-63 0-87-32-150-32-20 0-36 4-51 8V328c15-4 31-8 51-8 63 0 87 32 150 32 20 0 35-3 55-9V135c-20 6-35 9-55 9-63 0-87-32-150-32-51 0-75 21-115 29V448a31.6 31.6 0 0 1-32 32A31.6 31.6 0 0 1 0 448V64A31.6 31.6 0 0 1 32 32 31.6 31.6 0 0 1 64 64V77c40-8 64-29 115-29 63 0 87 32 150 32C366 80 385 71 448 48Z\"},\"child\":[]}]})(props);\n};\nexport function FaFontAwesomeLogoFull (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 3992 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1209.7 156.5c-57.8 0-102 43.9-102 99.1 0 56 44.6 99.1 102 99.1 57.4 0 102-43.1 102-99.1C1311.7 200.4 1267.5 156.5 1209.7 156.5Zm0 152.7c-35.1 0-51.8-27.4-51.8-53.2 0-25.8 16.7-53.2 51.8-53.2 35.1 0 51.8 27.8 51.8 53.2C1261.1 281.8 1244.8 309.2 1209.7 309.2Zm962.1-136.1c-4.4-10.9-12.3-16.5-23.5-16.5s-19.1 5.6-23.5 16.5l-59.4 145.8c-7.2 17.7 2.8 27.4 4.4 29a24.6 24.6 0 0 0 17.5 6.8c10.8 0 18.7-6 23.1-18.1l4-10.1h67.7l4 10.1c4.8 12.1 12.3 18.1 23.1 18.1a24.6 24.6 0 0 0 17.5-6.8c10-10.1 6.8-22.6 4.4-29Zm-43 113.6 19.1-56 19.1 56Zm-574.5-130.1c-14.3 0-24.7 10.9-24.7 25.4v76.5l-68.5-85.8c-4.4-5.6-11.6-16.1-25.5-16.1-19.1 0-24.3 17.7-24.3 25.4V329.7c0 14.1 10.4 25.4 24.7 25.4 14.3 0 24.7-10.9 24.7-25.4V252.8l68.9 86.2c4.8 5.6 11.6 16.1 25.5 16.1 19.1 0 23.9-17.3 23.9-25.4V181.9C1579 167.4 1568.6 156.5 1554.3 156.5Zm-554.1 1.6H916.5c-19.9 0-25.1 17.3-25.1 25.4V328.1c0 19.7 16.7 25.4 24.7 25.4 8 0 24.7-5.2 24.7-25.4V285h44.6c12.8 0 22.7-9.3 22.7-22.6 0-17.7-15.5-22.1-22.7-22.1H940.8V203.6h59.4c12.8 0 22.7-9.3 22.7-22.6C1022.9 163 1007.3 158.1 1000.2 158.1Zm815.1 0H1691.7c-7.2 0-22.7 4.4-22.7 22.2 0 13.3 10 22.6 22.7 22.6h37V327.7c0 14.1 10.4 25.4 24.7 25.4 14.3 0 24.7-10.9 24.7-25.4V202.8h37c12.7 0 22.7-9.3 22.7-22.6C1837.9 163 1822.4 158.1 1815.2 158.1Zm1789.5-1.6c-9.6 0-17.5 6-25.1 18.1l-46.6 76.1L3486.4 174.6q-10.8-18.1-25.1-18.1c-19.5 0-24.7 18.1-24.7 25.8V329.7c0 14.1 10.4 25.4 24.7 25.4s24.7-10.9 24.7-25.4V262.8L3510.7 302.7c6.4 10.1 13.9 15.3 22.3 15.3 8.8 0 15.9-5.2 22.3-15.3l24.7-39.9v66.9c0 14.1 10.3 25.4 24.7 25.4 14.3 0 24.7-10.9 24.7-25.4V182.3C3629.4 174.2 3624.6 156.5 3604.7 156.5Zm248.6 149.8h-65.7V272.9h39.4c11.9 0 21.1-8.9 21.1-20.9 0-12.1-9.2-20.9-21.1-20.9h-39.4V204.8h62.1c12.8 0 22.7-9.3 22.7-22.6 0-17.7-15.6-22.2-22.7-22.2h-86.4c-19.9 0-25.1 17.3-25.1 25.4V326.5c0 8.1 5.2 25.4 25.1 25.4h90c12.8 0 22.7-9.3 22.7-22.6C3876 311.2 3860.5 306.3 3853.3 306.3ZM3235 156.5c-57.8 0-102 43.9-102 99.1 0 56 44.6 99.1 102 99.1 57.4 0 102-43.1 102-99.1C3337 200.4 3292.8 156.5 3235 156.5Zm0 152.7c-35.1 0-51.8-27.4-51.8-53.2 0-25.8 16.7-53.2 51.8-53.2 35.1 0 51.8 27.8 51.8 53.2C3286.8 281.8 3270.1 309.2 3235 309.2ZM2550.2 156.5c-11.2 0-19.1 5.6-23.1 16.5l-34.3 94.7-31.5-92.2c-4.4-12.5-12.3-18.9-24.3-18.9-11.9 0-19.9 6.4-24.3 18.9l-31.5 92.2-34.3-95.5q-5.4-15.7-22.7-15.7c-6.8 0-12.3 2.4-17.5 7.3-5.2 5.2-10.8 14.5-4.8 28.6l55.8 145.8c4 11.3 11.6 16.9 23.1 16.9q16.7 0 22.7-16.9l33.5-91.8 33.5 91.8q6 16.9 22.7 16.9c11.2 0 19.1-5.6 23.1-16.9l55.8-145.8c3.6-9.3 4.4-19.3-4.8-28.6A23 23 0 0 0 2550.2 156.5Zm444.2 81-21.9-9.3c-11.9-4.8-16.3-8.5-16.3-15.7q0-12.1 16.7-12.1c12.7 0 19.5 7.7 24.3 10.9 7.2 5.2 18.3 6.8 27.9-2 10.8-10.5 6.8-23.8 1.2-30.6-12.3-14.9-30.3-22.2-53.8-22.2-19.1 0-35.1 5.2-47.4 15.7-12.3 10.5-18.7 24.2-18.7 41.1 0 24.2 15.9 43.5 47.8 57.6l19.5 8.9c15.9 6.8 19.1 9.7 19.1 17.7 0 9.3-6.4 14.1-19.5 14.1-19.1 0-34.7-14.9-36.3-16.1-10.8-7.3-21.5-2-26.3 2.8-6.8 6.4-12.7 20.9 3.2 36.2 6.8 6.4 15.5 11.7 26.7 15.3a94.6 94.6 0 0 0 32.7 5.6c19.9 0 36.7-5.2 49.8-16.1 13.1-10.9 19.5-25.4 19.5-43.5q0-20.5-12-33.8C3022.7 253.2 3010.7 244.3 2994.4 237.5Zm-206.4 68.9h-65.7V272.9h39.4c12 0 21.1-8.9 21.1-20.9 0-12.1-9.2-20.9-21.1-20.9h-39.4V204.8h62.1c12.8 0 22.7-9.3 22.7-22.6 0-17.7-15.5-22.2-22.7-22.2h-86.4c-19.9 0-25.1 17.3-25.1 25.4V326.5c0 8.1 5.2 25.4 25.1 25.4h90c12.7 0 22.7-9.3 22.7-22.6C2810.8 311.2 2795.2 306.3 2788 306.3ZM178.3 49.1c-50.5 0-74.4 20.7-114.6 28.7V65A31.8 31.8 0 1 0 0 65V447a31.8 31.8 0 0 0 63.7 0V141.4c40.2-8 64.1-28.7 114.6-28.7 62.5 0 86 31.8 148.4 31.8 20.3 0 35.4-2.8 55.3-9.2v191c-19.9 6.4-35 9.2-55.3 9.2-62.5 0-86.4-31.8-148.4-31.8-20.3 0-36.2 3.6-50.9 8V375.4a159.1 159.1 0 0 1 50.9-8c62.5 0 86 31.8 148.4 31.8 37 0 56.1-9.6 119-31.8V49.1C382.8 71.4 363.7 80.9 326.7 80.9 264.2 80.9 240.4 49.1 178.3 49.1Z\"},\"child\":[]}]})(props);\n};\nexport function FaFontAwesome (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48A48 48 0 0 0 0 80V432a48 48 0 0 0 48 48H400a48 48 0 0 0 48-48V80A48 48 0 0 0 400 32ZM336 312c-31.6 11.2-41.2 16-59.8 16-31.4 0-43.2-16-74.6-16a80 80 0 0 0-25.6 4V284a85.9 85.9 0 0 1 25.6-4c31.2 0 43.2 16 74.6 16 10.2 0 17.8-1.4 27.8-4.6v-96c-10 3.2-17.6 4.6-27.8 4.6-31.4 0-43.2-16-74.6-16-25.4 0-37.4 10.4-57.6 14.4V352a16 16 0 0 1-32 0V160a16 16 0 0 1 32 0v6.4c20.2-4 32.2-14.4 57.6-14.4 31.2 0 43.2 16 74.6 16 18.6 0 28.2-4.8 59.8-16Z\"},\"child\":[]}]})(props);\n};\nexport function FaFonticonsFi (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M114.4 224h92.4l-15.2 51.2h-76.4V433c0 8-2.8 9.2 4.4 10l59.6 5.6V483H0v-35.2l29.2-2.8c7.2-.8 9.2-3.2 9.2-10.8V278.4c0-3.2-4-3.2-8-3.2H0V224h38.4v-28.8c0-68 36.4-96 106-96 46.8 0 88.8 11.2 88.8 72.4l-69.6 8.4c.4-25.6-6-31.6-22.4-31.6-25.2 0-26 13.6-26 37.6v32c0 3.2-4.8 6-.8 6zM384 483H243.2v-34.4l28-3.6c7.2-.8 10.4-2.4 10.4-10V287c0-5.6-4-9.2-9.2-10.8l-33.2-8.8 9.2-40.4h110v208c0 8-3.6 8.8 4 10l21.6 3.6V483zm-30-347.2l12.4 45.6-10 10-42.8-22.8-42.8 22.8-10-10 12.4-45.6-30-36.4 4.8-10h38L307.2 51H320l21.2 38.4h38l4.8 13.2-30 33.2z\"},\"child\":[]}]})(props);\n};\nexport function FaFonticons (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 32v448h448V32zm187 140.9c-18.4 0-19 9.9-19 27.4v23.3c0 2.4-3.5 4.4-.6 4.4h67.4l-11.1 37.3H168v112.9c0 5.8-2 6.7 3.2 7.3l43.5 4.1v25.1H84V389l21.3-2c5.2-.6 6.7-2.3 6.7-7.9V267.7c0-2.3-2.9-2.3-5.8-2.3H84V228h28v-21c0-49.6 26.5-70 77.3-70 34.1 0 64.7 8.2 64.7 52.8l-50.7 6.1c.3-18.7-4.4-23-16.3-23zm74.3 241.8v-25.1l20.4-2.6c5.2-.6 7.6-1.7 7.6-7.3V271.8c0-4.1-2.9-6.7-6.7-7.9l-24.2-6.4 6.7-29.5h80.2v151.7c0 5.8-2.6 6.4 2.9 7.3l15.7 2.6v25.1zm80.8-255.5l9 33.2-7.3 7.3-31.2-16.6-31.2 16.6-7.3-7.3 9-33.2-21.8-24.2 3.5-9.6h27.7l15.5-28h9.3l15.5 28h27.7l3.5 9.6z\"},\"child\":[]}]})(props);\n};\nexport function FaFortAwesomeAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M208 237.4h-22.2c-2.1 0-3.7 1.6-3.7 3.7v51.7c0 2.1 1.6 3.7 3.7 3.7H208c2.1 0 3.7-1.6 3.7-3.7v-51.7c0-2.1-1.6-3.7-3.7-3.7zm118.2 0H304c-2.1 0-3.7 1.6-3.7 3.7v51.7c0 2.1 1.6 3.7 3.7 3.7h22.2c2.1 0 3.7-1.6 3.7-3.7v-51.7c-.1-2.1-1.7-3.7-3.7-3.7zm132-125.1c-2.3-3.2-4.6-6.4-7.1-9.5-9.8-12.5-20.8-24-32.8-34.4-4.5-3.9-9.1-7.6-13.9-11.2-1.6-1.2-3.2-2.3-4.8-3.5C372 34.1 340.3 20 306 13c-16.2-3.3-32.9-5-50-5s-33.9 1.7-50 5c-34.3 7.1-66 21.2-93.3 40.8-1.6 1.1-3.2 2.3-4.8 3.5-4.8 3.6-9.4 7.3-13.9 11.2-3 2.6-5.9 5.3-8.8 8s-5.7 5.5-8.4 8.4c-5.5 5.7-10.7 11.8-15.6 18-2.4 3.1-4.8 6.3-7.1 9.5C25.2 153 8.3 202.5 8.3 256c0 2 .1 4 .1 6 .1.7.1 1.3.1 2 .1 1.3.1 2.7.2 4 0 .8.1 1.5.1 2.3 0 1.3.1 2.5.2 3.7.1.8.1 1.6.2 2.4.1 1.1.2 2.3.3 3.5 0 .8.1 1.6.2 2.4.1 1.2.3 2.4.4 3.6.1.8.2 1.5.3 2.3.1 1.3.3 2.6.5 3.9.1.6.2 1.3.3 1.9l.9 5.7c.1.6.2 1.1.3 1.7.3 1.3.5 2.7.8 4 .2.8.3 1.6.5 2.4.2 1 .5 2.1.7 3.2.2.9.4 1.7.6 2.6.2 1 .4 2 .7 3 .2.9.5 1.8.7 2.7.3 1 .5 1.9.8 2.9.3.9.5 1.8.8 2.7.2.9.5 1.9.8 2.8s.5 1.8.8 2.7c.3 1 .6 1.9.9 2.8.6 1.6 1.1 3.3 1.7 4.9.4 1 .7 1.9 1 2.8.3 1 .7 2 1.1 3 .3.8.6 1.5.9 2.3l1.2 3c.3.7.6 1.5.9 2.2.4 1 .9 2 1.3 3l.9 2.1c.5 1 .9 2 1.4 3 .3.7.6 1.3.9 2 .5 1 1 2.1 1.5 3.1.2.6.5 1.1.8 1.7.6 1.1 1.1 2.2 1.7 3.3.1.2.2.3.3.5 2.2 4.1 4.4 8.2 6.8 12.2.2.4.5.8.7 1.2.7 1.1 1.3 2.2 2 3.3.3.5.6.9.9 1.4.6 1.1 1.3 2.1 2 3.2.3.5.6.9.9 1.4.7 1.1 1.4 2.1 2.1 3.2.2.4.5.8.8 1.2.7 1.1 1.5 2.2 2.3 3.3.2.2.3.5.5.7 37.5 51.7 94.4 88.5 160 99.4.9.1 1.7.3 2.6.4 1 .2 2.1.4 3.1.5s1.9.3 2.8.4c1 .2 2 .3 3 .4.9.1 1.9.2 2.9.3s1.9.2 2.9.3 2.1.2 3.1.3c.9.1 1.8.1 2.7.2 1.1.1 2.3.1 3.4.2.8 0 1.7.1 2.5.1 1.3 0 2.6.1 3.9.1.7.1 1.4.1 2.1.1 2 .1 4 .1 6 .1s4-.1 6-.1c.7 0 1.4-.1 2.1-.1 1.3 0 2.6 0 3.9-.1.8 0 1.7-.1 2.5-.1 1.1-.1 2.3-.1 3.4-.2.9 0 1.8-.1 2.7-.2 1-.1 2.1-.2 3.1-.3s1.9-.2 2.9-.3c.9-.1 1.9-.2 2.9-.3s2-.3 3-.4 1.9-.3 2.8-.4c1-.2 2.1-.3 3.1-.5.9-.1 1.7-.3 2.6-.4 65.6-11 122.5-47.7 160.1-102.4.2-.2.3-.5.5-.7.8-1.1 1.5-2.2 2.3-3.3.2-.4.5-.8.8-1.2.7-1.1 1.4-2.1 2.1-3.2.3-.5.6-.9.9-1.4.6-1.1 1.3-2.1 2-3.2.3-.5.6-.9.9-1.4.7-1.1 1.3-2.2 2-3.3.2-.4.5-.8.7-1.2 2.4-4 4.6-8.1 6.8-12.2.1-.2.2-.3.3-.5.6-1.1 1.1-2.2 1.7-3.3.2-.6.5-1.1.8-1.7.5-1 1-2.1 1.5-3.1.3-.7.6-1.3.9-2 .5-1 1-2 1.4-3l.9-2.1c.5-1 .9-2 1.3-3 .3-.7.6-1.5.9-2.2l1.2-3c.3-.8.6-1.5.9-2.3.4-1 .7-2 1.1-3s.7-1.9 1-2.8c.6-1.6 1.2-3.3 1.7-4.9.3-1 .6-1.9.9-2.8s.5-1.8.8-2.7c.2-.9.5-1.9.8-2.8s.6-1.8.8-2.7c.3-1 .5-1.9.8-2.9.2-.9.5-1.8.7-2.7.2-1 .5-2 .7-3 .2-.9.4-1.7.6-2.6.2-1 .5-2.1.7-3.2.2-.8.3-1.6.5-2.4.3-1.3.6-2.7.8-4 .1-.6.2-1.1.3-1.7l.9-5.7c.1-.6.2-1.3.3-1.9.1-1.3.3-2.6.5-3.9.1-.8.2-1.5.3-2.3.1-1.2.3-2.4.4-3.6 0-.8.1-1.6.2-2.4.1-1.1.2-2.3.3-3.5.1-.8.1-1.6.2-2.4.1 1.7.1.5.2-.7 0-.8.1-1.5.1-2.3.1-1.3.2-2.7.2-4 .1-.7.1-1.3.1-2 .1-2 .1-4 .1-6 0-53.5-16.9-103-45.8-143.7zM448 371.5c-9.4 15.5-20.6 29.9-33.6 42.9-20.6 20.6-44.5 36.7-71.2 48-13.9 5.8-28.2 10.3-42.9 13.2v-75.8c0-58.6-88.6-58.6-88.6 0v75.8c-14.7-2.9-29-7.3-42.9-13.2-26.7-11.3-50.6-27.4-71.2-48-13-13-24.2-27.4-33.6-42.9v-71.3c0-2.1 1.6-3.7 3.7-3.7h22.1c2.1 0 3.7 1.6 3.7 3.7V326h29.6V182c0-2.1 1.6-3.7 3.7-3.7h22.1c2.1 0 3.7 1.6 3.7 3.7v25.9h29.5V182c0-2.1 1.6-3.7 3.7-3.7H208c2.1 0 3.7 1.6 3.7 3.7v25.9h29.5V182c0-4.8 6.5-3.7 9.5-3.7V88.1c-4.4-2-7.4-6.7-7.4-11.5 0-16.8 25.4-16.8 25.4 0 0 4.8-3 9.4-7.4 11.5V92c6.3-1.4 12.7-2.3 19.2-2.3 9.4 0 18.4 3.5 26.3 3.5 7.2 0 15.2-3.5 19.4-3.5 2.1 0 3.7 1.6 3.7 3.7v48.4c0 5.6-18.7 6.5-22.4 6.5-8.6 0-16.6-3.5-25.4-3.5-7 0-14.1 1.2-20.8 2.8v30.7c3 0 9.5-1.1 9.5 3.7v25.9h29.5V182c0-2.1 1.6-3.7 3.7-3.7h22.2c2.1 0 3.7 1.6 3.7 3.7v25.9h29.5V182c0-2.1 1.6-3.7 3.7-3.7h22.1c2.1 0 3.7 1.6 3.7 3.7v144h29.5v-25.8c0-2.1 1.6-3.7 3.7-3.7h22.2c2.1 0 3.7 1.6 3.7 3.7z\"},\"child\":[]}]})(props);\n};\nexport function FaFortAwesome (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M489.2 287.9h-27.4c-2.6 0-4.6 2-4.6 4.6v32h-36.6V146.2c0-2.6-2-4.6-4.6-4.6h-27.4c-2.6 0-4.6 2-4.6 4.6v32h-36.6v-32c0-2.6-2-4.6-4.6-4.6h-27.4c-2.6 0-4.6 2-4.6 4.6v32h-36.6v-32c0-6-8-4.6-11.7-4.6v-38c8.3-2 17.1-3.4 25.7-3.4 10.9 0 20.9 4.3 31.4 4.3 4.6 0 27.7-1.1 27.7-8v-60c0-2.6-2-4.6-4.6-4.6-5.1 0-15.1 4.3-24 4.3-9.7 0-20.9-4.3-32.6-4.3-8 0-16 1.1-23.7 2.9v-4.9c5.4-2.6 9.1-8.3 9.1-14.3 0-20.7-31.4-20.8-31.4 0 0 6 3.7 11.7 9.1 14.3v111.7c-3.7 0-11.7-1.4-11.7 4.6v32h-36.6v-32c0-2.6-2-4.6-4.6-4.6h-27.4c-2.6 0-4.6 2-4.6 4.6v32H128v-32c0-2.6-2-4.6-4.6-4.6H96c-2.6 0-4.6 2-4.6 4.6v178.3H54.8v-32c0-2.6-2-4.6-4.6-4.6H22.8c-2.6 0-4.6 2-4.6 4.6V512h182.9v-96c0-72.6 109.7-72.6 109.7 0v96h182.9V292.5c.1-2.6-1.9-4.6-4.5-4.6zm-288.1-4.5c0 2.6-2 4.6-4.6 4.6h-27.4c-2.6 0-4.6-2-4.6-4.6v-64c0-2.6 2-4.6 4.6-4.6h27.4c2.6 0 4.6 2 4.6 4.6v64zm146.4 0c0 2.6-2 4.6-4.6 4.6h-27.4c-2.6 0-4.6-2-4.6-4.6v-64c0-2.6 2-4.6 4.6-4.6h27.4c2.6 0 4.6 2 4.6 4.6v64z\"},\"child\":[]}]})(props);\n};\nexport function FaForumbee (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.8 309.7C2 292.7 0 275.5 0 258.3 0 135 99.8 35 223.1 35c16.6 0 33.3 2 49.3 5.5C149 87.5 51.9 186 5.8 309.7zm392.9-189.2C385 103 369 87.8 350.9 75.2c-149.6 44.3-266.3 162.1-309.7 312 12.5 18.1 28 35.6 45.2 49 43.1-151.3 161.2-271.7 312.3-315.7zm15.8 252.7c15.2-25.1 25.4-53.7 29.5-82.8-79.4 42.9-145 110.6-187.6 190.3 30-4.4 58.9-15.3 84.6-31.3 35 13.1 70.9 24.3 107 33.6-9.3-36.5-20.4-74.5-33.5-109.8zm29.7-145.5c-2.6-19.5-7.9-38.7-15.8-56.8C290.5 216.7 182 327.5 137.1 466c18.1 7.6 37 12.5 56.6 15.2C240 367.1 330.5 274.4 444.2 227.7z\"},\"child\":[]}]})(props);\n};\nexport function FaFoursquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 368 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M323.1 3H49.9C12.4 3 0 31.3 0 49.1v433.8c0 20.3 12.1 27.7 18.2 30.1 6.2 2.5 22.8 4.6 32.9-7.1C180 356.5 182.2 354 182.2 354c3.1-3.4 3.4-3.1 6.8-3.1h83.4c35.1 0 40.6-25.2 44.3-39.7l48.6-243C373.8 25.8 363.1 3 323.1 3zm-16.3 73.8l-11.4 59.7c-1.2 6.5-9.5 13.2-16.9 13.2H172.1c-12 0-20.6 8.3-20.6 20.3v13c0 12 8.6 20.6 20.6 20.6h90.4c8.3 0 16.6 9.2 14.8 18.2-1.8 8.9-10.5 53.8-11.4 58.8-.9 4.9-6.8 13.5-16.9 13.5h-73.5c-13.5 0-17.2 1.8-26.5 12.6 0 0-8.9 11.4-89.5 108.3-.9.9-1.8.6-1.8-.3V75.9c0-7.7 6.8-16.6 16.6-16.6h219c8.2 0 15.6 7.7 13.5 17.5z\"},\"child\":[]}]})(props);\n};\nexport function FaFreeCodeCamp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M97.22,96.21c10.36-10.65,16-17.12,16-21.9,0-2.76-1.92-5.51-3.83-7.42A14.81,14.81,0,0,0,101,64.05c-8.48,0-20.92,8.79-35.84,25.69C23.68,137,2.51,182.81,3.37,250.34s17.47,117,54.06,161.87C76.22,435.86,90.62,448,100.9,448a13.55,13.55,0,0,0,8.37-3.84c1.91-2.76,3.81-5.63,3.81-8.38,0-5.63-3.86-12.2-13.2-20.55-44.45-42.33-67.32-97-67.48-165C32.25,188.8,54,137.83,97.22,96.21ZM239.47,420.07c.58.37.91.55.91.55Zm93.79.55.17-.13C333.24,420.62,333.17,420.67,333.26,420.62Zm3.13-158.18c-16.24-4.15,50.41-82.89-68.05-177.17,0,0,15.54,49.38-62.83,159.57-74.27,104.35,23.46,168.73,34,175.23-6.73-4.35-47.4-35.7,9.55-128.64,11-18.3,25.53-34.87,43.5-72.16,0,0,15.91,22.45,7.6,71.13C287.7,364,354,342.91,355,343.94c22.75,26.78-17.72,73.51-21.58,76.55,5.49-3.65,117.71-78,33-188.1C360.43,238.4,352.62,266.59,336.39,262.44ZM510.88,89.69C496,72.79,483.52,64,475,64a14.81,14.81,0,0,0-8.39,2.84c-1.91,1.91-3.83,4.66-3.83,7.42,0,4.78,5.6,11.26,16,21.9,43.23,41.61,65,92.59,64.82,154.06-.16,68-23,122.63-67.48,165-9.34,8.35-13.18,14.92-13.2,20.55,0,2.75,1.9,5.62,3.81,8.38A13.61,13.61,0,0,0,475.1,448c10.28,0,24.68-12.13,43.47-35.79,36.59-44.85,53.14-94.38,54.06-161.87S552.32,137,510.88,89.69Z\"},\"child\":[]}]})(props);\n};\nexport function FaFreebsd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M303.7 96.2c11.1-11.1 115.5-77 139.2-53.2 23.7 23.7-42.1 128.1-53.2 139.2-11.1 11.1-39.4.9-63.1-22.9-23.8-23.7-34.1-52-22.9-63.1zM109.9 68.1C73.6 47.5 22 24.6 5.6 41.1c-16.6 16.6 7.1 69.4 27.9 105.7 18.5-32.2 44.8-59.3 76.4-78.7zM406.7 174c3.3 11.3 2.7 20.7-2.7 26.1-20.3 20.3-87.5-27-109.3-70.1-18-32.3-11.1-53.4 14.9-48.7 5.7-3.6 12.3-7.6 19.6-11.6-29.8-15.5-63.6-24.3-99.5-24.3-119.1 0-215.6 96.5-215.6 215.6 0 119 96.5 215.6 215.6 215.6S445.3 380.1 445.3 261c0-38.4-10.1-74.5-27.7-105.8-3.9 7-7.6 13.3-10.9 18.8z\"},\"child\":[]}]})(props);\n};\nexport function FaFulcrum (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M95.75 164.14l-35.38 43.55L25 164.14l35.38-43.55zM144.23 0l-20.54 198.18L72.72 256l51 57.82L144.23 512V300.89L103.15 256l41.08-44.89zm79.67 164.14l35.38 43.55 35.38-43.55-35.38-43.55zm-48.48 47L216.5 256l-41.08 44.89V512L196 313.82 247 256l-51-57.82L175.42 0z\"},\"child\":[]}]})(props);\n};\nexport function FaGalacticRepublic (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 504C111.25 504 0 392.75 0 256S111.25 8 248 8s248 111.25 248 248-111.25 248-248 248zm0-479.47C120.37 24.53 16.53 128.37 16.53 256S120.37 487.47 248 487.47 479.47 383.63 479.47 256 375.63 24.53 248 24.53zm27.62 21.81v24.62a185.933 185.933 0 0 1 83.57 34.54l17.39-17.36c-28.75-22.06-63.3-36.89-100.96-41.8zm-55.37.07c-37.64 4.94-72.16 19.8-100.88 41.85l17.28 17.36h.08c24.07-17.84 52.55-30.06 83.52-34.67V46.41zm12.25 50.17v82.87c-10.04 2.03-19.42 5.94-27.67 11.42l-58.62-58.59-21.93 21.93 58.67 58.67c-5.47 8.23-9.45 17.59-11.47 27.62h-82.9v31h82.9c2.02 10.02 6.01 19.31 11.47 27.54l-58.67 58.69 21.93 21.93 58.62-58.62a77.873 77.873 0 0 0 27.67 11.47v82.9h31v-82.9c10.05-2.03 19.37-6.06 27.62-11.55l58.67 58.69 21.93-21.93-58.67-58.69c5.46-8.23 9.47-17.52 11.5-27.54h82.87v-31h-82.87c-2.02-10.02-6.03-19.38-11.5-27.62l58.67-58.67-21.93-21.93-58.67 58.67c-8.25-5.49-17.57-9.47-27.62-11.5V96.58h-31zm183.24 30.72l-17.36 17.36a186.337 186.337 0 0 1 34.67 83.67h24.62c-4.95-37.69-19.83-72.29-41.93-101.03zm-335.55.13c-22.06 28.72-36.91 63.26-41.85 100.91h24.65c4.6-30.96 16.76-59.45 34.59-83.52l-17.39-17.39zM38.34 283.67c4.92 37.64 19.75 72.18 41.8 100.9l17.36-17.39c-17.81-24.07-29.92-52.57-34.51-83.52H38.34zm394.7 0c-4.61 30.99-16.8 59.5-34.67 83.6l17.36 17.36c22.08-28.74 36.98-63.29 41.93-100.96h-24.62zM136.66 406.38l-17.36 17.36c28.73 22.09 63.3 36.98 100.96 41.93v-24.64c-30.99-4.63-59.53-16.79-83.6-34.65zm222.53.05c-24.09 17.84-52.58 30.08-83.57 34.67v24.57c37.67-4.92 72.21-19.79 100.96-41.85l-17.31-17.39h-.08z\"},\"child\":[]}]})(props);\n};\nexport function FaGalacticSenate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M249.86 33.48v26.07C236.28 80.17 226 168.14 225.39 274.9c11.74-15.62 19.13-33.33 19.13-48.24v-16.88c-.03-5.32.75-10.53 2.19-15.65.65-2.14 1.39-4.08 2.62-5.82 1.23-1.75 3.43-3.79 6.68-3.79 3.24 0 5.45 2.05 6.68 3.79 1.23 1.75 1.97 3.68 2.62 5.82 1.44 5.12 2.22 10.33 2.19 15.65v16.88c0 14.91 7.39 32.62 19.13 48.24-.63-106.76-10.91-194.73-24.49-215.35V33.48h-12.28zm-26.34 147.77c-9.52 2.15-18.7 5.19-27.46 9.08 8.9 16.12 9.76 32.64 1.71 37.29-8 4.62-21.85-4.23-31.36-19.82-11.58 8.79-21.88 19.32-30.56 31.09 14.73 9.62 22.89 22.92 18.32 30.66-4.54 7.7-20.03 7.14-35.47-.96-5.78 13.25-9.75 27.51-11.65 42.42 9.68.18 18.67 2.38 26.18 6.04 17.78-.3 32.77-1.96 40.49-4.22 5.55-26.35 23.02-48.23 46.32-59.51.73-25.55 1.88-49.67 3.48-72.07zm64.96 0c1.59 22.4 2.75 46.52 3.47 72.07 23.29 11.28 40.77 33.16 46.32 59.51 7.72 2.26 22.71 3.92 40.49 4.22 7.51-3.66 16.5-5.85 26.18-6.04-1.9-14.91-5.86-29.17-11.65-42.42-15.44 8.1-30.93 8.66-35.47.96-4.57-7.74 3.6-21.05 18.32-30.66-8.68-11.77-18.98-22.3-30.56-31.09-9.51 15.59-23.36 24.44-31.36 19.82-8.05-4.65-7.19-21.16 1.71-37.29a147.49 147.49 0 0 0-27.45-9.08zm-32.48 8.6c-3.23 0-5.86 8.81-6.09 19.93h-.05v16.88c0 41.42-49.01 95.04-93.49 95.04-52 0-122.75-1.45-156.37 29.17v2.51c9.42 17.12 20.58 33.17 33.18 47.97C45.7 380.26 84.77 360.4 141.2 360c45.68 1.02 79.03 20.33 90.76 40.87.01.01-.01.04 0 .05 7.67 2.14 15.85 3.23 24.04 3.21 8.19.02 16.37-1.07 24.04-3.21.01-.01-.01-.04 0-.05 11.74-20.54 45.08-39.85 90.76-40.87 56.43.39 95.49 20.26 108.02 41.35 12.6-14.8 23.76-30.86 33.18-47.97v-2.51c-33.61-30.62-104.37-29.17-156.37-29.17-44.48 0-93.49-53.62-93.49-95.04v-16.88h-.05c-.23-11.12-2.86-19.93-6.09-19.93zm0 96.59c22.42 0 40.6 18.18 40.6 40.6s-18.18 40.65-40.6 40.65-40.6-18.23-40.6-40.65c0-22.42 18.18-40.6 40.6-40.6zm0 7.64c-18.19 0-32.96 14.77-32.96 32.96S237.81 360 256 360s32.96-14.77 32.96-32.96-14.77-32.96-32.96-32.96zm0 6.14c14.81 0 26.82 12.01 26.82 26.82s-12.01 26.82-26.82 26.82-26.82-12.01-26.82-26.82 12.01-26.82 26.82-26.82zm-114.8 66.67c-10.19.07-21.6.36-30.5 1.66.43 4.42 1.51 18.63 7.11 29.76 9.11-2.56 18.36-3.9 27.62-3.9 41.28.94 71.48 34.35 78.26 74.47l.11 4.7c10.4 1.91 21.19 2.94 32.21 2.94 11.03 0 21.81-1.02 32.21-2.94l.11-4.7c6.78-40.12 36.98-73.53 78.26-74.47 9.26 0 18.51 1.34 27.62 3.9 5.6-11.13 6.68-25.34 7.11-29.76-8.9-1.3-20.32-1.58-30.5-1.66-18.76.42-35.19 4.17-48.61 9.67-12.54 16.03-29.16 30.03-49.58 33.07-.09.02-.17.04-.27.05-.05.01-.11.04-.16.05-5.24 1.07-10.63 1.6-16.19 1.6-5.55 0-10.95-.53-16.19-1.6-.05-.01-.11-.04-.16-.05-.1-.02-.17-.04-.27-.05-20.42-3.03-37.03-17.04-49.58-33.07-13.42-5.49-29.86-9.25-48.61-9.67z\"},\"child\":[]}]})(props);\n};\nexport function FaGetPocket (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M407.6 64h-367C18.5 64 0 82.5 0 104.6v135.2C0 364.5 99.7 464 224.2 464c124 0 223.8-99.5 223.8-224.2V104.6c0-22.4-17.7-40.6-40.4-40.6zm-162 268.5c-12.4 11.8-31.4 11.1-42.4 0C89.5 223.6 88.3 227.4 88.3 209.3c0-16.9 13.8-30.7 30.7-30.7 17 0 16.1 3.8 105.2 89.3 90.6-86.9 88.6-89.3 105.5-89.3 16.9 0 30.7 13.8 30.7 30.7 0 17.8-2.9 15.7-114.8 123.2z\"},\"child\":[]}]})(props);\n};\nexport function FaGgCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M257 8C120 8 9 119 9 256s111 248 248 248 248-111 248-248S394 8 257 8zm-49.5 374.8L81.8 257.1l125.7-125.7 35.2 35.4-24.2 24.2-11.1-11.1-77.2 77.2 77.2 77.2 26.6-26.6-53.1-52.9 24.4-24.4 77.2 77.2-75 75.2zm99-2.2l-35.2-35.2 24.1-24.4 11.1 11.1 77.2-77.2-77.2-77.2-26.5 26.5 53.1 52.9-24.4 24.4-77.2-77.2 75-75L432.2 255 306.5 380.6z\"},\"child\":[]}]})(props);\n};\nexport function FaGg (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M179.2 230.4l102.4 102.4-102.4 102.4L0 256 179.2 76.8l44.8 44.8-25.6 25.6-19.2-19.2-128 128 128 128 51.5-51.5-77.1-76.5 25.6-25.6zM332.8 76.8L230.4 179.2l102.4 102.4 25.6-25.6-77.1-76.5 51.5-51.5 128 128-128 128-19.2-19.2-25.6 25.6 44.8 44.8L512 256 332.8 76.8z\"},\"child\":[]}]})(props);\n};\nexport function FaGitAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M439.55 236.05L244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z\"},\"child\":[]}]})(props);\n};\nexport function FaGitSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M100.59 334.24c48.57 3.31 58.95 2.11 58.95 11.94 0 20-65.55 20.06-65.55 1.52.01-5.09 3.29-9.4 6.6-13.46zm27.95-116.64c-32.29 0-33.75 44.47-.75 44.47 32.51 0 31.71-44.47.75-44.47zM448 80v352a48 48 0 0 1-48 48H48a48 48 0 0 1-48-48V80a48 48 0 0 1 48-48h352a48 48 0 0 1 48 48zm-227 69.31c0 14.49 8.38 22.88 22.86 22.88 14.74 0 23.13-8.39 23.13-22.88S258.62 127 243.88 127c-14.48 0-22.88 7.84-22.88 22.31zM199.18 195h-49.55c-25-6.55-81.56-4.85-81.56 46.75 0 18.8 9.4 32 21.85 38.11C74.23 294.23 66.8 301 66.8 310.6c0 6.87 2.79 13.22 11.18 16.76-8.9 8.4-14 14.48-14 25.92C64 373.35 81.53 385 127.52 385c44.22 0 69.87-16.51 69.87-45.73 0-36.67-28.23-35.32-94.77-39.38l8.38-13.43c17 4.74 74.19 6.23 74.19-42.43 0-11.69-4.83-19.82-9.4-25.67l23.38-1.78zm84.34 109.84l-13-1.78c-3.82-.51-4.07-1-4.07-5.09V192.52h-52.6l-2.79 20.57c15.75 5.55 17 4.86 17 10.17V298c0 5.62-.31 4.58-17 6.87v20.06h72.42zM384 315l-6.87-22.37c-40.93 15.37-37.85-12.41-37.85-16.73v-60.72h37.85v-25.41h-35.82c-2.87 0-2 2.52-2-38.63h-24.18c-2.79 27.7-11.68 38.88-34 41.42v22.62c20.47 0 19.82-.85 19.82 2.54v66.57c0 28.72 11.43 40.91 41.67 40.91 14.45 0 30.45-4.83 41.38-10.2z\"},\"child\":[]}]})(props);\n};\nexport function FaGit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M216.29 158.39H137C97 147.9 6.51 150.63 6.51 233.18c0 30.09 15 51.23 35 61-25.1 23-37 33.85-37 49.21 0 11 4.47 21.14 17.89 26.81C8.13 383.61 0 393.35 0 411.65c0 32.11 28.05 50.82 101.63 50.82 70.75 0 111.79-26.42 111.79-73.18 0-58.66-45.16-56.5-151.63-63l13.43-21.55c27.27 7.58 118.7 10 118.7-67.89 0-18.7-7.73-31.71-15-41.07l37.41-2.84zm-63.42 241.9c0 32.06-104.89 32.1-104.89 2.43 0-8.14 5.27-15 10.57-21.54 77.71 5.3 94.32 3.37 94.32 19.11zm-50.81-134.58c-52.8 0-50.46-71.16 1.2-71.16 49.54 0 50.82 71.16-1.2 71.16zm133.3 100.51v-32.1c26.75-3.66 27.24-2 27.24-11V203.61c0-8.5-2.05-7.38-27.24-16.26l4.47-32.92H324v168.71c0 6.51.4 7.32 6.51 8.14l20.73 2.84v32.1zm52.45-244.31c-23.17 0-36.59-13.43-36.59-36.61s13.42-35.77 36.59-35.77c23.58 0 37 12.62 37 35.77s-13.42 36.61-37 36.61zM512 350.46c-17.49 8.53-43.1 16.26-66.28 16.26-48.38 0-66.67-19.5-66.67-65.46V194.75c0-5.42 1.05-4.06-31.71-4.06V154.5c35.78-4.07 50-22 54.47-66.27h38.63c0 65.83-1.34 61.81 3.26 61.81H501v40.65h-60.56v97.15c0 6.92-4.92 51.41 60.57 26.84z\"},\"child\":[]}]})(props);\n};\nexport function FaGithubAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 480 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M186.1 328.7c0 20.9-10.9 55.1-36.7 55.1s-36.7-34.2-36.7-55.1 10.9-55.1 36.7-55.1 36.7 34.2 36.7 55.1zM480 278.2c0 31.9-3.2 65.7-17.5 95-37.9 76.6-142.1 74.8-216.7 74.8-75.8 0-186.2 2.7-225.6-74.8-14.6-29-20.2-63.1-20.2-95 0-41.9 13.9-81.5 41.5-113.6-5.2-15.8-7.7-32.4-7.7-48.8 0-21.5 4.9-32.3 14.6-51.8 45.3 0 74.3 9 108.8 36 29-6.9 58.8-10 88.7-10 27 0 54.2 2.9 80.4 9.2 34-26.7 63-35.2 107.8-35.2 9.8 19.5 14.6 30.3 14.6 51.8 0 16.4-2.6 32.7-7.7 48.2 27.5 32.4 39 72.3 39 114.2zm-64.3 50.5c0-43.9-26.7-82.6-73.5-82.6-18.9 0-37 3.4-56 6-14.9 2.3-29.8 3.2-45.1 3.2-15.2 0-30.1-.9-45.1-3.2-18.7-2.6-37-6-56-6-46.8 0-73.5 38.7-73.5 82.6 0 87.8 80.4 101.3 150.4 101.3h48.2c70.3 0 150.6-13.4 150.6-101.3zm-82.6-55.1c-25.8 0-36.7 34.2-36.7 55.1s10.9 55.1 36.7 55.1 36.7-34.2 36.7-55.1-10.9-55.1-36.7-55.1z\"},\"child\":[]}]})(props);\n};\nexport function FaGithubSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM277.3 415.7c-8.4 1.5-11.5-3.7-11.5-8 0-5.4.2-33 .2-55.3 0-15.6-5.2-25.5-11.3-30.7 37-4.1 76-9.2 76-73.1 0-18.2-6.5-27.3-17.1-39 1.7-4.3 7.4-22-1.7-45-13.9-4.3-45.7 17.9-45.7 17.9-13.2-3.7-27.5-5.6-41.6-5.6-14.1 0-28.4 1.9-41.6 5.6 0 0-31.8-22.2-45.7-17.9-9.1 22.9-3.5 40.6-1.7 45-10.6 11.7-15.6 20.8-15.6 39 0 63.6 37.3 69 74.3 73.1-4.8 4.3-9.1 11.7-10.6 22.3-9.5 4.3-33.8 11.7-48.3-13.9-9.1-15.8-25.5-17.1-25.5-17.1-16.2-.2-1.1 10.2-1.1 10.2 10.8 5 18.4 24.2 18.4 24.2 9.7 29.7 56.1 19.7 56.1 19.7 0 13.9.2 36.5.2 40.6 0 4.3-3 9.5-11.5 8-66-22.1-112.2-84.9-112.2-158.3 0-91.8 70.2-161.5 162-161.5S388 165.6 388 257.4c.1 73.4-44.7 136.3-110.7 158.3zm-98.1-61.1c-1.9.4-3.7-.4-3.9-1.7-.2-1.5 1.1-2.8 3-3.2 1.9-.2 3.7.6 3.9 1.9.3 1.3-1 2.6-3 3zm-9.5-.9c0 1.3-1.5 2.4-3.5 2.4-2.2.2-3.7-.9-3.7-2.4 0-1.3 1.5-2.4 3.5-2.4 1.9-.2 3.7.9 3.7 2.4zm-13.7-1.1c-.4 1.3-2.4 1.9-4.1 1.3-1.9-.4-3.2-1.9-2.8-3.2.4-1.3 2.4-1.9 4.1-1.5 2 .6 3.3 2.1 2.8 3.4zm-12.3-5.4c-.9 1.1-2.8.9-4.3-.6-1.5-1.3-1.9-3.2-.9-4.1.9-1.1 2.8-.9 4.3.6 1.3 1.3 1.8 3.3.9 4.1zm-9.1-9.1c-.9.6-2.6 0-3.7-1.5s-1.1-3.2 0-3.9c1.1-.9 2.8-.2 3.7 1.3 1.1 1.5 1.1 3.3 0 4.1zm-6.5-9.7c-.9.9-2.4.4-3.5-.6-1.1-1.3-1.3-2.8-.4-3.5.9-.9 2.4-.4 3.5.6 1.1 1.3 1.3 2.8.4 3.5zm-6.7-7.4c-.4.9-1.7 1.1-2.8.4-1.3-.6-1.9-1.7-1.5-2.6.4-.6 1.5-.9 2.8-.4 1.3.7 1.9 1.8 1.5 2.6z\"},\"child\":[]}]})(props);\n};\nexport function FaGithub (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z\"},\"child\":[]}]})(props);\n};\nexport function FaGitkraken (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 592 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M565.7 118.1c-2.3-6.1-9.3-9.2-15.3-6.6-5.7 2.4-8.5 8.9-6.3 14.6 10.9 29 16.9 60.5 16.9 93.3 0 134.6-100.3 245.7-230.2 262.7V358.4c7.9-1.5 15.5-3.6 23-6.2v104c106.7-25.9 185.9-122.1 185.9-236.8 0-91.8-50.8-171.8-125.8-213.3-5.7-3.2-13-.9-15.9 5-2.7 5.5-.6 12.2 4.7 15.1 67.9 37.6 113.9 110 113.9 193.2 0 93.3-57.9 173.1-139.8 205.4v-92.2c14.2-4.5 24.9-17.7 24.9-33.5 0-13.1-6.8-24.4-17.3-30.5 8.3-79.5 44.5-58.6 44.5-83.9V170c0-38-87.9-161.8-129-164.7-2.5-.2-5-.2-7.6 0C251.1 8.3 163.2 132 163.2 170v14.8c0 25.3 36.3 4.3 44.5 83.9-10.6 6.1-17.3 17.4-17.3 30.5 0 15.8 10.6 29 24.8 33.5v92.2c-81.9-32.2-139.8-112-139.8-205.4 0-83.1 46-155.5 113.9-193.2 5.4-3 7.4-9.6 4.7-15.1-2.9-5.9-10.1-8.2-15.9-5-75 41.5-125.8 121.5-125.8 213.3 0 114.7 79.2 210.8 185.9 236.8v-104c7.6 2.5 15.1 4.6 23 6.2v123.7C131.4 465.2 31 354.1 31 219.5c0-32.8 6-64.3 16.9-93.3 2.2-5.8-.6-12.2-6.3-14.6-6-2.6-13 .4-15.3 6.6C14.5 149.7 8 183.8 8 219.5c0 155.1 122.6 281.6 276.3 287.8V361.4c6.8.4 15 .5 23.4 0v145.8C461.4 501.1 584 374.6 584 219.5c0-35.7-6.5-69.8-18.3-101.4zM365.9 275.5c13 0 23.7 10.5 23.7 23.7 0 13.1-10.6 23.7-23.7 23.7-13 0-23.7-10.5-23.7-23.7 0-13.1 10.6-23.7 23.7-23.7zm-139.8 47.3c-13.2 0-23.7-10.7-23.7-23.7s10.5-23.7 23.7-23.7c13.1 0 23.7 10.6 23.7 23.7 0 13-10.5 23.7-23.7 23.7z\"},\"child\":[]}]})(props);\n};\nexport function FaGitlab (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M105.2 24.9c-3.1-8.9-15.7-8.9-18.9 0L29.8 199.7h132c-.1 0-56.6-174.8-56.6-174.8zM.9 287.7c-2.6 8 .3 16.9 7.1 22l247.9 184-226.2-294zm160.8-88l94.3 294 94.3-294zm349.4 88l-28.8-88-226.3 294 247.9-184c6.9-5.1 9.7-14 7.2-22zM425.7 24.9c-3.1-8.9-15.7-8.9-18.9 0l-56.6 174.8h132z\"},\"child\":[]}]})(props);\n};\nexport function FaGitter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z\"},\"child\":[]}]})(props);\n};\nexport function FaGlideG (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M407.1 211.2c-3.5-1.4-11.6-3.8-15.4-3.8-37.1 0-62.2 16.8-93.5 34.5l-.9-.9c7-47.3 23.5-91.9 23.5-140.4C320.8 29.1 282.6 0 212.4 0 97.3 0 39 113.7 39 198.4 39 286.3 90.3 335 177.6 335c12 0 11-1 11 3.8-16.9 128.9-90.8 133.1-90.8 94.6 0-39.2 45-58.6 45.5-61-.3-12.2-47-27.6-58.9-27.6-33.9.1-52.4 51.2-52.4 79.3C32 476 64.8 512 117.5 512c77.4 0 134-77.8 151.4-145.4 15.1-60.5 11.2-63.3 19.7-67.6 32.2-16.2 57.5-27 93.8-27 17.8 0 30.5 3.7 58.9 8.4 2.9 0 6.7-2.9 6.7-5.8 0-8-33.4-60.5-40.9-63.4zm-175.3-84.4c-9.3 44.7-18.6 89.6-27.8 134.3-2.3 10.2-13.3 7.8-22 7.8-38.3 0-49-41.8-49-73.1 0-47 18-109.3 61.8-133.4 7-4.1 14.8-6.7 22.6-6.7 18.6 0 20 13.3 20 28.7-.1 14.3-2.7 28.5-5.6 42.4z\"},\"child\":[]}]})(props);\n};\nexport function FaGlide (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M252.8 148.6c0 8.8-1.6 17.7-3.4 26.4-5.8 27.8-11.6 55.8-17.3 83.6-1.4 6.3-8.3 4.9-13.7 4.9-23.8 0-30.5-26-30.5-45.5 0-29.3 11.2-68.1 38.5-83.1 4.3-2.5 9.2-4.2 14.1-4.2 11.4 0 12.3 8.3 12.3 17.9zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-64 187c0-5.1-20.8-37.7-25.5-39.5-2.2-.9-7.2-2.3-9.6-2.3-23.1 0-38.7 10.5-58.2 21.5l-.5-.5c4.3-29.4 14.6-57.2 14.6-87.4 0-44.6-23.8-62.7-67.5-62.7-71.7 0-108 70.8-108 123.5 0 54.7 32 85 86.3 85 7.5 0 6.9-.6 6.9 2.3-10.5 80.3-56.5 82.9-56.5 58.9 0-24.4 28-36.5 28.3-38-.2-7.6-29.3-17.2-36.7-17.2-21.1 0-32.7 33-32.7 50.6 0 32.3 20.4 54.7 53.3 54.7 48.2 0 83.4-49.7 94.3-91.7 9.4-37.7 7-39.4 12.3-42.1 20-10.1 35.8-16.8 58.4-16.8 11.1 0 19 2.3 36.7 5.2 1.8.1 4.1-1.7 4.1-3.5z\"},\"child\":[]}]})(props);\n};\nexport function FaGofore (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 400 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M324 319.8h-13.2v34.7c-24.5 23.1-56.3 35.8-89.9 35.8-73.2 0-132.4-60.2-132.4-134.4 0-74.1 59.2-134.4 132.4-134.4 35.3 0 68.6 14 93.6 39.4l62.3-63.3C335 55.3 279.7 32 220.7 32 98 32 0 132.6 0 256c0 122.5 97 224 220.7 224 63.2 0 124.5-26.2 171-82.5-2-27.6-13.4-77.7-67.7-77.7zm-12.1-112.5H205.6v89H324c33.5 0 60.5 15.1 76 41.8v-30.6c0-65.2-40.4-100.2-88.1-100.2z\"},\"child\":[]}]})(props);\n};\nexport function FaGoodreadsG (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M42.6 403.3h2.8c12.7 0 25.5 0 38.2.1 1.6 0 3.1-.4 3.6 2.1 7.1 34.9 30 54.6 62.9 63.9 26.9 7.6 54.1 7.8 81.3 1.8 33.8-7.4 56-28.3 68-60.4 8-21.5 10.7-43.8 11-66.5.1-5.8.3-47-.2-52.8l-.9-.3c-.8 1.5-1.7 2.9-2.5 4.4-22.1 43.1-61.3 67.4-105.4 69.1-103 4-169.4-57-172-176.2-.5-23.7 1.8-46.9 8.3-69.7C58.3 47.7 112.3.6 191.6 0c61.3-.4 101.5 38.7 116.2 70.3.5 1.1 1.3 2.3 2.4 1.9V10.6h44.3c0 280.3.1 332.2.1 332.2-.1 78.5-26.7 143.7-103 162.2-69.5 16.9-159 4.8-196-57.2-8-13.5-11.8-28.3-13-44.5zM188.9 36.5c-52.5-.5-108.5 40.7-115 133.8-4.1 59 14.8 122.2 71.5 148.6 27.6 12.9 74.3 15 108.3-8.7 47.6-33.2 62.7-97 54.8-154-9.7-71.1-47.8-120-119.6-119.7z\"},\"child\":[]}]})(props);\n};\nexport function FaGoodreads (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M299.9 191.2c5.1 37.3-4.7 79-35.9 100.7-22.3 15.5-52.8 14.1-70.8 5.7-37.1-17.3-49.5-58.6-46.8-97.2 4.3-60.9 40.9-87.9 75.3-87.5 46.9-.2 71.8 31.8 78.2 78.3zM448 88v336c0 30.9-25.1 56-56 56H56c-30.9 0-56-25.1-56-56V88c0-30.9 25.1-56 56-56h336c30.9 0 56 25.1 56 56zM330 313.2s-.1-34-.1-217.3h-29v40.3c-.8.3-1.2-.5-1.6-1.2-9.6-20.7-35.9-46.3-76-46-51.9.4-87.2 31.2-100.6 77.8-4.3 14.9-5.8 30.1-5.5 45.6 1.7 77.9 45.1 117.8 112.4 115.2 28.9-1.1 54.5-17 69-45.2.5-1 1.1-1.9 1.7-2.9.2.1.4.1.6.2.3 3.8.2 30.7.1 34.5-.2 14.8-2 29.5-7.2 43.5-7.8 21-22.3 34.7-44.5 39.5-17.8 3.9-35.6 3.8-53.2-1.2-21.5-6.1-36.5-19-41.1-41.8-.3-1.6-1.3-1.3-2.3-1.3h-26.8c.8 10.6 3.2 20.3 8.5 29.2 24.2 40.5 82.7 48.5 128.2 37.4 49.9-12.3 67.3-54.9 67.4-106.3z\"},\"child\":[]}]})(props);\n};\nexport function FaGoogleDrive (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M339 314.9L175.4 32h161.2l163.6 282.9H339zm-137.5 23.6L120.9 480h310.5L512 338.5H201.5zM154.1 67.4L0 338.5 80.6 480 237 208.8 154.1 67.4z\"},\"child\":[]}]})(props);\n};\nexport function FaGooglePay (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M105.72,215v41.25h57.1a49.66,49.66,0,0,1-21.14,32.6c-9.54,6.55-21.72,10.28-36,10.28-27.6,0-50.93-18.91-59.3-44.22a65.61,65.61,0,0,1,0-41l0,0c8.37-25.46,31.7-44.37,59.3-44.37a56.43,56.43,0,0,1,40.51,16.08L176.47,155a101.24,101.24,0,0,0-70.75-27.84,105.55,105.55,0,0,0-94.38,59.11,107.64,107.64,0,0,0,0,96.18v.15a105.41,105.41,0,0,0,94.38,59c28.47,0,52.55-9.53,70-25.91,20-18.61,31.41-46.15,31.41-78.91A133.76,133.76,0,0,0,205.38,215Zm389.41-4c-10.13-9.38-23.93-14.14-41.39-14.14-22.46,0-39.34,8.34-50.5,24.86l20.85,13.26q11.45-17,31.26-17a34.05,34.05,0,0,1,22.75,8.79A28.14,28.14,0,0,1,487.79,248v5.51c-9.1-5.07-20.55-7.75-34.64-7.75-16.44,0-29.65,3.88-39.49,11.77s-14.82,18.31-14.82,31.56a39.74,39.74,0,0,0,13.94,31.27c9.25,8.34,21,12.51,34.79,12.51,16.29,0,29.21-7.3,39-21.89h1v17.72h22.61V250C510.25,233.45,505.26,220.34,495.13,211ZM475.9,300.3a37.32,37.32,0,0,1-26.57,11.16A28.61,28.61,0,0,1,431,305.21a19.41,19.41,0,0,1-7.77-15.63c0-7,3.22-12.81,9.54-17.42s14.53-7,24.07-7C470,265,480.3,268,487.64,273.94,487.64,284.07,483.68,292.85,475.9,300.3Zm-93.65-142A55.71,55.71,0,0,0,341.74,142H279.07V328.74H302.7V253.1h39c16,0,29.5-5.36,40.51-15.93.88-.89,1.76-1.79,2.65-2.68A54.45,54.45,0,0,0,382.25,158.26Zm-16.58,62.23a30.65,30.65,0,0,1-23.34,9.68H302.7V165h39.63a32,32,0,0,1,22.6,9.23A33.18,33.18,0,0,1,365.67,220.49ZM614.31,201,577.77,292.7h-.45L539.9,201H514.21L566,320.55l-29.35,64.32H561L640,201Z\"},\"child\":[]}]})(props);\n};\nexport function FaGooglePlay (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M325.3 234.3L104.6 13l280.8 161.2-60.1 60.1zM47 0C34 6.8 25.3 19.2 25.3 35.3v441.3c0 16.1 8.7 28.5 21.7 35.3l256.6-256L47 0zm425.2 225.6l-58.9-34.1-65.7 64.5 65.7 64.5 60.1-34.1c18-14.3 18-46.5-1.2-60.8zM104.6 499l280.8-161.2-60.1-60.1L104.6 499z\"},\"child\":[]}]})(props);\n};\nexport function FaGooglePlusG (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M386.061 228.496c1.834 9.692 3.143 19.384 3.143 31.956C389.204 370.205 315.599 448 204.8 448c-106.084 0-192-85.915-192-192s85.916-192 192-192c51.864 0 95.083 18.859 128.611 50.292l-52.126 50.03c-14.145-13.621-39.028-29.599-76.485-29.599-65.484 0-118.92 54.221-118.92 121.277 0 67.056 53.436 121.277 118.92 121.277 75.961 0 104.513-54.745 108.965-82.773H204.8v-66.009h181.261zm185.406 6.437V179.2h-56.001v55.733h-55.733v56.001h55.733v55.733h56.001v-55.733H627.2v-56.001h-55.733z\"},\"child\":[]}]})(props);\n};\nexport function FaGooglePlusSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM164 356c-55.3 0-100-44.7-100-100s44.7-100 100-100c27 0 49.5 9.8 67 26.2l-27.1 26.1c-7.4-7.1-20.3-15.4-39.8-15.4-34.1 0-61.9 28.2-61.9 63.2 0 34.9 27.8 63.2 61.9 63.2 39.6 0 54.4-28.5 56.8-43.1H164v-34.4h94.4c1 5 1.6 10.1 1.6 16.6 0 57.1-38.3 97.6-96 97.6zm220-81.8h-29v29h-29.2v-29h-29V245h29v-29H355v29h29v29.2z\"},\"child\":[]}]})(props);\n};\nexport function FaGooglePlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256,8C119.1,8,8,119.1,8,256S119.1,504,256,504,504,392.9,504,256,392.9,8,256,8ZM185.3,380a124,124,0,0,1,0-248c31.3,0,60.1,11,83,32.3l-33.6,32.6c-13.2-12.9-31.3-19.1-49.4-19.1-42.9,0-77.2,35.5-77.2,78.1S142.3,334,185.3,334c32.6,0,64.9-19.1,70.1-53.3H185.3V238.1H302.2a109.2,109.2,0,0,1,1.9,20.7c0,70.8-47.5,121.2-118.8,121.2ZM415.5,273.8v35.5H380V273.8H344.5V238.3H380V202.8h35.5v35.5h35.2v35.5Z\"},\"child\":[]}]})(props);\n};\nexport function FaGoogleWallet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M156.8 126.8c37.6 60.6 64.2 113.1 84.3 162.5-8.3 33.8-18.8 66.5-31.3 98.3-13.2-52.3-26.5-101.3-56-148.5 6.5-36.4 2.3-73.6 3-112.3zM109.3 200H16.1c-6.5 0-10.5 7.5-6.5 12.7C51.8 267 81.3 330.5 101.3 400h103.5c-16.2-69.7-38.7-133.7-82.5-193.5-3-4-8-6.5-13-6.5zm47.8-88c68.5 108 130 234.5 138.2 368H409c-12-138-68.4-265-143.2-368H157.1zm251.8-68.5c-1.8-6.8-8.2-11.5-15.2-11.5h-88.3c-5.3 0-9 5-7.8 10.3 13.2 46.5 22.3 95.5 26.5 146 48.2 86.2 79.7 178.3 90.6 270.8 15.8-60.5 25.3-133.5 25.3-203 0-73.6-12.1-145.1-31.1-212.6z\"},\"child\":[]}]})(props);\n};\nexport function FaGoogle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 488 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M488 261.8C488 403.3 391.1 504 248 504 110.8 504 0 393.2 0 256S110.8 8 248 8c66.8 0 123 24.5 166.3 64.9l-67.5 64.9C258.5 52.6 94.3 116.6 94.3 256c0 86.5 69.1 156.6 153.7 156.6 98.2 0 135-70.4 140.8-106.9H248v-85.3h236.1c2.3 12.7 3.9 24.9 3.9 41.4z\"},\"child\":[]}]})(props);\n};\nexport function FaGratipay (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111.1 8 0 119.1 0 256s111.1 248 248 248 248-111.1 248-248S384.9 8 248 8zm114.6 226.4l-113 152.7-112.7-152.7c-8.7-11.9-19.1-50.4 13.6-72 28.1-18.1 54.6-4.2 68.5 11.9 15.9 17.9 46.6 16.9 61.7 0 13.9-16.1 40.4-30 68.1-11.9 32.9 21.6 22.6 60 13.8 72z\"},\"child\":[]}]})(props);\n};\nexport function FaGrav (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M301.1 212c4.4 4.4 4.4 11.9 0 16.3l-9.7 9.7c-4.4 4.7-11.9 4.7-16.6 0l-10.5-10.5c-4.4-4.7-4.4-11.9 0-16.6l9.7-9.7c4.4-4.4 11.9-4.4 16.6 0l10.5 10.8zm-30.2-19.7c3-3 3-7.8 0-10.5-2.8-3-7.5-3-10.5 0-2.8 2.8-2.8 7.5 0 10.5 3.1 2.8 7.8 2.8 10.5 0zm-26 5.3c-3 2.8-3 7.5 0 10.2 2.8 3 7.5 3 10.5 0 2.8-2.8 2.8-7.5 0-10.2-3-3-7.7-3-10.5 0zm72.5-13.3c-19.9-14.4-33.8-43.2-11.9-68.1 21.6-24.9 40.7-17.2 59.8.8 11.9 11.3 29.3 24.9 17.2 48.2-12.5 23.5-45.1 33.2-65.1 19.1zm47.7-44.5c-8.9-10-23.3 6.9-15.5 16.1 7.4 9 32.1 2.4 15.5-16.1zM504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-66.2 42.6c2.5-16.1-20.2-16.6-25.2-25.7-13.6-24.1-27.7-36.8-54.5-30.4 11.6-8 23.5-6.1 23.5-6.1.3-6.4 0-13-9.4-24.9 3.9-12.5.3-22.4.3-22.4 15.5-8.6 26.8-24.4 29.1-43.2 3.6-31-18.8-59.2-49.8-62.8-22.1-2.5-43.7 7.7-54.3 25.7-23.2 40.1 1.4 70.9 22.4 81.4-14.4-1.4-34.3-11.9-40.1-34.3-6.6-25.7 2.8-49.8 8.9-61.4 0 0-4.4-5.8-8-8.9 0 0-13.8 0-24.6 5.3 11.9-15.2 25.2-14.4 25.2-14.4 0-6.4-.6-14.9-3.6-21.6-5.4-11-23.8-12.9-31.7 2.8.1-.2.3-.4.4-.5-5 11.9-1.1 55.9 16.9 87.2-2.5 1.4-9.1 6.1-13 10-21.6 9.7-56.2 60.3-56.2 60.3-28.2 10.8-77.2 50.9-70.6 79.7.3 3 1.4 5.5 3 7.5-2.8 2.2-5.5 5-8.3 8.3-11.9 13.8-5.3 35.2 17.7 24.4 15.8-7.2 29.6-20.2 36.3-30.4 0 0-5.5-5-16.3-4.4 27.7-6.6 34.3-9.4 46.2-9.1 8 3.9 8-34.3 8-34.3 0-14.7-2.2-31-11.1-41.5 12.5 12.2 29.1 32.7 28 60.6-.8 18.3-15.2 23-15.2 23-9.1 16.6-43.2 65.9-30.4 106 0 0-9.7-14.9-10.2-22.1-17.4 19.4-46.5 52.3-24.6 64.5 26.6 14.7 108.8-88.6 126.2-142.3 34.6-20.8 55.4-47.3 63.9-65 22 43.5 95.3 94.5 101.1 59z\"},\"child\":[]}]})(props);\n};\nexport function FaGripfire (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M112.5 301.4c0-73.8 105.1-122.5 105.1-203 0-47.1-34-88-39.1-90.4.4 3.3.6 6.7.6 10C179.1 110.1 32 171.9 32 286.6c0 49.8 32.2 79.2 66.5 108.3 65.1 46.7 78.1 71.4 78.1 86.6 0 10.1-4.8 17-4.8 22.3 13.1-16.7 17.4-31.9 17.5-46.4 0-29.6-21.7-56.3-44.2-86.5-16-22.3-32.6-42.6-32.6-69.5zm205.3-39c-12.1-66.8-78-124.4-94.7-130.9l4 7.2c2.4 5.1 3.4 10.9 3.4 17.1 0 44.7-54.2 111.2-56.6 116.7-2.2 5.1-3.2 10.5-3.2 15.8 0 20.1 15.2 42.1 17.9 42.1 2.4 0 56.6-55.4 58.1-87.7 6.4 11.7 9.1 22.6 9.1 33.4 0 41.2-41.8 96.9-41.8 96.9 0 11.6 31.9 53.2 35.5 53.2 1 0 2.2-1.4 3.2-2.4 37.9-39.3 67.3-85 67.3-136.8 0-8-.7-16.2-2.2-24.6z\"},\"child\":[]}]})(props);\n};\nexport function FaGrunt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M61.3 189.3c-1.1 10 5.2 19.1 5.2 19.1.7-7.5 2.2-12.8 4-16.6.4 10.3 3.2 23.5 12.8 34.1 6.9 7.6 35.6 23.3 54.9 6.1 1 2.4 2.1 5.3 3 8.5 2.9 10.3-2.7 25.3-2.7 25.3s15.1-17.1 13.9-32.5c10.8-.5 21.4-8.4 21.1-19.5 0 0-18.9 10.4-35.5-8.8-9.7-11.2-40.9-42-83.1-31.8 4.3 1 8.9 2.4 13.5 4.1h-.1c-4.2 2-6.5 7.1-7 12zm28.3-1.8c19.5 11 37.4 25.7 44.9 37-5.7 3.3-21.7 10.4-38-1.7-10.3-7.6-9.8-26.2-6.9-35.3zm142.1 45.8c-1.2 15.5 13.9 32.5 13.9 32.5s-5.6-15-2.7-25.3c.9-3.2 2-6 3-8.5 19.3 17.3 48 1.5 54.8-6.1 9.6-10.6 12.3-23.8 12.8-34.1 1.8 3.8 3.4 9.1 4 16.6 0 0 6.4-9.1 5.2-19.1-.6-5-2.9-10-7-11.8h-.1c4.6-1.8 9.2-3.2 13.5-4.1-42.3-10.2-73.4 20.6-83.1 31.8-16.7 19.2-35.5 8.8-35.5 8.8-.2 10.9 10.4 18.9 21.2 19.3zm62.7-45.8c3 9.1 3.4 27.7-7 35.4-16.3 12.1-32.2 5-37.9 1.6 7.5-11.4 25.4-26 44.9-37zM160 418.5h-29.4c-5.5 0-8.2 1.6-9.5 2.9-1.9 2-2.2 4.7-.9 8.1 3.5 9.1 11.4 16.5 13.7 18.6 3.1 2.7 7.5 4.3 11.8 4.3 4.4 0 8.3-1.7 11-4.6 7.5-8.2 11.9-17.1 13-19.8.6-1.5 1.3-4.5-.9-6.8-1.8-1.8-4.7-2.7-8.8-2.7zm189.2-101.2c-2.4 17.9-13 33.8-24.6 43.7-3.1-22.7-3.7-55.5-3.7-62.4 0-14.7 9.5-24.5 12.2-26.1 2.5-1.5 5.4-3 8.3-4.6 18-9.6 40.4-21.6 40.4-43.7 0-16.2-9.3-23.2-15.4-27.8-.8-.6-1.5-1.1-2.2-1.7-2.1-1.7-3.7-3-4.3-4.4-4.4-9.8-3.6-34.2-1.7-37.6.6-.6 16.7-20.9 11.8-39.2-2-7.4-6.9-13.3-14.1-17-5.3-2.7-11.9-4.2-19.5-4.5-.1-2-.5-3.9-.9-5.9-.6-2.6-1.1-5.3-.9-8.1.4-4.7.8-9 2.2-11.3 8.4-13.3 28.8-17.6 29-17.6l12.3-2.4-8.1-9.5c-.1-.2-17.3-17.5-46.3-17.5-7.9 0-16 1.3-24.1 3.9-24.2 7.8-42.9 30.5-49.4 39.3-3.1-1-6.3-1.9-9.6-2.7-4.2-15.8 9-38.5 9-38.5s-13.6-3-33.7 15.2c-2.6-6.5-8.1-20.5-1.8-37.2C184.6 10.1 177.2 26 175 40.4c-7.6-5.4-6.7-23.1-7.2-27.6-7.5.9-29.2 21.9-28.2 48.3-2 .5-3.9 1.1-5.9 1.7-6.5-8.8-25.1-31.5-49.4-39.3-7.9-2.2-16-3.5-23.9-3.5-29 0-46.1 17.3-46.3 17.5L6 46.9l12.3 2.4c.2 0 20.6 4.3 29 17.6 1.4 2.2 1.8 6.6 2.2 11.3.2 2.8-.4 5.5-.9 8.1-.4 1.9-.8 3.9-.9 5.9-7.7.3-14.2 1.8-19.5 4.5-7.2 3.7-12.1 9.6-14.1 17-5 18.2 11.2 38.5 11.8 39.2 1.9 3.4 2.7 27.8-1.7 37.6-.6 1.4-2.2 2.7-4.3 4.4-.7.5-1.4 1.1-2.2 1.7-6.1 4.6-15.4 11.7-15.4 27.8 0 22.1 22.4 34.1 40.4 43.7 3 1.6 5.8 3.1 8.3 4.6 2.7 1.6 12.2 11.4 12.2 26.1 0 6.9-.6 39.7-3.7 62.4-11.6-9.9-22.2-25.9-24.6-43.8 0 0-29.2 22.6-20.6 70.8 5.2 29.5 23.2 46.1 47 54.7 8.8 19.1 29.4 45.7 67.3 49.6C143 504.3 163 512 192.2 512h.2c29.1 0 49.1-7.7 63.6-19.5 37.9-3.9 58.5-30.5 67.3-49.6 23.8-8.7 41.7-25.2 47-54.7 8.2-48.4-21.1-70.9-21.1-70.9zM305.7 37.7c5.6-1.8 11.6-2.7 17.7-2.7 11 0 19.9 3 24.7 5-3.1 1.4-6.4 3.2-9.7 5.3-2.4-.4-5.6-.8-9.2-.8-10.5 0-20.5 3.1-28.7 8.9-12.3 8.7-18 16.9-20.7 22.4-2.2-1.3-4.5-2.5-7.1-3.7-1.6-.8-3.1-1.5-4.7-2.2 6.1-9.1 19.9-26.5 37.7-32.2zm21 18.2c-.8 1-1.6 2.1-2.3 3.2-3.3 5.2-3.9 11.6-4.4 17.8-.5 6.4-1.1 12.5-4.4 17-4.2.8-8.1 1.7-11.5 2.7-2.3-3.1-5.6-7-10.5-11.2 1.4-4.8 5.5-16.1 13.5-22.5 5.6-4.3 12.2-6.7 19.6-7zM45.6 45.3c-3.3-2.2-6.6-4-9.7-5.3 4.8-2 13.7-5 24.7-5 6.1 0 12 .9 17.7 2.7 17.8 5.8 31.6 23.2 37.7 32.1-1.6.7-3.2 1.4-4.8 2.2-2.5 1.2-4.9 2.5-7.1 3.7-2.6-5.4-8.3-13.7-20.7-22.4-8.3-5.8-18.2-8.9-28.8-8.9-3.4.1-6.6.5-9 .9zm44.7 40.1c-4.9 4.2-8.3 8-10.5 11.2-3.4-.9-7.3-1.9-11.5-2.7C65 89.5 64.5 83.4 64 77c-.5-6.2-1.1-12.6-4.4-17.8-.7-1.1-1.5-2.2-2.3-3.2 7.4.3 14 2.6 19.5 7 8 6.3 12.1 17.6 13.5 22.4zM58.1 259.9c-2.7-1.6-5.6-3.1-8.4-4.6-14.9-8-30.2-16.3-30.2-30.5 0-11.1 4.3-14.6 8.9-18.2l.5-.4c.7-.6 1.4-1.2 2.2-1.8-.9 7.2-1.9 13.3-2.7 14.9 0 0 12.1-15 15.7-44.3 1.4-11.5-1.1-34.3-5.1-43 .2 4.9 0 9.8-.3 14.4-.4-.8-.8-1.6-1.3-2.2-3.2-4-11.8-17.5-9.4-26.6.9-3.5 3.1-6 6.7-7.8 3.8-1.9 8.8-2.9 15.1-2.9 12.3 0 25.9 3.7 32.9 6 25.1 8 55.4 30.9 64.1 37.7.2.2.4.3.4.3l5.6 3.9-3.5-5.8c-.2-.3-19.1-31.4-53.2-46.5 2-2.9 7.4-8.1 21.6-15.1 21.4-10.5 46.5-15.8 74.3-15.8 27.9 0 52.9 5.3 74.3 15.8 14.2 6.9 19.6 12.2 21.6 15.1-34 15.1-52.9 46.2-53.1 46.5l-3.5 5.8 5.6-3.9s.2-.1.4-.3c8.7-6.8 39-29.8 64.1-37.7 7-2.2 20.6-6 32.9-6 6.3 0 11.3 1 15.1 2.9 3.5 1.8 5.7 4.4 6.7 7.8 2.5 9.1-6.1 22.6-9.4 26.6-.5.6-.9 1.3-1.3 2.2-.3-4.6-.5-9.5-.3-14.4-4 8.8-6.5 31.5-5.1 43 3.6 29.3 15.7 44.3 15.7 44.3-.8-1.6-1.8-7.7-2.7-14.9.7.6 1.5 1.2 2.2 1.8l.5.4c4.6 3.7 8.9 7.1 8.9 18.2 0 14.2-15.4 22.5-30.2 30.5-2.9 1.5-5.7 3.1-8.4 4.6-8.7 5-18 16.7-19.1 34.2-.9 14.6.9 49.9 3.4 75.9-12.4 4.8-26.7 6.4-39.7 6.8-2-4.1-3.9-8.5-5.5-13.1-.7-2-19.6-51.1-26.4-62.2 5.5 39 17.5 73.7 23.5 89.6-3.5-.5-7.3-.7-11.7-.7h-117c-4.4 0-8.3.3-11.7.7 6-15.9 18.1-50.6 23.5-89.6-6.8 11.2-25.7 60.3-26.4 62.2-1.6 4.6-3.5 9-5.5 13.1-13-.4-27.2-2-39.7-6.8 2.5-26 4.3-61.2 3.4-75.9-.9-17.4-10.3-29.2-19-34.2zM34.8 404.6c-12.1-20-8.7-54.1-3.7-59.1 10.9 34.4 47.2 44.3 74.4 45.4-2.7 4.2-5.2 7.6-7 10l-1.4 1.4c-7.2 7.8-8.6 18.5-4.1 31.8-22.7-.1-46.3-9.8-58.2-29.5zm45.7 43.5c6 1.1 12.2 1.9 18.6 2.4 3.5 8 7.4 15.9 12.3 23.1-14.4-5.9-24.4-16-30.9-25.5zM192 498.2c-60.6-.1-78.3-45.8-84.9-64.7-3.7-10.5-3.4-18.2.9-23.1 2.9-3.3 9.5-7.2 24.6-7.2h118.8c15.1 0 21.8 3.9 24.6 7.2 4.2 4.8 4.5 12.6.9 23.1-6.6 18.8-24.3 64.6-84.9 64.7zm80.6-24.6c4.9-7.2 8.8-15.1 12.3-23.1 6.4-.5 12.6-1.3 18.6-2.4-6.5 9.5-16.5 19.6-30.9 25.5zm76.6-69c-12 19.7-35.6 29.3-58.1 29.7 4.5-13.3 3.1-24.1-4.1-31.8-.4-.5-.9-1-1.4-1.5-1.8-2.4-4.3-5.8-7-10 27.2-1.2 63.5-11 74.4-45.4 5 5 8.4 39.1-3.8 59zM191.9 187.7h.2c12.7-.1 27.2-17.8 27.2-17.8-9.9 6-18.8 8.1-27.3 8.3-8.5-.2-17.4-2.3-27.3-8.3 0 0 14.5 17.6 27.2 17.8zm61.7 230.7h-29.4c-4.2 0-7.2.9-8.9 2.7-2.2 2.3-1.5 5.2-.9 6.7 1 2.6 5.5 11.3 13 19.3 2.7 2.9 6.6 4.5 11 4.5s8.7-1.6 11.8-4.2c2.3-2 10.2-9.2 13.7-18.1 1.3-3.3 1-6-.9-7.9-1.3-1.3-4-2.9-9.4-3z\"},\"child\":[]}]})(props);\n};\nexport function FaGuilded (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M443.427,64H4.571c0,103.26,22.192,180.06,43.418,222.358C112.046,414.135,224,448,225.256,448a312.824,312.824,0,0,0,140.55-103.477c25.907-33.923,53.1-87.19,65.916-145.761H171.833c4.14,36.429,22.177,67.946,45.1,86.944h88.589c-17.012,28.213-48.186,54.4-80.456,69.482-31.232-13.259-69.09-46.544-96.548-98.362-26.726-53.833-27.092-105.883-27.092-105.883H437.573A625.91,625.91,0,0,0,443.427,64Z\"},\"child\":[]}]})(props);\n};\nexport function FaGulp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 256 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M209.8 391.1l-14.1 24.6-4.6 80.2c0 8.9-28.3 16.1-63.1 16.1s-63.1-7.2-63.1-16.1l-5.8-79.4-14.9-25.4c41.2 17.3 126 16.7 165.6 0zm-196-253.3l13.6 125.5c5.9-20 20.8-47 40-55.2 6.3-2.7 12.7-2.7 18.7.9 5.2 3 9.6 9.3 10.1 11.8 1.2 6.5-2 9.1-4.5 9.1-3 0-5.3-4.6-6.8-7.3-4.1-7.3-10.3-7.6-16.9-2.8-6.9 5-12.9 13.4-17.1 20.7-5.1 8.8-9.4 18.5-12 28.2-1.5 5.6-2.9 14.6-.6 19.9 1 2.2 2.5 3.6 4.9 3.6 5 0 12.3-6.6 15.8-10.1 4.5-4.5 10.3-11.5 12.5-16l5.2-15.5c2.6-6.8 9.9-5.6 9.9 0 0 10.2-3.7 13.6-10 34.7-5.8 19.5-7.6 25.8-7.6 25.8-.7 2.8-3.4 7.5-6.3 7.5-1.2 0-2.1-.4-2.6-1.2-1-1.4-.9-5.3-.8-6.3.2-3.2 6.3-22.2 7.3-25.2-2 2.2-4.1 4.4-6.4 6.6-5.4 5.1-14.1 11.8-21.5 11.8-3.4 0-5.6-.9-7.7-2.4l7.6 79.6c2 5 39.2 17.1 88.2 17.1 49.1 0 86.3-12.2 88.2-17.1l10.9-94.6c-5.7 5.2-12.3 11.6-19.6 14.8-5.4 2.3-17.4 3.8-17.4-5.7 0-5.2 9.1-14.8 14.4-21.5 1.4-1.7 4.7-5.9 4.7-8.1 0-2.9-6-2.2-11.7 2.5-3.2 2.7-6.2 6.3-8.7 9.7-4.3 6-6.6 11.2-8.5 15.5-6.2 14.2-4.1 8.6-9.1 22-5 13.3-4.2 11.8-5.2 14-.9 1.9-2.2 3.5-4 4.5-1.9 1-4.5.9-6.1-.3-.9-.6-1.3-1.9-1.3-3.7 0-.9.1-1.8.3-2.7 1.5-6.1 7.8-18.1 15-34.3 1.6-3.7 1-2.6.8-2.3-6.2 6-10.9 8.9-14.4 10.5-5.8 2.6-13 2.6-14.5-4.1-.1-.4-.1-.8-.2-1.2-11.8 9.2-24.3 11.7-20-8.1-4.6 8.2-12.6 14.9-22.4 14.9-4.1 0-7.1-1.4-8.6-5.1-2.3-5.5 1.3-14.9 4.6-23.8 1.7-4.5 4-9.9 7.1-16.2 1.6-3.4 4.2-5.4 7.6-4.5.6.2 1.1.4 1.6.7 2.6 1.8 1.6 4.5.3 7.2-3.8 7.5-7.1 13-9.3 20.8-.9 3.3-2 9 1.5 9 2.4 0 4.7-.8 6.9-2.4 4.6-3.4 8.3-8.5 11.1-13.5 2-3.6 4.4-8.3 5.6-12.3.5-1.7 1.1-3.3 1.8-4.8 1.1-2.5 2.6-5.1 5.2-5.1 1.3 0 2.4.5 3.2 1.5 1.7 2.2 1.3 4.5.4 6.9-2 5.6-4.7 10.6-6.9 16.7-1.3 3.5-2.7 8-2.7 11.7 0 3.4 3.7 2.6 6.8 1.2 2.4-1.1 4.8-2.8 6.8-4.5 1.2-4.9.9-3.8 26.4-68.2 1.3-3.3 3.7-4.7 6.1-4.7 1.2 0 2.2.4 3.2 1.1 1.7 1.3 1.7 4.1 1 6.2-.7 1.9-.6 1.3-4.5 10.5-5.2 12.1-8.6 20.8-13.2 31.9-1.9 4.6-7.7 18.9-8.7 22.3-.6 2.2-1.3 5.8 1 5.8 5.4 0 19.3-13.1 23.1-17 .2-.3.5-.4.9-.6.6-1.9 1.2-3.7 1.7-5.5 1.4-3.8 2.7-8.2 5.3-11.3.8-1 1.7-1.6 2.7-1.6 2.8 0 4.2 1.2 4.2 4 0 1.1-.7 5.1-1.1 6.2 1.4-1.5 2.9-3 4.5-4.5 15-13.9 25.7-6.8 25.7.2 0 7.4-8.9 17.7-13.8 23.4-1.6 1.9-4.9 5.4-5 6.4 0 1.3.9 1.8 2.2 1.8 2 0 6.4-3.5 8-4.7 5-3.9 11.8-9.9 16.6-14.1l14.8-136.8c-30.5 17.1-197.6 17.2-228.3.2zm229.7-8.5c0 21-231.2 21-231.2 0 0-8.8 51.8-15.9 115.6-15.9 9 0 17.8.1 26.3.4l12.6-48.7L228.1.6c1.4-1.4 5.8-.2 9.9 3.5s6.6 7.9 5.3 9.3l-.1.1L185.9 74l-10 40.7c39.9 2.6 67.6 8.1 67.6 14.6zm-69.4 4.6c0-.8-.9-1.5-2.5-2.1l-.2.8c0 1.3-5 2.4-11.1 2.4s-11.1-1.1-11.1-2.4c0-.1 0-.2.1-.3l.2-.7c-1.8.6-3 1.4-3 2.3 0 2.1 6.2 3.7 13.7 3.7 7.7.1 13.9-1.6 13.9-3.7z\"},\"child\":[]}]})(props);\n};\nexport function FaHackerNewsSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM21.2 229.2H21c.1-.1.2-.3.3-.4 0 .1 0 .3-.1.4zm218 53.9V384h-31.4V281.3L128 128h37.3c52.5 98.3 49.2 101.2 59.3 125.6 12.3-27 5.8-24.4 60.6-125.6H320l-80.8 155.1z\"},\"child\":[]}]})(props);\n};\nexport function FaHackerNews (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 32v448h448V32H0zm21.2 197.2H21c.1-.1.2-.3.3-.4 0 .1 0 .3-.1.4zm218 53.9V384h-31.4V281.3L128 128h37.3c52.5 98.3 49.2 101.2 59.3 125.6 12.3-27 5.8-24.4 60.6-125.6H320l-80.8 155.1z\"},\"child\":[]}]})(props);\n};\nexport function FaHackerrank (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M477.5 128C463 103.05 285.13 0 256.16 0S49.25 102.79 34.84 128s-14.49 230.8 0 256 192.38 128 221.32 128S463 409.08 477.49 384s14.51-231 .01-256zM316.13 414.22c-4 0-40.91-35.77-38-38.69.87-.87 6.26-1.48 17.55-1.83 0-26.23.59-68.59.94-86.32 0-2-.44-3.43-.44-5.85h-79.93c0 7.1-.46 36.2 1.37 72.88.23 4.54-1.58 6-5.74 5.94-10.13 0-20.27-.11-30.41-.08-4.1 0-5.87-1.53-5.74-6.11.92-33.44 3-84-.15-212.67v-3.17c-9.67-.35-16.38-1-17.26-1.84-2.92-2.92 34.54-38.69 38.49-38.69s41.17 35.78 38.27 38.69c-.87.87-7.9 1.49-16.77 1.84v3.16c-2.42 25.75-2 79.59-2.63 105.39h80.26c0-4.55.39-34.74-1.2-83.64-.1-3.39.95-5.17 4.21-5.2 11.07-.08 22.15-.13 33.23-.06 3.46 0 4.57 1.72 4.5 5.38C333 354.64 336 341.29 336 373.69c8.87.35 16.82 1 17.69 1.84 2.88 2.91-33.62 38.69-37.58 38.69z\"},\"child\":[]}]})(props);\n};\nexport function FaHips (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M251.6 157.6c0-1.9-.9-2.8-2.8-2.8h-40.9c-1.6 0-2.7 1.4-2.7 2.8v201.8c0 1.4 1.1 2.8 2.7 2.8h40.9c1.9 0 2.8-.9 2.8-2.8zM156.5 168c-16.1-11.8-36.3-17.9-60.3-18-18.1-.1-34.6 3.7-49.8 11.4V80.2c0-1.8-.9-2.7-2.8-2.7H2.7c-1.8 0-2.7.9-2.7 2.7v279.2c0 1.9.9 2.8 2.7 2.8h41c1.9 0 2.8-.9 2.8-2.8V223.3c0-.8-2.8-27 45.8-27 48.5 0 45.8 26.1 45.8 27v122.6c0 9 7.3 16.3 16.4 16.3h27.3c1.8 0 2.7-.9 2.7-2.8V223.3c0-23.4-9.3-41.8-28-55.3zm478.4 110.1c-6.8-15.7-18.4-27-34.9-34.1l-57.6-25.3c-8.6-3.6-9.2-11.2-2.6-16.1 7.4-5.5 44.3-13.9 84 6.8 1.7 1 4-.3 4-2.4v-44.7c0-1.3-.6-2.1-1.9-2.6-17.7-6.6-36.1-9.9-55.1-9.9-26.5 0-45.3 5.8-58.5 15.4-.5.4-28.4 20-22.7 53.7 3.4 19.6 15.8 34.2 37.2 43.6l53.6 23.5c11.6 5.1 15.2 13.3 12.2 21.2-3.7 9.1-13.2 13.6-36.5 13.6-24.3 0-44.7-8.9-58.4-19.1-2.1-1.4-4.4.2-4.4 2.3v34.4c0 10.4 4.9 17.3 14.6 20.7 15.6 5.5 31.6 8.2 48.2 8.2 12.7 0 25.8-1.2 36.3-4.3.7-.3 36-8.9 45.6-45.8 3.5-13.5 2.4-26.5-3.1-39.1zM376.2 149.8c-31.7 0-104.2 20.1-104.2 103.5v183.5c0 .8.6 2.7 2.7 2.7h40.9c1.9 0 2.8-.9 2.8-2.7V348c16.5 12.7 35.8 19.1 57.7 19.1 60.5 0 108.7-48.5 108.7-108.7.1-60.3-48.2-108.6-108.6-108.6zm0 170.9c-17.2 0-31.9-6.1-44-18.2-12.2-12.2-18.2-26.8-18.2-44 0-34.5 27.6-62.2 62.2-62.2 34.5 0 62.2 27.6 62.2 62.2.1 34.3-27.3 62.2-62.2 62.2zM228.3 72.5c-15.9 0-28.8 12.9-28.9 28.9 0 15.6 12.7 28.9 28.9 28.9s28.9-13.1 28.9-28.9c0-16.2-13-28.9-28.9-28.9z\"},\"child\":[]}]})(props);\n};\nexport function FaHireAHelper (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M443.1 0H71.9C67.9 37.3 37.4 67.8 0 71.7v371.5c37.4 4.9 66 32.4 71.9 68.8h372.2c3-36.4 32.5-65.8 67.9-69.8V71.7c-36.4-5.9-65-35.3-68.9-71.7zm-37 404.9c-36.3 0-18.8-2-55.1-2-35.8 0-21 2-56.1 2-5.9 0-4.9-8.2 0-9.8 22.8-7.6 22.9-10.2 24.6-12.8 10.4-15.6 5.9-83 5.9-113 0-5.3-6.4-12.8-13.8-12.8H200.4c-7.4 0-13.8 7.5-13.8 12.8 0 30-4.5 97.4 5.9 113 1.7 2.5 1.8 5.2 24.6 12.8 4.9 1.6 6 9.8 0 9.8-35.1 0-20.3-2-56.1-2-36.3 0-18.8 2-55.1 2-7.9 0-5.8-10.8 0-10.8 10.2-3.4 13.5-3.5 21.7-13.8 7.7-12.9 7.9-44.4 7.9-127.8V151.3c0-22.2-12.2-28.3-28.6-32.4-8.8-2.2-4-11.8 1-11.8 36.5 0 20.6 2 57.1 2 32.7 0 16.5-2 49.2-2 3.3 0 8.5 8.3 1 10.8-4.9 1.6-27.6 3.7-27.6 39.3 0 45.6-.2 55.8 1 68.8 0 1.3 2.3 12.8 12.8 12.8h109.2c10.5 0 12.8-11.5 12.8-12.8 1.2-13 1-23.2 1-68.8 0-35.6-22.7-37.7-27.6-39.3-7.5-2.5-2.3-10.8 1-10.8 32.7 0 16.5 2 49.2 2 36.5 0 20.6-2 57.1-2 4.9 0 9.9 9.6 1 11.8-16.4 4.1-28.6 10.3-28.6 32.4v101.2c0 83.4.1 114.9 7.9 127.8 8.2 10.2 11.4 10.4 21.7 13.8 5.8 0 7.8 10.8 0 10.8z\"},\"child\":[]}]})(props);\n};\nexport function FaHive (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M260.353,254.878,131.538,33.1a2.208,2.208,0,0,0-3.829.009L.3,254.887A2.234,2.234,0,0,0,.3,257.122L129.116,478.9a2.208,2.208,0,0,0,3.83-.009L260.358,257.113A2.239,2.239,0,0,0,260.353,254.878Zm39.078-25.713a2.19,2.19,0,0,0,1.9,1.111h66.509a2.226,2.226,0,0,0,1.9-3.341L259.115,33.111a2.187,2.187,0,0,0-1.9-1.111H190.707a2.226,2.226,0,0,0-1.9,3.341ZM511.7,254.886,384.9,33.112A2.2,2.2,0,0,0,382.99,32h-66.6a2.226,2.226,0,0,0-1.906,3.34L440.652,256,314.481,476.66a2.226,2.226,0,0,0,1.906,3.34h66.6a2.2,2.2,0,0,0,1.906-1.112L511.7,257.114A2.243,2.243,0,0,0,511.7,254.886ZM366.016,284.917H299.508a2.187,2.187,0,0,0-1.9,1.111l-108.8,190.631a2.226,2.226,0,0,0,1.9,3.341h66.509a2.187,2.187,0,0,0,1.9-1.111l108.8-190.631A2.226,2.226,0,0,0,366.016,284.917Z\"},\"child\":[]}]})(props);\n};\nexport function FaHooli (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M144.5 352l38.3.8c-13.2-4.6-26-10.2-38.3-16.8zm57.7-5.3v5.3l-19.4.8c36.5 12.5 69.9 14.2 94.7 7.2-19.9.2-45.8-2.6-75.3-13.3zm408.9-115.2c15.9 0 28.9-12.9 28.9-28.9s-12.9-24.5-28.9-24.5c-15.9 0-28.9 8.6-28.9 24.5s12.9 28.9 28.9 28.9zm-29 120.5H640V241.5h-57.9zm-73.7 0h57.9V156.7L508.4 184zm-31-119.4c-18.2-18.2-50.4-17.1-50.4-17.1s-32.3-1.1-50.4 17.1c-18.2 18.2-16.8 33.9-16.8 52.6s-1.4 34.3 16.8 52.5 50.4 17.1 50.4 17.1 32.3 1.1 50.4-17.1c18.2-18.2 16.8-33.8 16.8-52.5-.1-18.8 1.3-34.5-16.8-52.6zm-39.8 71.9c0 3.6-1.8 12.5-10.7 12.5s-10.7-8.9-10.7-12.5v-40.4c0-8.7 7.3-10.9 10.7-10.9s10.7 2.1 10.7 10.9zm-106.2-71.9c-18.2-18.2-50.4-17.1-50.4-17.1s-32.2-1.1-50.4 17.1c-1.9 1.9-3.7 3.9-5.3 6-38.2-29.6-72.5-46.5-102.1-61.1v-20.7l-22.5 10.6c-54.4-22.1-89-18.2-97.3.1 0 0-24.9 32.8 61.8 110.8V352h57.9v-28.6c-6.5-4.2-13-8.7-19.4-13.6-14.8-11.2-27.4-21.6-38.4-31.4v-31c13.1 14.7 30.5 31.4 53.4 50.3l4.5 3.6v-29.8c0-6.9 1.7-18.2 10.8-18.2s10.6 6.9 10.6 15V317c18 12.2 37.3 22.1 57.7 29.6v-93.9c0-18.7-13.4-37.4-40.6-37.4-15.8-.1-30.5 8.2-38.5 21.9v-54.3c41.9 20.9 83.9 46.5 99.9 58.3-10.2 14.6-9.3 28.1-9.3 43.7 0 18.7-1.4 34.3 16.8 52.5s50.4 17.1 50.4 17.1 32.3 1.1 50.4-17.1c18.2-18.2 16.7-33.8 16.7-52.5 0-18.5 1.5-34.2-16.7-52.3zM65.2 184v63.3c-48.7-54.5-38.9-76-35.2-79.1 13.5-11.4 37.5-8 64.4 2.1zm226.5 120.5c0 3.6-1.8 12.5-10.7 12.5s-10.7-8.9-10.7-12.5v-40.4c0-8.7 7.3-10.9 10.7-10.9s10.7 2.1 10.7 10.9z\"},\"child\":[]}]})(props);\n};\nexport function FaHornbill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M76.38 370.3a37.8 37.8 0 1 1-32.07-32.42c-78.28-111.35 52-190.53 52-190.53-5.86 43-8.24 91.16-8.24 91.16-67.31 41.49.93 64.06 39.81 72.87a140.38 140.38 0 0 0 131.66 91.94c1.92 0 3.77-.21 5.67-.28l.11 18.86c-99.22 1.39-158.7-29.14-188.94-51.6zm108-327.7A37.57 37.57 0 0 0 181 21.45a37.95 37.95 0 1 0-31.17 54.22c-22.55 29.91-53.83 89.57-52.42 190l21.84-.15c0-.9-.14-1.77-.14-2.68A140.42 140.42 0 0 1 207 132.71c8-37.71 30.7-114.3 73.8-44.29 0 0 48.14 2.38 91.18 8.24 0 0-77.84-128-187.59-54.06zm304.19 134.17a37.94 37.94 0 1 0-53.84-28.7C403 126.13 344.89 99 251.28 100.33l.14 22.5c2.7-.15 5.39-.41 8.14-.41a140.37 140.37 0 0 1 130.49 88.76c39.1 9 105.06 31.58 38.46 72.54 0 0-2.34 48.13-8.21 91.16 0 0 133.45-81.16 49-194.61a37.45 37.45 0 0 0 19.31-3.5zM374.06 436.24c21.43-32.46 46.42-89.69 45.14-179.66l-19.52.14c.08 2.06.3 4.07.3 6.15a140.34 140.34 0 0 1-91.39 131.45c-8.85 38.95-31.44 106.66-72.77 39.49 0 0-48.12-2.34-91.19-8.22 0 0 79.92 131.34 191.9 51a37.5 37.5 0 0 0 3.64 14 37.93 37.93 0 1 0 33.89-54.29z\"},\"child\":[]}]})(props);\n};\nexport function FaHotjar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M414.9 161.5C340.2 29 121.1 0 121.1 0S222.2 110.4 93 197.7C11.3 252.8-21 324.4 14 402.6c26.8 59.9 83.5 84.3 144.6 93.4-29.2-55.1-6.6-122.4-4.1-129.6 57.1 86.4 165 0 110.8-93.9 71 15.4 81.6 138.6 27.1 215.5 80.5-25.3 134.1-88.9 148.8-145.6 15.5-59.3 3.7-127.9-26.3-180.9z\"},\"child\":[]}]})(props);\n};\nexport function FaHouzz (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M275.9 330.7H171.3V480H17V32h109.5v104.5l305.1 85.6V480H275.9z\"},\"child\":[]}]})(props);\n};\nexport function FaHtml5 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 32l34.9 395.8L191.5 480l157.6-52.2L384 32H0zm308.2 127.9H124.4l4.1 49.4h175.6l-13.6 148.4-97.9 27v.3h-1.1l-98.7-27.3-6-75.8h47.7L138 320l53.5 14.5 53.7-14.5 6-62.2H84.3L71.5 112.2h241.1l-4.4 47.7z\"},\"child\":[]}]})(props);\n};\nexport function FaHubspot (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M267.4 211.6c-25.1 23.7-40.8 57.3-40.8 94.6 0 29.3 9.7 56.3 26 78L203.1 434c-4.4-1.6-9.1-2.5-14-2.5-10.8 0-20.9 4.2-28.5 11.8-7.6 7.6-11.8 17.8-11.8 28.6s4.2 20.9 11.8 28.5c7.6 7.6 17.8 11.6 28.5 11.6 10.8 0 20.9-3.9 28.6-11.6 7.6-7.6 11.8-17.8 11.8-28.5 0-4.2-.6-8.2-1.9-12.1l50-50.2c22 16.9 49.4 26.9 79.3 26.9 71.9 0 130-58.3 130-130.2 0-65.2-47.7-119.2-110.2-128.7V116c17.5-7.4 28.2-23.8 28.2-42.9 0-26.1-20.9-47.9-47-47.9S311.2 47 311.2 73.1c0 19.1 10.7 35.5 28.2 42.9v61.2c-15.2 2.1-29.6 6.7-42.7 13.6-27.6-20.9-117.5-85.7-168.9-124.8 1.2-4.4 2-9 2-13.8C129.8 23.4 106.3 0 77.4 0 48.6 0 25.2 23.4 25.2 52.2c0 28.9 23.4 52.3 52.2 52.3 9.8 0 18.9-2.9 26.8-7.6l163.2 114.7zm89.5 163.6c-38.1 0-69-30.9-69-69s30.9-69 69-69 69 30.9 69 69-30.9 69-69 69z\"},\"child\":[]}]})(props);\n};\nexport function FaIdeal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M125.61,165.48a49.07,49.07,0,1,0,49.06,49.06A49.08,49.08,0,0,0,125.61,165.48ZM86.15,425.84h78.94V285.32H86.15Zm151.46-211.6c0-20-10-22.53-18.74-22.53H204.82V237.5h14.05C228.62,237.5,237.61,234.69,237.61,214.24Zm201.69,46V168.93h22.75V237.5h33.69C486.5,113.08,388.61,86.19,299.67,86.19H204.84V169h14c25.6,0,41.5,17.35,41.5,45.26,0,28.81-15.52,46-41.5,46h-14V425.88h94.83c144.61,0,194.94-67.16,196.72-165.64Zm-109.75,0H273.3V169h54.43v22.73H296v10.58h30V225H296V237.5h33.51Zm74.66,0-5.16-17.67H369.31l-5.18,17.67H340.47L368,168.92h32.35l27.53,91.34ZM299.65,32H32V480H299.65c161.85,0,251-79.73,251-224.52C550.62,172,518,32,299.65,32Zm0,426.92H53.07V53.07H299.65c142.1,0,229.9,64.61,229.9,202.41C529.55,389.57,448.55,458.92,299.65,458.92Zm83.86-264.85L376,219.88H392.4l-7.52-25.81Z\"},\"child\":[]}]})(props);\n};\nexport function FaImdb (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM21.3 229.2H21c.1-.1.2-.3.3-.4zM97 319.8H64V192h33zm113.2 0h-28.7v-86.4l-11.6 86.4h-20.6l-12.2-84.5v84.5h-29V192h42.8c3.3 19.8 6 39.9 8.7 59.9l7.6-59.9h43zm11.4 0V192h24.6c17.6 0 44.7-1.6 49 20.9 1.7 7.6 1.4 16.3 1.4 24.4 0 88.5 11.1 82.6-75 82.5zm160.9-29.2c0 15.7-2.4 30.9-22.2 30.9-9 0-15.2-3-20.9-9.8l-1.9 8.1h-29.8V192h31.7v41.7c6-6.5 12-9.2 20.9-9.2 21.4 0 22.2 12.8 22.2 30.1zM265 229.9c0-9.7 1.6-16-10.3-16v83.7c12.2.3 10.3-8.7 10.3-18.4zm85.5 26.1c0-5.4 1.1-12.7-6.2-12.7-6 0-4.9 8.9-4.9 12.7 0 .6-1.1 39.6 1.1 44.7.8 1.6 2.2 2.4 3.8 2.4 7.8 0 6.2-9 6.2-14.4z\"},\"child\":[]}]})(props);\n};\nexport function FaInnosoft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M422.559,159.71a27.379,27.379,0,0,0-13.866-23.337,26.42,26.42,0,0,0-26.211.133L73.943,314.647V176.261a11.955,11.955,0,0,1,6.047-10.34L218.066,86.208a12.153,12.153,0,0,1,11.922.025l32.656,18.853L112.581,191.723v56L359.642,105.086,241.129,36.679c-10.992-6.129-22.3-6.255-33.8-.27l-164.6,95.026c-10.634,6.12-16.771,16.39-17.29,29.124l0,191.5c.17,10.135,5.08,18.672,13.474,23.428a27.037,27.037,0,0,0,26.736-.045L374.057,197.376V335.657a11.976,11.976,0,0,1-5.92,10.368L230.025,425.77a12.175,12.175,0,0,1-11.937.062l-32.723-18.9,150.051-86.627v-56L88.367,406.932l118.794,68.583a33.88,33.88,0,0,0,34.25-.327l164.527-94.995c10.746-6.631,16.649-17.118,16.624-29.528Z\"},\"child\":[]}]})(props);\n};\nexport function FaInstagramSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224,202.66A53.34,53.34,0,1,0,277.36,256,53.38,53.38,0,0,0,224,202.66Zm124.71-41a54,54,0,0,0-30.41-30.41c-21-8.29-71-6.43-94.3-6.43s-73.25-1.93-94.31,6.43a54,54,0,0,0-30.41,30.41c-8.28,21-6.43,71.05-6.43,94.33S91,329.26,99.32,350.33a54,54,0,0,0,30.41,30.41c21,8.29,71,6.43,94.31,6.43s73.24,1.93,94.3-6.43a54,54,0,0,0,30.41-30.41c8.35-21,6.43-71.05,6.43-94.33S357.1,182.74,348.75,161.67ZM224,338a82,82,0,1,1,82-82A81.9,81.9,0,0,1,224,338Zm85.38-148.3a19.14,19.14,0,1,1,19.13-19.14A19.1,19.1,0,0,1,309.42,189.74ZM400,32H48A48,48,0,0,0,0,80V432a48,48,0,0,0,48,48H400a48,48,0,0,0,48-48V80A48,48,0,0,0,400,32ZM382.88,322c-1.29,25.63-7.14,48.34-25.85,67s-41.4,24.63-67,25.85c-26.41,1.49-105.59,1.49-132,0-25.63-1.29-48.26-7.15-67-25.85s-24.63-41.42-25.85-67c-1.49-26.42-1.49-105.61,0-132,1.29-25.63,7.07-48.34,25.85-67s41.47-24.56,67-25.78c26.41-1.49,105.59-1.49,132,0,25.63,1.29,48.33,7.15,67,25.85s24.63,41.42,25.85,67.05C384.37,216.44,384.37,295.56,382.88,322Z\"},\"child\":[]}]})(props);\n};\nexport function FaInstagram (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z\"},\"child\":[]}]})(props);\n};\nexport function FaInstalod (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M153.384,480H387.113L502.554,275.765,204.229,333.211ZM504.726,240.078,387.113,32H155.669L360.23,267.9ZM124.386,48.809,7.274,256,123.236,461.154,225.627,165.561Z\"},\"child\":[]}]})(props);\n};\nexport function FaIntercom (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M392 32H56C25.1 32 0 57.1 0 88v336c0 30.9 25.1 56 56 56h336c30.9 0 56-25.1 56-56V88c0-30.9-25.1-56-56-56zm-108.3 82.1c0-19.8 29.9-19.8 29.9 0v199.5c0 19.8-29.9 19.8-29.9 0V114.1zm-74.6-7.5c0-19.8 29.9-19.8 29.9 0v216.5c0 19.8-29.9 19.8-29.9 0V106.6zm-74.7 7.5c0-19.8 29.9-19.8 29.9 0v199.5c0 19.8-29.9 19.8-29.9 0V114.1zM59.7 144c0-19.8 29.9-19.8 29.9 0v134.3c0 19.8-29.9 19.8-29.9 0V144zm323.4 227.8c-72.8 63-241.7 65.4-318.1 0-15-12.8 4.4-35.5 19.4-22.7 65.9 55.3 216.1 53.9 279.3 0 14.9-12.9 34.3 9.8 19.4 22.7zm5.2-93.5c0 19.8-29.9 19.8-29.9 0V144c0-19.8 29.9-19.8 29.9 0v134.3z\"},\"child\":[]}]})(props);\n};\nexport function FaInternetExplorer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M483.049 159.706c10.855-24.575 21.424-60.438 21.424-87.871 0-72.722-79.641-98.371-209.673-38.577-107.632-7.181-211.221 73.67-237.098 186.457 30.852-34.862 78.271-82.298 121.977-101.158C125.404 166.85 79.128 228.002 43.992 291.725 23.246 329.651 0 390.94 0 436.747c0 98.575 92.854 86.5 180.251 42.006 31.423 15.43 66.559 15.573 101.695 15.573 97.124 0 184.249-54.294 216.814-146.022H377.927c-52.509 88.593-196.819 52.996-196.819-47.436H509.9c6.407-43.581-1.655-95.715-26.851-141.162zM64.559 346.877c17.711 51.15 53.703 95.871 100.266 123.304-88.741 48.94-173.267 29.096-100.266-123.304zm115.977-108.873c2-55.151 50.276-94.871 103.98-94.871 53.418 0 101.981 39.72 103.981 94.871H180.536zm184.536-187.6c21.425-10.287 48.563-22.003 72.558-22.003 31.422 0 54.274 21.717 54.274 53.722 0 20.003-7.427 49.007-14.569 67.867-26.28-42.292-65.986-81.584-112.263-99.586z\"},\"child\":[]}]})(props);\n};\nexport function FaInvision (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M407.4 32H40.6C18.2 32 0 50.2 0 72.6v366.8C0 461.8 18.2 480 40.6 480h366.8c22.4 0 40.6-18.2 40.6-40.6V72.6c0-22.4-18.2-40.6-40.6-40.6zM176.1 145.6c.4 23.4-22.4 27.3-26.6 27.4-14.9 0-27.1-12-27.1-27 .1-35.2 53.1-35.5 53.7-.4zM332.8 377c-65.6 0-34.1-74-25-106.6 14.1-46.4-45.2-59-59.9.7l-25.8 103.3H177l8.1-32.5c-31.5 51.8-94.6 44.4-94.6-4.3.1-14.3.9-14 23-104.1H81.7l9.7-35.6h76.4c-33.6 133.7-32.6 126.9-32.9 138.2 0 20.9 40.9 13.5 57.4-23.2l19.8-79.4h-32.3l9.7-35.6h68.8l-8.9 40.5c40.5-75.5 127.9-47.8 101.8 38-14.2 51.1-14.6 50.7-14.9 58.8 0 15.5 17.5 22.6 31.8-16.9L386 325c-10.5 36.7-29.4 52-53.2 52z\"},\"child\":[]}]})(props);\n};\nexport function FaIoxhost (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M616 160h-67.3C511.2 70.7 422.9 8 320 8 183 8 72 119 72 256c0 16.4 1.6 32.5 4.7 48H24c-13.3 0-24 10.8-24 24 0 13.3 10.7 24 24 24h67.3c37.5 89.3 125.8 152 228.7 152 137 0 248-111 248-248 0-16.4-1.6-32.5-4.7-48H616c13.3 0 24-10.8 24-24 0-13.3-10.7-24-24-24zm-96 96c0 110.5-89.5 200-200 200-75.7 0-141.6-42-175.5-104H424c13.3 0 24-10.8 24-24 0-13.3-10.7-24-24-24H125.8c-3.8-15.4-5.8-31.4-5.8-48 0-110.5 89.5-200 200-200 75.7 0 141.6 42 175.5 104H216c-13.3 0-24 10.8-24 24 0 13.3 10.7 24 24 24h298.2c3.8 15.4 5.8 31.4 5.8 48zm-304-24h208c13.3 0 24 10.7 24 24 0 13.2-10.7 24-24 24H216c-13.3 0-24-10.7-24-24 0-13.2 10.7-24 24-24z\"},\"child\":[]}]})(props);\n};\nexport function FaItchIo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M71.92 34.77C50.2 47.67 7.4 96.84 7 109.73v21.34c0 27.06 25.29 50.84 48.25 50.84 27.57 0 50.54-22.85 50.54-50 0 27.12 22.18 50 49.76 50s49-22.85 49-50c0 27.12 23.59 50 51.16 50h.5c27.57 0 51.16-22.85 51.16-50 0 27.12 21.47 50 49 50s49.76-22.85 49.76-50c0 27.12 23 50 50.54 50 23 0 48.25-23.78 48.25-50.84v-21.34c-.4-12.9-43.2-62.07-64.92-75C372.56 32.4 325.76 32 256 32S91.14 33.1 71.92 34.77zm132.32 134.39c-22 38.4-77.9 38.71-99.85.25-13.17 23.14-43.17 32.07-56 27.66-3.87 40.15-13.67 237.13 17.73 269.15 80 18.67 302.08 18.12 379.76 0 31.65-32.27 21.32-232 17.75-269.15-12.92 4.44-42.88-4.6-56-27.66-22 38.52-77.85 38.1-99.85-.24-7.1 12.49-23.05 28.94-51.76 28.94a57.54 57.54 0 0 1-51.75-28.94zm-41.58 53.77c16.47 0 31.09 0 49.22 19.78a436.91 436.91 0 0 1 88.18 0C318.22 223 332.85 223 349.31 223c52.33 0 65.22 77.53 83.87 144.45 17.26 62.15-5.52 63.67-33.95 63.73-42.15-1.57-65.49-32.18-65.49-62.79-39.25 6.43-101.93 8.79-155.55 0 0 30.61-23.34 61.22-65.49 62.79-28.42-.06-51.2-1.58-33.94-63.73 18.67-67 31.56-144.45 83.88-144.45zM256 270.79s-44.38 40.77-52.35 55.21l29-1.17v25.32c0 1.55 21.34.16 23.33.16 11.65.54 23.31 1 23.31-.16v-25.28l29 1.17c-8-14.48-52.35-55.24-52.35-55.24z\"},\"child\":[]}]})(props);\n};\nexport function FaItunesNote (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M381.9 388.2c-6.4 27.4-27.2 42.8-55.1 48-24.5 4.5-44.9 5.6-64.5-10.2-23.9-20.1-24.2-53.4-2.7-74.4 17-16.2 40.9-19.5 76.8-25.8 6-1.1 11.2-2.5 15.6-7.4 6.4-7.2 4.4-4.1 4.4-163.2 0-11.2-5.5-14.3-17-12.3-8.2 1.4-185.7 34.6-185.7 34.6-10.2 2.2-13.4 5.2-13.4 16.7 0 234.7 1.1 223.9-2.5 239.5-4.2 18.2-15.4 31.9-30.2 39.5-16.8 9.3-47.2 13.4-63.4 10.4-43.2-8.1-58.4-58-29.1-86.6 17-16.2 40.9-19.5 76.8-25.8 6-1.1 11.2-2.5 15.6-7.4 10.1-11.5 1.8-256.6 5.2-270.2.8-5.2 3-9.6 7.1-12.9 4.2-3.5 11.8-5.5 13.4-5.5 204-38.2 228.9-43.1 232.4-43.1 11.5-.8 18.1 6 18.1 17.6.2 344.5 1.1 326-1.8 338.5z\"},\"child\":[]}]})(props);\n};\nexport function FaItunes (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M223.6 80.3C129 80.3 52.5 157 52.5 251.5S129 422.8 223.6 422.8s171.2-76.7 171.2-171.2c0-94.6-76.7-171.3-171.2-171.3zm79.4 240c-3.2 13.6-13.5 21.2-27.3 23.8-12.1 2.2-22.2 2.8-31.9-5-11.8-10-12-26.4-1.4-36.8 8.4-8 20.3-9.6 38-12.8 3-.5 5.6-1.2 7.7-3.7 3.2-3.6 2.2-2 2.2-80.8 0-5.6-2.7-7.1-8.4-6.1-4 .7-91.9 17.1-91.9 17.1-5 1.1-6.7 2.6-6.7 8.3 0 116.1.5 110.8-1.2 118.5-2.1 9-7.6 15.8-14.9 19.6-8.3 4.6-23.4 6.6-31.4 5.2-21.4-4-28.9-28.7-14.4-42.9 8.4-8 20.3-9.6 38-12.8 3-.5 5.6-1.2 7.7-3.7 5-5.7.9-127 2.6-133.7.4-2.6 1.5-4.8 3.5-6.4 2.1-1.7 5.8-2.7 6.7-2.7 101-19 113.3-21.4 115.1-21.4 5.7-.4 9 3 9 8.7-.1 170.6.4 161.4-1 167.6zM345.2 32H102.8C45.9 32 0 77.9 0 134.8v242.4C0 434.1 45.9 480 102.8 480h242.4c57 0 102.8-45.9 102.8-102.8V134.8C448 77.9 402.1 32 345.2 32zM223.6 444c-106.3 0-192.5-86.2-192.5-192.5S117.3 59 223.6 59s192.5 86.2 192.5 192.5S329.9 444 223.6 444z\"},\"child\":[]}]})(props);\n};\nexport function FaJava (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M277.74 312.9c9.8-6.7 23.4-12.5 23.4-12.5s-38.7 7-77.2 10.2c-47.1 3.9-97.7 4.7-123.1 1.3-60.1-8 33-30.1 33-30.1s-36.1-2.4-80.6 19c-52.5 25.4 130 37 224.5 12.1zm-85.4-32.1c-19-42.7-83.1-80.2 0-145.8C296 53.2 242.84 0 242.84 0c21.5 84.5-75.6 110.1-110.7 162.6-23.9 35.9 11.7 74.4 60.2 118.2zm114.6-176.2c.1 0-175.2 43.8-91.5 140.2 24.7 28.4-6.5 54-6.5 54s62.7-32.4 33.9-72.9c-26.9-37.8-47.5-56.6 64.1-121.3zm-6.1 270.5a12.19 12.19 0 0 1-2 2.6c128.3-33.7 81.1-118.9 19.8-97.3a17.33 17.33 0 0 0-8.2 6.3 70.45 70.45 0 0 1 11-3c31-6.5 75.5 41.5-20.6 91.4zM348 437.4s14.5 11.9-15.9 21.2c-57.9 17.5-240.8 22.8-291.6.7-18.3-7.9 16-19 26.8-21.3 11.2-2.4 17.7-2 17.7-2-20.3-14.3-131.3 28.1-56.4 40.2C232.84 509.4 401 461.3 348 437.4zM124.44 396c-78.7 22 47.9 67.4 148.1 24.5a185.89 185.89 0 0 1-28.2-13.8c-44.7 8.5-65.4 9.1-106 4.5-33.5-3.8-13.9-15.2-13.9-15.2zm179.8 97.2c-78.7 14.8-175.8 13.1-233.3 3.6 0-.1 11.8 9.7 72.4 13.6 92.2 5.9 233.8-3.3 237.1-46.9 0 0-6.4 16.5-76.2 29.7zM260.64 353c-59.2 11.4-93.5 11.1-136.8 6.6-33.5-3.5-11.6-19.7-11.6-19.7-86.8 28.8 48.2 61.4 169.5 25.9a60.37 60.37 0 0 1-21.1-12.8z\"},\"child\":[]}]})(props);\n};\nexport function FaJediOrder (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M398.5 373.6c95.9-122.1 17.2-233.1 17.2-233.1 45.4 85.8-41.4 170.5-41.4 170.5 105-171.5-60.5-271.5-60.5-271.5 96.9 72.7-10.1 190.7-10.1 190.7 85.8 158.4-68.6 230.1-68.6 230.1s-.4-16.9-2.2-85.7c4.3 4.5 34.5 36.2 34.5 36.2l-24.2-47.4 62.6-9.1-62.6-9.1 20.2-55.5-31.4 45.9c-2.2-87.7-7.8-305.1-7.9-306.9v-2.4 1-1 2.4c0 1-5.6 219-7.9 306.9l-31.4-45.9 20.2 55.5-62.6 9.1 62.6 9.1-24.2 47.4 34.5-36.2c-1.8 68.8-2.2 85.7-2.2 85.7s-154.4-71.7-68.6-230.1c0 0-107-118.1-10.1-190.7 0 0-165.5 99.9-60.5 271.5 0 0-86.8-84.8-41.4-170.5 0 0-78.7 111 17.2 233.1 0 0-26.2-16.1-49.4-77.7 0 0 16.9 183.3 222 185.7h4.1c205-2.4 222-185.7 222-185.7-23.6 61.5-49.9 77.7-49.9 77.7z\"},\"child\":[]}]})(props);\n};\nexport function FaJenkins (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M487.1 425c-1.4-11.2-19-23.1-28.2-31.9-5.1-5-29-23.1-30.4-29.9-1.4-6.6 9.7-21.5 13.3-28.9 5.1-10.7 8.8-23.7 11.3-32.6 18.8-66.1 20.7-156.9-6.2-211.2-10.2-20.6-38.6-49-56.4-62.5-42-31.7-119.6-35.3-170.1-16.6-14.1 5.2-27.8 9.8-40.1 17.1-33.1 19.4-68.3 32.5-78.1 71.6-24.2 10.8-31.5 41.8-30.3 77.8.2 7 4.1 15.8 2.7 22.4-.7 3.3-5.2 7.6-6.1 9.8-11.6 27.7-2.3 64 11.1 83.7 8.1 11.9 21.5 22.4 39.2 25.2.7 10.6 3.3 19.7 8.2 30.4 3.1 6.8 14.7 19 10.4 27.7-2.2 4.4-21 13.8-27.3 17.6C89 407.2 73.7 415 54.2 429c-12.6 9-32.3 10.2-29.2 31.1 2.1 14.1 10.1 31.6 14.7 45.8.7 2 1.4 4.1 2.1 6h422c4.9-15.3 9.7-30.9 14.6-47.2 3.4-11.4 10.2-27.8 8.7-39.7zM205.9 33.7c1.8-.5 3.4.7 4.9 2.4-.2 5.2-5.4 5.1-8.9 6.8-5.4 6.7-13.4 9.8-20 17.2-6.8 7.5-14.4 27.7-23.4 30-4.5 1.1-9.7-.8-13.6-.5-10.4.7-17.7 6-28.3 7.5 13.6-29.9 56.1-54 89.3-63.4zm-104.8 93.6c13.5-14.9 32.1-24.1 54.8-25.9 11.7 29.7-8.4 65-.9 97.6 2.3 9.9 10.2 25.4-2.4 25.7.3-28.3-34.8-46.3-61.3-29.6-1.8-21.5-4.9-51.7 9.8-67.8zm36.7 200.2c-1-4.1-2.7-12.9-2.3-15.1 1.6-8.7 17.1-12.5 11-24.7-11.3-.1-13.8 10.2-24.1 11.3-26.7 2.6-45.6-35.4-44.4-58.4 1-19.5 17.6-38.2 40.1-35.8 16 1.8 21.4 19.2 24.5 34.7 9.2.5 22.5-.4 26.9-7.6-.6-17.5-8.8-31.6-8.2-47.7 1-30.3 17.5-57.6 4.8-87.4 13.6-30.9 53.5-55.3 83.1-70 36.6-18.3 94.9-3.7 129.3 15.8 19.7 11.1 34.4 32.7 48.3 50.7-19.5-5.8-36.1 4.2-33.1 20.3 16.3-14.9 44.2-.2 52.5 16.4 7.9 15.8 7.8 39.3 9 62.8 2.9 57-10.4 115.9-39.1 157.1-7.7 11-14.1 23-24.9 30.6-26 18.2-65.4 34.7-99.2 23.4-44.7-15-65-44.8-89.5-78.8.7 18.7 13.8 34.1 26.8 48.4 11.3 12.5 25 26.6 39.7 32.4-12.3-2.9-31.1-3.8-36.2 7.2-28.6-1.9-55.1-4.8-68.7-24.2-10.6-15.4-21.4-41.4-26.3-61.4zm222 124.1c4.1-3 11.1-2.9 17.4-3.6-5.4-2.7-13-3.7-19.3-2.2-.1-4.2-2-6.8-3.2-10.2 10.6-3.8 35.5-28.5 49.6-20.3 6.7 3.9 9.5 26.2 10.1 37 .4 9-.8 18-4.5 22.8-18.8-.6-35.8-2.8-50.7-7 .9-6.1-1-12.1.6-16.5zm-17.2-20c-16.8.8-26-1.2-38.3-10.8.2-.8 1.4-.5 1.5-1.4 18 8 40.8-3.3 59-4.9-7.9 5.1-14.6 11.6-22.2 17.1zm-12.1 33.2c-1.6-9.4-3.5-12-2.8-20.2 25-16.6 29.7 28.6 2.8 20.2zM226 438.6c-11.6-.7-48.1-14-38.5-23.7 9.4 6.5 27.5 4.9 41.3 7.3.8 4.4-2.8 10.2-2.8 16.4zM57.7 497.1c-4.3-12.7-9.2-25.1-14.8-36.9 30.8-23.8 65.3-48.9 102.2-63.5 2.8-1.1 23.2 25.4 26.2 27.6 16.5 11.7 37 21 56.2 30.2 1.2 8.8 3.9 20.2 8.7 35.5.7 2.3 1.4 4.7 2.2 7.2H57.7zm240.6 5.7h-.8c.3-.2.5-.4.8-.5v.5zm7.5-5.7c2.1-1.4 4.3-2.8 6.4-4.3 1.1 1.4 2.2 2.8 3.2 4.3h-9.6zm15.1-24.7c-10.8 7.3-20.6 18.3-33.3 25.2-6 3.3-27 11.7-33.4 10.2-3.6-.8-3.9-5.3-5.4-9.5-3.1-9-10.1-23.4-10.8-37-.8-17.2-2.5-46 16-42.4 14.9 2.9 32.3 9.7 43.9 16.1 7.1 3.9 11.1 8.6 21.9 9.5-.1 1.4-.1 2.8-.2 4.3-5.9 3.9-15.3 3.8-21.8 7.1 9.5.4 17 2.7 23.5 5.9-.1 3.4-.3 7-.4 10.6zm53.4 24.7h-14c-.1-3.2-2.8-5.8-6.1-5.8s-5.9 2.6-6.1 5.8h-17.4c-2.8-4.4-5.7-8.6-8.9-12.5 2.1-2.2 4-4.7 6-6.9 9 3.7 14.8-4.9 21.7-4.2 7.9.8 14.2 11.7 25.4 11l-.6 12.6zm8.7 0c.2-4 .4-7.8.6-11.5 15.6-7.3 29 1.3 35.7 11.5H383zm83.4-37c-2.3 11.2-5.8 24-9.9 37.1-.2-.1-.4-.1-.6-.1H428c.6-1.1 1.2-2.2 1.9-3.3-2.6-6.1-9-8.7-10.9-15.5 12.1-22.7 6.5-93.4-24.2-78.5 4.3-6.3 15.6-11.5 20.8-19.3 13 10.4 20.8 20.3 33.2 31.4 6.8 6 20 13.3 21.4 23.1.8 5.5-2.6 18.9-3.8 25.1zM222.2 130.5c5.4-14.9 27.2-34.7 45-32 7.7 1.2 18 8.2 12.2 17.7-30.2-7-45.2 12.6-54.4 33.1-8.1-2-4.9-13.1-2.8-18.8zm184.1 63.1c8.2-3.6 22.4-.7 29.6-5.3-4.2-11.5-10.3-21.4-9.3-37.7.5 0 1 0 1.4.1 6.8 14.2 12.7 29.2 21.4 41.7-5.7 13.5-43.6 25.4-43.1 1.2zm20.4-43zm-117.2 45.7c-6.8-10.9-19-32.5-14.5-45.3 6.5 11.9 8.6 24.4 17.8 33.3 4.1 4 12.2 9 8.2 20.2-.9 2.7-7.8 8.6-11.7 9.7-14.4 4.3-47.9.9-36.6-17.1 11.9.7 27.9 7.8 36.8-.8zm27.3 70c3.8 6.6 1.4 18.7 12.1 20.6 20.2 3.4 43.6-12.3 58.1-17.8 9-15.2-.8-20.7-8.9-30.5-16.6-20-38.8-44.8-38-74.7 6.7-4.9 7.3 7.4 8.2 9.7 8.7 20.3 30.4 46.2 46.3 63.5 3.9 4.3 10.3 8.4 11 11.2 2.1 8.2-5.4 18-4.5 23.5-21.7 13.9-45.8 29.1-81.4 25.6-7.4-6.7-10.3-21.4-2.9-31.1zm-201.3-9.2c-6.8-3.9-8.4-21-16.4-21.4-11.4-.7-9.3 22.2-9.3 35.5-7.8-7.1-9.2-29.1-3.5-40.3-6.6-3.2-9.5 3.6-13.1 5.9 4.7-34.1 49.8-15.8 42.3 20.3zm299.6 28.8c-10.1 19.2-24.4 40.4-54 41-.6-6.2-1.1-15.6 0-19.4 22.7-2.2 36.6-13.7 54-21.6zm-141.9 12.4c18.9 9.9 53.6 11 79.3 10.2 1.4 5.6 1.3 12.6 1.4 19.4-33 1.8-72-6.4-80.7-29.6zm92.2 46.7c-1.7 4.3-5.3 9.3-9.8 11.1-12.1 4.9-45.6 8.7-62.4-.3-10.7-5.7-17.5-18.5-23.4-26-2.8-3.6-16.9-12.9-.2-12.9 13.1 32.7 58 29 95.8 28.1z\"},\"child\":[]}]})(props);\n};\nexport function FaJira (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M490 241.7C417.1 169 320.6 71.8 248.5 0 83 164.9 6 241.7 6 241.7c-7.9 7.9-7.9 20.7 0 28.7C138.8 402.7 67.8 331.9 248.5 512c379.4-378 15.7-16.7 241.5-241.7 8-7.9 8-20.7 0-28.6zm-241.5 90l-76-75.7 76-75.7 76 75.7-76 75.7z\"},\"child\":[]}]})(props);\n};\nexport function FaJoget (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M378.1 45C337.6 19.9 292.6 8 248.2 8 165 8 83.8 49.9 36.9 125.9c-71.9 116.6-35.6 269.3 81 341.2s269.3 35.6 341.2-80.9c71.9-116.6 35.6-269.4-81-341.2zm51.8 323.2c-40.4 65.5-110.4 101.5-182 101.5-6.8 0-13.6-.4-20.4-1-9-13.6-19.9-33.3-23.7-42.4-5.7-13.7-27.2-45.6 31.2-67.1 51.7-19.1 176.7-16.5 208.8-17.6-4 9-8.6 17.9-13.9 26.6zm-200.8-86.3c-55.5-1.4-81.7-20.8-58.5-48.2s51.1-40.7 68.9-51.2c17.9-10.5 27.3-33.7-23.6-29.7C87.3 161.5 48.6 252.1 37.6 293c-8.8-49.7-.1-102.7 28.5-149.1C128 43.4 259.6 12.2 360.1 74.1c74.8 46.1 111.2 130.9 99.3 212.7-24.9-.5-179.3-3.6-230.3-4.9zm183.8-54.8c-22.7-6-57 11.3-86.7 27.2-29.7 15.8-31.1 8.2-31.1 8.2s40.2-28.1 50.7-34.5 31.9-14 13.4-24.6c-3.2-1.8-6.7-2.7-10.4-2.7-17.8 0-41.5 18.7-67.5 35.6-31.5 20.5-65.3 31.3-65.3 31.3l169.5-1.6 46.5-23.4s3.6-9.5-19.1-15.5z\"},\"child\":[]}]})(props);\n};\nexport function FaJoomla (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.6 92.1C.6 58.8 27.4 32 60.4 32c30 0 54.5 21.9 59.2 50.2 32.6-7.6 67.1.6 96.5 30l-44.3 44.3c-20.5-20.5-42.6-16.3-55.4-3.5-14.3 14.3-14.3 37.9 0 52.2l99.5 99.5-44 44.3c-87.7-87.2-49.7-49.7-99.8-99.7-26.8-26.5-35-64.8-24.8-98.9C20.4 144.6.6 120.7.6 92.1zm129.5 116.4l44.3 44.3c10-10 89.7-89.7 99.7-99.8 14.3-14.3 37.6-14.3 51.9 0 12.8 12.8 17 35-3.5 55.4l44 44.3c31.2-31.2 38.5-67.6 28.9-101.2 29.2-4.1 51.9-29.2 51.9-59.5 0-33.2-26.8-60.1-59.8-60.1-30.3 0-55.4 22.5-59.5 51.6-33.8-9.9-71.7-1.5-98.3 25.1-18.3 19.1-71.1 71.5-99.6 99.9zm266.3 152.2c8.2-32.7-.9-68.5-26.3-93.9-11.8-12.2 5 4.7-99.5-99.7l-44.3 44.3 99.7 99.7c14.3 14.3 14.3 37.6 0 51.9-12.8 12.8-35 17-55.4-3.5l-44 44.3c27.6 30.2 68 38.8 102.7 28 5.5 27.4 29.7 48.1 58.9 48.1 33 0 59.8-26.8 59.8-60.1 0-30.2-22.5-55-51.6-59.1zm-84.3-53.1l-44-44.3c-87 86.4-50.4 50.4-99.7 99.8-14.3 14.3-37.6 14.3-51.9 0-13.1-13.4-16.9-35.3 3.2-55.4l-44-44.3c-30.2 30.2-38 65.2-29.5 98.3-26.7 6-46.2 29.9-46.2 58.2C0 453.2 26.8 480 59.8 480c28.6 0 52.5-19.8 58.6-46.7 32.7 8.2 68.5-.6 94.2-26 32.1-32 12.2-12.4 99.5-99.7z\"},\"child\":[]}]})(props);\n};\nexport function FaJsSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM243.8 381.4c0 43.6-25.6 63.5-62.9 63.5-33.7 0-53.2-17.4-63.2-38.5l34.3-20.7c6.6 11.7 12.6 21.6 27.1 21.6 13.8 0 22.6-5.4 22.6-26.5V237.7h42.1v143.7zm99.6 63.5c-39.1 0-64.4-18.6-76.7-43l34.3-19.8c9 14.7 20.8 25.6 41.5 25.6 17.4 0 28.6-8.7 28.6-20.8 0-14.4-11.4-19.5-30.7-28l-10.5-4.5c-30.4-12.9-50.5-29.2-50.5-63.5 0-31.6 24.1-55.6 61.6-55.6 26.8 0 46 9.3 59.8 33.7L368 290c-7.2-12.9-15-18-27.1-18-12.3 0-20.1 7.8-20.1 18 0 12.6 7.8 17.7 25.9 25.6l10.5 4.5c35.8 15.3 55.9 31 55.9 66.2 0 37.8-29.8 58.6-69.7 58.6z\"},\"child\":[]}]})(props);\n};\nexport function FaJs (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 32v448h448V32H0zm243.8 349.4c0 43.6-25.6 63.5-62.9 63.5-33.7 0-53.2-17.4-63.2-38.5l34.3-20.7c6.6 11.7 12.6 21.6 27.1 21.6 13.8 0 22.6-5.4 22.6-26.5V237.7h42.1v143.7zm99.6 63.5c-39.1 0-64.4-18.6-76.7-43l34.3-19.8c9 14.7 20.8 25.6 41.5 25.6 17.4 0 28.6-8.7 28.6-20.8 0-14.4-11.4-19.5-30.7-28l-10.5-4.5c-30.4-12.9-50.5-29.2-50.5-63.5 0-31.6 24.1-55.6 61.6-55.6 26.8 0 46 9.3 59.8 33.7L368 290c-7.2-12.9-15-18-27.1-18-12.3 0-20.1 7.8-20.1 18 0 12.6 7.8 17.7 25.9 25.6l10.5 4.5c35.8 15.3 55.9 31 55.9 66.2 0 37.8-29.8 58.6-69.7 58.6z\"},\"child\":[]}]})(props);\n};\nexport function FaJsfiddle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M510.634 237.462c-4.727-2.621-5.664-5.748-6.381-10.776-2.352-16.488-3.539-33.619-9.097-49.095-35.895-99.957-153.99-143.386-246.849-91.646-27.37 15.25-48.971 36.369-65.493 63.903-3.184-1.508-5.458-2.71-7.824-3.686-30.102-12.421-59.049-10.121-85.331 9.167-25.531 18.737-36.422 44.548-32.676 76.408.355 3.025-1.967 7.621-4.514 9.545-39.712 29.992-56.031 78.065-41.902 124.615 13.831 45.569 57.514 79.796 105.608 81.433 30.291 1.031 60.637.546 90.959.539 84.041-.021 168.09.531 252.12-.48 52.664-.634 96.108-36.873 108.212-87.293 11.54-48.074-11.144-97.3-56.832-122.634zm21.107 156.88c-18.23 22.432-42.343 35.253-71.28 35.65-56.874.781-113.767.23-170.652.23 0 .7-163.028.159-163.728.154-43.861-.332-76.739-19.766-95.175-59.995-18.902-41.245-4.004-90.848 34.186-116.106 9.182-6.073 12.505-11.566 10.096-23.136-5.49-26.361 4.453-47.956 26.42-62.981 22.987-15.723 47.422-16.146 72.034-3.083 10.269 5.45 14.607 11.564 22.198-2.527 14.222-26.399 34.557-46.727 60.671-61.294 97.46-54.366 228.37 7.568 230.24 132.697.122 8.15 2.412 12.428 9.848 15.894 57.56 26.829 74.456 96.122 35.142 144.497zm-87.789-80.499c-5.848 31.157-34.622 55.096-66.666 55.095-16.953-.001-32.058-6.545-44.079-17.705-27.697-25.713-71.141-74.98-95.937-93.387-20.056-14.888-41.99-12.333-60.272 3.782-49.996 44.071 15.859 121.775 67.063 77.188 4.548-3.96 7.84-9.543 12.744-12.844 8.184-5.509 20.766-.884 13.168 10.622-17.358 26.284-49.33 38.197-78.863 29.301-28.897-8.704-48.84-35.968-48.626-70.179 1.225-22.485 12.364-43.06 35.414-55.965 22.575-12.638 46.369-13.146 66.991 2.474C295.68 280.7 320.467 323.97 352.185 343.47c24.558 15.099 54.254 7.363 68.823-17.506 28.83-49.209-34.592-105.016-78.868-63.46-3.989 3.744-6.917 8.932-11.41 11.72-10.975 6.811-17.333-4.113-12.809-10.353 20.703-28.554 50.464-40.44 83.271-28.214 31.429 11.714 49.108 44.366 42.76 78.186z\"},\"child\":[]}]})(props);\n};\nexport function FaKaggle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M304.2 501.5L158.4 320.3 298.2 185c2.6-2.7 1.7-10.5-5.3-10.5h-69.2c-3.5 0-7 1.8-10.5 5.3L80.9 313.5V7.5q0-7.5-7.5-7.5H21.5Q14 0 14 7.5v497q0 7.5 7.5 7.5h51.9q7.5 0 7.5-7.5v-109l30.8-29.3 110.5 140.6c3 3.5 6.5 5.3 10.5 5.3h66.9q5.25 0 6-3z\"},\"child\":[]}]})(props);\n};\nexport function FaKeybase (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M286.17 419a18 18 0 1 0 18 18 18 18 0 0 0-18-18zm111.92-147.6c-9.5-14.62-39.37-52.45-87.26-73.71q-9.1-4.06-18.38-7.27a78.43 78.43 0 0 0-47.88-104.13c-12.41-4.1-23.33-6-32.41-5.77-.6-2-1.89-11 9.4-35L198.66 32l-5.48 7.56c-8.69 12.06-16.92 23.55-24.34 34.89a51 51 0 0 0-8.29-1.25c-41.53-2.45-39-2.33-41.06-2.33-50.61 0-50.75 52.12-50.75 45.88l-2.36 36.68c-1.61 27 19.75 50.21 47.63 51.85l8.93.54a214 214 0 0 0-46.29 35.54C14 304.66 14 374 14 429.77v33.64l23.32-29.8a148.6 148.6 0 0 0 14.56 37.56c5.78 10.13 14.87 9.45 19.64 7.33 4.21-1.87 10-6.92 3.75-20.11a178.29 178.29 0 0 1-15.76-53.13l46.82-59.83-24.66 74.11c58.23-42.4 157.38-61.76 236.25-38.59 34.2 10.05 67.45.69 84.74-23.84.72-1 1.2-2.16 1.85-3.22a156.09 156.09 0 0 1 2.8 28.43c0 23.3-3.69 52.93-14.88 81.64-2.52 6.46 1.76 14.5 8.6 15.74 7.42 1.57 15.33-3.1 18.37-11.15C429 443 434 414 434 382.32c0-38.58-13-77.46-35.91-110.92zM142.37 128.58l-15.7-.93-1.39 21.79 13.13.78a93 93 0 0 0 .32 19.57l-22.38-1.34a12.28 12.28 0 0 1-11.76-12.79L107 119c1-12.17 13.87-11.27 13.26-11.32l29.11 1.73a144.35 144.35 0 0 0-7 19.17zm148.42 172.18a10.51 10.51 0 0 1-14.35-1.39l-9.68-11.49-34.42 27a8.09 8.09 0 0 1-11.13-1.08l-15.78-18.64a7.38 7.38 0 0 1 1.34-10.34l34.57-27.18-14.14-16.74-17.09 13.45a7.75 7.75 0 0 1-10.59-1s-3.72-4.42-3.8-4.53a7.38 7.38 0 0 1 1.37-10.34L214 225.19s-18.51-22-18.6-22.14a9.56 9.56 0 0 1 1.74-13.42 10.38 10.38 0 0 1 14.3 1.37l81.09 96.32a9.58 9.58 0 0 1-1.74 13.44zM187.44 419a18 18 0 1 0 18 18 18 18 0 0 0-18-18z\"},\"child\":[]}]})(props);\n};\nexport function FaKeycdn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M63.8 409.3l60.5-59c32.1 42.8 71.1 66 126.6 67.4 30.5.7 60.3-7 86.4-22.4 5.1 5.3 18.5 19.5 20.9 22-32.2 20.7-69.6 31.1-108.1 30.2-43.3-1.1-84.6-16.7-117.7-44.4.3-.6-38.2 37.5-38.6 37.9 9.5 29.8-13.1 62.4-46.3 62.4C20.7 503.3 0 481.7 0 454.9c0-34.3 33.1-56.6 63.8-45.6zm354.9-252.4c19.1 31.3 29.6 67.4 28.7 104-1.1 44.8-19 87.5-48.6 121 .3.3 23.8 25.2 24.1 25.5 9.6-1.3 19.2 2 25.9 9.1 11.3 12 10.9 30.9-1.1 42.4-12 11.3-30.9 10.9-42.4-1.1-6.7-7-9.4-16.8-7.6-26.3-24.9-26.6-44.4-47.2-44.4-47.2 42.7-34.1 63.3-79.6 64.4-124.2.7-28.9-7.2-57.2-21.1-82.2l22.1-21zM104 53.1c6.7 7 9.4 16.8 7.6 26.3l45.9 48.1c-4.7 3.8-13.3 10.4-22.8 21.3-25.4 28.5-39.6 64.8-40.7 102.9-.7 28.9 6.1 57.2 20 82.4l-22 21.5C72.7 324 63.1 287.9 64.2 250.9c1-44.6 18.3-87.6 47.5-121.1l-25.3-26.4c-9.6 1.3-19.2-2-25.9-9.1-11.3-12-10.9-30.9 1.1-42.4C73.5 40.7 92.2 41 104 53.1zM464.9 8c26 0 47.1 22.4 47.1 48.3S490.9 104 464.9 104c-6.3.1-14-1.1-15.9-1.8l-62.9 59.7c-32.7-43.6-76.7-65.9-126.9-67.2-30.5-.7-60.3 6.8-86.2 22.4l-21.1-22C184.1 74.3 221.5 64 260 64.9c43.3 1.1 84.6 16.7 117.7 44.6l41.1-38.6c-1.5-4.7-2.2-9.6-2.2-14.5C416.5 29.7 438.9 8 464.9 8zM256.7 113.4c5.5 0 10.9.4 16.4 1.1 78.1 9.8 133.4 81.1 123.8 159.1-9.8 78.1-81.1 133.4-159.1 123.8-78.1-9.8-133.4-81.1-123.8-159.2 9.3-72.4 70.1-124.6 142.7-124.8zm-59 119.4c.6 22.7 12.2 41.8 32.4 52.2l-11 51.7h73.7l-11-51.7c20.1-10.9 32.1-29 32.4-52.2-.4-32.8-25.8-57.5-58.3-58.3-32.1.8-57.3 24.8-58.2 58.3zM256 160\"},\"child\":[]}]})(props);\n};\nexport function FaKickstarterK (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M147.3 114.4c0-56.2-32.5-82.4-73.4-82.4C26.2 32 0 68.2 0 113.4v283c0 47.3 25.3 83.4 74.9 83.4 39.8 0 72.4-25.6 72.4-83.4v-76.5l112.1 138.3c22.7 27.2 72.1 30.7 103.2 0 27-27.6 27.3-67.4 7.4-92.2l-90.8-114.8 74.9-107.4c17.4-24.7 17.5-63.1-10.4-89.8-30.3-29-82.4-31.6-113.6 12.8L147.3 185v-70.6z\"},\"child\":[]}]})(props);\n};\nexport function FaKickstarter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 480H48c-26.4 0-48-21.6-48-48V80c0-26.4 21.6-48 48-48h352c26.4 0 48 21.6 48 48v352c0 26.4-21.6 48-48 48zM199.6 178.5c0-30.7-17.6-45.1-39.7-45.1-25.8 0-40 19.8-40 44.5v154.8c0 25.8 13.7 45.6 40.5 45.6 21.5 0 39.2-14 39.2-45.6v-41.8l60.6 75.7c12.3 14.9 39 16.8 55.8 0 14.6-15.1 14.8-36.8 4-50.4l-49.1-62.8 40.5-58.7c9.4-13.5 9.5-34.5-5.6-49.1-16.4-15.9-44.6-17.3-61.4 7l-44.8 64.7v-38.8z\"},\"child\":[]}]})(props);\n};\nexport function FaKorvue (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 446 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M386.5 34h-327C26.8 34 0 60.8 0 93.5v327.1C0 453.2 26.8 480 59.5 480h327.1c33 0 59.5-26.8 59.5-59.5v-327C446 60.8 419.2 34 386.5 34zM87.1 120.8h96v116l61.8-116h110.9l-81.2 132H87.1v-132zm161.8 272.1l-65.7-113.6v113.6h-96V262.1h191.5l88.6 130.8H248.9z\"},\"child\":[]}]})(props);\n};\nexport function FaLaravel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M504.4,115.83a5.72,5.72,0,0,0-.28-.68,8.52,8.52,0,0,0-.53-1.25,6,6,0,0,0-.54-.71,9.36,9.36,0,0,0-.72-.94c-.23-.22-.52-.4-.77-.6a8.84,8.84,0,0,0-.9-.68L404.4,55.55a8,8,0,0,0-8,0L300.12,111h0a8.07,8.07,0,0,0-.88.69,7.68,7.68,0,0,0-.78.6,8.23,8.23,0,0,0-.72.93c-.17.24-.39.45-.54.71a9.7,9.7,0,0,0-.52,1.25c-.08.23-.21.44-.28.68a8.08,8.08,0,0,0-.28,2.08V223.18l-80.22,46.19V63.44a7.8,7.8,0,0,0-.28-2.09c-.06-.24-.2-.45-.28-.68a8.35,8.35,0,0,0-.52-1.24c-.14-.26-.37-.47-.54-.72a9.36,9.36,0,0,0-.72-.94,9.46,9.46,0,0,0-.78-.6,9.8,9.8,0,0,0-.88-.68h0L115.61,1.07a8,8,0,0,0-8,0L11.34,56.49h0a6.52,6.52,0,0,0-.88.69,7.81,7.81,0,0,0-.79.6,8.15,8.15,0,0,0-.71.93c-.18.25-.4.46-.55.72a7.88,7.88,0,0,0-.51,1.24,6.46,6.46,0,0,0-.29.67,8.18,8.18,0,0,0-.28,2.1v329.7a8,8,0,0,0,4,6.95l192.5,110.84a8.83,8.83,0,0,0,1.33.54c.21.08.41.2.63.26a7.92,7.92,0,0,0,4.1,0c.2-.05.37-.16.55-.22a8.6,8.6,0,0,0,1.4-.58L404.4,400.09a8,8,0,0,0,4-6.95V287.88l92.24-53.11a8,8,0,0,0,4-7V117.92A8.63,8.63,0,0,0,504.4,115.83ZM111.6,17.28h0l80.19,46.15-80.2,46.18L31.41,63.44Zm88.25,60V278.6l-46.53,26.79-33.69,19.4V123.5l46.53-26.79Zm0,412.78L23.37,388.5V77.32L57.06,96.7l46.52,26.8V338.68a6.94,6.94,0,0,0,.12.9,8,8,0,0,0,.16,1.18h0a5.92,5.92,0,0,0,.38.9,6.38,6.38,0,0,0,.42,1v0a8.54,8.54,0,0,0,.6.78,7.62,7.62,0,0,0,.66.84l0,0c.23.22.52.38.77.58a8.93,8.93,0,0,0,.86.66l0,0,0,0,92.19,52.18Zm8-106.17-80.06-45.32,84.09-48.41,92.26-53.11,80.13,46.13-58.8,33.56Zm184.52,4.57L215.88,490.11V397.8L346.6,323.2l45.77-26.15Zm0-119.13L358.68,250l-46.53-26.79V131.79l33.69,19.4L392.37,178Zm8-105.28-80.2-46.17,80.2-46.16,80.18,46.15Zm8,105.28V178L455,151.19l33.68-19.4v91.39h0Z\"},\"child\":[]}]})(props);\n};\nexport function FaLastfmSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-92.2 312.9c-63.4 0-85.4-28.6-97.1-64.1-16.3-51-21.5-84.3-63-84.3-22.4 0-45.1 16.1-45.1 61.2 0 35.2 18 57.2 43.3 57.2 28.6 0 47.6-21.3 47.6-21.3l11.7 31.9s-19.8 19.4-61.2 19.4c-51.3 0-79.9-30.1-79.9-85.8 0-57.9 28.6-92 82.5-92 73.5 0 80.8 41.4 100.8 101.9 8.8 26.8 24.2 46.2 61.2 46.2 24.9 0 38.1-5.5 38.1-19.1 0-19.9-21.8-22-49.9-28.6-30.4-7.3-42.5-23.1-42.5-48 0-40 32.3-52.4 65.2-52.4 37.4 0 60.1 13.6 63 46.6l-36.7 4.4c-1.5-15.8-11-22.4-28.6-22.4-16.1 0-26 7.3-26 19.8 0 11 4.8 17.6 20.9 21.3 32.7 7.1 71.8 12 71.8 57.5.1 36.7-30.7 50.6-76.1 50.6z\"},\"child\":[]}]})(props);\n};\nexport function FaLastfm (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M225.8 367.1l-18.8-51s-30.5 34-76.2 34c-40.5 0-69.2-35.2-69.2-91.5 0-72.1 36.4-97.9 72.1-97.9 66.5 0 74.8 53.3 100.9 134.9 18.8 56.9 54 102.6 155.4 102.6 72.7 0 122-22.3 122-80.9 0-72.9-62.7-80.6-115-92.1-25.8-5.9-33.4-16.4-33.4-34 0-19.9 15.8-31.7 41.6-31.7 28.2 0 43.4 10.6 45.7 35.8l58.6-7c-4.7-52.8-41.1-74.5-100.9-74.5-52.8 0-104.4 19.9-104.4 83.9 0 39.9 19.4 65.1 68 76.8 44.9 10.6 79.8 13.8 79.8 45.7 0 21.7-21.1 30.5-61 30.5-59.2 0-83.9-31.1-97.9-73.9-32-96.8-43.6-163-161.3-163C45.7 113.8 0 168.3 0 261c0 89.1 45.7 137.2 127.9 137.2 66.2 0 97.9-31.1 97.9-31.1z\"},\"child\":[]}]})(props);\n};\nexport function FaLeanpub (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M386.539 111.485l15.096 248.955-10.979-.275c-36.232-.824-71.64 8.783-102.657 27.997-31.016-19.214-66.424-27.997-102.657-27.997-45.564 0-82.07 10.705-123.516 27.723L93.117 129.6c28.546-11.803 61.484-18.115 92.226-18.115 41.173 0 73.836 13.175 102.657 42.544 27.723-28.271 59.013-41.721 98.539-42.544zM569.07 448c-25.526 0-47.485-5.215-70.542-15.645-34.31-15.645-69.993-24.978-107.871-24.978-38.977 0-74.934 12.901-102.657 40.623-27.723-27.723-63.68-40.623-102.657-40.623-37.878 0-73.561 9.333-107.871 24.978C55.239 442.236 32.731 448 8.303 448H6.93L49.475 98.859C88.726 76.626 136.486 64 181.775 64 218.83 64 256.984 71.685 288 93.095 319.016 71.685 357.17 64 394.225 64c45.289 0 93.049 12.626 132.3 34.859L569.07 448zm-43.368-44.741l-34.036-280.246c-30.742-13.999-67.248-21.41-101.009-21.41-38.428 0-74.385 12.077-102.657 38.702-28.272-26.625-64.228-38.702-102.657-38.702-33.761 0-70.267 7.411-101.009 21.41L50.298 403.259c47.211-19.487 82.894-33.486 135.045-33.486 37.604 0 70.817 9.606 102.657 29.644 31.84-20.038 65.052-29.644 102.657-29.644 52.151 0 87.834 13.999 135.045 33.486z\"},\"child\":[]}]})(props);\n};\nexport function FaLess (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M612.7 219c0-20.5 3.2-32.6 3.2-54.6 0-34.2-12.6-45.2-40.5-45.2h-20.5v24.2h6.3c14.2 0 17.3 4.7 17.3 22.1 0 16.3-1.6 32.6-1.6 51.5 0 24.2 7.9 33.6 23.6 37.3v1.6c-15.8 3.7-23.6 13.1-23.6 37.3 0 18.9 1.6 34.2 1.6 51.5 0 17.9-3.7 22.6-17.3 22.6v.5h-6.3V393h20.5c27.8 0 40.5-11 40.5-45.2 0-22.6-3.2-34.2-3.2-54.6 0-11 6.8-22.6 27.3-23.6v-27.3c-20.5-.7-27.3-12.3-27.3-23.3zm-105.6 32c-15.8-6.3-30.5-10-30.5-20.5 0-7.9 6.3-12.6 17.9-12.6s22.1 4.7 33.6 13.1l21-27.8c-13.1-10-31-20.5-55.2-20.5-35.7 0-59.9 20.5-59.9 49.4 0 25.7 22.6 38.9 41.5 46.2 16.3 6.3 32.1 11.6 32.1 22.1 0 7.9-6.3 13.1-20.5 13.1-13.1 0-26.3-5.3-40.5-16.3l-21 30.5c15.8 13.1 39.9 22.1 59.9 22.1 42 0 64.6-22.1 64.6-51s-22.5-41-43-47.8zm-358.9 59.4c-3.7 0-8.4-3.2-8.4-13.1V119.1H65.2c-28.4 0-41 11-41 45.2 0 22.6 3.2 35.2 3.2 54.6 0 11-6.8 22.6-27.3 23.6v27.3c20.5.5 27.3 12.1 27.3 23.1 0 19.4-3.2 31-3.2 53.6 0 34.2 12.6 45.2 40.5 45.2h20.5v-24.2h-6.3c-13.1 0-17.3-5.3-17.3-22.6s1.6-32.1 1.6-51.5c0-24.2-7.9-33.6-23.6-37.3v-1.6c15.8-3.7 23.6-13.1 23.6-37.3 0-18.9-1.6-34.2-1.6-51.5s3.7-22.1 17.3-22.1H93v150.8c0 32.1 11 53.1 43.1 53.1 10 0 17.9-1.6 23.6-3.7l-5.3-34.2c-3.1.8-4.6.8-6.2.8zM379.9 251c-16.3-6.3-31-10-31-20.5 0-7.9 6.3-12.6 17.9-12.6 11.6 0 22.1 4.7 33.6 13.1l21-27.8c-13.1-10-31-20.5-55.2-20.5-35.7 0-59.9 20.5-59.9 49.4 0 25.7 22.6 38.9 41.5 46.2 16.3 6.3 32.1 11.6 32.1 22.1 0 7.9-6.3 13.1-20.5 13.1-13.1 0-26.3-5.3-40.5-16.3l-20.5 30.5c15.8 13.1 39.9 22.1 59.9 22.1 42 0 64.6-22.1 64.6-51 .1-28.9-22.5-41-43-47.8zm-155-68.8c-38.4 0-75.1 32.1-74.1 82.5 0 52 34.2 82.5 79.3 82.5 18.9 0 39.9-6.8 56.2-17.9l-15.8-27.8c-11.6 6.8-22.6 10-34.2 10-21 0-37.3-10-41.5-34.2H290c.5-3.7 1.6-11 1.6-19.4.6-42.6-22.6-75.7-66.7-75.7zm-30 66.2c3.2-21 15.8-31 30.5-31 18.9 0 26.3 13.1 26.3 31h-56.8z\"},\"child\":[]}]})(props);\n};\nexport function FaLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M272.1 204.2v71.1c0 1.8-1.4 3.2-3.2 3.2h-11.4c-1.1 0-2.1-.6-2.6-1.3l-32.6-44v42.2c0 1.8-1.4 3.2-3.2 3.2h-11.4c-1.8 0-3.2-1.4-3.2-3.2v-71.1c0-1.8 1.4-3.2 3.2-3.2H219c1 0 2.1.5 2.6 1.4l32.6 44v-42.2c0-1.8 1.4-3.2 3.2-3.2h11.4c1.8-.1 3.3 1.4 3.3 3.1zm-82-3.2h-11.4c-1.8 0-3.2 1.4-3.2 3.2v71.1c0 1.8 1.4 3.2 3.2 3.2h11.4c1.8 0 3.2-1.4 3.2-3.2v-71.1c0-1.7-1.4-3.2-3.2-3.2zm-27.5 59.6h-31.1v-56.4c0-1.8-1.4-3.2-3.2-3.2h-11.4c-1.8 0-3.2 1.4-3.2 3.2v71.1c0 .9.3 1.6.9 2.2.6.5 1.3.9 2.2.9h45.7c1.8 0 3.2-1.4 3.2-3.2v-11.4c0-1.7-1.4-3.2-3.1-3.2zM332.1 201h-45.7c-1.7 0-3.2 1.4-3.2 3.2v71.1c0 1.7 1.4 3.2 3.2 3.2h45.7c1.8 0 3.2-1.4 3.2-3.2v-11.4c0-1.8-1.4-3.2-3.2-3.2H301v-12h31.1c1.8 0 3.2-1.4 3.2-3.2V234c0-1.8-1.4-3.2-3.2-3.2H301v-12h31.1c1.8 0 3.2-1.4 3.2-3.2v-11.4c-.1-1.7-1.5-3.2-3.2-3.2zM448 113.7V399c-.1 44.8-36.8 81.1-81.7 81H81c-44.8-.1-81.1-36.9-81-81.7V113c.1-44.8 36.9-81.1 81.7-81H367c44.8.1 81.1 36.8 81 81.7zm-61.6 122.6c0-73-73.2-132.4-163.1-132.4-89.9 0-163.1 59.4-163.1 132.4 0 65.4 58 120.2 136.4 130.6 19.1 4.1 16.9 11.1 12.6 36.8-.7 4.1-3.3 16.1 14.1 8.8 17.4-7.3 93.9-55.3 128.2-94.7 23.6-26 34.9-52.3 34.9-81.5z\"},\"child\":[]}]})(props);\n};\nexport function FaLinkedinIn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M100.28 448H7.4V148.9h92.88zM53.79 108.1C24.09 108.1 0 83.5 0 53.8a53.79 53.79 0 0 1 107.58 0c0 29.7-24.1 54.3-53.79 54.3zM447.9 448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29 0-55.69 37.7-55.69 76.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5 42.69-48.3 87.88-48.3 94 0 111.28 61.9 111.28 142.3V448z\"},\"child\":[]}]})(props);\n};\nexport function FaLinkedin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z\"},\"child\":[]}]})(props);\n};\nexport function FaLinode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M437.4 226.3c-.3-.9-.9-1.4-1.4-2l-70-38.6c-.9-.6-2-.6-3.1 0l-58.9 36c-.9.6-1.4 1.7-1.4 2.6l-.9 31.4-24-16c-.9-.6-2.3-.6-3.1 0L240 260.9l-1.4-35.1c0-.9-.6-2-1.4-2.3l-36-24.3 33.7-17.4c1.1-.6 1.7-1.7 1.7-2.9l-5.7-132.3c0-.9-.9-2-1.7-2.6L138.6.3c-.9-.3-1.7-.3-2.3-.3L12.6 38.6c-1.4.6-2.3 2-2 3.7L38 175.4c.9 3.4 34 27.4 38.6 30.9l-26.9 12.9c-1.4.9-2 2.3-1.7 3.4l20.6 100.3c.6 2.9 23.7 23.1 27.1 26.3l-17.4 10.6c-.9.6-1.7 2-1.4 3.1 1.4 7.1 15.4 77.7 16.9 79.1l65.1 69.1c.6.6 1.4.6 2.3.9.6 0 1.1-.3 1.7-.6l83.7-66.9c.9-.6 1.1-1.4 1.1-2.3l-2-46 28 23.7c1.1.9 2.9.9 4 0l66.9-53.4c.9-.6 1.1-1.4 1.1-2.3l2.3-33.4 20.3 14c1.1.9 2.6.9 3.7 0l54.6-43.7c.6-.3 1.1-1.1 1.1-2 .9-6.5 10.3-70.8 9.7-72.8zm-204.8 4.8l4 92.6-90.6 61.2-14-96.6 100.6-57.2zm-7.7-180l5.4 126-106.6 55.4L104 97.7l120.9-46.6zM44 173.1L18 48l79.7 49.4 19.4 132.9L44 173.1zm30.6 147.8L55.7 230l70 58.3 13.7 93.4-64.8-60.8zm24.3 117.7l-13.7-67.1 61.7 60.9 9.7 67.4-57.7-61.2zm64.5 64.5l-10.6-70.9 85.7-61.4 3.1 70-78.2 62.3zm82-115.1c0-3.4.9-22.9-2-25.1l-24.3-20 22.3-14.9c2.3-1.7 1.1-5.7 1.1-8l29.4 22.6.6 68.3-27.1-22.9zm94.3-25.4l-60.9 48.6-.6-68.6 65.7-46.9-4.2 66.9zm27.7-25.7l-19.1-13.4 2-34c.3-.9-.3-2-1.1-2.6L308 259.7l.6-30 64.6 40.6-5.8 66.6zm54.6-39.8l-48.3 38.3 5.7-65.1 51.1-36.6-8.5 63.4z\"},\"child\":[]}]})(props);\n};\nexport function FaLinux (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M220.8 123.3c1 .5 1.8 1.7 3 1.7 1.1 0 2.8-.4 2.9-1.5.2-1.4-1.9-2.3-3.2-2.9-1.7-.7-3.9-1-5.5-.1-.4.2-.8.7-.6 1.1.3 1.3 2.3 1.1 3.4 1.7zm-21.9 1.7c1.2 0 2-1.2 3-1.7 1.1-.6 3.1-.4 3.5-1.6.2-.4-.2-.9-.6-1.1-1.6-.9-3.8-.6-5.5.1-1.3.6-3.4 1.5-3.2 2.9.1 1 1.8 1.5 2.8 1.4zM420 403.8c-3.6-4-5.3-11.6-7.2-19.7-1.8-8.1-3.9-16.8-10.5-22.4-1.3-1.1-2.6-2.1-4-2.9-1.3-.8-2.7-1.5-4.1-2 9.2-27.3 5.6-54.5-3.7-79.1-11.4-30.1-31.3-56.4-46.5-74.4-17.1-21.5-33.7-41.9-33.4-72C311.1 85.4 315.7.1 234.8 0 132.4-.2 158 103.4 156.9 135.2c-1.7 23.4-6.4 41.8-22.5 64.7-18.9 22.5-45.5 58.8-58.1 96.7-6 17.9-8.8 36.1-6.2 53.3-6.5 5.8-11.4 14.7-16.6 20.2-4.2 4.3-10.3 5.9-17 8.3s-14 6-18.5 14.5c-2.1 3.9-2.8 8.1-2.8 12.4 0 3.9.6 7.9 1.2 11.8 1.2 8.1 2.5 15.7.8 20.8-5.2 14.4-5.9 24.4-2.2 31.7 3.8 7.3 11.4 10.5 20.1 12.3 17.3 3.6 40.8 2.7 59.3 12.5 19.8 10.4 39.9 14.1 55.9 10.4 11.6-2.6 21.1-9.6 25.9-20.2 12.5-.1 26.3-5.4 48.3-6.6 14.9-1.2 33.6 5.3 55.1 4.1.6 2.3 1.4 4.6 2.5 6.7v.1c8.3 16.7 23.8 24.3 40.3 23 16.6-1.3 34.1-11 48.3-27.9 13.6-16.4 36-23.2 50.9-32.2 7.4-4.5 13.4-10.1 13.9-18.3.4-8.2-4.4-17.3-15.5-29.7zM223.7 87.3c9.8-22.2 34.2-21.8 44-.4 6.5 14.2 3.6 30.9-4.3 40.4-1.6-.8-5.9-2.6-12.6-4.9 1.1-1.2 3.1-2.7 3.9-4.6 4.8-11.8-.2-27-9.1-27.3-7.3-.5-13.9 10.8-11.8 23-4.1-2-9.4-3.5-13-4.4-1-6.9-.3-14.6 2.9-21.8zM183 75.8c10.1 0 20.8 14.2 19.1 33.5-3.5 1-7.1 2.5-10.2 4.6 1.2-8.9-3.3-20.1-9.6-19.6-8.4.7-9.8 21.2-1.8 28.1 1 .8 1.9-.2-5.9 5.5-15.6-14.6-10.5-52.1 8.4-52.1zm-13.6 60.7c6.2-4.6 13.6-10 14.1-10.5 4.7-4.4 13.5-14.2 27.9-14.2 7.1 0 15.6 2.3 25.9 8.9 6.3 4.1 11.3 4.4 22.6 9.3 8.4 3.5 13.7 9.7 10.5 18.2-2.6 7.1-11 14.4-22.7 18.1-11.1 3.6-19.8 16-38.2 14.9-3.9-.2-7-1-9.6-2.1-8-3.5-12.2-10.4-20-15-8.6-4.8-13.2-10.4-14.7-15.3-1.4-4.9 0-9 4.2-12.3zm3.3 334c-2.7 35.1-43.9 34.4-75.3 18-29.9-15.8-68.6-6.5-76.5-21.9-2.4-4.7-2.4-12.7 2.6-26.4v-.2c2.4-7.6.6-16-.6-23.9-1.2-7.8-1.8-15 .9-20 3.5-6.7 8.5-9.1 14.8-11.3 10.3-3.7 11.8-3.4 19.6-9.9 5.5-5.7 9.5-12.9 14.3-18 5.1-5.5 10-8.1 17.7-6.9 8.1 1.2 15.1 6.8 21.9 16l19.6 35.6c9.5 19.9 43.1 48.4 41 68.9zm-1.4-25.9c-4.1-6.6-9.6-13.6-14.4-19.6 7.1 0 14.2-2.2 16.7-8.9 2.3-6.2 0-14.9-7.4-24.9-13.5-18.2-38.3-32.5-38.3-32.5-13.5-8.4-21.1-18.7-24.6-29.9s-3-23.3-.3-35.2c5.2-22.9 18.6-45.2 27.2-59.2 2.3-1.7.8 3.2-8.7 20.8-8.5 16.1-24.4 53.3-2.6 82.4.6-20.7 5.5-41.8 13.8-61.5 12-27.4 37.3-74.9 39.3-112.7 1.1.8 4.6 3.2 6.2 4.1 4.6 2.7 8.1 6.7 12.6 10.3 12.4 10 28.5 9.2 42.4 1.2 6.2-3.5 11.2-7.5 15.9-9 9.9-3.1 17.8-8.6 22.3-15 7.7 30.4 25.7 74.3 37.2 95.7 6.1 11.4 18.3 35.5 23.6 64.6 3.3-.1 7 .4 10.9 1.4 13.8-35.7-11.7-74.2-23.3-84.9-4.7-4.6-4.9-6.6-2.6-6.5 12.6 11.2 29.2 33.7 35.2 59 2.8 11.6 3.3 23.7.4 35.7 16.4 6.8 35.9 17.9 30.7 34.8-2.2-.1-3.2 0-4.2 0 3.2-10.1-3.9-17.6-22.8-26.1-19.6-8.6-36-8.6-38.3 12.5-12.1 4.2-18.3 14.7-21.4 27.3-2.8 11.2-3.6 24.7-4.4 39.9-.5 7.7-3.6 18-6.8 29-32.1 22.9-76.7 32.9-114.3 7.2zm257.4-11.5c-.9 16.8-41.2 19.9-63.2 46.5-13.2 15.7-29.4 24.4-43.6 25.5s-26.5-4.8-33.7-19.3c-4.7-11.1-2.4-23.1 1.1-36.3 3.7-14.2 9.2-28.8 9.9-40.6.8-15.2 1.7-28.5 4.2-38.7 2.6-10.3 6.6-17.2 13.7-21.1.3-.2.7-.3 1-.5.8 13.2 7.3 26.6 18.8 29.5 12.6 3.3 30.7-7.5 38.4-16.3 9-.3 15.7-.9 22.6 5.1 9.9 8.5 7.1 30.3 17.1 41.6 10.6 11.6 14 19.5 13.7 24.6zM173.3 148.7c2 1.9 4.7 4.5 8 7.1 6.6 5.2 15.8 10.6 27.3 10.6 11.6 0 22.5-5.9 31.8-10.8 4.9-2.6 10.9-7 14.8-10.4s5.9-6.3 3.1-6.6-2.6 2.6-6 5.1c-4.4 3.2-9.7 7.4-13.9 9.8-7.4 4.2-19.5 10.2-29.9 10.2s-18.7-4.8-24.9-9.7c-3.1-2.5-5.7-5-7.7-6.9-1.5-1.4-1.9-4.6-4.3-4.9-1.4-.1-1.8 3.7 1.7 6.5z\"},\"child\":[]}]})(props);\n};\nexport function FaLyft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 81.1h77.8v208.7c0 33.1 15 52.8 27.2 61-12.7 11.1-51.2 20.9-80.2-2.8C7.8 334 0 310.7 0 289V81.1zm485.9 173.5v-22h23.8v-76.8h-26.1c-10.1-46.3-51.2-80.7-100.3-80.7-56.6 0-102.7 46-102.7 102.7V357c16 2.3 35.4-.3 51.7-14 17.1-14 24.8-37.2 24.8-59v-6.7h38.8v-76.8h-38.8v-23.3c0-34.6 52.2-34.6 52.2 0v77.1c0 56.6 46 102.7 102.7 102.7v-76.5c-14.5 0-26.1-11.7-26.1-25.9zm-294.3-99v113c0 15.4-23.8 15.4-23.8 0v-113H91v132.7c0 23.8 8 54 45 63.9 37 9.8 58.2-10.6 58.2-10.6-2.1 13.4-14.5 23.3-34.9 25.3-15.5 1.6-35.2-3.6-45-7.8v70.3c25.1 7.5 51.5 9.8 77.6 4.7 47.1-9.1 76.8-48.4 76.8-100.8V155.1h-77.1v.5z\"},\"child\":[]}]})(props);\n};\nexport function FaMagento (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M445.7 127.9V384l-63.4 36.5V164.7L223.8 73.1 65.2 164.7l.4 255.9L2.3 384V128.1L224.2 0l221.5 127.9zM255.6 420.5L224 438.9l-31.8-18.2v-256l-63.3 36.6.1 255.9 94.9 54.9 95.1-54.9v-256l-63.4-36.6v255.9z\"},\"child\":[]}]})(props);\n};\nexport function FaMailchimp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M330.61 243.52a36.15 36.15 0 0 1 9.3 0c1.66-3.83 1.95-10.43.45-17.61-2.23-10.67-5.25-17.14-11.48-16.13s-6.47 8.74-4.24 19.42c1.26 6 3.49 11.14 6 14.32zM277.05 252c4.47 2 7.2 3.26 8.28 2.13 1.89-1.94-3.48-9.39-12.12-13.09a31.44 31.44 0 0 0-30.61 3.68c-3 2.18-5.81 5.22-5.41 7.06.85 3.74 10-2.71 22.6-3.48 7-.44 12.8 1.75 17.26 3.71zm-9 5.13c-9.07 1.42-15 6.53-13.47 10.1.9.34 1.17.81 5.21-.81a37 37 0 0 1 18.72-1.95c2.92.34 4.31.52 4.94-.49 1.46-2.22-5.71-8-15.39-6.85zm54.17 17.1c3.38-6.87-10.9-13.93-14.3-7s10.92 13.88 14.32 6.97zm15.66-20.47c-7.66-.13-7.95 15.8-.26 15.93s7.98-15.81.28-15.96zm-218.79 78.9c-1.32.31-6 1.45-8.47-2.35-5.2-8 11.11-20.38 3-35.77-9.1-17.47-27.82-13.54-35.05-5.54-8.71 9.6-8.72 23.54-5 24.08 4.27.57 4.08-6.47 7.38-11.63a12.83 12.83 0 0 1 17.85-3.72c11.59 7.59 1.37 17.76 2.28 28.62 1.39 16.68 18.42 16.37 21.58 9a2.08 2.08 0 0 0-.2-2.33c.03.89.68-1.3-3.35-.39zm299.72-17.07c-3.35-11.73-2.57-9.22-6.78-20.52 2.45-3.67 15.29-24-3.07-43.25-10.4-10.92-33.9-16.54-41.1-18.54-1.5-11.39 4.65-58.7-21.52-83 20.79-21.55 33.76-45.29 33.73-65.65-.06-39.16-48.15-51-107.42-26.47l-12.55 5.33c-.06-.05-22.71-22.27-23.05-22.57C169.5-18-41.77 216.81 25.78 273.85l14.76 12.51a72.49 72.49 0 0 0-4.1 33.5c3.36 33.4 36 60.42 67.53 60.38 57.73 133.06 267.9 133.28 322.29 3 1.74-4.47 9.11-24.61 9.11-42.38s-10.09-25.27-16.53-25.27zm-316 48.16c-22.82-.61-47.46-21.15-49.91-45.51-6.17-61.31 74.26-75.27 84-12.33 4.54 29.64-4.67 58.49-34.12 57.81zM84.3 249.55C69.14 252.5 55.78 261.09 47.6 273c-4.88-4.07-14-12-15.59-15-13.01-24.85 14.24-73 33.3-100.21C112.42 90.56 186.19 39.68 220.36 48.91c5.55 1.57 23.94 22.89 23.94 22.89s-34.15 18.94-65.8 45.35c-42.66 32.85-74.89 80.59-94.2 132.4zM323.18 350.7s-35.74 5.3-69.51-7.07c6.21-20.16 27 6.1 96.4-13.81 15.29-4.38 35.37-13 51-25.35a102.85 102.85 0 0 1 7.12 24.28c3.66-.66 14.25-.52 11.44 18.1-3.29 19.87-11.73 36-25.93 50.84A106.86 106.86 0 0 1 362.55 421a132.45 132.45 0 0 1-20.34 8.58c-53.51 17.48-108.3-1.74-126-43a66.33 66.33 0 0 1-3.55-9.74c-7.53-27.2-1.14-59.83 18.84-80.37 1.23-1.31 2.48-2.85 2.48-4.79a8.45 8.45 0 0 0-1.92-4.54c-7-10.13-31.19-27.4-26.33-60.83 3.5-24 24.49-40.91 44.07-39.91l5 .29c8.48.5 15.89 1.59 22.88 1.88 11.69.5 22.2-1.19 34.64-11.56 4.2-3.5 7.57-6.54 13.26-7.51a17.45 17.45 0 0 1 13.6 2.24c10 6.64 11.4 22.73 11.92 34.49.29 6.72 1.1 23 1.38 27.63.63 10.67 3.43 12.17 9.11 14 3.19 1.05 6.15 1.83 10.51 3.06 13.21 3.71 21 7.48 26 12.31a16.38 16.38 0 0 1 4.74 9.29c1.56 11.37-8.82 25.4-36.31 38.16-46.71 21.68-93.68 14.45-100.48 13.68-20.15-2.71-31.63 23.32-19.55 41.15 22.64 33.41 122.4 20 151.37-21.35.69-1 .12-1.59-.73-1-41.77 28.58-97.06 38.21-128.46 26-4.77-1.85-14.73-6.44-15.94-16.67 43.6 13.49 71 .74 71 .74s2.03-2.79-.56-2.53zm-68.47-5.7zm-83.4-187.5c16.74-19.35 37.36-36.18 55.83-45.63a.73.73 0 0 1 1 1c-1.46 2.66-4.29 8.34-5.19 12.65a.75.75 0 0 0 1.16.79c11.49-7.83 31.48-16.22 49-17.3a.77.77 0 0 1 .52 1.38 41.86 41.86 0 0 0-7.71 7.74.75.75 0 0 0 .59 1.19c12.31.09 29.66 4.4 41 10.74.76.43.22 1.91-.64 1.72-69.55-15.94-123.08 18.53-134.5 26.83a.76.76 0 0 1-1-1.12z\"},\"child\":[]}]})(props);\n};\nexport function FaMandalorian (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M232.27 511.89c-1-3.26-1.69-15.83-1.39-24.58.55-15.89 1-24.72 1.4-28.76.64-6.2 2.87-20.72 3.28-21.38.6-1 .4-27.87-.24-33.13-.31-2.58-.63-11.9-.69-20.73-.13-16.47-.53-20.12-2.73-24.76-1.1-2.32-1.23-3.84-1-11.43a92.38 92.38 0 0 0-.34-12.71c-2-13-3.46-27.7-3.25-33.9s.43-7.15 2.06-9.67c3.05-4.71 6.51-14 8.62-23.27 2.26-9.86 3.88-17.18 4.59-20.74a109.54 109.54 0 0 1 4.42-15.05c2.27-6.25 2.49-15.39.37-15.39-.3 0-1.38 1.22-2.41 2.71s-4.76 4.8-8.29 7.36c-8.37 6.08-11.7 9.39-12.66 12.58s-1 7.23-.16 7.76c.34.21 1.29 2.4 2.11 4.88a28.83 28.83 0 0 1 .72 15.36c-.39 1.77-1 5.47-1.46 8.23s-1 6.46-1.25 8.22a9.85 9.85 0 0 1-1.55 4.26c-1 1-1.14.91-2.05-.53a14.87 14.87 0 0 1-1.44-4.75c-.25-1.74-1.63-7.11-3.08-11.93-3.28-10.9-3.52-16.15-1-21a14.24 14.24 0 0 0 1.67-4.61c0-2.39-2.2-5.32-7.41-9.89-7-6.18-8.63-7.92-10.23-11.3-1.71-3.6-3.06-4.06-4.54-1.54-1.78 3-2.6 9.11-3 22l-.34 12.19 2 2.25c3.21 3.7 12.07 16.45 13.78 19.83 3.41 6.74 4.34 11.69 4.41 23.56s.95 22.75 2 24.71c.36.66.51 1.35.34 1.52s.41 2.09 1.29 4.27a38.14 38.14 0 0 1 2.06 9 91 91 0 0 0 1.71 10.37c2.23 9.56 2.77 14.08 2.39 20.14-.2 3.27-.53 11.07-.73 17.32-1.31 41.76-1.85 58-2 61.21-.12 2-.39 11.51-.6 21.07-.36 16.3-1.3 27.37-2.42 28.65-.64.73-8.07-4.91-12.52-9.49-3.75-3.87-4-4.79-2.83-9.95.7-3 2.26-18.29 3.33-32.62.36-4.78.81-10.5 1-12.71.83-9.37 1.66-20.35 2.61-34.78.56-8.46 1.33-16.44 1.72-17.73s.89-9.89 1.13-19.11l.43-16.77-2.26-4.3c-1.72-3.28-4.87-6.94-13.22-15.34-6-6.07-11.84-12.3-12.91-13.85l-1.95-2.81.75-10.9c1.09-15.71 1.1-48.57 0-59.06l-.89-8.7-3.28-4.52c-5.86-8.08-5.8-7.75-6.22-33.27-.1-6.07-.38-11.5-.63-12.06-.83-1.87-3.05-2.66-8.54-3.05-8.86-.62-11-1.9-23.85-14.55-6.15-6-12.34-12-13.75-13.19-2.81-2.42-2.79-2-.56-9.63l1.35-4.65-1.69-3a32.22 32.22 0 0 0-2.59-4.07c-1.33-1.51-5.5-10.89-6-13.49a4.24 4.24 0 0 1 .87-3.9c2.23-2.86 3.4-5.68 4.45-10.73 2.33-11.19 7.74-26.09 10.6-29.22 3.18-3.47 7.7-1 9.41 5 1.34 4.79 1.37 9.79.1 18.55a101.2 101.2 0 0 0-1 11.11c0 4 .19 4.69 2.25 7.39 3.33 4.37 7.73 7.41 15.2 10.52a18.67 18.67 0 0 1 4.72 2.85c11.17 10.72 18.62 16.18 22.95 16.85 5.18.8 8 4.54 10 13.39 1.31 5.65 4 11.14 5.46 11.14a9.38 9.38 0 0 0 3.33-1.39c2-1.22 2.25-1.73 2.25-4.18a132.88 132.88 0 0 0-2-17.84c-.37-1.66-.78-4.06-.93-5.35s-.61-3.85-1-5.69c-2.55-11.16-3.65-15.46-4.1-16-1.55-2-4.08-10.2-4.93-15.92-1.64-11.11-4-14.23-12.91-17.39A43.15 43.15 0 0 1 165.24 78c-1.15-1-4-3.22-6.35-5.06s-4.41-3.53-4.6-3.76a22.7 22.7 0 0 0-2.69-2c-6.24-4.22-8.84-7-11.26-12l-2.44-5-.22-13-.22-13 6.91-6.55c3.95-3.75 8.48-7.35 10.59-8.43 3.31-1.69 4.45-1.89 11.37-2 8.53-.19 10.12 0 11.66 1.56s1.36 6.4-.29 8.5a6.66 6.66 0 0 0-1.34 2.32c0 .58-2.61 4.91-5.42 9a30.39 30.39 0 0 0-2.37 6.82c20.44 13.39 21.55 3.77 14.07 29L194 66.92c3.11-8.66 6.47-17.26 8.61-26.22.29-7.63-12-4.19-15.4-8.68-2.33-5.93 3.13-14.18 6.06-19.2 1.6-2.34 6.62-4.7 8.82-4.15.88.22 4.16-.35 7.37-1.28a45.3 45.3 0 0 1 7.55-1.68 29.57 29.57 0 0 0 6-1.29c3.65-1.11 4.5-1.17 6.35-.4a29.54 29.54 0 0 0 5.82 1.36 18.18 18.18 0 0 1 6 1.91 22.67 22.67 0 0 0 5 2.17c2.51.68 3 .57 7.05-1.67l4.35-2.4L268.32 5c10.44-.4 10.81-.47 15.26-2.68L288.16 0l2.46 1.43c1.76 1 3.14 2.73 4.85 6 2.36 4.51 2.38 4.58 1.37 7.37-.88 2.44-.89 3.3-.1 6.39a35.76 35.76 0 0 0 2.1 5.91 13.55 13.55 0 0 1 1.31 4c.31 4.33 0 5.3-2.41 6.92-2.17 1.47-7 7.91-7 9.34a14.77 14.77 0 0 1-1.07 3c-5 11.51-6.76 13.56-14.26 17-9.2 4.2-12.3 5.19-16.21 5.19-3.1 0-4 .25-4.54 1.26a18.33 18.33 0 0 1-4.09 3.71 13.62 13.62 0 0 0-4.38 4.78 5.89 5.89 0 0 1-2.49 2.91 6.88 6.88 0 0 0-2.45 1.71 67.62 67.62 0 0 1-7 5.38c-3.33 2.34-6.87 5-7.87 6A7.27 7.27 0 0 1 224 100a5.76 5.76 0 0 0-2.13 1.65c-1.31 1.39-1.49 2.11-1.14 4.6a36.45 36.45 0 0 0 1.42 5.88c1.32 3.8 1.31 7.86 0 10.57s-.89 6.65 1.35 9.59c2 2.63 2.16 4.56.71 8.84a33.45 33.45 0 0 0-1.06 8.91c0 4.88.22 6.28 1.46 8.38s1.82 2.48 3.24 2.32c2-.23 2.3-1.05 4.71-12.12 2.18-10 3.71-11.92 13.76-17.08 2.94-1.51 7.46-4 10-5.44s6.79-3.69 9.37-4.91a40.09 40.09 0 0 0 15.22-11.67c7.11-8.79 10-16.22 12.85-33.3a18.37 18.37 0 0 1 2.86-7.73 20.39 20.39 0 0 0 2.89-7.31c1-5.3 2.85-9.08 5.58-11.51 4.7-4.18 6-1.09 4.59 10.87-.46 3.86-1.1 10.33-1.44 14.38l-.61 7.36 4.45 4.09 4.45 4.09.11 8.42c.06 4.63.47 9.53.92 10.89l.82 2.47-6.43 6.28c-8.54 8.33-12.88 13.93-16.76 21.61-1.77 3.49-3.74 7.11-4.38 8-2.18 3.11-6.46 13-8.76 20.26l-2.29 7.22-7 6.49c-3.83 3.57-8 7.25-9.17 8.17-3.05 2.32-4.26 5.15-4.26 10a14.62 14.62 0 0 0 1.59 7.26 42 42 0 0 1 2.09 4.83 9.28 9.28 0 0 0 1.57 2.89c1.4 1.59 1.92 16.12.83 23.22-.68 4.48-3.63 12-4.7 12-1.79 0-4.06 9.27-5.07 20.74-.18 2-.62 5.94-1 8.7s-1 10-1.35 16.05c-.77 12.22-.19 18.77 2 23.15 3.41 6.69.52 12.69-11 22.84l-4 3.49.07 5.19a40.81 40.81 0 0 0 1.14 8.87c4.61 16 4.73 16.92 4.38 37.13-.46 26.4-.26 40.27.63 44.15a61.31 61.31 0 0 1 1.08 7c.17 2 .66 5.33 1.08 7.36.47 2.26.78 11 .79 22.74v19.06l-1.81 2.63c-2.71 3.91-15.11 13.54-15.49 12.29zm29.53-45.11c-.18-.3-.33-6.87-.33-14.59 0-14.06-.89-27.54-2.26-34.45-.4-2-.81-9.7-.9-17.06-.15-11.93-1.4-24.37-2.64-26.38-.66-1.07-3-17.66-3-21.3 0-4.23 1-6 5.28-9.13s4.86-3.14 5.48-.72c.28 1.1 1.45 5.62 2.6 10 3.93 15.12 4.14 16.27 4.05 21.74-.1 5.78-.13 6.13-1.74 17.73-1 7.07-1.17 12.39-1 28.43.17 19.4-.64 35.73-2 41.27-.71 2.78-2.8 5.48-3.43 4.43zm-71-37.58a101 101 0 0 1-1.73-10.79 100.5 100.5 0 0 0-1.73-10.79 37.53 37.53 0 0 1-1-6.49c-.31-3.19-.91-7.46-1.33-9.48-1-4.79-3.35-19.35-3.42-21.07 0-.74-.34-4.05-.7-7.36-.67-6.21-.84-27.67-.22-28.29 1-1 6.63 2.76 11.33 7.43l5.28 5.25-.45 6.47c-.25 3.56-.6 10.23-.78 14.83s-.49 9.87-.67 11.71-.61 9.36-.94 16.72c-.79 17.41-1.94 31.29-2.65 32a.62.62 0 0 1-1-.14zm-87.18-266.59c21.07 12.79 17.84 14.15 28.49 17.66 13 4.29 18.87 7.13 23.15 16.87C111.6 233.28 86.25 255 78.55 268c-31 52-6 101.59 62.75 87.21-14.18 29.23-78 28.63-98.68-4.9-24.68-39.95-22.09-118.3 61-187.66zm210.79 179c56.66 6.88 82.32-37.74 46.54-89.23 0 0-26.87-29.34-64.28-68 3-15.45 9.49-32.12 30.57-53.82 89.2 63.51 92 141.61 92.46 149.36 4.3 70.64-78.7 91.18-105.29 61.71z\"},\"child\":[]}]})(props);\n};\nexport function FaMarkdown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M593.8 59.1H46.2C20.7 59.1 0 79.8 0 105.2v301.5c0 25.5 20.7 46.2 46.2 46.2h547.7c25.5 0 46.2-20.7 46.1-46.1V105.2c0-25.4-20.7-46.1-46.2-46.1zM338.5 360.6H277v-120l-61.5 76.9-61.5-76.9v120H92.3V151.4h61.5l61.5 76.9 61.5-76.9h61.5v209.2zm135.3 3.1L381.5 256H443V151.4h61.5V256H566z\"},\"child\":[]}]})(props);\n};\nexport function FaMastodon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z\"},\"child\":[]}]})(props);\n};\nexport function FaMaxcdn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M461.1 442.7h-97.4L415.6 200c2.3-10.2.9-19.5-4.4-25.7-5-6.1-13.7-9.6-24.2-9.6h-49.3l-59.5 278h-97.4l59.5-278h-83.4l-59.5 278H0l59.5-278-44.6-95.4H387c39.4 0 75.3 16.3 98.3 44.9 23.3 28.6 31.8 67.4 23.6 105.9l-47.8 222.6z\"},\"child\":[]}]})(props);\n};\nexport function FaMdb (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.37 160.41L7 352h43.91l5.59-79.83L84.43 352h44.71l25.54-77.43 4.79 77.43H205l-12.79-191.59H146.7L106 277.74 63.67 160.41zm281 0h-47.9V352h47.9s95 .8 94.2-95.79c-.78-94.21-94.18-95.78-94.18-95.78zm-1.2 146.46V204.78s46 4.27 46.8 50.57-46.78 51.54-46.78 51.54zm238.29-74.24a56.16 56.16 0 0 0 8-38.31c-5.34-35.76-55.08-34.32-55.08-34.32h-51.9v191.58H482s87 4.79 87-63.85c0-43.14-33.52-55.08-33.52-55.08zm-51.9-31.94s13.57-1.59 16 9.59c1.43 6.66-4 12-4 12h-12v-21.57zm-.1 109.46l.1-24.92V267h.08s41.58-4.73 41.19 22.43c-.33 25.65-41.35 20.74-41.35 20.74z\"},\"child\":[]}]})(props);\n};\nexport function FaMedapps (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M118.3 238.4c3.5-12.5 6.9-33.6 13.2-33.6 8.3 1.8 9.6 23.4 18.6 36.6 4.6-23.5 5.3-85.1 14.1-86.7 9-.7 19.7 66.5 22 77.5 9.9 4.1 48.9 6.6 48.9 6.6 1.9 7.3-24 7.6-40 7.8-4.6 14.8-5.4 27.7-11.4 28-4.7.2-8.2-28.8-17.5-49.6l-9.4 65.5c-4.4 13-15.5-22.5-21.9-39.3-3.3-.1-62.4-1.6-47.6-7.8l31-5zM228 448c21.2 0 21.2-32 0-32H92c-21.2 0-21.2 32 0 32h136zm-24 64c21.2 0 21.2-32 0-32h-88c-21.2 0-21.2 32 0 32h88zm34.2-141.5c3.2-18.9 5.2-36.4 11.9-48.8 7.9-14.7 16.1-28.1 24-41 24.6-40.4 45.9-75.2 45.9-125.5C320 69.6 248.2 0 160 0S0 69.6 0 155.2c0 50.2 21.3 85.1 45.9 125.5 7.9 12.9 16 26.3 24 41 6.7 12.5 8.7 29.8 11.9 48.9 3.5 21 36.1 15.7 32.6-5.1-3.6-21.7-5.6-40.7-15.3-58.6C66.5 246.5 33 211.3 33 155.2 33 87.3 90 32 160 32s127 55.3 127 123.2c0 56.1-33.5 91.3-66.1 151.6-9.7 18-11.7 37.4-15.3 58.6-3.4 20.6 29 26.4 32.6 5.1z\"},\"child\":[]}]})(props);\n};\nexport function FaMediumM (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M71.5 142.3c.6-5.9-1.7-11.8-6.1-15.8L20.3 72.1V64h140.2l108.4 237.7L364.2 64h133.7v8.1l-38.6 37c-3.3 2.5-5 6.7-4.3 10.8v272c-.7 4.1 1 8.3 4.3 10.8l37.7 37v8.1H307.3v-8.1l39.1-37.9c3.8-3.8 3.8-5 3.8-10.8V171.2L241.5 447.1h-14.7L100.4 171.2v184.9c-1.1 7.8 1.5 15.6 7 21.2l50.8 61.6v8.1h-144v-8L65 377.3c5.4-5.6 7.9-13.5 6.5-21.2V142.3z\"},\"child\":[]}]})(props);\n};\nexport function FaMedium (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 32v448h448V32H0zm372.2 106.1l-24 23c-2.1 1.6-3.1 4.2-2.7 6.7v169.3c-.4 2.6.6 5.2 2.7 6.7l23.5 23v5.1h-118V367l24.3-23.6c2.4-2.4 2.4-3.1 2.4-6.7V199.8l-67.6 171.6h-9.1L125 199.8v115c-.7 4.8 1 9.7 4.4 13.2l31.6 38.3v5.1H71.2v-5.1l31.6-38.3c3.4-3.5 4.9-8.4 4.1-13.2v-133c.4-3.7-1-7.3-3.8-9.8L75 138.1V133h87.3l67.4 148L289 133.1h83.2v5z\"},\"child\":[]}]})(props);\n};\nexport function FaMedrt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 544 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M113.7 256c0 121.8 83.9 222.8 193.5 241.1-18.7 4.5-38.2 6.9-58.2 6.9C111.4 504 0 393 0 256S111.4 8 248.9 8c20.1 0 39.6 2.4 58.2 6.9C197.5 33.2 113.7 134.2 113.7 256m297.4 100.3c-77.7 55.4-179.6 47.5-240.4-14.6 5.5 14.1 12.7 27.7 21.7 40.5 61.6 88.2 182.4 109.3 269.7 47 87.3-62.3 108.1-184.3 46.5-272.6-9-12.9-19.3-24.3-30.5-34.2 37.4 78.8 10.7 178.5-67 233.9m-218.8-244c-1.4 1-2.7 2.1-4 3.1 64.3-17.8 135.9 4 178.9 60.5 35.7 47 42.9 106.6 24.4 158 56.7-56.2 67.6-142.1 22.3-201.8-50-65.5-149.1-74.4-221.6-19.8M296 224c-4.4 0-8-3.6-8-8v-40c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v40c0 4.4-3.6 8-8 8h-40c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h40c4.4 0 8 3.6 8 8v40c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-40c0-4.4 3.6-8 8-8h40c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8h-40z\"},\"child\":[]}]})(props);\n};\nexport function FaMeetup (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M99 414.3c1.1 5.7-2.3 11.1-8 12.3-5.4 1.1-10.9-2.3-12-8-1.1-5.4 2.3-11.1 7.7-12.3 5.4-1.2 11.1 2.3 12.3 8zm143.1 71.4c-6.3 4.6-8 13.4-3.7 20 4.6 6.6 13.4 8.3 20 3.7 6.3-4.6 8-13.4 3.4-20-4.2-6.5-13.1-8.3-19.7-3.7zm-86-462.3c6.3-1.4 10.3-7.7 8.9-14-1.1-6.6-7.4-10.6-13.7-9.1-6.3 1.4-10.3 7.7-9.1 14 1.4 6.6 7.6 10.6 13.9 9.1zM34.4 226.3c-10-6.9-23.7-4.3-30.6 6-6.9 10-4.3 24 5.7 30.9 10 7.1 23.7 4.6 30.6-5.7 6.9-10.4 4.3-24.1-5.7-31.2zm272-170.9c10.6-6.3 13.7-20 7.7-30.3-6.3-10.6-19.7-14-30-7.7s-13.7 20-7.4 30.6c6 10.3 19.4 13.7 29.7 7.4zm-191.1 58c7.7-5.4 9.4-16 4.3-23.7s-15.7-9.4-23.1-4.3c-7.7 5.4-9.4 16-4.3 23.7 5.1 7.8 15.6 9.5 23.1 4.3zm372.3 156c-7.4 1.7-12.3 9.1-10.6 16.9 1.4 7.4 8.9 12.3 16.3 10.6 7.4-1.4 12.3-8.9 10.6-16.6-1.5-7.4-8.9-12.3-16.3-10.9zm39.7-56.8c-1.1-5.7-6.6-9.1-12-8-5.7 1.1-9.1 6.9-8 12.6 1.1 5.4 6.6 9.1 12.3 8 5.4-1.5 9.1-6.9 7.7-12.6zM447 138.9c-8.6 6-10.6 17.7-4.9 26.3 5.7 8.6 17.4 10.6 26 4.9 8.3-6 10.3-17.7 4.6-26.3-5.7-8.7-17.4-10.9-25.7-4.9zm-6.3 139.4c26.3 43.1 15.1 100-26.3 129.1-17.4 12.3-37.1 17.7-56.9 17.1-12 47.1-69.4 64.6-105.1 32.6-1.1.9-2.6 1.7-3.7 2.9-39.1 27.1-92.3 17.4-119.4-22.3-9.7-14.3-14.6-30.6-15.1-46.9-65.4-10.9-90-94-41.1-139.7-28.3-46.9.6-107.4 53.4-114.9C151.6 70 234.1 38.6 290.1 82c67.4-22.3 136.3 29.4 130.9 101.1 41.1 12.6 52.8 66.9 19.7 95.2zm-70 74.3c-3.1-20.6-40.9-4.6-43.1-27.1-3.1-32 43.7-101.1 40-128-3.4-24-19.4-29.1-33.4-29.4-13.4-.3-16.9 2-21.4 4.6-2.9 1.7-6.6 4.9-11.7-.3-6.3-6-11.1-11.7-19.4-12.9-12.3-2-17.7 2-26.6 9.7-3.4 2.9-12 12.9-20 9.1-3.4-1.7-15.4-7.7-24-11.4-16.3-7.1-40 4.6-48.6 20-12.9 22.9-38 113.1-41.7 125.1-8.6 26.6 10.9 48.6 36.9 47.1 11.1-.6 18.3-4.6 25.4-17.4 4-7.4 41.7-107.7 44.6-112.6 2-3.4 8.9-8 14.6-5.1 5.7 3.1 6.9 9.4 6 15.1-1.1 9.7-28 70.9-28.9 77.7-3.4 22.9 26.9 26.6 38.6 4 3.7-7.1 45.7-92.6 49.4-98.3 4.3-6.3 7.4-8.3 11.7-8 3.1 0 8.3.9 7.1 10.9-1.4 9.4-35.1 72.3-38.9 87.7-4.6 20.6 6.6 41.4 24.9 50.6 11.4 5.7 62.5 15.7 58.5-11.1zm5.7 92.3c-10.3 7.4-12.9 22-5.7 32.6 7.1 10.6 21.4 13.1 32 6 10.6-7.4 13.1-22 6-32.6-7.4-10.6-21.7-13.5-32.3-6z\"},\"child\":[]}]})(props);\n};\nexport function FaMegaport (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M214.5 209.6v66.2l33.5 33.5 33.3-33.3v-66.4l-33.4-33.4zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm145.1 414.4L367 441.6l-26-19.2v-65.5l-33.4-33.4-33.4 33.4v65.5L248 441.6l-26.1-19.2v-65.5l-33.4-33.4-33.5 33.4v65.5l-26.1 19.2-26.1-19.2v-87l59.5-59.5V188l59.5-59.5V52.9l26.1-19.2L274 52.9v75.6l59.5 59.5v87.6l59.7 59.7v87.1z\"},\"child\":[]}]})(props);\n};\nexport function FaMendeley (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M624.6 325.2c-12.3-12.4-29.7-19.2-48.4-17.2-43.3-1-49.7-34.9-37.5-98.8 22.8-57.5-14.9-131.5-87.4-130.8-77.4.7-81.7 82-130.9 82-48.1 0-54-81.3-130.9-82-72.9-.8-110.1 73.3-87.4 130.8 12.2 63.9 5.8 97.8-37.5 98.8-21.2-2.3-37 6.5-53 22.5-19.9 19.7-19.3 94.8 42.6 102.6 47.1 5.9 81.6-42.9 61.2-87.8-47.3-103.7 185.9-106.1 146.5-8.2-.1.1-.2.2-.3.4-26.8 42.8 6.8 97.4 58.8 95.2 52.1 2.1 85.4-52.6 58.8-95.2-.1-.2-.2-.3-.3-.4-39.4-97.9 193.8-95.5 146.5 8.2-4.6 10-6.7 21.3-5.7 33 4.9 53.4 68.7 74.1 104.9 35.2 17.8-14.8 23.1-65.6 0-88.3zm-303.9-19.1h-.6c-43.4 0-62.8-37.5-62.8-62.8 0-34.7 28.2-62.8 62.8-62.8h.6c34.7 0 62.8 28.1 62.8 62.8 0 25-19.2 62.8-62.8 62.8z\"},\"child\":[]}]})(props);\n};\nexport function FaMicroblog (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M399.36,362.23c29.49-34.69,47.1-78.34,47.1-125.79C446.46,123.49,346.86,32,224,32S1.54,123.49,1.54,236.44,101.14,440.87,224,440.87a239.28,239.28,0,0,0,79.44-13.44,7.18,7.18,0,0,1,8.12,2.56c18.58,25.09,47.61,42.74,79.89,49.92a4.42,4.42,0,0,0,5.22-3.43,4.37,4.37,0,0,0-.85-3.62,87,87,0,0,1,3.69-110.69ZM329.52,212.4l-57.3,43.49L293,324.75a6.5,6.5,0,0,1-9.94,7.22L224,290.92,164.94,332a6.51,6.51,0,0,1-9.95-7.22l20.79-68.86-57.3-43.49a6.5,6.5,0,0,1,3.8-11.68l71.88-1.51,23.66-67.92a6.5,6.5,0,0,1,12.28,0l23.66,67.92,71.88,1.51a6.5,6.5,0,0,1,3.88,11.68Z\"},\"child\":[]}]})(props);\n};\nexport function FaMicrosoft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 32h214.6v214.6H0V32zm233.4 0H448v214.6H233.4V32zM0 265.4h214.6V480H0V265.4zm233.4 0H448V480H233.4V265.4z\"},\"child\":[]}]})(props);\n};\nexport function FaMix (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 64v348.9c0 56.2 88 58.1 88 0V174.3c7.9-52.9 88-50.4 88 6.5v175.3c0 57.9 96 58 96 0V240c5.3-54.7 88-52.5 88 4.3v23.8c0 59.9 88 56.6 88 0V64H0z\"},\"child\":[]}]})(props);\n};\nexport function FaMixcloud (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M424.43 219.729C416.124 134.727 344.135 68 256.919 68c-72.266 0-136.224 46.516-159.205 114.074-54.545 8.029-96.63 54.822-96.63 111.582 0 62.298 50.668 112.966 113.243 112.966h289.614c52.329 0 94.969-42.362 94.969-94.693 0-45.131-32.118-83.063-74.48-92.2zm-20.489 144.53H114.327c-39.04 0-70.881-31.564-70.881-70.604s31.841-70.604 70.881-70.604c18.827 0 36.548 7.475 49.838 20.766 19.963 19.963 50.133-10.227 30.18-30.18-14.675-14.398-32.672-24.365-52.053-29.349 19.935-44.3 64.79-73.926 114.628-73.926 69.496 0 125.979 56.483 125.979 125.702 0 13.568-2.215 26.857-6.369 39.594-8.943 27.517 32.133 38.939 40.147 13.29 2.769-8.306 4.984-16.889 6.369-25.472 19.381 7.476 33.502 26.303 33.502 48.453 0 28.795-23.535 52.33-52.607 52.33zm235.069-52.33c0 44.024-12.737 86.386-37.102 122.657-4.153 6.092-10.798 9.414-17.72 9.414-16.317 0-27.127-18.826-17.443-32.949 19.381-29.349 29.903-63.682 29.903-99.122s-10.521-69.773-29.903-98.845c-15.655-22.831 19.361-47.24 35.163-23.534 24.366 35.993 37.102 78.356 37.102 122.379zm-70.88 0c0 31.565-9.137 62.021-26.857 88.325-4.153 6.091-10.798 9.136-17.72 9.136-17.201 0-27.022-18.979-17.443-32.948 13.013-19.104 19.658-41.255 19.658-64.513 0-22.981-6.645-45.408-19.658-64.512-15.761-22.986 19.008-47.095 35.163-23.535 17.719 26.026 26.857 56.483 26.857 88.047z\"},\"child\":[]}]})(props);\n};\nexport function FaMixer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M114.57,76.07a45.71,45.71,0,0,0-67.51-6.41c-17.58,16.18-19,43.52-4.75,62.77l91.78,123L41.76,379.58c-14.23,19.25-13.11,46.59,4.74,62.77A45.71,45.71,0,0,0,114,435.94L242.89,262.7a12.14,12.14,0,0,0,0-14.23ZM470.24,379.58,377.91,255.45l91.78-123c14.22-19.25,12.83-46.59-4.75-62.77a45.71,45.71,0,0,0-67.51,6.41l-128,172.12a12.14,12.14,0,0,0,0,14.23L398,435.94a45.71,45.71,0,0,0,67.51,6.41C483.35,426.17,484.47,398.83,470.24,379.58Z\"},\"child\":[]}]})(props);\n};\nexport function FaMizuni (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119.1 0 256c0 137 111 248 248 248s248-111 248-248C496 119.1 385 8 248 8zm-80 351.9c-31.4 10.6-58.8 27.3-80 48.2V136c0-22.1 17.9-40 40-40s40 17.9 40 40v223.9zm120-9.9c-12.9-2-26.2-3.1-39.8-3.1-13.8 0-27.2 1.1-40.2 3.1V136c0-22.1 17.9-40 40-40s40 17.9 40 40v214zm120 57.7c-21.2-20.8-48.6-37.4-80-48V136c0-22.1 17.9-40 40-40s40 17.9 40 40v271.7z\"},\"child\":[]}]})(props);\n};\nexport function FaModx (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M356 241.8l36.7 23.7V480l-133-83.8L356 241.8zM440 75H226.3l-23 37.8 153.5 96.5L440 75zm-89 142.8L55.2 32v214.5l46 29L351 217.8zM97 294.2L8 437h213.7l125-200.5L97 294.2z\"},\"child\":[]}]})(props);\n};\nexport function FaMonero (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M352 384h108.4C417 455.9 338.1 504 248 504S79 455.9 35.6 384H144V256.2L248 361l104-105v128zM88 336V128l159.4 159.4L408 128v208h74.8c8.5-25.1 13.2-52 13.2-80C496 119 385 8 248 8S0 119 0 256c0 28 4.6 54.9 13.2 80H88z\"},\"child\":[]}]})(props);\n};\nexport function FaNapster (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M298.3 373.6c-14.2 13.6-31.3 24.1-50.4 30.5-19-6.4-36.2-16.9-50.3-30.5h100.7zm44-199.6c20-16.9 43.6-29.2 69.6-36.2V299c0 219.4-328 217.6-328 .3V137.7c25.9 6.9 49.6 19.6 69.5 36.4 56.8-40 132.5-39.9 188.9-.1zm-208.8-58.5c64.4-60 164.3-60.1 228.9-.2-7.1 3.5-13.9 7.3-20.6 11.5-58.7-30.5-129.2-30.4-187.9.1-6.3-4-13.9-8.2-20.4-11.4zM43.8 93.2v69.3c-58.4 36.5-58.4 121.1.1 158.3 26.4 245.1 381.7 240.3 407.6 1.5l.3-1.7c58.7-36.3 58.9-121.7.2-158.2V93.2c-17.3.5-34 3-50.1 7.4-82-91.5-225.5-91.5-307.5.1-16.3-4.4-33.1-7-50.6-7.5zM259.2 352s36-.3 61.3-1.5c10.2-.5 21.1-4 25.5-6.5 26.3-15.1 25.4-39.2 26.2-47.4-79.5-.6-99.9-3.9-113 55.4zm-135.5-55.3c.8 8.2-.1 32.3 26.2 47.4 4.4 2.5 15.2 6 25.5 6.5 25.3 1.1 61.3 1.5 61.3 1.5-13.2-59.4-33.7-56.1-113-55.4zm169.1 123.4c-3.2-5.3-6.9-7.3-6.9-7.3-24.8 7.3-52.2 6.9-75.9 0 0 0-2.9 1.5-6.4 6.6-2.8 4.1-3.7 9.6-3.7 9.6 29.1 17.6 67.1 17.6 96.2 0-.1-.1-.3-4-3.3-8.9z\"},\"child\":[]}]})(props);\n};\nexport function FaNeos (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M415.44 512h-95.11L212.12 357.46v91.1L125.69 512H28V29.82L68.47 0h108.05l123.74 176.13V63.45L386.69 0h97.69v461.5zM38.77 35.27V496l72-52.88V194l215.5 307.64h84.79l52.35-38.17h-78.27L69 13zm82.54 466.61l80-58.78v-101l-79.76-114.4v220.94L49 501.89h72.34zM80.63 10.77l310.6 442.57h82.37V10.77h-79.75v317.56L170.91 10.77zM311 191.65l72 102.81V15.93l-72 53v122.72z\"},\"child\":[]}]})(props);\n};\nexport function FaNimblr (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M246.6 299.29c15.57 0 27.15 11.46 27.15 27s-11.62 27-27.15 27c-15.7 0-27.15-11.57-27.15-27s11.55-27 27.15-27zM113 326.25c0-15.61 11.68-27 27.15-27s27.15 11.46 27.15 27-11.47 27-27.15 27c-15.44 0-27.15-11.31-27.15-27M191.76 159C157 159 89.45 178.77 59.25 227L14 0v335.48C14 433.13 93.61 512 191.76 512s177.76-78.95 177.76-176.52S290.13 159 191.76 159zm0 308.12c-73.27 0-132.51-58.9-132.51-131.59s59.24-131.59 132.51-131.59 132.51 58.86 132.51 131.54S265 467.07 191.76 467.07z\"},\"child\":[]}]})(props);\n};\nexport function FaNodeJs (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 508c-6.7 0-13.5-1.8-19.4-5.2l-61.7-36.5c-9.2-5.2-4.7-7-1.7-8 12.3-4.3 14.8-5.2 27.9-12.7 1.4-.8 3.2-.5 4.6.4l47.4 28.1c1.7 1 4.1 1 5.7 0l184.7-106.6c1.7-1 2.8-3 2.8-5V149.3c0-2.1-1.1-4-2.9-5.1L226.8 37.7c-1.7-1-4-1-5.7 0L36.6 144.3c-1.8 1-2.9 3-2.9 5.1v213.1c0 2 1.1 4 2.9 4.9l50.6 29.2c27.5 13.7 44.3-2.4 44.3-18.7V167.5c0-3 2.4-5.3 5.4-5.3h23.4c2.9 0 5.4 2.3 5.4 5.3V378c0 36.6-20 57.6-54.7 57.6-10.7 0-19.1 0-42.5-11.6l-48.4-27.9C8.1 389.2.7 376.3.7 362.4V149.3c0-13.8 7.4-26.8 19.4-33.7L204.6 9c11.7-6.6 27.2-6.6 38.8 0l184.7 106.7c12 6.9 19.4 19.8 19.4 33.7v213.1c0 13.8-7.4 26.7-19.4 33.7L243.4 502.8c-5.9 3.4-12.6 5.2-19.4 5.2zm149.1-210.1c0-39.9-27-50.5-83.7-58-57.4-7.6-63.2-11.5-63.2-24.9 0-11.1 4.9-25.9 47.4-25.9 37.9 0 51.9 8.2 57.7 33.8.5 2.4 2.7 4.2 5.2 4.2h24c1.5 0 2.9-.6 3.9-1.7s1.5-2.6 1.4-4.1c-3.7-44.1-33-64.6-92.2-64.6-52.7 0-84.1 22.2-84.1 59.5 0 40.4 31.3 51.6 81.8 56.6 60.5 5.9 65.2 14.8 65.2 26.7 0 20.6-16.6 29.4-55.5 29.4-48.9 0-59.6-12.3-63.2-36.6-.4-2.6-2.6-4.5-5.3-4.5h-23.9c-3 0-5.3 2.4-5.3 5.3 0 31.1 16.9 68.2 97.8 68.2 58.4-.1 92-23.2 92-63.4z\"},\"child\":[]}]})(props);\n};\nexport function FaNode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M316.3 452c-2.1 0-4.2-.6-6.1-1.6L291 439c-2.9-1.6-1.5-2.2-.5-2.5 3.8-1.3 4.6-1.6 8.7-4 .4-.2 1-.1 1.4.1l14.8 8.8c.5.3 1.3.3 1.8 0L375 408c.5-.3.9-.9.9-1.6v-66.7c0-.7-.3-1.3-.9-1.6l-57.8-33.3c-.5-.3-1.2-.3-1.8 0l-57.8 33.3c-.6.3-.9 1-.9 1.6v66.7c0 .6.4 1.2.9 1.5l15.8 9.1c8.6 4.3 13.9-.8 13.9-5.8v-65.9c0-.9.7-1.7 1.7-1.7h7.3c.9 0 1.7.7 1.7 1.7v65.9c0 11.5-6.2 18-17.1 18-3.3 0-6 0-13.3-3.6l-15.2-8.7c-3.7-2.2-6.1-6.2-6.1-10.5v-66.7c0-4.3 2.3-8.4 6.1-10.5l57.8-33.4c3.7-2.1 8.5-2.1 12.1 0l57.8 33.4c3.7 2.2 6.1 6.2 6.1 10.5v66.7c0 4.3-2.3 8.4-6.1 10.5l-57.8 33.4c-1.7 1.1-3.8 1.7-6 1.7zm46.7-65.8c0-12.5-8.4-15.8-26.2-18.2-18-2.4-19.8-3.6-19.8-7.8 0-3.5 1.5-8.1 14.8-8.1 11.9 0 16.3 2.6 18.1 10.6.2.8.8 1.3 1.6 1.3h7.5c.5 0 .9-.2 1.2-.5.3-.4.5-.8.4-1.3-1.2-13.8-10.3-20.2-28.8-20.2-16.5 0-26.3 7-26.3 18.6 0 12.7 9.8 16.1 25.6 17.7 18.9 1.9 20.4 4.6 20.4 8.3 0 6.5-5.2 9.2-17.4 9.2-15.3 0-18.7-3.8-19.8-11.4-.1-.8-.8-1.4-1.7-1.4h-7.5c-.9 0-1.7.7-1.7 1.7 0 9.7 5.3 21.3 30.6 21.3 18.5 0 29-7.2 29-19.8zm54.5-50.1c0 6.1-5 11.1-11.1 11.1s-11.1-5-11.1-11.1c0-6.3 5.2-11.1 11.1-11.1 6-.1 11.1 4.8 11.1 11.1zm-1.8 0c0-5.2-4.2-9.3-9.4-9.3-5.1 0-9.3 4.1-9.3 9.3 0 5.2 4.2 9.4 9.3 9.4 5.2-.1 9.4-4.3 9.4-9.4zm-4.5 6.2h-2.6c-.1-.6-.5-3.8-.5-3.9-.2-.7-.4-1.1-1.3-1.1h-2.2v5h-2.4v-12.5h4.3c1.5 0 4.4 0 4.4 3.3 0 2.3-1.5 2.8-2.4 3.1 1.7.1 1.8 1.2 2.1 2.8.1 1 .3 2.7.6 3.3zm-2.8-8.8c0-1.7-1.2-1.7-1.8-1.7h-2v3.5h1.9c1.6 0 1.9-1.1 1.9-1.8zM137.3 191c0-2.7-1.4-5.1-3.7-6.4l-61.3-35.3c-1-.6-2.2-.9-3.4-1h-.6c-1.2 0-2.3.4-3.4 1L3.7 184.6C1.4 185.9 0 188.4 0 191l.1 95c0 1.3.7 2.5 1.8 3.2 1.1.7 2.5.7 3.7 0L42 268.3c2.3-1.4 3.7-3.8 3.7-6.4v-44.4c0-2.6 1.4-5.1 3.7-6.4l15.5-8.9c1.2-.7 2.4-1 3.7-1 1.3 0 2.6.3 3.7 1l15.5 8.9c2.3 1.3 3.7 3.8 3.7 6.4v44.4c0 2.6 1.4 5.1 3.7 6.4l36.4 20.9c1.1.7 2.6.7 3.7 0 1.1-.6 1.8-1.9 1.8-3.2l.2-95zM472.5 87.3v176.4c0 2.6-1.4 5.1-3.7 6.4l-61.3 35.4c-2.3 1.3-5.1 1.3-7.4 0l-61.3-35.4c-2.3-1.3-3.7-3.8-3.7-6.4v-70.8c0-2.6 1.4-5.1 3.7-6.4l61.3-35.4c2.3-1.3 5.1-1.3 7.4 0l15.3 8.8c1.7 1 3.9-.3 3.9-2.2v-94c0-2.8 3-4.6 5.5-3.2l36.5 20.4c2.3 1.2 3.8 3.7 3.8 6.4zm-46 128.9c0-.7-.4-1.3-.9-1.6l-21-12.2c-.6-.3-1.3-.3-1.9 0l-21 12.2c-.6.3-.9.9-.9 1.6v24.3c0 .7.4 1.3.9 1.6l21 12.1c.6.3 1.3.3 1.8 0l21-12.1c.6-.3.9-.9.9-1.6v-24.3zm209.8-.7c2.3-1.3 3.7-3.8 3.7-6.4V192c0-2.6-1.4-5.1-3.7-6.4l-60.9-35.4c-2.3-1.3-5.1-1.3-7.4 0l-61.3 35.4c-2.3 1.3-3.7 3.8-3.7 6.4v70.8c0 2.7 1.4 5.1 3.7 6.4l60.9 34.7c2.2 1.3 5 1.3 7.3 0l36.8-20.5c2.5-1.4 2.5-5 0-6.4L550 241.6c-1.2-.7-1.9-1.9-1.9-3.2v-22.2c0-1.3.7-2.5 1.9-3.2l19.2-11.1c1.1-.7 2.6-.7 3.7 0l19.2 11.1c1.1.7 1.9 1.9 1.9 3.2v17.4c0 2.8 3.1 4.6 5.6 3.2l36.7-21.3zM559 219c-.4.3-.7.7-.7 1.2v13.6c0 .5.3 1 .7 1.2l11.8 6.8c.4.3 1 .3 1.4 0L584 235c.4-.3.7-.7.7-1.2v-13.6c0-.5-.3-1-.7-1.2l-11.8-6.8c-.4-.3-1-.3-1.4 0L559 219zm-254.2 43.5v-70.4c0-2.6-1.6-5.1-3.9-6.4l-61.1-35.2c-2.1-1.2-5-1.4-7.4 0l-61.1 35.2c-2.3 1.3-3.9 3.7-3.9 6.4v70.4c0 2.8 1.9 5.2 4 6.4l61.2 35.2c2.4 1.4 5.2 1.3 7.4 0l61-35.2c1.8-1 3.1-2.7 3.6-4.7.1-.5.2-1.1.2-1.7zm-74.3-124.9l-.8.5h1.1l-.3-.5zm76.2 130.2l-.4-.7v.9l.4-.2z\"},\"child\":[]}]})(props);\n};\nexport function FaNpm (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 288h-32v-64h32v64zm288-128v192H288v32H160v-32H0V160h576zm-416 32H32v128h64v-96h32v96h32V192zm160 0H192v160h64v-32h64V192zm224 0H352v128h64v-96h32v96h32v-96h32v96h32V192z\"},\"child\":[]}]})(props);\n};\nexport function FaNs8 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M104.324,269.172h26.067V242.994H104.324Zm52.466-26.178-.055-26.178v-.941a39.325,39.325,0,0,0-78.644.941v.166h26.4v-.166a12.98,12.98,0,0,1,25.956,0v26.178Zm52.356,25.846a91.1,91.1,0,0,1-91.1,91.1h-.609a91.1,91.1,0,0,1-91.1-91.1H0v.166A117.33,117.33,0,0,0,117.44,386.28h.775A117.331,117.331,0,0,0,235.49,268.84V242.828H209.146Zm-157.233,0a65.362,65.362,0,0,0,130.723,0H156.292a39.023,39.023,0,0,1-78.035,0V242.883H51.968v-26.62A65.42,65.42,0,0,1,182.8,217.48v25.293h26.344V217.48a91.761,91.761,0,0,0-183.522,0v25.4H51.913Zm418.4-71.173c13.67,0,24.573,6.642,30.052,18.264l.719,1.549,23.245-11.511-.609-1.439c-8.025-19.26-28.5-31.27-53.407-31.27-23.134,0-43.611,11.4-50.972,28.447-.123,26.876-.158,23.9,0,24.85,4.7,11.013,14.555,19.37,28.668,24.241a102.033,102.033,0,0,0,19.813,3.984c5.479.72,10.626,1.384,15.829,3.1,6.364,2.1,10.46,5.257,12.84,9.851v9.851c-3.708,7.527-13.781,12.342-25.791,12.342-14.334,0-25.956-6.918-31.933-19.039l-.72-1.494L415.026,280.9l.553,1.439c7.915,19.426,29.609,32.044,55.289,32.044,23.632,0,44.608-11.4,52.3-28.447l.166-25.9-.166-.664c-4.87-11.014-15.219-19.647-28.944-24.241-7.693-2.712-14.335-3.6-20.7-4.427a83.777,83.777,0,0,1-14.832-2.878c-6.31-1.937-10.4-5.092-12.619-9.63v-8.412C449.45,202.427,458.969,197.667,470.315,197.667ZM287.568,311.344h26.067v-68.4H287.568Zm352.266-53.3c-2.933-6.254-8.3-12.01-15.441-16.714A37.99,37.99,0,0,0,637.4,226l.166-25.347-.166-.664C630.038,184,610.667,173.26,589.25,173.26S548.461,184,541.1,199.992l-.166,25.347.166.664a39.643,39.643,0,0,0,13.006,15.331c-7.2,4.7-12.508,10.46-15.441,16.714l-.166,28.889.166.72c7.582,15.994,27.893,26.731,50.585,26.731s43.057-10.737,50.584-26.731l.166-28.89Zm-73.22-50.806c3.6-6.31,12.563-10.516,22.58-10.516s19.038,4.206,22.636,10.516v13.725c-3.542,6.2-12.563,10.349-22.636,10.349s-19.094-4.15-22.58-10.349Zm47.319,72.169c-3.764,6.641-13.338,10.9-24.683,10.9-11.125,0-20.976-4.372-24.684-10.9V263.25c3.708-6.309,13.5-10.515,24.684-10.515,11.345,0,20.919,4.15,24.683,10.515ZM376.4,265.962l-59.827-89.713h-29v40.623h26.51v.387l62.539,94.085H402.3V176.249H376.4Z\"},\"child\":[]}]})(props);\n};\nexport function FaNutritionix (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 400 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M88 8.1S221.4-.1 209 112.5c0 0 19.1-74.9 103-40.6 0 0-17.7 74-88 56 0 0 14.6-54.6 66.1-56.6 0 0-39.9-10.3-82.1 48.8 0 0-19.8-94.5-93.6-99.7 0 0 75.2 19.4 77.6 107.5 0 .1-106.4 7-104-119.8zm312 315.6c0 48.5-9.7 95.3-32 132.3-42.2 30.9-105 48-168 48-62.9 0-125.8-17.1-168-48C9.7 419 0 372.2 0 323.7 0 275.3 17.7 229 40 192c42.2-30.9 97.1-48.6 160-48.6 63 0 117.8 17.6 160 48.6 22.3 37 40 83.3 40 131.7zM120 428c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zM192 428c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zM264 428c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zM336 428c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm24-39.6c-4.8-22.3-7.4-36.9-16-56-38.8-19.9-90.5-32-144-32S94.8 180.1 56 200c-8.8 19.5-11.2 33.9-16 56 42.2-7.9 98.7-14.8 160-14.8s117.8 6.9 160 14.8z\"},\"child\":[]}]})(props);\n};\nexport function FaOctopusDeploy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M455.6,349.2c-45.891-39.09-36.67-77.877-16.095-128.11C475.16,134.04,415.967,34.14,329.93,8.3,237.04-19.6,134.252,24.341,99.677,117.147a180.862,180.862,0,0,0-10.988,73.544c1.733,29.543,14.717,52.97,24.09,80.3,17.2,50.161-28.1,92.743-66.662,117.582-46.806,30.2-36.319,39.857-8.428,41.858,23.378,1.68,44.478-4.548,65.265-15.045,9.2-4.647,40.687-18.931,45.13-28.588C135.9,413.388,111.122,459.5,126.621,488.9c19.1,36.229,67.112-31.77,76.709-45.812,8.591-12.572,42.963-81.279,63.627-46.926,18.865,31.361,8.6,76.391,35.738,104.622,32.854,34.2,51.155-18.312,51.412-44.221.163-16.411-6.1-95.852,29.9-59.944C405.428,418,436.912,467.8,472.568,463.642c38.736-4.516-22.123-67.967-28.262-78.695,5.393,4.279,53.665,34.128,53.818,9.52C498.234,375.678,468.039,359.8,455.6,349.2Z\"},\"child\":[]}]})(props);\n};\nexport function FaOdnoklassnikiSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M184.2 177.1c0-22.1 17.9-40 39.8-40s39.8 17.9 39.8 40c0 22-17.9 39.8-39.8 39.8s-39.8-17.9-39.8-39.8zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-305.1 97.1c0 44.6 36.4 80.9 81.1 80.9s81.1-36.2 81.1-80.9c0-44.8-36.4-81.1-81.1-81.1s-81.1 36.2-81.1 81.1zm174.5 90.7c-4.6-9.1-17.3-16.8-34.1-3.6 0 0-22.7 18-59.3 18s-59.3-18-59.3-18c-16.8-13.2-29.5-5.5-34.1 3.6-7.9 16.1 1.1 23.7 21.4 37 17.3 11.1 41.2 15.2 56.6 16.8l-12.9 12.9c-18.2 18-35.5 35.5-47.7 47.7-17.6 17.6 10.7 45.8 28.4 28.6l47.7-47.9c18.2 18.2 35.7 35.7 47.7 47.9 17.6 17.2 46-10.7 28.6-28.6l-47.7-47.7-13-12.9c15.5-1.6 39.1-5.9 56.2-16.8 20.4-13.3 29.3-21 21.5-37z\"},\"child\":[]}]})(props);\n};\nexport function FaOdnoklassniki (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M275.1 334c-27.4 17.4-65.1 24.3-90 26.9l20.9 20.6 76.3 76.3c27.9 28.6-17.5 73.3-45.7 45.7-19.1-19.4-47.1-47.4-76.3-76.6L84 503.4c-28.2 27.5-73.6-17.6-45.4-45.7 19.4-19.4 47.1-47.4 76.3-76.3l20.6-20.6c-24.6-2.6-62.9-9.1-90.6-26.9-32.6-21-46.9-33.3-34.3-59 7.4-14.6 27.7-26.9 54.6-5.7 0 0 36.3 28.9 94.9 28.9s94.9-28.9 94.9-28.9c26.9-21.1 47.1-8.9 54.6 5.7 12.4 25.7-1.9 38-34.5 59.1zM30.3 129.7C30.3 58 88.6 0 160 0s129.7 58 129.7 129.7c0 71.4-58.3 129.4-129.7 129.4s-129.7-58-129.7-129.4zm66 0c0 35.1 28.6 63.7 63.7 63.7s63.7-28.6 63.7-63.7c0-35.4-28.6-64-63.7-64s-63.7 28.6-63.7 64z\"},\"child\":[]}]})(props);\n};\nexport function FaOldRepublic (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M235.76 10.23c7.5-.31 15-.28 22.5-.09 3.61.14 7.2.4 10.79.73 4.92.27 9.79 1.03 14.67 1.62 2.93.43 5.83.98 8.75 1.46 7.9 1.33 15.67 3.28 23.39 5.4 12.24 3.47 24.19 7.92 35.76 13.21 26.56 12.24 50.94 29.21 71.63 49.88 20.03 20.09 36.72 43.55 48.89 69.19 1.13 2.59 2.44 5.1 3.47 7.74 2.81 6.43 5.39 12.97 7.58 19.63 4.14 12.33 7.34 24.99 9.42 37.83.57 3.14 1.04 6.3 1.4 9.47.55 3.83.94 7.69 1.18 11.56.83 8.34.84 16.73.77 25.1-.07 4.97-.26 9.94-.75 14.89-.24 3.38-.51 6.76-.98 10.12-.39 2.72-.63 5.46-1.11 8.17-.9 5.15-1.7 10.31-2.87 15.41-4.1 18.5-10.3 36.55-18.51 53.63-15.77 32.83-38.83 62.17-67.12 85.12a246.503 246.503 0 0 1-56.91 34.86c-6.21 2.68-12.46 5.25-18.87 7.41-3.51 1.16-7.01 2.38-10.57 3.39-6.62 1.88-13.29 3.64-20.04 5-4.66.91-9.34 1.73-14.03 2.48-5.25.66-10.5 1.44-15.79 1.74-6.69.66-13.41.84-20.12.81-6.82.03-13.65-.12-20.45-.79-3.29-.23-6.57-.5-9.83-.95-2.72-.39-5.46-.63-8.17-1.11-4.12-.72-8.25-1.37-12.35-2.22-4.25-.94-8.49-1.89-12.69-3.02-8.63-2.17-17.08-5.01-25.41-8.13-10.49-4.12-20.79-8.75-30.64-14.25-2.14-1.15-4.28-2.29-6.35-3.57-11.22-6.58-21.86-14.1-31.92-22.34-34.68-28.41-61.41-66.43-76.35-108.7-3.09-8.74-5.71-17.65-7.8-26.68-1.48-6.16-2.52-12.42-3.58-18.66-.4-2.35-.61-4.73-.95-7.09-.6-3.96-.75-7.96-1.17-11.94-.8-9.47-.71-18.99-.51-28.49.14-3.51.34-7.01.7-10.51.31-3.17.46-6.37.92-9.52.41-2.81.65-5.65 1.16-8.44.7-3.94 1.3-7.9 2.12-11.82 3.43-16.52 8.47-32.73 15.26-48.18 1.15-2.92 2.59-5.72 3.86-8.59 8.05-16.71 17.9-32.56 29.49-47.06 20-25.38 45.1-46.68 73.27-62.47 7.5-4.15 15.16-8.05 23.07-11.37 15.82-6.88 32.41-11.95 49.31-15.38 3.51-.67 7.04-1.24 10.56-1.85 2.62-.47 5.28-.7 7.91-1.08 3.53-.53 7.1-.68 10.65-1.04 2.46-.24 4.91-.36 7.36-.51m8.64 24.41c-9.23.1-18.43.99-27.57 2.23-7.3 1.08-14.53 2.6-21.71 4.3-13.91 3.5-27.48 8.34-40.46 14.42-10.46 4.99-20.59 10.7-30.18 17.22-4.18 2.92-8.4 5.8-12.34 9.03-5.08 3.97-9.98 8.17-14.68 12.59-2.51 2.24-4.81 4.7-7.22 7.06-28.22 28.79-48.44 65.39-57.5 104.69-2.04 8.44-3.54 17.02-4.44 25.65-1.1 8.89-1.44 17.85-1.41 26.8.11 7.14.38 14.28 1.22 21.37.62 7.12 1.87 14.16 3.2 21.18 1.07 4.65 2.03 9.32 3.33 13.91 6.29 23.38 16.5 45.7 30.07 65.75 8.64 12.98 18.78 24.93 29.98 35.77 16.28 15.82 35.05 29.04 55.34 39.22 7.28 3.52 14.66 6.87 22.27 9.63 5.04 1.76 10.06 3.57 15.22 4.98 11.26 3.23 22.77 5.6 34.39 7.06 2.91.29 5.81.61 8.72.9 13.82 1.08 27.74 1 41.54-.43 4.45-.6 8.92-.99 13.35-1.78 3.63-.67 7.28-1.25 10.87-2.1 4.13-.98 8.28-1.91 12.36-3.07 26.5-7.34 51.58-19.71 73.58-36.2 15.78-11.82 29.96-25.76 42.12-41.28 3.26-4.02 6.17-8.31 9.13-12.55 3.39-5.06 6.58-10.25 9.6-15.54 2.4-4.44 4.74-8.91 6.95-13.45 5.69-12.05 10.28-24.62 13.75-37.49 2.59-10.01 4.75-20.16 5.9-30.45 1.77-13.47 1.94-27.1 1.29-40.65-.29-3.89-.67-7.77-1-11.66-2.23-19.08-6.79-37.91-13.82-55.8-5.95-15.13-13.53-29.63-22.61-43.13-12.69-18.8-28.24-35.68-45.97-49.83-25.05-20-54.47-34.55-85.65-42.08-7.78-1.93-15.69-3.34-23.63-4.45-3.91-.59-7.85-.82-11.77-1.24-7.39-.57-14.81-.72-22.22-.58zM139.26 83.53c13.3-8.89 28.08-15.38 43.3-20.18-3.17 1.77-6.44 3.38-9.53 5.29-11.21 6.68-21.52 14.9-30.38 24.49-6.8 7.43-12.76 15.73-17.01 24.89-3.29 6.86-5.64 14.19-6.86 21.71-.93 4.85-1.3 9.81-1.17 14.75.13 13.66 4.44 27.08 11.29 38.82 5.92 10.22 13.63 19.33 22.36 27.26 4.85 4.36 10.24 8.09 14.95 12.6 2.26 2.19 4.49 4.42 6.43 6.91 2.62 3.31 4.89 6.99 5.99 11.1.9 3.02.66 6.2.69 9.31.02 4.1-.04 8.2.03 12.3.14 3.54-.02 7.09.11 10.63.08 2.38.02 4.76.05 7.14.16 5.77.06 11.53.15 17.3.11 2.91.02 5.82.13 8.74.03 1.63.13 3.28-.03 4.91-.91.12-1.82.18-2.73.16-10.99 0-21.88-2.63-31.95-6.93-6-2.7-11.81-5.89-17.09-9.83-5.75-4.19-11.09-8.96-15.79-14.31-6.53-7.24-11.98-15.39-16.62-23.95-1.07-2.03-2.24-4.02-3.18-6.12-1.16-2.64-2.62-5.14-3.67-7.82-4.05-9.68-6.57-19.94-8.08-30.31-.49-4.44-1.09-8.88-1.2-13.35-.7-15.73.84-31.55 4.67-46.82 2.12-8.15 4.77-16.18 8.31-23.83 6.32-14.2 15.34-27.18 26.3-38.19 6.28-6.2 13.13-11.84 20.53-16.67zm175.37-20.12c2.74.74 5.41 1.74 8.09 2.68 6.36 2.33 12.68 4.84 18.71 7.96 13.11 6.44 25.31 14.81 35.82 24.97 10.2 9.95 18.74 21.6 25.14 34.34 1.28 2.75 2.64 5.46 3.81 8.26 6.31 15.1 10 31.26 11.23 47.57.41 4.54.44 9.09.45 13.64.07 11.64-1.49 23.25-4.3 34.53-1.97 7.27-4.35 14.49-7.86 21.18-3.18 6.64-6.68 13.16-10.84 19.24-6.94 10.47-15.6 19.87-25.82 27.22-10.48 7.64-22.64 13.02-35.4 15.38-3.51.69-7.08 1.08-10.66 1.21-1.85.06-3.72.16-5.56-.1-.28-2.15 0-4.31-.01-6.46-.03-3.73.14-7.45.1-11.17.19-7.02.02-14.05.21-21.07.03-2.38-.03-4.76.03-7.14.17-5.07-.04-10.14.14-15.21.1-2.99-.24-6.04.51-8.96.66-2.5 1.78-4.86 3.09-7.08 4.46-7.31 11.06-12.96 17.68-18.26 5.38-4.18 10.47-8.77 15.02-13.84 7.68-8.37 14.17-17.88 18.78-28.27 2.5-5.93 4.52-12.1 5.55-18.46.86-4.37 1.06-8.83 1.01-13.27-.02-7.85-1.4-15.65-3.64-23.17-1.75-5.73-4.27-11.18-7.09-16.45-3.87-6.93-8.65-13.31-13.96-19.2-9.94-10.85-21.75-19.94-34.6-27.1-1.85-1.02-3.84-1.82-5.63-2.97zm-100.8 58.45c.98-1.18 1.99-2.33 3.12-3.38-.61.93-1.27 1.81-1.95 2.68-3.1 3.88-5.54 8.31-7.03 13.06-.87 3.27-1.68 6.6-1.73 10-.07 2.52-.08 5.07.32 7.57 1.13 7.63 4.33 14.85 8.77 21.12 2 2.7 4.25 5.27 6.92 7.33 1.62 1.27 3.53 2.09 5.34 3.05 3.11 1.68 6.32 3.23 9.07 5.48 2.67 2.09 4.55 5.33 4.4 8.79-.01 73.67 0 147.34-.01 221.02 0 1.35-.08 2.7.04 4.04.13 1.48.82 2.83 1.47 4.15.86 1.66 1.78 3.34 3.18 4.62.85.77 1.97 1.4 3.15 1.24 1.5-.2 2.66-1.35 3.45-2.57.96-1.51 1.68-3.16 2.28-4.85.76-2.13.44-4.42.54-6.63.14-4.03-.02-8.06.14-12.09.03-5.89.03-11.77.06-17.66.14-3.62.03-7.24.11-10.86.15-4.03-.02-8.06.14-12.09.03-5.99.03-11.98.07-17.97.14-3.62.02-7.24.11-10.86.14-3.93-.02-7.86.14-11.78.03-5.99.03-11.98.06-17.97.16-3.94-.01-7.88.19-11.82.29 1.44.13 2.92.22 4.38.19 3.61.42 7.23.76 10.84.32 3.44.44 6.89.86 10.32.37 3.1.51 6.22.95 9.31.57 4.09.87 8.21 1.54 12.29 1.46 9.04 2.83 18.11 5.09 26.99 1.13 4.82 2.4 9.61 4 14.3 2.54 7.9 5.72 15.67 10.31 22.62 1.73 2.64 3.87 4.98 6.1 7.21.27.25.55.51.88.71.6.25 1.31-.07 1.7-.57.71-.88 1.17-1.94 1.7-2.93 4.05-7.8 8.18-15.56 12.34-23.31.7-1.31 1.44-2.62 2.56-3.61 1.75-1.57 3.84-2.69 5.98-3.63 2.88-1.22 5.9-2.19 9.03-2.42 6.58-.62 13.11.75 19.56 1.85 3.69.58 7.4 1.17 11.13 1.41 3.74.1 7.48.05 11.21-.28 8.55-.92 16.99-2.96 24.94-6.25 5.3-2.24 10.46-4.83 15.31-7.93 11.46-7.21 21.46-16.57 30.04-27.01 1.17-1.42 2.25-2.9 3.46-4.28-1.2 3.24-2.67 6.37-4.16 9.48-1.25 2.9-2.84 5.61-4.27 8.42-5.16 9.63-11.02 18.91-17.75 27.52-4.03 5.21-8.53 10.05-13.33 14.57-6.64 6.05-14.07 11.37-22.43 14.76-8.21 3.37-17.31 4.63-26.09 3.29-3.56-.58-7.01-1.69-10.41-2.88-2.79-.97-5.39-2.38-8.03-3.69-3.43-1.71-6.64-3.81-9.71-6.08 2.71 3.06 5.69 5.86 8.7 8.61 4.27 3.76 8.74 7.31 13.63 10.23 3.98 2.45 8.29 4.4 12.84 5.51 1.46.37 2.96.46 4.45.6-1.25 1.1-2.63 2.04-3.99 2.98-9.61 6.54-20.01 11.86-30.69 16.43-20.86 8.7-43.17 13.97-65.74 15.34-4.66.24-9.32.36-13.98.36-4.98-.11-9.97-.13-14.92-.65-11.2-.76-22.29-2.73-33.17-5.43-10.35-2.71-20.55-6.12-30.3-10.55-8.71-3.86-17.12-8.42-24.99-13.79-1.83-1.31-3.74-2.53-5.37-4.08 6.6-1.19 13.03-3.39 18.99-6.48 5.74-2.86 10.99-6.66 15.63-11.07 2.24-2.19 4.29-4.59 6.19-7.09-3.43 2.13-6.93 4.15-10.62 5.78-4.41 2.16-9.07 3.77-13.81 5.02-5.73 1.52-11.74 1.73-17.61 1.14-8.13-.95-15.86-4.27-22.51-8.98-4.32-2.94-8.22-6.43-11.96-10.06-9.93-10.16-18.2-21.81-25.66-33.86-3.94-6.27-7.53-12.75-11.12-19.22-1.05-2.04-2.15-4.05-3.18-6.1 2.85 2.92 5.57 5.97 8.43 8.88 8.99 8.97 18.56 17.44 29.16 24.48 7.55 4.9 15.67 9.23 24.56 11.03 3.11.73 6.32.47 9.47.81 2.77.28 5.56.2 8.34.3 5.05.06 10.11.04 15.16-.16 3.65-.16 7.27-.66 10.89-1.09 2.07-.25 4.11-.71 6.14-1.2 3.88-.95 8.11-.96 11.83.61 4.76 1.85 8.44 5.64 11.38 9.71 2.16 3.02 4.06 6.22 5.66 9.58 1.16 2.43 2.46 4.79 3.55 7.26 1 2.24 2.15 4.42 3.42 6.52.67 1.02 1.4 2.15 2.62 2.55 1.06-.75 1.71-1.91 2.28-3.03 2.1-4.16 3.42-8.65 4.89-13.05 2.02-6.59 3.78-13.27 5.19-20.02 2.21-9.25 3.25-18.72 4.54-28.13.56-3.98.83-7.99 1.31-11.97.87-10.64 1.9-21.27 2.24-31.94.08-1.86.24-3.71.25-5.57.01-4.35.25-8.69.22-13.03-.01-2.38-.01-4.76 0-7.13.05-5.07-.2-10.14-.22-15.21-.2-6.61-.71-13.2-1.29-19.78-.73-5.88-1.55-11.78-3.12-17.51-2.05-7.75-5.59-15.03-9.8-21.82-3.16-5.07-6.79-9.88-11.09-14.03-3.88-3.86-8.58-7.08-13.94-8.45-1.5-.41-3.06-.45-4.59-.64.07-2.99.7-5.93 1.26-8.85 1.59-7.71 3.8-15.3 6.76-22.6 1.52-4.03 3.41-7.9 5.39-11.72 3.45-6.56 7.62-12.79 12.46-18.46zm31.27 1.7c.35-.06.71-.12 1.07-.19.19 1.79.09 3.58.1 5.37v38.13c-.01 1.74.13 3.49-.15 5.22-.36-.03-.71-.05-1.06-.05-.95-3.75-1.72-7.55-2.62-11.31-.38-1.53-.58-3.09-1.07-4.59-1.7-.24-3.43-.17-5.15-.2-5.06-.01-10.13 0-15.19-.01-1.66-.01-3.32.09-4.98-.03-.03-.39-.26-.91.16-1.18 1.28-.65 2.72-.88 4.06-1.35 3.43-1.14 6.88-2.16 10.31-3.31 1.39-.48 2.9-.72 4.16-1.54.04-.56.02-1.13-.05-1.68-1.23-.55-2.53-.87-3.81-1.28-3.13-1.03-6.29-1.96-9.41-3.02-1.79-.62-3.67-1-5.41-1.79-.03-.37-.07-.73-.11-1.09 5.09-.19 10.2.06 15.3-.12 3.36-.13 6.73.08 10.09-.07.12-.39.26-.77.37-1.16 1.08-4.94 2.33-9.83 3.39-14.75zm5.97-.2c.36.05.72.12 1.08.2.98 3.85 1.73 7.76 2.71 11.61.36 1.42.56 2.88 1.03 4.27 2.53.18 5.07-.01 7.61.05 5.16.12 10.33.12 15.49.07.76-.01 1.52.03 2.28.08-.04.36-.07.72-.1 1.08-1.82.83-3.78 1.25-5.67 1.89-3.73 1.23-7.48 2.39-11.22 3.57-.57.17-1.12.42-1.67.64-.15.55-.18 1.12-.12 1.69.87.48 1.82.81 2.77 1.09 4.88 1.52 9.73 3.14 14.63 4.6.38.13.78.27 1.13.49.4.27.23.79.15 1.18-1.66.13-3.31.03-4.97.04-5.17.01-10.33-.01-15.5.01-1.61.03-3.22-.02-4.82.21-.52 1.67-.72 3.42-1.17 5.11-.94 3.57-1.52 7.24-2.54 10.78-.36.01-.71.02-1.06.06-.29-1.73-.15-3.48-.15-5.22v-38.13c.02-1.78-.08-3.58.11-5.37zM65.05 168.33c1.12-2.15 2.08-4.4 3.37-6.46-1.82 7.56-2.91 15.27-3.62 23-.8 7.71-.85 15.49-.54 23.23 1.05 19.94 5.54 39.83 14.23 57.88 2.99 5.99 6.35 11.83 10.5 17.11 6.12 7.47 12.53 14.76 19.84 21.09 4.8 4.1 9.99 7.78 15.54 10.8 3.27 1.65 6.51 3.39 9.94 4.68 5.01 2.03 10.19 3.61 15.42 4.94 3.83.96 7.78 1.41 11.52 2.71 5 1.57 9.47 4.61 13.03 8.43 4.93 5.23 8.09 11.87 10.2 18.67.99 2.9 1.59 5.91 2.17 8.92.15.75.22 1.52.16 2.29-6.5 2.78-13.26 5.06-20.26 6.18-4.11.78-8.29.99-12.46 1.08-10.25.24-20.47-1.76-30.12-5.12-3.74-1.42-7.49-2.85-11.03-4.72-8.06-3.84-15.64-8.7-22.46-14.46-2.92-2.55-5.83-5.13-8.4-8.03-9.16-9.83-16.3-21.41-21.79-33.65-2.39-5.55-4.61-11.18-6.37-16.96-1.17-3.94-2.36-7.89-3.26-11.91-.75-2.94-1.22-5.95-1.87-8.92-.46-2.14-.69-4.32-1.03-6.48-.85-5.43-1.28-10.93-1.33-16.43.11-6.18.25-12.37 1.07-18.5.4-2.86.67-5.74 1.15-8.6.98-5.7 2.14-11.37 3.71-16.93 3.09-11.65 7.48-22.95 12.69-33.84zm363.73-6.44c1.1 1.66 1.91 3.48 2.78 5.26 2.1 4.45 4.24 8.9 6.02 13.49 7.61 18.76 12.3 38.79 13.04 59.05.02 1.76.07 3.52.11 5.29.13 9.57-1.27 19.09-3.18 28.45-.73 3.59-1.54 7.17-2.58 10.69-4.04 14.72-10 29-18.41 41.78-8.21 12.57-19.01 23.55-31.84 31.41-5.73 3.59-11.79 6.64-18.05 9.19-5.78 2.19-11.71 4.03-17.8 5.11-6.4 1.05-12.91 1.52-19.4 1.23-7.92-.48-15.78-2.07-23.21-4.85-1.94-.8-3.94-1.46-5.84-2.33-.21-1.51.25-2.99.53-4.46 1.16-5.74 3.03-11.36 5.7-16.58 2.37-4.51 5.52-8.65 9.46-11.9 2.43-2.05 5.24-3.61 8.16-4.83 3.58-1.5 7.47-1.97 11.24-2.83 7.23-1.71 14.37-3.93 21.15-7 10.35-4.65 19.71-11.38 27.65-19.46 1.59-1.61 3.23-3.18 4.74-4.87 3.37-3.76 6.71-7.57 9.85-11.53 7.48-10.07 12.82-21.59 16.71-33.48 1.58-5.3 3.21-10.6 4.21-16.05.63-2.87 1.04-5.78 1.52-8.68.87-6.09 1.59-12.22 1.68-18.38.12-6.65.14-13.32-.53-19.94-.73-7.99-1.87-15.96-3.71-23.78z\"},\"child\":[]}]})(props);\n};\nexport function FaOpencart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M423.3 440.7c0 25.3-20.3 45.6-45.6 45.6s-45.8-20.3-45.8-45.6 20.6-45.8 45.8-45.8c25.4 0 45.6 20.5 45.6 45.8zm-253.9-45.8c-25.3 0-45.6 20.6-45.6 45.8s20.3 45.6 45.6 45.6 45.8-20.3 45.8-45.6-20.5-45.8-45.8-45.8zm291.7-270C158.9 124.9 81.9 112.1 0 25.7c34.4 51.7 53.3 148.9 373.1 144.2 333.3-5 130 86.1 70.8 188.9 186.7-166.7 319.4-233.9 17.2-233.9z\"},\"child\":[]}]})(props);\n};\nexport function FaOpenid (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M271.5 432l-68 32C88.5 453.7 0 392.5 0 318.2c0-71.5 82.5-131 191.7-144.3v43c-71.5 12.5-124 53-124 101.3 0 51 58.5 93.3 135.7 103v-340l68-33.2v384zM448 291l-131.3-28.5 36.8-20.7c-19.5-11.5-43.5-20-70-24.8v-43c46.2 5.5 87.7 19.5 120.3 39.3l35-19.8L448 291z\"},\"child\":[]}]})(props);\n};\nexport function FaOpera (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M313.9 32.7c-170.2 0-252.6 223.8-147.5 355.1 36.5 45.4 88.6 75.6 147.5 75.6 36.3 0 70.3-11.1 99.4-30.4-43.8 39.2-101.9 63-165.3 63-3.9 0-8 0-11.9-.3C104.6 489.6 0 381.1 0 248 0 111 111 0 248 0h.8c63.1.3 120.7 24.1 164.4 63.1-29-19.4-63.1-30.4-99.3-30.4zm101.8 397.7c-40.9 24.7-90.7 23.6-132-5.8 56.2-20.5 97.7-91.6 97.7-176.6 0-84.7-41.2-155.8-97.4-176.6 41.8-29.2 91.2-30.3 132.9-5 105.9 98.7 105.5 265.7-1.2 364z\"},\"child\":[]}]})(props);\n};\nexport function FaOptinMonster (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M572.6 421.4c5.6-9.5 4.7-15.2-5.4-11.6-3-4.9-7-9.5-11.1-13.8 2.9-9.7-.7-14.2-10.8-9.2-4.6-3.2-10.3-6.5-15.9-9.2 0-15.1-11.6-11.6-17.6-5.7-10.4-1.5-18.7-.3-26.8 5.7.3-6.5.3-13 .3-19.7 12.6 0 40.2-11 45.9-36.2 1.4-6.8 1.6-13.8-.3-21.9-3-13.5-14.3-21.3-25.1-25.7-.8-5.9-7.6-14.3-14.9-15.9s-12.4 4.9-14.1 10.3c-8.5 0-19.2 2.8-21.1 8.4-5.4-.5-11.1-1.4-16.8-1.9 2.7-1.9 5.4-3.5 8.4-4.6 5.4-9.2 14.6-11.4 25.7-11.6V256c19.5-.5 43-5.9 53.8-18.1 12.7-13.8 14.6-37.3 12.4-55.1-2.4-17.3-9.7-37.6-24.6-48.1-8.4-5.9-21.6-.8-22.7 9.5-2.2 19.6 1.2 30-38.6 25.1-10.3-23.8-24.6-44.6-42.7-60C341 49.6 242.9 55.5 166.4 71.7c19.7 4.6 41.1 8.6 59.7 16.5-26.2 2.4-52.7 11.3-76.2 23.2-32.8 17-44 29.9-56.7 42.4 14.9-2.2 28.9-5.1 43.8-3.8-9.7 5.4-18.4 12.2-26.5 20-25.8.9-23.8-5.3-26.2-25.9-1.1-10.5-14.3-15.4-22.7-9.7-28.1 19.9-33.5 79.9-12.2 103.5 10.8 12.2 35.1 17.3 54.9 17.8-.3 1.1-.3 1.9-.3 2.7 10.8.5 19.5 2.7 24.6 11.6 3 1.1 5.7 2.7 8.1 4.6-5.4.5-11.1 1.4-16.5 1.9-3.3-6.6-13.7-8.1-21.1-8.1-1.6-5.7-6.5-12.2-14.1-10.3-6.8 1.9-14.1 10-14.9 15.9-22.5 9.5-30.1 26.8-25.1 47.6 5.3 24.8 33 36.2 45.9 36.2v19.7c-6.6-5-14.3-7.5-26.8-5.7-5.5-5.5-17.3-10.1-17.3 5.7-5.9 2.7-11.4 5.9-15.9 9.2-9.8-4.9-13.6-1.7-11.1 9.2-4.1 4.3-7.8 8.6-11.1 13.8-10.2-3.7-11 2.2-5.4 11.6-1.1 3.5-1.6 7-1.9 10.8-.5 31.6 44.6 64 73.5 65.1 17.3.5 34.6-8.4 43-23.5 113.2 4.9 226.7 4.1 340.2 0 8.1 15.1 25.4 24.3 42.7 23.5 29.2-1.1 74.3-33.5 73.5-65.1.2-3.7-.7-7.2-1.7-10.7zm-73.8-254c1.1-3 2.4-8.4 2.4-14.6 0-5.9 6.8-8.1 14.1-.8 11.1 11.6 14.9 40.5 13.8 51.1-4.1-13.6-13-29-30.3-35.7zm-4.6 6.7c19.5 6.2 28.6 27.6 29.7 48.9-1.1 2.7-3 5.4-4.9 7.6-5.7 5.9-15.4 10-26.2 12.2 4.3-21.3.3-47.3-12.7-63 4.9-.8 10.9-2.4 14.1-5.7zm-24.1 6.8c13.8 11.9 20 39.2 14.1 63.5-4.1.5-8.1.8-11.6.8-1.9-21.9-6.8-44-14.3-64.6 3.7.3 8.1.3 11.8.3zM47.5 203c-1.1-10.5 2.4-39.5 13.8-51.1 7-7.3 14.1-5.1 14.1.8 0 6.2 1.4 11.6 2.4 14.6-17.3 6.8-26.2 22.2-30.3 35.7zm9.7 27.6c-1.9-2.2-3.5-4.9-4.9-7.6 1.4-21.3 10.3-42.7 29.7-48.9 3.2 3.2 9.2 4.9 14.1 5.7-13 15.7-17 41.6-12.7 63-10.8-2.2-20.5-6-26.2-12.2zm47.9 14.6c-4.1 0-8.1-.3-12.7-.8-4.6-18.6-1.9-38.9 5.4-53v.3l12.2-5.1c4.9-1.9 9.7-3.8 14.9-4.9-10.7 19.7-17.4 41.3-19.8 63.5zm184-162.7c41.9 0 76.2 34 76.2 75.9 0 42.2-34.3 76.2-76.2 76.2s-76.2-34-76.2-76.2c0-41.8 34.3-75.9 76.2-75.9zm115.6 174.3c-.3 17.8-7 48.9-23 57-13.2 6.6-6.5-7.5-16.5-58.1 13.3.3 26.6.3 39.5 1.1zm-54-1.6c.8 4.9 3.8 40.3-1.6 41.9-11.6 3.5-40 4.3-51.1-1.1-4.1-3-4.6-35.9-4.3-41.1v.3c18.9-.3 38.1-.3 57 0zM278.3 309c-13 3.5-41.6 4.1-54.6-1.6-6.5-2.7-3.8-42.4-1.9-51.6 19.2-.5 38.4-.5 57.8-.8v.3c1.1 8.3 3.3 51.2-1.3 53.7zm-106.5-51.1c12.2-.8 24.6-1.4 36.8-1.6-2.4 15.4-3 43.5-4.9 52.2-1.1 6.8-4.3 6.8-9.7 4.3-21.9-9.8-27.6-35.2-22.2-54.9zm-35.4 31.3c7.8-1.1 15.7-1.9 23.5-2.7 1.6 6.2 3.8 11.9 7 17.6 10 17 44 35.7 45.1 7 6.2 14.9 40.8 12.2 54.9 10.8 15.7-1.4 23.8-1.4 26.8-14.3 12.4 4.3 30.8 4.1 44 3 11.3-.8 20.8-.5 24.6-8.9 1.1 5.1 1.9 11.6 4.6 16.8 10.8 21.3 37.3 1.4 46.8-31.6 8.6.8 17.6 1.9 26.5 2.7-.4 1.3-3.8 7.3 7.3 11.6-47.6 47-95.7 87.8-163.2 107-63.2-20.8-112.1-59.5-155.9-106.5 9.6-3.4 10.4-8.8 8-12.5zm-21.6 172.5c-3.8 17.8-21.9 29.7-39.7 28.9-19.2-.8-46.5-17-59.2-36.5-2.7-31.1 43.8-61.3 66.2-54.6 14.9 4.3 27.8 30.8 33.5 54 0 3-.3 5.7-.8 8.2zm-8.7-66c-.5-13.5-.5-27-.3-40.5h.3c2.7-1.6 5.7-3.8 7.8-6.5 6.5-1.6 13-5.1 15.1-9.2 3.3-7.1-7-7.5-5.4-12.4 2.7-1.1 5.7-2.2 7.8-3.5 29.2 29.2 58.6 56.5 97.3 77-36.8 11.3-72.4 27.6-105.9 47-1.2-18.6-7.7-35.9-16.7-51.9zm337.6 64.6c-103 3.5-206.2 4.1-309.4 0 0 .3 0 .3-.3.3v-.3h.3c35.1-21.6 72.2-39.2 112.4-50.8 11.6 5.1 23 9.5 34.9 13.2 2.2.8 2.2.8 4.3 0 14.3-4.1 28.4-9.2 42.2-15.4 41.5 11.7 78.8 31.7 115.6 53zm10.5-12.4c-35.9-19.5-73-35.9-111.9-47.6 38.1-20 71.9-47.3 103.5-76.7 2.2 1.4 4.6 2.4 7.6 3.2 0 .8.3 1.9.5 2.4-4.6 2.7-7.8 6.2-5.9 10.3 2.2 3.8 8.6 7.6 15.1 8.9 2.4 2.7 5.1 5.1 8.1 6.8 0 13.8-.3 27.6-.8 41.3l.3-.3c-9.3 15.9-15.5 37-16.5 51.7zm105.9 6.2c-12.7 19.5-40 35.7-59.2 36.5-19.3.9-40.5-13.2-40.5-37 5.7-23.2 18.9-49.7 33.5-54 22.7-6.9 69.2 23.4 66.2 54.5zM372.9 75.2c-3.8-72.1-100.8-79.7-126-23.5 44.6-24.3 90.3-15.7 126 23.5zM74.8 407.1c-15.7 1.6-49.5 25.4-49.5 43.2 0 11.6 15.7 19.5 32.2 14.9 12.2-3.2 31.1-17.6 35.9-27.3 6-11.6-3.7-32.7-18.6-30.8zm215.9-176.2c28.6 0 51.9-21.6 51.9-48.4 0-36.1-40.5-58.1-72.2-44.3 9.5 3 16.5 11.6 16.5 21.6 0 23.3-33.3 32-46.5 11.3-7.3 34.1 19.4 59.8 50.3 59.8zM68 474.1c.5 6.5 12.2 12.7 21.6 9.5 6.8-2.7 14.6-10.5 17.3-16.2 3-7-1.1-20-9.7-18.4-8.9 1.6-29.7 16.7-29.2 25.1zm433.2-67c-14.9-1.9-24.6 19.2-18.9 30.8 4.9 9.7 24.1 24.1 36.2 27.3 16.5 4.6 32.2-3.2 32.2-14.9 0-17.8-33.8-41.6-49.5-43.2zM478.8 449c-8.4-1.6-12.4 11.3-9.5 18.4 2.4 5.7 10.3 13.5 17.3 16.2 9.2 3.2 21.1-3 21.3-9.5.9-8.4-20.2-23.5-29.1-25.1z\"},\"child\":[]}]})(props);\n};\nexport function FaOrcid (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M294.75 188.19h-45.92V342h47.47c67.62 0 83.12-51.34 83.12-76.91 0-41.64-26.54-76.9-84.67-76.9zM256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm-80.79 360.76h-29.84v-207.5h29.84zm-14.92-231.14a19.57 19.57 0 1 1 19.57-19.57 19.64 19.64 0 0 1-19.57 19.57zM300 369h-81V161.26h80.6c76.73 0 110.44 54.83 110.44 103.85C410 318.39 368.38 369 300 369z\"},\"child\":[]}]})(props);\n};\nexport function FaOsi (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 266.44C10.3 130.64 105.4 34 221.8 18.34c138.8-18.6 255.6 75.8 278 201.1 21.3 118.8-44 230-151.6 274-9.3 3.8-14.4 1.7-18-7.7q-26.7-69.45-53.4-139c-3.1-8.1-1-13.2 7-16.8 24.2-11 39.3-29.4 43.3-55.8a71.47 71.47 0 0 0-64.5-82.2c-39-3.4-71.8 23.7-77.5 59.7-5.2 33 11.1 63.7 41.9 77.7 9.6 4.4 11.5 8.6 7.8 18.4q-26.85 69.9-53.7 139.9c-2.6 6.9-8.3 9.3-15.5 6.5-52.6-20.3-101.4-61-130.8-119-24.9-49.2-25.2-87.7-26.8-108.7zm20.9-1.9c.4 6.6.6 14.3 1.3 22.1 6.3 71.9 49.6 143.5 131 183.1 3.2 1.5 4.4.8 5.6-2.3q22.35-58.65 45-117.3c1.3-3.3.6-4.8-2.4-6.7-31.6-19.9-47.3-48.5-45.6-86 1-21.6 9.3-40.5 23.8-56.3 30-32.7 77-39.8 115.5-17.6a91.64 91.64 0 0 1 45.2 90.4c-3.6 30.6-19.3 53.9-45.7 69.8-2.7 1.6-3.5 2.9-2.3 6q22.8 58.8 45.2 117.7c1.2 3.1 2.4 3.8 5.6 2.3 35.5-16.6 65.2-40.3 88.1-72 34.8-48.2 49.1-101.9 42.3-161-13.7-117.5-119.4-214.8-255.5-198-106.1 13-195.3 102.5-197.1 225.8z\"},\"child\":[]}]})(props);\n};\nexport function FaPage4 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 504C111 504 0 393 0 256S111 8 248 8c20.9 0 41.3 2.6 60.7 7.5L42.3 392H248v112zm0-143.6V146.8L98.6 360.4H248zm96 31.6v92.7c45.7-19.2 84.5-51.7 111.4-92.7H344zm57.4-138.2l-21.2 8.4 21.2 8.3v-16.7zm-20.3 54.5c-6.7 0-8 6.3-8 12.9v7.7h16.2v-10c0-5.9-2.3-10.6-8.2-10.6zM496 256c0 37.3-8.2 72.7-23 104.4H344V27.3C433.3 64.8 496 153.1 496 256zM360.4 143.6h68.2V96h-13.9v32.6h-13.9V99h-13.9v29.6h-12.7V96h-13.9v47.6zm68.1 185.3H402v-11c0-15.4-5.6-25.2-20.9-25.2-15.4 0-20.7 10.6-20.7 25.9v25.3h68.2v-15zm0-103l-68.2 29.7V268l68.2 29.5v-16.6l-14.4-5.7v-26.5l14.4-5.9v-16.9zm-4.8-68.5h-35.6V184H402v-12.2h11c8.6 15.8 1.3 35.3-18.6 35.3-22.5 0-28.3-25.3-15.5-37.7l-11.6-10.6c-16.2 17.5-12.2 63.9 27.1 63.9 34 0 44.7-35.9 29.3-65.3z\"},\"child\":[]}]})(props);\n};\nexport function FaPagelines (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 312.7c-55.1 136.7-187.1 54-187.1 54-40.5 81.8-107.4 134.4-184.6 134.7-16.1 0-16.6-24.4 0-24.4 64.4-.3 120.5-42.7 157.2-110.1-41.1 15.9-118.6 27.9-161.6-82.2 109-44.9 159.1 11.2 178.3 45.5 9.9-24.4 17-50.9 21.6-79.7 0 0-139.7 21.9-149.5-98.1 119.1-47.9 152.6 76.7 152.6 76.7 1.6-16.7 3.3-52.6 3.3-53.4 0 0-106.3-73.7-38.1-165.2 124.6 43 61.4 162.4 61.4 162.4.5 1.6.5 23.8 0 33.4 0 0 45.2-89 136.4-57.5-4.2 134-141.9 106.4-141.9 106.4-4.4 27.4-11.2 53.4-20 77.5 0 0 83-91.8 172-20z\"},\"child\":[]}]})(props);\n};\nexport function FaPalfed (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384.9 193.9c0-47.4-55.2-44.2-95.4-29.8-1.3 39.4-2.5 80.7-3 119.8.7 2.8 2.6 6.2 15.1 6.2 36.8 0 83.4-42.8 83.3-96.2zm-194.5 72.2c.2 0 6.5-2.7 11.2-2.7 26.6 0 20.7 44.1-14.4 44.1-21.5 0-37.1-18.1-37.1-43 0-42 42.9-95.6 100.7-126.5 1-12.4 3-22 10.5-28.2 11.2-9 26.6-3.5 29.5 11.1 72.2-22.2 135.2 1 135.2 72 0 77.9-79.3 152.6-140.1 138.2-.1 39.4.9 74.4 2.7 100v.2c.2 3.4.6 12.5-5.3 19.1-9.6 10.6-33.4 10-36.4-22.3-4.1-44.4.2-206.1 1.4-242.5-21.5 15-58.5 50.3-58.5 75.9.2 2.5.4 4 .6 4.6zM8 181.1s-.1 37.4 38.4 37.4h30l22.4 217.2s0 44.3 44.7 44.3h288.9s44.7-.4 44.7-44.3l22.4-217.2h30s38.4 1.2 38.4-37.4c0 0 .1-37.4-38.4-37.4h-30.1c-7.3-25.6-30.2-74.3-119.4-74.3h-28V50.3s-2.7-18.4-21.1-18.4h-85.8s-21.1 0-21.1 18.4v19.1h-28.1s-105 4.2-120.5 74.3h-29S8 142.5 8 181.1z\"},\"child\":[]}]})(props);\n};\nexport function FaPatreon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 194.8c0 101.3-82.4 183.8-183.8 183.8-101.7 0-184.4-82.4-184.4-183.8 0-101.6 82.7-184.3 184.4-184.3C429.6 10.5 512 93.2 512 194.8zM0 501.5h90v-491H0v491z\"},\"child\":[]}]})(props);\n};\nexport function FaPaypal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M111.4 295.9c-3.5 19.2-17.4 108.7-21.5 134-.3 1.8-1 2.5-3 2.5H12.3c-7.6 0-13.1-6.6-12.1-13.9L58.8 46.6c1.5-9.6 10.1-16.9 20-16.9 152.3 0 165.1-3.7 204 11.4 60.1 23.3 65.6 79.5 44 140.3-21.5 62.6-72.5 89.5-140.1 90.3-43.4.7-69.5-7-75.3 24.2zM357.1 152c-1.8-1.3-2.5-1.8-3 1.3-2 11.4-5.1 22.5-8.8 33.6-39.9 113.8-150.5 103.9-204.5 103.9-6.1 0-10.1 3.3-10.9 9.4-22.6 140.4-27.1 169.7-27.1 169.7-1 7.1 3.5 12.9 10.6 12.9h63.5c8.6 0 15.7-6.3 17.4-14.9.7-5.4-1.1 6.1 14.4-91.3 4.6-22 14.3-19.7 29.3-19.7 71 0 126.4-28.8 142.9-112.3 6.5-34.8 4.6-71.4-23.8-92.6z\"},\"child\":[]}]})(props);\n};\nexport function FaPennyArcade (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M421.91 164.27c-4.49 19.45-1.4 6.06-15.1 65.29l39.73-10.61c-22.34-49.61-17.29-38.41-24.63-54.68zm-206.09 51.11c-20.19 5.4-11.31 3.03-39.63 10.58l4.46 46.19c28.17-7.59 20.62-5.57 34.82-9.34 42.3-9.79 32.85-56.42.35-47.43zm326.16-26.19l-45.47-99.2c-5.69-12.37-19.46-18.84-32.62-15.33-70.27 18.75-38.72 10.32-135.59 36.23a27.618 27.618 0 0 0-18.89 17.41C144.26 113.27 0 153.75 0 226.67c0 33.5 30.67 67.11 80.9 95.37l1.74 17.88a27.891 27.891 0 0 0-17.77 28.67l4.3 44.48c1.39 14.31 13.43 25.21 27.8 25.2 5.18-.01-3.01 1.78 122.53-31.76 12.57-3.37 21.12-15.02 20.58-28.02 216.59 45.5 401.99-5.98 399.89-84.83.01-28.15-22.19-66.56-97.99-104.47zM255.14 298.3l-21.91 5.88-48.44 12.91 2.46 23.55 20.53-5.51 4.51 44.51-115.31 30.78-4.3-44.52 20.02-5.35-11.11-114.64-20.12 5.39-4.35-44.5c178.15-47.54 170.18-46.42 186.22-46.65 56.66-1.13 64.15 71.84 42.55 104.43a86.7 86.7 0 0 1-50.75 33.72zm199.18 16.62l-3.89-39.49 14.9-3.98-6.61-14.68-57.76 15.42-4.1 17.54 19.2-5.12 4.05 39.54-112.85 30.07-4.46-44.43 20.99-5.59 33.08-126.47-17.15 4.56-4.2-44.48c93.36-24.99 65.01-17.41 135.59-36.24l66.67 145.47 20.79-5.56 4.3 44.48-108.55 28.96z\"},\"child\":[]}]})(props);\n};\nexport function FaPerbyte (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M305.314,284.578H246.6V383.3h58.711q24.423,0,38.193-13.77t13.77-36.11q0-21.826-14.032-35.335T305.314,284.578ZM149.435,128.7H90.724v98.723h58.711q24.42,0,38.19-13.773t13.77-36.107q0-21.826-14.029-35.338T149.435,128.7ZM366.647,32H81.353A81.445,81.445,0,0,0,0,113.352V398.647A81.445,81.445,0,0,0,81.353,480H366.647A81.445,81.445,0,0,0,448,398.647V113.352A81.445,81.445,0,0,0,366.647,32Zm63.635,366.647a63.706,63.706,0,0,1-63.635,63.635H81.353a63.706,63.706,0,0,1-63.635-63.635V113.352A63.706,63.706,0,0,1,81.353,49.718H366.647a63.706,63.706,0,0,1,63.635,63.634ZM305.314,128.7H246.6v98.723h58.711q24.423,0,38.193-13.773t13.77-36.107q0-21.826-14.032-35.338T305.314,128.7Z\"},\"child\":[]}]})(props);\n};\nexport function FaPeriscope (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M370 63.6C331.4 22.6 280.5 0 226.6 0 111.9 0 18.5 96.2 18.5 214.4c0 75.1 57.8 159.8 82.7 192.7C137.8 455.5 192.6 512 226.6 512c41.6 0 112.9-94.2 120.9-105 24.6-33.1 82-118.3 82-192.6 0-56.5-21.1-110.1-59.5-150.8zM226.6 493.9c-42.5 0-190-167.3-190-279.4 0-107.4 83.9-196.3 190-196.3 100.8 0 184.7 89 184.7 196.3.1 112.1-147.4 279.4-184.7 279.4zM338 206.8c0 59.1-51.1 109.7-110.8 109.7-100.6 0-150.7-108.2-92.9-181.8v.4c0 24.5 20.1 44.4 44.8 44.4 24.7 0 44.8-19.9 44.8-44.4 0-18.2-11.1-33.8-26.9-40.7 76.6-19.2 141 39.3 141 112.4z\"},\"child\":[]}]})(props);\n};\nexport function FaPhabricator (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M323 262.1l-.1-13s21.7-19.8 21.1-21.2l-9.5-20c-.6-1.4-29.5-.5-29.5-.5l-9.4-9.3s.2-28.5-1.2-29.1l-20.1-9.2c-1.4-.6-20.7 21-20.7 21l-13.1-.2s-20.5-21.4-21.9-20.8l-20 8.3c-1.4.5.2 28.9.2 28.9l-9.1 9.1s-29.2-.9-29.7.4l-8.1 19.8c-.6 1.4 21 21 21 21l.1 12.9s-21.7 19.8-21.1 21.2l9.5 20c.6 1.4 29.5.5 29.5.5l9.4 9.3s-.2 31.8 1.2 32.3l20.1 8.3c1.4.6 20.7-23.5 20.7-23.5l13.1.2s20.5 23.8 21.8 23.3l20-7.5c1.4-.6-.2-32.1-.2-32.1l9.1-9.1s29.2.9 29.7-.5l8.1-19.8c.7-1.1-20.9-20.7-20.9-20.7zm-44.9-8.7c.7 17.1-12.8 31.6-30.1 32.4-17.3.8-32.1-12.5-32.8-29.6-.7-17.1 12.8-31.6 30.1-32.3 17.3-.8 32.1 12.5 32.8 29.5zm201.2-37.9l-97-97-.1.1c-75.1-73.3-195.4-72.8-269.8 1.6-50.9 51-27.8 27.9-95.7 95.3-22.3 22.3-22.3 58.7 0 81 69.9 69.4 46.4 46 97.4 97l.1-.1c75.1 73.3 195.4 72.9 269.8-1.6 51-50.9 27.9-27.9 95.3-95.3 22.3-22.3 22.3-58.7 0-81zM140.4 363.8c-59.6-59.5-59.6-156 0-215.5 59.5-59.6 156-59.5 215.6 0 59.5 59.5 59.6 156 0 215.6-59.6 59.5-156 59.4-215.6-.1z\"},\"child\":[]}]})(props);\n};\nexport function FaPhoenixFramework (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M212.9 344.3c3.8-.1 22.8-1.4 25.6-2.2-2.4-2.6-43.6-1-68-49.6-4.3-8.6-7.5-17.6-6.4-27.6 2.9-25.5 32.9-30 52-18.5 36 21.6 63.3 91.3 113.7 97.5 37 4.5 84.6-17 108.2-45.4-.6-.1-.8-.2-1-.1-.4.1-.8.2-1.1.3-33.3 12.1-94.3 9.7-134.7-14.8-37.6-22.8-53.1-58.7-51.8-74.6 1.8-21.3 22.9-23.2 35.9-19.6 14.4 3.9 24.4 17.6 38.9 27.4 15.6 10.4 32.9 13.7 51.3 10.3 14.9-2.7 34.4-12.3 36.5-14.5-1.1-.1-1.8-.1-2.5-.2-6.2-.6-12.4-.8-18.5-1.7C279.8 194.5 262.1 47.4 138.5 37.9 94.2 34.5 39.1 46 2.2 72.9c-.8.6-1.5 1.2-2.2 1.8.1.2.1.3.2.5.8 0 1.6-.1 2.4-.2 6.3-1 12.5-.8 18.7.3 23.8 4.3 47.7 23.1 55.9 76.5 5.3 34.3-.7 50.8 8 86.1 19 77.1 91 107.6 127.7 106.4zM75.3 64.9c-.9-1-.9-1.2-1.3-2 12.1-2.6 24.2-4.1 36.6-4.8-1.1 14.7-22.2 21.3-35.3 6.8zm196.9 350.5c-42.8 1.2-92-26.7-123.5-61.4-4.6-5-16.8-20.2-18.6-23.4l.4-.4c6.6 4.1 25.7 18.6 54.8 27 24.2 7 48.1 6.3 71.6-3.3 22.7-9.3 41-.5 43.1 2.9-18.5 3.8-20.1 4.4-24 7.9-5.1 4.4-4.6 11.7 7 17.2 26.2 12.4 63-2.8 97.2 25.4 2.4 2 8.1 7.8 10.1 10.7-.1.2-.3.3-.4.5-4.8-1.5-16.4-7.5-40.2-9.3-24.7-2-46.3 5.3-77.5 6.2zm174.8-252c16.4-5.2 41.3-13.4 66.5-3.3 16.1 6.5 26.2 18.7 32.1 34.6 3.5 9.4 5.1 19.7 5.1 28.7-.2 0-.4 0-.6.1-.2-.4-.4-.9-.5-1.3-5-22-29.9-43.8-67.6-29.9-50.2 18.6-130.4 9.7-176.9-48-.7-.9-2.4-1.7-1.3-3.2.1-.2 2.1.6 3 1.3 18.1 13.4 38.3 21.9 60.3 26.2 30.5 6.1 54.6 2.9 79.9-5.2zm102.7 117.5c-32.4.2-33.8 50.1-103.6 64.4-18.2 3.7-38.7 4.6-44.9 4.2v-.4c2.8-1.5 14.7-2.6 29.7-16.6 7.9-7.3 15.3-15.1 22.8-22.9 19.5-20.2 41.4-42.2 81.9-39 23.1 1.8 29.3 8.2 36.1 12.7.3.2.4.5.7.9-.5 0-.7.1-.9 0-7-2.7-14.3-3.3-21.8-3.3zm-12.3-24.1c-.1.2-.1.4-.2.6-28.9-4.4-48-7.9-68.5 4-17 9.9-31.4 20.5-62 24.4-27.1 3.4-45.1 2.4-66.1-8-.3-.2-.6-.4-1-.6 0-.2.1-.3.1-.5 24.9 3.8 36.4 5.1 55.5-5.8 22.3-12.9 40.1-26.6 71.3-31 29.6-4.1 51.3 2.5 70.9 16.9zM268.6 97.3c-.6-.6-1.1-1.2-2.1-2.3 7.6 0 29.7-1.2 53.4 8.4 19.7 8 32.2 21 50.2 32.9 11.1 7.3 23.4 9.3 36.4 8.1 4.3-.4 8.5-1.2 12.8-1.7.4-.1.9 0 1.5.3-.6.4-1.2.9-1.8 1.2-8.1 4-16.7 6.3-25.6 7.1-26.1 2.6-50.3-3.7-73.4-15.4-19.3-9.9-36.4-22.9-51.4-38.6zM640 335.7c-3.5 3.1-22.7 11.6-42.7 5.3-12.3-3.9-19.5-14.9-31.6-24.1-10-7.6-20.9-7.9-28.1-8.4.6-.8.9-1.2 1.2-1.4 14.8-9.2 30.5-12.2 47.3-6.5 12.5 4.2 19.2 13.5 30.4 24.2 10.8 10.4 21 9.9 23.1 10.5.1-.1.2 0 .4.4zm-212.5 137c2.2 1.2 1.6 1.5 1.5 2-18.5-1.4-33.9-7.6-46.8-22.2-21.8-24.7-41.7-27.9-48.6-29.7.5-.2.8-.4 1.1-.4 13.1.1 26.1.7 38.9 3.9 25.3 6.4 35 25.4 41.6 35.3 3.2 4.8 7.3 8.3 12.3 11.1z\"},\"child\":[]}]})(props);\n};\nexport function FaPhoenixSquadron (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M96 63.38C142.49 27.25 201.55 7.31 260.51 8.81c29.58-.38 59.11 5.37 86.91 15.33-24.13-4.63-49-6.34-73.38-2.45C231.17 27 191 48.84 162.21 80.87c5.67-1 10.78-3.67 16-5.86 18.14-7.87 37.49-13.26 57.23-14.83 19.74-2.13 39.64-.43 59.28 1.92-14.42 2.79-29.12 4.57-43 9.59-34.43 11.07-65.27 33.16-86.3 62.63-13.8 19.71-23.63 42.86-24.67 67.13-.35 16.49 5.22 34.81 19.83 44a53.27 53.27 0 0 0 37.52 6.74c15.45-2.46 30.07-8.64 43.6-16.33 11.52-6.82 22.67-14.55 32-24.25 3.79-3.22 2.53-8.45 2.62-12.79-2.12-.34-4.38-1.11-6.3.3a203 203 0 0 1-35.82 15.37c-20 6.17-42.16 8.46-62.1.78 12.79 1.73 26.06.31 37.74-5.44 20.23-9.72 36.81-25.2 54.44-38.77a526.57 526.57 0 0 1 88.9-55.31c25.71-12 52.94-22.78 81.57-24.12-15.63 13.72-32.15 26.52-46.78 41.38-14.51 14-27.46 29.5-40.11 45.18-3.52 4.6-8.95 6.94-13.58 10.16a150.7 150.7 0 0 0-51.89 60.1c-9.33 19.68-14.5 41.85-11.77 63.65 1.94 13.69 8.71 27.59 20.9 34.91 12.9 8 29.05 8.07 43.48 5.1 32.8-7.45 61.43-28.89 81-55.84 20.44-27.52 30.52-62.2 29.16-96.35-.52-7.5-1.57-15-1.66-22.49 8 19.48 14.82 39.71 16.65 60.83 2 14.28.75 28.76-1.62 42.9-1.91 11-5.67 21.51-7.78 32.43a165 165 0 0 0 39.34-81.07 183.64 183.64 0 0 0-14.21-104.64c20.78 32 32.34 69.58 35.71 107.48.49 12.73.49 25.51 0 38.23A243.21 243.21 0 0 1 482 371.34c-26.12 47.34-68 85.63-117.19 108-78.29 36.23-174.68 31.32-248-14.68A248.34 248.34 0 0 1 25.36 366 238.34 238.34 0 0 1 0 273.08v-31.34C3.93 172 40.87 105.82 96 63.38m222 80.33a79.13 79.13 0 0 0 16-4.48c5-1.77 9.24-5.94 10.32-11.22-8.96 4.99-17.98 9.92-26.32 15.7z\"},\"child\":[]}]})(props);\n};\nexport function FaPhp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M320 104.5c171.4 0 303.2 72.2 303.2 151.5S491.3 407.5 320 407.5c-171.4 0-303.2-72.2-303.2-151.5S148.7 104.5 320 104.5m0-16.8C143.3 87.7 0 163 0 256s143.3 168.3 320 168.3S640 349 640 256 496.7 87.7 320 87.7zM218.2 242.5c-7.9 40.5-35.8 36.3-70.1 36.3l13.7-70.6c38 0 63.8-4.1 56.4 34.3zM97.4 350.3h36.7l8.7-44.8c41.1 0 66.6 3 90.2-19.1 26.1-24 32.9-66.7 14.3-88.1-9.7-11.2-25.3-16.7-46.5-16.7h-70.7L97.4 350.3zm185.7-213.6h36.5l-8.7 44.8c31.5 0 60.7-2.3 74.8 10.7 14.8 13.6 7.7 31-8.3 113.1h-37c15.4-79.4 18.3-86 12.7-92-5.4-5.8-17.7-4.6-47.4-4.6l-18.8 96.6h-36.5l32.7-168.6zM505 242.5c-8 41.1-36.7 36.3-70.1 36.3l13.7-70.6c38.2 0 63.8-4.1 56.4 34.3zM384.2 350.3H421l8.7-44.8c43.2 0 67.1 2.5 90.2-19.1 26.1-24 32.9-66.7 14.3-88.1-9.7-11.2-25.3-16.7-46.5-16.7H417l-32.8 168.7z\"},\"child\":[]}]})(props);\n};\nexport function FaPiedPiperAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M244 246c-3.2-2-6.3-2.9-10.1-2.9-6.6 0-12.6 3.2-19.3 3.7l1.7 4.9zm135.9 197.9c-19 0-64.1 9.5-79.9 19.8l6.9 45.1c35.7 6.1 70.1 3.6 106-9.8-4.8-10-23.5-55.1-33-55.1zM340.8 177c6.6 2.8 11.5 9.2 22.7 22.1 2-1.4 7.5-5.2 7.5-8.6 0-4.9-11.8-13.2-13.2-23 11.2-5.7 25.2-6 37.6-8.9 68.1-16.4 116.3-52.9 146.8-116.7C548.3 29.3 554 16.1 554.6 2l-2 2.6c-28.4 50-33 63.2-81.3 100-31.9 24.4-69.2 40.2-106.6 54.6l-6.3-.3v-21.8c-19.6 1.6-19.7-14.6-31.6-23-18.7 20.6-31.6 40.8-58.9 51.1-12.7 4.8-19.6 10-25.9 21.8 34.9-16.4 91.2-13.5 98.8-10zM555.5 0l-.6 1.1-.3.9.6-.6zm-59.2 382.1c-33.9-56.9-75.3-118.4-150-115.5l-.3-6c-1.1-13.5 32.8 3.2 35.1-31l-14.4 7.2c-19.8-45.7-8.6-54.3-65.5-54.3-14.7 0-26.7 1.7-41.4 4.6 2.9 18.6 2.2 36.7-10.9 50.3l19.5 5.5c-1.7 3.2-2.9 6.3-2.9 9.8 0 21 42.8 2.9 42.8 33.6 0 18.4-36.8 60.1-54.9 60.1-8 0-53.7-50-53.4-60.1l.3-4.6 52.3-11.5c13-2.6 12.3-22.7-2.9-22.7-3.7 0-43.1 9.2-49.4 10.6-2-5.2-7.5-14.1-13.8-14.1-3.2 0-6.3 3.2-9.5 4-9.2 2.6-31 2.9-21.5 20.1L15.9 298.5c-5.5 1.1-8.9 6.3-8.9 11.8 0 6 5.5 10.9 11.5 10.9 8 0 131.3-28.4 147.4-32.2 2.6 3.2 4.6 6.3 7.8 8.6 20.1 14.4 59.8 85.9 76.4 85.9 24.1 0 58-22.4 71.3-41.9 3.2-4.3 6.9-7.5 12.4-6.9.6 13.8-31.6 34.2-33 43.7-1.4 10.2-1 35.2-.3 41.1 26.7 8.1 52-3.6 77.9-2.9 4.3-21 10.6-41.9 9.8-63.5l-.3-9.5c-1.4-34.2-10.9-38.5-34.8-58.6-1.1-1.1-2.6-2.6-3.7-4 2.2-1.4 1.1-1 4.6-1.7 88.5 0 56.3 183.6 111.5 229.9 33.1-15 72.5-27.9 103.5-47.2-29-25.6-52.6-45.7-72.7-79.9zm-196.2 46.1v27.2l11.8-3.4-2.9-23.8zm-68.7-150.4l24.1 61.2 21-13.8-31.3-50.9zm84.4 154.9l2 12.4c9-1.5 58.4-6.6 58.4-14.1 0-1.4-.6-3.2-.9-4.6-26.8 0-36.9 3.8-59.5 6.3z\"},\"child\":[]}]})(props);\n};\nexport function FaPiedPiperHat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M640 24.9c-80.8 53.6-89.4 92.5-96.4 104.4-6.7 12.2-11.7 60.3-23.3 83.6-11.7 23.6-54.2 42.2-66.1 50-11.7 7.8-28.3 38.1-41.9 64.2-108.1-4.4-167.4 38.8-259.2 93.6 29.4-9.7 43.3-16.7 43.3-16.7 94.2-36 139.3-68.3 281.1-49.2 1.1 0 1.9.6 2.8.8 3.9 2.2 5.3 6.9 3.1 10.8l-53.9 95.8c-2.5 4.7-7.8 7.2-13.1 6.1-126.8-23.8-226.9 17.3-318.9 18.6C24.1 488 0 453.4 0 451.8c0-1.1.6-1.7 1.7-1.7 0 0 38.3 0 103.1-15.3C178.4 294.5 244 245.4 315.4 245.4c0 0 71.7 0 90.6 61.9 22.8-39.7 28.3-49.2 28.3-49.2 5.3-9.4 35-77.2 86.4-141.4 51.5-64 90.4-79.9 119.3-91.8z\"},\"child\":[]}]})(props);\n};\nexport function FaPiedPiperPp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M205.3 174.6c0 21.1-14.2 38.1-31.7 38.1-7.1 0-12.8-1.2-17.2-3.7v-68c4.4-2.7 10.1-4.2 17.2-4.2 17.5 0 31.7 16.9 31.7 37.8zm52.6 67c-7.1 0-12.8 1.5-17.2 4.2v68c4.4 2.5 10.1 3.7 17.2 3.7 17.4 0 31.7-16.9 31.7-37.8 0-21.1-14.3-38.1-31.7-38.1zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zM185 255.1c41 0 74.2-35.6 74.2-79.6 0-44-33.2-79.6-74.2-79.6-12 0-24.1 3.2-34.6 8.8h-45.7V311l51.8-10.1v-50.6c8.6 3.1 18.1 4.8 28.5 4.8zm158.4 25.3c0-44-33.2-79.6-73.9-79.6-3.2 0-6.4.2-9.6.7-3.7 12.5-10.1 23.8-19.2 33.4-13.8 15-32.2 23.8-51.8 24.8V416l51.8-10.1v-50.6c8.6 3.2 18.2 4.7 28.7 4.7 40.8 0 74-35.6 74-79.6z\"},\"child\":[]}]})(props);\n};\nexport function FaPiedPiperSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M32 419L0 479.2l.8-328C.8 85.3 54 32 120 32h327.2c-93 28.9-189.9 94.2-253.9 168.6C122.7 282 82.6 338 32 419M448 32S305.2 98.8 261.6 199.1c-23.2 53.6-28.9 118.1-71 158.6-28.9 27.8-69.8 38.2-105.3 56.3-23.2 12-66.4 40.5-84.9 66h328.4c66 0 119.3-53.3 119.3-119.2-.1 0-.1-328.8-.1-328.8z\"},\"child\":[]}]})(props);\n};\nexport function FaPiedPiper (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 480 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M455.93,23.2C429.23,30,387.79,51.69,341.35,90.66A206,206,0,0,0,240,64C125.13,64,32,157.12,32,272s93.13,208,208,208,208-93.13,208-208a207.25,207.25,0,0,0-58.75-144.81,155.35,155.35,0,0,0-17,27.4A176.16,176.16,0,0,1,417.1,272c0,97.66-79.44,177.11-177.09,177.11a175.81,175.81,0,0,1-87.63-23.4c82.94-107.33,150.79-37.77,184.31-226.65,5.79-32.62,28-94.26,126.23-160.18C471,33.45,465.35,20.8,455.93,23.2ZM125,406.4A176.66,176.66,0,0,1,62.9,272C62.9,174.34,142.35,94.9,240,94.9a174,174,0,0,1,76.63,17.75C250.64,174.76,189.77,265.52,125,406.4Z\"},\"child\":[]}]})(props);\n};\nexport function FaPinterestP (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M204 6.5C101.4 6.5 0 74.9 0 185.6 0 256 39.6 296 63.6 296c9.9 0 15.6-27.6 15.6-35.4 0-9.3-23.7-29.1-23.7-67.8 0-80.4 61.2-137.4 140.4-137.4 68.1 0 118.5 38.7 118.5 109.8 0 53.1-21.3 152.7-90.3 152.7-24.9 0-46.2-18-46.2-43.8 0-37.8 26.4-74.4 26.4-113.4 0-66.2-93.9-54.2-93.9 25.8 0 16.8 2.1 35.4 9.6 50.7-13.8 59.4-42 147.9-42 209.1 0 18.9 2.7 37.5 4.5 56.4 3.4 3.8 1.7 3.4 6.9 1.5 50.4-69 48.6-82.5 71.4-172.8 12.3 23.4 44.1 36 69.3 36 106.2 0 153.9-103.5 153.9-196.8C384 71.3 298.2 6.5 204 6.5z\"},\"child\":[]}]})(props);\n};\nexport function FaPinterestSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 80v352c0 26.5-21.5 48-48 48H154.4c9.8-16.4 22.4-40 27.4-59.3 3-11.5 15.3-58.4 15.3-58.4 8 15.3 31.4 28.2 56.3 28.2 74.1 0 127.4-68.1 127.4-152.7 0-81.1-66.2-141.8-151.4-141.8-106 0-162.2 71.1-162.2 148.6 0 36 19.2 80.8 49.8 95.1 4.7 2.2 7.1 1.2 8.2-3.3.8-3.4 5-20.1 6.8-27.8.6-2.5.3-4.6-1.7-7-10.1-12.3-18.3-34.9-18.3-56 0-54.2 41-106.6 110.9-106.6 60.3 0 102.6 41.1 102.6 99.9 0 66.4-33.5 112.4-77.2 112.4-24.1 0-42.1-19.9-36.4-44.4 6.9-29.2 20.3-60.7 20.3-81.8 0-53-75.5-45.7-75.5 25 0 21.7 7.3 36.5 7.3 36.5-31.4 132.8-36.1 134.5-29.6 192.6l2.2.8H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48z\"},\"child\":[]}]})(props);\n};\nexport function FaPinterest (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496 256c0 137-111 248-248 248-25.6 0-50.2-3.9-73.4-11.1 10.1-16.5 25.2-43.5 30.8-65 3-11.6 15.4-59 15.4-59 8.1 15.4 31.7 28.5 56.8 28.5 74.8 0 128.7-68.8 128.7-154.3 0-81.9-66.9-143.2-152.9-143.2-107 0-163.9 71.8-163.9 150.1 0 36.4 19.4 81.7 50.3 96.1 4.7 2.2 7.2 1.2 8.3-3.3.8-3.4 5-20.3 6.9-28.1.6-2.5.3-4.7-1.7-7.1-10.1-12.5-18.3-35.3-18.3-56.6 0-54.7 41.4-107.6 112-107.6 60.9 0 103.6 41.5 103.6 100.9 0 67.1-33.9 113.6-78 113.6-24.3 0-42.6-20.1-36.7-44.8 7-29.5 20.5-61.3 20.5-82.6 0-19-10.2-34.9-31.4-34.9-24.9 0-44.9 25.7-44.9 60.2 0 22 7.4 36.8 7.4 36.8s-24.5 103.8-29 123.2c-5 21.4-3 51.6-.9 71.2C65.4 450.9 0 361.1 0 256 0 119 111 8 248 8s248 111 248 248z\"},\"child\":[]}]})(props);\n};\nexport function FaPlaystation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M570.9 372.3c-11.3 14.2-38.8 24.3-38.8 24.3L327 470.2v-54.3l150.9-53.8c17.1-6.1 19.8-14.8 5.8-19.4-13.9-4.6-39.1-3.3-56.2 2.9L327 381.1v-56.4c23.2-7.8 47.1-13.6 75.7-16.8 40.9-4.5 90.9.6 130.2 15.5 44.2 14 49.2 34.7 38 48.9zm-224.4-92.5v-139c0-16.3-3-31.3-18.3-35.6-11.7-3.8-19 7.1-19 23.4v347.9l-93.8-29.8V32c39.9 7.4 98 24.9 129.2 35.4C424.1 94.7 451 128.7 451 205.2c0 74.5-46 102.8-104.5 74.6zM43.2 410.2c-45.4-12.8-53-39.5-32.3-54.8 19.1-14.2 51.7-24.9 51.7-24.9l134.5-47.8v54.5l-96.8 34.6c-17.1 6.1-19.7 14.8-5.8 19.4 13.9 4.6 39.1 3.3 56.2-2.9l46.4-16.9v48.8c-51.6 9.3-101.4 7.3-153.9-10z\"},\"child\":[]}]})(props);\n};\nexport function FaProductHunt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M326.3 218.8c0 20.5-16.7 37.2-37.2 37.2h-70.3v-74.4h70.3c20.5 0 37.2 16.7 37.2 37.2zM504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-128.1-37.2c0-47.9-38.9-86.8-86.8-86.8H169.2v248h49.6v-74.4h70.3c47.9 0 86.8-38.9 86.8-86.8z\"},\"child\":[]}]})(props);\n};\nexport function FaPushed (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 432 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M407 111.9l-98.5-9 14-33.4c10.4-23.5-10.8-40.4-28.7-37L22.5 76.9c-15.1 2.7-26 18.3-21.4 36.6l105.1 348.3c6.5 21.3 36.7 24.2 47.7 7l35.3-80.8 235.2-231.3c16.4-16.8 4.3-42.9-17.4-44.8zM297.6 53.6c5.1-.7 7.5 2.5 5.2 7.4L286 100.9 108.6 84.6l189-31zM22.7 107.9c-3.1-5.1 1-10 6.1-9.1l248.7 22.7-96.9 230.7L22.7 107.9zM136 456.4c-2.6 4-7.9 3.1-9.4-1.2L43.5 179.7l127.7 197.6c-7 15-35.2 79.1-35.2 79.1zm272.8-314.5L210.1 337.3l89.7-213.7 106.4 9.7c4 1.1 5.7 5.3 2.6 8.6z\"},\"child\":[]}]})(props);\n};\nexport function FaPython (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z\"},\"child\":[]}]})(props);\n};\nexport function FaQq (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M433.754 420.445c-11.526 1.393-44.86-52.741-44.86-52.741 0 31.345-16.136 72.247-51.051 101.786 16.842 5.192 54.843 19.167 45.803 34.421-7.316 12.343-125.51 7.881-159.632 4.037-34.122 3.844-152.316 8.306-159.632-4.037-9.045-15.25 28.918-29.214 45.783-34.415-34.92-29.539-51.059-70.445-51.059-101.792 0 0-33.334 54.134-44.859 52.741-5.37-.65-12.424-29.644 9.347-99.704 10.261-33.024 21.995-60.478 40.144-105.779C60.683 98.063 108.982.006 224 0c113.737.006 163.156 96.133 160.264 214.963 18.118 45.223 29.912 72.85 40.144 105.778 21.768 70.06 14.716 99.053 9.346 99.704z\"},\"child\":[]}]})(props);\n};\nexport function FaQuinscape (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M313.6 474.6h-1a158.1 158.1 0 0 1 0-316.2c94.9 0 168.2 83.1 157 176.6 4 5.1 8.2 9.6 11.2 15.3 13.4-30.3 20.3-62.4 20.3-97.7C501.1 117.5 391.6 8 256.5 8S12 117.5 12 252.6s109.5 244.6 244.5 244.6a237.36 237.36 0 0 0 70.4-10.1c-5.2-3.5-8.9-8.1-13.3-12.5zm-.1-.1l.4.1zm78.4-168.9a99.2 99.2 0 1 0 99.2 99.2 99.18 99.18 0 0 0-99.2-99.2z\"},\"child\":[]}]})(props);\n};\nexport function FaQuora (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M440.5 386.7h-29.3c-1.5 13.5-10.5 30.8-33 30.8-20.5 0-35.3-14.2-49.5-35.8 44.2-34.2 74.7-87.5 74.7-153C403.5 111.2 306.8 32 205 32 105.3 32 7.3 111.7 7.3 228.7c0 134.1 131.3 221.6 249 189C276 451.3 302 480 351.5 480c81.8 0 90.8-75.3 89-93.3zM297 329.2C277.5 300 253.3 277 205.5 277c-30.5 0-54.3 10-69 22.8l12.2 24.3c6.2-3 13-4 19.8-4 35.5 0 53.7 30.8 69.2 61.3-10 3-20.7 4.2-32.7 4.2-75 0-107.5-53-107.5-156.7C97.5 124.5 130 71 205 71c76.2 0 108.7 53.5 108.7 157.7.1 41.8-5.4 75.6-16.7 100.5z\"},\"child\":[]}]})(props);\n};\nexport function FaRProject (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 581 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M581 226.6C581 119.1 450.9 32 290.5 32S0 119.1 0 226.6C0 322.4 103.3 402 239.4 418.1V480h99.1v-61.5c24.3-2.7 47.6-7.4 69.4-13.9L448 480h112l-67.4-113.7c54.5-35.4 88.4-84.9 88.4-139.7zm-466.8 14.5c0-73.5 98.9-133 220.8-133s211.9 40.7 211.9 133c0 50.1-26.5 85-70.3 106.4-2.4-1.6-4.7-2.9-6.4-3.7-10.2-5.2-27.8-10.5-27.8-10.5s86.6-6.4 86.6-92.7-90.6-87.9-90.6-87.9h-199V361c-74.1-21.5-125.2-67.1-125.2-119.9zm225.1 38.3v-55.6c57.8 0 87.8-6.8 87.8 27.3 0 36.5-38.2 28.3-87.8 28.3zm-.9 72.5H365c10.8 0 18.9 11.7 24 19.2-16.1 1.9-33 2.8-50.6 2.9v-22.1z\"},\"child\":[]}]})(props);\n};\nexport function FaRaspberryPi (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 407 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M372 232.5l-3.7-6.5c.1-46.4-21.4-65.3-46.5-79.7 7.6-2 15.4-3.6 17.6-13.2 13.1-3.3 15.8-9.4 17.1-15.8 3.4-2.3 14.8-8.7 13.6-19.7 6.4-4.4 10-10.1 8.1-18.1 6.9-7.5 8.7-13.7 5.8-19.4 8.3-10.3 4.6-15.6 1.1-20.9 6.2-11.2.7-23.2-16.6-21.2-6.9-10.1-21.9-7.8-24.2-7.8-2.6-3.2-6-6-16.5-4.7-6.8-6.1-14.4-5-22.3-2.1-9.3-7.3-15.5-1.4-22.6.8C271.6.6 269 5.5 263.5 7.6c-12.3-2.6-16.1 3-22 8.9l-6.9-.1c-18.6 10.8-27.8 32.8-31.1 44.1-3.3-11.3-12.5-33.3-31.1-44.1l-6.9.1c-5.9-5.9-9.7-11.5-22-8.9-5.6-2-8.1-7-19.4-3.4-4.6-1.4-8.9-4.4-13.9-4.3-2.6.1-5.5 1-8.7 3.5-7.9-3-15.5-4-22.3 2.1-10.5-1.3-14 1.4-16.5 4.7-2.3 0-17.3-2.3-24.2 7.8C21.2 16 15.8 28 22 39.2c-3.5 5.4-7.2 10.7 1.1 20.9-2.9 5.7-1.1 11.9 5.8 19.4-1.8 8 1.8 13.7 8.1 18.1-1.2 11 10.2 17.4 13.6 19.7 1.3 6.4 4 12.4 17.1 15.8 2.2 9.5 10 11.2 17.6 13.2-25.1 14.4-46.6 33.3-46.5 79.7l-3.7 6.5c-28.8 17.2-54.7 72.7-14.2 117.7 2.6 14.1 7.1 24.2 11 35.4 5.9 45.2 44.5 66.3 54.6 68.8 14.9 11.2 30.8 21.8 52.2 29.2C159 504.2 181 512 203 512h1c22.1 0 44-7.8 64.2-28.4 21.5-7.4 37.3-18 52.2-29.2 10.2-2.5 48.7-23.6 54.6-68.8 3.9-11.2 8.4-21.3 11-35.4 40.6-45.1 14.7-100.5-14-117.7zm-22.2-8c-1.5 18.7-98.9-65.1-82.1-67.9 45.7-7.5 83.6 19.2 82.1 67.9zm-43 93.1c-24.5 15.8-59.8 5.6-78.8-22.8s-14.6-64.2 9.9-80c24.5-15.8 59.8-5.6 78.8 22.8s14.6 64.2-9.9 80zM238.9 29.3c.8 4.2 1.8 6.8 2.9 7.6 5.4-5.8 9.8-11.7 16.8-17.3 0 3.3-1.7 6.8 2.5 9.4 3.7-5 8.8-9.5 15.5-13.3-3.2 5.6-.6 7.3 1.2 9.6 5.1-4.4 10-8.8 19.4-12.3-2.6 3.1-6.2 6.2-2.4 9.8 5.3-3.3 10.6-6.6 23.1-8.9-2.8 3.1-8.7 6.3-5.1 9.4 6.6-2.5 14-4.4 22.1-5.4-3.9 3.2-7.1 6.3-3.9 8.8 7.1-2.2 16.9-5.1 26.4-2.6l-6 6.1c-.7.8 14.1.6 23.9.8-3.6 5-7.2 9.7-9.3 18.2 1 1 5.8.4 10.4 0-4.7 9.9-12.8 12.3-14.7 16.6 2.9 2.2 6.8 1.6 11.2.1-3.4 6.9-10.4 11.7-16 17.3 1.4 1 3.9 1.6 9.7.9-5.2 5.5-11.4 10.5-18.8 15 1.3 1.5 5.8 1.5 10 1.6-6.7 6.5-15.3 9.9-23.4 14.2 4 2.7 6.9 2.1 10 2.1-5.7 4.7-15.4 7.1-24.4 10 1.7 2.7 3.4 3.4 7.1 4.1-9.5 5.3-23.2 2.9-27 5.6.9 2.7 3.6 4.4 6.7 5.8-15.4.9-57.3-.6-65.4-32.3 15.7-17.3 44.4-37.5 93.7-62.6-38.4 12.8-73 30-102 53.5-34.3-15.9-10.8-55.9 5.8-71.8zm-34.4 114.6c24.2-.3 54.1 17.8 54 34.7-.1 15-21 27.1-53.8 26.9-32.1-.4-53.7-15.2-53.6-29.8 0-11.9 26.2-32.5 53.4-31.8zm-123-12.8c3.7-.7 5.4-1.5 7.1-4.1-9-2.8-18.7-5.3-24.4-10 3.1 0 6 .7 10-2.1-8.1-4.3-16.7-7.7-23.4-14.2 4.2-.1 8.7 0 10-1.6-7.4-4.5-13.6-9.5-18.8-15 5.8.7 8.3.1 9.7-.9-5.6-5.6-12.7-10.4-16-17.3 4.3 1.5 8.3 2 11.2-.1-1.9-4.2-10-6.7-14.7-16.6 4.6.4 9.4 1 10.4 0-2.1-8.5-5.8-13.3-9.3-18.2 9.8-.1 24.6 0 23.9-.8l-6-6.1c9.5-2.5 19.3.4 26.4 2.6 3.2-2.5-.1-5.6-3.9-8.8 8.1 1.1 15.4 2.9 22.1 5.4 3.5-3.1-2.3-6.3-5.1-9.4 12.5 2.3 17.8 5.6 23.1 8.9 3.8-3.6.2-6.7-2.4-9.8 9.4 3.4 14.3 7.9 19.4 12.3 1.7-2.3 4.4-4 1.2-9.6 6.7 3.8 11.8 8.3 15.5 13.3 4.1-2.6 2.5-6.2 2.5-9.4 7 5.6 11.4 11.5 16.8 17.3 1.1-.8 2-3.4 2.9-7.6 16.6 15.9 40.1 55.9 6 71.8-29-23.5-63.6-40.7-102-53.5 49.3 25 78 45.3 93.7 62.6-8 31.8-50 33.2-65.4 32.3 3.1-1.4 5.8-3.2 6.7-5.8-4-2.8-17.6-.4-27.2-5.6zm60.1 24.1c16.8 2.8-80.6 86.5-82.1 67.9-1.5-48.7 36.5-75.5 82.1-67.9zM38.2 342c-23.7-18.8-31.3-73.7 12.6-98.3 26.5-7 9 107.8-12.6 98.3zm91 98.2c-13.3 7.9-45.8 4.7-68.8-27.9-15.5-27.4-13.5-55.2-2.6-63.4 16.3-9.8 41.5 3.4 60.9 25.6 16.9 20 24.6 55.3 10.5 65.7zm-26.4-119.7c-24.5-15.8-28.9-51.6-9.9-80s54.3-38.6 78.8-22.8 28.9 51.6 9.9 80c-19.1 28.4-54.4 38.6-78.8 22.8zM205 496c-29.4 1.2-58.2-23.7-57.8-32.3-.4-12.7 35.8-22.6 59.3-22 23.7-1 55.6 7.5 55.7 18.9.5 11-28.8 35.9-57.2 35.4zm58.9-124.9c.2 29.7-26.2 53.8-58.8 54-32.6.2-59.2-23.8-59.4-53.4v-.6c-.2-29.7 26.2-53.8 58.8-54 32.6-.2 59.2 23.8 59.4 53.4v.6zm82.2 42.7c-25.3 34.6-59.6 35.9-72.3 26.3-13.3-12.4-3.2-50.9 15.1-72 20.9-23.3 43.3-38.5 58.9-26.6 10.5 10.3 16.7 49.1-1.7 72.3zm22.9-73.2c-21.5 9.4-39-105.3-12.6-98.3 43.9 24.7 36.3 79.6 12.6 98.3z\"},\"child\":[]}]})(props);\n};\nexport function FaRavelry (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M498.252,234.223c-1.208-10.34-1.7-20.826-3.746-31a310.306,310.306,0,0,0-9.622-36.6,184.068,184.068,0,0,0-30.874-57.5,251.154,251.154,0,0,0-18.818-21.689,237.362,237.362,0,0,0-47.113-36.116A240.8,240.8,0,0,0,331.356,26.65c-11.018-3.1-22.272-5.431-33.515-7.615-6.78-1.314-13.749-1.667-20.627-2.482-.316-.036-.6-.358-.9-.553q-16.143.009-32.288.006c-2.41.389-4.808.925-7.236,1.15a179.331,179.331,0,0,0-34.256,7.1,221.5,221.5,0,0,0-39.768,16.355,281.385,281.385,0,0,0-38.08,24.158c-6.167,4.61-12.268,9.36-17.974,14.518C96.539,88.494,86.34,97.72,76.785,107.555a243.878,243.878,0,0,0-33.648,43.95,206.488,206.488,0,0,0-20.494,44.6,198.2,198.2,0,0,0-7.691,34.759A201.13,201.13,0,0,0,13.4,266.385a299.716,299.716,0,0,0,4.425,40.24,226.865,226.865,0,0,0,16.73,53.3,210.543,210.543,0,0,0,24,39.528,213.589,213.589,0,0,0,26.358,28.416A251.313,251.313,0,0,0,126.7,458.455a287.831,287.831,0,0,0,55.9,25.277,269.5,269.5,0,0,0,40.641,9.835c6.071,1.01,12.275,1.253,18.412,1.873a4.149,4.149,0,0,1,1.19.56h32.289c2.507-.389,5-.937,7.527-1.143,16.336-1.332,32.107-5.335,47.489-10.717A219.992,219.992,0,0,0,379.1,460.322c9.749-6.447,19.395-13.077,28.737-20.1,5.785-4.348,10.988-9.5,16.3-14.457,3.964-3.7,7.764-7.578,11.51-11.5a232.162,232.162,0,0,0,31.427-41.639c9.542-16.045,17.355-32.905,22.3-50.926,2.859-10.413,4.947-21.045,7.017-31.652,1.032-5.279,1.251-10.723,1.87-16.087.036-.317.358-.6.552-.9V236.005A9.757,9.757,0,0,1,498.252,234.223Zm-161.117-1.15s-16.572-2.98-28.47-2.98c-27.2,0-33.57,14.9-33.57,37.04V360.8H201.582V170.062H275.1v31.931c8.924-26.822,26.771-36.189,62.04-36.189Z\"},\"child\":[]}]})(props);\n};\nexport function FaReact (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M418.2 177.2c-5.4-1.8-10.8-3.5-16.2-5.1.9-3.7 1.7-7.4 2.5-11.1 12.3-59.6 4.2-107.5-23.1-123.3-26.3-15.1-69.2.6-112.6 38.4-4.3 3.7-8.5 7.6-12.5 11.5-2.7-2.6-5.5-5.2-8.3-7.7-45.5-40.4-91.1-57.4-118.4-41.5-26.2 15.2-34 60.3-23 116.7 1.1 5.6 2.3 11.1 3.7 16.7-6.4 1.8-12.7 3.8-18.6 5.9C38.3 196.2 0 225.4 0 255.6c0 31.2 40.8 62.5 96.3 81.5 4.5 1.5 9 3 13.6 4.3-1.5 6-2.8 11.9-4 18-10.5 55.5-2.3 99.5 23.9 114.6 27 15.6 72.4-.4 116.6-39.1 3.5-3.1 7-6.3 10.5-9.7 4.4 4.3 9 8.4 13.6 12.4 42.8 36.8 85.1 51.7 111.2 36.6 27-15.6 35.8-62.9 24.4-120.5-.9-4.4-1.9-8.9-3-13.5 3.2-.9 6.3-1.9 9.4-2.9 57.7-19.1 99.5-50 99.5-81.7 0-30.3-39.4-59.7-93.8-78.4zM282.9 92.3c37.2-32.4 71.9-45.1 87.7-36 16.9 9.7 23.4 48.9 12.8 100.4-.7 3.4-1.4 6.7-2.3 10-22.2-5-44.7-8.6-67.3-10.6-13-18.6-27.2-36.4-42.6-53.1 3.9-3.7 7.7-7.2 11.7-10.7zM167.2 307.5c5.1 8.7 10.3 17.4 15.8 25.9-15.6-1.7-31.1-4.2-46.4-7.5 4.4-14.4 9.9-29.3 16.3-44.5 4.6 8.8 9.3 17.5 14.3 26.1zm-30.3-120.3c14.4-3.2 29.7-5.8 45.6-7.8-5.3 8.3-10.5 16.8-15.4 25.4-4.9 8.5-9.7 17.2-14.2 26-6.3-14.9-11.6-29.5-16-43.6zm27.4 68.9c6.6-13.8 13.8-27.3 21.4-40.6s15.8-26.2 24.4-38.9c15-1.1 30.3-1.7 45.9-1.7s31 .6 45.9 1.7c8.5 12.6 16.6 25.5 24.3 38.7s14.9 26.7 21.7 40.4c-6.7 13.8-13.9 27.4-21.6 40.8-7.6 13.3-15.7 26.2-24.2 39-14.9 1.1-30.4 1.6-46.1 1.6s-30.9-.5-45.6-1.4c-8.7-12.7-16.9-25.7-24.6-39s-14.8-26.8-21.5-40.6zm180.6 51.2c5.1-8.8 9.9-17.7 14.6-26.7 6.4 14.5 12 29.2 16.9 44.3-15.5 3.5-31.2 6.2-47 8 5.4-8.4 10.5-17 15.5-25.6zm14.4-76.5c-4.7-8.8-9.5-17.6-14.5-26.2-4.9-8.5-10-16.9-15.3-25.2 16.1 2 31.5 4.7 45.9 8-4.6 14.8-10 29.2-16.1 43.4zM256.2 118.3c10.5 11.4 20.4 23.4 29.6 35.8-19.8-.9-39.7-.9-59.5 0 9.8-12.9 19.9-24.9 29.9-35.8zM140.2 57c16.8-9.8 54.1 4.2 93.4 39 2.5 2.2 5 4.6 7.6 7-15.5 16.7-29.8 34.5-42.9 53.1-22.6 2-45 5.5-67.2 10.4-1.3-5.1-2.4-10.3-3.5-15.5-9.4-48.4-3.2-84.9 12.6-94zm-24.5 263.6c-4.2-1.2-8.3-2.5-12.4-3.9-21.3-6.7-45.5-17.3-63-31.2-10.1-7-16.9-17.8-18.8-29.9 0-18.3 31.6-41.7 77.2-57.6 5.7-2 11.5-3.8 17.3-5.5 6.8 21.7 15 43 24.5 63.6-9.6 20.9-17.9 42.5-24.8 64.5zm116.6 98c-16.5 15.1-35.6 27.1-56.4 35.3-11.1 5.3-23.9 5.8-35.3 1.3-15.9-9.2-22.5-44.5-13.5-92 1.1-5.6 2.3-11.2 3.7-16.7 22.4 4.8 45 8.1 67.9 9.8 13.2 18.7 27.7 36.6 43.2 53.4-3.2 3.1-6.4 6.1-9.6 8.9zm24.5-24.3c-10.2-11-20.4-23.2-30.3-36.3 9.6.4 19.5.6 29.5.6 10.3 0 20.4-.2 30.4-.7-9.2 12.7-19.1 24.8-29.6 36.4zm130.7 30c-.9 12.2-6.9 23.6-16.5 31.3-15.9 9.2-49.8-2.8-86.4-34.2-4.2-3.6-8.4-7.5-12.7-11.5 15.3-16.9 29.4-34.8 42.2-53.6 22.9-1.9 45.7-5.4 68.2-10.5 1 4.1 1.9 8.2 2.7 12.2 4.9 21.6 5.7 44.1 2.5 66.3zm18.2-107.5c-2.8.9-5.6 1.8-8.5 2.6-7-21.8-15.6-43.1-25.5-63.8 9.6-20.4 17.7-41.4 24.5-62.9 5.2 1.5 10.2 3.1 15 4.7 46.6 16 79.3 39.8 79.3 58 0 19.6-34.9 44.9-84.8 61.4zm-149.7-15c25.3 0 45.8-20.5 45.8-45.8s-20.5-45.8-45.8-45.8c-25.3 0-45.8 20.5-45.8 45.8s20.5 45.8 45.8 45.8z\"},\"child\":[]}]})(props);\n};\nexport function FaReacteurope (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M250.6 211.74l5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3-7.1-.1-2.3-6.8-2.3 6.8-7.2.1 5.7 4.3zm63.7 0l5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3-7.2-.1-2.3-6.8-2.3 6.8-7.2.1 5.7 4.3zm-91.3 50.5h-3.4c-4.8 0-3.8 4-3.8 12.1 0 4.7-2.3 6.1-5.8 6.1s-5.8-1.4-5.8-6.1v-36.6c0-4.7 2.3-6.1 5.8-6.1s5.8 1.4 5.8 6.1c0 7.2-.7 10.5 3.8 10.5h3.4c4.7-.1 3.8-3.9 3.8-12.3 0-9.9-6.7-14.1-16.8-14.1h-.2c-10.1 0-16.8 4.2-16.8 14.1V276c0 10.4 6.7 14.1 16.8 14.1h.2c10.1 0 16.8-3.8 16.8-14.1 0-9.86 1.1-13.76-3.8-13.76zm-80.7 17.4h-14.7v-19.3H139c2.5 0 3.8-1.3 3.8-3.8v-2.1c0-2.5-1.3-3.8-3.8-3.8h-11.4v-18.3H142c2.5 0 3.8-1.3 3.8-3.8v-2.1c0-2.5-1.3-3.8-3.8-3.8h-21.7c-2.4-.1-3.7 1.3-3.7 3.8v59.1c0 2.5 1.3 3.8 3.8 3.8h21.9c2.5 0 3.8-1.3 3.8-3.8v-2.1c0-2.5-1.3-3.8-3.8-3.8zm-42-18.5c4.6-2 7.3-6 7.3-12.4v-11.9c0-10.1-6.7-14.1-16.8-14.1H77.4c-2.5 0-3.8 1.3-3.8 3.8v59.1c0 2.5 1.3 3.8 3.8 3.8h3.4c2.5 0 3.8-1.3 3.8-3.8v-22.9h5.6l7.4 23.5a4.1 4.1 0 0 0 4.3 3.2h3.3c2.8 0 4-1.8 3.2-4.4zm-3.8-14c0 4.8-2.5 6.1-6.1 6.1h-5.8v-20.9h5.8c3.6 0 6.1 1.3 6.1 6.1zM176 226a3.82 3.82 0 0 0-4.2-3.4h-6.9a3.68 3.68 0 0 0-4 3.4l-11 59.2c-.5 2.7.9 4.1 3.4 4.1h3a3.74 3.74 0 0 0 4.1-3.5l1.8-11.3h12.2l1.8 11.3a3.74 3.74 0 0 0 4.1 3.5h3.5c2.6 0 3.9-1.4 3.4-4.1zm-12.3 39.3l4.7-29.7 4.7 29.7zm89.3 20.2v-53.2h7.5c2.5 0 3.8-1.3 3.8-3.8v-2.1c0-2.5-1.3-3.8-3.8-3.8h-25.8c-2.5 0-3.8 1.3-3.8 3.8v2.1c0 2.5 1.3 3.8 3.8 3.8h7.3v53.2c0 2.5 1.3 3.8 3.8 3.8h3.4c2.5.04 3.8-1.3 3.8-3.76zm248-.8h-19.4V258h16.1a1.89 1.89 0 0 0 2-2v-.8a1.89 1.89 0 0 0-2-2h-16.1v-25.8h19.1a1.89 1.89 0 0 0 2-2v-.8a1.77 1.77 0 0 0-2-1.9h-22.2a1.62 1.62 0 0 0-2 1.8v63a1.81 1.81 0 0 0 2 1.9H501a1.81 1.81 0 0 0 2-1.9v-.8a1.84 1.84 0 0 0-2-1.96zm-93.1-62.9h-.8c-10.1 0-15.3 4.7-15.3 14.1V276c0 9.3 5.2 14.1 15.3 14.1h.8c10.1 0 15.3-4.8 15.3-14.1v-40.1c0-9.36-5.2-14.06-15.3-14.06zm10.2 52.4c-.1 8-3 11.1-10.5 11.1s-10.5-3.1-10.5-11.1v-36.6c0-7.9 3-11.1 10.5-11.1s10.5 3.2 10.5 11.1zm-46.5-14.5c6.1-1.6 9.2-6.1 9.2-13.3v-9.7c0-9.4-5.2-14.1-15.3-14.1h-13.7a1.81 1.81 0 0 0-2 1.9v63a1.81 1.81 0 0 0 2 1.9h1.2a1.74 1.74 0 0 0 1.9-1.9v-26.9h11.6l10.4 27.2a2.32 2.32 0 0 0 2.3 1.5h1.5c1.4 0 2-1 1.5-2.3zm-6.4-3.9H355v-28.5h10.2c7.5 0 10.5 3.1 10.5 11.1v6.4c0 7.84-3 11.04-10.5 11.04zm85.9-33.1h-13.7a1.62 1.62 0 0 0-2 1.8v63a1.81 1.81 0 0 0 2 1.9h1.2a1.74 1.74 0 0 0 1.9-1.9v-26.1h10.6c10.1 0 15.3-4.8 15.3-14.1v-10.5c0-9.4-5.2-14.1-15.3-14.1zm10.2 22.8c0 7.9-3 11.1-10.5 11.1h-10.2v-29.2h10.2c7.5-.1 10.5 3.1 10.5 11zM259.5 308l-2.3-6.8-2.3 6.8-7.1.1 5.7 4.3-2.1 6.8 5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3zm227.6-136.1a364.42 364.42 0 0 0-35.6-11.3c19.6-78 11.6-134.7-22.3-153.9C394.7-12.66 343.3 11 291 61.94q5.1 4.95 10.2 10.2c82.5-80 119.6-53.5 120.9-52.8 22.4 12.7 36 55.8 15.5 137.8a587.83 587.83 0 0 0-84.6-13C281.1 43.64 212.4 2 170.8 2 140 2 127 23 123.2 29.74c-18.1 32-13.3 84.2.1 133.8-70.5 20.3-120.7 54.1-120.3 95 .5 59.6 103.2 87.8 122.1 92.8-20.5 81.9-10.1 135.6 22.3 153.9 28 15.8 75.1 6 138.2-55.2q-5.1-4.95-10.2-10.2c-82.5 80-119.7 53.5-120.9 52.8-22.3-12.6-36-55.6-15.5-137.9 12.4 2.9 41.8 9.5 84.6 13 71.9 100.4 140.6 142 182.1 142 30.8 0 43.8-21 47.6-27.7 18-31.9 13.3-84.1-.1-133.8 152.3-43.8 156.2-130.2 33.9-176.3zM135.9 36.84c2.9-5.1 11.9-20.3 34.9-20.3 36.8 0 98.8 39.6 163.3 126.2a714 714 0 0 0-93.9.9 547.76 547.76 0 0 1 42.2-52.4Q277.3 86 272.2 81a598.25 598.25 0 0 0-50.7 64.2 569.69 569.69 0 0 0-84.4 14.6c-.2-1.4-24.3-82.2-1.2-123zm304.8 438.3c-2.9 5.1-11.8 20.3-34.9 20.3-36.7 0-98.7-39.4-163.3-126.2a695.38 695.38 0 0 0 93.9-.9 547.76 547.76 0 0 1-42.2 52.4q5.1 5.25 10.2 10.2a588.47 588.47 0 0 0 50.7-64.2c47.3-4.7 80.3-13.5 84.4-14.6 22.7 84.4 4.5 117 1.2 123zm9.1-138.6c-3.6-11.9-7.7-24.1-12.4-36.4a12.67 12.67 0 0 1-10.7-5.7l-.1.1a19.61 19.61 0 0 1-5.4 3.6c5.7 14.3 10.6 28.4 14.7 42.2a535.3 535.3 0 0 1-72 13c3.5-5.3 17.2-26.2 32.2-54.2a24.6 24.6 0 0 1-6-3.2c-1.1 1.2-3.6 4.2-10.9 4.2-6.2 11.2-17.4 30.9-33.9 55.2a711.91 711.91 0 0 1-112.4 1c-7.9-11.2-21.5-31.1-36.8-57.8a21 21 0 0 1-3-1.5c-1.9 1.6-3.9 3.2-12.6 3.2 6.3 11.2 17.5 30.7 33.8 54.6a548.81 548.81 0 0 1-72.2-11.7q5.85-21 14.1-42.9c-3.2 0-5.4.2-8.4-1a17.58 17.58 0 0 1-6.9 1c-4.9 13.4-9.1 26.5-12.7 39.4C-31.7 297-12.1 216 126.7 175.64c3.6 11.9 7.7 24.1 12.4 36.4 10.4 0 12.9 3.4 14.4 5.3a12 12 0 0 1 2.3-2.2c-5.8-14.7-10.9-29.2-15.2-43.3 7-1.8 32.4-8.4 72-13-15.9 24.3-26.7 43.9-32.8 55.3a14.22 14.22 0 0 1 6.4 8 23.42 23.42 0 0 1 10.2-8.4c6.5-11.7 17.9-31.9 34.8-56.9a711.72 711.72 0 0 1 112.4-1c31.5 44.6 28.9 48.1 42.5 64.5a21.42 21.42 0 0 1 10.4-7.4c-6.4-11.4-17.6-31-34.3-55.5 40.4 4.1 65 10 72.2 11.7-4 14.4-8.9 29.2-14.6 44.2a20.74 20.74 0 0 1 6.8 4.3l.1.1a12.72 12.72 0 0 1 8.9-5.6c4.9-13.4 9.2-26.6 12.8-39.5a359.71 359.71 0 0 1 34.5 11c106.1 39.9 74 87.9 72.6 90.4-19.8 35.1-80.1 55.2-105.7 62.5zm-114.4-114h-1.2a1.74 1.74 0 0 0-1.9 1.9v49.8c0 7.9-2.6 11.1-10.1 11.1s-10.1-3.1-10.1-11.1v-49.8a1.69 1.69 0 0 0-1.9-1.9H309a1.81 1.81 0 0 0-2 1.9v51.5c0 9.6 5 14.1 15.1 14.1h.4c10.1 0 15.1-4.6 15.1-14.1v-51.5a2 2 0 0 0-2.2-1.9zM321.7 308l-2.3-6.8-2.3 6.8-7.1.1 5.7 4.3-2.1 6.8 5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3zm-31.1 7.4l-2.3-6.8-2.3 6.8-7.1.1 5.7 4.3-2.1 6.8 5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3zm5.1-30.8h-19.4v-26.7h16.1a1.89 1.89 0 0 0 2-2v-.8a1.89 1.89 0 0 0-2-2h-16.1v-25.8h19.1a1.89 1.89 0 0 0 2-2v-.8a1.77 1.77 0 0 0-2-1.9h-22.2a1.81 1.81 0 0 0-2 1.9v63a1.81 1.81 0 0 0 2 1.9h22.5a1.77 1.77 0 0 0 2-1.9v-.8a1.83 1.83 0 0 0-2-2.06zm-7.4-99.4L286 192l-7.1.1 5.7 4.3-2.1 6.8 5.8-4.1 5.8 4.1-2.1-6.8 5.7-4.3-7.1-.1z\"},\"child\":[]}]})(props);\n};\nexport function FaReadme (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M528.3 46.5H388.5c-48.1 0-89.9 33.3-100.4 80.3-10.6-47-52.3-80.3-100.4-80.3H48c-26.5 0-48 21.5-48 48v245.8c0 26.5 21.5 48 48 48h89.7c102.2 0 132.7 24.4 147.3 75 .7 2.8 5.2 2.8 6 0 14.7-50.6 45.2-75 147.3-75H528c26.5 0 48-21.5 48-48V94.6c0-26.4-21.3-47.9-47.7-48.1zM242 311.9c0 1.9-1.5 3.5-3.5 3.5H78.2c-1.9 0-3.5-1.5-3.5-3.5V289c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5v22.9zm0-60.9c0 1.9-1.5 3.5-3.5 3.5H78.2c-1.9 0-3.5-1.5-3.5-3.5v-22.9c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5V251zm0-60.9c0 1.9-1.5 3.5-3.5 3.5H78.2c-1.9 0-3.5-1.5-3.5-3.5v-22.9c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5v22.9zm259.3 121.7c0 1.9-1.5 3.5-3.5 3.5H337.5c-1.9 0-3.5-1.5-3.5-3.5v-22.9c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5v22.9zm0-60.9c0 1.9-1.5 3.5-3.5 3.5H337.5c-1.9 0-3.5-1.5-3.5-3.5V228c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5v22.9zm0-60.9c0 1.9-1.5 3.5-3.5 3.5H337.5c-1.9 0-3.5-1.5-3.5-3.5v-22.8c0-1.9 1.5-3.5 3.5-3.5h160.4c1.9 0 3.5 1.5 3.5 3.5V190z\"},\"child\":[]}]})(props);\n};\nexport function FaRebel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256.5 504C117.2 504 9 387.8 13.2 249.9 16 170.7 56.4 97.7 129.7 49.5c.3 0 1.9-.6 1.1.8-5.8 5.5-111.3 129.8-14.1 226.4 49.8 49.5 90 2.5 90 2.5 38.5-50.1-.6-125.9-.6-125.9-10-24.9-45.7-40.1-45.7-40.1l28.8-31.8c24.4 10.5 43.2 38.7 43.2 38.7.8-29.6-21.9-61.4-21.9-61.4L255.1 8l44.3 50.1c-20.5 28.8-21.9 62.6-21.9 62.6 13.8-23 43.5-39.3 43.5-39.3l28.5 31.8c-27.4 8.9-45.4 39.9-45.4 39.9-15.8 28.5-27.1 89.4.6 127.3 32.4 44.6 87.7-2.8 87.7-2.8 102.7-91.9-10.5-225-10.5-225-6.1-5.5.8-2.8.8-2.8 50.1 36.5 114.6 84.4 116.2 204.8C500.9 400.2 399 504 256.5 504z\"},\"child\":[]}]})(props);\n};\nexport function FaRedRiver (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M353.2 32H94.8C42.4 32 0 74.4 0 126.8v258.4C0 437.6 42.4 480 94.8 480h258.4c52.4 0 94.8-42.4 94.8-94.8V126.8c0-52.4-42.4-94.8-94.8-94.8zM144.9 200.9v56.3c0 27-21.9 48.9-48.9 48.9V151.9c0-13.2 10.7-23.9 23.9-23.9h154.2c0 27-21.9 48.9-48.9 48.9h-56.3c-12.3-.6-24.6 11.6-24 24zm176.3 72h-56.3c-12.3-.6-24.6 11.6-24 24v56.3c0 27-21.9 48.9-48.9 48.9V247.9c0-13.2 10.7-23.9 23.9-23.9h154.2c0 27-21.9 48.9-48.9 48.9z\"},\"child\":[]}]})(props);\n};\nexport function FaRedditAlien (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M440.3 203.5c-15 0-28.2 6.2-37.9 15.9-35.7-24.7-83.8-40.6-137.1-42.3L293 52.3l88.2 19.8c0 21.6 17.6 39.2 39.2 39.2 22 0 39.7-18.1 39.7-39.7s-17.6-39.7-39.7-39.7c-15.4 0-28.7 9.3-35.3 22l-97.4-21.6c-4.9-1.3-9.7 2.2-11 7.1L246.3 177c-52.9 2.2-100.5 18.1-136.3 42.8-9.7-10.1-23.4-16.3-38.4-16.3-55.6 0-73.8 74.6-22.9 100.1-1.8 7.9-2.6 16.3-2.6 24.7 0 83.8 94.4 151.7 210.3 151.7 116.4 0 210.8-67.9 210.8-151.7 0-8.4-.9-17.2-3.1-25.1 49.9-25.6 31.5-99.7-23.8-99.7zM129.4 308.9c0-22 17.6-39.7 39.7-39.7 21.6 0 39.2 17.6 39.2 39.7 0 21.6-17.6 39.2-39.2 39.2-22 .1-39.7-17.6-39.7-39.2zm214.3 93.5c-36.4 36.4-139.1 36.4-175.5 0-4-3.5-4-9.7 0-13.7 3.5-3.5 9.7-3.5 13.2 0 27.8 28.5 120 29 149 0 3.5-3.5 9.7-3.5 13.2 0 4.1 4 4.1 10.2.1 13.7zm-.8-54.2c-21.6 0-39.2-17.6-39.2-39.2 0-22 17.6-39.7 39.2-39.7 22 0 39.7 17.6 39.7 39.7-.1 21.5-17.7 39.2-39.7 39.2z\"},\"child\":[]}]})(props);\n};\nexport function FaRedditSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M283.2 345.5c2.7 2.7 2.7 6.8 0 9.2-24.5 24.5-93.8 24.6-118.4 0-2.7-2.4-2.7-6.5 0-9.2 2.4-2.4 6.5-2.4 8.9 0 18.7 19.2 81 19.6 100.5 0 2.4-2.3 6.6-2.3 9 0zm-91.3-53.8c0-14.9-11.9-26.8-26.5-26.8-14.9 0-26.8 11.9-26.8 26.8 0 14.6 11.9 26.5 26.8 26.5 14.6 0 26.5-11.9 26.5-26.5zm90.7-26.8c-14.6 0-26.5 11.9-26.5 26.8 0 14.6 11.9 26.5 26.5 26.5 14.9 0 26.8-11.9 26.8-26.5 0-14.9-11.9-26.8-26.8-26.8zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-99.7 140.6c-10.1 0-19 4.2-25.6 10.7-24.1-16.7-56.5-27.4-92.5-28.6l18.7-84.2 59.5 13.4c0 14.6 11.9 26.5 26.5 26.5 14.9 0 26.8-12.2 26.8-26.8 0-14.6-11.9-26.8-26.8-26.8-10.4 0-19.3 6.2-23.8 14.9l-65.7-14.6c-3.3-.9-6.5 1.5-7.4 4.8l-20.5 92.8c-35.7 1.5-67.8 12.2-91.9 28.9-6.5-6.8-15.8-11-25.9-11-37.5 0-49.8 50.4-15.5 67.5-1.2 5.4-1.8 11-1.8 16.7 0 56.5 63.7 102.3 141.9 102.3 78.5 0 142.2-45.8 142.2-102.3 0-5.7-.6-11.6-2.1-17 33.6-17.2 21.2-67.2-16.1-67.2z\"},\"child\":[]}]})(props);\n};\nexport function FaReddit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M201.5 305.5c-13.8 0-24.9-11.1-24.9-24.6 0-13.8 11.1-24.9 24.9-24.9 13.6 0 24.6 11.1 24.6 24.9 0 13.6-11.1 24.6-24.6 24.6zM504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-132.3-41.2c-9.4 0-17.7 3.9-23.8 10-22.4-15.5-52.6-25.5-86.1-26.6l17.4-78.3 55.4 12.5c0 13.6 11.1 24.6 24.6 24.6 13.8 0 24.9-11.3 24.9-24.9s-11.1-24.9-24.9-24.9c-9.7 0-18 5.8-22.1 13.8l-61.2-13.6c-3-.8-6.1 1.4-6.9 4.4l-19.1 86.4c-33.2 1.4-63.1 11.3-85.5 26.8-6.1-6.4-14.7-10.2-24.1-10.2-34.9 0-46.3 46.9-14.4 62.8-1.1 5-1.7 10.2-1.7 15.5 0 52.6 59.2 95.2 132 95.2 73.1 0 132.3-42.6 132.3-95.2 0-5.3-.6-10.8-1.9-15.8 31.3-16 19.8-62.5-14.9-62.5zM302.8 331c-18.2 18.2-76.1 17.9-93.6 0-2.2-2.2-6.1-2.2-8.3 0-2.5 2.5-2.5 6.4 0 8.6 22.8 22.8 87.3 22.8 110.2 0 2.5-2.2 2.5-6.1 0-8.6-2.2-2.2-6.1-2.2-8.3 0zm7.7-75c-13.6 0-24.6 11.1-24.6 24.9 0 13.6 11.1 24.6 24.6 24.6 13.8 0 24.9-11.1 24.9-24.6 0-13.8-11-24.9-24.9-24.9z\"},\"child\":[]}]})(props);\n};\nexport function FaRedhat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M341.52 285.56c33.65 0 82.34-6.94 82.34-47 .22-6.74.86-1.82-20.88-96.24-4.62-19.15-8.68-27.84-42.31-44.65-26.09-13.34-82.92-35.37-99.73-35.37-15.66 0-20.2 20.17-38.87 20.17-18 0-31.31-15.06-48.12-15.06-16.14 0-26.66 11-34.78 33.62-27.5 77.55-26.28 74.27-26.12 78.27 0 24.8 97.64 106.11 228.47 106.11M429 254.84c4.65 22 4.65 24.35 4.65 27.25 0 37.66-42.33 58.56-98 58.56-125.74.08-235.91-73.65-235.91-122.33a49.55 49.55 0 0 1 4.06-19.72C58.56 200.86 0 208.93 0 260.63c0 84.67 200.63 189 359.49 189 121.79 0 152.51-55.08 152.51-98.58 0-34.21-29.59-73.05-82.93-96.24\"},\"child\":[]}]})(props);\n};\nexport function FaRenren (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M214 169.1c0 110.4-61 205.4-147.6 247.4C30 373.2 8 317.7 8 256.6 8 133.9 97.1 32.2 214 12.5v156.6zM255 504c-42.9 0-83.3-11-118.5-30.4C193.7 437.5 239.9 382.9 255 319c15.5 63.9 61.7 118.5 118.8 154.7C338.7 493 298.3 504 255 504zm190.6-87.5C359 374.5 298 279.6 298 169.1V12.5c116.9 19.7 206 121.4 206 244.1 0 61.1-22 116.6-58.4 159.9z\"},\"child\":[]}]})(props);\n};\nexport function FaReplyd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M320 480H128C57.6 480 0 422.4 0 352V160C0 89.6 57.6 32 128 32h192c70.4 0 128 57.6 128 128v192c0 70.4-57.6 128-128 128zM193.4 273.2c-6.1-2-11.6-3.1-16.4-3.1-7.2 0-13.5 1.9-18.9 5.6-5.4 3.7-9.6 9-12.8 15.8h-1.1l-4.2-18.3h-28v138.9h36.1v-89.7c1.5-5.4 4.4-9.8 8.7-13.2 4.3-3.4 9.8-5.1 16.2-5.1 4.6 0 9.8 1 15.6 3.1l4.8-34zm115.2 103.4c-3.2 2.4-7.7 4.8-13.7 7.1-6 2.3-12.8 3.5-20.4 3.5-12.2 0-21.1-3-26.5-8.9-5.5-5.9-8.5-14.7-9-26.4h83.3c.9-4.8 1.6-9.4 2.1-13.9.5-4.4.7-8.6.7-12.5 0-10.7-1.6-19.7-4.7-26.9-3.2-7.2-7.3-13-12.5-17.2-5.2-4.3-11.1-7.3-17.8-9.2-6.7-1.8-13.5-2.8-20.6-2.8-21.1 0-37.5 6.1-49.2 18.3s-17.5 30.5-17.5 55c0 22.8 5.2 40.7 15.6 53.7 10.4 13.1 26.8 19.6 49.2 19.6 10.7 0 20.9-1.5 30.4-4.6 9.5-3.1 17.1-6.8 22.6-11.2l-12-23.6zm-21.8-70.3c3.8 5.4 5.3 13.1 4.6 23.1h-51.7c.9-9.4 3.7-17 8.2-22.6 4.5-5.6 11.5-8.5 21-8.5 8.2-.1 14.1 2.6 17.9 8zm79.9 2.5c4.1 3.9 9.4 5.8 16.1 5.8 7 0 12.6-1.9 16.7-5.8s6.1-9.1 6.1-15.6-2-11.6-6.1-15.4c-4.1-3.8-9.6-5.7-16.7-5.7-6.7 0-12 1.9-16.1 5.7-4.1 3.8-6.1 8.9-6.1 15.4s2 11.7 6.1 15.6zm0 100.5c4.1 3.9 9.4 5.8 16.1 5.8 7 0 12.6-1.9 16.7-5.8s6.1-9.1 6.1-15.6-2-11.6-6.1-15.4c-4.1-3.8-9.6-5.7-16.7-5.7-6.7 0-12 1.9-16.1 5.7-4.1 3.8-6.1 8.9-6.1 15.4 0 6.6 2 11.7 6.1 15.6z\"},\"child\":[]}]})(props);\n};\nexport function FaResearchgate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 32v448h448V32H0zm262.2 334.4c-6.6 3-33.2 6-50-14.2-9.2-10.6-25.3-33.3-42.2-63.6-8.9 0-14.7 0-21.4-.6v46.4c0 23.5 6 21.2 25.8 23.9v8.1c-6.9-.3-23.1-.8-35.6-.8-13.1 0-26.1.6-33.6.8v-8.1c15.5-2.9 22-1.3 22-23.9V225c0-22.6-6.4-21-22-23.9V193c25.8 1 53.1-.6 70.9-.6 31.7 0 55.9 14.4 55.9 45.6 0 21.1-16.7 42.2-39.2 47.5 13.6 24.2 30 45.6 42.2 58.9 7.2 7.8 17.2 14.7 27.2 14.7v7.3zm22.9-135c-23.3 0-32.2-15.7-32.2-32.2V167c0-12.2 8.8-30.4 34-30.4s30.4 17.9 30.4 17.9l-10.7 7.2s-5.5-12.5-19.7-12.5c-7.9 0-19.7 7.3-19.7 19.7v26.8c0 13.4 6.6 23.3 17.9 23.3 14.1 0 21.5-10.9 21.5-26.8h-17.9v-10.7h30.4c0 20.5 4.7 49.9-34 49.9zm-116.5 44.7c-9.4 0-13.6-.3-20-.8v-69.7c6.4-.6 15-.6 22.5-.6 23.3 0 37.2 12.2 37.2 34.5 0 21.9-15 36.6-39.7 36.6z\"},\"child\":[]}]})(props);\n};\nexport function FaResolving (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M281.2 278.2c46-13.3 49.6-23.5 44-43.4L314 195.5c-6.1-20.9-18.4-28.1-71.1-12.8L54.7 236.8l28.6 98.6 197.9-57.2zM248.5 8C131.4 8 33.2 88.7 7.2 197.5l221.9-63.9c34.8-10.2 54.2-11.7 79.3-8.2 36.3 6.1 52.7 25 61.4 55.2l10.7 37.8c8.2 28.1 1 50.6-23.5 73.6-19.4 17.4-31.2 24.5-61.4 33.2L203 351.8l220.4 27.1 9.7 34.2-48.1 13.3-286.8-37.3 23 80.2c36.8 22 80.3 34.7 126.3 34.7 137 0 248.5-111.4 248.5-248.3C497 119.4 385.5 8 248.5 8zM38.3 388.6L0 256.8c0 48.5 14.3 93.4 38.3 131.8z\"},\"child\":[]}]})(props);\n};\nexport function FaRev (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M289.67 274.89a65.57 65.57 0 1 1-65.56-65.56 65.64 65.64 0 0 1 65.56 65.56zm139.55-5.05h-.13a204.69 204.69 0 0 0-74.32-153l-45.38 26.2a157.07 157.07 0 0 1 71.81 131.84C381.2 361.5 310.73 432 224.11 432S67 361.5 67 274.88c0-81.88 63-149.27 143-156.43v39.12l108.77-62.79L210 32v38.32c-106.7 7.25-191 96-191 204.57 0 111.59 89.12 202.29 200.06 205v.11h210.16V269.84z\"},\"child\":[]}]})(props);\n};\nexport function FaRocketchat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M284.046,224.8a34.114,34.114,0,1,0,34.317,34.113A34.217,34.217,0,0,0,284.046,224.8Zm-110.45,0a34.114,34.114,0,1,0,34.317,34.113A34.217,34.217,0,0,0,173.6,224.8Zm220.923,0a34.114,34.114,0,1,0,34.317,34.113A34.215,34.215,0,0,0,394.519,224.8Zm153.807-55.319c-15.535-24.172-37.31-45.57-64.681-63.618-52.886-34.817-122.374-54-195.666-54a405.975,405.975,0,0,0-72.032,6.357,238.524,238.524,0,0,0-49.51-36.588C99.684-11.7,40.859.711,11.135,11.421A14.291,14.291,0,0,0,5.58,34.782C26.542,56.458,61.222,99.3,52.7,138.252c-33.142,33.9-51.112,74.776-51.112,117.337,0,43.372,17.97,84.248,51.112,118.148,8.526,38.956-26.154,81.816-47.116,103.491a14.284,14.284,0,0,0,5.555,23.34c29.724,10.709,88.549,23.147,155.324-10.2a238.679,238.679,0,0,0,49.51-36.589A405.972,405.972,0,0,0,288,460.14c73.313,0,142.8-19.159,195.667-53.975,27.371-18.049,49.145-39.426,64.679-63.619,17.309-26.923,26.07-55.916,26.07-86.125C574.394,225.4,565.634,196.43,548.326,169.485ZM284.987,409.9a345.65,345.65,0,0,1-89.446-11.5l-20.129,19.393a184.366,184.366,0,0,1-37.138,27.585,145.767,145.767,0,0,1-52.522,14.87c.983-1.771,1.881-3.563,2.842-5.356q30.258-55.68,16.325-100.078c-32.992-25.962-52.778-59.2-52.778-95.4,0-83.1,104.254-150.469,232.846-150.469s232.867,67.373,232.867,150.469C517.854,342.525,413.6,409.9,284.987,409.9Z\"},\"child\":[]}]})(props);\n};\nexport function FaRockrms (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm157.4 419.5h-90l-112-131.3c-17.9-20.4-3.9-56.1 26.6-56.1h75.3l-84.6-99.3-84.3 98.9h-90L193.5 67.2c14.4-18.4 41.3-17.3 54.5 0l157.7 185.1c19 22.8 2 57.2-27.6 56.1-.6 0-74.2.2-74.2.2l101.5 118.9z\"},\"child\":[]}]})(props);\n};\nexport function FaRust (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M508.52,249.75,486.7,236.24c-.17-2-.34-3.93-.55-5.88l18.72-17.5a7.35,7.35,0,0,0-2.44-12.25l-24-9c-.54-1.88-1.08-3.78-1.67-5.64l15-20.83a7.35,7.35,0,0,0-4.79-11.54l-25.42-4.15c-.9-1.73-1.79-3.45-2.73-5.15l10.68-23.42a7.35,7.35,0,0,0-6.95-10.39l-25.82.91q-1.79-2.22-3.61-4.4L439,81.84A7.36,7.36,0,0,0,430.16,73L405,78.93q-2.17-1.83-4.4-3.61l.91-25.82a7.35,7.35,0,0,0-10.39-7L367.7,53.23c-1.7-.94-3.43-1.84-5.15-2.73L358.4,25.08a7.35,7.35,0,0,0-11.54-4.79L326,35.26c-1.86-.59-3.75-1.13-5.64-1.67l-9-24a7.35,7.35,0,0,0-12.25-2.44l-17.5,18.72c-1.95-.21-3.91-.38-5.88-.55L262.25,3.48a7.35,7.35,0,0,0-12.5,0L236.24,25.3c-2,.17-3.93.34-5.88.55L212.86,7.13a7.35,7.35,0,0,0-12.25,2.44l-9,24c-1.89.55-3.79,1.08-5.66,1.68l-20.82-15a7.35,7.35,0,0,0-11.54,4.79l-4.15,25.41c-1.73.9-3.45,1.79-5.16,2.73L120.88,42.55a7.35,7.35,0,0,0-10.39,7l.92,25.81c-1.49,1.19-3,2.39-4.42,3.61L81.84,73A7.36,7.36,0,0,0,73,81.84L78.93,107c-1.23,1.45-2.43,2.93-3.62,4.41l-25.81-.91a7.42,7.42,0,0,0-6.37,3.26,7.35,7.35,0,0,0-.57,7.13l10.66,23.41c-.94,1.7-1.83,3.43-2.73,5.16L25.08,153.6a7.35,7.35,0,0,0-4.79,11.54l15,20.82c-.59,1.87-1.13,3.77-1.68,5.66l-24,9a7.35,7.35,0,0,0-2.44,12.25l18.72,17.5c-.21,1.95-.38,3.91-.55,5.88L3.48,249.75a7.35,7.35,0,0,0,0,12.5L25.3,275.76c.17,2,.34,3.92.55,5.87L7.13,299.13a7.35,7.35,0,0,0,2.44,12.25l24,9c.55,1.89,1.08,3.78,1.68,5.65l-15,20.83a7.35,7.35,0,0,0,4.79,11.54l25.42,4.15c.9,1.72,1.79,3.45,2.73,5.14L42.56,391.12a7.35,7.35,0,0,0,.57,7.13,7.13,7.13,0,0,0,6.37,3.26l25.83-.91q1.77,2.22,3.6,4.4L73,430.16A7.36,7.36,0,0,0,81.84,439L107,433.07q2.18,1.83,4.41,3.61l-.92,25.82a7.35,7.35,0,0,0,10.39,6.95l23.43-10.68c1.69.94,3.42,1.83,5.14,2.73l4.15,25.42a7.34,7.34,0,0,0,11.54,4.78l20.83-15c1.86.6,3.76,1.13,5.65,1.68l9,24a7.36,7.36,0,0,0,12.25,2.44l17.5-18.72c1.95.21,3.92.38,5.88.55l13.51,21.82a7.35,7.35,0,0,0,12.5,0l13.51-21.82c2-.17,3.93-.34,5.88-.56l17.5,18.73a7.36,7.36,0,0,0,12.25-2.44l9-24c1.89-.55,3.78-1.08,5.65-1.68l20.82,15a7.34,7.34,0,0,0,11.54-4.78l4.15-25.42c1.72-.9,3.45-1.79,5.15-2.73l23.42,10.68a7.35,7.35,0,0,0,10.39-6.95l-.91-25.82q2.22-1.79,4.4-3.61L430.16,439a7.36,7.36,0,0,0,8.84-8.84L433.07,405q1.83-2.17,3.61-4.4l25.82.91a7.23,7.23,0,0,0,6.37-3.26,7.35,7.35,0,0,0,.58-7.13L458.77,367.7c.94-1.7,1.83-3.43,2.73-5.15l25.42-4.15a7.35,7.35,0,0,0,4.79-11.54l-15-20.83c.59-1.87,1.13-3.76,1.67-5.65l24-9a7.35,7.35,0,0,0,2.44-12.25l-18.72-17.5c.21-1.95.38-3.91.55-5.87l21.82-13.51a7.35,7.35,0,0,0,0-12.5Zm-151,129.08A13.91,13.91,0,0,0,341,389.51l-7.64,35.67A187.51,187.51,0,0,1,177,424.44l-7.64-35.66a13.87,13.87,0,0,0-16.46-10.68l-31.51,6.76a187.38,187.38,0,0,1-16.26-19.21H258.3c1.72,0,2.89-.29,2.89-1.91V309.55c0-1.57-1.17-1.91-2.89-1.91H213.47l.05-34.35H262c4.41,0,23.66,1.28,29.79,25.87,1.91,7.55,6.17,32.14,9.06,40,2.89,8.82,14.6,26.46,27.1,26.46H407a187.3,187.3,0,0,1-17.34,20.09Zm25.77,34.49A15.24,15.24,0,1,1,368,398.08h.44A15.23,15.23,0,0,1,383.24,413.32Zm-225.62-.68a15.24,15.24,0,1,1-15.25-15.25h.45A15.25,15.25,0,0,1,157.62,412.64ZM69.57,234.15l32.83-14.6a13.88,13.88,0,0,0,7.06-18.33L102.69,186h26.56V305.73H75.65A187.65,187.65,0,0,1,69.57,234.15ZM58.31,198.09a15.24,15.24,0,0,1,15.23-15.25H74a15.24,15.24,0,1,1-15.67,15.24Zm155.16,24.49.05-35.32h63.26c3.28,0,23.07,3.77,23.07,18.62,0,12.29-15.19,16.7-27.68,16.7ZM399,306.71c-9.8,1.13-20.63-4.12-22-10.09-5.78-32.49-15.39-39.4-30.57-51.4,18.86-11.95,38.46-29.64,38.46-53.26,0-25.52-17.49-41.59-29.4-49.48-16.76-11-35.28-13.23-40.27-13.23H116.32A187.49,187.49,0,0,1,221.21,70.06l23.47,24.6a13.82,13.82,0,0,0,19.6.44l26.26-25a187.51,187.51,0,0,1,128.37,91.43l-18,40.57A14,14,0,0,0,408,220.43l34.59,15.33a187.12,187.12,0,0,1,.4,32.54H423.71c-1.91,0-2.69,1.27-2.69,3.13v8.82C421,301,409.31,305.58,399,306.71ZM240,60.21A15.24,15.24,0,0,1,255.21,45h.45A15.24,15.24,0,1,1,240,60.21ZM436.84,214a15.24,15.24,0,1,1,0-30.48h.44a15.24,15.24,0,0,1-.44,30.48Z\"},\"child\":[]}]})(props);\n};\nexport function FaSafari (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M274.69,274.69l-37.38-37.38L166,346ZM256,8C119,8,8,119,8,256S119,504,256,504,504,393,504,256,393,8,256,8ZM411.85,182.79l14.78-6.13A8,8,0,0,1,437.08,181h0a8,8,0,0,1-4.33,10.46L418,197.57a8,8,0,0,1-10.45-4.33h0A8,8,0,0,1,411.85,182.79ZM314.43,94l6.12-14.78A8,8,0,0,1,331,74.92h0a8,8,0,0,1,4.33,10.45l-6.13,14.78a8,8,0,0,1-10.45,4.33h0A8,8,0,0,1,314.43,94ZM256,60h0a8,8,0,0,1,8,8V84a8,8,0,0,1-8,8h0a8,8,0,0,1-8-8V68A8,8,0,0,1,256,60ZM181,74.92a8,8,0,0,1,10.46,4.33L197.57,94a8,8,0,1,1-14.78,6.12l-6.13-14.78A8,8,0,0,1,181,74.92Zm-63.58,42.49h0a8,8,0,0,1,11.31,0L140,128.72A8,8,0,0,1,140,140h0a8,8,0,0,1-11.31,0l-11.31-11.31A8,8,0,0,1,117.41,117.41ZM60,256h0a8,8,0,0,1,8-8H84a8,8,0,0,1,8,8h0a8,8,0,0,1-8,8H68A8,8,0,0,1,60,256Zm40.15,73.21-14.78,6.13A8,8,0,0,1,74.92,331h0a8,8,0,0,1,4.33-10.46L94,314.43a8,8,0,0,1,10.45,4.33h0A8,8,0,0,1,100.15,329.21Zm4.33-136h0A8,8,0,0,1,94,197.57l-14.78-6.12A8,8,0,0,1,74.92,181h0a8,8,0,0,1,10.45-4.33l14.78,6.13A8,8,0,0,1,104.48,193.24ZM197.57,418l-6.12,14.78a8,8,0,0,1-14.79-6.12l6.13-14.78A8,8,0,1,1,197.57,418ZM264,444a8,8,0,0,1-8,8h0a8,8,0,0,1-8-8V428a8,8,0,0,1,8-8h0a8,8,0,0,1,8,8Zm67-6.92h0a8,8,0,0,1-10.46-4.33L314.43,418a8,8,0,0,1,4.33-10.45h0a8,8,0,0,1,10.45,4.33l6.13,14.78A8,8,0,0,1,331,437.08Zm63.58-42.49h0a8,8,0,0,1-11.31,0L372,383.28A8,8,0,0,1,372,372h0a8,8,0,0,1,11.31,0l11.31,11.31A8,8,0,0,1,394.59,394.59ZM286.25,286.25,110.34,401.66,225.75,225.75,401.66,110.34ZM437.08,331h0a8,8,0,0,1-10.45,4.33l-14.78-6.13a8,8,0,0,1-4.33-10.45h0A8,8,0,0,1,418,314.43l14.78,6.12A8,8,0,0,1,437.08,331ZM444,264H428a8,8,0,0,1-8-8h0a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8h0A8,8,0,0,1,444,264Z\"},\"child\":[]}]})(props);\n};\nexport function FaSalesforce (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248.89 245.64h-26.35c.69-5.16 3.32-14.12 13.64-14.12 6.75 0 11.97 3.82 12.71 14.12zm136.66-13.88c-.47 0-14.11-1.77-14.11 20s13.63 20 14.11 20c13 0 14.11-13.54 14.11-20 0-21.76-13.66-20-14.11-20zm-243.22 23.76a8.63 8.63 0 0 0-3.29 7.29c0 4.78 2.08 6.05 3.29 7.05 4.7 3.7 15.07 2.12 20.93.95v-16.94c-5.32-1.07-16.73-1.96-20.93 1.65zM640 232c0 87.58-80 154.39-165.36 136.43-18.37 33-70.73 70.75-132.2 41.63-41.16 96.05-177.89 92.18-213.81-5.17C8.91 428.78-50.19 266.52 53.36 205.61 18.61 126.18 76 32 167.67 32a124.24 124.24 0 0 1 98.56 48.7c20.7-21.4 49.4-34.81 81.15-34.81 42.34 0 79 23.52 98.8 58.57C539 63.78 640 132.69 640 232zm-519.55 31.8c0-11.76-11.69-15.17-17.87-17.17-5.27-2.11-13.41-3.51-13.41-8.94 0-9.46 17-6.66 25.17-2.12 0 0 1.17.71 1.64-.47.24-.7 2.36-6.58 2.59-7.29a1.13 1.13 0 0 0-.7-1.41c-12.33-7.63-40.7-8.51-40.7 12.7 0 12.46 11.49 15.44 17.88 17.17 4.72 1.58 13.17 3 13.17 8.7 0 4-3.53 7.06-9.17 7.06a31.76 31.76 0 0 1-19-6.35c-.47-.23-1.42-.71-1.65.71l-2.4 7.47c-.47.94.23 1.18.23 1.41 1.75 1.4 10.3 6.59 22.82 6.59 13.17 0 21.4-7.06 21.4-18.11zm32-42.58c-10.13 0-18.66 3.17-21.4 5.18a1 1 0 0 0-.24 1.41l2.59 7.06a1 1 0 0 0 1.18.7c.65 0 6.8-4 16.93-4 4 0 7.06.71 9.18 2.36 3.6 2.8 3.06 8.29 3.06 10.58-4.79-.3-19.11-3.44-29.41 3.76a16.92 16.92 0 0 0-7.34 14.54c0 5.9 1.51 10.4 6.59 14.35 12.24 8.16 36.28 2 38.1 1.41 1.58-.32 3.53-.66 3.53-1.88v-33.88c.04-4.61.32-21.64-22.78-21.64zM199 200.24a1.11 1.11 0 0 0-1.18-1.18H188a1.11 1.11 0 0 0-1.17 1.18v79a1.11 1.11 0 0 0 1.17 1.18h9.88a1.11 1.11 0 0 0 1.18-1.18zm55.75 28.93c-2.1-2.31-6.79-7.53-17.65-7.53-3.51 0-14.16.23-20.7 8.94-6.35 7.63-6.58 18.11-6.58 21.41 0 3.12.15 14.26 7.06 21.17 2.64 2.91 9.06 8.23 22.81 8.23 10.82 0 16.47-2.35 18.58-3.76.47-.24.71-.71.24-1.88l-2.35-6.83a1.26 1.26 0 0 0-1.41-.7c-2.59.94-6.35 2.82-15.29 2.82-17.42 0-16.85-14.74-16.94-16.7h37.17a1.23 1.23 0 0 0 1.17-.94c-.29 0 2.07-14.7-6.09-24.23zm36.69 52.69c13.17 0 21.41-7.06 21.41-18.11 0-11.76-11.7-15.17-17.88-17.17-4.14-1.66-13.41-3.38-13.41-8.94 0-3.76 3.29-6.35 8.47-6.35a38.11 38.11 0 0 1 16.7 4.23s1.18.71 1.65-.47c.23-.7 2.35-6.58 2.58-7.29a1.13 1.13 0 0 0-.7-1.41c-7.91-4.9-16.74-4.94-20.23-4.94-12 0-20.46 7.29-20.46 17.64 0 12.46 11.48 15.44 17.87 17.17 6.11 2 13.17 3.26 13.17 8.7 0 4-3.52 7.06-9.17 7.06a31.8 31.8 0 0 1-19-6.35 1 1 0 0 0-1.65.71l-2.35 7.52c-.47.94.23 1.18.23 1.41 1.72 1.4 10.33 6.59 22.79 6.59zM357.09 224c0-.71-.24-1.18-1.18-1.18h-11.76c0-.14.94-8.94 4.47-12.47 4.16-4.15 11.76-1.64 12-1.64 1.17.47 1.41 0 1.64-.47l2.83-7.77c.7-.94 0-1.17-.24-1.41-5.09-2-17.35-2.87-24.46 4.24-5.48 5.48-7 13.92-8 19.52h-8.47a1.28 1.28 0 0 0-1.17 1.18l-1.42 7.76c0 .7.24 1.17 1.18 1.17h8.23c-8.51 47.9-8.75 50.21-10.35 55.52-1.08 3.62-3.29 6.9-5.88 7.76-.09 0-3.88 1.68-9.64-.24 0 0-.94-.47-1.41.71-.24.71-2.59 6.82-2.83 7.53s0 1.41.47 1.41c5.11 2 13 1.77 17.88 0 6.28-2.28 9.72-7.89 11.53-12.94 2.75-7.71 2.81-9.79 11.76-59.74h12.23a1.29 1.29 0 0 0 1.18-1.18zm53.39 16c-.56-1.68-5.1-18.11-25.17-18.11-15.25 0-23 10-25.16 18.11-1 3-3.18 14 0 23.52.09.3 4.41 18.12 25.16 18.12 14.95 0 22.9-9.61 25.17-18.12 3.21-9.61 1.01-20.52 0-23.52zm45.4-16.7c-5-1.65-16.62-1.9-22.11 5.41v-4.47a1.11 1.11 0 0 0-1.18-1.17h-9.4a1.11 1.11 0 0 0-1.18 1.17v55.28a1.12 1.12 0 0 0 1.18 1.18h9.64a1.12 1.12 0 0 0 1.18-1.18v-27.77c0-2.91.05-11.37 4.46-15.05 4.9-4.9 12-3.36 13.41-3.06a1.57 1.57 0 0 0 1.41-.94 74 74 0 0 0 3.06-8 1.16 1.16 0 0 0-.47-1.41zm46.81 54.1l-2.12-7.29c-.47-1.18-1.41-.71-1.41-.71-4.23 1.82-10.15 1.89-11.29 1.89-4.64 0-17.17-1.13-17.17-19.76 0-6.23 1.85-19.76 16.47-19.76a34.85 34.85 0 0 1 11.52 1.65s.94.47 1.18-.71c.94-2.59 1.64-4.47 2.59-7.53.23-.94-.47-1.17-.71-1.17-11.59-3.87-22.34-2.53-27.76 0-1.59.74-16.23 6.49-16.23 27.52 0 2.9-.58 30.11 28.94 30.11a44.45 44.45 0 0 0 15.52-2.83 1.3 1.3 0 0 0 .47-1.42zm53.87-39.52c-.8-3-5.37-16.23-22.35-16.23-16 0-23.52 10.11-25.64 18.59a38.58 38.58 0 0 0-1.65 11.76c0 25.87 18.84 29.4 29.88 29.4 10.82 0 16.46-2.35 18.58-3.76.47-.24.71-.71.24-1.88l-2.36-6.83a1.26 1.26 0 0 0-1.41-.7c-2.59.94-6.35 2.82-15.29 2.82-17.42 0-16.85-14.74-16.93-16.7h37.16a1.25 1.25 0 0 0 1.18-.94c-.24-.01.94-7.07-1.41-15.54zm-23.29-6.35c-10.33 0-13 9-13.64 14.12H546c-.88-11.92-7.62-14.13-12.73-14.13z\"},\"child\":[]}]})(props);\n};\nexport function FaSass (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M301.84 378.92c-.3.6-.6 1.08 0 0zm249.13-87a131.16 131.16 0 0 0-58 13.5c-5.9-11.9-12-22.3-13-30.1-1.2-9.1-2.5-14.5-1.1-25.3s7.7-26.1 7.6-27.2-1.4-6.6-14.3-6.7-24 2.5-25.29 5.9a122.83 122.83 0 0 0-5.3 19.1c-2.3 11.7-25.79 53.5-39.09 75.3-4.4-8.5-8.1-16-8.9-22-1.2-9.1-2.5-14.5-1.1-25.3s7.7-26.1 7.6-27.2-1.4-6.6-14.29-6.7-24 2.5-25.3 5.9-2.7 11.4-5.3 19.1-33.89 77.3-42.08 95.4c-4.2 9.2-7.8 16.6-10.4 21.6-.4.8-.7 1.3-.9 1.7.3-.5.5-1 .5-.8-2.2 4.3-3.5 6.7-3.5 6.7v.1c-1.7 3.2-3.6 6.1-4.5 6.1-.6 0-1.9-8.4.3-19.9 4.7-24.2 15.8-61.8 15.7-63.1-.1-.7 2.1-7.2-7.3-10.7-9.1-3.3-12.4 2.2-13.2 2.2s-1.4 2-1.4 2 10.1-42.4-19.39-42.4c-18.4 0-44 20.2-56.58 38.5-7.9 4.3-25 13.6-43 23.5-6.9 3.8-14 7.7-20.7 11.4-.5-.5-.9-1-1.4-1.5-35.79-38.2-101.87-65.2-99.07-116.5 1-18.7 7.5-67.8 127.07-127.4 98-48.8 176.35-35.4 189.84-5.6 19.4 42.5-41.89 121.6-143.66 133-38.79 4.3-59.18-10.7-64.28-16.3-5.3-5.9-6.1-6.2-8.1-5.1-3.3 1.8-1.2 7 0 10.1 3 7.9 15.5 21.9 36.79 28.9 18.7 6.1 64.18 9.5 119.17-11.8 61.78-23.8 109.87-90.1 95.77-145.6C386.52 18.32 293-.18 204.57 31.22c-52.69 18.7-109.67 48.1-150.66 86.4-48.69 45.6-56.48 85.3-53.28 101.9 11.39 58.9 92.57 97.3 125.06 125.7-1.6.9-3.1 1.7-4.5 2.5-16.29 8.1-78.18 40.5-93.67 74.7-17.5 38.8 2.9 66.6 16.29 70.4 41.79 11.6 84.58-9.3 107.57-43.6s20.2-79.1 9.6-99.5c-.1-.3-.3-.5-.4-.8 4.2-2.5 8.5-5 12.8-7.5 8.29-4.9 16.39-9.4 23.49-13.3-4 10.8-6.9 23.8-8.4 42.6-1.8 22 7.3 50.5 19.1 61.7 5.2 4.9 11.49 5 15.39 5 13.8 0 20-11.4 26.89-25 8.5-16.6 16-35.9 16-35.9s-9.4 52.2 16.3 52.2c9.39 0 18.79-12.1 23-18.3v.1s.2-.4.7-1.2c1-1.5 1.5-2.4 1.5-2.4v-.3c3.8-6.5 12.1-21.4 24.59-46 16.2-31.8 31.69-71.5 31.69-71.5a201.24 201.24 0 0 0 6.2 25.8c2.8 9.5 8.7 19.9 13.4 30-3.8 5.2-6.1 8.2-6.1 8.2a.31.31 0 0 0 .1.2c-3 4-6.4 8.3-9.9 12.5-12.79 15.2-28 32.6-30 37.6-2.4 5.9-1.8 10.3 2.8 13.7 3.4 2.6 9.4 3 15.69 2.5 11.5-.8 19.6-3.6 23.5-5.4a82.2 82.2 0 0 0 20.19-10.6c12.5-9.2 20.1-22.4 19.4-39.8-.4-9.6-3.5-19.2-7.3-28.2 1.1-1.6 2.3-3.3 3.4-5C434.8 301.72 450.1 270 450.1 270a201.24 201.24 0 0 0 6.2 25.8c2.4 8.1 7.09 17 11.39 25.7-18.59 15.1-30.09 32.6-34.09 44.1-7.4 21.3-1.6 30.9 9.3 33.1 4.9 1 11.9-1.3 17.1-3.5a79.46 79.46 0 0 0 21.59-11.1c12.5-9.2 24.59-22.1 23.79-39.6-.3-7.9-2.5-15.8-5.4-23.4 15.7-6.6 36.09-10.2 62.09-7.2 55.68 6.5 66.58 41.3 64.48 55.8s-13.8 22.6-17.7 25-5.1 3.3-4.8 5.1c.5 2.6 2.3 2.5 5.6 1.9 4.6-.8 29.19-11.8 30.29-38.7 1.6-34-31.09-71.4-89-71.1zm-429.18 144.7c-18.39 20.1-44.19 27.7-55.28 21.3C54.61 451 59.31 421.42 82 400c13.8-13 31.59-25 43.39-32.4 2.7-1.6 6.6-4 11.4-6.9.8-.5 1.2-.7 1.2-.7.9-.6 1.9-1.1 2.9-1.7 8.29 30.4.3 57.2-19.1 78.3zm134.36-91.4c-6.4 15.7-19.89 55.7-28.09 53.6-7-1.8-11.3-32.3-1.4-62.3 5-15.1 15.6-33.1 21.9-40.1 10.09-11.3 21.19-14.9 23.79-10.4 3.5 5.9-12.2 49.4-16.2 59.2zm111 53c-2.7 1.4-5.2 2.3-6.4 1.6-.9-.5 1.1-2.4 1.1-2.4s13.9-14.9 19.4-21.7c3.2-4 6.9-8.7 10.89-13.9 0 .5.1 1 .1 1.6-.13 17.9-17.32 30-25.12 34.8zm85.58-19.5c-2-1.4-1.7-6.1 5-20.7 2.6-5.7 8.59-15.3 19-24.5a36.18 36.18 0 0 1 1.9 10.8c-.1 22.5-16.2 30.9-25.89 34.4z\"},\"child\":[]}]})(props);\n};\nexport function FaSchlix (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M350.5 157.7l-54.2-46.1 73.4-39 78.3 44.2-97.5 40.9zM192 122.1l45.7-28.2 34.7 34.6-55.4 29-25-35.4zm-65.1 6.6l31.9-22.1L176 135l-36.7 22.5-12.4-28.8zm-23.3 88.2l-8.8-34.8 29.6-18.3 13.1 35.3-33.9 17.8zm-21.2-83.7l23.9-18.1 8.9 24-26.7 18.3-6.1-24.2zM59 206.5l-3.6-28.4 22.3-15.5 6.1 28.7L59 206.5zm-30.6 16.6l20.8-12.8 3.3 33.4-22.9 12-1.2-32.6zM1.4 268l19.2-10.2.4 38.2-21 8.8L1.4 268zm59.1 59.3l-28.3 8.3-1.6-46.8 25.1-10.7 4.8 49.2zM99 263.2l-31.1 13-5.2-40.8L90.1 221l8.9 42.2zM123.2 377l-41.6 5.9-8.1-63.5 35.2-10.8 14.5 68.4zm28.5-139.9l21.2 57.1-46.2 13.6-13.7-54.1 38.7-16.6zm85.7 230.5l-70.9-3.3-24.3-95.8 55.2-8.6 40 107.7zm-84.9-279.7l42.2-22.4 28 45.9-50.8 21.3-19.4-44.8zm41 94.9l61.3-18.7 52.8 86.6-79.8 11.3-34.3-79.2zm51.4-85.6l67.3-28.8 65.5 65.4-88.6 26.2-44.2-62.8z\"},\"child\":[]}]})(props);\n};\nexport function FaScribd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M42.3 252.7c-16.1-19-24.7-45.9-24.8-79.9 0-100.4 75.2-153.1 167.2-153.1 98.6-1.6 156.8 49 184.3 70.6l-50.5 72.1-37.3-24.6 26.9-38.6c-36.5-24-79.4-36.5-123-35.8-50.7-.8-111.7 27.2-111.7 76.2 0 18.7 11.2 20.7 28.6 15.6 23.3-5.3 41.9.6 55.8 14 26.4 24.3 23.2 67.6-.7 91.9-29.2 29.5-85.2 27.3-114.8-8.4zm317.7 5.9c-15.5-18.8-38.9-29.4-63.2-28.6-38.1-2-71.1 28-70.5 67.2-.7 16.8 6 33 18.4 44.3 14.1 13.9 33 19.7 56.3 14.4 17.4-5.1 28.6-3.1 28.6 15.6 0 4.3-.5 8.5-1.4 12.7-16.7 40.9-59.5 64.4-121.4 64.4-51.9.2-102.4-16.4-144.1-47.3l33.7-39.4-35.6-27.4L0 406.3l15.4 13.8c52.5 46.8 120.4 72.5 190.7 72.2 51.4 0 94.4-10.5 133.6-44.1 57.1-51.4 54.2-149.2 20.3-189.6z\"},\"child\":[]}]})(props);\n};\nexport function FaSearchengin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 460 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M220.6 130.3l-67.2 28.2V43.2L98.7 233.5l54.7-24.2v130.3l67.2-209.3zm-83.2-96.7l-1.3 4.7-15.2 52.9C80.6 106.7 52 145.8 52 191.5c0 52.3 34.3 95.9 83.4 105.5v53.6C57.5 340.1 0 272.4 0 191.6c0-80.5 59.8-147.2 137.4-158zm311.4 447.2c-11.2 11.2-23.1 12.3-28.6 10.5-5.4-1.8-27.1-19.9-60.4-44.4-33.3-24.6-33.6-35.7-43-56.7-9.4-20.9-30.4-42.6-57.5-52.4l-9.7-14.7c-24.7 16.9-53 26.9-81.3 28.7l2.1-6.6 15.9-49.5c46.5-11.9 80.9-54 80.9-104.2 0-54.5-38.4-102.1-96-107.1V32.3C254.4 37.4 320 106.8 320 191.6c0 33.6-11.2 64.7-29 90.4l14.6 9.6c9.8 27.1 31.5 48 52.4 57.4s32.2 9.7 56.8 43c24.6 33.2 42.7 54.9 44.5 60.3s.7 17.3-10.5 28.5zm-9.9-17.9c0-4.4-3.6-8-8-8s-8 3.6-8 8 3.6 8 8 8 8-3.6 8-8z\"},\"child\":[]}]})(props);\n};\nexport function FaSellcast (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M353.4 32H94.7C42.6 32 0 74.6 0 126.6v258.7C0 437.4 42.6 480 94.7 480h258.7c52.1 0 94.7-42.6 94.7-94.6V126.6c0-52-42.6-94.6-94.7-94.6zm-50 316.4c-27.9 48.2-89.9 64.9-138.2 37.2-22.9 39.8-54.9 8.6-42.3-13.2l15.7-27.2c5.9-10.3 19.2-13.9 29.5-7.9 18.6 10.8-.1-.1 18.5 10.7 27.6 15.9 63.4 6.3 79.4-21.3 15.9-27.6 6.3-63.4-21.3-79.4-17.8-10.2-.6-.4-18.6-10.6-24.6-14.2-3.4-51.9 21.6-37.5 18.6 10.8-.1-.1 18.5 10.7 48.4 28 65.1 90.3 37.2 138.5zm21.8-208.8c-17 29.5-16.3 28.8-19 31.5-6.5 6.5-16.3 8.7-26.5 3.6-18.6-10.8.1.1-18.5-10.7-27.6-15.9-63.4-6.3-79.4 21.3s-6.3 63.4 21.3 79.4c0 0 18.5 10.6 18.6 10.6 24.6 14.2 3.4 51.9-21.6 37.5-18.6-10.8.1.1-18.5-10.7-48.2-27.8-64.9-90.1-37.1-138.4 27.9-48.2 89.9-64.9 138.2-37.2l4.8-8.4c14.3-24.9 52-3.3 37.7 21.5z\"},\"child\":[]}]})(props);\n};\nexport function FaSellsy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M539.71 237.308c3.064-12.257 4.29-24.821 4.29-37.384C544 107.382 468.618 32 376.076 32c-77.22 0-144.634 53.012-163.02 127.781-15.322-13.176-34.934-20.53-55.157-20.53-46.271 0-83.962 37.69-83.962 83.961 0 7.354.92 15.015 3.065 22.369-42.9 20.225-70.785 63.738-70.785 111.234C6.216 424.843 61.68 480 129.401 480h381.198c67.72 0 123.184-55.157 123.184-123.184.001-56.384-38.916-106.025-94.073-119.508zM199.88 401.554c0 8.274-7.048 15.321-15.321 15.321H153.61c-8.274 0-15.321-7.048-15.321-15.321V290.626c0-8.273 7.048-15.321 15.321-15.321h30.949c8.274 0 15.321 7.048 15.321 15.321v110.928zm89.477 0c0 8.274-7.048 15.321-15.322 15.321h-30.949c-8.274 0-15.321-7.048-15.321-15.321V270.096c0-8.274 7.048-15.321 15.321-15.321h30.949c8.274 0 15.322 7.048 15.322 15.321v131.458zm89.477 0c0 8.274-7.047 15.321-15.321 15.321h-30.949c-8.274 0-15.322-7.048-15.322-15.321V238.84c0-8.274 7.048-15.321 15.322-15.321h30.949c8.274 0 15.321 7.048 15.321 15.321v162.714zm87.027 0c0 8.274-7.048 15.321-15.322 15.321h-28.497c-8.274 0-15.321-7.048-15.321-15.321V176.941c0-8.579 7.047-15.628 15.321-15.628h28.497c8.274 0 15.322 7.048 15.322 15.628v224.613z\"},\"child\":[]}]})(props);\n};\nexport function FaServicestack (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M88 216c81.7 10.2 273.7 102.3 304 232H0c99.5-8.1 184.5-137 88-232zm32-152c32.3 35.6 47.7 83.9 46.4 133.6C249.3 231.3 373.7 321.3 400 448h96C455.3 231.9 222.8 79.5 120 64z\"},\"child\":[]}]})(props);\n};\nexport function FaShirtsinbulk (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M100 410.3l30.6 13.4 4.4-9.9-30.6-13.4zm39.4 17.5l30.6 13.4 4.4-9.9-30.6-13.4zm172.1-14l4.4 9.9 30.6-13.4-4.4-9.9zM179.1 445l30.3 13.7 4.4-9.9-30.3-13.4zM60.4 392.8L91 406.2l4.4-9.6-30.6-13.7zm211.4 38.5l4.4 9.9 30.6-13.4-4.4-9.9zm-39.3 17.5l4.4 9.9 30.6-13.7-4.4-9.6zm118.4-52.2l4.4 9.6 30.6-13.4-4.4-9.9zM170 46.6h-33.5v10.5H170zm-47.2 0H89.2v10.5h33.5zm-47.3 0H42.3v10.5h33.3zm141.5 0h-33.2v10.5H217zm94.5 0H278v10.5h33.5zm47.3 0h-33.5v10.5h33.5zm-94.6 0H231v10.5h33.2zm141.5 0h-33.3v10.5h33.3zM52.8 351.1H42v33.5h10.8zm70-215.9H89.2v10.5h33.5zm-70 10.6h22.8v-10.5H42v33.5h10.8zm168.9 228.6c50.5 0 91.3-40.8 91.3-91.3 0-50.2-40.8-91.3-91.3-91.3-50.2 0-91.3 41.1-91.3 91.3 0 50.5 41.1 91.3 91.3 91.3zm-48.2-111.1c0-25.4 29.5-31.8 49.6-31.8 16.9 0 29.2 5.8 44.3 12l-8.8 16.9h-.9c-6.4-9.9-24.8-13.1-35.6-13.1-9 0-29.8 1.8-29.8 14.9 0 21.6 78.5-10.2 78.5 37.9 0 25.4-31.5 31.2-51 31.2-18.1 0-32.4-2.9-47.2-12.2l9-18.4h.9c6.1 12.2 23.6 14.9 35.9 14.9 8.7 0 32.7-1.2 32.7-14.3 0-26.1-77.6 6.3-77.6-38zM52.8 178.4H42V212h10.8zm342.4 206.2H406v-33.5h-10.8zM52.8 307.9H42v33.5h10.8zM0 3.7v406l221.7 98.6L448 409.7V3.7zm418.8 387.1L222 476.5 29.2 390.8V120.7h389.7v270.1zm0-299.3H29.2V32.9h389.7v58.6zm-366 130.1H42v33.5h10.8zm0 43.2H42v33.5h10.8zM170 135.2h-33.5v10.5H170zm225.2 163.1H406v-33.5h-10.8zm0-43.2H406v-33.5h-10.8zM217 135.2h-33.2v10.5H217zM395.2 212H406v-33.5h-10.8zm0 129.5H406V308h-10.8zm-131-206.3H231v10.5h33.2zm47.3 0H278v10.5h33.5zm83.7 33.6H406v-33.5h-33.5v10.5h22.8zm-36.4-33.6h-33.5v10.5h33.5z\"},\"child\":[]}]})(props);\n};\nexport function FaShopify (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M388.32,104.1a4.66,4.66,0,0,0-4.4-4c-2,0-37.23-.8-37.23-.8s-21.61-20.82-29.62-28.83V503.2L442.76,472S388.72,106.5,388.32,104.1ZM288.65,70.47a116.67,116.67,0,0,0-7.21-17.61C271,32.85,255.42,22,237,22a15,15,0,0,0-4,.4c-.4-.8-1.2-1.2-1.6-2C223.4,11.63,213,7.63,200.58,8c-24,.8-48,18-67.25,48.83-13.61,21.62-24,48.84-26.82,70.06-27.62,8.4-46.83,14.41-47.23,14.81-14,4.4-14.41,4.8-16,18-1.2,10-38,291.82-38,291.82L307.86,504V65.67a41.66,41.66,0,0,0-4.4.4S297.86,67.67,288.65,70.47ZM233.41,87.69c-16,4.8-33.63,10.4-50.84,15.61,4.8-18.82,14.41-37.63,25.62-50,4.4-4.4,10.41-9.61,17.21-12.81C232.21,54.86,233.81,74.48,233.41,87.69ZM200.58,24.44A27.49,27.49,0,0,1,215,28c-6.4,3.2-12.81,8.41-18.81,14.41-15.21,16.42-26.82,42-31.62,66.45-14.42,4.41-28.83,8.81-42,12.81C131.33,83.28,163.75,25.24,200.58,24.44ZM154.15,244.61c1.6,25.61,69.25,31.22,73.25,91.66,2.8,47.64-25.22,80.06-65.65,82.47-48.83,3.2-75.65-25.62-75.65-25.62l10.4-44s26.82,20.42,48.44,18.82c14-.8,19.22-12.41,18.81-20.42-2-33.62-57.24-31.62-60.84-86.86-3.2-46.44,27.22-93.27,94.47-97.68,26-1.6,39.23,4.81,39.23,4.81L221.4,225.39s-17.21-8-37.63-6.4C154.15,221,153.75,239.8,154.15,244.61ZM249.42,82.88c0-12-1.6-29.22-7.21-43.63,18.42,3.6,27.22,24,31.23,36.43Q262.63,78.68,249.42,82.88Z\"},\"child\":[]}]})(props);\n};\nexport function FaShopware (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M403.5 455.41A246.17 246.17 0 0 1 256 504C118.81 504 8 393 8 256 8 118.81 119 8 256 8a247.39 247.39 0 0 1 165.7 63.5 3.57 3.57 0 0 1-2.86 6.18A418.62 418.62 0 0 0 362.13 74c-129.36 0-222.4 53.47-222.4 155.35 0 109 92.13 145.88 176.83 178.73 33.64 13 65.4 25.36 87 41.59a3.58 3.58 0 0 1 0 5.72zM503 233.09a3.64 3.64 0 0 0-1.27-2.44c-51.76-43-93.62-60.48-144.48-60.48-84.13 0-80.25 52.17-80.25 53.63 0 42.6 52.06 62 112.34 84.49 31.07 11.59 63.19 23.57 92.68 39.93a3.57 3.57 0 0 0 5-1.82A249 249 0 0 0 503 233.09z\"},\"child\":[]}]})(props);\n};\nexport function FaSimplybuilt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M481.2 64h-106c-14.5 0-26.6 11.8-26.6 26.3v39.6H163.3V90.3c0-14.5-12-26.3-26.6-26.3h-106C16.1 64 4.3 75.8 4.3 90.3v331.4c0 14.5 11.8 26.3 26.6 26.3h450.4c14.8 0 26.6-11.8 26.6-26.3V90.3c-.2-14.5-12-26.3-26.7-26.3zM149.8 355.8c-36.6 0-66.4-29.7-66.4-66.4 0-36.9 29.7-66.6 66.4-66.6 36.9 0 66.6 29.7 66.6 66.6 0 36.7-29.7 66.4-66.6 66.4zm212.4 0c-36.9 0-66.6-29.7-66.6-66.6 0-36.6 29.7-66.4 66.6-66.4 36.6 0 66.4 29.7 66.4 66.4 0 36.9-29.8 66.6-66.4 66.6z\"},\"child\":[]}]})(props);\n};\nexport function FaSistrix (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 449L301.2 300.2c20-27.9 31.9-62.2 31.9-99.2 0-93.1-74.7-168.9-166.5-168.9C74.7 32 0 107.8 0 200.9s74.7 168.9 166.5 168.9c39.8 0 76.3-14.2 105-37.9l146 148.1 30.5-31zM166.5 330.8c-70.6 0-128.1-58.3-128.1-129.9S95.9 71 166.5 71s128.1 58.3 128.1 129.9-57.4 129.9-128.1 129.9z\"},\"child\":[]}]})(props);\n};\nexport function FaSith (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 32l69.71 118.75-58.86-11.52 69.84 91.03a146.741 146.741 0 0 0 0 51.45l-69.84 91.03 58.86-11.52L0 480l118.75-69.71-11.52 58.86 91.03-69.84c17.02 3.04 34.47 3.04 51.48 0l91.03 69.84-11.52-58.86L448 480l-69.71-118.78 58.86 11.52-69.84-91.03c3.03-17.01 3.04-34.44 0-51.45l69.84-91.03-58.86 11.52L448 32l-118.75 69.71 11.52-58.9-91.06 69.87c-8.5-1.52-17.1-2.29-25.71-2.29s-17.21.78-25.71 2.29l-91.06-69.87 11.52 58.9L0 32zm224 99.78c31.8 0 63.6 12.12 87.85 36.37 48.5 48.5 48.49 127.21 0 175.7s-127.2 48.46-175.7-.03c-48.5-48.5-48.49-127.21 0-175.7 24.24-24.25 56.05-36.34 87.85-36.34zm0 36.66c-22.42 0-44.83 8.52-61.92 25.61-34.18 34.18-34.19 89.68 0 123.87s89.65 34.18 123.84 0c34.18-34.18 34.19-89.68 0-123.87-17.09-17.09-39.5-25.61-61.92-25.61z\"},\"child\":[]}]})(props);\n};\nexport function FaSketch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M27.5 162.2L9 187.1h90.5l6.9-130.7-78.9 105.8zM396.3 45.7L267.7 32l135.7 147.2-7.1-133.5zM112.2 218.3l-11.2-22H9.9L234.8 458zm2-31.2h284l-81.5-88.5L256.3 33zm297.3 9.1L277.6 458l224.8-261.7h-90.9zM415.4 69L406 56.4l.9 17.3 6.1 113.4h90.3zM113.5 93.5l-4.6 85.6L244.7 32 116.1 45.7zm287.7 102.7h-290l42.4 82.9L256.3 480l144.9-283.8z\"},\"child\":[]}]})(props);\n};\nexport function FaSkyatlas (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M640 329.3c0 65.9-52.5 114.4-117.5 114.4-165.9 0-196.6-249.7-359.7-249.7-146.9 0-147.1 212.2 5.6 212.2 42.5 0 90.9-17.8 125.3-42.5 5.6-4.1 16.9-16.3 22.8-16.3s10.9 5 10.9 10.9c0 7.8-13.1 19.1-18.7 24.1-40.9 35.6-100.3 61.2-154.7 61.2-83.4.1-154-59-154-144.9s67.5-149.1 152.8-149.1c185.3 0 222.5 245.9 361.9 245.9 99.9 0 94.8-139.7 3.4-139.7-17.5 0-35 11.6-46.9 11.6-8.4 0-15.9-7.2-15.9-15.6 0-11.6 5.3-23.7 5.3-36.3 0-66.6-50.9-114.7-116.9-114.7-53.1 0-80 36.9-88.8 36.9-6.2 0-11.2-5-11.2-11.2 0-5.6 4.1-10.3 7.8-14.4 25.3-28.8 64.7-43.7 102.8-43.7 79.4 0 139.1 58.4 139.1 137.8 0 6.9-.3 13.7-1.2 20.6 11.9-3.1 24.1-4.7 35.9-4.7 60.7 0 111.9 45.3 111.9 107.2z\"},\"child\":[]}]})(props);\n};\nexport function FaSkype (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M424.7 299.8c2.9-14 4.7-28.9 4.7-43.8 0-113.5-91.9-205.3-205.3-205.3-14.9 0-29.7 1.7-43.8 4.7C161.3 40.7 137.7 32 112 32 50.2 32 0 82.2 0 144c0 25.7 8.7 49.3 23.3 68.2-2.9 14-4.7 28.9-4.7 43.8 0 113.5 91.9 205.3 205.3 205.3 14.9 0 29.7-1.7 43.8-4.7 19 14.6 42.6 23.3 68.2 23.3 61.8 0 112-50.2 112-112 .1-25.6-8.6-49.2-23.2-68.1zm-194.6 91.5c-65.6 0-120.5-29.2-120.5-65 0-16 9-30.6 29.5-30.6 31.2 0 34.1 44.9 88.1 44.9 25.7 0 42.3-11.4 42.3-26.3 0-18.7-16-21.6-42-28-62.5-15.4-117.8-22-117.8-87.2 0-59.2 58.6-81.1 109.1-81.1 55.1 0 110.8 21.9 110.8 55.4 0 16.9-11.4 31.8-30.3 31.8-28.3 0-29.2-33.5-75-33.5-25.7 0-42 7-42 22.5 0 19.8 20.8 21.8 69.1 33 41.4 9.3 90.7 26.8 90.7 77.6 0 59.1-57.1 86.5-112 86.5z\"},\"child\":[]}]})(props);\n};\nexport function FaSlackHash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M446.2 270.4c-6.2-19-26.9-29.1-46-22.9l-45.4 15.1-30.3-90 45.4-15.1c19.1-6.2 29.1-26.8 23-45.9-6.2-19-26.9-29.1-46-22.9l-45.4 15.1-15.7-47c-6.2-19-26.9-29.1-46-22.9-19.1 6.2-29.1 26.8-23 45.9l15.7 47-93.4 31.2-15.7-47c-6.2-19-26.9-29.1-46-22.9-19.1 6.2-29.1 26.8-23 45.9l15.7 47-45.3 15c-19.1 6.2-29.1 26.8-23 45.9 5 14.5 19.1 24 33.6 24.6 6.8 1 12-1.6 57.7-16.8l30.3 90L78 354.8c-19 6.2-29.1 26.9-23 45.9 5 14.5 19.1 24 33.6 24.6 6.8 1 12-1.6 57.7-16.8l15.7 47c5.9 16.9 24.7 29 46 22.9 19.1-6.2 29.1-26.8 23-45.9l-15.7-47 93.6-31.3 15.7 47c5.9 16.9 24.7 29 46 22.9 19.1-6.2 29.1-26.8 23-45.9l-15.7-47 45.4-15.1c19-6 29.1-26.7 22.9-45.7zm-254.1 47.2l-30.3-90.2 93.5-31.3 30.3 90.2-93.5 31.3z\"},\"child\":[]}]})(props);\n};\nexport function FaSlack (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M94.12 315.1c0 25.9-21.16 47.06-47.06 47.06S0 341 0 315.1c0-25.9 21.16-47.06 47.06-47.06h47.06v47.06zm23.72 0c0-25.9 21.16-47.06 47.06-47.06s47.06 21.16 47.06 47.06v117.84c0 25.9-21.16 47.06-47.06 47.06s-47.06-21.16-47.06-47.06V315.1zm47.06-188.98c-25.9 0-47.06-21.16-47.06-47.06S139 32 164.9 32s47.06 21.16 47.06 47.06v47.06H164.9zm0 23.72c25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06H47.06C21.16 243.96 0 222.8 0 196.9s21.16-47.06 47.06-47.06H164.9zm188.98 47.06c0-25.9 21.16-47.06 47.06-47.06 25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06h-47.06V196.9zm-23.72 0c0 25.9-21.16 47.06-47.06 47.06-25.9 0-47.06-21.16-47.06-47.06V79.06c0-25.9 21.16-47.06 47.06-47.06 25.9 0 47.06 21.16 47.06 47.06V196.9zM283.1 385.88c25.9 0 47.06 21.16 47.06 47.06 0 25.9-21.16 47.06-47.06 47.06-25.9 0-47.06-21.16-47.06-47.06v-47.06h47.06zm0-23.72c-25.9 0-47.06-21.16-47.06-47.06 0-25.9 21.16-47.06 47.06-47.06h117.84c25.9 0 47.06 21.16 47.06 47.06 0 25.9-21.16 47.06-47.06 47.06H283.1z\"},\"child\":[]}]})(props);\n};\nexport function FaSlideshare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M187.7 153.7c-34 0-61.7 25.7-61.7 57.7 0 31.7 27.7 57.7 61.7 57.7s61.7-26 61.7-57.7c0-32-27.7-57.7-61.7-57.7zm143.4 0c-34 0-61.7 25.7-61.7 57.7 0 31.7 27.7 57.7 61.7 57.7 34.3 0 61.7-26 61.7-57.7.1-32-27.4-57.7-61.7-57.7zm156.6 90l-6 4.3V49.7c0-27.4-20.6-49.7-46-49.7H76.6c-25.4 0-46 22.3-46 49.7V248c-2-1.4-4.3-2.9-6.3-4.3-15.1-10.6-25.1 4-16 17.7 18.3 22.6 53.1 50.3 106.3 72C58.3 525.1 252 555.7 248.9 457.5c0-.7.3-56.6.3-96.6 5.1 1.1 9.4 2.3 13.7 3.1 0 39.7.3 92.8.3 93.5-3.1 98.3 190.6 67.7 134.3-124 53.1-21.7 88-49.4 106.3-72 9.1-13.8-.9-28.3-16.1-17.8zm-30.5 19.2c-68.9 37.4-128.3 31.1-160.6 29.7-23.7-.9-32.6 9.1-33.7 24.9-10.3-7.7-18.6-15.5-20.3-17.1-5.1-5.4-13.7-8-27.1-7.7-31.7 1.1-89.7 7.4-157.4-28V72.3c0-34.9 8.9-45.7 40.6-45.7h317.7c30.3 0 40.9 12.9 40.9 45.7v190.6z\"},\"child\":[]}]})(props);\n};\nexport function FaSnapchatGhost (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M510.846 392.673c-5.211 12.157-27.239 21.089-67.36 27.318-2.064 2.786-3.775 14.686-6.507 23.956-1.625 5.566-5.623 8.869-12.128 8.869l-.297-.005c-9.395 0-19.203-4.323-38.852-4.323-26.521 0-35.662 6.043-56.254 20.588-21.832 15.438-42.771 28.764-74.027 27.399-31.646 2.334-58.025-16.908-72.871-27.404-20.714-14.643-29.828-20.582-56.241-20.582-18.864 0-30.736 4.72-38.852 4.72-8.073 0-11.213-4.922-12.422-9.04-2.703-9.189-4.404-21.263-6.523-24.13-20.679-3.209-67.31-11.344-68.498-32.15a10.627 10.627 0 0 1 8.877-11.069c69.583-11.455 100.924-82.901 102.227-85.934.074-.176.155-.344.237-.515 3.713-7.537 4.544-13.849 2.463-18.753-5.05-11.896-26.872-16.164-36.053-19.796-23.715-9.366-27.015-20.128-25.612-27.504 2.437-12.836 21.725-20.735 33.002-15.453 8.919 4.181 16.843 6.297 23.547 6.297 5.022 0 8.212-1.204 9.96-2.171-2.043-35.936-7.101-87.29 5.687-115.969C158.122 21.304 229.705 15.42 250.826 15.42c.944 0 9.141-.089 10.11-.089 52.148 0 102.254 26.78 126.723 81.643 12.777 28.65 7.749 79.792 5.695 116.009 1.582.872 4.357 1.942 8.599 2.139 6.397-.286 13.815-2.389 22.069-6.257 6.085-2.846 14.406-2.461 20.48.058l.029.01c9.476 3.385 15.439 10.215 15.589 17.87.184 9.747-8.522 18.165-25.878 25.018-2.118.835-4.694 1.655-7.434 2.525-9.797 3.106-24.6 7.805-28.616 17.271-2.079 4.904-1.256 11.211 2.46 18.748.087.168.166.342.239.515 1.301 3.03 32.615 74.46 102.23 85.934 6.427 1.058 11.163 7.877 7.725 15.859z\"},\"child\":[]}]})(props);\n};\nexport function FaSnapchatSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-6.5 314.9c-3.5 8.1-18.1 14-44.8 18.2-1.4 1.9-2.5 9.8-4.3 15.9-1.1 3.7-3.7 5.9-8.1 5.9h-.2c-6.2 0-12.8-2.9-25.8-2.9-17.6 0-23.7 4-37.4 13.7-14.5 10.3-28.4 19.1-49.2 18.2-21 1.6-38.6-11.2-48.5-18.2-13.8-9.7-19.8-13.7-37.4-13.7-12.5 0-20.4 3.1-25.8 3.1-5.4 0-7.5-3.3-8.3-6-1.8-6.1-2.9-14.1-4.3-16-13.8-2.1-44.8-7.5-45.5-21.4-.2-3.6 2.3-6.8 5.9-7.4 46.3-7.6 67.1-55.1 68-57.1 0-.1.1-.2.2-.3 2.5-5 3-9.2 1.6-12.5-3.4-7.9-17.9-10.7-24-13.2-15.8-6.2-18-13.4-17-18.3 1.6-8.5 14.4-13.8 21.9-10.3 5.9 2.8 11.2 4.2 15.7 4.2 3.3 0 5.5-.8 6.6-1.4-1.4-23.9-4.7-58 3.8-77.1C159.1 100 206.7 96 220.7 96c.6 0 6.1-.1 6.7-.1 34.7 0 68 17.8 84.3 54.3 8.5 19.1 5.2 53.1 3.8 77.1 1.1.6 2.9 1.3 5.7 1.4 4.3-.2 9.2-1.6 14.7-4.2 4-1.9 9.6-1.6 13.6 0 6.3 2.3 10.3 6.8 10.4 11.9.1 6.5-5.7 12.1-17.2 16.6-1.4.6-3.1 1.1-4.9 1.7-6.5 2.1-16.4 5.2-19 11.5-1.4 3.3-.8 7.5 1.6 12.5.1.1.1.2.2.3.9 2 21.7 49.5 68 57.1 4 1 7.1 5.5 4.9 10.8z\"},\"child\":[]}]})(props);\n};\nexport function FaSnapchat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm169.5 338.9c-3.5 8.1-18.1 14-44.8 18.2-1.4 1.9-2.5 9.8-4.3 15.9-1.1 3.7-3.7 5.9-8.1 5.9h-.2c-6.2 0-12.8-2.9-25.8-2.9-17.6 0-23.7 4-37.4 13.7-14.5 10.3-28.4 19.1-49.2 18.2-21 1.6-38.6-11.2-48.5-18.2-13.8-9.7-19.8-13.7-37.4-13.7-12.5 0-20.4 3.1-25.8 3.1-5.4 0-7.5-3.3-8.3-6-1.8-6.1-2.9-14.1-4.3-16-13.8-2.1-44.8-7.5-45.5-21.4-.2-3.6 2.3-6.8 5.9-7.4 46.3-7.6 67.1-55.1 68-57.1 0-.1.1-.2.2-.3 2.5-5 3-9.2 1.6-12.5-3.4-7.9-17.9-10.7-24-13.2-15.8-6.2-18-13.4-17-18.3 1.6-8.5 14.4-13.8 21.9-10.3 5.9 2.8 11.2 4.2 15.7 4.2 3.3 0 5.5-.8 6.6-1.4-1.4-23.9-4.7-58 3.8-77.1C183.1 100 230.7 96 244.7 96c.6 0 6.1-.1 6.7-.1 34.7 0 68 17.8 84.3 54.3 8.5 19.1 5.2 53.1 3.8 77.1 1.1.6 2.9 1.3 5.7 1.4 4.3-.2 9.2-1.6 14.7-4.2 4-1.9 9.6-1.6 13.6 0 6.3 2.3 10.3 6.8 10.4 11.9.1 6.5-5.7 12.1-17.2 16.6-1.4.6-3.1 1.1-4.9 1.7-6.5 2.1-16.4 5.2-19 11.5-1.4 3.3-.8 7.5 1.6 12.5.1.1.1.2.2.3.9 2 21.7 49.5 68 57.1 4 1 7.1 5.5 4.9 10.8z\"},\"child\":[]}]})(props);\n};\nexport function FaSoundcloud (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M111.4 256.3l5.8 65-5.8 68.3c-.3 2.5-2.2 4.4-4.4 4.4s-4.2-1.9-4.2-4.4l-5.6-68.3 5.6-65c0-2.2 1.9-4.2 4.2-4.2 2.2 0 4.1 2 4.4 4.2zm21.4-45.6c-2.8 0-4.7 2.2-5 5l-5 105.6 5 68.3c.3 2.8 2.2 5 5 5 2.5 0 4.7-2.2 4.7-5l5.8-68.3-5.8-105.6c0-2.8-2.2-5-4.7-5zm25.5-24.1c-3.1 0-5.3 2.2-5.6 5.3l-4.4 130 4.4 67.8c.3 3.1 2.5 5.3 5.6 5.3 2.8 0 5.3-2.2 5.3-5.3l5.3-67.8-5.3-130c0-3.1-2.5-5.3-5.3-5.3zM7.2 283.2c-1.4 0-2.2 1.1-2.5 2.5L0 321.3l4.7 35c.3 1.4 1.1 2.5 2.5 2.5s2.2-1.1 2.5-2.5l5.6-35-5.6-35.6c-.3-1.4-1.1-2.5-2.5-2.5zm23.6-21.9c-1.4 0-2.5 1.1-2.5 2.5l-6.4 57.5 6.4 56.1c0 1.7 1.1 2.8 2.5 2.8s2.5-1.1 2.8-2.5l7.2-56.4-7.2-57.5c-.3-1.4-1.4-2.5-2.8-2.5zm25.3-11.4c-1.7 0-3.1 1.4-3.3 3.3L47 321.3l5.8 65.8c.3 1.7 1.7 3.1 3.3 3.1 1.7 0 3.1-1.4 3.1-3.1l6.9-65.8-6.9-68.1c0-1.9-1.4-3.3-3.1-3.3zm25.3-2.2c-1.9 0-3.6 1.4-3.6 3.6l-5.8 70 5.8 67.8c0 2.2 1.7 3.6 3.6 3.6s3.6-1.4 3.9-3.6l6.4-67.8-6.4-70c-.3-2.2-2-3.6-3.9-3.6zm241.4-110.9c-1.1-.8-2.8-1.4-4.2-1.4-2.2 0-4.2.8-5.6 1.9-1.9 1.7-3.1 4.2-3.3 6.7v.8l-3.3 176.7 1.7 32.5 1.7 31.7c.3 4.7 4.2 8.6 8.9 8.6s8.6-3.9 8.6-8.6l3.9-64.2-3.9-177.5c-.4-3-2-5.8-4.5-7.2zm-26.7 15.3c-1.4-.8-2.8-1.4-4.4-1.4s-3.1.6-4.4 1.4c-2.2 1.4-3.6 3.9-3.6 6.7l-.3 1.7-2.8 160.8s0 .3 3.1 65.6v.3c0 1.7.6 3.3 1.7 4.7 1.7 1.9 3.9 3.1 6.4 3.1 2.2 0 4.2-1.1 5.6-2.5 1.7-1.4 2.5-3.3 2.5-5.6l.3-6.7 3.1-58.6-3.3-162.8c-.3-2.8-1.7-5.3-3.9-6.7zm-111.4 22.5c-3.1 0-5.8 2.8-5.8 6.1l-4.4 140.6 4.4 67.2c.3 3.3 2.8 5.8 5.8 5.8 3.3 0 5.8-2.5 6.1-5.8l5-67.2-5-140.6c-.2-3.3-2.7-6.1-6.1-6.1zm376.7 62.8c-10.8 0-21.1 2.2-30.6 6.1-6.4-70.8-65.8-126.4-138.3-126.4-17.8 0-35 3.3-50.3 9.4-6.1 2.2-7.8 4.4-7.8 9.2v249.7c0 5 3.9 8.6 8.6 9.2h218.3c43.3 0 78.6-35 78.6-78.3.1-43.6-35.2-78.9-78.5-78.9zm-296.7-60.3c-4.2 0-7.5 3.3-7.8 7.8l-3.3 136.7 3.3 65.6c.3 4.2 3.6 7.5 7.8 7.5 4.2 0 7.5-3.3 7.5-7.5l3.9-65.6-3.9-136.7c-.3-4.5-3.3-7.8-7.5-7.8zm-53.6-7.8c-3.3 0-6.4 3.1-6.4 6.7l-3.9 145.3 3.9 66.9c.3 3.6 3.1 6.4 6.4 6.4 3.6 0 6.4-2.8 6.7-6.4l4.4-66.9-4.4-145.3c-.3-3.6-3.1-6.7-6.7-6.7zm26.7 3.4c-3.9 0-6.9 3.1-6.9 6.9L227 321.3l3.9 66.4c.3 3.9 3.1 6.9 6.9 6.9s6.9-3.1 6.9-6.9l4.2-66.4-4.2-141.7c0-3.9-3-6.9-6.9-6.9z\"},\"child\":[]}]})(props);\n};\nexport function FaSourcetree (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M427.2 203c0-112.1-90.9-203-203-203C112.1-.2 21.2 90.6 21 202.6A202.86 202.86 0 0 0 161.5 396v101.7a14.3 14.3 0 0 0 14.3 14.3h96.4a14.3 14.3 0 0 0 14.3-14.3V396.1A203.18 203.18 0 0 0 427.2 203zm-271.6 0c0-90.8 137.3-90.8 137.3 0-.1 89.9-137.3 91-137.3 0z\"},\"child\":[]}]})(props);\n};\nexport function FaSpeakap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M64 391.78C-15.41 303.59-8 167.42 80.64 87.64s224.8-73 304.21 15.24 72 224.36-16.64 304.14c-18.74 16.87 64 43.09 42 52.26-82.06 34.21-253.91 35-346.23-67.5zm213.31-211.6l38.5-40.86c-9.61-8.89-32-26.83-76.17-27.6-52.33-.91-95.86 28.3-96.77 80-.2 11.33.29 36.72 29.42 54.83 34.46 21.42 86.52 21.51 86 52.26-.37 21.28-26.42 25.81-38.59 25.6-3-.05-30.23-.46-47.61-24.62l-40 42.61c28.16 27 59 32.62 83.49 33.05 10.23.18 96.42.33 97.84-81 .28-15.81-2.07-39.72-28.86-56.59-34.36-21.64-85-19.45-84.43-49.75.41-23.25 31-25.37 37.53-25.26.43 0 26.62.26 39.62 17.37z\"},\"child\":[]}]})(props);\n};\nexport function FaSpeakerDeck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M213.86 296H100a100 100 0 0 1 0-200h132.84a40 40 0 0 1 0 80H98c-26.47 0-26.45 40 0 40h113.82a100 100 0 0 1 0 200H40a40 40 0 0 1 0-80h173.86c26.48 0 26.46-40 0-40zM298 416a120.21 120.21 0 0 0 51.11-80h64.55a19.83 19.83 0 0 0 19.66-20V196a19.83 19.83 0 0 0-19.66-20H296.42a60.77 60.77 0 0 0 0-80h136.93c43.44 0 78.65 35.82 78.65 80v160c0 44.18-35.21 80-78.65 80z\"},\"child\":[]}]})(props);\n};\nexport function FaSpotify (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111.1 8 0 119.1 0 256s111.1 248 248 248 248-111.1 248-248S384.9 8 248 8zm100.7 364.9c-4.2 0-6.8-1.3-10.7-3.6-62.4-37.6-135-39.2-206.7-24.5-3.9 1-9 2.6-11.9 2.6-9.7 0-15.8-7.7-15.8-15.8 0-10.3 6.1-15.2 13.6-16.8 81.9-18.1 165.6-16.5 237 26.2 6.1 3.9 9.7 7.4 9.7 16.5s-7.1 15.4-15.2 15.4zm26.9-65.6c-5.2 0-8.7-2.3-12.3-4.2-62.5-37-155.7-51.9-238.6-29.4-4.8 1.3-7.4 2.6-11.9 2.6-10.7 0-19.4-8.7-19.4-19.4s5.2-17.8 15.5-20.7c27.8-7.8 56.2-13.6 97.8-13.6 64.9 0 127.6 16.1 177 45.5 8.1 4.8 11.3 11 11.3 19.7-.1 10.8-8.5 19.5-19.4 19.5zm31-76.2c-5.2 0-8.4-1.3-12.9-3.9-71.2-42.5-198.5-52.7-280.9-29.7-3.6 1-8.1 2.6-12.9 2.6-13.2 0-23.3-10.3-23.3-23.6 0-13.6 8.4-21.3 17.4-23.9 35.2-10.3 74.6-15.2 117.5-15.2 73 0 149.5 15.2 205.4 47.8 7.8 4.5 12.9 10.7 12.9 22.6 0 13.6-11 23.3-23.2 23.3z\"},\"child\":[]}]})(props);\n};\nexport function FaSquarespace (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M186.12 343.34c-9.65 9.65-9.65 25.29 0 34.94 9.65 9.65 25.29 9.65 34.94 0L378.24 221.1c19.29-19.29 50.57-19.29 69.86 0s19.29 50.57 0 69.86L293.95 445.1c19.27 19.29 50.53 19.31 69.82.04l.04-.04 119.25-119.24c38.59-38.59 38.59-101.14 0-139.72-38.59-38.59-101.15-38.59-139.72 0l-157.22 157.2zm244.53-104.8c-9.65-9.65-25.29-9.65-34.93 0l-157.2 157.18c-19.27 19.29-50.53 19.31-69.82.05l-.05-.05c-9.64-9.64-25.27-9.65-34.92-.01l-.01.01c-9.65 9.64-9.66 25.28-.02 34.93l.02.02c38.58 38.57 101.14 38.57 139.72 0l157.2-157.2c9.65-9.65 9.65-25.29.01-34.93zm-261.99 87.33l157.18-157.18c9.64-9.65 9.64-25.29 0-34.94-9.64-9.64-25.27-9.64-34.91 0L133.72 290.93c-19.28 19.29-50.56 19.3-69.85.01l-.01-.01c-19.29-19.28-19.31-50.54-.03-69.84l.03-.03L218.03 66.89c-19.28-19.29-50.55-19.3-69.85-.02l-.02.02L28.93 186.14c-38.58 38.59-38.58 101.14 0 139.72 38.6 38.59 101.13 38.59 139.73.01zm-87.33-52.4c9.64 9.64 25.27 9.64 34.91 0l157.21-157.19c19.28-19.29 50.55-19.3 69.84-.02l.02.02c9.65 9.65 25.29 9.65 34.93 0 9.65-9.65 9.65-25.29 0-34.93-38.59-38.59-101.13-38.59-139.72 0L81.33 238.54c-9.65 9.64-9.65 25.28-.01 34.93h.01z\"},\"child\":[]}]})(props);\n};\nexport function FaStackExchange (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.7 332.3h412.7v22c0 37.7-29.3 68-65.3 68h-19L259.3 512v-89.7H83c-36 0-65.3-30.3-65.3-68v-22zm0-23.6h412.7v-85H17.7v85zm0-109.4h412.7v-85H17.7v85zM365 0H83C47 0 17.7 30.3 17.7 67.7V90h412.7V67.7C430.3 30.3 401 0 365 0z\"},\"child\":[]}]})(props);\n};\nexport function FaStackOverflow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M290.7 311L95 269.7 86.8 309l195.7 41zm51-87L188.2 95.7l-25.5 30.8 153.5 128.3zm-31.2 39.7L129.2 179l-16.7 36.5L293.7 300zM262 32l-32 24 119.3 160.3 32-24zm20.5 328h-200v39.7h200zm39.7 80H42.7V320h-40v160h359.5V320h-40z\"},\"child\":[]}]})(props);\n};\nexport function FaStackpath (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M244.6 232.4c0 8.5-4.26 20.49-21.34 20.49h-19.61v-41.47h19.61c17.13 0 21.34 12.36 21.34 20.98zM448 32v448H0V32zM151.3 287.84c0-21.24-12.12-34.54-46.72-44.85-20.57-7.41-26-10.91-26-18.63s7-14.61 20.41-14.61c14.09 0 20.79 8.45 20.79 18.35h30.7l.19-.57c.5-19.57-15.06-41.65-51.12-41.65-23.37 0-52.55 10.75-52.55 38.29 0 19.4 9.25 31.29 50.74 44.37 17.26 6.15 21.91 10.4 21.91 19.48 0 15.2-19.13 14.23-19.47 14.23-20.4 0-25.65-9.1-25.65-21.9h-30.8l-.18.56c-.68 31.32 28.38 45.22 56.63 45.22 29.98 0 51.12-13.55 51.12-38.29zm125.38-55.63c0-25.3-18.43-45.46-53.42-45.46h-51.78v138.18h32.17v-47.36h19.61c30.25 0 53.42-15.95 53.42-45.36zM297.94 325L347 186.78h-31.09L268 325zm106.52-138.22h-31.09L325.46 325h29.94z\"},\"child\":[]}]})(props);\n};\nexport function FaStaylinked (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 440 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M382.7 292.5l2.7 2.7-170-167.3c-3.5-3.5-9.7-3.7-13.8-.5L144.3 171c-4.2 3.2-4.6 8.7-1.1 12.2l68.1 64.3c3.6 3.5 9.9 3.7 14 .5l.1-.1c4.1-3.2 10.4-3 14 .5l84 81.3c3.6 3.5 3.2 9-.9 12.2l-93.2 74c-4.2 3.3-10.5 3.1-14.2-.4L63.2 268c-3.5-3.5-9.7-3.7-13.9-.5L3.5 302.4c-4.2 3.2-4.7 8.7-1.2 12.2L211 510.7s7.4 6.8 17.3-.8l198-163.9c4-3.2 4.4-8.7.7-12.2zm54.5-83.4L226.7 2.5c-1.5-1.2-8-5.5-16.3 1.1L3.6 165.7c-4.2 3.2-4.8 8.7-1.2 12.2l42.3 41.7 171.7 165.1c3.7 3.5 10.1 3.7 14.3.4l50.2-38.8-.3-.3 7.7-6c4.2-3.2 4.6-8.7.9-12.2l-57.1-54.4c-3.6-3.5-10-3.7-14.2-.5l-.1.1c-4.2 3.2-10.5 3.1-14.2-.4L109 180.8c-3.6-3.5-3.1-8.9 1.1-12.2l92.2-71.5c4.1-3.2 10.3-3 13.9.5l160.4 159c3.7 3.5 10 3.7 14.1.5l45.8-35.8c4.1-3.2 4.4-8.7.7-12.2z\"},\"child\":[]}]})(props);\n};\nexport function FaSteamSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M185.2 356.5c7.7-18.5-1-39.7-19.6-47.4l-29.5-12.2c11.4-4.3 24.3-4.5 36.4.5 12.2 5.1 21.6 14.6 26.7 26.7 5 12.2 5 25.6-.1 37.7-10.5 25.1-39.4 37-64.6 26.5-11.6-4.8-20.4-13.6-25.4-24.2l28.5 11.8c18.6 7.8 39.9-.9 47.6-19.4zM400 32H48C21.5 32 0 53.5 0 80v160.7l116.6 48.1c12-8.2 26.2-12.1 40.7-11.3l55.4-80.2v-1.1c0-48.2 39.3-87.5 87.6-87.5s87.6 39.3 87.6 87.5c0 49.2-40.9 88.7-89.6 87.5l-79 56.3c1.6 38.5-29.1 68.8-65.7 68.8-31.8 0-58.5-22.7-64.5-52.7L0 319.2V432c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-99.7 222.5c-32.2 0-58.4-26.1-58.4-58.3s26.2-58.3 58.4-58.3 58.4 26.2 58.4 58.3-26.2 58.3-58.4 58.3zm.1-14.6c24.2 0 43.9-19.6 43.9-43.8 0-24.2-19.6-43.8-43.9-43.8-24.2 0-43.9 19.6-43.9 43.8 0 24.2 19.7 43.8 43.9 43.8z\"},\"child\":[]}]})(props);\n};\nexport function FaSteamSymbol (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M395.5 177.5c0 33.8-27.5 61-61 61-33.8 0-61-27.3-61-61s27.3-61 61-61c33.5 0 61 27.2 61 61zm52.5.2c0 63-51 113.8-113.7 113.8L225 371.3c-4 43-40.5 76.8-84.5 76.8-40.5 0-74.7-28.8-83-67L0 358V250.7L97.2 290c15.1-9.2 32.2-13.3 52-11.5l71-101.7c.5-62.3 51.5-112.8 114-112.8C397 64 448 115 448 177.7zM203 363c0-34.7-27.8-62.5-62.5-62.5-4.5 0-9 .5-13.5 1.5l26 10.5c25.5 10.2 38 39 27.7 64.5-10.2 25.5-39.2 38-64.7 27.5-10.2-4-20.5-8.3-30.7-12.2 10.5 19.7 31.2 33.2 55.2 33.2 34.7 0 62.5-27.8 62.5-62.5zm207.5-185.3c0-42-34.3-76.2-76.2-76.2-42.3 0-76.5 34.2-76.5 76.2 0 42.2 34.3 76.2 76.5 76.2 41.9.1 76.2-33.9 76.2-76.2z\"},\"child\":[]}]})(props);\n};\nexport function FaSteam (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496 256c0 137-111.2 248-248.4 248-113.8 0-209.6-76.3-239-180.4l95.2 39.3c6.4 32.1 34.9 56.4 68.9 56.4 39.2 0 71.9-32.4 70.2-73.5l84.5-60.2c52.1 1.3 95.8-40.9 95.8-93.5 0-51.6-42-93.5-93.7-93.5s-93.7 42-93.7 93.5v1.2L176.6 279c-15.5-.9-30.7 3.4-43.5 12.1L0 236.1C10.2 108.4 117.1 8 247.6 8 384.8 8 496 119 496 256zM155.7 384.3l-30.5-12.6a52.79 52.79 0 0 0 27.2 25.8c26.9 11.2 57.8-1.6 69-28.4 5.4-13 5.5-27.3.1-40.3-5.4-13-15.5-23.2-28.5-28.6-12.9-5.4-26.7-5.2-38.9-.6l31.5 13c19.8 8.2 29.2 30.9 20.9 50.7-8.3 19.9-31 29.2-50.8 21zm173.8-129.9c-34.4 0-62.4-28-62.4-62.3s28-62.3 62.4-62.3 62.4 28 62.4 62.3-27.9 62.3-62.4 62.3zm.1-15.6c25.9 0 46.9-21 46.9-46.8 0-25.9-21-46.8-46.9-46.8s-46.9 21-46.9 46.8c.1 25.8 21.1 46.8 46.9 46.8z\"},\"child\":[]}]})(props);\n};\nexport function FaStickerMule (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M561.7 199.6c-1.3.3.3 0 0 0zm-6.2-77.4c-7.7-22.3-5.1-7.2-13.4-36.9-1.6-6.5-3.6-14.5-6.2-20-4.4-8.7-4.6-7.5-4.6-9.5 0-5.3 30.7-45.3 19-46.9-5.7-.6-12.2 11.6-20.6 17-8.6 4.2-8 5-10.3 5-2.6 0-5.7-3-6.2-5-2-5.7 1.9-25.9-3.6-25.9-3.6 0-12.3 24.8-17 25.8-5.2 1.3-27.9-11.4-75.1 18-25.3 13.2-86.9 65.2-87 65.3-6.7 4.7-20 4.7-35.5 16-44.4 30.1-109.6 9.4-110.7 9-110.6-26.8-128-15.2-159 11.5-20.8 17.9-23.7 36.5-24.2 38.9-4.2 20.4 5.2 48.3 6.7 64.3 1.8 19.3-2.7 17.7 7.7 98.3.5 1 4.1 0 5.1 1.5 0 8.4-3.8 12.1-4.1 13-1.5 4.5-1.5 10.5 0 16 2.3 8.2 8.2 37.2 8.2 46.9 0 41.8.4 44 2.6 49.4 3.9 10 12.5 9.1 17 12 3.1 3.5-.5 8.5 1 12.5.5 2 3.6 4 6.2 5 9.2 3.6 27 .3 29.9-2.5 1.6-1.5.5-4.5 3.1-5 5.1 0 10.8-.5 14.4-2.5 5.1-2.5 4.1-6 1.5-10.5-.4-.8-7-13.3-9.8-16-2.1-2-5.1-3-7.2-4.5-5.8-4.9-10.3-19.4-10.3-19.5-4.6-19.4-10.3-46.3-4.1-66.8 4.6-17.2 39.5-87.7 39.6-87.8 4.1-6.5 17-11.5 27.3-7 6 1.9 19.3 22 65.4 30.9 47.9 8.7 97.4-2 112.2-2 2.8 2-1.9 13-.5 38.9 0 26.4-.4 13.7-4.1 29.9-2.2 9.7 3.4 23.2-1.5 46.9-1.4 9.8-9.9 32.7-8.2 43.4.5 1 1 2 1.5 3.5.5 4.5 1.5 8.5 4.6 10 7.3 3.6 12-3.5 9.8 11.5-.7 3.1-2.6 12 1.5 15 4.4 3.7 30.6 3.4 36.5.5 2.6-1.5 1.6-4.5 6.4-7.4 1.9-.9 11.3-.4 11.3-6.5.3-1.8-9.2-19.9-9.3-20-2.6-3.5-9.2-4.5-11.3-8-6.9-10.1-1.7-52.6.5-59.4 3-11 5.6-22.4 8.7-32.4 11-42.5 10.3-50.6 16.5-68.3.8-1.8 6.4-23.1 10.3-29.9 9.3-17 21.7-32.4 33.5-47.4 18-22.9 34-46.9 52-69.8 6.1-7 8.2-13.7 18-8 10.8 5.7 21.6 7 31.9 17 14.6 12.8 10.2 18.2 11.8 22.9 1.5 5 7.7 10.5 14.9 9.5 10.4-2 13-2.5 13.4-2.5 2.6-.5 5.7-5 7.2-8 3.1-5.5 7.2-9 7.2-16.5 0-7.7-.4-2.8-20.6-52.9z\"},\"child\":[]}]})(props);\n};\nexport function FaStrava (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M158.4 0L7 292h89.2l62.2-116.1L220.1 292h88.5zm150.2 292l-43.9 88.2-44.6-88.2h-67.6l112.2 220 111.5-220z\"},\"child\":[]}]})(props);\n};\nexport function FaStripeS (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M155.3 154.6c0-22.3 18.6-30.9 48.4-30.9 43.4 0 98.5 13.3 141.9 36.7V26.1C298.3 7.2 251.1 0 203.8 0 88.1 0 11 60.4 11 161.4c0 157.9 216.8 132.3 216.8 200.4 0 26.4-22.9 34.9-54.7 34.9-47.2 0-108.2-19.5-156.1-45.5v128.5a396.09 396.09 0 0 0 156 32.4c118.6 0 200.3-51 200.3-153.6 0-170.2-218-139.7-218-203.9z\"},\"child\":[]}]})(props);\n};\nexport function FaStripe (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M165 144.7l-43.3 9.2-.2 142.4c0 26.3 19.8 43.3 46.1 43.3 14.6 0 25.3-2.7 31.2-5.9v-33.8c-5.7 2.3-33.7 10.5-33.7-15.7V221h33.7v-37.8h-33.7zm89.1 51.6l-2.7-13.1H213v153.2h44.3V233.3c10.5-13.8 28.2-11.1 33.9-9.3v-40.8c-6-2.1-26.7-6-37.1 13.1zm92.3-72.3l-44.6 9.5v36.2l44.6-9.5zM44.9 228.3c0-6.9 5.8-9.6 15.1-9.7 13.5 0 30.7 4.1 44.2 11.4v-41.8c-14.7-5.8-29.4-8.1-44.1-8.1-36 0-60 18.8-60 50.2 0 49.2 67.5 41.2 67.5 62.4 0 8.2-7.1 10.9-17 10.9-14.7 0-33.7-6.1-48.6-14.2v40c16.5 7.1 33.2 10.1 48.5 10.1 36.9 0 62.3-15.8 62.3-47.8 0-52.9-67.9-43.4-67.9-63.4zM640 261.6c0-45.5-22-81.4-64.2-81.4s-67.9 35.9-67.9 81.1c0 53.5 30.3 78.2 73.5 78.2 21.2 0 37.1-4.8 49.2-11.5v-33.4c-12.1 6.1-26 9.8-43.6 9.8-17.3 0-32.5-6.1-34.5-26.9h86.9c.2-2.3.6-11.6.6-15.9zm-87.9-16.8c0-20 12.3-28.4 23.4-28.4 10.9 0 22.5 8.4 22.5 28.4zm-112.9-64.6c-17.4 0-28.6 8.2-34.8 13.9l-2.3-11H363v204.8l44.4-9.4.1-50.2c6.4 4.7 15.9 11.2 31.4 11.2 31.8 0 60.8-23.2 60.8-79.6.1-51.6-29.3-79.7-60.5-79.7zm-10.6 122.5c-10.4 0-16.6-3.8-20.9-8.4l-.3-66c4.6-5.1 11-8.8 21.2-8.8 16.2 0 27.4 18.2 27.4 41.4.1 23.9-10.9 41.8-27.4 41.8zm-126.7 33.7h44.6V183.2h-44.6z\"},\"child\":[]}]})(props);\n};\nexport function FaStudiovinari (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M480.3 187.7l4.2 28v28l-25.1 44.1-39.8 78.4-56.1 67.5-79.1 37.8-17.7 24.5-7.7 12-9.6 4s17.3-63.6 19.4-63.6c2.1 0 20.3.7 20.3.7l66.7-38.6-92.5 26.1-55.9 36.8-22.8 28-6.6 1.4 20.8-73.6 6.9-5.5 20.7 12.9 88.3-45.2 56.8-51.5 14.8-68.4-125.4 23.3 15.2-18.2-173.4-53.3 81.9-10.5-166-122.9L133.5 108 32.2 0l252.9 126.6-31.5-38L378 163 234.7 64l18.7 38.4-49.6-18.1L158.3 0l194.6 122L310 66.2l108 96.4 12-8.9-21-16.4 4.2-37.8L451 89.1l29.2 24.7 11.5 4.2-7 6.2 8.5 12-13.1 7.4-10.3 20.2 10.5 23.9z\"},\"child\":[]}]})(props);\n};\nexport function FaStumbleuponCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 177.5c-9.8 0-17.8 8-17.8 17.8v106.9c0 40.9-33.9 73.9-74.9 73.9-41.4 0-74.9-33.5-74.9-74.9v-46.5h57.3v45.8c0 10 8 17.8 17.8 17.8s17.8-7.9 17.8-17.8V200.1c0-40 34.2-72.1 74.7-72.1 40.7 0 74.7 32.3 74.7 72.6v23.7l-34.1 10.1-22.9-10.7v-20.6c.1-9.6-7.9-17.6-17.7-17.6zm167.6 123.6c0 41.4-33.5 74.9-74.9 74.9-41.2 0-74.9-33.2-74.9-74.2V263l22.9 10.7 34.1-10.1v47.1c0 9.8 8 17.6 17.8 17.6s17.8-7.9 17.8-17.6v-48h57.3c-.1 45.9-.1 46.4-.1 46.4z\"},\"child\":[]}]})(props);\n};\nexport function FaStumbleupon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M502.9 266v69.7c0 62.1-50.3 112.4-112.4 112.4-61.8 0-112.4-49.8-112.4-111.3v-70.2l34.3 16 51.1-15.2V338c0 14.7 12 26.5 26.7 26.5S417 352.7 417 338v-72h85.9zm-224.7-58.2l34.3 16 51.1-15.2V173c0-60.5-51.1-109-112.1-109-60.8 0-112.1 48.2-112.1 108.2v162.4c0 14.9-12 26.7-26.7 26.7S86 349.5 86 334.6V266H0v69.7C0 397.7 50.3 448 112.4 448c61.6 0 112.4-49.5 112.4-110.8V176.9c0-14.7 12-26.7 26.7-26.7s26.7 12 26.7 26.7v30.9z\"},\"child\":[]}]})(props);\n};\nexport function FaSuperpowers (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 32c-83.3 11-166.8 22-250 33-92 12.5-163.3 86.7-169 180-3.3 55.5 18 109.5 57.8 148.2L0 480c83.3-11 166.5-22 249.8-33 91.8-12.5 163.3-86.8 168.7-179.8 3.5-55.5-18-109.5-57.7-148.2L448 32zm-79.7 232.3c-4.2 79.5-74 139.2-152.8 134.5-79.5-4.7-140.7-71-136.3-151 4.5-79.2 74.3-139.3 153-134.5 79.3 4.7 140.5 71 136.1 151z\"},\"child\":[]}]})(props);\n};\nexport function FaSupple (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M640 262.5c0 64.1-109 116.1-243.5 116.1-24.8 0-48.6-1.8-71.1-5 7.7.4 15.5.6 23.4.6 134.5 0 243.5-56.9 243.5-127.1 0-29.4-19.1-56.4-51.2-78 60 21.1 98.9 55.1 98.9 93.4zM47.7 227.9c-.1-70.2 108.8-127.3 243.3-127.6 7.9 0 15.6.2 23.3.5-22.5-3.2-46.3-4.9-71-4.9C108.8 96.3-.1 148.5 0 212.6c.1 38.3 39.1 72.3 99.3 93.3-32.3-21.5-51.5-48.6-51.6-78zm60.2 39.9s10.5 13.2 29.3 13.2c17.9 0 28.4-11.5 28.4-25.1 0-28-40.2-25.1-40.2-39.7 0-5.4 5.3-9.1 12.5-9.1 5.7 0 11.3 2.6 11.3 6.6v3.9h14.2v-7.9c0-12.1-15.4-16.8-25.4-16.8-16.5 0-28.5 10.2-28.5 24.1 0 26.6 40.2 25.4 40.2 39.9 0 6.6-5.8 10.1-12.3 10.1-11.9 0-20.7-10.1-20.7-10.1l-8.8 10.9zm120.8-73.6v54.4c0 11.3-7.1 17.8-17.8 17.8-10.7 0-17.8-6.5-17.8-17.7v-54.5h-15.8v55c0 18.9 13.4 31.9 33.7 31.9 20.1 0 33.4-13 33.4-31.9v-55h-15.7zm34.4 85.4h15.8v-29.5h15.5c16 0 27.2-11.5 27.2-28.1s-11.2-27.8-27.2-27.8h-39.1v13.4h7.8v72zm15.8-43v-29.1h12.9c8.7 0 13.7 5.7 13.7 14.4 0 8.9-5.1 14.7-14 14.7h-12.6zm57 43h15.8v-29.5h15.5c16 0 27.2-11.5 27.2-28.1s-11.2-27.8-27.2-27.8h-39.1v13.4h7.8v72zm15.7-43v-29.1h12.9c8.7 0 13.7 5.7 13.7 14.4 0 8.9-5 14.7-14 14.7h-12.6zm57.1 34.8c0 5.8 2.4 8.2 8.2 8.2h37.6c5.8 0 8.2-2.4 8.2-8.2v-13h-14.3v5.2c0 1.7-1 2.6-2.6 2.6h-18.6c-1.7 0-2.6-1-2.6-2.6v-61.2c0-5.7-2.4-8.2-8.2-8.2H401v13.4h5.2c1.7 0 2.6 1 2.6 2.6v61.2zm63.4 0c0 5.8 2.4 8.2 8.2 8.2H519c5.7 0 8.2-2.4 8.2-8.2v-13h-14.3v5.2c0 1.7-1 2.6-2.6 2.6h-19.7c-1.7 0-2.6-1-2.6-2.6v-20.3h27.7v-13.4H488v-22.4h19.2c1.7 0 2.6 1 2.6 2.6v5.2H524v-13c0-5.7-2.5-8.2-8.2-8.2h-51.6v13.4h7.8v63.9zm58.9-76v5.9h1.6v-5.9h2.7v-1.2h-7v1.2h2.7zm5.7-1.2v7.1h1.5v-5.7l2.3 5.7h1.3l2.3-5.7v5.7h1.5v-7.1h-2.3l-2.1 5.1-2.1-5.1h-2.4z\"},\"child\":[]}]})(props);\n};\nexport function FaSuse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M471.08 102.66s-.3 18.3-.3 20.3c-9.1-3-74.4-24.1-135.7-26.3-51.9-1.8-122.8-4.3-223 57.3-19.4 12.4-73.9 46.1-99.6 109.7C7 277-.12 307 7 335.06a111 111 0 0 0 16.5 35.7c17.4 25 46.6 41.6 78.1 44.4 44.4 3.9 78.1-16 90-53.3 8.2-25.8 0-63.6-31.5-82.9-25.6-15.7-53.3-12.1-69.2-1.6-13.9 9.2-21.8 23.5-21.6 39.2.3 27.8 24.3 42.6 41.5 42.6a49 49 0 0 0 15.8-2.7c6.5-1.8 13.3-6.5 13.3-14.9 0-12.1-11.6-14.8-16.8-13.9-2.9.5-4.5 2-11.8 2.4-2-.2-12-3.1-12-14V316c.2-12.3 13.2-18 25.5-16.9 32.3 2.8 47.7 40.7 28.5 65.7-18.3 23.7-76.6 23.2-99.7-20.4-26-49.2 12.7-111.2 87-98.4 33.2 5.7 83.6 35.5 102.4 104.3h45.9c-5.7-17.6-8.9-68.3 42.7-68.3 56.7 0 63.9 39.9 79.8 68.3H460c-12.8-18.3-21.7-38.7-18.9-55.8 5.6-33.8 39.7-18.4 82.4-17.4 66.5.4 102.1-27 103.1-28 3.7-3.1 6.5-15.8 7-17.7 1.3-5.1-3.2-2.4-3.2-2.4-8.7 5.2-30.5 15.2-50.9 15.6-25.3.5-76.2-25.4-81.6-28.2-.3-.4.1 1.2-11-25.5 88.4 58.3 118.3 40.5 145.2 21.7.8-.6 4.3-2.9 3.6-5.7-13.8-48.1-22.4-62.7-34.5-69.6-37-21.6-125-34.7-129.2-35.3.1-.1-.9-.3-.9.7zm60.4 72.8a37.54 37.54 0 0 1 38.9-36.3c33.4 1.2 48.8 42.3 24.4 65.2-24.2 22.7-64.4 4.6-63.3-28.9zm38.6-25.3a26.27 26.27 0 1 0 25.4 27.2 26.19 26.19 0 0 0-25.4-27.2zm4.3 28.8c-15.4 0-15.4-15.6 0-15.6s15.4 15.64 0 15.64z\"},\"child\":[]}]})(props);\n};\nexport function FaSwift (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 156.09c0-4.51-.08-9-.2-13.52a196.31 196.31 0 0 0-2.58-29.42 99.62 99.62 0 0 0-9.22-28A94.08 94.08 0 0 0 394.84 44a99.17 99.17 0 0 0-28-9.22 195 195 0 0 0-29.43-2.59c-4.51-.12-9-.17-13.52-.2H124.14c-4.51 0-9 .08-13.52.2-2.45.07-4.91.15-7.37.27a171.68 171.68 0 0 0-22.06 2.32 103.06 103.06 0 0 0-21.21 6.1q-3.46 1.45-6.81 3.12a94.66 94.66 0 0 0-18.39 12.32c-1.88 1.61-3.69 3.28-5.43 5A93.86 93.86 0 0 0 12 85.17a99.45 99.45 0 0 0-9.22 28 196.31 196.31 0 0 0-2.54 29.4c-.13 4.51-.18 9-.21 13.52v199.83c0 4.51.08 9 .21 13.51a196.08 196.08 0 0 0 2.58 29.42 99.3 99.3 0 0 0 9.22 28A94.31 94.31 0 0 0 53.17 468a99.47 99.47 0 0 0 28 9.21 195 195 0 0 0 29.43 2.59c4.5.12 9 .17 13.52.2H323.91c4.51 0 9-.08 13.52-.2a196.59 196.59 0 0 0 29.44-2.59 99.57 99.57 0 0 0 28-9.21A94.22 94.22 0 0 0 436 426.84a99.3 99.3 0 0 0 9.22-28 194.79 194.79 0 0 0 2.59-29.42c.12-4.5.17-9 .2-13.51V172.14c-.01-5.35-.01-10.7-.01-16.05zm-69.88 241c-20-38.93-57.23-29.27-76.31-19.47-1.72 1-3.48 2-5.25 3l-.42.25c-39.5 21-92.53 22.54-145.85-.38A234.64 234.64 0 0 1 45 290.12a230.63 230.63 0 0 0 39.17 23.37c56.36 26.4 113 24.49 153 0-57-43.85-104.6-101-141.09-147.22a197.09 197.09 0 0 1-18.78-25.9c43.7 40 112.7 90.22 137.48 104.12-52.57-55.49-98.89-123.94-96.72-121.74 82.79 83.42 159.18 130.59 159.18 130.59 2.88 1.58 5 2.85 6.73 4a127.44 127.44 0 0 0 4.16-12.47c13.22-48.33-1.66-103.58-35.31-149.2C329.61 141.75 375 229.34 356.4 303.42c-.44 1.73-.95 3.4-1.44 5.09 38.52 47.4 28.04 98.17 23.13 88.59z\"},\"child\":[]}]})(props);\n};\nexport function FaSymfony (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm133.74 143.54c-11.47.41-19.4-6.45-19.77-16.87-.27-9.18 6.68-13.44 6.53-18.85-.23-6.55-10.16-6.82-12.87-6.67-39.78 1.29-48.59 57-58.89 113.85 21.43 3.15 36.65-.72 45.14-6.22 12-7.75-3.34-15.72-1.42-24.56 4-18.16 32.55-19 32 5.3-.36 17.86-25.92 41.81-77.6 35.7-10.76 59.52-18.35 115-58.2 161.72-29 34.46-58.4 39.82-71.58 40.26-24.65.85-41-12.31-41.58-29.84-.56-17 14.45-26.26 24.31-26.59 21.89-.75 30.12 25.67 14.88 34-12.09 9.71.11 12.61 2.05 12.55 10.42-.36 17.34-5.51 22.18-9 24-20 33.24-54.86 45.35-118.35 8.19-49.66 17-78 18.23-82-16.93-12.75-27.08-28.55-49.85-34.72-15.61-4.23-25.12-.63-31.81 7.83-7.92 10-5.29 23 2.37 30.7l12.63 14c15.51 17.93 24 31.87 20.8 50.62-5.06 29.93-40.72 52.9-82.88 39.94-36-11.11-42.7-36.56-38.38-50.62 7.51-24.15 42.36-11.72 34.62 13.6-2.79 8.6-4.92 8.68-6.28 13.07-4.56 14.77 41.85 28.4 51-1.39 4.47-14.52-5.3-21.71-22.25-39.85-28.47-31.75-16-65.49 2.95-79.67C204.23 140.13 251.94 197 262 205.29c37.17-109 100.53-105.46 102.43-105.53 25.16-.81 44.19 10.59 44.83 28.65.25 7.69-4.17 22.59-19.52 23.13z\"},\"child\":[]}]})(props);\n};\nexport function FaTeamspeak (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M244.2 346.79c2.4-12.3-12-30-32.4-48.7-20.9-19.2-48.2-39.1-63.4-46.6-21.7-12-41.7-1.8-46.3 22.7-5 26.2 0 51.4 14.5 73.9 10.2 15.5 25.4 22.7 43.4 24 11.6.6 52.5 2.2 61.7-1 11.9-4.3 20.1-11.8 22.5-24.3zm205 20.8a5.22 5.22 0 0 0-8.3 2.4c-8 25.4-44.7 112.5-172.1 121.5-149.7 10.5 80.3 43.6 145.4-6.4 22.7-17.4 47.6-35 46.6-85.4-.4-10.1-4.9-26.69-11.6-32.1zm62-122.4c-.3-18.9-8.6-33.4-26-42.2-2.9-1.3-5-2.7-5.9-6.4A222.64 222.64 0 0 0 438.9 103c-1.1-1.5-3.5-3.2-2.2-5 8.5-11.5-.3-18-7-24.4Q321.4-31.11 177.4 13.09c-40.1 12.3-73.9 35.6-102 67.4-4 4.3-6.7 9.1-3 14.5 3 4 1.3 6.2-1 9.3C51.6 132 38.2 162.59 32.1 196c-.7 4.3-2.9 6-6.4 7.8-14.2 7-22.5 18.5-24.9 34L0 264.29v20.9c0 30.8 21 50.4 51.8 49 7.7-.3 11.7-4.3 12-11.5 2-77.5-2.4-95.4 3.7-125.8C92.1 72.39 234.3 5 345.3 65.39 411.4 102 445.7 159 447.6 234.79c.8 28.2 0 56.5 0 84.6 0 7 2.2 12.5 9.4 14.2 24.1 5 49.2-12 53.2-36.7 2.9-17.1 1-34.5 1-51.7zm-159.6 131.5c36.5 2.8 59.3-28.5 58.4-60.5-2.1-45.2-66.2-16.5-87.8-8-73.2 28.1-45 54.9-22.2 60.8z\"},\"child\":[]}]})(props);\n};\nexport function FaTelegramPlane (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M446.7 98.6l-67.6 318.8c-5.1 22.5-18.4 28.1-37.3 17.5l-103-75.9-49.7 47.8c-5.5 5.5-10.1 10.1-20.7 10.1l7.4-104.9 190.9-172.5c8.3-7.4-1.8-11.5-12.9-4.1L117.8 284 16.2 252.2c-22.1-6.9-22.5-22.1 4.6-32.7L418.2 66.4c18.4-6.9 34.5 4.1 28.5 32.2z\"},\"child\":[]}]})(props);\n};\nexport function FaTelegram (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm121.8 169.9l-40.7 191.8c-3 13.6-11.1 16.9-22.4 10.5l-62-45.7-29.9 28.8c-3.3 3.3-6.1 6.1-12.5 6.1l4.4-63.1 114.9-103.8c5-4.4-1.1-6.9-7.7-2.5l-142 89.4-61.2-19.1c-13.3-4.2-13.6-13.3 2.8-19.7l239.1-92.2c11.1-4 20.8 2.7 17.2 19.5z\"},\"child\":[]}]})(props);\n};\nexport function FaTencentWeibo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M72.3 495.8c1.4 19.9-27.6 22.2-29.7 2.9C31 368.8 73.7 259.2 144 185.5c-15.6-34 9.2-77.1 50.6-77.1 30.3 0 55.1 24.6 55.1 55.1 0 44-49.5 70.8-86.9 45.1-65.7 71.3-101.4 169.8-90.5 287.2zM192 .1C66.1.1-12.3 134.3 43.7 242.4 52.4 259.8 79 246.9 70 229 23.7 136.4 91 29.8 192 29.8c75.4 0 136.9 61.4 136.9 136.9 0 90.8-86.9 153.9-167.7 133.1-19.1-4.1-25.6 24.4-6.6 29.1 110.7 23.2 204-60 204-162.3C358.6 74.7 284 .1 192 .1z\"},\"child\":[]}]})(props);\n};\nexport function FaTheRedYeti (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M488.23 241.7l20.7 7.1c-9.6-23.9-23.9-37-31.7-44.8l7.1-18.2c.2 0 12.3-27.8-2.5-30.7-.6-11.3-6.6-27-18.4-27-7.6-10.6-17.7-12.3-30.7-5.9a122.2 122.2 0 0 0-25.3 16.5c-5.3-6.4-3 .4-3-29.8-37.1-24.3-45.4-11.7-74.8 3l.5.5a239.36 239.36 0 0 0-68.4-13.3c-5.5-8.7-18.6-19.1-25.1-25.1l24.8 7.1c-5.5-5.5-26.8-12.9-34.2-15.2 18.2-4.1 29.8-20.8 42.5-33-34.9-10.1-67.9-5.9-97.9 11.8l12-44.2L182 0c-31.6 24.2-33 41.9-33.7 45.5-.9-2.4-6.3-19.6-15.2-27a35.12 35.12 0 0 0-.5 25.3c3 8.4 5.9 14.8 8.4 18.9-16-3.3-28.3-4.9-49.2 0h-3.7l33 14.3a194.26 194.26 0 0 0-46.7 67.4l-1.7 8.4 1.7 1.7 7.6-4.7c-3.3 11.6-5.3 19.4-6.6 25.8a200.18 200.18 0 0 0-27.8 40.3c-15 1-31.8 10.8-40.3 14.3l3 3.4 28.8 1c-.5 1-.7 2.2-1.2 3.2-7.3 6.4-39.8 37.7-33 80.7l20.2-22.4c.5 1.7.7 3.4 1.2 5.2 0 25.5.4 89.6 64.9 150.5 43.6 40 96 60.2 157.5 60.2 121.7 0 223-87.3 223-211.5 6.8-9.7-1.2 3 16.7-25.1l13 14.3 2.5-.5A181.84 181.84 0 0 0 495 255a44.74 44.74 0 0 0-6.8-13.3zM398 111.2l-.5 21.9c5.5 18.1 16.9 17.2 22.4 17.2l-3.4-4.7 22.4-5.4a242.44 242.44 0 0 1-27 0c12.8-2.1 33.3-29 43-11.3 3.4 7.6 6.4 17.2 9.3 27.8l1.7-5.9a56.38 56.38 0 0 1-1.7-15.2c5.4.5 8.8 3.4 9.3 10.1.5 6.4 1.7 14.8 3.4 25.3l4.7-11.3c4.6 0 4.5-3.6-2.5 20.7-20.9-8.7-35.1-8.4-46.5-8.4l18.2-16c-25.3 8.2-33 10.8-54.8 20.9-1.1-5.4-5-13.5-16-19.9-3.2 3.8-2.8.9-.7 14.8h-2.5a62.32 62.32 0 0 0-8.4-23.1l4.2-3.4c8.4-7.1 11.8-14.3 10.6-21.9-.5-6.4-5.4-13.5-13.5-20.7 5.6-3.4 15.2-.4 28.3 8.5zm-39.6-10.1c2.7 1.9 11.4 5.4 18.9 17.2 4.2 8.4 4 9.8 3.4 11.1-.5 2.4-.5 4.3-3 7.1-1.7 2.5-5.4 4.7-11.8 7.6-7.6-13-16.5-23.6-27.8-31.2zM91 143.1l1.2-1.7c1.2-2.9 4.2-7.6 9.3-15.2l2.5-3.4-13 12.3 5.4-4.7-10.1 9.3-4.2 1.2c12.3-24.1 23.1-41.3 32.5-50.2 9.3-9.3 16-16 20.2-19.4l-6.4 1.2c-11.3-4.2-19.4-7.1-24.8-8.4 2.5-.5 3.7-.5 3.2-.5 10.3 0 17.5.5 20.9 1.2a52.35 52.35 0 0 0 16 2.5l.5-1.7-8.4-35.8 13.5 29a42.89 42.89 0 0 0 5.9-14.3c1.7-6.4 5.4-13 10.1-19.4s7.6-10.6 9.3-11.3a234.68 234.68 0 0 0-6.4 25.3l-1.7 7.1-.5 4.7 2.5 2.5C190.4 39.9 214 34 239.8 34.5l21.1.5c-11.8 13.5-27.8 21.9-48.5 24.8a201.26 201.26 0 0 1-23.4 2.9l-.2-.5-2.5-1.2a20.75 20.75 0 0 0-14 2c-2.5-.2-4.9-.5-7.1-.7l-2.5 1.7.5 1.2c2 .2 3.9.5 6.2.7l-2 3.4 3.4-.5-10.6 11.3c-4.2 3-5.4 6.4-4.2 9.3l5.4-3.4h1.2a39.4 39.4 0 0 1 25.3-15.2v-3c6.4.5 13 1 19.4 1.2 6.4 0 8.4.5 5.4 1.2a189.6 189.6 0 0 1 20.7 13.5c13.5 10.1 23.6 21.9 30 35.4 8.8 18.2 13.5 37.1 13.5 56.6a141.13 141.13 0 0 1-3 28.3 209.91 209.91 0 0 1-16 46l2.5.5c18.2-19.7 41.9-16 49.2-16l-6.4 5.9 22.4 17.7-1.7 30.7c-5.4-12.3-16.5-21.1-33-27.8 16.5 14.8 23.6 21.1 21.9 20.2-4.8-2.8-3.5-1.9-10.8-3.7 4.1 4.1 17.5 18.8 18.2 20.7l.2.2-.2.2c0 1.8 1.6-1.2-14 22.9-75.2-15.3-106.27-42.7-141.2-63.2l11.8 1.2c-11.8-18.5-15.6-17.7-38.4-26.1L149 225c-8.8-3-18.2-3-28.3.5l7.6-10.6-1.2-1.7c-14.9 4.3-19.8 9.2-22.6 11.3-1.1-5.5-2.8-12.4-12.3-28.8l-1.2 27-13.2-5c1.5-25.2 5.4-50.5 13.2-74.6zm276.5 330c-49.9 25-56.1 22.4-59 23.9-29.8-11.8-50.9-31.7-63.5-58.8l30 16.5c-9.8-9.3-18.3-16.5-38.4-44.3l11.8 23.1-17.7-7.6c14.2 21.1 23.5 51.7 66.6 73.5-120.8 24.2-199-72.1-200.9-74.3a262.57 262.57 0 0 0 35.4 24.8c3.4 1.7 7.1 2.5 10.1 1.2l-16-20.7c9.2 4.2 9.5 4.5 69.1 29-42.5-20.7-73.8-40.8-93.2-60.2-.5 6.4-1.2 10.1-1.2 10.1a80.25 80.25 0 0 1 20.7 26.6c-39-18.9-57.6-47.6-71.3-82.6 49.9 55.1 118.9 37.5 120.5 37.1 34.8 16.4 69.9 23.6 113.9 10.6 3.3 0 20.3 17 25.3 39.1l4.2-3-2.5-23.6c9 9 24.9 22.6 34.4 13-15.6-5.3-23.5-9.5-29.5-31.7 4.6 4.2 7.6 9 27.8 15l1.2-1.2-10.5-14.2c11.7-4.8-3.5 1 32-10.8 4.3 34.3 9 49.2.7 89.5zm115.3-214.4l-2.5.5 3 9.3c-3.5 5.9-23.7 44.3-71.6 79.7-39.5 29.8-76.6 39.1-80.9 40.3l-7.6-7.1-1.2 3 14.3 16-7.1-4.7 3.4 4.2h-1.2l-21.9-13.5 9.3 26.6-19-27.9-1.2 2.5 7.6 29c-6.1-8.2-21-32.6-56.8-39.6l32.5 21.2a214.82 214.82 0 0 1-93.2-6.4c-4.2-1.2-8.9-2.5-13.5-4.2l1.2-3-44.8-22.4 26.1 22.4c-57.7 9.1-113-25.4-126.4-83.4l-2.5-16.4-22.27 22.3c19.5-57.5 25.6-57.9 51.4-70.1-9.1-5.3-1.6-3.3-38.4-9.3 15.8-5.8 33-15.4 73 5.2a18.5 18.5 0 0 1 3.7-1.7c.6-3.2.4-.8 1-11.8 3.9 10 3.6 8.7 3 9.3l1.7.5c12.7-6.5 8.9-4.5 17-8.9l-5.4 13.5 22.3-5.8-8.4 8.4 2.5 2.5c4.5-1.8 30.3 3.4 40.8 16l-23.6-2.5c39.4 23 51.5 54 55.8 69.6l1.7-1.2c-2.8-22.3-12.4-33.9-16-40.1 4.2 5 39.2 34.6 110.4 46-11.3-.5-23.1 5.4-34.9 18.9l46.7-20.2-9.3 21.9c7.6-10.1 14.8-23.6 21.2-39.6v-.5l1.2-3-1.2 16c13.5-41.8 25.3-78.5 35.4-109.7l13.5-27.8v-2l-5.4-4.2h10.1l5.9 4.2 2.5-1.2-3.4-16 12.3 18.9 41.8-20.2-14.8 13 .5 2.9 17.7-.5a184 184 0 0 1 33 4.2l-23.6 2.5-1.2 3 26.6 23.1a254.21 254.21 0 0 1 27 32c-11.2-3.3-10.3-3.4-21.2-3.4l12.3 32.5zm-6.1-71.3l-3.9 13-14.3-11.8zm-254.8 7.1c1.7 10.6 4.7 17.7 8.8 21.9-9.3 6.6-27.5 13.9-46.5 16l.5 1.2a50.22 50.22 0 0 0 24.8-2.5l-7.1 13c4.2-1.7 10.1-7.1 17.7-14.8 11.9-5.5 12.7-5.1 20.2-16-12.7-6.4-15.7-13.7-18.4-18.8zm3.7-102.3c-6.4-3.4-10.6 3-12.3 18.9s2.5 29.5 11.8 39.6 18.2 10.6 26.1 3 3.4-23.6-11.3-47.7a39.57 39.57 0 0 0-14.27-13.8zm-4.7 46.3c5.4 2.2 10.5 1.9 12.3-10.6v-4.7l-1.2.5c-4.3-3.1-2.5-4.5-1.7-6.2l.5-.5c-.9-1.2-5-8.1-12.5 4.7-.5-13.5.5-21.9 3-24.8 1.2-2.5 4.7-1.2 11.3 4.2 6.4 5.4 11.3 16 15.2 32.5 6.5 28-19.8 26.2-26.9 4.9zm-45-5.5c1.6.3 9.3-1.1 9.3-14.8h-.5c-5.4-1.1-2.2-5.5-.7-5.9-1.7-3-3.4-4.2-5.4-4.7-8.1 0-11.6 12.7-8.1 21.2a7.51 7.51 0 0 0 5.43 4.2zM216 82.9l-2.5.5.5 3a48.94 48.94 0 0 1 26.1 5.9c-2.5-5.5-10-14.3-28.3-14.3l.5 2.5zm-71.8 49.4c21.7 16.8 16.5 21.4 46.5 23.6l-2.9-4.7a42.67 42.67 0 0 0 14.8-28.3c1.7-16-1.2-29.5-8.8-41.3l13-7.6a2.26 2.26 0 0 0-.5-1.7 14.21 14.21 0 0 0-13.5 1.7c-12.7 6.7-28 20.9-29 22.4-1.7 1.7-3.4 5.9-5.4 13.5a99.61 99.61 0 0 0-2.9 23.6c-4.7-8-10.5-6.4-19.9-5.9l7.1 7.6c-16.5 0-23.3 15.4-23.6 16 6.8 0 4.6-7.6 30-12.3-4.3-6.3-3.3-5-4.9-6.6zm18.7-18.7c1.2-7.6 3.4-13 6.4-17.2 5.4-6.4 10.6-10.1 16-11.8 4.2-1.7 7.1 1.2 10.1 9.3a72.14 72.14 0 0 1 3 25.3c-.5 9.3-3.4 17.2-8.4 23.1-2.9 3.4-5.4 5.9-6.4 7.6a39.21 39.21 0 0 1-11.3-.5l-7.1-3.4-5.4-6.4c.8-10 1.3-18.8 3.1-26zm42 56.1c-34.8 14.4-34.7 14-36.1 14.3-20.8 4.7-19-24.4-18.9-24.8l5.9-1.2-.5-2.5c-20.2-2.6-31 4.2-32.5 4.9.5.5 3 3.4 5.9 9.3 4.2-6.4 8.8-10.1 15.2-10.6a83.47 83.47 0 0 0 1.7 33.7c.1.5 2.6 17.4 27.5 24.1 11.3 3 27 1.2 48.9-5.4l-9.2.5c-4.2-14.8-6.4-24.8-5.9-29.5 11.3-8.8 21.9-11.3 30.7-7.6h2.5l-11.8-7.6-7.1.5c-5.9 1.2-12.3 4.2-19.4 8.4z\"},\"child\":[]}]})(props);\n};\nexport function FaThemeco (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M202.9 8.43c9.9-5.73 26-5.82 35.95-.21L430 115.85c10 5.6 18 19.44 18 30.86V364c0 11.44-8.06 25.29-18 31L238.81 503.74c-9.93 5.66-26 5.57-35.85-.21L17.86 395.12C8 389.34 0 375.38 0 364V146.71c0-11.44 8-25.36 17.91-31.08zm-77.4 199.83c-15.94 0-31.89.14-47.83.14v101.45H96.8V280h28.7c49.71 0 49.56-71.74 0-71.74zm140.14 100.29l-30.73-34.64c37-7.51 34.8-65.23-10.87-65.51-16.09 0-32.17-.14-48.26-.14v101.59h19.13v-33.91h18.41l29.56 33.91h22.76zm-41.59-82.32c23.34 0 23.26 32.46 0 32.46h-29.13v-32.46zm-95.56-1.6c21.18 0 21.11 38.85 0 38.85H96.18v-38.84zm192.65-18.25c-68.46 0-71 105.8 0 105.8 69.48-.01 69.41-105.8 0-105.8zm0 17.39c44.12 0 44.8 70.86 0 70.86s-44.43-70.86 0-70.86z\"},\"child\":[]}]})(props);\n};\nexport function FaThemeisle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M208 88.286c0-10 6.286-21.714 17.715-21.714 11.142 0 17.714 11.714 17.714 21.714 0 10.285-6.572 21.714-17.714 21.714C214.286 110 208 98.571 208 88.286zm304 160c0 36.001-11.429 102.286-36.286 129.714-22.858 24.858-87.428 61.143-120.857 70.572l-1.143.286v32.571c0 16.286-12.572 30.571-29.143 30.571-10 0-19.429-5.714-24.572-14.286-5.427 8.572-14.856 14.286-24.856 14.286-10 0-19.429-5.714-24.858-14.286-5.142 8.572-14.571 14.286-24.57 14.286-10.286 0-19.429-5.714-24.858-14.286-5.143 8.572-14.571 14.286-24.571 14.286-18.857 0-29.429-15.714-29.429-32.857-16.286 12.285-35.715 19.428-56.571 19.428-22 0-43.429-8.285-60.286-22.857 10.285-.286 20.571-2.286 30.285-5.714-20.857-5.714-39.428-18.857-52-36.286 21.37 4.645 46.209 1.673 67.143-11.143-22-22-56.571-58.857-68.572-87.428C1.143 321.714 0 303.714 0 289.429c0-49.714 20.286-160 86.286-160 10.571 0 18.857 4.858 23.143 14.857a158.792 158.792 0 0 1 12-15.428c2-2.572 5.714-5.429 7.143-8.286 7.999-12.571 11.714-21.142 21.714-34C182.571 45.428 232 17.143 285.143 17.143c6 0 12 .285 17.714 1.143C313.714 6.571 328.857 0 344.572 0c14.571 0 29.714 6 40 16.286.857.858 1.428 2.286 1.428 3.428 0 3.714-10.285 13.429-12.857 16.286 4.286 1.429 15.714 6.858 15.714 12 0 2.857-2.857 5.143-4.571 7.143 31.429 27.714 49.429 67.143 56.286 108 4.286-5.143 10.285-8.572 17.143-8.572 10.571 0 20.857 7.144 28.571 14.001C507.143 187.143 512 221.714 512 248.286zM188 89.428c0 18.286 12.571 37.143 32.286 37.143 19.714 0 32.285-18.857 32.285-37.143 0-18-12.571-36.857-32.285-36.857-19.715 0-32.286 18.858-32.286 36.857zM237.714 194c0-19.714 3.714-39.143 8.571-58.286-52.039 79.534-13.531 184.571 68.858 184.571 21.428 0 42.571-7.714 60-20 2-7.429 3.714-14.857 3.714-22.572 0-14.286-6.286-21.428-20.572-21.428-4.571 0-9.143.857-13.429 1.714-63.343 12.668-107.142 3.669-107.142-63.999zm-41.142 254.858c0-11.143-8.858-20.857-20.286-20.857-11.429 0-20 9.715-20 20.857v32.571c0 11.143 8.571 21.142 20 21.142 11.428 0 20.286-9.715 20.286-21.142v-32.571zm49.143 0c0-11.143-8.572-20.857-20-20.857-11.429 0-20.286 9.715-20.286 20.857v32.571c0 11.143 8.857 21.142 20.286 21.142 11.428 0 20-10 20-21.142v-32.571zm49.713 0c0-11.143-8.857-20.857-20.285-20.857-11.429 0-20.286 9.715-20.286 20.857v32.571c0 11.143 8.857 21.142 20.286 21.142 11.428 0 20.285-9.715 20.285-21.142v-32.571zm49.715 0c0-11.143-8.857-20.857-20.286-20.857-11.428 0-20.286 9.715-20.286 20.857v32.571c0 11.143 8.858 21.142 20.286 21.142 11.429 0 20.286-10 20.286-21.142v-32.571zM421.714 286c-30.857 59.142-90.285 102.572-158.571 102.572-96.571 0-160.571-84.572-160.571-176.572 0-16.857 2-33.429 6-49.714-20 33.715-29.714 72.572-29.714 111.429 0 60.286 24.857 121.715 71.429 160.857 5.143-9.714 14.857-16.286 26-16.286 10 0 19.428 5.714 24.571 14.286 5.429-8.571 14.571-14.286 24.858-14.286 10 0 19.428 5.714 24.571 14.286 5.429-8.571 14.857-14.286 24.858-14.286 10 0 19.428 5.714 24.857 14.286 5.143-8.571 14.571-14.286 24.572-14.286 10.857 0 20.857 6.572 25.714 16 43.427-36.286 68.569-92 71.426-148.286zm10.572-99.714c0-53.714-34.571-105.714-92.572-105.714-30.285 0-58.571 15.143-78.857 36.857C240.862 183.812 233.41 254 302.286 254c28.805 0 97.357-28.538 84.286 36.857 28.857-26 45.714-65.714 45.714-104.571z\"},\"child\":[]}]})(props);\n};\nexport function FaThinkPeaks (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M465.4 409.4l87.1-150.2-32-.3-55.1 95L259.2 0 23 407.4l32 .3L259.2 55.6zm-355.3-44.1h32.1l117.4-202.5L463 511.9l32.5.1-235.8-404.6z\"},\"child\":[]}]})(props);\n};\nexport function FaTiktok (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448,209.91a210.06,210.06,0,0,1-122.77-39.25V349.38A162.55,162.55,0,1,1,185,188.31V278.2a74.62,74.62,0,1,0,52.23,71.18V0l88,0a121.18,121.18,0,0,0,1.86,22.17h0A122.18,122.18,0,0,0,381,102.39a121.43,121.43,0,0,0,67,20.14Z\"},\"child\":[]}]})(props);\n};\nexport function FaTradeFederation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8.8c-137 0-248 111-248 248s111 248 248 248 248-111 248-248-111-248-248-248zm0 482.8c-129.7 0-234.8-105.1-234.8-234.8S118.3 22 248 22s234.8 105.1 234.8 234.8S377.7 491.6 248 491.6zm155.1-328.5v-46.8H209.3V198H54.2l36.7 46h117.7v196.8h48.8V245h83.3v-47h-83.3v-34.8h145.7zm-73.3 45.1v23.9h-82.9v197.4h-26.8V232.1H96.3l-20.1-23.9h143.9v-80.6h171.8V152h-145v56.2zm-161.3-69l-12.4-20.7 2.1 23.8-23.5 5.4 23.3 5.4-2.1 24 12.3-20.5 22.2 9.5-15.7-18.1 15.8-18.1zm-29.6-19.7l9.3-11.5-12.7 5.9-8-12.4 1.7 13.9-14.3 3.8 13.7 2.7-.8 14.7 6.8-12.2 13.8 5.3zm165.4 145.2l-13.1 5.6-7.3-12.2 1.3 14.2-13.9 3.2 13.9 3.2-1.2 14.2 7.3-12.2 13.1 5.5-9.4-10.7zm106.9-77.2l-20.9 9.1-12-19.6 2.2 22.7-22.3 5.4 22.2 4.9-1.8 22.9 11.5-19.6 21.2 8.8-15.1-17zM248 29.9c-125.3 0-226.9 101.6-226.9 226.9S122.7 483.7 248 483.7s226.9-101.6 226.9-226.9S373.3 29.9 248 29.9zM342.6 196v51h-83.3v195.7h-52.7V245.9H89.9l-40-49.9h157.4v-81.6h197.8v50.7H259.4V196zM248 43.2c60.3 0 114.8 25 153.6 65.2H202.5V190H45.1C73.1 104.8 153.4 43.2 248 43.2zm0 427.1c-117.9 0-213.6-95.6-213.6-213.5 0-21.2 3.1-41.8 8.9-61.1L87.1 252h114.7v196.8h64.6V253h83.3v-62.7h-83.2v-19.2h145.6v-50.8c30.8 37 49.3 84.6 49.3 136.5.1 117.9-95.5 213.5-213.4 213.5zM178.8 275l-11-21.4 1.7 24.5-23.7 3.9 23.8 5.9-3.7 23.8 13-20.9 21.5 10.8-15.8-18.8 16.9-17.1z\"},\"child\":[]}]})(props);\n};\nexport function FaTrello (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M392.3 32H56.1C25.1 32 0 57.1 0 88c-.1 0 0-4 0 336 0 30.9 25.1 56 56 56h336.2c30.8-.2 55.7-25.2 55.7-56V88c.1-30.8-24.8-55.8-55.6-56zM197 371.3c-.2 14.7-12.1 26.6-26.9 26.6H87.4c-14.8.1-26.9-11.8-27-26.6V117.1c0-14.8 12-26.9 26.9-26.9h82.9c14.8 0 26.9 12 26.9 26.9v254.2zm193.1-112c0 14.8-12 26.9-26.9 26.9h-81c-14.8 0-26.9-12-26.9-26.9V117.2c0-14.8 12-26.9 26.8-26.9h81.1c14.8 0 26.9 12 26.9 26.9v142.1z\"},\"child\":[]}]})(props);\n};\nexport function FaTripadvisor (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M528.91,178.82,576,127.58H471.66a326.11,326.11,0,0,0-367,0H0l47.09,51.24A143.911,143.911,0,0,0,241.86,390.73L288,440.93l46.11-50.17A143.94,143.94,0,0,0,575.88,285.18h-.03A143.56,143.56,0,0,0,528.91,178.82ZM144.06,382.57a97.39,97.39,0,1,1,97.39-97.39A97.39,97.39,0,0,1,144.06,382.57ZM288,282.37c0-64.09-46.62-119.08-108.09-142.59a281,281,0,0,1,216.17,0C334.61,163.3,288,218.29,288,282.37Zm143.88,100.2h-.01a97.405,97.405,0,1,1,.01,0ZM144.06,234.12h-.01a51.06,51.06,0,1,0,51.06,51.06v-.11A51,51,0,0,0,144.06,234.12Zm287.82,0a51.06,51.06,0,1,0,51.06,51.06A51.06,51.06,0,0,0,431.88,234.12Z\"},\"child\":[]}]})(props);\n};\nexport function FaTumblrSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-82.3 364.2c-8.5 9.1-31.2 19.8-60.9 19.8-75.5 0-91.9-55.5-91.9-87.9v-90h-29.7c-3.4 0-6.2-2.8-6.2-6.2v-42.5c0-4.5 2.8-8.5 7.1-10 38.8-13.7 50.9-47.5 52.7-73.2.5-6.9 4.1-10.2 10-10.2h44.3c3.4 0 6.2 2.8 6.2 6.2v72h51.9c3.4 0 6.2 2.8 6.2 6.2v51.1c0 3.4-2.8 6.2-6.2 6.2h-52.1V321c0 21.4 14.8 33.5 42.5 22.4 3-1.2 5.6-2 8-1.4 2.2.5 3.6 2.1 4.6 4.9l13.8 40.2c1 3.2 2 6.7-.3 9.1z\"},\"child\":[]}]})(props);\n};\nexport function FaTumblr (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M309.8 480.3c-13.6 14.5-50 31.7-97.4 31.7-120.8 0-147-88.8-147-140.6v-144H17.9c-5.5 0-10-4.5-10-10v-68c0-7.2 4.5-13.6 11.3-16 62-21.8 81.5-76 84.3-117.1.8-11 6.5-16.3 16.1-16.3h70.9c5.5 0 10 4.5 10 10v115.2h83c5.5 0 10 4.4 10 9.9v81.7c0 5.5-4.5 10-10 10h-83.4V360c0 34.2 23.7 53.6 68 35.8 4.8-1.9 9-3.2 12.7-2.2 3.5.9 5.8 3.4 7.4 7.9l22 64.3c1.8 5 3.3 10.6-.4 14.5z\"},\"child\":[]}]})(props);\n};\nexport function FaTwitch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M391.17,103.47H352.54v109.7h38.63ZM285,103H246.37V212.75H285ZM120.83,0,24.31,91.42V420.58H140.14V512l96.53-91.42h77.25L487.69,256V0ZM449.07,237.75l-77.22,73.12H294.61l-67.6,64v-64H140.14V36.58H449.07Z\"},\"child\":[]}]})(props);\n};\nexport function FaTwitterSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-48.9 158.8c.2 2.8.2 5.7.2 8.5 0 86.7-66 186.6-186.6 186.6-37.2 0-71.7-10.8-100.7-29.4 5.3.6 10.4.8 15.8.8 30.7 0 58.9-10.4 81.4-28-28.8-.6-53-19.5-61.3-45.5 10.1 1.5 19.2 1.5 29.6-1.2-30-6.1-52.5-32.5-52.5-64.4v-.8c8.7 4.9 18.9 7.9 29.6 8.3a65.447 65.447 0 0 1-29.2-54.6c0-12.2 3.2-23.4 8.9-33.1 32.3 39.8 80.8 65.8 135.2 68.6-9.3-44.5 24-80.6 64-80.6 18.9 0 35.9 7.9 47.9 20.7 14.8-2.8 29-8.3 41.6-15.8-4.9 15.2-15.2 28-28.8 36.1 13.2-1.4 26-5.1 37.8-10.2-8.9 13.1-20.1 24.7-32.9 34z\"},\"child\":[]}]})(props);\n};\nexport function FaTwitter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z\"},\"child\":[]}]})(props);\n};\nexport function FaTypo3 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M178.7 78.4c0-24.7 5.4-32.4 13.9-39.4-69.5 8.5-149.3 34-176.3 66.4-5.4 7.7-9.3 20.8-9.3 37.1C7 246 113.8 480 191.1 480c36.3 0 97.3-59.5 146.7-139-7 2.3-11.6 2.3-18.5 2.3-57.2 0-140.6-198.5-140.6-264.9zM301.5 32c-30.1 0-41.7 5.4-41.7 36.3 0 66.4 53.8 198.5 101.7 198.5 26.3 0 78.8-99.7 78.8-182.3 0-40.9-67-52.5-138.8-52.5z\"},\"child\":[]}]})(props);\n};\nexport function FaUber (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M414.1 32H33.9C15.2 32 0 47.2 0 65.9V446c0 18.8 15.2 34 33.9 34H414c18.7 0 33.9-15.2 33.9-33.9V65.9C448 47.2 432.8 32 414.1 32zM237.6 391.1C163 398.6 96.4 344.2 88.9 269.6h94.4V290c0 3.7 3 6.8 6.8 6.8H258c3.7 0 6.8-3 6.8-6.8v-67.9c0-3.7-3-6.8-6.8-6.8h-67.9c-3.7 0-6.8 3-6.8 6.8v20.4H88.9c7-69.4 65.4-122.2 135.1-122.2 69.7 0 128.1 52.8 135.1 122.2 7.5 74.5-46.9 141.1-121.5 148.6z\"},\"child\":[]}]})(props);\n};\nexport function FaUbuntu (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm52.7 93c8.8-15.2 28.3-20.5 43.5-11.7 15.3 8.8 20.5 28.3 11.7 43.6-8.8 15.2-28.3 20.5-43.5 11.7-15.3-8.9-20.5-28.4-11.7-43.6zM87.4 287.9c-17.6 0-31.9-14.3-31.9-31.9 0-17.6 14.3-31.9 31.9-31.9 17.6 0 31.9 14.3 31.9 31.9 0 17.6-14.3 31.9-31.9 31.9zm28.1 3.1c22.3-17.9 22.4-51.9 0-69.9 8.6-32.8 29.1-60.7 56.5-79.1l23.7 39.6c-51.5 36.3-51.5 112.5 0 148.8L172 370c-27.4-18.3-47.8-46.3-56.5-79zm228.7 131.7c-15.3 8.8-34.7 3.6-43.5-11.7-8.8-15.3-3.6-34.8 11.7-43.6 15.2-8.8 34.7-3.6 43.5 11.7 8.8 15.3 3.6 34.8-11.7 43.6zm.3-69.5c-26.7-10.3-56.1 6.6-60.5 35-5.2 1.4-48.9 14.3-96.7-9.4l22.5-40.3c57 26.5 123.4-11.7 128.9-74.4l46.1.7c-2.3 34.5-17.3 65.5-40.3 88.4zm-5.9-105.3c-5.4-62-71.3-101.2-128.9-74.4l-22.5-40.3c47.9-23.7 91.5-10.8 96.7-9.4 4.4 28.3 33.8 45.3 60.5 35 23.1 22.9 38 53.9 40.2 88.5l-46 .6z\"},\"child\":[]}]})(props);\n};\nexport function FaUikit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M443.9 128v256L218 512 0 384V169.7l87.6 45.1v117l133.5 75.5 135.8-75.5v-151l-101.1-57.6 87.6-53.1L443.9 128zM308.6 49.1L223.8 0l-88.6 54.8 86 47.3 87.4-53z\"},\"child\":[]}]})(props);\n};\nexport function FaUmbraco (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 510 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M255.35 8C118.36 7.83 7.14 118.72 7 255.68c-.07 137 111 248.2 248 248.27 136.85 0 247.82-110.7 248-247.67S392.34 8.17 255.35 8zm145 266q-1.14 40.68-14 65t-43.51 35q-30.61 10.7-85.45 10.47h-4.6q-54.78.22-85.44-10.47t-43.52-35q-12.85-24.36-14-65a224.81 224.81 0 0 1 0-30.71 418.37 418.37 0 0 1 3.6-43.88c1.88-13.39 3.57-22.58 5.4-32 1-4.88 1.28-6.42 1.82-8.45a5.09 5.09 0 0 1 4.9-3.89h.69l32 5a5.07 5.07 0 0 1 4.16 5 5 5 0 0 1 0 .77l-1.7 8.78q-2.41 13.25-4.84 33.68a380.62 380.62 0 0 0-2.64 42.15q-.28 40.43 8.13 59.83a43.87 43.87 0 0 0 31.31 25.18A243 243 0 0 0 250 340.6h10.25a242.64 242.64 0 0 0 57.27-5.16 43.86 43.86 0 0 0 31.15-25.23q8.53-19.42 8.13-59.78a388 388 0 0 0-2.6-42.15q-2.48-20.38-4.89-33.68l-1.69-8.78a5 5 0 0 1 0-.77 5 5 0 0 1 4.2-5l32-5h.82a5 5 0 0 1 4.9 3.89c.55 2.05.81 3.57 1.83 8.45 1.82 9.62 3.52 18.78 5.39 32a415.71 415.71 0 0 1 3.61 43.88 228.06 228.06 0 0 1-.04 30.73z\"},\"child\":[]}]})(props);\n};\nexport function FaUncharted (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M171.73,232.813A5.381,5.381,0,0,0,176.7,229.5,48.081,48.081,0,0,1,191.6,204.244c1.243-.828,1.657-2.484,1.657-4.141a4.22,4.22,0,0,0-2.071-3.312L74.429,128.473,148.958,85a9.941,9.941,0,0,0,4.968-8.281,9.108,9.108,0,0,0-4.968-8.281L126.6,55.6a9.748,9.748,0,0,0-9.523,0l-100.2,57.966a9.943,9.943,0,0,0-4.969,8.281V236.954a9.109,9.109,0,0,0,4.969,8.281L39.235,258.07a8.829,8.829,0,0,0,4.968,1.242,9.4,9.4,0,0,0,6.625-2.484,10.8,10.8,0,0,0,2.9-7.039V164.5L169.66,232.4A4.5,4.5,0,0,0,171.73,232.813ZM323.272,377.73a12.478,12.478,0,0,0-4.969,1.242l-74.528,43.062V287.882c0-2.9-2.9-5.8-6.211-4.555a53.036,53.036,0,0,1-28.984.414,4.86,4.86,0,0,0-6.21,4.555V421.619l-74.529-43.061a8.83,8.83,0,0,0-4.969-1.242,9.631,9.631,0,0,0-9.523,9.523v26.085a9.107,9.107,0,0,0,4.969,8.281l100.2,57.553A8.829,8.829,0,0,0,223.486,480a11.027,11.027,0,0,0,4.969-1.242l100.2-57.553a9.941,9.941,0,0,0,4.968-8.281V386.839C332.8,382.285,328.24,377.73,323.272,377.73ZM286.007,78a23,23,0,1,0-23-23A23,23,0,0,0,286.007,78Zm63.627-10.086a23,23,0,1,0,23,23A23,23,0,0,0,349.634,67.914ZM412.816,151.6a23,23,0,1,0-23-23A23,23,0,0,0,412.816,151.6Zm-63.182-9.2a23,23,0,1,0,23,23A23,23,0,0,0,349.634,142.4Zm-63.627,83.244a23,23,0,1,0-23-23A23,23,0,0,0,286.007,225.648Zm-62.074,36.358a23,23,0,1,0-23-23A23,23,0,0,0,223.933,262.006Zm188.883-82.358a23,23,0,1,0,23,23A23,23,0,0,0,412.816,179.648Zm0,72.272a23,23,0,1,0,23,23A23,23,0,0,0,412.816,251.92Z\"},\"child\":[]}]})(props);\n};\nexport function FaUniregistry (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M192 480c39.5 0 76.2-11.8 106.8-32.2H85.3C115.8 468.2 152.5 480 192 480zm-89.1-193.1v-12.4H0v12.4c0 2.5 0 5 .1 7.4h103.1c-.2-2.4-.3-4.9-.3-7.4zm20.5 57H8.5c2.6 8.5 5.8 16.8 9.6 24.8h138.3c-12.9-5.7-24.1-14.2-33-24.8zm-17.7-34.7H1.3c.9 7.6 2.2 15 3.9 22.3h109.7c-4-6.9-7.2-14.4-9.2-22.3zm-2.8-69.3H0v17.3h102.9zm0-173.2H0v4.9h102.9zm0-34.7H0v2.5h102.9zm0 69.3H0v7.4h102.9zm0 104H0v14.8h102.9zm0-69.3H0v9.9h102.9zm0 34.6H0V183h102.9zm166.2 160.9h109.7c1.8-7.3 3.1-14.7 3.9-22.3H278.3c-2.1 7.9-5.2 15.4-9.2 22.3zm12-185.7H384V136H281.1zm0 37.2H384v-12.4H281.1zm0-74.3H384v-7.4H281.1zm0-76.7v2.5H384V32zm-203 410.9h227.7c11.8-8.7 22.7-18.6 32.2-29.7H44.9c9.6 11 21.4 21 33.2 29.7zm203-371.3H384v-4.9H281.1zm0 148.5H384v-14.8H281.1zM38.8 405.7h305.3c6.7-8.5 12.6-17.6 17.8-27.2H23c5.2 9.6 9.2 18.7 15.8 27.2zm188.8-37.1H367c3.7-8 5.8-16.2 8.5-24.8h-115c-8.8 10.7-20.1 19.2-32.9 24.8zm53.5-81.7c0 2.5-.1 5-.4 7.4h103.1c.1-2.5.2-4.9.2-7.4v-12.4H281.1zm0-29.7H384v-17.3H281.1z\"},\"child\":[]}]})(props);\n};\nexport function FaUnity (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M498.11,206.4,445.31,14.72,248.2,66.08,219,116.14l-59.2-.43L15.54,256,159.82,396.32l59.17-.43,29.24,50,197.08,51.36,52.8-191.62-30-49.63ZM223.77,124.2,374.55,86.51,288,232.33H114.87Zm0,263.63L114.87,279.71H288l86.55,145.81Zm193,14L330.17,256l86.58-145.84L458.56,256Z\"},\"child\":[]}]})(props);\n};\nexport function FaUnsplash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448,230.17V480H0V230.17H141.13V355.09H306.87V230.17ZM306.87,32H141.13V156.91H306.87Z\"},\"child\":[]}]})(props);\n};\nexport function FaUntappd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M401.3 49.9c-79.8 160.1-84.6 152.5-87.9 173.2l-5.2 32.8c-1.9 12-6.6 23.5-13.7 33.4L145.6 497.1c-7.6 10.6-20.4 16.2-33.4 14.6-40.3-5-77.8-32.2-95.3-68.5-5.7-11.8-4.5-25.8 3.1-36.4l148.9-207.9c7.1-9.9 16.4-18 27.2-23.7l29.3-15.5c18.5-9.8 9.7-11.9 135.6-138.9 1-4.8 1-7.3 3.6-8 3-.7 6.6-1 6.3-4.6l-.4-4.6c-.2-1.9 1.3-3.6 3.2-3.6 4.5-.1 13.2 1.2 25.6 10 12.3 8.9 16.4 16.8 17.7 21.1.6 1.8-.6 3.7-2.4 4.2l-4.5 1.1c-3.4.9-2.5 4.4-2.3 7.4.1 2.8-2.3 3.6-6.5 6.1zM230.1 36.4c3.4.9 2.5 4.4 2.3 7.4-.2 2.7 2.1 3.5 6.4 6 7.9 15.9 15.3 30.5 22.2 44 .7 1.3 2.3 1.5 3.3.5 11.2-12 24.6-26.2 40.5-42.6 1.3-1.4 1.4-3.5.1-4.9-8-8.2-16.5-16.9-25.6-26.1-1-4.7-1-7.3-3.6-8-3-.8-6.6-1-6.3-4.6.3-3.3 1.4-8.1-2.8-8.2-4.5-.1-13.2 1.1-25.6 10-12.3 8.9-16.4 16.8-17.7 21.1-1.4 4.2 3.6 4.6 6.8 5.4zM620 406.7L471.2 198.8c-13.2-18.5-26.6-23.4-56.4-39.1-11.2-5.9-14.2-10.9-30.5-28.9-1-1.1-2.9-.9-3.6.5-46.3 88.8-47.1 82.8-49 94.8-1.7 10.7-1.3 20 .3 29.8 1.9 12 6.6 23.5 13.7 33.4l148.9 207.9c7.6 10.6 20.2 16.2 33.1 14.7 40.3-4.9 78-32 95.7-68.6 5.4-11.9 4.3-25.9-3.4-36.6z\"},\"child\":[]}]})(props);\n};\nexport function FaUps (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M103.2 303c-5.2 3.6-32.6 13.1-32.6-19V180H37.9v102.6c0 74.9 80.2 51.1 97.9 39V180h-32.6zM4 74.82v220.9c0 103.7 74.9 135.2 187.7 184.1 112.4-48.9 187.7-80.2 187.7-184.1V74.82c-116.3-61.6-281.8-49.6-375.4 0zm358.1 220.9c0 86.6-53.2 113.6-170.4 165.3-117.5-51.8-170.5-78.7-170.5-165.3v-126.4c102.3-93.8 231.6-100 340.9-89.8zm-209.6-107.4v212.8h32.7v-68.7c24.4 7.3 71.7-2.6 71.7-78.5 0-97.4-80.7-80.92-104.4-65.6zm32.7 117.3v-100.3c8.4-4.2 38.4-12.7 38.4 49.3 0 67.9-36.4 51.8-38.4 51zm79.1-86.4c.1 47.3 51.6 42.5 52.2 70.4.6 23.5-30.4 23-50.8 4.9v30.1c36.2 21.5 81.9 8.1 83.2-33.5 1.7-51.5-54.1-46.6-53.4-73.2.6-20.3 30.6-20.5 48.5-2.2v-28.4c-28.5-22-79.9-9.2-79.7 31.9z\"},\"child\":[]}]})(props);\n};\nexport function FaUsb (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M641.5 256c0 3.1-1.7 6.1-4.5 7.5L547.9 317c-1.4.8-2.8 1.4-4.5 1.4-1.4 0-3.1-.3-4.5-1.1-2.8-1.7-4.5-4.5-4.5-7.8v-35.6H295.7c25.3 39.6 40.5 106.9 69.6 106.9H392V354c0-5 3.9-8.9 8.9-8.9H490c5 0 8.9 3.9 8.9 8.9v89.1c0 5-3.9 8.9-8.9 8.9h-89.1c-5 0-8.9-3.9-8.9-8.9v-26.7h-26.7c-75.4 0-81.1-142.5-124.7-142.5H140.3c-8.1 30.6-35.9 53.5-69 53.5C32 327.3 0 295.3 0 256s32-71.3 71.3-71.3c33.1 0 61 22.8 69 53.5 39.1 0 43.9 9.5 74.6-60.4C255 88.7 273 95.7 323.8 95.7c7.5-20.9 27-35.6 50.4-35.6 29.5 0 53.5 23.9 53.5 53.5s-23.9 53.5-53.5 53.5c-23.4 0-42.9-14.8-50.4-35.6H294c-29.1 0-44.3 67.4-69.6 106.9h310.1v-35.6c0-3.3 1.7-6.1 4.5-7.8 2.8-1.7 6.4-1.4 8.9.3l89.1 53.5c2.8 1.1 4.5 4.1 4.5 7.2z\"},\"child\":[]}]})(props);\n};\nexport function FaUsps (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M460.3 241.7c25.8-41.3 15.2-48.8-11.7-48.8h-27c-.1 0-1.5-1.4-10.9 8-11.2 5.6-37.9 6.3-37.9 8.7 0 4.5 70.3-3.1 88.1 0 9.5 1.5-1.5 20.4-4.4 32-.5 4.5 2.4 2.3 3.8.1zm-112.1 22.6c64-21.3 97.3-23.9 102-26.2 4.4-2.9-4.4-6.6-26.2-5.8-51.7 2.2-137.6 37.1-172.6 53.9l-30.7-93.3h196.6c-2.7-28.2-152.9-22.6-337.9-22.6L27 415.8c196.4-97.3 258.9-130.3 321.2-151.5zM94.7 96c253.3 53.7 330 65.7 332.1 85.2 36.4 0 45.9 0 52.4 6.6 21.1 19.7-14.6 67.7-14.6 67.7-4.4 2.9-406.4 160.2-406.4 160.2h423.1L549 96z\"},\"child\":[]}]})(props);\n};\nexport function FaUssunnah (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M156.8 285.1l5.7 14.4h-8.2c-1.3-3.2-3.1-7.7-3.8-9.5-2.5-6.3-1.1-8.4 0-10 1.9-2.7 3.2-4.4 3.6-5.2 0 2.2.8 5.7 2.7 10.3zm297.3 18.8c-2.1 13.8-5.7 27.1-10.5 39.7l43 23.4-44.8-18.8c-5.3 13.2-12 25.6-19.9 37.2l34.2 30.2-36.8-26.4c-8.4 11.8-18 22.6-28.7 32.3l24.9 34.7-28.1-31.8c-11 9.6-23.1 18-36.1 25.1l15.7 37.2-19.3-35.3c-13.1 6.8-27 12.1-41.6 15.9l6.7 38.4-10.5-37.4c-14.3 3.4-29.2 5.3-44.5 5.4L256 512l-1.9-38.4c-15.3-.1-30.2-2-44.5-5.3L199 505.6l6.7-38.2c-14.6-3.7-28.6-9.1-41.7-15.8l-19.2 35.1 15.6-37c-13-7-25.2-15.4-36.2-25.1l-27.9 31.6 24.7-34.4c-10.7-9.7-20.4-20.5-28.8-32.3l-36.5 26.2 33.9-29.9c-7.9-11.6-14.6-24.1-20-37.3l-44.4 18.7L67.8 344c-4.8-12.7-8.4-26.1-10.5-39.9l-51 9 50.3-14.2c-1.1-8.5-1.7-17.1-1.7-25.9 0-4.7.2-9.4.5-14.1L0 256l56-2.8c1.3-13.1 3.8-25.8 7.5-38.1L6.4 199l58.9 10.4c4-12 9.1-23.5 15.2-34.4l-55.1-30 58.3 24.6C90 159 97.2 149.2 105.3 140L55.8 96.4l53.9 38.7c8.1-8.6 17-16.5 26.6-23.6l-40-55.6 45.6 51.6c9.5-6.6 19.7-12.3 30.3-17.2l-27.3-64.9 33.8 62.1c10.5-4.4 21.4-7.9 32.7-10.4L199 6.4l19.5 69.2c11-2.1 22.3-3.2 33.8-3.4L256 0l3.6 72.2c11.5.2 22.8 1.4 33.8 3.5L313 6.4l-12.4 70.7c11.3 2.6 22.2 6.1 32.6 10.5l33.9-62.2-27.4 65.1c10.6 4.9 20.7 10.7 30.2 17.2l45.8-51.8-40.1 55.9c9.5 7.1 18.4 15 26.5 23.6l54.2-38.9-49.7 43.9c8 9.1 15.2 18.9 21.5 29.4l58.7-24.7-55.5 30.2c6.1 10.9 11.1 22.3 15.1 34.3l59.3-10.4-57.5 16.2c3.7 12.2 6.2 24.9 7.5 37.9L512 256l-56 2.8c.3 4.6.5 9.3.5 14.1 0 8.7-.6 17.3-1.6 25.8l50.7 14.3-51.5-9.1zm-21.8-31c0-97.5-79-176.5-176.5-176.5s-176.5 79-176.5 176.5 79 176.5 176.5 176.5 176.5-79 176.5-176.5zm-24 0c0 84.3-68.3 152.6-152.6 152.6s-152.6-68.3-152.6-152.6 68.3-152.6 152.6-152.6 152.6 68.3 152.6 152.6zM195 241c0 2.1 1.3 3.8 3.6 5.1 3.3 1.9 6.2 4.6 8.2 8.2 2.8-5.7 4.3-9.5 4.3-11.2 0-2.2-1.1-4.4-3.2-7-2.1-2.5-3.2-5.2-3.3-7.7-6.5 6.8-9.6 10.9-9.6 12.6zm-40.7-19c0 2.1 1.3 3.8 3.6 5.1 3.5 1.9 6.2 4.6 8.2 8.2 2.8-5.7 4.3-9.5 4.3-11.2 0-2.2-1.1-4.4-3.2-7-2.1-2.5-3.2-5.2-3.3-7.7-6.5 6.8-9.6 10.9-9.6 12.6zm-19 0c0 2.1 1.3 3.8 3.6 5.1 3.3 1.9 6.2 4.6 8.2 8.2 2.8-5.7 4.3-9.5 4.3-11.2 0-2.2-1.1-4.4-3.2-7-2.1-2.5-3.2-5.2-3.3-7.7-6.4 6.8-9.6 10.9-9.6 12.6zm204.9 87.9c-8.4-3-8.7-6.8-8.7-15.6V182c-8.2 12.5-14.2 18.6-18 18.6 6.3 14.4 9.5 23.9 9.5 28.3v64.3c0 2.2-2.2 6.5-4.7 6.5h-18c-2.8-7.5-10.2-26.9-15.3-40.3-2 2.5-7.2 9.2-10.7 13.7 2.4 1.6 4.1 3.6 5.2 6.3 2.6 6.7 6.4 16.5 7.9 20.2h-9.2c-3.9-10.4-9.6-25.4-11.8-31.1-2 2.5-7.2 9.2-10.7 13.7 2.4 1.6 4.1 3.6 5.2 6.3.8 2 2.8 7.3 4.3 10.9H256c-1.5-4.1-5.6-14.6-8.4-22-2 2.5-7.2 9.2-10.7 13.7 2.5 1.6 4.3 3.6 5.2 6.3.2.6.5 1.4.6 1.7H225c-4.6-13.9-11.4-27.7-11.4-34.1 0-2.2.3-5.1 1.1-8.2-8.8 10.8-14 15.9-14 25 0 7.5 10.4 28.3 10.4 33.3 0 1.7-.5 3.3-1.4 4.9-9.6-12.7-15.5-20.7-18.8-20.7h-12l-11.2-28c-3.8-9.6-5.7-16-5.7-18.8 0-3.8.5-7.7 1.7-12.2-1 1.3-3.7 4.7-5.5 7.1-.8-2.1-3.1-7.7-4.6-11.5-2.1 2.5-7.5 9.1-11.2 13.6.9 2.3 3.3 8.1 4.9 12.2-2.5 3.3-9.1 11.8-13.6 17.7-4 5.3-5.8 13.3-2.7 21.8 2.5 6.7 2 7.9-1.7 14.1H191c5.5 0 14.3 14 15.5 22 13.2-16 15.4-19.6 16.8-21.6h107c3.9 0 7.2-1.9 9.9-5.8zm20.1-26.6V181.7c-9 12.5-15.9 18.6-20.7 18.6 7.1 14.4 10.7 23.9 10.7 28.3v66.3c0 17.5 8.6 20.4 24 20.4 8.1 0 12.5-.8 13.7-2.7-4.3-1.6-7.6-2.5-9.9-3.3-8.1-3.2-17.8-7.4-17.8-26z\"},\"child\":[]}]})(props);\n};\nexport function FaVaadin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224.5 140.7c1.5-17.6 4.9-52.7 49.8-52.7h98.6c20.7 0 32.1-7.8 32.1-21.6V54.1c0-12.2 9.3-22.1 21.5-22.1S448 41.9 448 54.1v36.5c0 42.9-21.5 62-66.8 62H280.7c-30.1 0-33 14.7-33 27.1 0 1.3-.1 2.5-.2 3.7-.7 12.3-10.9 22.2-23.4 22.2s-22.7-9.8-23.4-22.2c-.1-1.2-.2-2.4-.2-3.7 0-12.3-3-27.1-33-27.1H66.8c-45.3 0-66.8-19.1-66.8-62V54.1C0 41.9 9.4 32 21.6 32s21.5 9.9 21.5 22.1v12.3C43.1 80.2 54.5 88 75.2 88h98.6c44.8 0 48.3 35.1 49.8 52.7h.9zM224 456c11.5 0 21.4-7 25.7-16.3 1.1-1.8 97.1-169.6 98.2-171.4 11.9-19.6-3.2-44.3-27.2-44.3-13.9 0-23.3 6.4-29.8 20.3L224 362l-66.9-117.7c-6.4-13.9-15.9-20.3-29.8-20.3-24 0-39.1 24.6-27.2 44.3 1.1 1.9 97.1 169.6 98.2 171.4 4.3 9.3 14.2 16.3 25.7 16.3z\"},\"child\":[]}]})(props);\n};\nexport function FaViacoin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 32h-64l-80.7 192h-94.5L64 32H0l48 112H0v48h68.5l13.8 32H0v48h102.8L192 480l89.2-208H384v-48h-82.3l13.8-32H384v-48h-48l48-112zM192 336l-27-64h54l-27 64z\"},\"child\":[]}]})(props);\n};\nexport function FaViadeoSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM280.7 381.2c-42.4 46.2-120 46.6-162.4 0-68-73.6-19.8-196.1 81.2-196.1 13.3 0 26.6 2.1 39.1 6.7-4.3 8.4-7.3 17.6-8.4 27.1-9.7-4.1-20.2-6-30.7-6-48.8 0-84.6 41.7-84.6 88.9 0 43 28.5 78.7 69.5 85.9 61.5-24 72.9-117.6 72.9-175 0-7.3 0-14.8-.6-22.1-11.2-32.9-26.6-64.6-44.2-94.5 27.1 18.3 41.9 62.5 44.2 94.1v.4c7.7 22.5 11.8 46.2 11.8 70 0 54.1-21.9 99-68.3 128.2l-2.4.2c50 1 86.2-38.6 86.2-87.2 0-12.2-2.1-24.3-6.9-35.7 9.5-1.9 18.5-5.6 26.4-10.5 15.3 36.6 12.6 87.3-22.8 125.6zM309 233.7c-13.3 0-25.1-7.1-34.4-16.1 21.9-12 49.6-30.7 62.3-53 1.5-3 4.1-8.6 4.5-12-12.5 27.9-44.2 49.8-73.9 56.7-4.7-7.3-7.5-15.5-7.5-24.3 0-10.3 5.2-24.1 12.9-31.6 21.6-20.5 53-8.5 72.4-50 32.5 46.2 13.1 130.3-36.3 130.3z\"},\"child\":[]}]})(props);\n};\nexport function FaViadeo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M276.2 150.5v.7C258.3 98.6 233.6 47.8 205.4 0c43.3 29.2 67 100 70.8 150.5zm32.7 121.7c7.6 18.2 11 37.5 11 57 0 77.7-57.8 141-137.8 139.4l3.8-.3c74.2-46.7 109.3-118.6 109.3-205.1 0-38.1-6.5-75.9-18.9-112 1 11.7 1 23.7 1 35.4 0 91.8-18.1 241.6-116.6 280C95 455.2 49.4 398 49.4 329.2c0-75.6 57.4-142.3 135.4-142.3 16.8 0 33.7 3.1 49.1 9.6 1.7-15.1 6.5-29.9 13.4-43.3-19.9-7.2-41.2-10.7-62.5-10.7-161.5 0-238.7 195.9-129.9 313.7 67.9 74.6 192 73.9 259.8 0 56.6-61.3 60.9-142.4 36.4-201-12.7 8-27.1 13.9-42.2 17zM418.1 11.7c-31 66.5-81.3 47.2-115.8 80.1-12.4 12-20.6 34-20.6 50.5 0 14.1 4.5 27.1 12 38.8 47.4-11 98.3-46 118.2-90.7-.7 5.5-4.8 14.4-7.2 19.2-20.3 35.7-64.6 65.6-99.7 84.9 14.8 14.4 33.7 25.8 55 25.8 79 0 110.1-134.6 58.1-208.6z\"},\"child\":[]}]})(props);\n};\nexport function FaViber (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M444 49.9C431.3 38.2 379.9.9 265.3.4c0 0-135.1-8.1-200.9 52.3C27.8 89.3 14.9 143 13.5 209.5c-1.4 66.5-3.1 191.1 117 224.9h.1l-.1 51.6s-.8 20.9 13 25.1c16.6 5.2 26.4-10.7 42.3-27.8 8.7-9.4 20.7-23.2 29.8-33.7 82.2 6.9 145.3-8.9 152.5-11.2 16.6-5.4 110.5-17.4 125.7-142 15.8-128.6-7.6-209.8-49.8-246.5zM457.9 287c-12.9 104-89 110.6-103 115.1-6 1.9-61.5 15.7-131.2 11.2 0 0-52 62.7-68.2 79-5.3 5.3-11.1 4.8-11-5.7 0-6.9.4-85.7.4-85.7-.1 0-.1 0 0 0-101.8-28.2-95.8-134.3-94.7-189.8 1.1-55.5 11.6-101 42.6-131.6 55.7-50.5 170.4-43 170.4-43 96.9.4 143.3 29.6 154.1 39.4 35.7 30.6 53.9 103.8 40.6 211.1zm-139-80.8c.4 8.6-12.5 9.2-12.9.6-1.1-22-11.4-32.7-32.6-33.9-8.6-.5-7.8-13.4.7-12.9 27.9 1.5 43.4 17.5 44.8 46.2zm20.3 11.3c1-42.4-25.5-75.6-75.8-79.3-8.5-.6-7.6-13.5.9-12.9 58 4.2 88.9 44.1 87.8 92.5-.1 8.6-13.1 8.2-12.9-.3zm47 13.4c.1 8.6-12.9 8.7-12.9.1-.6-81.5-54.9-125.9-120.8-126.4-8.5-.1-8.5-12.9 0-12.9 73.7.5 133 51.4 133.7 139.2zM374.9 329v.2c-10.8 19-31 40-51.8 33.3l-.2-.3c-21.1-5.9-70.8-31.5-102.2-56.5-16.2-12.8-31-27.9-42.4-42.4-10.3-12.9-20.7-28.2-30.8-46.6-21.3-38.5-26-55.7-26-55.7-6.7-20.8 14.2-41 33.3-51.8h.2c9.2-4.8 18-3.2 23.9 3.9 0 0 12.4 14.8 17.7 22.1 5 6.8 11.7 17.7 15.2 23.8 6.1 10.9 2.3 22-3.7 26.6l-12 9.6c-6.1 4.9-5.3 14-5.3 14s17.8 67.3 84.3 84.3c0 0 9.1.8 14-5.3l9.6-12c4.6-6 15.7-9.8 26.6-3.7 14.7 8.3 33.4 21.2 45.8 32.9 7 5.7 8.6 14.4 3.8 23.6z\"},\"child\":[]}]})(props);\n};\nexport function FaVimeoSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-16.2 149.6c-1.4 31.1-23.2 73.8-65.3 127.9-43.5 56.5-80.3 84.8-110.4 84.8-18.7 0-34.4-17.2-47.3-51.6-25.2-92.3-35.9-146.4-56.7-146.4-2.4 0-10.8 5-25.1 15.1L64 192c36.9-32.4 72.1-68.4 94.1-70.4 24.9-2.4 40.2 14.6 46 51.1 20.5 129.6 29.6 149.2 66.8 90.5 13.4-21.2 20.6-37.2 21.5-48.3 3.4-32.8-25.6-30.6-45.2-22.2 15.7-51.5 45.8-76.5 90.1-75.1 32.9 1 48.4 22.4 46.5 64z\"},\"child\":[]}]})(props);\n};\nexport function FaVimeoV (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M447.8 153.6c-2 43.6-32.4 103.3-91.4 179.1-60.9 79.2-112.4 118.8-154.6 118.8-26.1 0-48.2-24.1-66.3-72.3C100.3 250 85.3 174.3 56.2 174.3c-3.4 0-15.1 7.1-35.2 21.1L0 168.2c51.6-45.3 100.9-95.7 131.8-98.5 34.9-3.4 56.3 20.5 64.4 71.5 28.7 181.5 41.4 208.9 93.6 126.7 18.7-29.6 28.8-52.1 30.2-67.6 4.8-45.9-35.8-42.8-63.3-31 22-72.1 64.1-107.1 126.2-105.1 45.8 1.2 67.5 31.1 64.9 89.4z\"},\"child\":[]}]})(props);\n};\nexport function FaVimeo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M403.2 32H44.8C20.1 32 0 52.1 0 76.8v358.4C0 459.9 20.1 480 44.8 480h358.4c24.7 0 44.8-20.1 44.8-44.8V76.8c0-24.7-20.1-44.8-44.8-44.8zM377 180.8c-1.4 31.5-23.4 74.7-66 129.4-44 57.2-81.3 85.8-111.7 85.8-18.9 0-34.8-17.4-47.9-52.3-25.5-93.3-36.4-148-57.4-148-2.4 0-10.9 5.1-25.4 15.2l-15.2-19.6c37.3-32.8 72.9-69.2 95.2-71.2 25.2-2.4 40.7 14.8 46.5 51.7 20.7 131.2 29.9 151 67.6 91.6 13.5-21.4 20.8-37.7 21.8-48.9 3.5-33.2-25.9-30.9-45.8-22.4 15.9-52.1 46.3-77.4 91.2-76 33.3.9 49 22.5 47.1 64.7z\"},\"child\":[]}]})(props);\n};\nexport function FaVine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 254.7v52.1c-18.4 4.2-36.9 6.1-52.1 6.1-36.9 77.4-103 143.8-125.1 156.2-14 7.9-27.1 8.4-42.7-.8C137 452 34.2 367.7 0 102.7h74.5C93.2 261.8 139 343.4 189.3 404.5c27.9-27.9 54.8-65.1 75.6-106.9-49.8-25.3-80.1-80.9-80.1-145.6 0-65.6 37.7-115.1 102.2-115.1 114.9 0 106.2 127.9 81.6 181.5 0 0-46.4 9.2-63.5-20.5 3.4-11.3 8.2-30.8 8.2-48.5 0-31.3-11.3-46.6-28.4-46.6-18.2 0-30.8 17.1-30.8 50 .1 79.2 59.4 118.7 129.9 101.9z\"},\"child\":[]}]})(props);\n};\nexport function FaVk (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M545 117.7c3.7-12.5 0-21.7-17.8-21.7h-58.9c-15 0-21.9 7.9-25.6 16.7 0 0-30 73.1-72.4 120.5-13.7 13.7-20 18.1-27.5 18.1-3.7 0-9.4-4.4-9.4-16.9V117.7c0-15-4.2-21.7-16.6-21.7h-92.6c-9.4 0-15 7-15 13.5 0 14.2 21.2 17.5 23.4 57.5v86.8c0 19-3.4 22.5-10.9 22.5-20 0-68.6-73.4-97.4-157.4-5.8-16.3-11.5-22.9-26.6-22.9H38.8c-16.8 0-20.2 7.9-20.2 16.7 0 15.6 20 93.1 93.1 195.5C160.4 378.1 229 416 291.4 416c37.5 0 42.1-8.4 42.1-22.9 0-66.8-3.4-73.1 15.4-73.1 8.7 0 23.7 4.4 58.7 38.1 40 40 46.6 57.9 69 57.9h58.9c16.8 0 25.3-8.4 20.4-25-11.2-34.9-86.9-106.7-90.3-111.5-8.7-11.2-6.2-16.2 0-26.2.1-.1 72-101.3 79.4-135.6z\"},\"child\":[]}]})(props);\n};\nexport function FaVnv (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M104.9 352c-34.1 0-46.4-30.4-46.4-30.4L2.6 210.1S-7.8 192 13 192h32.8c10.4 0 13.2 8.7 18.8 18.1l36.7 74.5s5.2 13.1 21.1 13.1 21.1-13.1 21.1-13.1l36.7-74.5c5.6-9.5 8.4-18.1 18.8-18.1h32.8c20.8 0 10.4 18.1 10.4 18.1l-55.8 111.5S174.2 352 140 352h-35.1zm395 0c-34.1 0-46.4-30.4-46.4-30.4l-55.9-111.5S387.2 192 408 192h32.8c10.4 0 13.2 8.7 18.8 18.1l36.7 74.5s5.2 13.1 21.1 13.1 21.1-13.1 21.1-13.1l36.8-74.5c5.6-9.5 8.4-18.1 18.8-18.1H627c20.8 0 10.4 18.1 10.4 18.1l-55.9 111.5S569.3 352 535.1 352h-35.2zM337.6 192c34.1 0 46.4 30.4 46.4 30.4l55.9 111.5s10.4 18.1-10.4 18.1h-32.8c-10.4 0-13.2-8.7-18.8-18.1l-36.7-74.5s-5.2-13.1-21.1-13.1c-15.9 0-21.1 13.1-21.1 13.1l-36.7 74.5c-5.6 9.4-8.4 18.1-18.8 18.1h-32.9c-20.8 0-10.4-18.1-10.4-18.1l55.9-111.5s12.2-30.4 46.4-30.4h35.1z\"},\"child\":[]}]})(props);\n};\nexport function FaVuejs (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M356.9 64.3H280l-56 88.6-48-88.6H0L224 448 448 64.3h-91.1zm-301.2 32h53.8L224 294.5 338.4 96.3h53.8L224 384.5 55.7 96.3z\"},\"child\":[]}]})(props);\n};\nexport function FaWatchmanMonitoring (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256,16C123.452,16,16,123.452,16,256S123.452,496,256,496,496,388.548,496,256,388.548,16,256,16ZM121.69,429.122C70.056,388.972,36.741,326.322,36.741,256a218.519,218.519,0,0,1,9.587-64.122l102.9-17.895-.121,10.967-13.943,2.013s-.144,12.5-.144,19.549a12.778,12.778,0,0,0,4.887,10.349l9.468,7.4Zm105.692-283.27,8.48-7.618s6.934-5.38-.143-9.344c-7.188-4.024-39.53-34.5-39.53-34.5-5.348-5.477-8.257-7.347-15.46,0,0,0-32.342,30.474-39.529,34.5-7.078,3.964-.144,9.344-.144,9.344l8.481,7.618-.048,4.369L75.982,131.045c39.644-56.938,105.532-94.3,180.018-94.3A218.754,218.754,0,0,1,420.934,111.77l-193.512,37.7Zm34.063,329.269-33.9-250.857,9.467-7.4a12.778,12.778,0,0,0,4.888-10.349c0-7.044-.144-19.549-.144-19.549l-13.943-2.013-.116-10.474,241.711,31.391A218.872,218.872,0,0,1,475.259,256C475.259,375.074,379.831,472.212,261.445,475.121Z\"},\"child\":[]}]})(props);\n};\nexport function FaWaze (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M502.17 201.67C516.69 287.53 471.23 369.59 389 409.8c13 34.1-12.4 70.2-48.32 70.2a51.68 51.68 0 0 1-51.57-49c-6.44.19-64.2 0-76.33-.64A51.69 51.69 0 0 1 159 479.92c-33.86-1.36-57.95-34.84-47-67.92-37.21-13.11-72.54-34.87-99.62-70.8-13-17.28-.48-41.8 20.84-41.8 46.31 0 32.22-54.17 43.15-110.26C94.8 95.2 193.12 32 288.09 32c102.48 0 197.15 70.67 214.08 169.67zM373.51 388.28c42-19.18 81.33-56.71 96.29-102.14 40.48-123.09-64.15-228-181.71-228-83.45 0-170.32 55.42-186.07 136-9.53 48.91 5 131.35-68.75 131.35C58.21 358.6 91.6 378.11 127 389.54c24.66-21.8 63.87-15.47 79.83 14.34 14.22 1 79.19 1.18 87.9.82a51.69 51.69 0 0 1 78.78-16.42zM205.12 187.13c0-34.74 50.84-34.75 50.84 0s-50.84 34.74-50.84 0zm116.57 0c0-34.74 50.86-34.75 50.86 0s-50.86 34.75-50.86 0zm-122.61 70.69c-3.44-16.94 22.18-22.18 25.62-5.21l.06.28c4.14 21.42 29.85 44 64.12 43.07 35.68-.94 59.25-22.21 64.11-42.77 4.46-16.05 28.6-10.36 25.47 6-5.23 22.18-31.21 62-91.46 62.9-42.55 0-80.88-27.84-87.9-64.25z\"},\"child\":[]}]})(props);\n};\nexport function FaWeebly (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M425.09 65.83c-39.88 0-73.28 25.73-83.66 64.33-18.16-58.06-65.5-64.33-84.95-64.33-19.78 0-66.8 6.28-85.28 64.33-10.38-38.6-43.45-64.33-83.66-64.33C38.59 65.83 0 99.72 0 143.03c0 28.96 4.18 33.27 77.17 233.48 22.37 60.57 67.77 69.35 92.74 69.35 39.23 0 70.04-19.46 85.93-53.98 15.89 34.83 46.69 54.29 85.93 54.29 24.97 0 70.36-9.1 92.74-69.67 76.55-208.65 77.5-205.58 77.5-227.2.63-48.32-36.01-83.47-86.92-83.47zm26.34 114.81l-65.57 176.44c-7.92 21.49-21.22 37.22-46.24 37.22-23.44 0-37.38-12.41-44.03-33.9l-39.28-117.42h-.95L216.08 360.4c-6.96 21.5-20.9 33.6-44.02 33.6-25.02 0-38.33-15.74-46.24-37.22L60.88 181.55c-5.38-14.83-7.92-23.91-7.92-34.5 0-16.34 15.84-29.36 38.33-29.36 18.69 0 31.99 11.8 36.11 29.05l44.03 139.82h.95l44.66-136.79c6.02-19.67 16.47-32.08 38.96-32.08s32.94 12.11 38.96 32.08l44.66 136.79h.95l44.03-139.82c4.12-17.25 17.42-29.05 36.11-29.05 22.17 0 38.33 13.32 38.33 35.71-.32 7.87-4.12 16.04-7.61 27.24z\"},\"child\":[]}]})(props);\n};\nexport function FaWeibo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M407 177.6c7.6-24-13.4-46.8-37.4-41.7-22 4.8-28.8-28.1-7.1-32.8 50.1-10.9 92.3 37.1 76.5 84.8-6.8 21.2-38.8 10.8-32-10.3zM214.8 446.7C108.5 446.7 0 395.3 0 310.4c0-44.3 28-95.4 76.3-143.7C176 67 279.5 65.8 249.9 161c-4 13.1 12.3 5.7 12.3 6 79.5-33.6 140.5-16.8 114 51.4-3.7 9.4 1.1 10.9 8.3 13.1 135.7 42.3 34.8 215.2-169.7 215.2zm143.7-146.3c-5.4-55.7-78.5-94-163.4-85.7-84.8 8.6-148.8 60.3-143.4 116s78.5 94 163.4 85.7c84.8-8.6 148.8-60.3 143.4-116zM347.9 35.1c-25.9 5.6-16.8 43.7 8.3 38.3 72.3-15.2 134.8 52.8 111.7 124-7.4 24.2 29.1 37 37.4 12 31.9-99.8-55.1-195.9-157.4-174.3zm-78.5 311c-17.1 38.8-66.8 60-109.1 46.3-40.8-13.1-58-53.4-40.3-89.7 17.7-35.4 63.1-55.4 103.4-45.1 42 10.8 63.1 50.2 46 88.5zm-86.3-30c-12.9-5.4-30 .3-38 12.9-8.3 12.9-4.3 28 8.6 34 13.1 6 30.8.3 39.1-12.9 8-13.1 3.7-28.3-9.7-34zm32.6-13.4c-5.1-1.7-11.4.6-14.3 5.4-2.9 5.1-1.4 10.6 3.7 12.9 5.1 2 11.7-.3 14.6-5.4 2.8-5.2 1.1-10.9-4-12.9z\"},\"child\":[]}]})(props);\n};\nexport function FaWeixin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M385.2 167.6c6.4 0 12.6.3 18.8 1.1C387.4 90.3 303.3 32 207.7 32 100.5 32 13 104.8 13 197.4c0 53.4 29.3 97.5 77.9 131.6l-19.3 58.6 68-34.1c24.4 4.8 43.8 9.7 68.2 9.7 6.2 0 12.1-.3 18.3-.8-4-12.9-6.2-26.6-6.2-40.8-.1-84.9 72.9-154 165.3-154zm-104.5-52.9c14.5 0 24.2 9.7 24.2 24.4 0 14.5-9.7 24.2-24.2 24.2-14.8 0-29.3-9.7-29.3-24.2.1-14.7 14.6-24.4 29.3-24.4zm-136.4 48.6c-14.5 0-29.3-9.7-29.3-24.2 0-14.8 14.8-24.4 29.3-24.4 14.8 0 24.4 9.7 24.4 24.4 0 14.6-9.6 24.2-24.4 24.2zM563 319.4c0-77.9-77.9-141.3-165.4-141.3-92.7 0-165.4 63.4-165.4 141.3S305 460.7 397.6 460.7c19.3 0 38.9-5.1 58.6-9.9l53.4 29.3-14.8-48.6C534 402.1 563 363.2 563 319.4zm-219.1-24.5c-9.7 0-19.3-9.7-19.3-19.6 0-9.7 9.7-19.3 19.3-19.3 14.8 0 24.4 9.7 24.4 19.3 0 10-9.7 19.6-24.4 19.6zm107.1 0c-9.7 0-19.3-9.7-19.3-19.6 0-9.7 9.7-19.3 19.3-19.3 14.5 0 24.4 9.7 24.4 19.3.1 10-9.9 19.6-24.4 19.6z\"},\"child\":[]}]})(props);\n};\nexport function FaWhatsappSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 122.8c-72.7 0-131.8 59.1-131.9 131.8 0 24.9 7 49.2 20.2 70.1l3.1 5-13.3 48.6 49.9-13.1 4.8 2.9c20.2 12 43.4 18.4 67.1 18.4h.1c72.6 0 133.3-59.1 133.3-131.8 0-35.2-15.2-68.3-40.1-93.2-25-25-58-38.7-93.2-38.7zm77.5 188.4c-3.3 9.3-19.1 17.7-26.7 18.8-12.6 1.9-22.4.9-47.5-9.9-39.7-17.2-65.7-57.2-67.7-59.8-2-2.6-16.2-21.5-16.2-41s10.2-29.1 13.9-33.1c3.6-4 7.9-5 10.6-5 2.6 0 5.3 0 7.6.1 2.4.1 5.7-.9 8.9 6.8 3.3 7.9 11.2 27.4 12.2 29.4s1.7 4.3.3 6.9c-7.6 15.2-15.7 14.6-11.6 21.6 15.3 26.3 30.6 35.4 53.9 47.1 4 2 6.3 1.7 8.6-1 2.3-2.6 9.9-11.6 12.5-15.5 2.6-4 5.3-3.3 8.9-2 3.6 1.3 23.1 10.9 27.1 12.9s6.6 3 7.6 4.6c.9 1.9.9 9.9-2.4 19.1zM400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM223.9 413.2c-26.6 0-52.7-6.7-75.8-19.3L64 416l22.5-82.2c-13.9-24-21.2-51.3-21.2-79.3C65.4 167.1 136.5 96 223.9 96c42.4 0 82.2 16.5 112.2 46.5 29.9 30 47.9 69.8 47.9 112.2 0 87.4-72.7 158.5-160.1 158.5z\"},\"child\":[]}]})(props);\n};\nexport function FaWhatsapp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7.9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7 0-9.7 1.4-14.8 6.9-5.1 5.6-19.4 19-19.4 46.3 0 27.3 19.9 53.7 22.6 57.4 2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.9-10.5-6.6z\"},\"child\":[]}]})(props);\n};\nexport function FaWhmcs (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 161v-21.3l-28.5-8.8-2.2-10.4 20.1-20.7L427 80.4l-29 7.5-7.2-7.5 7.5-28.2-19.1-11.6-21.3 21-10.7-3.2-7-26.4h-22.6l-6.2 26.4-12.1 3.2-19.7-21-19.4 11 8.1 27.7-8.1 8.4-28.5-7.5-11 19.1 20.7 21-2.9 10.4-28.5 7.8-.3 21.7 28.8 7.5 2.4 12.1-20.1 19.9 10.4 18.5 29.6-7.5 7.2 8.6-8.1 26.9 19.9 11.6 19.4-20.4 11.6 2.9 6.7 28.5 22.6.3 6.7-28.8 11.6-3.5 20.7 21.6 20.4-12.1-8.8-28 7.8-8.1 28.8 8.8 10.3-20.1-20.9-18.8 2.2-12.1 29.1-7zm-119.2 45.2c-31.3 0-56.8-25.4-56.8-56.8s25.4-56.8 56.8-56.8 56.8 25.4 56.8 56.8c0 31.5-25.4 56.8-56.8 56.8zm72.3 16.4l46.9 14.5V277l-55.1 13.4-4.1 22.7 38.9 35.3-19.2 37.9-54-16.7-14.6 15.2 16.7 52.5-38.3 22.7-38.9-40.5-21.7 6.6-12.6 54-42.4-.5-12.6-53.6-21.7-5.6-36.4 38.4-37.4-21.7 15.2-50.5-13.7-16.1-55.5 14.1-19.7-34.8 37.9-37.4-4.8-22.8-54-14.1.5-40.9L54 219.9l5.7-19.7-38.9-39.4L41.5 125l53.6 14.1 15.2-15.7-15.2-52 36.4-20.7 36.8 39.4L191 84l11.6-52H245l11.6 45.9L234 72l-6.3-1.7-3.3 5.7-11 19.1-3.3 5.6 4.6 4.6 17.2 17.4-.3 1-23.8 6.5-6.2 1.7-.1 6.4-.2 12.9C153.8 161.6 118 204 118 254.7c0 58.3 47.3 105.7 105.7 105.7 50.5 0 92.7-35.4 103.2-82.8l13.2.2 6.9.1 1.6-6.7 5.6-24 1.9-.6 17.1 17.8 4.7 4.9 5.8-3.4 20.4-12.1 5.8-3.5-2-6.5-6.8-21.2z\"},\"child\":[]}]})(props);\n};\nexport function FaWikipediaW (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M640 51.2l-.3 12.2c-28.1.8-45 15.8-55.8 40.3-25 57.8-103.3 240-155.3 358.6H415l-81.9-193.1c-32.5 63.6-68.3 130-99.2 193.1-.3.3-15 0-15-.3C172 352.3 122.8 243.4 75.8 133.4 64.4 106.7 26.4 63.4.2 63.7c0-3.1-.3-10-.3-14.2h161.9v13.9c-19.2 1.1-52.8 13.3-43.3 34.2 21.9 49.7 103.6 240.3 125.6 288.6 15-29.7 57.8-109.2 75.3-142.8-13.9-28.3-58.6-133.9-72.8-160-9.7-17.8-36.1-19.4-55.8-19.7V49.8l142.5.3v13.1c-19.4.6-38.1 7.8-29.4 26.1 18.9 40 30.6 68.1 48.1 104.7 5.6-10.8 34.7-69.4 48.1-100.8 8.9-20.6-3.9-28.6-38.6-29.4.3-3.6 0-10.3.3-13.6 44.4-.3 111.1-.3 123.1-.6v13.6c-22.5.8-45.8 12.8-58.1 31.7l-59.2 122.8c6.4 16.1 63.3 142.8 69.2 156.7L559.2 91.8c-8.6-23.1-36.4-28.1-47.2-28.3V49.6l127.8 1.1.2.5z\"},\"child\":[]}]})(props);\n};\nexport function FaWindows (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 93.7l183.6-25.3v177.4H0V93.7zm0 324.6l183.6 25.3V268.4H0v149.9zm203.8 28L448 480V268.4H203.8v177.9zm0-380.6v180.1H448V32L203.8 65.7z\"},\"child\":[]}]})(props);\n};\nexport function FaWix (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M393.38 131.69c0 13.03 2.08 32.69-28.68 43.83-9.52 3.45-15.95 9.66-15.95 9.66 0-31 4.72-42.22 17.4-48.86 9.75-5.11 27.23-4.63 27.23-4.63zm-115.8 35.54l-34.24 132.66-28.48-108.57c-7.69-31.99-20.81-48.53-48.43-48.53-27.37 0-40.66 16.18-48.43 48.53L89.52 299.89 55.28 167.23C49.73 140.51 23.86 128.96 0 131.96l65.57 247.93s21.63 1.56 32.46-3.96c14.22-7.25 20.98-12.84 29.59-46.57 7.67-30.07 29.11-118.41 31.12-124.7 4.76-14.94 11.09-13.81 15.4 0 1.97 6.3 23.45 94.63 31.12 124.7 8.6 33.73 15.37 39.32 29.59 46.57 10.82 5.52 32.46 3.96 32.46 3.96l65.57-247.93c-24.42-3.07-49.82 8.93-55.3 35.27zm115.78 5.21s-4.1 6.34-13.46 11.57c-6.01 3.36-11.78 5.64-17.97 8.61-15.14 7.26-13.18 13.95-13.18 35.2v152.07s16.55 2.09 27.37-3.43c13.93-7.1 17.13-13.95 17.26-44.78V181.41l-.02.01v-8.98zm163.44 84.08L640 132.78s-35.11-5.98-52.5 9.85c-13.3 12.1-24.41 29.55-54.18 72.47-.47.73-6.25 10.54-13.07 0-29.29-42.23-40.8-60.29-54.18-72.47-17.39-15.83-52.5-9.85-52.5-9.85l83.2 123.74-82.97 123.36s36.57 4.62 53.95-11.21c11.49-10.46 17.58-20.37 52.51-70.72 6.81-10.52 12.57-.77 13.07 0 29.4 42.38 39.23 58.06 53.14 70.72 17.39 15.83 53.32 11.21 53.32 11.21L556.8 256.52z\"},\"child\":[]}]})(props);\n};\nexport function FaWizardsOfTheCoast (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M219.19 345.69c-1.9 1.38-11.07 8.44-.26 23.57 4.64 6.42 14.11 12.79 21.73 6.55 6.5-4.88 7.35-12.92.26-23.04-5.47-7.76-14.28-12.88-21.73-7.08zm336.75 75.94c-.34 1.7-.55 1.67.79 0 2.09-4.19 4.19-10.21 4.98-19.9 3.14-38.49-40.33-71.49-101.34-78.03-54.73-6.02-124.38 9.17-188.8 60.49l-.26 1.57c2.62 4.98 4.98 10.74 3.4 21.21l.79.26c63.89-58.4 131.19-77.25 184.35-73.85 58.4 3.67 100.03 34.04 100.03 68.08-.01 9.96-2.63 15.72-3.94 20.17zM392.28 240.42c.79 7.07 4.19 10.21 9.17 10.47 5.5.26 9.43-2.62 10.47-6.55.79-3.4 2.09-29.85 2.09-29.85s-11.26 6.55-14.93 10.47c-3.66 3.68-7.33 8.39-6.8 15.46zm-50.02-151.1C137.75 89.32 13.1 226.8.79 241.2c-1.05.52-1.31.79.79 1.31 60.49 16.5 155.81 81.18 196.13 202.16l1.05.26c55.25-69.92 140.88-128.05 236.99-128.05 80.92 0 130.15 42.16 130.15 80.39 0 18.33-6.55 33.52-22.26 46.35 0 .96-.2.79.79.79 14.66-10.74 27.5-28.8 27.5-48.18 0-22.78-12.05-38.23-12.05-38.23 7.07 7.07 10.74 16.24 10.74 16.24 5.76-40.85 26.97-62.32 26.97-62.32-2.36-9.69-6.81-17.81-6.81-17.81 7.59 8.12 14.4 27.5 14.4 41.37 0 10.47-3.4 22.78-12.57 31.95l.26.52c8.12-4.98 16.5-16.76 16.5-37.97 0-15.71-4.71-25.92-4.71-25.92 5.76-5.24 11.26-9.17 15.97-11.78.79 3.4 2.09 9.69 2.36 14.93 0 1.05.79 1.83 1.05 0 .79-5.76-.26-16.24-.26-16.5 6.02-3.14 9.69-4.45 9.69-4.45C617.74 176 489.43 89.32 342.26 89.32zm-99.24 289.62c-11.06 8.99-24.2 4.08-30.64-4.19-7.45-9.58-6.76-24.09 4.19-32.47 14.85-11.35 27.08-.49 31.16 5.5.28.39 12.13 16.57-4.71 31.16zm2.09-136.43l9.43-17.81 11.78 70.96-12.57 6.02-24.62-28.8 14.14-26.71 3.67 4.45-1.83-8.11zm18.59 117.58l-.26-.26c2.05-4.1-2.5-6.61-17.54-31.69-1.31-2.36-3.14-2.88-4.45-2.62l-.26-.52c7.86-5.76 15.45-10.21 25.4-15.71l.52.26c1.31 1.83 2.09 2.88 3.4 4.71l-.26.52c-1.05-.26-2.36-.79-5.24.26-2.09.79-7.86 3.67-12.31 7.59v1.31c1.57 2.36 3.93 6.55 5.76 9.69h.26c10.05-6.28 7.56-4.55 11.52-7.86h.26c.52 1.83.52 1.83 1.83 5.5l-.26.26c-3.06.61-4.65.34-11.52 5.5v.26c9.46 17.02 11.01 16.75 12.57 15.97l.26.26c-2.34 1.59-6.27 4.21-9.68 6.57zm55.26-32.47c-3.14 1.57-6.02 2.88-9.95 4.98l-.26-.26c1.29-2.59 1.16-2.71-11.78-32.47l-.26-.26c-.15 0-8.9 3.65-9.95 7.33h-.52l-1.05-5.76.26-.52c7.29-4.56 25.53-11.64 27.76-12.57l.52.26 3.14 4.98-.26.52c-3.53-1.76-7.35.76-12.31 2.62v.26c12.31 32.01 12.67 30.64 14.66 30.64v.25zm44.77-16.5c-4.19 1.05-5.24 1.31-9.69 2.88l-.26-.26.52-4.45c-1.05-3.4-3.14-11.52-3.67-13.62l-.26-.26c-3.4.79-8.9 2.62-12.83 3.93l-.26.26c.79 2.62 3.14 9.95 4.19 13.88.79 2.36 1.83 2.88 2.88 3.14v.52c-3.67 1.05-7.07 2.62-10.21 3.93l-.26-.26c1.05-1.31 1.05-2.88.26-4.98-1.05-3.14-8.12-23.83-9.17-27.23-.52-1.83-1.57-3.14-2.62-3.14v-.52c3.14-1.05 6.02-2.09 10.74-3.4l.26.26-.26 4.71c1.31 3.93 2.36 7.59 3.14 9.69h.26c3.93-1.31 9.43-2.88 12.83-3.93l.26-.26-2.62-9.43c-.52-1.83-1.05-3.4-2.62-3.93v-.26c4.45-1.05 7.33-1.83 10.74-2.36l.26.26c-1.05 1.31-1.05 2.88-.52 4.45 1.57 6.28 4.71 20.43 6.28 26.45.54 2.62 1.85 3.41 2.63 3.93zm32.21-6.81l-.26.26c-4.71.52-14.14 2.36-22.52 4.19l-.26-.26.79-4.19c-1.57-7.86-3.4-18.59-4.98-26.19-.26-1.83-.79-2.88-2.62-3.67l.79-.52c9.17-1.57 20.16-2.36 24.88-2.62l.26.26c.52 2.36.79 3.14 1.57 5.5l-.26.26c-1.14-1.14-3.34-3.2-16.24-.79l-.26.26c.26 1.57 1.05 6.55 1.57 9.95l.26.26c9.52-1.68 4.76-.06 10.74-2.36h.26c0 1.57-.26 1.83-.26 5.24h-.26c-4.81-1.03-2.15-.9-10.21 0l-.26.26c.26 2.09 1.57 9.43 2.09 12.57l.26.26c1.15.38 14.21-.65 16.24-4.71h.26c-.53 2.38-1.05 4.21-1.58 6.04zm10.74-44.51c-4.45 2.36-8.12 2.88-11 2.88-.25.02-11.41 1.09-17.54-9.95-6.74-10.79-.98-25.2 5.5-31.69 8.8-8.12 23.35-10.1 28.54-17.02 8.03-10.33-13.04-22.31-29.59-5.76l-2.62-2.88 5.24-16.24c25.59-1.57 45.2-3.04 50.02 16.24.79 3.14 0 9.43-.26 12.05 0 2.62-1.83 18.85-2.09 23.04-.52 4.19-.79 18.33-.79 20.69.26 2.36.52 4.19 1.57 5.5 1.57 1.83 5.76 1.83 5.76 1.83l-.79 4.71c-11.82-1.07-10.28-.59-20.43-1.05-3.22-5.15-2.23-3.28-4.19-7.86 0 .01-4.19 3.94-7.33 5.51zm37.18 21.21c-6.35-10.58-19.82-7.16-21.73 5.5-2.63 17.08 14.3 19.79 20.69 10.21l.26.26c-.52 1.83-1.83 6.02-1.83 6.28l-.52.52c-10.3 6.87-28.5-2.5-25.66-18.59 1.94-10.87 14.44-18.93 28.8-9.95l.26.52c0 1.06-.27 3.41-.27 5.25zm5.77-87.73v-6.55c.69 0 19.65 3.28 27.76 7.33l-1.57 17.54s10.21-9.43 15.45-10.74c5.24-1.57 14.93 7.33 14.93 7.33l-11.26 11.26c-12.07-6.35-19.59-.08-20.69.79-5.29 38.72-8.6 42.17 4.45 46.09l-.52 4.71c-17.55-4.29-18.53-4.5-36.92-7.33l.79-4.71c7.25 0 7.48-5.32 7.59-6.81 0 0 4.98-53.16 4.98-55.25-.02-2.87-4.99-3.66-4.99-3.66zm10.99 114.44c-8.12-2.09-14.14-11-10.74-20.69 3.14-9.43 12.31-12.31 18.85-10.21 9.17 2.62 12.83 11.78 10.74 19.38-2.61 8.9-9.42 13.87-18.85 11.52zm42.16 9.69c-2.36-.52-7.07-2.36-8.64-2.88v-.26l1.57-1.83c.59-8.24.59-7.27.26-7.59-4.82-1.81-6.66-2.36-7.07-2.36-1.31 1.83-2.88 4.45-3.67 5.5l-.79 3.4v.26c-1.31-.26-3.93-1.31-6.02-1.57v-.26l2.62-1.83c3.4-4.71 9.95-14.14 13.88-20.16v-2.09l.52-.26c2.09.79 5.5 2.09 7.59 2.88.48.48.18-1.87-1.05 25.14-.24 1.81.02 2.6.8 3.91zm-4.71-89.82c11.25-18.27 30.76-16.19 34.04-3.4L539.7 198c2.34-6.25-2.82-9.9-4.45-11.26l1.83-3.67c12.22 10.37 16.38 13.97 22.52 20.43-25.91 73.07-30.76 80.81-24.62 84.32l-1.83 4.45c-6.37-3.35-8.9-4.42-17.81-8.64l2.09-6.81c-.26-.26-3.93 3.93-9.69 3.67-19.06-1.3-22.89-31.75-9.67-52.9zm29.33 79.34c0-5.71-6.34-7.89-7.86-5.24-1.31 2.09 1.05 4.98 2.88 8.38 1.57 2.62 2.62 6.28 1.05 9.43-2.64 6.34-12.4 5.31-15.45-.79 0-.7-.27.09 1.83-4.71l.79-.26c-.57 5.66 6.06 9.61 8.38 4.98 1.05-2.09-.52-5.5-2.09-8.38-1.57-2.62-3.67-6.28-1.83-9.69 2.72-5.06 11.25-4.47 14.66 2.36v.52l-2.36 3.4zm21.21 13.36c-1.96-3.27-.91-2.14-4.45-4.71h-.26c-2.36 4.19-5.76 10.47-8.64 16.24-1.31 2.36-1.05 3.4-.79 3.93l-.26.26-5.76-4.45.26-.26 2.09-1.31c3.14-5.76 6.55-12.05 9.17-17.02v-.26c-2.64-1.98-1.22-1.51-6.02-1.83v-.26l3.14-3.4h.26c3.67 2.36 9.95 6.81 12.31 8.9l.26.26-1.31 3.91zm27.23-44.26l-2.88-2.88c.79-2.36 1.83-4.98 2.09-7.59.75-9.74-11.52-11.84-11.52-4.98 0 4.98 7.86 19.38 7.86 27.76 0 10.21-5.76 15.71-13.88 16.5-8.38.79-20.16-10.47-20.16-10.47l4.98-14.4 2.88 2.09c-2.97 17.8 17.68 20.37 13.35 5.24-1.06-4.02-18.75-34.2 2.09-38.23 13.62-2.36 23.04 16.5 23.04 16.5l-7.85 10.46zm35.62-10.21c-11-30.38-60.49-127.53-191.95-129.62-53.42-1.05-94.27 15.45-132.76 37.97l85.63-9.17-91.39 20.69 25.14 19.64-3.93-16.5c7.5-1.71 39.15-8.45 66.77-8.9l-22.26 80.39c13.61-.7 18.97-8.98 19.64-22.78l4.98-1.05.26 26.71c-22.46 3.21-37.3 6.69-49.49 9.95l13.09-43.21-61.54-36.66 2.36 8.12 10.21 4.98c6.28 18.59 19.38 56.56 20.43 58.66 1.95 4.28 3.16 5.78 12.05 4.45l1.05 4.98c-16.08 4.86-23.66 7.61-39.02 14.4l-2.36-4.71c4.4-2.94 8.73-3.94 5.5-12.83-23.7-62.5-21.48-58.14-22.78-59.44l2.36-4.45 33.52 67.3c-3.84-11.87 1.68 1.69-32.99-78.82l-41.9 88.51 4.71-13.88-35.88-42.16 27.76 93.48-11.78 8.38C95 228.58 101.05 231.87 93.23 231.52c-5.5-.26-13.62 5.5-13.62 5.5L74.63 231c30.56-23.53 31.62-24.33 58.4-42.68l4.19 7.07s-5.76 4.19-7.86 7.07c-5.9 9.28 1.67 13.28 61.8 75.68l-18.85-58.92 39.8-10.21 25.66 30.64 4.45-12.31-4.98-24.62 13.09-3.4.52 3.14 3.67-10.47-94.27 29.33 11.26-4.98-13.62-42.42 17.28-9.17 30.11 36.14 28.54-13.09c-1.41-7.47-2.47-14.5-4.71-19.64l17.28 13.88 4.71-2.09-59.18-42.68 23.08 11.5c18.98-6.07 25.23-7.47 32.21-9.69l2.62 11c-12.55 12.55 1.43 16.82 6.55 19.38l-13.62-61.01 12.05 28.28c4.19-1.31 7.33-2.09 7.33-2.09l2.62 8.64s-3.14 1.05-6.28 2.09l8.9 20.95 33.78-65.73-20.69 61.01c42.42-24.09 81.44-36.66 131.98-35.88 67.04 1.05 167.33 40.85 199.8 139.83.78 2.1-.01 2.63-.79.27zM203.48 152.43s1.83-.52 4.19-1.31l9.43 7.59c-.4 0-3.44-.25-11.26 2.36l-2.36-8.64zm143.76 38.5c-1.57-.6-26.46-4.81-33.26 20.69l21.73 17.02 11.53-37.71zM318.43 67.07c-58.4 0-106.05 12.05-114.96 14.4v.79c8.38 2.09 14.4 4.19 21.21 11.78l1.57.26c6.55-1.83 48.97-13.88 110.24-13.88 180.16 0 301.67 116.79 301.67 223.37v9.95c0 1.31.79 2.62 1.05.52.52-2.09.79-8.64.79-19.64.26-83.79-96.63-227.55-321.57-227.55zm211.06 169.68c1.31-5.76 0-12.31-7.33-13.09-9.62-1.13-16.14 23.79-17.02 33.52-.79 5.5-1.31 14.93 6.02 14.93 4.68-.01 9.72-.91 18.33-35.36zm-61.53 42.95c-2.62-.79-9.43-.79-12.57 10.47-1.83 6.81.52 13.35 6.02 14.66 3.67 1.05 8.9.52 11.78-10.74 2.62-9.94-1.83-13.61-5.23-14.39zM491 300.65c1.83.52 3.14 1.05 5.76 1.83 0-1.83.52-8.38.79-12.05-1.05 1.31-5.5 8.12-6.55 9.95v.27z\"},\"child\":[]}]})(props);\n};\nexport function FaWodu (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M178.414 339.706H141.1L112.166 223.475h-.478L83.228 339.706H45.2L0 168.946H37.548L64.574 285.177h.478L94.707 168.946h35.157l29.178 117.667h.479L187.5 168.946h36.831zM271.4 212.713c38.984 0 64.1 25.828 64.1 65.291 0 39.222-25.111 65.05-64.1 65.05-38.743 0-63.855-25.828-63.855-65.05C207.547 238.541 232.659 212.713 271.4 212.713zm0 104.753c23.2 0 30.133-19.852 30.133-39.462 0-19.852-6.934-39.7-30.133-39.7-27.7 0-29.894 19.85-29.894 39.7C241.508 297.614 248.443 317.466 271.4 317.466zM435.084 323.922h-.478c-7.893 13.392-21.765 19.132-37.548 19.132-37.31 0-55.485-32.045-55.485-66.246 0-33.243 18.415-64.095 54.767-64.095 14.589 0 28.938 6.218 36.831 18.416h.24V168.946h33.96v170.76H435.084zM405.428 238.3c-22.24 0-29.894 19.134-29.894 39.463 0 19.371 8.848 39.7 29.894 39.7 22.482 0 29.178-19.613 29.178-39.94C434.606 257.436 427.432 238.3 405.428 238.3zM592.96 339.706H560.673V322.487h-.718c-8.609 13.87-23.436 20.567-37.786 20.567-36.113 0-45.2-20.328-45.2-50.941V216.061h33.959V285.9c0 20.329 5.979 30.372 21.765 30.372 18.415 0 26.306-10.283 26.306-35.393V216.061H592.96zM602.453 302.876H640v36.83H602.453z\"},\"child\":[]}]})(props);\n};\nexport function FaWolfPackBattalion (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M267.73 471.53l10.56 15.84 5.28-12.32 5.28 7V512c21.06-7.92 21.11-66.86 25.51-97.21 4.62-31.89-.88-92.81 81.37-149.11-8.88-23.61-12-49.43-2.64-80.05C421 189 447 196.21 456.43 239.73l-30.35 8.36c11.15 23 17 46.76 13.2 72.14L412 313.18l-6.16 33.43-18.47-7-8.8 33.39-19.35-7 26.39 21.11 8.8-28.15L419 364.2l7-35.63 26.39 14.52c.25-20 7-58.06-8.8-84.45l26.39 5.28c4-22.07-2.38-39.21-7.92-56.74l22.43 9.68c-.44-25.07-29.94-56.79-61.58-58.5-20.22-1.09-56.74-25.17-54.1-51.9 2-19.87 17.45-42.62 43.11-49.7-44 36.51-9.68 67.3 5.28 73.46 4.4-11.44 17.54-69.08 0-130.2-40.39 22.87-89.65 65.1-93.2 147.79l-58 38.71-3.52 93.25L369.78 220l7 7-17.59 3.52-44 38.71-15.84-5.28-28.1 49.25-3.52 119.64 21.11 15.84-32.55 15.84-32.55-15.84 21.11-15.84-3.52-119.64-28.15-49.26-15.84 5.28-44-38.71-17.58-3.51 7-7 107.33 59.82-3.52-93.25-58.06-38.71C185 65.1 135.77 22.87 95.3 0c-17.54 61.12-4.4 118.76 0 130.2 15-6.16 49.26-36.95 5.28-73.46 25.66 7.08 41.15 29.83 43.11 49.7 2.63 26.74-33.88 50.81-54.1 51.9-31.65 1.72-61.15 33.44-61.59 58.51l22.43-9.68c-5.54 17.53-11.91 34.67-7.92 56.74l26.39-5.28c-15.76 26.39-9.05 64.43-8.8 84.45l26.39-14.52 7 35.63 24.63-5.28 8.8 28.15L153.35 366 134 373l-8.8-33.43-18.47 7-6.16-33.43-27.27 7c-3.82-25.38 2-49.1 13.2-72.14l-30.35-8.36c9.4-43.52 35.47-50.77 63.34-54.1 9.36 30.62 6.24 56.45-2.64 80.05 82.25 56.3 76.75 117.23 81.37 149.11 4.4 30.35 4.45 89.29 25.51 97.21v-29.83l5.28-7 5.28 12.32 10.56-15.84 11.44 21.11 11.43-21.1zm79.17-95L331.06 366c7.47-4.36 13.76-8.42 19.35-12.32-.6 7.22-.27 13.84-3.51 22.84zm28.15-49.26c-.4 10.94-.9 21.66-1.76 31.67-7.85-1.86-15.57-3.8-21.11-7 8.24-7.94 15.55-16.32 22.87-24.68zm24.63 5.28c0-13.43-2.05-24.21-5.28-33.43a235 235 0 0 1-18.47 27.27zm3.52-80.94c19.44 12.81 27.8 33.66 29.91 56.3-12.32-4.53-24.63-9.31-36.95-10.56 5.06-12 6.65-28.14 7-45.74zm-1.76-45.74c.81 14.3 1.84 28.82 1.76 42.23 19.22-8.11 29.78-9.72 44-14.08-10.61-18.96-27.2-25.53-45.76-28.16zM165.68 376.52L181.52 366c-7.47-4.36-13.76-8.42-19.35-12.32.6 7.26.27 13.88 3.51 22.88zm-28.15-49.26c.4 10.94.9 21.66 1.76 31.67 7.85-1.86 15.57-3.8 21.11-7-8.24-7.93-15.55-16.31-22.87-24.67zm-24.64 5.28c0-13.43 2-24.21 5.28-33.43a235 235 0 0 0 18.47 27.27zm-3.52-80.94c-19.44 12.81-27.8 33.66-29.91 56.3 12.32-4.53 24.63-9.31 37-10.56-5-12-6.65-28.14-7-45.74zm1.76-45.74c-.81 14.3-1.84 28.82-1.76 42.23-19.22-8.11-29.78-9.72-44-14.08 10.63-18.95 27.23-25.52 45.76-28.15z\"},\"child\":[]}]})(props);\n};\nexport function FaWordpressSimple (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8C119.3 8 8 119.2 8 256c0 136.7 111.3 248 248 248s248-111.3 248-248C504 119.2 392.7 8 256 8zM33 256c0-32.3 6.9-63 19.3-90.7l106.4 291.4C84.3 420.5 33 344.2 33 256zm223 223c-21.9 0-43-3.2-63-9.1l66.9-194.4 68.5 187.8c.5 1.1 1 2.1 1.6 3.1-23.1 8.1-48 12.6-74 12.6zm30.7-327.5c13.4-.7 25.5-2.1 25.5-2.1 12-1.4 10.6-19.1-1.4-18.4 0 0-36.1 2.8-59.4 2.8-21.9 0-58.7-2.8-58.7-2.8-12-.7-13.4 17.7-1.4 18.4 0 0 11.4 1.4 23.4 2.1l34.7 95.2L200.6 393l-81.2-241.5c13.4-.7 25.5-2.1 25.5-2.1 12-1.4 10.6-19.1-1.4-18.4 0 0-36.1 2.8-59.4 2.8-4.2 0-9.1-.1-14.4-.3C109.6 73 178.1 33 256 33c58 0 110.9 22.2 150.6 58.5-1-.1-1.9-.2-2.9-.2-21.9 0-37.4 19.1-37.4 39.6 0 18.4 10.6 33.9 21.9 52.3 8.5 14.8 18.4 33.9 18.4 61.5 0 19.1-7.3 41.2-17 72.1l-22.2 74.3-80.7-239.6zm81.4 297.2l68.1-196.9c12.7-31.8 17-57.2 17-79.9 0-8.2-.5-15.8-1.5-22.9 17.4 31.8 27.3 68.2 27.3 107 0 82.3-44.6 154.1-110.9 192.7z\"},\"child\":[]}]})(props);\n};\nexport function FaWordpress (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M61.7 169.4l101.5 278C92.2 413 43.3 340.2 43.3 256c0-30.9 6.6-60.1 18.4-86.6zm337.9 75.9c0-26.3-9.4-44.5-17.5-58.7-10.8-17.5-20.9-32.4-20.9-49.9 0-19.6 14.8-37.8 35.7-37.8.9 0 1.8.1 2.8.2-37.9-34.7-88.3-55.9-143.7-55.9-74.3 0-139.7 38.1-177.8 95.9 5 .2 9.7.3 13.7.3 22.2 0 56.7-2.7 56.7-2.7 11.5-.7 12.8 16.2 1.4 17.5 0 0-11.5 1.3-24.3 2l77.5 230.4L249.8 247l-33.1-90.8c-11.5-.7-22.3-2-22.3-2-11.5-.7-10.1-18.2 1.3-17.5 0 0 35.1 2.7 56 2.7 22.2 0 56.7-2.7 56.7-2.7 11.5-.7 12.8 16.2 1.4 17.5 0 0-11.5 1.3-24.3 2l76.9 228.7 21.2-70.9c9-29.4 16-50.5 16-68.7zm-139.9 29.3l-63.8 185.5c19.1 5.6 39.2 8.7 60.1 8.7 24.8 0 48.5-4.3 70.6-12.1-.6-.9-1.1-1.9-1.5-2.9l-65.4-179.2zm183-120.7c.9 6.8 1.4 14 1.4 21.9 0 21.6-4 45.8-16.2 76.2l-65 187.9C426.2 403 468.7 334.5 468.7 256c0-37-9.4-71.8-26-102.1zM504 256c0 136.8-111.3 248-248 248C119.2 504 8 392.7 8 256 8 119.2 119.2 8 256 8c136.7 0 248 111.2 248 248zm-11.4 0c0-130.5-106.2-236.6-236.6-236.6C125.5 19.4 19.4 125.5 19.4 256S125.6 492.6 256 492.6c130.5 0 236.6-106.1 236.6-236.6z\"},\"child\":[]}]})(props);\n};\nexport function FaWpbeginner (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M462.799 322.374C519.01 386.682 466.961 480 370.944 480c-39.602 0-78.824-17.687-100.142-50.04-6.887.356-22.702.356-29.59 0C219.848 462.381 180.588 480 141.069 480c-95.49 0-148.348-92.996-91.855-157.626C-29.925 190.523 80.479 32 256.006 32c175.632 0 285.87 158.626 206.793 290.374zm-339.647-82.972h41.529v-58.075h-41.529v58.075zm217.18 86.072v-23.839c-60.506 20.915-132.355 9.198-187.589-33.971l.246 24.897c51.101 46.367 131.746 57.875 187.343 32.913zm-150.753-86.072h166.058v-58.075H189.579v58.075z\"},\"child\":[]}]})(props);\n};\nexport function FaWpexplorer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 256c0 141.2-114.7 256-256 256C114.8 512 0 397.3 0 256S114.7 0 256 0s256 114.7 256 256zm-32 0c0-123.2-100.3-224-224-224C132.5 32 32 132.5 32 256s100.5 224 224 224 224-100.5 224-224zM160.9 124.6l86.9 37.1-37.1 86.9-86.9-37.1 37.1-86.9zm110 169.1l46.6 94h-14.6l-50-100-48.9 100h-14l51.1-106.9-22.3-9.4 6-14 68.6 29.1-6 14.3-16.5-7.1zm-11.8-116.3l68.6 29.4-29.4 68.3L230 246l29.1-68.6zm80.3 42.9l54.6 23.1-23.4 54.3-54.3-23.1 23.1-54.3z\"},\"child\":[]}]})(props);\n};\nexport function FaWpforms (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 75.2v361.7c0 24.3-19 43.2-43.2 43.2H43.2C19.3 480 0 461.4 0 436.8V75.2C0 51.1 18.8 32 43.2 32h361.7c24 0 43.1 18.8 43.1 43.2zm-37.3 361.6V75.2c0-3-2.6-5.8-5.8-5.8h-9.3L285.3 144 224 94.1 162.8 144 52.5 69.3h-9.3c-3.2 0-5.8 2.8-5.8 5.8v361.7c0 3 2.6 5.8 5.8 5.8h361.7c3.2.1 5.8-2.7 5.8-5.8zM150.2 186v37H76.7v-37h73.5zm0 74.4v37.3H76.7v-37.3h73.5zm11.1-147.3l54-43.7H96.8l64.5 43.7zm210 72.9v37h-196v-37h196zm0 74.4v37.3h-196v-37.3h196zm-84.6-147.3l64.5-43.7H232.8l53.9 43.7zM371.3 335v37.3h-99.4V335h99.4z\"},\"child\":[]}]})(props);\n};\nexport function FaWpressr (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm171.33 158.6c-15.18 34.51-30.37 69.02-45.63 103.5-2.44 5.51-6.89 8.24-12.97 8.24-23.02-.01-46.03.06-69.05-.05-5.12-.03-8.25 1.89-10.34 6.72-10.19 23.56-20.63 47-30.95 70.5-1.54 3.51-4.06 5.29-7.92 5.29-45.94-.01-91.87-.02-137.81 0-3.13 0-5.63-1.15-7.72-3.45-11.21-12.33-22.46-24.63-33.68-36.94-2.69-2.95-2.79-6.18-1.21-9.73 8.66-19.54 17.27-39.1 25.89-58.66 12.93-29.35 25.89-58.69 38.75-88.08 1.7-3.88 4.28-5.68 8.54-5.65 14.24.1 28.48.02 42.72.05 6.24.01 9.2 4.84 6.66 10.59-13.6 30.77-27.17 61.55-40.74 92.33-5.72 12.99-11.42 25.99-17.09 39-3.91 8.95 7.08 11.97 10.95 5.6.23-.37-1.42 4.18 30.01-67.69 1.36-3.1 3.41-4.4 6.77-4.39 15.21.08 30.43.02 45.64.04 5.56.01 7.91 3.64 5.66 8.75-8.33 18.96-16.71 37.9-24.98 56.89-4.98 11.43 8.08 12.49 11.28 5.33.04-.08 27.89-63.33 32.19-73.16 2.02-4.61 5.44-6.51 10.35-6.5 26.43.05 52.86 0 79.29.05 12.44.02 13.93-13.65 3.9-13.64-25.26.03-50.52.02-75.78.02-6.27 0-7.84-2.47-5.27-8.27 5.78-13.06 11.59-26.11 17.3-39.21 1.73-3.96 4.52-5.79 8.84-5.78 23.09.06 25.98.02 130.78.03 6.08-.01 8.03 2.79 5.62 8.27z\"},\"child\":[]}]})(props);\n};\nexport function FaXbox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M369.9 318.2c44.3 54.3 64.7 98.8 54.4 118.7-7.9 15.1-56.7 44.6-92.6 55.9-29.6 9.3-68.4 13.3-100.4 10.2-38.2-3.7-76.9-17.4-110.1-39C93.3 445.8 87 438.3 87 423.4c0-29.9 32.9-82.3 89.2-142.1 32-33.9 76.5-73.7 81.4-72.6 9.4 2.1 84.3 75.1 112.3 109.5zM188.6 143.8c-29.7-26.9-58.1-53.9-86.4-63.4-15.2-5.1-16.3-4.8-28.7 8.1-29.2 30.4-53.5 79.7-60.3 122.4-5.4 34.2-6.1 43.8-4.2 60.5 5.6 50.5 17.3 85.4 40.5 120.9 9.5 14.6 12.1 17.3 9.3 9.9-4.2-11-.3-37.5 9.5-64 14.3-39 53.9-112.9 120.3-194.4zm311.6 63.5C483.3 127.3 432.7 77 425.6 77c-7.3 0-24.2 6.5-36 13.9-23.3 14.5-41 31.4-64.3 52.8C367.7 197 427.5 283.1 448.2 346c6.8 20.7 9.7 41.1 7.4 52.3-1.7 8.5-1.7 8.5 1.4 4.6 6.1-7.7 19.9-31.3 25.4-43.5 7.4-16.2 15-40.2 18.6-58.7 4.3-22.5 3.9-70.8-.8-93.4zM141.3 43C189 40.5 251 77.5 255.6 78.4c.7.1 10.4-4.2 21.6-9.7 63.9-31.1 94-25.8 107.4-25.2-63.9-39.3-152.7-50-233.9-11.7-23.4 11.1-24 11.9-9.4 11.2z\"},\"child\":[]}]})(props);\n};\nexport function FaXingSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM140.4 320.2H93.8c-5.5 0-8.7-5.3-6-10.3l49.3-86.7c.1 0 .1-.1 0-.2l-31.4-54c-3-5.6.2-10.1 6-10.1h46.6c5.2 0 9.5 2.9 12.9 8.7l31.9 55.3c-1.3 2.3-18 31.7-50.1 88.2-3.5 6.2-7.7 9.1-12.6 9.1zm219.7-214.1L257.3 286.8v.2l65.5 119c2.8 5.1.1 10.1-6 10.1h-46.6c-5.5 0-9.7-2.9-12.9-8.7l-66-120.3c2.3-4.1 36.8-64.9 103.4-182.3 3.3-5.8 7.4-8.7 12.5-8.7h46.9c5.7-.1 8.8 4.7 6 10z\"},\"child\":[]}]})(props);\n};\nexport function FaXing (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M162.7 210c-1.8 3.3-25.2 44.4-70.1 123.5-4.9 8.3-10.8 12.5-17.7 12.5H9.8c-7.7 0-12.1-7.5-8.5-14.4l69-121.3c.2 0 .2-.1 0-.3l-43.9-75.6c-4.3-7.8.3-14.1 8.5-14.1H100c7.3 0 13.3 4.1 18 12.2l44.7 77.5zM382.6 46.1l-144 253v.3L330.2 466c3.9 7.1.2 14.1-8.5 14.1h-65.2c-7.6 0-13.6-4-18-12.2l-92.4-168.5c3.3-5.8 51.5-90.8 144.8-255.2 4.6-8.1 10.4-12.2 17.5-12.2h65.7c8 0 12.3 6.7 8.5 14.1z\"},\"child\":[]}]})(props);\n};\nexport function FaYCombinator (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 32v448H0V32h448zM236 287.5L313.5 142h-32.7L235 233c-4.7 9.3-9 18.3-12.8 26.8L210 233l-45.2-91h-35l76.7 143.8v94.5H236v-92.8z\"},\"child\":[]}]})(props);\n};\nexport function FaYahoo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M223.69,141.06,167,284.23,111,141.06H14.93L120.76,390.19,82.19,480h94.17L317.27,141.06Zm105.4,135.79a58.22,58.22,0,1,0,58.22,58.22A58.22,58.22,0,0,0,329.09,276.85ZM394.65,32l-93,223.47H406.44L499.07,32Z\"},\"child\":[]}]})(props);\n};\nexport function FaYammer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M421.78 152.17A23.06 23.06 0 0 0 400.9 112c-.83.43-1.71.9-2.63 1.4-15.25 8.4-118.33 80.62-106.69 88.77s82.04-23.61 130.2-50zm0 217.17c-48.16-26.38-118.64-58.1-130.2-50s91.42 80.35 106.69 88.74c.92.51 1.8 1 2.63 1.41a23.07 23.07 0 0 0 20.88-40.15zM464.21 237c-.95 0-1.95-.06-3-.06-17.4 0-142.52 13.76-136.24 26.51s83.3 18.74 138.21 18.76a23 23 0 0 0 1-45.21zM31 96.65a24.88 24.88 0 0 1 46.14-18.4l81 205.06h1.21l77-203.53a23.52 23.52 0 0 1 44.45 15.27L171.2 368.44C152.65 415.66 134.08 448 77.91 448a139.67 139.67 0 0 1-23.81-1.95 21.31 21.31 0 0 1 6.9-41.77c.66.06 10.91.66 13.86.66 30.47 0 43.74-18.94 58.07-59.41z\"},\"child\":[]}]})(props);\n};\nexport function FaYandexInternational (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M129.5 512V345.9L18.5 48h55.8l81.8 229.7L250.2 0h51.3L180.8 347.8V512h-51.3z\"},\"child\":[]}]})(props);\n};\nexport function FaYandex (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 256 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M153.1 315.8L65.7 512H2l96-209.8c-45.1-22.9-75.2-64.4-75.2-141.1C22.7 53.7 90.8 0 171.7 0H254v512h-55.1V315.8h-45.8zm45.8-269.3h-29.4c-44.4 0-87.4 29.4-87.4 114.6 0 82.3 39.4 108.8 87.4 108.8h29.4V46.5z\"},\"child\":[]}]})(props);\n};\nexport function FaYarn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M393.9 345.2c-39 9.3-48.4 32.1-104 47.4 0 0-2.7 4-10.4 5.8-13.4 3.3-63.9 6-68.5 6.1-12.4.1-19.9-3.2-22-8.2-6.4-15.3 9.2-22 9.2-22-8.1-5-9-9.9-9.8-8.1-2.4 5.8-3.6 20.1-10.1 26.5-8.8 8.9-25.5 5.9-35.3.8-10.8-5.7.8-19.2.8-19.2s-5.8 3.4-10.5-3.6c-6-9.3-17.1-37.3 11.5-62-1.3-10.1-4.6-53.7 40.6-85.6 0 0-20.6-22.8-12.9-43.3 5-13.4 7-13.3 8.6-13.9 5.7-2.2 11.3-4.6 15.4-9.1 20.6-22.2 46.8-18 46.8-18s12.4-37.8 23.9-30.4c3.5 2.3 16.3 30.6 16.3 30.6s13.6-7.9 15.1-5c8.2 16 9.2 46.5 5.6 65.1-6.1 30.6-21.4 47.1-27.6 57.5-1.4 2.4 16.5 10 27.8 41.3 10.4 28.6 1.1 52.7 2.8 55.3.8 1.4 13.7.8 36.4-13.2 12.8-7.9 28.1-16.9 45.4-17 16.7-.5 17.6 19.2 4.9 22.2zM496 256c0 136.9-111.1 248-248 248S0 392.9 0 256 111.1 8 248 8s248 111.1 248 248zm-79.3 75.2c-1.7-13.6-13.2-23-28-22.8-22 .3-40.5 11.7-52.8 19.2-4.8 3-8.9 5.2-12.4 6.8 3.1-44.5-22.5-73.1-28.7-79.4 7.8-11.3 18.4-27.8 23.4-53.2 4.3-21.7 3-55.5-6.9-74.5-1.6-3.1-7.4-11.2-21-7.4-9.7-20-13-22.1-15.6-23.8-1.1-.7-23.6-16.4-41.4 28-12.2.9-31.3 5.3-47.5 22.8-2 2.2-5.9 3.8-10.1 5.4h.1c-8.4 3-12.3 9.9-16.9 22.3-6.5 17.4.2 34.6 6.8 45.7-17.8 15.9-37 39.8-35.7 82.5-34 36-11.8 73-5.6 79.6-1.6 11.1 3.7 19.4 12 23.8 12.6 6.7 30.3 9.6 43.9 2.8 4.9 5.2 13.8 10.1 30 10.1 6.8 0 58-2.9 72.6-6.5 6.8-1.6 11.5-4.5 14.6-7.1 9.8-3.1 36.8-12.3 62.2-28.7 18-11.7 24.2-14.2 37.6-17.4 12.9-3.2 21-15.1 19.4-28.2z\"},\"child\":[]}]})(props);\n};\nexport function FaYelp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M42.9 240.32l99.62 48.61c19.2 9.4 16.2 37.51-4.5 42.71L30.5 358.45a22.79 22.79 0 0 1-28.21-19.6 197.16 197.16 0 0 1 9-85.32 22.8 22.8 0 0 1 31.61-13.21zm44 239.25a199.45 199.45 0 0 0 79.42 32.11A22.78 22.78 0 0 0 192.94 490l3.9-110.82c.7-21.3-25.5-31.91-39.81-16.1l-74.21 82.4a22.82 22.82 0 0 0 4.09 34.09zm145.34-109.92l58.81 94a22.93 22.93 0 0 0 34 5.5 198.36 198.36 0 0 0 52.71-67.61A23 23 0 0 0 364.17 370l-105.42-34.26c-20.31-6.5-37.81 15.8-26.51 33.91zm148.33-132.23a197.44 197.44 0 0 0-50.41-69.31 22.85 22.85 0 0 0-34 4.4l-62 91.92c-11.9 17.7 4.7 40.61 25.2 34.71L366 268.63a23 23 0 0 0 14.61-31.21zM62.11 30.18a22.86 22.86 0 0 0-9.9 32l104.12 180.44c11.7 20.2 42.61 11.9 42.61-11.4V22.88a22.67 22.67 0 0 0-24.5-22.8 320.37 320.37 0 0 0-112.33 30.1z\"},\"child\":[]}]})(props);\n};\nexport function FaYoast (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M91.3 76h186l-7 18.9h-179c-39.7 0-71.9 31.6-71.9 70.3v205.4c0 35.4 24.9 70.3 84 70.3V460H91.3C41.2 460 0 419.8 0 370.5V165.2C0 115.9 40.7 76 91.3 76zm229.1-56h66.5C243.1 398.1 241.2 418.9 202.2 459.3c-20.8 21.6-49.3 31.7-78.3 32.7v-51.1c49.2-7.7 64.6-49.9 64.6-75.3 0-20.1.6-12.6-82.1-223.2h61.4L218.2 299 320.4 20zM448 161.5V460H234c6.6-9.6 10.7-16.3 12.1-19.4h182.5V161.5c0-32.5-17.1-51.9-48.2-62.9l6.7-17.6c41.7 13.6 60.9 43.1 60.9 80.5z\"},\"child\":[]}]})(props);\n};\nexport function FaYoutubeSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M186.8 202.1l95.2 54.1-95.2 54.1V202.1zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-42 176.3s0-59.6-7.6-88.2c-4.2-15.8-16.5-28.2-32.2-32.4C337.9 128 224 128 224 128s-113.9 0-142.2 7.7c-15.7 4.2-28 16.6-32.2 32.4-7.6 28.5-7.6 88.2-7.6 88.2s0 59.6 7.6 88.2c4.2 15.8 16.5 27.7 32.2 31.9C110.1 384 224 384 224 384s113.9 0 142.2-7.7c15.7-4.2 28-16.1 32.2-31.9 7.6-28.5 7.6-88.1 7.6-88.1z\"},\"child\":[]}]})(props);\n};\nexport function FaYoutube (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z\"},\"child\":[]}]})(props);\n};\nexport function FaZhihu (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M170.54 148.13v217.54l23.43.01 7.71 26.37 42.01-26.37h49.53V148.13H170.54zm97.75 193.93h-27.94l-27.9 17.51-5.08-17.47-11.9-.04V171.75h72.82v170.31zm-118.46-94.39H97.5c1.74-27.1 2.2-51.59 2.2-73.46h51.16s1.97-22.56-8.58-22.31h-88.5c3.49-13.12 7.87-26.66 13.12-40.67 0 0-24.07 0-32.27 21.57-3.39 8.9-13.21 43.14-30.7 78.12 5.89-.64 25.37-1.18 36.84-22.21 2.11-5.89 2.51-6.66 5.14-14.53h28.87c0 10.5-1.2 66.88-1.68 73.44H20.83c-11.74 0-15.56 23.62-15.56 23.62h65.58C66.45 321.1 42.83 363.12 0 396.34c20.49 5.85 40.91-.93 51-9.9 0 0 22.98-20.9 35.59-69.25l53.96 64.94s7.91-26.89-1.24-39.99c-7.58-8.92-28.06-33.06-36.79-41.81L87.9 311.95c4.36-13.98 6.99-27.55 7.87-40.67h61.65s-.09-23.62-7.59-23.62v.01zm412.02-1.6c20.83-25.64 44.98-58.57 44.98-58.57s-18.65-14.8-27.38-4.06c-6 8.15-36.83 48.2-36.83 48.2l19.23 14.43zm-150.09-59.09c-9.01-8.25-25.91 2.13-25.91 2.13s39.52 55.04 41.12 57.45l19.46-13.73s-25.67-37.61-34.66-45.86h-.01zM640 258.35c-19.78 0-130.91.93-131.06.93v-101c4.81 0 12.42-.4 22.85-1.2 40.88-2.41 70.13-4 87.77-4.81 0 0 12.22-27.19-.59-33.44-3.07-1.18-23.17 4.58-23.17 4.58s-165.22 16.49-232.36 18.05c1.6 8.82 7.62 17.08 15.78 19.55 13.31 3.48 22.69 1.7 49.15.89 24.83-1.6 43.68-2.43 56.51-2.43v99.81H351.41s2.82 22.31 25.51 22.85h107.94v70.92c0 13.97-11.19 21.99-24.48 21.12-14.08.11-26.08-1.15-41.69-1.81 1.99 3.97 6.33 14.39 19.31 21.84 9.88 4.81 16.17 6.57 26.02 6.57 29.56 0 45.67-17.28 44.89-45.31v-73.32h122.36c9.68 0 8.7-23.78 8.7-23.78l.03-.01z\"},\"child\":[]}]})(props);\n};\nexport function FaAd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M157.52 272h36.96L176 218.78 157.52 272zM352 256c-13.23 0-24 10.77-24 24s10.77 24 24 24 24-10.77 24-24-10.77-24-24-24zM464 64H48C21.5 64 0 85.5 0 112v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM250.58 352h-16.94c-6.81 0-12.88-4.32-15.12-10.75L211.15 320h-70.29l-7.38 21.25A16 16 0 0 1 118.36 352h-16.94c-11.01 0-18.73-10.85-15.12-21.25L140 176.12A23.995 23.995 0 0 1 162.67 160h26.66A23.99 23.99 0 0 1 212 176.13l53.69 154.62c3.61 10.4-4.11 21.25-15.11 21.25zM424 336c0 8.84-7.16 16-16 16h-16c-4.85 0-9.04-2.27-11.98-5.68-8.62 3.66-18.09 5.68-28.02 5.68-39.7 0-72-32.3-72-72s32.3-72 72-72c8.46 0 16.46 1.73 24 4.42V176c0-8.84 7.16-16 16-16h16c8.84 0 16 7.16 16 16v160z\"},\"child\":[]}]})(props);\n};\nexport function FaAddressBook (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M436 160c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h320c26.5 0 48-21.5 48-48v-48h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20v-64h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20v-64h20zm-228-32c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm112 236.8c0 10.6-10 19.2-22.4 19.2H118.4C106 384 96 375.4 96 364.8v-19.2c0-31.8 30.1-57.6 67.2-57.6h5c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h5c37.1 0 67.2 25.8 67.2 57.6v19.2z\"},\"child\":[]}]})(props);\n};\nexport function FaAddressCard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-352 96c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm112 236.8c0 10.6-10 19.2-22.4 19.2H86.4C74 384 64 375.4 64 364.8v-19.2c0-31.8 30.1-57.6 67.2-57.6h5c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h5c37.1 0 67.2 25.8 67.2 57.6v19.2zM512 312c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-64c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-64c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16z\"},\"child\":[]}]})(props);\n};\nexport function FaAdjust (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 256c0 136.966 111.033 248 248 248s248-111.034 248-248S392.966 8 256 8 8 119.033 8 256zm248 184V72c101.705 0 184 82.311 184 184 0 101.705-82.311 184-184 184z\"},\"child\":[]}]})(props);\n};\nexport function FaAirFreshener (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 160H96C43 160 0 203 0 256V480C0 497.625 14.375 512 32 512H288C305.625 512 320 497.625 320 480V256C320 203 277 160 224 160ZM160 416C115.875 416 80 380.125 80 336S115.875 256 160 256S240 291.875 240 336S204.125 416 160 416ZM224 32C224 14.375 209.625 0 192 0H128C110.375 0 96 14.375 96 32V128H224V32ZM381.781 51.578C383 50.969 384 49.359 384 48C384 46.625 383 45.031 381.781 44.422L352 32L339.562 2.219C338.969 1 337.375 0 336 0S333.031 1 332.406 2.219L320 32L290.219 44.422C289 45.031 288 46.625 288 48C288 49.359 289 50.969 290.219 51.578L320 64L332.406 93.781C333.031 95 334.625 96 336 96S338.969 95 339.562 93.781L352 64L381.781 51.578ZM448 64L460.406 93.781C461.031 95 462.625 96 464 96S466.969 95 467.562 93.781L480 64L509.781 51.578C511 50.969 512 49.359 512 48C512 46.625 511 45.031 509.781 44.422L480 32L467.562 2.219C466.969 1 465.375 0 464 0S461.031 1 460.406 2.219L448 32L418.219 44.422C417 45.031 416 46.625 416 48C416 49.359 417 50.969 418.219 51.578L448 64ZM480 224L467.562 194.219C466.969 193 465.375 192 464 192S461.031 193 460.406 194.219L448 224L418.219 236.422C417 237.031 416 238.625 416 240C416 241.359 417 242.969 418.219 243.578L448 256L460.406 285.781C461.031 287 462.625 288 464 288S466.969 287 467.562 285.781L480 256L509.781 243.578C511 242.969 512 241.359 512 240C512 238.625 511 237.031 509.781 236.422L480 224ZM445.781 147.578C447 146.969 448 145.359 448 144C448 142.625 447 141.031 445.781 140.422L416 128L403.562 98.219C402.969 97 401.375 96 400 96S397.031 97 396.406 98.219L384 128L354.219 140.422C353 141.031 352 142.625 352 144C352 145.359 353 146.969 354.219 147.578L384 160L396.406 189.781C397.031 191 398.625 192 400 192S402.969 191 403.562 189.781L416 160L445.781 147.578Z\"},\"child\":[]}]})(props);\n};\nexport function FaAlignCenter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M432 160H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 256H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM108.1 96h231.81A12.09 12.09 0 0 0 352 83.9V44.09A12.09 12.09 0 0 0 339.91 32H108.1A12.09 12.09 0 0 0 96 44.09V83.9A12.1 12.1 0 0 0 108.1 96zm231.81 256A12.09 12.09 0 0 0 352 339.9v-39.81A12.09 12.09 0 0 0 339.91 288H108.1A12.09 12.09 0 0 0 96 300.09v39.81a12.1 12.1 0 0 0 12.1 12.1z\"},\"child\":[]}]})(props);\n};\nexport function FaAlignJustify (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M432 416H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-128H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-128H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-128H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaAlignLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.83 352h262.34A12.82 12.82 0 0 0 288 339.17v-38.34A12.82 12.82 0 0 0 275.17 288H12.83A12.82 12.82 0 0 0 0 300.83v38.34A12.82 12.82 0 0 0 12.83 352zm0-256h262.34A12.82 12.82 0 0 0 288 83.17V44.83A12.82 12.82 0 0 0 275.17 32H12.83A12.82 12.82 0 0 0 0 44.83v38.34A12.82 12.82 0 0 0 12.83 96zM432 160H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 256H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaAlignRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 224h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm416 192H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm3.17-384H172.83A12.82 12.82 0 0 0 160 44.83v38.34A12.82 12.82 0 0 0 172.83 96h262.34A12.82 12.82 0 0 0 448 83.17V44.83A12.82 12.82 0 0 0 435.17 32zm0 256H172.83A12.82 12.82 0 0 0 160 300.83v38.34A12.82 12.82 0 0 0 172.83 352h262.34A12.82 12.82 0 0 0 448 339.17v-38.34A12.82 12.82 0 0 0 435.17 288z\"},\"child\":[]}]})(props);\n};\nexport function FaAllergies (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416 112c-17.6 0-32 14.4-32 32v72c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8V64c0-17.6-14.4-32-32-32s-32 14.4-32 32v152c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8V32c0-17.6-14.4-32-32-32s-32 14.4-32 32v184c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8V64c0-17.6-14.4-32-32-32S96 46.4 96 64v241l-23.6-32.5c-13-17.9-38-21.8-55.9-8.8s-21.8 38-8.8 55.9l125.6 172.7c9 12.4 23.5 19.8 38.8 19.8h197.6c22.3 0 41.6-15.3 46.7-37l26.5-112.7c3.2-13.7 4.9-28.3 5.1-42.3V144c0-17.6-14.4-32-32-32zM176 416c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-96c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm64 128c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-96c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm64 32c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm32 64c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm32-128c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaAmbulance (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M624 352h-16V243.9c0-12.7-5.1-24.9-14.1-33.9L494 110.1c-9-9-21.2-14.1-33.9-14.1H416V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v320c0 26.5 21.5 48 48 48h16c0 53 43 96 96 96s96-43 96-96h128c0 53 43 96 96 96s96-43 96-96h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM160 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm144-248c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48zm176 248c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm80-208H416V144h44.1l99.9 99.9V256z\"},\"child\":[]}]})(props);\n};\nexport function FaAmericanSignLanguageInterpreting (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M290.547 189.039c-20.295-10.149-44.147-11.199-64.739-3.89 42.606 0 71.208 20.475 85.578 50.576 8.576 17.899-5.148 38.071-23.617 38.071 18.429 0 32.211 20.136 23.617 38.071-14.725 30.846-46.123 50.854-80.298 50.854-.557 0-94.471-8.615-94.471-8.615l-66.406 33.347c-9.384 4.693-19.815.379-23.895-7.781L1.86 290.747c-4.167-8.615-1.111-18.897 6.946-23.621l58.072-33.069L108 159.861c6.39-57.245 34.731-109.767 79.743-146.726 11.391-9.448 28.341-7.781 37.51 3.613 9.446 11.394 7.78 28.067-3.612 37.516-12.503 10.559-23.618 22.509-32.509 35.57 21.672-14.729 46.679-24.732 74.186-28.067 14.725-1.945 28.063 8.336 29.73 23.065 1.945 14.728-8.336 28.067-23.062 29.734-16.116 1.945-31.12 7.503-44.178 15.284 26.114-5.713 58.712-3.138 88.079 11.115 13.336 6.669 18.893 22.509 12.224 35.848-6.389 13.06-22.504 18.617-35.564 12.226zm-27.229 69.472c-6.112-12.505-18.338-20.286-32.231-20.286a35.46 35.46 0 0 0-35.565 35.57c0 21.428 17.808 35.57 35.565 35.57 13.893 0 26.119-7.781 32.231-20.286 4.446-9.449 13.614-15.006 23.339-15.284-9.725-.277-18.893-5.835-23.339-15.284zm374.821-37.237c4.168 8.615 1.111 18.897-6.946 23.621l-58.071 33.069L532 352.16c-6.39 57.245-34.731 109.767-79.743 146.726-10.932 9.112-27.799 8.144-37.51-3.613-9.446-11.394-7.78-28.067 3.613-37.516 12.503-10.559 23.617-22.509 32.508-35.57-21.672 14.729-46.679 24.732-74.186 28.067-10.021 2.506-27.552-5.643-29.73-23.065-1.945-14.728 8.336-28.067 23.062-29.734 16.116-1.946 31.12-7.503 44.178-15.284-26.114 5.713-58.712 3.138-88.079-11.115-13.336-6.669-18.893-22.509-12.224-35.848 6.389-13.061 22.505-18.619 35.565-12.227 20.295 10.149 44.147 11.199 64.739 3.89-42.606 0-71.208-20.475-85.578-50.576-8.576-17.899 5.148-38.071 23.617-38.071-18.429 0-32.211-20.136-23.617-38.071 14.033-29.396 44.039-50.887 81.966-50.854l92.803 8.615 66.406-33.347c9.408-4.704 19.828-.354 23.894 7.781l44.455 88.926zm-229.227-18.618c-13.893 0-26.119 7.781-32.231 20.286-4.446 9.449-13.614 15.006-23.339 15.284 9.725.278 18.893 5.836 23.339 15.284 6.112 12.505 18.338 20.286 32.231 20.286a35.46 35.46 0 0 0 35.565-35.57c0-21.429-17.808-35.57-35.565-35.57z\"},\"child\":[]}]})(props);\n};\nexport function FaAnchor (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.971 352h32.394C67.172 454.735 181.944 512 288 512c106.229 0 220.853-57.38 242.635-160h32.394c10.691 0 16.045-12.926 8.485-20.485l-67.029-67.029c-4.686-4.686-12.284-4.686-16.971 0l-67.029 67.029c-7.56 7.56-2.206 20.485 8.485 20.485h35.146c-20.29 54.317-84.963 86.588-144.117 94.015V256h52c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-52v-5.47c37.281-13.178 63.995-48.725 64-90.518C384.005 43.772 341.605.738 289.37.01 235.723-.739 192 42.525 192 96c0 41.798 26.716 77.35 64 90.53V192h-52c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h52v190.015c-58.936-7.399-123.82-39.679-144.117-94.015h35.146c10.691 0 16.045-12.926 8.485-20.485l-67.029-67.029c-4.686-4.686-12.284-4.686-16.971 0L4.485 331.515C-3.074 339.074 2.28 352 12.971 352zM288 64c17.645 0 32 14.355 32 32s-14.355 32-32 32-32-14.355-32-32 14.355-32 32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaAngleDoubleDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M143 256.3L7 120.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0L313 86.3c9.4 9.4 9.4 24.6 0 33.9l-136 136c-9.4 9.5-24.6 9.5-34 .1zm34 192l136-136c9.4-9.4 9.4-24.6 0-33.9l-22.6-22.6c-9.4-9.4-24.6-9.4-33.9 0L160 352.1l-96.4-96.4c-9.4-9.4-24.6-9.4-33.9 0L7 278.3c-9.4 9.4-9.4 24.6 0 33.9l136 136c9.4 9.5 24.6 9.5 34 .1z\"},\"child\":[]}]})(props);\n};\nexport function FaAngleDoubleLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M223.7 239l136-136c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9L319.9 256l96.4 96.4c9.4 9.4 9.4 24.6 0 33.9L393.7 409c-9.4 9.4-24.6 9.4-33.9 0l-136-136c-9.5-9.4-9.5-24.6-.1-34zm-192 34l136 136c9.4 9.4 24.6 9.4 33.9 0l22.6-22.6c9.4-9.4 9.4-24.6 0-33.9L127.9 256l96.4-96.4c9.4-9.4 9.4-24.6 0-33.9L201.7 103c-9.4-9.4-24.6-9.4-33.9 0l-136 136c-9.5 9.4-9.5 24.6-.1 34z\"},\"child\":[]}]})(props);\n};\nexport function FaAngleDoubleRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34zm192-34l-136-136c-9.4-9.4-24.6-9.4-33.9 0l-22.6 22.6c-9.4 9.4-9.4 24.6 0 33.9l96.4 96.4-96.4 96.4c-9.4 9.4-9.4 24.6 0 33.9l22.6 22.6c9.4 9.4 24.6 9.4 33.9 0l136-136c9.4-9.2 9.4-24.4 0-33.8z\"},\"child\":[]}]})(props);\n};\nexport function FaAngleDoubleUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M177 255.7l136 136c9.4 9.4 9.4 24.6 0 33.9l-22.6 22.6c-9.4 9.4-24.6 9.4-33.9 0L160 351.9l-96.4 96.4c-9.4 9.4-24.6 9.4-33.9 0L7 425.7c-9.4-9.4-9.4-24.6 0-33.9l136-136c9.4-9.5 24.6-9.5 34-.1zm-34-192L7 199.7c-9.4 9.4-9.4 24.6 0 33.9l22.6 22.6c9.4 9.4 24.6 9.4 33.9 0l96.4-96.4 96.4 96.4c9.4 9.4 24.6 9.4 33.9 0l22.6-22.6c9.4-9.4 9.4-24.6 0-33.9l-136-136c-9.2-9.4-24.4-9.4-33.8 0z\"},\"child\":[]}]})(props);\n};\nexport function FaAngleDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M143 352.3L7 216.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9l-136 136c-9.2 9.4-24.4 9.4-33.8 0z\"},\"child\":[]}]})(props);\n};\nexport function FaAngleLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 256 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M31.7 239l136-136c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9L127.9 256l96.4 96.4c9.4 9.4 9.4 24.6 0 33.9L201.7 409c-9.4 9.4-24.6 9.4-33.9 0l-136-136c-9.5-9.4-9.5-24.6-.1-34z\"},\"child\":[]}]})(props);\n};\nexport function FaAngleRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 256 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z\"},\"child\":[]}]})(props);\n};\nexport function FaAngleUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M177 159.7l136 136c9.4 9.4 9.4 24.6 0 33.9l-22.6 22.6c-9.4 9.4-24.6 9.4-33.9 0L160 255.9l-96.4 96.4c-9.4 9.4-24.6 9.4-33.9 0L7 329.7c-9.4-9.4-9.4-24.6 0-33.9l136-136c9.4-9.5 24.6-9.5 34-.1z\"},\"child\":[]}]})(props);\n};\nexport function FaAngry (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM136 240c0-9.3 4.1-17.5 10.5-23.4l-31-9.3c-8.5-2.5-13.3-11.5-10.7-19.9 2.5-8.5 11.4-13.2 19.9-10.7l80 24c8.5 2.5 13.3 11.5 10.7 19.9-2.1 6.9-8.4 11.4-15.3 11.4-.5 0-1.1-.2-1.7-.2.7 2.7 1.7 5.3 1.7 8.2 0 17.7-14.3 32-32 32S136 257.7 136 240zm168 154.2c-27.8-33.4-84.2-33.4-112.1 0-13.5 16.3-38.2-4.2-24.6-20.5 20-24 49.4-37.8 80.6-37.8s60.6 13.8 80.6 37.8c13.8 16.5-11.1 36.6-24.5 20.5zm76.6-186.9l-31 9.3c6.3 5.8 10.5 14.1 10.5 23.4 0 17.7-14.3 32-32 32s-32-14.3-32-32c0-2.9.9-5.6 1.7-8.2-.6.1-1.1.2-1.7.2-6.9 0-13.2-4.5-15.3-11.4-2.5-8.5 2.3-17.4 10.7-19.9l80-24c8.4-2.5 17.4 2.3 19.9 10.7 2.5 8.5-2.3 17.4-10.8 19.9z\"},\"child\":[]}]})(props);\n};\nexport function FaAnkh (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M296 256h-44.62C272.46 222.01 288 181.65 288 144 288 55.63 230.69 0 160 0S32 55.63 32 144c0 37.65 15.54 78.01 36.62 112H24c-13.25 0-24 10.74-24 24v32c0 13.25 10.75 24 24 24h96v152c0 13.25 10.75 24 24 24h32c13.25 0 24-10.75 24-24V336h96c13.25 0 24-10.75 24-24v-32c0-13.26-10.75-24-24-24zM160 80c29.61 0 48 24.52 48 64 0 34.66-27.14 78.14-48 100.87-20.86-22.72-48-66.21-48-100.87 0-39.48 18.39-64 48-64z\"},\"child\":[]}]})(props);\n};\nexport function FaAppleAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M350.85 129c25.97 4.67 47.27 18.67 63.92 42 14.65 20.67 24.64 46.67 29.96 78 4.67 28.67 4.32 57.33-1 86-7.99 47.33-23.97 87-47.94 119-28.64 38.67-64.59 58-107.87 58-10.66 0-22.3-3.33-34.96-10-8.66-5.33-18.31-8-28.97-8s-20.3 2.67-28.97 8c-12.66 6.67-24.3 10-34.96 10-43.28 0-79.23-19.33-107.87-58-23.97-32-39.95-71.67-47.94-119-5.32-28.67-5.67-57.33-1-86 5.32-31.33 15.31-57.33 29.96-78 16.65-23.33 37.95-37.33 63.92-42 15.98-2.67 37.95-.33 65.92 7 23.97 6.67 44.28 14.67 60.93 24 16.65-9.33 36.96-17.33 60.93-24 27.98-7.33 49.96-9.67 65.94-7zm-54.94-41c-9.32 8.67-21.65 15-36.96 19-10.66 3.33-22.3 5-34.96 5l-14.98-1c-1.33-9.33-1.33-20 0-32 2.67-24 10.32-42.33 22.97-55 9.32-8.67 21.65-15 36.96-19 10.66-3.33 22.3-5 34.96-5l14.98 1 1 15c0 12.67-1.67 24.33-4.99 35-3.99 15.33-10.31 27.67-18.98 37z\"},\"child\":[]}]})(props);\n};\nexport function FaArchive (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M32 448c0 17.7 14.3 32 32 32h384c17.7 0 32-14.3 32-32V160H32v288zm160-212c0-6.6 5.4-12 12-12h104c6.6 0 12 5.4 12 12v8c0 6.6-5.4 12-12 12H204c-6.6 0-12-5.4-12-12v-8zM480 32H32C14.3 32 0 46.3 0 64v48c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16V64c0-17.7-14.3-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaArchway (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M560 448h-16V96H32v352H16.02c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16H176c8.84 0 16-7.16 16-16V320c0-53.02 42.98-96 96-96s96 42.98 96 96l.02 160v16c0 8.84 7.16 16 16 16H560c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm0-448H16C7.16 0 0 7.16 0 16v32c0 8.84 7.16 16 16 16h544c8.84 0 16-7.16 16-16V16c0-8.84-7.16-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaArrowAltCircleDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zM212 140v116h-70.9c-10.7 0-16.1 13-8.5 20.5l114.9 114.3c4.7 4.7 12.2 4.7 16.9 0l114.9-114.3c7.6-7.6 2.2-20.5-8.5-20.5H300V140c0-6.6-5.4-12-12-12h-64c-6.6 0-12 5.4-12 12z\"},\"child\":[]}]})(props);\n};\nexport function FaArrowAltCircleLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 504C119 504 8 393 8 256S119 8 256 8s248 111 248 248-111 248-248 248zm116-292H256v-70.9c0-10.7-13-16.1-20.5-8.5L121.2 247.5c-4.7 4.7-4.7 12.2 0 16.9l114.3 114.9c7.6 7.6 20.5 2.2 20.5-8.5V300h116c6.6 0 12-5.4 12-12v-64c0-6.6-5.4-12-12-12z\"},\"child\":[]}]})(props);\n};\nexport function FaArrowAltCircleRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zM140 300h116v70.9c0 10.7 13 16.1 20.5 8.5l114.3-114.9c4.7-4.7 4.7-12.2 0-16.9l-114.3-115c-7.6-7.6-20.5-2.2-20.5 8.5V212H140c-6.6 0-12 5.4-12 12v64c0 6.6 5.4 12 12 12z\"},\"child\":[]}]})(props);\n};\nexport function FaArrowAltCircleUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 256C8 119 119 8 256 8s248 111 248 248-111 248-248 248S8 393 8 256zm292 116V256h70.9c10.7 0 16.1-13 8.5-20.5L264.5 121.2c-4.7-4.7-12.2-4.7-16.9 0l-115 114.3c-7.6 7.6-2.2 20.5 8.5 20.5H212v116c0 6.6 5.4 12 12 12h64c6.6 0 12-5.4 12-12z\"},\"child\":[]}]})(props);\n};\nexport function FaArrowCircleDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-143.6-28.9L288 302.6V120c0-13.3-10.7-24-24-24h-16c-13.3 0-24 10.7-24 24v182.6l-72.4-75.5c-9.3-9.7-24.8-9.9-34.3-.4l-10.9 11c-9.4 9.4-9.4 24.6 0 33.9L239 404.3c9.4 9.4 24.6 9.4 33.9 0l132.7-132.7c9.4-9.4 9.4-24.6 0-33.9l-10.9-11c-9.5-9.5-25-9.3-34.3.4z\"},\"child\":[]}]})(props);\n};\nexport function FaArrowCircleLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 504C119 504 8 393 8 256S119 8 256 8s248 111 248 248-111 248-248 248zm28.9-143.6L209.4 288H392c13.3 0 24-10.7 24-24v-16c0-13.3-10.7-24-24-24H209.4l75.5-72.4c9.7-9.3 9.9-24.8.4-34.3l-11-10.9c-9.4-9.4-24.6-9.4-33.9 0L107.7 239c-9.4 9.4-9.4 24.6 0 33.9l132.7 132.7c9.4 9.4 24.6 9.4 33.9 0l11-10.9c9.5-9.5 9.3-25-.4-34.3z\"},\"child\":[]}]})(props);\n};\nexport function FaArrowCircleRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zm-28.9 143.6l75.5 72.4H120c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24h182.6l-75.5 72.4c-9.7 9.3-9.9 24.8-.4 34.3l11 10.9c9.4 9.4 24.6 9.4 33.9 0L404.3 273c9.4-9.4 9.4-24.6 0-33.9L271.6 106.3c-9.4-9.4-24.6-9.4-33.9 0l-11 10.9c-9.5 9.6-9.3 25.1.4 34.4z\"},\"child\":[]}]})(props);\n};\nexport function FaArrowCircleUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 256C8 119 119 8 256 8s248 111 248 248-111 248-248 248S8 393 8 256zm143.6 28.9l72.4-75.5V392c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V209.4l72.4 75.5c9.3 9.7 24.8 9.9 34.3.4l10.9-11c9.4-9.4 9.4-24.6 0-33.9L273 107.7c-9.4-9.4-24.6-9.4-33.9 0L106.3 240.4c-9.4 9.4-9.4 24.6 0 33.9l10.9 11c9.6 9.5 25.1 9.3 34.4-.4z\"},\"child\":[]}]})(props);\n};\nexport function FaArrowDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M413.1 222.5l22.2 22.2c9.4 9.4 9.4 24.6 0 33.9L241 473c-9.4 9.4-24.6 9.4-33.9 0L12.7 278.6c-9.4-9.4-9.4-24.6 0-33.9l22.2-22.2c9.5-9.5 25-9.3 34.3.4L184 343.4V56c0-13.3 10.7-24 24-24h32c13.3 0 24 10.7 24 24v287.4l114.8-120.5c9.3-9.8 24.8-10 34.3-.4z\"},\"child\":[]}]})(props);\n};\nexport function FaArrowLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M257.5 445.1l-22.2 22.2c-9.4 9.4-24.6 9.4-33.9 0L7 273c-9.4-9.4-9.4-24.6 0-33.9L201.4 44.7c9.4-9.4 24.6-9.4 33.9 0l22.2 22.2c9.5 9.5 9.3 25-.4 34.3L136.6 216H424c13.3 0 24 10.7 24 24v32c0 13.3-10.7 24-24 24H136.6l120.5 114.8c9.8 9.3 10 24.8.4 34.3z\"},\"child\":[]}]})(props);\n};\nexport function FaArrowRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z\"},\"child\":[]}]})(props);\n};\nexport function FaArrowUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M34.9 289.5l-22.2-22.2c-9.4-9.4-9.4-24.6 0-33.9L207 39c9.4-9.4 24.6-9.4 33.9 0l194.3 194.3c9.4 9.4 9.4 24.6 0 33.9L413 289.4c-9.5 9.5-25 9.3-34.3-.4L264 168.6V456c0 13.3-10.7 24-24 24h-32c-13.3 0-24-10.7-24-24V168.6L69.2 289.1c-9.3 9.8-24.8 10-34.3.4z\"},\"child\":[]}]})(props);\n};\nexport function FaArrowsAltH (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M377.941 169.941V216H134.059v-46.059c0-21.382-25.851-32.09-40.971-16.971L7.029 239.029c-9.373 9.373-9.373 24.568 0 33.941l86.059 86.059c15.119 15.119 40.971 4.411 40.971-16.971V296h243.882v46.059c0 21.382 25.851 32.09 40.971 16.971l86.059-86.059c9.373-9.373 9.373-24.568 0-33.941l-86.059-86.059c-15.119-15.12-40.971-4.412-40.971 16.97z\"},\"child\":[]}]})(props);\n};\nexport function FaArrowsAltV (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 256 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M214.059 377.941H168V134.059h46.059c21.382 0 32.09-25.851 16.971-40.971L144.971 7.029c-9.373-9.373-24.568-9.373-33.941 0L24.971 93.088c-15.119 15.119-4.411 40.971 16.971 40.971H88v243.882H41.941c-21.382 0-32.09 25.851-16.971 40.971l86.059 86.059c9.373 9.373 24.568 9.373 33.941 0l86.059-86.059c15.12-15.119 4.412-40.971-16.97-40.971z\"},\"child\":[]}]})(props);\n};\nexport function FaArrowsAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M352.201 425.775l-79.196 79.196c-9.373 9.373-24.568 9.373-33.941 0l-79.196-79.196c-15.119-15.119-4.411-40.971 16.971-40.97h51.162L228 284H127.196v51.162c0 21.382-25.851 32.09-40.971 16.971L7.029 272.937c-9.373-9.373-9.373-24.569 0-33.941L86.225 159.8c15.119-15.119 40.971-4.411 40.971 16.971V228H228V127.196h-51.23c-21.382 0-32.09-25.851-16.971-40.971l79.196-79.196c9.373-9.373 24.568-9.373 33.941 0l79.196 79.196c15.119 15.119 4.411 40.971-16.971 40.971h-51.162V228h100.804v-51.162c0-21.382 25.851-32.09 40.97-16.971l79.196 79.196c9.373 9.373 9.373 24.569 0 33.941L425.773 352.2c-15.119 15.119-40.971 4.411-40.97-16.971V284H284v100.804h51.23c21.382 0 32.09 25.851 16.971 40.971z\"},\"child\":[]}]})(props);\n};\nexport function FaAssistiveListeningSystems (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M216 260c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-44.112 35.888-80 80-80s80 35.888 80 80c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-13.234-10.767-24-24-24s-24 10.766-24 24zm24-176c-97.047 0-176 78.953-176 176 0 15.464 12.536 28 28 28s28-12.536 28-28c0-66.168 53.832-120 120-120s120 53.832 120 120c0 75.164-71.009 70.311-71.997 143.622L288 404c0 28.673-23.327 52-52 52-15.464 0-28 12.536-28 28s12.536 28 28 28c59.475 0 107.876-48.328 108-107.774.595-34.428 72-48.24 72-144.226 0-97.047-78.953-176-176-176zm-80 236c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zM32 448c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm480-187.993c0-1.518-.012-3.025-.045-4.531C510.076 140.525 436.157 38.47 327.994 1.511c-14.633-4.998-30.549 2.809-35.55 17.442-5 14.633 2.81 30.549 17.442 35.55 85.906 29.354 144.61 110.513 146.077 201.953l.003.188c.026 1.118.033 2.236.033 3.363 0 15.464 12.536 28 28 28s28.001-12.536 28.001-28zM152.971 439.029l-80-80L39.03 392.97l80 80 33.941-33.941z\"},\"child\":[]}]})(props);\n};\nexport function FaAsterisk (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M478.21 334.093L336 256l142.21-78.093c11.795-6.477 15.961-21.384 9.232-33.037l-19.48-33.741c-6.728-11.653-21.72-15.499-33.227-8.523L296 186.718l3.475-162.204C299.763 11.061 288.937 0 275.48 0h-38.96c-13.456 0-24.283 11.061-23.994 24.514L216 186.718 77.265 102.607c-11.506-6.976-26.499-3.13-33.227 8.523l-19.48 33.741c-6.728 11.653-2.562 26.56 9.233 33.037L176 256 33.79 334.093c-11.795 6.477-15.961 21.384-9.232 33.037l19.48 33.741c6.728 11.653 21.721 15.499 33.227 8.523L216 325.282l-3.475 162.204C212.237 500.939 223.064 512 236.52 512h38.961c13.456 0 24.283-11.061 23.995-24.514L296 325.282l138.735 84.111c11.506 6.976 26.499 3.13 33.227-8.523l19.48-33.741c6.728-11.653 2.563-26.559-9.232-33.036z\"},\"child\":[]}]})(props);\n};\nexport function FaAt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8C118.941 8 8 118.919 8 256c0 137.059 110.919 248 248 248 48.154 0 95.342-14.14 135.408-40.223 12.005-7.815 14.625-24.288 5.552-35.372l-10.177-12.433c-7.671-9.371-21.179-11.667-31.373-5.129C325.92 429.757 291.314 440 256 440c-101.458 0-184-82.542-184-184S154.542 72 256 72c100.139 0 184 57.619 184 160 0 38.786-21.093 79.742-58.17 83.693-17.349-.454-16.91-12.857-13.476-30.024l23.433-121.11C394.653 149.75 383.308 136 368.225 136h-44.981a13.518 13.518 0 0 0-13.432 11.993l-.01.092c-14.697-17.901-40.448-21.775-59.971-21.775-74.58 0-137.831 62.234-137.831 151.46 0 65.303 36.785 105.87 96 105.87 26.984 0 57.369-15.637 74.991-38.333 9.522 34.104 40.613 34.103 70.71 34.103C462.609 379.41 504 307.798 504 232 504 95.653 394.023 8 256 8zm-21.68 304.43c-22.249 0-36.07-15.623-36.07-40.771 0-44.993 30.779-72.729 58.63-72.729 22.292 0 35.601 15.241 35.601 40.77 0 45.061-33.875 72.73-58.161 72.73z\"},\"child\":[]}]})(props);\n};\nexport function FaAtlas (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M318.38 208h-39.09c-1.49 27.03-6.54 51.35-14.21 70.41 27.71-13.24 48.02-39.19 53.3-70.41zm0-32c-5.29-31.22-25.59-57.17-53.3-70.41 7.68 19.06 12.72 43.38 14.21 70.41h39.09zM224 97.31c-7.69 7.45-20.77 34.42-23.43 78.69h46.87c-2.67-44.26-15.75-71.24-23.44-78.69zm-41.08 8.28c-27.71 13.24-48.02 39.19-53.3 70.41h39.09c1.49-27.03 6.53-51.35 14.21-70.41zm0 172.82c-7.68-19.06-12.72-43.38-14.21-70.41h-39.09c5.28 31.22 25.59 57.17 53.3 70.41zM247.43 208h-46.87c2.66 44.26 15.74 71.24 23.43 78.69 7.7-7.45 20.78-34.43 23.44-78.69zM448 358.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16c0-6.4-3.2-12.8-9.6-19.2-3.2-16-3.2-60.8 0-73.6 6.4-3.2 9.6-9.6 9.6-19.2zM224 64c70.69 0 128 57.31 128 128s-57.31 128-128 128S96 262.69 96 192 153.31 64 224 64zm160 384H96c-19.2 0-32-12.8-32-32s16-32 32-32h288v64z\"},\"child\":[]}]})(props);\n};\nexport function FaAtom (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M223.99908,224a32,32,0,1,0,32.00782,32A32.06431,32.06431,0,0,0,223.99908,224Zm214.172-96c-10.877-19.5-40.50979-50.75-116.27544-41.875C300.39168,34.875,267.63386,0,223.99908,0s-76.39066,34.875-97.89653,86.125C50.3369,77.375,20.706,108.5,9.82907,128-6.54984,157.375-5.17484,201.125,34.958,256-5.17484,310.875-6.54984,354.625,9.82907,384c29.13087,52.375,101.64652,43.625,116.27348,41.875C147.60842,477.125,180.36429,512,223.99908,512s76.3926-34.875,97.89652-86.125c14.62891,1.75,87.14456,10.5,116.27544-41.875C454.55,354.625,453.175,310.875,413.04017,256,453.175,201.125,454.55,157.375,438.171,128ZM63.33886,352c-4-7.25-.125-24.75,15.00391-48.25,6.87695,6.5,14.12891,12.875,21.88087,19.125,1.625,13.75,4,27.125,6.75,40.125C82.34472,363.875,67.09081,358.625,63.33886,352Zm36.88478-162.875c-7.752,6.25-15.00392,12.625-21.88087,19.125-15.12891-23.5-19.00392-41-15.00391-48.25,3.377-6.125,16.37891-11.5,37.88478-11.5,1.75,0,3.875.375,5.75.375C104.09864,162.25,101.84864,175.625,100.22364,189.125ZM223.99908,64c9.50195,0,22.25586,13.5,33.88282,37.25-11.252,3.75-22.50391,8-33.88282,12.875-11.377-4.875-22.62892-9.125-33.88283-12.875C201.74516,77.5,214.49712,64,223.99908,64Zm0,384c-9.502,0-22.25392-13.5-33.88283-37.25,11.25391-3.75,22.50587-8,33.88283-12.875C235.378,402.75,246.62994,407,257.8819,410.75,246.25494,434.5,233.501,448,223.99908,448Zm0-112a80,80,0,1,1,80-80A80.00023,80.00023,0,0,1,223.99908,336ZM384.6593,352c-3.625,6.625-19.00392,11.875-43.63479,11,2.752-13,5.127-26.375,6.752-40.125,7.75195-6.25,15.00391-12.625,21.87891-19.125C384.7843,327.25,388.6593,344.75,384.6593,352ZM369.65538,208.25c-6.875-6.5-14.127-12.875-21.87891-19.125-1.625-13.5-3.875-26.875-6.752-40.25,1.875,0,4.002-.375,5.752-.375,21.50391,0,34.50782,5.375,37.88283,11.5C388.6593,167.25,384.7843,184.75,369.65538,208.25Z\"},\"child\":[]}]})(props);\n};\nexport function FaAudioDescription (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M162.925 238.709l8.822 30.655h-25.606l9.041-30.652c1.277-4.421 2.651-9.994 3.872-15.245 1.22 5.251 2.594 10.823 3.871 15.242zm166.474-32.099h-14.523v98.781h14.523c29.776 0 46.175-17.678 46.175-49.776 0-32.239-17.49-49.005-46.175-49.005zM512 112v288c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48zM245.459 336.139l-57.097-168A12.001 12.001 0 0 0 177 160h-35.894a12.001 12.001 0 0 0-11.362 8.139l-57.097 168C70.003 343.922 75.789 352 84.009 352h29.133a12 12 0 0 0 11.535-8.693l8.574-29.906h51.367l8.793 29.977A12 12 0 0 0 204.926 352h29.172c8.22 0 14.006-8.078 11.361-15.861zm184.701-80.525c0-58.977-37.919-95.614-98.96-95.614h-57.366c-6.627 0-12 5.373-12 12v168c0 6.627 5.373 12 12 12H331.2c61.041 0 98.96-36.933 98.96-96.386z\"},\"child\":[]}]})(props);\n};\nexport function FaAward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M97.12 362.63c-8.69-8.69-4.16-6.24-25.12-11.85-9.51-2.55-17.87-7.45-25.43-13.32L1.2 448.7c-4.39 10.77 3.81 22.47 15.43 22.03l52.69-2.01L105.56 507c8 8.44 22.04 5.81 26.43-4.96l52.05-127.62c-10.84 6.04-22.87 9.58-35.31 9.58-19.5 0-37.82-7.59-51.61-21.37zM382.8 448.7l-45.37-111.24c-7.56 5.88-15.92 10.77-25.43 13.32-21.07 5.64-16.45 3.18-25.12 11.85-13.79 13.78-32.12 21.37-51.62 21.37-12.44 0-24.47-3.55-35.31-9.58L252 502.04c4.39 10.77 18.44 13.4 26.43 4.96l36.25-38.28 52.69 2.01c11.62.44 19.82-11.27 15.43-22.03zM263 340c15.28-15.55 17.03-14.21 38.79-20.14 13.89-3.79 24.75-14.84 28.47-28.98 7.48-28.4 5.54-24.97 25.95-45.75 10.17-10.35 14.14-25.44 10.42-39.58-7.47-28.38-7.48-24.42 0-52.83 3.72-14.14-.25-29.23-10.42-39.58-20.41-20.78-18.47-17.36-25.95-45.75-3.72-14.14-14.58-25.19-28.47-28.98-27.88-7.61-24.52-5.62-44.95-26.41-10.17-10.35-25-14.4-38.89-10.61-27.87 7.6-23.98 7.61-51.9 0-13.89-3.79-28.72.25-38.89 10.61-20.41 20.78-17.05 18.8-44.94 26.41-13.89 3.79-24.75 14.84-28.47 28.98-7.47 28.39-5.54 24.97-25.95 45.75-10.17 10.35-14.15 25.44-10.42 39.58 7.47 28.36 7.48 24.4 0 52.82-3.72 14.14.25 29.23 10.42 39.59 20.41 20.78 18.47 17.35 25.95 45.75 3.72 14.14 14.58 25.19 28.47 28.98C104.6 325.96 106.27 325 121 340c13.23 13.47 33.84 15.88 49.74 5.82a39.676 39.676 0 0 1 42.53 0c15.89 10.06 36.5 7.65 49.73-5.82zM97.66 175.96c0-53.03 42.24-96.02 94.34-96.02s94.34 42.99 94.34 96.02-42.24 96.02-94.34 96.02-94.34-42.99-94.34-96.02z\"},\"child\":[]}]})(props);\n};\nexport function FaBabyCarriage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M144.8 17c-11.3-17.8-37.2-22.8-54-9.4C35.3 51.9 0 118 0 192h256L144.8 17zM496 96h-48c-35.3 0-64 28.7-64 64v64H0c0 50.6 23 96.4 60.3 130.7C25.7 363.6 0 394.7 0 432c0 44.2 35.8 80 80 80s80-35.8 80-80c0-8.9-1.8-17.2-4.4-25.2 21.6 5.9 44.6 9.2 68.4 9.2s46.9-3.3 68.4-9.2c-2.7 8-4.4 16.3-4.4 25.2 0 44.2 35.8 80 80 80s80-35.8 80-80c0-37.3-25.7-68.4-60.3-77.3C425 320.4 448 274.6 448 224v-64h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM80 464c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32zm320-32c0 17.6-14.4 32-32 32s-32-14.4-32-32 14.4-32 32-32 32 14.4 32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaBaby (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M192 160c44.2 0 80-35.8 80-80S236.2 0 192 0s-80 35.8-80 80 35.8 80 80 80zm-53.4 248.8l25.6-32-61.5-51.2L56.8 383c-11.4 14.2-11.7 34.4-.8 49l48 64c7.9 10.5 19.9 16 32 16 8.3 0 16.8-2.6 24-8 17.7-13.2 21.2-38.3 8-56l-29.4-39.2zm142.7-83.2l-61.5 51.2 25.6 32L216 448c-13.2 17.7-9.7 42.8 8 56 7.2 5.4 15.6 8 24 8 12.2 0 24.2-5.5 32-16l48-64c10.9-14.6 10.6-34.8-.8-49l-45.9-57.4zM376.7 145c-12.7-18.1-37.6-22.4-55.7-9.8l-40.6 28.5c-52.7 37-124.2 37-176.8 0L63 135.3C44.9 122.6 20 127 7.3 145-5.4 163.1-1 188 17 200.7l40.6 28.5c17 11.9 35.4 20.9 54.4 27.9V288h160v-30.8c19-7 37.4-16 54.4-27.9l40.6-28.5c18.1-12.8 22.4-37.7 9.7-55.8z\"},\"child\":[]}]})(props);\n};\nexport function FaBackspace (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M576 64H205.26A63.97 63.97 0 0 0 160 82.75L9.37 233.37c-12.5 12.5-12.5 32.76 0 45.25L160 429.25c12 12 28.28 18.75 45.25 18.75H576c35.35 0 64-28.65 64-64V128c0-35.35-28.65-64-64-64zm-84.69 254.06c6.25 6.25 6.25 16.38 0 22.63l-22.62 22.62c-6.25 6.25-16.38 6.25-22.63 0L384 301.25l-62.06 62.06c-6.25 6.25-16.38 6.25-22.63 0l-22.62-22.62c-6.25-6.25-6.25-16.38 0-22.63L338.75 256l-62.06-62.06c-6.25-6.25-6.25-16.38 0-22.63l22.62-22.62c6.25-6.25 16.38-6.25 22.63 0L384 210.75l62.06-62.06c6.25-6.25 16.38-6.25 22.63 0l22.62 22.62c6.25 6.25 6.25 16.38 0 22.63L429.25 256l62.06 62.06z\"},\"child\":[]}]})(props);\n};\nexport function FaBackward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.5 280.6l192 160c20.6 17.2 52.5 2.8 52.5-24.6V96c0-27.4-31.9-41.8-52.5-24.6l-192 160c-15.3 12.8-15.3 36.4 0 49.2zm256 0l192 160c20.6 17.2 52.5 2.8 52.5-24.6V96c0-27.4-31.9-41.8-52.5-24.6l-192 160c-15.3 12.8-15.3 36.4 0 49.2z\"},\"child\":[]}]})(props);\n};\nexport function FaBacon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M218.92 336.39c34.89-34.89 44.2-59.7 54.05-86 10.61-28.29 21.59-57.54 61.37-97.34s69.05-50.77 97.35-61.38c23.88-9 46.64-17.68 76.79-45.37L470.81 8.91a31 31 0 0 0-40.18-2.83c-13.64 10.1-25.15 14.39-41 20.3C247 79.52 209.26 191.29 200.65 214.1c-29.75 78.83-89.55 94.68-98.72 98.09-24.86 9.26-54.73 20.38-91.07 50.36C-3 374-3.63 395 9.07 407.61l35.76 35.51C80 410.52 107 400.15 133 390.39c26.27-9.84 51.06-19.12 85.92-54zm348-232l-35.75-35.51c-35.19 32.63-62.18 43-88.25 52.79-26.26 9.85-51.06 19.16-85.95 54s-44.19 59.69-54 86C292.33 290 281.34 319.22 241.55 359s-69 50.73-97.3 61.32c-23.86 9-46.61 17.66-76.72 45.33l37.68 37.43a31 31 0 0 0 40.18 2.82c13.6-10.06 25.09-14.34 40.94-20.24 142.2-53 180-164.1 188.94-187.69C405 219.18 464.8 203.3 474 199.86c24.87-9.27 54.74-20.4 91.11-50.41 13.89-11.4 14.52-32.45 1.82-45.05z\"},\"child\":[]}]})(props);\n};\nexport function FaBacteria (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M272.35,226.4A17.71,17.71,0,0,0,281.46,203l-4-9.08a121.29,121.29,0,0,1,12.36-3.08A83.34,83.34,0,0,0,323.57,177l10,9a17.76,17.76,0,1,0,23.92-26.27l-9.72-8.76a83.12,83.12,0,0,0,11.65-48.18l11.85-3.51a17.73,17.73,0,1,0-10.15-34l-11.34,3.36a84,84,0,0,0-36.38-35.57l2.84-10.85a17.8,17.8,0,0,0-34.47-8.93l-2.82,10.78a83.25,83.25,0,0,0-16.74,1.1C250.83,27,240,30.22,229.1,33.39l-3.38-9.46a17.8,17.8,0,0,0-33.56,11.89l3.49,9.8a286.74,286.74,0,0,0-43.94,23.57l-6.32-8.43a17.9,17.9,0,0,0-24.94-3.6A17.69,17.69,0,0,0,116.84,82l6.45,8.61a286.59,286.59,0,0,0-34.95,35.33l-8.82-6.42a17.84,17.84,0,0,0-24.89,3.86,17.66,17.66,0,0,0,3.88,24.77l8.88,6.47a286.6,286.6,0,0,0-23,43.91l-10.48-3.59a17.73,17.73,0,1,0-11.59,33.52L32.67,232c-2.79,10-5.79,19.84-7.52,30.22a83.16,83.16,0,0,0-.82,19l-11.58,3.43a17.73,17.73,0,1,0,10.13,34l11.27-3.33a83.51,83.51,0,0,0,36.39,35.43l-2.88,11.06a17.81,17.81,0,0,0,34.48,8.92l2.87-11c1,0,2.07.26,3.1.26a83.39,83.39,0,0,0,45.65-13.88l8.59,8.8a17.77,17.77,0,0,0,25.56-24.7l-9.14-9.37a83.41,83.41,0,0,0,12.08-31.05,119.08,119.08,0,0,1,3.87-15.53l9,4.22a17.74,17.74,0,1,0,15.15-32.09l-8.8-4.11c.67-1,1.2-2.08,1.9-3.05a119.89,119.89,0,0,1,7.87-9.41,121.73,121.73,0,0,1,11.65-11.4,119.49,119.49,0,0,1,9.94-7.82c1.12-.77,2.32-1.42,3.47-2.15l3.92,8.85a17.86,17.86,0,0,0,16.32,10.58A18.14,18.14,0,0,0,272.35,226.4ZM128,256a32,32,0,1,1,32-32A32,32,0,0,1,128,256Zm80-96a16,16,0,1,1,16-16A16,16,0,0,1,208,160Zm431.26,45.3a17.79,17.79,0,0,0-17.06-12.69,17.55,17.55,0,0,0-5.08.74l-11.27,3.33a83.61,83.61,0,0,0-36.39-35.43l2.88-11.06a17.81,17.81,0,0,0-34.48-8.91l-2.87,11c-1,0-2.07-.26-3.1-.26a83.32,83.32,0,0,0-45.65,13.89l-8.59-8.81a17.77,17.77,0,0,0-25.56,24.7l9.14,9.37a83.28,83.28,0,0,0-12.08,31.06,119.34,119.34,0,0,1-3.87,15.52l-9-4.22a17.74,17.74,0,1,0-15.15,32.09l8.8,4.11c-.67,1-1.2,2.08-1.89,3.05a117.71,117.71,0,0,1-7.94,9.47,119,119,0,0,1-11.57,11.33,121.59,121.59,0,0,1-10,7.83c-1.12.77-2.32,1.42-3.47,2.15l-3.92-8.85a17.86,17.86,0,0,0-16.32-10.58,18.14,18.14,0,0,0-7.18,1.5A17.71,17.71,0,0,0,358.54,309l4,9.08a118.71,118.71,0,0,1-12.36,3.08,83.34,83.34,0,0,0-33.77,13.9l-10-9a17.77,17.77,0,1,0-23.92,26.28l9.72,8.75a83.12,83.12,0,0,0-11.65,48.18l-11.86,3.51a17.73,17.73,0,1,0,10.16,34l11.34-3.36A84,84,0,0,0,326.61,479l-2.84,10.85a17.8,17.8,0,0,0,34.47,8.93L361.06,488a83.3,83.3,0,0,0,16.74-1.1c11.37-1.89,22.24-5.07,33.1-8.24l3.38,9.46a17.8,17.8,0,0,0,33.56-11.89l-3.49-9.79a287.66,287.66,0,0,0,43.94-23.58l6.32,8.43a17.88,17.88,0,0,0,24.93,3.6A17.67,17.67,0,0,0,523.16,430l-6.45-8.61a287.37,287.37,0,0,0,34.95-35.34l8.82,6.42a17.76,17.76,0,1,0,21-28.63l-8.88-6.46a287.17,287.17,0,0,0,23-43.92l10.48,3.59a17.73,17.73,0,1,0,11.59-33.52L607.33,280c2.79-10,5.79-19.84,7.52-30.21a83.27,83.27,0,0,0,.82-19.05l11.58-3.43A17.7,17.7,0,0,0,639.26,205.3ZM416,416a32,32,0,1,1,32-32A32,32,0,0,1,416,416Z\"},\"child\":[]}]})(props);\n};\nexport function FaBacterium (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M511,102.93A23.76,23.76,0,0,0,481.47,87l-15.12,4.48a111.85,111.85,0,0,0-48.5-47.42l3.79-14.47a23.74,23.74,0,0,0-46-11.91l-3.76,14.37a111.94,111.94,0,0,0-22.33,1.47,386.74,386.74,0,0,0-44.33,10.41l-4.3-12a23.74,23.74,0,0,0-44.75,15.85l4.3,12.05a383.4,383.4,0,0,0-58.69,31.83l-8-10.63a23.85,23.85,0,0,0-33.24-4.8,23.57,23.57,0,0,0-4.83,33.09l8,10.63a386.14,386.14,0,0,0-46.7,47.44l-11-8a23.68,23.68,0,1,0-28,38.17l11.09,8.06a383.45,383.45,0,0,0-30.92,58.75l-12.93-4.43a23.65,23.65,0,1,0-15.47,44.69l13,4.48a385.81,385.81,0,0,0-9.3,40.53A111.58,111.58,0,0,0,32.44,375L17,379.56a23.64,23.64,0,0,0,13.51,45.31l15-4.44a111.49,111.49,0,0,0,48.53,47.24l-3.85,14.75a23.66,23.66,0,0,0,17,28.83,24.7,24.7,0,0,0,6,.75,23.73,23.73,0,0,0,23-17.7L140,479.67c1.37.05,2.77.35,4.13.35A111.22,111.22,0,0,0,205,461.5l11.45,11.74a23.7,23.7,0,0,0,34.08-32.93l-12.19-12.5a111,111,0,0,0,16.11-41.4,158.69,158.69,0,0,1,5.16-20.71l12,5.64a23.66,23.66,0,1,0,20.19-42.79l-11.72-5.49c.89-1.32,1.59-2.77,2.52-4.06a157.86,157.86,0,0,1,10.46-12.49,159.5,159.5,0,0,1,15.59-15.28,162.18,162.18,0,0,1,13.23-10.4c1.5-1,3.1-1.89,4.63-2.87l5.23,11.8a23.74,23.74,0,0,0,43.48-19.08l-5.36-12.11a158.87,158.87,0,0,1,16.49-4.1,111,111,0,0,0,45-18.54l13.33,12a23.69,23.69,0,1,0,31.88-35l-12.94-11.67A110.83,110.83,0,0,0,479.21,137L495,132.32A23.61,23.61,0,0,0,511,102.93ZM160,368a48,48,0,1,1,48-48A48,48,0,0,1,160,368Zm80-136a24,24,0,1,1,24-24A24,24,0,0,1,240,232Z\"},\"child\":[]}]})(props);\n};\nexport function FaBahai (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496.25 202.52l-110-15.44 41.82-104.34c6.67-16.64-11.6-32.18-26.59-22.63L307.44 120 273.35 12.82C270.64 4.27 263.32 0 256 0c-7.32 0-14.64 4.27-17.35 12.82l-34.09 107.19-94.04-59.89c-14.99-9.55-33.25 5.99-26.59 22.63l41.82 104.34-110 15.43c-17.54 2.46-21.68 26.27-6.03 34.67l98.16 52.66-74.48 83.54c-10.92 12.25-1.72 30.93 13.29 30.93 1.31 0 2.67-.14 4.07-.45l108.57-23.65-4.11 112.55c-.43 11.65 8.87 19.22 18.41 19.22 5.15 0 10.39-2.21 14.2-7.18l68.18-88.9 68.18 88.9c3.81 4.97 9.04 7.18 14.2 7.18 9.54 0 18.84-7.57 18.41-19.22l-4.11-112.55 108.57 23.65c17.36 3.76 29.21-17.2 17.35-30.49l-74.48-83.54 98.16-52.66c15.64-8.39 11.5-32.2-6.04-34.66zM338.51 311.68l-51.89-11.3 1.97 53.79L256 311.68l-32.59 42.49 1.96-53.79-51.89 11.3 35.6-39.93-46.92-25.17 52.57-7.38-19.99-49.87 44.95 28.62L256 166.72l16.29 51.23 44.95-28.62-19.99 49.87 52.57 7.38-46.92 25.17 35.61 39.93z\"},\"child\":[]}]})(props);\n};\nexport function FaBalanceScaleLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M528 448H352V153.25c20.42-8.94 36.1-26.22 43.38-47.47l132-44.26c8.38-2.81 12.89-11.88 10.08-20.26l-10.17-30.34C524.48 2.54 515.41-1.97 507.03.84L389.11 40.37C375.3 16.36 349.69 0 320 0c-44.18 0-80 35.82-80 80 0 3.43.59 6.71 1.01 10.03l-128.39 43.05c-8.38 2.81-12.89 11.88-10.08 20.26l10.17 30.34c2.81 8.38 11.88 12.89 20.26 10.08l142.05-47.63c4.07 2.77 8.43 5.12 12.99 7.12V496c0 8.84 7.16 16 16 16h224c8.84 0 16-7.16 16-16v-32c-.01-8.84-7.17-16-16.01-16zm111.98-144c0-16.18 1.34-8.73-85.05-181.51-17.65-35.29-68.19-35.36-85.87 0-87.12 174.26-85.04 165.84-85.04 181.51H384c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02zM440 288l72-144 72 144H440zm-269.07-37.51c-17.65-35.29-68.19-35.36-85.87 0C-2.06 424.75.02 416.33.02 432H0c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02c0-16.18 1.34-8.73-85.05-181.51zM56 416l72-144 72 144H56z\"},\"child\":[]}]})(props);\n};\nexport function FaBalanceScaleRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M96 464v32c0 8.84 7.16 16 16 16h224c8.84 0 16-7.16 16-16V153.25c4.56-2 8.92-4.35 12.99-7.12l142.05 47.63c8.38 2.81 17.45-1.71 20.26-10.08l10.17-30.34c2.81-8.38-1.71-17.45-10.08-20.26l-128.4-43.05c.42-3.32 1.01-6.6 1.01-10.03 0-44.18-35.82-80-80-80-29.69 0-55.3 16.36-69.11 40.37L132.96.83c-8.38-2.81-17.45 1.71-20.26 10.08l-10.17 30.34c-2.81 8.38 1.71 17.45 10.08 20.26l132 44.26c7.28 21.25 22.96 38.54 43.38 47.47V448H112c-8.84 0-16 7.16-16 16zM0 304c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02c0-15.67 2.08-7.25-85.05-181.51-17.68-35.36-68.22-35.29-85.87 0C-1.32 295.27.02 287.82.02 304H0zm56-16l72-144 72 144H56zm328.02 144H384c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02c0-15.67 2.08-7.25-85.05-181.51-17.68-35.36-68.22-35.29-85.87 0-86.38 172.78-85.04 165.33-85.04 181.51zM440 416l72-144 72 144H440z\"},\"child\":[]}]})(props);\n};\nexport function FaBalanceScale (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 336h-.02c0-16.18 1.34-8.73-85.05-181.51-17.65-35.29-68.19-35.36-85.87 0C-2.06 328.75.02 320.33.02 336H0c0 44.18 57.31 80 128 80s128-35.82 128-80zM128 176l72 144H56l72-144zm511.98 160c0-16.18 1.34-8.73-85.05-181.51-17.65-35.29-68.19-35.36-85.87 0-87.12 174.26-85.04 165.84-85.04 181.51H384c0 44.18 57.31 80 128 80s128-35.82 128-80h-.02zM440 320l72-144 72 144H440zm88 128H352V153.25c23.51-10.29 41.16-31.48 46.39-57.25H528c8.84 0 16-7.16 16-16V48c0-8.84-7.16-16-16-16H383.64C369.04 12.68 346.09 0 320 0s-49.04 12.68-63.64 32H112c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h129.61c5.23 25.76 22.87 46.96 46.39 57.25V448H112c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaBan (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8C119.034 8 8 119.033 8 256s111.034 248 248 248 248-111.034 248-248S392.967 8 256 8zm130.108 117.892c65.448 65.448 70 165.481 20.677 235.637L150.47 105.216c70.204-49.356 170.226-44.735 235.638 20.676zM125.892 386.108c-65.448-65.448-70-165.481-20.677-235.637L361.53 406.784c-70.203 49.356-170.226 44.736-235.638-20.676z\"},\"child\":[]}]})(props);\n};\nexport function FaBandAid (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 160v192c0 35.3 28.7 64 64 64h96V96H64c-35.3 0-64 28.7-64 64zm576-64h-96v320h96c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64zM192 416h256V96H192v320zm176-232c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm0 96c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm-96-96c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm0 96c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24z\"},\"child\":[]}]})(props);\n};\nexport function FaBarcode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 448V64h18v384H0zm26.857-.273V64H36v383.727h-9.143zm27.143 0V64h8.857v383.727H54zm44.857 0V64h8.857v383.727h-8.857zm36 0V64h17.714v383.727h-17.714zm44.857 0V64h8.857v383.727h-8.857zm18 0V64h8.857v383.727h-8.857zm18 0V64h8.857v383.727h-8.857zm35.715 0V64h18v383.727h-18zm44.857 0V64h18v383.727h-18zm35.999 0V64h18.001v383.727h-18.001zm36.001 0V64h18.001v383.727h-18.001zm26.857 0V64h18v383.727h-18zm45.143 0V64h26.857v383.727h-26.857zm35.714 0V64h9.143v383.727H476zm18 .273V64h18v384h-18z\"},\"child\":[]}]})(props);\n};\nexport function FaBars (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 132h416c8.837 0 16-7.163 16-16V76c0-8.837-7.163-16-16-16H16C7.163 60 0 67.163 0 76v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaBaseballBall (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M368.5 363.9l28.8-13.9c11.1 22.9 26 43.2 44.1 60.9 34-42.5 54.5-96.3 54.5-154.9 0-58.5-20.4-112.2-54.2-154.6-17.8 17.3-32.6 37.1-43.6 59.5l-28.7-14.1c12.8-26 30-49 50.8-69C375.6 34.7 315 8 248 8 181.1 8 120.5 34.6 75.9 77.7c20.7 19.9 37.9 42.9 50.7 68.8l-28.7 14.1c-11-22.3-25.7-42.1-43.5-59.4C20.4 143.7 0 197.4 0 256c0 58.6 20.4 112.3 54.4 154.7 18.2-17.7 33.2-38 44.3-61l28.8 13.9c-12.9 26.7-30.3 50.3-51.5 70.7 44.5 43.1 105.1 69.7 172 69.7 66.8 0 127.3-26.5 171.9-69.5-21.1-20.4-38.5-43.9-51.4-70.6zm-228.3-32l-30.5-9.8c14.9-46.4 12.7-93.8-.6-134l30.4-10c15 45.6 18 99.9.7 153.8zm216.3-153.4l30.4 10c-13.2 40.1-15.5 87.5-.6 134l-30.5 9.8c-17.3-54-14.3-108.3.7-153.8z\"},\"child\":[]}]})(props);\n};\nexport function FaBasketballBall (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M212.3 10.3c-43.8 6.3-86.2 24.1-122.2 53.8l77.4 77.4c27.8-35.8 43.3-81.2 44.8-131.2zM248 222L405.9 64.1c-42.4-35-93.6-53.5-145.5-56.1-1.2 63.9-21.5 122.3-58.7 167.7L248 222zM56.1 98.1c-29.7 36-47.5 78.4-53.8 122.2 50-1.5 95.5-17 131.2-44.8L56.1 98.1zm272.2 204.2c45.3-37.1 103.7-57.4 167.7-58.7-2.6-51.9-21.1-103.1-56.1-145.5L282 256l46.3 46.3zM248 290L90.1 447.9c42.4 34.9 93.6 53.5 145.5 56.1 1.3-64 21.6-122.4 58.7-167.7L248 290zm191.9 123.9c29.7-36 47.5-78.4 53.8-122.2-50.1 1.6-95.5 17.1-131.2 44.8l77.4 77.4zM167.7 209.7C122.3 246.9 63.9 267.3 0 268.4c2.6 51.9 21.1 103.1 56.1 145.5L214 256l-46.3-46.3zm116 292c43.8-6.3 86.2-24.1 122.2-53.8l-77.4-77.4c-27.7 35.7-43.2 81.2-44.8 131.2z\"},\"child\":[]}]})(props);\n};\nexport function FaBath (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M32,384a95.4,95.4,0,0,0,32,71.09V496a16,16,0,0,0,16,16h32a16,16,0,0,0,16-16V480H384v16a16,16,0,0,0,16,16h32a16,16,0,0,0,16-16V455.09A95.4,95.4,0,0,0,480,384V336H32ZM496,256H80V69.25a21.26,21.26,0,0,1,36.28-15l19.27,19.26c-13.13,29.88-7.61,59.11,8.62,79.73l-.17.17A16,16,0,0,0,144,176l11.31,11.31a16,16,0,0,0,22.63,0L283.31,81.94a16,16,0,0,0,0-22.63L272,48a16,16,0,0,0-22.62,0l-.17.17c-20.62-16.23-49.83-21.75-79.73-8.62L150.22,20.28A69.25,69.25,0,0,0,32,69.25V256H16A16,16,0,0,0,0,272v16a16,16,0,0,0,16,16H496a16,16,0,0,0,16-16V272A16,16,0,0,0,496,256Z\"},\"child\":[]}]})(props);\n};\nexport function FaBatteryEmpty (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48z\"},\"child\":[]}]})(props);\n};\nexport function FaBatteryFull (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48zm-48 96H96v128h416V192z\"},\"child\":[]}]})(props);\n};\nexport function FaBatteryHalf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48zm-240 96H96v128h224V192z\"},\"child\":[]}]})(props);\n};\nexport function FaBatteryQuarter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48zm-336 96H96v128h128V192z\"},\"child\":[]}]})(props);\n};\nexport function FaBatteryThreeQuarters (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48zm-144 96H96v128h320V192z\"},\"child\":[]}]})(props);\n};\nexport function FaBed (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M176 256c44.11 0 80-35.89 80-80s-35.89-80-80-80-80 35.89-80 80 35.89 80 80 80zm352-128H304c-8.84 0-16 7.16-16 16v144H64V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v352c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-48h512v48c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V240c0-61.86-50.14-112-112-112z\"},\"child\":[]}]})(props);\n};\nexport function FaBeer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M368 96h-48V56c0-13.255-10.745-24-24-24H24C10.745 32 0 42.745 0 56v400c0 13.255 10.745 24 24 24h272c13.255 0 24-10.745 24-24v-42.11l80.606-35.977C429.396 365.063 448 336.388 448 304.86V176c0-44.112-35.888-80-80-80zm16 208.86a16.018 16.018 0 0 1-9.479 14.611L320 343.805V160h48c8.822 0 16 7.178 16 16v128.86zM208 384c-8.836 0-16-7.164-16-16V144c0-8.836 7.164-16 16-16s16 7.164 16 16v224c0 8.836-7.164 16-16 16zm-96 0c-8.836 0-16-7.164-16-16V144c0-8.836 7.164-16 16-16s16 7.164 16 16v224c0 8.836-7.164 16-16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaBellSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M633.82 458.1l-90.62-70.05c.19-1.38.8-2.66.8-4.06.05-7.55-2.61-15.27-8.61-21.71-19.32-20.76-55.47-51.99-55.47-154.29 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84c-40.33 8.38-74.66 31.07-97.59 62.57L45.47 3.37C38.49-2.05 28.43-.8 23.01 6.18L3.37 31.45C-2.05 38.42-.8 48.47 6.18 53.9l588.35 454.73c6.98 5.43 17.03 4.17 22.46-2.81l19.64-25.27c5.42-6.97 4.17-17.02-2.81-22.45zM157.23 251.54c-8.61 67.96-36.41 93.33-52.62 110.75-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h241.92L157.23 251.54zM320 512c35.32 0 63.97-28.65 63.97-64H256.03c0 35.35 28.65 64 63.97 64z\"},\"child\":[]}]})(props);\n};\nexport function FaBell (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 512c35.32 0 63.97-28.65 63.97-64H160.03c0 35.35 28.65 64 63.97 64zm215.39-149.71c-19.32-20.76-55.47-51.99-55.47-154.29 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84C118.56 68.1 64.08 130.3 64.08 208c0 102.3-36.15 133.53-55.47 154.29-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h383.8c19.12 0 32-15.6 32.1-32 .05-7.55-2.61-15.27-8.61-21.71z\"},\"child\":[]}]})(props);\n};\nexport function FaBezierCurve (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M368 32h-96c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32zM208 88h-84.75C113.75 64.56 90.84 48 64 48 28.66 48 0 76.65 0 112s28.66 64 64 64c26.84 0 49.75-16.56 59.25-40h79.73c-55.37 32.52-95.86 87.32-109.54 152h49.4c11.3-41.61 36.77-77.21 71.04-101.56-3.7-8.08-5.88-16.99-5.88-26.44V88zm-48 232H64c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32zM576 48c-26.84 0-49.75 16.56-59.25 40H432v72c0 9.45-2.19 18.36-5.88 26.44 34.27 24.35 59.74 59.95 71.04 101.56h49.4c-13.68-64.68-54.17-119.48-109.54-152h79.73c9.5 23.44 32.41 40 59.25 40 35.34 0 64-28.65 64-64s-28.66-64-64-64zm0 272h-96c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaBible (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 358.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16c0-6.4-3.2-12.8-9.6-19.2-3.2-16-3.2-60.8 0-73.6 6.4-3.2 9.6-9.6 9.6-19.2zM144 144c0-8.84 7.16-16 16-16h48V80c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v48h48c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16h-48v112c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16V192h-48c-8.84 0-16-7.16-16-16v-32zm236.8 304H96c-19.2 0-32-12.8-32-32s16-32 32-32h284.8v64z\"},\"child\":[]}]})(props);\n};\nexport function FaBicycle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512.509 192.001c-16.373-.064-32.03 2.955-46.436 8.495l-77.68-125.153A24 24 0 0 0 368.001 64h-64c-8.837 0-16 7.163-16 16v16c0 8.837 7.163 16 16 16h50.649l14.896 24H256.002v-16c0-8.837-7.163-16-16-16h-87.459c-13.441 0-24.777 10.999-24.536 24.437.232 13.044 10.876 23.563 23.995 23.563h48.726l-29.417 47.52c-13.433-4.83-27.904-7.483-42.992-7.52C58.094 191.83.412 249.012.002 319.236-.413 390.279 57.055 448 128.002 448c59.642 0 109.758-40.793 123.967-96h52.033a24 24 0 0 0 20.406-11.367L410.37 201.77l14.938 24.067c-25.455 23.448-41.385 57.081-41.307 94.437.145 68.833 57.899 127.051 126.729 127.719 70.606.685 128.181-55.803 129.255-125.996 1.086-70.941-56.526-129.72-127.476-129.996zM186.75 265.772c9.727 10.529 16.673 23.661 19.642 38.228h-43.306l23.664-38.228zM128.002 400c-44.112 0-80-35.888-80-80s35.888-80 80-80c5.869 0 11.586.653 17.099 1.859l-45.505 73.509C89.715 331.327 101.213 352 120.002 352h81.3c-12.37 28.225-40.562 48-73.3 48zm162.63-96h-35.624c-3.96-31.756-19.556-59.894-42.383-80.026L237.371 184h127.547l-74.286 120zm217.057 95.886c-41.036-2.165-74.049-35.692-75.627-76.755-.812-21.121 6.633-40.518 19.335-55.263l44.433 71.586c4.66 7.508 14.524 9.816 22.032 5.156l13.594-8.437c7.508-4.66 9.817-14.524 5.156-22.032l-44.468-71.643a79.901 79.901 0 0 1 19.858-2.497c44.112 0 80 35.888 80 80-.001 45.54-38.252 82.316-84.313 79.885z\"},\"child\":[]}]})(props);\n};\nexport function FaBiking (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 96a48 48 0 1 0-48-48 48 48 0 0 0 48 48zm-4 121a31.9 31.9 0 0 0 20 7h64a32 32 0 0 0 0-64h-52.78L356 103a31.94 31.94 0 0 0-40.81.68l-112 96a32 32 0 0 0 3.08 50.92L288 305.12V416a32 32 0 0 0 64 0V288a32 32 0 0 0-14.25-26.62l-41.36-27.57 58.25-49.92zm116 39a128 128 0 1 0 128 128 128 128 0 0 0-128-128zm0 192a64 64 0 1 1 64-64 64 64 0 0 1-64 64zM128 256a128 128 0 1 0 128 128 128 128 0 0 0-128-128zm0 192a64 64 0 1 1 64-64 64 64 0 0 1-64 64z\"},\"child\":[]}]})(props);\n};\nexport function FaBinoculars (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416 48c0-8.84-7.16-16-16-16h-64c-8.84 0-16 7.16-16 16v48h96V48zM63.91 159.99C61.4 253.84 3.46 274.22 0 404v44c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32V288h32V128H95.84c-17.63 0-31.45 14.37-31.93 31.99zm384.18 0c-.48-17.62-14.3-31.99-31.93-31.99H320v160h32v160c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-44c-3.46-129.78-61.4-150.16-63.91-244.01zM176 32h-64c-8.84 0-16 7.16-16 16v48h96V48c0-8.84-7.16-16-16-16zm48 256h64V128h-64v160z\"},\"child\":[]}]})(props);\n};\nexport function FaBiohazard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M287.9 112c18.6 0 36.2 3.8 52.8 9.6 13.3-10.3 23.6-24.3 29.5-40.7-25.2-10.9-53-17-82.2-17-29.1 0-56.9 6-82.1 16.9 5.9 16.4 16.2 30.4 29.5 40.7 16.5-5.7 34-9.5 52.5-9.5zM163.6 438.7c12-11.8 20.4-26.4 24.5-42.4-32.9-26.4-54.8-65.3-58.9-109.6-8.5-2.8-17.2-4.6-26.4-4.6-7.6 0-15.2 1-22.5 3.1 4.1 62.8 35.8 118 83.3 153.5zm224.2-42.6c4.1 16 12.5 30.7 24.5 42.5 47.4-35.5 79.1-90.7 83-153.5-7.2-2-14.7-3-22.2-3-9.2 0-18 1.9-26.6 4.7-4.1 44.2-26 82.9-58.7 109.3zm113.5-205c-17.6-10.4-36.3-16.6-55.3-19.9 6-17.7 10-36.4 10-56.2 0-41-14.5-80.8-41-112.2-2.5-3-6.6-3.7-10-1.8-3.3 1.9-4.8 6-3.6 9.7 4.5 13.8 6.6 26.3 6.6 38.5 0 67.8-53.8 122.9-120 122.9S168 117 168 49.2c0-12.1 2.2-24.7 6.6-38.5 1.2-3.7-.3-7.8-3.6-9.7-3.4-1.9-7.5-1.2-10 1.8C134.6 34.2 120 74 120 115c0 19.8 3.9 38.5 10 56.2-18.9 3.3-37.7 9.5-55.3 19.9-34.6 20.5-61 53.3-74.3 92.4-1.3 3.7.2 7.7 3.5 9.8 3.3 2 7.5 1.3 10-1.6 9.4-10.8 19-19.1 29.2-25.1 57.3-33.9 130.8-13.7 163.9 45 33.1 58.7 13.4 134-43.9 167.9-10.2 6.1-22 10.4-35.8 13.4-3.7.8-6.4 4.2-6.4 8.1.1 4 2.7 7.3 6.5 8 39.7 7.8 80.6.8 115.2-19.7 18-10.6 32.9-24.5 45.3-40.1 12.4 15.6 27.3 29.5 45.3 40.1 34.6 20.5 75.5 27.5 115.2 19.7 3.8-.7 6.4-4 6.5-8 0-3.9-2.6-7.3-6.4-8.1-13.9-2.9-25.6-7.3-35.8-13.4-57.3-33.9-77-109.2-43.9-167.9s106.6-78.9 163.9-45c10.2 6.1 19.8 14.3 29.2 25.1 2.5 2.9 6.7 3.6 10 1.6s4.8-6.1 3.5-9.8c-13.1-39.1-39.5-72-74.1-92.4zm-213.4 129c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48z\"},\"child\":[]}]})(props);\n};\nexport function FaBirthdayCake (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 384c-28.02 0-31.26-32-74.5-32-43.43 0-46.825 32-74.75 32-27.695 0-31.454-32-74.75-32-42.842 0-47.218 32-74.5 32-28.148 0-31.202-32-74.75-32-43.547 0-46.653 32-74.75 32v-80c0-26.5 21.5-48 48-48h16V112h64v144h64V112h64v144h64V112h64v144h16c26.5 0 48 21.5 48 48v80zm0 128H0v-96c43.356 0 46.767-32 74.75-32 27.951 0 31.253 32 74.75 32 42.843 0 47.217-32 74.5-32 28.148 0 31.201 32 74.75 32 43.357 0 46.767-32 74.75-32 27.488 0 31.252 32 74.5 32v96zM96 96c-17.75 0-32-14.25-32-32 0-31 32-23 32-64 12 0 32 29.5 32 56s-14.25 40-32 40zm128 0c-17.75 0-32-14.25-32-32 0-31 32-23 32-64 12 0 32 29.5 32 56s-14.25 40-32 40zm128 0c-17.75 0-32-14.25-32-32 0-31 32-23 32-64 12 0 32 29.5 32 56s-14.25 40-32 40z\"},\"child\":[]}]})(props);\n};\nexport function FaBlenderPhone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M392 64h166.54L576 0H192v352h288l17.46-64H392c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h114.18l17.46-64H392c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h140.36l17.46-64H392c-4.42 0-8-3.58-8-8V72c0-4.42 3.58-8 8-8zM158.8 335.01l-25.78-63.26c-2.78-6.81-9.8-10.99-17.24-10.26l-45.03 4.42c-17.28-46.94-17.65-99.78 0-147.72l45.03 4.42c7.43.73 14.46-3.46 17.24-10.26l25.78-63.26c3.02-7.39.2-15.85-6.68-20.07l-39.28-24.1C98.51-3.87 80.09-.5 68.95 11.97c-92.57 103.6-92 259.55 2.1 362.49 9.87 10.8 29.12 12.48 41.65 4.8l39.41-24.18c6.89-4.22 9.7-12.67 6.69-20.07zM480 384H192c-35.35 0-64 28.65-64 64v32c0 17.67 14.33 32 32 32h352c17.67 0 32-14.33 32-32v-32c0-35.35-28.65-64-64-64zm-144 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaBlender (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416 384H160c-35.35 0-64 28.65-64 64v32c0 17.67 14.33 32 32 32h320c17.67 0 32-14.33 32-32v-32c0-35.35-28.65-64-64-64zm-128 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm40-416h166.54L512 0H48C21.49 0 0 21.49 0 48v160c0 26.51 21.49 48 48 48h103.27l8.73 96h256l17.46-64H328c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h114.18l17.46-64H328c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h140.36l17.46-64H328c-4.42 0-8-3.58-8-8V72c0-4.42 3.58-8 8-8zM64 192V64h69.82l11.64 128H64z\"},\"child\":[]}]})(props);\n};\nexport function FaBlind (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M380.15 510.837a8 8 0 0 1-10.989-2.687l-125.33-206.427a31.923 31.923 0 0 0 12.958-9.485l126.048 207.608a8 8 0 0 1-2.687 10.991zM142.803 314.338l-32.54 89.485 36.12 88.285c6.693 16.36 25.377 24.192 41.733 17.501 16.357-6.692 24.193-25.376 17.501-41.734l-62.814-153.537zM96 88c24.301 0 44-19.699 44-44S120.301 0 96 0 52 19.699 52 44s19.699 44 44 44zm154.837 169.128l-120-152c-4.733-5.995-11.75-9.108-18.837-9.112V96H80v.026c-7.146.003-14.217 3.161-18.944 9.24L0 183.766v95.694c0 13.455 11.011 24.791 24.464 24.536C37.505 303.748 48 293.1 48 280v-79.766l16-20.571v140.698L9.927 469.055c-6.04 16.609 2.528 34.969 19.138 41.009 16.602 6.039 34.968-2.524 41.009-19.138L136 309.638V202.441l-31.406-39.816a4 4 0 1 1 6.269-4.971l102.3 129.217c9.145 11.584 24.368 11.339 33.708 3.965 10.41-8.216 12.159-23.334 3.966-33.708z\"},\"child\":[]}]})(props);\n};\nexport function FaBlog (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M172.2 226.8c-14.6-2.9-28.2 8.9-28.2 23.8V301c0 10.2 7.1 18.4 16.7 22 18.2 6.8 31.3 24.4 31.3 45 0 26.5-21.5 48-48 48s-48-21.5-48-48V120c0-13.3-10.7-24-24-24H24c-13.3 0-24 10.7-24 24v248c0 89.5 82.1 160.2 175 140.7 54.4-11.4 98.3-55.4 109.7-109.7 17.4-82.9-37-157.2-112.5-172.2zM209 0c-9.2-.5-17 6.8-17 16v31.6c0 8.5 6.6 15.5 15 15.9 129.4 7 233.4 112 240.9 241.5.5 8.4 7.5 15 15.9 15h32.1c9.2 0 16.5-7.8 16-17C503.4 139.8 372.2 8.6 209 0zm.3 96c-9.3-.7-17.3 6.7-17.3 16.1v32.1c0 8.4 6.5 15.3 14.8 15.9 76.8 6.3 138 68.2 144.9 145.2.8 8.3 7.6 14.7 15.9 14.7h32.2c9.3 0 16.8-8 16.1-17.3-8.4-110.1-96.5-198.2-206.6-206.7z\"},\"child\":[]}]})(props);\n};\nexport function FaBold (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M333.49 238a122 122 0 0 0 27-65.21C367.87 96.49 308 32 233.42 32H34a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h31.87v288H34a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h209.32c70.8 0 134.14-51.75 141-122.4 4.74-48.45-16.39-92.06-50.83-119.6zM145.66 112h87.76a48 48 0 0 1 0 96h-87.76zm87.76 288h-87.76V288h87.76a56 56 0 0 1 0 112z\"},\"child\":[]}]})(props);\n};\nexport function FaBolt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M296 160H180.6l42.6-129.8C227.2 15 215.7 0 200 0H56C44 0 33.8 8.9 32.2 20.8l-32 240C-1.7 275.2 9.5 288 24 288h118.7L96.6 482.5c-3.6 15.2 8 29.5 23.3 29.5 8.4 0 16.4-4.4 20.8-12l176-304c9.3-15.9-2.2-36-20.7-36z\"},\"child\":[]}]})(props);\n};\nexport function FaBomb (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M440.5 88.5l-52 52L415 167c9.4 9.4 9.4 24.6 0 33.9l-17.4 17.4c11.8 26.1 18.4 55.1 18.4 85.6 0 114.9-93.1 208-208 208S0 418.9 0 304 93.1 96 208 96c30.5 0 59.5 6.6 85.6 18.4L311 97c9.4-9.4 24.6-9.4 33.9 0l26.5 26.5 52-52 17.1 17zM500 60h-24c-6.6 0-12 5.4-12 12s5.4 12 12 12h24c6.6 0 12-5.4 12-12s-5.4-12-12-12zM440 0c-6.6 0-12 5.4-12 12v24c0 6.6 5.4 12 12 12s12-5.4 12-12V12c0-6.6-5.4-12-12-12zm33.9 55l17-17c4.7-4.7 4.7-12.3 0-17-4.7-4.7-12.3-4.7-17 0l-17 17c-4.7 4.7-4.7 12.3 0 17 4.8 4.7 12.4 4.7 17 0zm-67.8 0c4.7 4.7 12.3 4.7 17 0 4.7-4.7 4.7-12.3 0-17l-17-17c-4.7-4.7-12.3-4.7-17 0-4.7 4.7-4.7 12.3 0 17l17 17zm67.8 34c-4.7-4.7-12.3-4.7-17 0-4.7 4.7-4.7 12.3 0 17l17 17c4.7 4.7 12.3 4.7 17 0 4.7-4.7 4.7-12.3 0-17l-17-17zM112 272c0-35.3 28.7-64 64-64 8.8 0 16-7.2 16-16s-7.2-16-16-16c-52.9 0-96 43.1-96 96 0 8.8 7.2 16 16 16s16-7.2 16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaBone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M598.88 244.56c25.2-12.6 41.12-38.36 41.12-66.53v-7.64C640 129.3 606.7 96 565.61 96c-32.02 0-60.44 20.49-70.57 50.86-7.68 23.03-11.6 45.14-38.11 45.14H183.06c-27.38 0-31.58-25.54-38.11-45.14C134.83 116.49 106.4 96 74.39 96 33.3 96 0 129.3 0 170.39v7.64c0 28.17 15.92 53.93 41.12 66.53 9.43 4.71 9.43 18.17 0 22.88C15.92 280.04 0 305.8 0 333.97v7.64C0 382.7 33.3 416 74.38 416c32.02 0 60.44-20.49 70.57-50.86 7.68-23.03 11.6-45.14 38.11-45.14h273.87c27.38 0 31.58 25.54 38.11 45.14C505.17 395.51 533.6 416 565.61 416c41.08 0 74.38-33.3 74.38-74.39v-7.64c0-28.18-15.92-53.93-41.12-66.53-9.42-4.71-9.42-18.17.01-22.88z\"},\"child\":[]}]})(props);\n};\nexport function FaBong (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M302.5 512c23.18 0 44.43-12.58 56-32.66C374.69 451.26 384 418.75 384 384c0-36.12-10.08-69.81-27.44-98.62L400 241.94l9.38 9.38c6.25 6.25 16.38 6.25 22.63 0l11.3-11.32c6.25-6.25 6.25-16.38 0-22.63l-52.69-52.69c-6.25-6.25-16.38-6.25-22.63 0l-11.31 11.31c-6.25 6.25-6.25 16.38 0 22.63l9.38 9.38-39.41 39.41c-11.56-11.37-24.53-21.33-38.65-29.51V63.74l15.97-.02c8.82-.01 15.97-7.16 15.98-15.98l.04-31.72C320 7.17 312.82-.01 303.97 0L80.03.26c-8.82.01-15.97 7.16-15.98 15.98l-.04 31.73c-.01 8.85 7.17 16.02 16.02 16.01L96 63.96v153.93C38.67 251.1 0 312.97 0 384c0 34.75 9.31 67.27 25.5 95.34C37.08 499.42 58.33 512 81.5 512h221zM120.06 259.43L144 245.56V63.91l96-.11v181.76l23.94 13.87c24.81 14.37 44.12 35.73 56.56 60.57h-257c12.45-24.84 31.75-46.2 56.56-60.57z\"},\"child\":[]}]})(props);\n};\nexport function FaBookDead (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M272 136c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16zm176 222.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16c0-6.4-3.2-12.8-9.6-19.2-3.2-16-3.2-60.8 0-73.6 6.4-3.2 9.6-9.6 9.6-19.2zM240 56c44.2 0 80 28.7 80 64 0 20.9-12.7 39.2-32 50.9V184c0 8.8-7.2 16-16 16h-64c-8.8 0-16-7.2-16-16v-13.1c-19.3-11.7-32-30-32-50.9 0-35.3 35.8-64 80-64zM124.8 223.3l6.3-14.7c1.7-4.1 6.4-5.9 10.5-4.2l98.3 42.1 98.4-42.1c4.1-1.7 8.8.1 10.5 4.2l6.3 14.7c1.7 4.1-.1 8.8-4.2 10.5L280.6 264l70.3 30.1c4.1 1.7 5.9 6.4 4.2 10.5l-6.3 14.7c-1.7 4.1-6.4 5.9-10.5 4.2L240 281.4l-98.3 42.2c-4.1 1.7-8.8-.1-10.5-4.2l-6.3-14.7c-1.7-4.1.1-8.8 4.2-10.5l70.4-30.1-70.5-30.3c-4.1-1.7-5.9-6.4-4.2-10.5zm256 224.7H96c-19.2 0-32-12.8-32-32s16-32 32-32h284.8zM208 136c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaBookMedical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 358.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16q0-9.6-9.6-19.2c-3.2-16-3.2-60.8 0-73.6q9.6-4.8 9.6-19.2zM144 168a8 8 0 0 1 8-8h56v-56a8 8 0 0 1 8-8h48a8 8 0 0 1 8 8v56h56a8 8 0 0 1 8 8v48a8 8 0 0 1-8 8h-56v56a8 8 0 0 1-8 8h-48a8 8 0 0 1-8-8v-56h-56a8 8 0 0 1-8-8zm236.8 280H96c-19.2 0-32-12.8-32-32s16-32 32-32h284.8z\"},\"child\":[]}]})(props);\n};\nexport function FaBookOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M542.22 32.05c-54.8 3.11-163.72 14.43-230.96 55.59-4.64 2.84-7.27 7.89-7.27 13.17v363.87c0 11.55 12.63 18.85 23.28 13.49 69.18-34.82 169.23-44.32 218.7-46.92 16.89-.89 30.02-14.43 30.02-30.66V62.75c.01-17.71-15.35-31.74-33.77-30.7zM264.73 87.64C197.5 46.48 88.58 35.17 33.78 32.05 15.36 31.01 0 45.04 0 62.75V400.6c0 16.24 13.13 29.78 30.02 30.66 49.49 2.6 149.59 12.11 218.77 46.95 10.62 5.35 23.21-1.94 23.21-13.46V100.63c0-5.29-2.62-10.14-7.27-12.99z\"},\"child\":[]}]})(props);\n};\nexport function FaBookReader (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M352 96c0-53.02-42.98-96-96-96s-96 42.98-96 96 42.98 96 96 96 96-42.98 96-96zM233.59 241.1c-59.33-36.32-155.43-46.3-203.79-49.05C13.55 191.13 0 203.51 0 219.14v222.8c0 14.33 11.59 26.28 26.49 27.05 43.66 2.29 131.99 10.68 193.04 41.43 9.37 4.72 20.48-1.71 20.48-11.87V252.56c-.01-4.67-2.32-8.95-6.42-11.46zm248.61-49.05c-48.35 2.74-144.46 12.73-203.78 49.05-4.1 2.51-6.41 6.96-6.41 11.63v245.79c0 10.19 11.14 16.63 20.54 11.9 61.04-30.72 149.32-39.11 192.97-41.4 14.9-.78 26.49-12.73 26.49-27.06V219.14c-.01-15.63-13.56-28.01-29.81-27.09z\"},\"child\":[]}]})(props);\n};\nexport function FaBook (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 360V24c0-13.3-10.7-24-24-24H96C43 0 0 43 0 96v320c0 53 43 96 96 96h328c13.3 0 24-10.7 24-24v-16c0-7.5-3.5-14.3-8.9-18.7-4.2-15.4-4.2-59.3 0-74.7 5.4-4.3 8.9-11.1 8.9-18.6zM128 134c0-3.3 2.7-6 6-6h212c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H134c-3.3 0-6-2.7-6-6v-20zm0 64c0-3.3 2.7-6 6-6h212c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H134c-3.3 0-6-2.7-6-6v-20zm253.4 250H96c-17.7 0-32-14.3-32-32 0-17.6 14.4-32 32-32h285.4c-1.9 17.1-1.9 46.9 0 64z\"},\"child\":[]}]})(props);\n};\nexport function FaBookmark (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 512V48C0 21.49 21.49 0 48 0h288c26.51 0 48 21.49 48 48v464L192 400 0 512z\"},\"child\":[]}]})(props);\n};\nexport function FaBorderAll (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416 32H32A32 32 0 0 0 0 64v384a32 32 0 0 0 32 32h384a32 32 0 0 0 32-32V64a32 32 0 0 0-32-32zm-32 64v128H256V96zm-192 0v128H64V96zM64 416V288h128v128zm192 0V288h128v128z\"},\"child\":[]}]})(props);\n};\nexport function FaBorderNone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M240 224h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-288 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96 192h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-96h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-192h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM240 320h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-192h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-96 288h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96-384h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zM48 224H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 192H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-96H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-192H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-96H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaBorderStyle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M240 416h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-96 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm192 0h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm96-192h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 96h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0 96h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-288h-32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-96H32A32 32 0 0 0 0 64v400a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V96h368a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaBowlingBall (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM120 192c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm64-96c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm48 144c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaBoxOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M425.7 256c-16.9 0-32.8-9-41.4-23.4L320 126l-64.2 106.6c-8.7 14.5-24.6 23.5-41.5 23.5-4.5 0-9-.6-13.3-1.9L64 215v178c0 14.7 10 27.5 24.2 31l216.2 54.1c10.2 2.5 20.9 2.5 31 0L551.8 424c14.2-3.6 24.2-16.4 24.2-31V215l-137 39.1c-4.3 1.3-8.8 1.9-13.3 1.9zm212.6-112.2L586.8 41c-3.1-6.2-9.8-9.8-16.7-8.9L320 64l91.7 152.1c3.8 6.3 11.4 9.3 18.5 7.3l197.9-56.5c9.9-2.9 14.7-13.9 10.2-23.1zM53.2 41L1.7 143.8c-4.6 9.2.3 20.2 10.1 23l197.9 56.5c7.1 2 14.7-1 18.5-7.3L320 64 69.8 32.1c-6.9-.8-13.5 2.7-16.6 8.9z\"},\"child\":[]}]})(props);\n};\nexport function FaBoxTissue (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M383.88,287.82l64-192H338.47a70.2,70.2,0,0,1-66.59-48,70.21,70.21,0,0,0-66.6-48H63.88l64,288Zm-384,192a32,32,0,0,0,32,32h448a32,32,0,0,0,32-32v-64H-.12Zm480-256H438.94l-21.33,64h14.27a16,16,0,0,1,0,32h-352a16,16,0,1,1,0-32H95.09l-14.22-64h-49a32,32,0,0,0-32,32v128h512v-128A32,32,0,0,0,479.88,223.82Z\"},\"child\":[]}]})(props);\n};\nexport function FaBox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M509.5 184.6L458.9 32.8C452.4 13.2 434.1 0 413.4 0H272v192h238.7c-.4-2.5-.4-5-1.2-7.4zM240 0H98.6c-20.7 0-39 13.2-45.5 32.8L2.5 184.6c-.8 2.4-.8 4.9-1.2 7.4H240V0zM0 224v240c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V224H0z\"},\"child\":[]}]})(props);\n};\nexport function FaBoxes (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M560 288h-80v96l-32-21.3-32 21.3v-96h-80c-8.8 0-16 7.2-16 16v192c0 8.8 7.2 16 16 16h224c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16zm-384-64h224c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16h-80v96l-32-21.3L256 96V0h-80c-8.8 0-16 7.2-16 16v192c0 8.8 7.2 16 16 16zm64 64h-80v96l-32-21.3L96 384v-96H16c-8.8 0-16 7.2-16 16v192c0 8.8 7.2 16 16 16h224c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaBraille (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M128 256c0 35.346-28.654 64-64 64S0 291.346 0 256s28.654-64 64-64 64 28.654 64 64zM64 384c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0-352C28.654 32 0 60.654 0 96s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64zm160 192c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0 160c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0-352c-35.346 0-64 28.654-64 64s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64zm224 192c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0 160c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0-352c-35.346 0-64 28.654-64 64s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64zm160 192c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0 160c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0-320c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaBrain (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M208 0c-29.9 0-54.7 20.5-61.8 48.2-.8 0-1.4-.2-2.2-.2-35.3 0-64 28.7-64 64 0 4.8.6 9.5 1.7 14C52.5 138 32 166.6 32 200c0 12.6 3.2 24.3 8.3 34.9C16.3 248.7 0 274.3 0 304c0 33.3 20.4 61.9 49.4 73.9-.9 4.6-1.4 9.3-1.4 14.1 0 39.8 32.2 72 72 72 4.1 0 8.1-.5 12-1.2 9.6 28.5 36.2 49.2 68 49.2 39.8 0 72-32.2 72-72V64c0-35.3-28.7-64-64-64zm368 304c0-29.7-16.3-55.3-40.3-69.1 5.2-10.6 8.3-22.3 8.3-34.9 0-33.4-20.5-62-49.7-74 1-4.5 1.7-9.2 1.7-14 0-35.3-28.7-64-64-64-.8 0-1.5.2-2.2.2C422.7 20.5 397.9 0 368 0c-35.3 0-64 28.6-64 64v376c0 39.8 32.2 72 72 72 31.8 0 58.4-20.7 68-49.2 3.9.7 7.9 1.2 12 1.2 39.8 0 72-32.2 72-72 0-4.8-.5-9.5-1.4-14.1 29-12 49.4-40.6 49.4-73.9z\"},\"child\":[]}]})(props);\n};\nexport function FaBreadSlice (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 0C108 0 0 93.4 0 169.14 0 199.44 24.24 224 64 224v256c0 17.67 16.12 32 36 32h376c19.88 0 36-14.33 36-32V224c39.76 0 64-24.56 64-54.86C576 93.4 468 0 288 0z\"},\"child\":[]}]})(props);\n};\nexport function FaBriefcaseMedical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 128h-80V80c0-26.5-21.5-48-48-48H176c-26.5 0-48 21.5-48 48v48H48c-26.5 0-48 21.5-48 48v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V176c0-26.5-21.5-48-48-48zM192 96h128v32H192V96zm160 248c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48z\"},\"child\":[]}]})(props);\n};\nexport function FaBriefcase (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M320 336c0 8.84-7.16 16-16 16h-96c-8.84 0-16-7.16-16-16v-48H0v144c0 25.6 22.4 48 48 48h416c25.6 0 48-22.4 48-48V288H320v48zm144-208h-80V80c0-25.6-22.4-48-48-48H176c-25.6 0-48 22.4-48 48v48H48c-25.6 0-48 22.4-48 48v80h512v-80c0-25.6-22.4-48-48-48zm-144 0H192V96h128v32z\"},\"child\":[]}]})(props);\n};\nexport function FaBroadcastTower (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M150.94 192h33.73c11.01 0 18.61-10.83 14.86-21.18-4.93-13.58-7.55-27.98-7.55-42.82s2.62-29.24 7.55-42.82C203.29 74.83 195.68 64 184.67 64h-33.73c-7.01 0-13.46 4.49-15.41 11.23C130.64 92.21 128 109.88 128 128c0 18.12 2.64 35.79 7.54 52.76 1.94 6.74 8.39 11.24 15.4 11.24zM89.92 23.34C95.56 12.72 87.97 0 75.96 0H40.63c-6.27 0-12.14 3.59-14.74 9.31C9.4 45.54 0 85.65 0 128c0 24.75 3.12 68.33 26.69 118.86 2.62 5.63 8.42 9.14 14.61 9.14h34.84c12.02 0 19.61-12.74 13.95-23.37-49.78-93.32-16.71-178.15-.17-209.29zM614.06 9.29C611.46 3.58 605.6 0 599.33 0h-35.42c-11.98 0-19.66 12.66-14.02 23.25 18.27 34.29 48.42 119.42.28 209.23-5.72 10.68 1.8 23.52 13.91 23.52h35.23c6.27 0 12.13-3.58 14.73-9.29C630.57 210.48 640 170.36 640 128s-9.42-82.48-25.94-118.71zM489.06 64h-33.73c-11.01 0-18.61 10.83-14.86 21.18 4.93 13.58 7.55 27.98 7.55 42.82s-2.62 29.24-7.55 42.82c-3.76 10.35 3.85 21.18 14.86 21.18h33.73c7.02 0 13.46-4.49 15.41-11.24 4.9-16.97 7.53-34.64 7.53-52.76 0-18.12-2.64-35.79-7.54-52.76-1.94-6.75-8.39-11.24-15.4-11.24zm-116.3 100.12c7.05-10.29 11.2-22.71 11.2-36.12 0-35.35-28.63-64-63.96-64-35.32 0-63.96 28.65-63.96 64 0 13.41 4.15 25.83 11.2 36.12l-130.5 313.41c-3.4 8.15.46 17.52 8.61 20.92l29.51 12.31c8.15 3.4 17.52-.46 20.91-8.61L244.96 384h150.07l49.2 118.15c3.4 8.16 12.76 12.01 20.91 8.61l29.51-12.31c8.15-3.4 12-12.77 8.61-20.92l-130.5-313.41zM271.62 320L320 203.81 368.38 320h-96.76z\"},\"child\":[]}]})(props);\n};\nexport function FaBroom (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256.47 216.77l86.73 109.18s-16.6 102.36-76.57 150.12C206.66 523.85 0 510.19 0 510.19s3.8-23.14 11-55.43l94.62-112.17c3.97-4.7-.87-11.62-6.65-9.5l-60.4 22.09c14.44-41.66 32.72-80.04 54.6-97.47 59.97-47.76 163.3-40.94 163.3-40.94zM636.53 31.03l-19.86-25c-5.49-6.9-15.52-8.05-22.41-2.56l-232.48 177.8-34.14-42.97c-5.09-6.41-15.14-5.21-18.59 2.21l-25.33 54.55 86.73 109.18 58.8-12.45c8-1.69 11.42-11.2 6.34-17.6l-34.09-42.92 232.48-177.8c6.89-5.48 8.04-15.53 2.55-22.44z\"},\"child\":[]}]})(props);\n};\nexport function FaBrush (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M352 0H32C14.33 0 0 14.33 0 32v224h384V32c0-17.67-14.33-32-32-32zM0 320c0 35.35 28.66 64 64 64h64v64c0 35.35 28.66 64 64 64s64-28.65 64-64v-64h64c35.34 0 64-28.65 64-64v-32H0v32zm192 104c13.25 0 24 10.74 24 24 0 13.25-10.75 24-24 24s-24-10.75-24-24c0-13.26 10.75-24 24-24z\"},\"child\":[]}]})(props);\n};\nexport function FaBug (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M511.988 288.9c-.478 17.43-15.217 31.1-32.653 31.1H424v16c0 21.864-4.882 42.584-13.6 61.145l60.228 60.228c12.496 12.497 12.496 32.758 0 45.255-12.498 12.497-32.759 12.496-45.256 0l-54.736-54.736C345.886 467.965 314.351 480 280 480V236c0-6.627-5.373-12-12-12h-24c-6.627 0-12 5.373-12 12v244c-34.351 0-65.886-12.035-90.636-32.108l-54.736 54.736c-12.498 12.497-32.759 12.496-45.256 0-12.496-12.497-12.496-32.758 0-45.255l60.228-60.228C92.882 378.584 88 357.864 88 336v-16H32.666C15.23 320 .491 306.33.013 288.9-.484 270.816 14.028 256 32 256h56v-58.745l-46.628-46.628c-12.496-12.497-12.496-32.758 0-45.255 12.498-12.497 32.758-12.497 45.256 0L141.255 160h229.489l54.627-54.627c12.498-12.497 32.758-12.497 45.256 0 12.496 12.497 12.496 32.758 0 45.255L424 197.255V256h56c17.972 0 32.484 14.816 31.988 32.9zM257 0c-61.856 0-112 50.144-112 112h224C369 50.144 318.856 0 257 0z\"},\"child\":[]}]})(props);\n};\nexport function FaBuilding (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M436 480h-20V24c0-13.255-10.745-24-24-24H56C42.745 0 32 10.745 32 24v456H12c-6.627 0-12 5.373-12 12v20h448v-20c0-6.627-5.373-12-12-12zM128 76c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12V76zm0 96c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12v-40zm52 148h-40c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12zm76 160h-64v-84c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v84zm64-172c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40zm0-96c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40zm0-96c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12V76c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40z\"},\"child\":[]}]})(props);\n};\nexport function FaBullhorn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M576 240c0-23.63-12.95-44.04-32-55.12V32.01C544 23.26 537.02 0 512 0c-7.12 0-14.19 2.38-19.98 7.02l-85.03 68.03C364.28 109.19 310.66 128 256 128H64c-35.35 0-64 28.65-64 64v96c0 35.35 28.65 64 64 64h33.7c-1.39 10.48-2.18 21.14-2.18 32 0 39.77 9.26 77.35 25.56 110.94 5.19 10.69 16.52 17.06 28.4 17.06h74.28c26.05 0 41.69-29.84 25.9-50.56-16.4-21.52-26.15-48.36-26.15-77.44 0-11.11 1.62-21.79 4.41-32H256c54.66 0 108.28 18.81 150.98 52.95l85.03 68.03a32.023 32.023 0 0 0 19.98 7.02c24.92 0 32-22.78 32-32V295.13C563.05 284.04 576 263.63 576 240zm-96 141.42l-33.05-26.44C392.95 311.78 325.12 288 256 288v-96c69.12 0 136.95-23.78 190.95-66.98L480 98.58v282.84z\"},\"child\":[]}]})(props);\n};\nexport function FaBullseye (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 432c-101.69 0-184-82.29-184-184 0-101.69 82.29-184 184-184 101.69 0 184 82.29 184 184 0 101.69-82.29 184-184 184zm0-312c-70.69 0-128 57.31-128 128s57.31 128 128 128 128-57.31 128-128-57.31-128-128-128zm0 192c-35.29 0-64-28.71-64-64s28.71-64 64-64 64 28.71 64 64-28.71 64-64 64z\"},\"child\":[]}]})(props);\n};\nexport function FaBurn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M192 0C79.7 101.3 0 220.9 0 300.5 0 425 79 512 192 512s192-87 192-211.5c0-79.9-80.2-199.6-192-300.5zm0 448c-56.5 0-96-39-96-94.8 0-13.5 4.6-61.5 96-161.2 91.4 99.7 96 147.7 96 161.2 0 55.8-39.5 94.8-96 94.8z\"},\"child\":[]}]})(props);\n};\nexport function FaBusAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M488 128h-8V80c0-44.8-99.2-80-224-80S32 35.2 32 80v48h-8c-13.25 0-24 10.74-24 24v80c0 13.25 10.75 24 24 24h8v160c0 17.67 14.33 32 32 32v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h192v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h6.4c16 0 25.6-12.8 25.6-25.6V256h8c13.25 0 24-10.75 24-24v-80c0-13.26-10.75-24-24-24zM160 72c0-4.42 3.58-8 8-8h176c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H168c-4.42 0-8-3.58-8-8V72zm-48 328c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm128-112H128c-17.67 0-32-14.33-32-32v-96c0-17.67 14.33-32 32-32h112v160zm32 0V128h112c17.67 0 32 14.33 32 32v96c0 17.67-14.33 32-32 32H272zm128 112c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaBus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M488 128h-8V80c0-44.8-99.2-80-224-80S32 35.2 32 80v48h-8c-13.25 0-24 10.74-24 24v80c0 13.25 10.75 24 24 24h8v160c0 17.67 14.33 32 32 32v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h192v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h6.4c16 0 25.6-12.8 25.6-25.6V256h8c13.25 0 24-10.75 24-24v-80c0-13.26-10.75-24-24-24zM112 400c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm16-112c-17.67 0-32-14.33-32-32V128c0-17.67 14.33-32 32-32h256c17.67 0 32 14.33 32 32v128c0 17.67-14.33 32-32 32H128zm272 112c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaBusinessTime (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496 224c-79.59 0-144 64.41-144 144s64.41 144 144 144 144-64.41 144-144-64.41-144-144-144zm64 150.29c0 5.34-4.37 9.71-9.71 9.71h-60.57c-5.34 0-9.71-4.37-9.71-9.71v-76.57c0-5.34 4.37-9.71 9.71-9.71h12.57c5.34 0 9.71 4.37 9.71 9.71V352h38.29c5.34 0 9.71 4.37 9.71 9.71v12.58zM496 192c5.4 0 10.72.33 16 .81V144c0-25.6-22.4-48-48-48h-80V48c0-25.6-22.4-48-48-48H176c-25.6 0-48 22.4-48 48v48H48c-25.6 0-48 22.4-48 48v80h395.12c28.6-20.09 63.35-32 100.88-32zM320 96H192V64h128v32zm6.82 224H208c-8.84 0-16-7.16-16-16v-48H0v144c0 25.6 22.4 48 48 48h291.43C327.1 423.96 320 396.82 320 368c0-16.66 2.48-32.72 6.82-48z\"},\"child\":[]}]})(props);\n};\nexport function FaCalculator (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 0H48C22.4 0 0 22.4 0 48v416c0 25.6 22.4 48 48 48h352c25.6 0 48-22.4 48-48V48c0-25.6-22.4-48-48-48zM128 435.2c0 6.4-6.4 12.8-12.8 12.8H76.8c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm0-128c0 6.4-6.4 12.8-12.8 12.8H76.8c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm128 128c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm0-128c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm128 128c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8V268.8c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v166.4zm0-256c0 6.4-6.4 12.8-12.8 12.8H76.8c-6.4 0-12.8-6.4-12.8-12.8V76.8C64 70.4 70.4 64 76.8 64h294.4c6.4 0 12.8 6.4 12.8 12.8v102.4z\"},\"child\":[]}]})(props);\n};\nexport function FaCalendarAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V192H0v272zm320-196c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zm0 128c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zM192 268c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zm0 128c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40zM64 268c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12v-40zm0 128c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12v-40zM400 64h-48V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H160V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H48C21.5 64 0 85.5 0 112v48h448v-48c0-26.5-21.5-48-48-48z\"},\"child\":[]}]})(props);\n};\nexport function FaCalendarCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M436 160H12c-6.627 0-12-5.373-12-12v-36c0-26.51 21.49-48 48-48h48V12c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v52h128V12c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v52h48c26.51 0 48 21.49 48 48v36c0 6.627-5.373 12-12 12zM12 192h424c6.627 0 12 5.373 12 12v260c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V204c0-6.627 5.373-12 12-12zm333.296 95.947l-28.169-28.398c-4.667-4.705-12.265-4.736-16.97-.068L194.12 364.665l-45.98-46.352c-4.667-4.705-12.266-4.736-16.971-.068l-28.397 28.17c-4.705 4.667-4.736 12.265-.068 16.97l82.601 83.269c4.667 4.705 12.265 4.736 16.97.068l142.953-141.805c4.705-4.667 4.736-12.265.068-16.97z\"},\"child\":[]}]})(props);\n};\nexport function FaCalendarDay (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V192H0v272zm64-192c0-8.8 7.2-16 16-16h96c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16v-96zM400 64h-48V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H160V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H48C21.5 64 0 85.5 0 112v48h448v-48c0-26.5-21.5-48-48-48z\"},\"child\":[]}]})(props);\n};\nexport function FaCalendarMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M436 160H12c-6.6 0-12-5.4-12-12v-36c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48v36c0 6.6-5.4 12-12 12zM12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm304 192c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12H132c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h184z\"},\"child\":[]}]})(props);\n};\nexport function FaCalendarPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M436 160H12c-6.6 0-12-5.4-12-12v-36c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48v36c0 6.6-5.4 12-12 12zM12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm316 140c0-6.6-5.4-12-12-12h-60v-60c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v60h-60c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h60v60c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-60h60c6.6 0 12-5.4 12-12v-40z\"},\"child\":[]}]})(props);\n};\nexport function FaCalendarTimes (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M436 160H12c-6.6 0-12-5.4-12-12v-36c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48v36c0 6.6-5.4 12-12 12zM12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm257.3 160l48.1-48.1c4.7-4.7 4.7-12.3 0-17l-28.3-28.3c-4.7-4.7-12.3-4.7-17 0L224 306.7l-48.1-48.1c-4.7-4.7-12.3-4.7-17 0l-28.3 28.3c-4.7 4.7-4.7 12.3 0 17l48.1 48.1-48.1 48.1c-4.7 4.7-4.7 12.3 0 17l28.3 28.3c4.7 4.7 12.3 4.7 17 0l48.1-48.1 48.1 48.1c4.7 4.7 12.3 4.7 17 0l28.3-28.3c4.7-4.7 4.7-12.3 0-17L269.3 352z\"},\"child\":[]}]})(props);\n};\nexport function FaCalendarWeek (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V192H0v272zm64-192c0-8.8 7.2-16 16-16h288c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16v-64zM400 64h-48V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H160V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48H48C21.5 64 0 85.5 0 112v48h448v-48c0-26.5-21.5-48-48-48z\"},\"child\":[]}]})(props);\n};\nexport function FaCalendar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm436-44v-36c0-26.5-21.5-48-48-48h-48V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H160V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H48C21.5 64 0 85.5 0 112v36c0 6.6 5.4 12 12 12h424c6.6 0 12-5.4 12-12z\"},\"child\":[]}]})(props);\n};\nexport function FaCameraRetro (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M48 32C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H48zm0 32h106c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H38c-3.3 0-6-2.7-6-6V80c0-8.8 7.2-16 16-16zm426 96H38c-3.3 0-6-2.7-6-6v-36c0-3.3 2.7-6 6-6h138l30.2-45.3c1.1-1.7 3-2.7 5-2.7H464c8.8 0 16 7.2 16 16v74c0 3.3-2.7 6-6 6zM256 424c-66.2 0-120-53.8-120-120s53.8-120 120-120 120 53.8 120 120-53.8 120-120 120zm0-208c-48.5 0-88 39.5-88 88s39.5 88 88 88 88-39.5 88-88-39.5-88-88-88zm-48 104c-8.8 0-16-7.2-16-16 0-35.3 28.7-64 64-64 8.8 0 16 7.2 16 16s-7.2 16-16 16c-17.6 0-32 14.4-32 32 0 8.8-7.2 16-16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaCamera (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 144v288c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48h88l12.3-32.9c7-18.7 24.9-31.1 44.9-31.1h125.5c20 0 37.9 12.4 44.9 31.1L376 96h88c26.5 0 48 21.5 48 48zM376 288c0-66.2-53.8-120-120-120s-120 53.8-120 120 53.8 120 120 120 120-53.8 120-120zm-32 0c0 48.5-39.5 88-88 88s-88-39.5-88-88 39.5-88 88-88 88 39.5 88 88z\"},\"child\":[]}]})(props);\n};\nexport function FaCampground (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M624 448h-24.68L359.54 117.75l53.41-73.55c5.19-7.15 3.61-17.16-3.54-22.35l-25.9-18.79c-7.15-5.19-17.15-3.61-22.35 3.55L320 63.3 278.83 6.6c-5.19-7.15-15.2-8.74-22.35-3.55l-25.88 18.8c-7.15 5.19-8.74 15.2-3.54 22.35l53.41 73.55L40.68 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM320 288l116.36 160H203.64L320 288z\"},\"child\":[]}]})(props);\n};\nexport function FaCandyCane (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M497.5 92C469.6 33.1 411.8 0 352.4 0c-27.9 0-56.2 7.3-81.8 22.6L243.1 39c-15.2 9.1-20.1 28.7-11 43.9l32.8 54.9c6 10 16.6 15.6 27.5 15.6 5.6 0 11.2-1.5 16.4-4.5l27.5-16.4c5.1-3.1 10.8-4.5 16.4-4.5 10.9 0 21.5 5.6 27.5 15.6 9.1 15.1 4.1 34.8-11 43.9L15.6 397.6c-15.2 9.1-20.1 28.7-11 43.9l32.8 54.9c6 10 16.6 15.6 27.5 15.6 5.6 0 11.2-1.5 16.4-4.5L428.6 301c71.7-42.9 104.6-133.5 68.9-209zm-177.7 13l-2.5 1.5L296.8 45c9.7-4.7 19.8-8.1 30.3-10.2l20.6 61.8c-9.8.8-19.4 3.3-27.9 8.4zM145.9 431.8l-60.5-38.5 30.8-18.3 60.5 38.5-30.8 18.3zm107.5-63.9l-60.5-38.5 30.8-18.3 60.5 38.5-30.8 18.3zM364.3 302l-60.5-38.5 30.8-18.3 60.5 38.5-30.8 18.3zm20.4-197.3l46-46c8.4 6.5 16 14.1 22.6 22.6L407.6 127c-5.7-9.3-13.7-16.9-22.9-22.3zm82.1 107.8l-59.5-19.8c3.2-5.3 5.8-10.9 7.4-17.1 1.1-4.5 1.7-9.1 1.8-13.6l60.4 20.1c-2.1 10.4-5.5 20.6-10.1 30.4z\"},\"child\":[]}]})(props);\n};\nexport function FaCannabis (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M503.47 360.25c-1.56-.82-32.39-16.89-76.78-25.81 64.25-75.12 84.05-161.67 84.93-165.64 1.18-5.33-.44-10.9-4.3-14.77-3.03-3.04-7.12-4.7-11.32-4.7-1.14 0-2.29.12-3.44.38-3.88.85-86.54 19.59-160.58 79.76.01-1.46.01-2.93.01-4.4 0-118.79-59.98-213.72-62.53-217.7A15.973 15.973 0 0 0 256 0c-5.45 0-10.53 2.78-13.47 7.37-2.55 3.98-62.53 98.91-62.53 217.7 0 1.47.01 2.94.01 4.4-74.03-60.16-156.69-78.9-160.58-79.76-1.14-.25-2.29-.38-3.44-.38-4.2 0-8.29 1.66-11.32 4.7A15.986 15.986 0 0 0 .38 168.8c.88 3.97 20.68 90.52 84.93 165.64-44.39 8.92-75.21 24.99-76.78 25.81a16.003 16.003 0 0 0-.02 28.29c2.45 1.29 60.76 31.72 133.49 31.72 6.14 0 11.96-.1 17.5-.31-11.37 22.23-16.52 38.31-16.81 39.22-1.8 5.68-.29 11.89 3.91 16.11a16.019 16.019 0 0 0 16.1 3.99c1.83-.57 37.72-11.99 77.3-39.29V504c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8v-64.01c39.58 27.3 75.47 38.71 77.3 39.29a16.019 16.019 0 0 0 16.1-3.99c4.2-4.22 5.71-10.43 3.91-16.11-.29-.91-5.45-16.99-16.81-39.22 5.54.21 11.37.31 17.5.31 72.72 0 131.04-30.43 133.49-31.72 5.24-2.78 8.52-8.22 8.51-14.15-.01-5.94-3.29-11.39-8.53-14.15z\"},\"child\":[]}]})(props);\n};\nexport function FaCapsules (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M555.3 300.1L424.2 112.8C401.9 81 366.4 64 330.4 64c-22.6 0-45.5 6.7-65.5 20.7-19.7 13.8-33.7 32.8-41.5 53.8C220.5 79.2 172 32 112 32 50.1 32 0 82.1 0 144v224c0 61.9 50.1 112 112 112s112-50.1 112-112V218.9c3.3 8.6 7.3 17.1 12.8 25L368 431.2c22.2 31.8 57.7 48.8 93.8 48.8 22.7 0 45.5-6.7 65.5-20.7 51.7-36.2 64.2-107.5 28-159.2zM160 256H64V144c0-26.5 21.5-48 48-48s48 21.5 48 48v112zm194.8 44.9l-65.6-93.7c-7.7-11-10.7-24.4-8.3-37.6 2.3-13.2 9.7-24.8 20.7-32.5 8.5-6 18.5-9.1 28.8-9.1 16.5 0 31.9 8 41.3 21.5l65.6 93.7-82.5 57.7z\"},\"child\":[]}]})(props);\n};\nexport function FaCarAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 480 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M438.66 212.33l-11.24-28.1-19.93-49.83C390.38 91.63 349.57 64 303.5 64h-127c-46.06 0-86.88 27.63-103.99 70.4l-19.93 49.83-11.24 28.1C17.22 221.5 0 244.66 0 272v48c0 16.12 6.16 30.67 16 41.93V416c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h256v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-54.07c9.84-11.25 16-25.8 16-41.93v-48c0-27.34-17.22-50.5-41.34-59.67zm-306.73-54.16c7.29-18.22 24.94-30.17 44.57-30.17h127c19.63 0 37.28 11.95 44.57 30.17L368 208H112l19.93-49.83zM80 319.8c-19.2 0-32-12.76-32-31.9S60.8 256 80 256s48 28.71 48 47.85-28.8 15.95-48 15.95zm320 0c-19.2 0-48 3.19-48-15.95S380.8 256 400 256s32 12.76 32 31.9-12.8 31.9-32 31.9z\"},\"child\":[]}]})(props);\n};\nexport function FaCarBattery (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M480 128h-32V80c0-8.84-7.16-16-16-16h-96c-8.84 0-16 7.16-16 16v48H192V80c0-8.84-7.16-16-16-16H80c-8.84 0-16 7.16-16 16v48H32c-17.67 0-32 14.33-32 32v256c0 17.67 14.33 32 32 32h448c17.67 0 32-14.33 32-32V160c0-17.67-14.33-32-32-32zM192 264c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h112c4.42 0 8 3.58 8 8v16zm256 0c0 4.42-3.58 8-8 8h-40v40c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-40h-40c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h40v-40c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v40h40c4.42 0 8 3.58 8 8v16z\"},\"child\":[]}]})(props);\n};\nexport function FaCarCrash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M143.25 220.81l-12.42 46.37c-3.01 11.25-3.63 22.89-2.41 34.39l-35.2 28.98c-6.57 5.41-16.31-.43-14.62-8.77l15.44-76.68c1.06-5.26-2.66-10.28-8-10.79l-77.86-7.55c-8.47-.82-11.23-11.83-4.14-16.54l65.15-43.3c4.46-2.97 5.38-9.15 1.98-13.29L21.46 93.22c-5.41-6.57.43-16.3 8.78-14.62l76.68 15.44c5.26 1.06 10.28-2.66 10.8-8l7.55-77.86c.82-8.48 11.83-11.23 16.55-4.14l43.3 65.14c2.97 4.46 9.15 5.38 13.29 1.98l60.4-49.71c6.57-5.41 16.3.43 14.62 8.77L262.1 86.38c-2.71 3.05-5.43 6.09-7.91 9.4l-32.15 42.97-10.71 14.32c-32.73 8.76-59.18 34.53-68.08 67.74zm494.57 132.51l-12.42 46.36c-3.13 11.68-9.38 21.61-17.55 29.36a66.876 66.876 0 0 1-8.76 7l-13.99 52.23c-1.14 4.27-3.1 8.1-5.65 11.38-7.67 9.84-20.74 14.68-33.54 11.25L515 502.62c-17.07-4.57-27.2-22.12-22.63-39.19l8.28-30.91-247.28-66.26-8.28 30.91c-4.57 17.07-22.12 27.2-39.19 22.63l-30.91-8.28c-12.8-3.43-21.7-14.16-23.42-26.51-.57-4.12-.35-8.42.79-12.68l13.99-52.23a66.62 66.62 0 0 1-4.09-10.45c-3.2-10.79-3.65-22.52-.52-34.2l12.42-46.37c5.31-19.8 19.36-34.83 36.89-42.21a64.336 64.336 0 0 1 18.49-4.72l18.13-24.23 32.15-42.97c3.45-4.61 7.19-8.9 11.2-12.84 8-7.89 17.03-14.44 26.74-19.51 4.86-2.54 9.89-4.71 15.05-6.49 10.33-3.58 21.19-5.63 32.24-6.04 11.05-.41 22.31.82 33.43 3.8l122.68 32.87c11.12 2.98 21.48 7.54 30.85 13.43a111.11 111.11 0 0 1 34.69 34.5c8.82 13.88 14.64 29.84 16.68 46.99l6.36 53.29 3.59 30.05a64.49 64.49 0 0 1 22.74 29.93c4.39 11.88 5.29 25.19 1.75 38.39zM255.58 234.34c-18.55-4.97-34.21 4.04-39.17 22.53-4.96 18.49 4.11 34.12 22.65 39.09 18.55 4.97 45.54 15.51 50.49-2.98 4.96-18.49-15.43-53.67-33.97-58.64zm290.61 28.17l-6.36-53.29c-.58-4.87-1.89-9.53-3.82-13.86-5.8-12.99-17.2-23.01-31.42-26.82l-122.68-32.87a48.008 48.008 0 0 0-50.86 17.61l-32.15 42.97 172 46.08 75.29 20.18zm18.49 54.65c-18.55-4.97-53.8 15.31-58.75 33.79-4.95 18.49 23.69 22.86 42.24 27.83 18.55 4.97 34.21-4.04 39.17-22.53 4.95-18.48-4.11-34.12-22.66-39.09z\"},\"child\":[]}]})(props);\n};\nexport function FaCarSide (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M544 192h-16L419.22 56.02A64.025 64.025 0 0 0 369.24 32H155.33c-26.17 0-49.7 15.93-59.42 40.23L48 194.26C20.44 201.4 0 226.21 0 256v112c0 8.84 7.16 16 16 16h48c0 53.02 42.98 96 96 96s96-42.98 96-96h128c0 53.02 42.98 96 96 96s96-42.98 96-96h48c8.84 0 16-7.16 16-16v-80c0-53.02-42.98-96-96-96zM160 432c-26.47 0-48-21.53-48-48s21.53-48 48-48 48 21.53 48 48-21.53 48-48 48zm72-240H116.93l38.4-96H232v96zm48 0V96h89.24l76.8 96H280zm200 240c-26.47 0-48-21.53-48-48s21.53-48 48-48 48 21.53 48 48-21.53 48-48 48z\"},\"child\":[]}]})(props);\n};\nexport function FaCar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M499.99 176h-59.87l-16.64-41.6C406.38 91.63 365.57 64 319.5 64h-127c-46.06 0-86.88 27.63-103.99 70.4L71.87 176H12.01C4.2 176-1.53 183.34.37 190.91l6 24C7.7 220.25 12.5 224 18.01 224h20.07C24.65 235.73 16 252.78 16 272v48c0 16.12 6.16 30.67 16 41.93V416c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h256v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-54.07c9.84-11.25 16-25.8 16-41.93v-48c0-19.22-8.65-36.27-22.07-48H494c5.51 0 10.31-3.75 11.64-9.09l6-24c1.89-7.57-3.84-14.91-11.65-14.91zm-352.06-17.83c7.29-18.22 24.94-30.17 44.57-30.17h127c19.63 0 37.28 11.95 44.57 30.17L384 208H128l19.93-49.83zM96 319.8c-19.2 0-32-12.76-32-31.9S76.8 256 96 256s48 28.71 48 47.85-28.8 15.95-48 15.95zm320 0c-19.2 0-48 3.19-48-15.95S396.8 256 416 256s32 12.76 32 31.9-12.8 31.9-32 31.9z\"},\"child\":[]}]})(props);\n};\nexport function FaCaravan (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416,208a16,16,0,1,0,16,16A16,16,0,0,0,416,208ZM624,320H576V160A160,160,0,0,0,416,0H64A64,64,0,0,0,0,64V320a64,64,0,0,0,64,64H96a96,96,0,0,0,192,0H624a16,16,0,0,0,16-16V336A16,16,0,0,0,624,320ZM192,432a48,48,0,1,1,48-48A48.05,48.05,0,0,1,192,432Zm64-240a32,32,0,0,1-32,32H96a32,32,0,0,1-32-32V128A32,32,0,0,1,96,96H224a32,32,0,0,1,32,32ZM448,320H320V128a32,32,0,0,1,32-32h64a32,32,0,0,1,32,32Z\"},\"child\":[]}]})(props);\n};\nexport function FaCaretDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z\"},\"child\":[]}]})(props);\n};\nexport function FaCaretLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 192 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M192 127.338v257.324c0 17.818-21.543 26.741-34.142 14.142L29.196 270.142c-7.81-7.81-7.81-20.474 0-28.284l128.662-128.662c12.599-12.6 34.142-3.676 34.142 14.142z\"},\"child\":[]}]})(props);\n};\nexport function FaCaretRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 192 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z\"},\"child\":[]}]})(props);\n};\nexport function FaCaretSquareDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zM92.5 220.5l123 123c4.7 4.7 12.3 4.7 17 0l123-123c7.6-7.6 2.2-20.5-8.5-20.5H101c-10.7 0-16.1 12.9-8.5 20.5z\"},\"child\":[]}]})(props);\n};\nexport function FaCaretSquareLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 480H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48zM259.515 124.485l-123.03 123.03c-4.686 4.686-4.686 12.284 0 16.971l123.029 123.029c7.56 7.56 20.485 2.206 20.485-8.485V132.971c.001-10.691-12.925-16.045-20.484-8.486z\"},\"child\":[]}]})(props);\n};\nexport function FaCaretSquareRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M48 32h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48zm140.485 355.515l123.029-123.029c4.686-4.686 4.686-12.284 0-16.971l-123.029-123.03c-7.56-7.56-20.485-2.206-20.485 8.485v246.059c0 10.691 12.926 16.045 20.485 8.486z\"},\"child\":[]}]})(props);\n};\nexport function FaCaretSquareUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 432V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48zm355.515-140.485l-123.03-123.03c-4.686-4.686-12.284-4.686-16.971 0L92.485 291.515c-7.56 7.56-2.206 20.485 8.485 20.485h246.059c10.691 0 16.045-12.926 8.486-20.485z\"},\"child\":[]}]})(props);\n};\nexport function FaCaretUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z\"},\"child\":[]}]})(props);\n};\nexport function FaCarrot (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M298.2 156.6c-52.7-25.7-114.5-10.5-150.2 32.8l55.2 55.2c6.3 6.3 6.3 16.4 0 22.6-3.1 3.1-7.2 4.7-11.3 4.7s-8.2-1.6-11.3-4.7L130.4 217 2.3 479.7c-2.9 6-3.1 13.3 0 19.7 5.4 11.1 18.9 15.7 30 10.3l133.6-65.2-49.2-49.2c-6.3-6.2-6.3-16.4 0-22.6 6.3-6.2 16.4-6.2 22.6 0l57 57 102-49.8c24-11.7 44.5-31.3 57.1-57.1 30.1-61.7 4.5-136.1-57.2-166.2zm92.1-34.9C409.8 81 399.7 32.9 360 0c-50.3 41.7-52.5 107.5-7.9 151.9l8 8c44.4 44.6 110.3 42.4 151.9-7.9-32.9-39.7-81-49.8-121.7-30.3z\"},\"child\":[]}]})(props);\n};\nexport function FaCartArrowDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M504.717 320H211.572l6.545 32h268.418c15.401 0 26.816 14.301 23.403 29.319l-5.517 24.276C523.112 414.668 536 433.828 536 456c0 31.202-25.519 56.444-56.824 55.994-29.823-.429-54.35-24.631-55.155-54.447-.44-16.287 6.085-31.049 16.803-41.548H231.176C241.553 426.165 248 440.326 248 456c0 31.813-26.528 57.431-58.67 55.938-28.54-1.325-51.751-24.385-53.251-52.917-1.158-22.034 10.436-41.455 28.051-51.586L93.883 64H24C10.745 64 0 53.255 0 40V24C0 10.745 10.745 0 24 0h102.529c11.401 0 21.228 8.021 23.513 19.19L159.208 64H551.99c15.401 0 26.816 14.301 23.403 29.319l-47.273 208C525.637 312.246 515.923 320 504.717 320zM403.029 192H360v-60c0-6.627-5.373-12-12-12h-24c-6.627 0-12 5.373-12 12v60h-43.029c-10.691 0-16.045 12.926-8.485 20.485l67.029 67.029c4.686 4.686 12.284 4.686 16.971 0l67.029-67.029c7.559-7.559 2.205-20.485-8.486-20.485z\"},\"child\":[]}]})(props);\n};\nexport function FaCartPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M504.717 320H211.572l6.545 32h268.418c15.401 0 26.816 14.301 23.403 29.319l-5.517 24.276C523.112 414.668 536 433.828 536 456c0 31.202-25.519 56.444-56.824 55.994-29.823-.429-54.35-24.631-55.155-54.447-.44-16.287 6.085-31.049 16.803-41.548H231.176C241.553 426.165 248 440.326 248 456c0 31.813-26.528 57.431-58.67 55.938-28.54-1.325-51.751-24.385-53.251-52.917-1.158-22.034 10.436-41.455 28.051-51.586L93.883 64H24C10.745 64 0 53.255 0 40V24C0 10.745 10.745 0 24 0h102.529c11.401 0 21.228 8.021 23.513 19.19L159.208 64H551.99c15.401 0 26.816 14.301 23.403 29.319l-47.273 208C525.637 312.246 515.923 320 504.717 320zM408 168h-48v-40c0-8.837-7.163-16-16-16h-16c-8.837 0-16 7.163-16 16v40h-48c-8.837 0-16 7.163-16 16v16c0 8.837 7.163 16 16 16h48v40c0 8.837 7.163 16 16 16h16c8.837 0 16-7.163 16-16v-40h48c8.837 0 16-7.163 16-16v-16c0-8.837-7.163-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaCashRegister (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M511.1 378.8l-26.7-160c-2.6-15.4-15.9-26.7-31.6-26.7H208v-64h96c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16H48c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h96v64H59.1c-15.6 0-29 11.3-31.6 26.7L.8 378.7c-.6 3.5-.9 7-.9 10.5V480c0 17.7 14.3 32 32 32h448c17.7 0 32-14.3 32-32v-90.7c.1-3.5-.2-7-.8-10.5zM280 248c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16zm-32 64h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16zm-32-80c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16h16zM80 80V48h192v32H80zm40 200h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16zm16 64v-16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16zm216 112c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h176c4.4 0 8 3.6 8 8v16zm24-112c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16zm48-80c0 8.8-7.2 16-16 16h-16c-8.8 0-16-7.2-16-16v-16c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v16z\"},\"child\":[]}]})(props);\n};\nexport function FaCat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M290.59 192c-20.18 0-106.82 1.98-162.59 85.95V192c0-52.94-43.06-96-96-96-17.67 0-32 14.33-32 32s14.33 32 32 32c17.64 0 32 14.36 32 32v256c0 35.3 28.7 64 64 64h176c8.84 0 16-7.16 16-16v-16c0-17.67-14.33-32-32-32h-32l128-96v144c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V289.86c-10.29 2.67-20.89 4.54-32 4.54-61.81 0-113.52-44.05-125.41-102.4zM448 96h-64l-64-64v134.4c0 53.02 42.98 96 96 96s96-42.98 96-96V32l-64 64zm-72 80c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zm80 0c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaCertificate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M458.622 255.92l45.985-45.005c13.708-12.977 7.316-36.039-10.664-40.339l-62.65-15.99 17.661-62.015c4.991-17.838-11.829-34.663-29.661-29.671l-61.994 17.667-15.984-62.671C337.085.197 313.765-6.276 300.99 7.228L256 53.57 211.011 7.229c-12.63-13.351-36.047-7.234-40.325 10.668l-15.984 62.671-61.995-17.667C74.87 57.907 58.056 74.738 63.046 92.572l17.661 62.015-62.65 15.99C.069 174.878-6.31 197.944 7.392 210.915l45.985 45.005-45.985 45.004c-13.708 12.977-7.316 36.039 10.664 40.339l62.65 15.99-17.661 62.015c-4.991 17.838 11.829 34.663 29.661 29.671l61.994-17.667 15.984 62.671c4.439 18.575 27.696 24.018 40.325 10.668L256 458.61l44.989 46.001c12.5 13.488 35.987 7.486 40.325-10.668l15.984-62.671 61.994 17.667c17.836 4.994 34.651-11.837 29.661-29.671l-17.661-62.015 62.65-15.99c17.987-4.302 24.366-27.367 10.664-40.339l-45.984-45.004z\"},\"child\":[]}]})(props);\n};\nexport function FaChair (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M112 128c0-29.5 16.2-55 40-68.9V256h48V48h48v208h48V59.1c23.8 13.9 40 39.4 40 68.9v128h48V128C384 57.3 326.7 0 256 0h-64C121.3 0 64 57.3 64 128v128h48zm334.3 213.9l-10.7-32c-4.4-13.1-16.6-21.9-30.4-21.9H42.7c-13.8 0-26 8.8-30.4 21.9l-10.7 32C-5.2 362.6 10.2 384 32 384v112c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V384h256v112c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V384c21.8 0 37.2-21.4 30.3-42.1z\"},\"child\":[]}]})(props);\n};\nexport function FaChalkboardTeacher (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M208 352c-2.39 0-4.78.35-7.06 1.09C187.98 357.3 174.35 360 160 360c-14.35 0-27.98-2.7-40.95-6.91-2.28-.74-4.66-1.09-7.05-1.09C49.94 352-.33 402.48 0 464.62.14 490.88 21.73 512 48 512h224c26.27 0 47.86-21.12 48-47.38.33-62.14-49.94-112.62-112-112.62zm-48-32c53.02 0 96-42.98 96-96s-42.98-96-96-96-96 42.98-96 96 42.98 96 96 96zM592 0H208c-26.47 0-48 22.25-48 49.59V96c23.42 0 45.1 6.78 64 17.8V64h352v288h-64v-64H384v64h-76.24c19.1 16.69 33.12 38.73 39.69 64H592c26.47 0 48-22.25 48-49.59V49.59C640 22.25 618.47 0 592 0z\"},\"child\":[]}]})(props);\n};\nexport function FaChalkboard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M96 64h448v352h64V40c0-22.06-17.94-40-40-40H72C49.94 0 32 17.94 32 40v376h64V64zm528 384H480v-64H288v64H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaChargingStation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M336 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h320c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm208-320V80c0-8.84-7.16-16-16-16s-16 7.16-16 16v48h-32V80c0-8.84-7.16-16-16-16s-16 7.16-16 16v48h-16c-8.84 0-16 7.16-16 16v32c0 35.76 23.62 65.69 56 75.93v118.49c0 13.95-9.5 26.92-23.26 29.19C431.22 402.5 416 388.99 416 372v-28c0-48.6-39.4-88-88-88h-8V64c0-35.35-28.65-64-64-64H96C60.65 0 32 28.65 32 64v352h288V304h8c22.09 0 40 17.91 40 40v24.61c0 39.67 28.92 75.16 68.41 79.01C481.71 452.05 520 416.41 520 372V251.93c32.38-10.24 56-40.17 56-75.93v-32c0-8.84-7.16-16-16-16h-16zm-283.91 47.76l-93.7 139c-2.2 3.33-6.21 5.24-10.39 5.24-7.67 0-13.47-6.28-11.67-12.92L167.35 224H108c-7.25 0-12.85-5.59-11.89-11.89l16-107C112.9 99.9 117.98 96 124 96h68c7.88 0 13.62 6.54 11.6 13.21L192 160h57.7c9.24 0 15.01 8.78 10.39 15.76z\"},\"child\":[]}]})(props);\n};\nexport function FaChartArea (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M500 384c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12V76c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v308h436zM372.7 159.5L288 216l-85.3-113.7c-5.1-6.8-15.5-6.3-19.9 1L96 248v104h384l-89.9-187.8c-3.2-6.5-11.4-8.7-17.4-4.7z\"},\"child\":[]}]})(props);\n};\nexport function FaChartBar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M332.8 320h38.4c6.4 0 12.8-6.4 12.8-12.8V172.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h38.4c6.4 0 12.8-6.4 12.8-12.8V76.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-288 0h38.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h38.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zM496 384H64V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaChartLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496 384H64V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM464 96H345.94c-21.38 0-32.09 25.85-16.97 40.97l32.4 32.4L288 242.75l-73.37-73.37c-12.5-12.5-32.76-12.5-45.25 0l-68.69 68.69c-6.25 6.25-6.25 16.38 0 22.63l22.62 22.62c6.25 6.25 16.38 6.25 22.63 0L192 237.25l73.37 73.37c12.5 12.5 32.76 12.5 45.25 0l96-96 32.4 32.4c15.12 15.12 40.97 4.41 40.97-16.97V112c.01-8.84-7.15-16-15.99-16z\"},\"child\":[]}]})(props);\n};\nexport function FaChartPie (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 544 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M527.79 288H290.5l158.03 158.03c6.04 6.04 15.98 6.53 22.19.68 38.7-36.46 65.32-85.61 73.13-140.86 1.34-9.46-6.51-17.85-16.06-17.85zm-15.83-64.8C503.72 103.74 408.26 8.28 288.8.04 279.68-.59 272 7.1 272 16.24V240h223.77c9.14 0 16.82-7.68 16.19-16.8zM224 288V50.71c0-9.55-8.39-17.4-17.84-16.06C86.99 51.49-4.1 155.6.14 280.37 4.5 408.51 114.83 513.59 243.03 511.98c50.4-.63 96.97-16.87 135.26-44.03 7.9-5.6 8.42-17.23 1.57-24.08L224 288z\"},\"child\":[]}]})(props);\n};\nexport function FaCheckCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM227.314 387.314l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.249-16.379-6.249-22.628 0L216 308.118l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.249 16.379 6.249 22.628.001z\"},\"child\":[]}]})(props);\n};\nexport function FaCheckDouble (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M505 174.8l-39.6-39.6c-9.4-9.4-24.6-9.4-33.9 0L192 374.7 80.6 263.2c-9.4-9.4-24.6-9.4-33.9 0L7 302.9c-9.4 9.4-9.4 24.6 0 34L175 505c9.4 9.4 24.6 9.4 33.9 0l296-296.2c9.4-9.5 9.4-24.7.1-34zm-324.3 106c6.2 6.3 16.4 6.3 22.6 0l208-208.2c6.2-6.3 6.2-16.4 0-22.6L366.1 4.7c-6.2-6.3-16.4-6.3-22.6 0L192 156.2l-55.4-55.5c-6.2-6.3-16.4-6.3-22.6 0L68.7 146c-6.2 6.3-6.2 16.4 0 22.6l112 112.2z\"},\"child\":[]}]})(props);\n};\nexport function FaCheckSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 480H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48zm-204.686-98.059l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.248-16.379-6.249-22.628 0L184 302.745l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.25 16.379 6.25 22.628.001z\"},\"child\":[]}]})(props);\n};\nexport function FaCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z\"},\"child\":[]}]})(props);\n};\nexport function FaCheese (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 288v160a32 32 0 0 0 32 32h448a32 32 0 0 0 32-32V288zM299.83 32a32 32 0 0 0-21.13 7L0 256h512c0-119.89-94-217.8-212.17-224z\"},\"child\":[]}]})(props);\n};\nexport function FaChessBishop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 287.88c0 51.64 22.14 73.83 56 84.6V416h192v-43.52c33.86-10.77 56-33 56-84.6 0-30.61-10.73-67.1-26.69-102.56L185 285.65a8 8 0 0 1-11.31 0l-11.31-11.31a8 8 0 0 1 0-11.31L270.27 155.1c-20.8-37.91-46.47-72.1-70.87-92.59C213.4 59.09 224 47.05 224 32a32 32 0 0 0-32-32h-64a32 32 0 0 0-32 32c0 15 10.6 27.09 24.6 30.51C67.81 106.8 8 214.5 8 287.88zM304 448H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaChessBoard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M255.9.2h-64v64h64zM0 64.17v64h64v-64zM128 .2H64v64h64zm64 255.9v64h64v-64zM0 192.12v64h64v-64zM383.85.2h-64v64h64zm128 0h-64v64h64zM128 256.1H64v64h64zM511.8 448v-64h-64v64zm0-128v-64h-64v64zM383.85 512h64v-64h-64zm128-319.88v-64h-64v64zM128 512h64v-64h-64zM0 512h64v-64H0zm255.9 0h64v-64h-64zM0 320.07v64h64v-64zm319.88-191.92v-64h-64v64zm-64 128h64v-64h-64zm-64 128v64h64v-64zm128-64h64v-64h-64zm0-127.95h64v-64h-64zm0 191.93v64h64v-64zM64 384.05v64h64v-64zm128-255.9v-64h-64v64zm191.92 255.9h64v-64h-64zm-128-191.93v-64h-64v64zm128-127.95v64h64v-64zm-128 255.9v64h64v-64zm-64-127.95H128v64h64zm191.92 64h64v-64h-64zM128 128.15H64v64h64zm0 191.92v64h64v-64z\"},\"child\":[]}]})(props);\n};\nexport function FaChessKing (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 448H48a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h352a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm16-288H256v-48h40a8 8 0 0 0 8-8V56a8 8 0 0 0-8-8h-40V8a8 8 0 0 0-8-8h-48a8 8 0 0 0-8 8v40h-40a8 8 0 0 0-8 8v48a8 8 0 0 0 8 8h40v48H32a32 32 0 0 0-30.52 41.54L74.56 416h298.88l73.08-214.46A32 32 0 0 0 416 160z\"},\"child\":[]}]})(props);\n};\nexport function FaChessKnight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 272.47l40.63 18.06a32 32 0 0 0 24.88.47l12.78-5.12a32 32 0 0 0 18.76-20.5l9.22-30.65a24 24 0 0 1 12.55-15.65L159.94 208v50.33a48 48 0 0 1-26.53 42.94l-57.22 28.65A80 80 0 0 0 32 401.48V416h319.86V224c0-106-85.92-192-191.92-192H12A12 12 0 0 0 0 44a16.9 16.9 0 0 0 1.79 7.58L16 80l-9 9a24 24 0 0 0-7 17v137.21a32 32 0 0 0 19 29.26zM52 128a20 20 0 1 1-20 20 20 20 0 0 1 20-20zm316 320H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h352a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaChessPawn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M105.1 224H80a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h16v5.49c0 44-4.14 86.6-24 122.51h176c-19.89-35.91-24-78.51-24-122.51V288h16a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-25.1c29.39-18.38 49.1-50.78 49.1-88a104 104 0 0 0-208 0c0 37.22 19.71 69.62 49.1 88zM304 448H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaChessQueen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 112a56 56 0 1 0-56-56 56 56 0 0 0 56 56zm176 336H80a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h352a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm72.87-263.84l-28.51-15.92c-7.44-5-16.91-2.46-22.29 4.68a47.59 47.59 0 0 1-47.23 18.23C383.7 186.86 368 164.93 368 141.4a13.4 13.4 0 0 0-13.4-13.4h-38.77c-6 0-11.61 4-12.86 9.91a48 48 0 0 1-93.94 0c-1.25-5.92-6.82-9.91-12.86-9.91H157.4a13.4 13.4 0 0 0-13.4 13.4c0 25.69-19 48.75-44.67 50.49a47.5 47.5 0 0 1-41.54-19.15c-5.28-7.09-14.73-9.45-22.09-4.54l-28.57 16a16 16 0 0 0-5.44 20.47L104.24 416h303.52l102.55-211.37a16 16 0 0 0-5.44-20.47z\"},\"child\":[]}]})(props);\n};\nexport function FaChessRook (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M368 32h-56a16 16 0 0 0-16 16v48h-48V48a16 16 0 0 0-16-16h-80a16 16 0 0 0-16 16v48H88.1V48a16 16 0 0 0-16-16H16A16 16 0 0 0 0 48v176l64 32c0 48.33-1.54 95-13.21 160h282.42C321.54 351 320 303.72 320 256l64-32V48a16 16 0 0 0-16-16zM224 320h-64v-64a32 32 0 0 1 64 0zm144 128H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h352a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaChess (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M74 208H64a16 16 0 0 0-16 16v16a16 16 0 0 0 16 16h15.94A535.78 535.78 0 0 1 64 384h128a535.78 535.78 0 0 1-15.94-128H192a16 16 0 0 0 16-16v-16a16 16 0 0 0-16-16h-10l33.89-90.38a16 16 0 0 0-15-21.62H144V64h24a8 8 0 0 0 8-8V40a8 8 0 0 0-8-8h-24V8a8 8 0 0 0-8-8h-16a8 8 0 0 0-8 8v24H88a8 8 0 0 0-8 8v16a8 8 0 0 0 8 8h24v32H55.09a16 16 0 0 0-15 21.62zm173.16 251.58L224 448v-16a16 16 0 0 0-16-16H48a16 16 0 0 0-16 16v16L8.85 459.58A16 16 0 0 0 0 473.89V496a16 16 0 0 0 16 16h224a16 16 0 0 0 16-16v-22.11a16 16 0 0 0-8.84-14.31zm92.77-157.78l-3.29 82.2h126.72l-3.29-82.21 24.6-20.79A32 32 0 0 0 496 256.54V198a6 6 0 0 0-6-6h-26.38a6 6 0 0 0-6 6v26h-24.71v-26a6 6 0 0 0-6-6H373.1a6 6 0 0 0-6 6v26h-24.71v-26a6 6 0 0 0-6-6H310a6 6 0 0 0-6 6v58.6a32 32 0 0 0 11.36 24.4zM384 304a16 16 0 0 1 32 0v32h-32zm119.16 155.58L480 448v-16a16 16 0 0 0-16-16H336a16 16 0 0 0-16 16v16l-23.15 11.58a16 16 0 0 0-8.85 14.31V496a16 16 0 0 0 16 16h192a16 16 0 0 0 16-16v-22.11a16 16 0 0 0-8.84-14.31z\"},\"child\":[]}]})(props);\n};\nexport function FaChevronCircleDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zM273 369.9l135.5-135.5c9.4-9.4 9.4-24.6 0-33.9l-17-17c-9.4-9.4-24.6-9.4-33.9 0L256 285.1 154.4 183.5c-9.4-9.4-24.6-9.4-33.9 0l-17 17c-9.4 9.4-9.4 24.6 0 33.9L239 369.9c9.4 9.4 24.6 9.4 34 0z\"},\"child\":[]}]})(props);\n};\nexport function FaChevronCircleLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 504C119 504 8 393 8 256S119 8 256 8s248 111 248 248-111 248-248 248zM142.1 273l135.5 135.5c9.4 9.4 24.6 9.4 33.9 0l17-17c9.4-9.4 9.4-24.6 0-33.9L226.9 256l101.6-101.6c9.4-9.4 9.4-24.6 0-33.9l-17-17c-9.4-9.4-24.6-9.4-33.9 0L142.1 239c-9.4 9.4-9.4 24.6 0 34z\"},\"child\":[]}]})(props);\n};\nexport function FaChevronCircleRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zm113.9 231L234.4 103.5c-9.4-9.4-24.6-9.4-33.9 0l-17 17c-9.4 9.4-9.4 24.6 0 33.9L285.1 256 183.5 357.6c-9.4 9.4-9.4 24.6 0 33.9l17 17c9.4 9.4 24.6 9.4 33.9 0L369.9 273c9.4-9.4 9.4-24.6 0-34z\"},\"child\":[]}]})(props);\n};\nexport function FaChevronCircleUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 256C8 119 119 8 256 8s248 111 248 248-111 248-248 248S8 393 8 256zm231-113.9L103.5 277.6c-9.4 9.4-9.4 24.6 0 33.9l17 17c9.4 9.4 24.6 9.4 33.9 0L256 226.9l101.6 101.6c9.4 9.4 24.6 9.4 33.9 0l17-17c9.4-9.4 9.4-24.6 0-33.9L273 142.1c-9.4-9.4-24.6-9.4-34 0z\"},\"child\":[]}]})(props);\n};\nexport function FaChevronDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z\"},\"child\":[]}]})(props);\n};\nexport function FaChevronLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M34.52 239.03L228.87 44.69c9.37-9.37 24.57-9.37 33.94 0l22.67 22.67c9.36 9.36 9.37 24.52.04 33.9L131.49 256l154.02 154.75c9.34 9.38 9.32 24.54-.04 33.9l-22.67 22.67c-9.37 9.37-24.57 9.37-33.94 0L34.52 272.97c-9.37-9.37-9.37-24.57 0-33.94z\"},\"child\":[]}]})(props);\n};\nexport function FaChevronRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z\"},\"child\":[]}]})(props);\n};\nexport function FaChevronUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z\"},\"child\":[]}]})(props);\n};\nexport function FaChild (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M120 72c0-39.765 32.235-72 72-72s72 32.235 72 72c0 39.764-32.235 72-72 72s-72-32.236-72-72zm254.627 1.373c-12.496-12.497-32.758-12.497-45.254 0L242.745 160H141.254L54.627 73.373c-12.496-12.497-32.758-12.497-45.254 0-12.497 12.497-12.497 32.758 0 45.255L104 213.254V480c0 17.673 14.327 32 32 32h16c17.673 0 32-14.327 32-32V368h16v112c0 17.673 14.327 32 32 32h16c17.673 0 32-14.327 32-32V213.254l94.627-94.627c12.497-12.497 12.497-32.757 0-45.254z\"},\"child\":[]}]})(props);\n};\nexport function FaChurch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464.46 246.68L352 179.2V128h48c8.84 0 16-7.16 16-16V80c0-8.84-7.16-16-16-16h-48V16c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v48h-48c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h48v51.2l-112.46 67.48A31.997 31.997 0 0 0 160 274.12V512h96v-96c0-35.35 28.65-64 64-64s64 28.65 64 64v96h96V274.12c0-11.24-5.9-21.66-15.54-27.44zM0 395.96V496c0 8.84 7.16 16 16 16h112V320L19.39 366.54A32.024 32.024 0 0 0 0 395.96zm620.61-29.42L512 320v192h112c8.84 0 16-7.16 16-16V395.96c0-12.8-7.63-24.37-19.39-29.42z\"},\"child\":[]}]})(props);\n};\nexport function FaCircleNotch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 39.056v16.659c0 10.804 7.281 20.159 17.686 23.066C383.204 100.434 440 171.518 440 256c0 101.689-82.295 184-184 184-101.689 0-184-82.295-184-184 0-84.47 56.786-155.564 134.312-177.219C216.719 75.874 224 66.517 224 55.712V39.064c0-15.709-14.834-27.153-30.046-23.234C86.603 43.482 7.394 141.206 8.003 257.332c.72 137.052 111.477 246.956 248.531 246.667C393.255 503.711 504 392.788 504 256c0-115.633-79.14-212.779-186.211-240.236C302.678 11.889 288 23.456 288 39.056z\"},\"child\":[]}]})(props);\n};\nexport function FaCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8z\"},\"child\":[]}]})(props);\n};\nexport function FaCity (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M616 192H480V24c0-13.26-10.74-24-24-24H312c-13.26 0-24 10.74-24 24v72h-64V16c0-8.84-7.16-16-16-16h-16c-8.84 0-16 7.16-16 16v80h-64V16c0-8.84-7.16-16-16-16H80c-8.84 0-16 7.16-16 16v80H24c-13.26 0-24 10.74-24 24v360c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V216c0-13.26-10.75-24-24-24zM128 404c0 6.63-5.37 12-12 12H76c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12H76c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12H76c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm128 192c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm160 96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12V76c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm160 288c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40z\"},\"child\":[]}]})(props);\n};\nexport function FaClinicMedical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 115L69.47 307.71c-1.62 1.46-3.69 2.14-5.47 3.35V496a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V311.1c-1.7-1.16-3.72-1.82-5.26-3.2zm96 261a8 8 0 0 1-8 8h-56v56a8 8 0 0 1-8 8h-48a8 8 0 0 1-8-8v-56h-56a8 8 0 0 1-8-8v-48a8 8 0 0 1 8-8h56v-56a8 8 0 0 1 8-8h48a8 8 0 0 1 8 8v56h56a8 8 0 0 1 8 8zm186.69-139.72l-255.94-226a39.85 39.85 0 0 0-53.45 0l-256 226a16 16 0 0 0-1.21 22.6L25.5 282.7a16 16 0 0 0 22.6 1.21L277.42 81.63a16 16 0 0 1 21.17 0L527.91 283.9a16 16 0 0 0 22.6-1.21l21.4-23.82a16 16 0 0 0-1.22-22.59z\"},\"child\":[]}]})(props);\n};\nexport function FaClipboardCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM192 40c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm121.2 231.8l-143 141.8c-4.7 4.7-12.3 4.6-17-.1l-82.6-83.3c-4.7-4.7-4.6-12.3.1-17L99.1 285c4.7-4.7 12.3-4.6 17 .1l46 46.4 106-105.2c4.7-4.7 12.3-4.6 17 .1l28.2 28.4c4.7 4.8 4.6 12.3-.1 17z\"},\"child\":[]}]})(props);\n};\nexport function FaClipboardList (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM96 424c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm0-96c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm0-96c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm96-192c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm128 368c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16z\"},\"child\":[]}]})(props);\n};\nexport function FaClipboard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 112v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h80c0-35.29 28.71-64 64-64s64 28.71 64 64h80c26.51 0 48 21.49 48 48zM192 40c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24m96 114v-20a6 6 0 0 0-6-6H102a6 6 0 0 0-6 6v20a6 6 0 0 0 6 6h180a6 6 0 0 0 6-6z\"},\"child\":[]}]})(props);\n};\nexport function FaClock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256,8C119,8,8,119,8,256S119,504,256,504,504,393,504,256,393,8,256,8Zm92.49,313h0l-20,25a16,16,0,0,1-22.49,2.5h0l-67-49.72a40,40,0,0,1-15-31.23V112a16,16,0,0,1,16-16h32a16,16,0,0,1,16,16V256l58,42.5A16,16,0,0,1,348.49,321Z\"},\"child\":[]}]})(props);\n};\nexport function FaClone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 0c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48H176c-26.51 0-48-21.49-48-48V48c0-26.51 21.49-48 48-48h288M176 416c-44.112 0-80-35.888-80-80V128H48c-26.51 0-48 21.49-48 48v288c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48v-48H176z\"},\"child\":[]}]})(props);\n};\nexport function FaClosedCaptioning (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 64H48C21.5 64 0 85.5 0 112v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM218.1 287.7c2.8-2.5 7.1-2.1 9.2.9l19.5 27.7c1.7 2.4 1.5 5.6-.5 7.7-53.6 56.8-172.8 32.1-172.8-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7l-17.5 30.5c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2.1 48 51.1 70.5 92.3 32.6zm190.4 0c2.8-2.5 7.1-2.1 9.2.9l19.5 27.7c1.7 2.4 1.5 5.6-.5 7.7-53.5 56.9-172.7 32.1-172.7-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7L420 222.2c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2 0 48 51 70.5 92.2 32.6z\"},\"child\":[]}]})(props);\n};\nexport function FaCloudDownloadAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4zm-132.9 88.7L299.3 420.7c-6.2 6.2-16.4 6.2-22.6 0L171.3 315.3c-10.1-10.1-2.9-27.3 11.3-27.3H248V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v112h65.4c14.2 0 21.4 17.2 11.3 27.3z\"},\"child\":[]}]})(props);\n};\nexport function FaCloudMeatball (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M48 352c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48zm416 0c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48zm-119 11.1c4.6-14.5 1.6-30.8-9.8-42.3-11.5-11.5-27.8-14.4-42.3-9.9-7-13.5-20.7-23-36.9-23s-29.9 9.5-36.9 23c-14.5-4.6-30.8-1.6-42.3 9.9-11.5 11.5-14.4 27.8-9.9 42.3-13.5 7-23 20.7-23 36.9s9.5 29.9 23 36.9c-4.6 14.5-1.6 30.8 9.9 42.3 8.2 8.2 18.9 12.3 29.7 12.3 4.3 0 8.5-1.1 12.6-2.5 7 13.5 20.7 23 36.9 23s29.9-9.5 36.9-23c4.1 1.3 8.3 2.5 12.6 2.5 10.8 0 21.5-4.1 29.7-12.3 11.5-11.5 14.4-27.8 9.8-42.3 13.5-7 23-20.7 23-36.9s-9.5-29.9-23-36.9zM512 224c0-53-43-96-96-96-.6 0-1.1.2-1.6.2 1.1-5.2 1.6-10.6 1.6-16.2 0-44.2-35.8-80-80-80-24.6 0-46.3 11.3-61 28.8C256.4 24.8 219.3 0 176 0 114.1 0 64 50.1 64 112c0 7.3.8 14.3 2.1 21.2C27.8 145.8 0 181.5 0 224c0 53 43 96 96 96h43.4c3.6-8 8.4-15.4 14.8-21.8 13.5-13.5 31.5-21.1 50.8-21.3 13.5-13.2 31.7-20.9 51-20.9s37.5 7.7 51 20.9c19.3.2 37.3 7.8 50.8 21.3 6.4 6.4 11.3 13.8 14.8 21.8H416c53 0 96-43 96-96z\"},\"child\":[]}]})(props);\n};\nexport function FaCloudMoonRain (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M350.5 225.5c-6.9-37.2-39.3-65.5-78.5-65.5-12.3 0-23.9 3-34.3 8-17.4-24.1-45.6-40-77.7-40-53 0-96 43-96 96 0 .5.2 1.1.2 1.6C27.6 232.9 0 265.2 0 304c0 44.2 35.8 80 80 80h256c44.2 0 80-35.8 80-80 0-39.2-28.2-71.7-65.5-78.5zm217.4-1.7c-70.4 13.3-135-40.3-135-110.8 0-40.6 21.9-78 57.5-98.1 5.5-3.1 4.1-11.4-2.1-12.5C479.6.8 470.7 0 461.8 0c-77.9 0-141.1 61.2-144.4 137.9 26.7 11.9 48.2 33.8 58.9 61.7 37.1 14.3 64 47.4 70.2 86.8 5.1.5 10 1.5 15.2 1.5 44.7 0 85.6-20.2 112.6-53.3 4.2-4.8-.2-12-6.4-10.8zM364.5 418.1c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8z\"},\"child\":[]}]})(props);\n};\nexport function FaCloudMoon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M342.8 352.7c5.7-9.6 9.2-20.7 9.2-32.7 0-35.3-28.7-64-64-64-17.2 0-32.8 6.9-44.3 17.9-16.3-29.6-47.5-49.9-83.7-49.9-53 0-96 43-96 96 0 2 .5 3.8.6 5.7C27.1 338.8 0 374.1 0 416c0 53 43 96 96 96h240c44.2 0 80-35.8 80-80 0-41.9-32.3-75.8-73.2-79.3zm222.5-54.3c-93.1 17.7-178.5-53.7-178.5-147.7 0-54.2 29-104 76.1-130.8 7.3-4.1 5.4-15.1-2.8-16.7C448.4 1.1 436.7 0 425 0 319.1 0 233.1 85.9 233.1 192c0 8.5.7 16.8 1.8 25 5.9 4.3 11.6 8.9 16.7 14.2 11.4-4.7 23.7-7.2 36.4-7.2 52.9 0 96 43.1 96 96 0 3.6-.2 7.2-.6 10.7 23.6 10.8 42.4 29.5 53.5 52.6 54.4-3.4 103.7-29.3 137.1-70.4 5.3-6.5-.5-16.1-8.7-14.5z\"},\"child\":[]}]})(props);\n};\nexport function FaCloudRain (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416 128c-.6 0-1.1.2-1.6.2 1.1-5.2 1.6-10.6 1.6-16.2 0-44.2-35.8-80-80-80-24.6 0-46.3 11.3-61 28.8C256.4 24.8 219.3 0 176 0 114.1 0 64 50.1 64 112c0 7.3.8 14.3 2.1 21.2C27.8 145.8 0 181.5 0 224c0 53 43 96 96 96h320c53 0 96-43 96-96s-43-96-96-96zM88 374.2c-12.8 44.4-40 56.4-40 87.7 0 27.7 21.5 50.1 48 50.1s48-22.4 48-50.1c0-31.4-27.2-43.1-40-87.7-2.2-8.1-13.5-8.5-16 0zm160 0c-12.8 44.4-40 56.4-40 87.7 0 27.7 21.5 50.1 48 50.1s48-22.4 48-50.1c0-31.4-27.2-43.1-40-87.7-2.2-8.1-13.5-8.5-16 0zm160 0c-12.8 44.4-40 56.4-40 87.7 0 27.7 21.5 50.1 48 50.1s48-22.4 48-50.1c0-31.4-27.2-43.1-40-87.7-2.2-8.1-13.5-8.5-16 0z\"},\"child\":[]}]})(props);\n};\nexport function FaCloudShowersHeavy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M183.9 370.1c-7.6-4.4-17.4-1.8-21.8 6l-64 112c-4.4 7.7-1.7 17.5 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l64-112c4.4-7.6 1.7-17.4-6-21.8zm96 0c-7.6-4.4-17.4-1.8-21.8 6l-64 112c-4.4 7.7-1.7 17.5 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l64-112c4.4-7.6 1.7-17.4-6-21.8zm-192 0c-7.6-4.4-17.4-1.8-21.8 6l-64 112c-4.4 7.7-1.7 17.5 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l64-112c4.4-7.6 1.7-17.4-6-21.8zm384 0c-7.6-4.4-17.4-1.8-21.8 6l-64 112c-4.4 7.7-1.7 17.5 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l64-112c4.4-7.6 1.7-17.4-6-21.8zm-96 0c-7.6-4.4-17.4-1.8-21.8 6l-64 112c-4.4 7.7-1.7 17.5 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l64-112c4.4-7.6 1.7-17.4-6-21.8zM416 128c-.6 0-1.1.2-1.6.2 1.1-5.2 1.6-10.6 1.6-16.2 0-44.2-35.8-80-80-80-24.6 0-46.3 11.3-61 28.8C256.4 24.8 219.3 0 176 0 114.2 0 64 50.1 64 112c0 7.3.8 14.3 2.1 21.2C27.8 145.8 0 181.5 0 224c0 53 43 96 96 96h320c53 0 96-43 96-96s-43-96-96-96z\"},\"child\":[]}]})(props);\n};\nexport function FaCloudSunRain (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M510.5 225.5c-6.9-37.2-39.3-65.5-78.5-65.5-12.3 0-23.9 3-34.3 8-17.4-24.1-45.6-40-77.7-40-53 0-96 43-96 96 0 .5.2 1.1.2 1.6C187.6 233 160 265.2 160 304c0 44.2 35.8 80 80 80h256c44.2 0 80-35.8 80-80 0-39.2-28.2-71.7-65.5-78.5zm-386.4 34.4c-37.4-37.4-37.4-98.3 0-135.8 34.6-34.6 89.1-36.8 126.7-7.4 20-12.9 43.6-20.7 69.2-20.7.7 0 1.3.2 2 .2l8.9-26.7c3.4-10.2-6.3-19.8-16.5-16.4l-75.3 25.1-35.5-71c-4.8-9.6-18.5-9.6-23.3 0l-35.5 71-75.3-25.1c-10.2-3.4-19.8 6.3-16.4 16.5l25.1 75.3-71 35.5c-9.6 4.8-9.6 18.5 0 23.3l71 35.5-25.1 75.3c-3.4 10.2 6.3 19.8 16.5 16.5l59.2-19.7c-.2-2.4-.7-4.7-.7-7.2 0-12.5 2.3-24.5 6.2-35.9-3.6-2.7-7.1-5.2-10.2-8.3zm69.8-58c4.3-24.5 15.8-46.4 31.9-64-9.8-6.2-21.4-9.9-33.8-9.9-35.3 0-64 28.7-64 64 0 18.7 8.2 35.4 21.1 47.1 11.3-15.9 26.6-28.9 44.8-37.2zm330.6 216.2c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8zm-96 0c-7.6-4.3-17.4-1.8-21.8 6l-36.6 64c-4.4 7.7-1.7 17.4 6 21.8 2.5 1.4 5.2 2.1 7.9 2.1 5.5 0 10.9-2.9 13.9-8.1l36.6-64c4.3-7.7 1.7-17.4-6-21.8z\"},\"child\":[]}]})(props);\n};\nexport function FaCloudSun (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M575.2 325.7c.2-1.9.8-3.7.8-5.6 0-35.3-28.7-64-64-64-12.6 0-24.2 3.8-34.1 10-17.6-38.8-56.5-66-101.9-66-61.8 0-112 50.1-112 112 0 3 .7 5.8.9 8.7-49.6 3.7-88.9 44.7-88.9 95.3 0 53 43 96 96 96h272c53 0 96-43 96-96 0-42.1-27.2-77.4-64.8-90.4zm-430.4-22.6c-43.7-43.7-43.7-114.7 0-158.3 43.7-43.7 114.7-43.7 158.4 0 9.7 9.7 16.9 20.9 22.3 32.7 9.8-3.7 20.1-6 30.7-7.5L386 81.1c4-11.9-7.3-23.1-19.2-19.2L279 91.2 237.5 8.4C232-2.8 216-2.8 210.4 8.4L169 91.2 81.1 61.9C69.3 58 58 69.3 61.9 81.1l29.3 87.8-82.8 41.5c-11.2 5.6-11.2 21.5 0 27.1l82.8 41.4-29.3 87.8c-4 11.9 7.3 23.1 19.2 19.2l76.1-25.3c6.1-12.4 14-23.7 23.6-33.5-13.1-5.4-25.4-13.4-36-24zm-4.8-79.2c0 40.8 29.3 74.8 67.9 82.3 8-4.7 16.3-8.8 25.2-11.7 5.4-44.3 31-82.5 67.4-105C287.3 160.4 258 140 224 140c-46.3 0-84 37.6-84 83.9z\"},\"child\":[]}]})(props);\n};\nexport function FaCloudUploadAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4zM393.4 288H328v112c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V288h-65.4c-14.3 0-21.4-17.2-11.3-27.3l105.4-105.4c6.2-6.2 16.4-6.2 22.6 0l105.4 105.4c10.1 10.1 2.9 27.3-11.3 27.3z\"},\"child\":[]}]})(props);\n};\nexport function FaCloud (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4z\"},\"child\":[]}]})(props);\n};\nexport function FaCocktail (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M296 464h-56V338.78l168.74-168.73c15.52-15.52 4.53-42.05-17.42-42.05H24.68c-21.95 0-32.94 26.53-17.42 42.05L176 338.78V464h-56c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h240c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40zM432 0c-62.61 0-115.35 40.2-135.18 96h52.54c16.65-28.55 47.27-48 82.64-48 52.93 0 96 43.06 96 96s-43.07 96-96 96c-14.04 0-27.29-3.2-39.32-8.64l-35.26 35.26C379.23 279.92 404.59 288 432 288c79.53 0 144-64.47 144-144S511.53 0 432 0z\"},\"child\":[]}]})(props);\n};\nexport function FaCodeBranch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 144c0-44.2-35.8-80-80-80s-80 35.8-80 80c0 36.4 24.3 67.1 57.5 76.8-.6 16.1-4.2 28.5-11 36.9-15.4 19.2-49.3 22.4-85.2 25.7-28.2 2.6-57.4 5.4-81.3 16.9v-144c32.5-10.2 56-40.5 56-76.3 0-44.2-35.8-80-80-80S0 35.8 0 80c0 35.8 23.5 66.1 56 76.3v199.3C23.5 365.9 0 396.2 0 432c0 44.2 35.8 80 80 80s80-35.8 80-80c0-34-21.2-63.1-51.2-74.6 3.1-5.2 7.8-9.8 14.9-13.4 16.2-8.2 40.4-10.4 66.1-12.8 42.2-3.9 90-8.4 118.2-43.4 14-17.4 21.1-39.8 21.6-67.9 31.6-10.8 54.4-40.7 54.4-75.9zM80 64c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16 7.2-16 16-16zm0 384c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm224-320c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16 7.2-16 16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaCode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M278.9 511.5l-61-17.7c-6.4-1.8-10-8.5-8.2-14.9L346.2 8.7c1.8-6.4 8.5-10 14.9-8.2l61 17.7c6.4 1.8 10 8.5 8.2 14.9L293.8 503.3c-1.9 6.4-8.5 10.1-14.9 8.2zm-114-112.2l43.5-46.4c4.6-4.9 4.3-12.7-.8-17.2L117 256l90.6-79.7c5.1-4.5 5.5-12.3.8-17.2l-43.5-46.4c-4.5-4.8-12.1-5.1-17-.5L3.8 247.2c-5.1 4.7-5.1 12.8 0 17.5l144.1 135.1c4.9 4.6 12.5 4.4 17-.5zm327.2.6l144.1-135.1c5.1-4.7 5.1-12.8 0-17.5L492.1 112.1c-4.8-4.5-12.4-4.3-17 .5L431.6 159c-4.6 4.9-4.3 12.7.8 17.2L523 256l-90.6 79.7c-5.1 4.5-5.5 12.3-.8 17.2l43.5 46.4c4.5 4.9 12.1 5.1 17 .6z\"},\"child\":[]}]})(props);\n};\nexport function FaCoffee (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M192 384h192c53 0 96-43 96-96h32c70.6 0 128-57.4 128-128S582.6 32 512 32H120c-13.3 0-24 10.7-24 24v232c0 53 43 96 96 96zM512 96c35.3 0 64 28.7 64 64s-28.7 64-64 64h-32V96h32zm47.7 384H48.3c-47.6 0-61-64-36-64h583.3c25 0 11.8 64-35.9 64z\"},\"child\":[]}]})(props);\n};\nexport function FaCog (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M487.4 315.7l-42.6-24.6c4.3-23.2 4.3-47 0-70.2l42.6-24.6c4.9-2.8 7.1-8.6 5.5-14-11.1-35.6-30-67.8-54.7-94.6-3.8-4.1-10-5.1-14.8-2.3L380.8 110c-17.9-15.4-38.5-27.3-60.8-35.1V25.8c0-5.6-3.9-10.5-9.4-11.7-36.7-8.2-74.3-7.8-109.2 0-5.5 1.2-9.4 6.1-9.4 11.7V75c-22.2 7.9-42.8 19.8-60.8 35.1L88.7 85.5c-4.9-2.8-11-1.9-14.8 2.3-24.7 26.7-43.6 58.9-54.7 94.6-1.7 5.4.6 11.2 5.5 14L67.3 221c-4.3 23.2-4.3 47 0 70.2l-42.6 24.6c-4.9 2.8-7.1 8.6-5.5 14 11.1 35.6 30 67.8 54.7 94.6 3.8 4.1 10 5.1 14.8 2.3l42.6-24.6c17.9 15.4 38.5 27.3 60.8 35.1v49.2c0 5.6 3.9 10.5 9.4 11.7 36.7 8.2 74.3 7.8 109.2 0 5.5-1.2 9.4-6.1 9.4-11.7v-49.2c22.2-7.9 42.8-19.8 60.8-35.1l42.6 24.6c4.9 2.8 11 1.9 14.8-2.3 24.7-26.7 43.6-58.9 54.7-94.6 1.5-5.5-.7-11.3-5.6-14.1zM256 336c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z\"},\"child\":[]}]})(props);\n};\nexport function FaCogs (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512.1 191l-8.2 14.3c-3 5.3-9.4 7.5-15.1 5.4-11.8-4.4-22.6-10.7-32.1-18.6-4.6-3.8-5.8-10.5-2.8-15.7l8.2-14.3c-6.9-8-12.3-17.3-15.9-27.4h-16.5c-6 0-11.2-4.3-12.2-10.3-2-12-2.1-24.6 0-37.1 1-6 6.2-10.4 12.2-10.4h16.5c3.6-10.1 9-19.4 15.9-27.4l-8.2-14.3c-3-5.2-1.9-11.9 2.8-15.7 9.5-7.9 20.4-14.2 32.1-18.6 5.7-2.1 12.1.1 15.1 5.4l8.2 14.3c10.5-1.9 21.2-1.9 31.7 0L552 6.3c3-5.3 9.4-7.5 15.1-5.4 11.8 4.4 22.6 10.7 32.1 18.6 4.6 3.8 5.8 10.5 2.8 15.7l-8.2 14.3c6.9 8 12.3 17.3 15.9 27.4h16.5c6 0 11.2 4.3 12.2 10.3 2 12 2.1 24.6 0 37.1-1 6-6.2 10.4-12.2 10.4h-16.5c-3.6 10.1-9 19.4-15.9 27.4l8.2 14.3c3 5.2 1.9 11.9-2.8 15.7-9.5 7.9-20.4 14.2-32.1 18.6-5.7 2.1-12.1-.1-15.1-5.4l-8.2-14.3c-10.4 1.9-21.2 1.9-31.7 0zm-10.5-58.8c38.5 29.6 82.4-14.3 52.8-52.8-38.5-29.7-82.4 14.3-52.8 52.8zM386.3 286.1l33.7 16.8c10.1 5.8 14.5 18.1 10.5 29.1-8.9 24.2-26.4 46.4-42.6 65.8-7.4 8.9-20.2 11.1-30.3 5.3l-29.1-16.8c-16 13.7-34.6 24.6-54.9 31.7v33.6c0 11.6-8.3 21.6-19.7 23.6-24.6 4.2-50.4 4.4-75.9 0-11.5-2-20-11.9-20-23.6V418c-20.3-7.2-38.9-18-54.9-31.7L74 403c-10 5.8-22.9 3.6-30.3-5.3-16.2-19.4-33.3-41.6-42.2-65.7-4-10.9.4-23.2 10.5-29.1l33.3-16.8c-3.9-20.9-3.9-42.4 0-63.4L12 205.8c-10.1-5.8-14.6-18.1-10.5-29 8.9-24.2 26-46.4 42.2-65.8 7.4-8.9 20.2-11.1 30.3-5.3l29.1 16.8c16-13.7 34.6-24.6 54.9-31.7V57.1c0-11.5 8.2-21.5 19.6-23.5 24.6-4.2 50.5-4.4 76-.1 11.5 2 20 11.9 20 23.6v33.6c20.3 7.2 38.9 18 54.9 31.7l29.1-16.8c10-5.8 22.9-3.6 30.3 5.3 16.2 19.4 33.2 41.6 42.1 65.8 4 10.9.1 23.2-10 29.1l-33.7 16.8c3.9 21 3.9 42.5 0 63.5zm-117.6 21.1c59.2-77-28.7-164.9-105.7-105.7-59.2 77 28.7 164.9 105.7 105.7zm243.4 182.7l-8.2 14.3c-3 5.3-9.4 7.5-15.1 5.4-11.8-4.4-22.6-10.7-32.1-18.6-4.6-3.8-5.8-10.5-2.8-15.7l8.2-14.3c-6.9-8-12.3-17.3-15.9-27.4h-16.5c-6 0-11.2-4.3-12.2-10.3-2-12-2.1-24.6 0-37.1 1-6 6.2-10.4 12.2-10.4h16.5c3.6-10.1 9-19.4 15.9-27.4l-8.2-14.3c-3-5.2-1.9-11.9 2.8-15.7 9.5-7.9 20.4-14.2 32.1-18.6 5.7-2.1 12.1.1 15.1 5.4l8.2 14.3c10.5-1.9 21.2-1.9 31.7 0l8.2-14.3c3-5.3 9.4-7.5 15.1-5.4 11.8 4.4 22.6 10.7 32.1 18.6 4.6 3.8 5.8 10.5 2.8 15.7l-8.2 14.3c6.9 8 12.3 17.3 15.9 27.4h16.5c6 0 11.2 4.3 12.2 10.3 2 12 2.1 24.6 0 37.1-1 6-6.2 10.4-12.2 10.4h-16.5c-3.6 10.1-9 19.4-15.9 27.4l8.2 14.3c3 5.2 1.9 11.9-2.8 15.7-9.5 7.9-20.4 14.2-32.1 18.6-5.7 2.1-12.1-.1-15.1-5.4l-8.2-14.3c-10.4 1.9-21.2 1.9-31.7 0zM501.6 431c38.5 29.6 82.4-14.3 52.8-52.8-38.5-29.6-82.4 14.3-52.8 52.8z\"},\"child\":[]}]})(props);\n};\nexport function FaCoins (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 405.3V448c0 35.3 86 64 192 64s192-28.7 192-64v-42.7C342.7 434.4 267.2 448 192 448S41.3 434.4 0 405.3zM320 128c106 0 192-28.7 192-64S426 0 320 0 128 28.7 128 64s86 64 192 64zM0 300.4V352c0 35.3 86 64 192 64s192-28.7 192-64v-51.6c-41.3 34-116.9 51.6-192 51.6S41.3 334.4 0 300.4zm416 11c57.3-11.1 96-31.7 96-55.4v-42.7c-23.2 16.4-57.3 27.6-96 34.5v63.6zM192 160C86 160 0 195.8 0 240s86 80 192 80 192-35.8 192-80-86-80-192-80zm219.3 56.3c60-10.8 100.7-32 100.7-56.3v-42.7c-35.5 25.1-96.5 38.6-160.7 41.8 29.5 14.3 51.2 33.5 60 57.2z\"},\"child\":[]}]})(props);\n};\nexport function FaColumns (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64V160h160v256zm224 0H288V160h160v256z\"},\"child\":[]}]})(props);\n};\nexport function FaCommentAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 0H64C28.7 0 0 28.7 0 64v288c0 35.3 28.7 64 64 64h96v84c0 9.8 11.2 15.5 19.1 9.7L304 416h144c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64z\"},\"child\":[]}]})(props);\n};\nexport function FaCommentDollar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 32C114.62 32 0 125.12 0 240c0 49.56 21.41 95.01 57.02 130.74C44.46 421.05 2.7 465.97 2.2 466.5A7.995 7.995 0 0 0 8 480c66.26 0 115.99-31.75 140.6-51.38C181.29 440.93 217.59 448 256 448c141.38 0 256-93.12 256-208S397.38 32 256 32zm24 302.44V352c0 8.84-7.16 16-16 16h-16c-8.84 0-16-7.16-16-16v-17.73c-11.42-1.35-22.28-5.19-31.78-11.46-6.22-4.11-6.82-13.11-1.55-18.38l17.52-17.52c3.74-3.74 9.31-4.24 14.11-2.03 3.18 1.46 6.66 2.22 10.26 2.22h32.78c4.66 0 8.44-3.78 8.44-8.42 0-3.75-2.52-7.08-6.12-8.11l-50.07-14.3c-22.25-6.35-40.01-24.71-42.91-47.67-4.05-32.07 19.03-59.43 49.32-63.05V128c0-8.84 7.16-16 16-16h16c8.84 0 16 7.16 16 16v17.73c11.42 1.35 22.28 5.19 31.78 11.46 6.22 4.11 6.82 13.11 1.55 18.38l-17.52 17.52c-3.74 3.74-9.31 4.24-14.11 2.03a24.516 24.516 0 0 0-10.26-2.22h-32.78c-4.66 0-8.44 3.78-8.44 8.42 0 3.75 2.52 7.08 6.12 8.11l50.07 14.3c22.25 6.36 40.01 24.71 42.91 47.67 4.05 32.06-19.03 59.42-49.32 63.04z\"},\"child\":[]}]})(props);\n};\nexport function FaCommentDots (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 32C114.6 32 0 125.1 0 240c0 49.6 21.4 95 57 130.7C44.5 421.1 2.7 466 2.2 466.5c-2.2 2.3-2.8 5.7-1.5 8.7S4.8 480 8 480c66.3 0 116-31.8 140.6-51.4 32.7 12.3 69 19.4 107.4 19.4 141.4 0 256-93.1 256-208S397.4 32 256 32zM128 272c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 0c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 0c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaCommentMedical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 32C114.62 32 0 125.12 0 240c0 49.56 21.41 95 57 130.74C44.46 421.05 2.7 466 2.2 466.5A8 8 0 0 0 8 480c66.26 0 116-31.75 140.6-51.38A304.66 304.66 0 0 0 256 448c141.39 0 256-93.12 256-208S397.39 32 256 32zm96 232a8 8 0 0 1-8 8h-56v56a8 8 0 0 1-8 8h-48a8 8 0 0 1-8-8v-56h-56a8 8 0 0 1-8-8v-48a8 8 0 0 1 8-8h56v-56a8 8 0 0 1 8-8h48a8 8 0 0 1 8 8v56h56a8 8 0 0 1 8 8z\"},\"child\":[]}]})(props);\n};\nexport function FaCommentSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M64 240c0 49.6 21.4 95 57 130.7-12.6 50.3-54.3 95.2-54.8 95.8-2.2 2.3-2.8 5.7-1.5 8.7 1.3 2.9 4.1 4.8 7.3 4.8 66.3 0 116-31.8 140.6-51.4 32.7 12.3 69 19.4 107.4 19.4 27.4 0 53.7-3.6 78.4-10L72.9 186.4c-5.6 17.1-8.9 35-8.9 53.6zm569.8 218.1l-114.4-88.4C554.6 334.1 576 289.2 576 240c0-114.9-114.6-208-256-208-65.1 0-124.2 20.1-169.4 52.7L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4l588.4 454.7c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.4-6.8 4.1-16.9-2.9-22.3z\"},\"child\":[]}]})(props);\n};\nexport function FaComment (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 32C114.6 32 0 125.1 0 240c0 49.6 21.4 95 57 130.7C44.5 421.1 2.7 466 2.2 466.5c-2.2 2.3-2.8 5.7-1.5 8.7S4.8 480 8 480c66.3 0 116-31.8 140.6-51.4 32.7 12.3 69 19.4 107.4 19.4 141.4 0 256-93.1 256-208S397.4 32 256 32z\"},\"child\":[]}]})(props);\n};\nexport function FaCommentsDollar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416 192c0-88.37-93.12-160-208-160S0 103.63 0 192c0 34.27 14.13 65.95 37.97 91.98C24.61 314.22 2.52 338.16 2.2 338.5A7.995 7.995 0 0 0 8 352c36.58 0 66.93-12.25 88.73-24.98C128.93 342.76 167.02 352 208 352c114.88 0 208-71.63 208-160zm-224 96v-16.29c-11.29-.58-22.27-4.52-31.37-11.35-3.9-2.93-4.1-8.77-.57-12.14l11.75-11.21c2.77-2.64 6.89-2.76 10.13-.73 3.87 2.42 8.26 3.72 12.82 3.72h28.11c6.5 0 11.8-5.92 11.8-13.19 0-5.95-3.61-11.19-8.77-12.73l-45-13.5c-18.59-5.58-31.58-23.42-31.58-43.39 0-24.52 19.05-44.44 42.67-45.07V96c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16.29c11.29.58 22.27 4.51 31.37 11.35 3.9 2.93 4.1 8.77.57 12.14l-11.75 11.21c-2.77 2.64-6.89 2.76-10.13.73-3.87-2.43-8.26-3.72-12.82-3.72h-28.11c-6.5 0-11.8 5.92-11.8 13.19 0 5.95 3.61 11.19 8.77 12.73l45 13.5c18.59 5.58 31.58 23.42 31.58 43.39 0 24.53-19.05 44.44-42.67 45.07V288c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8zm346.01 123.99C561.87 385.96 576 354.27 576 320c0-66.94-53.49-124.2-129.33-148.07.86 6.6 1.33 13.29 1.33 20.07 0 105.87-107.66 192-240 192-10.78 0-21.32-.77-31.73-1.88C207.8 439.63 281.77 480 368 480c40.98 0 79.07-9.24 111.27-24.98C501.07 467.75 531.42 480 568 480c3.2 0 6.09-1.91 7.34-4.84 1.27-2.94.66-6.34-1.55-8.67-.31-.33-22.42-24.24-35.78-54.5z\"},\"child\":[]}]})(props);\n};\nexport function FaComments (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416 192c0-88.4-93.1-160-208-160S0 103.6 0 192c0 34.3 14.1 65.9 38 92-13.4 30.2-35.5 54.2-35.8 54.5-2.2 2.3-2.8 5.7-1.5 8.7S4.8 352 8 352c36.6 0 66.9-12.3 88.7-25 32.2 15.7 70.3 25 111.3 25 114.9 0 208-71.6 208-160zm122 220c23.9-26 38-57.7 38-92 0-66.9-53.5-124.2-129.3-148.1.9 6.6 1.3 13.3 1.3 20.1 0 105.9-107.7 192-240 192-10.8 0-21.3-.8-31.7-1.9C207.8 439.6 281.8 480 368 480c41 0 79.1-9.2 111.3-25 21.8 12.7 52.1 25 88.7 25 3.2 0 6.1-1.9 7.3-4.8 1.3-2.9.7-6.3-1.5-8.7-.3-.3-22.4-24.2-35.8-54.5z\"},\"child\":[]}]})(props);\n};\nexport function FaCompactDisc (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM88 256H56c0-105.9 86.1-192 192-192v32c-88.2 0-160 71.8-160 160zm160 96c-53 0-96-43-96-96s43-96 96-96 96 43 96 96-43 96-96 96zm0-128c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaCompass (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M225.38 233.37c-12.5 12.5-12.5 32.76 0 45.25 12.49 12.5 32.76 12.5 45.25 0 12.5-12.5 12.5-32.76 0-45.25-12.5-12.49-32.76-12.49-45.25 0zM248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm126.14 148.05L308.17 300.4a31.938 31.938 0 0 1-15.77 15.77l-144.34 65.97c-16.65 7.61-33.81-9.55-26.2-26.2l65.98-144.35a31.938 31.938 0 0 1 15.77-15.77l144.34-65.97c16.65-7.6 33.8 9.55 26.19 26.2z\"},\"child\":[]}]})(props);\n};\nexport function FaCompressAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.686 427.314L104 328l-32.922-31.029C55.958 281.851 66.666 256 88.048 256h112C213.303 256 224 266.745 224 280v112c0 21.382-25.803 32.09-40.922 16.971L152 376l-99.314 99.314c-6.248 6.248-16.379 6.248-22.627 0L4.686 449.941c-6.248-6.248-6.248-16.379 0-22.627zM443.314 84.686L344 184l32.922 31.029c15.12 15.12 4.412 40.971-16.97 40.971h-112C234.697 256 224 245.255 224 232V120c0-21.382 25.803-32.09 40.922-16.971L296 136l99.314-99.314c6.248-6.248 16.379-6.248 22.627 0l25.373 25.373c6.248 6.248 6.248 16.379 0 22.627z\"},\"child\":[]}]})(props);\n};\nexport function FaCompressArrowsAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M200 288H88c-21.4 0-32.1 25.8-17 41l32.9 31-99.2 99.3c-6.2 6.2-6.2 16.4 0 22.6l25.4 25.4c6.2 6.2 16.4 6.2 22.6 0L152 408l31.1 33c15.1 15.1 40.9 4.4 40.9-17V312c0-13.3-10.7-24-24-24zm112-64h112c21.4 0 32.1-25.9 17-41l-33-31 99.3-99.3c6.2-6.2 6.2-16.4 0-22.6L481.9 4.7c-6.2-6.2-16.4-6.2-22.6 0L360 104l-31.1-33C313.8 55.9 288 66.6 288 88v112c0 13.3 10.7 24 24 24zm96 136l33-31.1c15.1-15.1 4.4-40.9-17-40.9H312c-13.3 0-24 10.7-24 24v112c0 21.4 25.9 32.1 41 17l31-32.9 99.3 99.3c6.2 6.2 16.4 6.2 22.6 0l25.4-25.4c6.2-6.2 6.2-16.4 0-22.6L408 360zM183 71.1L152 104 52.7 4.7c-6.2-6.2-16.4-6.2-22.6 0L4.7 30.1c-6.2 6.2-6.2 16.4 0 22.6L104 152l-33 31.1C55.9 198.2 66.6 224 88 224h112c13.3 0 24-10.7 24-24V88c0-21.3-25.9-32-41-16.9z\"},\"child\":[]}]})(props);\n};\nexport function FaCompress (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M436 192H312c-13.3 0-24-10.7-24-24V44c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v84h84c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12zm-276-24V44c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v84H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24zm0 300V344c0-13.3-10.7-24-24-24H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm192 0v-84h84c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12H312c-13.3 0-24 10.7-24 24v124c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12z\"},\"child\":[]}]})(props);\n};\nexport function FaConciergeBell (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 130.54V112h16c8.84 0 16-7.16 16-16V80c0-8.84-7.16-16-16-16h-96c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h16v18.54C115.49 146.11 32 239.18 32 352h448c0-112.82-83.49-205.89-192-221.46zM496 384H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaCookieBite (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M510.52 255.82c-69.97-.85-126.47-57.69-126.47-127.86-70.17 0-127-56.49-127.86-126.45-27.26-4.14-55.13.3-79.72 12.82l-69.13 35.22a132.221 132.221 0 0 0-57.79 57.81l-35.1 68.88a132.645 132.645 0 0 0-12.82 80.95l12.08 76.27a132.521 132.521 0 0 0 37.16 72.96l54.77 54.76a132.036 132.036 0 0 0 72.71 37.06l76.71 12.15c27.51 4.36 55.7-.11 80.53-12.76l69.13-35.21a132.273 132.273 0 0 0 57.79-57.81l35.1-68.88c12.56-24.64 17.01-52.58 12.91-79.91zM176 368c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm32-160c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm160 128c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaCookie (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M510.37 254.79l-12.08-76.26a132.493 132.493 0 0 0-37.16-72.95l-54.76-54.75c-19.73-19.72-45.18-32.7-72.71-37.05l-76.7-12.15c-27.51-4.36-55.69.11-80.52 12.76L107.32 49.6a132.25 132.25 0 0 0-57.79 57.8l-35.1 68.88a132.602 132.602 0 0 0-12.82 80.94l12.08 76.27a132.493 132.493 0 0 0 37.16 72.95l54.76 54.75a132.087 132.087 0 0 0 72.71 37.05l76.7 12.14c27.51 4.36 55.69-.11 80.52-12.75l69.12-35.21a132.302 132.302 0 0 0 57.79-57.8l35.1-68.87c12.71-24.96 17.2-53.3 12.82-80.96zM176 368c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm32-160c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm160 128c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaCopy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M320 448v40c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V120c0-13.255 10.745-24 24-24h72v296c0 30.879 25.121 56 56 56h168zm0-344V0H152c-13.255 0-24 10.745-24 24v368c0 13.255 10.745 24 24 24h272c13.255 0 24-10.745 24-24V128H344c-13.2 0-24-10.8-24-24zm120.971-31.029L375.029 7.029A24 24 0 0 0 358.059 0H352v96h96v-6.059a24 24 0 0 0-7.029-16.97z\"},\"child\":[]}]})(props);\n};\nexport function FaCopyright (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm117.134 346.753c-1.592 1.867-39.776 45.731-109.851 45.731-84.692 0-144.484-63.26-144.484-145.567 0-81.303 62.004-143.401 143.762-143.401 66.957 0 101.965 37.315 103.422 38.904a12 12 0 0 1 1.238 14.623l-22.38 34.655c-4.049 6.267-12.774 7.351-18.234 2.295-.233-.214-26.529-23.88-61.88-23.88-46.116 0-73.916 33.575-73.916 76.082 0 39.602 25.514 79.692 74.277 79.692 38.697 0 65.28-28.338 65.544-28.625 5.132-5.565 14.059-5.033 18.508 1.053l24.547 33.572a12.001 12.001 0 0 1-.553 14.866z\"},\"child\":[]}]})(props);\n};\nexport function FaCouch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M160 224v64h320v-64c0-35.3 28.7-64 64-64h32c0-53-43-96-96-96H160c-53 0-96 43-96 96h32c35.3 0 64 28.7 64 64zm416-32h-32c-17.7 0-32 14.3-32 32v96H128v-96c0-17.7-14.3-32-32-32H64c-35.3 0-64 28.7-64 64 0 23.6 13 44 32 55.1V432c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16v-16h384v16c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V311.1c19-11.1 32-31.5 32-55.1 0-35.3-28.7-64-64-64z\"},\"child\":[]}]})(props);\n};\nexport function FaCreditCard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 432c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V256H0v176zm192-68c0-6.6 5.4-12 12-12h136c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H204c-6.6 0-12-5.4-12-12v-40zm-128 0c0-6.6 5.4-12 12-12h72c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12v-40zM576 80v48H0V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48z\"},\"child\":[]}]})(props);\n};\nexport function FaCropAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M488 352h-40V96c0-17.67-14.33-32-32-32H192v96h160v328c0 13.25 10.75 24 24 24h48c13.25 0 24-10.75 24-24v-40h40c13.25 0 24-10.75 24-24v-48c0-13.26-10.75-24-24-24zM160 24c0-13.26-10.75-24-24-24H88C74.75 0 64 10.74 64 24v40H24C10.75 64 0 74.74 0 88v48c0 13.25 10.75 24 24 24h40v256c0 17.67 14.33 32 32 32h224v-96H160V24z\"},\"child\":[]}]})(props);\n};\nexport function FaCrop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M488 352h-40V109.25l59.31-59.31c6.25-6.25 6.25-16.38 0-22.63L484.69 4.69c-6.25-6.25-16.38-6.25-22.63 0L402.75 64H192v96h114.75L160 306.75V24c0-13.26-10.75-24-24-24H88C74.75 0 64 10.74 64 24v40H24C10.75 64 0 74.74 0 88v48c0 13.25 10.75 24 24 24h40v264c0 13.25 10.75 24 24 24h232v-96H205.25L352 205.25V488c0 13.25 10.75 24 24 24h48c13.25 0 24-10.75 24-24v-40h40c13.25 0 24-10.75 24-24v-48c0-13.26-10.75-24-24-24z\"},\"child\":[]}]})(props);\n};\nexport function FaCross (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M352 128h-96V32c0-17.67-14.33-32-32-32h-64c-17.67 0-32 14.33-32 32v96H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h96v224c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V256h96c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaCrosshairs (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M500 224h-30.364C455.724 130.325 381.675 56.276 288 42.364V12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v30.364C130.325 56.276 56.276 130.325 42.364 224H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h30.364C56.276 381.675 130.325 455.724 224 469.636V500c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-30.364C381.675 455.724 455.724 381.675 469.636 288H500c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12zM288 404.634V364c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40.634C165.826 392.232 119.783 346.243 107.366 288H148c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40.634C119.768 165.826 165.757 119.783 224 107.366V148c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40.634C346.174 119.768 392.217 165.757 404.634 224H364c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40.634C392.232 346.174 346.243 392.217 288 404.634zM288 256c0 17.673-14.327 32-32 32s-32-14.327-32-32c0-17.673 14.327-32 32-32s32 14.327 32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaCrow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M544 32h-16.36C513.04 12.68 490.09 0 464 0c-44.18 0-80 35.82-80 80v20.98L12.09 393.57A30.216 30.216 0 0 0 0 417.74c0 22.46 23.64 37.07 43.73 27.03L165.27 384h96.49l44.41 120.1c2.27 6.23 9.15 9.44 15.38 7.17l22.55-8.21c6.23-2.27 9.44-9.15 7.17-15.38L312.94 384H352c1.91 0 3.76-.23 5.66-.29l44.51 120.38c2.27 6.23 9.15 9.44 15.38 7.17l22.55-8.21c6.23-2.27 9.44-9.15 7.17-15.38l-41.24-111.53C485.74 352.8 544 279.26 544 192v-80l96-16c0-35.35-42.98-64-96-64zm-80 72c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z\"},\"child\":[]}]})(props);\n};\nexport function FaCrown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M528 448H112c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h416c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm64-320c-26.5 0-48 21.5-48 48 0 7.1 1.6 13.7 4.4 19.8L476 239.2c-15.4 9.2-35.3 4-44.2-11.6L350.3 85C361 76.2 368 63 368 48c0-26.5-21.5-48-48-48s-48 21.5-48 48c0 15 7 28.2 17.7 37l-81.5 142.6c-8.9 15.6-28.9 20.8-44.2 11.6l-72.3-43.4c2.7-6 4.4-12.7 4.4-19.8 0-26.5-21.5-48-48-48S0 149.5 0 176s21.5 48 48 48c2.6 0 5.2-.4 7.7-.8L128 416h384l72.3-192.8c2.5.4 5.1.8 7.7.8 26.5 0 48-21.5 48-48s-21.5-48-48-48z\"},\"child\":[]}]})(props);\n};\nexport function FaCrutch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M507.31 185.71l-181-181a16 16 0 0 0-22.62 0L281 27.31a16 16 0 0 0 0 22.63l181 181a16 16 0 0 0 22.63 0l22.62-22.63a16 16 0 0 0 .06-22.6zm-179.54 66.41l-67.89-67.89 55.1-55.1-45.25-45.25-109.67 109.67a96.08 96.08 0 0 0-25.67 46.29L106.65 360.1l-102 102a16 16 0 0 0 0 22.63l22.62 22.62a16 16 0 0 0 22.63 0l102-102 120.25-27.75a95.88 95.88 0 0 0 46.29-25.65l109.68-109.68L382.87 197zm-54.57 54.57a32 32 0 0 1-15.45 8.54l-79.3 18.32 18.3-79.3a32.22 32.22 0 0 1 8.56-15.45l9.31-9.31 67.89 67.89z\"},\"child\":[]}]})(props);\n};\nexport function FaCube (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M239.1 6.3l-208 78c-18.7 7-31.1 25-31.1 45v225.1c0 18.2 10.3 34.8 26.5 42.9l208 104c13.5 6.8 29.4 6.8 42.9 0l208-104c16.3-8.1 26.5-24.8 26.5-42.9V129.3c0-20-12.4-37.9-31.1-44.9l-208-78C262 2.2 250 2.2 239.1 6.3zM256 68.4l192 72v1.1l-192 78-192-78v-1.1l192-72zm32 356V275.5l160-65v133.9l-160 80z\"},\"child\":[]}]})(props);\n};\nexport function FaCubes (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M488.6 250.2L392 214V105.5c0-15-9.3-28.4-23.4-33.7l-100-37.5c-8.1-3.1-17.1-3.1-25.3 0l-100 37.5c-14.1 5.3-23.4 18.7-23.4 33.7V214l-96.6 36.2C9.3 255.5 0 268.9 0 283.9V394c0 13.6 7.7 26.1 19.9 32.2l100 50c10.1 5.1 22.1 5.1 32.2 0l103.9-52 103.9 52c10.1 5.1 22.1 5.1 32.2 0l100-50c12.2-6.1 19.9-18.6 19.9-32.2V283.9c0-15-9.3-28.4-23.4-33.7zM358 214.8l-85 31.9v-68.2l85-37v73.3zM154 104.1l102-38.2 102 38.2v.6l-102 41.4-102-41.4v-.6zm84 291.1l-85 42.5v-79.1l85-38.8v75.4zm0-112l-102 41.4-102-41.4v-.6l102-38.2 102 38.2v.6zm240 112l-85 42.5v-79.1l85-38.8v75.4zm0-112l-102 41.4-102-41.4v-.6l102-38.2 102 38.2v.6z\"},\"child\":[]}]})(props);\n};\nexport function FaCut (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M278.06 256L444.48 89.57c4.69-4.69 4.69-12.29 0-16.97-32.8-32.8-85.99-32.8-118.79 0L210.18 188.12l-24.86-24.86c4.31-10.92 6.68-22.81 6.68-35.26 0-53.02-42.98-96-96-96S0 74.98 0 128s42.98 96 96 96c4.54 0 8.99-.32 13.36-.93L142.29 256l-32.93 32.93c-4.37-.61-8.83-.93-13.36-.93-53.02 0-96 42.98-96 96s42.98 96 96 96 96-42.98 96-96c0-12.45-2.37-24.34-6.68-35.26l24.86-24.86L325.69 439.4c32.8 32.8 85.99 32.8 118.79 0 4.69-4.68 4.69-12.28 0-16.97L278.06 256zM96 160c-17.64 0-32-14.36-32-32s14.36-32 32-32 32 14.36 32 32-14.36 32-32 32zm0 256c-17.64 0-32-14.36-32-32s14.36-32 32-32 32 14.36 32 32-14.36 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaDatabase (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 73.143v45.714C448 159.143 347.667 192 224 192S0 159.143 0 118.857V73.143C0 32.857 100.333 0 224 0s224 32.857 224 73.143zM448 176v102.857C448 319.143 347.667 352 224 352S0 319.143 0 278.857V176c48.125 33.143 136.208 48.572 224 48.572S399.874 209.143 448 176zm0 160v102.857C448 479.143 347.667 512 224 512S0 479.143 0 438.857V336c48.125 33.143 136.208 48.572 224 48.572S399.874 369.143 448 336z\"},\"child\":[]}]})(props);\n};\nexport function FaDeaf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M216 260c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-44.112 35.888-80 80-80s80 35.888 80 80c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-13.234-10.767-24-24-24s-24 10.766-24 24zm24-176c-97.047 0-176 78.953-176 176 0 15.464 12.536 28 28 28s28-12.536 28-28c0-66.168 53.832-120 120-120s120 53.832 120 120c0 75.164-71.009 70.311-71.997 143.622L288 404c0 28.673-23.327 52-52 52-15.464 0-28 12.536-28 28s12.536 28 28 28c59.475 0 107.876-48.328 108-107.774.595-34.428 72-48.24 72-144.226 0-97.047-78.953-176-176-176zm268.485-52.201L480.2 3.515c-4.687-4.686-12.284-4.686-16.971 0L376.2 90.544c-4.686 4.686-4.686 12.284 0 16.971l28.285 28.285c4.686 4.686 12.284 4.686 16.97 0l87.03-87.029c4.687-4.688 4.687-12.286 0-16.972zM168.97 314.745c-4.686-4.686-12.284-4.686-16.97 0L3.515 463.23c-4.686 4.686-4.686 12.284 0 16.971L31.8 508.485c4.687 4.686 12.284 4.686 16.971 0L197.256 360c4.686-4.686 4.686-12.284 0-16.971l-28.286-28.284z\"},\"child\":[]}]})(props);\n};\nexport function FaDemocrat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M637.3 256.9l-19.6-29.4c-28.2-42.3-75.3-67.5-126.1-67.5H256l-81.2-81.2c20.1-20.1 22.6-51.1 7.5-73.9-3.4-5.2-10.8-5.9-15.2-1.5l-41.8 41.8L82.4 2.4c-3.6-3.6-9.6-3-12.4 1.2-12.3 18.6-10.3 44 6.1 60.4 3.3 3.3 7.3 5.3 11.3 7.5-2.2 1.7-4.7 3.1-6.4 5.4L6.4 176.2c-7.3 9.7-8.4 22.7-3 33.5l14.3 28.6c5.4 10.8 16.5 17.7 28.6 17.7h31c8.5 0 16.6-3.4 22.6-9.4L138 212l54 108h352v-77.8c16.2 12.2 18.3 17.6 40.1 50.3 4.9 7.4 14.8 9.3 22.2 4.4l26.6-17.7c7.3-5 9.3-14.9 4.4-22.3zm-341.1-13.6l-16.5 16.1 3.9 22.7c.7 4.1-3.6 7.2-7.2 5.3L256 276.7l-20.4 10.7c-3.6 1.9-7.9-1.2-7.2-5.3l3.9-22.7-16.5-16.1c-3-2.9-1.3-7.9 2.8-8.5l22.8-3.3 10.2-20.7c1.8-3.7 7.1-3.7 9 0l10.2 20.7 22.8 3.3c4 .6 5.6 5.6 2.6 8.5zm112 0l-16.5 16.1 3.9 22.7c.7 4.1-3.6 7.2-7.2 5.3L368 276.7l-20.4 10.7c-3.6 1.9-7.9-1.2-7.2-5.3l3.9-22.7-16.5-16.1c-3-2.9-1.3-7.9 2.8-8.5l22.8-3.3 10.2-20.7c1.8-3.7 7.1-3.7 9 0l10.2 20.7 22.8 3.3c4 .6 5.6 5.6 2.6 8.5zm112 0l-16.5 16.1 3.9 22.7c.7 4.1-3.6 7.2-7.2 5.3L480 276.7l-20.4 10.7c-3.6 1.9-7.9-1.2-7.2-5.3l3.9-22.7-16.5-16.1c-3-2.9-1.3-7.9 2.8-8.5l22.8-3.3 10.2-20.7c1.8-3.7 7.1-3.7 9 0l10.2 20.7 22.8 3.3c4 .6 5.6 5.6 2.6 8.5zM192 496c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16v-80h160v80c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16V352H192v144z\"},\"child\":[]}]})(props);\n};\nexport function FaDesktop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M528 0H48C21.5 0 0 21.5 0 48v320c0 26.5 21.5 48 48 48h192l-16 48h-72c-13.3 0-24 10.7-24 24s10.7 24 24 24h272c13.3 0 24-10.7 24-24s-10.7-24-24-24h-72l-16-48h192c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm-16 352H64V64h448v288z\"},\"child\":[]}]})(props);\n};\nexport function FaDharmachakra (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M495 225.06l-17.22 1.08c-5.27-39.49-20.79-75.64-43.86-105.84l12.95-11.43c6.92-6.11 7.25-16.79.73-23.31L426.44 64.4c-6.53-6.53-17.21-6.19-23.31.73L391.7 78.07c-30.2-23.06-66.35-38.58-105.83-43.86L286.94 17c.58-9.21-6.74-17-15.97-17h-29.94c-9.23 0-16.54 7.79-15.97 17l1.08 17.22c-39.49 5.27-75.64 20.79-105.83 43.86l-11.43-12.95c-6.11-6.92-16.79-7.25-23.31-.73L64.4 85.56c-6.53 6.53-6.19 17.21.73 23.31l12.95 11.43c-23.06 30.2-38.58 66.35-43.86 105.84L17 225.06c-9.21-.58-17 6.74-17 15.97v29.94c0 9.23 7.79 16.54 17 15.97l17.22-1.08c5.27 39.49 20.79 75.64 43.86 105.83l-12.95 11.43c-6.92 6.11-7.25 16.79-.73 23.31l21.17 21.17c6.53 6.53 17.21 6.19 23.31-.73l11.43-12.95c30.2 23.06 66.35 38.58 105.84 43.86L225.06 495c-.58 9.21 6.74 17 15.97 17h29.94c9.23 0 16.54-7.79 15.97-17l-1.08-17.22c39.49-5.27 75.64-20.79 105.84-43.86l11.43 12.95c6.11 6.92 16.79 7.25 23.31.73l21.17-21.17c6.53-6.53 6.19-17.21-.73-23.31l-12.95-11.43c23.06-30.2 38.58-66.35 43.86-105.83l17.22 1.08c9.21.58 17-6.74 17-15.97v-29.94c-.01-9.23-7.8-16.54-17.01-15.97zM281.84 98.61c24.81 4.07 47.63 13.66 67.23 27.78l-42.62 48.29c-8.73-5.44-18.32-9.54-28.62-11.95l4.01-64.12zm-51.68 0l4.01 64.12c-10.29 2.41-19.89 6.52-28.62 11.95l-42.62-48.29c19.6-14.12 42.42-23.71 67.23-27.78zm-103.77 64.33l48.3 42.61c-5.44 8.73-9.54 18.33-11.96 28.62l-64.12-4.01c4.07-24.81 13.66-47.62 27.78-67.22zm-27.78 118.9l64.12-4.01c2.41 10.29 6.52 19.89 11.95 28.62l-48.29 42.62c-14.12-19.6-23.71-42.42-27.78-67.23zm131.55 131.55c-24.81-4.07-47.63-13.66-67.23-27.78l42.61-48.3c8.73 5.44 18.33 9.54 28.62 11.96l-4 64.12zM256 288c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm25.84 125.39l-4.01-64.12c10.29-2.41 19.89-6.52 28.62-11.96l42.61 48.3c-19.6 14.12-42.41 23.71-67.22 27.78zm103.77-64.33l-48.29-42.62c5.44-8.73 9.54-18.32 11.95-28.62l64.12 4.01c-4.07 24.82-13.66 47.64-27.78 67.23zm-36.34-114.89c-2.41-10.29-6.52-19.89-11.96-28.62l48.3-42.61c14.12 19.6 23.71 42.42 27.78 67.23l-64.12 4z\"},\"child\":[]}]})(props);\n};\nexport function FaDiagnoses (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496 256c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16zm-176-80c48.5 0 88-39.5 88-88S368.5 0 320 0s-88 39.5-88 88 39.5 88 88 88zM59.8 364c10.2 15.3 29.3 17.8 42.9 9.8 16.2-9.6 56.2-31.7 105.3-48.6V416h224v-90.7c49.1 16.8 89.1 39 105.3 48.6 13.6 8 32.7 5.3 42.9-9.8l17.8-26.7c8.8-13.2 7.6-34.6-10-45.1-11.9-7.1-29.7-17-51.1-27.4-28.1 46.1-99.4 17.8-87.7-35.1C409.3 217.2 365.1 208 320 208c-57 0-112.9 14.5-160 32.2-.2 40.2-47.6 63.3-79.2 36-11.2 6-21.3 11.6-28.7 16-17.6 10.5-18.8 31.8-10 45.1L59.8 364zM368 344c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm-96-96c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm-160 8c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16zm512 192H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaDiceD20 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 480 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M106.75 215.06L1.2 370.95c-3.08 5 .1 11.5 5.93 12.14l208.26 22.07-108.64-190.1zM7.41 315.43L82.7 193.08 6.06 147.1c-2.67-1.6-6.06.32-6.06 3.43v162.81c0 4.03 5.29 5.53 7.41 2.09zM18.25 423.6l194.4 87.66c5.3 2.45 11.35-1.43 11.35-7.26v-65.67l-203.55-22.3c-4.45-.5-6.23 5.59-2.2 7.57zm81.22-257.78L179.4 22.88c4.34-7.06-3.59-15.25-10.78-11.14L17.81 110.35c-2.47 1.62-2.39 5.26.13 6.78l81.53 48.69zM240 176h109.21L253.63 7.62C250.5 2.54 245.25 0 240 0s-10.5 2.54-13.63 7.62L130.79 176H240zm233.94-28.9l-76.64 45.99 75.29 122.35c2.11 3.44 7.41 1.94 7.41-2.1V150.53c0-3.11-3.39-5.03-6.06-3.43zm-93.41 18.72l81.53-48.7c2.53-1.52 2.6-5.16.13-6.78l-150.81-98.6c-7.19-4.11-15.12 4.08-10.78 11.14l79.93 142.94zm79.02 250.21L256 438.32v65.67c0 5.84 6.05 9.71 11.35 7.26l194.4-87.66c4.03-1.97 2.25-8.06-2.2-7.56zm-86.3-200.97l-108.63 190.1 208.26-22.07c5.83-.65 9.01-7.14 5.93-12.14L373.25 215.06zM240 208H139.57L240 383.75 340.43 208H240z\"},\"child\":[]}]})(props);\n};\nexport function FaDiceD6 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M422.19 109.95L256.21 9.07c-19.91-12.1-44.52-12.1-64.43 0L25.81 109.95c-5.32 3.23-5.29 11.27.06 14.46L224 242.55l198.14-118.14c5.35-3.19 5.38-11.22.05-14.46zm13.84 44.63L240 271.46v223.82c0 12.88 13.39 20.91 24.05 14.43l152.16-92.48c19.68-11.96 31.79-33.94 31.79-57.7v-197.7c0-6.41-6.64-10.43-11.97-7.25zM0 161.83v197.7c0 23.77 12.11 45.74 31.79 57.7l152.16 92.47c10.67 6.48 24.05-1.54 24.05-14.43V271.46L11.97 154.58C6.64 151.4 0 155.42 0 161.83z\"},\"child\":[]}]})(props);\n};\nexport function FaDiceFive (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm96 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm96 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaDiceFour (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm192 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaDiceOne (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM224 288c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaDiceSix (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm192 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaDiceThree (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm96 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm96 96c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaDiceTwo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 32H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h320c35.35 0 64-28.65 64-64V96c0-35.35-28.65-64-64-64zM128 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm192 192c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaDice (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M592 192H473.26c12.69 29.59 7.12 65.2-17 89.32L320 417.58V464c0 26.51 21.49 48 48 48h224c26.51 0 48-21.49 48-48V240c0-26.51-21.49-48-48-48zM480 376c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm-46.37-186.7L258.7 14.37c-19.16-19.16-50.23-19.16-69.39 0L14.37 189.3c-19.16 19.16-19.16 50.23 0 69.39L189.3 433.63c19.16 19.16 50.23 19.16 69.39 0L433.63 258.7c19.16-19.17 19.16-50.24 0-69.4zM96 248c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm128 128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm0-128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm0-128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm128 128c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z\"},\"child\":[]}]})(props);\n};\nexport function FaDigitalTachograph (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M608 96H32c-17.67 0-32 14.33-32 32v256c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V128c0-17.67-14.33-32-32-32zM304 352c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-8c0-4.42 3.58-8 8-8h224c4.42 0 8 3.58 8 8v8zM72 288v-16c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H80c-4.42 0-8-3.58-8-8zm64 0v-16c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8zm64 0v-16c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8zm64 0v-16c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8zm40-64c0 8.84-7.16 16-16 16H80c-8.84 0-16-7.16-16-16v-48c0-8.84 7.16-16 16-16h208c8.84 0 16 7.16 16 16v48zm272 128c0 4.42-3.58 8-8 8H344c-4.42 0-8-3.58-8-8v-8c0-4.42 3.58-8 8-8h224c4.42 0 8 3.58 8 8v8z\"},\"child\":[]}]})(props);\n};\nexport function FaDirections (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M502.61 233.32L278.68 9.39c-12.52-12.52-32.83-12.52-45.36 0L9.39 233.32c-12.52 12.53-12.52 32.83 0 45.36l223.93 223.93c12.52 12.53 32.83 12.53 45.36 0l223.93-223.93c12.52-12.53 12.52-32.83 0-45.36zm-100.98 12.56l-84.21 77.73c-5.12 4.73-13.43 1.1-13.43-5.88V264h-96v64c0 4.42-3.58 8-8 8h-32c-4.42 0-8-3.58-8-8v-80c0-17.67 14.33-32 32-32h112v-53.73c0-6.97 8.3-10.61 13.43-5.88l84.21 77.73c3.43 3.17 3.43 8.59 0 11.76z\"},\"child\":[]}]})(props);\n};\nexport function FaDisease (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M472.29 195.9l-67.06-23c-19.28-6.6-33.54-20.92-38.14-38.31l-16-60.45c-11.58-43.77-76.57-57.13-110-22.62L195 99.24c-13.26 13.71-33.54 20.93-54.2 19.31l-71.9-5.62c-52-4.07-86.93 44.89-59 82.84l38.54 52.42c11.08 15.07 12.82 33.86 4.64 50.24l-28.43 57C4 396.67 47.46 440.29 98.11 429.23l70-15.28c20.11-4.39 41.45 0 57.07 11.73l54.32 40.83c39.32 29.56 101 7.57 104.45-37.22l4.7-61.86c1.35-17.8 12.8-33.87 30.63-43l62-31.74c44.84-22.96 39.55-80.17-8.99-96.79zM160 256a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm128 96a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm16-128a16 16 0 1 1 16-16 16 16 0 0 1-16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaDivide (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 352c-35.35 0-64 28.65-64 64s28.65 64 64 64 64-28.65 64-64-28.65-64-64-64zm0-192c35.35 0 64-28.65 64-64s-28.65-64-64-64-64 28.65-64 64 28.65 64 64 64zm192 48H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaDizzy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-96 206.6l-28.7 28.7c-14.8 14.8-37.8-7.5-22.6-22.6l28.7-28.7-28.7-28.7c-15-15 7.7-37.6 22.6-22.6l28.7 28.7 28.7-28.7c15-15 37.6 7.7 22.6 22.6L174.6 192l28.7 28.7c15.2 15.2-7.9 37.4-22.6 22.6L152 214.6zM248 416c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64zm147.3-195.3c15.2 15.2-7.9 37.4-22.6 22.6L344 214.6l-28.7 28.7c-14.8 14.8-37.8-7.5-22.6-22.6l28.7-28.7-28.7-28.7c-15-15 7.7-37.6 22.6-22.6l28.7 28.7 28.7-28.7c15-15 37.6 7.7 22.6 22.6L366.6 192l28.7 28.7z\"},\"child\":[]}]})(props);\n};\nexport function FaDna (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.1 494.1c-1.1 9.5 6.3 17.8 15.9 17.8l32.3.1c8.1 0 14.9-5.9 16-13.9.7-4.9 1.8-11.1 3.4-18.1H380c1.6 6.9 2.9 13.2 3.5 18.1 1.1 8 7.9 14 16 13.9l32.3-.1c9.6 0 17.1-8.3 15.9-17.8-4.6-37.9-25.6-129-118.9-207.7-17.6 12.4-37.1 24.2-58.5 35.4 6.2 4.6 11.4 9.4 17 14.2H159.7c21.3-18.1 47-35.6 78.7-51.4C410.5 199.1 442.1 65.8 447.9 17.9 449 8.4 441.6.1 432 .1L399.6 0c-8.1 0-14.9 5.9-16 13.9-.7 4.9-1.8 11.1-3.4 18.1H67.8c-1.6-7-2.7-13.1-3.4-18.1-1.1-8-7.9-14-16-13.9L16.1.1C6.5.1-1 8.4.1 17.9 5.3 60.8 31.4 171.8 160 256 31.5 340.2 5.3 451.2.1 494.1zM224 219.6c-25.1-13.7-46.4-28.4-64.3-43.6h128.5c-17.8 15.2-39.1 30-64.2 43.6zM355.1 96c-5.8 10.4-12.8 21.1-21 32H114c-8.3-10.9-15.3-21.6-21-32h262.1zM92.9 416c5.8-10.4 12.8-21.1 21-32h219.4c8.3 10.9 15.4 21.6 21.2 32H92.9z\"},\"child\":[]}]})(props);\n};\nexport function FaDog (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M298.06,224,448,277.55V496a16,16,0,0,1-16,16H368a16,16,0,0,1-16-16V384H192V496a16,16,0,0,1-16,16H112a16,16,0,0,1-16-16V282.09C58.84,268.84,32,233.66,32,192a32,32,0,0,1,64,0,32.06,32.06,0,0,0,32,32ZM544,112v32a64,64,0,0,1-64,64H448v35.58L320,197.87V48c0-14.25,17.22-21.39,27.31-11.31L374.59,64h53.63c10.91,0,23.75,7.92,28.62,17.69L464,96h64A16,16,0,0,1,544,112Zm-112,0a16,16,0,1,0-16,16A16,16,0,0,0,432,112Z\"},\"child\":[]}]})(props);\n};\nexport function FaDollarSign (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 288 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M209.2 233.4l-108-31.6C88.7 198.2 80 186.5 80 173.5c0-16.3 13.2-29.5 29.5-29.5h66.3c12.2 0 24.2 3.7 34.2 10.5 6.1 4.1 14.3 3.1 19.5-2l34.8-34c7.1-6.9 6.1-18.4-1.8-24.5C238 74.8 207.4 64.1 176 64V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v48h-2.5C45.8 64-5.4 118.7.5 183.6c4.2 46.1 39.4 83.6 83.8 96.6l102.5 30c12.5 3.7 21.2 15.3 21.2 28.3 0 16.3-13.2 29.5-29.5 29.5h-66.3C100 368 88 364.3 78 357.5c-6.1-4.1-14.3-3.1-19.5 2l-34.8 34c-7.1 6.9-6.1 18.4 1.8 24.5 24.5 19.2 55.1 29.9 86.5 30v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-48.2c46.6-.9 90.3-28.6 105.7-72.7 21.5-61.6-14.6-124.8-72.5-141.7z\"},\"child\":[]}]})(props);\n};\nexport function FaDollyFlatbed (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M208 320h384c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16H448v128l-48-32-48 32V32H208c-8.8 0-16 7.2-16 16v256c0 8.8 7.2 16 16 16zm416 64H128V16c0-8.8-7.2-16-16-16H16C7.2 0 0 7.2 0 16v32c0 8.8 7.2 16 16 16h48v368c0 8.8 7.2 16 16 16h82.9c-1.8 5-2.9 10.4-2.9 16 0 26.5 21.5 48 48 48s48-21.5 48-48c0-5.6-1.2-11-2.9-16H451c-1.8 5-2.9 10.4-2.9 16 0 26.5 21.5 48 48 48s48-21.5 48-48c0-5.6-1.2-11-2.9-16H624c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaDolly (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M294.2 277.7c18 5 34.7 13.4 49.5 24.7l161.5-53.8c8.4-2.8 12.9-11.9 10.1-20.2L454.9 47.2c-2.8-8.4-11.9-12.9-20.2-10.1l-61.1 20.4 33.1 99.4L346 177l-33.1-99.4-61.6 20.5c-8.4 2.8-12.9 11.9-10.1 20.2l53 159.4zm281 48.7L565 296c-2.8-8.4-11.9-12.9-20.2-10.1l-213.5 71.2c-17.2-22-43.6-36.4-73.5-37L158.4 21.9C154 8.8 141.8 0 128 0H16C7.2 0 0 7.2 0 16v32c0 8.8 7.2 16 16 16h88.9l92.2 276.7c-26.1 20.4-41.7 53.6-36 90.5 6.1 39.4 37.9 72.3 77.3 79.2 60.2 10.7 112.3-34.8 113.4-92.6l213.3-71.2c8.3-2.8 12.9-11.8 10.1-20.2zM256 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48z\"},\"child\":[]}]})(props);\n};\nexport function FaDonate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 416c114.9 0 208-93.1 208-208S370.9 0 256 0 48 93.1 48 208s93.1 208 208 208zM233.8 97.4V80.6c0-9.2 7.4-16.6 16.6-16.6h11.1c9.2 0 16.6 7.4 16.6 16.6v17c15.5.8 30.5 6.1 43 15.4 5.6 4.1 6.2 12.3 1.2 17.1L306 145.6c-3.8 3.7-9.5 3.8-14 1-5.4-3.4-11.4-5.1-17.8-5.1h-38.9c-9 0-16.3 8.2-16.3 18.3 0 8.2 5 15.5 12.1 17.6l62.3 18.7c25.7 7.7 43.7 32.4 43.7 60.1 0 34-26.4 61.5-59.1 62.4v16.8c0 9.2-7.4 16.6-16.6 16.6h-11.1c-9.2 0-16.6-7.4-16.6-16.6v-17c-15.5-.8-30.5-6.1-43-15.4-5.6-4.1-6.2-12.3-1.2-17.1l16.3-15.5c3.8-3.7 9.5-3.8 14-1 5.4 3.4 11.4 5.1 17.8 5.1h38.9c9 0 16.3-8.2 16.3-18.3 0-8.2-5-15.5-12.1-17.6l-62.3-18.7c-25.7-7.7-43.7-32.4-43.7-60.1.1-34 26.4-61.5 59.1-62.4zM480 352h-32.5c-19.6 26-44.6 47.7-73 64h63.8c5.3 0 9.6 3.6 9.6 8v16c0 4.4-4.3 8-9.6 8H73.6c-5.3 0-9.6-3.6-9.6-8v-16c0-4.4 4.3-8 9.6-8h63.8c-28.4-16.3-53.3-38-73-64H32c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32h448c17.7 0 32-14.3 32-32v-96c0-17.7-14.3-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaDoorClosed (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M624 448H512V50.8C512 22.78 490.47 0 464 0H175.99c-26.47 0-48 22.78-48 50.8V448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM415.99 288c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32c.01 17.67-14.32 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaDoorOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M624 448h-80V113.45C544 86.19 522.47 64 496 64H384v64h96v384h144c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM312.24 1.01l-192 49.74C105.99 54.44 96 67.7 96 82.92V448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h336V33.18c0-21.58-19.56-37.41-39.76-32.17zM264 288c-13.25 0-24-14.33-24-32s10.75-32 24-32 24 14.33 24 32-10.75 32-24 32z\"},\"child\":[]}]})(props);\n};\nexport function FaDotCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm80 248c0 44.112-35.888 80-80 80s-80-35.888-80-80 35.888-80 80-80 80 35.888 80 80z\"},\"child\":[]}]})(props);\n};\nexport function FaDove (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 167.2v-28.1c-28.2-36.3-47.1-79.3-54.1-125.2-2.1-13.5-19-18.8-27.8-8.3-21.1 24.9-37.7 54.1-48.9 86.5 34.2 38.3 80 64.6 130.8 75.1zM400 64c-44.2 0-80 35.9-80 80.1v59.4C215.6 197.3 127 133 87 41.8c-5.5-12.5-23.2-13.2-29-.9C41.4 76 32 115.2 32 156.6c0 70.8 34.1 136.9 85.1 185.9 13.2 12.7 26.1 23.2 38.9 32.8l-143.9 36C1.4 414-3.4 426.4 2.6 435.7 20 462.6 63 508.2 155.8 512c8 .3 16-2.6 22.1-7.9l65.2-56.1H320c88.4 0 160-71.5 160-159.9V128l32-64H400zm0 96.1c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaDownload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z\"},\"child\":[]}]})(props);\n};\nexport function FaDraftingCompass (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M457.01 344.42c-25.05 20.33-52.63 37.18-82.54 49.05l54.38 94.19 53.95 23.04c9.81 4.19 20.89-2.21 22.17-12.8l7.02-58.25-54.98-95.23zm42.49-94.56c4.86-7.67 1.89-17.99-6.05-22.39l-28.07-15.57c-7.48-4.15-16.61-1.46-21.26 5.72C403.01 281.15 332.25 320 256 320c-23.93 0-47.23-4.25-69.41-11.53l67.36-116.68c.7.02 1.34.21 2.04.21s1.35-.19 2.04-.21l51.09 88.5c31.23-8.96 59.56-25.75 82.61-48.92l-51.79-89.71C347.39 128.03 352 112.63 352 96c0-53.02-42.98-96-96-96s-96 42.98-96 96c0 16.63 4.61 32.03 12.05 45.66l-68.3 118.31c-12.55-11.61-23.96-24.59-33.68-39-4.79-7.1-13.97-9.62-21.38-5.33l-27.75 16.07c-7.85 4.54-10.63 14.9-5.64 22.47 15.57 23.64 34.69 44.21 55.98 62.02L0 439.66l7.02 58.25c1.28 10.59 12.36 16.99 22.17 12.8l53.95-23.04 70.8-122.63C186.13 377.28 220.62 384 256 384c99.05 0 190.88-51.01 243.5-134.14zM256 64c17.67 0 32 14.33 32 32s-14.33 32-32 32-32-14.33-32-32 14.33-32 32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaDragon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.32 255.78L192 223.96l-91.28 68.69c-10.08 10.08-2.94 27.31 11.31 27.31h222.7c-9.44-26.4-14.73-54.47-14.73-83.38v-42.27l-119.73-87.6c-23.82-15.88-55.29-14.01-77.06 4.59L5.81 227.64c-12.38 10.33-3.45 30.42 12.51 28.14zm556.87 34.1l-100.66-50.31A47.992 47.992 0 0 1 448 196.65v-36.69h64l28.09 22.63c6 6 14.14 9.37 22.63 9.37h30.97a32 32 0 0 0 28.62-17.69l14.31-28.62a32.005 32.005 0 0 0-3.02-33.51l-74.53-99.38C553.02 4.7 543.54 0 533.47 0H296.02c-7.13 0-10.7 8.57-5.66 13.61L352 63.96 292.42 88.8c-5.9 2.95-5.9 11.36 0 14.31L352 127.96v108.62c0 72.08 36.03 139.39 96 179.38-195.59 6.81-344.56 41.01-434.1 60.91C5.78 478.67 0 485.88 0 494.2 0 504 7.95 512 17.76 512h499.08c63.29.01 119.61-47.56 122.99-110.76 2.52-47.28-22.73-90.4-64.64-111.36zM489.18 66.25l45.65 11.41c-2.75 10.91-12.47 18.89-24.13 18.26-12.96-.71-25.85-12.53-21.52-29.67z\"},\"child\":[]}]})(props);\n};\nexport function FaDrawPolygon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 352c-.35 0-.67.1-1.02.1l-39.2-65.32c5.07-9.17 8.22-19.56 8.22-30.78s-3.14-21.61-8.22-30.78l39.2-65.32c.35.01.67.1 1.02.1 35.35 0 64-28.65 64-64s-28.65-64-64-64c-23.63 0-44.04 12.95-55.12 32H119.12C108.04 44.95 87.63 32 64 32 28.65 32 0 60.65 0 96c0 23.63 12.95 44.04 32 55.12v209.75C12.95 371.96 0 392.37 0 416c0 35.35 28.65 64 64 64 23.63 0 44.04-12.95 55.12-32h209.75c11.09 19.05 31.49 32 55.12 32 35.35 0 64-28.65 64-64 .01-35.35-28.64-64-63.99-64zm-288 8.88V151.12A63.825 63.825 0 0 0 119.12 128h208.36l-38.46 64.1c-.35-.01-.67-.1-1.02-.1-35.35 0-64 28.65-64 64s28.65 64 64 64c.35 0 .67-.1 1.02-.1l38.46 64.1H119.12A63.748 63.748 0 0 0 96 360.88zM272 256c0-8.82 7.18-16 16-16s16 7.18 16 16-7.18 16-16 16-16-7.18-16-16zM400 96c0 8.82-7.18 16-16 16s-16-7.18-16-16 7.18-16 16-16 16 7.18 16 16zM64 80c8.82 0 16 7.18 16 16s-7.18 16-16 16-16-7.18-16-16 7.18-16 16-16zM48 416c0-8.82 7.18-16 16-16s16 7.18 16 16-7.18 16-16 16-16-7.18-16-16zm336 16c-8.82 0-16-7.18-16-16s7.18-16 16-16 16 7.18 16 16-7.18 16-16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaDrumSteelpan (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 32C128.94 32 0 89.31 0 160v192c0 70.69 128.94 128 288 128s288-57.31 288-128V160c0-70.69-128.94-128-288-128zm-82.99 158.36c-4.45 16.61-14.54 30.57-28.31 40.48C100.23 217.46 48 190.78 48 160c0-30.16 50.11-56.39 124.04-70.03l25.6 44.34c9.86 17.09 12.48 36.99 7.37 56.05zM288 240c-21.08 0-41.41-1-60.89-2.7 8.06-26.13 32.15-45.3 60.89-45.3s52.83 19.17 60.89 45.3C329.41 239 309.08 240 288 240zm64-144c0 35.29-28.71 64-64 64s-64-28.71-64-64V82.96c20.4-1.88 41.8-2.96 64-2.96s43.6 1.08 64 2.96V96zm46.93 134.9c-13.81-9.91-23.94-23.9-28.4-40.54-5.11-19.06-2.49-38.96 7.38-56.04l25.65-44.42C477.72 103.5 528 129.79 528 160c0 30.83-52.4 57.54-129.07 70.9z\"},\"child\":[]}]})(props);\n};\nexport function FaDrum (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M431.34 122.05l73.53-47.42a16 16 0 0 0 4.44-22.19l-8.87-13.31a16 16 0 0 0-22.19-4.44l-110.06 71C318.43 96.91 271.22 96 256 96 219.55 96 0 100.55 0 208.15v160.23c0 30.27 27.5 57.68 72 77.86v-101.9a24 24 0 1 1 48 0v118.93c33.05 9.11 71.07 15.06 112 16.73V376.39a24 24 0 1 1 48 0V480c40.93-1.67 78.95-7.62 112-16.73V344.34a24 24 0 1 1 48 0v101.9c44.5-20.18 72-47.59 72-77.86V208.15c0-43.32-35.76-69.76-80.66-86.1zM256 272.24c-114.88 0-208-28.69-208-64.09s93.12-64.08 208-64.08c17.15 0 33.73.71 49.68 1.91l-72.81 47a16 16 0 0 0-4.43 22.19l8.87 13.31a16 16 0 0 0 22.19 4.44l118.64-76.52C430.09 168 464 186.84 464 208.15c0 35.4-93.13 64.09-208 64.09z\"},\"child\":[]}]})(props);\n};\nexport function FaDrumstickBite (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M462.8 49.57a169.44 169.44 0 0 0-239.5 0C187.82 85 160.13 128 160.13 192v85.83l-40.62 40.59c-9.7 9.69-24 11.07-36.78 6a60.33 60.33 0 0 0-65 98.72C33 438.39 54.24 442.7 73.85 438.21c-4.5 19.6-.18 40.83 15.1 56.1a60.35 60.35 0 0 0 98.8-65c-5.09-12.73-3.72-27 6-36.75L234.36 352h85.89a187.87 187.87 0 0 0 61.89-10c-39.64-43.89-39.83-110.23 1.05-151.07 34.38-34.36 86.76-39.46 128.74-16.8 1.3-44.96-14.81-90.28-49.13-124.56z\"},\"child\":[]}]})(props);\n};\nexport function FaDumbbell (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M104 96H56c-13.3 0-24 10.7-24 24v104H8c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h24v104c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24zm528 128h-24V120c0-13.3-10.7-24-24-24h-48c-13.3 0-24 10.7-24 24v272c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V288h24c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zM456 32h-48c-13.3 0-24 10.7-24 24v168H256V56c0-13.3-10.7-24-24-24h-48c-13.3 0-24 10.7-24 24v400c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V288h128v168c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24z\"},\"child\":[]}]})(props);\n};\nexport function FaDumpsterFire (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M418.7 104.1l.2-.2-14.4-72H304v128h60.8c16.2-19.3 34.2-38.2 53.9-55.8zM272 32H171.5l-25.6 128H272V32zm189.3 72.1c18.2 16.3 35.5 33.7 51.1 51.5 5.7-5.6 11.4-11.1 17.3-16.3l21.3-19 21.3 19c1.1.9 2.1 2.1 3.1 3.1-.1-.8.2-1.5 0-2.3l-24-96C549.7 37 543.3 32 536 32h-98.9l12.3 61.5 11.9 10.6zM16 160h97.3l25.6-128H40c-7.3 0-13.7 5-15.5 12.1l-24 96C-2 150.2 5.6 160 16 160zm324.6 32H32l4 32H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h28l20 160v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h208.8c-30.2-33.7-48.8-77.9-48.8-126.4 0-35.9 19.9-82.9 52.6-129.6zm210.5-28.8c-14.9 13.3-28.3 27.2-40.2 41.2-19.5-25.8-43.6-52-71-76.4-70.2 62.7-120 144.3-120 193.6 0 87.5 71.6 158.4 160 158.4s160-70.9 160-158.4c.1-36.6-37-112.2-88.8-158.4zm-18.6 229.4c-14.7 10.7-32.9 17-52.5 17-49 0-88.9-33.5-88.9-88 0-27.1 16.5-51 49.4-91.9 4.7 5.6 67.1 88.1 67.1 88.1l39.8-47c2.8 4.8 5.4 9.5 7.7 14 18.6 36.7 10.8 83.6-22.6 107.8z\"},\"child\":[]}]})(props);\n};\nexport function FaDumpster (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M560 160c10.4 0 18-9.8 15.5-19.9l-24-96C549.7 37 543.3 32 536 32h-98.9l25.6 128H560zM272 32H171.5l-25.6 128H272V32zm132.5 0H304v128h126.1L404.5 32zM16 160h97.3l25.6-128H40c-7.3 0-13.7 5-15.5 12.1l-24 96C-2 150.2 5.6 160 16 160zm544 64h-20l4-32H32l4 32H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h28l20 160v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h320v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16l20-160h28c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaDungeon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M128.73 195.32l-82.81-51.76c-8.04-5.02-18.99-2.17-22.93 6.45A254.19 254.19 0 0 0 .54 239.28C-.05 248.37 7.59 256 16.69 256h97.13c7.96 0 14.08-6.25 15.01-14.16 1.09-9.33 3.24-18.33 6.24-26.94 2.56-7.34.25-15.46-6.34-19.58zM319.03 8C298.86 2.82 277.77 0 256 0s-42.86 2.82-63.03 8c-9.17 2.35-13.91 12.6-10.39 21.39l37.47 104.03A16.003 16.003 0 0 0 235.1 144h41.8c6.75 0 12.77-4.23 15.05-10.58l37.47-104.03c3.52-8.79-1.22-19.03-10.39-21.39zM112 288H16c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h96c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zm0 128H16c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h96c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zm77.31-283.67l-36.32-90.8c-3.53-8.83-14.13-12.99-22.42-8.31a257.308 257.308 0 0 0-71.61 59.89c-6.06 7.32-3.85 18.48 4.22 23.52l82.93 51.83c6.51 4.07 14.66 2.62 20.11-2.79 5.18-5.15 10.79-9.85 16.79-14.05 6.28-4.41 9.15-12.17 6.3-19.29zM398.18 256h97.13c9.1 0 16.74-7.63 16.15-16.72a254.135 254.135 0 0 0-22.45-89.27c-3.94-8.62-14.89-11.47-22.93-6.45l-82.81 51.76c-6.59 4.12-8.9 12.24-6.34 19.58 3.01 8.61 5.15 17.62 6.24 26.94.93 7.91 7.05 14.16 15.01 14.16zm54.85-162.89a257.308 257.308 0 0 0-71.61-59.89c-8.28-4.68-18.88-.52-22.42 8.31l-36.32 90.8c-2.85 7.12.02 14.88 6.3 19.28 6 4.2 11.61 8.9 16.79 14.05 5.44 5.41 13.6 6.86 20.11 2.79l82.93-51.83c8.07-5.03 10.29-16.19 4.22-23.51zM496 288h-96c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h96c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zm0 128h-96c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h96c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zM240 177.62V472c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8V177.62c-5.23-.89-10.52-1.62-16-1.62s-10.77.73-16 1.62zm-64 41.51V472c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8V189.36c-12.78 7.45-23.84 17.47-32 29.77zm128-29.77V472c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8V219.13c-8.16-12.3-19.22-22.32-32-29.77z\"},\"child\":[]}]})(props);\n};\nexport function FaEdit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M402.6 83.2l90.2 90.2c3.8 3.8 3.8 10 0 13.8L274.4 405.6l-92.8 10.3c-12.4 1.4-22.9-9.1-21.5-21.5l10.3-92.8L388.8 83.2c3.8-3.8 10-3.8 13.8 0zm162-22.9l-48.8-48.8c-15.2-15.2-39.9-15.2-55.2 0l-35.4 35.4c-3.8 3.8-3.8 10 0 13.8l90.2 90.2c3.8 3.8 10 3.8 13.8 0l35.4-35.4c15.2-15.3 15.2-40 0-55.2zM384 346.2V448H64V128h229.8c3.2 0 6.2-1.3 8.5-3.5l40-40c7.6-7.6 2.2-20.5-8.5-20.5H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V306.2c0-10.7-12.9-16-20.5-8.5l-40 40c-2.2 2.3-3.5 5.3-3.5 8.5z\"},\"child\":[]}]})(props);\n};\nexport function FaEgg (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M192 0C86 0 0 214 0 320s86 192 192 192 192-86 192-192S298 0 192 0z\"},\"child\":[]}]})(props);\n};\nexport function FaEject (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 384v64c0 17.673-14.327 32-32 32H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h384c17.673 0 32 14.327 32 32zM48.053 320h351.886c41.651 0 63.581-49.674 35.383-80.435L259.383 47.558c-19.014-20.743-51.751-20.744-70.767 0L12.67 239.565C-15.475 270.268 6.324 320 48.053 320z\"},\"child\":[]}]})(props);\n};\nexport function FaEllipsisH (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M328 256c0 39.8-32.2 72-72 72s-72-32.2-72-72 32.2-72 72-72 72 32.2 72 72zm104-72c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72zm-352 0c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72z\"},\"child\":[]}]})(props);\n};\nexport function FaEllipsisV (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 192 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M96 184c39.8 0 72 32.2 72 72s-32.2 72-72 72-72-32.2-72-72 32.2-72 72-72zM24 80c0 39.8 32.2 72 72 72s72-32.2 72-72S135.8 8 96 8 24 40.2 24 80zm0 352c0 39.8 32.2 72 72 72s72-32.2 72-72-32.2-72-72-72-72 32.2-72 72z\"},\"child\":[]}]})(props);\n};\nexport function FaEnvelopeOpenText (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M176 216h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16H176c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16zm-16 80c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16H176c-8.84 0-16 7.16-16 16v16zm96 121.13c-16.42 0-32.84-5.06-46.86-15.19L0 250.86V464c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V250.86L302.86 401.94c-14.02 10.12-30.44 15.19-46.86 15.19zm237.61-254.18c-8.85-6.94-17.24-13.47-29.61-22.81V96c0-26.51-21.49-48-48-48h-77.55c-3.04-2.2-5.87-4.26-9.04-6.56C312.6 29.17 279.2-.35 256 0c-23.2-.35-56.59 29.17-73.41 41.44-3.17 2.3-6 4.36-9.04 6.56H96c-26.51 0-48 21.49-48 48v44.14c-12.37 9.33-20.76 15.87-29.61 22.81A47.995 47.995 0 0 0 0 200.72v10.65l96 69.35V96h320v184.72l96-69.35v-10.65c0-14.74-6.78-28.67-18.39-37.77z\"},\"child\":[]}]})(props);\n};\nexport function FaEnvelopeOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 464c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V200.724a48 48 0 0 1 18.387-37.776c24.913-19.529 45.501-35.365 164.2-121.511C199.412 29.17 232.797-.347 256 .003c23.198-.354 56.596 29.172 73.413 41.433 118.687 86.137 139.303 101.995 164.2 121.512A48 48 0 0 1 512 200.724V464zm-65.666-196.605c-2.563-3.728-7.7-4.595-11.339-1.907-22.845 16.873-55.462 40.705-105.582 77.079-16.825 12.266-50.21 41.781-73.413 41.43-23.211.344-56.559-29.143-73.413-41.43-50.114-36.37-82.734-60.204-105.582-77.079-3.639-2.688-8.776-1.821-11.339 1.907l-9.072 13.196a7.998 7.998 0 0 0 1.839 10.967c22.887 16.899 55.454 40.69 105.303 76.868 20.274 14.781 56.524 47.813 92.264 47.573 35.724.242 71.961-32.771 92.263-47.573 49.85-36.179 82.418-59.97 105.303-76.868a7.998 7.998 0 0 0 1.839-10.967l-9.071-13.196z\"},\"child\":[]}]})(props);\n};\nexport function FaEnvelopeSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM178.117 262.104C87.429 196.287 88.353 196.121 64 177.167V152c0-13.255 10.745-24 24-24h272c13.255 0 24 10.745 24 24v25.167c-24.371 18.969-23.434 19.124-114.117 84.938-10.5 7.655-31.392 26.12-45.883 25.894-14.503.218-35.367-18.227-45.883-25.895zM384 217.775V360c0 13.255-10.745 24-24 24H88c-13.255 0-24-10.745-24-24V217.775c13.958 10.794 33.329 25.236 95.303 70.214 14.162 10.341 37.975 32.145 64.694 32.01 26.887.134 51.037-22.041 64.72-32.025 61.958-44.965 81.325-59.406 95.283-70.199z\"},\"child\":[]}]})(props);\n};\nexport function FaEnvelope (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z\"},\"child\":[]}]})(props);\n};\nexport function FaEquals (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416 304H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32zm0-192H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaEraser (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M497.941 273.941c18.745-18.745 18.745-49.137 0-67.882l-160-160c-18.745-18.745-49.136-18.746-67.883 0l-256 256c-18.745 18.745-18.745 49.137 0 67.882l96 96A48.004 48.004 0 0 0 144 480h356c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12H355.883l142.058-142.059zm-302.627-62.627l137.373 137.373L265.373 416H150.628l-80-80 124.686-124.686z\"},\"child\":[]}]})(props);\n};\nexport function FaEthernet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496 192h-48v-48c0-8.8-7.2-16-16-16h-48V80c0-8.8-7.2-16-16-16H144c-8.8 0-16 7.2-16 16v48H80c-8.8 0-16 7.2-16 16v48H16c-8.8 0-16 7.2-16 16v224c0 8.8 7.2 16 16 16h80V320h32v128h64V320h32v128h64V320h32v128h64V320h32v128h80c8.8 0 16-7.2 16-16V208c0-8.8-7.2-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaEuroSign (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M310.706 413.765c-1.314-6.63-7.835-10.872-14.424-9.369-10.692 2.439-27.422 5.413-45.426 5.413-56.763 0-101.929-34.79-121.461-85.449h113.689a12 12 0 0 0 11.708-9.369l6.373-28.36c1.686-7.502-4.019-14.631-11.708-14.631H115.22c-1.21-14.328-1.414-28.287.137-42.245H261.95a12 12 0 0 0 11.723-9.434l6.512-29.755c1.638-7.484-4.061-14.566-11.723-14.566H130.184c20.633-44.991 62.69-75.03 117.619-75.03 14.486 0 28.564 2.25 37.851 4.145 6.216 1.268 12.347-2.498 14.002-8.623l11.991-44.368c1.822-6.741-2.465-13.616-9.326-14.917C290.217 34.912 270.71 32 249.635 32 152.451 32 74.03 92.252 45.075 176H12c-6.627 0-12 5.373-12 12v29.755c0 6.627 5.373 12 12 12h21.569c-1.009 13.607-1.181 29.287-.181 42.245H12c-6.627 0-12 5.373-12 12v28.36c0 6.627 5.373 12 12 12h30.114C67.139 414.692 145.264 480 249.635 480c26.301 0 48.562-4.544 61.101-7.788 6.167-1.595 10.027-7.708 8.788-13.957l-8.818-44.49z\"},\"child\":[]}]})(props);\n};\nexport function FaExchangeAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 168v-16c0-13.255 10.745-24 24-24h360V80c0-21.367 25.899-32.042 40.971-16.971l80 80c9.372 9.373 9.372 24.569 0 33.941l-80 80C409.956 271.982 384 261.456 384 240v-48H24c-13.255 0-24-10.745-24-24zm488 152H128v-48c0-21.314-25.862-32.08-40.971-16.971l-80 80c-9.372 9.373-9.372 24.569 0 33.941l80 80C102.057 463.997 128 453.437 128 432v-48h360c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24z\"},\"child\":[]}]})(props);\n};\nexport function FaExclamationCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zm-248 50c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z\"},\"child\":[]}]})(props);\n};\nexport function FaExclamationTriangle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M569.517 440.013C587.975 472.007 564.806 512 527.94 512H48.054c-36.937 0-59.999-40.055-41.577-71.987L246.423 23.985c18.467-32.009 64.72-31.951 83.154 0l239.94 416.028zM288 354c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z\"},\"child\":[]}]})(props);\n};\nexport function FaExclamation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 192 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M176 432c0 44.112-35.888 80-80 80s-80-35.888-80-80 35.888-80 80-80 80 35.888 80 80zM25.26 25.199l13.6 272C39.499 309.972 50.041 320 62.83 320h66.34c12.789 0 23.331-10.028 23.97-22.801l13.6-272C167.425 11.49 156.496 0 142.77 0H49.23C35.504 0 24.575 11.49 25.26 25.199z\"},\"child\":[]}]})(props);\n};\nexport function FaExpandAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M212.686 315.314L120 408l32.922 31.029c15.12 15.12 4.412 40.971-16.97 40.971h-112C10.697 480 0 469.255 0 456V344c0-21.382 25.803-32.09 40.922-16.971L72 360l92.686-92.686c6.248-6.248 16.379-6.248 22.627 0l25.373 25.373c6.249 6.248 6.249 16.378 0 22.627zm22.628-118.628L328 104l-32.922-31.029C279.958 57.851 290.666 32 312.048 32h112C437.303 32 448 42.745 448 56v112c0 21.382-25.803 32.09-40.922 16.971L376 152l-92.686 92.686c-6.248 6.248-16.379 6.248-22.627 0l-25.373-25.373c-6.249-6.248-6.249-16.378 0-22.627z\"},\"child\":[]}]})(props);\n};\nexport function FaExpandArrowsAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 344v112a23.94 23.94 0 0 1-24 24H312c-21.39 0-32.09-25.9-17-41l36.2-36.2L224 295.6 116.77 402.9 153 439c15.09 15.1 4.39 41-17 41H24a23.94 23.94 0 0 1-24-24V344c0-21.4 25.89-32.1 41-17l36.19 36.2L184.46 256 77.18 148.7 41 185c-15.1 15.1-41 4.4-41-17V56a23.94 23.94 0 0 1 24-24h112c21.39 0 32.09 25.9 17 41l-36.2 36.2L224 216.4l107.23-107.3L295 73c-15.09-15.1-4.39-41 17-41h112a23.94 23.94 0 0 1 24 24v112c0 21.4-25.89 32.1-41 17l-36.19-36.2L263.54 256l107.28 107.3L407 327.1c15.1-15.2 41-4.5 41 16.9z\"},\"child\":[]}]})(props);\n};\nexport function FaExpand (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 180V56c0-13.3 10.7-24 24-24h124c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H64v84c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12zM288 44v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12V56c0-13.3-10.7-24-24-24H300c-6.6 0-12 5.4-12 12zm148 276h-40c-6.6 0-12 5.4-12 12v84h-84c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24V332c0-6.6-5.4-12-12-12zM160 468v-40c0-6.6-5.4-12-12-12H64v-84c0-6.6-5.4-12-12-12H12c-6.6 0-12 5.4-12 12v124c0 13.3 10.7 24 24 24h124c6.6 0 12-5.4 12-12z\"},\"child\":[]}]})(props);\n};\nexport function FaExternalLinkAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M432,320H400a16,16,0,0,0-16,16V448H64V128H208a16,16,0,0,0,16-16V80a16,16,0,0,0-16-16H48A48,48,0,0,0,0,112V464a48,48,0,0,0,48,48H400a48,48,0,0,0,48-48V336A16,16,0,0,0,432,320ZM488,0h-128c-21.37,0-32.05,25.91-17,41l35.73,35.73L135,320.37a24,24,0,0,0,0,34L157.67,377a24,24,0,0,0,34,0L435.28,133.32,471,169c15,15,41,4.5,41-17V24A24,24,0,0,0,488,0Z\"},\"child\":[]}]})(props);\n};\nexport function FaExternalLinkSquareAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 80v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48zm-88 16H248.029c-21.313 0-32.08 25.861-16.971 40.971l31.984 31.987L67.515 364.485c-4.686 4.686-4.686 12.284 0 16.971l31.029 31.029c4.687 4.686 12.285 4.686 16.971 0l195.526-195.526 31.988 31.991C358.058 263.977 384 253.425 384 231.979V120c0-13.255-10.745-24-24-24z\"},\"child\":[]}]})(props);\n};\nexport function FaEyeDropper (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M50.75 333.25c-12 12-18.75 28.28-18.75 45.26V424L0 480l32 32 56-32h45.49c16.97 0 33.25-6.74 45.25-18.74l126.64-126.62-128-128L50.75 333.25zM483.88 28.12c-37.47-37.5-98.28-37.5-135.75 0l-77.09 77.09-13.1-13.1c-9.44-9.44-24.65-9.31-33.94 0l-40.97 40.97c-9.37 9.37-9.37 24.57 0 33.94l161.94 161.94c9.44 9.44 24.65 9.31 33.94 0L419.88 288c9.37-9.37 9.37-24.57 0-33.94l-13.1-13.1 77.09-77.09c37.51-37.48 37.51-98.26.01-135.75z\"},\"child\":[]}]})(props);\n};\nexport function FaEyeSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M320 400c-75.85 0-137.25-58.71-142.9-133.11L72.2 185.82c-13.79 17.3-26.48 35.59-36.72 55.59a32.35 32.35 0 0 0 0 29.19C89.71 376.41 197.07 448 320 448c26.91 0 52.87-4 77.89-10.46L346 397.39a144.13 144.13 0 0 1-26 2.61zm313.82 58.1l-110.55-85.44a331.25 331.25 0 0 0 81.25-102.07 32.35 32.35 0 0 0 0-29.19C550.29 135.59 442.93 64 320 64a308.15 308.15 0 0 0-147.32 37.7L45.46 3.37A16 16 0 0 0 23 6.18L3.37 31.45A16 16 0 0 0 6.18 53.9l588.36 454.73a16 16 0 0 0 22.46-2.81l19.64-25.27a16 16 0 0 0-2.82-22.45zm-183.72-142l-39.3-30.38A94.75 94.75 0 0 0 416 256a94.76 94.76 0 0 0-121.31-92.21A47.65 47.65 0 0 1 304 192a46.64 46.64 0 0 1-1.54 10l-73.61-56.89A142.31 142.31 0 0 1 320 112a143.92 143.92 0 0 1 144 144c0 21.63-5.29 41.79-13.9 60.11z\"},\"child\":[]}]})(props);\n};\nexport function FaEye (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M572.52 241.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400a144 144 0 1 1 144-144 143.93 143.93 0 0 1-144 144zm0-240a95.31 95.31 0 0 0-25.31 3.79 47.85 47.85 0 0 1-66.9 66.9A95.78 95.78 0 1 0 288 160z\"},\"child\":[]}]})(props);\n};\nexport function FaFan (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M352.57 128c-28.09 0-54.09 4.52-77.06 12.86l12.41-123.11C289 7.31 279.81-1.18 269.33.13 189.63 10.13 128 77.64 128 159.43c0 28.09 4.52 54.09 12.86 77.06L17.75 224.08C7.31 223-1.18 232.19.13 242.67c10 79.7 77.51 141.33 159.3 141.33 28.09 0 54.09-4.52 77.06-12.86l-12.41 123.11c-1.05 10.43 8.11 18.93 18.59 17.62 79.7-10 141.33-77.51 141.33-159.3 0-28.09-4.52-54.09-12.86-77.06l123.11 12.41c10.44 1.05 18.93-8.11 17.62-18.59-10-79.7-77.51-141.33-159.3-141.33zM256 288a32 32 0 1 1 32-32 32 32 0 0 1-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaFastBackward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 436V76c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v151.9L235.5 71.4C256.1 54.3 288 68.6 288 96v131.9L459.5 71.4C480.1 54.3 512 68.6 512 96v320c0 27.4-31.9 41.7-52.5 24.6L288 285.3V416c0 27.4-31.9 41.7-52.5 24.6L64 285.3V436c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12z\"},\"child\":[]}]})(props);\n};\nexport function FaFastForward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 76v360c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12V284.1L276.5 440.6c-20.6 17.2-52.5 2.8-52.5-24.6V284.1L52.5 440.6C31.9 457.8 0 443.4 0 416V96c0-27.4 31.9-41.7 52.5-24.6L224 226.8V96c0-27.4 31.9-41.7 52.5-24.6L448 226.8V76c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12z\"},\"child\":[]}]})(props);\n};\nexport function FaFaucet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M352,256H313.39c-15.71-13.44-35.46-23.07-57.39-28V180.44l-32-3.38-32,3.38V228c-21.93,5-41.68,14.6-57.39,28H16A16,16,0,0,0,0,272v96a16,16,0,0,0,16,16h92.79C129.38,421.73,173,448,224,448s94.62-26.27,115.21-64H352a32,32,0,0,1,32,32,32,32,0,0,0,32,32h64a32,32,0,0,0,32-32A160,160,0,0,0,352,256ZM81.59,159.91l142.41-15,142.41,15c9.42,1,17.59-6.81,17.59-16.8V112.89c0-10-8.17-17.8-17.59-16.81L256,107.74V80a16,16,0,0,0-16-16H208a16,16,0,0,0-16,16v27.74L81.59,96.08C72.17,95.09,64,102.9,64,112.89v30.22C64,153.1,72.17,160.91,81.59,159.91Z\"},\"child\":[]}]})(props);\n};\nexport function FaFax (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M480 160V77.25a32 32 0 0 0-9.38-22.63L425.37 9.37A32 32 0 0 0 402.75 0H160a32 32 0 0 0-32 32v448a32 32 0 0 0 32 32h320a32 32 0 0 0 32-32V192a32 32 0 0 0-32-32zM288 432a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32a16 16 0 0 1 16 16zm0-128a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32a16 16 0 0 1 16 16zm128 128a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32a16 16 0 0 1 16 16zm0-128a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32a16 16 0 0 1 16 16zm0-112H192V64h160v48a16 16 0 0 0 16 16h48zM64 128H32a32 32 0 0 0-32 32v320a32 32 0 0 0 32 32h32a32 32 0 0 0 32-32V160a32 32 0 0 0-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaFeatherAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 0C460.22 3.56 96.44 38.2 71.01 287.61c-3.09 26.66-4.84 53.44-5.99 80.24l178.87-178.69c6.25-6.25 16.4-6.25 22.65 0s6.25 16.38 0 22.63L7.04 471.03c-9.38 9.37-9.38 24.57 0 33.94 9.38 9.37 24.59 9.37 33.98 0l57.13-57.07c42.09-.14 84.15-2.53 125.96-7.36 53.48-5.44 97.02-26.47 132.58-56.54H255.74l146.79-48.88c11.25-14.89 21.37-30.71 30.45-47.12h-81.14l106.54-53.21C500.29 132.86 510.19 26.26 512 0z\"},\"child\":[]}]})(props);\n};\nexport function FaFeather (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M467.14 44.84c-62.55-62.48-161.67-64.78-252.28 25.73-78.61 78.52-60.98 60.92-85.75 85.66-60.46 60.39-70.39 150.83-63.64 211.17l178.44-178.25c6.26-6.25 16.4-6.25 22.65 0s6.25 16.38 0 22.63L7.04 471.03c-9.38 9.37-9.38 24.57 0 33.94 9.38 9.37 24.6 9.37 33.98 0l66.1-66.03C159.42 454.65 279 457.11 353.95 384h-98.19l147.57-49.14c49.99-49.93 36.38-36.18 46.31-46.86h-97.78l131.54-43.8c45.44-74.46 34.31-148.84-16.26-199.36z\"},\"child\":[]}]})(props);\n};\nexport function FaFemale (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 256 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M128 0c35.346 0 64 28.654 64 64s-28.654 64-64 64c-35.346 0-64-28.654-64-64S92.654 0 128 0m119.283 354.179l-48-192A24 24 0 0 0 176 144h-11.36c-22.711 10.443-49.59 10.894-73.28 0H80a24 24 0 0 0-23.283 18.179l-48 192C4.935 369.305 16.383 384 32 384h56v104c0 13.255 10.745 24 24 24h32c13.255 0 24-10.745 24-24V384h56c15.591 0 27.071-14.671 23.283-29.821z\"},\"child\":[]}]})(props);\n};\nexport function FaFighterJet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M544 224l-128-16-48-16h-24L227.158 44h39.509C278.333 44 288 41.375 288 38s-9.667-6-21.333-6H152v12h16v164h-48l-66.667-80H18.667L8 138.667V208h8v16h48v2.666l-64 8v42.667l64 8V288H16v16H8v69.333L18.667 384h34.667L120 304h48v164h-16v12h114.667c11.667 0 21.333-2.625 21.333-6s-9.667-6-21.333-6h-39.509L344 320h24l48-16 128-16c96-21.333 96-26.583 96-32 0-5.417 0-10.667-96-32z\"},\"child\":[]}]})(props);\n};\nexport function FaFileAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm64 236c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12v8zm0-64c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12v8zm0-72v8c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm96-114.1v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z\"},\"child\":[]}]})(props);\n};\nexport function FaFileArchive (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zM128.4 336c-17.9 0-32.4 12.1-32.4 27 0 15 14.6 27 32.5 27s32.4-12.1 32.4-27-14.6-27-32.5-27zM224 136V0h-63.6v32h-32V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM95.9 32h32v32h-32zm32.3 384c-33.2 0-58-30.4-51.4-62.9L96.4 256v-32h32v-32h-32v-32h32v-32h-32V96h32V64h32v32h-32v32h32v32h-32v32h32v32h-32v32h22.1c5.7 0 10.7 4.1 11.8 9.7l17.3 87.7c6.4 32.4-18.4 62.6-51.4 62.6z\"},\"child\":[]}]})(props);\n};\nexport function FaFileAudio (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm-64 268c0 10.7-12.9 16-20.5 8.5L104 376H76c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h28l35.5-36.5c7.6-7.6 20.5-2.2 20.5 8.5v136zm33.2-47.6c9.1-9.3 9.1-24.1 0-33.4-22.1-22.8 12.2-56.2 34.4-33.5 27.2 27.9 27.2 72.4 0 100.4-21.8 22.3-56.9-10.4-34.4-33.5zm86-117.1c54.4 55.9 54.4 144.8 0 200.8-21.8 22.4-57-10.3-34.4-33.5 36.2-37.2 36.3-96.5 0-133.8-22.1-22.8 12.3-56.3 34.4-33.5zM384 121.9v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z\"},\"child\":[]}]})(props);\n};\nexport function FaFileCode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 121.941V128H256V0h6.059c6.365 0 12.47 2.529 16.971 7.029l97.941 97.941A24.005 24.005 0 0 1 384 121.941zM248 160c-13.2 0-24-10.8-24-24V0H24C10.745 0 0 10.745 0 24v464c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V160H248zM123.206 400.505a5.4 5.4 0 0 1-7.633.246l-64.866-60.812a5.4 5.4 0 0 1 0-7.879l64.866-60.812a5.4 5.4 0 0 1 7.633.246l19.579 20.885a5.4 5.4 0 0 1-.372 7.747L101.65 336l40.763 35.874a5.4 5.4 0 0 1 .372 7.747l-19.579 20.884zm51.295 50.479l-27.453-7.97a5.402 5.402 0 0 1-3.681-6.692l61.44-211.626a5.402 5.402 0 0 1 6.692-3.681l27.452 7.97a5.4 5.4 0 0 1 3.68 6.692l-61.44 211.626a5.397 5.397 0 0 1-6.69 3.681zm160.792-111.045l-64.866 60.812a5.4 5.4 0 0 1-7.633-.246l-19.58-20.885a5.4 5.4 0 0 1 .372-7.747L284.35 336l-40.763-35.874a5.4 5.4 0 0 1-.372-7.747l19.58-20.885a5.4 5.4 0 0 1 7.633-.246l64.866 60.812a5.4 5.4 0 0 1-.001 7.879z\"},\"child\":[]}]})(props);\n};\nexport function FaFileContract (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM64 72c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8V72zm0 64c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16zm192.81 248H304c8.84 0 16 7.16 16 16s-7.16 16-16 16h-47.19c-16.45 0-31.27-9.14-38.64-23.86-2.95-5.92-8.09-6.52-10.17-6.52s-7.22.59-10.02 6.19l-7.67 15.34a15.986 15.986 0 0 1-14.31 8.84c-.38 0-.75-.02-1.14-.05-6.45-.45-12-4.75-14.03-10.89L144 354.59l-10.61 31.88c-5.89 17.66-22.38 29.53-41 29.53H80c-8.84 0-16-7.16-16-16s7.16-16 16-16h12.39c4.83 0 9.11-3.08 10.64-7.66l18.19-54.64c3.3-9.81 12.44-16.41 22.78-16.41s19.48 6.59 22.77 16.41l13.88 41.64c19.77-16.19 54.05-9.7 66 14.16 2.02 4.06 5.96 6.5 10.16 6.5zM377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z\"},\"child\":[]}]})(props);\n};\nexport function FaFileCsv (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm-96 144c0 4.42-3.58 8-8 8h-8c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h8c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-8c-26.51 0-48-21.49-48-48v-32c0-26.51 21.49-48 48-48h8c4.42 0 8 3.58 8 8v16zm44.27 104H160c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h12.27c5.95 0 10.41-3.5 10.41-6.62 0-1.3-.75-2.66-2.12-3.84l-21.89-18.77c-8.47-7.22-13.33-17.48-13.33-28.14 0-21.3 19.02-38.62 42.41-38.62H200c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8h-12.27c-5.95 0-10.41 3.5-10.41 6.62 0 1.3.75 2.66 2.12 3.84l21.89 18.77c8.47 7.22 13.33 17.48 13.33 28.14.01 21.29-19 38.62-42.39 38.62zM256 264v20.8c0 20.27 5.7 40.17 16 56.88 10.3-16.7 16-36.61 16-56.88V264c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v20.8c0 35.48-12.88 68.89-36.28 94.09-3.02 3.25-7.27 5.11-11.72 5.11s-8.7-1.86-11.72-5.11c-23.4-25.2-36.28-58.61-36.28-94.09V264c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8zm121-159L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z\"},\"child\":[]}]})(props);\n};\nexport function FaFileDownload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm76.45 211.36l-96.42 95.7c-6.65 6.61-17.39 6.61-24.04 0l-96.42-95.7C73.42 337.29 80.54 320 94.82 320H160v-80c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v80h65.18c14.28 0 21.4 17.29 11.27 27.36zM377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z\"},\"child\":[]}]})(props);\n};\nexport function FaFileExcel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm60.1 106.5L224 336l60.1 93.5c5.1 8-.6 18.5-10.1 18.5h-34.9c-4.4 0-8.5-2.4-10.6-6.3C208.9 405.5 192 373 192 373c-6.4 14.8-10 20-36.6 68.8-2.1 3.9-6.1 6.3-10.5 6.3H110c-9.5 0-15.2-10.5-10.1-18.5l60.3-93.5-60.3-93.5c-5.2-8 .6-18.5 10.1-18.5h34.8c4.4 0 8.5 2.4 10.6 6.3 26.1 48.8 20 33.6 36.6 68.5 0 0 6.1-11.7 36.6-68.5 2.1-3.9 6.2-6.3 10.6-6.3H274c9.5-.1 15.2 10.4 10.1 18.4zM384 121.9v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z\"},\"child\":[]}]})(props);\n};\nexport function FaFileExport (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 121.9c0-6.3-2.5-12.4-7-16.9L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128zM571 308l-95.7-96.4c-10.1-10.1-27.4-3-27.4 11.3V288h-64v64h64v65.2c0 14.3 17.3 21.4 27.4 11.3L571 332c6.6-6.6 6.6-17.4 0-24zm-379 28v-32c0-8.8 7.2-16 16-16h176V160H248c-13.2 0-24-10.8-24-24V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V352H208c-8.8 0-16-7.2-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaFileImage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 121.941V128H256V0h6.059a24 24 0 0 1 16.97 7.029l97.941 97.941a24.002 24.002 0 0 1 7.03 16.971zM248 160c-13.2 0-24-10.8-24-24V0H24C10.745 0 0 10.745 0 24v464c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V160H248zm-135.455 16c26.51 0 48 21.49 48 48s-21.49 48-48 48-48-21.49-48-48 21.491-48 48-48zm208 240h-256l.485-48.485L104.545 328c4.686-4.686 11.799-4.201 16.485.485L160.545 368 264.06 264.485c4.686-4.686 12.284-4.686 16.971 0L320.545 304v112z\"},\"child\":[]}]})(props);\n};\nexport function FaFileImport (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 288c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h112v-64zm489-183L407.1 7c-4.5-4.5-10.6-7-17-7H384v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H152c-13.3 0-24 10.7-24 24v264h128v-65.2c0-14.3 17.3-21.4 27.4-11.3L379 308c6.6 6.7 6.6 17.4 0 24l-95.7 96.4c-10.1 10.1-27.4 3-27.4-11.3V352H128v136c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H376c-13.2 0-24-10.8-24-24z\"},\"child\":[]}]})(props);\n};\nexport function FaFileInvoiceDollar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM64 72c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8V72zm0 80v-16c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8zm144 263.88V440c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-24.29c-11.29-.58-22.27-4.52-31.37-11.35-3.9-2.93-4.1-8.77-.57-12.14l11.75-11.21c2.77-2.64 6.89-2.76 10.13-.73 3.87 2.42 8.26 3.72 12.82 3.72h28.11c6.5 0 11.8-5.92 11.8-13.19 0-5.95-3.61-11.19-8.77-12.73l-45-13.5c-18.59-5.58-31.58-23.42-31.58-43.39 0-24.52 19.05-44.44 42.67-45.07V232c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v24.29c11.29.58 22.27 4.51 31.37 11.35 3.9 2.93 4.1 8.77.57 12.14l-11.75 11.21c-2.77 2.64-6.89 2.76-10.13.73-3.87-2.43-8.26-3.72-12.82-3.72h-28.11c-6.5 0-11.8 5.92-11.8 13.19 0 5.95 3.61 11.19 8.77 12.73l45 13.5c18.59 5.58 31.58 23.42 31.58 43.39 0 24.53-19.05 44.44-42.67 45.07z\"},\"child\":[]}]})(props);\n};\nexport function FaFileInvoice (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 256H96v64h192v-64zm89-151L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM64 72c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8V72zm0 64c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16zm256 304c0 4.42-3.58 8-8 8h-80c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16zm0-200v96c0 8.84-7.16 16-16 16H80c-8.84 0-16-7.16-16-16v-96c0-8.84 7.16-16 16-16h224c8.84 0 16 7.16 16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaFileMedicalAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 136V0H88C74.7 0 64 10.7 64 24v232H8c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h140.9c3 0 5.8 1.7 7.2 4.4l19.9 39.8 56.8-113.7c2.9-5.9 11.4-5.9 14.3 0l34.7 69.5H352c8.8 0 16 7.2 16 16s-7.2 16-16 16h-89.9L240 275.8l-56.8 113.7c-2.9 5.9-11.4 5.9-14.3 0L134.1 320H64v168c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H312c-13.2 0-24-10.8-24-24zm153-31L343.1 7c-4.5-4.5-10.6-7-17-7H320v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z\"},\"child\":[]}]})(props);\n};\nexport function FaFileMedical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm64 160v48c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8z\"},\"child\":[]}]})(props);\n};\nexport function FaFilePdf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M181.9 256.1c-5-16-4.9-46.9-2-46.9 8.4 0 7.6 36.9 2 46.9zm-1.7 47.2c-7.7 20.2-17.3 43.3-28.4 62.7 18.3-7 39-17.2 62.9-21.9-12.7-9.6-24.9-23.4-34.5-40.8zM86.1 428.1c0 .8 13.2-5.4 34.9-40.2-6.7 6.3-29.1 24.5-34.9 40.2zM248 160h136v328c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V24C0 10.7 10.7 0 24 0h200v136c0 13.2 10.8 24 24 24zm-8 171.8c-20-12.2-33.3-29-42.7-53.8 4.5-18.5 11.6-46.6 6.2-64.2-4.7-29.4-42.4-26.5-47.8-6.8-5 18.3-.4 44.1 8.1 77-11.6 27.6-28.7 64.6-40.8 85.8-.1 0-.1.1-.2.1-27.1 13.9-73.6 44.5-54.5 68 5.6 6.9 16 10 21.5 10 17.9 0 35.7-18 61.1-61.8 25.8-8.5 54.1-19.1 79-23.2 21.7 11.8 47.1 19.5 64 19.5 29.2 0 31.2-32 19.7-43.4-13.9-13.6-54.3-9.7-73.6-7.2zM377 105L279 7c-4.5-4.5-10.6-7-17-7h-6v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-74.1 255.3c4.1-2.7-2.5-11.9-42.8-9 37.1 15.8 42.8 9 42.8 9z\"},\"child\":[]}]})(props);\n};\nexport function FaFilePowerpoint (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M193.7 271.2c8.8 0 15.5 2.7 20.3 8.1 9.6 10.9 9.8 32.7-.2 44.1-4.9 5.6-11.9 8.5-21.1 8.5h-26.9v-60.7h27.9zM377 105L279 7c-4.5-4.5-10.6-7-17-7h-6v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm53 165.2c0 90.3-88.8 77.6-111.1 77.6V436c0 6.6-5.4 12-12 12h-30.8c-6.6 0-12-5.4-12-12V236.2c0-6.6 5.4-12 12-12h81c44.5 0 72.9 32.8 72.9 77z\"},\"child\":[]}]})(props);\n};\nexport function FaFilePrescription (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm68.53 179.48l11.31 11.31c6.25 6.25 6.25 16.38 0 22.63l-29.9 29.9L304 409.38c6.25 6.25 6.25 16.38 0 22.63l-11.31 11.31c-6.25 6.25-16.38 6.25-22.63 0L240 413.25l-30.06 30.06c-6.25 6.25-16.38 6.25-22.63 0L176 432c-6.25-6.25-6.25-16.38 0-22.63l30.06-30.06L146.74 320H128v48c0 8.84-7.16 16-16 16H96c-8.84 0-16-7.16-16-16V208c0-8.84 7.16-16 16-16h80c35.35 0 64 28.65 64 64 0 24.22-13.62 45.05-33.46 55.92L240 345.38l29.9-29.9c6.25-6.25 16.38-6.25 22.63 0zM176 272h-48v-32h48c8.82 0 16 7.18 16 16s-7.18 16-16 16zm208-150.1v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z\"},\"child\":[]}]})(props);\n};\nexport function FaFileSignature (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M218.17 424.14c-2.95-5.92-8.09-6.52-10.17-6.52s-7.22.59-10.02 6.19l-7.67 15.34c-6.37 12.78-25.03 11.37-29.48-2.09L144 386.59l-10.61 31.88c-5.89 17.66-22.38 29.53-41 29.53H80c-8.84 0-16-7.16-16-16s7.16-16 16-16h12.39c4.83 0 9.11-3.08 10.64-7.66l18.19-54.64c3.3-9.81 12.44-16.41 22.78-16.41s19.48 6.59 22.77 16.41l13.88 41.64c19.75-16.19 54.06-9.7 66 14.16 1.89 3.78 5.49 5.95 9.36 6.26v-82.12l128-127.09V160H248c-13.2 0-24-10.8-24-24V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24v-40l-128-.11c-16.12-.31-30.58-9.28-37.83-23.75zM384 121.9c0-6.3-2.5-12.4-7-16.9L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1zm-96 225.06V416h68.99l161.68-162.78-67.88-67.88L288 346.96zm280.54-179.63l-31.87-31.87c-9.94-9.94-26.07-9.94-36.01 0l-27.25 27.25 67.88 67.88 27.25-27.25c9.95-9.94 9.95-26.07 0-36.01z\"},\"child\":[]}]})(props);\n};\nexport function FaFileUpload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm65.18 216.01H224v80c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-80H94.82c-14.28 0-21.41-17.29-11.27-27.36l96.42-95.7c6.65-6.61 17.39-6.61 24.04 0l96.42 95.7c10.15 10.07 3.03 27.36-11.25 27.36zM377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9z\"},\"child\":[]}]})(props);\n};\nexport function FaFileVideo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 121.941V128H256V0h6.059c6.365 0 12.47 2.529 16.971 7.029l97.941 97.941A24.005 24.005 0 0 1 384 121.941zM224 136V0H24C10.745 0 0 10.745 0 24v464c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V160H248c-13.2 0-24-10.8-24-24zm96 144.016v111.963c0 21.445-25.943 31.998-40.971 16.971L224 353.941V392c0 13.255-10.745 24-24 24H88c-13.255 0-24-10.745-24-24V280c0-13.255 10.745-24 24-24h112c13.255 0 24 10.745 24 24v38.059l55.029-55.013c15.011-15.01 40.971-4.491 40.971 16.97z\"},\"child\":[]}]})(props);\n};\nexport function FaFileWord (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm57.1 120H305c7.7 0 13.4 7.1 11.7 14.7l-38 168c-1.2 5.5-6.1 9.3-11.7 9.3h-38c-5.5 0-10.3-3.8-11.6-9.1-25.8-103.5-20.8-81.2-25.6-110.5h-.5c-1.1 14.3-2.4 17.4-25.6 110.5-1.3 5.3-6.1 9.1-11.6 9.1H117c-5.6 0-10.5-3.9-11.7-9.4l-37.8-168c-1.7-7.5 4-14.6 11.7-14.6h24.5c5.7 0 10.7 4 11.8 9.7 15.6 78 20.1 109.5 21 122.2 1.6-10.2 7.3-32.7 29.4-122.7 1.3-5.4 6.1-9.1 11.7-9.1h29.1c5.6 0 10.4 3.8 11.7 9.2 24 100.4 28.8 124 29.6 129.4-.2-11.2-2.6-17.8 21.6-129.2 1-5.6 5.9-9.5 11.5-9.5zM384 121.9v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z\"},\"child\":[]}]})(props);\n};\nexport function FaFile (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm160-14.1v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z\"},\"child\":[]}]})(props);\n};\nexport function FaFillDrip (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 320s-64 92.65-64 128c0 35.35 28.66 64 64 64s64-28.65 64-64-64-128-64-128zm-9.37-102.94L294.94 9.37C288.69 3.12 280.5 0 272.31 0s-16.38 3.12-22.62 9.37l-81.58 81.58L81.93 4.76c-6.25-6.25-16.38-6.25-22.62 0L36.69 27.38c-6.24 6.25-6.24 16.38 0 22.62l86.19 86.18-94.76 94.76c-37.49 37.48-37.49 98.26 0 135.75l117.19 117.19c18.74 18.74 43.31 28.12 67.87 28.12 24.57 0 49.13-9.37 67.87-28.12l221.57-221.57c12.5-12.5 12.5-32.75.01-45.25zm-116.22 70.97H65.93c1.36-3.84 3.57-7.98 7.43-11.83l13.15-13.15 81.61-81.61 58.6 58.6c12.49 12.49 32.75 12.49 45.24 0s12.49-32.75 0-45.24l-58.6-58.6 58.95-58.95 162.44 162.44-48.34 48.34z\"},\"child\":[]}]})(props);\n};\nexport function FaFill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M502.63 217.06L294.94 9.37C288.69 3.12 280.5 0 272.31 0s-16.38 3.12-22.62 9.37l-81.58 81.58L81.93 4.77c-6.24-6.25-16.38-6.25-22.62 0L36.69 27.38c-6.24 6.25-6.24 16.38 0 22.63l86.19 86.18-94.76 94.76c-37.49 37.49-37.49 98.26 0 135.75l117.19 117.19c18.75 18.74 43.31 28.12 67.87 28.12 24.57 0 49.13-9.37 67.88-28.12l221.57-221.57c12.49-12.5 12.49-32.76 0-45.26zm-116.22 70.97H65.93c1.36-3.84 3.57-7.98 7.43-11.83l13.15-13.15 81.61-81.61 58.61 58.6c12.49 12.49 32.75 12.49 45.24 0 12.49-12.49 12.49-32.75 0-45.24l-58.61-58.6 58.95-58.95 162.45 162.44-48.35 48.34z\"},\"child\":[]}]})(props);\n};\nexport function FaFilm (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M488 64h-8v20c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12V64H96v20c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12V64h-8C10.7 64 0 74.7 0 88v336c0 13.3 10.7 24 24 24h8v-20c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v20h320v-20c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v20h8c13.3 0 24-10.7 24-24V88c0-13.3-10.7-24-24-24zM96 372c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm272 208c0 6.6-5.4 12-12 12H156c-6.6 0-12-5.4-12-12v-96c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v96zm0-168c0 6.6-5.4 12-12 12H156c-6.6 0-12-5.4-12-12v-96c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v96zm112 152c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40z\"},\"child\":[]}]})(props);\n};\nexport function FaFilter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M487.976 0H24.028C2.71 0-8.047 25.866 7.058 40.971L192 225.941V432c0 7.831 3.821 15.17 10.237 19.662l80 55.98C298.02 518.69 320 507.493 320 487.98V225.941l184.947-184.97C520.021 25.896 509.338 0 487.976 0z\"},\"child\":[]}]})(props);\n};\nexport function FaFingerprint (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256.12 245.96c-13.25 0-24 10.74-24 24 1.14 72.25-8.14 141.9-27.7 211.55-2.73 9.72 2.15 30.49 23.12 30.49 10.48 0 20.11-6.92 23.09-17.52 13.53-47.91 31.04-125.41 29.48-224.52.01-13.25-10.73-24-23.99-24zm-.86-81.73C194 164.16 151.25 211.3 152.1 265.32c.75 47.94-3.75 95.91-13.37 142.55-2.69 12.98 5.67 25.69 18.64 28.36 13.05 2.67 25.67-5.66 28.36-18.64 10.34-50.09 15.17-101.58 14.37-153.02-.41-25.95 19.92-52.49 54.45-52.34 31.31.47 57.15 25.34 57.62 55.47.77 48.05-2.81 96.33-10.61 143.55-2.17 13.06 6.69 25.42 19.76 27.58 19.97 3.33 26.81-15.1 27.58-19.77 8.28-50.03 12.06-101.21 11.27-152.11-.88-55.8-47.94-101.88-104.91-102.72zm-110.69-19.78c-10.3-8.34-25.37-6.8-33.76 3.48-25.62 31.5-39.39 71.28-38.75 112 .59 37.58-2.47 75.27-9.11 112.05-2.34 13.05 6.31 25.53 19.36 27.89 20.11 3.5 27.07-14.81 27.89-19.36 7.19-39.84 10.5-80.66 9.86-121.33-.47-29.88 9.2-57.88 28-80.97 8.35-10.28 6.79-25.39-3.49-33.76zm109.47-62.33c-15.41-.41-30.87 1.44-45.78 4.97-12.89 3.06-20.87 15.98-17.83 28.89 3.06 12.89 16 20.83 28.89 17.83 11.05-2.61 22.47-3.77 34-3.69 75.43 1.13 137.73 61.5 138.88 134.58.59 37.88-1.28 76.11-5.58 113.63-1.5 13.17 7.95 25.08 21.11 26.58 16.72 1.95 25.51-11.88 26.58-21.11a929.06 929.06 0 0 0 5.89-119.85c-1.56-98.75-85.07-180.33-186.16-181.83zm252.07 121.45c-2.86-12.92-15.51-21.2-28.61-18.27-12.94 2.86-21.12 15.66-18.26 28.61 4.71 21.41 4.91 37.41 4.7 61.6-.11 13.27 10.55 24.09 23.8 24.2h.2c13.17 0 23.89-10.61 24-23.8.18-22.18.4-44.11-5.83-72.34zm-40.12-90.72C417.29 43.46 337.6 1.29 252.81.02 183.02-.82 118.47 24.91 70.46 72.94 24.09 119.37-.9 181.04.14 246.65l-.12 21.47c-.39 13.25 10.03 24.31 23.28 24.69.23.02.48.02.72.02 12.92 0 23.59-10.3 23.97-23.3l.16-23.64c-.83-52.5 19.16-101.86 56.28-139 38.76-38.8 91.34-59.67 147.68-58.86 69.45 1.03 134.73 35.56 174.62 92.39 7.61 10.86 22.56 13.45 33.42 5.86 10.84-7.62 13.46-22.59 5.84-33.43z\"},\"child\":[]}]})(props);\n};\nexport function FaFireAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M323.56 51.2c-20.8 19.3-39.58 39.59-56.22 59.97C240.08 73.62 206.28 35.53 168 0 69.74 91.17 0 209.96 0 281.6 0 408.85 100.29 512 224 512s224-103.15 224-230.4c0-53.27-51.98-163.14-124.44-230.4zm-19.47 340.65C282.43 407.01 255.72 416 226.86 416 154.71 416 96 368.26 96 290.75c0-38.61 24.31-72.63 72.79-130.75 6.93 7.98 98.83 125.34 98.83 125.34l58.63-66.88c4.14 6.85 7.91 13.55 11.27 19.97 27.35 52.19 15.81 118.97-33.43 153.42z\"},\"child\":[]}]})(props);\n};\nexport function FaFireExtinguisher (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M434.027 26.329l-168 28C254.693 56.218 256 67.8 256 72h-58.332C208.353 36.108 181.446 0 144 0c-39.435 0-66.368 39.676-52.228 76.203-52.039 13.051-75.381 54.213-90.049 90.884-4.923 12.307 1.063 26.274 13.37 31.197 12.317 4.926 26.279-1.075 31.196-13.37C75.058 112.99 106.964 120 168 120v27.076c-41.543 10.862-72 49.235-72 94.129V488c0 13.255 10.745 24 24 24h144c13.255 0 24-10.745 24-24V240c0-44.731-30.596-82.312-72-92.97V120h40c0 2.974-1.703 15.716 10.027 17.671l168 28C441.342 166.89 448 161.25 448 153.834V38.166c0-7.416-6.658-13.056-13.973-11.837zM144 72c-8.822 0-16-7.178-16-16s7.178-16 16-16 16 7.178 16 16-7.178 16-16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaFire (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M216 23.86c0-23.8-30.65-32.77-44.15-13.04C48 191.85 224 200 224 288c0 35.63-29.11 64.46-64.85 63.99-35.17-.45-63.15-29.77-63.15-64.94v-85.51c0-21.7-26.47-32.23-41.43-16.5C27.8 213.16 0 261.33 0 320c0 105.87 86.13 192 192 192s192-86.13 192-192c0-170.29-168-193-168-296.14z\"},\"child\":[]}]})(props);\n};\nexport function FaFirstAid (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 80v352c0 26.5 21.5 48 48 48h48V32H48C21.5 32 0 53.5 0 80zm128 400h320V32H128v448zm64-248c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48zM528 32h-48v448h48c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z\"},\"child\":[]}]})(props);\n};\nexport function FaFish (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M327.1 96c-89.97 0-168.54 54.77-212.27 101.63L27.5 131.58c-12.13-9.18-30.24.6-27.14 14.66L24.54 256 .35 365.77c-3.1 14.06 15.01 23.83 27.14 14.66l87.33-66.05C158.55 361.23 237.13 416 327.1 416 464.56 416 576 288 576 256S464.56 96 327.1 96zm87.43 184c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24 13.26 0 24 10.74 24 24 0 13.25-10.75 24-24 24z\"},\"child\":[]}]})(props);\n};\nexport function FaFistRaised (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M255.98 160V16c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v146.93c5.02-1.78 10.34-2.93 15.97-2.93h48.03zm128 95.99c-.01-35.34-28.66-63.99-63.99-63.99H207.85c-8.78 0-15.9 7.07-15.9 15.85v.56c0 26.27 21.3 47.59 47.57 47.59h35.26c9.68 0 13.2 3.58 13.2 8v16.2c0 4.29-3.59 7.78-7.88 8-44.52 2.28-64.16 24.71-96.05 72.55l-6.31 9.47a7.994 7.994 0 0 1-11.09 2.22l-13.31-8.88a7.994 7.994 0 0 1-2.22-11.09l6.31-9.47c15.73-23.6 30.2-43.26 47.31-58.08-17.27-5.51-31.4-18.12-38.87-34.45-6.59 3.41-13.96 5.52-21.87 5.52h-32c-12.34 0-23.49-4.81-32-12.48C71.48 251.19 60.33 256 48 256H16c-5.64 0-10.97-1.15-16-2.95v77.93c0 33.95 13.48 66.5 37.49 90.51L63.99 448v64h255.98v-63.96l35.91-35.92A96.035 96.035 0 0 0 384 344.21l-.02-88.22zm-32.01-90.09V48c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v112h32c11.28 0 21.94 2.31 32 5.9zM16 224h32c8.84 0 16-7.16 16-16V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v128c0 8.84 7.16 16 16 16zm95.99 0h32c8.84 0 16-7.16 16-16V48c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v160c0 8.84 7.16 16 16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaFlagCheckered (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M243.2 189.9V258c26.1 5.9 49.3 15.6 73.6 22.3v-68.2c-26-5.8-49.4-15.5-73.6-22.2zm223.3-123c-34.3 15.9-76.5 31.9-117 31.9C296 98.8 251.7 64 184.3 64c-25 0-47.3 4.4-68 12 2.8-7.3 4.1-15.2 3.6-23.6C118.1 24 94.8 1.2 66.3 0 34.3-1.3 8 24.3 8 56c0 19 9.5 35.8 24 45.9V488c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24v-94.4c28.3-12.1 63.6-22.1 114.4-22.1 53.6 0 97.8 34.8 165.2 34.8 48.2 0 86.7-16.3 122.5-40.9 8.7-6 13.8-15.8 13.8-26.4V95.9c.1-23.3-24.2-38.8-45.4-29zM169.6 325.5c-25.8 2.7-50 8.2-73.6 16.6v-70.5c26.2-9.3 47.5-15 73.6-17.4zM464 191c-23.6 9.8-46.3 19.5-73.6 23.9V286c24.8-3.4 51.4-11.8 73.6-26v70.5c-25.1 16.1-48.5 24.7-73.6 27.1V286c-27 3.7-47.9 1.5-73.6-5.6v67.4c-23.9-7.4-47.3-16.7-73.6-21.3V258c-19.7-4.4-40.8-6.8-73.6-3.8v-70c-22.4 3.1-44.6 10.2-73.6 20.9v-70.5c33.2-12.2 50.1-19.8 73.6-22v71.6c27-3.7 48.4-1.3 73.6 5.7v-67.4c23.7 7.4 47.2 16.7 73.6 21.3v68.4c23.7 5.3 47.6 6.9 73.6 2.7V143c27-4.8 52.3-13.6 73.6-22.5z\"},\"child\":[]}]})(props);\n};\nexport function FaFlagUsa (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M32 0C14.3 0 0 14.3 0 32v464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V32C64 14.3 49.7 0 32 0zm267.9 303.6c-57.2-15.1-111.7-28.8-203.9 11.1V384c185.7-92.2 221.7 53.3 397.5-23.1 11.4-5 18.5-16.5 18.5-28.8v-36c-43.6 17.3-80.2 24.1-112.1 24.1-37.4-.1-68.9-8.4-100-16.6zm0-96c-57.2-15.1-111.7-28.8-203.9 11.1v61.5c94.8-37.6 154.6-22.7 212.1-7.6 57.2 15.1 111.7 28.8 203.9-11.1V200c-43.6 17.3-80.2 24.1-112.1 24.1-37.4 0-68.9-8.3-100-16.5zm9.5-125.9c51.8 15.6 97.4 29 202.6-20.1V30.8c0-25.1-26.8-38.1-49.4-26.6C291.3 91.5 305.4-62.2 96 32.4v151.9c94.8-37.5 154.6-22.7 212.1-7.6 57.2 15 111.7 28.7 203.9-11.1V96.7c-53.6 23.5-93.3 31.4-126.1 31.4s-59-7.8-85.7-15.9c-4-1.2-8.1-2.4-12.1-3.5V75.5c7.2 2 14.3 4.1 21.3 6.2zM160 128.1c-8.8 0-16-7.1-16-16 0-8.8 7.2-16 16-16s16 7.1 16 16-7.2 16-16 16zm0-55.8c-8.8 0-16-7.1-16-16 0-8.8 7.2-16 16-16s16 7.1 16 16c0 8.8-7.2 16-16 16zm64 47.9c-8.8 0-16-7.1-16-16 0-8.8 7.2-16 16-16s16 7.1 16 16c0 8.8-7.2 16-16 16zm0-55.9c-8.8 0-16-7.1-16-16 0-8.8 7.2-16 16-16s16 7.1 16 16c0 8.8-7.2 16-16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaFlag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M349.565 98.783C295.978 98.783 251.721 64 184.348 64c-24.955 0-47.309 4.384-68.045 12.013a55.947 55.947 0 0 0 3.586-23.562C118.117 24.015 94.806 1.206 66.338.048 34.345-1.254 8 24.296 8 56c0 19.026 9.497 35.825 24 45.945V488c0 13.255 10.745 24 24 24h16c13.255 0 24-10.745 24-24v-94.4c28.311-12.064 63.582-22.122 114.435-22.122 53.588 0 97.844 34.783 165.217 34.783 48.169 0 86.667-16.294 122.505-40.858C506.84 359.452 512 349.571 512 339.045v-243.1c0-23.393-24.269-38.87-45.485-29.016-34.338 15.948-76.454 31.854-116.95 31.854z\"},\"child\":[]}]})(props);\n};\nexport function FaFlask (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M437.2 403.5L320 215V64h8c13.3 0 24-10.7 24-24V24c0-13.3-10.7-24-24-24H120c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24h8v151L10.8 403.5C-18.5 450.6 15.3 512 70.9 512h306.2c55.7 0 89.4-61.5 60.1-108.5zM137.9 320l48.2-77.6c3.7-5.2 5.8-11.6 5.8-18.4V64h64v160c0 6.9 2.2 13.2 5.8 18.4l48.2 77.6h-172z\"},\"child\":[]}]})(props);\n};\nexport function FaFlushed (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M344 200c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm-192 0c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM80 224c0-39.8 32.2-72 72-72s72 32.2 72 72-32.2 72-72 72-72-32.2-72-72zm232 176H184c-21.2 0-21.2-32 0-32h128c21.2 0 21.2 32 0 32zm32-104c-39.8 0-72-32.2-72-72s32.2-72 72-72 72 32.2 72 72-32.2 72-72 72z\"},\"child\":[]}]})(props);\n};\nexport function FaFolderMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 128H272l-64-64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V176c0-26.51-21.49-48-48-48zm-96 168c0 8.84-7.16 16-16 16H160c-8.84 0-16-7.16-16-16v-16c0-8.84 7.16-16 16-16h192c8.84 0 16 7.16 16 16v16z\"},\"child\":[]}]})(props);\n};\nexport function FaFolderOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M572.694 292.093L500.27 416.248A63.997 63.997 0 0 1 444.989 448H45.025c-18.523 0-30.064-20.093-20.731-36.093l72.424-124.155A64 64 0 0 1 152 256h399.964c18.523 0 30.064 20.093 20.73 36.093zM152 224h328v-48c0-26.51-21.49-48-48-48H272l-64-64H48C21.49 64 0 85.49 0 112v278.046l69.077-118.418C86.214 242.25 117.989 224 152 224z\"},\"child\":[]}]})(props);\n};\nexport function FaFolderPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464,128H272L208,64H48A48,48,0,0,0,0,112V400a48,48,0,0,0,48,48H464a48,48,0,0,0,48-48V176A48,48,0,0,0,464,128ZM359.5,296a16,16,0,0,1-16,16h-64v64a16,16,0,0,1-16,16h-16a16,16,0,0,1-16-16V312h-64a16,16,0,0,1-16-16V280a16,16,0,0,1,16-16h64V200a16,16,0,0,1,16-16h16a16,16,0,0,1,16,16v64h64a16,16,0,0,1,16,16Z\"},\"child\":[]}]})(props);\n};\nexport function FaFolder (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 128H272l-64-64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V176c0-26.51-21.49-48-48-48z\"},\"child\":[]}]})(props);\n};\nexport function FaFont (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M432 416h-23.41L277.88 53.69A32 32 0 0 0 247.58 32h-47.16a32 32 0 0 0-30.3 21.69L39.41 416H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-19.58l23.3-64h152.56l23.3 64H304a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM176.85 272L224 142.51 271.15 272z\"},\"child\":[]}]})(props);\n};\nexport function FaFootballBall (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M481.5 60.3c-4.8-18.2-19.1-32.5-37.3-37.4C420.3 16.5 383 8.9 339.4 8L496 164.8c-.8-43.5-8.2-80.6-14.5-104.5zm-467 391.4c4.8 18.2 19.1 32.5 37.3 37.4 23.9 6.4 61.2 14 104.8 14.9L0 347.2c.8 43.5 8.2 80.6 14.5 104.5zM4.2 283.4L220.4 500c132.5-19.4 248.8-118.7 271.5-271.4L275.6 12C143.1 31.4 26.8 130.7 4.2 283.4zm317.3-123.6c3.1-3.1 8.2-3.1 11.3 0l11.3 11.3c3.1 3.1 3.1 8.2 0 11.3l-28.3 28.3 28.3 28.3c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-28.3-28.3-22.6 22.7 28.3 28.3c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0L248 278.6l-22.6 22.6 28.3 28.3c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-28.3-28.3-28.3 28.3c-3.1 3.1-8.2 3.1-11.3 0l-11.3-11.3c-3.1-3.1-3.1-8.2 0-11.3l28.3-28.3-28.3-28.2c-3.1-3.1-3.1-8.2 0-11.3l11.3-11.3c3.1-3.1 8.2-3.1 11.3 0l28.3 28.3 22.6-22.6-28.3-28.3c-3.1-3.1-3.1-8.2 0-11.3l11.3-11.3c3.1-3.1 8.2-3.1 11.3 0l28.3 28.3 22.6-22.6-28.3-28.3c-3.1-3.1-3.1-8.2 0-11.3l11.3-11.3c3.1-3.1 8.2-3.1 11.3 0l28.3 28.3 28.3-28.5z\"},\"child\":[]}]})(props);\n};\nexport function FaForward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M500.5 231.4l-192-160C287.9 54.3 256 68.6 256 96v320c0 27.4 31.9 41.8 52.5 24.6l192-160c15.3-12.8 15.3-36.4 0-49.2zm-256 0l-192-160C31.9 54.3 0 68.6 0 96v320c0 27.4 31.9 41.8 52.5 24.6l192-160c15.3-12.8 15.3-36.4 0-49.2z\"},\"child\":[]}]})(props);\n};\nexport function FaFrog (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M446.53 97.43C439.67 60.23 407.19 32 368 32c-39.23 0-71.72 28.29-78.54 65.54C126.75 112.96-.5 250.12 0 416.98.11 451.9 29.08 480 64 480h304c8.84 0 16-7.16 16-16 0-17.67-14.33-32-32-32h-79.49l35.8-48.33c24.14-36.23 10.35-88.28-33.71-106.6-23.89-9.93-51.55-4.65-72.24 10.88l-32.76 24.59c-7.06 5.31-17.09 3.91-22.41-3.19-5.3-7.08-3.88-17.11 3.19-22.41l34.78-26.09c36.84-27.66 88.28-27.62 125.13 0 10.87 8.15 45.87 39.06 40.8 93.21L469.62 480H560c8.84 0 16-7.16 16-16 0-17.67-14.33-32-32-32h-53.63l-98.52-104.68 154.44-86.65A58.16 58.16 0 0 0 576 189.94c0-21.4-11.72-40.95-30.48-51.23-40.56-22.22-98.99-41.28-98.99-41.28zM368 136c-13.26 0-24-10.75-24-24 0-13.26 10.74-24 24-24 13.25 0 24 10.74 24 24 0 13.25-10.75 24-24 24z\"},\"child\":[]}]})(props);\n};\nexport function FaFrownOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM136 208c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm187.3 183.3c-31.2-9.6-59.4-15.3-75.3-15.3s-44.1 5.7-75.3 15.3c-11.5 3.5-22.5-6.3-20.5-18.1 7-40 60.1-61.2 95.8-61.2s88.8 21.3 95.8 61.2c2 11.9-9.1 21.6-20.5 18.1zM328 240c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaFrown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm-160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm170.2 218.2C315.8 367.4 282.9 352 248 352s-67.8 15.4-90.2 42.2c-13.5 16.3-38.1-4.2-24.6-20.5C161.7 339.6 203.6 320 248 320s86.3 19.6 114.7 53.8c13.6 16.2-11 36.7-24.5 20.4z\"},\"child\":[]}]})(props);\n};\nexport function FaFunnelDollar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M433.46 165.94l101.2-111.87C554.61 34.12 540.48 0 512.26 0H31.74C3.52 0-10.61 34.12 9.34 54.07L192 256v155.92c0 12.59 5.93 24.44 16 32l79.99 60c20.86 15.64 48.47 6.97 59.22-13.57C310.8 455.38 288 406.35 288 352c0-89.79 62.05-165.17 145.46-186.06zM480 192c-88.37 0-160 71.63-160 160s71.63 160 160 160 160-71.63 160-160-71.63-160-160-160zm16 239.88V448c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-16.29c-11.29-.58-22.27-4.52-31.37-11.35-3.9-2.93-4.1-8.77-.57-12.14l11.75-11.21c2.77-2.64 6.89-2.76 10.13-.73 3.87 2.42 8.26 3.72 12.82 3.72h28.11c6.5 0 11.8-5.92 11.8-13.19 0-5.95-3.61-11.19-8.77-12.73l-45-13.5c-18.59-5.58-31.58-23.42-31.58-43.39 0-24.52 19.05-44.44 42.67-45.07V256c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16.29c11.29.58 22.27 4.51 31.37 11.35 3.9 2.93 4.1 8.77.57 12.14l-11.75 11.21c-2.77 2.64-6.89 2.76-10.13.73-3.87-2.43-8.26-3.72-12.82-3.72h-28.11c-6.5 0-11.8 5.92-11.8 13.19 0 5.95 3.61 11.19 8.77 12.73l45 13.5c18.59 5.58 31.58 23.42 31.58 43.39 0 24.53-19.04 44.44-42.67 45.07z\"},\"child\":[]}]})(props);\n};\nexport function FaFutbol (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zm-48 0l-.003-.282-26.064 22.741-62.679-58.5 16.454-84.355 34.303 3.072c-24.889-34.216-60.004-60.089-100.709-73.141l13.651 31.939L256 139l-74.953-41.525 13.651-31.939c-40.631 13.028-75.78 38.87-100.709 73.141l34.565-3.073 16.192 84.355-62.678 58.5-26.064-22.741-.003.282c0 43.015 13.497 83.952 38.472 117.991l7.704-33.897 85.138 10.447 36.301 77.826-29.902 17.786c40.202 13.122 84.29 13.148 124.572 0l-29.902-17.786 36.301-77.826 85.138-10.447 7.704 33.897C442.503 339.952 456 299.015 456 256zm-248.102 69.571l-29.894-91.312L256 177.732l77.996 56.527-29.622 91.312h-96.476z\"},\"child\":[]}]})(props);\n};\nexport function FaGamepad (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M480.07 96H160a160 160 0 1 0 114.24 272h91.52A160 160 0 1 0 480.07 96zM248 268a12 12 0 0 1-12 12h-52v52a12 12 0 0 1-12 12h-24a12 12 0 0 1-12-12v-52H84a12 12 0 0 1-12-12v-24a12 12 0 0 1 12-12h52v-52a12 12 0 0 1 12-12h24a12 12 0 0 1 12 12v52h52a12 12 0 0 1 12 12zm216 76a40 40 0 1 1 40-40 40 40 0 0 1-40 40zm64-96a40 40 0 1 1 40-40 40 40 0 0 1-40 40z\"},\"child\":[]}]})(props);\n};\nexport function FaGasPump (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M336 448H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h320c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm157.2-340.7l-81-81c-6.2-6.2-16.4-6.2-22.6 0l-11.3 11.3c-6.2 6.2-6.2 16.4 0 22.6L416 97.9V160c0 28.1 20.9 51.3 48 55.2V376c0 13.2-10.8 24-24 24s-24-10.8-24-24v-32c0-48.6-39.4-88-88-88h-8V64c0-35.3-28.7-64-64-64H96C60.7 0 32 28.7 32 64v352h288V304h8c22.1 0 40 17.9 40 40v27.8c0 37.7 27 72 64.5 75.9 43 4.3 79.5-29.5 79.5-71.7V152.6c0-17-6.8-33.3-18.8-45.3zM256 192H96V64h160v128z\"},\"child\":[]}]})(props);\n};\nexport function FaGavel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M504.971 199.362l-22.627-22.627c-9.373-9.373-24.569-9.373-33.941 0l-5.657 5.657L329.608 69.255l5.657-5.657c9.373-9.373 9.373-24.569 0-33.941L312.638 7.029c-9.373-9.373-24.569-9.373-33.941 0L154.246 131.48c-9.373 9.373-9.373 24.569 0 33.941l22.627 22.627c9.373 9.373 24.569 9.373 33.941 0l5.657-5.657 39.598 39.598-81.04 81.04-5.657-5.657c-12.497-12.497-32.758-12.497-45.255 0L9.373 412.118c-12.497 12.497-12.497 32.758 0 45.255l45.255 45.255c12.497 12.497 32.758 12.497 45.255 0l114.745-114.745c12.497-12.497 12.497-32.758 0-45.255l-5.657-5.657 81.04-81.04 39.598 39.598-5.657 5.657c-9.373 9.373-9.373 24.569 0 33.941l22.627 22.627c9.373 9.373 24.569 9.373 33.941 0l124.451-124.451c9.372-9.372 9.372-24.568 0-33.941z\"},\"child\":[]}]})(props);\n};\nexport function FaGem (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M485.5 0L576 160H474.9L405.7 0h79.8zm-128 0l69.2 160H149.3L218.5 0h139zm-267 0h79.8l-69.2 160H0L90.5 0zM0 192h100.7l123 251.7c1.5 3.1-2.7 5.9-5 3.3L0 192zm148.2 0h279.6l-137 318.2c-1 2.4-4.5 2.4-5.5 0L148.2 192zm204.1 251.7l123-251.7H576L357.3 446.9c-2.3 2.7-6.5-.1-5-3.2z\"},\"child\":[]}]})(props);\n};\nexport function FaGenderless (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 288 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M144 176c44.1 0 80 35.9 80 80s-35.9 80-80 80-80-35.9-80-80 35.9-80 80-80m0-64C64.5 112 0 176.5 0 256s64.5 144 144 144 144-64.5 144-144-64.5-144-144-144z\"},\"child\":[]}]})(props);\n};\nexport function FaGhost (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M186.1.09C81.01 3.24 0 94.92 0 200.05v263.92c0 14.26 17.23 21.39 27.31 11.31l24.92-18.53c6.66-4.95 16-3.99 21.51 2.21l42.95 48.35c6.25 6.25 16.38 6.25 22.63 0l40.72-45.85c6.37-7.17 17.56-7.17 23.92 0l40.72 45.85c6.25 6.25 16.38 6.25 22.63 0l42.95-48.35c5.51-6.2 14.85-7.17 21.51-2.21l24.92 18.53c10.08 10.08 27.31 2.94 27.31-11.31V192C384 84 294.83-3.17 186.1.09zM128 224c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm128 0c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaGift (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M32 448c0 17.7 14.3 32 32 32h160V320H32v128zm256 32h160c17.7 0 32-14.3 32-32V320H288v160zm192-320h-42.1c6.2-12.1 10.1-25.5 10.1-40 0-48.5-39.5-88-88-88-41.6 0-68.5 21.3-103 68.3-34.5-47-61.4-68.3-103-68.3-48.5 0-88 39.5-88 88 0 14.5 3.8 27.9 10.1 40H32c-17.7 0-32 14.3-32 32v80c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16v-80c0-17.7-14.3-32-32-32zm-326.1 0c-22.1 0-40-17.9-40-40s17.9-40 40-40c19.9 0 34.6 3.3 86.1 80h-86.1zm206.1 0h-86.1c51.4-76.5 65.7-80 86.1-80 22.1 0 40 17.9 40 40s-17.9 40-40 40z\"},\"child\":[]}]})(props);\n};\nexport function FaGifts (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M240.6 194.1c1.9-30.8 17.3-61.2 44-79.8C279.4 103.5 268.7 96 256 96h-29.4l30.7-22c7.2-5.1 8.9-15.1 3.7-22.3l-9.3-13c-5.1-7.2-15.1-8.9-22.3-3.7l-32 22.9 11.5-30.6c3.1-8.3-1.1-17.5-9.4-20.6l-15-5.6c-8.3-3.1-17.5 1.1-20.6 9.4l-19.9 53-19.9-53.1C121 2.1 111.8-2.1 103.5 1l-15 5.6C80.2 9.7 76 19 79.2 27.2l11.5 30.6L58.6 35c-7.2-5.1-17.2-3.5-22.3 3.7l-9.3 13c-5.1 7.2-3.5 17.2 3.7 22.3l30.7 22H32c-17.7 0-32 14.3-32 32v352c0 17.7 14.3 32 32 32h168.9c-5.5-9.5-8.9-20.3-8.9-32V256c0-29.9 20.8-55 48.6-61.9zM224 480c0 17.7 14.3 32 32 32h160V384H224v96zm224 32h160c17.7 0 32-14.3 32-32v-96H448v128zm160-288h-20.4c2.6-7.6 4.4-15.5 4.4-23.8 0-35.5-27-72.2-72.1-72.2-48.1 0-75.9 47.7-87.9 75.3-12.1-27.6-39.9-75.3-87.9-75.3-45.1 0-72.1 36.7-72.1 72.2 0 8.3 1.7 16.2 4.4 23.8H256c-17.7 0-32 14.3-32 32v96h192V224h15.3l.7-.2.7.2H448v128h192v-96c0-17.7-14.3-32-32-32zm-272 0c-2.7-1.4-5.1-3-7.2-4.8-7.3-6.4-8.8-13.8-8.8-19 0-9.7 6.4-24.2 24.1-24.2 18.7 0 35.6 27.4 44.5 48H336zm199.2-4.8c-2.1 1.8-4.5 3.4-7.2 4.8h-52.6c8.8-20.3 25.8-48 44.5-48 17.7 0 24.1 14.5 24.1 24.2 0 5.2-1.5 12.6-8.8 19z\"},\"child\":[]}]})(props);\n};\nexport function FaGlassCheers (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M639.4 433.6c-8.4-20.4-31.8-30.1-52.2-21.6l-22.1 9.2-38.7-101.9c47.9-35 64.8-100.3 34.5-152.8L474.3 16c-8-13.9-25.1-19.7-40-13.6L320 49.8 205.7 2.4c-14.9-6.2-32-.3-40 13.6L79.1 166.5C48.9 219 65.7 284.3 113.6 319.2L74.9 421.1l-22.1-9.2c-20.4-8.5-43.7 1.2-52.2 21.6-1.7 4.1.2 8.8 4.3 10.5l162.3 67.4c4.1 1.7 8.7-.2 10.4-4.3 8.4-20.4-1.2-43.8-21.6-52.3l-22.1-9.2L173.3 342c4.4.5 8.8 1.3 13.1 1.3 51.7 0 99.4-33.1 113.4-85.3l20.2-75.4 20.2 75.4c14 52.2 61.7 85.3 113.4 85.3 4.3 0 8.7-.8 13.1-1.3L506 445.6l-22.1 9.2c-20.4 8.5-30.1 31.9-21.6 52.3 1.7 4.1 6.4 6 10.4 4.3L635.1 444c4-1.7 6-6.3 4.3-10.4zM275.9 162.1l-112.1-46.5 36.5-63.4 94.5 39.2-18.9 70.7zm88.2 0l-18.9-70.7 94.5-39.2 36.5 63.4-112.1 46.5z\"},\"child\":[]}]})(props);\n};\nexport function FaGlassMartiniAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M502.05 57.6C523.3 36.34 508.25 0 478.2 0H33.8C3.75 0-11.3 36.34 9.95 57.6L224 271.64V464h-56c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h240c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40h-56V271.64L502.05 57.6zM443.77 48l-48 48H116.24l-48-48h375.53z\"},\"child\":[]}]})(props);\n};\nexport function FaGlassMartini (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M502.05 57.6C523.3 36.34 508.25 0 478.2 0H33.8C3.75 0-11.3 36.34 9.95 57.6L224 271.64V464h-56c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h240c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40h-56V271.64L502.05 57.6z\"},\"child\":[]}]})(props);\n};\nexport function FaGlassWhiskey (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M480 32H32C12.5 32-2.4 49.2.3 68.5l56 356.5c4.5 31.5 31.5 54.9 63.4 54.9h273c31.8 0 58.9-23.4 63.4-54.9l55.6-356.5C514.4 49.2 499.5 32 480 32zm-37.4 64l-30 192h-313L69.4 96h373.2z\"},\"child\":[]}]})(props);\n};\nexport function FaGlasses (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M574.1 280.37L528.75 98.66c-5.91-23.7-21.59-44.05-43-55.81-21.44-11.73-46.97-14.11-70.19-6.33l-15.25 5.08c-8.39 2.79-12.92 11.86-10.12 20.24l5.06 15.18c2.79 8.38 11.85 12.91 20.23 10.12l13.18-4.39c10.87-3.62 23-3.57 33.16 1.73 10.29 5.37 17.57 14.56 20.37 25.82l38.46 153.82c-22.19-6.81-49.79-12.46-81.2-12.46-34.77 0-73.98 7.02-114.85 26.74h-73.18c-40.87-19.74-80.08-26.75-114.86-26.75-31.42 0-59.02 5.65-81.21 12.46l38.46-153.83c2.79-11.25 10.09-20.45 20.38-25.81 10.16-5.3 22.28-5.35 33.15-1.73l13.17 4.39c8.38 2.79 17.44-1.74 20.23-10.12l5.06-15.18c2.8-8.38-1.73-17.45-10.12-20.24l-15.25-5.08c-23.22-7.78-48.75-5.41-70.19 6.33-21.41 11.77-37.09 32.11-43 55.8L1.9 280.37A64.218 64.218 0 0 0 0 295.86v70.25C0 429.01 51.58 480 115.2 480h37.12c60.28 0 110.37-45.94 114.88-105.37l2.93-38.63h35.75l2.93 38.63C313.31 434.06 363.4 480 423.68 480h37.12c63.62 0 115.2-50.99 115.2-113.88v-70.25c0-5.23-.64-10.43-1.9-15.5zm-370.72 89.42c-1.97 25.91-24.4 46.21-51.06 46.21H115.2C86.97 416 64 393.62 64 366.11v-37.54c18.12-6.49 43.42-12.92 72.58-12.92 23.86 0 47.26 4.33 69.93 12.92l-3.13 41.22zM512 366.12c0 27.51-22.97 49.88-51.2 49.88h-37.12c-26.67 0-49.1-20.3-51.06-46.21l-3.13-41.22c22.67-8.59 46.08-12.92 69.95-12.92 29.12 0 54.43 6.44 72.55 12.93v37.54z\"},\"child\":[]}]})(props);\n};\nexport function FaGlobeAfrica (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm160 215.5v6.93c0 5.87-3.32 11.24-8.57 13.86l-15.39 7.7a15.485 15.485 0 0 1-15.53-.97l-18.21-12.14a15.52 15.52 0 0 0-13.5-1.81l-2.65.88c-9.7 3.23-13.66 14.79-7.99 23.3l13.24 19.86c2.87 4.31 7.71 6.9 12.89 6.9h8.21c8.56 0 15.5 6.94 15.5 15.5v11.34c0 3.35-1.09 6.62-3.1 9.3l-18.74 24.98c-1.42 1.9-2.39 4.1-2.83 6.43l-4.3 22.83c-.62 3.29-2.29 6.29-4.76 8.56a159.608 159.608 0 0 0-25 29.16l-13.03 19.55a27.756 27.756 0 0 1-23.09 12.36c-10.51 0-20.12-5.94-24.82-15.34a78.902 78.902 0 0 1-8.33-35.29V367.5c0-8.56-6.94-15.5-15.5-15.5h-25.88c-14.49 0-28.38-5.76-38.63-16a54.659 54.659 0 0 1-16-38.63v-14.06c0-17.19 8.1-33.38 21.85-43.7l27.58-20.69a54.663 54.663 0 0 1 32.78-10.93h.89c8.48 0 16.85 1.97 24.43 5.77l14.72 7.36c3.68 1.84 7.93 2.14 11.83.84l47.31-15.77c6.33-2.11 10.6-8.03 10.6-14.7 0-8.56-6.94-15.5-15.5-15.5h-10.09c-4.11 0-8.05-1.63-10.96-4.54l-6.92-6.92a15.493 15.493 0 0 0-10.96-4.54H199.5c-8.56 0-15.5-6.94-15.5-15.5v-4.4c0-7.11 4.84-13.31 11.74-15.04l14.45-3.61c3.74-.94 7-3.23 9.14-6.44l8.08-12.11c2.87-4.31 7.71-6.9 12.89-6.9h24.21c8.56 0 15.5-6.94 15.5-15.5v-21.7C359.23 71.63 422.86 131.02 441.93 208H423.5c-8.56 0-15.5 6.94-15.5 15.5z\"},\"child\":[]}]})(props);\n};\nexport function FaGlobeAmericas (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm82.29 357.6c-3.9 3.88-7.99 7.95-11.31 11.28-2.99 3-5.1 6.7-6.17 10.71-1.51 5.66-2.73 11.38-4.77 16.87l-17.39 46.85c-13.76 3-28 4.69-42.65 4.69v-27.38c1.69-12.62-7.64-36.26-22.63-51.25-6-6-9.37-14.14-9.37-22.63v-32.01c0-11.64-6.27-22.34-16.46-27.97-14.37-7.95-34.81-19.06-48.81-26.11-11.48-5.78-22.1-13.14-31.65-21.75l-.8-.72a114.792 114.792 0 0 1-18.06-20.74c-9.38-13.77-24.66-36.42-34.59-51.14 20.47-45.5 57.36-82.04 103.2-101.89l24.01 12.01C203.48 89.74 216 82.01 216 70.11v-11.3c7.99-1.29 16.12-2.11 24.39-2.42l28.3 28.3c6.25 6.25 6.25 16.38 0 22.63L264 112l-10.34 10.34c-3.12 3.12-3.12 8.19 0 11.31l4.69 4.69c3.12 3.12 3.12 8.19 0 11.31l-8 8a8.008 8.008 0 0 1-5.66 2.34h-8.99c-2.08 0-4.08.81-5.58 2.27l-9.92 9.65a8.008 8.008 0 0 0-1.58 9.31l15.59 31.19c2.66 5.32-1.21 11.58-7.15 11.58h-5.64c-1.93 0-3.79-.7-5.24-1.96l-9.28-8.06a16.017 16.017 0 0 0-15.55-3.1l-31.17 10.39a11.95 11.95 0 0 0-8.17 11.34c0 4.53 2.56 8.66 6.61 10.69l11.08 5.54c9.41 4.71 19.79 7.16 30.31 7.16s22.59 27.29 32 32h66.75c8.49 0 16.62 3.37 22.63 9.37l13.69 13.69a30.503 30.503 0 0 1 8.93 21.57 46.536 46.536 0 0 1-13.72 32.98zM417 274.25c-5.79-1.45-10.84-5-14.15-9.97l-17.98-26.97a23.97 23.97 0 0 1 0-26.62l19.59-29.38c2.32-3.47 5.5-6.29 9.24-8.15l12.98-6.49C440.2 193.59 448 223.87 448 256c0 8.67-.74 17.16-1.82 25.54L417 274.25z\"},\"child\":[]}]})(props);\n};\nexport function FaGlobeAsia (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm-11.34 240.23c-2.89 4.82-8.1 7.77-13.72 7.77h-.31c-4.24 0-8.31 1.69-11.31 4.69l-5.66 5.66c-3.12 3.12-3.12 8.19 0 11.31l5.66 5.66c3 3 4.69 7.07 4.69 11.31V304c0 8.84-7.16 16-16 16h-6.11c-6.06 0-11.6-3.42-14.31-8.85l-22.62-45.23c-2.44-4.88-8.95-5.94-12.81-2.08l-19.47 19.46c-3 3-7.07 4.69-11.31 4.69H50.81C49.12 277.55 48 266.92 48 256c0-110.28 89.72-200 200-200 21.51 0 42.2 3.51 61.63 9.82l-50.16 38.53c-5.11 3.41-4.63 11.06.86 13.81l10.83 5.41c5.42 2.71 8.84 8.25 8.84 14.31V216c0 4.42-3.58 8-8 8h-3.06c-3.03 0-5.8-1.71-7.15-4.42-1.56-3.12-5.96-3.29-7.76-.3l-17.37 28.95zM408 358.43c0 4.24-1.69 8.31-4.69 11.31l-9.57 9.57c-3 3-7.07 4.69-11.31 4.69h-15.16c-4.24 0-8.31-1.69-11.31-4.69l-13.01-13.01a26.767 26.767 0 0 0-25.42-7.04l-21.27 5.32c-1.27.32-2.57.48-3.88.48h-10.34c-4.24 0-8.31-1.69-11.31-4.69l-11.91-11.91a8.008 8.008 0 0 1-2.34-5.66v-10.2c0-3.27 1.99-6.21 5.03-7.43l39.34-15.74c1.98-.79 3.86-1.82 5.59-3.05l23.71-16.89a7.978 7.978 0 0 1 4.64-1.48h12.09c3.23 0 6.15 1.94 7.39 4.93l5.35 12.85a4 4 0 0 0 3.69 2.46h3.8c1.78 0 3.35-1.18 3.84-2.88l4.2-14.47c.5-1.71 2.06-2.88 3.84-2.88h6.06c2.21 0 4 1.79 4 4v12.93c0 2.12.84 4.16 2.34 5.66l11.91 11.91c3 3 4.69 7.07 4.69 11.31v24.6z\"},\"child\":[]}]})(props);\n};\nexport function FaGlobeEurope (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm200 248c0 22.5-3.9 44.2-10.8 64.4h-20.3c-4.3 0-8.4-1.7-11.4-4.8l-32-32.6c-4.5-4.6-4.5-12.1.1-16.7l12.5-12.5v-8.7c0-3-1.2-5.9-3.3-8l-9.4-9.4c-2.1-2.1-5-3.3-8-3.3h-16c-6.2 0-11.3-5.1-11.3-11.3 0-3 1.2-5.9 3.3-8l9.4-9.4c2.1-2.1 5-3.3 8-3.3h32c6.2 0 11.3-5.1 11.3-11.3v-9.4c0-6.2-5.1-11.3-11.3-11.3h-36.7c-8.8 0-16 7.2-16 16v4.5c0 6.9-4.4 13-10.9 15.2l-31.6 10.5c-3.3 1.1-5.5 4.1-5.5 7.6v2.2c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8s-3.6-8-8-8H247c-3 0-5.8 1.7-7.2 4.4l-9.4 18.7c-2.7 5.4-8.2 8.8-14.3 8.8H194c-8.8 0-16-7.2-16-16V199c0-4.2 1.7-8.3 4.7-11.3l20.1-20.1c4.6-4.6 7.2-10.9 7.2-17.5 0-3.4 2.2-6.5 5.5-7.6l40-13.3c1.7-.6 3.2-1.5 4.4-2.7l26.8-26.8c2.1-2.1 3.3-5 3.3-8 0-6.2-5.1-11.3-11.3-11.3H258l-16 16v8c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8v-20c0-2.5 1.2-4.9 3.2-6.4l28.9-21.7c1.9-.1 3.8-.3 5.7-.3C358.3 56 448 145.7 448 256zM130.1 149.1c0-3 1.2-5.9 3.3-8l25.4-25.4c2.1-2.1 5-3.3 8-3.3 6.2 0 11.3 5.1 11.3 11.3v16c0 3-1.2 5.9-3.3 8l-9.4 9.4c-2.1 2.1-5 3.3-8 3.3h-16c-6.2 0-11.3-5.1-11.3-11.3zm128 306.4v-7.1c0-8.8-7.2-16-16-16h-20.2c-10.8 0-26.7-5.3-35.4-11.8l-22.2-16.7c-11.5-8.6-18.2-22.1-18.2-36.4v-23.9c0-16 8.4-30.8 22.1-39l42.9-25.7c7.1-4.2 15.2-6.5 23.4-6.5h31.2c10.9 0 21.4 3.9 29.6 10.9l43.2 37.1h18.3c8.5 0 16.6 3.4 22.6 9.4l17.3 17.3c3.4 3.4 8.1 5.3 12.9 5.3H423c-32.4 58.9-93.8 99.5-164.9 103.1z\"},\"child\":[]}]})(props);\n};\nexport function FaGlobe (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M336.5 160C322 70.7 287.8 8 248 8s-74 62.7-88.5 152h177zM152 256c0 22.2 1.2 43.5 3.3 64h185.3c2.1-20.5 3.3-41.8 3.3-64s-1.2-43.5-3.3-64H155.3c-2.1 20.5-3.3 41.8-3.3 64zm324.7-96c-28.6-67.9-86.5-120.4-158-141.6 24.4 33.8 41.2 84.7 50 141.6h108zM177.2 18.4C105.8 39.6 47.8 92.1 19.3 160h108c8.7-56.9 25.5-107.8 49.9-141.6zM487.4 192H372.7c2.1 21 3.3 42.5 3.3 64s-1.2 43-3.3 64h114.6c5.5-20.5 8.6-41.8 8.6-64s-3.1-43.5-8.5-64zM120 256c0-21.5 1.2-43 3.3-64H8.6C3.2 212.5 0 233.8 0 256s3.2 43.5 8.6 64h114.6c-2-21-3.2-42.5-3.2-64zm39.5 96c14.5 89.3 48.7 152 88.5 152s74-62.7 88.5-152h-177zm159.3 141.6c71.4-21.2 129.4-73.7 158-141.6h-108c-8.8 56.9-25.6 107.8-50 141.6zM19.3 352c28.6 67.9 86.5 120.4 158 141.6-24.4-33.8-41.2-84.7-50-141.6h-108z\"},\"child\":[]}]})(props);\n};\nexport function FaGolfBall (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 416 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M96 416h224c0 17.7-14.3 32-32 32h-16c-17.7 0-32 14.3-32 32v20c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-20c0-17.7-14.3-32-32-32h-16c-17.7 0-32-14.3-32-32zm320-208c0 74.2-39 139.2-97.5 176h-221C39 347.2 0 282.2 0 208 0 93.1 93.1 0 208 0s208 93.1 208 208zm-180.1 43.9c18.3 0 33.1-14.8 33.1-33.1 0-14.4-9.3-26.3-22.1-30.9 9.6 26.8-15.6 51.3-41.9 41.9 4.6 12.8 16.5 22.1 30.9 22.1zm49.1 46.9c0-14.4-9.3-26.3-22.1-30.9 9.6 26.8-15.6 51.3-41.9 41.9 4.6 12.8 16.5 22.1 30.9 22.1 18.3 0 33.1-14.9 33.1-33.1zm64-64c0-14.4-9.3-26.3-22.1-30.9 9.6 26.8-15.6 51.3-41.9 41.9 4.6 12.8 16.5 22.1 30.9 22.1 18.3 0 33.1-14.9 33.1-33.1z\"},\"child\":[]}]})(props);\n};\nexport function FaGopuram (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496 352h-16V240c0-8.8-7.2-16-16-16h-16v-80c0-8.8-7.2-16-16-16h-16V16c0-8.8-7.2-16-16-16s-16 7.2-16 16v16h-64V16c0-8.8-7.2-16-16-16s-16 7.2-16 16v16h-64V16c0-8.8-7.2-16-16-16s-16 7.2-16 16v16h-64V16c0-8.8-7.2-16-16-16S96 7.2 96 16v112H80c-8.8 0-16 7.2-16 16v80H48c-8.8 0-16 7.2-16 16v112H16c-8.8 0-16 7.2-16 16v128c0 8.8 7.2 16 16 16h80V352h32V224h32v-96h32v96h-32v128h-32v160h80v-80c0-8.8 7.2-16 16-16h64c8.8 0 16 7.2 16 16v80h80V352h-32V224h-32v-96h32v96h32v128h32v160h80c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16zM232 176c0-8.8 7.2-16 16-16h16c8.8 0 16 7.2 16 16v48h-48zm56 176h-64v-64c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaGraduationCap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M622.34 153.2L343.4 67.5c-15.2-4.67-31.6-4.67-46.79 0L17.66 153.2c-23.54 7.23-23.54 38.36 0 45.59l48.63 14.94c-10.67 13.19-17.23 29.28-17.88 46.9C38.78 266.15 32 276.11 32 288c0 10.78 5.68 19.85 13.86 25.65L20.33 428.53C18.11 438.52 25.71 448 35.94 448h56.11c10.24 0 17.84-9.48 15.62-19.47L82.14 313.65C90.32 307.85 96 298.78 96 288c0-11.57-6.47-21.25-15.66-26.87.76-15.02 8.44-28.3 20.69-36.72L296.6 284.5c9.06 2.78 26.44 6.25 46.79 0l278.95-85.7c23.55-7.24 23.55-38.36 0-45.6zM352.79 315.09c-28.53 8.76-52.84 3.92-65.59 0l-145.02-44.55L128 384c0 35.35 85.96 64 192 64s192-28.65 192-64l-14.18-113.47-145.03 44.56z\"},\"child\":[]}]})(props);\n};\nexport function FaGreaterThanEqual (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M55.22 107.69l175.56 68.09-175.44 68.05c-18.39 6.03-27.88 24.39-21.2 41l12.09 30.08c6.68 16.61 26.99 25.19 45.38 19.15L393.02 214.2c13.77-4.52 22.98-16.61 22.98-30.17v-15.96c0-13.56-9.21-25.65-22.98-30.17L91.3 17.92c-18.29-6-38.51 2.53-45.15 19.06L34.12 66.9c-6.64 16.53 2.81 34.79 21.1 40.79zM424 400H24c-13.25 0-24 10.74-24 24v48c0 13.25 10.75 24 24 24h400c13.25 0 24-10.75 24-24v-48c0-13.26-10.75-24-24-24z\"},\"child\":[]}]})(props);\n};\nexport function FaGreaterThan (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M365.52 209.85L59.22 67.01c-16.06-7.49-35.15-.54-42.64 15.52L3.01 111.61c-7.49 16.06-.54 35.15 15.52 42.64L236.96 256.1 18.49 357.99C2.47 365.46-4.46 384.5 3.01 400.52l13.52 29C24 445.54 43.04 452.47 59.06 445l306.47-142.91a32.003 32.003 0 0 0 18.48-29v-34.23c-.01-12.45-7.21-23.76-18.49-29.01z\"},\"child\":[]}]})(props);\n};\nexport function FaGrimace (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM144 400h-8c-17.7 0-32-14.3-32-32v-8h40v40zm0-56h-40v-8c0-17.7 14.3-32 32-32h8v40zm-8-136c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm72 192h-48v-40h48v40zm0-56h-48v-40h48v40zm64 56h-48v-40h48v40zm0-56h-48v-40h48v40zm64 56h-48v-40h48v40zm0-56h-48v-40h48v40zm-8-104c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm64 128c0 17.7-14.3 32-32 32h-8v-40h40v8zm0-24h-40v-40h8c17.7 0 32 14.3 32 32v8z\"},\"child\":[]}]})(props);\n};\nexport function FaGrinAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm63.7 128.7c7.6-11.4 24.7-11.7 32.7 0 12.4 18.4 15.1 36.9 15.7 55.3-.5 18.4-3.3 36.9-15.7 55.3-7.6 11.4-24.7 11.7-32.7 0-12.4-18.4-15.1-36.9-15.7-55.3.5-18.4 3.3-36.9 15.7-55.3zm-160 0c7.6-11.4 24.7-11.7 32.7 0 12.4 18.4 15.1 36.9 15.7 55.3-.5 18.4-3.3 36.9-15.7 55.3-7.6 11.4-24.7 11.7-32.7 0-12.4-18.4-15.1-36.9-15.7-55.3.5-18.4 3.3-36.9 15.7-55.3zM248 432c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.3-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z\"},\"child\":[]}]})(props);\n};\nexport function FaGrinBeamSweat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 504 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M456 128c26.5 0 48-21 48-47 0-20-28.5-60.4-41.6-77.8-3.2-4.3-9.6-4.3-12.8 0C436.5 20.6 408 61 408 81c0 26 21.5 47 48 47zm0 32c-44.1 0-80-35.4-80-79 0-4.4.3-14.2 8.1-32.2C345 23.1 298.3 8 248 8 111 8 0 119 0 256s111 248 248 248 248-111 248-248c0-35.1-7.4-68.4-20.5-98.6-6.3 1.5-12.7 2.6-19.5 2.6zm-128-8c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 12-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.1 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm-160 0c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 12-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm80 280c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.3-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.5-3.7 22.6 6.2 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z\"},\"child\":[]}]})(props);\n};\nexport function FaGrinBeam (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 144c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.1 7.3-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm-160 0c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm80 280c-60.6 0-134.5-38.3-143.8-93.3-2-11.9 9.4-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z\"},\"child\":[]}]})(props);\n};\nexport function FaGrinHearts (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM90.4 183.6c6.7-17.6 26.7-26.7 44.9-21.9l7.1 1.9 2-7.1c5-18.1 22.8-30.9 41.5-27.9 21.4 3.4 34.4 24.2 28.8 44.5L195.3 243c-1.2 4.5-5.9 7.2-10.5 6l-70.2-18.2c-20.4-5.4-31.9-27-24.2-47.2zM248 432c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.2-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.6 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3zm133.4-201.3l-70.2 18.2c-4.5 1.2-9.2-1.5-10.5-6L281.3 173c-5.6-20.3 7.4-41.1 28.8-44.5 18.6-3 36.4 9.8 41.5 27.9l2 7.1 7.1-1.9c18.2-4.7 38.2 4.3 44.9 21.9 7.7 20.3-3.8 41.9-24.2 47.2z\"},\"child\":[]}]})(props);\n};\nexport function FaGrinSquintTears (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M409.6 111.9c22.6-3.2 73.5-12 88.3-26.8 19.2-19.2 18.9-50.6-.7-70.2S446-5 426.9 14.2c-14.8 14.8-23.5 65.7-26.8 88.3-.8 5.5 3.9 10.2 9.5 9.4zM102.4 400.1c-22.6 3.2-73.5 12-88.3 26.8-19.1 19.1-18.8 50.6.8 70.2s51 19.9 70.2.7c14.8-14.8 23.5-65.7 26.8-88.3.8-5.5-3.9-10.2-9.5-9.4zm311.7-256.5c-33 3.9-48.6-25.1-45.7-45.7 3.4-24 7.4-42.1 11.5-56.5C285.1-13.4 161.8-.5 80.6 80.6-.5 161.7-13.4 285 41.4 379.9c14.4-4.1 32.4-8 56.5-11.5 33.2-3.9 48.6 25.2 45.7 45.7-3.4 24-7.4 42.1-11.5 56.5 94.8 54.8 218.1 41.9 299.3-39.2s94-204.4 39.2-299.3c-14.4 4.1-32.5 8-56.5 11.5zM255.7 106c3.3-13.2 22.4-11.5 23.6 1.8l4.8 52.3 52.3 4.8c13.4 1.2 14.9 20.3 1.8 23.6l-90.5 22.6c-8.9 2.2-16.7-5.9-14.5-14.5l22.5-90.6zm-90.9 230.3L160 284l-52.3-4.8c-13.4-1.2-14.9-20.3-1.8-23.6l90.5-22.6c8.8-2.2 16.7 5.8 14.5 14.5L188.3 338c-3.1 13.2-22.2 11.7-23.5-1.7zm215.7 44.2c-29.3 29.3-75.7 50.4-116.7 50.4-18.9 0-36.6-4.5-51-14.7-9.8-6.9-8.7-21.8 2-27.2 28.3-14.6 63.9-42.4 97.8-76.3s61.7-69.6 76.3-97.8c5.4-10.5 20.2-11.9 27.3-2 32.3 45.3 7.1 124.7-35.7 167.6z\"},\"child\":[]}]})(props);\n};\nexport function FaGrinSquint (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm33.8 189.7l80-48c11.6-6.9 24 7.7 15.4 18L343.6 208l33.6 40.3c8.7 10.4-3.9 24.8-15.4 18l-80-48c-7.7-4.7-7.7-15.9 0-20.6zm-163-30c-8.6-10.3 3.8-24.9 15.4-18l80 48c7.8 4.7 7.8 15.9 0 20.6l-80 48c-11.5 6.8-24-7.6-15.4-18l33.6-40.3-33.6-40.3zM248 432c-60.6 0-134.5-38.3-143.8-93.3-2-11.9 9.4-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.5-3.7 22.6 6.2 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z\"},\"child\":[]}]})(props);\n};\nexport function FaGrinStars (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM94.6 168.9l34.9-5 15.5-31.6c2.9-5.8 11-5.8 13.9 0l15.5 31.6 34.9 5c6.2 1 8.9 8.6 4.3 13.2l-25.4 24.6 6 34.9c1 6.2-5.3 11-11 7.9L152 233.3l-31.3 16.3c-5.7 3.1-12-1.7-11-7.9l6-34.9-25.4-24.6c-4.6-4.7-1.9-12.3 4.3-13.3zM248 432c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.3-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.5-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3zm157.7-249.9l-25.4 24.6 6 34.9c1 6.2-5.3 11-11 7.9L344 233.3l-31.3 16.3c-5.7 3.1-12-1.7-11-7.9l6-34.9-25.4-24.6c-4.5-4.6-1.9-12.2 4.3-13.2l34.9-5 15.5-31.6c2.9-5.8 11-5.8 13.9 0l15.5 31.6 34.9 5c6.3.9 9 8.5 4.4 13.1z\"},\"child\":[]}]})(props);\n};\nexport function FaGrinTears (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M102.4 256.1c-22.6 3.2-73.5 12-88.3 26.8-19.1 19.1-18.8 50.6.8 70.2s51 19.9 70.2.7c14.8-14.8 23.5-65.7 26.8-88.3.8-5.5-3.9-10.2-9.5-9.4zm523.4 26.8c-14.8-14.8-65.7-23.5-88.3-26.8-5.5-.8-10.3 3.9-9.5 9.5 3.2 22.6 12 73.5 26.8 88.3 19.2 19.2 50.6 18.9 70.2-.7s20-51.2.8-70.3zm-129.4-12.8c-3.8-26.6 19.1-49.5 45.7-45.7 8.9 1.3 16.8 2.7 24.3 4.1C552.7 104.5 447.7 8 320 8S87.3 104.5 73.6 228.5c7.5-1.4 15.4-2.8 24.3-4.1 33.2-3.9 48.6 25.3 45.7 45.7-11.8 82.3-29.9 100.4-35.8 106.4-.9.9-2 1.6-3 2.5 42.7 74.6 123 125 215.2 125s172.5-50.4 215.2-125.1c-1-.9-2.1-1.5-3-2.5-5.9-5.9-24-24-35.8-106.3zM400 152c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 12-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm-160 0c23.8 0 52.7 29.3 56 71.4.7 8.6-10.8 12-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.1-42.1 32-71.4 55.8-71.4zm80 280c-60.6 0-134.5-38.3-143.8-93.3-2-11.7 9.2-21.6 20.7-17.9C227.1 330.5 272 336 320 336s92.9-5.5 123.1-15.2c11.4-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z\"},\"child\":[]}]})(props);\n};\nexport function FaGrinTongueSquint (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M293.1 374.6c-14.4-6.5-31.1 2.2-34.6 17.6l-1.8 7.8c-2.1 9.2-15.2 9.2-17.3 0l-1.8-7.8c-3.5-15.4-20.2-24.1-34.6-17.6-.9.4.3-.2-18.9 9.4v63c0 35.2 28 64.5 63.1 64.9 35.7.5 64.9-28.4 64.9-64v-64c-19.5-9.6-18.2-8.9-19-9.3zM248 8C111 8 0 119 0 256c0 106.3 67 196.7 161 232-5.6-12.2-9-25.7-9-40v-45.5c-24.7-16.2-43.5-38.1-47.8-63.8-2-11.8 9.2-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.7 22.6 6.1 20.7 17.9-4.3 25.7-23.1 47.6-47.8 63.8V448c0 14.3-3.4 27.8-9 40 94-35.3 161-125.7 161-232C496 119 385 8 248 8zm-33.8 210.3l-80 48c-11.5 6.8-24-7.6-15.4-18l33.6-40.3-33.6-40.3c-8.6-10.3 3.8-24.9 15.4-18l80 48c7.7 4.7 7.7 15.9 0 20.6zm163 30c8.7 10.4-3.9 24.8-15.4 18l-80-48c-7.8-4.7-7.8-15.9 0-20.6l80-48c11.7-6.9 23.9 7.7 15.4 18L343.6 208l33.6 40.3z\"},\"child\":[]}]})(props);\n};\nexport function FaGrinTongueWink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M344 184c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zM248 8C111 8 0 119 0 256c0 106.3 67 196.7 161 232-5.6-12.2-9-25.7-9-40v-45.5c-24.7-16.2-43.5-38.1-47.8-63.8-2-11.8 9.3-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.5-3.7 22.6 6.1 20.7 17.9-4.3 25.7-23.1 47.6-47.8 63.8V448c0 14.3-3.4 27.8-9 40 94-35.3 161-125.7 161-232C496 119 385 8 248 8zm-56 225l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L112 233c-8.5 7.4-21.6.3-19.8-10.8 4-25.2 34.2-42.1 59.9-42.1S208 197 212 222.2c1.6 11.1-11.6 18.2-20 10.8zm152 39c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64zm-50.9 102.6c-14.4-6.5-31.1 2.2-34.6 17.6l-1.8 7.8c-2.1 9.2-15.2 9.2-17.3 0l-1.8-7.8c-3.5-15.4-20.2-24.1-34.6-17.6-.9.4.3-.2-18.9 9.4v63c0 35.2 28 64.5 63.1 64.9 35.7.5 64.9-28.4 64.9-64v-64c-19.5-9.6-18.2-8.9-19-9.3z\"},\"child\":[]}]})(props);\n};\nexport function FaGrinTongue (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256c0 106.3 67 196.7 161 232-5.6-12.2-9-25.7-9-40v-45.5c-24.7-16.2-43.5-38.1-47.8-63.8-2-11.8 9.3-21.5 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.4-3.6 22.6 6.1 20.7 17.9-4.3 25.7-23.1 47.6-47.8 63.8V448c0 14.3-3.4 27.8-9 40 94-35.3 161-125.7 161-232C496 119 385 8 248 8zm-80 232c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm160 0c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm-34.9 134.6c-14.4-6.5-31.1 2.2-34.6 17.6l-1.8 7.8c-2.1 9.2-15.2 9.2-17.3 0l-1.8-7.8c-3.5-15.4-20.2-24.1-34.6-17.6-.9.4.3-.2-18.9 9.4v63c0 35.2 28 64.5 63.1 64.9 35.7.5 64.9-28.4 64.9-64v-64c-19.5-9.6-18.2-8.9-19-9.3z\"},\"child\":[]}]})(props);\n};\nexport function FaGrinWink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 256c0 137 111 248 248 248s248-111 248-248S385 8 248 8 0 119 0 256zm200-48c0 17.7-14.3 32-32 32s-32-14.3-32-32 14.3-32 32-32 32 14.3 32 32zm168 25l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L288 233c-8.3 7.4-21.6.4-19.8-10.8 4-25.2 34.2-42.1 59.9-42.1S384 197 388 222.2c1.6 11-11.5 18.2-20 10.8zm-243.1 87.8C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.3-3.7 22.6 6 20.7 17.9-9.2 55-83.2 93.3-143.8 93.3s-134.5-38.3-143.8-93.3c-2-11.9 9.3-21.6 20.7-17.9z\"},\"child\":[]}]})(props);\n};\nexport function FaGrin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm-160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm80 256c-60.6 0-134.5-38.3-143.8-93.3-2-11.8 9.3-21.6 20.7-17.9C155.1 330.5 200 336 248 336s92.9-5.5 123.1-15.2c11.3-3.7 22.6 6.1 20.7 17.9-9.3 55-83.2 93.3-143.8 93.3z\"},\"child\":[]}]})(props);\n};\nexport function FaGripHorizontal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M96 288H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160 0h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160 0h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zM96 96H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160 0h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm160 0h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaGripLinesVertical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 256 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M96 496V16c0-8.8-7.2-16-16-16H48c-8.8 0-16 7.2-16 16v480c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16zm128 0V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v480c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaGripLines (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496 288H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-128H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaGripVertical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M96 32H32C14.33 32 0 46.33 0 64v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32zm0 160H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm0 160H32c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zM288 32h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32zm0 160h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32zm0 160h-64c-17.67 0-32 14.33-32 32v64c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-64c0-17.67-14.33-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaGuitar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M502.63 39L473 9.37a32 32 0 0 0-45.26 0L381.46 55.7a35.14 35.14 0 0 0-8.53 13.79L360.77 106l-76.26 76.26c-12.16-8.76-25.5-15.74-40.1-19.14-33.45-7.78-67-.88-89.88 22a82.45 82.45 0 0 0-20.24 33.47c-6 18.56-23.21 32.69-42.15 34.46-23.7 2.27-45.73 11.45-62.61 28.44C-16.11 327-7.9 409 47.58 464.45S185 528 230.56 482.52c17-16.88 26.16-38.9 28.45-62.71 1.76-18.85 15.89-36.13 34.43-42.14a82.6 82.6 0 0 0 33.48-20.25c22.87-22.88 29.74-56.36 22-89.75-3.39-14.64-10.37-28-19.16-40.2L406 151.23l36.48-12.16a35.14 35.14 0 0 0 13.79-8.53l46.33-46.32a32 32 0 0 0 .03-45.22zM208 352a48 48 0 1 1 48-48 48 48 0 0 1-48 48z\"},\"child\":[]}]})(props);\n};\nexport function FaHSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 80v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48zm-112 48h-32c-8.837 0-16 7.163-16 16v80H160v-80c0-8.837-7.163-16-16-16h-32c-8.837 0-16 7.163-16 16v224c0 8.837 7.163 16 16 16h32c8.837 0 16-7.163 16-16v-80h128v80c0 8.837 7.163 16 16 16h32c8.837 0 16-7.163 16-16V144c0-8.837-7.163-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaHamburger (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 256H48a48 48 0 0 0 0 96h416a48 48 0 0 0 0-96zm16 128H32a16 16 0 0 0-16 16v16a64 64 0 0 0 64 64h352a64 64 0 0 0 64-64v-16a16 16 0 0 0-16-16zM58.64 224h394.72c34.57 0 54.62-43.9 34.82-75.88C448 83.2 359.55 32.1 256 32c-103.54.1-192 51.2-232.18 116.11C4 180.09 24.07 224 58.64 224zM384 112a16 16 0 1 1-16 16 16 16 0 0 1 16-16zM256 80a16 16 0 1 1-16 16 16 16 0 0 1 16-16zm-128 32a16 16 0 1 1-16 16 16 16 0 0 1 16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaHammer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M571.31 193.94l-22.63-22.63c-6.25-6.25-16.38-6.25-22.63 0l-11.31 11.31-28.9-28.9c5.63-21.31.36-44.9-16.35-61.61l-45.25-45.25c-62.48-62.48-163.79-62.48-226.28 0l90.51 45.25v18.75c0 16.97 6.74 33.25 18.75 45.25l49.14 49.14c16.71 16.71 40.3 21.98 61.61 16.35l28.9 28.9-11.31 11.31c-6.25 6.25-6.25 16.38 0 22.63l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0l90.51-90.51c6.23-6.24 6.23-16.37-.02-22.62zm-286.72-15.2c-3.7-3.7-6.84-7.79-9.85-11.95L19.64 404.96c-25.57 23.88-26.26 64.19-1.53 88.93s65.05 24.05 88.93-1.53l238.13-255.07c-3.96-2.91-7.9-5.87-11.44-9.41l-49.14-49.14z\"},\"child\":[]}]})(props);\n};\nexport function FaHamsa (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M509.34 307.25C504.28 295.56 492.75 288 480 288h-64V80c0-22-18-40-40-40s-40 18-40 40v134c0 5.52-4.48 10-10 10h-20c-5.52 0-10-4.48-10-10V40c0-22-18-40-40-40s-40 18-40 40v174c0 5.52-4.48 10-10 10h-20c-5.52 0-10-4.48-10-10V80c0-22-18-40-40-40S96 58 96 80v208H32c-12.75 0-24.28 7.56-29.34 19.25a31.966 31.966 0 0 0 5.94 34.58l102.69 110.03C146.97 490.08 199.69 512 256 512s109.03-21.92 144.72-60.14L503.4 341.83a31.966 31.966 0 0 0 5.94-34.58zM256 416c-53.02 0-96-64-96-64s42.98-64 96-64 96 64 96 64-42.98 64-96 64zm0-96c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaHandHoldingHeart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M275.3 250.5c7 7.4 18.4 7.4 25.5 0l108.9-114.2c31.6-33.2 29.8-88.2-5.6-118.8-30.8-26.7-76.7-21.9-104.9 7.7L288 36.9l-11.1-11.6C248.7-4.4 202.8-9.2 172 17.5c-35.3 30.6-37.2 85.6-5.6 118.8l108.9 114.2zm290 77.6c-11.8-10.7-30.2-10-42.6 0L430.3 402c-11.3 9.1-25.4 14-40 14H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h78.3c15.9 0 30.7-10.9 33.3-26.6 3.3-20-12.1-37.4-31.6-37.4H192c-27 0-53.1 9.3-74.1 26.3L71.4 384H16c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h356.8c14.5 0 28.6-4.9 40-14L564 377c15.2-12.1 16.4-35.3 1.3-48.9z\"},\"child\":[]}]})(props);\n};\nexport function FaHandHoldingMedical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M159.88,175.82h64v64a16,16,0,0,0,16,16h64a16,16,0,0,0,16-16v-64h64a16,16,0,0,0,16-16v-64a16,16,0,0,0-16-16h-64v-64a16,16,0,0,0-16-16h-64a16,16,0,0,0-16,16v64h-64a16,16,0,0,0-16,16v64A16,16,0,0,0,159.88,175.82ZM568.07,336.13a39.91,39.91,0,0,0-55.93-8.47L392.47,415.84H271.86a16,16,0,0,1,0-32H350.1c16,0,30.75-10.87,33.37-26.61a32.06,32.06,0,0,0-31.62-37.38h-160a117.7,117.7,0,0,0-74.12,26.25l-46.5,37.74H15.87a16.11,16.11,0,0,0-16,16v96a16.11,16.11,0,0,0,16,16h347a104.8,104.8,0,0,0,61.7-20.27L559.6,392A40,40,0,0,0,568.07,336.13Z\"},\"child\":[]}]})(props);\n};\nexport function FaHandHoldingUsd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M271.06,144.3l54.27,14.3a8.59,8.59,0,0,1,6.63,8.1c0,4.6-4.09,8.4-9.12,8.4h-35.6a30,30,0,0,1-11.19-2.2c-5.24-2.2-11.28-1.7-15.3,2l-19,17.5a11.68,11.68,0,0,0-2.25,2.66,11.42,11.42,0,0,0,3.88,15.74,83.77,83.77,0,0,0,34.51,11.5V240c0,8.8,7.83,16,17.37,16h17.37c9.55,0,17.38-7.2,17.38-16V222.4c32.93-3.6,57.84-31,53.5-63-3.15-23-22.46-41.3-46.56-47.7L282.68,97.4a8.59,8.59,0,0,1-6.63-8.1c0-4.6,4.09-8.4,9.12-8.4h35.6A30,30,0,0,1,332,83.1c5.23,2.2,11.28,1.7,15.3-2l19-17.5A11.31,11.31,0,0,0,368.47,61a11.43,11.43,0,0,0-3.84-15.78,83.82,83.82,0,0,0-34.52-11.5V16c0-8.8-7.82-16-17.37-16H295.37C285.82,0,278,7.2,278,16V33.6c-32.89,3.6-57.85,31-53.51,63C227.63,119.6,247,137.9,271.06,144.3ZM565.27,328.1c-11.8-10.7-30.2-10-42.6,0L430.27,402a63.64,63.64,0,0,1-40,14H272a16,16,0,0,1,0-32h78.29c15.9,0,30.71-10.9,33.25-26.6a31.2,31.2,0,0,0,.46-5.46A32,32,0,0,0,352,320H192a117.66,117.66,0,0,0-74.1,26.29L71.4,384H16A16,16,0,0,0,0,400v96a16,16,0,0,0,16,16H372.77a64,64,0,0,0,40-14L564,377a32,32,0,0,0,1.28-48.9Z\"},\"child\":[]}]})(props);\n};\nexport function FaHandHoldingWater (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 256c53 0 96-42.1 96-94 0-40-57.1-120.7-83.2-155.6-6.4-8.5-19.2-8.5-25.6 0C249.1 41.3 192 122 192 162c0 51.9 43 94 96 94zm277.3 72.1c-11.8-10.7-30.2-10-42.6 0L430.3 402c-11.3 9.1-25.4 14-40 14H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h78.3c15.9 0 30.7-10.9 33.3-26.6 3.3-20-12.1-37.4-31.6-37.4H192c-27 0-53.1 9.3-74.1 26.3L71.4 384H16c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h356.8c14.5 0 28.6-4.9 40-14L564 377c15.2-12.1 16.4-35.3 1.3-48.9z\"},\"child\":[]}]})(props);\n};\nexport function FaHandHolding (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M565.3 328.1c-11.8-10.7-30.2-10-42.6 0L430.3 402c-11.3 9.1-25.4 14-40 14H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h78.3c15.9 0 30.7-10.9 33.3-26.6 3.3-20-12.1-37.4-31.6-37.4H192c-27 0-53.1 9.3-74.1 26.3L71.4 384H16c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16h356.8c14.5 0 28.6-4.9 40-14L564 377c15.2-12.1 16.4-35.3 1.3-48.9z\"},\"child\":[]}]})(props);\n};\nexport function FaHandLizard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 480h192V363.778a95.998 95.998 0 0 0-14.833-51.263L398.127 54.368A48 48 0 0 0 357.544 32H24C10.745 32 0 42.745 0 56v16c0 30.928 25.072 56 56 56h229.981c12.844 0 21.556 13.067 16.615 24.923l-21.41 51.385A32 32 0 0 1 251.648 224H128c-35.346 0-64 28.654-64 64v8c0 13.255 10.745 24 24 24h147.406a47.995 47.995 0 0 1 25.692 7.455l111.748 70.811A24.001 24.001 0 0 1 384 418.539V480z\"},\"child\":[]}]})(props);\n};\nexport function FaHandMiddleFinger (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M479.93 317.12a37.33 37.33 0 0 0-28.28-36.19L416 272v-49.59c0-11.44-9.69-21.29-23.15-23.54l-38.4-6.4C336.63 189.5 320 200.86 320 216v32a8 8 0 0 1-16 0V50c0-26.28-20.25-49.2-46.52-50A48 48 0 0 0 208 48v200a8 8 0 0 1-16 0v-32c0-15.15-16.63-26.51-34.45-23.54l-30.68 5.12c-18 3-30.87 16.12-30.87 31.38V376a8 8 0 0 1-16 0v-76l-27.36 15A37.34 37.34 0 0 0 32 348.4v73.47a37.31 37.31 0 0 0 10.93 26.39l30.93 30.93A112 112 0 0 0 153.05 512h215A112 112 0 0 0 480 400z\"},\"child\":[]}]})(props);\n};\nexport function FaHandPaper (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M408.781 128.007C386.356 127.578 368 146.36 368 168.79V256h-8V79.79c0-22.43-18.356-41.212-40.781-40.783C297.488 39.423 280 57.169 280 79v177h-8V40.79C272 18.36 253.644-.422 231.219.007 209.488.423 192 18.169 192 40v216h-8V80.79c0-22.43-18.356-41.212-40.781-40.783C121.488 40.423 104 58.169 104 80v235.992l-31.648-43.519c-12.993-17.866-38.009-21.817-55.877-8.823-17.865 12.994-21.815 38.01-8.822 55.877l125.601 172.705A48 48 0 0 0 172.073 512h197.59c22.274 0 41.622-15.324 46.724-37.006l26.508-112.66a192.011 192.011 0 0 0 5.104-43.975V168c.001-21.831-17.487-39.577-39.218-39.993z\"},\"child\":[]}]})(props);\n};\nexport function FaHandPeace (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M408 216c-22.092 0-40 17.909-40 40h-8v-32c0-22.091-17.908-40-40-40s-40 17.909-40 40v32h-8V48c0-26.51-21.49-48-48-48s-48 21.49-48 48v208h-13.572L92.688 78.449C82.994 53.774 55.134 41.63 30.461 51.324 5.787 61.017-6.356 88.877 3.337 113.551l74.765 190.342-31.09 24.872c-15.381 12.306-19.515 33.978-9.741 51.081l64 112A39.998 39.998 0 0 0 136 512h240c18.562 0 34.686-12.77 38.937-30.838l32-136A39.97 39.97 0 0 0 448 336v-80c0-22.091-17.908-40-40-40z\"},\"child\":[]}]})(props);\n};\nexport function FaHandPointDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M91.826 467.2V317.966c-8.248 5.841-16.558 10.57-24.918 14.153C35.098 345.752-.014 322.222 0 288c.008-18.616 10.897-32.203 29.092-40 28.286-12.122 64.329-78.648 77.323-107.534 7.956-17.857 25.479-28.453 43.845-28.464l.001-.002h171.526c11.812 0 21.897 8.596 23.703 20.269 7.25 46.837 38.483 61.76 38.315 123.731-.007 2.724.195 13.254.195 16 0 50.654-22.122 81.574-71.263 72.6-9.297 18.597-39.486 30.738-62.315 16.45-21.177 24.645-53.896 22.639-70.944 6.299V467.2c0 24.15-20.201 44.8-43.826 44.8-23.283 0-43.826-21.35-43.826-44.8zM112 72V24c0-13.255 10.745-24 24-24h192c13.255 0 24 10.745 24 24v48c0 13.255-10.745 24-24 24H136c-13.255 0-24-10.745-24-24zm212-24c0-11.046-8.954-20-20-20s-20 8.954-20 20 8.954 20 20 20 20-8.954 20-20z\"},\"child\":[]}]})(props);\n};\nexport function FaHandPointLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M44.8 155.826h149.234c-5.841-8.248-10.57-16.558-14.153-24.918C166.248 99.098 189.778 63.986 224 64c18.616.008 32.203 10.897 40 29.092 12.122 28.286 78.648 64.329 107.534 77.323 17.857 7.956 28.453 25.479 28.464 43.845l.002.001v171.526c0 11.812-8.596 21.897-20.269 23.703-46.837 7.25-61.76 38.483-123.731 38.315-2.724-.007-13.254.195-16 .195-50.654 0-81.574-22.122-72.6-71.263-18.597-9.297-30.738-39.486-16.45-62.315-24.645-21.177-22.639-53.896-6.299-70.944H44.8c-24.15 0-44.8-20.201-44.8-43.826 0-23.283 21.35-43.826 44.8-43.826zM440 176h48c13.255 0 24 10.745 24 24v192c0 13.255-10.745 24-24 24h-48c-13.255 0-24-10.745-24-24V200c0-13.255 10.745-24 24-24zm24 212c11.046 0 20-8.954 20-20s-8.954-20-20-20-20 8.954-20 20 8.954 20 20 20z\"},\"child\":[]}]})(props);\n};\nexport function FaHandPointRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 199.652c0 23.625-20.65 43.826-44.8 43.826h-99.851c16.34 17.048 18.346 49.766-6.299 70.944 14.288 22.829 2.147 53.017-16.45 62.315C353.574 425.878 322.654 448 272 448c-2.746 0-13.276-.203-16-.195-61.971.168-76.894-31.065-123.731-38.315C120.596 407.683 112 397.599 112 385.786V214.261l.002-.001c.011-18.366 10.607-35.889 28.464-43.845 28.886-12.994 95.413-49.038 107.534-77.323 7.797-18.194 21.384-29.084 40-29.092 34.222-.014 57.752 35.098 44.119 66.908-3.583 8.359-8.312 16.67-14.153 24.918H467.2c23.45 0 44.8 20.543 44.8 43.826zM96 200v192c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V200c0-13.255 10.745-24 24-24h48c13.255 0 24 10.745 24 24zM68 368c0-11.046-8.954-20-20-20s-20 8.954-20 20 8.954 20 20 20 20-8.954 20-20z\"},\"child\":[]}]})(props);\n};\nexport function FaHandPointUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M135.652 0c23.625 0 43.826 20.65 43.826 44.8v99.851c17.048-16.34 49.766-18.346 70.944 6.299 22.829-14.288 53.017-2.147 62.315 16.45C361.878 158.426 384 189.346 384 240c0 2.746-.203 13.276-.195 16 .168 61.971-31.065 76.894-38.315 123.731C343.683 391.404 333.599 400 321.786 400H150.261l-.001-.002c-18.366-.011-35.889-10.607-43.845-28.464C93.421 342.648 57.377 276.122 29.092 264 10.897 256.203.008 242.616 0 224c-.014-34.222 35.098-57.752 66.908-44.119 8.359 3.583 16.67 8.312 24.918 14.153V44.8c0-23.45 20.543-44.8 43.826-44.8zM136 416h192c13.255 0 24 10.745 24 24v48c0 13.255-10.745 24-24 24H136c-13.255 0-24-10.745-24-24v-48c0-13.255 10.745-24 24-24zm168 28c-11.046 0-20 8.954-20 20s8.954 20 20 20 20-8.954 20-20-8.954-20-20-20z\"},\"child\":[]}]})(props);\n};\nexport function FaHandPointer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 240v96c0 3.084-.356 6.159-1.063 9.162l-32 136C410.686 499.23 394.562 512 376 512H168a40.004 40.004 0 0 1-32.35-16.473l-127.997-176c-12.993-17.866-9.043-42.883 8.822-55.876 17.867-12.994 42.884-9.043 55.877 8.823L104 315.992V40c0-22.091 17.908-40 40-40s40 17.909 40 40v200h8v-40c0-22.091 17.908-40 40-40s40 17.909 40 40v40h8v-24c0-22.091 17.908-40 40-40s40 17.909 40 40v24h8c0-22.091 17.908-40 40-40s40 17.909 40 40zm-256 80h-8v96h8v-96zm88 0h-8v96h8v-96zm88 0h-8v96h8v-96z\"},\"child\":[]}]})(props);\n};\nexport function FaHandRock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464.8 80c-26.9-.4-48.8 21.2-48.8 48h-8V96.8c0-26.3-20.9-48.3-47.2-48.8-26.9-.4-48.8 21.2-48.8 48v32h-8V80.8c0-26.3-20.9-48.3-47.2-48.8-26.9-.4-48.8 21.2-48.8 48v48h-8V96.8c0-26.3-20.9-48.3-47.2-48.8-26.9-.4-48.8 21.2-48.8 48v136l-8-7.1v-48.1c0-26.3-20.9-48.3-47.2-48.8C21.9 127.6 0 149.2 0 176v66.4c0 27.4 11.7 53.5 32.2 71.8l111.7 99.3c10.2 9.1 16.1 22.2 16.1 35.9v6.7c0 13.3 10.7 24 24 24h240c13.3 0 24-10.7 24-24v-2.9c0-12.8 2.6-25.5 7.5-37.3l49-116.3c5-11.8 7.5-24.5 7.5-37.3V128.8c0-26.3-20.9-48.4-47.2-48.8z\"},\"child\":[]}]})(props);\n};\nexport function FaHandScissors (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M216 440c0-22.092 17.909-40 40-40v-8h-32c-22.091 0-40-17.908-40-40s17.909-40 40-40h32v-8H48c-26.51 0-48-21.49-48-48s21.49-48 48-48h208v-13.572l-177.551-69.74c-24.674-9.694-36.818-37.555-27.125-62.228 9.693-24.674 37.554-36.817 62.228-27.124l190.342 74.765 24.872-31.09c12.306-15.381 33.978-19.515 51.081-9.741l112 64A40.002 40.002 0 0 1 512 168v240c0 18.562-12.77 34.686-30.838 38.937l-136 32A39.982 39.982 0 0 1 336 480h-80c-22.091 0-40-17.908-40-40z\"},\"child\":[]}]})(props);\n};\nexport function FaHandSparkles (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M106.66,170.64l.09,0,49.55-20.65a7.32,7.32,0,0,0,3.68-6h0a7.29,7.29,0,0,0-3.68-6l-49.57-20.67-.07,0L86,67.68a6.66,6.66,0,0,0-11.92,0l-20.7,49.63-.05,0L3.7,138A7.29,7.29,0,0,0,0,144H0a7.32,7.32,0,0,0,3.68,6L53.27,170.6l.07,0L74,220.26a6.65,6.65,0,0,0,11.92,0l20.69-49.62ZM471.38,467.41l-1-.42-1-.5a38.67,38.67,0,0,1,0-69.14l1-.49,1-.43,37.49-15.63,15.63-37.48.41-1,.47-.95c3.85-7.74,10.58-13.63,18.35-17.34,0-1.33.25-2.69.27-4V144a32,32,0,0,0-64,0v72a8,8,0,0,1-8,8H456a8,8,0,0,1-8-8V64a32,32,0,0,0-64,0V216a8,8,0,0,1-8,8H360a8,8,0,0,1-8-8V32a32,32,0,0,0-64,0V216a8,8,0,0,1-8,8H264a8,8,0,0,1-8-8V64a32,32,0,0,0-64,0v241l-23.59-32.49a40,40,0,0,0-64.71,47.09L229.3,492.21A48.07,48.07,0,0,0,268.09,512H465.7c19.24,0,35.65-11.73,43.24-28.79l-.07-.17ZM349.79,339.52,320,351.93l-12.42,29.78a4,4,0,0,1-7.15,0L288,351.93l-29.79-12.41a4,4,0,0,1,0-7.16L288,319.94l12.42-29.78a4,4,0,0,1,7.15,0L320,319.94l29.79,12.42a4,4,0,0,1,0,7.16ZM640,431.91a7.28,7.28,0,0,0-3.68-6l-49.57-20.67-.07,0L566,355.63a6.66,6.66,0,0,0-11.92,0l-20.7,49.63-.05,0L483.7,426a7.28,7.28,0,0,0-3.68,6h0a7.29,7.29,0,0,0,3.68,5.95l49.57,20.67.07,0L554,508.21a6.65,6.65,0,0,0,11.92,0l20.69-49.62h0l.09,0,49.55-20.66a7.29,7.29,0,0,0,3.68-5.95h0Z\"},\"child\":[]}]})(props);\n};\nexport function FaHandSpock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M510.9005,145.27027,442.604,432.09391A103.99507,103.99507,0,0,1,341.43745,512H214.074a135.96968,135.96968,0,0,1-93.18489-36.95291L12.59072,373.12723a39.992,39.992,0,0,1,54.8122-58.24988l60.59342,57.02528v0a283.24849,283.24849,0,0,0-11.6703-80.46734L73.63726,147.36011a40.00575,40.00575,0,1,1,76.71833-22.7187l37.15458,125.39477a8.33113,8.33113,0,0,0,16.05656-4.4414L153.26183,49.95406A39.99638,39.99638,0,1,1,230.73015,30.0166l56.09491,218.15825a10.42047,10.42047,0,0,0,20.30018-.501L344.80766,63.96966a40.052,40.052,0,0,1,51.30245-30.0893c19.86073,6.2998,30.86262,27.67378,26.67564,48.08487l-33.83869,164.966a7.55172,7.55172,0,0,0,14.74406,3.2666l29.3973-123.45874a39.99414,39.99414,0,1,1,77.81208,18.53121Z\"},\"child\":[]}]})(props);\n};\nexport function FaHandsHelping (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M488 192H336v56c0 39.7-32.3 72-72 72s-72-32.3-72-72V126.4l-64.9 39C107.8 176.9 96 197.8 96 220.2v47.3l-80 46.2C.7 322.5-4.6 342.1 4.3 357.4l80 138.6c8.8 15.3 28.4 20.5 43.7 11.7L231.4 448H368c35.3 0 64-28.7 64-64h16c17.7 0 32-14.3 32-32v-64h8c13.3 0 24-10.7 24-24v-48c0-13.3-10.7-24-24-24zm147.7-37.4L555.7 16C546.9.7 527.3-4.5 512 4.3L408.6 64H306.4c-12 0-23.7 3.4-33.9 9.7L239 94.6c-9.4 5.8-15 16.1-15 27.1V248c0 22.1 17.9 40 40 40s40-17.9 40-40v-88h184c30.9 0 56 25.1 56 56v28.5l80-46.2c15.3-8.9 20.5-28.4 11.7-43.7z\"},\"child\":[]}]})(props);\n};\nexport function FaHandsWash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496,224a48,48,0,1,0-48-48A48,48,0,0,0,496,224ZM311.47,178.45A56.77,56.77,0,0,1,328,176a56,56,0,0,1,19,3.49l15.35-48.61A24,24,0,0,0,342,99.74c-11.53-1.35-22.21,6.44-25.71,17.51l-20.9,66.17ZM93.65,386.33c.8-.19,1.54-.54,2.35-.71V359.93a156,156,0,0,1,107.06-148l73.7-22.76L310.92,81.05a24,24,0,0,0-20.33-31.11c-11.53-1.34-22.22,6.45-25.72,17.52L231.42,173.88a8,8,0,0,1-15.26-4.83L259.53,31.26A24,24,0,0,0,239.2.15C227.67-1.19,217,6.6,213.49,17.66L165.56,169.37a8,8,0,1,1-15.26-4.82l38.56-122a24,24,0,0,0-20.33-31.11C157,10,146.32,17.83,142.82,28.9l-60,189.85L80.76,168.7A24,24,0,0,0,56.9,144.55c-13.23-.05-24.72,10.54-24.9,23.86V281.14A123.69,123.69,0,0,0,93.65,386.33ZM519.1,336H360a8,8,0,0,1,0-16H488a24,24,0,0,0,23.54-28.76C509.35,279.84,498.71,272,487.1,272H288l47.09-17.06a24,24,0,0,0-14.18-45.88L213.19,242.31A123.88,123.88,0,0,0,128,360v25.65a79.78,79.78,0,0,1,58,108.63A118.9,118.9,0,0,0,248,512H456a24,24,0,0,0,23.54-28.76C477.35,471.84,466.71,464,455.1,464H360a8,8,0,0,1,0-16H488a24,24,0,0,0,23.54-28.76C509.35,407.84,498.71,400,487.1,400H360a8,8,0,0,1,0-16H520a24,24,0,0,0,23.54-28.76C541.35,343.84,530.71,336,519.1,336ZM416,64a32,32,0,1,0-32-32A32,32,0,0,0,416,64ZM112,416a48,48,0,1,0,48,48A48,48,0,0,0,112,416Z\"},\"child\":[]}]})(props);\n};\nexport function FaHands (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M204.8 230.4c-10.6-14.1-30.7-17-44.8-6.4-14.1 10.6-17 30.7-6.4 44.8l38.1 50.8c4.8 6.4 4.1 15.3-1.5 20.9l-12.8 12.8c-6.7 6.7-17.6 6.2-23.6-1.1L64 244.4V96c0-17.7-14.3-32-32-32S0 78.3 0 96v218.4c0 10.9 3.7 21.5 10.5 30l104.1 134.3c5 6.5 8.4 13.9 10.4 21.7 1.8 6.9 8.1 11.6 15.3 11.6H272c8.8 0 16-7.2 16-16V384c0-27.7-9-54.6-25.6-76.8l-57.6-76.8zM608 64c-17.7 0-32 14.3-32 32v148.4l-89.8 107.8c-6 7.2-17 7.7-23.6 1.1l-12.8-12.8c-5.6-5.6-6.3-14.5-1.5-20.9l38.1-50.8c10.6-14.1 7.7-34.2-6.4-44.8-14.1-10.6-34.2-7.7-44.8 6.4l-57.6 76.8C361 329.4 352 356.3 352 384v112c0 8.8 7.2 16 16 16h131.7c7.1 0 13.5-4.7 15.3-11.6 2-7.8 5.4-15.2 10.4-21.7l104.1-134.3c6.8-8.5 10.5-19.1 10.5-30V96c0-17.7-14.3-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaHandshakeAltSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M358.59,195.6,504.2,313.8a63.4,63.4,0,0,1,22.21,37.91H624a16.05,16.05,0,0,0,16-16V143.91A16,16,0,0,0,624,128H512L457.41,73.41A32,32,0,0,0,434.8,64H348.91a32,32,0,0,0-21.61,8.41l-88.12,80.68-25.69-19.85L289.09,64H205.3a32,32,0,0,0-22.6,9.41l-20.34,20.3L45.47,3.38A16,16,0,0,0,23,6.19L3.38,31.46A16,16,0,0,0,6.19,53.91L594.54,508.63A16,16,0,0,0,617,505.82l19.64-25.27a16,16,0,0,0-2.81-22.45L303.4,202.72l32.69-29.92,27-24.7a16,16,0,0,1,21.61,23.61ZM16,128A16.05,16.05,0,0,0,0,144V335.91a16,16,0,0,0,16,16H146.3l90.5,81.89a64,64,0,0,0,90-9.3l.2-.2,17.91,15.5a37.16,37.16,0,0,0,52.29-5.39l8.8-10.82L23.56,128Z\"},\"child\":[]}]})(props);\n};\nexport function FaHandshakeSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0,128.21V384H64a32,32,0,0,0,32-32V184L23.83,128.21ZM48,320.1a16,16,0,1,1-16,16A16,16,0,0,1,48,320.1Zm80,31.81h18.3l90.5,81.89a64,64,0,0,0,90-9.3l.2-.2,17.91,15.5a37.16,37.16,0,0,0,52.29-5.39l8.8-10.82L128,208.72Zm416-223.7V352.1a32,32,0,0,0,32,32h64V128.21ZM592,352.1a16,16,0,1,1,16-16A16,16,0,0,1,592,352.1ZM303.33,202.67l59.58-54.57a16,16,0,0,1,21.59,23.61L358.41,195.6,504,313.8a73.08,73.08,0,0,1,7.91,7.7V128L457.3,73.41A31.76,31.76,0,0,0,434.7,64H348.8a31.93,31.93,0,0,0-21.6,8.41l-88.07,80.64-25.64-19.81L289.09,64H205.3a32,32,0,0,0-22.6,9.41L162.36,93.72,45.47,3.38A16,16,0,0,0,23,6.19L3.38,31.46A16,16,0,0,0,6.19,53.91L594.53,508.63A16,16,0,0,0,617,505.82l19.65-25.27a16,16,0,0,0-2.82-22.45Z\"},\"child\":[]}]})(props);\n};\nexport function FaHandshake (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M434.7 64h-85.9c-8 0-15.7 3-21.6 8.4l-98.3 90c-.1.1-.2.3-.3.4-16.6 15.6-16.3 40.5-2.1 56 12.7 13.9 39.4 17.6 56.1 2.7.1-.1.3-.1.4-.2l79.9-73.2c6.5-5.9 16.7-5.5 22.6 1 6 6.5 5.5 16.6-1 22.6l-26.1 23.9L504 313.8c2.9 2.4 5.5 5 7.9 7.7V128l-54.6-54.6c-5.9-6-14.1-9.4-22.6-9.4zM544 128.2v223.9c0 17.7 14.3 32 32 32h64V128.2h-96zm48 223.9c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zM0 384h64c17.7 0 32-14.3 32-32V128.2H0V384zm48-63.9c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16c0-8.9 7.2-16 16-16zm435.9 18.6L334.6 217.5l-30 27.5c-29.7 27.1-75.2 24.5-101.7-4.4-26.9-29.4-24.8-74.9 4.4-101.7L289.1 64h-83.8c-8.5 0-16.6 3.4-22.6 9.4L128 128v223.9h18.3l90.5 81.9c27.4 22.3 67.7 18.1 90-9.3l.2-.2 17.9 15.5c15.9 13 39.4 10.5 52.3-5.4l31.4-38.6 5.4 4.4c13.7 11.1 33.9 9.1 45-4.7l9.5-11.7c11.2-13.8 9.1-33.9-4.6-45.1z\"},\"child\":[]}]})(props);\n};\nexport function FaHanukiah (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M232 160c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm-64 0c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm224 0c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm64 0c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm88 8c0-4.42-3.58-8-8-8h-16c-4.42 0-8 3.58-8 8v120h32V168zm-440-8c-4.42 0-8 3.58-8 8v120h32V168c0-4.42-3.58-8-8-8h-16zm520 0h-32c-8.84 0-16 7.16-16 16v112c0 17.67-14.33 32-32 32H352V128c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v192H96c-17.67 0-32-14.33-32-32V176c0-8.84-7.16-16-16-16H16c-8.84 0-16 7.16-16 16v112c0 53.02 42.98 96 96 96h192v64H112c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16H352v-64h192c53.02 0 96-42.98 96-96V176c0-8.84-7.16-16-16-16zm-16-32c13.25 0 24-11.94 24-26.67S608 48 608 48s-24 38.61-24 53.33S594.75 128 608 128zm-576 0c13.25 0 24-11.94 24-26.67S32 48 32 48 8 86.61 8 101.33 18.75 128 32 128zm288-48c13.25 0 24-11.94 24-26.67S320 0 320 0s-24 38.61-24 53.33S306.75 80 320 80zm-208 48c13.25 0 24-11.94 24-26.67S112 48 112 48s-24 38.61-24 53.33S98.75 128 112 128zm64 0c13.25 0 24-11.94 24-26.67S176 48 176 48s-24 38.61-24 53.33S162.75 128 176 128zm64 0c13.25 0 24-11.94 24-26.67S240 48 240 48s-24 38.61-24 53.33S226.75 128 240 128zm160 0c13.25 0 24-11.94 24-26.67S400 48 400 48s-24 38.61-24 53.33S386.75 128 400 128zm64 0c13.25 0 24-11.94 24-26.67S464 48 464 48s-24 38.61-24 53.33S450.75 128 464 128zm64 0c13.25 0 24-11.94 24-26.67S528 48 528 48s-24 38.61-24 53.33S514.75 128 528 128z\"},\"child\":[]}]})(props);\n};\nexport function FaHardHat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M480 288c0-80.25-49.28-148.92-119.19-177.62L320 192V80a16 16 0 0 0-16-16h-96a16 16 0 0 0-16 16v112l-40.81-81.62C81.28 139.08 32 207.75 32 288v64h448zm16 96H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h480a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaHashtag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M440.667 182.109l7.143-40c1.313-7.355-4.342-14.109-11.813-14.109h-74.81l14.623-81.891C377.123 38.754 371.468 32 363.997 32h-40.632a12 12 0 0 0-11.813 9.891L296.175 128H197.54l14.623-81.891C213.477 38.754 207.822 32 200.35 32h-40.632a12 12 0 0 0-11.813 9.891L132.528 128H53.432a12 12 0 0 0-11.813 9.891l-7.143 40C33.163 185.246 38.818 192 46.289 192h74.81L98.242 320H19.146a12 12 0 0 0-11.813 9.891l-7.143 40C-1.123 377.246 4.532 384 12.003 384h74.81L72.19 465.891C70.877 473.246 76.532 480 84.003 480h40.632a12 12 0 0 0 11.813-9.891L151.826 384h98.634l-14.623 81.891C234.523 473.246 240.178 480 247.65 480h40.632a12 12 0 0 0 11.813-9.891L315.472 384h79.096a12 12 0 0 0 11.813-9.891l7.143-40c1.313-7.355-4.342-14.109-11.813-14.109h-74.81l22.857-128h79.096a12 12 0 0 0 11.813-9.891zM261.889 320h-98.634l22.857-128h98.634l-22.857 128z\"},\"child\":[]}]})(props);\n};\nexport function FaHatCowboySide (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M260.8 291.06c-28.63-22.94-62-35.06-96.4-35.06C87 256 21.47 318.72 1.43 412.06c-3.55 16.6-.43 33.83 8.57 47.3C18.75 472.47 31.83 480 45.88 480H592c-103.21 0-155-37.07-233.19-104.46zm234.65-18.29L468.4 116.2A64 64 0 0 0 392 64.41L200.85 105a64 64 0 0 0-50.35 55.79L143.61 226c6.9-.83 13.7-2 20.79-2 41.79 0 82 14.55 117.29 42.82l98 84.48C450.76 412.54 494.9 448 592 448a48 48 0 0 0 48-48c0-25.39-29.6-119.33-144.55-127.23z\"},\"child\":[]}]})(props);\n};\nexport function FaHatCowboy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M490 296.9C480.51 239.51 450.51 64 392.3 64c-14 0-26.49 5.93-37 14a58.21 58.21 0 0 1-70.58 0c-10.51-8-23-14-37-14-58.2 0-88.2 175.47-97.71 232.88C188.81 309.47 243.73 320 320 320s131.23-10.51 170-23.1zm142.9-37.18a16 16 0 0 0-19.75 1.5c-1 .9-101.27 90.78-293.16 90.78-190.82 0-292.22-89.94-293.24-90.84A16 16 0 0 0 1 278.53C1.73 280.55 78.32 480 320 480s318.27-199.45 319-201.47a16 16 0 0 0-6.09-18.81z\"},\"child\":[]}]})(props);\n};\nexport function FaHatWizard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-304-64l-64-32 64-32 32-64 32 64 64 32-64 32-16 32h208l-86.41-201.63a63.955 63.955 0 0 1-1.89-45.45L416 0 228.42 107.19a127.989 127.989 0 0 0-53.46 59.15L64 416h144l-16-32zm64-224l16-32 16 32 32 16-32 16-16 32-16-32-32-16 32-16z\"},\"child\":[]}]})(props);\n};\nexport function FaHdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M576 304v96c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48v-96c0-26.51 21.49-48 48-48h480c26.51 0 48 21.49 48 48zm-48-80a79.557 79.557 0 0 1 30.777 6.165L462.25 85.374A48.003 48.003 0 0 0 422.311 64H153.689a48 48 0 0 0-39.938 21.374L17.223 230.165A79.557 79.557 0 0 1 48 224h480zm-48 96c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm-96 0c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaHeadSideCoughSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M454.11,319.21c19.56-3.81,31.62-25,23.11-44.21-21-47.12-48.5-151.75-73.12-186.75A208.13,208.13,0,0,0,234.1,0H192A190.64,190.64,0,0,0,84.18,33.3L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.46A16,16,0,0,0,6.18,53.91L594.53,508.63A16,16,0,0,0,617,505.82l19.64-25.27a16,16,0,0,0-2.81-22.45ZM313.39,210.45,263.61,172c5.88-7.14,14.43-12,24.36-12a32.06,32.06,0,0,1,32,32C320,199,317.24,205.17,313.39,210.45ZM616,304a24,24,0,1,0-24-24A24,24,0,0,0,616,304Zm-64,64a24,24,0,1,0-24-24A24,24,0,0,0,552,368ZM288,384a32,32,0,0,1,32-32h19.54L20.73,105.59A190.86,190.86,0,0,0,0,192c0,56.75,24.75,107.62,64,142.88V512H288V480h64a64,64,0,0,0,64-64H320A32,32,0,0,1,288,384Zm328-24a24,24,0,1,0,24,24A24,24,0,0,0,616,360Z\"},\"child\":[]}]})(props);\n};\nexport function FaHeadSideCough (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M616,304a24,24,0,1,0-24-24A24,24,0,0,0,616,304ZM552,416a24,24,0,1,0,24,24A24,24,0,0,0,552,416Zm-64-56a24,24,0,1,0,24,24A24,24,0,0,0,488,360ZM616,464a24,24,0,1,0,24,24A24,24,0,0,0,616,464Zm0-104a24,24,0,1,0,24,24A24,24,0,0,0,616,360Zm-64-40a24,24,0,1,0,24,24A24,24,0,0,0,552,320Zm-74.78-45c-21-47.12-48.5-151.75-73.12-186.75A208.13,208.13,0,0,0,234.1,0H192C86,0,0,86,0,192c0,56.75,24.75,107.62,64,142.88V512H288V480h64a64,64,0,0,0,64-64H320a32,32,0,0,1,0-64h96V320h32A32,32,0,0,0,477.22,275ZM288,224a32,32,0,1,1,32-32A32.07,32.07,0,0,1,288,224Z\"},\"child\":[]}]})(props);\n};\nexport function FaHeadSideMask (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M.15,184.42C-2.17,244.21,23,298.06,64,334.88V512H224V316.51L3.67,156.25A182.28,182.28,0,0,0,.15,184.42ZM509.22,275c-21-47.12-48.5-151.75-73.12-186.75A208.11,208.11,0,0,0,266.11,0H200C117,0,42.48,50.57,13.25,123.65L239.21,288H511.76A31.35,31.35,0,0,0,509.22,275ZM320,224a32,32,0,1,1,32-32A32.07,32.07,0,0,1,320,224Zm16,144H496l16-48H256V512H401.88a64,64,0,0,0,60.71-43.76L464,464H336a16,16,0,0,1,0-32H474.67l10.67-32H336a16,16,0,0,1,0-32Z\"},\"child\":[]}]})(props);\n};\nexport function FaHeadSideVirus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M272,240a16,16,0,1,0,16,16A16,16,0,0,0,272,240Zm-64-64a16,16,0,1,0,16,16A16,16,0,0,0,208,176Zm301.2,99c-20.93-47.12-48.43-151.73-73.07-186.75A207.9,207.9,0,0,0,266.09,0H192C86,0,0,86,0,192A191.23,191.23,0,0,0,64,334.81V512H320V448h64a64,64,0,0,0,64-64V320H480A32,32,0,0,0,509.2,275ZM368,240H355.88c-28.51,0-42.79,34.47-22.63,54.63l8.58,8.57a16,16,0,1,1-22.63,22.63l-8.57-8.58C290.47,297.09,256,311.37,256,339.88V352a16,16,0,0,1-32,0V339.88c0-28.51-34.47-42.79-54.63-22.63l-8.57,8.58a16,16,0,0,1-22.63-22.63l8.58-8.57c20.16-20.16,5.88-54.63-22.63-54.63H112a16,16,0,0,1,0-32h12.12c28.51,0,42.79-34.47,22.63-54.63l-8.58-8.57a16,16,0,0,1,22.63-22.63l8.57,8.58c20.16,20.16,54.63,5.88,54.63-22.63V96a16,16,0,0,1,32,0v12.12c0,28.51,34.47,42.79,54.63,22.63l8.57-8.58a16,16,0,0,1,22.63,22.63l-8.58,8.57C313.09,173.53,327.37,208,355.88,208H368a16,16,0,0,1,0,32Z\"},\"child\":[]}]})(props);\n};\nexport function FaHeading (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 96v320h32a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16H320a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32V288H160v128h32a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16H32a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h32V96H32a16 16 0 0 1-16-16V48a16 16 0 0 1 16-16h160a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16h-32v128h192V96h-32a16 16 0 0 1-16-16V48a16 16 0 0 1 16-16h160a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaHeadphonesAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M160 288h-16c-35.35 0-64 28.7-64 64.12v63.76c0 35.41 28.65 64.12 64 64.12h16c17.67 0 32-14.36 32-32.06V320.06c0-17.71-14.33-32.06-32-32.06zm208 0h-16c-17.67 0-32 14.35-32 32.06v127.88c0 17.7 14.33 32.06 32 32.06h16c35.35 0 64-28.71 64-64.12v-63.76c0-35.41-28.65-64.12-64-64.12zM256 32C112.91 32 4.57 151.13 0 288v112c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16V288c0-114.67 93.33-207.8 208-207.82 114.67.02 208 93.15 208 207.82v112c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16V288C507.43 151.13 399.09 32 256 32z\"},\"child\":[]}]})(props);\n};\nexport function FaHeadphones (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 32C114.52 32 0 146.496 0 288v48a32 32 0 0 0 17.689 28.622l14.383 7.191C34.083 431.903 83.421 480 144 480h24c13.255 0 24-10.745 24-24V280c0-13.255-10.745-24-24-24h-24c-31.342 0-59.671 12.879-80 33.627V288c0-105.869 86.131-192 192-192s192 86.131 192 192v1.627C427.671 268.879 399.342 256 368 256h-24c-13.255 0-24 10.745-24 24v176c0 13.255 10.745 24 24 24h24c60.579 0 109.917-48.098 111.928-108.187l14.382-7.191A32 32 0 0 0 512 336v-48c0-141.479-114.496-256-256-256z\"},\"child\":[]}]})(props);\n};\nexport function FaHeadset (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M192 208c0-17.67-14.33-32-32-32h-16c-35.35 0-64 28.65-64 64v48c0 35.35 28.65 64 64 64h16c17.67 0 32-14.33 32-32V208zm176 144c35.35 0 64-28.65 64-64v-48c0-35.35-28.65-64-64-64h-16c-17.67 0-32 14.33-32 32v112c0 17.67 14.33 32 32 32h16zM256 0C113.18 0 4.58 118.83 0 256v16c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-16c0-114.69 93.31-208 208-208s208 93.31 208 208h-.12c.08 2.43.12 165.72.12 165.72 0 23.35-18.93 42.28-42.28 42.28H320c0-26.51-21.49-48-48-48h-32c-26.51 0-48 21.49-48 48s21.49 48 48 48h181.72c49.86 0 90.28-40.42 90.28-90.28V256C507.42 118.83 398.82 0 256 0z\"},\"child\":[]}]})(props);\n};\nexport function FaHeartBroken (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M473.7 73.8l-2.4-2.5c-46-47-118-51.7-169.6-14.8L336 159.9l-96 64 48 128-144-144 96-64-28.6-86.5C159.7 19.6 87 24 40.7 71.4l-2.4 2.4C-10.4 123.6-12.5 202.9 31 256l212.1 218.6c7.1 7.3 18.6 7.3 25.7 0L481 255.9c43.5-53 41.4-132.3-7.3-182.1z\"},\"child\":[]}]})(props);\n};\nexport function FaHeart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M462.3 62.6C407.5 15.9 326 24.3 275.7 76.2L256 96.5l-19.7-20.3C186.1 24.3 104.5 15.9 49.7 62.6c-62.8 53.6-66.1 149.8-9.9 207.9l193.5 199.8c12.5 12.9 32.8 12.9 45.3 0l193.5-199.8c56.3-58.1 53-154.3-9.8-207.9z\"},\"child\":[]}]})(props);\n};\nexport function FaHeartbeat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M320.2 243.8l-49.7 99.4c-6 12.1-23.4 11.7-28.9-.6l-56.9-126.3-30 71.7H60.6l182.5 186.5c7.1 7.3 18.6 7.3 25.7 0L451.4 288H342.3l-22.1-44.2zM473.7 73.9l-2.4-2.5c-51.5-52.6-135.8-52.6-187.4 0L256 100l-27.9-28.5c-51.5-52.7-135.9-52.7-187.4 0l-2.4 2.4C-10.4 123.7-12.5 203 31 256h102.4l35.9-86.2c5.4-12.9 23.6-13.2 29.4-.4l58.2 129.3 49-97.9c5.9-11.8 22.7-11.8 28.6 0l27.6 55.2H481c43.5-53 41.4-132.3-7.3-182.1z\"},\"child\":[]}]})(props);\n};\nexport function FaHelicopter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M304 384h272c17.67 0 32-14.33 32-32 0-123.71-100.29-224-224-224V64h176c8.84 0 16-7.16 16-16V16c0-8.84-7.16-16-16-16H144c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h176v64H112L68.8 70.4C65.78 66.37 61.03 64 56 64H16.01C5.6 64-2.04 73.78.49 83.88L32 192l160 64 86.4 115.2A31.992 31.992 0 0 0 304 384zm112-188.49C478.55 208.3 528.03 257.44 540.79 320H416V195.51zm219.37 263.3l-22.15-22.2c-6.25-6.26-16.24-6.1-22.64.01-7.09 6.77-13.84 11.25-24.64 11.25H240c-8.84 0-16 7.18-16 16.03v32.06c0 8.85 7.16 16.03 16 16.03h325.94c14.88 0 35.3-.47 68.45-29.52 7.02-6.14 7.57-17.05.98-23.66z\"},\"child\":[]}]})(props);\n};\nexport function FaHighlighter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 544 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 479.98L99.92 512l35.45-35.45-67.04-67.04L0 479.98zm124.61-240.01a36.592 36.592 0 0 0-10.79 38.1l13.05 42.83-50.93 50.94 96.23 96.23 50.86-50.86 42.74 13.08c13.73 4.2 28.65-.01 38.15-10.78l35.55-41.64-173.34-173.34-41.52 35.44zm403.31-160.7l-63.2-63.2c-20.49-20.49-53.38-21.52-75.12-2.35L190.55 183.68l169.77 169.78L530.27 154.4c19.18-21.74 18.15-54.63-2.35-75.13z\"},\"child\":[]}]})(props);\n};\nexport function FaHiking (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M80.95 472.23c-4.28 17.16 6.14 34.53 23.28 38.81 2.61.66 5.22.95 7.8.95 14.33 0 27.37-9.7 31.02-24.23l25.24-100.97-52.78-52.78-34.56 138.22zm14.89-196.12L137 117c2.19-8.42-3.14-16.95-11.92-19.06-43.88-10.52-88.35 15.07-99.32 57.17L.49 253.24c-2.19 8.42 3.14 16.95 11.92 19.06l63.56 15.25c8.79 2.1 17.68-3.02 19.87-11.44zM368 160h-16c-8.84 0-16 7.16-16 16v16h-34.75l-46.78-46.78C243.38 134.11 228.61 128 212.91 128c-27.02 0-50.47 18.3-57.03 44.52l-26.92 107.72a32.012 32.012 0 0 0 8.42 30.39L224 397.25V480c0 17.67 14.33 32 32 32s32-14.33 32-32v-82.75c0-17.09-6.66-33.16-18.75-45.25l-46.82-46.82c.15-.5.49-.89.62-1.41l19.89-79.57 22.43 22.43c6 6 14.14 9.38 22.62 9.38h48v240c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16V176c.01-8.84-7.15-16-15.99-16zM240 96c26.51 0 48-21.49 48-48S266.51 0 240 0s-48 21.49-48 48 21.49 48 48 48z\"},\"child\":[]}]})(props);\n};\nexport function FaHippo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M581.12 96.2c-27.67-.15-52.5 17.58-76.6 26.62C489.98 88.27 455.83 64 416 64c-11.28 0-21.95 2.3-32 5.88V56c0-13.26-10.75-24-24-24h-16c-13.25 0-24 10.74-24 24v48.98C286.01 79.58 241.24 64 192 64 85.96 64 0 135.64 0 224v240c0 8.84 7.16 16 16 16h64c8.84 0 16-7.16 16-16v-70.79C128.35 407.57 166.72 416 208 416s79.65-8.43 112-22.79V464c0 8.84 7.16 16 16 16h64c8.84 0 16-7.16 16-16V288h128v32c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-32c17.67 0 32-14.33 32-32v-92.02c0-34.09-24.79-67.59-58.88-67.78zM448 176c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaHistory (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M504 255.531c.253 136.64-111.18 248.372-247.82 248.468-59.015.042-113.223-20.53-155.822-54.911-11.077-8.94-11.905-25.541-1.839-35.607l11.267-11.267c8.609-8.609 22.353-9.551 31.891-1.984C173.062 425.135 212.781 440 256 440c101.705 0 184-82.311 184-184 0-101.705-82.311-184-184-184-48.814 0-93.149 18.969-126.068 49.932l50.754 50.754c10.08 10.08 2.941 27.314-11.313 27.314H24c-8.837 0-16-7.163-16-16V38.627c0-14.254 17.234-21.393 27.314-11.314l49.372 49.372C129.209 34.136 189.552 8 256 8c136.81 0 247.747 110.78 248 247.531zm-180.912 78.784l9.823-12.63c8.138-10.463 6.253-25.542-4.21-33.679L288 256.349V152c0-13.255-10.745-24-24-24h-16c-13.255 0-24 10.745-24 24v135.651l65.409 50.874c10.463 8.137 25.541 6.253 33.679-4.21z\"},\"child\":[]}]})(props);\n};\nexport function FaHockeyPuck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 160c0-53 114.6-96 256-96s256 43 256 96-114.6 96-256 96S0 213 0 160zm0 82.2V352c0 53 114.6 96 256 96s256-43 256-96V242.2c-113.4 82.3-398.5 82.4-512 0z\"},\"child\":[]}]})(props);\n};\nexport function FaHollyBerry (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M144 192c26.5 0 48-21.5 48-48s-21.5-48-48-48-48 21.5-48 48 21.5 48 48 48zm112-48c0 26.5 21.5 48 48 48s48-21.5 48-48-21.5-48-48-48-48 21.5-48 48zm-32-48c26.5 0 48-21.5 48-48S250.5 0 224 0s-48 21.5-48 48 21.5 48 48 48zm-16.2 139.1c.1-12.4-13.1-20.1-23.8-13.7-34.3 20.3-71.4 32.7-108.7 36.2-9.7.9-15.6 11.3-11.6 20.2 6.2 13.9 11.1 28.6 14.7 43.8 3.6 15.2-5.3 30.6-20.2 35.1-14.9 4.5-30.1 7.6-45.3 9.1-9.7 1-15.7 11.3-11.7 20.2 15 32.8 22.9 69.5 23 107.7.1 14.4 15.2 23.1 27.6 16 33.2-19 68.9-30.5 104.8-33.9 9.7-.9 15.6-11.3 11.6-20.2-6.2-13.9-11.1-28.6-14.7-43.8-3.6-15.2 5.3-30.6 20.2-35.1 14.9-4.5 30.1-7.6 45.3-9.1 9.7-1 15.7-11.3 11.7-20.2-15.5-34.2-23.3-72.5-22.9-112.3zM435 365.6c-15.2-1.6-30.3-4.7-45.3-9.1-14.9-4.5-23.8-19.9-20.2-35.1 3.6-15.2 8.5-29.8 14.7-43.8 4-8.9-1.9-19.3-11.6-20.2-37.3-3.5-74.4-15.9-108.7-36.2-10.7-6.3-23.9 1.4-23.8 13.7 0 1.6-.2 3.2-.2 4.9.2 33.3 7 65.7 19.9 94 5.7 12.4 5.2 26.6-.6 38.9 4.9 1.2 9.9 2.2 14.8 3.7 14.9 4.5 23.8 19.9 20.2 35.1-3.6 15.2-8.5 29.8-14.7 43.8-4 8.9 1.9 19.3 11.6 20.2 35.9 3.4 71.6 14.9 104.8 33.9 12.5 7.1 27.6-1.6 27.6-16 .2-38.2 8-75 23-107.7 4.3-8.7-1.8-19.1-11.5-20.1z\"},\"child\":[]}]})(props);\n};\nexport function FaHome (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M280.37 148.26L96 300.11V464a16 16 0 0 0 16 16l112.06-.29a16 16 0 0 0 15.92-16V368a16 16 0 0 1 16-16h64a16 16 0 0 1 16 16v95.64a16 16 0 0 0 16 16.05L464 480a16 16 0 0 0 16-16V300L295.67 148.26a12.19 12.19 0 0 0-15.3 0zM571.6 251.47L488 182.56V44.05a12 12 0 0 0-12-12h-56a12 12 0 0 0-12 12v72.61L318.47 43a48 48 0 0 0-61 0L4.34 251.47a12 12 0 0 0-1.6 16.9l25.5 31A12 12 0 0 0 45.15 301l235.22-193.74a12.19 12.19 0 0 1 15.3 0L530.9 301a12 12 0 0 0 16.9-1.6l25.5-31a12 12 0 0 0-1.7-16.93z\"},\"child\":[]}]})(props);\n};\nexport function FaHorseHead (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M509.8 332.5l-69.9-164.3c-14.9-41.2-50.4-71-93-79.2 18-10.6 46.3-35.9 34.2-82.3-1.3-5-7.1-7.9-12-6.1L166.9 76.3C35.9 123.4 0 238.9 0 398.8V480c0 17.7 14.3 32 32 32h236.2c23.8 0 39.3-25 28.6-46.3L256 384v-.7c-45.6-3.5-84.6-30.7-104.3-69.6-1.6-3.1-.9-6.9 1.6-9.3l12.1-12.1c3.9-3.9 10.6-2.7 12.9 2.4 14.8 33.7 48.2 57.4 87.4 57.4 17.2 0 33-5.1 46.8-13.2l46 63.9c6 8.4 15.7 13.3 26 13.3h50.3c8.5 0 16.6-3.4 22.6-9.4l45.3-39.8c8.9-9.1 11.7-22.6 7.1-34.4zM328 224c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24z\"},\"child\":[]}]})(props);\n};\nexport function FaHorse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M575.92 76.6c-.01-8.13-3.02-15.87-8.58-21.8-3.78-4.03-8.58-9.12-13.69-14.5 11.06-6.84 19.5-17.49 22.18-30.66C576.85 4.68 572.96 0 567.9 0H447.92c-70.69 0-128 57.31-128 128H160c-28.84 0-54.4 12.98-72 33.11V160c-48.53 0-88 39.47-88 88v56c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-56c0-13.22 6.87-24.39 16.78-31.68-.21 2.58-.78 5.05-.78 7.68 0 27.64 11.84 52.36 30.54 69.88l-25.72 68.6a63.945 63.945 0 0 0-2.16 37.99l24.85 99.41A15.982 15.982 0 0 0 107.02 512h65.96c10.41 0 18.05-9.78 15.52-19.88l-26.31-105.26 23.84-63.59L320 345.6V496c0 8.84 7.16 16 16 16h64c8.84 0 16-7.16 16-16V318.22c19.74-20.19 32-47.75 32-78.22 0-.22-.07-.42-.08-.64V136.89l16 7.11 18.9 37.7c7.45 14.87 25.05 21.55 40.49 15.37l32.55-13.02a31.997 31.997 0 0 0 20.12-29.74l-.06-77.71zm-64 19.4c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaHospitalAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M544 96H416V32c0-17.7-14.3-32-32-32H192c-17.7 0-32 14.3-32 32v64H32c-17.7 0-32 14.3-32 32v368c0 8.8 7.2 16 16 16h544c8.8 0 16-7.2 16-16V128c0-17.7-14.3-32-32-32zM160 436c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-128c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm160 128c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-128c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm16-170c0 3.3-2.7 6-6 6h-26v26c0 3.3-2.7 6-6 6h-20c-3.3 0-6-2.7-6-6v-26h-26c-3.3 0-6-2.7-6-6v-20c0-3.3 2.7-6 6-6h26V86c0-3.3 2.7-6 6-6h20c3.3 0 6 2.7 6 6v26h26c3.3 0 6 2.7 6 6v20zm144 298c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-128c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40z\"},\"child\":[]}]})(props);\n};\nexport function FaHospitalSymbol (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256 256-114.6 256-256S397.4 0 256 0zm112 376c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-88h-96v88c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V136c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v88h96v-88c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v240z\"},\"child\":[]}]})(props);\n};\nexport function FaHospitalUser (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M480 320a96 96 0 1 0-96-96 96 96 0 0 0 96 96zm48 32a22.88 22.88 0 0 0-7.06 1.09 124.76 124.76 0 0 1-81.89 0A22.82 22.82 0 0 0 432 352a112 112 0 0 0-112 112.62c.14 26.26 21.73 47.38 48 47.38h224c26.27 0 47.86-21.12 48-47.38A112 112 0 0 0 528 352zm-198.09 10.45A145.19 145.19 0 0 1 352 344.62V128a32 32 0 0 0-32-32h-32V32a32 32 0 0 0-32-32H96a32 32 0 0 0-32 32v64H32a32 32 0 0 0-32 32v368a16 16 0 0 0 16 16h288.31A78.62 78.62 0 0 1 288 464.79a143.06 143.06 0 0 1 41.91-102.34zM144 404a12 12 0 0 1-12 12H92a12 12 0 0 1-12-12v-40a12 12 0 0 1 12-12h40a12 12 0 0 1 12 12zm0-128a12 12 0 0 1-12 12H92a12 12 0 0 1-12-12v-40a12 12 0 0 1 12-12h40a12 12 0 0 1 12 12zm48-122a6 6 0 0 1-6 6h-20a6 6 0 0 1-6-6v-26h-26a6 6 0 0 1-6-6v-20a6 6 0 0 1 6-6h26V70a6 6 0 0 1 6-6h20a6 6 0 0 1 6 6v26h26a6 6 0 0 1 6 6v20a6 6 0 0 1-6 6h-26zm80 250a12 12 0 0 1-12 12h-40a12 12 0 0 1-12-12v-40a12 12 0 0 1 12-12h40a12 12 0 0 1 12 12zm0-128a12 12 0 0 1-12 12h-40a12 12 0 0 1-12-12v-40a12 12 0 0 1 12-12h40a12 12 0 0 1 12 12z\"},\"child\":[]}]})(props);\n};\nexport function FaHospital (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 492v20H0v-20c0-6.627 5.373-12 12-12h20V120c0-13.255 10.745-24 24-24h88V24c0-13.255 10.745-24 24-24h112c13.255 0 24 10.745 24 24v72h88c13.255 0 24 10.745 24 24v360h20c6.627 0 12 5.373 12 12zM308 192h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12zm-168 64h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12zm104 128h-40c-6.627 0-12 5.373-12 12v84h64v-84c0-6.627-5.373-12-12-12zm64-96h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12zm-116 12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40zM182 96h26v26a6 6 0 0 0 6 6h20a6 6 0 0 0 6-6V96h26a6 6 0 0 0 6-6V70a6 6 0 0 0-6-6h-26V38a6 6 0 0 0-6-6h-20a6 6 0 0 0-6 6v26h-26a6 6 0 0 0-6 6v20a6 6 0 0 0 6 6z\"},\"child\":[]}]})(props);\n};\nexport function FaHotTub (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M414.21 177.65c1.02 8.21 7.75 14.35 15.75 14.35h16.12c9.51 0 17.08-8.57 16-18.35-4.34-39.11-22.4-74.53-50.13-97.16-17.37-14.17-28.82-36.75-31.98-62.15C378.96 6.14 372.22 0 364.23 0h-16.12c-9.51 0-17.09 8.57-16 18.35 4.34 39.11 22.4 74.53 50.13 97.16 17.36 14.17 28.82 36.75 31.97 62.14zm-108 0c1.02 8.21 7.75 14.35 15.75 14.35h16.12c9.51 0 17.08-8.57 16-18.35-4.34-39.11-22.4-74.53-50.13-97.16-17.37-14.17-28.82-36.75-31.98-62.15C270.96 6.14 264.22 0 256.23 0h-16.12c-9.51 0-17.09 8.57-16 18.35 4.34 39.11 22.4 74.53 50.13 97.16 17.36 14.17 28.82 36.75 31.97 62.14zM480 256H256l-110.93-83.2a63.99 63.99 0 0 0-38.4-12.8H64c-35.35 0-64 28.65-64 64v224c0 35.35 28.65 64 64 64h384c35.35 0 64-28.65 64-64V288c0-17.67-14.33-32-32-32zM128 440c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8V328c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v112zm96 0c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8V328c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v112zm96 0c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8V328c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v112zm96 0c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8V328c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v112zM64 128c35.35 0 64-28.65 64-64S99.35 0 64 0 0 28.65 0 64s28.65 64 64 64z\"},\"child\":[]}]})(props);\n};\nexport function FaHotdog (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M488.56 23.44a80 80 0 0 0-113.12 0l-352 352a80 80 0 1 0 113.12 113.12l352-352a80 80 0 0 0 0-113.12zm-49.93 95.19c-19.6 19.59-37.52 22.67-51.93 25.14C373.76 146 364.4 147.6 352 160s-14 21.76-16.23 34.71c-2.48 14.4-5.55 32.33-25.15 51.92s-37.52 22.67-51.92 25.15C245.75 274 236.4 275.6 224 288s-14 21.75-16.23 34.7c-2.47 14.4-5.54 32.33-25.14 51.92s-37.53 22.68-51.93 25.15C117.76 402 108.4 403.6 96 416a16 16 0 0 1-22.63-22.63c19.6-19.59 37.52-22.67 51.92-25.14 13-2.22 22.3-3.82 34.71-16.23s14-21.75 16.22-34.7c2.48-14.4 5.55-32.33 25.15-51.92s37.52-22.67 51.92-25.14c13-2.22 22.3-3.83 34.7-16.23s14-21.76 16.24-34.71c2.47-14.4 5.54-32.33 25.14-51.92s37.52-22.68 51.92-25.15C394.24 110 403.59 108.41 416 96a16 16 0 0 1 22.63 22.63zM31.44 322.18L322.18 31.44l-11.54-11.55c-25-25-63.85-26.66-86.79-3.72L16.17 223.85c-22.94 22.94-21.27 61.79 3.72 86.78zm449.12-132.36L189.82 480.56l11.54 11.55c25 25 63.85 26.66 86.79 3.72l207.68-207.68c22.94-22.94 21.27-61.79-3.72-86.79z\"},\"child\":[]}]})(props);\n};\nexport function FaHotel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M560 64c8.84 0 16-7.16 16-16V16c0-8.84-7.16-16-16-16H16C7.16 0 0 7.16 0 16v32c0 8.84 7.16 16 16 16h15.98v384H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h240v-80c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v80h240c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16h-16V64h16zm-304 44.8c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4zm0 96c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4zm-128-96c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4zM179.2 256h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4c0 6.4-6.4 12.8-12.8 12.8zM192 384c0-53.02 42.98-96 96-96s96 42.98 96 96H192zm256-140.8c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4zm0-96c0 6.4-6.4 12.8-12.8 12.8h-38.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h38.4c6.4 0 12.8 6.4 12.8 12.8v38.4z\"},\"child\":[]}]})(props);\n};\nexport function FaHourglassEnd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64zM192 208c-57.787 0-104-66.518-104-144h208c0 77.945-46.51 144-104 144z\"},\"child\":[]}]})(props);\n};\nexport function FaHourglassHalf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M360 0H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24zm-75.078 384H99.08c17.059-46.797 52.096-80 92.92-80 40.821 0 75.862 33.196 92.922 80zm.019-256H99.078C91.988 108.548 88 86.748 88 64h208c0 22.805-3.987 44.587-11.059 64z\"},\"child\":[]}]})(props);\n};\nexport function FaHourglassStart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M360 0H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24zm-64 448H88c0-77.458 46.204-144 104-144 57.786 0 104 66.517 104 144z\"},\"child\":[]}]})(props);\n};\nexport function FaHourglass (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64z\"},\"child\":[]}]})(props);\n};\nexport function FaHouseDamage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 114.96L69.47 307.71c-1.62 1.46-3.69 2.14-5.47 3.35V496c0 8.84 7.16 16 16 16h149.23L192 439.19l104.11-64-60.16-119.22L384 392.75l-104.11 64L319.81 512H496c8.84 0 16-7.16 16-16V311.1c-1.7-1.16-3.72-1.82-5.26-3.2L288 114.96zm282.69 121.32L512 184.45V48c0-8.84-7.16-16-16-16h-64c-8.84 0-16 7.16-16 16v51.69L314.75 10.31C307.12 3.45 297.56.01 288 0s-19.1 3.41-26.7 10.27L5.31 236.28c-6.57 5.91-7.12 16.02-1.21 22.6l21.4 23.82c5.9 6.57 16.02 7.12 22.6 1.21L277.42 81.63c6.05-5.33 15.12-5.33 21.17 0L527.91 283.9c6.57 5.9 16.69 5.36 22.6-1.21l21.4-23.82c5.9-6.57 5.36-16.69-1.22-22.59z\"},\"child\":[]}]})(props);\n};\nexport function FaHouseUser (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M570.69,236.27,512,184.44V48a16,16,0,0,0-16-16H432a16,16,0,0,0-16,16V99.67L314.78,10.3C308.5,4.61,296.53,0,288,0s-20.46,4.61-26.74,10.3l-256,226A18.27,18.27,0,0,0,0,248.2a18.64,18.64,0,0,0,4.09,10.71L25.5,282.7a21.14,21.14,0,0,0,12,5.3,21.67,21.67,0,0,0,10.69-4.11l15.9-14V480a32,32,0,0,0,32,32H480a32,32,0,0,0,32-32V269.88l15.91,14A21.94,21.94,0,0,0,538.63,288a20.89,20.89,0,0,0,11.87-5.31l21.41-23.81A21.64,21.64,0,0,0,576,248.19,21,21,0,0,0,570.69,236.27ZM288,176a64,64,0,1,1-64,64A64,64,0,0,1,288,176ZM400,448H176a16,16,0,0,1-16-16,96,96,0,0,1,96-96h64a96,96,0,0,1,96,96A16,16,0,0,1,400,448Z\"},\"child\":[]}]})(props);\n};\nexport function FaHryvnia (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M368 240c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16h-41.86c13.41-28.63 13.74-63.33-4.13-94.05C303.34 49.84 267.1 32 229.96 32h-78.82c-24.32 0-47.86 8.53-66.54 24.09L72.83 65.9c-10.18 8.49-11.56 23.62-3.07 33.8l20.49 24.59c8.49 10.19 23.62 11.56 33.81 3.07l11.73-9.78c4.32-3.6 9.77-5.57 15.39-5.57h83.62c11.69 0 21.2 9.52 21.2 21.2 0 5.91-2.48 11.58-6.81 15.58L219.7 176H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h134.37l-34.67 32H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h41.86c-13.41 28.63-13.74 63.33 4.13 94.05C80.66 462.15 116.9 480 154.04 480h78.82c24.32 0 47.86-8.53 66.54-24.09l11.77-9.81c10.18-8.49 11.56-23.62 3.07-33.8l-20.49-24.59c-8.49-10.19-23.62-11.56-33.81-3.07l-11.75 9.8a23.992 23.992 0 0 1-15.36 5.56H149.2c-11.69 0-21.2-9.52-21.2-21.2 0-5.91 2.48-11.58 6.81-15.58L164.3 336H368c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16H233.63l34.67-32H368z\"},\"child\":[]}]})(props);\n};\nexport function FaICursor (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 256 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 52.048V12.065C256 5.496 250.726.148 244.158.066 211.621-.344 166.469.011 128 37.959 90.266.736 46.979-.114 11.913.114 5.318.157 0 5.519 0 12.114v39.645c0 6.687 5.458 12.078 12.145 11.998C38.111 63.447 96 67.243 96 112.182V224H60c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h36v112c0 44.932-56.075 48.031-83.95 47.959C5.404 447.942 0 453.306 0 459.952v39.983c0 6.569 5.274 11.917 11.842 11.999 32.537.409 77.689.054 116.158-37.894 37.734 37.223 81.021 38.073 116.087 37.845 6.595-.043 11.913-5.405 11.913-12V460.24c0-6.687-5.458-12.078-12.145-11.998C217.889 448.553 160 444.939 160 400V288h36c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-36V112.182c0-44.932 56.075-48.213 83.95-48.142 6.646.018 12.05-5.346 12.05-11.992z\"},\"child\":[]}]})(props);\n};\nexport function FaIceCream (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M368 160h-.94a144 144 0 1 0-286.12 0H80a48 48 0 0 0 0 96h288a48 48 0 0 0 0-96zM195.38 493.69a31.52 31.52 0 0 0 57.24 0L352 288H96z\"},\"child\":[]}]})(props);\n};\nexport function FaIcicles (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M511.4 37.9C515.1 18.2 500 0 480 0H32C10.6 0-4.8 20.7 1.4 41.2l87.1 273.4c2.5 7.2 12.7 7.2 15.1 0L140 190.5l44.2 187.3c1.9 8.3 13.7 8.3 15.6 0l46.5-196.9 34.1 133.4c2.3 7.6 13 7.6 15.3 0l45.8-172.5 66.7 363.8c1.7 8.6 14 8.6 15.7 0l87.5-467.7z\"},\"child\":[]}]})(props);\n};\nexport function FaIcons (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M116.65 219.35a15.68 15.68 0 0 0 22.65 0l96.75-99.83c28.15-29 26.5-77.1-4.91-103.88C203.75-7.7 163-3.5 137.86 22.44L128 32.58l-9.85-10.14C93.05-3.5 52.25-7.7 24.86 15.64c-31.41 26.78-33 74.85-5 103.88zm143.92 100.49h-48l-7.08-14.24a27.39 27.39 0 0 0-25.66-17.78h-71.71a27.39 27.39 0 0 0-25.66 17.78l-7 14.24h-48A27.45 27.45 0 0 0 0 347.3v137.25A27.44 27.44 0 0 0 27.43 512h233.14A27.45 27.45 0 0 0 288 484.55V347.3a27.45 27.45 0 0 0-27.43-27.46zM144 468a52 52 0 1 1 52-52 52 52 0 0 1-52 52zm355.4-115.9h-60.58l22.36-50.75c2.1-6.65-3.93-13.21-12.18-13.21h-75.59c-6.3 0-11.66 3.9-12.5 9.1l-16.8 106.93c-1 6.3 4.88 11.89 12.5 11.89h62.31l-24.2 83c-1.89 6.65 4.2 12.9 12.23 12.9a13.26 13.26 0 0 0 10.92-5.25l92.4-138.91c4.88-6.91-1.16-15.7-10.87-15.7zM478.08.33L329.51 23.17C314.87 25.42 304 38.92 304 54.83V161.6a83.25 83.25 0 0 0-16-1.7c-35.35 0-64 21.48-64 48s28.65 48 64 48c35.2 0 63.73-21.32 64-47.66V99.66l112-17.22v47.18a83.25 83.25 0 0 0-16-1.7c-35.35 0-64 21.48-64 48s28.65 48 64 48c35.2 0 63.73-21.32 64-47.66V32c0-19.48-16-34.42-33.92-31.67z\"},\"child\":[]}]})(props);\n};\nexport function FaIdBadge (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M336 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM144 32h96c8.8 0 16 7.2 16 16s-7.2 16-16 16h-96c-8.8 0-16-7.2-16-16s7.2-16 16-16zm48 128c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm112 236.8c0 10.6-10 19.2-22.4 19.2H102.4C90 416 80 407.4 80 396.8v-19.2c0-31.8 30.1-57.6 67.2-57.6h5c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h5c37.1 0 67.2 25.8 67.2 57.6v19.2z\"},\"child\":[]}]})(props);\n};\nexport function FaIdCardAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M528 64H384v96H192V64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM288 224c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm93.3 224H194.7c-10.4 0-18.8-10-15.6-19.8 8.3-25.6 32.4-44.2 60.9-44.2h8.2c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h8.2c28.4 0 52.5 18.5 60.9 44.2 3.2 9.8-5.2 19.8-15.6 19.8zM352 32c0-17.7-14.3-32-32-32h-64c-17.7 0-32 14.3-32 32v96h128V32z\"},\"child\":[]}]})(props);\n};\nexport function FaIdCard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M528 32H48C21.5 32 0 53.5 0 80v16h576V80c0-26.5-21.5-48-48-48zM0 432c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V128H0v304zm352-232c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16zm0 64c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16zm0 64c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16zM176 192c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zM67.1 396.2C75.5 370.5 99.6 352 128 352h8.2c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h8.2c28.4 0 52.5 18.5 60.9 44.2 3.2 9.9-5.2 19.8-15.6 19.8H82.7c-10.4 0-18.8-10-15.6-19.8z\"},\"child\":[]}]})(props);\n};\nexport function FaIgloo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M320 33.9c-10.5-1.2-21.2-1.9-32-1.9-99.8 0-187.8 50.8-239.4 128H320V33.9zM96 192H30.3C11.1 230.6 0 274 0 320h96V192zM352 39.4V160h175.4C487.2 99.9 424.8 55.9 352 39.4zM480 320h96c0-46-11.1-89.4-30.3-128H480v128zm-64 64v96h128c17.7 0 32-14.3 32-32v-96H411.5c2.6 10.3 4.5 20.9 4.5 32zm32-192H128v128h49.8c22.2-38.1 63-64 110.2-64s88 25.9 110.2 64H448V192zM0 448c0 17.7 14.3 32 32 32h128v-96c0-11.1 1.9-21.7 4.5-32H0v96zm288-160c-53 0-96 43-96 96v96h192v-96c0-53-43-96-96-96z\"},\"child\":[]}]})(props);\n};\nexport function FaImage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM112 120c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56zM64 384h384V272l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L208 320l-55.515-55.515c-4.686-4.686-12.284-4.686-16.971 0L64 336v48z\"},\"child\":[]}]})(props);\n};\nexport function FaImages (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M480 416v16c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V176c0-26.51 21.49-48 48-48h16v208c0 44.112 35.888 80 80 80h336zm96-80V80c0-26.51-21.49-48-48-48H144c-26.51 0-48 21.49-48 48v256c0 26.51 21.49 48 48 48h384c26.51 0 48-21.49 48-48zM256 128c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-96 144l55.515-55.515c4.686-4.686 12.284-4.686 16.971 0L272 256l135.515-135.515c4.686-4.686 12.284-4.686 16.971 0L512 208v112H160v-48z\"},\"child\":[]}]})(props);\n};\nexport function FaInbox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M567.938 243.908L462.25 85.374A48.003 48.003 0 0 0 422.311 64H153.689a48 48 0 0 0-39.938 21.374L8.062 243.908A47.994 47.994 0 0 0 0 270.533V400c0 26.51 21.49 48 48 48h480c26.51 0 48-21.49 48-48V270.533a47.994 47.994 0 0 0-8.062-26.625zM162.252 128h251.497l85.333 128H376l-32 64H232l-32-64H76.918l85.334-128z\"},\"child\":[]}]})(props);\n};\nexport function FaIndent (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M27.31 363.3l96-96a16 16 0 0 0 0-22.62l-96-96C17.27 138.66 0 145.78 0 160v192c0 14.31 17.33 21.3 27.31 11.3zM432 416H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm3.17-128H204.83A12.82 12.82 0 0 0 192 300.83v38.34A12.82 12.82 0 0 0 204.83 352h230.34A12.82 12.82 0 0 0 448 339.17v-38.34A12.82 12.82 0 0 0 435.17 288zm0-128H204.83A12.82 12.82 0 0 0 192 172.83v38.34A12.82 12.82 0 0 0 204.83 224h230.34A12.82 12.82 0 0 0 448 211.17v-38.34A12.82 12.82 0 0 0 435.17 160zM432 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaIndustry (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M475.115 163.781L336 252.309v-68.28c0-18.916-20.931-30.399-36.885-20.248L160 252.309V56c0-13.255-10.745-24-24-24H24C10.745 32 0 42.745 0 56v400c0 13.255 10.745 24 24 24h464c13.255 0 24-10.745 24-24V184.029c0-18.917-20.931-30.399-36.885-20.248z\"},\"child\":[]}]})(props);\n};\nexport function FaInfinity (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M471.1 96C405 96 353.3 137.3 320 174.6 286.7 137.3 235 96 168.9 96 75.8 96 0 167.8 0 256s75.8 160 168.9 160c66.1 0 117.8-41.3 151.1-78.6 33.3 37.3 85 78.6 151.1 78.6 93.1 0 168.9-71.8 168.9-160S564.2 96 471.1 96zM168.9 320c-40.2 0-72.9-28.7-72.9-64s32.7-64 72.9-64c38.2 0 73.4 36.1 94 64-20.4 27.6-55.9 64-94 64zm302.2 0c-38.2 0-73.4-36.1-94-64 20.4-27.6 55.9-64 94-64 40.2 0 72.9 28.7 72.9 64s-32.7 64-72.9 64z\"},\"child\":[]}]})(props);\n};\nexport function FaInfoCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z\"},\"child\":[]}]})(props);\n};\nexport function FaInfo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 192 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 424.229h20V279.771H20c-11.046 0-20-8.954-20-20V212c0-11.046 8.954-20 20-20h112c11.046 0 20 8.954 20 20v212.229h20c11.046 0 20 8.954 20 20V492c0 11.046-8.954 20-20 20H20c-11.046 0-20-8.954-20-20v-47.771c0-11.046 8.954-20 20-20zM96 0C56.235 0 24 32.235 24 72s32.235 72 72 72 72-32.235 72-72S135.764 0 96 0z\"},\"child\":[]}]})(props);\n};\nexport function FaItalic (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M320 48v32a16 16 0 0 1-16 16h-62.76l-80 320H208a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16H16a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h62.76l80-320H112a16 16 0 0 1-16-16V48a16 16 0 0 1 16-16h192a16 16 0 0 1 16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaJedi (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M535.95308,352c-42.64069,94.17188-137.64086,160-247.9848,160q-6.39844,0-12.84377-.29688C171.15558,506.9375,81.26481,442.23438,40.01474,352H79.93668L21.3272,293.40625a264.82522,264.82522,0,0,1-5.10938-39.42187,273.6653,273.6653,0,0,1,.5-29.98438H63.93665L22.546,182.625A269.79782,269.79782,0,0,1,130.51489,20.54688a16.06393,16.06393,0,0,1,9.28127-3,16.36332,16.36332,0,0,1,13.5,7.25,16.02739,16.02739,0,0,1,1.625,15.09374,138.387,138.387,0,0,0-9.84376,51.26563c0,45.10937,21.04691,86.57813,57.71884,113.73437a16.29989,16.29989,0,0,1,1.20313,25.39063c-26.54692,23.98437-41.17194,56.5-41.17194,91.57813,0,60.03124,42.95319,110.28124,99.89079,121.92187l2.5-65.26563L238.062,397a8.33911,8.33911,0,0,1-10-.75,8.025,8.025,0,0,1-1.39063-9.9375l20.125-33.76562-42.06257-8.73438a7.9898,7.9898,0,0,1,0-15.65625l42.06257-8.71875-20.10941-33.73438a7.99122,7.99122,0,0,1,11.35939-10.71874L268.437,295.64062,279.95265,7.67188a7.97138,7.97138,0,0,1,8-7.67188h.04687a8.02064,8.02064,0,0,1,7.95314,7.70312L307.48394,295.625l30.39068-20.67188a8.08327,8.08327,0,0,1,10,.8125,7.99866,7.99866,0,0,1,1.39062,9.90626L329.12461,319.4375l42.07819,8.73438a7.99373,7.99373,0,0,1,0,15.65624l-42.07819,8.71876,20.1094,33.73437a7.97791,7.97791,0,0,1-1.32812,9.92187A8.25739,8.25739,0,0,1,337.87462,397L310.7027,378.53125l2.5,65.34375c48.48446-9.40625,87.57828-48.15625,97.31267-96.5A123.52652,123.52652,0,0,0,371.9528,230.29688a16.30634,16.30634,0,0,1,1.20313-25.42188c36.65631-27.17188,57.6876-68.60938,57.6876-113.73438a138.01689,138.01689,0,0,0-9.85939-51.3125,15.98132,15.98132,0,0,1,1.60937-15.09374,16.36914,16.36914,0,0,1,13.5-7.23438,16.02453,16.02453,0,0,1,9.25,2.98438A271.26947,271.26947,0,0,1,553.25,182.76562L511.99992,224h46.9532C559.3125,229.76562,560,235.45312,560,241.26562a270.092,270.092,0,0,1-5.125,51.85938L495.98427,352Z\"},\"child\":[]}]})(props);\n};\nexport function FaJoint (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M444.34 181.1c22.38 15.68 35.66 41.16 35.66 68.59V280c0 4.42 3.58 8 8 8h48c4.42 0 8-3.58 8-8v-30.31c0-43.24-21.01-83.41-56.34-108.06C463.85 125.02 448 99.34 448 70.31V8c0-4.42-3.58-8-8-8h-48c-4.42 0-8 3.58-8 8v66.4c0 43.69 24.56 81.63 60.34 106.7zM194.97 358.98C126.03 370.07 59.69 394.69 0 432c83.65 52.28 180.3 80 278.94 80h88.57L254.79 380.49c-14.74-17.2-37.45-25.11-59.82-21.51zM553.28 87.09c-5.67-3.8-9.28-9.96-9.28-16.78V8c0-4.42-3.58-8-8-8h-48c-4.42 0-8 3.58-8 8v62.31c0 22.02 10.17 43.41 28.64 55.39C550.79 153.04 576 199.54 576 249.69V280c0 4.42 3.58 8 8 8h48c4.42 0 8-3.58 8-8v-30.31c0-65.44-32.41-126.19-86.72-162.6zM360.89 352.05c-34.4.06-86.81.15-88.21.17l117.8 137.43A63.987 63.987 0 0 0 439.07 512h88.45L409.57 374.4a63.955 63.955 0 0 0-48.68-22.35zM616 352H432l117.99 137.65A63.987 63.987 0 0 0 598.58 512H616c13.25 0 24-10.75 24-24V376c0-13.26-10.75-24-24-24z\"},\"child\":[]}]})(props);\n};\nexport function FaJournalWhills (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M438.40625,377.59375c-3.20313,12.8125-3.20313,57.60937,0,73.60937Q447.9922,460.78907,448,470.40625v16c0,16-12.79688,25.59375-25.59375,25.59375H96c-54.40625,0-96-41.59375-96-96V96C0,41.59375,41.59375,0,96,0H422.40625C438.40625,0,448,9.59375,448,25.59375v332.8125Q448,372.79688,438.40625,377.59375ZM380.79688,384H96c-16,0-32,12.79688-32,32s12.79688,32,32,32H380.79688ZM128.01562,176.01562c0,.51563.14063.98438.14063,1.5l37.10937,32.46876A7.99954,7.99954,0,0,1,160,224h-.01562a9.17678,9.17678,0,0,1-5.25-1.98438L131.14062,201.375C142.6875,250.95312,186.90625,288,240,288s97.3125-37.04688,108.875-86.625l-23.59375,20.64062a8.02516,8.02516,0,0,1-5.26563,1.96876H320a9.14641,9.14641,0,0,1-6.01562-2.71876A9.26508,9.26508,0,0,1,312,216a9.097,9.097,0,0,1,2.73438-6.01562l37.10937-32.46876c.01563-.53124.15625-1,.15625-1.51562,0-11.04688-2.09375-21.51562-5.06251-31.59375l-21.26562,21.25a8.00467,8.00467,0,0,1-11.32812-11.3125l26.42187-26.40625a111.81517,111.81517,0,0,0-46.35937-49.26562,63.02336,63.02336,0,0,1-14.0625,82.64062A55.83846,55.83846,0,0,1,251.625,254.73438l-1.42188-34.28126,12.67188,8.625a3.967,3.967,0,0,0,2.25.6875,3.98059,3.98059,0,0,0,3.43749-6.03124l-8.53124-14.3125,17.90625-3.71876a4.00647,4.00647,0,0,0,0-7.84374l-17.90625-3.71876,8.53124-14.3125a3.98059,3.98059,0,0,0-3.43749-6.03124,4.726,4.726,0,0,0-2.25.67187L248.6875,184.125,244,71.82812a4.00386,4.00386,0,0,0-8,0l-4.625,110.8125-12-8.15624a4.003,4.003,0,0,0-5.68751,5.35937l8.53126,14.3125L204.3125,197.875a3.99686,3.99686,0,0,0,0,7.82812l17.90625,3.73438-8.53126,14.29688a4.72469,4.72469,0,0,0-.56249,2.04687,4.59547,4.59547,0,0,0,1.25,2.90625,4.01059,4.01059,0,0,0,2.75,1.09375,4.09016,4.09016,0,0,0,2.25-.6875l10.35937-7.04687L228.375,254.76562a55.86414,55.86414,0,0,1-28.71875-93.45312,63.01119,63.01119,0,0,1-14.04688-82.65625,111.93158,111.93158,0,0,0-46.375,49.26563l26.42187,26.42187a7.99917,7.99917,0,0,1-11.3125,11.3125l-21.26563-21.26563C130.09375,154.48438,128,164.95312,128.01562,176.01562Z\"},\"child\":[]}]})(props);\n};\nexport function FaKaaba (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M554.12 83.51L318.36 4.93a95.962 95.962 0 0 0-60.71 0L21.88 83.51A32.006 32.006 0 0 0 0 113.87v49.01l265.02-79.51c15.03-4.5 30.92-4.5 45.98 0l265 79.51v-49.01c0-13.77-8.81-26-21.88-30.36zm-279.9 30.52L0 196.3v228.38c0 15 10.42 27.98 25.06 31.24l242.12 53.8a95.937 95.937 0 0 0 41.65 0l242.12-53.8c14.64-3.25 25.06-16.24 25.06-31.24V196.29l-274.2-82.26c-9.04-2.72-18.59-2.72-27.59 0zM128 230.11c0 3.61-2.41 6.77-5.89 7.72l-80 21.82C37.02 261.03 32 257.2 32 251.93v-16.58c0-3.61 2.41-6.77 5.89-7.72l80-21.82c5.09-1.39 10.11 2.44 10.11 7.72v16.58zm144-39.28c0 3.61-2.41 6.77-5.89 7.72l-96 26.18c-5.09 1.39-10.11-2.44-10.11-7.72v-16.58c0-3.61 2.41-6.77 5.89-7.72l96-26.18c5.09-1.39 10.11 2.44 10.11 7.72v16.58zm176 22.7c0-5.28 5.02-9.11 10.11-7.72l80 21.82c3.48.95 5.89 4.11 5.89 7.72v16.58c0 5.28-5.02 9.11-10.11 7.72l-80-21.82a7.997 7.997 0 0 1-5.89-7.72v-16.58zm-144-39.27c0-5.28 5.02-9.11 10.11-7.72l96 26.18c3.48.95 5.89 4.11 5.89 7.72v16.58c0 5.28-5.02 9.11-10.11 7.72l-96-26.18a7.997 7.997 0 0 1-5.89-7.72v-16.58z\"},\"child\":[]}]})(props);\n};\nexport function FaKey (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 176.001C512 273.203 433.202 352 336 352c-11.22 0-22.19-1.062-32.827-3.069l-24.012 27.014A23.999 23.999 0 0 1 261.223 384H224v40c0 13.255-10.745 24-24 24h-40v40c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24v-78.059c0-6.365 2.529-12.47 7.029-16.971l161.802-161.802C163.108 213.814 160 195.271 160 176 160 78.798 238.797.001 335.999 0 433.488-.001 512 78.511 512 176.001zM336 128c0 26.51 21.49 48 48 48s48-21.49 48-48-21.49-48-48-48-48 21.49-48 48z\"},\"child\":[]}]})(props);\n};\nexport function FaKeyboard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M528 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h480c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM128 180v-40c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm-336 96v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm-336 96v-40c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm288 0v-40c0-6.627-5.373-12-12-12H172c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h232c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12z\"},\"child\":[]}]})(props);\n};\nexport function FaKhanda (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M415.81 66c-6.37-3.5-14.37-2.33-19.36 3.02a15.974 15.974 0 0 0-1.91 19.52c16.49 26.16 25.2 56.39 25.2 87.41-.19 53.25-26.77 102.69-71.27 132.41l-76.63 53.35v-20.1l44.05-36.09c3.92-4.2 5-10.09 2.81-15.28L310.85 273c33.84-19.26 56.94-55.25 56.94-96.99 0-40.79-22.02-76.13-54.59-95.71l5.22-11.44c2.34-5.53.93-11.83-3.57-16.04L255.86 0l-58.99 52.81c-4.5 4.21-5.9 10.51-3.57 16.04l5.22 11.44c-32.57 19.58-54.59 54.93-54.59 95.72 0 41.75 23.09 77.73 56.94 96.99l-7.85 17.24c-2.19 5.18-1.1 11.07 2.81 15.28l44.05 36.09v19.9l-76.59-53.33C119.02 278.62 92.44 229.19 92.26 176c0-31.08 8.71-61.31 25.2-87.47 3.87-6.16 2.4-13.77-2.59-19.08-5-5.34-13.68-6.2-20.02-2.7C16.32 109.6-22.3 205.3 13.36 295.99c7.07 17.99 17.89 34.38 30.46 49.06l55.97 65.36c4.87 5.69 13.04 7.24 19.65 3.72l79.35-42.23L228 392.23l-47.08 32.78c-1.67-.37-3.23-1.01-5.01-1.01-13.25 0-23.99 10.74-23.99 24 0 13.25 10.74 24 23.99 24 12.1 0 21.69-9.11 23.33-20.76l40.63-28.28v29.95c-9.39 5.57-15.99 15.38-15.99 27.1 0 17.67 14.32 32 31.98 32s31.98-14.33 31.98-32c0-11.71-6.61-21.52-15.99-27.1v-30.15l40.91 28.48C314.41 462.89 324 472 336.09 472c13.25 0 23.99-10.75 23.99-24 0-13.26-10.74-24-23.99-24-1.78 0-3.34.64-5.01 1.01L284 392.23l29.21-20.34 79.35 42.23c6.61 3.52 14.78 1.97 19.65-3.71l52.51-61.31c18.87-22.02 34-47.5 41.25-75.59 21.62-83.66-16.45-167.27-90.16-207.51zm-95.99 110c0 22.3-11.49 41.92-28.83 53.38l-5.65-12.41c-8.75-24.52-8.75-51.04 0-75.56l7.83-17.18c16.07 11.65 26.65 30.45 26.65 51.77zm-127.93 0c0-21.32 10.58-40.12 26.66-51.76l7.83 17.18c8.75 24.52 8.75 51.03 0 75.56l-5.65 12.41c-17.34-11.46-28.84-31.09-28.84-53.39z\"},\"child\":[]}]})(props);\n};\nexport function FaKissBeam (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-39 219.9l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.6 4-14.9-4.5 3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.5 8.5-10.9 12-15.1 4.5zM304 396c0 19.2-28.7 41.5-71.5 44-8.5.8-12.1-11.8-3.6-15.4l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-6-2.5-6.1-12.2 0-14.8l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-8.6-3.6-4.8-16.5 3.6-15.4 42.8 2.5 71.5 24.8 71.5 44 0 13-13.4 27.3-35.2 36C290.6 368.7 304 383 304 396zm65-168.1l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.1 7.3-15.6 4-14.9-4.5 3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.5 8.5-10.9 12-15.1 4.5z\"},\"child\":[]}]})(props);\n};\nexport function FaKissWinkHeart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 504 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M501.1 402.5c-8-20.8-31.5-31.5-53.1-25.9l-8.4 2.2-2.3-8.4c-5.9-21.4-27-36.5-49-33-25.2 4-40.6 28.6-34 52.6l22.9 82.6c1.5 5.3 7 8.5 12.4 7.1l83-21.5c24.1-6.3 37.7-31.8 28.5-55.7zm-177.6-4c-5.6-20.3-2.3-42 9-59.7 29.7-46.3 98.7-45.5 127.8 4.3 6.4.1 12.6 1.4 18.6 2.9 10.9-27.9 17.1-58.2 17.1-90C496 119 385 8 248 8S0 119 0 256s111 248 248 248c35.4 0 68.9-7.5 99.4-20.9-.3-.7-23.9-84.6-23.9-84.6zM168 240c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm120 156c0 19.2-28.7 41.5-71.5 44-8.5.8-12.1-11.8-3.6-15.4l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-6-2.5-5.7-12.3 0-14.8l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-8.8-3.7-4.6-16.6 3.6-15.4 42.8 2.5 71.5 24.8 71.5 44 0 13-13.4 27.3-35.2 36C274.6 368.7 288 383 288 396zm16-179c-8.3 7.4-21.6.4-19.8-10.8 4-25.2 34.2-42.1 59.9-42.1S400 181 404 206.2c1.7 11.1-11.3 18.3-19.8 10.8l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L304 217z\"},\"child\":[]}]})(props);\n};\nexport function FaKiss (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-80 232c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm136 156c0 19.2-28.7 41.5-71.5 44-8.5.8-12.1-11.8-3.6-15.4l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-6-2.5-6.1-12.2 0-14.8l17-7.2c13-5.5 20.8-13.5 20.8-21.5s-7.8-16-20.8-21.5l-17-7.2c-8.6-3.6-4.8-16.5 3.6-15.4 42.8 2.5 71.5 24.8 71.5 44 0 13-13.4 27.3-35.2 36C290.6 368.7 304 383 304 396zm24-156c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaKiwiBird (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M575.81 217.98C572.64 157.41 518.28 112 457.63 112h-9.37c-52.82 0-104.25-16.25-147.74-46.24-41.99-28.96-96.04-41.62-153.21-28.7C129.3 41.12-.08 78.24 0 224c.04 70.95 38.68 132.8 95.99 166.01V464c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-54.26c15.36 3.96 31.4 6.26 48 6.26 5.44 0 10.68-.73 16-1.18V464c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-59.43c14.24-5.06 27.88-11.39 40.34-19.51C342.07 355.25 393.86 336 448.46 336c25.48 0 16.01-.31 23.05-.78l74.41 136.44c2.86 5.23 8.3 8.34 14.05 8.34 1.31 0 2.64-.16 3.95-.5 7.09-1.8 12.05-8.19 12.05-15.5 0 0 .14-240.24-.16-246.02zM463.97 248c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24zm80 153.25l-39.86-73.08c15.12-5.83 28.73-14.6 39.86-25.98v99.06z\"},\"child\":[]}]})(props);\n};\nexport function FaLandmark (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M501.62 92.11L267.24 2.04a31.958 31.958 0 0 0-22.47 0L10.38 92.11A16.001 16.001 0 0 0 0 107.09V144c0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16v-36.91c0-6.67-4.14-12.64-10.38-14.98zM64 192v160H48c-8.84 0-16 7.16-16 16v48h448v-48c0-8.84-7.16-16-16-16h-16V192h-64v160h-96V192h-64v160h-96V192H64zm432 256H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaLanguage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M152.1 236.2c-3.5-12.1-7.8-33.2-7.8-33.2h-.5s-4.3 21.1-7.8 33.2l-11.1 37.5H163zM616 96H336v320h280c13.3 0 24-10.7 24-24V120c0-13.3-10.7-24-24-24zm-24 120c0 6.6-5.4 12-12 12h-11.4c-6.9 23.6-21.7 47.4-42.7 69.9 8.4 6.4 17.1 12.5 26.1 18 5.5 3.4 7.3 10.5 4.1 16.2l-7.9 13.9c-3.4 5.9-10.9 7.8-16.7 4.3-12.6-7.8-24.5-16.1-35.4-24.9-10.9 8.7-22.7 17.1-35.4 24.9-5.8 3.5-13.3 1.6-16.7-4.3l-7.9-13.9c-3.2-5.6-1.4-12.8 4.2-16.2 9.3-5.7 18-11.7 26.1-18-7.9-8.4-14.9-17-21-25.7-4-5.7-2.2-13.6 3.7-17.1l6.5-3.9 7.3-4.3c5.4-3.2 12.4-1.7 16 3.4 5 7 10.8 14 17.4 20.9 13.5-14.2 23.8-28.9 30-43.2H412c-6.6 0-12-5.4-12-12v-16c0-6.6 5.4-12 12-12h64v-16c0-6.6 5.4-12 12-12h16c6.6 0 12 5.4 12 12v16h64c6.6 0 12 5.4 12 12zM0 120v272c0 13.3 10.7 24 24 24h280V96H24c-13.3 0-24 10.7-24 24zm58.9 216.1L116.4 167c1.7-4.9 6.2-8.1 11.4-8.1h32.5c5.1 0 9.7 3.3 11.4 8.1l57.5 169.1c2.6 7.8-3.1 15.9-11.4 15.9h-22.9a12 12 0 0 1-11.5-8.6l-9.4-31.9h-60.2l-9.1 31.8c-1.5 5.1-6.2 8.7-11.5 8.7H70.3c-8.2 0-14-8.1-11.4-15.9z\"},\"child\":[]}]})(props);\n};\nexport function FaLaptopCode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M255.03 261.65c6.25 6.25 16.38 6.25 22.63 0l11.31-11.31c6.25-6.25 6.25-16.38 0-22.63L253.25 192l35.71-35.72c6.25-6.25 6.25-16.38 0-22.63l-11.31-11.31c-6.25-6.25-16.38-6.25-22.63 0l-58.34 58.34c-6.25 6.25-6.25 16.38 0 22.63l58.35 58.34zm96.01-11.3l11.31 11.31c6.25 6.25 16.38 6.25 22.63 0l58.34-58.34c6.25-6.25 6.25-16.38 0-22.63l-58.34-58.34c-6.25-6.25-16.38-6.25-22.63 0l-11.31 11.31c-6.25 6.25-6.25 16.38 0 22.63L386.75 192l-35.71 35.72c-6.25 6.25-6.25 16.38 0 22.63zM624 416H381.54c-.74 19.81-14.71 32-32.74 32H288c-18.69 0-33.02-17.47-32.77-32H16c-8.8 0-16 7.2-16 16v16c0 35.2 28.8 64 64 64h512c35.2 0 64-28.8 64-64v-16c0-8.8-7.2-16-16-16zM576 48c0-26.4-21.6-48-48-48H112C85.6 0 64 21.6 64 48v336h512V48zm-64 272H128V64h384v256z\"},\"child\":[]}]})(props);\n};\nexport function FaLaptopHouse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M272,288H208a16,16,0,0,1-16-16V208a16,16,0,0,1,16-16h64a16,16,0,0,1,16,16v37.12C299.11,232.24,315,224,332.8,224H469.74l6.65-7.53A16.51,16.51,0,0,0,480,207a16.31,16.31,0,0,0-4.75-10.61L416,144V48a16,16,0,0,0-16-16H368a16,16,0,0,0-16,16V87.3L263.5,8.92C258,4,247.45,0,240.05,0s-17.93,4-23.47,8.92L4.78,196.42A16.15,16.15,0,0,0,0,207a16.4,16.4,0,0,0,3.55,9.39L22.34,237.7A16.22,16.22,0,0,0,33,242.48,16.51,16.51,0,0,0,42.34,239L64,219.88V384a32,32,0,0,0,32,32H272ZM629.33,448H592V288c0-17.67-12.89-32-28.8-32H332.8c-15.91,0-28.8,14.33-28.8,32V448H266.67A10.67,10.67,0,0,0,256,458.67v10.66A42.82,42.82,0,0,0,298.6,512H597.4A42.82,42.82,0,0,0,640,469.33V458.67A10.67,10.67,0,0,0,629.33,448ZM544,448H352V304H544Z\"},\"child\":[]}]})(props);\n};\nexport function FaLaptopMedical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M232 224h56v56a8 8 0 0 0 8 8h48a8 8 0 0 0 8-8v-56h56a8 8 0 0 0 8-8v-48a8 8 0 0 0-8-8h-56v-56a8 8 0 0 0-8-8h-48a8 8 0 0 0-8 8v56h-56a8 8 0 0 0-8 8v48a8 8 0 0 0 8 8zM576 48a48.14 48.14 0 0 0-48-48H112a48.14 48.14 0 0 0-48 48v336h512zm-64 272H128V64h384zm112 96H381.54c-.74 19.81-14.71 32-32.74 32H288c-18.69 0-33-17.47-32.77-32H16a16 16 0 0 0-16 16v16a64.19 64.19 0 0 0 64 64h512a64.19 64.19 0 0 0 64-64v-16a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaLaptop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M624 416H381.54c-.74 19.81-14.71 32-32.74 32H288c-18.69 0-33.02-17.47-32.77-32H16c-8.8 0-16 7.2-16 16v16c0 35.2 28.8 64 64 64h512c35.2 0 64-28.8 64-64v-16c0-8.8-7.2-16-16-16zM576 48c0-26.4-21.6-48-48-48H112C85.6 0 64 21.6 64 48v336h512V48zm-64 272H128V64h384v256z\"},\"child\":[]}]})(props);\n};\nexport function FaLaughBeam (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm24 199.4c3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.2 7.4-15.8 4.1-15.1-4.5zm-160 0c3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.3 7.4-15.8 4-15.1-4.5zM398.9 306C390 377 329.4 432 256 432h-16c-73.4 0-134-55-142.9-126-1.2-9.5 6.3-18 15.9-18h270c9.6 0 17.1 8.4 15.9 18z\"},\"child\":[]}]})(props);\n};\nexport function FaLaughSquint (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm33.8 161.7l80-48c11.6-6.9 24 7.7 15.4 18L343.6 180l33.6 40.3c8.7 10.4-3.9 24.8-15.4 18l-80-48c-7.7-4.7-7.7-15.9 0-20.6zm-163-30c-8.6-10.3 3.8-24.9 15.4-18l80 48c7.8 4.7 7.8 15.9 0 20.6l-80 48c-11.5 6.8-24-7.6-15.4-18l33.6-40.3-33.6-40.3zM398.9 306C390 377 329.4 432 256 432h-16c-73.4 0-134-55-142.9-126-1.2-9.5 6.3-18 15.9-18h270c9.6 0 17.1 8.4 15.9 18z\"},\"child\":[]}]})(props);\n};\nexport function FaLaughWink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm20.1 198.1c4-25.2 34.2-42.1 59.9-42.1s55.9 16.9 59.9 42.1c1.7 11.1-11.4 18.3-19.8 10.8l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L288 217c-8.4 7.4-21.6.3-19.9-10.9zM168 160c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm230.9 146C390 377 329.4 432 256 432h-16c-73.4 0-134-55-142.9-126-1.2-9.5 6.3-18 15.9-18h270c9.6 0 17.1 8.4 15.9 18z\"},\"child\":[]}]})(props);\n};\nexport function FaLaugh (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 152c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm-160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm88 272h-16c-73.4 0-134-55-142.9-126-1.2-9.5 6.3-18 15.9-18h270c9.6 0 17.1 8.4 15.9 18-8.9 71-69.5 126-142.9 126z\"},\"child\":[]}]})(props);\n};\nexport function FaLayerGroup (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.41 148.02l232.94 105.67c6.8 3.09 14.49 3.09 21.29 0l232.94-105.67c16.55-7.51 16.55-32.52 0-40.03L266.65 2.31a25.607 25.607 0 0 0-21.29 0L12.41 107.98c-16.55 7.51-16.55 32.53 0 40.04zm487.18 88.28l-58.09-26.33-161.64 73.27c-7.56 3.43-15.59 5.17-23.86 5.17s-16.29-1.74-23.86-5.17L70.51 209.97l-58.1 26.33c-16.55 7.5-16.55 32.5 0 40l232.94 105.59c6.8 3.08 14.49 3.08 21.29 0L499.59 276.3c16.55-7.5 16.55-32.5 0-40zm0 127.8l-57.87-26.23-161.86 73.37c-7.56 3.43-15.59 5.17-23.86 5.17s-16.29-1.74-23.86-5.17L70.29 337.87 12.41 364.1c-16.55 7.5-16.55 32.5 0 40l232.94 105.59c6.8 3.08 14.49 3.08 21.29 0L499.59 404.1c16.55-7.5 16.55-32.5 0-40z\"},\"child\":[]}]})(props);\n};\nexport function FaLeaf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M546.2 9.7c-5.6-12.5-21.6-13-28.3-1.2C486.9 62.4 431.4 96 368 96h-80C182 96 96 182 96 288c0 7 .8 13.7 1.5 20.5C161.3 262.8 253.4 224 384 224c8.8 0 16 7.2 16 16s-7.2 16-16 16C132.6 256 26 410.1 2.4 468c-6.6 16.3 1.2 34.9 17.5 41.6 16.4 6.8 35-1.1 41.8-17.3 1.5-3.6 20.9-47.9 71.9-90.6 32.4 43.9 94 85.8 174.9 77.2C465.5 467.5 576 326.7 576 154.3c0-50.2-10.8-102.2-29.8-144.6z\"},\"child\":[]}]})(props);\n};\nexport function FaLemon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M489.038 22.963C465.944-.13 434.648-5.93 413.947 6.129c-58.906 34.312-181.25-53.077-321.073 86.746S40.441 355.041 6.129 413.945c-12.059 20.702-6.26 51.999 16.833 75.093 23.095 23.095 54.392 28.891 75.095 16.832 58.901-34.31 181.246 53.079 321.068-86.743S471.56 156.96 505.871 98.056c12.059-20.702 6.261-51.999-16.833-75.093zM243.881 95.522c-58.189 14.547-133.808 90.155-148.358 148.358-1.817 7.27-8.342 12.124-15.511 12.124-1.284 0-2.59-.156-3.893-.481-8.572-2.144-13.784-10.83-11.642-19.403C81.901 166.427 166.316 81.93 236.119 64.478c8.575-2.143 17.261 3.069 19.403 11.642s-3.069 17.259-11.641 19.402z\"},\"child\":[]}]})(props);\n};\nexport function FaLessThanEqual (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M54.98 214.2l301.41 119.87c18.39 6.03 38.71-2.54 45.38-19.15l12.09-30.08c6.68-16.61-2.82-34.97-21.21-41l-175.44-68.05 175.56-68.09c18.29-6 27.74-24.27 21.1-40.79l-12.03-29.92c-6.64-16.53-26.86-25.06-45.15-19.06L54.98 137.89C41.21 142.41 32 154.5 32 168.07v15.96c0 13.56 9.21 25.65 22.98 30.17zM424 400H24c-13.25 0-24 10.74-24 24v48c0 13.25 10.75 24 24 24h400c13.25 0 24-10.75 24-24v-48c0-13.26-10.75-24-24-24z\"},\"child\":[]}]})(props);\n};\nexport function FaLessThan (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M365.46 357.74L147.04 255.89l218.47-101.88c16.02-7.47 22.95-26.51 15.48-42.53l-13.52-29C360 66.46 340.96 59.53 324.94 67L18.48 209.91a32.014 32.014 0 0 0-18.48 29v34.24c0 12.44 7.21 23.75 18.48 29l306.31 142.83c16.06 7.49 35.15.54 42.64-15.52l13.56-29.08c7.49-16.06.54-35.15-15.53-42.64z\"},\"child\":[]}]})(props);\n};\nexport function FaLevelDownAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M313.553 392.331L209.587 504.334c-9.485 10.214-25.676 10.229-35.174 0L70.438 392.331C56.232 377.031 67.062 352 88.025 352H152V80H68.024a11.996 11.996 0 0 1-8.485-3.515l-56-56C-4.021 12.926 1.333 0 12.024 0H208c13.255 0 24 10.745 24 24v328h63.966c20.878 0 31.851 24.969 17.587 40.331z\"},\"child\":[]}]})(props);\n};\nexport function FaLevelUpAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M313.553 119.669L209.587 7.666c-9.485-10.214-25.676-10.229-35.174 0L70.438 119.669C56.232 134.969 67.062 160 88.025 160H152v272H68.024a11.996 11.996 0 0 0-8.485 3.515l-56 56C-4.021 499.074 1.333 512 12.024 512H208c13.255 0 24-10.745 24-24V160h63.966c20.878 0 31.851-24.969 17.587-40.331z\"},\"child\":[]}]})(props);\n};\nexport function FaLifeRing (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm173.696 119.559l-63.399 63.399c-10.987-18.559-26.67-34.252-45.255-45.255l63.399-63.399a218.396 218.396 0 0 1 45.255 45.255zM256 352c-53.019 0-96-42.981-96-96s42.981-96 96-96 96 42.981 96 96-42.981 96-96 96zM127.559 82.304l63.399 63.399c-18.559 10.987-34.252 26.67-45.255 45.255l-63.399-63.399a218.372 218.372 0 0 1 45.255-45.255zM82.304 384.441l63.399-63.399c10.987 18.559 26.67 34.252 45.255 45.255l-63.399 63.399a218.396 218.396 0 0 1-45.255-45.255zm302.137 45.255l-63.399-63.399c18.559-10.987 34.252-26.67 45.255-45.255l63.399 63.399a218.403 218.403 0 0 1-45.255 45.255z\"},\"child\":[]}]})(props);\n};\nexport function FaLightbulb (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 352 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M96.06 454.35c.01 6.29 1.87 12.45 5.36 17.69l17.09 25.69a31.99 31.99 0 0 0 26.64 14.28h61.71a31.99 31.99 0 0 0 26.64-14.28l17.09-25.69a31.989 31.989 0 0 0 5.36-17.69l.04-38.35H96.01l.05 38.35zM0 176c0 44.37 16.45 84.85 43.56 115.78 16.52 18.85 42.36 58.23 52.21 91.45.04.26.07.52.11.78h160.24c.04-.26.07-.51.11-.78 9.85-33.22 35.69-72.6 52.21-91.45C335.55 260.85 352 220.37 352 176 352 78.61 272.91-.3 175.45 0 73.44.31 0 82.97 0 176zm176-80c-44.11 0-80 35.89-80 80 0 8.84-7.16 16-16 16s-16-7.16-16-16c0-61.76 50.24-112 112-112 8.84 0 16 7.16 16 16s-7.16 16-16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaLink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z\"},\"child\":[]}]})(props);\n};\nexport function FaLiraSign (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M371.994 256h-48.019C317.64 256 312 260.912 312 267.246 312 368 230.179 416 144 416V256.781l134.603-29.912A12 12 0 0 0 288 215.155v-40.976c0-7.677-7.109-13.38-14.603-11.714L144 191.219V160.78l134.603-29.912A12 12 0 0 0 288 119.154V78.179c0-7.677-7.109-13.38-14.603-11.714L144 95.219V44c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v68.997L9.397 125.131A12 12 0 0 0 0 136.845v40.976c0 7.677 7.109 13.38 14.603 11.714L64 178.558v30.439L9.397 221.131A12 12 0 0 0 0 232.845v40.976c0 7.677 7.109 13.38 14.603 11.714L64 274.558V468c0 6.627 5.373 12 12 12h79.583c134.091 0 223.255-77.834 228.408-211.592.261-6.782-5.211-12.408-11.997-12.408z\"},\"child\":[]}]})(props);\n};\nexport function FaListAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 480H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48zM128 120c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zm0 96c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zm0 96c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zm288-136v-32c0-6.627-5.373-12-12-12H204c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h200c6.627 0 12-5.373 12-12zm0 96v-32c0-6.627-5.373-12-12-12H204c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h200c6.627 0 12-5.373 12-12zm0 96v-32c0-6.627-5.373-12-12-12H204c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h200c6.627 0 12-5.373 12-12z\"},\"child\":[]}]})(props);\n};\nexport function FaListOl (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M61.77 401l17.5-20.15a19.92 19.92 0 0 0 5.07-14.19v-3.31C84.34 356 80.5 352 73 352H16a8 8 0 0 0-8 8v16a8 8 0 0 0 8 8h22.83a157.41 157.41 0 0 0-11 12.31l-5.61 7c-4 5.07-5.25 10.13-2.8 14.88l1.05 1.93c3 5.76 6.29 7.88 12.25 7.88h4.73c10.33 0 15.94 2.44 15.94 9.09 0 4.72-4.2 8.22-14.36 8.22a41.54 41.54 0 0 1-15.47-3.12c-6.49-3.88-11.74-3.5-15.6 3.12l-5.59 9.31c-3.72 6.13-3.19 11.72 2.63 15.94 7.71 4.69 20.38 9.44 37 9.44 34.16 0 48.5-22.75 48.5-44.12-.03-14.38-9.12-29.76-28.73-34.88zM496 224H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-160H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 320H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM16 160h64a8 8 0 0 0 8-8v-16a8 8 0 0 0-8-8H64V40a8 8 0 0 0-8-8H32a8 8 0 0 0-7.14 4.42l-8 16A8 8 0 0 0 24 64h8v64H16a8 8 0 0 0-8 8v16a8 8 0 0 0 8 8zm-3.91 160H80a8 8 0 0 0 8-8v-16a8 8 0 0 0-8-8H41.32c3.29-10.29 48.34-18.68 48.34-56.44 0-29.06-25-39.56-44.47-39.56-21.36 0-33.8 10-40.46 18.75-4.37 5.59-3 10.84 2.8 15.37l8.58 6.88c5.61 4.56 11 2.47 16.12-2.44a13.44 13.44 0 0 1 9.46-3.84c3.33 0 9.28 1.56 9.28 8.75C51 248.19 0 257.31 0 304.59v4C0 316 5.08 320 12.09 320z\"},\"child\":[]}]})(props);\n};\nexport function FaListUl (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M48 48a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm0 160a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm0 160a48 48 0 1 0 48 48 48 48 0 0 0-48-48zm448 16H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-320H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 160H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaList (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M80 368H16a16 16 0 0 0-16 16v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-64a16 16 0 0 0-16-16zm0-320H16A16 16 0 0 0 0 64v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16V64a16 16 0 0 0-16-16zm0 160H16a16 16 0 0 0-16 16v64a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-64a16 16 0 0 0-16-16zm416 176H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-320H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 160H176a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h320a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaLocationArrow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M444.52 3.52L28.74 195.42c-47.97 22.39-31.98 92.75 19.19 92.75h175.91v175.91c0 51.17 70.36 67.17 92.75 19.19l191.9-415.78c15.99-38.39-25.59-79.97-63.97-63.97z\"},\"child\":[]}]})(props);\n};\nexport function FaLockOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M423.5 0C339.5.3 272 69.5 272 153.5V224H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48h-48v-71.1c0-39.6 31.7-72.5 71.3-72.9 40-.4 72.7 32.1 72.7 72v80c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24v-80C576 68 507.5-.3 423.5 0z\"},\"child\":[]}]})(props);\n};\nexport function FaLock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 224h-24v-72C376 68.2 307.8 0 224 0S72 68.2 72 152v72H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48zm-104 0H152v-72c0-39.7 32.3-72 72-72s72 32.3 72 72v72z\"},\"child\":[]}]})(props);\n};\nexport function FaLongArrowAltDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 256 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M168 345.941V44c0-6.627-5.373-12-12-12h-56c-6.627 0-12 5.373-12 12v301.941H41.941c-21.382 0-32.09 25.851-16.971 40.971l86.059 86.059c9.373 9.373 24.569 9.373 33.941 0l86.059-86.059c15.119-15.119 4.411-40.971-16.971-40.971H168z\"},\"child\":[]}]})(props);\n};\nexport function FaLongArrowAltLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M134.059 296H436c6.627 0 12-5.373 12-12v-56c0-6.627-5.373-12-12-12H134.059v-46.059c0-21.382-25.851-32.09-40.971-16.971L7.029 239.029c-9.373 9.373-9.373 24.569 0 33.941l86.059 86.059c15.119 15.119 40.971 4.411 40.971-16.971V296z\"},\"child\":[]}]})(props);\n};\nexport function FaLongArrowAltRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M313.941 216H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12h301.941v46.059c0 21.382 25.851 32.09 40.971 16.971l86.059-86.059c9.373-9.373 9.373-24.569 0-33.941l-86.059-86.059c-15.119-15.119-40.971-4.411-40.971 16.971V216z\"},\"child\":[]}]})(props);\n};\nexport function FaLongArrowAltUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 256 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M88 166.059V468c0 6.627 5.373 12 12 12h56c6.627 0 12-5.373 12-12V166.059h46.059c21.382 0 32.09-25.851 16.971-40.971l-86.059-86.059c-9.373-9.373-24.569-9.373-33.941 0l-86.059 86.059c-15.119 15.119-4.411 40.971 16.971 40.971H88z\"},\"child\":[]}]})(props);\n};\nexport function FaLowVision (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M569.344 231.631C512.96 135.949 407.81 72 288 72c-28.468 0-56.102 3.619-82.451 10.409L152.778 10.24c-7.601-10.858-22.564-13.5-33.423-5.9l-13.114 9.178c-10.86 7.601-13.502 22.566-5.9 33.426l43.131 58.395C89.449 131.73 40.228 174.683 6.682 231.581c-.01.017-.023.033-.034.05-8.765 14.875-8.964 33.528 0 48.739 38.5 65.332 99.742 115.862 172.859 141.349L55.316 244.302A272.194 272.194 0 0 1 83.61 208.39l119.4 170.58h.01l40.63 58.04a330.055 330.055 0 0 0 78.94 1.17l-189.98-271.4a277.628 277.628 0 0 1 38.777-21.563l251.836 356.544c7.601 10.858 22.564 13.499 33.423 5.9l13.114-9.178c10.86-7.601 13.502-22.567 5.9-33.426l-43.12-58.377-.007-.009c57.161-27.978 104.835-72.04 136.81-126.301a47.938 47.938 0 0 0 .001-48.739zM390.026 345.94l-19.066-27.23c24.682-32.567 27.711-76.353 8.8-111.68v.03c0 23.65-19.17 42.82-42.82 42.82-23.828 0-42.82-19.349-42.82-42.82 0-23.65 19.17-42.82 42.82-42.82h.03c-24.75-13.249-53.522-15.643-79.51-7.68l-19.068-27.237C253.758 123.306 270.488 120 288 120c75.162 0 136 60.826 136 136 0 34.504-12.833 65.975-33.974 89.94z\"},\"child\":[]}]})(props);\n};\nexport function FaLuggageCart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 320h32V96h-32c-17.67 0-32 14.33-32 32v160c0 17.67 14.33 32 32 32zm352-32V128c0-17.67-14.33-32-32-32h-32v224h32c17.67 0 32-14.33 32-32zm48 96H128V16c0-8.84-7.16-16-16-16H16C7.16 0 0 7.16 0 16v32c0 8.84 7.16 16 16 16h48v368c0 8.84 7.16 16 16 16h82.94c-1.79 5.03-2.94 10.36-2.94 16 0 26.51 21.49 48 48 48s48-21.49 48-48c0-5.64-1.15-10.97-2.94-16h197.88c-1.79 5.03-2.94 10.36-2.94 16 0 26.51 21.49 48 48 48s48-21.49 48-48c0-5.64-1.15-10.97-2.94-16H624c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM480 96V48c0-26.51-21.49-48-48-48h-96c-26.51 0-48 21.49-48 48v272h192V96zm-48 0h-96V48h96v48z\"},\"child\":[]}]})(props);\n};\nexport function FaLungsVirus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M344,150.68V16A16,16,0,0,0,328,0H312a16,16,0,0,0-16,16V150.68a46.45,46.45,0,0,1,48,0ZM195.54,444.46a48.06,48.06,0,0,1,0-67.88l8.58-8.58H192a48,48,0,0,1,0-96h12.12l-8.58-8.57a48,48,0,0,1,60.46-74V161.75C256,125.38,224.62,96,186,96c-44,0-58,28.5-80.12,63.13a819.52,819.52,0,0,0-102,231A113.16,113.16,0,0,0,0,419.75C0,481,62.5,525.26,125.25,508.38l59.5-15.87a98.51,98.51,0,0,0,52.5-34.75,46.49,46.49,0,0,1-41.71-13.3Zm226.29-22.63a16,16,0,0,0,0-22.62l-8.58-8.58C393.09,370.47,407.37,336,435.88,336H448a16,16,0,0,0,0-32H435.88c-28.51,0-42.79-34.47-22.63-54.62l8.58-8.58a16,16,0,0,0-22.63-22.63l-8.57,8.58C370.47,246.91,336,232.63,336,204.12V192a16,16,0,0,0-32,0v12.12c0,28.51-34.47,42.79-54.63,22.63l-8.57-8.58a16,16,0,0,0-22.63,22.63l8.58,8.58c20.16,20.15,5.88,54.62-22.63,54.62H192a16,16,0,0,0,0,32h12.12c28.51,0,42.79,34.47,22.63,54.63l-8.58,8.58a16,16,0,1,0,22.63,22.62l8.57-8.57C269.53,393.1,304,407.38,304,435.88V448a16,16,0,0,0,32,0V435.88c0-28.5,34.47-42.78,54.63-22.62l8.57,8.57a16,16,0,0,0,22.63,0ZM288,304a16,16,0,1,1,16-16A16,16,0,0,1,288,304Zm64,64a16,16,0,1,1,16-16A16,16,0,0,1,352,368Zm284.12,22.13a819.52,819.52,0,0,0-102-231C512,124.5,498,96,454,96c-38.62,0-70,29.38-70,65.75v27.72a48,48,0,0,1,60.46,74L435.88,272H448a48,48,0,0,1,0,96H435.88l8.58,8.58a47.7,47.7,0,0,1-41.71,81.18,98.51,98.51,0,0,0,52.5,34.75l59.5,15.87C577.5,525.26,640,481,640,419.75A113.16,113.16,0,0,0,636.12,390.13Z\"},\"child\":[]}]})(props);\n};\nexport function FaLungs (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M636.11 390.15C614.44 308.85 580.07 231 534.1 159.13 511.98 124.56 498.03 96 454.05 96 415.36 96 384 125.42 384 161.71v60.11l-32.88-21.92a15.996 15.996 0 0 1-7.12-13.31V16c0-8.84-7.16-16-16-16h-16c-8.84 0-16 7.16-16 16v170.59c0 5.35-2.67 10.34-7.12 13.31L256 221.82v-60.11C256 125.42 224.64 96 185.95 96c-43.98 0-57.93 28.56-80.05 63.13C59.93 231 25.56 308.85 3.89 390.15 1.3 399.84 0 409.79 0 419.78c0 61.23 62.48 105.44 125.24 88.62l59.5-15.95c42.18-11.3 71.26-47.47 71.26-88.62v-87.49l-85.84 57.23a7.992 7.992 0 0 1-11.09-2.22l-8.88-13.31a7.992 7.992 0 0 1 2.22-11.09L320 235.23l167.59 111.72a7.994 7.994 0 0 1 2.22 11.09l-8.88 13.31a7.994 7.994 0 0 1-11.09 2.22L384 316.34v87.49c0 41.15 29.08 77.31 71.26 88.62l59.5 15.95C577.52 525.22 640 481.01 640 419.78c0-9.99-1.3-19.94-3.89-29.63z\"},\"child\":[]}]})(props);\n};\nexport function FaMagic (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 96l16-32 32-16-32-16-16-32-16 32-32 16 32 16 16 32zM80 160l26.66-53.33L160 80l-53.34-26.67L80 0 53.34 53.33 0 80l53.34 26.67L80 160zm352 128l-26.66 53.33L352 368l53.34 26.67L432 448l26.66-53.33L512 368l-53.34-26.67L432 288zm70.62-193.77L417.77 9.38C411.53 3.12 403.34 0 395.15 0c-8.19 0-16.38 3.12-22.63 9.38L9.38 372.52c-12.5 12.5-12.5 32.76 0 45.25l84.85 84.85c6.25 6.25 14.44 9.37 22.62 9.37 8.19 0 16.38-3.12 22.63-9.37l363.14-363.15c12.5-12.48 12.5-32.75 0-45.24zM359.45 203.46l-50.91-50.91 86.6-86.6 50.91 50.91-86.6 86.6z\"},\"child\":[]}]})(props);\n};\nexport function FaMagnet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M164.07 148.1H12a12 12 0 0 1-12-12v-80a36 36 0 0 1 36-36h104a36 36 0 0 1 36 36v80a11.89 11.89 0 0 1-11.93 12zm347.93-12V56a36 36 0 0 0-36-36H372a36 36 0 0 0-36 36v80a12 12 0 0 0 12 12h152a11.89 11.89 0 0 0 12-11.9zm-164 44a12 12 0 0 0-12 12v52c0 128.1-160 127.9-160 0v-52a12 12 0 0 0-12-12H12.1a12 12 0 0 0-12 12.1c.1 21.4.6 40.3 0 53.3 0 150.6 136.17 246.6 256.75 246.6s255-96 255-246.7c-.6-12.8-.2-33 0-53.2a12 12 0 0 0-12-12.1z\"},\"child\":[]}]})(props);\n};\nexport function FaMailBulk (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M160 448c-25.6 0-51.2-22.4-64-32-64-44.8-83.2-60.8-96-70.4V480c0 17.67 14.33 32 32 32h256c17.67 0 32-14.33 32-32V345.6c-12.8 9.6-32 25.6-96 70.4-12.8 9.6-38.4 32-64 32zm128-192H32c-17.67 0-32 14.33-32 32v16c25.6 19.2 22.4 19.2 115.2 86.4 9.6 6.4 28.8 25.6 44.8 25.6s35.2-19.2 44.8-22.4c92.8-67.2 89.6-67.2 115.2-86.4V288c0-17.67-14.33-32-32-32zm256-96H224c-17.67 0-32 14.33-32 32v32h96c33.21 0 60.59 25.42 63.71 57.82l.29-.22V416h192c17.67 0 32-14.33 32-32V192c0-17.67-14.33-32-32-32zm-32 128h-64v-64h64v64zm-352-96c0-35.29 28.71-64 64-64h224V32c0-17.67-14.33-32-32-32H96C78.33 0 64 14.33 64 32v192h96v-32z\"},\"child\":[]}]})(props);\n};\nexport function FaMale (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 192 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M96 0c35.346 0 64 28.654 64 64s-28.654 64-64 64-64-28.654-64-64S60.654 0 96 0m48 144h-11.36c-22.711 10.443-49.59 10.894-73.28 0H48c-26.51 0-48 21.49-48 48v136c0 13.255 10.745 24 24 24h16v136c0 13.255 10.745 24 24 24h64c13.255 0 24-10.745 24-24V352h16c13.255 0 24-10.745 24-24V192c0-26.51-21.49-48-48-48z\"},\"child\":[]}]})(props);\n};\nexport function FaMapMarkedAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 0c-69.59 0-126 56.41-126 126 0 56.26 82.35 158.8 113.9 196.02 6.39 7.54 17.82 7.54 24.2 0C331.65 284.8 414 182.26 414 126 414 56.41 357.59 0 288 0zm0 168c-23.2 0-42-18.8-42-42s18.8-42 42-42 42 18.8 42 42-18.8 42-42 42zM20.12 215.95A32.006 32.006 0 0 0 0 245.66v250.32c0 11.32 11.43 19.06 21.94 14.86L160 448V214.92c-8.84-15.98-16.07-31.54-21.25-46.42L20.12 215.95zM288 359.67c-14.07 0-27.38-6.18-36.51-16.96-19.66-23.2-40.57-49.62-59.49-76.72v182l192 64V266c-18.92 27.09-39.82 53.52-59.49 76.72-9.13 10.77-22.44 16.95-36.51 16.95zm266.06-198.51L416 224v288l139.88-55.95A31.996 31.996 0 0 0 576 426.34V176.02c0-11.32-11.43-19.06-21.94-14.86z\"},\"child\":[]}]})(props);\n};\nexport function FaMapMarked (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 0c-69.59 0-126 56.41-126 126 0 56.26 82.35 158.8 113.9 196.02 6.39 7.54 17.82 7.54 24.2 0C331.65 284.8 414 182.26 414 126 414 56.41 357.59 0 288 0zM20.12 215.95A32.006 32.006 0 0 0 0 245.66v250.32c0 11.32 11.43 19.06 21.94 14.86L160 448V214.92c-8.84-15.98-16.07-31.54-21.25-46.42L20.12 215.95zM288 359.67c-14.07 0-27.38-6.18-36.51-16.96-19.66-23.2-40.57-49.62-59.49-76.72v182l192 64V266c-18.92 27.09-39.82 53.52-59.49 76.72-9.13 10.77-22.44 16.95-36.51 16.95zm266.06-198.51L416 224v288l139.88-55.95A31.996 31.996 0 0 0 576 426.34V176.02c0-11.32-11.43-19.06-21.94-14.86z\"},\"child\":[]}]})(props);\n};\nexport function FaMapMarkerAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0zM192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817-80 80 35.817 80 80 80z\"},\"child\":[]}]})(props);\n};\nexport function FaMapMarker (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0z\"},\"child\":[]}]})(props);\n};\nexport function FaMapPin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 288 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M112 316.94v156.69l22.02 33.02c4.75 7.12 15.22 7.12 19.97 0L176 473.63V316.94c-10.39 1.92-21.06 3.06-32 3.06s-21.61-1.14-32-3.06zM144 0C64.47 0 0 64.47 0 144s64.47 144 144 144 144-64.47 144-144S223.53 0 144 0zm0 76c-37.5 0-68 30.5-68 68 0 6.62-5.38 12-12 12s-12-5.38-12-12c0-50.73 41.28-92 92-92 6.62 0 12 5.38 12 12s-5.38 12-12 12z\"},\"child\":[]}]})(props);\n};\nexport function FaMapSigns (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M507.31 84.69L464 41.37c-6-6-14.14-9.37-22.63-9.37H288V16c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v16H56c-13.25 0-24 10.75-24 24v80c0 13.25 10.75 24 24 24h385.37c8.49 0 16.62-3.37 22.63-9.37l43.31-43.31c6.25-6.26 6.25-16.38 0-22.63zM224 496c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V384h-64v112zm232-272H288v-32h-64v32H70.63c-8.49 0-16.62 3.37-22.63 9.37L4.69 276.69c-6.25 6.25-6.25 16.38 0 22.63L48 342.63c6 6 14.14 9.37 22.63 9.37H456c13.25 0 24-10.75 24-24v-80c0-13.25-10.75-24-24-24z\"},\"child\":[]}]})(props);\n};\nexport function FaMap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 117.66v346.32c0 11.32 11.43 19.06 21.94 14.86L160 416V32L20.12 87.95A32.006 32.006 0 0 0 0 117.66zM192 416l192 64V96L192 32v384zM554.06 33.16L416 96v384l139.88-55.95A31.996 31.996 0 0 0 576 394.34V48.02c0-11.32-11.43-19.06-21.94-14.86z\"},\"child\":[]}]})(props);\n};\nexport function FaMarker (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M93.95 290.03A327.038 327.038 0 0 0 .17 485.11l-.03.23c-1.7 15.28 11.21 28.2 26.49 26.51a327.02 327.02 0 0 0 195.34-93.8l75.4-75.4-128.02-128.02-75.4 75.4zM485.49 26.51c-35.35-35.35-92.67-35.35-128.02 0l-21.76 21.76-36.56-36.55c-15.62-15.62-40.95-15.62-56.56 0L138.47 115.84c-6.25 6.25-6.25 16.38 0 22.63l22.62 22.62c6.25 6.25 16.38 6.25 22.63 0l87.15-87.15 19.59 19.59L191.98 192 320 320.02l165.49-165.49c35.35-35.35 35.35-92.66 0-128.02z\"},\"child\":[]}]})(props);\n};\nexport function FaMarsDouble (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M340 0h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-48.7 48.7C198.5 72.1 172.2 64 144 64 64.5 64 0 128.5 0 208s64.5 144 144 144 144-64.5 144-144c0-28.2-8.1-54.5-22.1-76.7l48.7-48.7 16.9 16.9c2.4 2.4 5.5 3.5 8.4 3.5 6.2 0 12.1-4.8 12.1-12V12c0-6.6-5.4-12-12-12zM144 288c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80zm356-128.1h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-48.7 48.7c-18.2-11.4-39-18.9-61.5-21.3-2.1 21.8-8.2 43.3-18.4 63.3 1.1 0 2.2-.1 3.2-.1 44.1 0 80 35.9 80 80s-35.9 80-80 80-80-35.9-80-80c0-1.1 0-2.2.1-3.2-20 10.2-41.5 16.4-63.3 18.4C168.4 455.6 229.6 512 304 512c79.5 0 144-64.5 144-144 0-28.2-8.1-54.5-22.1-76.7l48.7-48.7 16.9 16.9c2.4 2.4 5.4 3.5 8.4 3.5 6.2 0 12.1-4.8 12.1-12v-79c0-6.7-5.4-12.1-12-12.1z\"},\"child\":[]}]})(props);\n};\nexport function FaMarsStrokeH (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 480 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M476.2 247.5l-55.9-55.9c-7.6-7.6-20.5-2.2-20.5 8.5V224H376v-20c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v20h-27.6c-5.8-25.6-18.7-49.9-38.6-69.8C189.6 98 98.4 98 42.2 154.2c-56.2 56.2-56.2 147.4 0 203.6 56.2 56.2 147.4 56.2 203.6 0 19.9-19.9 32.8-44.2 38.6-69.8H312v20c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-20h23.9v23.9c0 10.7 12.9 16 20.5 8.5l55.9-55.9c4.6-4.7 4.6-12.3-.1-17zm-275.6 65.1c-31.2 31.2-81.9 31.2-113.1 0-31.2-31.2-31.2-81.9 0-113.1 31.2-31.2 81.9-31.2 113.1 0 31.2 31.1 31.2 81.9 0 113.1z\"},\"child\":[]}]})(props);\n};\nexport function FaMarsStrokeV (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 288 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M245.8 234.2c-19.9-19.9-44.2-32.8-69.8-38.6v-25.4h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20V81.4h23.9c10.7 0 16-12.9 8.5-20.5L152.5 5.1c-4.7-4.7-12.3-4.7-17 0L79.6 61c-7.6 7.6-2.2 20.5 8.5 20.5H112v24.7H92c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h20v25.4c-25.6 5.8-49.9 18.7-69.8 38.6-56.2 56.2-56.2 147.4 0 203.6 56.2 56.2 147.4 56.2 203.6 0 56.3-56.2 56.3-147.4 0-203.6zm-45.2 158.4c-31.2 31.2-81.9 31.2-113.1 0-31.2-31.2-31.2-81.9 0-113.1 31.2-31.2 81.9-31.2 113.1 0 31.2 31.1 31.2 81.9 0 113.1z\"},\"child\":[]}]})(props);\n};\nexport function FaMarsStroke (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M372 64h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-17.5 17.5-14.1-14.1c-4.7-4.7-12.3-4.7-17 0L224.5 133c-4.7 4.7-4.7 12.3 0 17l14.1 14.1-18 18c-22.2-14-48.5-22.1-76.7-22.1C64.5 160 0 224.5 0 304s64.5 144 144 144 144-64.5 144-144c0-28.2-8.1-54.5-22.1-76.7l18-18 14.1 14.1c4.7 4.7 12.3 4.7 17 0l28.3-28.3c4.7-4.7 4.7-12.3 0-17L329.2 164l17.5-17.5 16.9 16.9c7.6 7.6 20.5 2.2 20.5-8.5V76c-.1-6.6-5.5-12-12.1-12zM144 384c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z\"},\"child\":[]}]})(props);\n};\nexport function FaMars (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M372 64h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-80.7 80.7c-22.2-14-48.5-22.1-76.7-22.1C64.5 160 0 224.5 0 304s64.5 144 144 144 144-64.5 144-144c0-28.2-8.1-54.5-22.1-76.7l80.7-80.7 16.9 16.9c7.6 7.6 20.5 2.2 20.5-8.5V76c0-6.6-5.4-12-12-12zM144 384c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z\"},\"child\":[]}]})(props);\n};\nexport function FaMask (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M320.67 64c-442.6 0-357.57 384-158.46 384 39.9 0 77.47-20.69 101.42-55.86l25.73-37.79c15.66-22.99 46.97-22.99 62.63 0l25.73 37.79C401.66 427.31 439.23 448 479.13 448c189.86 0 290.63-384-158.46-384zM184 308.36c-41.06 0-67.76-25.66-80.08-41.05-5.23-6.53-5.23-16.09 0-22.63 12.32-15.4 39.01-41.05 80.08-41.05s67.76 25.66 80.08 41.05c5.23 6.53 5.23 16.09 0 22.63-12.32 15.4-39.02 41.05-80.08 41.05zm272 0c-41.06 0-67.76-25.66-80.08-41.05-5.23-6.53-5.23-16.09 0-22.63 12.32-15.4 39.01-41.05 80.08-41.05s67.76 25.66 80.08 41.05c5.23 6.53 5.23 16.09 0 22.63-12.32 15.4-39.02 41.05-80.08 41.05z\"},\"child\":[]}]})(props);\n};\nexport function FaMedal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M223.75 130.75L154.62 15.54A31.997 31.997 0 0 0 127.18 0H16.03C3.08 0-4.5 14.57 2.92 25.18l111.27 158.96c29.72-27.77 67.52-46.83 109.56-53.39zM495.97 0H384.82c-11.24 0-21.66 5.9-27.44 15.54l-69.13 115.21c42.04 6.56 79.84 25.62 109.56 53.38L509.08 25.18C516.5 14.57 508.92 0 495.97 0zM256 160c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm92.52 157.26l-37.93 36.96 8.97 52.22c1.6 9.36-8.26 16.51-16.65 12.09L256 393.88l-46.9 24.65c-8.4 4.45-18.25-2.74-16.65-12.09l8.97-52.22-37.93-36.96c-6.82-6.64-3.05-18.23 6.35-19.59l52.43-7.64 23.43-47.52c2.11-4.28 6.19-6.39 10.28-6.39 4.11 0 8.22 2.14 10.33 6.39l23.43 47.52 52.43 7.64c9.4 1.36 13.17 12.95 6.35 19.59z\"},\"child\":[]}]})(props);\n};\nexport function FaMedkit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M96 480h320V128h-32V80c0-26.51-21.49-48-48-48H176c-26.51 0-48 21.49-48 48v48H96v352zm96-384h128v32H192V96zm320 80v256c0 26.51-21.49 48-48 48h-16V128h16c26.51 0 48 21.49 48 48zM64 480H48c-26.51 0-48-21.49-48-48V176c0-26.51 21.49-48 48-48h16v352zm288-208v32c0 8.837-7.163 16-16 16h-48v48c0 8.837-7.163 16-16 16h-32c-8.837 0-16-7.163-16-16v-48h-48c-8.837 0-16-7.163-16-16v-32c0-8.837 7.163-16 16-16h48v-48c0-8.837 7.163-16 16-16h32c8.837 0 16 7.163 16 16v48h48c8.837 0 16 7.163 16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaMehBlank (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-80 232c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm160 0c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaMehRollingEyes (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM88 224c0-24.3 13.7-45.2 33.6-56-.7 2.6-1.6 5.2-1.6 8 0 17.7 14.3 32 32 32s32-14.3 32-32c0-2.8-.9-5.4-1.6-8 19.9 10.8 33.6 31.7 33.6 56 0 35.3-28.7 64-64 64s-64-28.7-64-64zm224 176H184c-21.2 0-21.2-32 0-32h128c21.2 0 21.2 32 0 32zm32-112c-35.3 0-64-28.7-64-64 0-24.3 13.7-45.2 33.6-56-.7 2.6-1.6 5.2-1.6 8 0 17.7 14.3 32 32 32s32-14.3 32-32c0-2.8-.9-5.4-1.6-8 19.9 10.8 33.6 31.7 33.6 56 0 35.3-28.7 64-64 64z\"},\"child\":[]}]})(props);\n};\nexport function FaMeh (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm-80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm176 192H152c-21.2 0-21.2-32 0-32h192c21.2 0 21.2 32 0 32zm-16-128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaMemory (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M640 130.94V96c0-17.67-14.33-32-32-32H32C14.33 64 0 78.33 0 96v34.94c18.6 6.61 32 24.19 32 45.06s-13.4 38.45-32 45.06V320h640v-98.94c-18.6-6.61-32-24.19-32-45.06s13.4-38.45 32-45.06zM224 256h-64V128h64v128zm128 0h-64V128h64v128zm128 0h-64V128h64v128zM0 448h64v-26.67c0-8.84 7.16-16 16-16s16 7.16 16 16V448h128v-26.67c0-8.84 7.16-16 16-16s16 7.16 16 16V448h128v-26.67c0-8.84 7.16-16 16-16s16 7.16 16 16V448h128v-26.67c0-8.84 7.16-16 16-16s16 7.16 16 16V448h64v-96H0v96z\"},\"child\":[]}]})(props);\n};\nexport function FaMenorah (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M144 128h-32c-8.84 0-16 7.16-16 16v144h64V144c0-8.84-7.16-16-16-16zm96 0h-32c-8.84 0-16 7.16-16 16v144h64V144c0-8.84-7.16-16-16-16zm192 0h-32c-8.84 0-16 7.16-16 16v144h64V144c0-8.84-7.16-16-16-16zm96 0h-32c-8.84 0-16 7.16-16 16v144h64V144c0-8.84-7.16-16-16-16zm80-32c17.67 0 32-14.33 32-32S608 0 608 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S512 0 512 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S416 0 416 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S320 0 320 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S224 0 224 0s-32 46.33-32 64 14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S128 0 128 0 96 46.33 96 64s14.33 32 32 32zm-96 0c17.67 0 32-14.33 32-32S32 0 32 0 0 46.33 0 64s14.33 32 32 32zm544 192c0 17.67-14.33 32-32 32H352V144c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v176H96c-17.67 0-32-14.33-32-32V144c0-8.84-7.16-16-16-16H16c-8.84 0-16 7.16-16 16v144c0 53.02 42.98 96 96 96h192v64H112c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16H352v-64h192c53.02 0 96-42.98 96-96V144c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v144z\"},\"child\":[]}]})(props);\n};\nexport function FaMercury (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 288 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 208c0-44.2-19.9-83.7-51.2-110.1 2.5-1.8 4.9-3.8 7.2-5.8 24.7-21.2 39.8-48.8 43.2-78.8.9-7.1-4.7-13.3-11.9-13.3h-40.5C229 0 224.1 4.1 223 9.8c-2.4 12.5-9.6 24.3-20.7 33.8C187 56.8 166.3 64 144 64s-43-7.2-58.4-20.4C74.5 34.1 67.4 22.3 64.9 9.8 63.8 4.1 58.9 0 53.2 0H12.7C5.5 0-.1 6.2.8 13.3 4.2 43.4 19.2 71 44 92.2c2.3 2 4.7 3.9 7.2 5.8C19.9 124.3 0 163.8 0 208c0 68.5 47.9 125.9 112 140.4V400H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v36c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-36h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-51.6c64.1-14.5 112-71.9 112-140.4zm-224 0c0-44.1 35.9-80 80-80s80 35.9 80 80-35.9 80-80 80-80-35.9-80-80z\"},\"child\":[]}]})(props);\n};\nexport function FaMeteor (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M511.328,20.8027c-11.60759,38.70264-34.30724,111.70173-61.30311,187.70077,6.99893,2.09372,13.4042,4,18.60653,5.59368a16.06158,16.06158,0,0,1,9.49854,22.906c-22.106,42.29635-82.69047,152.795-142.47819,214.40356-.99984,1.09373-1.99969,2.5-2.99954,3.49995A194.83046,194.83046,0,1,1,57.085,179.41009c.99985-1,2.40588-2,3.49947-3,61.59994-59.90549,171.97367-120.40473,214.37343-142.4982a16.058,16.058,0,0,1,22.90274,9.49988c1.59351,5.09368,3.49947,11.5936,5.5929,18.59351C379.34818,35.00565,452.43074,12.30281,491.12794.70921A16.18325,16.18325,0,0,1,511.328,20.8027ZM319.951,320.00207A127.98041,127.98041,0,1,0,191.97061,448.00046,127.97573,127.97573,0,0,0,319.951,320.00207Zm-127.98041-31.9996a31.9951,31.9951,0,1,1-31.9951-31.9996A31.959,31.959,0,0,1,191.97061,288.00247Zm31.9951,79.999a15.99755,15.99755,0,1,1-15.99755-15.9998A16.04975,16.04975,0,0,1,223.96571,368.00147Z\"},\"child\":[]}]})(props);\n};\nexport function FaMicrochip (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416 48v416c0 26.51-21.49 48-48 48H144c-26.51 0-48-21.49-48-48V48c0-26.51 21.49-48 48-48h224c26.51 0 48 21.49 48 48zm96 58v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42V88h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zm0 96v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42v-48h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zm0 96v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42v-48h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zm0 96v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42v-48h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zM30 376h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6zm0-96h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6zm0-96h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6zm0-96h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6z\"},\"child\":[]}]})(props);\n};\nexport function FaMicrophoneAltSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M633.82 458.1L476.26 336.33C488.74 312.21 496 284.98 496 256v-48c0-8.84-7.16-16-16-16h-16c-8.84 0-16 7.16-16 16v48c0 17.92-3.96 34.8-10.72 50.2l-26.55-20.52c3.1-9.4 5.28-19.22 5.28-29.67h-43.67l-41.4-32H416v-32h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H416v-32h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H416c0-53.02-42.98-96-96-96s-96 42.98-96 96v45.36L45.47 3.37C38.49-2.05 28.43-.8 23.01 6.18L3.37 31.45C-2.05 38.42-.8 48.47 6.18 53.9l588.36 454.73c6.98 5.43 17.03 4.17 22.46-2.81l19.64-25.27c5.41-6.97 4.16-17.02-2.82-22.45zM400 464h-56v-33.78c11.71-1.62 23.1-4.28 33.96-8.08l-50.4-38.96c-6.71.4-13.41.87-20.35.2-55.85-5.45-98.74-48.63-111.18-101.85L144 241.31v6.85c0 89.64 63.97 169.55 152 181.69V464h-56c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaMicrophoneAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 352 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M336 192h-16c-8.84 0-16 7.16-16 16v48c0 74.8-64.49 134.82-140.79 127.38C96.71 376.89 48 317.11 48 250.3V208c0-8.84-7.16-16-16-16H16c-8.84 0-16 7.16-16 16v40.16c0 89.64 63.97 169.55 152 181.69V464H96c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16h-56v-33.77C285.71 418.47 352 344.9 352 256v-48c0-8.84-7.16-16-16-16zM176 352c53.02 0 96-42.98 96-96h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H272v-32h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H272v-32h-85.33c-5.89 0-10.67-3.58-10.67-8v-16c0-4.42 4.78-8 10.67-8H272c0-53.02-42.98-96-96-96S80 42.98 80 96v160c0 53.02 42.98 96 96 96z\"},\"child\":[]}]})(props);\n};\nexport function FaMicrophoneSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M633.82 458.1l-157.8-121.96C488.61 312.13 496 285.01 496 256v-48c0-8.84-7.16-16-16-16h-16c-8.84 0-16 7.16-16 16v48c0 17.92-3.96 34.8-10.72 50.2l-26.55-20.52c3.1-9.4 5.28-19.22 5.28-29.67V96c0-53.02-42.98-96-96-96s-96 42.98-96 96v45.36L45.47 3.37C38.49-2.05 28.43-.8 23.01 6.18L3.37 31.45C-2.05 38.42-.8 48.47 6.18 53.9l588.36 454.73c6.98 5.43 17.03 4.17 22.46-2.81l19.64-25.27c5.41-6.97 4.16-17.02-2.82-22.45zM400 464h-56v-33.77c11.66-1.6 22.85-4.54 33.67-8.31l-50.11-38.73c-6.71.4-13.41.87-20.35.2-55.85-5.45-98.74-48.63-111.18-101.85L144 241.31v6.85c0 89.64 63.97 169.55 152 181.69V464h-56c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaMicrophone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 352 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M176 352c53.02 0 96-42.98 96-96V96c0-53.02-42.98-96-96-96S80 42.98 80 96v160c0 53.02 42.98 96 96 96zm160-160h-16c-8.84 0-16 7.16-16 16v48c0 74.8-64.49 134.82-140.79 127.38C96.71 376.89 48 317.11 48 250.3V208c0-8.84-7.16-16-16-16H16c-8.84 0-16 7.16-16 16v40.16c0 89.64 63.97 169.55 152 181.69V464H96c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h160c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16h-56v-33.77C285.71 418.47 352 344.9 352 256v-48c0-8.84-7.16-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaMicroscope (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M160 320h12v16c0 8.84 7.16 16 16 16h40c8.84 0 16-7.16 16-16v-16h12c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32V16c0-8.84-7.16-16-16-16h-64c-8.84 0-16 7.16-16 16v16c-17.67 0-32 14.33-32 32v224c0 17.67 14.33 32 32 32zm304 128h-1.29C493.24 413.99 512 369.2 512 320c0-105.88-86.12-192-192-192v64c70.58 0 128 57.42 128 128s-57.42 128-128 128H48c-26.51 0-48 21.49-48 48 0 8.84 7.16 16 16 16h480c8.84 0 16-7.16 16-16 0-26.51-21.49-48-48-48zm-360-32h208c4.42 0 8-3.58 8-8v-16c0-4.42-3.58-8-8-8H104c-4.42 0-8 3.58-8 8v16c0 4.42 3.58 8 8 8z\"},\"child\":[]}]})(props);\n};\nexport function FaMinusCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zM124 296c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h264c6.6 0 12 5.4 12 12v56c0 6.6-5.4 12-12 12H124z\"},\"child\":[]}]})(props);\n};\nexport function FaMinusSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM92 296c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h264c6.6 0 12 5.4 12 12v56c0 6.6-5.4 12-12 12H92z\"},\"child\":[]}]})(props);\n};\nexport function FaMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416 208H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaMitten (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M368 416H48c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h320c8.8 0 16-7.2 16-16v-64c0-8.8-7.2-16-16-16zm57-209.1c-27.2-22.6-67.5-19-90.1 8.2l-20.9 25-29.6-128.4c-18-77.5-95.4-125.9-172.8-108C34.2 21.6-14.2 98.9 3.7 176.4L51.6 384h309l72.5-87c22.7-27.2 19-67.5-8.1-90.1z\"},\"child\":[]}]})(props);\n};\nexport function FaMobileAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M272 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h224c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM160 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm112-108c0 6.6-5.4 12-12 12H60c-6.6 0-12-5.4-12-12V60c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v312z\"},\"child\":[]}]})(props);\n};\nexport function FaMobile (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M272 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h224c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM160 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaMoneyBillAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M352 288h-16v-88c0-4.42-3.58-8-8-8h-13.58c-4.74 0-9.37 1.4-13.31 4.03l-15.33 10.22a7.994 7.994 0 0 0-2.22 11.09l8.88 13.31a7.994 7.994 0 0 0 11.09 2.22l.47-.31V288h-16c-4.42 0-8 3.58-8 8v16c0 4.42 3.58 8 8 8h64c4.42 0 8-3.58 8-8v-16c0-4.42-3.58-8-8-8zM608 64H32C14.33 64 0 78.33 0 96v320c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V96c0-17.67-14.33-32-32-32zM48 400v-64c35.35 0 64 28.65 64 64H48zm0-224v-64h64c0 35.35-28.65 64-64 64zm272 192c-53.02 0-96-50.15-96-112 0-61.86 42.98-112 96-112s96 50.14 96 112c0 61.87-43 112-96 112zm272 32h-64c0-35.35 28.65-64 64-64v64zm0-224c-35.35 0-64-28.65-64-64h64v64z\"},\"child\":[]}]})(props);\n};\nexport function FaMoneyBillWaveAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M621.16 54.46C582.37 38.19 543.55 32 504.75 32c-123.17-.01-246.33 62.34-369.5 62.34-30.89 0-61.76-3.92-92.65-13.72-3.47-1.1-6.95-1.62-10.35-1.62C15.04 79 0 92.32 0 110.81v317.26c0 12.63 7.23 24.6 18.84 29.46C57.63 473.81 96.45 480 135.25 480c123.17 0 246.34-62.35 369.51-62.35 30.89 0 61.76 3.92 92.65 13.72 3.47 1.1 6.95 1.62 10.35 1.62 17.21 0 32.25-13.32 32.25-31.81V83.93c-.01-12.64-7.24-24.6-18.85-29.47zM320 352c-44.19 0-80-42.99-80-96 0-53.02 35.82-96 80-96s80 42.98 80 96c0 53.03-35.83 96-80 96z\"},\"child\":[]}]})(props);\n};\nexport function FaMoneyBillWave (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M621.16 54.46C582.37 38.19 543.55 32 504.75 32c-123.17-.01-246.33 62.34-369.5 62.34-30.89 0-61.76-3.92-92.65-13.72-3.47-1.1-6.95-1.62-10.35-1.62C15.04 79 0 92.32 0 110.81v317.26c0 12.63 7.23 24.6 18.84 29.46C57.63 473.81 96.45 480 135.25 480c123.17 0 246.34-62.35 369.51-62.35 30.89 0 61.76 3.92 92.65 13.72 3.47 1.1 6.95 1.62 10.35 1.62 17.21 0 32.25-13.32 32.25-31.81V83.93c-.01-12.64-7.24-24.6-18.85-29.47zM48 132.22c20.12 5.04 41.12 7.57 62.72 8.93C104.84 170.54 79 192.69 48 192.69v-60.47zm0 285v-47.78c34.37 0 62.18 27.27 63.71 61.4-22.53-1.81-43.59-6.31-63.71-13.62zM320 352c-44.19 0-80-42.99-80-96 0-53.02 35.82-96 80-96s80 42.98 80 96c0 53.03-35.83 96-80 96zm272 27.78c-17.52-4.39-35.71-6.85-54.32-8.44 5.87-26.08 27.5-45.88 54.32-49.28v57.72zm0-236.11c-30.89-3.91-54.86-29.7-55.81-61.55 19.54 2.17 38.09 6.23 55.81 12.66v48.89z\"},\"child\":[]}]})(props);\n};\nexport function FaMoneyBill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M608 64H32C14.33 64 0 78.33 0 96v320c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V96c0-17.67-14.33-32-32-32zM48 400v-64c35.35 0 64 28.65 64 64H48zm0-224v-64h64c0 35.35-28.65 64-64 64zm272 176c-44.19 0-80-42.99-80-96 0-53.02 35.82-96 80-96s80 42.98 80 96c0 53.03-35.83 96-80 96zm272 48h-64c0-35.35 28.65-64 64-64v64zm0-224c-35.35 0-64-28.65-64-64h64v64z\"},\"child\":[]}]})(props);\n};\nexport function FaMoneyCheckAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M608 32H32C14.33 32 0 46.33 0 64v384c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V64c0-17.67-14.33-32-32-32zM176 327.88V344c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-16.29c-11.29-.58-22.27-4.52-31.37-11.35-3.9-2.93-4.1-8.77-.57-12.14l11.75-11.21c2.77-2.64 6.89-2.76 10.13-.73 3.87 2.42 8.26 3.72 12.82 3.72h28.11c6.5 0 11.8-5.92 11.8-13.19 0-5.95-3.61-11.19-8.77-12.73l-45-13.5c-18.59-5.58-31.58-23.42-31.58-43.39 0-24.52 19.05-44.44 42.67-45.07V152c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v16.29c11.29.58 22.27 4.51 31.37 11.35 3.9 2.93 4.1 8.77.57 12.14l-11.75 11.21c-2.77 2.64-6.89 2.76-10.13.73-3.87-2.43-8.26-3.72-12.82-3.72h-28.11c-6.5 0-11.8 5.92-11.8 13.19 0 5.95 3.61 11.19 8.77 12.73l45 13.5c18.59 5.58 31.58 23.42 31.58 43.39 0 24.53-19.05 44.44-42.67 45.07zM416 312c0 4.42-3.58 8-8 8H296c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h112c4.42 0 8 3.58 8 8v16zm160 0c0 4.42-3.58 8-8 8h-80c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h80c4.42 0 8 3.58 8 8v16zm0-96c0 4.42-3.58 8-8 8H296c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h272c4.42 0 8 3.58 8 8v16z\"},\"child\":[]}]})(props);\n};\nexport function FaMoneyCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 448c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V128H0v320zm448-208c0-8.84 7.16-16 16-16h96c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16h-96c-8.84 0-16-7.16-16-16v-32zm0 120c0-4.42 3.58-8 8-8h112c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H456c-4.42 0-8-3.58-8-8v-16zM64 264c0-4.42 3.58-8 8-8h304c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16zm0 96c0-4.42 3.58-8 8-8h176c4.42 0 8 3.58 8 8v16c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16zM624 32H16C7.16 32 0 39.16 0 48v48h640V48c0-8.84-7.16-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaMonument (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M368 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h352c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-78.86-347.26a31.97 31.97 0 0 0-9.21-19.44L203.31 4.69c-6.25-6.25-16.38-6.25-22.63 0l-76.6 76.61a31.97 31.97 0 0 0-9.21 19.44L64 416h256l-30.86-315.26zM240 307.2c0 6.4-6.4 12.8-12.8 12.8h-70.4c-6.4 0-12.8-6.4-12.8-12.8v-38.4c0-6.4 6.4-12.8 12.8-12.8h70.4c6.4 0 12.8 6.4 12.8 12.8v38.4z\"},\"child\":[]}]})(props);\n};\nexport function FaMoon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M283.211 512c78.962 0 151.079-35.925 198.857-94.792 7.068-8.708-.639-21.43-11.562-19.35-124.203 23.654-238.262-71.576-238.262-196.954 0-72.222 38.662-138.635 101.498-174.394 9.686-5.512 7.25-20.197-3.756-22.23A258.156 258.156 0 0 0 283.211 0c-141.309 0-256 114.511-256 256 0 141.309 114.511 256 256 256z\"},\"child\":[]}]})(props);\n};\nexport function FaMortarPestle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M501.54 60.91c17.22-17.22 12.51-46.25-9.27-57.14a35.696 35.696 0 0 0-37.37 3.37L251.09 160h151.37l99.08-99.09zM496 192H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h16c0 80.98 50.2 150.11 121.13 178.32-12.76 16.87-21.72 36.8-24.95 58.69-1.46 9.92 6.04 18.98 16.07 18.98h223.5c10.03 0 17.53-9.06 16.07-18.98-3.22-21.89-12.18-41.82-24.95-58.69C429.8 406.11 480 336.98 480 256h16c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaMosque (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 480c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V160H0v320zm579.16-192c17.86-17.39 28.84-37.34 28.84-58.91 0-52.86-41.79-93.79-87.92-122.9-41.94-26.47-80.63-57.77-111.96-96.22L400 0l-8.12 9.97c-31.33 38.45-70.01 69.76-111.96 96.22C233.79 135.3 192 176.23 192 229.09c0 21.57 10.98 41.52 28.84 58.91h358.32zM608 320H192c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h32v-64c0-17.67 14.33-32 32-32s32 14.33 32 32v64h64v-72c0-48 48-72 48-72s48 24 48 72v72h64v-64c0-17.67 14.33-32 32-32s32 14.33 32 32v64h32c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32zM64 0S0 32 0 96v32h128V96c0-64-64-96-64-96z\"},\"child\":[]}]})(props);\n};\nexport function FaMotorcycle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512.9 192c-14.9-.1-29.1 2.3-42.4 6.9L437.6 144H520c13.3 0 24-10.7 24-24V88c0-13.3-10.7-24-24-24h-45.3c-6.8 0-13.3 2.9-17.8 7.9l-37.5 41.7-22.8-38C392.2 68.4 384.4 64 376 64h-80c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h66.4l19.2 32H227.9c-17.7-23.1-44.9-40-99.9-40H72.5C59 104 47.7 115 48 128.5c.2 13 10.9 23.5 24 23.5h56c24.5 0 38.7 10.9 47.8 24.8l-11.3 20.5c-13-3.9-26.9-5.7-41.3-5.2C55.9 194.5 1.6 249.6 0 317c-1.6 72.1 56.3 131 128 131 59.6 0 109.7-40.8 124-96h84.2c13.7 0 24.6-11.4 24-25.1-2.1-47.1 17.5-93.7 56.2-125l12.5 20.8c-27.6 23.7-45.1 58.9-44.8 98.2.5 69.6 57.2 126.5 126.8 127.1 71.6.7 129.8-57.5 129.2-129.1-.7-69.6-57.6-126.4-127.2-126.9zM128 400c-44.1 0-80-35.9-80-80s35.9-80 80-80c4.2 0 8.4.3 12.5 1L99 316.4c-8.8 16 2.8 35.6 21 35.6h81.3c-12.4 28.2-40.6 48-73.3 48zm463.9-75.6c-2.2 40.6-35 73.4-75.5 75.5-46.1 2.5-84.4-34.3-84.4-79.9 0-21.4 8.4-40.8 22.1-55.1l49.4 82.4c4.5 7.6 14.4 10 22 5.5l13.7-8.2c7.6-4.5 10-14.4 5.5-22l-48.6-80.9c5.2-1.1 10.5-1.6 15.9-1.6 45.6-.1 82.3 38.2 79.9 84.3z\"},\"child\":[]}]})(props);\n};\nexport function FaMountain (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M634.92 462.7l-288-448C341.03 5.54 330.89 0 320 0s-21.03 5.54-26.92 14.7l-288 448a32.001 32.001 0 0 0-1.17 32.64A32.004 32.004 0 0 0 32 512h576c11.71 0 22.48-6.39 28.09-16.67a31.983 31.983 0 0 0-1.17-32.63zM320 91.18L405.39 224H320l-64 64-38.06-38.06L320 91.18z\"},\"child\":[]}]})(props);\n};\nexport function FaMousePointer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M302.189 329.126H196.105l55.831 135.993c3.889 9.428-.555 19.999-9.444 23.999l-49.165 21.427c-9.165 4-19.443-.571-23.332-9.714l-53.053-129.136-86.664 89.138C18.729 472.71 0 463.554 0 447.977V18.299C0 1.899 19.921-6.096 30.277 5.443l284.412 292.542c11.472 11.179 3.007 31.141-12.5 31.141z\"},\"child\":[]}]})(props);\n};\nexport function FaMouse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 352a160 160 0 0 0 160 160h64a160 160 0 0 0 160-160V224H0zM176 0h-16A160 160 0 0 0 0 160v32h176zm48 0h-16v192h176v-32A160 160 0 0 0 224 0z\"},\"child\":[]}]})(props);\n};\nexport function FaMugHot (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M127.1 146.5c1.3 7.7 8 13.5 16 13.5h16.5c9.8 0 17.6-8.5 16.3-18-3.8-28.2-16.4-54.2-36.6-74.7-14.4-14.7-23.6-33.3-26.4-53.5C111.8 5.9 105 0 96.8 0H80.4C70.6 0 63 8.5 64.1 18c3.9 31.9 18 61.3 40.6 84.4 12 12.2 19.7 27.5 22.4 44.1zm112 0c1.3 7.7 8 13.5 16 13.5h16.5c9.8 0 17.6-8.5 16.3-18-3.8-28.2-16.4-54.2-36.6-74.7-14.4-14.7-23.6-33.3-26.4-53.5C223.8 5.9 217 0 208.8 0h-16.4c-9.8 0-17.5 8.5-16.3 18 3.9 31.9 18 61.3 40.6 84.4 12 12.2 19.7 27.5 22.4 44.1zM400 192H32c-17.7 0-32 14.3-32 32v192c0 53 43 96 96 96h192c53 0 96-43 96-96h16c61.8 0 112-50.2 112-112s-50.2-112-112-112zm0 160h-16v-96h16c26.5 0 48 21.5 48 48s-21.5 48-48 48z\"},\"child\":[]}]})(props);\n};\nexport function FaMusic (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M470.38 1.51L150.41 96A32 32 0 0 0 128 126.51v261.41A139 139 0 0 0 96 384c-53 0-96 28.66-96 64s43 64 96 64 96-28.66 96-64V214.32l256-75v184.61a138.4 138.4 0 0 0-32-3.93c-53 0-96 28.66-96 64s43 64 96 64 96-28.65 96-64V32a32 32 0 0 0-41.62-30.49z\"},\"child\":[]}]})(props);\n};\nexport function FaNetworkWired (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M640 264v-16c0-8.84-7.16-16-16-16H344v-40h72c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32H224c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h72v40H16c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h104v40H64c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h160c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32h-56v-40h304v40h-56c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h160c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32h-56v-40h104c8.84 0 16-7.16 16-16zM256 128V64h128v64H256zm-64 320H96v-64h96v64zm352 0h-96v-64h96v64z\"},\"child\":[]}]})(props);\n};\nexport function FaNeuter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 288 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 176c0-79.5-64.5-144-144-144S0 96.5 0 176c0 68.5 47.9 125.9 112 140.4V468c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12V316.4c64.1-14.5 112-71.9 112-140.4zm-144 80c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z\"},\"child\":[]}]})(props);\n};\nexport function FaNewspaper (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M552 64H88c-13.255 0-24 10.745-24 24v8H24c-13.255 0-24 10.745-24 24v272c0 30.928 25.072 56 56 56h472c26.51 0 48-21.49 48-48V88c0-13.255-10.745-24-24-24zM56 400a8 8 0 0 1-8-8V144h16v248a8 8 0 0 1-8 8zm236-16H140c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm208 0H348c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm-208-96H140c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm208 0H348c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm0-96H140c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h360c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12z\"},\"child\":[]}]})(props);\n};\nexport function FaNotEqual (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416 208c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32h-23.88l51.87-66.81c5.37-7.02 4.04-17.06-2.97-22.43L415.61 3.3c-7.02-5.38-17.06-4.04-22.44 2.97L311.09 112H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h204.56l-74.53 96H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h55.49l-51.87 66.81c-5.37 7.01-4.04 17.05 2.97 22.43L64 508.7c7.02 5.38 17.06 4.04 22.43-2.97L168.52 400H416c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32H243.05l74.53-96H416z\"},\"child\":[]}]})(props);\n};\nexport function FaNotesMedical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM192 40c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm96 304c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48zm0-192c0 4.4-3.6 8-8 8H104c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h176c4.4 0 8 3.6 8 8v16z\"},\"child\":[]}]})(props);\n};\nexport function FaObjectGroup (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M480 128V96h20c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v20H64V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v40c0 6.627 5.373 12 12 12h20v320H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-20h384v20c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-20V128zM96 276V140c0-6.627 5.373-12 12-12h168c6.627 0 12 5.373 12 12v136c0 6.627-5.373 12-12 12H108c-6.627 0-12-5.373-12-12zm320 96c0 6.627-5.373 12-12 12H236c-6.627 0-12-5.373-12-12v-52h72c13.255 0 24-10.745 24-24v-72h84c6.627 0 12 5.373 12 12v136z\"},\"child\":[]}]})(props);\n};\nexport function FaObjectUngroup (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M64 320v26a6 6 0 0 1-6 6H6a6 6 0 0 1-6-6v-52a6 6 0 0 1 6-6h26V96H6a6 6 0 0 1-6-6V38a6 6 0 0 1 6-6h52a6 6 0 0 1 6 6v26h288V38a6 6 0 0 1 6-6h52a6 6 0 0 1 6 6v52a6 6 0 0 1-6 6h-26v192h26a6 6 0 0 1 6 6v52a6 6 0 0 1-6 6h-52a6 6 0 0 1-6-6v-26H64zm480-64v-32h26a6 6 0 0 0 6-6v-52a6 6 0 0 0-6-6h-52a6 6 0 0 0-6 6v26H408v72h8c13.255 0 24 10.745 24 24v64c0 13.255-10.745 24-24 24h-64c-13.255 0-24-10.745-24-24v-8H192v72h-26a6 6 0 0 0-6 6v52a6 6 0 0 0 6 6h52a6 6 0 0 0 6-6v-26h288v26a6 6 0 0 0 6 6h52a6 6 0 0 0 6-6v-52a6 6 0 0 0-6-6h-26V256z\"},\"child\":[]}]})(props);\n};\nexport function FaOilCan (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M629.8 160.31L416 224l-50.49-25.24a64.07 64.07 0 0 0-28.62-6.76H280v-48h56c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16H176c-8.84 0-16 7.16-16 16v16c0 8.84 7.16 16 16 16h56v48h-56L37.72 166.86a31.9 31.9 0 0 0-5.79-.53C14.67 166.33 0 180.36 0 198.34v94.95c0 15.46 11.06 28.72 26.28 31.48L96 337.46V384c0 17.67 14.33 32 32 32h274.63c8.55 0 16.75-3.42 22.76-9.51l212.26-214.75c1.5-1.5 2.34-3.54 2.34-5.66V168c.01-5.31-5.08-9.15-10.19-7.69zM96 288.67l-48-8.73v-62.43l48 8.73v62.43zm453.33 84.66c0 23.56 19.1 42.67 42.67 42.67s42.67-19.1 42.67-42.67S592 288 592 288s-42.67 61.77-42.67 85.33z\"},\"child\":[]}]})(props);\n};\nexport function FaOm (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M360.6 60.94a10.43 10.43 0 0 0 14.76 0l21.57-21.56a10.43 10.43 0 0 0 0-14.76L375.35 3.06c-4.08-4.07-10.68-4.07-14.76 0l-21.57 21.56a10.43 10.43 0 0 0 0 14.76l21.58 21.56zM412.11 192c-26.69 0-51.77 10.39-70.64 29.25l-24.25 24.25c-6.78 6.77-15.78 10.5-25.38 10.5H245c10.54-22.1 14.17-48.11 7.73-75.23-10.1-42.55-46.36-76.11-89.52-83.19-36.15-5.93-70.9 5.04-96.01 28.78-7.36 6.96-6.97 18.85 1.12 24.93l26.15 19.63c5.72 4.3 13.66 4.32 19.2-.21 8.45-6.9 19.02-10.71 30.27-10.71 26.47 0 48.01 21.53 48.01 48s-21.54 48-48.01 48h-31.9c-11.96 0-19.74 12.58-14.39 23.28l16.09 32.17c2.53 5.06 7.6 8.1 13.17 8.55h33.03c35.3 0 64.01 28.7 64.01 64s-28.71 64-64.01 64c-96.02 0-122.35-54.02-145.15-92.03-4.53-7.55-14.77-3.58-14.79 5.22C-.09 416 41.13 512 159.94 512c70.59 0 128.02-57.42 128.02-128 0-23.42-6.78-45.1-17.81-64h21.69c26.69 0 51.77-10.39 70.64-29.25l24.25-24.25c6.78-6.77 15.78-10.5 25.38-10.5 19.78 0 35.88 16.09 35.88 35.88V392c0 13.23-18.77 24-32.01 24-39.4 0-66.67-24.24-81.82-42.89-4.77-5.87-14.2-2.54-14.2 5.02V416s0 64 96.02 64c48.54 0 96.02-39.47 96.02-88V291.88c0-55.08-44.8-99.88-99.89-99.88zm42.18-124.73c-85.55 65.12-169.05 2.75-172.58.05-6.02-4.62-14.44-4.38-20.14.55-5.74 4.92-7.27 13.17-3.66 19.8 1.61 2.95 40.37 72.34 118.8 72.34 79.92 0 98.78-31.36 101.75-37.66 1.02-2.12 1.53-4.47 1.53-6.83V80c0-13.22-15.14-20.69-25.7-12.73z\"},\"child\":[]}]})(props);\n};\nexport function FaOtter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M608 32h-32l-13.25-13.25A63.97 63.97 0 0 0 517.49 0H497c-11.14 0-22.08 2.91-31.75 8.43L312 96h-56C149.96 96 64 181.96 64 288v1.61c0 32.75-16 62.14-39.56 84.89-18.19 17.58-28.1 43.68-23.19 71.8 6.76 38.8 42.9 65.7 82.28 65.7H192c17.67 0 32-14.33 32-32s-14.33-32-32-32H80c-8.83 0-16-7.17-16-16s7.17-16 16-16h224c8.84 0 16-7.16 16-16v-16c0-17.67-14.33-32-32-32h-64l149.49-80.5L448 416h80c8.84 0 16-7.16 16-16v-16c0-17.67-14.33-32-32-32h-28.22l-55.11-110.21L521.14 192H544c53.02 0 96-42.98 96-96V64c0-17.67-14.33-32-32-32zm-96 16c8.84 0 16 7.16 16 16s-7.16 16-16 16-16-7.16-16-16 7.16-16 16-16zm32 96h-34.96L407.2 198.84l-13.77-27.55L512 112h77.05c-6.62 18.58-24.22 32-45.05 32z\"},\"child\":[]}]})(props);\n};\nexport function FaOutdent (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M100.69 363.29c10 10 27.31 2.93 27.31-11.31V160c0-14.32-17.33-21.31-27.31-11.31l-96 96a16 16 0 0 0 0 22.62zM432 416H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm3.17-128H204.83A12.82 12.82 0 0 0 192 300.83v38.34A12.82 12.82 0 0 0 204.83 352h230.34A12.82 12.82 0 0 0 448 339.17v-38.34A12.82 12.82 0 0 0 435.17 288zm0-128H204.83A12.82 12.82 0 0 0 192 172.83v38.34A12.82 12.82 0 0 0 204.83 224h230.34A12.82 12.82 0 0 0 448 211.17v-38.34A12.82 12.82 0 0 0 435.17 160zM432 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaPager (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 64H64a64 64 0 0 0-64 64v256a64 64 0 0 0 64 64h384a64 64 0 0 0 64-64V128a64 64 0 0 0-64-64zM160 368H80a16 16 0 0 1-16-16v-16a16 16 0 0 1 16-16h80zm128-16a16 16 0 0 1-16 16h-80v-48h80a16 16 0 0 1 16 16zm160-128a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32v-64a32 32 0 0 1 32-32h320a32 32 0 0 1 32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaPaintBrush (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M167.02 309.34c-40.12 2.58-76.53 17.86-97.19 72.3-2.35 6.21-8 9.98-14.59 9.98-11.11 0-45.46-27.67-55.25-34.35C0 439.62 37.93 512 128 512c75.86 0 128-43.77 128-120.19 0-3.11-.65-6.08-.97-9.13l-88.01-73.34zM457.89 0c-15.16 0-29.37 6.71-40.21 16.45C213.27 199.05 192 203.34 192 257.09c0 13.7 3.25 26.76 8.73 38.7l63.82 53.18c7.21 1.8 14.64 3.03 22.39 3.03 62.11 0 98.11-45.47 211.16-256.46 7.38-14.35 13.9-29.85 13.9-45.99C512 20.64 486 0 457.89 0z\"},\"child\":[]}]})(props);\n};\nexport function FaPaintRoller (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416 128V32c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v96c0 17.67 14.33 32 32 32h352c17.67 0 32-14.33 32-32zm32-64v128c0 17.67-14.33 32-32 32H256c-35.35 0-64 28.65-64 64v32c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32v-32h160c53.02 0 96-42.98 96-96v-64c0-35.35-28.65-64-64-64z\"},\"child\":[]}]})(props);\n};\nexport function FaPalette (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M204.3 5C104.9 24.4 24.8 104.3 5.2 203.4c-37 187 131.7 326.4 258.8 306.7 41.2-6.4 61.4-54.6 42.5-91.7-23.1-45.4 9.9-98.4 60.9-98.4h79.7c35.8 0 64.8-29.6 64.9-65.3C511.5 97.1 368.1-26.9 204.3 5zM96 320c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm32-128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128-64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm128 64c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaPallet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M144 256h352c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16H384v128l-64-32-64 32V0H144c-8.8 0-16 7.2-16 16v224c0 8.8 7.2 16 16 16zm480 128c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v64H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16h-48v-64h48zm-336 64H128v-64h160v64zm224 0H352v-64h160v64z\"},\"child\":[]}]})(props);\n};\nexport function FaPaperPlane (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M476 3.2L12.5 270.6c-18.1 10.4-15.8 35.6 2.2 43.2L121 358.4l287.3-253.2c5.5-4.9 13.3 2.6 8.6 8.3L176 407v80.5c0 23.6 28.5 32.9 42.5 15.8L282 426l124.6 52.2c14.2 6 30.4-2.9 33-18.2l72-432C515 7.8 493.3-6.8 476 3.2z\"},\"child\":[]}]})(props);\n};\nexport function FaPaperclip (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M43.246 466.142c-58.43-60.289-57.341-157.511 1.386-217.581L254.392 34c44.316-45.332 116.351-45.336 160.671 0 43.89 44.894 43.943 117.329 0 162.276L232.214 383.128c-29.855 30.537-78.633 30.111-107.982-.998-28.275-29.97-27.368-77.473 1.452-106.953l143.743-146.835c6.182-6.314 16.312-6.422 22.626-.241l22.861 22.379c6.315 6.182 6.422 16.312.241 22.626L171.427 319.927c-4.932 5.045-5.236 13.428-.648 18.292 4.372 4.634 11.245 4.711 15.688.165l182.849-186.851c19.613-20.062 19.613-52.725-.011-72.798-19.189-19.627-49.957-19.637-69.154 0L90.39 293.295c-34.763 35.56-35.299 93.12-1.191 128.313 34.01 35.093 88.985 35.137 123.058.286l172.06-175.999c6.177-6.319 16.307-6.433 22.626-.256l22.877 22.364c6.319 6.177 6.434 16.307.256 22.626l-172.06 175.998c-59.576 60.938-155.943 60.216-214.77-.485z\"},\"child\":[]}]})(props);\n};\nexport function FaParachuteBox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M511.9 175c-9.1-75.6-78.4-132.4-158.3-158.7C390 55.7 416 116.9 416 192h28.1L327.5 321.5c-2.5-.6-4.8-1.5-7.5-1.5h-48V192h112C384 76.8 315.1 0 256 0S128 76.8 128 192h112v128h-48c-2.7 0-5 .9-7.5 1.5L67.9 192H96c0-75.1 26-136.3 62.4-175.7C78.5 42.7 9.2 99.5.1 175c-1.1 9.1 6.8 17 16 17h8.7l136.7 151.9c-.7 2.6-1.6 5.2-1.6 8.1v128c0 17.7 14.3 32 32 32h128c17.7 0 32-14.3 32-32V352c0-2.9-.9-5.4-1.6-8.1L487.1 192h8.7c9.3 0 17.2-7.8 16.1-17z\"},\"child\":[]}]})(props);\n};\nexport function FaParagraph (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 48v32a16 16 0 0 1-16 16h-48v368a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16V96h-32v368a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16V352h-32a160 160 0 0 1 0-320h240a16 16 0 0 1 16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaParking (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM240 320h-48v48c0 8.8-7.2 16-16 16h-32c-8.8 0-16-7.2-16-16V144c0-8.8 7.2-16 16-16h96c52.9 0 96 43.1 96 96s-43.1 96-96 96zm0-128h-48v64h48c17.6 0 32-14.4 32-32s-14.4-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaPassport (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M129.62 176h39.09c1.49-27.03 6.54-51.35 14.21-70.41-27.71 13.24-48.02 39.19-53.3 70.41zm0 32c5.29 31.22 25.59 57.17 53.3 70.41-7.68-19.06-12.72-43.38-14.21-70.41h-39.09zM224 286.69c7.69-7.45 20.77-34.42 23.43-78.69h-46.87c2.67 44.26 15.75 71.24 23.44 78.69zM200.57 176h46.87c-2.66-44.26-15.74-71.24-23.43-78.69-7.7 7.45-20.78 34.43-23.44 78.69zm64.51 102.41c27.71-13.24 48.02-39.19 53.3-70.41h-39.09c-1.49 27.03-6.53 51.35-14.21 70.41zM416 0H64C28.65 0 0 28.65 0 64v384c0 35.35 28.65 64 64 64h352c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32zm-80 416H112c-8.8 0-16-7.2-16-16s7.2-16 16-16h224c8.8 0 16 7.2 16 16s-7.2 16-16 16zm-112-96c-70.69 0-128-57.31-128-128S153.31 64 224 64s128 57.31 128 128-57.31 128-128 128zm41.08-214.41c7.68 19.06 12.72 43.38 14.21 70.41h39.09c-5.28-31.22-25.59-57.17-53.3-70.41z\"},\"child\":[]}]})(props);\n};\nexport function FaPastafarianism (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M624.54 347.67c-32.7-12.52-57.36 4.25-75.37 16.45-17.06 11.53-23.25 14.42-31.41 11.36-8.12-3.09-10.83-9.38-15.89-29.38-3.33-13.15-7.44-29.32-17.95-42.65 2.24-2.91 4.43-5.79 6.38-8.57C500.47 304.45 513.71 312 532 312c33.95 0 50.87-25.78 62.06-42.83 10.59-16.14 15-21.17 21.94-21.17 13.25 0 24-10.75 24-24s-10.75-24-24-24c-33.95 0-50.87 25.78-62.06 42.83-10.6 16.14-15 21.17-21.94 21.17-17.31 0-37.48-61.43-97.26-101.91l17.25-34.5C485.43 125.5 512 97.98 512 64c0-35.35-28.65-64-64-64s-64 28.65-64 64c0 13.02 3.94 25.1 10.62 35.21l-18.15 36.3c-16.98-4.6-35.6-7.51-56.46-7.51s-39.49 2.91-56.46 7.51l-18.15-36.3C252.06 89.1 256 77.02 256 64c0-35.35-28.65-64-64-64s-64 28.65-64 64c0 33.98 26.56 61.5 60.02 63.6l17.25 34.5C145.68 202.44 125.15 264 108 264c-6.94 0-11.34-5.03-21.94-21.17C74.88 225.78 57.96 200 24 200c-13.25 0-24 10.75-24 24s10.75 24 24 24c6.94 0 11.34 5.03 21.94 21.17C57.13 286.22 74.05 312 108 312c18.29 0 31.53-7.55 41.7-17.11 1.95 2.79 4.14 5.66 6.38 8.57-10.51 13.33-14.62 29.5-17.95 42.65-5.06 20-7.77 26.28-15.89 29.38-8.11 3.06-14.33.17-31.41-11.36-18.03-12.2-42.72-28.92-75.37-16.45-12.39 4.72-18.59 18.58-13.87 30.97 4.72 12.41 18.61 18.61 30.97 13.88 8.16-3.09 14.34-.19 31.39 11.36 13.55 9.16 30.83 20.86 52.42 20.84 7.17 0 14.83-1.28 22.97-4.39 32.66-12.44 39.98-41.33 45.33-62.44 2.21-8.72 3.99-14.49 5.95-18.87 16.62 13.61 36.95 25.88 61.64 34.17-9.96 37-32.18 90.8-60.26 90.8-13.25 0-24 10.75-24 24s10.75 24 24 24c66.74 0 97.05-88.63 107.42-129.14 6.69.6 13.42 1.14 20.58 1.14s13.89-.54 20.58-1.14C350.95 423.37 381.26 512 448 512c13.25 0 24-10.75 24-24s-10.75-24-24-24c-27.94 0-50.21-53.81-60.22-90.81 24.69-8.29 45-20.56 61.62-34.16 1.96 4.38 3.74 10.15 5.95 18.87 5.34 21.11 12.67 50 45.33 62.44 8.14 3.11 15.8 4.39 22.97 4.39 21.59 0 38.87-11.69 52.42-20.84 17.05-11.55 23.28-14.45 31.39-11.36 12.39 4.75 26.27-1.47 30.97-13.88 4.71-12.4-1.49-26.26-13.89-30.98zM448 48c8.82 0 16 7.18 16 16s-7.18 16-16 16-16-7.18-16-16 7.18-16 16-16zm-256 0c8.82 0 16 7.18 16 16s-7.18 16-16 16-16-7.18-16-16 7.18-16 16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaPaste (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M128 184c0-30.879 25.122-56 56-56h136V56c0-13.255-10.745-24-24-24h-80.61C204.306 12.89 183.637 0 160 0s-44.306 12.89-55.39 32H24C10.745 32 0 42.745 0 56v336c0 13.255 10.745 24 24 24h104V184zm32-144c13.255 0 24 10.745 24 24s-10.745 24-24 24-24-10.745-24-24 10.745-24 24-24zm184 248h104v200c0 13.255-10.745 24-24 24H184c-13.255 0-24-10.745-24-24V184c0-13.255 10.745-24 24-24h136v104c0 13.2 10.8 24 24 24zm104-38.059V256h-96v-96h6.059a24 24 0 0 1 16.97 7.029l65.941 65.941a24.002 24.002 0 0 1 7.03 16.971z\"},\"child\":[]}]})(props);\n};\nexport function FaPauseCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm-16 328c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v160zm112 0c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v160z\"},\"child\":[]}]})(props);\n};\nexport function FaPause (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M144 479H48c-26.5 0-48-21.5-48-48V79c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v352c0 26.5-21.5 48-48 48zm304-48V79c0-26.5-21.5-48-48-48h-96c-26.5 0-48 21.5-48 48v352c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48z\"},\"child\":[]}]})(props);\n};\nexport function FaPaw (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 224c-79.41 0-192 122.76-192 200.25 0 34.9 26.81 55.75 71.74 55.75 48.84 0 81.09-25.08 120.26-25.08 39.51 0 71.85 25.08 120.26 25.08 44.93 0 71.74-20.85 71.74-55.75C448 346.76 335.41 224 256 224zm-147.28-12.61c-10.4-34.65-42.44-57.09-71.56-50.13-29.12 6.96-44.29 40.69-33.89 75.34 10.4 34.65 42.44 57.09 71.56 50.13 29.12-6.96 44.29-40.69 33.89-75.34zm84.72-20.78c30.94-8.14 46.42-49.94 34.58-93.36s-46.52-72.01-77.46-63.87-46.42 49.94-34.58 93.36c11.84 43.42 46.53 72.02 77.46 63.87zm281.39-29.34c-29.12-6.96-61.15 15.48-71.56 50.13-10.4 34.65 4.77 68.38 33.89 75.34 29.12 6.96 61.15-15.48 71.56-50.13 10.4-34.65-4.77-68.38-33.89-75.34zm-156.27 29.34c30.94 8.14 65.62-20.45 77.46-63.87 11.84-43.42-3.64-85.21-34.58-93.36s-65.62 20.45-77.46 63.87c-11.84 43.42 3.64 85.22 34.58 93.36z\"},\"child\":[]}]})(props);\n};\nexport function FaPeace (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm184 248c0 31.93-8.2 61.97-22.57 88.17L280 240.63V74.97c86.23 15.21 152 90.5 152 181.03zM216 437.03c-33.86-5.97-64.49-21.2-89.29-43.02L216 322.57v114.46zm64-114.46L369.29 394c-24.8 21.82-55.43 37.05-89.29 43.02V322.57zm-64-247.6v165.66L86.57 344.17C72.2 317.97 64 287.93 64 256c0-90.53 65.77-165.82 152-181.03z\"},\"child\":[]}]})(props);\n};\nexport function FaPenAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M497.94 74.17l-60.11-60.11c-18.75-18.75-49.16-18.75-67.91 0l-56.55 56.55 128.02 128.02 56.55-56.55c18.75-18.75 18.75-49.15 0-67.91zm-246.8-20.53c-15.62-15.62-40.94-15.62-56.56 0L75.8 172.43c-6.25 6.25-6.25 16.38 0 22.62l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0l101.82-101.82 22.63 22.62L93.95 290.03A327.038 327.038 0 0 0 .17 485.11l-.03.23c-1.7 15.28 11.21 28.2 26.49 26.51a327.02 327.02 0 0 0 195.34-93.8l196.79-196.79-82.77-82.77-84.85-84.85z\"},\"child\":[]}]})(props);\n};\nexport function FaPenFancy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M79.18 282.94a32.005 32.005 0 0 0-20.24 20.24L0 480l4.69 4.69 92.89-92.89c-.66-2.56-1.57-5.03-1.57-7.8 0-17.67 14.33-32 32-32s32 14.33 32 32-14.33 32-32 32c-2.77 0-5.24-.91-7.8-1.57l-92.89 92.89L32 512l176.82-58.94a31.983 31.983 0 0 0 20.24-20.24l33.07-84.07-98.88-98.88-84.07 33.07zM369.25 28.32L186.14 227.81l97.85 97.85 199.49-183.11C568.4 67.48 443.73-55.94 369.25 28.32z\"},\"child\":[]}]})(props);\n};\nexport function FaPenNib (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M136.6 138.79a64.003 64.003 0 0 0-43.31 41.35L0 460l14.69 14.69L164.8 324.58c-2.99-6.26-4.8-13.18-4.8-20.58 0-26.51 21.49-48 48-48s48 21.49 48 48-21.49 48-48 48c-7.4 0-14.32-1.81-20.58-4.8L37.31 497.31 52 512l279.86-93.29a64.003 64.003 0 0 0 41.35-43.31L416 224 288 96l-151.4 42.79zm361.34-64.62l-60.11-60.11c-18.75-18.75-49.16-18.75-67.91 0l-56.55 56.55 128.02 128.02 56.55-56.55c18.75-18.75 18.75-49.15 0-67.91z\"},\"child\":[]}]})(props);\n};\nexport function FaPenSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 480H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48v352c0 26.5-21.5 48-48 48zM238.1 177.9L102.4 313.6l-6.3 57.1c-.8 7.6 5.6 14.1 13.3 13.3l57.1-6.3L302.2 242c2.3-2.3 2.3-6.1 0-8.5L246.7 178c-2.5-2.4-6.3-2.4-8.6-.1zM345 165.1L314.9 135c-9.4-9.4-24.6-9.4-33.9 0l-23.1 23.1c-2.3 2.3-2.3 6.1 0 8.5l55.5 55.5c2.3 2.3 6.1 2.3 8.5 0L345 199c9.3-9.3 9.3-24.5 0-33.9z\"},\"child\":[]}]})(props);\n};\nexport function FaPen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M290.74 93.24l128.02 128.02-277.99 277.99-114.14 12.6C11.35 513.54-1.56 500.62.14 485.34l12.7-114.22 277.9-277.88zm207.2-19.06l-60.11-60.11c-18.75-18.75-49.16-18.75-67.91 0l-56.55 56.55 128.02 128.02 56.55-56.55c18.75-18.76 18.75-49.16 0-67.91z\"},\"child\":[]}]})(props);\n};\nexport function FaPencilAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z\"},\"child\":[]}]})(props);\n};\nexport function FaPencilRuler (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M109.46 244.04l134.58-134.56-44.12-44.12-61.68 61.68a7.919 7.919 0 0 1-11.21 0l-11.21-11.21c-3.1-3.1-3.1-8.12 0-11.21l61.68-61.68-33.64-33.65C131.47-3.1 111.39-3.1 99 9.29L9.29 99c-12.38 12.39-12.39 32.47 0 44.86l100.17 100.18zm388.47-116.8c18.76-18.76 18.75-49.17 0-67.93l-45.25-45.25c-18.76-18.76-49.18-18.76-67.95 0l-46.02 46.01 113.2 113.2 46.02-46.03zM316.08 82.71l-297 296.96L.32 487.11c-2.53 14.49 10.09 27.11 24.59 24.56l107.45-18.84L429.28 195.9 316.08 82.71zm186.63 285.43l-33.64-33.64-61.68 61.68c-3.1 3.1-8.12 3.1-11.21 0l-11.21-11.21c-3.09-3.1-3.09-8.12 0-11.21l61.68-61.68-44.14-44.14L267.93 402.5l100.21 100.2c12.39 12.39 32.47 12.39 44.86 0l89.71-89.7c12.39-12.39 12.39-32.47 0-44.86z\"},\"child\":[]}]})(props);\n};\nexport function FaPeopleArrows (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M96,128A64,64,0,1,0,32,64,64,64,0,0,0,96,128Zm0,176.08a44.11,44.11,0,0,1,13.64-32L181.77,204c1.65-1.55,3.77-2.31,5.61-3.57A63.91,63.91,0,0,0,128,160H64A64,64,0,0,0,0,224v96a32,32,0,0,0,32,32V480a32,32,0,0,0,32,32h64a32,32,0,0,0,32-32V383.61l-50.36-47.53A44.08,44.08,0,0,1,96,304.08ZM480,128a64,64,0,1,0-64-64A64,64,0,0,0,480,128Zm32,32H448a63.91,63.91,0,0,0-59.38,40.42c1.84,1.27,4,2,5.62,3.59l72.12,68.06a44.37,44.37,0,0,1,0,64L416,383.62V480a32,32,0,0,0,32,32h64a32,32,0,0,0,32-32V352a32,32,0,0,0,32-32V224A64,64,0,0,0,512,160ZM444.4,295.34l-72.12-68.06A12,12,0,0,0,352,236v36H224V236a12,12,0,0,0-20.28-8.73L131.6,295.34a12.4,12.4,0,0,0,0,17.47l72.12,68.07A12,12,0,0,0,224,372.14V336H352v36.14a12,12,0,0,0,20.28,8.74l72.12-68.07A12.4,12.4,0,0,0,444.4,295.34Z\"},\"child\":[]}]})(props);\n};\nexport function FaPeopleCarry (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M128 96c26.5 0 48-21.5 48-48S154.5 0 128 0 80 21.5 80 48s21.5 48 48 48zm384 0c26.5 0 48-21.5 48-48S538.5 0 512 0s-48 21.5-48 48 21.5 48 48 48zm125.7 372.1l-44-110-41.1 46.4-2 18.2 27.7 69.2c5 12.5 17 20.1 29.7 20.1 4 0 8-.7 11.9-2.3 16.4-6.6 24.4-25.2 17.8-41.6zm-34.2-209.8L585 178.1c-4.6-20-18.6-36.8-37.5-44.9-18.5-8-39-6.7-56.1 3.3-22.7 13.4-39.7 34.5-48.1 59.4L432 229.8 416 240v-96c0-8.8-7.2-16-16-16H240c-8.8 0-16 7.2-16 16v96l-16.1-10.2-11.3-33.9c-8.3-25-25.4-46-48.1-59.4-17.2-10-37.6-11.3-56.1-3.3-18.9 8.1-32.9 24.9-37.5 44.9l-18.4 80.2c-4.6 20 .7 41.2 14.4 56.7l67.2 75.9 10.1 92.6C130 499.8 143.8 512 160 512c1.2 0 2.3-.1 3.5-.2 17.6-1.9 30.2-17.7 28.3-35.3l-10.1-92.8c-1.5-13-6.9-25.1-15.6-35l-43.3-49 17.6-70.3 6.8 20.4c4.1 12.5 11.9 23.4 24.5 32.6l51.1 32.5c4.6 2.9 12.1 4.6 17.2 5h160c5.1-.4 12.6-2.1 17.2-5l51.1-32.5c12.6-9.2 20.4-20 24.5-32.6l6.8-20.4 17.6 70.3-43.3 49c-8.7 9.9-14.1 22-15.6 35l-10.1 92.8c-1.9 17.6 10.8 33.4 28.3 35.3 1.2.1 2.3.2 3.5.2 16.1 0 30-12.1 31.8-28.5l10.1-92.6 67.2-75.9c13.6-15.5 19-36.7 14.4-56.7zM46.3 358.1l-44 110c-6.6 16.4 1.4 35 17.8 41.6 16.8 6.6 35.1-1.7 41.6-17.8l27.7-69.2-2-18.2-41.1-46.4z\"},\"child\":[]}]})(props);\n};\nexport function FaPepperHot (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M330.67 263.12V173.4l-52.75-24.22C219.44 218.76 197.58 400 56 400a56 56 0 0 0 0 112c212.64 0 370.65-122.87 419.18-210.34l-37.05-38.54zm131.09-128.37C493.92 74.91 477.18 26.48 458.62 3a8 8 0 0 0-11.93-.59l-22.9 23a8.06 8.06 0 0 0-.89 10.23c6.86 10.36 17.05 35.1-1.4 72.32A142.85 142.85 0 0 0 364.34 96c-28 0-54 8.54-76.34 22.59l74.67 34.29v78.24h89.09L506.44 288c3.26-12.62 5.56-25.63 5.56-39.31a154 154 0 0 0-50.24-113.94z\"},\"child\":[]}]})(props);\n};\nexport function FaPercent (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M112 224c61.9 0 112-50.1 112-112S173.9 0 112 0 0 50.1 0 112s50.1 112 112 112zm0-160c26.5 0 48 21.5 48 48s-21.5 48-48 48-48-21.5-48-48 21.5-48 48-48zm224 224c-61.9 0-112 50.1-112 112s50.1 112 112 112 112-50.1 112-112-50.1-112-112-112zm0 160c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zM392.3.2l31.6-.1c19.4-.1 30.9 21.8 19.7 37.8L77.4 501.6a23.95 23.95 0 0 1-19.6 10.2l-33.4.1c-19.5 0-30.9-21.9-19.7-37.8l368-463.7C377.2 4 384.5.2 392.3.2z\"},\"child\":[]}]})(props);\n};\nexport function FaPercentage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M109.25 173.25c24.99-24.99 24.99-65.52 0-90.51-24.99-24.99-65.52-24.99-90.51 0-24.99 24.99-24.99 65.52 0 90.51 25 25 65.52 25 90.51 0zm256 165.49c-24.99-24.99-65.52-24.99-90.51 0-24.99 24.99-24.99 65.52 0 90.51 24.99 24.99 65.52 24.99 90.51 0 25-24.99 25-65.51 0-90.51zm-1.94-231.43l-22.62-22.62c-12.5-12.5-32.76-12.5-45.25 0L20.69 359.44c-12.5 12.5-12.5 32.76 0 45.25l22.62 22.62c12.5 12.5 32.76 12.5 45.25 0l274.75-274.75c12.5-12.49 12.5-32.75 0-45.25z\"},\"child\":[]}]})(props);\n};\nexport function FaPersonBooth (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M192 496c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320h-64v176zm32-272h-50.9l-45.2-45.3C115.8 166.6 99.7 160 82.7 160H64c-17.1 0-33.2 6.7-45.3 18.8C6.7 190.9 0 207 0 224.1L.2 320 0 480c0 17.7 14.3 32 31.9 32 17.6 0 32-14.3 32-32l.1-100.7c.9.5 1.6 1.3 2.5 1.7l29.1 43v56c0 17.7 14.3 32 32 32s32-14.3 32-32v-56.5c0-9.9-2.3-19.8-6.7-28.6l-41.2-61.3V253l20.9 20.9c9.1 9.1 21.1 14.1 33.9 14.1H224c17.7 0 32-14.3 32-32s-14.3-32-32-32zM64 128c26.5 0 48-21.5 48-48S90.5 32 64 32 16 53.5 16 80s21.5 48 48 48zm224-96l31.5 223.1-30.9 154.6c-4.3 21.6 13 38.3 31.4 38.3 15.2 0 28-9.1 32.3-30.4.9 16.9 14.6 30.4 31.7 30.4 17.7 0 32-14.3 32-32 0 17.7 14.3 32 32 32s32-14.3 32-32V0H288v32zm-96 0v160h64V0h-32c-17.7 0-32 14.3-32 32zM544 0h-32v496c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V32c0-17.7-14.3-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaPhoneAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M497.39 361.8l-112-48a24 24 0 0 0-28 6.9l-49.6 60.6A370.66 370.66 0 0 1 130.6 204.11l60.6-49.6a23.94 23.94 0 0 0 6.9-28l-48-112A24.16 24.16 0 0 0 122.6.61l-104 24A24 24 0 0 0 0 48c0 256.5 207.9 464 464 464a24 24 0 0 0 23.4-18.6l24-104a24.29 24.29 0 0 0-14.01-27.6z\"},\"child\":[]}]})(props);\n};\nexport function FaPhoneSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M268.2 381.4l-49.6-60.6c-6.8-8.3-18.2-11.1-28-6.9l-112 48c-10.7 4.6-16.5 16.1-13.9 27.5l24 104c2.5 10.8 12.1 18.6 23.4 18.6 100.7 0 193.7-32.4 269.7-86.9l-80-61.8c-10.9 6.5-22.1 12.7-33.6 18.1zm365.6 76.7L475.1 335.5C537.9 256.4 576 156.9 576 48c0-11.2-7.7-20.9-18.6-23.4l-104-24c-11.3-2.6-22.9 3.3-27.5 13.9l-48 112c-4.2 9.8-1.4 21.3 6.9 28l60.6 49.6c-12.2 26.1-27.9 50.3-46 72.8L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4l588.4 454.7c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.4-6.8 4.1-16.9-2.9-22.3z\"},\"child\":[]}]})(props);\n};\nexport function FaPhoneSquareAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48A48 48 0 0 0 0 80v352a48 48 0 0 0 48 48h352a48 48 0 0 0 48-48V80a48 48 0 0 0-48-48zm-16.39 307.37l-15 65A15 15 0 0 1 354 416C194 416 64 286.29 64 126a15.7 15.7 0 0 1 11.63-14.61l65-15A18.23 18.23 0 0 1 144 96a16.27 16.27 0 0 1 13.79 9.09l30 70A17.9 17.9 0 0 1 189 181a17 17 0 0 1-5.5 11.61l-37.89 31a231.91 231.91 0 0 0 110.78 110.78l31-37.89A17 17 0 0 1 299 291a17.85 17.85 0 0 1 5.91 1.21l70 30A16.25 16.25 0 0 1 384 336a17.41 17.41 0 0 1-.39 3.37z\"},\"child\":[]}]})(props);\n};\nexport function FaPhoneSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM94 416c-7.033 0-13.057-4.873-14.616-11.627l-14.998-65a15 15 0 0 1 8.707-17.16l69.998-29.999a15 15 0 0 1 17.518 4.289l30.997 37.885c48.944-22.963 88.297-62.858 110.781-110.78l-37.886-30.997a15.001 15.001 0 0 1-4.289-17.518l30-69.998a15 15 0 0 1 17.16-8.707l65 14.998A14.997 14.997 0 0 1 384 126c0 160.292-129.945 290-290 290z\"},\"child\":[]}]})(props);\n};\nexport function FaPhoneVolume (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M97.333 506.966c-129.874-129.874-129.681-340.252 0-469.933 5.698-5.698 14.527-6.632 21.263-2.422l64.817 40.513a17.187 17.187 0 0 1 6.849 20.958l-32.408 81.021a17.188 17.188 0 0 1-17.669 10.719l-55.81-5.58c-21.051 58.261-20.612 122.471 0 179.515l55.811-5.581a17.188 17.188 0 0 1 17.669 10.719l32.408 81.022a17.188 17.188 0 0 1-6.849 20.958l-64.817 40.513a17.19 17.19 0 0 1-21.264-2.422zM247.126 95.473c11.832 20.047 11.832 45.008 0 65.055-3.95 6.693-13.108 7.959-18.718 2.581l-5.975-5.726c-3.911-3.748-4.793-9.622-2.261-14.41a32.063 32.063 0 0 0 0-29.945c-2.533-4.788-1.65-10.662 2.261-14.41l5.975-5.726c5.61-5.378 14.768-4.112 18.718 2.581zm91.787-91.187c60.14 71.604 60.092 175.882 0 247.428-4.474 5.327-12.53 5.746-17.552.933l-5.798-5.557c-4.56-4.371-4.977-11.529-.93-16.379 49.687-59.538 49.646-145.933 0-205.422-4.047-4.85-3.631-12.008.93-16.379l5.798-5.557c5.022-4.813 13.078-4.394 17.552.933zm-45.972 44.941c36.05 46.322 36.108 111.149 0 157.546-4.39 5.641-12.697 6.251-17.856 1.304l-5.818-5.579c-4.4-4.219-4.998-11.095-1.285-15.931 26.536-34.564 26.534-82.572 0-117.134-3.713-4.836-3.115-11.711 1.285-15.931l5.818-5.579c5.159-4.947 13.466-4.337 17.856 1.304z\"},\"child\":[]}]})(props);\n};\nexport function FaPhone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M493.4 24.6l-104-24c-11.3-2.6-22.9 3.3-27.5 13.9l-48 112c-4.2 9.8-1.4 21.3 6.9 28l60.6 49.6c-36 76.7-98.9 140.5-177.2 177.2l-49.6-60.6c-6.8-8.3-18.2-11.1-28-6.9l-112 48C3.9 366.5-2 378.1.6 389.4l24 104C27.1 504.2 36.7 512 48 512c256.1 0 464-207.5 464-464 0-11.2-7.7-20.9-18.6-23.4z\"},\"child\":[]}]})(props);\n};\nexport function FaPhotoVideo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M608 0H160a32 32 0 0 0-32 32v96h160V64h192v320h128a32 32 0 0 0 32-32V32a32 32 0 0 0-32-32zM232 103a9 9 0 0 1-9 9h-30a9 9 0 0 1-9-9V73a9 9 0 0 1 9-9h30a9 9 0 0 1 9 9zm352 208a9 9 0 0 1-9 9h-30a9 9 0 0 1-9-9v-30a9 9 0 0 1 9-9h30a9 9 0 0 1 9 9zm0-104a9 9 0 0 1-9 9h-30a9 9 0 0 1-9-9v-30a9 9 0 0 1 9-9h30a9 9 0 0 1 9 9zm0-104a9 9 0 0 1-9 9h-30a9 9 0 0 1-9-9V73a9 9 0 0 1 9-9h30a9 9 0 0 1 9 9zm-168 57H32a32 32 0 0 0-32 32v288a32 32 0 0 0 32 32h384a32 32 0 0 0 32-32V192a32 32 0 0 0-32-32zM96 224a32 32 0 1 1-32 32 32 32 0 0 1 32-32zm288 224H64v-32l64-64 32 32 128-128 96 96z\"},\"child\":[]}]})(props);\n};\nexport function FaPiggyBank (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M560 224h-29.5c-8.8-20-21.6-37.7-37.4-52.5L512 96h-32c-29.4 0-55.4 13.5-73 34.3-7.6-1.1-15.1-2.3-23-2.3H256c-77.4 0-141.9 55-156.8 128H56c-14.8 0-26.5-13.5-23.5-28.8C34.7 215.8 45.4 208 57 208h1c3.3 0 6-2.7 6-6v-20c0-3.3-2.7-6-6-6-28.5 0-53.9 20.4-57.5 48.6C-3.9 258.8 22.7 288 56 288h40c0 52.2 25.4 98.1 64 127.3V496c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16v-48h128v48c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16v-80.7c11.8-8.9 22.3-19.4 31.3-31.3H560c8.8 0 16-7.2 16-16V240c0-8.8-7.2-16-16-16zm-128 64c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zM256 96h128c5.4 0 10.7.4 15.9.8 0-.3.1-.5.1-.8 0-53-43-96-96-96s-96 43-96 96c0 2.1.5 4.1.6 6.2 15.2-3.9 31-6.2 47.4-6.2z\"},\"child\":[]}]})(props);\n};\nexport function FaPills (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M112 32C50.1 32 0 82.1 0 144v224c0 61.9 50.1 112 112 112s112-50.1 112-112V144c0-61.9-50.1-112-112-112zm48 224H64V144c0-26.5 21.5-48 48-48s48 21.5 48 48v112zm139.7-29.7c-3.5-3.5-9.4-3.1-12.3.8-45.3 62.5-40.4 150.1 15.9 206.4 56.3 56.3 143.9 61.2 206.4 15.9 4-2.9 4.3-8.8.8-12.3L299.7 226.3zm229.8-19c-56.3-56.3-143.9-61.2-206.4-15.9-4 2.9-4.3 8.8-.8 12.3l210.8 210.8c3.5 3.5 9.4 3.1 12.3-.8 45.3-62.6 40.5-150.1-15.9-206.4z\"},\"child\":[]}]})(props);\n};\nexport function FaPizzaSlice (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M158.87.15c-16.16-1.52-31.2 8.42-35.33 24.12l-14.81 56.27c187.62 5.49 314.54 130.61 322.48 317l56.94-15.78c15.72-4.36 25.49-19.68 23.62-35.9C490.89 165.08 340.78 17.32 158.87.15zm-58.47 112L.55 491.64a16.21 16.21 0 0 0 20 19.75l379-105.1c-4.27-174.89-123.08-292.14-299.15-294.1zM128 416a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm48-152a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm104 104a32 32 0 1 1 32-32 32 32 0 0 1-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaPlaceOfWorship (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M620.61 366.55L512 320v192h112c8.84 0 16-7.16 16-16V395.96a32 32 0 0 0-19.39-29.41zM0 395.96V496c0 8.84 7.16 16 16 16h112V320L19.39 366.55A32 32 0 0 0 0 395.96zm464.46-149.28L416 217.6V102.63c0-8.49-3.37-16.62-9.38-22.63L331.31 4.69c-6.25-6.25-16.38-6.25-22.62 0L233.38 80c-6 6-9.38 14.14-9.38 22.63V217.6l-48.46 29.08A31.997 31.997 0 0 0 160 274.12V512h96v-96c0-35.35 28.66-64 64-64s64 28.65 64 64v96h96V274.12c0-11.24-5.9-21.66-15.54-27.44z\"},\"child\":[]}]})(props);\n};\nexport function FaPlaneArrival (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M624 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM44.81 205.66l88.74 80a62.607 62.607 0 0 0 25.47 13.93l287.6 78.35c26.48 7.21 54.56 8.72 81 1.36 29.67-8.27 43.44-21.21 47.25-35.71 3.83-14.5-1.73-32.71-23.37-54.96-19.28-19.82-44.35-32.79-70.83-40l-97.51-26.56L282.8 30.22c-1.51-5.81-5.95-10.35-11.66-11.91L206.05.58c-10.56-2.88-20.9 5.32-20.71 16.44l47.92 164.21-102.2-27.84-27.59-67.88c-1.93-4.89-6.01-8.57-11.02-9.93L52.72 64.75c-10.34-2.82-20.53 5-20.72 15.88l.23 101.78c.19 8.91 6.03 17.34 12.58 23.25z\"},\"child\":[]}]})(props);\n};\nexport function FaPlaneDeparture (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M624 448H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h608c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM80.55 341.27c6.28 6.84 15.1 10.72 24.33 10.71l130.54-.18a65.62 65.62 0 0 0 29.64-7.12l290.96-147.65c26.74-13.57 50.71-32.94 67.02-58.31 18.31-28.48 20.3-49.09 13.07-63.65-7.21-14.57-24.74-25.27-58.25-27.45-29.85-1.94-59.54 5.92-86.28 19.48l-98.51 49.99-218.7-82.06a17.799 17.799 0 0 0-18-1.11L90.62 67.29c-10.67 5.41-13.25 19.65-5.17 28.53l156.22 98.1-103.21 52.38-72.35-36.47a17.804 17.804 0 0 0-16.07.02L9.91 230.22c-10.44 5.3-13.19 19.12-5.57 28.08l76.21 82.97z\"},\"child\":[]}]})(props);\n};\nexport function FaPlaneSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M32.48,147.88,64,256,32.48,364.13A16,16,0,0,0,48,384H88a16,16,0,0,0,12.8-6.41L144,320H246.85l-49,171.59A16,16,0,0,0,213.2,512h65.5a16,16,0,0,0,13.89-8.06l66.6-116.54L34.35,136.34A15.47,15.47,0,0,0,32.48,147.88ZM633.82,458.09,455.14,320H512c35.34,0,96-28.66,96-64s-60.66-64-96-64H397.7L292.61,8.06C290.06,3.61,283.84,0,278.71,0H213.2a16,16,0,0,0-15.38,20.39l36.94,129.29L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.45A16,16,0,0,0,6.18,53.91L594.54,508.63A16,16,0,0,0,617,505.81l19.64-25.26A16,16,0,0,0,633.82,458.09Z\"},\"child\":[]}]})(props);\n};\nexport function FaPlane (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M480 192H365.71L260.61 8.06A16.014 16.014 0 0 0 246.71 0h-65.5c-10.63 0-18.3 10.17-15.38 20.39L214.86 192H112l-43.2-57.6c-3.02-4.03-7.77-6.4-12.8-6.4H16.01C5.6 128-2.04 137.78.49 147.88L32 256 .49 364.12C-2.04 374.22 5.6 384 16.01 384H56c5.04 0 9.78-2.37 12.8-6.4L112 320h102.86l-49.03 171.6c-2.92 10.22 4.75 20.4 15.38 20.4h65.5c5.74 0 11.04-3.08 13.89-8.06L365.71 320H480c35.35 0 96-28.65 96-64s-60.65-64-96-64z\"},\"child\":[]}]})(props);\n};\nexport function FaPlayCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm115.7 272l-176 101c-15.8 8.8-35.7-2.5-35.7-21V152c0-18.4 19.8-29.8 35.7-21l176 107c16.4 9.2 16.4 32.9 0 42z\"},\"child\":[]}]})(props);\n};\nexport function FaPlay (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M424.4 214.7L72.4 6.6C43.8-10.3 0 6.1 0 47.9V464c0 37.5 40.7 60.1 72.4 41.3l352-208c31.4-18.5 31.5-64.1 0-82.6z\"},\"child\":[]}]})(props);\n};\nexport function FaPlug (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M320,32a32,32,0,0,0-64,0v96h64Zm48,128H16A16,16,0,0,0,0,176v32a16,16,0,0,0,16,16H32v32A160.07,160.07,0,0,0,160,412.8V512h64V412.8A160.07,160.07,0,0,0,352,256V224h16a16,16,0,0,0,16-16V176A16,16,0,0,0,368,160ZM128,32a32,32,0,0,0-64,0v96h64Z\"},\"child\":[]}]})(props);\n};\nexport function FaPlusCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm144 276c0 6.6-5.4 12-12 12h-92v92c0 6.6-5.4 12-12 12h-56c-6.6 0-12-5.4-12-12v-92h-92c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h92v-92c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12v92h92c6.6 0 12 5.4 12 12v56z\"},\"child\":[]}]})(props);\n};\nexport function FaPlusSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-32 252c0 6.6-5.4 12-12 12h-92v92c0 6.6-5.4 12-12 12h-56c-6.6 0-12-5.4-12-12v-92H92c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h92v-92c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12v92h92c6.6 0 12 5.4 12 12v56z\"},\"child\":[]}]})(props);\n};\nexport function FaPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaPodcast (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M267.429 488.563C262.286 507.573 242.858 512 224 512c-18.857 0-38.286-4.427-43.428-23.437C172.927 460.134 160 388.898 160 355.75c0-35.156 31.142-43.75 64-43.75s64 8.594 64 43.75c0 32.949-12.871 104.179-20.571 132.813zM156.867 288.554c-18.693-18.308-29.958-44.173-28.784-72.599 2.054-49.724 42.395-89.956 92.124-91.881C274.862 121.958 320 165.807 320 220c0 26.827-11.064 51.116-28.866 68.552-2.675 2.62-2.401 6.986.628 9.187 9.312 6.765 16.46 15.343 21.234 25.363 1.741 3.654 6.497 4.66 9.449 1.891 28.826-27.043 46.553-65.783 45.511-108.565-1.855-76.206-63.595-138.208-139.793-140.369C146.869 73.753 80 139.215 80 220c0 41.361 17.532 78.7 45.55 104.989 2.953 2.771 7.711 1.77 9.453-1.887 4.774-10.021 11.923-18.598 21.235-25.363 3.029-2.2 3.304-6.566.629-9.185zM224 0C100.204 0 0 100.185 0 224c0 89.992 52.602 165.647 125.739 201.408 4.333 2.118 9.267-1.544 8.535-6.31-2.382-15.512-4.342-30.946-5.406-44.339-.146-1.836-1.149-3.486-2.678-4.512-47.4-31.806-78.564-86.016-78.187-147.347.592-96.237 79.29-174.648 175.529-174.899C320.793 47.747 400 126.797 400 224c0 61.932-32.158 116.49-80.65 147.867-.999 14.037-3.069 30.588-5.624 47.23-.732 4.767 4.203 8.429 8.535 6.31C395.227 389.727 448 314.187 448 224 448 100.205 347.815 0 224 0zm0 160c-35.346 0-64 28.654-64 64s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64z\"},\"child\":[]}]})(props);\n};\nexport function FaPollH (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 432V80c0-26.5-21.5-48-48-48H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48zM112 192c-8.84 0-16-7.16-16-16v-32c0-8.84 7.16-16 16-16h128c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16H112zm0 96c-8.84 0-16-7.16-16-16v-32c0-8.84 7.16-16 16-16h224c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16H112zm0 96c-8.84 0-16-7.16-16-16v-32c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v32c0 8.84-7.16 16-16 16h-64z\"},\"child\":[]}]})(props);\n};\nexport function FaPoll (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM160 368c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16V240c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v128zm96 0c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16V144c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v224zm96 0c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-64c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v64z\"},\"child\":[]}]})(props);\n};\nexport function FaPooStorm (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M308 336h-57.7l17.3-64.9c2-7.6-3.7-15.1-11.6-15.1h-68c-6 0-11.1 4.5-11.9 10.4l-16 120c-1 7.2 4.6 13.6 11.9 13.6h59.3l-23 97.2c-1.8 7.6 4 14.8 11.7 14.8 4.2 0 8.2-2.2 10.4-6l88-152c4.6-8-1.2-18-10.4-18zm66.4-111.3c5.9-9.6 9.6-20.6 9.6-32.7 0-35.3-28.7-64-64-64h-5.9c3.6-10.1 5.9-20.7 5.9-32 0-53-43-96-96-96-5.2 0-10.2.7-15.1 1.5C218.3 14.6 224 30.6 224 48c0 44.2-35.8 80-80 80h-16c-35.3 0-64 28.7-64 64 0 12.1 3.7 23.1 9.6 32.7C32.6 228 0 262.2 0 304c0 44 36 80 80 80h48.3c.1-.6 0-1.2 0-1.8l16-120c3-21.8 21.7-38.2 43.7-38.2h68c13.8 0 26.5 6.3 34.9 17.2s11.2 24.8 7.6 38.1l-6.6 24.7h16c15.7 0 30.3 8.4 38.1 22 7.8 13.6 7.8 30.5 0 44l-8.1 14h30c44 0 80-36 80-80 .1-41.8-32.5-76-73.5-79.3z\"},\"child\":[]}]})(props);\n};\nexport function FaPoo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M451.4 369.1C468.7 356 480 335.4 480 312c0-39.8-32.2-72-72-72h-14.1c13.4-11.7 22.1-28.8 22.1-48 0-35.3-28.7-64-64-64h-5.9c3.6-10.1 5.9-20.7 5.9-32 0-53-43-96-96-96-5.2 0-10.2.7-15.1 1.5C250.3 14.6 256 30.6 256 48c0 44.2-35.8 80-80 80h-16c-35.3 0-64 28.7-64 64 0 19.2 8.7 36.3 22.1 48H104c-39.8 0-72 32.2-72 72 0 23.4 11.3 44 28.6 57.1C26.3 374.6 0 404.1 0 440c0 39.8 32.2 72 72 72h368c39.8 0 72-32.2 72-72 0-35.9-26.3-65.4-60.6-70.9zM192 256c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm159.5 139C341 422.9 293 448 256 448s-85-25.1-95.5-53c-2-5.3 2-11 7.8-11h175.4c5.8 0 9.8 5.7 7.8 11zM320 320c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaPoop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M451.36 369.14C468.66 355.99 480 335.41 480 312c0-39.77-32.24-72-72-72h-14.07c13.42-11.73 22.07-28.78 22.07-48 0-35.35-28.65-64-64-64h-5.88c3.57-10.05 5.88-20.72 5.88-32 0-53.02-42.98-96-96-96-5.17 0-10.15.74-15.11 1.52C250.31 14.64 256 30.62 256 48c0 44.18-35.82 80-80 80h-16c-35.35 0-64 28.65-64 64 0 19.22 8.65 36.27 22.07 48H104c-39.76 0-72 32.23-72 72 0 23.41 11.34 43.99 28.64 57.14C26.31 374.62 0 404.12 0 440c0 39.76 32.24 72 72 72h368c39.76 0 72-32.24 72-72 0-35.88-26.31-65.38-60.64-70.86z\"},\"child\":[]}]})(props);\n};\nexport function FaPortrait (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M336 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM192 128c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm112 236.8c0 10.6-10 19.2-22.4 19.2H102.4C90 384 80 375.4 80 364.8v-19.2c0-31.8 30.1-57.6 67.2-57.6h5c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h5c37.1 0 67.2 25.8 67.2 57.6v19.2z\"},\"child\":[]}]})(props);\n};\nexport function FaPoundSign (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M308 352h-45.495c-6.627 0-12 5.373-12 12v50.848H128V288h84c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-84v-63.556c0-32.266 24.562-57.086 61.792-57.086 23.658 0 45.878 11.505 57.652 18.849 5.151 3.213 11.888 2.051 15.688-2.685l28.493-35.513c4.233-5.276 3.279-13.005-2.119-17.081C273.124 54.56 236.576 32 187.931 32 106.026 32 48 84.742 48 157.961V224H20c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h28v128H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h296c6.627 0 12-5.373 12-12V364c0-6.627-5.373-12-12-12z\"},\"child\":[]}]})(props);\n};\nexport function FaPowerOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 54.1c63 45 104 118.6 104 201.9 0 136.8-110.8 247.7-247.5 248C120 504.3 8.2 393 8 256.4 7.9 173.1 48.9 99.3 111.8 54.2c11.7-8.3 28-4.8 35 7.7L162.6 90c5.9 10.5 3.1 23.8-6.6 31-41.5 30.8-68 79.6-68 134.9-.1 92.3 74.5 168.1 168 168.1 91.6 0 168.6-74.2 168-169.1-.3-51.8-24.7-101.8-68.1-134-9.7-7.2-12.4-20.5-6.5-30.9l15.8-28.1c7-12.4 23.2-16.1 34.8-7.8zM296 264V24c0-13.3-10.7-24-24-24h-32c-13.3 0-24 10.7-24 24v240c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24z\"},\"child\":[]}]})(props);\n};\nexport function FaPray (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 128c35.35 0 64-28.65 64-64S291.35 0 256 0s-64 28.65-64 64 28.65 64 64 64zm-30.63 169.75c14.06 16.72 39 19.09 55.97 5.22l88-72.02c17.09-13.98 19.59-39.19 5.62-56.28-13.97-17.11-39.19-19.59-56.31-5.62l-57.44 47-38.91-46.31c-15.44-18.39-39.22-27.92-64-25.33-24.19 2.48-45.25 16.27-56.37 36.92l-49.37 92.03c-23.4 43.64-8.69 96.37 34.19 123.75L131.56 432H40c-22.09 0-40 17.91-40 40s17.91 40 40 40h208c34.08 0 53.77-42.79 28.28-68.28L166.42 333.86l34.8-64.87 24.15 28.76z\"},\"child\":[]}]})(props);\n};\nexport function FaPrayingHands (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M272 191.91c-17.6 0-32 14.4-32 32v80c0 8.84-7.16 16-16 16s-16-7.16-16-16v-76.55c0-17.39 4.72-34.47 13.69-49.39l77.75-129.59c9.09-15.16 4.19-34.81-10.97-43.91-14.45-8.67-32.72-4.3-42.3 9.21-.2.23-.62.21-.79.48l-117.26 175.9C117.56 205.9 112 224.31 112 243.29v80.23l-90.12 30.04A31.974 31.974 0 0 0 0 383.91v96c0 10.82 8.52 32 32 32 2.69 0 5.41-.34 8.06-1.03l179.19-46.62C269.16 449.99 304 403.8 304 351.91v-128c0-17.6-14.4-32-32-32zm346.12 161.73L528 323.6v-80.23c0-18.98-5.56-37.39-16.12-53.23L394.62 14.25c-.18-.27-.59-.24-.79-.48-9.58-13.51-27.85-17.88-42.3-9.21-15.16 9.09-20.06 28.75-10.97 43.91l77.75 129.59c8.97 14.92 13.69 32 13.69 49.39V304c0 8.84-7.16 16-16 16s-16-7.16-16-16v-80c0-17.6-14.4-32-32-32s-32 14.4-32 32v128c0 51.89 34.84 98.08 84.75 112.34l179.19 46.62c2.66.69 5.38 1.03 8.06 1.03 23.48 0 32-21.18 32-32v-96c0-13.77-8.81-25.99-21.88-30.35z\"},\"child\":[]}]})(props);\n};\nexport function FaPrescriptionBottleAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M360 0H24C10.8 0 0 10.8 0 24v48c0 13.2 10.8 24 24 24h336c13.2 0 24-10.8 24-24V24c0-13.2-10.8-24-24-24zM32 480c0 17.6 14.4 32 32 32h256c17.6 0 32-14.4 32-32V128H32v352zm64-184c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48z\"},\"child\":[]}]})(props);\n};\nexport function FaPrescriptionBottle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M32 192h120c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H32v64h120c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H32v64h120c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H32v64c0 17.6 14.4 32 32 32h256c17.6 0 32-14.4 32-32V128H32v64zM360 0H24C10.8 0 0 10.8 0 24v48c0 13.2 10.8 24 24 24h336c13.2 0 24-10.8 24-24V24c0-13.2-10.8-24-24-24z\"},\"child\":[]}]})(props);\n};\nexport function FaPrescription (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M301.26 352l78.06-78.06c6.25-6.25 6.25-16.38 0-22.63l-22.63-22.63c-6.25-6.25-16.38-6.25-22.63 0L256 306.74l-83.96-83.96C219.31 216.8 256 176.89 256 128c0-53.02-42.98-96-96-96H16C7.16 32 0 39.16 0 48v256c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-80h18.75l128 128-78.06 78.06c-6.25 6.25-6.25 16.38 0 22.63l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0L256 397.25l78.06 78.06c6.25 6.25 16.38 6.25 22.63 0l22.63-22.63c6.25-6.25 6.25-16.38 0-22.63L301.26 352zM64 96h96c17.64 0 32 14.36 32 32s-14.36 32-32 32H64V96z\"},\"child\":[]}]})(props);\n};\nexport function FaPrint (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 192V77.25c0-8.49-3.37-16.62-9.37-22.63L393.37 9.37c-6-6-14.14-9.37-22.63-9.37H96C78.33 0 64 14.33 64 32v160c-35.35 0-64 28.65-64 64v112c0 8.84 7.16 16 16 16h48v96c0 17.67 14.33 32 32 32h320c17.67 0 32-14.33 32-32v-96h48c8.84 0 16-7.16 16-16V256c0-35.35-28.65-64-64-64zm-64 256H128v-96h256v96zm0-224H128V64h192v48c0 8.84 7.16 16 16 16h48v96zm48 72c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z\"},\"child\":[]}]})(props);\n};\nexport function FaProcedures (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M528 224H272c-8.8 0-16 7.2-16 16v144H64V144c0-8.8-7.2-16-16-16H16c-8.8 0-16 7.2-16 16v352c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-48h512v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V336c0-61.9-50.1-112-112-112zM136 96h126.1l27.6 55.2c5.9 11.8 22.7 11.8 28.6 0L368 51.8 390.1 96H512c8.8 0 16-7.2 16-16s-7.2-16-16-16H409.9L382.3 8.8C376.4-3 359.6-3 353.7 8.8L304 108.2l-19.9-39.8c-1.4-2.7-4.1-4.4-7.2-4.4H136c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm24 256c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64z\"},\"child\":[]}]})(props);\n};\nexport function FaProjectDiagram (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 320H256c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h128c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32zM192 32c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v128c0 17.67 14.33 32 32 32h95.72l73.16 128.04C211.98 300.98 232.4 288 256 288h.28L192 175.51V128h224V64H192V32zM608 0H480c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h128c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaPumpMedical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M235.51,159.82H84.24A64,64,0,0,0,20.51,218L.14,442a64,64,0,0,0,63.74,69.8h192A64,64,0,0,0,319.61,442L299.24,218A64,64,0,0,0,235.51,159.82Zm4.37,173.33a13.35,13.35,0,0,1-13.34,13.34h-40v40a13.33,13.33,0,0,1-13.33,13.33H146.54a13.33,13.33,0,0,1-13.33-13.33v-40h-40a13.34,13.34,0,0,1-13.33-13.34V306.49a13.33,13.33,0,0,1,13.33-13.34h40v-40a13.33,13.33,0,0,1,13.33-13.33h26.67a13.33,13.33,0,0,1,13.33,13.33v40h40a13.34,13.34,0,0,1,13.34,13.34ZM379.19,93.88,335.87,50.56a64,64,0,0,0-45.24-18.74H223.88a32,32,0,0,0-32-32h-64a32,32,0,0,0-32,32v96h128v-32h66.75l43.31,43.31a16,16,0,0,0,22.63,0l22.62-22.62A16,16,0,0,0,379.19,93.88Z\"},\"child\":[]}]})(props);\n};\nexport function FaPumpSoap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M235.63,160H84.37a64,64,0,0,0-63.74,58.21L.27,442.21A64,64,0,0,0,64,512H256a64,64,0,0,0,63.74-69.79l-20.36-224A64,64,0,0,0,235.63,160ZM160,416c-33.12,0-60-26.33-60-58.75,0-25,35.7-75.47,52-97.27A10,10,0,0,1,168,260c16.33,21.8,52,72.27,52,97.27C220,389.67,193.12,416,160,416ZM379.31,94.06,336,50.74A64,64,0,0,0,290.75,32H224A32,32,0,0,0,192,0H128A32,32,0,0,0,96,32v96H224V96h66.75l43.31,43.31a16,16,0,0,0,22.63,0l22.62-22.62A16,16,0,0,0,379.31,94.06Z\"},\"child\":[]}]})(props);\n};\nexport function FaPuzzlePiece (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M519.442 288.651c-41.519 0-59.5 31.593-82.058 31.593C377.409 320.244 432 144 432 144s-196.288 80-196.288-3.297c0-35.827 36.288-46.25 36.288-85.985C272 19.216 243.885 0 210.539 0c-34.654 0-66.366 18.891-66.366 56.346 0 41.364 31.711 59.277 31.711 81.75C175.885 207.719 0 166.758 0 166.758v333.237s178.635 41.047 178.635-28.662c0-22.473-40-40.107-40-81.471 0-37.456 29.25-56.346 63.577-56.346 33.673 0 61.788 19.216 61.788 54.717 0 39.735-36.288 50.158-36.288 85.985 0 60.803 129.675 25.73 181.23 25.73 0 0-34.725-120.101 25.827-120.101 35.962 0 46.423 36.152 86.308 36.152C556.712 416 576 387.99 576 354.443c0-34.199-18.962-65.792-56.558-65.792z\"},\"child\":[]}]})(props);\n};\nexport function FaQrcode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 224h192V32H0v192zM64 96h64v64H64V96zm192-64v192h192V32H256zm128 128h-64V96h64v64zM0 480h192V288H0v192zm64-128h64v64H64v-64zm352-64h32v128h-96v-32h-32v96h-64V288h96v32h64v-32zm0 160h32v32h-32v-32zm-64 0h32v32h-32v-32z\"},\"child\":[]}]})(props);\n};\nexport function FaQuestionCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zM262.655 90c-54.497 0-89.255 22.957-116.549 63.758-3.536 5.286-2.353 12.415 2.715 16.258l34.699 26.31c5.205 3.947 12.621 3.008 16.665-2.122 17.864-22.658 30.113-35.797 57.303-35.797 20.429 0 45.698 13.148 45.698 32.958 0 14.976-12.363 22.667-32.534 33.976C247.128 238.528 216 254.941 216 296v4c0 6.627 5.373 12 12 12h56c6.627 0 12-5.373 12-12v-1.333c0-28.462 83.186-29.647 83.186-106.667 0-58.002-60.165-102-116.531-102zM256 338c-25.365 0-46 20.635-46 46 0 25.364 20.635 46 46 46s46-20.636 46-46c0-25.365-20.635-46-46-46z\"},\"child\":[]}]})(props);\n};\nexport function FaQuestion (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M202.021 0C122.202 0 70.503 32.703 29.914 91.026c-7.363 10.58-5.093 25.086 5.178 32.874l43.138 32.709c10.373 7.865 25.132 6.026 33.253-4.148 25.049-31.381 43.63-49.449 82.757-49.449 30.764 0 68.816 19.799 68.816 49.631 0 22.552-18.617 34.134-48.993 51.164-35.423 19.86-82.299 44.576-82.299 106.405V320c0 13.255 10.745 24 24 24h72.471c13.255 0 24-10.745 24-24v-5.773c0-42.86 125.268-44.645 125.268-160.627C377.504 66.256 286.902 0 202.021 0zM192 373.459c-38.196 0-69.271 31.075-69.271 69.271 0 38.195 31.075 69.27 69.271 69.27s69.271-31.075 69.271-69.271-31.075-69.27-69.271-69.27z\"},\"child\":[]}]})(props);\n};\nexport function FaQuidditch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256.5 216.8L343.2 326s-16.6 102.4-76.6 150.1C206.7 523.8 0 510.2 0 510.2s3.8-23.1 11-55.4l94.6-112.2c4-4.7-.9-11.6-6.6-9.5l-60.4 22.1c14.4-41.7 32.7-80 54.6-97.5 59.9-47.8 163.3-40.9 163.3-40.9zm238 135c-44 0-79.8 35.8-79.8 79.9 0 44.1 35.7 79.9 79.8 79.9 44.1 0 79.8-35.8 79.8-79.9 0-44.2-35.8-79.9-79.8-79.9zM636.5 31L616.7 6c-5.5-6.9-15.5-8-22.4-2.6L361.8 181.3l-34.1-43c-5.1-6.4-15.1-5.2-18.6 2.2l-25.3 54.6 86.7 109.2 58.8-12.4c8-1.7 11.4-11.2 6.3-17.6l-34.1-42.9L634 53.5c6.9-5.5 8-15.6 2.5-22.5z\"},\"child\":[]}]})(props);\n};\nexport function FaQuoteLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 256h-80v-64c0-35.3 28.7-64 64-64h8c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24h-8c-88.4 0-160 71.6-160 160v240c0 26.5 21.5 48 48 48h128c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48zm-288 0H96v-64c0-35.3 28.7-64 64-64h8c13.3 0 24-10.7 24-24V56c0-13.3-10.7-24-24-24h-8C71.6 32 0 103.6 0 192v240c0 26.5 21.5 48 48 48h128c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48z\"},\"child\":[]}]})(props);\n};\nexport function FaQuoteRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 32H336c-26.5 0-48 21.5-48 48v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48zm-288 0H48C21.5 32 0 53.5 0 80v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48z\"},\"child\":[]}]})(props);\n};\nexport function FaQuran (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 358.4V25.6c0-16-9.6-25.6-25.6-25.6H96C41.6 0 0 41.6 0 96v320c0 54.4 41.6 96 96 96h326.4c12.8 0 25.6-9.6 25.6-25.6v-16c0-6.4-3.2-12.8-9.6-19.2-3.2-16-3.2-60.8 0-73.6 6.4-3.2 9.6-9.6 9.6-19.2zM301.08 145.82c.6-1.21 1.76-1.82 2.92-1.82s2.32.61 2.92 1.82l11.18 22.65 25 3.63c2.67.39 3.74 3.67 1.81 5.56l-18.09 17.63 4.27 24.89c.36 2.11-1.31 3.82-3.21 3.82-.5 0-1.02-.12-1.52-.38L304 211.87l-22.36 11.75c-.5.26-1.02.38-1.52.38-1.9 0-3.57-1.71-3.21-3.82l4.27-24.89-18.09-17.63c-1.94-1.89-.87-5.17 1.81-5.56l24.99-3.63 11.19-22.65zm-57.89-69.01c13.67 0 27.26 2.49 40.38 7.41a6.775 6.775 0 1 1-2.38 13.12c-.67 0-3.09-.21-4.13-.21-52.31 0-94.86 42.55-94.86 94.86 0 52.3 42.55 94.86 94.86 94.86 1.03 0 3.48-.21 4.13-.21 3.93 0 6.8 3.14 6.8 6.78 0 2.98-1.94 5.51-4.62 6.42-13.07 4.87-26.59 7.34-40.19 7.34C179.67 307.19 128 255.51 128 192c0-63.52 51.67-115.19 115.19-115.19zM380.8 448H96c-19.2 0-32-12.8-32-32s16-32 32-32h284.8v64z\"},\"child\":[]}]})(props);\n};\nexport function FaRadiationAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M312 256h79.1c9.2 0 16.9-7.7 16-16.8-4.6-43.6-27-81.8-59.5-107.8-7.6-6.1-18.8-4.5-24 3.8L281.9 202c18 11.2 30.1 31.2 30.1 54zm-97.8 54.1L172.4 377c-4.9 7.8-2.4 18.4 5.8 22.5 21.1 10.4 44.7 16.5 69.8 16.5s48.7-6.1 69.9-16.5c8.2-4.1 10.6-14.7 5.8-22.5l-41.8-66.9c-9.8 6.2-21.4 9.9-33.8 9.9s-24.1-3.7-33.9-9.9zM104.9 256H184c0-22.8 12.1-42.8 30.2-54.1l-41.7-66.8c-5.2-8.3-16.4-9.9-24-3.8-32.6 26-54.9 64.2-59.5 107.8-1.1 9.2 6.7 16.9 15.9 16.9zM248 504c137 0 248-111 248-248S385 8 248 8 0 119 0 256s111 248 248 248zm0-432c101.5 0 184 82.5 184 184s-82.5 184-184 184S64 357.5 64 256 146.5 72 248 72zm0 216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaRadiation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M328.2 255.8h151.6c9.1 0 16.8-7.7 16.2-16.8-5.1-75.8-44.4-142.2-102.5-184.2-7.4-5.3-17.9-2.9-22.7 4.8L290.4 188c22.6 14.3 37.8 39.2 37.8 67.8zm-37.8 67.7c-12.3 7.7-26.8 12.4-42.4 12.4-15.6 0-30-4.7-42.4-12.4L125.2 452c-4.8 7.7-2.4 18.1 5.6 22.4C165.7 493.2 205.6 504 248 504s82.3-10.8 117.2-29.6c8-4.3 10.4-14.8 5.6-22.4l-80.4-128.5zM248 303.8c26.5 0 48-21.5 48-48s-21.5-48-48-48-48 21.5-48 48 21.5 48 48 48zm-231.8-48h151.6c0-28.6 15.2-53.5 37.8-67.7L125.2 59.7c-4.8-7.7-15.3-10.2-22.7-4.8C44.4 96.9 5.1 163.3 0 239.1c-.6 9 7.1 16.7 16.2 16.7z\"},\"child\":[]}]})(props);\n};\nexport function FaRainbow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M268.3 32.7C115.4 42.9 0 176.9 0 330.2V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320C64 186.8 180.9 80.3 317.5 97.9 430.4 112.4 512 214 512 327.8V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320c0-165.3-140-298.6-307.7-287.3zm-5.6 96.9C166 142 96 229.1 96 326.7V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320c0-74.8 64.5-134.8 140.8-127.4 66.5 6.5 115.2 66.2 115.2 133.1V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320c0-114.2-100.2-205.4-217.3-190.4zm6.2 96.3c-45.6 8.9-76.9 51.5-76.9 97.9V464c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320c0-17.6 14.3-32 32-32s32 14.4 32 32v144c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320c0-59.2-53.8-106-115.1-94.1z\"},\"child\":[]}]})(props);\n};\nexport function FaRandom (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M504.971 359.029c9.373 9.373 9.373 24.569 0 33.941l-80 79.984c-15.01 15.01-40.971 4.49-40.971-16.971V416h-58.785a12.004 12.004 0 0 1-8.773-3.812l-70.556-75.596 53.333-57.143L352 336h32v-39.981c0-21.438 25.943-31.998 40.971-16.971l80 79.981zM12 176h84l52.781 56.551 53.333-57.143-70.556-75.596A11.999 11.999 0 0 0 122.785 96H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12zm372 0v39.984c0 21.46 25.961 31.98 40.971 16.971l80-79.984c9.373-9.373 9.373-24.569 0-33.941l-80-79.981C409.943 24.021 384 34.582 384 56.019V96h-58.785a12.004 12.004 0 0 0-8.773 3.812L96 336H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12h110.785c3.326 0 6.503-1.381 8.773-3.812L352 176h32z\"},\"child\":[]}]})(props);\n};\nexport function FaReceipt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M358.4 3.2L320 48 265.6 3.2a15.9 15.9 0 0 0-19.2 0L192 48 137.6 3.2a15.9 15.9 0 0 0-19.2 0L64 48 25.6 3.2C15-4.7 0 2.8 0 16v480c0 13.2 15 20.7 25.6 12.8L64 464l54.4 44.8a15.9 15.9 0 0 0 19.2 0L192 464l54.4 44.8a15.9 15.9 0 0 0 19.2 0L320 464l38.4 44.8c10.5 7.9 25.6.4 25.6-12.8V16c0-13.2-15-20.7-25.6-12.8zM320 360c0 4.4-3.6 8-8 8H72c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h240c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H72c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h240c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H72c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h240c4.4 0 8 3.6 8 8v16z\"},\"child\":[]}]})(props);\n};\nexport function FaRecordVinyl (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 152a104 104 0 1 0 104 104 104 104 0 0 0-104-104zm0 128a24 24 0 1 1 24-24 24 24 0 0 1-24 24zm0-272C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 376a128 128 0 1 1 128-128 128 128 0 0 1-128 128z\"},\"child\":[]}]})(props);\n};\nexport function FaRecycle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M184.561 261.903c3.232 13.997-12.123 24.635-24.068 17.168l-40.736-25.455-50.867 81.402C55.606 356.273 70.96 384 96.012 384H148c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12H96.115c-75.334 0-121.302-83.048-81.408-146.88l50.822-81.388-40.725-25.448c-12.081-7.547-8.966-25.961 4.879-29.158l110.237-25.45c8.611-1.988 17.201 3.381 19.189 11.99l25.452 110.237zm98.561-182.915l41.289 66.076-40.74 25.457c-12.051 7.528-9 25.953 4.879 29.158l110.237 25.45c8.672 1.999 17.215-3.438 19.189-11.99l25.45-110.237c3.197-13.844-11.99-24.719-24.068-17.168l-40.687 25.424-41.263-66.082c-37.521-60.033-125.209-60.171-162.816 0l-17.963 28.766c-3.51 5.62-1.8 13.021 3.82 16.533l33.919 21.195c5.62 3.512 13.024 1.803 16.536-3.817l17.961-28.743c12.712-20.341 41.973-19.676 54.257-.022zM497.288 301.12l-27.515-44.065c-3.511-5.623-10.916-7.334-16.538-3.821l-33.861 21.159c-5.62 3.512-7.33 10.915-3.818 16.536l27.564 44.112c13.257 21.211-2.057 48.96-27.136 48.96H320V336.02c0-14.213-17.242-21.383-27.313-11.313l-80 79.981c-6.249 6.248-6.249 16.379 0 22.627l80 79.989C302.689 517.308 320 510.3 320 495.989V448h95.88c75.274 0 121.335-82.997 81.408-146.88z\"},\"child\":[]}]})(props);\n};\nexport function FaRedoAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256.455 8c66.269.119 126.437 26.233 170.859 68.685l35.715-35.715C478.149 25.851 504 36.559 504 57.941V192c0 13.255-10.745 24-24 24H345.941c-21.382 0-32.09-25.851-16.971-40.971l41.75-41.75c-30.864-28.899-70.801-44.907-113.23-45.273-92.398-.798-170.283 73.977-169.484 169.442C88.764 348.009 162.184 424 256 424c41.127 0 79.997-14.678 110.629-41.556 4.743-4.161 11.906-3.908 16.368.553l39.662 39.662c4.872 4.872 4.631 12.815-.482 17.433C378.202 479.813 319.926 504 256 504 119.034 504 8.001 392.967 8 256.002 7.999 119.193 119.646 7.755 256.455 8z\"},\"child\":[]}]})(props);\n};\nexport function FaRedo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M500.33 0h-47.41a12 12 0 0 0-12 12.57l4 82.76A247.42 247.42 0 0 0 256 8C119.34 8 7.9 119.53 8 256.19 8.1 393.07 119.1 504 256 504a247.1 247.1 0 0 0 166.18-63.91 12 12 0 0 0 .48-17.43l-34-34a12 12 0 0 0-16.38-.55A176 176 0 1 1 402.1 157.8l-101.53-4.87a12 12 0 0 0-12.57 12v47.41a12 12 0 0 0 12 12h200.33a12 12 0 0 0 12-12V12a12 12 0 0 0-12-12z\"},\"child\":[]}]})(props);\n};\nexport function FaRegistered (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M285.363 207.475c0 18.6-9.831 28.431-28.431 28.431h-29.876v-56.14h23.378c28.668 0 34.929 8.773 34.929 27.709zM504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM363.411 360.414c-46.729-84.825-43.299-78.636-44.702-80.98 23.432-15.172 37.945-42.979 37.945-74.486 0-54.244-31.5-89.252-105.498-89.252h-70.667c-13.255 0-24 10.745-24 24V372c0 13.255 10.745 24 24 24h22.567c13.255 0 24-10.745 24-24v-71.663h25.556l44.129 82.937a24.001 24.001 0 0 0 21.188 12.727h24.464c18.261-.001 29.829-19.591 21.018-35.587z\"},\"child\":[]}]})(props);\n};\nexport function FaRemoveFormat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M336 416h-11.17l9.26-27.77L267 336.4 240.49 416H208a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm297.82 42.1L377 259.59 426.17 112H544v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16H176a16 16 0 0 0-16 16v43.9L45.46 3.38A16 16 0 0 0 23 6.19L3.37 31.46a16 16 0 0 0 2.81 22.45l588.36 454.72a16 16 0 0 0 22.46-2.81l19.64-25.27a16 16 0 0 0-2.82-22.45zM309.91 207.76L224 141.36V112h117.83z\"},\"child\":[]}]})(props);\n};\nexport function FaReplyAll (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M136.309 189.836L312.313 37.851C327.72 24.546 352 35.348 352 56.015v82.763c129.182 10.231 224 52.212 224 183.548 0 61.441-39.582 122.309-83.333 154.132-13.653 9.931-33.111-2.533-28.077-18.631 38.512-123.162-3.922-169.482-112.59-182.015v84.175c0 20.701-24.3 31.453-39.687 18.164L136.309 226.164c-11.071-9.561-11.086-26.753 0-36.328zm-128 36.328L184.313 378.15C199.7 391.439 224 380.687 224 359.986v-15.818l-108.606-93.785A55.96 55.96 0 0 1 96 207.998a55.953 55.953 0 0 1 19.393-42.38L224 71.832V56.015c0-20.667-24.28-31.469-39.687-18.164L8.309 189.836c-11.086 9.575-11.071 26.767 0 36.328z\"},\"child\":[]}]})(props);\n};\nexport function FaReply (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.309 189.836L184.313 37.851C199.719 24.546 224 35.347 224 56.015v80.053c160.629 1.839 288 34.032 288 186.258 0 61.441-39.581 122.309-83.333 154.132-13.653 9.931-33.111-2.533-28.077-18.631 45.344-145.012-21.507-183.51-176.59-185.742V360c0 20.7-24.3 31.453-39.687 18.164l-176.004-152c-11.071-9.562-11.086-26.753 0-36.328z\"},\"child\":[]}]})(props);\n};\nexport function FaRepublican (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M544 192c0-88.4-71.6-160-160-160H160C71.6 32 0 103.6 0 192v64h544v-64zm-367.7-21.6l-19.8 19.3 4.7 27.3c.8 4.9-4.3 8.6-8.7 6.3L128 210.4l-24.5 12.9c-4.3 2.3-9.5-1.4-8.7-6.3l4.7-27.3-19.8-19.3c-3.6-3.5-1.6-9.5 3.3-10.2l27.4-4 12.2-24.8c2.2-4.5 8.6-4.4 10.7 0l12.2 24.8 27.4 4c5 .7 6.9 6.7 3.4 10.2zm144 0l-19.8 19.3 4.7 27.3c.8 4.9-4.3 8.6-8.7 6.3L272 210.4l-24.5 12.9c-4.3 2.3-9.5-1.4-8.7-6.3l4.7-27.3-19.8-19.3c-3.6-3.5-1.6-9.5 3.3-10.2l27.4-4 12.2-24.8c2.2-4.5 8.6-4.4 10.7 0l12.2 24.8 27.4 4c5 .7 6.9 6.7 3.4 10.2zm144 0l-19.8 19.3 4.7 27.3c.8 4.9-4.3 8.6-8.7 6.3L416 210.4l-24.5 12.9c-4.3 2.3-9.5-1.4-8.7-6.3l4.7-27.3-19.8-19.3c-3.6-3.5-1.6-9.5 3.3-10.2l27.4-4 12.2-24.8c2.2-4.5 8.6-4.4 10.7 0l12.2 24.8 27.4 4c5 .7 6.9 6.7 3.4 10.2zM624 320h-32c-8.8 0-16 7.2-16 16v64c0 8.8-7.2 16-16 16s-16-7.2-16-16V288H0v176c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16v-80h192v80c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16V352h32v43.3c0 41.8 30 80.1 71.6 84.3 47.8 4.9 88.4-32.7 88.4-79.6v-64c0-8.8-7.2-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaRestroom (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M128 128c35.3 0 64-28.7 64-64S163.3 0 128 0 64 28.7 64 64s28.7 64 64 64zm384 0c35.3 0 64-28.7 64-64S547.3 0 512 0s-64 28.7-64 64 28.7 64 64 64zm127.3 226.5l-45.6-185.8c-3.3-13.5-15.5-23-29.8-24.2-15 9.7-32.8 15.5-52 15.5-19.2 0-37-5.8-52-15.5-14.3 1.2-26.5 10.7-29.8 24.2l-45.6 185.8C381 369.6 393 384 409.2 384H464v104c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24V384h54.8c16.2 0 28.2-14.4 24.5-29.5zM336 0h-32c-8.8 0-16 7.2-16 16v480c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16zM180.1 144.4c-15 9.8-32.9 15.6-52.1 15.6-19.2 0-37.1-5.8-52.1-15.6C51.3 146.5 32 166.9 32 192v136c0 13.3 10.7 24 24 24h8v136c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V352h8c13.3 0 24-10.7 24-24V192c0-25.1-19.3-45.5-43.9-47.6z\"},\"child\":[]}]})(props);\n};\nexport function FaRetweet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M629.657 343.598L528.971 444.284c-9.373 9.372-24.568 9.372-33.941 0L394.343 343.598c-9.373-9.373-9.373-24.569 0-33.941l10.823-10.823c9.562-9.562 25.133-9.34 34.419.492L480 342.118V160H292.451a24.005 24.005 0 0 1-16.971-7.029l-16-16C244.361 121.851 255.069 96 276.451 96H520c13.255 0 24 10.745 24 24v222.118l40.416-42.792c9.285-9.831 24.856-10.054 34.419-.492l10.823 10.823c9.372 9.372 9.372 24.569-.001 33.941zm-265.138 15.431A23.999 23.999 0 0 0 347.548 352H160V169.881l40.416 42.792c9.286 9.831 24.856 10.054 34.419.491l10.822-10.822c9.373-9.373 9.373-24.569 0-33.941L144.971 67.716c-9.373-9.373-24.569-9.373-33.941 0L10.343 168.402c-9.373 9.373-9.373 24.569 0 33.941l10.822 10.822c9.562 9.562 25.133 9.34 34.419-.491L96 169.881V392c0 13.255 10.745 24 24 24h243.549c21.382 0 32.09-25.851 16.971-40.971l-16.001-16z\"},\"child\":[]}]})(props);\n};\nexport function FaRibbon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.1 444.3c-9.6 10.8-7.5 27.6 4.5 35.7l68.8 27.9c9.9 6.7 23.3 5 31.3-3.8l91.8-101.9-79.2-87.9-117.2 130zm435.8 0s-292-324.6-295.4-330.1c15.4-8.4 40.2-17.9 77.5-17.9s62.1 9.5 77.5 17.9c-3.3 5.6-56 64.6-56 64.6l79.1 87.7 34.2-38c28.7-31.9 33.3-78.6 11.4-115.5l-43.7-73.5c-4.3-7.2-9.9-13.3-16.8-18-40.7-27.6-127.4-29.7-171.4 0-6.9 4.7-12.5 10.8-16.8 18l-43.6 73.2c-1.5 2.5-37.1 62.2 11.5 116L337.5 504c8 8.9 21.4 10.5 31.3 3.8l68.8-27.9c11.9-8 14-24.8 4.3-35.6z\"},\"child\":[]}]})(props);\n};\nexport function FaRing (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 64C110.06 64 0 125.91 0 208v98.13C0 384.48 114.62 448 256 448s256-63.52 256-141.87V208c0-82.09-110.06-144-256-144zm0 64c106.04 0 192 35.82 192 80 0 9.26-3.97 18.12-10.91 26.39C392.15 208.21 328.23 192 256 192s-136.15 16.21-181.09 42.39C67.97 226.12 64 217.26 64 208c0-44.18 85.96-80 192-80zM120.43 264.64C155.04 249.93 201.64 240 256 240s100.96 9.93 135.57 24.64C356.84 279.07 308.93 288 256 288s-100.84-8.93-135.57-23.36z\"},\"child\":[]}]})(props);\n};\nexport function FaRoad (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M573.19 402.67l-139.79-320C428.43 71.29 417.6 64 405.68 64h-97.59l2.45 23.16c.5 4.72-3.21 8.84-7.96 8.84h-29.16c-4.75 0-8.46-4.12-7.96-8.84L267.91 64h-97.59c-11.93 0-22.76 7.29-27.73 18.67L2.8 402.67C-6.45 423.86 8.31 448 30.54 448h196.84l10.31-97.68c.86-8.14 7.72-14.32 15.91-14.32h68.8c8.19 0 15.05 6.18 15.91 14.32L348.62 448h196.84c22.23 0 36.99-24.14 27.73-45.33zM260.4 135.16a8 8 0 0 1 7.96-7.16h39.29c4.09 0 7.53 3.09 7.96 7.16l4.6 43.58c.75 7.09-4.81 13.26-11.93 13.26h-40.54c-7.13 0-12.68-6.17-11.93-13.26l4.59-43.58zM315.64 304h-55.29c-9.5 0-16.91-8.23-15.91-17.68l5.07-48c.86-8.14 7.72-14.32 15.91-14.32h45.15c8.19 0 15.05 6.18 15.91 14.32l5.07 48c1 9.45-6.41 17.68-15.91 17.68z\"},\"child\":[]}]})(props);\n};\nexport function FaRobot (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M32,224H64V416H32A31.96166,31.96166,0,0,1,0,384V256A31.96166,31.96166,0,0,1,32,224Zm512-48V448a64.06328,64.06328,0,0,1-64,64H160a64.06328,64.06328,0,0,1-64-64V176a79.974,79.974,0,0,1,80-80H288V32a32,32,0,0,1,64,0V96H464A79.974,79.974,0,0,1,544,176ZM264,256a40,40,0,1,0-40,40A39.997,39.997,0,0,0,264,256Zm-8,128H192v32h64Zm96,0H288v32h64ZM456,256a40,40,0,1,0-40,40A39.997,39.997,0,0,0,456,256Zm-8,128H384v32h64ZM640,256V384a31.96166,31.96166,0,0,1-32,32H576V224h32A31.96166,31.96166,0,0,1,640,256Z\"},\"child\":[]}]})(props);\n};\nexport function FaRocket (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M505.12019,19.09375c-1.18945-5.53125-6.65819-11-12.207-12.1875C460.716,0,435.507,0,410.40747,0,307.17523,0,245.26909,55.20312,199.05238,128H94.83772c-16.34763.01562-35.55658,11.875-42.88664,26.48438L2.51562,253.29688A28.4,28.4,0,0,0,0,264a24.00867,24.00867,0,0,0,24.00582,24H127.81618l-22.47457,22.46875c-11.36521,11.36133-12.99607,32.25781,0,45.25L156.24582,406.625c11.15623,11.1875,32.15619,13.15625,45.27726,0l22.47457-22.46875V488a24.00867,24.00867,0,0,0,24.00581,24,28.55934,28.55934,0,0,0,10.707-2.51562l98.72834-49.39063c14.62888-7.29687,26.50776-26.5,26.50776-42.85937V312.79688c72.59753-46.3125,128.03493-108.40626,128.03493-211.09376C512.07526,76.5,512.07526,51.29688,505.12019,19.09375ZM384.04033,168A40,40,0,1,1,424.05,128,40.02322,40.02322,0,0,1,384.04033,168Z\"},\"child\":[]}]})(props);\n};\nexport function FaRoute (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416 320h-96c-17.6 0-32-14.4-32-32s14.4-32 32-32h96s96-107 96-160-43-96-96-96-96 43-96 96c0 25.5 22.2 63.4 45.3 96H320c-52.9 0-96 43.1-96 96s43.1 96 96 96h96c17.6 0 32 14.4 32 32s-14.4 32-32 32H185.5c-16 24.8-33.8 47.7-47.3 64H416c52.9 0 96-43.1 96-96s-43.1-96-96-96zm0-256c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zM96 256c-53 0-96 43-96 96s96 160 96 160 96-107 96-160-43-96-96-96zm0 128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaRssSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM112 416c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm157.533 0h-34.335c-6.011 0-11.051-4.636-11.442-10.634-5.214-80.05-69.243-143.92-149.123-149.123-5.997-.39-10.633-5.431-10.633-11.441v-34.335c0-6.535 5.468-11.777 11.994-11.425 110.546 5.974 198.997 94.536 204.964 204.964.352 6.526-4.89 11.994-11.425 11.994zm103.027 0h-34.334c-6.161 0-11.175-4.882-11.427-11.038-5.598-136.535-115.204-246.161-251.76-251.76C68.882 152.949 64 147.935 64 141.774V107.44c0-6.454 5.338-11.664 11.787-11.432 167.83 6.025 302.21 141.191 308.205 308.205.232 6.449-4.978 11.787-11.432 11.787z\"},\"child\":[]}]})(props);\n};\nexport function FaRss (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M128.081 415.959c0 35.369-28.672 64.041-64.041 64.041S0 451.328 0 415.959s28.672-64.041 64.041-64.041 64.04 28.673 64.04 64.041zm175.66 47.25c-8.354-154.6-132.185-278.587-286.95-286.95C7.656 175.765 0 183.105 0 192.253v48.069c0 8.415 6.49 15.472 14.887 16.018 111.832 7.284 201.473 96.702 208.772 208.772.547 8.397 7.604 14.887 16.018 14.887h48.069c9.149.001 16.489-7.655 15.995-16.79zm144.249.288C439.596 229.677 251.465 40.445 16.503 32.01 7.473 31.686 0 38.981 0 48.016v48.068c0 8.625 6.835 15.645 15.453 15.999 191.179 7.839 344.627 161.316 352.465 352.465.353 8.618 7.373 15.453 15.999 15.453h48.068c9.034-.001 16.329-7.474 16.005-16.504z\"},\"child\":[]}]})(props);\n};\nexport function FaRubleSign (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M239.36 320C324.48 320 384 260.542 384 175.071S324.48 32 239.36 32H76c-6.627 0-12 5.373-12 12v206.632H12c-6.627 0-12 5.373-12 12V308c0 6.627 5.373 12 12 12h52v32H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h52v52c0 6.627 5.373 12 12 12h58.56c6.627 0 12-5.373 12-12v-52H308c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12H146.56v-32h92.8zm-92.8-219.252h78.72c46.72 0 74.88 29.11 74.88 74.323 0 45.832-28.16 75.561-76.16 75.561h-77.44V100.748z\"},\"child\":[]}]})(props);\n};\nexport function FaRulerCombined (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M160 288h-56c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h56v-64h-56c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h56V96h-56c-4.42 0-8-3.58-8-8V72c0-4.42 3.58-8 8-8h56V32c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v448c0 2.77.91 5.24 1.57 7.8L160 329.38V288zm320 64h-32v56c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-56h-64v56c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-56h-64v56c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-56h-41.37L24.2 510.43c2.56.66 5.04 1.57 7.8 1.57h448c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaRulerHorizontal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M544 128h-48v88c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-88h-64v88c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-88h-64v88c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-88h-64v88c0 4.42-3.58 8-8 8h-16c-4.42 0-8-3.58-8-8v-88h-64v88c0 4.42-3.58 8-8 8H88c-4.42 0-8-3.58-8-8v-88H32c-17.67 0-32 14.33-32 32v192c0 17.67 14.33 32 32 32h512c17.67 0 32-14.33 32-32V160c0-17.67-14.33-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaRulerVertical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 256 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M168 416c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h88v-64h-88c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h88v-64h-88c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h88v-64h-88c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h88V32c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v448c0 17.67 14.33 32 32 32h192c17.67 0 32-14.33 32-32v-64h-88z\"},\"child\":[]}]})(props);\n};\nexport function FaRuler (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M635.7 167.2L556.1 31.7c-8.8-15-28.3-20.1-43.5-11.5l-69 39.1L503.3 161c2.2 3.8.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9L416 75l-55.2 31.3 27.9 47.4c2.2 3.8.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9L333.2 122 278 153.3 337.8 255c2.2 3.7.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9l-59.7-101.7-55.2 31.3 27.9 47.4c2.2 3.8.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9l-27.9-47.5-55.2 31.3 59.7 101.7c2.2 3.7.9 8.5-2.9 10.7l-13.8 7.8c-3.8 2.2-8.7.9-10.9-2.9L84.9 262.9l-69 39.1C.7 310.7-4.6 329.8 4.2 344.8l79.6 135.6c8.8 15 28.3 20.1 43.5 11.5L624.1 210c15.2-8.6 20.4-27.8 11.6-42.8z\"},\"child\":[]}]})(props);\n};\nexport function FaRunning (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 416 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M272 96c26.51 0 48-21.49 48-48S298.51 0 272 0s-48 21.49-48 48 21.49 48 48 48zM113.69 317.47l-14.8 34.52H32c-17.67 0-32 14.33-32 32s14.33 32 32 32h77.45c19.25 0 36.58-11.44 44.11-29.09l8.79-20.52-10.67-6.3c-17.32-10.23-30.06-25.37-37.99-42.61zM384 223.99h-44.03l-26.06-53.25c-12.5-25.55-35.45-44.23-61.78-50.94l-71.08-21.14c-28.3-6.8-57.77-.55-80.84 17.14l-39.67 30.41c-14.03 10.75-16.69 30.83-5.92 44.86s30.84 16.66 44.86 5.92l39.69-30.41c7.67-5.89 17.44-8 25.27-6.14l14.7 4.37-37.46 87.39c-12.62 29.48-1.31 64.01 26.3 80.31l84.98 50.17-27.47 87.73c-5.28 16.86 4.11 34.81 20.97 40.09 3.19 1 6.41 1.48 9.58 1.48 13.61 0 26.23-8.77 30.52-22.45l31.64-101.06c5.91-20.77-2.89-43.08-21.64-54.39l-61.24-36.14 31.31-78.28 20.27 41.43c8 16.34 24.92 26.89 43.11 26.89H384c17.67 0 32-14.33 32-32s-14.33-31.99-32-31.99z\"},\"child\":[]}]})(props);\n};\nexport function FaRupeeSign (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M308 96c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v44.748c0 6.627 5.373 12 12 12h85.28c27.308 0 48.261 9.958 60.97 27.252H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h158.757c-6.217 36.086-32.961 58.632-74.757 58.632H12c-6.627 0-12 5.373-12 12v53.012c0 3.349 1.4 6.546 3.861 8.818l165.052 152.356a12.001 12.001 0 0 0 8.139 3.182h82.562c10.924 0 16.166-13.408 8.139-20.818L116.871 319.906c76.499-2.34 131.144-53.395 138.318-127.906H308c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-58.69c-3.486-11.541-8.28-22.246-14.252-32H308z\"},\"child\":[]}]})(props);\n};\nexport function FaSadCry (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256c0 90.1 48.2 168.7 120 212.1V288c0-8.8 7.2-16 16-16s16 7.2 16 16v196.7c29.5 12.4 62 19.3 96 19.3s66.5-6.9 96-19.3V288c0-8.8 7.2-16 16-16s16 7.2 16 16v180.1C447.8 424.7 496 346 496 256 496 119 385 8 248 8zm-65.5 216.5c-14.8-13.2-46.2-13.2-61 0L112 233c-3.8 3.3-9.3 4-13.7 1.6-4.4-2.4-6.9-7.4-6.1-12.4 4-25.2 34.2-42.1 59.9-42.1S208 197 212 222.2c.8 5-1.7 10-6.1 12.4-5.8 3.1-11.2.7-13.7-1.6l-9.7-8.5zM248 416c-26.5 0-48-28.7-48-64s21.5-64 48-64 48 28.7 48 64-21.5 64-48 64zm149.8-181.5c-5.8 3.1-11.2.7-13.7-1.6l-9.5-8.5c-14.8-13.2-46.2-13.2-61 0L304 233c-3.8 3.3-9.3 4-13.7 1.6-4.4-2.4-6.9-7.4-6.1-12.4 4-25.2 34.2-42.1 59.9-42.1S400 197 404 222.2c.6 4.9-1.8 9.9-6.2 12.3z\"},\"child\":[]}]})(props);\n};\nexport function FaSadTear (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zM152 416c-26.5 0-48-21-48-47 0-20 28.5-60.4 41.6-77.8 3.2-4.3 9.6-4.3 12.8 0C171.5 308.6 200 349 200 369c0 26-21.5 47-48 47zm16-176c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm170.2 154.2C315.8 367.4 282.9 352 248 352c-21.2 0-21.2-32 0-32 44.4 0 86.3 19.6 114.7 53.8 13.8 16.4-11.2 36.5-24.5 20.4z\"},\"child\":[]}]})(props);\n};\nexport function FaSatelliteDish (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M305.44954,462.59c7.39157,7.29792,6.18829,20.09661-3.00038,25.00356-77.713,41.80281-176.72559,29.9105-242.34331-35.7082C-5.49624,386.28227-17.404,287.362,24.41381,209.554c4.89125-9.095,17.68975-10.29834,25.00318-3.00043L166.22872,323.36708l27.39411-27.39452c-.68759-2.60974-1.594-5.00071-1.594-7.81361a32.00407,32.00407,0,1,1,32.00407,32.00455c-2.79723,0-5.20378-.89075-7.79786-1.594l-27.40974,27.41015ZM511.9758,303.06732a16.10336,16.10336,0,0,1-16.002,17.00242H463.86031a15.96956,15.96956,0,0,1-15.89265-15.00213C440.46671,175.5492,336.45348,70.53427,207.03078,63.53328a15.84486,15.84486,0,0,1-15.00191-15.90852V16.02652A16.09389,16.09389,0,0,1,209.031.02425C372.25491,8.61922,503.47472,139.841,511.9758,303.06732Zm-96.01221-.29692a16.21093,16.21093,0,0,1-16.11142,17.29934H367.645a16.06862,16.06862,0,0,1-15.89265-14.70522c-6.90712-77.01094-68.118-138.91037-144.92467-145.22376a15.94,15.94,0,0,1-14.79876-15.89289V112.13393a16.134,16.134,0,0,1,17.29908-16.096C319.45132,104.5391,407.55627,192.64538,415.96359,302.7704Z\"},\"child\":[]}]})(props);\n};\nexport function FaSatellite (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M502.60969,310.04206l-96.70393,96.71625a31.88151,31.88151,0,0,1-45.00765,0L280.572,326.34115l-9.89231,9.90759a190.56343,190.56343,0,0,1-5.40716,168.52287c-4.50077,8.50115-16.39342,9.59505-23.20707,2.79725L134.54715,400.05428l-17.7999,17.79929c.70324,2.60972,1.60965,5.00067,1.60965,7.79793a32.00544,32.00544,0,1,1-32.00544-32.00434c2.79735,0,5.18838.90637,7.7982,1.60959l17.7999-17.79929L4.43129,269.94287c-6.798-6.81342-5.70409-18.6119,2.79735-23.20627a190.58161,190.58161,0,0,1,168.52864-5.407l9.79854-9.79821-80.31053-80.41716a32.002,32.002,0,0,1,0-45.09987L201.96474,9.29814A31.62639,31.62639,0,0,1,224.46868,0a31.99951,31.99951,0,0,1,22.59759,9.29814l80.32615,80.30777,47.805-47.89713a33.6075,33.6075,0,0,1,47.50808,0l47.50807,47.50645a33.63308,33.63308,0,0,1,0,47.50644l-47.805,47.89713L502.71908,265.036A31.78938,31.78938,0,0,1,502.60969,310.04206ZM219.56159,197.433l73.82505-73.82252-68.918-68.9-73.80942,73.80689Zm237.74352,90.106-68.90233-68.9156-73.825,73.82252,68.918,68.9Z\"},\"child\":[]}]})(props);\n};\nexport function FaSave (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M433.941 129.941l-83.882-83.882A48 48 0 0 0 316.118 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V163.882a48 48 0 0 0-14.059-33.941zM224 416c-35.346 0-64-28.654-64-64 0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64zm96-304.52V212c0 6.627-5.373 12-12 12H76c-6.627 0-12-5.373-12-12V108c0-6.627 5.373-12 12-12h228.52c3.183 0 6.235 1.264 8.485 3.515l3.48 3.48A11.996 11.996 0 0 1 320 111.48z\"},\"child\":[]}]})(props);\n};\nexport function FaSchool (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 224v272c0 8.84 7.16 16 16 16h80V192H32c-17.67 0-32 14.33-32 32zm360-48h-24v-40c0-4.42-3.58-8-8-8h-16c-4.42 0-8 3.58-8 8v64c0 4.42 3.58 8 8 8h48c4.42 0 8-3.58 8-8v-16c0-4.42-3.58-8-8-8zm137.75-63.96l-160-106.67a32.02 32.02 0 0 0-35.5 0l-160 106.67A32.002 32.002 0 0 0 128 138.66V512h128V368c0-8.84 7.16-16 16-16h96c8.84 0 16 7.16 16 16v144h128V138.67c0-10.7-5.35-20.7-14.25-26.63zM320 256c-44.18 0-80-35.82-80-80s35.82-80 80-80 80 35.82 80 80-35.82 80-80 80zm288-64h-64v320h80c8.84 0 16-7.16 16-16V224c0-17.67-14.33-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaScrewdriver (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 0L320 96v62.06l-83.03 83.03c6.79 4.25 13.27 9.06 19.07 14.87 5.8 5.8 10.62 12.28 14.87 19.07L353.94 192H416l96-128-64-64zM128 278.59L10.92 395.67c-14.55 14.55-14.55 38.15 0 52.71l52.7 52.7c14.56 14.56 38.15 14.56 52.71 0L233.41 384c29.11-29.11 29.11-76.3 0-105.41s-76.3-29.11-105.41 0z\"},\"child\":[]}]})(props);\n};\nexport function FaScroll (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M48 0C21.53 0 0 21.53 0 48v64c0 8.84 7.16 16 16 16h80V48C96 21.53 74.47 0 48 0zm208 412.57V352h288V96c0-52.94-43.06-96-96-96H111.59C121.74 13.41 128 29.92 128 48v368c0 38.87 34.65 69.65 74.75 63.12C234.22 474 256 444.46 256 412.57zM288 384v32c0 52.93-43.06 96-96 96h336c61.86 0 112-50.14 112-112 0-8.84-7.16-16-16-16H288z\"},\"child\":[]}]})(props);\n};\nexport function FaSdCard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M320 0H128L0 128v320c0 35.3 28.7 64 64 64h256c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64zM160 160h-48V64h48v96zm80 0h-48V64h48v96zm80 0h-48V64h48v96z\"},\"child\":[]}]})(props);\n};\nexport function FaSearchDollar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M505.04 442.66l-99.71-99.69c-4.5-4.5-10.6-7-17-7h-16.3c27.6-35.3 44-79.69 44-127.99C416.03 93.09 322.92 0 208.02 0S0 93.09 0 207.98s93.11 207.98 208.02 207.98c48.3 0 92.71-16.4 128.01-44v16.3c0 6.4 2.5 12.5 7 17l99.71 99.69c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.59.1-33.99zm-297.02-90.7c-79.54 0-144-64.34-144-143.98 0-79.53 64.35-143.98 144-143.98 79.54 0 144 64.34 144 143.98 0 79.53-64.35 143.98-144 143.98zm27.11-152.54l-45.01-13.5c-5.16-1.55-8.77-6.78-8.77-12.73 0-7.27 5.3-13.19 11.8-13.19h28.11c4.56 0 8.96 1.29 12.82 3.72 3.24 2.03 7.36 1.91 10.13-.73l11.75-11.21c3.53-3.37 3.33-9.21-.57-12.14-9.1-6.83-20.08-10.77-31.37-11.35V112c0-4.42-3.58-8-8-8h-16c-4.42 0-8 3.58-8 8v16.12c-23.63.63-42.68 20.55-42.68 45.07 0 19.97 12.99 37.81 31.58 43.39l45.01 13.5c5.16 1.55 8.77 6.78 8.77 12.73 0 7.27-5.3 13.19-11.8 13.19h-28.1c-4.56 0-8.96-1.29-12.82-3.72-3.24-2.03-7.36-1.91-10.13.73l-11.75 11.21c-3.53 3.37-3.33 9.21.57 12.14 9.1 6.83 20.08 10.77 31.37 11.35V304c0 4.42 3.58 8 8 8h16c4.42 0 8-3.58 8-8v-16.12c23.63-.63 42.68-20.54 42.68-45.07 0-19.97-12.99-37.81-31.59-43.39z\"},\"child\":[]}]})(props);\n};\nexport function FaSearchLocation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M505.04 442.66l-99.71-99.69c-4.5-4.5-10.6-7-17-7h-16.3c27.6-35.3 44-79.69 44-127.99C416.03 93.09 322.92 0 208.02 0S0 93.09 0 207.98s93.11 207.98 208.02 207.98c48.3 0 92.71-16.4 128.01-44v16.3c0 6.4 2.5 12.5 7 17l99.71 99.69c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.59.1-33.99zm-297.02-90.7c-79.54 0-144-64.34-144-143.98 0-79.53 64.35-143.98 144-143.98 79.54 0 144 64.34 144 143.98 0 79.53-64.35 143.98-144 143.98zm.02-239.96c-40.78 0-73.84 33.05-73.84 73.83 0 32.96 48.26 93.05 66.75 114.86a9.24 9.24 0 0 0 14.18 0c18.49-21.81 66.75-81.89 66.75-114.86 0-40.78-33.06-73.83-73.84-73.83zm0 96c-13.26 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z\"},\"child\":[]}]})(props);\n};\nexport function FaSearchMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M304 192v32c0 6.6-5.4 12-12 12H124c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm201 284.7L476.7 505c-9.4 9.4-24.6 9.4-33.9 0L343 405.3c-4.5-4.5-7-10.6-7-17V372c-35.3 27.6-79.7 44-128 44C93.1 416 0 322.9 0 208S93.1 0 208 0s208 93.1 208 208c0 48.3-16.4 92.7-44 128h16.3c6.4 0 12.5 2.5 17 7l99.7 99.7c9.3 9.4 9.3 24.6 0 34zM344 208c0-75.2-60.8-136-136-136S72 132.8 72 208s60.8 136 136 136 136-60.8 136-136z\"},\"child\":[]}]})(props);\n};\nexport function FaSearchPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M304 192v32c0 6.6-5.4 12-12 12h-56v56c0 6.6-5.4 12-12 12h-32c-6.6 0-12-5.4-12-12v-56h-56c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h56v-56c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v56h56c6.6 0 12 5.4 12 12zm201 284.7L476.7 505c-9.4 9.4-24.6 9.4-33.9 0L343 405.3c-4.5-4.5-7-10.6-7-17V372c-35.3 27.6-79.7 44-128 44C93.1 416 0 322.9 0 208S93.1 0 208 0s208 93.1 208 208c0 48.3-16.4 92.7-44 128h16.3c6.4 0 12.5 2.5 17 7l99.7 99.7c9.3 9.4 9.3 24.6 0 34zM344 208c0-75.2-60.8-136-136-136S72 132.8 72 208s60.8 136 136 136 136-60.8 136-136z\"},\"child\":[]}]})(props);\n};\nexport function FaSearch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z\"},\"child\":[]}]})(props);\n};\nexport function FaSeedling (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M64 96H0c0 123.7 100.3 224 224 224v144c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V320C288 196.3 187.7 96 64 96zm384-64c-84.2 0-157.4 46.5-195.7 115.2 27.7 30.2 48.2 66.9 59 107.6C424 243.1 512 147.9 512 32h-64z\"},\"child\":[]}]})(props);\n};\nexport function FaServer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M480 160H32c-17.673 0-32-14.327-32-32V64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm112 248H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm112 248H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24z\"},\"child\":[]}]})(props);\n};\nexport function FaShapes (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M128,256A128,128,0,1,0,256,384,128,128,0,0,0,128,256Zm379-54.86L400.07,18.29a37.26,37.26,0,0,0-64.14,0L229,201.14C214.76,225.52,232.58,256,261.09,256H474.91C503.42,256,521.24,225.52,507,201.14ZM480,288H320a32,32,0,0,0-32,32V480a32,32,0,0,0,32,32H480a32,32,0,0,0,32-32V320A32,32,0,0,0,480,288Z\"},\"child\":[]}]})(props);\n};\nexport function FaShareAltSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 80v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48zM304 296c-14.562 0-27.823 5.561-37.783 14.671l-67.958-40.775a56.339 56.339 0 0 0 0-27.793l67.958-40.775C276.177 210.439 289.438 216 304 216c30.928 0 56-25.072 56-56s-25.072-56-56-56-56 25.072-56 56c0 4.797.605 9.453 1.74 13.897l-67.958 40.775C171.823 205.561 158.562 200 144 200c-30.928 0-56 25.072-56 56s25.072 56 56 56c14.562 0 27.823-5.561 37.783-14.671l67.958 40.775a56.088 56.088 0 0 0-1.74 13.897c0 30.928 25.072 56 56 56s56-25.072 56-56C360 321.072 334.928 296 304 296z\"},\"child\":[]}]})(props);\n};\nexport function FaShareAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M352 320c-22.608 0-43.387 7.819-59.79 20.895l-102.486-64.054a96.551 96.551 0 0 0 0-41.683l102.486-64.054C308.613 184.181 329.392 192 352 192c53.019 0 96-42.981 96-96S405.019 0 352 0s-96 42.981-96 96c0 7.158.79 14.13 2.276 20.841L155.79 180.895C139.387 167.819 118.608 160 96 160c-53.019 0-96 42.981-96 96s42.981 96 96 96c22.608 0 43.387-7.819 59.79-20.895l102.486 64.054A96.301 96.301 0 0 0 256 416c0 53.019 42.981 96 96 96s96-42.981 96-96-42.981-96-96-96z\"},\"child\":[]}]})(props);\n};\nexport function FaShareSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M568.482 177.448L424.479 313.433C409.3 327.768 384 317.14 384 295.985v-71.963c-144.575.97-205.566 35.113-164.775 171.353 4.483 14.973-12.846 26.567-25.006 17.33C155.252 383.105 120 326.488 120 269.339c0-143.937 117.599-172.5 264-173.312V24.012c0-21.174 25.317-31.768 40.479-17.448l144.003 135.988c10.02 9.463 10.028 25.425 0 34.896zM384 379.128V448H64V128h50.916a11.99 11.99 0 0 0 8.648-3.693c14.953-15.568 32.237-27.89 51.014-37.676C185.708 80.83 181.584 64 169.033 64H48C21.49 64 0 85.49 0 112v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48v-88.806c0-8.288-8.197-14.066-16.011-11.302a71.83 71.83 0 0 1-34.189 3.377c-7.27-1.046-13.8 4.514-13.8 11.859z\"},\"child\":[]}]})(props);\n};\nexport function FaShare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M503.691 189.836L327.687 37.851C312.281 24.546 288 35.347 288 56.015v80.053C127.371 137.907 0 170.1 0 322.326c0 61.441 39.581 122.309 83.333 154.132 13.653 9.931 33.111-2.533 28.077-18.631C66.066 312.814 132.917 274.316 288 272.085V360c0 20.7 24.3 31.453 39.687 18.164l176.004-152c11.071-9.562 11.086-26.753 0-36.328z\"},\"child\":[]}]})(props);\n};\nexport function FaShekelSign (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 168v168c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V168c0-75.11-60.89-136-136-136H24C10.75 32 0 42.74 0 56v408c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V112h112c30.93 0 56 25.07 56 56zM432 32h-48c-8.84 0-16 7.16-16 16v296c0 30.93-25.07 56-56 56H200V176c0-8.84-7.16-16-16-16h-48c-8.84 0-16 7.16-16 16v280c0 13.25 10.75 24 24 24h168c75.11 0 136-60.89 136-136V48c0-8.84-7.16-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaShieldAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M466.5 83.7l-192-80a48.15 48.15 0 0 0-36.9 0l-192 80C27.7 91.1 16 108.6 16 128c0 198.5 114.5 335.7 221.5 380.3 11.8 4.9 25.1 4.9 36.9 0C360.1 472.6 496 349.3 496 128c0-19.4-11.7-36.9-29.5-44.3zM256.1 446.3l-.1-381 175.9 73.3c-3.3 151.4-82.1 261.1-175.8 307.7z\"},\"child\":[]}]})(props);\n};\nexport function FaShieldVirus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224,192a16,16,0,1,0,16,16A16,16,0,0,0,224,192ZM466.5,83.68l-192-80A57.4,57.4,0,0,0,256.05,0a57.4,57.4,0,0,0-18.46,3.67l-192,80A47.93,47.93,0,0,0,16,128C16,326.5,130.5,463.72,237.5,508.32a48.09,48.09,0,0,0,36.91,0C360.09,472.61,496,349.3,496,128A48,48,0,0,0,466.5,83.68ZM384,256H371.88c-28.51,0-42.79,34.47-22.63,54.63l8.58,8.57a16,16,0,1,1-22.63,22.63l-8.57-8.58C306.47,313.09,272,327.37,272,355.88V368a16,16,0,0,1-32,0V355.88c0-28.51-34.47-42.79-54.63-22.63l-8.57,8.58a16,16,0,0,1-22.63-22.63l8.58-8.57c20.16-20.16,5.88-54.63-22.63-54.63H128a16,16,0,0,1,0-32h12.12c28.51,0,42.79-34.47,22.63-54.63l-8.58-8.57a16,16,0,0,1,22.63-22.63l8.57,8.58c20.16,20.16,54.63,5.88,54.63-22.63V112a16,16,0,0,1,32,0v12.12c0,28.51,34.47,42.79,54.63,22.63l8.57-8.58a16,16,0,0,1,22.63,22.63l-8.58,8.57C329.09,189.53,343.37,224,371.88,224H384a16,16,0,0,1,0,32Zm-96,0a16,16,0,1,0,16,16A16,16,0,0,0,288,256Z\"},\"child\":[]}]})(props);\n};\nexport function FaShip (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496.616 372.639l70.012-70.012c16.899-16.9 9.942-45.771-12.836-53.092L512 236.102V96c0-17.673-14.327-32-32-32h-64V24c0-13.255-10.745-24-24-24H248c-13.255 0-24 10.745-24 24v40h-64c-17.673 0-32 14.327-32 32v140.102l-41.792 13.433c-22.753 7.313-29.754 36.173-12.836 53.092l70.012 70.012C125.828 416.287 85.587 448 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24 61.023 0 107.499-20.61 143.258-59.396C181.677 487.432 216.021 512 256 512h128c39.979 0 74.323-24.568 88.742-59.396C508.495 491.384 554.968 512 616 512c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24-60.817 0-101.542-31.001-119.384-75.361zM192 128h256v87.531l-118.208-37.995a31.995 31.995 0 0 0-19.584 0L192 215.531V128z\"},\"child\":[]}]})(props);\n};\nexport function FaShippingFast (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M624 352h-16V243.9c0-12.7-5.1-24.9-14.1-33.9L494 110.1c-9-9-21.2-14.1-33.9-14.1H416V48c0-26.5-21.5-48-48-48H112C85.5 0 64 21.5 64 48v48H8c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h272c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H40c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h208c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H8c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h208c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H64v128c0 53 43 96 96 96s96-43 96-96h128c0 53 43 96 96 96s96-43 96-96h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM160 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm320 0c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm80-208H416V144h44.1l99.9 99.9V256z\"},\"child\":[]}]})(props);\n};\nexport function FaShoePrints (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M192 160h32V32h-32c-35.35 0-64 28.65-64 64s28.65 64 64 64zM0 416c0 35.35 28.65 64 64 64h32V352H64c-35.35 0-64 28.65-64 64zm337.46-128c-34.91 0-76.16 13.12-104.73 32-24.79 16.38-44.52 32-104.73 32v128l57.53 15.97c26.21 7.28 53.01 13.12 80.31 15.05 32.69 2.31 65.6.67 97.58-6.2C472.9 481.3 512 429.22 512 384c0-64-84.18-96-174.54-96zM491.42 7.19C459.44.32 426.53-1.33 393.84.99c-27.3 1.93-54.1 7.77-80.31 15.04L256 32v128c60.2 0 79.94 15.62 104.73 32 28.57 18.88 69.82 32 104.73 32C555.82 224 640 192 640 128c0-45.22-39.1-97.3-148.58-120.81z\"},\"child\":[]}]})(props);\n};\nexport function FaShoppingBag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M352 160v-32C352 57.42 294.579 0 224 0 153.42 0 96 57.42 96 128v32H0v272c0 44.183 35.817 80 80 80h288c44.183 0 80-35.817 80-80V160h-96zm-192-32c0-35.29 28.71-64 64-64s64 28.71 64 64v32H160v-32zm160 120c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24zm-192 0c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24z\"},\"child\":[]}]})(props);\n};\nexport function FaShoppingBasket (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M576 216v16c0 13.255-10.745 24-24 24h-8l-26.113 182.788C514.509 462.435 494.257 480 470.37 480H105.63c-23.887 0-44.139-17.565-47.518-41.212L32 256h-8c-13.255 0-24-10.745-24-24v-16c0-13.255 10.745-24 24-24h67.341l106.78-146.821c10.395-14.292 30.407-17.453 44.701-7.058 14.293 10.395 17.453 30.408 7.058 44.701L170.477 192h235.046L326.12 82.821c-10.395-14.292-7.234-34.306 7.059-44.701 14.291-10.395 34.306-7.235 44.701 7.058L484.659 192H552c13.255 0 24 10.745 24 24zM312 392V280c0-13.255-10.745-24-24-24s-24 10.745-24 24v112c0 13.255 10.745 24 24 24s24-10.745 24-24zm112 0V280c0-13.255-10.745-24-24-24s-24 10.745-24 24v112c0 13.255 10.745 24 24 24s24-10.745 24-24zm-224 0V280c0-13.255-10.745-24-24-24s-24 10.745-24 24v112c0 13.255 10.745 24 24 24s24-10.745 24-24z\"},\"child\":[]}]})(props);\n};\nexport function FaShoppingCart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M528.12 301.319l47.273-208C578.806 78.301 567.391 64 551.99 64H159.208l-9.166-44.81C147.758 8.021 137.93 0 126.529 0H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24h69.883l70.248 343.435C147.325 417.1 136 435.222 136 456c0 30.928 25.072 56 56 56s56-25.072 56-56c0-15.674-6.447-29.835-16.824-40h209.647C430.447 426.165 424 440.326 424 456c0 30.928 25.072 56 56 56s56-25.072 56-56c0-22.172-12.888-41.332-31.579-50.405l5.517-24.276c3.413-15.018-8.002-29.319-23.403-29.319H218.117l-6.545-32h293.145c11.206 0 20.92-7.754 23.403-18.681z\"},\"child\":[]}]})(props);\n};\nexport function FaShower (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M304,320a16,16,0,1,0,16,16A16,16,0,0,0,304,320Zm32-96a16,16,0,1,0,16,16A16,16,0,0,0,336,224Zm32,64a16,16,0,1,0-16-16A16,16,0,0,0,368,288Zm-32,32a16,16,0,1,0-16-16A16,16,0,0,0,336,320Zm-32-64a16,16,0,1,0,16,16A16,16,0,0,0,304,256Zm128-32a16,16,0,1,0-16-16A16,16,0,0,0,432,224Zm-48,16a16,16,0,1,0,16-16A16,16,0,0,0,384,240Zm-16-48a16,16,0,1,0,16,16A16,16,0,0,0,368,192Zm96,32a16,16,0,1,0,16,16A16,16,0,0,0,464,224Zm32-32a16,16,0,1,0,16,16A16,16,0,0,0,496,192Zm-64,64a16,16,0,1,0,16,16A16,16,0,0,0,432,256Zm-32,32a16,16,0,1,0,16,16A16,16,0,0,0,400,288Zm-64,64a16,16,0,1,0,16,16A16,16,0,0,0,336,352Zm-32,32a16,16,0,1,0,16,16A16,16,0,0,0,304,384Zm64-64a16,16,0,1,0,16,16A16,16,0,0,0,368,320Zm21.65-218.35-11.3-11.31a16,16,0,0,0-22.63,0L350.05,96A111.19,111.19,0,0,0,272,64c-19.24,0-37.08,5.3-52.9,13.85l-10-10A121.72,121.72,0,0,0,123.44,32C55.49,31.5,0,92.91,0,160.85V464a16,16,0,0,0,16,16H48a16,16,0,0,0,16-16V158.4c0-30.15,21-58.2,51-61.93a58.38,58.38,0,0,1,48.93,16.67l10,10C165.3,138.92,160,156.76,160,176a111.23,111.23,0,0,0,32,78.05l-5.66,5.67a16,16,0,0,0,0,22.62l11.3,11.31a16,16,0,0,0,22.63,0L389.65,124.28A16,16,0,0,0,389.65,101.65Z\"},\"child\":[]}]})(props);\n};\nexport function FaShuttleVan (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M628.88 210.65L494.39 49.27A48.01 48.01 0 0 0 457.52 32H32C14.33 32 0 46.33 0 64v288c0 17.67 14.33 32 32 32h32c0 53.02 42.98 96 96 96s96-42.98 96-96h128c0 53.02 42.98 96 96 96s96-42.98 96-96h32c17.67 0 32-14.33 32-32V241.38c0-11.23-3.94-22.1-11.12-30.73zM64 192V96h96v96H64zm96 240c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm160-240h-96V96h96v96zm160 240c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm-96-240V96h66.02l80 96H384z\"},\"child\":[]}]})(props);\n};\nexport function FaSignInAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416 448h-84c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h84c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32h-84c-6.6 0-12-5.4-12-12V76c0-6.6 5.4-12 12-12h84c53 0 96 43 96 96v192c0 53-43 96-96 96zm-47-201L201 79c-15-15-41-4.5-41 17v96H24c-13.3 0-24 10.7-24 24v96c0 13.3 10.7 24 24 24h136v96c0 21.5 26 32 41 17l168-168c9.3-9.4 9.3-24.6 0-34z\"},\"child\":[]}]})(props);\n};\nexport function FaSignLanguage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M91.434 483.987c-.307-16.018 13.109-29.129 29.13-29.129h62.293v-5.714H56.993c-16.021 0-29.437-13.111-29.13-29.129C28.16 404.491 40.835 392 56.428 392h126.429v-5.714H29.136c-16.021 0-29.437-13.111-29.13-29.129.297-15.522 12.973-28.013 28.566-28.013h154.286v-5.714H57.707c-16.021 0-29.437-13.111-29.13-29.129.297-15.522 12.973-28.013 28.566-28.013h168.566l-31.085-22.606c-12.762-9.281-15.583-27.149-6.302-39.912 9.281-12.761 27.15-15.582 39.912-6.302l123.361 89.715a34.287 34.287 0 0 1 14.12 27.728v141.136c0 15.91-10.946 29.73-26.433 33.374l-80.471 18.934a137.16 137.16 0 0 1-31.411 3.646H120c-15.593-.001-28.269-12.492-28.566-28.014zm73.249-225.701h36.423l-11.187-8.136c-18.579-13.511-20.313-40.887-3.17-56.536l-13.004-16.7c-9.843-12.641-28.43-15.171-40.88-5.088-12.065 9.771-14.133 27.447-4.553 39.75l36.371 46.71zm283.298-2.103l-5.003-152.452c-.518-15.771-13.722-28.136-29.493-27.619-15.773.518-28.137 13.722-27.619 29.493l1.262 38.415L283.565 11.019c-9.58-12.303-27.223-14.63-39.653-5.328-12.827 9.599-14.929 28.24-5.086 40.881l76.889 98.745-4.509 3.511-94.79-121.734c-9.58-12.303-27.223-14.63-39.653-5.328-12.827 9.599-14.929 28.24-5.086 40.881l94.443 121.288-4.509 3.511-77.675-99.754c-9.58-12.303-27.223-14.63-39.653-5.328-12.827 9.599-14.929 28.24-5.086 40.881l52.053 66.849c12.497-8.257 29.055-8.285 41.69.904l123.36 89.714c10.904 7.93 17.415 20.715 17.415 34.198v16.999l61.064-47.549a34.285 34.285 0 0 0 13.202-28.177z\"},\"child\":[]}]})(props);\n};\nexport function FaSignOutAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M497 273L329 441c-15 15-41 4.5-41-17v-96H152c-13.3 0-24-10.7-24-24v-96c0-13.3 10.7-24 24-24h136V88c0-21.4 25.9-32 41-17l168 168c9.3 9.4 9.3 24.6 0 34zM192 436v-40c0-6.6-5.4-12-12-12H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h84c6.6 0 12-5.4 12-12V76c0-6.6-5.4-12-12-12H96c-53 0-96 43-96 96v192c0 53 43 96 96 96h84c6.6 0 12-5.4 12-12z\"},\"child\":[]}]})(props);\n};\nexport function FaSign (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496 64H128V16c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16v48H16C7.2 64 0 71.2 0 80v32c0 8.8 7.2 16 16 16h48v368c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V128h368c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16zM160 384h320V160H160v224z\"},\"child\":[]}]})(props);\n};\nexport function FaSignal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M216 288h-48c-8.84 0-16 7.16-16 16v192c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V304c0-8.84-7.16-16-16-16zM88 384H40c-8.84 0-16 7.16-16 16v96c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16v-96c0-8.84-7.16-16-16-16zm256-192h-48c-8.84 0-16 7.16-16 16v288c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V208c0-8.84-7.16-16-16-16zm128-96h-48c-8.84 0-16 7.16-16 16v384c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V112c0-8.84-7.16-16-16-16zM600 0h-48c-8.84 0-16 7.16-16 16v480c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V16c0-8.84-7.16-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaSignature (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M623.2 192c-51.8 3.5-125.7 54.7-163.1 71.5-29.1 13.1-54.2 24.4-76.1 24.4-22.6 0-26-16.2-21.3-51.9 1.1-8 11.7-79.2-42.7-76.1-25.1 1.5-64.3 24.8-169.5 126L192 182.2c30.4-75.9-53.2-151.5-129.7-102.8L7.4 116.3C0 121-2.2 130.9 2.5 138.4l17.2 27c4.7 7.5 14.6 9.7 22.1 4.9l58-38.9c18.4-11.7 40.7 7.2 32.7 27.1L34.3 404.1C27.5 421 37 448 64 448c8.3 0 16.5-3.2 22.6-9.4 42.2-42.2 154.7-150.7 211.2-195.8-2.2 28.5-2.1 58.9 20.6 83.8 15.3 16.8 37.3 25.3 65.5 25.3 35.6 0 68-14.6 102.3-30 33-14.8 99-62.6 138.4-65.8 8.5-.7 15.2-7.3 15.2-15.8v-32.1c.2-9.1-7.5-16.8-16.6-16.2z\"},\"child\":[]}]})(props);\n};\nexport function FaSimCard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 64v384c0 35.3 28.7 64 64 64h256c35.3 0 64-28.7 64-64V128L256 0H64C28.7 0 0 28.7 0 64zm224 192h-64v-64h64v64zm96 0h-64v-64h32c17.7 0 32 14.3 32 32v32zm-64 128h64v32c0 17.7-14.3 32-32 32h-32v-64zm-96 0h64v64h-64v-64zm-96 0h64v64H96c-17.7 0-32-14.3-32-32v-32zm0-96h256v64H64v-64zm0-64c0-17.7 14.3-32 32-32h32v64H64v-32z\"},\"child\":[]}]})(props);\n};\nexport function FaSink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M32,416a96,96,0,0,0,96,96H384a96,96,0,0,0,96-96V384H32ZM496,288H400V256h64a16,16,0,0,0,16-16V224a16,16,0,0,0-16-16H384a32,32,0,0,0-32,32v48H288V96a32,32,0,0,1,64,0v16a16,16,0,0,0,16,16h32a16,16,0,0,0,16-16V96A96.16,96.16,0,0,0,300.87,1.86C255.29,10.71,224,53.36,224,99.79V288H160V240a32,32,0,0,0-32-32H48a16,16,0,0,0-16,16v16a16,16,0,0,0,16,16h64v32H16A16,16,0,0,0,0,304v32a16,16,0,0,0,16,16H496a16,16,0,0,0,16-16V304A16,16,0,0,0,496,288Z\"},\"child\":[]}]})(props);\n};\nexport function FaSitemap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M128 352H32c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32zm-24-80h192v48h48v-48h192v48h48v-57.59c0-21.17-17.23-38.41-38.41-38.41H344v-64h40c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32H256c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h40v64H94.41C73.23 224 56 241.23 56 262.41V320h48v-48zm264 80h-96c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32zm240 0h-96c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaSkating (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 0c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48zm0 448c-8.8 0-16 7.2-16 16s-7.2 16-16 16h-96c-8.8 0-16 7.2-16 16s7.2 16 16 16h96c26.5 0 48-21.5 48-48 0-8.8-7.2-16-16-16zm-282.2 8.6c-6.2 6.2-16.4 6.3-22.6 0l-67.9-67.9c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l67.9 67.9c9.4 9.4 21.7 14 34 14s24.6-4.7 33.9-14c6.2-6.2 6.2-16.4 0-22.6s-16.4-6.3-22.7 0zm56.1-179.8l-93.7 93.7c-12.5 12.5-12.5 32.8 0 45.2 6.2 6.2 14.4 9.4 22.6 9.4s16.4-3.1 22.6-9.4l91.9-91.9-30.2-30.2c-5-5-9.4-10.7-13.2-16.8zM128 160h105.5l-20.1 17.2c-13.5 11.5-21.6 28.4-22.3 46.1-.7 17.8 6.1 35.2 18.7 47.7l78.2 78.2V432c0 17.7 14.3 32 32 32s32-14.3 32-32v-89.4c0-12.6-5.1-25-14.1-33.9l-61-61c.5-.4 1.2-.6 1.7-1.1l82.3-82.3c11.5-11.5 14.9-28.6 8.7-43.6-6.2-15-20.7-24.7-37-24.7H128c-17.7 0-32 14.3-32 32s14.3 32 32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaSkiingNordic (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M336 96c26.5 0 48-21.5 48-48S362.5 0 336 0s-48 21.5-48 48 21.5 48 48 48zm216 320c-13.2 0-24 10.7-24 24 0 13.2-10.8 24-24 24h-69.5L460 285.6c11.7-4.7 20.1-16.2 20.1-29.6 0-17.7-14.3-32-32-32h-44L378 170.8c-12.5-25.5-35.5-44.2-61.8-50.9L245 98.7c-28.3-6.8-57.8-.5-80.8 17.1l-39.7 30.4c-14 10.7-16.7 30.8-5.9 44.9.7.9 1.7 1.3 2.4 2.1L66.9 464H24c-13.2 0-24 10.7-24 24s10.8 24 24 24h480c39.7 0 72-32.3 72-72 0-13.2-10.8-24-24-24zm-260.5 48h-96.9l43.1-91-22-13c-12.1-7.2-21.9-16.9-29.5-27.8L123.7 464H99.5l52.3-261.4c4.1-1 8.1-2.9 11.7-5.6l39.7-30.4c7.7-5.9 17.4-8 25.3-6.1l14.7 4.4-37.5 87.4c-12.6 29.5-1.3 64 26.3 80.3l85 50.2-25.5 81.2zm110.6 0h-43.6l23.6-75.5c5.9-20.8-2.9-43.1-21.6-54.4L299.3 298l31.3-78.3 20.3 41.4c8 16.3 24.9 26.9 43.1 26.9h33.3l-25.2 176z\"},\"child\":[]}]})(props);\n};\nexport function FaSkiing (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M432 96c26.5 0 48-21.5 48-48S458.5 0 432 0s-48 21.5-48 48 21.5 48 48 48zm73 356.1c-9.4-9.4-24.6-9.4-33.9 0-12.1 12.1-30.5 15.4-45.1 8.7l-135.8-70.2 49.2-73.8c12.7-19 10.2-44.5-6-60.6L293 215.7l-107-53.1c-2.9 19.9 3.4 40 17.7 54.4l75.1 75.2-45.9 68.8L35 258.7c-11.7-6-26.2-1.5-32.3 10.3-6.1 11.8-1.5 26.3 10.3 32.3l391.9 202.5c11.9 5.5 24.5 8.1 37.1 8.1 23.2 0 46-9 63-26 9.3-9.3 9.3-24.5 0-33.8zM120 91.6l-11.5 22.5c14.4 7.3 31.2 4.9 42.8-4.8l47.2 23.4c-.1.1-.1.2-.2.3l114.5 56.8 32.4-13 6.4 19.1c4 12.1 12.6 22 24 27.7l58.1 29c15.9 7.9 35 1.5 42.9-14.3 7.9-15.8 1.5-35-14.3-42.9l-52.1-26.1-17.1-51.2c-8.1-24.2-40.9-56.6-84.5-39.2l-81.2 32.5-62.5-31c.3-14.5-7.2-28.6-20.9-35.6l-11.1 21.7h-.2l-34.4-7c-1.8-.4-3.7.2-5 1.7-1.9 2.2-1.7 5.5.5 7.4l26.2 23z\"},\"child\":[]}]})(props);\n};\nexport function FaSkullCrossbones (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M439.15 453.06L297.17 384l141.99-69.06c7.9-3.95 11.11-13.56 7.15-21.46L432 264.85c-3.95-7.9-13.56-11.11-21.47-7.16L224 348.41 37.47 257.69c-7.9-3.95-17.51-.75-21.47 7.16L1.69 293.48c-3.95 7.9-.75 17.51 7.15 21.46L150.83 384 8.85 453.06c-7.9 3.95-11.11 13.56-7.15 21.47l14.31 28.63c3.95 7.9 13.56 11.11 21.47 7.15L224 419.59l186.53 90.72c7.9 3.95 17.51.75 21.47-7.15l14.31-28.63c3.95-7.91.74-17.52-7.16-21.47zM150 237.28l-5.48 25.87c-2.67 12.62 5.42 24.85 16.45 24.85h126.08c11.03 0 19.12-12.23 16.45-24.85l-5.5-25.87c41.78-22.41 70-62.75 70-109.28C368 57.31 303.53 0 224 0S80 57.31 80 128c0 46.53 28.22 86.87 70 109.28zM280 112c17.65 0 32 14.35 32 32s-14.35 32-32 32-32-14.35-32-32 14.35-32 32-32zm-112 0c17.65 0 32 14.35 32 32s-14.35 32-32 32-32-14.35-32-32 14.35-32 32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaSkull (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 0C114.6 0 0 100.3 0 224c0 70.1 36.9 132.6 94.5 173.7 9.6 6.9 15.2 18.1 13.5 29.9l-9.4 66.2c-1.4 9.6 6 18.2 15.7 18.2H192v-56c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v56h64v-56c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v56h77.7c9.7 0 17.1-8.6 15.7-18.2l-9.4-66.2c-1.7-11.7 3.8-23 13.5-29.9C475.1 356.6 512 294.1 512 224 512 100.3 397.4 0 256 0zm-96 320c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64zm192 0c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64z\"},\"child\":[]}]})(props);\n};\nexport function FaSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M594.53 508.63L6.18 53.9c-6.97-5.42-8.23-15.47-2.81-22.45L23.01 6.18C28.43-.8 38.49-2.06 45.47 3.37L633.82 458.1c6.97 5.42 8.23 15.47 2.81 22.45l-19.64 25.27c-5.42 6.98-15.48 8.23-22.46 2.81z\"},\"child\":[]}]})(props);\n};\nexport function FaSleigh (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M612.7 350.7l-9.3-7.4c-6.9-5.5-17-4.4-22.5 2.5l-10 12.5c-5.5 6.9-4.4 17 2.5 22.5l9.3 7.4c5.9 4.7 9.2 11.7 9.2 19.2 0 13.6-11 24.6-24.6 24.6H48c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h516c39 0 73.7-29.3 75.9-68.3 1.4-23.8-8.7-46.3-27.2-61zM32 224c0 59.6 40.9 109.2 96 123.5V400h64v-48h192v48h64v-48c53 0 96-43 96-96v-96c17.7 0 32-14.3 32-32s-14.3-32-32-32h-96v64c0 35.3-28.7 64-64 64h-20.7c-65.8 0-125.9-37.2-155.3-96-29.4-58.8-89.6-96-155.3-96H32C14.3 32 0 46.3 0 64s14.3 32 32 32v128z\"},\"child\":[]}]})(props);\n};\nexport function FaSlidersH (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496 384H160v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h80v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h336c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160h-80v-16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h336v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h80c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-160H288V48c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v16H16C7.2 64 0 71.2 0 80v32c0 8.8 7.2 16 16 16h208v16c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-16h208c8.8 0 16-7.2 16-16V80c0-8.8-7.2-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaSmileBeam (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM112 223.4c3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.7 8.6-10.8 11.9-14.9 4.5l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.3 7.4-15.8 4-15.1-4.5zm250.8 122.8C334.3 380.4 292.5 400 248 400s-86.3-19.6-114.8-53.8c-13.5-16.3 11-36.7 24.6-20.5 22.4 26.9 55.2 42.2 90.2 42.2s67.8-15.4 90.2-42.2c13.6-16.2 38.1 4.3 24.6 20.5zm6.2-118.3l-9.5-17c-7.7-13.7-19.2-21.6-31.5-21.6s-23.8 7.9-31.5 21.6l-9.5 17c-4.1 7.3-15.6 4-14.9-4.5 3.3-42.1 32.2-71.4 56-71.4s52.7 29.3 56 71.4c.6 8.6-11 11.9-15.1 4.5z\"},\"child\":[]}]})(props);\n};\nexport function FaSmileWink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 256c0 137 111 248 248 248s248-111 248-248S385 8 248 8 0 119 0 256zm200-48c0 17.7-14.3 32-32 32s-32-14.3-32-32 14.3-32 32-32 32 14.3 32 32zm158.5 16.5c-14.8-13.2-46.2-13.2-61 0L288 233c-8.3 7.4-21.6.4-19.8-10.8 4-25.2 34.2-42.1 59.9-42.1S384 197 388 222.2c1.7 11.1-11.4 18.3-19.8 10.8l-9.7-8.5zM157.8 325.8C180.2 352.7 213 368 248 368s67.8-15.4 90.2-42.2c13.6-16.2 38.1 4.2 24.6 20.5C334.3 380.4 292.5 400 248 400s-86.3-19.6-114.8-53.8c-13.5-16.3 11.2-36.7 24.6-20.4z\"},\"child\":[]}]})(props);\n};\nexport function FaSmile (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm80 168c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm-160 0c17.7 0 32 14.3 32 32s-14.3 32-32 32-32-14.3-32-32 14.3-32 32-32zm194.8 170.2C334.3 380.4 292.5 400 248 400s-86.3-19.6-114.8-53.8c-13.6-16.3 11-36.7 24.6-20.5 22.4 26.9 55.2 42.2 90.2 42.2s67.8-15.4 90.2-42.2c13.4-16.2 38.1 4.2 24.6 20.5z\"},\"child\":[]}]})(props);\n};\nexport function FaSmog (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M624 368H80c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h544c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16zm-480 96H16c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h128c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16zm416 0H224c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h336c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16zM144 288h156.1c22.5 19.7 51.6 32 83.9 32s61.3-12.3 83.9-32H528c61.9 0 112-50.1 112-112S589.9 64 528 64c-18 0-34.7 4.6-49.7 12.1C454 31 406.8 0 352 0c-41 0-77.8 17.3-104 44.8C221.8 17.3 185 0 144 0 64.5 0 0 64.5 0 144s64.5 144 144 144z\"},\"child\":[]}]})(props);\n};\nexport function FaSmokingBan (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M96 304c0 8.8 7.2 16 16 16h117.5l-96-96H112c-8.8 0-16 7.2-16 16v64zM256 0C114.6 0 0 114.6 0 256s114.6 256 256 256 256-114.6 256-256S397.4 0 256 0zm0 448c-105.9 0-192-86.1-192-192 0-41.4 13.3-79.7 35.7-111.1l267.4 267.4C335.7 434.7 297.4 448 256 448zm45.2-192H384v32h-50.8l-32-32zm111.1 111.1L365.2 320H400c8.8 0 16-7.2 16-16v-64c0-8.8-7.2-16-16-16H269.2L144.9 99.7C176.3 77.3 214.6 64 256 64c105.9 0 192 86.1 192 192 0 41.4-13.3 79.7-35.7 111.1zM320.6 128c-15.6 0-28.6-11.2-31.4-25.9-.7-3.6-4-6.1-7.7-6.1h-16.2c-5 0-8.7 4.5-8 9.4 4.6 30.9 31.2 54.6 63.3 54.6 15.6 0 28.6 11.2 31.4 25.9.7 3.6 4 6.1 7.7 6.1h16.2c5 0 8.7-4.5 8-9.4-4.6-30.9-31.2-54.6-63.3-54.6z\"},\"child\":[]}]})(props);\n};\nexport function FaSmoking (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M632 352h-48c-4.4 0-8 3.6-8 8v144c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8zM553.3 87.1c-5.7-3.8-9.3-10-9.3-16.8V8c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v62.3c0 22 10.2 43.4 28.6 55.4 42.2 27.3 67.4 73.8 67.4 124V280c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-30.3c0-65.5-32.4-126.2-86.7-162.6zM432 352H48c-26.5 0-48 21.5-48 48v64c0 26.5 21.5 48 48 48h384c8.8 0 16-7.2 16-16V368c0-8.8-7.2-16-16-16zm-32 112H224v-64h176v64zm87.7-322.4C463.8 125 448 99.3 448 70.3V8c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v66.4c0 43.7 24.6 81.6 60.3 106.7 22.4 15.7 35.7 41.2 35.7 68.6V280c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-30.3c0-43.3-21-83.4-56.3-108.1zM536 352h-48c-4.4 0-8 3.6-8 8v144c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V360c0-4.4-3.6-8-8-8z\"},\"child\":[]}]})(props);\n};\nexport function FaSms (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 32C114.6 32 0 125.1 0 240c0 49.6 21.4 95 57 130.7C44.5 421.1 2.7 466 2.2 466.5c-2.2 2.3-2.8 5.7-1.5 8.7 1.3 3 4.1 4.8 7.3 4.8 66.3 0 116-31.8 140.6-51.4 32.7 12.3 69 19.4 107.4 19.4 141.4 0 256-93.1 256-208S397.4 32 256 32zM128.2 304H116c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h12.3c6 0 10.4-3.5 10.4-6.6 0-1.3-.8-2.7-2.1-3.8l-21.9-18.8c-8.5-7.2-13.3-17.5-13.3-28.1 0-21.3 19-38.6 42.4-38.6H156c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8h-12.3c-6 0-10.4 3.5-10.4 6.6 0 1.3.8 2.7 2.1 3.8l21.9 18.8c8.5 7.2 13.3 17.5 13.3 28.1.1 21.3-19 38.6-42.4 38.6zm191.8-8c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8v-68.2l-24.8 55.8c-2.9 5.9-11.4 5.9-14.3 0L224 227.8V296c0 4.4-3.6 8-8 8h-16c-4.4 0-8-3.6-8-8V192c0-8.8 7.2-16 16-16h16c6.1 0 11.6 3.4 14.3 8.8l17.7 35.4 17.7-35.4c2.7-5.4 8.3-8.8 14.3-8.8h16c8.8 0 16 7.2 16 16v104zm48.3 8H356c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h12.3c6 0 10.4-3.5 10.4-6.6 0-1.3-.8-2.7-2.1-3.8l-21.9-18.8c-8.5-7.2-13.3-17.5-13.3-28.1 0-21.3 19-38.6 42.4-38.6H396c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8h-12.3c-6 0-10.4 3.5-10.4 6.6 0 1.3.8 2.7 2.1 3.8l21.9 18.8c8.5 7.2 13.3 17.5 13.3 28.1.1 21.3-18.9 38.6-42.3 38.6z\"},\"child\":[]}]})(props);\n};\nexport function FaSnowboarding (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M432 96c26.5 0 48-21.5 48-48S458.5 0 432 0s-48 21.5-48 48 21.5 48 48 48zm28.8 153.6c5.8 4.3 12.5 6.4 19.2 6.4 9.7 0 19.3-4.4 25.6-12.8 10.6-14.1 7.8-34.2-6.4-44.8l-111.4-83.5c-13.8-10.3-29.1-18.4-45.4-23.8l-63.7-21.2-26.1-52.1C244.7 2 225.5-4.4 209.7 3.5c-15.8 7.9-22.2 27.1-14.3 42.9l29.1 58.1c5.7 11.4 15.6 19.9 27.7 24l16.4 5.5-41.2 20.6c-21.8 10.9-35.4 32.8-35.4 57.2v53.1l-74.1 24.7c-16.8 5.6-25.8 23.7-20.2 40.5 1.7 5.2 4.9 9.4 8.7 12.9l-38.7-14.1c-9.7-3.5-17.4-10.6-21.8-20-5.6-12-19.9-17.2-31.9-11.6s-17.2 19.9-11.6 31.9c9.8 21 27.1 36.9 48.9 44.8l364.8 132.7c9.7 3.5 19.7 5.3 29.7 5.3 12.5 0 24.9-2.7 36.5-8.2 12-5.6 17.2-19.9 11.6-31.9S474 454.7 462 460.3c-9.3 4.4-19.8 4.8-29.5 1.3l-90.8-33.1c8.7-4.1 15.6-11.8 17.8-21.9l21.9-102c3.9-18.2-3.2-37.2-18.1-48.4l-52-39 66-30.5 83.5 62.9zm-144.4 51.7l-19.7 92c-1.5 7.1-.1 13.9 2.8 20l-169.4-61.6c2.7-.2 5.4-.4 8-1.3l85-28.4c19.6-6.5 32.8-24.8 32.8-45.5V256l60.5 45.3z\"},\"child\":[]}]})(props);\n};\nexport function FaSnowflake (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M440.3 345.2l-33.8-19.5 26-7c8.2-2.2 13.1-10.7 10.9-18.9l-4-14.9c-2.2-8.2-10.7-13.1-18.9-10.9l-70.8 19-63.9-37 63.8-36.9 70.8 19c8.2 2.2 16.7-2.7 18.9-10.9l4-14.9c2.2-8.2-2.7-16.7-10.9-18.9l-26-7 33.8-19.5c7.4-4.3 9.9-13.7 5.7-21.1L430.4 119c-4.3-7.4-13.7-9.9-21.1-5.7l-33.8 19.5 7-26c2.2-8.2-2.7-16.7-10.9-18.9l-14.9-4c-8.2-2.2-16.7 2.7-18.9 10.9l-19 70.8-62.8 36.2v-77.5l53.7-53.7c6.2-6.2 6.2-16.4 0-22.6l-11.3-11.3c-6.2-6.2-16.4-6.2-22.6 0L256 56.4V16c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v40.4l-19.7-19.7c-6.2-6.2-16.4-6.2-22.6 0L138.3 48c-6.3 6.2-6.3 16.4 0 22.6l53.7 53.7v77.5l-62.8-36.2-19-70.8c-2.2-8.2-10.7-13.1-18.9-10.9l-14.9 4c-8.2 2.2-13.1 10.7-10.9 18.9l7 26-33.8-19.5c-7.4-4.3-16.8-1.7-21.1 5.7L2.1 145.7c-4.3 7.4-1.7 16.8 5.7 21.1l33.8 19.5-26 7c-8.3 2.2-13.2 10.7-11 19l4 14.9c2.2 8.2 10.7 13.1 18.9 10.9l70.8-19 63.8 36.9-63.8 36.9-70.8-19c-8.2-2.2-16.7 2.7-18.9 10.9l-4 14.9c-2.2 8.2 2.7 16.7 10.9 18.9l26 7-33.8 19.6c-7.4 4.3-9.9 13.7-5.7 21.1l15.5 26.8c4.3 7.4 13.7 9.9 21.1 5.7l33.8-19.5-7 26c-2.2 8.2 2.7 16.7 10.9 18.9l14.9 4c8.2 2.2 16.7-2.7 18.9-10.9l19-70.8 62.8-36.2v77.5l-53.7 53.7c-6.3 6.2-6.3 16.4 0 22.6l11.3 11.3c6.2 6.2 16.4 6.2 22.6 0l19.7-19.7V496c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-40.4l19.7 19.7c6.2 6.2 16.4 6.2 22.6 0l11.3-11.3c6.2-6.2 6.2-16.4 0-22.6L256 387.7v-77.5l62.8 36.2 19 70.8c2.2 8.2 10.7 13.1 18.9 10.9l14.9-4c8.2-2.2 13.1-10.7 10.9-18.9l-7-26 33.8 19.5c7.4 4.3 16.8 1.7 21.1-5.7l15.5-26.8c4.3-7.3 1.8-16.8-5.6-21z\"},\"child\":[]}]})(props);\n};\nexport function FaSnowman (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M510.9 152.3l-5.9-14.5c-3.3-8-12.6-11.9-20.8-8.7L456 140.6v-29c0-8.6-7.2-15.6-16-15.6h-16c-8.8 0-16 7-16 15.6v46.9c0 .5.3 1 .3 1.5l-56.4 23c-5.9-10-13.3-18.9-22-26.6 13.6-16.6 22-37.4 22-60.5 0-53-43-96-96-96s-96 43-96 96c0 23.1 8.5 43.9 22 60.5-8.7 7.7-16 16.6-22 26.6l-56.4-23c.1-.5.3-1 .3-1.5v-46.9C104 103 96.8 96 88 96H72c-8.8 0-16 7-16 15.6v29l-28.1-11.5c-8.2-3.2-17.5.7-20.8 8.7l-5.9 14.5c-3.3 8 .7 17.1 8.9 20.3l135.2 55.2c-.4 4-1.2 8-1.2 12.2 0 10.1 1.7 19.6 4.2 28.9C120.9 296.4 104 334.2 104 376c0 54 28.4 100.9 70.8 127.8 9.3 5.9 20.3 8.2 31.3 8.2h99.2c13.3 0 26.3-4.1 37.2-11.7 46.5-32.3 74.4-89.4 62.9-152.6-5.5-30.2-20.5-57.6-41.6-79 2.5-9.2 4.2-18.7 4.2-28.7 0-4.2-.8-8.1-1.2-12.2L502 172.6c8.1-3.1 12.1-12.2 8.9-20.3zM224 96c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm32 272c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-64c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-64c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm0-88s-16-23.2-16-32 7.2-16 16-16 16 7.2 16 16-16 32-16 32zm32-56c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaSnowplow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M120 376c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm80 0c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm80 0c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm80 0c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm238.6 49.4c-14.5-14.5-22.6-34.1-22.6-54.6V269.2c0-20.5 8.1-40.1 22.6-54.6l36.7-36.7c6.2-6.2 6.2-16.4 0-22.6l-22.6-22.6c-6.2-6.2-16.4-6.2-22.6 0l-36.7 36.7c-26.5 26.5-41.4 62.4-41.4 99.9V288h-64v-50.9c0-8.7-1.8-17.2-5.2-25.2L364.5 29.1C356.9 11.4 339.6 0 320.3 0H176c-26.5 0-48 21.5-48 48v112h-16c-26.5 0-48 21.5-48 48v91.2C26.3 317.2 0 355.4 0 400c0 61.9 50.1 112 112 112h256c61.9 0 112-50.1 112-112 0-17.3-4.2-33.4-11.2-48H512v18.7c0 37.5 14.9 73.4 41.4 99.9l36.7 36.7c6.2 6.2 16.4 6.2 22.6 0l22.6-22.6c6.2-6.2 6.2-16.4 0-22.6l-36.7-36.7zM192 64h117.8l68.6 160H256l-64-64V64zm176 384H112c-26.5 0-48-21.5-48-48s21.5-48 48-48h256c26.5 0 48 21.5 48 48s-21.5 48-48 48z\"},\"child\":[]}]})(props);\n};\nexport function FaSoap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416,192a95.42,95.42,0,0,1-30.94,70.21A95.8,95.8,0,0,1,352,448H160a96,96,0,0,1,0-192h88.91A95.3,95.3,0,0,1,224,192H96A96,96,0,0,0,0,288V416a96,96,0,0,0,96,96H416a96,96,0,0,0,96-96V288A96,96,0,0,0,416,192Zm-96,64a64,64,0,1,0-64-64A64,64,0,0,0,320,256ZM208,96a48,48,0,1,0-48-48A48,48,0,0,0,208,96ZM384,64a32,32,0,1,0-32-32A32,32,0,0,0,384,64ZM160,288a64,64,0,0,0,0,128H352a64,64,0,0,0,0-128Z\"},\"child\":[]}]})(props);\n};\nexport function FaSocks (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M214.66 311.01L288 256V96H128v176l-86.65 64.61c-39.4 29.56-53.86 84.42-29.21 127.06C30.39 495.25 63.27 512 96.08 512c20.03 0 40.25-6.25 57.52-19.2l21.86-16.39c-29.85-55.38-13.54-125.84 39.2-165.4zM288 32c0-11.05 3.07-21.3 8.02-30.38C293.4.92 290.85 0 288 0H160c-17.67 0-32 14.33-32 32v32h160V32zM480 0H352c-17.67 0-32 14.33-32 32v32h192V32c0-17.67-14.33-32-32-32zM320 272l-86.13 64.61c-39.4 29.56-53.86 84.42-29.21 127.06 18.25 31.58 50.61 48.33 83.42 48.33 20.03 0 40.25-6.25 57.52-19.2l115.2-86.4A127.997 127.997 0 0 0 512 304V96H320v176z\"},\"child\":[]}]})(props);\n};\nexport function FaSolarPanel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M431.98 448.01l-47.97.05V416h-128v32.21l-47.98.05c-8.82.01-15.97 7.16-15.98 15.99l-.05 31.73c-.01 8.85 7.17 16.03 16.02 16.02l223.96-.26c8.82-.01 15.97-7.16 15.98-15.98l.04-31.73c.01-8.85-7.17-16.03-16.02-16.02zM585.2 26.74C582.58 11.31 568.99 0 553.06 0H86.93C71 0 57.41 11.31 54.79 26.74-3.32 369.16.04 348.08.03 352c-.03 17.32 14.29 32 32.6 32h574.74c18.23 0 32.51-14.56 32.59-31.79.02-4.08 3.35 16.95-54.76-325.47zM259.83 64h120.33l9.77 96H250.06l9.77-96zm-75.17 256H71.09L90.1 208h105.97l-11.41 112zm16.29-160H98.24l16.29-96h96.19l-9.77 96zm32.82 160l11.4-112h149.65l11.4 112H233.77zm195.5-256h96.19l16.29 96H439.04l-9.77-96zm26.06 256l-11.4-112H549.9l19.01 112H455.33z\"},\"child\":[]}]})(props);\n};\nexport function FaSortAlphaDownAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M176 352h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.36 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352zm112-128h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-56l61.26-70.45A32 32 0 0 0 432 65.63V48a16 16 0 0 0-16-16H288a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h56l-61.26 70.45A32 32 0 0 0 272 190.37V208a16 16 0 0 0 16 16zm159.06 234.62l-59.27-160A16 16 0 0 0 372.72 288h-41.44a16 16 0 0 0-15.07 10.62l-59.27 160A16 16 0 0 0 272 480h24.83a16 16 0 0 0 15.23-11.08l4.42-12.92h71l4.41 12.92A16 16 0 0 0 407.16 480H432a16 16 0 0 0 15.06-21.38zM335.61 400L352 352l16.39 48z\"},\"child\":[]}]})(props);\n};\nexport function FaSortAlphaDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M176 352h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.36 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352zm240-64H288a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h56l-61.26 70.45A32 32 0 0 0 272 446.37V464a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-56l61.26-70.45A32 32 0 0 0 432 321.63V304a16 16 0 0 0-16-16zm31.06-85.38l-59.27-160A16 16 0 0 0 372.72 32h-41.44a16 16 0 0 0-15.07 10.62l-59.27 160A16 16 0 0 0 272 224h24.83a16 16 0 0 0 15.23-11.08l4.42-12.92h71l4.41 12.92A16 16 0 0 0 407.16 224H432a16 16 0 0 0 15.06-21.38zM335.61 144L352 96l16.39 48z\"},\"child\":[]}]})(props);\n};\nexport function FaSortAlphaUpAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.38-17.24 11.31-27.31l-80-96a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.78 160 16 160zm272 64h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-56l61.26-70.45A32 32 0 0 0 432 65.63V48a16 16 0 0 0-16-16H288a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h56l-61.26 70.45A32 32 0 0 0 272 190.37V208a16 16 0 0 0 16 16zm159.06 234.62l-59.27-160A16 16 0 0 0 372.72 288h-41.44a16 16 0 0 0-15.07 10.62l-59.27 160A16 16 0 0 0 272 480h24.83a16 16 0 0 0 15.23-11.08l4.42-12.92h71l4.41 12.92A16 16 0 0 0 407.16 480H432a16 16 0 0 0 15.06-21.38zM335.61 400L352 352l16.39 48z\"},\"child\":[]}]})(props);\n};\nexport function FaSortAlphaUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.38-17.24 11.31-27.31l-80-96a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.78 160 16 160zm400 128H288a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h56l-61.26 70.45A32 32 0 0 0 272 446.37V464a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-56l61.26-70.45A32 32 0 0 0 432 321.63V304a16 16 0 0 0-16-16zm31.06-85.38l-59.27-160A16 16 0 0 0 372.72 32h-41.44a16 16 0 0 0-15.07 10.62l-59.27 160A16 16 0 0 0 272 224h24.83a16 16 0 0 0 15.23-11.08l4.42-12.92h71l4.41 12.92A16 16 0 0 0 407.16 224H432a16 16 0 0 0 15.06-21.38zM335.61 144L352 96l16.39 48z\"},\"child\":[]}]})(props);\n};\nexport function FaSortAmountDownAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M240 96h64a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16h-64a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm0 128h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm256 192H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h256a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-256-64h192a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm-64 0h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.37 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352z\"},\"child\":[]}]})(props);\n};\nexport function FaSortAmountDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M304 416h-64a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-128-64h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.37 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352zm256-192H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h192a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-64 128H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM496 32H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h256a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaSortAmountUpAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M240 96h64a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16h-64a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm0 128h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm256 192H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h256a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-256-64h192a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zM16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.39-17.24 11.31-27.31l-80-96a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.78 160 16 160z\"},\"child\":[]}]})(props);\n};\nexport function FaSortAmountUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M304 416h-64a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h64a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.38-17.24 11.31-27.31l-80-96a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.77 160 16 160zm416 0H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h192a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-64 128H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM496 32H240a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h256a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaSortDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M41 288h238c21.4 0 32.1 25.9 17 41L177 448c-9.4 9.4-24.6 9.4-33.9 0L24 329c-15.1-15.1-4.4-41 17-41z\"},\"child\":[]}]})(props);\n};\nexport function FaSortNumericDownAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M176 352h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.36 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352zm224 64h-16V304a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 304 352h16v64h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM330.17 34.91a79 79 0 0 0-55 54.17c-14.27 51.05 21.19 97.77 68.83 102.53a84.07 84.07 0 0 1-20.85 12.91c-7.57 3.4-10.8 12.47-8.18 20.34l9.9 20c2.87 8.63 12.53 13.49 20.9 9.91 58-24.77 86.25-61.61 86.25-132V112c-.02-51.21-48.4-91.34-101.85-77.09zM352 132a20 20 0 1 1 20-20 20 20 0 0 1-20 20z\"},\"child\":[]}]})(props);\n};\nexport function FaSortNumericDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M304 96h16v64h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-16V48a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 304 96zm26.15 162.91a79 79 0 0 0-55 54.17c-14.25 51.05 21.21 97.77 68.85 102.53a84.07 84.07 0 0 1-20.85 12.91c-7.57 3.4-10.8 12.47-8.18 20.34l9.9 20c2.87 8.63 12.53 13.49 20.9 9.91 58-24.76 86.25-61.61 86.25-132V336c-.02-51.21-48.4-91.34-101.85-77.09zM352 356a20 20 0 1 1 20-20 20 20 0 0 1-20 20zm-176-4h-48V48a16 16 0 0 0-16-16H80a16 16 0 0 0-16 16v304H16c-14.19 0-21.36 17.24-11.29 27.31l80 96a16 16 0 0 0 22.62 0l80-96C197.35 369.26 190.22 352 176 352z\"},\"child\":[]}]})(props);\n};\nexport function FaSortNumericUpAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M107.31 36.69a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.78 160 16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.38-17.24 11.31-27.31zM400 416h-16V304a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 304 352h16v64h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM330.17 34.91a79 79 0 0 0-55 54.17c-14.27 51.05 21.19 97.77 68.83 102.53a84.07 84.07 0 0 1-20.85 12.91c-7.57 3.4-10.8 12.47-8.18 20.34l9.9 20c2.87 8.63 12.53 13.49 20.9 9.91 58-24.77 86.25-61.61 86.25-132V112c-.02-51.21-48.4-91.34-101.85-77.09zM352 132a20 20 0 1 1 20-20 20 20 0 0 1-20 20z\"},\"child\":[]}]})(props);\n};\nexport function FaSortNumericUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M330.17 258.91a79 79 0 0 0-55 54.17c-14.27 51.05 21.19 97.77 68.83 102.53a84.07 84.07 0 0 1-20.85 12.91c-7.57 3.4-10.8 12.47-8.18 20.34l9.9 20c2.87 8.63 12.53 13.49 20.9 9.91 58-24.76 86.25-61.61 86.25-132V336c-.02-51.21-48.4-91.34-101.85-77.09zM352 356a20 20 0 1 1 20-20 20 20 0 0 1-20 20zM304 96h16v64h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-16V48a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 304 96zM107.31 36.69a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.78 160 16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.38-17.24 11.31-27.31z\"},\"child\":[]}]})(props);\n};\nexport function FaSortUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M279 224H41c-21.4 0-32.1-25.9-17-41L143 64c9.4-9.4 24.6-9.4 33.9 0l119 119c15.2 15.1 4.5 41-16.9 41z\"},\"child\":[]}]})(props);\n};\nexport function FaSort (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M41 288h238c21.4 0 32.1 25.9 17 41L177 448c-9.4 9.4-24.6 9.4-33.9 0L24 329c-15.1-15.1-4.4-41 17-41zm255-105L177 64c-9.4-9.4-24.6-9.4-33.9 0L24 183c-15.1 15.1-4.4 41 17 41h238c21.4 0 32.1-25.9 17-41z\"},\"child\":[]}]})(props);\n};\nexport function FaSpa (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M568.25 192c-29.04.13-135.01 6.16-213.84 83-33.12 29.63-53.36 63.3-66.41 94.86-13.05-31.56-33.29-65.23-66.41-94.86-78.83-76.84-184.8-82.87-213.84-83-4.41-.02-7.79 3.4-7.75 7.82.23 27.92 7.14 126.14 88.77 199.3C172.79 480.94 256 480 288 480s115.19.95 199.23-80.88c81.64-73.17 88.54-171.38 88.77-199.3.04-4.42-3.34-7.84-7.75-7.82zM287.98 302.6c12.82-18.85 27.6-35.78 44.09-50.52 19.09-18.61 39.58-33.3 60.26-45.18-16.44-70.5-51.72-133.05-96.73-172.22-4.11-3.58-11.02-3.58-15.14 0-44.99 39.14-80.27 101.63-96.74 172.07 20.37 11.7 40.5 26.14 59.22 44.39a282.768 282.768 0 0 1 45.04 51.46z\"},\"child\":[]}]})(props);\n};\nexport function FaSpaceShuttle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M592.604 208.244C559.735 192.836 515.777 184 472 184H186.327c-4.952-6.555-10.585-11.978-16.72-16H376C229.157 137.747 219.403 32 96.003 32H96v128H80V32c-26.51 0-48 28.654-48 64v64c-23.197 0-32 10.032-32 24v40c0 13.983 8.819 24 32 24v16c-23.197 0-32 10.032-32 24v40c0 13.983 8.819 24 32 24v64c0 35.346 21.49 64 48 64V352h16v128h.003c123.4 0 133.154-105.747 279.997-136H169.606c6.135-4.022 11.768-9.445 16.72-16H472c43.777 0 87.735-8.836 120.604-24.244C622.282 289.845 640 271.992 640 256s-17.718-33.845-47.396-47.756zM488 296a8 8 0 0 1-8-8v-64a8 8 0 0 1 8-8c31.909 0 31.942 80 0 80z\"},\"child\":[]}]})(props);\n};\nexport function FaSpellCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M272 256h91.36c43.2 0 82-32.2 84.51-75.34a79.82 79.82 0 0 0-25.26-63.07 79.81 79.81 0 0 0 9.06-44.91C427.9 30.57 389.3 0 347 0h-75a16 16 0 0 0-16 16v224a16 16 0 0 0 16 16zm40-200h40a24 24 0 0 1 0 48h-40zm0 96h56a24 24 0 0 1 0 48h-56zM155.12 22.25A32 32 0 0 0 124.64 0H99.36a32 32 0 0 0-30.48 22.25L.59 235.73A16 16 0 0 0 16 256h24.93a16 16 0 0 0 15.42-11.73L68.29 208h87.42l11.94 36.27A16 16 0 0 0 183.07 256H208a16 16 0 0 0 15.42-20.27zM89.37 144L112 75.3l22.63 68.7zm482 132.48l-45.21-45.3a15.88 15.88 0 0 0-22.59 0l-151.5 151.5-55.41-55.5a15.88 15.88 0 0 0-22.59 0l-45.3 45.3a16 16 0 0 0 0 22.59l112 112.21a15.89 15.89 0 0 0 22.6 0l208-208.21a16 16 0 0 0-.02-22.59z\"},\"child\":[]}]})(props);\n};\nexport function FaSpider (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M151.17 167.35L177.1 176h4.67l5.22-26.12c.72-3.58 1.8-7.58 3.21-11.79l-20.29-40.58 23.8-71.39c2.79-8.38-1.73-17.44-10.12-20.24L168.42.82c-8.38-2.8-17.45 1.73-20.24 10.12l-25.89 77.68a32.04 32.04 0 0 0 1.73 24.43l27.15 54.3zm422.14 182.03l-52.75-79.12a32.002 32.002 0 0 0-26.62-14.25H416l68.99-24.36a32.03 32.03 0 0 0 16.51-12.61l53.6-80.41c4.9-7.35 2.91-17.29-4.44-22.19l-13.31-8.88c-7.35-4.9-17.29-2.91-22.19 4.44l-50.56 75.83L404.1 208H368l-10.37-51.85C355.44 145.18 340.26 96 288 96c-52.26 0-67.44 49.18-69.63 60.15L208 208h-36.1l-60.49-20.17L60.84 112c-4.9-7.35-14.83-9.34-22.19-4.44l-13.31 8.88c-7.35 4.9-9.34 14.83-4.44 22.19l53.6 80.41a32.03 32.03 0 0 0 16.51 12.61L160 256H82.06a32.02 32.02 0 0 0-26.63 14.25L2.69 349.38c-4.9 7.35-2.92 17.29 4.44 22.19l13.31 8.88c7.35 4.9 17.29 2.91 22.19-4.44l48-72h47.06l-60.83 97.33A31.988 31.988 0 0 0 72 418.3V496c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-73.11l74.08-118.53c-1.01 14.05-2.08 28.11-2.08 42.21C192 399.64 232.76 448 288 448s96-48.36 96-101.43c0-14.1-1.08-28.16-2.08-42.21L456 422.89V496c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-77.71c0-6-1.69-11.88-4.86-16.96L438.31 304h47.06l48 72c4.9 7.35 14.84 9.34 22.19 4.44l13.31-8.88c7.36-4.9 9.34-14.83 4.44-22.18zM406.09 97.51l-20.29 40.58c1.41 4.21 2.49 8.21 3.21 11.79l5.22 26.12h4.67l25.93-8.65 27.15-54.3a31.995 31.995 0 0 0 1.73-24.43l-25.89-77.68C425.03 2.56 415.96-1.98 407.58.82l-15.17 5.06c-8.38 2.8-12.91 11.86-10.12 20.24l23.8 71.39z\"},\"child\":[]}]})(props);\n};\nexport function FaSpinner (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M304 48c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-48 368c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm208-208c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zM96 256c0-26.51-21.49-48-48-48S0 229.49 0 256s21.49 48 48 48 48-21.49 48-48zm12.922 99.078c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.491-48-48-48zm294.156 0c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.49-48-48-48zM108.922 60.922c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.491-48-48-48z\"},\"child\":[]}]})(props);\n};\nexport function FaSplotch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M472.29 195.89l-67.06-22.95c-19.28-6.6-33.54-20.92-38.14-38.3L351.1 74.19c-11.58-43.77-76.57-57.13-109.98-22.62l-46.14 47.67c-13.26 13.71-33.54 20.93-54.2 19.31l-71.88-5.62c-52.05-4.07-86.93 44.88-59.03 82.83l38.54 52.42c11.08 15.07 12.82 33.86 4.64 50.24L24.62 355.4c-20.59 41.25 22.84 84.87 73.49 73.81l69.96-15.28c20.11-4.39 41.45 0 57.07 11.73l54.32 40.83c39.32 29.56 101.04 7.57 104.45-37.22l4.7-61.86c1.35-17.79 12.8-33.86 30.63-42.99l62-31.74c44.88-22.96 39.59-80.17-8.95-96.79z\"},\"child\":[]}]})(props);\n};\nexport function FaSprayCan (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 32c0-17.67-14.33-32-32-32h-64c-17.67 0-32 14.33-32 32v96h128V32zm256 96c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32zm-256 32H96c-53.02 0-96 42.98-96 96v224c0 17.67 14.33 32 32 32h256c17.67 0 32-14.33 32-32V256c0-53.02-42.98-96-96-96zm-64 256c-44.18 0-80-35.82-80-80s35.82-80 80-80 80 35.82 80 80-35.82 80-80 80zM480 96c17.67 0 32-14.33 32-32s-14.33-32-32-32-32 14.33-32 32 14.33 32 32 32zm-96 32c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32zm-96-96c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32zm96 0c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32zm96 192c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaSquareFull (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 512H0V0h512v512z\"},\"child\":[]}]})(props);\n};\nexport function FaSquareRootAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M571.31 251.31l-22.62-22.62c-6.25-6.25-16.38-6.25-22.63 0L480 274.75l-46.06-46.06c-6.25-6.25-16.38-6.25-22.63 0l-22.62 22.62c-6.25 6.25-6.25 16.38 0 22.63L434.75 320l-46.06 46.06c-6.25 6.25-6.25 16.38 0 22.63l22.62 22.62c6.25 6.25 16.38 6.25 22.63 0L480 365.25l46.06 46.06c6.25 6.25 16.38 6.25 22.63 0l22.62-22.62c6.25-6.25 6.25-16.38 0-22.63L525.25 320l46.06-46.06c6.25-6.25 6.25-16.38 0-22.63zM552 0H307.65c-14.54 0-27.26 9.8-30.95 23.87l-84.79 322.8-58.41-106.1A32.008 32.008 0 0 0 105.47 224H24c-13.25 0-24 10.74-24 24v48c0 13.25 10.75 24 24 24h43.62l88.88 163.73C168.99 503.5 186.3 512 204.94 512c17.27 0 44.44-9 54.28-41.48L357.03 96H552c13.25 0 24-10.75 24-24V24c0-13.26-10.75-24-24-24z\"},\"child\":[]}]})(props);\n};\nexport function FaSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z\"},\"child\":[]}]})(props);\n};\nexport function FaStamp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M32 512h448v-64H32v64zm384-256h-66.56c-16.26 0-29.44-13.18-29.44-29.44v-9.46c0-27.37 8.88-53.41 21.46-77.72 9.11-17.61 12.9-38.39 9.05-60.42-6.77-38.78-38.47-70.7-77.26-77.45C212.62-9.04 160 37.33 160 96c0 14.16 3.12 27.54 8.69 39.58C182.02 164.43 192 194.7 192 226.49v.07c0 16.26-13.18 29.44-29.44 29.44H96c-53.02 0-96 42.98-96 96v32c0 17.67 14.33 32 32 32h448c17.67 0 32-14.33 32-32v-32c0-53.02-42.98-96-96-96z\"},\"child\":[]}]})(props);\n};\nexport function FaStarAndCrescent (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M340.47 466.36c-1.45 0-6.89.46-9.18.46-116.25 0-210.82-94.57-210.82-210.82S215.04 45.18 331.29 45.18c2.32 0 7.7.46 9.18.46 7.13 0 13.33-5.03 14.75-12.07 1.46-7.25-2.55-14.49-9.47-17.09C316.58 5.54 286.39 0 256 0 114.84 0 0 114.84 0 256s114.84 256 256 256c30.23 0 60.28-5.49 89.32-16.32 5.96-2.02 10.28-7.64 10.28-14.26 0-8.09-6.39-15.06-15.13-15.06zm162.99-252.5l-76.38-11.1-34.16-69.21c-1.83-3.7-5.38-5.55-8.93-5.55s-7.1 1.85-8.93 5.55l-34.16 69.21-76.38 11.1c-8.17 1.18-11.43 11.22-5.52 16.99l55.27 53.87-13.05 76.07c-1.11 6.44 4.01 11.66 9.81 11.66 1.53 0 3.11-.36 4.64-1.17L384 335.37l68.31 35.91c1.53.8 3.11 1.17 4.64 1.17 5.8 0 10.92-5.23 9.81-11.66l-13.05-76.07 55.27-53.87c5.91-5.77 2.65-15.81-5.52-16.99z\"},\"child\":[]}]})(props);\n};\nexport function FaStarHalfAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 536 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M508.55 171.51L362.18 150.2 296.77 17.81C290.89 5.98 279.42 0 267.95 0c-11.4 0-22.79 5.9-28.69 17.81l-65.43 132.38-146.38 21.29c-26.25 3.8-36.77 36.09-17.74 54.59l105.89 103-25.06 145.48C86.98 495.33 103.57 512 122.15 512c4.93 0 10-1.17 14.87-3.75l130.95-68.68 130.94 68.7c4.86 2.55 9.92 3.71 14.83 3.71 18.6 0 35.22-16.61 31.66-37.4l-25.03-145.49 105.91-102.98c19.04-18.5 8.52-50.8-17.73-54.6zm-121.74 123.2l-18.12 17.62 4.28 24.88 19.52 113.45-102.13-53.59-22.38-11.74.03-317.19 51.03 103.29 11.18 22.63 25.01 3.64 114.23 16.63-82.65 80.38z\"},\"child\":[]}]})(props);\n};\nexport function FaStarHalf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 0c-11.4 0-22.8 5.9-28.7 17.8L194 150.2 47.9 171.4c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.1 23 46 46.4 33.7L288 439.6V0z\"},\"child\":[]}]})(props);\n};\nexport function FaStarOfDavid (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 464 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M405.68 256l53.21-89.39C473.3 142.4 455.48 112 426.88 112H319.96l-55.95-93.98C256.86 6.01 244.43 0 232 0s-24.86 6.01-32.01 18.02L144.04 112H37.11c-28.6 0-46.42 30.4-32.01 54.61L58.32 256 5.1 345.39C-9.31 369.6 8.51 400 37.11 400h106.93l55.95 93.98C207.14 505.99 219.57 512 232 512s24.86-6.01 32.01-18.02L319.96 400h106.93c28.6 0 46.42-30.4 32.01-54.61L405.68 256zm-12.78-88l-19.8 33.26L353.3 168h39.6zm-52.39 88l-52.39 88H175.88l-52.39-88 52.38-88h112.25l52.39 88zM232 73.72L254.79 112h-45.57L232 73.72zM71.1 168h39.6l-19.8 33.26L71.1 168zm0 176l19.8-33.26L110.7 344H71.1zM232 438.28L209.21 400h45.57L232 438.28zM353.29 344l19.8-33.26L392.9 344h-39.61z\"},\"child\":[]}]})(props);\n};\nexport function FaStarOfLife (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 480 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M471.99 334.43L336.06 256l135.93-78.43c7.66-4.42 10.28-14.2 5.86-21.86l-32.02-55.43c-4.42-7.65-14.21-10.28-21.87-5.86l-135.93 78.43V16c0-8.84-7.17-16-16.01-16h-64.04c-8.84 0-16.01 7.16-16.01 16v156.86L56.04 94.43c-7.66-4.42-17.45-1.79-21.87 5.86L2.15 155.71c-4.42 7.65-1.8 17.44 5.86 21.86L143.94 256 8.01 334.43c-7.66 4.42-10.28 14.21-5.86 21.86l32.02 55.43c4.42 7.65 14.21 10.27 21.87 5.86l135.93-78.43V496c0 8.84 7.17 16 16.01 16h64.04c8.84 0 16.01-7.16 16.01-16V339.14l135.93 78.43c7.66 4.42 17.45 1.8 21.87-5.86l32.02-55.43c4.42-7.65 1.8-17.43-5.86-21.85z\"},\"child\":[]}]})(props);\n};\nexport function FaStar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M259.3 17.8L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0z\"},\"child\":[]}]})(props);\n};\nexport function FaStepBackward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M64 468V44c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12v176.4l195.5-181C352.1 22.3 384 36.6 384 64v384c0 27.4-31.9 41.7-52.5 24.6L136 292.7V468c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12z\"},\"child\":[]}]})(props);\n};\nexport function FaStepForward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 44v424c0 6.6-5.4 12-12 12h-48c-6.6 0-12-5.4-12-12V291.6l-195.5 181C95.9 489.7 64 475.4 64 448V64c0-27.4 31.9-41.7 52.5-24.6L312 219.3V44c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12z\"},\"child\":[]}]})(props);\n};\nexport function FaStethoscope (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M447.1 112c-34.2.5-62.3 28.4-63 62.6-.5 24.3 12.5 45.6 32 56.8V344c0 57.3-50.2 104-112 104-60 0-109.2-44.1-111.9-99.2C265 333.8 320 269.2 320 192V36.6c0-11.4-8.1-21.3-19.3-23.5L237.8.5c-13-2.6-25.6 5.8-28.2 18.8L206.4 35c-2.6 13 5.8 25.6 18.8 28.2l30.7 6.1v121.4c0 52.9-42.2 96.7-95.1 97.2-53.4.5-96.9-42.7-96.9-96V69.4l30.7-6.1c13-2.6 21.4-15.2 18.8-28.2l-3.1-15.7C107.7 6.4 95.1-2 82.1.6L19.3 13C8.1 15.3 0 25.1 0 36.6V192c0 77.3 55.1 142 128.1 156.8C130.7 439.2 208.6 512 304 512c97 0 176-75.4 176-168V231.4c19.1-11.1 32-31.7 32-55.4 0-35.7-29.2-64.5-64.9-64zm.9 80c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaStickyNote (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M312 320h136V56c0-13.3-10.7-24-24-24H24C10.7 32 0 42.7 0 56v400c0 13.3 10.7 24 24 24h264V344c0-13.2 10.8-24 24-24zm129 55l-98 98c-4.5 4.5-10.6 7-17 7h-6V352h128v6.1c0 6.3-2.5 12.4-7 16.9z\"},\"child\":[]}]})(props);\n};\nexport function FaStopCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm96 328c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h160c8.8 0 16 7.2 16 16v160z\"},\"child\":[]}]})(props);\n};\nexport function FaStop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z\"},\"child\":[]}]})(props);\n};\nexport function FaStopwatch20 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M398.5,190.91l.59-.61,26.59-26.58a16,16,0,0,0,0-22.63L403,118.41a16,16,0,0,0-22.63,0l-24.68,24.68A206.68,206.68,0,0,0,256,98.5V64h32a16,16,0,0,0,16-16V16A16,16,0,0,0,288,0H160a16.05,16.05,0,0,0-16,16V48a16.05,16.05,0,0,0,16,16h32V98.5A207.92,207.92,0,0,0,16.09,297.57C12.64,411.5,106.76,510.22,220.72,512,337.13,513.77,432,420,432,304A206,206,0,0,0,398.5,190.91ZM204.37,377.55a8.2,8.2,0,0,1,8.32,8.07v22.31a8.2,8.2,0,0,1-8.32,8.07H121.52a16.46,16.46,0,0,1-16.61-17.62c2.78-35.22,14.67-57.41,38.45-91.37,20.42-29.19,27.1-37.32,27.1-62.34,0-16.92-1.79-24.27-12.21-24.27-9.39,0-12.69,7.4-12.69,22.68v5.23a8.2,8.2,0,0,1-8.33,8.07h-24.9a8.2,8.2,0,0,1-8.33-8.07v-4.07c0-27.3,8.48-60.24,56.43-60.24,43,0,55.57,25.85,55.57,61,0,35.58-12.44,51.21-34.35,81.31-11.56,15-24.61,35.57-26.41,51.2ZM344,352.32c0,35.16-12.3,63.68-57.23,63.68C243.19,416,232,386.48,232,352.55V247.22c0-40.73,19.58-63.22,56.2-63.22C325,184,344,206.64,344,245.3ZM287.87,221.73c-9.41,0-13.23,7.5-13.23,20V357.68c0,13.11,3.59,20.59,13.23,20.59s13-8,13-21.27V241.06C300.89,229.79,297.88,221.73,287.87,221.73Z\"},\"child\":[]}]})(props);\n};\nexport function FaStopwatch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M432 304c0 114.9-93.1 208-208 208S16 418.9 16 304c0-104 76.3-190.2 176-205.5V64h-28c-6.6 0-12-5.4-12-12V12c0-6.6 5.4-12 12-12h120c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-28v34.5c37.5 5.8 71.7 21.6 99.7 44.6l27.5-27.5c4.7-4.7 12.3-4.7 17 0l28.3 28.3c4.7 4.7 4.7 12.3 0 17l-29.4 29.4-.6.6C419.7 223.3 432 262.2 432 304zm-176 36V188.5c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12V340c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12z\"},\"child\":[]}]})(props);\n};\nexport function FaStoreAltSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.89,123.62,5.51,142.2c-14.2,21.3,1,49.8,26.59,49.8h74.26ZM576,413.42V224H512V364L384,265V224H330.92l-41.4-32H608c25.5,0,40.7-28.5,26.59-49.8l-85.29-128A32.18,32.18,0,0,0,522.6,0H117.42A31.87,31.87,0,0,0,90.81,14.2l-10.66,16L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.46A16,16,0,0,0,6.18,53.91L594.53,508.63A16,16,0,0,0,617,505.81l19.64-25.26a16,16,0,0,0-2.81-22.45ZM320,384H128V224H64V480a32,32,0,0,0,32,32H352a32,32,0,0,0,32-32V406.59l-64-49.47Z\"},\"child\":[]}]})(props);\n};\nexport function FaStoreAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M320 384H128V224H64v256c0 17.7 14.3 32 32 32h256c17.7 0 32-14.3 32-32V224h-64v160zm314.6-241.8l-85.3-128c-6-8.9-16-14.2-26.7-14.2H117.4c-10.7 0-20.7 5.3-26.6 14.2l-85.3 128c-14.2 21.3 1 49.8 26.6 49.8H608c25.5 0 40.7-28.5 26.6-49.8zM512 496c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16V224h-64v272z\"},\"child\":[]}]})(props);\n};\nexport function FaStoreSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M121.51,384V284.2a119.43,119.43,0,0,1-28,3.8,123.46,123.46,0,0,1-17.1-1.2,114.88,114.88,0,0,1-15.58-3.6V480c0,17.7,13.59,32,30.4,32H505.75L348.42,384Zm-28-128.09c25.1,0,47.29-10.72,64-27.24L24,120.05c-30.52,53.39-2.45,126.53,56.49,135A95.68,95.68,0,0,0,93.48,255.91ZM602.13,458.09,547.2,413.41V283.2a93.5,93.5,0,0,1-15.57,3.6,127.31,127.31,0,0,1-17.29,1.2,114.89,114.89,0,0,1-28-3.8v79.68L348.52,251.77a88.06,88.06,0,0,0,25.41,4.14c28.11,0,53-13,70.11-33.11,17.19,20.11,42.08,33.11,70.11,33.11a94.31,94.31,0,0,0,13-.91c59.66-8.41,88-82.8,56.06-136.4L521.55,15A30.1,30.1,0,0,0,495.81,0H112A30.11,30.11,0,0,0,86.27,15L76.88,30.78,43.19,3.38A14.68,14.68,0,0,0,21.86,6.19L3.2,31.45A16.58,16.58,0,0,0,5.87,53.91L564.81,508.63a14.69,14.69,0,0,0,21.33-2.82l18.66-25.26A16.58,16.58,0,0,0,602.13,458.09Z\"},\"child\":[]}]})(props);\n};\nexport function FaStore (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 616 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M602 118.6L537.1 15C531.3 5.7 521 0 510 0H106C95 0 84.7 5.7 78.9 15L14 118.6c-33.5 53.5-3.8 127.9 58.8 136.4 4.5.6 9.1.9 13.7.9 29.6 0 55.8-13 73.8-33.1 18 20.1 44.3 33.1 73.8 33.1 29.6 0 55.8-13 73.8-33.1 18 20.1 44.3 33.1 73.8 33.1 29.6 0 55.8-13 73.8-33.1 18.1 20.1 44.3 33.1 73.8 33.1 4.7 0 9.2-.3 13.7-.9 62.8-8.4 92.6-82.8 59-136.4zM529.5 288c-10 0-19.9-1.5-29.5-3.8V384H116v-99.8c-9.6 2.2-19.5 3.8-29.5 3.8-6 0-12.1-.4-18-1.2-5.6-.8-11.1-2.1-16.4-3.6V480c0 17.7 14.3 32 32 32h448c17.7 0 32-14.3 32-32V283.2c-5.4 1.6-10.8 2.9-16.4 3.6-6.1.8-12.1 1.2-18.2 1.2z\"},\"child\":[]}]})(props);\n};\nexport function FaStream (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 128h416c8.84 0 16-7.16 16-16V48c0-8.84-7.16-16-16-16H16C7.16 32 0 39.16 0 48v64c0 8.84 7.16 16 16 16zm480 80H80c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16zm-64 176H16c-8.84 0-16 7.16-16 16v64c0 8.84 7.16 16 16 16h416c8.84 0 16-7.16 16-16v-64c0-8.84-7.16-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaStreetView (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M367.9 329.76c-4.62 5.3-9.78 10.1-15.9 13.65v22.94c66.52 9.34 112 28.05 112 49.65 0 30.93-93.12 56-208 56S48 446.93 48 416c0-21.6 45.48-40.3 112-49.65v-22.94c-6.12-3.55-11.28-8.35-15.9-13.65C58.87 345.34 0 378.05 0 416c0 53.02 114.62 96 256 96s256-42.98 256-96c0-37.95-58.87-70.66-144.1-86.24zM256 128c35.35 0 64-28.65 64-64S291.35 0 256 0s-64 28.65-64 64 28.65 64 64 64zm-64 192v96c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32v-96c17.67 0 32-14.33 32-32v-96c0-26.51-21.49-48-48-48h-11.8c-11.07 5.03-23.26 8-36.2 8s-25.13-2.97-36.2-8H208c-26.51 0-48 21.49-48 48v96c0 17.67 14.33 32 32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaStrikethrough (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496 224H293.9l-87.17-26.83A43.55 43.55 0 0 1 219.55 112h66.79A49.89 49.89 0 0 1 331 139.58a16 16 0 0 0 21.46 7.15l42.94-21.47a16 16 0 0 0 7.16-21.46l-.53-1A128 128 0 0 0 287.51 32h-68a123.68 123.68 0 0 0-123 135.64c2 20.89 10.1 39.83 21.78 56.36H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h480a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm-180.24 96A43 43 0 0 1 336 356.45 43.59 43.59 0 0 1 292.45 400h-66.79A49.89 49.89 0 0 1 181 372.42a16 16 0 0 0-21.46-7.15l-42.94 21.47a16 16 0 0 0-7.16 21.46l.53 1A128 128 0 0 0 224.49 480h68a123.68 123.68 0 0 0 123-135.64 114.25 114.25 0 0 0-5.34-24.36z\"},\"child\":[]}]})(props);\n};\nexport function FaStroopwafel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M188.12 210.74L142.86 256l45.25 45.25L233.37 256l-45.25-45.26zm113.13-22.62L256 142.86l-45.25 45.25L256 233.37l45.25-45.25zm-90.5 135.76L256 369.14l45.26-45.26L256 278.63l-45.25 45.25zM256 0C114.62 0 0 114.62 0 256s114.62 256 256 256 256-114.62 256-256S397.38 0 256 0zm186.68 295.6l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0l-28.29-28.29-45.25 45.25 33.94 33.94 16.97-16.97c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31l-16.97 16.97 16.97 16.97c3.12 3.12 3.12 8.19 0 11.31l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0l-16.97-16.97-16.97 16.97c-3.12 3.12-8.19 3.12-11.31 0l-11.31-11.31c-3.12-3.12-3.12-8.19 0-11.31l16.97-16.97-33.94-33.94-45.26 45.26 28.29 28.29c3.12 3.12 3.12 8.19 0 11.31l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0L256 414.39l-28.29 28.29c-3.12 3.12-8.19 3.12-11.31 0l-11.31-11.31c-3.12-3.12-3.12-8.19 0-11.31l28.29-28.29-45.25-45.26-33.94 33.94 16.97 16.97c3.12 3.12 3.12 8.19 0 11.31l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0l-16.97-16.97-16.97 16.97c-3.12 3.12-8.19 3.12-11.31 0l-11.31-11.31c-3.12-3.12-3.12-8.19 0-11.31l16.97-16.97-16.97-16.97c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0l16.97 16.97 33.94-33.94-45.25-45.25-28.29 28.29c-3.12 3.12-8.19 3.12-11.31 0L69.32 295.6c-3.12-3.12-3.12-8.19 0-11.31L97.61 256l-28.29-28.29c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0l28.29 28.29 45.25-45.26-33.94-33.94-16.97 16.97c-3.12 3.12-8.19 3.12-11.31 0l-11.31-11.31c-3.12-3.12-3.12-8.19 0-11.31l16.97-16.97-16.97-16.97c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0l16.97 16.97 16.97-16.97c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31l-16.97 16.97 33.94 33.94 45.26-45.25-28.29-28.29c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0L256 97.61l28.29-28.29c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31l-28.29 28.29 45.26 45.25 33.94-33.94-16.97-16.97c-3.12-3.12-3.12-8.19 0-11.31l11.31-11.31c3.12-3.12 8.19-3.12 11.31 0l16.97 16.97 16.97-16.97c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31l-16.97 16.97 16.97 16.97c3.12 3.12 3.12 8.19 0 11.31l-11.31 11.31c-3.12 3.12-8.19 3.12-11.31 0l-16.97-16.97-33.94 33.94 45.25 45.26 28.29-28.29c3.12-3.12 8.19-3.12 11.31 0l11.31 11.31c3.12 3.12 3.12 8.19 0 11.31L414.39 256l28.29 28.28a8.015 8.015 0 0 1 0 11.32zM278.63 256l45.26 45.25L369.14 256l-45.25-45.26L278.63 256z\"},\"child\":[]}]})(props);\n};\nexport function FaSubscript (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496 448h-16V304a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 400 352h16v96h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM336 64h-67a16 16 0 0 0-13.14 6.87l-79.9 115-79.9-115A16 16 0 0 0 83 64H16A16 16 0 0 0 0 80v48a16 16 0 0 0 16 16h33.48l77.81 112-77.81 112H16a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h67a16 16 0 0 0 13.14-6.87l79.9-115 79.9 115A16 16 0 0 0 269 448h67a16 16 0 0 0 16-16v-48a16 16 0 0 0-16-16h-33.48l-77.81-112 77.81-112H336a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaSubway (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 96v256c0 51.815-61.624 96-130.022 96l62.98 49.721C386.905 502.417 383.562 512 376 512H72c-7.578 0-10.892-9.594-4.957-14.279L130.022 448C61.82 448 0 403.954 0 352V96C0 42.981 64 0 128 0h192c65 0 128 42.981 128 96zM200 232V120c0-13.255-10.745-24-24-24H72c-13.255 0-24 10.745-24 24v112c0 13.255 10.745 24 24 24h104c13.255 0 24-10.745 24-24zm200 0V120c0-13.255-10.745-24-24-24H272c-13.255 0-24 10.745-24 24v112c0 13.255 10.745 24 24 24h104c13.255 0 24-10.745 24-24zm-48 56c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm-256 0c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48z\"},\"child\":[]}]})(props);\n};\nexport function FaSuitcaseRolling (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M336 160H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h16v16c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-16h128v16c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-16h16c26.51 0 48-21.49 48-48V208c0-26.51-21.49-48-48-48zm-16 216c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h240c4.42 0 8 3.58 8 8v16zm0-96c0 4.42-3.58 8-8 8H72c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h240c4.42 0 8 3.58 8 8v16zM144 48h96v80h48V48c0-26.51-21.49-48-48-48h-96c-26.51 0-48 21.49-48 48v80h48V48z\"},\"child\":[]}]})(props);\n};\nexport function FaSuitcase (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M128 480h256V80c0-26.5-21.5-48-48-48H176c-26.5 0-48 21.5-48 48v400zm64-384h128v32H192V96zm320 80v256c0 26.5-21.5 48-48 48h-48V128h48c26.5 0 48 21.5 48 48zM96 480H48c-26.5 0-48-21.5-48-48V176c0-26.5 21.5-48 48-48h48v352z\"},\"child\":[]}]})(props);\n};\nexport function FaSun (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 160c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96zm246.4 80.5l-94.7-47.3 33.5-100.4c4.5-13.6-8.4-26.5-21.9-21.9l-100.4 33.5-47.4-94.8c-6.4-12.8-24.6-12.8-31 0l-47.3 94.7L92.7 70.8c-13.6-4.5-26.5 8.4-21.9 21.9l33.5 100.4-94.7 47.4c-12.8 6.4-12.8 24.6 0 31l94.7 47.3-33.5 100.5c-4.5 13.6 8.4 26.5 21.9 21.9l100.4-33.5 47.3 94.7c6.4 12.8 24.6 12.8 31 0l47.3-94.7 100.4 33.5c13.6 4.5 26.5-8.4 21.9-21.9l-33.5-100.4 94.7-47.3c13-6.5 13-24.7.2-31.1zm-155.9 106c-49.9 49.9-131.1 49.9-181 0-49.9-49.9-49.9-131.1 0-181 49.9-49.9 131.1-49.9 181 0 49.9 49.9 49.9 131.1 0 181z\"},\"child\":[]}]})(props);\n};\nexport function FaSuperscript (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496 160h-16V16a16 16 0 0 0-16-16h-48a16 16 0 0 0-14.29 8.83l-16 32A16 16 0 0 0 400 64h16v96h-16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h96a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zM336 64h-67a16 16 0 0 0-13.14 6.87l-79.9 115-79.9-115A16 16 0 0 0 83 64H16A16 16 0 0 0 0 80v48a16 16 0 0 0 16 16h33.48l77.81 112-77.81 112H16a16 16 0 0 0-16 16v48a16 16 0 0 0 16 16h67a16 16 0 0 0 13.14-6.87l79.9-115 79.9 115A16 16 0 0 0 269 448h67a16 16 0 0 0 16-16v-48a16 16 0 0 0-16-16h-33.48l-77.81-112 77.81-112H336a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaSurprise (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM136 208c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm112 208c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64zm80-176c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaSwatchbook (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M434.66,167.71h0L344.5,77.36a31.83,31.83,0,0,0-45-.07h0l-.07.07L224,152.88V424L434.66,212.9A32,32,0,0,0,434.66,167.71ZM480,320H373.09L186.68,506.51c-2.06,2.07-4.5,3.58-6.68,5.49H480a32,32,0,0,0,32-32V352A32,32,0,0,0,480,320ZM192,32A32,32,0,0,0,160,0H32A32,32,0,0,0,0,32V416a96,96,0,0,0,192,0ZM96,440a24,24,0,1,1,24-24A24,24,0,0,1,96,440Zm32-184H64V192h64Zm0-128H64V64h64Z\"},\"child\":[]}]})(props);\n};\nexport function FaSwimmer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M189.61 310.58c3.54 3.26 15.27 9.42 34.39 9.42s30.86-6.16 34.39-9.42c16.02-14.77 34.5-22.58 53.46-22.58h16.3c18.96 0 37.45 7.81 53.46 22.58 3.54 3.26 15.27 9.42 34.39 9.42s30.86-6.16 34.39-9.42c14.86-13.71 31.88-21.12 49.39-22.16l-112.84-80.6 18-12.86c3.64-2.58 8.28-3.52 12.62-2.61l100.35 21.53c25.91 5.53 51.44-10.97 57-36.88 5.55-25.92-10.95-51.44-36.88-57L437.68 98.47c-30.73-6.58-63.02.12-88.56 18.38l-80.02 57.17c-10.38 7.39-19.36 16.44-26.72 26.94L173.75 299c5.47 3.23 10.82 6.93 15.86 11.58zM624 352h-16c-26.04 0-45.8-8.42-56.09-17.9-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C461.8 343.58 442.04 352 416 352s-45.8-8.42-56.09-17.9c-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C269.8 343.58 250.04 352 224 352s-45.8-8.42-56.09-17.9c-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C77.8 343.58 58.04 352 32 352H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h16c38.62 0 72.72-12.19 96-31.84 23.28 19.66 57.38 31.84 96 31.84s72.72-12.19 96-31.84c23.28 19.66 57.38 31.84 96 31.84s72.72-12.19 96-31.84c23.28 19.66 57.38 31.84 96 31.84h16c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-512-96c44.18 0 80-35.82 80-80s-35.82-80-80-80-80 35.82-80 80 35.82 80 80 80z\"},\"child\":[]}]})(props);\n};\nexport function FaSwimmingPool (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M624 416h-16c-26.04 0-45.8-8.42-56.09-17.9-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C461.8 407.58 442.04 416 416 416s-45.8-8.42-56.09-17.9c-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C269.8 407.58 250.04 416 224 416s-45.8-8.42-56.09-17.9c-8.9-8.21-19.66-14.1-31.77-14.1h-16.3c-12.11 0-22.87 5.89-31.77 14.1C77.8 407.58 58.04 416 32 416H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h16c38.62 0 72.72-12.19 96-31.84 23.28 19.66 57.38 31.84 96 31.84s72.72-12.19 96-31.84c23.28 19.66 57.38 31.84 96 31.84s72.72-12.19 96-31.84c23.28 19.66 57.38 31.84 96 31.84h16c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-400-32v-96h192v96c19.12 0 30.86-6.16 34.39-9.42 9.17-8.46 19.2-14.34 29.61-18.07V128c0-17.64 14.36-32 32-32s32 14.36 32 32v16c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-16c0-52.94-43.06-96-96-96s-96 43.06-96 96v96H224v-96c0-17.64 14.36-32 32-32s32 14.36 32 32v16c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-16c0-52.94-43.06-96-96-96s-96 43.06-96 96v228.5c10.41 3.73 20.44 9.62 29.61 18.07 3.53 3.27 15.27 9.43 34.39 9.43z\"},\"child\":[]}]})(props);\n};\nexport function FaSynagogue (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M70 196.51L6.67 268.29A26.643 26.643 0 0 0 0 285.93V512h128V239.58l-38-43.07c-5.31-6.01-14.69-6.01-20 0zm563.33 71.78L570 196.51c-5.31-6.02-14.69-6.02-20 0l-38 43.07V512h128V285.93c0-6.5-2.37-12.77-6.67-17.64zM339.99 7.01c-11.69-9.35-28.29-9.35-39.98 0l-128 102.4A32.005 32.005 0 0 0 160 134.4V512h96v-92.57c0-31.88 21.78-61.43 53.25-66.55C349.34 346.35 384 377.13 384 416v96h96V134.4c0-9.72-4.42-18.92-12.01-24.99l-128-102.4zm52.07 215.55c1.98 3.15-.29 7.24-4 7.24h-38.94L324 269.79c-1.85 2.95-6.15 2.95-8 0l-25.12-39.98h-38.94c-3.72 0-5.98-4.09-4-7.24l19.2-30.56-19.2-30.56c-1.98-3.15.29-7.24 4-7.24h38.94l25.12-40c1.85-2.95 6.15-2.95 8 0l25.12 39.98h38.95c3.71 0 5.98 4.09 4 7.24L372.87 192l19.19 30.56z\"},\"child\":[]}]})(props);\n};\nexport function FaSyncAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M370.72 133.28C339.458 104.008 298.888 87.962 255.848 88c-77.458.068-144.328 53.178-162.791 126.85-1.344 5.363-6.122 9.15-11.651 9.15H24.103c-7.498 0-13.194-6.807-11.807-14.176C33.933 94.924 134.813 8 256 8c66.448 0 126.791 26.136 171.315 68.685L463.03 40.97C478.149 25.851 504 36.559 504 57.941V192c0 13.255-10.745 24-24 24H345.941c-21.382 0-32.09-25.851-16.971-40.971l41.75-41.749zM32 296h134.059c21.382 0 32.09 25.851 16.971 40.971l-41.75 41.75c31.262 29.273 71.835 45.319 114.876 45.28 77.418-.07 144.315-53.144 162.787-126.849 1.344-5.363 6.122-9.15 11.651-9.15h57.304c7.498 0 13.194 6.807 11.807 14.176C478.067 417.076 377.187 504 256 504c-66.448 0-126.791-26.136-171.315-68.685L48.97 471.03C33.851 486.149 8 475.441 8 454.059V320c0-13.255 10.745-24 24-24z\"},\"child\":[]}]})(props);\n};\nexport function FaSync (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M440.65 12.57l4 82.77A247.16 247.16 0 0 0 255.83 8C134.73 8 33.91 94.92 12.29 209.82A12 12 0 0 0 24.09 224h49.05a12 12 0 0 0 11.67-9.26 175.91 175.91 0 0 1 317-56.94l-101.46-4.86a12 12 0 0 0-12.57 12v47.41a12 12 0 0 0 12 12H500a12 12 0 0 0 12-12V12a12 12 0 0 0-12-12h-47.37a12 12 0 0 0-11.98 12.57zM255.83 432a175.61 175.61 0 0 1-146-77.8l101.8 4.87a12 12 0 0 0 12.57-12v-47.4a12 12 0 0 0-12-12H12a12 12 0 0 0-12 12V500a12 12 0 0 0 12 12h47.35a12 12 0 0 0 12-12.6l-4.15-82.57A247.17 247.17 0 0 0 255.83 504c121.11 0 221.93-86.92 243.55-201.82a12 12 0 0 0-11.8-14.18h-49.05a12 12 0 0 0-11.67 9.26A175.86 175.86 0 0 1 255.83 432z\"},\"child\":[]}]})(props);\n};\nexport function FaSyringe (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M201.5 174.8l55.7 55.8c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-55.7-55.8-45.3 45.3 55.8 55.8c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0L111 265.2l-26.4 26.4c-17.3 17.3-25.6 41.1-23 65.4l7.1 63.6L2.3 487c-3.1 3.1-3.1 8.2 0 11.3l11.3 11.3c3.1 3.1 8.2 3.1 11.3 0l66.3-66.3 63.6 7.1c23.9 2.6 47.9-5.4 65.4-23l181.9-181.9-135.7-135.7-64.9 65zm308.2-93.3L430.5 2.3c-3.1-3.1-8.2-3.1-11.3 0l-11.3 11.3c-3.1 3.1-3.1 8.2 0 11.3l28.3 28.3-45.3 45.3-56.6-56.6-17-17c-3.1-3.1-8.2-3.1-11.3 0l-33.9 33.9c-3.1 3.1-3.1 8.2 0 11.3l17 17L424.8 223l17 17c3.1 3.1 8.2 3.1 11.3 0l33.9-34c3.1-3.1 3.1-8.2 0-11.3l-73.5-73.5 45.3-45.3 28.3 28.3c3.1 3.1 8.2 3.1 11.3 0l11.3-11.3c3.1-3.2 3.1-8.2 0-11.4z\"},\"child\":[]}]})(props);\n};\nexport function FaTableTennis (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496.2 296.5C527.7 218.7 512 126.2 449 63.1 365.1-21 229-21 145.1 63.1l-56 56.1 211.5 211.5c46.1-62.1 131.5-77.4 195.6-34.2zm-217.9 79.7L57.9 155.9c-27.3 45.3-21.7 105 17.3 144.1l34.5 34.6L6.7 424c-8.6 7.5-9.1 20.7-1 28.8l53.4 53.5c8 8.1 21.2 7.6 28.7-1L177.1 402l35.7 35.7c19.7 19.7 44.6 30.5 70.3 33.3-7.1-17-11-35.6-11-55.1-.1-13.8 2.5-27 6.2-39.7zM416 320c-53 0-96 43-96 96s43 96 96 96 96-43 96-96-43-96-96-96z\"},\"child\":[]}]})(props);\n};\nexport function FaTable (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64v-96h160v96zm0-160H64v-96h160v96zm224 160H288v-96h160v96zm0-160H288v-96h160v96z\"},\"child\":[]}]})(props);\n};\nexport function FaTabletAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM224 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm176-108c0 6.6-5.4 12-12 12H60c-6.6 0-12-5.4-12-12V60c0-6.6 5.4-12 12-12h328c6.6 0 12 5.4 12 12v312z\"},\"child\":[]}]})(props);\n};\nexport function FaTablet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM224 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaTablets (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M160 192C78.9 192 12.5 250.5.1 326.7c-.8 4.8 3.3 9.3 8.3 9.3h303.3c5 0 9.1-4.5 8.3-9.3C307.5 250.5 241.1 192 160 192zm151.6 176H8.4c-5 0-9.1 4.5-8.3 9.3C12.5 453.5 78.9 512 160 512s147.5-58.5 159.9-134.7c.8-4.8-3.3-9.3-8.3-9.3zM593.4 46.6c-56.5-56.5-144.2-61.4-206.9-16-4 2.9-4.3 8.9-.8 12.3L597 254.3c3.5 3.5 9.5 3.2 12.3-.8 45.5-62.7 40.6-150.4-15.9-206.9zM363 65.7c-3.5-3.5-9.5-3.2-12.3.8-45.4 62.7-40.5 150.4 15.9 206.9 56.5 56.5 144.2 61.4 206.9 15.9 4-2.9 4.3-8.9.8-12.3L363 65.7z\"},\"child\":[]}]})(props);\n};\nexport function FaTachometerAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 32C128.94 32 0 160.94 0 320c0 52.8 14.25 102.26 39.06 144.8 5.61 9.62 16.3 15.2 27.44 15.2h443c11.14 0 21.83-5.58 27.44-15.2C561.75 422.26 576 372.8 576 320c0-159.06-128.94-288-288-288zm0 64c14.71 0 26.58 10.13 30.32 23.65-1.11 2.26-2.64 4.23-3.45 6.67l-9.22 27.67c-5.13 3.49-10.97 6.01-17.64 6.01-17.67 0-32-14.33-32-32S270.33 96 288 96zM96 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm48-160c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm246.77-72.41l-61.33 184C343.13 347.33 352 364.54 352 384c0 11.72-3.38 22.55-8.88 32H232.88c-5.5-9.45-8.88-20.28-8.88-32 0-33.94 26.5-61.43 59.9-63.59l61.34-184.01c4.17-12.56 17.73-19.45 30.36-15.17 12.57 4.19 19.35 17.79 15.17 30.36zm14.66 57.2l15.52-46.55c3.47-1.29 7.13-2.23 11.05-2.23 17.67 0 32 14.33 32 32s-14.33 32-32 32c-11.38-.01-20.89-6.28-26.57-15.22zM480 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaTag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 252.118V48C0 21.49 21.49 0 48 0h204.118a48 48 0 0 1 33.941 14.059l211.882 211.882c18.745 18.745 18.745 49.137 0 67.882L293.823 497.941c-18.745 18.745-49.137 18.745-67.882 0L14.059 286.059A48 48 0 0 1 0 252.118zM112 64c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48z\"},\"child\":[]}]})(props);\n};\nexport function FaTags (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M497.941 225.941L286.059 14.059A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v204.118a48 48 0 0 0 14.059 33.941l211.882 211.882c18.744 18.745 49.136 18.746 67.882 0l204.118-204.118c18.745-18.745 18.745-49.137 0-67.882zM112 160c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm513.941 133.823L421.823 497.941c-18.745 18.745-49.137 18.745-67.882 0l-.36-.36L527.64 323.522c16.999-16.999 26.36-39.6 26.36-63.64s-9.362-46.641-26.36-63.64L331.397 0h48.721a48 48 0 0 1 33.941 14.059l211.882 211.882c18.745 18.745 18.745 49.137 0 67.882z\"},\"child\":[]}]})(props);\n};\nexport function FaTape (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 192c-35.3 0-64 28.7-64 64s28.7 64 64 64 64-28.7 64-64-28.7-64-64-64zm400 224H380.6c41.5-40.7 67.4-97.3 67.4-160 0-123.7-100.3-224-224-224S0 132.3 0 256s100.3 224 224 224h400c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm-400-64c-53 0-96-43-96-96s43-96 96-96 96 43 96 96-43 96-96 96z\"},\"child\":[]}]})(props);\n};\nexport function FaTasks (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M139.61 35.5a12 12 0 0 0-17 0L58.93 98.81l-22.7-22.12a12 12 0 0 0-17 0L3.53 92.41a12 12 0 0 0 0 17l47.59 47.4a12.78 12.78 0 0 0 17.61 0l15.59-15.62L156.52 69a12.09 12.09 0 0 0 .09-17zm0 159.19a12 12 0 0 0-17 0l-63.68 63.72-22.7-22.1a12 12 0 0 0-17 0L3.53 252a12 12 0 0 0 0 17L51 316.5a12.77 12.77 0 0 0 17.6 0l15.7-15.69 72.2-72.22a12 12 0 0 0 .09-16.9zM64 368c-26.49 0-48.59 21.5-48.59 48S37.53 464 64 464a48 48 0 0 0 0-96zm432 16H208a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16zm0-320H208a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16V80a16 16 0 0 0-16-16zm0 160H208a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h288a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaTaxi (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M462 241.64l-22-84.84c-9.6-35.2-41.6-60.8-76.8-60.8H352V64c0-17.67-14.33-32-32-32H192c-17.67 0-32 14.33-32 32v32h-11.2c-35.2 0-67.2 25.6-76.8 60.8l-22 84.84C21.41 248.04 0 273.47 0 304v48c0 23.63 12.95 44.04 32 55.12V448c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-32h256v32c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32v-40.88c19.05-11.09 32-31.5 32-55.12v-48c0-30.53-21.41-55.96-50-62.36zM96 352c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm20.55-112l17.2-66.36c2.23-8.16 9.59-13.64 15.06-13.64h214.4c5.47 0 12.83 5.48 14.85 12.86L395.45 240h-278.9zM416 352c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaTeethOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M544 0H96C42.98 0 0 42.98 0 96v64c0 35.35 28.66 64 64 64h512c35.34 0 64-28.65 64-64V96c0-53.02-42.98-96-96-96zM160 176c0 8.84-7.16 16-16 16H80c-8.84 0-16-7.16-16-16v-32c0-26.51 21.49-48 48-48s48 21.49 48 48v32zm144 0c0 8.84-7.16 16-16 16h-80c-8.84 0-16-7.16-16-16v-56c0-30.93 25.07-56 56-56s56 25.07 56 56v56zm144 0c0 8.84-7.16 16-16 16h-80c-8.84 0-16-7.16-16-16v-56c0-30.93 25.07-56 56-56s56 25.07 56 56v56zm128 0c0 8.84-7.16 16-16 16h-64c-8.84 0-16-7.16-16-16v-32c0-26.51 21.49-48 48-48s48 21.49 48 48v32zm0 144H64c-35.34 0-64 28.65-64 64v32c0 53.02 42.98 96 96 96h448c53.02 0 96-42.98 96-96v-32c0-35.35-28.66-64-64-64zm-416 80c0 26.51-21.49 48-48 48s-48-21.49-48-48v-32c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v32zm144-8c0 30.93-25.07 56-56 56s-56-25.07-56-56v-24c0-8.84 7.16-16 16-16h80c8.84 0 16 7.16 16 16v24zm144 0c0 30.93-25.07 56-56 56s-56-25.07-56-56v-24c0-8.84 7.16-16 16-16h80c8.84 0 16 7.16 16 16v24zm128 8c0 26.51-21.49 48-48 48s-48-21.49-48-48v-32c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v32z\"},\"child\":[]}]})(props);\n};\nexport function FaTeeth (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M544 0H96C42.98 0 0 42.98 0 96v320c0 53.02 42.98 96 96 96h448c53.02 0 96-42.98 96-96V96c0-53.02-42.98-96-96-96zM160 368c0 26.51-21.49 48-48 48s-48-21.49-48-48v-64c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v64zm0-128c0 8.84-7.16 16-16 16H80c-8.84 0-16-7.16-16-16v-64c0-26.51 21.49-48 48-48s48 21.49 48 48v64zm144 120c0 30.93-25.07 56-56 56s-56-25.07-56-56v-56c0-8.84 7.16-16 16-16h80c8.84 0 16 7.16 16 16v56zm0-120c0 8.84-7.16 16-16 16h-80c-8.84 0-16-7.16-16-16v-88c0-30.93 25.07-56 56-56s56 25.07 56 56v88zm144 120c0 30.93-25.07 56-56 56s-56-25.07-56-56v-56c0-8.84 7.16-16 16-16h80c8.84 0 16 7.16 16 16v56zm0-120c0 8.84-7.16 16-16 16h-80c-8.84 0-16-7.16-16-16v-88c0-30.93 25.07-56 56-56s56 25.07 56 56v88zm128 128c0 26.51-21.49 48-48 48s-48-21.49-48-48v-64c0-8.84 7.16-16 16-16h64c8.84 0 16 7.16 16 16v64zm0-128c0 8.84-7.16 16-16 16h-64c-8.84 0-16-7.16-16-16v-64c0-26.51 21.49-48 48-48s48 21.49 48 48v64z\"},\"child\":[]}]})(props);\n};\nexport function FaTemperatureHigh (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416 0c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96zm0 128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm-160-16C256 50.1 205.9 0 144 0S32 50.1 32 112v166.5C12.3 303.2 0 334 0 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-34-12.3-64.9-32-89.5V112zM144 448c-44.1 0-80-35.9-80-80 0-25.5 12.2-48.9 32-63.8V112c0-26.5 21.5-48 48-48s48 21.5 48 48v192.2c19.8 14.8 32 38.3 32 63.8 0 44.1-35.9 80-80 80zm16-125.1V112c0-8.8-7.2-16-16-16s-16 7.2-16 16v210.9c-18.6 6.6-32 24.2-32 45.1 0 26.5 21.5 48 48 48s48-21.5 48-48c0-20.9-13.4-38.5-32-45.1z\"},\"child\":[]}]})(props);\n};\nexport function FaTemperatureLow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M416 0c-52.9 0-96 43.1-96 96s43.1 96 96 96 96-43.1 96-96-43.1-96-96-96zm0 128c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm-160-16C256 50.1 205.9 0 144 0S32 50.1 32 112v166.5C12.3 303.2 0 334 0 368c0 79.5 64.5 144 144 144s144-64.5 144-144c0-34-12.3-64.9-32-89.5V112zM144 448c-44.1 0-80-35.9-80-80 0-25.5 12.2-48.9 32-63.8V112c0-26.5 21.5-48 48-48s48 21.5 48 48v192.2c19.8 14.8 32 38.3 32 63.8 0 44.1-35.9 80-80 80zm16-125.1V304c0-8.8-7.2-16-16-16s-16 7.2-16 16v18.9c-18.6 6.6-32 24.2-32 45.1 0 26.5 21.5 48 48 48s48-21.5 48-48c0-20.9-13.4-38.5-32-45.1z\"},\"child\":[]}]})(props);\n};\nexport function FaTenge (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M372 160H12c-6.6 0-12 5.4-12 12v56c0 6.6 5.4 12 12 12h140v228c0 6.6 5.4 12 12 12h56c6.6 0 12-5.4 12-12V240h140c6.6 0 12-5.4 12-12v-56c0-6.6-5.4-12-12-12zm0-128H12C5.4 32 0 37.4 0 44v56c0 6.6 5.4 12 12 12h360c6.6 0 12-5.4 12-12V44c0-6.6-5.4-12-12-12z\"},\"child\":[]}]})(props);\n};\nexport function FaTerminal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M257.981 272.971L63.638 467.314c-9.373 9.373-24.569 9.373-33.941 0L7.029 444.647c-9.357-9.357-9.375-24.522-.04-33.901L161.011 256 6.99 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L257.981 239.03c9.373 9.372 9.373 24.568 0 33.941zM640 456v-32c0-13.255-10.745-24-24-24H312c-13.255 0-24 10.745-24 24v32c0 13.255 10.745 24 24 24h304c13.255 0 24-10.745 24-24z\"},\"child\":[]}]})(props);\n};\nexport function FaTextHeight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M304 32H16A16 16 0 0 0 0 48v96a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-32h56v304H80a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h160a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-40V112h56v32a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm256 336h-48V144h48c14.31 0 21.33-17.31 11.31-27.31l-80-80a16 16 0 0 0-22.62 0l-80 80C379.36 126 384.36 144 400 144h48v224h-48c-14.31 0-21.32 17.31-11.31 27.31l80 80a16 16 0 0 0 22.62 0l80-80C580.64 386 575.64 368 560 368z\"},\"child\":[]}]})(props);\n};\nexport function FaTextWidth (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M432 32H16A16 16 0 0 0 0 48v80a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16v-16h120v112h-24a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-24V112h120v16a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zm-68.69 260.69C354 283.36 336 288.36 336 304v48H112v-48c0-14.31-17.31-21.32-27.31-11.31l-80 80a16 16 0 0 0 0 22.62l80 80C94 484.64 112 479.64 112 464v-48h224v48c0 14.31 17.31 21.33 27.31 11.31l80-80a16 16 0 0 0 0-22.62z\"},\"child\":[]}]})(props);\n};\nexport function FaThLarge (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M296 32h192c13.255 0 24 10.745 24 24v160c0 13.255-10.745 24-24 24H296c-13.255 0-24-10.745-24-24V56c0-13.255 10.745-24 24-24zm-80 0H24C10.745 32 0 42.745 0 56v160c0 13.255 10.745 24 24 24h192c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24zM0 296v160c0 13.255 10.745 24 24 24h192c13.255 0 24-10.745 24-24V296c0-13.255-10.745-24-24-24H24c-13.255 0-24 10.745-24 24zm296 184h192c13.255 0 24-10.745 24-24V296c0-13.255-10.745-24-24-24H296c-13.255 0-24 10.745-24 24v160c0 13.255 10.745 24 24 24z\"},\"child\":[]}]})(props);\n};\nexport function FaThList (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M149.333 216v80c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24v-80c0-13.255 10.745-24 24-24h101.333c13.255 0 24 10.745 24 24zM0 376v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H24c-13.255 0-24 10.745-24 24zM125.333 32H24C10.745 32 0 42.745 0 56v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24zm80 448H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24zm-24-424v80c0 13.255 10.745 24 24 24H488c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24zm24 264H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24z\"},\"child\":[]}]})(props);\n};\nexport function FaTh (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M149.333 56v80c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V56c0-13.255 10.745-24 24-24h101.333c13.255 0 24 10.745 24 24zm181.334 240v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h101.333c13.256 0 24.001-10.745 24.001-24zm32-240v80c0 13.255 10.745 24 24 24H488c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24H386.667c-13.255 0-24 10.745-24 24zm-32 80V56c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h101.333c13.256 0 24.001-10.745 24.001-24zm-205.334 56H24c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24zM0 376v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H24c-13.255 0-24 10.745-24 24zm386.667-56H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H386.667c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24zm0 160H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H386.667c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24zM181.333 376v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24z\"},\"child\":[]}]})(props);\n};\nexport function FaTheaterMasks (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M206.86 245.15c-35.88 10.45-59.95 41.2-57.53 74.1 11.4-12.72 28.81-23.7 49.9-30.92l7.63-43.18zM95.81 295L64.08 115.49c-.29-1.62.28-2.62.24-2.65 57.76-32.06 123.12-49.01 189.01-49.01 1.61 0 3.23.17 4.85.19 13.95-13.47 31.73-22.83 51.59-26 18.89-3.02 38.05-4.55 57.18-5.32-9.99-13.95-24.48-24.23-41.77-27C301.27 1.89 277.24 0 253.32 0 176.66 0 101.02 19.42 33.2 57.06 9.03 70.48-3.92 98.48 1.05 126.58l31.73 179.51c14.23 80.52 136.33 142.08 204.45 142.08 3.59 0 6.75-.46 10.01-.8-13.52-17.08-28.94-40.48-39.5-67.58-47.61-12.98-106.06-51.62-111.93-84.79zm97.55-137.46c-.73-4.12-2.23-7.87-4.07-11.4-8.25 8.91-20.67 15.75-35.32 18.32-14.65 2.58-28.67.4-39.48-5.17-.52 3.94-.64 7.98.09 12.1 3.84 21.7 24.58 36.19 46.34 32.37 21.75-3.82 36.28-24.52 32.44-46.22zM606.8 120.9c-88.98-49.38-191.43-67.41-291.98-51.35-27.31 4.36-49.08 26.26-54.04 54.36l-31.73 179.51c-15.39 87.05 95.28 196.27 158.31 207.35 63.03 11.09 204.47-53.79 219.86-140.84l31.73-179.51c4.97-28.11-7.98-56.11-32.15-69.52zm-273.24 96.8c3.84-21.7 24.58-36.19 46.34-32.36 21.76 3.83 36.28 24.52 32.45 46.22-.73 4.12-2.23 7.87-4.07 11.4-8.25-8.91-20.67-15.75-35.32-18.32-14.65-2.58-28.67-.4-39.48 5.17-.53-3.95-.65-7.99.08-12.11zm70.47 198.76c-55.68-9.79-93.52-59.27-89.04-112.9 20.6 25.54 56.21 46.17 99.49 53.78 43.28 7.61 83.82.37 111.93-16.6-14.18 51.94-66.71 85.51-122.38 75.72zm130.3-151.34c-8.25-8.91-20.68-15.75-35.33-18.32-14.65-2.58-28.67-.4-39.48 5.17-.52-3.94-.64-7.98.09-12.1 3.84-21.7 24.58-36.19 46.34-32.37 21.75 3.83 36.28 24.52 32.45 46.22-.73 4.13-2.23 7.88-4.07 11.4z\"},\"child\":[]}]})(props);\n};\nexport function FaThermometerEmpty (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 256 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M192 384c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-35.346 28.654-64 64-64s64 28.654 64 64zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z\"},\"child\":[]}]})(props);\n};\nexport function FaThermometerFull (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 256 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 96c0-53.019-42.981-96-96-96S32 42.981 32 96v203.347C12.225 321.756.166 351.136.002 383.333c-.359 70.303 56.787 128.176 127.089 128.664.299.002.61.003.909.003 70.698 0 128-57.304 128-128 0-32.459-12.088-62.09-32-84.653V96zm-96 368l-.576-.002c-43.86-.304-79.647-36.544-79.423-80.42.173-33.98 19.266-51.652 31.999-66.08V96c0-26.467 21.533-48 48-48s48 21.533 48 48v221.498c12.63 14.312 32 32.164 32 66.502 0 44.112-35.888 80-80 80zm64-80c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-23.685 12.876-44.349 32-55.417V96c0-17.673 14.327-32 32-32s32 14.327 32 32v232.583c19.124 11.068 32 31.732 32 55.417z\"},\"child\":[]}]})(props);\n};\nexport function FaThermometerHalf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 256 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M192 384c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-23.685 12.876-44.349 32-55.417V224c0-17.673 14.327-32 32-32s32 14.327 32 32v104.583c19.124 11.068 32 31.732 32 55.417zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z\"},\"child\":[]}]})(props);\n};\nexport function FaThermometerQuarter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 256 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M192 384c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-23.685 12.876-44.349 32-55.417V288c0-17.673 14.327-32 32-32s32 14.327 32 32v40.583c19.124 11.068 32 31.732 32 55.417zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z\"},\"child\":[]}]})(props);\n};\nexport function FaThermometerThreeQuarters (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 256 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M192 384c0 35.346-28.654 64-64 64-35.346 0-64-28.654-64-64 0-23.685 12.876-44.349 32-55.417V160c0-17.673 14.327-32 32-32s32 14.327 32 32v168.583c19.124 11.068 32 31.732 32 55.417zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z\"},\"child\":[]}]})(props);\n};\nexport function FaThermometer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M476.8 20.4c-37.5-30.7-95.5-26.3-131.9 10.2l-45.7 46 50.5 50.5c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-50.4-50.5-45.1 45.4 50.3 50.4c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0L209 167.4l-45.1 45.4L214 263c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-50.1-50.2L96 281.1V382L7 471c-9.4 9.4-9.4 24.6 0 33.9 9.4 9.4 24.6 9.4 33.9 0l89-89h99.9L484 162.6c34.9-34.9 42.2-101.5-7.2-142.2z\"},\"child\":[]}]})(props);\n};\nexport function FaThumbsDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 56v240c0 13.255 10.745 24 24 24h80c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24H24C10.745 32 0 42.745 0 56zm40 200c0-13.255 10.745-24 24-24s24 10.745 24 24-10.745 24-24 24-24-10.745-24-24zm272 256c-20.183 0-29.485-39.293-33.931-57.795-5.206-21.666-10.589-44.07-25.393-58.902-32.469-32.524-49.503-73.967-89.117-113.111a11.98 11.98 0 0 1-3.558-8.521V59.901c0-6.541 5.243-11.878 11.783-11.998 15.831-.29 36.694-9.079 52.651-16.178C256.189 17.598 295.709.017 343.995 0h2.844c42.777 0 93.363.413 113.774 29.737 8.392 12.057 10.446 27.034 6.148 44.632 16.312 17.053 25.063 48.863 16.382 74.757 17.544 23.432 19.143 56.132 9.308 79.469l.11.11c11.893 11.949 19.523 31.259 19.439 49.197-.156 30.352-26.157 58.098-59.553 58.098H350.723C358.03 364.34 384 388.132 384 430.548 384 504 336 512 312 512z\"},\"child\":[]}]})(props);\n};\nexport function FaThumbsUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M104 224H24c-13.255 0-24 10.745-24 24v240c0 13.255 10.745 24 24 24h80c13.255 0 24-10.745 24-24V248c0-13.255-10.745-24-24-24zM64 472c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24zM384 81.452c0 42.416-25.97 66.208-33.277 94.548h101.723c33.397 0 59.397 27.746 59.553 58.098.084 17.938-7.546 37.249-19.439 49.197l-.11.11c9.836 23.337 8.237 56.037-9.308 79.469 8.681 25.895-.069 57.704-16.382 74.757 4.298 17.598 2.244 32.575-6.148 44.632C440.202 511.587 389.616 512 346.839 512l-2.845-.001c-48.287-.017-87.806-17.598-119.56-31.725-15.957-7.099-36.821-15.887-52.651-16.178-6.54-.12-11.783-5.457-11.783-11.998v-213.77c0-3.2 1.282-6.271 3.558-8.521 39.614-39.144 56.648-80.587 89.117-113.111 14.804-14.832 20.188-37.236 25.393-58.902C282.515 39.293 291.817 0 312 0c24 0 72 8 72 81.452z\"},\"child\":[]}]})(props);\n};\nexport function FaThumbtack (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M298.028 214.267L285.793 96H328c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24H56C42.745 0 32 10.745 32 24v48c0 13.255 10.745 24 24 24h42.207L85.972 214.267C37.465 236.82 0 277.261 0 328c0 13.255 10.745 24 24 24h136v104.007c0 1.242.289 2.467.845 3.578l24 48c2.941 5.882 11.364 5.893 14.311 0l24-48a8.008 8.008 0 0 0 .845-3.578V352h136c13.255 0 24-10.745 24-24-.001-51.183-37.983-91.42-85.973-113.733z\"},\"child\":[]}]})(props);\n};\nexport function FaTicketAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M128 160h320v192H128V160zm400 96c0 26.51 21.49 48 48 48v96c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48v-96c26.51 0 48-21.49 48-48s-21.49-48-48-48v-96c0-26.51 21.49-48 48-48h480c26.51 0 48 21.49 48 48v96c-26.51 0-48 21.49-48 48zm-48-104c0-13.255-10.745-24-24-24H120c-13.255 0-24 10.745-24 24v208c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V152z\"},\"child\":[]}]})(props);\n};\nexport function FaTimesCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm121.6 313.1c4.7 4.7 4.7 12.3 0 17L338 377.6c-4.7 4.7-12.3 4.7-17 0L256 312l-65.1 65.6c-4.7 4.7-12.3 4.7-17 0L134.4 338c-4.7-4.7-4.7-12.3 0-17l65.6-65-65.6-65.1c-4.7-4.7-4.7-12.3 0-17l39.6-39.6c4.7-4.7 12.3-4.7 17 0l65 65.7 65.1-65.6c4.7-4.7 12.3-4.7 17 0l39.6 39.6c4.7 4.7 4.7 12.3 0 17L312 256l65.6 65.1z\"},\"child\":[]}]})(props);\n};\nexport function FaTimes (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 352 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z\"},\"child\":[]}]})(props);\n};\nexport function FaTintSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M633.82 458.1L494.97 350.78c.52-5.57 1.03-11.16 1.03-16.87 0-111.76-99.79-153.34-146.78-311.82-7.94-28.78-49.44-30.12-58.44 0-15.52 52.34-36.87 91.96-58.49 125.68L45.47 3.37C38.49-2.05 28.43-.8 23.01 6.18L3.37 31.45C-2.05 38.42-.8 48.47 6.18 53.9l588.36 454.73c6.98 5.43 17.03 4.17 22.46-2.81l19.64-25.27c5.41-6.97 4.16-17.02-2.82-22.45zM144 333.91C144 432.35 222.72 512 320 512c44.71 0 85.37-16.96 116.4-44.7L162.72 255.78c-11.41 23.5-18.72 48.35-18.72 78.13z\"},\"child\":[]}]})(props);\n};\nexport function FaTint (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 352 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M205.22 22.09c-7.94-28.78-49.44-30.12-58.44 0C100.01 179.85 0 222.72 0 333.91 0 432.35 78.72 512 176 512s176-79.65 176-178.09c0-111.75-99.79-153.34-146.78-311.82zM176 448c-61.75 0-112-50.25-112-112 0-8.84 7.16-16 16-16s16 7.16 16 16c0 44.11 35.89 80 80 80 8.84 0 16 7.16 16 16s-7.16 16-16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaTired (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm33.8 189.7l80-48c11.6-6.9 24 7.7 15.4 18L343.6 208l33.6 40.3c8.7 10.4-3.9 24.8-15.4 18l-80-48c-7.7-4.7-7.7-15.9 0-20.6zm-163-30c-8.6-10.3 3.8-24.9 15.4-18l80 48c7.8 4.7 7.8 15.9 0 20.6l-80 48c-11.5 6.8-24-7.6-15.4-18l33.6-40.3-33.6-40.3zM248 288c51.9 0 115.3 43.8 123.2 106.7 1.7 13.6-8 24.6-17.7 20.4-25.9-11.1-64.4-17.4-105.5-17.4s-79.6 6.3-105.5 17.4c-9.8 4.2-19.4-7-17.7-20.4C132.7 331.8 196.1 288 248 288z\"},\"child\":[]}]})(props);\n};\nexport function FaToggleOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 64H192C85.961 64 0 149.961 0 256s85.961 192 192 192h192c106.039 0 192-85.961 192-192S490.039 64 384 64zM64 256c0-70.741 57.249-128 128-128 70.741 0 128 57.249 128 128 0 70.741-57.249 128-128 128-70.741 0-128-57.249-128-128zm320 128h-48.905c65.217-72.858 65.236-183.12 0-256H384c70.741 0 128 57.249 128 128 0 70.74-57.249 128-128 128z\"},\"child\":[]}]})(props);\n};\nexport function FaToggleOn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 64H192C86 64 0 150 0 256s86 192 192 192h192c106 0 192-86 192-192S490 64 384 64zm0 320c-70.8 0-128-57.3-128-128 0-70.8 57.3-128 128-128 70.8 0 128 57.3 128 128 0 70.8-57.3 128-128 128z\"},\"child\":[]}]})(props);\n};\nexport function FaToiletPaperSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M64,192V364.13c0,41.12-9.75,62.75-31.12,126.87A16,16,0,0,0,48,512H328.86a31.87,31.87,0,0,0,30.38-21.87c9.31-27.83,18-53.35,22.18-85.55l-316-244.25C64.53,170.66,64,181.19,64,192ZM633.82,458.09l-102-78.81C575.28,360.91,608,284.32,608,192,608,86,565,0,512,0s-96,86-96,192c0,42,7,80.4,18.43,112L384,265V192c0-83.62,23.63-153.5,60.5-192H160c-23.33,0-44.63,16.83-61.26,44.53L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.45A16,16,0,0,0,6.18,53.91L594.54,508.63A16,16,0,0,0,617,505.81l19.64-25.26A16,16,0,0,0,633.82,458.09ZM512,256c-17.63,0-32-28.62-32-64s14.37-64,32-64,32,28.63,32,64S529.62,256,512,256Z\"},\"child\":[]}]})(props);\n};\nexport function FaToiletPaper (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M128 0C74.98 0 32 85.96 32 192v172.07c0 41.12-9.8 62.77-31.17 126.87C-2.62 501.3 5.09 512 16.01 512h280.92c13.77 0 26-8.81 30.36-21.88 12.83-38.48 24.71-72.4 24.71-126.05V192c0-83.6 23.67-153.52 60.44-192H128zM96 224c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zm64 0c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zm64 0c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zm64 0c-8.84 0-16-7.16-16-16s7.16-16 16-16 16 7.16 16 16-7.16 16-16 16zM480 0c-53.02 0-96 85.96-96 192s42.98 192 96 192 96-85.96 96-192S533.02 0 480 0zm0 256c-17.67 0-32-28.65-32-64s14.33-64 32-64 32 28.65 32 64-14.33 64-32 64z\"},\"child\":[]}]})(props);\n};\nexport function FaToilet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M368 48c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16H16C7.2 0 0 7.2 0 16v16c0 8.8 7.2 16 16 16h16v156.7C11.8 214.8 0 226.9 0 240c0 67.2 34.6 126.2 86.8 160.5l-21.4 70.2C59.1 491.2 74.5 512 96 512h192c21.5 0 36.9-20.8 30.6-41.3l-21.4-70.2C349.4 366.2 384 307.2 384 240c0-13.1-11.8-25.2-32-35.3V48h16zM80 72c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H88c-4.4 0-8-3.6-8-8V72zm112 200c-77.1 0-139.6-14.3-139.6-32s62.5-32 139.6-32 139.6 14.3 139.6 32-62.5 32-139.6 32z\"},\"child\":[]}]})(props);\n};\nexport function FaToolbox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M502.63 214.63l-45.25-45.25c-6-6-14.14-9.37-22.63-9.37H384V80c0-26.51-21.49-48-48-48H176c-26.51 0-48 21.49-48 48v80H77.25c-8.49 0-16.62 3.37-22.63 9.37L9.37 214.63c-6 6-9.37 14.14-9.37 22.63V320h128v-16c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v16h128v-16c0-8.84 7.16-16 16-16h32c8.84 0 16 7.16 16 16v16h128v-82.75c0-8.48-3.37-16.62-9.37-22.62zM320 160H192V96h128v64zm64 208c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-16H192v16c0 8.84-7.16 16-16 16h-32c-8.84 0-16-7.16-16-16v-16H0v96c0 17.67 14.33 32 32 32h448c17.67 0 32-14.33 32-32v-96H384v16z\"},\"child\":[]}]})(props);\n};\nexport function FaTools (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M501.1 395.7L384 278.6c-23.1-23.1-57.6-27.6-85.4-13.9L192 158.1V96L64 0 0 64l96 128h62.1l106.6 106.6c-13.6 27.8-9.2 62.3 13.9 85.4l117.1 117.1c14.6 14.6 38.2 14.6 52.7 0l52.7-52.7c14.5-14.6 14.5-38.2 0-52.7zM331.7 225c28.3 0 54.9 11 74.9 31l19.4 19.4c15.8-6.9 30.8-16.5 43.8-29.5 37.1-37.1 49.7-89.3 37.9-136.7-2.2-9-13.5-12.1-20.1-5.5l-74.4 74.4-67.9-11.3L334 98.9l74.4-74.4c6.6-6.6 3.4-17.9-5.7-20.2-47.4-11.7-99.6.9-136.6 37.9-28.5 28.5-41.9 66.1-41.2 103.6l82.1 82.1c8.1-1.9 16.5-2.9 24.7-2.9zm-103.9 82l-56.7-56.7L18.7 402.8c-25 25-25 65.5 0 90.5s65.5 25 90.5 0l123.6-123.6c-7.6-19.9-9.9-41.6-5-62.7zM64 472c-13.2 0-24-10.8-24-24 0-13.3 10.7-24 24-24s24 10.7 24 24c0 13.2-10.7 24-24 24z\"},\"child\":[]}]})(props);\n};\nexport function FaTooth (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M443.98 96.25c-11.01-45.22-47.11-82.06-92.01-93.72-32.19-8.36-63 5.1-89.14 24.33-3.25 2.39-6.96 3.73-10.5 5.48l28.32 18.21c7.42 4.77 9.58 14.67 4.8 22.11-4.46 6.95-14.27 9.86-22.11 4.8L162.83 12.84c-20.7-10.85-43.38-16.4-66.81-10.31-44.9 11.67-81 48.5-92.01 93.72-10.13 41.62-.42 80.81 21.5 110.43 23.36 31.57 32.68 68.66 36.29 107.35 4.4 47.16 10.33 94.16 20.94 140.32l7.8 33.95c3.19 13.87 15.49 23.7 29.67 23.7 13.97 0 26.15-9.55 29.54-23.16l34.47-138.42c4.56-18.32 20.96-31.16 39.76-31.16s35.2 12.85 39.76 31.16l34.47 138.42c3.39 13.61 15.57 23.16 29.54 23.16 14.18 0 26.48-9.83 29.67-23.7l7.8-33.95c10.61-46.15 16.53-93.16 20.94-140.32 3.61-38.7 12.93-75.78 36.29-107.35 21.95-29.61 31.66-68.8 21.53-110.43z\"},\"child\":[]}]})(props);\n};\nexport function FaTorah (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M320.05 366.48l17.72-29.64h-35.46zm99.21-166H382.4l18.46 30.82zM48 0C21.49 0 0 14.33 0 32v448c0 17.67 21.49 32 48 32s48-14.33 48-32V32C96 14.33 74.51 0 48 0zm172.74 311.5h36.85l-18.46-30.82zm161.71 0h36.86l-18.45-30.8zM128 464h384V48H128zm66.77-278.13a21.22 21.22 0 0 1 18.48-10.71h59.45l29.13-48.71a21.13 21.13 0 0 1 18.22-10.37A20.76 20.76 0 0 1 338 126.29l29.25 48.86h59.52a21.12 21.12 0 0 1 18.1 32L415.63 256 445 305a20.69 20.69 0 0 1 .24 21.12 21.25 21.25 0 0 1-18.48 10.72h-59.47l-29.13 48.7a21.13 21.13 0 0 1-18.16 10.4 20.79 20.79 0 0 1-18-10.22l-29.25-48.88h-59.5a21.11 21.11 0 0 1-18.1-32L224.36 256 195 207a20.7 20.7 0 0 1-.23-21.13zM592 0c-26.51 0-48 14.33-48 32v448c0 17.67 21.49 32 48 32s48-14.33 48-32V32c0-17.67-21.49-32-48-32zM320 145.53l-17.78 29.62h35.46zm-62.45 55h-36.81l18.44 30.8zm29.58 111h65.79L386.09 256l-33.23-55.52h-65.79L253.9 256z\"},\"child\":[]}]})(props);\n};\nexport function FaToriiGate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M376.45 32h-240.9A303.17 303.17 0 0 1 0 0v96c0 17.67 14.33 32 32 32h32v64H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h48v240c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V256h256v240c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16V256h48c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16h-48v-64h32c17.67 0 32-14.33 32-32V0a303.17 303.17 0 0 1-135.55 32zM128 128h96v64h-96v-64zm256 64h-96v-64h96v64z\"},\"child\":[]}]})(props);\n};\nexport function FaTractor (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M528 336c-48.6 0-88 39.4-88 88s39.4 88 88 88 88-39.4 88-88-39.4-88-88-88zm0 112c-13.23 0-24-10.77-24-24s10.77-24 24-24 24 10.77 24 24-10.77 24-24 24zm80-288h-64v-40.2c0-14.12 4.7-27.76 13.15-38.84 4.42-5.8 3.55-14.06-1.32-19.49L534.2 37.3c-6.66-7.45-18.32-6.92-24.7.78C490.58 60.9 480 89.81 480 119.8V160H377.67L321.58 29.14A47.914 47.914 0 0 0 277.45 0H144c-26.47 0-48 21.53-48 48v146.52c-8.63-6.73-20.96-6.46-28.89 1.47L36 227.1c-8.59 8.59-8.59 22.52 0 31.11l5.06 5.06c-4.99 9.26-8.96 18.82-11.91 28.72H22c-12.15 0-22 9.85-22 22v44c0 12.15 9.85 22 22 22h7.14c2.96 9.91 6.92 19.46 11.91 28.73l-5.06 5.06c-8.59 8.59-8.59 22.52 0 31.11L67.1 476c8.59 8.59 22.52 8.59 31.11 0l5.06-5.06c9.26 4.99 18.82 8.96 28.72 11.91V490c0 12.15 9.85 22 22 22h44c12.15 0 22-9.85 22-22v-7.14c9.9-2.95 19.46-6.92 28.72-11.91l5.06 5.06c8.59 8.59 22.52 8.59 31.11 0l31.11-31.11c8.59-8.59 8.59-22.52 0-31.11l-5.06-5.06c4.99-9.26 8.96-18.82 11.91-28.72H330c12.15 0 22-9.85 22-22v-6h80.54c21.91-28.99 56.32-48 95.46-48 18.64 0 36.07 4.61 51.8 12.2l50.82-50.82c6-6 9.37-14.14 9.37-22.63V192c.01-17.67-14.32-32-31.99-32zM176 416c-44.18 0-80-35.82-80-80s35.82-80 80-80 80 35.82 80 80-35.82 80-80 80zm22-256h-38V64h106.89l41.15 96H198z\"},\"child\":[]}]})(props);\n};\nexport function FaTrademark (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M260.6 96H12c-6.6 0-12 5.4-12 12v43.1c0 6.6 5.4 12 12 12h85.1V404c0 6.6 5.4 12 12 12h54.3c6.6 0 12-5.4 12-12V163.1h85.1c6.6 0 12-5.4 12-12V108c.1-6.6-5.3-12-11.9-12zM640 403l-24-296c-.5-6.2-5.7-11-12-11h-65.4c-5.1 0-9.7 3.3-11.3 8.1l-43.8 127.1c-7.2 20.6-16.1 52.8-16.1 52.8h-.9s-8.9-32.2-16.1-52.8l-43.8-127.1c-1.7-4.8-6.2-8.1-11.3-8.1h-65.4c-6.2 0-11.4 4.8-12 11l-24.4 296c-.6 7 4.9 13 12 13H360c6.3 0 11.5-4.9 12-11.2l9.1-132.9c1.8-24.2 0-53.7 0-53.7h.9s10.7 33.6 17.9 53.7l30.7 84.7c1.7 4.7 6.2 7.9 11.3 7.9h50.3c5.1 0 9.6-3.2 11.3-7.9l30.7-84.7c7.2-20.1 17.9-53.7 17.9-53.7h.9s-1.8 29.5 0 53.7l9.1 132.9c.4 6.3 5.7 11.2 12 11.2H628c7 0 12.5-6 12-13z\"},\"child\":[]}]})(props);\n};\nexport function FaTrafficLight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M384 192h-64v-37.88c37.2-13.22 64-48.38 64-90.12h-64V32c0-17.67-14.33-32-32-32H96C78.33 0 64 14.33 64 32v32H0c0 41.74 26.8 76.9 64 90.12V192H0c0 41.74 26.8 76.9 64 90.12V320H0c0 42.84 28.25 78.69 66.99 91.05C79.42 468.72 130.6 512 192 512s112.58-43.28 125.01-100.95C355.75 398.69 384 362.84 384 320h-64v-37.88c37.2-13.22 64-48.38 64-90.12zM192 416c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm0-128c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm0-128c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48z\"},\"child\":[]}]})(props);\n};\nexport function FaTrailer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M624,320H544V80a16,16,0,0,0-16-16H16A16,16,0,0,0,0,80V368a16,16,0,0,0,16,16H65.61c7.83-54.21,54-96,110.39-96s102.56,41.79,110.39,96H624a16,16,0,0,0,16-16V336A16,16,0,0,0,624,320ZM96,243.68a176.29,176.29,0,0,0-32,20.71V136a8,8,0,0,1,8-8H88a8,8,0,0,1,8,8Zm96-18.54c-5.31-.49-10.57-1.14-16-1.14s-10.69.65-16,1.14V136a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8Zm96,39.25a176.29,176.29,0,0,0-32-20.71V136a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8ZM384,320H352V136a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8Zm96,0H448V136a8,8,0,0,1,8-8h16a8,8,0,0,1,8,8Zm-304,0a80,80,0,1,0,80,80A80,80,0,0,0,176,320Zm0,112a32,32,0,1,1,32-32A32,32,0,0,1,176,432Z\"},\"child\":[]}]})(props);\n};\nexport function FaTrain (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 96v256c0 51.815-61.624 96-130.022 96l62.98 49.721C386.905 502.417 383.562 512 376 512H72c-7.578 0-10.892-9.594-4.957-14.279L130.022 448C61.82 448 0 403.954 0 352V96C0 42.981 64 0 128 0h192c65 0 128 42.981 128 96zm-48 136V120c0-13.255-10.745-24-24-24H72c-13.255 0-24 10.745-24 24v112c0 13.255 10.745 24 24 24h304c13.255 0 24-10.745 24-24zm-176 64c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56z\"},\"child\":[]}]})(props);\n};\nexport function FaTram (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 64c17.7 0 32-14.3 32-32S305.7 0 288 0s-32 14.3-32 32 14.3 32 32 32zm223.5-12.1c-2.3-8.6-11-13.6-19.6-11.3l-480 128c-8.5 2.3-13.6 11-11.3 19.6C2.5 195.3 8.9 200 16 200c1.4 0 2.8-.2 4.1-.5L240 140.8V224H64c-17.7 0-32 14.3-32 32v224c0 17.7 14.3 32 32 32h384c17.7 0 32-14.3 32-32V256c0-17.7-14.3-32-32-32H272v-91.7l228.1-60.8c8.6-2.3 13.6-11.1 11.4-19.6zM176 384H80v-96h96v96zm160-96h96v96h-96v-96zm-32 0v96h-96v-96h96zM192 96c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaTransgenderAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 480 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M468 0h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-80.7 80.7C294.5 104.1 268.2 96 240 96c-28.2 0-54.5 8.1-76.7 22.1l-16.5-16.5 19.8-19.8c4.7-4.7 4.7-12.3 0-17l-28.3-28.3c-4.7-4.7-12.3-4.7-17 0l-19.8 19.8-19-19 16.9-16.9C107.1 12.9 101.7 0 91 0H12C5.4 0 0 5.4 0 12v79c0 10.7 12.9 16 20.5 8.5l16.9-16.9 19 19-19.8 19.8c-4.7 4.7-4.7 12.3 0 17l28.3 28.3c4.7 4.7 12.3 4.7 17 0l19.8-19.8 16.5 16.5C104.1 185.5 96 211.8 96 240c0 68.5 47.9 125.9 112 140.4V408h-36c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v28c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-28h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-27.6c64.1-14.6 112-71.9 112-140.4 0-28.2-8.1-54.5-22.1-76.7l80.7-80.7 16.9 16.9c7.6 7.6 20.5 2.2 20.5-8.5V12c0-6.6-5.4-12-12-12zM240 320c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z\"},\"child\":[]}]})(props);\n};\nexport function FaTransgender (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M372 0h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-80.7 80.7C198.5 104.1 172.2 96 144 96 64.5 96 0 160.5 0 240c0 68.5 47.9 125.9 112 140.4V408H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v28c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-28h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-27.6c64.1-14.6 112-71.9 112-140.4 0-28.2-8.1-54.5-22.1-76.7l80.7-80.7 16.9 16.9c7.6 7.6 20.5 2.2 20.5-8.5V12c0-6.6-5.4-12-12-12zM144 320c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z\"},\"child\":[]}]})(props);\n};\nexport function FaTrashAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M32 464a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128H32zm272-256a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zM432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaTrashRestoreAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M32 464a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128H32zm91.31-172.8l89.38-94.26a15.41 15.41 0 0 1 22.62 0l89.38 94.26c10.08 10.62 2.94 28.8-11.32 28.8H256v112a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16V320h-57.37c-14.26 0-21.4-18.18-11.32-28.8zM432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaTrashRestore (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M53.2 467a48 48 0 0 0 47.9 45h245.8a48 48 0 0 0 47.9-45L416 128H32zm70.11-175.8l89.38-94.26a15.41 15.41 0 0 1 22.62 0l89.38 94.26c10.08 10.62 2.94 28.8-11.32 28.8H256v112a16 16 0 0 1-16 16h-32a16 16 0 0 1-16-16V320h-57.37c-14.26 0-21.4-18.18-11.32-28.8zM432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaTrash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zM53.2 467a48 48 0 0 0 47.9 45h245.8a48 48 0 0 0 47.9-45L416 128H32z\"},\"child\":[]}]})(props);\n};\nexport function FaTree (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M378.31 378.49L298.42 288h30.63c9.01 0 16.98-5 20.78-13.06 3.8-8.04 2.55-17.26-3.28-24.05L268.42 160h28.89c9.1 0 17.3-5.35 20.86-13.61 3.52-8.13 1.86-17.59-4.24-24.08L203.66 4.83c-6.03-6.45-17.28-6.45-23.32 0L70.06 122.31c-6.1 6.49-7.75 15.95-4.24 24.08C69.38 154.65 77.59 160 86.69 160h28.89l-78.14 90.91c-5.81 6.78-7.06 15.99-3.27 24.04C37.97 283 45.93 288 54.95 288h30.63L5.69 378.49c-6 6.79-7.36 16.09-3.56 24.26 3.75 8.05 12 13.25 21.01 13.25H160v24.45l-30.29 48.4c-5.32 10.64 2.42 23.16 14.31 23.16h95.96c11.89 0 19.63-12.52 14.31-23.16L224 440.45V416h136.86c9.01 0 17.26-5.2 21.01-13.25 3.8-8.17 2.44-17.47-3.56-24.26z\"},\"child\":[]}]})(props);\n};\nexport function FaTrophy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M552 64H448V24c0-13.3-10.7-24-24-24H152c-13.3 0-24 10.7-24 24v40H24C10.7 64 0 74.7 0 88v56c0 35.7 22.5 72.4 61.9 100.7 31.5 22.7 69.8 37.1 110 41.7C203.3 338.5 240 360 240 360v72h-48c-35.3 0-64 20.7-64 56v12c0 6.6 5.4 12 12 12h296c6.6 0 12-5.4 12-12v-12c0-35.3-28.7-56-64-56h-48v-72s36.7-21.5 68.1-73.6c40.3-4.6 78.6-19 110-41.7 39.3-28.3 61.9-65 61.9-100.7V88c0-13.3-10.7-24-24-24zM99.3 192.8C74.9 175.2 64 155.6 64 144v-16h64.2c1 32.6 5.8 61.2 12.8 86.2-15.1-5.2-29.2-12.4-41.7-21.4zM512 144c0 16.1-17.7 36.1-35.3 48.8-12.5 9-26.7 16.2-41.8 21.4 7-25 11.8-53.6 12.8-86.2H512v16z\"},\"child\":[]}]})(props);\n};\nexport function FaTruckLoading (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M50.2 375.6c2.3 8.5 11.1 13.6 19.6 11.3l216.4-58c8.5-2.3 13.6-11.1 11.3-19.6l-49.7-185.5c-2.3-8.5-11.1-13.6-19.6-11.3L151 133.3l24.8 92.7-61.8 16.5-24.8-92.7-77.3 20.7C3.4 172.8-1.7 181.6.6 190.1l49.6 185.5zM384 0c-17.7 0-32 14.3-32 32v323.6L5.9 450c-4.3 1.2-6.8 5.6-5.6 9.8l12.6 46.3c1.2 4.3 5.6 6.8 9.8 5.6l393.7-107.4C418.8 464.1 467.6 512 528 512c61.9 0 112-50.1 112-112V0H384zm144 448c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48z\"},\"child\":[]}]})(props);\n};\nexport function FaTruckMonster (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M624 224h-16v-64c0-17.67-14.33-32-32-32h-73.6L419.22 24.02A64.025 64.025 0 0 0 369.24 0H256c-17.67 0-32 14.33-32 32v96H48c-8.84 0-16 7.16-16 16v80H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h16.72c29.21-38.65 75.1-64 127.28-64s98.07 25.35 127.28 64h65.45c29.21-38.65 75.1-64 127.28-64s98.07 25.35 127.28 64H624c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zm-336-96V64h81.24l51.2 64H288zm304 224h-5.2c-2.2-7.33-5.07-14.28-8.65-20.89l3.67-3.67c6.25-6.25 6.25-16.38 0-22.63l-22.63-22.63c-6.25-6.25-16.38-6.25-22.63 0l-3.67 3.67A110.85 110.85 0 0 0 512 277.2V272c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v5.2c-7.33 2.2-14.28 5.07-20.89 8.65l-3.67-3.67c-6.25-6.25-16.38-6.25-22.63 0l-22.63 22.63c-6.25 6.25-6.25 16.38 0 22.63l3.67 3.67A110.85 110.85 0 0 0 373.2 352H368c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h5.2c2.2 7.33 5.07 14.28 8.65 20.89l-3.67 3.67c-6.25 6.25-6.25 16.38 0 22.63l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0l3.67-3.67c6.61 3.57 13.57 6.45 20.9 8.65v5.2c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-5.2c7.33-2.2 14.28-5.07 20.9-8.65l3.67 3.67c6.25 6.25 16.38 6.25 22.63 0l22.63-22.63c6.25-6.25 6.25-16.38 0-22.63l-3.67-3.67a110.85 110.85 0 0 0 8.65-20.89h5.2c8.84 0 16-7.16 16-16v-32c-.02-8.84-7.18-16-16.02-16zm-112 80c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm-208-80h-5.2c-2.2-7.33-5.07-14.28-8.65-20.89l3.67-3.67c6.25-6.25 6.25-16.38 0-22.63l-22.63-22.63c-6.25-6.25-16.38-6.25-22.63 0l-3.67 3.67A110.85 110.85 0 0 0 192 277.2V272c0-8.84-7.16-16-16-16h-32c-8.84 0-16 7.16-16 16v5.2c-7.33 2.2-14.28 5.07-20.89 8.65l-3.67-3.67c-6.25-6.25-16.38-6.25-22.63 0L58.18 304.8c-6.25 6.25-6.25 16.38 0 22.63l3.67 3.67a110.85 110.85 0 0 0-8.65 20.89H48c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h5.2c2.2 7.33 5.07 14.28 8.65 20.89l-3.67 3.67c-6.25 6.25-6.25 16.38 0 22.63l22.63 22.63c6.25 6.25 16.38 6.25 22.63 0l3.67-3.67c6.61 3.57 13.57 6.45 20.9 8.65v5.2c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-5.2c7.33-2.2 14.28-5.07 20.9-8.65l3.67 3.67c6.25 6.25 16.38 6.25 22.63 0l22.63-22.63c6.25-6.25 6.25-16.38 0-22.63l-3.67-3.67a110.85 110.85 0 0 0 8.65-20.89h5.2c8.84 0 16-7.16 16-16v-32C288 359.16 280.84 352 272 352zm-112 80c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48z\"},\"child\":[]}]})(props);\n};\nexport function FaTruckMoving (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M621.3 237.3l-58.5-58.5c-12-12-28.3-18.7-45.3-18.7H480V64c0-17.7-14.3-32-32-32H32C14.3 32 0 46.3 0 64v336c0 44.2 35.8 80 80 80 26.3 0 49.4-12.9 64-32.4 14.6 19.6 37.7 32.4 64 32.4 44.2 0 80-35.8 80-80 0-5.5-.6-10.8-1.6-16h163.2c-1.1 5.2-1.6 10.5-1.6 16 0 44.2 35.8 80 80 80s80-35.8 80-80c0-5.5-.6-10.8-1.6-16H624c8.8 0 16-7.2 16-16v-85.5c0-17-6.7-33.2-18.7-45.2zM80 432c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32zm128 0c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32zm272-224h37.5c4.3 0 8.3 1.7 11.3 4.7l43.3 43.3H480v-48zm48 224c-17.6 0-32-14.4-32-32s14.4-32 32-32 32 14.4 32 32-14.4 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaTruckPickup (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M624 288h-16v-64c0-17.67-14.33-32-32-32h-48L419.22 56.02A64.025 64.025 0 0 0 369.24 32H256c-17.67 0-32 14.33-32 32v128H64c-17.67 0-32 14.33-32 32v64H16c-8.84 0-16 7.16-16 16v32c0 8.84 7.16 16 16 16h49.61c-.76 5.27-1.61 10.52-1.61 16 0 61.86 50.14 112 112 112s112-50.14 112-112c0-5.48-.85-10.73-1.61-16h67.23c-.76 5.27-1.61 10.52-1.61 16 0 61.86 50.14 112 112 112s112-50.14 112-112c0-5.48-.85-10.73-1.61-16H624c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM288 96h81.24l76.8 96H288V96zM176 416c-26.47 0-48-21.53-48-48s21.53-48 48-48 48 21.53 48 48-21.53 48-48 48zm288 0c-26.47 0-48-21.53-48-48s21.53-48 48-48 48 21.53 48 48-21.53 48-48 48z\"},\"child\":[]}]})(props);\n};\nexport function FaTruck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M624 352h-16V243.9c0-12.7-5.1-24.9-14.1-33.9L494 110.1c-9-9-21.2-14.1-33.9-14.1H416V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v320c0 26.5 21.5 48 48 48h16c0 53 43 96 96 96s96-43 96-96h128c0 53 43 96 96 96s96-43 96-96h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM160 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm320 0c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm80-208H416V144h44.1l99.9 99.9V256z\"},\"child\":[]}]})(props);\n};\nexport function FaTshirt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M631.2 96.5L436.5 0C416.4 27.8 371.9 47.2 320 47.2S223.6 27.8 203.5 0L8.8 96.5c-7.9 4-11.1 13.6-7.2 21.5l57.2 114.5c4 7.9 13.6 11.1 21.5 7.2l56.6-27.7c10.6-5.2 23 2.5 23 14.4V480c0 17.7 14.3 32 32 32h256c17.7 0 32-14.3 32-32V226.3c0-11.8 12.4-19.6 23-14.4l56.6 27.7c7.9 4 17.5.8 21.5-7.2L638.3 118c4-7.9.8-17.6-7.1-21.5z\"},\"child\":[]}]})(props);\n};\nexport function FaTty (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.37 103.822c138.532-138.532 362.936-138.326 501.262 0 6.078 6.078 7.074 15.496 2.583 22.681l-43.214 69.138a18.332 18.332 0 0 1-22.356 7.305l-86.422-34.569a18.335 18.335 0 0 1-11.434-18.846L351.741 90c-62.145-22.454-130.636-21.986-191.483 0l5.953 59.532a18.331 18.331 0 0 1-11.434 18.846l-86.423 34.568a18.334 18.334 0 0 1-22.356-7.305L2.787 126.502a18.333 18.333 0 0 1 2.583-22.68zM96 308v-40c0-6.627-5.373-12-12-12H44c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm-336 96v-40c0-6.627-5.373-12-12-12H92c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zM96 500v-40c0-6.627-5.373-12-12-12H44c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm288 0v-40c0-6.627-5.373-12-12-12H140c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h232c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12z\"},\"child\":[]}]})(props);\n};\nexport function FaTv (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M592 0H48A48 48 0 0 0 0 48v320a48 48 0 0 0 48 48h240v32H112a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16H352v-32h240a48 48 0 0 0 48-48V48a48 48 0 0 0-48-48zm-16 352H64V64h512z\"},\"child\":[]}]})(props);\n};\nexport function FaUmbrellaBeach (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M115.38 136.9l102.11 37.18c35.19-81.54 86.21-144.29 139-173.7-95.88-4.89-188.78 36.96-248.53 111.8-6.69 8.4-2.66 21.05 7.42 24.72zm132.25 48.16l238.48 86.83c35.76-121.38 18.7-231.66-42.63-253.98-7.4-2.7-15.13-4-23.09-4-58.02.01-128.27 69.17-172.76 171.15zM521.48 60.5c6.22 16.3 10.83 34.6 13.2 55.19 5.74 49.89-1.42 108.23-18.95 166.98l102.62 37.36c10.09 3.67 21.31-3.43 21.57-14.17 2.32-95.69-41.91-187.44-118.44-245.36zM560 447.98H321.06L386 269.5l-60.14-21.9-72.9 200.37H16c-8.84 0-16 7.16-16 16.01v32.01C0 504.83 7.16 512 16 512h544c8.84 0 16-7.17 16-16.01v-32.01c0-8.84-7.16-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaUmbrella (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M575.7 280.8C547.1 144.5 437.3 62.6 320 49.9V32c0-17.7-14.3-32-32-32s-32 14.3-32 32v17.9C138.3 62.6 29.5 144.5.3 280.8c-2.2 10.1 8.5 21.3 18.7 11.4 52-55 107.7-52.4 158.6 37 5.3 9.5 14.9 8.6 19.7 0 20.2-35.4 44.9-73.2 90.7-73.2 58.5 0 88.2 68.8 90.7 73.2 4.8 8.6 14.4 9.5 19.7 0 51-89.5 107.1-91.4 158.6-37 10.3 10 20.9-1.3 18.7-11.4zM256 301.7V432c0 8.8-7.2 16-16 16-7.8 0-13.2-5.3-15.1-10.7-5.9-16.7-24.1-25.4-40.8-19.5-16.7 5.9-25.4 24.2-19.5 40.8 11.2 31.9 41.6 53.3 75.4 53.3 44.1 0 80-35.9 80-80V301.6c-9.1-7.9-19.8-13.6-32-13.6-12.3.1-22.4 4.8-32 13.7z\"},\"child\":[]}]})(props);\n};\nexport function FaUnderline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M32 64h32v160c0 88.22 71.78 160 160 160s160-71.78 160-160V64h32a16 16 0 0 0 16-16V16a16 16 0 0 0-16-16H272a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h32v160a80 80 0 0 1-160 0V64h32a16 16 0 0 0 16-16V16a16 16 0 0 0-16-16H32a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16zm400 384H16a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaUndoAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M255.545 8c-66.269.119-126.438 26.233-170.86 68.685L48.971 40.971C33.851 25.851 8 36.559 8 57.941V192c0 13.255 10.745 24 24 24h134.059c21.382 0 32.09-25.851 16.971-40.971l-41.75-41.75c30.864-28.899 70.801-44.907 113.23-45.273 92.398-.798 170.283 73.977 169.484 169.442C423.236 348.009 349.816 424 256 424c-41.127 0-79.997-14.678-110.63-41.556-4.743-4.161-11.906-3.908-16.368.553L89.34 422.659c-4.872 4.872-4.631 12.815.482 17.433C133.798 479.813 192.074 504 256 504c136.966 0 247.999-111.033 248-247.998C504.001 119.193 392.354 7.755 255.545 8z\"},\"child\":[]}]})(props);\n};\nexport function FaUndo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M212.333 224.333H12c-6.627 0-12-5.373-12-12V12C0 5.373 5.373 0 12 0h48c6.627 0 12 5.373 12 12v78.112C117.773 39.279 184.26 7.47 258.175 8.007c136.906.994 246.448 111.623 246.157 248.532C504.041 393.258 393.12 504 256.333 504c-64.089 0-122.496-24.313-166.51-64.215-5.099-4.622-5.334-12.554-.467-17.42l33.967-33.967c4.474-4.474 11.662-4.717 16.401-.525C170.76 415.336 211.58 432 256.333 432c97.268 0 176-78.716 176-176 0-97.267-78.716-176-176-176-58.496 0-110.28 28.476-142.274 72.333h98.274c6.627 0 12 5.373 12 12v48c0 6.627-5.373 12-12 12z\"},\"child\":[]}]})(props);\n};\nexport function FaUniversalAccess (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 48c114.953 0 208 93.029 208 208 0 114.953-93.029 208-208 208-114.953 0-208-93.029-208-208 0-114.953 93.029-208 208-208m0-40C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 56C149.961 64 64 149.961 64 256s85.961 192 192 192 192-85.961 192-192S362.039 64 256 64zm0 44c19.882 0 36 16.118 36 36s-16.118 36-36 36-36-16.118-36-36 16.118-36 36-36zm117.741 98.023c-28.712 6.779-55.511 12.748-82.14 15.807.851 101.023 12.306 123.052 25.037 155.621 3.617 9.26-.957 19.698-10.217 23.315-9.261 3.617-19.699-.957-23.316-10.217-8.705-22.308-17.086-40.636-22.261-78.549h-9.686c-5.167 37.851-13.534 56.208-22.262 78.549-3.615 9.255-14.05 13.836-23.315 10.217-9.26-3.617-13.834-14.056-10.217-23.315 12.713-32.541 24.185-54.541 25.037-155.621-26.629-3.058-53.428-9.027-82.141-15.807-8.6-2.031-13.926-10.648-11.895-19.249s10.647-13.926 19.249-11.895c96.686 22.829 124.283 22.783 220.775 0 8.599-2.03 17.218 3.294 19.249 11.895 2.029 8.601-3.297 17.219-11.897 19.249z\"},\"child\":[]}]})(props);\n};\nexport function FaUniversity (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496 128v16a8 8 0 0 1-8 8h-24v12c0 6.627-5.373 12-12 12H60c-6.627 0-12-5.373-12-12v-12H24a8 8 0 0 1-8-8v-16a8 8 0 0 1 4.941-7.392l232-88a7.996 7.996 0 0 1 6.118 0l232 88A8 8 0 0 1 496 128zm-24 304H40c-13.255 0-24 10.745-24 24v16a8 8 0 0 0 8 8h464a8 8 0 0 0 8-8v-16c0-13.255-10.745-24-24-24zM96 192v192H60c-6.627 0-12 5.373-12 12v20h416v-20c0-6.627-5.373-12-12-12h-36V192h-64v192h-64V192h-64v192h-64V192H96z\"},\"child\":[]}]})(props);\n};\nexport function FaUnlink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M304.083 405.907c4.686 4.686 4.686 12.284 0 16.971l-44.674 44.674c-59.263 59.262-155.693 59.266-214.961 0-59.264-59.265-59.264-155.696 0-214.96l44.675-44.675c4.686-4.686 12.284-4.686 16.971 0l39.598 39.598c4.686 4.686 4.686 12.284 0 16.971l-44.675 44.674c-28.072 28.073-28.072 73.75 0 101.823 28.072 28.072 73.75 28.073 101.824 0l44.674-44.674c4.686-4.686 12.284-4.686 16.971 0l39.597 39.598zm-56.568-260.216c4.686 4.686 12.284 4.686 16.971 0l44.674-44.674c28.072-28.075 73.75-28.073 101.824 0 28.072 28.073 28.072 73.75 0 101.823l-44.675 44.674c-4.686 4.686-4.686 12.284 0 16.971l39.598 39.598c4.686 4.686 12.284 4.686 16.971 0l44.675-44.675c59.265-59.265 59.265-155.695 0-214.96-59.266-59.264-155.695-59.264-214.961 0l-44.674 44.674c-4.686 4.686-4.686 12.284 0 16.971l39.597 39.598zm234.828 359.28l22.627-22.627c9.373-9.373 9.373-24.569 0-33.941L63.598 7.029c-9.373-9.373-24.569-9.373-33.941 0L7.029 29.657c-9.373 9.373-9.373 24.569 0 33.941l441.373 441.373c9.373 9.372 24.569 9.372 33.941 0z\"},\"child\":[]}]})(props);\n};\nexport function FaUnlockAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 256H152V152.9c0-39.6 31.7-72.5 71.3-72.9 40-.4 72.7 32.1 72.7 72v16c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24v-16C376 68 307.5-.3 223.5 0 139.5.3 72 69.5 72 153.5V256H48c-26.5 0-48 21.5-48 48v160c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48zM264 408c0 22.1-17.9 40-40 40s-40-17.9-40-40v-48c0-22.1 17.9-40 40-40s40 17.9 40 40v48z\"},\"child\":[]}]})(props);\n};\nexport function FaUnlock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 256H152V152.9c0-39.6 31.7-72.5 71.3-72.9 40-.4 72.7 32.1 72.7 72v16c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24v-16C376 68 307.5-.3 223.5 0 139.5.3 72 69.5 72 153.5V256H48c-26.5 0-48 21.5-48 48v160c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48z\"},\"child\":[]}]})(props);\n};\nexport function FaUpload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M296 384h-80c-13.3 0-24-10.7-24-24V192h-87.7c-17.8 0-26.7-21.5-14.1-34.1L242.3 5.7c7.5-7.5 19.8-7.5 27.3 0l152.2 152.2c12.6 12.6 3.7 34.1-14.1 34.1H320v168c0 13.3-10.7 24-24 24zm216-8v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h136v8c0 30.9 25.1 56 56 56h80c30.9 0 56-25.1 56-56v-8h136c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z\"},\"child\":[]}]})(props);\n};\nexport function FaUserAltSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M633.8 458.1L389.6 269.3C433.8 244.7 464 198.1 464 144 464 64.5 399.5 0 320 0c-67.1 0-123 46.1-139 108.2L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4l588.4 454.7c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.4-6.8 4.1-16.9-2.9-22.3zM198.4 320C124.2 320 64 380.2 64 454.4v9.6c0 26.5 21.5 48 48 48h382.2L245.8 320h-47.4z\"},\"child\":[]}]})(props);\n};\nexport function FaUserAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 288c79.5 0 144-64.5 144-144S335.5 0 256 0 112 64.5 112 144s64.5 144 144 144zm128 32h-55.1c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16H128C57.3 320 0 377.3 0 448v16c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48v-16c0-70.7-57.3-128-128-128z\"},\"child\":[]}]})(props);\n};\nexport function FaUserAstronaut (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M64 224h13.5c24.7 56.5 80.9 96 146.5 96s121.8-39.5 146.5-96H384c8.8 0 16-7.2 16-16v-96c0-8.8-7.2-16-16-16h-13.5C345.8 39.5 289.6 0 224 0S102.2 39.5 77.5 96H64c-8.8 0-16 7.2-16 16v96c0 8.8 7.2 16 16 16zm40-88c0-22.1 21.5-40 48-40h144c26.5 0 48 17.9 48 40v24c0 53-43 96-96 96h-48c-53 0-96-43-96-96v-24zm72 72l12-36 36-12-36-12-12-36-12 36-36 12 36 12 12 36zm151.6 113.4C297.7 340.7 262.2 352 224 352s-73.7-11.3-103.6-30.6C52.9 328.5 0 385 0 454.4v9.6c0 26.5 21.5 48 48 48h80v-64c0-17.7 14.3-32 32-32h128c17.7 0 32 14.3 32 32v64h80c26.5 0 48-21.5 48-48v-9.6c0-69.4-52.9-125.9-120.4-133zM272 448c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zm-96 0c-8.8 0-16 7.2-16 16v48h32v-48c0-8.8-7.2-16-16-16z\"},\"child\":[]}]})(props);\n};\nexport function FaUserCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4zm323-128.4l-27.8-28.1c-4.6-4.7-12.1-4.7-16.8-.1l-104.8 104-45.5-45.8c-4.6-4.7-12.1-4.7-16.8-.1l-28.1 27.9c-4.7 4.6-4.7 12.1-.1 16.8l81.7 82.3c4.6 4.7 12.1 4.7 16.8.1l141.3-140.2c4.6-4.7 4.7-12.2.1-16.8z\"},\"child\":[]}]})(props);\n};\nexport function FaUserCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 96c48.6 0 88 39.4 88 88s-39.4 88-88 88-88-39.4-88-88 39.4-88 88-88zm0 344c-58.7 0-111.3-26.6-146.5-68.2 18.8-35.4 55.6-59.8 98.5-59.8 2.4 0 4.8.4 7.1 1.1 13 4.2 26.6 6.9 40.9 6.9 14.3 0 28-2.7 40.9-6.9 2.3-.7 4.7-1.1 7.1-1.1 42.9 0 79.7 24.4 98.5 59.8C359.3 421.4 306.7 448 248 448z\"},\"child\":[]}]})(props);\n};\nexport function FaUserClock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496 224c-79.6 0-144 64.4-144 144s64.4 144 144 144 144-64.4 144-144-64.4-144-144-144zm64 150.3c0 5.3-4.4 9.7-9.7 9.7h-60.6c-5.3 0-9.7-4.4-9.7-9.7v-76.6c0-5.3 4.4-9.7 9.7-9.7h12.6c5.3 0 9.7 4.4 9.7 9.7V352h38.3c5.3 0 9.7 4.4 9.7 9.7v12.6zM320 368c0-27.8 6.7-54.1 18.2-77.5-8-1.5-16.2-2.5-24.6-2.5h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h347.1c-45.3-31.9-75.1-84.5-75.1-144zm-96-112c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128z\"},\"child\":[]}]})(props);\n};\nexport function FaUserCog (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M610.5 373.3c2.6-14.1 2.6-28.5 0-42.6l25.8-14.9c3-1.7 4.3-5.2 3.3-8.5-6.7-21.6-18.2-41.2-33.2-57.4-2.3-2.5-6-3.1-9-1.4l-25.8 14.9c-10.9-9.3-23.4-16.5-36.9-21.3v-29.8c0-3.4-2.4-6.4-5.7-7.1-22.3-5-45-4.8-66.2 0-3.3.7-5.7 3.7-5.7 7.1v29.8c-13.5 4.8-26 12-36.9 21.3l-25.8-14.9c-2.9-1.7-6.7-1.1-9 1.4-15 16.2-26.5 35.8-33.2 57.4-1 3.3.4 6.8 3.3 8.5l25.8 14.9c-2.6 14.1-2.6 28.5 0 42.6l-25.8 14.9c-3 1.7-4.3 5.2-3.3 8.5 6.7 21.6 18.2 41.1 33.2 57.4 2.3 2.5 6 3.1 9 1.4l25.8-14.9c10.9 9.3 23.4 16.5 36.9 21.3v29.8c0 3.4 2.4 6.4 5.7 7.1 22.3 5 45 4.8 66.2 0 3.3-.7 5.7-3.7 5.7-7.1v-29.8c13.5-4.8 26-12 36.9-21.3l25.8 14.9c2.9 1.7 6.7 1.1 9-1.4 15-16.2 26.5-35.8 33.2-57.4 1-3.3-.4-6.8-3.3-8.5l-25.8-14.9zM496 400.5c-26.8 0-48.5-21.8-48.5-48.5s21.8-48.5 48.5-48.5 48.5 21.8 48.5 48.5-21.7 48.5-48.5 48.5zM224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm201.2 226.5c-2.3-1.2-4.6-2.6-6.8-3.9l-7.9 4.6c-6 3.4-12.8 5.3-19.6 5.3-10.9 0-21.4-4.6-28.9-12.6-18.3-19.8-32.3-43.9-40.2-69.6-5.5-17.7 1.9-36.4 17.9-45.7l7.9-4.6c-.1-2.6-.1-5.2 0-7.8l-7.9-4.6c-16-9.2-23.4-28-17.9-45.7.9-2.9 2.2-5.8 3.2-8.7-3.8-.3-7.5-1.2-11.4-1.2h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c10.1 0 19.5-3.2 27.2-8.5-1.2-3.8-2-7.7-2-11.8v-9.2z\"},\"child\":[]}]})(props);\n};\nexport function FaUserEdit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h274.9c-2.4-6.8-3.4-14-2.6-21.3l6.8-60.9 1.2-11.1 7.9-7.9 77.3-77.3c-24.5-27.7-60-45.5-99.9-45.5zm45.3 145.3l-6.8 61c-1.1 10.2 7.5 18.8 17.6 17.6l60.9-6.8 137.9-137.9-71.7-71.7-137.9 137.8zM633 268.9L595.1 231c-9.3-9.3-24.5-9.3-33.8 0l-37.8 37.8-4.1 4.1 71.8 71.7 41.8-41.8c9.3-9.4 9.3-24.5 0-33.9z\"},\"child\":[]}]})(props);\n};\nexport function FaUserFriends (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M192 256c61.9 0 112-50.1 112-112S253.9 32 192 32 80 82.1 80 144s50.1 112 112 112zm76.8 32h-8.3c-20.8 10-43.9 16-68.5 16s-47.6-6-68.5-16h-8.3C51.6 288 0 339.6 0 403.2V432c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48v-28.8c0-63.6-51.6-115.2-115.2-115.2zM480 256c53 0 96-43 96-96s-43-96-96-96-96 43-96 96 43 96 96 96zm48 32h-3.8c-13.9 4.8-28.6 8-44.2 8s-30.3-3.2-44.2-8H432c-20.4 0-39.2 5.9-55.7 15.4 24.4 26.3 39.7 61.2 39.7 99.8v38.4c0 2.2-.5 4.3-.6 6.4H592c26.5 0 48-21.5 48-48 0-61.9-50.1-112-112-112z\"},\"child\":[]}]})(props);\n};\nexport function FaUserGraduate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M319.4 320.6L224 416l-95.4-95.4C57.1 323.7 0 382.2 0 454.4v9.6c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-9.6c0-72.2-57.1-130.7-128.6-133.8zM13.6 79.8l6.4 1.5v58.4c-7 4.2-12 11.5-12 20.3 0 8.4 4.6 15.4 11.1 19.7L3.5 242c-1.7 6.9 2.1 14 7.6 14h41.8c5.5 0 9.3-7.1 7.6-14l-15.6-62.3C51.4 175.4 56 168.4 56 160c0-8.8-5-16.1-12-20.3V87.1l66 15.9c-8.6 17.2-14 36.4-14 57 0 70.7 57.3 128 128 128s128-57.3 128-128c0-20.6-5.3-39.8-14-57l96.3-23.2c18.2-4.4 18.2-27.1 0-31.5l-190.4-46c-13-3.1-26.7-3.1-39.7 0L13.6 48.2c-18.1 4.4-18.1 27.2 0 31.6z\"},\"child\":[]}]})(props);\n};\nexport function FaUserInjured (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M277.37 11.98C261.08 4.47 243.11 0 224 0c-53.69 0-99.5 33.13-118.51 80h81.19l90.69-68.02zM342.51 80c-7.9-19.47-20.67-36.2-36.49-49.52L239.99 80h102.52zM224 256c70.69 0 128-57.31 128-128 0-5.48-.95-10.7-1.61-16H97.61c-.67 5.3-1.61 10.52-1.61 16 0 70.69 57.31 128 128 128zM80 299.7V512h128.26l-98.45-221.52A132.835 132.835 0 0 0 80 299.7zM0 464c0 26.51 21.49 48 48 48V320.24C18.88 344.89 0 381.26 0 422.4V464zm256-48h-55.38l42.67 96H256c26.47 0 48-21.53 48-48s-21.53-48-48-48zm57.6-128h-16.71c-22.24 10.18-46.88 16-72.89 16s-50.65-5.82-72.89-16h-7.37l42.67 96H256c44.11 0 80 35.89 80 80 0 18.08-6.26 34.59-16.41 48H400c26.51 0 48-21.49 48-48v-41.6c0-74.23-60.17-134.4-134.4-134.4z\"},\"child\":[]}]})(props);\n};\nexport function FaUserLock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 256A128 128 0 1 0 96 128a128 128 0 0 0 128 128zm96 64a63.08 63.08 0 0 1 8.1-30.5c-4.8-.5-9.5-1.5-14.5-1.5h-16.7a174.08 174.08 0 0 1-145.8 0h-16.7A134.43 134.43 0 0 0 0 422.4V464a48 48 0 0 0 48 48h280.9a63.54 63.54 0 0 1-8.9-32zm288-32h-32v-80a80 80 0 0 0-160 0v80h-32a32 32 0 0 0-32 32v160a32 32 0 0 0 32 32h224a32 32 0 0 0 32-32V320a32 32 0 0 0-32-32zM496 432a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm32-144h-64v-80a32 32 0 0 1 64 0z\"},\"child\":[]}]})(props);\n};\nexport function FaUserMd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zM104 424c0 13.3 10.7 24 24 24s24-10.7 24-24-10.7-24-24-24-24 10.7-24 24zm216-135.4v49c36.5 7.4 64 39.8 64 78.4v41.7c0 7.6-5.4 14.2-12.9 15.7l-32.2 6.4c-4.3.9-8.5-1.9-9.4-6.3l-3.1-15.7c-.9-4.3 1.9-8.6 6.3-9.4l19.3-3.9V416c0-62.8-96-65.1-96 1.9v26.7l19.3 3.9c4.3.9 7.1 5.1 6.3 9.4l-3.1 15.7c-.9 4.3-5.1 7.1-9.4 6.3l-31.2-4.2c-7.9-1.1-13.8-7.8-13.8-15.9V416c0-38.6 27.5-70.9 64-78.4v-45.2c-2.2.7-4.4 1.1-6.6 1.9-18 6.3-37.3 9.8-57.4 9.8s-39.4-3.5-57.4-9.8c-7.4-2.6-14.9-4.2-22.6-5.2v81.6c23.1 6.9 40 28.1 40 53.4 0 30.9-25.1 56-56 56s-56-25.1-56-56c0-25.3 16.9-46.5 40-53.4v-80.4C48.5 301 0 355.8 0 422.4v44.8C0 491.9 20.1 512 44.8 512h358.4c24.7 0 44.8-20.1 44.8-44.8v-44.8c0-72-56.8-130.3-128-133.8z\"},\"child\":[]}]})(props);\n};\nexport function FaUserMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M624 208H432c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h192c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm-400 48c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z\"},\"child\":[]}]})(props);\n};\nexport function FaUserNinja (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M325.4 289.2L224 390.6 122.6 289.2C54 295.3 0 352.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-70.2-54-127.1-122.6-133.2zM32 192c27.3 0 51.8-11.5 69.2-29.7 15.1 53.9 64 93.7 122.8 93.7 70.7 0 128-57.3 128-128S294.7 0 224 0c-50.4 0-93.6 29.4-114.5 71.8C92.1 47.8 64 32 32 32c0 33.4 17.1 62.8 43.1 80-26 17.2-43.1 46.6-43.1 80zm144-96h96c17.7 0 32 14.3 32 32H144c0-17.7 14.3-32 32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaUserNurse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M319.41,320,224,415.39,128.59,320C57.1,323.1,0,381.6,0,453.79A58.21,58.21,0,0,0,58.21,512H389.79A58.21,58.21,0,0,0,448,453.79C448,381.6,390.9,323.1,319.41,320ZM224,304A128,128,0,0,0,352,176V65.82a32,32,0,0,0-20.76-30L246.47,4.07a64,64,0,0,0-44.94,0L116.76,35.86A32,32,0,0,0,96,65.82V176A128,128,0,0,0,224,304ZM184,71.67a5,5,0,0,1,5-5h21.67V45a5,5,0,0,1,5-5h16.66a5,5,0,0,1,5,5V66.67H259a5,5,0,0,1,5,5V88.33a5,5,0,0,1-5,5H237.33V115a5,5,0,0,1-5,5H215.67a5,5,0,0,1-5-5V93.33H189a5,5,0,0,1-5-5ZM144,160H304v16a80,80,0,0,1-160,0Z\"},\"child\":[]}]})(props);\n};\nexport function FaUserPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M624 208h-64v-64c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v64h-64c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h64v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-64h64c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm-400 48c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z\"},\"child\":[]}]})(props);\n};\nexport function FaUserSecret (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M383.9 308.3l23.9-62.6c4-10.5-3.7-21.7-15-21.7h-58.5c11-18.9 17.8-40.6 17.8-64v-.3c39.2-7.8 64-19.1 64-31.7 0-13.3-27.3-25.1-70.1-33-9.2-32.8-27-65.8-40.6-82.8-9.5-11.9-25.9-15.6-39.5-8.8l-27.6 13.8c-9 4.5-19.6 4.5-28.6 0L182.1 3.4c-13.6-6.8-30-3.1-39.5 8.8-13.5 17-31.4 50-40.6 82.8-42.7 7.9-70 19.7-70 33 0 12.6 24.8 23.9 64 31.7v.3c0 23.4 6.8 45.1 17.8 64H56.3c-11.5 0-19.2 11.7-14.7 22.3l25.8 60.2C27.3 329.8 0 372.7 0 422.4v44.8C0 491.9 20.1 512 44.8 512h358.4c24.7 0 44.8-20.1 44.8-44.8v-44.8c0-48.4-25.8-90.4-64.1-114.1zM176 480l-41.6-192 49.6 32 24 40-32 120zm96 0l-32-120 24-40 49.6-32L272 480zm41.7-298.5c-3.9 11.9-7 24.6-16.5 33.4-10.1 9.3-48 22.4-64-25-2.8-8.4-15.4-8.4-18.3 0-17 50.2-56 32.4-64 25-9.5-8.8-12.7-21.5-16.5-33.4-.8-2.5-6.3-5.7-6.3-5.8v-10.8c28.3 3.6 61 5.8 96 5.8s67.7-2.1 96-5.8v10.8c-.1.1-5.6 3.2-6.4 5.8z\"},\"child\":[]}]})(props);\n};\nexport function FaUserShield (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M622.3 271.1l-115.2-45c-4.1-1.6-12.6-3.7-22.2 0l-115.2 45c-10.7 4.2-17.7 14-17.7 24.9 0 111.6 68.7 188.8 132.9 213.9 9.6 3.7 18 1.6 22.2 0C558.4 489.9 640 420.5 640 296c0-10.9-7-20.7-17.7-24.9zM496 462.4V273.3l95.5 37.3c-5.6 87.1-60.9 135.4-95.5 151.8zM224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm96 40c0-2.5.8-4.8 1.1-7.2-2.5-.1-4.9-.8-7.5-.8h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c6.8 0 13.3-1.5 19.2-4-54-42.9-99.2-116.7-99.2-212z\"},\"child\":[]}]})(props);\n};\nexport function FaUserSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M633.8 458.1L362.3 248.3C412.1 230.7 448 183.8 448 128 448 57.3 390.7 0 320 0c-67.1 0-121.5 51.8-126.9 117.4L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4l588.4 454.7c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.4-6.8 4.1-16.9-2.9-22.3zM96 422.4V464c0 26.5 21.5 48 48 48h350.2L207.4 290.3C144.2 301.3 96 356 96 422.4z\"},\"child\":[]}]})(props);\n};\nexport function FaUserTag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M630.6 364.9l-90.3-90.2c-12-12-28.3-18.7-45.3-18.7h-79.3c-17.7 0-32 14.3-32 32v79.2c0 17 6.7 33.2 18.7 45.2l90.3 90.2c12.5 12.5 32.8 12.5 45.3 0l92.5-92.5c12.6-12.5 12.6-32.7.1-45.2zm-182.8-21c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24c0 13.2-10.7 24-24 24zm-223.8-88c70.7 0 128-57.3 128-128C352 57.3 294.7 0 224 0S96 57.3 96 128c0 70.6 57.3 127.9 128 127.9zm127.8 111.2V294c-12.2-3.6-24.9-6.2-38.2-6.2h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 287.9 0 348.1 0 422.3v41.6c0 26.5 21.5 48 48 48h352c15.5 0 29.1-7.5 37.9-18.9l-58-58c-18.1-18.1-28.1-42.2-28.1-67.9z\"},\"child\":[]}]})(props);\n};\nexport function FaUserTie (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm95.8 32.6L272 480l-32-136 32-56h-96l32 56-32 136-47.8-191.4C56.9 292 0 350.3 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-72.1-56.9-130.4-128.2-133.8z\"},\"child\":[]}]})(props);\n};\nexport function FaUserTimes (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M589.6 240l45.6-45.6c6.3-6.3 6.3-16.5 0-22.8l-22.8-22.8c-6.3-6.3-16.5-6.3-22.8 0L544 194.4l-45.6-45.6c-6.3-6.3-16.5-6.3-22.8 0l-22.8 22.8c-6.3 6.3-6.3 16.5 0 22.8l45.6 45.6-45.6 45.6c-6.3 6.3-6.3 16.5 0 22.8l22.8 22.8c6.3 6.3 16.5 6.3 22.8 0l45.6-45.6 45.6 45.6c6.3 6.3 16.5 6.3 22.8 0l22.8-22.8c6.3-6.3 6.3-16.5 0-22.8L589.6 240zM224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z\"},\"child\":[]}]})(props);\n};\nexport function FaUser (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z\"},\"child\":[]}]})(props);\n};\nexport function FaUsersCog (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M610.5 341.3c2.6-14.1 2.6-28.5 0-42.6l25.8-14.9c3-1.7 4.3-5.2 3.3-8.5-6.7-21.6-18.2-41.2-33.2-57.4-2.3-2.5-6-3.1-9-1.4l-25.8 14.9c-10.9-9.3-23.4-16.5-36.9-21.3v-29.8c0-3.4-2.4-6.4-5.7-7.1-22.3-5-45-4.8-66.2 0-3.3.7-5.7 3.7-5.7 7.1v29.8c-13.5 4.8-26 12-36.9 21.3l-25.8-14.9c-2.9-1.7-6.7-1.1-9 1.4-15 16.2-26.5 35.8-33.2 57.4-1 3.3.4 6.8 3.3 8.5l25.8 14.9c-2.6 14.1-2.6 28.5 0 42.6l-25.8 14.9c-3 1.7-4.3 5.2-3.3 8.5 6.7 21.6 18.2 41.1 33.2 57.4 2.3 2.5 6 3.1 9 1.4l25.8-14.9c10.9 9.3 23.4 16.5 36.9 21.3v29.8c0 3.4 2.4 6.4 5.7 7.1 22.3 5 45 4.8 66.2 0 3.3-.7 5.7-3.7 5.7-7.1v-29.8c13.5-4.8 26-12 36.9-21.3l25.8 14.9c2.9 1.7 6.7 1.1 9-1.4 15-16.2 26.5-35.8 33.2-57.4 1-3.3-.4-6.8-3.3-8.5l-25.8-14.9zM496 368.5c-26.8 0-48.5-21.8-48.5-48.5s21.8-48.5 48.5-48.5 48.5 21.8 48.5 48.5-21.7 48.5-48.5 48.5zM96 224c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm224 32c1.9 0 3.7-.5 5.6-.6 8.3-21.7 20.5-42.1 36.3-59.2 7.4-8 17.9-12.6 28.9-12.6 6.9 0 13.7 1.8 19.6 5.3l7.9 4.6c.8-.5 1.6-.9 2.4-1.4 7-14.6 11.2-30.8 11.2-48 0-61.9-50.1-112-112-112S208 82.1 208 144c0 61.9 50.1 112 112 112zm105.2 194.5c-2.3-1.2-4.6-2.6-6.8-3.9-8.2 4.8-15.3 9.8-27.5 9.8-10.9 0-21.4-4.6-28.9-12.6-18.3-19.8-32.3-43.9-40.2-69.6-10.7-34.5 24.9-49.7 25.8-50.3-.1-2.6-.1-5.2 0-7.8l-7.9-4.6c-3.8-2.2-7-5-9.8-8.1-3.3.2-6.5.6-9.8.6-24.6 0-47.6-6-68.5-16h-8.3C179.6 288 128 339.6 128 403.2V432c0 26.5 21.5 48 48 48h255.4c-3.7-6-6.2-12.8-6.2-20.3v-9.2zM173.1 274.6C161.5 263.1 145.6 256 128 256H64c-35.3 0-64 28.7-64 64v32c0 17.7 14.3 32 32 32h65.9c6.3-47.4 34.9-87.3 75.2-109.4z\"},\"child\":[]}]})(props);\n};\nexport function FaUsersSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M132.65,212.32,36.21,137.78A63.4,63.4,0,0,0,32,160a63.84,63.84,0,0,0,100.65,52.32Zm40.44,62.28A63.79,63.79,0,0,0,128,256H64A64.06,64.06,0,0,0,0,320v32a32,32,0,0,0,32,32H97.91A146.62,146.62,0,0,1,173.09,274.6ZM544,224a64,64,0,1,0-64-64A64.06,64.06,0,0,0,544,224ZM500.56,355.11a114.24,114.24,0,0,0-84.47-65.28L361,247.23c41.46-16.3,71-55.92,71-103.23A111.93,111.93,0,0,0,320,32c-57.14,0-103.69,42.83-110.6,98.08L45.46,3.38A16,16,0,0,0,23,6.19L3.37,31.46A16,16,0,0,0,6.18,53.91L594.53,508.63A16,16,0,0,0,617,505.82l19.64-25.27a16,16,0,0,0-2.81-22.45ZM128,403.21V432a48,48,0,0,0,48,48H464a47.45,47.45,0,0,0,12.57-1.87L232,289.13C173.74,294.83,128,343.42,128,403.21ZM576,256H512a63.79,63.79,0,0,0-45.09,18.6A146.29,146.29,0,0,1,542,384h66a32,32,0,0,0,32-32V320A64.06,64.06,0,0,0,576,256Z\"},\"child\":[]}]})(props);\n};\nexport function FaUsers (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M96 224c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm448 0c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm32 32h-64c-17.6 0-33.5 7.1-45.1 18.6 40.3 22.1 68.9 62 75.1 109.4h66c17.7 0 32-14.3 32-32v-32c0-35.3-28.7-64-64-64zm-256 0c61.9 0 112-50.1 112-112S381.9 32 320 32 208 82.1 208 144s50.1 112 112 112zm76.8 32h-8.3c-20.8 10-43.9 16-68.5 16s-47.6-6-68.5-16h-8.3C179.6 288 128 339.6 128 403.2V432c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48v-28.8c0-63.6-51.6-115.2-115.2-115.2zm-223.7-13.4C161.5 263.1 145.6 256 128 256H64c-35.3 0-64 28.7-64 64v32c0 17.7 14.3 32 32 32h65.9c6.3-47.4 34.9-87.3 75.2-109.4z\"},\"child\":[]}]})(props);\n};\nexport function FaUtensilSpoon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M480.1 31.9c-55-55.1-164.9-34.5-227.8 28.5-49.3 49.3-55.1 110-28.8 160.4L9 413.2c-11.6 10.5-12.1 28.5-1 39.5L59.3 504c11 11 29.1 10.5 39.5-1.1l192.4-214.4c50.4 26.3 111.1 20.5 160.4-28.8 63-62.9 83.6-172.8 28.5-227.8z\"},\"child\":[]}]})(props);\n};\nexport function FaUtensils (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 416 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M207.9 15.2c.8 4.7 16.1 94.5 16.1 128.8 0 52.3-27.8 89.6-68.9 104.6L168 486.7c.7 13.7-10.2 25.3-24 25.3H80c-13.7 0-24.7-11.5-24-25.3l12.9-238.1C27.7 233.6 0 196.2 0 144 0 109.6 15.3 19.9 16.1 15.2 19.3-5.1 61.4-5.4 64 16.3v141.2c1.3 3.4 15.1 3.2 16 0 1.4-25.3 7.9-139.2 8-141.8 3.3-20.8 44.7-20.8 47.9 0 .2 2.7 6.6 116.5 8 141.8.9 3.2 14.8 3.4 16 0V16.3c2.6-21.6 44.8-21.4 48-1.1zm119.2 285.7l-15 185.1c-1.2 14 9.9 26 23.9 26h56c13.3 0 24-10.7 24-24V24c0-13.2-10.7-24-24-24-82.5 0-221.4 178.5-64.9 300.9z\"},\"child\":[]}]})(props);\n};\nexport function FaVectorSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 128V32c0-17.67-14.33-32-32-32h-96c-17.67 0-32 14.33-32 32H160c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v96c0 17.67 14.33 32 32 32v192c-17.67 0-32 14.33-32 32v96c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32h192c0 17.67 14.33 32 32 32h96c17.67 0 32-14.33 32-32v-96c0-17.67-14.33-32-32-32V160c17.67 0 32-14.33 32-32zm-96-64h32v32h-32V64zM64 64h32v32H64V64zm32 384H64v-32h32v32zm352 0h-32v-32h32v32zm-32-96h-32c-17.67 0-32 14.33-32 32v32H160v-32c0-17.67-14.33-32-32-32H96V160h32c17.67 0 32-14.33 32-32V96h192v32c0 17.67 14.33 32 32 32h32v192z\"},\"child\":[]}]})(props);\n};\nexport function FaVenusDouble (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 176c0-79.5-64.5-144-144-144S0 96.5 0 176c0 68.5 47.9 125.9 112 140.4V368H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v36c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-36h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-51.6c64.1-14.5 112-71.9 112-140.4zm-224 0c0-44.1 35.9-80 80-80s80 35.9 80 80-35.9 80-80 80-80-35.9-80-80zm336 140.4V368h36c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-36v36c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-36h-36c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h36v-51.6c-21.2-4.8-40.6-14.3-57.2-27.3 14-16.7 25-36 32.1-57.1 14.5 14.8 34.7 24 57.1 24 44.1 0 80-35.9 80-80s-35.9-80-80-80c-22.3 0-42.6 9.2-57.1 24-7.1-21.1-18-40.4-32.1-57.1C303.4 43.6 334.3 32 368 32c79.5 0 144 64.5 144 144 0 68.5-47.9 125.9-112 140.4z\"},\"child\":[]}]})(props);\n};\nexport function FaVenusMars (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M564 0h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-48.7 48.7C422.5 72.1 396.2 64 368 64c-33.7 0-64.6 11.6-89.2 30.9 14 16.7 25 36 32.1 57.1 14.5-14.8 34.7-24 57.1-24 44.1 0 80 35.9 80 80s-35.9 80-80 80c-22.3 0-42.6-9.2-57.1-24-7.1 21.1-18 40.4-32.1 57.1 24.5 19.4 55.5 30.9 89.2 30.9 79.5 0 144-64.5 144-144 0-28.2-8.1-54.5-22.1-76.7l48.7-48.7 16.9 16.9c2.4 2.4 5.4 3.5 8.4 3.5 6.2 0 12.1-4.8 12.1-12V12c0-6.6-5.4-12-12-12zM144 64C64.5 64 0 128.5 0 208c0 68.5 47.9 125.9 112 140.4V400H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v36c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-36h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-51.6c64.1-14.6 112-71.9 112-140.4 0-79.5-64.5-144-144-144zm0 224c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z\"},\"child\":[]}]})(props);\n};\nexport function FaVenus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 288 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 176c0-79.5-64.5-144-144-144S0 96.5 0 176c0 68.5 47.9 125.9 112 140.4V368H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v36c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-36h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-51.6c64.1-14.5 112-71.9 112-140.4zm-224 0c0-44.1 35.9-80 80-80s80 35.9 80 80-35.9 80-80 80-80-35.9-80-80z\"},\"child\":[]}]})(props);\n};\nexport function FaVestPatches (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M437.252,239.877,384,160V32A32,32,0,0,0,352,0H320a23.982,23.982,0,0,0-13.312,4.031l-25,16.672a103.794,103.794,0,0,1-115.376,0l-25-16.672A23.982,23.982,0,0,0,128,0H96A32,32,0,0,0,64,32V160L10.748,239.877A64,64,0,0,0,0,275.377V480a32,32,0,0,0,32,32H192V288a31.987,31.987,0,0,1,1.643-10.119L207.135,237.4,150.188,66.561A151.579,151.579,0,0,0,224,86.234a151.565,151.565,0,0,0,73.811-19.668L224,288V512H416a32,32,0,0,0,32-32V275.377A64,64,0,0,0,437.252,239.877ZM63.5,272.484a12.01,12.01,0,0,1,17-16.968l15.5,15.5,15.5-15.5a12.01,12.01,0,0,1,17,16.968L112.984,288,128.5,303.516a12.01,12.01,0,0,1-17,16.968L96,304.984l-15.5,15.5a12.01,12.01,0,0,1-17-16.968L79.016,288ZM96,456a40,40,0,1,1,40-40A40,40,0,0,1,96,456ZM359.227,335.785,310.7,336a6.671,6.671,0,0,1-6.7-6.7l.215-48.574A24.987,24.987,0,0,1,331.43,256.1c12.789,1.162,22.129,12.619,22.056,25.419l-.037,5.057,5.051-.037c12.826-.035,24.236,9.275,25.4,22.076A24.948,24.948,0,0,1,359.227,335.785Z\"},\"child\":[]}]})(props);\n};\nexport function FaVest (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M437.252,239.877,384,160V32A32,32,0,0,0,352,0H320a24.021,24.021,0,0,0-13.312,4.031l-25,16.672a103.794,103.794,0,0,1-115.376,0l-25-16.672A24.021,24.021,0,0,0,128,0H96A32,32,0,0,0,64,32V160L10.748,239.877A64,64,0,0,0,0,275.377V480a32,32,0,0,0,32,32H192V288a31.987,31.987,0,0,1,1.643-10.119L207.135,237.4,150.188,66.564A151.518,151.518,0,0,0,224,86.234a151.55,151.55,0,0,0,73.812-19.672L224,288V512H416a32,32,0,0,0,32-32V275.377A64,64,0,0,0,437.252,239.877ZM131.312,371.312l-48,48a16,16,0,0,1-22.624-22.624l48-48a16,16,0,0,1,22.624,22.624Zm256,48a15.992,15.992,0,0,1-22.624,0l-48-48a16,16,0,0,1,22.624-22.624l48,48A15.993,15.993,0,0,1,387.312,419.312Z\"},\"child\":[]}]})(props);\n};\nexport function FaVial (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 480 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M477.7 186.1L309.5 18.3c-3.1-3.1-8.2-3.1-11.3 0l-34 33.9c-3.1 3.1-3.1 8.2 0 11.3l11.2 11.1L33 316.5c-38.8 38.7-45.1 102-9.4 143.5 20.6 24 49.5 36 78.4 35.9 26.4 0 52.8-10 72.9-30.1l246.3-245.7 11.2 11.1c3.1 3.1 8.2 3.1 11.3 0l34-33.9c3.1-3 3.1-8.1 0-11.2zM318 256H161l148-147.7 78.5 78.3L318 256z\"},\"child\":[]}]})(props);\n};\nexport function FaVials (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M72 64h24v240c0 44.1 35.9 80 80 80s80-35.9 80-80V64h24c4.4 0 8-3.6 8-8V8c0-4.4-3.6-8-8-8H72c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm72 0h64v96h-64V64zm480 384H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM360 64h24v240c0 44.1 35.9 80 80 80s80-35.9 80-80V64h24c4.4 0 8-3.6 8-8V8c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8zm72 0h64v96h-64V64z\"},\"child\":[]}]})(props);\n};\nexport function FaVideoSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M633.8 458.1l-55-42.5c15.4-1.4 29.2-13.7 29.2-31.1v-257c0-25.5-29.1-40.4-50.4-25.8L448 177.3v137.2l-32-24.7v-178c0-26.4-21.4-47.8-47.8-47.8H123.9L45.5 3.4C38.5-2 28.5-.8 23 6.2L3.4 31.4c-5.4 7-4.2 17 2.8 22.4L42.7 82 416 370.6l178.5 138c7 5.4 17 4.2 22.5-2.8l19.6-25.3c5.5-6.9 4.2-17-2.8-22.4zM32 400.2c0 26.4 21.4 47.8 47.8 47.8h288.4c11.2 0 21.4-4 29.6-10.5L32 154.7v245.5z\"},\"child\":[]}]})(props);\n};\nexport function FaVideo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M336.2 64H47.8C21.4 64 0 85.4 0 111.8v288.4C0 426.6 21.4 448 47.8 448h288.4c26.4 0 47.8-21.4 47.8-47.8V111.8c0-26.4-21.4-47.8-47.8-47.8zm189.4 37.7L416 177.3v157.4l109.6 75.5c21.2 14.6 50.4-.3 50.4-25.8V127.5c0-25.4-29.1-40.4-50.4-25.8z\"},\"child\":[]}]})(props);\n};\nexport function FaVihara (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M632.88 400.71L544 352v-64l55.16-17.69c11.79-5.9 11.79-22.72 0-28.62L480 192v-64l27.31-16.3c7.72-7.72 5.61-20.74-4.16-25.62L320 0 136.85 86.07c-9.77 4.88-11.88 17.9-4.16 25.62L160 128v64L40.84 241.69c-11.79 5.9-11.79 22.72 0 28.62L96 288v64L7.12 400.71c-5.42 3.62-7.7 9.63-7 15.29.62 5.01 3.57 9.75 8.72 12.33L64 448v48c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-48h160v48c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-48h160v48c0 8.84 7.16 16 16 16h32c8.84 0 16-7.16 16-16v-48l55.15-19.67c5.16-2.58 8.1-7.32 8.72-12.33.71-5.67-1.57-11.68-6.99-15.29zM224 128h192v64H224v-64zm-64 224v-64h320v64H160z\"},\"child\":[]}]})(props);\n};\nexport function FaVirusSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M114,227.6H92.4C76.7,227.6,64,240.3,64,256s12.7,28.4,28.4,28.4H114c50.7,0,76.1,61.3,40.2,97.1L139,396.8 c-11.5,10.7-12.2,28.7-1.6,40.2s28.7,12.2,40.2,1.6c0.5-0.5,1.1-1,1.6-1.6l15.2-15.2c35.8-35.8,97.1-10.5,97.1,40.2v21.5 c0,15.7,12.8,28.4,28.5,28.4c15.7,0,28.4-12.7,28.4-28.4V462c0-26.6,17-45.9,38.2-53.4l-244.5-189 C133.7,224.7,123.9,227.5,114,227.6z M617,505.8l19.6-25.3c5.4-7,4.2-17-2.8-22.5L470.6,332c4.2-25.4,24.9-47.5,55.4-47.5h21.5 c15.7,0,28.4-12.7,28.4-28.4s-12.7-28.4-28.4-28.4H526c-50.7,0-76.1-61.3-40.2-97.1l15.2-15.3c10.7-11.5,10-29.5-1.6-40.2 c-10.9-10.1-27.7-10.1-38.6,0l-15.2,15.2c-35.8,35.8-97.1,10.5-97.1-40.2V28.5C348.4,12.7,335.7,0,320,0 c-15.7,0-28.4,12.7-28.4,28.4V50c0,50.7-61.3,76.1-97.1,40.2L179.2,75c-11.1-11.1-29.4-10.6-40.5,0.5L45.5,3.4 c-7-5.4-17-4.2-22.5,2.8L3.4,31.5c-5.4,7-4.2,17,2.8,22.5l588.4,454.7C601.5,514.1,611.6,512.8,617,505.8z M335.4,227.5l-62.9-48.6 c4.9-1.8,10.2-2.8,15.4-2.9c26.5,0,48,21.5,48,48C336,225.2,335.5,226.3,335.4,227.5z\"},\"child\":[]}]})(props);\n};\nexport function FaVirus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M483.55,227.55H462c-50.68,0-76.07-61.27-40.23-97.11L437,115.19A28.44,28.44,0,0,0,396.8,75L381.56,90.22c-35.84,35.83-97.11,10.45-97.11-40.23V28.44a28.45,28.45,0,0,0-56.9,0V50c0,50.68-61.27,76.06-97.11,40.23L115.2,75A28.44,28.44,0,0,0,75,115.19l15.25,15.25c35.84,35.84,10.45,97.11-40.23,97.11H28.45a28.45,28.45,0,1,0,0,56.89H50c50.68,0,76.07,61.28,40.23,97.12L75,396.8A28.45,28.45,0,0,0,115.2,437l15.24-15.25c35.84-35.84,97.11-10.45,97.11,40.23v21.54a28.45,28.45,0,0,0,56.9,0V462c0-50.68,61.27-76.07,97.11-40.23L396.8,437A28.45,28.45,0,0,0,437,396.8l-15.25-15.24c-35.84-35.84-10.45-97.12,40.23-97.12h21.54a28.45,28.45,0,1,0,0-56.89ZM224,272a48,48,0,1,1,48-48A48,48,0,0,1,224,272Zm80,56a24,24,0,1,1,24-24A24,24,0,0,1,304,328Z\"},\"child\":[]}]})(props);\n};\nexport function FaViruses (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M624,352H611.88c-28.51,0-42.79-34.47-22.63-54.63l8.58-8.57a16,16,0,1,0-22.63-22.63l-8.57,8.58C546.47,294.91,512,280.63,512,252.12V240a16,16,0,0,0-32,0v12.12c0,28.51-34.47,42.79-54.63,22.63l-8.57-8.58a16,16,0,0,0-22.63,22.63l8.58,8.57c20.16,20.16,5.88,54.63-22.63,54.63H368a16,16,0,0,0,0,32h12.12c28.51,0,42.79,34.47,22.63,54.63l-8.58,8.57a16,16,0,1,0,22.63,22.63l8.57-8.58c20.16-20.16,54.63-5.88,54.63,22.63V496a16,16,0,0,0,32,0V483.88c0-28.51,34.47-42.79,54.63-22.63l8.57,8.58a16,16,0,1,0,22.63-22.63l-8.58-8.57C569.09,418.47,583.37,384,611.88,384H624a16,16,0,0,0,0-32ZM480,384a32,32,0,1,1,32-32A32,32,0,0,1,480,384ZM346.51,213.33h16.16a21.33,21.33,0,0,0,0-42.66H346.51c-38,0-57.05-46-30.17-72.84l11.43-11.44A21.33,21.33,0,0,0,297.6,56.23L286.17,67.66c-26.88,26.88-72.84,7.85-72.84-30.17V21.33a21.33,21.33,0,0,0-42.66,0V37.49c0,38-46,57.05-72.84,30.17L86.4,56.23A21.33,21.33,0,0,0,56.23,86.39L67.66,97.83c26.88,26.88,7.85,72.84-30.17,72.84H21.33a21.33,21.33,0,0,0,0,42.66H37.49c38,0,57.05,46,30.17,72.84L56.23,297.6A21.33,21.33,0,1,0,86.4,327.77l11.43-11.43c26.88-26.88,72.84-7.85,72.84,30.17v16.16a21.33,21.33,0,0,0,42.66,0V346.51c0-38,46-57.05,72.84-30.17l11.43,11.43a21.33,21.33,0,0,0,30.17-30.17l-11.43-11.43C289.46,259.29,308.49,213.33,346.51,213.33ZM160,192a32,32,0,1,1,32-32A32,32,0,0,1,160,192Zm80,32a16,16,0,1,1,16-16A16,16,0,0,1,240,224Z\"},\"child\":[]}]})(props);\n};\nexport function FaVoicemail (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496 128a144 144 0 0 0-119.74 224H263.74A144 144 0 1 0 144 416h352a144 144 0 0 0 0-288zM64 272a80 80 0 1 1 80 80 80 80 0 0 1-80-80zm432 80a80 80 0 1 1 80-80 80 80 0 0 1-80 80z\"},\"child\":[]}]})(props);\n};\nexport function FaVolleyballBall (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M231.39 243.48a285.56 285.56 0 0 0-22.7-105.7c-90.8 42.4-157.5 122.4-180.3 216.8a249 249 0 0 0 56.9 81.1 333.87 333.87 0 0 1 146.1-192.2zm-36.9-134.4a284.23 284.23 0 0 0-57.4-70.7c-91 49.8-144.8 152.9-125 262.2 33.4-83.1 98.4-152 182.4-191.5zm187.6 165.1c8.6-99.8-27.3-197.5-97.5-264.4-14.7-1.7-51.6-5.5-98.9 8.5A333.87 333.87 0 0 1 279.19 241a285 285 0 0 0 102.9 33.18zm-124.7 9.5a286.33 286.33 0 0 0-80.2 72.6c82 57.3 184.5 75.1 277.5 47.8a247.15 247.15 0 0 0 42.2-89.9 336.1 336.1 0 0 1-80.9 10.4c-54.6-.1-108.9-14.1-158.6-40.9zm-98.3 99.7c-15.2 26-25.7 54.4-32.1 84.2a247.07 247.07 0 0 0 289-22.1c-112.9 16.1-203.3-24.8-256.9-62.1zm180.3-360.6c55.3 70.4 82.5 161.2 74.6 253.6a286.59 286.59 0 0 0 89.7-14.2c0-2 .3-4 .3-6 0-107.8-68.7-199.1-164.6-233.4z\"},\"child\":[]}]})(props);\n};\nexport function FaVolumeDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M215.03 72.04L126.06 161H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V89.02c0-21.47-25.96-31.98-40.97-16.98zm123.2 108.08c-11.58-6.33-26.19-2.16-32.61 9.45-6.39 11.61-2.16 26.2 9.45 32.61C327.98 229.28 336 242.62 336 257c0 14.38-8.02 27.72-20.92 34.81-11.61 6.41-15.84 21-9.45 32.61 6.43 11.66 21.05 15.8 32.61 9.45 28.23-15.55 45.77-45 45.77-76.88s-17.54-61.32-45.78-76.87z\"},\"child\":[]}]})(props);\n};\nexport function FaVolumeMute (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M215.03 71.05L126.06 160H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V88.02c0-21.46-25.96-31.98-40.97-16.97zM461.64 256l45.64-45.64c6.3-6.3 6.3-16.52 0-22.82l-22.82-22.82c-6.3-6.3-16.52-6.3-22.82 0L416 210.36l-45.64-45.64c-6.3-6.3-16.52-6.3-22.82 0l-22.82 22.82c-6.3 6.3-6.3 16.52 0 22.82L370.36 256l-45.63 45.63c-6.3 6.3-6.3 16.52 0 22.82l22.82 22.82c6.3 6.3 16.52 6.3 22.82 0L416 301.64l45.64 45.64c6.3 6.3 16.52 6.3 22.82 0l22.82-22.82c6.3-6.3 6.3-16.52 0-22.82L461.64 256z\"},\"child\":[]}]})(props);\n};\nexport function FaVolumeOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 256 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M215 71l-89 89H24a24 24 0 0 0-24 24v144a24 24 0 0 0 24 24h102.06L215 441c15 15 41 4.47 41-17V88c0-21.47-26-32-41-17z\"},\"child\":[]}]})(props);\n};\nexport function FaVolumeUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M215.03 71.05L126.06 160H24c-13.26 0-24 10.74-24 24v144c0 13.25 10.74 24 24 24h102.06l88.97 88.95c15.03 15.03 40.97 4.47 40.97-16.97V88.02c0-21.46-25.96-31.98-40.97-16.97zm233.32-51.08c-11.17-7.33-26.18-4.24-33.51 6.95-7.34 11.17-4.22 26.18 6.95 33.51 66.27 43.49 105.82 116.6 105.82 195.58 0 78.98-39.55 152.09-105.82 195.58-11.17 7.32-14.29 22.34-6.95 33.5 7.04 10.71 21.93 14.56 33.51 6.95C528.27 439.58 576 351.33 576 256S528.27 72.43 448.35 19.97zM480 256c0-63.53-32.06-121.94-85.77-156.24-11.19-7.14-26.03-3.82-33.12 7.46s-3.78 26.21 7.41 33.36C408.27 165.97 432 209.11 432 256s-23.73 90.03-63.48 115.42c-11.19 7.14-14.5 22.07-7.41 33.36 6.51 10.36 21.12 15.14 33.12 7.46C447.94 377.94 480 319.54 480 256zm-141.77-76.87c-11.58-6.33-26.19-2.16-32.61 9.45-6.39 11.61-2.16 26.2 9.45 32.61C327.98 228.28 336 241.63 336 256c0 14.38-8.02 27.72-20.92 34.81-11.61 6.41-15.84 21-9.45 32.61 6.43 11.66 21.05 15.8 32.61 9.45 28.23-15.55 45.77-45 45.77-76.88s-17.54-61.32-45.78-76.86z\"},\"child\":[]}]})(props);\n};\nexport function FaVoteYea (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M608 320h-64v64h22.4c5.3 0 9.6 3.6 9.6 8v16c0 4.4-4.3 8-9.6 8H73.6c-5.3 0-9.6-3.6-9.6-8v-16c0-4.4 4.3-8 9.6-8H96v-64H32c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32h576c17.7 0 32-14.3 32-32v-96c0-17.7-14.3-32-32-32zm-96 64V64.3c0-17.9-14.5-32.3-32.3-32.3H160.4C142.5 32 128 46.5 128 64.3V384h384zM211.2 202l25.5-25.3c4.2-4.2 11-4.2 15.2.1l41.3 41.6 95.2-94.4c4.2-4.2 11-4.2 15.2.1l25.3 25.5c4.2 4.2 4.2 11-.1 15.2L300.5 292c-4.2 4.2-11 4.2-15.2-.1l-74.1-74.7c-4.3-4.2-4.2-11 0-15.2z\"},\"child\":[]}]})(props);\n};\nexport function FaVrCardboard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M608 64H32C14.33 64 0 78.33 0 96v320c0 17.67 14.33 32 32 32h160.22c25.19 0 48.03-14.77 58.36-37.74l27.74-61.64C286.21 331.08 302.35 320 320 320s33.79 11.08 41.68 28.62l27.74 61.64C399.75 433.23 422.6 448 447.78 448H608c17.67 0 32-14.33 32-32V96c0-17.67-14.33-32-32-32zM160 304c-35.35 0-64-28.65-64-64s28.65-64 64-64 64 28.65 64 64-28.65 64-64 64zm320 0c-35.35 0-64-28.65-64-64s28.65-64 64-64 64 28.65 64 64-28.65 64-64 64z\"},\"child\":[]}]})(props);\n};\nexport function FaWalking (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 320 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M208 96c26.5 0 48-21.5 48-48S234.5 0 208 0s-48 21.5-48 48 21.5 48 48 48zm94.5 149.1l-23.3-11.8-9.7-29.4c-14.7-44.6-55.7-75.8-102.2-75.9-36-.1-55.9 10.1-93.3 25.2-21.6 8.7-39.3 25.2-49.7 46.2L17.6 213c-7.8 15.8-1.5 35 14.2 42.9 15.6 7.9 34.6 1.5 42.5-14.3L81 228c3.5-7 9.3-12.5 16.5-15.4l26.8-10.8-15.2 60.7c-5.2 20.8.4 42.9 14.9 58.8l59.9 65.4c7.2 7.9 12.3 17.4 14.9 27.7l18.3 73.3c4.3 17.1 21.7 27.6 38.8 23.3 17.1-4.3 27.6-21.7 23.3-38.8l-22.2-89c-2.6-10.3-7.7-19.9-14.9-27.7l-45.5-49.7 17.2-68.7 5.5 16.5c5.3 16.1 16.7 29.4 31.7 37l23.3 11.8c15.6 7.9 34.6 1.5 42.5-14.3 7.7-15.7 1.4-35.1-14.3-43zM73.6 385.8c-3.2 8.1-8 15.4-14.2 21.5l-50 50.1c-12.5 12.5-12.5 32.8 0 45.3s32.7 12.5 45.2 0l59.4-59.4c6.1-6.1 10.9-13.4 14.2-21.5l13.5-33.8c-55.3-60.3-38.7-41.8-47.4-53.7l-20.7 51.5z\"},\"child\":[]}]})(props);\n};\nexport function FaWallet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M461.2 128H80c-8.84 0-16-7.16-16-16s7.16-16 16-16h384c8.84 0 16-7.16 16-16 0-26.51-21.49-48-48-48H64C28.65 32 0 60.65 0 96v320c0 35.35 28.65 64 64 64h397.2c28.02 0 50.8-21.53 50.8-48V176c0-26.47-22.78-48-50.8-48zM416 336c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaWarehouse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M504 352H136.4c-4.4 0-8 3.6-8 8l-.1 48c0 4.4 3.6 8 8 8H504c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm0 96H136.1c-4.4 0-8 3.6-8 8l-.1 48c0 4.4 3.6 8 8 8h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm0-192H136.6c-4.4 0-8 3.6-8 8l-.1 48c0 4.4 3.6 8 8 8H504c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm106.5-139L338.4 3.7a48.15 48.15 0 0 0-36.9 0L29.5 117C11.7 124.5 0 141.9 0 161.3V504c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8V256c0-17.6 14.6-32 32.6-32h382.8c18 0 32.6 14.4 32.6 32v248c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8V161.3c0-19.4-11.7-36.8-29.5-44.3z\"},\"child\":[]}]})(props);\n};\nexport function FaWater (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M562.1 383.9c-21.5-2.4-42.1-10.5-57.9-22.9-14.1-11.1-34.2-11.3-48.2 0-37.9 30.4-107.2 30.4-145.7-1.5-13.5-11.2-33-9.1-46.7 1.8-38 30.1-106.9 30-145.2-1.7-13.5-11.2-33.3-8.9-47.1 2-15.5 12.2-36 20.1-57.7 22.4-7.9.8-13.6 7.8-13.6 15.7v32.2c0 9.1 7.6 16.8 16.7 16 28.8-2.5 56.1-11.4 79.4-25.9 56.5 34.6 137 34.1 192 0 56.5 34.6 137 34.1 192 0 23.3 14.2 50.9 23.3 79.1 25.8 9.1.8 16.7-6.9 16.7-16v-31.6c.1-8-5.7-15.4-13.8-16.3zm0-144c-21.5-2.4-42.1-10.5-57.9-22.9-14.1-11.1-34.2-11.3-48.2 0-37.9 30.4-107.2 30.4-145.7-1.5-13.5-11.2-33-9.1-46.7 1.8-38 30.1-106.9 30-145.2-1.7-13.5-11.2-33.3-8.9-47.1 2-15.5 12.2-36 20.1-57.7 22.4-7.9.8-13.6 7.8-13.6 15.7v32.2c0 9.1 7.6 16.8 16.7 16 28.8-2.5 56.1-11.4 79.4-25.9 56.5 34.6 137 34.1 192 0 56.5 34.6 137 34.1 192 0 23.3 14.2 50.9 23.3 79.1 25.8 9.1.8 16.7-6.9 16.7-16v-31.6c.1-8-5.7-15.4-13.8-16.3zm0-144C540.6 93.4 520 85.4 504.2 73 490.1 61.9 470 61.7 456 73c-37.9 30.4-107.2 30.4-145.7-1.5-13.5-11.2-33-9.1-46.7 1.8-38 30.1-106.9 30-145.2-1.7-13.5-11.2-33.3-8.9-47.1 2-15.5 12.2-36 20.1-57.7 22.4-7.9.8-13.6 7.8-13.6 15.7v32.2c0 9.1 7.6 16.8 16.7 16 28.8-2.5 56.1-11.4 79.4-25.9 56.5 34.6 137 34.1 192 0 56.5 34.6 137 34.1 192 0 23.3 14.2 50.9 23.3 79.1 25.8 9.1.8 16.7-6.9 16.7-16v-31.6c.1-8-5.7-15.4-13.8-16.3z\"},\"child\":[]}]})(props);\n};\nexport function FaWaveSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M476 480H324a36 36 0 0 1-36-36V96h-96v156a36 36 0 0 1-36 36H16a16 16 0 0 1-16-16v-32a16 16 0 0 1 16-16h112V68a36 36 0 0 1 36-36h152a36 36 0 0 1 36 36v348h96V260a36 36 0 0 1 36-36h140a16 16 0 0 1 16 16v32a16 16 0 0 1-16 16H512v156a36 36 0 0 1-36 36z\"},\"child\":[]}]})(props);\n};\nexport function FaWeightHanging (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M510.28 445.86l-73.03-292.13c-3.8-15.19-16.44-25.72-30.87-25.72h-60.25c3.57-10.05 5.88-20.72 5.88-32 0-53.02-42.98-96-96-96s-96 42.98-96 96c0 11.28 2.3 21.95 5.88 32h-60.25c-14.43 0-27.08 10.54-30.87 25.72L1.72 445.86C-6.61 479.17 16.38 512 48.03 512h415.95c31.64 0 54.63-32.83 46.3-66.14zM256 128c-17.64 0-32-14.36-32-32s14.36-32 32-32 32 14.36 32 32-14.36 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaWeight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 64h-25.98C438.44 92.28 448 125.01 448 160c0 105.87-86.13 192-192 192S64 265.87 64 160c0-34.99 9.56-67.72 25.98-96H64C28.71 64 0 92.71 0 128v320c0 35.29 28.71 64 64 64h384c35.29 0 64-28.71 64-64V128c0-35.29-28.71-64-64-64zM256 320c88.37 0 160-71.63 160-160S344.37 0 256 0 96 71.63 96 160s71.63 160 160 160zm-.3-151.94l33.58-78.36c3.5-8.17 12.94-11.92 21.03-8.41 8.12 3.48 11.88 12.89 8.41 21l-33.67 78.55C291.73 188 296 197.45 296 208c0 22.09-17.91 40-40 40s-40-17.91-40-40c0-21.98 17.76-39.77 39.7-39.94z\"},\"child\":[]}]})(props);\n};\nexport function FaWheelchair (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M496.101 385.669l14.227 28.663c3.929 7.915.697 17.516-7.218 21.445l-65.465 32.886c-16.049 7.967-35.556 1.194-43.189-15.055L331.679 320H192c-15.925 0-29.426-11.71-31.679-27.475C126.433 55.308 128.38 70.044 128 64c0-36.358 30.318-65.635 67.052-63.929 33.271 1.545 60.048 28.905 60.925 62.201.868 32.933-23.152 60.423-54.608 65.039l4.67 32.69H336c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16H215.182l4.572 32H352a32 32 0 0 1 28.962 18.392L438.477 396.8l36.178-18.349c7.915-3.929 17.517-.697 21.446 7.218zM311.358 352h-24.506c-7.788 54.204-54.528 96-110.852 96-61.757 0-112-50.243-112-112 0-41.505 22.694-77.809 56.324-97.156-3.712-25.965-6.844-47.86-9.488-66.333C45.956 198.464 0 261.963 0 336c0 97.047 78.953 176 176 176 71.87 0 133.806-43.308 161.11-105.192L311.358 352z\"},\"child\":[]}]})(props);\n};\nexport function FaWifi (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M634.91 154.88C457.74-8.99 182.19-8.93 5.09 154.88c-6.66 6.16-6.79 16.59-.35 22.98l34.24 33.97c6.14 6.1 16.02 6.23 22.4.38 145.92-133.68 371.3-133.71 517.25 0 6.38 5.85 16.26 5.71 22.4-.38l34.24-33.97c6.43-6.39 6.3-16.82-.36-22.98zM320 352c-35.35 0-64 28.65-64 64s28.65 64 64 64 64-28.65 64-64-28.65-64-64-64zm202.67-83.59c-115.26-101.93-290.21-101.82-405.34 0-6.9 6.1-7.12 16.69-.57 23.15l34.44 33.99c6 5.92 15.66 6.32 22.05.8 83.95-72.57 209.74-72.41 293.49 0 6.39 5.52 16.05 5.13 22.05-.8l34.44-33.99c6.56-6.46 6.33-17.06-.56-23.15z\"},\"child\":[]}]})(props);\n};\nexport function FaWind (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M156.7 256H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h142.2c15.9 0 30.8 10.9 33.4 26.6 3.3 20-12.1 37.4-31.6 37.4-14.1 0-26.1-9.2-30.4-21.9-2.1-6.3-8.6-10.1-15.2-10.1H81.6c-9.8 0-17.7 8.8-15.9 18.4 8.6 44.1 47.6 77.6 94.2 77.6 57.1 0 102.7-50.1 95.2-108.6C249 291 205.4 256 156.7 256zM16 224h336c59.7 0 106.8-54.8 93.8-116.7-7.6-36.2-36.9-65.5-73.1-73.1-55.4-11.6-105.1 24.9-114.9 75.5-1.9 9.6 6.1 18.3 15.8 18.3h32.8c6.7 0 13.1-3.8 15.2-10.1C325.9 105.2 337.9 96 352 96c19.4 0 34.9 17.4 31.6 37.4-2.6 15.7-17.4 26.6-33.4 26.6H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16zm384 32H243.7c19.3 16.6 33.2 38.8 39.8 64H400c26.5 0 48 21.5 48 48s-21.5 48-48 48c-17.9 0-33.3-9.9-41.6-24.4-2.9-5-8.7-7.6-14.5-7.6h-33.8c-10.9 0-19 10.8-15.3 21.1 17.8 50.6 70.5 84.8 129.4 72.3 41.2-8.7 75.1-41.6 84.7-82.7C526 321.5 470.5 256 400 256z\"},\"child\":[]}]})(props);\n};\nexport function FaWindowClose (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-83.6 290.5c4.8 4.8 4.8 12.6 0 17.4l-40.5 40.5c-4.8 4.8-12.6 4.8-17.4 0L256 313.3l-66.5 67.1c-4.8 4.8-12.6 4.8-17.4 0l-40.5-40.5c-4.8-4.8-4.8-12.6 0-17.4l67.1-66.5-67.1-66.5c-4.8-4.8-4.8-12.6 0-17.4l40.5-40.5c4.8-4.8 12.6-4.8 17.4 0l66.5 67.1 66.5-67.1c4.8-4.8 12.6-4.8 17.4 0l40.5 40.5c4.8 4.8 4.8 12.6 0 17.4L313.3 256l67.1 66.5z\"},\"child\":[]}]})(props);\n};\nexport function FaWindowMaximize (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-16 160H64v-84c0-6.6 5.4-12 12-12h360c6.6 0 12 5.4 12 12v84z\"},\"child\":[]}]})(props);\n};\nexport function FaWindowMinimize (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 352H48c-26.5 0-48 21.5-48 48v32c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48v-32c0-26.5-21.5-48-48-48z\"},\"child\":[]}]})(props);\n};\nexport function FaWindowRestore (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M512 48v288c0 26.5-21.5 48-48 48h-48V176c0-44.1-35.9-80-80-80H128V48c0-26.5 21.5-48 48-48h288c26.5 0 48 21.5 48 48zM384 176v288c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V176c0-26.5 21.5-48 48-48h288c26.5 0 48 21.5 48 48zm-68 28c0-6.6-5.4-12-12-12H76c-6.6 0-12 5.4-12 12v52h252v-52z\"},\"child\":[]}]})(props);\n};\nexport function FaWineBottle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M507.31 72.57L439.43 4.69c-6.25-6.25-16.38-6.25-22.63 0l-22.63 22.63c-6.25 6.25-6.25 16.38 0 22.63l-76.67 76.67c-46.58-19.7-102.4-10.73-140.37 27.23L18.75 312.23c-24.99 24.99-24.99 65.52 0 90.51l90.51 90.51c24.99 24.99 65.52 24.99 90.51 0l158.39-158.39c37.96-37.96 46.93-93.79 27.23-140.37l76.67-76.67c6.25 6.25 16.38 6.25 22.63 0l22.63-22.63c6.24-6.24 6.24-16.37-.01-22.62zM179.22 423.29l-90.51-90.51 122.04-122.04 90.51 90.51-122.04 122.04z\"},\"child\":[]}]})(props);\n};\nexport function FaWineGlassAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 288 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M216 464h-40V346.81c68.47-15.89 118.05-79.91 111.4-154.16l-15.95-178.1C270.71 6.31 263.9 0 255.74 0H32.26c-8.15 0-14.97 6.31-15.7 14.55L.6 192.66C-6.05 266.91 43.53 330.93 112 346.82V464H72c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h208c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40zM61.75 48h164.5l7.17 80H54.58l7.17-80z\"},\"child\":[]}]})(props);\n};\nexport function FaWineGlass (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 288 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M216 464h-40V346.81c68.47-15.89 118.05-79.91 111.4-154.16l-15.95-178.1C270.71 6.31 263.9 0 255.74 0H32.26c-8.15 0-14.97 6.31-15.7 14.55L.6 192.66C-6.05 266.91 43.53 330.93 112 346.82V464H72c-22.09 0-40 17.91-40 40 0 4.42 3.58 8 8 8h208c4.42 0 8-3.58 8-8 0-22.09-17.91-40-40-40z\"},\"child\":[]}]})(props);\n};\nexport function FaWonSign (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M564 192c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-48l18.6-80.6c1.7-7.5-4-14.7-11.7-14.7h-46.1c-5.7 0-10.6 4-11.7 9.5L450.7 128H340.8l-19.7-86c-1.3-5.5-6.1-9.3-11.7-9.3h-44c-5.6 0-10.4 3.8-11.7 9.3l-20 86H125l-17.5-85.7c-1.1-5.6-6.1-9.6-11.8-9.6H53.6c-7.7 0-13.4 7.1-11.7 14.6L60 128H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h62.3l7.2 32H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h83.9l40.9 182.6c1.2 5.5 6.1 9.4 11.7 9.4h56.8c5.6 0 10.4-3.9 11.7-9.3L259.3 288h55.1l42.4 182.7c1.3 5.4 6.1 9.3 11.7 9.3h56.8c5.6 0 10.4-3.9 11.7-9.3L479.1 288H564c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-70.1l7.4-32zM183.8 342c-6.2 25.8-6.8 47.2-7.3 47.2h-1.1s-1.7-22-6.8-47.2l-11-54h38.8zm27.5-118h-66.8l-6.5-32h80.8zm62.9 0l2-8.6c1.9-8 3.5-16 4.8-23.4h11.8c1.3 7.4 2.9 15.4 4.8 23.4l2 8.6zm130.9 118c-5.1 25.2-6.8 47.2-6.8 47.2h-1.1c-.6 0-1.1-21.4-7.3-47.2l-12.4-54h39.1zm25.2-118h-67.4l-7.3-32h81.6z\"},\"child\":[]}]})(props);\n};\nexport function FaWrench (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M507.73 109.1c-2.24-9.03-13.54-12.09-20.12-5.51l-74.36 74.36-67.88-11.31-11.31-67.88 74.36-74.36c6.62-6.62 3.43-17.9-5.66-20.16-47.38-11.74-99.55.91-136.58 37.93-39.64 39.64-50.55 97.1-34.05 147.2L18.74 402.76c-24.99 24.99-24.99 65.51 0 90.5 24.99 24.99 65.51 24.99 90.5 0l213.21-213.21c50.12 16.71 107.47 5.68 147.37-34.22 37.07-37.07 49.7-89.32 37.91-136.73zM64 472c-13.25 0-24-10.75-24-24 0-13.26 10.75-24 24-24s24 10.74 24 24c0 13.25-10.75 24-24 24z\"},\"child\":[]}]})(props);\n};\nexport function FaXRay (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M240 384c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zm160 32c8.8 0 16-7.2 16-16s-7.2-16-16-16-16 7.2-16 16 7.2 16 16 16zM624 0H16C7.2 0 0 7.2 0 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16zm0 448h-48V96H64v352H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM480 248c0 4.4-3.6 8-8 8H336v32h104c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H336v32h64c26.5 0 48 21.5 48 48s-21.5 48-48 48-48-21.5-48-48v-16h-64v16c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48h64v-32H200c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h104v-32H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h136v-32H200c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h104v-24c0-4.4 3.6-8 8-8h16c4.4 0 8 3.6 8 8v24h104c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H336v32h136c4.4 0 8 3.6 8 8v16z\"},\"child\":[]}]})(props);\n};\nexport function FaYenSign (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M351.2 32h-65.3c-4.6 0-8.8 2.6-10.8 6.7l-55.4 113.2c-14.5 34.7-27.1 71.9-27.1 71.9h-1.3s-12.6-37.2-27.1-71.9L108.8 38.7c-2-4.1-6.2-6.7-10.8-6.7H32.8c-9.1 0-14.8 9.7-10.6 17.6L102.3 200H44c-6.6 0-12 5.4-12 12v32c0 6.6 5.4 12 12 12h88.2l19.8 37.2V320H44c-6.6 0-12 5.4-12 12v32c0 6.6 5.4 12 12 12h108v92c0 6.6 5.4 12 12 12h56c6.6 0 12-5.4 12-12v-92h108c6.6 0 12-5.4 12-12v-32c0-6.6-5.4-12-12-12H232v-26.8l19.8-37.2H340c6.6 0 12-5.4 12-12v-32c0-6.6-5.4-12-12-12h-58.3l80.1-150.4c4.3-7.9-1.5-17.6-10.6-17.6z\"},\"child\":[]}]})(props);\n};\nexport function FaYinYang (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 376c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-128c-53.02 0-96 42.98-96 96s42.98 96 96 96c-106.04 0-192-85.96-192-192S141.96 64 248 64c53.02 0 96 42.98 96 96s-42.98 96-96 96zm0-128c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaRegAddressBook (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M436 160c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h320c26.5 0 48-21.5 48-48v-48h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20v-64h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20v-64h20zm-68 304H48V48h320v416zM208 256c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm-89.6 128h179.2c12.4 0 22.4-8.6 22.4-19.2v-19.2c0-31.8-30.1-57.6-67.2-57.6-10.8 0-18.7 8-44.8 8-26.9 0-33.4-8-44.8-8-37.1 0-67.2 25.8-67.2 57.6v19.2c0 10.6 10 19.2 22.4 19.2z\"},\"child\":[]}]})(props);\n};\nexport function FaRegAddressCard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 400H48V80h480v352zM208 256c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm-89.6 128h179.2c12.4 0 22.4-8.6 22.4-19.2v-19.2c0-31.8-30.1-57.6-67.2-57.6-10.8 0-18.7 8-44.8 8-26.9 0-33.4-8-44.8-8-37.1 0-67.2 25.8-67.2 57.6v19.2c0 10.6 10 19.2 22.4 19.2zM360 320h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm0-64h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm0-64h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8z\"},\"child\":[]}]})(props);\n};\nexport function FaRegAngry (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm0-144c-33.6 0-65.2 14.8-86.8 40.6-8.5 10.2-7.1 25.3 3.1 33.8s25.3 7.2 33.8-3c24.8-29.7 75-29.7 99.8 0 8.1 9.7 23.2 11.9 33.8 3 10.2-8.5 11.5-23.6 3.1-33.8-21.6-25.8-53.2-40.6-86.8-40.6zm-48-72c10.3 0 19.9-6.7 23-17.1 3.8-12.7-3.4-26.1-16.1-29.9l-80-24c-12.8-3.9-26.1 3.4-29.9 16.1-3.8 12.7 3.4 26.1 16.1 29.9l28.2 8.5c-3.1 4.9-5.3 10.4-5.3 16.6 0 17.7 14.3 32 32 32s32-14.4 32-32.1zm199-54.9c-3.8-12.7-17.1-19.9-29.9-16.1l-80 24c-12.7 3.8-19.9 17.2-16.1 29.9 3.1 10.4 12.7 17.1 23 17.1 0 17.7 14.3 32 32 32s32-14.3 32-32c0-6.2-2.2-11.7-5.3-16.6l28.2-8.5c12.7-3.7 19.9-17.1 16.1-29.8z\"},\"child\":[]}]})(props);\n};\nexport function FaRegArrowAltCircleDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm-32-316v116h-67c-10.7 0-16 12.9-8.5 20.5l99 99c4.7 4.7 12.3 4.7 17 0l99-99c7.6-7.6 2.2-20.5-8.5-20.5h-67V140c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12z\"},\"child\":[]}]})(props);\n};\nexport function FaRegArrowAltCircleLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 256c0 137 111 248 248 248s248-111 248-248S393 8 256 8 8 119 8 256zm448 0c0 110.5-89.5 200-200 200S56 366.5 56 256 145.5 56 256 56s200 89.5 200 200zm-72-20v40c0 6.6-5.4 12-12 12H256v67c0 10.7-12.9 16-20.5 8.5l-99-99c-4.7-4.7-4.7-12.3 0-17l99-99c7.6-7.6 20.5-2.2 20.5 8.5v67h116c6.6 0 12 5.4 12 12z\"},\"child\":[]}]})(props);\n};\nexport function FaRegArrowAltCircleRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M504 256C504 119 393 8 256 8S8 119 8 256s111 248 248 248 248-111 248-248zm-448 0c0-110.5 89.5-200 200-200s200 89.5 200 200-89.5 200-200 200S56 366.5 56 256zm72 20v-40c0-6.6 5.4-12 12-12h116v-67c0-10.7 12.9-16 20.5-8.5l99 99c4.7 4.7 4.7 12.3 0 17l-99 99c-7.6 7.6-20.5 2.2-20.5-8.5v-67H140c-6.6 0-12-5.4-12-12z\"},\"child\":[]}]})(props);\n};\nexport function FaRegArrowAltCircleUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 504c137 0 248-111 248-248S393 8 256 8 8 119 8 256s111 248 248 248zm0-448c110.5 0 200 89.5 200 200s-89.5 200-200 200S56 366.5 56 256 145.5 56 256 56zm20 328h-40c-6.6 0-12-5.4-12-12V256h-67c-10.7 0-16-12.9-8.5-20.5l99-99c4.7-4.7 12.3-4.7 17 0l99 99c7.6 7.6 2.2 20.5-8.5 20.5h-67v116c0 6.6-5.4 12-12 12z\"},\"child\":[]}]})(props);\n};\nexport function FaRegBellSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M633.99 471.02L36 3.51C29.1-2.01 19.03-.9 13.51 6l-10 12.49C-2.02 25.39-.9 35.46 6 40.98l598 467.51c6.9 5.52 16.96 4.4 22.49-2.49l10-12.49c5.52-6.9 4.41-16.97-2.5-22.49zM163.53 368c16.71-22.03 34.48-55.8 41.4-110.58l-45.47-35.55c-3.27 90.73-36.47 120.68-54.84 140.42-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h279.66l-61.4-48H163.53zM320 96c61.86 0 112 50.14 112 112 0 .2-.06.38-.06.58.02 16.84 1.16 31.77 2.79 45.73l59.53 46.54c-8.31-22.13-14.34-51.49-14.34-92.85 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84c-26.02 5.41-49.45 16.94-69.13 32.72l38.17 29.84C275 103.18 296.65 96 320 96zm0 416c35.32 0 63.97-28.65 63.97-64H256.03c0 35.35 28.65 64 63.97 64z\"},\"child\":[]}]})(props);\n};\nexport function FaRegBell (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M439.39 362.29c-19.32-20.76-55.47-51.99-55.47-154.29 0-77.7-54.48-139.9-127.94-155.16V32c0-17.67-14.32-32-31.98-32s-31.98 14.33-31.98 32v20.84C118.56 68.1 64.08 130.3 64.08 208c0 102.3-36.15 133.53-55.47 154.29-6 6.45-8.66 14.16-8.61 21.71.11 16.4 12.98 32 32.1 32h383.8c19.12 0 32-15.6 32.1-32 .05-7.55-2.61-15.27-8.61-21.71zM67.53 368c21.22-27.97 44.42-74.33 44.53-159.42 0-.2-.06-.38-.06-.58 0-61.86 50.14-112 112-112s112 50.14 112 112c0 .2-.06.38-.06.58.11 85.1 23.31 131.46 44.53 159.42H67.53zM224 512c35.32 0 63.97-28.65 63.97-64H160.03c0 35.35 28.65 64 63.97 64z\"},\"child\":[]}]})(props);\n};\nexport function FaRegBookmark (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M336 0H48C21.49 0 0 21.49 0 48v464l192-112 192 112V48c0-26.51-21.49-48-48-48zm0 428.43l-144-84-144 84V54a6 6 0 0 1 6-6h276c3.314 0 6 2.683 6 5.996V428.43z\"},\"child\":[]}]})(props);\n};\nexport function FaRegBuilding (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M128 148v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12zm140 12h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm-128 96h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm128 0h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm-76 84v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm76 12h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm180 124v36H0v-36c0-6.6 5.4-12 12-12h19.5V24c0-13.3 10.7-24 24-24h337c13.3 0 24 10.7 24 24v440H436c6.6 0 12 5.4 12 12zM79.5 463H192v-67c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v67h112.5V49L80 48l-.5 415z\"},\"child\":[]}]})(props);\n};\nexport function FaRegCalendarAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M148 288h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12zm108-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm96 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm-96 96v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm-96 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm192 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm96-260v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"},\"child\":[]}]})(props);\n};\nexport function FaRegCalendarCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 64h-48V12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v52H160V12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v52H48C21.49 64 0 85.49 0 112v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm-6 400H54a6 6 0 0 1-6-6V160h352v298a6 6 0 0 1-6 6zm-52.849-200.65L198.842 404.519c-4.705 4.667-12.303 4.637-16.971-.068l-75.091-75.699c-4.667-4.705-4.637-12.303.068-16.971l22.719-22.536c4.705-4.667 12.303-4.637 16.97.069l44.104 44.461 111.072-110.181c4.705-4.667 12.303-4.637 16.971.068l22.536 22.718c4.667 4.705 4.636 12.303-.069 16.97z\"},\"child\":[]}]})(props);\n};\nexport function FaRegCalendarMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M124 328c-6.6 0-12-5.4-12-12v-24c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v24c0 6.6-5.4 12-12 12H124zm324-216v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"},\"child\":[]}]})(props);\n};\nexport function FaRegCalendarPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M336 292v24c0 6.6-5.4 12-12 12h-76v76c0 6.6-5.4 12-12 12h-24c-6.6 0-12-5.4-12-12v-76h-76c-6.6 0-12-5.4-12-12v-24c0-6.6 5.4-12 12-12h76v-76c0-6.6 5.4-12 12-12h24c6.6 0 12 5.4 12 12v76h76c6.6 0 12 5.4 12 12zm112-180v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"},\"child\":[]}]})(props);\n};\nexport function FaRegCalendarTimes (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M311.7 374.7l-17 17c-4.7 4.7-12.3 4.7-17 0L224 337.9l-53.7 53.7c-4.7 4.7-12.3 4.7-17 0l-17-17c-4.7-4.7-4.7-12.3 0-17l53.7-53.7-53.7-53.7c-4.7-4.7-4.7-12.3 0-17l17-17c4.7-4.7 12.3-4.7 17 0l53.7 53.7 53.7-53.7c4.7-4.7 12.3-4.7 17 0l17 17c4.7 4.7 4.7 12.3 0 17L257.9 304l53.7 53.7c4.8 4.7 4.8 12.3.1 17zM448 112v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"},\"child\":[]}]})(props);\n};\nexport function FaRegCalendar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 64h-48V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H160V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zm-6 400H54c-3.3 0-6-2.7-6-6V160h352v298c0 3.3-2.7 6-6 6z\"},\"child\":[]}]})(props);\n};\nexport function FaRegCaretSquareDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M125.1 208h197.8c10.7 0 16.1 13 8.5 20.5l-98.9 98.3c-4.7 4.7-12.2 4.7-16.9 0l-98.9-98.3c-7.7-7.5-2.3-20.5 8.4-20.5zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"},\"child\":[]}]})(props);\n};\nexport function FaRegCaretSquareLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M272 157.1v197.8c0 10.7-13 16.1-20.5 8.5l-98.3-98.9c-4.7-4.7-4.7-12.2 0-16.9l98.3-98.9c7.5-7.7 20.5-2.3 20.5 8.4zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"},\"child\":[]}]})(props);\n};\nexport function FaRegCaretSquareRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M176 354.9V157.1c0-10.7 13-16.1 20.5-8.5l98.3 98.9c4.7 4.7 4.7 12.2 0 16.9l-98.3 98.9c-7.5 7.7-20.5 2.3-20.5-8.4zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"},\"child\":[]}]})(props);\n};\nexport function FaRegCaretSquareUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M322.9 304H125.1c-10.7 0-16.1-13-8.5-20.5l98.9-98.3c4.7-4.7 12.2-4.7 16.9 0l98.9 98.3c7.7 7.5 2.3 20.5-8.4 20.5zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"},\"child\":[]}]})(props);\n};\nexport function FaRegChartBar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\"},\"child\":[]}]})(props);\n};\nexport function FaRegCheckCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 48c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m140.204 130.267l-22.536-22.718c-4.667-4.705-12.265-4.736-16.97-.068L215.346 303.697l-59.792-60.277c-4.667-4.705-12.265-4.736-16.97-.069l-22.719 22.536c-4.705 4.667-4.736 12.265-.068 16.971l90.781 91.516c4.667 4.705 12.265 4.736 16.97.068l172.589-171.204c4.704-4.668 4.734-12.266.067-16.971z\"},\"child\":[]}]})(props);\n};\nexport function FaRegCheckSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zm0 400H48V80h352v352zm-35.864-241.724L191.547 361.48c-4.705 4.667-12.303 4.637-16.97-.068l-90.781-91.516c-4.667-4.705-4.637-12.303.069-16.971l22.719-22.536c4.705-4.667 12.303-4.637 16.97.069l59.792 60.277 141.352-140.216c4.705-4.667 12.303-4.637 16.97.068l22.536 22.718c4.667 4.706 4.637 12.304-.068 16.971z\"},\"child\":[]}]})(props);\n};\nexport function FaRegCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200z\"},\"child\":[]}]})(props);\n};\nexport function FaRegClipboard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM192 40c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm144 418c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V118c0-3.3 2.7-6 6-6h42v36c0 6.6 5.4 12 12 12h168c6.6 0 12-5.4 12-12v-36h42c3.3 0 6 2.7 6 6z\"},\"child\":[]}]})(props);\n};\nexport function FaRegClock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm61.8-104.4l-84.9-61.7c-3.1-2.3-4.9-5.9-4.9-9.7V116c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v141.7l66.8 48.6c5.4 3.9 6.5 11.4 2.6 16.8L334.6 349c-3.9 5.3-11.4 6.5-16.8 2.6z\"},\"child\":[]}]})(props);\n};\nexport function FaRegClone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 0H144c-26.51 0-48 21.49-48 48v48H48c-26.51 0-48 21.49-48 48v320c0 26.51 21.49 48 48 48h320c26.51 0 48-21.49 48-48v-48h48c26.51 0 48-21.49 48-48V48c0-26.51-21.49-48-48-48zM362 464H54a6 6 0 0 1-6-6V150a6 6 0 0 1 6-6h42v224c0 26.51 21.49 48 48 48h224v42a6 6 0 0 1-6 6zm96-96H150a6 6 0 0 1-6-6V54a6 6 0 0 1 6-6h308a6 6 0 0 1 6 6v308a6 6 0 0 1-6 6z\"},\"child\":[]}]})(props);\n};\nexport function FaRegClosedCaptioning (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 64H48C21.5 64 0 85.5 0 112v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zm-6 336H54c-3.3 0-6-2.7-6-6V118c0-3.3 2.7-6 6-6h404c3.3 0 6 2.7 6 6v276c0 3.3-2.7 6-6 6zm-211.1-85.7c1.7 2.4 1.5 5.6-.5 7.7-53.6 56.8-172.8 32.1-172.8-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7l-17.5 30.5c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2 0 48 51 70.5 92.2 32.6 2.8-2.5 7.1-2.1 9.2.9l19.6 27.7zm190.4 0c1.7 2.4 1.5 5.6-.5 7.7-53.6 56.9-172.8 32.1-172.8-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7L420 220.2c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2 0 48 51 70.5 92.2 32.6 2.8-2.5 7.1-2.1 9.2.9l19.6 27.7z\"},\"child\":[]}]})(props);\n};\nexport function FaRegCommentAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 0H64C28.7 0 0 28.7 0 64v288c0 35.3 28.7 64 64 64h96v84c0 7.1 5.8 12 12 12 2.4 0 4.9-.7 7.1-2.4L304 416h144c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64zm16 352c0 8.8-7.2 16-16 16H288l-12.8 9.6L208 428v-60H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16h384c8.8 0 16 7.2 16 16v288z\"},\"child\":[]}]})(props);\n};\nexport function FaRegCommentDots (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M144 208c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm112 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm112 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zM256 32C114.6 32 0 125.1 0 240c0 47.6 19.9 91.2 52.9 126.3C38 405.7 7 439.1 6.5 439.5c-6.6 7-8.4 17.2-4.6 26S14.4 480 24 480c61.5 0 110-25.7 139.1-46.3C192 442.8 223.2 448 256 448c141.4 0 256-93.1 256-208S397.4 32 256 32zm0 368c-26.7 0-53.1-4.1-78.4-12.1l-22.7-7.2-19.5 13.8c-14.3 10.1-33.9 21.4-57.5 29 7.3-12.1 14.4-25.7 19.9-40.2l10.6-28.1-20.6-21.8C69.7 314.1 48 282.2 48 240c0-88.2 93.3-160 208-160s208 71.8 208 160-93.3 160-208 160z\"},\"child\":[]}]})(props);\n};\nexport function FaRegComment (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 32C114.6 32 0 125.1 0 240c0 47.6 19.9 91.2 52.9 126.3C38 405.7 7 439.1 6.5 439.5c-6.6 7-8.4 17.2-4.6 26S14.4 480 24 480c61.5 0 110-25.7 139.1-46.3C192 442.8 223.2 448 256 448c141.4 0 256-93.1 256-208S397.4 32 256 32zm0 368c-26.7 0-53.1-4.1-78.4-12.1l-22.7-7.2-19.5 13.8c-14.3 10.1-33.9 21.4-57.5 29 7.3-12.1 14.4-25.7 19.9-40.2l10.6-28.1-20.6-21.8C69.7 314.1 48 282.2 48 240c0-88.2 93.3-160 208-160s208 71.8 208 160-93.3 160-208 160z\"},\"child\":[]}]})(props);\n};\nexport function FaRegComments (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M532 386.2c27.5-27.1 44-61.1 44-98.2 0-80-76.5-146.1-176.2-157.9C368.3 72.5 294.3 32 208 32 93.1 32 0 103.6 0 192c0 37 16.5 71 44 98.2-15.3 30.7-37.3 54.5-37.7 54.9-6.3 6.7-8.1 16.5-4.4 25 3.6 8.5 12 14 21.2 14 53.5 0 96.7-20.2 125.2-38.8 9.2 2.1 18.7 3.7 28.4 4.9C208.1 407.6 281.8 448 368 448c20.8 0 40.8-2.4 59.8-6.8C456.3 459.7 499.4 480 553 480c9.2 0 17.5-5.5 21.2-14 3.6-8.5 1.9-18.3-4.4-25-.4-.3-22.5-24.1-37.8-54.8zm-392.8-92.3L122.1 305c-14.1 9.1-28.5 16.3-43.1 21.4 2.7-4.7 5.4-9.7 8-14.8l15.5-31.1L77.7 256C64.2 242.6 48 220.7 48 192c0-60.7 73.3-112 160-112s160 51.3 160 112-73.3 112-160 112c-16.5 0-33-1.9-49-5.6l-19.8-4.5zM498.3 352l-24.7 24.4 15.5 31.1c2.6 5.1 5.3 10.1 8 14.8-14.6-5.1-29-12.3-43.1-21.4l-17.1-11.1-19.9 4.6c-16 3.7-32.5 5.6-49 5.6-54 0-102.2-20.1-131.3-49.7C338 339.5 416 272.9 416 192c0-3.4-.4-6.7-.7-10C479.7 196.5 528 238.8 528 288c0 28.7-16.2 50.6-29.7 64z\"},\"child\":[]}]})(props);\n};\nexport function FaRegCompass (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M347.94 129.86L203.6 195.83a31.938 31.938 0 0 0-15.77 15.77l-65.97 144.34c-7.61 16.65 9.54 33.81 26.2 26.2l144.34-65.97a31.938 31.938 0 0 0 15.77-15.77l65.97-144.34c7.61-16.66-9.54-33.81-26.2-26.2zm-77.36 148.72c-12.47 12.47-32.69 12.47-45.16 0-12.47-12.47-12.47-32.69 0-45.16 12.47-12.47 32.69-12.47 45.16 0 12.47 12.47 12.47 32.69 0 45.16zM248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 448c-110.28 0-200-89.72-200-200S137.72 56 248 56s200 89.72 200 200-89.72 200-200 200z\"},\"child\":[]}]})(props);\n};\nexport function FaRegCopy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M433.941 65.941l-51.882-51.882A48 48 0 0 0 348.118 0H176c-26.51 0-48 21.49-48 48v48H48c-26.51 0-48 21.49-48 48v320c0 26.51 21.49 48 48 48h224c26.51 0 48-21.49 48-48v-48h80c26.51 0 48-21.49 48-48V99.882a48 48 0 0 0-14.059-33.941zM266 464H54a6 6 0 0 1-6-6V150a6 6 0 0 1 6-6h74v224c0 26.51 21.49 48 48 48h96v42a6 6 0 0 1-6 6zm128-96H182a6 6 0 0 1-6-6V54a6 6 0 0 1 6-6h106v88c0 13.255 10.745 24 24 24h88v202a6 6 0 0 1-6 6zm6-256h-64V48h9.632c1.591 0 3.117.632 4.243 1.757l48.368 48.368a6 6 0 0 1 1.757 4.243V112z\"},\"child\":[]}]})(props);\n};\nexport function FaRegCopyright (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 448c-110.532 0-200-89.451-200-200 0-110.531 89.451-200 200-200 110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200zm107.351-101.064c-9.614 9.712-45.53 41.396-104.065 41.396-82.43 0-140.484-61.425-140.484-141.567 0-79.152 60.275-139.401 139.762-139.401 55.531 0 88.738 26.62 97.593 34.779a11.965 11.965 0 0 1 1.936 15.322l-18.155 28.113c-3.841 5.95-11.966 7.282-17.499 2.921-8.595-6.776-31.814-22.538-61.708-22.538-48.303 0-77.916 35.33-77.916 80.082 0 41.589 26.888 83.692 78.277 83.692 32.657 0 56.843-19.039 65.726-27.225 5.27-4.857 13.596-4.039 17.82 1.738l19.865 27.17a11.947 11.947 0 0 1-1.152 15.518z\"},\"child\":[]}]})(props);\n};\nexport function FaRegCreditCard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M527.9 32H48.1C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48.1 48h479.8c26.6 0 48.1-21.5 48.1-48V80c0-26.5-21.5-48-48.1-48zM54.1 80h467.8c3.3 0 6 2.7 6 6v42H48.1V86c0-3.3 2.7-6 6-6zm467.8 352H54.1c-3.3 0-6-2.7-6-6V256h479.8v170c0 3.3-2.7 6-6 6zM192 332v40c0 6.6-5.4 12-12 12h-72c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h72c6.6 0 12 5.4 12 12zm192 0v40c0 6.6-5.4 12-12 12H236c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h136c6.6 0 12 5.4 12 12z\"},\"child\":[]}]})(props);\n};\nexport function FaRegDizzy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-33.8-217.9c7.8-7.8 7.8-20.5 0-28.3L196.3 192l17.9-17.9c7.8-7.8 7.8-20.5 0-28.3-7.8-7.8-20.5-7.8-28.3 0L168 163.7l-17.8-17.8c-7.8-7.8-20.5-7.8-28.3 0-7.8 7.8-7.8 20.5 0 28.3l17.9 17.9-17.9 17.9c-7.8 7.8-7.8 20.5 0 28.3 7.8 7.8 20.5 7.8 28.3 0l17.8-17.8 17.8 17.8c7.9 7.7 20.5 7.7 28.4-.2zm160-92.2c-7.8-7.8-20.5-7.8-28.3 0L328 163.7l-17.8-17.8c-7.8-7.8-20.5-7.8-28.3 0-7.8 7.8-7.8 20.5 0 28.3l17.9 17.9-17.9 17.9c-7.8 7.8-7.8 20.5 0 28.3 7.8 7.8 20.5 7.8 28.3 0l17.8-17.8 17.8 17.8c7.8 7.8 20.5 7.8 28.3 0 7.8-7.8 7.8-20.5 0-28.3l-17.8-18 17.9-17.9c7.7-7.8 7.7-20.4 0-28.2zM248 272c-35.3 0-64 28.7-64 64s28.7 64 64 64 64-28.7 64-64-28.7-64-64-64z\"},\"child\":[]}]})(props);\n};\nexport function FaRegDotCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 56c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m0-48C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 168c-44.183 0-80 35.817-80 80s35.817 80 80 80 80-35.817 80-80-35.817-80-80-80z\"},\"child\":[]}]})(props);\n};\nexport function FaRegEdit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M402.3 344.9l32-32c5-5 13.7-1.5 13.7 5.7V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h273.5c7.1 0 10.7 8.6 5.7 13.7l-32 32c-1.5 1.5-3.5 2.3-5.7 2.3H48v352h352V350.5c0-2.1.8-4.1 2.3-5.6zm156.6-201.8L296.3 405.7l-90.4 10c-26.2 2.9-48.5-19.2-45.6-45.6l10-90.4L432.9 17.1c22.9-22.9 59.9-22.9 82.7 0l43.2 43.2c22.9 22.9 22.9 60 .1 82.8zM460.1 174L402 115.9 216.2 301.8l-7.3 65.3 65.3-7.3L460.1 174zm64.8-79.7l-43.2-43.2c-4.1-4.1-10.8-4.1-14.8 0L436 82l58.1 58.1 30.9-30.9c4-4.2 4-10.8-.1-14.9z\"},\"child\":[]}]})(props);\n};\nexport function FaRegEnvelopeOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M494.586 164.516c-4.697-3.883-111.723-89.95-135.251-108.657C337.231 38.191 299.437 0 256 0c-43.205 0-80.636 37.717-103.335 55.859-24.463 19.45-131.07 105.195-135.15 108.549A48.004 48.004 0 0 0 0 201.485V464c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V201.509a48 48 0 0 0-17.414-36.993zM464 458a6 6 0 0 1-6 6H54a6 6 0 0 1-6-6V204.347c0-1.813.816-3.526 2.226-4.665 15.87-12.814 108.793-87.554 132.364-106.293C200.755 78.88 232.398 48 256 48c23.693 0 55.857 31.369 73.41 45.389 23.573 18.741 116.503 93.493 132.366 106.316a5.99 5.99 0 0 1 2.224 4.663V458zm-31.991-187.704c4.249 5.159 3.465 12.795-1.745 16.981-28.975 23.283-59.274 47.597-70.929 56.863C336.636 362.283 299.205 400 256 400c-43.452 0-81.287-38.237-103.335-55.86-11.279-8.967-41.744-33.413-70.927-56.865-5.21-4.187-5.993-11.822-1.745-16.981l15.258-18.528c4.178-5.073 11.657-5.843 16.779-1.726 28.618 23.001 58.566 47.035 70.56 56.571C200.143 320.631 232.307 352 256 352c23.602 0 55.246-30.88 73.41-45.389 11.994-9.535 41.944-33.57 70.563-56.568 5.122-4.116 12.601-3.346 16.778 1.727l15.258 18.526z\"},\"child\":[]}]})(props);\n};\nexport function FaRegEnvelope (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm0 48v40.805c-22.422 18.259-58.168 46.651-134.587 106.49-16.841 13.247-50.201 45.072-73.413 44.701-23.208.375-56.579-31.459-73.413-44.701C106.18 199.465 70.425 171.067 48 152.805V112h416zM48 400V214.398c22.914 18.251 55.409 43.862 104.938 82.646 21.857 17.205 60.134 55.186 103.062 54.955 42.717.231 80.509-37.199 103.053-54.947 49.528-38.783 82.032-64.401 104.947-82.653V400H48z\"},\"child\":[]}]})(props);\n};\nexport function FaRegEyeSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M634 471L36 3.51A16 16 0 0 0 13.51 6l-10 12.49A16 16 0 0 0 6 41l598 467.49a16 16 0 0 0 22.49-2.49l10-12.49A16 16 0 0 0 634 471zM296.79 146.47l134.79 105.38C429.36 191.91 380.48 144 320 144a112.26 112.26 0 0 0-23.21 2.47zm46.42 219.07L208.42 260.16C210.65 320.09 259.53 368 320 368a113 113 0 0 0 23.21-2.46zM320 112c98.65 0 189.09 55 237.93 144a285.53 285.53 0 0 1-44 60.2l37.74 29.5a333.7 333.7 0 0 0 52.9-75.11 32.35 32.35 0 0 0 0-29.19C550.29 135.59 442.93 64 320 64c-36.7 0-71.71 7-104.63 18.81l46.41 36.29c18.94-4.3 38.34-7.1 58.22-7.1zm0 288c-98.65 0-189.08-55-237.93-144a285.47 285.47 0 0 1 44.05-60.19l-37.74-29.5a333.6 333.6 0 0 0-52.89 75.1 32.35 32.35 0 0 0 0 29.19C89.72 376.41 197.08 448 320 448c36.7 0 71.71-7.05 104.63-18.81l-46.41-36.28C359.28 397.2 339.89 400 320 400z\"},\"child\":[]}]})(props);\n};\nexport function FaRegEye (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 144a110.94 110.94 0 0 0-31.24 5 55.4 55.4 0 0 1 7.24 27 56 56 0 0 1-56 56 55.4 55.4 0 0 1-27-7.24A111.71 111.71 0 1 0 288 144zm284.52 97.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400c-98.65 0-189.09-55-237.93-144C98.91 167 189.34 112 288 112s189.09 55 237.93 144C477.1 345 386.66 400 288 400z\"},\"child\":[]}]})(props);\n};\nexport function FaRegFileAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 248v28c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-28c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm-12 72H108c-6.6 0-12 5.4-12 12v28c0 6.6 5.4 12 12 12h168c6.6 0 12-5.4 12-12v-28c0-6.6-5.4-12-12-12zm108-188.1V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V48C0 21.5 21.5 0 48 0h204.1C264.8 0 277 5.1 286 14.1L369.9 98c9 8.9 14.1 21.2 14.1 33.9zm-128-80V128h76.1L256 51.9zM336 464V176H232c-13.3 0-24-10.7-24-24V48H48v416h288z\"},\"child\":[]}]})(props);\n};\nexport function FaRegFileArchive (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M128.3 160v32h32v-32zm64-96h-32v32h32zm-64 32v32h32V96zm64 32h-32v32h32zm177.6-30.1L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM256 51.9l76.1 76.1H256zM336 464H48V48h79.7v16h32V48H208v104c0 13.3 10.7 24 24 24h104zM194.2 265.7c-1.1-5.6-6-9.7-11.8-9.7h-22.1v-32h-32v32l-19.7 97.1C102 385.6 126.8 416 160 416c33.1 0 57.9-30.2 51.5-62.6zm-33.9 124.4c-17.9 0-32.4-12.1-32.4-27s14.5-27 32.4-27 32.4 12.1 32.4 27-14.5 27-32.4 27zm32-198.1h-32v32h32z\"},\"child\":[]}]})(props);\n};\nexport function FaRegFileAudio (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M369.941 97.941l-83.882-83.882A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v416c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48V131.882a48 48 0 0 0-14.059-33.941zM332.118 128H256V51.882L332.118 128zM48 464V48h160v104c0 13.255 10.745 24 24 24h104v288H48zm144-76.024c0 10.691-12.926 16.045-20.485 8.485L136 360.486h-28c-6.627 0-12-5.373-12-12v-56c0-6.627 5.373-12 12-12h28l35.515-36.947c7.56-7.56 20.485-2.206 20.485 8.485v135.952zm41.201-47.13c9.051-9.297 9.06-24.133.001-33.439-22.149-22.752 12.235-56.246 34.395-33.481 27.198 27.94 27.212 72.444.001 100.401-21.793 22.386-56.947-10.315-34.397-33.481z\"},\"child\":[]}]})(props);\n};\nexport function FaRegFileCode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M149.9 349.1l-.2-.2-32.8-28.9 32.8-28.9c3.6-3.2 4-8.8.8-12.4l-.2-.2-17.4-18.6c-3.4-3.6-9-3.7-12.4-.4l-57.7 54.1c-3.7 3.5-3.7 9.4 0 12.8l57.7 54.1c1.6 1.5 3.8 2.4 6 2.4 2.4 0 4.8-1 6.4-2.8l17.4-18.6c3.3-3.5 3.1-9.1-.4-12.4zm220-251.2L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM256 51.9l76.1 76.1H256zM336 464H48V48h160v104c0 13.3 10.7 24 24 24h104zM209.6 214c-4.7-1.4-9.5 1.3-10.9 6L144 408.1c-1.4 4.7 1.3 9.6 6 10.9l24.4 7.1c4.7 1.4 9.6-1.4 10.9-6L240 231.9c1.4-4.7-1.3-9.6-6-10.9zm24.5 76.9l.2.2 32.8 28.9-32.8 28.9c-3.6 3.2-4 8.8-.8 12.4l.2.2 17.4 18.6c3.3 3.5 8.9 3.7 12.4.4l57.7-54.1c3.7-3.5 3.7-9.4 0-12.8l-57.7-54.1c-3.5-3.3-9.1-3.2-12.4.4l-17.4 18.6c-3.3 3.5-3.1 9.1.4 12.4z\"},\"child\":[]}]})(props);\n};\nexport function FaRegFileExcel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm212-240h-28.8c-4.4 0-8.4 2.4-10.5 6.3-18 33.1-22.2 42.4-28.6 57.7-13.9-29.1-6.9-17.3-28.6-57.7-2.1-3.9-6.2-6.3-10.6-6.3H124c-9.3 0-15 10-10.4 18l46.3 78-46.3 78c-4.7 8 1.1 18 10.4 18h28.9c4.4 0 8.4-2.4 10.5-6.3 21.7-40 23-45 28.6-57.7 14.9 30.2 5.9 15.9 28.6 57.7 2.1 3.9 6.2 6.3 10.6 6.3H260c9.3 0 15-10 10.4-18L224 320c.7-1.1 30.3-50.5 46.3-78 4.7-8-1.1-18-10.3-18z\"},\"child\":[]}]})(props);\n};\nexport function FaRegFileImage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm32-48h224V288l-23.5-23.5c-4.7-4.7-12.3-4.7-17 0L176 352l-39.5-39.5c-4.7-4.7-12.3-4.7-17 0L80 352v64zm48-240c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48z\"},\"child\":[]}]})(props);\n};\nexport function FaRegFilePdf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm250.2-143.7c-12.2-12-47-8.7-64.4-6.5-17.2-10.5-28.7-25-36.8-46.3 3.9-16.1 10.1-40.6 5.4-56-4.2-26.2-37.8-23.6-42.6-5.9-4.4 16.1-.4 38.5 7 67.1-10 23.9-24.9 56-35.4 74.4-20 10.3-47 26.2-51 46.2-3.3 15.8 26 55.2 76.1-31.2 22.4-7.4 46.8-16.5 68.4-20.1 18.9 10.2 41 17 55.8 17 25.5 0 28-28.2 17.5-38.7zm-198.1 77.8c5.1-13.7 24.5-29.5 30.4-35-19 30.3-30.4 35.7-30.4 35zm81.6-190.6c7.4 0 6.7 32.1 1.8 40.8-4.4-13.9-4.3-40.8-1.8-40.8zm-24.4 136.6c9.7-16.9 18-37 24.7-54.7 8.3 15.1 18.9 27.2 30.1 35.5-20.8 4.3-38.9 13.1-54.8 19.2zm131.6-5s-5 6-37.3-7.8c35.1-2.6 40.9 5.4 37.3 7.8z\"},\"child\":[]}]})(props);\n};\nexport function FaRegFilePowerpoint (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm72-60V236c0-6.6 5.4-12 12-12h69.2c36.7 0 62.8 27 62.8 66.3 0 74.3-68.7 66.5-95.5 66.5V404c0 6.6-5.4 12-12 12H132c-6.6 0-12-5.4-12-12zm48.5-87.4h23c7.9 0 13.9-2.4 18.1-7.2 8.5-9.8 8.4-28.5.1-37.8-4.1-4.6-9.9-7-17.4-7h-23.9v52z\"},\"child\":[]}]})(props);\n};\nexport function FaRegFileVideo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M369.941 97.941l-83.882-83.882A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v416c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48V131.882a48 48 0 0 0-14.059-33.941zM332.118 128H256V51.882L332.118 128zM48 464V48h160v104c0 13.255 10.745 24 24 24h104v288H48zm228.687-211.303L224 305.374V268c0-11.046-8.954-20-20-20H100c-11.046 0-20 8.954-20 20v104c0 11.046 8.954 20 20 20h104c11.046 0 20-8.954 20-20v-37.374l52.687 52.674C286.704 397.318 304 390.28 304 375.986V264.011c0-14.311-17.309-21.319-27.313-11.314z\"},\"child\":[]}]})(props);\n};\nexport function FaRegFileWord (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm220.1-208c-5.7 0-10.6 4-11.7 9.5-20.6 97.7-20.4 95.4-21 103.5-.2-1.2-.4-2.6-.7-4.3-.8-5.1.3.2-23.6-99.5-1.3-5.4-6.1-9.2-11.7-9.2h-13.3c-5.5 0-10.3 3.8-11.7 9.1-24.4 99-24 96.2-24.8 103.7-.1-1.1-.2-2.5-.5-4.2-.7-5.2-14.1-73.3-19.1-99-1.1-5.6-6-9.7-11.8-9.7h-16.8c-7.8 0-13.5 7.3-11.7 14.8 8 32.6 26.7 109.5 33.2 136 1.3 5.4 6.1 9.1 11.7 9.1h25.2c5.5 0 10.3-3.7 11.6-9.1l17.9-71.4c1.5-6.2 2.5-12 3-17.3l2.9 17.3c.1.4 12.6 50.5 17.9 71.4 1.3 5.3 6.1 9.1 11.6 9.1h24.7c5.5 0 10.3-3.7 11.6-9.1 20.8-81.9 30.2-119 34.5-136 1.9-7.6-3.8-14.9-11.6-14.9h-15.8z\"},\"child\":[]}]})(props);\n};\nexport function FaRegFile (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48z\"},\"child\":[]}]})(props);\n};\nexport function FaRegFlag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M336.174 80c-49.132 0-93.305-32-161.913-32-31.301 0-58.303 6.482-80.721 15.168a48.04 48.04 0 0 0 2.142-20.727C93.067 19.575 74.167 1.594 51.201.104 23.242-1.71 0 20.431 0 48c0 17.764 9.657 33.262 24 41.562V496c0 8.837 7.163 16 16 16h16c8.837 0 16-7.163 16-16v-83.443C109.869 395.28 143.259 384 199.826 384c49.132 0 93.305 32 161.913 32 58.479 0 101.972-22.617 128.548-39.981C503.846 367.161 512 352.051 512 335.855V95.937c0-34.459-35.264-57.768-66.904-44.117C409.193 67.309 371.641 80 336.174 80zM464 336c-21.783 15.412-60.824 32-102.261 32-59.945 0-102.002-32-161.913-32-43.361 0-96.379 9.403-127.826 24V128c21.784-15.412 60.824-32 102.261-32 59.945 0 102.002 32 161.913 32 43.271 0 96.32-17.366 127.826-32v240z\"},\"child\":[]}]})(props);\n};\nexport function FaRegFlushed (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm96-312c-44.2 0-80 35.8-80 80s35.8 80 80 80 80-35.8 80-80-35.8-80-80-80zm0 128c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm0-72c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm-112 24c0-44.2-35.8-80-80-80s-80 35.8-80 80 35.8 80 80 80 80-35.8 80-80zm-80 48c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm0-72c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm160 144H184c-13.2 0-24 10.8-24 24s10.8 24 24 24h128c13.2 0 24-10.8 24-24s-10.8-24-24-24z\"},\"child\":[]}]})(props);\n};\nexport function FaRegFolderOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M527.9 224H480v-48c0-26.5-21.5-48-48-48H272l-64-64H48C21.5 64 0 85.5 0 112v288c0 26.5 21.5 48 48 48h400c16.5 0 31.9-8.5 40.7-22.6l79.9-128c20-31.9-3-73.4-40.7-73.4zM48 118c0-3.3 2.7-6 6-6h134.1l64 64H426c3.3 0 6 2.7 6 6v42H152c-16.8 0-32.4 8.8-41.1 23.2L48 351.4zm400 282H72l77.2-128H528z\"},\"child\":[]}]})(props);\n};\nexport function FaRegFolder (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 128H272l-54.63-54.63c-6-6-14.14-9.37-22.63-9.37H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V176c0-26.51-21.49-48-48-48zm0 272H48V112h140.12l54.63 54.63c6 6 14.14 9.37 22.63 9.37H464v224z\"},\"child\":[]}]})(props);\n};\nexport function FaRegFontAwesomeLogoFull (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 3992 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M454.6 0H57.4C25.9 0 0 25.9 0 57.4v397.3C0 486.1 25.9 512 57.4 512h397.3c31.4 0 57.4-25.9 57.4-57.4V57.4C512 25.9 486.1 0 454.6 0zm-58.9 324.9c0 4.8-4.1 6.9-8.9 8.9-19.2 8.1-39.7 15.7-61.5 15.7-40.5 0-68.7-44.8-163.2 2.5v51.8c0 30.3-45.7 30.2-45.7 0v-250c-9-7-15-17.9-15-30.3 0-21 17.1-38.2 38.2-38.2 21 0 38.2 17.1 38.2 38.2 0 12.2-5.8 23.2-14.9 30.2v21c37.1-12 65.5-34.4 146.1-3.4 26.6 11.4 68.7-15.7 76.5-15.7 5.5 0 10.3 4.1 10.3 8.9v160.4zm432.9-174.2h-137v70.1H825c39.8 0 40.4 62.2 0 62.2H691.6v105.6c0 45.5-70.7 46.4-70.7 0V128.3c0-22 18-39.8 39.8-39.8h167.8c39.6 0 40.5 62.2.1 62.2zm191.1 23.4c-169.3 0-169.1 252.4 0 252.4 169.9 0 169.9-252.4 0-252.4zm0 196.1c-81.6 0-82.1-139.8 0-139.8 82.5 0 82.4 139.8 0 139.8zm372.4 53.4c-17.5 0-31.4-13.9-31.4-31.4v-117c0-62.4-72.6-52.5-99.1-16.4v133.4c0 41.5-63.3 41.8-63.3 0V208c0-40 63.1-41.6 63.1 0v3.4c43.3-51.6 162.4-60.4 162.4 39.3v141.5c.3 30.4-31.5 31.4-31.7 31.4zm179.7 2.9c-44.3 0-68.3-22.9-68.3-65.8V235.2H1488c-35.6 0-36.7-55.3 0-55.3h15.5v-37.3c0-41.3 63.8-42.1 63.8 0v37.5h24.9c35.4 0 35.7 55.3 0 55.3h-24.9v108.5c0 29.6 26.1 26.3 27.4 26.3 31.4 0 52.6 56.3-22.9 56.3zM1992 123c-19.5-50.2-95.5-50-114.5 0-107.3 275.7-99.5 252.7-99.5 262.8 0 42.8 58.3 51.2 72.1 14.4l13.5-35.9H2006l13 35.9c14.2 37.7 72.1 27.2 72.1-14.4 0-10.1 5.3 6.8-99.1-262.8zm-108.9 179.1l51.7-142.9 51.8 142.9h-103.5zm591.3-85.6l-53.7 176.3c-12.4 41.2-72 41-84 0l-42.3-135.9-42.3 135.9c-12.4 40.9-72 41.2-84.5 0l-54.2-176.3c-12.5-39.4 49.8-56.1 60.2-16.9L2213 342l45.3-139.5c10.9-32.7 59.6-34.7 71.2 0l45.3 139.5 39.3-142.4c10.3-38.3 72.6-23.8 60.3 16.9zm275.4 75.1c0-42.4-33.9-117.5-119.5-117.5-73.2 0-124.4 56.3-124.4 126 0 77.2 55.3 126.4 128.5 126.4 31.7 0 93-11.5 93-39.8 0-18.3-21.1-31.5-39.3-22.4-49.4 26.2-109 8.4-115.9-43.8h148.3c16.3 0 29.3-13.4 29.3-28.9zM2571 277.7c9.5-73.4 113.9-68.6 118.6 0H2571zm316.7 148.8c-31.4 0-81.6-10.5-96.6-31.9-12.4-17 2.5-39.8 21.8-39.8 16.3 0 36.8 22.9 77.7 22.9 27.4 0 40.4-11 40.4-25.8 0-39.8-142.9-7.4-142.9-102 0-40.4 35.3-75.7 98.6-75.7 31.4 0 74.1 9.9 87.6 29.4 10.8 14.8-1.4 36.2-20.9 36.2-15.1 0-26.7-17.3-66.2-17.3-22.9 0-37.8 10.5-37.8 23.8 0 35.9 142.4 6 142.4 103.1-.1 43.7-37.4 77.1-104.1 77.1zm266.8-252.4c-169.3 0-169.1 252.4 0 252.4 170.1 0 169.6-252.4 0-252.4zm0 196.1c-81.8 0-82-139.8 0-139.8 82.5 0 82.4 139.8 0 139.8zm476.9 22V268.7c0-53.8-61.4-45.8-85.7-10.5v134c0 41.3-63.8 42.1-63.8 0V268.7c0-52.1-59.5-47.4-85.7-10.1v133.6c0 41.5-63.3 41.8-63.3 0V208c0-40 63.1-41.6 63.1 0v3.4c9.9-14.4 41.8-37.3 78.6-37.3 35.3 0 57.7 16.4 66.7 43.8 13.9-21.8 45.8-43.8 82.6-43.8 44.3 0 70.7 23.4 70.7 72.7v145.3c.5 17.3-13.5 31.4-31.9 31.4 3.5.1-31.3 1.1-31.3-31.3zM3992 291.6c0-42.4-32.4-117.5-117.9-117.5-73.2 0-127.5 56.3-127.5 126 0 77.2 58.3 126.4 131.6 126.4 31.7 0 91.5-11.5 91.5-39.8 0-18.3-21.1-31.5-39.3-22.4-49.4 26.2-110.5 8.4-117.5-43.8h149.8c16.3 0 29.1-13.4 29.3-28.9zm-180.5-13.9c9.7-74.4 115.9-68.3 120.1 0h-120.1z\"},\"child\":[]}]})(props);\n};\nexport function FaRegFrownOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-48-248c0-17.7-14.3-32-32-32s-32 14.3-32 32 14.3 32 32 32 32-14.3 32-32zm128-32c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm-80 112c-35.6 0-88.8 21.3-95.8 61.2-2 11.8 9 21.5 20.5 18.1 31.2-9.6 59.4-15.3 75.3-15.3s44.1 5.7 75.3 15.3c11.4 3.5 22.5-6.3 20.5-18.1-7-39.9-60.2-61.2-95.8-61.2z\"},\"child\":[]}]})(props);\n};\nexport function FaRegFrown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160-64c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm-80 128c-40.2 0-78 17.7-103.8 48.6-8.5 10.2-7.1 25.3 3.1 33.8 10.2 8.4 25.3 7.1 33.8-3.1 16.6-19.9 41-31.4 66.9-31.4s50.3 11.4 66.9 31.4c8.1 9.7 23.1 11.9 33.8 3.1 10.2-8.5 11.5-23.6 3.1-33.8C326 321.7 288.2 304 248 304z\"},\"child\":[]}]})(props);\n};\nexport function FaRegFutbol (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M483.8 179.4C449.8 74.6 352.6 8 248.1 8c-25.4 0-51.2 3.9-76.7 12.2C41.2 62.5-30.1 202.4 12.2 332.6 46.2 437.4 143.4 504 247.9 504c25.4 0 51.2-3.9 76.7-12.2 130.2-42.3 201.5-182.2 159.2-312.4zm-74.5 193.7l-52.2 6.4-43.7-60.9 24.4-75.2 71.1-22.1 38.9 36.4c-.2 30.7-7.4 61.1-21.7 89.2-4.7 9.3-10.7 17.8-16.8 26.2zm0-235.4l-10.4 53.1-70.7 22-64.2-46.5V92.5l47.4-26.2c39.2 13 73.4 38 97.9 71.4zM184.9 66.4L232 92.5v73.8l-64.2 46.5-70.6-22-10.1-52.5c24.3-33.4 57.9-58.6 97.8-71.9zM139 379.5L85.9 373c-14.4-20.1-37.3-59.6-37.8-115.3l39-36.4 71.1 22.2 24.3 74.3-43.5 61.7zm48.2 67l-22.4-48.1 43.6-61.7H287l44.3 61.7-22.4 48.1c-6.2 1.8-57.6 20.4-121.7 0z\"},\"child\":[]}]})(props);\n};\nexport function FaRegGem (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 0H112c-4 0-7.8 2-10 5.4L2 152.6c-2.9 4.4-2.6 10.2.7 14.2l276 340.8c4.8 5.9 13.8 5.9 18.6 0l276-340.8c3.3-4.1 3.6-9.8.7-14.2L474.1 5.4C471.8 2 468.1 0 464 0zm-19.3 48l63.3 96h-68.4l-51.7-96h56.8zm-202.1 0h90.7l51.7 96H191l51.6-96zm-111.3 0h56.8l-51.7 96H68l63.3-96zm-43 144h51.4L208 352 88.3 192zm102.9 0h193.6L288 435.3 191.2 192zM368 352l68.2-160h51.4L368 352z\"},\"child\":[]}]})(props);\n};\nexport function FaRegGrimace (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm16 16H152c-26.5 0-48 21.5-48 48v32c0 26.5 21.5 48 48 48h192c26.5 0 48-21.5 48-48v-32c0-26.5-21.5-48-48-48zm-168 96h-24c-8.8 0-16-7.2-16-16v-8h40v24zm0-40h-40v-8c0-8.8 7.2-16 16-16h24v24zm64 40h-48v-24h48v24zm0-40h-48v-24h48v24zm64 40h-48v-24h48v24zm0-40h-48v-24h48v24zm56 24c0 8.8-7.2 16-16 16h-24v-24h40v8zm0-24h-40v-24h24c8.8 0 16 7.2 16 16v8z\"},\"child\":[]}]})(props);\n};\nexport function FaRegGrinAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M200.3 248c12.4-18.7 15.1-37.3 15.7-56-.5-18.7-3.3-37.3-15.7-56-8-12-25.1-11.4-32.7 0-12.4 18.7-15.1 37.3-15.7 56 .5 18.7 3.3 37.3 15.7 56 8.1 12 25.2 11.4 32.7 0zm128 0c12.4-18.7 15.1-37.3 15.7-56-.5-18.7-3.3-37.3-15.7-56-8-12-25.1-11.4-32.7 0-12.4 18.7-15.1 37.3-15.7 56 .5 18.7 3.3 37.3 15.7 56 8.1 12 25.2 11.4 32.7 0zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.3-17.7 15.3 7.9 47.2 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3z\"},\"child\":[]}]})(props);\n};\nexport function FaRegGrinBeamSweat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M440 160c29.5 0 53.3-26.3 53.3-58.7 0-25-31.7-75.5-46.2-97.3-3.6-5.3-10.7-5.3-14.2 0-14.5 21.8-46.2 72.3-46.2 97.3 0 32.4 23.8 58.7 53.3 58.7zM248 400c51.9 0 115.3-32.9 123.3-80 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 8 47.1 71.4 80 123.3 80zm130.3-168.3c3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.6 6.2 4.6 9.3 3.7zm105.3-52.9c-24.6 15.7-46 12.9-46.4 12.9 6.9 20.2 10.8 41.8 10.8 64.3 0 110.3-89.7 200-200 200S48 366.3 48 256 137.7 56 248 56c39.8 0 76.8 11.8 108 31.9 1.7-9.5 6.3-24.1 17.2-45.7C336.4 20.6 293.7 8 248 8 111 8 0 119 0 256s111 248 248 248 248-111 248-248c0-27-4.4-52.9-12.4-77.2zM168 189.4c12.3 0 23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.8 19.2-21.6 31.5-21.6z\"},\"child\":[]}]})(props);\n};\nexport function FaRegGrinBeam (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 7.9 47.1 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zm-235.9-72.9c3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3zm160 0c3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3z\"},\"child\":[]}]})(props);\n};\nexport function FaRegGrinHearts (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M353.6 304.6c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 7.9 47.2 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zm-152.8-48.9c4.5 1.2 9.2-1.5 10.5-6l19.4-69.9c5.6-20.3-7.4-41.1-28.8-44.5-18.6-3-36.4 9.8-41.5 27.9l-2 7.1-7.1-1.9c-18.2-4.7-38.2 4.3-44.9 22-7.7 20.2 3.8 41.9 24.2 47.2l70.2 18.1zm188.8-65.3c-6.7-17.6-26.7-26.7-44.9-22l-7.1 1.9-2-7.1c-5-18.1-22.8-30.9-41.5-27.9-21.4 3.4-34.4 24.2-28.8 44.5l19.4 69.9c1.2 4.5 5.9 7.2 10.5 6l70.2-18.2c20.4-5.3 31.9-26.9 24.2-47.1zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200z\"},\"child\":[]}]})(props);\n};\nexport function FaRegGrinSquintTears (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M117.1 384.1c-25.8 3.7-84 13.7-100.9 30.6-21.9 21.9-21.5 57.9.9 80.3s58.3 22.8 80.3.9C114.3 479 124.3 420.8 128 395c.8-6.4-4.6-11.8-10.9-10.9zm-41.2-41.7C40.3 268 53 176.1 114.6 114.6 152.4 76.8 202.6 56 256 56c36.2 0 70.8 9.8 101.2 27.7 3.8-20.3 8-36.1 12-48.3C333.8 17.2 294.9 8 256 8 192.5 8 129.1 32.2 80.6 80.6c-74.1 74.1-91.3 183.4-52 274 12.2-4.1 27.7-8.3 47.3-12.2zm352.3-187.6c45 76.6 34.9 176.9-30.8 242.6-37.8 37.8-88 58.6-141.4 58.6-30.5 0-59.8-7-86.4-19.8-3.9 19.5-8 35-12.2 47.2 31.4 13.6 65 20.6 98.7 20.6 63.5 0 126.9-24.2 175.4-72.6 78.1-78.1 93.1-195.4 45.2-288.6-12.3 4-28.2 8.1-48.5 12zm-33.3-26.9c25.8-3.7 84-13.7 100.9-30.6 21.9-21.9 21.5-57.9-.9-80.3s-58.3-22.8-80.3-.9C397.7 33 387.7 91.2 384 117c-.8 6.4 4.6 11.8 10.9 10.9zm-187 108.3c-3-3-7.2-4.2-11.4-3.2L106 255.7c-5.7 1.4-9.5 6.7-9.1 12.6.5 5.8 5.1 10.5 10.9 11l52.3 4.8 4.8 52.3c.5 5.8 5.2 10.4 11 10.9h.9c5.5 0 10.3-3.7 11.7-9.1l22.6-90.5c1-4.2-.2-8.5-3.2-11.5zm39.7-25.1l90.5-22.6c5.7-1.4 9.5-6.7 9.1-12.6-.5-5.8-5.1-10.5-10.9-11l-52.3-4.8-4.8-52.3c-.5-5.8-5.2-10.4-11-10.9-5.6-.1-11.2 3.4-12.6 9.1L233 196.5c-1 4.1.2 8.4 3.2 11.4 5 5 11.3 3.2 11.4 3.2zm52 88.5c-29.1 29.1-59.7 52.9-83.9 65.4-9.2 4.8-10 17.5-1.7 23.4 38.9 27.7 107 6.2 143.7-30.6S416 253 388.3 214.1c-5.8-8.2-18.5-7.6-23.4 1.7-12.3 24.2-36.2 54.7-65.3 83.8z\"},\"child\":[]}]})(props);\n};\nexport function FaRegGrinSquint (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.4-17.7 15.3 7.9 47.1 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zm-234.7-40.8c3.6 4.2 9.9 5.7 15.3 2.5l80-48c3.6-2.2 5.8-6.1 5.8-10.3s-2.2-8.1-5.8-10.3l-80-48c-5.1-3-11.4-1.9-15.3 2.5-3.8 4.5-3.8 11-.1 15.5l33.6 40.3-33.6 40.3c-3.8 4.5-3.7 11.1.1 15.5zm242.9 2.5c5.4 3.2 11.7 1.7 15.3-2.5 3.8-4.5 3.8-11 .1-15.5L343.6 208l33.6-40.3c3.8-4.5 3.7-11-.1-15.5-3.8-4.4-10.2-5.4-15.3-2.5l-80 48c-3.6 2.2-5.8 6.1-5.8 10.3s2.2 8.1 5.8 10.3l80 48z\"},\"child\":[]}]})(props);\n};\nexport function FaRegGrinStars (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 7.9 47.2 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zm-227.9-57.5c-1 6.2 5.4 11 11 7.9l31.3-16.3 31.3 16.3c5.6 3.1 12-1.7 11-7.9l-6-34.9 25.4-24.6c4.5-4.5 1.9-12.2-4.3-13.2l-34.9-5-15.5-31.6c-2.9-5.8-11-5.8-13.9 0l-15.5 31.6-34.9 5c-6.2.9-8.9 8.6-4.3 13.2l25.4 24.6-6.1 34.9zm259.7-72.7l-34.9-5-15.5-31.6c-2.9-5.8-11-5.8-13.9 0l-15.5 31.6-34.9 5c-6.2.9-8.9 8.6-4.3 13.2l25.4 24.6-6 34.9c-1 6.2 5.4 11 11 7.9l31.3-16.3 31.3 16.3c5.6 3.1 12-1.7 11-7.9l-6-34.9 25.4-24.6c4.5-4.6 1.8-12.2-4.4-13.2z\"},\"child\":[]}]})(props);\n};\nexport function FaRegGrinTears (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M117.1 256.1c-25.8 3.7-84 13.7-100.9 30.6-21.9 21.9-21.5 57.9.9 80.3s58.3 22.8 80.3.9C114.3 351 124.3 292.8 128 267c.8-6.4-4.6-11.8-10.9-10.9zm506.7 30.6c-16.9-16.9-75.1-26.9-100.9-30.6-6.3-.9-11.7 4.5-10.8 10.8 3.7 25.8 13.7 84 30.6 100.9 21.9 21.9 57.9 21.5 80.3-.9 22.3-22.3 22.7-58.3.8-80.2zm-126.6 61.7C463.8 412.3 396.9 456 320 456c-76.9 0-143.8-43.7-177.2-107.6-12.5 37.4-25.2 43.9-28.3 46.5C159.1 460.7 234.5 504 320 504s160.9-43.3 205.5-109.1c-3.2-2.7-15.9-9.2-28.3-46.5zM122.7 224.5C137.9 129.2 220.5 56 320 56c99.5 0 182.1 73.2 197.3 168.5 2.1-.2 5.2-2.4 49.5 7C554.4 106 448.7 8 320 8S85.6 106 73.2 231.4c44.5-9.4 47.1-7.2 49.5-6.9zM320 400c51.9 0 115.3-32.9 123.3-80 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.8-3.1-19.4 5.3-17.7 15.3 8 47.1 71.4 80 123.3 80zm130.3-168.3c3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.6 6.2 4.6 9.3 3.7zM240 189.4c12.3 0 23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.8 19.2-21.6 31.5-21.6z\"},\"child\":[]}]})(props);\n};\nexport function FaRegGrinTongueSquint (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm64 400c0 35.6-29.1 64.5-64.9 64-35.1-.5-63.1-29.8-63.1-65v-42.8l17.7-8.8c15-7.5 31.5 1.7 34.9 16.5l2.8 12.1c2.1 9.2 15.2 9.2 17.3 0l2.8-12.1c3.4-14.8 19.8-24.1 34.9-16.5l17.7 8.8V408zm28.2 25.3c2.2-8.1 3.8-16.5 3.8-25.3v-43.5c14.2-12.4 24.4-27.5 27.3-44.5 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.3-17.7 15.3 2.9 17 13.1 32.1 27.3 44.5V408c0 8.8 1.6 17.2 3.8 25.3C91.8 399.9 48 333 48 256c0-110.3 89.7-200 200-200s200 89.7 200 200c0 77-43.8 143.9-107.8 177.3zm36.9-281.1c-3.8-4.4-10.3-5.5-15.3-2.5l-80 48c-3.6 2.2-5.8 6.1-5.8 10.3s2.2 8.1 5.8 10.3l80 48c5.4 3.2 11.7 1.7 15.3-2.5 3.8-4.5 3.8-11 .1-15.5L343.6 208l33.6-40.3c3.8-4.5 3.7-11.1-.1-15.5zm-162.9 45.5l-80-48c-5-3-11.4-2-15.3 2.5-3.8 4.5-3.8 11-.1 15.5l33.6 40.3-33.6 40.3c-3.8 4.5-3.7 11 .1 15.5 3.6 4.2 9.9 5.7 15.3 2.5l80-48c3.6-2.2 5.8-6.1 5.8-10.3s-2.2-8.1-5.8-10.3z\"},\"child\":[]}]})(props);\n};\nexport function FaRegGrinTongueWink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M152 180c-25.7 0-55.9 16.9-59.8 42.1-.8 5 1.7 10 6.1 12.4 4.4 2.4 9.9 1.8 13.7-1.6l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c2.5 2.2 8 4.7 13.7 1.6 4.4-2.4 6.9-7.4 6.1-12.4-3.9-25.2-34.1-42.1-59.8-42.1zm176-52c-44.2 0-80 35.8-80 80s35.8 80 80 80 80-35.8 80-80-35.8-80-80-80zm0 128c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm0-72c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm64 400c0 35.6-29.1 64.5-64.9 64-35.1-.5-63.1-29.8-63.1-65v-42.8l17.7-8.8c15-7.5 31.5 1.7 34.9 16.5l2.8 12.1c2.1 9.2 15.2 9.2 17.3 0l2.8-12.1c3.4-14.8 19.8-24.1 34.9-16.5l17.7 8.8V408zm28.2 25.3c2.2-8.1 3.8-16.5 3.8-25.3v-43.5c14.2-12.4 24.4-27.5 27.3-44.5 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.3-17.7 15.3 2.9 17 13.1 32.1 27.3 44.5V408c0 8.8 1.6 17.2 3.8 25.3C91.8 399.9 48 333 48 256c0-110.3 89.7-200 200-200s200 89.7 200 200c0 77-43.8 143.9-107.8 177.3z\"},\"child\":[]}]})(props);\n};\nexport function FaRegGrinTongue (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm64 400c0 35.6-29.1 64.5-64.9 64-35.1-.5-63.1-29.8-63.1-65v-42.8l17.7-8.8c15-7.5 31.5 1.7 34.9 16.5l2.8 12.1c2.1 9.2 15.2 9.2 17.3 0l2.8-12.1c3.4-14.8 19.8-24.1 34.9-16.5l17.7 8.8V408zm28.2 25.3c2.2-8.1 3.8-16.5 3.8-25.3v-43.5c14.2-12.4 24.4-27.5 27.3-44.5 1.7-9.9-7.7-18.5-17.7-15.3-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.3-17.7 15.3 2.9 17 13.1 32.1 27.3 44.5V408c0 8.8 1.6 17.2 3.8 25.3C91.8 399.9 48 333 48 256c0-110.3 89.7-200 200-200s200 89.7 200 200c0 77-43.8 143.9-107.8 177.3zM168 176c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm160 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaRegGrinWink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M328 180c-25.69 0-55.88 16.92-59.86 42.12-1.75 11.22 11.5 18.24 19.83 10.84l9.55-8.48c14.81-13.19 46.16-13.19 60.97 0l9.55 8.48c8.48 7.43 21.56.25 19.83-10.84C383.88 196.92 353.69 180 328 180zm-160 60c17.67 0 32-14.33 32-32s-14.33-32-32-32-32 14.33-32 32 14.33 32 32 32zm185.55 64.64c-25.93 8.3-64.4 13.06-105.55 13.06s-79.62-4.75-105.55-13.06c-9.94-3.13-19.4 5.37-17.71 15.34C132.67 367.13 196.06 400 248 400s115.33-32.87 123.26-80.02c1.68-9.89-7.67-18.48-17.71-15.34zM248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 448c-110.28 0-200-89.72-200-200S137.72 56 248 56s200 89.72 200 200-89.72 200-200 200z\"},\"child\":[]}]})(props);\n};\nexport function FaRegGrin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm105.6-151.4c-25.9 8.3-64.4 13.1-105.6 13.1s-79.6-4.8-105.6-13.1c-9.9-3.1-19.4 5.4-17.7 15.3 7.9 47.1 71.3 80 123.3 80s115.3-32.9 123.3-80c1.6-9.8-7.7-18.4-17.7-15.3zM168 240c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaRegHandLizard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M556.686 290.542L410.328 64.829C397.001 44.272 374.417 32 349.917 32H56C25.121 32 0 57.122 0 88v8c0 44.112 35.888 80 80 80h196.042l-18.333 48H144c-48.523 0-88 39.477-88 88 0 30.879 25.121 56 56 56h131.552c2.987 0 5.914.549 8.697 1.631L352 408.418V480h224V355.829c0-23.225-6.679-45.801-19.314-65.287zM528 432H400v-23.582c0-19.948-12.014-37.508-30.604-44.736l-99.751-38.788A71.733 71.733 0 0 0 243.552 320H112c-4.411 0-8-3.589-8-8 0-22.056 17.944-40 40-40h113.709c19.767 0 37.786-12.407 44.84-30.873l24.552-64.281c8.996-23.553-8.428-48.846-33.63-48.846H80c-17.645 0-32-14.355-32-32v-8c0-4.411 3.589-8 8-8h293.917c8.166 0 15.693 4.09 20.137 10.942l146.358 225.715A71.84 71.84 0 0 1 528 355.829V432z\"},\"child\":[]}]})(props);\n};\nexport function FaRegHandPaper (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M372.57 112.641v-10.825c0-43.612-40.52-76.691-83.039-65.546-25.629-49.5-94.09-47.45-117.982.747C130.269 26.456 89.144 57.945 89.144 102v126.13c-19.953-7.427-43.308-5.068-62.083 8.871-29.355 21.796-35.794 63.333-14.55 93.153L132.48 498.569a32 32 0 0 0 26.062 13.432h222.897c14.904 0 27.835-10.289 31.182-24.813l30.184-130.958A203.637 203.637 0 0 0 448 310.564V179c0-40.62-35.523-71.992-75.43-66.359zm27.427 197.922c0 11.731-1.334 23.469-3.965 34.886L368.707 464h-201.92L51.591 302.303c-14.439-20.27 15.023-42.776 29.394-22.605l27.128 38.079c8.995 12.626 29.031 6.287 29.031-9.283V102c0-25.645 36.571-24.81 36.571.691V256c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16V67c0-25.663 36.571-24.81 36.571.691V256c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16V101.125c0-25.672 36.57-24.81 36.57.691V256c0 8.837 7.163 16 16 16h6.857c8.837 0 16-7.163 16-16v-76.309c0-26.242 36.57-25.64 36.57-.691v131.563z\"},\"child\":[]}]})(props);\n};\nexport function FaRegHandPeace (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M362.146 191.976c-13.71-21.649-38.761-34.016-65.006-30.341V74c0-40.804-32.811-74-73.141-74-40.33 0-73.14 33.196-73.14 74L160 168l-18.679-78.85C126.578 50.843 83.85 32.11 46.209 47.208 8.735 62.238-9.571 104.963 5.008 142.85l55.757 144.927c-30.557 24.956-43.994 57.809-24.733 92.218l54.853 97.999C102.625 498.97 124.73 512 148.575 512h205.702c30.744 0 57.558-21.44 64.555-51.797l27.427-118.999a67.801 67.801 0 0 0 1.729-15.203L448 256c0-44.956-43.263-77.343-85.854-64.024zM399.987 326c0 1.488-.169 2.977-.502 4.423l-27.427 119.001c-1.978 8.582-9.29 14.576-17.782 14.576H148.575c-6.486 0-12.542-3.621-15.805-9.449l-54.854-98c-4.557-8.141-2.619-18.668 4.508-24.488l26.647-21.764a16 16 0 0 0 4.812-18.139l-64.09-166.549C37.226 92.956 84.37 74.837 96.51 106.389l59.784 155.357A16 16 0 0 0 171.227 272h11.632c8.837 0 16-7.163 16-16V74c0-34.375 50.281-34.43 50.281 0v182c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16v-28c0-25.122 36.567-25.159 36.567 0v28c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16 0-25.12 36.567-25.16 36.567 0v70z\"},\"child\":[]}]})(props);\n};\nexport function FaRegHandPointDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M188.8 512c45.616 0 83.2-37.765 83.2-83.2v-35.647a93.148 93.148 0 0 0 22.064-7.929c22.006 2.507 44.978-3.503 62.791-15.985C409.342 368.1 448 331.841 448 269.299V248c0-60.063-40-98.512-40-127.2v-2.679c4.952-5.747 8-13.536 8-22.12V32c0-17.673-12.894-32-28.8-32H156.8C140.894 0 128 14.327 128 32v64c0 8.584 3.048 16.373 8 22.12v2.679c0 6.964-6.193 14.862-23.668 30.183l-.148.129-.146.131c-9.937 8.856-20.841 18.116-33.253 25.851C48.537 195.798 0 207.486 0 252.8c0 56.928 35.286 92 83.2 92 8.026 0 15.489-.814 22.4-2.176V428.8c0 45.099 38.101 83.2 83.2 83.2zm0-48c-18.7 0-35.2-16.775-35.2-35.2V270.4c-17.325 0-35.2 26.4-70.4 26.4-26.4 0-35.2-20.625-35.2-44 0-8.794 32.712-20.445 56.1-34.926 14.575-9.074 27.225-19.524 39.875-30.799 18.374-16.109 36.633-33.836 39.596-59.075h176.752C364.087 170.79 400 202.509 400 248v21.299c0 40.524-22.197 57.124-61.325 50.601-8.001 14.612-33.979 24.151-53.625 12.925-18.225 19.365-46.381 17.787-61.05 4.95V428.8c0 18.975-16.225 35.2-35.2 35.2zM328 64c0-13.255 10.745-24 24-24s24 10.745 24 24-10.745 24-24 24-24-10.745-24-24z\"},\"child\":[]}]})(props);\n};\nexport function FaRegHandPointLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0 220.8C0 266.416 37.765 304 83.2 304h35.647a93.148 93.148 0 0 0 7.929 22.064c-2.507 22.006 3.503 44.978 15.985 62.791C143.9 441.342 180.159 480 242.701 480H264c60.063 0 98.512-40 127.2-40h2.679c5.747 4.952 13.536 8 22.12 8h64c17.673 0 32-12.894 32-28.8V188.8c0-15.906-14.327-28.8-32-28.8h-64c-8.584 0-16.373 3.048-22.12 8H391.2c-6.964 0-14.862-6.193-30.183-23.668l-.129-.148-.131-.146c-8.856-9.937-18.116-20.841-25.851-33.253C316.202 80.537 304.514 32 259.2 32c-56.928 0-92 35.286-92 83.2 0 8.026.814 15.489 2.176 22.4H83.2C38.101 137.6 0 175.701 0 220.8zm48 0c0-18.7 16.775-35.2 35.2-35.2h158.4c0-17.325-26.4-35.2-26.4-70.4 0-26.4 20.625-35.2 44-35.2 8.794 0 20.445 32.712 34.926 56.1 9.074 14.575 19.524 27.225 30.799 39.875 16.109 18.374 33.836 36.633 59.075 39.596v176.752C341.21 396.087 309.491 432 264 432h-21.299c-40.524 0-57.124-22.197-50.601-61.325-14.612-8.001-24.151-33.979-12.925-53.625-19.365-18.225-17.787-46.381-4.95-61.05H83.2C64.225 256 48 239.775 48 220.8zM448 360c13.255 0 24 10.745 24 24s-10.745 24-24 24-24-10.745-24-24 10.745-24 24-24z\"},\"child\":[]}]})(props);\n};\nexport function FaRegHandPointRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M428.8 137.6h-86.177a115.52 115.52 0 0 0 2.176-22.4c0-47.914-35.072-83.2-92-83.2-45.314 0-57.002 48.537-75.707 78.784-7.735 12.413-16.994 23.317-25.851 33.253l-.131.146-.129.148C135.662 161.807 127.764 168 120.8 168h-2.679c-5.747-4.952-13.536-8-22.12-8H32c-17.673 0-32 12.894-32 28.8v230.4C0 435.106 14.327 448 32 448h64c8.584 0 16.373-3.048 22.12-8h2.679c28.688 0 67.137 40 127.2 40h21.299c62.542 0 98.8-38.658 99.94-91.145 12.482-17.813 18.491-40.785 15.985-62.791A93.148 93.148 0 0 0 393.152 304H428.8c45.435 0 83.2-37.584 83.2-83.2 0-45.099-38.101-83.2-83.2-83.2zm0 118.4h-91.026c12.837 14.669 14.415 42.825-4.95 61.05 11.227 19.646 1.687 45.624-12.925 53.625 6.524 39.128-10.076 61.325-50.6 61.325H248c-45.491 0-77.21-35.913-120-39.676V215.571c25.239-2.964 42.966-21.222 59.075-39.596 11.275-12.65 21.725-25.3 30.799-39.875C232.355 112.712 244.006 80 252.8 80c23.375 0 44 8.8 44 35.2 0 35.2-26.4 53.075-26.4 70.4h158.4c18.425 0 35.2 16.5 35.2 35.2 0 18.975-16.225 35.2-35.2 35.2zM88 384c0 13.255-10.745 24-24 24s-24-10.745-24-24 10.745-24 24-24 24 10.745 24 24z\"},\"child\":[]}]})(props);\n};\nexport function FaRegHandPointUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M105.6 83.2v86.177a115.52 115.52 0 0 0-22.4-2.176c-47.914 0-83.2 35.072-83.2 92 0 45.314 48.537 57.002 78.784 75.707 12.413 7.735 23.317 16.994 33.253 25.851l.146.131.148.129C129.807 376.338 136 384.236 136 391.2v2.679c-4.952 5.747-8 13.536-8 22.12v64c0 17.673 12.894 32 28.8 32h230.4c15.906 0 28.8-14.327 28.8-32v-64c0-8.584-3.048-16.373-8-22.12V391.2c0-28.688 40-67.137 40-127.2v-21.299c0-62.542-38.658-98.8-91.145-99.94-17.813-12.482-40.785-18.491-62.791-15.985A93.148 93.148 0 0 0 272 118.847V83.2C272 37.765 234.416 0 188.8 0c-45.099 0-83.2 38.101-83.2 83.2zm118.4 0v91.026c14.669-12.837 42.825-14.415 61.05 4.95 19.646-11.227 45.624-1.687 53.625 12.925 39.128-6.524 61.325 10.076 61.325 50.6V264c0 45.491-35.913 77.21-39.676 120H183.571c-2.964-25.239-21.222-42.966-39.596-59.075-12.65-11.275-25.3-21.725-39.875-30.799C80.712 279.645 48 267.994 48 259.2c0-23.375 8.8-44 35.2-44 35.2 0 53.075 26.4 70.4 26.4V83.2c0-18.425 16.5-35.2 35.2-35.2 18.975 0 35.2 16.225 35.2 35.2zM352 424c13.255 0 24 10.745 24 24s-10.745 24-24 24-24-10.745-24-24 10.745-24 24-24z\"},\"child\":[]}]})(props);\n};\nexport function FaRegHandPointer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M358.182 179.361c-19.493-24.768-52.679-31.945-79.872-19.098-15.127-15.687-36.182-22.487-56.595-19.629V67c0-36.944-29.736-67-66.286-67S89.143 30.056 89.143 67v161.129c-19.909-7.41-43.272-5.094-62.083 8.872-29.355 21.795-35.793 63.333-14.55 93.152l109.699 154.001C134.632 501.59 154.741 512 176 512h178.286c30.802 0 57.574-21.5 64.557-51.797l27.429-118.999A67.873 67.873 0 0 0 448 326v-84c0-46.844-46.625-79.273-89.818-62.639zM80.985 279.697l27.126 38.079c8.995 12.626 29.031 6.287 29.031-9.283V67c0-25.12 36.571-25.16 36.571 0v175c0 8.836 7.163 16 16 16h6.857c8.837 0 16-7.164 16-16v-35c0-25.12 36.571-25.16 36.571 0v35c0 8.836 7.163 16 16 16H272c8.837 0 16-7.164 16-16v-21c0-25.12 36.571-25.16 36.571 0v21c0 8.836 7.163 16 16 16h6.857c8.837 0 16-7.164 16-16 0-25.121 36.571-25.16 36.571 0v84c0 1.488-.169 2.977-.502 4.423l-27.43 119.001c-1.978 8.582-9.29 14.576-17.782 14.576H176c-5.769 0-11.263-2.878-14.697-7.697l-109.712-154c-14.406-20.223 14.994-42.818 29.394-22.606zM176.143 400v-96c0-8.837 6.268-16 14-16h6c7.732 0 14 7.163 14 16v96c0 8.837-6.268 16-14 16h-6c-7.733 0-14-7.163-14-16zm75.428 0v-96c0-8.837 6.268-16 14-16h6c7.732 0 14 7.163 14 16v96c0 8.837-6.268 16-14 16h-6c-7.732 0-14-7.163-14-16zM327 400v-96c0-8.837 6.268-16 14-16h6c7.732 0 14 7.163 14 16v96c0 8.837-6.268 16-14 16h-6c-7.732 0-14-7.163-14-16z\"},\"child\":[]}]})(props);\n};\nexport function FaRegHandRock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M408.864 79.052c-22.401-33.898-66.108-42.273-98.813-23.588-29.474-31.469-79.145-31.093-108.334-.022-47.16-27.02-108.71 5.055-110.671 60.806C44.846 105.407 0 140.001 0 187.429v56.953c0 32.741 14.28 63.954 39.18 85.634l97.71 85.081c4.252 3.702 3.11 5.573 3.11 32.903 0 17.673 14.327 32 32 32h252c17.673 0 32-14.327 32-32 0-23.513-1.015-30.745 3.982-42.37l42.835-99.656c6.094-14.177 9.183-29.172 9.183-44.568V146.963c0-52.839-54.314-88.662-103.136-67.911zM464 261.406a64.505 64.505 0 0 1-5.282 25.613l-42.835 99.655c-5.23 12.171-7.883 25.04-7.883 38.25V432H188v-10.286c0-16.37-7.14-31.977-19.59-42.817l-97.71-85.08C56.274 281.255 48 263.236 48 244.381v-56.953c0-33.208 52-33.537 52 .677v41.228a16 16 0 0 0 5.493 12.067l7 6.095A16 16 0 0 0 139 235.429V118.857c0-33.097 52-33.725 52 .677v26.751c0 8.836 7.164 16 16 16h7c8.836 0 16-7.164 16-16v-41.143c0-33.134 52-33.675 52 .677v40.466c0 8.836 7.163 16 16 16h7c8.837 0 16-7.164 16-16v-27.429c0-33.03 52-33.78 52 .677v26.751c0 8.836 7.163 16 16 16h7c8.837 0 16-7.164 16-16 0-33.146 52-33.613 52 .677v114.445z\"},\"child\":[]}]})(props);\n};\nexport function FaRegHandScissors (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 480l70-.013c5.114 0 10.231-.583 15.203-1.729l118.999-27.427C490.56 443.835 512 417.02 512 386.277V180.575c0-23.845-13.03-45.951-34.005-57.69l-97.999-54.853c-34.409-19.261-67.263-5.824-92.218 24.733L142.85 37.008c-37.887-14.579-80.612 3.727-95.642 41.201-15.098 37.642 3.635 80.37 41.942 95.112L168 192l-94-9.141c-40.804 0-74 32.811-74 73.14 0 40.33 33.196 73.141 74 73.141h87.635c-3.675 26.245 8.692 51.297 30.341 65.006C178.657 436.737 211.044 480 256 480zm0-48.013c-25.16 0-25.12-36.567 0-36.567 8.837 0 16-7.163 16-16v-6.856c0-8.837-7.163-16-16-16h-28c-25.159 0-25.122-36.567 0-36.567h28c8.837 0 16-7.163 16-16v-6.856c0-8.837-7.163-16-16-16H74c-34.43 0-34.375-50.281 0-50.281h182c8.837 0 16-7.163 16-16v-11.632a16 16 0 0 0-10.254-14.933L106.389 128.51c-31.552-12.14-13.432-59.283 19.222-46.717l166.549 64.091a16.001 16.001 0 0 0 18.139-4.812l21.764-26.647c5.82-7.127 16.348-9.064 24.488-4.508l98 54.854c5.828 3.263 9.449 9.318 9.449 15.805v205.701c0 8.491-5.994 15.804-14.576 17.782l-119.001 27.427a19.743 19.743 0 0 1-4.423.502h-70z\"},\"child\":[]}]})(props);\n};\nexport function FaRegHandSpock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M501.03053,116.17605c-19.39059-31.50779-51.24406-35.72849-66.31044-35.01756-14.11325-50.81051-62.0038-54.08-70.73816-54.08a74.03091,74.03091,0,0,0-72.23816,58.916l-4.64648,22.66014-13.68357-53.207c-9.09569-35.37107-46.412-64.05074-89.66-53.07223a73.89749,73.89749,0,0,0-55.121,78.94722,73.68273,73.68273,0,0,0-64.8495,94.42181l24.35933,82.19721c-38.24017-7.54492-62.79677,16.18358-68.11512,21.84764a73.6791,73.6791,0,0,0,3.19921,104.19329l91.36509,85.9765A154.164,154.164,0,0,0,220.62279,512h107.4549A127.30079,127.30079,0,0,0,452.3392,413.86139l57.623-241.96272A73.20274,73.20274,0,0,0,501.03053,116.17605Zm-37.7597,44.60544L405.64788,402.74812a79.46616,79.46616,0,0,1-77.57019,61.25972H220.62279a106.34052,106.34052,0,0,1-73.1366-28.998l-91.369-85.98041C31.34381,325.72669,66.61133,288.131,91.39644,311.5392l51.123,48.10739c5.42577,5.10937,13.48239.71679,13.48239-5.82617a246.79914,246.79914,0,0,0-10.17771-70.1523l-36.01362-121.539c-9.7324-32.88279,39.69916-47.27145,49.38664-14.625l31.3437,105.77923c5.59374,18.90428,33.78119,10.71288,28.9648-8.00781L177.06427,80.23662c-8.50389-33.1035,41.43157-45.64646,49.86515-12.83593l47.32609,184.035c4.42773,17.24218,29.16207,16.5039,32.71089-.80468l31.791-154.9706c6.81054-33.1074,57.51748-24.10741,50.11906,11.96288L360.32764,246.78924c-3.72265,18.10936,23.66793,24.63084,28.05659,6.21679L413.185,148.85962C421.1498,115.512,471.14,127.79713,463.27083,160.78149Z\"},\"child\":[]}]})(props);\n};\nexport function FaRegHandshake (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M519.2 127.9l-47.6-47.6A56.252 56.252 0 0 0 432 64H205.2c-14.8 0-29.1 5.9-39.6 16.3L118 127.9H0v255.7h64c17.6 0 31.8-14.2 31.9-31.7h9.1l84.6 76.4c30.9 25.1 73.8 25.7 105.6 3.8 12.5 10.8 26 15.9 41.1 15.9 18.2 0 35.3-7.4 48.8-24 22.1 8.7 48.2 2.6 64-16.8l26.2-32.3c5.6-6.9 9.1-14.8 10.9-23h57.9c.1 17.5 14.4 31.7 31.9 31.7h64V127.9H519.2zM48 351.6c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16c0 8.9-7.2 16-16 16zm390-6.9l-26.1 32.2c-2.8 3.4-7.8 4-11.3 1.2l-23.9-19.4-30 36.5c-6 7.3-15 4.8-18 2.4l-36.8-31.5-15.6 19.2c-13.9 17.1-39.2 19.7-55.3 6.6l-97.3-88H96V175.8h41.9l61.7-61.6c2-.8 3.7-1.5 5.7-2.3H262l-38.7 35.5c-29.4 26.9-31.1 72.3-4.4 101.3 14.8 16.2 61.2 41.2 101.5 4.4l8.2-7.5 108.2 87.8c3.4 2.8 3.9 7.9 1.2 11.3zm106-40.8h-69.2c-2.3-2.8-4.9-5.4-7.7-7.7l-102.7-83.4 12.5-11.4c6.5-6 7-16.1 1-22.6L367 167.1c-6-6.5-16.1-6.9-22.6-1l-55.2 50.6c-9.5 8.7-25.7 9.4-34.6 0-9.3-9.9-8.5-25.1 1.2-33.9l65.6-60.1c7.4-6.8 17-10.5 27-10.5l83.7-.2c2.1 0 4.1.8 5.5 2.3l61.7 61.6H544v128zm48 47.7c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16c0 8.9-7.2 16-16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaRegHdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M567.403 235.642L462.323 84.589A48 48 0 0 0 422.919 64H153.081a48 48 0 0 0-39.404 20.589L8.597 235.642A48.001 48.001 0 0 0 0 263.054V400c0 26.51 21.49 48 48 48h480c26.51 0 48-21.49 48-48V263.054c0-9.801-3-19.366-8.597-27.412zM153.081 112h269.838l77.913 112H75.168l77.913-112zM528 400H48V272h480v128zm-32-64c0 17.673-14.327 32-32 32s-32-14.327-32-32 14.327-32 32-32 32 14.327 32 32zm-96 0c0 17.673-14.327 32-32 32s-32-14.327-32-32 14.327-32 32-32 32 14.327 32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaRegHeart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M458.4 64.3C400.6 15.7 311.3 23 256 79.3 200.7 23 111.4 15.6 53.6 64.3-21.6 127.6-10.6 230.8 43 285.5l175.4 178.7c10 10.2 23.4 15.9 37.6 15.9 14.3 0 27.6-5.6 37.6-15.8L469 285.6c53.5-54.7 64.7-157.9-10.6-221.3zm-23.6 187.5L259.4 430.5c-2.4 2.4-4.4 2.4-6.8 0L77.2 251.8c-36.5-37.2-43.9-107.6 7.3-150.7 38.9-32.7 98.9-27.8 136.5 10.5l35 35.7 35-35.7c37.8-38.5 97.8-43.2 136.5-10.6 51.1 43.1 43.5 113.9 7.3 150.8z\"},\"child\":[]}]})(props);\n};\nexport function FaRegHospital (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M128 244v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12zm140 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12zm-76 84v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm76 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12zm180 124v36H0v-36c0-6.627 5.373-12 12-12h19.5V85.035C31.5 73.418 42.245 64 55.5 64H144V24c0-13.255 10.745-24 24-24h112c13.255 0 24 10.745 24 24v40h88.5c13.255 0 24 9.418 24 21.035V464H436c6.627 0 12 5.373 12 12zM79.5 463H192v-67c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v67h112.5V112H304v24c0 13.255-10.745 24-24 24H168c-13.255 0-24-10.745-24-24v-24H79.5v351zM266 64h-26V38a6 6 0 0 0-6-6h-20a6 6 0 0 0-6 6v26h-26a6 6 0 0 0-6 6v20a6 6 0 0 0 6 6h26v26a6 6 0 0 0 6 6h20a6 6 0 0 0 6-6V96h26a6 6 0 0 0 6-6V70a6 6 0 0 0-6-6z\"},\"child\":[]}]})(props);\n};\nexport function FaRegHourglass (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M368 48h4c6.627 0 12-5.373 12-12V12c0-6.627-5.373-12-12-12H12C5.373 0 0 5.373 0 12v24c0 6.627 5.373 12 12 12h4c0 80.564 32.188 165.807 97.18 208C47.899 298.381 16 383.9 16 464h-4c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h360c6.627 0 12-5.373 12-12v-24c0-6.627-5.373-12-12-12h-4c0-80.564-32.188-165.807-97.18-208C336.102 213.619 368 128.1 368 48zM64 48h256c0 101.62-57.307 184-128 184S64 149.621 64 48zm256 416H64c0-101.62 57.308-184 128-184s128 82.38 128 184z\"},\"child\":[]}]})(props);\n};\nexport function FaRegIdBadge (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 384 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M336 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm0 464H48V48h288v416zM144 112h96c8.8 0 16-7.2 16-16s-7.2-16-16-16h-96c-8.8 0-16 7.2-16 16s7.2 16 16 16zm48 176c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm-89.6 128h179.2c12.4 0 22.4-8.6 22.4-19.2v-19.2c0-31.8-30.1-57.6-67.2-57.6-10.8 0-18.7 8-44.8 8-26.9 0-33.4-8-44.8-8-37.1 0-67.2 25.8-67.2 57.6v19.2c0 10.6 10 19.2 22.4 19.2z\"},\"child\":[]}]})(props);\n};\nexport function FaRegIdCard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 400H303.2c.9-4.5.8 3.6.8-22.4 0-31.8-30.1-57.6-67.2-57.6-10.8 0-18.7 8-44.8 8-26.9 0-33.4-8-44.8-8-37.1 0-67.2 25.8-67.2 57.6 0 26-.2 17.9.8 22.4H48V144h480v288zm-168-80h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm0-64h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm0-64h112c4.4 0 8-3.6 8-8v-16c0-4.4-3.6-8-8-8H360c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8zm-168 96c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64z\"},\"child\":[]}]})(props);\n};\nexport function FaRegImage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm-6 336H54a6 6 0 0 1-6-6V118a6 6 0 0 1 6-6h404a6 6 0 0 1 6 6v276a6 6 0 0 1-6 6zM128 152c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zM96 352h320v-80l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L192 304l-39.515-39.515c-4.686-4.686-12.284-4.686-16.971 0L96 304v48z\"},\"child\":[]}]})(props);\n};\nexport function FaRegImages (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M480 416v16c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V176c0-26.51 21.49-48 48-48h16v48H54a6 6 0 0 0-6 6v244a6 6 0 0 0 6 6h372a6 6 0 0 0 6-6v-10h48zm42-336H150a6 6 0 0 0-6 6v244a6 6 0 0 0 6 6h372a6 6 0 0 0 6-6V86a6 6 0 0 0-6-6zm6-48c26.51 0 48 21.49 48 48v256c0 26.51-21.49 48-48 48H144c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h384zM264 144c0 22.091-17.909 40-40 40s-40-17.909-40-40 17.909-40 40-40 40 17.909 40 40zm-72 96l39.515-39.515c4.686-4.686 12.284-4.686 16.971 0L288 240l103.515-103.515c4.686-4.686 12.284-4.686 16.971 0L480 208v80H192v-48z\"},\"child\":[]}]})(props);\n};\nexport function FaRegKeyboard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M528 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h480c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm8 336c0 4.411-3.589 8-8 8H48c-4.411 0-8-3.589-8-8V112c0-4.411 3.589-8 8-8h480c4.411 0 8 3.589 8 8v288zM170 270v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm-336 82v-28c0-6.627-5.373-12-12-12H82c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm384 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zM122 188v-28c0-6.627-5.373-12-12-12H82c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm-98 158v-16c0-6.627-5.373-12-12-12H180c-6.627 0-12 5.373-12 12v16c0 6.627 5.373 12 12 12h216c6.627 0 12-5.373 12-12z\"},\"child\":[]}]})(props);\n};\nexport function FaRegKissBeam (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M168 152c-23.8 0-52.7 29.3-56 71.4-.3 3.7 2 7.2 5.6 8.3 3.5 1 7.5-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 5.9-4.5 5.6-8.3-3.1-42.1-32-71.4-55.8-71.4zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm56-148c0-19.2-28.8-41.5-71.5-44-3.8-.4-7.4 2.4-8.2 6.2-.9 3.8 1.1 7.7 4.7 9.2l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-5.7 2.4-6 12.2 0 14.8l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-3.6 1.5-5.6 5.4-4.7 9.2.8 3.6 4.1 6.2 7.8 6.2h.5c42.8-2.5 71.5-24.8 71.5-44 0-13-13.4-27.3-35.2-36C290.6 335.3 304 321 304 308zm24-156c-23.8 0-52.7 29.3-56 71.4-.3 3.7 2 7.2 5.6 8.3 3.5 1 7.5-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 5.9-4.5 5.6-8.3-3.1-42.1-32-71.4-55.8-71.4z\"},\"child\":[]}]})(props);\n};\nexport function FaRegKissWinkHeart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 504 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M304 308.5c0-19.2-28.8-41.5-71.5-44-3.8-.4-7.4 2.4-8.2 6.2-.9 3.8 1.1 7.7 4.7 9.2l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-5.7 2.4-6 12.2 0 14.8l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-3.6 1.5-5.6 5.4-4.7 9.2.8 3.6 4.1 6.2 7.8 6.2h.5c42.8-2.5 71.5-24.8 71.5-44 0-13-13.4-27.3-35.2-36 21.7-9.1 35.1-23.4 35.1-36.4zm70.5-83.5l9.5 8.5c3.8 3.3 9.3 4 13.7 1.6 4.4-2.4 6.9-7.4 6.1-12.4-4-25.2-34.2-42.1-59.8-42.1s-55.9 16.9-59.8 42.1c-.8 5 1.7 10 6.1 12.4 5.8 3.1 11.2.7 13.7-1.6l9.5-8.5c14.8-13.2 46.2-13.2 61 0zM136 208.5c0 17.7 14.3 32 32 32s32-14.3 32-32-14.3-32-32-32-32 14.3-32 32zm365.1 194c-8-20.8-31.5-31.5-53.1-25.9l-8.4 2.2-2.3-8.4c-5.9-21.4-27-36.5-49-33-25.2 4-40.6 28.6-34 52.6l22.9 82.6c1.5 5.3 7 8.5 12.4 7.1l83-21.5c24.1-6.3 37.7-31.8 28.5-55.7zM334 436.3c-26.1 12.5-55.2 19.7-86 19.7-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200c0 22.1-3.7 43.3-10.4 63.2 9 6.4 17 14.2 22.6 23.9 6.4.1 12.6 1.4 18.6 2.9 10.9-27.9 17.1-58.2 17.1-90C496 119 385 8 248 8S0 119 0 256s111 248 248 248c35.4 0 68.9-7.5 99.4-20.9-2.5-7.3 4.3 17.2-13.4-46.8z\"},\"child\":[]}]})(props);\n};\nexport function FaRegKiss (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M168 176c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm136 132c0-19.2-28.8-41.5-71.5-44-3.8-.4-7.4 2.4-8.2 6.2-.9 3.8 1.1 7.7 4.7 9.2l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-5.7 2.4-6 12.2 0 14.8l16.9 7.2c13 5.5 20.8 13.5 20.8 21.5s-7.8 16-20.7 21.5l-17 7.2c-3.6 1.5-5.6 5.4-4.7 9.2.8 3.6 4.1 6.2 7.8 6.2h.5c42.8-2.5 71.5-24.8 71.5-44 0-13-13.4-27.3-35.2-36C290.6 335.3 304 321 304 308zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm80-280c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaRegLaughBeam (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm141.4 389.4c-37.8 37.8-88 58.6-141.4 58.6s-103.6-20.8-141.4-58.6S48 309.4 48 256s20.8-103.6 58.6-141.4S194.6 56 248 56s103.6 20.8 141.4 58.6S448 202.6 448 256s-20.8 103.6-58.6 141.4zM328 152c-23.8 0-52.7 29.3-56 71.4-.7 8.6 10.8 11.9 14.9 4.5l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c4.1 7.4 15.6 4 14.9-4.5-3.1-42.1-32-71.4-55.8-71.4zm-201 75.9l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c4.1 7.4 15.6 4 14.9-4.5-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.6 8.5 10.9 11.9 15.1 4.5zM362.4 288H133.6c-8.2 0-14.5 7-13.5 15 7.5 59.2 58.9 105 121.1 105h13.6c62.2 0 113.6-45.8 121.1-105 1-8-5.3-15-13.5-15z\"},\"child\":[]}]})(props);\n};\nexport function FaRegLaughSquint (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm141.4 389.4c-37.8 37.8-88 58.6-141.4 58.6s-103.6-20.8-141.4-58.6S48 309.4 48 256s20.8-103.6 58.6-141.4S194.6 56 248 56s103.6 20.8 141.4 58.6S448 202.6 448 256s-20.8 103.6-58.6 141.4zM343.6 196l33.6-40.3c8.6-10.3-3.8-24.8-15.4-18l-80 48c-7.8 4.7-7.8 15.9 0 20.6l80 48c11.5 6.8 24-7.6 15.4-18L343.6 196zm-209.4 58.3l80-48c7.8-4.7 7.8-15.9 0-20.6l-80-48c-11.6-6.9-24 7.7-15.4 18l33.6 40.3-33.6 40.3c-8.7 10.4 3.8 24.8 15.4 18zM362.4 288H133.6c-8.2 0-14.5 7-13.5 15 7.5 59.2 58.9 105 121.1 105h13.6c62.2 0 113.6-45.8 121.1-105 1-8-5.3-15-13.5-15z\"},\"child\":[]}]})(props);\n};\nexport function FaRegLaughWink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm141.4 389.4c-37.8 37.8-88 58.6-141.4 58.6s-103.6-20.8-141.4-58.6C68.8 359.6 48 309.4 48 256s20.8-103.6 58.6-141.4C144.4 76.8 194.6 56 248 56s103.6 20.8 141.4 58.6c37.8 37.8 58.6 88 58.6 141.4s-20.8 103.6-58.6 141.4zM328 164c-25.7 0-55.9 16.9-59.9 42.1-1.7 11.2 11.5 18.2 19.8 10.8l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c8.5 7.4 21.6.3 19.8-10.8-3.8-25.2-34-42.1-59.7-42.1zm-160 60c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm194.4 64H133.6c-8.2 0-14.5 7-13.5 15 7.5 59.2 58.9 105 121.1 105h13.6c62.2 0 113.6-45.8 121.1-105 1-8-5.3-15-13.5-15z\"},\"child\":[]}]})(props);\n};\nexport function FaRegLaugh (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm141.4 389.4c-37.8 37.8-88 58.6-141.4 58.6s-103.6-20.8-141.4-58.6S48 309.4 48 256s20.8-103.6 58.6-141.4S194.6 56 248 56s103.6 20.8 141.4 58.6S448 202.6 448 256s-20.8 103.6-58.6 141.4zM328 224c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm-160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm194.4 64H133.6c-8.2 0-14.5 7-13.5 15 7.5 59.2 58.9 105 121.1 105h13.6c62.2 0 113.6-45.8 121.1-105 1-8-5.3-15-13.5-15z\"},\"child\":[]}]})(props);\n};\nexport function FaRegLemon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M484.112 27.889C455.989-.233 416.108-8.057 387.059 8.865 347.604 31.848 223.504-41.111 91.196 91.197-41.277 223.672 31.923 347.472 8.866 387.058c-16.922 29.051-9.1 68.932 19.022 97.054 28.135 28.135 68.011 35.938 97.057 19.021 39.423-22.97 163.557 49.969 295.858-82.329 132.474-132.477 59.273-256.277 82.331-295.861 16.922-29.05 9.1-68.931-19.022-97.054zm-22.405 72.894c-38.8 66.609 45.6 165.635-74.845 286.08-120.44 120.443-219.475 36.048-286.076 74.843-22.679 13.207-64.035-27.241-50.493-50.488 38.8-66.609-45.6-165.635 74.845-286.08C245.573 4.702 344.616 89.086 411.219 50.292c22.73-13.24 64.005 27.288 50.488 50.491zm-169.861 8.736c1.37 10.96-6.404 20.957-17.365 22.327-54.846 6.855-135.779 87.787-142.635 142.635-1.373 10.989-11.399 18.734-22.326 17.365-10.961-1.37-18.735-11.366-17.365-22.326 9.162-73.286 104.167-168.215 177.365-177.365 10.953-1.368 20.956 6.403 22.326 17.364z\"},\"child\":[]}]})(props);\n};\nexport function FaRegLifeRing (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 504c136.967 0 248-111.033 248-248S392.967 8 256 8 8 119.033 8 256s111.033 248 248 248zm-103.398-76.72l53.411-53.411c31.806 13.506 68.128 13.522 99.974 0l53.411 53.411c-63.217 38.319-143.579 38.319-206.796 0zM336 256c0 44.112-35.888 80-80 80s-80-35.888-80-80 35.888-80 80-80 80 35.888 80 80zm91.28 103.398l-53.411-53.411c13.505-31.806 13.522-68.128 0-99.974l53.411-53.411c38.319 63.217 38.319 143.579 0 206.796zM359.397 84.72l-53.411 53.411c-31.806-13.505-68.128-13.522-99.973 0L152.602 84.72c63.217-38.319 143.579-38.319 206.795 0zM84.72 152.602l53.411 53.411c-13.506 31.806-13.522 68.128 0 99.974L84.72 359.398c-38.319-63.217-38.319-143.579 0-206.796z\"},\"child\":[]}]})(props);\n};\nexport function FaRegLightbulb (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 352 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M176 80c-52.94 0-96 43.06-96 96 0 8.84 7.16 16 16 16s16-7.16 16-16c0-35.3 28.72-64 64-64 8.84 0 16-7.16 16-16s-7.16-16-16-16zM96.06 459.17c0 3.15.93 6.22 2.68 8.84l24.51 36.84c2.97 4.46 7.97 7.14 13.32 7.14h78.85c5.36 0 10.36-2.68 13.32-7.14l24.51-36.84c1.74-2.62 2.67-5.7 2.68-8.84l.05-43.18H96.02l.04 43.18zM176 0C73.72 0 0 82.97 0 176c0 44.37 16.45 84.85 43.56 115.78 16.64 18.99 42.74 58.8 52.42 92.16v.06h48v-.12c-.01-4.77-.72-9.51-2.15-14.07-5.59-17.81-22.82-64.77-62.17-109.67-20.54-23.43-31.52-53.15-31.61-84.14-.2-73.64 59.67-128 127.95-128 70.58 0 128 57.42 128 128 0 30.97-11.24 60.85-31.65 84.14-39.11 44.61-56.42 91.47-62.1 109.46a47.507 47.507 0 0 0-2.22 14.3v.1h48v-.05c9.68-33.37 35.78-73.18 52.42-92.16C335.55 260.85 352 220.37 352 176 352 78.8 273.2 0 176 0z\"},\"child\":[]}]})(props);\n};\nexport function FaRegListAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zm-6 400H54a6 6 0 0 1-6-6V86a6 6 0 0 1 6-6h404a6 6 0 0 1 6 6v340a6 6 0 0 1-6 6zm-42-92v24c0 6.627-5.373 12-12 12H204c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h200c6.627 0 12 5.373 12 12zm0-96v24c0 6.627-5.373 12-12 12H204c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h200c6.627 0 12 5.373 12 12zm0-96v24c0 6.627-5.373 12-12 12H204c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h200c6.627 0 12 5.373 12 12zm-252 12c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36zm0 96c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36zm0 96c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36z\"},\"child\":[]}]})(props);\n};\nexport function FaRegMap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M560.02 32c-1.96 0-3.98.37-5.96 1.16L384.01 96H384L212 35.28A64.252 64.252 0 0 0 191.76 32c-6.69 0-13.37 1.05-19.81 3.14L20.12 87.95A32.006 32.006 0 0 0 0 117.66v346.32C0 473.17 7.53 480 15.99 480c1.96 0 3.97-.37 5.96-1.16L192 416l172 60.71a63.98 63.98 0 0 0 40.05.15l151.83-52.81A31.996 31.996 0 0 0 576 394.34V48.02c0-9.19-7.53-16.02-15.98-16.02zM224 90.42l128 45.19v285.97l-128-45.19V90.42zM48 418.05V129.07l128-44.53v286.2l-.64.23L48 418.05zm480-35.13l-128 44.53V141.26l.64-.24L528 93.95v288.97z\"},\"child\":[]}]})(props);\n};\nexport function FaRegMehBlank (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-280c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm160 0c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaRegMehRollingEyes (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm88-304c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72zm0 112c-22.1 0-40-17.9-40-40 0-13.6 7.3-25.1 17.7-32.3-1 2.6-1.7 5.3-1.7 8.3 0 13.3 10.7 24 24 24s24-10.7 24-24c0-2.9-.7-5.7-1.7-8.3 10.4 7.2 17.7 18.7 17.7 32.3 0 22.1-17.9 40-40 40zm-104-40c0-39.8-32.2-72-72-72s-72 32.2-72 72 32.2 72 72 72 72-32.2 72-72zm-112 0c0-13.6 7.3-25.1 17.7-32.3-1 2.6-1.7 5.3-1.7 8.3 0 13.3 10.7 24 24 24s24-10.7 24-24c0-2.9-.7-5.7-1.7-8.3 10.4 7.2 17.7 18.7 17.7 32.3 0 22.1-17.9 40-40 40s-40-17.9-40-40zm192 128H184c-13.2 0-24 10.8-24 24s10.8 24 24 24h128c13.2 0 24-10.8 24-24s-10.8-24-24-24z\"},\"child\":[]}]})(props);\n};\nexport function FaRegMeh (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160-64c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm8 144H160c-13.2 0-24 10.8-24 24s10.8 24 24 24h176c13.2 0 24-10.8 24-24s-10.8-24-24-24z\"},\"child\":[]}]})(props);\n};\nexport function FaRegMinusSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M108 284c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h232c6.6 0 12 5.4 12 12v32c0 6.6-5.4 12-12 12H108zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"},\"child\":[]}]})(props);\n};\nexport function FaRegMoneyBillAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 640 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M320 144c-53.02 0-96 50.14-96 112 0 61.85 42.98 112 96 112 53 0 96-50.13 96-112 0-61.86-42.98-112-96-112zm40 168c0 4.42-3.58 8-8 8h-64c-4.42 0-8-3.58-8-8v-16c0-4.42 3.58-8 8-8h16v-55.44l-.47.31a7.992 7.992 0 0 1-11.09-2.22l-8.88-13.31a7.992 7.992 0 0 1 2.22-11.09l15.33-10.22a23.99 23.99 0 0 1 13.31-4.03H328c4.42 0 8 3.58 8 8v88h16c4.42 0 8 3.58 8 8v16zM608 64H32C14.33 64 0 78.33 0 96v320c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V96c0-17.67-14.33-32-32-32zm-16 272c-35.35 0-64 28.65-64 64H112c0-35.35-28.65-64-64-64V176c35.35 0 64-28.65 64-64h416c0 35.35 28.65 64 64 64v160z\"},\"child\":[]}]})(props);\n};\nexport function FaRegMoon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M279.135 512c78.756 0 150.982-35.804 198.844-94.775 28.27-34.831-2.558-85.722-46.249-77.401-82.348 15.683-158.272-47.268-158.272-130.792 0-48.424 26.06-92.292 67.434-115.836 38.745-22.05 28.999-80.788-15.022-88.919A257.936 257.936 0 0 0 279.135 0c-141.36 0-256 114.575-256 256 0 141.36 114.576 256 256 256zm0-464c12.985 0 25.689 1.201 38.016 3.478-54.76 31.163-91.693 90.042-91.693 157.554 0 113.848 103.641 199.2 215.252 177.944C402.574 433.964 344.366 464 279.135 464c-114.875 0-208-93.125-208-208s93.125-208 208-208z\"},\"child\":[]}]})(props);\n};\nexport function FaRegNewspaper (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M552 64H112c-20.858 0-38.643 13.377-45.248 32H24c-13.255 0-24 10.745-24 24v272c0 30.928 25.072 56 56 56h496c13.255 0 24-10.745 24-24V88c0-13.255-10.745-24-24-24zM48 392V144h16v248c0 4.411-3.589 8-8 8s-8-3.589-8-8zm480 8H111.422c.374-2.614.578-5.283.578-8V112h416v288zM172 280h136c6.627 0 12-5.373 12-12v-96c0-6.627-5.373-12-12-12H172c-6.627 0-12 5.373-12 12v96c0 6.627 5.373 12 12 12zm28-80h80v40h-80v-40zm-40 140v-24c0-6.627 5.373-12 12-12h136c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H172c-6.627 0-12-5.373-12-12zm192 0v-24c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H364c-6.627 0-12-5.373-12-12zm0-144v-24c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H364c-6.627 0-12-5.373-12-12zm0 72v-24c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H364c-6.627 0-12-5.373-12-12z\"},\"child\":[]}]})(props);\n};\nexport function FaRegObjectGroup (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M500 128c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12h-72c-6.627 0-12 5.373-12 12v12H96V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v72c0 6.627 5.373 12 12 12h12v256H12c-6.627 0-12 5.373-12 12v72c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-12h320v12c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-12V128h12zm-52-64h32v32h-32V64zM32 64h32v32H32V64zm32 384H32v-32h32v32zm416 0h-32v-32h32v32zm-40-64h-12c-6.627 0-12 5.373-12 12v12H96v-12c0-6.627-5.373-12-12-12H72V128h12c6.627 0 12-5.373 12-12v-12h320v12c0 6.627 5.373 12 12 12h12v256zm-36-192h-84v-52c0-6.628-5.373-12-12-12H108c-6.627 0-12 5.372-12 12v168c0 6.628 5.373 12 12 12h84v52c0 6.628 5.373 12 12 12h200c6.627 0 12-5.372 12-12V204c0-6.628-5.373-12-12-12zm-268-24h144v112H136V168zm240 176H232v-24h76c6.627 0 12-5.372 12-12v-76h56v112z\"},\"child\":[]}]})(props);\n};\nexport function FaRegObjectUngroup (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M564 224c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-72c-6.627 0-12 5.373-12 12v12h-88v-24h12c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12h-72c-6.627 0-12 5.373-12 12v12H96V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v72c0 6.627 5.373 12 12 12h12v160H12c-6.627 0-12 5.373-12 12v72c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-12h88v24h-12c-6.627 0-12 5.373-12 12v72c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-12h224v12c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-12V224h12zM352 64h32v32h-32V64zm0 256h32v32h-32v-32zM64 352H32v-32h32v32zm0-256H32V64h32v32zm32 216v-12c0-6.627-5.373-12-12-12H72V128h12c6.627 0 12-5.373 12-12v-12h224v12c0 6.627 5.373 12 12 12h12v160h-12c-6.627 0-12 5.373-12 12v12H96zm128 136h-32v-32h32v32zm280-64h-12c-6.627 0-12 5.373-12 12v12H256v-12c0-6.627-5.373-12-12-12h-12v-24h88v12c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-12v-88h88v12c0 6.627 5.373 12 12 12h12v160zm40 64h-32v-32h32v32zm0-256h-32v-32h32v32z\"},\"child\":[]}]})(props);\n};\nexport function FaRegPaperPlane (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M440 6.5L24 246.4c-34.4 19.9-31.1 70.8 5.7 85.9L144 379.6V464c0 46.4 59.2 65.5 86.6 28.6l43.8-59.1 111.9 46.2c5.9 2.4 12.1 3.6 18.3 3.6 8.2 0 16.3-2.1 23.6-6.2 12.8-7.2 21.6-20 23.9-34.5l59.4-387.2c6.1-40.1-36.9-68.8-71.5-48.9zM192 464v-64.6l36.6 15.1L192 464zm212.6-28.7l-153.8-63.5L391 169.5c10.7-15.5-9.5-33.5-23.7-21.2L155.8 332.6 48 288 464 48l-59.4 387.3z\"},\"child\":[]}]})(props);\n};\nexport function FaRegPauseCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm96-280v160c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16zm-112 0v160c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaRegPlayCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M371.7 238l-176-107c-15.8-8.8-35.7 2.5-35.7 21v208c0 18.4 19.8 29.8 35.7 21l176-101c16.4-9.1 16.4-32.8 0-42zM504 256C504 119 393 8 256 8S8 119 8 256s111 248 248 248 248-111 248-248zm-448 0c0-110.5 89.5-200 200-200s200 89.5 200 200-89.5 200-200 200S56 366.5 56 256z\"},\"child\":[]}]})(props);\n};\nexport function FaRegPlusSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M352 240v32c0 6.6-5.4 12-12 12h-88v88c0 6.6-5.4 12-12 12h-32c-6.6 0-12-5.4-12-12v-88h-88c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h88v-88c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v88h88c6.6 0 12 5.4 12 12zm96-160v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z\"},\"child\":[]}]})(props);\n};\nexport function FaRegQuestionCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 448c-110.532 0-200-89.431-200-200 0-110.495 89.472-200 200-200 110.491 0 200 89.471 200 200 0 110.53-89.431 200-200 200zm107.244-255.2c0 67.052-72.421 68.084-72.421 92.863V300c0 6.627-5.373 12-12 12h-45.647c-6.627 0-12-5.373-12-12v-8.659c0-35.745 27.1-50.034 47.579-61.516 17.561-9.845 28.324-16.541 28.324-29.579 0-17.246-21.999-28.693-39.784-28.693-23.189 0-33.894 10.977-48.942 29.969-4.057 5.12-11.46 6.071-16.666 2.124l-27.824-21.098c-5.107-3.872-6.251-11.066-2.644-16.363C184.846 131.491 214.94 112 261.794 112c49.071 0 101.45 38.304 101.45 88.8zM298 368c0 23.159-18.841 42-42 42s-42-18.841-42-42 18.841-42 42-42 42 18.841 42 42z\"},\"child\":[]}]})(props);\n};\nexport function FaRegRegistered (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 448c-110.532 0-200-89.451-200-200 0-110.531 89.451-200 200-200 110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200zm110.442-81.791c-53.046-96.284-50.25-91.468-53.271-96.085 24.267-13.879 39.482-41.563 39.482-73.176 0-52.503-30.247-85.252-101.498-85.252h-78.667c-6.617 0-12 5.383-12 12V380c0 6.617 5.383 12 12 12h38.568c6.617 0 12-5.383 12-12v-83.663h31.958l47.515 89.303a11.98 11.98 0 0 0 10.593 6.36h42.81c9.14 0 14.914-9.799 10.51-17.791zM256.933 239.906h-33.875v-64.14h27.377c32.417 0 38.929 12.133 38.929 31.709-.001 20.913-11.518 32.431-32.431 32.431z\"},\"child\":[]}]})(props);\n};\nexport function FaRegSadCry (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm144 386.4V280c0-13.2-10.8-24-24-24s-24 10.8-24 24v151.4C315.5 447 282.8 456 248 456s-67.5-9-96-24.6V280c0-13.2-10.8-24-24-24s-24 10.8-24 24v114.4c-34.6-36-56-84.7-56-138.4 0-110.3 89.7-200 200-200s200 89.7 200 200c0 53.7-21.4 102.5-56 138.4zM205.8 234.5c4.4-2.4 6.9-7.4 6.1-12.4-4-25.2-34.2-42.1-59.8-42.1s-55.9 16.9-59.8 42.1c-.8 5 1.7 10 6.1 12.4 4.4 2.4 9.9 1.8 13.7-1.6l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c2.5 2.3 7.9 4.8 13.7 1.6zM344 180c-25.7 0-55.9 16.9-59.8 42.1-.8 5 1.7 10 6.1 12.4 4.5 2.4 9.9 1.8 13.7-1.6l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c2.5 2.2 8 4.7 13.7 1.6 4.4-2.4 6.9-7.4 6.1-12.4-3.9-25.2-34.1-42.1-59.8-42.1zm-96 92c-30.9 0-56 28.7-56 64s25.1 64 56 64 56-28.7 56-64-25.1-64-56-64z\"},\"child\":[]}]})(props);\n};\nexport function FaRegSadTear (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm8-152c-13.2 0-24 10.8-24 24s10.8 24 24 24c23.8 0 46.3 10.5 61.6 28.8 8.1 9.8 23.2 11.9 33.8 3.1 10.2-8.5 11.6-23.6 3.1-33.8C330 320.8 294.1 304 256 304zm-88-64c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160-64c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32zm-165.6 98.8C151 290.1 126 325.4 126 342.9c0 22.7 18.8 41.1 42 41.1s42-18.4 42-41.1c0-17.5-25-52.8-36.4-68.1-2.8-3.7-8.4-3.7-11.2 0z\"},\"child\":[]}]})(props);\n};\nexport function FaRegSave (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M433.941 129.941l-83.882-83.882A48 48 0 0 0 316.118 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V163.882a48 48 0 0 0-14.059-33.941zM272 80v80H144V80h128zm122 352H54a6 6 0 0 1-6-6V86a6 6 0 0 1 6-6h42v104c0 13.255 10.745 24 24 24h176c13.255 0 24-10.745 24-24V83.882l78.243 78.243a6 6 0 0 1 1.757 4.243V426a6 6 0 0 1-6 6zM224 232c-48.523 0-88 39.477-88 88s39.477 88 88 88 88-39.477 88-88-39.477-88-88-88zm0 128c-22.056 0-40-17.944-40-40s17.944-40 40-40 40 17.944 40 40-17.944 40-40 40z\"},\"child\":[]}]})(props);\n};\nexport function FaRegShareSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M561.938 158.06L417.94 14.092C387.926-15.922 336 5.097 336 48.032v57.198c-42.45 1.88-84.03 6.55-120.76 17.99-35.17 10.95-63.07 27.58-82.91 49.42C108.22 199.2 96 232.6 96 271.94c0 61.697 33.178 112.455 84.87 144.76 37.546 23.508 85.248-12.651 71.02-55.74-15.515-47.119-17.156-70.923 84.11-78.76V336c0 42.993 51.968 63.913 81.94 33.94l143.998-144c18.75-18.74 18.75-49.14 0-67.88zM384 336V232.16C255.309 234.082 166.492 255.35 206.31 376 176.79 357.55 144 324.08 144 271.94c0-109.334 129.14-118.947 240-119.85V48l144 144-144 144zm24.74 84.493a82.658 82.658 0 0 0 20.974-9.303c7.976-4.952 18.286.826 18.286 10.214V464c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h132c6.627 0 12 5.373 12 12v4.486c0 4.917-2.987 9.369-7.569 11.152-13.702 5.331-26.396 11.537-38.05 18.585a12.138 12.138 0 0 1-6.28 1.777H54a6 6 0 0 0-6 6v340a6 6 0 0 0 6 6h340a6 6 0 0 0 6-6v-25.966c0-5.37 3.579-10.059 8.74-11.541z\"},\"child\":[]}]})(props);\n};\nexport function FaRegSmileBeam (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm84-143.4c-20.8 25-51.5 39.4-84 39.4s-63.2-14.3-84-39.4c-8.5-10.2-23.6-11.5-33.8-3.1-10.2 8.5-11.5 23.6-3.1 33.8 30 36 74.1 56.6 120.9 56.6s90.9-20.6 120.9-56.6c8.5-10.2 7.1-25.3-3.1-33.8-10.2-8.4-25.3-7.1-33.8 3.1zM136.5 211c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4s-52.7 29.3-56 71.4c-.3 3.7 2.1 7.2 5.7 8.3 3.4 1.1 7.4-.5 9.3-3.7l9.5-17zM328 152c-23.8 0-52.7 29.3-56 71.4-.3 3.7 2.1 7.2 5.7 8.3 3.5 1.1 7.4-.5 9.3-3.7l9.5-17c7.7-13.7 19.2-21.6 31.5-21.6s23.8 7.9 31.5 21.6l9.5 17c2.1 3.7 6.2 4.7 9.3 3.7 3.6-1.1 6-4.5 5.7-8.3-3.3-42.1-32.2-71.4-56-71.4z\"},\"child\":[]}]})(props);\n};\nexport function FaRegSmileWink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm117.8-146.4c-10.2-8.5-25.3-7.1-33.8 3.1-20.8 25-51.5 39.4-84 39.4s-63.2-14.3-84-39.4c-8.5-10.2-23.7-11.5-33.8-3.1-10.2 8.5-11.5 23.6-3.1 33.8 30 36 74.1 56.6 120.9 56.6s90.9-20.6 120.9-56.6c8.5-10.2 7.1-25.3-3.1-33.8zM168 240c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160-60c-25.7 0-55.9 16.9-59.9 42.1-1.7 11.2 11.5 18.2 19.8 10.8l9.5-8.5c14.8-13.2 46.2-13.2 61 0l9.5 8.5c8.5 7.4 21.6.3 19.8-10.8-3.8-25.2-34-42.1-59.7-42.1z\"},\"child\":[]}]})(props);\n};\nexport function FaRegSmile (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm4 72.6c-20.8 25-51.5 39.4-84 39.4s-63.2-14.3-84-39.4c-8.5-10.2-23.7-11.5-33.8-3.1-10.2 8.5-11.5 23.6-3.1 33.8 30 36 74.1 56.6 120.9 56.6s90.9-20.6 120.9-56.6c8.5-10.2 7.1-25.3-3.1-33.8-10.1-8.4-25.3-7.1-33.8 3.1z\"},\"child\":[]}]})(props);\n};\nexport function FaRegSnowflake (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M440.1 355.2l-39.2-23 34.1-9.3c8.4-2.3 13.4-11.1 11.1-19.6l-4.1-15.5c-2.2-8.5-10.9-13.6-19.3-11.3L343 298.2 271.2 256l71.9-42.2 79.7 21.7c8.4 2.3 17-2.8 19.3-11.3l4.1-15.5c2.2-8.5-2.7-17.3-11.1-19.6l-34.1-9.3 39.2-23c7.5-4.4 10.1-14.2 5.8-21.9l-7.9-13.9c-4.3-7.7-14-10.3-21.5-5.9l-39.2 23 9.1-34.7c2.2-8.5-2.7-17.3-11.1-19.6l-15.2-4.1c-8.4-2.3-17 2.8-19.3 11.3l-21.3 81-71.9 42.2v-84.5L306 70.4c6.1-6.2 6.1-16.4 0-22.6l-11.1-11.3c-6.1-6.2-16.1-6.2-22.2 0l-24.9 25.4V16c0-8.8-7-16-15.7-16h-15.7c-8.7 0-15.7 7.2-15.7 16v46.1l-24.9-25.4c-6.1-6.2-16.1-6.2-22.2 0L142.1 48c-6.1 6.2-6.1 16.4 0 22.6l58.3 59.3v84.5l-71.9-42.2-21.3-81c-2.2-8.5-10.9-13.6-19.3-11.3L72.7 84c-8.4 2.3-13.4 11.1-11.1 19.6l9.1 34.7-39.2-23c-7.5-4.4-17.1-1.8-21.5 5.9l-7.9 13.9c-4.3 7.7-1.8 17.4 5.8 21.9l39.2 23-34.1 9.1c-8.4 2.3-13.4 11.1-11.1 19.6L6 224.2c2.2 8.5 10.9 13.6 19.3 11.3l79.7-21.7 71.9 42.2-71.9 42.2-79.7-21.7c-8.4-2.3-17 2.8-19.3 11.3l-4.1 15.5c-2.2 8.5 2.7 17.3 11.1 19.6l34.1 9.3-39.2 23c-7.5 4.4-10.1 14.2-5.8 21.9L10 391c4.3 7.7 14 10.3 21.5 5.9l39.2-23-9.1 34.7c-2.2 8.5 2.7 17.3 11.1 19.6l15.2 4.1c8.4 2.3 17-2.8 19.3-11.3l21.3-81 71.9-42.2v84.5l-58.3 59.3c-6.1 6.2-6.1 16.4 0 22.6l11.1 11.3c6.1 6.2 16.1 6.2 22.2 0l24.9-25.4V496c0 8.8 7 16 15.7 16h15.7c8.7 0 15.7-7.2 15.7-16v-46.1l24.9 25.4c6.1 6.2 16.1 6.2 22.2 0l11.1-11.3c6.1-6.2 6.1-16.4 0-22.6l-58.3-59.3v-84.5l71.9 42.2 21.3 81c2.2 8.5 10.9 13.6 19.3 11.3L375 428c8.4-2.3 13.4-11.1 11.1-19.6l-9.1-34.7 39.2 23c7.5 4.4 17.1 1.8 21.5-5.9l7.9-13.9c4.6-7.5 2.1-17.3-5.5-21.7z\"},\"child\":[]}]})(props);\n};\nexport function FaRegSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-6 400H54c-3.3 0-6-2.7-6-6V86c0-3.3 2.7-6 6-6h340c3.3 0 6 2.7 6 6v340c0 3.3-2.7 6-6 6z\"},\"child\":[]}]})(props);\n};\nexport function FaRegStarHalf (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M288 385.3l-124.3 65.4 23.7-138.4-100.6-98 139-20.2 62.2-126V0c-11.4 0-22.8 5.9-28.7 17.8L194 150.2 47.9 171.4c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.1 23 46 46.4 33.7L288 439.6v-54.3z\"},\"child\":[]}]})(props);\n};\nexport function FaRegStar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 576 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M528.1 171.5L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6zM388.6 312.3l23.7 138.4L288 385.4l-124.3 65.3 23.7-138.4-100.6-98 139-20.2 62.2-126 62.2 126 139 20.2-100.6 98z\"},\"child\":[]}]})(props);\n};\nexport function FaRegStickyNote (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M448 348.106V80c0-26.51-21.49-48-48-48H48C21.49 32 0 53.49 0 80v351.988c0 26.51 21.49 48 48 48h268.118a48 48 0 0 0 33.941-14.059l83.882-83.882A48 48 0 0 0 448 348.106zm-128 80v-76.118h76.118L320 428.106zM400 80v223.988H296c-13.255 0-24 10.745-24 24v104H48V80h352z\"},\"child\":[]}]})(props);\n};\nexport function FaRegStopCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M504 256C504 119 393 8 256 8S8 119 8 256s111 248 248 248 248-111 248-248zm-448 0c0-110.5 89.5-200 200-200s200 89.5 200 200-89.5 200-200 200S56 366.5 56 256zm296-80v160c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h160c8.8 0 16 7.2 16 16z\"},\"child\":[]}]})(props);\n};\nexport function FaRegSun (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M494.2 221.9l-59.8-40.5 13.7-71c2.6-13.2-1.6-26.8-11.1-36.4-9.6-9.5-23.2-13.7-36.2-11.1l-70.9 13.7-40.4-59.9c-15.1-22.3-51.9-22.3-67 0l-40.4 59.9-70.8-13.7C98 60.4 84.5 64.5 75 74.1c-9.5 9.6-13.7 23.1-11.1 36.3l13.7 71-59.8 40.5C6.6 229.5 0 242 0 255.5s6.7 26 17.8 33.5l59.8 40.5-13.7 71c-2.6 13.2 1.6 26.8 11.1 36.3 9.5 9.5 22.9 13.7 36.3 11.1l70.8-13.7 40.4 59.9C230 505.3 242.6 512 256 512s26-6.7 33.5-17.8l40.4-59.9 70.9 13.7c13.4 2.7 26.8-1.6 36.3-11.1 9.5-9.5 13.6-23.1 11.1-36.3l-13.7-71 59.8-40.5c11.1-7.5 17.8-20.1 17.8-33.5-.1-13.6-6.7-26.1-17.9-33.7zm-112.9 85.6l17.6 91.2-91-17.6L256 458l-51.9-77-90.9 17.6 17.6-91.2-76.8-52 76.8-52-17.6-91.2 91 17.6L256 53l51.9 76.9 91-17.6-17.6 91.1 76.8 52-76.8 52.1zM256 152c-57.3 0-104 46.7-104 104s46.7 104 104 104 104-46.7 104-104-46.7-104-104-104zm0 160c-30.9 0-56-25.1-56-56s25.1-56 56-56 56 25.1 56 56-25.1 56-56 56z\"},\"child\":[]}]})(props);\n};\nexport function FaRegSurprise (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm0-176c-35.3 0-64 28.7-64 64s28.7 64 64 64 64-28.7 64-64-28.7-64-64-64zm-48-72c0-17.7-14.3-32-32-32s-32 14.3-32 32 14.3 32 32 32 32-14.3 32-32zm128-32c-17.7 0-32 14.3-32 32s14.3 32 32 32 32-14.3 32-32-14.3-32-32-32z\"},\"child\":[]}]})(props);\n};\nexport function FaRegThumbsDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M466.27 225.31c4.674-22.647.864-44.538-8.99-62.99 2.958-23.868-4.021-48.565-17.34-66.99C438.986 39.423 404.117 0 327 0c-7 0-15 .01-22.22.01C201.195.01 168.997 40 128 40h-10.845c-5.64-4.975-13.042-8-21.155-8H32C14.327 32 0 46.327 0 64v240c0 17.673 14.327 32 32 32h64c11.842 0 22.175-6.438 27.708-16h7.052c19.146 16.953 46.013 60.653 68.76 83.4 13.667 13.667 10.153 108.6 71.76 108.6 57.58 0 95.27-31.936 95.27-104.73 0-18.41-3.93-33.73-8.85-46.54h36.48c48.602 0 85.82-41.565 85.82-85.58 0-19.15-4.96-34.99-13.73-49.84zM64 296c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24zm330.18 16.73H290.19c0 37.82 28.36 55.37 28.36 94.54 0 23.75 0 56.73-47.27 56.73-18.91-18.91-9.46-66.18-37.82-94.54C206.9 342.89 167.28 272 138.92 272H128V85.83c53.611 0 100.001-37.82 171.64-37.82h37.82c35.512 0 60.82 17.12 53.12 65.9 15.2 8.16 26.5 36.44 13.94 57.57 21.581 20.384 18.699 51.065 5.21 65.62 9.45 0 22.36 18.91 22.27 37.81-.09 18.91-16.71 37.82-37.82 37.82z\"},\"child\":[]}]})(props);\n};\nexport function FaRegThumbsUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M466.27 286.69C475.04 271.84 480 256 480 236.85c0-44.015-37.218-85.58-85.82-85.58H357.7c4.92-12.81 8.85-28.13 8.85-46.54C366.55 31.936 328.86 0 271.28 0c-61.607 0-58.093 94.933-71.76 108.6-22.747 22.747-49.615 66.447-68.76 83.4H32c-17.673 0-32 14.327-32 32v240c0 17.673 14.327 32 32 32h64c14.893 0 27.408-10.174 30.978-23.95 44.509 1.001 75.06 39.94 177.802 39.94 7.22 0 15.22.01 22.22.01 77.117 0 111.986-39.423 112.94-95.33 13.319-18.425 20.299-43.122 17.34-66.99 9.854-18.452 13.664-40.343 8.99-62.99zm-61.75 53.83c12.56 21.13 1.26 49.41-13.94 57.57 7.7 48.78-17.608 65.9-53.12 65.9h-37.82c-71.639 0-118.029-37.82-171.64-37.82V240h10.92c28.36 0 67.98-70.89 94.54-97.46 28.36-28.36 18.91-75.63 37.82-94.54 47.27 0 47.27 32.98 47.27 56.73 0 39.17-28.36 56.72-28.36 94.54h103.99c21.11 0 37.73 18.91 37.82 37.82.09 18.9-12.82 37.81-22.27 37.81 13.489 14.555 16.371 45.236-5.21 65.62zM88 432c0 13.255-10.745 24-24 24s-24-10.745-24-24 10.745-24 24-24 24 10.745 24 24z\"},\"child\":[]}]})(props);\n};\nexport function FaRegTimesCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm101.8-262.2L295.6 256l62.2 62.2c4.7 4.7 4.7 12.3 0 17l-22.6 22.6c-4.7 4.7-12.3 4.7-17 0L256 295.6l-62.2 62.2c-4.7 4.7-12.3 4.7-17 0l-22.6-22.6c-4.7-4.7-4.7-12.3 0-17l62.2-62.2-62.2-62.2c-4.7-4.7-4.7-12.3 0-17l22.6-22.6c4.7-4.7 12.3-4.7 17 0l62.2 62.2 62.2-62.2c4.7-4.7 12.3-4.7 17 0l22.6 22.6c4.7 4.7 4.7 12.3 0 17z\"},\"child\":[]}]})(props);\n};\nexport function FaRegTired (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm129.1-303.8c-3.8-4.4-10.3-5.4-15.3-2.5l-80 48c-3.6 2.2-5.8 6.1-5.8 10.3s2.2 8.1 5.8 10.3l80 48c5.4 3.2 11.8 1.6 15.3-2.5 3.8-4.5 3.9-11 .1-15.5L343.6 208l33.6-40.3c3.8-4.5 3.7-11.1-.1-15.5zM220 208c0-4.2-2.2-8.1-5.8-10.3l-80-48c-5-3-11.5-1.9-15.3 2.5-3.8 4.5-3.9 11-.1 15.5l33.6 40.3-33.6 40.3c-3.8 4.5-3.7 11 .1 15.5 3.5 4.1 9.9 5.7 15.3 2.5l80-48c3.6-2.2 5.8-6.1 5.8-10.3zm28 64c-45.4 0-100.9 38.3-107.8 93.3-1.5 11.8 6.9 21.6 15.5 17.9C178.4 373.5 212 368 248 368s69.6 5.5 92.3 15.2c8.5 3.7 17-6 15.5-17.9-6.9-55-62.4-93.3-107.8-93.3z\"},\"child\":[]}]})(props);\n};\nexport function FaRegTrashAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M268 416h24a12 12 0 0 0 12-12V188a12 12 0 0 0-12-12h-24a12 12 0 0 0-12 12v216a12 12 0 0 0 12 12zM432 80h-82.41l-34-56.7A48 48 0 0 0 274.41 0H173.59a48 48 0 0 0-41.16 23.3L98.41 80H16A16 16 0 0 0 0 96v16a16 16 0 0 0 16 16h16v336a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128h16a16 16 0 0 0 16-16V96a16 16 0 0 0-16-16zM171.84 50.91A6 6 0 0 1 177 48h94a6 6 0 0 1 5.15 2.91L293.61 80H154.39zM368 464H80V128h288zm-212-48h24a12 12 0 0 0 12-12V188a12 12 0 0 0-12-12h-24a12 12 0 0 0-12 12v216a12 12 0 0 0 12 12z\"},\"child\":[]}]})(props);\n};\nexport function FaRegUserCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 496 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M248 104c-53 0-96 43-96 96s43 96 96 96 96-43 96-96-43-96-96-96zm0 144c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm0-240C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-49.7 0-95.1-18.3-130.1-48.4 14.9-23 40.4-38.6 69.6-39.5 20.8 6.4 40.6 9.6 60.5 9.6s39.7-3.1 60.5-9.6c29.2 1 54.7 16.5 69.6 39.5-35 30.1-80.4 48.4-130.1 48.4zm162.7-84.1c-24.4-31.4-62.1-51.9-105.1-51.9-10.2 0-26 9.6-57.6 9.6-31.5 0-47.4-9.6-57.6-9.6-42.9 0-80.6 20.5-105.1 51.9C61.9 339.2 48 299.2 48 256c0-110.3 89.7-200 200-200s200 89.7 200 200c0 43.2-13.9 83.2-37.3 115.9z\"},\"child\":[]}]})(props);\n};\nexport function FaRegUser (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 448 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M313.6 304c-28.7 0-42.5 16-89.6 16-47.1 0-60.8-16-89.6-16C60.2 304 0 364.2 0 438.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-25.6c0-74.2-60.2-134.4-134.4-134.4zM400 464H48v-25.6c0-47.6 38.8-86.4 86.4-86.4 14.6 0 38.3 16 89.6 16 51.7 0 74.9-16 89.6-16 47.6 0 86.4 38.8 86.4 86.4V464zM224 288c79.5 0 144-64.5 144-144S303.5 0 224 0 80 64.5 80 144s64.5 144 144 144zm0-240c52.9 0 96 43.1 96 96s-43.1 96-96 96-96-43.1-96-96 43.1-96 96-96z\"},\"child\":[]}]})(props);\n};\nexport function FaRegWindowClose (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 394c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V86c0-3.3 2.7-6 6-6h404c3.3 0 6 2.7 6 6v340zM356.5 194.6L295.1 256l61.4 61.4c4.6 4.6 4.6 12.1 0 16.8l-22.3 22.3c-4.6 4.6-12.1 4.6-16.8 0L256 295.1l-61.4 61.4c-4.6 4.6-12.1 4.6-16.8 0l-22.3-22.3c-4.6-4.6-4.6-12.1 0-16.8l61.4-61.4-61.4-61.4c-4.6-4.6-4.6-12.1 0-16.8l22.3-22.3c4.6-4.6 12.1-4.6 16.8 0l61.4 61.4 61.4-61.4c4.6-4.6 12.1-4.6 16.8 0l22.3 22.3c4.7 4.6 4.7 12.1 0 16.8z\"},\"child\":[]}]})(props);\n};\nexport function FaRegWindowMaximize (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 394c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V192h416v234z\"},\"child\":[]}]})(props);\n};\nexport function FaRegWindowMinimize (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M480 480H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h448c17.7 0 32 14.3 32 32s-14.3 32-32 32z\"},\"child\":[]}]})(props);\n};\nexport function FaRegWindowRestore (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 512 512\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M464 0H144c-26.5 0-48 21.5-48 48v48H48c-26.5 0-48 21.5-48 48v320c0 26.5 21.5 48 48 48h320c26.5 0 48-21.5 48-48v-48h48c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm-96 464H48V256h320v208zm96-96h-48V144c0-26.5-21.5-48-48-48H144V48h320v320z\"},\"child\":[]}]})(props);\n};\n","import React, { useEffect } from 'react';\nimport { FaUser } from 'react-icons/fa';\nimport { Row, Col } from 'reactstrap';\nimport simg_KM from '../../../assets/images/kmcnulty.jpeg';\nimport simg_AS from '../../../assets/images/ashepherd.JPG';\nimport simg_LW from '../../../assets/images/profile.jpg';\nimport simg_LP from '../../../assets/images/lpurser_1.jpg';\nimport simg_KK from '../../../assets/images/kknowler.jpg';\nimport TextOnImage from '../../shared/textOnImage';\nimport image from '../../../assets/images/team1.jpg';\nimport '../../../assets/css/mainsite/image.scss';\n\nconst TeamSection = ({ title, team }) => (\n <>\n \n
\n {title}\n
\n
\n \n {team.map((member, index) => (\n \n
\n
\n {member.image === null ? (\n \n ) : (\n {member.name}\n )}\n
\n
\n
\n

{member.name}

\n
{member.title}
\n \n ))}\n
\n \n);\n\nconst Team = () => {\n const seniorManagement = [\n { name: 'Lawrence Whale', title: 'Managing Director | Technical Lead', image: simg_LW },\n { name: 'Mike Whale', title: 'Operations Director | Technical Specialist', image: null },\n { name: 'Anne Whale', title: 'Director | Finance', image: null },\n ];\n\n const developmentTeam = [\n { name: 'Alex Shepherd', title: 'Developer | Full Stack', image: simg_AS },\n { name: 'Laura Purser', title: 'Developer | Frontend', image: simg_LP },\n ];\n\n const administrationTeam = [\n { name: 'Jodie Whale', title: 'Resource Manager | Operations', image: null },\n { name: 'Katherine McNulty', title: 'Marketing Manager | Commercial', image: simg_KM },\n { name: 'Kathy Knowler', title: 'Administrator | Finance', image: simg_KK },\n ];\n\n useEffect(() => {\n document.title = 'Team | Our team of IT experts | Mobyte';\n\n // Create meta description\n const metaDescription = document.createElement('meta');\n metaDescription.setAttribute('name', 'description');\n metaDescription.content =\n 'Meet the talented and diverse team behind Mobyte. Our dedicated professionals bring expertise in software engineering, IT consulting, and development.';\n\n // Create meta keywords\n const metaKeywords = document.createElement('meta');\n metaKeywords.setAttribute('name', 'keywords');\n metaKeywords.content =\n 'Team, Mobyte, talent, software engineering, IT consulting, development, expertise, collaboration, innovation, diversity, professionals, passionate, results-driven';\n\n const metaRobots = document.createElement('meta');\n metaRobots.setAttribute('name', 'robots');\n metaRobots.content = 'index';\n document.head.appendChild(metaRobots);\n\n // Append both meta elements to the head\n document.head.appendChild(metaDescription);\n document.head.appendChild(metaKeywords);\n\n return () => {\n // Clean up added meta tags when component unmounts\n document.head.removeChild(metaDescription);\n document.head.removeChild(metaKeywords);\n document.head.removeChild(metaRobots);\n };\n }, []);\n\n const subheading = (\n Team\n );\n\n return (\n
\n \n
\n
\n

\n Our team of IT experts \n

\n
\n \n \n \n
\n
\n );\n};\n\nexport default Team;\n","import React, { useEffect } from 'react';\nimport { Row, Col } from 'reactstrap'\nimport TextOnImage from '../../shared/textOnImage'\nimport image from '../../../assets/images/careers.jpg'\nconst CareersPage = () => {\n\n useEffect(() => {\n document.title = 'Careers | Join our team and advance your IT career | Mobyte';\n\n // Create meta description\n const metaDescription = document.createElement('meta');\n metaDescription.setAttribute('name', 'description');\n metaDescription.content = 'Explore careers opportunities at Mobyte';\n\n // Create meta keywords\n const metaKeywords = document.createElement('meta');\n metaKeywords.setAttribute('name', 'keywords');\n metaKeywords.content = 'Software engineer, IT consultant, React developer, .NET developer, full-stack developer';\n\n const metaRobots = document.createElement('meta');\n metaRobots.setAttribute('name', 'robots');\n metaRobots.content = 'index';\n document.head.appendChild(metaRobots);\n\n // Append both meta elements to the head\n document.head.appendChild(metaDescription);\n document.head.appendChild(metaKeywords);\n document.head.appendChild(metaKeywords);\n\n return () => {\n // Clean up added meta tags when component unmounts\n document.head.removeChild(metaDescription);\n document.head.removeChild(metaKeywords);\n document.head.removeChild(metaRobots);\n\n };\n }, []);\n\n const subheading = (\n \n Careers\n \n )\n\n return (\n <>\n
\n\n\n \n\n
\n
\n

\n Join our team and advance your IT career \n

\n
\n \n \n
\n

\n At Mobyte, we are committed to creating a diverse and inclusive workplace where all team members can thrive. We believe that our success is built on the unique perspectives, experiences, and skills that each individual brings to the table. We are a dynamic and growing organization, and we are always looking for talented individuals to help us achieve our goals. Whether you are just starting out in your career or are an experienced professional, we offer a range of exciting opportunities across a variety of functions. We pride ourselves on providing a supportive and collaborative work environment, where team members are encouraged to learn, grow, and innovate. We also offer competitive compensation packages, comprehensive benefits, and a range of professional development opportunities to help you advance your career.\n

\n

\n If you are passionate about making a difference and are excited about the prospect of joining a dynamic and mission-driven team, we encourage you to get in contact:\n

\n

\n info@mobyte.com\n

\n

\n We look forward to hearing from you!\n

\n
\n
\n Mobyte\n
\n \n\n
\n\n
\n\n
\n\n \n );\n};\n\nexport default CareersPage;","// THIS FILE IS AUTO GENERATED\nimport { GenIcon } from '../lib/index.mjs';\nexport function DiAndroid (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.802 20.283c0 1.23-0.857 2.237-1.904 2.237s-1.905-1.006-1.905-2.237v-7.321c0-1.23 0.857-2.237 1.905-2.237s1.904 1.007 1.904 2.237v7.321zM29.007 20.283c0 1.23-0.857 2.237-1.905 2.237s-1.905-1.006-1.905-2.237v-7.321c0-1.23 0.857-2.237 1.905-2.237s1.905 1.007 1.905 2.237v7.321zM20.164 3.649l1.222-2.193c0.1-0.179 0.070-0.388-0.065-0.463s-0.329 0.009-0.428 0.188l-1.25 2.244c-1.115-0.439-2.364-0.684-3.684-0.684-1.33 0-2.588 0.25-3.71 0.695l-1.256-2.254c-0.1-0.179-0.293-0.264-0.428-0.188s-0.165 0.284-0.065 0.463l1.228 2.204c-2.555 1.2-4.276 3.453-4.276 6.035 0 0.262 0.019 0.521 0.053 0.776h16.909c0.035-0.255 0.053-0.513 0.053-0.776 0-2.59-1.732-4.849-4.301-6.046zM12.097 7.477c-0.411 0-0.744-0.333-0.744-0.744s0.333-0.744 0.744-0.744 0.744 0.333 0.744 0.744c0 0.411-0.333 0.744-0.744 0.744zM19.861 7.477c-0.411 0-0.744-0.333-0.744-0.744s0.333-0.744 0.744-0.744 0.744 0.333 0.744 0.744c0 0.411-0.333 0.744-0.744 0.744zM7.45 11.211v12.471h0.007c0.087 1.053 1.056 1.89 2.23 1.89h12.541c1.173 0 2.142-0.837 2.23-1.89h0.007v-12.471h-17.014zM14.74 25.51v3.858c0 1.23-0.857 2.237-1.905 2.237s-1.904-1.007-1.904-2.237v-3.855zM21.088 25.508v3.86c0 1.23-0.857 2.237-1.905 2.237s-1.905-1.007-1.905-2.237v-3.86z\"},\"child\":[]}]})(props);\n};\nexport function DiAngularSimple (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.937 11.355l-2.057 4.879h4.433l-2.358-4.924-0.019 0.044zM15.964 4.3l-11.279 3.969 1.782 14.777 9.508 5.226 9.557-5.297 1.782-14.776-11.351-3.899zM20.744 21.849l-1.531-3.545h-6.25l-1.398 3.497-2.601 0.048 6.973-15.513 7.216 15.513h-2.41z\"},\"child\":[]}]})(props);\n};\nexport function DiAppcelerator (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 34 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M29.767 26.049l-12.068-20.902c-0.16-0.277-0.457-0.449-0.777-0.449s-0.616 0.171-0.776 0.449l-12.069 20.902c-0.161 0.277-0.161 0.573 0 0.852s0.457 0.401 0.777 0.401h24.137c0.321 0 0.615-0.124 0.776-0.401s0.161-0.574 0-0.852v0zM22.089 24.362l0.032-0.906-3.482 0.615-0.158-0.166 0.045-1.212h-0.091c0 0-0.954 1.598-3.068 1.598-1.568 0-3.045-0.632-3.045-3.176 0-2.569 1.931-3.427 3.954-3.427h2.128v-1.026c0-1.023-0.689-1.613-1.962-1.613-1.432 0-3.12 0.227-3.12 0.227l-0.12-0.159v-1.727c0 0 1.821-0.227 3.708-0.227 1.727 0 3.798 0.454 3.798 2.999v5.856l1.163-0.221-0.331-0.848 2.903 1.273-2.353 2.138zM14.526 20.942c0 1.181 0.825 1.451 1.62 1.451 0.75 0 1.665-0.186 2.257-1.117v-1.941h-1.536c-1.546 0-2.341 0.38-2.341 1.607v0z\"},\"child\":[]}]})(props);\n};\nexport function DiApple (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M23.023 17.093c-0.033-3.259 2.657-4.822 2.777-4.901-1.512-2.211-3.867-2.514-4.705-2.548-2.002-0.204-3.91 1.18-4.926 1.18-1.014 0-2.583-1.15-4.244-1.121-2.185 0.033-4.199 1.271-5.323 3.227-2.269 3.936-0.58 9.769 1.631 12.963 1.081 1.561 2.37 3.318 4.061 3.254 1.63-0.064 2.245-1.055 4.215-1.055s2.524 1.055 4.248 1.021c1.753-0.032 2.864-1.591 3.936-3.159 1.24-1.814 1.751-3.57 1.782-3.659-0.038-0.017-3.416-1.312-3.451-5.202zM19.783 7.53c0.897-1.089 1.504-2.602 1.34-4.108-1.294 0.053-2.861 0.86-3.79 1.948-0.832 0.965-1.561 2.502-1.365 3.981 1.444 0.112 2.916-0.734 3.816-1.821z\"},\"child\":[]}]})(props);\n};\nexport function DiAppstore (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.951 15.861l1.917-3.34c0.143-0.25 0.057-0.571-0.193-0.716l-1.364-0.78c-0.249-0.144-0.571-0.057-0.714 0.192l-6.316 11c-0.144 0.25-0.057 0.57 0.193 0.713l1.363 0.784c0.25 0.143 0.572 0.056 0.716-0.192l4.398-7.661zM26.806 14.859h-4.602c0.541 1.015 1.044 1.97 1.397 2.646 0.244 0.467 0.438 0.836 0.507 0.96 0.071 0.131 0.123 0.267 0.157 0.405h2.541c0.261 0 0.474-0.212 0.474-0.473v-3.064c0-0.261-0.213-0.473-0.474-0.473zM15.619 14.859l-2.303 4.011h6.249c-0.453-0.895-1.054-2.176-1.862-4.011h-2.084zM10.415 14.859h-5.298c-0.261 0-0.473 0.212-0.473 0.473v3.064c0 0.261 0.212 0.473 0.473 0.473h2.995l2.303-4.010zM8.392 24.315l-1.363-0.782c-0.25-0.143-0.481-0.026-0.514 0.26l-0.236 2.053c-0.033 0.286 0.135 0.388 0.373 0.226l1.761-1.201c0.239-0.161 0.228-0.412-0.021-0.556zM23.278 18.921c-0.008-0.013-0.018-0.032-0.028-0.051v0c-0.127-0.234-0.444-0.844-0.861-1.635-0.005-0.011-0.010-0.020-0.015-0.030-0.031-0.061-0.064-0.122-0.097-0.185-0.024-0.045-0.048-0.090-0.073-0.137-0.020-0.040-0.041-0.079-0.062-0.119-0.037-0.070-0.075-0.14-0.112-0.212-0.012-0.023-0.023-0.045-0.035-0.067-0.042-0.081-0.085-0.162-0.129-0.244-0.012-0.024-0.024-0.047-0.037-0.071-0.96-1.816-2.166-4.052-2.91-5.227-1.303-2.060-3.043-5.493-3.529-5.249-0.68 0.339 1.426 4.697 2.122 6.335s3.417 7.913 3.962 8.187c0.547 0.273 0.757 0.121 1.121-0.029 0.365-0.152 1.017-0.656 0.684-1.264zM24.832 22.154l-0.649-1.246c-0.147-0.282-0.493-0.396-0.769-0.256l-0.783 0.403c-0.276 0.143-0.362 0.477-0.193 0.746l0.822 1.298c0.17 0.268 0.528 0.355 0.794 0.195l0.559-0.336c0.267-0.16 0.366-0.522 0.22-0.804zM24.632 23.959c-0.205 0.196-0.691 0.621-0.102 1.447 0.586 0.828 1.897 0.865 2.070 1.414 0 0 0.411-4.204-1.968-2.862z\"},\"child\":[]}]})(props);\n};\nexport function DiAptana (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.143 26.641c0.516-0.902 1.248-1.502 2.307-1.701 0.208 0 0.417 0 0.625 0 0.367 0.117 0.737 0.228 1.056 0.455 0.318 0.406 0.837 0.919 1.321 1.104 0.911 0.349 1.611-0.346 2.193-0.947 0.422-0.436 0.748-1.134 0.519-1.739-0.205-0.542-0.802-0.825-1.123-1.289-0.682-0.986-0.503-2.274 0.136-3.217 0.303-0.447 0.707-0.823 1.248-0.94 0.505-0.109 1.016 0.036 1.522-0.023 0.469-0.055 1.068-0.434 1.213-0.919 0.278-0.93 0.406-2.531-0.647-3.036-1.119-0.537-2.336 0.087-3.235-1.023-0.417-0.515-0.715-1.195-0.741-1.861-0.035-0.871 0.492-1.362 1.066-1.944 0.405-0.411 0.696-1.077 0.542-1.668-0.136-0.518-0.515-0.937-0.916-1.273-0.736-0.618-1.717-0.792-2.474-0.119-0.218 0.194-0.415 0.409-0.622 0.614-0.172 0.17-0.363 0.311-0.593 0.393-1.143 0.409-2.089 0.002-2.96-0.715-0.082-0.099-0.152-0.206-0.226-0.311-0.224-0.394-0.33-0.815-0.317-1.271 0.008-0.308 0.025-0.618-0.022-0.925-0.224-1.471-2.472-1.766-3.521-1.054-0.651 0.442-0.666 1.285-0.732 1.991-0.072 0.77-0.249 1.46-0.914 1.927-0.567 0.398-1.358 0.636-2.051 0.532-0.383-0.057-0.722-0.232-1.032-0.457-0.646-0.468-1.022-1.19-1.941-1.111-0.815 0.070-1.564 0.761-1.934 1.46-0.527 0.997-0.032 1.591 0.638 2.319 0.69 0.75 0.902 1.53 0.595 2.515-0.305 0.979-0.864 1.697-1.925 1.828-0.591 0.073-1.26-0.033-1.81 0.24-0.732 0.363-0.738 1.253-0.74 1.962-0.002 0.811 0.133 1.615 1.023 1.838 0.93 0.233 2.005 0.064 2.776 0.773 0.935 0.859 1.193 2.199 0.52 3.27-0.238 0.379-0.558 0.696-0.813 1.062-0.311 0.446-0.342 0.785-0.391 1.311 0.212 0.246 0.262 0.585 0.456 0.837 0.499 0.649 1.205 1.116 2.049 1.092 0.818-0.023 1.242-0.953 1.874-1.376 0.41-0.186 0.837-0.286 1.29-0.241 0.448 0.045 0.845 0.258 1.268 0.387 0.187 0.126 0.374 0.253 0.56 0.379 0.103 0.131 0.206 0.262 0.309 0.393 0.093 0.119 0.147 0.23 0.203 0.37 0.042 0.107 0.086 0.213 0.109 0.326 0.040 0.203 0.065 0.419 0.069 0.625 0.003 0.168-0.003 0.336-0.001 0.504 0.011 1.107 0.653 1.651 1.725 1.709 1.020 0.055 2.164-0.087 2.363-1.307 0.065-0.398-0.031-0.841-0.012-1.248zM7.016 9.576c-0.001-0.003-0.002-0.005-0.002-0.008 0.003 0.001 0.007 0.002 0.010 0.003-0.003 0.001-0.005 0.003-0.008 0.005zM15.955 22.151c-3.21 0-5.813-2.602-5.813-5.813s2.602-5.813 5.813-5.813c3.21 0 5.813 2.602 5.813 5.813s-2.602 5.813-5.813 5.813zM23.45 25.817c-0-0-0.001-0-0.001-0s0.001 0 0.001 0c-0 0-0 0-0 0zM23.889 26.069c-0.001-0.001-0.002-0.002-0.003-0.003 0.002-0.001 0.005-0.001 0.007-0.002-0.001 0.002-0.003 0.003-0.004 0.005z\"},\"child\":[]}]})(props);\n};\nexport function DiAsterisk (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 34 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.7 14.129c0.838-0.476 1.533-0.874 1.545-0.883s-0.31-0.571-0.716-1.248c-0.482-0.803-0.781-1.205-0.863-1.157-0.068 0.041-0.526 0.332-1.017 0.648s-1.215 0.781-1.608 1.034l-0.715 0.46 0.149-4.103h-2.927l0.043 2.012c0.037 1.731 0.022 2.004-0.11 1.953-0.084-0.032-0.852-0.514-1.706-1.071s-1.566-0.999-1.582-0.982c-0.087 0.092-1.416 2.352-1.416 2.409-0 0.037 0.779 0.509 1.732 1.050s1.732 1.007 1.732 1.036-0.779 0.495-1.732 1.036c-0.953 0.541-1.732 1.014-1.732 1.050 0 0.057 1.329 2.317 1.417 2.41 0.017 0.018 0.798-0.445 1.735-1.028l1.705-1.060-0.043 1.999-0.043 1.999h2.927l-0.075-2.006c-0.062-1.65-0.051-1.991 0.063-1.922 0.076 0.047 0.775 0.481 1.553 0.964s1.496 0.924 1.596 0.977c0.154 0.082 0.295-0.092 0.92-1.135 0.52-0.867 0.701-1.253 0.61-1.305-0.071-0.041-0.879-0.498-1.796-1.016l-1.667-0.942 0.249-0.157c0.137-0.086 0.934-0.546 1.772-1.023z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M29.574 12.050c-0.062-0.501-0.224-1.235-0.361-1.628s-0.456-1.078-0.706-1.523c-0.573-1.018-1.792-2.258-2.675-2.724-0.355-0.187-0.675-0.341-0.715-0.341s0.165 0.191 0.46 0.423c0.591 0.467 1.32 1.346 1.68 2.025l0.236 0.44-0.236-0.315c-0.129-0.173-0.592-0.675-1.031-1.113-0.607-0.607-1.009-0.901-1.69-1.237-0.58-0.287-1.26-0.516-1.943-0.66-0.776-0.163-1.448-0.222-2.573-0.226-1.681-0.006-2.888 0.168-4.244 0.61-0.456 0.149-1.186 0.436-1.621 0.637s-1.243 0.665-1.795 1.034c-0.552 0.368-1.393 1.009-1.867 1.421s-1.2 1.137-1.611 1.611c-0.412 0.475-0.991 1.229-1.287 1.674s-0.553 0.792-0.574 0.771c-0.087-0.087 0.721-1.644 1.283-2.475l0.604-0.893-0.65 0.63c-0.357 0.347-0.992 1.087-1.415 1.644s-0.985 1.408-1.247 1.89-0.634 1.325-0.824 1.874l-0.345 0.998v0.197c-0.154 0.503-0.218 0.872-0.218 1.459 0.003 0.643 0.064 1.145 0.218 1.708v0.207l0.285 0.84c0.156 0.462 0.461 1.147 0.679 1.52s0.724 1.022 1.122 1.444 1.036 0.977 1.418 1.231c1.138 0.756 2.29 1.208 3.738 1.467 0.462 0.082 1.425 0.152 2.14 0.158s1.796-0.064 2.402-0.154c0.607-0.090 1.657-0.324 2.334-0.519s1.717-0.568 2.314-0.83l1.086-0.476 0.689 0.207c0.784 0.237 4.352 1.046 4.401 0.998 0.018-0.018-0.388-0.875-0.903-1.907l-0.935-1.877 0.83-0.998c0.458-0.549 1.097-1.395 1.418-1.881s0.808-1.359 1.086-1.943c0.278-0.584 0.602-1.415 0.722-1.848s0.267-1.203 0.325-1.713c0.073-0.64 0.071-1.209-0.007-1.838zM26.161 17.544c-0.195 0.404-0.557 1.042-0.804 1.418s-0.818 1.064-1.267 1.533c-0.449 0.468-0.814 0.882-0.814 0.916s0.378 0.639 0.84 1.346c0.462 0.707 0.84 1.324 0.84 1.372s-0.024 0.085-0.056 0.085c-0.031 0-0.734-0.26-1.559-0.578s-1.622-0.578-1.769-0.578-0.52 0.112-0.83 0.249c-1.025 0.452-2.936 1.017-3.965 1.172-0.557 0.084-1.389 0.148-1.851 0.141-1.668-0.024-2.922-0.313-4.359-1.004-0.841-0.405-1.139-0.622-1.9-1.385-0.688-0.69-0.995-1.093-1.287-1.694-0.21-0.433-0.454-1.070-0.542-1.415-0.226-0.887-0.204-2.365 0.049-3.374 0.115-0.457 0.447-1.313 0.738-1.904s0.809-1.445 1.152-1.9c0.343-0.455 1.050-1.232 1.569-1.726 1.009-0.96 2.231-1.824 3.423-2.419 1.032-0.515 2.403-0.981 3.656-1.244 0.804-0.169 1.436-0.225 2.54-0.223 1.151 0.002 1.647 0.052 2.288 0.223 0.45 0.12 1.136 0.367 1.523 0.551 0.499 0.237 0.938 0.567 1.503 1.132 0.613 0.612 0.897 1.005 1.234 1.69 0.241 0.491 0.509 1.223 0.594 1.628s0.153 1.097 0.154 1.539c0.003 1.392-0.385 2.96-1.103 4.447z\"},\"child\":[]}]})(props);\n};\nexport function DiAtlassian (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M27.868 4.832c-3.507 1.92-7.572 2.935-11.756 2.936-4.184-0.001-8.249-1.016-11.756-2.936-0.083-0.046-0.179-0.070-0.276-0.070-0.187 0-0.366 0.090-0.478 0.239-0.166 0.221-0.171 0.591 0.112 0.812 1.756 1.309 3.692 2.332 5.754 3.031 2.137 0.725 4.373 1.093 6.643 1.094h0.002c2.271-0.001 4.506-0.369 6.643-1.094 2.063-0.699 3.998-1.721 5.757-3.032zM24.138 10.405c-1.016 0.389-2.049 0.684-2.991 0.903-0.192 0.045-0.347 0.188-0.412 0.359-0.686 1.88-2.439 3.67-4.278 5.546-0.074 0.070-0.177 0.163-0.345 0.163s-0.27-0.089-0.345-0.163c-1.839-1.875-3.591-3.659-4.278-5.54-0.064-0.171-0.22-0.314-0.412-0.359-0.943-0.22-1.977-0.524-2.992-0.912-0.055-0.021-0.112-0.031-0.168-0.031-0.102 0-0.2 0.032-0.284 0.096-0.13 0.099-0.198 0.26-0.182 0.415 0.156 1.564 0.773 3.092 1.888 4.694 1.048 1.506 2.415 2.9 3.737 4.248 2.435 2.484 4.736 4.83 4.938 7.55 0.018 0.246 0.223 0.436 0.469 0.436h2.861c0.129 0 0.252-0.053 0.341-0.146s0.136-0.219 0.129-0.348c-0.090-1.819-0.774-3.64-2.093-5.567-0.276-0.404-0.572-0.797-0.881-1.182-0.126-0.157-0.073-0.351 0.023-0.449 0.095-0.097 0.19-0.195 0.286-0.293 1.322-1.348 2.689-2.742 3.737-4.248 1.115-1.602 1.733-3.122 1.888-4.685zM13.042 21.939c-0.068-0.071-0.167-0.143-0.334-0.143-0.214 0-0.341 0.148-0.388 0.221-1.204 1.831-1.825 3.56-1.911 5.297-0.006 0.128 0.041 0.255 0.13 0.349s0.214 0.147 0.342 0.147h2.856c0.245 0 0.453-0.192 0.471-0.437 0.062-0.837 0.323-1.676 0.797-2.558 0.164-0.305 0.037-0.591-0.058-0.714-0.471-0.612-1.047-1.265-1.905-2.16zM16.115 11.872c0.897 0 1.417-0.054 1.599-0.054 0.221 0 0.433 0.181 0.433 0.435 0 0.074-0.017 0.127-0.035 0.174-0.119 0.318-0.661 1.462-1.67 2.443-0.113 0.11-0.241 0.13-0.33 0.13h-0.001c-0.088 0-0.216-0.020-0.329-0.13-1.009-0.981-1.551-2.125-1.67-2.443-0.018-0.047-0.035-0.1-0.035-0.174 0-0.254 0.212-0.435 0.433-0.435 0.183 0 0.703 0.054 1.599 0.054h0.006z\"},\"child\":[]}]})(props);\n};\nexport function DiAtom (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.799 4.652c-1.485 0.324-2.271 2.045-2.104 4.593 0.051 0.738 0.043 0.666 0.196 1.609 0.064 0.38 0.107 0.7 0.098 0.709-0.008 0.013-0.269 0.077-0.572 0.149-2.019 0.465-3.505 1.165-4.397 2.070-0.602 0.606-0.854 1.17-0.845 1.882 0.004 0.401 0.137 0.841 0.38 1.264 0.209 0.363 0.956 1.101 1.447 1.434 1.029 0.692 1.345 0.79 1.626 0.508 0.12-0.119 0.145-0.179 0.145-0.32 0-0.273-0.094-0.405-0.414-0.581-1.409-0.781-2.147-1.592-2.147-2.369 0-0.282 0.098-0.538 0.333-0.845 0.619-0.824 2.113-1.562 4.115-2.036 0.529-0.124 0.632-0.132 0.632-0.043 0 0.115 0.427 1.481 0.7 2.228l0.273 0.751-0.337 0.645c-0.184 0.354-0.448 0.892-0.585 1.2-1.959 4.316-2.284 7.743-0.867 9.152 0.333 0.333 0.606 0.487 1.054 0.602 1.033 0.265 2.399-0.132 3.931-1.144 0.534-0.354 0.653-0.487 0.653-0.721 0-0.282-0.307-0.555-0.581-0.512-0.077 0.013-0.376 0.179-0.662 0.367-0.632 0.422-1.34 0.773-1.853 0.926-0.525 0.154-1.093 0.162-1.417 0.021-0.995-0.44-1.225-2.215-0.606-4.678 0.29-1.17 0.956-2.928 1.558-4.128l0.239-0.482 0.132 0.299c0.248 0.572 1.212 2.437 1.588 3.073 2.079 3.534 4.422 6.125 6.501 7.184 1.473 0.751 2.689 0.683 3.517-0.201 0.61-0.645 0.909-1.584 0.96-2.992 0.081-2.425-0.709-5.579-2.254-8.96-0.205-0.453-0.41-0.862-0.448-0.905-0.094-0.102-0.333-0.171-0.495-0.137s-0.359 0.231-0.388 0.397c-0.034 0.158 0.004 0.265 0.384 1.088 1.059 2.284 1.801 4.683 2.087 6.744 0.094 0.679 0.111 2.151 0.026 2.604-0.085 0.457-0.252 0.931-0.431 1.204-0.286 0.44-0.615 0.619-1.157 0.615-1.609-0.004-4.145-2.215-6.399-5.571-1.037-1.55-1.993-3.3-2.732-5.011l-0.265-0.61 0.371-0.627c0.478-0.811 0.982-1.579 1.545-2.369l0.448-0.627h0.692c4.747 0 9.459 1.076 11.867 2.702 0.551 0.371 1.080 0.914 1.264 1.289 0.128 0.265 0.145 0.337 0.145 0.64-0.004 0.286-0.021 0.376-0.119 0.563-0.294 0.572-1.042 1.14-2.079 1.592-0.487 0.209-0.64 0.354-0.64 0.602 0 0.23 0.094 0.397 0.273 0.482 0.196 0.094 0.265 0.085 0.581-0.043 1.49-0.602 2.565-1.49 2.903-2.395 0.623-1.665-0.683-3.347-3.564-4.602-2.518-1.101-6.219-1.789-10.070-1.87l-0.423-0.009 0.482-0.555c0.555-0.645 1.78-1.87 2.305-2.309 1.246-1.050 2.361-1.716 3.321-1.989 0.474-0.137 1.059-0.132 1.362 0.004 0.41 0.184 0.696 0.598 0.854 1.238 0.098 0.388 0.098 1.575 0 2.147-0.111 0.632-0.098 0.743 0.073 0.913 0.124 0.124 0.175 0.145 0.354 0.145 0.38 0 0.478-0.141 0.593-0.832 0.060-0.354 0.081-0.692 0.081-1.387 0-0.811-0.013-0.965-0.098-1.302-0.269-1.063-0.926-1.797-1.806-2.006-2.040-0.478-5.161 1.485-8.264 5.208-0.256 0.303-0.495 0.602-0.534 0.653-0.064 0.094-0.107 0.102-0.726 0.141-0.359 0.021-1.016 0.081-1.464 0.132-1.187 0.137-1.093 0.149-1.161-0.158-0.179-0.858-0.239-1.46-0.243-2.39-0.004-1.007 0.030-1.306 0.213-1.865 0.196-0.593 0.529-0.995 0.952-1.135 0.205-0.073 0.709-0.064 1.007 0.013 0.499 0.132 1.204 0.508 1.844 0.99 0.38 0.286 0.512 0.337 0.713 0.269 0.23-0.073 0.367-0.265 0.367-0.504 0-0.179-0.017-0.213-0.205-0.393-0.265-0.256-1.033-0.768-1.498-0.999-0.879-0.44-1.648-0.581-2.339-0.431zM12.4 12.216c-0.004 0.021-0.282 0.44-0.61 0.935s-0.653 0.995-0.721 1.11l-0.124 0.209-0.102-0.277c-0.128-0.337-0.525-1.643-0.525-1.725 0-0.077 0.188-0.107 1.579-0.252 0.29-0.030 0.521-0.030 0.504 0zM15.649 14.854c-0.303 0.098-0.598 0.316-0.773 0.576-0.525 0.773-0.269 1.78 0.555 2.185 0.256 0.128 0.32 0.141 0.67 0.141s0.414-0.013 0.67-0.141c1.114-0.546 1.089-2.168-0.043-2.689-0.299-0.137-0.781-0.166-1.080-0.073z\"},\"child\":[]}]})(props);\n};\nexport function DiAws (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 34 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.871 28.625l-3.22-1.155v-4.72l3.22 1.097z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.461 28.625l3.22-1.155v-4.72l-3.22 1.097z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.981 22.396l3.259-0.917 3.022 0.974-3.022 1.026z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.037 22.031l-3.22-1.155v-4.72l3.22 1.097z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.628 22.031l3.22-1.155v-4.72l-3.22 1.097z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.148 15.802l3.259-0.917 3.022 0.975-3.022 1.026z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.551 22.031l-3.221-1.155v-4.72l3.221 1.097z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.142 22.031l3.22-1.155v-4.72l-3.22 1.097z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.662 15.802l3.259-0.917 3.022 0.975-3.022 1.026z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.385 15.436l-3.22-1.155v-4.72l3.22 1.097z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.976 15.436l3.22-1.155v-4.72l-3.22 1.097z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.496 9.208l3.259-0.917 3.022 0.974-3.022 1.026z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M25.899 15.436l-3.22-1.155v-4.72l3.22 1.097z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M26.49 15.436l3.221-1.155v-4.72l-3.221 1.097z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M23.010 9.208l3.259-0.917 3.022 0.974-3.022 1.026z\"},\"child\":[]}]})(props);\n};\nexport function DiBackbone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 9.875l-9.539-5.438v23.698l9.539-5.438 9.539 5.438v-23.698l-9.539 5.438zM11.248 16.286l4.752-2.709 4.752 2.709-4.752 2.709-4.752-2.709zM9.618 9.643l3.399 1.938-3.399 1.938v-3.876zM9.618 19.053l3.145 1.792-3.145 1.793v-3.585zM22.382 22.638l-3.145-1.793 3.145-1.793v3.585zM18.982 11.581l3.399-1.938v3.876l-3.399-1.938z\"},\"child\":[]}]})(props);\n};\nexport function DiBingSmall (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.706 10.918l2.269 4.919 3.352 1.516-12.092 6.361 4.954-4.416v-12.591l-5.102-1.563v18.726l5.071 3.555 12.754-7.597v-5.476z\"},\"child\":[]}]})(props);\n};\nexport function DiBintray (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M26.323 18.216c-0.172 0.003-0.298 0.088-0.162 0.29 0.438 0.651 0.061 1.254-0.139 1.851-0.097 0.289-0.342 0.219-0.452-0.014-0.27-0.57-0.582-1.146-0.279-1.806 0.055-0.119 0.076-0.25-0.054-0.279-0.404-0.091-0.854-0.166-1.211 0.017-0.283 0.145 0.126 0.394 0.115 0.63-0.010 0.2 0.070 0.404 0.104 0.607 0.135 0.817 0.384 1.533 1.442 1.55-0.286 0.388-0.497 0.727-0.998 0.494-0.163-0.076-0.341-0.001-0.43 0.171-0.137 0.265 0.076 0.364 0.247 0.478 0.168 0.099 0.353 0.032 0.529 0.051 0.51-0.042 0.854-0.33 1.121-0.742 0.235-0.362 0.404-0.753 0.572-1.149 0.273-0.643 0.275-1.346 0.488-1.999 0-0.038 0-0.075 0-0.113-0.298-0.014-0.596-0.043-0.893-0.037zM8.789 15.004c0.498 0.32 1.053 0.474 1.631 0.574 0.257 0.044 0.319-0.027 0.335-0.276 0.051-0.805 0.114-1.61 0.205-2.412 0.033-0.289-0.133-0.445-0.267-0.644-0.143-0.213-0.378-0.368-0.418-0.647 0.046-0.052 0.097-0.056 0.152-0.014 0.267 0.035 0.297 0.374 0.598 0.443 0.147-1.069 0.291-2.132 0.527-3.177 0.068-0.122 0.074-0.36 0.312-0.168-0.293 1.458-0.335 2.941-0.439 4.418-0.021 0.302 0.083 0.358 0.346 0.295 0.645-0.156 1.231-0.44 1.781-0.805 0.071 0.071 0.081 0.151 0.037 0.239-0.526 0.472-1.141 0.793-1.814 0.983-0.29 0.082-0.376 0.202-0.383 0.498-0.052 2.157-0.102 4.314 0.207 6.458 0.039 0.268-0.042 0.368-0.274 0.311-0.25-0.061-0.69 0.257-0.702-0.334-0.027-1.37-0.043-2.741 0.064-4.106 0.035-0.447-0.064-0.624-0.508-0.712-0.571-0.113-1.098-0.373-1.566-0.733-0.061-0.173 0.020-0.216 0.175-0.191zM8.048 8.167c0 1.413 0 1.413-1.399 1.413-1.437 0-1.437 0-1.437-1.44 0-0.132-0.001-0.263 0-0.394 0.005-0.813 0.183-0.993 0.988-0.995 0.319-0.001 0.638-0.002 0.958 0 0.706 0.005 0.884 0.188 0.89 0.909 0.001 0.169 0 0.338 0 0.507zM8.789 15.004c-0.058 0.064-0.117 0.127-0.175 0.191-0.692 0.26-1.409 0.134-2.111 0.098-0.362-0.018-0.489-0.37-0.494-0.717-0.007-0.431-0.003-0.863-0.002-1.294 0.001-0.483 0.271-0.731 0.726-0.757 0.467-0.027 0.939-0.029 1.406-0.002 0.439 0.026 0.68 0.286 0.676 0.738-0.004 0.581-0.017 1.162-0.026 1.743zM15.244 19.807c0.051 0.297-0.116 0.668 0.179 0.976 0.12 0.126 0.044 0.265-0.123 0.274-0.355 0.019-0.713 0.020-1.069 0.004-0.195-0.009-0.257-0.12-0.143-0.306 0.34-0.558 0.127-1.164 0.131-1.749 0.001-0.209-0.161-0.329-0.383-0.328-0.257 0-0.475 0.118-0.492 0.368-0.039 0.567-0.199 1.15 0.102 1.699 0.018 0.032 0.049 0.059 0.062 0.092 0.046 0.114-0.031 0.206-0.114 0.212-0.41 0.029-0.825 0.073-1.229-0.022-0.134-0.032-0.070-0.172-0.029-0.283 0.251-0.676 0.338-1.357-0.060-2.007-0.102-0.166-0.055-0.276 0.068-0.312 0.328-0.094 0.659-0.564 1.009-0.030 0.076 0.116 0.148 0.033 0.233-0.003 1.268-0.536 1.857-0.153 1.857 1.204 0 0.056 0 0.112 0 0.212zM13.589 12.829c-0.012-0.080-0.024-0.159-0.037-0.239 0.006-0.412 0.014-0.825 0.017-1.238 0.004-0.438 0.226-0.659 0.658-0.666 0.394-0.006 0.788-0.002 1.182 0.001 0.074 0.001 0.161-0.002 0.22 0.033 0.774 0.472 0.303 1.225 0.386 1.845 0.055 0.408-0.289 0.606-0.669 0.574-0.593-0.050-1.253 0.239-1.758-0.312zM9.81 10.489c-1.312-0.027-1.312-0.027-1.307-1.365 0.003-0.794 0.125-0.92 0.903-0.924 1.441-0.008 1.412-0.008 1.439 1.421 0.012 0.643-0.298 0.865-0.847 0.936-0.081 0.029-0.125-0.046-0.188-0.068zM16.042 19.787c0-0.244-0.007-0.488 0.002-0.732 0.007-0.2 0.008-0.373-0.264-0.388-0.122-0.007-0.202-0.098-0.194-0.231 0.008-0.136 0.106-0.194 0.225-0.21 0.397-0.053 0.509-0.346 0.557-0.675 0.037-0.252 0.161-0.373 0.412-0.347 0.264 0.028 0.261 0.234 0.251 0.423-0.018 0.338-0.029 0.65 0.464 0.591 0.11-0.013 0.228 0.050 0.239 0.187 0.013 0.161-0.108 0.275-0.234 0.262-0.566-0.059-0.45 0.334-0.454 0.65-0.003 0.244 0.008 0.488-0.003 0.732-0.014 0.315 0.031 0.569 0.432 0.564 0.14-0.002 0.276 0.036 0.28 0.206 0.005 0.195-0.139 0.243-0.304 0.25-0.038 0.001-0.075 0.003-0.113 0.002-1.466-0.013-1.283 0.172-1.297-1.284zM14.471 5.956c-0 1.008-0 1.008-1.107 1.008-0.951-0-0.953-0.003-0.953-1.11 0-0.954 0-0.954 1.105-0.953 0.944 0.001 0.954 0.013 0.954 1.055zM19.258 18.608c0.173-0.137 0.334-0.299 0.527-0.405s0.406-0.081 0.566 0.096c0.142 0.157 0.15 0.348 0.058 0.525-0.102 0.196-0.272 0.234-0.48 0.152-0.253-0.1-0.429 0.041-0.47 0.26-0.094 0.501-0.285 1.021 0.112 1.492 0.165 0.196 0.077 0.317-0.147 0.335-0.243 0.020-0.489 0.022-0.732 0.004-0.315-0.024-0.824 0.221-0.404-0.542 0.252-0.458 0.38-1.239-0.212-1.76-0.127-0.111-0.117-0.212-0.002-0.331 0.379-0.392 0.97-0.304 1.184 0.174zM17.112 8.667c0.935 0 0.958 0.024 0.958 0.994-0 0.933-0.077 1.007-1.032 1.006-0.87-0.001-0.977-0.113-0.977-1.019 0.001-0.925 0.062-0.982 1.050-0.982zM10.145 5.282c0.82 0 0.917 0.094 0.918 0.886 0.001 0.848-0.067 0.915-0.936 0.914-0.842-0.001-0.865-0.026-0.863-0.966 0.002-0.8 0.039-0.835 0.881-0.834zM8.14 11.027c-0 0.819-0.011 0.83-0.855 0.829-0.83-0-0.835-0.006-0.835-0.847 0-0.801 0.060-0.862 0.852-0.861 0.776 0 0.838 0.065 0.838 0.879zM11.865 8.683c-0.155-0.037-0.223 0.086-0.312 0.169-0.104-0.359-0.123-0.725-0.142-1.097-0.031-0.606 0.33-0.661 0.786-0.659 0.445 0.003 0.812 0.031 0.802 0.645-0.014 0.924 0.012 0.924-1.135 0.942zM15.967 7.803c-0.002 0.669-0.017 0.643-0.765 0.687-0.598 0.035-0.683-0.249-0.662-0.743 0.030-0.699 0.021-0.712 0.743-0.708 0.675 0.003 0.686 0.016 0.684 0.764zM5.906 11.769c0.088 0.465-0.149 0.58-0.569 0.591-0.484 0.013-0.597-0.203-0.598-0.647-0-0.449 0.166-0.573 0.597-0.582 0.49-0.009 0.65 0.185 0.569 0.638zM17.718 12.287c-0.389 0.064-0.544-0.090-0.542-0.491 0.002-0.378 0.114-0.538 0.515-0.54 0.405-0.001 0.582 0.127 0.576 0.548-0.005 0.397-0.169 0.551-0.55 0.483zM9.728 11.464c0.082 0.424-0.155 0.484-0.512 0.493-0.405 0.011-0.501-0.163-0.505-0.533-0.005-0.406 0.174-0.498 0.54-0.503 0.407-0.005 0.538 0.167 0.477 0.543zM14.272 9.898c-0.34 0.054-0.516-0.053-0.512-0.44 0.004-0.355 0.076-0.555 0.49-0.551 0.385 0.004 0.524 0.152 0.524 0.53 0 0.366-0.14 0.518-0.502 0.461zM15.803 5.593c0.038 0.335-0.086 0.497-0.438 0.488-0.275-0.007-0.477-0.028-0.464-0.386 0.011-0.29 0.027-0.524 0.408-0.523 0.301 0.002 0.534 0.050 0.495 0.42zM10.427 11.585c-0.051 0.005-0.101 0.009-0.152 0.014-0.152-0.146-0.182-0.347-0.24-0.535-0.031-0.097-0.006-0.149 0.105-0.131 0.096 0.217 0.191 0.435 0.287 0.652zM10.141 10.933c-0.035 0.044-0.070 0.087-0.105 0.131-0.14-0.166-0.183-0.371-0.226-0.575 0.063 0.023 0.126 0.046 0.188 0.068 0.048 0.125 0.095 0.251 0.143 0.376zM23.785 20.779c-0.326-0.297-0.192-0.659-0.228-0.967 0-1.195-0.298-1.59-1.238-1.655-0.338-0.023-0.675-0.007-1.005 0.089-0.203 0.059-0.402 0.117-0.479 0.343-0.042 0.126 0.029 0.233 0.125 0.287 0.222 0.125 0.436 0.077 0.62-0.093 0.177-0.163 0.374-0.259 0.614-0.173 0.193 0.069 0.326 0.219 0.311 0.424-0.018 0.24-0.231 0.121-0.357 0.136-0.393 0.049-0.784 0.101-1.123 0.329-0.584 0.393-0.554 1.199 0.063 1.521 0.41 0.214 0.827 0.206 1.241-0.015 0.093-0.050 0.154-0.237 0.318-0.072 0.28 0.282 0.64 0.1 0.963 0.127 0.175 0.015 0.329-0.142 0.174-0.282zM22.577 19.919c-0.067 0.334-0.134 0.689-0.569 0.719-0.296 0.020-0.389-0.209-0.366-0.454 0.038-0.409 0.329-0.561 0.698-0.602 0.274-0.031 0.236 0.163 0.237 0.337zM9.52 18.702c-0.092-0.038-0.182-0.079-0.322-0.139 0.133-0.086 0.233-0.126 0.298-0.198 0.171-0.188 0.394-0.366 0.477-0.591 0.208-0.562-0.167-1.089-0.832-1.204-0.285-0.049-0.58-0.044-0.871-0.047-0.645-0.006-1.291-0.007-1.936 0.005-0.109 0.002-0.216 0.082-0.325 0.127 0.053 0.090 0.113 0.176 0.159 0.269 0.056 0.116 0.141 0.238 0.142 0.358 0.011 1.020 0.010 2.040-0 3.061-0.001 0.113-0.073 0.228-0.126 0.335-0.050 0.102-0.117 0.194-0.176 0.291 0.12 0.045 0.24 0.126 0.361 0.128 0.801 0.011 1.603 0.014 2.405 0 0.226-0.004 0.458-0.046 0.674-0.113 0.545-0.169 0.877-0.598 0.897-1.115 0.020-0.521-0.278-0.942-0.824-1.167zM7.458 17.227c0.006-0.1 0.149-0.271 0.234-0.274 0.294-0.011 0.608-0.016 0.881 0.076 0.364 0.123 0.418 0.639 0.122 0.976-0.314 0.357-0.738 0.512-1.247 0.608 0-0.499-0.015-0.944 0.011-1.386zM8.844 20.416c-0.032 0.026-0.067 0.050-0.104 0.071-0.25 0.142-0.669 0.275-0.956 0.223-0.296-0.053-0.341-0.366-0.343-0.613-0.001-0.093-0-0.187-0-0.28-0-0.717-0-0.717 0.701-0.892 0.381-0.095 0.738 0.091 0.927 0.484 0.17 0.352 0.067 0.774-0.224 1.007z\"},\"child\":[]}]})(props);\n};\nexport function DiBitbucket (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 3.737v0c-6.126 0-11.127 1.647-11.127 3.692 0 0.539 1.336 8.261 1.866 11.324 0.238 1.373 3.787 3.387 9.259 3.387l0.006-0.017v0.017c5.472 0 9.021-2.014 9.259-3.387 0.53-3.063 1.866-10.785 1.866-11.324-0-2.045-5.002-3.692-11.128-3.692zM16 19.659c-1.953 0-3.537-1.584-3.537-3.537s1.584-3.537 3.537-3.537c1.954 0 3.537 1.584 3.537 3.537s-1.584 3.537-3.537 3.537zM15.998 8.57c-3.936-0.006-7.125-0.69-7.124-1.528s3.193-1.511 7.129-1.505c3.936 0.006 7.125 0.69 7.124 1.528s-3.193 1.511-7.129 1.505zM23.998 21.23c-0.169 0-0.305 0.12-0.305 0.12s-2.74 2.17-7.693 2.17c-4.953-0-7.693-2.17-7.693-2.17s-0.136-0.12-0.305-0.12c-0.202 0-0.394 0.136-0.394 0.435 0 0.032 0.003 0.063 0.009 0.094 0.425 2.276 0.736 3.891 0.791 4.137 0.371 1.675 3.647 2.938 7.591 2.938v0h0.001c3.945-0 7.22-1.264 7.591-2.938 0.055-0.246 0.365-1.861 0.791-4.137 0.006-0.031 0.009-0.062 0.009-0.094 0-0.3-0.192-0.435-0.393-0.435zM18.030 16.15c0 1.064-0.863 1.927-1.927 1.927s-1.927-0.863-1.927-1.927c0-1.064 0.863-1.927 1.927-1.927s1.927 0.863 1.927 1.927z\"},\"child\":[]}]})(props);\n};\nexport function DiBlackberry (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M24.177 15.734c-1.481 0-3.077 0-3.077 0l0.839-3.897c0 0 2.166 0 2.955 0 1.917 0 2.371 0.947 2.371 1.696 0 1.060-0.683 2.201-3.088 2.201zM26.12 19.085c0 1.060-0.682 2.201-3.088 2.201-1.481 0-3.077 0-3.077 0l0.839-3.9c0 0 2.166 0 2.953 0 1.917-0 2.374 0.953 2.374 1.699zM17.014 12.246c-1.481 0-3.074 0-3.074 0l0.839-3.897c0 0 2.163 0 2.95 0 1.92 0 2.377 0.947 2.377 1.696 0 1.060-0.685 2.201-3.091 2.201zM19.035 15.911c0 1.060-0.682 2.201-3.088 2.201-1.479 0-3.074 0-3.074 0l0.837-3.895c0 0 2.166 0 2.954 0 1.917 0 2.371 0.944 2.371 1.693zM17.893 22.021c0 1.063-0.682 2.201-3.083 2.201-1.484 0-3.081 0-3.081 0l0.839-3.9c0 0 2.166 0 2.955 0 1.916 0 2.37 0.95 2.37 1.699zM8.781 12.246c-1.479 0-3.073 0-3.073 0l0.834-3.897c0 0 2.166 0 2.955 0 1.917 0 2.376 0.947 2.376 1.696-0 1.060-0.687 2.201-3.093 2.201zM10.807 15.911c0 1.060-0.687 2.201-3.087 2.201-1.485 0-3.081 0-3.081 0l0.84-3.895c0 0 2.168 0 2.953 0 1.919 0 2.376 0.944 2.376 1.693z\"},\"child\":[]}]})(props);\n};\nexport function DiBootstrap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.171 4.999c-0.562 0.083-1.237 0.347-1.716 0.675-0.313 0.207-0.717 0.596-0.95 0.901-0.26 0.343-0.577 1.003-0.702 1.456l-0.106 0.377v15.727l0.106 0.377c0.124 0.453 0.441 1.113 0.702 1.456 0.49 0.641 1.245 1.181 2.003 1.426 0.626 0.2 0.313 0.192 8.486 0.192 8.177 0 7.864 0.008 8.486-0.196 0.762-0.245 1.516-0.781 2.003-1.422 0.26-0.347 0.581-1.007 0.705-1.456l0.102-0.377v-15.727l-0.106-0.377c-0.124-0.452-0.441-1.113-0.701-1.456-0.234-0.306-0.637-0.694-0.95-0.901-0.336-0.23-0.883-0.479-1.305-0.596l-0.37-0.102-7.732-0.004c-4.251-0.004-7.834 0.008-7.954 0.026zM18.709 9.159c1.192 0.196 2.006 0.588 2.538 1.222 0.226 0.268 0.49 0.8 0.6 1.196 0.068 0.26 0.079 0.407 0.083 1.056 0.004 0.683-0.004 0.784-0.083 1.052-0.23 0.8-0.732 1.414-1.543 1.89l-0.279 0.162 0.2 0.064c0.305 0.102 0.815 0.366 1.075 0.562 0.649 0.49 1.101 1.252 1.282 2.161 0.087 0.453 0.087 1.422-0.004 1.837-0.358 1.633-1.622 2.768-3.523 3.149-0.728 0.147-0.916 0.155-4.824 0.155h-3.82v-14.6l3.953 0.015c3.538 0.011 3.99 0.019 4.345 0.079zM13.655 13.277v1.72l1.822-0.015c1.709-0.019 1.837-0.023 2.112-0.098 0.86-0.234 1.233-0.728 1.233-1.633 0-0.694-0.245-1.143-0.777-1.407-0.471-0.234-0.981-0.283-2.983-0.287h-1.407v1.72zM13.655 19.176v2.003l1.991-0.015c2.237-0.015 2.312-0.023 2.863-0.29 0.634-0.309 0.916-0.815 0.916-1.641 0-1.063-0.422-1.652-1.395-1.946-0.275-0.087-0.328-0.087-2.327-0.102l-2.048-0.011v2.003z\"},\"child\":[]}]})(props);\n};\nexport function DiBower (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.43 10.26c-0.652 0-1.182 0.529-1.182 1.181s0.529 1.182 1.182 1.182c0.653 0 1.181-0.529 1.181-1.182s-0.529-1.181-1.181-1.181zM13.43 11.346c-0.38 0-0.688-0.192-0.688-0.428s0.308-0.428 0.688-0.428c0.38 0 0.688 0.192 0.688 0.428s-0.308 0.428-0.688 0.428zM26.894 16.055c-1.165-1.12-6.992-1.819-8.83-2.022 0.089-0.21 0.165-0.428 0.228-0.652 0.251-0.11 0.521-0.212 0.801-0.297 0.034 0.101 0.195 0.486 0.286 0.669 3.697 0.102 3.887-2.747 4.037-3.528 0.147-0.763 0.14-1.501 1.408-2.849-1.889-0.551-4.606 0.853-5.516 2.943-0.342-0.128-0.685-0.223-1.024-0.281-0.243-0.98-1.508-3.71-4.827-3.71-2.15 0-4.318 0.888-5.948 2.436-0.878 0.834-1.568 1.824-2.051 2.944-0.521 1.209-0.785 2.54-0.785 3.957 0 4.934 3.368 9.257 5.271 9.257 0.831 0 1.546-0.622 1.714-1.18 0.141 0.383 0.572 1.572 0.714 1.874 0.21 0.448 1.179 0.835 1.603 0.37 0.545 0.303 1.546 0.485 2.091-0.323 1.050 0.222 1.979-0.404 1.999-1.152 0.515-0.027 0.768-0.751 0.656-1.327-0.083-0.424-0.969-1.947-1.315-2.472 0.684 0.557 2.418 0.714 2.628 0 1.103 0.866 2.823 0.412 2.959-0.293 1.341 0.348 2.878-0.417 2.626-1.343 2.154-0.149 1.878-2.44 1.274-3.021zM21.285 12.257c-0.567-0.223-1.287-0.364-1.791-0.364-0.715 0-1.151 0.405-1.824 0.405-0.141 0-0.478 0.001-0.749-0.096 0.178 0.187 0.399 0.288 0.828 0.288 0.256 0 0.764-0.131 1.175-0.254 0.006 0.087 0.015 0.172 0.027 0.258-0.77 0.184-1.578 0.674-1.812 0.801-0.52-1.149-0.073-2.235 0.34-2.736 1.852 0.004 3.348 1.276 3.805 1.698zM22.086 12.171l-0.283-0.265c-0.291-0.273-0.594-0.519-0.906-0.738 0.464-0.92 1.047-1.925 1.783-2.547-0.81 0.327-1.611 1.303-2.084 2.346-0.241-0.153-0.486-0.29-0.733-0.409 0.66-1.409 2.193-2.585 3.883-2.677-1.132 1.027-0.707 3.075-1.661 4.289zM19.761 13.131c-0.125-0.271-0.251-0.72-0.236-0.984 0.21-0.005 0.614 0.074 0.678 0.089-0.025 0.124-0.038 0.396-0.038 0.431 0.040-0.069 0.151-0.306 0.196-0.4 0.404 0.077 0.935 0.206 1.246 0.351-0.366 0.237-0.987 0.494-1.847 0.512zM17.238 9.955c-1.477 1.497-0.894 3.391-0.356 4.246-0.765 1.273-2.269 2.143-4.016 2.539 1.961 0 3.115-0.505 3.786-0.999 0.428-0.316 0.66-0.627 0.779-0.8 2.908 0.188 7.512 1.125 7.961 1.428 0.18 0.122 0.366 0.391 0.394 0.649-2.185-0.306-6.124-0.628-7.155-0.682 0.732 0.104 6.072 1.115 6.998 1.352-0.282 0.459-0.924 0.784-1.891 0.558 0.523 0.712-0.492 1.566-1.906 1.096 0.311 0.699-0.947 1.328-2.378 0.6 0.018 0.699-1.775 0.78-2.483 0.007 0.014 0.092 0.098 0.268 0.134 0.346-0.228 2.042-1.901 3.309-3.614 3.309-4.194 0-7.848-3.407-7.848-7.939 0-4.791 3.541-8.367 7.814-8.367 2.448-0 3.554 1.927 3.781 2.657z\"},\"child\":[]}]})(props);\n};\nexport function DiBrackets (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M24.995 5.975h-17.891c-1.212 0-2.218 1.223-2.409 2.826v1.107c0.004 0.037 0.009 0.074 0.014 0.111-0.006 0.026-0.010 0.053-0.014 0.080v13.989c0.279 1.444 1.229 2.507 2.36 2.507h17.891c1.131 0 2.082-1.063 2.36-2.507v-15.831c-0.329-1.328-1.239-2.284-2.31-2.284zM25.117 22.579c-0.224 1.165-0.991 2.022-1.903 2.022h-14.428c-0.912 0-1.678-0.857-1.903-2.022v-11.282c0.004-0.022 0.006-0.044 0.011-0.065-0.004-0.030-0.008-0.059-0.011-0.089v-0.893c0.154-1.293 0.965-2.28 1.943-2.28h14.428c0.864 0 1.597 0.77 1.863 1.841v12.767zM8.889 16.286v6.117h6.365v-2.785h-3.581v-6.664h3.581v-2.785h-6.366v6.117zM16.746 11.561v1.392h3.581v6.664h-3.581v2.785h6.366v-12.234h-6.366v1.392z\"},\"child\":[]}]})(props);\n};\nexport function DiBugsense (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.737 19.977c-0.133 0-0.269-0.022-0.404-0.065-0.142 0.85-0.176 1.88 0.494 1.898 0.858 0.023 2.648 0.011 3.486 0.005 0.030-0.154 0.030-0.184 0.006-0.168-0.677-0.286-1.824-0.944-1.234-1.95-0.198 0.028-0.391 0.062-0.589 0.097-0.528 0.089-1.074 0.183-1.759 0.183zM21.118 21.646c-0.626-0.264-1.657-0.849-1.337-1.732-0.386 0.221-0.825 0.333-1.313 0.333-0.454 0-0.893-0.112-1.351-0.242-0.128 0.83-0.136 1.788 0.509 1.805 0.858 0.023 2.648 0.011 3.486 0.005 0.030-0.156 0.030-0.186 0.006-0.169zM9.595 18.469c-0.249-0.351-0.452-0.7-0.592-0.959-0.17 0.775-1.003 3.745-3.869 4.501l-0.12 0.27c0 0 3.667-0.333 5.813-2.587-0.403-0.228-0.815-0.637-1.231-1.226zM21.413 13.922c0 0-0.204-0.706-0.871-1.497-1.308 0.8-2.216 2.189-2.355 3.798-0.071-0.335-0.109-0.682-0.109-1.039 0-1.423 0.6-2.706 1.561-3.61-0.336-0.252-0.731-0.488-1.194-0.688-1.579 1.078-2.434 3.010-2.085 4.961-0.156-0.305-0.283-0.63-0.376-0.975-0.433-1.607-0.024-3.242 0.957-4.438-0.428-0.079-0.895-0.13-1.405-0.145-1.501 1.451-1.951 3.732-1.039 5.669-0.23-0.254-0.438-0.535-0.616-0.842-0.849-1.46-0.868-3.173-0.203-4.595-0.689 0.218-1.276 0.575-1.777 1.011-0.653 1.66-0.376 3.6 0.828 5.020-0.288-0.185-0.561-0.403-0.815-0.653-0.759-0.753-1.224-1.69-1.393-2.669-1.058 1.787-1.338 3.726-1.338 3.726s1.232 2.675 2.554 2.675 2.103-0.36 3.395-0.36c1.292 0 2.314 0.631 3.336 0.631s3.095-0.512 2.945-5.981zM22.754 14.233c0.275-0.256 0.663-0.657 0.938-1.139 0.539-0.947 0.453-2.012 0.453-2.012s-1.227 0.47-1.766 1.418c-0.346 0.608-0.558 1.168-0.587 1.556 0.149 0.052 0.249-0.121-0-0 0.031 1.508-0.106 2.746-0.411 3.703 0.016 0.003 0.033 0.006 0.048 0.008 0 0 0.991 0.391 2.073-0.030s2.643 1.834 2.885 2.375l0.601 0.061c0-0.001-0.353-4.886-4.233-5.939zM23.746 16.191c-0.257 0-0.465-0.209-0.465-0.466s0.209-0.466 0.465-0.466c0.256 0 0.465 0.209 0.465 0.466s-0.209 0.466-0.465 0.466z\"},\"child\":[]}]})(props);\n};\nexport function DiCelluloid (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.125 7.937c-0.934 0.288-1.667 1.136-1.897 2.242-0.086 0.388-0.187 0.474-0.632 0.546-1.092 0.173-1.984 1.092-2.171 2.242-0.086 0.431-0.158 0.503-0.589 0.589-0.791 0.129-1.409 0.518-1.84 1.164-0.331 0.503-0.388 0.748-0.388 1.552s0.058 1.049 0.388 1.552c0.431 0.647 1.049 1.035 1.84 1.165 0.431 0.086 0.503 0.158 0.589 0.589 0.187 1.15 1.078 2.070 2.171 2.242 0.446 0.072 0.546 0.158 0.632 0.546 0.374 1.725 2.012 2.76 3.579 2.242 1.035-0.345 1.941-1.437 1.941-2.343 0-0.302 0.086-0.359 0.575-0.431 1.049-0.144 2.070-1.164 2.242-2.3 0.086-0.474 0.144-0.532 0.518-0.532 0.747 0 1.667-0.69 2.127-1.581 0.244-0.46 0.244-1.84 0-2.3-0.46-0.891-1.38-1.581-2.127-1.581-0.374 0-0.431-0.057-0.518-0.546-0.172-1.121-1.193-2.142-2.242-2.286-0.489-0.072-0.575-0.129-0.575-0.417-0-1.581-1.955-2.861-3.622-2.357zM17.152 9.174c0.489 0.417 0.819 1.279 0.675 1.825-0.259 1.049-1.437 1.711-2.458 1.366-1.437-0.474-1.653-2.63-0.331-3.364 0.589-0.331 1.624-0.244 2.113 0.172zM14.248 11.919c0.474 0.316 0.762 0.92 0.762 1.639 0 0.503-0.086 0.69-0.561 1.15-0.503 0.503-0.632 0.561-1.265 0.561-0.805 0-1.337-0.316-1.696-1.006-0.877-1.682 1.15-3.392 2.76-2.343zM19.524 11.732c0.704 0.287 1.092 0.877 1.092 1.624 0 1.179-0.69 1.912-1.797 1.912-1.121 0-1.797-0.704-1.797-1.84 0-0.819 0.359-1.38 1.064-1.696 0.575-0.244 0.848-0.244 1.437 0zM11.661 15.038c0.402 0.431 0.474 0.618 0.474 1.236s-0.072 0.805-0.474 1.236c-1.15 1.251-3.162 0.474-3.162-1.236 0-1.164 0.862-1.926 2.056-1.811 0.503 0.043 0.733 0.158 1.107 0.575zM17.037 14.736c0.316 0.216 0.561 0.546 0.704 0.934 0.187 0.532 0.187 0.676 0 1.207-0.69 1.969-3.594 1.495-3.594-0.589 0-0.762 0.259-1.207 0.92-1.61 0.604-0.374 1.366-0.345 1.969 0.057zM22.499 14.621c1.279 0.676 1.279 2.631 0 3.306-1.020 0.517-2.213 0.043-2.602-1.049-0.187-0.532-0.187-0.676 0-1.207 0.388-1.092 1.581-1.567 2.602-1.049zM14.449 17.841c0.475 0.46 0.561 0.647 0.561 1.15 0 1.509-1.279 2.372-2.63 1.768-1.84-0.819-1.236-3.479 0.805-3.479 0.633 0 0.762 0.058 1.265 0.561zM19.754 17.496c0.546 0.288 0.862 0.906 0.862 1.711 0 1.667-2.127 2.386-3.22 1.078-0.445-0.532-0.517-1.639-0.144-2.228 0.489-0.733 1.653-1.006 2.501-0.561zM17.022 20.414c0.992 0.733 1.092 1.984 0.216 2.86-0.402 0.402-0.575 0.474-1.164 0.474-0.834-0.014-1.265-0.23-1.653-0.805-1.092-1.653 0.992-3.694 2.602-2.53z\"},\"child\":[]}]})(props);\n};\nexport function DiChrome (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.206 16.286c0 2.323-1.883 4.206-4.206 4.206s-4.206-1.883-4.206-4.206c0-2.323 1.883-4.206 4.206-4.206s4.206 1.883 4.206 4.206zM15.975 11.274v-0h10.164c-1.848-3.731-5.694-6.296-10.139-6.296-3.599 0-6.804 1.681-8.876 4.301l3.878 6.631c0.192-2.584 2.343-4.622 4.973-4.635zM16 21.297c-2.169 0-4.016-1.378-4.714-3.306l-4.68-8.004c-1.209 1.8-1.915 3.966-1.915 6.297 0 5.692 4.206 10.401 9.679 11.191l3.901-6.723c-0.682 0.348-1.454 0.544-2.272 0.544zM26.5 12.080h-7.773c1.376 0.893 2.285 2.443 2.285 4.206 0 0.867-0.22 1.682-0.607 2.393l0.003 0.002-5.158 8.888c0.248 0.016 0.498 0.025 0.751 0.025 6.245 0 11.308-5.063 11.308-11.308 0-1.486-0.287-2.906-0.809-4.206z\"},\"child\":[]}]})(props);\n};\nexport function DiCisco (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.009 16.403c-0.14 0-0.275 0.054-0.377 0.152s-0.161 0.23-0.166 0.371v1.209c0.010 0.137 0.072 0.266 0.172 0.359s0.233 0.146 0.37 0.146 0.27-0.052 0.37-0.146c0.101-0.094 0.162-0.222 0.173-0.359v-1.209c-0.005-0.141-0.065-0.274-0.166-0.371s-0.236-0.152-0.377-0.152zM7.015 14.902c-0.14 0-0.275 0.054-0.377 0.152s-0.161 0.23-0.166 0.371v2.71c0.010 0.137 0.072 0.265 0.173 0.359s0.233 0.146 0.37 0.146 0.27-0.052 0.37-0.146c0.101-0.094 0.162-0.222 0.173-0.359v-2.71c-0.006-0.14-0.065-0.273-0.166-0.371s-0.236-0.152-0.377-0.152zM10.005 12.841c-0.14 0-0.275 0.055-0.377 0.152s-0.161 0.23-0.166 0.371v5.861c0.010 0.137 0.072 0.266 0.172 0.359s0.233 0.146 0.37 0.146c0.137 0 0.27-0.052 0.37-0.146s0.162-0.222 0.173-0.359v-5.861c-0.006-0.141-0.065-0.273-0.166-0.371s-0.236-0.152-0.377-0.152zM13.010 14.902c-0.14 0-0.275 0.054-0.377 0.152s-0.161 0.23-0.166 0.371v2.71c0.010 0.137 0.072 0.265 0.173 0.359s0.233 0.146 0.37 0.146c0.137 0 0.27-0.052 0.37-0.146s0.162-0.222 0.172-0.359v-2.71c-0.006-0.14-0.065-0.273-0.166-0.371s-0.236-0.152-0.377-0.152zM16.003 16.403c-0.14 0-0.275 0.054-0.377 0.152s-0.161 0.23-0.166 0.371v1.209c0.010 0.137 0.072 0.266 0.173 0.359s0.233 0.146 0.37 0.146c0.137 0 0.27-0.052 0.37-0.146s0.162-0.222 0.173-0.359v-1.209c-0.006-0.141-0.065-0.274-0.166-0.371s-0.236-0.152-0.377-0.152zM19.006 14.902c-0.14 0-0.275 0.054-0.377 0.152s-0.161 0.23-0.166 0.371v2.71c0.010 0.137 0.072 0.265 0.173 0.359s0.233 0.146 0.37 0.146c0.137 0 0.27-0.052 0.37-0.146s0.162-0.222 0.172-0.359v-2.71c-0.006-0.14-0.065-0.273-0.166-0.371s-0.236-0.152-0.377-0.152zM21.996 12.841c-0.14 0-0.276 0.055-0.377 0.152s-0.161 0.23-0.166 0.371v5.861c0.010 0.137 0.072 0.266 0.173 0.359s0.233 0.146 0.37 0.146 0.27-0.052 0.37-0.146c0.101-0.093 0.163-0.222 0.172-0.359v-5.861c-0.006-0.141-0.065-0.273-0.166-0.371s-0.236-0.152-0.377-0.152zM24.997 14.902c-0.14 0-0.275 0.054-0.376 0.152s-0.161 0.23-0.166 0.371v2.71c0.010 0.137 0.072 0.265 0.173 0.359s0.233 0.146 0.37 0.146 0.27-0.052 0.37-0.146c0.101-0.094 0.163-0.222 0.173-0.359v-2.71c-0.006-0.14-0.065-0.273-0.167-0.371s-0.236-0.152-0.377-0.152zM28.367 16.554c-0.101-0.097-0.236-0.152-0.376-0.152s-0.275 0.054-0.376 0.152-0.161 0.23-0.166 0.371v1.209c0.010 0.137 0.072 0.265 0.172 0.359s0.233 0.146 0.37 0.146c0.137 0 0.27-0.052 0.37-0.146s0.162-0.222 0.173-0.359v-1.209c-0.006-0.141-0.065-0.273-0.167-0.371z\"},\"child\":[]}]})(props);\n};\nexport function DiClojureAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.589 16.464c-0.098 0.213-0.207 0.453-0.319 0.708-0.398 0.901-0.838 1.997-0.999 2.699-0.058 0.25-0.094 0.56-0.093 0.904 0 0.136 0.007 0.279 0.019 0.424 0.562 0.207 1.169 0.32 1.803 0.321 0.577-0.001 1.132-0.096 1.651-0.269-0.122-0.112-0.238-0.23-0.344-0.364-0.704-0.897-1.096-2.212-1.717-4.424zM16 6.383c-0.186 0-0.37 0.006-0.554 0.016-0.023 0.001-0.047 0.002-0.070 0.003-0.072 0.005-0.143 0.011-0.215 0.017-0.033 0.003-0.066 0.005-0.099 0.008-0.067 0.006-0.134 0.014-0.201 0.022-0.037 0.004-0.073 0.008-0.11 0.013-0.065 0.008-0.129 0.018-0.194 0.027-0.038 0.006-0.076 0.011-0.114 0.017-0.063 0.010-0.126 0.021-0.189 0.032-0.038 0.007-0.077 0.014-0.115 0.021-0.062 0.012-0.124 0.025-0.186 0.038-0.038 0.008-0.076 0.016-0.114 0.025-0.062 0.014-0.123 0.028-0.184 0.043-0.037 0.009-0.075 0.018-0.112 0.028-0.061 0.016-0.123 0.032-0.184 0.049-0.036 0.010-0.072 0.020-0.109 0.031-0.062 0.018-0.123 0.036-0.184 0.055-0.035 0.011-0.069 0.022-0.103 0.033-0.062 0.020-0.124 0.040-0.185 0.061-0.032 0.011-0.064 0.023-0.096 0.034-0.063 0.022-0.126 0.045-0.189 0.069-0.029 0.011-0.057 0.022-0.085 0.033-0.065 0.026-0.131 0.051-0.196 0.078-0.023 0.009-0.045 0.019-0.068 0.029-0.070 0.030-0.14 0.060-0.209 0.091-0.011 0.005-0.022 0.010-0.032 0.015-0.424 0.193-0.832 0.416-1.222 0.665-0.010 0.006-0.019 0.012-0.029 0.018-0.067 0.043-0.132 0.087-0.198 0.131-0.016 0.011-0.033 0.022-0.049 0.033-0.062 0.042-0.122 0.086-0.183 0.129-0.020 0.014-0.039 0.028-0.059 0.042-0.058 0.043-0.116 0.086-0.173 0.13-0.021 0.016-0.042 0.032-0.063 0.049-0.056 0.043-0.111 0.087-0.165 0.132-0.022 0.018-0.043 0.035-0.065 0.053-0.054 0.044-0.107 0.089-0.159 0.135-0.022 0.019-0.043 0.038-0.065 0.057-0.052 0.046-0.103 0.092-0.154 0.139-0.021 0.020-0.043 0.039-0.064 0.059-0.051 0.047-0.101 0.095-0.15 0.143-0.021 0.020-0.041 0.040-0.061 0.060-0.049 0.049-0.098 0.098-0.147 0.148-0.020 0.020-0.039 0.041-0.058 0.061-0.048 0.051-0.097 0.102-0.144 0.154-0.018 0.020-0.036 0.040-0.053 0.059-0.048 0.053-0.096 0.107-0.143 0.161-0.016 0.018-0.031 0.037-0.046 0.055-0.048 0.057-0.096 0.114-0.143 0.172-0.011 0.014-0.022 0.028-0.033 0.042-0.059 0.073-0.116 0.147-0.173 0.222-0.004 0.006-0.008 0.012-0.013 0.017-0.045 0.060-0.090 0.121-0.134 0.182 0.935-0.585 1.889-0.796 2.722-0.789 1.151 0.003 2.056 0.36 2.49 0.604 0.105 0.061 0.204 0.126 0.302 0.192 0.775-0.341 1.631-0.532 2.532-0.532 3.475 0 6.291 2.816 6.292 6.291h-0c0 1.752-0.717 3.336-1.872 4.476 0.284 0.032 0.586 0.052 0.895 0.050 1.097 0 2.282-0.241 3.171-0.989 0.58-0.488 1.065-1.203 1.334-2.274 0.053-0.414 0.083-0.835 0.083-1.263 0-5.469-4.433-9.903-9.902-9.903zM20.56 22.291c-0.694-0.087-1.266-0.192-1.766-0.368-0.842 0.418-1.791 0.654-2.794 0.654-3.474 0-6.29-2.816-6.291-6.291 0-1.886 0.831-3.576 2.145-4.729-0.352-0.085-0.718-0.134-1.092-0.134-1.845 0.017-3.793 1.038-4.604 3.794-0.007 0.062-0.013 0.125-0.018 0.188-0.002 0.023-0.005 0.046-0.006 0.069-0.004 0.046-0.007 0.093-0.010 0.14-0.003 0.043-0.006 0.087-0.009 0.13-0.004 0.065-0.006 0.131-0.008 0.197-0.001 0.023-0.002 0.046-0.003 0.070-0.003 0.091-0.004 0.182-0.004 0.274 0 5.469 4.434 9.902 9.902 9.902 0.001 0 0.002-0 0.003-0 0.105 0 0.21-0.002 0.315-0.005 0.037-0.001 0.073-0.004 0.11-0.005 0.069-0.003 0.138-0.006 0.206-0.010 0.044-0.003 0.088-0.007 0.131-0.010 0.061-0.005 0.121-0.009 0.182-0.015 0.047-0.004 0.093-0.010 0.14-0.015 0.057-0.006 0.114-0.012 0.171-0.019 0.048-0.006 0.096-0.013 0.144-0.020 0.055-0.008 0.109-0.015 0.163-0.024 0.049-0.008 0.098-0.017 0.147-0.025 0.052-0.009 0.105-0.018 0.157-0.028 0.050-0.009 0.099-0.020 0.148-0.030 0.051-0.011 0.102-0.021 0.152-0.032s0.1-0.023 0.149-0.035c0.049-0.012 0.099-0.023 0.148-0.036 0.050-0.013 0.1-0.027 0.15-0.040 0.048-0.013 0.096-0.026 0.143-0.040 0.050-0.015 0.1-0.030 0.151-0.045 0.046-0.014 0.093-0.029 0.139-0.043 0.051-0.016 0.101-0.033 0.151-0.051 0.045-0.015 0.090-0.031 0.135-0.047 0.051-0.018 0.101-0.037 0.151-0.056 0.044-0.016 0.087-0.033 0.13-0.050 0.051-0.020 0.101-0.040 0.151-0.061 0.042-0.017 0.084-0.035 0.126-0.053 0.051-0.022 0.101-0.044 0.151-0.066 0.041-0.018 0.081-0.037 0.121-0.055 0.051-0.024 0.101-0.048 0.151-0.072 0.039-0.019 0.078-0.038 0.116-0.058 0.051-0.026 0.101-0.051 0.151-0.078 0.037-0.020 0.074-0.039 0.111-0.059 0.051-0.027 0.101-0.055 0.152-0.083 0.035-0.020 0.071-0.040 0.106-0.061 0.051-0.030 0.102-0.059 0.152-0.090 0.033-0.020 0.067-0.041 0.1-0.061 0.051-0.032 0.102-0.064 0.153-0.096 0.031-0.020 0.062-0.041 0.093-0.062 0.052-0.034 0.103-0.069 0.154-0.104 0.029-0.020 0.057-0.040 0.086-0.061 0.052-0.037 0.105-0.074 0.156-0.112 0.026-0.019 0.052-0.039 0.078-0.058 0.053-0.040 0.106-0.080 0.159-0.121 0.023-0.018 0.045-0.036 0.068-0.054 0.055-0.044 0.11-0.087 0.163-0.132 0.019-0.016 0.037-0.032 0.056-0.047 0.057-0.048 0.114-0.096 0.17-0.146 0.013-0.012 0.026-0.023 0.038-0.035 0.061-0.054 0.121-0.109 0.181-0.165 0.004-0.004 0.009-0.009 0.013-0.013 0.066-0.063 0.132-0.126 0.197-0.19 0.024-0.024 0.048-0.049 0.072-0.073 0.040-0.040 0.080-0.081 0.119-0.122 0.029-0.030 0.057-0.060 0.085-0.091 0.033-0.036 0.067-0.072 0.1-0.108 0.030-0.034 0.061-0.067 0.090-0.102s0.058-0.067 0.087-0.101c0.032-0.037 0.063-0.074 0.095-0.112 0.025-0.030 0.049-0.060 0.073-0.090 0.034-0.042 0.068-0.084 0.101-0.126 0.012-0.015 0.023-0.030 0.035-0.046 0.092-0.119 0.183-0.24 0.27-0.364 0-0 0-0 0-0.001-0.969 0.242-1.901 0.357-2.699 0.36-0.299 0-0.58-0.016-0.84-0.048zM18.699 20.372c0.061 0.030 0.2 0.080 0.393 0.134 1.298-0.953 2.141-2.487 2.144-4.221h-0c-0.005-2.891-2.344-5.23-5.236-5.236-0.575 0.001-1.127 0.096-1.644 0.267 1.063 1.212 1.574 2.944 2.069 4.838 0 0.001 0 0.002 0.001 0.002s0.158 0.526 0.428 1.222c0.268 0.695 0.65 1.555 1.067 2.182 0.274 0.42 0.574 0.722 0.779 0.811zM12.991 12.006c-1.344 0.947-2.223 2.509-2.227 4.28 0.003 1.744 0.856 3.286 2.166 4.237 0.321-1.339 1.127-2.564 2.335-5.021-0.072-0.197-0.153-0.413-0.245-0.639-0.335-0.839-0.818-1.814-1.249-2.256-0.22-0.231-0.486-0.43-0.781-0.6z\"},\"child\":[]}]})(props);\n};\nexport function DiClojure (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 5.047c-6.197 0-11.238 5.042-11.238 11.239s5.042 11.239 11.238 11.239c6.197 0 11.239-5.042 11.239-11.239s-5.042-11.239-11.239-11.239zM16 6.129c5.609 0 10.156 4.548 10.156 10.157 0 0.439-0.031 0.871-0.085 1.295-0.276 1.099-0.774 1.832-1.368 2.333-0.912 0.767-2.127 1.015-3.252 1.014-0.316 0.002-0.627-0.019-0.918-0.051 1.185-1.17 1.92-2.794 1.92-4.591h0c-0-3.564-2.889-6.452-6.453-6.452-0.924 0-1.802 0.196-2.597 0.546-0.1-0.069-0.202-0.135-0.31-0.197-0.445-0.25-1.373-0.616-2.554-0.62-0.855-0.008-1.834 0.209-2.793 0.81 1.843-2.567 4.852-4.242 8.254-4.242zM14.226 19.964c0.165-0.72 0.617-1.845 1.024-2.769 0.115-0.262 0.227-0.508 0.328-0.726 0.637 2.268 1.040 3.617 1.762 4.537 0.108 0.137 0.228 0.259 0.353 0.374-0.532 0.177-1.101 0.275-1.693 0.276-0.65-0.001-1.273-0.118-1.85-0.329-0.012-0.149-0.019-0.296-0.019-0.435-0.001-0.353 0.036-0.671 0.095-0.927zM12.852 20.631c-1.344-0.976-2.219-2.557-2.222-4.346 0.003-1.816 0.905-3.418 2.284-4.389 0.302 0.174 0.576 0.379 0.801 0.615 0.442 0.453 0.937 1.453 1.281 2.314 0.094 0.232 0.178 0.454 0.251 0.656-1.239 2.52-2.065 3.777-2.395 5.15zM16.876 17.407c-0.277-0.714-0.438-1.252-0.439-1.253s-0.001-0.001-0.001-0.002c-0.507-1.943-1.032-3.719-2.122-4.962 0.53-0.176 1.097-0.273 1.686-0.274 2.966 0.006 5.365 2.405 5.37 5.37h0c-0.003 1.779-0.868 3.352-2.199 4.329-0.198-0.056-0.34-0.107-0.403-0.138-0.21-0.091-0.519-0.401-0.799-0.831-0.427-0.643-0.819-1.525-1.094-2.238zM16 26.442c-5.609 0-10.156-4.547-10.156-10.157 0-0.369 0.021-0.733 0.059-1.092 0.832-2.83 2.831-3.877 4.724-3.895 0.384-0.001 0.76 0.050 1.12 0.137-1.348 1.183-2.2 2.916-2.2 4.85 0 3.564 2.889 6.452 6.452 6.452 1.030 0 2.002-0.242 2.866-0.671 0.513 0.181 1.1 0.289 1.811 0.378 0.267 0.033 0.555 0.049 0.861 0.049 0.819-0.003 1.774-0.121 2.768-0.369-1.837 2.61-4.872 4.317-8.307 4.317z\"},\"child\":[]}]})(props);\n};\nexport function DiCloud9 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M27.382 17.297c-0.321-1.439-1.479-2.748-2.885-3.206-0.474-0.155-1.012-0.269-1.51-0.299-0.294-0.018-0.574-0.012-0.863 0.038-0.381 0.066-0.435 0.019-0.522-0.339-0.106-0.546-0.282-1.067-0.541-1.559-0.366-0.657-0.832-1.23-1.421-1.7-1.064-0.846-2.432-1.282-3.791-1.166-0.91 0.077-1.764 0.354-2.535 0.844-0.435 0.276-0.805 0.627-1.161 0.995-0.063 0.066-0.121 0.136-0.179 0.206-0.365 0.44-0.6 0.954-0.825 1.472-0.061 0.151-0.093 0.31-0.142 0.465-0.031 0.080-0.035 0.167-0.084 0.239-1.396-0.396-3.022-0.137-4.229 0.667-0.316 0.21-0.643 0.465-0.9 0.746-0.836 0.911-1.325 2.188-1.287 3.426 0.031 1.014 0.337 2.077 0.944 2.899 0.174 0.236 0.381 0.463 0.604 0.654 1.048 0.896 2.521 1.462 3.863 1.716 0.385 0.073 0.776 0.116 1.168 0.119 2.673 0.019 5.347 0.009 8.020 0.006 0.96-0.001 1.92 0.023 2.878-0.069 1.254-0.121 2.414-0.729 3.487-1.352 0.606-0.352 1.17-0.739 1.482-1.387 0.503-1.042 0.681-2.284 0.429-3.414zM18.454 18.676c-0.262 0.523-0.589 1.010-0.932 1.482-0.307 0.423-0.617 0.977-1.040 1.294-0.12 0.090-0.253 0.158-0.4 0.188-0.401 0.081-0.817-0.113-1.135-0.342-0.16-0.115-0.235-0.27-0.325-0.437-0.049-0.090-0.128-0.181-0.088-0.289 0.034-0.094 0.131-0.153 0.199-0.219 0.058-0.056 0.122-0.108 0.174-0.168 0.127-0.147 0.28-0.26 0.397-0.418 0.117-0.16 0.212-0.334 0.313-0.504 0.151-0.256 0.288-0.583 0.297-0.885 0.012-0.406-0.437-0.34-0.702-0.333-1.119 0.027-1.929-0.832-2.29-1.822-0.338-0.926-0.368-2.005-0.035-2.936 0.078-0.202 0.166-0.398 0.292-0.575 0.162-0.251 0.347-0.481 0.591-0.657 0.219-0.198 0.472-0.341 0.741-0.46 0.493-0.217 1.162-0.307 1.696-0.316 0.543-0.009 1.081 0.111 1.564 0.358 0.854 0.436 1.456 1.21 1.648 2.149 0.1 0.49 0.165 1.073 0.115 1.572-0.052 0.523-0.129 1.042-0.29 1.544zM5.184 20.301c0 0 0 0 0 0l0 0c0 0 0-0-0-0zM27.384 18.508c0.001-0.002 0.002-0.004 0.003-0.006 0 0.002 0 0.005 0 0.007-0.001-0-0.002-0-0.003-0.001zM16.954 15.15c-0.007-0.089-0.017-0.177-0.029-0.263-0.040-0.292-0.094-0.578-0.198-0.854-0.103-0.273-0.26-0.556-0.552-0.661-0.248-0.089-0.51 0.054-0.639 0.264-0.144 0.236-0.164 0.552-0.163 0.822 0.001 0.204 0.020 0.429 0.075 0.626 0.086 0.308 0.19 0.685 0.438 0.903 0.339 0.297 0.869 0.269 1.016-0.21 0.061-0.2 0.067-0.416 0.051-0.627z\"},\"child\":[]}]})(props);\n};\nexport function DiCoda (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M23.895 10.232l-0.419-0.362-16.81 15.685 15.699-16.646-0.42-0.364c-2.026-1.087-4.61-0.843-6.72-0.149-0.609 0.201-1.217 0.442-1.796 0.718-1.249 0.595-2.406 1.363-3.416 2.312-2.303 2.165-3.767 5.051-4.484 8.11-0.201 0.859-0.367 1.737-0.488 2.611-0.152 1.099-0.242 2.205-0.319 3.311-0.065 0.93-0.204 2.187 1.094 2.109 0.231-0.014 0.462-0.011 0.693-0.016 3.249-0.069 6.516-0.033 9.64-1.078 2.032-0.68 3.98-1.779 5.503-3.292 2.282-2.265 3.934-5.567 3.675-8.845-0.114-1.453-0.434-2.987-1.433-4.105zM26.374 5.001l0.942 0.942-17.609 16.589z\"},\"child\":[]}]})(props);\n};\nexport function DiCodeBadge (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.652 3.098h-16.955v26.375h22.607v-20.723l-5.652-5.652zM25.42 27.589h-18.839v-22.607h13.188l5.652 5.652v16.955zM12.269 11.851l-3.644 4.434 3.644 4.434 0.862-1.417-2.455-3.017 2.455-3.017zM13.863 20.614h1.599l2.542-8.681h-1.599zM19.731 11.851l-0.862 1.418 2.455 3.017-2.455 3.017 0.862 1.418 3.644-4.434z\"},\"child\":[]}]})(props);\n};\nexport function DiCode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.067 10.423l-4.817 5.863 4.817 5.862 1.139-1.874-3.246-3.989 3.246-3.989zM13.175 22.008h2.114l3.361-11.477h-2.115zM20.933 10.423l-1.139 1.874 3.246 3.989-3.246 3.989 1.139 1.874 4.817-5.862z\"},\"child\":[]}]})(props);\n};\nexport function DiCodeigniter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22.427 12.503c-0.066-0.034-0.123-0.069-0.19-0.104 0.1 0.241 0.132 0.447 0.129 0.63 0.035-0.149 0.059-0.302 0.062-0.462 0.002 0.198-0.022 0.385-0.068 0.558 0.003-0.031 0.006-0.063 0.006-0.096-0.055 0.23-0.146 0.444-0.268 0.639 0.021-0.020 0.040-0.041 0.059-0.063-0.72 1.205-2.684 1.468-3.653 0.224-1.555-1.998 0.032-4.151 0.254-6.266 0.278-2.651-1.384-5.225-3.446-6.765 1.135 1.837-0.361 4.266-1.557 5.625-1.16 1.317-2.572 2.417-3.852 3.613-1.376 1.285-2.699 2.639-3.83 4.147-2.262 3.018-3.648 6.815-2.63 10.581 1.017 3.764 4.277 6.16 7.958 7.007-1.857-0.803-3.595-2.843-3.599-4.931-0.005-2.276 1.437-4.209 3.232-5.479-0.216 0.815-0.333 1.56 0.201 2.289 0.497 0.678 1.367 1.007 2.188 0.828 1.919-0.42 2.008-2.53 0.87-3.76-1.125-1.217-2.214-2.593-1.785-4.358 0.215-0.885 0.758-1.714 1.447-2.306-0.529 1.391 0.975 2.762 1.965 3.445 1.719 1.185 3.604 2.081 5.185 3.47 1.662 1.46 2.89 3.434 2.642 5.724-0.269 2.482-2.241 4.208-4.453 5.079 4.674-1.032 9.504-4.66 9.603-9.844 0.082-4.265-2.844-7.547-6.468-9.426z\"},\"child\":[]}]})(props);\n};\nexport function DiCodepen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M27.242 12.687c-0.005-0.027-0.010-0.055-0.017-0.081-0.004-0.016-0.010-0.031-0.015-0.047-0.008-0.024-0.015-0.047-0.025-0.070-0.007-0.016-0.014-0.031-0.022-0.047-0.010-0.022-0.021-0.043-0.033-0.064-0.009-0.015-0.018-0.030-0.028-0.045-0.013-0.020-0.026-0.040-0.041-0.059-0.011-0.014-0.022-0.028-0.033-0.042-0.015-0.018-0.031-0.036-0.048-0.053-0.013-0.013-0.025-0.026-0.039-0.038-0.017-0.016-0.036-0.031-0.055-0.046-0.015-0.011-0.029-0.023-0.044-0.033-0.005-0.004-0.010-0.008-0.016-0.012l-10.291-6.86c-0.325-0.217-0.748-0.217-1.073 0l-10.291 6.86c-0.006 0.004-0.010 0.008-0.016 0.012-0.015 0.011-0.029 0.022-0.044 0.033-0.019 0.015-0.037 0.030-0.055 0.046-0.013 0.012-0.026 0.025-0.038 0.038-0.017 0.017-0.033 0.034-0.048 0.053-0.012 0.014-0.022 0.027-0.033 0.042-0.014 0.019-0.028 0.039-0.041 0.059-0.009 0.015-0.019 0.030-0.027 0.045-0.012 0.021-0.023 0.042-0.033 0.064-0.007 0.016-0.015 0.031-0.022 0.047-0.010 0.023-0.018 0.047-0.025 0.070-0.005 0.016-0.011 0.031-0.015 0.047-0.007 0.027-0.012 0.054-0.017 0.081-0.003 0.014-0.006 0.028-0.008 0.042-0.005 0.042-0.009 0.084-0.009 0.126v6.86c0 0.043 0.003 0.085 0.009 0.126 0.002 0.014 0.005 0.028 0.008 0.042 0.005 0.027 0.010 0.054 0.017 0.081 0.004 0.016 0.010 0.031 0.015 0.047 0.008 0.024 0.016 0.047 0.025 0.071 0.006 0.016 0.014 0.031 0.022 0.047 0.010 0.022 0.021 0.043 0.033 0.065 0.009 0.015 0.018 0.030 0.027 0.044 0.013 0.020 0.026 0.040 0.041 0.059 0.011 0.015 0.022 0.028 0.033 0.042 0.015 0.018 0.031 0.035 0.048 0.052 0.012 0.013 0.025 0.026 0.038 0.038 0.017 0.016 0.036 0.031 0.055 0.046 0.014 0.011 0.029 0.023 0.044 0.033 0.006 0.004 0.010 0.008 0.016 0.012l10.29 6.86c0.163 0.108 0.349 0.163 0.537 0.163s0.374-0.054 0.537-0.163l10.29-6.86c0.006-0.004 0.011-0.008 0.016-0.012 0.015-0.011 0.029-0.022 0.044-0.033 0.019-0.015 0.037-0.030 0.055-0.046 0.013-0.012 0.026-0.025 0.039-0.038 0.017-0.017 0.033-0.034 0.048-0.052 0.012-0.014 0.023-0.027 0.033-0.042 0.014-0.019 0.028-0.039 0.041-0.059 0.009-0.015 0.019-0.029 0.028-0.044 0.012-0.021 0.023-0.043 0.033-0.065 0.007-0.015 0.015-0.031 0.022-0.047 0.010-0.023 0.017-0.047 0.025-0.071 0.005-0.016 0.011-0.031 0.015-0.047 0.007-0.027 0.012-0.054 0.017-0.081 0.002-0.014 0.006-0.028 0.008-0.042 0.005-0.042 0.009-0.084 0.009-0.126v-6.86c0-0.043-0.003-0.085-0.009-0.126-0.002-0.014-0.005-0.028-0.008-0.042zM16 18.575l-3.422-2.289 3.422-2.289 3.422 2.289-3.422 2.289zM15.033 12.316l-4.195 2.806-3.386-2.265 7.581-5.054v4.513zM9.098 16.286l-2.42 1.619v-3.238l2.42 1.619zM10.838 17.45l4.195 2.805v4.513l-7.581-5.054 3.386-2.265zM16.967 20.255l4.195-2.805 3.386 2.265-7.581 5.054v-4.513zM22.902 16.286l2.421-1.619v3.238l-2.421-1.619zM21.162 15.122l-4.195-2.806v-4.513l7.581 5.054-3.386 2.265z\"},\"child\":[]}]})(props);\n};\nexport function DiCodrops (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.788 5.14c-3.644 0.777-6.878 3.432-8.234 6.765-1.144 2.796-1.144 5.988 0 8.785 1.2 2.938 3.884 5.395 7.033 6.44 1.13 0.367 1.398 0.395 3.418 0.395s2.288-0.028 3.418-0.395c4.76-1.568 7.881-5.847 7.881-10.832 0-4.943-3.023-9.152-7.739-10.776-1.088-0.367-1.441-0.424-3.206-0.466-1.088-0.028-2.246 0.014-2.57 0.085zM17.276 12.54c1.949 3.418 2.556 5.098 2.288 6.299-0.424 1.808-2.006 2.966-3.813 2.782-0.89-0.099-1.85-0.636-2.387-1.313l-0.339-0.452h0.565c1.539-0.028 2.726-1.483 2.486-3.065-0.085-0.65-0.565-1.935-1.13-3.037l-0.325-0.636 0.72-1.229c0.395-0.678 0.763-1.2 0.819-1.158 0.057 0.028 0.565 0.847 1.116 1.808zM14.31 13.896c1.215 2.415 1.426 3.474 0.904 4.378-0.946 1.596-3.192 1.144-3.658-0.748-0.071-0.226-0.014-0.678 0.141-1.13 0.254-0.805 1.765-3.63 1.935-3.63 0.057 0 0.367 0.508 0.678 1.13z\"},\"child\":[]}]})(props);\n};\nexport function DiCoffeescript (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.587 7.569c-0.4 0.118-1.293 0.517-1.998 0.917-1.622 0.917-2.751 1.128-3.385 0.658-0.4-0.329-0.423-0.399-0.117-0.611 0.188-0.141 0.752-0.212 1.222-0.188 0.494 0.023 0.893-0.047 0.893-0.165 0.023-0.423-2.257-0.423-2.68 0-0.87 0.893-0.024 1.787 1.834 1.951 1.081 0.094 1.528-0.023 3.15-0.752 2.116-0.964 3.714-1.269 4.49-0.87 0.588 0.329 0.658 0.846 0.117 1.058-0.682 0.258-1.904 0.141-2.21-0.188-0.306-0.399-0.94-0.235-0.94 0.235 0 0.964 3.573 1.105 4.49 0.165 1.481-1.458-1.787-2.939-4.866-2.21zM6.029 9.121c-1.928 1.034-0.070 2.445 4.137 3.15 5.336 0.893 13.729 0.235 15.985-1.246 0.729-0.47 0.776-1.434 0.118-1.787-0.4-0.212-0.47-0.188-0.47 0.212 0 1.293-3.738 2.139-9.544 2.139-6.394 0-10.061-0.917-9.591-2.421 0.141-0.47 0.141-0.47-0.635-0.047zM6.039 12.694c0.094 0.353 0.306 1.128 0.47 1.693 0.306 1.011 0.282 1.034-0.517 1.857-1.81 1.881-1.646 4.466 0.423 5.995 0.705 0.517 2.633 0.635 3.080 0.188 0.188-0.188 0.117-0.259-0.259-0.259-0.611 0-2.045-1.223-2.539-2.139-0.47-0.94-0.423-2.398 0.117-3.056l0.447-0.564 0.235 0.588c0.141 0.329 0.846 1.505 1.599 2.586 0.752 1.105 1.528 2.469 1.74 3.056 0.353 0.917 0.588 1.152 1.763 1.763 1.152 0.564 1.716 0.705 3.503 0.776 3.479 0.165 5.994-0.87 6.371-2.562 0.094-0.4 0.823-1.693 1.622-2.868 1.504-2.233 2.186-3.597 2.821-5.783 0.564-1.928 0.541-1.951-0.87-1.316-2.116 0.964-5.501 1.363-10.485 1.223-5.101-0.141-6.982-0.494-9.497-1.763-0.094-0.047-0.117 0.211-0.023 0.588z\"},\"child\":[]}]})(props);\n};\nexport function DiCompass (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.516 5c-3.913 0.636-8.034 1.798-10.55 2.973-2.821 1.314-4.743 3.581-5.683 6.706-0.304 1.051-0.36 1.507-0.36 2.904-0.014 3.263 1.12 5.821 3.526 8.020 1.977 1.797 4.397 2.724 7.149 2.724 4.19 0 7.868-2.254 9.61-5.89 1.563-3.263 3.028-9.264 3.581-14.602 0.29-2.893 0.363-3.469 0.206-3.57-0.052-0.034-0.13-0.015-0.234-0.011-0.207 0-6.333 0.539-7.246 0.747zM14.792 11.596c0.041 0.18 0.152 1.245 0.249 2.392 0.083 1.134 0.18 2.102 0.193 2.13 0.028 0.028 0.429-0.304 0.899-0.733 1.12-1.051 2.296-1.922 2.475-1.853 0.207 0.069-0.512 1.092-1.687 2.392l-0.996 1.106 1.728 0.083c4.162 0.207 4.397 0.691 0.47 0.982l-2.115 0.152 1.037 1.189c1.161 1.314 1.784 2.184 1.659 2.309-0.111 0.111-1.106-0.595-2.378-1.715l-1.106-0.968-0.166 2.102c-0.166 2.157-0.373 3.097-0.595 2.71-0.152-0.29-0.415-2.669-0.415-3.872 0-0.526-0.055-0.968-0.111-0.968s-0.332 0.221-0.595 0.498c-0.996 1.037-2.89 2.447-2.89 2.157 0-0.235 0.761-1.258 1.742-2.337l0.996-1.092-2.102-0.166c-2.281-0.194-2.848-0.277-2.848-0.442 0-0.263 1.936-0.539 3.706-0.553 0.622 0 1.134-0.042 1.134-0.111 0-0.055-0.442-0.594-0.968-1.203-2.392-2.724-2.060-3.028 0.664-0.622 0.608 0.525 1.148 0.968 1.189 0.968s0.083-0.456 0.083-1.009c0-1.037 0.207-3.111 0.346-3.568 0.111-0.36 0.29-0.332 0.401 0.041z\"},\"child\":[]}]})(props);\n};\nexport function DiComposer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 27 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.96 30.326c0.557-0.261 0.962-0.629 0.962-0.899 0-0.108 1.429-1.537 1.618-1.618 0.027-0.009 0.216 0.045 0.396 0.117l0.342 0.144-0.638 0.404c-0.351 0.216-0.674 0.396-0.728 0.396zM16.71 28.789l0.611-0.306c1.232-0.62 4.557-1.762 5.816-2.005 0.557-0.099 0.431-0.189-0.153-0.108-0.306 0.036-0.611 0.099-0.683 0.117-0.252 0.099 0.198-0.315 0.737-0.683 0.297-0.189 0.467-0.351 0.387-0.351-0.431 0-4.324 1.555-5.061 2.031-0.279 0.18-0.297 0.171-0.297-0.216 0-0.324 0.027-0.342 0.611-0.665 0.512-0.279 3.658-1.69 3.766-1.69 0.018 0-0.072 0.189-0.207 0.422l-0.252 0.431 0.683-0.629c0.378-0.351 0.683-0.656 0.692-0.683 0-0.036-0.216-0.009-0.485 0.054s-0.512 0.090-0.53 0.054c-0.090-0.144 0.117-1.169 0.306-1.537 0.108-0.216 0.252-0.719 0.315-1.115 0.261-1.564 0.584-2.831 0.944-3.694 0.764-1.807 0.836-2.076 0.719-2.58-0.063-0.243-0.090-0.557-0.054-0.71 0.027-0.144 0.009-0.369-0.036-0.494-0.063-0.171-0.063-0.279 0.009-0.36 0.081-0.108 0.027-0.225-0.279-0.584-0.207-0.243-0.369-0.458-0.351-0.467 0.018-0.018 0.18-0.090 0.351-0.162l0.315-0.144 0.090-1.231c0.054-0.674 0.081-1.223 0.081-1.223-0.009 0-0.404 0.117-0.89 0.27-0.485 0.144-0.926 0.27-0.989 0.27-0.126 0-0.243-0.234-0.629-1.312-0.252-0.683-0.297-0.899-0.252-1.348 0.054-0.62-0.162-2.049-0.431-2.849-0.36-1.079-1.492-3.038-1.861-3.2-0.315-0.153-0.539-0.117-0.656 0.090-0.117 0.225-0.108 0.252 0.315 1.231l0.324 0.755-0.557-0.441c-1.249-0.971-2.454-1.627-3.137-1.708-0.432-0.054-0.449-0.045-0.548 0.225-0.063 0.153-0.18 0.297-0.27 0.315-0.117 0.036-0.162 0.135-0.162 0.386 0 0.315 0.072 0.405 0.926 1.222 0.503 0.476 0.881 0.872 0.845 0.881-0.036 0-0.387-0.207-0.764-0.467-0.566-0.378-0.764-0.467-1.088-0.476-0.755 0-0.737 0.521 0.036 1.070 0.27 0.198 0.809 0.674 1.187 1.070l0.701 0.719-0.629 0.108c-0.989 0.18-1.384 0.306-1.483 0.503-0.189 0.351-0.072 0.449 0.971 0.791 0.557 0.189 1.097 0.422 1.213 0.521 0.36 0.333 1.178 0.809 1.663 0.971 0.315 0.099 0.512 0.225 0.575 0.36 0.054 0.117 0.189 0.252 0.306 0.306 0.144 0.063 0.252 0.234 0.36 0.593 0.081 0.279 0.126 0.53 0.099 0.557-0.027 0.018-0.396 0.153-0.818 0.279l-0.773 0.243 0.656 1.168c0.602 1.088 0.665 1.169 0.899 1.142 0.297-0.027 0.297-0.027 0.045 0.396l-0.198 0.333 0.207 0.378c0.135 0.261 0.18 0.458 0.144 0.584-0.054 0.171-0.090 0.144-0.27-0.243-0.234-0.503-0.872-1.339-1.258-1.663-0.665-0.539-0.944-0.647-1.807-0.656l-0.809-0.018-0.422-0.405c-0.225-0.225-0.647-0.521-0.935-0.665-0.494-0.243-0.584-0.261-1.645-0.261h-1.124l-0.854 0.449c-1.097 0.566-2.229 1.681-2.939 2.876-0.261 0.44-0.476 0.755-0.476 0.71-0.009-0.045-0.045-0.252-0.081-0.458-0.072-0.368-0.072-0.377 0.198-0.405 0.261-0.027 0.279-0.054 0.467-0.836 0.108-0.449 0.225-0.899 0.261-0.998 0.054-0.18 0-0.207-0.755-0.396-0.611-0.153-0.809-0.234-0.809-0.351 0-0.279 0.261-1.106 0.386-1.258 0.072-0.081 0.153-0.225 0.171-0.324s0.207-0.279 0.44-0.405c0.629-0.342 0.665-0.386 1.321-1.654 0.476-0.926 0.737-1.321 1.249-1.87 0.36-0.386 0.656-0.737 0.656-0.773 0-0.153-0.369-0.557-0.503-0.557-0.27 0-0.072-0.162 1.151-0.944 1.609-1.016 1.654-1.061 1.501-1.178-0.099-0.081-0.647 0.225-2.328 1.276-1.213 0.764-2.229 1.384-2.256 1.384s-0.135-0.27-0.243-0.593l-0.189-0.584 0.62-0.584c0.656-0.62 0.8-0.863 0.629-1.070-0.081-0.099-0.243-0.054-0.926 0.279-0.458 0.225-1.16 0.503-1.573 0.638-0.692 0.216-0.755 0.216-0.908 0.081-0.378-0.342-0.62-0.135-1.555 1.312-0.189 0.288-0.369 0.521-0.404 0.521-0.045 0-0.27-0.351-0.512-0.791-0.243-0.431-0.521-0.872-0.62-0.989-0.243-0.261-0.476-0.252-0.548 0.018-0.090 0.36 0.315 2.005 0.962 3.991 0.207 0.62 0.216 0.656 0.063 0.737-0.144 0.072-0.153 0.126-0.063 0.36 0.072 0.198 0.144 0.252 0.261 0.216 0.135-0.036 0.216 0.063 0.422 0.53 0.261 0.575 0.261 0.584 0.117 1.106-0.081 0.297-0.144 0.539-0.153 0.548 0 0.009-0.225-0.036-0.494-0.108-0.818-0.216-0.764-0.279-0.881 1.052-0.063 0.656-0.108 1.258-0.108 1.339 0 0.108 0.117 0.171 0.413 0.216l0.413 0.054-0.063 0.539c-0.054 0.431-0.036 0.575 0.081 0.701 0.153 0.162 0.198 1.142 0.225 4.656l0.009 1.267 0.342 0.108c0.423 0.144 0.647 0.333 0.647 0.575 0 0.117 0.144 0.288 0.386 0.458 0.207 0.144 0.998 0.719 1.744 1.276 1.303 0.962 1.366 1.025 1.276 1.222-0.081 0.189-0.063 0.252 0.162 0.476 0.216 0.225 0.234 0.261 0.090 0.288-0.081 0.018-0.369-0.018-0.629-0.072-0.602-0.135-2.67-0.234-2.661-0.126 0 0.045 0.431 0.297 0.962 0.557s0.881 0.404 0.782 0.315c-0.108-0.090-0.351-0.297-0.539-0.458l-0.36-0.306 0.53 0.063c0.971 0.117 4.072 0.971 4.279 1.187 0.126 0.126 0.072 0.135-0.494 0.081-1.663-0.153-2.382-0.162-3.524-0.054-0.683 0.063-1.294 0.144-1.357 0.18-0.162 0.081 1.249 0.18 2.679 0.18 1.124 0 2.472 0.207 4.98 0.764l0.656 0.144-0.153 0.333c-0.243 0.494-0.647 1.897-0.584 1.995zM17.285 2.776c1.258 0.683 2.085 1.348 2.085 1.672-0.009 0.18 0.036 0.243 0.162 0.243 0.090 0 0.243 0.045 0.342 0.090 0.135 0.072 0.171 0.063 0.171-0.027 0-0.18-0.216-0.791-0.557-1.564-0.288-0.665-0.288-0.926 0-0.926 0.225 0 0.351 0.162 0.881 1.079 0.548 0.953 0.899 1.717 1.124 2.499 0.225 0.764 0.324 2.139 0.189 2.535-0.081 0.225-0.072 0.351 0.036 0.611 0.315 0.728 0.755 1.861 0.755 1.951s-1.807 0.674-2.058 0.674c-0.045 0-0.117-0.090-0.153-0.207-0.207-0.674-0.422-1.142-0.53-1.142-0.072 0-0.189-0.117-0.27-0.27-0.162-0.324-0.306-0.396-0.944-0.53-0.333-0.072-0.755-0.279-1.303-0.638-0.629-0.413-0.935-0.548-1.393-0.638-0.324-0.054-0.656-0.144-0.737-0.189-0.207-0.099-0.207-0.315 0.009-0.422 0.189-0.108 1.986-0.27 2.292-0.216 0.135 0.027 0.351-0.054 0.593-0.207 0.413-0.279 0.36-0.404-0.081-0.18-0.422 0.225-0.602 0.18-0.953-0.252-0.18-0.225-0.746-0.773-1.267-1.222-0.908-0.8-1.070-1.034-0.809-1.133 0.153-0.063 0.458 0.090 1.429 0.719 0.404 0.261 0.98 0.611 1.276 0.773 0.494 0.279 0.521 0.288 0.36 0.081-0.467-0.566-1.744-1.969-2.13-2.337-0.431-0.413-0.557-0.755-0.306-0.854 0.198-0.072 0.629 0.189 2.031 1.24 0.836 0.62 1.133 0.818 0.836 0.53-0.467-0.44-1.645-1.339-2.202-1.672-0.162-0.099-0.306-0.27-0.324-0.386-0.054-0.342 0.405-0.243 1.447 0.315zM9.079 4.196c0 0.162-0.18 0.369-0.719 0.818-0.396 0.333-0.719 0.611-0.719 0.62s0.090 0.009 0.189 0.009c0.153-0.009 0.234 0.081 0.36 0.44 0.225 0.647 0.216 0.836-0.063 0.908-0.189 0.045-0.297-0.009-0.584-0.288-0.396-0.386-0.44-0.665-0.144-0.881 0.171-0.117 0.144-0.117-0.144 0.009l-0.351 0.162-0.261-0.315c-0.144-0.171-0.252-0.369-0.234-0.44 0.009-0.063 0.36-0.27 0.782-0.449s0.944-0.431 1.169-0.566c0.53-0.306 0.719-0.315 0.719-0.027zM6.121 5.247c0.108 0.162 0.521 0.629 0.908 1.025 0.701 0.737 0.818 0.962 0.557 1.061-0.378 0.144-0.809-0.027-1.393-0.548-0.198-0.18-0.378-0.306-0.396-0.279-0.027 0.018-0.063 0.18-0.099 0.351-0.036 0.243-0.027 0.279 0.054 0.144 0.054-0.081 0.135-0.153 0.189-0.153 0.171 0 0.98 0.593 0.98 0.719 0 0.117-2.679 1.708-3.011 1.78-0.162 0.036-1.061-2.742-1.258-3.874-0.045-0.288-0.027-0.333 0.117-0.333 0.207 0 0.485 0.404 1.043 1.51 0.234 0.458 0.431 0.827 0.44 0.827 0.018 0 0.018-0.108 0-0.252-0.027-0.18 0.117-0.485 0.602-1.258 0.728-1.142 0.908-1.24 1.267-0.719zM10.589 6.524c0.027 0.207-0.054 0.342-0.368 0.674-0.431 0.449-1.178 1.519-1.501 2.166-0.252 0.503-0.755 1.043-1.187 1.267-0.27 0.135-0.333 0.234-0.386 0.521-0.036 0.198-0.117 0.405-0.18 0.458s-0.189 0.36-0.279 0.683-0.216 0.611-0.279 0.638c-0.063 0.027-0.566-0.063-1.115-0.198l-0.998-0.252 0.045-0.342c0.027-0.189 0.108-0.467 0.189-0.629 0.135-0.27 0.135-0.306-0.189-0.962-0.216-0.449-0.297-0.719-0.243-0.791 0.135-0.198 3.263-2.103 3.443-2.103 0.099 0 0.297-0.099 0.449-0.225 0.413-0.351 2.094-1.196 2.346-1.187 0.18 0.018 0.234 0.072 0.252 0.279zM24.396 11.719c-0.036 0.458-0.081 0.863-0.117 0.899-0.072 0.081-4.18 1.51-4.351 1.51-0.135 0-0.989-1.483-0.935-1.645 0.036-0.108 4.899-1.573 5.258-1.582 0.207-0.009 0.207 0 0.144 0.818zM5.645 13.023c1.267 0.324 2.346 0.629 2.391 0.665 0.072 0.063-0.162 1.106-0.297 1.33-0.045 0.072-0.71 0.009-2.445-0.225-1.303-0.18-2.4-0.351-2.427-0.377-0.036-0.036-0.018-0.494 0.036-1.034 0.081-0.845 0.117-0.962 0.261-0.962 0.099 0 1.213 0.27 2.481 0.602zM14.328 12.807c0.809 0.387 1.267 0.845 1.447 1.438 0.171 0.575 0.18 1.456 0.009 1.609-0.081 0.072-0.108 0.234-0.081 0.44 0.099 0.71-0.396 1.519-1.303 2.139-1.124 0.755-1.411 0.836-3.838 1.088-1.879 0.189-2.157 0.279-2.49 0.719-0.108 0.153-0.252 0.27-0.315 0.27-0.162 0-0.144-0.413 0.027-0.71 0.27-0.467 0.692-0.647 2.265-1.007 1.717-0.396 2.346-0.602 3.137-1.034 0.548-0.306 0.836-0.584 0.836-0.827 0-0.072-0.153-0.009-0.422 0.171-0.746 0.521-1.69 0.791-3.595 1.025-1.106 0.144-1.96 0.396-2.472 0.728-0.36 0.234-0.611 0.279-0.611 0.117 0-0.054 0.225-0.459 0.503-0.899 0.872-1.375 2.355-2.562 3.739-3.002 0.944-0.297 2.679-0.324 3.29-0.045 0.207 0.099 0.36 0.135 0.333 0.090-0.099-0.162-1.088-0.467-1.663-0.512-1.447-0.117-3.389 0.593-4.36 1.591-0.297 0.306-0.773 0.629-0.917 0.629-0.117 0 0.162-0.521 0.755-1.42 1.052-1.573 2.103-2.436 3.353-2.751 1.195-0.297 1.474-0.279 2.373 0.153zM23.901 13.427c0.315 0.324 0.369 0.431 0.324 0.647-0.027 0.144 0 0.315 0.054 0.378 0.063 0.072 0.081 0.252 0.036 0.449-0.063 0.351-0.009 0.342-0.818 0.171-0.171-0.036-0.081 0.045 0.279 0.243 0.512 0.279 0.539 0.315 0.566 0.674 0.027 0.368-0.216 1.052-0.827 2.364-0.126 0.27-0.234 0.602-0.234 0.737 0 0.126-0.045 0.252-0.090 0.27-0.135 0.045-0.333 0.854-0.494 1.968-0.090 0.647-0.216 1.151-0.404 1.564s-0.288 0.827-0.333 1.267c-0.045 0.566-0.081 0.674-0.288 0.827-0.369 0.27-3.209 1.474-3.389 1.438-0.108-0.018-0.252-0.225-0.387-0.566-0.306-0.764-0.332-1.195-0.117-1.627 0.099-0.189 0.234-0.53 0.297-0.746 0.063-0.207 0.171-0.404 0.234-0.431s0.198-0.18 0.306-0.351c0.099-0.171 0.234-0.306 0.297-0.306s0.153 0.279 0.216 0.719c0.063 0.387 0.171 0.845 0.243 1.007 0.126 0.297 0.126 0.288 0.135-0.378 0.018-0.926 0.108-1.384 0.279-1.42 0.117-0.018 0.153 0.072 0.189 0.449 0.027 0.261 0.108 0.62 0.18 0.791 0.126 0.297 0.135 0.279 0.090-0.593-0.018-0.503 0.009-1.178 0.072-1.546 0.126-0.782 0.234-0.818 0.845-0.279 0.225 0.198 0.413 0.333 0.413 0.297 0-0.189-0.611-0.98-0.953-1.223-0.575-0.413-0.521-0.521 0.261-0.521 0.351 0 0.791 0.036 0.962 0.090l0.315 0.081-0.36-0.315c-0.198-0.171-0.539-0.378-0.764-0.459l-0.404-0.144-0.207-0.863c-0.243-1.007-0.243-1.106-0.054-1.645 0.126-0.387 0.126-0.422-0.045-0.71-0.234-0.377-0.234-0.593-0.018-0.917 0.090-0.144 0.144-0.333 0.126-0.431-0.036-0.117 0.018-0.198 0.162-0.261 0.431-0.198 2.733-1.070 2.831-1.070 0.063-0.009 0.27 0.162 0.476 0.369zM17.42 14.003c0.404 0.117 0.611 0.252 0.98 0.62 0.252 0.261 0.539 0.629 0.647 0.836l0.18 0.36-0.198-0.045c-0.108-0.027-0.396-0.153-0.647-0.279-0.369-0.189-0.611-0.243-1.348-0.288l-0.899-0.045-0.027-0.575c-0.018-0.405 0.009-0.602 0.090-0.647 0.189-0.117 0.674-0.090 1.222 0.063zM5.483 15.036c0.764 0.108 1.438 0.243 1.492 0.297s0.189 0.584 0.297 1.169c0.162 0.944 0.171 1.097 0.054 1.222-0.279 0.306-1.213 2.589-1.213 2.957 0 0.072 0.171-0.144 0.386-0.485 0.207-0.351 0.458-0.638 0.548-0.656 0.153-0.036 0.162 0.009 0.117 0.369-0.099 0.674 0.135 1.699 0.467 2.121 0.162 0.207 0.306 0.369 0.315 0.369s0.009-0.126-0.018-0.27c-0.045-0.306 0.144-0.369 0.351-0.126 0.063 0.081 0.333 0.27 0.593 0.413 0.557 0.315 0.611 0.485 0.548 1.6l-0.045 0.701 0.27-0.324c0.144-0.18 0.315-0.404 0.378-0.503 0.090-0.126 0.18-0.153 0.36-0.108 0.261 0.063 1.124 0.827 1.124 0.989 0 0.054-0.081 0.252-0.171 0.422-0.144 0.261-0.171 0.441-0.126 0.818 0.045 0.44 0.027 0.512-0.189 0.728-0.126 0.126-0.234 0.279-0.234 0.333 0 0.045-0.072 0.090-0.153 0.090-0.279 0-2.004-0.494-2.004-0.566 0-0.045-0.063-0.216-0.144-0.387s-0.126-0.431-0.108-0.584c0.045-0.27 0-0.315-1.133-1.16-0.647-0.476-1.411-1.025-1.699-1.213-0.566-0.378-0.908-0.845-0.854-1.16 0.036-0.162 0.009-0.198-0.144-0.171-0.108 0.027-0.306-0.009-0.449-0.063l-0.261-0.099 0.063-0.647c0.135-1.51 0.144-2.076 0.054-3.506-0.063-1.007-0.144-1.582-0.225-1.708-0.171-0.27-0.018-1.052 0.207-1.052 0.081 0 0.782 0.090 1.546 0.189zM17.78 15.432c0.566 0.171 1.573 0.782 1.762 1.079 0.279 0.413 0.153 0.602-0.243 0.387-0.126-0.063-0.045 0.063 0.189 0.324 0.396 0.431 0.692 0.989 0.755 1.402 0.018 0.189-0.009 0.234-0.234 0.252-0.153 0.018-0.611-0.081-1.025-0.216-0.656-0.207-1.187-0.512-1.969-1.142-0.063-0.045-0.117-0.063-0.117-0.036 0 0.036 0.306 0.315 0.674 0.638 0.584 0.494 0.764 0.593 1.285 0.719 0.467 0.108 1.825 0.324 2.049 0.324 0.018 0 0.036 0.054 0.036 0.117 0 0.162-2.4 0.288-2.894 0.153-0.899-0.252-1.825-0.818-2.157-1.33-0.108-0.162-0.162-0.413-0.162-0.737 0-0.548 0.099-0.773 0.297-0.692 0.108 0.036 0.117-0.027 0.081-0.342-0.018-0.216-0.009-0.539 0.018-0.71l0.063-0.324h0.566c0.306 0 0.773 0.063 1.025 0.135zM16.018 18.533c0.467 0.665 2.364 1.888 2.948 1.888 0.135 0 0.315 0.081 0.404 0.189 0.144 0.153 0.153 0.225 0.063 0.467-0.099 0.27-0.090 0.279 0.036 0.108 0.072-0.099 0.162-0.288 0.189-0.431 0.036-0.18 0.099-0.243 0.261-0.243 0.261 0 0.279 0.207 0.081 0.701-0.207 0.476-0.485 0.737-0.782 0.737-0.198 0-0.297 0.063-0.413 0.279-0.279 0.512-0.683 0.917-1.142 1.133-0.441 0.198-0.441 0.207-0.108 0.153 0.387-0.063 0.396-0.036 0.162 0.602-0.557 1.456-1.681 2.184-3.515 2.292-0.728 0.045-0.782 0.036-1.223-0.225-0.342-0.198-0.539-0.395-0.737-0.746-0.279-0.494-1.339-1.564-1.978-1.977-0.207-0.135-0.449-0.404-0.557-0.602-0.144-0.288-0.243-0.369-0.494-0.422-0.36-0.063-0.638-0.378-0.935-1.025-0.297-0.656-0.261-0.854 0.243-1.169 0.611-0.387 1.151-0.521 2.481-0.629 1.258-0.099 2.013-0.252 2.544-0.521 0.189-0.099 0.458-0.198 0.602-0.234 0.243-0.063 0.252-0.054 0.144 0.099-0.063 0.090-0.225 0.252-0.351 0.36l-0.225 0.198 0.342-0.081c0.449-0.099 1.016-0.503 1.294-0.917 0.117-0.189 0.27-0.342 0.324-0.342 0.054 0.009 0.207 0.171 0.342 0.36zM12.081 25.508c0.144 0.234 0.467 0.548 0.746 0.737 0.539 0.36 0.521 0.413-0.216 0.512-0.818 0.108-0.557 0.243 0.333 0.171 0.575-0.045 0.809-0.027 0.809 0.045 0 0.054-0.045 0.099-0.099 0.099-0.198 0-1.582 0.719-1.798 0.935-0.342 0.332-0.62 0.234-0.62-0.225 0-0.189-0.045-0.441-0.099-0.566-0.090-0.189-0.072-0.27 0.108-0.521 0.144-0.198 0.216-0.431 0.225-0.701 0.009-0.413 0.162-0.899 0.279-0.899 0.045 0 0.189 0.189 0.333 0.413zM17.708 25.931c0.162 0.413 0.18 0.539 0.090 0.647-0.072 0.090-0.090 0.27-0.054 0.521 0.054 0.351 0.036 0.404-0.171 0.512-0.198 0.108-0.27 0.099-0.611-0.063-0.207-0.099-0.647-0.279-0.98-0.387-0.62-0.198-0.791-0.36-0.395-0.36 0.117 0 0.548 0.099 0.962 0.216 0.413 0.126 0.773 0.207 0.791 0.189 0.18-0.18-0.665-0.584-1.223-0.584-0.306 0-0.252-0.153 0.108-0.27 0.18-0.063 0.494-0.306 0.737-0.584 0.234-0.261 0.458-0.449 0.485-0.413 0.027 0.027 0.144 0.288 0.261 0.575zM15.587 27.387c0.279 0.126 0.503 0.243 0.503 0.261s-0.288 0.27-0.629 0.548l-0.638 0.521-0.782-0.369c-0.431-0.207-0.899-0.396-1.043-0.431-0.216-0.054-0.234-0.072-0.108-0.144 0.342-0.189 1.213-0.467 1.672-0.521 0.27-0.036 0.503-0.072 0.503-0.081 0.009 0 0.243 0.090 0.521 0.216zM13.609 20.214l-0.27 0.333-0.944-0.108c-1.348-0.153-1.636-0.144-1.843 0.081l-0.171 0.198 0.315-0.054c0.53-0.081 2.355 0.189 2.553 0.378 0.234 0.234 0.315 1.294 0.117 1.519-0.135 0.144-0.117 0.18 0.261 0.485 0.225 0.18 0.458 0.315 0.53 0.288 0.144-0.054 0.881-1.025 0.782-1.025-0.036 0-0.234 0.162-0.422 0.36s-0.396 0.36-0.458 0.36c-0.234 0-0.351-0.306-0.351-0.89 0-0.395-0.054-0.701-0.162-0.926-0.171-0.333-0.171-0.333 0.054-0.629 0.198-0.261 0.396-0.701 0.315-0.701-0.018 0-0.153 0.153-0.306 0.333zM14.148 20.268c0.045 0.369 0.252 0.602 0.665 0.773 0.135 0.054 0.297 0.216 0.36 0.36 0.081 0.189 0.207 0.279 0.539 0.36 0.827 0.216 0.98 0.225 1.151 0.018 0.090-0.108 0.216-0.189 0.27-0.189 0.063 0 0.135-0.063 0.162-0.144 0.054-0.126 0.027-0.126-0.189 0.018-0.369 0.243-1.519 0.243-1.699 0-0.207-0.279-0.153-0.342 0.243-0.288 0.342 0.045 1.286-0.144 1.447-0.297 0.036-0.027-0.27-0.036-0.674-0.027-0.404 0.018-1.016-0.009-1.348-0.072-0.602-0.108-0.62-0.117-0.791-0.485l-0.171-0.369 0.036 0.342zM10.404 21.309c0.401-0.312 0.924-0.144 1.373-0.078 0.351-0.064 0.704-0.13 1.066-0.091 0.050 0.031 0.152 0.090 0.202 0.12-0.24 0.025-0.479 0.062-0.719 0.088-0.262 0.119-0.507 0.301-0.813 0.253-0.112-0.070-0.222-0.144-0.323-0.228-0.257-0.070-0.524-0.041-0.787-0.064zM14.621 23.479c0.302 0.009 0.613 0.002 0.87-0.179 0.026 0.097 0.071 0.185 0.133 0.264-0.084 0.018-0.167 0.037-0.25 0.056-0.47-0.182-0.884 0.236-1.344 0.262-0.154-0.015-0.271-0.115-0.377-0.217-0.183-0.008-0.375-0.030-0.54 0.067-0.249 0.133-0.532 0.114-0.805 0.103 0.090-0.089 0.18-0.179 0.271-0.268 0.154-0.002 0.307-0.005 0.462-0.009 0.056-0.059 0.112-0.119 0.169-0.177 0.276-0.036 0.554 0.055 0.731 0.275 0.251 0.047 0.454-0.109 0.68-0.177zM13.864 24.202c0.205-0.005 0.405-0.049 0.603-0.095 0.273 0.030 0.536 0.16 0.741 0.343-0.177-0.037-0.354-0.070-0.534-0.088-0.467-0.208-0.905 0.161-1.325 0.326-0.129 0.238-0.239 0.491-0.242 0.768-0.057-0.062-0.113-0.122-0.17-0.183-0.015-0.31 0.037-0.675 0.322-0.856 0.193-0.093 0.403-0.147 0.605-0.217z\"},\"child\":[]}]})(props);\n};\nexport function DiCreativecommonsBadge (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.354 17.335c-0.224-0.408-0.606-0.571-1.049-0.571-0.645 0-1.159 0.457-1.159 1.229 0 0.786 0.483 1.229 1.181 1.229 0.448 0 0.83-0.246 1.040-0.619l-0.492-0.25c-0.11 0.263-0.277 0.342-0.487 0.342-0.364 0-0.531-0.303-0.531-0.702s0.14-0.703 0.531-0.703c0.105 0 0.316 0.057 0.439 0.32l0.527-0.277zM12.609 17.291c0.391 0 0.558 0.303 0.558 0.676 0 0.426-0.167 0.729-0.558 0.729s-0.557-0.303-0.557-0.702c-0-0.4 0.167-0.703 0.557-0.703zM12.609 16.764c-0.729 0-1.242 0.444-1.242 1.229s0.514 1.229 1.242 1.229c0.729 0 1.242-0.443 1.242-1.229s-0.514-1.229-1.242-1.229zM13.992 19.161h0.685v-1.453c0-0.211 0.088-0.391 0.364-0.391 0.263 0 0.334 0.154 0.334 0.382v1.462h0.685v-1.436c0-0.237 0.119-0.408 0.347-0.408 0.259 0 0.351 0.149 0.351 0.479v1.365h0.685v-1.782c0-0.535-0.492-0.615-0.72-0.615-0.272 0-0.527 0.083-0.751 0.312-0.154-0.206-0.351-0.312-0.619-0.312-0.211 0-0.5 0.061-0.676 0.268v-0.206h-0.685v2.336zM17.662 19.161h0.685v-1.453c0-0.211 0.088-0.391 0.364-0.391 0.264 0 0.334 0.154 0.334 0.382v1.462h0.685v-1.436c0-0.237 0.119-0.408 0.347-0.408 0.259 0 0.351 0.149 0.351 0.479v1.365h0.685v-1.782c0-0.535-0.492-0.615-0.72-0.615-0.272 0-0.527 0.083-0.751 0.312-0.154-0.206-0.351-0.312-0.619-0.312-0.211 0-0.5 0.061-0.676 0.268v-0.206h-0.685v2.336zM22.495 17.291c0.391 0 0.558 0.303 0.558 0.676 0 0.426-0.167 0.729-0.558 0.729s-0.558-0.303-0.558-0.702c0-0.4 0.167-0.703 0.558-0.703zM22.495 16.764c-0.729 0-1.242 0.444-1.242 1.229s0.514 1.229 1.242 1.229 1.242-0.443 1.242-1.229c0-0.786-0.514-1.229-1.242-1.229zM23.922 19.161h0.685v-1.453c0-0.211 0.088-0.391 0.364-0.391 0.263 0 0.334 0.154 0.334 0.382v1.462h0.685v-1.725c0-0.351-0.154-0.672-0.707-0.672-0.211 0-0.5 0.061-0.676 0.268v-0.206h-0.685v2.336zM28.276 17.102c-0.316-0.211-0.672-0.338-1.032-0.338-0.474 0-0.988 0.228-0.988 0.817 0 0.83 1.383 0.54 1.383 0.904 0 0.211-0.259 0.237-0.373 0.237-0.312 0-0.527-0.127-0.738-0.329l-0.426 0.369c0.342 0.316 0.632 0.461 1.142 0.461s1.054-0.22 1.054-0.834c0-0.874-1.383-0.544-1.383-0.944 0-0.119 0.123-0.18 0.294-0.18 0.215 0 0.509 0.088 0.645 0.25l0.422-0.413zM11.354 14.648c-0.224-0.408-0.606-0.571-1.049-0.571-0.645 0-1.159 0.457-1.159 1.229 0 0.786 0.483 1.229 1.181 1.229 0.448 0 0.83-0.246 1.040-0.619l-0.492-0.25c-0.11 0.263-0.277 0.342-0.487 0.342-0.364 0-0.531-0.303-0.531-0.702s0.14-0.703 0.531-0.703c0.105 0 0.316 0.057 0.439 0.321l0.527-0.277zM11.521 16.474h0.685v-1.352c0-0.259 0.162-0.329 0.571-0.378l0.075-0.009-0.004-0.606c-0.242 0.018-0.492 0.105-0.641 0.246v-0.237h-0.685v2.335zM15.177 15.447c-0.004-0.72-0.294-1.37-1.146-1.37-0.711 0-1.146 0.474-1.146 1.3 0 0.658 0.421 1.159 1.146 1.159 0.522 0 0.896-0.206 1.133-0.645l-0.514-0.268c-0.198 0.281-0.316 0.413-0.571 0.413-0.22 0-0.505-0.141-0.509-0.588h1.607zM13.562 15.026c0.031-0.307 0.268-0.448 0.465-0.448s0.443 0.105 0.465 0.448h-0.931zM16.748 15.5c0 0.356-0.202 0.536-0.47 0.536-0.167 0-0.32-0.079-0.32-0.263 0-0.189 0.158-0.255 0.329-0.303l0.461-0.132v0.162zM17.407 14.753c-0.004-0.527-0.404-0.676-1.040-0.676-0.316 0-0.94 0.062-0.962 0.733h0.659c0.035-0.233 0.14-0.312 0.36-0.312 0.184 0 0.325 0.075 0.325 0.25v0.193l-0.25 0.035c-0.746 0.105-1.199 0.303-1.199 0.865 0 0.448 0.334 0.694 0.781 0.694 0.246 0 0.588-0.119 0.702-0.303h0.009c0.004 0.079 0.018 0.163 0.044 0.241h0.632c-0.057-0.145-0.061-0.325-0.061-0.487v-1.234zM19.017 14.183h-0.408v-0.676h-0.685v0.676h-0.334v0.421h0.334v1.229c0 0.338 0.084 0.702 0.668 0.702 0.149 0 0.351-0.018 0.439-0.026v-0.54c-0.035 0.004-0.132 0.013-0.206 0.013-0.123 0-0.215-0.048-0.215-0.233v-1.146h0.408v-0.421zM19.275 14.139v2.335h0.685v-2.335h-0.685zM19.96 13.875v-0.527h-0.685v0.527h0.685zM20.882 16.474h0.689l0.799-2.336h-0.729l-0.404 1.651h-0.009l-0.404-1.651h-0.733zM24.582 15.447c-0.004-0.72-0.294-1.37-1.146-1.37-0.711 0-1.146 0.474-1.146 1.3 0 0.658 0.421 1.159 1.146 1.159 0.522 0 0.896-0.206 1.133-0.645l-0.514-0.268c-0.198 0.281-0.316 0.413-0.571 0.413-0.22 0-0.505-0.141-0.509-0.588h1.607zM22.966 15.026c0.031-0.307 0.268-0.448 0.465-0.448s0.444 0.105 0.465 0.448h-0.931zM6.267 14.038c-0.705 0-1.325 0.261-1.804 0.747-0.493 0.5-0.761 1.149-0.761 1.825 0 0.684 0.261 1.318 0.754 1.811s1.135 0.761 1.811 0.761 1.332-0.268 1.839-0.768c0.479-0.472 0.733-1.099 0.733-1.804 0-0.698-0.254-1.332-0.74-1.818-0.493-0.493-1.128-0.754-1.832-0.754zM6.274 14.503c0.578 0 1.092 0.218 1.494 0.62 0.395 0.395 0.606 0.916 0.606 1.487 0 0.578-0.204 1.085-0.599 1.473-0.416 0.409-0.951 0.627-1.501 0.627-0.557 0-1.078-0.218-1.48-0.62s-0.627-0.93-0.627-1.48c0-0.557 0.226-1.085 0.627-1.494 0.395-0.402 0.902-0.613 1.48-0.613zM6.241 16.183c-0.145-0.265-0.393-0.37-0.681-0.37-0.419 0-0.752 0.296-0.752 0.798 0 0.51 0.313 0.798 0.766 0.798 0.291 0 0.538-0.16 0.675-0.402l-0.319-0.162c-0.071 0.171-0.179 0.222-0.316 0.222-0.237 0-0.345-0.197-0.345-0.456s0.091-0.456 0.345-0.456c0.068 0 0.205 0.037 0.285 0.208l0.342-0.18zM7.724 16.183c-0.145-0.265-0.393-0.37-0.681-0.37-0.419 0-0.752 0.296-0.752 0.798 0 0.51 0.313 0.798 0.766 0.798 0.291 0 0.538-0.16 0.675-0.402l-0.319-0.162c-0.071 0.171-0.179 0.222-0.316 0.222-0.236 0-0.345-0.197-0.345-0.456s0.091-0.456 0.345-0.456c0.068 0 0.205 0.037 0.285 0.208l0.342-0.18z\"},\"child\":[]}]})(props);\n};\nexport function DiCreativecommons (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.984 4.926c-3.112 0-5.851 1.152-7.967 3.299-2.178 2.21-3.361 5.073-3.361 8.061 0 3.019 1.151 5.819 3.33 7.998s5.011 3.361 7.998 3.361 5.882-1.183 8.123-3.392c2.116-2.085 3.237-4.855 3.237-7.967 0-3.081-1.12-5.882-3.268-8.030-2.179-2.178-4.98-3.33-8.092-3.33zM16.015 6.98c2.552 0 4.824 0.965 6.598 2.739 1.743 1.743 2.676 4.046 2.676 6.567 0 2.552-0.902 4.792-2.645 6.505-1.836 1.805-4.201 2.77-6.629 2.77-2.459 0-4.762-0.965-6.536-2.739s-2.77-4.108-2.77-6.536c0-2.459 0.996-4.793 2.77-6.598 1.743-1.774 3.984-2.708 6.536-2.708zM15.869 14.399c-0.642-1.17-1.736-1.636-3.007-1.636-1.85 0-3.322 1.309-3.322 3.523 0 2.252 1.384 3.523 3.385 3.523 1.284 0 2.378-0.705 2.982-1.774l-1.409-0.717c-0.315 0.755-0.793 0.981-1.397 0.981-1.044 0-1.523-0.868-1.523-2.013s0.403-2.014 1.523-2.014c0.302 0 0.906 0.164 1.258 0.919l1.51-0.793zM22.422 14.399c-0.642-1.17-1.736-1.636-3.007-1.636-1.85 0-3.322 1.309-3.322 3.523 0 2.252 1.384 3.523 3.385 3.523 1.284 0 2.378-0.705 2.982-1.774l-1.409-0.717c-0.315 0.755-0.793 0.981-1.397 0.981-1.044 0-1.523-0.868-1.523-2.013s0.403-2.014 1.523-2.014c0.302 0 0.906 0.164 1.259 0.919l1.51-0.793z\"},\"child\":[]}]})(props);\n};\nexport function DiCssTricks (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.363 4.476c-0.863 0.281-1.431 0.944-1.575 1.831-0.050 0.3 0.006 0.931 0.313 3.706 0.206 1.838 0.363 3.381 0.356 3.425-0.012 0.044-1.313-0.875-2.925-2.056-1.594-1.169-3.044-2.2-3.219-2.294-0.425-0.219-1.181-0.262-1.688-0.1-0.744 0.231-1.375 0.863-1.606 1.6-0.206 0.681-0.119 1.287 0.287 1.9 0.394 0.588 0.656 0.731 4.187 2.3 1.813 0.8 3.294 1.481 3.287 1.512 0 0.031-1.419 0.669-3.144 1.413s-3.281 1.438-3.456 1.544c-0.419 0.25-0.869 0.744-1.075 1.181-0.144 0.3-0.169 0.438-0.169 0.887 0 0.463 0.025 0.581 0.2 0.95 0.25 0.525 0.606 0.919 1.063 1.162 0.731 0.387 1.412 0.381 2.206-0.019 0.225-0.113 1.675-1.131 3.219-2.269 2.037-1.494 2.819-2.038 2.831-1.963 0.006 0.056-0.15 1.613-0.356 3.45-0.4 3.625-0.406 3.75-0.119 4.363 0.188 0.394 0.606 0.8 1.037 1 0.313 0.15 0.438 0.169 0.981 0.169 0.556 0 0.663-0.019 0.981-0.175 0.669-0.331 1.106-0.913 1.244-1.675 0.063-0.363 0.031-0.738-0.313-3.8-0.212-1.869-0.375-3.406-0.363-3.419s1.169 0.825 2.581 1.863c3.431 2.525 3.581 2.619 4.212 2.738 1.269 0.238 2.637-0.856 2.738-2.188 0.038-0.556-0.069-0.975-0.369-1.438-0.413-0.637-0.65-0.769-4.213-2.306-1.787-0.769-3.275-1.419-3.3-1.444-0.031-0.025 1.363-0.675 3.094-1.438 3.787-1.675 3.675-1.625 4.094-2.012 0.444-0.425 0.656-0.869 0.694-1.45 0.069-1.113-0.637-2.15-1.669-2.45-0.506-0.15-1.262-0.094-1.706 0.119-0.181 0.094-1.644 1.125-3.231 2.294-1.594 1.169-2.912 2.119-2.925 2.106s0.15-1.569 0.363-3.456c0.413-3.737 0.419-3.819 0.106-4.45-0.188-0.394-0.613-0.8-1.025-0.994-0.431-0.194-1.225-0.256-1.631-0.119z\"},\"child\":[]}]})(props);\n};\nexport function DiCss3Full (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.054 6.045l-0.76 3.799h15.462l-0.483 2.454h-15.472l-0.749 3.799h15.462l-0.862 4.333-6.232 2.064-5.4-2.064 0.37-1.879h-3.799l-0.904 4.558 8.932 3.419 10.297-3.419 1.366-6.858 0.277-1.376 1.756-8.829h-19.26z\"},\"child\":[]}]})(props);\n};\nexport function DiCss3 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.017 21.044v0zM4.743 3.519l2.049 22.981 9.194 2.552 9.22-2.556 2.051-22.977h-22.514zM23 8.775l-0.693 7.767h-0l-0.48 5.359-0.042 0.476-5.781 1.603-5.773-1.603-0.395-4.426h2.829l0.201 2.248 3.142 0.847 0.008-0.002 0.002-0 3.134-0.846 0.329-3.655-6.579 0-0.056-0.633-0.129-1.429-0.067-0.756 7.081-0 0.258-2.886h-10.786l-0.056-0.634-0.129-1.429-0.067-0.756h14.118l-0.068 0.756z\"},\"child\":[]}]})(props);\n};\nexport function DiCssdeck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.632 5.289c-0.613 0.129-1.823 0.565-2.662 0.984-1.275 0.613-1.759 0.968-2.921 2.13s-1.517 1.646-2.13 2.921c-1.646 3.373-1.646 6.6 0 10.005 0.613 1.291 0.952 1.759 2.13 2.921 1.178 1.178 1.63 1.501 2.921 2.13 1.969 0.936 2.921 1.162 5.002 1.162s3.034-0.226 5.002-1.162c1.275-0.613 1.727-0.952 2.921-2.13 1.178-1.194 1.517-1.646 2.13-2.921 0.774-1.63 1-2.388 1.178-4.002l0.113-1h-3.195l-0.21 1.243c-1.017 6.471-8.907 9.069-13.587 4.47-3.792-3.712-2.969-10.005 1.678-12.732 0.871-0.516 2.63-1.049 3.437-1.049h0.532v-3.227l-0.597 0.016c-0.339 0-1.113 0.113-1.743 0.242zM14.213 9.645c-3.421 0.92-5.648 4.325-5.067 7.745 0.662 3.792 4.212 6.39 7.891 5.761 3.776-0.645 6.39-4.212 5.761-7.859-0.71-4.115-4.647-6.713-8.585-5.648z\"},\"child\":[]}]})(props);\n};\nexport function DiDart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M23.116 23.609c-0.009 0.014-0.025 0.016-0.039 0.020-0.056 0.070-0.142 0.089-0.218 0.122-0.816 0.358-1.63 0.722-2.444 1.084-0.068 0.030-0.129 0.021-0.195-0.001-0.421-0.142-0.838-0.293-1.257-0.441-0.511-0.181-1.021-0.361-1.532-0.541-1.025-0.361-2.050-0.722-3.074-1.085-0.615-0.218-1.232-0.433-1.847-0.65-0.913-0.323-1.829-0.641-2.741-0.968-0.145-0.052-0.299-0.082-0.43-0.168-0.007-0.006-0.014-0.013-0.021-0.019-0.030-0.042-0.041-0.092-0.051-0.141-0.052-0.248-0.081-0.497-0.084-0.751-0.044-3.38-0.005-6.759-0.019-10.139-0-0.055 0.009-0.107 0.018-0.16-0-0.011 0.006-0.017 0.015-0.021 0.008-0.007 0.017-0.008 0.026-0.004 0.052 0.027 0.087 0.074 0.127 0.114 4.537 4.537 9.074 9.074 13.611 13.61 0.043 0.043 0.082 0.090 0.137 0.119 0.008 0.006 0.014 0.013 0.019 0.021zM23.12 23.518c-0.022 0.003-0.039-0.005-0.054-0.020-0.021-0.022-0.043-0.043-0.064-0.064-4.555-4.555-9.109-9.109-13.664-13.664-0.033-0.033-0.071-0.063-0.096-0.104 0.033-0.027 0.072-0.034 0.113-0.035 0.037-0.001 0.074-0.001 0.111-0.001 3.307 0 6.613-0.001 9.92 0.001 0.296 0 0.591 0.020 0.882 0.084 0.059 0.013 0.119 0.025 0.166 0.067 0.007 0.005 0.014 0.011 0.022 0.016 0.086 0.139 0.121 0.299 0.175 0.45 0.433 1.232 0.871 2.462 1.302 3.694 0.278 0.794 0.56 1.587 0.84 2.38 0.454 1.285 0.909 2.57 1.36 3.856 0.058 0.165 0.111 0.332 0.177 0.494 0.032 0.080 0.022 0.153-0.013 0.233-0.305 0.678-0.604 1.359-0.905 2.039-0.071 0.16-0.141 0.321-0.214 0.48-0.015 0.033-0.029 0.068-0.058 0.093zM8.986 21.106c0.069 0.002 0.127 0.038 0.189 0.060 0.294 0.103 0.589 0.205 0.883 0.308 0.601 0.212 1.202 0.425 1.804 0.637 0.532 0.187 1.065 0.372 1.597 0.559 0.354 0.124 0.707 0.251 1.060 0.375 0.624 0.22 1.249 0.439 1.874 0.659 0.34 0.12 0.68 0.241 1.020 0.361 0.634 0.224 1.269 0.446 1.904 0.67 0.35 0.123 0.7 0.247 1.050 0.374 0.064 0.023 0.117 0.019 0.18-0.010 0.28-0.128 0.564-0.249 0.846-0.374 0.212-0.093 0.422-0.189 0.634-0.283 0.343-0.152 0.686-0.302 1.029-0.453 0.090-0.040 0.18-0.079 0.269-0.118-0.169 0.524-0.338 1.048-0.507 1.572-0.102 0.317-0.203 0.635-0.304 0.952-0.068 0.214-0.137 0.428-0.204 0.642-0.030 0.096-0.030 0.098-0.131 0.098-0.453 0-0.906-0.001-1.359-0.001-1.279-0.001-2.557 0.009-3.835-0.005-0.983-0.011-1.966-0.003-2.949-0.009-0.061-0-0.106-0.017-0.148-0.061-0.067-0.072-0.139-0.139-0.209-0.209-1.036-1.030-2.072-2.060-3.108-3.090-0.117-0.116-0.233-0.234-0.351-0.349-0.285-0.277-0.501-0.605-0.691-0.95-0.23-0.42-0.413-0.86-0.538-1.323-0.003-0.010-0.003-0.021-0.004-0.031zM23.343 23.845c0.014-0.107 0.078-0.194 0.118-0.29 0.099-0.239 0.207-0.475 0.312-0.712 0.091-0.205 0.183-0.409 0.274-0.614 0.126-0.285 0.251-0.57 0.377-0.855 0.043-0.096 0.085-0.192 0.132-0.286 0.029-0.057 0.037-0.108 0.014-0.171-0.147-0.408-0.293-0.817-0.437-1.227-0.075-0.211-0.146-0.424-0.22-0.635-0.177-0.506-0.354-1.011-0.532-1.516-0.12-0.34-0.241-0.68-0.361-1.020-0.175-0.495-0.349-0.991-0.523-1.486-0.119-0.337-0.239-0.673-0.358-1.010-0.184-0.522-0.366-1.044-0.55-1.566-0.12-0.34-0.241-0.68-0.361-1.020-0.175-0.495-0.347-0.991-0.524-1.485-0.051-0.142-0.107-0.281-0.141-0.428 0.214 0.043 0.418 0.118 0.621 0.197 0.509 0.2 0.988 0.455 1.417 0.797 0.195 0.156 0.365 0.34 0.541 0.516 0.256 0.255 0.509 0.514 0.765 0.77 0.821 0.823 1.641 1.647 2.463 2.469 0.051 0.051 0.073 0.102 0.072 0.174-0.002 1.826-0.002 3.653-0.003 5.479-0 0.941-0.002 1.883-0.003 2.824 0 0.011 0 0.021 0 0.032-0.001 0.085 0.016 0.085-0.084 0.117-0.16 0.051-0.321 0.102-0.481 0.153-0.812 0.259-1.624 0.519-2.435 0.778-0.023 0.007-0.047 0.012-0.071 0.018-0.008-0.002-0.015-0.003-0.023-0.005zM20.603 9.57c-0.124-0.023-0.247-0.047-0.371-0.069-0.107-0.019-0.214-0.031-0.323-0.037-0.709-0.039-1.418-0.018-2.127-0.019-2.912-0.002-5.823-0.001-8.735-0-0.042 0-0.084 0.002-0.126 0.004-0.007-0.001-0.014-0.002-0.021-0.004 0.183-0.136 0.377-0.256 0.567-0.382 0.491-0.327 0.984-0.651 1.476-0.977 1.025-0.678 2.049-1.358 3.074-2.036 0.524-0.347 1.050-0.691 1.573-1.040 0.093-0.062 0.177-0.137 0.287-0.173 0.226-0.076 0.45-0.056 0.673 0.009 0.31 0.089 0.578 0.252 0.816 0.467 0.088 0.080 0.171 0.167 0.256 0.251 0.778 0.772 1.556 1.545 2.335 2.316 0.059 0.058 0.1 0.121 0.127 0.2 0.167 0.484 0.34 0.967 0.51 1.45 0.005 0.013 0.007 0.027 0.010 0.041zM8.884 9.468c0.029 0.042 0.015 0.089 0.015 0.133 0.001 3.413 0.001 6.826 0.001 10.239 0 0.214 0.019 0.427 0.026 0.64 0.006 0.191 0.046 0.381 0.091 0.567 0.008 0.032 0.027 0.065 0.009 0.1-0.252-0.087-0.504-0.173-0.756-0.261-0.255-0.089-0.509-0.18-0.765-0.268-0.058-0.020-0.105-0.051-0.148-0.095-0.843-0.852-1.688-1.701-2.53-2.553-0.277-0.28-0.473-0.609-0.556-0.999-0.036-0.171-0.040-0.341 0.009-0.511 0.021-0.075 0.052-0.146 0.097-0.209 0.303-0.423 0.58-0.863 0.867-1.295 1.113-1.677 2.222-3.356 3.333-5.034 0.101-0.152 0.203-0.303 0.305-0.455z\"},\"child\":[]}]})(props);\n};\nexport function DiDatabase (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 27.534c-5.323 0-9.641-1.44-9.641-3.214 0-0.97 0-2.031 0-3.214 0-0.279 0.14-0.545 0.341-0.803 1.075 1.384 4.813 2.41 9.301 2.41s8.226-1.026 9.301-2.41c0.201 0.259 0.34 0.524 0.34 0.803 0 0.931 0 1.918 0 3.214 0 1.773-4.318 3.214-9.641 3.214zM16 21.106c-5.323 0-9.641-1.441-9.641-3.214 0-0.97 0-2.030 0-3.214 0-0.17 0.064-0.336 0.151-0.5v0c0.049-0.103 0.113-0.204 0.19-0.304 1.075 1.383 4.813 2.41 9.301 2.41s8.226-1.027 9.301-2.41c0.077 0.1 0.141 0.201 0.19 0.304v0c0.086 0.164 0.151 0.33 0.151 0.5 0 0.931 0 1.917 0 3.214 0 1.773-4.318 3.214-9.641 3.214zM16 14.679c-5.323 0-9.641-1.44-9.641-3.214 0-0.508 0-1.044 0-1.607 0-0.511 0-1.041 0-1.607 0-1.774 4.318-3.214 9.641-3.214s9.641 1.44 9.641 3.214c0 0.501 0 1.033 0 1.607 0 0.492 0 1.011 0 1.607 0 1.774-4.318 3.214-9.641 3.214zM16 6.645c-3.55 0-6.427 0.718-6.427 1.607s2.878 1.607 6.427 1.607c3.55 0 6.427-0.718 6.427-1.607s-2.878-1.607-6.427-1.607z\"},\"child\":[]}]})(props);\n};\nexport function DiDebian (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.885 17.41c0.167-0.13 0.319-0.262 0.454-0.391-0.377 0.092-0.76 0.094-1.146 0.059-0.463 0.006 0.088 0.239 0.692 0.332zM20.679 16.458c0.276-0.381 0.477-0.798 0.548-1.229-0.062 0.307-0.229 0.572-0.386 0.852-0.866 0.545-0.081-0.324-0-0.654-0.931 1.172-0.128 0.703-0.162 1.030zM21.597 14.070c0.056-0.834-0.164-0.571-0.238-0.252 0.086 0.045 0.155 0.588 0.238 0.252zM16.436 2.667c0.247 0.044 0.534 0.078 0.494 0.137 0.27-0.059 0.332-0.114-0.494-0.137zM16.918 2.826l0.012-0.022-0.175 0.036zM16.287 20.066c-0.667-0.312-1.277-0.784-1.779-1.361 0.266 0.39 0.554 0.769 0.925 1.067-0.629-0.213-1.468-1.523-1.713-1.576 1.084 1.94 4.396 3.402 6.131 2.677-0.803 0.029-1.822 0.016-2.724-0.317-0.347-0.179-0.807-0.532-0.811-0.648-0.017 0.045-0.046 0.090-0.028 0.158zM16.322 19.885c-0.005 0.006-0.007 0.013-0.007 0.022 0.003-0.007 0.005-0.015 0.007-0.022zM26.274 12.297c0.008-0.425 0.118-0.223 0.161-0.328-0.084-0.048-0.303-0.374-0.436-0.999 0.097-0.147 0.258 0.381 0.39 0.403-0.085-0.497-0.23-0.876-0.236-1.258-0.384-0.803-0.136 0.107-0.448-0.345-0.409-1.276 0.339-0.296 0.39-0.875 0.62 0.898 0.973 2.289 1.135 2.866-0.124-0.703-0.324-1.383-0.568-2.042 0.188 0.079-0.303-1.446 0.245-0.436-0.585-2.153-2.504-4.165-4.27-5.109 0.216 0.198 0.489 0.446 0.391 0.485-0.878-0.523-0.724-0.564-0.849-0.784-0.716-0.291-0.762 0.023-1.236 0.001-1.348-0.715-1.608-0.639-2.849-1.087l0.057 0.264c-0.893-0.297-1.041 0.113-2.006 0.001-0.059-0.046 0.309-0.166 0.612-0.21-0.864 0.114-0.823-0.17-1.668 0.031 0.208-0.146 0.428-0.243 0.651-0.367-0.704 0.043-1.681 0.41-1.38 0.076-1.149 0.513-3.189 1.232-4.334 2.306l-0.036-0.241c-0.525 0.63-2.288 1.881-2.428 2.697l-0.14 0.033c-0.273 0.462-0.45 0.986-0.666 1.462-0.357 0.608-0.524 0.234-0.473 0.329-0.702 1.424-1.051 2.62-1.352 3.601 0.215 0.321 0.005 1.932 0.086 3.222-0.353 6.369 4.47 12.552 9.741 13.98 0.773 0.276 1.922 0.266 2.899 0.294-1.153-0.33-1.302-0.175-2.425-0.566-0.81-0.382-0.988-0.817-1.562-1.315l0.227 0.401c-1.126-0.398-0.655-0.493-1.571-0.783l0.243-0.317c-0.365-0.028-0.966-0.615-1.131-0.94l-0.399 0.016c-0.48-0.592-0.735-1.018-0.716-1.348l-0.129 0.23c-0.146-0.251-1.764-2.219-0.925-1.761-0.156-0.143-0.363-0.232-0.588-0.64l0.171-0.195c-0.404-0.52-0.743-1.186-0.718-1.408 0.216 0.291 0.365 0.345 0.513 0.395-1.020-2.531-1.077-0.139-1.85-2.576l0.163-0.013c-0.125-0.189-0.201-0.394-0.302-0.595l0.071-0.709c-0.734-0.849-0.205-3.611-0.099-5.125 0.073-0.616 0.613-1.272 1.023-2.3l-0.25-0.043c0.478-0.834 2.729-3.348 3.772-3.219 0.505-0.634-0.1-0.002-0.199-0.162 1.109-1.148 1.458-0.811 2.207-1.018 0.807-0.479-0.693 0.187-0.31-0.183 1.396-0.356 0.989-0.81 2.81-0.991 0.192 0.109-0.446 0.169-0.606 0.311 1.163-0.569 3.68-0.44 5.315 0.316 1.897 0.887 4.029 3.507 4.113 5.973l0.096 0.026c-0.048 0.98 0.15 2.114-0.194 3.155l0.234-0.493c0.027 0.749-0.219 1.113-0.442 1.756l-0.401 0.2c-0.328 0.636 0.032 0.404-0.203 0.91-0.512 0.455-1.552 1.423-1.885 1.511-0.243-0.005 0.165-0.287 0.218-0.397-0.684 0.47-0.549 0.706-1.596 0.992l-0.031-0.068c-2.583 1.215-6.17-1.193-6.123-4.478-0.028 0.209-0.078 0.156-0.136 0.241-0.133-1.691 0.781-3.388 2.322-4.081 1.508-0.746 3.275-0.44 4.355 0.566-0.593-0.777-1.774-1.601-3.173-1.524-1.371 0.022-2.653 0.893-3.081 1.838-0.702 0.442-0.784 1.704-1.090 1.935-0.412 3.026 0.774 4.333 2.781 5.871 0.162 0.109 0.181 0.171 0.167 0.227 0.001-0.001 0.001-0.003 0.003-0.004 2.367 0.884 4.812 0.67 6.86-0.972 0.521-0.406 1.090-1.096 1.255-1.106-0.248 0.373 0.042 0.179-0.148 0.508 0.519-0.837-0.226-0.341 0.537-1.446l0.282 0.388c-0.105-0.695 0.863-1.539 0.765-2.638 0.222-0.336 0.248 0.362 0.012 1.135 0.327-0.858 0.086-0.996 0.17-1.704 0.091 0.238 0.21 0.491 0.271 0.742-0.213-0.829 0.218-1.396 0.325-1.878-0.105-0.047-0.329 0.366-0.38-0.613zM13.071 18.038c0.304 0.414 0.546 0.862 0.935 1.185-0.28-0.546-0.487-0.772-0.87-1.51l-0.065 0.325zM13.856 17.685c-0.161-0.178-0.257-0.393-0.363-0.607 0.102 0.376 0.311 0.698 0.506 1.027l-0.143-0.42zM25.717 17.664c0.456-0.858 0.752-1.796 0.875-2.747l-0.068 0.171c-0.125 0.886-0.394 1.763-0.807 2.576zM17.63 2.307c-0.433 0.036-0.864 0.058-1.29 0.113l0.188 0.026c0.313-0.115 0.77-0.063 1.102-0.138zM5.659 8.779c0.322-0.724-0.089-0.26-0.125-0.453 0.050 0.643-0.495 0.886 0.125 0.453zM5.018 10.414c-0.401 0.513-0.185 0.622-0.227 0.971 0.145-0.446 0.171-0.713 0.227-0.971z\"},\"child\":[]}]})(props);\n};\nexport function DiDigitalOcean (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 34 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.151 22.755c3.697-1.217 9.204-0.874 12.964 0.624-2.714-1.482-8.159-3.713-12.964-0.624z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.321 20.477c0.281-0.187 0.561-0.359 0.827-0.499-0.125-0.078-0.25-0.172-0.359-0.281-0.203-0.203-0.359-0.421-0.468-0.64v-0.015c-0.499-0.983-0.328-2.091-0.328-2.091s-0.858 1.966 0.328 3.136v0.016l0.031 0.016c0.047 0.047 0.109 0.094 0.156 0.14-0.062-0.031-0.125-0.063-0.187-0.094-0.796-0.468-1.326-1.311-1.326-2.278 0-0.983 0.53-1.825 1.326-2.278 0.359-0.203 0.78-0.328 1.232-0.343-0.062-0.328-0.094-0.671-0.094-1.030 0-0.218 0.016-0.421 0.031-0.624-0.406 0.016-0.796 0.094-1.17 0.218-1.622 0.546-2.777 2.059-2.777 3.853 0 1.435 0.749 2.699 1.888 3.432 0.265-0.187 0.577-0.421 0.889-0.639z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.363 15.766c0-0.031-0.016-0.047-0.016-0.078 0.016 0.047 0.031 0.078 0.031 0.078s-0.265-2.262 1.357-3.401c1.607-1.139 3.994-0.437 3.994-0.437s-2.512-1.482-4.399-0.14c-0.031 0.031-0.078 0.062-0.125 0.094 0.796-0.952 1.997-1.56 3.354-1.56 1.373 0 2.605 0.624 3.401 1.607h1.794c-0.889-1.95-2.871-3.307-5.179-3.307-3.12 0-5.663 2.512-5.678 5.616 0 0.343 0.031 0.687 0.094 1.014 0.515 0.047 0.983 0.234 1.373 0.515z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M26.056 22.209c-3.9 0.967-7.098-1.186-12.153-2.761-3.323-1.030-6.084 0.405-7.582 1.513-0.78 0.577-1.217 1.061-1.217 1.061 0 0.016 0.452-0.25 1.217-0.577 1.591-0.671 4.54-1.544 7.566-0.437 4.508 1.685 8.050 2.418 11.888 1.763 3.056-0.522 4.114-2.537 4.418-3.337-0.269 0.638-1.182 2.042-4.137 2.775z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M30.193 19.434c0.086-0.204 0.106-0.329 0.106-0.329s-0.028 0.125-0.106 0.329z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M23.638 21.85c2.184-0.094 3.011-1.623 3.011-1.623s-0.686 0.796-2.948 0.999c-2.278 0.203-4.68-1.030-4.68-1.030-0 0.047 2.434 1.732 4.618 1.654z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.164 12.396h2.028v2.028h-2.028v-2.028z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M25.213 18.012h1.56v1.56h-1.56v-1.56z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.613 10.54h2.699v2.699h-2.699v-2.699z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M27.444 15.22h2.699v2.699h-2.699v-2.699z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M22.577 13.457h1.498v1.498h-1.498v-1.498z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M23.576 16.421h1.498v1.498h-1.498v-1.498z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M20.408 16.562h1.513v1.498h-1.513v-1.498z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M25.681 13.504h1.498v1.498h-1.498v-1.498z\"},\"child\":[]}]})(props);\n};\nexport function DiDjango (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.884 12.079v1.312l-0.098-0.018c-0.602-0.105-1.243-0.063-1.789 0.119-1.209 0.404-1.887 1.475-1.826 2.887 0.029 0.633 0.156 1.069 0.43 1.48 0.391 0.589 1.024 0.939 1.95 1.085 0.681 0.108 2.066 0.032 3.003-0.166l0.071-0.016v-7.991h-1.742v1.309zM3.76 14.755l0.124 0.032v2.784l-0.177 0.016c-0.689 0.066-1.143-0.050-1.433-0.37-0.227-0.248-0.343-0.602-0.343-1.037 0-0.771 0.367-1.293 1.013-1.441 0.187-0.042 0.625-0.034 0.816 0.016zM6.655 11.654v0.884h1.742l-0.005-0.879-0.008-0.876-0.863-0.008-0.866-0.005v0.884zM11.379 13.319c-0.615 0.045-1.259 0.203-1.8 0.441l-0.153 0.069v0.665c0 0.52 0.008 0.66 0.034 0.649 0.932-0.399 1.393-0.509 2.043-0.491 0.274 0.008 0.333 0.018 0.396 0.066 0.127 0.092 0.166 0.206 0.166 0.478 0 0.135-0.005 0.245-0.013 0.245-0.076 0-0.591 0.066-0.837 0.108-1.264 0.211-1.919 0.644-2.093 1.375-0.050 0.219-0.050 0.747 0 0.966 0.085 0.354 0.264 0.618 0.549 0.8 0.591 0.383 1.483 0.422 3.813 0.166l0.164-0.018v-1.982c0-1.090-0.013-2.090-0.026-2.222-0.079-0.742-0.433-1.114-1.206-1.261-0.216-0.040-0.789-0.069-1.037-0.053zM12.144 17.154v0.578l-0.23 0.034c-0.359 0.053-0.839 0.047-0.99-0.011-0.275-0.106-0.383-0.414-0.243-0.684 0.076-0.148 0.264-0.269 0.544-0.351 0.137-0.040 0.726-0.137 0.86-0.142l0.058-0.003v0.578zM16.815 13.322c-0.626 0.026-1.56 0.177-2.222 0.354l-0.1 0.026v5.223h1.742l0.005-2.053 0.008-2.050 0.185-0.050c0.132-0.034 0.285-0.050 0.541-0.053 0.322-0.003 0.37 0.003 0.496 0.061 0.171 0.076 0.28 0.198 0.34 0.377 0.042 0.127 0.047 0.303 0.055 1.953l0.008 1.816h1.715l-0.011-2.064c-0.008-1.855-0.013-2.085-0.053-2.235-0.079-0.298-0.198-0.499-0.414-0.718-0.338-0.34-0.792-0.517-1.486-0.575-0.322-0.026-0.414-0.029-0.81-0.011zM28.412 13.343c-1.016 0.185-1.744 0.794-2.050 1.723-0.145 0.435-0.185 0.744-0.169 1.296 0.011 0.33 0.029 0.53 0.066 0.692 0.216 0.921 0.789 1.567 1.644 1.858 0.731 0.251 1.739 0.209 2.404-0.1 0.85-0.39 1.37-1.156 1.496-2.196 0.148-1.203-0.251-2.291-1.032-2.829-0.34-0.235-0.612-0.346-1.058-0.433-0.306-0.061-1.003-0.066-1.301-0.011zM29.383 14.755c0.28 0.103 0.491 0.375 0.607 0.778 0.053 0.182 0.061 0.272 0.061 0.647 0 0.372-0.008 0.464-0.061 0.641-0.116 0.406-0.293 0.644-0.581 0.779-0.129 0.061-0.185 0.071-0.401 0.071-0.214 0-0.272-0.011-0.396-0.069-0.285-0.132-0.456-0.346-0.575-0.705-0.090-0.274-0.114-0.91-0.047-1.235 0.079-0.377 0.237-0.652 0.478-0.816 0.256-0.177 0.599-0.211 0.916-0.092zM23.453 13.346c-0.694 0.074-1.214 0.201-1.668 0.409-1.082 0.496-1.644 1.399-1.644 2.636 0 1.214 0.554 2.093 1.531 2.433 0.554 0.193 1.301 0.201 1.829 0.018 0.129-0.045 0.238-0.076 0.243-0.071 0.021 0.021-0.040 0.52-0.082 0.655-0.135 0.451-0.404 0.707-0.881 0.837-0.245 0.069-1.079 0.069-1.399 0-0.28-0.058-0.668-0.185-0.916-0.298l-0.193-0.087v1.599l0.311 0.095c0.528 0.161 0.974 0.23 1.544 0.23 1.301 0.003 2.227-0.398 2.771-1.198 0.243-0.359 0.399-0.815 0.473-1.396 0.037-0.296 0.045-3.346 0.011-4.053l-0.018-0.378 0.203 0.008 0.206 0.011 0.288-0.602c0.158-0.33 0.282-0.607 0.277-0.615-0.024-0.021-0.549-0.116-0.955-0.171-0.296-0.040-0.583-0.055-1.111-0.063-0.391-0.003-0.76-0.003-0.818 0.003zM23.714 15.13c0.008 0.238 0.021 0.86 0.029 1.385l0.016 0.955-0.1 0.027c-0.39 0.105-0.776 0.105-1.045 0.005-0.449-0.172-0.676-0.557-0.699-1.182-0.018-0.523 0.082-0.858 0.343-1.132 0.288-0.304 0.731-0.467 1.304-0.483l0.137-0.003 0.016 0.428zM6.655 15.447c0 2.99-0.037 3.381-0.362 4.014-0.203 0.396-0.578 0.726-1.14 1.008-0.143 0.071-0.187 0.103-0.158 0.119 0.021 0.013 0.383 0.185 0.802 0.383l0.765 0.362 0.161-0.082c1.024-0.53 1.488-1.272 1.621-2.602 0.018-0.174 0.037-1.264 0.045-2.752l0.016-2.46h-1.75v2.011z\"},\"child\":[]}]})(props);\n};\nexport function DiDlang (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 34 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.008 13.294c0-0.003 0-0.008 0-0.011-0.327-0.254-0.708-0.458-1.145-0.624-0.441-0.17-0.857-0.28-1.237-0.332-0.375-0.051-1.035-0.080-1.964-0.078l-1.987 0.003 0.010 7.491 2.045-0.003c0.96-0.001 1.698-0.057 2.183-0.154 0.515-0.108 0.923-0.234 1.236-0.379 0.331-0.156 0.631-0.345 0.9-0.568 0.877-0.733 1.287-1.608 1.284-2.73-0.001-1.097-0.426-1.925-1.326-2.614z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M26.011 7.612h-18.177c-1.185 0-2.145 1.066-2.145 2.382v12.013c0 1.315 0.96 2.382 2.145 2.382h18.177c1.185 0 2.145-1.067 2.145-2.382v-12.013c0-1.316-0.96-2.382-2.145-2.382zM24.666 13.857c0.001 1.643-1.45 2.976-3.243 2.977-0.066 0-0.132-0.002-0.197-0.006-0.086 0.516-0.252 1.019-0.499 1.503-0.379 0.743-0.918 1.402-1.615 1.96-0.711 0.575-1.538 1.006-2.471 1.298-0.536 0.174-1.030 0.293-1.496 0.358-0.003 0-0.009 0-0.011 0-0.487 0.061-1.304 0.082-2.524 0.084l-4.315 0.017c-0.029 0-0.059-0.006-0.087-0.011-0.017-0.001-0.035-0.002-0.052-0.005-0.012-0.005-0.024-0.010-0.035-0.016-0.003 0-0.003 0-0.006 0-0.012-0.005-0.024-0.011-0.035-0.016-0.003 0-0.009 0-0.012 0-0.024-0.014-0.048-0.031-0.069-0.049-0.003 0-0.003 0-0.006 0-0.009-0.007-0.015-0.013-0.023-0.021-0.003-0.003-0.009-0.008-0.012-0.011-0.009-0.008-0.015-0.013-0.023-0.021 0-0.003 0-0.008 0-0.011-0.012-0.007-0.024-0.013-0.035-0.021 0-0.003 0-0.008 0-0.011-0.006-0.010-0.012-0.021-0.017-0.033 0-0.003 0-0.003 0-0.005-0.009-0.010-0.021-0.021-0.029-0.032 0-0.003 0-0.003 0-0.005-0.006-0.011-0.012-0.022-0.017-0.032 0-0.003 0-0.008 0-0.011-0.003-0.011-0.003-0.022-0.006-0.033 0-0.003 0-0.003 0-0.005-0.003-0.011-0.009-0.022-0.012-0.032 0-0.003 0-0.008 0-0.011-0.003-0.026-0.003-0.049-0-0.076-0.001-0.016-0.001-0.032 0-0.048l-0.014-11.146c0.001-0.218 0.178-0.399 0.404-0.427 0.019-0.002 0.038 0 0.058-0l4.61-0.007c1.899-0.003 3.431 0.223 4.605 0.721 0.637 0.267 1.208 0.609 1.707 1.023 0.581-0.504 1.365-0.815 2.228-0.816 1.792-0.001 3.246 1.33 3.248 2.973 0 0.001 0 0.003 0 0.004zM26.162 10.588c0 0.528-0.466 0.956-1.042 0.957s-1.043-0.427-1.044-0.955c0-0.001 0-0.001 0-0.001-0-0.528 0.466-0.956 1.042-0.957s1.043 0.427 1.044 0.955c-0 0-0 0.001-0 0.001z\"},\"child\":[]}]})(props);\n};\nexport function DiDocker (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 34 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.734 15.43c0.115 0.010 0.108-0.086 0.109-0.162 0.002-0.266 0.001-0.532 0.001-0.798 0-0.283 0.001-0.566-0.001-0.85-0-0.068 0.001-0.15-0.096-0.15s-0.095 0.081-0.095 0.15c-0.001 0.549-0.001 1.098-0 1.648 0 0.067-0.010 0.154 0.083 0.162z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M20.202 15.435c0.107-0.009 0.098-0.103 0.098-0.179 0.001-0.266 0-0.533 0-0.799 0-0.275 0-0.55-0-0.825-0-0.080-0.004-0.167-0.112-0.166-0.105 0.001-0.084 0.091-0.084 0.155-0.002 0.55-0.002 1.1 0 1.65 0 0.070-0.028 0.175 0.098 0.165z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.175 15.436c0.092 0.004 0.111-0.066 0.111-0.14 0-0.567 0-1.133-0-1.7-0-0.079-0.032-0.139-0.12-0.13-0.084 0.008-0.073 0.082-0.074 0.14-0.001 0.283-0.001 0.567-0.001 0.85 0 0.275-0.001 0.55 0.001 0.824 0.001 0.063-0.023 0.151 0.083 0.155z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.463 15.435c0.093-0.002 0.101-0.078 0.101-0.149 0.001-0.558 0.001-1.116 0-1.674-0-0.073-0.012-0.144-0.106-0.145-0.107-0.001-0.088 0.086-0.088 0.15-0.002 0.275-0.001 0.55-0.001 0.824s-0.002 0.55 0.001 0.824c0.001 0.069-0.033 0.172 0.093 0.17z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.815 10.856c-0-0.060-0.001-0.133-0.086-0.128s-0.074 0.081-0.074 0.139c-0.001 0.275-0.001 0.549-0.001 0.824s-0.002 0.549 0.001 0.824c0.001 0.063-0.020 0.155 0.085 0.153 0.084-0.002 0.075-0.081 0.075-0.138 0.001-0.558 0.001-1.116 0-1.674z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.808 15.435c0.109 0.007 0.116-0.079 0.116-0.16 0-0.55 0-1.099 0-1.649 0-0.081-0.007-0.167-0.116-0.16-0.103 0.007-0.077 0.097-0.078 0.16-0.003 0.275-0.001 0.55-0.001 0.824s-0.001 0.55 0.001 0.824c0.001 0.063-0.025 0.153 0.078 0.16z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.007 14.446c0 0.275-0.001 0.55 0.001 0.824 0.001 0.063-0.025 0.154 0.074 0.164 0.107 0.011 0.121-0.072 0.121-0.156 0-0.55 0-1.099-0-1.649 0-0.079-0.002-0.17-0.112-0.164-0.122 0.007-0.080 0.113-0.082 0.181-0.005 0.266-0.002 0.533-0.002 0.799z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M20.465 15.288c0 0.065-0.016 0.151 0.090 0.149 0.092-0.002 0.106-0.074 0.106-0.147 0.001-0.559 0.001-1.117 0-1.676-0-0.072-0.012-0.145-0.104-0.149-0.107-0.004-0.092 0.081-0.092 0.147-0.002 0.275-0.001 0.55-0.001 0.825 0 0.284-0.001 0.567 0.001 0.851z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.992 12.701c0.11 0.006 0.115-0.081 0.115-0.161 0-0.557 0.001-1.114-0.001-1.672-0-0.070-0.008-0.145-0.104-0.146-0.109-0.001-0.088 0.085-0.088 0.148-0.002 0.274-0.001 0.549-0.001 0.823-0 0.283-0.001 0.566 0.001 0.849 0.001 0.063-0.024 0.153 0.079 0.159z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.351 12.567c0 0.060-0.002 0.129 0.081 0.135 0.089 0.006 0.119-0.054 0.119-0.132 0.001-0.567 0.001-1.134 0-1.701-0-0.070-0.008-0.144-0.104-0.147-0.105-0.003-0.096 0.078-0.096 0.144-0.001 0.283-0.001 0.567-0.001 0.85s-0 0.567 0 0.85z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.989 13.465c-0.1 0.009-0.075 0.099-0.076 0.163-0.002 0.275-0.001 0.55-0.001 0.825s-0.001 0.55 0.001 0.825c0.001 0.063-0.023 0.154 0.081 0.158 0.108 0.004 0.115-0.083 0.115-0.163 0-0.55 0-1.1 0-1.65-0-0.083-0.014-0.167-0.12-0.158z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.354 12.701c0.11 0.006 0.114-0.081 0.115-0.161 0-0.557 0.001-1.114-0.001-1.672-0-0.070-0.008-0.145-0.104-0.146-0.109-0.001-0.088 0.085-0.088 0.148-0.002 0.274-0.001 0.549-0.001 0.823-0 0.283-0.002 0.566 0.001 0.849 0.001 0.063-0.025 0.153 0.079 0.159z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.996 12.565c0 0.058-0.009 0.131 0.077 0.137 0.090 0.006 0.117-0.056 0.117-0.134 0-0.566 0.001-1.132-0-1.697-0-0.069-0.006-0.145-0.102-0.148-0.109-0.004-0.091 0.081-0.091 0.145-0.002 0.274-0.001 0.549-0.001 0.823 0 0.291-0.001 0.583 0 0.874z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.718 12.701c0.092 0.004 0.11-0.066 0.111-0.14 0-0.566 0.001-1.132-0.001-1.697-0-0.071-0.012-0.144-0.108-0.142-0.109 0.002-0.084 0.090-0.084 0.152-0.003 0.274-0.001 0.549-0.001 0.823 0 0.283-0.001 0.566 0.001 0.849 0.001 0.063-0.024 0.151 0.083 0.155z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.37 9.804c0 0.063-0.025 0.154 0.075 0.163 0.108 0.010 0.119-0.074 0.119-0.157 0-0.274 0-0.549 0-0.823s0.001-0.549-0.001-0.823c-0.001-0.075 0.011-0.17-0.1-0.175-0.127-0.005-0.092 0.101-0.092 0.168-0.003 0.549-0.002 1.097-0.001 1.646z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.613 10.874c-0-0.063 0.017-0.154-0.090-0.146-0.086 0.006-0.068 0.086-0.068 0.141-0.002 0.265-0.001 0.53-0.001 0.795 0 0.282-0.002 0.564 0.001 0.846 0.001 0.062-0.026 0.157 0.076 0.16s0.082-0.092 0.082-0.155c0.002-0.547 0.002-1.094 0-1.642z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.489 15.431c0.096-0.004 0.095-0.083 0.095-0.152 0.001-0.275 0-0.55 0-0.825s0.001-0.55-0-0.825c-0-0.068 0.005-0.149-0.090-0.157s-0.108 0.066-0.108 0.139c-0.001 0.559-0.001 1.118 0 1.677 0 0.071 0.006 0.148 0.103 0.144z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.18 10.723c-0.108-0-0.087 0.086-0.088 0.15-0.002 0.274-0.001 0.549-0.001 0.823 0 0.283-0.001 0.566 0.001 0.849 0.001 0.063-0.023 0.151 0.080 0.158 0.090 0.006 0.114-0.062 0.114-0.137 0.001-0.566 0.001-1.132-0-1.697 0-0.071-0.013-0.144-0.107-0.145z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.097 10.723c-0.108-0-0.087 0.086-0.088 0.15-0.002 0.274-0.001 0.549-0.001 0.823 0 0.283-0.001 0.566 0.001 0.849 0.001 0.063-0.023 0.151 0.081 0.158 0.090 0.006 0.114-0.062 0.114-0.137 0.001-0.566 0.001-1.132-0-1.697-0-0.071-0.013-0.145-0.107-0.145z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.454 8.967c0 0.274-0.002 0.549 0.001 0.823 0.001 0.062-0.025 0.154 0.085 0.15 0.085-0.003 0.074-0.081 0.074-0.138 0.001-0.557 0.001-1.115 0-1.672-0-0.057 0.011-0.134-0.075-0.137-0.111-0.004-0.083 0.089-0.084 0.151-0.003 0.274-0.002 0.549-0.002 0.823z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.463 10.724c-0.126-0.005-0.091 0.101-0.092 0.169-0.004 0.266-0.002 0.531-0.002 0.797 0 0.283-0.001 0.566 0.001 0.849 0.001 0.064-0.024 0.154 0.076 0.163 0.106 0.009 0.12-0.075 0.12-0.157 0-0.549 0.001-1.097-0-1.646-0-0.076 0.006-0.17-0.103-0.174z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.824 10.724c-0.126-0.005-0.091 0.101-0.092 0.169-0.004 0.266-0.002 0.531-0.002 0.797 0 0.283-0.001 0.566 0.001 0.849 0.001 0.064-0.024 0.154 0.076 0.163 0.106 0.009 0.12-0.075 0.12-0.157 0-0.549 0.001-1.097-0-1.646-0-0.076 0.006-0.17-0.103-0.174z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.455 15.273c0 0.056-0.014 0.135 0.073 0.136 0.106 0.002 0.085-0.089 0.085-0.151 0.003-0.265 0.001-0.53 0.001-0.795 0-0.274 0.002-0.547-0.001-0.821-0.001-0.063 0.019-0.153-0.088-0.149-0.087 0.004-0.071 0.083-0.071 0.138-0.002 0.547-0.002 1.094 0 1.642z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.738 9.938c0.099-0.002 0.078-0.096 0.079-0.159 0.003-0.265 0.001-0.53 0.001-0.796 0-0.282 0.001-0.565-0.001-0.847-0-0.056 0.013-0.134-0.072-0.141-0.108-0.009-0.090 0.082-0.090 0.145-0.002 0.547-0.002 1.095 0 1.642 0 0.063-0.020 0.157 0.082 0.155z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.009 9.801c0 0.070-0.029 0.175 0.098 0.164 0.109-0.009 0.095-0.104 0.095-0.179 0.002-0.266 0.001-0.531 0-0.797 0-0.274 0.001-0.549-0.001-0.823-0.001-0.074 0.012-0.17-0.098-0.176-0.128-0.008-0.094 0.098-0.094 0.166-0.003 0.549-0.002 1.097-0 1.646z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.745 15.247c0 0.074-0.044 0.196 0.1 0.186 0.125-0.009 0.098-0.119 0.099-0.2 0.003-0.257 0.001-0.513 0.001-0.77 0-0.265 0.001-0.53-0.001-0.796-0.001-0.081 0.025-0.192-0.101-0.199-0.144-0.008-0.098 0.114-0.098 0.187-0.004 0.53-0.004 1.061-0 1.591z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.73 8.969c0 0.283-0.001 0.566 0.001 0.849 0 0.064-0.018 0.15 0.089 0.149 0.094-0.001 0.104-0.074 0.104-0.146 0.001-0.557 0.001-1.114-0-1.671-0-0.078-0.003-0.167-0.114-0.161-0.107 0.005-0.077 0.097-0.078 0.158-0.004 0.274-0.002 0.549-0.002 0.823z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.091 8.978c0 0.274-0.002 0.549 0.001 0.823 0.001 0.070-0.030 0.172 0.097 0.165 0.093-0.005 0.096-0.083 0.096-0.153 0-0.557 0.001-1.114-0.001-1.671-0-0.069-0.003-0.148-0.097-0.152-0.128-0.006-0.094 0.098-0.095 0.166-0.004 0.274-0.002 0.549-0.002 0.823z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.353 13.465c-0.102 0.006-0.078 0.097-0.078 0.16-0.002 0.275-0.001 0.55-0.001 0.825s-0.001 0.55 0.001 0.825c0.001 0.064-0.023 0.154 0.078 0.161 0.107 0.007 0.118-0.079 0.118-0.16 0-0.55 0-1.1 0-1.65-0-0.082-0.010-0.167-0.118-0.161z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.714 12.512c0 0.062-0.024 0.158 0.076 0.161 0.123 0.004 0.088-0.105 0.089-0.173 0.004-0.266 0.002-0.533 0.002-0.799s0.003-0.533-0.002-0.799c-0.001-0.068 0.037-0.177-0.088-0.174-0.101 0.002-0.077 0.097-0.077 0.16-0.002 0.541-0.002 1.083 0 1.624z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.257 15.435c0.109 0.007 0.116-0.079 0.116-0.16 0-0.55 0-1.099 0-1.649 0-0.081-0.007-0.167-0.116-0.16-0.103 0.007-0.077 0.097-0.078 0.16-0.002 0.275-0.001 0.55-0.001 0.824s-0.001 0.55 0.001 0.824c0.001 0.063-0.025 0.153 0.078 0.16z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.247 15.277c0 0.058-0.004 0.133 0.084 0.129 0.086-0.005 0.073-0.081 0.074-0.137 0.002-0.274 0.001-0.548 0.001-0.822 0-0.265 0.002-0.531-0.001-0.796-0.001-0.061 0.026-0.155-0.082-0.153-0.084 0.001-0.075 0.079-0.076 0.136-0.001 0.548-0.001 1.096 0 1.644z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.631 15.435c0.11-0.004 0.103-0.095 0.103-0.172 0.001-0.547 0-1.094 0-1.641 0-0.083-0.014-0.164-0.121-0.155-0.098 0.008-0.080 0.095-0.081 0.16-0.002 0.274-0.001 0.547-0.001 0.821s-0.002 0.547 0.001 0.821c0.001 0.071-0.024 0.172 0.097 0.167z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.897 15.259c0.001 0.063-0.019 0.153 0.088 0.15 0.086-0.002 0.077-0.078 0.078-0.135 0.001-0.548 0.001-1.096-0-1.644-0-0.057 0.010-0.133-0.075-0.137-0.107-0.005-0.089 0.084-0.090 0.147-0.002 0.265-0.001 0.531-0.001 0.797 0 0.274-0.002 0.548 0.001 0.822z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.886 15.279c0 0.059-0.001 0.132 0.087 0.126 0.085-0.005 0.076-0.080 0.076-0.137 0.002-0.266 0.001-0.532 0.001-0.797 0-0.274 0.002-0.549-0.001-0.823-0.001-0.063 0.019-0.154-0.087-0.151-0.085 0.002-0.076 0.079-0.077 0.136-0.001 0.549-0.001 1.098 0 1.647z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.619 15.261c0 0.064-0.017 0.156 0.089 0.148 0.1-0.008 0.075-0.099 0.076-0.162 0.003-0.265 0.001-0.531 0.001-0.796s0.002-0.531-0.001-0.797c-0.001-0.063 0.024-0.154-0.077-0.161-0.106-0.007-0.088 0.085-0.088 0.149-0.002 0.54-0.002 1.079-0 1.619z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.257 14.447c0 0.274-0.001 0.548 0.001 0.822 0 0.056-0.012 0.133 0.073 0.139 0.107 0.008 0.092-0.081 0.092-0.144 0.002-0.54 0.002-1.079-0-1.619-0-0.063 0.020-0.156-0.085-0.152-0.102 0.003-0.079 0.095-0.080 0.158-0.003 0.265-0.001 0.531-0.001 0.797z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M27.75 16.528c0.145-0.445 0.388-0.553 0.849-0.563 1.549-0.033 2.799-0.622 3.495-2.106 0.064-0.137 0.058-0.188-0.078-0.272-0.993-0.61-2.056-0.722-3.175-0.479-0.097 0.021-0.208 0.106-0.243-0.092-0.165-0.926-0.665-1.663-1.336-2.296-0.223-0.21-0.442-0.427-0.719-0.57-0.249 0.239-0.479 0.498-0.611 0.819-0.528 1.28-0.527 2.54 0.195 3.754 0.084 0.141 0.045 0.185-0.074 0.244-0.316 0.156-0.643 0.282-0.98 0.389-0.919 0.292-1.867 0.243-2.811 0.252-0.191 0.002-0.248-0.046-0.245-0.242 0.012-0.765-0.007-1.531 0.012-2.295 0.006-0.24-0.072-0.281-0.289-0.277-0.696 0.013-1.393 0.007-2.089 0.004-0.418-0.002-0.361 0.047-0.362-0.349-0.002-1.634-0.003-3.267 0.002-4.9 0.001-0.169-0.028-0.24-0.221-0.238-0.954 0.010-1.908 0.010-2.863 0-0.188-0.002-0.227 0.061-0.225 0.235 0.009 0.748-0.006 1.496 0.010 2.244 0.005 0.231-0.060 0.282-0.284 0.281-1.651-0.010-3.301-0.002-4.952-0.010-0.208-0.001-0.254 0.061-0.251 0.258 0.011 0.756-0 1.513 0.008 2.27 0.002 0.168-0.044 0.217-0.214 0.215-0.756-0.009-1.513 0.002-2.27-0.008-0.194-0.003-0.264 0.038-0.26 0.25 0.014 0.782 0.001 1.565 0.009 2.347 0.002 0.168-0.043 0.219-0.214 0.216-0.645-0.010-1.289-0.002-1.934-0.006-0.127-0.001-0.208 0.011-0.22 0.169-0.043 0.566-0.082 1.131-0.031 1.698 0.027 0.299 0.029 0.299-0.276 0.238-0.599-0.12-1.143-0.352-1.588-0.806-0.037 0.439-0.157 0.617-0.546 0.812-0.4 0.2-0.84 0.282-1.26 0.427 1.169 0 2.338 0.006 3.507-0.005 0.199-0.002 0.256 0.064 0.29 0.248 0.223 1.223 0.731 2.318 1.53 3.273 1.576 1.885 3.657 2.761 6.048 2.974 1.854 0.165 3.69-0.010 5.495-0.458 3.512-0.873 6.301-2.77 8.236-5.862 0.085-0.136 0.177-0.174 0.331-0.173 1.53 0.006 3.061 0.004 4.591 0.004 0.087 0 0.174 0 0.261 0-0.289-0.108-0.584-0.165-0.863-0.266-0.462-0.168-0.959-0.32-0.944-0.967-0.154 0.124-0.28 0.243-0.423 0.337-0.756 0.493-1.601 0.573-2.474 0.53-0.155-0.008-0.115-0.071-0.071-0.159 0.18-0.36 0.401-0.708 0.525-1.087zM19.18 13.415c-0.001-0.141 0.059-0.173 0.185-0.173 0.679 0.004 1.358 0.004 2.037 0 0.131-0.001 0.186 0.048 0.186 0.181-0.003 0.688-0.003 1.375-0 2.063 0 0.139-0.069 0.174-0.194 0.172-0.335-0.004-0.671-0.002-1.006-0.002s-0.671-0.004-1.006 0.002c-0.133 0.002-0.205-0.023-0.204-0.181 0.007-0.688 0.006-1.375 0.001-2.063zM18.855 12.722c0.001 0.145-0.057 0.196-0.199 0.195-0.679-0.004-1.358-0.006-2.037 0.001-0.16 0.002-0.182-0.073-0.179-0.205 0.006-0.335 0.002-0.67 0.002-1.005s0.005-0.671-0.003-1.005c-0.003-0.142 0.038-0.197 0.188-0.195 0.67 0.006 1.341 0.006 2.011 0 0.151-0.001 0.218 0.042 0.217 0.203-0.005 0.67-0.005 1.341-0 2.011zM16.442 8.965c0-0.327 0.006-0.653-0.003-0.979-0.004-0.148 0.028-0.215 0.196-0.213 0.67 0.009 1.34 0.008 2.010 0.001 0.16-0.002 0.209 0.057 0.207 0.21-0.005 0.662-0.005 1.323 0 1.985 0.001 0.153-0.045 0.214-0.206 0.213-0.67-0.006-1.34-0.007-2.010 0.001-0.166 0.002-0.202-0.062-0.198-0.212 0.009-0.335 0.003-0.67 0.003-1.005zM16.439 13.452c-0.001-0.15 0.032-0.212 0.198-0.21 0.67 0.008 1.34 0.008 2.009 0.001 0.161-0.002 0.207 0.059 0.206 0.211-0.005 0.661-0.006 1.322 0 1.984 0.002 0.165-0.049 0.229-0.221 0.223-0.334-0.011-0.67-0.003-1.005-0.003-0.326 0-0.653-0.006-0.979 0.003-0.15 0.004-0.213-0.031-0.211-0.198 0.009-0.67 0.007-1.339 0.001-2.009zM13.904 10.508c0.66 0.008 1.321 0.008 1.981 0 0.158-0.002 0.21 0.048 0.205 0.205-0.010 0.334-0.003 0.669-0.003 1.003s-0.005 0.669 0.003 1.003c0.003 0.142-0.040 0.197-0.189 0.196-0.669-0.006-1.338-0.006-2.007 0-0.147 0.001-0.191-0.048-0.189-0.193 0.006-0.669 0.007-1.338-0-2.007-0.002-0.152 0.036-0.21 0.2-0.208zM16.087 14.475c-0 0.335-0.004 0.67 0.002 1.005 0.003 0.133-0.045 0.18-0.179 0.179-0.679-0.005-1.357-0.004-2.036-0.001-0.12 0.001-0.168-0.038-0.167-0.163 0.004-0.696 0.004-1.392 0-2.088-0.001-0.121 0.041-0.167 0.164-0.166 0.679 0.004 1.357 0.006 2.036-0.001 0.158-0.002 0.185 0.069 0.182 0.202-0.006 0.344-0.002 0.687-0.002 1.031zM11.147 10.508c0.677 0.005 1.355 0.005 2.032 0 0.138-0.001 0.176 0.054 0.175 0.183-0.004 0.686-0.004 1.372-0 2.058 0.001 0.12-0.042 0.169-0.164 0.168-0.686-0.003-1.372-0.004-2.058 0.001-0.153 0.001-0.16-0.082-0.159-0.197 0.003-0.334 0.001-0.669 0.001-1.003 0-0.343 0.004-0.686-0.002-1.029-0.003-0.131 0.038-0.182 0.175-0.181zM11.18 13.242c0.335 0.009 0.67 0.003 1.006 0.003 0.327 0 0.653 0.006 0.98-0.003 0.149-0.004 0.191 0.051 0.19 0.194-0.006 0.679-0.006 1.358 0 2.037 0.001 0.153-0.061 0.186-0.199 0.185-0.662-0.005-1.324-0.007-1.986 0.001-0.162 0.002-0.203-0.054-0.201-0.208 0.007-0.67 0.008-1.341-0.001-2.011-0.002-0.167 0.059-0.203 0.21-0.199zM8.231 13.428c-0.001-0.153 0.061-0.187 0.199-0.186 0.662 0.005 1.323 0.007 1.985-0.001 0.163-0.002 0.202 0.057 0.201 0.209-0.007 0.67-0.008 1.34 0 2.010 0.002 0.165-0.059 0.204-0.21 0.2-0.326-0.009-0.653-0.003-0.979-0.003s-0.653-0.005-0.979 0.002c-0.145 0.003-0.218-0.025-0.216-0.195 0.008-0.679 0.007-1.358 0.001-2.036zM26.267 18.337c-0.6 0.894-1.28 1.721-2.082 2.439-0.978 0.876-2.071 1.577-3.269 2.115-1.266 0.569-2.591 0.929-3.963 1.134-0.669 0.1-1.343 0.142-2.017 0.186v0c-1.681 0.068-3.323-0.092-4.879-0.795-0.919-0.415-1.71-1.010-2.432-1.704-0.035-0.034-0.085-0.061-0.083-0.15 0.835 0.053 1.669 0.044 2.502-0.006 0.643-0.056 1.279-0.15 1.905-0.312v0 0c0.081-0.028 0.162-0.055 0.242-0.083 0.13-0.044 0.212-0.125 0.169-0.269-0.044-0.146-0.159-0.162-0.289-0.12-0.521 0.17-1.056 0.27-1.602 0.322-0.433 0.041-0.865 0.101-1.302 0.081-0.616 0.021-1.231 0.005-1.846-0.038-0.096-0.007-0.156-0.042-0.21-0.118-0.588-0.828-0.982-1.736-1.162-2.738-0.024-0.137 0.031-0.143 0.129-0.142 0.342 0.004 0.685 0.006 1.027 0.008 0.077-0.003 0.154-0.008 0.232-0.008 5.433-0 10.865-0 16.297-0 0.077 0 0.154 0.005 0.232 0.007 0.764-0.002 1.528-0.001 2.292-0.010 0.191-0.002 0.206 0.054 0.108 0.2zM26.765 17.513c-0.076 0.138-0.148 0.173-0.304 0.128-0.34-0.096-0.679-0.19-0.967-0.401-0.101-0.073-0.146-0.055-0.23 0.025-0.188 0.179-0.41 0.308-0.672 0.354-0.572 0.217-1.174 0.247-1.773 0.249-0.713 0.003-1.423-0.066-2.116-0.248-0.438-0.115-0.892-0.21-1.2-0.592-0.070-0.086-0.1-0.009-0.138 0.024-0.819 0.728-1.816 0.838-2.847 0.798-0.578-0.023-1.138-0.153-1.659-0.421-0.216-0.111-0.387-0.36-0.583-0.396-0.173-0.032-0.347 0.268-0.57 0.36-0.577 0.24-1.184 0.349-1.798 0.419-0.822 0.093-1.645 0.090-2.459-0.088-0.38-0.083-0.752-0.195-1.035-0.483-0.090-0.092-0.137-0.042-0.212 0.005-0.368 0.231-0.767 0.379-1.201 0.427-0.323 0.105-0.658 0.102-0.992 0.11-0.091 0.002-0.136-0.029-0.151-0.128-0.073-0.479-0.040-0.959-0.029-1.44 0.003-0.127 0.085-0.149 0.193-0.147 0.292 0.006 0.584 0.006 0.876 0.009 0.112-0.003 0.223-0.008 0.335-0.008 5.32-0 10.64 0.002 15.96-0.003 0.916-0.001 1.811-0.142 2.662-0.506 0.325-0.139 0.634-0.306 0.918-0.516 0.056-0.041 0.168-0.077 0.049-0.19-0.457-0.433-0.679-0.988-0.757-1.597-0.1-0.781-0.032-1.544 0.362-2.249 0.154-0.276 0.162-0.278 0.394-0.073 0.714 0.632 1.244 1.373 1.353 2.353 0.015 0.136 0.013 0.274 0.009 0.411-0.002 0.061 0 0.101 0.071 0.104 1.029-0.465 2.063-0.497 3.109-0.053 0.208 0.088 0.192 0.179 0.087 0.341-0.513 0.799-1.274 1.2-2.18 1.359-0.429 0.076-0.864 0.137-1.302 0.061-0.197-0.034-0.304 0.025-0.378 0.23-0.223 0.613-0.511 1.197-0.825 1.769z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.448 15.258c0.001 0.062-0.021 0.154 0.088 0.145 0.084-0.007 0.069-0.086 0.069-0.142 0.002-0.539 0.002-1.079-0-1.618-0-0.063 0.016-0.154-0.090-0.145-0.085 0.007-0.067 0.087-0.067 0.142-0.002 0.265-0.001 0.531-0.001 0.796 0 0.274-0.002 0.548 0.001 0.822z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.525 15.263c0 0.056-0.013 0.134 0.072 0.14 0.107 0.008 0.091-0.081 0.092-0.145 0.002-0.54 0.002-1.080 0-1.621-0-0.056 0.013-0.134-0.072-0.14-0.107-0.008-0.091 0.081-0.092 0.145-0.002 0.266-0.001 0.532-0.001 0.797-0 0.274-0.001 0.549 0.001 0.823z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.883 15.406c0.086 0.002 0.083-0.072 0.083-0.131 0.002-0.274 0.001-0.549 0.001-0.823s0.001-0.549-0.001-0.823c-0-0.058 0.005-0.132-0.080-0.134-0.086-0.002-0.083 0.072-0.083 0.131-0.001 0.549-0.001 1.098-0 1.646 0 0.058-0.005 0.132 0.080 0.134z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.73 13.466c-0.125-0.006-0.093 0.1-0.094 0.169-0.003 0.541-0.003 1.083 0 1.625 0 0.068-0.036 0.174 0.088 0.175 0.109 0.001 0.108-0.091 0.108-0.169 0.001-0.266 0-0.533 0-0.799 0-0.275 0.001-0.55-0-0.825-0.001-0.077 0.006-0.17-0.102-0.175z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.245 15.406c0.085 0 0.082-0.073 0.082-0.132 0.001-0.266 0.001-0.532 0.001-0.798 0-0.283 0.001-0.566-0.001-0.849-0-0.059 0.004-0.133-0.082-0.133s-0.082 0.073-0.082 0.132c-0.001 0.549-0.001 1.098 0 1.646 0 0.059-0.004 0.132 0.082 0.133z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.801 13.496c-0.105-0.001-0.085 0.090-0.086 0.153-0.003 0.266-0.001 0.532-0.001 0.798 0 0.274-0.001 0.549 0.001 0.823 0 0.058-0.007 0.132 0.078 0.136 0.088 0.004 0.085-0.069 0.085-0.128 0.001-0.549 0.001-1.098 0-1.647-0-0.058 0.007-0.135-0.078-0.135z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M20.921 15.436c0.091-0.003 0.101-0.079 0.101-0.151 0.001-0.559 0.001-1.117-0-1.676-0-0.073-0.017-0.144-0.109-0.144-0.106 0-0.087 0.087-0.087 0.152-0.002 0.275-0.001 0.55-0.001 0.825s-0.002 0.55 0.001 0.825c0.001 0.069-0.031 0.173 0.095 0.169z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.062 12.672c0.087-0 0.077-0.077 0.077-0.134 0.002-0.282 0.001-0.564 0.001-0.846s0.001-0.564-0.001-0.846c-0-0.050 0.004-0.11-0.066-0.118-0.088-0.010-0.092 0.058-0.092 0.119-0.001 0.564-0.001 1.129 0 1.693 0 0.059-0.004 0.133 0.081 0.133z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.554 13.654c-0-0.084 0.011-0.191-0.114-0.188-0.118 0.002-0.087 0.108-0.087 0.177-0.002 0.539-0.002 1.078-0 1.617 0 0.070-0.030 0.175 0.090 0.175 0.125 0 0.111-0.107 0.112-0.19 0.002-0.265 0.001-0.53 0.001-0.796s0.001-0.53-0.001-0.796z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.979 14.437c0 0.274-0.002 0.547 0.001 0.821 0.001 0.063-0.021 0.153 0.085 0.151 0.087-0.002 0.073-0.081 0.073-0.136 0.002-0.547 0.002-1.094 0-1.641-0-0.055 0.016-0.134-0.071-0.138-0.107-0.005-0.087 0.086-0.088 0.149-0.003 0.265-0.001 0.53-0.001 0.795z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.62 12.542c0 0.059-0.003 0.132 0.083 0.13 0.085-0.002 0.080-0.075 0.080-0.134 0.002-0.274 0.001-0.548 0.001-0.822 0-0.283 0.001-0.565-0.001-0.848-0-0.057 0.014-0.133-0.071-0.14-0.108-0.009-0.092 0.080-0.093 0.144-0.001 0.557-0.001 1.113 0 1.67z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.081 13.466c-0.121 0.006-0.082 0.112-0.083 0.18-0.004 0.266-0.002 0.533-0.002 0.799 0 0.275-0.002 0.55 0.001 0.825 0.001 0.070-0.028 0.173 0.098 0.165 0.091-0.006 0.098-0.083 0.098-0.154 0.001-0.55 0.001-1.1 0-1.65-0-0.080-0.004-0.171-0.112-0.165z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M21.264 15.436c0.107 0.008 0.119-0.077 0.119-0.159 0.001-0.275 0-0.55 0-0.825s0-0.55-0-0.825c-0-0.081-0.008-0.167-0.116-0.162-0.103 0.005-0.080 0.096-0.080 0.159-0.002 0.55-0.002 1.1-0 1.65 0 0.064-0.023 0.154 0.077 0.162z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.26 12.702c0.090 0.006 0.114-0.062 0.114-0.137 0.001-0.566 0.001-1.132-0-1.697-0-0.071-0.013-0.144-0.107-0.145-0.108-0-0.087 0.086-0.088 0.15-0.002 0.274-0.001 0.549-0.001 0.823 0 0.283-0.001 0.566 0.001 0.849 0.001 0.063-0.023 0.151 0.081 0.158z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.617 12.702c0.107 0.007 0.119-0.077 0.119-0.159 0-0.558 0.001-1.116-0.001-1.674-0-0.071-0.012-0.144-0.106-0.146-0.105-0.002-0.094 0.080-0.094 0.146-0.002 0.275-0.001 0.55-0.001 0.824-0 0.283-0.001 0.567 0.001 0.85 0 0.065-0.018 0.153 0.082 0.159z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.259 12.542c0 0.059-0.003 0.132 0.084 0.13 0.085-0.002 0.079-0.076 0.080-0.134 0.002-0.283 0.001-0.565 0.001-0.848 0-0.274 0.001-0.548-0.001-0.822-0-0.056 0.014-0.133-0.072-0.14-0.107-0.009-0.092 0.080-0.092 0.144-0.002 0.557-0.001 1.113 0 1.67z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.977 12.671c0.104 0.004 0.084-0.090 0.085-0.153 0.003-0.274 0.001-0.548 0.001-0.822s0.001-0.548-0.001-0.822c-0-0.064 0.016-0.153-0.091-0.146-0.085 0.006-0.073 0.082-0.073 0.139-0.001 0.548-0.002 1.096 0 1.644 0 0.063-0.021 0.155 0.079 0.159z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.863 20.13c-0.006-0.374-0.307-0.66-0.684-0.649-0.362 0.010-0.641 0.303-0.638 0.671 0.003 0.358 0.303 0.654 0.66 0.651 0.378-0.003 0.667-0.296 0.662-0.673zM13.215 20.616c-0.262 0.005-0.476-0.195-0.486-0.457-0.010-0.254 0.176-0.471 0.426-0.485 0.089-0.005 0.213-0.048 0.149 0.146-0.051 0.153 0.061 0.272 0.211 0.213 0.176-0.069 0.155 0.024 0.159 0.127-0.006 0.251-0.207 0.451-0.459 0.456z\"},\"child\":[]}]})(props);\n};\nexport function DiDoctrine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22.325 12.138c-0.005-0.004-0.009-0.008-0.009-0.008-0.051-0.064-0.107-0.124-0.163-0.18l-7.698-7.698c-0.919-0.919-2.408-0.919-3.328 0s-0.919 2.408 0 3.328l2.485 2.485c-4.161 1.056-7.236 4.829-7.236 9.323 0 5.316 4.307 9.623 9.623 9.623s9.623-4.307 9.623-9.623c-0-2.891-1.275-5.487-3.297-7.249zM22.129 20.811l-5.56 5.56c-0.334 0.333-0.774 0.5-1.21 0.5s-0.877-0.167-1.21-0.5c-0.667-0.667-0.667-1.753 0-2.421l2.639-2.639h-5.705c-0.945 0-1.711-0.766-1.711-1.711s0.766-1.711 1.711-1.711h5.705l-2.639-2.639c-0.667-0.667-0.667-1.753 0-2.421s1.754-0.667 2.421 0l5.56 5.56c0.667 0.667 0.667 1.753 0 2.421z\"},\"child\":[]}]})(props);\n};\nexport function DiDojo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.172 9.056c0 0.029 0 1.914 0 4.199v4.152l-0.189 0.383c-0.259 0.512-0.889 1.143-1.431 1.425-0.613 0.318-1.031 0.424-1.679 0.424-0.984 0-1.708-0.306-2.421-1.019-0.889-0.895-1.243-2.103-0.966-3.298 0.153-0.654 0.418-1.107 0.942-1.631 0.772-0.777 1.514-1.060 2.621-1.007 0.724 0.035 1.172 0.171 1.714 0.518 0.2 0.13 0.365 0.23 0.377 0.218 0.006-0.012 0.041-0.259 0.082-0.548 0.041-0.294 0.088-0.583 0.106-0.654 0.024-0.1-0.047-0.153-0.436-0.336-0.683-0.318-1.16-0.418-2.020-0.418-0.913 0-1.355 0.1-2.156 0.495-1.225 0.595-2.103 1.714-2.462 3.127-0.141 0.571-0.13 1.726 0.029 2.291 0.424 1.543 1.543 2.709 3.116 3.251 0.536 0.183 0.601 0.189 1.443 0.194 0.766 0 0.942-0.018 1.325-0.141 0.583-0.177 1.060-0.418 1.549-0.777 0.218-0.159 0.4-0.289 0.412-0.289 0.006 0 0.012 0.218 0.012 0.483v0.489l1.502 0.035v-11.609h-0.736c-0.406 0-0.736 0.018-0.736 0.041zM20.306 10.222v0.913h1.178v-1.826h-1.178v0.913zM13.014 9.716c-0.047 0.029-0.071 0.13-0.059 0.247l0.018 0.2 1.985 0.018 1.991 0.012 0.035-0.141c0.018-0.076 0.024-0.194 0.012-0.253-0.018-0.1-0.135-0.106-1.961-0.118-1.072-0.012-1.979 0.006-2.020 0.035zM25.147 9.733c-0.076 0.076-0.088 0.218-0.035 0.365 0.030 0.083 0.265 0.094 2.003 0.094h1.967l0.065-0.141c0.047-0.1 0.047-0.171 0-0.265-0.071-0.124-0.088-0.124-1.997-0.124-1.425 0-1.95 0.018-2.002 0.071zM14.092 11.512c-0.907 0.177-1.72 0.577-2.321 1.137-0.701 0.642-1.107 1.319-1.39 2.279-0.124 0.43-0.147 0.642-0.147 1.237 0 0.895 0.094 1.302 0.477 2.091 0.259 0.536 0.371 0.683 0.836 1.154 0.63 0.63 1.119 0.942 1.926 1.219 0.536 0.183 0.595 0.189 1.472 0.194 0.883 0 0.931-0.006 1.473-0.194 1.997-0.695 3.239-2.397 3.251-4.459 0.006-0.836-0.118-1.36-0.495-2.15-0.265-0.548-0.359-0.677-0.866-1.178-0.459-0.459-0.666-0.618-1.107-0.842-0.3-0.153-0.754-0.336-1.001-0.401-0.595-0.153-1.567-0.194-2.109-0.088zM16.118 12.843c0.842 0.3 1.608 0.989 2.008 1.808 0.948 1.949-0.118 4.246-2.268 4.883-0.477 0.141-1.355 0.141-1.82 0-1.225-0.365-2.185-1.384-2.474-2.627-0.424-1.802 0.683-3.64 2.503-4.152 0.471-0.13 1.555-0.082 2.050 0.088zM26.225 11.512c-1.808 0.359-3.098 1.514-3.646 3.263-0.136 0.442-0.153 0.583-0.153 1.414 0 0.966 0.053 1.243 0.342 1.908 0.524 1.196 1.631 2.15 2.986 2.58 0.624 0.2 1.72 0.23 2.397 0.065 2.768-0.66 4.341-3.469 3.434-6.137-0.501-1.467-1.679-2.568-3.21-2.998-0.571-0.159-1.584-0.206-2.15-0.094zM27.956 12.755c0.919 0.218 1.849 0.954 2.268 1.796 0.289 0.589 0.389 0.99 0.389 1.59 0 0.901-0.295 1.673-0.889 2.321-0.448 0.483-0.895 0.777-1.526 1.001-0.424 0.147-0.589 0.171-1.089 0.177-0.995 0-1.714-0.295-2.415-0.995-0.448-0.442-0.766-0.984-0.948-1.59-0.159-0.524-0.141-1.467 0.030-1.973 0.395-1.131 1.272-1.985 2.391-2.303 0.448-0.13 1.29-0.141 1.791-0.024zM20.883 11.712l-0.577 0.018v4.282c0 4.706 0.006 4.6-0.359 5.325-0.106 0.206-0.353 0.542-0.559 0.76-0.206 0.212-0.377 0.406-0.377 0.43 0 0.071 0.707 1.037 0.754 1.031 0.13-0.006 1.043-1.296 1.331-1.873 0.412-0.825 0.389-0.501 0.377-5.483l-0.018-4.506-0.571 0.018z\"},\"child\":[]}]})(props);\n};\nexport function DiDotnet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.579 10.956c0.041-0.019 0.083-0.037 0.125-0.053-0.041 0.016-0.083 0.035-0.125 0.053zM2.496 22.174h0.126c0.372 0 0.477 0 0.905 0h0.337c0.026 0 0.052 0 0.078 0 0.029 0 0.060 0 0.091 0 0 0 0.005 0 0.006 0 0.013 0 0.026 0 0.038 0 0.005 0 0.005 0 0.009 0 0.005 0 0.011 0.006 0.017 0.005 2.378-0.122 3.48-1.352 4.034-3.124 0.431-1.375 0.784-2.532 1.094-3.504-0 0-0 0.001-0 0.001 0.004-0.012 0.007-0.023 0.011-0.035 0.747-1.048 1.519-1.953 2.215-2.687v0c0 0 0.016 0 0.016-0 1.065 3.257 1.476 9.068 4.591 9.068 0.126 0 0.257 0.003 0.384-0.010-0.127 0.013-0.25 0.030-0.376 0.030h2.474c-0.175 0-0.341-0.026-0.501-0.059-0.101-0.021-0.199-0.052-0.295-0.085 0.096 0.032 0.194 0.057 0.296 0.077 0.16 0.033 0.326 0.048 0.5 0.048 0.459 0 0.842-0.035 1.176-0.144-0.334 0.109-0.717 0.162-1.176 0.162h2.42c0 0 0 0 0 0 0.021 0 0.042 0 0.062 0 0 0 0 0 0 0s0.001 0 0.002 0l0.001-0.005 0.913-0.009c-0.117 0-0.226-0.021-0.331-0.056 0.001-0.002 0.003-0.003 0.004-0.005 0.103 0.031 0.21 0.037 0.325 0.037 2.403 0 4.826-4.315 8.835-11.483h-1.574l0.001 0.064h-0.293c-1.478 2.624-2.511 4.866-3.387 6.658 0.877-1.794 1.909-4.034 3.386-6.658h-2.161c-0.041 0-0.082 0-0.123 0-0.039 0-0.078 0-0.116 0h-0.005c-0.080 0-0.157-0.011-0.234-0.006-0 0.001-0.001-0.007-0.001-0.005-2.321 0.14-3.407 1.318-3.953 3.067-0.956 3.056-1.535 5.034-2.092 6.297-0 0 0-0.001-0-0 0 0.003-0.002 0.003-0.002 0.004v-0.003c-0.256 0.25-0.522 0.478-0.782 0.685-0.136 0.108-0.272 0.21-0.409 0.306 0.114 0.137 0.231 0.265 0.354 0.382 0.186 0.181 0.385 0.333 0.602 0.45-0 0-0.001 0-0.001 0-0.217-0.117-0.416-0.269-0.603-0.45-0.123-0.117-0.239-0.245-0.354-0.382 0 0 0 0 0 0 0.137-0.096 0.272-0.199 0.408-0.307-0.749-1.659-1.184-4.478-1.991-6.673 0.807 2.194 1.243 5.014 1.991 6.673 0.26-0.207 0.52-0.435 0.781-0.685-1.082-3.242-1.47-9.136-4.606-9.136-0.221 0-0.444 0.021-0.666 0.061 0.222-0.041 0.445-0.062 0.666-0.062l-1.233-0.017c0.196 0 0.381 0.055 0.557 0.055-0 0-0 0-0 0-0.176 0-0.361-0.055-0.556-0.055-0.017 0-0.034-0.004-0.051-0.003 0.017-0 0.034-0.006 0.051-0.006h-4.96c-0.028 0-0.056-0.004-0.085-0.004-2.706 0-6.435 5.059-8.115 11.524 0 0 0.122 0 0.323 0 0 0 0 0 0 0 0.232 0 0.95 0 0.95 0zM26.161 10.675c-0 0-0 0-0 0-0.807 0.254-1.401 0.694-1.842 1.277 0.441-0.583 1.034-1.023 1.842-1.277zM22.369 21.541c-0.008 0.004-0.015 0.008-0.023 0.012-0.011 0.006-0.023 0.011-0.034 0.017-0.001 0-0.002 0.001-0.002 0.001 0.020-0.010 0.039-0.020 0.059-0.029zM22.040 21.687c0.005-0.004 0.010-0.004 0.016-0.006-0.005 0.003-0.010 0.004-0.015 0.006-0.011 0.005-0.022 0.008-0.033 0.012 0.011-0.004 0.021-0.008 0.032-0.012zM22.001 21.703c0 0 0-0 0-0s-0.001 0-0.001 0c0-0 0-0 0.001-0zM21.751 21.787c0.019-0.006 0.036-0.011 0.054-0.016 0.009-0.004 0.018-0.007 0.027-0.009 0.011-0.004 0.021-0.007 0.030-0.011 0.011-0.004 0.022-0.006 0.031-0.010s0.017-0.006 0.026-0.010c0.021-0.008 0.042-0.014 0.064-0.022 0.003 0 0.006-0.001 0.008-0.003-0.002 0.001-0.005 0.002-0.007 0.003-0.021 0.008-0.042 0.014-0.063 0.022-0.009 0.004-0.018 0.006-0.026 0.009-0.009 0.004-0.020 0.007-0.031 0.010-0.009 0.004-0.020 0.006-0.031 0.011-0.009 0.004-0.018 0.005-0.027 0.009-0.019 0.005-0.036 0.010-0.054 0.016-0.001 0-0.003 0.001-0.004 0.001 0.001-0 0.002-0.001 0.003-0.001zM8.704 10.91v-0.008c0 0 0.006 0.008 0.007 0.008h0c-0.053 0-0.105 0.037-0.157 0.059 0.008-0.004 0.017-0.009 0.025-0.012-0.042 0.018-0.084 0.037-0.126 0.057-0.022 0.011-0.045 0.021-0.067 0.033zM8.832 10.846v0zM9.191 10.738c-0.007 0.004-0.012 0.019-0.018 0.019-0.044 0.011-0.088 0.023-0.132 0.035-0.005 0-0.009 0.004-0.015 0.005-0.012 0.003-0.024 0.007-0.037 0.011 0.013-0.004 0.025-0.011 0.037-0.013 0.006 0 0.011-0.005 0.015-0.005 0.044-0.012 0.088-0.024 0.132-0.035 0.006 0 0.011-0.018 0.018-0.018 0.012-0.004 0.024-0.020 0.037-0.021-0.013 0.001-0.025 0.021-0.037 0.023zM9.249 10.732c-0.006 0.004-0.013 0.008-0.019 0.010 0.006-0.004 0.012-0.011 0.019-0.013 0.013-0.004 0.025-0.014 0.039-0.014-0.014 0-0.026 0.015-0.039 0.017zM9.732 10.716c-0.024-0.004-0.047-0.002-0.070-0.002-0.001 0-0.002 0-0.002 0 0.023 0 0.046-0.003 0.070-0 0.003 0 0.005-0.001 0.008-0.001-0.002 0.001-0.003 0.003-0.006 0.003zM9.794 10.685c-0.058 0-0.115 0.012-0.174 0.016 0.008 0 0.016 0.010 0.024 0.012-0.015-0.002-0.030-0.011-0.045-0.012 0.007-0.001 0.014-0.005 0.021-0.005-0.004-0-0.004-0.002-0.008-0.002-0.005-0.004-0.012-0.006-0.012-0.006v0.005c-0.064 0.004-0.060 0.005-0.088 0.008l-0.004-0.005c-0.008 0-0.014 0.004-0.021 0.004-0.011 0.004-0.024 0.004-0.036 0.005-0.007 0-0.014 0-0.021 0.004-0.013 0.004-0.025 0.006-0.037 0.008-0.001 0-0.002 0.001-0.003 0.001 0.001 0 0.002 0 0.003 0 0.013 0 0.024-0.006 0.037-0.009 0.007 0 0.014-0.005 0.021-0.005 0.012 0 0.024-0.004 0.036-0.006 0.006 0 0.012-0 0.020-0.004 0.024-0.003 0.048-0.005 0.072-0.007 0.005 0 0.009 0.001 0.014 0.001 0.068-0.006 0.134-0.008 0.201-0.008zM9.955 10.755c-0.045-0.012-0.091-0.021-0.137-0.029-0.004 0-0.008-0.002-0.012-0.003 0.003 0.001 0.007 0.002 0.011 0.002 0.046 0.009 0.092 0.018 0.137 0.030 0.001 0 0.003 0.001 0.004 0.001-0.001-0-0.001-0-0.002-0zM10.934 11.537v0c-0 0-0 0.001-0.001 0.001-0.141-0.238-0.296-0.438-0.468-0.584 0.002 0.001 0.005 0.003 0.007 0.004 0.169 0.147 0.321 0.344 0.461 0.58 0-0 0 0-0 0zM11.154 11.961v0zM13.665 10.744c0.18-0.034 0.361-0.056 0.539-0.064-0.179 0.009-0.359 0.030-0.54 0.065zM11.904 12.446c-0.001-0.003-0.003-0.005-0.004-0.008 0.001 0.003 0.003 0.005 0.004 0.008v0zM14.209 10.947c-0.284 0.106-0.569 0.242-0.854 0.408 0.285-0.166 0.57-0.302 0.854-0.408 0.194-0.072 0.387-0.129 0.58-0.172-0.194 0.043-0.387 0.1-0.58 0.172zM14.94 10.743v0 0 0zM17.104 21.758c0.117-0.031 0.235-0.068 0.352-0.109 0 0 0 0 0 0-0.118 0.041-0.235 0.077-0.352 0.109zM20.136 21.561c-0 0-0 0-0 0-0.007 0.004-0.014 0.007-0.021 0.011 0.007-0.004 0.015-0.008 0.022-0.012zM20.762 21.884c-0.285-0.034-0.54-0.118-0.773-0.244 0.233 0.126 0.488 0.21 0.773 0.244 0.042 0.004 0.083 0.008 0.126 0.011-0.043-0.003-0.085-0.007-0.126-0.011zM20.742 21.035l0.001-0.005c0-0 0-0.001 0.001-0.001 0.157 0.267 0.331 0.487 0.527 0.639-0.196-0.149-0.371-0.364-0.528-0.633zM21.188 21.895c-0.008 0.004-0.015 0.004-0.023 0.004-0.001 0-0.001 0-0.002 0 0.008 0 0.016 0 0.023-0.004 0.015 0 0.030 0 0.046-0.004 0.001 0 0.002 0 0.002 0-0.016 0.004-0.031 0.004-0.046 0.004zM21.377 21.874c-0.017 0.003-0.035 0.004-0.053 0.008-0.005 0-0.010 0.004-0.015 0.004-0 0-0.004 0-0.004 0-0.016 0.002-0.033 0.005-0.049 0.005-0.001 0-0.002 0-0.002 0 0.016 0 0.033-0.004 0.049-0.005h0.004c0.005 0 0.010-0.004 0.015-0.004 0.018-0.004 0.036-0.006 0.053-0.008 0.002 0 0.003 0 0.004 0-0.001 0-0.001 0-0.002 0z\"},\"child\":[]}]})(props);\n};\nexport function DiDreamweaver (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.673 4.959c0 7.551 0 15.103 0 22.654 7.551 0 15.103 0 22.654 0 0-7.551 0-15.103 0-22.654-7.551 0-15.103 0-22.654 0zM25.554 25.801c-6.352 0-12.687 0-19.042 0 0-6.331 0-12.648 0-18.981 6.352 0 12.686 0 19.042 0 0 6.322 0 12.639 0 18.981zM8.067 16.082c-0-1.484 0-2.968-0.001-4.452-0-0.135-0.005-0.24 0.181-0.265 1.266-0.165 2.535-0.28 3.798-0.013 1.708 0.361 2.747 1.425 3.117 3.124 0.238 1.092 0.191 2.188-0.117 3.262-0.479 1.669-1.586 2.677-3.282 3.029-1.179 0.245-2.366 0.173-3.553 0.061-0.145-0.014-0.142-0.102-0.142-0.204 0.001-0.452-0-0.904-0-1.356-0-1.062 0-2.124-0-3.186zM9.597 16.083c-0.001 0-0.001 0-0.002 0 0 0.535-0 1.070 0 1.604s0.007 1.070-0.003 1.604c-0.003 0.174 0.051 0.247 0.226 0.246 0.308-0.002 0.618 0.030 0.925 0.008 1.491-0.106 2.395-0.836 2.767-2.259 0.23-0.88 0.246-1.775 0.019-2.66-0.212-0.823-0.676-1.459-1.476-1.803-0.745-0.32-1.522-0.318-2.308-0.199-0.168 0.026-0.148 0.136-0.148 0.249 0.001 1.070 0 2.139 0 3.209zM19.845 15.894c-0.053 0.283-0.093 0.57-0.163 0.849-0.329 1.313-0.667 2.624-0.999 3.936-0.031 0.122-0.103 0.145-0.215 0.144-0.339-0.004-0.678-0.009-1.017 0.003-0.159 0.006-0.222-0.052-0.259-0.204-0.198-0.803-0.409-1.604-0.613-2.406-0.336-1.32-0.671-2.64-1.006-3.96-0.022-0.086-0.035-0.173-0.061-0.302 0.348 0 0.668 0 0.989 0 0.513-0 0.521-0.002 0.615 0.5 0.287 1.523 0.568 3.047 0.852 4.57 0.014 0.073 0.034 0.144 0.086 0.219 0.078-0.363 0.149-0.729 0.236-1.090 0.321-1.339 0.65-2.676 0.969-4.015 0.036-0.151 0.11-0.189 0.251-0.185 0.271 0.008 0.543 0.011 0.813-0.001 0.162-0.008 0.222 0.058 0.256 0.209 0.374 1.658 0.753 3.315 1.131 4.973 0.008 0.035 0.017 0.070 0.069 0.109 0.023-0.118 0.046-0.237 0.069-0.355 0.312-1.579 0.625-3.158 0.934-4.738 0.028-0.142 0.087-0.2 0.238-0.196 0.405 0.010 0.811 0.003 1.256 0.003-0.095 0.366-0.18 0.705-0.271 1.042-0.505 1.866-1.014 3.731-1.514 5.599-0.044 0.165-0.104 0.237-0.285 0.228-0.308-0.015-0.618-0.013-0.926-0.001-0.172 0.006-0.251-0.045-0.292-0.222-0.346-1.51-0.703-3.018-1.056-4.526-0.014-0.061-0.030-0.122-0.044-0.183-0.015 0-0.030 0.001-0.045 0.001z\"},\"child\":[]}]})(props);\n};\nexport function DiDropbox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.79 17.467l6.595 4.304 4.616-3.849-6.65-4.104zM11.385 5.865l-6.595 4.301 4.56 3.651 6.65-4.105zM27.21 10.166l-6.595-4.301-4.615 3.848 6.649 4.105zM16 17.922l4.615 3.849 6.595-4.304-4.56-3.65zM16.014 18.75l-4.629 3.839-1.981-1.294v1.451l6.609 3.961 6.609-3.961v-1.451l-1.981 1.294z\"},\"child\":[]}]})(props);\n};\nexport function DiDrupal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.627 8.169c-1.32-0.822-2.564-1.145-3.809-1.967-0.772-0.523-1.843-1.768-2.739-2.838-0.174 1.718-0.697 2.415-1.295 2.913-1.27 0.996-2.067 1.295-3.162 1.892-0.921 0.473-5.926 3.461-5.926 9.885s5.403 11.155 11.404 11.155c6.001 0 11.204-4.357 11.204-10.955s-4.88-9.586-5.677-10.084zM21.771 26.865c-0.125 0.125-1.27 0.921-2.614 1.046s-3.162 0.199-4.258-0.797c-0.174-0.174-0.124-0.423 0-0.523s0.224-0.174 0.373-0.174c0.149 0 0.124 0 0.199 0.050 0.498 0.398 1.245 0.722 2.838 0.722s2.714-0.448 3.212-0.822c0.224-0.174 0.324-0.025 0.349 0.075s0.075 0.249-0.1 0.423zM17.414 24.599c0.274-0.249 0.722-0.647 1.145-0.822s0.647-0.149 1.046-0.149 0.822 0.025 1.12 0.224c0.299 0.199 0.473 0.647 0.573 0.896s0 0.398-0.199 0.498c-0.174 0.1-0.199 0.050-0.374-0.274s-0.324-0.647-1.195-0.647-1.145 0.299-1.569 0.647c-0.423 0.349-0.573 0.473-0.722 0.274s-0.099-0.398 0.175-0.647zM24.012 24.798c-0.896-0.075-2.689-2.863-3.834-2.913-1.444-0.050-4.581 3.013-7.046 3.013-1.494 0-1.942-0.224-2.44-0.548-0.747-0.523-1.12-1.32-1.096-2.415 0.025-1.942 1.842-3.76 4.133-3.785 2.913-0.025 4.93 2.888 6.399 2.863 1.245-0.025 3.635-2.465 4.805-2.465 1.245 0 1.594 1.295 1.594 2.066s-0.249 2.166-0.847 3.038c-0.598 0.872-0.971 1.195-1.668 1.145z\"},\"child\":[]}]})(props);\n};\nexport function DiEclipse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.568 16.58c-0.143-5.283 3.811-9.945 8.951-10.787-4.040 0.066-7.256 1.719-9.282 5.253-2.139 3.729-1.992 7.535 0.393 11.112 2.097 3.144 5.174 4.596 8.931 4.621-5.289-0.905-8.865-5.454-8.993-10.198zM7.627 13.092c-0.11 0.292-0.096 0.297 0.222 0.297 6.225 0 12.451 0 18.676 0 0.113 0 0.226 0 0.337 0 0.003-0.030 0.010-0.047 0.006-0.062-0.019-0.071-0.040-0.142-0.063-0.212-0.756-2.252-2.175-3.997-4.134-5.3-2.223-1.479-4.697-1.903-7.285-1.418-3.856 0.722-6.385 3.059-7.759 6.695zM7.437 14.524c-0.13-0.020-0.165 0.044-0.181 0.161-0.039 0.293-0.073 0.586-0.093 0.882-0.008 0.121 0.015 0.155 0.138 0.154 1.028-0.007 2.055-0.008 3.083-0.011 0.057 0.003 0.115 0.008 0.172 0.008 4.443 0 8.886 0 13.329 0 0.057 0 0.115-0.005 0.172-0.008 1.019 0.003 2.039 0.002 3.058 0.012 0.148 0.001 0.162-0.062 0.15-0.174-0.030-0.269-0.076-0.538-0.086-0.808-0.007-0.19-0.081-0.219-0.255-0.219-6.439 0.005-12.877 0.004-19.316 0.004-0.058 0-0.116 0.007-0.173-0.001zM27.117 16.851c-1.020 0.006-2.039 0.008-3.059 0.010-0.057-0.003-0.115-0.008-0.172-0.008-4.443-0-8.887-0-13.33 0-0.057 0-0.115 0.005-0.172 0.008-1.026-0.003-2.052-0.004-3.078-0.010-0.114-0.001-0.153 0.019-0.143 0.148 0.022 0.303 0.051 0.604 0.098 0.905 0.014 0.090 0.030 0.145 0.145 0.145 1.059-0.008 2.117-0.010 3.176-0.014 0.065 0.004 0.131 0.011 0.196 0.011 4.296 0 8.591 0 12.887 0 0.065 0 0.131-0.007 0.196-0.011 1.052 0.004 2.105 0.007 3.157 0.012 0.083 0 0.14-0.013 0.149-0.116 0.029-0.311 0.063-0.621 0.1-0.931 0.015-0.123-0.036-0.15-0.15-0.149zM10.484 17.593c-0.001-0.002-0.001-0.004-0.002-0.006 0.001 0.001 0.002 0.002 0.003 0.002-0 0.001-0.001 0.002-0.001 0.004zM26.644 19.183c-6.282-0.005-12.564-0.005-18.846-0.003-0.075 0-0.164-0.044-0.225 0.041v0c-0.019 0.104 0.037 0.192 0.067 0.284 1.333 3.989 5.716 7.889 11.823 6.6 2.469-0.521 4.376-1.925 5.892-3.897 0.665-0.866 1.175-1.818 1.474-2.874 0.114-0.261-0.111-0.151-0.185-0.151z\"},\"child\":[]}]})(props);\n};\nexport function DiEmber (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22.019 19.266c0 0-0.146-0.516 0.397-1.509s0.966-0.45 0.966-0.45 0.463 0.503-0.066 1.257c-0.529 0.755-1.297 0.702-1.297 0.702zM17.85 19.98c-0.622 1.628-2.131 0.966-2.131 0.966s-0.172-0.582 0.318-2.21c0.49-1.628 1.641-0.993 1.641-0.993s0.794 0.609 0.172 2.237zM16.725 13.164c0 0 0.94-2.449 1.165-1.257s-1.972 4.738-1.972 4.738c0.026-0.794 0.807-3.481 0.807-3.481zM3.291 19.266c0.040-1.575 1.072-2.263 1.429-1.919s0.225 1.085-0.45 1.549c-0.675 0.463-0.979 0.371-0.979 0.371zM31.76 19.004c-0.053-0.529-0.53-0.333-0.53-0.333s-0.768 0.595-1.443 0.529c-0.675-0.066-0.463-1.576-0.463-1.576s0.146-1.383-0.251-1.499c-0.397-0.116-0.887 0.36-0.887 0.36s-0.609 0.675-0.9 1.535l-0.079 0.026c0 0 0.093-1.509-0.013-1.853-0.079-0.172-0.807-0.159-0.927 0.145s-0.701 2.422-0.741 3.309c0 0-1.138 0.966-2.131 1.125s-1.231-0.463-1.231-0.463 2.7-0.754 2.607-2.912c-0.093-2.157-2.177-1.36-2.413-1.182-0.228 0.172-1.447 0.906-1.802 2.941-0.012 0.069-0.033 0.372-0.033 0.372s-1.046 0.701-1.628 0.887c0 0 1.628-2.74-0.357-3.984-0.9-0.543-1.615 0.596-1.615 0.596s2.687-2.991 2.091-5.519c-0.284-1.204-0.885-1.333-1.438-1.138-0.839 0.331-1.156 0.821-1.156 0.821s-1.085 1.575-1.337 3.918c-0.252 2.343-0.622 5.175-0.622 5.175s-0.516 0.503-0.993 0.529c-0.476 0.027-0.265-1.416-0.265-1.416s0.371-2.197 0.344-2.568c-0.027-0.371-0.053-0.569-0.49-0.701s-0.913 0.424-0.913 0.424-1.257 1.906-1.363 2.197l-0.066 0.119-0.066-0.079c0 0 0.887-2.594 0.040-2.634s-1.403 0.926-1.403 0.926-0.966 1.614-1.006 1.8l-0.066-0.079c0 0 0.397-1.879 0.318-2.342s-0.516-0.371-0.516-0.371-0.556-0.066-0.702 0.291c-0.146 0.357-0.675 2.727-0.741 3.481 0 0-1.39 0.993-2.303 1.006s-0.821-0.579-0.821-0.579 3.349-1.146 2.435-3.409c-0.41-0.582-0.887-0.765-1.562-0.752s-1.513 0.425-2.055 1.643c-0.259 0.581-0.354 1.132-0.407 1.549 0 0-0.586 0.12-0.904-0.145s-0.481 0-0.481 0-0.545 0.695-0.003 0.907c0.543 0.212 1.39 0.311 1.39 0.311h-0.001c0.078 0.371 0.304 1 0.965 1.502 0.993 0.754 2.898-0.069 2.898-0.069l0.781-0.438c0 0 0.027 0.716 0.596 0.821s0.807-0.002 1.8-2.41c0.582-1.231 0.622-1.165 0.622-1.165l0.066-0.013c0 0-0.45 2.356-0.278 2.991s0.926 0.569 0.926 0.569 0.41 0.079 0.741-1.085c0.331-1.165 0.966-2.449 0.966-2.449h0.079c0 0-0.278 2.409 0.146 3.176s1.522 0.258 1.522 0.258 0.768-0.388 0.887-0.507c0 0 0.911 0.776 2.197 0.635 2.873-0.565 3.894-1.329 3.894-1.329s0.494 1.251 2.022 1.366c1.747 0.133 2.7-0.967 2.7-0.967s-0.013 0.715 0.596 0.966c0.609 0.252 1.019-1.162 1.019-1.162l1.019-2.809h0.093c0 0 0.053 1.827 1.059 2.118s2.316-0.682 2.316-0.682 0.318-0.176 0.265-0.705z\"},\"child\":[]}]})(props);\n};\nexport function DiEnvato (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M23.032 5.072c-0.668-0.371-2.581-0.141-4.88 0.57-4.022 2.75-7.417 6.8-7.654 13.305-0.043 0.156-0.44-0.021-0.518-0.069-1.086-2.082-1.517-4.274-0.61-7.437 0.169-0.281-0.384-0.628-0.483-0.529-0.199 0.199-1.029 1.083-1.58 2.040-2.732 4.74-0.946 10.813 3.835 13.47 4.779 2.662 10.814 0.945 13.475-3.836 3.078-5.518 0.219-16.506-1.585-17.514z\"},\"child\":[]}]})(props);\n};\nexport function DiErlang (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 34 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.673 25.45c-2.318-2.456-3.674-5.849-3.671-9.898-0.003-3.58 1.122-6.658 3.056-9l-0.003 0.001h-4.065v18.897l4.683-0z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M28.081 25.452c0.999-1.069 1.893-2.329 2.704-3.769l-4.499-2.25c-1.58 2.569-3.891 4.933-7.086 4.949-4.651-0.016-6.478-3.992-6.468-9.111h17.378c0.023-0.578 0.023-0.847 0-1.125 0.113-3.045-0.694-5.605-2.162-7.598l-0.008 0.006h3.913v18.897l-3.773 0.001z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.013 10.884c0.192-2.317 2.020-3.876 4.162-3.881 2.157 0.005 3.715 1.563 3.768 3.881h-7.93z\"},\"child\":[]}]})(props);\n};\nexport function DiExtjs (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.281 7.633c0.052 0.007 0.115 0.035 0.165 0.061 0.518 0.265 0.86 0.424 0.977 0.958 0.188 0.855 0.752 1.347 1.555 1.614 0.569 0.189 1.098 0.108 1.615-0.181 0.771-0.43 1.053-0.379 1.72 0.284 0.636 0.631 0.74 1.062 0.309 1.773-0.725 1.198 0.055 2.983 1.277 3.306 1.007 0.266 1.417 1.563 0.82 2.452-0.139 0.207-0.429 0.364-0.681 0.436-1.008 0.288-1.557 0.978-1.675 1.969-0.050 0.421 0.094 0.884 0.228 1.302 0.128 0.4 0.404 0.76 0.15 1.249-0.913-0.863-1.81-1.709-2.72-2.569 0.963-1.297 1.336-2.725 1.083-4.284-0.207-1.277-0.797-2.372-1.794-3.215-1.93-1.631-4.601-1.657-6.514-0.117-1.813 1.46-2.98 4.687-0.857 7.629-0.857 0.884-1.71 1.763-2.577 2.657-0.298-0.257-0.29-0.551-0.206-0.852 0.039-0.139 0.106-0.274 0.18-0.4 0.539-0.922 0.365-1.791-0.191-2.629-0.265-0.399-0.671-0.59-1.112-0.735-0.981-0.32-1.375-1.775-0.674-2.551 0.158-0.175 0.415-0.313 0.648-0.358 1.343-0.258 2.078-2.097 1.434-3.195-0.502-0.855-0.42-1.241 0.428-2.046 0.516-0.489 0.861-0.547 1.473-0.173 0.759 0.464 1.483 0.409 2.232 0.008 0.459-0.246 0.812-0.593 0.927-1.096 0.169-0.737 0.527-1.235 1.327-1.312 0.16-0 0.129-0.027 0.453 0.015zM22.537 24.954c-4.358 0-8.725 0-13.052 0 2.174-2.184 4.362-4.383 6.519-6.551 2.16 2.165 4.341 4.353 6.533 6.551z\"},\"child\":[]}]})(props);\n};\nexport function DiFirebase (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.249 6.953c-2.833 0.351-4.585 1.184-4.794 2.293-0.038 0.18-0.038 1.184-0.019 2.236 0.038 1.573 0.066 1.971 0.208 2.226 0.152 0.294 0.152 0.341 0 0.739-0.142 0.369-0.152 0.654-0.104 2.188 0.038 0.966 0.114 1.904 0.18 2.075 0.085 0.237 0.085 0.369 0 0.559-0.142 0.303-0.152 2.975-0.019 3.78 0.057 0.379 0.18 0.673 0.36 0.9 0.843 1.052 3.079 1.677 6.366 1.781 4.083 0.133 7.2-0.635 7.939-1.952 0.199-0.341 0.208-0.493 0.208-2.226 0-1.468-0.028-1.933-0.151-2.226-0.123-0.313-0.123-0.417-0.028-0.597 0.085-0.161 0.114-0.71 0.095-2.018-0.019-1.876-0.047-2.151-0.256-2.454-0.104-0.152-0.095-0.227 0.019-0.464 0.123-0.227 0.152-0.644 0.142-2.302-0.009-1.175-0.057-2.15-0.123-2.33-0.256-0.786-1.393-1.506-2.937-1.876-1.895-0.445-4.964-0.587-7.086-0.332zM13.685 7.844c-0.028 0.047 0.502 0.057 1.213 0.028 1.052-0.038 3.827 0.123 3.733 0.218-0.019 0.019-0.445 0.076-0.957 0.133-0.521 0.057-1.023 0.152-1.137 0.208-0.189 0.104-0.189 0.114-0.028 0.237 0.161 0.114 0.151 0.123-0.095 0.18-0.777 0.161-1.279 0.36-1.459 0.587-0.455 0.578-0.057 1.156 0.919 1.364 0.739 0.152 3.657 0.057 4.462-0.142 0.891-0.227 1.345-0.483 1.345-0.767 0-0.388-0.569-0.673-1.942-0.957-0.73-0.142-0.265-0.171 0.644-0.028 0.9 0.142 1.63 0.417 1.866 0.72 0.171 0.227 0.189 0.379 0.189 2.027 0 2.037 0.019 1.989-0.909 2.416-1.345 0.635-3.534 0.872-7.333 0.805-0.72-0.019-0.777-0.028-0.578-0.142s0.133-0.133-0.663-0.18c-1.108-0.066-2.075-0.341-2.529-0.701-0.55-0.436-0.9-1.222-0.947-2.15-0.047-0.881 0.123-1.895 0.303-1.829 0.066 0.028 0.208-0.133 0.341-0.369 0.379-0.72 1.203-1.213 2.558-1.554 0.805-0.199 1.080-0.227 1.004-0.104zM10.123 14.949c0 0.388 0.189 0.549 0.928 0.767 2.672 0.805 8.697 0.701 10.421-0.18 0.351-0.18 0.398-0.237 0.398-0.53 0-0.36 0.095-0.417 0.322-0.18 0.18 0.18 0.171 0.019 0.151 1.98l-0.009 1.611-0.275 0.256c-0.587 0.54-2.624 0.966-5.116 1.080-3.088 0.142-6.622-0.464-7.162-1.232-0.104-0.152-0.133-0.559-0.133-1.847 0-1.402 0.019-1.677 0.161-1.828 0.218-0.246 0.313-0.208 0.313 0.104zM10.407 20.368c0.815 0.597 4.86 0.995 7.598 0.758 1.506-0.133 2.804-0.379 3.429-0.654 0.417-0.189 0.436-0.218 0.436-0.578 0-0.265 0.038-0.388 0.133-0.388 0.322 0 0.369 0.256 0.35 1.999-0.009 0.947-0.047 1.772-0.066 1.838-0.076 0.189-0.881 0.587-1.554 0.758-1.146 0.303-2.217 0.436-3.932 0.493-3.164 0.104-6.139-0.379-6.944-1.127-0.199-0.199-0.208-0.265-0.208-1.914 0-1.639 0.009-1.715 0.218-1.933l0.208-0.227 0.047 0.407c0.038 0.284 0.114 0.445 0.284 0.568z\"},\"child\":[]}]})(props);\n};\nexport function DiFirefox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M23.551 7.933c-0.062-0.061-0.125-0.122-0.189-0.182 0.063 0.060 0.125 0.121 0.189 0.182zM5.207 14.009c0 0-0.032 0.039-0.080 0.104-0.007 0.036-0.014 0.071-0.020 0.107 0.030-0.084 0.064-0.156 0.101-0.211zM8.386 8.874c0.021-0.021 0.041-0.042 0.061-0.063 0.958-0.958 2.074-1.711 3.316-2.236 1.286-0.544 2.652-0.82 4.061-0.82 1.33 0 2.621 0.246 3.844 0.731 0.714 0.123 1.665 0.361 2.458 0.812-1.779-1.264-3.954-2.006-6.302-2.006-3.044 0-5.797 1.249-7.774 3.262 0.092 0.112 0.203 0.22 0.335 0.32zM12.255 17.069c-0.076-0.063-0.141-0.131-0.196-0.201-0.019 0.156-0.031 0.323-0.031 0.499-0 0.328 0.041 0.681 0.153 1.032s0.294 0.698 0.581 1.021c0.191 0.215 0.43 0.42 0.728 0.605l-0.017 0.027c0.56 0.010 1.472-0.001 1.934-0.155 0.695-0.232 1.808-1.113 1.808-1.113 0.278-0.278 0.603-0.139 0.881-0.139s0.371-0.417 0-0.835c-0.371-0.417-1.669-0.835-2.643-0.185s-2.365 0.139-3.199-0.556zM12.927 10.95c-0.062 0.231-0.116 0.524-0.116 0.843 0 0.322 0.054 0.668 0.205 1.009 0.121 0.273 0.236 0.474 0.34 0.635 0.073 0.113 0.142 0.207 0.206 0.293 0.131-0.12 0.283-0.241 0.408-0.324 0.278-0.185 1.345-0.696 1.484-0.835s0.417-0.881 0.185-1.113c-0.232-0.232-1.716-0.093-2.179-0.185-0.195-0.039-0.382-0.177-0.533-0.323zM13.226 15.487c0.001 0.004 0.002 0.006 0.002 0.006 0.002-0.004 0.003-0.007 0.005-0.011l-0.007 0.005zM26.953 13.406c0 0.377-0.34 0.905-0.406 1.004 0.014-0.035 0.035-0.145 0.035-0.494 0-0.51 0.139-1.808-0.51-3.246s-1.623-2.133-1.623-2.133v0.325c-0.139-0.464-1.437-1.345-1.437-1.345v0.464c2.318 2.133 2.55 3.617 2.55 3.617-0.417-1.345-1.623-2.365-2.643-3.338s-3.153-1.484-3.153-1.484c2.272 1.298 3.385 3.338 3.385 3.338-1.159-1.113-2.087-1.020-2.087-1.020 0.696 0.51 1.020 1.066 1.669 2.087s0.603 3.431 0.603 3.431c-0.325-0.788-0.974-1.113-0.974-1.113s0.139 1.391 0.232 2.179c0.093 0.788-0.325 2.272-0.325 2.272 0-0.556-0.325-0.696-0.325-0.696s0.093 0.325-0.371 1.808c-0.464 1.484-1.345 1.994-1.484 1.947s0-0.278 0-0.278-0.232-0.185-0.556 0.325c-0.274 0.43-0.746 0.662-0.886 0.725 0.151-0.086 0.191-0.4 0.191-0.4s-0.325 0.185-1.808 0.417c-1.484 0.232-2.179-0.417-2.179-0.417 0.139-0.139 0.788 0 0.788 0 0-0.139-0.742-0.371-1.484-0.464-0.603-0.075-0.896-0.355-1.035-0.579-0.278-0.187-0.511-0.393-0.705-0.61-0.222-0.249-0.391-0.514-0.517-0.783-0.253-0.538-0.334-1.090-0.334-1.578 0-0.46 0.072-0.865 0.143-1.157s0.144-0.471 0.147-0.479v0l0.010 0.004c0.087-0.268 0.258-0.483 0.46-0.571-0.063-0.043-0.129-0.084-0.196-0.119-0.303-0.162-0.646-0.229-0.983-0.173-0.338 0.053-0.662 0.221-0.949 0.441-0.276 0.211-0.496 0.511-0.64 0.841-0.145 0.332-0.218 0.699-0.218 1.067s0.072 0.739 0.206 1.088c0.133 0.349 0.327 0.677 0.561 0.973s0.508 0.564 0.805 0.802c-0.31-0.221-0.6-0.473-0.854-0.761s-0.471-0.611-0.629-0.965c-0.159-0.354-0.257-0.738-0.279-1.131s0.033-0.793 0.173-1.167c0.14-0.374 0.362-0.724 0.677-0.995 0.153-0.128 0.319-0.244 0.499-0.34s0.376-0.171 0.582-0.213c0.206-0.042 0.421-0.050 0.632-0.021s0.414 0.093 0.603 0.183c0.189 0.090 0.364 0.204 0.524 0.333 0.080 0.065 0.156 0.134 0.229 0.207 0.036 0.036 0.072 0.074 0.107 0.113 0.029 0.033 0.056 0.063 0.085 0.1 0.165-0.428 0.049-1.144 0.022-1.294-0.087-0.124-0.211-0.28-0.351-0.503-0.105-0.168-0.219-0.375-0.336-0.637-0.182-0.411-0.245-0.824-0.245-1.197 0-0.436 0.085-0.819 0.169-1.095 0.026-0.085 0.052-0.16 0.076-0.224 0.262-1.14 1.517-2.261 1.517-2.261-1.762-0.232-2.967 1.391-2.967 1.391-0.005-0.003-0.010-0.006-0.015-0.009-0.125 0.138-0.549 0.634-0.588 1.029 0 0 0.015-0.71 0.192-1.206-0.672-0.214-1.464-0.102-1.869-0.018l0.003 0.015c-0.416 0.075-0.796 0.235-1.133 0.436s-0.631 0.444-0.873 0.679c-0.483 0.469-0.756 0.907-0.758 0.912v0l0 0-0.013-0.008c-0.853 1.237-1.39 3.874-1.39 3.874 0.093-0.417 0.51-0.927 0.51-0.927-0.464 0.696-0.371 3.895-0.371 3.895 0-0.51 0.278-1.113 0.278-1.113 0.093 1.066 0.556 4.498 3.57 7.094s5.564 2.829 5.564 2.829c-0.603-0.186-0.742-0.464-0.742-0.464 1.947 0.788 3.153 0.649 3.153 0.649-0.325-0.185-0.371-0.325-0.371-0.325 2.087 0.093 4.869-0.649 5.518-1.113s1.206-1.391 1.206-1.391c1.669-0.788 2.828-2.411 3.153-3.246s0-1.716 0-1.716 0-0.046 0.788-1.808c0.788-1.762-0-4.266-0-4.266zM7.485 9.458c0.196-0.117 0.407-0.223 0.632-0.311-0.893-0.744-0.823-1.723-0.823-1.723-0.893 0.862-1.111 2.318-1.157 3.198 0.013-0.015 0.025-0.030 0.038-0.045 0.302-0.348 0.743-0.78 1.31-1.12z\"},\"child\":[]}]})(props);\n};\nexport function DiFsharp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 27 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.789 10.152l-6.114 6.12 12.262 12.262v-6.131l-6.131-6.131 6.131-6.131-0.011-3.054-0.016-3.049-6.12 6.114zM10.73 14.099l-2.173 2.173 4.379 4.379v-4.368c0-2.398-0.005-4.363-0.016-4.363-0.005 0-0.991 0.98-2.19 2.179zM20.178 22.419l6.114-6.12-12.262-12.262v6.131l6.131 6.131-6.131 6.131 0.011 3.054 0.016 3.049 6.12-6.114z\"},\"child\":[]}]})(props);\n};\nexport function DiGhostSmall (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.859 7.401v2.115h13.256v-4.231h-13.256v2.115zM22.91 7.401v2.115h4.231v-4.231h-4.231v2.115zM4.859 16.427v2.115h22.282v-4.231h-22.282v2.115zM4.859 25.311v1.974h8.744v-3.949h-8.744v1.975zM18.398 25.311v1.974h8.744v-3.949h-8.744v1.975z\"},\"child\":[]}]})(props);\n};\nexport function DiGhost (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.006 11.401l-0.457 0.067v7.452h1.211v-3.753l0.209-0.175c0.114-0.101 0.303-0.229 0.417-0.289 0.296-0.148 0.854-0.148 1.083 0.007 0.35 0.222 0.377 0.41 0.377 2.394v1.816h1.278v-1.802c0-1.95-0.054-2.354-0.363-2.811-0.531-0.787-1.782-0.928-2.65-0.296-0.155 0.108-0.296 0.202-0.316 0.202-0.014 0-0.040-0.646-0.047-1.433-0.020-1.634 0.054-1.493-0.74-1.379zM29.636 12.188c-0.161 0.027-0.316 0.087-0.343 0.135-0.034 0.047-0.094 0.343-0.134 0.666-0.114 0.814-0.121 0.821-0.343 0.821-0.39 0-0.518 0.101-0.632 0.491-0.060 0.202-0.108 0.39-0.108 0.41s0.215 0.040 0.471 0.040h0.471v1.446c0 0.794 0.034 1.594 0.074 1.789 0.188 0.874 1.244 1.251 2.26 0.8l0.283-0.128-0.101-0.357c-0.061-0.195-0.121-0.37-0.135-0.383-0.013-0.020-0.188 0.007-0.377 0.054-0.316 0.067-0.37 0.067-0.525-0.047l-0.168-0.128-0.020-1.526-0.014-1.52h1.211v-1.009h-1.204l-0.020-0.794c-0.020-0.895 0-0.868-0.646-0.76zM0.366 14.111v0.505h3.161v-1.009h-3.161v0.504zM4.67 14.111v0.505h1.009v-1.009h-1.009v0.504zM9.675 13.681c-0.148 0.034-0.437 0.161-0.639 0.282-0.289 0.168-0.397 0.296-0.558 0.605-0.377 0.733-0.229 1.735 0.33 2.179l0.215 0.175-0.249 0.249c-0.309 0.309-0.397 0.672-0.242 1.029 0.054 0.134 0.155 0.276 0.222 0.323 0.121 0.074 0.101 0.101-0.222 0.431-0.39 0.39-0.478 0.632-0.404 1.137 0.067 0.417 0.41 0.8 0.901 0.989 0.323 0.128 0.518 0.155 1.19 0.155 1.776 0.007 2.784-0.673 2.791-1.883 0-0.505-0.168-0.794-0.599-1.009-0.37-0.182-0.598-0.222-1.775-0.296-0.525-0.034-0.975-0.094-1.029-0.141-0.054-0.040-0.094-0.161-0.094-0.262 0-0.316 0.161-0.383 0.942-0.417 1.022-0.040 1.56-0.309 1.903-0.962 0.114-0.215 0.141-0.377 0.134-0.807-0.007-0.296-0.020-0.612-0.034-0.706-0.020-0.148 0.013-0.175 0.269-0.235l0.289-0.061-0.020-0.403c-0.027-0.511-0.101-0.538-0.699-0.242-0.39 0.188-0.437 0.202-0.578 0.108-0.404-0.262-1.406-0.377-2.045-0.235zM10.878 14.575c0.356 0.148 0.478 0.336 0.504 0.814 0.027 0.403 0.020 0.43-0.208 0.679-0.222 0.242-0.256 0.256-0.693 0.282-0.552 0.027-0.854-0.121-1.009-0.491-0.37-0.895 0.477-1.681 1.406-1.285zM11.632 19.081c0.484 0.208 0.343 0.8-0.269 1.116-0.283 0.141-0.424 0.168-0.942 0.168-0.713 0-1.002-0.121-1.143-0.464-0.121-0.289-0.027-0.652 0.222-0.854 0.175-0.134 0.229-0.141 1.042-0.101 0.498 0.020 0.955 0.081 1.090 0.134zM20.409 13.714c-1.117 0.296-1.755 1.238-1.755 2.583 0 0.726 0.134 1.217 0.477 1.715 0.861 1.251 3.181 1.285 4.123 0.061 0.686-0.895 0.713-2.522 0.054-3.484-0.552-0.8-1.782-1.17-2.899-0.874zM21.613 14.616c0.572 0.161 0.881 0.753 0.881 1.682 0 0.282-0.047 0.666-0.101 0.847-0.343 1.157-1.957 1.19-2.347 0.047-0.141-0.41-0.141-1.379-0.007-1.782 0.229-0.666 0.881-0.995 1.574-0.794zM25.453 13.708c-0.807 0.229-1.224 0.733-1.224 1.466 0 0.821 0.343 1.19 1.419 1.527 0.746 0.235 0.989 0.37 1.089 0.626 0.114 0.269-0.027 0.518-0.343 0.632-0.276 0.101-0.995 0.061-1.466-0.087-0.505-0.148-0.538-0.141-0.659 0.289-0.108 0.363-0.108 0.383 0.013 0.471 0.437 0.316 1.843 0.431 2.509 0.195 0.7-0.242 1.143-0.827 1.15-1.5 0-0.787-0.336-1.137-1.446-1.5-0.256-0.087-0.585-0.209-0.72-0.276-0.41-0.209-0.505-0.531-0.235-0.794 0.229-0.209 0.72-0.249 1.352-0.108 0.289 0.061 0.558 0.101 0.599 0.081 0.047-0.020 0.128-0.188 0.175-0.383 0.088-0.33 0.081-0.363-0.034-0.451-0.343-0.249-1.574-0.356-2.179-0.188zM0.366 16.263v0.504h5.313v-1.009h-5.313v0.504zM0.366 18.382v0.471h2.085v-0.942h-2.085v0.471zM3.594 18.382v0.471h2.085v-0.942h-2.085v0.471z\"},\"child\":[]}]})(props);\n};\nexport function DiGitBranch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.5 7.119c-2.023 0-3.667 1.643-3.667 3.667 0 1.353 0.741 2.523 1.833 3.159v0.508c0 0 0 3.667-3.667 3.667-1.52 0-2.711 0.326-3.667 0.825v-8.666c1.093-0.636 1.833-1.806 1.833-3.159 0-2.024-1.643-3.667-3.667-3.667s-3.667 1.643-3.667 3.667c0 1.353 0.74 2.523 1.833 3.159v12.016c-1.093 0.636-1.833 1.805-1.833 3.158 0 2.023 1.643 3.667 3.667 3.667s3.667-1.644 3.667-3.667c0-0.96-0.378-1.826-0.981-2.482 0.534-0.655 1.401-1.185 2.815-1.185 7.276 0 7.333-7.333 7.333-7.333v-0.508c1.092-0.636 1.833-1.806 1.833-3.159 0-2.024-1.644-3.667-3.667-3.667zM10.5 5.286c1.014 0 1.833 0.819 1.833 1.833s-0.819 1.833-1.833 1.833c-1.014 0-1.833-0.819-1.833-1.833s0.819-1.833 1.833-1.833zM10.5 27.286c-1.014 0-1.833-0.82-1.833-1.833 0-1.012 0.819-1.833 1.833-1.833s1.833 0.822 1.833 1.833c0 1.013-0.819 1.833-1.833 1.833zM21.5 12.619c-1.013 0-1.833-0.819-1.833-1.833s0.82-1.833 1.833-1.833 1.833 0.819 1.833 1.833c0 1.014-0.82 1.833-1.833 1.833z\"},\"child\":[]}]})(props);\n};\nexport function DiGitCommit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22.161 14.689c-0.711-2.75-3.188-4.791-6.161-4.791s-5.449 2.041-6.161 4.791h-5.018v3.194h5.018c0.712 2.751 3.19 4.791 6.161 4.791s5.45-2.040 6.161-4.791h5.019v-3.194h-5.019zM16 19.48c-1.763 0-3.194-1.432-3.194-3.194s1.431-3.194 3.194-3.194c1.762 0 3.194 1.431 3.194 3.194s-1.432 3.194-3.194 3.194z\"},\"child\":[]}]})(props);\n};\nexport function DiGitCompare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M25.453 21.285v-9.89c0-4.739-4.726-4.726-4.726-4.726h-1.575v-3.151l-4.726 4.727 4.726 4.726v-3.151c0 0 0.657 0 1.575 0 1.389 0 1.575 1.575 1.575 1.575v9.89c-0.939 0.546-1.575 1.548-1.575 2.714 0 1.739 1.412 3.151 3.151 3.151s3.151-1.413 3.151-3.151c0-1.163-0.637-2.168-1.575-2.714zM23.878 25.575c-0.869 0-1.576-0.705-1.576-1.575 0-0.869 0.706-1.575 1.576-1.575 0.871 0 1.575 0.706 1.575 1.575 0 0.871-0.705 1.575-1.575 1.575zM6.547 11.287v9.889c0 4.739 4.727 4.727 4.727 4.727h1.575v3.151l4.726-4.726-4.726-4.727v3.151c0 0-0.657 0-1.575 0-1.389 0-1.575-1.575-1.575-1.575v-9.889c0.939-0.547 1.575-1.549 1.575-2.715 0-1.739-1.412-3.151-3.151-3.151s-3.151 1.412-3.151 3.151c0 1.164 0.636 2.168 1.575 2.715zM8.123 10.214c-0.869 0-1.575-0.704-1.575-1.575 0-0.869 0.706-1.575 1.575-1.575 0.872 0 1.575 0.706 1.575 1.575 0 0.872-0.704 1.575-1.575 1.575z\"},\"child\":[]}]})(props);\n};\nexport function DiGitMerge (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M23.308 14.459c-1.36 0-2.53 0.751-3.158 1.853-0.164-0.012-0.325-0.026-0.496-0.026-3.742 0-7.292-2.85-8.588-6.379 0.779-0.67 1.279-1.651 1.279-2.757 0-2.017-1.637-3.654-3.654-3.654s-3.654 1.637-3.654 3.654c0 1.348 0.738 2.514 1.827 3.148v11.975c-1.089 0.633-1.827 1.799-1.827 3.147 0 2.016 1.637 3.654 3.654 3.654s3.654-1.638 3.654-3.654c0-1.349-0.738-2.514-1.827-3.147v-6.574c2.403 2.542 5.72 4.24 9.135 4.24 0.182 0 0.332-0.012 0.496-0.018 0.632 1.097 1.802 1.845 3.158 1.845 2.016 0 3.654-1.638 3.654-3.654s-1.638-3.654-3.654-3.654zM8.692 27.248c-1.008 0-1.827-0.817-1.827-1.827 0-1.008 0.819-1.827 1.827-1.827 1.011 0 1.827 0.819 1.827 1.827 0 1.010-0.816 1.827-1.827 1.827zM8.692 8.977c-1.008 0-1.827-0.816-1.827-1.827s0.819-1.827 1.827-1.827c1.011 0 1.827 0.816 1.827 1.827s-0.816 1.827-1.827 1.827zM23.308 19.94c-1.008 0-1.827-0.817-1.827-1.827s0.819-1.827 1.827-1.827c1.010 0 1.827 0.816 1.827 1.827s-0.817 1.827-1.827 1.827z\"},\"child\":[]}]})(props);\n};\nexport function DiGitPullRequest (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.169 5.186c-1.885 0-3.415 1.53-3.415 3.415 0 1.26 0.691 2.35 1.708 2.943v11.192c-1.016 0.592-1.708 1.681-1.708 2.942 0 1.884 1.53 3.415 3.415 3.415s3.415-1.531 3.415-3.415c0-1.261-0.69-2.35-1.708-2.942v-11.192c1.018-0.593 1.708-1.683 1.708-2.943-0-1.885-1.53-3.415-3.415-3.415zM9.169 27.385c-0.942 0-1.708-0.764-1.708-1.708 0-0.942 0.765-1.708 1.708-1.708 0.945 0 1.708 0.765 1.708 1.708 0 0.944-0.763 1.708-1.708 1.708zM9.169 10.309c-0.942 0-1.708-0.763-1.708-1.708s0.765-1.708 1.708-1.708c0.945 0 1.708 0.763 1.708 1.708s-0.763 1.708-1.708 1.708zM24.538 22.736v-10.72c0-5.136-5.123-5.123-5.123-5.123h-1.708v-3.415l-5.123 5.123 5.123 5.123v-3.415c0 0 0.712 0 1.708 0 1.506 0 1.708 1.708 1.708 1.708v10.719c-1.017 0.592-1.708 1.679-1.708 2.942 0 1.884 1.531 3.415 3.415 3.415s3.415-1.531 3.415-3.415c0-1.261-0.691-2.35-1.708-2.942zM22.831 27.385c-0.942 0-1.708-0.764-1.708-1.708 0-0.942 0.765-1.708 1.708-1.708 0.944 0 1.708 0.765 1.708 1.708 0 0.944-0.764 1.708-1.708 1.708z\"},\"child\":[]}]})(props);\n};\nexport function DiGit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M26.852 15.281l-9.848-9.848c-0.567-0.567-1.487-0.567-2.054 0l-2.045 2.045 2.594 2.594c0.603-0.204 1.294-0.067 1.775 0.413 0.483 0.483 0.619 1.181 0.41 1.786l2.5 2.5c0.605-0.209 1.303-0.074 1.786 0.41 0.675 0.675 0.675 1.769 0 2.444s-1.769 0.675-2.445 0c-0.508-0.508-0.633-1.254-0.376-1.88l-2.332-2.332v6.136c0.164 0.082 0.32 0.19 0.457 0.327 0.675 0.675 0.675 1.769 0 2.445-0.675 0.675-1.77 0.675-2.444 0-0.675-0.676-0.675-1.77 0-2.445 0.167-0.167 0.36-0.293 0.566-0.377v-6.193c-0.206-0.084-0.399-0.209-0.566-0.377-0.511-0.511-0.634-1.262-0.372-1.889l-2.557-2.558-6.753 6.752c-0.567 0.568-0.567 1.488 0 2.055l9.849 9.848c0.567 0.567 1.486 0.567 2.054 0l9.802-9.802c0.567-0.567 0.567-1.488 0-2.055z\"},\"child\":[]}]})(props);\n};\nexport function DiGithubAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.906 17.847c0.429 0 0.79 0.21 1.102 0.636 0.31 0.422 0.468 0.944 0.468 1.56 0 0.619-0.156 1.141-0.468 1.563s-0.678 0.634-1.102 0.634c-0.451 0-0.839-0.21-1.151-0.634-0.307-0.422-0.465-0.944-0.465-1.563s0.153-1.139 0.465-1.56c0.312-0.427 0.702-0.636 1.151-0.636zM25.425 12.132c1.202 1.303 1.809 2.884 1.809 4.738 0 1.203-0.142 2.286-0.415 3.249-0.278 0.958-0.629 1.743-1.048 2.343-0.427 0.605-0.943 1.136-1.565 1.585-0.622 0.461-1.195 0.79-1.712 1.002s-1.112 0.376-1.785 0.49c-0.665 0.117-1.168 0.18-1.517 0.198-0.336 0.015-0.702 0.022-1.097 0.022-0.088 0-0.385 0.010-0.879 0.024-0.482 0.020-0.896 0.029-1.218 0.029s-0.736-0.010-1.218-0.029c-0.49-0.015-0.79-0.024-0.879-0.024-0.395 0-0.764-0.005-1.098-0.022-0.35-0.017-0.852-0.080-1.514-0.198-0.676-0.112-1.268-0.273-1.787-0.49-0.517-0.21-1.089-0.541-1.708-1.002-0.624-0.454-1.141-0.983-1.568-1.585-0.419-0.6-0.772-1.385-1.048-2.343-0.272-0.963-0.414-2.046-0.414-3.249 0-1.854 0.605-3.435 1.81-4.738-0.133-0.065-0.14-0.714-0.021-1.952 0.107-1.239 0.37-2.38 0.797-3.421 1.503 0.16 3.352 1.008 5.567 2.539 0.748-0.195 1.772-0.295 3.078-0.295 1.37 0 2.394 0.1 3.079 0.295 1.009-0.681 1.975-1.239 2.896-1.663 0.936-0.419 1.609-0.667 2.033-0.731l0.634-0.145c0.429 1.041 0.692 2.185 0.8 3.421 0.124 1.237 0.117 1.887-0.015 1.952zM16.052 24.683c2.703 0 4.741-0.324 6.125-0.973 1.38-0.651 2.082-1.99 2.082-4.008 0-1.17-0.441-2.15-1.322-2.932-0.454-0.424-0.985-0.681-1.595-0.781-0.595-0.098-1.514-0.098-2.755 0-1.236 0.1-2.082 0.145-2.537 0.145-0.619 0-1.291-0.033-2.125-0.098-0.834-0.062-1.487-0.102-1.954-0.122-0.478-0.015-0.986 0.045-1.538 0.172-0.557 0.133-1.008 0.357-1.373 0.681-0.84 0.75-1.266 1.725-1.266 2.932 0 2.019 0.684 3.357 2.050 4.006 1.365 0.653 3.397 0.975 6.101 0.975zM12.143 17.847c0.424 0 0.789 0.21 1.098 0.636 0.31 0.422 0.467 0.944 0.467 1.56 0 0.619-0.155 1.141-0.467 1.563-0.309 0.422-0.677 0.634-1.098 0.634-0.455 0-0.841-0.21-1.153-0.634-0.309-0.422-0.467-0.944-0.467-1.563s0.155-1.139 0.467-1.56c0.312-0.427 0.699-0.636 1.153-0.636z\"},\"child\":[]}]})(props);\n};\nexport function DiGithubBadge (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 5.343c-6.196 0-11.219 5.023-11.219 11.219 0 4.957 3.214 9.162 7.673 10.645 0.561 0.103 0.766-0.244 0.766-0.54 0-0.267-0.010-1.152-0.016-2.088-3.12 0.678-3.779-1.323-3.779-1.323-0.511-1.296-1.246-1.641-1.246-1.641-1.020-0.696 0.077-0.682 0.077-0.682 1.126 0.078 1.72 1.156 1.72 1.156 1.001 1.715 2.627 1.219 3.265 0.931 0.102-0.723 0.392-1.219 0.712-1.498-2.49-0.283-5.11-1.246-5.11-5.545 0-1.226 0.438-2.225 1.154-3.011-0.114-0.285-0.501-1.426 0.111-2.97 0 0 0.941-0.301 3.085 1.15 0.894-0.25 1.854-0.373 2.807-0.377 0.953 0.004 1.913 0.129 2.809 0.379 2.14-1.453 3.083-1.15 3.083-1.15 0.613 1.545 0.227 2.685 0.112 2.969 0.719 0.785 1.153 1.785 1.153 3.011 0 4.31-2.624 5.259-5.123 5.537 0.404 0.348 0.761 1.030 0.761 2.076 0 1.5-0.015 2.709-0.015 3.079 0 0.299 0.204 0.648 0.772 0.538 4.455-1.486 7.666-5.69 7.666-10.645 0-6.195-5.023-11.219-11.219-11.219z\"},\"child\":[]}]})(props);\n};\nexport function DiGithubFull (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.368 15.671h-2.653c-0.068 0-0.124 0.055-0.124 0.124v1.296c0 0.069 0.055 0.124 0.124 0.124h1.035v1.612c0 0-0.232 0.078-0.874 0.078-0.758 0-1.817-0.278-1.817-2.604 0-2.328 1.102-2.634 2.137-2.634 0.896 0 1.282 0.157 1.527 0.234 0.077 0.024 0.147-0.053 0.147-0.122l0.296-1.253c0-0.032-0.011-0.071-0.047-0.097-0.1-0.070-0.708-0.411-2.245-0.411-1.771 0-3.588 0.753-3.588 4.375s2.079 4.16 3.832 4.16c1.451 0 2.332-0.62 2.332-0.62 0.036-0.020 0.040-0.070 0.040-0.093v-4.045c-0.001-0.069-0.056-0.124-0.124-0.124zM19.783 12.327h-1.493c-0.069 0-0.124 0.056-0.124 0.124v2.886h-2.328v-2.886c0-0.069-0.056-0.124-0.123-0.124h-1.494c-0.067 0-0.122 0.056-0.122 0.124v7.814c0 0.069 0.055 0.125 0.122 0.125h1.494c0.068 0 0.123-0.056 0.123-0.125v-3.342h2.328l-0.005 3.342c0 0.069 0.055 0.124 0.122 0.124h1.494c0.069 0 0.122-0.056 0.122-0.124l0.005-7.815c0.001-0.069-0.055-0.124-0.122-0.124zM8.152 12.504c-0.532 0-0.963 0.435-0.963 0.972s0.431 0.973 0.963 0.973 0.963-0.435 0.963-0.973c0-0.537-0.431-0.972-0.963-0.972zM9.009 15.011c0-0.068-0.055-0.125-0.122-0.125h-1.489c-0.070 0-0.129 0.070-0.129 0.139 0 0 0 4.341 0 5.168 0 0.151 0.094 0.197 0.217 0.197 0 0 0.635 0 1.342 0 0.146 0 0.185-0.072 0.185-0.2-0.001-0.277-0.001-1.362-0.001-1.572-0.001-0.2-0.001-3.607-0.001-3.607zM25.564 14.898h-1.482c-0.068 0-0.122 0.056-0.122 0.125v3.831c0 0-0.376 0.277-0.912 0.277-0.534 0-0.677-0.242-0.677-0.767 0-0.523 0-3.342 0-3.342 0-0.069-0.056-0.125-0.123-0.125h-1.503c-0.069 0-0.123 0.056-0.123 0.125 0 0 0 2.040 0 3.595s0.866 1.935 2.057 1.935c0.977 0 1.767-0.54 1.767-0.54s0.037 0.284 0.055 0.317c0.016 0.034 0.060 0.068 0.108 0.068h0.952c0.068 0 0.123-0.056 0.123-0.125l0.004-5.25c-0.003-0.068-0.059-0.124-0.126-0.124zM29.622 14.722c-0.842 0-1.414 0.376-1.414 0.376v-2.646c0-0.069-0.056-0.124-0.122-0.124h-1.499c-0.067 0-0.122 0.056-0.122 0.124l-0.004 7.815c0 0.069 0.056 0.124 0.123 0.124 0 0 1.043 0 1.044 0 0.046 0 0.081-0.024 0.108-0.066s0.063-0.361 0.063-0.361 0.611 0.581 1.771 0.581c1.362 0 2.142-0.691 2.142-3.101-0-2.407-1.247-2.722-2.089-2.722zM29.038 19.126c-0.514-0.016-0.862-0.249-0.862-0.249v-2.476c0 0 0.344-0.211 0.767-0.249 0.534-0.047 1.050 0.114 1.050 1.387-0.003 1.342-0.235 1.607-0.954 1.586zM13.324 19.097c-0.066 0-0.233 0.026-0.405 0.026-0.549 0-0.737-0.256-0.737-0.587 0-0.332 0-2.198 0-2.198h1.121c0.069 0 0.123-0.055 0.123-0.125v-1.204c0.001-0.069-0.054-0.125-0.123-0.125h-1.121l-0.002-1.48c0-0.056-0.030-0.084-0.094-0.084h-1.526c-0.059 0-0.092 0.026-0.092 0.083v1.529c0 0-0.765 0.185-0.817 0.2s-0.088 0.063-0.088 0.119v0.962c0 0.069 0.056 0.125 0.123 0.125h0.782c0 0 0 1.005 0 2.312 0 1.717 1.205 1.886 2.018 1.886 0.371 0 0.815-0.121 0.889-0.147 0.045-0.016 0.070-0.062 0.070-0.111l0.001-1.057c0-0.069-0.058-0.125-0.122-0.125z\"},\"child\":[]}]})(props);\n};\nexport function DiGithub (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 27.442c-6.152 0-11.156-5.005-11.156-11.156s5.004-11.156 11.156-11.156 11.156 5.006 11.156 11.156c0 6.151-5.004 11.156-11.156 11.156zM16 7.609c-4.783 0-8.677 3.892-8.677 8.677s3.894 8.677 8.677 8.677c4.784 0 8.677-3.893 8.677-8.677s-3.893-8.677-8.677-8.677zM17.939 17.062c0.213 0 0.392 0.104 0.547 0.316 0.154 0.209 0.232 0.468 0.232 0.775 0 0.308-0.077 0.567-0.232 0.776s-0.337 0.315-0.547 0.315c-0.224 0-0.416-0.104-0.571-0.315-0.152-0.21-0.231-0.469-0.231-0.776s0.076-0.565 0.231-0.775c0.155-0.212 0.349-0.316 0.571-0.316zM20.68 14.224c0.597 0.647 0.898 1.432 0.898 2.353 0 0.597-0.070 1.135-0.206 1.613-0.138 0.476-0.312 0.866-0.521 1.163-0.212 0.3-0.468 0.564-0.777 0.787-0.309 0.229-0.593 0.392-0.85 0.497s-0.552 0.186-0.886 0.243c-0.33 0.058-0.58 0.090-0.753 0.098-0.167 0.007-0.349 0.011-0.545 0.011-0.044 0-0.191 0.005-0.436 0.012-0.239 0.010-0.445 0.015-0.605 0.015s-0.366-0.005-0.605-0.015c-0.243-0.007-0.392-0.012-0.436-0.012-0.196 0-0.379-0.002-0.545-0.011-0.174-0.009-0.423-0.040-0.752-0.098-0.336-0.056-0.629-0.136-0.887-0.243-0.257-0.104-0.541-0.269-0.848-0.497-0.31-0.225-0.566-0.488-0.778-0.787-0.208-0.298-0.383-0.688-0.521-1.163-0.135-0.478-0.206-1.016-0.206-1.613 0-0.921 0.3-1.706 0.899-2.353-0.066-0.032-0.070-0.355-0.010-0.969 0.053-0.615 0.184-1.181 0.396-1.698 0.746 0.079 1.664 0.501 2.764 1.261 0.372-0.097 0.88-0.146 1.528-0.146 0.68 0 1.189 0.050 1.529 0.146 0.501-0.338 0.98-0.615 1.438-0.826 0.465-0.208 0.799-0.331 1.009-0.363l0.315-0.072c0.213 0.517 0.344 1.085 0.397 1.698 0.062 0.614 0.058 0.937-0.007 0.969zM16.026 20.456c1.342 0 2.354-0.161 3.041-0.483 0.685-0.323 1.034-0.988 1.034-1.99 0-0.581-0.219-1.068-0.656-1.456-0.225-0.211-0.489-0.338-0.792-0.388-0.295-0.048-0.752-0.048-1.368 0-0.614 0.050-1.034 0.072-1.26 0.072-0.307 0-0.641-0.016-1.055-0.048-0.414-0.031-0.739-0.051-0.97-0.061-0.237-0.007-0.49 0.022-0.764 0.085-0.277 0.066-0.501 0.177-0.681 0.338-0.417 0.372-0.629 0.857-0.629 1.456 0 1.002 0.339 1.667 1.018 1.989 0.678 0.324 1.687 0.484 3.029 0.484zM14.085 17.062c0.211 0 0.392 0.104 0.545 0.316 0.154 0.209 0.232 0.468 0.232 0.775 0 0.308-0.077 0.567-0.232 0.776-0.154 0.209-0.336 0.315-0.545 0.315-0.226 0-0.418-0.104-0.573-0.315-0.154-0.21-0.232-0.469-0.232-0.776s0.077-0.565 0.232-0.775c0.155-0.212 0.347-0.316 0.573-0.316z\"},\"child\":[]}]})(props);\n};\nexport function DiGnu (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.726 18.222c-0.149 0.010-0.344 0.077-0.474 0.311-0.106 0.191-0.356 0.221-0.472 0.183-0.194-0.064-0.442-0.108-0.682 0.063s-0.499 0.042-0.454-0.27c0.046-0.312 0.158-0.589 0.457-0.761 0.653-0.376 0.199-0.637 0.557-1.014s0.28-0.493 0.268-1.006c-1.213-0.182-1.901-0.532-2.669-1.491s-1.066-1.749-1.145-2.952-0.011-1.982 0.509-2.981c0.52-0.998 1.067-1.479 2.015-1.978s1.877-0.618 2.736-0.603c0.859 0.014 1.431 0.077 1.916 0.354s0.929 0.625 1.212 0.628c0.283 0.003 0.476-0.072 0.613-0.177 0.037 0.932-0.802 1.013-1.553 1.033s-1.212-0.291-1.904-0.175c-0.691 0.116-1.824 0.43-2.375 1.39s-0.57 1.299-0.525 2.104c0.046 0.805 0.739 1.406 1.13 1.412s0.478-0.107 0.821-0.33c0.342-0.223 2.090-2.387 2.687-2.873s1.185-0.636 1.821-0.644c0.636-0.008 0.798 0.014 1.31 0.224s0.828 0.597 1.241 0.833c0.211-0.124 0.342-0.31 0.536-0.452 0.693-0.507 1.053-0.643 1.877-0.563 0.474 0.046 1.071 0.317 1.427 0.626 0.634 0.552 1.158 1.319 1.582 1.903 0.33 0.454 0.718 0.998 1.272 1.168 0.605 0.185 1.060-0.598 1.127-1.033 0.038-0.246 0.087-0.462 0.088-0.733s-0.027-0.6-0.105-0.882c-0.078-0.283-0.212-0.564-0.357-0.797-0.236-0.379-0.622-0.776-1.023-0.98-0.225-0.115-0.755-0.323-1.090-0.33-0.409-0.009-0.721 0.129-1.1 0.154-0.458 0.031-1.277 0.134-1.636-0.22-0.229-0.225-0.257-0.375-0.296-0.669 0.101 0.083 0.242 0.138 0.368 0.149 0.287 0.024 0.556-0.21 0.787-0.346 0.191-0.112 0.461-0.312 0.712-0.413 0.644-0.26 1.435-0.252 2.114-0.183 0.545 0.056 1.251 0.298 1.729 0.568 0.48 0.272 0.943 0.729 1.282 1.161 0.426 0.543 0.659 1.009 0.814 1.687 0.197 0.865 0.252 2.164 0.014 3.017-0.188 0.672-0.812 1.705-1.344 2.211-0.524 0.499-1.129 0.74-1.818 0.872 0.027 0.139 0.031 0.268 0.067 0.382 0.051 0.162 0.147 0.342 0.346 0.285 0.079-0.023 0.122-0.042 0.226 0.049s0.050 0.445-0.244 0.603c-0.149 0.080-0.306 0.098-0.545 0.103s-0.611 0.006-0.87-0.040c-0.259-0.045-0.414-0.251-0.701-0.283-0.444-0.050-0.783-0.37-1.139-0.599-0.148-0.096-0.198-0.097-0.284-0.145 0.046 0.141 0.108 0.288 0.139 0.424s0.018 0.262 0.034 0.371c0.016 0.109 0.046 0.193 0.064 0.282 0.071 0.064 0.094 0.16 0.213 0.191s0.306-0.017 0.429-0.033 0.204-0.083 0.3-0.065c0.096 0.018 0.187 0.087 0.267 0.151s0.149 0.074 0.215 0.234c0.065 0.161 0.125 0.49 0.134 0.709s-0.016 0.418-0.081 0.593c-0.065 0.174-0.122 0.252-0.299 0.424s-0.464 0.426-0.75 0.603c0.053 0.078 0.076 0.15 0.159 0.235s0.254 0.18 0.33 0.269c0.076 0.089 0.115 0.154 0.116 0.254s-0.004 0.231-0.085 0.34c-0.203 0.272-0.443 0.321-0.735 0.449 0.049 0.306 0.089 0.525 0.018 0.831-0.029 0.125-0.093 0.408-0.247 0.48s-0.45 0.037-0.638 0.067c-0.188 0.030-0.293 0.058-0.439 0.087-0.089 0.129-0.221 0.27-0.267 0.386s-0.032 0.157 0.006 0.274c0.038 0.118 0.168 0.289 0.205 0.427s0.044 0.286 0.010 0.424c-0.034 0.138-0.093 0.238-0.211 0.361s-0.349 0.219-0.465 0.319c-0.116 0.099-0.23 0.111-0.199 0.276 0.043 0.226 0.374 0.593 0.613 0.68 0.143 0.052 0.335 0.036 0.509-0.038-0.012 0.193-0.179 0.323-0.288 0.452 0.296-0.085 0.583-0.247 0.781-0.461-0.062 0.186-0.273 0.486-0.59 0.748s-0.315 0.209-0.472 0.313c0.287 0.058 0.554 0.042 0.777 0.002-0.122 0.067-0.322 0.162-0.587 0.19s-0.428 0.008-0.667-0.050c-0.239-0.058-0.456-0.275-0.746-0.424 0.028 0.107 0.048 0.236 0.17 0.346s0.306 0.166 0.501 0.262c-0.249-0.028-0.511-0.037-0.755-0.091-0.181-0.040-0.303-0.082-0.435-0.148s-0.235-0.161-0.352-0.242c0.056 0.107 0.073 0.234 0.169 0.322s0.251 0.121 0.377 0.182c-0.131-0.003-0.257 0.026-0.393-0.009s-0.264-0.088-0.405-0.192c-0.142-0.104-0.287-0.233-0.408-0.364s-0.27-0.301-0.315-0.422c-0.045-0.121 0.027-0.206 0.041-0.309-0.083 0.055-0.186 0.085-0.25 0.165s-0.121 0.152-0.092 0.291c0.028 0.139 0.156 0.308 0.247 0.462-0.27-0.221-0.42-0.305-0.485-0.572-0.060-0.249 0.095-0.475 0.214-0.664 0.059-0.093 0.146-0.181 0.201-0.271-0.122-0.119-0.261-0.222-0.366-0.358s-0.148-0.32-0.255-0.45c-0.107-0.13-0.25-0.212-0.375-0.319 0.11 0.236 0.29 0.525 0.329 0.708s-0.044 0.294-0.109 0.393c-0.065 0.099-0.169 0.121-0.268 0.181s-0.253 0.013-0.313 0.103c-0.059 0.090-0.075 0.225-0.018 0.314l0.232 0.366c-0.085-0.043-0.232-0.168-0.299-0.257s-0.168-0.171-0.182-0.291c-0.014-0.12-0.021-0.224 0.057-0.331s0.291-0.143 0.386-0.225c0.095-0.082 0.149-0.136 0.143-0.242s-0.109-0.182-0.199-0.249c-0.273-0.204-0.622-0.393-0.854-0.639-0.131-0.139-0.194-0.252-0.22-0.348s0.002-0.171 0.066-0.289c0.065-0.118 0.288-0.276 0.315-0.404s-0.085-0.156-0.187-0.201c-0.102-0.045-0.294 0.023-0.389-0.056s0.028-0.244-0.079-0.335-0.349-0.040-0.474-0.138c-0.125-0.098-0.177-0.219-0.22-0.36s-0.048-0.297-0.019-0.399 0.117-0.121 0.17-0.174c0.053-0.053 0.099-0.097 0.028-0.177s-0.303 0.005-0.436-0.097c-0.133-0.102-0.052-0.345-0.146-0.448s-0.263-0.063-0.352-0.095c-0.089-0.033-0.124 0.083-0.179-0.1s-0.056-0.729-0.13-0.933c-0.074-0.204-0.218-0.014-0.285-0.216s-0.003-0.526-0.034-0.832l-0.137-0.832c-0.478 0.321-0.793 0.422-1.307 0.512-0.043 1.256-0.161 1.996 0.265 3.389s1.289 2.215 2.453 3.395c-1.536-1.151-2.269-2.086-2.728-3.285s-0.371-2.201-0.325-3.355zM17.887 17.718c0.118 0.005 0.262 0.035 0.345 0.089s0.171 0.098 0.246 0.175c0.188 0.191 0.329 0.422 0.391 0.687 0.040 0.169 0.046 0.386 0.060 0.585-0.057-0.183-0.095-0.375-0.176-0.539-0.128-0.259-0.345-0.512-0.614-0.629-0.089-0.038-0.148-0.031-0.197-0.024 0.022 0.037 0.059 0.068 0.060 0.121s-0.011 0.159-0.102 0.203c-0.147 0.072-0.311 0.021-0.424-0.079s-0.154-0.272-0.094-0.42c0.072-0.175 0.344-0.176 0.505-0.169zM16.406 17.468c0.015-0.302 0.124-0.556 0.394-0.704 0.14-0.076 0.355-0.175 0.553-0.199 0.19-0.022 0.653-0.006 0.931 0.121 0.214 0.098 0.359 0.249 0.547 0.36s0.321 0.185 0.5 0.31c0.274 0.191 0.435 0.401 0.625 0.527 0.091 0.061 0.22 0.052 0.341 0.089-0.094 0.028-0.218 0.059-0.319 0.026-0.127-0.041-0.304-0.157-0.403-0.24-0.174-0.147-0.264-0.219-0.454-0.329-0.113-0.066-0.3-0.144-0.425-0.225s-0.341-0.26-0.461-0.32c-0.152-0.077-0.426-0.119-0.596-0.114-0.234 0.007-0.572 0.045-0.752 0.209-0.18 0.163-0.248 0.306-0.207 0.518 0.068-0.078 0.113-0.176 0.18-0.234 0.14-0.12 0.301-0.126 0.476-0.103 0.196 0.026 0.295 0.139 0.36 0.325-0.044-0.032-0.124-0.102-0.187-0.124-0.148-0.051-0.261-0.035-0.4 0.039-0.164 0.088-0.12 0.219-0.143 0.363-0.011 0.067-0.036 0.121-0.054 0.181-0.062-0.016-0.119-0.042-0.166-0.088 0.002 0.068-0.008 0.127 0.006 0.203s0.051 0.167 0.076 0.25c-0.114-0.114-0.231-0.221-0.305-0.369s-0.124-0.312-0.116-0.474zM16.604 15.272c0.084-0.125 0.109-0.317 0.161-0.473-0.021 0.198 0.019 0.415-0.077 0.558s-0.266 0.118-0.407 0.16c0.109-0.083 0.238-0.12 0.323-0.245zM14.585 18.203c0.108-0.088 0.4-0.017 0.619-0.002-0.157 0.040-0.314 0.080-0.471 0.121-0.015 0.053-0.008 0.115-0.044 0.16s-0.104 0.063-0.156 0.094c0.005-0.14-0.056-0.285 0.052-0.373zM16.125 12.116c0.131 0.070 0.296 0.163 0.411 0.166s0.145-0.075 0.213-0.12c0.107 0.348 0.229 0.73 0.41 1.045 0.076 0.132 0.125 0.071 0.182 0.204s0.083 0.403 0.138 0.573 0.126 0.294 0.19 0.442c-0.161-0.227-0.368-0.517-0.457-0.707s-0.032-0.206-0.105-0.386-0.219-0.461-0.328-0.692c-0.078 0.010-0.175 0.025-0.235 0.006s-0.048-0.082-0.101-0.123c-0.054-0.041-0.144-0.025-0.22-0.090s-0.093-0.199-0.099-0.318zM15.422 13.831c0.123-0.011 0.275 0.022 0.39 0.016s0.197-0.036 0.296-0.055c-0.018-0.173-0.001-0.491-0.161-0.607-0.103-0.075-0.527-0.018-0.641 0.006-0.255 0.055-0.552 0.207-0.798 0.302 0.236-0.165 0.44-0.318 0.724-0.403 0.17-0.051 0.568-0.118 0.744-0.070 0.080 0.022 0.096 0.055 0.145 0.123 0.167 0.234 0.167 0.435 0.21 0.708 0.043 0.067 0.088 0.111 0.123 0.179s0.054 0.177 0.064 0.265c-0.044-0.063-0.017-0.143-0.138-0.19s-0.307-0.003-0.471 0.014c0.119 0.086 0.178 0.169 0.183 0.351 0.005 0.213-0.175 0.367-0.364 0.382-0.262 0.020-0.397-0.037-0.503-0.261-0.046-0.098-0.013-0.216-0.017-0.312-0.315 0.022-0.31 0.012-0.54 0.203 0.125 0.183 0.204 0.289 0.41 0.398 0.116 0.062 0.247 0.121 0.391 0.146s0.379 0.048 0.53 0.025 0.236-0.066 0.348-0.17c0.112-0.104 0.122-0.252 0.166-0.369-0.010 0.113-0.023 0.256-0.065 0.338-0.127 0.249-0.348 0.322-0.61 0.323-0.252 0.001-0.565-0.057-0.799-0.155-0.188-0.078-0.499-0.298-0.573-0.489-0.050-0.131-0.011-0.291-0.016-0.437 0.26-0.173 0.324-0.13 0.632-0.181 0.129-0.021 0.217-0.069 0.34-0.080zM13.908 12.661c0.007-0.104 0.019-0.101 0.028-0.152-0.237-0.063-0.332 0.090-0.47 0.376-0.052 0.107-0.001 0.17-0.056 0.241s-0.145 0.060-0.236 0.128-0.18 0.197-0.264 0.267c-0.174 0.143-0.408 0.231-0.609 0.327 0.137-0.101 0.404-0.255 0.49-0.402 0.046-0.078 0.039-0.225 0.11-0.296s0.096-0.119 0.188-0.137c0.092-0.018 0.055-0.124 0.085-0.209s0.089-0.145 0.152-0.229c0.063-0.085 0.142-0.212 0.266-0.258s0.318 0.004 0.411-0.023c0.094-0.027 0.040-0.095 0.108-0.136s0.201-0.023 0.292-0.067c0.162-0.078 0.239-0.208 0.336-0.346 0.014 0.299 0.011 0.514-0.097 0.796-0.121 0.317-0.244 0.503-0.587 0.698-0.118 0.067-0.236 0.090-0.334 0.126 0.057-0.078 0.139-0.112 0.172-0.234s0.008-0.365 0.016-0.468zM19.454 14.119c-0.163 0.011-0.202-0.011-0.333 0.081 0.071 0.11 0.142 0.22 0.212 0.331-0.006-0.218 0.015-0.261 0.12-0.412zM19.027 13.961c0.226-0.096 0.423-0.174 0.669-0.19 0.099-0.006 0.252 0.009 0.351 0.014 0.085-0.125 0.193-0.223 0.233-0.366 0.026-0.095 0.013-0.534-0.033-0.648-0.135-0.332-0.267-0.346-0.453-0.536-0.135-0.138-0.141-0.348-0.181-0.583-0.015-0.086-0.057-0.196-0.077-0.285-0.244-0.041-0.505-0.055-0.785-0.041 0.136-0.13 0.267-0.249 0.306-0.445s0.007-0.436-0.104-0.611c-0.111-0.175-0.289-0.328-0.452-0.471s-0.397-0.261-0.551-0.378c0.201-0.072 0.406-0.178 0.603-0.216 0.513-0.1 0.955 0.053 1.449 0.352 0.288 0.174 0.525 0.339 0.826 0.654s0.673 0.892 0.964 1.234c0.291 0.342 0.526 0.613 0.78 0.817s0.484 0.262 0.725 0.393l0.377 0.4 0.305-0.377 0.491 0.056 0.101-0.551 0.451-0.123-0.074-0.743 0.324-0.23-0.243-0.462 0.247-0.505-0.322-0.577 0.124-0.556-0.373-0.318-0.049-0.59-0.521-0.199-0.209-0.514-0.585-0.007-0.287-0.381-0.394 0.028-0.439-0.048-0.249-0.183-0.36 0.239-0.436-0.228-0.867 0.329 0.565-0.492 0.586-0.094 0.449-0.114 0.606 0.199 0.533-0.135 0.514 0.304 0.544-0.030 0.267 0.48 0.542 0.063 0.293 0.533 0.341 0.186 0.090 0.683 0.303 0.288-0.134 0.598 0.358 0.453-0.335 0.485 0.359 0.303-0.458 0.406 0.464 0.483-0.561 0.181 0.365 0.518-0.458 0.079 0.3 0.57-0.516-0.007 0.26 0.427-0.566-0.068 0.135 0.614-0.428-0.376-0.147 0.745-0.295-0.535-0.16 0.667-0.364-0.492 0.010 0.699-0.403-0.629c0.085 0.357 0.068 0.747 0.302 1.084 0.726-0.098 1.201-0.281 1.757-0.816 0.506-0.487 1.112-1.504 1.276-2.148 0.187-0.736 0.193-2.088 0.009-2.837-0.177-0.721-0.408-1.066-0.82-1.654-0.394-0.418-0.781-0.86-1.28-1.158-0.733-0.438-1.674-0.556-2.509-0.544-0.463 0.006-0.773 0.095-1.050 0.196-0.484 0.176-0.871 0.56-1.363 0.749-0.16 0.062-0.289 0.064-0.415-0.004 0.124 0.247 0.258 0.359 0.567 0.449 0.223 0.065 0.756 0.024 1.122-0.010 0.394-0.036 0.599-0.153 1.134-0.146 0.523 0.007 0.938 0.206 1.164 0.335 0.468 0.267 0.803 0.564 1.094 1.034 0.16 0.258 0.272 0.549 0.351 0.846s0.113 0.63 0.119 0.921c0.005 0.291-0.017 0.55-0.088 0.812-0.166 0.613-0.533 1.236-1.287 1.14-0.461-0.059-1.157-0.925-1.39-1.243-0.47-0.641-0.954-1.351-1.544-1.885-0.36-0.325-0.853-0.55-1.337-0.594-0.908-0.083-1.178 0.089-1.861 0.653 0.139 0.044 0.275 0.069 0.417 0.133 0.316 0.143 0.606 0.327 0.858 0.563 0.264 0.248 0.383 0.405 0.393 0.759 0.006 0.236-0.188 0.424-0.365 0.594-0.109 0.104-0.252 0.199-0.34 0.28-0.117 0.107-0.261 0.224-0.115 0.395 0.055 0.064 0.151 0.113 0.232 0.172 0.128 0.095 0.069 0.448-0.099 0.542-0.216 0.12-0.474 0.106-0.652-0.054 0.225-0.034 0.367-0.063 0.362-0.247-0.003-0.107-0.139-0.195-0.272-0.256-0.321-0.146-0.563-0.125-0.882-0.354-0.322-0.232-0.329-0.359-0.417-0.723-0.155 0.016-0.299 0.020-0.506 0.089s-0.438 0.233-0.626 0.273c-0.475 0.102-0.57 0.072-0.83 0.005-0.458-0.118-1.054 0.084-1.646 0.274-0.098 0.031-0.497 0.001-0.765 0.095-0.414 0.145-0.995 0.497-1.331 0.78-0.509 0.428-1.177 1.71-1.555 3.181-0.040 0.447 0.088 0.749-0.194 0.967s-0.274 0.778-0.37 0.935c-0.096 0.157-0.206 0.087-0.412 0.308s-0.31 0.184-0.305 0.6c0.177-0.116 0.436-0.252 0.662-0.26 0.201-0.007 0.203 0.257 0.719-0.253 0.276-0.273 0.806-0.281 1.173-0.401s1.030-0.368 1.694-1.11c0.664-0.742 0.981-1.523 1.11-2.652 0.021 0.2 0.056 0.426-0.030 0.978s-0.27 1.172 0.119 1.915l0.242 0.463c-0.144-0.197-0.426-0.518-0.511-0.747l-0.196-0.528c-0.438 0.688-0.539 0.811-1.147 1.304-0.024 0.306-0.030 0.625 0.070 0.917s-0.059 0.63 0.017 0.822c0.076 0.193 0.252 0.083 0.309 0.278s-0.030 0.581 0.059 0.771c0.089 0.19 0.307 0.075 0.413 0.136s0.14 0.145 0.197 0.226c0.057 0.081-0.022 0.272 0.093 0.334s0.295 0.009 0.415 0.069c0.12 0.060 0.138 0.203 0.109 0.331s-0.157 0.187-0.213 0.317c-0.056 0.13-0.050 0.221 0.018 0.341s0.217 0.186 0.366 0.246c0.149 0.060 0.358 0.026 0.512 0.11s0.292 0.25 0.373 0.371c0.081 0.121 0.104 0.206 0.1 0.333s-0.056 0.274-0.124 0.396c-0.068 0.123-0.218 0.272 0.016 0.507s0.225 0.134 0.359 0.286c-0.015-0.263-0.123-0.478-0.044-0.676s0.318-0.233 0.444-0.322c0.126-0.089 0.198-0.212 0.297-0.317-0.001 0.136 0.013 0.283-0.002 0.385-0.031 0.208-0.093 0.393 0.217 0.427 0.14 0.015 0.273-0.076 0.42-0.13-0.077 0.138-0.211 0.249-0.231 0.415s0.004 0.347 0.119 0.511c0.114 0.164 0.312 0.286 0.457 0.382s0.222 0.104 0.334 0.156c0.005 0.163-0.027 0.334-0.008 0.488s0.067 0.288 0.155 0.415c0.089 0.126 0.23 0.199 0.364 0.293-0.073-0.171-0.222-0.333-0.22-0.512s0.056-0.307 0.231-0.466c0.175-0.159 0.585-0.297 0.778-0.452s0.256-0.25 0.325-0.4c0.069-0.15 0.050-0.393 0.063-0.528 0.064 0.189 0.073 0.248 0.093 0.446s-0.116 0.476-0.173 0.623c0.239-0.116 0.391-0.3 0.467-0.48 0.051 0.030 0.025 0.114 0.044 0.274 0.085-0.085 0.182-0.15 0.268-0.23s0.18-0.15 0.223-0.262c0.043-0.112 0.025-0.23-0.007-0.36s-0.177-0.28-0.255-0.422c-0.078-0.142 0.014-0.281 0.009-0.452-0.156-0.027-0.289-0.106-0.468-0.080s-0.385 0.227-0.569 0.23-0.287-0.169-0.437-0.217-0.303-0.042-0.454-0.063c0.192-0.183 0.935-0.271 1.444-0.354 0.447-0.073 0.891-0.115 1.345-0.121 0.202-0.003 0.463 0.064 0.603 0.023s0.111-0.136 0.152-0.241c0.117-0.292 0.059-0.552-0.004-0.846-0.407-0.048-0.831-0.106-1.241-0.075-0.401 0.031-0.876 0.221-1.289 0.234-0.359 0.011-0.892-0.069-1.201-0.257-0.377-0.23-0.669-0.724-0.773-0.882-0.169-0.258-0.382-0.765-0.511-0.997s-0.158-0.297-0.266-0.393c-0.108-0.097-0.255-0.104-0.383-0.156 0.147 0.015 0.308-0.032 0.441 0.045 0.201 0.115 0.426 0.593 0.551 0.8 0.132-0.444 0.101-0.618 0.485-0.868-0.309 0.346-0.316 0.608-0.392 1.015 0.257 0.421 0.613 1.092 1.081 1.278 0.169 0.067 0.458 0.11 0.641 0.132 0.567 0.070 1.115-0.11 1.672-0.247 0.408-0.101 0.821-0.060 1.316-0.031 0.168 0.010 0.565-0.091 0.647-0.262 0.044-0.092 0.041-0.202-0.023-0.3s-0.234-0.145-0.325-0.233c-0.091-0.088-0.143-0.192-0.215-0.289-0.378 0.073-0.69 0.1-0.971 0.108 0.202-0.083 0.395-0.13 0.605-0.212s0.448-0.217 0.617-0.328 0.277-0.177 0.4-0.307c0.122-0.13 0.279-0.264 0.37-0.423s0.104-0.337 0.109-0.534c0.005-0.197-0.004-0.473-0.079-0.631s-0.222-0.207-0.34-0.244-0.198 0.057-0.32 0.070c-0.122 0.013-0.236 0.090-0.413 0.007s-0.386-0.252-0.565-0.503c-0.179-0.251-0.306-0.662-0.488-0.978-0.314-0.544-0.705-1.053-1.079-1.557-0.031-0.124-0.077-0.296-0.092-0.465-0.027-0.294-0.032-0.6 0.059-0.886 0.070-0.22 0.172-0.452 0.402-0.542 0.092-0.036 0.208-0.050 0.291-0.020s0.163 0.123 0.131 0.231c-0.035 0.118-0.117 0.121-0.173 0.181-0.094 0.101-0.132 0.175-0.168 0.301 0.102-0.002 0.24-0.009 0.323 0.013 0.109 0.029 0.211 0.101 0.266 0.256-0.13-0.116-0.195-0.169-0.358-0.173-0.075-0.002-0.165 0.025-0.247 0.037-0.031 0.1-0.049 0.223-0.092 0.301s-0.128 0.059-0.16 0.15c-0.032 0.090-0.033 0.238-0.017 0.357zM20.165 13.825c0.050 0.020 0.069 0.024 0.132 0.072s0.15 0.096 0.201 0.211c0.050 0.115 0.048 0.293 0.037 0.365-0.044-0.013-0.104-0.004-0.149-0.043s-0.073-0.127-0.131-0.165c-0.058-0.038-0.107-0.030-0.172-0.038 0.033 0.094 0.049 0.189 0.034 0.274-0.034 0.187-0.143 0.281-0.321 0.304-0.078 0.010-0.201-0.016-0.268-0.028 0.031 0.070 0.084 0.131 0.116 0.201 0.15-0.022 0.262-0.019 0.342-0.056s0.167-0.122 0.271-0.158c0.104-0.036 0.196-0.035 0.31-0.053-0.090 0.077-0.148 0.154-0.237 0.231 0.065 0.19 0.131 0.381 0.196 0.571 0.139 0.087 0.269 0.133 0.444 0.24s0.385 0.299 0.613 0.404c0.228 0.105 0.363 0.162 0.602 0.207s0.427 0.238 0.662 0.269c0.234 0.031 0.672 0.038 0.852 0.020 0.205-0.020 0.471-0.126 0.495-0.35-0.172 0.042-0.434 0.004-0.567-0.319-0.059-0.144-0.030-0.408-0.12-0.577s-0.215-0.224-0.365-0.434c-0.15-0.209-0.395-0.539-0.533-0.819s-0.17-0.598-0.286-0.849-0.292-0.454-0.428-0.648c-0.297-0.423-0.537-0.712-1.026-0.925-0.235-0.103-0.503-0.13-0.755-0.195-0.102 0.046-0.243 0.097-0.268 0.216s0.023 0.297 0.11 0.387c0.145 0.15 0.361 0.313 0.446 0.552 0.054 0.153 0.070 0.668 0.023 0.807-0.049 0.145-0.163 0.232-0.257 0.329zM20.212 15.042c-0.046 0.039-0.080 0.079-0.153 0.112s-0.173 0.041-0.27 0.065c0.136 0.212 0.279 0.426 0.409 0.648s0.243 0.466 0.368 0.699c-0.006-0.134 0.002-0.276-0.017-0.401s-0.076-0.234-0.132-0.421c-0.056-0.187-0.125-0.442-0.204-0.703zM16.553 10.388c-0.019 0.208 0.016 0.534 0.059 0.738 0.052 0.244 0.101 0.371 0.299 0.518 0.363 0.269 0.594 0.224 0.873 0.38 0.133 0.074 0.301 0.199 0.35 0.33s-0.032 0.275-0.133 0.331c0.176 0.026 0.374-0.172 0.291-0.376-0.041-0.1-0.234-0.145-0.293-0.246s-0.059-0.205-0.031-0.308c0.050-0.185 0.417-0.354 0.546-0.5 0.199-0.225 0.276-0.414 0.163-0.704-0.158-0.408-0.771-0.735-1.137-0.895-0.168-0.073-0.262-0.078-0.393-0.118 0.268 0.157 0.55 0.282 0.686 0.633 0.113 0.293 0.015 0.404 0.019 0.659 0.002 0.118 0.158 0.178 0.227 0.252 0.060 0.065 0.055 0.113 0.007 0.203-0.005-0.081-0.040-0.141-0.102-0.185-0.103-0.073-0.213-0.057-0.268-0.206-0.083-0.227 0.082-0.441-0.103-0.696-0.138-0.19-0.322-0.404-0.571-0.409-0.117-0.003-0.206 0.015-0.331 0.052l-0.167-0.201-0.004-0.003c-0.34-0.311-0.573-0.567-1.051-0.78s-0.713-0.246-1.26-0.234c-0.547 0.012-1.091 0.058-1.725 0.605s-2.268 2.64-2.664 2.905c-0.396 0.265-0.484 0.355-0.979 0.355s-1.268-0.7-1.298-1.575c-0.030-0.875-0.043-1.186 0.566-2.241s1.711-1.378 2.529-1.488c0.818-0.109 1.309 0.179 1.915 0.18s1.203-0.103 1.379-0.584c-0.086 0.051-0.202 0.109-0.527 0.092s-0.776-0.393-1.283-0.646c-0.507-0.252-1.071-0.282-1.795-0.295s-1.627 0.042-2.522 0.525c-0.895 0.483-1.505 0.996-2.024 1.941s-0.596 1.717-0.513 2.862 0.437 1.996 1.116 2.834c0.68 0.838 1.359 1.248 2.584 1.4l0.258-1.137-0.46 0.661 0.011-0.735-0.416 0.517-0.183-0.701-0.337 0.562-0.168-0.782-0.489 0.395 0.155-0.646-0.647 0.072 0.297-0.449-0.59 0.007 0.343-0.599-0.523-0.083 0.417-0.545-0.641-0.19 0.531-0.508-0.524-0.427 0.41-0.319-0.383-0.51 0.409-0.476-0.153-0.628 0.347-0.303 0.103-0.718 0.389-0.196 0.335-0.561 0.619-0.066 0.306-0.504 0.622 0.032 0.588-0.319 0.61 0.142 0.692-0.209 0.513 0.12 0.669 0.098 0.646 0.517-0.991-0.346-0.499 0.239-0.412-0.252-0.284 0.193-0.502 0.050-0.45-0.029-0.328 0.401-0.669 0.007-0.239 0.54-0.595 0.209-0.056 0.62-0.427 0.334 0.142 0.584-0.369 0.606 0.283 0.53-0.278 0.485 0.37 0.241-0.084 0.78 0.515 0.13 0.116 0.579 0.561-0.058 0.348 0.397 0.431-0.421c0.785-0.391 1.108-0.61 1.72-1.272 0.697-0.753 1.096-1.45 2.024-1.966 0.665-0.37 1.208-0.503 1.956-0.374 0.702 0.121 0.937 0.542 1.454 0.986 0.055-0.099 0.066-0.125 0.156-0.198-0.028 0.129-0.073 0.262-0.085 0.386z\"},\"child\":[]}]})(props);\n};\nexport function DiGo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.43 3.426c-0.121 0.015-0.706 0.083-1.29 0.152-1.57 0.182-2.921 0.63-3.9 1.297-0.319 0.22-0.334 0.228-0.569 0.106-0.341-0.174-1.244-0.205-1.692-0.053-0.622 0.205-1.032 0.668-1.153 1.305-0.091 0.478 0.008 1.039 0.258 1.411 0.152 0.228 0.705 0.63 1.039 0.759 0.023 0.015-0.023 0.486-0.106 1.047-0.129 0.857-0.144 1.274-0.114 2.541 0.023 0.835 0.091 1.844 0.152 2.238 0.068 0.395 0.144 0.979 0.167 1.297l0.053 0.577-0.326 0.053c-0.516 0.076-1.305 0.501-1.388 0.736-0.099 0.281-0.008 0.546 0.288 0.865 0.303 0.319 0.485 0.311 0.994-0.030l0.303-0.205v3.49c0 3.467 0 3.505 0.175 3.922 0.228 0.569 0.698 1.282 1.153 1.775l0.379 0.395-0.379 0.243c-0.417 0.273-0.759 0.766-0.759 1.108 0 0.144 0.083 0.288 0.273 0.463 0.228 0.22 0.326 0.258 0.637 0.258 0.334 0 0.417-0.038 0.774-0.341 0.22-0.19 0.546-0.417 0.721-0.508l0.326-0.167 0.698 0.235c1.183 0.402 1.904 0.508 3.437 0.501 1.942-0.008 3.551-0.288 4.734-0.827 0.22-0.099 0.463-0.182 0.523-0.182 0.068 0 0.387 0.281 0.713 0.614 0.584 0.615 0.592 0.622 0.903 0.577 0.448-0.061 0.751-0.372 0.751-0.759 0-0.417-0.182-0.759-0.622-1.153l-0.372-0.334 0.356-0.478c0.675-0.918 1.062-1.927 1.328-3.46 0.152-0.918 0.182-2.671 0.084-4.628-0.030-0.508-0.046-0.926-0.046-0.926 0.008 0 0.167 0.083 0.341 0.19 0.44 0.25 0.706 0.243 0.948-0.015 0.22-0.235 0.281-0.432 0.243-0.789-0.030-0.326-0.326-0.531-1.024-0.721-0.281-0.068-0.531-0.144-0.554-0.167-0.023-0.015-0.061-1.381-0.091-3.035-0.053-3.095-0.053-3.141-0.417-4.704-0.023-0.099-0.008-0.167 0.053-0.167 0.19 0 0.766-0.478 0.941-0.781 0.372-0.622 0.326-1.419-0.114-2.026-0.455-0.63-1.441-0.85-2.375-0.539l-0.478 0.159-0.387-0.25c-0.539-0.364-1.449-0.728-2.253-0.903-0.66-0.144-2.777-0.25-3.338-0.167zM18.358 3.798c2.496 0.432 3.839 1.601 4.628 4.006 0.47 1.434 0.531 2.064 0.599 6.16 0.038 2.041 0.106 4.415 0.152 5.273s0.061 1.897 0.038 2.314c-0.099 1.51-0.432 2.906-0.918 3.831-0.326 0.622-0.956 1.411-1.184 1.479-0.099 0.030-0.311 0.182-0.478 0.341-0.872 0.827-2.762 1.335-5.235 1.419-1.51 0.046-2.397-0.061-3.573-0.433-0.66-0.212-0.789-0.288-1.092-0.599-0.379-0.402-0.728-0.615-1.017-0.615-0.379 0-1.396-1.32-1.715-2.215-0.228-0.645-0.266-2.261-0.152-5.94l0.099-3.217-0.182-1.426c-0.478-3.748-0.008-6.661 1.366-8.368 0.607-0.751 1.548-1.297 2.913-1.684 1.343-0.379 4.438-0.561 5.751-0.326zM23.593 4.905c0.956 0.486 1.001 1.995 0.084 2.58-0.19 0.121-0.364 0.22-0.387 0.22-0.030 0-0.121-0.212-0.212-0.463l-0.174-0.47 0.197-0.228c0.144-0.167 0.182-0.281 0.144-0.425-0.091-0.364-0.296-0.47-0.721-0.372-0.159 0.038-0.235-0.015-0.516-0.372-0.182-0.228-0.319-0.425-0.303-0.448 0.015-0.015 0.22-0.076 0.448-0.144 0.493-0.137 1.032-0.091 1.441 0.121zM9.239 5.133c0.212 0.046 0.402 0.114 0.425 0.144 0.023 0.038-0.106 0.258-0.281 0.486-0.311 0.402-0.341 0.417-0.599 0.379-0.235-0.038-0.296-0.015-0.432 0.159-0.212 0.273-0.212 0.432 0.015 0.69l0.175 0.212-0.144 0.44c-0.083 0.243-0.19 0.44-0.235 0.44-0.152 0-0.637-0.326-0.797-0.531-0.645-0.85-0.228-2.117 0.797-2.397 0.463-0.121 0.607-0.129 1.077-0.023zM24.678 16.225c0.523 0.197 0.774 0.47 0.698 0.766l-0.046 0.19-0.258-0.152c-0.152-0.091-0.281-0.121-0.303-0.076-0.030 0.038 0.015 0.091 0.099 0.121 0.243 0.076 0.349 0.243 0.235 0.379-0.152 0.182-0.478 0.137-0.857-0.121l-0.357-0.235v-0.523c0-0.493 0.008-0.523 0.174-0.516 0.091 0 0.372 0.076 0.614 0.167zM8.26 16.52c0 0.614-0.083 0.819-0.417 1.047-0.463 0.319-0.668 0.357-0.88 0.144-0.159-0.159-0.167-0.175-0.038-0.25 0.311-0.19 0.372-0.25 0.296-0.296-0.045-0.030-0.167 0.023-0.281 0.106-0.167 0.129-0.205 0.137-0.243 0.038-0.137-0.357 0.129-0.652 0.812-0.888 0.622-0.212 0.751-0.197 0.751 0.099zM22.425 27.195c0.402 0.296 0.751 0.971 0.652 1.267-0.106 0.319-0.197 0.288-0.402-0.144-0.106-0.212-0.228-0.402-0.273-0.41-0.046-0.015 0.015 0.174 0.144 0.425 0.121 0.25 0.197 0.485 0.167 0.531-0.023 0.046-0.159 0.083-0.303 0.083-0.212 0-0.319-0.076-0.721-0.531-0.25-0.288-0.531-0.546-0.614-0.569-0.228-0.076-0.175-0.22 0.197-0.561 0.425-0.387 0.713-0.41 1.153-0.091zM10.68 27.24c0.121 0.061 0.341 0.258 0.493 0.432l0.281 0.319-0.296 0.137c-0.159 0.076-0.493 0.311-0.743 0.523-0.508 0.432-0.698 0.501-1.017 0.372-0.197-0.083-0.212-0.106-0.144-0.288 0.046-0.114 0.167-0.319 0.273-0.455s0.175-0.273 0.152-0.296c-0.061-0.053-0.41 0.349-0.516 0.599-0.106 0.266-0.205 0.273-0.266 0.023-0.106-0.432 0.197-0.888 0.835-1.252 0.432-0.25 0.637-0.281 0.948-0.114zM18.176 4.746c-0.766 0.197-1.434 0.744-1.745 1.434-0.235 0.508-0.22 1.358 0.023 1.866 0.258 0.531 0.812 1.055 1.343 1.252 0.592 0.22 1.563 0.19 2.071-0.068 0.842-0.432 1.229-1.024 1.274-1.995 0.030-0.577 0.008-0.698-0.152-1.062-0.265-0.577-0.607-0.933-1.146-1.199-0.523-0.25-1.191-0.341-1.669-0.228zM19.663 5.034c1.282 0.569 1.768 2.147 1.032 3.315-0.698 1.1-2.496 1.305-3.52 0.402-0.88-0.774-1.032-1.95-0.379-2.906 0.622-0.91 1.859-1.259 2.868-0.812zM16.894 6.711c-0.614 0.546-0.015 1.517 0.804 1.29 0.303-0.083 0.576-0.432 0.576-0.736 0-0.69-0.85-1.032-1.381-0.554zM11.978 5.042c-0.607 0.19-1.206 0.69-1.502 1.252-0.175 0.326-0.205 0.485-0.205 1.032 0 0.531 0.030 0.713 0.182 1.017 0.721 1.464 2.67 1.836 3.877 0.751 0.584-0.523 0.797-0.979 0.797-1.73 0-0.516-0.030-0.675-0.212-1.039-0.417-0.85-1.259-1.358-2.238-1.343-0.281 0-0.592 0.030-0.698 0.061zM13.814 5.376c1.661 0.971 1.57 3.171-0.167 4.021-0.531 0.258-1.411 0.235-1.988-0.046-1.722-0.85-1.699-3.217 0.046-4.051 0.341-0.159 0.47-0.182 1.070-0.159 0.584 0.023 0.743 0.061 1.039 0.235zM11.181 6.696c-0.228 0.053-0.546 0.387-0.592 0.615-0.053 0.266 0.106 0.645 0.334 0.804 0.099 0.068 0.319 0.121 0.493 0.121 0.88 0 1.1-1.146 0.288-1.487-0.265-0.114-0.273-0.114-0.524-0.053zM15.452 8.759c-0.395 0.083-0.668 0.281-0.721 0.546-0.023 0.144-0.121 0.266-0.25 0.334-0.478 0.25-0.728 0.781-0.561 1.214 0.068 0.159 0.425 0.341 0.698 0.341h0.22l-0.068 0.395c-0.083 0.501-0.023 0.857 0.175 1.055s0.47 0.182 0.721-0.038l0.212-0.175 0.129 0.152c0.159 0.205 0.622 0.205 0.842 0 0.137-0.121 0.152-0.205 0.121-0.766l-0.030-0.622h0.235c0.865 0 0.85-1.13-0.023-1.555-0.212-0.099-0.319-0.197-0.319-0.303-0.008-0.22-0.167-0.402-0.478-0.531-0.296-0.121-0.455-0.129-0.903-0.046zM17.053 9.753c0.41 0.205 0.614 0.486 0.614 0.85 0 0.266-0.030 0.311-0.25 0.402-0.266 0.114-0.592 0.068-1.214-0.152-0.341-0.121-0.379-0.121-0.88 0.030-0.903 0.273-1.297 0.167-1.312-0.349-0.008-0.303 0.121-0.508 0.44-0.713 0.266-0.159 0.281-0.159 0.546-0.030 0.152 0.068 0.448 0.144 0.66 0.167 0.311 0.030 0.44 0 0.721-0.152 0.19-0.106 0.349-0.197 0.364-0.197 0.008-0.008 0.152 0.061 0.311 0.144zM15.801 11.589c-0.061 0.804-0.114 0.948-0.372 1.017-0.455 0.114-0.622-0.197-0.524-0.933l0.068-0.516 0.379-0.129c0.212-0.068 0.402-0.129 0.432-0.137 0.030 0 0.038 0.319 0.015 0.698zM16.386 11.050c0.379 0.129 0.448 0.258 0.448 0.842 0 0.455-0.023 0.523-0.182 0.63-0.258 0.167-0.569 0.076-0.622-0.182-0.023-0.106-0.061-0.25-0.076-0.311-0.053-0.152 0.053-1.062 0.121-1.062 0.030 0 0.167 0.038 0.311 0.083z\"},\"child\":[]}]})(props);\n};\nexport function DiGoogleAnalytics (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M27.028 25.367c0 1.071-0.876 1.947-1.947 1.947h-18.163c-1.071 0-1.947-0.876-1.947-1.947v-18.163c0-1.071 0.876-1.947 1.947-1.947h18.163c1.071 0 1.947 0.876 1.947 1.947v18.163zM27.028 12.187l-1.992-1.342c0.040-0.172 0.064-0.351 0.064-0.536 0-1.294-1.049-2.344-2.344-2.344s-2.344 1.049-2.344 2.344c0 0.509 0.164 0.979 0.44 1.364l-4.307 6.586c-0.175-0.042-0.358-0.067-0.546-0.067-0.577 0-1.104 0.209-1.513 0.555l-2.883-1.659c0.015-0.106 0.025-0.213 0.025-0.323 0-1.294-1.049-2.344-2.344-2.344s-2.344 1.049-2.344 2.344c0 0.321 0.065 0.627 0.182 0.906l-2.153 1.997v2.125l3.198-2.967c0.332 0.18 0.712 0.282 1.116 0.282 0.62 0 1.182-0.242 1.601-0.636l2.813 1.619c-0.028 0.144-0.043 0.292-0.043 0.444 0 1.294 1.049 2.343 2.344 2.343s2.344-1.049 2.344-2.343c0-0.539-0.184-1.034-0.49-1.43l4.277-6.54c0.2 0.055 0.409 0.087 0.626 0.087 0.543 0 1.041-0.186 1.439-0.496l2.833 1.909v-1.878z\"},\"child\":[]}]})(props);\n};\nexport function DiGoogleDrive (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.649 20.427h-0.126l-0.061 0.109-3.245 5.675h14.773l0.061-0.109 3.246-5.674h-0.373zM20.573 19.075l0.062 0.108h0.126l6.536-0.028-0.187-0.322-7.199-12.471-0.126 0-6.537 0.027 0.187 0.322zM15.445 12.789l-0.063-0.109-3.292-5.646-0.186 0.322-7.201 12.47 0.064 0.109 3.292 5.648 0.186-0.323 7.138-12.363z\"},\"child\":[]}]})(props);\n};\nexport function DiGoogleCloudPlatform (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 34 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M29.308 14.846c-0.621-1.089-1.25-2.173-1.879-3.257-0.378-0.651-0.743-1.309-1.136-1.951-0.014-0.030-0.025-0.060-0.041-0.089-0.708-1.228-1.415-2.458-2.127-3.684-0.451-0.777-1.136-1.172-2.032-1.173-3.46-0.005-6.92-0.002-10.38-0.001-0.111 0-0.224 0.005-0.333 0.022-0.726 0.117-1.284 0.488-1.654 1.126-0.806 1.391-1.608 2.785-2.412 4.177-0.172 0.298-0.34 0.597-0.51 0.895 0 0 0 0 0 0-0.045 0.065-0.089 0.13-0.112 0.208-0.044 0.021-0.058 0.066-0.080 0.104-0.084 0.145-0.165 0.292-0.249 0.438-0.233 0.402-0.467 0.803-0.7 1.205-0.212 0.366-0.426 0.731-0.634 1.099-0.21 0.371-0.445 0.727-0.626 1.113-0.177 0.378-0.23 0.778-0.182 1.195 0.033 0.284 0.114 0.553 0.248 0.8 0.229 0.419 0.478 0.826 0.716 1.239 0.229 0.397 0.455 0.796 0.684 1.192 0.255 0.441 0.514 0.88 0.769 1.321 0.212 0.366 0.418 0.735 0.629 1.101 0.255 0.441 0.515 0.88 0.769 1.321 0.237 0.41 0.468 0.824 0.705 1.235 0.284 0.492 0.575 0.979 0.854 1.473 0.196 0.347 0.41 0.676 0.74 0.913 0.368 0.264 0.774 0.437 1.23 0.438 1.927 0.006 3.855 0.003 5.782 0.003 0.144 0 0.289-0.004 0.433-0.006 0.029 0.002 0.059 0.007 0.088 0.007 1.435 0 2.869-0 4.304 0.001 0.115 0 0.23-0.006 0.343-0.027 0.7-0.132 1.237-0.501 1.593-1.119 1.736-3.004 3.472-6.006 5.202-9.013 0.439-0.763 0.431-1.542-0.004-2.306zM6.478 16.572c-0.306 0.012-0.584-0.259-0.582-0.573 0.002-0.289 0.26-0.584 0.57-0.552 0.283-0.031 0.547 0.257 0.562 0.518 0.020 0.348-0.277 0.595-0.55 0.606zM22.146 6.385c0.31 0.001 0.562 0.254 0.562 0.564 0 0.316-0.25 0.569-0.566 0.571-0.307 0.002-0.56-0.252-0.561-0.565-0.001-0.318 0.25-0.571 0.565-0.57zM11.7 6.385c0.307 0.003 0.564 0.263 0.56 0.569-0.003 0.309-0.257 0.563-0.565 0.565-0.311 0.002-0.572-0.26-0.57-0.57 0.002-0.313 0.261-0.567 0.575-0.564zM11.684 25.627c-0.305 0.004-0.542-0.233-0.562-0.55-0.017-0.281 0.212-0.595 0.571-0.588 0.325 0.006 0.59 0.305 0.551 0.567 0.021 0.328-0.261 0.568-0.561 0.572zM22.138 25.618c-0.313-0.002-0.559-0.249-0.558-0.564 0-0.319 0.249-0.565 0.569-0.564 0.315 0.001 0.562 0.254 0.559 0.574-0.002 0.31-0.255 0.555-0.57 0.553zM24.651 16.156c-0.211 0.344-0.407 0.697-0.609 1.047-0.582 1.010-1.165 2.018-1.747 3.027-0.448 0.776-0.896 1.552-1.343 2.328-0.044 0.076-0.106 0.146-0.117 0.238-0.003-0.005-0.008-0.010-0.015-0.015-0.057-0.019-0.117-0.012-0.176-0.012-2.473-0-4.945-0-7.418-0-0.036 0-0.072-0.002-0.108 0-0.079 0.006-0.127-0.031-0.166-0.098-0.318-0.552-0.637-1.103-0.955-1.655-0.539-0.936-1.080-1.871-1.62-2.806-0.425-0.737-0.851-1.472-1.275-2.21-0.001-0.002-0.003-0.005-0.004-0.007 0.024-0.015 0.034-0.042 0.047-0.065 0.361-0.614 0.711-1.233 1.069-1.848 0.021-0.037 0.050-0.073 0.040-0.121 0.009-0.001 0.018-0.004 0.028-0.010 0.035-0.031 0.055-0.073 0.078-0.112 0.853-1.482 1.71-2.961 2.561-4.444 0.064-0.111 0.136-0.146 0.258-0.145 0.735 0.005 1.47 0.002 2.206 0.002 1.766 0 3.532 0 5.297-0.001 0.056 0 0.114 0.012 0.166-0.021-0.006 0.014-0.003 0.032 0.005 0.051 0.016 0.036 0.036 0.070 0.055 0.104 0.641 1.111 1.284 2.222 1.925 3.334 0.605 1.049 1.21 2.098 1.82 3.145 0.066 0.112 0.058 0.192-0.005 0.295zM27.364 16.57c-0.311-0.003-0.558-0.254-0.559-0.567-0-0.317 0.252-0.567 0.569-0.564 0.314 0.003 0.559 0.251 0.558 0.565-0 0.317-0.253 0.569-0.569 0.566z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.924 12.603c-1.868-0.006-3.424 1.539-3.401 3.403-0.018 1.859 1.507 3.4 3.385 3.399 1.903-0.001 3.406-1.502 3.412-3.398 0.007-1.908-1.553-3.398-3.396-3.404z\"},\"child\":[]}]})(props);\n};\nexport function DiGrails (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 34 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.922 2.029c-7.716 0-13.971 6.255-13.971 13.971s6.255 13.971 13.971 13.971c7.716 0 13.971-6.255 13.971-13.971s-6.255-13.971-13.971-13.971zM13.224 17.246c-0.178 0.106-0.35 0.178-0.568 0.238-0.172 0.047-0.344 0.106-0.382 0.13-0.107 0.068-0.289 0.377-0.391 0.66-0.127 0.354-0.172 0.721-0.131 1.061 0.038 0.314 0.168 0.915 0.252 1.172 0.070 0.213 0.387 0.889 0.543 1.158 0.13 0.224 0.136 0.299 0.030 0.426-0.17 0.204-0.53 0.356-1.030 0.435-0.43 0.068-0.788 0.079-1.134 0.035-0.639-0.082-1.090-0.234-1.243-0.418-0.141-0.169-0.136-0.193 0.193-0.857 0.321-0.649 0.408-0.879 0.535-1.414 0.066-0.279 0.079-0.4 0.079-0.755-0.001-0.497-0.046-0.706-0.222-1.034-0.219-0.41-0.313-0.484-0.79-0.617-0.574-0.161-1.346-0.682-2.049-1.383-0.353-0.353-0.701-0.895-0.918-1.432-0.18-0.446-0.341-1.379-0.248-1.439 0.024-0.015 0.807-0.024 1.594-0.026s1.579 0.004 1.618 0.019c0.028 0.011 0.077 0.081 0.109 0.158 0.114 0.268 0.827 1.233 1.161 1.569 0.644 0.649 1.003 0.929 1.793 1.405 0.397 0.239 0.823 0.432 1.287 0.584 0.242 0.079 0.227 0.136-0.091 0.325zM18.266 19.632c0.002 0.639 0.009 0.721 0.080 1.026 0.080 0.342 0.401 1.328 0.546 1.675 0.147 0.353 0.633 1.369 0.744 1.555 0.131 0.219 0.135 0.294 0.023 0.472-0.231 0.367-1.026 0.654-2.126 0.765-0.539 0.055-0.84 0.054-1.343-0.002-0.515-0.057-0.838-0.122-1.186-0.238-0.164-0.055-0.334-0.108-0.377-0.118-0.127-0.031-0.43-0.251-0.515-0.374-0.157-0.229-0.162-0.213 0.329-1.205 0.446-0.902 0.499-1.033 0.723-1.791 0.189-0.64 0.244-0.886 0.278-1.263 0.043-0.474 0.018-1.226-0.049-1.514-0.116-0.492-0.405-1.018-0.778-1.415-0.253-0.27-0.493-0.436-0.793-0.548-0.851-0.32-1.748-0.824-2.393-1.348-0.333-0.27-0.967-0.893-1.217-1.196-0.674-0.816-1.265-1.984-1.475-2.914-0.107-0.473-0.185-1.038-0.173-1.249l0.008-0.159v0.001h16.568l0.010 0.136c0.025 0.344-0.182 1.371-0.374 1.855-0.059 0.149-0.145 0.384-0.191 0.522s-0.109 0.288-0.14 0.333c-0.031 0.045-0.115 0.192-0.186 0.324-0.585 1.092-1.713 2.248-2.903 2.974-0.404 0.247-1.073 0.571-1.433 0.694-0.156 0.053-0.324 0.133-0.374 0.176-0.247 0.217-0.587 0.583-0.704 0.758-0.072 0.108-0.146 0.206-0.166 0.218-0.064 0.040-0.304 0.635-0.362 0.899-0.046 0.211-0.056 0.38-0.054 0.951zM26.404 16.568c-0.493 0.432-0.947 0.692-1.574 0.905-0.391 0.132-0.406 0.141-0.511 0.282-0.159 0.213-0.353 0.615-0.387 0.802-0.051 0.279-0.036 0.824 0.032 1.161 0.135 0.673 0.285 1.093 0.626 1.758 0.21 0.41 0.217 0.428 0.182 0.533-0.079 0.242-0.524 0.448-1.154 0.534-0.75 0.103-1.525 0.016-2.012-0.226-0.209-0.104-0.395-0.288-0.395-0.391 0-0.020 0.135-0.303 0.299-0.629 0.43-0.856 0.63-1.556 0.636-2.224 0.003-0.378-0.048-0.6-0.221-0.972-0.184-0.392-0.306-0.485-0.868-0.658-0.178-0.055-0.291-0.111-0.644-0.32-0.201-0.119-0.171-0.153 0.291-0.311 0.536-0.184 1.214-0.563 1.851-1.037 0.339-0.252 1.16-1.058 1.437-1.411 0.242-0.307 0.532-0.741 0.641-0.957 0.043-0.087 0.105-0.171 0.136-0.189 0.039-0.021 1.287-0.034 2.238-0.032 0.57 0.002 1.034 0.006 1.066 0.019 0.037 0.014 0.047 0.066 0.047 0.245 0 0.294-0.225 1.175-0.364 1.424-0.462 0.829-0.69 1.115-1.351 1.693z\"},\"child\":[]}]})(props);\n};\nexport function DiGroovy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.997 10.084c0 0-1.742 2.887-2.57 4.29-0.16 0.060-0.177 0.043-0.353 0.215-0.424-0.486-0.929-0.043-1.065 0.229-0.059-0.587-0.157-0.588-0.288-0.72 0.076-0.514 0.327-1.351-0.25-1.952-1.117-0.753-2.409 1.088-3.129 2.053l-0.388 0.644c-1.601-0.033-2.862 0.009-4.382-0.022 1.854 0.695 1.93 0.711 4.17 1.561 0 0.068 0.167 0.385 0.352 0.571 0.153 0.155 0.32 0.242 0.403 0.294-0.11 0.056-0.332 0.144-0.398 0.267-0.303 0.565 0.143 0.696 0.432 1.146 0.326 0.589 0.396 0.979 1.166 0.648 0.264-0.113 0.582-0.154 0.785-0.217-0.717 1.132-0.902 1.441-2.158 3.391l0.013 0.004c5.023-1.961 5.152-2.011 7.636-2.993 3.571 1.386 3.776 1.5 7.698 2.994-0.548-0.855-0.922-1.391-1.32-2.067 0.157-0.013 0.5-0.047 0.806-0.241 0.22-0.14 0.479-0.298 0.712-0.595 0.459-0.584 0.571-1.322 0.403-2.243-0.080-0.438-0.243-0.864-0.22-0.879 2.135-0.806 2.386-0.894 4.377-1.645-2.393 0.035-2.508 0.012-4.755 0.017-0.037-0.428-0.252-0.649-0.913-0.628-0.247 0.041-0.403 0.125-0.519 0.462-0.369-0.681-0.88-0.481-1.096-0.146-0.285-0.292-0.951-0.39-1.285-0.176-0.246-0.115-0.533-0.116-0.784 0.184-0.182-0.152-0.238-0.195-0.636-0.354-0.917-1.551-1.68-2.788-2.443-4.092zM16.009 10.915c0.362 0.553 1.607 2.703 1.915 3.184-0.349 0.024-0.692 0.209-0.951 0.582-0.224-0.231-0.486-0.461-0.95-0.479-0.563-0.097-0.863 0.153-1.242 0.587-0.113-0.377-0.549-0.466-0.928-0.289 0.338-0.538 1.938-3.234 2.156-3.585zM11.286 13.311c-0.052 1.485-1.106 2.808-1.862 2.325-0.571-0.465 0.154-1.64 0.611-2.055-0.034 0.317 0.254 0.515 0.024 0.796-0.462 0.563-0.28 0.97-0.081 1.033 0.531 0.168 1.040-1.271 1.040-2.28 0-0.647-0.379-0.635-1.124 0.141-1.018 1.059-1.568 2.085-1.201 2.787 0.204 0.392 0.502 0.673 0.993 0.615 0.958-0.115 1.536-1.299 1.599-2.059 0.153-0.004 0.112 0.009 0.153-0.022 0 0.134 0.184 0.782 0.329 1.208 0.19 0.727 0.999 2.185-1.418 2.753-0.457 0.116-0.637 0.154-1.088 0.331-0.221-0.458-0.273-0.606-0.722-1.048 0.609-0.213 0.614-0.192 1.007-0.329 1.52-0.529 1.976-0.98 1.924-1.626 0 0 0.019-0.332-0.192-0.61-0.106 0.371-0.303 0.668-0.303 0.668-0.452 0.704-1.342 1.14-2.132 0.863-0.432-0.152-0.618-0.483-0.618-1.052 0-0.727 1.659-2.833 2.472-3.19 0.575-0.171 0.6 0.303 0.592 0.75zM18.020 14.658c0.269 0.005 0.563 0.137 0.762 0.351 0.615 0.664 0.548 1.468 0.169 1.973-0.451 0.602-1.587 0.335-1.855-0.506-0.125-0.391 0.098-1.358 0.492-1.682 0.119-0.098 0.271-0.14 0.433-0.137zM15.832 14.726c0.040 0.001 0.080 0.007 0.121 0.018 0.52 0.031 0.631 0.323 0.726 0.58 0.239 0.647 0.179 1.254-0.312 1.751-0.736 0.744-1.594 0.415-1.591-0.588 0.015-0.714 0.46-1.776 1.056-1.761zM17.767 14.765c-0.397 0.297-0.448 1.059-0.084 1.342 0.143 0.134 0.223 0.227 0.635 0.265 0.283 0.026 0.729-0.261 0.751-0.546 0.010-0.129-0.013-0.344-0.324-0.694-0.26-0.293-0.599-0.361-0.684-0.311-0.274 0.162 0.022 0.291 0.129 0.398 0.168 0.168 0.209 0.241 0.13 0.291-0.156 0.099-0.329 0.085-0.386 0.059-0.108-0.050-0.472-0.255-0.168-0.804v0zM21.66 14.768c0.173 0.27 0.223 0.328 0.416 0.999 0.25 0.868 0.566 1.205 0.846 1.047 0.767-0.433 0.152-1.53-0.118-2.045 0.173-0.002 0.139 0.007 0.296 0.005 0.124 0.488 0.090 0.401 0.422 1.878 0.398 1.767 0.458 2.237-0.547 3.030-0.462 0.364-1.142 0.384-1.726 0.351l-0.659-0.097c0.454-0.298 0.564-0.577 0.561-1.157 1.324 0.555 2.029 0.137 2.311-0.544 0.136-0.328 0.089-0.761-0.042-1.524 0.008 0.621-0.005 0.736-0.087 1.043-0.165 0.616-0.567 0.788-0.841 0.352-0.105-0.168-0.357-0.726-0.435-1.327s-0.137-1.445-0.519-1.798c0.042-0.083 0.085-0.177 0.122-0.213v0zM20.369 14.778c0.267 0.071 0.592 0.212 0.767 0.539 0.241 0.452 0.401 0.692 0.388 1.499-0.014 0.861-0.353 1.092-0.576 1.124-0.289 0.042-0.789 0.035-1.086-1.655-0.099-0.56-0.278-1.093-0.467-1.268 0.094-0.113 0.101-0.099 0.171-0.211 0.095 0.104 0.177 0.279 0.308 0.805 0.21 0.837 0.401 1.010 0.772 1.057 0.579 0.074 0.806-0.809 0.33-1.442-0.105-0.139-0.378-0.318-0.522-0.244 0.008 0.244 0.117 0.167 0.119 0.329-0.027 0.192-0.055 0.226-0.117 0.332-0.147-0.058-0.218-0.081-0.347-0.302-0.162-0.321-0.057-0.622 0.26-0.564v0zM15.607 14.857c-0.272 0.192-0.615 0.828-0.315 1.398 0.148 0.212 0.307 0.385 0.661 0.311 0.253-0.053 0.695-0.352 0.756-0.776 0.053-0.363-0.473-1.065-0.765-0.901-0.339 0.189-0.132 0.325 0.077 0.529 0.191 0.187 0.054 0.299-0.080 0.354-0.268 0.11-0.417 0.003-0.484-0.21s-0.009-0.394 0.149-0.705v0zM12.638 14.924c0.058 0.178 0.105 0.415 0.226 0.646 0.029 0.024 0.136 0.001 0.278-0.162 0.089-0.103 0.191-0.246 0.369-0.479 0.108 0.099 0.118 0.172 0.148 0.226 0.075 0.134 0.233 0.124 0.282 0.11 0.174-0.172 0.202-0.284 0.318-0.299 0.011 0.223 0.021 0.362-0.267 0.7-0.169 0.198-0.428 0.203-0.518 0.178-0.125-0.035-0.206-0.112-0.402-0.212-0.267 0.041-0.197 0.326-0.149 0.566 0.125 0.633 0.519 0.885 0.862 0.699 0.12-0.065 0.092-0.064 0.323-0.158-0.039 0.401-0.062 0.479 0.010 0.928-0.56 0.312-1.016 0.258-1.141-0.524-0.094-0.655-0.27-1.451-0.43-1.612-0.151-0.152-0.212-0.202-0.212-0.202s0.189-0.25 0.303-0.404zM5.27 15.008c0.78 0.010 1.659 0.010 2.595 0.018-0.134 0.329-0.181 0.559-0.2 0.884-0.437-0.169-1.943-0.708-2.395-0.902zM26.733 15.018c-1.033 0.372-1.776 0.66-2.772 1.040-0.109-0.467-0.129-0.609-0.226-1.030 1.658-0.005 1.686-0.002 2.999-0.010v0zM19.506 17.132c0.108 0.445 0.261 0.663 0.261 0.663 0.209 0.36 0.471 0.564 0.87 0.667 0.088 0.141 0.119 0.169 0.154 0.245 0.038 0.474 0.011 0.532-0.357 0.802-0.216 0.211-0.225 0.514-0.002 0.796 0.239 0.227 0.491 0.309 1.424 0.067 0.18 0.31 0.432 0.676 0.803 1.26-1.249-0.47-2.97-1.142-6.66-2.578 0 0-4.317 1.676-6.632 2.579 0.968-1.527 1.048-1.656 1.736-2.725 0.233-0.091 0.155-0.053 0.362-0.16 0.476-0.253 0.857-0.631 1.065-1.186 0.381 0.859 0.807 0.958 1.695 0.679 0.183-0.084 0.394-0.208 0.439-0.537 0.476 0.428 1.483 0.508 2.218-0.395 0.634 0.742 2.073 0.812 2.624-0.178v0zM21.74 18.027c0 0 0.042 0.134 0.067 0.175-0.105 0.003-0.221 0.001-0.221 0.001 0.053-0.043 0.095-0.096 0.154-0.176v0z\"},\"child\":[]}]})(props);\n};\nexport function DiGrunt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.997 12.861v0.001c0.001 0 0.002-0 0.004-0s0.002 0 0.004 0v-0.001c0.639-0.007 1.365-0.893 1.365-0.893-0.499 0.302-0.944 0.406-1.369 0.416-0.425-0.009-0.87-0.114-1.369-0.416-0 0 0.726 0.886 1.365 0.893zM14.391 24.431h-0.321c-0.335 0-0.726 0-0.959 0l-0.195 0c-0.274 0-0.41 0.078-0.475 0.144-0.095 0.096-0.109 0.229-0.044 0.395 0.174 0.445 0.57 0.809 0.687 0.91 0.153 0.132 0.373 0.211 0.589 0.211 0.222 0 0.418-0.080 0.553-0.224 0.377-0.403 0.599-0.836 0.653-0.969 0.031-0.076 0.066-0.221-0.044-0.334-0.086-0.088-0.236-0.133-0.444-0.133zM9.447 12.943c-0.057 0.503 0.262 0.96 0.262 0.96 0.033-0.374 0.111-0.64 0.202-0.83 0.022 0.516 0.159 1.179 0.64 1.711 0.345 0.382 1.784 1.171 2.75 0.306 0.050 0.122 0.104 0.267 0.148 0.424 0.146 0.514-0.133 1.266-0.133 1.266s0.755-0.855 0.696-1.63c0.542-0.024 1.074-0.422 1.059-0.978 0 0-0.945 0.522-1.78-0.439-0.487-0.561-2.049-2.106-4.168-1.593 0.218 0.048 0.446 0.119 0.679 0.207-0.002 0.001-0.004 0.001-0.006 0.002-0.205 0.090-0.32 0.345-0.349 0.593zM10.869 12.852c0.979 0.55 1.877 1.287 2.251 1.856h-0c0 0 0.001 0.001 0.001 0.002-0.288 0.167-1.087 0.523-1.903-0.083-0.521-0.388-0.498-1.32-0.349-1.774zM19.085 24.432l-0.195-0c-0.233-0-0.624-0-0.959-0h-0.321c-0.209 0-0.358 0.045-0.444 0.133-0.11 0.114-0.075 0.258-0.045 0.334 0.054 0.133 0.277 0.567 0.653 0.969 0.135 0.144 0.331 0.224 0.553 0.224 0.216 0 0.436-0.078 0.589-0.211 0.117-0.101 0.513-0.464 0.687-0.91 0.065-0.166 0.050-0.3-0.044-0.395-0.065-0.066-0.2-0.144-0.474-0.144zM17.989 15.15c-0.058 0.775 0.696 1.63 0.696 1.63s-0.279-0.752-0.133-1.266c0.045-0.157 0.098-0.302 0.148-0.424 0.966 0.865 2.405 0.076 2.75-0.306 0.481-0.532 0.619-1.196 0.64-1.712 0.091 0.19 0.169 0.456 0.202 0.83 0 0 0.319-0.457 0.262-0.96-0.028-0.248-0.143-0.503-0.348-0.593-0.002-0.001-0.004-0.001-0.006-0.002 0.233-0.088 0.461-0.159 0.679-0.207-2.118-0.514-3.68 1.032-4.168 1.593-0.835 0.96-1.78 0.439-1.78 0.439-0.015 0.556 0.517 0.955 1.059 0.978zM18.88 14.709c0-0 0-0 0-0 0.374-0.569 1.273-1.306 2.251-1.856 0.149 0.455 0.172 1.387-0.349 1.774-0.816 0.606-1.616 0.25-1.903 0.083 0-0 0.001-0.001 0.001-0.001zM23.883 19.358c-0.12 0.896-0.653 1.697-1.232 2.193-0.154-1.139-0.186-2.783-0.186-3.128 0-0.737 0.476-1.229 0.611-1.307 0.127-0.074 0.269-0.149 0.417-0.229 0.902-0.483 2.026-1.084 2.026-2.193 0-0.81-0.466-1.162-0.774-1.394-0.039-0.029-0.075-0.057-0.108-0.083-0.104-0.084-0.187-0.151-0.217-0.218-0.218-0.491-0.178-1.717-0.084-1.886 0.028-0.032 0.839-1.049 0.59-1.963-0.102-0.373-0.346-0.667-0.707-0.852-0.266-0.136-0.595-0.212-0.979-0.226-0.005-0.099-0.025-0.197-0.046-0.294-0.028-0.131-0.058-0.266-0.046-0.404 0.020-0.233 0.038-0.453 0.108-0.564 0.424-0.668 1.446-0.882 1.456-0.884l0.615-0.12-0.407-0.476c-0.007-0.009-0.866-0.876-2.321-0.876-0.397 0-0.803 0.066-1.207 0.196-1.215 0.392-2.149 1.529-2.474 1.968-0.157-0.049-0.318-0.094-0.48-0.134-0.21-0.792 0.449-1.929 0.449-1.929s-0.679-0.151-1.687 0.764c-0.131-0.326-0.405-1.028-0.088-1.867-1.477 0.522-1.85 1.318-1.961 2.040-0.38-0.272-0.338-1.156-0.359-1.383-0.378 0.045-1.462 1.097-1.413 2.422-0.099 0.027-0.197 0.055-0.294 0.086-0.325-0.44-1.259-1.577-2.474-1.969-0.404-0.131-0.81-0.197-1.207-0.197-1.454 0-2.313 0.867-2.321 0.876l-0.407 0.476 0.615 0.12c0.010 0.002 1.033 0.216 1.456 0.884 0.070 0.111 0.089 0.331 0.108 0.564 0.012 0.139-0.018 0.274-0.046 0.404-0.021 0.097-0.042 0.195-0.047 0.295-0.384 0.014-0.713 0.090-0.979 0.226-0.361 0.185-0.606 0.479-0.707 0.852-0.249 0.913 0.562 1.93 0.59 1.963 0.095 0.169 0.135 1.395-0.084 1.886-0.030 0.068-0.112 0.134-0.217 0.218-0.033 0.026-0.069 0.054-0.108 0.083-0.308 0.233-0.774 0.584-0.774 1.394 0 1.108 1.123 1.709 2.026 2.193 0.148 0.080 0.289 0.155 0.417 0.229 0.135 0.078 0.611 0.57 0.611 1.307 0 0.345-0.032 1.989-0.186 3.128-0.579-0.496-1.113-1.297-1.233-2.193 0 0-1.465 1.131-1.035 3.551 0.391 2.198 2.183 2.963 4.263 3.125 0.697 1.625 1.803 3.083 4.651 3.085v0c0.001 0 0.002-0 0.004-0s0.002 0 0.004 0v-0c2.848-0.002 3.954-1.461 4.651-3.085 2.080-0.161 3.871-0.926 4.263-3.125 0.431-2.42-1.035-3.551-1.035-3.551zM21.701 5.342c0.283-0.091 0.58-0.138 0.885-0.138 0.552 0 1 0.15 1.238 0.251-0.154 0.069-0.321 0.158-0.486 0.267-0.121-0.021-0.278-0.039-0.461-0.039-0.527 0-1.025 0.155-1.441 0.447-0.618 0.434-0.904 0.848-1.035 1.121-0.11-0.063-0.227-0.126-0.354-0.188-0.078-0.038-0.158-0.075-0.238-0.111 0.308-0.45 0.998-1.323 1.892-1.611zM22.752 6.256c-0.040 0.052-0.079 0.105-0.114 0.162-0.166 0.262-0.193 0.583-0.219 0.893-0.027 0.322-0.054 0.628-0.219 0.85-0.209 0.039-0.405 0.087-0.575 0.134-0.113-0.157-0.282-0.351-0.527-0.559 0.072-0.241 0.277-0.809 0.679-1.129 0.275-0.219 0.604-0.336 0.976-0.351zM8.663 5.723c-0.165-0.11-0.332-0.198-0.486-0.268 0.238-0.101 0.686-0.251 1.238-0.251 0.305 0 0.603 0.046 0.886 0.137 0.894 0.288 1.584 1.161 1.892 1.612-0.080 0.036-0.16 0.073-0.239 0.111-0.126 0.062-0.244 0.124-0.354 0.187-0.132-0.273-0.418-0.687-1.035-1.121-0.416-0.292-0.915-0.447-1.441-0.447-0.182 0-0.34 0.018-0.46 0.039zM10.903 7.736c-0.245 0.208-0.413 0.402-0.527 0.56-0.171-0.047-0.366-0.095-0.575-0.134l-0.553-1.905c0.372 0.015 0.701 0.132 0.976 0.351l0.679 1.129zM9.29 16.483c-0.136-0.078-0.278-0.155-0.422-0.233-0.745-0.402-1.515-0.819-1.515-1.529 0-0.556 0.216-0.73 0.445-0.914l0.14-0.159c-0.048 0.383-0.1 0.714-0.141 0.796 0 0 0.608-0.754 0.789-2.223 0.071-0.578-0.055-1.719-0.256-2.158 0.008 0.244 0.001 0.489-0.016 0.72-0.020-0.041-0.041-0.078-0.065-0.108-0.161-0.201-0.593-0.878-0.469-1.333 0.047-0.174 0.157-0.302 0.335-0.393 0.188-0.097 0.443-0.145 0.756-0.145 0.615 0 1.298 0.187 1.65 0.299 1.258 0.399 2.776 1.548 3.211 1.891 0.012 0.010 0.020 0.015 0.021 0.016l0.278 0.194-0.174-0.291c-0.010-0.017-0.958-1.573-2.665-2.331 0.101-0.145 0.368-0.408 1.082-0.755 1.075-0.524 2.329-0.79 3.726-0.79s2.651 0.266 3.726 0.79c0.713 0.348 0.981 0.611 1.082 0.756-1.707 0.758-2.654 2.314-2.664 2.331l-0.174 0.291 0.279-0.194c0.001-0.001 0.009-0.007 0.021-0.016 0.435-0.343 1.953-1.492 3.211-1.891 0.352-0.111 1.035-0.299 1.65-0.299 0.314 0 0.568 0.049 0.756 0.145 0.178 0.091 0.287 0.22 0.335 0.393 0.124 0.455-0.308 1.132-0.469 1.333-0.024 0.030-0.045 0.067-0.065 0.108-0.017-0.232-0.025-0.476-0.016-0.721-0.201 0.439-0.327 1.579-0.256 2.158 0.18 1.468 0.788 2.223 0.788 2.223-0.039-0.079-0.088-0.386-0.135-0.748 0.037 0.032 0.074 0.062 0.11 0.091l0.025 0.020c0.229 0.184 0.445 0.358 0.445 0.914 0 0.711-0.77 1.127-1.515 1.529-0.144 0.078-0.286 0.155-0.422 0.233-0.435 0.251-0.903 0.838-0.956 1.714-0.044 0.733 0.044 2.502 0.171 3.803-0.624 0.241-1.339 0.321-1.99 0.34-0.102-0.207-0.197-0.428-0.275-0.659-0.034-0.098-0.982-2.56-1.323-3.12 0.274 1.955 0.878 3.693 1.178 4.492-0.173-0.024-0.367-0.037-0.587-0.037 0 0-2.082-0.001-2.926-0.002-0.001 0-0.003 0-0.004 0 0 0-0.003 0-0.004 0-0.843 0.001-2.926 0.002-2.926 0.002-0.22 0-0.414 0.014-0.587 0.037 0.3-0.799 0.905-2.537 1.178-4.492-0.341 0.561-1.289 3.022-1.323 3.12-0.079 0.23-0.174 0.452-0.275 0.659-0.65-0.019-1.365-0.098-1.989-0.34 0.127-1.301 0.215-3.069 0.171-3.803-0.052-0.876-0.521-1.463-0.956-1.714zM11.309 23.555c-0.026 0.025-0.050 0.049-0.072 0.073-0.362 0.391-0.431 0.929-0.205 1.598-1.131-0.018-2.313-0.502-2.914-1.49-0.609-1.001-0.438-2.711-0.188-2.961 0.547 1.726 2.367 2.219 3.729 2.278-0.134 0.21-0.259 0.381-0.35 0.502zM20.255 25.18c-0.331 0.947-1.22 3.241-4.255 3.245-3.036-0.004-3.925-2.297-4.255-3.245-0.183-0.526-0.169-0.915 0.043-1.156 0.145-0.165 0.477-0.362 1.235-0.362l0.792-0c0.584-0 1.317-0.001 2.186-0.001s1.602 0.001 2.186 0.001l0.791 0c0.758 0 1.090 0.197 1.236 0.362 0.211 0.242 0.226 0.631 0.043 1.156zM23.883 23.736c-0.601 0.988-1.783 1.472-2.914 1.49 0.226-0.669 0.157-1.207-0.205-1.598-0.023-0.025-0.047-0.049-0.073-0.074-0.092-0.121-0.215-0.292-0.349-0.5 1.363-0.060 3.183-0.553 3.729-2.278 0.25 0.25 0.421 1.96-0.188 2.961z\"},\"child\":[]}]})(props);\n};\nexport function DiGulp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22.211 0.517c-0.031 0.025-0.906 0.931-1.938 2.019l-1.875 1.975-0.75 2.925-2.094 0.037c-3.894 0.081-6.194 0.394-6.619 0.9-0.081 0.094-0.069 0.125 0.075 0.25 1.019 0.875 9.062 1.131 12.781 0.412 1.319-0.256 1.656-0.575 0.938-0.881-0.544-0.237-2.538-0.563-3.431-0.563-0.244 0-0.3-0.019-0.3-0.112 0-0.056 0.137-0.631 0.3-1.269l0.294-1.162 1.75-1.85c0.963-1.019 1.756-1.9 1.769-1.95 0.063-0.281-0.681-0.881-0.9-0.731zM8.998 9.18c0 0.188 0.756 7.3 0.794 7.412 0.012 0.050 0.075-0.044 0.137-0.225 0.556-1.556 1.662-2.875 2.6-3.094 0.456-0.106 0.8 0.006 1.169 0.375 0.406 0.406 0.481 0.844 0.169 1.012-0.156 0.081-0.306-0.031-0.506-0.394-0.431-0.769-1.231-0.363-2.094 1.075-0.912 1.512-1.15 3.188-0.456 3.188 0.256 0 0.875-0.488 1.306-1.025 0.294-0.375 0.406-0.581 0.569-1.063 0.106-0.325 0.231-0.625 0.281-0.662s0.162-0.063 0.262-0.050c0.162 0.019 0.175 0.044 0.194 0.313 0.012 0.206-0.037 0.456-0.175 0.844-0.181 0.512-0.387 1.169-0.775 2.456-0.087 0.294-0.2 0.594-0.256 0.669-0.137 0.194-0.331 0.181-0.419-0.019-0.063-0.131-0.044-0.269 0.131-0.856 0.113-0.387 0.225-0.756 0.244-0.825 0.019-0.081-0.125 0.025-0.394 0.275-0.625 0.581-1.238 0.825-1.6 0.631-0.106-0.056-0.119-0.044-0.119 0.106 0 0.475 0.45 4.738 0.506 4.806 0.188 0.225 1.519 0.606 2.869 0.819 1.031 0.162 3.969 0.162 5 0 0.887-0.144 1.856-0.369 2.325-0.544 0.662-0.244 0.581 0.025 0.956-3.219 0.181-1.581 0.325-2.887 0.313-2.894-0.012-0.012-0.213 0.137-0.444 0.331-0.5 0.425-0.831 0.588-1.2 0.594-0.331 0-0.5-0.081-0.575-0.287-0.088-0.219 0.031-0.475 0.506-1.063 0.531-0.656 0.619-0.781 0.619-0.913 0-0.281-0.644 0.012-1.012 0.463-0.119 0.15-0.294 0.394-0.387 0.544-0.212 0.331-0.762 1.587-1.037 2.369-0.213 0.606-0.412 0.887-0.619 0.887-0.119 0-0.319-0.15-0.319-0.238 0-0.163 0.2-0.669 0.569-1.475 0.238-0.512 0.431-0.944 0.431-0.956s-0.119 0.069-0.269 0.188c-0.356 0.294-0.75 0.481-0.994 0.481-0.238 0-0.488-0.15-0.488-0.287 0-0.113 0.012-0.119-0.381 0.1-0.594 0.325-0.931 0.206-0.931-0.338v-0.25l-0.256 0.269c-0.469 0.481-1.106 0.65-1.456 0.375-0.225-0.175-0.219-0.588 0.019-1.3 0.431-1.275 0.762-1.775 1.056-1.587 0.181 0.113 0.15 0.294-0.137 0.887-0.494 1.019-0.525 1.5-0.087 1.375 0.419-0.119 0.919-0.775 1.269-1.65 0.094-0.244 0.212-0.488 0.269-0.55 0.137-0.156 0.344-0.113 0.413 0.087 0.044 0.131 0 0.306-0.244 0.906-0.2 0.488-0.306 0.838-0.306 1.025-0.006 0.269 0 0.281 0.175 0.269 0.225-0.019 0.587-0.256 0.637-0.425 0.194-0.631 1.637-4.156 1.75-4.281 0.125-0.125 0.175-0.144 0.319-0.088 0.106 0.037 0.181 0.113 0.194 0.194 0.012 0.075-0.106 0.425-0.262 0.781-0.613 1.419-1.412 3.469-1.412 3.625 0 0.1 0.031 0.175 0.063 0.175 0.15 0 0.563-0.262 1.012-0.644 0.4-0.35 0.494-0.463 0.581-0.744 0.238-0.725 0.412-0.931 0.669-0.794 0.1 0.056 0.119 0.113 0.094 0.281-0.019 0.119-0.019 0.213 0 0.213s0.162-0.113 0.313-0.256c0.475-0.431 0.881-0.538 1.256-0.306 0.175 0.106 0.2 0.156 0.2 0.394 0 0.325-0.25 0.769-0.775 1.387-0.194 0.225-0.35 0.438-0.35 0.475 0 0.031 0.063 0.056 0.144 0.056 0.137 0 1.188-0.806 1.419-1.088 0.069-0.087 0.213-1.238 0.544-4.281 0.244-2.287 0.444-4.169 0.431-4.175-0.006-0.012-0.169 0.037-0.363 0.106-0.488 0.169-1.544 0.35-2.813 0.481-1.375 0.137-6.031 0.156-7.394 0.031-1.269-0.119-2.494-0.313-3.013-0.481l-0.456-0.144v0.137zM10.873 24.686c0 0.012 0.2 0.363 0.438 0.775l0.444 0.756 0.181 2.512 0.188 2.519 0.188 0.162c0.469 0.4 1.594 0.625 3.344 0.663 1.988 0.044 3.537-0.206 4.044-0.663l0.2-0.175 0.144-2.537 0.144-2.531 0.406-0.713c0.225-0.387 0.406-0.725 0.406-0.75 0-0.019-0.188 0.025-0.425 0.106-0.844 0.287-2.488 0.544-3.95 0.625-1.625 0.088-4.144-0.219-5.419-0.662-0.181-0.063-0.331-0.1-0.331-0.088z\"},\"child\":[]}]})(props);\n};\nexport function DiHackernews (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M25.339 6.166v18.802h-18.802v-18.802h18.802zM27.219 4.286h-22.563v22.563h22.563v-22.563zM18.329 9.868h2.662l-3.755 7.051v4.23h-2.344v-4.23l-3.89-7.051h2.767l2.333 4.912 2.227-4.912z\"},\"child\":[]}]})(props);\n};\nexport function DiHaskell (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.619 24.32l5.356-8.034-5.356-8.034h4.017l5.356 8.034-5.356 8.034h-4.017zM9.975 24.32l5.356-8.034-5.356-8.034h4.017l10.712 16.068h-4.017l-3.347-5.021-3.348 5.021h-4.017zM27.381 19.633h-4.463l-1.785-2.678 6.249-0zM27.381 15.616h-7.141l-1.785-2.678 8.927-0z\"},\"child\":[]}]})(props);\n};\nexport function DiHeroku (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.73 9.828c0 3.552 0.097 6.459 0.226 6.459 0.097 0 1.776-0.517 3.746-1.13 2.68-0.904 3.972-1.13 5.361-1.066l1.808 0.097 0.097 7.492 0.065 7.524h3.875v-7.88c0-7.653-0.032-7.879-0.743-8.945-1.292-1.938-4.618-2.358-8.752-1.13l-1.486 0.452v-8.332h-4.198v6.459zM18.872 5.727c-0.711 1.26-1.324 2.422-1.389 2.551-0.065 0.161 0.807 0.258 1.938 0.258h2.034l1.162-1.873c2.228-3.488 2.261-3.294-0.258-3.294h-2.196l-1.292 2.357zM7.73 25.167c0 2.034 0.129 3.714 0.258 3.714s1.066-0.839 2.099-1.873l1.841-1.873-1.873-1.841c-1.033-1.001-1.97-1.841-2.099-1.841s-0.226 1.679-0.226 3.714z\"},\"child\":[]}]})(props);\n};\nexport function DiHtml53dEffects (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.957 6.062l-5.808 1.88 12.58 4.070v8.027l-8.383 2.711-7.074-2.287v-7.863l6.836 2.213 5.808-1.879-12.598-4.077-3.622 1.172v13.036l10.649 3.445 11.958-3.869v-13.23z\"},\"child\":[]}]})(props);\n};\nexport function DiHtml5Connectivity (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.68 20.569h2.801v-6.726l-3.156-3.156-1.981 1.981 2.335 2.336v5.565zM24.488 21.973h-9.771l-2.335-2.336 0.99-0.99 1.929 1.929h3.969l-3.91-3.917 0.998-0.998 3.91 3.91v-3.969l-1.922-1.922 0.983-0.983-4.856-4.878h-9.756l2.794 2.794v0.007h5.795l2.047 2.047-2.993 2.993-2.047-2.047v-1.589h-2.801v2.749l4.848 4.848-1.973 1.973 3.156 3.156h13.74l-2.794-2.779z\"},\"child\":[]}]})(props);\n};\nexport function DiHtml5DeviceAccess (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.092 10.206l4.59-4.59h-4.919l-4.763 4.763-4.763-4.763h-4.919l4.59 4.59h-6.224v16.749h8.189l3.126-3.127 3.127 3.127h8.189v-16.749h-6.224zM16 18.907l-4.567 4.569h-3.27v-9.792h15.674v9.792h-3.269l-4.568-4.569z\"},\"child\":[]}]})(props);\n};\nexport function DiHtml5Multimedia (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M27.33 7.595h-5.003l-3.535 3.535h5.003zM16.021 11.13l3.535-3.535h-5.002l-3.537 3.535zM23.804 21.438h-15.608v-10.274l3.568-3.569h-5.004l-2.103 2.103v15.278h22.685v-13.846h-3.538z\"},\"child\":[]}]})(props);\n};\nexport function DiHtml5 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.665 3.411l2.063 23.176 9.258 2.574 9.284-2.578 2.065-23.172h-22.671zM8.951 8.911l-0.068-0.763h7.107v2.842h-4.005l0.259 2.911h3.746v2.842h-6.341l-0.698-7.833zM22.518 14.665l-0.667 7.483-0.043 0.48-5.822 1.616-5.814-1.616-0.398-4.463h2.849l0.202 2.267 3.163 0.854 3.165-0.856 0.329-3.686h-3.485v-2.842h6.587l-0.069 0.763zM23.032 8.911l-0.129 1.441-0.057 0.639h-6.846v-2.842h7.1l-0.068 0.762z\"},\"child\":[]}]})(props);\n};\nexport function DiIe (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M27.193 16.806c0-1.75-0.409-3.4-1.132-4.851 0.203-0.544 0.444-1.287 0.705-2.288 0.843-3.236-1.097-5.163-4.073-4.848-1.808 0.191-3.51 0.707-5.155 1.479-0.133-0.005-0.266-0.009-0.4-0.009-4.951 0-9.066 3.742-9.901 8.67 2.069-3.125 5.086-4.782 5.086-4.782-2.060 2.258-3.837 4.479-5.157 6.82-0.025 0.042-0.050 0.084-0.074 0.128-1.101 1.983-1.872 4.055-2.204 6.311-0.455 3.093 1.031 4.745 4.205 4.271 1.091-0.163 3.067-1.16 3.627-1.45 1.334 0.683 2.833 1.068 4.418 1.068 4.378 0 8.102-2.927 9.483-7.012h-5.443c-0.772 1.409-2.224 2.359-3.888 2.359-2.402 0-4.363-1.978-4.474-4.462h14.288c0.058-0.459 0.089-0.927 0.089-1.402zM9.154 26.941c-1.697 0.187-3.89-1.748-1.391-6.325 0.806 2.169 2.28 3.988 4.158 5.182-0.519 0.305-1.852 1.042-2.767 1.143zM12.849 15.085c0.284-2.301 2.163-4.080 4.441-4.080s4.157 1.778 4.441 4.080h-8.882zM20.903 7.051c4.24-2.079 5.781 0.142 5.315 2.405-0.064 0.312-0.297 1.141-0.504 1.857-1.119-1.908-2.804-3.414-4.811-4.263z\"},\"child\":[]}]})(props);\n};\nexport function DiIllustrator (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 34 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.66 10.97c0.695 0 1.264-0.563 1.264-1.253s-0.569-1.253-1.264-1.253c-0.695 0-1.264 0.563-1.264 1.253 0 0.695 0.563 1.253 1.264 1.253z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M20.425 12.067h2.442v9.183h-2.442v-9.183z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.655 18.171h3.304l0.893 3.076h2.501l-3.632-12.066h-3.036v1.191l-3.185 10.875h2.262l0.893-3.076zM14.292 11.328l1.221 4.733h-2.441l1.22-4.733z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.002 2.316v27.007h27.582v-27.007h-27.582zM28.516 27.197h-23.406v-22.755h23.406l-0 22.755z\"},\"child\":[]}]})(props);\n};\nexport function DiIntellij (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 34 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.852 8.2c0-0.18 0-0.36 0-0.54 0.014-0.065 0.029-0.129 0.041-0.194 0.255-1.419 1.48-2.345 2.817-2.342 3.763 0.010 7.526 0.003 11.289 0.003 0.057 0 0.114 0 0.185 0 0 0.074 0 0.132 0 0.189 0 3.524 0.003 7.049-0.003 10.573-0.001 0.507-0.036 1.015-0.078 1.52-0.063 0.748-0.236 1.477-0.473 2.188-0.655 1.959-1.768 3.612-3.339 4.955-1.294 1.107-2.765 1.874-4.413 2.303-0.674 0.175-1.357 0.301-2.054 0.323-0.507 0.016-1.019 0.048-1.521-0.006-1.128-0.119-2.048-0.946-2.34-2.042-0.047-0.177-0.074-0.358-0.111-0.537 0-0.135 0-0.27 0-0.405 0.021-0.105 0.042-0.21 0.061-0.315 0.252-1.367 1.482-2.345 2.918-2.3 0.427 0.013 0.865-0.014 1.284-0.093 1.301-0.247 2.374-0.897 3.208-1.927 0.777-0.96 1.193-2.062 1.203-3.298 0.014-1.768 0.004-3.537 0.004-5.305 0-0.19-0-0.191-0.191-0.191-1.809-0-3.618 0.002-5.426-0.002-0.237-0.001-0.478-0.012-0.71-0.056-1.128-0.215-1.868-0.882-2.229-1.967-0.057-0.172-0.082-0.356-0.122-0.534z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M25.352 4.797c0.18 0.034 0.362 0.056 0.539 0.103 0.821 0.217 1.356 0.76 1.694 1.517 0.232 0.521 0.35 1.072 0.379 1.641 0.018 0.35 0.025 0.701 0.025 1.052 0.002 4.816 0.005 9.632-0.003 14.449-0.001 0.772-0.137 1.529-0.513 2.22-0.485 0.893-1.233 1.36-2.258 1.378-0.639 0.011-1.219-0.149-1.714-0.561-0.463-0.386-0.741-0.895-0.92-1.461-0.163-0.517-0.241-1.050-0.242-1.59-0.004-5.055-0.007-10.11 0.003-15.164 0.002-0.819 0.158-1.616 0.593-2.332 0.436-0.718 1.068-1.135 1.911-1.217 0.044-0.004 0.086-0.021 0.129-0.032 0.126 0 0.252 0 0.378 0z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.852 15.871c0.021-0.085 0.046-0.169 0.061-0.254 0.24-1.371 1.312-2.431 2.677-2.645 1.735-0.272 3.398 0.933 3.673 2.662 0.279 1.75-0.914 3.397-2.656 3.686-1.756 0.291-3.409-0.922-3.693-2.624-0.016-0.095-0.042-0.189-0.063-0.284 0-0.18 0-0.36 0-0.54z\"},\"child\":[]}]})(props);\n};\nexport function DiIonic (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 27 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.873 10.726c0.198-0.228 0.319-0.525 0.319-0.85 0-0.717-0.582-1.299-1.299-1.299-0.325 0-0.622 0.12-0.85 0.318-1.549-1.168-3.475-1.861-5.559-1.861-5.101 0-9.252 4.15-9.252 9.252s4.15 9.252 9.252 9.252 9.251-4.15 9.251-9.252c0-2.085-0.693-4.011-1.861-5.559zM13.483 25.226c-4.93 0-8.94-4.011-8.94-8.94s4.011-8.94 8.94-8.94c2.004 0 3.857 0.663 5.349 1.781-0.15 0.212-0.239 0.47-0.239 0.749 0 0.717 0.582 1.299 1.299 1.299 0.279 0 0.537-0.089 0.749-0.239 1.118 1.493 1.781 3.345 1.781 5.35 0 4.93-4.010 8.94-8.94 8.94zM17.26 16.285c0 2.086-1.691 3.777-3.777 3.777s-3.777-1.691-3.777-3.777c0-2.086 1.691-3.777 3.777-3.777s3.777 1.691 3.777 3.777z\"},\"child\":[]}]})(props);\n};\nexport function DiJava (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.557 23.22c0 0-0.982 0.571 0.699 0.765 2.037 0.232 3.079 0.199 5.324-0.226 0 0 0.59 0.37 1.415 0.691-5.033 2.157-11.39-0.125-7.437-1.23zM11.942 20.405c0 0-1.102 0.816 0.581 0.99 2.176 0.224 3.895 0.243 6.869-0.33 0 0 0.411 0.417 1.058 0.645-6.085 1.779-12.863 0.14-8.508-1.305zM17.127 15.63c1.24 1.428-0.326 2.713-0.326 2.713s3.149-1.625 1.703-3.661c-1.351-1.898-2.386-2.841 3.221-6.093 0 0-8.801 2.198-4.598 7.042zM23.783 25.302c0 0 0.727 0.599-0.801 1.062-2.905 0.88-12.091 1.146-14.643 0.035-0.917-0.399 0.803-0.953 1.344-1.069 0.564-0.122 0.887-0.1 0.887-0.1-1.020-0.719-6.594 1.411-2.831 2.021 10.262 1.664 18.706-0.749 16.044-1.95zM13.029 17.489c0 0-4.673 1.11-1.655 1.513 1.274 0.171 3.814 0.132 6.181-0.066 1.934-0.163 3.876-0.51 3.876-0.51s-0.682 0.292-1.175 0.629c-4.745 1.248-13.911 0.667-11.272-0.609 2.232-1.079 4.046-0.956 4.046-0.956zM21.412 22.174c4.824-2.506 2.593-4.915 1.037-4.591-0.382 0.079-0.552 0.148-0.552 0.148s0.142-0.222 0.412-0.318c3.079-1.083 5.448 3.193-0.994 4.887-0 0 0.075-0.067 0.097-0.126zM18.503 3.337c0 0 2.671 2.672-2.534 6.781-4.174 3.296-0.952 5.176-0.002 7.323-2.436-2.198-4.224-4.133-3.025-5.934 1.761-2.644 6.638-3.925 5.56-8.17zM13.503 28.966c4.63 0.296 11.74-0.164 11.908-2.355 0 0-0.324 0.831-3.826 1.49-3.952 0.744-8.826 0.657-11.716 0.18 0 0 0.592 0.49 3.635 0.685z\"},\"child\":[]}]})(props);\n};\nexport function DiJavascript1 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.633 7.968h3.751v10.514c0 4.738-2.271 6.392-5.899 6.392-0.888 0-2.024-0.148-2.764-0.395l0.42-3.036c0.518 0.173 1.185 0.296 1.925 0.296 1.58 0 2.567-0.716 2.567-3.282v-10.489zM16.641 20.753c0.987 0.518 2.567 1.037 4.171 1.037 1.728 0 2.641-0.716 2.641-1.826 0-1.012-0.79-1.629-2.789-2.32-2.764-0.987-4.59-2.517-4.59-4.961 0-2.838 2.394-4.985 6.293-4.985 1.9 0 3.258 0.37 4.245 0.839l-0.839 3.011c-0.642-0.321-1.851-0.79-3.455-0.79-1.629 0-2.419 0.765-2.419 1.604 0 1.061 0.913 1.53 3.085 2.369 2.937 1.086 4.294 2.616 4.294 4.985 0 2.789-2.122 5.158-6.688 5.158-1.9 0-3.776-0.518-4.714-1.037l0.765-3.085z\"},\"child\":[]}]})(props);\n};\nexport function DiJavascript (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.698 3.419l2.057 23.073 9.231 2.563 9.256-2.566 2.059-23.069h-22.604zM13.226 9.394l-0.409 4.441 9.671 0.001-0.069 0.76-0.665 7.45-0.042 0.478-5.804 1.609-5.796-1.609-0.396-4.443h2.84l0.202 2.257 3.154 0.85 3.156-0.852 0.328-3.67-9.671-0.001 0.069-0.76 0.665-7.45 0.209-2.086h11.287l0.131 1.598 0.403 4.453h-2.841l-0.262-2.922-2.889-0.174h-0.515v-0.004l-2.755 0.074z\"},\"child\":[]}]})(props);\n};\nexport function DiJekyllSmall (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.307 25.27c-0.085 1.014 0.426 1.772 1.384 2.028 0.787 0.209 1.696-0.161 2.085-0.863 0.114-0.199 1.403-3.507 2.862-7.354 2.455-6.463 2.682-7.023 3.023-7.373 0.209-0.218 0.379-0.436 0.379-0.493s-0.18-0.265-0.398-0.455c-0.872-0.787-2.919-1.441-3.791-1.213-0.142 0.038-0.171 0.152-0.171 0.588 0 0.55-0.095 0.891-0.663 2.331-0.161 0.417-0.427 1.137-0.587 1.611-0.152 0.464-0.408 1.128-0.559 1.469-0.142 0.341-0.455 1.128-0.692 1.753s-0.682 1.81-0.995 2.644c-0.313 0.824-0.663 1.611-0.787 1.734zM20.003 10.116c0.957 0.398 1.45 0.881 1.052 1.033-0.379 0.142-2.075-0.464-2.521-0.91-0.171-0.171-0.18-0.227-0.085-0.351 0.161-0.18 0.787-0.095 1.554 0.227zM18.43 11.32c0.341 0.36 1.033 0.616 1.791 0.644 0.379 0.019 0.682 0.038 0.682 0.057 0 0.009-0.066 0.123-0.142 0.237s-0.389 0.881-0.701 1.696c-0.493 1.289-0.616 1.535-0.957 1.848-0.521 0.474-1.346 0.938-1.943 1.080-0.256 0.066-0.654 0.19-0.881 0.294-0.227 0.095-0.455 0.171-0.493 0.171-0.085 0 0.18-0.777 1.090-3.128 0.294-0.758 0.683-1.772 0.862-2.256 0.19-0.474 0.37-0.872 0.408-0.872s0.17 0.104 0.284 0.227zM19.264 16.096c-0.028 0.038-0.91 2.331-1.952 5.089-1.687 4.454-1.943 5.061-2.237 5.326-0.18 0.171-0.407 0.313-0.493 0.303-0.114 0-0.076-0.038 0.095-0.104 0.152-0.057 0.256-0.161 0.256-0.265 0-0.095 0.038-0.199 0.085-0.237 0.047-0.028 0.123-0.19 0.161-0.351 0.028-0.171 0.095-0.369 0.133-0.455 0.142-0.265 0.569-1.374 0.569-1.45 0-0.047 0.057-0.218 0.133-0.379 0.076-0.171 0.313-0.777 0.531-1.346 0.218-0.578 0.483-1.279 0.588-1.564 0.114-0.284 0.237-0.559 0.284-0.607 0.038-0.057 0.076-0.18 0.076-0.275s0.067-0.322 0.142-0.502c0.284-0.645 0.408-0.948 0.569-1.412 0.085-0.265 0.199-0.55 0.246-0.635 0.095-0.18 0.114-0.455 0.038-0.455-0.028 0-0.171 0.066-0.313 0.152-0.228 0.133-0.228 0.133 0.028-0.066 0.161-0.123 0.436-0.36 0.616-0.531 0.303-0.284 0.55-0.417 0.445-0.237zM16.639 17.442c0 0.047-0.066 0.095-0.152 0.095-0.18 0-0.445 0.616-0.445 1.014 0.009 0.171-0.028 0.313-0.076 0.313-0.152 0-0.483 0.777-0.531 1.279-0.047 0.436-0.028 0.512 0.133 0.607 0.256 0.133 0.322 0.426 0.152 0.663-0.142 0.209-0.54 0.265-0.644 0.104-0.142-0.228-0.246-0.076-0.19 0.265 0.047 0.322 0.029 0.379-0.17 0.464-0.152 0.076-0.294 0.275-0.398 0.569-0.332 0.9-0.635 1.696-0.815 2.161-0.104 0.256-0.218 0.683-0.246 0.929-0.047 0.389-0.019 0.483 0.171 0.701l0.227 0.256-0.303-0.208c-0.313-0.218-0.692-0.891-0.692-1.232 0-0.114 0.275-0.948 0.616-1.867 0.341-0.91 0.616-1.715 0.616-1.772 0-0.066 0.313-0.427 0.682-0.806 0.379-0.379 0.625-0.692 0.55-0.692s-0.275 0.133-0.445 0.303-0.313 0.256-0.313 0.19c0-0.285 0.891-2.369 1.118-2.616 0.208-0.227 1.023-0.815 1.128-0.815 0.019 0 0.029 0.038 0.029 0.095z\"},\"child\":[]}]})(props);\n};\nexport function DiJenkins (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.392 2.991c-0.627 0.053-1.097 0.14-1.539 0.283-0.27 0.088-0.859 0.311-1.073 0.406-0.173 0.076-0.928 0.491-1.406 0.77-0.834 0.488-1.265 0.952-1.466 1.582-0.040 0.123-0.057 0.153-0.097 0.175-0.198 0.108-0.386 0.276-0.513 0.459-0.195 0.285-0.335 0.726-0.379 1.198-0.010 0.11-0.023 0.238-0.027 0.286l-0.008 0.086-0.195 0.171c-0.536 0.473-1.11 1.118-1.534 1.727-0.879 1.261-1.469 2.767-1.679 4.277-0.075 0.544-0.092 0.8-0.092 1.423s0.017 0.878 0.092 1.423c0.136 0.985 0.453 2.018 0.897 2.94 0.521 1.080 1.288 2.118 2.147 2.909l0.245 0.225 0.020 0.313c0.012 0.171 0.028 0.517 0.035 0.769 0.018 0.582 0.042 0.682 0.186 0.805 0.083 0.071 0.216 0.136 0.488 0.238 0.11 0.042 0.458 0.201 0.774 0.354 0.802 0.391 1.062 0.496 1.461 0.592 0.28 0.068 0.344 0.076 0.709 0.088l0.349 0.010 0.113 0.391c0.205 0.699 0.376 1.266 0.471 1.556 0.118 0.358 0.273 0.777 0.298 0.8 0.025 0.027 0.271 0.1 0.529 0.158 0.93 0.21 2.38 0.238 3.766 0.072 0.469-0.057 0.792-0.233 0.907-0.494 0.030-0.067 0.032-0.090 0.017-0.19-0.008-0.062-0.022-0.208-0.027-0.323l-0.012-0.21 0.148-0.028c0.484-0.093 0.726-0.22 0.832-0.436 0.035-0.073 0.045-0.121 0.052-0.261 0.012-0.215-0.008-0.353-0.113-0.819-0.142-0.614-0.17-0.847-0.133-1.068l0.021-0.12 0.105-0.035c0.225-0.075 0.325-0.186 0.325-0.364v-0.086l0.105-0.048c0.25-0.113 0.524-0.165 0.927-0.178l0.291-0.008 0.047 0.082c0.027 0.043 0.075 0.113 0.11 0.153 0.062 0.072 0.065 0.073 0.236 0.103 0.523 0.090 1.060 0.091 1.469 0.005 0.318-0.067 0.424-0.12 0.586-0.293 0.301-0.325 0.509-0.949 0.508-1.536 0-0.26-0.015-0.351-0.12-0.716-0.146-0.507-0.336-1.023-0.478-1.298-0.088-0.171-0.225-0.321-0.373-0.409-0.053-0.030-0.096-0.062-0.096-0.070 0-0.007 0.038-0.080 0.085-0.163 0.133-0.236 0.399-0.797 0.513-1.075 0.389-0.97 0.612-1.932 0.702-3.034 0.025-0.309 0.025-1.135 0-1.448-0.088-1.093-0.311-2.060-0.702-3.033-0.13-0.323-0.454-0.983-0.631-1.285-0.403-0.684-0.894-1.328-1.448-1.897l-0.259-0.266-0.030-0.329c-0.101-1.155-0.373-2.098-0.782-2.724-0.298-0.456-0.913-1.115-1.466-1.569-0.657-0.541-1.453-0.845-2.571-0.985-0.198-0.025-1.13-0.047-1.315-0.032zM17.649 3.619c0.637 0.103 1.268 0.301 1.835 0.579 0.399 0.196 0.601 0.344 0.927 0.681 0.228 0.236 0.812 0.963 0.845 1.053 0.012 0.028 0.005 0.030-0.067 0.020-0.304-0.040-0.454-0.028-0.629 0.055-0.215 0.1-0.336 0.27-0.345 0.481-0.002 0.038 0.002 0.075 0.007 0.080s0.037-0.010 0.072-0.033c0.131-0.090 0.233-0.117 0.449-0.117 0.181 0 0.215 0.005 0.358 0.055 0.228 0.077 0.398 0.183 0.574 0.359 0.321 0.319 0.431 0.699 0.491 1.706 0.030 0.486 0.040 1.459 0.018 1.764-0.095 1.343-0.451 2.588-1.008 3.534-0.123 0.21-0.552 0.852-0.656 0.982-0.138 0.171-0.318 0.333-0.518 0.463-0.601 0.391-1.233 0.646-1.824 0.739-0.241 0.037-0.691 0.037-0.905 0-0.228-0.040-0.567-0.16-0.874-0.309-0.8-0.391-1.338-0.909-2.201-2.122l-0.106-0.15 0.010 0.083c0.051 0.373 0.268 0.755 0.707 1.256 0.507 0.576 0.879 0.915 1.2 1.095 0.060 0.033 0.12 0.072 0.133 0.085 0.022 0.020 0.013 0.022-0.058 0.012-0.047-0.005-0.176-0.015-0.291-0.020-0.338-0.017-0.562 0.053-0.674 0.208l-0.050 0.070-0.175-0.010c-0.97-0.055-1.557-0.235-1.907-0.586-0.381-0.381-0.927-1.646-1.047-2.428-0.040-0.253-0.030-0.278 0.16-0.484 0.21-0.226 0.246-0.309 0.196-0.454-0.018-0.052-0.022-0.053-0.093-0.043-0.097 0.013-0.151 0.042-0.329 0.178-0.082 0.062-0.171 0.122-0.2 0.131-0.155 0.060-0.409 0.050-0.589-0.023-0.448-0.181-0.852-0.767-0.973-1.408-0.035-0.181-0.035-0.506 0-0.647 0.080-0.325 0.293-0.617 0.566-0.777 0.198-0.117 0.471-0.17 0.706-0.142 0.376 0.048 0.584 0.3 0.737 0.895l0.055 0.213 0.18-0.003c0.298-0.003 0.539-0.083 0.631-0.208 0.033-0.043 0.033-0.048 0.005-0.233-0.017-0.103-0.061-0.316-0.101-0.471-0.19-0.751-0.188-0.87 0.032-1.922 0.102-0.486 0.128-0.686 0.13-0.94 0.002-0.238-0.028-0.426-0.095-0.624-0.023-0.067-0.042-0.141-0.042-0.165 0-0.055 0.111-0.258 0.25-0.454 0.138-0.198 0.576-0.639 0.832-0.835 0.243-0.188 0.691-0.484 0.982-0.649 0.869-0.493 1.176-0.581 1.988-0.567 0.344 0.005 0.461 0.013 0.682 0.048zM14.321 4.080c0.088 0.070 0.020 0.193-0.135 0.243-0.060 0.018-0.113 0.053-0.178 0.115-0.052 0.048-0.17 0.146-0.265 0.216-0.261 0.196-0.348 0.295-0.544 0.621-0.213 0.353-0.316 0.489-0.413 0.551-0.098 0.063-0.188 0.075-0.378 0.052-0.2-0.027-0.303-0.010-0.662 0.108-0.313 0.101-0.429 0.125-0.429 0.088 0-0.013 0.037-0.087 0.083-0.161 0.321-0.541 0.924-1.047 1.722-1.448 0.288-0.145 0.461-0.218 0.782-0.33 0.28-0.098 0.348-0.106 0.416-0.055zM12.617 6.27c0.065 0.171 0.087 0.304 0.095 0.576 0.008 0.316-0.007 0.496-0.088 1.018-0.090 0.586-0.098 0.667-0.098 0.965 0 0.315 0.012 0.393 0.108 0.721 0.075 0.256 0.098 0.454 0.065 0.536-0.023 0.056-0.077 0.091-0.168 0.108l-0.060 0.012-0.012-0.113c-0.030-0.298-0.18-0.566-0.423-0.759-0.24-0.19-0.504-0.283-0.81-0.283-0.213 0-0.363 0.033-0.572 0.13-0.075 0.033-0.138 0.058-0.143 0.053-0.022-0.022-0.047-0.471-0.048-0.845 0-0.341 0.005-0.458 0.030-0.589 0.082-0.444 0.225-0.699 0.547-0.97 0.338-0.283 0.712-0.464 1.138-0.553 0.211-0.043 0.23-0.047 0.335-0.050 0.080-0.002 0.088 0.002 0.105 0.043zM9.948 8.998c0.017 0.015 0.027 0.058 0.028 0.115 0 0.050 0.007 0.091 0.015 0.091 0.007 0 0.012 0.037 0.012 0.083 0 0.045-0.007 0.083-0.015 0.083-0.007 0-0.010 0.018-0.007 0.038 0.005 0.023-0.003 0.052-0.018 0.067-0.015 0.013-0.027 0.033-0.027 0.043s-0.007 0.018-0.017 0.018c-0.008 0-0.017 0.010-0.017 0.023s-0.012 0.027-0.025 0.033c-0.013 0.005-0.025 0.020-0.025 0.033s-0.010 0.032-0.023 0.038c-0.022 0.013-0.143 0.361-0.143 0.413 0 0.013-0.005 0.025-0.012 0.025-0.008 0-0.013 0.025-0.015 0.053 0 0.030-0.010 0.145-0.022 0.255-0.052 0.486 0.083 1.158 0.334 1.664 0.288 0.578 0.782 0.983 1.336 1.097l0.1 0.022 0.005 0.065c0.025 0.354 0.175 0.795 0.378 1.113 0.208 0.326 0.273 0.519 0.225 0.666-0.035 0.108-0.13 0.178-0.591 0.441-0.975 0.557-1.657 0.968-1.98 1.196-0.091 0.065-0.301 0.188-0.464 0.271-0.426 0.22-0.557 0.353-0.586 0.596-0.020 0.171 0.065 0.512 0.253 1.023 0.060 0.165 0.153 0.424 0.206 0.576 0.053 0.153 0.168 0.459 0.255 0.682 0.226 0.582 0.285 0.779 0.393 1.301 0.073 0.348 0.201 1.201 0.201 1.329 0 0.095-0.473-0.418-0.87-0.944-0.85-1.125-1.434-2.43-1.707-3.814-0.070-0.354-0.123-0.717-0.112-0.764 0.007-0.025 0.003-0.040-0.008-0.040-0.013 0-0.017-0.025-0.010-0.083 0.007-0.055 0.003-0.083-0.008-0.083s-0.015-0.035-0.007-0.108c0.008-0.076 0.005-0.108-0.008-0.108s-0.015-0.043-0.007-0.158c0.008-0.11 0.007-0.158-0.007-0.158s-0.018-0.11-0.018-0.358c0-0.248 0.005-0.358 0.018-0.358s0.015-0.048 0.007-0.158c-0.008-0.115-0.007-0.158 0.007-0.158s0.017-0.032 0.008-0.108c-0.008-0.073-0.005-0.108 0.007-0.108s0.015-0.028 0.008-0.083c-0.007-0.052-0.003-0.083 0.007-0.083 0.012 0 0.015-0.030 0.008-0.075-0.003-0.042 0-0.075 0.008-0.075s0.012-0.027 0.008-0.058c-0.003-0.032 0-0.058 0.008-0.058s0.012-0.027 0.008-0.058c-0.003-0.032 0-0.058 0.008-0.058s0.013-0.023 0.008-0.050c-0.003-0.028 0-0.050 0.007-0.050 0.008 0 0.017-0.043 0.018-0.095 0.002-0.053 0.010-0.098 0.018-0.101 0.008-0.002 0.012-0.023 0.007-0.045-0.003-0.023 0-0.042 0.007-0.042 0.008 0 0.017-0.035 0.017-0.078 0.002-0.043 0.010-0.082 0.020-0.085s0.015-0.015 0.010-0.027c-0.023-0.058 0.285-1.138 0.328-1.155 0.008-0.003 0.015-0.022 0.015-0.040 0-0.048 0.068-0.23 0.085-0.23 0.008 0 0.015-0.018 0.015-0.042s0.008-0.042 0.017-0.042c0.010 0 0.017-0.018 0.017-0.042s0.008-0.042 0.017-0.042c0.010 0 0.017-0.018 0.017-0.040 0-0.023 0.012-0.052 0.025-0.067 0.013-0.013 0.025-0.033 0.025-0.045 0-0.035 0.040-0.131 0.053-0.131 0.007 0 0.013-0.012 0.013-0.025 0-0.032 0.087-0.213 0.108-0.228 0.010-0.007 0.035-0.052 0.057-0.1 0.1-0.23 0.125-0.278 0.147-0.286 0.012-0.005 0.022-0.025 0.022-0.043s0.015-0.047 0.033-0.062c0.018-0.017 0.033-0.042 0.033-0.058 0-0.015 0.013-0.042 0.032-0.058 0.017-0.017 0.035-0.050 0.042-0.076 0.005-0.025 0.018-0.045 0.027-0.045 0.010 0 0.017-0.012 0.017-0.025s0.007-0.025 0.015-0.025c0.008 0 0.020-0.018 0.025-0.042 0.007-0.023 0.018-0.042 0.027-0.042 0.010 0 0.017-0.012 0.017-0.025s0.007-0.025 0.015-0.025c0.008 0 0.020-0.018 0.025-0.042 0.007-0.023 0.018-0.042 0.027-0.042 0.010 0 0.017-0.012 0.017-0.025s0.008-0.025 0.017-0.025c0.010 0 0.017-0.012 0.017-0.025s0.008-0.025 0.017-0.025c0.010 0 0.017-0.012 0.017-0.025s0.008-0.025 0.017-0.025c0.010 0 0.017-0.012 0.017-0.025 0-0.015 0.012-0.030 0.025-0.035 0.013-0.007 0.025-0.020 0.025-0.033s0.008-0.023 0.017-0.023c0.010 0 0.017-0.010 0.017-0.023s0.012-0.027 0.025-0.033c0.013-0.005 0.025-0.020 0.025-0.035 0-0.013 0.008-0.025 0.017-0.025 0.010 0 0.017-0.010 0.017-0.023s0.012-0.027 0.025-0.033c0.013-0.005 0.025-0.020 0.025-0.033 0-0.012 0.012-0.027 0.025-0.033 0.013-0.005 0.025-0.020 0.025-0.033 0-0.012 0.012-0.027 0.025-0.033 0.013-0.005 0.025-0.020 0.025-0.033 0-0.015 0.015-0.033 0.033-0.043s0.033-0.027 0.033-0.038 0.015-0.030 0.033-0.042c0.018-0.012 0.033-0.030 0.033-0.042s0.015-0.030 0.033-0.042c0.018-0.012 0.033-0.030 0.033-0.042s0.023-0.038 0.050-0.058c0.028-0.022 0.050-0.046 0.050-0.058s0.027-0.042 0.058-0.067c0.032-0.025 0.058-0.055 0.058-0.065s0.045-0.060 0.1-0.108c0.055-0.050 0.1-0.098 0.1-0.107 0-0.023 0.321-0.348 0.343-0.348 0.012 0 0.023-0.015 0.028-0.033 0.010-0.040 0.038-0.043 0.073-0.007zM22.807 9.715c1.236 1.444 1.979 3.175 2.198 5.13 0.035 0.326 0.050 1.285 0.025 1.657-0.083 1.198-0.383 2.336-0.895 3.418-0.098 0.205-0.323 0.624-0.409 0.759l-0.043 0.068-0.161 0.022c-0.416 0.052-1.018 0.255-1.554 0.524-0.161 0.081-0.183 0.087-0.183 0.050 0-0.013 0.055-0.176 0.123-0.361 0.255-0.699 0.504-1.451 0.777-2.343 0.083-0.27 0.218-0.704 0.3-0.965 0.181-0.577 0.22-0.749 0.211-0.965-0.010-0.323-0.11-0.434-1.243-1.408-0.314-0.27-0.564-0.518-0.609-0.607-0.065-0.125-0.005-0.311 0.226-0.702 0.175-0.294 0.268-0.499 0.379-0.837 0.25-0.749 0.429-1.569 0.524-2.395 0.037-0.305 0.076-0.839 0.076-1.007 0-0.175 0.015-0.266 0.041-0.266 0.010 0 0.108 0.103 0.216 0.228zM21.043 15.262c0.055 0.047 0.291 0.271 0.524 0.499s0.508 0.478 0.607 0.556c0.268 0.21 0.398 0.341 0.459 0.468 0.053 0.106 0.053 0.108 0.043 0.294-0.012 0.193-0.070 0.488-0.203 1.040-0.171 0.701-0.449 1.529-0.86 2.558-0.268 0.669-0.328 0.76-0.534 0.82-0.17 0.048-0.206 0.053-0.652 0.070-0.411 0.017-0.549 0.037-0.674 0.1-0.078 0.040-0.1 0.042-0.1 0.007s0.118-0.236 0.749-1.271c0.492-0.807 0.854-1.413 0.92-1.543 0.025-0.045 0.023-0.053-0.005-0.098-0.017-0.027-0.078-0.103-0.138-0.17-0.108-0.122-0.162-0.208-0.162-0.261 0-0.015 0.027-0.105 0.057-0.196 0.235-0.691 0.115-1.819-0.233-2.207-0.076-0.085-0.21-0.168-0.27-0.168-0.045 0-0.17-0.087-0.17-0.118 0-0.017 0.073-0.085 0.171-0.161 0.093-0.072 0.203-0.17 0.245-0.216 0.042-0.045 0.087-0.083 0.1-0.085 0.013 0 0.070 0.037 0.125 0.083zM12.377 15.763c0.041 0.040 0.175 0.183 0.293 0.321 0.118 0.137 0.258 0.298 0.309 0.356 0.17 0.195 0.552 0.424 1.401 0.84l0.524 0.258 0.022 0.135c0.052 0.334 0.356 1.391 0.476 1.642 0.158 0.336 0.348 0.434 0.637 0.329 0.063-0.023 0.125-0.042 0.135-0.042 0.058 0-0.013 0.16-0.156 0.349-0.188 0.25-0.228 0.409-0.138 0.546 0.048 0.073 0.198 0.178 0.404 0.283 0.506 0.26 1.118 0.552 1.419 0.677 0.193 0.080 0.353 0.156 0.353 0.166 0 0.015-0.073 0.023-0.261 0.032-1.396 0.058-2.22 0.123-3.523 0.278-0.368 0.043-0.591 0.063-0.606 0.053-0.038-0.023-0.083-0.16-0.103-0.308-0.028-0.23-0.020-0.958 0.017-1.428 0.018-0.233 0.033-0.489 0.033-0.567 0-0.419-0.201-0.416-0.278 0.005-0.027 0.155-0.023 0.276 0.028 0.835 0.037 0.378 0.043 0.835 0.017 1.008-0.010 0.060-0.032 0.158-0.052 0.22-0.030 0.105-0.037 0.113-0.078 0.113-0.068-0.002-0.173-0.055-0.354-0.183-0.215-0.151-0.298-0.193-0.316-0.163-0.040 0.062-0.002 0.166 0.107 0.293 0.105 0.12 0.121 0.225 0.046 0.308-0.038 0.047-0.070 0.058-0.205 0.087-0.218 0.047-0.313 0.116-0.313 0.233 0 0.040 0.003 0.042 0.105 0.042 0.057 0 0.246-0.008 0.423-0.020 0.319-0.018 0.477-0.010 0.639 0.037l0.060 0.017 0.012 0.138c0.037 0.434 0.173 1.564 0.311 2.544 0.053 0.391 0.098 0.719 0.098 0.727 0 0.040-0.418 0-0.765-0.073-0.559-0.118-1.015-0.305-1.955-0.799-0.301-0.158-0.607-0.316-0.677-0.351l-0.13-0.063v-0.151c0-0.346-0.067-1.27-0.135-1.889-0.191-1.741-0.584-3.33-1.132-4.579-0.063-0.143-0.115-0.271-0.115-0.283 0-0.013 0.155-0.14 0.344-0.281 1.102-0.827 1.845-1.291 2.643-1.649 0.138-0.062 0.275-0.111 0.305-0.113 0.042 0 0.073 0.017 0.132 0.070zM20.531 16.283c0.17 0.087 0.29 0.476 0.341 1.101 0.027 0.341-0.022 0.674-0.116 0.802l-0.030 0.038-0.273-0.018c-0.441-0.028-1-0.111-1.263-0.188l-0.073-0.020 0.002-0.258c0.002-0.141 0.003-0.263 0.003-0.27 0-0.017 0.115-0.073 0.175-0.087 0.065-0.013 0.253-0.032 0.313-0.030 0.025 0.002 0.045-0.005 0.045-0.012 0-0.017-0.181-0.070-0.275-0.078-0.037-0.005-0.076-0.012-0.088-0.015-0.010-0.003-0.055 0-0.098 0.007-0.103 0.020-0.128 0.003-0.155-0.093-0.012-0.043-0.037-0.108-0.053-0.145-0.027-0.053-0.028-0.067-0.010-0.078 0.012-0.008 0.028-0.015 0.037-0.015 0.007 0 0.145-0.086 0.308-0.195 0.488-0.321 0.697-0.436 0.854-0.462 0.030-0.007 0.055-0.012 0.057-0.013 0.017-0.017 0.26 0.007 0.301 0.028zM19.271 16.284c0 0.013-0.015 0.032-0.032 0.042-0.018 0.008-0.17 0.125-0.336 0.258l-0.305 0.241-0.093 0.003c-0.356 0.012-0.627-0.032-0.837-0.133-0.161-0.080-0.328-0.195-0.328-0.228s0.075-0.048 0.13-0.027c0.083 0.033 0.276 0.068 0.393 0.068 0.161 0 0.423-0.042 0.75-0.12 0.273-0.065 0.567-0.125 0.629-0.128 0.015-0.002 0.028 0.010 0.028 0.023zM13.785 16.366c0.121 0.040 0.334 0.072 0.681 0.101 0.473 0.038 0.463 0.037 0.463 0.095 0 0.027-0.015 0.107-0.032 0.176-0.018 0.072-0.038 0.168-0.045 0.215-0.010 0.082-0.015 0.088-0.055 0.088-0.076 0-0.373-0.080-0.559-0.148-0.451-0.17-0.721-0.379-0.682-0.531 0.020-0.078 0.038-0.088 0.097-0.053 0.030 0.017 0.090 0.042 0.133 0.057zM15.822 16.424c0.018 0.008 0.037 0.013 0.042 0.010 0.023-0.023 0.677 0.193 0.904 0.299 0.349 0.165 0.441 0.213 0.626 0.335 0.105 0.070 0.283 0.138 0.381 0.148 0.023 0.002 0.050 0.005 0.060 0.005 0.010 0.002 0.018 0.033 0.020 0.068 0.003 0.062-0.002 0.068-0.073 0.108s-0.228 0.095-0.253 0.090c-0.012-0.002-0.060 0.010-0.25 0.063-0.088 0.025-0.108 0.067-0.023 0.050 0.097-0.020 0.582 0.117 0.632 0.178 0.010 0.012 0.013 0.085 0.008 0.186l-0.010 0.168-0.068 0.048c-0.037 0.028-0.195 0.155-0.351 0.285-0.155 0.128-0.343 0.278-0.416 0.329-0.309 0.223-0.968 0.476-1.241 0.476-0.080 0-0.098-0.007-0.138-0.048-0.027-0.028-0.050-0.067-0.053-0.088-0.005-0.035-0.107-0.326-0.141-0.404-0.072-0.162-0.191-0.524-0.208-0.629-0.005-0.030-0.012-0.072-0.017-0.095-0.038-0.191-0.057-0.686-0.033-0.948 0.005-0.068 0.010-0.136 0.012-0.15 0.010-0.123 0.105-0.353 0.173-0.416 0.070-0.065 0.153-0.093 0.275-0.090 0.062 0.002 0.126 0.012 0.145 0.022zM18.569 17.141c0.091 0.040 0.111 0.062 0.161 0.17 0.062 0.132 0.058 0.309-0.007 0.431-0.067 0.13-0.163 0.18-0.338 0.181-0.203 0-0.198 0.003-0.251-0.24-0.027-0.115-0.042-0.218-0.037-0.226 0.005-0.010 0.002-0.017-0.007-0.017-0.012 0-0.018-0.042-0.018-0.105 0-0.097 0.003-0.105 0.047-0.127 0.21-0.105 0.324-0.121 0.449-0.068zM18.932 18.188c0.038 0.018 0.13 0.073 0.203 0.125 0.165 0.115 0.291 0.175 0.401 0.188l0.085 0.010v0.1c0 0.056-0.007 0.185-0.017 0.285-0.008 0.102-0.023 0.368-0.033 0.592-0.025 0.567-0.053 0.845-0.135 1.348-0.035 0.223-0.088 0.408-0.116 0.413-0.032 0.005-0.225-0.388-0.506-1.037-0.354-0.817-0.552-1.193-0.8-1.527-0.060-0.082-0.106-0.158-0.103-0.17 0.003-0.013 0.043-0.068 0.088-0.125l0.083-0.102 0.075 0.012c0.123 0.018 0.173 0.010 0.353-0.068 0.196-0.085 0.306-0.096 0.423-0.043zM20.478 18.481c0.125 0.033 0.271 0.111 0.369 0.198 0.1 0.088 0.205 0.221 0.205 0.26 0 0.033-0.496 0.895-0.79 1.374-0.281 0.458-0.666 1.008-0.717 1.028-0.033 0.013-0.030-0.010 0.027-0.228 0.12-0.468 0.216-1.157 0.275-1.959 0.013-0.188 0.025-0.403 0.025-0.479 0-0.135 0.002-0.138 0.047-0.155 0.176-0.068 0.393-0.083 0.561-0.040zM17.71 18.9c0.359 0.508 0.581 0.935 1.038 2.022 0.095 0.228 0.173 0.424 0.173 0.438 0 0.040-0.048 0.030-0.336-0.068-0.516-0.178-0.995-0.381-1.563-0.664-0.398-0.198-0.78-0.406-0.78-0.422 0-0.007 0.015-0.062 0.035-0.12 0.090-0.278 0.283-0.547 0.554-0.776 0.16-0.135 0.734-0.536 0.769-0.537 0.010 0 0.060 0.058 0.11 0.128zM23.987 21.283c0.171 0.083 0.344 0.255 0.426 0.424 0.105 0.216 0.216 0.592 0.378 1.258 0.067 0.276 0.075 0.334 0.083 0.566 0.007 0.225 0.003 0.276-0.027 0.404-0.087 0.366-0.296 0.647-0.579 0.78-0.278 0.131-0.979 0.185-1.338 0.103-0.092-0.020-0.115-0.032-0.115-0.057 0-0.053 0.213-0.12 0.612-0.193 0.321-0.058 0.468-0.092 0.478-0.108 0.008-0.013-0.023-0.023-0.2-0.067-0.105-0.027-0.636-0.027-0.94-0.002-0.123 0.012-0.346 0.025-0.494 0.030l-0.268 0.012-0.010-0.090c-0.005-0.050-0.033-0.323-0.062-0.606-0.072-0.732-0.146-1.208-0.241-1.539l-0.027-0.091 0.072-0.062c0.138-0.118 0.456-0.26 1.027-0.453 0.323-0.11 0.531-0.195 0.661-0.271 0.153-0.090 0.203-0.105 0.333-0.1 0.090 0.005 0.143 0.018 0.231 0.060zM21.218 22.142c0.063 0.038 0.22 0.463 0.291 0.782 0.081 0.366 0.15 1.057 0.138 1.403l-0.005 0.171-0.216 0.073c-0.118 0.040-0.263 0.078-0.319 0.083l-0.102 0.012-0.010-0.072c-0.005-0.040-0.022-0.19-0.035-0.331-0.015-0.141-0.072-0.546-0.127-0.899-0.1-0.647-0.165-1.117-0.165-1.19 0-0.038 0.007-0.040 0.13-0.047 0.171-0.010 0.394-0.002 0.419 0.013zM17.865 22.15c0.381 0.023 1.067 0.102 1.102 0.125 0.008 0.005 0.053 0.378 0.070 0.574 0.023 0.273 0.032 0.426 0.060 1.123 0.025 0.562 0.032 0.656 0.083 1.198 0.032 0.333 0.055 0.769 0.075 1.423 0.030 0.982 0.067 1.464 0.143 1.92 0.022 0.136 0.038 0.25 0.037 0.251-0.017 0.010-0.285 0.078-0.446 0.115-0.478 0.105-0.945 0.15-1.523 0.15-0.671-0.002-1.181-0.052-1.789-0.173-0.275-0.055-0.724-0.168-0.74-0.186-0.003-0.003-0.053-0.163-0.113-0.356-0.428-1.38-0.727-2.737-0.959-4.341-0.093-0.637-0.188-1.459-0.173-1.473 0.018-0.017 0.88-0.156 1.27-0.208 0.537-0.068 1.142-0.121 1.672-0.146 0.263-0.013 0.994-0.010 1.231 0.005zM20.123 22.258c0.090 0.334 0.15 0.819 0.23 1.864 0.028 0.356 0.057 0.709 0.065 0.782 0.010 0.087 0.010 0.136-0.002 0.143-0.017 0.010-0.479 0.095-0.79 0.145-0.125 0.020-0.188 0.023-0.188 0.013s-0.012-0.165-0.025-0.343c-0.055-0.73-0.076-1.208-0.087-1.877-0.005-0.386-0.005-0.702 0-0.702s0.057-0.012 0.113-0.027c0.125-0.032 0.353-0.053 0.537-0.050 0.133 0.002 0.133 0.002 0.146 0.052zM20.080 25.588c0.030 0.008 0.038 0.027 0.047 0.111 0.007 0.056 0.053 0.298 0.103 0.536 0.125 0.596 0.158 0.809 0.168 1.098l0.010 0.25-0.19 0.062c-0.105 0.033-0.226 0.068-0.273 0.078-0.091 0.018-0.374 0.043-0.374 0.033 0-0.003-0.015-0.25-0.035-0.547-0.018-0.298-0.038-0.764-0.043-1.037l-0.010-0.494h0.053c0.030 0 0.127-0.018 0.215-0.040 0.088-0.023 0.185-0.045 0.211-0.048 0.028-0.003 0.058-0.008 0.066-0.008 0.010-0.002 0.033 0.002 0.052 0.007zM15.91 6.154c-0.14 0.023-0.336 0.111-0.524 0.236-0.158 0.103-0.414 0.363-0.521 0.526-0.143 0.218-0.236 0.509-0.211 0.659 0.012 0.067 0.088 0.165 0.128 0.165 0.012 0 0.052-0.062 0.088-0.138 0.142-0.29 0.358-0.569 0.556-0.716 0.115-0.085 0.295-0.166 0.446-0.203 0.095-0.023 0.167-0.027 0.358-0.020 0.13 0.005 0.255 0.013 0.276 0.020 0.032 0.010 0.040 0.003 0.062-0.048 0.040-0.093 0.032-0.163-0.028-0.253-0.117-0.173-0.381-0.27-0.629-0.228zM21.285 7.951c0 0.226 0.055 0.449 0.203 0.819 0.045 0.113 0.080 0.221 0.076 0.241-0.008 0.053-0.158 0.090-0.451 0.11-0.258 0.018-0.283 0.022-0.406 0.053-0.065 0.017-0.072 0.023-0.072 0.068 0 0.16 0.115 0.306 0.276 0.354 0.261 0.075 0.709-0.062 0.945-0.286 0.145-0.14 0.143-0.13 0.025-0.326-0.096-0.158-0.289-0.544-0.491-0.982-0.045-0.1-0.087-0.18-0.093-0.18-0.008 0-0.013 0.058-0.013 0.128zM17.033 7.921c-0.040 0.235 0.108 0.689 0.374 1.145 0.060 0.101 0.1 0.188 0.097 0.21-0.012 0.086-0.268 0.158-0.486 0.136-0.065-0.007-0.22-0.030-0.343-0.052-0.3-0.053-0.34-0.053-0.364 0.005-0.047 0.113-0.050 0.156-0.023 0.223 0.073 0.186 0.369 0.298 0.79 0.298 0.348 0 0.483-0.045 0.679-0.226 0.082-0.077 0.105-0.11 0.126-0.186 0.030-0.103 0.023-0.206-0.020-0.29-0.015-0.030-0.112-0.14-0.213-0.246-0.21-0.22-0.255-0.293-0.419-0.679-0.062-0.145-0.128-0.295-0.148-0.336l-0.038-0.073-0.012 0.072zM19.185 8.224c-0.025 0.013-0.030 0.040-0.030 0.138 0 0.456 0.265 1.055 0.729 1.657 0.12 0.153 0.523 0.637 0.687 0.824 0.166 0.19 0.223 0.351 0.181 0.527-0.027 0.113-0.093 0.245-0.13 0.258-0.015 0.005-0.185 0.083-0.378 0.173-0.446 0.206-0.596 0.268-0.782 0.321-0.221 0.062-0.388 0.083-0.567 0.072-0.29-0.017-0.349-0.073-0.438-0.418-0.028-0.108-0.052-0.201-0.052-0.203 0-0.003-0.006-0.007-0.017-0.007-0.028 0-0.098 0.16-0.117 0.273-0.035 0.196 0.035 0.443 0.171 0.601l0.058 0.067 0.251 0.005c0.679 0.017 1.306-0.186 2.072-0.667l0.248-0.156 0.028-0.115c0.015-0.063 0.047-0.168 0.070-0.231 0.023-0.065 0.052-0.16 0.062-0.211 0.033-0.16 0.020-0.185-0.261-0.461-0.724-0.709-1.513-1.805-1.607-2.236-0.018-0.081-0.043-0.146-0.072-0.178-0.043-0.053-0.063-0.058-0.108-0.032zM10.973 10.034c-0.16 0.055-0.28 0.185-0.343 0.374-0.040 0.117-0.037 0.123 0.035 0.058 0.1-0.097 0.136-0.115 0.231-0.115 0.047 0 0.092 0.007 0.097 0.017 0.005 0.008-0.010 0.078-0.035 0.153-0.037 0.115-0.046 0.176-0.053 0.364-0.008 0.261 0.018 0.429 0.095 0.589 0.098 0.205 0.096 0.208 0.105-0.226 0.008-0.339 0.013-0.403 0.045-0.501 0.058-0.181 0.171-0.258 0.309-0.213 0.083 0.028 0.148 0.112 0.261 0.343 0.057 0.115 0.126 0.235 0.156 0.27l0.053 0.062 0.012-0.115c0.052-0.478-0.22-0.93-0.637-1.058-0.131-0.040-0.218-0.042-0.331-0.002zM21.193 12.342c-0.634 0.336-0.855 0.423-1.213 0.481-0.081 0.013-0.155 0.033-0.163 0.045-0.015 0.025-0.018 0.426-0.003 0.516 0.010 0.062 0.013 0.063 0.080 0.063 0.113 0 0.363-0.060 0.516-0.121 0.384-0.156 0.762-0.534 1.033-1.032 0.033-0.062 0.058-0.111 0.055-0.111-0.002 0-0.14 0.072-0.305 0.16zM17.068 12.667c0.115 0.213 0.419 0.446 0.764 0.579 0.414 0.163 1.065 0.264 1.572 0.248l0.158-0.005-0.003-0.225c-0.002-0.123-0.010-0.258-0.017-0.3l-0.015-0.075-0.572-0.010c-0.942-0.017-1.426-0.091-1.904-0.29-0.027-0.012-0.025-0.002 0.017 0.077zM16.714 13.166c-0.085 0.025-0.096 0.067-0.040 0.141 0.027 0.037 0.087 0.102 0.135 0.148 0.047 0.045 0.153 0.178 0.236 0.294s0.196 0.266 0.253 0.333c0.294 0.344 0.619 0.463 1.266 0.463 0.531 0 1.018-0.098 1.185-0.24 0.052-0.043 0.171-0.21 0.171-0.238 0-0.008-0.271-0.012-0.604-0.008-0.995 0.012-1.409-0.045-1.817-0.245-0.276-0.136-0.469-0.321-0.579-0.554-0.048-0.103-0.058-0.113-0.103-0.111-0.027 0-0.075 0.008-0.103 0.017zM18.845 18.77c-0.1 0.060-0.113 0.206-0.028 0.291 0.123 0.123 0.321 0.033 0.321-0.146 0-0.050-0.012-0.075-0.057-0.12-0.067-0.067-0.153-0.076-0.236-0.025zM19.097 19.651c-0.090 0.030-0.141 0.1-0.141 0.191 0 0.052 0.012 0.076 0.057 0.122 0.048 0.048 0.068 0.057 0.133 0.057 0.060 0 0.087-0.010 0.13-0.048 0.048-0.043 0.055-0.058 0.055-0.133 0-0.072-0.006-0.092-0.050-0.133-0.052-0.050-0.126-0.073-0.183-0.055zM23.232 22.017c-0.409 0.073-0.742 0.24-0.932 0.466l-0.070 0.083h0.078c0.175 0 0.358-0.076 0.757-0.316 0.241-0.145 0.384-0.22 0.483-0.25 0.083-0.027-0.138-0.015-0.316 0.017zM22.887 22.715c-0.116 0.022-0.253 0.076-0.313 0.125-0.042 0.035-0.047 0.045-0.025 0.060 0.037 0.025 0.587 0.005 0.973-0.035 0.175-0.018 0.331-0.033 0.349-0.035 0.055-0.003-0.14-0.060-0.308-0.088-0.19-0.033-0.558-0.048-0.677-0.027zM22.737 23.406c-0.093 0.025-0.213 0.081-0.228 0.105s0.235 0.037 0.913 0.047c0.567 0.006 0.627 0.005 0.579-0.017-0.078-0.037-0.371-0.106-0.563-0.135-0.21-0.032-0.586-0.032-0.702 0z\"},\"child\":[]}]})(props);\n};\nexport function DiJira (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.294 4.624c-0.96 0-1.737 0.777-1.737 1.739 0 0.96 0.777 1.739 1.737 1.739 0.961 0 1.737-0.779 1.737-1.739 0-0.962-0.776-1.739-1.737-1.739zM21.707 4.624c-0.96 0-1.737 0.777-1.737 1.739 0 0.96 0.776 1.739 1.737 1.739 0.958 0 1.737-0.779 1.737-1.739 0-0.962-0.779-1.737-1.737-1.739zM16.001 3.037c-0.96 0-1.737 0.776-1.737 1.739 0 0.96 0.777 1.739 1.737 1.739s1.737-0.779 1.737-1.739c0-0.963-0.776-1.739-1.737-1.739zM25.289 9.393c-1.176 0.45-2.371 0.791-3.461 1.045-0.222 0.052-0.402 0.217-0.477 0.415-0.794 2.176-2.823 4.247-4.951 6.418-0.085 0.082-0.205 0.188-0.4 0.188s-0.313-0.104-0.4-0.188c-2.128-2.17-4.156-4.235-4.951-6.41-0.075-0.198-0.254-0.364-0.476-0.415-1.091-0.254-2.288-0.606-3.463-1.056-0.063-0.024-0.129-0.036-0.194-0.036-0.118 0-0.232 0.037-0.329 0.111-0.151 0.115-0.229 0.301-0.211 0.481 0.18 1.809 0.895 3.578 2.185 5.432 1.213 1.743 2.795 3.356 4.324 4.916 2.818 2.875 5.48 5.589 5.714 8.738 0.021 0.284 0.258 0.504 0.543 0.504h3.311c0.149 0 0.291-0.061 0.394-0.169s0.157-0.253 0.149-0.402c-0.104-2.105-0.896-4.213-2.422-6.443-0.32-0.468-0.662-0.922-1.020-1.368-0.145-0.181-0.084-0.407 0.027-0.52 0.11-0.113 0.22-0.225 0.332-0.339 1.53-1.56 3.111-3.173 4.324-4.916 1.29-1.854 2.005-3.612 2.185-5.421zM12.448 22.741c-0.078-0.082-0.193-0.166-0.387-0.166-0.247 0-0.394 0.171-0.449 0.256-1.393 2.119-2.112 4.119-2.211 6.13-0.007 0.148 0.047 0.295 0.15 0.404s0.247 0.17 0.396 0.17h3.305c0.284 0 0.524-0.222 0.545-0.506 0.072-0.969 0.374-1.94 0.923-2.96 0.19-0.353 0.042-0.685-0.067-0.826-0.545-0.709-1.212-1.464-2.205-2.5zM16.004 11.091c1.037 0 1.639-0.063 1.851-0.063 0.256 0 0.501 0.21 0.501 0.504 0 0.086-0.020 0.147-0.040 0.201-0.138 0.368-0.765 1.692-1.933 2.827-0.131 0.127-0.279 0.151-0.382 0.151h-0.001c-0.102 0-0.25-0.024-0.381-0.151-1.168-1.135-1.795-2.459-1.932-2.827-0.020-0.054-0.041-0.115-0.041-0.201 0-0.294 0.245-0.504 0.501-0.504 0.211 0 0.813 0.063 1.85 0.063h0.007z\"},\"child\":[]}]})(props);\n};\nexport function DiJoomla (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.091 10.978c-0.51 1.706-0.093 3.63 1.254 4.977l5.023 5.018 2.227-2.228-5.023-5.018c-0.72-0.721-0.722-1.897 0.004-2.623 0.724-0.724 1.896-0.724 2.619-0.001l0.173 0.174 2.229-2.228-0.173-0.173c-1.271-1.271-3.054-1.715-4.684-1.333-0.234-1.435-1.479-2.53-2.981-2.531-1.668 0-3.019 1.353-3.020 3.021-0 1.439 1.005 2.642 2.352 2.947zM11.272 13.897l2.229 2.228 5.022-5.018c0.726-0.726 1.896-0.724 2.617-0.004 0.723 0.723 0.723 1.896-0.001 2.62l-0.172 0.172 2.227 2.229 0.174-0.174c1.332-1.334 1.756-3.232 1.27-4.925 1.48-0.195 2.622-1.462 2.622-2.995 0.001-1.669-1.352-3.021-3.020-3.021-1.527 0-2.789 1.133-2.992 2.603-1.699-0.499-3.611-0.077-4.953 1.264l-0.435 0.434-4.589 4.585zM24.693 21.55c0.398-1.639-0.044-3.442-1.325-4.723l-5.016-5.021-2.229 2.227 5.016 5.021c0.726 0.726 0.725 1.895 0.004 2.617-0.723 0.722-1.897 0.722-2.62-0.001l-0.171-0.171-2.227 2.229 0.171 0.171c1.357 1.356 3.299 1.771 5.012 1.244 0.279 1.38 1.499 2.418 2.961 2.418 1.667 0 3.020-1.351 3.020-3.020 0-1.524-1.128-2.785-2.596-2.991zM20.44 18.882l-2.227-2.229-5.018 5.021c-0.72 0.721-1.896 0.723-2.622-0.003-0.724-0.725-0.724-1.896-0.001-2.62l0.172-0.171-2.229-2.227-0.17 0.17c-1.296 1.295-1.732 3.123-1.311 4.778-1.332 0.314-2.323 1.512-2.323 2.94-0 1.668 1.352 3.020 3.021 3.020 1.435-0.001 2.636-1.001 2.944-2.343 1.647 0.409 3.461-0.029 4.748-1.316l5.016-5.020z\"},\"child\":[]}]})(props);\n};\nexport function DiJqueryLogo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.232 24.047c-0.15-0.034-0.295-0.081-0.441-0.124-0.037-0.011-0.074-0.022-0.11-0.033-0.143-0.044-0.284-0.090-0.425-0.139-0.019-0.007-0.039-0.014-0.058-0.021-0.126-0.045-0.251-0.091-0.375-0.139-0.035-0.014-0.070-0.027-0.105-0.041-0.136-0.054-0.271-0.11-0.405-0.168-0.027-0.012-0.054-0.024-0.081-0.036-0.115-0.052-0.228-0.105-0.341-0.159-0.033-0.016-0.065-0.031-0.099-0.047-0.089-0.043-0.177-0.090-0.264-0.134-0.059-0.031-0.118-0.060-0.176-0.092-0.107-0.058-0.212-0.117-0.317-0.178-0.035-0.020-0.071-0.038-0.107-0.059-0.139-0.081-0.277-0.166-0.412-0.252-0.037-0.024-0.074-0.050-0.111-0.074-0.099-0.063-0.197-0.128-0.293-0.195-0.032-0.021-0.063-0.045-0.094-0.066-0.093-0.066-0.186-0.132-0.277-0.2-0.042-0.031-0.082-0.062-0.123-0.093-0.084-0.064-0.168-0.129-0.25-0.196-0.037-0.030-0.075-0.060-0.112-0.090-0.105-0.087-0.209-0.173-0.312-0.263-0.011-0.009-0.023-0.018-0.034-0.028-0.111-0.097-0.22-0.197-0.328-0.298-0.031-0.030-0.062-0.059-0.092-0.088-0.080-0.076-0.158-0.153-0.235-0.231-0.031-0.031-0.062-0.061-0.092-0.092-0.098-0.101-0.194-0.203-0.289-0.306-0.005-0.005-0.010-0.010-0.014-0.015-0.1-0.109-0.197-0.221-0.293-0.334-0.026-0.031-0.051-0.060-0.077-0.091-0.071-0.086-0.142-0.173-0.211-0.261-0.026-0.031-0.052-0.064-0.077-0.096-0.083-0.108-0.164-0.215-0.243-0.324-2.197-2.996-2.986-7.129-1.23-10.523l-1.556 1.974c-1.994 2.866-1.746 6.595-0.223 9.64 0.036 0.073 0.074 0.145 0.112 0.217 0.024 0.045 0.046 0.092 0.071 0.137 0.014 0.027 0.030 0.053 0.044 0.079 0.026 0.049 0.053 0.095 0.079 0.142 0.047 0.083 0.096 0.166 0.145 0.249 0.027 0.045 0.055 0.091 0.083 0.136 0.055 0.089 0.111 0.176 0.169 0.264 0.024 0.037 0.047 0.075 0.072 0.111 0.080 0.118 0.161 0.236 0.244 0.353 0.002 0.003 0.005 0.006 0.007 0.009 0.013 0.018 0.028 0.037 0.041 0.056 0.072 0.1 0.147 0.199 0.223 0.296 0.028 0.036 0.056 0.072 0.084 0.107 0.067 0.085 0.136 0.169 0.206 0.253 0.026 0.031 0.052 0.063 0.079 0.094 0.094 0.11 0.189 0.22 0.287 0.328 0.002 0.002 0.004 0.004 0.006 0.005 0.004 0.005 0.008 0.008 0.011 0.013 0.095 0.104 0.193 0.206 0.291 0.307 0.031 0.032 0.062 0.063 0.093 0.094 0.076 0.077 0.154 0.153 0.233 0.228 0.032 0.030 0.063 0.061 0.095 0.091 0.105 0.099 0.211 0.196 0.319 0.291 0.002 0.001 0.003 0.003 0.005 0.004 0.018 0.016 0.038 0.032 0.056 0.047 0.095 0.082 0.192 0.164 0.29 0.245 0.040 0.032 0.080 0.064 0.12 0.096 0.080 0.064 0.16 0.127 0.241 0.189 0.043 0.033 0.086 0.066 0.129 0.098 0.089 0.066 0.18 0.131 0.271 0.194 0.033 0.024 0.065 0.047 0.099 0.070 0.009 0.006 0.018 0.013 0.027 0.019 0.086 0.060 0.175 0.116 0.263 0.174 0.038 0.025 0.075 0.051 0.114 0.076 0.136 0.086 0.273 0.171 0.412 0.253 0.038 0.022 0.076 0.043 0.114 0.064 0.102 0.059 0.205 0.117 0.309 0.174 0.056 0.030 0.114 0.059 0.171 0.088 0.073 0.038 0.147 0.078 0.221 0.115 0.017 0.009 0.035 0.017 0.051 0.025 0.030 0.014 0.060 0.028 0.091 0.044 0.116 0.055 0.233 0.11 0.351 0.163 0.025 0.011 0.049 0.022 0.074 0.033 0.135 0.059 0.271 0.116 0.409 0.17 0.033 0.014 0.066 0.026 0.1 0.039 0.127 0.049 0.256 0.098 0.386 0.143 0.016 0.006 0.032 0.012 0.049 0.017 0.142 0.050 0.286 0.096 0.43 0.141 0.034 0.010 0.069 0.021 0.104 0.031 0.147 0.044 0.293 0.097 0.445 0.125 9.643 1.759 12.444-5.795 12.444-5.795-2.352 3.065-6.528 3.873-10.485 2.974zM12.758 16.231c0.216 0.31 0.456 0.678 0.742 0.927 0.104 0.114 0.213 0.226 0.324 0.336 0.028 0.029 0.057 0.056 0.085 0.084 0.108 0.105 0.217 0.207 0.33 0.307 0.005 0.003 0.009 0.008 0.014 0.012 0.001 0.001 0.002 0.002 0.003 0.003 0.125 0.11 0.255 0.216 0.386 0.319 0.029 0.022 0.058 0.046 0.088 0.069 0.132 0.101 0.266 0.2 0.404 0.295 0.004 0.003 0.008 0.006 0.012 0.009 0.061 0.042 0.123 0.081 0.184 0.122 0.030 0.019 0.058 0.040 0.088 0.058 0.098 0.063 0.198 0.125 0.299 0.183 0.014 0.009 0.028 0.016 0.042 0.024 0.087 0.051 0.176 0.1 0.265 0.148 0.031 0.018 0.063 0.033 0.094 0.049 0.061 0.032 0.123 0.064 0.185 0.096 0.009 0.004 0.019 0.009 0.028 0.012 0.127 0.063 0.255 0.123 0.386 0.18 0.028 0.012 0.057 0.023 0.085 0.035 0.105 0.045 0.21 0.088 0.316 0.129 0.045 0.017 0.091 0.033 0.135 0.050 0.097 0.036 0.193 0.069 0.291 0.101 0.044 0.014 0.087 0.028 0.131 0.042 0.139 0.043 0.276 0.098 0.42 0.122 7.445 1.233 9.164-4.499 9.164-4.499-1.549 2.232-4.55 3.296-7.752 2.465-0.142-0.038-0.282-0.078-0.422-0.122-0.043-0.013-0.084-0.027-0.127-0.041-0.099-0.032-0.197-0.066-0.295-0.102-0.045-0.017-0.089-0.033-0.133-0.050-0.107-0.041-0.213-0.084-0.317-0.128-0.029-0.013-0.058-0.024-0.086-0.036-0.131-0.057-0.261-0.117-0.389-0.18-0.066-0.032-0.13-0.066-0.195-0.099-0.037-0.019-0.075-0.038-0.112-0.058-0.083-0.045-0.165-0.092-0.246-0.139-0.019-0.011-0.040-0.022-0.059-0.033-0.101-0.059-0.2-0.12-0.299-0.182-0.030-0.019-0.060-0.040-0.090-0.060-0.065-0.042-0.13-0.085-0.193-0.128-0.137-0.095-0.271-0.194-0.402-0.294-0.030-0.024-0.061-0.047-0.091-0.071-1.401-1.107-2.512-2.619-3.041-4.334-0.554-1.778-0.434-3.775 0.525-5.395l-1.178 1.663c-1.442 2.075-1.364 4.853-0.239 7.048 0.189 0.368 0.401 0.725 0.638 1.065zM20.606 13.664c0.061 0.023 0.123 0.043 0.185 0.064 0.027 0.008 0.054 0.018 0.082 0.026 0.088 0.027 0.175 0.060 0.265 0.076 4.111 0.794 5.226-2.11 5.523-2.537-0.977 1.406-2.618 1.744-4.632 1.255-0.159-0.039-0.334-0.096-0.488-0.151-0.197-0.070-0.39-0.15-0.579-0.24-0.358-0.172-0.699-0.38-1.015-0.619-1.802-1.367-2.922-3.976-1.746-6.101l-0.637 0.877c-0.85 1.251-0.933 2.805-0.344 4.186 0.622 1.467 1.897 2.617 3.384 3.163z\"},\"child\":[]}]})(props);\n};\nexport function DiJqueryUiLogo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M24.81 6.334h-17.621c-1.391 0-2.517 1.114-2.517 2.488v7.464c0 5.495 4.508 9.951 10.069 9.951h2.518c5.561 0 10.069-4.456 10.069-9.951v-7.464c0-1.374-1.127-2.488-2.517-2.488zM16 22.506c-4.171 0-7.552-3.342-7.552-7.464v-3.732h3.776v3.732c0 2.061 1.69 3.732 3.776 3.732s3.775-1.671 3.775-3.732h3.776c0 4.122-3.381 7.464-7.552 7.464zM23.489 13.798l-3.65-0.933 0.881-3.608 3.713 0.933-0.944 3.607z\"},\"child\":[]}]})(props);\n};\nexport function DiJsBadge (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0.384 0.67v31.296h31.296v-31.296h-31.296zM16.718 27.442c-0.461 0.937-1.342 1.553-2.362 1.85-1.568 0.36-3.067 0.155-4.183-0.515-0.747-0.458-1.33-1.163-1.725-1.975 0.794-0.485 1.586-0.973 2.38-1.458 0.021 0.009 0.083 0.122 0.167 0.268 0.303 0.509 0.565 0.869 1.080 1.121 0.506 0.172 1.615 0.283 2.044-0.607 0.262-0.452 0.178-1.936 0.178-3.545 0-2.529 0.012-5.016 0.012-7.576h2.927c0 2.688 0.015 5.383 0 8.067 0.006 1.645 0.149 3.14-0.518 4.369zM28.862 26.615c-1.017 3.481-6.691 3.594-8.957 1.294-0.479-0.541-0.779-0.824-1.065-1.449 1.205-0.693 1.205-0.693 2.377-1.371 0.637 0.979 1.226 1.517 2.285 1.737 1.437 0.175 2.883-0.318 2.559-1.844-0.333-1.247-2.942-1.55-4.718-2.883-1.803-1.211-2.225-4.153-0.744-5.834 0.494-0.622 1.336-1.086 2.219-1.309 0.306-0.039 0.616-0.080 0.922-0.119 1.77-0.036 2.877 0.431 3.689 1.339 0.226 0.229 0.41 0.476 0.756 1.012-0.943 0.601-0.94 0.595-2.291 1.47-0.289-0.622-0.767-1.012-1.273-1.181-0.785-0.238-1.776 0.021-1.981 0.851-0.071 0.256-0.056 0.494 0.057 0.916 0.318 0.726 1.386 1.041 2.344 1.481 2.758 1.119 3.689 2.317 3.918 3.745 0.22 1.229-0.054 2.026-0.095 2.145z\"},\"child\":[]}]})(props);\n};\nexport function DiKomodo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M25.781 14.375c-1.717-1.554-3.629-2.731-5.849-3.416-3.039-0.938-6.15-1.334-9.325-1.394-1.413 0.101-2.826 0.207-4.24 0.3-0.218 0.014-0.342 0.102-0.443 0.292-0.643 1.21-0.992 2.508-1.152 3.859-0.355 2.995 0.175 5.877 1.127 8.704 0.082 0.244 0.228 0.321 0.483 0.274 0.989-0.181 1.984-0.336 2.972-0.524 1.668-0.317 3.326-0.679 4.879-1.394 0.871-0.401 1.682-0.881 2.109-1.815 0.043-0.095 0.249-0.17 0.374-0.161 0.255 0.018 0.512 0.079 0.758 0.156 1.49 0.467 2.97 0.965 4.466 1.411 1.017 0.303 2.053 0.543 3.083 0.8 0.409 0.102 0.779-0.021 1.027-0.354 0.296-0.395 0.616-0.797 0.798-1.248 0.756-1.881 0.808-3.792-1.067-5.489zM14.534 19.776c-0.817 0.459-1.705 0.733-2.612 0.938-1.708 0.385-3.421 0.749-5.13 1.129-0.223 0.050-0.323 0.004-0.373-0.232-0.317-1.517-0.642-3.032-0.976-4.545-0.054-0.247 0.044-0.319 0.258-0.368 0.705-0.163 1.391-0.072 2.008 0.266 0.786 0.431 1.525 0.949 2.298 1.406 0.55 0.325 1.103 0.659 1.691 0.901 0.887 0.366 1.768 0.248 2.588-0.247 0.245-0.148 0.504-0.3 0.689-0.51 0.305-0.346 0.632-0.316 1.039-0.158-0.348 0.651-0.874 1.079-1.482 1.42zM26.054 19.603c-0.437 0.777-0.955 1.050-1.811 0.821-1.126-0.302-2.243-0.649-3.339-1.046-1.93-0.699-3.874-1.331-5.906-1.669-0.391-0.065-0.783-0.2-1.139-0.376-0.618-0.307-0.892-0.899-0.781-1.583 0.145-0.899 0.639-1.607 1.254-2.246 0.052-0.054 0.104-0.109 0.155-0.165 0.005-0.005 0.001-0.018 0.001-0.069-3.302-0.041-6.337 0.782-9.105 2.658 0-0.169-0.008-0.307 0.001-0.444 0.101-1.451 0.351-2.865 0.92-4.219 0.231-0.551 0.567-0.789 1.173-0.833 3.349-0.245 6.684-0.168 9.994 0.418 2.89 0.511 5.484 1.677 7.665 3.676 0.372 0.341 0.754 0.705 1.009 1.131 0.236 0.396 0.376 0.881 0.436 1.343 0.118 0.913-0.071 1.794-0.526 2.603zM25.117 15.595c-1.559-1.598-3.339-2.838-5.436-3.601-1.856-0.675-3.794-0.914-5.756-0.97-1.479-0.042-2.95 0.021-4.393 0.396-0.978 0.254-1.785 0.734-2.29 1.641-0.030 0.053-0.051 0.111-0.093 0.202 0.094-0.012 0.148-0.017 0.201-0.026 1.511-0.255 3.018-0.538 4.534-0.756 1.264-0.182 2.546-0.261 3.807-0.003 2.575 0.527 4.764 1.796 6.666 3.586 0.020 0.019 0.027 0.052 0.072 0.143-0.119-0.078-0.173-0.117-0.229-0.151-0.596-0.363-1.19-0.729-1.789-1.087-0.208-0.124-0.42-0.199-0.677-0.101-0.24 0.091-0.497 0.16-0.752 0.181-0.172 0.014-0.437-0.017-0.509-0.127-0.096-0.147-0.061-0.391-0.052-0.592 0.004-0.081 0.087-0.158 0.143-0.251-0.996-0.518-2.051-0.723-3.137-0.808-0.061-0.005-0.136 0.023-0.186 0.060-0.331 0.252-0.594 0.563-0.613 0.995-0.035 0.791 0.16 1.537 0.793 2.040 0.587 0.467 1.225 0.901 1.901 1.22 2.555 1.207 5.294 1.549 8.085 1.59 0.089 0.001 0.228-0.107 0.262-0.196 0.474-1.231 0.454-2.354-0.55-3.384z\"},\"child\":[]}]})(props);\n};\nexport function DiKrakenjsBadge (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.838 16.093c-0.171 0-0.31 0.139-0.31 0.31s0.139 0.31 0.31 0.31c0.172 0 0.31-0.139 0.31-0.31s-0.139-0.31-0.31-0.31zM17.162 16.093c-0.172 0-0.311 0.139-0.311 0.31s0.139 0.31 0.311 0.31 0.31-0.139 0.31-0.31c0-0.171-0.139-0.31-0.31-0.31zM11.877 19.933l-0.038-0.018-0.053-0.028-0.062-0.036c-0.042-0.023-0.085-0.045-0.13-0.065-0.177-0.081-0.37-0.138-0.569-0.167s-0.404-0.035-0.601-0.009c-0.196 0.025-0.385 0.080-0.532 0.159-0.074 0.039-0.135 0.085-0.181 0.13s-0.075 0.089-0.094 0.135c-0.019 0.046-0.025 0.101-0.017 0.171 0.005 0.035 0.015 0.072 0.029 0.112 0.016 0.040 0.032 0.081 0.056 0.122 0.022 0.043 0.050 0.085 0.078 0.127l0.021 0.029 0.010 0.014c0.003 0.005 0.006 0.009 0.012 0.016l0.056 0.067c0.075 0.088 0.155 0.173 0.24 0.254 0.17 0.163 0.357 0.313 0.56 0.451 0.095 0.066 0.193 0.129 0.293 0.191 0-0.004 0.001-0.008 0.001-0.012l0.011-0.086c0.018-0.112 0.048-0.22 0.087-0.319 0.078-0.198 0.185-0.369 0.303-0.518 0.030-0.037 0.060-0.071 0.091-0.107l0.047-0.053c0.016-0.017 0.032-0.032 0.048-0.048l0.097-0.095c0.033-0.030 0.066-0.058 0.1-0.087l0.051-0.043c0.017-0.015 0.034-0.029 0.051-0.041l0.103-0.079 0.052-0.039c0.017-0.013 0.035-0.024 0.053-0.036l0.022-0.015c-0.054-0.018-0.106-0.039-0.156-0.061l-0.037-0.017zM22.289 19.899c-0.045-0.045-0.107-0.091-0.181-0.13-0.147-0.080-0.336-0.134-0.532-0.159s-0.402-0.021-0.601 0.009c-0.199 0.029-0.392 0.087-0.569 0.167-0.044 0.020-0.087 0.042-0.13 0.065l-0.062 0.036-0.053 0.028-0.038 0.018-0.037 0.017c-0.050 0.022-0.102 0.043-0.156 0.061l0.022 0.015c0.018 0.012 0.035 0.023 0.053 0.036l0.052 0.039 0.104 0.078c0.017 0.013 0.034 0.027 0.051 0.042l0.051 0.043c0.033 0.029 0.067 0.057 0.1 0.088l0.097 0.095c0.016 0.016 0.032 0.032 0.048 0.048l0.046 0.053c0.031 0.035 0.061 0.070 0.091 0.107 0.118 0.15 0.225 0.32 0.303 0.518 0.039 0.099 0.069 0.206 0.087 0.319l0.011 0.086c0 0.004 0.001 0.008 0.001 0.012 0.1-0.062 0.198-0.125 0.293-0.191 0.203-0.138 0.391-0.289 0.56-0.451 0.084-0.082 0.165-0.166 0.239-0.254l0.056-0.067c0.006-0.007 0.009-0.012 0.012-0.016l0.010-0.015 0.020-0.029c0.029-0.043 0.056-0.085 0.078-0.127 0.024-0.042 0.040-0.083 0.056-0.123 0.014-0.039 0.023-0.077 0.029-0.112 0.009-0.070 0.003-0.125-0.017-0.171s-0.048-0.089-0.095-0.135zM16 5.989l-9.621 4.726v11.14l9.621 4.726 9.621-4.726v-11.14l-9.621-4.726zM23.25 20.446c-0.031 0.088-0.069 0.17-0.111 0.247-0.043 0.075-0.089 0.146-0.139 0.209-0.050 0.065-0.102 0.124-0.155 0.18l-0.044 0.044-0.022 0.022c-0.007 0.007-0.015 0.015-0.020 0.020l-0.079 0.070c-0.108 0.093-0.22 0.179-0.334 0.26-0.231 0.16-0.473 0.294-0.717 0.409-0.224 0.105-0.45 0.193-0.673 0.276-0.001 0.003-0.002 0.006-0.003 0.009l-0.018 0.042c-0.006 0.014-0.014 0.026-0.021 0.040-0.014 0.026-0.029 0.052-0.044 0.078l-0.011 0.019-0.013 0.018-0.026 0.036c-0.018 0.024-0.035 0.048-0.054 0.070-0.153 0.178-0.347 0.301-0.544 0.374s-0.401 0.097-0.594 0.087c-0.024-0.001-0.049-0.002-0.073-0.004l-0.071-0.009-0.070-0.010c-0.023-0.004-0.046-0.010-0.069-0.015l-0.068-0.015c-0.012-0.003-0.022-0.005-0.034-0.009l-0.036-0.011-0.071-0.023-0.035-0.012c-0.012-0.004-0.025-0.008-0.032-0.012l-0.102-0.044-0.013-0.006c-0.007-0.003 0.012 0.004-0.017-0.006l-0.003-0.001-0.005-0.003-0.022-0.010-0.045-0.021c-0.030-0.015-0.060-0.027-0.090-0.040s-0.061-0.026-0.092-0.037c-0.123-0.048-0.25-0.086-0.379-0.114-0.258-0.056-0.526-0.077-0.783-0.039-0.128 0.019-0.254 0.053-0.369 0.104s-0.221 0.12-0.306 0.208c-0.011 0.012-0.022 0.022-0.032 0.034l-0.028 0.036-0.015 0.018-0.012 0.019-0.025 0.039c-0.029 0.054-0.056 0.112-0.071 0.174-0.004 0.016-0.009 0.031-0.012 0.047l-0.008 0.048-0.004 0.024c-0.001 0.008-0.001 0.017-0.002 0.025l-0.003 0.049c-0.002 0.033 0 0.065-0 0.098 0.003 0.036 0.008 0.073 0.012 0.11v0.001c0.005 0.046-0.028 0.087-0.074 0.092-0.041 0.004-0.078-0.021-0.090-0.060-0.010-0.035-0.022-0.070-0.032-0.107-0.008-0.040-0.018-0.082-0.023-0.122l-0.007-0.061c-0.001-0.010-0.002-0.020-0.003-0.030l-0-0.031-0-0.062c0-0.021 0.003-0.042 0.004-0.062 0.006-0.084 0.027-0.167 0.054-0.248l0.025-0.060 0.012-0.030 0.015-0.029 0.031-0.057c0.011-0.019 0.023-0.036 0.035-0.054 0.023-0.038 0.051-0.070 0.078-0.104 0.013-0.018 0.029-0.032 0.043-0.047s0.029-0.032 0.045-0.046c0.063-0.058 0.13-0.112 0.201-0.157 0.142-0.093 0.296-0.161 0.453-0.211 0.316-0.099 0.647-0.128 0.972-0.106 0.163 0.011 0.325 0.034 0.484 0.070 0.040 0.008 0.080 0.019 0.119 0.029s0.079 0.020 0.118 0.032l0.059 0.018 0.029 0.009 0.007 0.002 0.004 0.001c-0.026-0.010-0.005-0.002-0.010-0.004l0.013 0.004 0.107 0.030c0.010 0.003 0.015 0.003 0.021 0.004l0.018 0.002 0.035 0.005 0.018 0.003c0.006 0.001 0.013 0.001 0.020 0.002l0.041 0.003c0.013 0.001 0.027 0.003 0.040 0.003l0.040-0.001 0.039-0c0.013-0.001 0.025-0.003 0.038-0.005 0.101-0.010 0.194-0.040 0.267-0.081s0.127-0.096 0.157-0.148c0.028-0.055 0.035-0.105 0.029-0.16s-0.026-0.119-0.068-0.19c-0.042-0.071-0.102-0.146-0.177-0.219-0.155-0.145-0.358-0.28-0.582-0.392l-0.041-0.022-0.131-0.060c-0.057-0.028-0.12-0.050-0.18-0.075l-0.206-0.084-0.102-0.042-0.013-0.005-0.015-0.007-0.029-0.013-0.059-0.027c-0.072-0.034-0.144-0.067-0.211-0.103-0.455-0.206-1.407-0.586-2.26-0.586s-1.805 0.379-2.26 0.586c-0.068 0.036-0.14 0.069-0.212 0.103l-0.059 0.027v0l-0.030 0.013-0.015 0.007-0.013 0.005-0.102 0.042-0.206 0.084c-0.060 0.025-0.123 0.047-0.18 0.075l-0.131 0.060-0.041 0.022c-0.225 0.112-0.428 0.247-0.582 0.392-0.075 0.073-0.135 0.148-0.177 0.219s-0.062 0.135-0.068 0.19c-0.005 0.055 0.001 0.106 0.030 0.16 0.030 0.053 0.083 0.107 0.157 0.148s0.166 0.071 0.267 0.081c0.013 0.001 0.025 0.003 0.038 0.005l0.039 0 0.040 0.001c0.013 0 0.027-0.002 0.040-0.003l0.041-0.003c0.007-0 0.014-0.001 0.020-0.002l0.018-0.003 0.035-0.005 0.018-0.002c0.006-0.001 0.011-0.001 0.021-0.004l0.12-0.033c-0.005 0.002 0.016-0.006-0.011 0.004l0.004-0.001 0.007-0.002 0.029-0.009 0.059-0.018c0.039-0.012 0.079-0.022 0.118-0.032s0.079-0.021 0.119-0.029c0.159-0.036 0.322-0.059 0.484-0.070 0.325-0.022 0.656 0.007 0.972 0.106 0.158 0.050 0.312 0.119 0.453 0.211 0.071 0.045 0.138 0.099 0.201 0.157 0.015 0.014 0.030 0.030 0.045 0.046s0.030 0.030 0.043 0.047c0.027 0.034 0.055 0.066 0.078 0.104 0.012 0.018 0.024 0.035 0.035 0.054l0.031 0.057 0.015 0.029 0.013 0.030 0.024 0.060c0.027 0.081 0.048 0.164 0.054 0.248 0.002 0.020 0.005 0.041 0.005 0.062l-0 0.062-0 0.031c-0.001 0.010-0.002 0.020-0.003 0.030l-0.007 0.061c-0.005 0.040-0.015 0.082-0.023 0.122-0.010 0.037-0.021 0.071-0.032 0.107-0.011 0.038-0.049 0.064-0.089 0.060-0.046-0.005-0.080-0.046-0.075-0.092v-0.001c0.004-0.037 0.009-0.074 0.012-0.11-0-0.033 0.002-0.064 0-0.098l-0.004-0.049c-0.001-0.008-0.001-0.017-0.002-0.025l-0.004-0.024-0.008-0.048c-0.003-0.016-0.008-0.031-0.012-0.047-0.015-0.062-0.042-0.119-0.071-0.174l-0.025-0.039-0.012-0.019-0.014-0.018-0.028-0.036c-0.010-0.012-0.021-0.023-0.032-0.034-0.085-0.089-0.191-0.157-0.306-0.208s-0.241-0.085-0.369-0.104c-0.258-0.038-0.526-0.017-0.783 0.039-0.129 0.028-0.256 0.066-0.379 0.114-0.031 0.011-0.062 0.024-0.092 0.037s-0.061 0.025-0.090 0.040l-0.044 0.021-0.022 0.010-0.006 0.003-0.003 0.001c-0.029 0.011-0.010 0.004-0.017 0.007l-0.013 0.006-0.102 0.044c-0.007 0.004-0.020 0.008-0.032 0.012l-0.035 0.012-0.072 0.023-0.036 0.011c-0.012 0.004-0.023 0.005-0.034 0.009l-0.068 0.015c-0.023 0.005-0.045 0.011-0.069 0.015l-0.070 0.010-0.071 0.009c-0.024 0.002-0.048 0.003-0.072 0.004-0.193 0.009-0.396-0.015-0.594-0.087s-0.391-0.195-0.544-0.374c-0.018-0.023-0.036-0.047-0.054-0.070l-0.026-0.036-0.013-0.018-0.012-0.019c-0.015-0.026-0.030-0.052-0.044-0.078-0.007-0.013-0.015-0.026-0.021-0.040l-0.018-0.042c-0.001-0.003-0.002-0.006-0.004-0.009-0.223-0.083-0.449-0.171-0.673-0.276-0.245-0.114-0.487-0.249-0.717-0.409-0.115-0.081-0.227-0.167-0.334-0.26l-0.079-0.070c-0.005-0.005-0.013-0.012-0.020-0.020l-0.022-0.022-0.044-0.043c-0.053-0.056-0.106-0.115-0.155-0.18-0.050-0.063-0.096-0.134-0.139-0.209-0.042-0.076-0.080-0.158-0.111-0.247-0.060-0.177-0.088-0.385-0.056-0.592 0.030-0.206 0.115-0.401 0.225-0.559s0.243-0.287 0.382-0.392c0.279-0.209 0.581-0.337 0.887-0.418 0.025-0.006 0.050-0.012 0.075-0.018-0.077-0.1-0.147-0.203-0.211-0.309-0.131-0.217-0.24-0.448-0.314-0.697-0.072-0.248-0.106-0.515-0.074-0.778 0.031-0.263 0.131-0.515 0.281-0.718 0.074-0.102 0.157-0.194 0.247-0.276l0.068-0.060c0.024-0.019 0.047-0.038 0.070-0.056l0.073-0.054 0.071-0.048c0.032-0.022 0.076-0.019 0.105 0.009 0.034 0.032 0.035 0.085 0.003 0.119l-0.059 0.062-0.053 0.061-0.051 0.063-0.049 0.065c-0.063 0.087-0.116 0.179-0.158 0.273-0.084 0.188-0.119 0.385-0.105 0.577s0.075 0.38 0.165 0.556c0.090 0.177 0.208 0.343 0.342 0.497 0.067 0.076 0.138 0.15 0.211 0.217 0.018 0.017 0.037 0.033 0.055 0.048 0.009 0.007 0.018 0.015 0.026 0.021l0.003 0.002 0.001 0c0.001 0.001-0.011-0.011-0.005-0.005 0-0-0-0-0-0.001s0.001 0 0.001 0.001l0.011 0.007c0.034 0.022 0.075 0.048 0.116 0.071 0.167 0.092 0.347 0.166 0.527 0.21s0.362 0.063 0.537 0.054c0.175-0.008 0.345-0.045 0.507-0.104 0.007-0.003 0.015-0.005 0.022-0.008-0.034-0.005-0.068-0.010-0.102-0.017-0.107-0.021-0.216-0.053-0.325-0.098s-0.216-0.105-0.314-0.179c-0.098-0.074-0.186-0.162-0.26-0.256s-0.133-0.195-0.178-0.295c-0.046-0.1-0.078-0.2-0.103-0.298-0.024-0.097-0.040-0.193-0.049-0.286-0.019-0.186-0.015-0.362-0.001-0.532l0.006-0.064 0.007-0.066c0.002-0.021 0.005-0.045 0.008-0.064l0.008-0.055 0.004-0.028 0.002-0.014 0.001-0.007 0.001-0.005c0 0.001 0.001-0.013 0.001-0.008l0.008-0.053 0.017-0.106c0.023-0.142 0.042-0.284 0.057-0.426 0.009-0.071 0.013-0.142 0.020-0.213s0.009-0.142 0.014-0.213c0.006-0.141 0.010-0.284 0.005-0.424-0-0.071-0.007-0.14-0.010-0.21-0.006-0.069-0.011-0.139-0.021-0.208-0.018-0.137-0.043-0.274-0.082-0.404s-0.088-0.257-0.153-0.371c-0.064-0.116-0.146-0.22-0.246-0.301-0.050-0.041-0.105-0.075-0.164-0.1-0.030-0.013-0.060-0.023-0.091-0.032-0.015-0.004-0.029-0.006-0.044-0.010-0.016-0.003-0.037-0.004-0.055-0.006l-0.002-0c-0.038-0.004-0.070-0.035-0.074-0.075-0.005-0.046 0.029-0.088 0.075-0.092 0.019-0.002 0.036-0.005 0.057-0.006 0.022-0 0.046-0.002 0.068-0.001 0.043 0.002 0.086 0.007 0.128 0.014 0.085 0.017 0.166 0.046 0.242 0.085 0.153 0.078 0.284 0.19 0.393 0.317s0.198 0.268 0.272 0.414c0.074 0.146 0.133 0.297 0.184 0.45 0.026 0.076 0.047 0.153 0.069 0.231 0.019 0.077 0.039 0.155 0.054 0.233 0.033 0.156 0.056 0.312 0.077 0.469 0.019 0.156 0.033 0.313 0.041 0.469s0.014 0.313 0.015 0.468l0 0.117v0.059c-0.001 0.006 0.001-0.006 0-0.004v0.012l0 0.014 0 0.028 0 0.056c0 0.018 0.002 0.032 0.002 0.048l0.003 0.046 0.004 0.048c0.010 0.129 0.029 0.252 0.059 0.361 0.015 0.054 0.033 0.104 0.052 0.15 0.020 0.044 0.042 0.084 0.064 0.116 0.046 0.066 0.093 0.098 0.141 0.119s0.109 0.035 0.191 0.037c0.081 0.003 0.18-0.007 0.285-0.030 0.018-0.003 0.035-0.007 0.053-0.012 0.043-0.017 0.353-0.155 0.261-0.54-0.081-0.168-0.239-0.351-0.546-0.396 0 0-0.615-4.763 3.239-7.824 0 0 0.003-0.002 0.005 0 3.854 3.062 3.239 7.825 3.239 7.825-0.288 0.043-0.445 0.206-0.53 0.365-0.126 0.439 0.257 0.574 0.257 0.574 0.015 0.004 0.030 0.007 0.045 0.010 0.105 0.023 0.204 0.032 0.285 0.029s0.143-0.017 0.191-0.037c0.049-0.021 0.096-0.054 0.142-0.12 0.023-0.032 0.044-0.072 0.064-0.116 0.019-0.046 0.037-0.096 0.052-0.15 0.030-0.108 0.049-0.232 0.059-0.361l0.004-0.048 0.003-0.046c0.001-0.016 0.002-0.030 0.002-0.048l0.001-0.056v-0.042l0-0.007v-0.005c-0-0.002 0.001 0.010 0 0.004v-0.058l0-0.117c0.001-0.156 0.006-0.312 0.015-0.468s0.023-0.313 0.041-0.469c0.021-0.157 0.044-0.313 0.077-0.469 0.015-0.078 0.035-0.156 0.054-0.233 0.022-0.077 0.042-0.154 0.069-0.231 0.050-0.153 0.109-0.304 0.183-0.45s0.163-0.287 0.272-0.414c0.109-0.127 0.241-0.239 0.393-0.317 0.076-0.039 0.158-0.069 0.242-0.085 0.042-0.008 0.085-0.013 0.128-0.014 0.021-0.001 0.045 0 0.068 0.001 0.021 0.001 0.038 0.004 0.057 0.006 0.046 0.005 0.079 0.046 0.075 0.092-0.004 0.040-0.036 0.070-0.074 0.075l-0.002 0c-0.018 0.002-0.039 0.003-0.055 0.006-0.015 0.004-0.028 0.006-0.044 0.010-0.031 0.008-0.062 0.019-0.091 0.032-0.059 0.025-0.114 0.059-0.164 0.1-0.101 0.081-0.182 0.185-0.246 0.301-0.065 0.115-0.116 0.241-0.153 0.372s-0.064 0.267-0.082 0.404c-0.010 0.068-0.015 0.139-0.021 0.208-0.003 0.070-0.009 0.139-0.010 0.21-0.005 0.14-0 0.283 0.005 0.424 0.005 0.071 0.008 0.142 0.014 0.213s0.011 0.142 0.020 0.213c0.015 0.142 0.035 0.284 0.057 0.426l0.017 0.106 0.009 0.053c-0-0.005 0.001 0.009 0.001 0.008l0 0.002 0 0.003 0.001 0.007 0.002 0.014 0.004 0.028 0.009 0.055c0.003 0.020 0.005 0.043 0.008 0.064l0.007 0.066 0.006 0.064c0.014 0.17 0.018 0.345-0.001 0.532-0.009 0.093-0.025 0.189-0.049 0.286-0.025 0.098-0.058 0.198-0.104 0.298s-0.104 0.201-0.178 0.295c-0.073 0.094-0.162 0.182-0.26 0.256s-0.206 0.134-0.314 0.179c-0.109 0.045-0.218 0.077-0.325 0.099-0.034 0.007-0.068 0.012-0.102 0.017 0.007 0.003 0.015 0.006 0.022 0.008 0.163 0.059 0.332 0.096 0.507 0.104s0.356-0.009 0.537-0.054c0.18-0.045 0.361-0.118 0.527-0.21 0.041-0.023 0.082-0.048 0.116-0.070l0.011-0.007c0-0 0.002-0.001 0.001-0s-0 0-0 0c0.006-0.006-0.006 0.006-0.005 0.005l0.001-0 0.003-0.002c0.008-0.006 0.017-0.014 0.026-0.021 0.018-0.015 0.036-0.031 0.054-0.048 0.073-0.068 0.145-0.141 0.211-0.218 0.135-0.153 0.253-0.32 0.342-0.497s0.151-0.364 0.165-0.556c0.014-0.192-0.021-0.389-0.105-0.577-0.042-0.094-0.095-0.185-0.158-0.273l-0.049-0.065-0.051-0.063-0.053-0.061-0.059-0.062c-0.032-0.034-0.031-0.087 0.003-0.119 0.029-0.028 0.073-0.030 0.105-0.009l0.071 0.048 0.073 0.054c0.024 0.018 0.047 0.037 0.070 0.056l0.068 0.060c0.090 0.082 0.173 0.174 0.247 0.276 0.15 0.202 0.25 0.454 0.28 0.718 0.032 0.263-0.001 0.53-0.074 0.778-0.074 0.248-0.183 0.48-0.314 0.697-0.065 0.106-0.134 0.209-0.211 0.309 0.025 0.006 0.050 0.012 0.075 0.019 0.306 0.080 0.608 0.208 0.887 0.417 0.139 0.105 0.271 0.233 0.382 0.392s0.195 0.353 0.225 0.559c0.032 0.207 0.003 0.415-0.056 0.592z\"},\"child\":[]}]})(props);\n};\nexport function DiKrakenjs (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M23.501 20.274c-0.031-0.212-0.118-0.412-0.231-0.574s-0.25-0.295-0.392-0.402c-0.286-0.215-0.596-0.346-0.911-0.428-0.026-0.007-0.051-0.013-0.077-0.019 0.079-0.103 0.151-0.208 0.217-0.317 0.134-0.223 0.246-0.46 0.322-0.715 0.074-0.254 0.109-0.529 0.076-0.799-0.032-0.27-0.134-0.529-0.288-0.737-0.076-0.105-0.161-0.199-0.253-0.283l-0.070-0.061c-0.024-0.020-0.048-0.039-0.072-0.058l-0.075-0.055-0.073-0.049c-0.033-0.022-0.078-0.020-0.108 0.009-0.035 0.033-0.036 0.087-0.003 0.122l0.061 0.064 0.055 0.063 0.053 0.065 0.050 0.066c0.064 0.090 0.119 0.183 0.162 0.28 0.086 0.193 0.122 0.395 0.108 0.593s-0.077 0.39-0.17 0.571c-0.092 0.181-0.213 0.353-0.351 0.51-0.069 0.078-0.142 0.154-0.217 0.223-0.019 0.017-0.037 0.034-0.056 0.049-0.009 0.008-0.018 0.016-0.026 0.022l-0.003 0.002-0.001 0c-0.001 0.001 0.012-0.011 0.005-0.005 0-0 0-0 0-0.001s-0.001 0-0.001 0.001l-0.011 0.007c-0.035 0.023-0.077 0.049-0.12 0.072-0.171 0.095-0.356 0.17-0.541 0.216-0.186 0.047-0.372 0.064-0.551 0.056s-0.354-0.046-0.521-0.107c-0.008-0.003-0.015-0.006-0.023-0.009 0.035-0.005 0.069-0.011 0.105-0.018 0.11-0.022 0.222-0.054 0.334-0.101s0.222-0.108 0.322-0.184c0.101-0.076 0.191-0.166 0.267-0.263s0.137-0.2 0.183-0.303c0.047-0.103 0.081-0.206 0.106-0.306 0.024-0.1 0.041-0.198 0.050-0.294 0.019-0.191 0.015-0.372 0.002-0.546l-0.006-0.065-0.007-0.067c-0.003-0.022-0.005-0.046-0.008-0.066l-0.009-0.057-0.004-0.029-0.002-0.014-0.001-0.007-0.001-0.003-0-0.002c0 0.001-0-0.006-0.001-0.008l-0.009-0.054-0.017-0.109c-0.023-0.146-0.043-0.291-0.059-0.437-0.010-0.073-0.014-0.146-0.021-0.219s-0.009-0.145-0.015-0.219c-0.006-0.145-0.011-0.291-0.006-0.435 0.001-0.072 0.007-0.144 0.011-0.216 0.007-0.071 0.012-0.143 0.022-0.213 0.018-0.141 0.045-0.281 0.084-0.415s0.090-0.263 0.158-0.382c0.066-0.119 0.15-0.226 0.253-0.309 0.051-0.042 0.108-0.077 0.169-0.103 0.030-0.013 0.061-0.024 0.093-0.033 0.016-0.004 0.030-0.006 0.045-0.010 0.017-0.003 0.038-0.004 0.056-0.006l0.002-0c0.039-0.004 0.072-0.036 0.076-0.077 0.005-0.047-0.029-0.090-0.077-0.095-0.020-0.002-0.037-0.005-0.059-0.006-0.023-0-0.047-0.002-0.069-0.001-0.044 0.002-0.088 0.007-0.131 0.015-0.087 0.017-0.171 0.047-0.249 0.088-0.157 0.080-0.292 0.195-0.404 0.325s-0.203 0.275-0.28 0.425c-0.076 0.15-0.137 0.305-0.188 0.462-0.027 0.078-0.048 0.158-0.070 0.237-0.020 0.079-0.040 0.159-0.055 0.239-0.034 0.16-0.057 0.32-0.079 0.481-0.019 0.161-0.033 0.322-0.042 0.482s-0.014 0.321-0.016 0.481v0.18c0 0.006-0.001-0.006-0-0.004v0.006l-0 0.007v0.014l-0 0.029-0.001 0.058c0 0.018-0.002 0.032-0.002 0.049l-0.003 0.048-0.004 0.049c-0.010 0.132-0.029 0.259-0.060 0.37-0.015 0.056-0.034 0.107-0.053 0.154-0.021 0.046-0.043 0.086-0.066 0.119-0.047 0.068-0.095 0.101-0.145 0.123s-0.112 0.036-0.196 0.038c-0.084 0.003-0.185-0.007-0.293-0.030-0.015-0.003-0.031-0.006-0.046-0.010 0 0-0.393-0.139-0.264-0.589 0.088-0.163 0.248-0.331 0.544-0.375 0 0 0.631-4.891-3.326-8.034-0.003-0.002-0.005 0-0.005 0-3.957 3.143-3.325 8.034-3.325 8.034 0.316 0.047 0.477 0.235 0.561 0.407 0.095 0.395-0.224 0.537-0.268 0.554-0.018 0.004-0.036 0.009-0.054 0.012-0.108 0.023-0.209 0.033-0.293 0.030s-0.146-0.017-0.196-0.038c-0.050-0.022-0.098-0.055-0.145-0.123-0.023-0.033-0.046-0.074-0.066-0.119-0.020-0.047-0.038-0.098-0.053-0.154-0.031-0.111-0.050-0.238-0.060-0.37l-0.004-0.049-0.003-0.047c-0.001-0.017-0.002-0.031-0.002-0.049l-0-0.058-0-0.029-0-0.014v-0.013c0-0.002-0.001 0.011-0.001 0.004v-0.060l-0-0.12c-0.001-0.16-0.006-0.321-0.016-0.481s-0.023-0.322-0.042-0.482c-0.022-0.161-0.045-0.321-0.079-0.482-0.015-0.080-0.035-0.16-0.055-0.239-0.023-0.079-0.044-0.158-0.070-0.237-0.052-0.157-0.112-0.312-0.188-0.462s-0.167-0.294-0.28-0.425c-0.112-0.13-0.247-0.246-0.404-0.325-0.078-0.040-0.162-0.070-0.249-0.088-0.043-0.008-0.087-0.013-0.131-0.015-0.022-0.001-0.047 0-0.069 0.001-0.022 0.001-0.039 0.004-0.059 0.006-0.047 0.005-0.082 0.048-0.077 0.095 0.004 0.041 0.037 0.072 0.076 0.076l0.002 0c0.019 0.002 0.040 0.003 0.056 0.006 0.015 0.004 0.029 0.006 0.045 0.010 0.032 0.008 0.063 0.019 0.093 0.033 0.061 0.026 0.117 0.060 0.169 0.102 0.103 0.083 0.187 0.19 0.253 0.31 0.067 0.118 0.119 0.247 0.158 0.381s0.065 0.274 0.084 0.415c0.010 0.070 0.015 0.143 0.022 0.213 0.003 0.072 0.010 0.143 0.010 0.216 0.005 0.144 0.001 0.29-0.005 0.435-0.005 0.073-0.008 0.146-0.015 0.219s-0.011 0.146-0.021 0.219c-0.016 0.146-0.035 0.291-0.059 0.437l-0.017 0.109-0.009 0.055c0-0.005-0.001 0.009-0.001 0.008l-0 0.002-0 0.004-0.001 0.007-0.002 0.014-0.005 0.028-0.009 0.057c-0.003 0.020-0.005 0.044-0.008 0.066l-0.007 0.067-0.006 0.065c-0.014 0.174-0.018 0.355 0.001 0.546 0.010 0.095 0.026 0.194 0.050 0.294 0.026 0.101 0.059 0.203 0.106 0.306s0.107 0.206 0.183 0.303c0.075 0.097 0.166 0.187 0.267 0.263s0.211 0.138 0.322 0.184c0.111 0.047 0.224 0.079 0.333 0.101 0.035 0.007 0.070 0.013 0.105 0.018-0.008 0.003-0.015 0.006-0.023 0.009-0.167 0.061-0.341 0.099-0.521 0.107s-0.366-0.009-0.551-0.056c-0.185-0.046-0.37-0.121-0.542-0.216-0.042-0.023-0.084-0.049-0.119-0.072l-0.011-0.008c-0-0-0.002-0.001-0.001-0s0 0 0 0c-0.007-0.006 0.006 0.006 0.005 0.005l-0.001-0-0.003-0.002c-0.008-0.006-0.017-0.014-0.026-0.022-0.018-0.016-0.037-0.032-0.056-0.049-0.075-0.069-0.148-0.145-0.217-0.223-0.138-0.157-0.259-0.328-0.351-0.51s-0.155-0.374-0.17-0.571c-0.015-0.197 0.021-0.399 0.108-0.593 0.043-0.097 0.098-0.19 0.162-0.28l0.050-0.066 0.053-0.065 0.055-0.063 0.061-0.064c0.033-0.035 0.031-0.089-0.003-0.122-0.030-0.028-0.075-0.031-0.108-0.009l-0.073 0.049-0.075 0.055c-0.024 0.019-0.048 0.038-0.072 0.058l-0.070 0.061c-0.092 0.084-0.177 0.179-0.253 0.283-0.154 0.208-0.256 0.467-0.288 0.737-0.033 0.27 0.002 0.545 0.076 0.799 0.075 0.255 0.188 0.493 0.322 0.715 0.066 0.109 0.138 0.214 0.217 0.317-0.026 0.006-0.052 0.012-0.077 0.019-0.314 0.082-0.624 0.214-0.911 0.429-0.142 0.108-0.278 0.24-0.392 0.402s-0.2 0.363-0.231 0.574c-0.033 0.212-0.004 0.426 0.058 0.608 0.032 0.091 0.070 0.175 0.114 0.253 0.044 0.077 0.091 0.15 0.143 0.215 0.051 0.067 0.105 0.127 0.16 0.185l0.045 0.044 0.022 0.022c0.008 0.007 0.015 0.015 0.021 0.020l0.081 0.072c0.111 0.095 0.226 0.184 0.343 0.267 0.237 0.164 0.486 0.302 0.737 0.42 0.23 0.108 0.462 0.198 0.691 0.283 0.001 0.003 0.002 0.006 0.004 0.010l0.018 0.043c0.007 0.014 0.014 0.027 0.022 0.041 0.015 0.027 0.030 0.054 0.046 0.081l0.012 0.020 0.013 0.018 0.027 0.037c0.018 0.024 0.036 0.049 0.055 0.072 0.157 0.183 0.356 0.309 0.559 0.384s0.412 0.099 0.61 0.090c0.024-0.001 0.050-0.002 0.074-0.004l0.072-0.009 0.072-0.010c0.024-0.004 0.047-0.010 0.070-0.015l0.070-0.016c0.012-0.003 0.023-0.005 0.035-0.009l0.037-0.011 0.073-0.023 0.036-0.012c0.012-0.004 0.025-0.008 0.033-0.012l0.117-0.051c0.007-0.003-0.012 0.004 0.017-0.007l0.003-0.001 0.006-0.003 0.023-0.011 0.046-0.022c0.031-0.015 0.062-0.028 0.093-0.041s0.062-0.027 0.094-0.038c0.127-0.049 0.257-0.088 0.389-0.117 0.265-0.057 0.54-0.079 0.804-0.040 0.132 0.020 0.26 0.054 0.379 0.107s0.228 0.123 0.314 0.214c0.011 0.012 0.022 0.023 0.033 0.035l0.029 0.037 0.015 0.019 0.013 0.020 0.025 0.040c0.030 0.056 0.058 0.115 0.073 0.178 0.004 0.016 0.009 0.032 0.013 0.048l0.008 0.049 0.004 0.025c0.001 0.008 0.001 0.017 0.002 0.025l0.004 0.051c0.002 0.034-0 0.066 0 0.1-0.003 0.037-0.008 0.075-0.012 0.113v0.001c-0.005 0.048 0.029 0.090 0.077 0.095 0.042 0.004 0.080-0.022 0.092-0.061 0.011-0.037 0.022-0.072 0.033-0.11 0.008-0.041 0.019-0.084 0.024-0.125l0.007-0.062c0.001-0.010 0.002-0.021 0.003-0.031l0-0.032 0-0.064c0-0.021-0.003-0.043-0.005-0.064-0.006-0.086-0.028-0.172-0.056-0.255l-0.025-0.061-0.013-0.031-0.015-0.029-0.032-0.059c-0.011-0.019-0.024-0.037-0.036-0.055-0.023-0.038-0.052-0.072-0.080-0.106-0.013-0.018-0.030-0.033-0.045-0.049s-0.030-0.033-0.046-0.047c-0.065-0.059-0.133-0.115-0.206-0.161-0.145-0.095-0.303-0.166-0.465-0.217-0.325-0.102-0.664-0.131-0.998-0.109-0.167 0.011-0.334 0.035-0.497 0.072-0.041 0.008-0.082 0.019-0.122 0.029s-0.082 0.021-0.121 0.033l-0.060 0.018-0.030 0.009-0.008 0.002-0.004 0.001c0.027-0.010 0.006-0.002 0.011-0.004l-0.014 0.004-0.11 0.030c-0.010 0.003-0.016 0.003-0.022 0.004l-0.018 0.002-0.036 0.005-0.018 0.003c-0.006 0.001-0.014 0.001-0.021 0.002l-0.042 0.003c-0.014 0.001-0.028 0.003-0.042 0.003l-0.041-0.001-0.040-0c-0.013-0.001-0.026-0.003-0.039-0.005-0.104-0.011-0.199-0.041-0.274-0.084s-0.13-0.098-0.161-0.152c-0.029-0.056-0.036-0.108-0.031-0.165 0.006-0.056 0.027-0.122 0.070-0.195s0.105-0.15 0.181-0.225c0.159-0.149 0.367-0.287 0.598-0.402l0.042-0.022 0.045-0.020 0.090-0.041c0.058-0.029 0.123-0.051 0.184-0.077l0.33-0.135 0.045-0.021v-0l0.060-0.028c0.074-0.035 0.148-0.069 0.217-0.105 0.467-0.212 1.445-0.601 2.32-0.601s1.853 0.389 2.321 0.601c0.069 0.037 0.143 0.071 0.217 0.105l0.091 0.042 0.015 0.007 0.013 0.005 0.317 0.13c0.061 0.026 0.126 0.048 0.184 0.077l0.135 0.061 0.042 0.022c0.231 0.115 0.439 0.254 0.598 0.402 0.077 0.075 0.139 0.152 0.181 0.225s0.063 0.139 0.070 0.195c0.006 0.056-0.002 0.108-0.030 0.165-0.031 0.054-0.086 0.11-0.161 0.152s-0.171 0.073-0.274 0.084c-0.013 0.002-0.026 0.004-0.039 0.005l-0.041 0-0.041 0.001c-0.013 0-0.027-0.002-0.041-0.003l-0.042-0.003c-0.007-0.001-0.015-0.001-0.020-0.002l-0.018-0.003-0.036-0.005-0.018-0.002c-0.006-0.001-0.011-0.001-0.022-0.004l-0.123-0.034c0.005 0.002-0.016-0.006 0.011 0.004l-0.004-0.001-0.008-0.002-0.090-0.028c-0.040-0.012-0.081-0.023-0.121-0.033s-0.081-0.021-0.122-0.029c-0.163-0.037-0.33-0.060-0.497-0.072-0.334-0.023-0.674 0.007-0.999 0.109-0.162 0.051-0.32 0.122-0.465 0.217-0.073 0.046-0.142 0.102-0.206 0.161-0.016 0.015-0.031 0.032-0.046 0.047s-0.031 0.031-0.045 0.049c-0.027 0.035-0.056 0.068-0.080 0.106-0.012 0.018-0.025 0.036-0.036 0.055l-0.032 0.059-0.015 0.029-0.013 0.031-0.026 0.061c-0.027 0.084-0.049 0.169-0.055 0.255-0.002 0.021-0.005 0.042-0.005 0.064l0 0.064 0 0.032c0 0.010 0.002 0.021 0.003 0.031l0.007 0.062c0.005 0.041 0.016 0.084 0.024 0.125 0.010 0.038 0.022 0.073 0.033 0.11 0.012 0.039 0.050 0.066 0.092 0.061 0.047-0.005 0.082-0.048 0.077-0.095v-0.001c-0.004-0.037-0.009-0.076-0.012-0.113 0.001-0.034-0.002-0.066 0-0.1l0.004-0.051c0-0.008 0.001-0.017 0.002-0.025l0.004-0.025 0.008-0.049c0.003-0.016 0.009-0.032 0.012-0.048 0.016-0.064 0.043-0.123 0.073-0.178l0.026-0.040 0.012-0.020 0.015-0.019 0.029-0.037c0.010-0.012 0.022-0.023 0.032-0.035 0.087-0.091 0.196-0.161 0.314-0.214s0.247-0.087 0.379-0.107c0.264-0.039 0.54-0.017 0.804 0.040 0.132 0.029 0.263 0.068 0.389 0.117 0.032 0.011 0.063 0.025 0.094 0.038s0.062 0.026 0.093 0.041l0.046 0.022 0.031 0.015c0.030 0.011 0.010 0.004 0.017 0.007l0.013 0.006 0.104 0.045c0.007 0.004 0.020 0.008 0.032 0.012l0.036 0.012 0.073 0.024 0.037 0.011c0.012 0.004 0.023 0.006 0.035 0.009l0.070 0.016c0.023 0.005 0.047 0.011 0.070 0.015l0.072 0.010 0.073 0.009c0.024 0.002 0.050 0.003 0.075 0.004 0.198 0.009 0.406-0.015 0.609-0.090s0.401-0.201 0.558-0.384c0.019-0.023 0.037-0.048 0.056-0.072l0.027-0.037 0.013-0.018 0.012-0.020c0.015-0.027 0.031-0.053 0.045-0.081 0.007-0.014 0.015-0.027 0.022-0.041l0.018-0.043c0.001-0.003 0.003-0.006 0.004-0.010 0.229-0.086 0.461-0.175 0.691-0.283 0.251-0.117 0.5-0.255 0.736-0.42 0.117-0.083 0.233-0.171 0.343-0.267l0.081-0.072c0.006-0.005 0.014-0.012 0.021-0.020l0.067-0.067c0.055-0.058 0.109-0.118 0.16-0.185 0.052-0.065 0.099-0.138 0.143-0.215 0.043-0.078 0.082-0.163 0.114-0.253 0.061-0.182 0.090-0.395 0.058-0.607zM11.942 20.449c-0.018 0.012-0.036 0.024-0.054 0.037l-0.053 0.040-0.106 0.081c-0.018 0.013-0.035 0.027-0.052 0.042l-0.052 0.044c-0.034 0.030-0.069 0.059-0.103 0.090l-0.1 0.098c-0.017 0.017-0.033 0.033-0.049 0.050l-0.048 0.054c-0.031 0.036-0.063 0.071-0.094 0.11-0.121 0.154-0.231 0.329-0.311 0.532-0.040 0.101-0.071 0.212-0.090 0.327l-0.011 0.088c-0 0.004-0.001 0.008-0.001 0.012-0.103-0.064-0.204-0.129-0.301-0.196-0.208-0.142-0.401-0.296-0.575-0.463-0.086-0.084-0.169-0.17-0.246-0.261l-0.057-0.069c-0.006-0.007-0.009-0.012-0.013-0.016l-0.010-0.015-0.021-0.029c-0.029-0.044-0.058-0.087-0.080-0.13-0.024-0.043-0.041-0.085-0.057-0.126-0.014-0.040-0.024-0.079-0.030-0.115-0.009-0.071-0.003-0.128 0.017-0.175s0.050-0.092 0.097-0.139c0.047-0.046 0.11-0.093 0.186-0.134 0.151-0.082 0.345-0.138 0.546-0.164s0.413-0.021 0.617 0.009c0.204 0.030 0.403 0.089 0.584 0.172 0.046 0.021 0.090 0.043 0.133 0.067l0.064 0.037 0.055 0.028 0.039 0.019 0.038 0.017c0.052 0.023 0.105 0.044 0.161 0.063l-0.023 0.016zM14.488 16.73c0-0.176 0.143-0.319 0.319-0.319 0.139 0 0.256 0.090 0.3 0.214 0.011 0.033 0.019 0.068 0.019 0.104 0 0.176-0.143 0.319-0.319 0.319-0.085 0-0.162-0.034-0.219-0.088-0.061-0.058-0.099-0.139-0.099-0.23zM17.414 16.959c-0.057 0.055-0.135 0.089-0.22 0.089-0.176 0-0.319-0.142-0.319-0.319 0-0.037 0.007-0.071 0.019-0.104 0.043-0.125 0.16-0.215 0.3-0.215 0.176 0 0.319 0.143 0.319 0.319 0 0.091-0.038 0.172-0.098 0.23zM22.571 20.633c-0.006 0.036-0.015 0.074-0.030 0.115-0.016 0.041-0.033 0.083-0.057 0.126-0.023 0.043-0.051 0.087-0.080 0.13l-0.021 0.029-0.010 0.015c-0.004 0.005-0.007 0.010-0.013 0.016l-0.057 0.069c-0.077 0.090-0.16 0.177-0.246 0.261-0.174 0.167-0.367 0.321-0.575 0.463-0.097 0.067-0.198 0.132-0.301 0.196-0-0.004-0.001-0.008-0.001-0.012l-0.011-0.088c-0.018-0.115-0.050-0.225-0.090-0.327-0.080-0.203-0.19-0.379-0.311-0.532-0.030-0.038-0.062-0.073-0.093-0.11l-0.048-0.054c-0.016-0.017-0.033-0.033-0.049-0.050l-0.1-0.098c-0.034-0.031-0.069-0.060-0.103-0.090l-0.052-0.044c-0.017-0.015-0.035-0.029-0.052-0.043l-0.159-0.121c-0.018-0.013-0.036-0.024-0.054-0.037l-0.023-0.015c0.056-0.019 0.109-0.040 0.16-0.063l0.038-0.017 0.039-0.019 0.055-0.028 0.064-0.037c0.043-0.024 0.088-0.046 0.133-0.067 0.182-0.083 0.38-0.142 0.584-0.172s0.415-0.036 0.617-0.009c0.201 0.026 0.395 0.082 0.546 0.164 0.076 0.040 0.139 0.087 0.185 0.134s0.078 0.091 0.097 0.139c0.020 0.047 0.026 0.104 0.017 0.175z\"},\"child\":[]}]})(props);\n};\nexport function DiLaravel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M27.226 15.777c-0.15-0.168-2.221-2.761-2.586-3.201s-0.543-0.36-0.767-0.328c-0.225 0.033-2.845 0.473-3.149 0.524s-0.496 0.173-0.309 0.435c0.166 0.233 1.889 2.675 2.269 3.213l-6.849 1.641-5.447-9.107c-0.217-0.322-0.262-0.434-0.755-0.411s-4.273 0.336-4.542 0.359c-0.269 0.023-0.565 0.142-0.295 0.778s4.562 9.885 4.681 10.154 0.431 0.706 1.159 0.531c0.746-0.179 3.334-0.855 4.748-1.225 0.747 1.353 2.271 4.097 2.553 4.491 0.376 0.525 0.635 0.438 1.213 0.263 0.451-0.137 7.056-2.512 7.354-2.634s0.481-0.21 0.28-0.508c-0.148-0.219-1.89-2.553-2.803-3.774 0.625-0.166 2.848-0.758 3.085-0.822 0.276-0.075 0.314-0.21 0.164-0.379zM14.774 18.323c-0.082 0.017-3.918 0.936-4.123 0.982s-0.205 0.023-0.228-0.047-4.561-9.427-4.624-9.544-0.060-0.21 0-0.21c0.060 0 3.623-0.319 3.749-0.325s0.113 0.020 0.159 0.1c0 0 5.026 8.675 5.114 8.827s0.035 0.199-0.047 0.216zM25.59 20.35c0.061 0.096 0.122 0.157-0.070 0.227s-6.493 2.196-6.615 2.249c-0.122 0.053-0.219 0.070-0.376-0.158s-2.207-3.775-2.207-3.775l6.678-1.738c0.166-0.052 0.219-0.087 0.324 0.079s2.205 3.019 2.266 3.115zM26.018 15.609c-0.15 0.033-2.602 0.641-2.602 0.641l-2.006-2.752c-0.056-0.079-0.103-0.159 0.037-0.178s2.419-0.431 2.522-0.454c0.103-0.023 0.192-0.051 0.318 0.122s1.861 2.368 1.926 2.452-0.047 0.136-0.197 0.168z\"},\"child\":[]}]})(props);\n};\nexport function DiLess (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.972 10.374v7.262c0 0.874 0.097 1.003 0.965 1.252l-0.208 1.217c-0.463-0.105-0.909-0.152-1.312-0.311-0.769-0.302-0.89-0.999-0.893-1.715-0.010-2.053-0.004-4.106-0.004-6.158v-0.406c-0.353 0.027-0.678 0.024-0.99 0.084-0.359 0.068-0.564 0.363-0.576 0.795-0.017 0.602-0.006 1.204-0.016 1.806-0.005 0.276-0.017 0.553-0.050 0.826-0.062 0.515-0.299 0.934-0.733 1.215 0.004 0.039-0.002 0.068 0.008 0.075 0.651 0.455 0.763 1.137 0.775 1.857 0.009 0.572-0 1.145 0.003 1.717 0.005 0.863 0.229 1.096 1.095 1.151l0.14 0.021v1.126c-0.601-0.015-1.189-0.040-1.727-0.328-0.599-0.321-0.801-0.877-0.83-1.505-0.030-0.65-0.019-1.302-0.025-1.953-0.001-0.118 0.004-0.237-0.003-0.356-0.043-0.754-0.337-1.086-1.079-1.214-0.006-0.034-0.017-0.071-0.017-0.109-0.002-0.316-0.001-0.631-0.001-0.937l0.053-0.048c0.781-0.189 1.037-0.507 1.046-1.323 0.006-0.523-0.009-1.046 0.005-1.569 0.009-0.354 0.024-0.712 0.087-1.059 0.139-0.767 0.697-1.231 1.59-1.351 0.264-0.035 0.53-0.057 0.796-0.061 0.62-0.009 1.241-0.003 1.902-0.003v0zM11.489 17.175c-0.092 0.759 0.493 1.455 1.305 1.606 0.768 0.143 1.509 0.011 2.276-0.229 0.061 0.356 0.128 0.7 0.172 1.047 0.007 0.053-0.084 0.154-0.149 0.174-1.125 0.352-2.26 0.468-3.389 0.035-0.696-0.267-1.199-0.764-1.467-1.46-0.425-1.107-0.43-2.221 0.071-3.305 0.732-1.585 2.556-1.997 3.921-1.362 0.825 0.384 1.223 1.098 1.365 1.954 0.081 0.49 0.074 0.994 0.11 1.539-1.449-0.001-2.834-0.001-4.214-0.001v0zM14.217 16.105c0.017-0.924-0.507-1.502-1.328-1.497-0.785 0.005-1.423 0.677-1.403 1.497h2.731zM24.829 22.2v-1.144l0.328-0.023c0.617-0.050 0.892-0.324 0.908-0.942 0.015-0.592 0-1.184 0.011-1.776 0.005-0.285 0.022-0.573 0.064-0.855 0.073-0.488 0.322-0.88 0.78-1.177-0.81-0.514-0.837-1.299-0.845-2.089-0.006-0.543 0.006-1.086-0.005-1.628-0.015-0.737-0.287-1.006-1.026-1.039l-0.204-0.014v-1.137c0.642 0.014 1.278 0.034 1.841 0.398 0.524 0.339 0.688 0.876 0.713 1.454 0.031 0.7 0.015 1.401 0.028 2.101 0.004 0.206 0.014 0.418 0.067 0.615 0.135 0.507 0.486 0.769 1.019 0.787v1.109c-0.51 0.022-0.875 0.265-1.012 0.773-0.054 0.197-0.068 0.408-0.072 0.613-0.014 0.691 0 1.382-0.025 2.072-0.039 1.095-0.616 1.704-1.706 1.831-0.28 0.033-0.563 0.045-0.863 0.069v0zM25.096 13.701l-0.263 1.146c-0.61-0.202-1.211-0.341-1.841-0.24-0.397 0.064-0.631 0.238-0.68 0.516-0.054 0.301 0.093 0.568 0.457 0.748 0.308 0.152 0.635 0.266 0.952 0.4 0.19 0.081 0.381 0.16 0.566 0.253 0.89 0.444 1.198 1.013 1.096 2.015-0.071 0.702-0.577 1.219-1.467 1.415-1.061 0.233-2.111 0.168-3.168-0.23l0.232-1.154c0.455 0.104 0.888 0.239 1.331 0.292 0.366 0.044 0.747 0.009 1.117-0.028 0.244-0.024 0.449-0.149 0.509-0.423 0.062-0.282-0.018-0.527-0.256-0.672-0.292-0.178-0.612-0.312-0.922-0.461-0.372-0.178-0.76-0.328-1.118-0.531-1.054-0.595-1.044-2.437 0.128-2.997 0.347-0.166 0.741-0.266 1.124-0.32 0.743-0.106 1.466 0.047 2.204 0.271zM20.318 13.649l-0.275 1.2c-0.611-0.208-1.203-0.339-1.825-0.244-0.416 0.064-0.649 0.24-0.699 0.532-0.050 0.296 0.1 0.556 0.475 0.739 0.327 0.159 0.673 0.28 1.008 0.421 0.163 0.069 0.326 0.14 0.485 0.219 0.922 0.459 1.244 1.078 1.097 2.096-0.101 0.702-0.713 1.241-1.615 1.383-0.916 0.144-1.825 0.12-2.719-0.166-0.219-0.070-0.311-0.155-0.244-0.395 0.080-0.282 0.128-0.573 0.191-0.863 0.452 0.102 0.885 0.238 1.328 0.29 0.366 0.043 0.747 0.009 1.117-0.028 0.26-0.025 0.462-0.171 0.517-0.454 0.053-0.273-0.042-0.51-0.267-0.641-0.339-0.197-0.705-0.346-1.059-0.516-0.328-0.157-0.668-0.294-0.982-0.474-1.055-0.605-1.038-2.433 0.151-3.024 0.529-0.263 1.089-0.361 1.664-0.316 0.543 0.043 1.081 0.155 1.653 0.241v0z\"},\"child\":[]}]})(props);\n};\nexport function DiLinux (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.534 8.411c0 0.102-0.102 0.102-0.102 0.102h-0.102c-0.102 0-0.102-0.102-0.204-0.204 0 0-0.102-0.102-0.102-0.204s0-0.102 0.102-0.102l0.204 0.102c0.102 0.102 0.204 0.204 0.204 0.306zM13.698 7.391c0-0.51-0.204-0.816-0.51-0.816 0 0 0 0.102-0.102 0.102v0.204h0.306c0 0.204 0.102 0.306 0.102 0.51h0.204zM17.268 6.881c0.204 0 0.306 0.204 0.408 0.51h0.204c-0.102-0.102-0.102-0.204-0.102-0.306s0-0.204-0.102-0.306-0.204-0.204-0.306-0.204c0 0-0.102 0.102-0.204 0.102 0 0.102 0.102 0.102 0.102 0.204zM14.208 8.513c-0.102 0-0.102 0-0.102-0.102s0-0.204 0.102-0.306c0.204 0 0.306-0.102 0.306-0.102 0.102 0 0.102 0.102 0.102 0.102 0 0.102-0.102 0.204-0.306 0.408h-0.102zM13.086 8.411c-0.408-0.204-0.51-0.51-0.51-1.020 0-0.306 0-0.51 0.204-0.714 0.102-0.204 0.306-0.306 0.51-0.306s0.306 0.102 0.51 0.306c0.102 0.306 0.204 0.612 0.204 0.918v0.204h0.102v-0.102c0.102 0 0.102-0.204 0.102-0.612 0-0.306 0-0.612-0.204-0.918s-0.408-0.51-0.816-0.51c-0.306 0-0.612 0.204-0.714 0.51-0.204 0.408-0.245 0.714-0.245 1.224 0 0.408 0.143 0.816 0.551 1.224 0.102-0.102 0.204-0.102 0.306-0.204zM25.834 22.791c0.102 0 0.102-0.041 0.102-0.133 0-0.224-0.102-0.489-0.408-0.785-0.306-0.306-0.816-0.5-1.428-0.581-0.102-0.010-0.204-0.010-0.204-0.010-0.102-0.020-0.102-0.020-0.204-0.020-0.102-0.010-0.306-0.031-0.408-0.051 0.306-0.949 0.408-1.785 0.408-2.519 0-1.020-0.204-1.734-0.612-2.346s-0.816-0.918-1.326-1.020c-0.102 0.102-0.102 0.102-0.102 0.204 0.51 0.204 1.020 0.612 1.326 1.224 0.306 0.714 0.408 1.326 0.408 2.040 0 0.571-0.102 1.418-0.51 2.499-0.408 0.163-0.816 0.54-1.122 1.132 0 0.092 0 0.143 0.102 0.143 0 0 0.102-0.092 0.204-0.265 0.204-0.173 0.306-0.347 0.51-0.52 0.306-0.173 0.51-0.265 0.816-0.265 0.51 0 1.020 0.071 1.326 0.214 0.408 0.133 0.612 0.275 0.714 0.439 0.102 0.153 0.204 0.296 0.306 0.428 0 0.132 0.102 0.194 0.102 0.194zM16.452 8.003c-0.102-0.102-0.102-0.306-0.102-0.51 0-0.408 0-0.612 0.204-0.918 0.204-0.204 0.408-0.306 0.612-0.306 0.306 0 0.51 0.204 0.714 0.408 0.102 0.306 0.204 0.51 0.204 0.816 0 0.51-0.204 0.816-0.612 0.918 0 0 0.102 0.102 0.204 0.102 0.204 0 0.306 0.102 0.51 0.204 0.102-0.612 0.204-1.020 0.204-1.53 0-0.612-0.102-1.020-0.306-1.326-0.306-0.306-0.612-0.408-1.020-0.408-0.306 0-0.612 0.102-0.918 0.306-0.204 0.306-0.306 0.51-0.306 0.816 0 0.51 0.102 0.918 0.306 1.326 0.102 0 0.204 0.102 0.306 0.102zM17.676 9.635c-1.326 0.918-2.346 1.326-3.162 1.326-0.714 0-1.428-0.306-2.040-0.816 0.102 0.204 0.204 0.408 0.306 0.51l0.612 0.612c0.408 0.408 0.918 0.612 1.428 0.612 0.714 0 1.53-0.408 2.55-1.122l0.918-0.612c0.204-0.204 0.408-0.408 0.408-0.714 0-0.102 0-0.204-0.102-0.204-0.102-0.204-0.612-0.51-1.632-0.816-0.918-0.408-1.632-0.612-2.040-0.612-0.306 0-0.816 0.204-1.53 0.612-0.612 0.408-1.020 0.816-1.020 1.224 0 0 0.102 0.102 0.204 0.306 0.612 0.51 1.224 0.816 1.836 0.816 0.816 0 1.836-0.408 3.162-1.428v0.204c0.102-0 0.102 0.102 0.102 0.102zM20.021 30.236c0.408 0.767 1.122 1.152 1.938 1.152 0.204 0 0.408-0.031 0.612-0.092 0.204-0.041 0.408-0.112 0.51-0.194 0.102-0.071 0.204-0.143 0.306-0.224 0.204-0.071 0.204-0.122 0.306-0.173l1.734-1.499c0.408-0.325 0.816-0.61 1.326-0.857 0.408-0.245 0.816-0.408 1.020-0.5 0.306-0.082 0.51-0.204 0.714-0.367 0.102-0.153 0.204-0.347 0.204-0.592 0-0.296-0.204-0.52-0.408-0.683s-0.408-0.275-0.612-0.347-0.408-0.235-0.714-0.51c-0.204-0.265-0.408-0.632-0.51-1.112l-0.102-0.591c-0.102-0.275-0.102-0.479-0.204-0.592 0-0.031 0-0.041-0.102-0.041s-0.306 0.092-0.408 0.265c-0.204 0.173-0.408 0.367-0.612 0.571-0.102 0.204-0.408 0.387-0.612 0.561-0.306 0.173-0.612 0.265-0.816 0.265-0.816 0-1.224-0.224-1.53-0.663-0.204-0.326-0.306-0.704-0.408-1.132-0.204-0.173-0.306-0.265-0.51-0.265-0.51 0-0.714 0.53-0.714 1.601v3.172c0 0.092-0.102 0.296-0.102 0.612-0.102 0.316-0.102 0.675-0.102 1.081l-0.204 1.132v0.017zM5.233 29.693c0.948 0.139 2.040 0.435 3.274 0.888 1.234 0.449 1.989 0.683 2.264 0.683 0.714 0 1.306-0.316 1.795-0.927 0.102-0.198 0.102-0.43 0.102-0.698 0-0.964-0.581-2.183-1.744-3.661l-0.694-0.928c-0.143-0.194-0.316-0.49-0.54-0.887-0.214-0.398-0.408-0.704-0.561-0.918-0.133-0.235-0.347-0.469-0.622-0.704-0.265-0.235-0.571-0.387-0.908-0.469-0.428 0.082-0.724 0.224-0.867 0.418s-0.224 0.408-0.245 0.632c-0.031 0.214-0.092 0.357-0.194 0.428-0.102 0.061-0.275 0.112-0.51 0.163-0.051 0-0.143 0-0.275 0.010h-0.275c-0.541 0-0.908 0.061-1.101 0.163-0.255 0.296-0.388 0.632-0.388 0.989 0 0.163 0.041 0.439 0.122 0.826 0.082 0.377 0.122 0.683 0.122 0.897 0 0.418-0.122 0.836-0.377 1.254-0.255 0.439-0.388 0.765-0.388 0.997 0.102 0.396 0.775 0.674 2.009 0.837zM8.629 20.42c0-0.704 0.184-1.479 0.561-2.397 0.367-0.918 0.734-1.53 1.091-1.938-0.020-0.102-0.071-0.102-0.153-0.102l-0.102-0.102c-0.296 0.306-0.653 1.020-1.081 2.040-0.428 0.918-0.653 1.764-0.653 2.387 0 0.459 0.112 0.857 0.316 1.203 0.224 0.337 0.765 0.826 1.622 1.448l1.081 0.704c1.152 1 1.764 1.693 1.764 2.101 0 0.214-0.102 0.428-0.408 0.663-0.204 0.245-0.479 0.367-0.714 0.367-0.020 0-0.031 0.020-0.031 0.071 0 0.010 0.102 0.214 0.316 0.612 0.428 0.581 1.346 0.867 2.57 0.867 2.244 0 3.977-0.918 5.303-2.754 0-0.51 0-0.826-0.102-0.959v-0.377c0-0.663 0.102-1.163 0.306-1.489s0.408-0.479 0.714-0.479c0.204 0 0.408 0.071 0.612 0.224 0.102-0.785 0.102-1.469 0.102-2.081 0-0.928 0-1.693-0.204-2.407-0.102-0.612-0.306-1.122-0.51-1.53-0.204-0.306-0.408-0.612-0.612-0.918s-0.306-0.612-0.51-0.918c-0.102-0.408-0.204-0.714-0.204-1.224-0.306-0.51-0.51-1.020-0.816-1.53-0.204-0.51-0.408-1.020-0.612-1.428l-0.918 0.714c-1.020 0.714-1.836 1.020-2.55 1.020-0.612 0-1.122-0.102-1.428-0.51l-0.612-0.51c0 0.306-0.102 0.714-0.306 1.122l-0.643 1.224c-0.286 0.714-0.438 1.122-0.469 1.428-0.041 0.204-0.071 0.408-0.092 0.408l-0.765 1.53c-0.826 1.53-1.244 2.947-1.244 4.12 0 0.235 0.020 0.479 0.061 0.724-0.459-0.316-0.683-0.755-0.683-1.326zM15.932 30.068c-1.326 0-2.346 0.18-3.060 0.535v-0.031c-0.51 0.612-1.081 0.928-1.877 0.928-0.5 0-1.285-0.194-2.346-0.581-1.071-0.367-2.019-0.649-2.845-0.834-0.082-0.023-0.265-0.058-0.561-0.105-0.286-0.046-0.551-0.093-0.785-0.14-0.214-0.046-0.459-0.115-0.724-0.209-0.255-0.081-0.459-0.186-0.612-0.313-0.141-0.129-0.21-0.273-0.21-0.436s0.035-0.337 0.104-0.523c0.065-0.112 0.137-0.224 0.208-0.326 0.071-0.112 0.133-0.214 0.173-0.316 0.061-0.092 0.102-0.184 0.143-0.286 0.041-0.092 0.082-0.184 0.102-0.296 0.020-0.102 0.041-0.204 0.041-0.306s-0.041-0.408-0.122-0.948c-0.082-0.53-0.122-0.867-0.122-1.010 0-0.449 0.102-0.806 0.326-1.061s0.439-0.388 0.663-0.388h1.173c0.092 0 0.235-0.051 0.449-0.173 0.071-0.163 0.133-0.296 0.173-0.418 0.051-0.122 0.071-0.214 0.092-0.255 0.020-0.061 0.041-0.122 0.061-0.173 0.041-0.071 0.092-0.153 0.163-0.235-0.082-0.102-0.122-0.235-0.122-0.398 0-0.112 0-0.214 0.020-0.275 0-0.367 0.173-0.887 0.54-1.571l0.357-0.643c0.296-0.551 0.52-0.959 0.683-1.367 0.173-0.408 0.357-1.020 0.561-1.836 0.163-0.714 0.551-1.428 1.163-2.142l0.765-0.918c0.53-0.612 0.877-1.122 1.071-1.53s0.296-0.918 0.296-1.326c0-0.204-0.051-0.816-0.163-1.836-0.102-1.020-0.153-2.040-0.153-2.958 0-0.714 0.061-1.224 0.194-1.734s0.367-1.020 0.714-1.428c0.306-0.408 0.714-0.816 1.326-1.020s1.326-0.306 2.142-0.306c0.306 0 0.612 0 0.918 0.102 0.306 0 0.714 0.102 1.224 0.306 0.408 0.204 0.816 0.408 1.122 0.714 0.408 0.306 0.714 0.816 1.020 1.326 0.204 0.612 0.408 1.224 0.51 2.040 0.102 0.51 0.102 1.020 0.204 1.734 0 0.612 0.102 1.020 0.102 1.326 0.102 0.306 0.102 0.714 0.204 1.224 0.102 0.408 0.204 0.816 0.408 1.122 0.204 0.408 0.408 0.816 0.714 1.224 0.306 0.51 0.714 1.020 1.122 1.632 0.918 1.020 1.632 2.142 2.040 3.263 0.51 1.020 0.816 2.346 0.816 3.763 0 0.704-0.102 1.387-0.306 2.050 0.204 0 0.306 0.082 0.408 0.224s0.204 0.449 0.306 0.928l0.102 0.755c0.102 0.224 0.204 0.439 0.51 0.622 0.204 0.184 0.408 0.337 0.714 0.459 0.204 0.102 0.51 0.245 0.714 0.428 0.204 0.204 0.306 0.418 0.306 0.642 0 0.347-0.102 0.602-0.306 0.785-0.204 0.204-0.408 0.347-0.714 0.439-0.204 0.102-0.612 0.306-1.224 0.594-0.51 0.302-1.020 0.668-1.53 1.101l-1.020 0.868c-0.408 0.398-0.816 0.683-1.122 0.857-0.306 0.184-0.714 0.275-1.122 0.275l-0.714-0.082c-0.816-0.214-1.326-0.622-1.632-1.244-1.632-0.198-2.958-0.296-3.774-0.296z\"},\"child\":[]}]})(props);\n};\nexport function DiMagento (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M26.941 10.161l-10.934-6.753-10.966 6.764v12.228l2.924 1.743v-12.287l8.041-4.992 8.027 4.992v12.317l2.924-1.772v-12.228zM17.595 15.458v10.073l-1.588 1.004-1.602-1.004v-14.325l-3.574 2.215v12.524l5.176 3.22 5.162-3.22v-12.524l-3.574-2.215z\"},\"child\":[]}]})(props);\n};\nexport function DiMailchimp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M27.295 16.646c-0.071-0.087-0.16-0.062-0.24-0.002-0.063 0.047-0.124 0.095-0.195 0.149 0.016-0.572-0.053-0.811-0.314-0.946-0.419-0.217-0.797-0.073-1.169 0.185-0.008-0.086-0.016-0.158-0.020-0.23-0.007-0.114-0.070-0.182-0.18-0.179s-0.172 0.076-0.172 0.189c-0 0.122 0.012 0.243 0.008 0.365-0.008 0.216-0.013 0.433-0.044 0.646-0.019 0.13-0.121 0.215-0.259 0.217-0.142 0.001-0.218-0.090-0.251-0.222-0.011-0.046-0.022-0.093-0.028-0.139-0.024-0.168-0.035-0.338-0.073-0.502-0.064-0.28-0.292-0.394-0.542-0.254-0.133 0.074-0.234 0.206-0.345 0.317-0.039 0.039-0.063 0.093-0.101 0.15-0.067-0.463-0.221-0.689-0.825-0.295 0.015-0.052 0.031-0.091 0.037-0.131 0.012-0.092 0.049-0.201-0.076-0.243s-0.188 0.044-0.228 0.142c-0.050 0.122-0.088 0.249-0.132 0.373-0.099 0.281-0.209 0.556-0.43 0.768-0.084 0.080-0.177 0.14-0.299 0.093-0.13-0.050-0.143-0.167-0.129-0.279 0.031-0.251 0.084-0.5 0.108-0.752 0.007-0.072-0.038-0.188-0.094-0.219-0.101-0.055-0.175 0.028-0.215 0.126-0.022 0.054-0.038 0.11-0.057 0.164-0.056 0.16-0.105 0.322-0.169 0.478-0.057 0.14-0.156 0.253-0.322 0.235-0.171-0.019-0.171-0.177-0.203-0.303-0.044-0.173-0.068-0.355-0.135-0.519-0.077-0.19-0.283-0.237-0.45-0.116-0.089 0.064-0.163 0.15-0.237 0.232-0.054 0.059-0.097 0.128-0.156 0.208-0.035-0.177 0.013-0.29 0.115-0.401 0.292-0.318 0.534-0.671 0.688-1.077 0.135-0.358 0.201-0.726 0.109-1.104-0.064-0.263-0.307-0.353-0.53-0.197-0.1 0.070-0.19 0.173-0.25 0.28-0.085 0.151-0.165 0.314-0.198 0.481-0.097 0.486-0.169 0.978-0.253 1.467-0.009 0.055-0.022 0.119-0.057 0.157-0.35 0.385-0.72 0.747-1.174 1.012-0.413 0.241-0.85 0.337-1.326 0.235-0.698-0.149-1.154-0.719-1.090-1.371 0.084-0.848 0.829-1.725 1.655-1.947 0.337-0.091 0.648-0.075 0.914 0.188 0.085 0.084 0.193 0.131 0.293 0.026 0.1-0.104 0.027-0.207-0.048-0.278-0.098-0.093-0.21-0.181-0.331-0.236-0.254-0.116-0.525-0.109-0.794-0.051-1.4 0.304-2.027 1.632-2.089 2.594-0.014 0.217-0.058 0.442-0.139 0.642-0.103 0.254-0.367 0.33-0.579 0.209-0.201-0.114-0.253-0.385-0.125-0.608 0.249-0.436 0.507-0.868 0.736-1.315 0.156-0.303 0.233-0.637 0.177-0.983-0.027-0.164-0.105-0.306-0.28-0.352-0.174-0.046-0.324 0.029-0.417 0.165-0.112 0.164-0.215 0.341-0.282 0.527-0.206 0.566-0.265 1.163-0.321 1.759-0.032 0.335-0.214 0.582-0.47 0.776-0.17 0.128-0.348 0.037-0.351-0.175-0.003-0.157 0.026-0.316 0.043-0.473 0.015-0.147 0.043-0.294 0.043-0.441-0-0.050-0.062-0.132-0.109-0.142-0.049-0.011-0.136 0.029-0.167 0.074-0.050 0.071-0.072 0.163-0.098 0.249-0.048 0.151-0.073 0.312-0.14 0.454-0.064 0.134-0.151 0.272-0.263 0.366-0.176 0.147-0.363 0.079-0.436-0.138-0.033-0.099-0.052-0.207-0.052-0.31 0.001-0.201 0.030-0.401 0.029-0.602-0.001-0.219-0.129-0.362-0.344-0.35-0.162 0.009-0.341 0.051-0.475 0.137-0.361 0.231-0.589 0.576-0.693 0.991-0.061 0.242-0.028 0.478 0.184 0.65 0.208 0.169 0.445 0.172 0.672 0.061 0.147-0.072 0.272-0.191 0.419-0.298 0.106 0.147 0.258 0.269 0.483 0.258 0.217-0.011 0.385-0.122 0.537-0.265 0.199 0.323 0.358 0.414 0.621 0.362 0.28-0.055 0.444-0.265 0.607-0.484 0.217 0.649 1.072 0.741 1.399-0.125 0.541 0.618 1.031 0.842 1.795 0.805 0.621-0.030 1.114-0.336 1.551-0.751 0.148-0.14 0.282-0.295 0.423-0.443 0.034 0.090 0.039 0.157 0.034 0.223-0.021 0.269-0.044 0.538-0.067 0.807-0.008 0.1-0.009 0.2 0.115 0.227s0.203-0.040 0.241-0.154c0.044-0.13 0.076-0.265 0.125-0.393 0.092-0.241 0.185-0.483 0.296-0.716 0.030-0.062 0.127-0.092 0.193-0.136 0.037 0.067 0.088 0.129 0.107 0.2 0.038 0.142 0.046 0.293 0.089 0.434 0.082 0.274 0.293 0.371 0.56 0.264 0.095-0.038 0.18-0.101 0.278-0.157 0.029 0.208 0.096 0.39 0.313 0.461 0.207 0.067 0.392-0.002 0.561-0.118 0.137 0.207 0.27 0.199 0.377-0.016 0.045-0.090 0.074-0.187 0.121-0.276 0.116-0.219 0.229-0.441 0.363-0.649 0.063-0.098 0.162-0.205 0.304-0.139 0.134 0.063 0.116 0.2 0.115 0.322-0 0.021-0.007 0.042-0.010 0.063-0.027 0.188-0.064 0.376-0.074 0.566-0.003 0.061 0.058 0.171 0.103 0.178 0.065 0.010 0.151-0.041 0.21-0.088 0.040-0.032 0.045-0.104 0.069-0.157 0.119-0.264 0.232-0.532 0.366-0.788 0.030-0.058 0.14-0.11 0.206-0.103 0.048 0.006 0.106 0.109 0.122 0.177 0.036 0.154 0.042 0.314 0.071 0.47 0.079 0.432 0.235 0.56 0.614 0.498 0.008-0.001 0.018 0.008 0.014 0.006-0.031 0.197-0.078 0.388-0.087 0.581-0.010 0.194-0.003 0.394 0.035 0.584 0.033 0.16 0.098 0.326 0.192 0.458 0.105 0.147 0.297 0.099 0.365-0.070 0.021-0.053 0.035-0.112 0.039-0.169 0.020-0.258 0.043-0.517 0.052-0.775 0.009-0.235 0.002-0.47 0.002-0.701 0.035-0.005 0.041-0.008 0.046-0.006 0.041 0.011 0.081 0.024 0.122 0.035 0.646 0.179 1.211 0.018 1.714-0.406 0.086-0.072 0.111-0.162 0.039-0.25zM19.684 14.049c0.019-0.043 0.045-0.093 0.082-0.114 0.055-0.032 0.129-0.067 0.183-0.053 0.043 0.011 0.091 0.092 0.094 0.144 0.006 0.114-0.003 0.233-0.028 0.345-0.094 0.426-0.295 0.801-0.563 1.143-0.016 0.020-0.019 0.050-0.028 0.075-0.018-0.012-0.036-0.025-0.054-0.038 0.063-0.509 0.096-1.025 0.314-1.504zM14.385 14.348c0.024-0.063 0.054-0.133 0.102-0.176s0.139-0.095 0.184-0.077c0.057 0.024 0.115 0.111 0.12 0.176 0.009 0.096-0.010 0.204-0.048 0.294-0.187 0.434-0.384 0.864-0.577 1.295-0.023-0.008-0.046-0.016-0.069-0.024 0.061-0.502 0.102-1.008 0.288-1.487zM11.278 16.758c-0.044 0.096-0.148 0.185-0.246 0.234-0.26 0.128-0.493-0.041-0.457-0.326 0.049-0.378 0.261-0.654 0.585-0.841 0.22-0.127 0.341-0.043 0.336 0.212 0.013 0.005 0.027 0.009 0.040 0.014-0.084 0.236-0.154 0.479-0.258 0.706zM25.071 18.593c-0.14-0.368-0.117-0.735 0-1.102 0 0.367 0 0.735 0 1.102zM26.235 16.98c-0.217 0.083-0.434 0.069-0.649-0.016-0.154-0.061-0.224-0.168-0.206-0.333-0.002-0.209 0.079-0.377 0.281-0.452 0.231-0.087 0.475-0.147 0.695 0.023 0.267 0.206 0.194 0.659-0.12 0.779zM10.141 17.163c-0.168-0.016-0.28-0.112-0.355-0.258-0.106-0.207-0.123-0.43-0.081-0.65 0.070-0.368 0.162-0.731 0.24-1.098 0.047-0.221 0.108-0.443 0.121-0.667 0.019-0.334-0.186-0.493-0.517-0.44-0.29 0.046-0.498 0.224-0.685 0.43-0.443 0.488-0.731 1.072-1.017 1.658-0.087 0.178-0.172 0.357-0.258 0.535-0.018-0.004-0.035-0.008-0.053-0.012 0.024-0.194 0.045-0.389 0.074-0.583 0.054-0.365 0.128-0.729 0.164-1.096 0.020-0.202 0.008-0.434-0.218-0.537s-0.41 0.036-0.551 0.183c-0.243 0.256-0.476 0.526-0.682 0.811-0.235 0.324-0.436 0.673-0.677 1.049 0.024-0.096 0.038-0.15 0.051-0.204 0.076-0.335 0.17-0.667 0.224-1.005 0.051-0.319 0.063-0.643-0.071-0.953-0.096-0.223-0.257-0.363-0.503-0.38-0.253-0.017-0.467 0.076-0.627 0.277-0.031 0.039-0.055 0.095-0.056 0.144-0.001 0.053 0.015 0.133 0.050 0.152 0.045 0.025 0.123 0.016 0.175-0.007 0.066-0.029 0.116-0.091 0.177-0.132 0.174-0.115 0.342-0.077 0.442 0.106 0.040 0.073 0.075 0.158 0.077 0.238 0.006 0.205 0.023 0.416-0.018 0.614-0.098 0.475-0.231 0.944-0.341 1.417-0.042 0.179-0.069 0.363-0.083 0.546-0.004 0.051 0.055 0.133 0.105 0.154s0.141 0.002 0.185-0.035c0.075-0.063 0.135-0.149 0.187-0.234 0.162-0.261 0.308-0.531 0.477-0.787 0.3-0.454 0.604-0.905 0.923-1.346 0.083-0.116 0.225-0.189 0.339-0.282 0.016 0.012 0.033 0.025 0.049 0.037 0 0.072 0.007 0.145-0.001 0.217-0.027 0.242-0.062 0.482-0.089 0.724-0.040 0.35-0.084 0.701-0.109 1.052-0.009 0.13 0.052 0.255 0.191 0.3 0.151 0.049 0.289 0.002 0.382-0.123 0.085-0.113 0.158-0.238 0.221-0.365 0.194-0.387 0.371-0.784 0.573-1.167 0.189-0.358 0.425-0.686 0.771-0.912 0.088-0.057 0.209-0.062 0.315-0.091 0.006 0.106 0.034 0.217 0.013 0.318-0.078 0.361-0.193 0.716-0.255 1.080-0.056 0.325-0.098 0.662-0.077 0.989 0.026 0.4 0.404 0.676 0.777 0.626 0.097-0.013 0.198-0.039 0.199-0.163 0.001-0.115-0.090-0.124-0.179-0.133zM21.334 15.528c0.191 0.009 0.349-0.147 0.354-0.349 0.003-0.157-0.088-0.275-0.218-0.281-0.178-0.009-0.334 0.177-0.34 0.404-0.004 0.141 0.067 0.22 0.205 0.226zM12.984 15.402c0.177 0.002 0.298-0.122 0.293-0.297-0.005-0.148-0.095-0.246-0.229-0.249-0.159-0.003-0.268 0.129-0.266 0.323 0.001 0.149 0.067 0.221 0.203 0.223z\"},\"child\":[]}]})(props);\n};\nexport function DiMarkdown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M25.674 9.221h-19.348c-0.899 0-1.63 0.731-1.63 1.63v10.869c0 0.899 0.731 1.63 1.63 1.63h19.348c0.899 0 1.63-0.731 1.63-1.63v-10.869c0-0.899-0.731-1.63-1.63-1.63zM17.413 20.522l-2.826 0.003v-4.239l-2.12 2.717-2.12-2.717v4.239h-2.826v-8.478h2.826l2.12 2.826 2.12-2.826 2.826-0.003v8.478zM21.632 21.229l-3.512-4.943h2.119v-4.239h2.826v4.239h2.119l-3.553 4.943z\"},\"child\":[]}]})(props);\n};\nexport function DiMaterializecss (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 34 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M26.007 17.832l0.033 0.018-0.070-0.027c0.013-0 0.026 0.003 0.037 0.009zM26.007 17.832c0.010 0.008 0.022 0.012 0.035 0.014l-0.070-0.027 0.035 0.013z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M25.964 17.964c-0.025 0.087-0.043 0.177-0.057 0.267s-0.032 0.18-0.057 0.267l-0.073-0.020c0.025-0.088 0.058-0.173 0.094-0.257s0.068-0.169 0.094-0.256zM25.964 17.964c-0.025 0.087-0.043 0.177-0.057 0.267s-0.032 0.179-0.057 0.266l-0.073-0.020c0.025-0.087 0.058-0.172 0.093-0.256s0.068-0.169 0.093-0.256z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M23.919 23.335c-0.090-0.022-0.167-0.076-0.235-0.137-0.032-0.033-0.066-0.064-0.093-0.101l-0.043-0.054-0.039-0.057c-0.102-0.152-0.183-0.318-0.257-0.485-0.073-0.168-0.137-0.34-0.198-0.513-0.059-0.173-0.115-0.348-0.167-0.524-0.104-0.351-0.198-0.706-0.287-1.061s-0.172-0.712-0.251-1.070c-0.159-0.715-0.305-1.434-0.447-2.152l-0.209-1.079c-0.067-0.36-0.136-0.72-0.199-1.081l0.068-0.002-0.002 0.014-0-0.012c0.064 0.362 0.132 0.721 0.199 1.082l0.203 1.082c0.136 0.721 0.279 1.44 0.43 2.158 0.075 0.359 0.155 0.717 0.239 1.074s0.175 0.712 0.277 1.064c0.101 0.352 0.214 0.701 0.356 1.039 0.073 0.168 0.152 0.333 0.253 0.486l0.038 0.057 0.042 0.054c0.027 0.037 0.060 0.068 0.091 0.102 0.067 0.061 0.142 0.115 0.231 0.137l-0.001-0 0.084-0.007c0.028-0.002 0.054-0.013 0.081-0.018s0.053-0.018 0.078-0.029c0.026-0.011 0.052-0.022 0.075-0.038 0.023-0.015 0.049-0.028 0.071-0.045l0.066-0.053c0.022-0.017 0.040-0.039 0.061-0.058s0.040-0.039 0.058-0.061 0.073-0.086 0.105-0.132c0.016-0.023 0.035-0.045 0.048-0.069l0.042-0.074 0.042-0.073c0.015-0.024 0.026-0.050 0.038-0.075l0.074-0.152 0.005 0.002c-0.049 0.1-0.101 0.198-0.159 0.292-0.029 0.047-0.060 0.093-0.092 0.138s-0.067 0.088-0.104 0.13c-0.018 0.021-0.038 0.040-0.057 0.060s-0.041 0.038-0.061 0.056-0.087 0.069-0.135 0.097c-0.025 0.012-0.048 0.028-0.074 0.037-0.026 0.011-0.051 0.021-0.078 0.028-0.026 0.009-0.054 0.013-0.081 0.017s-0.055 0.004-0.083 0.006zM23.919 23.335c0.028-0.002 0.056-0.001 0.083-0.007s0.055-0.009 0.081-0.018c0.027-0.007 0.052-0.017 0.078-0.028 0.026-0.010 0.049-0.025 0.074-0.037 0.048-0.028 0.093-0.061 0.135-0.097 0.020-0.019 0.042-0.036 0.061-0.056s0.039-0.039 0.057-0.061c0.037-0.041 0.071-0.085 0.104-0.13s0.063-0.091 0.092-0.138c0.058-0.095 0.109-0.193 0.158-0.292l0.005 0.003-0.073 0.152c-0.013 0.025-0.023 0.051-0.038 0.075l-0.042 0.073-0.042 0.074c-0.013 0.026-0.032 0.047-0.048 0.070-0.032 0.047-0.068 0.090-0.104 0.133-0.017 0.023-0.038 0.042-0.058 0.062s-0.039 0.041-0.061 0.059l-0.066 0.053c-0.022 0.018-0.048 0.031-0.071 0.046s-0.049 0.028-0.076 0.039c-0.026 0.011-0.051 0.024-0.080 0.030s-0.055 0.017-0.083 0.019l-0.086 0.007-0.001-0c-0.092-0.022-0.17-0.077-0.238-0.138-0.032-0.033-0.066-0.065-0.094-0.102l-0.043-0.054-0.039-0.057c-0.103-0.153-0.185-0.319-0.26-0.486-0.146-0.337-0.264-0.686-0.369-1.038s-0.2-0.707-0.289-1.063c-0.089-0.356-0.172-0.714-0.251-1.072-0.159-0.717-0.302-1.437-0.442-2.157-0.069-0.36-0.14-0.72-0.205-1.082s-0.133-0.723-0.195-1.084l-0.001-0.006 0.001-0.005 0.002-0.012 0.035-0.194 0.033 0.193c0.062 0.361 0.129 0.721 0.195 1.081l0.199 1.081c0.134 0.72 0.273 1.439 0.424 2.156 0.075 0.358 0.155 0.716 0.239 1.072s0.175 0.711 0.278 1.063c0.051 0.176 0.106 0.35 0.165 0.524 0.060 0.173 0.123 0.345 0.195 0.513 0.073 0.168 0.154 0.333 0.255 0.486l0.038 0.057 0.043 0.054c0.027 0.037 0.061 0.068 0.092 0.102 0.068 0.061 0.144 0.116 0.234 0.138z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.964 23.335l-0.052 0.019c-0.018 0.003-0.036 0.005-0.055 0.008v0c-0.091-0.022-0.169-0.077-0.237-0.139-0.032-0.033-0.066-0.065-0.093-0.103l-0.043-0.054-0.039-0.058c-0.103-0.154-0.184-0.321-0.258-0.491s-0.137-0.344-0.199-0.518c-0.059-0.175-0.116-0.352-0.168-0.529s-0.102-0.356-0.149-0.535c-0.048-0.179-0.093-0.358-0.138-0.538-0.089-0.359-0.172-0.72-0.252-1.081-0.159-0.723-0.306-1.448-0.449-2.175l-0.21-1.090-0.103-0.545c-0.035-0.183-0.066-0.364-0.099-0.547l0.064 0.001-0.008 0.042-0.008 0.041-0-0.011c0.033 0.182 0.063 0.362 0.099 0.542l0.104 0.542 0.211 1.083c0.143 0.721 0.285 1.443 0.441 2.162 0.078 0.359 0.159 0.718 0.245 1.075s0.177 0.713 0.28 1.066c0.102 0.353 0.217 0.702 0.359 1.039 0.074 0.167 0.154 0.332 0.255 0.484 0.049 0.077 0.108 0.146 0.172 0.21 0.067 0.060 0.141 0.112 0.227 0.136l-0.004-0.001c0.055-0.001 0.108-0.023 0.155-0.054 0.046-0.033 0.089-0.072 0.125-0.117 0.020-0.021 0.037-0.045 0.054-0.068s0.034-0.047 0.049-0.072 0.061-0.1 0.089-0.151c0.111-0.207 0.2-0.425 0.281-0.645 0.020-0.055 0.040-0.11 0.059-0.166 0.021-0.055 0.037-0.111 0.053-0.168l0.099-0.339 0.196-0.679 0.010 0.003c-0.116 0.433-0.239 0.864-0.39 1.286-0.038 0.105-0.078 0.21-0.121 0.314s-0.089 0.206-0.139 0.306c-0.024 0.051-0.053 0.099-0.080 0.148-0.030 0.047-0.057 0.096-0.092 0.141-0.017 0.022-0.033 0.046-0.051 0.067l-0.056 0.062c-0.020 0.019-0.043 0.036-0.064 0.055-0.023 0.016-0.048 0.029-0.072 0.043zM14.964 23.335c0.024-0.015 0.049-0.027 0.072-0.044 0.021-0.018 0.043-0.036 0.063-0.055l0.056-0.062c0.018-0.021 0.034-0.045 0.051-0.067 0.034-0.044 0.061-0.094 0.091-0.141 0.026-0.049 0.055-0.097 0.079-0.148 0.050-0.1 0.095-0.203 0.138-0.306s0.082-0.208 0.12-0.314c0.149-0.422 0.271-0.854 0.385-1.287l0.010 0.003-0.192 0.68-0.095 0.34c-0.015 0.056-0.032 0.114-0.052 0.169-0.018 0.056-0.038 0.111-0.058 0.167-0.080 0.222-0.167 0.441-0.277 0.651-0.028 0.052-0.056 0.104-0.089 0.154-0.016 0.025-0.032 0.050-0.050 0.074s-0.035 0.048-0.055 0.071-0.082 0.088-0.13 0.124c-0.051 0.034-0.109 0.060-0.173 0.062l-0.002 0-0.002-0.001c-0.094-0.025-0.173-0.080-0.244-0.142-0.067-0.066-0.128-0.137-0.179-0.215-0.105-0.154-0.188-0.32-0.264-0.488-0.147-0.339-0.266-0.689-0.371-1.041s-0.201-0.709-0.289-1.066c-0.088-0.358-0.171-0.716-0.249-1.076-0.157-0.719-0.306-1.44-0.446-2.162l-0.207-1.084-0.102-0.542c-0.035-0.18-0.066-0.363-0.097-0.544l-0.001-0.006 0.001-0.005 0.008-0.044 0.008-0.042 0.034-0.17 0.030 0.171 0.194 1.093 0.2 1.092c0.136 0.727 0.276 1.454 0.428 2.178 0.154 0.724 0.316 1.446 0.523 2.157 0.051 0.178 0.107 0.354 0.166 0.53 0.061 0.174 0.123 0.349 0.197 0.519s0.154 0.337 0.256 0.491l0.039 0.058 0.043 0.055c0.027 0.037 0.061 0.070 0.093 0.103 0.068 0.062 0.145 0.117 0.236 0.14v0c0.018-0.003 0.037-0.005 0.055-0.008l0.052-0.019z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.744 23.335c-0.028-0.030-0.069-0.043-0.101-0.067-0.017-0.011-0.034-0.023-0.049-0.036s-0.032-0.026-0.045-0.041c-0.059-0.056-0.106-0.124-0.149-0.193-0.024-0.033-0.040-0.071-0.060-0.106s-0.038-0.072-0.054-0.109l-0.051-0.111-0.044-0.114c-0.031-0.075-0.056-0.153-0.081-0.23-0.027-0.077-0.050-0.155-0.072-0.233-0.047-0.156-0.084-0.315-0.123-0.473-0.037-0.159-0.070-0.318-0.104-0.477l-0.090-0.48c-0.030-0.16-0.054-0.321-0.088-0.48s-0.063-0.318-0.102-0.476l-0.056-0.237-0.063-0.235c-0.040-0.158-0.093-0.311-0.139-0.466-0.055-0.152-0.104-0.307-0.168-0.456-0.058-0.152-0.129-0.297-0.198-0.443l-0.116-0.213c-0.039-0.071-0.086-0.137-0.128-0.205-0.041-0.070-0.094-0.131-0.142-0.196-0.046-0.066-0.103-0.123-0.157-0.183-0.052-0.062-0.114-0.112-0.174-0.166-0.057-0.057-0.127-0.097-0.191-0.145-0.032-0.025-0.067-0.044-0.102-0.062l-0.106-0.057c-0.072-0.035-0.149-0.058-0.223-0.088l0.009 0.001-0.081 0 0.007-0.061c0.079 0.027 0.161 0.048 0.238 0.080l0.113 0.054c0.038 0.018 0.076 0.035 0.11 0.060 0.143 0.087 0.275 0.191 0.391 0.31 0.119 0.117 0.222 0.248 0.318 0.384 0.045 0.070 0.094 0.137 0.135 0.209l0.122 0.217c0.073 0.149 0.147 0.297 0.207 0.451 0.067 0.152 0.118 0.309 0.174 0.464 0.026 0.078 0.049 0.158 0.073 0.236s0.049 0.158 0.069 0.238c0.043 0.159 0.085 0.319 0.12 0.48 0.039 0.16 0.071 0.322 0.103 0.484 0.034 0.161 0.059 0.324 0.088 0.486l0.087 0.485c0.030 0.161 0.065 0.321 0.099 0.482 0.039 0.159 0.073 0.32 0.119 0.477 0.021 0.079 0.043 0.158 0.069 0.236 0.025 0.078 0.048 0.156 0.079 0.232l0.043 0.115 0.049 0.112c0.016 0.037 0.033 0.074 0.053 0.11s0.036 0.073 0.059 0.106c0.043 0.068 0.088 0.136 0.144 0.191 0.013 0.015 0.028 0.028 0.043 0.040s0.030 0.025 0.047 0.035c0.032 0.025 0.068 0.033 0.108 0.075l-0.021-0.010c0.054-0.001 0.107-0.023 0.154-0.054s0.088-0.074 0.127-0.117c0.038-0.045 0.072-0.093 0.105-0.143 0.031-0.050 0.062-0.102 0.090-0.154 0.112-0.211 0.203-0.434 0.285-0.66 0.021-0.057 0.041-0.112 0.058-0.17l0.163-0.517 0.192-0.695 0.037 0.010c-0.061 0.231-0.127 0.461-0.196 0.689s-0.144 0.456-0.227 0.68c-0.083 0.224-0.175 0.446-0.288 0.656-0.057 0.105-0.121 0.207-0.199 0.298-0.039 0.045-0.083 0.087-0.132 0.12s-0.107 0.056-0.167 0.056zM5.744 23.335c0.060-0.001 0.117-0.025 0.166-0.058s0.092-0.076 0.13-0.121c0.076-0.092 0.138-0.194 0.194-0.3 0.111-0.211 0.198-0.434 0.279-0.658 0.159-0.45 0.285-0.91 0.405-1.372l0.037 0.010-0.189 0.698-0.16 0.518c-0.017 0.058-0.038 0.116-0.058 0.172-0.082 0.227-0.172 0.452-0.285 0.667-0.028 0.054-0.059 0.106-0.091 0.158-0.033 0.051-0.068 0.101-0.108 0.149-0.041 0.046-0.083 0.093-0.137 0.127-0.052 0.035-0.114 0.063-0.182 0.063l-0.012 0-0.009-0.010c-0.017-0.019-0.062-0.038-0.096-0.063-0.018-0.011-0.035-0.024-0.051-0.038-0.017-0.013-0.033-0.027-0.047-0.043-0.061-0.060-0.109-0.13-0.153-0.201-0.024-0.035-0.040-0.073-0.061-0.109s-0.038-0.074-0.054-0.112l-0.050-0.114-0.044-0.116c-0.031-0.077-0.055-0.156-0.081-0.234-0.027-0.078-0.049-0.158-0.071-0.237-0.047-0.158-0.083-0.319-0.122-0.479-0.035-0.161-0.070-0.323-0.101-0.484l-0.089-0.486c-0.030-0.161-0.055-0.324-0.090-0.484-0.033-0.161-0.065-0.322-0.104-0.481-0.036-0.16-0.078-0.319-0.122-0.477-0.020-0.079-0.044-0.158-0.069-0.236s-0.048-0.157-0.074-0.234c-0.056-0.154-0.106-0.31-0.171-0.46-0.058-0.153-0.132-0.299-0.202-0.446l-0.119-0.214c-0.041-0.071-0.088-0.137-0.132-0.206-0.093-0.133-0.193-0.262-0.308-0.376-0.113-0.116-0.24-0.218-0.378-0.302-0.033-0.024-0.069-0.041-0.106-0.058l-0.109-0.053c-0.074-0.031-0.153-0.052-0.229-0.078l-0.175-0.061 0.268 0.001 0.003 0.001c0.077 0.031 0.156 0.056 0.23 0.092l0.109 0.059c0.037 0.019 0.073 0.039 0.105 0.065 0.066 0.049 0.138 0.092 0.196 0.15 0.061 0.056 0.125 0.108 0.177 0.171 0.055 0.062 0.113 0.12 0.159 0.188 0.048 0.067 0.102 0.129 0.143 0.2 0.043 0.070 0.090 0.137 0.129 0.209l0.116 0.216c0.069 0.148 0.141 0.295 0.198 0.448 0.064 0.15 0.112 0.306 0.167 0.46 0.046 0.156 0.098 0.311 0.137 0.469l0.062 0.236 0.055 0.238c0.038 0.158 0.068 0.319 0.1 0.478 0.033 0.16 0.057 0.32 0.086 0.48l0.084 0.48c0.031 0.159 0.063 0.319 0.097 0.478 0.037 0.158 0.072 0.317 0.117 0.473 0.020 0.079 0.043 0.157 0.068 0.234 0.024 0.078 0.048 0.155 0.078 0.231l0.042 0.114 0.049 0.112c0.015 0.038 0.033 0.074 0.053 0.11s0.036 0.073 0.059 0.107c0.043 0.069 0.088 0.137 0.146 0.194 0.013 0.015 0.029 0.029 0.045 0.041s0.031 0.026 0.048 0.037 0.073 0.038 0.1 0.069z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M28.19 23.388c0 0 0.92-0.526 1.104-2.551 0.263-2.839 0.736-3.838 2.235-4.338h-4.285c-0.459 0.077-0.769 0.329-1.003 0.823 0.001 0.002 0.001 0.004 0.001 0.005-0.001 0.003-0.002 0.005-0.004 0.007 0.001 0.006 0.002 0.012 0.004 0.019-0.311 0.569-0.518 1.475-0.699 2.692-0.201 1.17-0.488 2.176-0.869 2.743-0.223 0.362-0.479 0.572-0.769 0.572z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M26.224 17.364c-0.001-0.007-0.002-0.013-0.004-0.019-0.077 0.142-0.148 0.304-0.213 0.487-0.001 0.001-0.001 0.002-0.001 0.002-0.015 0.041-0.028 0.087-0.042 0.13-0.052 0.162-0.103 0.334-0.151 0.523-0.111 0.448-0.207 0.973-0.296 1.574-0.165 0.964-0.389 1.816-0.674 2.41-0.065 0.145-0.133 0.276-0.205 0.391 0.385-0.574 0.675-1.591 0.879-2.775 0.183-1.231 0.393-2.148 0.707-2.724z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M23.57 8.618c-0.073 0.002-0.138 0.037-0.195 0.078-0.054 0.046-0.104 0.098-0.146 0.156-0.086 0.114-0.155 0.24-0.216 0.368-0.062 0.128-0.117 0.26-0.169 0.393s-0.099 0.268-0.143 0.403c-0.045 0.135-0.087 0.272-0.128 0.409s-0.079 0.274-0.117 0.412c-0.075 0.276-0.145 0.553-0.21 0.83-0.262 1.112-0.484 2.233-0.69 3.357l-0.023 0.128-0.022-0.129-0.002-0.012 0.046-0.001-0.002 0.009 0-0.008c0.063 0.361 0.131 0.72 0.199 1.081l0.205 1.079c0.139 0.719 0.283 1.438 0.439 2.153 0.078 0.358 0.159 0.715 0.246 1.070s0.18 0.709 0.284 1.060c0.052 0.175 0.107 0.349 0.166 0.522 0.060 0.172 0.124 0.343 0.196 0.51 0.074 0.166 0.154 0.33 0.254 0.479l0.038 0.056 0.042 0.052c0.026 0.036 0.059 0.066 0.089 0.098 0.065 0.058 0.137 0.108 0.218 0.128l-0.008-0.001c0.12-0.001 0.237-0.041 0.338-0.11 0.102-0.067 0.189-0.158 0.266-0.255s0.144-0.205 0.204-0.316c0.030-0.054 0.060-0.113 0.085-0.167l0.074-0.177c0.026-0.059 0.045-0.118 0.068-0.178 0.021-0.060 0.045-0.118 0.063-0.179 0.039-0.121 0.079-0.242 0.112-0.364 0.036-0.122 0.067-0.245 0.098-0.368s0.057-0.248 0.087-0.372l0.076-0.374 0.069-0.376 0.14-0.752c0.022-0.125 0.055-0.25 0.082-0.375l0.085-0.374c0.013-0.063 0.031-0.126 0.049-0.186l0.053-0.184c0.036-0.123 0.069-0.244 0.113-0.37l-0.001 0.003 0.091-0.244c0.016-0.040 0.035-0.080 0.052-0.12l0.053-0.119 0.035-0.081 0.017 0.087 0.004 0.020-0.052-0.006 0.016-0.030-0.002 0.017-0.095-0.569c-0.029-0.189-0.065-0.378-0.1-0.568l-0.21-1.134c-0.142-0.755-0.288-1.51-0.447-2.262-0.079-0.376-0.163-0.751-0.25-1.125s-0.18-0.747-0.285-1.117c-0.052-0.185-0.107-0.369-0.168-0.551s-0.124-0.363-0.199-0.54c-0.074-0.177-0.155-0.352-0.259-0.513-0.027-0.040-0.052-0.081-0.083-0.117-0.015-0.019-0.029-0.038-0.045-0.056l-0.050-0.052c-0.069-0.066-0.148-0.125-0.242-0.147l0.001 0-0.174-0.001c-0.029 0.001-0.058-0.002-0.087 0.003l-0.022 0.003c-0.007 0.001-0.015 0.001-0.021 0.004l-0.041 0.016-0-0.001 0.153 0.001zM23.57 8.618l-0.157 0.001 0.044-0.018c0.007-0.003 0.014-0.003 0.022-0.004l0.021-0.003c0.029-0.006 0.058-0.003 0.087-0.004l0.175-0.001c0.095 0.022 0.176 0.081 0.246 0.147l0.051 0.052c0.016 0.018 0.030 0.037 0.046 0.056 0.032 0.037 0.057 0.078 0.084 0.117 0.105 0.161 0.189 0.336 0.265 0.512s0.142 0.358 0.204 0.54c0.062 0.182 0.119 0.366 0.173 0.55 0.216 0.739 0.389 1.489 0.55 2.24s0.31 1.506 0.454 2.262l0.214 1.133c0.035 0.189 0.072 0.377 0.102 0.568l0.096 0.568 0.002 0.010-0.004 0.008-0.015 0.030-0.037 0.073-0.015-0.079-0.003-0.018 0.052 0.006-0.051 0.118c-0.017 0.040-0.035 0.078-0.051 0.118l-0.089 0.242-0.001 0.003c-0.039 0.115-0.074 0.24-0.108 0.362l-0.053 0.184c-0.018 0.062-0.035 0.121-0.048 0.184l-0.083 0.372c-0.027 0.125-0.058 0.248-0.080 0.373l-0.138 0.753-0.068 0.377-0.076 0.376c-0.029 0.125-0.054 0.25-0.086 0.374-0.031 0.124-0.061 0.248-0.098 0.371-0.033 0.124-0.073 0.246-0.112 0.368-0.018 0.061-0.042 0.121-0.063 0.182-0.023 0.060-0.042 0.122-0.068 0.18l-0.073 0.177c-0.029 0.061-0.057 0.117-0.088 0.174-0.062 0.113-0.13 0.224-0.21 0.326s-0.171 0.199-0.283 0.272c-0.11 0.075-0.243 0.121-0.379 0.122h-0.004l-0.004-0.001c-0.099-0.024-0.181-0.083-0.251-0.147-0.033-0.034-0.068-0.067-0.095-0.105l-0.044-0.055-0.039-0.058c-0.103-0.156-0.184-0.323-0.258-0.491s-0.136-0.342-0.197-0.516c-0.059-0.174-0.114-0.349-0.166-0.526-0.103-0.352-0.195-0.708-0.281-1.064s-0.167-0.714-0.244-1.072c-0.154-0.717-0.295-1.436-0.432-2.156l-0.202-1.080c-0.066-0.36-0.133-0.721-0.195-1.082l-0.001-0.005 0.001-0.004 0.001-0.004 0.027-0.113 0.019 0.112 0.002 0.013-0.046-0.001c0.105-0.562 0.213-1.123 0.329-1.683s0.238-1.118 0.376-1.673c0.068-0.277 0.141-0.554 0.218-0.829 0.039-0.138 0.078-0.275 0.121-0.411s0.085-0.273 0.132-0.408c0.046-0.136 0.095-0.27 0.147-0.403s0.109-0.265 0.172-0.393c0.063-0.128 0.133-0.254 0.22-0.367 0.043-0.057 0.093-0.109 0.148-0.155 0.058-0.041 0.124-0.076 0.197-0.077z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M26.22 17.345c0.001-0.002 0.002-0.005 0.004-0.007-0-0.002-0.001-0.004-0.001-0.005-0.001 0.003-0.002 0.005-0.003 0.007 0 0.002 0 0.004 0.001 0.006z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M26.006 17.835c-0.014 0.042-0.029 0.086-0.042 0.13 0.014-0.043 0.028-0.089 0.042-0.13z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M26.204 17.37c-0.001-0.006-0.002-0.013-0.004-0.019-0.068 0.144-0.133 0.305-0.193 0.481 0.066-0.183 0.136-0.345 0.213-0.487-0-0.002-0.001-0.004-0.001-0.005-0.005 0.011-0.010 0.020-0.015 0.030z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M24.843 22.472c0.285-0.594 0.508-1.447 0.674-2.41 0.089-0.601 0.185-1.126 0.296-1.574-0.117 0.461-0.224 1.001-0.331 1.63-0.159 0.928-0.371 1.756-0.639 2.355z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.099 23.411c0.684-0.158 1.261-2.102 2.233-7.41 0.051-0.356 0.126-0.687 0.178-1.018-0.006-0.032-0.011-0.064-0.017-0.098 0.001-0.004 0.002-0.008 0.003-0.012-0.001-0.005-0.002-0.009-0.003-0.014 0.616-3.176 1.254-5.954 1.895-6.242h-3.786c-0.036-0.016-0.072-0.026-0.108-0.026h-0.236c-0.657 0.157-1.235 2.076-2.207 7.41-0.020 0.121-0.040 0.228-0.060 0.342 0.002 0.009 0.003 0.017 0.005 0.025-0.001 0.005-0.001 0.009-0.003 0.013 0.001 0.004 0.002 0.008 0.003 0.013-0.408 2.199-0.836 4.254-1.265 5.538-0.26 0.805-0.521 1.335-0.78 1.452z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M21.512 14.916c-0.001 0.004-0.002 0.008-0.003 0.012 0.006 0.035 0.012 0.066 0.017 0.099 0.001-0.004 0.002-0.009 0.002-0.013-0.006-0.032-0.011-0.064-0.017-0.098z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.977 16.435c-0.309 1.665-0.63 3.246-0.953 4.477-0.106 0.41-0.212 0.784-0.318 1.113 0.432-1.293 0.863-3.362 1.274-5.577-0.001-0.005-0.002-0.009-0.003-0.013z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M21.51 14.903c0.001 0.005 0.002 0.009 0.003 0.014 0.619-3.218 1.261-6.010 1.905-6.299v0c-0.645 0.29-1.288 3.087-1.908 6.285z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M21.533 15.020c0.635-3.439 1.349-6.403 2.037-6.403h-0.153c-0.644 0.289-1.286 3.081-1.905 6.299 0.006 0.034 0.011 0.066 0.017 0.098 0-0.002 0.001-0.004 0.001-0.007 0.001 0.004 0.002 0.008 0.002 0.013z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.972 16.41c-0.261-1.351-0.522-2.702-0.823-4.045-0.151-0.671-0.31-1.341-0.509-1.998-0.101-0.328-0.211-0.654-0.35-0.967-0.070-0.156-0.149-0.308-0.246-0.448-0.048-0.070-0.103-0.134-0.163-0.192-0.063-0.053-0.133-0.099-0.212-0.119l0.006 0.001c-0.071 0.001-0.149-0.002-0.215 0.003-0.017 0.003-0.038 0.003-0.052 0.009l-0.044 0.018c-0.015 0.007-0.029 0.018-0.043 0.027s-0.028 0.019-0.041 0.032c-0.105 0.092-0.184 0.216-0.254 0.34s-0.13 0.258-0.185 0.391c-0.056 0.133-0.105 0.27-0.154 0.407-0.189 0.549-0.338 1.112-0.477 1.676-0.138 0.565-0.262 1.133-0.381 1.703s-0.231 1.14-0.34 1.712l0-0.013 0.098 0.546 0.1 0.546 0.203 1.091c0.138 0.727 0.28 1.453 0.435 2.176 0.077 0.362 0.158 0.723 0.245 1.082 0.043 0.18 0.088 0.359 0.135 0.538s0.095 0.357 0.147 0.534c0.051 0.177 0.107 0.353 0.165 0.528 0.061 0.174 0.123 0.348 0.196 0.517s0.154 0.335 0.254 0.487l0.038 0.057 0.042 0.053c0.027 0.037 0.059 0.068 0.091 0.101 0.066 0.060 0.14 0.113 0.225 0.133l-0.005-0.001c0.017-0.003 0.034-0.004 0.051-0.008 0.016-0.006 0.036-0.012 0.048-0.018 0.034-0.019 0.068-0.038 0.093-0.063 0.055-0.046 0.103-0.107 0.147-0.168 0.087-0.125 0.157-0.262 0.221-0.4s0.12-0.282 0.174-0.427c0.053-0.144 0.102-0.29 0.15-0.437 0.093-0.293 0.178-0.59 0.257-0.887l0.21-0.9 0.211-0.901c0.035-0.15 0.072-0.3 0.1-0.451l0.091-0.453 0.182-0.907 0.091-0.453c0.029-0.151 0.063-0.302 0.089-0.454zM16.972 16.41c-0.025 0.152-0.057 0.303-0.085 0.455l-0.087 0.454-0.174 0.909-0.087 0.454c-0.027 0.152-0.062 0.302-0.096 0.452l-0.203 0.903-0.102 0.451-0.104 0.451c-0.078 0.299-0.162 0.596-0.254 0.89-0.047 0.147-0.096 0.294-0.149 0.439s-0.11 0.289-0.174 0.43c-0.065 0.14-0.135 0.28-0.224 0.409-0.046 0.064-0.093 0.126-0.157 0.179-0.031 0.029-0.064 0.047-0.098 0.067-0.022 0.011-0.040 0.015-0.060 0.023-0.020 0.005-0.042 0.007-0.063 0.010l-0.002 0-0.004-0.001c-0.097-0.023-0.178-0.081-0.248-0.145-0.033-0.034-0.068-0.067-0.095-0.105l-0.044-0.055-0.039-0.058c-0.104-0.156-0.185-0.324-0.26-0.495s-0.138-0.345-0.199-0.52c-0.059-0.176-0.116-0.352-0.168-0.53s-0.102-0.356-0.149-0.535c-0.048-0.179-0.093-0.359-0.137-0.539-0.088-0.36-0.17-0.721-0.249-1.083-0.157-0.724-0.302-1.45-0.442-2.176l-0.207-1.091-0.102-0.546-0.096-0.547-0.001-0.006 0.001-0.007c0.111-0.571 0.225-1.142 0.346-1.712s0.247-1.138 0.387-1.704c0.141-0.565 0.291-1.129 0.484-1.68 0.049-0.138 0.099-0.275 0.156-0.409s0.117-0.268 0.189-0.396c0.073-0.127 0.153-0.254 0.267-0.354 0.014-0.013 0.029-0.025 0.045-0.035s0.032-0.022 0.049-0.031l0.058-0.022c0.019-0.007 0.036-0.006 0.055-0.009 0.079-0.005 0.147-0.001 0.222-0.002h0.003l0.003 0.001c0.090 0.023 0.166 0.074 0.234 0.131 0.064 0.062 0.121 0.128 0.17 0.201 0.099 0.144 0.179 0.298 0.249 0.457 0.14 0.316 0.249 0.644 0.349 0.974 0.198 0.66 0.354 1.331 0.503 2.003 0.29 1.345 0.537 2.699 0.786 4.053z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.977 16.435c0.001-0.004 0.002-0.009 0.003-0.013-0.001-0.008-0.003-0.017-0.005-0.025-0.001 0.005-0.002 0.009-0.002 0.014 0.002 0.008 0.003 0.016 0.004 0.025z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.956 16.502c-0.303 1.63-0.616 3.182-0.932 4.41 0.323-1.231 0.644-2.812 0.953-4.477-0.001-0.008-0.003-0.017-0.004-0.025-0.005 0.031-0.011 0.060-0.016 0.092z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.041 23.388c0.684-0.157 1.233-2.050 2.206-7.359 0.051-0.357 0.126-0.69 0.179-1.022-0.005-0.028-0.010-0.054-0.015-0.083 0.245-1.276 0.494-2.486 0.746-3.497 0.377-1.546 0.764-2.635 1.153-2.809h-4.139c-0.657 0.158-1.235 2.076-2.234 7.411-0.068 0.319-0.119 0.638-0.182 0.958 0.006 0.008 0.012 0.014 0.018 0.022-0.001 0.007-0.003 0.014-0.004 0.022 0.001 0.002 0.003 0.003 0.004 0.005-0.39 2.012-0.789 3.857-1.192 5.012-0.282 0.834-0.567 1.34-0.851 1.34h2.939z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.453 14.953c-0.002-0.008-0.003-0.016-0.005-0.025 0.235-1.272 0.477-2.477 0.723-3.489-0.253 1.017-0.503 2.232-0.75 3.515 0.005 0.030 0.010 0.056 0.015 0.084 0.002-0.010 0.004-0.020 0.005-0.030 0.004-0.019 0.007-0.037 0.011-0.055z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.757 17.072c-0.27 1.39-0.544 2.699-0.821 3.758-0.124 0.482-0.249 0.915-0.374 1.284 0.405-1.162 0.807-3.015 1.198-5.037-0.002-0.002-0.003-0.003-0.004-0.005z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.172 11.44c0.418-1.683 0.843-2.823 1.267-2.823h-0.108c-0.39 0.175-0.78 1.269-1.159 2.823z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.476 8.617h-0.037c-0.424 0-0.849 1.14-1.267 2.823-0.247 1.012-0.489 2.217-0.723 3.489 0.002 0.009 0.003 0.016 0.005 0.025 0.657-3.41 1.34-6.336 2.023-6.336z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.75 20.716l0.065 0.353c0.020 0.118 0.047 0.234 0.071 0.352s0.051 0.234 0.080 0.35c0.027 0.117 0.059 0.232 0.092 0.347 0.030 0.116 0.071 0.228 0.107 0.342l0.064 0.168c0.020 0.056 0.048 0.11 0.071 0.164s0.055 0.106 0.081 0.159c0.014 0.027 0.032 0.050 0.047 0.076s0.032 0.050 0.051 0.073 0.076 0.092 0.122 0.129c0.022 0.020 0.048 0.035 0.073 0.051s0.053 0.027 0.076 0.052l-0.006-0.003c0.067-0.002 0.131-0.031 0.184-0.072s0.099-0.092 0.141-0.147c0.082-0.109 0.149-0.229 0.208-0.352 0.119-0.246 0.214-0.504 0.3-0.764s0.163-0.523 0.236-0.788c0.036-0.132 0.071-0.265 0.104-0.397l0.091-0.401 0.183-0.803 0.092-0.401c0.032-0.134 0.055-0.269 0.084-0.403l0.324-1.613 0.006 0.028-0.012-0.016-0.010-0.014 0.003-0.016 0.024-0.124 0.008 0.030-0.108-0.123c-0.040-0.037-0.077-0.077-0.119-0.111-0.043-0.032-0.083-0.070-0.13-0.096l-0.068-0.043-0.073-0.034c-0.047-0.025-0.1-0.038-0.151-0.056-0.052-0.015-0.105-0.024-0.158-0.035-0.053-0.005-0.109-0.014-0.16-0.015l-1.499-0.003-2.665-0.014 0.005-0.037c0.096 0.040 0.197 0.068 0.286 0.124 0.045 0.026 0.093 0.047 0.135 0.078l0.126 0.091c0.044 0.028 0.079 0.067 0.118 0.101 0.037 0.036 0.079 0.067 0.112 0.107 0.068 0.078 0.142 0.151 0.2 0.236l0.092 0.124c0.029 0.043 0.055 0.087 0.083 0.131s0.056 0.086 0.081 0.132l0.073 0.136c0.051 0.090 0.092 0.184 0.135 0.278 0.045 0.093 0.081 0.189 0.12 0.285 0.040 0.095 0.073 0.192 0.107 0.29l0.051 0.146 0.045 0.148c0.029 0.099 0.061 0.196 0.086 0.296l0.078 0.299 0.069 0.301c0.024 0.1 0.041 0.201 0.062 0.302s0.040 0.202 0.057 0.303l0.052 0.304zM4.75 20.716l-0.054-0.304c-0.017-0.101-0.037-0.202-0.058-0.303s-0.039-0.202-0.064-0.302l-0.070-0.3-0.079-0.298c-0.025-0.1-0.058-0.197-0.087-0.296l-0.045-0.147-0.051-0.145c-0.034-0.097-0.067-0.194-0.108-0.289-0.039-0.095-0.075-0.191-0.121-0.283-0.044-0.093-0.086-0.187-0.137-0.276l-0.074-0.135c-0.025-0.045-0.055-0.087-0.082-0.13s-0.055-0.087-0.084-0.129l-0.093-0.122c-0.059-0.084-0.133-0.155-0.201-0.232-0.034-0.039-0.075-0.069-0.112-0.104-0.039-0.033-0.074-0.071-0.117-0.098l-0.125-0.088c-0.041-0.030-0.089-0.049-0.133-0.075-0.087-0.053-0.187-0.080-0.281-0.118l-0.089-0.036 4.258-0.018c0.060 0.001 0.114 0.010 0.171 0.015 0.056 0.011 0.112 0.020 0.167 0.036 0.054 0.018 0.11 0.032 0.161 0.059l0.078 0.036 0.073 0.045c0.051 0.028 0.093 0.067 0.138 0.101 0.044 0.036 0.083 0.078 0.124 0.117l0.123 0.14-0.003 0.018-0.024 0.125-0.007-0.030 0.013 0.019 0.009 0.013-0.003 0.015-0.332 1.614c-0.029 0.134-0.053 0.27-0.085 0.403l-0.095 0.401-0.287 1.201c-0.035 0.134-0.072 0.265-0.109 0.398-0.075 0.264-0.156 0.527-0.245 0.787s-0.188 0.517-0.31 0.764c-0.062 0.123-0.13 0.244-0.214 0.353-0.042 0.055-0.090 0.106-0.145 0.148s-0.123 0.072-0.194 0.073h-0.003l-0.003-0.003c-0.018-0.020-0.046-0.033-0.071-0.049s-0.051-0.032-0.074-0.053c-0.047-0.038-0.087-0.083-0.123-0.131-0.019-0.023-0.036-0.048-0.051-0.074s-0.033-0.050-0.047-0.077c-0.027-0.054-0.059-0.105-0.081-0.161s-0.051-0.109-0.070-0.165l-0.063-0.168c-0.035-0.114-0.076-0.227-0.106-0.343-0.032-0.115-0.064-0.231-0.090-0.347-0.028-0.116-0.056-0.233-0.079-0.35s-0.050-0.234-0.070-0.352l-0.064-0.353z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.757 17.072c0.001-0.007 0.003-0.014 0.004-0.022-0.006-0.008-0.012-0.014-0.018-0.022-0.001 0.007-0.002 0.015-0.004 0.022 0.006 0.008 0.012 0.014 0.018 0.022z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.715 17.175c0.004 0.006 0.008 0.012 0.012 0.018-0.26 1.339-0.524 2.601-0.791 3.638 0.277-1.059 0.551-2.368 0.821-3.758-0.006-0.008-0.012-0.014-0.018-0.022-0.008 0.042-0.015 0.083-0.024 0.125z\"},\"child\":[]}]})(props);\n};\nexport function DiMeteor (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 27 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.508 7.534c1.423 1.578 15.446 16.442 15.601 16.533 0.414 0.246 1.177-0.414 0.996-0.867-0.078-0.194-3.35-3.299-16.222-15.394-0.466-0.44-0.634-0.556-0.375-0.272zM15.244 15.348c5.007 5.42 6.041 6.481 6.326 6.481 0.453 0 0.828-0.414 0.737-0.802-0.052-0.181-2.678-2.704-6.442-6.184-3.506-3.234-6.429-5.912-6.494-5.938s2.574 2.872 5.873 6.442zM14.662 11.415c5.692 6.222 7.18 7.762 7.529 7.762 0.272 0 0.362-0.065 0.388-0.323 0.026-0.272-0.53-0.841-3.752-3.829-5.55-5.136-5.563-5.149-4.166-3.609zM11.674 18.763c5.847 6.339 5.938 6.429 6.429 6.429 0.401 0 0.518-0.065 0.608-0.284 0.052-0.155 0.078-0.388 0.052-0.505-0.052-0.194-12.121-11.449-12.755-11.888-0.155-0.103 2.393 2.704 5.666 6.248zM7.483 16.861c0.181 0.233 1.979 2.199 3.997 4.373 3.182 3.441 3.713 3.971 3.998 3.932 0.259-0.026 0.336-0.116 0.336-0.375s-0.543-0.828-2.781-2.898c-1.527-1.41-3.48-3.208-4.334-3.997s-1.397-1.255-1.216-1.035z\"},\"child\":[]}]})(props);\n};\nexport function DiMeteorfull (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 27 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.268 13.321c0.482 0.534 5.229 5.566 5.281 5.597 0.14 0.083 0.398-0.14 0.337-0.293-0.026-0.066-1.134-1.117-5.491-5.211-0.158-0.149-0.215-0.188-0.127-0.092zM19.903 15.966c1.695 1.835 2.045 2.194 2.141 2.194 0.153 0 0.28-0.14 0.25-0.271-0.018-0.061-0.907-0.915-2.181-2.093-1.187-1.095-2.176-2.001-2.198-2.010s0.871 0.972 1.988 2.181zM19.706 14.635c1.927 2.106 2.43 2.628 2.549 2.628 0.092 0 0.123-0.022 0.131-0.11 0.009-0.092-0.18-0.285-1.27-1.296-1.879-1.739-1.883-1.743-1.41-1.222zM18.694 17.122c1.979 2.146 2.010 2.176 2.176 2.176 0.136 0 0.175-0.022 0.206-0.096 0.017-0.053 0.026-0.131 0.017-0.171-0.017-0.066-4.103-3.876-4.318-4.024-0.053-0.035 0.81 0.915 1.918 2.115zM0.368 17.35v1.949h0.832l0.009-1.257 0.013-1.261 0.521 0.801c0.289 0.438 0.539 0.793 0.561 0.788 0.017-0.009 0.272-0.368 0.56-0.801l0.526-0.788 0.009 1.248 0.013 1.248h0.832l0.013-1.94 0.009-1.936h-0.959l-0.491 0.788c-0.267 0.434-0.499 0.788-0.517 0.788-0.013 0-0.241-0.355-0.508-0.788l-0.482-0.788h-0.941v1.949zM5.316 17.35v1.949h2.934v-0.788h-2.102v-0.788h1.839v-0.788h-1.839v-0.788h2.102v-0.744h-2.934v1.949zM9.301 15.795v0.394h1.182v3.114l0.854-0.026 0.013-1.541 0.009-1.541 1.16-0.026 0.013-0.385 0.013-0.381h-3.245v0.394zM13.593 17.35v1.949h2.934v-0.788h-2.102v-0.788h1.839v-0.788h-1.839v-0.788h2.102v-0.744h-2.934v1.949zM23.279 17.337l0.013 1.94 0.854 0.026v-1.274h0.657l0.425 0.635 0.42 0.635h0.477c0.346 0 0.473-0.013 0.473-0.052 0-0.031-0.197-0.346-0.438-0.696-0.241-0.355-0.438-0.653-0.438-0.666s0.044-0.031 0.101-0.048c0.184-0.044 0.495-0.359 0.6-0.604 0.153-0.355 0.14-0.837-0.026-1.165-0.079-0.149-0.201-0.302-0.315-0.39-0.324-0.245-0.508-0.276-1.725-0.276h-1.086l0.009 1.936zM25.508 16.356c0.105 0.114 0.127 0.18 0.127 0.359 0 0.175-0.022 0.245-0.123 0.355-0.149 0.166-0.346 0.21-0.937 0.215h-0.429v-1.104l0.617 0.018 0.617 0.013 0.127 0.145zM17.275 16.478c0.061 0.079 0.67 0.744 1.353 1.48 1.077 1.165 1.257 1.344 1.353 1.331 0.087-0.009 0.114-0.039 0.114-0.127s-0.184-0.28-0.941-0.981c-0.517-0.477-1.178-1.086-1.467-1.353s-0.473-0.425-0.412-0.35z\"},\"child\":[]}]})(props);\n};\nexport function DiMitlicence (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 5.308c-6.081-0-11.011 4.915-11.011 10.977s4.93 10.977 11.011 10.977 11.011-4.915 11.011-10.977v-0c0-6.063-4.93-10.977-11.011-10.977zM26.105 16.286c0 5.564-4.524 10.074-10.105 10.074s-10.105-4.51-10.105-10.074c0-5.564 4.524-10.074 10.105-10.074s10.105 4.51 10.105 10.074v0zM8.462 20.664v-8.607h2.064l1.239 5.871 1.225-5.871h2.069v8.607h-1.281v-6.775l-1.356 6.775h-1.328l-1.351-6.775v6.775h-1.281zM16.387 20.664v-8.607h1.379v8.607h-1.379zM20.617 20.664v-7.151h-2.027v-1.456h5.428v1.456h-2.022v7.151h-1.379z\"},\"child\":[]}]})(props);\n};\nexport function DiModernizr (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0.321 23.812v-5.018h5.017v-5.017h5.017v-5.017h5.017v15.052zM16.627 8.76c8.313 0 15.052 6.739 15.052 15.052h-15.052v-15.052z\"},\"child\":[]}]})(props);\n};\nexport function DiMongodb (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22.797 14.562c-0.067-0.774-0.209-1.546-0.407-2.297-0.625-2.369-1.666-4.637-3.134-6.603-0.4-0.536-0.832-1.048-1.294-1.532-0.476-0.499-1.004-0.957-1.336-1.578-0.21-0.393-0.41-0.791-0.614-1.187-0.003 0.124-0.011 0.248-0.011 0.371-0-0.124 0.009-0.248 0.011-0.372-0.038-0.095-0.076-0.191-0.13-0.327-0.022 0.075-0.036 0.101-0.036 0.129-0.017 0.645-0.383 1.083-0.838 1.492-0.512 0.46-0.989 0.959-1.481 1.441 0.017 0.022 0.036 0.044 0.055 0.066-0.019-0.022-0.038-0.043-0.055-0.066-1.463 1.924-2.752 3.981-3.511 6.29-0.221 0.672-0.395 1.359-0.517 2.056-0.259 1.481-0.379 2.92-0.296 4.42 0.046 0.829 0.191 1.645 0.407 2.448 0.785 2.917 2.379 5.336 4.558 7.392 0.405 0.382 0.842 0.729 1.265 1.093 0.001-0.004 0.002-0.007 0.003-0.011-0.001 0.004-0.002 0.007-0.003 0.011 0.062 0.214 0.125 0.428 0.187 0.642 0.058 0.332 0.116 0.664 0.174 0.996 0.028 0.346 0.055 0.693 0.083 1.039-0.001 0.211-0.010 0.423 0.003 0.633 0.003 0.054 0.074 0.104 0.113 0.156 0.001-0.002 0.002-0.004 0.004-0.006-0.001 0.002-0.002 0.004-0.004 0.006 0.118 0.041 0.235 0.083 0.353 0.124 0.106 0.041 0.212 0.083 0.367 0.143-0.023-0.346-0.043-0.635-0.063-0.924-0.001-0.303-0.002-0.607-0.003-0.91-0.006 0.007-0.014 0.014-0.021 0.021 0.007-0.007 0.014-0.014 0.021-0.021 0.042-0.462 0.085-0.924 0.127-1.386 0.031-0.101 0.061-0.201 0.092-0.302 0.088-0.156 0.175-0.311 0.263-0.467 0.325-0.262 0.674-0.499 0.971-0.79 0.536-0.527 1.071-1.060 1.55-1.637 0.622-0.748 1.158-1.565 1.588-2.441 1.223-2.491 1.789-5.269 1.564-8.039-0.002-0.024-0.004-0.049-0.006-0.074z\"},\"child\":[]}]})(props);\n};\nexport function DiMootoolsBadge (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.693 5.666c-0.186-0.050-0.381-0.062-0.525 0.071-0.174 0.161-0.031 0.34 0.032 0.504 0.265 0.692 0.526 1.385 0.802 2.072 0.275 0.684 0.027 1.183-0.613 1.406-0.636 0.222-1.239 0.111-1.489-0.649-0.213-0.645-0.392-1.302-0.607-1.946-0.070-0.21-0.010-0.56-0.362-0.553-0.317 0.007-0.469 0.263-0.553 0.546-0.219 0.74-0.413 1.488-0.657 2.22-0.395 1.182-0.387 2.312 0.027 3.522 0.595 1.739 0.689 3.556 0.472 5.399-0.239 2.027-0.665 4.020-0.961 6.036-0.209 1.424 0.874 2.667 2.277 2.646 1.231-0.018 2.232-0.985 2.26-2.231 0.026-1.174 0.033-2.349 0.001-3.523-0.096-3.473 0.242-6.774 2.369-9.774 1.484-2.093 0.059-5.073-2.472-5.746zM14.576 25.809c-0.73-0.014-1.167-0.411-1.184-1.061s0.407-1.111 1.096-1.115c0.633-0.004 1.052 0.382 1.094 1.018 0.046 0.69-0.354 1.071-1.007 1.158z\"},\"child\":[]}]})(props);\n};\nexport function DiMootools (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M26.301 18.397c-0.24-0.003-0.529-0.095-0.798-0.26-0.095-0.058-0.105-0.107-0.027-0.183 0.044-0.043 0.083-0.091 0.125-0.136 0.080-0.085 0.146-0.198 0.244-0.248 0.113-0.058 0.202 0.080 0.31 0.112 0.195 0.059 0.362 0.030 0.449-0.104 0.111-0.172 0.022-0.308-0.094-0.428-0.198-0.203-0.409-0.393-0.602-0.6-0.157-0.168-0.286-0.357-0.3-0.599-0.030-0.538 0.345-0.967 0.919-1.035 0.454-0.053 0.85 0.085 1.189 0.393 0.085 0.078 0.090 0.137-0.001 0.206-0.005 0.004-0.008 0.009-0.012 0.014-0.1 0.109-0.18 0.257-0.304 0.317-0.137 0.067-0.224-0.133-0.36-0.162-0.060-0.013-0.114-0.049-0.174-0.061-0.16-0.033-0.313-0.023-0.403 0.14-0.084 0.153 0.021 0.258 0.114 0.356 0.191 0.201 0.425 0.356 0.606 0.569 0.33 0.389 0.385 0.867 0.13 1.245-0.221 0.329-0.546 0.465-1.012 0.463zM7.887 18.018c0.012 0.020 0.032 0.040 0.035 0.061 0.038 0.271 0.037 0.272 0.303 0.272 0.068 0 0.136-0.006 0.203 0.001 0.155 0.016 0.274-0.004 0.238-0.206-0.001-0.004 0.005-0.014 0.007-0.014 0.011-0 0.021 0.002 0.032 0.003 0.010 0.262 0.010 0.262-0.236 0.262-0.159 0-0.319-0.007-0.478 0.002-0.118 0.007-0.153-0.032-0.13-0.146 0.016-0.077 0.017-0.157 0.024-0.236zM6.040 18.093c0.091 0.258 0.091 0.258 0.402 0.258 0.152 0 0.304 0.002 0.455 0.003-0.056 0.090-0.143 0.037-0.215 0.041-0.159 0.008-0.319-0.011-0.476 0.006-0.171 0.019-0.217-0.044-0.178-0.2 0.009-0.035 0.008-0.072 0.012-0.108zM4.228 18.278c0.045 0.055 0.1 0.088 0.173 0.073 0.204-0.041 0.428 0.090 0.617-0.073 0.009 0.028 0.018 0.056 0.027 0.084-0.256 0.076-0.518 0.020-0.778 0.030-0.075 0.003-0.044-0.069-0.039-0.114zM14.672 15.928c-0.277-0.658-0.898-1.035-1.675-1.010-0.551 0.018-1.011 0.243-1.393 0.653-0.369-0.465-0.853-0.662-1.429-0.654s-1.054 0.241-1.449 0.658c-0.489-0.796-1.523-0.836-2.015-0.298-0.053 0.058-0.081 0.042-0.129-0.004-0.356-0.346-0.793-0.426-1.251-0.311-0.257 0.065-0.507 0.088-0.764 0.080-0.126-0.004-0.151 0.042-0.157 0.159-0.025 0.498-0.064 0.995-0.094 1.493-0.032 0.528-0.059 1.057-0.088 1.585 0.018 0.082 0.074 0.094 0.149 0.093 0.223-0.005 0.446 0.003 0.668-0.009 0.009-0.067 0.021-0.133 0.026-0.2 0.042-0.632 0.081-1.264 0.123-1.896 0.020-0.306 0.236-0.521 0.501-0.505 0.283 0.018 0.459 0.248 0.441 0.564-0.034 0.589-0.064 1.178-0.095 1.768 0.032 0.057 0.016 0.119 0.016 0.179 0 0.068 0.025 0.101 0.096 0.098 0.248-0.010 0.497 0.018 0.745-0.016 0.008-0.054 0.021-0.108 0.024-0.162 0.039-0.644 0.077-1.288 0.115-1.932 0.016-0.283 0.248-0.504 0.517-0.491 0.264 0.013 0.434 0.226 0.419 0.519-0.030 0.576-0.057 1.153-0.086 1.729 0.039 0.058 0.018 0.118 0.008 0.177-0.021 0.124 0.018 0.186 0.155 0.176 0.116-0.009 0.233-0.002 0.35-0.002 0.257 0 0.257 0 0.307-0.233 0.048-0.052-0.008-0.134 0.058-0.189 0.226 0.199 0.477 0.35 0.774 0.408 0.694 0.137 1.306-0.027 1.825-0.515 0.044-0.042 0.072-0.123 0.15-0.024 0.588 0.748 1.93 0.806 2.711 0.029 0.526-0.523 0.711-1.291 0.447-1.917zM10.013 17.619c-0.517-0.003-0.939-0.412-0.928-0.9 0.012-0.557 0.509-1.026 1.081-1.018 0.518 0.007 0.939 0.415 0.93 0.902-0.011 0.554-0.506 1.020-1.082 1.016zM12.891 17.619c-0.528 0-0.933-0.385-0.933-0.888-0-0.557 0.489-1.030 1.064-1.030 0.518 0.001 0.935 0.397 0.938 0.892 0.003 0.551-0.492 1.025-1.068 1.025zM22.536 14.958c-0.679-0.132-1.284 0.036-1.788 0.52-0.078 0.075-0.119 0.107-0.208 0.003-0.339-0.394-0.785-0.561-1.296-0.564-0.678-0.003-1.356-0.001-2.034-0.001-0.616 0-1.233 0-1.849 0-0.465 0-0.465 0-0.48 0.465-0.010 0.309-0.010 0.309 0.305 0.309 0.438 0 0.424-0.001 0.386 0.44-0.048 0.558-0.080 1.118-0.102 1.678-0.014 0.356 0.161 0.558 0.48 0.582 0.184 0.014 0.37 0.002 0.554 0.007 0.090 0.003 0.116-0.040 0.12-0.122 0.007-0.166 0.017-0.332 0.033-0.497 0.011-0.111-0.009-0.173-0.142-0.167-0.099 0.004-0.157-0.069-0.17-0.164-0.012-0.085-0.017-0.172-0.011-0.257 0.032-0.448 0.071-0.896 0.099-1.344 0.007-0.118 0.047-0.16 0.166-0.158 0.283 0.007 0.567 0.001 0.851 0.003 0.052 0 0.123-0.030 0.154 0.024 0.032 0.055-0.035 0.097-0.061 0.143-0.328 0.588-0.377 1.185-0.011 1.769 0.557 0.888 1.831 1.044 2.699 0.344 0.086-0.069 0.159-0.202 0.247-0.21 0.104-0.009 0.159 0.147 0.246 0.221 1.020 0.877 2.765 0.304 3.066-1.009 0.219-0.954-0.321-1.834-1.252-2.014zM19.035 17.617c-0.519-0.004-0.937-0.406-0.931-0.897 0.006-0.549 0.515-1.032 1.079-1.022 0.524 0.009 0.928 0.403 0.925 0.901-0.004 0.561-0.49 1.021-1.072 1.017zM21.95 17.617c-0.533 0.002-0.935-0.377-0.937-0.881-0.002-0.561 0.474-1.028 1.056-1.037 0.507-0.007 0.944 0.403 0.945 0.888 0.002 0.554-0.488 1.027-1.064 1.029zM24.915 14.169c-0.037-0.010-0.076-0.012-0.105 0.014-0.035 0.032-0.006 0.068 0.006 0.1 0.053 0.138 0.105 0.276 0.16 0.413s0.005 0.236-0.122 0.28c-0.127 0.044-0.247 0.022-0.297-0.129-0.042-0.129-0.078-0.259-0.121-0.388-0.014-0.042-0.002-0.112-0.072-0.11-0.063 0.001-0.093 0.052-0.11 0.109-0.044 0.147-0.082 0.296-0.131 0.442-0.079 0.236-0.077 0.461 0.005 0.702 0.119 0.347 0.137 0.709 0.094 1.076-0.048 0.404-0.133 0.801-0.191 1.203-0.042 0.284 0.174 0.531 0.454 0.527 0.245-0.004 0.445-0.196 0.45-0.445 0.005-0.234 0.007-0.468 0-0.702-0.019-0.692 0.048-1.35 0.472-1.947 0.296-0.417 0.012-1.011-0.493-1.145zM24.493 18.182c-0.145-0.003-0.233-0.082-0.236-0.211s0.081-0.221 0.218-0.222c0.126-0.001 0.21 0.076 0.218 0.203 0.009 0.137-0.070 0.213-0.201 0.231z\"},\"child\":[]}]})(props);\n};\nexport function DiMozilla (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.040 9.495c-0.359 0.42-0.72 0.838-0.804 1.402l0.080 0.096c0.241-0.29 0.599-0.532 0.931-0.699-0 0.595 0.384 1.178 0.895 1.464l0.087 0.007c-0.109-0.628-0.036-1.395 0.21-1.961 0.391-0.329 0.905-0.459 1.236-0.805-0.827-0.194-1.616-0.031-2.323 0.24l-0.312 0.255zM15.44 11.315c-0.534 0.040-1.032 0.135-1.534 0.266 0.222 0.205 0.502 0.274 0.712 0.465-0.658 0.249-1.347 0.405-1.921 0.913l0.12 0.071c1.063-0.221 2.321-0.203 3.429 0.034l0.065-0.046-0.642-1.169 0.987-0.215c-0.525-0.491-1.125-0.973-1.813-1.182 0.103 0.285 0.393 0.571 0.597 0.861v0 0zM19.301 12.488c0.525 0.097 1.104 0.109 1.604 0.015-0.825-0.422-1.879-0.339-2.537-1.077 0.122 0.388 0.391 1.012 0.932 1.062zM11.455 15.46c0.205 0.66-0.487 1.463 0.068 2.067 0.471 0.55 1.048 1.006 1.604 1.409l-0.048-0.206c-0.494-0.578-0.949-1.214-1.176-1.9 0.578 0.203 1.19 0.483 1.853 0.576-0.746-1.112-2.11-2.176-1.595-3.699 0.027-0.252 0.36-0.445 0.277-0.678-0.781 0.597-1.107 1.475-0.982 2.431v0zM28.411 13.543c-1.055-1.462-4.87-1.692-6.595-3.617 0.294-0.957-0.323-1.742-0.951-2.34-0.945-0.695-2.249-0.375-3.254-0.087-1.146-0.24-2.205-0.651-3.32-0.976-2.481-0.259-4.925 1.554-4.925 1.554-1.76 1.164-4.52 3.575-5.839 4.981 0.325 0.044 0.67-0.209 1.036-0.258l2.536-0.696c-1.053 0.906-3.27 2.499-3.912 3.757 0.791-0.285 2.453-1.243 3.28-1.321-0.721 0.662-2.227 1.919-2.699 2.719 0.057 0.028 0.017 0.096 0.027 0.147 0.621-0.357 2.128-1.288 2.813-1.35-0.704 0.761-1.998 2.221-2.283 3.201 0.612-0.417 2.149-1.262 2.821-1.52-0.153 0.386-0.493 0.674-0.713 1.061-0.304 0.535-1.027 1.143-1.053 1.779 0.536-0.519 1.2-0.974 1.868-1.341-0.298 0.643-0.845 1.174-0.995 1.939 0.437-0.441 1.268-0.67 1.832-0.872l-0.068 0.067c-0.049 0.041-0.683 0.509-1.116 1.031 0.383-0.025 0.101-0.073 0.584 0.038l-0.799 0.324c0.585 0.767 1.219 1.428 1.898 1.984-0.030-0.168-0.026-0.356-0.126-0.388l1.972-1.113c-0.671 0.113-2.503 0.679-2.614 0.586 0.401-0.451 2.484-1.047 2.878-1.834 0 0 0.064-0.028-0.14 0.049l-1.571 0.088c-0.307-1.111 0.999-1.696 0.33-2.58-0.998-1.32-1.813-2.681-1.639-4.353 0.093 0.198 0.185 0.42 0.351 0.577 0.069-0.37 0.085-0.787 0.187-1.118 0.144 0.503 0.295 1.077 0.816 1.389l0.026-0.034c-0.428-1.58-0.158-3.473 1.392-4.443-0.413 0.14-1.024 0.101-1.63 0.363 0.104-0.144 0.286-0.895 0.704-1.271 0.343-0.23 0.513-0.505 0.865-0.698 0.697-0.554 1.404-1.015 2.617-1.207 1.133-0.18 2.139 0.343 3.202 0.514-0.047 0.161-0.249 0.238-0.32 0.371-0.098 0.183-0.344 0.369-0.245 0.567l0.823-0.315c1.155-0.291 2.253-0.877 3.513-0.745l0.63 0.801c-1.352-1.076-2.759 0.3-4.098 0.593-0.512 0.093-1.017 0.275-1.505 0.382 0.555 0.415 1.215 0.509 1.935 0.431 0.078 0.525 0.719 1.359 1.192 1.478-0.068-0.485-0.61-1.15-0.262-1.747 0.447-0.25 1.086-0.802 1.593-0.389-0.323 0.030-0.595 0.252-0.876 0.399-0.208 0.151-0.26 0.616-0.217 0.722 0.208 0.631 1.354 1.227 3.298 1.207-0.167-0.289-1.131-1.133-1.074-1.457 1.96 1.944 5.57 2.401 6.406 3.25 0.072 0.284-0.778 0.91-0.613 1.159-0.096 0.3 0.366 0.83 0.838 1.403-0.371-2.313 0.855-0.786 0.222 0.87l-0.892-0.197c-2.891-0.203-4.018-1.192-6.297-2.682-0.847-0.562-1.8-1.367-2.38-1.834l-1.271-0.485c1.686 2.048 2.124 1.86 1.286 3.378l-0.441-0.774-0.172-1.419c-0.495 1.698-0.767 3.488 1.484 4.529l1.28 0.181c-0.596-0.49-1.127-0.964-0.995-1.54 0.699 1.35 3.94 2.017 5.311 2.395 0.228 0.087 0.466 0.222 0.619 0.39-0.36 0.325-0.57 0.276-1.050 0.448-1.045-0.357-2.474-0.643-2.946-1.323 0.262 0.377-4.188 0.901-3.329 0.974-1.262-0.059-2.525-0.875-3.411-1.883l-0.23-0.079c0.024 0.99 0.957 1.683 1.447 2.526l0.972 0.431c-0.464 0.299-1.048 0.576-1.34 1.102-0.102 0.26-0.307 0.587-0.176 0.861 0.436-0.464 1.006-0.692 1.569-0.834l-0.423 0.643c0.091 0.716-0.5 1.978-0.9 2.722-0.474 1.161-3.489 0.070-6.195-0.736 2.179 1.622 4.812 2.24 7.839 1.979l-0.326-0.708c0.711-1.401 0.332-3.646 2.189-4.614 1.257-0.669 1.399-1.034 2.849-0.762 0.783 0.148 2.497 0.739 3.319 0.553 0.744-0.431 1.116-0.627 1.758-1.125 0.807 0.143 1.067 0.057 1.36-0.383 0.15-0.411 0.511-1.499 0.841-2.209l0.024-0.384c-0.323-0.965-0.244-2.611-0.406-2.848zM19.209 10.785c-0.016 0.068-0.017 0.136-0.006 0.199-0.173-0.138-0.285-0.32-0.288-0.538 0.177-0.015 0.343 0.006 0.499 0.054-0.098 0.059-0.174 0.161-0.205 0.286zM19.792 11.242c0.080-0.060 0.141-0.15 0.169-0.261 0.013-0.053 0.017-0.105 0.012-0.157 0.141 0.122 0.265 0.265 0.377 0.418-0.18 0.034-0.374 0.032-0.558-0.001zM21.595 16.793c0.022-0.159-0.005-0.346 0.069-0.473 0.113 0.047 0.321 0.048 0.367 0.144-0.159 0.068-0.273 0.247-0.435 0.329zM22.608 17.304l0.026-0.436c0.133-0.030 0.23 0.054 0.303 0.114l-0.33 0.322zM23.389 17.654c0.030-0.065-0.018-0.513 0.070-0.508l0.263 0.155c-0.079-0.006-0.257 0.357-0.334 0.353zM24.11 18.025l0.083-0.207c-0.014-0.403-0.002-0.319 0.3-0.26-0.108 0.1-0.201 0.452-0.384 0.467zM25.058 18.296l0.022-0.629 0.304 0.070-0.326 0.559zM25.892 18.199c-0.023-0.488-0.002-0.433 0.375-0.287l-0.375 0.287zM26.786 18.504c0.011-0.172 0.061-0.368 0.007-0.53 0.103 0.008 0.222-0.025 0.309 0.048-0.024 0.196-0.226 0.316-0.316 0.483zM23.389 17.654c0.079 0.006 0.257-0.357 0.334-0.353l-0.263-0.155c-0.091-0.007-0.041 0.444-0.070 0.508zM15.56 24.222c0.12 0.224 0.124 0.498 0.244 0.722 0.282-0.609 0.251-1.34-0.116-1.887-0.637-0.281-1.252-0.573-1.802-1.017 0.227 0.777 0.974 1.634 1.673 2.182v0zM15.331 25.777l0.618-0.504c-0.601-0.391-1.618-1.090-2.17-1.609 0.433 0.9 0.447 1.894 1.551 2.113z\"},\"child\":[]}]})(props);\n};\nexport function DiMsqlServer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.82 15.507l-4.709 1.536-4.094 1.808-1.147 0.303c-0.291 0.276-0.599 0.557-0.928 0.843-0.361 0.314-0.701 0.599-0.959 0.805-0.288 0.229-0.715 0.654-0.934 0.926-0.325 0.405-0.58 0.837-0.689 1.168-0.197 0.597-0.101 1.202 0.279 1.761 0.485 0.713 1.449 1.438 2.572 1.931 0.572 0.252 1.538 0.576 2.263 0.759 1.207 0.305 3.54 0.636 4.824 0.685 0.261 0.010 0.607 0.009 0.623-0.002 0.028-0.019 0.228-0.397 0.46-0.871 0.79-1.613 1.361-3.125 1.668-4.416 0.186-0.782 0.331-1.825 0.425-3.061 0.026-0.346 0.036-1.501 0.016-1.894-0.033-0.639-0.089-1.16-0.179-1.67-0.013-0.075-0.018-0.141-0.011-0.147 0.013-0.011 0.058-0.025 0.636-0.194l-0.115-0.27zM17.744 16.138c0.043 0 0.157 1.091 0.186 1.784 0.006 0.147 0.005 0.241-0.004 0.241-0.028 0-0.603-0.338-1.011-0.594-0.356-0.224-1.031-0.672-1.139-0.757-0.034-0.027-0.030-0.028 0.261-0.128 0.495-0.171 1.669-0.547 1.706-0.547zM15.345 16.926c0.030-0 0.113 0.046 0.309 0.168 0.735 0.46 1.729 1.014 2.155 1.2 0.132 0.058 0.147 0.035-0.157 0.242-0.649 0.441-1.455 0.874-2.446 1.314-0.173 0.077-0.319 0.139-0.325 0.139s0.013-0.088 0.042-0.195c0.24-0.887 0.375-1.783 0.379-2.502 0.002-0.355 0.002-0.357 0.036-0.366 0.002-0 0.004-0.001 0.006-0.001v0zM14.852 17.114c0.021 0.021 0.006 0.817-0.020 1.034-0.062 0.52-0.164 1.002-0.327 1.549-0.039 0.131-0.075 0.244-0.081 0.25-0.014 0.016-0.501-0.458-0.663-0.646-0.277-0.321-0.495-0.639-0.655-0.953-0.081-0.159-0.21-0.475-0.198-0.483 0.055-0.040 1.93-0.765 1.944-0.751zM12.526 18.031c0.004 0 0.008 0.002 0.010 0.004 0.007 0.008 0.032 0.066 0.055 0.129 0.113 0.308 0.368 0.766 0.59 1.058 0.242 0.32 0.557 0.66 0.821 0.886 0.085 0.073 0.164 0.14 0.175 0.15 0.023 0.020 0.030 0.017-0.55 0.237-0.673 0.255-1.406 0.511-2.247 0.783-0.321 0.104-0.592 0.191-0.602 0.195-0.032 0.012-0.022-0.008 0.071-0.154 0.418-0.653 1.051-1.929 1.405-2.832 0.061-0.157 0.12-0.313 0.13-0.349 0.015-0.052 0.031-0.069 0.079-0.091 0.027-0.012 0.050-0.018 0.063-0.016zM11.813 18.325c0.009 0.008-0.171 0.389-0.349 0.736-0.344 0.672-0.724 1.333-1.228 2.14-0.087 0.139-0.167 0.267-0.178 0.282-0.018 0.026-0.025 0.017-0.080-0.092-0.121-0.24-0.222-0.543-0.274-0.824-0.052-0.279-0.043-0.761 0.019-1.061 0.046-0.222 0.044-0.217 0.149-0.271 0.453-0.232 1.926-0.922 1.941-0.909zM17.952 18.574v0.151c-0.001 0.794-0.085 1.881-0.209 2.674-0.022 0.139-0.040 0.254-0.042 0.255s-0.102-0.028-0.223-0.066c-0.534-0.166-1.114-0.414-1.636-0.7-0.346-0.19-0.847-0.497-0.833-0.511 0.004-0.004 0.151-0.082 0.328-0.174 0.699-0.363 1.366-0.754 1.947-1.142 0.218-0.145 0.544-0.381 0.616-0.445l0.051-0.045zM9.125 19.627c0.014-0.001 0.011 0.027-0.012 0.158-0.016 0.091-0.034 0.263-0.040 0.382-0.029 0.52 0.056 0.904 0.314 1.43 0.072 0.146 0.128 0.268 0.125 0.27-0.026 0.022-2.38 0.71-3.12 0.913-0.219 0.060-0.411 0.113-0.427 0.118-0.026 0.008-0.028 0.002-0.019-0.058 0.081-0.522 0.479-1.207 1.036-1.783 0.37-0.383 0.666-0.609 1.17-0.897 0.362-0.206 0.923-0.516 0.964-0.532 0.003-0.001 0.005-0.001 0.008-0.001v0zM14.677 20.621c0.002-0.003 0.089 0.044 0.194 0.104 0.76 0.44 1.821 0.852 2.726 1.059l0.082 0.019-0.112 0.063c-0.473 0.262-2.029 0.91-3.618 1.506-0.232 0.087-0.458 0.172-0.503 0.19s-0.080 0.030-0.080 0.026 0.066-0.13 0.146-0.28c0.446-0.834 0.892-1.848 1.12-2.552 0.023-0.072 0.044-0.132 0.046-0.135v0zM14.111 20.806c0.002 0.002-0.025 0.077-0.062 0.165-0.31 0.75-0.716 1.568-1.235 2.487-0.132 0.234-0.243 0.425-0.247 0.424s-0.111-0.064-0.238-0.142c-0.755-0.462-1.423-1.031-1.861-1.584l-0.063-0.078 0.325-0.089c1.161-0.318 2.145-0.658 3.124-1.080 0.139-0.060 0.254-0.107 0.256-0.104v0zM17.627 22.034c0.002 0 0.002 0.002 0.002 0.003 0 0.079-0.18 0.811-0.329 1.341-0.125 0.445-0.231 0.792-0.426 1.408-0.086 0.272-0.16 0.494-0.165 0.493s-0.025-0.005-0.046-0.009c-1.057-0.191-2.005-0.458-2.892-0.815-0.248-0.1-0.607-0.259-0.626-0.277-0.006-0.006 0.208-0.107 0.476-0.224 1.62-0.707 3.299-1.512 3.873-1.857 0.069-0.041 0.12-0.066 0.132-0.063zM9.511 22.312c0.009 0.008-0.445 0.657-1.078 1.543-0.22 0.308-0.479 0.671-0.574 0.807s-0.24 0.35-0.322 0.477l-0.15 0.231-0.159-0.134c-0.187-0.157-0.514-0.49-0.663-0.675-0.306-0.381-0.513-0.782-0.594-1.15-0.038-0.17-0.039-0.256-0.003-0.267 0.052-0.016 1.002-0.239 1.894-0.446 0.495-0.115 1.068-0.249 1.273-0.299s0.375-0.088 0.377-0.086zM9.967 22.486l0.115 0.128c0.513 0.571 1.034 0.997 1.67 1.365 0.112 0.065 0.198 0.121 0.191 0.126-0.026 0.016-2.2 0.789-3.205 1.14-0.567 0.198-1.033 0.358-1.035 0.358s-0.035-0.021-0.071-0.047l-0.066-0.047 0.103-0.148c0.334-0.483 0.753-1.014 1.67-2.118l0.629-0.757zM12.807 24.516c0.003-0.003 0.161 0.053 0.354 0.125 0.464 0.173 0.827 0.286 1.32 0.41 0.605 0.151 1.478 0.303 1.996 0.346 0.079 0.007 0.12 0.016 0.107 0.024-0.024 0.015-0.548 0.19-0.933 0.311-0.611 0.192-2.48 0.744-4.004 1.183-0.283 0.081-0.524 0.15-0.537 0.153-0.034 0.007-0.153-0.024-0.153-0.040 0-0.008 0.085-0.116 0.189-0.24 0.512-0.613 1.021-1.297 1.446-1.944 0.116-0.177 0.213-0.325 0.216-0.328zM12.178 24.534c0.005 0.005-0.248 0.409-0.692 1.108-0.188 0.295-0.4 0.631-0.473 0.747s-0.18 0.291-0.237 0.391l-0.104 0.182-0.053-0.014c-0.128-0.035-1.028-0.352-1.265-0.447-0.295-0.117-0.602-0.258-0.828-0.381-0.283-0.153-0.642-0.38-0.614-0.389 0.008-0.003 0.495-0.136 1.081-0.296 1.56-0.425 2.423-0.669 2.989-0.846 0.106-0.033 0.194-0.058 0.196-0.056zM16.609 25.573c0.003-0.001 0.005-0.001 0.005 0 0.015 0.037-0.563 1.636-0.774 2.143-0.047 0.114-0.065 0.141-0.089 0.14-0.060-0.003-0.897-0.12-1.404-0.197-0.887-0.135-2.373-0.394-2.748-0.48l-0.087-0.019 0.532-0.12c1.14-0.257 1.687-0.395 2.242-0.564 0.7-0.214 1.394-0.482 2.094-0.807 0.111-0.052 0.205-0.091 0.229-0.096v0zM13.967 4.533c-0.079-0.009-1.343 0.446-2.155 0.776-1.1 0.447-1.954 0.875-2.481 1.245-0.196 0.138-0.443 0.385-0.479 0.48-0.014 0.036-0.020 0.077-0.020 0.12l0.478 0.451 1.134 0.362 2.702 0.483 3.088 0.531 0.031-0.265c-0.009-0.002-0.018-0.003-0.028-0.004l-0.407-0.064-0.083-0.145c-0.42-0.741-0.884-1.657-1.153-2.277-0.209-0.48-0.409-1.034-0.52-1.434-0.066-0.238-0.073-0.253-0.11-0.258v0zM13.908 4.716c0.003-0.001 0.005-0.001 0.005 0 0.002 0.003 0.017 0.102 0.031 0.221 0.061 0.497 0.172 0.98 0.346 1.499 0.131 0.391 0.133 0.368-0.023 0.325-0.363-0.101-1.99-0.381-3.167-0.544-0.19-0.026-0.348-0.050-0.35-0.052-0.015-0.015 0.849-0.468 1.232-0.646 0.491-0.229 1.829-0.785 1.926-0.803zM10.478 6.309l0.138 0.047c0.756 0.257 2.65 0.619 3.697 0.706 0.118 0.010 0.217 0.020 0.22 0.023s-0.097 0.056-0.223 0.119c-0.505 0.253-1.061 0.561-1.446 0.802-0.113 0.071-0.216 0.128-0.23 0.127s-0.088-0.013-0.166-0.026l-0.142-0.023-0.357-0.347c-0.628-0.607-1.118-1.077-1.307-1.255l-0.184-0.173zM10.338 6.421l0.5 0.625c0.275 0.344 0.552 0.685 0.613 0.758s0.109 0.136 0.106 0.138c-0.014 0.010-0.725-0.128-1.102-0.215-0.387-0.089-0.547-0.131-0.786-0.208l-0.195-0.063 0.001-0.048c0.002-0.24 0.305-0.594 0.818-0.956l0.046-0.031zM14.6 7.272c0.015 0.001 0.031 0.032 0.075 0.129 0.121 0.266 0.499 0.987 0.591 1.126 0.030 0.046 0.078 0.049-0.424-0.032-1.205-0.195-1.595-0.26-1.595-0.267 0-0.005 0.036-0.028 0.080-0.053 0.373-0.208 0.75-0.469 1.085-0.751 0.080-0.068 0.157-0.132 0.171-0.144 0.006-0.005 0.011-0.008 0.016-0.007zM8.874 6.986c0 0-0.078 0.124-0.004 0.308 0.046 0.114 0.183 0.251 0.334 0.396 0 0 1.582 1.543 1.775 1.767 0.876 1.011 1.257 2.007 1.292 3.382 0.023 0.882-0.148 1.658-0.561 2.559-0.741 1.615-2.301 3.397-4.711 5.378l0.354-0.117c0.227-0.17 0.536-0.352 1.265-0.751 1.677-0.918 3.561-1.762 5.875-2.631 3.329-1.251 8.806-2.719 11.922-3.196l0.325-0.050-0.050-0.078c-0.285-0.443-0.479-0.716-0.713-1.005-0.683-0.845-1.511-1.535-2.525-2.102-1.393-0.78-3.2-1.386-5.484-1.84-0.432-0.086-1.378-0.248-2.147-0.368-1.63-0.254-2.681-0.426-3.843-0.628-0.416-0.072-1.038-0.177-1.451-0.266-0.215-0.046-0.624-0.143-0.941-0.253-0.262-0.103-0.632-0.203-0.71-0.504zM9.791 7.876c0.002-0.002 0.062 0.016 0.134 0.041 0.133 0.045 0.31 0.098 0.515 0.156 0.144 0.040 0.302 0.082 0.469 0.125 0.214 0.055 0.391 0.102 0.393 0.104 0.024 0.027 0.383 1.174 0.506 1.614 0.047 0.168 0.082 0.308 0.079 0.311s-0.043-0.059-0.088-0.137c-0.416-0.731-1.074-1.475-1.836-2.073-0.095-0.075-0.172-0.138-0.172-0.141zM11.543 8.36c0.018-0.001 0.097 0.012 0.191 0.033 0.606 0.134 1.689 0.343 2.385 0.46 0.116 0.020 0.211 0.041 0.211 0.047s-0.043 0.034-0.096 0.060c-0.117 0.059-0.59 0.342-0.748 0.448-0.395 0.264-0.75 0.547-1.008 0.804-0.104 0.103-0.191 0.188-0.194 0.188s-0.021-0.060-0.040-0.134c-0.129-0.495-0.397-1.227-0.636-1.742-0.039-0.083-0.070-0.156-0.070-0.162 0-0.001 0.001-0.001 0.004-0.002v0zM14.626 8.946c0.020 0.007 0.059 0.127 0.127 0.395 0.13 0.515 0.191 1.094 0.171 1.629-0.006 0.149-0.015 0.287-0.021 0.308l-0.011 0.037-0.184-0.060c-0.379-0.121-0.999-0.304-1.53-0.451-0.302-0.084-0.549-0.158-0.549-0.165 0-0.022 0.44-0.462 0.629-0.629 0.361-0.32 1.334-1.076 1.368-1.064zM14.871 8.981c0.011-0.010 1.473 0.243 2.137 0.37 0.495 0.095 1.212 0.245 1.255 0.263 0.021 0.009-0.053 0.049-0.291 0.156-0.941 0.424-1.638 0.803-2.331 1.267-0.183 0.122-0.334 0.222-0.337 0.222s-0.006-0.102-0.006-0.226c-0.001-0.676-0.135-1.358-0.383-1.934-0.027-0.062-0.047-0.115-0.044-0.118v0zM18.651 9.729c0.011 0.011-0.037 0.3-0.078 0.47-0.129 0.53-0.472 1.317-0.895 2.056-0.075 0.13-0.141 0.239-0.149 0.241s-0.104-0.048-0.214-0.112c-0.414-0.242-0.882-0.471-1.396-0.683-0.143-0.059-0.266-0.112-0.272-0.118-0.023-0.022 1.12-0.779 1.726-1.142 0.485-0.291 1.265-0.726 1.279-0.712zM18.921 9.771c0.033 0 0.681 0.177 1.017 0.277 0.835 0.25 1.799 0.602 2.423 0.886l0.26 0.118-0.183 0.042c-1.529 0.351-2.84 0.757-4.102 1.269-0.105 0.043-0.196 0.078-0.203 0.078s0.027-0.081 0.074-0.18c0.379-0.806 0.625-1.652 0.688-2.37 0.006-0.065 0.018-0.118 0.026-0.118v0zM12.476 11.253c0.010-0.010 0.504 0.105 0.773 0.181 0.405 0.114 1.266 0.402 1.266 0.424 0 0.004-0.095 0.087-0.211 0.184-0.465 0.389-0.914 0.797-1.452 1.316-0.159 0.154-0.295 0.279-0.302 0.279s-0.010-0.023-0.006-0.050c0.081-0.598 0.064-1.366-0.049-2.147-0.014-0.099-0.023-0.183-0.019-0.187zM22.868 11.262c0.007 0.007-0.229 0.377-0.376 0.588-0.215 0.307-0.526 0.711-1.235 1.603-0.372 0.468-0.792 0.998-0.934 1.177s-0.26 0.326-0.264 0.326-0.049-0.064-0.101-0.142c-0.4-0.597-0.874-1.121-1.44-1.592-0.106-0.088-0.225-0.184-0.264-0.214s-0.072-0.057-0.072-0.061c-0-0.010 0.604-0.269 1.065-0.457 0.803-0.327 1.9-0.718 2.721-0.97 0.433-0.133 0.893-0.265 0.9-0.258zM23.141 11.334c0.013-0.003 0.099 0.039 0.203 0.098 0.865 0.495 1.712 1.132 2.379 1.786 0.19 0.186 0.653 0.668 0.646 0.672-0.002 0.001-0.162 0.014-0.356 0.028-1.499 0.113-3.415 0.431-5.259 0.875-0.125 0.030-0.234 0.055-0.241 0.055s0.13-0.138 0.305-0.305c1.083-1.041 1.578-1.699 2.159-2.874 0.087-0.175 0.16-0.326 0.163-0.335 0-0.001 0.001-0.001 0.002-0.001v0zM15.22 12.146c0.049 0.011 0.511 0.226 0.86 0.401 0.319 0.16 0.802 0.417 0.826 0.439 0.003 0.003-0.167 0.092-0.378 0.197-0.669 0.335-1.242 0.65-1.84 1.016-0.171 0.104-0.313 0.19-0.318 0.19-0.015 0-0.009-0.013 0.086-0.188 0.319-0.583 0.575-1.28 0.723-1.96 0.013-0.061 0.029-0.098 0.040-0.095v0zM14.754 12.229c0.010 0.010-0.11 0.45-0.186 0.685-0.146 0.451-0.392 1.018-0.629 1.445-0.056 0.1-0.141 0.247-0.189 0.326l-0.088 0.144-0.2-0.193c-0.232-0.225-0.421-0.364-0.662-0.489-0.095-0.049-0.172-0.094-0.172-0.101-0.001-0.029 0.607-0.582 1.075-0.978 0.335-0.284 1.042-0.849 1.050-0.84zM17.583 13.392l0.174 0.113c0.398 0.258 0.869 0.606 1.229 0.906 0.201 0.168 0.593 0.518 0.673 0.603l0.043 0.045-0.288 0.080c-1.63 0.452-2.89 0.855-4.359 1.395-0.163 0.060-0.304 0.11-0.314 0.11-0.020 0-0.040 0.019 0.326-0.319 0.94-0.865 1.77-1.818 2.391-2.745l0.125-0.188zM16.84 13.579c0.008 0.008-0.482 0.695-0.773 1.083-0.349 0.464-0.969 1.239-1.396 1.744-0.178 0.211-0.331 0.386-0.34 0.389s-0.015-0.049-0.015-0.13c-0.001-0.431-0.11-0.891-0.302-1.281-0.081-0.165-0.095-0.204-0.078-0.22 0.067-0.061 1.104-0.652 1.758-1.002 0.449-0.241 1.138-0.591 1.147-0.582zM12.344 14.68c0.009 0 0.092 0.042 0.185 0.093 0.227 0.126 0.431 0.264 0.611 0.414 0.007 0.006-0.086 0.082-0.207 0.169-0.337 0.243-0.851 0.631-1.148 0.868-0.314 0.25-0.324 0.257-0.289 0.203 0.235-0.359 0.353-0.563 0.477-0.823 0.11-0.231 0.219-0.505 0.297-0.744 0.033-0.099 0.066-0.18 0.075-0.18zM13.542 15.62c0.016-0.002 0.039 0.028 0.136 0.172 0.203 0.303 0.358 0.707 0.398 1.037l0.008 0.071-0.486 0.188c-0.873 0.339-1.677 0.673-2.219 0.921-0.152 0.070-0.42 0.198-0.595 0.285s-0.318 0.156-0.318 0.153c0-0.004 0.11-0.086 0.244-0.184 1.065-0.773 1.984-1.62 2.676-2.467 0.074-0.091 0.141-0.169 0.15-0.174 0.002-0.002 0.004-0.002 0.007-0.002v0zM12.989 15.757c0.014 0.014-0.393 0.475-0.667 0.754-0.686 0.701-1.367 1.25-2.21 1.784-0.105 0.067-0.202 0.127-0.214 0.135-0.023 0.014 0.007-0.021 0.378-0.424 0.233-0.254 0.412-0.465 0.614-0.728 0.133-0.173 0.159-0.198 0.355-0.339 0.527-0.38 1.731-1.196 1.745-1.182z\"},\"child\":[]}]})(props);\n};\nexport function DiMysql (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.082 5.593c-0.564 0.564-0.423 1.213 0.564 2.679 0.508 0.761 1.1 1.946 1.326 2.623 0.226 0.705 0.677 1.664 0.987 2.143 0.564 0.79 0.564 0.959 0.197 2.397-0.226 0.902-0.31 2.031-0.197 2.736 0.169 1.185 1.128 2.905 1.72 3.102 0.508 0.169 1.241-0.733 1.269-1.551 0-0.705 0.028-0.733 0.338-0.226 0.536 0.874 2.228 2.735 2.369 2.594 0.056-0.056-0.31-0.79-0.846-1.607-0.508-0.846-1.1-1.946-1.325-2.454-0.31-0.846-0.423-0.902-0.79-0.508-0.226 0.226-0.508 0.874-0.592 1.466-0.226 1.354-0.733 1.523-1.128 0.367s-0.395-3.131 0-4.484c0.282-0.931 0.254-1.184-0.226-1.89-0.31-0.423-0.79-1.438-1.044-2.256-0.254-0.79-0.846-1.974-1.325-2.595-1.1-1.551-1.1-2.115 0.056-1.89 0.479 0.085 1.213 0.423 1.664 0.733 0.423 0.31 1.156 0.564 1.607 0.564 1.354 0 3.723 1.326 5.443 3.046 1.326 1.325 2.002 2.397 3.441 5.302 1.692 3.44 1.833 3.638 2.877 3.976 1.241 0.423 3.835 2.002 3.835 2.341 0 0.113-0.649 0.282-1.438 0.338-2.115 0.226-2.313 0.62-0.931 1.861 0.649 0.564 1.862 1.438 2.736 1.918l1.579 0.902-0.733-0.931c-0.423-0.508-1.297-1.297-1.974-1.72s-1.213-0.874-1.213-0.987c0-0.113 0.479-0.31 1.072-0.395 1.579-0.282 2.030-0.423 2.030-0.705 0-0.423-2.848-2.566-4.202-3.159-1.156-0.536-1.297-0.762-2.792-3.835-1.326-2.82-1.861-3.61-3.553-5.302-2.171-2.171-3.666-3.102-5.584-3.384-0.649-0.113-1.551-0.451-1.946-0.733-0.931-0.705-2.82-0.959-3.272-0.479z\"},\"child\":[]}]})(props);\n};\nexport function DiNancy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.133 2.922c0.677 3.554 1.219 9.138 1.049 10.56-0.135 0.948-0.745 2.674-1.32 3.858-1.185 2.369-1.151 2.505 0.745 3.486 0.677 0.338 0.779 0.643 0.677 1.828-0.101 1.252 0 1.422 0.677 1.523s0.779 0.271 0.609 0.948c-0.203 0.711-0.068 0.88 0.778 1.185 0.779 0.271 1.015 0.609 1.185 1.659 0.271 1.658 1.422 2.538 2.945 2.234 0.542-0.101 2.031-0.812 3.283-1.523 1.252-0.744 2.911-1.455 3.689-1.59 1.388-0.203 1.388-0.203 1.929-2.369 1.015-3.96 0.575-5.788-0.711-3.148-0.88 1.726-3.249 3.689-4.468 3.689-0.304 0-0.101-0.271 0.474-0.643 4.502-2.809 5.178-9.037 1.455-13.098-1.489-1.591-2.166-1.794-0.981-0.271 1.117 1.421 1.828 4.265 1.557 6.261-0.237 1.76-1.286 3.351-2.674 4.096-0.541 0.304-0.44 0.068 0.406-0.88 0.914-1.049 1.083-1.523 1.083-2.944 0-2.877-1.862-5.991-7.074-11.812-2.132-2.369-1.591-0.338 0.778 3.046 1.794 2.505 1.726 2.64-0.271 0.575-1.625-1.692-3.892-4.502-5.551-6.871-0.406-0.575-0.406-0.575-0.271 0.203z\"},\"child\":[]}]})(props);\n};\nexport function DiNetbeans (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M26.501 8.255c-0.056-0.023-0.113-0.045-0.17-0.067-2.942-1.16-5.896-2.29-8.819-3.498-0.922-0.381-1.709-0.423-2.658-0.035-3.253 1.328-6.546 2.559-9.827 3.817-0.233 0.089-0.31 0.203-0.301 0.451 0.036 1.010 0.014 2.020 0.063 3.031 0.064 1.325 0.024 2.654 0.070 3.981 0.061 1.752 0.019 3.507 0.1 5.26 0 0.427 0.014 0.854-0.005 1.279-0.011 0.254 0.073 0.384 0.308 0.499 3.477 1.702 6.948 3.415 10.417 5.132 0.207 0.102 0.373 0.116 0.577-0.001 0.294-0.17 0.604-0.314 0.91-0.464 3.112-1.532 6.225-3.064 9.339-4.592 0.189-0.092 0.308-0.181 0.314-0.425 0.061-2.166 0.14-4.331 0.206-6.496 0.040-1.302 0.030-2.607 0.108-3.907 0.057-0.948 0.048-1.897 0.095-2.845 0.050-1.009 0.223-0.742-0.728-1.119zM15.263 25.898c0 0.295-0.038 0.359-0.33 0.213-2.745-1.367-5.494-2.724-8.247-4.075-0.207-0.102-0.269-0.224-0.271-0.447-0.020-1.874-0.047-3.749-0.083-5.623-0.034-1.764-0.082-3.527-0.123-5.291-0.003-0.133-0-0.266-0-0.463 1.144 0.495 2.226 0.96 3.305 1.43 1.828 0.797 3.654 1.6 5.485 2.391 0.209 0.090 0.285 0.198 0.284 0.43-0.014 3.811-0.020 7.623-0.019 11.434zM15.819 12.808c-2.706-1.186-5.415-2.364-8.123-3.546-0.073-0.032-0.17-0.040-0.213-0.171 2.84-1.092 5.665-2.178 8.487-3.268 0.137-0.053 0.253-0.043 0.385 0.009 2.67 1.050 5.34 2.096 8.011 3.143 0.055 0.022 0.119 0.035 0.148 0.134-0.679 0.304-1.361 0.611-2.045 0.915-2.067 0.918-4.134 1.834-6.201 2.752-0.148 0.066-0.279 0.107-0.448 0.032zM25.722 10.592c-0.051 1.885-0.103 3.771-0.161 5.656-0.039 1.277-0.088 2.553-0.134 3.829-0.020 0.559-0.058 1.118-0.058 1.677 0 0.241-0.145 0.306-0.311 0.388-2.37 1.165-4.739 2.331-7.109 3.496-0.39 0.192-0.782 0.383-1.228 0.601 0-0.369-0-0.661 0-0.952 0.006-3.569 0.016-7.137 0.010-10.706-0-0.317 0.101-0.458 0.394-0.587 2.74-1.202 5.472-2.424 8.205-3.642 0.398-0.177 0.404-0.181 0.392 0.239z\"},\"child\":[]}]})(props);\n};\nexport function DiNetmagazine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22.62 11.53c-0.182 0.159-0.188 0.233-0.108 1.16 0.046 0.546 0.006 0.699-0.182 0.699-0.284 0-0.927 0.46-1.006 0.728-0.057 0.176 0.080 0.58 0.227 0.677 0.068 0.046 0.273 0.097 0.449 0.114 0.239 0.023 0.335 0.063 0.381 0.148 0.068 0.136 0.017 0.995-0.102 1.694-0.080 0.438-0.080 0.534 0 0.955 0.051 0.261 0.091 0.574 0.091 0.699s0.023 0.273 0.057 0.33c0.028 0.057 0.068 0.33 0.080 0.608 0.034 0.705 0.119 0.972 0.398 1.211 0.358 0.313 0.443 0.335 1.131 0.341 0.352 0 0.699 0.006 0.779 0.006 0.574 0.006 1.308-0.108 1.347-0.21 0.017-0.040 0.199-0.216 0.404-0.392 0.529-0.449 0.671-0.671 0.728-1.194 0.046-0.375-0.068-1.006-0.21-1.188-0.057-0.074-0.159-0.256-0.222-0.398-0.080-0.193-0.142-0.261-0.233-0.261-0.063 0-0.159-0.051-0.21-0.114-0.097-0.114-0.102-0.114-0.29-0.011-0.108 0.057-0.227 0.154-0.256 0.216-0.034 0.057-0.108 0.176-0.159 0.262-0.057 0.080-0.102 0.216-0.102 0.296s-0.046 0.267-0.108 0.415c-0.057 0.148-0.119 0.37-0.142 0.483-0.051 0.279-0.165 0.387-0.421 0.387-0.307 0-0.352-0.051-0.347-0.375 0.017-1.126 0-1.575-0.085-1.859-0.153-0.534-0.023-1.694 0.205-1.836 0.040-0.028 0.489-0.046 0.989-0.051 0.836 0 0.932-0.011 1.046-0.114 0.108-0.097 0.119-0.153 0.091-0.37-0.017-0.142-0.057-0.426-0.085-0.631-0.023-0.21-0.068-0.409-0.091-0.443-0.028-0.051-0.256-0.063-0.875-0.040-0.455 0.017-0.887 0.046-0.955 0.068-0.171 0.045-0.341-0.267-0.25-0.472 0.034-0.074 0.063-0.233 0.063-0.358 0-0.119 0.028-0.239 0.057-0.256 0.085-0.051 0.068-0.392-0.028-0.517-0.046-0.057-0.085-0.153-0.085-0.205 0-0.142-0.102-0.182-0.597-0.233-1.2-0.119-1.194-0.119-1.37 0.034zM18.561 13.56c-0.080 0.023-0.239 0.046-0.352 0.051-0.267 0.006-1.37 0.398-1.467 0.523-0.017 0.017-0.080 0.051-0.142 0.074-0.137 0.040-0.949 0.802-1.075 1.006-0.085 0.136-0.136 0.398-0.262 1.302-0.034 0.233-0.085 0.5-0.114 0.591-0.142 0.426 0.011 1.598 0.25 1.848 0.074 0.079 0.165 0.205 0.199 0.273 0.068 0.131 0.063 0.131-0.387 0.131h-0.449l-0.006-0.677c0-0.375-0.028-0.745-0.063-0.824-0.034-0.097-0.034-0.301 0.011-0.614 0.080-0.608 0.063-1.296-0.040-1.552-0.045-0.108-0.085-0.279-0.085-0.381 0-0.387-0.364-1.109-0.568-1.131-0.046-0.006-0.108-0.017-0.142-0.023-0.028-0.011-0.102-0.017-0.154-0.023-0.051 0-0.21-0.108-0.352-0.227-0.358-0.307-0.563-0.37-1.012-0.29-0.586 0.102-0.932 0.222-1.097 0.37-0.080 0.080-0.193 0.142-0.244 0.142-0.131 0-0.176 0.040-0.432 0.352-0.119 0.153-0.256 0.273-0.301 0.273-0.125 0-0.244-0.148-0.244-0.301 0-0.074-0.057-0.182-0.119-0.245-0.108-0.097-0.222-0.108-0.898-0.114-0.426-0.006-0.876-0.028-1.001-0.051-0.506-0.085-0.745 0.222-0.676 0.87 0.017 0.21 0.063 0.443 0.091 0.517 0.045 0.131 0.063 0.136 0.489 0.102l0.443-0.034 0.074 0.171c0.074 0.171 0.068 0.301-0.045 0.79-0.074 0.324-0.074 1.359 0 1.734 0.165 0.83 0.171 0.961 0.068 1.035-0.051 0.046-0.262 0.074-0.483 0.074-0.347 0-0.392 0.011-0.478 0.142-0.102 0.159-0.244 0.75-0.25 1.035 0 0.154 0.034 0.193 0.256 0.301 0.239 0.114 0.534 0.131 1.308 0.063 0.261-0.023 0.813 0.023 0.876 0.074 0.097 0.074 1.245 0.057 1.455-0.023 0.244-0.091 0.37-0.267 0.37-0.506 0-0.125-0.028-0.244-0.057-0.262-0.034-0.017-0.057-0.193-0.057-0.392 0-0.443-0.074-0.551-0.415-0.586-0.233-0.028-0.267-0.051-0.267-0.159 0-0.074-0.034-0.148-0.068-0.159-0.057-0.023-0.057-0.045-0.006-0.080 0.125-0.091 0.142-0.369 0.074-1.183-0.068-0.739-0.068-0.83 0.017-0.961 0.057-0.079 0.097-0.244 0.097-0.364 0-0.131 0.034-0.256 0.085-0.296 0.045-0.040 0.085-0.102 0.085-0.142 0-0.216 0.83-0.244 1.222-0.040 0.097 0.046 0.21 0.102 0.256 0.125s0.091 0.108 0.102 0.188c0.011 0.080 0.057 0.176 0.102 0.21 0.091 0.080 0.114 0.813 0.028 1.040-0.063 0.159-0.085 1.114-0.034 1.433 0.051 0.324-0.097 0.455-0.529 0.455-0.489 0-0.506 0.074-0.301 1.188 0.091 0.495 0.114 0.512 0.688 0.46s0.37-0.051 1.933 0l1.279 0.046 0.131-0.182c0.102-0.142 0.125-0.239 0.114-0.477l-0.017-0.301 0.597 0.398c0.728 0.483 1.001 0.557 2.087 0.546 0.614-0.006 0.807-0.029 1.109-0.131 0.193-0.074 0.392-0.154 0.438-0.182 0.046-0.023 0.216-0.080 0.381-0.119 0.421-0.097 0.733-0.364 0.876-0.745 0.063-0.171 0.165-0.409 0.227-0.529 0.063-0.125 0.114-0.262 0.114-0.307 0-0.119-0.279-0.432-0.392-0.432-0.051 0-0.188-0.051-0.307-0.114-0.222-0.119-0.387-0.114-0.551 0.028-0.046 0.040-0.176 0.085-0.29 0.108-0.114 0.017-0.256 0.091-0.313 0.153-0.063 0.068-0.205 0.159-0.324 0.205-0.114 0.046-0.262 0.159-0.324 0.244-0.085 0.114-0.193 0.171-0.444 0.227-0.188 0.040-0.398 0.051-0.472 0.028-0.171-0.051-0.677-0.375-0.677-0.426 0-0.023-0.108-0.154-0.233-0.284-0.222-0.227-0.233-0.256-0.199-0.5 0.046-0.358 0.108-0.409 0.472-0.409 0.171 0 0.387-0.040 0.483-0.091 0.256-0.137 1.131-0.125 1.342 0.011 0.125 0.085 0.279 0.102 0.807 0.102 0.688 0.006 1.006-0.057 1.245-0.239 0.148-0.108 0.148-0.125 0.148-0.813 0-0.762-0.080-1.154-0.284-1.444-0.068-0.097-0.171-0.267-0.227-0.387-0.057-0.125-0.142-0.233-0.193-0.256-0.051-0.017-0.188-0.136-0.301-0.267-0.148-0.171-0.273-0.25-0.415-0.273-0.108-0.017-0.358-0.108-0.551-0.205-0.739-0.352-0.91-0.392-1.239-0.29zM18.913 15.027c0.193 0.131 0.841 0.858 0.841 0.949 0 0.125-0.148 0.199-0.546 0.284-0.523 0.114-1.273 0.114-1.421 0-0.057-0.046-0.148-0.085-0.199-0.085-0.091 0-0.165-0.108-0.165-0.227 0-0.028 0.085-0.142 0.188-0.25 0.097-0.108 0.25-0.29 0.335-0.392 0.284-0.352 0.676-0.466 0.966-0.279zM5.343 19.040c-0.222 0.102-0.455 0.352-0.563 0.614-0.347 0.83 0.443 1.706 1.319 1.467 0.944-0.25 1.092-1.62 0.227-2.041-0.29-0.136-0.722-0.153-0.984-0.040z\"},\"child\":[]}]})(props);\n};\nexport function DiNginx (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.045 13.917c-0.095 0.035-0.17 0.094-0.229 0.182-0.095 0.14-0.095 0.144-0.102 0.92l-0.006 0.704h0.942l-0.004-0.725-0.004-0.724-0.048-0.1c-0.081-0.17-0.212-0.267-0.382-0.277-0.063-0.004-0.111 0.002-0.166 0.020zM5.3 13.974c-0.237 0.039-0.467 0.2-0.526 0.366-0.027 0.075-0.029 0.134-0.033 1.974-0.004 2.177-0.014 2.016 0.121 2.162 0.052 0.058 0.105 0.097 0.167 0.125 0.082 0.038 0.105 0.042 0.242 0.042 0.14 0 0.159-0.003 0.248-0.046 0.121-0.058 0.2-0.137 0.244-0.244l0.035-0.085 0.007-1.4 0.007-1.399 0.404 0.49c0.222 0.271 0.728 0.887 1.125 1.37 0.764 0.933 0.939 1.125 1.083 1.201 0.162 0.087 0.268 0.112 0.453 0.112 0.258 0 0.417-0.065 0.516-0.215 0.102-0.154 0.097-0.014 0.097-2.157v-1.925l-0.035-0.085c-0.046-0.114-0.143-0.21-0.255-0.254-0.066-0.026-0.114-0.033-0.222-0.035-0.159 0-0.221 0.016-0.332 0.081-0.091 0.055-0.162 0.159-0.186 0.274-0.010 0.046-0.016 0.538-0.016 1.468 0 0.77-0.004 1.399-0.010 1.397-0.010 0-2.033-2.441-2.332-2.813-0.146-0.18-0.261-0.288-0.362-0.336-0.124-0.058-0.32-0.089-0.44-0.069zM22.933 13.984c-0.143 0.037-0.265 0.141-0.332 0.281-0.023 0.049-0.035 0.101-0.039 0.196-0.006 0.113-0.002 0.146 0.030 0.236 0.071 0.202 0.095 0.231 0.799 0.939 0.368 0.369 0.668 0.678 0.668 0.685s-0.3 0.316-0.668 0.685c-0.715 0.718-0.743 0.751-0.806 0.956-0.045 0.151-0.033 0.319 0.032 0.44 0.167 0.313 0.539 0.36 0.908 0.114 0.036-0.023 0.362-0.339 0.725-0.701l0.659-0.658 0.66 0.658c0.362 0.362 0.688 0.678 0.724 0.701 0.172 0.115 0.358 0.173 0.5 0.157 0.185-0.022 0.325-0.114 0.408-0.271 0.065-0.121 0.076-0.288 0.032-0.44-0.063-0.205-0.091-0.238-0.806-0.956-0.368-0.369-0.668-0.678-0.668-0.685s0.3-0.316 0.668-0.685c0.704-0.708 0.728-0.737 0.799-0.939 0.032-0.091 0.036-0.124 0.030-0.236-0.004-0.095-0.014-0.147-0.039-0.198-0.105-0.219-0.337-0.333-0.585-0.287-0.047 0.009-0.148 0.046-0.224 0.082l-0.137 0.068-1.363 1.357-0.681-0.679-0.682-0.678-0.137-0.068c-0.19-0.092-0.33-0.115-0.477-0.075zM17.711 14.008c-0.141 0.033-0.257 0.125-0.317 0.257l-0.032 0.066v3.893l0.040 0.087c0.022 0.047 0.063 0.111 0.092 0.14 0.114 0.117 0.352 0.174 0.597 0.143 0.229-0.029 0.386-0.115 0.575-0.313 0.059-0.063 0.614-0.724 1.233-1.468l1.125-1.353 0.007 1.396 0.007 1.397 0.035 0.075c0.062 0.14 0.199 0.236 0.371 0.264 0.209 0.035 0.398-0.016 0.519-0.137 0.138-0.137 0.127 0.023 0.133-2.011 0.004-1.864 0.002-1.986-0.058-2.121-0.058-0.137-0.268-0.278-0.47-0.317-0.18-0.035-0.41 0.012-0.561 0.112-0.055 0.036-0.17 0.162-0.412 0.451-0.908 1.086-2.182 2.594-2.19 2.594-0.006 0.002-0.013-0.63-0.014-1.402-0.004-1.27-0.007-1.407-0.029-1.462-0.061-0.15-0.157-0.239-0.313-0.284-0.085-0.024-0.248-0.029-0.337-0.007zM11.020 14.067c-0.039 0.068-1.146 2.111-1.182 2.182l-0.022 0.045 0.645 1.159 0.645 1.161 2.699 0.007 0.663-1.221 0.663-1.223-0.513-0.009c-0.921-0.016-2.383-0.014-2.477 0.003-0.128 0.023-0.225 0.076-0.307 0.166-0.248 0.271-0.082 0.668 0.307 0.74 0.055 0.010 0.345 0.016 0.797 0.016h0.711l-0.221 0.363-0.221 0.365-1.487 0.007-0.407-0.734c-0.222-0.404-0.405-0.743-0.405-0.753 0-0.012 0.17-0.333 0.379-0.715l0.378-0.696h1.634l0.242 0.396 0.244 0.395 0.539 0.002h0.538l-0.020-0.033c-0.012-0.017-0.244-0.404-0.516-0.858l-0.495-0.825h-2.777l-0.035 0.061zM15.714 17.204c0.006 1.024 0.006 1.037 0.037 1.129 0.046 0.138 0.121 0.228 0.239 0.288 0.123 0.062 0.245 0.068 0.366 0.014 0.097-0.042 0.206-0.16 0.251-0.271l0.033-0.082 0.004-1.047 0.004-1.047-0.141-0.009c-0.078-0.006-0.29-0.010-0.47-0.010h-0.329l0.004 1.034z\"},\"child\":[]}]})(props);\n};\nexport function DiNodejsSmall (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.998 28.895c-0.337 0-0.673-0.088-0.969-0.259l-3.086-1.826c-0.46-0.257-0.235-0.349-0.083-0.402 0.614-0.213 0.739-0.262 1.394-0.635 0.069-0.038 0.159-0.024 0.231 0.018l2.37 1.407c0.087 0.048 0.207 0.048 0.287 0l9.241-5.333c0.086-0.049 0.141-0.149 0.141-0.25v-10.665c0-0.104-0.055-0.202-0.143-0.255l-9.237-5.329c-0.086-0.050-0.199-0.050-0.285 0l-9.235 5.331c-0.090 0.051-0.146 0.152-0.146 0.253v10.666c0 0.102 0.056 0.198 0.145 0.247l2.532 1.462c1.374 0.687 2.215-0.122 2.215-0.935v-10.53c0-0.149 0.12-0.266 0.269-0.266h1.172c0.146 0 0.267 0.117 0.267 0.266v10.53c0 1.833-0.998 2.885-2.736 2.885-0.534 0-0.955 0-2.129-0.579l-2.423-1.395c-0.598-0.346-0.969-0.993-0.969-1.686v-10.665c0-0.693 0.371-1.339 0.969-1.684l9.242-5.34c0.585-0.331 1.362-0.331 1.942 0l9.241 5.34c0.599 0.346 0.971 0.992 0.971 1.684v10.665c0 0.693-0.372 1.337-0.971 1.686l-9.241 5.335c-0.296 0.171-0.631 0.259-0.973 0.259zM18.853 21.547c-4.045 0-4.892-1.857-4.892-3.414 0-0.148 0.118-0.266 0.266-0.266h1.195c0.133 0 0.245 0.096 0.265 0.226 0.18 1.216 0.717 1.831 3.164 1.831 1.946 0 2.775-0.441 2.775-1.473 0-0.596-0.234-1.037-3.26-1.334-2.528-0.25-4.093-0.809-4.093-2.831 0-1.865 1.572-2.977 4.207-2.977 2.961 0 4.425 1.027 4.611 3.233 0.007 0.075-0.020 0.148-0.071 0.205-0.051 0.054-0.121 0.086-0.196 0.086h-1.2c-0.124 0-0.233-0.088-0.259-0.209-0.288-1.28-0.988-1.689-2.886-1.689-2.126 0-2.373 0.74-2.373 1.295 0 0.673 0.292 0.869 3.161 1.248 2.84 0.375 4.19 0.907 4.19 2.902 0 2.014-1.678 3.167-4.606 3.167z\"},\"child\":[]}]})(props);\n};\nexport function DiNodejs (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.304 16.563c0-0.095-0.050-0.183-0.132-0.23l-2.192-1.261c-0.037-0.022-0.079-0.033-0.121-0.035-0.004 0-0.020 0-0.023 0-0.042 0.002-0.083 0.013-0.121 0.035l-2.191 1.261c-0.082 0.047-0.133 0.135-0.133 0.23l0.005 3.396c0 0.047 0.025 0.091 0.066 0.114 0.041 0.024 0.091 0.024 0.132 0l1.302-0.746c0.082-0.049 0.132-0.135 0.132-0.23v-1.587c0-0.094 0.050-0.182 0.132-0.229l0.555-0.319c0.041-0.024 0.086-0.035 0.133-0.035 0.045 0 0.091 0.012 0.132 0.035l0.554 0.319c0.082 0.047 0.132 0.135 0.132 0.229v1.587c0 0.095 0.051 0.181 0.133 0.23l1.302 0.746c0.041 0.024 0.092 0.024 0.132 0 0.040-0.023 0.066-0.067 0.066-0.114l0.004-3.396zM17.006 11.894c-0.041-0.023-0.091-0.022-0.131 0.002s-0.065 0.067-0.065 0.114v3.363c0 0.033-0.018 0.064-0.046 0.080s-0.064 0.017-0.093 0l-0.549-0.316c-0.082-0.047-0.183-0.047-0.265 0l-2.192 1.265c-0.082 0.047-0.133 0.135-0.133 0.229v2.531c0 0.095 0.050 0.182 0.132 0.229l2.192 1.266c0.082 0.047 0.183 0.047 0.265 0l2.193-1.266c0.082-0.048 0.132-0.135 0.132-0.229v-6.309c0-0.096-0.052-0.184-0.136-0.231l-1.305-0.728zM16.803 18.331c0 0.024-0.012 0.046-0.033 0.057l-0.753 0.434c-0.020 0.012-0.046 0.012-0.066 0l-0.753-0.434c-0.021-0.012-0.033-0.034-0.033-0.057v-0.869c0-0.024 0.013-0.046 0.033-0.057l0.753-0.435c0.020-0.012 0.046-0.012 0.066 0l0.753 0.435c0.020 0.012 0.033 0.034 0.033 0.057v0.869zM24.85 17.439c0.081-0.047 0.132-0.134 0.132-0.229v-0.613c0-0.095-0.050-0.181-0.132-0.229l-2.178-1.265c-0.082-0.048-0.183-0.048-0.265-0l-2.192 1.265c-0.082 0.047-0.132 0.135-0.132 0.229v2.53c0 0.095 0.051 0.183 0.134 0.23l2.178 1.241c0.080 0.046 0.179 0.046 0.26 0.001l1.317-0.732c0.041-0.023 0.067-0.067 0.068-0.115s-0.025-0.092-0.066-0.116l-2.206-1.266c-0.041-0.023-0.066-0.067-0.066-0.115v-0.793c0-0.047 0.025-0.091 0.066-0.115l0.687-0.395c0.041-0.023 0.091-0.023 0.132 0l0.687 0.395c0.041 0.024 0.066 0.067 0.066 0.115v0.624c0 0.047 0.025 0.091 0.066 0.115s0.092 0.023 0.133-0l1.312-0.763zM9.291 15.090c0.082-0.047 0.183-0.047 0.265 0l2.192 1.265c0.082 0.047 0.132 0.134 0.132 0.229v2.532c0 0.095-0.051 0.182-0.132 0.229l-2.192 1.266c-0.082 0.047-0.183 0.047-0.265 0l-2.192-1.266c-0.082-0.047-0.132-0.135-0.132-0.229v-2.532c0-0.095 0.050-0.182 0.132-0.229l2.192-1.265zM29.106 20.647c-0.075 0-0.151-0.020-0.217-0.058l-0.69-0.408c-0.103-0.058-0.052-0.078-0.019-0.090 0.137-0.048 0.165-0.059 0.312-0.142 0.015-0.009 0.036-0.005 0.052 0.004l0.53 0.315c0.019 0.011 0.046 0.011 0.064 0l2.067-1.193c0.019-0.011 0.031-0.033 0.031-0.056v-2.386c0-0.023-0.012-0.045-0.032-0.057l-2.066-1.192c-0.019-0.011-0.045-0.011-0.064 0l-2.066 1.192c-0.020 0.011-0.033 0.034-0.033 0.057v2.386c0 0.023 0.013 0.044 0.032 0.055l0.566 0.327c0.307 0.154 0.495-0.027 0.495-0.209v-2.355c0-0.033 0.027-0.059 0.060-0.059h0.262c0.033 0 0.060 0.026 0.060 0.059v2.355c0 0.41-0.223 0.645-0.612 0.645-0.119 0-0.214 0-0.476-0.129l-0.542-0.312c-0.134-0.077-0.217-0.222-0.217-0.377v-2.386c0-0.155 0.083-0.3 0.217-0.377l2.067-1.194c0.131-0.074 0.305-0.074 0.434 0l2.067 1.194c0.134 0.077 0.217 0.222 0.217 0.377v2.386c0 0.155-0.083 0.299-0.217 0.377l-2.067 1.193c-0.066 0.038-0.141 0.058-0.218 0.058zM29.745 19.004c-0.905 0-1.094-0.415-1.094-0.764 0-0.033 0.026-0.059 0.060-0.059h0.267c0.030 0 0.055 0.022 0.059 0.051 0.040 0.272 0.16 0.41 0.708 0.41 0.435 0 0.621-0.099 0.621-0.329 0-0.133-0.052-0.232-0.729-0.298-0.565-0.056-0.915-0.181-0.915-0.633 0-0.417 0.352-0.666 0.941-0.666 0.662 0 0.99 0.23 1.031 0.723 0.002 0.017-0.004 0.033-0.016 0.046s-0.027 0.019-0.044 0.019h-0.268c-0.028 0-0.052-0.020-0.058-0.047-0.064-0.286-0.221-0.378-0.645-0.378-0.475 0-0.531 0.166-0.531 0.29 0 0.151 0.065 0.194 0.707 0.279 0.635 0.084 0.937 0.203 0.937 0.649 0 0.45-0.375 0.708-1.030 0.708zM22.506 17.321c0.016-0.009 0.035-0.009 0.051 0l0.421 0.243c0.016 0.009 0.026 0.026 0.026 0.044v0.486c0 0.018-0.010 0.035-0.026 0.044l-0.421 0.243c-0.016 0.009-0.035 0.009-0.051 0l-0.42-0.243c-0.016-0.009-0.025-0.026-0.025-0.044v-0.486c0-0.018 0.010-0.035 0.025-0.044l0.42-0.243z\"},\"child\":[]}]})(props);\n};\nexport function DiNpm (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M0.32 15.406v5.248h8.736v1.76h6.976v-1.76h15.649v-10.495h-31.36v5.248zM9.055 15.406v3.488h-1.76v-5.216h-1.697v5.216h-3.582v-6.976h7.039v3.488zM17.779 15.412l-0.019 3.488-3.425-0.012v1.766h-3.582v-8.736h7.039l-0.012 3.494zM29.983 15.406v3.488h-1.76v-5.216h-1.76v5.248l-1.76-0.038v-5.21h-1.697v5.216h-3.519v-6.976h10.495v3.488zM14.335 15.406v1.728h1.634v-3.457h-1.634v1.728z\"},\"child\":[]}]})(props);\n};\nexport function DiOnedrive (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.953 23.012c-1.393-0.348-2.169-1.455-2.172-3.099-0.001-0.525 0.037-0.777 0.168-1.115 0.321-0.828 1.173-1.453 2.292-1.683 0.557-0.114 0.729-0.237 0.729-0.522 0-0.089 0.066-0.355 0.147-0.591 0.368-1.070 1.050-1.963 1.779-2.328 0.763-0.382 1.147-0.468 2.070-0.463 1.31 0.007 1.964 0.291 2.878 1.251l0.503 0.528 0.45-0.156c2.18-0.754 4.353 0.53 4.528 2.676l0.048 0.587 0.429 0.154c1.226 0.439 1.802 1.361 1.698 2.717-0.068 0.887-0.483 1.595-1.14 1.946l-0.309 0.165-6.861 0.013c-5.272 0.010-6.948-0.009-7.238-0.081v0zM6.809 22.065c-0.813-0.193-1.675-0.912-2.079-1.733-0.229-0.466-0.241-0.535-0.241-1.359 0-0.784 0.020-0.91 0.202-1.299 0.385-0.821 1.122-1.414 2.047-1.647 0.195-0.049 0.379-0.128 0.408-0.174s0.061-0.301 0.072-0.566c0.064-1.642 1.142-3.089 2.646-3.554 0.813-0.251 1.834-0.189 2.718 0.164 0.28 0.112 0.249 0.136 0.842-0.641 0.351-0.46 1.059-1.032 1.639-1.323 0.626-0.314 1.277-0.459 2.055-0.457 2.176 0.005 4.051 1.366 4.744 3.443 0.222 0.664 0.21 0.849-0.051 0.855-0.114 0.002-0.441 0.065-0.726 0.139l-0.519 0.135-0.473-0.473c-1.335-1.335-3.513-1.623-5.364-0.71-0.74 0.365-1.334 0.888-1.783 1.57-0.32 0.486-0.728 1.394-0.728 1.619 0 0.16-0.129 0.24-0.682 0.421-1.711 0.561-2.709 1.857-2.709 3.515 0 0.604 0.156 1.342 0.371 1.765 0.081 0.16 0.127 0.311 0.101 0.337-0.066 0.066-2.194 0.044-2.489-0.026v0z\"},\"child\":[]}]})(props);\n};\nexport function DiOpenshift (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 34 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.838 14.851l-3.895 1.417c0.050 0.624 0.158 1.241 0.309 1.846l3.7-1.347c-0.12-0.625-0.163-1.27-0.114-1.916z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M29.050 10.545c-0.272-0.56-0.586-1.102-0.95-1.612l-3.894 1.417c0.453 0.464 0.833 0.985 1.144 1.542l3.7-1.347z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M20.482 9.442c0.81 0.378 1.512 0.894 2.104 1.498l3.894-1.417c-1.079-1.513-2.548-2.778-4.348-3.618-5.567-2.596-12.208-0.179-14.804 5.387-0.84 1.801-1.152 3.715-1.006 5.567l3.895-1.417c0.065-0.844 0.271-1.689 0.648-2.5 1.687-3.617 6.001-5.186 9.617-3.5z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.494 18.026l-3.7 1.348c0.34 1.349 0.93 2.631 1.74 3.772l3.886-1.414c-0.997-1.025-1.661-2.321-1.926-3.705z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M24.635 16.558c-0.062 0.843-0.275 1.689-0.654 2.5-1.687 3.617-6.001 5.186-9.617 3.5-0.811-0.379-1.518-0.89-2.108-1.496l-3.886 1.415c1.076 1.513 2.544 2.779 4.345 3.619 5.567 2.595 12.207 0.178 14.803-5.388 0.841-1.8 1.151-3.713 1.002-5.564l-3.886 1.414z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M25.592 11.803l-3.7 1.347c0.687 1.231 1.012 2.649 0.906 4.075l3.886-1.414c-0.111-1.395-0.483-2.756-1.092-4.008z\"},\"child\":[]}]})(props);\n};\nexport function DiOpensource (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 5.559c-6.118 0-11.078 4.96-11.078 11.079 0 4.749 2.989 8.799 7.188 10.374l2.553-6.808c-1.444-0.541-2.471-1.934-2.471-3.566 0-2.103 1.705-3.808 3.808-3.808s3.808 1.705 3.808 3.808c0 1.633-1.028 3.025-2.471 3.566l2.553 6.808c4.199-1.575 7.188-5.625 7.188-10.374-0-6.119-4.96-11.079-11.079-11.079z\"},\"child\":[]}]})(props);\n};\nexport function DiOpera (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.527 16.431c0-0.084 0.001-0.168 0.001-0.253h-0.003c-0.030-3.17-0.356-5.197-0.809-6.544-0.238-0.707-0.511-1.227-0.794-1.623s-0.577-0.667-0.845-0.875c-0.322-0.249-0.704-0.382-1.053-0.457s-0.668-0.088-0.87-0.089c-0.065 0-0.117 0.001-0.155 0.003-0.038-0.002-0.090-0.003-0.154-0.003-0.202 0-0.52 0.014-0.87 0.089s-0.731 0.208-1.053 0.457c-0.268 0.208-0.562 0.479-0.845 0.875-0.425 0.595-0.827 1.466-1.121 2.831-0.276 1.28-0.46 2.996-0.482 5.336h-0.002c0 0.072 0 0.143 0.001 0.215-0 0.086-0.001 0.172-0.001 0.259h0.003c0.031 3.081 0.357 5.051 0.81 6.363 0.238 0.689 0.511 1.196 0.795 1.582s0.577 0.65 0.845 0.853c0.322 0.242 0.703 0.372 1.052 0.445s0.667 0.086 0.869 0.086c0.065 0 0.117-0.002 0.154-0.003 0.038 0.002 0.090 0.003 0.154 0.003 0.202-0 0.52-0.014 0.869-0.086s0.73-0.202 1.052-0.445c0.268-0.202 0.562-0.466 0.846-0.853 0.426-0.58 0.828-1.43 1.123-2.759 0.276-1.245 0.46-2.913 0.482-5.185h0.002c-0-0.075-0-0.148-0.001-0.221zM19.374 22.896c-0.228 0.66-0.485 1.131-0.744 1.485s-0.522 0.59-0.771 0.778c-0.26 0.197-0.592 0.314-0.907 0.379s-0.612 0.079-0.796 0.079c-0.047 0-0.086-0.001-0.116-0.002l-0-0.004h-0c-0.001 0-0.014 0.001-0.037 0.002-0.011-0.001-0.021-0.001-0.027-0.001l-0.009-0-0.002-0h-0l-0 0.004c-0.031 0.001-0.070 0.002-0.116 0.002-0.184 0-0.481-0.014-0.796-0.079s-0.647-0.182-0.907-0.379c-0.249-0.188-0.512-0.424-0.772-0.778-0.389-0.53-0.773-1.328-1.060-2.622-0.277-1.25-0.463-2.962-0.475-5.33 0.014-3.29 0.346-5.352 0.792-6.678 0.228-0.678 0.485-1.163 0.745-1.527s0.523-0.606 0.772-0.799c0.26-0.202 0.591-0.322 0.906-0.389s0.611-0.081 0.795-0.081c0.047 0 0.086 0.001 0.117 0.002l0 0.004h0c0.001-0 0.014-0.001 0.037-0.002 0.011 0.001 0.020 0.001 0.026 0.001l0.011 0.001 0-0.004c0.031-0.001 0.070-0.002 0.117-0.002 0.184-0 0.48 0.014 0.795 0.081s0.646 0.187 0.906 0.389c0.249 0.193 0.512 0.436 0.772 0.799 0.39 0.545 0.774 1.366 1.062 2.696 0.278 1.285 0.463 3.044 0.476 5.476-0.014 3.203-0.345 5.211-0.791 6.5zM26.807 12.353c-2.018-6.779-7.28-8.176-10.808-8.176-3.571 0-8.789 1.397-10.807 8.176-0.398 1.337-0.556 2.66-0.53 3.933-0.026 1.273 0.132 2.595 0.53 3.933 2.018 6.779 7.236 8.176 10.807 8.176 3.527 0 8.789-1.397 10.808-8.176 0.398-1.337 0.556-2.66 0.53-3.933 0.026-1.273-0.132-2.595-0.53-3.933zM18.476 25.807c-0.76 0.608-2.017 0.708-2.472 0.723-0.455-0.015-1.72-0.115-2.48-0.723-1.027-0.822-2.36-2.563-2.38-9.521 0.020-6.959 1.353-8.7 2.38-9.521 0.76-0.608 2.025-0.708 2.48-0.723 0.455 0.015 1.712 0.115 2.472 0.723 1.027 0.822 2.36 2.563 2.38 9.522-0.020 6.959-1.352 8.7-2.38 9.521z\"},\"child\":[]}]})(props);\n};\nexport function DiPerl (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 5.036c-6.213 0-11.25 5.037-11.25 11.25s5.037 11.25 11.25 11.25c6.213 0 11.25-5.037 11.25-11.25s-5.037-11.25-11.25-11.25zM14.096 24.446c-0.116 0.233-0.605 0.070-1.14-0.116s-2.351-0.931-3.398-2.118c-1.047-1.187-1.582-2.77-1.536-4.282s0.465-2.141 1.164-3.119c0.698-0.977 2.63-2.42 3.235-2.793s1.42-1.001 1.815-1.513c0.396-0.512 0.605-0.931 0.582-1.629s0.047-1.327 0.023-1.559c-0.023-0.233-0.023-0.698 0.186-0.605s0.233 0.349 0.233 0.605-0.070 1.303-0.14 2.327c-0.070 1.024-0.884 1.885-1.489 2.49s-2.351 2.49-3.002 3.421c-0.652 0.931-0.976 2.157-0.908 3.188 0.070 1.047 0.326 2.071 1.303 3.165s1.652 1.606 2.164 1.862c0.512 0.256 1.024 0.442 0.908 0.675zM14.953 25.564c-0.167 0.203-0.454 0.326-0.489 0.244s0.207-0.129 0.385-0.327c0.163-0.182 0.12-0.522 0.236-0.527 0.095-0.004 0.035 0.406-0.132 0.61zM15.376 23.864c-0.326 0.419-1.652-1.024-2.351-1.862s-1.396-2.537-1.42-3.863c-0.023-1.327 0.721-2.56 1.257-3.305s1.583-2.025 1.862-2.607 0.582-1.21 0.675-2.025c0.093-0.815 0-3.724 0-3.724s-0.023-1.28 0.186-1.14c0.21 0.14 0.256 0.954 0.256 1.699s0.070 3.956-0.163 4.817c-0.233 0.861-0.768 1.815-1.35 2.653s-1.257 2.607-1.233 3.7c0.023 1.094 0.652 2.886 1.14 3.631 0.491 0.747 1.323 1.789 1.14 2.025zM16.072 26.037c-0.096 0-0.060-0.29-0.060-0.648s-0.033-0.649 0.060-0.649c0.085 0 0.060 0.29 0.060 0.649s0.018 0.648-0.060 0.648zM17.59 25.797c-0.035 0.082-0.322-0.040-0.489-0.244s-0.227-0.613-0.132-0.61c0.116 0.005 0.073 0.345 0.236 0.527 0.178 0.198 0.42 0.245 0.385 0.327zM22.354 22.243c-0.901 1.048-2.002 1.688-3.274 2.197-0.42 0.168-0.686 0.349-1.041 0.018-0.572-0.532-1.113-0.587-1.828-0.778-0.199-0.053-0.337-0.495-0.409-0.654-0.239-0.524-0.421-1.075-0.56-1.633-0.674-2.694-0.137-5.392 0.545-8.025 0.291-1.124 0.479-2.241 0.488-3.408 0.005-0.611-0.080-1.214-0.152-1.819-0.031-0.257-0.151-0.894 0.162-0.405 0.126 0.197 0.357-0.082 0.377 0.145 0.016 0.175 0.018 0.352 0.024 0.528 0.015 0.448 0.012 0.906 0.083 1.35 0.171 1.074 1.495 1.739 2.311 2.249 1.869 1.168 4.378 2.718 4.757 5.11 0.305 1.929-0.217 3.653-1.483 5.125z\"},\"child\":[]}]})(props);\n};\nexport function DiPhonegap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.923 5.072c-0.516 0.191-0.852 0.568-1.017 1.136-0.114 0.387-0.114 0.506 0.124 7.828 0.114 3.522 0.238 7.601 0.284 9.062 0.057 1.921 0.103 2.762 0.16 3.031 0.191 0.898 0.909 1.461 1.869 1.461 0.361 0 8.298-1.348 8.701-1.477 0.367-0.119 0.806-0.547 1.007-0.986 0.31-0.676 0.31-0.666 0.098-3.79-0.289-4.244-0.697-10.482-0.785-12.067-0.093-1.57-0.15-1.854-0.465-2.324-0.227-0.336-0.718-0.702-1.074-0.811-0.15-0.041-1.058-0.196-2.024-0.336-6.047-0.878-6.387-0.914-6.878-0.728zM21.335 9.28c2.675 0.207 2.995 0.238 3.191 0.336 0.325 0.17 0.604 0.449 0.759 0.759 0.134 0.274 0.139 0.331 0.258 2.386 0.067 1.157 0.207 3.444 0.305 5.091 0.17 2.762 0.181 3.005 0.108 3.258-0.145 0.48-0.614 0.899-1.193 1.053-0.361 0.093-6.279 0.687-6.614 0.661-0.604-0.046-1.084-0.434-1.286-1.043-0.067-0.191-0.098-0.584-0.134-1.549-0.026-0.713-0.119-3.248-0.207-5.639-0.145-4.007-0.155-4.368-0.077-4.621 0.103-0.356 0.346-0.645 0.671-0.795 0.367-0.17 0.697-0.165 4.219 0.103zM17.39 9.373c-0.424 0.114-0.707 0.542-0.707 1.059 0 0.248-0.067 0.232 1.084 0.33 0.728 0.062 1.023 0.176 1.296 0.511 0.289 0.346 0.294 0.408 0.48 4.673 0.186 4.327 0.191 4.224-0.093 4.596-0.077 0.098-0.279 0.243-0.465 0.336-0.284 0.139-0.428 0.17-1.12 0.243-0.439 0.041-0.806 0.088-0.816 0.098-0.041 0.036 0.119 0.578 0.237 0.785 0.067 0.119 0.212 0.279 0.315 0.346 0.336 0.222 0.573 0.232 1.916 0.093 0.671-0.067 1.234-0.145 1.25-0.16 0.021-0.021-0.098-2.907-0.258-6.413l-0.289-6.377-1.084-0.088c-1.255-0.098-1.477-0.103-1.745-0.031zM11.266 7.225c-0.387 0.103-0.609 0.253-0.785 0.532-0.315 0.496-0.305-0.243-0.15 8.189 0.139 7.632 0.155 8.081 0.31 8.432 0.222 0.516 0.687 0.821 1.394 0.914 0.212 0.026 2.974-0.294 3.031-0.356 0.021-0.021-0.083-3.506-0.108-3.527-0.005-0.010-0.475 0.031-1.043 0.088-1.064 0.108-1.337 0.098-1.663-0.072-0.294-0.155-0.537-0.506-0.625-0.914-0.026-0.124-0.088-2.251-0.139-4.73-0.103-5.076-0.119-4.781 0.289-5.148 0.32-0.289 0.496-0.315 1.627-0.243 0.542 0.036 1.038 0.077 1.105 0.093l0.119 0.031-0.031-1.131c-0.016-0.625-0.046-1.317-0.062-1.544l-0.026-0.418-1.379-0.139c-1.559-0.16-1.487-0.16-1.864-0.057zM7.403 9.771c-0.403 0.103-0.702 0.403-0.769 0.774-0.021 0.103-0.010 1.766 0.026 3.697 0.103 5.757 0.15 7.286 0.222 7.523 0.093 0.315 0.387 0.589 0.749 0.692 0.284 0.083 0.351 0.083 1.203 0 0.496-0.052 1.002-0.103 1.12-0.119l0.222-0.031-0.031-1.244c-0.021-0.681-0.041-1.25-0.046-1.255-0.005-0.010-0.336 0.010-0.738 0.041-0.904 0.072-1.141 0.041-1.389-0.175-0.346-0.305-0.33-0.196-0.413-3.79l-0.072-3.258 0.109-0.217c0.083-0.16 0.17-0.243 0.346-0.32 0.217-0.098 0.299-0.103 1.141-0.067l0.904 0.041-0.036-1.053c-0.015-0.573-0.046-1.059-0.057-1.074-0.031-0.026-1.095-0.124-1.91-0.181-0.227-0.016-0.485-0.005-0.578 0.015zM12.159 10.721c-0.351 0.165-0.516 0.563-0.46 1.12l0.036 0.346 0.573 0.026c0.687 0.031 0.94 0.129 1.157 0.465l0.145 0.217v6.17l-0.155 0.165c-0.232 0.248-0.542 0.361-1.079 0.403l-0.47 0.031-0.015 0.284c-0.041 0.645 0.186 1.095 0.64 1.27 0.207 0.078 0.3 0.083 1.022 0.021 0.439-0.036 0.821-0.083 0.857-0.103 0.077-0.047 0.072-0.676-0.026-5.060-0.108-5.045-0.119-5.205-0.336-5.318-0.052-0.026-0.465-0.062-0.914-0.077-0.64-0.026-0.852-0.015-0.976 0.041zM5.033 12.822c-0.062 0.021-0.16 0.108-0.222 0.186-0.108 0.134-0.108 0.17-0.108 2.313 0 1.193 0.016 2.51 0.036 2.917 0.031 0.671 0.041 0.754 0.15 0.883 0.165 0.191 0.423 0.248 1.048 0.217l0.527-0.026-0.016-0.651-0.015-0.651-0.475-0.026c-0.759-0.041-0.707 0.098-0.728-1.993-0.016-1.957-0.021-1.936 0.356-2.034 0.119-0.036 0.33-0.041 0.49-0.021l0.279 0.031v-1.136l-0.16-0.031c-0.232-0.046-1.033-0.031-1.162 0.021zM7.801 13.411v0.547h0.16c0.212 0 0.501 0.139 0.573 0.279 0.093 0.16 0.129 3.232 0.041 3.434-0.067 0.165-0.325 0.315-0.537 0.315h-0.134v0.46c0 0.253 0.016 0.532 0.031 0.62 0.031 0.155 0.041 0.16 0.325 0.16 0.33 0 0.594-0.114 0.744-0.32 0.103-0.134 0.103-0.181 0.041-2.788-0.057-2.287-0.077-2.675-0.15-2.824-0.139-0.284-0.325-0.387-0.733-0.408l-0.361-0.021v0.547z\"},\"child\":[]}]})(props);\n};\nexport function DiPhotoshop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 34 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.556 2.845v27.071h27.53v-27.071h-27.53zM28.896 27.763h-23.151v-22.765h23.151v22.765z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.555 10.442c-0.693-0.599-1.726-0.939-3.173-0.939-1.433 0-3.173 0.046-3.173 0.046l-0 11.103h2.326v-3.568c0 0 0.407-0.005 0.847-0.023 1.593-0.067 2.526-0.549 3.327-1.364 0.616-0.631 0.955-1.53 0.955-2.627s-0.447-2.062-1.109-2.628zM13.32 15.115c-0.375 0.004-0.533 0.016-0.786-0.008v-3.834c0 0 0.493-0.017 0.971 0 1.198 0.044 1.833 0.89 1.833 1.921-0 1.148-0.77 1.906-2.018 1.921z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M22.205 15.455c-1.005-0.356-1.324-0.559-1.324-0.949 0-0.423 0.352-0.677 0.972-0.677 0.703 0 1.767 0.454 2.136 0.658v-1.871c-0.502-0.254-1.265-0.566-2.22-0.566-2.027 0-3.334 1.169-3.334 2.728-0.017 0.965 0.636 1.655 2.329 2.231 0.955 0.322 1.206 0.767 1.206 1.191s-0.318 0.695-1.089 0.695c-0.754 0-1.86-0.431-2.329-0.718v0 1.847c0.62 0.338 1.518 0.659 2.329 0.684 2.363 0.074 3.551-1.152 3.551-2.694-0.017-1.22-0.67-2.016-2.228-2.558z\"},\"child\":[]}]})(props);\n};\nexport function DiPhp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.372 13.069h-3.967l-1.715 8.684h2.037l0.429-2.251h1.93c1.822 0.107 3.86-1.394 3.86-3.967 0-1.501-0.858-2.359-2.573-2.466zM8.871 17.894h-1.287l0.536-3.216h1.394c0.75 0 1.287 0.322 1.287 0.965-0.107 1.823-0.965 2.144-1.93 2.251zM17.555 13.069h-1.93l0.429-2.251h-2.037l-1.715 8.684h2.037l0.965-4.824h1.608c0.751 0 0.751 0.322 0.643 0.858l-0.75 3.967h2.144l0.75-4.396c0.214-1.072-0.429-1.93-2.144-2.037zM24.738 13.069h-3.967l-1.715 8.684h2.037l0.429-2.251h1.93c1.823 0.107 3.86-1.394 3.86-3.967 0-1.501-0.858-2.359-2.573-2.466zM23.237 17.894h-1.287l0.536-3.216h1.394c0.751 0 1.287 0.322 1.287 0.965-0.107 1.823-0.965 2.144-1.93 2.251z\"},\"child\":[]}]})(props);\n};\nexport function DiPostgresql (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M26.741 18.661c-0.24-0.278-0.65-0.202-0.967-0.139-0.762 0.136-1.591 0.294-2.329-0.023 1.318-2.080 2.355-4.351 2.935-6.748 0.211-0.911 0.374-1.843 0.343-2.781-0.023-0.525-0.096-1.084-0.417-1.519-0.794-1.047-1.945-1.81-3.214-2.151-1.585-0.43-3.285-0.302-4.844 0.18-0.129 0.026-0.256-0.032-0.382-0.048-1.415-0.287-2.975-0.174-4.202 0.645-1.473-0.53-3.056-0.85-4.624-0.686-1.166 0.121-2.337 0.663-3.006 1.656-0.846 1.239-0.961 2.821-0.826 4.273 0.272 1.928 0.742 3.826 1.34 5.677 0.394 1.154 0.828 2.317 1.529 3.325 0.356 0.495 0.829 0.994 1.466 1.072 0.566 0.069 1.078-0.282 1.425-0.698 0.6-0.718 1.217-1.423 1.857-2.105 0.418 0.205 0.872 0.323 1.336 0.358-0.251 0.298-0.458 0.687-0.858 0.804-0.539 0.208-1.17 0.18-1.645 0.539-0.274 0.196-0.287 0.623-0.041 0.848 0.445 0.432 1.101 0.525 1.693 0.575 0.839 0.064 1.687-0.218 2.324-0.768-0.004 1.334 0.002 2.672 0.152 3.999 0.075 0.777 0.41 1.551 1.001 2.074 0.557 0.486 1.351 0.587 2.058 0.464 0.694-0.132 1.407-0.34 1.949-0.814 0.576-0.508 0.822-1.275 0.936-2.011 0.207-1.319 0.364-2.644 0.514-3.969 1.483 0.25 3.161-0.034 4.269-1.117 0.237-0.223 0.462-0.609 0.228-0.912zM23.45 6.117c0.89 0.338 1.681 0.925 2.275 1.668 0.283 0.355 0.319 0.832 0.337 1.268 0.013 1.040-0.197 2.067-0.464 3.067-0.511 1.851-1.287 3.625-2.262 5.277-0.096 0.163-0.201 0.32-0.317 0.469-0.009-0.045-0.027-0.137-0.036-0.183 0.121-0.318 0.298-0.618 0.367-0.956 0.244-0.953 0.038-1.934-0.050-2.893-0.092-0.905 0.217-1.786 0.209-2.689 0.035-0.442-0.14-0.86-0.31-1.257-0.615-1.375-1.593-2.598-2.848-3.438-0.306-0.21-0.648-0.357-0.953-0.568 1.334-0.286 2.765-0.25 4.051 0.234zM22.637 13.836c0.078 1.071 0.389 2.221-0.116 3.237-0.677-1.347-1.552-2.633-1.857-4.133-0.086-0.477-0.108-1.081 0.316-1.413 0.538-0.382 1.241-0.296 1.863-0.258-0.027 0.859-0.291 1.702-0.205 2.567zM10.534 20.181c-0.243 0.286-0.571 0.627-0.985 0.542-0.484-0.14-0.792-0.582-1.062-0.979-0.729-1.166-1.168-2.483-1.571-3.79-0.451-1.547-0.831-3.119-1.050-4.717-0.109-1.216-0.041-2.52 0.581-3.603 0.466-0.82 1.335-1.343 2.248-1.514 1.462-0.281 2.961 0.017 4.364 0.445-0.619 0.68-1.101 1.481-1.382 2.358-0.383 1.171-0.558 2.417-0.466 3.648 0.053 0.867 0.030 1.738-0.091 2.598-0.152 1.123 0.299 2.278 1.133 3.036-0.568 0.664-1.17 1.297-1.72 1.977zM11.814 16.158c-0.143-0.636 0.044-1.276 0.065-1.913 0.049-0.721-0.002-1.443-0.016-2.164 0.674-0.436 1.462-0.777 2.279-0.73 0.423 0.018 0.813 0.317 0.915 0.734 0.371 1.477 0.486 3.121-0.225 4.52-0.248 0.54-0.449 1.099-0.622 1.666-1.182 0.012-2.187-0.987-2.396-2.112zM15.492 20.112c-0.742 1.005-2.227 1.197-3.3 0.65 0.529-0.245 1.148-0.226 1.659-0.528 0.494-0.266 0.69-0.851 1.152-1.152 0.503-0.071 0.87 0.676 0.49 1.029zM21.856 18.938c-0.282 0.454-0.183 1.008-0.252 1.512-0.162 1.413-0.321 2.828-0.551 4.232-0.109 0.673-0.395 1.388-1.030 1.723-0.651 0.331-1.407 0.539-2.139 0.426-0.695-0.122-1.133-0.77-1.33-1.401-0.144-0.529-0.159-1.082-0.2-1.627-0.070-1.315-0.071-2.633-0.037-3.949 0.029-0.514-0.235-1.049-0.694-1.299-0.222-0.125-0.482-0.142-0.73-0.162 0.195-0.967 0.784-1.802 0.986-2.768 0.262-1.195 0.117-2.439-0.151-3.619-0.131-0.589-0.579-1.11-1.175-1.253-0.918-0.231-1.844 0.128-2.665 0.512 0.104-1.334 0.461-2.7 1.278-3.783 0.601-0.806 1.533-1.344 2.528-1.473 1.642-0.209 3.366 0.243 4.671 1.27 1.078 0.852 1.93 2.006 2.389 3.304-0.763-0.027-1.628-0.058-2.245 0.472-0.56 0.472-0.632 1.277-0.506 1.953 0.292 1.608 1.241 2.975 1.941 4.421 0.186 0.339 0.436 0.635 0.674 0.939-0.283 0.143-0.599 0.28-0.76 0.571zM23.82 20.075c-0.504 0.060-1.028 0.078-1.514-0.089 0.002-0.275-0.013-0.601 0.208-0.806 0.175-0.129 0.424-0.248 0.626-0.107 0.86 0.453 1.86 0.232 2.775 0.121-0.559 0.544-1.333 0.798-2.095 0.881zM21.178 11.728c-0.179 0.147 0.014 0.367 0.168 0.436 0.373 0.219 0.884-0.087 0.896-0.513-0.337-0.157-0.76-0.141-1.065 0.077zM14.576 12.408c0.159-0.090 0.327-0.337 0.143-0.486-0.262-0.213-0.643-0.254-0.962-0.168-0.103 0.036-0.211 0.106-0.19 0.232 0.074 0.428 0.647 0.688 1.008 0.422z\"},\"child\":[]}]})(props);\n};\nexport function DiProlog (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.553 12.292c0 0.212-0.172 0.383-0.383 0.383s-0.383-0.172-0.383-0.383c0-0.212 0.172-0.383 0.383-0.383s0.383 0.172 0.383 0.383zM11.733 10.466c-1.245 0-2.255 1.009-2.255 2.255s1.010 2.255 2.255 2.255c1.245 0 2.255-1.009 2.255-2.255s-1.010-2.255-2.255-2.255zM11.789 14.141c-0.753 0-1.364-0.611-1.364-1.364s0.611-1.364 1.364-1.364c0.753 0 1.364 0.611 1.364 1.364s-0.611 1.364-1.364 1.364zM21.496 12.676c0.212 0 0.383-0.171 0.383-0.383s-0.172-0.383-0.383-0.383c-0.212 0-0.383 0.172-0.383 0.383s0.172 0.383 0.383 0.383zM22.195 15.066c1.245 0 2.255-1.010 2.255-2.255s-1.009-2.255-2.255-2.255c-1.245 0-2.255 1.009-2.255 2.255s1.010 2.255 2.255 2.255zM22.116 11.436c0.753 0 1.364 0.611 1.364 1.364s-0.611 1.364-1.364 1.364c-0.753 0-1.364-0.611-1.364-1.364s0.611-1.364 1.364-1.364zM27.33 15.773c0-3.092-1.24-5.893-3.247-7.937-0.373-1.138-0.33-2.711 0.143-3.427 0.165-0.25 0.341-0.492 0.53-0.764-1.679-0.286-3.107 0.195-4.064 1.393-0.116 0.146-0.224 0.232-0.337 0.274-1.341-0.559-2.812-0.869-4.355-0.869-1.549 0-3.025 0.312-4.37 0.875-0.119-0.040-0.232-0.127-0.354-0.28-0.956-1.197-2.384-1.679-4.064-1.393 0.189 0.272 0.365 0.514 0.53 0.764 0.48 0.727 0.517 2.336 0.127 3.477-1.979 2.040-3.199 4.82-3.199 7.887 0 1.443 0.271 2.823 0.763 4.092 0.123 0.348 0.236 0.7 0.351 1.051 0.105 0.321 0.206 0.639 0.299 0.958 0.274 0.94 0.442 1.911 0.469 2.89 0.008 0.268 0.003 0.536-0.004 0.803-0.003 0.092-0.006 0.184-0.009 0.276l2.295-2.1c0.416 0.384 0.982 0.73 1.664 1.025-0.691 0.483-1.144 1.284-1.144 2.191 0 0.774 0.331 1.469 0.857 1.957-0.051-0.17-0.079-0.35-0.079-0.537 0-1.028 0.833-1.86 1.86-1.86s1.86 0.833 1.86 1.86c0 0.22-0.040 0.43-0.11 0.626 0.584-0.49 0.956-1.225 0.956-2.047 0-0.45-0.112-0.873-0.308-1.245 0.614 0.064 1.253 0.098 1.911 0.098 0.448 0 0.887-0.016 1.316-0.046-0.18 0.359-0.281 0.764-0.281 1.193 0 0.774 0.331 1.469 0.857 1.957-0.051-0.17-0.079-0.35-0.079-0.537 0-1.028 0.833-1.86 1.86-1.86s1.86 0.833 1.86 1.86c0 0.22-0.040 0.43-0.11 0.626 0.584-0.49 0.956-1.225 0.956-2.047 0-0.818-0.368-1.55-0.948-2.040 0.706-0.27 1.307-0.592 1.771-0.952l1.984 1.815c-0.004-0.092-0.007-0.184-0.009-0.276-0.007-0.267-0.012-0.535-0.004-0.803 0.028-0.979 0.196-1.95 0.469-2.89 0.093-0.319 0.194-0.638 0.299-0.959 0.121-0.369 0.239-0.741 0.37-1.107l-0.001 0c0.464-1.237 0.72-2.576 0.72-3.975zM5.987 19.152l-0.425-1.272 0.564 0.519 0.875-0.309-1.014 1.062zM6.205 20.062l0.564 0.519 0.875-0.309-1.014 1.062-0.425-1.272zM7.591 18.168l0.524 0.56 0.895-0.243-1.091 0.983-0.328-1.3zM7.171 23.549l-0.425-1.272 0.564 0.519 0.875-0.309-1.014 1.062zM8.575 21.74l-0.425-1.272 0.564 0.519 0.875-0.309-1.014 1.062zM9.536 18.557l0.524 0.56 0.895-0.243-1.091 0.983-0.328-1.3zM16.034 20.418c-0.225-0.335-0.413-0.712-0.588-1.052-0.201-0.389-0.403-0.778-0.606-1.166-0.388-0.742-0.964-1.497-1.157-2.335-0.772 0.628-1.756 1.004-2.829 1.004-2.478 0-4.487-2.009-4.487-4.487s2.009-4.487 4.487-4.487c0.659 0 1.284 0.143 1.848 0.398 0.255 0.108 0.499 0.239 0.73 0.391 1.164 0.806 1.926 2.15 1.926 3.672 0 0.219-0.017 0.433-0.048 0.643 0.229-0.072 0.472-0.111 0.724-0.111 0.291 0 0.569 0.054 0.828 0.149-0.039-0.237-0.061-0.479-0.061-0.726 0-0.388 0.052-0.764 0.145-1.123 0.005-0.018 0.010-0.035 0.015-0.053 0.025-0.090 0.052-0.18 0.082-0.268 0.021-0.062 0.043-0.123 0.066-0.183 0.010-0.025 0.019-0.050 0.029-0.074 0.668-1.639 2.277-2.794 4.155-2.794 2.478 0 4.487 2.009 4.487 4.487s-2.009 4.487-4.487 4.487c-0.932 0-1.798-0.284-2.515-0.771-0.129-0.087-0.253-0.182-0.372-0.281-0.094 0.447-0.321 0.827-0.547 1.252-0.308 0.581-0.613 1.164-0.917 1.747l-0.908 1.68zM24.467 18.32l-0.328 1.3-1.091-0.983 0.895 0.242 0.524-0.56zM21.103 19.026l0.895 0.243 0.524-0.56-0.328 1.3-1.091-0.983zM23.484 21.892l-1.014-1.062 0.875 0.309 0.564-0.519-0.425 1.272zM24.887 23.701l-1.014-1.062 0.875 0.309 0.564-0.519-0.425 1.272zM25.428 21.486l-1.014-1.062 0.875 0.309 0.564-0.519-0.425 1.272zM26.071 19.305l-1.014-1.062 0.875 0.309 0.564-0.519-0.425 1.272zM16.028 13.337c-1.161 0-2.102 0.941-2.102 2.103 0 0.927 0.654 1.729 1.064 2.514 0.176 0.338 0.352 0.676 0.527 1.014 0.152 0.295 0.316 0.623 0.512 0.914l0.789-1.461c0.265-0.507 0.529-1.014 0.797-1.519 0.256-0.482 0.516-0.897 0.516-1.463 0-1.161-0.941-2.103-2.103-2.103z\"},\"child\":[]}]})(props);\n};\nexport function DiPython (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.275 15.88h5.417c1.508 0 2.712-1.241 2.712-2.756v-5.164c0-1.47-1.24-2.574-2.712-2.819-0.932-0.155-1.898-0.226-2.825-0.221s-1.813 0.083-2.592 0.221c-2.295 0.405-2.712 1.254-2.712 2.819v2.067h5.423v0.689h-7.459c-1.576 0-2.956 0.947-3.388 2.75-0.498 2.066-0.52 3.355 0 5.512 0.385 1.606 1.306 2.75 2.882 2.75h1.865v-2.478c0-1.79 1.549-3.369 3.388-3.369zM12.933 8.649c-0.562 0-1.018-0.461-1.018-1.030 0-0.572 0.455-1.037 1.018-1.037 0.56 0 1.018 0.465 1.018 1.037 0 0.57-0.457 1.030-1.018 1.030zM26.826 13.465c-0.389-1.569-1.133-2.75-2.712-2.75h-2.035v2.408c0 1.867-1.583 3.439-3.388 3.439h-5.417c-1.484 0-2.712 1.27-2.712 2.756v5.164c0 1.47 1.278 2.334 2.712 2.756 1.717 0.505 3.363 0.596 5.417 0 1.365-0.395 2.712-1.191 2.712-2.756v-2.067h-5.417v-0.689h8.129c1.576 0 2.163-1.099 2.712-2.75 0.566-1.699 0.542-3.332 0-5.512zM19.033 23.794c0.562 0 1.018 0.461 1.018 1.030 0 0.572-0.456 1.037-1.018 1.037-0.56 0-1.018-0.465-1.018-1.037 0-0.57 0.457-1.030 1.018-1.030z\"},\"child\":[]}]})(props);\n};\nexport function DiRackspace (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 34 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M29.767 26.039l-12.068-20.902c-0.16-0.277-0.457-0.449-0.777-0.449s-0.616 0.171-0.776 0.449l-12.069 20.902c-0.161 0.278-0.161 0.573 0 0.852s0.457 0.401 0.777 0.401h24.137c0.321 0 0.615-0.124 0.776-0.401s0.161-0.574 0-0.852v0zM22.089 24.352l0.032-0.906-3.482 0.615-0.158-0.166 0.045-1.212h-0.091c0 0-0.954 1.598-3.068 1.598-1.568 0-3.045-0.632-3.045-3.176 0-2.569 1.931-3.427 3.954-3.427h2.128v-1.026c0-1.023-0.689-1.613-1.962-1.613-1.432 0-3.12 0.227-3.12 0.227l-0.12-0.159v-1.727c0 0 1.821-0.227 3.708-0.227 1.727 0 3.798 0.454 3.798 2.999v5.856l1.163-0.221-0.331-0.848 2.903 1.273-2.353 2.138zM14.526 20.932c0 1.181 0.825 1.451 1.62 1.451 0.75 0 1.665-0.186 2.257-1.117v-1.941h-1.536c-1.546 0-2.341 0.38-2.341 1.607v0z\"},\"child\":[]}]})(props);\n};\nexport function DiRaphael (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M26.131 18.933c0.515-0.779 0.793-1.692 0.793-2.647 0-1.287-0.502-2.497-1.412-3.405l-6.109-6.105c-0.871-0.873-2.075-1.413-3.403-1.413s-2.531 0.541-3.402 1.414l-0.002-0.002-6.107 6.106c-0.911 0.91-1.412 2.119-1.412 3.406s0.501 2.496 1.412 3.405l5.506 5.506c0.221 0.248 0.453 0.48 0.697 0.692 0.898 0.851 2.066 1.318 3.308 1.318 1.286 0 2.495-0.501 3.404-1.41l5.941-5.941c0.015-0.015 0.030-0.030 0.045-0.045l0.12-0.12c0.23-0.229 0.433-0.478 0.609-0.741 0.004-0.006 0.009-0.012 0.013-0.017l-0.002-0.001zM25.142 16.287c0 0.599-0.174 1.171-0.496 1.66-0.193 0.264-0.394 0.494-0.602 0.693l-0.015 0.015c-0.977 0.929-2.080 1.192-3.017 1.192-0.515 0-0.98-0.080-1.346-0.172-2.14-0.541-4.467-2.383-5.532-5.069 0.574 0.242 1.204 0.376 1.865 0.376 2.483 0 4.533-1.892 4.784-4.309l3.468 3.468c0.574 0.574 0.89 1.336 0.89 2.146zM16 7.144c1.67 0 3.028 1.358 3.028 3.028s-1.358 3.028-3.028 3.028c-1.669 0-3.028-1.358-3.028-3.028s1.358-3.028 3.028-3.028zM7.748 18.433c-0.574-0.573-0.89-1.335-0.89-2.146s0.316-1.573 0.89-2.146l2.346-2.347c-0.612 2.085-0.875 4.279-0.734 6.382 0.051 0.756 0.155 1.481 0.305 2.173l-1.917-1.916zM11.759 12.438c0.515 4.032 3.707 8.012 7.471 8.963 0.613 0.155 1.215 0.231 1.796 0.231 0.009 0 0.017-0.001 0.025-0.001l-2.907 2.907c-0.573 0.573-1.335 0.888-2.145 0.888-0.564 0-1.103-0.156-1.572-0.442l0.001-0.002c-0.185-0.123-0.361-0.261-0.532-0.407-0.013-0.013-0.028-0.024-0.041-0.037l-0.587-0.587c-1.208-1.387-1.967-3.45-2.131-5.895-0.124-1.85 0.099-3.779 0.622-5.619z\"},\"child\":[]}]})(props);\n};\nexport function DiRasberryPi (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M24.378 15.097l-0.183-0.326c0.007-2.343-1.063-3.298-2.312-4.023 0.378-0.101 0.768-0.184 0.875-0.666 0.649-0.169 0.785-0.474 0.85-0.797 0.17-0.115 0.738-0.438 0.678-0.992 0.318-0.223 0.495-0.509 0.405-0.914 0.342-0.379 0.432-0.691 0.287-0.98 0.41-0.518 0.228-0.786 0.053-1.058 0.307-0.566 0.036-1.173-0.823-1.071-0.342-0.51-1.087-0.394-1.202-0.392-0.129-0.164-0.299-0.304-0.823-0.236-0.339-0.307-0.718-0.255-1.11-0.104-0.464-0.366-0.772-0.073-1.123 0.038-0.562-0.184-0.691 0.068-0.967 0.17-0.613-0.13-0.8 0.153-1.094 0.45l-0.342-0.007c-0.925 0.545-1.385 1.655-1.548 2.226-0.163-0.571-0.621-1.681-1.547-2.226l-0.342 0.007c-0.294-0.298-0.481-0.58-1.094-0.45-0.276-0.103-0.405-0.354-0.967-0.17-0.23-0.073-0.442-0.225-0.692-0.217l0 0c-0.131 0.004-0.271 0.052-0.431 0.178-0.391-0.151-0.77-0.203-1.11 0.104-0.524-0.068-0.694 0.072-0.823 0.236-0.115-0.002-0.86-0.118-1.202 0.392-0.859-0.102-1.131 0.505-0.823 1.071-0.175 0.272-0.357 0.54 0.053 1.058-0.145 0.288-0.055 0.601 0.287 0.98-0.090 0.405 0.087 0.691 0.405 0.914-0.060 0.555 0.509 0.877 0.678 0.992 0.065 0.323 0.201 0.628 0.85 0.797 0.107 0.482 0.497 0.565 0.875 0.666-1.248 0.726-2.319 1.681-2.312 4.024l-0.183 0.326c-1.431 0.871-2.72 3.669-0.706 5.943 0.131 0.712 0.352 1.223 0.549 1.789 0.294 2.28 2.211 3.348 2.717 3.475 0.741 0.564 1.53 1.1 2.599 1.475 1.007 1.038 2.098 1.434 3.195 1.434 0.016 0 0.032 0 0.049 0 1.097 0.001 2.188-0.395 3.195-1.434 1.068-0.375 1.858-0.911 2.599-1.475 0.506-0.126 2.423-1.194 2.717-3.475 0.196-0.566 0.417-1.077 0.549-1.789 2.014-2.274 0.726-5.073-0.706-5.943zM23.083 14.696c-0.075 0.944-4.918-3.286-4.082-3.426 2.27-0.383 4.158 0.965 4.082 3.426zM17.765 4.837c0.042 0.212 0.089 0.346 0.144 0.385 0.269-0.293 0.489-0.593 0.836-0.875 0.001 0.166-0.082 0.345 0.124 0.477 0.186-0.254 0.437-0.481 0.771-0.673-0.161 0.281-0.028 0.367 0.059 0.483 0.255-0.222 0.497-0.446 0.967-0.62-0.128 0.159-0.308 0.314-0.117 0.496 0.262-0.166 0.526-0.332 1.149-0.451-0.14 0.159-0.431 0.318-0.255 0.477 0.329-0.128 0.694-0.221 1.097-0.274-0.193 0.161-0.354 0.319-0.196 0.444 0.352-0.11 0.838-0.258 1.313-0.131l-0.3 0.307c-0.033 0.041 0.703 0.032 1.189 0.039-0.177 0.25-0.358 0.492-0.464 0.921 0.048 0.050 0.289 0.022 0.516 0-0.233 0.498-0.637 0.623-0.732 0.836 0.142 0.109 0.339 0.081 0.555 0.006-0.167 0.351-0.519 0.591-0.797 0.875 0.070 0.051 0.193 0.081 0.483 0.046-0.257 0.277-0.567 0.53-0.934 0.757 0.065 0.076 0.289 0.073 0.496 0.078-0.333 0.331-0.761 0.502-1.163 0.718 0.2 0.139 0.343 0.106 0.496 0.105-0.284 0.237-0.767 0.36-1.215 0.503 0.085 0.134 0.17 0.171 0.353 0.209-0.474 0.267-1.154 0.145-1.345 0.281 0.046 0.134 0.177 0.221 0.333 0.294-0.764 0.045-2.852-0.028-3.252-1.633 0.782-0.872 2.208-1.895 4.662-3.16-1.909 0.649-3.632 1.513-5.073 2.703-1.695-0.801-0.526-2.822 0.3-3.625zM15.99 10.624v-0c1.202-0.013 2.69 0.897 2.685 1.755-0.005 0.757-1.045 1.37-2.675 1.358-1.596-0.019-2.671-0.77-2.667-1.503 0.003-0.604 1.303-1.644 2.658-1.609zM9.914 9.977c0.182-0.038 0.267-0.075 0.353-0.209-0.448-0.143-0.931-0.266-1.215-0.503 0.153 0.002 0.296 0.034 0.496-0.105-0.401-0.216-0.83-0.388-1.162-0.718 0.207-0.005 0.431-0.002 0.496-0.078-0.367-0.228-0.677-0.481-0.934-0.757 0.29 0.035 0.413 0.005 0.483-0.046-0.278-0.284-0.629-0.525-0.797-0.875 0.216 0.074 0.413 0.103 0.555-0.006-0.094-0.213-0.499-0.338-0.731-0.836 0.227 0.022 0.468 0.050 0.516 0-0.105-0.429-0.286-0.671-0.464-0.921 0.486-0.007 1.222 0.002 1.189-0.039l-0.3-0.307c0.475-0.128 0.96 0.021 1.313 0.131 0.158-0.125-0.003-0.283-0.196-0.444 0.403 0.054 0.768 0.146 1.097 0.274 0.176-0.159-0.114-0.318-0.255-0.477 0.623 0.118 0.887 0.284 1.149 0.451 0.19-0.182 0.011-0.337-0.117-0.496 0.47 0.174 0.712 0.399 0.967 0.62 0.086-0.117 0.22-0.202 0.059-0.483 0.334 0.192 0.585 0.419 0.771 0.673 0.206-0.132 0.123-0.311 0.124-0.477 0.347 0.282 0.567 0.582 0.836 0.875 0.054-0.040 0.102-0.173 0.144-0.385 0.827 0.802 1.996 2.823 0.3 3.625-1.442-1.189-3.164-2.054-5.072-2.702 2.453 1.265 3.879 2.288 4.66 3.159-0.4 1.605-2.489 1.678-3.252 1.633 0.156-0.073 0.287-0.16 0.333-0.294-0.192-0.136-0.871-0.014-1.345-0.281zM12.73 11.197c0.836 0.14-4.008 4.37-4.082 3.427-0.076-2.461 1.812-3.81 4.082-3.427zM7.644 20.622c-1.177-0.947-1.556-3.72 0.626-4.966 1.315-0.353 0.444 5.441-0.626 4.966zM12.233 25.585c-0.664 0.4-2.276 0.235-3.422-1.411-0.773-1.381-0.673-2.787-0.131-3.2 0.811-0.494 2.065 0.173 3.030 1.293 0.841 1.013 1.224 2.793 0.522 3.318zM10.928 19.543c-1.218-0.798-1.438-2.607-0.49-4.041s2.703-1.949 3.921-1.151c1.218 0.798 1.438 2.607 0.491 4.041s-2.703 1.949-3.921 1.151zM15.994 28.407c-1.46 0.063-2.892-1.196-2.874-1.633-0.022-0.64 1.778-1.14 2.952-1.11 1.181-0.052 2.766 0.381 2.769 0.954 0.020 0.556-1.437 1.814-2.847 1.789zM19 22.096c0.009 1.497-1.301 2.718-2.925 2.725s-2.947-1.199-2.955-2.697c0-0.009 0-0.019 0-0.029-0.009-1.497 1.301-2.717 2.925-2.725s2.947 1.2 2.955 2.697c0 0.010 0 0.019 0 0.029zM17.156 18.248c-0.947-1.434-0.728-3.243 0.491-4.041s2.974-0.283 3.921 1.15c0.947 1.434 0.728 3.243-0.491 4.041s-2.974 0.283-3.921-1.15zM23.111 24.254c-1.258 1.746-2.962 1.814-3.596 1.328-0.664-0.626-0.157-2.57 0.753-3.636l-0-0c1.041-1.176 2.154-1.943 2.93-1.343 0.522 0.52 0.828 2.479-0.086 3.651zM24.096 20.55c-1.070 0.476-1.942-5.318-0.626-4.966 2.182 1.246 1.803 4.019 0.626 4.966z\"},\"child\":[]}]})(props);\n};\nexport function DiReact (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 34 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.314 15.987c0 1.321-1.071 2.392-2.392 2.392s-2.392-1.071-2.392-2.392c0-1.321 1.071-2.392 2.392-2.392s2.392 1.071 2.392 2.392z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.922 24.783c1.878 1.826 3.729 2.906 5.221 2.906 0.489 0 0.952-0.103 1.337-0.334 1.337-0.772 1.826-2.701 1.363-5.453-0.077-0.489-0.18-0.977-0.309-1.492 0.514-0.154 0.977-0.309 1.44-0.463 2.598-1.003 4.038-2.392 4.038-3.909 0-1.543-1.44-2.932-4.038-3.909-0.463-0.18-0.926-0.334-1.44-0.463 0.129-0.514 0.232-1.003 0.309-1.492 0.437-2.803-0.051-4.758-1.389-5.53-0.386-0.231-0.849-0.334-1.337-0.334-1.466 0-3.344 1.080-5.221 2.906-1.852-1.826-3.704-2.906-5.195-2.906-0.489 0-0.952 0.103-1.337 0.334-1.337 0.772-1.826 2.701-1.363 5.453 0.077 0.489 0.18 0.977 0.309 1.492-0.514 0.154-0.977 0.309-1.44 0.463-2.598 1.003-4.038 2.392-4.038 3.909 0 1.543 1.44 2.932 4.038 3.909 0.463 0.18 0.926 0.334 1.44 0.463-0.129 0.514-0.232 1.003-0.309 1.492-0.437 2.752 0.051 4.707 1.363 5.453 0.386 0.232 0.849 0.334 1.337 0.334 1.492 0.051 3.344-1.029 5.221-2.829v0zM15.481 21.311c0.463 0.026 0.952 0.026 1.44 0.026s0.977 0 1.44-0.026c-0.463 0.617-0.952 1.183-1.44 1.723-0.489-0.54-0.977-1.106-1.44-1.723zM12.292 18.662c0.257 0.437 0.489 0.849 0.772 1.26-0.797-0.103-1.543-0.232-2.263-0.386 0.232-0.694 0.489-1.415 0.797-2.135 0.206 0.411 0.437 0.849 0.694 1.26zM10.8 12.463c0.72-0.154 1.466-0.283 2.263-0.386-0.257 0.412-0.514 0.823-0.772 1.26s-0.489 0.849-0.694 1.286c-0.334-0.746-0.592-1.466-0.797-2.161zM12.215 15.987c0.334-0.694 0.694-1.389 1.106-2.083 0.386-0.669 0.823-1.337 1.26-2.006 0.772-0.051 1.543-0.077 2.341-0.077 0.823 0 1.595 0.026 2.341 0.077 0.463 0.669 0.874 1.337 1.26 2.006 0.412 0.694 0.772 1.389 1.106 2.083-0.334 0.694-0.694 1.389-1.106 2.083-0.386 0.669-0.823 1.337-1.26 2.006-0.772 0.051-1.543 0.077-2.341 0.077-0.823 0-1.595-0.026-2.341-0.077-0.463-0.669-0.874-1.337-1.26-2.006-0.412-0.695-0.772-1.389-1.106-2.083v0zM22.272 14.598l-0.694-1.286c-0.257-0.437-0.489-0.849-0.772-1.26 0.797 0.103 1.543 0.232 2.263 0.386-0.231 0.72-0.489 1.44-0.797 2.161v0zM22.272 17.376c0.309 0.72 0.566 1.44 0.797 2.135-0.72 0.154-1.466 0.283-2.263 0.386 0.257-0.412 0.514-0.823 0.772-1.26 0.232-0.386 0.463-0.823 0.694-1.26v0zM22.863 26.301c-0.206 0.129-0.463 0.18-0.746 0.18-1.26 0-2.829-1.029-4.372-2.572 0.746-0.797 1.466-1.698 2.186-2.701 1.209-0.103 2.366-0.283 3.447-0.54 0.129 0.463 0.206 0.926 0.283 1.389 0.36 2.186 0.077 3.755-0.797 4.244zM24.201 12.746c2.881 0.823 4.604 2.083 4.604 3.241 0 1.003-1.183 2.006-3.266 2.804-0.412 0.154-0.874 0.309-1.337 0.437-0.334-1.055-0.746-2.135-1.26-3.241 0.514-1.106 0.952-2.186 1.26-3.241v0zM22.143 5.493c0.283 0 0.514 0.051 0.746 0.18 0.849 0.489 1.157 2.032 0.797 4.244-0.077 0.437-0.18 0.9-0.283 1.389-1.080-0.232-2.238-0.412-3.447-0.54-0.694-1.003-1.44-1.903-2.186-2.701 1.543-1.518 3.112-2.572 4.372-2.572zM18.362 10.663c-0.463-0.026-0.952-0.026-1.44-0.026s-0.977 0-1.44 0.026c0.463-0.617 0.952-1.183 1.44-1.723 0.489 0.54 0.977 1.132 1.44 1.723v0zM10.98 5.673c0.206-0.129 0.463-0.18 0.746-0.18 1.26 0 2.829 1.029 4.372 2.572-0.746 0.797-1.466 1.697-2.186 2.701-1.209 0.103-2.366 0.283-3.447 0.54-0.129-0.463-0.206-0.926-0.283-1.389-0.36-2.186-0.077-3.729 0.797-4.244v0zM9.643 19.228c-2.881-0.823-4.604-2.083-4.604-3.241 0-1.003 1.183-2.006 3.266-2.803 0.412-0.154 0.874-0.309 1.337-0.437 0.334 1.055 0.746 2.135 1.26 3.241-0.514 1.106-0.952 2.212-1.26 3.241zM10.183 22.057c0.077-0.437 0.18-0.9 0.283-1.389 1.080 0.232 2.238 0.412 3.447 0.54 0.694 1.003 1.44 1.903 2.186 2.701-1.543 1.517-3.112 2.572-4.372 2.572-0.283 0-0.514-0.051-0.746-0.18-0.875-0.489-1.157-2.058-0.797-4.244z\"},\"child\":[]}]})(props);\n};\nexport function DiRedhat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 34 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.713 23.187c0.065 0.063 0.177 0.277 0.040 0.549-0.077 0.144-0.161 0.244-0.308 0.363-0.179 0.143-0.527 0.308-1.005 0.004-0.257-0.162-0.274-0.217-0.628-0.17-0.253 0.032-0.354-0.225-0.263-0.437 0.092-0.212 0.465-0.383 0.931-0.111 0.21 0.123 0.536 0.384 0.821 0.152 0.119-0.094 0.19-0.157 0.354-0.347 0.008-0.008 0.018-0.013 0.030-0.013 0.010-0 0.020 0.004 0.027 0.009z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.137 7.996h-0.073c-0.137 0-0.279 0.008-0.424 0.024-0.484 0.048-0.907 0.168-1.191 0.318-0.013 0.006-0.023 0.020-0.023 0.035 0 0.020 0.018 0.038 0.040 0.038h0.007c0.081-0.013 0.164-0.024 0.251-0.033 0.786-0.079 1.448 0.052 1.481 0.291 0.024 0.181-0.319 0.373-0.824 0.49-0.027 0.007-0.044 0.029-0.044 0.053 0 0.026 0.017 0.048 0.044 0.054 0.212 0.061 0.459 0.1 0.721 0.106 0.814 0.017 1.479-0.276 1.489-0.655s-0.64-0.702-1.453-0.721z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.613 10.010c-0.619 0-1.062 0.081-1.446 0.091s-0.681-0.272-0.819-0.445c-0.113-0.141-0.477-0.276-0.675 0.178-0.2 0.459 0.17 0.952 0.476 1.017 0 0 0.51 0.946 0.896 0.533 0.274-0.291 0.426-0.448 1.89-0.554 0.697-0.052 0.769-0.213 0.747-0.384-0.023-0.202-0.443-0.436-1.070-0.436z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.922 4.797c-7 0-12.674 5.67-12.674 12.667 0 1.415 0.232 2.777 0.661 4.048h0.882c0.781 0 1.507-0.188 2.117-0.506 0.153-0.077 0.328-0.127 0.513-0.127 0.389 0 0.723 0.152 0.936 0.5 0.182 0.316 0.353 0.503 0.563 0.635 0.181 0.117 0.428 0.212 0.781 0.195 0.167-0.007 0.419-0.047 0.483-0.221 0.072-0.199-0.018-0.349-0.262-0.449-0.342-0.143-0.435-0.354-0.616-0.676-0.183-0.323-0.577-0.495-0.639-1.102-0.061-0.599 0.408-1.353 1.335-1.113 0.67 0.174 1.102 1.001 1.265 1.285 0.084 0.149 0.385 0.323 0.627 0.101 0.242-0.224 0.465-0.224 0.648 0.061 0.155 0.24 1.295 1.759 2.529 1.799 1.254 0.040 1.923-0.283 2.469-0.264 0.383 0.015 0.569 0.208 0.788 0.242 0.385 0.062 0.659-0.287 1.084-0.265 0.343 0.015 0.718 0.246 1.103 0.246s1.194-0.464 1.184-0.273c-0.020 0.339-0.28 0.937-0.343 1.214-0.045 0.191-0.006 0.655-0.121 1.027-0.103 0.379-0.456 0.859-0.548 0.996-0.31 0.464-0.536 0.605-0.79 1.091-0.282 0.546-0.747 1.051-0.869 1.214-0.155 0.208 0.878-0.006 1.244-0.355 0.311-0.294 0.857-1.184 1.72-1.374 0.582-0.129 0.699-0.352 0.628-0.559-0.012-0.023-0.018-0.053-0.018-0.081 0-0.079 0.046-0.148 0.114-0.181 0.601-0.25 1.417-0.405 2.314-0.405 0.523 0 1.042 0.070 1.53 0.182 1.287-1.984 2.034-4.346 2.034-6.884-0.001-6.997-5.675-12.667-12.673-12.667zM27.227 17.214c-0.607 3.334-6.065 4.456-11.373 2.85-5.058-1.53-9.499-4.581-8.985-6.366 0.298-1.041 1.949-1.484 4.148-1.246-0.333 0.68-0.309 1.479 1.147 2.369 1.78 1.010 4.788 1.873 5.601 1.788 0.303-0.030 0.576-0.181 0.303-0.363s-0.515-0.546-0.667-1.182c-0.086-0.354-0.182-0.849-2.092-1.212-4.102-0.782-3.943-1.94-3.822-2.608 0 0 0.364-1.637 0.517-2.213 0.151-0.576 0.542-1.897 3.183-1.303 1.526 0.344 2.349-0.084 2.77-0.191 1.143-0.294 2.406-0.091 3.104 0.626 0.722 0.743 1.717 3.035 2.194 4.749 0.243 0.87 0.178 1.288 0.057 1.582-0.088 0.2-0.14 0.327-0.44 0.837-0.052 0.091-0.010 0.188 0.106 0.129 0.793-0.407 0.971-0.945 1.096-1.365 2.153 0.485 3.43 1.605 3.154 3.12z\"},\"child\":[]}]})(props);\n};\nexport function DiRedis (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.824 7.518c0 0.007 0.103 0.202 0.232 0.441 0.126 0.235 0.219 0.437 0.205 0.447s-0.371 0.146-0.792 0.295c-0.424 0.152-0.765 0.282-0.759 0.288s0.487 0.056 1.067 0.109c0.699 0.066 1.067 0.113 1.093 0.139 0.023 0.023 0.182 0.282 0.358 0.57l0.315 0.53 0.056-0.133c0.030-0.070 0.126-0.302 0.215-0.51l0.156-0.381 0.841-0.089c0.46-0.050 0.871-0.089 0.914-0.089 0.040-0.003 0.073-0.013 0.073-0.030 0-0.013-0.311-0.142-0.696-0.285-0.381-0.142-0.696-0.265-0.696-0.268s0.083-0.205 0.182-0.447 0.175-0.447 0.169-0.454c-0.007-0.010-0.331 0.089-0.715 0.215l-0.702 0.229-0.745-0.295c-0.732-0.288-0.772-0.301-0.772-0.282zM19.452 10.038c-0.891 0.354-1.623 0.649-1.63 0.656s0.656 0.275 1.474 0.6l1.484 0.586 0.159-0.063c1.653-0.643 3.157-1.242 3.15-1.249-0.023-0.027-2.948-1.172-2.981-1.172-0.023 0.003-0.768 0.291-1.656 0.643zM10.899 9.694c-0.855 0.089-1.573 0.338-1.878 0.653-0.209 0.215-0.242 0.398-0.113 0.619 0.192 0.331 0.822 0.61 1.693 0.752 0.391 0.066 1.54 0.056 1.938-0.013 0.931-0.162 1.534-0.46 1.676-0.835 0.053-0.139 0.053-0.159 0-0.295-0.139-0.364-0.732-0.666-1.61-0.818-0.444-0.076-1.272-0.106-1.706-0.063zM26.819 10.724c-0.043 0.056-0.202 0.182-0.354 0.285-0.451 0.291-1.034 0.556-4.651 2.113-2.544 1.093-3.193 1.381-4.074 1.805-0.977 0.467-1.381 0.596-1.872 0.596-0.441 0-0.702-0.076-1.524-0.441-0.328-0.146-1.67-0.709-2.981-1.255-5.734-2.385-5.84-2.435-6.148-2.766l-0.129-0.142v2.256l0.146 0.139c0.139 0.136 0.613 0.421 0.782 0.47 0.046 0.013 0.358 0.142 0.696 0.288s1.984 0.835 3.66 1.534c2.773 1.156 3.405 1.421 4.349 1.835 0.5 0.222 0.778 0.278 1.249 0.262 0.345-0.013 0.447-0.033 0.749-0.136 0.195-0.066 0.533-0.209 0.752-0.318 0.719-0.361 1.59-0.745 5.058-2.239 3.263-1.408 3.687-1.603 4.041-1.848 0.364-0.258 0.348-0.195 0.348-1.451 0-0.6-0.003-1.090-0.010-1.090s-0.043 0.046-0.086 0.103zM15.397 12.195c-1.335 0.205-2.441 0.381-2.461 0.388-0.030 0.010 3.326 1.421 3.468 1.457 0.033 0.010 1.534-2.15 1.534-2.206 0-0.030 0.003-0.033-2.541 0.361zM26.838 14.428c-0.030 0.050-0.169 0.172-0.305 0.268-0.434 0.298-1.086 0.596-5.052 2.302-2.282 0.984-2.998 1.299-3.677 1.63-1.1 0.533-1.365 0.619-1.954 0.616-0.457-0.003-0.739-0.076-1.345-0.351-0.583-0.268-1.236-0.543-3.856-1.63-4.558-1.891-5.085-2.127-5.406-2.438l-0.159-0.149v2.219l0.179 0.169c0.292 0.272 0.262 0.258 5.154 2.296 1.795 0.745 3.488 1.457 3.76 1.58 0.722 0.325 0.931 0.401 1.216 0.46 0.666 0.136 1.159 0.026 2.239-0.5 0.702-0.341 1.56-0.722 3.637-1.616 3.948-1.703 4.922-2.14 5.21-2.332 0.103-0.073 0.242-0.189 0.311-0.265l0.123-0.136v-1.11c0-0.61-0.003-1.11-0.010-1.11-0.003 0-0.033 0.043-0.066 0.096zM26.802 18.061c-0.262 0.328-0.785 0.58-4.856 2.332-2.657 1.146-3.465 1.504-4.339 1.921-0.918 0.437-1.219 0.53-1.749 0.53-0.361 0-0.729-0.086-1.136-0.265-0.951-0.417-1.577-0.682-4.353-1.838-3.157-1.315-4.167-1.742-4.505-1.911-0.315-0.159-0.636-0.384-0.709-0.5l-0.070-0.106v1.13c0 1.295-0.023 1.199 0.325 1.434 0.384 0.258 0.954 0.51 4.744 2.083 2.65 1.1 3.604 1.501 4.074 1.713 0.961 0.431 1.216 0.5 1.752 0.47 0.49-0.023 0.812-0.129 1.66-0.533 0.884-0.424 1.537-0.715 4.422-1.958 4.008-1.726 4.442-1.934 4.747-2.286l0.106-0.119v-1.106c0-0.61-0.003-1.11-0.007-1.11-0.007 0-0.053 0.053-0.106 0.119z\"},\"child\":[]}]})(props);\n};\nexport function DiRequirejs (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 4.567c-5.377 0-9.736 4.359-9.736 9.736s4.358 9.736 9.736 9.736c5.377 0 9.736-4.359 9.736-9.736s-4.359-9.736-9.736-9.736zM16 21.695c-4.074 0-7.392-3.314-7.392-7.392s3.317-7.392 7.392-7.392c4.077 0 7.392 3.314 7.392 7.392s-3.315 7.392-7.392 7.392zM16 11.057c-1.792 0-3.245 1.452-3.245 3.245 0 1.791 1.453 3.245 3.245 3.245s3.245-1.454 3.245-3.245c0-1.793-1.453-3.245-3.245-3.245zM16 7.812c-3.584 0-6.49 2.906-6.49 6.49s2.906 6.491 6.49 6.491c3.584 0 6.49-2.906 6.49-6.491s-2.907-6.49-6.49-6.49zM16 18.449c-2.285 0-4.147-1.86-4.147-4.147s1.862-4.147 4.147-4.147c2.286 0 4.147 1.86 4.147 4.147s-1.861 4.147-4.147 4.147zM21.95 26.562l-2.524-1.082v0.721h-4.973l-1.029-1.029c-0.070-0.070-0.185-0.070-0.255 0s-0.070 0.184 0 0.255l0.774 0.774h-0.392l-1.029-1.029c-0.070-0.070-0.185-0.070-0.255 0s-0.070 0.184 0 0.255l0.774 0.774h-0.392l-1.029-1.029c-0.070-0.070-0.185-0.070-0.255 0s-0.070 0.184 0 0.255l0.774 0.774h-0.392l-1.029-1.029c-0.070-0.070-0.185-0.070-0.255 0s-0.070 0.184 0 0.255l0.774 0.774h-0.827c-0.203 0-0.361 0.211-0.361 0.361s0.163 0.361 0.361 0.361h0.827l-0.774 0.774c-0.070 0.070-0.070 0.184 0 0.255s0.185 0.070 0.255 0l1.029-1.029h0.392l-0.774 0.774c-0.070 0.070-0.070 0.184 0 0.255s0.185 0.070 0.255 0l1.029-1.029h0.392l-0.774 0.774c-0.070 0.070-0.070 0.184 0 0.255s0.185 0.070 0.255 0l1.029-1.029h0.392l-0.774 0.774c-0.070 0.070-0.070 0.184 0 0.255s0.185 0.070 0.255 0l1.029-1.029h4.973v0.721l2.524-1.082z\"},\"child\":[]}]})(props);\n};\nexport function DiResponsive (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22.624 11.916c0-0.58 0.002-1.129-0-1.677-0.002-0.545-0.24-0.784-0.791-0.784-4.983-0.001-9.965-0.001-14.947 0-0.537 0-0.772 0.236-0.772 0.768-0.001 1.566-0 3.132-0 4.698 0 0.090 0 0.181 0 0.289 0.338 0 0.655 0 0.999 0 0-1.581 0-3.151 0-4.731 4.849 0 9.67 0 14.52 0 0 0.486 0 0.957 0 1.437 0.338 0 0.647 0 0.992 0zM19.106 18.397c-3.301 0-6.585 0-9.878 0 0 0.662 0 1.306 0 1.957 3.302 0 6.585 0 9.878 0 0-0.66 0-1.306 0-1.957zM16.863 22.644c0.025-0.031 0.050-0.062 0.075-0.094-0.64-0.322-0.841-0.876-0.843-1.522-1.17 0-2.295 0-3.426 0-0.071 0.308-0.084 0.637-0.224 0.9-0.135 0.255-0.399 0.443-0.66 0.716 1.748 0 3.413 0 5.078 0zM27.343 22.017c-0.199 0.515-0.58 0.675-1.119 0.668-1.823-0.022-3.646-0.008-5.469-0.009-0.665-0-0.97-0.305-0.97-0.977-0.001-2.712-0.001-5.424-0-8.135 0-0.677 0.297-0.975 0.968-0.976 1.841-0.001 3.683 0.011 5.524-0.008 0.537-0.005 0.898 0.175 1.067 0.695 0 2.914 0 5.827 0 8.741zM26.778 21.024c0-2.589 0-5.147 0-7.707-2.163 0-4.303 0-6.45 0 0 2.579 0 5.143 0 7.707 2.162 0 4.301 0 6.45 0zM25.097 21.825c0.005-0.211-0.157-0.391-0.362-0.402-0.217-0.012-0.409 0.164-0.415 0.382-0.006 0.22 0.174 0.403 0.394 0.401 0.214-0.002 0.378-0.165 0.383-0.381zM22.787 21.82c0.002-0.221-0.18-0.401-0.399-0.397-0.203 0.004-0.379 0.183-0.383 0.388-0.004 0.217 0.18 0.399 0.401 0.395 0.208-0.004 0.38-0.177 0.381-0.386zM23.563 21.423c-0.204-0.007-0.388 0.163-0.398 0.369-0.011 0.223 0.158 0.408 0.379 0.414 0.213 0.006 0.386-0.155 0.397-0.367 0.011-0.223-0.158-0.408-0.378-0.416zM5.187 23.117c-0.404-0.121-0.533-0.393-0.529-0.809 0.016-1.904 0.006-3.809 0.007-5.713 0-0.498 0.192-0.701 0.695-0.705 0.833-0.008 1.666-0.007 2.5-0 0.483 0.004 0.689 0.214 0.689 0.689 0.002 1.941-0.004 3.882 0.005 5.823 0.002 0.38-0.18 0.59-0.508 0.715-0.953 0-1.906 0-2.859 0zM5.050 17.135c0 1.603 0 3.181 0 4.762 1.049 0 2.079 0 3.112 0 0-1.596 0-3.174 0-4.762-1.043 0-2.066 0-3.112 0zM22.624 11.916c-0.345 0-0.654 0-0.992 0 0-0.48 0-0.95 0-1.437-4.85 0-9.671 0-14.52 0 0 1.58 0 3.15 0 4.731-0.345 0-0.661 0-0.999 0 0-0.108 0-0.198 0-0.289 0-1.566-0-3.132 0-4.698 0-0.531 0.235-0.767 0.772-0.768 4.982-0.001 9.965-0.001 14.947 0 0.551 0 0.789 0.239 0.791 0.784 0.002 0.549 0 1.097 0 1.677zM19.106 18.397c0 0.651 0 1.297 0 1.957-3.293 0-6.577 0-9.878 0 0-0.651 0-1.295 0-1.957 3.294 0 6.577 0 9.878 0zM14.807 19.357c-0.006-0.248-0.216-0.439-0.468-0.427-0.24 0.012-0.424 0.21-0.417 0.45 0.006 0.234 0.209 0.434 0.44 0.435 0.242 0.001 0.451-0.214 0.446-0.458zM16.863 22.644c-1.665 0-3.331 0-5.078 0 0.261-0.273 0.525-0.46 0.66-0.716 0.139-0.263 0.153-0.592 0.224-0.9 1.132 0 2.256 0 3.426 0 0.001 0.646 0.203 1.2 0.843 1.522-0.025 0.031-0.050 0.062-0.075 0.094zM6.801 22.456c0 0.133-0.108 0.24-0.24 0.24s-0.24-0.108-0.24-0.24c0-0.133 0.108-0.24 0.24-0.24s0.24 0.108 0.24 0.24z\"},\"child\":[]}]})(props);\n};\nexport function DiRor (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.113 27.421h11.072c0 0-2.456-5.578-1.832-10.698s4.662-7.451 6.951-7.701c2.289-0.25 3.538 1.166 3.538 1.166l0.5-0.749c0 0-3.288-3.33-7.451-2.955s-7.035 3.122-8.824 6.452c-1.79 3.33-2.831 5.661-3.538 9.158s-0.416 5.328-0.416 5.328zM4.907 21.843l2.164 0.167-0.375 2.164-2.040-0.25 0.25-2.081zM8.32 17.264l0.583-1.623-1.915-0.749-0.624 1.748 1.956 0.624zM11.026 11.686l1.124-1.332-1.457-0.957-1.165 1.29 1.498 0.999zM13.981 6.525l0.999 1.207 1.374-0.791-0.999-1.124-1.374 0.708zM18.851 5.151l0.25 1.207 1.707-0.042-0.167-1.082-1.79-0.083zM24.637 6.441l-0.042 0.749 1.166 0.624 0.25-0.375-1.373-0.999zM24.387 9.647v0.624l1.124 0.125v-0.5l-1.124-0.25zM20.808 10.188l0.541 0.999 0.791-0.624-0.166-0.666-1.165 0.292zM19.101 11.478l0.832 1.249-0.499 0.874-1.207-1.332 0.874-0.791zM17.436 14.933l-0.541 1.082 1.415 1.207 0.333-1.374-1.207-0.916zM16.853 18.721l-0.083 1.457 1.748 0.749-0.083-1.374-1.582-0.833zM17.353 23.882l0.417 1.499 2.206 0.125-0.791-1.623h-1.832z\"},\"child\":[]}]})(props);\n};\nexport function DiRubyRough (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.248 16.554c0.132-0.413 0.289-1.255 0.655-1.995 1.781-3.594 4.536-6.208 8.215-7.796 0.71-0.306 1.555-0.404 2.339-0.408 0.98-0.005 1.637 0.677 1.723 1.666 0.045 0.515 0.039 1.087-0.138 1.561-1.743 4.662-5.032 7.784-9.656 9.538-0.18 0.068-0.381 0.086-0.575 0.112-1.574 0.216-2.587-0.676-2.563-2.678zM18.349 13.099c2.556-0.179 5.069-0.355 7.702-0.54-0.192-0.183-0.3-0.303-0.425-0.403-2.292-1.838-4.59-3.668-6.873-5.517-0.226-0.183-0.366-0.471-0.668-0.871 0.981 0 1.774-0.009 2.567 0.002 0.957 0.014 1.937-0.079 2.867 0.093 2.011 0.372 3.084 1.669 3.046 3.713-0.035 1.916-0.233 3.829-0.375 5.742-0.217 2.929-0.445 5.858-0.671 8.786-0.039 0.505-0.086 1.010-0.137 1.61-1.063-0.947-2.080-1.852-3.095-2.758-0.131-0.117-0.24-0.268-0.385-0.361-1.241-0.79-1.759-1.968-2.041-3.376-0.368-1.84-0.907-3.646-1.371-5.467-0.052-0.204-0.090-0.412-0.142-0.655zM8.765 24.301c0.547-0.076 1.059-0.108 1.547-0.234 0.192-0.049 0.415-0.283 0.477-0.479 0.46-1.455 0.882-2.923 1.317-4.385 0.038-0.128 0.091-0.252 0.161-0.443 2.662 0.852 5.303 1.698 8.022 2.568-1.415 1.428-2.92 2.625-4.602 3.701 2.997 0.229 5.994 0.458 8.991 0.687 0 0.038 0 0.077 0.001 0.115-0.646 0.046-1.292 0.094-1.938 0.137-3.812 0.251-7.623 0.501-11.435 0.75-0.606 0.040-1.213 0.106-1.818 0.095-2.566-0.047-4.020-1.453-4.053-4.027-0.019-1.446 0.13-2.894 0.222-4.34 0.007-0.109 0.163-0.209 0.25-0.313 0.129 0.115 0.317 0.205 0.38 0.349 0.766 1.776 1.514 3.56 2.267 5.341 0.061 0.143 0.126 0.284 0.211 0.478z\"},\"child\":[]}]})(props);\n};\nexport function DiRuby (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.456 27.25c6.215 0.848 12.319 1.682 18.544 2.532-2.121-3.531-4.187-6.972-6.27-10.441-4.081 2.63-8.124 5.235-12.273 7.909zM29.755 7.705c-0.548 0.823-1.097 1.645-1.644 2.468-1.879 2.827-3.758 5.654-5.635 8.482-0.105 0.158-0.24 0.283-0.093 0.525 1.814 2.995 3.613 5.999 5.417 9 0.285 0.474 0.572 0.946 0.941 1.401 0.364-7.284 0.729-14.568 1.094-21.852-0.027-0.008-0.054-0.016-0.080-0.023zM4.995 17.043c0.085 0.081 0.296 0.127 0.395 0.079 1.74-0.855 3.491-1.691 5.192-2.617 0.555-0.302 0.982-0.842 1.46-1.281 1.583-1.452 3.164-2.907 4.744-4.362 0.097-0.089 0.211-0.176 0.269-0.288 0.568-1.109 1.125-2.224 1.703-3.371-0.689-0.259-1.341-0.512-2.002-0.742-0.089-0.031-0.231 0.031-0.328 0.085-1.53 0.854-3.088 1.663-4.569 2.595-0.741 0.466-1.345 1.154-2.001 1.752-1.058 0.965-2.114 1.933-3.156 2.915-0.277 0.261-0.529 0.558-0.744 0.872-0.713 1.038-1.404 2.091-2.127 3.173 0.404 0.419 0.772 0.819 1.165 1.191zM11.353 15.625c-0.865 3.656-1.726 7.292-2.615 11.047 4.168-2.686 8.241-5.31 12.286-7.916-3.219-1.042-6.428-2.081-9.671-3.13zM28.692 7.74c-3.522 0.588-6.96 1.163-10.442 1.744 1.186 2.885 2.348 5.712 3.544 8.62 2.313-3.475 4.58-6.88 6.899-10.364zM11.498 14.877c3.172 1.030 6.28 2.039 9.479 3.077-1.188-2.894-2.335-5.687-3.506-8.538-1.995 1.824-3.959 3.62-5.973 5.461zM5.126 19.175c-1.125 2.689-2.211 5.286-3.317 7.93 2.126-0.063 4.187-0.124 6.318-0.187-1.001-2.582-1.982-5.114-3.001-7.744zM8.201 25.080c0.026-0.005 0.052-0.012 0.079-0.017 0.758-3.154 1.528-6.287 2.303-9.565-1.728 0.898-3.376 1.754-5.069 2.635 0.864 2.246 1.785 4.615 2.688 6.947zM27.417 7.229c-1.009-0.267-2.018-0.535-3.027-0.801-1.451-0.381-2.903-0.758-4.353-1.143-0.181-0.048-0.312-0.080-0.419 0.139-0.512 1.050-1.041 2.092-1.561 3.138-0.016 0.032-0.013 0.074-0.025 0.155 3.142-0.476 6.263-0.949 9.383-1.422 0.001-0.022 0.001-0.044 0.002-0.066zM21.564 4.841c2.709 0.75 5.419 1.499 8.223 2.275-0.472-1.344-0.909-2.59-1.359-3.872-2.303 0.511-4.577 1.015-6.852 1.519-0.004 0.026-0.008 0.051-0.012 0.077zM8.899 27.856c-1.019-0.117-2.064-0.009-3.097 0.008-0.849 0.015-1.697 0.047-2.545 0.073-0.088 0.003-0.175 0.020-0.262 0.114 7.015 0.649 14.030 1.297 21.044 1.946 0.005-0.031 0.009-0.063 0.014-0.094-2.249-0.307-4.497-0.614-6.746-0.921-2.802-0.383-5.599-0.803-8.408-1.127zM1.947 24.685c0.904-2.097 1.804-4.197 2.712-6.292 0.091-0.21 0.084-0.353-0.094-0.522-0.38-0.361-0.732-0.751-1.147-1.182-0.561 2.77-1.108 5.47-1.655 8.171 0.020 0.009 0.041 0.019 0.061 0.029 0.042-0.067 0.093-0.131 0.124-0.203zM19.763 4.287c1.524-0.393 3.071-0.701 4.608-1.044 0.099-0.022 0.197-0.055 0.295-0.083-0.005-0.025-0.010-0.050-0.015-0.075-2.165 0.291-4.331 0.583-6.606 0.889 0.62 0.271 1.098 0.473 1.718 0.314z\"},\"child\":[]}]})(props);\n};\nexport function DiRust (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 27 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M23.738 16.031l-0.873-0.54c-0.007-0.085-0.015-0.17-0.025-0.254l0.75-0.7c0.076-0.071 0.11-0.176 0.090-0.278s-0.092-0.187-0.189-0.223l-0.959-0.359c-0.024-0.083-0.049-0.165-0.075-0.248l0.598-0.831c0.061-0.084 0.073-0.194 0.034-0.291s-0.127-0.165-0.229-0.182l-1.011-0.165c-0.039-0.077-0.080-0.152-0.122-0.227l0.425-0.933c0.043-0.095 0.035-0.205-0.024-0.292s-0.155-0.137-0.26-0.133l-1.026 0.036c-0.053-0.066-0.107-0.132-0.162-0.197l0.236-1c0.024-0.102-0.006-0.208-0.080-0.282s-0.18-0.104-0.281-0.080l-0.999 0.236c-0.065-0.055-0.131-0.109-0.197-0.162l0.036-1.026c0.004-0.104-0.047-0.203-0.133-0.26s-0.197-0.067-0.291-0.024l-0.933 0.425c-0.075-0.041-0.151-0.082-0.227-0.122l-0.165-1.011c-0.017-0.103-0.085-0.19-0.182-0.229s-0.206-0.027-0.29 0.034l-0.831 0.598c-0.082-0.026-0.164-0.051-0.247-0.075l-0.359-0.959c-0.036-0.098-0.121-0.17-0.223-0.19s-0.207 0.014-0.278 0.090l-0.7 0.751c-0.084-0.009-0.169-0.018-0.254-0.025l-0.54-0.873c-0.055-0.088-0.152-0.142-0.256-0.142s-0.201 0.054-0.255 0.142l-0.54 0.873c-0.085 0.007-0.17 0.016-0.255 0.025l-0.7-0.751c-0.071-0.076-0.176-0.11-0.278-0.090s-0.187 0.092-0.223 0.19l-0.359 0.959c-0.083 0.024-0.165 0.049-0.247 0.075l-0.831-0.598c-0.085-0.061-0.195-0.074-0.291-0.034s-0.165 0.127-0.181 0.229l-0.165 1.011c-0.076 0.039-0.152 0.080-0.227 0.122l-0.933-0.425c-0.095-0.043-0.205-0.034-0.292 0.024s-0.137 0.156-0.133 0.26l0.036 1.026c-0.066 0.053-0.132 0.107-0.197 0.162l-1-0.236c-0.101-0.024-0.208 0.007-0.281 0.080s-0.104 0.18-0.080 0.282l0.236 1c-0.055 0.065-0.109 0.13-0.162 0.197l-1.026-0.036c-0.104-0.003-0.202 0.047-0.26 0.133s-0.067 0.197-0.024 0.292l0.425 0.933c-0.041 0.075-0.082 0.15-0.122 0.227l-1.011 0.165c-0.103 0.017-0.189 0.085-0.229 0.182s-0.027 0.206 0.034 0.291l0.598 0.831c-0.026 0.082-0.051 0.165-0.075 0.248l-0.959 0.359c-0.097 0.036-0.169 0.121-0.189 0.223s0.014 0.207 0.090 0.278l0.75 0.7c-0.009 0.085-0.018 0.169-0.025 0.254l-0.873 0.54c-0.088 0.055-0.142 0.151-0.142 0.256s0.054 0.201 0.142 0.255l0.873 0.54c0.007 0.085 0.016 0.17 0.025 0.254l-0.75 0.7c-0.076 0.071-0.11 0.176-0.090 0.278s0.092 0.186 0.189 0.223l0.959 0.359c0.024 0.083 0.049 0.166 0.075 0.248l-0.598 0.831c-0.061 0.085-0.074 0.194-0.034 0.29s0.127 0.165 0.229 0.182l1.011 0.165c0.039 0.077 0.080 0.152 0.122 0.227l-0.425 0.932c-0.043 0.095-0.034 0.205 0.024 0.292s0.157 0.137 0.26 0.133l1.026-0.036c0.053 0.067 0.107 0.132 0.162 0.197l-0.236 1c-0.024 0.102 0.006 0.207 0.080 0.281s0.18 0.104 0.281 0.080l1-0.235c0.065 0.055 0.131 0.109 0.197 0.162l-0.036 1.027c-0.004 0.104 0.047 0.203 0.133 0.26s0.197 0.067 0.292 0.023l0.933-0.425c0.075 0.042 0.151 0.082 0.227 0.122l0.165 1.011c0.017 0.103 0.085 0.19 0.182 0.229s0.206 0.027 0.291-0.033l0.831-0.599c0.082 0.026 0.165 0.051 0.248 0.075l0.359 0.959c0.036 0.097 0.121 0.169 0.223 0.189s0.207-0.014 0.278-0.090l0.7-0.75c0.084 0.010 0.17 0.018 0.255 0.025l0.54 0.873c0.054 0.088 0.151 0.142 0.255 0.142s0.201-0.054 0.255-0.142l0.54-0.873c0.085-0.007 0.17-0.016 0.254-0.025l0.7 0.75c0.071 0.076 0.176 0.11 0.278 0.090s0.186-0.092 0.223-0.189l0.359-0.959c0.083-0.024 0.166-0.049 0.248-0.075l0.831 0.599c0.084 0.061 0.194 0.073 0.29 0.033s0.165-0.127 0.182-0.229l0.165-1.011c0.076-0.040 0.152-0.081 0.227-0.122l0.933 0.425c0.095 0.043 0.205 0.035 0.291-0.023s0.137-0.156 0.133-0.26l-0.036-1.027c0.066-0.053 0.132-0.107 0.197-0.162l1 0.235c0.101 0.024 0.208-0.006 0.281-0.080s0.104-0.18 0.080-0.281l-0.235-1c0.055-0.065 0.109-0.13 0.162-0.197l1.026 0.036c0.104 0.004 0.203-0.046 0.26-0.133s0.067-0.197 0.023-0.292l-0.425-0.932c0.041-0.075 0.082-0.151 0.122-0.227l1.011-0.165c0.103-0.016 0.189-0.085 0.229-0.182s0.027-0.206-0.034-0.29l-0.598-0.831c0.026-0.082 0.051-0.165 0.075-0.248l0.959-0.359c0.097-0.037 0.169-0.121 0.189-0.223 0.021-0.102-0.013-0.207-0.090-0.278l-0.75-0.7c0.009-0.085 0.017-0.169 0.025-0.254l0.873-0.54c0.088-0.054 0.142-0.151 0.142-0.255s-0.054-0.201-0.142-0.256zM17.895 23.272c-0.333-0.072-0.545-0.401-0.474-0.735s0.4-0.547 0.733-0.474c0.334 0.071 0.546 0.4 0.474 0.734s-0.4 0.546-0.733 0.475zM17.598 21.266c-0.304-0.065-0.603 0.128-0.668 0.433l-0.31 1.447c-0.957 0.434-2.018 0.675-3.137 0.675-1.144 0-2.229-0.253-3.203-0.706l-0.31-1.446c-0.065-0.304-0.364-0.498-0.668-0.433l-1.277 0.274c-0.237-0.244-0.457-0.504-0.66-0.778h6.213c0.070 0 0.117-0.013 0.117-0.077v-2.198c0-0.064-0.047-0.077-0.117-0.077h-1.817v-1.393h1.965c0.179 0 0.959 0.051 1.208 1.048 0.078 0.306 0.25 1.304 0.367 1.623 0.117 0.358 0.592 1.073 1.099 1.073h3.096c0.035 0 0.073-0.004 0.112-0.011-0.215 0.292-0.45 0.568-0.704 0.826l-1.306-0.281zM9.006 23.242c-0.333 0.072-0.662-0.141-0.733-0.475s0.141-0.663 0.474-0.735c0.333-0.071 0.662 0.141 0.733 0.475s-0.141 0.663-0.474 0.735zM6.649 13.685c0.138 0.312-0.002 0.678-0.314 0.816s-0.676-0.002-0.815-0.315c-0.138-0.312 0.002-0.677 0.314-0.816s0.676 0.002 0.815 0.315zM5.925 15.402l1.33-0.591c0.284-0.126 0.412-0.459 0.286-0.744l-0.274-0.62h1.077v4.856h-2.174c-0.189-0.663-0.29-1.362-0.29-2.085 0-0.276 0.015-0.549 0.043-0.817zM11.762 14.931v-1.431h2.566c0.133 0 0.936 0.153 0.936 0.754 0 0.499-0.616 0.677-1.123 0.677l-2.379 0zM21.085 16.219c0 0.19-0.007 0.378-0.021 0.564h-0.78c-0.078 0-0.11 0.051-0.11 0.128v0.358c0 0.843-0.476 1.027-0.892 1.073-0.397 0.045-0.837-0.166-0.891-0.409-0.234-1.316-0.624-1.597-1.24-2.083 0.765-0.485 1.56-1.201 1.56-2.16 0-1.035-0.71-1.687-1.193-2.006-0.679-0.447-1.43-0.537-1.632-0.537h-8.067c1.094-1.221 2.576-2.085 4.253-2.4l0.951 0.998c0.215 0.225 0.571 0.233 0.796 0.018l1.064-1.018c2.229 0.415 4.117 1.803 5.204 3.707l-0.728 1.645c-0.126 0.285 0.003 0.618 0.287 0.744l1.402 0.623c0.024 0.249 0.037 0.501 0.037 0.755zM13.024 7.899c0.246-0.236 0.637-0.227 0.873 0.020s0.226 0.639-0.021 0.874c-0.246 0.236-0.637 0.227-0.873-0.020s-0.226-0.638 0.021-0.874zM20.252 13.715c0.138-0.312 0.503-0.453 0.815-0.315s0.452 0.504 0.314 0.816c-0.138 0.312-0.503 0.453-0.815 0.315s-0.452-0.504-0.314-0.816z\"},\"child\":[]}]})(props);\n};\nexport function DiSafari (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 6.243c-0.464 0-0.92 0.029-1.369 0.083-0.030-0.111-0.080-0.213-0.148-0.303 0.238-0.243 0.382-0.563 0.382-0.915 0-0.758-0.671-1.372-1.499-1.372s-1.499 0.614-1.499 1.372c0 0.607 0.431 1.122 1.029 1.303-0.008 0.047-0.013 0.096-0.013 0.145 0 0.041 0.004 0.080 0.009 0.12-4.728 1.35-8.189 5.702-8.189 10.863 0 6.239 5.057 11.296 11.296 11.296s11.296-5.057 11.296-11.296c-0-6.239-5.058-11.296-11.296-11.296zM12.223 5.108c0-0.578 0.512-1.046 1.143-1.046s1.143 0.468 1.143 1.046c0 0.263-0.106 0.502-0.28 0.686-0.133-0.080-0.289-0.127-0.456-0.127-0.325 0-0.608 0.175-0.764 0.435-0.456-0.137-0.786-0.53-0.786-0.994zM16 27.057c-5.257 0-9.518-4.261-9.518-9.518s4.261-9.518 9.518-9.518 9.518 4.261 9.518 9.518c0 5.256-4.261 9.518-9.518 9.518zM22.643 21.563l0.621 0.395c0.785-1.288 1.238-2.801 1.238-4.419 0-0.571-0.056-1.128-0.164-1.667l-0.673 0.15c-0.085 0.019-0.169-0.033-0.187-0.115s0.036-0.164 0.121-0.183l0.674-0.15c-0.498-2.103-1.776-3.905-3.513-5.081l-0.439 0.69c-0.046 0.072-0.141 0.094-0.212 0.049s-0.091-0.14-0.046-0.213l0.44-0.692c-1.306-0.818-2.85-1.291-4.504-1.291-0.544 0-1.076 0.052-1.591 0.149l0.175 0.787c0.019 0.084-0.033 0.167-0.115 0.186s-0.164-0.035-0.183-0.119l-0.176-0.791c-2.133 0.484-3.961 1.77-5.151 3.524l0.697 0.443c0.073 0.046 0.096 0.142 0.051 0.213s-0.141 0.091-0.214 0.044l-0.7-0.445c-0.82 1.308-1.295 2.854-1.295 4.511 0 0.567 0.056 1.12 0.162 1.655l0.811-0.181c0.085-0.019 0.168 0.032 0.187 0.115s-0.036 0.164-0.12 0.183l-0.813 0.181c0.503 2.139 1.814 3.966 3.593 5.142l0.498-0.783c0.046-0.072 0.141-0.094 0.212-0.049s0.091 0.14 0.045 0.213l-0.498 0.783c1.289 0.788 2.805 1.242 4.426 1.242 0.593 0 1.172-0.061 1.731-0.176l-0.179-0.802c-0.019-0.084 0.033-0.167 0.115-0.186s0.164 0.035 0.183 0.119l0.178 0.8c2.109-0.516 3.91-1.82 5.072-3.581l-0.621-0.395c-0.073-0.046-0.096-0.142-0.051-0.213s0.141-0.091 0.214-0.044zM12.579 15.153l1.553 0.566c0.223-0.229 0.489-0.418 0.784-0.553v-3.149l1.363 2.928c0.107 0.011 0.212 0.029 0.315 0.053l-0.228 0.214c-0.119-0.019-0.241-0.028-0.365-0.028-1.3 0-2.354 1.054-2.354 2.354 0 0.268 0.046 0.526 0.128 0.766l-0.165 0.275c-0.001-0.003-0.002-0.006-0.004-0.008h-3.109l2.917-1.358c0.041-0.333 0.145-0.646 0.299-0.928l-1.133-1.133zM10.902 23.754l4.192-6.968 5.874-5.509-4.192 6.968-0.030 0.028-5.844 5.481zM19.561 19.747l-1.522-0.582c-0.204 0.255-0.454 0.471-0.739 0.635l0.039-0.006-0.051 3.25-1.294-2.896c-0.224-0-0.442-0.030-0.65-0.083l0.225-0.211c0.139 0.026 0.283 0.040 0.43 0.040 1.3 0 2.354-1.054 2.354-2.354 0-0.363-0.082-0.707-0.229-1.014l0.153-0.255c0.003 0.005 0.006 0.010 0.009 0.015l3.183 0.050-2.864 1.279c-0.009 0.332-0.080 0.649-0.202 0.939l1.157 1.194zM15.973 16.81c-0.402 0.018-0.713 0.358-0.695 0.76s0.358 0.713 0.76 0.695c0.402-0.018 0.713-0.358 0.695-0.76s-0.358-0.713-0.76-0.695z\"},\"child\":[]}]})(props);\n};\nexport function DiSass (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M31.641 21.161c-0.109-0.911-0.578-1.618-1.286-2.172-0.82-0.641-1.78-0.905-2.803-0.947-0.834-0.034-1.65 0.090-2.437 0.376-0.224 0.081-0.444 0.177-0.67 0.268-0.030-0.055-0.062-0.107-0.088-0.162-0.232-0.474-0.512-0.927-0.573-1.47-0.044-0.386-0.098-0.772-0.006-1.153 0.088-0.367 0.204-0.728 0.312-1.091 0.056-0.187 0.017-0.291-0.161-0.375-0.062-0.029-0.129-0.055-0.197-0.065-0.438-0.063-0.869-0.027-1.293 0.096-0.15 0.044-0.259 0.128-0.292 0.294-0.019 0.095-0.058 0.186-0.084 0.28-0.111 0.391-0.189 0.789-0.368 1.161-0.449 0.934-0.96 1.832-1.485 2.724-0.057 0.096-0.116 0.191-0.188 0.308-0.184-0.385-0.38-0.73-0.44-1.136-0.067-0.458-0.12-0.915-0.006-1.37 0.085-0.339 0.196-0.672 0.298-1.006 0.049-0.159 0.026-0.242-0.118-0.326-0.073-0.042-0.155-0.080-0.237-0.092-0.454-0.067-0.901-0.032-1.338 0.11-0.136 0.044-0.207 0.132-0.249 0.272-0.122 0.413-0.226 0.836-0.397 1.229-0.694 1.59-1.407 3.172-2.12 4.753-0.149 0.33-0.323 0.649-0.491 0.97-0.043 0.082-0.104 0.153-0.157 0.23-0.043-0.050-0.059-0.085-0.059-0.119 0.001-0.203-0.023-0.413 0.016-0.609 0.117-0.594 0.252-1.186 0.395-1.775 0.117-0.486 0.254-0.968 0.385-1.452 0.044-0.162 0.045-0.313-0.072-0.449-0.195-0.228-0.603-0.278-0.845-0.102-0.026 0.019-0.057 0.032-0.107 0.061 0.009-0.077 0.014-0.125 0.021-0.173 0.051-0.37 0.061-0.738-0.040-1.103-0.127-0.454-0.45-0.715-0.921-0.701-0.22 0.007-0.45 0.044-0.653 0.124-0.855 0.335-1.512 0.928-2.071 1.642-0.051 0.065-0.118 0.124-0.189 0.163-0.723 0.401-1.449 0.797-2.174 1.195-0.271 0.148-0.542 0.297-0.807 0.442-0.216-0.207-0.413-0.421-0.637-0.603-0.682-0.556-1.375-1.098-2.061-1.648-0.608-0.487-1.198-0.995-1.649-1.64-0.336-0.48-0.552-1.005-0.572-1.599-0.026-0.756 0.188-1.447 0.573-2.091 0.493-0.823 1.164-1.483 1.903-2.082 0.781-0.633 1.626-1.17 2.502-1.66 1.225-0.686 2.486-1.293 3.837-1.694 1.386-0.411 2.791-0.646 4.241-0.482 0.57 0.064 1.123 0.195 1.632 0.474 0.389 0.213 0.708 0.492 0.857 0.929 0.146 0.43 0.142 0.865 0.040 1.301-0.206 0.883-0.69 1.612-1.299 2.263-0.998 1.067-2.216 1.793-3.588 2.273-0.791 0.277-1.605 0.451-2.441 0.521-0.682 0.057-1.35-0.003-1.996-0.241-0.428-0.157-0.8-0.398-1.1-0.747-0.054-0.063-0.122-0.13-0.222-0.072-0.098 0.057-0.115 0.151-0.082 0.245 0.055 0.157 0.105 0.319 0.191 0.459 0.214 0.351 0.527 0.606 0.871 0.825 0.661 0.42 1.399 0.561 2.165 0.594 1.162 0.050 2.296-0.123 3.413-0.435 1.596-0.445 2.983-1.231 4.096-2.471 0.927-1.032 1.588-2.198 1.73-3.605 0.069-0.687-0.004-1.36-0.326-1.986-0.349-0.679-0.903-1.147-1.566-1.494-0.964-0.506-2.006-0.705-3.081-0.763-0.359-0-0.718-0-1.077-0-1.303 0.063-2.562 0.337-3.786 0.782-0.926 0.337-1.835 0.717-2.717 1.157-1.921 0.96-3.71 2.108-5.179 3.699-0.732 0.793-1.352 1.663-1.708 2.693-0.104 0.302-0.168 0.622-0.243 0.934-0.006 0.026 0.023 0.051-0.041 0.077 0 0.147 0 0.293 0 0.44 0.064 0.113 0.071 0.225 0.1 0.338 0.189 0.733 0.578 1.363 1.060 1.937 0.687 0.818 1.518 1.476 2.38 2.096 0.747 0.537 1.505 1.062 2.255 1.595 0.129 0.091 0.248 0.197 0.388 0.309-0.12 0.065-0.221 0.122-0.325 0.175-0.99 0.502-1.942 1.065-2.82 1.747-0.529 0.411-1.041 0.848-1.402 1.418-0.581 0.918-0.787 1.896-0.354 2.94 0.127 0.305 0.32 0.569 0.592 0.763 0.088 0.063 0.187 0.126 0.29 0.15 0.264 0.062 0.534 0.103 0.802 0.152 0.253-0 0.505-0 0.758-0 0.839-0.075 1.602-0.362 2.291-0.838 1.078-0.744 1.804-1.741 2.117-3.022 0.227-0.93 0.236-1.862-0.031-2.788-0.025-0.086-0.056-0.17-0.089-0.253s-0.071-0.164-0.116-0.268c0.572-0.329 1.146-0.659 1.719-0.989 0.009 0.007 0.017 0.015 0.026 0.022-0.031 0.102-0.064 0.204-0.093 0.308-0.204 0.746-0.34 1.505-0.291 2.279 0.052 0.825 0.282 1.597 0.765 2.287 0.39 0.558 1.321 0.578 1.736 0.019 0.147-0.199 0.29-0.406 0.397-0.628 0.28-0.579 0.54-1.168 0.807-1.753 0.012-0.025 0.022-0.050 0.047-0.107-0.019 0.277-0.042 0.52-0.052 0.764-0.016 0.38 0.006 0.758 0.136 1.12 0.111 0.31 0.3 0.541 0.655 0.581 0.242 0.028 0.436-0.083 0.614-0.224 0.279-0.22 0.505-0.491 0.673-0.8 0.475-0.873 0.963-1.74 1.394-2.635 0.466-0.968 0.873-1.964 1.306-2.948 0.024-0.054 0.045-0.109 0.072-0.175 0.102 0.402 0.174 0.795 0.305 1.168 0.152 0.432 0.341 0.854 0.547 1.264 0.097 0.194 0.086 0.32-0.049 0.482-0.564 0.68-1.118 1.368-1.673 2.056-0.123 0.152-0.245 0.306-0.347 0.472-0.062 0.101-0.103 0.223-0.12 0.341-0.033 0.225 0.105 0.441 0.346 0.493 0.219 0.047 0.453 0.065 0.677 0.048 0.774-0.057 1.477-0.329 2.099-0.789 0.805-0.597 1.064-1.41 0.869-2.375-0.053-0.262-0.146-0.517-0.237-0.769-0.041-0.114-0.043-0.194 0.031-0.3 0.644-0.919 1.194-1.895 1.705-2.892 0.020-0.039 0.041-0.079 0.076-0.121 0.166 0.863 0.415 1.694 0.862 2.448-0.228 0.22-0.454 0.419-0.658 0.639-0.45 0.483-0.84 1.009-1.043 1.649-0.087 0.276-0.155 0.556-0.116 0.852 0.061 0.458 0.436 0.755 0.886 0.651 0.963-0.223 1.795-0.677 2.403-1.481 0.409-0.541 0.446-1.145 0.275-1.778-0.047-0.172-0.103-0.341-0.163-0.539 0.238-0.074 0.47-0.162 0.709-0.217 1.245-0.284 2.476-0.234 3.675 0.215 0.7 0.262 1.266 0.702 1.601 1.393 0.41 0.845 0.183 1.646-0.613 2.18-0.074 0.050-0.159 0.089-0.221 0.151-0.038 0.038-0.060 0.115-0.051 0.167 0.005 0.031 0.087 0.069 0.133 0.069 0.262-0.002 0.474-0.139 0.678-0.28 0.511-0.353 0.848-0.829 0.928-1.454 0.002-0.018-0.024-0.035 0.040-0.052 0-0.139 0-0.277 0-0.416-0.064-0.017-0.037-0.034-0.039-0.052zM7.286 22.851c-0.083 1.115-0.588 2.019-1.414 2.75-0.465 0.412-0.997 0.705-1.618 0.808-0.225 0.037-0.455 0.046-0.674-0.047-0.311-0.133-0.381-0.409-0.387-0.704-0.009-0.469 0.155-0.893 0.38-1.296 0.294-0.526 0.725-0.927 1.185-1.301 0.725-0.59 1.512-1.090 2.317-1.561 0.013-0.008 0.029-0.012 0.061-0.025 0.124 0.46 0.184 0.914 0.149 1.377zM13.576 18.006c-0.059 0.356-0.132 0.712-0.236 1.057-0.36 1.194-0.821 2.352-1.32 3.493-0.092 0.211-0.226 0.404-0.343 0.604-0.018 0.031-0.045 0.058-0.071 0.084-0.144 0.143-0.282 0.135-0.355-0.052-0.085-0.217-0.137-0.449-0.182-0.679-0.030-0.154-0.023-0.316-0.032-0.474 0.010-1.123 0.352-2.145 0.934-3.095 0.24-0.392 0.501-0.765 0.899-1.014 0.123-0.076 0.26-0.137 0.399-0.177 0.212-0.060 0.343 0.039 0.308 0.252zM17.867 23.473c0.514-0.6 1.027-1.199 1.542-1.801 0.064 0.669-1.072 2.004-1.542 1.801zM22.793 22.262c-0.109 0.062-0.228 0.108-0.34 0.165-0.102 0.053-0.136-0-0.139-0.088-0.002-0.060 0.007-0.122 0.023-0.18 0.208-0.735 0.591-1.361 1.162-1.871 0.008-0.008 0.021-0.011 0.040-0.021 0.271 0.758-0.042 1.592-0.747 1.995z\"},\"child\":[]}]})(props);\n};\nexport function DiScala (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.573 7.307c0 0 14.853-1.485 14.853-3.961v5.941c0 0 0 2.476-14.853 3.961zM8.636 15.229c0 0 14.853-1.485 14.853-3.961v5.941c0 0 0 2.476-14.853 3.961zM8.636 23.151c0 0 14.853-1.485 14.853-3.961v5.941c0 0 0 2.476-14.853 3.961z\"},\"child\":[]}]})(props);\n};\nexport function DiScriptcs (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 34 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.962 4.898c-6.089-0.042-11.082 4.883-11.129 10.977-0.048 6.17 4.845 11.156 11.017 11.227 6.075 0.070 11.101-4.895 11.16-11.023 0.059-6.147-4.873-11.138-11.048-11.18zM16.594 12.297c-0.175 0.239-0.336 0.027-0.478-0.034-2.669-1.148-5.161 0.218-5.576 3.088-0.145 1-0.087 2.001 0.319 2.946 0.84 1.955 3.064 2.664 5.115 1.645 0.159-0.079 0.288-0.232 0.469-0.22 0.247 0.673-0.097 0.963-0.688 1.156-2.842 0.924-5.475-0.347-6.054-3.332-0.519-2.676 0.588-5.173 2.79-6.108 1.286-0.546 2.584-0.461 3.88-0.020l0.344 0.091c0.020 0.262 0.134 0.56-0.121 0.787zM23.83 19.047c-0.152 0.944-0.993 1.751-2.080 1.999-0.791 0.18-1.578 0.167-2.363-0.036-1.014-0.262-1.099-0.376-1.036-1.462 0.584 0.361 1.177 0.659 1.843 0.778 0.64 0.114 1.271 0.081 1.855-0.194 1.071-0.504 1.265-1.907 0.394-2.705-0.489-0.449-1.104-0.684-1.687-0.974-0.418-0.208-0.84-0.417-1.233-0.668-0.846-0.542-1.246-1.331-1.156-2.336 0.097-1.073 0.745-1.742 1.698-2.124 1.032-0.414 2.071-0.315 3.109 0.037 0.604 0.205 0.374 0.67 0.418 1.154-0.909-0.457-1.755-0.794-2.712-0.615-0.874 0.164-1.465 0.677-1.588 1.395-0.146 0.845 0.137 1.461 0.959 1.925 0.743 0.42 1.533 0.759 2.273 1.184 1.137 0.654 1.499 1.432 1.304 2.643z\"},\"child\":[]}]})(props);\n};\nexport function DiScrum (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.649 21.349c0.064 0.004 0.133 0.012 0.202 0.012 0.977 0.001 1.955-0.005 2.932 0.005 0.214 0.002 0.278-0.071 0.267-0.276-0.014-0.267-0.003-0.535-0.003-0.865 1.109 0.816 2.181 1.604 3.281 2.414-1.092 0.804-2.164 1.593-3.281 2.416 0-0.311 0-0.568-0-0.825-0-0.332-0-0.333-0.323-0.333-6.247 0-12.495 0-18.742 0-0.302 0-0.302-0-0.302-0.304 0-0.659 0.009-1.318-0.005-1.976-0.005-0.214 0.064-0.262 0.269-0.261 3.359 0.006 6.718 0.011 10.077 0.002 1.722-0.005 3.081-0.718 3.98-2.202 1.622-2.68-0.069-6.19-3.177-6.642-2.4-0.349-4.631 1.262-5.038 3.703-0.043 0.254-0.046 0.515-0.071 0.821 0.393-0.053 0.749-0.102 1.152-0.156-0.631 1.22-1.24 2.398-1.858 3.592-0.947-0.976-1.88-1.937-2.792-2.877 0.229-0.038 0.533-0.082 0.834-0.145 0.057-0.012 0.141-0.104 0.139-0.157-0.017-0.639 0.027-1.271 0.152-1.898 0.004-0.019-0.005-0.041-0.011-0.078-0.61-0.104-1.176-0.324-1.689-0.678-1.254-0.868-1.91-2.483-1.602-3.955 0.335-1.604 1.545-2.803 3.109-3.099 1.014-0.191 1.954-0.009 2.827 0.527 0.154 0.095 0.248 0.109 0.349-0.056 0.059-0.097 0.148-0.175 0.25-0.293 0.127 0.512 0.246 0.991 0.364 1.47 0.040 0.161 0.071 0.325 0.118 0.484 0.051 0.172-0.001 0.249-0.183 0.237-0.526-0.036-1.053-0.068-1.579-0.103-0.13-0.009-0.259-0.023-0.426-0.039 0.13-0.164 0.248-0.311 0.377-0.472-0.284-0.216-0.597-0.324-0.923-0.377-1.576-0.258-2.965 0.953-2.933 2.548 0.024 1.224 1.056 2.318 2.275 2.422 0.158 0.013 0.213-0.067 0.274-0.185 0.864-1.658 2.165-2.83 3.935-3.44 4.095-1.412 8.37 1.118 9.159 5.259 0.389 2.039-0.054 3.901-1.291 5.57-0.034 0.046-0.065 0.095-0.095 0.144-0.006 0.009 0.002 0.027 0.007 0.065z\"},\"child\":[]}]})(props);\n};\nexport function DiSenchatouch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.986 3.551l-0.001 0-0 0.001 0.001-0zM14.014 3.531c-0.003-0.007-0.022 0.006-0.028 0.020 0.011-0.005 0.041 0.012 0.028-0.020zM10.853 18.825c-0.009-0.007-0.018-0.015-0.026-0.022 0.003 0.014 0.011 0.022 0.026 0.022zM18.101 28.942c-0 0-0 0-0 0-0.031-0.006-0.050 0.019-0.076 0.029-0.028 0.014-0.066 0.019-0.078 0.071 0.036-0.012 0.062-0.015 0.077-0.040 0.042-0.010 0.082-0.025 0.113-0.057 0.014-0.002 0.026-0.007 0.030-0.022-0.004-0.005-0.008-0.010-0.013-0.014-0.023 0.003-0.043 0.011-0.054 0.034zM24.418 20.65c0.013-0.342-0.003-0.683-0.047-1.023-0-0.009-0.001-0.019-0.002-0.028 0.004-0.060 0.004-0.12-0.021-0.176v0c0-0-0-0-0-0-0.001-0.015-0.003-0.029-0.004-0.043-0-0.122-0.019-0.241-0.053-0.357 0.005-0.085-0.021-0.164-0.041-0.245-0.014-0.104-0.032-0.207-0.070-0.305 0.003-0.033 0.002-0.065-0.023-0.091 0.005-0.007 0.003-0.014-0.004-0.018 0.002-0.032 0.002-0.064-0.024-0.089 0.004-0.008 0.003-0.015-0.004-0.021-0.040-0.209-0.103-0.41-0.186-0.606-0.036-0.154-0.094-0.299-0.166-0.439-0.001-0.025-0.006-0.049-0.027-0.066v0c0.004-0.007 0.002-0.012-0.005-0.015-0.039-0.126-0.094-0.245-0.162-0.358 0.001-0.023-0.006-0.044-0.027-0.056-0.073-0.184-0.167-0.356-0.276-0.521-0.001-0.023-0.011-0.041-0.030-0.053 0.001-0.016-0.006-0.027-0.021-0.033-0.003-0.022-0.010-0.041-0.031-0.052-0.106-0.206-0.235-0.397-0.378-0.578-0.111-0.177-0.24-0.341-0.381-0.495v0c-0.225-0.289-0.475-0.554-0.751-0.795-0.213-0.212-0.44-0.408-0.688-0.577-0.028-0.039-0.067-0.064-0.11-0.082-0.020-0.030-0.047-0.048-0.082-0.057-0.005-0.015-0.015-0.022-0.030-0.023l-0.001-0.001c-0.011-0.021-0.028-0.031-0.050-0.034 0-0 0-0.001 0-0.001-0.282-0.212-0.582-0.393-0.9-0.547-0.033-0.032-0.074-0.048-0.117-0.061 0-0 0-0 0-0-0.012-0.017-0.029-0.021-0.048-0.022-0.037-0.037-0.086-0.052-0.13-0.074-0.298-0.15-0.596-0.299-0.895-0.447-0.11-0.055-0.213-0.125-0.332-0.161-0.035-0.038-0.085-0.052-0.129-0.074-0.758-0.38-1.516-0.758-2.274-1.136-0.15-0.075-0.294-0.164-0.453-0.221-0.158-0.101-0.331-0.173-0.497-0.257-0.163-0.082-0.321-0.173-0.492-0.238-0.039-0.040-0.092-0.056-0.141-0.079-0.22-0.108-0.436-0.222-0.637-0.364-0.088-0.063-0.175-0.128-0.263-0.192-0 0-0 0.001-0 0.001-0.004-0.016-0.014-0.024-0.030-0.027-0.004-0.015-0.014-0.024-0.029-0.028-0.221-0.212-0.424-0.439-0.604-0.686-0-0.014-0.005-0.024-0.018-0.029-0.006-0.012-0.010-0.026-0.017-0.037-0.46-0.718-0.656-1.5-0.573-2.35 0.055-0.555 0.229-1.069 0.52-1.545 0.259-0.423 0.595-0.774 0.993-1.068 0.052-0.028 0.107-0.053 0.142-0.105h-0c0.025 0.001 0.045-0.007 0.059-0.029 0-0 0-0 0-0 0.053-0.012 0.104-0.028 0.13-0.083-0.064 0.009-0.117 0.040-0.166 0.080-0.014 0.004-0.025 0.010-0.027 0.026v0c-0.065 0.010-0.118 0.043-0.169 0.081-0.428 0.217-0.856 0.434-1.285 0.65-0.812 0.409-1.543 0.93-2.19 1.568-0.704 0.694-1.272 1.486-1.705 2.375-0.519 1.064-0.793 2.189-0.853 3.368-0.024 0.476-0.004 0.952 0.056 1.425 0.018 0.144 0.023 0.291 0.074 0.43-0.001 0.104 0.022 0.204 0.056 0.302 0.002 0.009 0.003 0.019 0.005 0.028-0.004 0.032-0.001 0.062 0.021 0.088 0.003 0.016 0.005 0.033 0.008 0.049-0.004 0.024-0.001 0.046 0.018 0.064 0 0 0 0 0 0 0.034 0.206 0.090 0.406 0.166 0.6-0.003 0.009-0.002 0.016 0.005 0.023-0.003 0.024 0.002 0.046 0.022 0.062 0 0 0 0 0 0-0.003 0.008-0.002 0.015 0.005 0.020-0.003 0.024 0.003 0.046 0.023 0.062 0.021 0.106 0.057 0.207 0.109 0.302 0.048 0.161 0.109 0.316 0.192 0.462 0.001 0.024 0.006 0.047 0.028 0.062-0.002 0.008-0 0.015 0.007 0.019-0.001 0.017 0.006 0.029 0.020 0.037-0.003 0.008-0.001 0.014 0.007 0.018-0.002 0.022 0.006 0.040 0.025 0.053l0.001 0.001c-0.001 0.023 0.008 0.041 0.027 0.054l0.001 0.001c-0.001 0.023 0.008 0.041 0.027 0.054l0.001 0.001c-0.001 0.023 0.008 0.040 0.027 0.053 0.028 0.092 0.078 0.173 0.133 0.251h0c0.001 0.023 0.009 0.042 0.029 0.054 0.001 0.023 0.011 0.040 0.030 0.052l0.001 0.001c-0 0.018 0.008 0.030 0.023 0.038 0.037 0.098 0.095 0.184 0.158 0.267 0.116 0.202 0.244 0.396 0.394 0.575 0.002 0.015 0.009 0.026 0.024 0.031 0.003 0.021 0.014 0.037 0.034 0.046 0 0 0 0 0 0 0.106 0.157 0.224 0.303 0.357 0.438l0.004 0.005c0.001 0.015 0.009 0.022 0.023 0.025l0.002 0.003c0.001 0.015 0.009 0.025 0.024 0.028l0.001 0.001c0.002 0.015 0.011 0.025 0.027 0.028l0 0c0.003 0.015 0.011 0.025 0.025 0.029 0.003 0.016 0.012 0.026 0.028 0.030 0.093 0.115 0.19 0.227 0.306 0.321 0.193 0.203 0.397 0.393 0.624 0.557l0.001-0c0.004 0.016 0.015 0.024 0.031 0.026 0.004 0.015 0.014 0.023 0.029 0.024-0.010-0.008-0.019-0.016-0.029-0.024-0-0-0-0-0-0 0.012 0.006 0.020 0.015 0.029 0.024l0.002 0.001c0.008 0.009 0.016 0.016 0.026 0.022l0.005 0.004c0.009 0.019 0.024 0.031 0.044 0.035 0.005 0.015 0.016 0.022 0.030 0.024 0.004 0.015 0.013 0.023 0.029 0.024-0.009-0.008-0.019-0.016-0.029-0.024 0.010 0.007 0.020 0.015 0.029 0.024l0.003 0.002c0.003 0.012 0.009 0.020 0.023 0.019-0 0-0 0-0-0s0 0 0 0c0.004 0.009 0.010 0.013 0.020 0.013 0.006 0.016 0.018 0.024 0.035 0.026 0.004 0.015 0.014 0.022 0.029 0.023l0.003 0.002c0.003 0.012 0.009 0.020 0.023 0.019 0.104 0.086 0.211 0.166 0.331 0.228l0.002 0.001c0.010 0.021 0.028 0.030 0.050 0.032 0.005 0.015 0.016 0.021 0.031 0.021l0.002 0.001c0.010 0.021 0.028 0.029 0.050 0.032 0.005 0.015 0.016 0.021 0.031 0.021l0.004 0.002c0.011 0.019 0.028 0.029 0.050 0.031l-0-0c0.338 0.229 0.701 0.409 1.072 0.576 0.013 0.021 0.033 0.028 0.056 0.028 0.25 0.141 0.507 0.27 0.771 0.383 0.023 0.031 0.060 0.040 0.092 0.056 0.223 0.114 0.447 0.228 0.671 0.34 0.285 0.142 0.572 0.282 0.858 0.423 0.005 0.007 0.012 0.010 0.021 0.008 0.006 0.014 0.017 0.021 0.032 0.019 0.006 0.007 0.013 0.010 0.023 0.008 0.006 0.014 0.017 0.021 0.032 0.019 0.189 0.102 0.377 0.204 0.576 0.285 0.15 0.093 0.31 0.166 0.47 0.238 0.005 0.007 0.012 0.010 0.020 0.008 0.006 0.014 0.017 0.021 0.032 0.019 0.006 0.008 0.013 0.010 0.022 0.008 0.006 0.014 0.017 0.020 0.032 0.019 0.114 0.065 0.229 0.13 0.354 0.174 0-0 0-0 0-0 0.005 0.015 0.015 0.021 0.030 0.019 0.143 0.081 0.287 0.162 0.441 0.222l0.007 0.007 0.010-0c0.008 0.015 0.021 0.022 0.037 0.020 0.124 0.074 0.252 0.14 0.386 0.193l0.006 0.007 0.010-0.001c0.008 0.015 0.021 0.022 0.037 0.020 0.12 0.064 0.239 0.127 0.359 0.191v0c0.003 0.008 0.009 0.011 0.017 0.008 0.007 0.016 0.020 0.023 0.037 0.024v0c0.109 0.077 0.218 0.154 0.327 0.23 0.111 0.097 0.222 0.195 0.333 0.292v0c0.099 0.113 0.199 0.226 0.298 0.339 0.074 0.107 0.149 0.214 0.223 0.321 0.001 0.022 0.010 0.040 0.030 0.051l0.001 0.002c-0 0.015 0.005 0.027 0.020 0.032 0.003 0.022 0.009 0.041 0.030 0.053 0.001 0.023 0.009 0.043 0.030 0.055v0c0 0.022 0.010 0.039 0.029 0.051 0.027 0.080 0.059 0.157 0.107 0.226 0.055 0.156 0.11 0.311 0.165 0.467 0.022 0.12 0.045 0.241 0.081 0.358 0.002 0.017 0.004 0.033 0.006 0.050-0.005 0.049-0 0.098 0.020 0.143 0 0.001 0.001 0.003 0.001 0.004 0.014 0.262 0.019 0.524 0.006 0.787-0.038 0.269-0.097 0.535-0.168 0.797-0.103 0.264-0.224 0.52-0.361 0.768-0.139 0.196-0.284 0.388-0.439 0.572-0.177 0.163-0.351 0.331-0.546 0.474-0.052 0.018-0.091 0.056-0.136 0.086-0.025 0.010-0.050 0.019-0.063 0.045 0.004 0.005 0.009 0.009 0.013 0.014 0.019-0.002 0.039-0.003 0.050-0.023 0.058-0.025 0.117-0.050 0.166-0.091 0.197-0.095 0.396-0.185 0.581-0.302-0 0-0 0-0-0s0 0 0 0c0.009 0.003 0.016 0 0.021-0.008 0.016 0.002 0.028-0.004 0.035-0.020 0.042-0.007 0.079-0.024 0.109-0.055l0.013 0 0.009-0.009c0.016 0.002 0.027-0.004 0.033-0.019 0.010 0.003 0.017-0.001 0.022-0.010 0.015 0.002 0.025-0.004 0.028-0.019 0.023-0 0.043-0.005 0.054-0.028l0.001-0c0.023 0 0.043-0.005 0.054-0.027h0c0.023 0 0.043-0.005 0.055-0.027l0-0c0.023 0 0.044-0.005 0.056-0.027v0c0.282-0.129 0.559-0.268 0.817-0.442l0.005-0.003c0.016 0.001 0.026-0.006 0.030-0.021 0.022-0.001 0.041-0.007 0.051-0.030l0.002-0.001c0.017-0 0.030-0.007 0.037-0.023v0c0.009 0.002 0.015-0.001 0.018-0.010 0.016 0.002 0.024-0.006 0.027-0.020l0.001-0c0.022 0 0.038-0.010 0.048-0.030l0.006-0.003c0.016 0.002 0.026-0.006 0.029-0.021 0.022-0 0.037-0.012 0.047-0.030 0.035-0.020 0.072-0.038 0.105-0.061 0.575-0.395 1.096-0.851 1.559-1.372 0.245-0.276 0.481-0.561 0.677-0.876 0.021-0.009 0.030-0.027 0.033-0.049 0.015-0.005 0.022-0.016 0.021-0.032l0.001-0.001c0.021-0.010 0.030-0.028 0.033-0.049 0.015-0.005 0.022-0.016 0.021-0.032l0.001-0.001c0.021-0.010 0.029-0.029 0.031-0.051 0.015-0.005 0.022-0.015 0.021-0.031l0.002-0.003c0.021-0.010 0.029-0.028 0.030-0.050 0.023-0.009 0.029-0.029 0.032-0.051 0.015-0.005 0.021-0.017 0.020-0.033l0.001-0.001c0.076-0.091 0.127-0.198 0.183-0.301 0.126-0.23 0.254-0.459 0.342-0.709 0.023-0.014 0.027-0.037 0.027-0.061 0.094-0.182 0.167-0.373 0.221-0.57 0.072-0.169 0.13-0.343 0.163-0.525 0.024-0.025 0.028-0.055 0.024-0.087 0.008-0.006 0.009-0.013 0.005-0.021 0.067-0.197 0.114-0.399 0.136-0.606 0.026-0.034 0.027-0.073 0.023-0.114 0.002-0.015 0.004-0.030 0.006-0.046 0.004-0.012 0.006-0.022 0.006-0.031 0.045-0.199 0.071-0.401 0.075-0.605 0.034-0.128 0.029-0.258 0.026-0.389 0.031-0.071 0.014-0.145 0.016-0.216z\"},\"child\":[]}]})(props);\n};\nexport function DiSizzlejs (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.459 14.507l0.232-0.883c0.372-1.41 0.434-1.41 1.891-0.108 0.713 0.636 2.077 1.844 3.038 2.681 1.131 1.008 1.689 1.596 1.581 1.705-0.139 0.139-8.586 5.037-8.617 4.99-0.016 0 0.046-0.434 0.139-0.961 0.264-1.566 1.010-1.395-4.321-1.395l-5.025-0.063v0.45c0 0.682 0.837 1.302 3.239 2.449l2.108 0.992-0.372 0.31c-0.217 0.171-0.589 0.357-0.821 0.403-1.844 0.372 1.503 0.697 6.463 0.635l4.030-0.046 1.689-0.837c1.457-0.698 1.875-1.007 2.96-2.092 1.395-1.395 2.247-2.836 2.557-4.37 0.109-0.496 0.155-1.689 0.124-2.759-0.046-1.782-0.078-1.937-0.573-2.96-1.271-2.573-3.72-3.968-7.904-4.479-1.844-0.232-2.805-0.496-3.689-1.023l-0.511-0.294v0.418c0.016 0.232 0.109 0.589 0.232 0.806 0.325 0.558 0.294 0.62-0.264 0.62-0.279 0-0.821 0.155-1.209 0.325-1.069 0.48-2.092 0.636-3.146 0.45-0.496-0.093-1.007-0.217-1.131-0.264s-0.217 0-0.217 0.093c0 0.31 0.636 1.534 0.992 1.922l0.357 0.387-0.527 0.078c-0.279 0.046-1.131 0.434-1.875 0.868-1.519 0.852-2.046 1.023-2.774 0.806-0.604-0.17-0.604-0.155-0.17 0.62l0.341 0.604z\"},\"child\":[]}]})(props);\n};\nexport function DiSmashingMagazine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22.622 5.145c0.394 0.161 0.788 0.52 0.977 0.869 0.116 0.224 0.717 2.777 3.118 13.205 0.323 1.389 0.582 2.732 0.582 2.992 0 0.564-0.188 0.968-0.636 1.371-0.358 0.331-0.555 0.403-2.365 0.833l-1.075 0.251 0.287-0.546c0.394-0.735 0.582-1.604 0.582-2.634 0-1.98-0.735-3.619-2.213-4.936-0.86-0.771-2.132-1.478-4.076-2.276-2.705-1.102-3.494-1.783-3.494-3.010 0.009-1.362 1.084-2.061 2.956-1.935 0.932 0.072 1.917 0.314 2.938 0.735 0.43 0.179 0.842 0.34 0.914 0.367 0.108 0.036 0.278-0.349 0.753-1.639 0.34-0.923 0.636-1.729 0.654-1.783 0.054-0.143-1.433-0.797-2.437-1.075-1.174-0.314-1.201-0.322-1.030-0.367 2.267-0.573 3.001-0.663 3.566-0.421zM10 8.155c-0.269 0.385-0.537 0.941-0.681 1.371-0.206 0.618-0.242 0.869-0.242 1.837 0 0.985 0.027 1.2 0.233 1.774 0.779 2.168 2.607 3.727 5.895 5.035 1.469 0.582 2.455 1.138 2.956 1.666 0.511 0.538 0.663 0.985 0.609 1.792-0.045 0.753-0.34 1.192-1.030 1.532-0.502 0.242-0.564 0.251-1.863 0.251-1.245 0-1.415-0.018-2.329-0.287-0.538-0.152-1.29-0.412-1.657-0.564-0.367-0.161-0.744-0.296-0.833-0.305-0.117-0.009-0.34 0.385-0.959 1.684-0.448 0.932-0.806 1.729-0.806 1.756 0 0.108 1.406 0.717 2.32 1.003 0.475 0.152 0.923 0.296 0.994 0.314 0.072 0.027-0.349 0.161-0.941 0.304-1.863 0.457-2.741 0.26-3.234-0.726-0.125-0.251-0.905-3.449-2.007-8.233-1.98-8.555-1.926-8.224-1.442-8.985 0.349-0.555 0.887-0.788 2.652-1.191 1.236-0.269 2.741-0.627 2.795-0.663 0.009-0.009-0.179 0.278-0.43 0.636z\"},\"child\":[]}]})(props);\n};\nexport function DiSnapSvg (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.99 25.903l-4.018-1.96 0.005-0.002-0.001-0-4.269 2.082 8.286 4.041 8.299-4.032-4.284-2.122zM7.718 26.036v-4.165l4.108-2.004 4.225 2.084zM20.549 8.896v6.585l-4.593 2.239 4.224 2.103 4.112-2.003v-11.263zM24.293 26.033v0-4.165l-12.831-6.39v-6.585l-3.743-2.339v11.263zM11.45 8.886v-0.001l4.543-2.216 4.544 2.216 3.738-2.336-8.285-4.041-8.283 4.043 3.739 2.337z\"},\"child\":[]}]})(props);\n};\nexport function DiSpark (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 34 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M26.588 15.625c0.53 0.138 1.059 0.276 1.751 0.456-0.34-0.655-0.596-1.212-0.911-1.732-0.195-0.321-0.159-0.526 0.088-0.793 0.461-0.498 0.883-1.032 1.321-1.551-0.021-0.043-0.043-0.086-0.064-0.129-0.539 0.139-1.092 0.238-1.613 0.428-0.549 0.2-0.894 0.125-1.147-0.447-0.201-0.453-0.511-0.858-0.866-1.434-0.134 0.7-0.281 1.246-0.333 1.8-0.053 0.575-0.279 0.891-0.871 1.011-0.557 0.113-1.091 0.34-1.801 0.57 0.696 0.299 1.252 0.537 1.882 0.808-0.381 0.249-0.704 0.468-1.036 0.67-0.085 0.052-0.225 0.104-0.299 0.069-0.616-0.287-1.269-0.527-1.818-0.914-0.519-0.366-0.387-1.031 0.229-1.282 0.731-0.297 1.489-0.533 2.247-0.752 0.349-0.101 0.496-0.272 0.541-0.628 0.075-0.587 0.197-1.169 0.313-1.751 0.038-0.192 0.093-0.388 0.181-0.561 0.351-0.692 0.939-0.741 1.378-0.103 0.326 0.474 0.637 0.964 0.897 1.476 0.215 0.422 0.466 0.5 0.905 0.357 0.665-0.218 1.345-0.409 2.033-0.526 0.293-0.050 0.622 0.115 0.935 0.183-0.084 0.312-0.089 0.682-0.267 0.924-0.468 0.637-1.001 1.228-1.53 1.818-0.223 0.249-0.273 0.449-0.091 0.755 0.33 0.556 0.654 1.125 0.891 1.724 0.11 0.279 0.129 0.728-0.027 0.939-0.156 0.21-0.6 0.332-0.888 0.291-0.581-0.083-1.2-0.209-1.69-0.504-0.276-0.166-0.327-0.705-0.48-1.077 0.047-0.031 0.094-0.063 0.141-0.095z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.035 21.264c-0.090 0.62-0.175 1.205-0.265 1.826-0.365 0-0.714 0-1.125 0 0.116-0.934 0.226-1.837 0.341-2.739 0.059-0.464 0.118-0.927 0.191-1.389 0.218-1.363 1.353-2.462 2.666-2.591 1.975-0.193 3.242 1.545 2.458 3.372-0.728 1.697-2.448 2.328-4.268 1.521zM12.317 18.829c0.007-0.748-0.537-1.299-1.286-1.3-0.903-0.002-1.698 0.789-1.695 1.687 0.003 0.734 0.566 1.281 1.318 1.278 0.869-0.003 1.654-0.79 1.663-1.666z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.315 20.211c0.404-0.216 0.782-0.418 1.19-0.636 0.116 0.19 0.206 0.362 0.319 0.517 0.322 0.441 0.833 0.495 1.276 0.145 0.41-0.324 0.435-0.637 0.043-1.109-0.333-0.401-0.69-0.784-1.050-1.163-0.546-0.576-0.857-1.229-0.527-2.008 0.357-0.844 1.022-1.325 1.946-1.422 0.879-0.092 1.478 0.32 1.938 1.097-0.363 0.277-0.727 0.553-1.089 0.829-0.183-0.195-0.319-0.467-0.507-0.511-0.294-0.068-0.685-0.082-0.925 0.063-0.354 0.215-0.133 0.533 0.085 0.772 0.339 0.373 0.67 0.756 1.030 1.107 0.608 0.594 0.869 1.288 0.596 2.107-0.296 0.888-0.926 1.453-1.847 1.642-1.306 0.268-2.062-0.168-2.48-1.431z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.955 21.507c-0.427 0-0.764 0-1.161 0 0.101-0.776 0.215-1.518 0.289-2.264 0.061-0.617-0.037-1.204-0.621-1.565-0.473-0.292-1.215-0.185-1.716 0.242-0.499 0.425-0.76 0.959-0.582 1.631 0.227 0.857 1.151 1.195 2.008 0.739 0.155-0.083 0.301-0.183 0.499-0.306-0.036 0.249-0.067 0.444-0.092 0.638-0.11 0.857-0.253 0.991-1.1 1.030-1.831 0.086-2.97-1.392-2.425-3.145 0.419-1.346 1.737-2.244 3.149-2.144 1.179 0.084 2.113 1.035 2.065 2.217-0.039 0.967-0.201 1.928-0.313 2.926z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M24.070 17.694c0.738-0.808 1.364-1.494 2.012-2.204 0.284 0.732 0.358 1.349-0.332 1.86-0.311 0.23-0.545 0.564-0.828 0.866 0.778 1.094 1.536 2.162 2.364 3.326-0.525 0-0.964 0.027-1.396-0.016-0.137-0.013-0.285-0.191-0.378-0.327-0.504-0.74-0.992-1.491-1.58-2.381-0.112 0.782-0.256 1.407-0.277 2.036-0.018 0.574-0.242 0.766-0.781 0.681-0.172-0.027-0.35-0.018-0.586-0.029 0.144-1.142 0.28-2.244 0.423-3.345 0.085-0.66 0.217-1.317 0.259-1.979 0.027-0.431 0.191-0.7 0.559-0.896 0.281-0.15 0.542-0.338 0.909-0.571-0.124 1.011-0.237 1.927-0.366 2.978z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M22.251 17.65c-0.212 0-0.355 0.008-0.496-0.001-0.422-0.027-0.627 0.177-0.678 0.588-0.114 0.909-0.28 1.814-0.349 2.726-0.036 0.477-0.198 0.641-0.653 0.575-0.173-0.025-0.352-0.004-0.602-0.004 0.11-0.886 0.21-1.717 0.316-2.547 0.043-0.339 0.090-0.677 0.148-1.013 0.172-1.008 0.748-1.489 1.777-1.493 0.18-0.001 0.36 0.004 0.539 0.011 0.032 0.001 0.064 0.028 0.128 0.057-0.040 0.341-0.081 0.691-0.129 1.102z\"},\"child\":[]},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.317 18.829c-0.009 0.876-0.794 1.663-1.663 1.666-0.751 0.003-1.315-0.544-1.318-1.278-0.003-0.898 0.791-1.689 1.695-1.687 0.748 0.001 1.293 0.552 1.286 1.3z\"},\"child\":[]}]})(props);\n};\nexport function DiSqllite (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 34 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.576 3.59c-1.115-0.994-2.465-0.595-3.798 0.588-0.198 0.176-0.395 0.371-0.591 0.579-2.279 2.418-4.395 6.897-5.053 10.318 0.256 0.519 0.456 1.182 0.588 1.688 0.034 0.13 0.064 0.252 0.089 0.355 0.058 0.245 0.089 0.405 0.089 0.405s-0.020-0.077-0.104-0.321c-0.016-0.047-0.034-0.098-0.055-0.158-0.009-0.025-0.021-0.055-0.035-0.087-0.149-0.346-0.56-1.075-0.741-1.393-0.155 0.457-0.292 0.884-0.406 1.271 0.523 0.956 0.841 2.595 0.841 2.595s-0.028-0.106-0.159-0.477c-0.117-0.328-0.697-1.345-0.835-1.583-0.235 0.869-0.329 1.455-0.244 1.598 0.164 0.277 0.32 0.754 0.457 1.282 0.309 1.189 0.524 2.637 0.524 2.637s0.007 0.096 0.019 0.244c-0.043 0.999-0.017 2.034 0.060 2.97 0.103 1.239 0.295 2.303 0.541 2.873l0.167-0.091c-0.361-1.122-0.508-2.593-0.444-4.289 0.097-2.593 0.694-5.719 1.796-8.978 1.863-4.919 4.447-8.866 6.811-10.751-2.155 1.947-5.073 8.248-5.946 10.581-0.978 2.613-1.671 5.065-2.088 7.414 0.721-2.202 3.050-3.149 3.050-3.149s1.143-1.409 2.478-3.422c-0.8 0.182-2.113 0.495-2.553 0.68-0.649 0.272-0.824 0.365-0.824 0.365s2.102-1.28 3.905-1.86c2.48-3.906 5.182-9.456 2.461-11.884z\"},\"child\":[]}]})(props);\n};\nexport function DiStackoverflow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.080 23.835v5.32h16.767v-10.673l-0.871 0.097-0.903 0.097-0.097 4.417-0.097 4.45h-13.188v-9.028h-1.612v5.32zM8.982 24.641v0.967h10.318v-1.935h-10.318v0.967zM9.137 20.832l-0.105 0.962 10.257 1.118 0.21-1.923-10.257-1.118-0.105 0.962zM9.908 16.282l-0.251 0.934 9.965 2.676 0.502-1.868-9.965-2.676-0.251 0.934zM12.024 10.978l-0.515 0.819 8.734 5.494 1.030-1.638-8.734-5.494-0.515 0.819zM16.965 6.038l-0.797 0.549 5.853 8.498 1.593-1.097-5.853-8.498-0.797 0.549zM23.413 3.549l-0.951 0.177 1.893 10.143 1.902-0.355-1.892-10.143-0.951 0.177z\"},\"child\":[]}]})(props);\n};\nexport function DiStreamline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 14.176c-5.915 0-10.549-2.085-10.549-4.747s4.634-4.747 10.549-4.747 10.549 2.085 10.549 4.747c0 2.662-4.634 4.747-10.549 4.747zM16 5.737c-4.491 0-9.494 1.516-9.494 3.692s5.003 3.692 9.494 3.692c4.491 0 9.494-1.516 9.494-3.692s-5.004-3.692-9.494-3.692zM16 18.396c-5.915 0-10.549-2.085-10.549-4.747v-4.22c0-0.292 0.236-0.527 0.527-0.527s0.527 0.236 0.527 0.527v4.22c0 2.176 5.003 3.692 9.494 3.692s9.494-1.516 9.494-3.692v-4.22c0-0.292 0.236-0.527 0.527-0.527s0.527 0.236 0.527 0.527v4.22c0 2.662-4.634 4.747-10.549 4.747zM16 23.143c-5.915 0-10.549-2.085-10.549-4.747v-4.747c0-0.291 0.236-0.527 0.527-0.527s0.527 0.236 0.527 0.527v4.747c0 2.176 5.003 3.692 9.494 3.692s9.494-1.517 9.494-3.692v-4.747c0-0.291 0.236-0.527 0.527-0.527s0.527 0.236 0.527 0.527v4.747c0 2.662-4.634 4.747-10.549 4.747zM16 27.89c-5.915 0-10.549-2.085-10.549-4.747v-4.747c0-0.291 0.236-0.527 0.527-0.527s0.527 0.236 0.527 0.527v4.747c0 2.176 5.003 3.692 9.494 3.692s9.494-1.517 9.494-3.692v-4.747c0-0.291 0.236-0.527 0.527-0.527s0.527 0.236 0.527 0.527v4.747c0 2.662-4.634 4.747-10.549 4.747z\"},\"child\":[]}]})(props);\n};\nexport function DiStylus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.596 13.975c0.284 0 0.514 0.039 0.689 0.117s0.262 0.175 0.262 0.291c0 0.142-0.036 0.304-0.107 0.485s-0.139 0.33-0.204 0.446c-0.026 0.026-0.058 0.029-0.097 0.010s-0.058-0.055-0.058-0.107c0.039-0.090 0.058-0.22 0.058-0.388 0-0.181-0.048-0.33-0.146-0.446s-0.23-0.175-0.398-0.175c-0.22 0-0.398 0.068-0.534 0.204s-0.204 0.327-0.204 0.572c0 0.207 0.055 0.405 0.165 0.592s0.233 0.376 0.369 0.563c0.136 0.188 0.262 0.388 0.378 0.602s0.175 0.456 0.175 0.728c0 0.465-0.188 0.828-0.563 1.086s-0.867 0.388-1.475 0.388c-0.44 0-0.786-0.071-1.038-0.213s-0.378-0.297-0.378-0.465c0-0.052 0.019-0.123 0.058-0.213s0.090-0.187 0.155-0.291c0.065-0.103 0.136-0.207 0.213-0.31s0.162-0.187 0.252-0.252c0.039-0.026 0.074-0.020 0.107 0.019s0.036 0.078 0.010 0.117c-0.078 0.077-0.136 0.159-0.175 0.243s-0.058 0.197-0.058 0.34c0 0.233 0.078 0.424 0.233 0.572s0.356 0.223 0.601 0.223c0.336 0 0.598-0.094 0.786-0.281s0.281-0.417 0.281-0.689c0-0.246-0.055-0.475-0.165-0.689s-0.23-0.42-0.359-0.621c-0.129-0.201-0.249-0.404-0.359-0.611s-0.165-0.427-0.165-0.66c0-0.336 0.142-0.617 0.427-0.844s0.705-0.34 1.261-0.34zM11.893 14.073c0.065 0.026 0.090 0.062 0.078 0.107s-0.071 0.081-0.175 0.107c-0.194 0-0.417 0.007-0.669 0.019s-0.521 0.033-0.805 0.058c-0.259 0.634-0.472 1.251-0.64 1.853s-0.252 1.090-0.252 1.465c0 0.44 0.168 0.659 0.504 0.659s0.711-0.291 1.126-0.873c0.039-0.026 0.074-0.026 0.107 0s0.042 0.071 0.029 0.136c-0.22 0.362-0.498 0.676-0.834 0.941s-0.666 0.398-0.989 0.398c-0.337 0-0.585-0.081-0.747-0.243s-0.242-0.385-0.242-0.669c0-0.375 0.090-0.892 0.272-1.552s0.414-1.332 0.699-2.018c-0.337 0.039-0.647 0.091-0.931 0.155-0.065-0.013-0.081-0.045-0.048-0.097s0.090-0.107 0.175-0.165c0.084-0.059 0.184-0.11 0.301-0.155s0.226-0.068 0.33-0.068c0.052 0 0.103 0 0.155 0s0.103-0.006 0.155-0.019c0.168-0.375 0.343-0.737 0.524-1.087s0.362-0.666 0.543-0.951c0.077-0.090 0.184-0.171 0.32-0.242s0.268-0.126 0.398-0.165c0.129-0.039 0.236-0.061 0.32-0.068s0.119 0.017 0.107 0.068c-0.22 0.337-0.437 0.712-0.65 1.126s-0.417 0.847-0.611 1.3c0.246-0.013 0.495-0.019 0.747-0.019s0.488 0 0.708 0zM23.664 4.365c0.194 0 0.352 0.049 0.475 0.146s0.207 0.226 0.252 0.388c0.045 0.162 0.052 0.346 0.020 0.553s-0.107 0.414-0.223 0.621c-0.026 0.026-0.058 0.026-0.097 0s-0.065-0.058-0.078-0.097c0.026-0.155-0.029-0.285-0.165-0.388s-0.346-0.155-0.631-0.155c-0.53 0-1.064 0.197-1.601 0.592s-1.057 0.915-1.562 1.562c-0.504 0.647-0.977 1.391-1.416 2.231s-0.821 1.707-1.145 2.6c-0.323 0.892-0.579 1.778-0.767 2.658s-0.281 1.681-0.281 2.406c0 0.388 0.11 0.582 0.33 0.582 0.155 0 0.307-0.065 0.456-0.194s0.32-0.323 0.514-0.582c0.039-0.026 0.074-0.022 0.107 0.010s0.042 0.074 0.029 0.126c-0.259 0.388-0.563 0.711-0.912 0.97s-0.666 0.388-0.951 0.388c-0.246 0-0.417-0.071-0.514-0.213s-0.146-0.323-0.146-0.543c0-0.608 0.129-1.368 0.388-2.28s0.604-1.876 1.038-2.891c0.433-1.015 0.934-2.027 1.504-3.036s1.161-1.918 1.775-2.726c0.614-0.809 1.232-1.465 1.853-1.97s1.203-0.757 1.746-0.757zM6.438 28.206c-0.194 0-0.352-0.049-0.475-0.146s-0.207-0.226-0.252-0.388c-0.045-0.162-0.051-0.346-0.019-0.553s0.107-0.414 0.223-0.621c0.026-0.026 0.058-0.026 0.097 0s0.065 0.058 0.077 0.097c-0.026 0.155 0.029 0.285 0.165 0.388s0.346 0.155 0.63 0.155c0.53 0 1.064-0.197 1.601-0.592s1.057-0.915 1.562-1.561c0.504-0.647 0.977-1.391 1.416-2.231s0.822-1.707 1.145-2.6c0.323-0.892 0.579-1.778 0.766-2.658s0.281-1.681 0.281-2.406c0-0.388-0.11-0.582-0.33-0.582-0.155 0-0.307 0.064-0.456 0.194s-0.32 0.323-0.514 0.582c-0.039 0.026-0.074 0.022-0.107-0.010s-0.042-0.074-0.029-0.126c0.259-0.388 0.563-0.712 0.912-0.97s0.666-0.388 0.951-0.388c0.246 0 0.417 0.071 0.514 0.213s0.146 0.323 0.146 0.543c0 0.608-0.129 1.368-0.388 2.28s-0.604 1.875-1.038 2.891c-0.433 1.015-0.934 2.027-1.504 3.036s-1.161 1.918-1.775 2.726c-0.614 0.808-1.232 1.465-1.853 1.969s-1.203 0.757-1.746 0.757zM19.544 18.942c-0.543 0-0.815-0.297-0.815-0.892 0-0.207 0.022-0.446 0.068-0.718s0.116-0.553 0.213-0.844c0.097-0.291 0.21-0.585 0.34-0.883s0.284-0.582 0.466-0.854c-0.142 0.091-0.278 0.184-0.407 0.281s-0.246 0.197-0.349 0.301c-0.039 0.026-0.075 0.017-0.107-0.029s-0.036-0.087-0.010-0.126c0.22-0.233 0.533-0.472 0.941-0.718s0.798-0.44 1.174-0.582c0.064 0 0.113 0.017 0.145 0.049s0.036 0.075 0.010 0.126c-0.414 0.543-0.747 1.132-0.999 1.765s-0.378 1.249-0.378 1.843c0 0.375 0.116 0.563 0.349 0.563 0.168 0 0.375-0.113 0.621-0.34s0.504-0.524 0.776-0.893c0.272-0.368 0.546-0.786 0.825-1.251s0.533-0.938 0.766-1.417c0.039-0.077 0.152-0.155 0.34-0.233s0.378-0.117 0.572-0.117c0.194 0 0.252 0.052 0.175 0.155-0.181 0.337-0.34 0.65-0.475 0.941s-0.249 0.579-0.34 0.863c-0.091 0.284-0.159 0.572-0.204 0.863s-0.068 0.611-0.068 0.96c0 0.414 0.11 0.621 0.33 0.621s0.466-0.194 0.737-0.582c0.039-0.026 0.078-0.026 0.116 0s0.052 0.065 0.039 0.117c-0.22 0.336-0.463 0.592-0.728 0.766s-0.508 0.262-0.728 0.262c-0.543 0-0.815-0.317-0.815-0.951 0-0.66 0.116-1.313 0.349-1.96-0.492 0.892-1.009 1.601-1.552 2.125s-1.003 0.786-1.378 0.786zM27.557 13.975c0.284 0 0.514 0.039 0.689 0.117s0.262 0.175 0.262 0.291c0 0.142-0.036 0.304-0.107 0.485s-0.139 0.33-0.204 0.446c-0.026 0.026-0.058 0.029-0.097 0.010s-0.058-0.055-0.058-0.107c0.039-0.090 0.058-0.22 0.058-0.388 0-0.181-0.048-0.33-0.146-0.446s-0.23-0.175-0.398-0.175c-0.22 0-0.398 0.068-0.534 0.204s-0.204 0.327-0.204 0.572c0 0.207 0.055 0.405 0.165 0.592s0.233 0.376 0.369 0.563c0.136 0.188 0.262 0.388 0.378 0.602s0.175 0.456 0.175 0.728c0 0.465-0.188 0.828-0.563 1.086s-0.867 0.388-1.474 0.388c-0.44 0-0.786-0.071-1.038-0.213s-0.378-0.297-0.378-0.465c0-0.052 0.019-0.123 0.058-0.213s0.090-0.187 0.155-0.291c0.065-0.103 0.136-0.207 0.213-0.31s0.162-0.187 0.252-0.252c0.039-0.026 0.074-0.020 0.107 0.019s0.035 0.078 0.010 0.117c-0.078 0.077-0.136 0.159-0.175 0.243s-0.058 0.197-0.058 0.34c0 0.233 0.078 0.424 0.233 0.572s0.356 0.223 0.601 0.223c0.336 0 0.598-0.094 0.786-0.281s0.281-0.417 0.281-0.689c0-0.246-0.055-0.475-0.165-0.689s-0.23-0.42-0.359-0.621c-0.129-0.201-0.249-0.404-0.359-0.611s-0.165-0.427-0.165-0.66c0-0.336 0.142-0.617 0.427-0.844s0.705-0.34 1.261-0.34z\"},\"child\":[]}]})(props);\n};\nexport function DiSublime (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 27 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.944 16.286v10.539h21.079v-21.079h-21.079v10.539zM14.895 11.078c0.228 0.056 0.448 0.124 0.655 0.203 0.452 0.173 1.065 0.378 1.476 0.789 0.166 0.166 0.146 0.215-0.234 0.761-0.224 0.312-0.439 0.615-0.478 0.664-0.049 0.049-0.171-0.039-0.566-0.224-0.794-0.373-1.522-0.712-2.323-0.712-1.122 0-1.698 0.429-1.698 1.278 0 0.781 0.537 1.132 2.44 1.62 2.508 0.644 3.396 1.493 3.357 3.23-0.025 1.104-0.863 2.233-1.841 2.661-1.11 0.486-2.413 0.418-3.55 0.066-0.623-0.193-1.272-0.455-1.839-0.779-0.211-0.12-0.5-0.301-0.68-0.481-0.197-0.197-0.096-0.235 0.083-0.462 0.137-0.185 0.381-0.478 0.537-0.654l0.273-0.332 0.654 0.439c0.947 0.634 1.62 0.859 2.576 0.869 0.947 0.010 1.425-0.185 1.776-0.703 0.185-0.264 0.224-0.429 0.176-0.732-0.068-0.585-0.527-0.956-1.591-1.269-2.342-0.703-2.752-0.849-3.123-1.113-0.468-0.342-0.839-0.81-0.995-1.269-0.156-0.468-0.137-1.454 0.049-1.981 0.689-1.958 3.046-2.314 4.866-1.87z\"},\"child\":[]}]})(props);\n};\nexport function DiSwift (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.785 6.188c0 0 5.026 2.991 6.341 7.75 1.186 4.293 0.235 6.341 0.235 6.341s0.707 0.683 1.409 2.348c1.049 2.489 0.235 3.757 0.235 3.757s-0.077-1.75-2.583-2.113c-2.296-0.333-3.132 1.991-7.515 1.879-2.524-0.065-7.783-0.688-12.212-7.045 2.149 1.223 4.957 3.105 8.454 2.818s4.227-1.409 4.227-1.409-6.698-5.44-10.333-11.272c2.742 2.401 9.552 7.166 9.393 7.045-2.078-1.595-6.81-8.219-6.81-8.219s10.216 8.737 11.037 8.689c0.338-0.725 2.085-4.476-1.879-10.568z\"},\"child\":[]}]})(props);\n};\nexport function DiSymfonyBadge (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M27.317 16.285c0 6.251-5.067 11.318-11.317 11.318s-11.317-5.067-11.317-11.318c0-6.25 5.067-11.316 11.317-11.316s11.317 5.066 11.317 11.316zM20.948 9.155c-1.15 0.040-2.153 0.674-2.9 1.55-0.828 0.961-1.378 2.101-1.774 3.265-0.709-0.581-1.256-1.333-2.394-1.662-0.88-0.253-1.803-0.149-2.653 0.484-0.403 0.301-0.68 0.755-0.811 1.182-0.342 1.11 0.358 2.098 0.677 2.453l0.695 0.744c0.143 0.146 0.488 0.527 0.32 1.074-0.182 0.595-0.899 0.979-1.633 0.753-0.328-0.102-0.8-0.346-0.694-0.689 0.043-0.141 0.144-0.247 0.199-0.368 0.049-0.105 0.073-0.183 0.088-0.229 0.134-0.439-0.049-1.009-0.518-1.154-0.438-0.134-0.886-0.028-1.060 0.536-0.197 0.641 0.109 1.803 1.751 2.31 1.924 0.591 3.551-0.457 3.782-1.822 0.146-0.855-0.241-1.492-0.949-2.309l-0.576-0.637c-0.35-0.35-0.469-0.944-0.108-1.401 0.305-0.386 0.74-0.55 1.451-0.357 1.039 0.281 1.502 1.003 2.274 1.584-0.319 1.046-0.527 2.096-0.716 3.039l-0.116 0.702c-0.553 2.897-0.974 4.487-2.070 5.401-0.221 0.157-0.536 0.392-1.012 0.409-0.249 0.008-0.33-0.164-0.334-0.239-0.005-0.175 0.142-0.255 0.24-0.334 0.146-0.080 0.368-0.213 0.353-0.636-0.016-0.502-0.432-0.937-1.032-0.916-0.45 0.015-1.135 0.438-1.109 1.213 0.027 0.8 0.772 1.4 1.897 1.361 0.601-0.020 1.944-0.265 3.267-1.837 1.54-1.803 1.97-3.87 2.295-5.383l0.361-1.997c0.201 0.024 0.416 0.040 0.65 0.046 1.917 0.041 2.876-0.953 2.891-1.675 0.009-0.437-0.287-0.868-0.702-0.858-0.297 0.009-0.67 0.206-0.759 0.617-0.087 0.403 0.61 0.767 0.064 1.12-0.387 0.251-1.082 0.428-2.060 0.284l0.178-0.983c0.363-1.864 0.811-4.157 2.509-4.212 0.124-0.006 0.577 0.005 0.587 0.305 0.003 0.1-0.021 0.126-0.139 0.355-0.12 0.178-0.164 0.33-0.159 0.505 0.017 0.476 0.379 0.789 0.902 0.77 0.701-0.023 0.902-0.705 0.891-1.056-0.029-0.824-0.898-1.345-2.046-1.308z\"},\"child\":[]}]})(props);\n};\nexport function DiSymfony (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.948 9.155c-1.15 0.040-2.153 0.674-2.9 1.55-0.828 0.961-1.378 2.101-1.774 3.265-0.709-0.581-1.256-1.333-2.394-1.662-0.88-0.253-1.803-0.149-2.653 0.484-0.403 0.301-0.68 0.755-0.811 1.182-0.342 1.11 0.358 2.098 0.677 2.453l0.695 0.744c0.143 0.146 0.488 0.527 0.32 1.074-0.182 0.595-0.899 0.979-1.633 0.753-0.328-0.102-0.8-0.346-0.694-0.689 0.043-0.141 0.144-0.247 0.199-0.368 0.049-0.105 0.073-0.183 0.088-0.229 0.134-0.439-0.049-1.009-0.518-1.154-0.438-0.134-0.886-0.028-1.060 0.536-0.197 0.641 0.109 1.803 1.751 2.31 1.924 0.591 3.551-0.457 3.782-1.822 0.146-0.855-0.241-1.492-0.949-2.309l-0.576-0.637c-0.35-0.35-0.469-0.944-0.108-1.401 0.305-0.386 0.74-0.55 1.451-0.357 1.039 0.281 1.502 1.003 2.274 1.584-0.319 1.046-0.527 2.096-0.716 3.039l-0.116 0.702c-0.553 2.897-0.974 4.487-2.070 5.401-0.221 0.157-0.536 0.392-1.012 0.409-0.249 0.008-0.33-0.164-0.334-0.239-0.005-0.175 0.142-0.255 0.24-0.334 0.146-0.080 0.368-0.213 0.353-0.636-0.016-0.502-0.432-0.937-1.032-0.916-0.45 0.015-1.135 0.438-1.109 1.213 0.027 0.8 0.772 1.4 1.897 1.361 0.601-0.020 1.944-0.265 3.267-1.837 1.54-1.803 1.97-3.87 2.295-5.383l0.361-1.997c0.201 0.024 0.416 0.040 0.65 0.046 1.917 0.041 2.876-0.953 2.891-1.675 0.009-0.437-0.287-0.868-0.702-0.858-0.297 0.009-0.67 0.206-0.759 0.617-0.087 0.403 0.61 0.767 0.064 1.12-0.387 0.251-1.082 0.428-2.060 0.284l0.178-0.983c0.363-1.864 0.811-4.157 2.509-4.212 0.124-0.006 0.577 0.005 0.587 0.305 0.003 0.1-0.021 0.126-0.139 0.355-0.12 0.178-0.164 0.33-0.159 0.505 0.017 0.476 0.379 0.789 0.902 0.77 0.701-0.023 0.902-0.705 0.891-1.056-0.029-0.824-0.898-1.345-2.046-1.308z\"},\"child\":[]}]})(props);\n};\nexport function DiTechcrunch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.673 12.51v1.888h3.776v7.551h3.776v-7.551h3.776v7.551h11.327v-3.776h-7.551v-3.776h7.551v-3.776h-7.551v3.776h-3.776v-3.776h-11.327v1.888z\"},\"child\":[]}]})(props);\n};\nexport function DiTerminalBadge (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.392 17.894h6.432v1.608h-6.432v-1.608zM9.568 19.502l4.824-4.824-4.824-4.824-1.608 1.608 3.216 3.216-3.216 3.216z\"},\"child\":[]}]})(props);\n};\nexport function DiTerminal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M25.716 6.696h-19.296c-0.888 0-1.608 0.72-1.608 1.608v16.080c0 0.888 0.72 1.608 1.608 1.608h19.296c0.888 0 1.608-0.72 1.608-1.608v-16.080c0-0.888-0.72-1.608-1.608-1.608zM8.028 17.952l3.216-3.216-3.216-3.216 1.608-1.608 4.824 4.824-4.824 4.824-1.608-1.608zM20.892 19.56h-6.432v-1.608h6.432v1.608z\"},\"child\":[]}]})(props);\n};\nexport function DiTravis (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.392 9.374h4.096v13.12h-1.536v2.24h6.080v-2.496h-1.92v-13.056h4.352v1.92h1.984v-3.904h-15.296v3.904h2.24zM29.263 2.718h-24.848c-0.433 0-0.832 0.321-0.832 0.749v24.845c0 0.428 0.398 0.774 0.832 0.774h24.848c0.433 0 0.753-0.347 0.753-0.774v-24.845c0-0.428-0.319-0.749-0.753-0.749zM25.728 12.382h-4.544v-1.92h-1.792v10.496h1.92v5.056h-8.64v-4.8h1.536v-10.56h-1.536v1.728h-4.8v-6.464h17.856v6.464z\"},\"child\":[]}]})(props);\n};\nexport function DiTrello (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.96 23.567v-16.642c0-0.152-0.049-0.276-0.146-0.374s-0.222-0.146-0.374-0.146h-7.801c-0.152 0-0.276 0.049-0.374 0.146s-0.146 0.222-0.146 0.374v16.642c0 0.152 0.049 0.276 0.146 0.374s0.222 0.146 0.374 0.146h7.801c0.152 0 0.276-0.049 0.374-0.146s0.146-0.222 0.146-0.374zM25.881 17.326v-10.401c0-0.152-0.049-0.276-0.146-0.374s-0.222-0.146-0.374-0.146h-7.801c-0.152 0-0.276 0.049-0.374 0.146s-0.146 0.222-0.146 0.374v10.401c0 0.152 0.049 0.276 0.146 0.374s0.222 0.146 0.374 0.146h7.801c0.152 0 0.276-0.049 0.374-0.146s0.146-0.222 0.146-0.374zM28.482 4.844v22.883c0 0.282-0.103 0.526-0.309 0.732s-0.45 0.309-0.731 0.309h-22.883c-0.282 0-0.525-0.103-0.731-0.309s-0.309-0.45-0.309-0.732v-22.883c0-0.282 0.103-0.526 0.309-0.731s0.45-0.309 0.731-0.309h22.883c0.282 0 0.526 0.103 0.731 0.309s0.309 0.45 0.309 0.731z\"},\"child\":[]}]})(props);\n};\nexport function DiTypo3 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.311 20.252c-0.311 0.092-0.559 0.123-0.884 0.123-2.662 0-6.573-9.303-6.573-12.4 0-1.141 0.271-1.521 0.652-1.847-3.259 0.38-7.17 1.575-8.419 3.096-0.271 0.38-0.434 0.978-0.434 1.738 0 4.835 5.16 15.806 8.8 15.806 1.684 0 4.523-2.77 6.859-6.517zM19.612 5.803c3.368 0 6.736 0.543 6.736 2.444 0 3.857-2.444 8.528-3.694 8.528-2.227 0-4.997-6.192-4.997-9.288 0-1.412 0.543-1.684 1.955-1.684z\"},\"child\":[]}]})(props);\n};\nexport function DiUbuntu (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 4.973c-6.248 0-11.313 5.065-11.313 11.313s5.065 11.313 11.313 11.313c6.248 0 11.313-5.065 11.313-11.313s-5.065-11.313-11.313-11.313zM18.538 8.869c0.417-0.722 1.341-0.97 2.063-0.553s0.97 1.341 0.552 2.063c-0.417 0.722-1.34 0.97-2.063 0.552s-0.97-1.34-0.553-2.062zM16 9.724c0.608 0 1.195 0.084 1.753 0.238 0.098 0.607 0.459 1.166 1.033 1.498s1.237 0.364 1.811 0.147c1.117 1.098 1.844 2.592 1.95 4.256l-2.152 0.032c-0.198-2.254-2.090-4.021-4.394-4.021-0.664 0-1.294 0.148-1.858 0.41l-1.050-1.881c0.877-0.434 1.864-0.679 2.908-0.679zM8.307 17.796c-0.835 0-1.511-0.676-1.511-1.51s0.676-1.511 1.511-1.511c0.834 0 1.51 0.676 1.51 1.511s-0.676 1.51-1.51 1.51zM9.646 17.931c0.477-0.389 0.782-0.981 0.782-1.645s-0.305-1.256-0.782-1.645c0.409-1.581 1.392-2.931 2.713-3.814l1.104 1.85c-1.135 0.799-1.876 2.117-1.876 3.61s0.741 2.811 1.876 3.609l-1.104 1.85c-1.322-0.883-2.305-2.233-2.713-3.815zM20.602 24.255c-0.723 0.417-1.646 0.17-2.063-0.553s-0.17-1.645 0.553-2.063c0.722-0.417 1.646-0.169 2.062 0.553s0.17 1.646-0.553 2.063zM20.597 20.964c-0.574-0.217-1.237-0.184-1.811 0.147-0.574 0.332-0.934 0.891-1.033 1.498-0.558 0.155-1.146 0.239-1.753 0.239-1.044 0-2.031-0.245-2.908-0.68l1.050-1.881c0.565 0.263 1.194 0.41 1.858 0.41 2.305 0 4.196-1.767 4.394-4.021l2.153 0.032c-0.106 1.664-0.833 3.158-1.95 4.256z\"},\"child\":[]}]})(props);\n};\nexport function DiUikit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.859 9.882l4.544 2.479v7.023l-6.61 3.718-6.197-3.718v-5.784l-4.131-2.066v10.742l10.328 6.197 10.742-6.197v-12.394l-4.958-2.479-3.718 2.479zM19.512 6.164l-4.131-2.066-3.718 2.479 4.131 2.066 3.718-2.479z\"},\"child\":[]}]})(props);\n};\nexport function DiUnitySmall (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22.307 5.376c-1.226 0.312-3.254 0.802-4.502 1.137l-2.295 0.579-0.669 1.181-0.668 1.204h-2.786l-6.686 6.686 6.686 6.686h2.741l0.691 1.204c0.379 0.669 0.847 1.27 1.070 1.337 0.379 0.111 3.254 0.892 7.087 1.916 0.958 0.245 1.76 0.424 1.783 0.401 0.044-0.044 0.379-1.226 0.758-2.63s0.936-3.454 1.226-4.547l0.535-1.961-0.646-1.115c-0.357-0.602-0.646-1.181-0.646-1.292s0.29-0.713 0.669-1.315l0.646-1.114-0.468-1.627c-0.914-3.253-1.738-5.906-2.006-6.574l-0.29-0.669-2.229 0.513zM21.259 8.362c-0.044 0.089-0.913 1.649-1.961 3.432l-1.894 3.254h-3.989c-2.206 0-3.945-0.044-3.9-0.111 0.067-0.045 1.204-1.248 2.496-2.652 2.006-2.139 2.541-2.563 3.232-2.697 0.446-0.067 1.828-0.424 3.053-0.758 2.451-0.669 3.075-0.758 2.964-0.468zM23.733 10.19c0.111 0.401 0.535 1.916 0.936 3.365l0.713 2.652-0.624 2.251c-0.334 1.248-0.758 2.808-0.936 3.454-0.178 0.668-0.423 1.114-0.512 1.003-0.089-0.089-1.003-1.605-2.006-3.365-1.226-2.14-1.783-3.298-1.671-3.566 0.267-0.735 3.566-6.486 3.722-6.508 0.067 0 0.245 0.334 0.379 0.713zM18.362 19.059c2.362 3.967 3.008 5.148 2.897 5.237-0.044 0.044-1.604-0.312-3.454-0.78l-3.365-0.891-2.429-2.474c-1.315-1.36-2.452-2.563-2.474-2.674-0.045-0.134 1.449-0.178 3.878-0.156l3.967 0.067 0.981 1.671z\"},\"child\":[]}]})(props);\n};\nexport function DiVim (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 34 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.752 19.442c0.042 0.042 0.125 0.105 0.188 0.105h1.109c0.063 0 0.146-0.063 0.188-0.105l0.293-0.314c0.042-0.042 0.063-0.084 0.063-0.125l0.314-1.067c0.021-0.105 0-0.209-0.063-0.272l-0.23-0.188c-0.042-0.042-0.125-0.021-0.188-0.021h-1.004l-0.063-0.063c-0.042 0-0.084-0.021-0.126 0.021l-0.398 0.251c-0.042 0-0.063 0.105-0.084 0.146l-0.335 1.025c-0.042 0.105-0.021 0.23 0.063 0.314l0.272 0.293zM18.919 24.966l-0.084 0.021h-0.251l1.507-4.415c0.042-0.146-0.021-0.314-0.167-0.356l-0.084-0.021h-2.532c-0.105 0.021-0.188 0.105-0.209 0.209l-0.146 0.523c-0.042 0.146 0.063 0.272 0.209 0.314l0.063-0.021h0.377l-1.528 4.373c-0.042 0.146 0.021 0.335 0.167 0.398l0.084 0.063h2.344c0.125 0 0.23-0.105 0.272-0.23l0.146-0.502c0.063-0.147-0.021-0.314-0.167-0.356v0zM30.031 20.844l-0.398-0.523v-0.021c-0.063-0.063-0.125-0.125-0.209-0.125h-1.507c-0.084 0-0.146 0.084-0.209 0.125l-0.419 0.502h-0.649l-0.439-0.502v-0.021c-0.042-0.063-0.126-0.105-0.209-0.105h-0.837l4.227-4.227-4.729-4.687 4.227-4.352v-1.883l-0.586-0.753h-8.558l-0.691 0.732v0.607l-2.365-2.385-1.611 1.569-0.502-0.523h-8.454l-0.67 0.774v1.967l0.628 0.607h0.628v5.461l-2.929 2.929 2.929 2.93v6.696l1.088 0.607h2.427l1.904-1.988 4.52 4.52 3.034-3.034c0.021 0.084 0.084 0.105 0.188 0.146l0.084-0.042h1.967c0.126 0 0.23-0.021 0.251-0.125l0.146-0.418c0.042-0.146-0.021-0.272-0.167-0.314l-0.084 0.021h-0.084l0.712-2.239 0.481-0.481h1.046l-1.046 3.327c-0.042 0.146 0.042 0.23 0.188 0.293l0.084-0.042h1.904c0.105 0 0.209-0.021 0.251-0.125l0.167-0.377c0.063-0.146-0.021-0.272-0.146-0.335-0.021-0.021-0.063 0-0.105 0h-0.084l0.879-2.72h1.276l-1.067 3.327c-0.042 0.146 0.042 0.23 0.188 0.272l0.084-0.063h2.093c0.105 0 0.209-0.021 0.251-0.125l0.167-0.418c0.063-0.146-0.021-0.272-0.167-0.314-0.021-0.021-0.063 0.021-0.105 0.021h-0.146l1.172-3.871c0.042-0.105 0.021-0.23-0.021-0.293v0zM16.68 3.623l2.365 2.365v0.984l0.711 0.858h0.335l-6.068 5.859v-5.859h0.691l0.565-0.879v-1.862l-0.042-0.063 1.444-1.402zM4.167 16.010l2.532-2.532v5.064l-2.532-2.532zM12.307 24.025l12.22-12.555 4.478 4.499-4.227 4.227h-0.021c-0.063 0.021-0.105 0.063-0.146 0.105l-0.439 0.502h-0.607l-0.46-0.502c-0.042-0.063-0.126-0.125-0.209-0.125h-1.841c-0.125 0-0.23 0.084-0.272 0.209l-0.167 0.523c-0.042 0.146 0.021 0.272 0.167 0.335h0.314l-1.339 3.955-3.16 3.181-4.29-4.352z\"},\"child\":[]}]})(props);\n};\nexport function DiVisualstudio (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.319 9.414c-2.444 2.444-4.5 4.435-4.597 4.435-0.081 0-1.424-0.987-2.962-2.185l-2.784-2.185-2.266 1.133v11.331l2.266 1.133 2.574-2.007c1.425-1.117 2.736-2.12 2.914-2.234 0.324-0.194 0.647 0.097 4.84 4.274l4.484 4.484 2.752-1.117 2.752-1.101v-18.195l-2.104-0.842c-1.149-0.47-2.396-0.955-2.768-1.101l-0.664-0.259-4.435 4.435zM21.706 16.278c0 2.493-0.032 4.532-0.097 4.532-0.227 0-5.73-4.435-5.682-4.581 0.049-0.178 5.471-4.468 5.666-4.468 0.065-0.016 0.114 2.023 0.114 4.516zM8.837 14.659l1.619 1.619-1.619 1.619c-0.89 0.89-1.667 1.619-1.732 1.619-0.081 0-0.13-1.457-0.13-3.237s0.048-3.238 0.13-3.238c0.065 0 0.842 0.729 1.732 1.619z\"},\"child\":[]}]})(props);\n};\nexport function DiW3C (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M25.436 11.661l-0.393 0.783-0.052-0.092c-0.086-0.15-0.274-0.429-0.378-0.558-0.28-0.348-0.661-0.603-1.046-0.699-0.155-0.038-0.456-0.039-0.597-0.001-0.275 0.075-0.536 0.236-0.78 0.482-0.291 0.292-0.53 0.683-0.729 1.189-0.219 0.556-0.33 1.103-0.367 1.817-0.041 0.776 0.067 1.529 0.311 2.183 0.061 0.16 0.143 0.353 0.149 0.347 0.002-0.002-0.004-0.043-0.013-0.092-0.058-0.304-0.082-0.919-0.054-1.358 0.030-0.456 0.118-0.888 0.29-1.418 0.176-0.548 0.385-0.908 0.724-1.257 0.342-0.351 0.648-0.505 1.051-0.528 0.288-0.015 0.511 0.057 0.831 0.27 0.302 0.203 0.584 0.523 0.813 0.927 0.035 0.061 0.067 0.106 0.072 0.101 0.018-0.020 0.777-1.485 0.782-1.508 0.004-0.020-0.2-1.312-0.215-1.359-0.002-0.006-0.181 0.341-0.397 0.771zM5.873 10.969c0.003 0.016 0.718 2.429 1.588 5.365l1.581 5.338h0.141l0.99-3.315c0.544-1.824 0.993-3.316 0.996-3.316s0.452 1.492 0.996 3.316l0.99 3.315h0.139l1.362-4.596c1.344-4.536 1.363-4.597 1.424-4.703l0.063-0.108h2.245l-0.040 0.068c-0.023 0.038-0.44 0.76-0.928 1.606l-0.889 1.536v0.639h0.35c0.37 0 0.526 0.011 0.713 0.048 0.691 0.141 1.138 0.595 1.301 1.324 0.091 0.404 0.101 0.901 0.030 1.321-0.112 0.662-0.442 1.224-0.845 1.439-0.161 0.087-0.239 0.104-0.465 0.102-0.172-0.001-0.211-0.005-0.311-0.031-0.269-0.073-0.446-0.177-0.66-0.394-0.209-0.211-0.354-0.43-0.496-0.744-0.036-0.080-0.063-0.128-0.073-0.125-0.014 0.004-0.877 0.36-1.013 0.418l-0.057 0.024 0.048 0.133c0.293 0.821 0.829 1.474 1.476 1.797 0.306 0.154 0.597 0.23 0.953 0.25 0.63 0.036 1.198-0.126 1.659-0.477 0.13-0.098 0.36-0.322 0.469-0.457 0.429-0.53 0.679-1.133 0.782-1.883 0.035-0.255 0.044-0.796 0.018-1.066-0.106-1.107-0.581-1.981-1.348-2.482-0.148-0.097-0.386-0.216-0.566-0.282-0.075-0.029-0.142-0.056-0.146-0.060-0.005-0.005 0.43-0.766 0.968-1.693l0.978-1.685v-0.649h-5.214l-0.959 3.259c-0.527 1.792-0.96 3.259-0.964 3.259s-0.411-1.377-0.904-3.060c-0.494-1.682-0.926-3.148-0.958-3.259l-0.060-0.199h-0.696c-0.658 0-0.696 0.001-0.69 0.020 0.004 0.012 0.147 0.492 0.317 1.066l0.311 1.044-0.647 2.194c-0.356 1.207-0.649 2.193-0.653 2.193s-0.437-1.467-0.964-3.259l-0.958-3.259h-1.391l0.006 0.026zM20.606 18.477c0 0.020 0.194 0.587 0.245 0.718 0.069 0.179 0.251 0.549 0.362 0.742 0.199 0.343 0.45 0.676 0.703 0.929 0.418 0.422 0.835 0.651 1.346 0.741 0.119 0.020 0.548 0.020 0.667 0 0.355-0.063 0.667-0.193 0.941-0.394 0.475-0.347 0.885-0.823 1.189-1.38l0.073-0.133-0.1-0.519c-0.055-0.287-0.101-0.523-0.105-0.526-0.002-0.002-0.054 0.080-0.116 0.183-0.144 0.243-0.311 0.494-0.413 0.622-0.044 0.055-0.169 0.189-0.278 0.298-0.305 0.306-0.542 0.485-0.825 0.618-0.421 0.2-0.733 0.267-1.123 0.239-0.28-0.019-0.437-0.054-0.675-0.15-0.346-0.138-0.608-0.319-0.956-0.659-0.309-0.304-0.442-0.488-0.796-1.102-0.135-0.233-0.141-0.244-0.141-0.229z\"},\"child\":[]}]})(props);\n};\nexport function DiWebplatform (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.695 4.961c-0.253 0.042-0.601 0.163-0.866 0.3-0.699 0.357-1.227 0.981-1.483 1.741-0.154 0.463-0.143-0.225-0.143 8.724 0 7.142 0.004 8.102 0.033 8.274 0.128 0.736 0.533 1.428 1.102 1.873 0.571 0.445 1.166 0.648 1.895 0.648 0.646 0 1.179-0.159 1.712-0.509 0.181-0.121 0.535-0.465 3.131-3.058l2.924-2.922 2.926 2.922c2.593 2.593 2.948 2.937 3.129 3.058 0.533 0.35 1.067 0.509 1.712 0.509 0.346 0 0.626-0.037 0.897-0.123 1.108-0.348 1.917-1.269 2.1-2.393 0.029-0.181 0.033-1.205 0.033-8.281 0-8.946 0.011-8.259-0.143-8.722-0.308-0.921-1.011-1.624-1.932-1.932-0.304-0.101-0.582-0.143-0.954-0.143s-0.65 0.042-0.954 0.143c-1.062 0.357-1.816 1.223-2.047 2.353-0.033 0.165-0.037 0.555-0.044 4.442l-0.009 4.264-1.404-1.401c-1.525-1.52-1.538-1.531-2.012-1.756-0.811-0.388-1.785-0.388-2.596 0-0.474 0.225-0.487 0.236-2.012 1.756l-1.404 1.401-0.009-4.264c-0.009-4.715 0.002-4.361-0.15-4.839-0.339-1.066-1.287-1.888-2.378-2.067-0.26-0.042-0.8-0.040-1.056 0.002zM8.493 6.766c0.441 0.093 0.824 0.469 0.93 0.917 0.194 0.824-0.531 1.606-1.371 1.479-0.39-0.059-0.732-0.311-0.908-0.668-0.45-0.917 0.348-1.939 1.348-1.728zM24.027 6.766c0.701 0.148 1.133 0.915 0.89 1.582-0.141 0.39-0.403 0.641-0.809 0.778-0.086 0.029-0.185 0.042-0.342 0.042s-0.256-0.013-0.342-0.042c-0.35-0.117-0.597-0.326-0.747-0.632-0.45-0.917 0.348-1.939 1.349-1.728zM16.306 14.544c0.754 0.2 1.124 1.036 0.769 1.736-0.13 0.258-0.405 0.491-0.696 0.593-0.209 0.070-0.549 0.070-0.758 0-0.529-0.183-0.855-0.663-0.826-1.216 0.026-0.531 0.379-0.972 0.89-1.113 0.143-0.040 0.476-0.040 0.621 0zM8.618 22.334c0.851 0.289 1.106 1.36 0.474 1.994-0.247 0.249-0.516 0.364-0.855 0.364-0.337 0-0.615-0.115-0.855-0.352-0.476-0.472-0.48-1.236-0.009-1.708 0.154-0.154 0.388-0.286 0.591-0.333 0.187-0.042 0.474-0.026 0.654 0.035zM24.153 22.332c0.851 0.289 1.106 1.362 0.474 1.996-0.249 0.251-0.516 0.364-0.859 0.364-0.322 0-0.59-0.106-0.824-0.322-0.707-0.654-0.401-1.831 0.54-2.069 0.181-0.044 0.485-0.031 0.67 0.031z\"},\"child\":[]}]})(props);\n};\nexport function DiWindows (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.821 15.761h-9.038v-7.747l9.038-1.291zM27.217 15.761h-12.185v-9.198l12.185-1.777zM13.821 16.81h-9.038v7.747l9.038 1.291zM27.217 16.81h-12.185v9.198l12.185 1.777z\"},\"child\":[]}]})(props);\n};\nexport function DiWordpress (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.681 16.27c0 4.473 2.6 8.342 6.371 10.171l-5.391-14.773c-0.628 1.407-0.98 2.962-0.98 4.602zM23.616 15.699c0-1.397-0.503-2.365-0.932-3.118-0.573-0.932-1.109-1.719-1.109-2.652 0-1.039 0.785-2.006 1.898-2.006 0.048 0 0.097 0.007 0.145 0.010-2.010-1.842-4.689-2.968-7.632-2.968-3.95 0-7.424 2.027-9.444 5.096 0.266 0.008 0.515 0.014 0.727 0.014 1.183 0 3.013-0.145 3.013-0.145 0.608-0.034 0.68 0.859 0.071 0.932 0 0-0.611 0.071-1.293 0.108l4.117 12.243 2.474-7.418-1.762-4.825c-0.609-0.037-1.185-0.108-1.185-0.108-0.61-0.037-0.537-0.966 0.073-0.932 0 0 1.865 0.145 2.976 0.145 1.182 0 3.014-0.145 3.014-0.145 0.607-0.034 0.679 0.859 0.070 0.932 0 0-0.611 0.071-1.292 0.108l4.085 12.15 1.128-3.766c0.573-1.47 0.861-2.686 0.861-3.655zM16.184 17.259l-3.393 9.856c1.012 0.297 2.082 0.459 3.194 0.459 1.315 0 2.579-0.228 3.754-0.642-0.030-0.048-0.058-0.099-0.081-0.154l-3.474-9.519zM25.904 10.846c0.050 0.361 0.078 0.747 0.078 1.164 0 1.146-0.215 2.435-0.861 4.049l-3.453 9.981c3.36-1.958 5.619-5.598 5.619-9.769 0-1.967-0.502-3.814-1.384-5.425z\"},\"child\":[]}]})(props);\n};\nexport function DiYahooSmall (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22.905 12.869c0.125-0.025 0.312-0.066 0.522-0.112h1.63l0.254-0.375c0.005-0.003 0.015-0.004 0.020-0.004l0.631-0.911c-0.009 0-0.024-0.002-0.031-0.002l0.066-0.099h-8.835l0.34 1.39h2.411l-4.057 3.662c-0.828-1.143-2.769-3.526-4.122-5.498h3.037v-1.057l0.035-0.234c-0.009-0.002-0.026-0.004-0.035-0.004v-0.095h-10.074v1.391h2.987c1.16 0.907 5.594 6.444 5.779 6.997 0.074 0.517 0.142 3.57-0.076 3.8-0.436 0.461-2.425 0.339-2.904 0.373l-0.166 0.946c0.876 0.026 3.727-0.071 4.613-0.071 1.747 0 4.805-0.008 5.237 0.025l0.053-0.992c-0.441-0.075-2.849-0.009-3.182-0.085-0.074-0.481-0.155-3.694-0.081-4.027 0.333-0.959 5.392-4.868 5.947-5.017zM24.372 20.464l1.353 0.108 1.577-6.090c-0.263-0.009-2.656-0.235-2.966-0.295l0.037 6.278zM24.138 21.441l0.008 1.486 0.685 0.060 0.74 0.055 0.217-1.456-0.78-0.038z\"},\"child\":[]}]})(props);\n};\nexport function DiYahoo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.787 13.402l-0.001 0 0.001-0.001c-0.239 0.084-0.434 0.079-0.669 0l-0.001-0.001c-0.773 1.94-1.664 4.129-2.465 5.762l0.007-0.002-0.004 0.002c0.366-0.091 0.716-0.063 0.947-0-0-0-0.001-0.001-0.002-0.001l0.001 0c0.204-0.516 0.437-1.101 0.669-1.689l0.001 0.001c0.787-0.023 1.574-0.026 2.361 0l0-0c0.224 0.563 0.448 1.126 0.667 1.69v0c0 0 0 0 0 0 0.35-0.092 0.699-0.067 0.957-0.002h0l0.001 0-0.001-0c-0.577-1.078-1.735-3.898-2.472-5.76zM8.473 17.072c-0.681 0.024-1.362 0.024-2.042 0l-0 0c0.417-1.057 0.812-2.077 1.021-2.677 0.318 0.887 0.669 1.782 1.024 2.678l-0.003-0.001zM4.652 19.165l0.003-0.001c-0.001 0-0.002 0-0.003 0.001v0.001zM6.042 12.636c-0 0-0 0-0.001 0l0-0c-0.346 0.078-0.658 0.081-0.967 0-0.273 0.508-1.279 2.153-1.92 3.206-0.65-1.076-1.419-2.318-1.92-3.206-0.397 0.085-0.564 0.090-0.96 0 0.787 1.186 2.048 3.444 2.477 4.186l-0.057 3.091c0 0 0.277-0.046 0.462-0.046 0.205 0 0.46 0.046 0.46 0.046l-0.058-3.091c0.8-1.404 2.122-3.695 2.484-4.186zM18.976 13.326c-2.037 0-3.105 1.291-3.105 2.965 0 1.832 1.166 2.949 3.102 2.949 2.093 0 3.115-1.259 3.115-2.93 0-1.863-1.22-2.984-3.111-2.984zM18.982 18.915c-1.358 0-2.155-0.973-2.155-2.614 0-1.856 0.983-2.603 2.099-2.626 0.018-0 0.036 0 0.053 0 1.245 0 2.16 0.848 2.16 2.621-0 1.77-0.913 2.618-2.157 2.618zM30.221 19.015c-0.302 0-0.453 0.23-0.453 0.478 0 0.292 0.233 0.442 0.522 0.442 0.209 0 0.436-0.127 0.436-0.471 0-0.276-0.216-0.449-0.505-0.449zM31.323 12.72l-0 0v-0c0 0-0.060-0.008-0.1-0.008-0.23 0-0.459 0.135-0.459 0.48-0.137 1.734-0.279 3.472-0.513 5.126l-0.001 0.001c0 0 0 0 0.001-0v0l0.001-0c0.142-0.024 0.251 0.013 0.358 0.056l-0.001-0.001c0.266-1.68 0.897-4.197 1.058-4.909 0.023-0.1 0.058-0.219 0.058-0.303 0-0.254-0.161-0.402-0.402-0.442zM26.007 12.98c-2.028 0-3.578 1.152-3.578 3.293 0 1.764 1.031 3.317 3.595 3.317 2.171 0 3.588-1.193 3.588-3.286 0-1.973-1.322-3.324-3.605-3.324zM26.012 19.241c-1.373 0-2.624-0.806-2.624-2.981 0-2.255 1.387-2.922 2.622-2.922 1.523 0 2.645 0.925 2.645 2.966-0 2.218-1.357 2.938-2.642 2.938zM14.635 13.404c0.047 0.895 0.070 1.791 0.073 2.688-1.073 0.025-2.145 0.027-3.216 0 0.003-0.897 0.026-1.793 0.073-2.688-0.314 0.076-0.634 0.078-0.96 0 0.084 1.923 0.076 3.843 0 5.76 0.312-0.075 0.631-0.078 0.959 0l-0.002-0.001 0.003 0.001c-0.047-0.894-0.070-1.787-0.073-2.679 1.072-0.015 2.144-0.016 3.216-0.001-0.003 0.893-0.026 1.786-0.073 2.68l0.003-0.001-0.002 0.001c0.328-0.078 0.647-0.075 0.959 0-0.076-1.917-0.084-3.836 0-5.76-0.326 0.078-0.646 0.076-0.96-0z\"},\"child\":[]}]})(props);\n};\nexport function DiYeoman (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.83 15.028l-0.069-0.189c-0.016 0.009-0.033 0.018-0.050 0.026l0.119 0.162zM17.336 14.624l-0.132-0.151c-0.012 0.015-0.026 0.028-0.038 0.042l0.17 0.109zM17.662 14.063l-0.178-0.093c-0.006 0.018-0.013 0.036-0.019 0.053l0.197 0.040zM17.763 13.423l-0.201-0.023c0.001 0.019 0.003 0.038 0.003 0.057l0.198-0.034zM17.627 12.789l-0.195 0.051c0.008 0.017 0.015 0.035 0.022 0.052l0.173-0.103zM14.977 14.908l0.138-0.145c-0.016-0.011-0.030-0.023-0.045-0.034l-0.092 0.179zM16.211 15.223l0.004-0.201c-0.019 0.003-0.037 0.007-0.056 0.008l0.052 0.193zM15.564 15.181l0.077-0.186c-0.018-0.004-0.037-0.009-0.055-0.014l-0.022 0.2zM15.115 14.763c0.142 0.098 0.301 0.171 0.472 0.218l0.088-0.806-0.559 0.588zM16.743 11.872l-0.11 0.169c0.017 0.008 0.034 0.016 0.051 0.025l0.058-0.193zM14.476 12.585l0.157 0.124c0.009-0.017 0.019-0.032 0.029-0.048l-0.187-0.076zM14.258 13.195l0.191 0.059c0.003-0.019 0.005-0.037 0.009-0.056l-0.2-0.003zM14.276 13.843l0.199-0.014c-0.004-0.018-0.009-0.036-0.013-0.055l-0.187 0.069zM17.271 12.248l-0.163 0.118c0.013 0.013 0.025 0.028 0.038 0.042l0.125-0.16zM14.526 14.441l0.181-0.085c-0.011-0.016-0.020-0.032-0.030-0.048l-0.151 0.133zM15.641 14.995c0.116 0.027 0.235 0.043 0.359 0.043 0.054 0 0.107-0.003 0.16-0.008l-0.21-0.784-0.309 0.749zM16.115 11.712l-0.041 0.198c0.019 0.001 0.038 0.001 0.057 0.003l-0.015-0.2zM15.471 11.789l0.033 0.198c0.018-0.006 0.036-0.012 0.054-0.017l-0.086-0.181zM14.899 12.094l0.102 0.172c0.015-0.012 0.030-0.023 0.045-0.034l-0.147-0.138zM16.761 14.84c0.153-0.085 0.289-0.196 0.405-0.325l-0.681-0.437 0.276 0.762zM16.476 13.543c0 0.263-0.213 0.476-0.476 0.476s-0.476-0.213-0.476-0.476c0-0.263 0.213-0.476 0.476-0.476s0.476 0.213 0.476 0.476zM14.476 13.829c0.040 0.172 0.109 0.334 0.201 0.479l0.608-0.536-0.809 0.057zM14.45 13.254c-0.010 0.071-0.017 0.144-0.017 0.218 0 0.103 0.011 0.204 0.030 0.302l0.762-0.281-0.775-0.239zM15.069 14.729l0.372-0.719-0.734 0.346c0.099 0.144 0.222 0.269 0.362 0.373zM16 15.642c1.197 0 2.17-0.973 2.17-2.169s-0.974-2.171-2.17-2.171-2.17 0.974-2.17 2.171c0 1.196 0.974 2.169 2.17 2.169zM16 11.67c0.994 0 1.802 0.809 1.802 1.802s-0.809 1.802-1.802 1.802-1.802-0.808-1.802-1.802c0-0.994 0.809-1.802 1.802-1.802zM14.633 12.709c-0.084 0.15-0.143 0.315-0.175 0.49l0.811 0.013-0.636-0.503zM21.889 22.537c-4.13-1.028-5.889 1.067-5.889 1.067-0.020 2.095 2.846 5.85 6.363 6.304s5.77-1.225 5.77-1.225-2.114-5.118-6.244-6.146zM10.111 22.537c-4.13 1.027-6.244 6.146-6.244 6.146s2.253 1.68 5.77 1.225c3.517-0.454 6.383-4.209 6.363-6.304 0-0-1.759-2.095-5.889-1.067zM16.216 15.022c0.176-0.024 0.343-0.078 0.495-0.156l-0.478-0.654-0.018 0.81zM4.499 18.209h23.002l0.711-2.134h-3.378l0.662-3.826 0.881-5.095c0 0-2.327-4.568-10.326-4.568-9.723 0-10.428 4.568-10.428 4.568l1.543 8.921h-3.379l0.711 2.134zM16 10.976c1.377 0 2.497 1.12 2.497 2.497 0 1.376-1.12 2.495-2.497 2.495s-2.497-1.12-2.497-2.495c0-1.377 1.12-2.497 2.497-2.497zM17.563 13.4c-0.008-0.178-0.046-0.349-0.109-0.508l-0.695 0.415 0.804 0.092zM17.484 13.97c0.053-0.156 0.082-0.324 0.082-0.498 0-0.005-0.001-0.010-0.001-0.015l-0.799 0.137 0.718 0.376zM17.204 14.473c0.111-0.133 0.198-0.285 0.261-0.449l-0.794-0.161 0.533 0.611zM17.432 12.84c-0.071-0.16-0.168-0.306-0.286-0.433l-0.497 0.637 0.784-0.205zM17.108 12.366c-0.122-0.123-0.266-0.224-0.423-0.3l-0.234 0.775 0.657-0.474zM15.001 12.267c-0.134 0.111-0.248 0.245-0.338 0.394l0.751 0.305-0.412-0.699zM16.073 11.909c-0.025-0.001-0.049-0.004-0.073-0.004-0.154 0-0.302 0.023-0.442 0.065l0.35 0.732 0.166-0.792zM15.504 11.987c-0.167 0.056-0.321 0.139-0.458 0.245l0.59 0.555-0.132-0.8zM16.633 12.040c-0.156-0.069-0.325-0.114-0.503-0.128l0.062 0.807 0.441-0.679z\"},\"child\":[]}]})(props);\n};\nexport function DiYii (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M26.783 0.593c-3.563 0.133-7.895 4.609-6.413 8.783 1.569 4.141 2.574 7.087 2.784 11.708 3.766-3.789 7.225-7.902 7.504-12.675 0.092-3.873-1.741-6.728-3.876-7.815zM17.387 17.789c-0.535 0.956-1.237 1.994-2.152 3.132-1.923 2.423-3.862 6.398-3.265 11.058 7.943-0.877 10.423-6.838 10.641-10.114-1.497-2.259-4.213-3.649-5.224-4.076zM1.369 3.489c-0.282 3.646 1.277 9.067 7.599 10.792 2.662 0.788 4.527 1.274 6.546 2.007 2.952 1.073 5.269 2.442 7.105 4.805-0.341-4.066-2.015-8.726-4.69-12.36-3.815-5.185-10.422-7.674-16.561-5.244z\"},\"child\":[]}]})(props);\n};\nexport function DiZend (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"version\":\"1.1\",\"viewBox\":\"0 0 32 32\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.334 14.023c0 0 0-2.972 2.972-2.972h8.917c0 0 0 2.972-2.972 2.972h-8.917zM15.334 17.821c0 0 0-2.972 2.972-2.972h4.459c0 0 0 2.972-2.972 2.972h-4.459zM15.334 21.619c0 0 0-2.972 2.972-2.972h1.486c0 0 0 2.972-2.972 2.972h-1.486zM14.336 19.3v2.371h-9.559l6.158-8.399h-5.286v-2.371h9.972l-6.129 8.4z\"},\"child\":[]}]})(props);\n};\n","import React, { useEffect } from 'react'\nimport '../../../assets/css/mainsite/timeline.scss'\nimport { DiReact, DiCode, DiNetmagazine } from 'react-icons/di'\nimport { AiOutlineUser, AiOutlineCloud, AiOutlineDatabase, AiOutlineCheck, AiOutlineLogin } from 'react-icons/ai'\nimport { Row } from 'reactstrap'\nimport TextOnImage from '../../shared/textOnImage'\nimport image from '../../../assets/images/about.jpg'\nconst About = () => {\n\n useEffect(() => {\n document.title = 'About us | Providing IT consultancy services for over 35 years | Mobyte';\n\n // Create meta description\n const metaDescription = document.createElement('meta');\n metaDescription.setAttribute('name', 'description');\n metaDescription.content = 'Professional software services provider that specializes in delivering fully managed solutions based on Microsoft .NET, React and JavaScript.';\n\n // Create meta keywords\n const metaKeywords = document.createElement('meta');\n metaKeywords.setAttribute('name', 'keywords');\n metaKeywords.content = 'IT services, technology solutions, company mission, values, expertise';\n\n const metaRobots = document.createElement('meta');\n metaRobots.setAttribute('name', 'robots');\n metaRobots.content = 'index';\n document.head.appendChild(metaRobots);\n\n // Append both meta elements to the head\n document.head.appendChild(metaDescription);\n document.head.appendChild(metaKeywords);\n document.head.appendChild(metaKeywords);\n\n return () => {\n // Clean up added meta tags when component unmounts\n document.head.removeChild(metaDescription);\n document.head.removeChild(metaKeywords);\n document.head.removeChild(metaRobots);\n\n };\n }, []);\n\n const subheading = (\n \n About us\n \n )\n\n\n return (\n
\n\n\n \n\n
\n
\n

\n Providing IT consultancy services for over 35 years\n

\n
\n {/* \n
\n Our Story\n
\n
*/}\n\n\n \n
    \n
  • \n
    \n
    \n
    \n

    2024 - Mobyte website revamp

    \n
    \n
    \n

    We embarked on a transformative journey to revamp the Mobyte website, elevating every aspect of our online presence. Through meticulous design enhancements and SEO optimization, we've crafted an immersive digital space that not only reflects our brand ethos but also ensures seamless user engagement. Moreover, we've embraced our new brand colors, infusing vibrancy and cohesion into every pixel.

    \n
    \n
    \n
  • \n
  • \n
    \n
    \n
    \n

    2023 - Introducing the next generation of cards database

    \n
    \n
    \n

    \n We undertook a transformative journey to modernize the Cards Database, a cornerstone of aviation refueling card management. Our mission was clear: to transition from a static Access database to a dynamic web-based application, equipped with state-of-the-art technologies. This initiative involved phasing out outdated packages and developing a robust ASP.NET Core API for seamless database interaction. In the final stage, we revamped the user interface into a dynamic React Single Page Application (SPA), integrating advanced features like OAuth for secure Single Sign-On (SSO) authentication. The result? A reimagined Cards Database that sets new standards in efficiency, usability, and security, empowering airfields worldwide to operate at their best.\n

    \n
    \n
    \n
  • \n
  • \n
    \n
    \n
    \n

    2022 - Unveiling the new Mobyte website

    \n
    \n
    \n

    We proudly unveiled the revamped Mobyte website, leveraging the latest technologies to deliver an unparalleled user experience. Our team embarked on a comprehensive redevelopment journey, harnessing the power of ASP.NET Core, React, and MSAL (formerly ASP.NET Framework). This strategic overhaul not only enhances the website's performance and responsiveness but also reflects our commitment to innovation and user-centric design.

    \n
    \n
    \n
  • \n
  • \n
    \n
    \n
    \n

    2022 - Streamlining authentication with single sign-On (SSO)

    \n
    \n
    \n

    We took a significant step forward by implementing Single Sign-On (SSO) authentication across multiple applications. Leveraging the power of the Microsoft Authentication Library (MSAL) for React, we seamlessly integrated SSO functionality, providing users with a unified authentication experience. This implementation not only enhances security but also simplifies access management, improving user productivity and experience across our digital ecosystem.

    \n
    \n
    \n
  • \n
  • \n
    \n
    \n
    \n

    2021 - RADAR application

    \n
    \n
    \n

    A revolutionary document control platform designed and developed by our team. RADAR represents a significant leap forward in streamlining the process of authoring and approving technical, grammatical, and regulatory changes across various documents. This innovative digital solution empowers businesses with simplified workflows, ensuring efficiency and accuracy in managing document revisions and approvals.

    \n
    \n
    \n
  • \n
  • \n
    \n
    \n
    \n

    2021 - CADOPS redevelopment

    \n
    \n
    \n

    We initiated a multi-phased project to transform the existing CADOPS application into a cutting-edge digital web application. The initial phases focused on removing the system's offline capabilities and developing an ASP.NET Core API to interact with the central SQL server database. The latest phase involved redeveloping the front-end into a dynamic React Single Page Application (SPA), incorporating OAuth for secure Single Sign-On (SSO) authentication. This redevelopment has significantly enhanced the application's functionality, usability, and security.

    \n
    \n
    \n
  • \n
  • \n
    \n
    \n
    \n

    2018 - Cloud migration initiative

    \n
    \n
    \n

    We spearheaded a multi-phased project to migrate numerous Windows 2003 on-premise servers to the AWS cloud. Our team meticulously planned and executed this complex transition, ensuring a seamless migration process. This strategic move to the cloud enhanced our infrastructure's scalability, reliability, and efficiency, positioning us at the forefront of modern technological advancements.

    \n
    \n
    \n
  • \n
  • \n
    \n
    \n
    \n

    2012 - CADOPS project launch

    \n
    \n
    \n

    We embarked on the development of the CADOPS project, a cutting-edge training planning and evaluation application. Designed as a client-server implementation with offline capabilities, CADOPS revolutionized the way organizations manage employee training. It enabled users to set up comprehensive training programs, produce standardized documentation and assessment papers, and submit and report on training results. This powerful tool was instrumental in managing risk, enhancing personal safety, and developing staff competency.

    \n
    \n
    \n
  • \n
  • \n
    \n
    \n
    \n

    2011 - Lawrence Whale joins the team

    \n
    \n
    \n

    We welcomed Lawrence Whale to our team. With a BSc(Hons) degree in Business, Lawrence brought fresh insights and expertise to our company. As a Lead Consultant, he took on the crucial role of coordinating a variety of upcoming IT projects, driving our growth and innovation forward.

    \n
    \n
    \n
  • \n
  • \n
    \n
    \n
    \n

    1998 - Intercompany website

    \n
    \n
    \n

    We took a significant leap forward by launching our first internet-facing website. This groundbreaking platform revolutionized the way our client handled intercompany transactions, providing a comprehensive solution for reconciliation and streamlining their operations.

    \n
    \n
    \n
  • \n
  • \n
    \n
    \n
    \n

    1987 - Company formed

    \n
    \n
    \n

    In an era long before the advent of the internet, email, and mobile phones, we embarked on our journey. Our company was established with a pioneering spirit, dedicated to developing cutting-edge Mainframe and PC software. Since those early days, we have continually evolved, embracing new technologies and innovations to serve our clients better.

    \n
    \n
    \n
  • \n
\n
\n\n
\n
\n )\n}\n\nexport default About","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\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 _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\n\nvar ReCAPTCHA =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(ReCAPTCHA, _React$Component);\n\n function ReCAPTCHA() {\n var _this;\n\n _this = _React$Component.call(this) || this;\n _this.handleExpired = _this.handleExpired.bind(_assertThisInitialized(_this));\n _this.handleErrored = _this.handleErrored.bind(_assertThisInitialized(_this));\n _this.handleChange = _this.handleChange.bind(_assertThisInitialized(_this));\n _this.handleRecaptchaRef = _this.handleRecaptchaRef.bind(_assertThisInitialized(_this));\n return _this;\n }\n\n var _proto = ReCAPTCHA.prototype;\n\n _proto.getValue = function getValue() {\n if (this.props.grecaptcha && this._widgetId !== undefined) {\n return this.props.grecaptcha.getResponse(this._widgetId);\n }\n\n return null;\n };\n\n _proto.getWidgetId = function getWidgetId() {\n if (this.props.grecaptcha && this._widgetId !== undefined) {\n return this._widgetId;\n }\n\n return null;\n };\n\n _proto.execute = function execute() {\n var grecaptcha = this.props.grecaptcha;\n\n if (grecaptcha && this._widgetId !== undefined) {\n return grecaptcha.execute(this._widgetId);\n } else {\n this._executeRequested = true;\n }\n };\n\n _proto.executeAsync = function executeAsync() {\n var _this2 = this;\n\n return new Promise(function (resolve, reject) {\n _this2.executionResolve = resolve;\n _this2.executionReject = reject;\n\n _this2.execute();\n });\n };\n\n _proto.reset = function reset() {\n if (this.props.grecaptcha && this._widgetId !== undefined) {\n this.props.grecaptcha.reset(this._widgetId);\n }\n };\n\n _proto.handleExpired = function handleExpired() {\n if (this.props.onExpired) {\n this.props.onExpired();\n } else {\n this.handleChange(null);\n }\n };\n\n _proto.handleErrored = function handleErrored() {\n if (this.props.onErrored) {\n this.props.onErrored();\n }\n\n if (this.executionReject) {\n this.executionReject();\n delete this.executionResolve;\n delete this.executionReject;\n }\n };\n\n _proto.handleChange = function handleChange(token) {\n if (this.props.onChange) {\n this.props.onChange(token);\n }\n\n if (this.executionResolve) {\n this.executionResolve(token);\n delete this.executionReject;\n delete this.executionResolve;\n }\n };\n\n _proto.explicitRender = function explicitRender() {\n if (this.props.grecaptcha && this.props.grecaptcha.render && this._widgetId === undefined) {\n var wrapper = document.createElement(\"div\");\n this._widgetId = this.props.grecaptcha.render(wrapper, {\n sitekey: this.props.sitekey,\n callback: this.handleChange,\n theme: this.props.theme,\n type: this.props.type,\n tabindex: this.props.tabindex,\n \"expired-callback\": this.handleExpired,\n \"error-callback\": this.handleErrored,\n size: this.props.size,\n stoken: this.props.stoken,\n hl: this.props.hl,\n badge: this.props.badge\n });\n this.captcha.appendChild(wrapper);\n }\n\n if (this._executeRequested && this.props.grecaptcha && this._widgetId !== undefined) {\n this._executeRequested = false;\n this.execute();\n }\n };\n\n _proto.componentDidMount = function componentDidMount() {\n this.explicitRender();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n this.explicitRender();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this._widgetId !== undefined) {\n this.delayOfCaptchaIframeRemoving();\n this.reset();\n }\n };\n\n _proto.delayOfCaptchaIframeRemoving = function delayOfCaptchaIframeRemoving() {\n var temporaryNode = document.createElement(\"div\");\n document.body.appendChild(temporaryNode);\n temporaryNode.style.display = \"none\"; // move of the recaptcha to a temporary node\n\n while (this.captcha.firstChild) {\n temporaryNode.appendChild(this.captcha.firstChild);\n } // delete the temporary node after reset will be done\n\n\n setTimeout(function () {\n document.body.removeChild(temporaryNode);\n }, 5000);\n };\n\n _proto.handleRecaptchaRef = function handleRecaptchaRef(elem) {\n this.captcha = elem;\n };\n\n _proto.render = function render() {\n // consume properties owned by the reCATPCHA, pass the rest to the div so the user can style it.\n\n /* eslint-disable no-unused-vars */\n var _this$props = this.props,\n sitekey = _this$props.sitekey,\n onChange = _this$props.onChange,\n theme = _this$props.theme,\n type = _this$props.type,\n tabindex = _this$props.tabindex,\n onExpired = _this$props.onExpired,\n onErrored = _this$props.onErrored,\n size = _this$props.size,\n stoken = _this$props.stoken,\n grecaptcha = _this$props.grecaptcha,\n badge = _this$props.badge,\n hl = _this$props.hl,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"sitekey\", \"onChange\", \"theme\", \"type\", \"tabindex\", \"onExpired\", \"onErrored\", \"size\", \"stoken\", \"grecaptcha\", \"badge\", \"hl\"]);\n /* eslint-enable no-unused-vars */\n\n\n return React.createElement(\"div\", _extends({}, childProps, {\n ref: this.handleRecaptchaRef\n }));\n };\n\n return ReCAPTCHA;\n}(React.Component);\n\nexport { ReCAPTCHA as default };\nReCAPTCHA.displayName = \"ReCAPTCHA\";\nReCAPTCHA.propTypes = {\n sitekey: PropTypes.string.isRequired,\n onChange: PropTypes.func,\n grecaptcha: PropTypes.object,\n theme: PropTypes.oneOf([\"dark\", \"light\"]),\n type: PropTypes.oneOf([\"image\", \"audio\"]),\n tabindex: PropTypes.number,\n onExpired: PropTypes.func,\n onErrored: PropTypes.func,\n size: PropTypes.oneOf([\"compact\", \"normal\", \"invisible\"]),\n stoken: PropTypes.string,\n hl: PropTypes.string,\n badge: PropTypes.oneOf([\"bottomright\", \"bottomleft\", \"inline\"])\n};\nReCAPTCHA.defaultProps = {\n onChange: function onChange() {},\n theme: \"light\",\n type: \"image\",\n tabindex: 0,\n size: \"normal\",\n badge: \"bottomright\"\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nimport { Component, createElement, forwardRef } from \"react\";\nimport PropTypes from \"prop-types\";\nimport hoistStatics from \"hoist-non-react-statics\";\nvar SCRIPT_MAP = {}; // A counter used to generate a unique id for each component that uses the function\n\nvar idCount = 0;\nexport default function makeAsyncScript(getScriptURL, options) {\n options = options || {};\n return function wrapWithAsyncScript(WrappedComponent) {\n var wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || \"Component\";\n\n var AsyncScriptLoader =\n /*#__PURE__*/\n function (_Component) {\n _inheritsLoose(AsyncScriptLoader, _Component);\n\n function AsyncScriptLoader(props, context) {\n var _this;\n\n _this = _Component.call(this, props, context) || this;\n _this.state = {};\n _this.__scriptURL = \"\";\n return _this;\n }\n\n var _proto = AsyncScriptLoader.prototype;\n\n _proto.asyncScriptLoaderGetScriptLoaderID = function asyncScriptLoaderGetScriptLoaderID() {\n if (!this.__scriptLoaderID) {\n this.__scriptLoaderID = \"async-script-loader-\" + idCount++;\n }\n\n return this.__scriptLoaderID;\n };\n\n _proto.setupScriptURL = function setupScriptURL() {\n this.__scriptURL = typeof getScriptURL === \"function\" ? getScriptURL() : getScriptURL;\n return this.__scriptURL;\n };\n\n _proto.asyncScriptLoaderHandleLoad = function asyncScriptLoaderHandleLoad(state) {\n var _this2 = this;\n\n // use reacts setState callback to fire props.asyncScriptOnLoad with new state/entry\n this.setState(state, function () {\n return _this2.props.asyncScriptOnLoad && _this2.props.asyncScriptOnLoad(_this2.state);\n });\n };\n\n _proto.asyncScriptLoaderTriggerOnScriptLoaded = function asyncScriptLoaderTriggerOnScriptLoaded() {\n var mapEntry = SCRIPT_MAP[this.__scriptURL];\n\n if (!mapEntry || !mapEntry.loaded) {\n throw new Error(\"Script is not loaded.\");\n }\n\n for (var obsKey in mapEntry.observers) {\n mapEntry.observers[obsKey](mapEntry);\n }\n\n delete window[options.callbackName];\n };\n\n _proto.componentDidMount = function componentDidMount() {\n var _this3 = this;\n\n var scriptURL = this.setupScriptURL();\n var key = this.asyncScriptLoaderGetScriptLoaderID();\n var _options = options,\n globalName = _options.globalName,\n callbackName = _options.callbackName,\n scriptId = _options.scriptId; // check if global object already attached to window\n\n if (globalName && typeof window[globalName] !== \"undefined\") {\n SCRIPT_MAP[scriptURL] = {\n loaded: true,\n observers: {}\n };\n } // check if script loading already\n\n\n if (SCRIPT_MAP[scriptURL]) {\n var entry = SCRIPT_MAP[scriptURL]; // if loaded or errored then \"finish\"\n\n if (entry && (entry.loaded || entry.errored)) {\n this.asyncScriptLoaderHandleLoad(entry);\n return;\n } // if still loading then callback to observer queue\n\n\n entry.observers[key] = function (entry) {\n return _this3.asyncScriptLoaderHandleLoad(entry);\n };\n\n return;\n }\n /*\n * hasn't started loading\n * start the \"magic\"\n * setup script to load and observers\n */\n\n\n var observers = {};\n\n observers[key] = function (entry) {\n return _this3.asyncScriptLoaderHandleLoad(entry);\n };\n\n SCRIPT_MAP[scriptURL] = {\n loaded: false,\n observers: observers\n };\n var script = document.createElement(\"script\");\n script.src = scriptURL;\n script.async = true;\n\n for (var attribute in options.attributes) {\n script.setAttribute(attribute, options.attributes[attribute]);\n }\n\n if (scriptId) {\n script.id = scriptId;\n }\n\n var callObserverFuncAndRemoveObserver = function callObserverFuncAndRemoveObserver(func) {\n if (SCRIPT_MAP[scriptURL]) {\n var mapEntry = SCRIPT_MAP[scriptURL];\n var observersMap = mapEntry.observers;\n\n for (var obsKey in observersMap) {\n if (func(observersMap[obsKey])) {\n delete observersMap[obsKey];\n }\n }\n }\n };\n\n if (callbackName && typeof window !== \"undefined\") {\n window[callbackName] = function () {\n return _this3.asyncScriptLoaderTriggerOnScriptLoaded();\n };\n }\n\n script.onload = function () {\n var mapEntry = SCRIPT_MAP[scriptURL];\n\n if (mapEntry) {\n mapEntry.loaded = true;\n callObserverFuncAndRemoveObserver(function (observer) {\n if (callbackName) {\n return false;\n }\n\n observer(mapEntry);\n return true;\n });\n }\n };\n\n script.onerror = function () {\n var mapEntry = SCRIPT_MAP[scriptURL];\n\n if (mapEntry) {\n mapEntry.errored = true;\n callObserverFuncAndRemoveObserver(function (observer) {\n observer(mapEntry);\n return true;\n });\n }\n };\n\n document.body.appendChild(script);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n // Remove tag script\n var scriptURL = this.__scriptURL;\n\n if (options.removeOnUnmount === true) {\n var allScripts = document.getElementsByTagName(\"script\");\n\n for (var i = 0; i < allScripts.length; i += 1) {\n if (allScripts[i].src.indexOf(scriptURL) > -1) {\n if (allScripts[i].parentNode) {\n allScripts[i].parentNode.removeChild(allScripts[i]);\n }\n }\n }\n } // Clean the observer entry\n\n\n var mapEntry = SCRIPT_MAP[scriptURL];\n\n if (mapEntry) {\n delete mapEntry.observers[this.asyncScriptLoaderGetScriptLoaderID()];\n\n if (options.removeOnUnmount === true) {\n delete SCRIPT_MAP[scriptURL];\n }\n }\n };\n\n _proto.render = function render() {\n var globalName = options.globalName; // remove asyncScriptOnLoad from childProps\n\n var _this$props = this.props,\n asyncScriptOnLoad = _this$props.asyncScriptOnLoad,\n forwardedRef = _this$props.forwardedRef,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"asyncScriptOnLoad\", \"forwardedRef\"]); // eslint-disable-line no-unused-vars\n\n\n if (globalName && typeof window !== \"undefined\") {\n childProps[globalName] = typeof window[globalName] !== \"undefined\" ? window[globalName] : undefined;\n }\n\n childProps.ref = forwardedRef;\n return createElement(WrappedComponent, childProps);\n };\n\n return AsyncScriptLoader;\n }(Component); // Note the second param \"ref\" provided by React.forwardRef.\n // We can pass it along to AsyncScriptLoader as a regular prop, e.g. \"forwardedRef\"\n // And it can then be attached to the Component.\n\n\n var ForwardedComponent = forwardRef(function (props, ref) {\n return createElement(AsyncScriptLoader, _extends({}, props, {\n forwardedRef: ref\n }));\n });\n ForwardedComponent.displayName = \"AsyncScriptLoader(\" + wrappedComponentName + \")\";\n ForwardedComponent.propTypes = {\n asyncScriptOnLoad: PropTypes.func\n };\n return hoistStatics(ForwardedComponent, WrappedComponent);\n };\n}","import ReCAPTCHA from \"./recaptcha\";\nimport makeAsyncScriptLoader from \"react-async-script\";\nvar callbackName = \"onloadcallback\";\nvar globalName = \"grecaptcha\";\n\nfunction getOptions() {\n return typeof window !== \"undefined\" && window.recaptchaOptions || {};\n}\n\nfunction getURL() {\n var dynamicOptions = getOptions();\n var hostname = dynamicOptions.useRecaptchaNet ? \"recaptcha.net\" : \"www.google.com\";\n return \"https://\" + hostname + \"/recaptcha/api.js?onload=\" + callbackName + \"&render=explicit\";\n}\n\nexport default makeAsyncScriptLoader(getURL, {\n callbackName: callbackName,\n globalName: globalName\n})(ReCAPTCHA);","import RecaptchaWrapper from \"./recaptcha-wrapper\";\nimport ReCAPTCHA from \"./recaptcha\";\nexport default RecaptchaWrapper;\nexport { ReCAPTCHA };","import React from 'react'\nimport { useRef, useState, useEffect } from 'react';\nimport { FaCheckCircle } from 'react-icons/fa'\nimport { Row, Col } from 'reactstrap'\nimport ReCAPTCHA from \"react-google-recaptcha\";\nimport base from '../../../services/naBaseService'\nimport Loading from '../../shared/loading'\nimport TextOnImage from '../../shared/textOnImage'\nimport image from '../../../assets/images/contact_phone.jpg'\n\n\nconst Contact = () => {\n const recaptchaRef = useRef(\"\");\n const [pName, setName] = useState(\"\")\n const [nameIsValid, setNameIsValid] = useState(false)\n const [pEmail, setEmail] = useState(\"\")\n // const [org, setOrg] = useState(\"\")\n const [emailIsValid, setEmailIsValid] = useState(false)\n const [pMessage, setMessage] = useState(\"\")\n const [messageIsValid, setMessageIsValid] = useState(false)\n // const [orgIsValid, setOrgIsValid] = useState(false)\n const [sendingMessage, setSendingMessage] = useState(false)\n const [submitForm, setSubmitForm] = useState(false);\n const [signError, setSignError] = useState(false);\n const contactData = {};\n\n\n function onChange(value) {\n setSignError(false);\n }\n\n useEffect(() => {\n document.title = 'Contact us | Mobyte';\n }, []);\n\n const onSubmitWithReCAPTCHA = async () => {\n if ((nameIsValid && emailIsValid && messageIsValid)) {\n const token = await recaptchaRef.current.executeAsync();\n recaptchaRef.current.execute();\n if (token !== \"\") {\n setSendingMessage(true);\n // console.log(\"here\")\n contactData.name = pName;\n contactData.email = pEmail;\n contactData.comment = pMessage;\n base.add(\"Contact/add/\", contactData).then((res) => {\n console.log(res);\n if (res.status === 200) { // Check if the response status is 200\n setSubmitForm(true);\n setSignError(false);\n setSendingMessage(false);\n } else {\n // Handle error or non-200 response\n setSendingMessage(false);\n }\n })\n }\n else {\n setSignError(true);\n }\n }\n else {\n if (!nameIsValid) {\n document.getElementById(\"fullname\").style.border = '2px solid #ff0000';\n }\n if (!emailIsValid) {\n document.getElementById(\"emailid\").style.border = '2px solid #ff0000';\n // //console.log(pEmail.trim().length, pEmail)\n }\n if (!messageIsValid) {\n document.getElementById(\"message\").style.border = '2px solid #ff0000';\n }\n // if (!orgIsValid) {\n // document.getElementById(\"org\").style.border = '2px solid #ff0000';\n // }\n }\n\n }\n\n const handleChange = (e) => {\n\n // var sanitizedValue = sanitizeInput(event.target.name, event.target.value)\n // var inputValue= e.target.value;\n var sanitizedValue = \"\"\n\n\n\n switch (e.target.name) {\n case \"emailid\":\n // console.log(\"here eamil\")\n sanitizedValue = e.target.value.replace(/[^\\w.@_+\\-=]/gi, '');\n break;\n default:\n // console.log(\"here default\")\n sanitizedValue = e.target.value.replace(/[^\\w\\s?,.]/gi, '');\n }\n // console.log(sanitizedValue, e.target.value)\n\n\n if (e.target.name === 'fullname') {\n setName(sanitizedValue);\n document.getElementById(\"fullname\").style.border = '1px solid #cecece';\n if (sanitizedValue.trim().length < 1) {\n setNameIsValid(false);\n }\n else {\n setNameIsValid(true);\n\n }\n }\n\n // if (e.target.name === 'org') {\n // setOrg(sanitizedValue);\n // document.getElementById(\"org\").style.border = '1px solid #cecece';\n // if (sanitizedValue.trim().length < 1) {\n // setOrgIsValid(false);\n // }\n // else {\n // setOrgIsValid(true);\n // }\n // }\n\n if (e.target.name === 'emailid') {\n setEmail(sanitizedValue)\n document.getElementById(\"emailid\").style.border = '1px solid #cecece';\n if (sanitizedValue.trim().length < 1) {\n setEmailIsValid(false)\n }\n else {\n var reg = /^[A-Z0-9._%+-]+@([A-Z0-9-]+\\.)+[A-Z]{2,4}$/i;\n if (!reg.test(e.target.value)) {\n setEmailIsValid(false)\n\n }\n else {\n setEmailIsValid(true)\n }\n }\n }\n if (e.target.name === 'message') {\n setMessage(sanitizedValue)\n document.getElementById(\"message\").style.border = '1px solid #cecece';\n if (sanitizedValue.trim().length < 1) {\n setMessageIsValid(false);\n }\n else {\n setMessageIsValid(true);\n }\n\n }\n }\n\n const subheading = (\n \n Contact us\n \n )\n\n\n return (\n
\n\n \n\n
\n
\n

\n For inquiries about our software development services\n

\n
\n \n \n {sendingMessage ?\n
\n \n

\n
Submitting message...
\n
\n
\n
\n :\n !submitForm ?\n <>\n
\n
\n \n \n
\n
\n \n \n
\n {/*
\n \n \n
*/}\n
\n \n \n
\n
\n \n\n
\n By submitting this form you confirm that you agree to Mobyte's privacy policy\n
\n
\n\n {signError &&\n <>\n
Please sign reCAPTCHA
\n
\n \n }\n \n
\n \n :\n\n
\n
\n \n
\n

\n
Your message has been submitted.
\n
\n
We will be in touch soon!
\n
\n }\n \n
\n\n
\n
\n {/* */}\n
\n Where to find us\n
\n {/*
*/}\n
\n
\n \n
\n
\n )\n}\n\nexport default Contact","import React, { useEffect } from 'react';\nimport TextOnImage from '../../shared/textOnImage.js'\nimport image from '../../../assets/images/cables.jpg'\n\nconst Privacy = () => {\n\n useEffect(() => {\n document.title = 'Privacy policy | Mobyte';\n }, []);\n\n const subheading = (\n \n Privacy policy\n \n )\n\n\n return (\n <>\n \n\n
\n
\n
\n Last updated: 3rd July 2024\n
\n
    \n
  1. \n Introduction\n

    \n At Mobyte, we take the privacy of our users seriously and are committed to protecting their personal information. This privacy policy outlines the types of information we collect, how we use it, and the measures we take to keep it safe.

    \n
  2. \n
  3. \n Information collection\n
    \n We collect information from our users in the following ways:\n
      \n
    • \n Contact forms: When users fill out contact forms on our website, they may be asked to provide personal information such as their name, email address, and message.\n
    • \n
    • \n Cookies: We use cookies to collect information about user behavior on our website, such as the pages they visit and how they interact with our content.\n
    • \n
    \n
    \n
  4. \n
  5. \n Information Use\n
    \n We use the information we collect for several purposes, including:\n
      \n
    • \n Responding to user inquiries: When users fill out a contact form, we use their personal information to respond to their inquiries.\n
    • \n
    • \n Improving our website: We use information from cookies to analyze user behavior and improve our website and its content.\n
    • \n
    • \n Marketing purposes: We may use users' personal information to send them promotional emails or other marketing communications.\n
    • \n
    • \n Improving our website: We use information from cookies to analyze user behavior and improve our website and its content.\n
    • \n
    \n\n
    \n
  6. \n
  7. \n Information sharing and disclosure\n
    \n We do not share or sell personal information to third parties for any reason, except as required by law or with the user's explicit consent.\n
    \n
  8. \n\n
  9. \n\n Security\n
    \n We take several measures to ensure the security of our users' personal information, including:\n
      \n
    • \n Secure servers: We store personal information on secure servers that are protected by firewalls and other security measures.\n
    • \n
    • \n Encryption: Personal information transmitted to and from our website is encrypted using secure socket layer (SSL) technology.\n
    • \n
    \n
    \n
  10. \n
  11. \n Changes to this privacy policy\n
    \n We reserve the right to modify this privacy policy at any time. If we make any significant changes, we will notify users by posting a notice on our website or by sending a notification to their email address.\n
    \n
  12. \n\n
  13. \n Contact us\n

    \n If you have any questions or concerns about our privacy policy, please contact us at info@mobyte.com\n

    \n
  14. \n
\n
\n
\n\n\n\n \n );\n};\n\nexport default Privacy;","import React, { useEffect } from 'react';\nimport TextOnImage from '../../shared/textOnImage.js'\nimport image from '../../../assets/images/cables.jpg'\n\nconst Privacy = () => {\n\n useEffect(() => {\n document.title = 'Cookie policy | Mobyte';\n }, []);\n\n const subheading = (\n \n Cookie policy\n \n )\n\n\n return (\n <>\n \n
\n
\n
\n Last updated: 3rd July 2024\n
\n
    \n
  1. \n Introduction\n

    \n This policy explains how we use cookies and similar technologies on our website. By using our website, you consent to the use of cookies as described in this policy.\n

    \n
  2. \n
  3. \n What are cookies?\n

    \n Cookies are small text files that are stored on your device (computer, smartphone, tablet) when you visit a website. They are widely used to make websites work more efficiently, as well as to provide information to the owners of the site.

    \n
  4. \n
  5. \n Types of cookies we use\n

    \n We use the following types of cookies on our website:\n

    \n
      \n
    • \n Essential cookies: These cookies are necessary for the website to function properly. They enable you to navigate the site and use its features. Without these cookies, services you have asked for (such as navigating between pages) cannot be provided.\n
    • \n
    • \n Analytics cookies: These cookies allow us to analyze how visitors use our website, so we can measure and improve its performance. For example, we use Google Analytics cookies to understand how users interact with our site.\n
    • \n
    \n
  6. \n
  7. \n How we use cookies\n

    \n We use cookies for the following purposes:\n

    \n
      \n
    • \n To provide essential functionality and allow you to navigate our website.\n
    • \n
    • \n To enhance and personalize your experience on our website.\n
    • \n
    • \n To analyze usage patterns on our website and gather anonymous statistical data.\n
    • \n
    • \n To deliver targeted advertising based on your browsing activities.\n
    • \n
    \n
  8. \n\n
  9. \n Managing cookies\n

    \n Most web browsers allow you to control cookies through their settings preferences. However, please note that disabling essential cookies may impact the functionality of our website and prevent you from accessing certain features.

    \n
  10. \n
  11. \n Your consent\n

    \n By using our website, you consent to the use of cookies in accordance with this cookie policy.\n

    \n
      \n
    • \n Functional cookies: functional cookies are a requirement of the site. If you do not agree to these, please refrain from using our website.\n
    • \n
    • \n Analytics cookies: if you do not agree to these, please click decline in the cookie banner presented at the bottom of this page.\n
    • \n
    \n
  12. \n
  13. \n Changes to this policy\n

    \n We may update this Cookie Policy from time to time to reflect changes in our practices and legal obligations. We encourage you to review this policy periodically for any updates.

    \n
  14. \n
  15. \n Contact us\n

    \n If you have any questions regarding these Cookie policies, please contact us at info@mobyte.com\n

    \n
  16. \n
\n\n\n
\n
\n\n \n );\n};\n\nexport default Privacy;","import React, { useState, useEffect } from 'react'\nimport { Row, Col, Card } from 'reactstrap'\nimport { Link } from 'react-router-dom'\nimport imgT4 from '../../../assets/images/04-thumbnail.jpg'\nimport simg_LW from '../../../assets/images/profile.jpg'\nimport simg_KM from '../../../assets/images/kmcnulty.jpeg'\nimport TextOnImage from '../../shared/textOnImage'\nimport image from '../../../assets/images/cables.jpg'\nimport base from '../../../services/naBaseService'\nimport '../../../assets/css/mainsite/blog.scss'\n\nconst Blog = () => {\n const [blogs, setBlogs] = useState([])\n\n useEffect(() => {\n document.title = 'Blog | Mobyte';\n\n // Create meta description\n const metaDescription = document.createElement('meta');\n metaDescription.setAttribute('name', 'description');\n metaDescription.content = 'Explore insightful articles and expert opinions on the latest software development trends, tips, and best practices.';\n\n // Create meta keywords\n const metaKeywords = document.createElement('meta');\n metaKeywords.setAttribute('name', 'keywords');\n metaKeywords.content = 'Software blog, Software development tips';\n\n const metaRobots = document.createElement('meta');\n metaRobots.setAttribute('name', 'robots');\n metaRobots.content = 'index';\n document.head.appendChild(metaRobots);\n\n // Append both meta elements to the head\n document.head.appendChild(metaDescription);\n document.head.appendChild(metaKeywords);\n document.head.appendChild(metaKeywords);\n\n return () => {\n // Clean up added meta tags when component unmounts\n document.head.removeChild(metaDescription);\n document.head.removeChild(metaKeywords);\n document.head.removeChild(metaRobots);\n\n };\n }, []);\n\n const subheading = (\n \n Blog\n \n )\n\n useEffect(() => {\n base.getAll(\"blog/qry\").then((res) => {\n setBlogs(res.data);\n });\n }, []);\n\n return (\n
\n\n\n \n\n
\n
\n

\n Stay updated with the latest in tech and tutorials from IT experts \n

\n
\n \n {blogs.map((item, index) => {\n\n const author = item.author\n let authorImg;\n switch (author) {\n case 'Lawrence Whale':\n authorImg = simg_LW\n break;\n case 'Katherine McNulty':\n authorImg = simg_KM\n break;\n default:\n break;\n }\n\n return (\n \n {item.display === true ?\n <>\n \n \n
\n \"Laptop\n
\n \n \n \n
{item.heading}
\n \n
\n \n \n {item.subheading.substring(0, 237)}...\n \n read more\n \n \n \n \n \n
\"Author\"
\n \n \n \n \n {item.author}\n \n \n \n \n
{item.post_date.substring(0, 10)}
\n \n \n
{item.read_time}
\n \n
\n \n
\n \n
\n \n \n :\n \"\"\n }\n
\n );\n })}\n\n
\n\n
\n
\n )\n}\n\nexport default Blog","import React, { useEffect, useState } from 'react';\nimport { IoArrowBack } from \"react-icons/io5\";\nimport TextOnImage from '../../shared/textOnImage'\nimport image from '../../../assets/images/cables.jpg'\nimport { Link } from 'react-router-dom';\nimport { Button } from 'reactstrap';\nimport base from '../../../services/naBaseService'\nimport { useParams } from 'react-router-dom';\n\nconst Bespoke = () => {\n\n const [blogDetail, setBlogDetail] = useState([])\n const [blog, setBlog] = useState([])\n const { blogId } = useParams();\n\n useEffect(() => {\n document.title = 'Custom software development | Mobyte';\n\n // Create meta description\n const metaDescription = document.createElement('meta');\n metaDescription.setAttribute('name', 'description');\n metaDescription.content = 'Discover the advantages of custom software development. Explore how bespoke solutions offer greater efficiencies compared to off-the-shelf software.';\n\n // Create meta keywords\n const metaKeywords = document.createElement('meta');\n metaKeywords.setAttribute('name', 'keywords');\n metaKeywords.content = 'Custom software development, bespoke software development, bespoke systems, flexibile software, efficiency software, tailored software, cost-effective software';\n\n const metaRobots = document.createElement('meta');\n metaRobots.setAttribute('name', 'robots');\n metaRobots.content = 'index';\n document.head.appendChild(metaRobots);\n\n // Append both meta elements to the head\n document.head.appendChild(metaDescription);\n document.head.appendChild(metaKeywords);\n document.head.appendChild(metaKeywords);\n\n return () => {\n // Clean up added meta tags when component unmounts\n document.head.removeChild(metaDescription);\n document.head.removeChild(metaKeywords);\n document.head.removeChild(metaRobots);\n\n };\n }, []);\n\n const subheading = (\n \n Custom software\n \n )\n\n useEffect(() => {\n\n const promises = [\n base.getAll(`blog/qry/${blogId}`),\n base.getAll(`blog/detail/qry/${blogId}`),\n ];\n\n Promise.all(promises)\n .then(([res, detail]) => {\n setBlog(res.data);\n setBlogDetail(detail.data);\n });\n\n }, [blogId]);\n\n return (\n <>\n \n
\n\n \n \n\n \n
\n

\n {blog.heading}\n

\n
\n
\n

\n {blog.subheading}\n

\n {blogDetail.map((item, index) => {\n return (\n \n

\n {item.heading}\n

\n

\n\n

\n
\n );\n })}\n
\n
\n\n \n );\n}\n\nexport default Bespoke;\n","import React from 'react';\n\nconst Privacy = () => {\n return (\n <>\n
\n\n
\n
Responsibility
\n

At Mobyte, we strive to ensure our website is accessible and functioning properly, we protect the privacy and security of users' information, and ensure that the content and services provided on the website are accurate and comply with all applicable laws and regulations.

\n
\n
\n
    \n
  1. \n Uptime and Performance\n

    \n The website owner is responsible for ensuring that the website is available and functioning properly at all times. This includes regularly checking and fixing any technical issues that may arise.\n

    \n
  2. \n
  3. \n Privacy and Security\n

    \n The website owner is responsible for protecting the privacy and security of users' personal information, such as names, addresses, and payment information. This may include implementing secure socket layer (SSL) encryption, regularly monitoring the website for security vulnerabilities, and complying with relevant privacy laws and regulations.\n

    \n
  4. \n
  5. \n Content Accuracy\n

    \n The website owner is responsible for ensuring that the content and services provided on the website are accurate and up-to-date. This may include regularly reviewing and updating the content, as well as removing any outdated or incorrect information.\n

    \n
  6. \n
  7. \n Compliance with Laws\n

    \n The website owner is responsible for ensuring that the website complies with all applicable laws and regulations, including but not limited to consumer protection, advertising, and data protection laws.\n

    \n
  8. \n
  9. \n User Support\n

    \n The website owner is responsible for providing user support and resolving any issues that users may encounter while using the website. This may include providing a customer support hotline or a contact form for users to reach out for help.\n

    \n
  10. \n
\n
\n Last updated: 10th Febuary 2023.\n
\n
\n\n
\n\n \n );\n};\n\nexport default Privacy;","import React, { useEffect } from 'react';\nimport TextOnImage from '../../shared/textOnImage.js'\nimport image from '../../../assets/images/cables.jpg'\n\nconst Terms = () => {\n\n useEffect(() => {\n document.title = 'Terms of use | Mobyte';\n }, []);\n\n const subheading = (\n \n Terms of use\n \n )\n\n return (\n <>\n \n\n\n
\n
\n
\n Last updated: 10th Febuary 2023\n
\n
    \n
  1. \n Introduction\n

    \n This website (www.mobyte.com) is owned and operated by Mobyte Ltd. (“Company”, “we” or “us”). By using this website, you agree to be bound by the following terms and conditions (“Terms of Use” or “Agreement”). If you do not agree with these Terms of Use, please do not use this website.\n\n

    \n
  2. \n
  3. \n Use of website\n

    \n The content of this website, including text, graphics, logos, images, and software, is the property of the Company or its licensors, and is protected by copyright and trademark laws. You may access, use, and display the content of this website for your personal and non-commercial use only. You may not modify, distribute, or publish any content from this website without the express permission of the Company.\n

    \n
  4. \n
  5. \n Disclaimer\n

    \n The information and materials on this website are provided on an “as is” basis without warranty of any kind, either express or implied, including, but not limited to, the implied warranties of merchantability, fitness for a particular purpose, or non-infringement. The Company makes no representation or warranty as to the accuracy or completeness of the information and materials on this website. The Company may make changes to the content of this website at any time without notice.\n

    \n
  6. \n
  7. \n Limitation of liability\n

    \n The Company shall not be liable for any damages arising out of or in connection with the use of this website. This includes, but is not limited to, direct, indirect, incidental, punitive, and consequential damages.\n

    \n
  8. \n
  9. \n Linking\n

    \n This website may contain links to other websites. The Company does not endorse or make any representation about any other websites, and is not responsible for the accuracy or reliability of any information, data, opinions, advice, or statements contained on those websites.\n

    \n
  10. \n
  11. \n Indemnification\n

    \n You agree to indemnify, defend, and hold harmless the Company and its officers, directors, employees, agents, licensors, and suppliers from and against all losses, expenses, damages, and costs, including reasonable attorneys’ fees, resulting from any violation of these Terms of Use or any activity related to your use of this website.\n

    \n
  12. \n
  13. \n Termination\n

    \n The Company may terminate your access to this website at any time without notice. Upon termination, you must destroy all content obtained from this website.\n

    \n
  14. \n
  15. \n Governing law\n

    \n These Terms of Use shall be governed by and construed in accordance with UK laws, without giving effect to any principles of conflicts of law.\n

    \n
  16. \n
  17. \n Changes to terms of use\n

    \n The Company reserves the right to change these Terms of Use at any time without notice. Your continued use of this website following any changes to these Terms of Use will indicate your acceptance of the revised terms.\n

    \n
  18. \n
  19. \n Contact us\n

    \n If you have any questions regarding these Terms of Use, please contact us at info@mobyte.com\n

    \n
  20. \n
\n\n\n
\n
\n \n );\n};\n\nexport default Terms;","import React, { useEffect } from 'react'\nimport { Row, Col } from 'reactstrap'\nimport \"slick-carousel/slick/slick.css\";\nimport \"slick-carousel/slick/slick-theme.css\";\nimport { Link } from 'react-router-dom'\nimport ServicesItems from '../services/servicesItems.js';\nimport ProjectsItems from \"../projects/projectsItems.js\";\nimport image9 from '../../../assets/images/image7_small_res.jpg'\nimport TextOnImage from '../../shared/textOnImage.js';\nimport '../../../assets/css/mainsite/homepageV1.scss'\n\nexport const Homepage = () => {\n\n useEffect(() => {\n const handleScroll = () => {\n const elements = document.querySelectorAll('.div-container');\n elements.forEach((element) => {\n const positionFromTop = element.getBoundingClientRect().top;\n const threshold = window.innerHeight - 100;\n console.log(positionFromTop, threshold)\n if (positionFromTop < threshold) {\n element.classList.add('visible');\n } else {\n element.classList.remove('visible');\n }\n });\n };\n\n window.addEventListener('scroll', handleScroll);\n\n return () => {\n window.removeEventListener('scroll', handleScroll);\n };\n }, []);\n\n useEffect(() => {\n document.title = 'Software Development Consultancy in Harlow, Essex | Mobyte';\n\n // Create meta description\n const metaDescription = document.createElement('meta');\n metaDescription.setAttribute('name', 'description');\n metaDescription.content = 'Professional software services provider that specializes in delivering fully managed solutions based on Microsoft .NET, React and JavaScript.';\n\n // Create meta keywords\n const metaKeywords = document.createElement('meta');\n metaKeywords.setAttribute('name', 'keywords');\n metaKeywords.content = 'Software development, web design, data integration, software modernization, database management, automation, business applications, responsive websites, data consolidation, technology updates, process automation';\n\n const metaRobots = document.createElement('meta');\n metaRobots.setAttribute('name', 'robots');\n metaRobots.content = 'index';\n document.head.appendChild(metaRobots);\n\n // Append both meta elements to the head\n document.head.appendChild(metaDescription);\n document.head.appendChild(metaKeywords);\n document.head.appendChild(metaRobots);\n\n return () => {\n // Clean up added meta tags when component unmounts\n document.head.removeChild(metaDescription);\n document.head.removeChild(metaKeywords);\n document.head.removeChild(metaRobots);\n\n };\n }, []);\n const subheading = (\n \n Unlock Your Potential with Custom IT Solutions\n \n )\n const style = {\n border: \"solid 1px #003a3a\"\n }\n return (\n <>\n
\n \n\n
\n\n
\n
\n
\n
\n Services\n
\n
\n We have over 35 years experience in software development and IT consultancy\n
\n\n \n\n \n \n \n \n \n \n \n
\n
\n\n\n\n
\n
\n
\n\n
\n Projects\n
\n
\n A proven track record in delivering cost-effective and reliable business solutions\n
\n\n \n\n\n
\n \n \n \n \n \n \n \n
\n
\n {/*
\n
\n\n
\n Services\n
\n
\n We have over 30 years experience in software development and business support.\n
\n \n \n \n \n \n
Consulting
\n

We work with companies to set out their goals and help them put the right IT strategy in place.

\n \n \n \n \n \n
Web Development
\n

We have designing and developing web applicaitons for over 20 years. We have expereince in the latest technologies including ASP.NET Core, React, Bootstap, Single Sign-On (SSO).

\n \n \n \n \n \n
Data Integration
\n

Whether developing bespoke APIs or linking into exisiting applications, we have a proven track record delivering efficient data integration processes.

\n \n
\n \n \n \n \n \n
Spreadsheet Automation
\n

We have worked on numerous projects that involve improving/integrating MS Excel spreadsheets.

\n \n \n \n \n \n
Database Management
\n

We have vast experience in working with databases such as Oracle, SQL Server, MySQL and PostgreSQL.

\n \n \n \n \n \n
Hosting
\n

We provide Web/Email/VPS hosting services and have packages available to suit any requirements and/or budget.

\n \n
\n
\n
*/}\n
\n\n \n\n );\n}\n\nexport default Homepage\n","import React, { useEffect, useState } from 'react';\nimport { useParams } from 'react-router-dom';\nimport servicesData from './servicesData';\nimport TextOnImage from '../../shared/textOnImage'\nimport image from '../../../assets/images/03-thumbnail.jpg'\nimport { Row, Col, Button } from 'reactstrap'\nimport { Link } from 'react-router-dom';\nimport { IoArrowBack, IoCloseCircleSharp } from \"react-icons/io5\";\n\nexport default function ServiceDetail() {\n const { serviceId } = useParams();\n const service = servicesData.find(item => item.id === serviceId);\n\n const [isVisible, setIsVisible] = useState(false);\n\n useEffect(() => {\n setIsVisible(true);\n }, []);\n\n useEffect(() => {\n if (service === undefined) {\n document.title = `Services | Mobyte`;\n\n } else {\n document.title = `${service.heading} | Mobyte`;\n // Create meta description\n const metaDescription = document.createElement('meta');\n metaDescription.setAttribute('name', 'description');\n metaDescription.content = `${service.heading}`;\n\n // Create meta keywords\n const metaKeywords = document.createElement('meta');\n metaKeywords.setAttribute('name', 'keywords');\n metaKeywords.content = `${service.keywords}`\n\n const metaRobots = document.createElement('meta');\n metaRobots.setAttribute('name', 'robots');\n metaRobots.content = 'index';\n document.head.appendChild(metaRobots);\n\n // Append both meta elements to the head\n document.head.appendChild(metaDescription);\n document.head.appendChild(metaKeywords);\n document.head.appendChild(metaKeywords);\n\n return () => {\n // Clean up added meta tags when component unmounts\n document.head.removeChild(metaDescription);\n document.head.removeChild(metaKeywords);\n document.head.removeChild(metaRobots);\n\n };\n }\n }, [service]);\n\n\n const getBackgroundColor = (index) => {\n const colors = ['#fff', '#ffc266', '#003333'];\n return colors[index % colors.length];\n };\n\n return (\n !service ? (\n <>\n \n Service not offered  \n {/* that empower your business */}\n } fromHome={false} altText={\"Laptop displaying code editor on desk\"} />\n \n \n \n \n\n \n \n \n \n\n <>\n \n \n \n \n

\n {\"We don't currently offer that service\"}\n

\n

{\"You seem to have taken a wrong turn. Please return to our services page to see all of our great offerings!\"}

\n \n\n \n
\n\n \n ) : (\n <>\n \n \n \n \n \n\n \n \n \n\n\n\n {service.content.map((item, index) => {\n const color = getBackgroundColor(index);\n let headColor\n let textColor\n let emphColor\n switch (color) {\n case '#ffa31a': //orange\n headColor = 'secondary-text'\n textColor = 'accent-4'\n emphColor = 'secondary-text'\n break;\n case '#003333': // dark teal\n headColor = 'white-text'\n textColor = 'neutral-2-text'\n emphColor = 'white-text'\n break;\n default: //white or other\n headColor = 'secondary-text'\n textColor = 'accent-4'\n emphColor = 'secondary-text'\n break;\n }\n return (\n \n\n \n {\n index % 2 === 0 ? (\n <>\n \n {item.icon}\n \n \n

\n {item.heading}\n

\n

{item.subheading}

\n \n\n \n ) : (\n <>\n \n {item.icon}\n \n \n

\n {item.heading}\n

\n

{item.subheading}

\n \n \n )\n }\n
\n
\n )\n\n })}\n\n\n )\n\n );\n}\n","import React, { useEffect, useState } from 'react';\nimport TextOnImage from '../../shared/textOnImage'\nimport image from '../../../assets/images/03-thumbnail.jpg'\nimport { Link } from 'react-router-dom';\nimport { Button, Row, Col } from 'reactstrap';\nimport { IoArrowBack, IoConstructOutline } from \"react-icons/io5\";\nimport base from '../../../services/naBaseService';\nimport { useParams } from 'react-router-dom';\n\nexport default function ProjectDetail() {\n\n const [projectDetail, setProjectDetail] = useState([]);\n const [project, setProject] = useState([]);\n const [dataLoaded, setDataLoaded] = useState(false);\n const [isLoading, setIsLoading] = useState(false);\n\n const { projectId } = useParams();\n\n useEffect(() => {\n\n const promises = [\n base.getAll(`project/qry/${projectId}`),\n base.getAll(`project/detail/qry/${projectId}`),\n ];\n\n Promise.all(promises)\n .then(([res, detail]) => {\n setProject(res);\n setProjectDetail(detail);\n setDataLoaded(true)\n }).finally(() => {\n setIsLoading(false); // Stop the loading state\n });\n }, [projectId]);\n\n return (\n <>\n \n {project.heading}  \n }\n fromHome={false}\n altText={\"Laptop displaying code editor on desk\"} />\n\n
\n \n \n \n {isLoading ? (\n
\n
\n ) : dataLoaded ? (\n projectDetail.length > 0 ? (\n <>\n
\n

{project.heading}

\n
\n
\n

\n {project.subheading}\n

\n {projectDetail.map((item, index) => (\n \n

{item.heading}

\n

\n
\n ))}\n
\n \n ) : (\n \n \n \n \n \n

\n {\"This project page is still under construction\"}\n

\n

\n {\"Please check back soon to find out more about our success stories.\"}\n

\n \n
\n )\n ) : null}\n\n\n\n
\n\n\n\n\n \n\n\n );\n}\n","/*!\n * cookie\n * Copyright(c) 2012-2014 Roman Shtylman\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n/**\n * Module exports.\n * @public\n */\n\nvar parse_1 = parse;\nvar serialize_1 = serialize;\n\n/**\n * Module variables.\n * @private\n */\n\nvar __toString = Object.prototype.toString;\n\n/**\n * RegExp to match field-content in RFC 7230 sec 3.2\n *\n * field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ]\n * field-vchar = VCHAR / obs-text\n * obs-text = %x80-FF\n */\n\nvar fieldContentRegExp = /^[\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+$/;\n\n/**\n * Parse a cookie header.\n *\n * Parse the given cookie header string into an object\n * The object has the various cookies as keys(names) => values\n *\n * @param {string} str\n * @param {object} [options]\n * @return {object}\n * @public\n */\n\nfunction parse(str, options) {\n if (typeof str !== 'string') {\n throw new TypeError('argument str must be a string');\n }\n\n var obj = {};\n var opt = options || {};\n var dec = opt.decode || decode;\n\n var index = 0;\n while (index < str.length) {\n var eqIdx = str.indexOf('=', index);\n\n // no more cookie pairs\n if (eqIdx === -1) {\n break\n }\n\n var endIdx = str.indexOf(';', index);\n\n if (endIdx === -1) {\n endIdx = str.length;\n } else if (endIdx < eqIdx) {\n // backtrack on prior semicolon\n index = str.lastIndexOf(';', eqIdx - 1) + 1;\n continue\n }\n\n var key = str.slice(index, eqIdx).trim();\n\n // only assign once\n if (undefined === obj[key]) {\n var val = str.slice(eqIdx + 1, endIdx).trim();\n\n // quoted values\n if (val.charCodeAt(0) === 0x22) {\n val = val.slice(1, -1);\n }\n\n obj[key] = tryDecode(val, dec);\n }\n\n index = endIdx + 1;\n }\n\n return obj;\n}\n\n/**\n * Serialize data into a cookie header.\n *\n * Serialize the a name value pair into a cookie string suitable for\n * http headers. An optional options object specified cookie parameters.\n *\n * serialize('foo', 'bar', { httpOnly: true })\n * => \"foo=bar; httpOnly\"\n *\n * @param {string} name\n * @param {string} val\n * @param {object} [options]\n * @return {string}\n * @public\n */\n\nfunction serialize(name, val, options) {\n var opt = options || {};\n var enc = opt.encode || encode;\n\n if (typeof enc !== 'function') {\n throw new TypeError('option encode is invalid');\n }\n\n if (!fieldContentRegExp.test(name)) {\n throw new TypeError('argument name is invalid');\n }\n\n var value = enc(val);\n\n if (value && !fieldContentRegExp.test(value)) {\n throw new TypeError('argument val is invalid');\n }\n\n var str = name + '=' + value;\n\n if (null != opt.maxAge) {\n var maxAge = opt.maxAge - 0;\n\n if (isNaN(maxAge) || !isFinite(maxAge)) {\n throw new TypeError('option maxAge is invalid')\n }\n\n str += '; Max-Age=' + Math.floor(maxAge);\n }\n\n if (opt.domain) {\n if (!fieldContentRegExp.test(opt.domain)) {\n throw new TypeError('option domain is invalid');\n }\n\n str += '; Domain=' + opt.domain;\n }\n\n if (opt.path) {\n if (!fieldContentRegExp.test(opt.path)) {\n throw new TypeError('option path is invalid');\n }\n\n str += '; Path=' + opt.path;\n }\n\n if (opt.expires) {\n var expires = opt.expires;\n\n if (!isDate(expires) || isNaN(expires.valueOf())) {\n throw new TypeError('option expires is invalid');\n }\n\n str += '; Expires=' + expires.toUTCString();\n }\n\n if (opt.httpOnly) {\n str += '; HttpOnly';\n }\n\n if (opt.secure) {\n str += '; Secure';\n }\n\n if (opt.partitioned) {\n str += '; Partitioned';\n }\n\n if (opt.priority) {\n var priority = typeof opt.priority === 'string'\n ? opt.priority.toLowerCase()\n : opt.priority;\n\n switch (priority) {\n case 'low':\n str += '; Priority=Low';\n break\n case 'medium':\n str += '; Priority=Medium';\n break\n case 'high':\n str += '; Priority=High';\n break\n default:\n throw new TypeError('option priority is invalid')\n }\n }\n\n if (opt.sameSite) {\n var sameSite = typeof opt.sameSite === 'string'\n ? opt.sameSite.toLowerCase() : opt.sameSite;\n\n switch (sameSite) {\n case true:\n str += '; SameSite=Strict';\n break;\n case 'lax':\n str += '; SameSite=Lax';\n break;\n case 'strict':\n str += '; SameSite=Strict';\n break;\n case 'none':\n str += '; SameSite=None';\n break;\n default:\n throw new TypeError('option sameSite is invalid');\n }\n }\n\n return str;\n}\n\n/**\n * URL-decode string value. Optimized to skip native call when no %.\n *\n * @param {string} str\n * @returns {string}\n */\n\nfunction decode (str) {\n return str.indexOf('%') !== -1\n ? decodeURIComponent(str)\n : str\n}\n\n/**\n * URL-encode value.\n *\n * @param {string} val\n * @returns {string}\n */\n\nfunction encode (val) {\n return encodeURIComponent(val)\n}\n\n/**\n * Determine if value is a Date.\n *\n * @param {*} val\n * @private\n */\n\nfunction isDate (val) {\n return __toString.call(val) === '[object Date]' ||\n val instanceof Date\n}\n\n/**\n * Try decoding a string using a decoding function.\n *\n * @param {string} str\n * @param {function} decode\n * @private\n */\n\nfunction tryDecode(str, decode) {\n try {\n return decode(str);\n } catch (e) {\n return str;\n }\n}\n\nfunction hasDocumentCookie() {\n const testingValue = typeof global === 'undefined'\n ? undefined\n : global.TEST_HAS_DOCUMENT_COOKIE;\n if (typeof testingValue === 'boolean') {\n return testingValue;\n }\n // Can we get/set cookies on document.cookie?\n return typeof document === 'object' && typeof document.cookie === 'string';\n}\nfunction parseCookies(cookies) {\n if (typeof cookies === 'string') {\n return parse_1(cookies);\n }\n else if (typeof cookies === 'object' && cookies !== null) {\n return cookies;\n }\n else {\n return {};\n }\n}\nfunction readCookie(value, options = {}) {\n const cleanValue = cleanupCookieValue(value);\n if (!options.doNotParse) {\n try {\n return JSON.parse(cleanValue);\n }\n catch (e) {\n // At least we tried\n }\n }\n // Ignore clean value if we failed the deserialization\n // It is not relevant anymore to trim those values\n return value;\n}\nfunction cleanupCookieValue(value) {\n // express prepend j: before serializing a cookie\n if (value && value[0] === 'j' && value[1] === ':') {\n return value.substr(2);\n }\n return value;\n}\n\nclass Cookies {\n constructor(cookies, defaultSetOptions = {}) {\n this.changeListeners = [];\n this.HAS_DOCUMENT_COOKIE = false;\n this.update = () => {\n if (!this.HAS_DOCUMENT_COOKIE) {\n return;\n }\n const previousCookies = this.cookies;\n this.cookies = parse_1(document.cookie);\n this._checkChanges(previousCookies);\n };\n const domCookies = typeof document === 'undefined' ? '' : document.cookie;\n this.cookies = parseCookies(cookies || domCookies);\n this.defaultSetOptions = defaultSetOptions;\n this.HAS_DOCUMENT_COOKIE = hasDocumentCookie();\n }\n _emitChange(params) {\n for (let i = 0; i < this.changeListeners.length; ++i) {\n this.changeListeners[i](params);\n }\n }\n _checkChanges(previousCookies) {\n const names = new Set(Object.keys(previousCookies).concat(Object.keys(this.cookies)));\n names.forEach((name) => {\n if (previousCookies[name] !== this.cookies[name]) {\n this._emitChange({\n name,\n value: readCookie(this.cookies[name]),\n });\n }\n });\n }\n _startPolling() {\n this.pollingInterval = setInterval(this.update, 300);\n }\n _stopPolling() {\n if (this.pollingInterval) {\n clearInterval(this.pollingInterval);\n }\n }\n get(name, options = {}) {\n if (!options.doNotUpdate) {\n this.update();\n }\n return readCookie(this.cookies[name], options);\n }\n getAll(options = {}) {\n if (!options.doNotUpdate) {\n this.update();\n }\n const result = {};\n for (let name in this.cookies) {\n result[name] = readCookie(this.cookies[name], options);\n }\n return result;\n }\n set(name, value, options) {\n if (options) {\n options = Object.assign(Object.assign({}, this.defaultSetOptions), options);\n }\n else {\n options = this.defaultSetOptions;\n }\n const stringValue = typeof value === 'string' ? value : JSON.stringify(value);\n this.cookies = Object.assign(Object.assign({}, this.cookies), { [name]: stringValue });\n if (this.HAS_DOCUMENT_COOKIE) {\n document.cookie = serialize_1(name, stringValue, options);\n }\n this._emitChange({ name, value, options });\n }\n remove(name, options) {\n const finalOptions = (options = Object.assign(Object.assign(Object.assign({}, this.defaultSetOptions), options), { expires: new Date(1970, 1, 1, 0, 0, 1), maxAge: 0 }));\n this.cookies = Object.assign({}, this.cookies);\n delete this.cookies[name];\n if (this.HAS_DOCUMENT_COOKIE) {\n document.cookie = serialize_1(name, '', finalOptions);\n }\n this._emitChange({ name, value: undefined, options });\n }\n addChangeListener(callback) {\n this.changeListeners.push(callback);\n if (this.HAS_DOCUMENT_COOKIE && this.changeListeners.length === 1) {\n if (typeof window === 'object' && 'cookieStore' in window) {\n window.cookieStore.addEventListener('change', this.update);\n }\n else {\n this._startPolling();\n }\n }\n }\n removeChangeListener(callback) {\n const idx = this.changeListeners.indexOf(callback);\n if (idx >= 0) {\n this.changeListeners.splice(idx, 1);\n }\n if (this.HAS_DOCUMENT_COOKIE && this.changeListeners.length === 0) {\n if (typeof window === 'object' && 'cookieStore' in window) {\n window.cookieStore.removeEventListener('change', this.update);\n }\n else {\n this._stopPolling();\n }\n }\n }\n}\n\nexport { Cookies as default };\n","// CookieContext.js\nimport React, { createContext, useState } from 'react';\nimport Cookies from \"universal-cookie\";\n\nexport const CookieContext = createContext();\n\nexport const CookieProvider = ({ children }) => {\n var cookies = new Cookies();\n const accepted = cookies.get(\"cookiesAccepted\");\n const [cookiesAccepted, setCookiesAccepted] = useState(accepted);\n\n const acceptCookies = () => {\n setCookiesAccepted(true);\n cookies.set(\"cookiesAccepted\", \"accept\");\n };\n\n const rejectCookies = () => {\n setCookiesAccepted(false);\n cookies.set(\"cookiesAccepted\", \"decline\");\n };\n\n const contextValue = {\n cookiesAccepted,\n acceptCookies,\n rejectCookies\n };\n\n return (\n \n {children}\n \n );\n};\n","import React, { useContext } from 'react';\nimport { CookieContext } from './cookieContext.js';\nimport { Row, Col } from 'reactstrap'\nimport '../../assets/css/mainsite/cookie.scss'\n\nconst CookieBanner = () => {\n const { cookiesAccepted, acceptCookies, rejectCookies } = useContext(CookieContext);\n\n if (cookiesAccepted !== undefined) {\n return null;\n }\n\n return (\n <>\n
\n \n \n We use cookies to improve your experience on our website, analyze traffic, and personalize content. By continuing to use this site, you consent to our use of cookies. Cookie policy.\n     \n \n Accept\n \n     \n \n Decline\n \n \n \n
\n \n );\n};\n\nexport default CookieBanner;\n","import React from 'react'\nimport image from '../../assets/images/cables.jpg'\nimport TextOnImage from '../shared/textOnImage'\nimport { IoBan } from 'react-icons/io5'\nimport { Row, Col } from 'reactstrap'\n\nconst AccessDenied = () => {\n\n const subheading = (\n \n Restricted Content\n \n )\n\n return (\n
\n \n\n \n \n \n \n \n

\n Access Denied\n

\n

\n You do not have permission to access this page.\n
\n Please contact the site administrator for more information.\n

\n\n \n
\n
\n )\n}\n\nexport default AccessDenied","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\nimport { LogLevel } from \"@azure/msal-browser\";\n\n/**\n * Configuration object to be passed to MSAL instance on creation. \n * For a full list of MSAL.js configuration parameters, visit:\n * https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/configuration.md \n */\nexport const msalConfig = {\n auth: {\n clientId: process.env.REACT_APP_CLIENTID,\n authority: \"https://login.microsoftonline.com/fa80f109-b245-4991-8a4e-9d4f7eb5ae11\",\n redirectUri: process.env.REACT_APP_REDIRECTURI,\n navigateToLoginRequestUrl: false,\n postLogoutRedirectUri: process.env.REACT_APP_LOGOUTURI,\n\n },\n cache: {\n cacheLocation: \"sessionStorage\", // This configures where your cache will be stored\n storeAuthStateInCookie: true, // Set this to \"true\" if you are having issues on IE11 or Edge\n },\n system: {\n loggerOptions: {\n loggerCallback: (level, message, containsPii) => {\n if (containsPii) {\n return;\n }\n switch (level) {\n default:\n //console.log(message);\n return;\n case LogLevel.Error:\n console.error(message);\n return;\n case LogLevel.Info:\n // console.info(\"this is info\", message);\n return;\n case LogLevel.Verbose:\n console.debug(message);\n return;\n case LogLevel.Warning:\n console.warn(message);\n return;\n }\n }\n }\n }\n};\n\n// Add here scopes for id token to be used at MS Identity Platform endpoints.\nexport const loginRequest = {\n scopes: [\"api://\" + process.env.REACT_APP_CLIENTID + \"/App.Access\"]\n};\n\nexport const graphLoginRequest = {\n scopes: [\"User.Read\"]\n};\n\nexport const graphConfig = {\n graphPhotoEndpoint: \"https://graph.microsoft.com/v1.0/me/photo/$value\"\n};","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Authority types supported by MSAL.\n */\nexport enum AuthorityType {\n Default,\n Adfs\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Utility class for math specific functions in browser.\n */\nexport class MathUtils {\n\n /**\n * Decimal to Hex\n *\n * @param num\n */\n static decimalToHex(num: number): string {\n let hex: string = num.toString(16);\n while (hex.length < 2) {\n hex = \"0\" + hex;\n }\n return hex;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { MathUtils } from \"../utils/MathUtils\";\nimport { BrowserCrypto } from \"./BrowserCrypto\";\n\nexport class GuidGenerator {\n\n // browser crypto object used to generate random values\n private cryptoObj: BrowserCrypto;\n\n constructor(cryptoObj: BrowserCrypto) {\n this.cryptoObj = cryptoObj;\n }\n\n /*\n * RFC4122: The version 4 UUID is meant for generating UUIDs from truly-random or\n * pseudo-random numbers.\n * The algorithm is as follows:\n * Set the two most significant bits (bits 6 and 7) of the\n * clock_seq_hi_and_reserved to zero and one, respectively.\n * Set the four most significant bits (bits 12 through 15) of the\n * time_hi_and_version field to the 4-bit version number from\n * Section 4.1.3. Version4\n * Set all the other bits to randomly (or pseudo-randomly) chosen\n * values.\n * UUID = time-low \"-\" time-mid \"-\"time-high-and-version \"-\"clock-seq-reserved and low(2hexOctet)\"-\" node\n * time-low = 4hexOctet\n * time-mid = 2hexOctet\n * time-high-and-version = 2hexOctet\n * clock-seq-and-reserved = hexOctet:\n * clock-seq-low = hexOctet\n * node = 6hexOctet\n * Format: xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\n * y could be 1000, 1001, 1010, 1011 since most significant two bits needs to be 10\n * y values are 8, 9, A, B\n */\n generateGuid(): string {\n try {\n const buffer: Uint8Array = new Uint8Array(16);\n this.cryptoObj.getRandomValues(buffer);\n\n // buffer[6] and buffer[7] represents the time_hi_and_version field. We will set the four most significant bits (4 through 7) of buffer[6] to represent decimal number 4 (UUID version number).\n buffer[6] |= 0x40; // buffer[6] | 01000000 will set the 6 bit to 1.\n buffer[6] &= 0x4f; // buffer[6] & 01001111 will set the 4, 5, and 7 bit to 0 such that bits 4-7 == 0100 = \"4\".\n\n // buffer[8] represents the clock_seq_hi_and_reserved field. We will set the two most significant bits (6 and 7) of the clock_seq_hi_and_reserved to zero and one, respectively.\n buffer[8] |= 0x80; // buffer[8] | 10000000 will set the 7 bit to 1.\n buffer[8] &= 0xbf; // buffer[8] & 10111111 will set the 6 bit to 0.\n\n return MathUtils.decimalToHex(buffer[0]) + MathUtils.decimalToHex(buffer[1])\n + MathUtils.decimalToHex(buffer[2]) + MathUtils.decimalToHex(buffer[3])\n + \"-\" + MathUtils.decimalToHex(buffer[4]) + MathUtils.decimalToHex(buffer[5])\n + \"-\" + MathUtils.decimalToHex(buffer[6]) + MathUtils.decimalToHex(buffer[7])\n + \"-\" + MathUtils.decimalToHex(buffer[8]) + MathUtils.decimalToHex(buffer[9])\n + \"-\" + MathUtils.decimalToHex(buffer[10]) + MathUtils.decimalToHex(buffer[11])\n + MathUtils.decimalToHex(buffer[12]) + MathUtils.decimalToHex(buffer[13])\n + MathUtils.decimalToHex(buffer[14]) + MathUtils.decimalToHex(buffer[15]);\n }\n catch (err) {\n const guidHolder: string = \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\";\n const hex: string = \"0123456789abcdef\";\n let r: number = 0;\n let guidResponse: string = \"\";\n for (let i: number = 0; i < 36; i++) {\n if (guidHolder[i] !== \"-\" && guidHolder[i] !== \"4\") {\n // each x and y needs to be random\n r = Math.random() * 16 | 0;\n }\n if (guidHolder[i] === \"x\") {\n guidResponse += hex[r];\n } else if (guidHolder[i] === \"y\") {\n // clock-seq-and-reserved first hex is filtered and remaining hex values are random\n r &= 0x3; // bit and with 0011 to set pos 2 to zero ?0??\n r |= 0x8; // set pos 3 to 1 as 1???\n guidResponse += hex[r];\n } else {\n guidResponse += guidHolder[i];\n }\n }\n return guidResponse;\n }\n }\n\n /**\n * verifies if a string is GUID\n * @param guid\n */\n static isGuid(guid: string): boolean {\n const regexGuid = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;\n return regexGuid.test(guid);\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Utility functions for strings in a browser. See here for implementation details:\n * https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding#Solution_2_%E2%80%93_JavaScript's_UTF-16_%3E_UTF-8_%3E_base64\n */\nexport class BrowserStringUtils {\n\n /**\n * Converts string to Uint8Array\n * @param sDOMStr \n */\n static stringToUtf8Arr (sDOMStr: string): Uint8Array {\n let nChr;\n let nArrLen = 0;\n const nStrLen = sDOMStr.length;\n /* mapping... */\n for (let nMapIdx = 0; nMapIdx < nStrLen; nMapIdx++) {\n nChr = sDOMStr.charCodeAt(nMapIdx);\n nArrLen += nChr < 0x80 ? 1 : nChr < 0x800 ? 2 : nChr < 0x10000 ? 3 : nChr < 0x200000 ? 4 : nChr < 0x4000000 ? 5 : 6;\n }\n\n const aBytes = new Uint8Array(nArrLen);\n\n /* transcription... */\n\n for (let nIdx = 0, nChrIdx = 0; nIdx < nArrLen; nChrIdx++) {\n nChr = sDOMStr.charCodeAt(nChrIdx);\n if (nChr < 128) {\n /* one byte */\n aBytes[nIdx++] = nChr;\n } else if (nChr < 0x800) {\n /* two bytes */\n aBytes[nIdx++] = 192 + (nChr >>> 6);\n aBytes[nIdx++] = 128 + (nChr & 63);\n } else if (nChr < 0x10000) {\n /* three bytes */\n aBytes[nIdx++] = 224 + (nChr >>> 12);\n aBytes[nIdx++] = 128 + (nChr >>> 6 & 63);\n aBytes[nIdx++] = 128 + (nChr & 63);\n } else if (nChr < 0x200000) {\n /* four bytes */\n aBytes[nIdx++] = 240 + (nChr >>> 18);\n aBytes[nIdx++] = 128 + (nChr >>> 12 & 63);\n aBytes[nIdx++] = 128 + (nChr >>> 6 & 63);\n aBytes[nIdx++] = 128 + (nChr & 63);\n } else if (nChr < 0x4000000) {\n /* five bytes */\n aBytes[nIdx++] = 248 + (nChr >>> 24);\n aBytes[nIdx++] = 128 + (nChr >>> 18 & 63);\n aBytes[nIdx++] = 128 + (nChr >>> 12 & 63);\n aBytes[nIdx++] = 128 + (nChr >>> 6 & 63);\n aBytes[nIdx++] = 128 + (nChr & 63);\n } else /* if (nChr <= 0x7fffffff) */ {\n /* six bytes */\n aBytes[nIdx++] = 252 + (nChr >>> 30);\n aBytes[nIdx++] = 128 + (nChr >>> 24 & 63);\n aBytes[nIdx++] = 128 + (nChr >>> 18 & 63);\n aBytes[nIdx++] = 128 + (nChr >>> 12 & 63);\n aBytes[nIdx++] = 128 + (nChr >>> 6 & 63);\n aBytes[nIdx++] = 128 + (nChr & 63);\n }\n }\n\n return aBytes; \n }\n\n /**\n * Converst string to ArrayBuffer\n * @param dataString \n */\n static stringToArrayBuffer(dataString: string): ArrayBuffer {\n const data = new ArrayBuffer(dataString.length);\n const dataView = new Uint8Array(data);\n for (let i: number = 0; i < dataString.length; i++) {\n dataView[i] = dataString.charCodeAt(i);\n }\n return data;\n }\n\n /**\n * Converts Uint8Array to a string\n * @param aBytes \n */\n static utf8ArrToString (aBytes: Uint8Array): string {\n let sView = \"\";\n for (let nPart, nLen = aBytes.length, nIdx = 0; nIdx < nLen; nIdx++) {\n nPart = aBytes[nIdx];\n sView += String.fromCharCode(\n nPart > 251 && nPart < 254 && nIdx + 5 < nLen ? /* six bytes */\n /* (nPart - 252 << 30) may be not so safe in ECMAScript! So...: */\n (nPart - 252) * 1073741824 + (aBytes[++nIdx] - 128 << 24) + (aBytes[++nIdx] - 128 << 18) + (aBytes[++nIdx] - 128 << 12) + (aBytes[++nIdx] - 128 << 6) + aBytes[++nIdx] - 128\n : nPart > 247 && nPart < 252 && nIdx + 4 < nLen ? /* five bytes */\n (nPart - 248 << 24) + (aBytes[++nIdx] - 128 << 18) + (aBytes[++nIdx] - 128 << 12) + (aBytes[++nIdx] - 128 << 6) + aBytes[++nIdx] - 128\n : nPart > 239 && nPart < 248 && nIdx + 3 < nLen ? /* four bytes */\n (nPart - 240 << 18) + (aBytes[++nIdx] - 128 << 12) + (aBytes[++nIdx] - 128 << 6) + aBytes[++nIdx] - 128\n : nPart > 223 && nPart < 240 && nIdx + 2 < nLen ? /* three bytes */\n (nPart - 224 << 12) + (aBytes[++nIdx] - 128 << 6) + aBytes[++nIdx] - 128\n : nPart > 191 && nPart < 224 && nIdx + 1 < nLen ? /* two bytes */\n (nPart - 192 << 6) + aBytes[++nIdx] - 128\n : /* nPart < 127 ? */ /* one byte */\n nPart\n );\n }\n return sView;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { BrowserStringUtils } from \"../utils/BrowserStringUtils\";\n\n/**\n * Class which exposes APIs to encode plaintext to base64 encoded string. See here for implementation details:\n * https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding#Solution_2_%E2%80%93_JavaScript's_UTF-16_%3E_UTF-8_%3E_base64\n */\nexport class Base64Encode {\n \n /**\n * Returns URL Safe b64 encoded string from a plaintext string.\n * @param input \n */\n urlEncode(input: string): string {\n return encodeURIComponent(this.encode(input)\n .replace(/=/g, \"\")\n .replace(/\\+/g, \"-\")\n .replace(/\\//g, \"_\"));\n }\n\n /**\n * Returns URL Safe b64 encoded string from an int8Array.\n * @param inputArr \n */\n urlEncodeArr(inputArr: Uint8Array): string {\n return this.base64EncArr(inputArr)\n .replace(/=/g, \"\")\n .replace(/\\+/g, \"-\")\n .replace(/\\//g, \"_\");\n }\n\n /**\n * Returns b64 encoded string from plaintext string.\n * @param input \n */\n encode(input: string): string {\n const inputUtf8Arr = BrowserStringUtils.stringToUtf8Arr(input);\n return this.base64EncArr(inputUtf8Arr);\n }\n\n /**\n * Base64 encode byte array\n * @param aBytes \n */\n private base64EncArr(aBytes: Uint8Array): string { \n const eqLen = (3 - (aBytes.length % 3)) % 3;\n let sB64Enc = \"\";\n \n for (let nMod3, nLen = aBytes.length, nUint24 = 0, nIdx = 0; nIdx < nLen; nIdx++) {\n nMod3 = nIdx % 3;\n /* Uncomment the following line in order to split the output in lines 76-character long: */\n /*\n *if (nIdx > 0 && (nIdx * 4 / 3) % 76 === 0) { sB64Enc += \"\\r\\n\"; }\n */\n nUint24 |= aBytes[nIdx] << (16 >>> nMod3 & 24);\n if (nMod3 === 2 || aBytes.length - nIdx === 1) {\n sB64Enc += String.fromCharCode(\n this.uint6ToB64(nUint24 >>> 18 & 63), \n this.uint6ToB64(nUint24 >>> 12 & 63), \n this.uint6ToB64(nUint24 >>> 6 & 63), \n this.uint6ToB64(nUint24 & 63)\n );\n nUint24 = 0;\n }\n }\n\n return eqLen === 0 ? sB64Enc : sB64Enc.substring(0, sB64Enc.length - eqLen) + (eqLen === 1 ? \"=\" : \"==\");\n }\n\n /**\n * Base64 string to array encoding helper\n * @param nUint6 \n */\n private uint6ToB64 (nUint6: number): number {\n return nUint6 < 26 ?\n nUint6 + 65\n : nUint6 < 52 ?\n nUint6 + 71\n : nUint6 < 62 ?\n nUint6 - 4\n : nUint6 === 62 ?\n 43\n : nUint6 === 63 ?\n 47\n :\n 65;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { BrowserStringUtils } from \"../utils/BrowserStringUtils\";\n\n/**\n * Class which exposes APIs to decode base64 strings to plaintext. See here for implementation details:\n * https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding#Solution_2_%E2%80%93_JavaScript's_UTF-16_%3E_UTF-8_%3E_base64\n */\nexport class Base64Decode {\n\n /**\n * Returns a URL-safe plaintext decoded string from b64 encoded input.\n * @param input \n */\n decode(input: string): string {\n let encodedString = input.replace(/-/g, \"+\").replace(/_/g, \"/\");\n switch (encodedString.length % 4) {\n case 0:\n break;\n case 2:\n encodedString += \"==\";\n break;\n case 3:\n encodedString += \"=\";\n break;\n default:\n throw new Error(\"Invalid base64 string\");\n }\n\n const inputUtf8Arr = this.base64DecToArr(encodedString);\n return BrowserStringUtils.utf8ArrToString(inputUtf8Arr);\n }\n\n /**\n * Decodes base64 into Uint8Array\n * @param base64String \n * @param nBlockSize \n */\n private base64DecToArr(base64String: string, nBlockSize?: number): Uint8Array {\n const sB64Enc = base64String.replace(/[^A-Za-z0-9\\+\\/]/g, \"\");\n const nInLen = sB64Enc.length;\n const nOutLen = nBlockSize ? Math.ceil((nInLen * 3 + 1 >>> 2) / nBlockSize) * nBlockSize : nInLen * 3 + 1 >>> 2;\n const aBytes = new Uint8Array(nOutLen);\n\n for (let nMod3, nMod4, nUint24 = 0, nOutIdx = 0, nInIdx = 0; nInIdx < nInLen; nInIdx++) {\n nMod4 = nInIdx & 3;\n nUint24 |= this.b64ToUint6(sB64Enc.charCodeAt(nInIdx)) << 18 - 6 * nMod4;\n if (nMod4 === 3 || nInLen - nInIdx === 1) {\n for (nMod3 = 0; nMod3 < 3 && nOutIdx < nOutLen; nMod3++, nOutIdx++) {\n aBytes[nOutIdx] = nUint24 >>> (16 >>> nMod3 & 24) & 255;\n }\n nUint24 = 0;\n }\n }\n\n return aBytes;\n }\n\n /**\n * Base64 string to array decoding helper\n * @param charNum \n */\n private b64ToUint6(charNum: number): number {\n return charNum > 64 && charNum < 91 ?\n charNum - 65\n : charNum > 96 && charNum < 123 ? \n charNum - 71\n : charNum > 47 && charNum < 58 ?\n charNum + 4\n : charNum === 43 ?\n 62\n : charNum === 47 ?\n 63\n :\n 0;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AuthError, StringUtils } from \"@azure/msal-common\";\n\n/**\n * BrowserAuthErrorMessage class containing string constants used by error codes and messages.\n */\nexport const BrowserAuthErrorMessage = {\n pkceNotGenerated: {\n code: \"pkce_not_created\",\n desc: \"The PKCE code challenge and verifier could not be generated.\"\n },\n cryptoDoesNotExist: {\n code: \"crypto_nonexistent\",\n desc: \"The crypto object or function is not available.\"\n },\n httpMethodNotImplementedError: {\n code: \"http_method_not_implemented\",\n desc: \"The HTTP method given has not been implemented in this library.\"\n },\n emptyNavigateUriError: {\n code: \"empty_navigate_uri\",\n desc: \"Navigation URI is empty. Please check stack trace for more info.\"\n },\n hashEmptyError: {\n code: \"hash_empty_error\",\n desc: \"Hash value cannot be processed because it is empty. Please verify that your redirectUri is not clearing the hash.\"\n },\n hashDoesNotContainStateError: {\n code: \"no_state_in_hash\",\n desc: \"Hash does not contain state. Please verify that the request originated from msal.\"\n },\n hashDoesNotContainKnownPropertiesError: {\n code: \"hash_does_not_contain_known_properties\",\n desc: \"Hash does not contain known properites. Please verify that your redirectUri is not changing the hash.\"\n },\n unableToParseStateError: {\n code: \"unable_to_parse_state\",\n desc: \"Unable to parse state. Please verify that the request originated from msal.\"\n },\n stateInteractionTypeMismatchError: {\n code: \"state_interaction_type_mismatch\",\n desc: \"Hash contains state but the interaction type does not match the caller.\"\n },\n interactionInProgress: {\n code: \"interaction_in_progress\",\n desc: \"Interaction is currently in progress. Please ensure that this interaction has been completed before calling an interactive API. For more visit: aka.ms/msaljs/browser-errors.\"\n },\n popupWindowError: {\n code: \"popup_window_error\",\n desc: \"Error opening popup window. This can happen if you are using IE or if popups are blocked in the browser.\"\n },\n emptyWindowError: {\n code: \"empty_window_error\",\n desc: \"window.open returned null or undefined window object.\"\n },\n userCancelledError: {\n code: \"user_cancelled\",\n desc: \"User cancelled the flow.\"\n },\n monitorPopupTimeoutError: {\n code: \"monitor_window_timeout\",\n desc: \"Token acquisition in popup failed due to timeout. For more visit: aka.ms/msaljs/browser-errors.\"\n },\n monitorIframeTimeoutError: {\n code: \"monitor_window_timeout\",\n desc: \"Token acquisition in iframe failed due to timeout. For more visit: aka.ms/msaljs/browser-errors.\"\n },\n redirectInIframeError: {\n code: \"redirect_in_iframe\",\n desc: \"Code flow is not supported inside an iframe. Please ensure you are using MSAL.js in a top frame of the window if using the redirect APIs, or use the popup APIs.\"\n },\n blockTokenRequestsInHiddenIframeError: {\n code: \"block_iframe_reload\",\n desc: \"Request was blocked inside an iframe because MSAL detected an authentication response. For more visit: aka.ms/msaljs/browser-errors\"\n },\n blockAcquireTokenInPopupsError: {\n code: \"block_nested_popups\",\n desc: \"Request was blocked inside a popup because MSAL detected it was running in a popup.\"\n },\n iframeClosedPrematurelyError: {\n code: \"iframe_closed_prematurely\",\n desc: \"The iframe being monitored was closed prematurely.\"\n },\n silentLogoutUnsupportedError: {\n code: \"silent_logout_unsupported\",\n desc: \"Silent logout not supported. Please call logoutRedirect or logoutPopup instead.\"\n },\n noAccountError: {\n code: \"no_account_error\",\n desc: \"No account object provided to acquireTokenSilent and no active account has been set. Please call setActiveAccount or provide an account on the request.\"\n },\n silentPromptValueError: {\n code: \"silent_prompt_value_error\",\n desc: \"The value given for the prompt value is not valid for silent requests - must be set to 'none'.\"\n },\n noTokenRequestCacheError: {\n code: \"no_token_request_cache_error\",\n desc: \"No token request found in cache.\"\n },\n unableToParseTokenRequestCacheError: {\n code: \"unable_to_parse_token_request_cache_error\",\n desc: \"The cached token request could not be parsed.\"\n },\n noCachedAuthorityError: {\n code: \"no_cached_authority_error\",\n desc: \"No cached authority found.\"\n },\n authRequestNotSet: {\n code: \"auth_request_not_set_error\",\n desc: \"Auth Request not set. Please ensure initiateAuthRequest was called from the InteractionHandler\"\n },\n invalidCacheType: {\n code: \"invalid_cache_type\",\n desc: \"Invalid cache type\"\n },\n notInBrowserEnvironment: {\n code: \"non_browser_environment\",\n desc: \"Login and token requests are not supported in non-browser environments.\"\n },\n databaseNotOpen: {\n code: \"database_not_open\",\n desc: \"Database is not open!\"\n },\n noNetworkConnectivity: {\n code: \"no_network_connectivity\",\n desc: \"No network connectivity. Check your internet connection.\"\n },\n postRequestFailed: {\n code: \"post_request_failed\",\n desc: \"Network request failed: If the browser threw a CORS error, check that the redirectUri is registered in the Azure App Portal as type 'SPA'\"\n },\n getRequestFailed: {\n code: \"get_request_failed\",\n desc: \"Network request failed. Please check the network trace to determine root cause.\"\n },\n failedToParseNetworkResponse: {\n code: \"failed_to_parse_response\",\n desc: \"Failed to parse network response. Check network trace.\"\n },\n unableToLoadTokenError: {\n code: \"unable_to_load_token\",\n desc: \"Error loading token to cache.\"\n },\n signingKeyNotFoundInStorage: {\n code: \"crypto_key_not_found\",\n desc: \"Cryptographic Key or Keypair not found in browser storage.\"\n },\n authCodeRequired: {\n code: \"auth_code_required\",\n desc: \"An authorization code must be provided (as the `code` property on the request) to this flow.\"\n },\n databaseUnavailable: {\n code: \"database_unavailable\",\n desc: \"IndexedDB, which is required for persistent cryptographic key storage, is unavailable. This may be caused by browser privacy features which block persistent storage in third-party contexts.\"\n }\n};\n\n/**\n * Browser library error class thrown by the MSAL.js library for SPAs\n */\nexport class BrowserAuthError extends AuthError {\n\n constructor(errorCode: string, errorMessage?: string) {\n super(errorCode, errorMessage);\n\n Object.setPrototypeOf(this, BrowserAuthError.prototype);\n this.name = \"BrowserAuthError\";\n }\n\n /**\n * Creates an error thrown when PKCE is not implemented.\n * @param errDetail \n */\n static createPkceNotGeneratedError(errDetail: string): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.pkceNotGenerated.code,\n `${BrowserAuthErrorMessage.pkceNotGenerated.desc} Detail:${errDetail}`);\n }\n\n /**\n * Creates an error thrown when the crypto object is unavailable.\n * @param errDetail \n */\n static createCryptoNotAvailableError(errDetail: string): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.cryptoDoesNotExist.code,\n `${BrowserAuthErrorMessage.cryptoDoesNotExist.desc} Detail:${errDetail}`);\n }\n\n /**\n * Creates an error thrown when an HTTP method hasn't been implemented by the browser class.\n * @param method \n */\n static createHttpMethodNotImplementedError(method: string): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.httpMethodNotImplementedError.code,\n `${BrowserAuthErrorMessage.httpMethodNotImplementedError.desc} Given Method: ${method}`);\n }\n\n /**\n * Creates an error thrown when the navigation URI is empty.\n */\n static createEmptyNavigationUriError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.emptyNavigateUriError.code, BrowserAuthErrorMessage.emptyNavigateUriError.desc);\n }\n\n /**\n * Creates an error thrown when the hash string value is unexpectedly empty.\n * @param hashValue \n */\n static createEmptyHashError(hashValue: string): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.hashEmptyError.code, `${BrowserAuthErrorMessage.hashEmptyError.desc} Given Url: ${hashValue}`);\n }\n\n /**\n * Creates an error thrown when the hash string value is unexpectedly empty.\n */\n static createHashDoesNotContainStateError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.hashDoesNotContainStateError.code, BrowserAuthErrorMessage.hashDoesNotContainStateError.desc);\n }\n\n /**\n * Creates an error thrown when the hash string value does not contain known properties\n */\n static createHashDoesNotContainKnownPropertiesError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.hashDoesNotContainKnownPropertiesError.code, BrowserAuthErrorMessage.hashDoesNotContainKnownPropertiesError.desc);\n }\n\n /**\n * Creates an error thrown when the hash string value is unexpectedly empty.\n */\n static createUnableToParseStateError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.unableToParseStateError.code, BrowserAuthErrorMessage.unableToParseStateError.desc);\n }\n\n /**\n * Creates an error thrown when the state value in the hash does not match the interaction type of the API attempting to consume it.\n */\n static createStateInteractionTypeMismatchError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.stateInteractionTypeMismatchError.code, BrowserAuthErrorMessage.stateInteractionTypeMismatchError.desc);\n }\n\n /**\n * Creates an error thrown when a browser interaction (redirect or popup) is in progress.\n */\n static createInteractionInProgressError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.interactionInProgress.code, BrowserAuthErrorMessage.interactionInProgress.desc);\n }\n\n /**\n * Creates an error thrown when the popup window could not be opened.\n * @param errDetail \n */\n static createPopupWindowError(errDetail?: string): BrowserAuthError {\n let errorMessage = BrowserAuthErrorMessage.popupWindowError.desc;\n errorMessage = !StringUtils.isEmpty(errDetail) ? `${errorMessage} Details: ${errDetail}` : errorMessage;\n return new BrowserAuthError(BrowserAuthErrorMessage.popupWindowError.code, errorMessage);\n }\n\n /**\n * Creates an error thrown when window.open returns an empty window object.\n * @param errDetail \n */\n static createEmptyWindowCreatedError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.emptyWindowError.code, BrowserAuthErrorMessage.emptyWindowError.desc);\n }\n\n /**\n * Creates an error thrown when the user closes a popup.\n */\n static createUserCancelledError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.userCancelledError.code,\n BrowserAuthErrorMessage.userCancelledError.desc);\n }\n\n /**\n * Creates an error thrown when monitorPopupFromHash times out for a given popup.\n */\n static createMonitorPopupTimeoutError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.monitorPopupTimeoutError.code,\n BrowserAuthErrorMessage.monitorPopupTimeoutError.desc);\n }\n\n /**\n * Creates an error thrown when monitorIframeFromHash times out for a given iframe.\n */\n static createMonitorIframeTimeoutError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.monitorIframeTimeoutError.code,\n BrowserAuthErrorMessage.monitorIframeTimeoutError.desc);\n }\n\n /**\n * Creates an error thrown when navigateWindow is called inside an iframe.\n * @param windowParentCheck \n */\n static createRedirectInIframeError(windowParentCheck: boolean): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.redirectInIframeError.code, \n `${BrowserAuthErrorMessage.redirectInIframeError.desc} (window.parent !== window) => ${windowParentCheck}`);\n }\n\n /**\n * Creates an error thrown when an auth reload is done inside an iframe.\n */\n static createBlockReloadInHiddenIframeError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.blockTokenRequestsInHiddenIframeError.code,\n BrowserAuthErrorMessage.blockTokenRequestsInHiddenIframeError.desc);\n }\n\n /**\n * Creates an error thrown when a popup attempts to call an acquireToken API\n * @returns \n */\n static createBlockAcquireTokenInPopupsError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.blockAcquireTokenInPopupsError.code, \n BrowserAuthErrorMessage.blockAcquireTokenInPopupsError.desc);\n }\n\n /**\n * Creates an error thrown when an iframe is found to be closed before the timeout is reached.\n */\n static createIframeClosedPrematurelyError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.iframeClosedPrematurelyError.code, BrowserAuthErrorMessage.iframeClosedPrematurelyError.desc);\n }\n\n /**\n * Creates an error thrown when the logout API is called on any of the silent interaction clients\n */\n static createSilentLogoutUnsupportedError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.silentLogoutUnsupportedError.code, BrowserAuthErrorMessage.silentLogoutUnsupportedError.desc);\n }\n\n /**\n * Creates an error thrown when the account object is not provided in the acquireTokenSilent API.\n */\n static createNoAccountError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.noAccountError.code, BrowserAuthErrorMessage.noAccountError.desc);\n }\n\n /**\n * Creates an error thrown when a given prompt value is invalid for silent requests.\n */\n static createSilentPromptValueError(givenPrompt: string): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.silentPromptValueError.code, `${BrowserAuthErrorMessage.silentPromptValueError.desc} Given value: ${givenPrompt}`);\n }\n\n /**\n * Creates an error thrown when the cached token request could not be retrieved from the cache\n */\n static createUnableToParseTokenRequestCacheError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.unableToParseTokenRequestCacheError.code,\n BrowserAuthErrorMessage.unableToParseTokenRequestCacheError.desc);\n }\n\n /**\n * Creates an error thrown when the token request could not be retrieved from the cache\n */\n static createNoTokenRequestCacheError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.noTokenRequestCacheError.code,\n BrowserAuthErrorMessage.noTokenRequestCacheError.desc);\n }\n\n /**\n * Creates an error thrown when handleCodeResponse is called before initiateAuthRequest (InteractionHandler)\n */\n static createAuthRequestNotSetError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.authRequestNotSet.code,\n BrowserAuthErrorMessage.authRequestNotSet.desc);\n }\n\n /**\n * Creates an error thrown when the authority could not be retrieved from the cache\n */\n static createNoCachedAuthorityError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.noCachedAuthorityError.code,\n BrowserAuthErrorMessage.noCachedAuthorityError.desc);\n }\n\n /**\n * Creates an error thrown if cache type is invalid.\n */\n static createInvalidCacheTypeError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.invalidCacheType.code, `${BrowserAuthErrorMessage.invalidCacheType.desc}`);\n }\n\n /**\n * Create an error thrown when login and token requests are made from a non-browser environment\n */\n static createNonBrowserEnvironmentError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.notInBrowserEnvironment.code, BrowserAuthErrorMessage.notInBrowserEnvironment.desc);\n }\n\n /**\n * Create an error thrown when indexDB database is not open\n */\n static createDatabaseNotOpenError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.databaseNotOpen.code, BrowserAuthErrorMessage.databaseNotOpen.desc);\n }\n\n /**\n * Create an error thrown when token fetch fails due to no internet\n */\n static createNoNetworkConnectivityError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.noNetworkConnectivity.code, BrowserAuthErrorMessage.noNetworkConnectivity.desc);\n }\n\n /**\n * Create an error thrown when token fetch fails due to reasons other than internet connectivity\n */\n static createPostRequestFailedError(errorDesc: string, endpoint: string): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.postRequestFailed.code, `${BrowserAuthErrorMessage.postRequestFailed.desc} | Network client threw: ${errorDesc} | Attempted to reach: ${endpoint.split(\"?\")[0]}`);\n }\n\n /**\n * Create an error thrown when get request fails due to reasons other than internet connectivity\n */\n static createGetRequestFailedError(errorDesc: string, endpoint: string): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.getRequestFailed.code, `${BrowserAuthErrorMessage.getRequestFailed.desc} | Network client threw: ${errorDesc} | Attempted to reach: ${endpoint.split(\"?\")[0]}`);\n }\n\n /**\n * Create an error thrown when network client fails to parse network response\n */\n static createFailedToParseNetworkResponseError(endpoint: string): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.failedToParseNetworkResponse.code, `${BrowserAuthErrorMessage.failedToParseNetworkResponse.desc} | Attempted to reach: ${endpoint.split(\"?\")[0]}`);\n }\n\n /**\n * Create an error thrown when the necessary information is not available to sideload tokens \n */\n static createUnableToLoadTokenError(errorDetail: string): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.unableToLoadTokenError.code, `${BrowserAuthErrorMessage.unableToLoadTokenError.desc} | ${errorDetail}`);\n }\n \n /**\n * Create an error thrown when the queried cryptographic key is not found in IndexedDB\n */\n static createSigningKeyNotFoundInStorageError(keyId: string): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.signingKeyNotFoundInStorage.code, `${BrowserAuthErrorMessage.signingKeyNotFoundInStorage.desc} | No match found for KeyId: ${keyId}`);\n }\n\n /**\n * Create an error when an authorization code is required but not provided\n */\n static createAuthCodeRequiredError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.authCodeRequired.code, BrowserAuthErrorMessage.authCodeRequired.desc);\n }\n\n /**\n * Create an error when IndexedDB is unavailable\n */\n static createDatabaseUnavailableError(): BrowserAuthError {\n return new BrowserAuthError(BrowserAuthErrorMessage.databaseUnavailable.code, BrowserAuthErrorMessage.databaseUnavailable.desc);\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { PkceCodes } from \"@azure/msal-common\";\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\nimport { Base64Encode } from \"../encode/Base64Encode\";\nimport { BrowserCrypto } from \"./BrowserCrypto\";\n\n// Constant byte array length\nconst RANDOM_BYTE_ARR_LENGTH = 32;\n\n/**\n * Class which exposes APIs to generate PKCE codes and code verifiers.\n */\nexport class PkceGenerator {\n\n private base64Encode: Base64Encode;\n private cryptoObj: BrowserCrypto;\n\n constructor(cryptoObj: BrowserCrypto) {\n this.base64Encode = new Base64Encode();\n this.cryptoObj = cryptoObj;\n }\n\n /**\n * Generates PKCE Codes. See the RFC for more information: https://tools.ietf.org/html/rfc7636\n */\n async generateCodes(): Promise {\n const codeVerifier = this.generateCodeVerifier();\n const codeChallenge = await this.generateCodeChallengeFromVerifier(codeVerifier);\n return {\n verifier: codeVerifier,\n challenge: codeChallenge\n };\n }\n\n /**\n * Generates a random 32 byte buffer and returns the base64\n * encoded string to be used as a PKCE Code Verifier\n */\n private generateCodeVerifier(): string {\n try {\n // Generate random values as utf-8\n const buffer: Uint8Array = new Uint8Array(RANDOM_BYTE_ARR_LENGTH);\n this.cryptoObj.getRandomValues(buffer);\n // encode verifier as base64\n const pkceCodeVerifierB64: string = this.base64Encode.urlEncodeArr(buffer);\n return pkceCodeVerifierB64;\n } catch (e) {\n throw BrowserAuthError.createPkceNotGeneratedError(e);\n }\n }\n\n /**\n * Creates a base64 encoded PKCE Code Challenge string from the\n * hash created from the PKCE Code Verifier supplied\n */\n private async generateCodeChallengeFromVerifier(pkceCodeVerifier: string): Promise {\n try {\n // hashed verifier\n const pkceHashedCodeVerifier = await this.cryptoObj.sha256Digest(pkceCodeVerifier);\n // encode hash as base64\n return this.base64Encode.urlEncodeArr(new Uint8Array(pkceHashedCodeVerifier));\n } catch (e) {\n throw BrowserAuthError.createPkceNotGeneratedError(e);\n }\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { BrowserStringUtils } from \"../utils/BrowserStringUtils\";\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\nimport { KEY_FORMAT_JWK } from \"../utils/BrowserConstants\";\nimport { Logger } from \"..\";\n/**\n * See here for more info on RsaHashedKeyGenParams: https://developer.mozilla.org/en-US/docs/Web/API/RsaHashedKeyGenParams\n */\n// RSA KeyGen Algorithm\nconst PKCS1_V15_KEYGEN_ALG = \"RSASSA-PKCS1-v1_5\";\n// SHA-256 hashing algorithm\nconst S256_HASH_ALG = \"SHA-256\";\n// MOD length for PoP tokens\nconst MODULUS_LENGTH = 2048;\n// Public Exponent\nconst PUBLIC_EXPONENT: Uint8Array = new Uint8Array([0x01, 0x00, 0x01]);\n\n/**\n * This class implements functions used by the browser library to perform cryptography operations such as\n * hashing and encoding. It also has helper functions to validate the availability of specific APIs.\n */\nexport class BrowserCrypto {\n\n private _keygenAlgorithmOptions: RsaHashedKeyGenParams;\n private logger: Logger;\n\n constructor(logger: Logger) {\n this.logger = logger;\n \n if (!(this.hasCryptoAPI())) {\n throw BrowserAuthError.createCryptoNotAvailableError(\"Browser crypto or msCrypto object not available.\");\n }\n\n this._keygenAlgorithmOptions = {\n name: PKCS1_V15_KEYGEN_ALG,\n hash: S256_HASH_ALG,\n modulusLength: MODULUS_LENGTH,\n publicExponent: PUBLIC_EXPONENT\n };\n }\n\n /**\n * Returns a sha-256 hash of the given dataString as an ArrayBuffer.\n * @param dataString \n */\n async sha256Digest(dataString: string): Promise {\n const data = BrowserStringUtils.stringToUtf8Arr(dataString);\n\n return this.hasIECrypto() ? this.getMSCryptoDigest(S256_HASH_ALG, data) : this.getSubtleCryptoDigest(S256_HASH_ALG, data);\n }\n\n /**\n * Populates buffer with cryptographically random values.\n * @param dataBuffer \n */\n getRandomValues(dataBuffer: Uint8Array): void {\n const cryptoObj = window[\"msCrypto\"] || window.crypto;\n if (!cryptoObj.getRandomValues) {\n throw BrowserAuthError.createCryptoNotAvailableError(\"getRandomValues does not exist.\");\n }\n cryptoObj.getRandomValues(dataBuffer);\n }\n\n /**\n * Generates a keypair based on current keygen algorithm config.\n * @param extractable \n * @param usages \n */\n async generateKeyPair(extractable: boolean, usages: Array): Promise {\n return (\n this.hasIECrypto() ? \n this.msCryptoGenerateKey(extractable, usages) \n : window.crypto.subtle.generateKey(this._keygenAlgorithmOptions, extractable, usages)\n ) as Promise;\n }\n\n /**\n * Export key as Json Web Key (JWK)\n * @param key \n * @param format \n */\n async exportJwk(key: CryptoKey): Promise {\n return this.hasIECrypto() ? this.msCryptoExportJwk(key) : window.crypto.subtle.exportKey(KEY_FORMAT_JWK, key);\n }\n\n /**\n * Imports key as Json Web Key (JWK), can set extractable and usages.\n * @param key \n * @param format \n * @param extractable \n * @param usages \n */\n async importJwk(key: JsonWebKey, extractable: boolean, usages: Array): Promise {\n const keyString = BrowserCrypto.getJwkString(key);\n const keyBuffer = BrowserStringUtils.stringToArrayBuffer(keyString);\n\n return this.hasIECrypto() ? \n this.msCryptoImportKey(keyBuffer, extractable, usages) \n : window.crypto.subtle.importKey(KEY_FORMAT_JWK, key, this._keygenAlgorithmOptions, extractable, usages);\n }\n\n /**\n * Signs given data with given key\n * @param key \n * @param data \n */\n async sign(key: CryptoKey, data: ArrayBuffer): Promise {\n return this.hasIECrypto() ?\n this.msCryptoSign(key, data)\n : window.crypto.subtle.sign(this._keygenAlgorithmOptions, key, data);\n }\n\n /**\n * Check whether IE crypto or other browser cryptography is available.\n */\n private hasCryptoAPI(): boolean {\n return this.hasIECrypto() || this.hasBrowserCrypto();\n }\n\n /**\n * Checks whether IE crypto (AKA msCrypto) is available.\n */\n private hasIECrypto(): boolean {\n return \"msCrypto\" in window;\n }\n\n /**\n * Check whether browser crypto is available.\n */\n private hasBrowserCrypto(): boolean {\n return \"crypto\" in window;\n }\n\n /**\n * Helper function for SHA digest.\n * @param algorithm \n * @param data \n */\n private async getSubtleCryptoDigest(algorithm: string, data: Uint8Array): Promise {\n return window.crypto.subtle.digest(algorithm, data);\n }\n\n /**\n * IE Helper function for SHA digest.\n * @param algorithm \n * @param data \n */\n private async getMSCryptoDigest(algorithm: string, data: Uint8Array): Promise {\n return new Promise((resolve, reject) => {\n const digestOperation = window[\"msCrypto\"].subtle.digest(algorithm, data.buffer);\n digestOperation.addEventListener(\"complete\", (e: { target: { result: ArrayBuffer | PromiseLike; }; }) => {\n resolve(e.target.result);\n });\n digestOperation.addEventListener(\"error\", (error: string) => {\n reject(error);\n });\n });\n }\n\n /**\n * IE Helper function for generating a keypair\n * @param extractable \n * @param usages \n */\n private async msCryptoGenerateKey(extractable: boolean, usages: Array): Promise {\n return new Promise((resolve: Function, reject: Function) => {\n const msGenerateKey = window[\"msCrypto\"].subtle.generateKey(this._keygenAlgorithmOptions, extractable, usages);\n msGenerateKey.addEventListener(\"complete\", (e: { target: { result: CryptoKeyPair | PromiseLike; }; }) => {\n resolve(e.target.result);\n });\n\n msGenerateKey.addEventListener(\"error\", (error: string) => {\n reject(error);\n });\n });\n }\n\n /**\n * IE Helper function for exportKey\n * @param key \n * @param format \n */\n private async msCryptoExportJwk(key: CryptoKey): Promise {\n return new Promise((resolve: Function, reject: Function) => {\n const msExportKey = window[\"msCrypto\"].subtle.exportKey(KEY_FORMAT_JWK, key);\n msExportKey.addEventListener(\"complete\", (e: { target: { result: ArrayBuffer; }; }) => {\n const resultBuffer: ArrayBuffer = e.target.result;\n\n const resultString = BrowserStringUtils.utf8ArrToString(new Uint8Array(resultBuffer))\n .replace(/\\r/g, \"\")\n .replace(/\\n/g, \"\")\n .replace(/\\t/g, \"\")\n .split(\" \").join(\"\")\n .replace(\"\\u0000\", \"\");\n\n try {\n resolve(JSON.parse(resultString));\n } catch (e) {\n reject(e);\n }\n });\n\n msExportKey.addEventListener(\"error\", (error: string) => {\n reject(error);\n });\n });\n }\n\n /**\n * IE Helper function for importKey\n * @param key \n * @param format \n * @param extractable \n * @param usages \n */\n private async msCryptoImportKey(keyBuffer: ArrayBuffer, extractable: boolean, usages: Array): Promise {\n return new Promise((resolve: Function, reject: Function) => {\n const msImportKey = window[\"msCrypto\"].subtle.importKey(KEY_FORMAT_JWK, keyBuffer, this._keygenAlgorithmOptions, extractable, usages);\n msImportKey.addEventListener(\"complete\", (e: { target: { result: CryptoKey | PromiseLike; }; }) => {\n resolve(e.target.result);\n });\n\n msImportKey.addEventListener(\"error\", (error: string) => {\n reject(error);\n });\n });\n }\n\n /**\n * IE Helper function for sign JWT\n * @param key \n * @param data \n */\n private async msCryptoSign(key: CryptoKey, data: ArrayBuffer): Promise {\n return new Promise((resolve: Function, reject: Function) => {\n const msSign = window[\"msCrypto\"].subtle.sign(this._keygenAlgorithmOptions, key, data);\n msSign.addEventListener(\"complete\", (e: { target: { result: ArrayBuffer | PromiseLike; }; }) => {\n resolve(e.target.result);\n });\n\n msSign.addEventListener(\"error\", (error: string) => {\n reject(error);\n });\n });\n }\n\n /**\n * Returns stringified jwk.\n * @param jwk \n */\n static getJwkString(jwk: JsonWebKey): string {\n return JSON.stringify(jwk, Object.keys(jwk).sort());\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\nimport { DB_NAME, DB_TABLE_NAME, DB_VERSION } from \"../utils/BrowserConstants\";\nimport { IAsyncStorage } from \"./IAsyncMemoryStorage\";\n\ninterface IDBOpenDBRequestEvent extends Event {\n target: IDBOpenDBRequest & EventTarget;\n}\n\ninterface IDBOpenOnUpgradeNeededEvent extends IDBVersionChangeEvent {\n target: IDBOpenDBRequest & EventTarget;\n}\n\ninterface IDBRequestEvent extends Event {\n target: IDBRequest & EventTarget;\n}\n\n/**\n * Storage wrapper for IndexedDB storage in browsers: https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API\n */\nexport class DatabaseStorage implements IAsyncStorage {\n private db: IDBDatabase|undefined;\n private dbName: string;\n private tableName: string;\n private version: number;\n private dbOpen: boolean;\n\n constructor() {\n this.dbName = DB_NAME;\n this.version = DB_VERSION;\n this.tableName = DB_TABLE_NAME;\n this.dbOpen = false;\n }\n\n /**\n * Opens IndexedDB instance.\n */\n async open(): Promise {\n return new Promise((resolve, reject) => {\n const openDB = window.indexedDB.open(this.dbName, this.version);\n openDB.addEventListener(\"upgradeneeded\", (e: IDBVersionChangeEvent) => {\n const event = e as IDBOpenOnUpgradeNeededEvent;\n event.target.result.createObjectStore(this.tableName);\n });\n openDB.addEventListener(\"success\", (e: Event) => {\n const event = e as IDBOpenDBRequestEvent;\n this.db = event.target.result;\n this.dbOpen = true;\n resolve();\n });\n openDB.addEventListener(\"error\", () => reject(BrowserAuthError.createDatabaseUnavailableError()));\n });\n }\n\n /**\n * Opens database if it's not already open\n */\n private async validateDbIsOpen(): Promise {\n if (!this.dbOpen) {\n return await this.open();\n }\n }\n\n /**\n * Retrieves item from IndexedDB instance.\n * @param key \n */\n async getItem(key: string): Promise {\n await this.validateDbIsOpen();\n\n return new Promise((resolve, reject) => {\n // TODO: Add timeouts?\n if (!this.db) {\n return reject(BrowserAuthError.createDatabaseNotOpenError());\n }\n const transaction = this.db.transaction([this.tableName], \"readonly\");\n const objectStore = transaction.objectStore(this.tableName);\n const dbGet = objectStore.get(key);\n dbGet.addEventListener(\"success\", (e: Event) => {\n const event = e as IDBRequestEvent;\n resolve(event.target.result);\n });\n dbGet.addEventListener(\"error\", (e) => reject(e));\n });\n }\n\n /**\n * Adds item to IndexedDB under given key\n * @param key \n * @param payload \n */\n async setItem(key: string, payload: T): Promise {\n await this.validateDbIsOpen();\n\n return new Promise((resolve: Function, reject: Function) => {\n // TODO: Add timeouts?\n if (!this.db) {\n return reject(BrowserAuthError.createDatabaseNotOpenError());\n }\n const transaction = this.db.transaction([this.tableName], \"readwrite\");\n\n const objectStore = transaction.objectStore(this.tableName);\n\n const dbPut = objectStore.put(payload, key);\n\n dbPut.addEventListener(\"success\", () => resolve());\n dbPut.addEventListener(\"error\", (e) => reject(e));\n });\n }\n\n /**\n * Removes item from IndexedDB under given key\n * @param key\n */\n async removeItem(key: string): Promise {\n await this.validateDbIsOpen();\n\n return new Promise((resolve: Function, reject: Function) => {\n if (!this.db) {\n return reject(BrowserAuthError.createDatabaseNotOpenError());\n }\n const transaction = this.db.transaction([this.tableName], \"readwrite\");\n const objectStore = transaction.objectStore(this.tableName);\n const dbDelete = objectStore.delete(key);\n dbDelete.addEventListener(\"success\", () => resolve());\n dbDelete.addEventListener(\"error\", (e) => reject(e));\n });\n }\n\n /**\n * Get all the keys from the storage object as an iterable array of strings.\n */\n async getKeys(): Promise {\n await this.validateDbIsOpen();\n\n return new Promise((resolve: Function, reject: Function) => {\n if (!this.db) {\n return reject(BrowserAuthError.createDatabaseNotOpenError());\n }\n\n const transaction = this.db.transaction([this.tableName], \"readonly\");\n const objectStore = transaction.objectStore(this.tableName);\n const dbGetKeys = objectStore.getAllKeys();\n dbGetKeys.addEventListener(\"success\", (e: Event) => {\n const event = e as IDBRequestEvent;\n resolve(event.target.result);\n });\n dbGetKeys.addEventListener(\"error\", (e: Event) => reject(e));\n });\n }\n\n /**\n * \n * Checks whether there is an object under the search key in the object store\n */\n async containsKey(key: string): Promise {\n await this.validateDbIsOpen();\n\n return new Promise((resolve: Function, reject: Function) => {\n if (!this.db) {\n return reject(BrowserAuthError.createDatabaseNotOpenError());\n }\n const transaction = this.db.transaction([this.tableName], \"readonly\");\n const objectStore = transaction.objectStore(this.tableName);\n const dbContainsKey = objectStore.count(key);\n dbContainsKey.addEventListener(\"success\", (e: Event) => {\n const event = e as IDBRequestEvent;\n resolve(event.target.result === 1);\n });\n dbContainsKey.addEventListener(\"error\", (e: Event) => reject(e));\n });\n }\n\n /**\n * Deletes the MSAL database. The database is deleted rather than cleared to make it possible\n * for client applications to downgrade to a previous MSAL version without worrying about forward compatibility issues\n * with IndexedDB database versions.\n */\n async deleteDatabase(): Promise {\n return new Promise((resolve: Function, reject: Function) => {\n const deleteDbRequest = window.indexedDB.deleteDatabase(DB_NAME);\n deleteDbRequest.addEventListener(\"success\", () => resolve(true));\n deleteDbRequest.addEventListener(\"error\", () => reject(false));\n });\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IWindowStorage } from \"./IWindowStorage\";\n\nexport class MemoryStorage implements IWindowStorage {\n\n private cache: Map;\n\n constructor() {\n this.cache = new Map();\n }\n\n getItem(key: string): T | null {\n return this.cache.get(key) || null;\n }\n\n setItem(key: string, value: T): void {\n this.cache.set(key, value);\n }\n\n removeItem(key: string): void {\n this.cache.delete(key);\n }\n\n getKeys(): string[] {\n const cacheKeys: string[] = [];\n this.cache.forEach((value: T, key: string) => {\n cacheKeys.push(key);\n });\n return cacheKeys;\n }\n\n containsKey(key: string): boolean {\n return this.cache.has(key);\n }\n\n clear() :void {\n this.cache.clear();\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { Logger } from \"@azure/msal-common\";\nimport { BrowserAuthError, BrowserAuthErrorMessage } from \"../error/BrowserAuthError\";\nimport { DatabaseStorage } from \"./DatabaseStorage\";\nimport { IAsyncStorage } from \"./IAsyncMemoryStorage\";\nimport { MemoryStorage } from \"./MemoryStorage\";\n\n/**\n * This class allows MSAL to store artifacts asynchronously using the DatabaseStorage IndexedDB wrapper,\n * backed up with the more volatile MemoryStorage object for cases in which IndexedDB may be unavailable.\n */\nexport class AsyncMemoryStorage implements IAsyncStorage {\n private inMemoryCache: MemoryStorage;\n private indexedDBCache: DatabaseStorage;\n private logger: Logger;\n\n constructor(logger: Logger) {\n this.inMemoryCache = new MemoryStorage();\n this.indexedDBCache = new DatabaseStorage();\n this.logger = logger;\n }\n\n private handleDatabaseAccessError(error: unknown): void {\n if (error instanceof BrowserAuthError && error.errorCode === BrowserAuthErrorMessage.databaseUnavailable.code) {\n this.logger.error(\"Could not access persistent storage. This may be caused by browser privacy features which block persistent storage in third-party contexts.\");\n }\n }\n /**\n * Get the item matching the given key. Tries in-memory cache first, then in the asynchronous\n * storage object if item isn't found in-memory.\n * @param key \n */\n async getItem(key: string): Promise {\n const item = this.inMemoryCache.getItem(key);\n if(!item) {\n try {\n this.logger.verbose(\"Queried item not found in in-memory cache, now querying persistent storage.\");\n return await this.indexedDBCache.getItem(key);\n } catch (e) {\n this.handleDatabaseAccessError(e);\n }\n }\n return item;\n }\n\n /**\n * Sets the item in the in-memory cache and then tries to set it in the asynchronous\n * storage object with the given key.\n * @param key \n * @param value \n */\n async setItem(key: string, value: T): Promise {\n this.inMemoryCache.setItem(key, value);\n try {\n await this.indexedDBCache.setItem(key, value);\n } catch (e) {\n this.handleDatabaseAccessError(e);\n }\n }\n\n /**\n * Removes the item matching the key from the in-memory cache, then tries to remove it from the asynchronous storage object.\n * @param key \n */\n async removeItem(key: string): Promise {\n this.inMemoryCache.removeItem(key);\n try {\n await this.indexedDBCache.removeItem(key);\n } catch (e) {\n this.handleDatabaseAccessError(e);\n }\n }\n\n /**\n * Get all the keys from the in-memory cache as an iterable array of strings. If no keys are found, query the keys in the \n * asynchronous storage object.\n */\n async getKeys(): Promise {\n const cacheKeys = this.inMemoryCache.getKeys();\n if (cacheKeys.length === 0) {\n try {\n this.logger.verbose(\"In-memory cache is empty, now querying persistent storage.\");\n return await this.indexedDBCache.getKeys();\n } catch (e) {\n this.handleDatabaseAccessError(e);\n }\n }\n return cacheKeys;\n }\n\n /**\n * Returns true or false if the given key is present in the cache.\n * @param key \n */\n async containsKey(key: string): Promise {\n const containsKey = this.inMemoryCache.containsKey(key);\n if(!containsKey) {\n try {\n this.logger.verbose(\"Key not found in in-memory cache, now querying persistent storage.\");\n return await this.indexedDBCache.containsKey(key);\n } catch (e) {\n this.handleDatabaseAccessError(e);\n }\n }\n return containsKey;\n }\n\n /**\n * Clears in-memory Map and tries to delete the IndexedDB database.\n */\n async clear(): Promise {\n this.inMemoryCache.clear();\n try {\n await this.indexedDBCache.deleteDatabase();\n } catch (e) {\n this.handleDatabaseAccessError(e);\n }\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ICrypto, Logger, PkceCodes, SignedHttpRequest, SignedHttpRequestParameters } from \"@azure/msal-common\";\nimport { GuidGenerator } from \"./GuidGenerator\";\nimport { Base64Encode } from \"../encode/Base64Encode\";\nimport { Base64Decode } from \"../encode/Base64Decode\";\nimport { PkceGenerator } from \"./PkceGenerator\";\nimport { BrowserCrypto } from \"./BrowserCrypto\";\nimport { BrowserStringUtils } from \"../utils/BrowserStringUtils\";\nimport { KEY_FORMAT_JWK } from \"../utils/BrowserConstants\";\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\nimport { AsyncMemoryStorage } from \"../cache/AsyncMemoryStorage\";\n\nexport type CachedKeyPair = {\n publicKey: CryptoKey,\n privateKey: CryptoKey,\n requestMethod?: string,\n requestUri?: string\n};\n\n/**\n * MSAL CryptoKeyStore DB Version 2\n */\nexport type CryptoKeyStore = {\n asymmetricKeys: AsyncMemoryStorage;\n symmetricKeys: AsyncMemoryStorage;\n};\n\n/**\n * This class implements MSAL's crypto interface, which allows it to perform base64 encoding and decoding, generating cryptographically random GUIDs and \n * implementing Proof Key for Code Exchange specs for the OAuth Authorization Code Flow using PKCE (rfc here: https://tools.ietf.org/html/rfc7636).\n */\nexport class CryptoOps implements ICrypto {\n\n private browserCrypto: BrowserCrypto;\n private guidGenerator: GuidGenerator;\n private b64Encode: Base64Encode;\n private b64Decode: Base64Decode;\n private pkceGenerator: PkceGenerator;\n private logger: Logger;\n\n private static POP_KEY_USAGES: Array = [\"sign\", \"verify\"];\n private static EXTRACTABLE: boolean = true;\n private cache: CryptoKeyStore;\n\n constructor(logger: Logger) {\n this.logger = logger;\n // Browser crypto needs to be validated first before any other classes can be set.\n this.browserCrypto = new BrowserCrypto(this.logger);\n this.b64Encode = new Base64Encode();\n this.b64Decode = new Base64Decode();\n this.guidGenerator = new GuidGenerator(this.browserCrypto);\n this.pkceGenerator = new PkceGenerator(this.browserCrypto);\n this.cache = {\n asymmetricKeys: new AsyncMemoryStorage(this.logger),\n symmetricKeys: new AsyncMemoryStorage(this.logger)\n };\n }\n\n /**\n * Creates a new random GUID - used to populate state and nonce.\n * @returns string (GUID)\n */\n createNewGuid(): string {\n return this.guidGenerator.generateGuid();\n }\n\n /**\n * Encodes input string to base64.\n * @param input \n */\n base64Encode(input: string): string {\n return this.b64Encode.encode(input);\n } \n \n /**\n * Decodes input string from base64.\n * @param input \n */\n base64Decode(input: string): string {\n return this.b64Decode.decode(input);\n }\n\n /**\n * Generates PKCE codes used in Authorization Code Flow.\n */\n async generatePkceCodes(): Promise {\n return this.pkceGenerator.generateCodes();\n }\n\n /**\n * Generates a keypair, stores it and returns a thumbprint\n * @param request\n */\n async getPublicKeyThumbprint(request: SignedHttpRequestParameters): Promise {\n // Generate Keypair\n const keyPair: CryptoKeyPair = await this.browserCrypto.generateKeyPair(CryptoOps.EXTRACTABLE, CryptoOps.POP_KEY_USAGES);\n\n // Generate Thumbprint for Public Key\n const publicKeyJwk: JsonWebKey = await this.browserCrypto.exportJwk(keyPair.publicKey);\n \n const pubKeyThumprintObj: JsonWebKey = {\n e: publicKeyJwk.e,\n kty: publicKeyJwk.kty,\n n: publicKeyJwk.n\n };\n\n const publicJwkString: string = BrowserCrypto.getJwkString(pubKeyThumprintObj);\n const publicJwkHash = await this.hashString(publicJwkString);\n\n // Generate Thumbprint for Private Key\n const privateKeyJwk: JsonWebKey = await this.browserCrypto.exportJwk(keyPair.privateKey);\n // Re-import private key to make it unextractable\n const unextractablePrivateKey: CryptoKey = await this.browserCrypto.importJwk(privateKeyJwk, false, [\"sign\"]);\n\n // Store Keypair data in keystore\n await this.cache.asymmetricKeys.setItem(\n publicJwkHash, \n {\n privateKey: unextractablePrivateKey,\n publicKey: keyPair.publicKey,\n requestMethod: request.resourceRequestMethod,\n requestUri: request.resourceRequestUri\n }\n );\n\n return publicJwkHash;\n }\n\n /**\n * Removes cryptographic keypair from key store matching the keyId passed in\n * @param kid \n */\n async removeTokenBindingKey(kid: string): Promise {\n await this.cache.asymmetricKeys.removeItem(kid);\n const keyFound = await this.cache.asymmetricKeys.containsKey(kid);\n return !keyFound;\n }\n\n /**\n * Removes all cryptographic keys from IndexedDB storage\n */\n async clearKeystore(): Promise {\n const dataStoreNames = Object.keys(this.cache);\n const databaseStorage = this.cache[dataStoreNames[0]];\n return databaseStorage ? await databaseStorage.deleteDatabase() : false;\n }\n\n /**\n * Signs the given object as a jwt payload with private key retrieved by given kid.\n * @param payload \n * @param kid \n */\n async signJwt(payload: SignedHttpRequest, kid: string): Promise {\n const cachedKeyPair = await this.cache.asymmetricKeys.getItem(kid);\n \n if (!cachedKeyPair) {\n throw BrowserAuthError.createSigningKeyNotFoundInStorageError(kid);\n }\n\n // Get public key as JWK\n const publicKeyJwk = await this.browserCrypto.exportJwk(cachedKeyPair.publicKey);\n const publicKeyJwkString = BrowserCrypto.getJwkString(publicKeyJwk);\n\n // Generate header\n const header = {\n alg: publicKeyJwk.alg,\n type: KEY_FORMAT_JWK\n };\n const encodedHeader = this.b64Encode.urlEncode(JSON.stringify(header));\n\n // Generate payload\n payload.cnf = {\n jwk: JSON.parse(publicKeyJwkString)\n };\n const encodedPayload = this.b64Encode.urlEncode(JSON.stringify(payload));\n\n // Form token string\n const tokenString = `${encodedHeader}.${encodedPayload}`;\n\n // Sign token\n const tokenBuffer = BrowserStringUtils.stringToArrayBuffer(tokenString);\n const signatureBuffer = await this.browserCrypto.sign(cachedKeyPair.privateKey, tokenBuffer);\n const encodedSignature = this.b64Encode.urlEncodeArr(new Uint8Array(signatureBuffer));\n\n return `${tokenString}.${encodedSignature}`;\n }\n\n /**\n * Returns the SHA-256 hash of an input string\n * @param plainText\n */\n async hashString(plainText: string): Promise {\n const hashBuffer: ArrayBuffer = await this.browserCrypto.sha256Digest(plainText);\n const hashBytes = new Uint8Array(hashBuffer);\n return this.b64Encode.urlEncodeArr(hashBytes);\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AuthError } from \"../error/AuthError\";\nimport { BaseAuthRequest } from \"../request/BaseAuthRequest\";\nimport { SignedHttpRequest } from \"./SignedHttpRequest\";\n\n/**\n * The PkceCodes type describes the structure\n * of objects that contain PKCE code\n * challenge and verifier pairs\n */\nexport type PkceCodes = {\n verifier: string,\n challenge: string\n};\n\nexport type SignedHttpRequestParameters = Pick & {\n correlationId?: string\n};\n\n/**\n * Interface for crypto functions used by library\n */\nexport interface ICrypto {\n /**\n * Creates a guid randomly.\n */\n createNewGuid(): string;\n /**\n * base64 Encode string\n * @param input \n */\n base64Encode(input: string): string;\n /**\n * base64 decode string\n * @param input \n */\n base64Decode(input: string): string;\n /**\n * Generate PKCE codes for OAuth. See RFC here: https://tools.ietf.org/html/rfc7636\n */\n generatePkceCodes(): Promise;\n /**\n * Generates an JWK RSA S256 Thumbprint\n * @param request\n */\n getPublicKeyThumbprint(request: SignedHttpRequestParameters): Promise;\n /**\n * Removes cryptographic keypair from key store matching the keyId passed in\n * @param kid \n */\n removeTokenBindingKey(kid: string): Promise;\n /**\n * Removes all cryptographic keys from IndexedDB storage\n */\n clearKeystore(): Promise;\n /** \n * Returns a signed proof-of-possession token with a given acces token that contains a cnf claim with the required kid.\n * @param accessToken \n */\n signJwt(payload: SignedHttpRequest, kid: string, correlationId?: string): Promise;\n /**\n * Returns the SHA-256 hash of an input string\n * @param plainText\n */\n hashString(plainText: string): Promise;\n}\n\nexport const DEFAULT_CRYPTO_IMPLEMENTATION: ICrypto = {\n createNewGuid: (): string => {\n const notImplErr = \"Crypto interface - createNewGuid() has not been implemented\";\n throw AuthError.createUnexpectedError(notImplErr);\n },\n base64Decode: (): string => {\n const notImplErr = \"Crypto interface - base64Decode() has not been implemented\";\n throw AuthError.createUnexpectedError(notImplErr);\n },\n base64Encode: (): string => {\n const notImplErr = \"Crypto interface - base64Encode() has not been implemented\";\n throw AuthError.createUnexpectedError(notImplErr);\n },\n async generatePkceCodes(): Promise {\n const notImplErr = \"Crypto interface - generatePkceCodes() has not been implemented\";\n throw AuthError.createUnexpectedError(notImplErr);\n },\n async getPublicKeyThumbprint(): Promise {\n const notImplErr = \"Crypto interface - getPublicKeyThumbprint() has not been implemented\";\n throw AuthError.createUnexpectedError(notImplErr);\n },\n async removeTokenBindingKey(): Promise {\n const notImplErr = \"Crypto interface - removeTokenBindingKey() has not been implemented\";\n throw AuthError.createUnexpectedError(notImplErr);\n },\n async clearKeystore(): Promise {\n const notImplErr = \"Crypto interface - clearKeystore() has not been implemented\";\n throw AuthError.createUnexpectedError(notImplErr);\n },\n async signJwt(): Promise {\n const notImplErr = \"Crypto interface - signJwt() has not been implemented\";\n throw AuthError.createUnexpectedError(notImplErr);\n },\n async hashString(): Promise {\n const notImplErr = \"Crypto interface - hashString() has not been implemented\";\n throw AuthError.createUnexpectedError(notImplErr);\n }\n};\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AuthError } from \"./AuthError\";\n\n/**\n * Error thrown when there is an error with the server code, for example, unavailability.\n */\nexport class ServerError extends AuthError {\n\n constructor(errorCode?: string, errorMessage?: string, subError?: string) {\n super(errorCode, errorMessage, subError);\n this.name = \"ServerError\";\n\n Object.setPrototypeOf(this, ServerError.prototype);\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AuthError } from \"./AuthError\";\n\n/**\n * InteractionRequiredServerErrorMessage contains string constants used by error codes and messages returned by the server indicating interaction is required\n */\nexport const InteractionRequiredServerErrorMessage = [\n \"interaction_required\",\n \"consent_required\",\n \"login_required\"\n];\n\nexport const InteractionRequiredAuthSubErrorMessage = [\n \"message_only\",\n \"additional_action\",\n \"basic_action\",\n \"user_password_expired\",\n \"consent_required\"\n];\n\n/**\n * Interaction required errors defined by the SDK\n */\nexport const InteractionRequiredAuthErrorMessage = {\n noTokensFoundError: {\n code: \"no_tokens_found\",\n desc: \"No refresh token found in the cache. Please sign-in.\"\n }\n};\n\n/**\n * Error thrown when user interaction is required.\n */\nexport class InteractionRequiredAuthError extends AuthError {\n\n constructor(errorCode?: string, errorMessage?: string, subError?: string) {\n super(errorCode, errorMessage, subError);\n this.name = \"InteractionRequiredAuthError\";\n\n Object.setPrototypeOf(this, InteractionRequiredAuthError.prototype);\n }\n\n /**\n * Helper function used to determine if an error thrown by the server requires interaction to resolve\n * @param errorCode \n * @param errorString \n * @param subError \n */\n static isInteractionRequiredError(errorCode?: string, errorString?: string, subError?: string) : boolean {\n const isInteractionRequiredErrorCode = !!errorCode && InteractionRequiredServerErrorMessage.indexOf(errorCode) > -1;\n const isInteractionRequiredSubError = !!subError && InteractionRequiredAuthSubErrorMessage.indexOf(subError) > -1;\n const isInteractionRequiredErrorDesc = !!errorString && InteractionRequiredServerErrorMessage.some((irErrorCode) => {\n return errorString.indexOf(irErrorCode) > -1;\n });\n\n return isInteractionRequiredErrorCode || isInteractionRequiredErrorDesc || isInteractionRequiredSubError;\n }\n\n /**\n * Creates an error thrown when the authorization code required for a token request is null or empty.\n */\n static createNoTokensFoundError(): InteractionRequiredAuthError {\n return new InteractionRequiredAuthError(InteractionRequiredAuthErrorMessage.noTokensFoundError.code, InteractionRequiredAuthErrorMessage.noTokensFoundError.desc);\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ClientAuthError } from \"../error/ClientAuthError\";\nimport { StringUtils } from \"../utils/StringUtils\";\nimport { ICrypto } from \"../crypto/ICrypto\";\nimport { Separators, Constants } from \"../utils/Constants\";\n\n/**\n * Client info object which consists of two IDs. Need to add more info here.\n */\nexport type ClientInfo = {\n uid: string,\n utid: string\n};\n\n/**\n * Function to build a client info object from server clientInfo string\n * @param rawClientInfo\n * @param crypto\n */\nexport function buildClientInfo(rawClientInfo: string, crypto: ICrypto): ClientInfo {\n if (StringUtils.isEmpty(rawClientInfo)) {\n throw ClientAuthError.createClientInfoEmptyError();\n }\n\n try {\n const decodedClientInfo: string = crypto.base64Decode(rawClientInfo);\n return JSON.parse(decodedClientInfo) as ClientInfo;\n } catch (e) {\n throw ClientAuthError.createClientInfoDecodingError(e);\n }\n}\n\n/**\n * Function to build a client info object from cached homeAccountId string\n * @param homeAccountId \n */\nexport function buildClientInfoFromHomeAccountId(homeAccountId: string): ClientInfo {\n if (StringUtils.isEmpty(homeAccountId)) {\n throw ClientAuthError.createClientInfoDecodingError(\"Home account ID was empty.\");\n }\n const clientInfoParts: string[] = homeAccountId.split(Separators.CLIENT_INFO_SEPARATOR, 2);\n return {\n uid: clientInfoParts[0],\n utid: clientInfoParts.length < 2 ? Constants.EMPTY_STRING : clientInfoParts[1]\n };\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport type CcsCredential = {\n credential: string,\n type: CcsCredentialType\n};\n\nexport enum CcsCredentialType {\n HOME_ACCOUNT_ID = \"home_account_id\",\n UPN = \"UPN\"\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport {\n Separators,\n CacheAccountType,\n CacheType,\n Constants,\n} from \"../../utils/Constants\";\nimport { Authority } from \"../../authority/Authority\";\nimport { AuthToken } from \"../../account/AuthToken\";\nimport { ICrypto } from \"../../crypto/ICrypto\";\nimport { buildClientInfo } from \"../../account/ClientInfo\";\nimport { StringUtils } from \"../../utils/StringUtils\";\nimport { AccountInfo } from \"../../account/AccountInfo\";\nimport { ClientAuthError } from \"../../error/ClientAuthError\";\nimport { AuthorityType } from \"../../authority/AuthorityType\";\nimport { Logger } from \"../../logger/Logger\";\nimport { TokenClaims } from \"../../account/TokenClaims\";\n\n/**\n * Type that defines required and optional parameters for an Account field (based on universal cache schema implemented by all MSALs).\n *\n * Key : Value Schema\n *\n * Key: --\n *\n * Value Schema:\n * {\n * homeAccountId: home account identifier for the auth scheme,\n * environment: entity that issued the token, represented as a full host\n * realm: Full tenant or organizational identifier that the account belongs to\n * localAccountId: Original tenant-specific accountID, usually used for legacy cases\n * username: primary username that represents the user, usually corresponds to preferred_username in the v2 endpt\n * authorityType: Accounts authority type as a string\n * name: Full name for the account, including given name and family name,\n * clientInfo: Full base64 encoded client info received from ESTS\n * lastModificationTime: last time this entity was modified in the cache\n * lastModificationApp:\n * oboAssertion: access token passed in as part of OBO request\n * idTokenClaims: Object containing claims parsed from ID token\n * nativeAccountId: Account identifier on the native device\n * }\n */\nexport class AccountEntity {\n homeAccountId: string;\n environment: string;\n realm: string;\n localAccountId: string;\n username: string;\n authorityType: string;\n name?: string;\n clientInfo?: string;\n lastModificationTime?: string;\n lastModificationApp?: string;\n oboAssertion?: string;\n cloudGraphHostName?: string;\n msGraphHost?: string; \n idTokenClaims?: TokenClaims;\n nativeAccountId?: string;\n\n /**\n * Generate Account Id key component as per the schema: -\n */\n generateAccountId(): string {\n const accountId: Array = [this.homeAccountId, this.environment];\n return accountId.join(Separators.CACHE_KEY_SEPARATOR).toLowerCase();\n }\n\n /**\n * Generate Account Cache Key as per the schema: --\n */\n generateAccountKey(): string {\n return AccountEntity.generateAccountCacheKey({\n homeAccountId: this.homeAccountId,\n environment: this.environment,\n tenantId: this.realm,\n username: this.username,\n localAccountId: this.localAccountId\n });\n }\n\n /**\n * returns the type of the cache (in this case account)\n */\n generateType(): number {\n switch (this.authorityType) {\n case CacheAccountType.ADFS_ACCOUNT_TYPE:\n return CacheType.ADFS;\n case CacheAccountType.MSAV1_ACCOUNT_TYPE:\n return CacheType.MSA;\n case CacheAccountType.MSSTS_ACCOUNT_TYPE:\n return CacheType.MSSTS;\n case CacheAccountType.GENERIC_ACCOUNT_TYPE:\n return CacheType.GENERIC;\n default: {\n throw ClientAuthError.createUnexpectedAccountTypeError();\n }\n }\n }\n\n /**\n * Returns the AccountInfo interface for this account.\n */\n getAccountInfo(): AccountInfo {\n return {\n homeAccountId: this.homeAccountId,\n environment: this.environment,\n tenantId: this.realm,\n username: this.username,\n localAccountId: this.localAccountId,\n name: this.name,\n idTokenClaims: this.idTokenClaims,\n nativeAccountId: this.nativeAccountId\n };\n }\n\n /**\n * Generates account key from interface\n * @param accountInterface\n */\n static generateAccountCacheKey(accountInterface: AccountInfo): string {\n const accountKey = [\n accountInterface.homeAccountId,\n accountInterface.environment || Constants.EMPTY_STRING,\n accountInterface.tenantId || Constants.EMPTY_STRING,\n ];\n\n return accountKey.join(Separators.CACHE_KEY_SEPARATOR).toLowerCase();\n }\n\n /**\n * Build Account cache from IdToken, clientInfo and authority/policy. Associated with AAD.\n * @param clientInfo\n * @param authority\n * @param idToken\n * @param policy\n */\n static createAccount(\n clientInfo: string,\n homeAccountId: string,\n idToken: AuthToken,\n authority?: Authority,\n oboAssertion?: string,\n cloudGraphHostName?: string,\n msGraphHost?: string,\n environment?: string,\n nativeAccountId?: string\n ): AccountEntity {\n const account: AccountEntity = new AccountEntity();\n\n account.authorityType = CacheAccountType.MSSTS_ACCOUNT_TYPE;\n account.clientInfo = clientInfo;\n account.homeAccountId = homeAccountId;\n account.nativeAccountId = nativeAccountId;\n\n const env = environment || (authority && authority.getPreferredCache());\n\n if (!env) {\n throw ClientAuthError.createInvalidCacheEnvironmentError();\n }\n\n account.environment = env;\n // non AAD scenarios can have empty realm\n account.realm = idToken?.claims?.tid || Constants.EMPTY_STRING;\n account.oboAssertion = oboAssertion;\n \n if (idToken) {\n account.idTokenClaims = idToken.claims;\n\n // How do you account for MSA CID here?\n account.localAccountId = idToken?.claims?.oid || idToken?.claims?.sub || Constants.EMPTY_STRING;\n\n /*\n * In B2C scenarios the emails claim is used instead of preferred_username and it is an array. In most cases it will contain a single email.\n * This field should not be relied upon if a custom policy is configured to return more than 1 email.\n */\n account.username = idToken?.claims?.preferred_username || (idToken?.claims?.emails? idToken.claims.emails[0]: Constants.EMPTY_STRING);\n account.name = idToken?.claims?.name;\n }\n\n account.cloudGraphHostName = cloudGraphHostName;\n account.msGraphHost = msGraphHost;\n\n return account;\n }\n\n /**\n * Builds non-AAD/ADFS account.\n * @param authority\n * @param idToken\n */\n static createGenericAccount(\n homeAccountId: string,\n idToken: AuthToken,\n authority?: Authority,\n oboAssertion?: string,\n cloudGraphHostName?: string,\n msGraphHost?: string,\n environment?: string\n ): AccountEntity {\n const account: AccountEntity = new AccountEntity();\n\n account.authorityType = (authority && authority.authorityType === AuthorityType.Adfs) ? CacheAccountType.ADFS_ACCOUNT_TYPE : CacheAccountType.GENERIC_ACCOUNT_TYPE;\n account.homeAccountId = homeAccountId;\n // non AAD scenarios can have empty realm\n account.realm = Constants.EMPTY_STRING;\n account.oboAssertion = oboAssertion;\n\n const env = environment || authority && authority.getPreferredCache();\n\n if (!env) {\n throw ClientAuthError.createInvalidCacheEnvironmentError();\n }\n\n if (idToken) {\n // How do you account for MSA CID here?\n account.localAccountId = idToken?.claims?.oid || idToken?.claims?.sub || Constants.EMPTY_STRING;\n // upn claim for most ADFS scenarios\n account.username = idToken?.claims?.upn || Constants.EMPTY_STRING;\n account.name = idToken?.claims?.name || Constants.EMPTY_STRING;\n account.idTokenClaims = idToken?.claims;\n }\n\n account.environment = env;\n\n account.cloudGraphHostName = cloudGraphHostName;\n account.msGraphHost = msGraphHost;\n\n /*\n * add uniqueName to claims\n * account.name = idToken.claims.uniqueName;\n */\n\n return account;\n }\n\n /**\n * Generate HomeAccountId from server response\n * @param serverClientInfo\n * @param authType\n */\n static generateHomeAccountId(serverClientInfo: string, authType: AuthorityType, logger: Logger, cryptoObj: ICrypto, idToken?: AuthToken): string {\n\n const accountId = idToken?.claims?.sub ? idToken.claims.sub : Constants.EMPTY_STRING;\n\n // since ADFS does not have tid and does not set client_info\n if (authType === AuthorityType.Adfs) {\n return accountId;\n }\n\n // for cases where there is clientInfo\n if (serverClientInfo) {\n try {\n const clientInfo = buildClientInfo(serverClientInfo, cryptoObj);\n if (!StringUtils.isEmpty(clientInfo.uid) && !StringUtils.isEmpty(clientInfo.utid)) {\n return `${clientInfo.uid}${Separators.CLIENT_INFO_SEPARATOR}${clientInfo.utid}`;\n }\n } catch (e) {}\n }\n\n // default to \"sub\" claim\n logger.verbose(\"No client info in response\");\n return accountId;\n }\n\n /**\n * Validates an entity: checks for all expected params\n * @param entity\n */\n static isAccountEntity(entity: object): boolean {\n\n if (!entity) {\n return false;\n }\n\n return (\n entity.hasOwnProperty(\"homeAccountId\") &&\n entity.hasOwnProperty(\"environment\") &&\n entity.hasOwnProperty(\"realm\") &&\n entity.hasOwnProperty(\"localAccountId\") &&\n entity.hasOwnProperty(\"username\") &&\n entity.hasOwnProperty(\"authorityType\")\n );\n }\n\n /**\n * Helper function to determine whether 2 accountInfo objects represent the same account\n * @param accountA \n * @param accountB \n * @param compareClaims - If set to true idTokenClaims will also be compared to determine account equality\n */\n static accountInfoIsEqual(accountA: AccountInfo | null, accountB: AccountInfo | null, compareClaims?: boolean): boolean {\n if (!accountA || !accountB) {\n return false;\n }\n\n let claimsMatch = true; // default to true so as to not fail comparison below if compareClaims: false\n if (compareClaims) {\n const accountAClaims = (accountA.idTokenClaims || {}) as TokenClaims;\n const accountBClaims = (accountB.idTokenClaims || {}) as TokenClaims;\n\n // issued at timestamp and nonce are expected to change each time a new id token is acquired\n claimsMatch = (accountAClaims.iat === accountBClaims.iat) &&\n (accountAClaims.nonce === accountBClaims.nonce);\n }\n\n return (accountA.homeAccountId === accountB.homeAccountId) && \n (accountA.localAccountId === accountB.localAccountId) &&\n (accountA.username === accountB.username) &&\n (accountA.tenantId === accountB.tenantId) &&\n (accountA.environment === accountB.environment) &&\n (accountA.nativeAccountId === accountB.nativeAccountId) &&\n claimsMatch;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { Separators, CredentialType, CacheType, Constants, AuthenticationScheme } from \"../../utils/Constants\";\nimport { ClientAuthError } from \"../../error/ClientAuthError\";\n\n/**\n * Base type for credentials to be stored in the cache: eg: ACCESS_TOKEN, ID_TOKEN etc\n *\n * Key:Value Schema:\n *\n * Key: -------\n *\n * Value Schema:\n * {\n * homeAccountId: home account identifier for the auth scheme,\n * environment: entity that issued the token, represented as a full host\n * credentialType: Type of credential as a string, can be one of the following: RefreshToken, AccessToken, IdToken, Password, Cookie, Certificate, Other\n * clientId: client ID of the application\n * secret: Actual credential as a string\n * familyId: Family ID identifier, usually only used for refresh tokens\n * realm: Full tenant or organizational identifier that the account belongs to\n * target: Permissions that are included in the token, or for refresh tokens, the resource identifier.\n * oboAssertion: access token passed in as part of OBO request\n * tokenType: Matches the authentication scheme for which the token was issued (i.e. Bearer or pop)\n * requestedClaimsHash: Matches the SHA 256 hash of the claims object included in the token request\n * }\n */\nexport class CredentialEntity {\n homeAccountId: string;\n environment: string;\n credentialType: CredentialType;\n clientId: string;\n secret: string;\n familyId?: string;\n realm?: string;\n target?: string;\n oboAssertion?: string;\n tokenType?: AuthenticationScheme;\n keyId?: string;\n requestedClaimsHash?: string;\n\n /**\n * Generate Account Id key component as per the schema: -\n */\n generateAccountId(): string {\n return CredentialEntity.generateAccountIdForCacheKey(this.homeAccountId, this.environment);\n }\n\n /**\n * Generate Credential Id key component as per the schema: --\n */\n generateCredentialId(): string {\n return CredentialEntity.generateCredentialIdForCacheKey(\n this.credentialType,\n this.clientId,\n this.realm,\n this.familyId\n );\n }\n\n /**\n * Generate target key component as per schema: \n */\n generateTarget(): string {\n return CredentialEntity.generateTargetForCacheKey(this.target);\n }\n\n /**\n * generates credential key\n */\n generateCredentialKey(): string {\n return CredentialEntity.generateCredentialCacheKey(\n this.homeAccountId,\n this.environment,\n this.credentialType,\n this.clientId,\n this.realm,\n this.target,\n this.familyId,\n this.tokenType,\n this.requestedClaimsHash\n );\n }\n\n /**\n * returns the type of the cache (in this case credential)\n */\n generateType(): number {\n switch (this.credentialType) {\n case CredentialType.ID_TOKEN:\n return CacheType.ID_TOKEN;\n case CredentialType.ACCESS_TOKEN:\n case CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME:\n return CacheType.ACCESS_TOKEN;\n case CredentialType.REFRESH_TOKEN:\n return CacheType.REFRESH_TOKEN;\n default: {\n throw ClientAuthError.createUnexpectedCredentialTypeError();\n }\n }\n }\n\n /**\n * helper function to return `CredentialType`\n * @param key\n */\n static getCredentialType(key: string): string {\n // First keyword search will match all \"AccessToken\" and \"AccessToken_With_AuthScheme\" credentials\n if (key.indexOf(CredentialType.ACCESS_TOKEN.toLowerCase()) !== -1) {\n // Perform second search to differentiate between \"AccessToken\" and \"AccessToken_With_AuthScheme\" credential types\n if (key.indexOf(CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME.toLowerCase()) !== -1) {\n return CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME;\n }\n return CredentialType.ACCESS_TOKEN;\n } else if (key.indexOf(CredentialType.ID_TOKEN.toLowerCase()) !== -1) {\n return CredentialType.ID_TOKEN;\n } else if (key.indexOf(CredentialType.REFRESH_TOKEN.toLowerCase()) !== -1) {\n return CredentialType.REFRESH_TOKEN;\n }\n\n return Constants.NOT_DEFINED;\n }\n\n /**\n * generates credential key\n * -\\-----\n */\n static generateCredentialCacheKey(\n homeAccountId: string,\n environment: string,\n credentialType: CredentialType,\n clientId: string,\n realm?: string,\n target?: string,\n familyId?: string,\n tokenType?: AuthenticationScheme,\n requestedClaimsHash?: string\n ): string {\n const credentialKey = [\n this.generateAccountIdForCacheKey(homeAccountId, environment),\n this.generateCredentialIdForCacheKey(credentialType, clientId, realm, familyId),\n this.generateTargetForCacheKey(target),\n this.generateClaimsHashForCacheKey(requestedClaimsHash),\n this.generateSchemeForCacheKey(tokenType)\n ];\n\n return credentialKey.join(Separators.CACHE_KEY_SEPARATOR).toLowerCase();\n }\n\n /**\n * generates Account Id for keys\n * @param homeAccountId\n * @param environment\n */\n private static generateAccountIdForCacheKey(\n homeAccountId: string,\n environment: string\n ): string {\n const accountId: Array = [homeAccountId, environment];\n return accountId.join(Separators.CACHE_KEY_SEPARATOR).toLowerCase();\n }\n\n /**\n * Generates Credential Id for keys\n * @param credentialType\n * @param realm\n * @param clientId\n * @param familyId\n */\n private static generateCredentialIdForCacheKey(\n credentialType: CredentialType,\n clientId: string,\n realm?: string,\n familyId?: string\n ): string {\n const clientOrFamilyId =\n credentialType === CredentialType.REFRESH_TOKEN\n ? familyId || clientId\n : clientId;\n const credentialId: Array = [\n credentialType,\n clientOrFamilyId,\n realm || Constants.EMPTY_STRING,\n ];\n\n return credentialId.join(Separators.CACHE_KEY_SEPARATOR).toLowerCase();\n }\n\n /**\n * Generate target key component as per schema: \n */\n private static generateTargetForCacheKey(scopes?: string): string {\n return (scopes || Constants.EMPTY_STRING).toLowerCase();\n }\n\n /**\n * Generate requested claims key component as per schema: \n */\n private static generateClaimsHashForCacheKey(requestedClaimsHash?: string): string {\n return(requestedClaimsHash || Constants.EMPTY_STRING).toLowerCase();\n }\n\n /**\n * Generate scheme key componenet as per schema: \n */\n private static generateSchemeForCacheKey(tokenType?: string): string {\n /*\n * PoP Tokens and SSH certs include scheme in cache key\n * Cast to lowercase to handle \"bearer\" from ADFS\n */\n return (tokenType && tokenType.toLowerCase() !== AuthenticationScheme.BEARER.toLowerCase()) ? tokenType.toLowerCase() : Constants.EMPTY_STRING;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ClientAuthError } from \"./ClientAuthError\";\n\n/**\n * ClientConfigurationErrorMessage class containing string constants used by error codes and messages.\n */\nexport const ClientConfigurationErrorMessage = {\n redirectUriNotSet: {\n code: \"redirect_uri_empty\",\n desc: \"A redirect URI is required for all calls, and none has been set.\"\n },\n postLogoutUriNotSet: {\n code: \"post_logout_uri_empty\",\n desc: \"A post logout redirect has not been set.\"\n },\n claimsRequestParsingError: {\n code: \"claims_request_parsing_error\",\n desc: \"Could not parse the given claims request object.\"\n },\n authorityUriInsecure: {\n code: \"authority_uri_insecure\",\n desc: \"Authority URIs must use https. Please see here for valid authority configuration options: https://docs.microsoft.com/en-us/azure/active-directory/develop/msal-js-initializing-client-applications#configuration-options\"\n },\n urlParseError: {\n code: \"url_parse_error\",\n desc: \"URL could not be parsed into appropriate segments.\"\n },\n urlEmptyError: {\n code: \"empty_url_error\",\n desc: \"URL was empty or null.\"\n },\n emptyScopesError: {\n code: \"empty_input_scopes_error\",\n desc: \"Scopes cannot be passed as null, undefined or empty array because they are required to obtain an access token.\"\n },\n nonArrayScopesError: {\n code: \"nonarray_input_scopes_error\",\n desc: \"Scopes cannot be passed as non-array.\"\n },\n clientIdSingleScopeError: {\n code: \"clientid_input_scopes_error\",\n desc: \"Client ID can only be provided as a single scope.\"\n },\n invalidPrompt: {\n code: \"invalid_prompt_value\",\n desc: \"Supported prompt values are 'login', 'select_account', 'consent', 'create' and 'none'. Please see here for valid configuration options: https://azuread.github.io/microsoft-authentication-library-for-js/ref/modules/_azure_msal_common.html#commonauthorizationurlrequest\",\n },\n invalidClaimsRequest: {\n code: \"invalid_claims\",\n desc: \"Given claims parameter must be a stringified JSON object.\"\n },\n tokenRequestEmptyError: {\n code: \"token_request_empty\",\n desc: \"Token request was empty and not found in cache.\"\n },\n logoutRequestEmptyError: {\n code: \"logout_request_empty\",\n desc: \"The logout request was null or undefined.\"\n },\n invalidCodeChallengeMethod: {\n code: \"invalid_code_challenge_method\",\n desc: \"code_challenge_method passed is invalid. Valid values are \\\"plain\\\" and \\\"S256\\\".\"\n },\n invalidCodeChallengeParams: {\n code: \"pkce_params_missing\",\n desc: \"Both params: code_challenge and code_challenge_method are to be passed if to be sent in the request\"\n },\n invalidCloudDiscoveryMetadata: {\n code: \"invalid_cloud_discovery_metadata\",\n desc: \"Invalid cloudDiscoveryMetadata provided. Must be a stringified JSON object containing tenant_discovery_endpoint and metadata fields\"\n },\n invalidAuthorityMetadata: {\n code: \"invalid_authority_metadata\",\n desc: \"Invalid authorityMetadata provided. Must by a stringified JSON object containing authorization_endpoint, token_endpoint, issuer fields.\"\n },\n untrustedAuthority: {\n code: \"untrusted_authority\",\n desc: \"The provided authority is not a trusted authority. Please include this authority in the knownAuthorities config parameter.\"\n },\n invalidAzureCloudInstance: {\n code: \"invalid_azure_cloud_instance\",\n desc: \"Invalid AzureCloudInstance provided. Please refer MSAL JS docs: aks.ms/msaljs/azure_cloud_instance for valid values\"\n },\n missingSshJwk: {\n code: \"missing_ssh_jwk\",\n desc: \"Missing sshJwk in SSH certificate request. A stringified JSON Web Key is required when using the SSH authentication scheme.\"\n },\n missingSshKid: {\n code: \"missing_ssh_kid\",\n desc: \"Missing sshKid in SSH certificate request. A string that uniquely identifies the public SSH key is required when using the SSH authentication scheme.\"\n },\n missingNonceAuthenticationHeader: {\n code: \"missing_nonce_authentication_header\",\n desc: \"Unable to find an authentication header containing server nonce. Either the Authentication-Info or WWW-Authenticate headers must be present in order to obtain a server nonce.\"\n },\n invalidAuthenticationHeader: {\n code: \"invalid_authentication_header\",\n desc: \"Invalid authentication header provided\"\n }\n};\n\n/**\n * Error thrown when there is an error in configuration of the MSAL.js library.\n */\nexport class ClientConfigurationError extends ClientAuthError {\n\n constructor(errorCode: string, errorMessage?: string) {\n super(errorCode, errorMessage);\n this.name = \"ClientConfigurationError\";\n Object.setPrototypeOf(this, ClientConfigurationError.prototype);\n }\n\n /**\n * Creates an error thrown when the redirect uri is empty (not set by caller)\n */\n static createRedirectUriEmptyError(): ClientConfigurationError {\n return new ClientConfigurationError(ClientConfigurationErrorMessage.redirectUriNotSet.code,\n ClientConfigurationErrorMessage.redirectUriNotSet.desc);\n }\n\n /**\n * Creates an error thrown when the post-logout redirect uri is empty (not set by caller)\n */\n static createPostLogoutRedirectUriEmptyError(): ClientConfigurationError {\n return new ClientConfigurationError(ClientConfigurationErrorMessage.postLogoutUriNotSet.code,\n ClientConfigurationErrorMessage.postLogoutUriNotSet.desc);\n }\n\n /**\n * Creates an error thrown when the claims request could not be successfully parsed\n */\n static createClaimsRequestParsingError(claimsRequestParseError: string): ClientConfigurationError {\n return new ClientConfigurationError(ClientConfigurationErrorMessage.claimsRequestParsingError.code,\n `${ClientConfigurationErrorMessage.claimsRequestParsingError.desc} Given value: ${claimsRequestParseError}`);\n }\n\n /**\n * Creates an error thrown if authority uri is given an insecure protocol.\n * @param urlString\n */\n static createInsecureAuthorityUriError(urlString: string): ClientConfigurationError {\n return new ClientConfigurationError(ClientConfigurationErrorMessage.authorityUriInsecure.code,\n `${ClientConfigurationErrorMessage.authorityUriInsecure.desc} Given URI: ${urlString}`);\n }\n\n /**\n * Creates an error thrown if URL string does not parse into separate segments.\n * @param urlString\n */\n static createUrlParseError(urlParseError: string): ClientConfigurationError {\n return new ClientConfigurationError(ClientConfigurationErrorMessage.urlParseError.code,\n `${ClientConfigurationErrorMessage.urlParseError.desc} Given Error: ${urlParseError}`);\n }\n\n /**\n * Creates an error thrown if URL string is empty or null.\n * @param urlString\n */\n static createUrlEmptyError(): ClientConfigurationError {\n return new ClientConfigurationError(ClientConfigurationErrorMessage.urlEmptyError.code,\n ClientConfigurationErrorMessage.urlEmptyError.desc);\n }\n\n /**\n * Error thrown when scopes are empty.\n * @param scopesValue\n */\n static createEmptyScopesArrayError(): ClientConfigurationError {\n return new ClientConfigurationError(ClientConfigurationErrorMessage.emptyScopesError.code,\n `${ClientConfigurationErrorMessage.emptyScopesError.desc}`);\n }\n\n /**\n * Error thrown when client id scope is not provided as single scope.\n * @param inputScopes\n */\n static createClientIdSingleScopeError(inputScopes: Array): ClientConfigurationError {\n return new ClientConfigurationError(ClientConfigurationErrorMessage.clientIdSingleScopeError.code,\n `${ClientConfigurationErrorMessage.clientIdSingleScopeError.desc} Given Scopes: ${inputScopes}`);\n }\n\n /**\n * Error thrown when prompt is not an allowed type.\n * @param promptValue\n */\n static createInvalidPromptError(promptValue: string): ClientConfigurationError {\n return new ClientConfigurationError(ClientConfigurationErrorMessage.invalidPrompt.code,\n `${ClientConfigurationErrorMessage.invalidPrompt.desc} Given value: ${promptValue}`);\n }\n\n /**\n * Creates error thrown when claims parameter is not a stringified JSON object\n */\n static createInvalidClaimsRequestError(): ClientConfigurationError {\n return new ClientConfigurationError(ClientConfigurationErrorMessage.invalidClaimsRequest.code,\n ClientConfigurationErrorMessage.invalidClaimsRequest.desc);\n }\n\n /**\n * Throws error when token request is empty and nothing cached in storage.\n */\n static createEmptyLogoutRequestError(): ClientConfigurationError {\n return new ClientConfigurationError(\n ClientConfigurationErrorMessage.logoutRequestEmptyError.code,\n ClientConfigurationErrorMessage.logoutRequestEmptyError.desc\n );\n }\n\n /**\n * Throws error when token request is empty and nothing cached in storage.\n */\n static createEmptyTokenRequestError(): ClientConfigurationError {\n return new ClientConfigurationError(\n ClientConfigurationErrorMessage.tokenRequestEmptyError.code,\n ClientConfigurationErrorMessage.tokenRequestEmptyError.desc\n );\n }\n\n /**\n * Throws error when an invalid code_challenge_method is passed by the user\n */\n static createInvalidCodeChallengeMethodError(): ClientConfigurationError {\n return new ClientConfigurationError(\n ClientConfigurationErrorMessage.invalidCodeChallengeMethod.code,\n ClientConfigurationErrorMessage.invalidCodeChallengeMethod.desc\n );\n }\n\n /**\n * Throws error when both params: code_challenge and code_challenge_method are not passed together\n */\n static createInvalidCodeChallengeParamsError(): ClientConfigurationError {\n return new ClientConfigurationError(\n ClientConfigurationErrorMessage.invalidCodeChallengeParams.code,\n ClientConfigurationErrorMessage.invalidCodeChallengeParams.desc\n );\n }\n\n /**\n * Throws an error when the user passes invalid cloudDiscoveryMetadata\n */\n static createInvalidCloudDiscoveryMetadataError(): ClientConfigurationError {\n return new ClientConfigurationError(ClientConfigurationErrorMessage.invalidCloudDiscoveryMetadata.code,\n ClientConfigurationErrorMessage.invalidCloudDiscoveryMetadata.desc);\n }\n\n /**\n * Throws an error when the user passes invalid cloudDiscoveryMetadata\n */\n static createInvalidAuthorityMetadataError(): ClientConfigurationError {\n return new ClientConfigurationError(ClientConfigurationErrorMessage.invalidAuthorityMetadata.code,\n ClientConfigurationErrorMessage.invalidAuthorityMetadata.desc);\n }\n\n /**\n * Throws error when provided authority is not a member of the trusted host list\n */\n static createUntrustedAuthorityError(): ClientConfigurationError {\n return new ClientConfigurationError(ClientConfigurationErrorMessage.untrustedAuthority.code,\n ClientConfigurationErrorMessage.untrustedAuthority.desc);\n }\n\n /**\n * Throws error when the AzureCloudInstance is set to an invalid value\n */\n static createInvalidAzureCloudInstanceError(): ClientConfigurationError {\n return new ClientConfigurationError(ClientConfigurationErrorMessage.invalidAzureCloudInstance.code,\n ClientConfigurationErrorMessage.invalidAzureCloudInstance.desc);\n }\n\n /**\n * Throws an error when the authentication scheme is set to SSH but the SSH public key is omitted from the request\n */\n static createMissingSshJwkError(): ClientConfigurationError {\n return new ClientConfigurationError(ClientConfigurationErrorMessage.missingSshJwk.code,\n ClientConfigurationErrorMessage.missingSshJwk.desc);\n }\n\n /**\n * Throws an error when the authentication scheme is set to SSH but the SSH public key ID is omitted from the request\n */\n static createMissingSshKidError(): ClientConfigurationError {\n return new ClientConfigurationError(ClientConfigurationErrorMessage.missingSshKid.code,\n ClientConfigurationErrorMessage.missingSshKid.desc);\n }\n\n /**\n * Throws error when provided headers don't contain a header that a server nonce can be extracted from\n */\n static createMissingNonceAuthenticationHeadersError(): ClientConfigurationError {\n return new ClientConfigurationError(ClientConfigurationErrorMessage.missingNonceAuthenticationHeader.code,\n ClientConfigurationErrorMessage.missingNonceAuthenticationHeader.desc);\n }\n\n /**\n * Throws error when a provided header is invalid in any way\n */\n static createInvalidAuthenticationHeaderError(invalidHeaderName: string, details: string): ClientConfigurationError {\n return new ClientConfigurationError(ClientConfigurationErrorMessage.invalidAuthenticationHeader.code,\n `${ClientConfigurationErrorMessage.invalidAuthenticationHeader.desc}. Invalid header: ${invalidHeaderName}. Details: ${details}`);\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ClientConfigurationError } from \"../error/ClientConfigurationError\";\nimport { StringUtils } from \"../utils/StringUtils\";\nimport { ClientAuthError } from \"../error/ClientAuthError\";\nimport { Constants, OIDC_SCOPES } from \"../utils/Constants\";\n\n/**\n * The ScopeSet class creates a set of scopes. Scopes are case-insensitive, unique values, so the Set object in JS makes\n * the most sense to implement for this class. All scopes are trimmed and converted to lower case strings in intersection and union functions\n * to ensure uniqueness of strings.\n */\nexport class ScopeSet {\n // Scopes as a Set of strings\n private scopes: Set;\n\n constructor(inputScopes: Array) {\n // Filter empty string and null/undefined array items\n const scopeArr = inputScopes ? StringUtils.trimArrayEntries([...inputScopes]) : [];\n const filteredInput = scopeArr ? StringUtils.removeEmptyStringsFromArray(scopeArr) : [];\n\n // Validate and filter scopes (validate function throws if validation fails)\n this.validateInputScopes(filteredInput);\n\n this.scopes = new Set(); // Iterator in constructor not supported by IE11\n filteredInput.forEach(scope => this.scopes.add(scope));\n }\n\n /**\n * Factory method to create ScopeSet from space-delimited string\n * @param inputScopeString\n * @param appClientId\n * @param scopesRequired\n */\n static fromString(inputScopeString: string): ScopeSet {\n const scopeString = inputScopeString || Constants.EMPTY_STRING;\n const inputScopes: Array = scopeString.split(\" \");\n return new ScopeSet(inputScopes);\n }\n\n /**\n * Used to validate the scopes input parameter requested by the developer.\n * @param {Array} inputScopes - Developer requested permissions. Not all scopes are guaranteed to be included in the access token returned.\n * @param {boolean} scopesRequired - Boolean indicating whether the scopes array is required or not\n */\n private validateInputScopes(inputScopes: Array): void {\n // Check if scopes are required but not given or is an empty array\n if (!inputScopes || inputScopes.length < 1) {\n throw ClientConfigurationError.createEmptyScopesArrayError();\n }\n }\n\n /**\n * Check if a given scope is present in this set of scopes.\n * @param scope\n */\n containsScope(scope: string): boolean {\n const lowerCaseScopes = this.printScopesLowerCase().split(\" \");\n const lowerCaseScopesSet = new ScopeSet(lowerCaseScopes);\n // compare lowercase scopes\n return !StringUtils.isEmpty(scope) ? lowerCaseScopesSet.scopes.has(scope.toLowerCase()) : false;\n }\n\n /**\n * Check if a set of scopes is present in this set of scopes.\n * @param scopeSet\n */\n containsScopeSet(scopeSet: ScopeSet): boolean {\n if (!scopeSet || scopeSet.scopes.size <= 0) {\n return false;\n }\n\n return (this.scopes.size >= scopeSet.scopes.size && scopeSet.asArray().every(scope => this.containsScope(scope)));\n }\n\n /**\n * Check if set of scopes contains only the defaults\n */\n containsOnlyOIDCScopes(): boolean {\n let defaultScopeCount = 0;\n OIDC_SCOPES.forEach((defaultScope: string) => {\n if (this.containsScope(defaultScope)) {\n defaultScopeCount += 1;\n }\n });\n\n return this.scopes.size === defaultScopeCount;\n }\n\n /**\n * Appends single scope if passed\n * @param newScope\n */\n appendScope(newScope: string): void {\n if (!StringUtils.isEmpty(newScope)) {\n this.scopes.add(newScope.trim());\n }\n }\n\n /**\n * Appends multiple scopes if passed\n * @param newScopes\n */\n appendScopes(newScopes: Array): void {\n try {\n newScopes.forEach(newScope => this.appendScope(newScope));\n } catch (e) {\n throw ClientAuthError.createAppendScopeSetError(e);\n }\n }\n\n /**\n * Removes element from set of scopes.\n * @param scope\n */\n removeScope(scope: string): void {\n if (StringUtils.isEmpty(scope)) {\n throw ClientAuthError.createRemoveEmptyScopeFromSetError(scope);\n }\n this.scopes.delete(scope.trim());\n }\n\n /**\n * Removes default scopes from set of scopes\n * Primarily used to prevent cache misses if the default scopes are not returned from the server\n */\n removeOIDCScopes(): void {\n OIDC_SCOPES.forEach((defaultScope: string) => {\n this.scopes.delete(defaultScope);\n });\n }\n\n /**\n * Combines an array of scopes with the current set of scopes.\n * @param otherScopes\n */\n unionScopeSets(otherScopes: ScopeSet): Set {\n if (!otherScopes) {\n throw ClientAuthError.createEmptyInputScopeSetError();\n }\n const unionScopes = new Set(); // Iterator in constructor not supported in IE11\n otherScopes.scopes.forEach(scope => unionScopes.add(scope.toLowerCase()));\n this.scopes.forEach(scope => unionScopes.add(scope.toLowerCase()));\n return unionScopes;\n }\n\n /**\n * Check if scopes intersect between this set and another.\n * @param otherScopes\n */\n intersectingScopeSets(otherScopes: ScopeSet): boolean {\n if (!otherScopes) {\n throw ClientAuthError.createEmptyInputScopeSetError();\n }\n \n // Do not allow OIDC scopes to be the only intersecting scopes\n if (!otherScopes.containsOnlyOIDCScopes()) {\n otherScopes.removeOIDCScopes();\n }\n const unionScopes = this.unionScopeSets(otherScopes);\n const sizeOtherScopes = otherScopes.getScopeCount();\n const sizeThisScopes = this.getScopeCount();\n const sizeUnionScopes = unionScopes.size;\n return sizeUnionScopes < (sizeThisScopes + sizeOtherScopes);\n }\n\n /**\n * Returns size of set of scopes.\n */\n getScopeCount(): number {\n return this.scopes.size;\n }\n\n /**\n * Returns the scopes as an array of string values\n */\n asArray(): Array {\n const array: Array = [];\n this.scopes.forEach(val => array.push(val));\n return array;\n }\n\n /**\n * Prints scopes into a space-delimited string\n */\n printScopes(): string {\n if (this.scopes) {\n const scopeArr = this.asArray();\n return scopeArr.join(\" \");\n }\n return Constants.EMPTY_STRING;\n }\n\n /**\n * Prints scopes into a space-delimited lower-case string (used for caching)\n */\n printScopesLowerCase(): string {\n return this.printScopes().toLowerCase();\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { TokenClaims } from \"./TokenClaims\";\nimport { DecodedAuthToken } from \"./DecodedAuthToken\";\nimport { ClientAuthError } from \"../error/ClientAuthError\";\nimport { StringUtils } from \"../utils/StringUtils\";\nimport { ICrypto } from \"../crypto/ICrypto\";\n\n/**\n * JWT Token representation class. Parses token string and generates claims object.\n */\nexport class AuthToken {\n\n // Raw Token string\n rawToken: string;\n // Claims inside token\n claims: TokenClaims;\n constructor(rawToken: string, crypto: ICrypto) {\n if (StringUtils.isEmpty(rawToken)) {\n throw ClientAuthError.createTokenNullOrEmptyError(rawToken);\n }\n\n this.rawToken = rawToken;\n this.claims = AuthToken.extractTokenClaims(rawToken, crypto);\n }\n\n /**\n * Extract token by decoding the rawToken\n *\n * @param encodedToken\n */\n static extractTokenClaims(encodedToken: string, crypto: ICrypto): TokenClaims {\n\n const decodedToken: DecodedAuthToken = StringUtils.decodeAuthToken(encodedToken);\n\n // token will be decoded to get the username\n try {\n const base64TokenPayload = decodedToken.JWSPayload;\n\n // base64Decode() should throw an error if there is an issue\n const base64Decoded = crypto.base64Decode(base64TokenPayload);\n return JSON.parse(base64Decoded) as TokenClaims;\n } catch (err) {\n throw ClientAuthError.createTokenParsingError(err);\n }\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AccountCache, AccountFilter, CredentialFilter, CredentialCache, ValidCredentialType, AppMetadataFilter, AppMetadataCache } from \"./utils/CacheTypes\";\nimport { CacheRecord } from \"./entities/CacheRecord\";\nimport { CacheSchemaType, CredentialType, Constants, APP_METADATA, THE_FAMILY_ID, AUTHORITY_METADATA_CONSTANTS, AuthenticationScheme } from \"../utils/Constants\";\nimport { CredentialEntity } from \"./entities/CredentialEntity\";\nimport { ScopeSet } from \"../request/ScopeSet\";\nimport { AccountEntity } from \"./entities/AccountEntity\";\nimport { AccessTokenEntity } from \"./entities/AccessTokenEntity\";\nimport { IdTokenEntity } from \"./entities/IdTokenEntity\";\nimport { RefreshTokenEntity } from \"./entities/RefreshTokenEntity\";\nimport { AuthError } from \"../error/AuthError\";\nimport { ICacheManager } from \"./interface/ICacheManager\";\nimport { ClientAuthError } from \"../error/ClientAuthError\";\nimport { AccountInfo } from \"../account/AccountInfo\";\nimport { AppMetadataEntity } from \"./entities/AppMetadataEntity\";\nimport { ServerTelemetryEntity } from \"./entities/ServerTelemetryEntity\";\nimport { ThrottlingEntity } from \"./entities/ThrottlingEntity\";\nimport { AuthToken } from \"../account/AuthToken\";\nimport { ICrypto } from \"../crypto/ICrypto\";\nimport { AuthorityMetadataEntity } from \"./entities/AuthorityMetadataEntity\";\nimport { BaseAuthRequest } from \"../request/BaseAuthRequest\";\n\n/**\n * Interface class which implement cache storage functions used by MSAL to perform validity checks, and store tokens.\n */\nexport abstract class CacheManager implements ICacheManager {\n protected clientId: string;\n protected cryptoImpl: ICrypto;\n\n constructor(clientId: string, cryptoImpl: ICrypto) {\n this.clientId = clientId;\n this.cryptoImpl = cryptoImpl;\n }\n\n /**\n * fetch the account entity from the platform cache\n * @param accountKey\n */\n abstract getAccount(accountKey: string): AccountEntity | null;\n\n /**\n * set account entity in the platform cache\n * @param account\n */\n abstract setAccount(account: AccountEntity): void;\n\n /**\n * fetch the idToken entity from the platform cache\n * @param idTokenKey\n */\n abstract getIdTokenCredential(idTokenKey: string): IdTokenEntity | null;\n\n /**\n * set idToken entity to the platform cache\n * @param idToken\n */\n abstract setIdTokenCredential(idToken: IdTokenEntity): void;\n\n /**\n * fetch the idToken entity from the platform cache\n * @param accessTokenKey\n */\n abstract getAccessTokenCredential(accessTokenKey: string): AccessTokenEntity | null;\n\n /**\n * set idToken entity to the platform cache\n * @param accessToken\n */\n abstract setAccessTokenCredential(accessToken: AccessTokenEntity): void;\n\n /**\n * fetch the idToken entity from the platform cache\n * @param refreshTokenKey\n */\n abstract getRefreshTokenCredential(refreshTokenKey: string): RefreshTokenEntity | null;\n\n /**\n * set idToken entity to the platform cache\n * @param refreshToken\n */\n abstract setRefreshTokenCredential(refreshToken: RefreshTokenEntity): void;\n\n /**\n * fetch appMetadata entity from the platform cache\n * @param appMetadataKey\n */\n abstract getAppMetadata(appMetadataKey: string): AppMetadataEntity | null;\n\n /**\n * set appMetadata entity to the platform cache\n * @param appMetadata\n */\n abstract setAppMetadata(appMetadata: AppMetadataEntity): void;\n\n /**\n * fetch server telemetry entity from the platform cache\n * @param serverTelemetryKey\n */\n abstract getServerTelemetry(serverTelemetryKey: string): ServerTelemetryEntity | null;\n\n /**\n * set server telemetry entity to the platform cache\n * @param serverTelemetryKey\n * @param serverTelemetry\n */\n abstract setServerTelemetry(serverTelemetryKey: string, serverTelemetry: ServerTelemetryEntity): void;\n\n /**\n * fetch cloud discovery metadata entity from the platform cache\n * @param key\n */\n abstract getAuthorityMetadata(key: string): AuthorityMetadataEntity | null;\n\n /**\n * \n */\n abstract getAuthorityMetadataKeys(): Array;\n\n /**\n * set cloud discovery metadata entity to the platform cache\n * @param key\n * @param value\n */\n abstract setAuthorityMetadata(key: string, value: AuthorityMetadataEntity): void;\n\n /**\n * fetch throttling entity from the platform cache\n * @param throttlingCacheKey\n */\n abstract getThrottlingCache(throttlingCacheKey: string): ThrottlingEntity | null;\n\n /**\n * set throttling entity to the platform cache\n * @param throttlingCacheKey\n * @param throttlingCache\n */\n abstract setThrottlingCache(throttlingCacheKey: string, throttlingCache: ThrottlingEntity): void;;\n\n /**\n * Function to remove an item from cache given its key.\n * @param key\n */\n abstract removeItem(key: string, type?: string): boolean;\n\n /**\n * Function which returns boolean whether cache contains a specific key.\n * @param key\n */\n abstract containsKey(key: string, type?: string): boolean;\n\n /**\n * Function which retrieves all current keys from the cache.\n */\n abstract getKeys(): string[];\n\n /**\n * Function which clears cache.\n */\n abstract clear(): Promise;\n\n /**\n * Function which updates an outdated credential cache key\n */\n abstract updateCredentialCacheKey(currentCacheKey: string, credential: ValidCredentialType): string;\n\n /**\n * Returns all accounts in cache\n */\n getAllAccounts(): AccountInfo[] {\n const currentAccounts: AccountCache = this.getAccountsFilteredBy();\n const accountValues: AccountEntity[] = Object.keys(currentAccounts).map(accountKey => currentAccounts[accountKey]);\n const numAccounts = accountValues.length;\n if (numAccounts < 1) {\n return [];\n } else {\n const allAccounts = accountValues.map((value) => {\n const accountEntity = CacheManager.toObject(new AccountEntity(), value);\n const accountInfo = accountEntity.getAccountInfo();\n const idToken = this.readIdTokenFromCache(this.clientId, accountInfo);\n if (idToken && !accountInfo.idTokenClaims) {\n accountInfo.idTokenClaims = new AuthToken(idToken.secret, this.cryptoImpl).claims;\n }\n\n return accountInfo;\n \n });\n return allAccounts;\n }\n }\n\n /**\n * saves a cache record\n * @param cacheRecord\n */\n async saveCacheRecord(cacheRecord: CacheRecord): Promise {\n if (!cacheRecord) {\n throw ClientAuthError.createNullOrUndefinedCacheRecord();\n }\n\n if (!!cacheRecord.account) {\n this.setAccount(cacheRecord.account);\n }\n\n if (!!cacheRecord.idToken) {\n this.setIdTokenCredential(cacheRecord.idToken);\n }\n\n if (!!cacheRecord.accessToken) {\n await this.saveAccessToken(cacheRecord.accessToken);\n }\n\n if (!!cacheRecord.refreshToken) {\n this.setRefreshTokenCredential(cacheRecord.refreshToken);\n }\n\n if (!!cacheRecord.appMetadata) {\n this.setAppMetadata(cacheRecord.appMetadata);\n }\n }\n\n /**\n * saves access token credential\n * @param credential\n */\n private async saveAccessToken(credential: AccessTokenEntity): Promise {\n const currentTokenCache = this.getCredentialsFilteredBy({\n clientId: credential.clientId,\n credentialType: credential.credentialType,\n environment: credential.environment,\n homeAccountId: credential.homeAccountId,\n realm: credential.realm,\n tokenType: credential.tokenType,\n requestedClaimsHash: credential.requestedClaimsHash\n });\n\n const currentScopes = ScopeSet.fromString(credential.target);\n const currentAccessTokens: AccessTokenEntity[] = Object.keys(currentTokenCache.accessTokens).map(key => currentTokenCache.accessTokens[key]);\n\n if (currentAccessTokens) {\n const removedAccessTokens: Array> = [];\n currentAccessTokens.forEach((tokenEntity) => {\n const tokenScopeSet = ScopeSet.fromString(tokenEntity.target);\n if (tokenScopeSet.intersectingScopeSets(currentScopes)) {\n removedAccessTokens.push(this.removeCredential(tokenEntity));\n }\n });\n await Promise.all(removedAccessTokens);\n }\n this.setAccessTokenCredential(credential);\n }\n\n /**\n * retrieve accounts matching all provided filters; if no filter is set, get all accounts\n * not checking for casing as keys are all generated in lower case, remember to convert to lower case if object properties are compared\n * @param homeAccountId\n * @param environment\n * @param realm\n */\n getAccountsFilteredBy(accountFilter?: AccountFilter): AccountCache {\n return this.getAccountsFilteredByInternal(\n accountFilter ? accountFilter.homeAccountId : Constants.EMPTY_STRING,\n accountFilter ? accountFilter.environment : Constants.EMPTY_STRING,\n accountFilter ? accountFilter.realm : Constants.EMPTY_STRING\n );\n }\n\n /**\n * retrieve accounts matching all provided filters; if no filter is set, get all accounts\n * not checking for casing as keys are all generated in lower case, remember to convert to lower case if object properties are compared\n * @param homeAccountId\n * @param environment\n * @param realm\n */\n private getAccountsFilteredByInternal(\n homeAccountId?: string,\n environment?: string,\n realm?: string\n ): AccountCache {\n const allCacheKeys = this.getKeys();\n const matchingAccounts: AccountCache = {};\n\n allCacheKeys.forEach((cacheKey) => {\n const entity: AccountEntity | null = this.getAccount(cacheKey);\n\n if (!entity) {\n return;\n }\n\n if (!!homeAccountId && !this.matchHomeAccountId(entity, homeAccountId)) {\n return;\n }\n\n if (!!environment && !this.matchEnvironment(entity, environment)) {\n return;\n }\n\n if (!!realm && !this.matchRealm(entity, realm)) {\n return;\n }\n\n matchingAccounts[cacheKey] = entity;\n });\n\n return matchingAccounts;\n }\n\n /**\n * retrieve credentails matching all provided filters; if no filter is set, get all credentials\n * @param homeAccountId\n * @param environment\n * @param credentialType\n * @param clientId\n * @param realm\n * @param target\n */\n getCredentialsFilteredBy(filter: CredentialFilter): CredentialCache {\n return this.getCredentialsFilteredByInternal(\n filter.homeAccountId,\n filter.environment,\n filter.credentialType,\n filter.clientId,\n filter.familyId,\n filter.realm,\n filter.target,\n filter.oboAssertion,\n filter.tokenType,\n filter.keyId,\n filter.requestedClaimsHash\n );\n }\n\n /**\n * Support function to help match credentials\n * @param homeAccountId\n * @param environment\n * @param credentialType\n * @param clientId\n * @param realm\n * @param target\n * @param oboAssertion\n * @param tokenType\n */\n private getCredentialsFilteredByInternal(\n homeAccountId?: string,\n environment?: string,\n credentialType?: string,\n clientId?: string,\n familyId?: string,\n realm?: string,\n target?: string,\n oboAssertion?: string,\n tokenType?: AuthenticationScheme,\n keyId?: string,\n requestedClaimsHash?: string\n ): CredentialCache {\n const allCacheKeys = this.getKeys();\n const matchingCredentials: CredentialCache = {\n idTokens: {},\n accessTokens: {},\n refreshTokens: {},\n };\n \n allCacheKeys.forEach((cacheKey) => {\n // don't parse any non-credential type cache entities\n const credType = CredentialEntity.getCredentialType(cacheKey);\n\n if (credType === Constants.NOT_DEFINED) {\n return;\n }\n\n // Attempt retrieval\n const entity = this.getSpecificCredential(cacheKey, credType);\n\n if (!entity) {\n return;\n }\n\n if (!!oboAssertion && !this.matchOboAssertion(entity, oboAssertion)) {\n return;\n }\n\n if (!!homeAccountId && !this.matchHomeAccountId(entity, homeAccountId)) {\n return;\n }\n\n if (!!environment && !this.matchEnvironment(entity, environment)) {\n return;\n }\n\n if (!!realm && !this.matchRealm(entity, realm)) {\n return;\n }\n\n if (!!credentialType && !this.matchCredentialType(entity, credentialType)) {\n return;\n }\n\n if (!!clientId && !this.matchClientId(entity, clientId)) {\n return;\n }\n\n if (!!familyId && !this.matchFamilyId(entity, familyId)) {\n return;\n }\n\n /*\n * idTokens do not have \"target\", target specific refreshTokens do exist for some types of authentication\n * Resource specific refresh tokens case will be added when the support is deemed necessary\n */\n if (!!target && !this.matchTarget(entity, target)) {\n return;\n }\n \n // If request OR cached entity has requested Claims Hash, check if they match\n if (requestedClaimsHash || entity.requestedClaimsHash) {\n // Don't match if either is undefined or they are different\n if (entity.requestedClaimsHash !== requestedClaimsHash) {\n return;\n }\n }\n\n // Access Token with Auth Scheme specific matching\n if (credentialType === CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME) {\n if(!!tokenType && !this.matchTokenType(entity, tokenType)) {\n return;\n }\n\n // KeyId (sshKid) in request must match cached SSH certificate keyId because SSH cert is bound to a specific key\n if (tokenType === AuthenticationScheme.SSH) {\n if(keyId && !this.matchKeyId(entity, keyId)) {\n return;\n }\n }\n }\n\n // At this point, the entity matches the request, update cache key if key schema has changed\n const updatedCacheKey = this.updateCredentialCacheKey(cacheKey, entity);\n\n switch (credType) {\n case CredentialType.ID_TOKEN:\n matchingCredentials.idTokens[updatedCacheKey] = entity as IdTokenEntity;\n break;\n case CredentialType.ACCESS_TOKEN:\n case CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME:\n matchingCredentials.accessTokens[updatedCacheKey] = entity as AccessTokenEntity;\n break;\n case CredentialType.REFRESH_TOKEN:\n matchingCredentials.refreshTokens[updatedCacheKey] = entity as RefreshTokenEntity;\n break;\n }\n });\n\n return matchingCredentials;\n }\n\n /**\n * retrieve appMetadata matching all provided filters; if no filter is set, get all appMetadata\n * @param filter\n */\n getAppMetadataFilteredBy(filter: AppMetadataFilter): AppMetadataCache {\n return this.getAppMetadataFilteredByInternal(\n filter.environment,\n filter.clientId,\n );\n }\n\n /**\n * Support function to help match appMetadata\n * @param environment\n * @param clientId\n */\n private getAppMetadataFilteredByInternal(\n environment?: string,\n clientId?: string\n ): AppMetadataCache {\n\n const allCacheKeys = this.getKeys();\n const matchingAppMetadata: AppMetadataCache = {};\n\n allCacheKeys.forEach((cacheKey) => {\n // don't parse any non-appMetadata type cache entities\n if (!this.isAppMetadata(cacheKey)) {\n return;\n }\n\n // Attempt retrieval\n const entity = this.getAppMetadata(cacheKey);\n\n if (!entity) {\n return;\n }\n\n if (!!environment && !this.matchEnvironment(entity, environment)) {\n return;\n }\n\n if (!!clientId && !this.matchClientId(entity, clientId)) {\n return;\n }\n\n matchingAppMetadata[cacheKey] = entity;\n\n });\n\n return matchingAppMetadata;\n }\n\n /**\n * retrieve authorityMetadata that contains a matching alias\n * @param filter\n */\n getAuthorityMetadataByAlias(host: string): AuthorityMetadataEntity | null {\n const allCacheKeys = this.getAuthorityMetadataKeys();\n let matchedEntity = null;\n\n allCacheKeys.forEach((cacheKey) => {\n // don't parse any non-authorityMetadata type cache entities\n if (!this.isAuthorityMetadata(cacheKey) || cacheKey.indexOf(this.clientId) === -1) {\n return;\n }\n\n // Attempt retrieval\n const entity = this.getAuthorityMetadata(cacheKey);\n\n if (!entity) {\n return;\n }\n\n if (entity.aliases.indexOf(host) === -1) {\n return;\n }\n\n matchedEntity = entity;\n\n });\n \n return matchedEntity;\n }\n\n /**\n * Removes all accounts and related tokens from cache.\n */\n async removeAllAccounts(): Promise {\n const allCacheKeys = this.getKeys();\n const removedAccounts: Array> = [];\n\n allCacheKeys.forEach((cacheKey) => {\n const entity = this.getAccount(cacheKey);\n if (!entity) {\n return;\n }\n removedAccounts.push(this.removeAccount(cacheKey));\n });\n \n await Promise.all(removedAccounts);\n return true;\n }\n\n /**\n * returns a boolean if the given account is removed\n * @param account\n */\n async removeAccount(accountKey: string): Promise {\n const account = this.getAccount(accountKey);\n if (!account) {\n throw ClientAuthError.createNoAccountFoundError();\n }\n return (await this.removeAccountContext(account) && this.removeItem(accountKey, CacheSchemaType.ACCOUNT));\n }\n\n /**\n * Removes credentials associated with the provided account\n * @param account\n */\n async removeAccountContext(account: AccountEntity): Promise {\n const allCacheKeys = this.getKeys();\n const accountId = account.generateAccountId();\n const removedCredentials: Array> = [];\n\n allCacheKeys.forEach((cacheKey) => {\n // don't parse any non-credential type cache entities\n const credType = CredentialEntity.getCredentialType(cacheKey);\n if (credType === Constants.NOT_DEFINED) {\n return;\n }\n\n const cacheEntity = this.getSpecificCredential(cacheKey, credType);\n if (!!cacheEntity && accountId === cacheEntity.generateAccountId()) {\n removedCredentials.push(this.removeCredential(cacheEntity));\n }\n });\n\n await Promise.all(removedCredentials);\n return true;\n }\n\n /**\n * returns a boolean if the given credential is removed\n * @param credential\n */\n async removeCredential(credential: CredentialEntity): Promise {\n const key = credential.generateCredentialKey();\n\n // Remove Token Binding Key from key store for PoP Tokens Credentials\n if (credential.credentialType.toLowerCase() === CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME.toLowerCase()) {\n if(credential.tokenType === AuthenticationScheme.POP) {\n const accessTokenWithAuthSchemeEntity = credential as AccessTokenEntity;\n const kid = accessTokenWithAuthSchemeEntity.keyId;\n \n if (kid) {\n try {\n await this.cryptoImpl.removeTokenBindingKey(kid);\n } catch (error) {\n throw ClientAuthError.createBindingKeyNotRemovedError();\n }\n }\n }\n }\n\n return this.removeItem(key, CacheSchemaType.CREDENTIAL);\n }\n\n /**\n * Removes all app metadata objects from cache.\n */\n removeAppMetadata(): boolean {\n const allCacheKeys = this.getKeys();\n allCacheKeys.forEach((cacheKey) => {\n if (this.isAppMetadata(cacheKey)) {\n this.removeItem(cacheKey, CacheSchemaType.APP_METADATA);\n }\n });\n\n return true;\n }\n\n /**\n * Retrieve the cached credentials into a cacherecord\n * @param account\n * @param clientId\n * @param scopes\n * @param environment\n * @param authScheme\n */\n readCacheRecord(account: AccountInfo, clientId: string, request: BaseAuthRequest, environment: string): CacheRecord {\n\n const cachedAccount = this.readAccountFromCache(account);\n const cachedIdToken = this.readIdTokenFromCache(clientId, account);\n const cachedAccessToken = this.readAccessTokenFromCache(clientId, account, request);\n const cachedRefreshToken = this.readRefreshTokenFromCache(clientId, account, false);\n const cachedAppMetadata = this.readAppMetadataFromCache(environment, clientId);\n\n if (cachedAccount && cachedIdToken) {\n cachedAccount.idTokenClaims = new AuthToken(cachedIdToken.secret, this.cryptoImpl).claims;\n }\n\n return {\n account: cachedAccount,\n idToken: cachedIdToken,\n accessToken: cachedAccessToken,\n refreshToken: cachedRefreshToken,\n appMetadata: cachedAppMetadata,\n };\n }\n\n /**\n * Retrieve AccountEntity from cache\n * @param account\n */\n readAccountFromCache(account: AccountInfo): AccountEntity | null {\n const accountKey: string = AccountEntity.generateAccountCacheKey(account);\n return this.getAccount(accountKey);\n }\n\n /**\n * Retrieve IdTokenEntity from cache\n * @param clientId\n * @param account\n * @param inputRealm\n */\n readIdTokenFromCache(clientId: string, account: AccountInfo): IdTokenEntity | null {\n const idTokenFilter: CredentialFilter = {\n homeAccountId: account.homeAccountId,\n environment: account.environment,\n credentialType: CredentialType.ID_TOKEN,\n clientId: clientId,\n realm: account.tenantId,\n };\n\n const credentialCache: CredentialCache = this.getCredentialsFilteredBy(idTokenFilter);\n const idTokens = Object.keys(credentialCache.idTokens).map((key) => credentialCache.idTokens[key]);\n const numIdTokens = idTokens.length;\n\n if (numIdTokens < 1) {\n return null;\n } else if (numIdTokens > 1) {\n throw ClientAuthError.createMultipleMatchingTokensInCacheError();\n }\n\n return idTokens[0] as IdTokenEntity;\n }\n\n /**\n * Retrieve AccessTokenEntity from cache\n * @param clientId\n * @param account\n * @param scopes\n * @param authScheme\n */\n readAccessTokenFromCache(clientId: string, account: AccountInfo, request: BaseAuthRequest): AccessTokenEntity | null {\n const scopes = new ScopeSet(request.scopes || []);\n const authScheme = request.authenticationScheme || AuthenticationScheme.BEARER;\n /*\n * Distinguish between Bearer and PoP/SSH token cache types\n * Cast to lowercase to handle \"bearer\" from ADFS\n */\n const credentialType = (authScheme && authScheme.toLowerCase() !== AuthenticationScheme.BEARER.toLowerCase()) ? CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME : CredentialType.ACCESS_TOKEN;\n\n const accessTokenFilter: CredentialFilter = {\n homeAccountId: account.homeAccountId,\n environment: account.environment,\n credentialType: credentialType,\n clientId,\n realm: account.tenantId,\n target: scopes.printScopesLowerCase(),\n tokenType: authScheme,\n keyId: request.sshKid,\n requestedClaimsHash: request.requestedClaimsHash\n };\n\n const credentialCache: CredentialCache = this.getCredentialsFilteredBy(accessTokenFilter);\n \n const accessTokens = Object.keys(credentialCache.accessTokens).map((key) => credentialCache.accessTokens[key]);\n \n const numAccessTokens = accessTokens.length;\n if (numAccessTokens < 1) {\n return null;\n } else if (numAccessTokens > 1) {\n throw ClientAuthError.createMultipleMatchingTokensInCacheError();\n }\n\n return accessTokens[0] as AccessTokenEntity;\n }\n\n /**\n * Helper to retrieve the appropriate refresh token from cache\n * @param clientId\n * @param account\n * @param familyRT\n */\n readRefreshTokenFromCache(clientId: string, account: AccountInfo, familyRT: boolean): RefreshTokenEntity | null {\n const id = familyRT ? THE_FAMILY_ID : undefined;\n const refreshTokenFilter: CredentialFilter = {\n homeAccountId: account.homeAccountId,\n environment: account.environment,\n credentialType: CredentialType.REFRESH_TOKEN,\n clientId: clientId,\n familyId: id\n };\n\n const credentialCache: CredentialCache = this.getCredentialsFilteredBy(refreshTokenFilter);\n const refreshTokens = Object.keys(credentialCache.refreshTokens).map((key) => credentialCache.refreshTokens[key]);\n\n const numRefreshTokens = refreshTokens.length;\n if (numRefreshTokens < 1) {\n return null;\n }\n // address the else case after remove functions address environment aliases\n\n return refreshTokens[0] as RefreshTokenEntity;\n }\n\n /**\n * Retrieve AppMetadataEntity from cache\n */\n readAppMetadataFromCache(environment: string, clientId: string): AppMetadataEntity | null {\n const appMetadataFilter: AppMetadataFilter = {\n environment,\n clientId,\n };\n\n const appMetadata: AppMetadataCache = this.getAppMetadataFilteredBy(appMetadataFilter);\n const appMetadataEntries: AppMetadataEntity[] = Object.keys(appMetadata).map((key) => appMetadata[key]);\n\n const numAppMetadata = appMetadataEntries.length;\n if (numAppMetadata < 1) {\n return null;\n } else if (numAppMetadata > 1) {\n throw ClientAuthError.createMultipleMatchingAppMetadataInCacheError();\n }\n\n return appMetadataEntries[0] as AppMetadataEntity;\n }\n\n /**\n * Return the family_id value associated with FOCI\n * @param environment\n * @param clientId\n */\n isAppMetadataFOCI(environment: string, clientId: string): boolean {\n const appMetadata = this.readAppMetadataFromCache(environment, clientId);\n return !!(appMetadata && appMetadata.familyId === THE_FAMILY_ID);\n }\n\n /**\n * helper to match account ids\n * @param value\n * @param homeAccountId\n */\n private matchHomeAccountId(entity: AccountEntity | CredentialEntity, homeAccountId: string): boolean {\n return !!(entity.homeAccountId && homeAccountId === entity.homeAccountId);\n }\n\n /**\n * helper to match assertion\n * @param value\n * @param oboAssertion\n */\n private matchOboAssertion(entity: AccountEntity | CredentialEntity, oboAssertion: string): boolean {\n return !!(entity.oboAssertion && oboAssertion === entity.oboAssertion);\n }\n\n /**\n * helper to match environment\n * @param value\n * @param environment\n */\n private matchEnvironment(entity: AccountEntity | CredentialEntity | AppMetadataEntity, environment: string): boolean {\n const cloudMetadata = this.getAuthorityMetadataByAlias(environment);\n if (cloudMetadata && cloudMetadata.aliases.indexOf(entity.environment) > -1) {\n return true;\n }\n\n return false;\n }\n\n /**\n * helper to match credential type\n * @param entity\n * @param credentialType\n */\n private matchCredentialType(entity: CredentialEntity, credentialType: string): boolean {\n return (entity.credentialType && credentialType.toLowerCase() === entity.credentialType.toLowerCase());\n }\n\n /**\n * helper to match client ids\n * @param entity\n * @param clientId\n */\n private matchClientId(entity: CredentialEntity | AppMetadataEntity, clientId: string): boolean {\n return !!(entity.clientId && clientId === entity.clientId);\n }\n\n /**\n * helper to match family ids\n * @param entity\n * @param familyId\n */\n private matchFamilyId(entity: CredentialEntity | AppMetadataEntity, familyId: string): boolean {\n return !!(entity.familyId && familyId === entity.familyId);\n }\n\n /**\n * helper to match realm\n * @param entity\n * @param realm\n */\n private matchRealm(entity: AccountEntity | CredentialEntity, realm: string): boolean {\n return !!(entity.realm && realm === entity.realm);\n }\n\n /**\n * Returns true if the target scopes are a subset of the current entity's scopes, false otherwise.\n * @param entity\n * @param target\n */\n private matchTarget(entity: CredentialEntity, target: string): boolean {\n const isNotAccessTokenCredential = (entity.credentialType !== CredentialType.ACCESS_TOKEN && entity.credentialType !== CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME);\n\n if ( isNotAccessTokenCredential || !entity.target) {\n return false;\n }\n\n const entityScopeSet: ScopeSet = ScopeSet.fromString(entity.target);\n const requestTargetScopeSet: ScopeSet = ScopeSet.fromString(target);\n\n if (!requestTargetScopeSet.containsOnlyOIDCScopes()) {\n requestTargetScopeSet.removeOIDCScopes(); // ignore OIDC scopes\n } else {\n requestTargetScopeSet.removeScope(Constants.OFFLINE_ACCESS_SCOPE);\n }\n return entityScopeSet.containsScopeSet(requestTargetScopeSet);\n }\n\n /**\n * Returns true if the credential's tokenType or Authentication Scheme matches the one in the request, false otherwise\n * @param entity \n * @param tokenType \n */\n private matchTokenType(entity: CredentialEntity, tokenType: AuthenticationScheme): boolean {\n return !!(entity.tokenType && entity.tokenType === tokenType);\n }\n\n /**\n * Returns true if the credential's keyId matches the one in the request, false otherwise\n * @param entity \n * @param tokenType \n */\n private matchKeyId(entity: CredentialEntity, keyId: string): boolean {\n return !!(entity.keyId && entity.keyId === keyId);\n }\n\n /**\n * returns if a given cache entity is of the type appmetadata\n * @param key\n */\n private isAppMetadata(key: string): boolean {\n return key.indexOf(APP_METADATA) !== -1;\n }\n\n /**\n * returns if a given cache entity is of the type authoritymetadata\n * @param key\n */\n protected isAuthorityMetadata(key: string): boolean {\n return key.indexOf(AUTHORITY_METADATA_CONSTANTS.CACHE_KEY) !== -1;\n }\n\n /**\n * returns cache key used for cloud instance metadata\n */\n generateAuthorityMetadataCacheKey(authority: string): string {\n return `${AUTHORITY_METADATA_CONSTANTS.CACHE_KEY}-${this.clientId}-${authority}`;\n }\n\n /**\n * Returns the specific credential (IdToken/AccessToken/RefreshToken) from the cache\n * @param key\n * @param credType\n */\n private getSpecificCredential(key: string, credType: string): ValidCredentialType | null {\n switch (credType) {\n case CredentialType.ID_TOKEN: {\n return this.getIdTokenCredential(key);\n }\n case CredentialType.ACCESS_TOKEN:\n case CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME: {\n return this.getAccessTokenCredential(key);\n }\n case CredentialType.REFRESH_TOKEN: {\n return this.getRefreshTokenCredential(key);\n }\n default:\n return null;\n }\n }\n\n /**\n * Helper to convert serialized data to object\n * @param obj\n * @param json\n */\n static toObject(obj: T, json: object): T {\n for (const propertyName in json) {\n obj[propertyName] = json[propertyName];\n }\n return obj;\n }\n}\n\nexport class DefaultStorageClass extends CacheManager {\n setAccount(): void {\n const notImplErr = \"Storage interface - setAccount() has not been implemented for the cacheStorage interface.\";\n throw AuthError.createUnexpectedError(notImplErr);\n }\n getAccount(): AccountEntity {\n const notImplErr = \"Storage interface - getAccount() has not been implemented for the cacheStorage interface.\";\n throw AuthError.createUnexpectedError(notImplErr);\n }\n setIdTokenCredential(): void {\n const notImplErr = \"Storage interface - setIdTokenCredential() has not been implemented for the cacheStorage interface.\";\n throw AuthError.createUnexpectedError(notImplErr);\n }\n getIdTokenCredential(): IdTokenEntity {\n const notImplErr = \"Storage interface - getIdTokenCredential() has not been implemented for the cacheStorage interface.\";\n throw AuthError.createUnexpectedError(notImplErr);\n }\n setAccessTokenCredential(): void {\n const notImplErr = \"Storage interface - setAccessTokenCredential() has not been implemented for the cacheStorage interface.\";\n throw AuthError.createUnexpectedError(notImplErr);\n }\n getAccessTokenCredential(): AccessTokenEntity {\n const notImplErr = \"Storage interface - getAccessTokenCredential() has not been implemented for the cacheStorage interface.\";\n throw AuthError.createUnexpectedError(notImplErr);\n }\n setRefreshTokenCredential(): void {\n const notImplErr = \"Storage interface - setRefreshTokenCredential() has not been implemented for the cacheStorage interface.\";\n throw AuthError.createUnexpectedError(notImplErr);\n }\n getRefreshTokenCredential(): RefreshTokenEntity {\n const notImplErr = \"Storage interface - getRefreshTokenCredential() has not been implemented for the cacheStorage interface.\";\n throw AuthError.createUnexpectedError(notImplErr);\n }\n setAppMetadata(): void {\n const notImplErr = \"Storage interface - setAppMetadata() has not been implemented for the cacheStorage interface.\";\n throw AuthError.createUnexpectedError(notImplErr);\n }\n getAppMetadata(): AppMetadataEntity {\n const notImplErr = \"Storage interface - getAppMetadata() has not been implemented for the cacheStorage interface.\";\n throw AuthError.createUnexpectedError(notImplErr);\n }\n setServerTelemetry(): void {\n const notImplErr = \"Storage interface - setServerTelemetry() has not been implemented for the cacheStorage interface.\";\n throw AuthError.createUnexpectedError(notImplErr);\n }\n getServerTelemetry(): ServerTelemetryEntity {\n const notImplErr = \"Storage interface - getServerTelemetry() has not been implemented for the cacheStorage interface.\";\n throw AuthError.createUnexpectedError(notImplErr);\n }\n setAuthorityMetadata(): void {\n const notImplErr = \"Storage interface - setAuthorityMetadata() has not been implemented for the cacheStorage interface.\";\n throw AuthError.createUnexpectedError(notImplErr);\n }\n getAuthorityMetadata(): AuthorityMetadataEntity | null {\n const notImplErr = \"Storage interface - getAuthorityMetadata() has not been implemented for the cacheStorage interface.\";\n throw AuthError.createUnexpectedError(notImplErr);\n }\n getAuthorityMetadataKeys(): Array {\n const notImplErr = \"Storage interface - getAuthorityMetadataKeys() has not been implemented for the cacheStorage interface.\";\n throw AuthError.createUnexpectedError(notImplErr);\n }\n setThrottlingCache(): void {\n const notImplErr = \"Storage interface - setThrottlingCache() has not been implemented for the cacheStorage interface.\";\n throw AuthError.createUnexpectedError(notImplErr);\n }\n getThrottlingCache(): ThrottlingEntity {\n const notImplErr = \"Storage interface - getThrottlingCache() has not been implemented for the cacheStorage interface.\";\n throw AuthError.createUnexpectedError(notImplErr);\n }\n removeItem(): boolean {\n const notImplErr = \"Storage interface - removeItem() has not been implemented for the cacheStorage interface.\";\n throw AuthError.createUnexpectedError(notImplErr);\n }\n containsKey(): boolean {\n const notImplErr = \"Storage interface - containsKey() has not been implemented for the cacheStorage interface.\";\n throw AuthError.createUnexpectedError(notImplErr);\n }\n getKeys(): string[] {\n const notImplErr = \"Storage interface - getKeys() has not been implemented for the cacheStorage interface.\";\n throw AuthError.createUnexpectedError(notImplErr);\n }\n async clear(): Promise {\n const notImplErr = \"Storage interface - clear() has not been implemented for the cacheStorage interface.\";\n throw AuthError.createUnexpectedError(notImplErr);\n }\n updateCredentialCacheKey(): string {\n const notImplErr = \"Storage interface - updateCredentialCacheKey() has not been implemented for the cacheStorage interface.\";\n throw AuthError.createUnexpectedError(notImplErr);\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { CredentialEntity } from \"./CredentialEntity\";\nimport { CredentialType } from \"../../utils/Constants\";\n\n/**\n * ID_TOKEN Cache\n *\n * Key:Value Schema:\n *\n * Key Example: uid.utid-login.microsoftonline.com-idtoken-clientId-contoso.com-\n *\n * Value Schema:\n * {\n * homeAccountId: home account identifier for the auth scheme,\n * environment: entity that issued the token, represented as a full host\n * credentialType: Type of credential as a string, can be one of the following: RefreshToken, AccessToken, IdToken, Password, Cookie, Certificate, Other\n * clientId: client ID of the application\n * secret: Actual credential as a string\n * realm: Full tenant or organizational identifier that the account belongs to\n * }\n */\nexport class IdTokenEntity extends CredentialEntity {\n realm: string;\n\n /**\n * Create IdTokenEntity\n * @param homeAccountId\n * @param authenticationResult\n * @param clientId\n * @param authority\n */\n static createIdTokenEntity(\n homeAccountId: string,\n environment: string,\n idToken: string,\n clientId: string,\n tenantId: string,\n oboAssertion?: string\n ): IdTokenEntity {\n const idTokenEntity = new IdTokenEntity();\n\n idTokenEntity.credentialType = CredentialType.ID_TOKEN;\n idTokenEntity.homeAccountId = homeAccountId;\n idTokenEntity.environment = environment;\n idTokenEntity.clientId = clientId;\n idTokenEntity.secret = idToken;\n idTokenEntity.realm = tenantId;\n idTokenEntity.oboAssertion = oboAssertion;\n\n return idTokenEntity;\n }\n\n /**\n * Validates an entity: checks for all expected params\n * @param entity\n */\n static isIdTokenEntity(entity: object): boolean {\n\n if (!entity) {\n return false;\n }\n\n return (\n entity.hasOwnProperty(\"homeAccountId\") &&\n entity.hasOwnProperty(\"environment\") &&\n entity.hasOwnProperty(\"credentialType\") &&\n entity.hasOwnProperty(\"realm\") &&\n entity.hasOwnProperty(\"clientId\") &&\n entity.hasOwnProperty(\"secret\") &&\n entity[\"credentialType\"] === CredentialType.ID_TOKEN\n );\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Utility class which exposes functions for managing date and time operations.\n */\nexport class TimeUtils {\n\n /**\n * return the current time in Unix time (seconds).\n */\n static nowSeconds(): number {\n // Date.getTime() returns in milliseconds.\n return Math.round(new Date().getTime() / 1000.0);\n }\n \n /**\n * check if a token is expired based on given UTC time in seconds.\n * @param expiresOn\n */\n static isTokenExpired(expiresOn: string, offset: number): boolean {\n // check for access token expiry\n const expirationSec = Number(expiresOn) || 0;\n const offsetCurrentTimeSec = TimeUtils.nowSeconds() + offset;\n\n // If current time + offset is greater than token expiration time, then token is expired.\n return (offsetCurrentTimeSec > expirationSec);\n }\n\n /**\n * If the current time is earlier than the time that a token was cached at, we must discard the token\n * i.e. The system clock was turned back after acquiring the cached token\n * @param cachedAt \n * @param offset \n */\n static wasClockTurnedBack(cachedAt: string): boolean {\n const cachedAtSec = Number(cachedAt);\n\n return cachedAtSec > TimeUtils.nowSeconds();\n }\n\n /**\n * Waits for t number of milliseconds\n * @param t number\n * @param value T\n */\n static delay(t: number, value?: T): Promise {\n return new Promise((resolve) => setTimeout(() => resolve(value), t));\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { CredentialEntity } from \"./CredentialEntity\";\nimport { CredentialType, AuthenticationScheme } from \"../../utils/Constants\";\nimport { TimeUtils } from \"../../utils/TimeUtils\";\nimport { StringUtils } from \"../../utils/StringUtils\";\nimport { ICrypto } from \"../../crypto/ICrypto\";\nimport { TokenClaims } from \"../../account/TokenClaims\";\nimport { AuthToken } from \"../../account/AuthToken\";\nimport { ClientAuthError } from \"../../error/ClientAuthError\";\n\n/**\n * ACCESS_TOKEN Credential Type\n *\n * Key:Value Schema:\n *\n * Key Example: uid.utid-login.microsoftonline.com-accesstoken-clientId-contoso.com-user.read\n *\n * Value Schema:\n * {\n * homeAccountId: home account identifier for the auth scheme,\n * environment: entity that issued the token, represented as a full host\n * credentialType: Type of credential as a string, can be one of the following: RefreshToken, AccessToken, IdToken, Password, Cookie, Certificate, Other\n * clientId: client ID of the application\n * secret: Actual credential as a string\n * familyId: Family ID identifier, usually only used for refresh tokens\n * realm: Full tenant or organizational identifier that the account belongs to\n * target: Permissions that are included in the token, or for refresh tokens, the resource identifier.\n * cachedAt: Absolute device time when entry was created in the cache.\n * expiresOn: Token expiry time, calculated based on current UTC time in seconds. Represented as a string.\n * extendedExpiresOn: Additional extended expiry time until when token is valid in case of server-side outage. Represented as string in UTC seconds.\n * keyId: used for POP and SSH tokenTypes\n * tokenType: Type of the token issued. Usually \"Bearer\"\n * }\n */\nexport class AccessTokenEntity extends CredentialEntity {\n realm: string;\n target: string;\n cachedAt: string;\n expiresOn: string;\n extendedExpiresOn?: string;\n refreshOn?: string;\n keyId?: string; // for POP and SSH tokenTypes\n tokenType?: AuthenticationScheme;\n requestedClaims?: string;\n requestedClaimsHash?: string;\n\n /**\n * Create AccessTokenEntity\n * @param homeAccountId\n * @param environment\n * @param accessToken\n * @param clientId\n * @param tenantId\n * @param scopes\n * @param expiresOn\n * @param extExpiresOn\n */\n static createAccessTokenEntity(\n homeAccountId: string,\n environment: string,\n accessToken: string,\n clientId: string,\n tenantId: string,\n scopes: string,\n expiresOn: number,\n extExpiresOn: number,\n cryptoUtils: ICrypto,\n refreshOn?: number,\n tokenType?: AuthenticationScheme,\n oboAssertion?: string,\n keyId?: string,\n requestedClaims?: string,\n requestedClaimsHash?: string \n ): AccessTokenEntity {\n const atEntity: AccessTokenEntity = new AccessTokenEntity();\n\n atEntity.homeAccountId = homeAccountId;\n atEntity.credentialType = CredentialType.ACCESS_TOKEN;\n atEntity.secret = accessToken;\n\n const currentTime = TimeUtils.nowSeconds();\n atEntity.cachedAt = currentTime.toString();\n\n /*\n * Token expiry time.\n * This value should be  calculated based on the current UTC time measured locally and the value  expires_in Represented as a string in JSON.\n */\n atEntity.expiresOn = expiresOn.toString();\n atEntity.extendedExpiresOn = extExpiresOn.toString();\n if (refreshOn) {\n atEntity.refreshOn = refreshOn.toString();\n }\n\n atEntity.environment = environment;\n atEntity.clientId = clientId;\n atEntity.realm = tenantId;\n atEntity.target = scopes;\n atEntity.oboAssertion = oboAssertion;\n\n atEntity.tokenType = StringUtils.isEmpty(tokenType) ? AuthenticationScheme.BEARER : tokenType;\n\n if (requestedClaims) {\n atEntity.requestedClaims = requestedClaims;\n atEntity.requestedClaimsHash = requestedClaimsHash;\n }\n\n /*\n * Create Access Token With Auth Scheme instead of regular access token\n * Cast to lower to handle \"bearer\" from ADFS\n */\n if (atEntity.tokenType?.toLowerCase() !== AuthenticationScheme.BEARER.toLowerCase()) {\n atEntity.credentialType = CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME;\n switch (atEntity.tokenType) {\n case AuthenticationScheme.POP:\n // Make sure keyId is present and add it to credential\n const tokenClaims: TokenClaims | null = AuthToken.extractTokenClaims(accessToken, cryptoUtils);\n if (!tokenClaims?.cnf?.kid) {\n throw ClientAuthError.createTokenClaimsRequiredError();\n }\n atEntity.keyId = tokenClaims.cnf.kid;\n break;\n case AuthenticationScheme.SSH:\n atEntity.keyId = keyId;\n }\n }\n\n return atEntity;\n }\n\n /**\n * Validates an entity: checks for all expected params\n * @param entity\n */\n static isAccessTokenEntity(entity: object): boolean {\n\n if (!entity) {\n return false;\n }\n\n return (\n entity.hasOwnProperty(\"homeAccountId\") &&\n entity.hasOwnProperty(\"environment\") &&\n entity.hasOwnProperty(\"credentialType\") &&\n entity.hasOwnProperty(\"realm\") &&\n entity.hasOwnProperty(\"clientId\") &&\n entity.hasOwnProperty(\"secret\") &&\n entity.hasOwnProperty(\"target\") &&\n (entity[\"credentialType\"] === CredentialType.ACCESS_TOKEN || entity[\"credentialType\"] === CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME)\n );\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { CredentialEntity } from \"./CredentialEntity\";\nimport { CredentialType } from \"../../utils/Constants\";\n\n/**\n * REFRESH_TOKEN Cache\n *\n * Key:Value Schema:\n *\n * Key Example: uid.utid-login.microsoftonline.com-refreshtoken-clientId--\n *\n * Value:\n * {\n * homeAccountId: home account identifier for the auth scheme,\n * environment: entity that issued the token, represented as a full host\n * credentialType: Type of credential as a string, can be one of the following: RefreshToken, AccessToken, IdToken, Password, Cookie, Certificate, Other\n * clientId: client ID of the application\n * secret: Actual credential as a string\n * familyId: Family ID identifier, '1' represents Microsoft Family\n * realm: Full tenant or organizational identifier that the account belongs to\n * target: Permissions that are included in the token, or for refresh tokens, the resource identifier.\n * }\n */\nexport class RefreshTokenEntity extends CredentialEntity {\n familyId?: string;\n\n /**\n * Create RefreshTokenEntity\n * @param homeAccountId\n * @param authenticationResult\n * @param clientId\n * @param authority\n */\n static createRefreshTokenEntity(\n homeAccountId: string,\n environment: string,\n refreshToken: string,\n clientId: string,\n familyId?: string,\n oboAssertion?: string\n ): RefreshTokenEntity {\n const rtEntity = new RefreshTokenEntity();\n\n rtEntity.clientId = clientId;\n rtEntity.credentialType = CredentialType.REFRESH_TOKEN;\n rtEntity.environment = environment;\n rtEntity.homeAccountId = homeAccountId;\n rtEntity.secret = refreshToken;\n rtEntity.oboAssertion = oboAssertion;\n\n if (familyId)\n rtEntity.familyId = familyId;\n\n return rtEntity;\n }\n\n /**\n * Validates an entity: checks for all expected params\n * @param entity\n */\n static isRefreshTokenEntity(entity: object): boolean {\n\n if (!entity) {\n return false;\n }\n\n return (\n entity.hasOwnProperty(\"homeAccountId\") &&\n entity.hasOwnProperty(\"environment\") &&\n entity.hasOwnProperty(\"credentialType\") &&\n entity.hasOwnProperty(\"clientId\") &&\n entity.hasOwnProperty(\"secret\") &&\n entity[\"credentialType\"] === CredentialType.REFRESH_TOKEN\n );\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { APP_METADATA, Separators } from \"../../utils/Constants\";\n\n/**\n * APP_METADATA Cache\n *\n * Key:Value Schema:\n *\n * Key: appmetadata--\n *\n * Value:\n * {\n * clientId: client ID of the application\n * environment: entity that issued the token, represented as a full host\n * familyId: Family ID identifier, '1' represents Microsoft Family\n * }\n */\nexport class AppMetadataEntity {\n clientId: string;\n environment: string;\n familyId?: string;\n\n /**\n * Generate AppMetadata Cache Key as per the schema: appmetadata--\n */\n generateAppMetadataKey(): string {\n return AppMetadataEntity.generateAppMetadataCacheKey(this.environment, this.clientId);\n }\n\n /**\n * Generate AppMetadata Cache Key\n */\n static generateAppMetadataCacheKey(environment: string, clientId: string): string {\n const appMetaDataKeyArray: Array = [\n APP_METADATA,\n environment,\n clientId,\n ];\n return appMetaDataKeyArray.join(Separators.CACHE_KEY_SEPARATOR).toLowerCase();\n }\n\n /**\n * Creates AppMetadataEntity\n * @param clientId\n * @param environment\n * @param familyId\n */\n static createAppMetadataEntity(clientId: string, environment: string, familyId?: string): AppMetadataEntity {\n const appMetadata = new AppMetadataEntity();\n\n appMetadata.clientId = clientId;\n appMetadata.environment = environment;\n if (familyId) {\n appMetadata.familyId = familyId;\n }\n\n return appMetadata;\n }\n\n /**\n * Validates an entity: checks for all expected params\n * @param entity\n */\n static isAppMetadataEntity(key: string, entity: object): boolean {\n\n if (!entity) {\n return false;\n }\n\n return (\n key.indexOf(APP_METADATA) === 0 &&\n entity.hasOwnProperty(\"clientId\") &&\n entity.hasOwnProperty(\"environment\")\n );\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { SERVER_TELEM_CONSTANTS } from \"../../utils/Constants\";\n\nexport class ServerTelemetryEntity {\n failedRequests: Array;\n errors: string[];\n cacheHits: number;\n\n constructor() {\n this.failedRequests = [];\n this.errors = [];\n this.cacheHits = 0;\n }\n\n /**\n * validates if a given cache entry is \"Telemetry\", parses \n * @param key\n * @param entity\n */\n static isServerTelemetryEntity(key: string, entity?: object): boolean {\n\n const validateKey: boolean = key.indexOf(SERVER_TELEM_CONSTANTS.CACHE_KEY) === 0;\n let validateEntity: boolean = true;\n\n if (entity) {\n validateEntity =\n entity.hasOwnProperty(\"failedRequests\") &&\n entity.hasOwnProperty(\"errors\") &&\n entity.hasOwnProperty(\"cacheHits\");\n }\n\n return validateKey && validateEntity;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { CloudDiscoveryMetadata } from \"../../authority/CloudDiscoveryMetadata\";\nimport { OpenIdConfigResponse } from \"../../authority/OpenIdConfigResponse\";\nimport { AUTHORITY_METADATA_CONSTANTS } from \"../../utils/Constants\";\nimport { TimeUtils } from \"../../utils/TimeUtils\";\n\nexport class AuthorityMetadataEntity {\n aliases: Array;\n preferred_cache: string;\n preferred_network: string;\n canonical_authority: string;\n authorization_endpoint: string;\n token_endpoint: string;\n end_session_endpoint?: string;\n issuer: string;\n aliasesFromNetwork: boolean;\n endpointsFromNetwork: boolean;\n expiresAt: number;\n\n constructor() {\n this.expiresAt = TimeUtils.nowSeconds() + AUTHORITY_METADATA_CONSTANTS.REFRESH_TIME_SECONDS;\n }\n\n /**\n * Update the entity with new aliases, preferred_cache and preferred_network values\n * @param metadata \n * @param fromNetwork \n */\n updateCloudDiscoveryMetadata(metadata: CloudDiscoveryMetadata, fromNetwork: boolean): void {\n this.aliases = metadata.aliases;\n this.preferred_cache = metadata.preferred_cache;\n this.preferred_network = metadata.preferred_network;\n this.aliasesFromNetwork = fromNetwork;\n }\n\n /**\n * Update the entity with new endpoints\n * @param metadata \n * @param fromNetwork \n */\n updateEndpointMetadata(metadata: OpenIdConfigResponse, fromNetwork: boolean): void {\n this.authorization_endpoint = metadata.authorization_endpoint;\n this.token_endpoint = metadata.token_endpoint;\n this.end_session_endpoint = metadata.end_session_endpoint;\n this.issuer = metadata.issuer;\n this.endpointsFromNetwork = fromNetwork;\n }\n\n /**\n * Save the authority that was used to create this cache entry\n * @param authority \n */\n updateCanonicalAuthority(authority: string): void {\n this.canonical_authority = authority;\n }\n\n /**\n * Reset the exiresAt value\n */\n resetExpiresAt(): void {\n this.expiresAt = TimeUtils.nowSeconds() + AUTHORITY_METADATA_CONSTANTS.REFRESH_TIME_SECONDS;\n }\n\n /**\n * Returns whether or not the data needs to be refreshed\n */\n isExpired(): boolean {\n return this.expiresAt <= TimeUtils.nowSeconds();\n }\n\n /**\n * Validates an entity: checks for all expected params\n * @param entity\n */\n static isAuthorityMetadataEntity(key: string, entity: object): boolean {\n\n if (!entity) {\n return false;\n }\n\n return (\n key.indexOf(AUTHORITY_METADATA_CONSTANTS.CACHE_KEY) === 0 &&\n entity.hasOwnProperty(\"aliases\") &&\n entity.hasOwnProperty(\"preferred_cache\") &&\n entity.hasOwnProperty(\"preferred_network\") &&\n entity.hasOwnProperty(\"canonical_authority\") &&\n entity.hasOwnProperty(\"authorization_endpoint\") &&\n entity.hasOwnProperty(\"token_endpoint\") &&\n entity.hasOwnProperty(\"issuer\") &&\n entity.hasOwnProperty(\"aliasesFromNetwork\") &&\n entity.hasOwnProperty(\"endpointsFromNetwork\") &&\n entity.hasOwnProperty(\"expiresAt\")\n );\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ThrottlingConstants } from \"../../utils/Constants\";\n\nexport class ThrottlingEntity {\n // Unix-time value representing the expiration of the throttle\n throttleTime: number;\n // Information provided by the server\n error?: string;\n errorCodes?: Array;\n errorMessage?: string;\n subError?: string;\n\n /**\n * validates if a given cache entry is \"Throttling\", parses \n * @param key\n * @param entity\n */\n static isThrottlingEntity(key: string, entity?: object): boolean {\n \n let validateKey: boolean = false;\n if (key) {\n validateKey = key.indexOf(ThrottlingConstants.THROTTLING_PREFIX) === 0;\n }\n \n let validateEntity: boolean = true;\n if (entity) {\n validateEntity = entity.hasOwnProperty(\"throttleTime\");\n }\n\n return validateKey && validateEntity;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { StringUtils } from \"./StringUtils\";\nimport { Constants } from \"./Constants\";\nimport { ICrypto } from \"../crypto/ICrypto\";\nimport { ClientAuthError } from \"../error/ClientAuthError\";\n\n/**\n * Type which defines the object that is stringified, encoded and sent in the state value.\n * Contains the following:\n * - id - unique identifier for this request\n * - ts - timestamp for the time the request was made. Used to ensure that token expiration is not calculated incorrectly.\n * - platformState - string value sent from the platform.\n */\nexport type LibraryStateObject = {\n id: string,\n meta?: Record\n};\n\n/**\n * Type which defines the stringified and encoded object sent to the service in the authorize request.\n */\nexport type RequestStateObject = {\n userRequestState: string,\n libraryState: LibraryStateObject\n};\n\n/**\n * Class which provides helpers for OAuth 2.0 protocol specific values\n */\nexport class ProtocolUtils {\n\n /**\n * Appends user state with random guid, or returns random guid.\n * @param userState \n * @param randomGuid \n */\n static setRequestState(cryptoObj: ICrypto, userState?: string, meta?: Record): string {\n const libraryState = ProtocolUtils.generateLibraryState(cryptoObj, meta);\n return !StringUtils.isEmpty(userState) ? `${libraryState}${Constants.RESOURCE_DELIM}${userState}` : libraryState;\n }\n\n /**\n * Generates the state value used by the common library.\n * @param randomGuid \n * @param cryptoObj \n */\n static generateLibraryState(cryptoObj: ICrypto, meta?: Record): string {\n if (!cryptoObj) {\n throw ClientAuthError.createNoCryptoObjectError(\"generateLibraryState\");\n }\n\n // Create a state object containing a unique id and the timestamp of the request creation\n const stateObj: LibraryStateObject = {\n id: cryptoObj.createNewGuid()\n };\n\n if (meta) {\n stateObj.meta = meta;\n }\n\n const stateString = JSON.stringify(stateObj);\n\n return cryptoObj.base64Encode(stateString);\n }\n\n /**\n * Parses the state into the RequestStateObject, which contains the LibraryState info and the state passed by the user.\n * @param state \n * @param cryptoObj \n */\n static parseRequestState(cryptoObj: ICrypto, state: string): RequestStateObject {\n if (!cryptoObj) {\n throw ClientAuthError.createNoCryptoObjectError(\"parseRequestState\");\n }\n\n if (StringUtils.isEmpty(state)) {\n throw ClientAuthError.createInvalidStateError(state, \"Null, undefined or empty state\");\n }\n\n try {\n // Split the state between library state and user passed state and decode them separately\n const splitState = state.split(Constants.RESOURCE_DELIM);\n const libraryState = splitState[0];\n const userState = splitState.length > 1 ? splitState.slice(1).join(Constants.RESOURCE_DELIM) : Constants.EMPTY_STRING;\n const libraryStateString = cryptoObj.base64Decode(libraryState);\n const libraryStateObj = JSON.parse(libraryStateString) as LibraryStateObject;\n return {\n userRequestState: !StringUtils.isEmpty(userState) ? userState : Constants.EMPTY_STRING,\n libraryState: libraryStateObj\n };\n } catch(e) {\n throw ClientAuthError.createInvalidStateError(state, e);\n }\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Protocol modes supported by MSAL.\n */\nexport enum ProtocolMode {\n AAD = \"AAD\",\n OIDC = \"OIDC\"\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ProtocolMode } from \"./ProtocolMode\";\nimport { AzureRegionConfiguration } from \"./AzureRegionConfiguration\";\n\nexport type AuthorityOptions = {\n protocolMode: ProtocolMode;\n knownAuthorities: Array;\n cloudDiscoveryMetadata: string;\n authorityMetadata: string;\n azureRegionConfiguration?: AzureRegionConfiguration;\n};\n\nexport enum AzureCloudInstance {\n // AzureCloudInstance is not specified.\n None,\n\n // Microsoft Azure public cloud\n AzurePublic = \"https://login.microsoftonline.com\",\n\n // Microsoft PPE\n AzurePpe = \"https://login.windows-ppe.net\",\n\n // Microsoft Chinese national cloud\n AzureChina = \"https://login.chinacloudapi.cn\",\n\n // Microsoft German national cloud (\"Black Forest\")\n AzureGermany = \"https://login.microsoftonline.de\",\n\n // US Government cloud\n AzureUsGovernment = \"https://login.microsoftonline.us\",\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { BrowserConfigurationAuthError } from \"../error/BrowserConfigurationAuthError\";\nimport { BrowserCacheLocation } from \"../utils/BrowserConstants\";\nimport { IWindowStorage } from \"./IWindowStorage\";\n\nexport class BrowserStorage implements IWindowStorage {\n\n private windowStorage: Storage;\n\n constructor(cacheLocation: string) {\n this.validateWindowStorage(cacheLocation);\n this.windowStorage = window[cacheLocation];\n }\n\n private validateWindowStorage(cacheLocation: string): void {\n if (cacheLocation !== BrowserCacheLocation.LocalStorage && cacheLocation !== BrowserCacheLocation.SessionStorage) {\n throw BrowserConfigurationAuthError.createStorageNotSupportedError(cacheLocation);\n }\n const storageSupported = !!window[cacheLocation];\n if (!storageSupported) {\n throw BrowserConfigurationAuthError.createStorageNotSupportedError(cacheLocation);\n }\n }\n\n getItem(key: string): string | null {\n return this.windowStorage.getItem(key);\n }\n\n setItem(key: string, value: string): void {\n this.windowStorage.setItem(key, value);\n }\n\n removeItem(key: string): void {\n this.windowStorage.removeItem(key);\n }\n\n getKeys(): string[] {\n return Object.keys(this.windowStorage);\n }\n\n containsKey(key: string): boolean {\n return this.windowStorage.hasOwnProperty(key);\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ServerAuthorizationCodeResponse } from \"../response/ServerAuthorizationCodeResponse\";\nimport { ClientConfigurationError } from \"../error/ClientConfigurationError\";\nimport { ClientAuthError } from \"../error/ClientAuthError\";\nimport { StringUtils } from \"../utils/StringUtils\";\nimport { IUri } from \"./IUri\";\nimport { AADAuthorityConstants, Constants } from \"../utils/Constants\";\n\n/**\n * Url object class which can perform various transformations on url strings.\n */\nexport class UrlString {\n\n // internal url string field\n private _urlString: string;\n public get urlString(): string {\n return this._urlString;\n }\n\n constructor(url: string) {\n this._urlString = url;\n if (StringUtils.isEmpty(this._urlString)) {\n // Throws error if url is empty\n throw ClientConfigurationError.createUrlEmptyError();\n }\n\n if (StringUtils.isEmpty(this.getHash())) {\n this._urlString = UrlString.canonicalizeUri(url);\n }\n }\n\n /**\n * Ensure urls are lower case and end with a / character.\n * @param url\n */\n static canonicalizeUri(url: string): string {\n if (url) {\n let lowerCaseUrl = url.toLowerCase();\n\n if (StringUtils.endsWith(lowerCaseUrl, \"?\")) {\n lowerCaseUrl = lowerCaseUrl.slice(0, -1);\n } else if (StringUtils.endsWith(lowerCaseUrl, \"?/\")) {\n lowerCaseUrl = lowerCaseUrl.slice(0, -2);\n }\n\n if (!StringUtils.endsWith(lowerCaseUrl, \"/\")) {\n lowerCaseUrl += \"/\";\n }\n\n return lowerCaseUrl;\n }\n\n return url;\n }\n\n /**\n * Throws if urlString passed is not a valid authority URI string.\n */\n validateAsUri(): void {\n // Attempts to parse url for uri components\n let components;\n try {\n components = this.getUrlComponents();\n } catch (e) {\n throw ClientConfigurationError.createUrlParseError(e);\n }\n\n // Throw error if URI or path segments are not parseable.\n if (!components.HostNameAndPort || !components.PathSegments) {\n throw ClientConfigurationError.createUrlParseError(`Given url string: ${this.urlString}`);\n }\n\n // Throw error if uri is insecure.\n if(!components.Protocol || components.Protocol.toLowerCase() !== \"https:\") {\n throw ClientConfigurationError.createInsecureAuthorityUriError(this.urlString);\n }\n }\n\n /**\n * Given a url and a query string return the url with provided query string appended\n * @param url\n * @param queryString\n */\n static appendQueryString(url: string, queryString: string): string {\n if (StringUtils.isEmpty(queryString)) {\n return url;\n }\n\n return url.indexOf(\"?\") < 0 ? `${url}?${queryString}` : `${url}&${queryString}`;\n }\n\n /**\n * Returns a url with the hash removed\n * @param url\n */\n static removeHashFromUrl(url: string): string {\n return UrlString.canonicalizeUri(url.split(\"#\")[0]);\n }\n\n /**\n * Given a url like https://a:b/common/d?e=f#g, and a tenantId, returns https://a:b/tenantId/d\n * @param href The url\n * @param tenantId The tenant id to replace\n */\n replaceTenantPath(tenantId: string): UrlString {\n const urlObject = this.getUrlComponents();\n const pathArray = urlObject.PathSegments;\n if (tenantId && (pathArray.length !== 0 && (pathArray[0] === AADAuthorityConstants.COMMON || pathArray[0] === AADAuthorityConstants.ORGANIZATIONS))) {\n pathArray[0] = tenantId;\n }\n return UrlString.constructAuthorityUriFromObject(urlObject);\n }\n\n /**\n * Returns the anchor part(#) of the URL\n */\n getHash(): string {\n return UrlString.parseHash(this.urlString);\n }\n\n /**\n * Parses out the components from a url string.\n * @returns An object with the various components. Please cache this value insted of calling this multiple times on the same url.\n */\n getUrlComponents(): IUri {\n // https://gist.github.com/curtisz/11139b2cfcaef4a261e0\n const regEx = RegExp(\"^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\\\?([^#]*))?(#(.*))?\");\n\n // If url string does not match regEx, we throw an error\n const match = this.urlString.match(regEx);\n if (!match) {\n throw ClientConfigurationError.createUrlParseError(`Given url string: ${this.urlString}`);\n }\n\n // Url component object\n const urlComponents = {\n Protocol: match[1],\n HostNameAndPort: match[4],\n AbsolutePath: match[5],\n QueryString: match[7]\n } as IUri;\n\n let pathSegments = urlComponents.AbsolutePath.split(\"/\");\n pathSegments = pathSegments.filter((val) => val && val.length > 0); // remove empty elements\n urlComponents.PathSegments = pathSegments;\n\n if (!StringUtils.isEmpty(urlComponents.QueryString) && urlComponents.QueryString.endsWith(\"/\")) {\n urlComponents.QueryString = urlComponents.QueryString.substring(0, urlComponents.QueryString.length-1);\n }\n return urlComponents;\n }\n\n static getDomainFromUrl(url: string): string {\n const regEx = RegExp(\"^([^:/?#]+://)?([^/?#]*)\");\n\n const match = url.match(regEx);\n\n if (!match) {\n throw ClientConfigurationError.createUrlParseError(`Given url string: ${url}`);\n }\n\n return match[2];\n }\n\n static getAbsoluteUrl(relativeUrl: string, baseUrl: string): string {\n if (relativeUrl[0] === Constants.FORWARD_SLASH) {\n const url = new UrlString(baseUrl);\n const baseComponents = url.getUrlComponents();\n\n return baseComponents.Protocol + \"//\" + baseComponents.HostNameAndPort + relativeUrl;\n }\n\n return relativeUrl;\n }\n\n /**\n * Parses hash string from given string. Returns empty string if no hash symbol is found.\n * @param hashString\n */\n static parseHash(hashString: string): string {\n const hashIndex1 = hashString.indexOf(\"#\");\n const hashIndex2 = hashString.indexOf(\"#/\");\n if (hashIndex2 > -1) {\n return hashString.substring(hashIndex2 + 2);\n } else if (hashIndex1 > -1) {\n return hashString.substring(hashIndex1 + 1);\n }\n return Constants.EMPTY_STRING;\n }\n\n static constructAuthorityUriFromObject(urlObject: IUri): UrlString {\n return new UrlString(urlObject.Protocol + \"//\" + urlObject.HostNameAndPort + \"/\" + urlObject.PathSegments.join(\"/\"));\n }\n\n /**\n * Returns URL hash as server auth code response object.\n */\n static getDeserializedHash(hash: string): ServerAuthorizationCodeResponse {\n // Check if given hash is empty\n if (StringUtils.isEmpty(hash)) {\n return {};\n }\n // Strip the # symbol if present\n const parsedHash = UrlString.parseHash(hash);\n // If # symbol was not present, above will return empty string, so give original hash value\n const deserializedHash: ServerAuthorizationCodeResponse = StringUtils.queryStringToObject(StringUtils.isEmpty(parsedHash) ? hash : parsedHash);\n // Check if deserialization didn't work\n if (!deserializedHash) {\n throw ClientAuthError.createHashNotDeserializedError(JSON.stringify(deserializedHash));\n }\n return deserializedHash;\n }\n\n /**\n * Check if the hash of the URL string contains known properties\n */\n static hashContainsKnownProperties(hash: string): boolean {\n if (StringUtils.isEmpty(hash) || hash.indexOf(\"=\") < 0) {\n // Hash doesn't contain key/value pairs\n return false;\n }\n\n const parameters: ServerAuthorizationCodeResponse = UrlString.getDeserializedHash(hash);\n return !!(\n parameters.code ||\n parameters.error_description ||\n parameters.error ||\n parameters.state\n );\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { InteractionType } from \"./BrowserConstants\";\nimport { StringUtils, ClientAuthError, ICrypto, RequestStateObject, ProtocolUtils, ServerAuthorizationCodeResponse, UrlString } from \"@azure/msal-common\";\n\nexport type BrowserStateObject = {\n interactionType: InteractionType\n};\n\nexport class BrowserProtocolUtils {\n\n /**\n * Extracts the BrowserStateObject from the state string.\n * @param browserCrypto \n * @param state \n */\n static extractBrowserRequestState(browserCrypto: ICrypto, state: string): BrowserStateObject | null {\n if (StringUtils.isEmpty(state)) {\n return null;\n }\n\n try {\n const requestStateObj: RequestStateObject = ProtocolUtils.parseRequestState(browserCrypto, state);\n return requestStateObj.libraryState.meta as BrowserStateObject;\n } catch (e) {\n throw ClientAuthError.createInvalidStateError(state, e);\n }\n }\n\n /**\n * Parses properties of server response from url hash\n * @param locationHash Hash from url\n */\n static parseServerResponseFromHash(locationHash: string): ServerAuthorizationCodeResponse {\n if (!locationHash) {\n return {};\n }\n \n const hashUrlString = new UrlString(locationHash);\n return UrlString.getDeserializedHash(hashUrlString.getHash());\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { Constants, PersistentCacheKeys, StringUtils, CommonAuthorizationCodeRequest, ICrypto, AccountEntity, IdTokenEntity, AccessTokenEntity, RefreshTokenEntity, AppMetadataEntity, CacheManager, ServerTelemetryEntity, ThrottlingEntity, ProtocolUtils, Logger, AuthorityMetadataEntity, DEFAULT_CRYPTO_IMPLEMENTATION, AccountInfo, CcsCredential, CcsCredentialType, IdToken, ValidCredentialType } from \"@azure/msal-common\";\nimport { CacheOptions } from \"../config/Configuration\";\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\nimport { BrowserCacheLocation, InteractionType, TemporaryCacheKeys, InMemoryCacheKeys } from \"../utils/BrowserConstants\";\nimport { BrowserStorage } from \"./BrowserStorage\";\nimport { MemoryStorage } from \"./MemoryStorage\";\nimport { IWindowStorage } from \"./IWindowStorage\";\nimport { BrowserProtocolUtils } from \"../utils/BrowserProtocolUtils\";\n\n/**\n * This class implements the cache storage interface for MSAL through browser local or session storage.\n * Cookies are only used if storeAuthStateInCookie is true, and are only used for\n * parameters such as state and nonce, generally.\n */\nexport class BrowserCacheManager extends CacheManager {\n\n // Cache configuration, either set by user or default values.\n protected cacheConfig: Required;\n // Window storage object (either local or sessionStorage)\n protected browserStorage: IWindowStorage;\n // Internal in-memory storage object used for data used by msal that does not need to persist across page loads\n protected internalStorage: MemoryStorage;\n // Temporary cache\n protected temporaryCacheStorage: IWindowStorage;\n // Client id of application. Used in cache keys to partition cache correctly in the case of multiple instances of MSAL.\n protected logger: Logger;\n\n // Cookie life calculation (hours * minutes * seconds * ms)\n protected readonly COOKIE_LIFE_MULTIPLIER = 24 * 60 * 60 * 1000;\n\n constructor(clientId: string, cacheConfig: Required, cryptoImpl: ICrypto, logger: Logger) {\n super(clientId, cryptoImpl);\n\n this.cacheConfig = cacheConfig;\n this.logger = logger;\n this.internalStorage = new MemoryStorage();\n this.browserStorage = this.setupBrowserStorage(this.cacheConfig.cacheLocation);\n this.temporaryCacheStorage = this.setupTemporaryCacheStorage(this.cacheConfig.cacheLocation);\n\n // Migrate any cache entries from older versions of MSAL.\n this.migrateCacheEntries();\n }\n\n /**\n * Returns a window storage class implementing the IWindowStorage interface that corresponds to the configured cacheLocation.\n * @param cacheLocation\n */\n protected setupBrowserStorage(cacheLocation: BrowserCacheLocation | string): IWindowStorage {\n switch (cacheLocation) {\n case BrowserCacheLocation.LocalStorage:\n case BrowserCacheLocation.SessionStorage:\n try {\n // Temporary cache items will always be stored in session storage to mitigate problems caused by multiple tabs\n return new BrowserStorage(cacheLocation);\n } catch (e) {\n this.logger.verbose(e);\n break;\n }\n case BrowserCacheLocation.MemoryStorage:\n default:\n break;\n }\n this.cacheConfig.cacheLocation = BrowserCacheLocation.MemoryStorage;\n return new MemoryStorage();\n }\n\n /**\n *\n * @param cacheLocation\n */\n protected setupTemporaryCacheStorage(cacheLocation: BrowserCacheLocation | string): IWindowStorage {\n switch (cacheLocation) {\n case BrowserCacheLocation.LocalStorage:\n case BrowserCacheLocation.SessionStorage:\n try {\n // Temporary cache items will always be stored in session storage to mitigate problems caused by multiple tabs\n return new BrowserStorage(BrowserCacheLocation.SessionStorage);\n } catch (e) {\n this.logger.verbose(e);\n return this.internalStorage;\n }\n case BrowserCacheLocation.MemoryStorage:\n default:\n return this.internalStorage;\n }\n }\n\n /**\n * Migrate all old cache entries to new schema. No rollback supported.\n * @param storeAuthStateInCookie\n */\n protected migrateCacheEntries(): void {\n const idTokenKey = `${Constants.CACHE_PREFIX}.${PersistentCacheKeys.ID_TOKEN}`;\n const clientInfoKey = `${Constants.CACHE_PREFIX}.${PersistentCacheKeys.CLIENT_INFO}`;\n const errorKey = `${Constants.CACHE_PREFIX}.${PersistentCacheKeys.ERROR}`;\n const errorDescKey = `${Constants.CACHE_PREFIX}.${PersistentCacheKeys.ERROR_DESC}`;\n\n const idTokenValue = this.browserStorage.getItem(idTokenKey);\n const clientInfoValue = this.browserStorage.getItem(clientInfoKey);\n const errorValue = this.browserStorage.getItem(errorKey);\n const errorDescValue = this.browserStorage.getItem(errorDescKey);\n\n const values = [idTokenValue, clientInfoValue, errorValue, errorDescValue];\n const keysToMigrate = [PersistentCacheKeys.ID_TOKEN, PersistentCacheKeys.CLIENT_INFO, PersistentCacheKeys.ERROR, PersistentCacheKeys.ERROR_DESC];\n\n keysToMigrate.forEach((cacheKey:string, index: number) => this.migrateCacheEntry(cacheKey, values[index]));\n }\n\n /**\n * Utility function to help with migration.\n * @param newKey\n * @param value\n * @param storeAuthStateInCookie\n */\n protected migrateCacheEntry(newKey: string, value: string|null): void {\n if (value) {\n this.setTemporaryCache(newKey, value, true);\n }\n }\n\n /**\n * Parses passed value as JSON object, JSON.parse() will throw an error.\n * @param input\n */\n protected validateAndParseJson(jsonValue: string): object | null {\n try {\n const parsedJson = JSON.parse(jsonValue);\n /**\n * There are edge cases in which JSON.parse will successfully parse a non-valid JSON object\n * (e.g. JSON.parse will parse an escaped string into an unescaped string), so adding a type check\n * of the parsed value is necessary in order to be certain that the string represents a valid JSON object.\n *\n */\n return (parsedJson && typeof parsedJson === \"object\") ? parsedJson : null;\n } catch (error) {\n return null;\n }\n }\n\n /**\n * fetches the entry from the browser storage based off the key\n * @param key\n */\n getItem(key: string): string | null {\n return this.browserStorage.getItem(key);\n }\n\n /**\n * sets the entry in the browser storage\n * @param key\n * @param value\n */\n setItem(key: string, value: string): void {\n this.browserStorage.setItem(key, value);\n }\n\n /**\n * fetch the account entity from the platform cache\n * @param accountKey\n */\n getAccount(accountKey: string): AccountEntity | null {\n const account = this.getItem(accountKey);\n if (!account) {\n return null;\n }\n\n const parsedAccount = this.validateAndParseJson(account);\n if (!parsedAccount || !AccountEntity.isAccountEntity(parsedAccount)) {\n return null;\n }\n\n return CacheManager.toObject(new AccountEntity(), parsedAccount);\n }\n\n /**\n * set account entity in the platform cache\n * @param key\n * @param value\n */\n setAccount(account: AccountEntity): void {\n this.logger.trace(\"BrowserCacheManager.setAccount called\");\n const key = account.generateAccountKey();\n this.setItem(key, JSON.stringify(account));\n }\n\n /**\n * generates idToken entity from a string\n * @param idTokenKey\n */\n getIdTokenCredential(idTokenKey: string): IdTokenEntity | null {\n const value = this.getItem(idTokenKey);\n if (!value) {\n this.logger.trace(\"BrowserCacheManager.getIdTokenCredential: called, no cache hit\");\n return null;\n }\n\n const parsedIdToken = this.validateAndParseJson(value);\n if (!parsedIdToken || !IdTokenEntity.isIdTokenEntity(parsedIdToken)) {\n this.logger.trace(\"BrowserCacheManager.getIdTokenCredential: called, no cache hit\");\n return null;\n }\n\n this.logger.trace(\"BrowserCacheManager.getIdTokenCredential: cache hit\");\n return CacheManager.toObject(new IdTokenEntity(), parsedIdToken);\n }\n\n /**\n * set IdToken credential to the platform cache\n * @param idToken\n */\n setIdTokenCredential(idToken: IdTokenEntity): void {\n this.logger.trace(\"BrowserCacheManager.setIdTokenCredential called\");\n const idTokenKey = idToken.generateCredentialKey();\n this.setItem(idTokenKey, JSON.stringify(idToken));\n }\n\n /**\n * generates accessToken entity from a string\n * @param key\n */\n getAccessTokenCredential(accessTokenKey: string): AccessTokenEntity | null {\n const value = this.getItem(accessTokenKey);\n if (!value) {\n this.logger.trace(\"BrowserCacheManager.getAccessTokenCredential: called, no cache hit\");\n return null;\n }\n const parsedAccessToken = this.validateAndParseJson(value);\n if (!parsedAccessToken || !AccessTokenEntity.isAccessTokenEntity(parsedAccessToken)) {\n this.logger.trace(\"BrowserCacheManager.getAccessTokenCredential: called, no cache hit\");\n return null;\n }\n\n this.logger.trace(\"BrowserCacheManager.getAccessTokenCredential: cache hit\");\n return CacheManager.toObject(new AccessTokenEntity(), parsedAccessToken);\n }\n\n /**\n * set accessToken credential to the platform cache\n * @param accessToken\n */\n setAccessTokenCredential(accessToken: AccessTokenEntity): void {\n this.logger.trace(\"BrowserCacheManager.setAccessTokenCredential called\");\n const accessTokenKey = accessToken.generateCredentialKey();\n this.setItem(accessTokenKey, JSON.stringify(accessToken));\n }\n\n /**\n * generates refreshToken entity from a string\n * @param refreshTokenKey\n */\n getRefreshTokenCredential(refreshTokenKey: string): RefreshTokenEntity | null {\n const value = this.getItem(refreshTokenKey);\n if (!value) {\n this.logger.trace(\"BrowserCacheManager.getRefreshTokenCredential: called, no cache hit\");\n return null;\n }\n const parsedRefreshToken = this.validateAndParseJson(value);\n if (!parsedRefreshToken || !RefreshTokenEntity.isRefreshTokenEntity(parsedRefreshToken)) {\n this.logger.trace(\"BrowserCacheManager.getRefreshTokenCredential: called, no cache hit\");\n return null;\n }\n\n this.logger.trace(\"BrowserCacheManager.getRefreshTokenCredential: cache hit\");\n return CacheManager.toObject(new RefreshTokenEntity(), parsedRefreshToken);\n }\n\n /**\n * set refreshToken credential to the platform cache\n * @param refreshToken\n */\n setRefreshTokenCredential(refreshToken: RefreshTokenEntity): void {\n this.logger.trace(\"BrowserCacheManager.setRefreshTokenCredential called\");\n const refreshTokenKey = refreshToken.generateCredentialKey();\n this.setItem(refreshTokenKey, JSON.stringify(refreshToken));\n }\n\n /**\n * fetch appMetadata entity from the platform cache\n * @param appMetadataKey\n */\n getAppMetadata(appMetadataKey: string): AppMetadataEntity | null {\n const value = this.getItem(appMetadataKey);\n if (!value) {\n this.logger.trace(\"BrowserCacheManager.getAppMetadata: called, no cache hit\");\n return null;\n }\n\n const parsedMetadata = this.validateAndParseJson(value);\n if (!parsedMetadata || !AppMetadataEntity.isAppMetadataEntity(appMetadataKey, parsedMetadata)) {\n this.logger.trace(\"BrowserCacheManager.getAppMetadata: called, no cache hit\");\n return null;\n }\n\n this.logger.trace(\"BrowserCacheManager.getAppMetadata: cache hit\");\n return CacheManager.toObject(new AppMetadataEntity(), parsedMetadata);\n }\n\n /**\n * set appMetadata entity to the platform cache\n * @param appMetadata\n */\n setAppMetadata(appMetadata: AppMetadataEntity): void {\n this.logger.trace(\"BrowserCacheManager.setAppMetadata called\");\n const appMetadataKey = appMetadata.generateAppMetadataKey();\n this.setItem(appMetadataKey, JSON.stringify(appMetadata));\n }\n\n /**\n * fetch server telemetry entity from the platform cache\n * @param serverTelemetryKey\n */\n getServerTelemetry(serverTelemetryKey: string): ServerTelemetryEntity | null {\n const value = this.getItem(serverTelemetryKey);\n if (!value) {\n this.logger.trace(\"BrowserCacheManager.getServerTelemetry: called, no cache hit\");\n return null;\n }\n const parsedMetadata = this.validateAndParseJson(value);\n if (!parsedMetadata || !ServerTelemetryEntity.isServerTelemetryEntity(serverTelemetryKey, parsedMetadata)) {\n this.logger.trace(\"BrowserCacheManager.getServerTelemetry: called, no cache hit\");\n return null;\n }\n\n this.logger.trace(\"BrowserCacheManager.getServerTelemetry: cache hit\");\n return CacheManager.toObject(new ServerTelemetryEntity(), parsedMetadata);\n }\n\n /**\n * set server telemetry entity to the platform cache\n * @param serverTelemetryKey\n * @param serverTelemetry\n */\n setServerTelemetry(serverTelemetryKey: string, serverTelemetry: ServerTelemetryEntity): void {\n this.logger.trace(\"BrowserCacheManager.setServerTelemetry called\");\n this.setItem(serverTelemetryKey, JSON.stringify(serverTelemetry));\n }\n\n /**\n *\n */\n getAuthorityMetadata(key: string) : AuthorityMetadataEntity | null {\n const value = this.internalStorage.getItem(key);\n if (!value) {\n this.logger.trace(\"BrowserCacheManager.getAuthorityMetadata: called, no cache hit\");\n return null;\n }\n const parsedMetadata = this.validateAndParseJson(value);\n if (parsedMetadata && AuthorityMetadataEntity.isAuthorityMetadataEntity(key, parsedMetadata)) {\n this.logger.trace(\"BrowserCacheManager.getAuthorityMetadata: cache hit\");\n return CacheManager.toObject(new AuthorityMetadataEntity(), parsedMetadata);\n }\n return null;\n }\n\n /**\n *\n */\n getAuthorityMetadataKeys(): Array {\n const allKeys = this.internalStorage.getKeys();\n return allKeys.filter((key) => {\n return this.isAuthorityMetadata(key);\n });\n }\n\n /**\n * Sets wrapper metadata in memory\n * @param wrapperSKU \n * @param wrapperVersion \n */\n setWrapperMetadata(wrapperSKU: string, wrapperVersion: string): void {\n this.internalStorage.setItem(InMemoryCacheKeys.WRAPPER_SKU, wrapperSKU);\n this.internalStorage.setItem(InMemoryCacheKeys.WRAPPER_VER, wrapperVersion);\n }\n\n /**\n * Returns wrapper metadata from in-memory storage\n */\n getWrapperMetadata(): [string, string] {\n const sku = this.internalStorage.getItem(InMemoryCacheKeys.WRAPPER_SKU) || \"\";\n const version = this.internalStorage.getItem(InMemoryCacheKeys.WRAPPER_VER) || \"\";\n return [sku, version];\n }\n\n /**\n *\n * @param entity\n */\n setAuthorityMetadata(key: string, entity: AuthorityMetadataEntity): void {\n this.logger.trace(\"BrowserCacheManager.setAuthorityMetadata called\");\n this.internalStorage.setItem(key, JSON.stringify(entity));\n }\n\n /**\n * Gets the active account\n */\n getActiveAccount(): AccountInfo | null {\n const activeAccountIdKey = this.generateCacheKey(PersistentCacheKeys.ACTIVE_ACCOUNT);\n const activeAccountId = this.browserStorage.getItem(activeAccountIdKey);\n if (!activeAccountId) {\n return null;\n }\n return this.getAccountInfoByFilter({localAccountId: activeAccountId})[0] || null;\n }\n\n /**\n * Sets the active account's localAccountId in cache\n * @param account \n */\n setActiveAccount(account: AccountInfo | null): void {\n const activeAccountIdKey = this.generateCacheKey(PersistentCacheKeys.ACTIVE_ACCOUNT);\n if (account) {\n this.logger.verbose(\"setActiveAccount: Active account set\");\n this.browserStorage.setItem(activeAccountIdKey, account.localAccountId);\n } else {\n this.logger.verbose(\"setActiveAccount: No account passed, active account not set\");\n this.browserStorage.removeItem(activeAccountIdKey);\n }\n }\n\n /**\n * Gets a list of accounts that match all of the filters provided\n * @param account \n */\n getAccountInfoByFilter(accountFilter: Partial>): AccountInfo[] {\n const allAccounts = this.getAllAccounts();\n return allAccounts.filter((accountObj) => {\n if (accountFilter.username && accountFilter.username.toLowerCase() !== accountObj.username.toLowerCase()) {\n return false;\n }\n\n if (accountFilter.homeAccountId && accountFilter.homeAccountId !== accountObj.homeAccountId) {\n return false;\n }\n\n if (accountFilter.localAccountId && accountFilter.localAccountId !== accountObj.localAccountId) {\n return false;\n }\n\n if (accountFilter.tenantId && accountFilter.tenantId !== accountObj.tenantId) {\n return false;\n }\n\n if (accountFilter.environment && accountFilter.environment !== accountObj.environment) {\n return false;\n }\n \n return true;\n });\n }\n\n /**\n * fetch throttling entity from the platform cache\n * @param throttlingCacheKey\n */\n getThrottlingCache(throttlingCacheKey: string): ThrottlingEntity | null {\n const value = this.getItem(throttlingCacheKey);\n if (!value) {\n this.logger.trace(\"BrowserCacheManager.getThrottlingCache: called, no cache hit\");\n return null;\n }\n\n const parsedThrottlingCache = this.validateAndParseJson(value);\n if (!parsedThrottlingCache || !ThrottlingEntity.isThrottlingEntity(throttlingCacheKey, parsedThrottlingCache)) {\n this.logger.trace(\"BrowserCacheManager.getThrottlingCache: called, no cache hit\");\n return null;\n }\n\n this.logger.trace(\"BrowserCacheManager.getThrottlingCache: cache hit\");\n return CacheManager.toObject(new ThrottlingEntity(), parsedThrottlingCache);\n }\n\n /**\n * set throttling entity to the platform cache\n * @param throttlingCacheKey\n * @param throttlingCache\n */\n setThrottlingCache(throttlingCacheKey: string, throttlingCache: ThrottlingEntity): void {\n this.logger.trace(\"BrowserCacheManager.setThrottlingCache called\");\n this.setItem(throttlingCacheKey, JSON.stringify(throttlingCache));\n }\n\n /**\n * Gets cache item with given key.\n * Will retrieve from cookies if storeAuthStateInCookie is set to true.\n * @param key\n */\n getTemporaryCache(cacheKey: string, generateKey?: boolean): string | null {\n const key = generateKey ? this.generateCacheKey(cacheKey) : cacheKey;\n if (this.cacheConfig.storeAuthStateInCookie) {\n const itemCookie = this.getItemCookie(key);\n if (itemCookie) {\n this.logger.trace(\"BrowserCacheManager.getTemporaryCache: storeAuthStateInCookies set to true, retrieving from cookies\");\n return itemCookie;\n }\n }\n\n const value = this.temporaryCacheStorage.getItem(key);\n if (!value) {\n // If temp cache item not found in session/memory, check local storage for items set by old versions\n if (this.cacheConfig.cacheLocation === BrowserCacheLocation.LocalStorage) {\n const item = this.browserStorage.getItem(key);\n if (item) {\n this.logger.trace(\"BrowserCacheManager.getTemporaryCache: Temporary cache item found in local storage\");\n return item;\n }\n }\n this.logger.trace(\"BrowserCacheManager.getTemporaryCache: No cache item found in local storage\");\n return null;\n }\n this.logger.trace(\"BrowserCacheManager.getTemporaryCache: Temporary cache item returned\");\n return value;\n }\n\n /**\n * Sets the cache item with the key and value given.\n * Stores in cookie if storeAuthStateInCookie is set to true.\n * This can cause cookie overflow if used incorrectly.\n * @param key\n * @param value\n */\n setTemporaryCache(cacheKey: string, value: string, generateKey?: boolean): void {\n const key = generateKey ? this.generateCacheKey(cacheKey) : cacheKey;\n\n this.temporaryCacheStorage.setItem(key, value);\n if (this.cacheConfig.storeAuthStateInCookie) {\n this.logger.trace(\"BrowserCacheManager.setTemporaryCache: storeAuthStateInCookie set to true, setting item cookie\");\n this.setItemCookie(key, value);\n }\n }\n\n /**\n * Removes the cache item with the given key.\n * Will also clear the cookie item if storeAuthStateInCookie is set to true.\n * @param key\n */\n removeItem(key: string): boolean {\n this.browserStorage.removeItem(key);\n this.temporaryCacheStorage.removeItem(key);\n if (this.cacheConfig.storeAuthStateInCookie) {\n this.logger.trace(\"BrowserCacheManager.removeItem: storeAuthStateInCookie is true, clearing item cookie\");\n this.clearItemCookie(key);\n }\n return true;\n }\n\n /**\n * Checks whether key is in cache.\n * @param key\n */\n containsKey(key: string): boolean {\n return this.browserStorage.containsKey(key) || this.temporaryCacheStorage.containsKey(key);\n }\n\n /**\n * Gets all keys in window.\n */\n getKeys(): string[] {\n return [\n ...this.browserStorage.getKeys(),\n ...this.temporaryCacheStorage.getKeys()\n ];\n }\n\n /**\n * Clears all cache entries created by MSAL.\n */\n async clear(): Promise {\n // Removes all accounts and their credentials\n await this.removeAllAccounts();\n this.removeAppMetadata();\n\n // Removes all remaining MSAL cache items\n this.getKeys().forEach((cacheKey: string) => {\n // Check if key contains msal prefix; For now, we are clearing all the cache items created by MSAL.js\n if ((this.browserStorage.containsKey(cacheKey) || this.temporaryCacheStorage.containsKey(cacheKey)) && ((cacheKey.indexOf(Constants.CACHE_PREFIX) !== -1) || (cacheKey.indexOf(this.clientId) !== -1))) {\n this.removeItem(cacheKey);\n }\n });\n\n this.internalStorage.clear();\n }\n\n /**\n * Add value to cookies\n * @param cookieName\n * @param cookieValue\n * @param expires\n */\n setItemCookie(cookieName: string, cookieValue: string, expires?: number): void {\n let cookieStr = `${encodeURIComponent(cookieName)}=${encodeURIComponent(cookieValue)};path=/;`;\n if (expires) {\n const expireTime = this.getCookieExpirationTime(expires);\n cookieStr += `expires=${expireTime};`;\n }\n\n if (this.cacheConfig.secureCookies) {\n cookieStr += \"Secure;\";\n }\n \n document.cookie = cookieStr;\n }\n\n /**\n * Get one item by key from cookies\n * @param cookieName\n */\n getItemCookie(cookieName: string): string {\n const name = `${encodeURIComponent(cookieName)}=`;\n const cookieList = document.cookie.split(\";\");\n for (let i: number = 0; i < cookieList.length; i++) {\n let cookie = cookieList[i];\n while (cookie.charAt(0) === \" \") {\n cookie = cookie.substring(1);\n }\n if (cookie.indexOf(name) === 0) {\n return decodeURIComponent(cookie.substring(name.length, cookie.length));\n }\n }\n return \"\";\n }\n\n /**\n * Clear all msal-related cookies currently set in the browser. Should only be used to clear temporary cache items.\n */\n clearMsalCookies(): void {\n const cookiePrefix = `${Constants.CACHE_PREFIX}.${this.clientId}`;\n const cookieList = document.cookie.split(\";\");\n cookieList.forEach((cookie: string): void => {\n while (cookie.charAt(0) === \" \") {\n // eslint-disable-next-line no-param-reassign\n cookie = cookie.substring(1);\n }\n if (cookie.indexOf(cookiePrefix) === 0) {\n const cookieKey = cookie.split(\"=\")[0];\n this.clearItemCookie(cookieKey);\n }\n });\n }\n\n /**\n * Clear an item in the cookies by key\n * @param cookieName\n */\n clearItemCookie(cookieName: string): void {\n this.setItemCookie(cookieName, \"\", -1);\n }\n\n /**\n * Get cookie expiration time\n * @param cookieLifeDays\n */\n getCookieExpirationTime(cookieLifeDays: number): string {\n const today = new Date();\n const expr = new Date(today.getTime() + cookieLifeDays * this.COOKIE_LIFE_MULTIPLIER);\n return expr.toUTCString();\n }\n\n /**\n * Gets the cache object referenced by the browser\n */\n getCache(): object {\n return this.browserStorage;\n }\n\n /**\n * interface compat, we cannot overwrite browser cache; Functionality is supported by individual entities in browser\n */\n setCache(): void {\n // sets nothing\n }\n\n /**\n * Prepend msal. to each key; Skip for any JSON object as Key (defined schemas do not need the key appended: AccessToken Keys or the upcoming schema)\n * @param key\n * @param addInstanceId\n */\n generateCacheKey(key: string): string {\n const generatedKey = this.validateAndParseJson(key);\n if (!generatedKey) {\n if (StringUtils.startsWith(key, Constants.CACHE_PREFIX) || StringUtils.startsWith(key, PersistentCacheKeys.ADAL_ID_TOKEN)) {\n return key;\n }\n return `${Constants.CACHE_PREFIX}.${this.clientId}.${key}`;\n }\n\n return JSON.stringify(key);\n }\n\n /**\n * Create authorityKey to cache authority\n * @param state\n */\n generateAuthorityKey(stateString: string): string {\n const {\n libraryState: {\n id: stateId\n }\n } = ProtocolUtils.parseRequestState(this.cryptoImpl, stateString);\n\n return this.generateCacheKey(`${TemporaryCacheKeys.AUTHORITY}.${stateId}`);\n }\n\n /**\n * Create Nonce key to cache nonce\n * @param state\n */\n generateNonceKey(stateString: string): string {\n const {\n libraryState: {\n id: stateId\n }\n } = ProtocolUtils.parseRequestState(this.cryptoImpl, stateString);\n\n return this.generateCacheKey(`${TemporaryCacheKeys.NONCE_IDTOKEN}.${stateId}`);\n }\n\n /**\n * Creates full cache key for the request state\n * @param stateString State string for the request\n */\n generateStateKey(stateString: string): string {\n // Use the library state id to key temp storage for uniqueness for multiple concurrent requests\n const {\n libraryState: {\n id: stateId\n }\n } = ProtocolUtils.parseRequestState(this.cryptoImpl, stateString);\n return this.generateCacheKey(`${TemporaryCacheKeys.REQUEST_STATE}.${stateId}`);\n } \n\n /**\n * Gets the cached authority based on the cached state. Returns empty if no cached state found.\n */\n getCachedAuthority(cachedState: string): string | null {\n const stateCacheKey = this.generateStateKey(cachedState);\n const state = this.getTemporaryCache(stateCacheKey);\n if (!state) {\n return null;\n }\n\n const authorityCacheKey = this.generateAuthorityKey(state);\n return this.getTemporaryCache(authorityCacheKey);\n }\n\n /**\n * Updates account, authority, and state in cache\n * @param serverAuthenticationRequest\n * @param account\n */\n updateCacheEntries(state: string, nonce: string, authorityInstance: string, loginHint: string, account: AccountInfo|null): void {\n this.logger.trace(\"BrowserCacheManager.updateCacheEntries called\");\n // Cache the request state\n const stateCacheKey = this.generateStateKey(state);\n this.setTemporaryCache(stateCacheKey, state, false);\n\n // Cache the nonce\n const nonceCacheKey = this.generateNonceKey(state);\n this.setTemporaryCache(nonceCacheKey, nonce, false);\n\n // Cache authorityKey\n const authorityCacheKey = this.generateAuthorityKey(state);\n this.setTemporaryCache(authorityCacheKey, authorityInstance, false);\n\n if (account) {\n const ccsCredential: CcsCredential = {\n credential: account.homeAccountId,\n type: CcsCredentialType.HOME_ACCOUNT_ID\n };\n this.setTemporaryCache(TemporaryCacheKeys.CCS_CREDENTIAL, JSON.stringify(ccsCredential), true);\n } else if (!StringUtils.isEmpty(loginHint)) {\n const ccsCredential: CcsCredential = {\n credential: loginHint,\n type: CcsCredentialType.UPN\n };\n this.setTemporaryCache(TemporaryCacheKeys.CCS_CREDENTIAL, JSON.stringify(ccsCredential), true);\n }\n }\n\n /**\n * Reset all temporary cache items\n * @param state\n */\n resetRequestCache(state: string): void {\n this.logger.trace(\"BrowserCacheManager.resetRequestCache called\");\n // check state and remove associated cache items\n if (!StringUtils.isEmpty(state)) {\n this.getKeys().forEach(key => {\n if (key.indexOf(state) !== -1) {\n this.removeItem(key);\n }\n });\n }\n\n // delete generic interactive request parameters\n if (state) {\n this.removeItem(this.generateStateKey(state));\n this.removeItem(this.generateNonceKey(state));\n this.removeItem(this.generateAuthorityKey(state));\n }\n this.removeItem(this.generateCacheKey(TemporaryCacheKeys.REQUEST_PARAMS));\n this.removeItem(this.generateCacheKey(TemporaryCacheKeys.ORIGIN_URI));\n this.removeItem(this.generateCacheKey(TemporaryCacheKeys.URL_HASH));\n this.removeItem(this.generateCacheKey(TemporaryCacheKeys.CORRELATION_ID));\n this.removeItem(this.generateCacheKey(TemporaryCacheKeys.CCS_CREDENTIAL));\n this.setInteractionInProgress(false);\n }\n\n /**\n * Removes temporary cache for the provided state\n * @param stateString \n */\n cleanRequestByState(stateString: string): void {\n this.logger.trace(\"BrowserCacheManager.cleanRequestByState called\");\n // Interaction is completed - remove interaction status.\n if (stateString) {\n const stateKey = this.generateStateKey(stateString);\n const cachedState = this.temporaryCacheStorage.getItem(stateKey);\n this.logger.infoPii(`BrowserCacheManager.cleanRequestByState: Removing temporary cache items for state: ${cachedState}`);\n this.resetRequestCache(cachedState || \"\");\n }\n this.clearMsalCookies();\n }\n\n /**\n * Looks in temporary cache for any state values with the provided interactionType and removes all temporary cache items for that state\n * Used in scenarios where temp cache needs to be cleaned but state is not known, such as clicking browser back button.\n * @param interactionType \n */\n cleanRequestByInteractionType(interactionType: InteractionType): void {\n this.logger.trace(\"BrowserCacheManager.cleanRequestByInteractionType called\");\n // Loop through all keys to find state key\n this.getKeys().forEach((key) => {\n // If this key is not the state key, move on\n if (key.indexOf(TemporaryCacheKeys.REQUEST_STATE) === -1) {\n return;\n }\n \n // Retrieve state value, return if not a valid value\n const stateValue = this.temporaryCacheStorage.getItem(key);\n if (!stateValue) {\n return;\n }\n // Extract state and ensure it matches given InteractionType, then clean request cache\n const parsedState = BrowserProtocolUtils.extractBrowserRequestState(this.cryptoImpl, stateValue);\n if (parsedState && parsedState.interactionType === interactionType) {\n this.logger.infoPii(`BrowserCacheManager.cleanRequestByInteractionType: Removing temporary cache items for state: ${stateValue}`);\n this.resetRequestCache(stateValue);\n }\n });\n this.clearMsalCookies();\n this.setInteractionInProgress(false);\n }\n\n cacheCodeRequest(authCodeRequest: CommonAuthorizationCodeRequest, browserCrypto: ICrypto): void {\n this.logger.trace(\"BrowserCacheManager.cacheCodeRequest called\");\n\n const encodedValue = browserCrypto.base64Encode(JSON.stringify(authCodeRequest));\n this.setTemporaryCache(TemporaryCacheKeys.REQUEST_PARAMS, encodedValue, true);\n }\n\n /**\n * Gets the token exchange parameters from the cache. Throws an error if nothing is found.\n */\n getCachedRequest(state: string, browserCrypto: ICrypto): CommonAuthorizationCodeRequest {\n this.logger.trace(\"BrowserCacheManager.getCachedRequest called\");\n // Get token request from cache and parse as TokenExchangeParameters.\n const encodedTokenRequest = this.getTemporaryCache(TemporaryCacheKeys.REQUEST_PARAMS, true);\n if (!encodedTokenRequest) {\n throw BrowserAuthError.createNoTokenRequestCacheError();\n }\n\n const parsedRequest = this.validateAndParseJson(browserCrypto.base64Decode(encodedTokenRequest)) as CommonAuthorizationCodeRequest;\n if (!parsedRequest) {\n throw BrowserAuthError.createUnableToParseTokenRequestCacheError();\n }\n this.removeItem(this.generateCacheKey(TemporaryCacheKeys.REQUEST_PARAMS));\n\n // Get cached authority and use if no authority is cached with request.\n if (StringUtils.isEmpty(parsedRequest.authority)) {\n const authorityCacheKey: string = this.generateAuthorityKey(state);\n const cachedAuthority = this.getTemporaryCache(authorityCacheKey);\n if (!cachedAuthority) {\n throw BrowserAuthError.createNoCachedAuthorityError();\n }\n parsedRequest.authority = cachedAuthority;\n }\n\n return parsedRequest;\n }\n\n isInteractionInProgress(matchClientId?: boolean): boolean {\n const clientId = this.getInteractionInProgress();\n\n if (matchClientId) {\n return clientId === this.clientId;\n } else {\n return !!clientId;\n }\n }\n\n getInteractionInProgress(): string | null {\n const key = `${Constants.CACHE_PREFIX}.${TemporaryCacheKeys.INTERACTION_STATUS_KEY}`;\n return this.getTemporaryCache(key, false);\n }\n\n setInteractionInProgress(inProgress: boolean): void {\n // Ensure we don't overwrite interaction in progress for a different clientId\n const key = `${Constants.CACHE_PREFIX}.${TemporaryCacheKeys.INTERACTION_STATUS_KEY}`;\n if (inProgress) {\n if (this.getInteractionInProgress()) {\n throw BrowserAuthError.createInteractionInProgressError();\n } else {\n // No interaction is in progress\n this.setTemporaryCache(key, this.clientId, false);\n }\n } else if (!inProgress && this.getInteractionInProgress() === this.clientId) {\n this.removeItem(key);\n }\n }\n\n /**\n * Returns username retrieved from ADAL or MSAL v1 idToken\n */\n getLegacyLoginHint(): string | null {\n // Only check for adal/msal token if no SSO params are being used\n const adalIdTokenString = this.getTemporaryCache(PersistentCacheKeys.ADAL_ID_TOKEN);\n if (adalIdTokenString) {\n this.browserStorage.removeItem(PersistentCacheKeys.ADAL_ID_TOKEN);\n this.logger.verbose(\"Cached ADAL id token retrieved.\");\n }\n\n // Check for cached MSAL v1 id token\n const msalIdTokenString = this.getTemporaryCache(PersistentCacheKeys.ID_TOKEN, true);\n if (msalIdTokenString) {\n this.removeItem(this.generateCacheKey(PersistentCacheKeys.ID_TOKEN));\n this.logger.verbose(\"Cached MSAL.js v1 id token retrieved\");\n }\n\n const cachedIdTokenString = msalIdTokenString || adalIdTokenString;\n if (cachedIdTokenString) {\n const cachedIdToken = new IdToken(cachedIdTokenString, this.cryptoImpl);\n if (cachedIdToken.claims && cachedIdToken.claims.preferred_username) {\n this.logger.verbose(\"No SSO params used and ADAL/MSAL v1 token retrieved, setting ADAL/MSAL v1 preferred_username as loginHint\");\n return cachedIdToken.claims.preferred_username;\n }\n else if (cachedIdToken.claims && cachedIdToken.claims.upn) {\n this.logger.verbose(\"No SSO params used and ADAL/MSAL v1 token retrieved, setting ADAL/MSAL v1 upn as loginHint\");\n return cachedIdToken.claims.upn;\n }\n else {\n this.logger.verbose(\"No SSO params used and ADAL/MSAL v1 token retrieved, however, no account hint claim found. Enable preferred_username or upn id token claim to get SSO.\");\n }\n }\n\n return null;\n }\n\n /**\n * Updates a credential's cache key if the current cache key is outdated\n */\n updateCredentialCacheKey(currentCacheKey: string, credential: ValidCredentialType): string {\n const updatedCacheKey = credential.generateCredentialKey();\n\n if (currentCacheKey !== updatedCacheKey) {\n const cacheItem = this.getItem(currentCacheKey);\n if (cacheItem) {\n this.removeItem(currentCacheKey);\n this.setItem(updatedCacheKey, cacheItem);\n this.logger.verbose(`Updated an outdated ${credential.credentialType} cache key`);\n return updatedCacheKey;\n } else {\n this.logger.error(`Attempted to update an outdated ${credential.credentialType} cache key but no item matching the outdated key was found in storage`);\n }\n }\n\n return currentCacheKey;\n }\n}\n\nexport const DEFAULT_BROWSER_CACHE_MANAGER = (clientId: string, logger: Logger): BrowserCacheManager => {\n const cacheOptions = {\n cacheLocation: BrowserCacheLocation.MemoryStorage,\n storeAuthStateInCookie: false,\n secureCookies: false\n };\n return new BrowserCacheManager(clientId, cacheOptions, DEFAULT_CRYPTO_IMPLEMENTATION, logger);\n};\n","/* eslint-disable header/header */\nexport const name = \"@azure/msal-common\";\nexport const version = \"6.4.0\";\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { INetworkModule } from \"../network/INetworkModule\";\nimport { DEFAULT_CRYPTO_IMPLEMENTATION, ICrypto } from \"../crypto/ICrypto\";\nimport { AuthError } from \"../error/AuthError\";\nimport { ILoggerCallback, LogLevel } from \"../logger/Logger\";\nimport { Constants } from \"../utils/Constants\";\nimport { version } from \"../packageMetadata\";\nimport { Authority } from \"../authority/Authority\";\nimport { AzureCloudInstance } from \"../authority/AuthorityOptions\";\nimport { CacheManager, DefaultStorageClass } from \"../cache/CacheManager\";\nimport { ServerTelemetryManager } from \"../telemetry/server/ServerTelemetryManager\";\nimport { ICachePlugin } from \"../cache/interface/ICachePlugin\";\nimport { ISerializableTokenCache } from \"../cache/interface/ISerializableTokenCache\";\n\n// Token renewal offset default in seconds\nconst DEFAULT_TOKEN_RENEWAL_OFFSET_SEC = 300;\n\n/**\n * Use the configuration object to configure MSAL Modules and initialize the base interfaces for MSAL.\n *\n * This object allows you to configure important elements of MSAL functionality:\n * - authOptions - Authentication for application\n * - cryptoInterface - Implementation of crypto functions\n * - libraryInfo - Library metadata\n * - telemetry - Telemetry options and data\n * - loggerOptions - Logging for application\n * - networkInterface - Network implementation\n * - storageInterface - Storage implementation\n * - systemOptions - Additional library options\n * - clientCredentials - Credentials options for confidential clients\n */\nexport type ClientConfiguration = {\n authOptions: AuthOptions,\n systemOptions?: SystemOptions,\n loggerOptions?: LoggerOptions,\n storageInterface?: CacheManager,\n networkInterface?: INetworkModule,\n cryptoInterface?: ICrypto,\n clientCredentials?: ClientCredentials,\n libraryInfo?: LibraryInfo\n telemetry?: TelemetryOptions,\n serverTelemetryManager?: ServerTelemetryManager | null,\n persistencePlugin?: ICachePlugin | null,\n serializableCache?: ISerializableTokenCache | null\n};\n\nexport type CommonClientConfiguration = {\n authOptions: Required,\n systemOptions: Required,\n loggerOptions : Required,\n storageInterface: CacheManager,\n networkInterface : INetworkModule,\n cryptoInterface : Required,\n libraryInfo : LibraryInfo,\n telemetry: Required,\n serverTelemetryManager: ServerTelemetryManager | null,\n clientCredentials: ClientCredentials,\n persistencePlugin: ICachePlugin | null,\n serializableCache: ISerializableTokenCache | null\n};\n\n/**\n * Use this to configure the auth options in the ClientConfiguration object\n *\n * - clientId - Client ID of your app registered with our Application registration portal : https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/RegisteredAppsPreview in Microsoft Identity Platform\n * - authority - You can configure a specific authority, defaults to \" \" or \"https://login.microsoftonline.com/common\"\n * - knownAuthorities - An array of URIs that are known to be valid. Used in B2C scenarios.\n * - cloudDiscoveryMetadata - A string containing the cloud discovery response. Used in AAD scenarios.\n * - clientCapabilities - Array of capabilities which will be added to the claims.access_token.xms_cc request property on every network request.\n * - protocolMode - Enum that represents the protocol that msal follows. Used for configuring proper endpoints.\n */\nexport type AuthOptions = {\n clientId: string;\n authority: Authority;\n clientCapabilities?: Array;\n azureCloudOptions?: AzureCloudOptions;\n};\n\n/**\n * Use this to configure token renewal info in the Configuration object\n *\n * - tokenRenewalOffsetSeconds - Sets the window of offset needed to renew the token before expiry\n */\nexport type SystemOptions = {\n tokenRenewalOffsetSeconds?: number;\n preventCorsPreflight?: boolean;\n proxyUrl?: string;\n};\n\n/**\n * Use this to configure the logging that MSAL does, by configuring logger options in the Configuration object\n *\n * - loggerCallback - Callback for logger\n * - piiLoggingEnabled - Sets whether pii logging is enabled\n * - logLevel - Sets the level at which logging happens\n * - correlationId - Sets the correlationId printed by the logger\n */\nexport type LoggerOptions = {\n loggerCallback?: ILoggerCallback,\n piiLoggingEnabled?: boolean,\n logLevel?: LogLevel,\n correlationId?: string\n};\n\n/**\n * Library-specific options\n */\nexport type LibraryInfo = {\n sku: string,\n version: string,\n cpu: string,\n os: string\n};\n\n/**\n * Credentials for confidential clients\n */\n\nexport type ClientAssertion = {\n assertion: string,\n assertionType: string\n};\n\nexport type ClientCredentials = {\n clientSecret?: string,\n clientAssertion?: ClientAssertion\n};\n\n/**\n * AzureCloudInstance specific options\n *\n * - azureCloudInstance - string enum providing short notation for soverign and public cloud authorities\n * - tenant - provision to provide the tenant info\n */\nexport type AzureCloudOptions = {\n azureCloudInstance: AzureCloudInstance;\n tenant?: string,\n};\n\nexport type TelemetryOptions = {\n application: ApplicationTelemetry;\n};\n\n/**\n * Telemetry information sent on request\n * - appName: Unique string name of an application\n * - appVersion: Version of the application using MSAL\n */\nexport type ApplicationTelemetry = {\n appName: string;\n appVersion: string;\n};\n\nexport const DEFAULT_SYSTEM_OPTIONS: Required = {\n tokenRenewalOffsetSeconds: DEFAULT_TOKEN_RENEWAL_OFFSET_SEC,\n preventCorsPreflight: false,\n proxyUrl: Constants.EMPTY_STRING\n};\n\nconst DEFAULT_LOGGER_IMPLEMENTATION: Required = {\n loggerCallback: () => {\n // allow users to not set loggerCallback\n },\n piiLoggingEnabled: false,\n logLevel: LogLevel.Info,\n correlationId: Constants.EMPTY_STRING\n};\n\nconst DEFAULT_NETWORK_IMPLEMENTATION: INetworkModule = {\n async sendGetRequestAsync(): Promise {\n const notImplErr = \"Network interface - sendGetRequestAsync() has not been implemented\";\n throw AuthError.createUnexpectedError(notImplErr);\n },\n async sendPostRequestAsync(): Promise {\n const notImplErr = \"Network interface - sendPostRequestAsync() has not been implemented\";\n throw AuthError.createUnexpectedError(notImplErr);\n }\n};\n\nconst DEFAULT_LIBRARY_INFO: LibraryInfo = {\n sku: Constants.SKU,\n version: version,\n cpu: Constants.EMPTY_STRING,\n os: Constants.EMPTY_STRING\n};\n\nconst DEFAULT_CLIENT_CREDENTIALS: ClientCredentials = {\n clientSecret: Constants.EMPTY_STRING,\n clientAssertion: undefined\n};\n\nconst DEFAULT_AZURE_CLOUD_OPTIONS: AzureCloudOptions = {\n azureCloudInstance: AzureCloudInstance.None,\n tenant: `${Constants.DEFAULT_COMMON_TENANT}`\n};\n\nconst DEFAULT_TELEMETRY_OPTIONS: Required = {\n application: {\n appName: \"\",\n appVersion: \"\"\n }\n};\n\n/**\n * Function that sets the default options when not explicitly configured from app developer\n *\n * @param Configuration\n *\n * @returns Configuration\n */\nexport function buildClientConfiguration(\n {\n authOptions: userAuthOptions,\n systemOptions: userSystemOptions,\n loggerOptions: userLoggerOption,\n storageInterface: storageImplementation,\n networkInterface: networkImplementation,\n cryptoInterface: cryptoImplementation,\n clientCredentials: clientCredentials,\n libraryInfo: libraryInfo,\n telemetry: telemetry,\n serverTelemetryManager: serverTelemetryManager,\n persistencePlugin: persistencePlugin,\n serializableCache: serializableCache\n }: ClientConfiguration): CommonClientConfiguration {\n\n const loggerOptions = { ...DEFAULT_LOGGER_IMPLEMENTATION, ...userLoggerOption };\n\n return {\n authOptions: buildAuthOptions(userAuthOptions),\n systemOptions: { ...DEFAULT_SYSTEM_OPTIONS, ...userSystemOptions },\n loggerOptions: loggerOptions,\n storageInterface: storageImplementation || new DefaultStorageClass(userAuthOptions.clientId, DEFAULT_CRYPTO_IMPLEMENTATION),\n networkInterface: networkImplementation || DEFAULT_NETWORK_IMPLEMENTATION,\n cryptoInterface: cryptoImplementation || DEFAULT_CRYPTO_IMPLEMENTATION,\n clientCredentials: clientCredentials || DEFAULT_CLIENT_CREDENTIALS,\n libraryInfo: { ...DEFAULT_LIBRARY_INFO, ...libraryInfo },\n telemetry: { ...DEFAULT_TELEMETRY_OPTIONS, ...telemetry },\n serverTelemetryManager: serverTelemetryManager || null,\n persistencePlugin: persistencePlugin || null,\n serializableCache: serializableCache || null\n };\n}\n\n/**\n * Construct authoptions from the client and platform passed values\n * @param authOptions\n */\nfunction buildAuthOptions(authOptions: AuthOptions): Required {\n return {\n clientCapabilities: [],\n azureCloudOptions: DEFAULT_AZURE_CLOUD_OPTIONS,\n ...authOptions\n };\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AuthError } from \"../error/AuthError\";\nimport { NetworkResponse } from \"./NetworkManager\";\n\n/**\n * Options allowed by network request APIs.\n */\nexport type NetworkRequestOptions = {\n headers?: Record,\n body?: string;\n proxyUrl?: string;\n};\n\n/**\n * Client network interface to send backend requests.\n * @interface\n */\nexport interface INetworkModule {\n\n /**\n * Interface function for async network \"GET\" requests. Based on the Fetch standard: https://fetch.spec.whatwg.org/\n * @param url\n * @param requestParams\n * @param enableCaching\n */\n sendGetRequestAsync(url: string, options?: NetworkRequestOptions, cancellationToken?: number): Promise>;\n\n /**\n * Interface function for async network \"POST\" requests. Based on the Fetch standard: https://fetch.spec.whatwg.org/\n * @param url\n * @param requestParams\n * @param enableCaching\n */\n sendPostRequestAsync(url: string, options?: NetworkRequestOptions): Promise>;\n}\n\nexport const StubbedNetworkModule: INetworkModule = {\n sendGetRequestAsync: () => {\n const notImplErr = \"Network interface - sendGetRequestAsync() has not been implemented for the Network interface.\";\n return Promise.reject(AuthError.createUnexpectedError(notImplErr));\n },\n sendPostRequestAsync: () => {\n const notImplErr = \"Network interface - sendPostRequestAsync() has not been implemented for the Network interface.\";\n return Promise.reject(AuthError.createUnexpectedError(notImplErr));\n }\n};\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { INetworkModule, NetworkRequestOptions, NetworkResponse } from \"@azure/msal-common\";\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\nimport { HTTP_REQUEST_TYPE } from \"../utils/BrowserConstants\";\n\n/**\n * This class implements the Fetch API for GET and POST requests. See more here: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API\n */\nexport class FetchClient implements INetworkModule {\n\n /**\n * Fetch Client for REST endpoints - Get request\n * @param url \n * @param headers \n * @param body \n */\n async sendGetRequestAsync(url: string, options?: NetworkRequestOptions): Promise> {\n let response;\n try {\n response = await fetch(url, {\n method: HTTP_REQUEST_TYPE.GET,\n headers: this.getFetchHeaders(options)\n });\n } catch (e) {\n if (window.navigator.onLine) {\n throw BrowserAuthError.createGetRequestFailedError(e, url);\n } else {\n throw BrowserAuthError.createNoNetworkConnectivityError();\n }\n }\n\n try {\n return {\n headers: this.getHeaderDict(response.headers),\n body: await response.json() as T,\n status: response.status\n };\n } catch (e) {\n throw BrowserAuthError.createFailedToParseNetworkResponseError(url);\n }\n }\n\n /**\n * Fetch Client for REST endpoints - Post request\n * @param url \n * @param headers \n * @param body \n */\n async sendPostRequestAsync(url: string, options?: NetworkRequestOptions): Promise> {\n const reqBody = (options && options.body) || \"\";\n\n let response;\n try {\n response = await fetch(url, {\n method: HTTP_REQUEST_TYPE.POST,\n headers: this.getFetchHeaders(options),\n body: reqBody\n });\n } catch (e) {\n if (window.navigator.onLine) {\n throw BrowserAuthError.createPostRequestFailedError(e, url);\n } else {\n throw BrowserAuthError.createNoNetworkConnectivityError();\n }\n }\n\n try {\n return {\n headers: this.getHeaderDict(response.headers),\n body: await response.json() as T,\n status: response.status\n };\n } catch (e) {\n throw BrowserAuthError.createFailedToParseNetworkResponseError(url);\n }\n }\n\n /**\n * Get Fetch API Headers object from string map\n * @param inputHeaders \n */\n private getFetchHeaders(options?: NetworkRequestOptions): Headers {\n const headers = new Headers();\n if (!(options && options.headers)) {\n return headers;\n }\n const optionsHeaders = options.headers;\n Object.keys(optionsHeaders).forEach((key) => {\n headers.append(key, optionsHeaders[key]);\n });\n return headers;\n }\n\n private getHeaderDict(headers: Headers): Record {\n const headerDict: Record = {};\n headers.forEach((value: string, key: string) => {\n headerDict[key] = value;\n });\n return headerDict;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { INetworkModule, NetworkRequestOptions, NetworkResponse } from \"@azure/msal-common\";\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\nimport { HTTP_REQUEST_TYPE } from \"../utils/BrowserConstants\";\n\n/**\n * This client implements the XMLHttpRequest class to send GET and POST requests.\n */\nexport class XhrClient implements INetworkModule {\n\n /**\n * XhrClient for REST endpoints - Get request\n * @param url \n * @param headers \n * @param body \n */\n async sendGetRequestAsync(url: string, options?: NetworkRequestOptions): Promise> {\n return this.sendRequestAsync(url, HTTP_REQUEST_TYPE.GET, options);\n }\n\n /**\n * XhrClient for REST endpoints - Post request\n * @param url \n * @param headers \n * @param body \n */\n async sendPostRequestAsync(url: string, options?: NetworkRequestOptions): Promise> {\n return this.sendRequestAsync(url, HTTP_REQUEST_TYPE.POST, options);\n }\n\n /**\n * Helper for XhrClient requests.\n * @param url \n * @param method \n * @param options \n */\n private sendRequestAsync(url: string, method: HTTP_REQUEST_TYPE, options?: NetworkRequestOptions): Promise> {\n return new Promise>((resolve, reject) => {\n const xhr = new XMLHttpRequest();\n xhr.open(method, url, /* async: */ true);\n this.setXhrHeaders(xhr, options);\n xhr.onload = (): void => {\n if (xhr.status < 200 || xhr.status >= 300) {\n if (method === HTTP_REQUEST_TYPE.POST) {\n reject(BrowserAuthError.createPostRequestFailedError(`Failed with status ${xhr.status}`, url));\n } else {\n reject(BrowserAuthError.createGetRequestFailedError(`Failed with status ${xhr.status}`, url));\n }\n }\n try {\n const jsonResponse = JSON.parse(xhr.responseText) as T;\n const networkResponse: NetworkResponse = {\n headers: this.getHeaderDict(xhr),\n body: jsonResponse,\n status: xhr.status\n };\n resolve(networkResponse);\n } catch (e) {\n reject(BrowserAuthError.createFailedToParseNetworkResponseError(url));\n }\n };\n\n xhr.onerror = (): void => {\n if (window.navigator.onLine) {\n if (method === HTTP_REQUEST_TYPE.POST) {\n reject(BrowserAuthError.createPostRequestFailedError(`Failed with status ${xhr.status}`, url));\n } else {\n reject(BrowserAuthError.createGetRequestFailedError(`Failed with status ${xhr.status}`, url));\n }\n } else {\n reject(BrowserAuthError.createNoNetworkConnectivityError());\n }\n };\n\n if (method === HTTP_REQUEST_TYPE.POST && options && options.body) {\n xhr.send(options.body);\n } else if (method === HTTP_REQUEST_TYPE.GET) {\n xhr.send();\n } else {\n throw BrowserAuthError.createHttpMethodNotImplementedError(method);\n }\n });\n }\n\n /**\n * Helper to set XHR headers for request.\n * @param xhr \n * @param options \n */\n private setXhrHeaders(xhr: XMLHttpRequest, options?: NetworkRequestOptions): void {\n if (options && options.headers) {\n const headers = options.headers;\n Object.keys(headers).forEach((key: string) => {\n xhr.setRequestHeader(key, headers[key]);\n });\n }\n }\n\n /**\n * Gets a string map of the headers received in the response.\n * \n * Algorithm comes from https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/getAllResponseHeaders\n * @param xhr \n */\n private getHeaderDict(xhr: XMLHttpRequest): Record {\n const headerString = xhr.getAllResponseHeaders();\n const headerArr = headerString.trim().split(/[\\r\\n]+/);\n const headerDict: Record = {};\n headerArr.forEach((value: string) => {\n const parts = value.split(\": \");\n const headerName = parts.shift();\n const headerVal = parts.join(\": \");\n if (headerName && headerVal) {\n headerDict[headerName] = headerVal;\n }\n });\n\n return headerDict;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { Constants, INetworkModule, UrlString } from \"@azure/msal-common\";\nimport { FetchClient } from \"../network/FetchClient\";\nimport { XhrClient } from \"../network/XhrClient\";\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\nimport { InteractionType, BrowserConstants } from \"./BrowserConstants\";\n\n/**\n * Utility class for browser specific functions\n */\nexport class BrowserUtils {\n\n // #region Window Navigation and URL management\n\n /**\n * Clears hash from window url.\n */\n static clearHash(contentWindow: Window): void {\n // Office.js sets history.replaceState to null\n contentWindow.location.hash = Constants.EMPTY_STRING;\n if (typeof contentWindow.history.replaceState === \"function\") {\n // Full removes \"#\" from url\n contentWindow.history.replaceState(null, Constants.EMPTY_STRING, `${contentWindow.location.origin}${contentWindow.location.pathname}${contentWindow.location.search}`);\n }\n }\n\n /**\n * Replaces current hash with hash from provided url\n */\n static replaceHash(url: string): void {\n const urlParts = url.split(\"#\");\n urlParts.shift(); // Remove part before the hash\n window.location.hash = urlParts.length > 0 ? urlParts.join(\"#\") : \"\";\n }\n\n /**\n * Returns boolean of whether the current window is in an iframe or not.\n */\n static isInIframe(): boolean {\n return window.parent !== window;\n }\n\n /**\n * Returns boolean of whether or not the current window is a popup opened by msal\n */\n static isInPopup(): boolean {\n return typeof window !== \"undefined\" && !!window.opener && \n window.opener !== window && \n typeof window.name === \"string\" && \n window.name.indexOf(`${BrowserConstants.POPUP_NAME_PREFIX}.`) === 0;\n }\n\n // #endregion\n\n /**\n * Returns current window URL as redirect uri\n */\n static getCurrentUri(): string {\n return window.location.href.split(\"?\")[0].split(\"#\")[0];\n }\n\n /**\n * Gets the homepage url for the current window location.\n */\n static getHomepage(): string {\n const currentUrl = new UrlString(window.location.href);\n const urlComponents = currentUrl.getUrlComponents();\n return `${urlComponents.Protocol}//${urlComponents.HostNameAndPort}/`;\n }\n\n /**\n * Returns best compatible network client object. \n */\n static getBrowserNetworkClient(): INetworkModule {\n if (window.fetch && window.Headers) {\n return new FetchClient();\n } else {\n return new XhrClient();\n }\n }\n\n /**\n * Throws error if we have completed an auth and are \n * attempting another auth request inside an iframe.\n */\n static blockReloadInHiddenIframes(): void {\n const isResponseHash = UrlString.hashContainsKnownProperties(window.location.hash);\n // return an error if called from the hidden iframe created by the msal js silent calls\n if (isResponseHash && BrowserUtils.isInIframe()) {\n throw BrowserAuthError.createBlockReloadInHiddenIframeError();\n }\n }\n\n /**\n * Block redirect operations in iframes unless explicitly allowed\n * @param interactionType Interaction type for the request\n * @param allowRedirectInIframe Config value to allow redirects when app is inside an iframe\n */\n static blockRedirectInIframe(interactionType: InteractionType, allowRedirectInIframe: boolean): void {\n const isIframedApp = BrowserUtils.isInIframe();\n if (interactionType === InteractionType.Redirect && isIframedApp && !allowRedirectInIframe) {\n // If we are not in top frame, we shouldn't redirect. This is also handled by the service.\n throw BrowserAuthError.createRedirectInIframeError(isIframedApp);\n }\n }\n\n /**\n * Block redirectUri loaded in popup from calling AcquireToken APIs\n */\n static blockAcquireTokenInPopups(): void {\n // Popups opened by msal popup APIs are given a name that starts with \"msal.\"\n if (BrowserUtils.isInPopup()) {\n throw BrowserAuthError.createBlockAcquireTokenInPopupsError();\n }\n }\n\n /**\n * Throws error if token requests are made in non-browser environment\n * @param isBrowserEnvironment Flag indicating if environment is a browser.\n */\n static blockNonBrowserEnvironment(isBrowserEnvironment: boolean): void {\n if (!isBrowserEnvironment) {\n throw BrowserAuthError.createNonBrowserEnvironmentError();\n }\n }\n\n /**\n * Returns boolean of whether current browser is an Internet Explorer or Edge browser.\n */\n static detectIEOrEdge(): boolean {\n const ua = window.navigator.userAgent;\n const msie = ua.indexOf(\"MSIE \");\n const msie11 = ua.indexOf(\"Trident/\");\n const msedge = ua.indexOf(\"Edge/\");\n const isIE = msie > 0 || msie11 > 0;\n const isEdge = msedge > 0;\n return isIE || isEdge;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { INavigationClient } from \"./INavigationClient\";\nimport { NavigationOptions } from \"./NavigationOptions\";\n\nexport class NavigationClient implements INavigationClient {\n /**\n * Navigates to other pages within the same web application\n * @param url \n * @param options \n */\n navigateInternal(url: string, options: NavigationOptions): Promise{\n return NavigationClient.defaultNavigateWindow(url, options);\n }\n\n /**\n * Navigates to other pages outside the web application i.e. the Identity Provider\n * @param url \n * @param options \n */\n navigateExternal(url: string, options: NavigationOptions): Promise {\n return NavigationClient.defaultNavigateWindow(url, options);\n }\n\n /**\n * Default navigation implementation invoked by the internal and external functions\n * @param url \n * @param options \n */\n private static defaultNavigateWindow(url: string, options: NavigationOptions): Promise {\n if (options.noHistory) {\n window.location.replace(url);\n } else {\n window.location.assign(url);\n }\n\n return new Promise((resolve) => {\n setTimeout(() => {\n resolve(true);\n }, options.timeout);\n });\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { SystemOptions, LoggerOptions, INetworkModule, DEFAULT_SYSTEM_OPTIONS, Constants, ProtocolMode, LogLevel, StubbedNetworkModule, AzureCloudInstance, AzureCloudOptions } from \"@azure/msal-common\";\nimport { BrowserUtils } from \"../utils/BrowserUtils\";\nimport { BrowserCacheLocation } from \"../utils/BrowserConstants\";\nimport { INavigationClient } from \"../navigation/INavigationClient\";\nimport { NavigationClient } from \"../navigation/NavigationClient\";\n\n// Default timeout for popup windows and iframes in milliseconds\nexport const DEFAULT_POPUP_TIMEOUT_MS = 60000;\nexport const DEFAULT_IFRAME_TIMEOUT_MS = 6000;\nexport const DEFAULT_REDIRECT_TIMEOUT_MS = 30000;\n\n/**\n * Use this to configure the auth options in the Configuration object\n *\n * - clientId - Client ID of your app registered with our Application registration portal : https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/RegisteredAppsPreview in Microsoft Identity Platform\n * - authority - You can configure a specific authority, defaults to \" \" or \"https://login.microsoftonline.com/common\"\n * - knownAuthorities - An array of URIs that are known to be valid. Used in B2C scenarios.\n * - cloudDiscoveryMetadata - A string containing the cloud discovery response. Used in AAD scenarios.\n * - redirectUri - The redirect URI where authentication responses can be received by your application. It must exactly match one of the redirect URIs registered in the Azure portal.\n * - postLogoutRedirectUri - The redirect URI where the window navigates after a successful logout.\n * - navigateToLoginRequestUrl - Boolean indicating whether to navigate to the original request URL after the auth server navigates to the redirect URL.\n * - clientCapabilities - Array of capabilities which will be added to the claims.access_token.xms_cc request property on every network request.\n * - protocolMode - Enum that represents the protocol that msal follows. Used for configuring proper endpoints.\n */\nexport type BrowserAuthOptions = {\n clientId: string;\n authority?: string;\n knownAuthorities?: Array;\n cloudDiscoveryMetadata?: string;\n authorityMetadata?: string;\n redirectUri?: string;\n postLogoutRedirectUri?: string | null;\n navigateToLoginRequestUrl?: boolean;\n clientCapabilities?: Array;\n protocolMode?: ProtocolMode;\n azureCloudOptions?: AzureCloudOptions;\n};\n\n/**\n * Use this to configure the below cache configuration options:\n *\n * - cacheLocation - Used to specify the cacheLocation user wants to set. Valid values are \"localStorage\" and \"sessionStorage\"\n * - storeAuthStateInCookie - If set, MSAL stores the auth request state required for validation of the auth flows in the browser cookies. By default this flag is set to false.\n * - secureCookies - If set, MSAL sets the \"Secure\" flag on cookies so they can only be sent over HTTPS. By default this flag is set to false.\n */\nexport type CacheOptions = {\n cacheLocation?: BrowserCacheLocation | string;\n storeAuthStateInCookie?: boolean;\n secureCookies?: boolean;\n};\n\n/**\n * Library Specific Options\n *\n * - tokenRenewalOffsetSeconds - Sets the window of offset needed to renew the token before expiry\n * - loggerOptions - Used to initialize the Logger object (See ClientConfiguration.ts)\n * - networkClient - Network interface implementation\n * - windowHashTimeout - Sets the timeout for waiting for a response hash in a popup. Will take precedence over loadFrameTimeout if both are set.\n * - iframeHashTimeout - Sets the timeout for waiting for a response hash in an iframe. Will take precedence over loadFrameTimeout if both are set.\n * - loadFrameTimeout - Sets the timeout for waiting for a response hash in an iframe or popup\n * - navigateFrameWait - Maximum time the library should wait for a frame to load\n * - redirectNavigationTimeout - Time to wait for redirection to occur before resolving promise\n * - asyncPopups - Sets whether popups are opened asynchronously. By default, this flag is set to false. When set to false, blank popups are opened before anything else happens. When set to true, popups are opened when making the network request.\n * - allowRedirectInIframe - Flag to enable redirect opertaions when the app is rendered in an iframe (to support scenarios such as embedded B2C login).\n */\nexport type BrowserSystemOptions = SystemOptions & {\n loggerOptions?: LoggerOptions;\n networkClient?: INetworkModule;\n navigationClient?: INavigationClient;\n windowHashTimeout?: number;\n iframeHashTimeout?: number;\n loadFrameTimeout?: number;\n navigateFrameWait?: number;\n redirectNavigationTimeout?: number;\n asyncPopups?: boolean;\n allowRedirectInIframe?: boolean;\n};\n\n/**\n * Use the configuration object to configure MSAL and initialize the UserAgentApplication.\n *\n * This object allows you to configure important elements of MSAL functionality:\n * - auth: this is where you configure auth elements like clientID, authority used for authenticating against the Microsoft Identity Platform\n * - cache: this is where you configure cache location and whether to store cache in cookies\n * - system: this is where you can configure the network client, logger, token renewal offset\n */\nexport type Configuration = {\n auth: BrowserAuthOptions,\n cache?: CacheOptions,\n system?: BrowserSystemOptions\n};\n\nexport type BrowserConfiguration = {\n auth: Required,\n cache: Required,\n system: Required\n};\n\n/**\n * MSAL function that sets the default options when not explicitly configured from app developer\n *\n * @param auth\n * @param cache\n * @param system\n *\n * @returns Configuration object\n */\nexport function buildConfiguration({ auth: userInputAuth, cache: userInputCache, system: userInputSystem }: Configuration, isBrowserEnvironment: boolean): BrowserConfiguration {\n\n // Default auth options for browser\n const DEFAULT_AUTH_OPTIONS: Required = {\n clientId: \"\",\n authority: `${Constants.DEFAULT_AUTHORITY}`,\n knownAuthorities: [],\n cloudDiscoveryMetadata: \"\",\n authorityMetadata: \"\",\n redirectUri: \"\",\n postLogoutRedirectUri: \"\",\n navigateToLoginRequestUrl: true,\n clientCapabilities: [],\n protocolMode: ProtocolMode.AAD,\n azureCloudOptions: {\n azureCloudInstance: AzureCloudInstance.None,\n tenant: \"\"\n },\n };\n\n // Default cache options for browser\n const DEFAULT_CACHE_OPTIONS: Required = {\n cacheLocation: BrowserCacheLocation.SessionStorage,\n storeAuthStateInCookie: false,\n secureCookies: false\n };\n\n // Default logger options for browser\n const DEFAULT_LOGGER_OPTIONS: LoggerOptions = {\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n loggerCallback: (): void => {},\n logLevel: LogLevel.Info,\n piiLoggingEnabled: false\n };\n\n // Default system options for browser\n const DEFAULT_BROWSER_SYSTEM_OPTIONS: Required = {\n ...DEFAULT_SYSTEM_OPTIONS,\n loggerOptions: DEFAULT_LOGGER_OPTIONS,\n networkClient: isBrowserEnvironment ? BrowserUtils.getBrowserNetworkClient() : StubbedNetworkModule,\n navigationClient: new NavigationClient(),\n loadFrameTimeout: 0,\n // If loadFrameTimeout is provided, use that as default.\n windowHashTimeout: (userInputSystem && userInputSystem.loadFrameTimeout) || DEFAULT_POPUP_TIMEOUT_MS,\n iframeHashTimeout: (userInputSystem && userInputSystem.loadFrameTimeout) || DEFAULT_IFRAME_TIMEOUT_MS,\n navigateFrameWait: isBrowserEnvironment && BrowserUtils.detectIEOrEdge() ? 500 : 0,\n redirectNavigationTimeout: DEFAULT_REDIRECT_TIMEOUT_MS,\n asyncPopups: false,\n allowRedirectInIframe: false\n };\n\n const overlayedConfig: BrowserConfiguration = {\n auth: { ...DEFAULT_AUTH_OPTIONS, ...userInputAuth },\n cache: { ...DEFAULT_CACHE_OPTIONS, ...userInputCache },\n system: { ...DEFAULT_BROWSER_SYSTEM_OPTIONS, ...userInputSystem }\n };\n return overlayedConfig;\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ICrypto, SignedHttpRequestParameters } from \"./ICrypto\";\nimport { TimeUtils } from \"../utils/TimeUtils\";\nimport { UrlString } from \"../url/UrlString\";\n\n/**\n * See eSTS docs for more info.\n * - A kid element, with the value containing an RFC 7638-compliant JWK thumbprint that is base64 encoded.\n * - xms_ksl element, representing the storage location of the key's secret component on the client device. One of two values:\n * - sw: software storage\n * - uhw: hardware storage\n */\ntype ReqCnf = {\n kid: string;\n xms_ksl: KeyLocation;\n};\n\nexport type ReqCnfData = {\n kid: string;\n reqCnfString: string;\n reqCnfHash: string;\n};\n\nenum KeyLocation {\n SW = \"sw\",\n UHW = \"uhw\"\n}\n\nexport class PopTokenGenerator {\n\n private cryptoUtils: ICrypto;\n\n constructor(cryptoUtils: ICrypto) {\n this.cryptoUtils = cryptoUtils;\n }\n\n /**\n * Generates the req_cnf validated at the RP in the POP protocol for SHR parameters\n * and returns an object containing the keyid, the full req_cnf string and the req_cnf string hash\n * @param request\n * @returns\n */\n async generateCnf(request: SignedHttpRequestParameters): Promise {\n const reqCnf = await this.generateKid(request);\n const reqCnfString: string = this.cryptoUtils.base64Encode(JSON.stringify(reqCnf));\n\n return {\n kid: reqCnf.kid,\n reqCnfString, \n reqCnfHash: await this.cryptoUtils.hashString(reqCnfString) \n };\n }\n\n /**\n * Generates key_id for a SHR token request\n * @param request\n * @returns\n */\n async generateKid(request: SignedHttpRequestParameters): Promise {\n const kidThumbprint = await this.cryptoUtils.getPublicKeyThumbprint(request);\n\n return {\n kid: kidThumbprint,\n xms_ksl: KeyLocation.SW\n };\n }\n\n /**\n * Signs the POP access_token with the local generated key-pair\n * @param accessToken\n * @param request\n * @returns\n */\n async signPopToken(accessToken: string, keyId: string, request: SignedHttpRequestParameters): Promise {\n return this.signPayload(accessToken, keyId, request);\n }\n\n /**\n * Utility function to generate the signed JWT for an access_token\n * @param payload\n * @param kid\n * @param request\n * @param claims\n * @returns\n */\n async signPayload(payload: string, keyId: string, request: SignedHttpRequestParameters, claims?: object): Promise {\n\n // Deconstruct request to extract SHR parameters\n const { resourceRequestMethod, resourceRequestUri, shrClaims, shrNonce } = request;\n\n const resourceUrlString = (resourceRequestUri) ? new UrlString(resourceRequestUri) : undefined;\n const resourceUrlComponents = resourceUrlString?.getUrlComponents();\n return await this.cryptoUtils.signJwt({\n at: payload,\n ts: TimeUtils.nowSeconds(),\n m: resourceRequestMethod?.toUpperCase(),\n u: resourceUrlComponents?.HostNameAndPort,\n nonce: shrNonce || this.cryptoUtils.createNewGuid(),\n p: resourceUrlComponents?.AbsolutePath,\n q: (resourceUrlComponents?.QueryString) ? [[], resourceUrlComponents.QueryString] : undefined,\n client_claims: shrClaims || undefined,\n ...claims\n }, keyId, request.correlationId);\n }\n}\n","/* eslint-disable header/header */\nexport const name = \"@azure/msal-browser\";\nexport const version = \"2.22.1\";\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ICrypto, Logger, AccountEntity, CacheManager } from \"@azure/msal-common\";\nimport { InteractionType } from \"../utils/BrowserConstants\";\nimport { EventCallbackFunction, EventError, EventMessage, EventPayload } from \"./EventMessage\";\nimport { EventType } from \"./EventType\";\n\nexport class EventHandler {\n // Callback for subscribing to events\n private eventCallbacks: Map;\n private logger: Logger;\n private browserCrypto: ICrypto;\n private listeningToStorageEvents: boolean;\n\n constructor(logger: Logger, browserCrypto: ICrypto) {\n this.eventCallbacks = new Map();\n this.logger = logger;\n this.browserCrypto = browserCrypto;\n this.listeningToStorageEvents = false;\n this.handleAccountCacheChange = this.handleAccountCacheChange.bind(this);\n }\n\n /**\n * Adds event callbacks to array\n * @param callback\n */\n addEventCallback(callback: EventCallbackFunction): string | null {\n if (typeof window !== \"undefined\") {\n const callbackId = this.browserCrypto.createNewGuid();\n this.eventCallbacks.set(callbackId, callback);\n this.logger.verbose(`Event callback registered with id: ${callbackId}`);\n \n return callbackId;\n }\n \n return null;\n }\n\n /**\n * Removes callback with provided id from callback array\n * @param callbackId\n */\n removeEventCallback(callbackId: string): void {\n this.eventCallbacks.delete(callbackId);\n this.logger.verbose(`Event callback ${callbackId} removed.`);\n }\n\n /**\n * Adds event listener that emits an event when a user account is added or removed from localstorage in a different browser tab or window\n */\n enableAccountStorageEvents(): void {\n if (typeof window === \"undefined\") {\n return;\n }\n\n if (!this.listeningToStorageEvents) {\n this.logger.verbose(\"Adding account storage listener.\");\n this.listeningToStorageEvents = true;\n window.addEventListener(\"storage\", this.handleAccountCacheChange);\n } else {\n this.logger.verbose(\"Account storage listener already registered.\");\n }\n }\n\n /**\n * Removes event listener that emits an event when a user account is added or removed from localstorage in a different browser tab or window\n */\n disableAccountStorageEvents(): void {\n if (typeof window === \"undefined\") {\n return;\n }\n\n if (this.listeningToStorageEvents) {\n this.logger.verbose(\"Removing account storage listener.\");\n window.removeEventListener(\"storage\", this.handleAccountCacheChange);\n this.listeningToStorageEvents = false;\n } else {\n this.logger.verbose(\"No account storage listener registered.\");\n }\n }\n\n /**\n * Emits events by calling callback with event message\n * @param eventType\n * @param interactionType\n * @param payload\n * @param error\n */\n emitEvent(eventType: EventType, interactionType?: InteractionType, payload?: EventPayload, error?: EventError): void {\n if (typeof window !== \"undefined\") {\n const message: EventMessage = {\n eventType: eventType,\n interactionType: interactionType || null,\n payload: payload || null,\n error: error || null,\n timestamp: Date.now()\n };\n\n this.logger.info(`Emitting event: ${eventType}`);\n\n this.eventCallbacks.forEach((callback: EventCallbackFunction, callbackId: string) => {\n this.logger.verbose(`Emitting event to callback ${callbackId}: ${eventType}`);\n callback.apply(null, [message]);\n });\n }\n }\n\n /**\n * Emit account added/removed events when cached accounts are changed in a different tab or frame\n */\n private handleAccountCacheChange(e: StorageEvent): void {\n try {\n const cacheValue = e.newValue || e.oldValue;\n if (!cacheValue) {\n return;\n }\n const parsedValue = JSON.parse(cacheValue);\n if (typeof parsedValue !== \"object\" || !AccountEntity.isAccountEntity(parsedValue)) {\n return;\n }\n const accountEntity = CacheManager.toObject(new AccountEntity(), parsedValue);\n const accountInfo = accountEntity.getAccountInfo();\n if (!e.oldValue && e.newValue) {\n this.logger.info(\"Account was added to cache in a different window\");\n this.emitEvent(EventType.ACCOUNT_ADDED, undefined, accountInfo);\n } else if (!e.newValue && e.oldValue) {\n this.logger.info(\"Account was removed from cache in a different window\");\n this.emitEvent(EventType.ACCOUNT_REMOVED, undefined, accountInfo);\n }\n } catch (e) {\n return;\n }\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { NetworkResponse } from \"./NetworkManager\";\nimport { ServerAuthorizationTokenResponse } from \"../response/ServerAuthorizationTokenResponse\";\nimport { HeaderNames, CacheSchemaType, ThrottlingConstants, Constants } from \"../utils/Constants\";\nimport { CacheManager } from \"../cache/CacheManager\";\nimport { ServerError } from \"../error/ServerError\";\nimport { RequestThumbprint } from \"./RequestThumbprint\";\nimport { ThrottlingEntity } from \"../cache/entities/ThrottlingEntity\";\nimport { BaseAuthRequest } from \"../request/BaseAuthRequest\";\n\nexport class ThrottlingUtils {\n\n /**\n * Prepares a RequestThumbprint to be stored as a key.\n * @param thumbprint\n */\n static generateThrottlingStorageKey(thumbprint: RequestThumbprint): string {\n return `${ThrottlingConstants.THROTTLING_PREFIX}.${JSON.stringify(thumbprint)}`;\n }\n\n /**\n * Performs necessary throttling checks before a network request.\n * @param cacheManager\n * @param thumbprint\n */\n static preProcess(cacheManager: CacheManager, thumbprint: RequestThumbprint): void {\n const key = ThrottlingUtils.generateThrottlingStorageKey(thumbprint);\n const value = cacheManager.getThrottlingCache(key);\n\n if (value) {\n if (value.throttleTime < Date.now()) {\n cacheManager.removeItem(key, CacheSchemaType.THROTTLING);\n return;\n }\n throw new ServerError(value.errorCodes?.join(\" \") || Constants.EMPTY_STRING, value.errorMessage, value.subError);\n }\n }\n\n /**\n * Performs necessary throttling checks after a network request.\n * @param cacheManager\n * @param thumbprint\n * @param response\n */\n static postProcess(cacheManager: CacheManager, thumbprint: RequestThumbprint, response: NetworkResponse): void {\n if (ThrottlingUtils.checkResponseStatus(response) || ThrottlingUtils.checkResponseForRetryAfter(response)) {\n const thumbprintValue: ThrottlingEntity = {\n throttleTime: ThrottlingUtils.calculateThrottleTime(parseInt(response.headers[HeaderNames.RETRY_AFTER])),\n error: response.body.error,\n errorCodes: response.body.error_codes,\n errorMessage: response.body.error_description,\n subError: response.body.suberror\n };\n cacheManager.setThrottlingCache(\n ThrottlingUtils.generateThrottlingStorageKey(thumbprint),\n thumbprintValue\n );\n }\n }\n\n /**\n * Checks a NetworkResponse object's status codes against 429 or 5xx\n * @param response\n */\n static checkResponseStatus(response: NetworkResponse): boolean {\n return response.status === 429 || response.status >= 500 && response.status < 600;\n }\n\n /**\n * Checks a NetworkResponse object's RetryAfter header\n * @param response\n */\n static checkResponseForRetryAfter(response: NetworkResponse): boolean {\n if (response.headers) {\n return response.headers.hasOwnProperty(HeaderNames.RETRY_AFTER) && (response.status < 200 || response.status >= 300);\n }\n return false;\n }\n\n /**\n * Calculates the Unix-time value for a throttle to expire given throttleTime in seconds.\n * @param throttleTime\n */\n static calculateThrottleTime(throttleTime: number): number {\n const time = throttleTime <= 0 ? 0 : throttleTime;\n\n const currentSeconds = Date.now() / 1000;\n return Math.floor(Math.min(\n currentSeconds + (time || ThrottlingConstants.DEFAULT_THROTTLE_TIME_SECONDS),\n currentSeconds + ThrottlingConstants.DEFAULT_MAX_THROTTLE_TIME_SECONDS\n ) * 1000);\n }\n\n static removeThrottle(cacheManager: CacheManager, clientId: string, request: BaseAuthRequest, homeAccountIdentifier?: string): boolean {\n const thumbprint: RequestThumbprint = {\n clientId: clientId,\n authority: request.authority,\n scopes: request.scopes,\n homeAccountIdentifier: homeAccountIdentifier,\n claims: request.claims,\n authenticationScheme: request.authenticationScheme,\n resourceRequestMethod: request.resourceRequestMethod,\n resourceRequestUri: request.resourceRequestUri,\n shrClaims: request.shrClaims,\n sshKid: request.sshKid\n };\n\n const key = this.generateThrottlingStorageKey(thumbprint);\n return cacheManager.removeItem(key, CacheSchemaType.THROTTLING);\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { INetworkModule, NetworkRequestOptions } from \"./INetworkModule\";\nimport { RequestThumbprint } from \"./RequestThumbprint\";\nimport { ThrottlingUtils } from \"./ThrottlingUtils\";\nimport { CacheManager } from \"../cache/CacheManager\";\nimport { ClientAuthError } from \"../error/ClientAuthError\";\nimport { AuthError } from \"../error/AuthError\";\n\nexport type NetworkResponse = {\n headers: Record;\n body: T;\n status: number;\n};\n\nexport class NetworkManager {\n private networkClient: INetworkModule;\n private cacheManager: CacheManager;\n\n constructor(networkClient: INetworkModule, cacheManager: CacheManager) {\n this.networkClient = networkClient;\n this.cacheManager = cacheManager;\n }\n\n /**\n * Wraps sendPostRequestAsync with necessary preflight and postflight logic\n * @param thumbprint\n * @param tokenEndpoint\n * @param options\n */\n async sendPostRequest(thumbprint: RequestThumbprint, tokenEndpoint: string, options: NetworkRequestOptions): Promise> {\n ThrottlingUtils.preProcess(this.cacheManager, thumbprint);\n\n let response;\n try {\n response = await this.networkClient.sendPostRequestAsync(tokenEndpoint, options);\n } catch (e) {\n if (e instanceof AuthError) {\n throw e;\n } else {\n throw ClientAuthError.createNetworkError(tokenEndpoint, e);\n }\n }\n\n ThrottlingUtils.postProcess(this.cacheManager, thumbprint, response);\n\n return response;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ClientConfiguration, buildClientConfiguration, CommonClientConfiguration } from \"../config/ClientConfiguration\";\nimport { INetworkModule } from \"../network/INetworkModule\";\nimport { NetworkManager, NetworkResponse } from \"../network/NetworkManager\";\nimport { ICrypto } from \"../crypto/ICrypto\";\nimport { Authority } from \"../authority/Authority\";\nimport { Logger } from \"../logger/Logger\";\nimport { Constants, HeaderNames } from \"../utils/Constants\";\nimport { ServerAuthorizationTokenResponse } from \"../response/ServerAuthorizationTokenResponse\";\nimport { CacheManager } from \"../cache/CacheManager\";\nimport { ServerTelemetryManager } from \"../telemetry/server/ServerTelemetryManager\";\nimport { RequestThumbprint } from \"../network/RequestThumbprint\";\nimport { version, name } from \"../packageMetadata\";\nimport { ClientAuthError } from \"../error/ClientAuthError\";\nimport { CcsCredential, CcsCredentialType } from \"../account/CcsCredential\";\nimport { buildClientInfoFromHomeAccountId } from \"../account/ClientInfo\";\n\n/**\n * Base application class which will construct requests to send to and handle responses from the Microsoft STS using the authorization code flow.\n */\nexport abstract class BaseClient {\n // Logger object\n public logger: Logger;\n\n // Application config\n protected config: CommonClientConfiguration;\n\n // Crypto Interface\n protected cryptoUtils: ICrypto;\n\n // Storage Interface\n protected cacheManager: CacheManager;\n\n // Network Interface\n protected networkClient: INetworkModule;\n\n // Server Telemetry Manager\n protected serverTelemetryManager: ServerTelemetryManager | null;\n\n // Network Manager\n protected networkManager: NetworkManager;\n\n // Default authority object\n public authority: Authority;\n\n protected constructor(configuration: ClientConfiguration) {\n // Set the configuration\n this.config = buildClientConfiguration(configuration);\n\n // Initialize the logger\n this.logger = new Logger(this.config.loggerOptions, name, version);\n\n // Initialize crypto\n this.cryptoUtils = this.config.cryptoInterface;\n\n // Initialize storage interface\n this.cacheManager = this.config.storageInterface;\n\n // Set the network interface\n this.networkClient = this.config.networkInterface;\n\n // Set the NetworkManager\n this.networkManager = new NetworkManager(this.networkClient, this.cacheManager);\n\n // Set TelemetryManager\n this.serverTelemetryManager = this.config.serverTelemetryManager;\n\n // set Authority\n this.authority = this.config.authOptions.authority;\n }\n\n /**\n * Creates default headers for requests to token endpoint\n */\n protected createTokenRequestHeaders(ccsCred?: CcsCredential): Record {\n const headers: Record = {};\n headers[HeaderNames.CONTENT_TYPE] = Constants.URL_FORM_CONTENT_TYPE;\n\n if (!this.config.systemOptions.preventCorsPreflight && ccsCred) {\n switch (ccsCred.type) {\n case CcsCredentialType.HOME_ACCOUNT_ID:\n try {\n const clientInfo = buildClientInfoFromHomeAccountId(ccsCred.credential);\n headers[HeaderNames.CCS_HEADER] = `Oid:${clientInfo.uid}@${clientInfo.utid}`;\n } catch (e) {\n this.logger.verbose(\"Could not parse home account ID for CCS Header: \" + e);\n }\n break;\n case CcsCredentialType.UPN:\n headers[HeaderNames.CCS_HEADER] = `UPN: ${ccsCred.credential}`;\n break;\n }\n }\n return headers;\n }\n\n /**\n * Http post to token endpoint\n * @param tokenEndpoint\n * @param queryString\n * @param headers\n * @param thumbprint\n */\n protected async executePostToTokenEndpoint(tokenEndpoint: string, queryString: string, headers: Record, thumbprint: RequestThumbprint): Promise> {\n const response = await this.networkManager.sendPostRequest(\n thumbprint,\n tokenEndpoint,\n { body: queryString, headers: headers, proxyUrl: this.config.systemOptions.proxyUrl }\n );\n\n if (this.config.serverTelemetryManager && response.status < 500 && response.status !== 429) {\n // Telemetry data successfully logged by server, clear Telemetry cache\n this.config.serverTelemetryManager.clearTelemetryCache();\n }\n\n return response;\n }\n\n /**\n * Updates the authority object of the client. Endpoint discovery must be completed.\n * @param updatedAuthority\n */\n updateAuthority(updatedAuthority: Authority): void {\n if (!updatedAuthority.discoveryComplete()) {\n throw ClientAuthError.createEndpointDiscoveryIncompleteError(\"Updated authority has not completed endpoint discovery.\");\n }\n this.authority = updatedAuthority;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { StringUtils } from \"../utils/StringUtils\";\nimport { ClientConfigurationError } from \"../error/ClientConfigurationError\";\nimport { PromptValue, CodeChallengeMethodValues} from \"../utils/Constants\";\nimport { StringDict } from \"../utils/MsalTypes\";\n\n/**\n * Validates server consumable params from the \"request\" objects\n */\nexport class RequestValidator {\n\n /**\n * Utility to check if the `redirectUri` in the request is a non-null value\n * @param redirectUri\n */\n static validateRedirectUri(redirectUri: string) : void {\n if (StringUtils.isEmpty(redirectUri)) {\n throw ClientConfigurationError.createRedirectUriEmptyError();\n }\n }\n\n /**\n * Utility to validate prompt sent by the user in the request\n * @param prompt\n */\n static validatePrompt(prompt: string) : void {\n const promptValues = [];\n\n for (const value in PromptValue) {\n promptValues.push(PromptValue[value]);\n }\n\n if (promptValues.indexOf(prompt) < 0) {\n throw ClientConfigurationError.createInvalidPromptError(prompt);\n }\n }\n\n static validateClaims(claims: string) : void {\n try {\n JSON.parse(claims);\n } catch(e) {\n throw ClientConfigurationError.createInvalidClaimsRequestError();\n }\n }\n\n /**\n * Utility to validate code_challenge and code_challenge_method\n * @param codeChallenge\n * @param codeChallengeMethod\n */\n static validateCodeChallengeParams(codeChallenge: string, codeChallengeMethod: string) : void {\n if (StringUtils.isEmpty(codeChallenge) || StringUtils.isEmpty(codeChallengeMethod)) {\n throw ClientConfigurationError.createInvalidCodeChallengeParamsError();\n } else {\n this.validateCodeChallengeMethod(codeChallengeMethod);\n }\n }\n\n /**\n * Utility to validate code_challenge_method\n * @param codeChallengeMethod\n */\n static validateCodeChallengeMethod(codeChallengeMethod: string) : void {\n if (\n [\n CodeChallengeMethodValues.PLAIN,\n CodeChallengeMethodValues.S256\n ].indexOf(codeChallengeMethod) < 0\n ) {\n throw ClientConfigurationError.createInvalidCodeChallengeMethodError();\n }\n }\n\n /**\n * Removes unnecessary or duplicate query parameters from extraQueryParameters\n * @param request\n */\n static sanitizeEQParams(eQParams: StringDict, queryParams: Map) : StringDict {\n if (!eQParams) {\n return {};\n }\n\n // Remove any query parameters already included in SSO params\n queryParams.forEach((value, key) => {\n if (eQParams[key]) {\n delete eQParams[key];\n }\n });\n\n return eQParams;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AADServerParamKeys, Constants, ResponseMode, SSOTypes, CLIENT_INFO, AuthenticationScheme, ClaimsRequestKeys, PasswordGrantConstants, OIDC_DEFAULT_SCOPES, ThrottlingConstants, HeaderNames} from \"../utils/Constants\";\nimport { ScopeSet } from \"./ScopeSet\";\nimport { ClientConfigurationError } from \"../error/ClientConfigurationError\";\nimport { StringDict } from \"../utils/MsalTypes\";\nimport { RequestValidator } from \"./RequestValidator\";\nimport { ApplicationTelemetry, LibraryInfo } from \"../config/ClientConfiguration\";\nimport { StringUtils } from \"../utils/StringUtils\";\nimport { ServerTelemetryManager } from \"../telemetry/server/ServerTelemetryManager\";\nimport { ClientInfo } from \"../account/ClientInfo\";\n\nexport class RequestParameterBuilder {\n\n private parameters: Map;\n\n constructor() {\n this.parameters = new Map();\n }\n\n /**\n * add response_type = code\n */\n addResponseTypeCode(): void {\n this.parameters.set(\n AADServerParamKeys.RESPONSE_TYPE, encodeURIComponent(Constants.CODE_RESPONSE_TYPE)\n );\n }\n\n /**\n * add response_type = token id_token\n */\n addResponseTypeForTokenAndIdToken(): void {\n this.parameters.set(\n AADServerParamKeys.RESPONSE_TYPE, encodeURIComponent(`${Constants.TOKEN_RESPONSE_TYPE} ${Constants.ID_TOKEN_RESPONSE_TYPE}`)\n );\n }\n\n /**\n * add response_mode. defaults to query.\n * @param responseMode\n */\n addResponseMode(responseMode?: ResponseMode): void {\n this.parameters.set(\n AADServerParamKeys.RESPONSE_MODE,\n encodeURIComponent((responseMode) ? responseMode : ResponseMode.QUERY)\n );\n }\n\n /**\n * Add flag to indicate STS should attempt to use WAM if available\n */\n addNativeBroker(): void {\n this.parameters.set(\n AADServerParamKeys.NATIVE_BROKER,\n encodeURIComponent(\"1\")\n );\n }\n\n /**\n * add scopes. set addOidcScopes to false to prevent default scopes in non-user scenarios\n * @param scopeSet\n * @param addOidcScopes\n */\n addScopes(scopes: string[], addOidcScopes: boolean = true): void {\n const requestScopes = addOidcScopes ? [...scopes || [], ...OIDC_DEFAULT_SCOPES] : scopes || [];\n const scopeSet = new ScopeSet(requestScopes);\n this.parameters.set(AADServerParamKeys.SCOPE, encodeURIComponent(scopeSet.printScopes()));\n }\n\n /**\n * add clientId\n * @param clientId\n */\n addClientId(clientId: string): void {\n this.parameters.set(AADServerParamKeys.CLIENT_ID, encodeURIComponent(clientId));\n }\n\n /**\n * add redirect_uri\n * @param redirectUri\n */\n addRedirectUri(redirectUri: string): void {\n RequestValidator.validateRedirectUri(redirectUri);\n this.parameters.set(AADServerParamKeys.REDIRECT_URI, encodeURIComponent(redirectUri));\n }\n\n /**\n * add post logout redirectUri\n * @param redirectUri\n */\n addPostLogoutRedirectUri(redirectUri: string): void {\n RequestValidator.validateRedirectUri(redirectUri);\n this.parameters.set(AADServerParamKeys.POST_LOGOUT_URI, encodeURIComponent(redirectUri));\n }\n\n /**\n * add id_token_hint to logout request\n * @param idTokenHint\n */\n addIdTokenHint(idTokenHint: string): void {\n this.parameters.set(AADServerParamKeys.ID_TOKEN_HINT, encodeURIComponent(idTokenHint));\n }\n\n /**\n * add domain_hint\n * @param domainHint\n */\n addDomainHint(domainHint: string): void {\n this.parameters.set(SSOTypes.DOMAIN_HINT, encodeURIComponent(domainHint));\n }\n\n /**\n * add login_hint\n * @param loginHint\n */\n addLoginHint(loginHint: string): void {\n this.parameters.set(SSOTypes.LOGIN_HINT, encodeURIComponent(loginHint));\n }\n\n /**\n * Adds the CCS (Cache Credential Service) query parameter for login_hint\n * @param loginHint\n */\n addCcsUpn(loginHint: string): void {\n this.parameters.set(HeaderNames.CCS_HEADER, encodeURIComponent(`UPN:${loginHint}`));\n }\n\n /**\n * Adds the CCS (Cache Credential Service) query parameter for account object\n * @param loginHint\n */\n addCcsOid(clientInfo: ClientInfo): void {\n this.parameters.set(HeaderNames.CCS_HEADER, encodeURIComponent(`Oid:${clientInfo.uid}@${clientInfo.utid}`));\n }\n\n /**\n * add sid\n * @param sid\n */\n addSid(sid: string): void {\n this.parameters.set(SSOTypes.SID, encodeURIComponent(sid));\n }\n\n /**\n * add claims\n * @param claims\n */\n addClaims(claims?: string, clientCapabilities?: Array): void {\n const mergedClaims = this.addClientCapabilitiesToClaims(claims, clientCapabilities);\n RequestValidator.validateClaims(mergedClaims);\n this.parameters.set(AADServerParamKeys.CLAIMS, encodeURIComponent(mergedClaims));\n }\n\n /**\n * add correlationId\n * @param correlationId\n */\n addCorrelationId(correlationId: string): void {\n this.parameters.set(AADServerParamKeys.CLIENT_REQUEST_ID, encodeURIComponent(correlationId));\n }\n\n /**\n * add library info query params\n * @param libraryInfo\n */\n addLibraryInfo(libraryInfo: LibraryInfo): void {\n // Telemetry Info\n this.parameters.set(AADServerParamKeys.X_CLIENT_SKU, libraryInfo.sku);\n this.parameters.set(AADServerParamKeys.X_CLIENT_VER, libraryInfo.version);\n if (libraryInfo.os) {\n this.parameters.set(AADServerParamKeys.X_CLIENT_OS, libraryInfo.os);\n }\n if (libraryInfo.cpu) {\n this.parameters.set(AADServerParamKeys.X_CLIENT_CPU, libraryInfo.cpu);\n }\n }\n\n /**\n * Add client telemetry parameters\n * @param appTelemetry\n */\n addApplicationTelemetry(appTelemetry: ApplicationTelemetry): void {\n if (appTelemetry?.appName) {\n this.parameters.set(AADServerParamKeys.X_APP_NAME, appTelemetry.appName);\n }\n\n if (appTelemetry?.appVersion) {\n this.parameters.set(AADServerParamKeys.X_APP_VER, appTelemetry.appVersion);\n }\n }\n\n /**\n * add prompt\n * @param prompt\n */\n addPrompt(prompt: string): void {\n RequestValidator.validatePrompt(prompt);\n this.parameters.set(`${AADServerParamKeys.PROMPT}`, encodeURIComponent(prompt));\n }\n\n /**\n * add state\n * @param state\n */\n addState(state: string): void {\n if (!StringUtils.isEmpty(state)) {\n this.parameters.set(AADServerParamKeys.STATE, encodeURIComponent(state));\n }\n }\n\n /**\n * add nonce\n * @param nonce\n */\n addNonce(nonce: string): void {\n this.parameters.set(AADServerParamKeys.NONCE, encodeURIComponent(nonce));\n }\n\n /**\n * add code_challenge and code_challenge_method\n * - throw if either of them are not passed\n * @param codeChallenge\n * @param codeChallengeMethod\n */\n addCodeChallengeParams(\n codeChallenge: string,\n codeChallengeMethod: string\n ): void {\n RequestValidator.validateCodeChallengeParams(codeChallenge, codeChallengeMethod);\n if (codeChallenge && codeChallengeMethod) {\n this.parameters.set(AADServerParamKeys.CODE_CHALLENGE, encodeURIComponent(codeChallenge));\n this.parameters.set(AADServerParamKeys.CODE_CHALLENGE_METHOD, encodeURIComponent(codeChallengeMethod));\n } else {\n throw ClientConfigurationError.createInvalidCodeChallengeParamsError();\n }\n }\n\n /**\n * add the `authorization_code` passed by the user to exchange for a token\n * @param code\n */\n addAuthorizationCode(code: string): void {\n this.parameters.set(AADServerParamKeys.CODE, encodeURIComponent(code));\n }\n\n /**\n * add the `authorization_code` passed by the user to exchange for a token\n * @param code\n */\n addDeviceCode(code: string): void {\n this.parameters.set(AADServerParamKeys.DEVICE_CODE, encodeURIComponent(code));\n }\n\n /**\n * add the `refreshToken` passed by the user\n * @param refreshToken\n */\n addRefreshToken(refreshToken: string): void {\n this.parameters.set(AADServerParamKeys.REFRESH_TOKEN, encodeURIComponent(refreshToken));\n }\n\n /**\n * add the `code_verifier` passed by the user to exchange for a token\n * @param codeVerifier\n */\n addCodeVerifier(codeVerifier: string): void {\n this.parameters.set(AADServerParamKeys.CODE_VERIFIER, encodeURIComponent(codeVerifier));\n }\n\n /**\n * add client_secret\n * @param clientSecret\n */\n addClientSecret(clientSecret: string): void {\n this.parameters.set(AADServerParamKeys.CLIENT_SECRET, encodeURIComponent(clientSecret));\n }\n\n /**\n * add clientAssertion for confidential client flows\n * @param clientAssertion\n */\n addClientAssertion(clientAssertion: string): void {\n this.parameters.set(AADServerParamKeys.CLIENT_ASSERTION, encodeURIComponent(clientAssertion));\n }\n\n /**\n * add clientAssertionType for confidential client flows\n * @param clientAssertionType\n */\n addClientAssertionType(clientAssertionType: string): void {\n this.parameters.set(AADServerParamKeys.CLIENT_ASSERTION_TYPE, encodeURIComponent(clientAssertionType));\n }\n\n /**\n * add OBO assertion for confidential client flows\n * @param clientAssertion\n */\n addOboAssertion(oboAssertion: string): void {\n this.parameters.set(AADServerParamKeys.OBO_ASSERTION, encodeURIComponent(oboAssertion));\n }\n\n /**\n * add grant type\n * @param grantType\n */\n addRequestTokenUse(tokenUse: string): void {\n this.parameters.set(AADServerParamKeys.REQUESTED_TOKEN_USE, encodeURIComponent(tokenUse));\n }\n\n /**\n * add grant type\n * @param grantType\n */\n addGrantType(grantType: string): void {\n this.parameters.set(AADServerParamKeys.GRANT_TYPE, encodeURIComponent(grantType));\n }\n\n /**\n * add client info\n *\n */\n addClientInfo(): void {\n this.parameters.set(CLIENT_INFO, \"1\");\n }\n\n /**\n * add extraQueryParams\n * @param eQparams\n */\n addExtraQueryParameters(eQparams: StringDict): void {\n RequestValidator.sanitizeEQParams(eQparams, this.parameters);\n Object.keys(eQparams).forEach((key) => {\n this.parameters.set(key, eQparams[key]);\n });\n }\n\n addClientCapabilitiesToClaims(claims?: string, clientCapabilities?: Array): string {\n let mergedClaims: object;\n\n // Parse provided claims into JSON object or initialize empty object\n if (!claims) {\n mergedClaims = {};\n } else {\n try {\n mergedClaims = JSON.parse(claims);\n } catch(e) {\n throw ClientConfigurationError.createInvalidClaimsRequestError();\n }\n }\n\n if (clientCapabilities && clientCapabilities.length > 0) {\n if (!mergedClaims.hasOwnProperty(ClaimsRequestKeys.ACCESS_TOKEN)){\n // Add access_token key to claims object\n mergedClaims[ClaimsRequestKeys.ACCESS_TOKEN] = {};\n }\n\n // Add xms_cc claim with provided clientCapabilities to access_token key\n mergedClaims[ClaimsRequestKeys.ACCESS_TOKEN][ClaimsRequestKeys.XMS_CC] = {\n values: clientCapabilities\n };\n }\n\n return JSON.stringify(mergedClaims);\n }\n\n /**\n * adds `username` for Password Grant flow\n * @param username\n */\n addUsername(username: string): void {\n this.parameters.set(PasswordGrantConstants.username, encodeURIComponent(username));\n }\n\n /**\n * adds `password` for Password Grant flow\n * @param password\n */\n addPassword(password: string): void {\n this.parameters.set(PasswordGrantConstants.password, encodeURIComponent(password));\n }\n\n /**\n * add pop_jwk to query params\n * @param cnfString\n */\n addPopToken(cnfString: string): void {\n if (!StringUtils.isEmpty(cnfString)) {\n this.parameters.set(AADServerParamKeys.TOKEN_TYPE, AuthenticationScheme.POP);\n this.parameters.set(AADServerParamKeys.REQ_CNF, encodeURIComponent(cnfString));\n }\n }\n\n /**\n * add SSH JWK and key ID to query params\n */\n addSshJwk(sshJwkString: string): void {\n if(!StringUtils.isEmpty(sshJwkString)) {\n this.parameters.set(AADServerParamKeys.TOKEN_TYPE, AuthenticationScheme.SSH);\n this.parameters.set(AADServerParamKeys.REQ_CNF, encodeURIComponent(sshJwkString));\n }\n }\n\n /**\n * add server telemetry fields\n * @param serverTelemetryManager\n */\n addServerTelemetry(serverTelemetryManager: ServerTelemetryManager): void {\n this.parameters.set(AADServerParamKeys.X_CLIENT_CURR_TELEM, serverTelemetryManager.generateCurrentRequestHeaderValue());\n this.parameters.set(AADServerParamKeys.X_CLIENT_LAST_TELEM, serverTelemetryManager.generateLastRequestHeaderValue());\n }\n\n /**\n * Adds parameter that indicates to the server that throttling is supported\n */\n addThrottling(): void {\n this.parameters.set(AADServerParamKeys.X_MS_LIB_CAPABILITY, ThrottlingConstants.X_MS_LIB_CAPABILITY_VALUE);\n }\n\n /**\n * Adds logout_hint parameter for \"silent\" logout which prevent server account picker\n */\n addLogoutHint(logoutHint: string): void {\n this.parameters.set(AADServerParamKeys.LOGOUT_HINT, encodeURIComponent(logoutHint));\n }\n\n /**\n * Utility to create a URL from the params map\n */\n createQueryString(): string {\n const queryParameterArray: Array = new Array();\n\n this.parameters.forEach((value, key) => {\n queryParameterArray.push(`${key}=${value}`);\n });\n\n return queryParameterArray.join(\"&\");\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IdTokenEntity } from \"./IdTokenEntity\";\nimport { AccessTokenEntity } from \"./AccessTokenEntity\";\nimport { RefreshTokenEntity } from \"./RefreshTokenEntity\";\nimport { AccountEntity } from \"./AccountEntity\";\nimport { AppMetadataEntity } from \"./AppMetadataEntity\";\n\nexport class CacheRecord {\n account: AccountEntity | null;\n idToken: IdTokenEntity | null;\n accessToken: AccessTokenEntity | null;\n refreshToken: RefreshTokenEntity | null;\n appMetadata: AppMetadataEntity | null;\n\n constructor(accountEntity?: AccountEntity | null, idTokenEntity?: IdTokenEntity | null, accessTokenEntity?: AccessTokenEntity | null, refreshTokenEntity?: RefreshTokenEntity | null, appMetadataEntity?: AppMetadataEntity | null) {\n this.account = accountEntity || null;\n this.idToken = idTokenEntity || null;\n this.accessToken = accessTokenEntity || null;\n this.refreshToken = refreshTokenEntity || null;\n this.appMetadata = appMetadataEntity || null;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ISerializableTokenCache } from \"../interface/ISerializableTokenCache\";\n\n/**\n * This class instance helps track the memory changes facilitating\n * decisions to read from and write to the persistent cache\n */export class TokenCacheContext {\n /**\n * boolean indicating cache change\n */\n hasChanged: boolean;\n /**\n * serializable token cache interface\n */\n cache: ISerializableTokenCache;\n\n constructor(tokenCache: ISerializableTokenCache, hasChanged: boolean) {\n this.cache = tokenCache;\n this.hasChanged = hasChanged;\n }\n\n /**\n * boolean which indicates the changes in cache\n */\n get cacheHasChanged(): boolean {\n return this.hasChanged;\n }\n\n /**\n * function to retrieve the token cache\n */\n get tokenCache(): ISerializableTokenCache {\n return this.cache;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ServerAuthorizationTokenResponse } from \"./ServerAuthorizationTokenResponse\";\nimport { buildClientInfo} from \"../account/ClientInfo\";\nimport { ICrypto } from \"../crypto/ICrypto\";\nimport { ClientAuthError } from \"../error/ClientAuthError\";\nimport { StringUtils } from \"../utils/StringUtils\";\nimport { ServerAuthorizationCodeResponse } from \"./ServerAuthorizationCodeResponse\";\nimport { Logger } from \"../logger/Logger\";\nimport { ServerError } from \"../error/ServerError\";\nimport { AuthToken } from \"../account/AuthToken\";\nimport { ScopeSet } from \"../request/ScopeSet\";\nimport { AuthenticationResult } from \"./AuthenticationResult\";\nimport { AccountEntity } from \"../cache/entities/AccountEntity\";\nimport { Authority } from \"../authority/Authority\";\nimport { AuthorityType } from \"../authority/AuthorityType\";\nimport { IdTokenEntity } from \"../cache/entities/IdTokenEntity\";\nimport { AccessTokenEntity } from \"../cache/entities/AccessTokenEntity\";\nimport { RefreshTokenEntity } from \"../cache/entities/RefreshTokenEntity\";\nimport { InteractionRequiredAuthError } from \"../error/InteractionRequiredAuthError\";\nimport { CacheRecord } from \"../cache/entities/CacheRecord\";\nimport { CacheManager } from \"../cache/CacheManager\";\nimport { ProtocolUtils, RequestStateObject } from \"../utils/ProtocolUtils\";\nimport { AuthenticationScheme, Constants, THE_FAMILY_ID } from \"../utils/Constants\";\nimport { PopTokenGenerator } from \"../crypto/PopTokenGenerator\";\nimport { AppMetadataEntity } from \"../cache/entities/AppMetadataEntity\";\nimport { ICachePlugin } from \"../cache/interface/ICachePlugin\";\nimport { TokenCacheContext } from \"../cache/persistence/TokenCacheContext\";\nimport { ISerializableTokenCache } from \"../cache/interface/ISerializableTokenCache\";\nimport { AuthorizationCodePayload } from \"./AuthorizationCodePayload\";\nimport { BaseAuthRequest } from \"../request/BaseAuthRequest\";\n\n/**\n * Class that handles response parsing.\n */\nexport class ResponseHandler {\n private clientId: string;\n private cacheStorage: CacheManager;\n private cryptoObj: ICrypto;\n private logger: Logger;\n private homeAccountIdentifier: string;\n private serializableCache: ISerializableTokenCache | null;\n private persistencePlugin: ICachePlugin | null;\n\n constructor(clientId: string, cacheStorage: CacheManager, cryptoObj: ICrypto, logger: Logger, serializableCache: ISerializableTokenCache | null, persistencePlugin: ICachePlugin | null) {\n this.clientId = clientId;\n this.cacheStorage = cacheStorage;\n this.cryptoObj = cryptoObj;\n this.logger = logger;\n this.serializableCache = serializableCache;\n this.persistencePlugin = persistencePlugin;\n }\n\n /**\n * Function which validates server authorization code response.\n * @param serverResponseHash\n * @param cachedState\n * @param cryptoObj\n */\n validateServerAuthorizationCodeResponse(serverResponseHash: ServerAuthorizationCodeResponse, cachedState: string, cryptoObj: ICrypto): void {\n\n if (!serverResponseHash.state || !cachedState) {\n throw !serverResponseHash.state ? ClientAuthError.createStateNotFoundError(\"Server State\") : ClientAuthError.createStateNotFoundError(\"Cached State\");\n }\n\n if (decodeURIComponent(serverResponseHash.state) !== decodeURIComponent(cachedState)) {\n throw ClientAuthError.createStateMismatchError();\n }\n\n // Check for error\n if (serverResponseHash.error || serverResponseHash.error_description || serverResponseHash.suberror) {\n if (InteractionRequiredAuthError.isInteractionRequiredError(serverResponseHash.error, serverResponseHash.error_description, serverResponseHash.suberror)) {\n throw new InteractionRequiredAuthError(serverResponseHash.error || Constants.EMPTY_STRING, serverResponseHash.error_description, serverResponseHash.suberror);\n }\n\n throw new ServerError(serverResponseHash.error || Constants.EMPTY_STRING, serverResponseHash.error_description, serverResponseHash.suberror);\n }\n\n if (serverResponseHash.client_info) {\n buildClientInfo(serverResponseHash.client_info, cryptoObj);\n }\n }\n\n /**\n * Function which validates server authorization token response.\n * @param serverResponse\n */\n validateTokenResponse(serverResponse: ServerAuthorizationTokenResponse): void {\n // Check for error\n if (serverResponse.error || serverResponse.error_description || serverResponse.suberror) {\n if (InteractionRequiredAuthError.isInteractionRequiredError(serverResponse.error, serverResponse.error_description, serverResponse.suberror)) {\n throw new InteractionRequiredAuthError(serverResponse.error, serverResponse.error_description, serverResponse.suberror);\n }\n\n const errString = `${serverResponse.error_codes} - [${serverResponse.timestamp}]: ${serverResponse.error_description} - Correlation ID: ${serverResponse.correlation_id} - Trace ID: ${serverResponse.trace_id}`;\n throw new ServerError(serverResponse.error, errString, serverResponse.suberror);\n }\n }\n\n /**\n * Returns a constructed token response based on given string. Also manages the cache updates and cleanups.\n * @param serverTokenResponse\n * @param authority\n */\n async handleServerTokenResponse(\n serverTokenResponse: ServerAuthorizationTokenResponse,\n authority: Authority,\n reqTimestamp: number,\n request: BaseAuthRequest,\n authCodePayload?: AuthorizationCodePayload,\n oboAssertion?: string,\n handlingRefreshTokenResponse?: boolean): Promise {\n\n // create an idToken object (not entity)\n let idTokenObj: AuthToken | undefined;\n if (serverTokenResponse.id_token) {\n idTokenObj = new AuthToken(serverTokenResponse.id_token || Constants.EMPTY_STRING, this.cryptoObj);\n \n // token nonce check (TODO: Add a warning if no nonce is given?)\n if (authCodePayload && !StringUtils.isEmpty(authCodePayload.nonce)) {\n if (idTokenObj.claims.nonce !== authCodePayload.nonce) {\n throw ClientAuthError.createNonceMismatchError();\n }\n }\n }\n\n // generate homeAccountId\n this.homeAccountIdentifier = AccountEntity.generateHomeAccountId(serverTokenResponse.client_info || Constants.EMPTY_STRING, authority.authorityType, this.logger, this.cryptoObj, idTokenObj);\n\n // save the response tokens\n let requestStateObj: RequestStateObject | undefined;\n if (!!authCodePayload && !!authCodePayload.state) {\n requestStateObj = ProtocolUtils.parseRequestState(this.cryptoObj, authCodePayload.state);\n }\n\n // Add keyId from request to serverTokenResponse if defined\n serverTokenResponse.key_id = serverTokenResponse.key_id || request.sshKid || undefined;\n\n const cacheRecord = this.generateCacheRecord(serverTokenResponse, authority, reqTimestamp, request, idTokenObj, oboAssertion, authCodePayload);\n let cacheContext;\n try {\n if (this.persistencePlugin && this.serializableCache) {\n this.logger.verbose(\"Persistence enabled, calling beforeCacheAccess\");\n cacheContext = new TokenCacheContext(this.serializableCache, true);\n await this.persistencePlugin.beforeCacheAccess(cacheContext);\n }\n /*\n * When saving a refreshed tokens to the cache, it is expected that the account that was used is present in the cache.\n * If not present, we should return null, as it's the case that another application called removeAccount in between\n * the calls to getAllAccounts and acquireTokenSilent. We should not overwrite that removal.\n */\n if (handlingRefreshTokenResponse && cacheRecord.account) {\n const key = cacheRecord.account.generateAccountKey();\n const account = this.cacheStorage.getAccount(key);\n if (!account) {\n this.logger.warning(\"Account used to refresh tokens not in persistence, refreshed tokens will not be stored in the cache\");\n return ResponseHandler.generateAuthenticationResult(this.cryptoObj, authority, cacheRecord, false, request, idTokenObj, requestStateObj);\n }\n }\n await this.cacheStorage.saveCacheRecord(cacheRecord);\n } finally {\n if (this.persistencePlugin && this.serializableCache && cacheContext) {\n this.logger.verbose(\"Persistence enabled, calling afterCacheAccess\");\n await this.persistencePlugin.afterCacheAccess(cacheContext);\n }\n }\n return ResponseHandler.generateAuthenticationResult(this.cryptoObj, authority, cacheRecord, false, request, idTokenObj, requestStateObj, serverTokenResponse.spa_code);\n }\n\n /**\n * Generates CacheRecord\n * @param serverTokenResponse\n * @param idTokenObj\n * @param authority\n */\n private generateCacheRecord(serverTokenResponse: ServerAuthorizationTokenResponse, authority: Authority, reqTimestamp: number, request: BaseAuthRequest, idTokenObj?: AuthToken, oboAssertion?: string, authCodePayload?: AuthorizationCodePayload): CacheRecord {\n const env = authority.getPreferredCache();\n if (StringUtils.isEmpty(env)) {\n throw ClientAuthError.createInvalidCacheEnvironmentError();\n }\n\n // IdToken: non AAD scenarios can have empty realm\n let cachedIdToken: IdTokenEntity | undefined;\n let cachedAccount: AccountEntity | undefined;\n if (!StringUtils.isEmpty(serverTokenResponse.id_token) && !!idTokenObj) {\n cachedIdToken = IdTokenEntity.createIdTokenEntity(\n this.homeAccountIdentifier,\n env,\n serverTokenResponse.id_token || Constants.EMPTY_STRING,\n this.clientId,\n idTokenObj.claims.tid || Constants.EMPTY_STRING,\n oboAssertion\n );\n\n cachedAccount = this.generateAccountEntity(\n serverTokenResponse,\n idTokenObj,\n authority,\n oboAssertion,\n authCodePayload\n );\n }\n\n // AccessToken\n let cachedAccessToken: AccessTokenEntity | null = null;\n if (!StringUtils.isEmpty(serverTokenResponse.access_token)) {\n\n // If scopes not returned in server response, use request scopes\n const responseScopes = serverTokenResponse.scope ? ScopeSet.fromString(serverTokenResponse.scope) : new ScopeSet(request.scopes || []);\n\n /*\n * Use timestamp calculated before request\n * Server may return timestamps as strings, parse to numbers if so.\n */\n const expiresIn: number = (typeof serverTokenResponse.expires_in === \"string\" ? parseInt(serverTokenResponse.expires_in, 10) : serverTokenResponse.expires_in) || 0;\n const extExpiresIn: number = (typeof serverTokenResponse.ext_expires_in === \"string\" ? parseInt(serverTokenResponse.ext_expires_in, 10) : serverTokenResponse.ext_expires_in) || 0;\n const refreshIn: number | undefined = (typeof serverTokenResponse.refresh_in === \"string\" ? parseInt(serverTokenResponse.refresh_in, 10) : serverTokenResponse.refresh_in) || undefined;\n const tokenExpirationSeconds = reqTimestamp + expiresIn;\n const extendedTokenExpirationSeconds = tokenExpirationSeconds + extExpiresIn;\n const refreshOnSeconds = refreshIn && refreshIn > 0 ? reqTimestamp + refreshIn : undefined;\n\n // non AAD scenarios can have empty realm\n cachedAccessToken = AccessTokenEntity.createAccessTokenEntity(\n this.homeAccountIdentifier,\n env,\n serverTokenResponse.access_token || Constants.EMPTY_STRING,\n this.clientId,\n idTokenObj ? idTokenObj.claims.tid || Constants.EMPTY_STRING : authority.tenant,\n responseScopes.printScopes(),\n tokenExpirationSeconds,\n extendedTokenExpirationSeconds,\n this.cryptoObj,\n refreshOnSeconds,\n serverTokenResponse.token_type,\n oboAssertion,\n serverTokenResponse.key_id,\n request.claims,\n request.requestedClaimsHash\n );\n }\n \n // refreshToken\n let cachedRefreshToken: RefreshTokenEntity | null = null;\n if (!StringUtils.isEmpty(serverTokenResponse.refresh_token)) {\n cachedRefreshToken = RefreshTokenEntity.createRefreshTokenEntity(\n this.homeAccountIdentifier,\n env,\n serverTokenResponse.refresh_token || Constants.EMPTY_STRING,\n this.clientId,\n serverTokenResponse.foci,\n oboAssertion\n );\n }\n\n // appMetadata\n let cachedAppMetadata: AppMetadataEntity | null = null;\n if (!StringUtils.isEmpty(serverTokenResponse.foci)) {\n cachedAppMetadata = AppMetadataEntity.createAppMetadataEntity(this.clientId, env, serverTokenResponse.foci);\n }\n\n return new CacheRecord(cachedAccount, cachedIdToken, cachedAccessToken, cachedRefreshToken, cachedAppMetadata);\n }\n\n /**\n * Generate Account\n * @param serverTokenResponse\n * @param idToken\n * @param authority\n */\n private generateAccountEntity(serverTokenResponse: ServerAuthorizationTokenResponse, idToken: AuthToken, authority: Authority, oboAssertion?: string, authCodePayload?: AuthorizationCodePayload): AccountEntity {\n const authorityType = authority.authorityType;\n const cloudGraphHostName = authCodePayload ? authCodePayload.cloud_graph_host_name : Constants.EMPTY_STRING;\n const msGraphhost = authCodePayload ? authCodePayload.msgraph_host : Constants.EMPTY_STRING;\n\n // ADFS does not require client_info in the response\n if (authorityType === AuthorityType.Adfs) {\n this.logger.verbose(\"Authority type is ADFS, creating ADFS account\");\n return AccountEntity.createGenericAccount(this.homeAccountIdentifier, idToken, authority, oboAssertion, cloudGraphHostName, msGraphhost);\n }\n\n // This fallback applies to B2C as well as they fall under an AAD account type.\n if (StringUtils.isEmpty(serverTokenResponse.client_info) && authority.protocolMode === \"AAD\") {\n throw ClientAuthError.createClientInfoEmptyError();\n }\n\n return serverTokenResponse.client_info ?\n AccountEntity.createAccount(serverTokenResponse.client_info, this.homeAccountIdentifier, idToken, authority, oboAssertion, cloudGraphHostName, msGraphhost) :\n AccountEntity.createGenericAccount(this.homeAccountIdentifier, idToken, authority, oboAssertion, cloudGraphHostName, msGraphhost);\n }\n\n /**\n * Creates an @AuthenticationResult from @CacheRecord , @IdToken , and a boolean that states whether or not the result is from cache.\n *\n * Optionally takes a state string that is set as-is in the response.\n *\n * @param cacheRecord\n * @param idTokenObj\n * @param fromTokenCache\n * @param stateString\n */\n static async generateAuthenticationResult(\n cryptoObj: ICrypto, \n authority: Authority,\n cacheRecord: CacheRecord, \n fromTokenCache: boolean, \n request: BaseAuthRequest,\n idTokenObj?: AuthToken,\n requestState?: RequestStateObject,\n code?: string\n ): Promise {\n let accessToken: string = Constants.EMPTY_STRING;\n let responseScopes: Array = [];\n let expiresOn: Date | null = null;\n let extExpiresOn: Date | undefined;\n let familyId: string = Constants.EMPTY_STRING;\n\n if (cacheRecord.accessToken) {\n if (cacheRecord.accessToken.tokenType === AuthenticationScheme.POP) {\n const popTokenGenerator: PopTokenGenerator = new PopTokenGenerator(cryptoObj);\n const { secret, keyId } = cacheRecord.accessToken;\n\n if (!keyId) {\n throw ClientAuthError.createKeyIdMissingError();\n }\n\n accessToken = await popTokenGenerator.signPopToken(secret, keyId, request);\n } else {\n accessToken = cacheRecord.accessToken.secret;\n }\n responseScopes = ScopeSet.fromString(cacheRecord.accessToken.target).asArray();\n expiresOn = new Date(Number(cacheRecord.accessToken.expiresOn) * 1000);\n extExpiresOn = new Date(Number(cacheRecord.accessToken.extendedExpiresOn) * 1000);\n }\n\n if (cacheRecord.appMetadata) {\n familyId = cacheRecord.appMetadata.familyId === THE_FAMILY_ID ? THE_FAMILY_ID : Constants.EMPTY_STRING;\n }\n const uid = idTokenObj?.claims.oid || idTokenObj?.claims.sub || Constants.EMPTY_STRING;\n const tid = idTokenObj?.claims.tid || Constants.EMPTY_STRING;\n\n return {\n authority: authority.canonicalAuthority,\n uniqueId: uid,\n tenantId: tid,\n scopes: responseScopes,\n account: cacheRecord.account ? cacheRecord.account.getAccountInfo() : null,\n idToken: idTokenObj ? idTokenObj.rawToken : Constants.EMPTY_STRING,\n idTokenClaims: idTokenObj ? idTokenObj.claims : {},\n accessToken: accessToken,\n fromCache: fromTokenCache,\n expiresOn: expiresOn,\n correlationId: request.correlationId,\n extExpiresOn: extExpiresOn,\n familyId: familyId,\n tokenType: cacheRecord.accessToken?.tokenType || Constants.EMPTY_STRING,\n state: requestState ? requestState.userRequestState : Constants.EMPTY_STRING,\n cloudGraphHostName: cacheRecord.account?.cloudGraphHostName || Constants.EMPTY_STRING,\n msGraphHost: cacheRecord.account?.msGraphHost || Constants.EMPTY_STRING,\n code,\n fromNativeBroker: false\n };\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { BaseClient } from \"./BaseClient\";\nimport { CommonAuthorizationUrlRequest } from \"../request/CommonAuthorizationUrlRequest\";\nimport { CommonAuthorizationCodeRequest } from \"../request/CommonAuthorizationCodeRequest\";\nimport { Authority } from \"../authority/Authority\";\nimport { RequestParameterBuilder } from \"../request/RequestParameterBuilder\";\nimport { GrantType, AuthenticationScheme, PromptValue, Separators, AADServerParamKeys } from \"../utils/Constants\";\nimport { ClientConfiguration } from \"../config/ClientConfiguration\";\nimport { ServerAuthorizationTokenResponse } from \"../response/ServerAuthorizationTokenResponse\";\nimport { NetworkResponse } from \"../network/NetworkManager\";\nimport { ResponseHandler } from \"../response/ResponseHandler\";\nimport { AuthenticationResult } from \"../response/AuthenticationResult\";\nimport { StringUtils } from \"../utils/StringUtils\";\nimport { ClientAuthError } from \"../error/ClientAuthError\";\nimport { UrlString } from \"../url/UrlString\";\nimport { ServerAuthorizationCodeResponse } from \"../response/ServerAuthorizationCodeResponse\";\nimport { CommonEndSessionRequest } from \"../request/CommonEndSessionRequest\";\nimport { PopTokenGenerator } from \"../crypto/PopTokenGenerator\";\nimport { RequestThumbprint } from \"../network/RequestThumbprint\";\nimport { AuthorizationCodePayload } from \"../response/AuthorizationCodePayload\";\nimport { TimeUtils } from \"../utils/TimeUtils\";\nimport { TokenClaims } from \"../account/TokenClaims\";\nimport { AccountInfo } from \"../account/AccountInfo\";\nimport { buildClientInfoFromHomeAccountId, buildClientInfo } from \"../account/ClientInfo\";\nimport { CcsCredentialType, CcsCredential } from \"../account/CcsCredential\";\nimport { ClientConfigurationError } from \"../error/ClientConfigurationError\";\nimport { RequestValidator } from \"../request/RequestValidator\";\n\n/**\n * Oauth2.0 Authorization Code client\n */\nexport class AuthorizationCodeClient extends BaseClient {\n // Flag to indicate if client is for hybrid spa auth code redemption\n protected includeRedirectUri: boolean = true;\n\n constructor(configuration: ClientConfiguration) {\n super(configuration);\n }\n\n /**\n * Creates the URL of the authorization request letting the user input credentials and consent to the\n * application. The URL target the /authorize endpoint of the authority configured in the\n * application object.\n *\n * Once the user inputs their credentials and consents, the authority will send a response to the redirect URI\n * sent in the request and should contain an authorization code, which can then be used to acquire tokens via\n * acquireToken(AuthorizationCodeRequest)\n * @param request\n */\n async getAuthCodeUrl(request: CommonAuthorizationUrlRequest): Promise {\n const queryString = await this.createAuthCodeUrlQueryString(request);\n\n return UrlString.appendQueryString(this.authority.authorizationEndpoint, queryString);\n }\n\n /**\n * API to acquire a token in exchange of 'authorization_code` acquired by the user in the first leg of the\n * authorization_code_grant\n * @param request\n */\n async acquireToken(request: CommonAuthorizationCodeRequest, authCodePayload?: AuthorizationCodePayload): Promise {\n this.logger.info(\"in acquireToken call\");\n if (!request || StringUtils.isEmpty(request.code)) {\n throw ClientAuthError.createTokenRequestCannotBeMadeError();\n }\n\n const reqTimestamp = TimeUtils.nowSeconds();\n const response = await this.executeTokenRequest(this.authority, request);\n\n const responseHandler = new ResponseHandler(\n this.config.authOptions.clientId,\n this.cacheManager,\n this.cryptoUtils,\n this.logger,\n this.config.serializableCache,\n this.config.persistencePlugin\n );\n\n // Validate response. This function throws a server error if an error is returned by the server.\n responseHandler.validateTokenResponse(response.body);\n return await responseHandler.handleServerTokenResponse(response.body, this.authority, reqTimestamp, request, authCodePayload);\n }\n\n /**\n * Handles the hash fragment response from public client code request. Returns a code response used by\n * the client to exchange for a token in acquireToken.\n * @param hashFragment\n */\n handleFragmentResponse(hashFragment: string, cachedState: string): AuthorizationCodePayload {\n // Handle responses.\n const responseHandler = new ResponseHandler(this.config.authOptions.clientId, this.cacheManager, this.cryptoUtils, this.logger, null, null);\n\n // Deserialize hash fragment response parameters.\n const hashUrlString = new UrlString(hashFragment);\n // Deserialize hash fragment response parameters.\n const serverParams: ServerAuthorizationCodeResponse = UrlString.getDeserializedHash(hashUrlString.getHash());\n\n // Get code response\n responseHandler.validateServerAuthorizationCodeResponse(serverParams, cachedState, this.cryptoUtils);\n\n // throw when there is no auth code in the response\n if (!serverParams.code) {\n throw ClientAuthError.createNoAuthCodeInServerResponseError();\n }\n return {\n ...serverParams,\n // Code param is optional in ServerAuthorizationCodeResponse but required in AuthorizationCodePaylod\n code: serverParams.code\n };\n }\n\n /**\n * Used to log out the current user, and redirect the user to the postLogoutRedirectUri.\n * Default behaviour is to redirect the user to `window.location.href`.\n * @param authorityUri\n */\n getLogoutUri(logoutRequest: CommonEndSessionRequest): string {\n // Throw error if logoutRequest is null/undefined\n if (!logoutRequest) {\n throw ClientConfigurationError.createEmptyLogoutRequestError();\n }\n const queryString = this.createLogoutUrlQueryString(logoutRequest);\n\n // Construct logout URI.\n return UrlString.appendQueryString(this.authority.endSessionEndpoint, queryString);\n }\n\n /**\n * Executes POST request to token endpoint\n * @param authority\n * @param request\n */\n private async executeTokenRequest(authority: Authority, request: CommonAuthorizationCodeRequest): Promise> {\n const thumbprint: RequestThumbprint = {\n clientId: this.config.authOptions.clientId,\n authority: authority.canonicalAuthority,\n scopes: request.scopes,\n claims: request.claims,\n authenticationScheme: request.authenticationScheme,\n resourceRequestMethod: request.resourceRequestMethod,\n resourceRequestUri: request.resourceRequestUri,\n shrClaims: request.shrClaims,\n sshKid: request.sshKid\n };\n\n const requestBody = await this.createTokenRequestBody(request);\n const queryParameters = this.createTokenQueryParameters(request);\n let ccsCredential: CcsCredential | undefined = undefined;\n if (request.clientInfo) {\n try {\n const clientInfo = buildClientInfo(request.clientInfo, this.cryptoUtils);\n ccsCredential = {\n credential: `${clientInfo.uid}${Separators.CLIENT_INFO_SEPARATOR}${clientInfo.utid}`,\n type: CcsCredentialType.HOME_ACCOUNT_ID\n };\n } catch (e) {\n this.logger.verbose(\"Could not parse client info for CCS Header: \" + e);\n }\n }\n const headers: Record = this.createTokenRequestHeaders(ccsCredential || request.ccsCredential);\n const endpoint = StringUtils.isEmpty(queryParameters) ? authority.tokenEndpoint : `${authority.tokenEndpoint}?${queryParameters}`;\n\n return this.executePostToTokenEndpoint(endpoint, requestBody, headers, thumbprint);\n }\n\n /**\n * Creates query string for the /token request\n * @param request\n */\n private createTokenQueryParameters(request: CommonAuthorizationCodeRequest): string {\n const parameterBuilder = new RequestParameterBuilder();\n\n if (request.tokenQueryParameters) {\n parameterBuilder.addExtraQueryParameters(request.tokenQueryParameters);\n }\n\n return parameterBuilder.createQueryString();\n }\n\n /**\n * Generates a map for all the params to be sent to the service\n * @param request\n */\n private async createTokenRequestBody(request: CommonAuthorizationCodeRequest): Promise {\n const parameterBuilder = new RequestParameterBuilder();\n\n parameterBuilder.addClientId(this.config.authOptions.clientId);\n\n /*\n * For hybrid spa flow, there will be a code but no verifier\n * In this scenario, don't include redirect uri as auth code will not be bound to redirect URI\n */\n if (!this.includeRedirectUri) {\n // Just validate\n RequestValidator.validateRedirectUri(request.redirectUri);\n } else {\n // Validate and include redirect uri\n parameterBuilder.addRedirectUri(request.redirectUri);\n }\n\n // Add scope array, parameter builder will add default scopes and dedupe\n parameterBuilder.addScopes(request.scopes);\n\n // add code: user set, not validated\n parameterBuilder.addAuthorizationCode(request.code);\n\n // Add library metadata\n parameterBuilder.addLibraryInfo(this.config.libraryInfo);\n parameterBuilder.addApplicationTelemetry(this.config.telemetry.application);\n parameterBuilder.addThrottling();\n\n if (this.serverTelemetryManager) {\n parameterBuilder.addServerTelemetry(this.serverTelemetryManager);\n }\n\n // add code_verifier if passed\n if (request.codeVerifier) {\n parameterBuilder.addCodeVerifier(request.codeVerifier);\n }\n\n if (this.config.clientCredentials.clientSecret) {\n parameterBuilder.addClientSecret(this.config.clientCredentials.clientSecret);\n }\n\n // Use clientAssertion from request, fallback to client assertion in base configuration\n const clientAssertion = request.clientAssertion || this.config.clientCredentials.clientAssertion;\n\n if (clientAssertion) {\n parameterBuilder.addClientAssertion(clientAssertion.assertion);\n parameterBuilder.addClientAssertionType(clientAssertion.assertionType);\n }\n\n parameterBuilder.addGrantType(GrantType.AUTHORIZATION_CODE_GRANT);\n parameterBuilder.addClientInfo();\n\n if (request.authenticationScheme === AuthenticationScheme.POP) {\n const popTokenGenerator = new PopTokenGenerator(this.cryptoUtils);\n const reqCnfData = await popTokenGenerator.generateCnf(request);\n // SPA PoP requires full Base64Url encoded req_cnf string (unhashed)\n parameterBuilder.addPopToken(reqCnfData.reqCnfString);\n } else if (request.authenticationScheme === AuthenticationScheme.SSH) {\n if(request.sshJwk) {\n parameterBuilder.addSshJwk(request.sshJwk);\n } else {\n throw ClientConfigurationError.createMissingSshJwkError();\n }\n }\n\n const correlationId = request.correlationId || this.config.cryptoInterface.createNewGuid();\n parameterBuilder.addCorrelationId(correlationId);\n\n if (!StringUtils.isEmptyObj(request.claims) || this.config.authOptions.clientCapabilities && this.config.authOptions.clientCapabilities.length > 0) {\n parameterBuilder.addClaims(request.claims, this.config.authOptions.clientCapabilities);\n }\n\n let ccsCred: CcsCredential | undefined = undefined;\n if (request.clientInfo) {\n try {\n const clientInfo = buildClientInfo(request.clientInfo, this.cryptoUtils);\n ccsCred = {\n credential: `${clientInfo.uid}${Separators.CLIENT_INFO_SEPARATOR}${clientInfo.utid}`,\n type: CcsCredentialType.HOME_ACCOUNT_ID\n };\n } catch (e) {\n this.logger.verbose(\"Could not parse client info for CCS Header: \" + e);\n }\n } else {\n ccsCred = request.ccsCredential;\n }\n\n // Adds these as parameters in the request instead of headers to prevent CORS preflight request\n if (this.config.systemOptions.preventCorsPreflight && ccsCred) {\n switch (ccsCred.type) {\n case CcsCredentialType.HOME_ACCOUNT_ID:\n try {\n const clientInfo = buildClientInfoFromHomeAccountId(ccsCred.credential);\n parameterBuilder.addCcsOid(clientInfo);\n } catch (e) {\n this.logger.verbose(\"Could not parse home account ID for CCS Header: \" + e);\n }\n break;\n case CcsCredentialType.UPN:\n parameterBuilder.addCcsUpn(ccsCred.credential);\n break;\n }\n }\n\n if (request.tokenBodyParameters) {\n parameterBuilder.addExtraQueryParameters(request.tokenBodyParameters);\n }\n\n // Add hybrid spa parameters if not already provided\n if (request.enableSpaAuthorizationCode && (!request.tokenBodyParameters || !request.tokenBodyParameters[AADServerParamKeys.RETURN_SPA_CODE])) {\n parameterBuilder.addExtraQueryParameters({\n [AADServerParamKeys.RETURN_SPA_CODE]: \"1\"\n });\n }\n\n return parameterBuilder.createQueryString();\n }\n\n /**\n * This API validates the `AuthorizationCodeUrlRequest` and creates a URL\n * @param request\n */\n private async createAuthCodeUrlQueryString(request: CommonAuthorizationUrlRequest): Promise {\n const parameterBuilder = new RequestParameterBuilder();\n\n parameterBuilder.addClientId(this.config.authOptions.clientId);\n\n const requestScopes = [...request.scopes || [], ...request.extraScopesToConsent || []];\n parameterBuilder.addScopes(requestScopes);\n\n // validate the redirectUri (to be a non null value)\n parameterBuilder.addRedirectUri(request.redirectUri);\n\n // generate the correlationId if not set by the user and add\n const correlationId = request.correlationId || this.config.cryptoInterface.createNewGuid();\n parameterBuilder.addCorrelationId(correlationId);\n\n // add response_mode. If not passed in it defaults to query.\n parameterBuilder.addResponseMode(request.responseMode);\n\n // add response_type = code\n parameterBuilder.addResponseTypeCode();\n\n // add library info parameters\n parameterBuilder.addLibraryInfo(this.config.libraryInfo);\n parameterBuilder.addApplicationTelemetry(this.config.telemetry.application);\n\n // add client_info=1\n parameterBuilder.addClientInfo();\n\n if (request.codeChallenge && request.codeChallengeMethod) {\n parameterBuilder.addCodeChallengeParams(request.codeChallenge, request.codeChallengeMethod);\n }\n\n if (request.prompt) {\n parameterBuilder.addPrompt(request.prompt);\n }\n\n if (request.domainHint) {\n parameterBuilder.addDomainHint(request.domainHint);\n }\n\n // Add sid or loginHint with preference for sid -> loginHint -> username of AccountInfo object\n if (request.prompt !== PromptValue.SELECT_ACCOUNT) {\n // AAD will throw if prompt=select_account is passed with an account hint\n if (request.sid && request.prompt === PromptValue.NONE) {\n // SessionID is only used in silent calls\n this.logger.verbose(\"createAuthCodeUrlQueryString: Prompt is none, adding sid from request\");\n parameterBuilder.addSid(request.sid);\n } else if (request.account) {\n const accountSid = this.extractAccountSid(request.account);\n // If account and loginHint are provided, we will check account first for sid before adding loginHint\n if (accountSid && request.prompt === PromptValue.NONE) {\n // SessionId is only used in silent calls\n this.logger.verbose(\"createAuthCodeUrlQueryString: Prompt is none, adding sid from account\");\n parameterBuilder.addSid(accountSid);\n try {\n const clientInfo = buildClientInfoFromHomeAccountId(request.account.homeAccountId);\n parameterBuilder.addCcsOid(clientInfo);\n } catch (e) {\n this.logger.verbose(\"Could not parse home account ID for CCS Header: \" + e);\n }\n } else if (request.loginHint) {\n this.logger.verbose(\"createAuthCodeUrlQueryString: Adding login_hint from request\");\n parameterBuilder.addLoginHint(request.loginHint);\n parameterBuilder.addCcsUpn(request.loginHint);\n } else if (request.account.username) {\n // Fallback to account username if provided\n this.logger.verbose(\"createAuthCodeUrlQueryString: Adding login_hint from account\");\n parameterBuilder.addLoginHint(request.account.username);\n try {\n const clientInfo = buildClientInfoFromHomeAccountId(request.account.homeAccountId);\n parameterBuilder.addCcsOid(clientInfo);\n } catch (e) {\n this.logger.verbose(\"Could not parse home account ID for CCS Header: \" + e);\n }\n }\n } else if (request.loginHint) {\n this.logger.verbose(\"createAuthCodeUrlQueryString: No account, adding login_hint from request\");\n parameterBuilder.addLoginHint(request.loginHint);\n parameterBuilder.addCcsUpn(request.loginHint);\n }\n } else {\n this.logger.verbose(\"createAuthCodeUrlQueryString: Prompt is select_account, ignoring account hints\");\n }\n\n if (request.nonce) {\n parameterBuilder.addNonce(request.nonce);\n }\n\n if (request.state) {\n parameterBuilder.addState(request.state);\n }\n\n if (!StringUtils.isEmpty(request.claims) || this.config.authOptions.clientCapabilities && this.config.authOptions.clientCapabilities.length > 0) {\n parameterBuilder.addClaims(request.claims, this.config.authOptions.clientCapabilities);\n }\n\n if (request.extraQueryParameters) {\n parameterBuilder.addExtraQueryParameters(request.extraQueryParameters);\n }\n\n if (request.nativeBroker) {\n // signal ests that this is a WAM call\n parameterBuilder.addNativeBroker();\n\n // pass the req_cnf for POP\n if (request.authenticationScheme === AuthenticationScheme.POP) {\n const popTokenGenerator = new PopTokenGenerator(this.cryptoUtils);\n // to reduce the URL length, it is recommended to send the hash of the req_cnf instead of the whole string\n const reqCnfData = await popTokenGenerator.generateCnf(request);\n parameterBuilder.addPopToken(reqCnfData.reqCnfHash);\n }\n }\n\n return parameterBuilder.createQueryString();\n }\n\n /**\n * This API validates the `EndSessionRequest` and creates a URL\n * @param request\n */\n private createLogoutUrlQueryString(request: CommonEndSessionRequest): string {\n const parameterBuilder = new RequestParameterBuilder();\n\n if (request.postLogoutRedirectUri) {\n parameterBuilder.addPostLogoutRedirectUri(request.postLogoutRedirectUri);\n }\n\n if (request.correlationId) {\n parameterBuilder.addCorrelationId(request.correlationId);\n }\n\n if (request.idTokenHint) {\n parameterBuilder.addIdTokenHint(request.idTokenHint);\n }\n\n if(request.state) {\n parameterBuilder.addState(request.state);\n }\n\n if (request.logoutHint) {\n parameterBuilder.addLogoutHint(request.logoutHint);\n }\n\n if (request.extraQueryParameters) {\n parameterBuilder.addExtraQueryParameters(request.extraQueryParameters);\n }\n\n return parameterBuilder.createQueryString();\n }\n\n /**\n * Helper to get sid from account. Returns null if idTokenClaims are not present or sid is not present.\n * @param account\n */\n private extractAccountSid(account: AccountInfo): string | null {\n if (account.idTokenClaims) {\n const tokenClaims = account.idTokenClaims as TokenClaims;\n return tokenClaims.sid || null;\n }\n return null;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Tenant Discovery Response which contains the relevant OAuth endpoints and data needed for authentication and authorization.\n */\nexport type OpenIdConfigResponse = {\n authorization_endpoint: string;\n token_endpoint: string;\n end_session_endpoint?: string;\n issuer: string;\n};\n\nexport function isOpenIdConfigResponse(response: object): boolean {\n return (\n response.hasOwnProperty(\"authorization_endpoint\") &&\n response.hasOwnProperty(\"token_endpoint\") && \n response.hasOwnProperty(\"issuer\")\n );\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { INetworkModule } from \"../network/INetworkModule\";\nimport { NetworkResponse } from \"../network/NetworkManager\";\nimport { IMDSBadResponse } from \"../response/IMDSBadResponse\";\nimport { Constants, RegionDiscoverySources, ResponseCodes } from \"../utils/Constants\";\nimport { RegionDiscoveryMetadata } from \"./RegionDiscoveryMetadata\";\nimport { ImdsOptions } from \"./ImdsOptions\";\n\nexport class RegionDiscovery {\n // Network interface to make requests with.\n protected networkInterface: INetworkModule;\n // Options for the IMDS endpoint request\n protected static IMDS_OPTIONS: ImdsOptions = {\n headers: {\n Metadata: \"true\",\n },\n };\n\n constructor(networkInterface: INetworkModule) {\n this.networkInterface = networkInterface;\n }\n\n /**\n * Detect the region from the application's environment.\n * \n * @returns Promise\n */\n public async detectRegion(environmentRegion: string | undefined, regionDiscoveryMetadata: RegionDiscoveryMetadata, proxyUrl: string): Promise {\n // Initialize auto detected region with the region from the envrionment \n let autodetectedRegionName = environmentRegion;\n\n // Check if a region was detected from the environment, if not, attempt to get the region from IMDS \n if (!autodetectedRegionName) {\n const options = RegionDiscovery.IMDS_OPTIONS;\n if (proxyUrl) {\n options.proxyUrl = proxyUrl;\n }\n\n try {\n const localIMDSVersionResponse = await this.getRegionFromIMDS(Constants.IMDS_VERSION, options);\n if (localIMDSVersionResponse.status === ResponseCodes.httpSuccess) {\n autodetectedRegionName = localIMDSVersionResponse.body;\n regionDiscoveryMetadata.region_source = RegionDiscoverySources.IMDS;\n } \n \n // If the response using the local IMDS version failed, try to fetch the current version of IMDS and retry. \n if (localIMDSVersionResponse.status === ResponseCodes.httpBadRequest) {\n const currentIMDSVersion = await this.getCurrentVersion(options);\n if (!currentIMDSVersion) {\n regionDiscoveryMetadata.region_source = RegionDiscoverySources.FAILED_AUTO_DETECTION;\n return null;\n }\n\n const currentIMDSVersionResponse = await this.getRegionFromIMDS(currentIMDSVersion, options);\n if (currentIMDSVersionResponse.status === ResponseCodes.httpSuccess) {\n autodetectedRegionName = currentIMDSVersionResponse.body;\n regionDiscoveryMetadata.region_source = RegionDiscoverySources.IMDS;\n }\n }\n } catch(e) {\n regionDiscoveryMetadata.region_source = RegionDiscoverySources.FAILED_AUTO_DETECTION;\n return null;\n } \n } else {\n regionDiscoveryMetadata.region_source = RegionDiscoverySources.ENVIRONMENT_VARIABLE;\n }\n\n // If no region was auto detected from the environment or from the IMDS endpoint, mark the attempt as a FAILED_AUTO_DETECTION\n if (!autodetectedRegionName) {\n regionDiscoveryMetadata.region_source = RegionDiscoverySources.FAILED_AUTO_DETECTION;\n }\n\n return autodetectedRegionName || null;\n }\n\n /**\n * Make the call to the IMDS endpoint\n * \n * @param imdsEndpointUrl\n * @returns Promise>\n */\n private async getRegionFromIMDS(version: string, options: ImdsOptions): Promise> {\n return this.networkInterface.sendGetRequestAsync(`${Constants.IMDS_ENDPOINT}?api-version=${version}&format=text`, options, Constants.IMDS_TIMEOUT);\n }\n\n /**\n * Get the most recent version of the IMDS endpoint available\n * \n * @returns Promise\n */\n private async getCurrentVersion(options: ImdsOptions): Promise {\n try {\n const response = await this.networkInterface.sendGetRequestAsync(`${Constants.IMDS_ENDPOINT}?format=json`, options);\n\n // When IMDS endpoint is called without the api version query param, bad request response comes back with latest version.\n if (response.status === ResponseCodes.httpBadRequest && response.body && response.body[\"newest-versions\"] && response.body[\"newest-versions\"].length > 0) {\n return response.body[\"newest-versions\"][0];\n }\n\n return null;\n } catch (e) {\n return null;\n }\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AuthorityType } from \"./AuthorityType\";\nimport { isOpenIdConfigResponse, OpenIdConfigResponse } from \"./OpenIdConfigResponse\";\nimport { UrlString } from \"../url/UrlString\";\nimport { IUri } from \"../url/IUri\";\nimport { ClientAuthError } from \"../error/ClientAuthError\";\nimport { INetworkModule } from \"../network/INetworkModule\";\nimport { AuthorityMetadataSource, Constants, RegionDiscoveryOutcomes } from \"../utils/Constants\";\nimport { ClientConfigurationError } from \"../error/ClientConfigurationError\";\nimport { ProtocolMode } from \"./ProtocolMode\";\nimport { ICacheManager } from \"../cache/interface/ICacheManager\";\nimport { AuthorityMetadataEntity } from \"../cache/entities/AuthorityMetadataEntity\";\nimport { AuthorityOptions , AzureCloudInstance } from \"./AuthorityOptions\";\nimport { CloudInstanceDiscoveryResponse, isCloudInstanceDiscoveryResponse } from \"./CloudInstanceDiscoveryResponse\";\nimport { CloudDiscoveryMetadata } from \"./CloudDiscoveryMetadata\";\nimport { RegionDiscovery } from \"./RegionDiscovery\";\nimport { RegionDiscoveryMetadata } from \"./RegionDiscoveryMetadata\";\nimport { ImdsOptions } from \"./ImdsOptions\";\nimport { AzureCloudOptions } from \"../config/ClientConfiguration\";\n\n/**\n * The authority class validates the authority URIs used by the user, and retrieves the OpenID Configuration Data from the\n * endpoint. It will store the pertinent config data in this object for use during token calls.\n */\nexport class Authority {\n\n // Canonical authority url string\n private _canonicalAuthority: UrlString;\n // Canonicaly authority url components\n private _canonicalAuthorityUrlComponents: IUri | null;\n // Network interface to make requests with.\n protected networkInterface: INetworkModule;\n // Cache Manager to cache network responses\n protected cacheManager: ICacheManager;\n // Protocol mode to construct endpoints\n private authorityOptions: AuthorityOptions;\n // Authority metadata\n private metadata: AuthorityMetadataEntity;\n // Region discovery service\n private regionDiscovery: RegionDiscovery;\n // Region discovery metadata\n public regionDiscoveryMetadata: RegionDiscoveryMetadata;\n // Proxy url string\n private proxyUrl: string;\n\n constructor(authority: string, networkInterface: INetworkModule, cacheManager: ICacheManager, authorityOptions: AuthorityOptions, proxyUrl?: string) {\n this.canonicalAuthority = authority;\n this._canonicalAuthority.validateAsUri();\n this.networkInterface = networkInterface;\n this.cacheManager = cacheManager;\n this.authorityOptions = authorityOptions;\n this.regionDiscovery = new RegionDiscovery(networkInterface);\n this.regionDiscoveryMetadata = { region_used: undefined, region_source: undefined, region_outcome: undefined };\n this.proxyUrl = proxyUrl || Constants.EMPTY_STRING;\n }\n\n // See above for AuthorityType\n public get authorityType(): AuthorityType {\n const pathSegments = this.canonicalAuthorityUrlComponents.PathSegments;\n\n if (pathSegments.length && pathSegments[0].toLowerCase() === Constants.ADFS) {\n return AuthorityType.Adfs;\n }\n\n return AuthorityType.Default;\n }\n\n /**\n * ProtocolMode enum representing the way endpoints are constructed.\n */\n public get protocolMode(): ProtocolMode {\n return this.authorityOptions.protocolMode;\n }\n\n /**\n * Returns authorityOptions which can be used to reinstantiate a new authority instance\n */\n public get options(): AuthorityOptions {\n return this.authorityOptions;\n }\n\n /**\n * A URL that is the authority set by the developer\n */\n public get canonicalAuthority(): string {\n return this._canonicalAuthority.urlString;\n }\n\n /**\n * Sets canonical authority.\n */\n public set canonicalAuthority(url: string) {\n this._canonicalAuthority = new UrlString(url);\n this._canonicalAuthority.validateAsUri();\n this._canonicalAuthorityUrlComponents = null;\n }\n\n /**\n * Get authority components.\n */\n public get canonicalAuthorityUrlComponents(): IUri {\n if (!this._canonicalAuthorityUrlComponents) {\n this._canonicalAuthorityUrlComponents = this._canonicalAuthority.getUrlComponents();\n }\n\n return this._canonicalAuthorityUrlComponents;\n }\n\n /**\n * Get hostname and port i.e. login.microsoftonline.com\n */\n public get hostnameAndPort(): string {\n return this.canonicalAuthorityUrlComponents.HostNameAndPort.toLowerCase();\n }\n\n /**\n * Get tenant for authority.\n */\n public get tenant(): string {\n return this.canonicalAuthorityUrlComponents.PathSegments[0];\n }\n\n /**\n * OAuth /authorize endpoint for requests\n */\n public get authorizationEndpoint(): string {\n if(this.discoveryComplete()) {\n const endpoint = this.replacePath(this.metadata.authorization_endpoint);\n return this.replaceTenant(endpoint);\n } else {\n throw ClientAuthError.createEndpointDiscoveryIncompleteError(\"Discovery incomplete.\");\n }\n }\n\n /**\n * OAuth /token endpoint for requests\n */\n public get tokenEndpoint(): string {\n if(this.discoveryComplete()) {\n const endpoint = this.replacePath(this.metadata.token_endpoint);\n return this.replaceTenant(endpoint);\n } else {\n throw ClientAuthError.createEndpointDiscoveryIncompleteError(\"Discovery incomplete.\");\n }\n }\n\n public get deviceCodeEndpoint(): string {\n if(this.discoveryComplete()) {\n const endpoint = this.replacePath(this.metadata.token_endpoint.replace(\"/token\", \"/devicecode\"));\n return this.replaceTenant(endpoint);\n } else {\n throw ClientAuthError.createEndpointDiscoveryIncompleteError(\"Discovery incomplete.\");\n }\n }\n\n /**\n * OAuth logout endpoint for requests\n */\n public get endSessionEndpoint(): string {\n if(this.discoveryComplete()) {\n // ROPC policies may not have end_session_endpoint set\n if (!this.metadata.end_session_endpoint) {\n throw ClientAuthError.createLogoutNotSupportedError();\n }\n const endpoint = this.replacePath(this.metadata.end_session_endpoint);\n return this.replaceTenant(endpoint);\n } else {\n throw ClientAuthError.createEndpointDiscoveryIncompleteError(\"Discovery incomplete.\");\n }\n }\n\n /**\n * OAuth issuer for requests\n */\n public get selfSignedJwtAudience(): string {\n if(this.discoveryComplete()) {\n const endpoint = this.replacePath(this.metadata.issuer);\n return this.replaceTenant(endpoint);\n } else {\n throw ClientAuthError.createEndpointDiscoveryIncompleteError(\"Discovery incomplete.\");\n }\n }\n\n /**\n * Replaces tenant in url path with current tenant. Defaults to common.\n * @param urlString\n */\n private replaceTenant(urlString: string): string {\n return urlString.replace(/{tenant}|{tenantid}/g, this.tenant);\n }\n\n /**\n * Replaces path such as tenant or policy with the current tenant or policy.\n * @param urlString\n */\n private replacePath(urlString: string): string {\n let endpoint = urlString;\n const cachedAuthorityUrl = new UrlString(this.metadata.canonical_authority);\n const cachedAuthorityParts = cachedAuthorityUrl.getUrlComponents().PathSegments;\n const currentAuthorityParts = this.canonicalAuthorityUrlComponents.PathSegments;\n\n currentAuthorityParts.forEach((currentPart, index) => {\n const cachedPart = cachedAuthorityParts[index];\n if (currentPart !== cachedPart) {\n endpoint = endpoint.replace(`/${cachedPart}/`, `/${currentPart}/`);\n }\n });\n\n return endpoint;\n }\n\n /**\n * The default open id configuration endpoint for any canonical authority.\n */\n protected get defaultOpenIdConfigurationEndpoint(): string {\n if (this.authorityType === AuthorityType.Adfs || this.protocolMode === ProtocolMode.OIDC) {\n return `${this.canonicalAuthority}.well-known/openid-configuration`;\n }\n return `${this.canonicalAuthority}v2.0/.well-known/openid-configuration`;\n }\n\n /**\n * Boolean that returns whethr or not tenant discovery has been completed.\n */\n discoveryComplete(): boolean {\n return !!this.metadata;\n }\n\n /**\n * Perform endpoint discovery to discover aliases, preferred_cache, preferred_network\n * and the /authorize, /token and logout endpoints.\n */\n public async resolveEndpointsAsync(): Promise {\n let metadataEntity = this.cacheManager.getAuthorityMetadataByAlias(this.hostnameAndPort);\n if (!metadataEntity) {\n metadataEntity = new AuthorityMetadataEntity();\n metadataEntity.updateCanonicalAuthority(this.canonicalAuthority);\n }\n\n const cloudDiscoverySource = await this.updateCloudDiscoveryMetadata(metadataEntity);\n this.canonicalAuthority = this.canonicalAuthority.replace(this.hostnameAndPort, metadataEntity.preferred_network);\n const endpointSource = await this.updateEndpointMetadata(metadataEntity);\n\n if (cloudDiscoverySource !== AuthorityMetadataSource.CACHE && endpointSource !== AuthorityMetadataSource.CACHE) {\n // Reset the expiration time unless both values came from a successful cache lookup\n metadataEntity.resetExpiresAt();\n metadataEntity.updateCanonicalAuthority(this.canonicalAuthority);\n }\n\n const cacheKey = this.cacheManager.generateAuthorityMetadataCacheKey(metadataEntity.preferred_cache);\n this.cacheManager.setAuthorityMetadata(cacheKey, metadataEntity);\n this.metadata = metadataEntity;\n }\n\n /**\n * Update AuthorityMetadataEntity with new endpoints and return where the information came from\n * @param metadataEntity\n */\n private async updateEndpointMetadata(metadataEntity: AuthorityMetadataEntity): Promise {\n let metadata = this.getEndpointMetadataFromConfig();\n if (metadata) {\n metadataEntity.updateEndpointMetadata(metadata, false);\n return AuthorityMetadataSource.CONFIG;\n }\n\n if (this.isAuthoritySameType(metadataEntity) && metadataEntity.endpointsFromNetwork && !metadataEntity.isExpired()) {\n // No need to update\n return AuthorityMetadataSource.CACHE;\n }\n\n metadata = await this.getEndpointMetadataFromNetwork();\n if (metadata) {\n // If the user prefers to use an azure region replace the global endpoints with regional information.\n if (this.authorityOptions.azureRegionConfiguration?.azureRegion) {\n const autodetectedRegionName = await this.regionDiscovery.detectRegion(this.authorityOptions.azureRegionConfiguration.environmentRegion, this.regionDiscoveryMetadata, this.proxyUrl);\n\n const azureRegion = this.authorityOptions.azureRegionConfiguration.azureRegion === Constants.AZURE_REGION_AUTO_DISCOVER_FLAG\n ? autodetectedRegionName\n : this.authorityOptions.azureRegionConfiguration.azureRegion;\n\n if (this.authorityOptions.azureRegionConfiguration.azureRegion === Constants.AZURE_REGION_AUTO_DISCOVER_FLAG) {\n this.regionDiscoveryMetadata.region_outcome = autodetectedRegionName ?\n RegionDiscoveryOutcomes.AUTO_DETECTION_REQUESTED_SUCCESSFUL :\n RegionDiscoveryOutcomes.AUTO_DETECTION_REQUESTED_FAILED;\n } else {\n if (autodetectedRegionName) {\n this.regionDiscoveryMetadata.region_outcome = (this.authorityOptions.azureRegionConfiguration.azureRegion === autodetectedRegionName) ?\n RegionDiscoveryOutcomes.CONFIGURED_MATCHES_DETECTED :\n RegionDiscoveryOutcomes.CONFIGURED_NOT_DETECTED;\n } else {\n this.regionDiscoveryMetadata.region_outcome = RegionDiscoveryOutcomes.CONFIGURED_NO_AUTO_DETECTION;\n }\n }\n\n if (azureRegion) {\n this.regionDiscoveryMetadata.region_used = azureRegion;\n metadata = Authority.replaceWithRegionalInformation(metadata, azureRegion);\n }\n }\n\n metadataEntity.updateEndpointMetadata(metadata, true);\n return AuthorityMetadataSource.NETWORK;\n } else {\n throw ClientAuthError.createUnableToGetOpenidConfigError(this.defaultOpenIdConfigurationEndpoint);\n }\n }\n\n /**\n * Compares the number of url components after the domain to determine if the cached authority metadata can be used for the requested authority\n * Protects against same domain different authority such as login.microsoftonline.com/tenant and login.microsoftonline.com/tfp/tenant/policy\n * @param metadataEntity\n */\n private isAuthoritySameType(metadataEntity: AuthorityMetadataEntity): boolean {\n const cachedAuthorityUrl = new UrlString(metadataEntity.canonical_authority);\n const cachedParts = cachedAuthorityUrl.getUrlComponents().PathSegments;\n\n return cachedParts.length === this.canonicalAuthorityUrlComponents.PathSegments.length;\n }\n\n /**\n * Parse authorityMetadata config option\n */\n private getEndpointMetadataFromConfig(): OpenIdConfigResponse | null {\n if (this.authorityOptions.authorityMetadata) {\n try {\n return JSON.parse(this.authorityOptions.authorityMetadata) as OpenIdConfigResponse;\n } catch (e) {\n throw ClientConfigurationError.createInvalidAuthorityMetadataError();\n }\n }\n\n return null;\n }\n\n /**\n * Gets OAuth endpoints from the given OpenID configuration endpoint.\n */\n private async getEndpointMetadataFromNetwork(): Promise {\n const options: ImdsOptions = {};\n if (this.proxyUrl) {\n options.proxyUrl = this.proxyUrl;\n }\n\n try {\n const response = await this.networkInterface.sendGetRequestAsync(this.defaultOpenIdConfigurationEndpoint, options);\n return isOpenIdConfigResponse(response.body) ? response.body : null;\n } catch (e) {\n return null;\n }\n }\n\n /**\n * Updates the AuthorityMetadataEntity with new aliases, preferred_network and preferred_cache and returns where the information was retrived from\n * @param cachedMetadata\n * @param newMetadata\n */\n private async updateCloudDiscoveryMetadata(metadataEntity: AuthorityMetadataEntity): Promise {\n let metadata = this.getCloudDiscoveryMetadataFromConfig();\n if (metadata) {\n metadataEntity.updateCloudDiscoveryMetadata(metadata, false);\n return AuthorityMetadataSource.CONFIG;\n }\n\n // If The cached metadata came from config but that config was not passed to this instance, we must go to the network\n if (this.isAuthoritySameType(metadataEntity) && metadataEntity.aliasesFromNetwork && !metadataEntity.isExpired()) {\n // No need to update\n return AuthorityMetadataSource.CACHE;\n }\n\n metadata = await this.getCloudDiscoveryMetadataFromNetwork();\n if (metadata) {\n metadataEntity.updateCloudDiscoveryMetadata(metadata, true);\n return AuthorityMetadataSource.NETWORK;\n } else {\n // Metadata could not be obtained from config, cache or network\n throw ClientConfigurationError.createUntrustedAuthorityError();\n }\n }\n\n /**\n * Parse cloudDiscoveryMetadata config or check knownAuthorities\n */\n private getCloudDiscoveryMetadataFromConfig(): CloudDiscoveryMetadata | null {\n // Check if network response was provided in config\n if (this.authorityOptions.cloudDiscoveryMetadata) {\n try {\n const parsedResponse = JSON.parse(this.authorityOptions.cloudDiscoveryMetadata) as CloudInstanceDiscoveryResponse;\n const metadata = Authority.getCloudDiscoveryMetadataFromNetworkResponse(parsedResponse.metadata, this.hostnameAndPort);\n if (metadata) {\n return metadata;\n }\n } catch (e) {\n throw ClientConfigurationError.createInvalidCloudDiscoveryMetadataError();\n }\n }\n\n // If cloudDiscoveryMetadata is empty or does not contain the host, check knownAuthorities\n if (this.isInKnownAuthorities()) {\n return Authority.createCloudDiscoveryMetadataFromHost(this.hostnameAndPort);\n }\n\n return null;\n }\n\n /**\n * Called to get metadata from network if CloudDiscoveryMetadata was not populated by config\n * @param networkInterface\n */\n private async getCloudDiscoveryMetadataFromNetwork(): Promise {\n const instanceDiscoveryEndpoint = `${Constants.AAD_INSTANCE_DISCOVERY_ENDPT}${this.canonicalAuthority}oauth2/v2.0/authorize`;\n const options: ImdsOptions = {};\n if (this.proxyUrl) {\n options.proxyUrl = this.proxyUrl;\n }\n\n let match = null;\n try {\n const response = await this.networkInterface.sendGetRequestAsync(instanceDiscoveryEndpoint, options);\n const metadata = isCloudInstanceDiscoveryResponse(response.body) ? response.body.metadata : [];\n if (metadata.length === 0) {\n // If no metadata is returned, authority is untrusted\n return null;\n }\n match = Authority.getCloudDiscoveryMetadataFromNetworkResponse(metadata, this.hostnameAndPort);\n } catch(e) {\n return null;\n }\n\n if (!match) {\n // Custom Domain scenario, host is trusted because Instance Discovery call succeeded\n match = Authority.createCloudDiscoveryMetadataFromHost(this.hostnameAndPort);\n }\n return match;\n }\n\n /**\n * Helper function to determine if this host is included in the knownAuthorities config option\n */\n private isInKnownAuthorities(): boolean {\n const matches = this.authorityOptions.knownAuthorities.filter((authority) => {\n return UrlString.getDomainFromUrl(authority).toLowerCase() === this.hostnameAndPort;\n });\n\n return matches.length > 0;\n }\n\n /**\n * helper function to populate the authority based on azureCloudOptions\n * @param authorityString\n * @param azureCloudOptions\n */\n static generateAuthority(authorityString: string, azureCloudOptions?: AzureCloudOptions): string {\n let authorityAzureCloudInstance;\n\n if (azureCloudOptions && azureCloudOptions.azureCloudInstance !== AzureCloudInstance.None) {\n const tenant = azureCloudOptions.tenant ? azureCloudOptions.tenant : Constants.DEFAULT_COMMON_TENANT;\n authorityAzureCloudInstance = `${azureCloudOptions.azureCloudInstance}/${tenant}/`;\n }\n\n return authorityAzureCloudInstance ? authorityAzureCloudInstance : authorityString;\n }\n\n /**\n * Creates cloud discovery metadata object from a given host\n * @param host\n */\n static createCloudDiscoveryMetadataFromHost(host: string): CloudDiscoveryMetadata {\n return {\n preferred_network: host,\n preferred_cache: host,\n aliases: [host]\n };\n }\n\n /**\n * Searches instance discovery network response for the entry that contains the host in the aliases list\n * @param response\n * @param authority\n */\n static getCloudDiscoveryMetadataFromNetworkResponse(response: CloudDiscoveryMetadata[], authority: string): CloudDiscoveryMetadata | null {\n for (let i = 0; i < response.length; i++) {\n const metadata = response[i];\n if (metadata.aliases.indexOf(authority) > -1) {\n return metadata;\n }\n }\n\n return null;\n }\n\n /**\n * helper function to generate environment from authority object\n */\n getPreferredCache(): string {\n if(this.discoveryComplete()) {\n return this.metadata.preferred_cache;\n } else {\n throw ClientAuthError.createEndpointDiscoveryIncompleteError(\"Discovery incomplete.\");\n }\n }\n\n /**\n * Returns whether or not the provided host is an alias of this authority instance\n * @param host\n */\n isAlias(host: string): boolean {\n return this.metadata.aliases.indexOf(host) > -1;\n }\n\n /**\n * Checks whether the provided host is that of a public cloud authority\n *\n * @param authority string\n * @returns bool\n */\n static isPublicCloudAuthority(host: string): boolean {\n return Constants.KNOWN_PUBLIC_CLOUDS.indexOf(host) >= 0;\n }\n\n /**\n * Rebuild the authority string with the region\n *\n * @param host string\n * @param region string\n */\n static buildRegionalAuthorityString(host: string, region: string, queryString?: string): string {\n // Create and validate a Url string object with the initial authority string\n const authorityUrlInstance = new UrlString(host);\n authorityUrlInstance.validateAsUri();\n\n const authorityUrlParts = authorityUrlInstance.getUrlComponents();\n\n let hostNameAndPort= `${region}.${authorityUrlParts.HostNameAndPort}`;\n\n if (this.isPublicCloudAuthority(authorityUrlParts.HostNameAndPort)) {\n hostNameAndPort = `${region}.${Constants.REGIONAL_AUTH_PUBLIC_CLOUD_SUFFIX}`;\n }\n\n // Include the query string portion of the url\n const url = UrlString.constructAuthorityUriFromObject({\n ...authorityUrlInstance.getUrlComponents(),\n HostNameAndPort: hostNameAndPort\n }).urlString;\n\n // Add the query string if a query string was provided\n if (queryString) return `${url}?${queryString}`;\n\n return url;\n }\n\n /**\n * Replace the endpoints in the metadata object with their regional equivalents.\n *\n * @param metadata OpenIdConfigResponse\n * @param azureRegion string\n */\n static replaceWithRegionalInformation(metadata: OpenIdConfigResponse, azureRegion: string): OpenIdConfigResponse {\n metadata.authorization_endpoint = Authority.buildRegionalAuthorityString(metadata.authorization_endpoint, azureRegion);\n // TODO: Enquire on whether we should leave the query string or remove it before releasing the feature\n metadata.token_endpoint = Authority.buildRegionalAuthorityString(metadata.token_endpoint, azureRegion, \"allowestsrnonmsi=true\");\n\n if (metadata.end_session_endpoint) {\n metadata.end_session_endpoint = Authority.buildRegionalAuthorityString(metadata.end_session_endpoint, azureRegion);\n }\n\n return metadata;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { CloudDiscoveryMetadata } from \"./CloudDiscoveryMetadata\";\n\n/**\n * The OpenID Configuration Endpoint Response type. Used by the authority class to get relevant OAuth endpoints.\n */\nexport type CloudInstanceDiscoveryResponse = {\n tenant_discovery_endpoint: string;\n metadata: Array;\n};\n\nexport function isCloudInstanceDiscoveryResponse(response: object): boolean {\n return (\n response.hasOwnProperty(\"tenant_discovery_endpoint\") &&\n response.hasOwnProperty(\"metadata\")\n );\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { Authority } from \"./Authority\";\nimport { ClientConfigurationError } from \"../error/ClientConfigurationError\";\nimport { INetworkModule } from \"../network/INetworkModule\";\nimport { StringUtils } from \"../utils/StringUtils\";\nimport { ClientAuthError } from \"../error/ClientAuthError\";\nimport { ICacheManager } from \"../cache/interface/ICacheManager\";\nimport { AuthorityOptions } from \"./AuthorityOptions\";\n\nexport class AuthorityFactory {\n\n /**\n * Create an authority object of the correct type based on the url\n * Performs basic authority validation - checks to see if the authority is of a valid type (i.e. aad, b2c, adfs)\n *\n * Also performs endpoint discovery.\n *\n * @param authorityUri\n * @param networkClient\n * @param protocolMode\n */\n static async createDiscoveredInstance(authorityUri: string, networkClient: INetworkModule, cacheManager: ICacheManager, authorityOptions: AuthorityOptions, proxyUrl?: string): Promise {\n // Initialize authority and perform discovery endpoint check.\n const acquireTokenAuthority: Authority = AuthorityFactory.createInstance(authorityUri, networkClient, cacheManager, authorityOptions, proxyUrl);\n\n try {\n await acquireTokenAuthority.resolveEndpointsAsync();\n return acquireTokenAuthority;\n } catch (e) {\n throw ClientAuthError.createEndpointDiscoveryIncompleteError(e);\n }\n }\n\n /**\n * Create an authority object of the correct type based on the url\n * Performs basic authority validation - checks to see if the authority is of a valid type (i.e. aad, b2c, adfs)\n *\n * Does not perform endpoint discovery.\n *\n * @param authorityUrl\n * @param networkInterface\n * @param protocolMode\n */\n static createInstance(authorityUrl: string, networkInterface: INetworkModule, cacheManager: ICacheManager, authorityOptions: AuthorityOptions, proxyUrl?: string): Authority {\n // Throw error if authority url is empty\n if (StringUtils.isEmpty(authorityUrl)) {\n throw ClientConfigurationError.createUrlEmptyError();\n }\n\n return new Authority(authorityUrl, networkInterface, cacheManager, authorityOptions, proxyUrl);\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { SERVER_TELEM_CONSTANTS, Separators, CacheOutcome, Constants, RegionDiscoverySources, RegionDiscoveryOutcomes } from \"../../utils/Constants\";\nimport { CacheManager } from \"../../cache/CacheManager\";\nimport { AuthError } from \"../../error/AuthError\";\nimport { ServerTelemetryRequest } from \"./ServerTelemetryRequest\";\nimport { ServerTelemetryEntity } from \"../../cache/entities/ServerTelemetryEntity\";\nimport { StringUtils } from \"../../utils/StringUtils\";\nimport { RegionDiscoveryMetadata } from \"../../authority/RegionDiscoveryMetadata\";\n\nexport class ServerTelemetryManager {\n private cacheManager: CacheManager;\n private apiId: number;\n private correlationId: string;\n private telemetryCacheKey: string;\n private wrapperSKU: String;\n private wrapperVer: String;\n private regionUsed: string | undefined;\n private regionSource: RegionDiscoverySources | undefined;\n private regionOutcome: RegionDiscoveryOutcomes | undefined;\n private cacheOutcome: CacheOutcome = CacheOutcome.NO_CACHE_HIT;\n\n constructor(telemetryRequest: ServerTelemetryRequest, cacheManager: CacheManager) {\n this.cacheManager = cacheManager;\n this.apiId = telemetryRequest.apiId;\n this.correlationId = telemetryRequest.correlationId;\n this.wrapperSKU = telemetryRequest.wrapperSKU || Constants.EMPTY_STRING;\n this.wrapperVer = telemetryRequest.wrapperVer || Constants.EMPTY_STRING;\n\n this.telemetryCacheKey = SERVER_TELEM_CONSTANTS.CACHE_KEY + Separators.CACHE_KEY_SEPARATOR + telemetryRequest.clientId;\n }\n\n /**\n * API to add MSER Telemetry to request\n */\n generateCurrentRequestHeaderValue(): string {\n const request = `${this.apiId}${SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR}${this.cacheOutcome}`;\n const platformFields = [this.wrapperSKU, this.wrapperVer].join(SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR);\n const regionDiscoveryFields = this.getRegionDiscoveryFields();\n const requestWithRegionDiscoveryFields = [request, regionDiscoveryFields].join(SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR);\n\n return [SERVER_TELEM_CONSTANTS.SCHEMA_VERSION, requestWithRegionDiscoveryFields, platformFields].join(SERVER_TELEM_CONSTANTS.CATEGORY_SEPARATOR);\n }\n\n /**\n * API to add MSER Telemetry for the last failed request\n */\n generateLastRequestHeaderValue(): string {\n const lastRequests = this.getLastRequests();\n\n const maxErrors = ServerTelemetryManager.maxErrorsToSend(lastRequests);\n const failedRequests = lastRequests.failedRequests.slice(0, 2*maxErrors).join(SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR);\n const errors = lastRequests.errors.slice(0, maxErrors).join(SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR);\n const errorCount = lastRequests.errors.length;\n\n // Indicate whether this header contains all data or partial data\n const overflow = maxErrors < errorCount ? SERVER_TELEM_CONSTANTS.OVERFLOW_TRUE : SERVER_TELEM_CONSTANTS.OVERFLOW_FALSE;\n const platformFields = [errorCount, overflow].join(SERVER_TELEM_CONSTANTS.VALUE_SEPARATOR);\n\n return [SERVER_TELEM_CONSTANTS.SCHEMA_VERSION, lastRequests.cacheHits, failedRequests, errors, platformFields].join(SERVER_TELEM_CONSTANTS.CATEGORY_SEPARATOR);\n }\n\n /**\n * API to cache token failures for MSER data capture\n * @param error\n */\n cacheFailedRequest(error: AuthError): void {\n const lastRequests = this.getLastRequests();\n if (lastRequests.errors.length >= SERVER_TELEM_CONSTANTS.MAX_CACHED_ERRORS) {\n // Remove a cached error to make room, first in first out\n lastRequests.failedRequests.shift(); // apiId\n lastRequests.failedRequests.shift(); // correlationId\n lastRequests.errors.shift();\n }\n \n lastRequests.failedRequests.push(this.apiId, this.correlationId);\n\n if (!StringUtils.isEmpty(error.subError)) {\n lastRequests.errors.push(error.subError);\n } else if (!StringUtils.isEmpty(error.errorCode)) {\n lastRequests.errors.push(error.errorCode);\n } else if (!!error && error.toString()) {\n lastRequests.errors.push(error.toString());\n } else {\n lastRequests.errors.push(SERVER_TELEM_CONSTANTS.UNKNOWN_ERROR);\n }\n\n this.cacheManager.setServerTelemetry(this.telemetryCacheKey, lastRequests);\n\n return;\n }\n\n /**\n * Update server telemetry cache entry by incrementing cache hit counter\n */\n incrementCacheHits(): number {\n const lastRequests = this.getLastRequests();\n lastRequests.cacheHits += 1;\n\n this.cacheManager.setServerTelemetry(this.telemetryCacheKey, lastRequests);\n return lastRequests.cacheHits;\n }\n\n /**\n * Get the server telemetry entity from cache or initialize a new one\n */\n getLastRequests(): ServerTelemetryEntity {\n const initialValue: ServerTelemetryEntity = new ServerTelemetryEntity();\n const lastRequests = this.cacheManager.getServerTelemetry(this.telemetryCacheKey) as ServerTelemetryEntity;\n\n return lastRequests || initialValue;\n }\n\n /**\n * Remove server telemetry cache entry\n */\n clearTelemetryCache(): void {\n const lastRequests = this.getLastRequests();\n const numErrorsFlushed = ServerTelemetryManager.maxErrorsToSend(lastRequests);\n const errorCount = lastRequests.errors.length;\n if (numErrorsFlushed === errorCount) {\n // All errors were sent on last request, clear Telemetry cache\n this.cacheManager.removeItem(this.telemetryCacheKey);\n } else {\n // Partial data was flushed to server, construct a new telemetry cache item with errors that were not flushed\n const serverTelemEntity = new ServerTelemetryEntity();\n serverTelemEntity.failedRequests = lastRequests.failedRequests.slice(numErrorsFlushed*2); // failedRequests contains 2 items for each error\n serverTelemEntity.errors = lastRequests.errors.slice(numErrorsFlushed);\n\n this.cacheManager.setServerTelemetry(this.telemetryCacheKey, serverTelemEntity);\n }\n }\n\n /**\n * Returns the maximum number of errors that can be flushed to the server in the next network request\n * @param serverTelemetryEntity\n */\n static maxErrorsToSend(serverTelemetryEntity: ServerTelemetryEntity): number {\n let i;\n let maxErrors = 0;\n let dataSize = 0;\n const errorCount = serverTelemetryEntity.errors.length;\n for (i = 0; i < errorCount; i++) {\n // failedRequests parameter contains pairs of apiId and correlationId, multiply index by 2 to preserve pairs\n const apiId = serverTelemetryEntity.failedRequests[2*i] || Constants.EMPTY_STRING;\n const correlationId = serverTelemetryEntity.failedRequests[2*i + 1] || Constants.EMPTY_STRING;\n const errorCode = serverTelemetryEntity.errors[i] || Constants.EMPTY_STRING;\n\n // Count number of characters that would be added to header, each character is 1 byte. Add 3 at the end to account for separators\n dataSize += apiId.toString().length + correlationId.toString().length + errorCode.length + 3;\n\n if (dataSize < SERVER_TELEM_CONSTANTS.MAX_LAST_HEADER_BYTES) {\n // Adding this entry to the header would still keep header size below the limit\n maxErrors += 1;\n } else {\n break;\n }\n }\n\n return maxErrors;\n }\n\n /**\n * Get the region discovery fields\n * \n * @returns string\n */\n getRegionDiscoveryFields(): string {\n const regionDiscoveryFields: string[] = [];\n\n regionDiscoveryFields.push(this.regionUsed || Constants.EMPTY_STRING);\n regionDiscoveryFields.push(this.regionSource || Constants.EMPTY_STRING);\n regionDiscoveryFields.push(this.regionOutcome || Constants.EMPTY_STRING);\n\n return regionDiscoveryFields.join(\",\");\n }\n\n /**\n * Update the region discovery metadata\n * \n * @param regionDiscoveryMetadata\n * @returns void\n */\n updateRegionDiscoveryMetadata(regionDiscoveryMetadata: RegionDiscoveryMetadata): void {\n this.regionUsed = regionDiscoveryMetadata.region_used;\n this.regionSource = regionDiscoveryMetadata.region_source;\n this.regionOutcome = regionDiscoveryMetadata.region_outcome;\n }\n\n /**\n * Set cache outcome \n */\n setCacheOutcome(cacheOutcome: CacheOutcome): void {\n this.cacheOutcome = cacheOutcome;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ICrypto, INetworkModule, Logger, AuthenticationResult, AccountInfo, AccountEntity, BaseAuthRequest, AuthenticationScheme, UrlString, ServerTelemetryManager, ServerTelemetryRequest, ClientConfigurationError, StringUtils } from \"@azure/msal-common\";\nimport { BrowserConfiguration } from \"../config/Configuration\";\nimport { BrowserCacheManager } from \"../cache/BrowserCacheManager\";\nimport { EventHandler } from \"../event/EventHandler\";\nimport { EndSessionRequest } from \"../request/EndSessionRequest\";\nimport { RedirectRequest } from \"../request/RedirectRequest\";\nimport { PopupRequest } from \"../request/PopupRequest\";\nimport { SsoSilentRequest } from \"../request/SsoSilentRequest\";\nimport { version } from \"../packageMetadata\";\nimport { BrowserConstants } from \"../utils/BrowserConstants\";\nimport { BrowserUtils } from \"../utils/BrowserUtils\";\n\nexport abstract class BaseInteractionClient {\n\n protected config: BrowserConfiguration;\n protected browserStorage: BrowserCacheManager;\n protected browserCrypto: ICrypto;\n protected networkClient: INetworkModule;\n protected logger: Logger;\n protected eventHandler: EventHandler;\n protected correlationId: string;\n\n constructor(config: BrowserConfiguration, storageImpl: BrowserCacheManager, browserCrypto: ICrypto, logger: Logger, eventHandler: EventHandler, correlationId?: string) {\n this.config = config;\n this.browserStorage = storageImpl;\n this.browserCrypto = browserCrypto;\n this.networkClient = this.config.system.networkClient;\n this.eventHandler = eventHandler;\n this.correlationId = correlationId || this.browserCrypto.createNewGuid();\n this.logger = logger.clone(BrowserConstants.MSAL_SKU, version, this.correlationId);\n }\n\n abstract acquireToken(request: RedirectRequest|PopupRequest|SsoSilentRequest): Promise;\n\n abstract logout(request: EndSessionRequest): Promise;\n\n protected async clearCacheOnLogout(account?: AccountInfo| null): Promise {\n if (account) {\n if (AccountEntity.accountInfoIsEqual(account, this.browserStorage.getActiveAccount(), false)) {\n this.logger.verbose(\"Setting active account to null\");\n this.browserStorage.setActiveAccount(null);\n }\n // Clear given account.\n try {\n await this.browserStorage.removeAccount(AccountEntity.generateAccountCacheKey(account));\n this.logger.verbose(\"Cleared cache items belonging to the account provided in the logout request.\");\n } catch (error) {\n this.logger.error(\"Account provided in logout request was not found. Local cache unchanged.\");\n }\n } else {\n try {\n // Clear all accounts and tokens\n await this.browserStorage.clear();\n // Clear any stray keys from IndexedDB\n await this.browserCrypto.clearKeystore();\n this.logger.verbose(\"No account provided in logout request, clearing all cache items.\");\n } catch(e) {\n this.logger.error(\"Attempted to clear all MSAL cache items and failed. Local cache unchanged.\");\n }\n }\n }\n\n /**\n * Initializer function for all request APIs\n * @param request\n */\n protected async initializeBaseRequest(request: Partial): Promise {\n this.logger.verbose(\"Initializing BaseAuthRequest\");\n const authority = request.authority || this.config.auth.authority;\n\n const scopes = [...((request && request.scopes) || [])];\n\n const validatedRequest: BaseAuthRequest = {\n ...request,\n correlationId: this.correlationId,\n authority,\n scopes\n };\n\n // Set authenticationScheme to BEARER if not explicitly set in the request\n if (!validatedRequest.authenticationScheme) {\n validatedRequest.authenticationScheme = AuthenticationScheme.BEARER;\n this.logger.verbose(\"Authentication Scheme wasn't explicitly set in request, defaulting to \\\"Bearer\\\" request\");\n } else {\n if (validatedRequest.authenticationScheme === AuthenticationScheme.SSH) {\n if (!request.sshJwk) {\n throw ClientConfigurationError.createMissingSshJwkError();\n }\n if(!request.sshKid) {\n throw ClientConfigurationError.createMissingSshKidError();\n }\n }\n this.logger.verbose(`Authentication Scheme set to \"${validatedRequest.authenticationScheme}\" as configured in Auth request`);\n }\n\n // Set requested claims hash if claims were requested\n if (request.claims && !StringUtils.isEmpty(request.claims)) {\n validatedRequest.requestedClaimsHash = await this.browserCrypto.hashString(request.claims);\n } \n\n return validatedRequest;\n }\n\n /**\n *\n * Use to get the redirect uri configured in MSAL or null.\n * @param requestRedirectUri\n * @returns Redirect URL\n *\n */\n getRedirectUri(requestRedirectUri?: string): string {\n this.logger.verbose(\"getRedirectUri called\");\n const redirectUri = requestRedirectUri || this.config.auth.redirectUri || BrowserUtils.getCurrentUri();\n return UrlString.getAbsoluteUrl(redirectUri, BrowserUtils.getCurrentUri());\n }\n\n /**\n *\n * @param apiId\n * @param correlationId\n * @param forceRefresh\n */\n protected initializeServerTelemetryManager(apiId: number, forceRefresh?: boolean): ServerTelemetryManager {\n this.logger.verbose(\"initializeServerTelemetryManager called\");\n const telemetryPayload: ServerTelemetryRequest = {\n clientId: this.config.auth.clientId,\n correlationId: this.correlationId,\n apiId: apiId,\n forceRefresh: forceRefresh || false,\n wrapperSKU: this.browserStorage.getWrapperMetadata()[0],\n wrapperVer: this.browserStorage.getWrapperMetadata()[1]\n };\n\n return new ServerTelemetryManager(telemetryPayload, this.browserStorage);\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ICrypto, Logger, ServerTelemetryManager, CommonAuthorizationCodeRequest, Constants, AuthorizationCodeClient, ClientConfiguration, AuthorityOptions, Authority, AuthorityFactory, ServerAuthorizationCodeResponse, UrlString, CommonEndSessionRequest, ProtocolUtils, ResponseMode, StringUtils, IdTokenClaims, AccountInfo, AzureCloudOptions } from \"@azure/msal-common\";\nimport { BaseInteractionClient } from \"./BaseInteractionClient\";\nimport { BrowserConfiguration } from \"../config/Configuration\";\nimport { AuthorizationUrlRequest } from \"../request/AuthorizationUrlRequest\";\nimport { BrowserCacheManager } from \"../cache/BrowserCacheManager\";\nimport { EventHandler } from \"../event/EventHandler\";\nimport { BrowserConstants, InteractionType } from \"../utils/BrowserConstants\";\nimport { version } from \"../packageMetadata\";\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\nimport { BrowserProtocolUtils, BrowserStateObject } from \"../utils/BrowserProtocolUtils\";\nimport { EndSessionRequest } from \"../request/EndSessionRequest\";\nimport { BrowserUtils } from \"../utils/BrowserUtils\";\nimport { INavigationClient } from \"../navigation/INavigationClient\";\nimport { RedirectRequest } from \"../request/RedirectRequest\";\nimport { PopupRequest } from \"../request/PopupRequest\";\nimport { SsoSilentRequest } from \"../request/SsoSilentRequest\";\n\n/**\n * Defines the class structure and helper functions used by the \"standard\", non-brokered auth flows (popup, redirect, silent (RT), silent (iframe))\n */\nexport abstract class StandardInteractionClient extends BaseInteractionClient {\n protected navigationClient: INavigationClient;\n\n constructor(config: BrowserConfiguration, storageImpl: BrowserCacheManager, browserCrypto: ICrypto, logger: Logger, eventHandler: EventHandler, navigationClient: INavigationClient, correlationId?: string) {\n super(config, storageImpl, browserCrypto, logger, eventHandler, correlationId);\n this.navigationClient = navigationClient;\n }\n\n /**\n * Generates an auth code request tied to the url request.\n * @param request\n */\n protected async initializeAuthorizationCodeRequest(request: AuthorizationUrlRequest): Promise {\n this.logger.verbose(\"initializeAuthorizationRequest called\", request.correlationId);\n const generatedPkceParams = await this.browserCrypto.generatePkceCodes();\n\n const authCodeRequest: CommonAuthorizationCodeRequest = {\n ...request,\n redirectUri: request.redirectUri,\n code: \"\",\n codeVerifier: generatedPkceParams.verifier\n };\n\n request.codeChallenge = generatedPkceParams.challenge;\n request.codeChallengeMethod = Constants.S256_CODE_CHALLENGE_METHOD;\n\n return authCodeRequest;\n }\n\n /**\n * Initializer for the logout request.\n * @param logoutRequest\n */\n protected initializeLogoutRequest(logoutRequest?: EndSessionRequest): CommonEndSessionRequest {\n this.logger.verbose(\"initializeLogoutRequest called\", logoutRequest?.correlationId);\n\n const validLogoutRequest: CommonEndSessionRequest = {\n correlationId: this.browserCrypto.createNewGuid(),\n ...logoutRequest\n };\n\n /**\n * Set logout_hint to be login_hint from ID Token Claims if present\n * and logoutHint attribute wasn't manually set in logout request\n */\n if (logoutRequest) {\n // If logoutHint isn't set and an account was passed in, try to extract logoutHint from ID Token Claims\n if (!logoutRequest.logoutHint) {\n if(logoutRequest.account) {\n const logoutHint = this.getLogoutHintFromIdTokenClaims(logoutRequest.account);\n if (logoutHint) {\n this.logger.verbose(\"Setting logoutHint to login_hint ID Token Claim value for the account provided\");\n validLogoutRequest.logoutHint = logoutHint;\n }\n } else {\n this.logger.verbose(\"logoutHint was not set and account was not passed into logout request, logoutHint will not be set\");\n }\n } else {\n this.logger.verbose(\"logoutHint has already been set in logoutRequest\");\n }\n } else {\n this.logger.verbose(\"logoutHint will not be set since no logout request was configured\");\n }\n\n /*\n * Only set redirect uri if logout request isn't provided or the set uri isn't null.\n * Otherwise, use passed uri, config, or current page.\n */\n if (!logoutRequest || logoutRequest.postLogoutRedirectUri !== null) {\n if (logoutRequest && logoutRequest.postLogoutRedirectUri) {\n this.logger.verbose(\"Setting postLogoutRedirectUri to uri set on logout request\", validLogoutRequest.correlationId);\n validLogoutRequest.postLogoutRedirectUri = UrlString.getAbsoluteUrl(logoutRequest.postLogoutRedirectUri, BrowserUtils.getCurrentUri());\n } else if (this.config.auth.postLogoutRedirectUri === null) {\n this.logger.verbose(\"postLogoutRedirectUri configured as null and no uri set on request, not passing post logout redirect\", validLogoutRequest.correlationId);\n } else if (this.config.auth.postLogoutRedirectUri) {\n this.logger.verbose(\"Setting postLogoutRedirectUri to configured uri\", validLogoutRequest.correlationId);\n validLogoutRequest.postLogoutRedirectUri = UrlString.getAbsoluteUrl(this.config.auth.postLogoutRedirectUri, BrowserUtils.getCurrentUri());\n } else {\n this.logger.verbose(\"Setting postLogoutRedirectUri to current page\", validLogoutRequest.correlationId);\n validLogoutRequest.postLogoutRedirectUri = UrlString.getAbsoluteUrl(BrowserUtils.getCurrentUri(), BrowserUtils.getCurrentUri());\n }\n } else {\n this.logger.verbose(\"postLogoutRedirectUri passed as null, not setting post logout redirect uri\", validLogoutRequest.correlationId);\n }\n\n return validLogoutRequest;\n }\n\n /**\n * Parses login_hint ID Token Claim out of AccountInfo object to be used as\n * logout_hint in end session request.\n * @param account\n */\n protected getLogoutHintFromIdTokenClaims(account: AccountInfo): string | null {\n const idTokenClaims: IdTokenClaims | undefined = account.idTokenClaims;\n if (idTokenClaims) {\n if (idTokenClaims.login_hint) {\n return idTokenClaims.login_hint;\n } else {\n this.logger.verbose(\"The ID Token Claims tied to the provided account do not contain a login_hint claim, logoutHint will not be added to logout request\");\n }\n } else {\n this.logger.verbose(\"The provided account does not contain ID Token Claims, logoutHint will not be added to logout request\");\n }\n\n return null;\n }\n\n /**\n * Creates an Authorization Code Client with the given authority, or the default authority.\n * @param serverTelemetryManager\n * @param authorityUrl\n */\n protected async createAuthCodeClient(serverTelemetryManager: ServerTelemetryManager, authorityUrl?: string, requestAzureCloudOptions?: AzureCloudOptions): Promise {\n // Create auth module.\n const clientConfig = await this.getClientConfiguration(serverTelemetryManager, authorityUrl, requestAzureCloudOptions);\n return new AuthorizationCodeClient(clientConfig);\n }\n\n /**\n * Creates a Client Configuration object with the given request authority, or the default authority.\n * @param serverTelemetryManager\n * @param requestAuthority\n * @param requestCorrelationId\n */\n protected async getClientConfiguration(serverTelemetryManager: ServerTelemetryManager, requestAuthority?: string, requestAzureCloudOptions?: AzureCloudOptions): Promise {\n this.logger.verbose(\"getClientConfiguration called\");\n const discoveredAuthority = await this.getDiscoveredAuthority(requestAuthority, requestAzureCloudOptions);\n\n return {\n authOptions: {\n clientId: this.config.auth.clientId,\n authority: discoveredAuthority,\n clientCapabilities: this.config.auth.clientCapabilities\n },\n systemOptions: {\n tokenRenewalOffsetSeconds: this.config.system.tokenRenewalOffsetSeconds,\n preventCorsPreflight: true\n },\n loggerOptions: {\n loggerCallback: this.config.system.loggerOptions.loggerCallback,\n piiLoggingEnabled: this.config.system.loggerOptions.piiLoggingEnabled,\n logLevel: this.config.system.loggerOptions.logLevel,\n correlationId: this.correlationId\n },\n cryptoInterface: this.browserCrypto,\n networkInterface: this.networkClient,\n storageInterface: this.browserStorage,\n serverTelemetryManager: serverTelemetryManager,\n libraryInfo: {\n sku: BrowserConstants.MSAL_SKU,\n version: version,\n cpu: \"\",\n os: \"\"\n }\n };\n }\n\n /**\n * @param hash\n * @param interactionType\n */\n protected validateAndExtractStateFromHash(hash: string, interactionType: InteractionType, requestCorrelationId?: string): string {\n this.logger.verbose(\"validateAndExtractStateFromHash called\", requestCorrelationId);\n // Deserialize hash fragment response parameters.\n const serverParams: ServerAuthorizationCodeResponse = UrlString.getDeserializedHash(hash);\n if (!serverParams.state) {\n throw BrowserAuthError.createHashDoesNotContainStateError();\n }\n\n const platformStateObj = BrowserProtocolUtils.extractBrowserRequestState(this.browserCrypto, serverParams.state);\n if (!platformStateObj) {\n throw BrowserAuthError.createUnableToParseStateError();\n }\n\n if (platformStateObj.interactionType !== interactionType) {\n throw BrowserAuthError.createStateInteractionTypeMismatchError();\n }\n\n this.logger.verbose(\"Returning state from hash\", requestCorrelationId);\n return serverParams.state;\n }\n\n /**\n * Used to get a discovered version of the default authority.\n * @param requestAuthority\n * @param requestCorrelationId\n */\n protected async getDiscoveredAuthority(requestAuthority?: string, requestAzureCloudOptions?: AzureCloudOptions): Promise {\n this.logger.verbose(\"getDiscoveredAuthority called\");\n const authorityOptions: AuthorityOptions = {\n protocolMode: this.config.auth.protocolMode,\n knownAuthorities: this.config.auth.knownAuthorities,\n cloudDiscoveryMetadata: this.config.auth.cloudDiscoveryMetadata,\n authorityMetadata: this.config.auth.authorityMetadata,\n };\n\n // build authority string based on auth params, precedence - azureCloudInstance + tenant >> authority\n const userAuthority = requestAuthority ? requestAuthority : this.config.auth.authority;\n\n // fall back to the authority from config\n const builtAuthority = Authority.generateAuthority( userAuthority, requestAzureCloudOptions || this.config.auth.azureCloudOptions);\n this.logger.verbose(\"Creating discovered authority with configured authority\");\n return await AuthorityFactory.createDiscoveredInstance(builtAuthority, this.config.system.networkClient, this.browserStorage, authorityOptions);\n }\n\n /**\n * Helper to initialize required request parameters for interactive APIs and ssoSilent()\n * @param request\n * @param interactionType\n */\n protected async initializeAuthorizationRequest(request: RedirectRequest|PopupRequest|SsoSilentRequest, interactionType: InteractionType): Promise {\n this.logger.verbose(\"initializeAuthorizationRequest called\");\n const redirectUri = this.getRedirectUri(request.redirectUri);\n const browserState: BrowserStateObject = {\n interactionType: interactionType\n };\n const state = ProtocolUtils.setRequestState(\n this.browserCrypto,\n (request && request.state)|| Constants.EMPTY_STRING,\n browserState\n );\n\n const validatedRequest: AuthorizationUrlRequest = {\n ...await this.initializeBaseRequest(request),\n redirectUri: redirectUri,\n state: state,\n nonce: request.nonce || this.browserCrypto.createNewGuid(),\n responseMode: ResponseMode.FRAGMENT\n };\n\n const account = request.account || this.browserStorage.getActiveAccount();\n if (account) {\n this.logger.verbose(\"Setting validated request account\");\n this.logger.verbosePii(`Setting validated request account: ${account}`);\n validatedRequest.account = account;\n }\n\n // Check for ADAL/MSAL v1 SSO\n if (StringUtils.isEmpty(validatedRequest.loginHint) && !account) {\n const legacyLoginHint = this.browserStorage.getLegacyLoginHint();\n if (legacyLoginHint) {\n validatedRequest.loginHint = legacyLoginHint;\n }\n }\n\n return validatedRequest;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { CommonEndSessionRequest, Constants, Logger, StringUtils } from \"@azure/msal-common\";\nimport { BrowserCacheManager } from \"../cache/BrowserCacheManager\";\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\nimport { PopupParams } from \"../interaction_handler/PopupHandler\";\nimport { BrowserConstants, InteractionType } from \"./BrowserConstants\";\n\n/**\n * Popup configurations for setting dimensions and position of popup window\n */\nexport type PopupWindowAttributes = {\n popupSize?: PopupSize,\n popupPosition?: PopupPosition\n};\n\nexport type PopupSize = {\n height: number;\n width: number;\n};\n\nexport type PopupPosition = {\n top: number;\n left: number;\n};\n\nexport class PopupUtils {\n private browserStorage: BrowserCacheManager;\n private logger: Logger;\n private currentWindow: Window|undefined;\n\n constructor(storageImpl: BrowserCacheManager, logger: Logger) {\n this.browserStorage = storageImpl;\n this.logger = logger;\n\n // Properly sets this reference for the unload event.\n this.unloadWindow = this.unloadWindow.bind(this);\n }\n\n /**\n * @hidden\n *\n * Configures popup window for login.\n *\n * @param urlNavigate\n * @param title\n * @param popUpWidth\n * @param popUpHeight\n * @param popupWindowAttributes\n * @ignore\n * @hidden\n */\n openPopup(urlNavigate: string, popupParams: PopupParams): Window {\n try {\n let popupWindow;\n // Popup window passed in, setting url to navigate to\n if (popupParams.popup) {\n popupWindow = popupParams.popup;\n this.logger.verbosePii(`Navigating popup window to: ${urlNavigate}`);\n popupWindow.location.assign(urlNavigate);\n } else if (typeof popupParams.popup === \"undefined\") {\n // Popup will be undefined if it was not passed in\n this.logger.verbosePii(`Opening popup window to: ${urlNavigate}`);\n popupWindow = PopupUtils.openSizedPopup(urlNavigate, popupParams.popupName, popupParams.popupWindowAttributes, this.logger);\n }\n\n // Popup will be null if popups are blocked\n if (!popupWindow) {\n throw BrowserAuthError.createEmptyWindowCreatedError();\n }\n if (popupWindow.focus) {\n popupWindow.focus();\n }\n this.currentWindow = popupWindow;\n window.addEventListener(\"beforeunload\", this.unloadWindow);\n\n return popupWindow;\n } catch (e) {\n this.logger.error(\"error opening popup \" + e.message);\n this.browserStorage.setInteractionInProgress(false);\n throw BrowserAuthError.createPopupWindowError(e.toString());\n }\n }\n\n /**\n * Helper function to set popup window dimensions and position\n * @param urlNavigate \n * @param popupName \n * @param popupWindowAttributes \n * @returns \n */\n static openSizedPopup(urlNavigate: string, popupName: string, popupWindowAttributes: PopupWindowAttributes, logger: Logger): Window|null {\n /**\n * adding winLeft and winTop to account for dual monitor\n * using screenLeft and screenTop for IE8 and earlier\n */\n const winLeft = window.screenLeft ? window.screenLeft : window.screenX;\n const winTop = window.screenTop ? window.screenTop : window.screenY;\n /**\n * window.innerWidth displays browser window\"s height and width excluding toolbars\n * using document.documentElement.clientWidth for IE8 and earlier\n */\n const winWidth = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;\n const winHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;\n\n let width = popupWindowAttributes.popupSize?.width;\n let height = popupWindowAttributes.popupSize?.height;\n let top = popupWindowAttributes.popupPosition?.top;\n let left = popupWindowAttributes.popupPosition?.left;\n\n if (!width || width < 0 || width > winWidth) {\n logger.verbose(\"Default popup window width used. Window width not configured or invalid.\");\n width = BrowserConstants.POPUP_WIDTH;\n }\n\n if (!height || height < 0 || height > winHeight) {\n logger.verbose(\"Default popup window height used. Window height not configured or invalid.\");\n height = BrowserConstants.POPUP_HEIGHT;\n }\n\n if (!top || top < 0 || top > winHeight) {\n logger.verbose(\"Default popup window top position used. Window top not configured or invalid.\");\n top = Math.max(0, ((winHeight / 2) - (BrowserConstants.POPUP_HEIGHT / 2)) + winTop);\n }\n\n if (!left || left < 0 || left > winWidth) {\n logger.verbose(\"Default popup window left position used. Window left not configured or invalid.\");\n left = Math.max(0, ((winWidth / 2) - (BrowserConstants.POPUP_WIDTH / 2)) + winLeft);\n }\n\n return window.open(urlNavigate, popupName, `width=${width}, height=${height}, top=${top}, left=${left}, scrollbars=yes`);\n }\n\n /**\n * Event callback to unload main window.\n */\n unloadWindow(e: Event): void {\n this.browserStorage.cleanRequestByInteractionType(InteractionType.Popup);\n if (this.currentWindow) {\n this.currentWindow.close();\n }\n // Guarantees browser unload will happen, so no other errors will be thrown.\n e.preventDefault();\n }\n\n /**\n * Closes popup, removes any state vars created during popup calls.\n * @param popupWindow\n */\n cleanPopup(popupWindow?: Window): void {\n if (popupWindow) {\n // Close window.\n popupWindow.close();\n }\n // Remove window unload function\n window.removeEventListener(\"beforeunload\", this.unloadWindow);\n\n // Interaction is completed - remove interaction status.\n this.browserStorage.setInteractionInProgress(false);\n }\n\n /**\n * Monitors a window until it loads a url with the same origin.\n * @param popupWindow - window that is being monitored\n */\n monitorPopupForSameOrigin(popupWindow: Window): Promise {\n return new Promise((resolve, reject) => {\n const intervalId = setInterval(() => {\n if (popupWindow.closed) {\n // Window is closed\n this.cleanPopup();\n clearInterval(intervalId);\n reject(BrowserAuthError.createUserCancelledError());\n return;\n }\n\n let href: string = Constants.EMPTY_STRING;\n try {\n /*\n * Will throw if cross origin,\n * which should be caught and ignored\n * since we need the interval to keep running while on STS UI.\n */\n href = popupWindow.location.href;\n } catch (e) {}\n\n // Don't process blank pages or cross domain\n if (StringUtils.isEmpty(href) || href === \"about:blank\") {\n return;\n }\n\n clearInterval(intervalId);\n resolve();\n }, BrowserConstants.POLL_INTERVAL_MS);\n });\n }\n\n /**\n * Generates the name for the popup based on the client id and request\n * @param clientId\n * @param request\n */\n static generatePopupName(clientId: string, scopes: Array, authority: string, correlationId: string): string {\n return `${BrowserConstants.POPUP_NAME_PREFIX}.${clientId}.${scopes.join(\"-\")}.${authority}.${correlationId}`;\n }\n\n /**\n * Generates the name for the popup based on the client id and request for logouts\n * @param clientId \n * @param request \n */\n static generateLogoutPopupName(clientId: string, request: CommonEndSessionRequest): string {\n const homeAccountId = request.account && request.account.homeAccountId;\n return `${BrowserConstants.POPUP_NAME_PREFIX}.${clientId}.${homeAccountId}.${request.correlationId}`;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AuthorizationCodePayload , StringUtils, CommonAuthorizationCodeRequest, AuthenticationResult, AuthorizationCodeClient, AuthorityFactory, Authority, INetworkModule, ClientAuthError, CcsCredential, Logger } from \"@azure/msal-common\";\n\nimport { BrowserCacheManager } from \"../cache/BrowserCacheManager\";\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\nimport { TemporaryCacheKeys } from \"../utils/BrowserConstants\";\n\nexport type InteractionParams = {};\n\n/**\n * Abstract class which defines operations for a browser interaction handling class.\n */\nexport abstract class InteractionHandler {\n\n protected authModule: AuthorizationCodeClient;\n protected browserStorage: BrowserCacheManager;\n protected authCodeRequest: CommonAuthorizationCodeRequest;\n protected browserRequestLogger: Logger;\n\n constructor(authCodeModule: AuthorizationCodeClient, storageImpl: BrowserCacheManager, authCodeRequest: CommonAuthorizationCodeRequest, browserRequestLogger: Logger) {\n this.authModule = authCodeModule;\n this.browserStorage = storageImpl;\n this.authCodeRequest = authCodeRequest;\n this.browserRequestLogger = browserRequestLogger;\n }\n\n /**\n * Function to enable user interaction.\n * @param requestUrl\n */\n abstract initiateAuthRequest(requestUrl: string, params: InteractionParams): Window | Promise | Promise;\n\n /**\n * Function to handle response parameters from hash.\n * @param locationHash\n */\n async handleCodeResponseFromHash(locationHash: string, state: string, authority: Authority, networkModule: INetworkModule): Promise {\n this.browserRequestLogger.verbose(\"InteractionHandler.handleCodeResponse called\");\n // Check that location hash isn't empty.\n if (StringUtils.isEmpty(locationHash)) {\n throw BrowserAuthError.createEmptyHashError(locationHash);\n }\n\n // Handle code response.\n const stateKey = this.browserStorage.generateStateKey(state);\n const requestState = this.browserStorage.getTemporaryCache(stateKey);\n if (!requestState) {\n throw ClientAuthError.createStateNotFoundError(\"Cached State\");\n }\n const authCodeResponse = this.authModule.handleFragmentResponse(locationHash, requestState);\n\n return this.handleCodeResponseFromServer(authCodeResponse, state, authority, networkModule);\n }\n\n /**\n * Process auth code response from AAD\n * @param authCodeResponse \n * @param state \n * @param authority \n * @param networkModule \n * @returns \n */\n async handleCodeResponseFromServer(authCodeResponse: AuthorizationCodePayload, state: string, authority: Authority, networkModule: INetworkModule, validateNonce: boolean = true): Promise {\n this.browserRequestLogger.trace(\"InteractionHandler.handleCodeResponseFromServer called\");\n\n // Handle code response.\n const stateKey = this.browserStorage.generateStateKey(state);\n const requestState = this.browserStorage.getTemporaryCache(stateKey);\n if (!requestState) {\n throw ClientAuthError.createStateNotFoundError(\"Cached State\");\n }\n \n // Get cached items\n const nonceKey = this.browserStorage.generateNonceKey(requestState);\n const cachedNonce = this.browserStorage.getTemporaryCache(nonceKey);\n\n // Assign code to request\n this.authCodeRequest.code = authCodeResponse.code;\n\n // Check for new cloud instance\n if (authCodeResponse.cloud_instance_host_name) {\n await this.updateTokenEndpointAuthority(authCodeResponse.cloud_instance_host_name, authority, networkModule);\n }\n\n // Nonce validation not needed when redirect not involved (e.g. hybrid spa, renewing token via rt)\n if (validateNonce) {\n authCodeResponse.nonce = cachedNonce || undefined;\n }\n \n authCodeResponse.state = requestState;\n\n // Add CCS parameters if available\n if (authCodeResponse.client_info) {\n this.authCodeRequest.clientInfo = authCodeResponse.client_info;\n } else {\n const cachedCcsCred = this.checkCcsCredentials();\n if (cachedCcsCred) {\n this.authCodeRequest.ccsCredential = cachedCcsCred;\n }\n }\n\n // Acquire token with retrieved code.\n const tokenResponse = await this.authModule.acquireToken(this.authCodeRequest, authCodeResponse);\n this.browserStorage.cleanRequestByState(state);\n return tokenResponse;\n }\n\n /**\n * Updates authority based on cloudInstanceHostname\n * @param cloudInstanceHostname \n * @param authority \n * @param networkModule \n */\n protected async updateTokenEndpointAuthority(cloudInstanceHostname: string, authority: Authority, networkModule: INetworkModule): Promise {\n const cloudInstanceAuthorityUri = `https://${cloudInstanceHostname}/${authority.tenant}/`;\n const cloudInstanceAuthority = await AuthorityFactory.createDiscoveredInstance(cloudInstanceAuthorityUri, networkModule, this.browserStorage, authority.options);\n this.authModule.updateAuthority(cloudInstanceAuthority);\n }\n\n /**\n * Looks up ccs creds in the cache\n */\n protected checkCcsCredentials(): CcsCredential | null {\n // Look up ccs credential in temp cache\n const cachedCcsCred = this.browserStorage.getTemporaryCache(TemporaryCacheKeys.CCS_CREDENTIAL, true);\n if (cachedCcsCred) {\n try {\n return JSON.parse(cachedCcsCred) as CcsCredential;\n } catch (e) {\n this.authModule.logger.error(\"Cache credential could not be parsed\");\n this.authModule.logger.errorPii(`Cache credential could not be parsed: ${cachedCcsCred}`);\n }\n }\n return null;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { UrlString, StringUtils, CommonAuthorizationCodeRequest, AuthorizationCodeClient, Logger } from \"@azure/msal-common\";\nimport { InteractionHandler, InteractionParams } from \"./InteractionHandler\";\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\nimport { BrowserCacheManager } from \"../cache/BrowserCacheManager\";\nimport { PopupWindowAttributes, PopupUtils } from \"../utils/PopupUtils\";\nimport { BrowserUtils } from \"../utils/BrowserUtils\";\n\nexport type PopupParams = InteractionParams & {\n popup?: Window|null;\n popupName: string;\n popupWindowAttributes: PopupWindowAttributes\n};\n\n/**\n * This class implements the interaction handler base class for browsers. It is written specifically for handling\n * popup window scenarios. It includes functions for monitoring the popup window for a hash.\n */\nexport class PopupHandler extends InteractionHandler {\n private popupUtils: PopupUtils;\n\n constructor(authCodeModule: AuthorizationCodeClient, storageImpl: BrowserCacheManager, authCodeRequest: CommonAuthorizationCodeRequest, browserRequestLogger: Logger) {\n super(authCodeModule, storageImpl, authCodeRequest, browserRequestLogger);\n\n // Properly sets this reference for the unload event.\n this.popupUtils = new PopupUtils(storageImpl, browserRequestLogger);\n }\n\n /**\n * Opens a popup window with given request Url.\n * @param requestUrl\n */\n initiateAuthRequest(requestUrl: string, params: PopupParams): Window {\n // Check that request url is not empty.\n if (!StringUtils.isEmpty(requestUrl)) {\n this.browserRequestLogger.infoPii(`Navigate to: ${requestUrl}`);\n // Open the popup window to requestUrl.\n return this.popupUtils.openPopup(requestUrl, params);\n } else {\n // Throw error if request URL is empty.\n this.browserRequestLogger.error(\"Navigate url is empty\");\n throw BrowserAuthError.createEmptyNavigationUriError();\n }\n }\n\n /**\n * Monitors a window until it loads a url with a known hash, or hits a specified timeout.\n * @param popupWindow - window that is being monitored\n * @param timeout - milliseconds until timeout\n */\n monitorPopupForHash(popupWindow: Window): Promise {\n return this.popupUtils.monitorPopupForSameOrigin(popupWindow).then(() => {\n const contentHash = popupWindow.location.hash;\n BrowserUtils.clearHash(popupWindow);\n this.popupUtils.cleanPopup(popupWindow);\n\n if (!contentHash) {\n throw BrowserAuthError.createEmptyHashError(popupWindow.location.href);\n }\n\n if (UrlString.hashContainsKnownProperties(contentHash)) {\n return contentHash;\n } else {\n throw BrowserAuthError.createHashDoesNotContainKnownPropertiesError();\n }\n }\n );\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AuthenticationResult, CommonAuthorizationCodeRequest, AuthorizationCodeClient, ThrottlingUtils, CommonEndSessionRequest, UrlString, AuthError, OIDC_DEFAULT_SCOPES } from \"@azure/msal-common\";\nimport { StandardInteractionClient } from \"./StandardInteractionClient\";\nimport { PopupWindowAttributes, PopupUtils } from \"../utils/PopupUtils\";\nimport { EventType } from \"../event/EventType\";\nimport { InteractionType, ApiId } from \"../utils/BrowserConstants\";\nimport { PopupHandler, PopupParams } from \"../interaction_handler/PopupHandler\";\nimport { EndSessionPopupRequest } from \"../request/EndSessionPopupRequest\";\nimport { NavigationOptions } from \"../navigation/NavigationOptions\";\nimport { BrowserUtils } from \"../utils/BrowserUtils\";\nimport { PopupRequest } from \"../request/PopupRequest\";\n\nexport class PopupClient extends StandardInteractionClient {\n /**\n * Acquires tokens by opening a popup window to the /authorize endpoint of the authority\n * @param request\n */\n acquireToken(request: PopupRequest): Promise {\n try {\n const popupName = PopupUtils.generatePopupName(this.config.auth.clientId, request.scopes || OIDC_DEFAULT_SCOPES, request.authority || this.config.auth.authority, this.correlationId);\n const popupWindowAttributes = request.popupWindowAttributes || {};\n\n // asyncPopups flag is true. Acquires token without first opening popup. Popup will be opened later asynchronously.\n if (this.config.system.asyncPopups) {\n this.logger.verbose(\"asyncPopups set to true, acquiring token\");\n // Passes on popup position and dimensions if in request\n return this.acquireTokenPopupAsync(request, popupName, popupWindowAttributes);\n } else {\n // asyncPopups flag is set to false. Opens popup before acquiring token.\n this.logger.verbose(\"asyncPopup set to false, opening popup before acquiring token\");\n const popup = PopupUtils.openSizedPopup(\"about:blank\", popupName, popupWindowAttributes, this.logger);\n return this.acquireTokenPopupAsync(request, popupName, popupWindowAttributes, popup);\n }\n } catch (e) {\n return Promise.reject(e);\n }\n }\n\n /**\n * Clears local cache for the current user then opens a popup window prompting the user to sign-out of the server\n * @param logoutRequest\n */\n logout(logoutRequest?: EndSessionPopupRequest): Promise {\n try {\n this.logger.verbose(\"logoutPopup called\");\n const validLogoutRequest = this.initializeLogoutRequest(logoutRequest);\n\n const popupName = PopupUtils.generateLogoutPopupName(this.config.auth.clientId, validLogoutRequest);\n const authority = logoutRequest && logoutRequest.authority;\n const mainWindowRedirectUri = logoutRequest && logoutRequest.mainWindowRedirectUri;\n const popupWindowAttributes = logoutRequest?.popupWindowAttributes || {};\n\n // asyncPopups flag is true. Acquires token without first opening popup. Popup will be opened later asynchronously.\n if (this.config.system.asyncPopups) {\n this.logger.verbose(\"asyncPopups set to true\");\n // Passes on popup position and dimensions if in request\n return this.logoutPopupAsync(validLogoutRequest, popupName, popupWindowAttributes, authority, undefined, mainWindowRedirectUri);\n } else {\n // asyncPopups flag is set to false. Opens popup before logging out.\n this.logger.verbose(\"asyncPopup set to false, opening popup\");\n const popup = PopupUtils.openSizedPopup(\"about:blank\", popupName, popupWindowAttributes, this.logger);\n return this.logoutPopupAsync(validLogoutRequest, popupName, popupWindowAttributes, authority, popup, mainWindowRedirectUri);\n }\n } catch (e) {\n // Since this function is synchronous we need to reject\n return Promise.reject(e);\n }\n }\n\n /**\n * Helper which obtains an access_token for your API via opening a popup window in the user's browser\n * @param validRequest\n * @param popupName\n * @param popup\n * @param popupWindowAttributes\n *\n * @returns A promise that is fulfilled when this function has completed, or rejected if an error was raised.\n */\n protected async acquireTokenPopupAsync(request: PopupRequest, popupName: string, popupWindowAttributes: PopupWindowAttributes, popup?: Window|null): Promise {\n this.logger.verbose(\"acquireTokenPopupAsync called\");\n const serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.acquireTokenPopup);\n const validRequest = await this.initializeAuthorizationRequest(request, InteractionType.Popup);\n this.browserStorage.updateCacheEntries(validRequest.state, validRequest.nonce, validRequest.authority, validRequest.loginHint || \"\", validRequest.account || null);\n\n try {\n // Create auth code request and generate PKCE params\n const authCodeRequest: CommonAuthorizationCodeRequest = await this.initializeAuthorizationCodeRequest(validRequest);\n\n // Initialize the client\n const authClient: AuthorizationCodeClient = await this.createAuthCodeClient(serverTelemetryManager, validRequest.authority, validRequest.azureCloudOptions);\n this.logger.verbose(\"Auth code client created\");\n\n // Create acquire token url.\n const navigateUrl = await authClient.getAuthCodeUrl(validRequest);\n\n // Create popup interaction handler.\n const interactionHandler = new PopupHandler(authClient, this.browserStorage, authCodeRequest, this.logger);\n\n // Show the UI once the url has been created. Get the window handle for the popup.\n const popupParameters: PopupParams = {\n popup,\n popupName,\n popupWindowAttributes\n };\n const popupWindow: Window = interactionHandler.initiateAuthRequest(navigateUrl, popupParameters);\n this.eventHandler.emitEvent(EventType.POPUP_OPENED, InteractionType.Popup, {popupWindow}, null);\n\n // Monitor the window for the hash. Return the string value and close the popup when the hash is received. Default timeout is 60 seconds.\n const hash = await interactionHandler.monitorPopupForHash(popupWindow);\n const state = this.validateAndExtractStateFromHash(hash, InteractionType.Popup, validRequest.correlationId);\n\n // Remove throttle if it exists\n ThrottlingUtils.removeThrottle(this.browserStorage, this.config.auth.clientId, authCodeRequest);\n\n // Handle response from hash string.\n const result = await interactionHandler.handleCodeResponseFromHash(hash, state, authClient.authority, this.networkClient);\n\n return result;\n } catch (e) {\n if (popup) {\n // Close the synchronous popup if an error is thrown before the window unload event is registered\n popup.close();\n }\n\n if (e instanceof AuthError) {\n e.setCorrelationId(this.correlationId);\n }\n\n serverTelemetryManager.cacheFailedRequest(e);\n this.browserStorage.cleanRequestByState(validRequest.state);\n throw e;\n }\n }\n\n /**\n *\n * @param validRequest\n * @param popupName\n * @param requestAuthority\n * @param popup\n * @param mainWindowRedirectUri\n * @param popupWindowAttributes\n */\n protected async logoutPopupAsync(validRequest: CommonEndSessionRequest, popupName: string, popupWindowAttributes: PopupWindowAttributes, requestAuthority?: string, popup?: Window|null, mainWindowRedirectUri?: string): Promise {\n this.logger.verbose(\"logoutPopupAsync called\");\n this.eventHandler.emitEvent(EventType.LOGOUT_START, InteractionType.Popup, validRequest);\n\n const serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.logoutPopup);\n\n try {\n // Clear cache on logout\n await this.clearCacheOnLogout(validRequest.account);\n\n // Initialize the client\n const authClient = await this.createAuthCodeClient(serverTelemetryManager, requestAuthority);\n this.logger.verbose(\"Auth code client created\");\n\n // Create logout string and navigate user window to logout.\n const logoutUri: string = authClient.getLogoutUri(validRequest);\n\n this.eventHandler.emitEvent(EventType.LOGOUT_SUCCESS, InteractionType.Popup, validRequest);\n\n const popupUtils = new PopupUtils(this.browserStorage, this.logger);\n // Open the popup window to requestUrl.\n const popupWindow = popupUtils.openPopup(logoutUri, {popupName, popupWindowAttributes, popup});\n this.eventHandler.emitEvent(EventType.POPUP_OPENED, InteractionType.Popup, {popupWindow}, null);\n\n try {\n // Don't care if this throws an error (User Cancelled)\n await popupUtils.monitorPopupForSameOrigin(popupWindow);\n this.logger.verbose(\"Popup successfully redirected to postLogoutRedirectUri\");\n } catch (e) {\n this.logger.verbose(`Error occurred while monitoring popup for same origin. Session on server may remain active. Error: ${e}`);\n }\n\n popupUtils.cleanPopup(popupWindow);\n\n if (mainWindowRedirectUri) {\n const navigationOptions: NavigationOptions = {\n apiId: ApiId.logoutPopup,\n timeout: this.config.system.redirectNavigationTimeout,\n noHistory: false\n };\n const absoluteUrl = UrlString.getAbsoluteUrl(mainWindowRedirectUri, BrowserUtils.getCurrentUri());\n\n this.logger.verbose(\"Redirecting main window to url specified in the request\");\n this.logger.verbosePii(`Redirecting main window to: ${absoluteUrl}`);\n this.navigationClient.navigateInternal(absoluteUrl, navigationOptions);\n } else {\n this.logger.verbose(\"No main window navigation requested\");\n }\n } catch (e) {\n if (popup) {\n // Close the synchronous popup if an error is thrown before the window unload event is registered\n popup.close();\n }\n\n if (e instanceof AuthError) {\n e.setCorrelationId(this.correlationId);\n }\n\n this.browserStorage.setInteractionInProgress(false);\n this.eventHandler.emitEvent(EventType.LOGOUT_FAILURE, InteractionType.Popup, null, e);\n this.eventHandler.emitEvent(EventType.LOGOUT_END, InteractionType.Popup);\n serverTelemetryManager.cacheFailedRequest(e);\n throw e;\n }\n\n this.eventHandler.emitEvent(EventType.LOGOUT_END, InteractionType.Popup);\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AuthorizationCodeClient, StringUtils, CommonAuthorizationCodeRequest, ICrypto, AuthenticationResult, ThrottlingUtils, Authority, INetworkModule, ClientAuthError, Logger } from \"@azure/msal-common\";\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\nimport { ApiId, TemporaryCacheKeys } from \"../utils/BrowserConstants\";\nimport { BrowserCacheManager } from \"../cache/BrowserCacheManager\";\nimport { InteractionHandler, InteractionParams } from \"./InteractionHandler\";\nimport { INavigationClient } from \"../navigation/INavigationClient\";\nimport { NavigationOptions } from \"../navigation/NavigationOptions\";\n\nexport type RedirectParams = InteractionParams & {\n navigationClient: INavigationClient;\n redirectTimeout: number;\n redirectStartPage: string;\n onRedirectNavigate?: (url: string) => void | boolean;\n};\n\nexport class RedirectHandler extends InteractionHandler {\n\n private browserCrypto: ICrypto;\n\n constructor(authCodeModule: AuthorizationCodeClient, storageImpl: BrowserCacheManager, authCodeRequest: CommonAuthorizationCodeRequest, browserRequestLogger: Logger, browserCrypto: ICrypto) {\n super(authCodeModule, storageImpl, authCodeRequest, browserRequestLogger);\n this.browserCrypto = browserCrypto;\n }\n\n /**\n * Redirects window to given URL.\n * @param urlNavigate\n */\n async initiateAuthRequest(requestUrl: string, params: RedirectParams): Promise {\n this.browserRequestLogger.verbose(\"RedirectHandler.initiateAuthRequest called\");\n // Navigate if valid URL\n if (!StringUtils.isEmpty(requestUrl)) {\n // Cache start page, returns to this page after redirectUri if navigateToLoginRequestUrl is true\n if (params.redirectStartPage) {\n this.browserRequestLogger.verbose(\"RedirectHandler.initiateAuthRequest: redirectStartPage set, caching start page\");\n this.browserStorage.setTemporaryCache(TemporaryCacheKeys.ORIGIN_URI, params.redirectStartPage, true);\n }\n\n // Set interaction status in the library.\n this.browserStorage.setTemporaryCache(TemporaryCacheKeys.CORRELATION_ID, this.authCodeRequest.correlationId, true);\n this.browserStorage.cacheCodeRequest(this.authCodeRequest, this.browserCrypto);\n this.browserRequestLogger.infoPii(`RedirectHandler.initiateAuthRequest: Navigate to: ${requestUrl}`);\n const navigationOptions: NavigationOptions = {\n apiId: ApiId.acquireTokenRedirect,\n timeout: params.redirectTimeout,\n noHistory: false\n };\n \n // If onRedirectNavigate is implemented, invoke it and provide requestUrl\n if (typeof params.onRedirectNavigate === \"function\") {\n this.browserRequestLogger.verbose(\"RedirectHandler.initiateAuthRequest: Invoking onRedirectNavigate callback\");\n const navigate = params.onRedirectNavigate(requestUrl);\n\n // Returning false from onRedirectNavigate will stop navigation\n if (navigate !== false) {\n this.browserRequestLogger.verbose(\"RedirectHandler.initiateAuthRequest: onRedirectNavigate did not return false, navigating\");\n await params.navigationClient.navigateExternal(requestUrl, navigationOptions);\n return;\n } else {\n this.browserRequestLogger.verbose(\"RedirectHandler.initiateAuthRequest: onRedirectNavigate returned false, stopping navigation\");\n return;\n }\n } else {\n // Navigate window to request URL\n this.browserRequestLogger.verbose(\"RedirectHandler.initiateAuthRequest: Navigating window to navigate url\");\n await params.navigationClient.navigateExternal(requestUrl, navigationOptions);\n return;\n }\n } else {\n // Throw error if request URL is empty.\n this.browserRequestLogger.info(\"RedirectHandler.initiateAuthRequest: Navigate url is empty\");\n throw BrowserAuthError.createEmptyNavigationUriError();\n }\n }\n\n /**\n * Handle authorization code response in the window.\n * @param hash\n */\n async handleCodeResponseFromHash(locationHash: string, state: string, authority: Authority, networkModule: INetworkModule, clientId?: string): Promise {\n this.browserRequestLogger.verbose(\"RedirectHandler.handleCodeResponse called\");\n\n // Check that location hash isn't empty.\n if (StringUtils.isEmpty(locationHash)) {\n throw BrowserAuthError.createEmptyHashError(locationHash);\n }\n\n // Interaction is completed - remove interaction status.\n this.browserStorage.setInteractionInProgress(false);\n\n // Handle code response.\n const stateKey = this.browserStorage.generateStateKey(state);\n const requestState = this.browserStorage.getTemporaryCache(stateKey);\n if (!requestState) {\n throw ClientAuthError.createStateNotFoundError(\"Cached State\");\n }\n const authCodeResponse = this.authModule.handleFragmentResponse(locationHash, requestState);\n\n // Get cached items\n const nonceKey = this.browserStorage.generateNonceKey(requestState);\n const cachedNonce = this.browserStorage.getTemporaryCache(nonceKey);\n\n // Assign code to request\n this.authCodeRequest.code = authCodeResponse.code;\n\n // Check for new cloud instance\n if (authCodeResponse.cloud_instance_host_name) {\n await this.updateTokenEndpointAuthority(authCodeResponse.cloud_instance_host_name, authority, networkModule);\n }\n\n authCodeResponse.nonce = cachedNonce || undefined;\n authCodeResponse.state = requestState;\n\n // Add CCS parameters if available\n if (authCodeResponse.client_info) {\n this.authCodeRequest.clientInfo = authCodeResponse.client_info;\n } else {\n const cachedCcsCred = this.checkCcsCredentials();\n if (cachedCcsCred) {\n this.authCodeRequest.ccsCredential = cachedCcsCred;\n }\n }\n\n // Remove throttle if it exists\n if (clientId) {\n ThrottlingUtils.removeThrottle(this.browserStorage, clientId, this.authCodeRequest);\n }\n\n // Acquire token with retrieved code.\n const tokenResponse = await this.authModule.acquireToken(this.authCodeRequest, authCodeResponse);\n\n this.browserStorage.cleanRequestByState(state);\n return tokenResponse;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AuthenticationResult, CommonAuthorizationCodeRequest, AuthorizationCodeClient, UrlString, AuthError, ServerTelemetryManager } from \"@azure/msal-common\";\nimport { StandardInteractionClient } from \"./StandardInteractionClient\";\nimport { ApiId, InteractionType, TemporaryCacheKeys } from \"../utils/BrowserConstants\";\nimport { RedirectHandler } from \"../interaction_handler/RedirectHandler\";\nimport { BrowserUtils } from \"../utils/BrowserUtils\";\nimport { EndSessionRequest } from \"../request/EndSessionRequest\";\nimport { EventType } from \"../event/EventType\";\nimport { NavigationOptions } from \"../navigation/NavigationOptions\";\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\nimport { RedirectRequest } from \"../request/RedirectRequest\";\n\nexport class RedirectClient extends StandardInteractionClient {\n /**\n * Redirects the page to the /authorize endpoint of the IDP\n * @param request\n */\n async acquireToken(request: RedirectRequest): Promise {\n const validRequest = await this.initializeAuthorizationRequest(request, InteractionType.Redirect);\n this.browserStorage.updateCacheEntries(validRequest.state, validRequest.nonce, validRequest.authority, validRequest.loginHint || \"\", validRequest.account || null);\n const serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.acquireTokenRedirect);\n\n const handleBackButton = (event: PageTransitionEvent) => {\n // Clear temporary cache if the back button is clicked during the redirect flow.\n if (event.persisted) {\n this.logger.verbose(\"Page was restored from back/forward cache. Clearing temporary cache.\");\n this.browserStorage.cleanRequestByState(validRequest.state);\n }\n };\n\n try {\n // Create auth code request and generate PKCE params\n const authCodeRequest: CommonAuthorizationCodeRequest = await this.initializeAuthorizationCodeRequest(validRequest);\n\n // Initialize the client\n const authClient: AuthorizationCodeClient = await this.createAuthCodeClient(serverTelemetryManager, validRequest.authority, validRequest.azureCloudOptions);\n this.logger.verbose(\"Auth code client created\");\n\n // Create redirect interaction handler.\n const interactionHandler = new RedirectHandler(authClient, this.browserStorage, authCodeRequest, this.logger, this.browserCrypto);\n\n // Create acquire token url.\n const navigateUrl = await authClient.getAuthCodeUrl(validRequest);\n\n const redirectStartPage = this.getRedirectStartPage(request.redirectStartPage);\n this.logger.verbosePii(`Redirect start page: ${redirectStartPage}`);\n\n // Clear temporary cache if the back button is clicked during the redirect flow.\n window.addEventListener(\"pageshow\", handleBackButton);\n\n // Show the UI once the url has been created. Response will come back in the hash, which will be handled in the handleRedirectCallback function.\n return await interactionHandler.initiateAuthRequest(navigateUrl, {\n navigationClient: this.navigationClient,\n redirectTimeout: this.config.system.redirectNavigationTimeout,\n redirectStartPage: redirectStartPage,\n onRedirectNavigate: request.onRedirectNavigate\n });\n } catch (e) {\n if (e instanceof AuthError) {\n e.setCorrelationId(this.correlationId);\n }\n window.removeEventListener(\"pageshow\", handleBackButton);\n serverTelemetryManager.cacheFailedRequest(e);\n this.browserStorage.cleanRequestByState(validRequest.state);\n throw e;\n }\n }\n\n /**\n * Checks if navigateToLoginRequestUrl is set, and:\n * - if true, performs logic to cache and navigate\n * - if false, handles hash string and parses response\n * @param hash\n */\n async handleRedirectPromise(hash?: string): Promise {\n const serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.handleRedirectPromise);\n try {\n if (!this.browserStorage.isInteractionInProgress(true)) {\n this.logger.info(\"handleRedirectPromise called but there is no interaction in progress, returning null.\");\n return null;\n }\n\n const responseHash = this.getRedirectResponseHash(hash || window.location.hash);\n if (!responseHash) {\n // Not a recognized server response hash or hash not associated with a redirect request\n this.logger.info(\"handleRedirectPromise did not detect a response hash as a result of a redirect. Cleaning temporary cache.\");\n this.browserStorage.cleanRequestByInteractionType(InteractionType.Redirect);\n return null;\n }\n\n let state: string;\n try {\n state = this.validateAndExtractStateFromHash(responseHash, InteractionType.Redirect);\n this.logger.verbose(\"State extracted from hash\");\n } catch (e) {\n this.logger.info(`handleRedirectPromise was unable to extract state due to: ${e}`);\n this.browserStorage.cleanRequestByInteractionType(InteractionType.Redirect);\n return null;\n }\n\n // If navigateToLoginRequestUrl is true, get the url where the redirect request was initiated\n const loginRequestUrl = this.browserStorage.getTemporaryCache(TemporaryCacheKeys.ORIGIN_URI, true) || \"\";\n const loginRequestUrlNormalized = UrlString.removeHashFromUrl(loginRequestUrl);\n const currentUrlNormalized = UrlString.removeHashFromUrl(window.location.href);\n\n if (loginRequestUrlNormalized === currentUrlNormalized && this.config.auth.navigateToLoginRequestUrl) {\n // We are on the page we need to navigate to - handle hash\n this.logger.verbose(\"Current page is loginRequestUrl, handling hash\");\n const handleHashResult = await this.handleHash(responseHash, state, serverTelemetryManager);\n\n if (loginRequestUrl.indexOf(\"#\") > -1) {\n // Replace current hash with non-msal hash, if present\n BrowserUtils.replaceHash(loginRequestUrl);\n }\n\n return handleHashResult;\n } else if (!this.config.auth.navigateToLoginRequestUrl) {\n this.logger.verbose(\"NavigateToLoginRequestUrl set to false, handling hash\");\n return this.handleHash(responseHash, state, serverTelemetryManager);\n } else if (!BrowserUtils.isInIframe() || this.config.system.allowRedirectInIframe) {\n /*\n * Returned from authority using redirect - need to perform navigation before processing response\n * Cache the hash to be retrieved after the next redirect\n */\n this.browserStorage.setTemporaryCache(TemporaryCacheKeys.URL_HASH, responseHash, true);\n const navigationOptions: NavigationOptions = {\n apiId: ApiId.handleRedirectPromise,\n timeout: this.config.system.redirectNavigationTimeout,\n noHistory: true\n };\n\n /**\n * Default behavior is to redirect to the start page and not process the hash now.\n * The start page is expected to also call handleRedirectPromise which will process the hash in one of the checks above.\n */\n let processHashOnRedirect: boolean = true;\n if (!loginRequestUrl || loginRequestUrl === \"null\") {\n // Redirect to home page if login request url is null (real null or the string null)\n const homepage = BrowserUtils.getHomepage();\n // Cache the homepage under ORIGIN_URI to ensure cached hash is processed on homepage\n this.browserStorage.setTemporaryCache(TemporaryCacheKeys.ORIGIN_URI, homepage, true);\n this.logger.warning(\"Unable to get valid login request url from cache, redirecting to home page\");\n processHashOnRedirect = await this.navigationClient.navigateInternal(homepage, navigationOptions);\n } else {\n // Navigate to page that initiated the redirect request\n this.logger.verbose(`Navigating to loginRequestUrl: ${loginRequestUrl}`);\n processHashOnRedirect = await this.navigationClient.navigateInternal(loginRequestUrl, navigationOptions);\n }\n\n // If navigateInternal implementation returns false, handle the hash now\n if (!processHashOnRedirect) {\n return this.handleHash(responseHash, state, serverTelemetryManager);\n }\n }\n\n return null;\n } catch (e) {\n if (e instanceof AuthError) {\n e.setCorrelationId(this.correlationId);\n }\n serverTelemetryManager.cacheFailedRequest(e);\n this.browserStorage.cleanRequestByInteractionType(InteractionType.Redirect);\n throw e;\n }\n }\n\n /**\n * Gets the response hash for a redirect request\n * Returns null if interactionType in the state value is not \"redirect\" or the hash does not contain known properties\n * @param hash\n */\n protected getRedirectResponseHash(hash: string): string | null {\n this.logger.verbose(\"getRedirectResponseHash called\");\n // Get current location hash from window or cache.\n const isResponseHash: boolean = UrlString.hashContainsKnownProperties(hash);\n\n if (isResponseHash) {\n BrowserUtils.clearHash(window);\n this.logger.verbose(\"Hash contains known properties, returning response hash\");\n return hash;\n }\n\n const cachedHash = this.browserStorage.getTemporaryCache(TemporaryCacheKeys.URL_HASH, true);\n this.browserStorage.removeItem(this.browserStorage.generateCacheKey(TemporaryCacheKeys.URL_HASH));\n\n this.logger.verbose(\"Hash does not contain known properties, returning cached hash\");\n return cachedHash;\n }\n\n /**\n * Checks if hash exists and handles in window.\n * @param hash\n * @param state\n */\n protected async handleHash(hash: string, state: string, serverTelemetryManager: ServerTelemetryManager): Promise {\n const cachedRequest = this.browserStorage.getCachedRequest(state, this.browserCrypto);\n this.logger.verbose(\"handleHash called, retrieved cached request\");\n\n // Hash contains known properties - handle and return in callback\n const currentAuthority = this.browserStorage.getCachedAuthority(state);\n if (!currentAuthority) {\n throw BrowserAuthError.createNoCachedAuthorityError();\n }\n\n const authClient = await this.createAuthCodeClient(serverTelemetryManager, currentAuthority);\n this.logger.verbose(\"Auth code client created\");\n const interactionHandler = new RedirectHandler(authClient, this.browserStorage, cachedRequest, this.logger, this.browserCrypto);\n return await interactionHandler.handleCodeResponseFromHash(hash, state, authClient.authority, this.networkClient, this.config.auth.clientId);\n }\n\n /**\n * Use to log out the current user, and redirect the user to the postLogoutRedirectUri.\n * Default behaviour is to redirect the user to `window.location.href`.\n * @param logoutRequest\n */\n async logout(logoutRequest?: EndSessionRequest): Promise {\n this.logger.verbose(\"logoutRedirect called\");\n const validLogoutRequest = this.initializeLogoutRequest(logoutRequest);\n const serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.logout);\n\n try {\n this.eventHandler.emitEvent(EventType.LOGOUT_START, InteractionType.Redirect, logoutRequest);\n\n // Clear cache on logout\n await this.clearCacheOnLogout(validLogoutRequest.account);\n\n const navigationOptions: NavigationOptions = {\n apiId: ApiId.logout,\n timeout: this.config.system.redirectNavigationTimeout,\n noHistory: false\n };\n const authClient = await this.createAuthCodeClient(serverTelemetryManager, logoutRequest && logoutRequest.authority);\n this.logger.verbose(\"Auth code client created\");\n\n // Create logout string and navigate user window to logout.\n const logoutUri: string = authClient.getLogoutUri(validLogoutRequest);\n\n this.eventHandler.emitEvent(EventType.LOGOUT_SUCCESS, InteractionType.Redirect, validLogoutRequest);\n // Check if onRedirectNavigate is implemented, and invoke it if so\n if (logoutRequest && typeof logoutRequest.onRedirectNavigate === \"function\") {\n const navigate = logoutRequest.onRedirectNavigate(logoutUri);\n\n if (navigate !== false) {\n this.logger.verbose(\"Logout onRedirectNavigate did not return false, navigating\");\n await this.navigationClient.navigateExternal(logoutUri, navigationOptions);\n return;\n } else {\n this.logger.verbose(\"Logout onRedirectNavigate returned false, stopping navigation\");\n }\n } else {\n await this.navigationClient.navigateExternal(logoutUri, navigationOptions);\n return;\n }\n } catch(e) {\n if (e instanceof AuthError) {\n e.setCorrelationId(this.correlationId);\n }\n serverTelemetryManager.cacheFailedRequest(e);\n this.eventHandler.emitEvent(EventType.LOGOUT_FAILURE, InteractionType.Redirect, null, e);\n this.eventHandler.emitEvent(EventType.LOGOUT_END, InteractionType.Redirect);\n throw e;\n }\n\n this.eventHandler.emitEvent(EventType.LOGOUT_END, InteractionType.Redirect);\n }\n\n /**\n * Use to get the redirectStartPage either from request or use current window\n * @param requestStartPage\n */\n protected getRedirectStartPage(requestStartPage?: string): string {\n const redirectStartPage = requestStartPage || window.location.href;\n return UrlString.getAbsoluteUrl(redirectStartPage, BrowserUtils.getCurrentUri());\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { UrlString, StringUtils, CommonAuthorizationCodeRequest, AuthorizationCodeClient, Constants, Logger } from \"@azure/msal-common\";\nimport { InteractionHandler } from \"./InteractionHandler\";\nimport { BrowserConstants } from \"../utils/BrowserConstants\";\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\nimport { BrowserCacheManager } from \"../cache/BrowserCacheManager\";\nimport { DEFAULT_IFRAME_TIMEOUT_MS } from \"../config/Configuration\";\n\nexport class SilentHandler extends InteractionHandler {\n\n private navigateFrameWait: number;\n constructor(authCodeModule: AuthorizationCodeClient, storageImpl: BrowserCacheManager, authCodeRequest: CommonAuthorizationCodeRequest, browserRequestLogger: Logger, navigateFrameWait: number) {\n super(authCodeModule, storageImpl, authCodeRequest, browserRequestLogger);\n this.navigateFrameWait = navigateFrameWait;\n }\n\n /**\n * Creates a hidden iframe to given URL using user-requested scopes as an id.\n * @param urlNavigate\n * @param userRequestScopes\n */\n async initiateAuthRequest(requestUrl: string): Promise {\n if (StringUtils.isEmpty(requestUrl)) {\n // Throw error if request URL is empty.\n this.browserRequestLogger.info(\"Navigate url is empty\");\n throw BrowserAuthError.createEmptyNavigationUriError();\n }\n\n return this.navigateFrameWait ? await this.loadFrame(requestUrl) : this.loadFrameSync(requestUrl);\n }\n\n /**\n * Monitors an iframe content window until it loads a url with a known hash, or hits a specified timeout.\n * @param iframe\n * @param timeout\n */\n monitorIframeForHash(iframe: HTMLIFrameElement, timeout: number): Promise {\n return new Promise((resolve, reject) => {\n if (timeout < DEFAULT_IFRAME_TIMEOUT_MS) {\n this.browserRequestLogger.warning(`system.loadFrameTimeout or system.iframeHashTimeout set to lower (${timeout}ms) than the default (${DEFAULT_IFRAME_TIMEOUT_MS}ms). This may result in timeouts.`);\n }\n\n /*\n * Polling for iframes can be purely timing based,\n * since we don't need to account for interaction.\n */\n const nowMark = window.performance.now();\n const timeoutMark = nowMark + timeout;\n\n const intervalId = setInterval(() => {\n if (window.performance.now() > timeoutMark) {\n this.removeHiddenIframe(iframe);\n clearInterval(intervalId);\n reject(BrowserAuthError.createMonitorIframeTimeoutError());\n return;\n }\n\n let href: string = Constants.EMPTY_STRING;\n const contentWindow = iframe.contentWindow;\n try {\n /*\n * Will throw if cross origin,\n * which should be caught and ignored\n * since we need the interval to keep running while on STS UI.\n */\n href = contentWindow ? contentWindow.location.href : Constants.EMPTY_STRING;\n } catch (e) {}\n\n if (StringUtils.isEmpty(href)) {\n return;\n }\n\n const contentHash = contentWindow ? contentWindow.location.hash: Constants.EMPTY_STRING;\n if (UrlString.hashContainsKnownProperties(contentHash)) {\n // Success case\n this.removeHiddenIframe(iframe);\n clearInterval(intervalId);\n resolve(contentHash);\n return;\n }\n }, BrowserConstants.POLL_INTERVAL_MS);\n });\n }\n\n /**\n * @hidden\n * Loads iframe with authorization endpoint URL\n * @ignore\n */\n private loadFrame(urlNavigate: string): Promise {\n /*\n * This trick overcomes iframe navigation in IE\n * IE does not load the page consistently in iframe\n */\n\n return new Promise((resolve, reject) => {\n const frameHandle = this.createHiddenIframe();\n\n setTimeout(() => {\n if (!frameHandle) {\n reject(\"Unable to load iframe\");\n return;\n }\n\n frameHandle.src = urlNavigate;\n\n resolve(frameHandle);\n }, this.navigateFrameWait);\n });\n }\n\n /**\n * @hidden\n * Loads the iframe synchronously when the navigateTimeFrame is set to `0`\n * @param urlNavigate\n * @param frameName\n * @param logger\n */\n private loadFrameSync(urlNavigate: string): HTMLIFrameElement{\n const frameHandle = this.createHiddenIframe();\n\n frameHandle.src = urlNavigate;\n\n return frameHandle;\n }\n\n /**\n * @hidden\n * Creates a new hidden iframe or gets an existing one for silent token renewal.\n * @ignore\n */\n private createHiddenIframe(): HTMLIFrameElement {\n const authFrame = document.createElement(\"iframe\");\n\n authFrame.style.visibility = \"hidden\";\n authFrame.style.position = \"absolute\";\n authFrame.style.width = authFrame.style.height = \"0\";\n authFrame.style.border = \"0\";\n authFrame.setAttribute(\"sandbox\", \"allow-scripts allow-same-origin allow-forms\");\n document.getElementsByTagName(\"body\")[0].appendChild(authFrame);\n\n return authFrame;\n }\n\n /**\n * @hidden\n * Removes a hidden iframe from the page.\n * @ignore\n */\n private removeHiddenIframe(iframe: HTMLIFrameElement): void {\n if (document.body === iframe.parentNode) {\n document.body.removeChild(iframe);\n }\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AuthenticationResult, ICrypto, Logger, StringUtils, PromptValue, CommonAuthorizationCodeRequest, AuthorizationCodeClient, AuthError } from \"@azure/msal-common\";\nimport { StandardInteractionClient } from \"./StandardInteractionClient\";\nimport { AuthorizationUrlRequest } from \"../request/AuthorizationUrlRequest\";\nimport { BrowserConfiguration } from \"../config/Configuration\";\nimport { BrowserCacheManager } from \"../cache/BrowserCacheManager\";\nimport { EventHandler } from \"../event/EventHandler\";\nimport { INavigationClient } from \"../navigation/INavigationClient\";\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\nimport { InteractionType, ApiId } from \"../utils/BrowserConstants\";\nimport { SilentHandler } from \"../interaction_handler/SilentHandler\";\nimport { SsoSilentRequest } from \"../request/SsoSilentRequest\";\n\nexport class SilentIframeClient extends StandardInteractionClient {\n protected apiId: ApiId;\n\n constructor(config: BrowserConfiguration, storageImpl: BrowserCacheManager, browserCrypto: ICrypto, logger: Logger, eventHandler: EventHandler, navigationClient: INavigationClient, apiId: ApiId, correlationId?: string) {\n super(config, storageImpl, browserCrypto, logger, eventHandler, navigationClient, correlationId);\n this.apiId = apiId;\n }\n\n /**\n * Acquires a token silently by opening a hidden iframe to the /authorize endpoint with prompt=none\n * @param request\n */\n async acquireToken(request: SsoSilentRequest): Promise {\n this.logger.verbose(\"acquireTokenByIframe called\");\n // Check that we have some SSO data\n if (StringUtils.isEmpty(request.loginHint) && StringUtils.isEmpty(request.sid) && (!request.account || StringUtils.isEmpty(request.account.username))) {\n this.logger.warning(\"No user hint provided. The authorization server may need more information to complete this request.\");\n }\n\n // Check that prompt is set to none, throw error if it is set to anything else.\n if (request.prompt && request.prompt !== PromptValue.NONE) {\n throw BrowserAuthError.createSilentPromptValueError(request.prompt);\n }\n\n // Create silent request\n const silentRequest: AuthorizationUrlRequest = await this.initializeAuthorizationRequest({\n ...request,\n prompt: PromptValue.NONE\n }, InteractionType.Silent);\n this.browserStorage.updateCacheEntries(silentRequest.state, silentRequest.nonce, silentRequest.authority, silentRequest.loginHint || \"\", silentRequest.account || null);\n\n const serverTelemetryManager = this.initializeServerTelemetryManager(this.apiId);\n\n try {\n // Create auth code request and generate PKCE params\n const authCodeRequest: CommonAuthorizationCodeRequest = await this.initializeAuthorizationCodeRequest(silentRequest);\n\n // Initialize the client\n const authClient: AuthorizationCodeClient = await this.createAuthCodeClient(serverTelemetryManager, silentRequest.authority, silentRequest.azureCloudOptions);\n this.logger.verbose(\"Auth code client created\");\n\n // Create authorize request url\n const navigateUrl = await authClient.getAuthCodeUrl(silentRequest);\n\n return await this.silentTokenHelper(navigateUrl, authCodeRequest, authClient, this.logger);\n } catch (e) {\n if (e instanceof AuthError) {\n e.setCorrelationId(this.correlationId);\n }\n serverTelemetryManager.cacheFailedRequest(e);\n this.browserStorage.cleanRequestByState(silentRequest.state);\n throw e;\n }\n }\n\n /**\n * Currently Unsupported\n */\n logout(): Promise {\n // Synchronous so we must reject\n return Promise.reject(BrowserAuthError.createSilentLogoutUnsupportedError());\n }\n\n /**\n * Helper which acquires an authorization code silently using a hidden iframe from given url\n * using the scopes requested as part of the id, and exchanges the code for a set of OAuth tokens.\n * @param navigateUrl\n * @param userRequestScopes\n */\n protected async silentTokenHelper(navigateUrl: string, authCodeRequest: CommonAuthorizationCodeRequest, authClient: AuthorizationCodeClient, browserRequestLogger: Logger): Promise {\n // Create silent handler\n const silentHandler = new SilentHandler(authClient, this.browserStorage, authCodeRequest, browserRequestLogger, this.config.system.navigateFrameWait);\n // Get the frame handle for the silent request\n const msalFrame = await silentHandler.initiateAuthRequest(navigateUrl);\n // Monitor the window for the hash. Return the string value and close the popup when the hash is received. Default timeout is 60 seconds.\n const hash = await silentHandler.monitorIframeForHash(msalFrame, this.config.system.iframeHashTimeout);\n const state = this.validateAndExtractStateFromHash(hash, InteractionType.Silent, authCodeRequest.correlationId);\n\n // Handle response from hash string\n return silentHandler.handleCodeResponseFromHash(hash, state, authClient.authority, this.networkClient);\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ClientConfiguration } from \"../config/ClientConfiguration\";\nimport { BaseClient } from \"./BaseClient\";\nimport { CommonRefreshTokenRequest } from \"../request/CommonRefreshTokenRequest\";\nimport { Authority } from \"../authority/Authority\";\nimport { ServerAuthorizationTokenResponse } from \"../response/ServerAuthorizationTokenResponse\";\nimport { RequestParameterBuilder } from \"../request/RequestParameterBuilder\";\nimport { GrantType, AuthenticationScheme, Errors } from \"../utils/Constants\";\nimport { ResponseHandler } from \"../response/ResponseHandler\";\nimport { AuthenticationResult } from \"../response/AuthenticationResult\";\nimport { PopTokenGenerator } from \"../crypto/PopTokenGenerator\";\nimport { StringUtils } from \"../utils/StringUtils\";\nimport { RequestThumbprint } from \"../network/RequestThumbprint\";\nimport { NetworkResponse } from \"../network/NetworkManager\";\nimport { CommonSilentFlowRequest } from \"../request/CommonSilentFlowRequest\";\nimport { ClientConfigurationError } from \"../error/ClientConfigurationError\";\nimport { ClientAuthError } from \"../error/ClientAuthError\";\nimport { ServerError } from \"../error/ServerError\";\nimport { TimeUtils } from \"../utils/TimeUtils\";\nimport { UrlString } from \"../url/UrlString\";\nimport { CcsCredentialType } from \"../account/CcsCredential\";\nimport { buildClientInfoFromHomeAccountId } from \"../account/ClientInfo\";\nimport { InteractionRequiredAuthError, InteractionRequiredAuthErrorMessage } from \"../error/InteractionRequiredAuthError\";\n\n/**\n * OAuth2.0 refresh token client\n */\nexport class RefreshTokenClient extends BaseClient {\n\n constructor(configuration: ClientConfiguration) {\n super(configuration);\n }\n\n public async acquireToken(request: CommonRefreshTokenRequest): Promise{\n const reqTimestamp = TimeUtils.nowSeconds();\n const response = await this.executeTokenRequest(request, this.authority);\n\n const responseHandler = new ResponseHandler(\n this.config.authOptions.clientId,\n this.cacheManager,\n this.cryptoUtils,\n this.logger,\n this.config.serializableCache,\n this.config.persistencePlugin\n );\n\n responseHandler.validateTokenResponse(response.body);\n return responseHandler.handleServerTokenResponse(\n response.body,\n this.authority,\n reqTimestamp,\n request,\n undefined,\n undefined,\n true\n );\n }\n\n /**\n * Gets cached refresh token and attaches to request, then calls acquireToken API\n * @param request\n */\n public async acquireTokenByRefreshToken(request: CommonSilentFlowRequest): Promise {\n // Cannot renew token if no request object is given.\n if (!request) {\n throw ClientConfigurationError.createEmptyTokenRequestError();\n }\n\n // We currently do not support silent flow for account === null use cases; This will be revisited for confidential flow usecases\n if (!request.account) {\n throw ClientAuthError.createNoAccountInSilentRequestError();\n }\n\n // try checking if FOCI is enabled for the given application\n const isFOCI = this.cacheManager.isAppMetadataFOCI(request.account.environment, this.config.authOptions.clientId);\n\n // if the app is part of the family, retrive a Family refresh token if present and make a refreshTokenRequest\n if (isFOCI) {\n try {\n return this.acquireTokenWithCachedRefreshToken(request, true);\n } catch (e) {\n const noFamilyRTInCache = e instanceof InteractionRequiredAuthError && e.errorCode === InteractionRequiredAuthErrorMessage.noTokensFoundError.code;\n const clientMismatchErrorWithFamilyRT = e instanceof ServerError && e.errorCode === Errors.INVALID_GRANT_ERROR && e.subError === Errors.CLIENT_MISMATCH_ERROR;\n\n // if family Refresh Token (FRT) cache acquisition fails or if client_mismatch error is seen with FRT, reattempt with application Refresh Token (ART)\n if (noFamilyRTInCache || clientMismatchErrorWithFamilyRT) {\n return this.acquireTokenWithCachedRefreshToken(request, false);\n // throw in all other cases\n } else {\n throw e;\n }\n }\n }\n\n // fall back to application refresh token acquisition\n return this.acquireTokenWithCachedRefreshToken(request, false);\n }\n\n /**\n * makes a network call to acquire tokens by exchanging RefreshToken available in userCache; throws if refresh token is not cached\n * @param request\n */\n private async acquireTokenWithCachedRefreshToken(request: CommonSilentFlowRequest, foci: boolean) {\n // fetches family RT or application RT based on FOCI value\n const refreshToken = this.cacheManager.readRefreshTokenFromCache(this.config.authOptions.clientId, request.account, foci);\n\n // no refresh Token\n if (!refreshToken) {\n throw InteractionRequiredAuthError.createNoTokensFoundError();\n }\n\n const refreshTokenRequest: CommonRefreshTokenRequest = {\n ...request,\n refreshToken: refreshToken.secret,\n authenticationScheme: request.authenticationScheme || AuthenticationScheme.BEARER,\n ccsCredential: {\n credential: request.account.homeAccountId,\n type: CcsCredentialType.HOME_ACCOUNT_ID\n }\n };\n\n return this.acquireToken(refreshTokenRequest);\n }\n\n /**\n * Constructs the network message and makes a NW call to the underlying secure token service\n * @param request\n * @param authority\n */\n private async executeTokenRequest(request: CommonRefreshTokenRequest, authority: Authority)\n : Promise> {\n\n const requestBody = await this.createTokenRequestBody(request);\n const queryParameters = this.createTokenQueryParameters(request);\n const headers: Record = this.createTokenRequestHeaders(request.ccsCredential);\n const thumbprint: RequestThumbprint = {\n clientId: this.config.authOptions.clientId,\n authority: authority.canonicalAuthority,\n scopes: request.scopes,\n claims: request.claims,\n authenticationScheme: request.authenticationScheme,\n resourceRequestMethod: request.resourceRequestMethod,\n resourceRequestUri: request.resourceRequestUri,\n shrClaims: request.shrClaims,\n sshKid: request.sshKid\n };\n\n const endpoint = UrlString.appendQueryString(authority.tokenEndpoint, queryParameters);\n return this.executePostToTokenEndpoint(endpoint, requestBody, headers, thumbprint);\n }\n\n /**\n * Creates query string for the /token request\n * @param request \n */\n private createTokenQueryParameters(request: CommonRefreshTokenRequest): string {\n const parameterBuilder = new RequestParameterBuilder();\n\n if (request.tokenQueryParameters) {\n parameterBuilder.addExtraQueryParameters(request.tokenQueryParameters);\n }\n\n return parameterBuilder.createQueryString();\n }\n\n /**\n * Helper function to create the token request body\n * @param request\n */\n private async createTokenRequestBody(request: CommonRefreshTokenRequest): Promise {\n const parameterBuilder = new RequestParameterBuilder();\n\n parameterBuilder.addClientId(this.config.authOptions.clientId);\n\n parameterBuilder.addScopes(request.scopes);\n\n parameterBuilder.addGrantType(GrantType.REFRESH_TOKEN_GRANT);\n\n parameterBuilder.addClientInfo();\n\n parameterBuilder.addLibraryInfo(this.config.libraryInfo);\n parameterBuilder.addApplicationTelemetry(this.config.telemetry.application);\n parameterBuilder.addThrottling();\n \n if (this.serverTelemetryManager) {\n parameterBuilder.addServerTelemetry(this.serverTelemetryManager);\n }\n\n const correlationId = request.correlationId || this.config.cryptoInterface.createNewGuid();\n parameterBuilder.addCorrelationId(correlationId);\n\n parameterBuilder.addRefreshToken(request.refreshToken);\n\n if (this.config.clientCredentials.clientSecret) {\n parameterBuilder.addClientSecret(this.config.clientCredentials.clientSecret);\n }\n\n // Use clientAssertion from request, fallback to client assertion in base configuration\n const clientAssertion = request.clientAssertion || this.config.clientCredentials.clientAssertion;\n\n if (clientAssertion) {\n parameterBuilder.addClientAssertion(clientAssertion.assertion);\n parameterBuilder.addClientAssertionType(clientAssertion.assertionType);\n }\n\n if (request.authenticationScheme === AuthenticationScheme.POP) {\n const popTokenGenerator = new PopTokenGenerator(this.cryptoUtils);\n const reqCnfData = await popTokenGenerator.generateCnf(request);\n // SPA PoP requires full Base64Url encoded req_cnf string (unhashed)\n parameterBuilder.addPopToken(reqCnfData.reqCnfString);\n } else if (request.authenticationScheme === AuthenticationScheme.SSH) {\n if(request.sshJwk) {\n parameterBuilder.addSshJwk(request.sshJwk);\n } else {\n throw ClientConfigurationError.createMissingSshJwkError();\n }\n }\n\n if (!StringUtils.isEmptyObj(request.claims) || this.config.authOptions.clientCapabilities && this.config.authOptions.clientCapabilities.length > 0) {\n parameterBuilder.addClaims(request.claims, this.config.authOptions.clientCapabilities);\n }\n\n if (this.config.systemOptions.preventCorsPreflight && request.ccsCredential) {\n switch (request.ccsCredential.type) {\n case CcsCredentialType.HOME_ACCOUNT_ID:\n try {\n const clientInfo = buildClientInfoFromHomeAccountId(request.ccsCredential.credential);\n parameterBuilder.addCcsOid(clientInfo);\n } catch (e) {\n this.logger.verbose(\"Could not parse home account ID for CCS Header: \" + e);\n }\n break;\n case CcsCredentialType.UPN:\n parameterBuilder.addCcsUpn(request.ccsCredential.credential);\n break;\n }\n }\n\n return parameterBuilder.createQueryString();\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { StandardInteractionClient } from \"./StandardInteractionClient\";\nimport { CommonSilentFlowRequest, AuthenticationResult, ServerTelemetryManager, RefreshTokenClient, AuthError, AzureCloudOptions } from \"@azure/msal-common\";\nimport { ApiId } from \"../utils/BrowserConstants\";\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\n\nexport class SilentRefreshClient extends StandardInteractionClient {\n /**\n * Exchanges the refresh token for new tokens\n * @param request\n */\n async acquireToken(request: CommonSilentFlowRequest): Promise {\n const silentRequest: CommonSilentFlowRequest = {\n ...request,\n ...await this.initializeBaseRequest(request)\n };\n const serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.acquireTokenSilent_silentFlow);\n\n const refreshTokenClient = await this.createRefreshTokenClient(serverTelemetryManager, silentRequest.authority, silentRequest.azureCloudOptions);\n this.logger.verbose(\"Refresh token client created\");\n\n // Send request to renew token. Auth module will throw errors if token cannot be renewed.\n return refreshTokenClient.acquireTokenByRefreshToken(silentRequest).catch(e => {\n if (e instanceof AuthError) {\n e.setCorrelationId(this.correlationId);\n }\n serverTelemetryManager.cacheFailedRequest(e);\n throw e;\n });\n }\n\n /**\n * Currently Unsupported\n */\n logout(): Promise {\n // Synchronous so we must reject\n return Promise.reject(BrowserAuthError.createSilentLogoutUnsupportedError());\n }\n\n /**\n * Creates a Refresh Client with the given authority, or the default authority.\n * @param serverTelemetryManager\n * @param authorityUrl\n */\n protected async createRefreshTokenClient(serverTelemetryManager: ServerTelemetryManager, authorityUrl?: string, azureCloudOptions?: AzureCloudOptions): Promise {\n // Create auth module.\n const clientConfig = await this.getClientConfiguration(serverTelemetryManager, authorityUrl, azureCloudOptions);\n return new RefreshTokenClient(clientConfig);\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AccessTokenEntity, ICrypto, IdTokenEntity, Logger, ScopeSet, Authority, AuthorityOptions, ExternalTokenResponse, AccountEntity, AuthToken } from \"@azure/msal-common\";\nimport { BrowserConfiguration } from \"../config/Configuration\";\nimport { SilentRequest } from \"../request/SilentRequest\";\nimport { BrowserCacheManager } from \"./BrowserCacheManager\";\nimport { ITokenCache } from \"./ITokenCache\";\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\n\nexport type LoadTokenOptions = {\n clientInfo?: string,\n extendedExpiresOn?: number\n};\n\n/**\n * Token cache manager\n */\nexport class TokenCache implements ITokenCache {\n // Flag to indicate if in browser environment\n public isBrowserEnvironment: boolean;\n // Input configuration by developer/user\n protected config: BrowserConfiguration;\n // Browser cache storage\n private storage: BrowserCacheManager;\n // Logger\n private logger: Logger;\n // Crypto class\n private cryptoObj: ICrypto;\n\n constructor(configuration: BrowserConfiguration, storage: BrowserCacheManager, logger: Logger, cryptoObj: ICrypto) {\n this.isBrowserEnvironment = typeof window !== \"undefined\";\n this.config = configuration;\n this.storage = storage;\n this.logger = logger;\n this.cryptoObj = cryptoObj;\n }\n\n // Move getAllAccounts here and cache utility APIs\n\n /**\n * API to load tokens to msal-browser cache.\n * @param request\n * @param response\n * @param options\n */\n loadExternalTokens(request: SilentRequest, response: ExternalTokenResponse, options: LoadTokenOptions): void {\n this.logger.info(\"TokenCache - loadExternalTokens called\");\n\n if (!response.id_token) {\n throw BrowserAuthError.createUnableToLoadTokenError(\"Please ensure server response includes id token.\");\n }\n\n if (request.account) {\n this.loadIdToken(response.id_token, request.account.homeAccountId, request.account.environment, request.account.tenantId, options);\n this.loadAccessToken(request, response, request.account.homeAccountId, request.account.environment, request.account.tenantId, options);\n } else if (request.authority) {\n\n const authorityUrl = Authority.generateAuthority(request.authority, request.azureCloudOptions);\n const authorityOptions: AuthorityOptions = {\n protocolMode: this.config.auth.protocolMode,\n knownAuthorities: this.config.auth.knownAuthorities,\n cloudDiscoveryMetadata: this.config.auth.cloudDiscoveryMetadata,\n authorityMetadata: this.config.auth.authorityMetadata,\n };\n const authority = new Authority(authorityUrl, this.config.system.networkClient, this.storage, authorityOptions);\n\n // \"clientInfo\" from options takes precedence over \"clientInfo\" in response\n if (options.clientInfo) {\n this.logger.trace(\"TokenCache - homeAccountId from options\");\n this.loadIdToken(response.id_token, options.clientInfo, authority.hostnameAndPort, authority.tenant, options);\n this.loadAccessToken(request, response, options.clientInfo, authority.hostnameAndPort, authority.tenant, options);\n } else if (response.client_info) {\n this.logger.trace(\"TokenCache - homeAccountId from response\");\n this.loadIdToken(response.id_token, response.client_info, authority.hostnameAndPort, authority.tenant, options);\n this.loadAccessToken(request, response, response.client_info, authority.hostnameAndPort, authority.tenant, options);\n } else {\n throw BrowserAuthError.createUnableToLoadTokenError(\"Please provide clientInfo in the response or options.\");\n }\n } else {\n throw BrowserAuthError.createUnableToLoadTokenError(\"Please provide a request with an account or a request with authority.\");\n }\n }\n\n /**\n * Helper function to load id tokens to msal-browser cache\n * @param idToken\n * @param homeAccountId\n * @param environment\n * @param tenantId\n * @param options\n */\n private loadIdToken(idToken: string, homeAccountId: string, environment: string, tenantId: string, options: LoadTokenOptions): void {\n\n const idTokenEntity = IdTokenEntity.createIdTokenEntity(homeAccountId, environment, idToken, this.config.auth.clientId, tenantId);\n const idAuthToken = new AuthToken(idToken, this.cryptoObj);\n const accountEntity = options.clientInfo ?\n AccountEntity.createAccount(options.clientInfo, homeAccountId, idAuthToken, undefined, undefined, undefined, undefined, environment) :\n AccountEntity.createGenericAccount(homeAccountId, idAuthToken, undefined, undefined, undefined, undefined, environment);\n\n if (this.isBrowserEnvironment) {\n this.logger.verbose(\"TokenCache - loading id token\");\n this.storage.setAccount(accountEntity);\n this.storage.setIdTokenCredential(idTokenEntity);\n } else {\n throw BrowserAuthError.createUnableToLoadTokenError(\"loadExternalTokens is designed to work in browser environments only.\");\n }\n }\n\n /**\n * Helper function to load access tokens to msal-browser cache\n * @param request\n * @param response\n * @param options\n * @param homeAccountId\n * @param environment\n * @param tenantId\n * @returns\n */\n private loadAccessToken(request: SilentRequest, response: ExternalTokenResponse, homeAccountId: string, environment: string, tenantId: string, options: LoadTokenOptions): void {\n\n if (!response.access_token) {\n this.logger.verbose(\"TokenCache - No access token provided for caching\");\n return;\n }\n\n if (!response.expires_in) {\n throw BrowserAuthError.createUnableToLoadTokenError(\"Please ensure server response includes expires_in value.\");\n }\n\n if (!options.extendedExpiresOn) {\n throw BrowserAuthError.createUnableToLoadTokenError(\"Please provide an extendedExpiresOn value in the options.\");\n }\n\n const scopes = new ScopeSet(request.scopes).printScopes();\n const expiresOn = response.expires_in;\n const extendedExpiresOn = options.extendedExpiresOn;\n\n const accessTokenEntity = AccessTokenEntity.createAccessTokenEntity(homeAccountId, environment, response.access_token, this.config.auth.clientId, tenantId, scopes, expiresOn, extendedExpiresOn, this.cryptoObj);\n\n if (this.isBrowserEnvironment) {\n this.logger.verbose(\"TokenCache - loading access token\");\n this.storage.setAccessTokenCredential(accessTokenEntity);\n } else {\n throw BrowserAuthError.createUnableToLoadTokenError(\"loadExternalTokens is designed to work in browser environments only.\");\n }\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AuthorizationCodeClient, ClientConfiguration } from \"@azure/msal-common\";\n\nexport class HybridSpaAuthorizationCodeClient extends AuthorizationCodeClient {\n constructor(config: ClientConfiguration) {\n super(config);\n this.includeRedirectUri = false;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AuthenticationResult, ICrypto, Logger, CommonAuthorizationCodeRequest, AuthError } from \"@azure/msal-common\";\nimport { StandardInteractionClient } from \"./StandardInteractionClient\";\nimport { AuthorizationUrlRequest } from \"../request/AuthorizationUrlRequest\";\nimport { BrowserConfiguration } from \"../config/Configuration\";\nimport { BrowserCacheManager } from \"../cache/BrowserCacheManager\";\nimport { EventHandler } from \"../event/EventHandler\";\nimport { INavigationClient } from \"../navigation/INavigationClient\";\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\nimport { InteractionType, ApiId } from \"../utils/BrowserConstants\";\nimport { SilentHandler } from \"../interaction_handler/SilentHandler\";\nimport { AuthorizationCodeRequest } from \"../request/AuthorizationCodeRequest\";\nimport { HybridSpaAuthorizationCodeClient } from \"./HybridSpaAuthorizationCodeClient\";\n\nexport class SilentAuthCodeClient extends StandardInteractionClient {\n private apiId: ApiId;\n\n constructor(config: BrowserConfiguration, storageImpl: BrowserCacheManager, browserCrypto: ICrypto, logger: Logger, eventHandler: EventHandler, navigationClient: INavigationClient, apiId: ApiId, correlationId?: string) {\n super(config, storageImpl, browserCrypto, logger, eventHandler, navigationClient, correlationId);\n this.apiId = apiId;\n }\n \n /**\n * Acquires a token silently by redeeming an authorization code against the /token endpoint\n * @param request \n */\n async acquireToken(request: AuthorizationCodeRequest): Promise {\n this.logger.trace(\"SilentAuthCodeClient.acquireToken called\");\n\n // Auth code payload is required\n if (!request.code) {\n throw BrowserAuthError.createAuthCodeRequiredError();\n }\n\n // Create silent request\n const silentRequest: AuthorizationUrlRequest = await this.initializeAuthorizationRequest(request, InteractionType.Silent);\n this.browserStorage.updateCacheEntries(silentRequest.state, silentRequest.nonce, silentRequest.authority, silentRequest.loginHint || \"\", silentRequest.account || null);\n\n const serverTelemetryManager = this.initializeServerTelemetryManager(this.apiId);\n\n try {\n\n // Create auth code request (PKCE not needed)\n const authCodeRequest: CommonAuthorizationCodeRequest = {\n ...silentRequest,\n code: request.code\n };\n\n // Initialize the client\n const clientConfig = await this.getClientConfiguration(serverTelemetryManager, silentRequest.authority);\n const authClient: HybridSpaAuthorizationCodeClient = new HybridSpaAuthorizationCodeClient(clientConfig);\n this.logger.verbose(\"Auth code client created\");\n\n // Create silent handler\n const silentHandler = new SilentHandler(authClient, this.browserStorage, authCodeRequest, this.logger, this.config.system.navigateFrameWait);\n\n // Handle auth code parameters from request\n return silentHandler.handleCodeResponseFromServer(\n {\n code: request.code,\n msgraph_host: request.msGraphHost,\n cloud_graph_host_name: request.cloudGraphHostName,\n cloud_instance_host_name: request.cloudInstanceHostName\n },\n silentRequest.state, \n authClient.authority, \n this.networkClient,\n false\n );\n } catch (e) {\n if (e instanceof AuthError) {\n e.setCorrelationId(this.correlationId);\n }\n serverTelemetryManager.cacheFailedRequest(e);\n this.browserStorage.cleanRequestByState(silentRequest.state);\n throw e;\n }\n }\n\n /**\n * Currently Unsupported\n */\n logout(): Promise {\n // Synchronous so we must reject\n return Promise.reject(BrowserAuthError.createSilentLogoutUnsupportedError());\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { CryptoOps } from \"../crypto/CryptoOps\";\nimport { StringUtils, ServerError, InteractionRequiredAuthError, AccountInfo, Constants, INetworkModule, AuthenticationResult, Logger, CommonSilentFlowRequest, ICrypto, DEFAULT_CRYPTO_IMPLEMENTATION } from \"@azure/msal-common\";\nimport { BrowserCacheManager, DEFAULT_BROWSER_CACHE_MANAGER } from \"../cache/BrowserCacheManager\";\nimport { BrowserConfiguration, buildConfiguration, Configuration } from \"../config/Configuration\";\nimport { InteractionType, ApiId, BrowserConstants, BrowserCacheLocation, WrapperSKU, TemporaryCacheKeys } from \"../utils/BrowserConstants\";\nimport { BrowserUtils } from \"../utils/BrowserUtils\";\nimport { RedirectRequest } from \"../request/RedirectRequest\";\nimport { PopupRequest } from \"../request/PopupRequest\";\nimport { SsoSilentRequest } from \"../request/SsoSilentRequest\";\nimport { version, name } from \"../packageMetadata\";\nimport { EventCallbackFunction } from \"../event/EventMessage\";\nimport { EventType } from \"../event/EventType\";\nimport { EndSessionRequest } from \"../request/EndSessionRequest\";\nimport { BrowserConfigurationAuthError } from \"../error/BrowserConfigurationAuthError\";\nimport { EndSessionPopupRequest } from \"../request/EndSessionPopupRequest\";\nimport { INavigationClient } from \"../navigation/INavigationClient\";\nimport { EventHandler } from \"../event/EventHandler\";\nimport { PopupClient } from \"../interaction_client/PopupClient\";\nimport { RedirectClient } from \"../interaction_client/RedirectClient\";\nimport { SilentIframeClient } from \"../interaction_client/SilentIframeClient\";\nimport { SilentRefreshClient } from \"../interaction_client/SilentRefreshClient\";\nimport { TokenCache } from \"../cache/TokenCache\";\nimport { ITokenCache } from \"../cache/ITokenCache\";\nimport { SilentAuthCodeClient } from \"../interaction_client/SilentAuthCodeClient\";\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\nimport { AuthorizationCodeRequest } from \"../request/AuthorizationCodeRequest\";\n\nexport abstract class ClientApplication {\n\n // Crypto interface implementation\n protected readonly browserCrypto: ICrypto;\n\n // Storage interface implementation\n protected readonly browserStorage: BrowserCacheManager;\n\n // Network interface implementation\n protected readonly networkClient: INetworkModule;\n\n // Navigation interface implementation\n protected navigationClient: INavigationClient;\n\n // Input configuration by developer/user\n protected config: BrowserConfiguration;\n\n // Token cache implementation\n private tokenCache: TokenCache;\n\n // Logger\n protected logger: Logger;\n\n // Flag to indicate if in browser environment\n protected isBrowserEnvironment: boolean;\n\n protected eventHandler: EventHandler;\n\n // Redirect Response Object\n protected redirectResponse: Map>;\n\n // Hybrid auth code responses\n private hybridAuthCodeResponses: Map>;\n\n /**\n * @constructor\n * Constructor for the PublicClientApplication used to instantiate the PublicClientApplication object\n *\n * Important attributes in the Configuration object for auth are:\n * - clientID: the application ID of your application. You can obtain one by registering your application with our Application registration portal : https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/RegisteredAppsPreview\n * - authority: the authority URL for your application.\n * - redirect_uri: the uri of your application registered in the portal.\n *\n * In Azure AD, authority is a URL indicating the Azure active directory that MSAL uses to obtain tokens.\n * It is of the form https://login.microsoftonline.com/{Enter_the_Tenant_Info_Here}\n * If your application supports Accounts in one organizational directory, replace \"Enter_the_Tenant_Info_Here\" value with the Tenant Id or Tenant name (for example, contoso.microsoft.com).\n * If your application supports Accounts in any organizational directory, replace \"Enter_the_Tenant_Info_Here\" value with organizations.\n * If your application supports Accounts in any organizational directory and personal Microsoft accounts, replace \"Enter_the_Tenant_Info_Here\" value with common.\n * To restrict support to Personal Microsoft accounts only, replace \"Enter_the_Tenant_Info_Here\" value with consumers.\n *\n * In Azure B2C, authority is of the form https://{instance}/tfp/{tenant}/{policyName}/\n * Full B2C functionality will be available in this library in future versions.\n *\n * @param configuration Object for the MSAL PublicClientApplication instance\n */\n constructor(configuration: Configuration) {\n /*\n * If loaded in an environment where window is not available,\n * set internal flag to false so that further requests fail.\n * This is to support server-side rendering environments.\n */\n this.isBrowserEnvironment = typeof window !== \"undefined\";\n // Set the configuration.\n this.config = buildConfiguration(configuration, this.isBrowserEnvironment);\n\n // Initialize logger\n this.logger = new Logger(this.config.system.loggerOptions, name, version);\n \n // Initialize the network module class.\n this.networkClient = this.config.system.networkClient;\n \n // Initialize the navigation client class.\n this.navigationClient = this.config.system.navigationClient;\n \n // Initialize redirectResponse Map\n this.redirectResponse = new Map();\n\n // Initial hybrid spa map\n this.hybridAuthCodeResponses = new Map();\n \n // Initialize the crypto class.\n this.browserCrypto = this.isBrowserEnvironment ? new CryptoOps(this.logger) : DEFAULT_CRYPTO_IMPLEMENTATION;\n\n this.eventHandler = new EventHandler(this.logger, this.browserCrypto);\n\n // Initialize the browser storage class.\n this.browserStorage = this.isBrowserEnvironment ? \n new BrowserCacheManager(this.config.auth.clientId, this.config.cache, this.browserCrypto, this.logger) : \n DEFAULT_BROWSER_CACHE_MANAGER(this.config.auth.clientId, this.logger);\n\n // Initialize the token cache\n this.tokenCache = new TokenCache(this.config, this.browserStorage, this.logger, this.browserCrypto);\n }\n\n // #region Redirect Flow\n\n /**\n * Event handler function which allows users to fire events after the PublicClientApplication object\n * has loaded during redirect flows. This should be invoked on all page loads involved in redirect\n * auth flows.\n * @param hash Hash to process. Defaults to the current value of window.location.hash. Only needs to be provided explicitly if the response to be handled is not contained in the current value.\n * @returns Token response or null. If the return value is null, then no auth redirect was detected.\n */\n async handleRedirectPromise(hash?: string): Promise {\n this.logger.verbose(\"handleRedirectPromise called\");\n const loggedInAccounts = this.getAllAccounts();\n if (this.isBrowserEnvironment) {\n /**\n * Store the promise on the PublicClientApplication instance if this is the first invocation of handleRedirectPromise,\n * otherwise return the promise from the first invocation. Prevents race conditions when handleRedirectPromise is called\n * several times concurrently.\n */\n const redirectResponseKey = hash || Constants.EMPTY_STRING;\n let response = this.redirectResponse.get(redirectResponseKey);\n if (typeof response === \"undefined\") {\n this.eventHandler.emitEvent(EventType.HANDLE_REDIRECT_START, InteractionType.Redirect);\n this.logger.verbose(\"handleRedirectPromise has been called for the first time, storing the promise\");\n const correlationId = this.browserStorage.getTemporaryCache(TemporaryCacheKeys.CORRELATION_ID, true) || \"\";\n const redirectClient = new RedirectClient(this.config, this.browserStorage, this.browserCrypto, this.logger, this.eventHandler, this.navigationClient, correlationId);\n response = redirectClient.handleRedirectPromise(hash)\n .then((result: AuthenticationResult | null) => {\n if (result) {\n // Emit login event if number of accounts change\n const isLoggingIn = loggedInAccounts.length < this.getAllAccounts().length;\n if (isLoggingIn) {\n this.eventHandler.emitEvent(EventType.LOGIN_SUCCESS, InteractionType.Redirect, result);\n this.logger.verbose(\"handleRedirectResponse returned result, login success\");\n } else {\n this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_SUCCESS, InteractionType.Redirect, result);\n this.logger.verbose(\"handleRedirectResponse returned result, acquire token success\");\n }\n }\n this.eventHandler.emitEvent(EventType.HANDLE_REDIRECT_END, InteractionType.Redirect);\n\n return result;\n })\n .catch((e) => {\n // Emit login event if there is an account\n if (loggedInAccounts.length > 0) {\n this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_FAILURE, InteractionType.Redirect, null, e);\n } else {\n this.eventHandler.emitEvent(EventType.LOGIN_FAILURE, InteractionType.Redirect, null, e);\n }\n this.eventHandler.emitEvent(EventType.HANDLE_REDIRECT_END, InteractionType.Redirect);\n\n throw e;\n });\n this.redirectResponse.set(redirectResponseKey, response);\n } else {\n this.logger.verbose(\"handleRedirectPromise has been called previously, returning the result from the first call\");\n }\n \n return response;\n }\n this.logger.verbose(\"handleRedirectPromise returns null, not browser environment\");\n return null;\n }\n\n /**\n * Use when you want to obtain an access_token for your API by redirecting the user's browser window to the authorization endpoint. This function redirects\n * the page, so any code that follows this function will not execute.\n *\n * IMPORTANT: It is NOT recommended to have code that is dependent on the resolution of the Promise. This function will navigate away from the current\n * browser window. It currently returns a Promise in order to reflect the asynchronous nature of the code running in this function.\n *\n * @param request\n */\n async acquireTokenRedirect(request: RedirectRequest): Promise {\n // Preflight request\n this.logger.verbose(\"acquireTokenRedirect called\");\n this.preflightBrowserEnvironmentCheck(InteractionType.Redirect);\n\n // If logged in, emit acquire token events\n const isLoggedIn = this.getAllAccounts().length > 0;\n if (isLoggedIn) {\n this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_START, InteractionType.Redirect, request);\n } else {\n this.eventHandler.emitEvent(EventType.LOGIN_START, InteractionType.Redirect, request);\n }\n \n const redirectClient = new RedirectClient(this.config, this.browserStorage, this.browserCrypto, this.logger, this.eventHandler, this.navigationClient, request.correlationId);\n return redirectClient.acquireToken(request).catch((e) => {\n // If logged in, emit acquire token events\n if (isLoggedIn) {\n this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_FAILURE, InteractionType.Redirect, null, e);\n } else {\n this.eventHandler.emitEvent(EventType.LOGIN_FAILURE, InteractionType.Redirect, null, e);\n }\n throw e;\n });\n }\n\n // #endregion\n\n // #region Popup Flow\n\n /**\n * Use when you want to obtain an access_token for your API via opening a popup window in the user's browser\n *\n * @param request\n *\n * @returns A promise that is fulfilled when this function has completed, or rejected if an error was raised.\n */\n acquireTokenPopup(request: PopupRequest): Promise {\n try {\n this.logger.verbose(\"acquireTokenPopup called\", request.correlationId);\n this.preflightBrowserEnvironmentCheck(InteractionType.Popup);\n } catch (e) {\n // Since this function is syncronous we need to reject\n return Promise.reject(e);\n }\n\n // If logged in, emit acquire token events\n const loggedInAccounts = this.getAllAccounts();\n if (loggedInAccounts.length > 0) {\n this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_START, InteractionType.Popup, request);\n } else {\n this.eventHandler.emitEvent(EventType.LOGIN_START, InteractionType.Popup, request);\n }\n\n const popupClient = new PopupClient(this.config, this.browserStorage, this.browserCrypto, this.logger, this.eventHandler, this.navigationClient, request.correlationId);\n\n return popupClient.acquireToken(request).then((result) => {\n // If logged in, emit acquire token events\n const isLoggingIn = loggedInAccounts.length < this.getAllAccounts().length;\n if (isLoggingIn) {\n this.eventHandler.emitEvent(EventType.LOGIN_SUCCESS, InteractionType.Popup, result);\n } else {\n this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_SUCCESS, InteractionType.Popup, result);\n }\n\n return result;\n }).catch((e) => {\n if (loggedInAccounts.length > 0) {\n this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_FAILURE, InteractionType.Popup, null, e);\n } else {\n this.eventHandler.emitEvent(EventType.LOGIN_FAILURE, InteractionType.Popup, null, e);\n }\n // Since this function is syncronous we need to reject\n return Promise.reject(e);\n });\n }\n\n // #endregion\n\n // #region Silent Flow\n\n /**\n * This function uses a hidden iframe to fetch an authorization code from the eSTS. There are cases where this may not work:\n * - Any browser using a form of Intelligent Tracking Prevention\n * - If there is not an established session with the service\n *\n * In these cases, the request must be done inside a popup or full frame redirect.\n *\n * For the cases where interaction is required, you cannot send a request with prompt=none.\n *\n * If your refresh token has expired, you can use this function to fetch a new set of tokens silently as long as\n * you session on the server still exists.\n * @param request {@link SsoSilentRequest}\n *\n * @returns A promise that is fulfilled when this function has completed, or rejected if an error was raised.\n */\n async ssoSilent(request: SsoSilentRequest): Promise {\n this.preflightBrowserEnvironmentCheck(InteractionType.Silent);\n this.logger.verbose(\"ssoSilent called\", request.correlationId);\n this.eventHandler.emitEvent(EventType.SSO_SILENT_START, InteractionType.Silent, request);\n\n try {\n const silentIframeClient = new SilentIframeClient(this.config, this.browserStorage, this.browserCrypto, this.logger, this.eventHandler, this.navigationClient, ApiId.ssoSilent, request.correlationId);\n const silentTokenResult = await silentIframeClient.acquireToken(request);\n this.eventHandler.emitEvent(EventType.SSO_SILENT_SUCCESS, InteractionType.Silent, silentTokenResult);\n return silentTokenResult;\n } catch (e) {\n this.eventHandler.emitEvent(EventType.SSO_SILENT_FAILURE, InteractionType.Silent, null, e);\n throw e;\n }\n }\n\n /**\n * This function redeems an authorization code (passed as code) from the eSTS token endpoint.\n * This authorization code should be acquired server-side using a confidential client to acquire a spa_code.\n * This API is not indended for normal authorization code acquisition and redemption.\n * \n * Redemption of this authorization code will not require PKCE, as it was acquired by a confidential client.\n * \n * @param request {@link AuthorizationCodeRequest}\n * @returns A promise that is fulfilled when this function has completed, or rejected if an error was raised.\n */\n async acquireTokenByCode(request: AuthorizationCodeRequest): Promise {\n this.preflightBrowserEnvironmentCheck(InteractionType.Silent);\n this.logger.trace(\"acquireTokenByCode called\", request.correlationId);\n this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_BY_CODE_START, InteractionType.Silent, request);\n\n try {\n if (!request.code) {\n throw BrowserAuthError.createAuthCodeRequiredError();\n }\n\n let response = this.hybridAuthCodeResponses.get(request.code);\n if (!response) {\n this.logger.verbose(\"Initiating new acquireTokenByCode request\", request.correlationId);\n response = this.acquireTokenByCodeAsync(request)\n .then((result: AuthenticationResult) => {\n this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_BY_CODE_SUCCESS, InteractionType.Silent, result);\n this.hybridAuthCodeResponses.delete(request.code);\n return result;\n })\n .catch((error: Error) => {\n this.hybridAuthCodeResponses.delete(request.code);\n throw error;\n });\n\n this.hybridAuthCodeResponses.set(request.code, response);\n } else {\n this.logger.verbose(\"Existing acquireTokenByCode request found\", request.correlationId);\n }\n \n return response;\n } catch (e) {\n this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_BY_CODE_FAILURE, InteractionType.Silent, null, e);\n throw e;\n }\n }\n\n /**\n * Creates a SilentAuthCodeClient to redeem an authorization code.\n * @param request \n * @returns Result of the operation to redeem the authorization code\n */\n private async acquireTokenByCodeAsync(request: AuthorizationCodeRequest): Promise {\n this.logger.trace(\"acquireTokenByCodeAsync called\", request.correlationId);\n const silentAuthCodeClient = new SilentAuthCodeClient(this.config, this.browserStorage, this.browserCrypto, this.logger, this.eventHandler, this.navigationClient, ApiId.acquireTokenByCode, request.correlationId);\n const silentTokenResult = await silentAuthCodeClient.acquireToken(request);\n return silentTokenResult;\n }\n\n /**\n * Use this function to obtain a token before every call to the API / resource provider\n *\n * MSAL return's a cached token when available\n * Or it send's a request to the STS to obtain a new token using a refresh token.\n *\n * @param {@link SilentRequest}\n *\n * To renew idToken, please pass clientId as the only scope in the Authentication Parameters\n * @returns A promise that is fulfilled when this function has completed, or rejected if an error was raised.\n */\n protected async acquireTokenByRefreshToken(request: CommonSilentFlowRequest): Promise {\n this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_NETWORK_START, InteractionType.Silent, request);\n // block the reload if it occurred inside a hidden iframe\n BrowserUtils.blockReloadInHiddenIframes();\n\n const silentRefreshClient = new SilentRefreshClient(this.config, this.browserStorage, this.browserCrypto, this.logger, this.eventHandler, this.navigationClient, request.correlationId);\n\n return silentRefreshClient.acquireToken(request).catch(e => {\n const isServerError = e instanceof ServerError;\n const isInteractionRequiredError = e instanceof InteractionRequiredAuthError;\n const isInvalidGrantError = (e.errorCode === BrowserConstants.INVALID_GRANT_ERROR);\n if (isServerError && isInvalidGrantError && !isInteractionRequiredError) {\n this.logger.verbose(\"Refresh token expired or invalid, attempting acquire token by iframe\", request.correlationId);\n\n const silentIframeClient = new SilentIframeClient(this.config, this.browserStorage, this.browserCrypto, this.logger, this.eventHandler, this.navigationClient, ApiId.acquireTokenSilent_authCode, request.correlationId);\n return silentIframeClient.acquireToken(request);\n }\n throw e;\n });\n }\n\n // #endregion\n\n // #region Logout\n\n /**\n * Deprecated logout function. Use logoutRedirect or logoutPopup instead\n * @param logoutRequest \n * @deprecated\n */\n async logout(logoutRequest?: EndSessionRequest): Promise {\n this.logger.warning(\"logout API is deprecated and will be removed in msal-browser v3.0.0. Use logoutRedirect instead.\");\n return this.logoutRedirect(logoutRequest);\n }\n\n /**\n * Use to log out the current user, and redirect the user to the postLogoutRedirectUri.\n * Default behaviour is to redirect the user to `window.location.href`.\n * @param logoutRequest\n */\n async logoutRedirect(logoutRequest?: EndSessionRequest): Promise {\n this.preflightBrowserEnvironmentCheck(InteractionType.Redirect);\n const redirectClient = new RedirectClient(this.config, this.browserStorage, this.browserCrypto, this.logger, this.eventHandler, this.navigationClient, logoutRequest?.correlationId);\n return redirectClient.logout(logoutRequest);\n }\n\n /**\n * Clears local cache for the current user then opens a popup window prompting the user to sign-out of the server\n * @param logoutRequest \n */\n logoutPopup(logoutRequest?: EndSessionPopupRequest): Promise {\n try{\n this.preflightBrowserEnvironmentCheck(InteractionType.Popup);\n const popupClient = new PopupClient(this.config, this.browserStorage, this.browserCrypto, this.logger, this.eventHandler, this.navigationClient, logoutRequest?.correlationId);\n return popupClient.logout(logoutRequest);\n } catch (e) {\n // Since this function is syncronous we need to reject\n return Promise.reject(e);\n }\n }\n\n // #endregion\n\n // #region Account APIs\n\n /**\n * Returns all accounts that MSAL currently has data for.\n * (the account object is created at the time of successful login)\n * or empty array when no accounts are found\n * @returns Array of account objects in cache\n */\n getAllAccounts(): AccountInfo[] {\n this.logger.verbose(\"getAllAccounts called\");\n return this.isBrowserEnvironment ? this.browserStorage.getAllAccounts() : [];\n }\n\n /**\n * Returns the signed in account matching username.\n * (the account object is created at the time of successful login)\n * or null when no matching account is found.\n * This API is provided for convenience but getAccountById should be used for best reliability\n * @param userName\n * @returns The account object stored in MSAL\n */\n getAccountByUsername(userName: string): AccountInfo|null {\n const allAccounts = this.getAllAccounts();\n if (!StringUtils.isEmpty(userName) && allAccounts && allAccounts.length) {\n this.logger.verbose(\"Account matching username found, returning\");\n this.logger.verbosePii(`Returning signed-in accounts matching username: ${userName}`);\n return allAccounts.filter(accountObj => accountObj.username.toLowerCase() === userName.toLowerCase())[0] || null;\n } else {\n this.logger.verbose(\"getAccountByUsername: No matching account found, returning null\");\n return null;\n }\n }\n\n /**\n * Returns the signed in account matching homeAccountId.\n * (the account object is created at the time of successful login)\n * or null when no matching account is found\n * @param homeAccountId\n * @returns The account object stored in MSAL\n */\n getAccountByHomeId(homeAccountId: string): AccountInfo|null {\n const allAccounts = this.getAllAccounts();\n if (!StringUtils.isEmpty(homeAccountId) && allAccounts && allAccounts.length) {\n this.logger.verbose(\"Account matching homeAccountId found, returning\");\n this.logger.verbosePii(`Returning signed-in accounts matching homeAccountId: ${homeAccountId}`);\n return allAccounts.filter(accountObj => accountObj.homeAccountId === homeAccountId)[0] || null;\n } else {\n this.logger.verbose(\"getAccountByHomeId: No matching account found, returning null\");\n return null;\n }\n }\n\n /**\n * Returns the signed in account matching localAccountId.\n * (the account object is created at the time of successful login)\n * or null when no matching account is found\n * @param localAccountId\n * @returns The account object stored in MSAL\n */\n getAccountByLocalId(localAccountId: string): AccountInfo | null {\n const allAccounts = this.getAllAccounts();\n if (!StringUtils.isEmpty(localAccountId) && allAccounts && allAccounts.length) {\n this.logger.verbose(\"Account matching localAccountId found, returning\");\n this.logger.verbosePii(`Returning signed-in accounts matching localAccountId: ${localAccountId}`);\n return allAccounts.filter(accountObj => accountObj.localAccountId === localAccountId)[0] || null;\n } else {\n this.logger.verbose(\"getAccountByLocalId: No matching account found, returning null\");\n return null;\n }\n }\n\n /**\n * Sets the account to use as the active account. If no account is passed to the acquireToken APIs, then MSAL will use this active account.\n * @param account\n */\n setActiveAccount(account: AccountInfo | null): void {\n this.browserStorage.setActiveAccount(account);\n }\n\n /**\n * Gets the currently active account\n */\n getActiveAccount(): AccountInfo | null {\n return this.browserStorage.getActiveAccount();\n }\n\n // #endregion\n\n // #region Helpers\n\n /**\n * Helper to validate app environment before making an auth request\n * * @param interactionType\n */\n protected preflightBrowserEnvironmentCheck(interactionType: InteractionType): void {\n this.logger.verbose(\"preflightBrowserEnvironmentCheck started\");\n // Block request if not in browser environment\n BrowserUtils.blockNonBrowserEnvironment(this.isBrowserEnvironment);\n\n // Block redirects if in an iframe\n BrowserUtils.blockRedirectInIframe(interactionType, this.config.system.allowRedirectInIframe);\n\n // Block auth requests inside a hidden iframe\n BrowserUtils.blockReloadInHiddenIframes();\n\n // Block redirectUri opened in a popup from calling MSAL APIs\n BrowserUtils.blockAcquireTokenInPopups();\n\n // Block redirects if memory storage is enabled but storeAuthStateInCookie is not\n if (interactionType === InteractionType.Redirect &&\n this.config.cache.cacheLocation === BrowserCacheLocation.MemoryStorage &&\n !this.config.cache.storeAuthStateInCookie) {\n throw BrowserConfigurationAuthError.createInMemoryRedirectUnavailableError();\n }\n\n if (interactionType === InteractionType.Redirect || interactionType === InteractionType.Popup) {\n this.preflightInteractiveRequest();\n }\n }\n\n /**\n * Helper to validate app environment before making a request.\n * @param request\n * @param interactionType\n */\n protected preflightInteractiveRequest(): void {\n this.logger.verbose(\"preflightInteractiveRequest called, validating app environment\");\n // block the reload if it occurred inside a hidden iframe\n BrowserUtils.blockReloadInHiddenIframes();\n\n // Set interaction in progress temporary cache or throw if alread set.\n this.browserStorage.setInteractionInProgress(true);\n }\n\n /**\n * Adds event callbacks to array\n * @param callback\n */\n addEventCallback(callback: EventCallbackFunction): string | null {\n return this.eventHandler.addEventCallback(callback);\n }\n\n /**\n * Removes callback with provided id from callback array\n * @param callbackId\n */\n removeEventCallback(callbackId: string): void {\n this.eventHandler.removeEventCallback(callbackId);\n }\n\n /**\n * Adds event listener that emits an event when a user account is added or removed from localstorage in a different browser tab or window\n */\n enableAccountStorageEvents(): void {\n this.eventHandler.enableAccountStorageEvents();\n }\n\n /**\n * Removes event listener that emits an event when a user account is added or removed from localstorage in a different browser tab or window\n */\n disableAccountStorageEvents(): void {\n this.eventHandler.disableAccountStorageEvents();\n }\n\n /**\n * Gets the token cache for the application.\n */\n getTokenCache(): ITokenCache {\n return this.tokenCache;\n }\n\n /**\n * Returns the logger instance\n */\n getLogger(): Logger {\n return this.logger;\n }\n\n /**\n * Replaces the default logger set in configurations with new Logger with new configurations\n * @param logger Logger instance\n */\n setLogger(logger: Logger): void {\n this.logger = logger;\n }\n\n /**\n * Called by wrapper libraries (Angular & React) to set SKU and Version passed down to telemetry, logger, etc.\n * @param sku\n * @param version\n */\n initializeWrapperLibrary(sku: WrapperSKU, version: string): void {\n // Validate the SKU passed in is one we expect\n this.browserStorage.setWrapperMetadata(sku, version);\n }\n\n /**\n * Sets navigation client\n * @param navigationClient\n */\n setNavigationClient(navigationClient: INavigationClient): void {\n this.navigationClient = navigationClient;\n }\n\n /**\n * Returns the configuration object\n */\n getConfiguration(): BrowserConfiguration {\n return this.config;\n }\n\n // #endregion\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { BaseClient } from \"./BaseClient\";\nimport { ClientConfiguration } from \"../config/ClientConfiguration\";\nimport { CommonSilentFlowRequest } from \"../request/CommonSilentFlowRequest\";\nimport { AuthenticationResult } from \"../response/AuthenticationResult\";\nimport { AuthToken } from \"../account/AuthToken\";\nimport { TimeUtils } from \"../utils/TimeUtils\";\nimport { RefreshTokenClient } from \"./RefreshTokenClient\";\nimport { ClientAuthError, ClientAuthErrorMessage } from \"../error/ClientAuthError\";\nimport { ClientConfigurationError } from \"../error/ClientConfigurationError\";\nimport { ResponseHandler } from \"../response/ResponseHandler\";\nimport { CacheRecord } from \"../cache/entities/CacheRecord\";\nimport { CacheOutcome } from \"../utils/Constants\";\n\nexport class SilentFlowClient extends BaseClient {\n\n constructor(configuration: ClientConfiguration) {\n super(configuration);\n }\n\n /**\n * Retrieves a token from cache if it is still valid, or uses the cached refresh token to renew\n * the given token and returns the renewed token\n * @param request\n */\n async acquireToken(request: CommonSilentFlowRequest): Promise {\n try {\n return await this.acquireCachedToken(request);\n } catch (e) {\n if (e instanceof ClientAuthError && e.errorCode === ClientAuthErrorMessage.tokenRefreshRequired.code) {\n const refreshTokenClient = new RefreshTokenClient(this.config);\n return refreshTokenClient.acquireTokenByRefreshToken(request);\n } else {\n throw e;\n }\n }\n }\n\n /**\n * Retrieves token from cache or throws an error if it must be refreshed.\n * @param request\n */\n async acquireCachedToken(request: CommonSilentFlowRequest): Promise {\n // Cannot renew token if no request object is given.\n if (!request) {\n throw ClientConfigurationError.createEmptyTokenRequestError();\n }\n\n if (request.forceRefresh) {\n // Must refresh due to present force_refresh flag.\n this.serverTelemetryManager?.setCacheOutcome(CacheOutcome.FORCE_REFRESH);\n this.logger.info(\"SilentFlowClient:acquireCachedToken - Skipping cache because forceRefresh is true.\");\n throw ClientAuthError.createRefreshRequiredError();\n }\n\n // We currently do not support silent flow for account === null use cases; This will be revisited for confidential flow usecases\n if (!request.account) {\n throw ClientAuthError.createNoAccountInSilentRequestError();\n }\n\n const environment = request.authority || this.authority.getPreferredCache();\n\n const cacheRecord = this.cacheManager.readCacheRecord(request.account, this.config.authOptions.clientId, request, environment);\n \n if (!cacheRecord.accessToken) {\n // Must refresh due to non-existent access_token.\n this.serverTelemetryManager?.setCacheOutcome(CacheOutcome.NO_CACHED_ACCESS_TOKEN);\n this.logger.info(\"SilentFlowClient:acquireCachedToken - No access token found in cache for the given properties.\");\n throw ClientAuthError.createRefreshRequiredError();\n } else if (\n TimeUtils.wasClockTurnedBack(cacheRecord.accessToken.cachedAt) ||\n TimeUtils.isTokenExpired(cacheRecord.accessToken.expiresOn, this.config.systemOptions.tokenRenewalOffsetSeconds)\n ) {\n // Must refresh due to expired access_token.\n this.serverTelemetryManager?.setCacheOutcome(CacheOutcome.CACHED_ACCESS_TOKEN_EXPIRED);\n this.logger.info(`SilentFlowClient:acquireCachedToken - Cached access token is expired or will expire within ${this.config.systemOptions.tokenRenewalOffsetSeconds} seconds.`);\n throw ClientAuthError.createRefreshRequiredError();\n } else if (cacheRecord.accessToken.refreshOn && TimeUtils.isTokenExpired(cacheRecord.accessToken.refreshOn, 0)) {\n // Must refresh due to the refresh_in value.\n this.serverTelemetryManager?.setCacheOutcome(CacheOutcome.REFRESH_CACHED_ACCESS_TOKEN);\n this.logger.info(\"SilentFlowClient:acquireCachedToken - Cached access token's refreshOn property has been exceeded'.\");\n throw ClientAuthError.createRefreshRequiredError();\n }\n\n if (this.config.serverTelemetryManager) {\n this.config.serverTelemetryManager.incrementCacheHits();\n }\n\n return await this.generateResultFromCacheRecord(cacheRecord, request);\n }\n\n /**\n * Helper function to build response object from the CacheRecord\n * @param cacheRecord\n */\n private async generateResultFromCacheRecord(cacheRecord: CacheRecord, request: CommonSilentFlowRequest): Promise {\n let idTokenObj: AuthToken | undefined;\n if (cacheRecord.idToken) {\n idTokenObj = new AuthToken(cacheRecord.idToken.secret, this.config.cryptoInterface);\n }\n return await ResponseHandler.generateAuthenticationResult(\n this.cryptoUtils,\n this.authority,\n cacheRecord,\n true,\n request,\n idTokenObj\n );\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { StandardInteractionClient } from \"./StandardInteractionClient\";\nimport { CommonSilentFlowRequest, AuthenticationResult, SilentFlowClient, ServerTelemetryManager, AccountInfo, AzureCloudOptions} from \"@azure/msal-common\";\nimport { SilentRequest } from \"../request/SilentRequest\";\nimport { EventType } from \"../event/EventType\";\nimport { InteractionType, ApiId } from \"../utils/BrowserConstants\";\nimport { BrowserAuthError, BrowserAuthErrorMessage } from \"../error/BrowserAuthError\";\n\nexport class SilentCacheClient extends StandardInteractionClient {\n /**\n * Returns unexpired tokens from the cache, if available\n * @param silentRequest\n */\n async acquireToken(silentRequest: CommonSilentFlowRequest): Promise {\n // Telemetry manager only used to increment cacheHits here\n const serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.acquireTokenSilent_silentFlow);\n\n const silentAuthClient = await this.createSilentFlowClient(serverTelemetryManager, silentRequest.authority, silentRequest.azureCloudOptions);\n this.logger.verbose(\"Silent auth client created\");\n\n try {\n const cachedToken = await silentAuthClient.acquireCachedToken(silentRequest);\n this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_SUCCESS, InteractionType.Silent, cachedToken);\n return cachedToken;\n } catch (error) {\n if (error instanceof BrowserAuthError && error.errorCode === BrowserAuthErrorMessage.signingKeyNotFoundInStorage.code) {\n this.logger.verbose(\"Signing keypair for bound access token not found. Refreshing bound access token and generating a new crypto keypair.\");\n }\n throw error;\n }\n }\n\n /**\n * Currently Unsupported\n */\n logout(): Promise {\n // Synchronous so we must reject\n return Promise.reject(BrowserAuthError.createSilentLogoutUnsupportedError());\n }\n\n /**\n * Creates an Silent Flow Client with the given authority, or the default authority.\n * @param serverTelemetryManager\n * @param authorityUrl\n */\n protected async createSilentFlowClient(serverTelemetryManager: ServerTelemetryManager, authorityUrl?: string, azureCloudOptions?: AzureCloudOptions): Promise {\n // Create auth module.\n const clientConfig = await this.getClientConfiguration(serverTelemetryManager, authorityUrl, azureCloudOptions);\n return new SilentFlowClient(clientConfig);\n }\n\n async initializeSilentRequest(request: SilentRequest, account: AccountInfo): Promise {\n return {\n ...request,\n ...await this.initializeBaseRequest(request),\n account: account,\n forceRefresh: request.forceRefresh || false\n };\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AccountInfo, AuthenticationResult, RequestThumbprint } from \"@azure/msal-common\";\nimport { Configuration } from \"../config/Configuration\";\nimport { DEFAULT_REQUEST, InteractionType } from \"../utils/BrowserConstants\";\nimport { IPublicClientApplication } from \"./IPublicClientApplication\";\nimport { RedirectRequest } from \"../request/RedirectRequest\";\nimport { PopupRequest } from \"../request/PopupRequest\";\nimport { ClientApplication } from \"./ClientApplication\";\nimport { SilentRequest } from \"../request/SilentRequest\";\nimport { EventType } from \"../event/EventType\";\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\nimport { SilentCacheClient } from \"../interaction_client/SilentCacheClient\";\n\n/**\n * The PublicClientApplication class is the object exposed by the library to perform authentication and authorization functions in Single Page Applications\n * to obtain JWT tokens as described in the OAuth 2.0 Authorization Code Flow with PKCE specification.\n */\nexport class PublicClientApplication extends ClientApplication implements IPublicClientApplication {\n\n // Active requests\n private activeSilentTokenRequests: Map>;\n\n /**\n * @constructor\n * Constructor for the PublicClientApplication used to instantiate the PublicClientApplication object\n *\n * Important attributes in the Configuration object for auth are:\n * - clientID: the application ID of your application. You can obtain one by registering your application with our Application registration portal : https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/RegisteredAppsPreview\n * - authority: the authority URL for your application.\n * - redirect_uri: the uri of your application registered in the portal.\n *\n * In Azure AD, authority is a URL indicating the Azure active directory that MSAL uses to obtain tokens.\n * It is of the form https://login.microsoftonline.com/{Enter_the_Tenant_Info_Here}\n * If your application supports Accounts in one organizational directory, replace \"Enter_the_Tenant_Info_Here\" value with the Tenant Id or Tenant name (for example, contoso.microsoft.com).\n * If your application supports Accounts in any organizational directory, replace \"Enter_the_Tenant_Info_Here\" value with organizations.\n * If your application supports Accounts in any organizational directory and personal Microsoft accounts, replace \"Enter_the_Tenant_Info_Here\" value with common.\n * To restrict support to Personal Microsoft accounts only, replace \"Enter_the_Tenant_Info_Here\" value with consumers.\n *\n * In Azure B2C, authority is of the form https://{instance}/tfp/{tenant}/{policyName}/\n * Full B2C functionality will be available in this library in future versions.\n *\n * @param configuration object for the MSAL PublicClientApplication instance\n */\n constructor(configuration: Configuration) {\n super(configuration);\n\n this.activeSilentTokenRequests = new Map();\n }\n\n /**\n * Use when initiating the login process by redirecting the user's browser to the authorization endpoint. This function redirects the page, so\n * any code that follows this function will not execute.\n *\n * IMPORTANT: It is NOT recommended to have code that is dependent on the resolution of the Promise. This function will navigate away from the current\n * browser window. It currently returns a Promise in order to reflect the asynchronous nature of the code running in this function.\n *\n * @param request\n */\n async loginRedirect(request?: RedirectRequest): Promise {\n this.logger.verbose(\"loginRedirect called\");\n return this.acquireTokenRedirect(request || DEFAULT_REQUEST);\n }\n\n /**\n * Use when initiating the login process via opening a popup window in the user's browser\n *\n * @param request\n *\n * @returns A promise that is fulfilled when this function has completed, or rejected if an error was raised.\n */\n loginPopup(request?: PopupRequest): Promise {\n this.logger.verbose(\"loginPopup called\");\n return this.acquireTokenPopup(request || DEFAULT_REQUEST);\n }\n\n /**\n * Silently acquire an access token for a given set of scopes. Returns currently processing promise if parallel requests are made.\n *\n * @param {@link (SilentRequest:type)}\n * @returns {Promise.} - a promise that is fulfilled when this function has completed, or rejected if an error was raised. Returns the {@link AuthResponse} object\n */\n async acquireTokenSilent(request: SilentRequest): Promise {\n this.preflightBrowserEnvironmentCheck(InteractionType.Silent);\n this.logger.verbose(\"acquireTokenSilent called\", request.correlationId);\n const account = request.account || this.getActiveAccount();\n if (!account) {\n throw BrowserAuthError.createNoAccountError();\n }\n const thumbprint: RequestThumbprint = {\n clientId: this.config.auth.clientId,\n authority: request.authority || \"\",\n scopes: request.scopes,\n homeAccountIdentifier: account.homeAccountId,\n claims: request.claims,\n authenticationScheme: request.authenticationScheme,\n resourceRequestMethod: request.resourceRequestMethod,\n resourceRequestUri: request.resourceRequestUri,\n shrClaims: request.shrClaims,\n sshKid: request.sshKid\n };\n const silentRequestKey = JSON.stringify(thumbprint);\n const cachedResponse = this.activeSilentTokenRequests.get(silentRequestKey);\n if (typeof cachedResponse === \"undefined\") {\n this.logger.verbose(\"acquireTokenSilent called for the first time, storing active request\", request.correlationId);\n const response = this.acquireTokenSilentAsync(request, account)\n .then((result) => {\n this.activeSilentTokenRequests.delete(silentRequestKey);\n return result;\n })\n .catch((error) => {\n this.activeSilentTokenRequests.delete(silentRequestKey);\n throw error;\n });\n this.activeSilentTokenRequests.set(silentRequestKey, response);\n return response;\n } else {\n this.logger.verbose(\"acquireTokenSilent has been called previously, returning the result from the first call\", request.correlationId);\n return cachedResponse;\n }\n }\n\n /**\n * Silently acquire an access token for a given set of scopes. Will use cached token if available, otherwise will attempt to acquire a new token from the network via refresh token.\n * @param {@link (SilentRequest:type)}\n * @param {@link (AccountInfo:type)}\n * @returns {Promise.} - a promise that is fulfilled when this function has completed, or rejected if an error was raised. Returns the {@link AuthResponse} \n */\n protected async acquireTokenSilentAsync(request: SilentRequest, account: AccountInfo): Promise{\n const silentCacheClient = new SilentCacheClient(this.config, this.browserStorage, this.browserCrypto, this.logger, this.eventHandler, this.navigationClient, request.correlationId);\n const silentRequest = await silentCacheClient.initializeSilentRequest(request, account);\n this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_START, InteractionType.Silent, request);\n\n return silentCacheClient.acquireToken(silentRequest).catch(async () => {\n try {\n const tokenRenewalResult = await this.acquireTokenByRefreshToken(silentRequest);\n this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_SUCCESS, InteractionType.Silent, tokenRenewalResult);\n return tokenRenewalResult;\n } catch (tokenRenewalError) {\n this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_FAILURE, InteractionType.Silent, null, tokenRenewalError);\n throw tokenRenewalError;\n }\n });\n }\n}\n","import axios from \"axios\";\nimport { graphConfig, graphLoginRequest, loginRequest, msalConfig } from \"../authconfig\";\nimport { PublicClientApplication } from '@azure/msal-browser';\n\nconst axiosInstance = axios.create({\n baseURL: process.env.REACT_APP_BASE_API_URL,\n});\n\nconst msalInstance = new PublicClientApplication(msalConfig);\n\nconst getToken = async (request) => {\n try {\n const account = msalInstance.getAllAccounts()[0];\n if (!account) throw new Error(\"No accounts found in MSAL instance.\");\n const response = await msalInstance.acquireTokenSilent({ ...request, account });\n return response.accessToken;\n } catch (error) {\n console.error(\"Error acquiring token:\", error.message);\n throw error;\n }\n};\n\nconst sendRequest = async (method, url, data, tokenRequest, additionalConfig = {}) => {\n try {\n const token = await getToken(tokenRequest);\n const config = {\n method,\n url,\n data,\n headers: { Authorization: `Bearer ${token}` },\n withCredentials: false,\n ...additionalConfig,\n };\n const response = await axiosInstance(config);\n return response.data || response;\n } catch (error) {\n console.error(`Error making ${method.toUpperCase()} request to ${url}:`, error.message);\n throw error;\n }\n};\n\nconst base = {\n getAll: (url) => sendRequest(\"get\", url, null, loginRequest),\n\n get: (url, id) => sendRequest(\"get\", `${url}/${id}`, null, loginRequest),\n\n post: (url, data) => sendRequest(\"post\", url, data, loginRequest),\n\n getPhoto: () => sendRequest(\n \"get\",\n graphConfig.graphPhotoEndpoint,\n null,\n graphLoginRequest,\n { responseType: \"arraybuffer\" }\n ),\n\n qry: (url, id) => sendRequest(\"get\", `${url}/${id}`, null, loginRequest),\n\n add: (url, data) => sendRequest(\"post\", url, data, loginRequest),\n\n update: (url, data) => sendRequest(\"put\", url, data, loginRequest), // Use PUT for updates\n\n delete: (url, id) => sendRequest(\"delete\", `${url}/${id}`, null, loginRequest),\n};\n\nexport default base;\n","import React from 'react'\nimport { useEffect, useState } from 'react';\nimport { Col, Row, Button, Label, Input, Modal, ModalBody, ModalHeader, FormGroup, ModalFooter } from 'reactstrap';\n// import DataTable from 'react-data-table-component';\nimport 'ag-grid-community/dist/styles/ag-grid.css';\nimport 'ag-grid-community/dist/styles/ag-theme-balham.css';\nimport base from '../../../services/BaseService'\nimport LoadSpinner from '../../shared/loading'\n\nconst BudgetModal = ({ id, closeModal, showModalForm, setSaveItem }) => {\n\n const [field01, setField01] = useState(\"\")\n const [field02, setField02] = useState(\"\")\n const [field03, setField03] = useState(\"\")\n const [field04, setField04] = useState(\"\")\n const [field05, setField05] = useState(\"\")\n const [field06, setField06] = useState(\"\")\n const [field07, setField07] = useState(\"\")\n const [field08, setField08] = useState(\"\")\n const [field09, setField09] = useState(\"\")\n const [field10, setField10] = useState(\"\")\n const [field11, setField11] = useState(\"\")\n const [field12, setField12] = useState(\"\")\n const [field13, setField13] = useState(\"\")\n const [field14, setField14] = useState(\"\")\n const [loading, setLoading] = useState(false)\n const [showModal, setShowModal] = useState(showModalForm)\n const updateData = {};\n\n const toggleModal = () => {\n setShowModal(showModal => !showModal);\n closeModal()\n }\n\n const updateItem = () => {\n const result = field13.split(/\\r?\\n/);\n if (result.length > 7) {\n alert(`${\"More than 7 lines in Invoice Ref.\"}\\n\\n${\"Note: Only first 7 rows will be retained.\"}`)\n }\n updateData.FirstName = field01;\n updateData.LastName = field02;\n updateData.OrganistationName = field03;\n updateData.FA1 = result[0];\n updateData.FA2 = result[1];\n updateData.FA3 = result[2];\n updateData.FA4 = result[3];\n updateData.FA5 = result[4];\n updateData.FA6 = result[5];\n updateData.FA7 = result[6];\n updateData.include_timeslips = field11;\n updateData.url = field12;\n\n base.update(\"ManageData/contacts/upd/\" + id, updateData).then((res) => {\n setSaveItem(new Date().getTime());\n toggleModal()\n })\n }\n\n const handleChange = (e) => {\n if (e.target.name === 'contactName') {\n setField01(e.target.value);\n }\n\n if (e.target.name === 'FA8') {\n setField13(e.target.value);\n }\n\n if (e.target.name === 'name') {\n setField03(e.target.value);\n }\n if (e.target.name === 'po_ref') {\n setField14(e.target.value);\n }\n if (e.target.name === 'FA1') {\n setField04(e.target.value);\n // console.log(e.target.value);\n setField13(\n e.target.value + '\\r' + field05 + '\\r' + field06 + '\\r' + field07 + '\\r' + field08 + '\\r' + field09 + '\\r' + field10\n )\n }\n if (e.target.name === 'FA2') {\n setField05(e.target.value);\n setField13(\n field04 + '\\r' + e.target.value + '\\r' + field06 + '\\r' + field07 + '\\r' + field08 + '\\r' + field09 + '\\r' + field10\n )\n }\n if (e.target.name === 'FA3') {\n setField06(e.target.value);\n setField13(\n field04 + '\\r' + field05 + '\\r' + e.target.value + '\\r' + field07 + '\\r' + field08 + '\\r' + field09 + '\\r' + field10\n )\n }\n if (e.target.name === 'FA4') {\n setField07(e.target.value);\n setField13(\n field04 + '\\r' + field05 + '\\r' + field06 + '\\r' + e.target.value + '\\r' + field08 + '\\r' + field09 + '\\r' + field10\n )\n }\n if (e.target.name === 'FA5') {\n setField08(e.target.value);\n setField13(\n field04 + '\\r' + field05 + '\\r' + field06 + '\\r' + field07 + '\\r' + e.target.value + '\\r' + field09 + '\\r' + field10\n )\n }\n if (e.target.name === 'FA6') {\n setField09(e.target.value);\n setField13(\n field04 + '\\r' + field05 + '\\r' + field06 + '\\r' + field07 + '\\r' + field08 + '\\r' + e.target.value + '\\r' + field10\n )\n }\n if (e.target.name === 'FA7') {\n setField10(e.target.value);\n setField13(\n field04 + '\\r' + field05 + '\\r' + field06 + '\\r' + field07 + '\\r' + field08 + '\\r' + field09 + '\\r' + e.target.value\n )\n }\n\n if (e.target.name === 'include_timeslips') {\n setField11(e.target.value);\n\n }\n\n\n document.getElementById(e.target.id).style.border = '1px solid #cecece';\n }\n\n useEffect(() => {\n const getData = () => {\n const getFormData = async () => {\n await base.getAll(\"ManageData/contacts/\" + id).then((res) => {\n setField01(res.contactName);\n setField02(res.name);\n setField04(res.fA1);\n // if (res.fA1 === '') { console.log(\"blank\") }\n // if (res.fA1 === null) { console.log(null) }\n setField05(res.fA2);\n setField06(res.fA3);\n setField07(res.fA4);\n setField08(res.fA5);\n setField09(res.fA6);\n setField10(res.fA7);\n // const join = `${ first } ${ second } `;\n var data = \"\"\n + (res.fA1 !== '' ? res.fA1 : \"\")\n + '\\n' + (res.fA2 !== '' ? res.fA2 : \"\")\n + '\\n' + (res.fA3 !== '' ? res.fA3 : \"\")\n + '\\n' + (res.fA4 !== '' ? res.fA4 : \"\")\n + '\\n' + (res.fA5 !== '' ? res.fA5 : \"\")\n + '\\n' + (res.fA6 !== '' ? res.fA6 : \"\")\n + '\\n' + (res.fA7 !== '' ? res.fA7 : \"\")\n\n setField13(\n data\n )\n setField11(res.include_timeslips);\n setField12(res.url)\n setField14(res.contract_po_reference)\n setLoading(false)\n })\n }\n\n getFormData();\n }\n getData()\n }, [id])\n\n\n return (\n <>\n \n
Edit Contact
\n {loading ?\n \n :\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {/* \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n */}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {/* */}\n \n \n \n \n \n \n \n \n \n }\n
\n \n )\n}\n\nexport default BudgetModal\n","/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n// $FlowFixMe\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n // $FlowFixMe\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n // $FlowFixMe\n return document.styleSheets[i];\n }\n }\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n tag.setAttribute('data-s', '');\n return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n function StyleSheet(options) {\n var _this = this;\n\n this._insertTag = function (tag) {\n var before;\n\n if (_this.tags.length === 0) {\n if (_this.insertionPoint) {\n before = _this.insertionPoint.nextSibling;\n } else if (_this.prepend) {\n before = _this.container.firstChild;\n } else {\n before = _this.before;\n }\n } else {\n before = _this.tags[_this.tags.length - 1].nextSibling;\n }\n\n _this.container.insertBefore(tag, before);\n\n _this.tags.push(tag);\n };\n\n this.isSpeedy = options.speedy === undefined ? process.env.NODE_ENV === 'production' : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.prepend = options.prepend;\n this.insertionPoint = options.insertionPoint;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.hydrate = function hydrate(nodes) {\n nodes.forEach(this._insertTag);\n };\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n this._insertTag(createStyleElement(this));\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (process.env.NODE_ENV !== 'production') {\n var isImportRule = rule.charCodeAt(0) === 64 && rule.charCodeAt(1) === 105;\n\n if (isImportRule && this._alreadyInsertedOrderInsensitiveRule) {\n // this would only cause problem in speedy mode\n // but we don't want enabling speedy to affect the observable behavior\n // so we report this error at all times\n console.error(\"You're attempting to insert the following rule:\\n\" + rule + '\\n\\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules.');\n }\n this._alreadyInsertedOrderInsensitiveRule = this._alreadyInsertedOrderInsensitiveRule || !isImportRule;\n }\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n sheet.insertRule(rule, sheet.cssRules.length);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production' && !/:(-moz-placeholder|-moz-focus-inner|-moz-focusring|-ms-input-placeholder|-moz-read-write|-moz-read-only|-ms-clear){/.test(rule)) {\n console.error(\"There was a problem inserting the following rule: \\\"\" + rule + \"\\\"\", e);\n }\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n // $FlowFixMe\n this.tags.forEach(function (tag) {\n return tag.parentNode && tag.parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n\n if (process.env.NODE_ENV !== 'production') {\n this._alreadyInsertedOrderInsensitiveRule = false;\n }\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3)\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @return {number}\n */\nexport function indexof (value, search) {\n\treturn value.indexOf(search)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0), root, {length: -root.length}, props)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\n","import {IMPORT, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen, sizeof} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\tvar length = sizeof(children)\n\n\tfor (var i = 0; i < length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: element.value = element.props.join(',')\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {MS, MOZ, WEBKIT} from './Enum.js'\nimport {hash, charat, strlen, indexof, replace} from './Utility.js'\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {string}\n */\nexport function prefix (value, length) {\n\tswitch (hash(value, length)) {\n\t\t// color-adjust\n\t\tcase 5103:\n\t\t\treturn WEBKIT + 'print-' + value + value\n\t\t// animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\t\tcase 5737: case 4201: case 3177: case 3433: case 1641: case 4457: case 2921:\n\t\t// text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\t\tcase 5572: case 6356: case 5844: case 3191: case 6645: case 3005:\n\t\t// mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\t\tcase 6391: case 5879: case 5623: case 6135: case 4599: case 4855:\n\t\t// background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\t\tcase 4215: case 6389: case 5109: case 5365: case 5621: case 3829:\n\t\t\treturn WEBKIT + value + value\n\t\t// appearance, user-select, transform, hyphens, text-size-adjust\n\t\tcase 5349: case 4246: case 4810: case 6968: case 2756:\n\t\t\treturn WEBKIT + value + MOZ + value + MS + value + value\n\t\t// flex, flex-direction\n\t\tcase 6828: case 4268:\n\t\t\treturn WEBKIT + value + MS + value + value\n\t\t// order\n\t\tcase 6165:\n\t\t\treturn WEBKIT + value + MS + 'flex-' + value + value\n\t\t// align-items\n\t\tcase 5187:\n\t\t\treturn WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value\n\t\t// align-self\n\t\tcase 5443:\n\t\t\treturn WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value\n\t\t// align-content\n\t\tcase 4675:\n\t\t\treturn WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value\n\t\t// flex-shrink\n\t\tcase 5548:\n\t\t\treturn WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value\n\t\t// flex-basis\n\t\tcase 5292:\n\t\t\treturn WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value\n\t\t// flex-grow\n\t\tcase 6060:\n\t\t\treturn WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value\n\t\t// transition\n\t\tcase 4554:\n\t\t\treturn WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value\n\t\t// cursor\n\t\tcase 6187:\n\t\t\treturn replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value\n\t\t// background, background-image\n\t\tcase 5495: case 3959:\n\t\t\treturn replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1')\n\t\t// justify-content\n\t\tcase 4968:\n\t\t\treturn replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value\n\t\t// (margin|padding)-inline-(start|end)\n\t\tcase 4095: case 3583: case 4068: case 2532:\n\t\t\treturn replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value\n\t\t// (min|max)?(width|height|inline-size|block-size)\n\t\tcase 8116: case 7059: case 5753: case 5535:\n\t\tcase 5445: case 5701: case 4933: case 4677:\n\t\tcase 5533: case 5789: case 5021: case 4765:\n\t\t\t// stretch, max-content, min-content, fill-available\n\t\t\tif (strlen(value) - 1 - length > 6)\n\t\t\t\tswitch (charat(value, length + 1)) {\n\t\t\t\t\t// (m)ax-content, (m)in-content\n\t\t\t\t\tcase 109:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (charat(value, length + 4) !== 45)\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t// (f)ill-available, (f)it-content\n\t\t\t\t\tcase 102:\n\t\t\t\t\t\treturn replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value\n\t\t\t\t\t// (s)tretch\n\t\t\t\t\tcase 115:\n\t\t\t\t\t\treturn ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value\n\t\t\t\t}\n\t\t\tbreak\n\t\t// position: sticky\n\t\tcase 4949:\n\t\t\t// (s)ticky?\n\t\t\tif (charat(value, length + 1) !== 115)\n\t\t\t\tbreak\n\t\t// display: (flex|inline-flex)\n\t\tcase 6444:\n\t\t\tswitch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {\n\t\t\t\t// stic(k)y\n\t\t\t\tcase 107:\n\t\t\t\t\treturn replace(value, ':', ':' + WEBKIT) + value\n\t\t\t\t// (inline-)?fl(e)x\n\t\t\t\tcase 101:\n\t\t\t\t\treturn replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value\n\t\t\t}\n\t\t\tbreak\n\t\t// writing-mode\n\t\tcase 5936:\n\t\t\tswitch (charat(value, length + 11)) {\n\t\t\t\t// vertical-l(r)\n\t\t\t\tcase 114:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value\n\t\t\t\t// vertical-r(l)\n\t\t\t\tcase 108:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value\n\t\t\t\t// horizontal(-)tb\n\t\t\t\tcase 45:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value\n\t\t\t}\n\n\t\t\treturn WEBKIT + value + MS + value + value\n\t}\n\n\treturn value\n}\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine} from './Utility.js'\nimport {copy, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length)\n\t\t\t\t\tbreak\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\treturn serialize([copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]})], callback)\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\treturn serialize([\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]})\n\t\t\t\t\t\t\t\t\t], callback)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && characters.charCodeAt(length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f') != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset:\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule) {\n\t\t\t\t\t\t\t\t\t// d m s\n\t\t\t\t\t\t\t\t\tcase 100: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @return {object}\n */\nexport function comment (value, root, parent) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @return {object}\n */\nexport function declaration (value, root, parent, length) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length)\n}\n","import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, slice, position, stringify, COMMENT, rulesheet, middleware, prefixer, serialize, compile } from 'stylis';\nimport '@emotion/weak-memoize';\nimport '@emotion/memoize';\n\nvar last = function last(arr) {\n return arr.length ? arr[arr.length - 1] : null;\n}; // based on https://github.com/thysultan/stylis.js/blob/e6843c373ebcbbfade25ebcc23f540ed8508da0a/src/Tokenizer.js#L239-L244\n\n\nvar identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {\n var previous = 0;\n var character = 0;\n\n while (true) {\n previous = character;\n character = peek(); // &\\f\n\n if (previous === 38 && character === 12) {\n points[index] = 1;\n }\n\n if (token(character)) {\n break;\n }\n\n next();\n }\n\n return slice(begin, position);\n};\n\nvar toRules = function toRules(parsed, points) {\n // pretend we've started with a comma\n var index = -1;\n var character = 44;\n\n do {\n switch (token(character)) {\n case 0:\n // &\\f\n if (character === 38 && peek() === 12) {\n // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n // and when it should just concatenate the outer and inner selectors\n // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n points[index] = 1;\n }\n\n parsed[index] += identifierWithPointTracking(position - 1, points, index);\n break;\n\n case 2:\n parsed[index] += delimit(character);\n break;\n\n case 4:\n // comma\n if (character === 44) {\n // colon\n parsed[++index] = peek() === 58 ? '&\\f' : '';\n points[index] = parsed[index].length;\n break;\n }\n\n // fallthrough\n\n default:\n parsed[index] += from(character);\n }\n } while (character = next());\n\n return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo\n // negative .length indicates that this rule has been already prefixed\n element.length < 1) {\n return;\n }\n\n var value = element.value,\n parent = element.parent;\n var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n while (parent.type !== 'rule') {\n parent = parent.parent;\n if (!parent) return;\n } // short-circuit for the simplest case\n\n\n if (element.props.length === 1 && value.charCodeAt(0) !== 58\n /* colon */\n && !fixedElements.get(parent)) {\n return;\n } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n if (isImplicitRule) {\n return;\n }\n\n fixedElements.set(element, true);\n var points = [];\n var rules = getRules(value, points);\n var parentRules = parent.props;\n\n for (var i = 0, k = 0; i < rules.length; i++) {\n for (var j = 0; j < parentRules.length; j++, k++) {\n element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n }\n }\n};\nvar removeLabel = function removeLabel(element) {\n if (element.type === 'decl') {\n var value = element.value;\n\n if ( // charcode for l\n value.charCodeAt(0) === 108 && // charcode for b\n value.charCodeAt(2) === 98) {\n // this ignores label\n element[\"return\"] = '';\n element.value = '';\n }\n }\n};\nvar ignoreFlag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';\n\nvar isIgnoringComment = function isIgnoringComment(element) {\n return !!element && element.type === 'comm' && element.children.indexOf(ignoreFlag) > -1;\n};\n\nvar createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm(cache) {\n return function (element, index, children) {\n if (element.type !== 'rule') return;\n var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g);\n\n if (unsafePseudoClasses && cache.compat !== true) {\n var prevElement = index > 0 ? children[index - 1] : null;\n\n if (prevElement && isIgnoringComment(last(prevElement.children))) {\n return;\n }\n\n unsafePseudoClasses.forEach(function (unsafePseudoClass) {\n console.error(\"The pseudo class \\\"\" + unsafePseudoClass + \"\\\" is potentially unsafe when doing server-side rendering. Try changing it to \\\"\" + unsafePseudoClass.split('-child')[0] + \"-of-type\\\".\");\n });\n }\n };\n};\n\nvar isImportRule = function isImportRule(element) {\n return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64;\n};\n\nvar isPrependedWithRegularRules = function isPrependedWithRegularRules(index, children) {\n for (var i = index - 1; i >= 0; i--) {\n if (!isImportRule(children[i])) {\n return true;\n }\n }\n\n return false;\n}; // use this to remove incorrect elements from further processing\n// so they don't get handed to the `sheet` (or anything else)\n// as that could potentially lead to additional logs which in turn could be overhelming to the user\n\n\nvar nullifyElement = function nullifyElement(element) {\n element.type = '';\n element.value = '';\n element[\"return\"] = '';\n element.children = '';\n element.props = '';\n};\n\nvar incorrectImportAlarm = function incorrectImportAlarm(element, index, children) {\n if (!isImportRule(element)) {\n return;\n }\n\n if (element.parent) {\n console.error(\"`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles.\");\n nullifyElement(element);\n } else if (isPrependedWithRegularRules(index, children)) {\n console.error(\"`@import` rules can't be after other rules. Please put your `@import` rules before your other rules.\");\n nullifyElement(element);\n }\n};\n\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function createCache(options) {\n var key = options.key;\n\n if (process.env.NODE_ENV !== 'production' && !key) {\n throw new Error(\"You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\\n\" + \"If multiple caches share the same key they might \\\"fight\\\" for each other's style elements.\");\n }\n\n if ( key === 'css') {\n var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n // note this very very intentionally targets all style elements regardless of the key to ensure\n // that creating a cache works inside of render of a React component\n\n Array.prototype.forEach.call(ssrStyles, function (node) {\n // we want to only move elements which have a space in the data-emotion attribute value\n // because that indicates that it is an Emotion 11 server-side rendered style elements\n // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n // will not result in the Emotion 10 styles being destroyed\n var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n if (dataEmotionAttribute.indexOf(' ') === -1) {\n return;\n }\n document.head.appendChild(node);\n node.setAttribute('data-s', '');\n });\n }\n\n var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe\n if (/[^a-z-]/.test(key)) {\n throw new Error(\"Emotion key must only contain lower case alphabetical characters and - but \\\"\" + key + \"\\\" was passed\");\n }\n }\n\n var inserted = {}; // $FlowFixMe\n\n var container;\n var nodesToHydrate = [];\n\n {\n container = options.container || document.head;\n Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node) {\n var attrib = node.getAttribute(\"data-emotion\").split(' '); // $FlowFixMe\n\n for (var i = 1; i < attrib.length; i++) {\n inserted[attrib[i]] = true;\n }\n\n nodesToHydrate.push(node);\n });\n }\n\n var _insert;\n\n var omnipresentPlugins = [compat, removeLabel];\n\n if (process.env.NODE_ENV !== 'production') {\n omnipresentPlugins.push(createUnsafeSelectorsAlarm({\n get compat() {\n return cache.compat;\n }\n\n }), incorrectImportAlarm);\n }\n\n {\n var currentSheet;\n var finalizingPlugins = [stringify, process.env.NODE_ENV !== 'production' ? function (element) {\n if (!element.root) {\n if (element[\"return\"]) {\n currentSheet.insert(element[\"return\"]);\n } else if (element.value && element.type !== COMMENT) {\n // insert empty rule in non-production environments\n // so @emotion/jest can grab `key` from the (JS)DOM for caches without any rules inserted yet\n currentSheet.insert(element.value + \"{}\");\n }\n }\n } : rulesheet(function (rule) {\n currentSheet.insert(rule);\n })];\n var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n var stylis = function stylis(styles) {\n return serialize(compile(styles), serializer);\n };\n\n _insert = function insert(selector, serialized, sheet, shouldCache) {\n currentSheet = sheet;\n\n if (process.env.NODE_ENV !== 'production' && serialized.map !== undefined) {\n currentSheet = {\n insert: function insert(rule) {\n sheet.insert(rule + serialized.map);\n }\n };\n }\n\n stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n if (shouldCache) {\n cache.inserted[serialized.name] = true;\n }\n };\n }\n\n var cache = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy,\n prepend: options.prepend,\n insertionPoint: options.insertionPoint\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n cache.sheet.hydrate(nodesToHydrate);\n return cache;\n};\n\nexport default createCache;\n","var isBrowser = \"object\" !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false ) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n registerStyles(cache, serialized, isStringTag);\n var className = cache.key + \"-\" + serialized.name;\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n var maybeStyles = cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport default murmur2;\n","var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport default unitlessKeys;\n","import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\n\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\nvar UNDEFINED_AS_OBJECT_KEY_ERROR = \"You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key).\";\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = /* #__PURE__ */memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nif (process.env.NODE_ENV !== 'production') {\n var contentValuePattern = /(attr|counters?|url|(((repeating-)?(linear|radial))|conic)-gradient)\\(|(no-)?(open|close)-quote/;\n var contentValues = ['normal', 'none', 'initial', 'inherit', 'unset'];\n var oldProcessStyleValue = processStyleValue;\n var msPattern = /^-ms-/;\n var hyphenPattern = /-(.)/g;\n var hyphenatedCache = {};\n\n processStyleValue = function processStyleValue(key, value) {\n if (key === 'content') {\n if (typeof value !== 'string' || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '\"' && value.charAt(0) !== \"'\")) {\n throw new Error(\"You seem to be using a value for 'content' without quotes, try replacing it with `content: '\\\"\" + value + \"\\\"'`\");\n }\n }\n\n var processed = oldProcessStyleValue(key, value);\n\n if (processed !== '' && !isCustomProperty(key) && key.indexOf('-') !== -1 && hyphenatedCache[key] === undefined) {\n hyphenatedCache[key] = true;\n console.error(\"Using kebab-case for css properties in objects is not supported. Did you mean \" + key.replace(msPattern, 'ms-').replace(hyphenPattern, function (str, _char) {\n return _char.toUpperCase();\n }) + \"?\");\n }\n\n return processed;\n };\n}\n\nfunction handleInterpolation(mergedProps, registered, interpolation) {\n if (interpolation == null) {\n return '';\n }\n\n if (interpolation.__emotion_styles !== undefined) {\n if (process.env.NODE_ENV !== 'production' && interpolation.toString() === 'NO_COMPONENT_SELECTOR') {\n throw new Error('Component selectors can only be used in conjunction with @emotion/babel-plugin.');\n }\n\n return interpolation;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n if (interpolation.anim === 1) {\n cursor = {\n name: interpolation.name,\n styles: interpolation.styles,\n next: cursor\n };\n return interpolation.name;\n }\n\n if (interpolation.styles !== undefined) {\n var next = interpolation.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = interpolation.styles + \";\";\n\n if (process.env.NODE_ENV !== 'production' && interpolation.map !== undefined) {\n styles += interpolation.map;\n }\n\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result);\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('Functions that are interpolated in css calls will be stringified.\\n' + 'If you want to have a css call based on props, create a function that returns a css call like this\\n' + 'let dynamicStyle = (props) => css`color: ${props.color}`\\n' + 'It can be called directly with props or interpolated in a styled call like this\\n' + \"let SomeComponent = styled('div')`${dynamicStyle}`\");\n }\n\n break;\n }\n\n case 'string':\n if (process.env.NODE_ENV !== 'production') {\n var matched = [];\n var replaced = interpolation.replace(animationRegex, function (match, p1, p2) {\n var fakeVarName = \"animation\" + matched.length;\n matched.push(\"const \" + fakeVarName + \" = keyframes`\" + p2.replace(/^@keyframes animation-\\w+/, '') + \"`\");\n return \"${\" + fakeVarName + \"}\";\n });\n\n if (matched.length) {\n console.error('`keyframes` output got interpolated into plain string, please wrap it with `css`.\\n\\n' + 'Instead of doing this:\\n\\n' + [].concat(matched, [\"`\" + replaced + \"`\"]).join('\\n') + '\\n\\nYou should wrap it with `css` like this:\\n\\n' + (\"css`\" + replaced + \"`\"));\n }\n }\n\n break;\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n if (registered == null) {\n return interpolation;\n }\n\n var cached = registered[interpolation];\n return cached !== undefined ? cached : interpolation;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i]) + \";\";\n }\n } else {\n for (var _key in obj) {\n var value = obj[_key];\n\n if (typeof value !== 'object') {\n if (registered != null && registered[value] !== undefined) {\n string += _key + \"{\" + registered[value] + \"}\";\n } else if (isProcessableValue(value)) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value) + \";\";\n }\n } else {\n if (_key === 'NO_COMPONENT_SELECTOR' && process.env.NODE_ENV !== 'production') {\n throw new Error('Component selectors can only be used in conjunction with @emotion/babel-plugin.');\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value);\n\n switch (_key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(_key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n if (process.env.NODE_ENV !== 'production' && _key === 'undefined') {\n console.error(UNDEFINED_AS_OBJECT_KEY_ERROR);\n }\n\n string += _key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;\\n{]+)\\s*(;|$)/g;\nvar sourceMapPattern;\n\nif (process.env.NODE_ENV !== 'production') {\n sourceMapPattern = /\\/\\*#\\ssourceMappingURL=data:application\\/json;\\S+\\s+\\*\\//g;\n} // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\n\nvar cursor;\nvar serializeStyles = function serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings);\n } else {\n if (process.env.NODE_ENV !== 'production' && strings[0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i]);\n\n if (stringMode) {\n if (process.env.NODE_ENV !== 'production' && strings[i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[i];\n }\n }\n\n var sourceMap;\n\n if (process.env.NODE_ENV !== 'production') {\n styles = styles.replace(sourceMapPattern, function (match) {\n sourceMap = match;\n return '';\n });\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + // $FlowFixMe we know it's not null\n match[1];\n }\n\n var name = hashString(styles) + identifierName;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe SerializedStyles type doesn't have toString property (and we don't want to add it)\n return {\n name: name,\n styles: styles,\n map: sourceMap,\n next: cursor,\n toString: function toString() {\n return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\";\n }\n };\n }\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n};\n\nexport { serializeStyles };\n","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;\n","import * as React from 'react';\nimport { createContext, useContext, forwardRef, createElement, Fragment } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\n\nvar hasOwnProperty = {}.hasOwnProperty;\n\nvar EmotionCacheContext = /* #__PURE__ */createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n key: 'css'\n}) : null);\n\nif (process.env.NODE_ENV !== 'production') {\n EmotionCacheContext.displayName = 'EmotionCacheContext';\n}\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache() {\n return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache(func) {\n // $FlowFixMe\n return /*#__PURE__*/forwardRef(function (props, ref) {\n // the cache will never be null in the browser\n var cache = useContext(EmotionCacheContext);\n return func(props, cache, ref);\n });\n};\n\nvar ThemeContext = /* #__PURE__ */createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n ThemeContext.displayName = 'EmotionThemeContext';\n}\n\nvar useTheme = function useTheme() {\n return useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n if (typeof theme === 'function') {\n var mergedTheme = theme(outerTheme);\n\n if (process.env.NODE_ENV !== 'production' && (mergedTheme == null || typeof mergedTheme !== 'object' || Array.isArray(mergedTheme))) {\n throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!');\n }\n\n return mergedTheme;\n }\n\n if (process.env.NODE_ENV !== 'production' && (theme == null || typeof theme !== 'object' || Array.isArray(theme))) {\n throw new Error('[ThemeProvider] Please make your theme prop a plain object');\n }\n\n return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n return weakMemoize(function (theme) {\n return getTheme(outerTheme, theme);\n });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n var theme = useContext(ThemeContext);\n\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return /*#__PURE__*/createElement(ThemeContext.Provider, {\n value: theme\n }, props.children);\n};\nfunction withTheme(Component) {\n var componentName = Component.displayName || Component.name || 'Component';\n\n var render = function render(props, ref) {\n var theme = useContext(ThemeContext);\n return /*#__PURE__*/createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n }; // $FlowFixMe\n\n\n var WithTheme = /*#__PURE__*/forwardRef(render);\n WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar getLastPart = function getLastPart(functionName) {\n // The match may be something like 'Object.createEmotionProps' or\n // 'Loader.prototype.render'\n var parts = functionName.split('.');\n return parts[parts.length - 1];\n};\n\nvar getFunctionNameFromStackTraceLine = function getFunctionNameFromStackTraceLine(line) {\n // V8\n var match = /^\\s+at\\s+([A-Za-z0-9$.]+)\\s/.exec(line);\n if (match) return getLastPart(match[1]); // Safari / Firefox\n\n match = /^([A-Za-z0-9$.]+)@/.exec(line);\n if (match) return getLastPart(match[1]);\n return undefined;\n};\n\nvar internalReactFunctionNames = /* #__PURE__ */new Set(['renderWithHooks', 'processChild', 'finishClassComponent', 'renderToString']); // These identifiers come from error stacks, so they have to be valid JS\n// identifiers, thus we only need to replace what is a valid character for JS,\n// but not for CSS.\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n return identifier.replace(/\\$/g, '-');\n};\n\nvar getLabelFromStackTrace = function getLabelFromStackTrace(stackTrace) {\n if (!stackTrace) return undefined;\n var lines = stackTrace.split('\\n');\n\n for (var i = 0; i < lines.length; i++) {\n var functionName = getFunctionNameFromStackTraceLine(lines[i]); // The first line of V8 stack traces is just \"Error\"\n\n if (!functionName) continue; // If we reach one of these, we have gone too far and should quit\n\n if (internalReactFunctionNames.has(functionName)) break; // The component name is the first function in the stack that starts with an\n // uppercase letter\n\n if (/^[A-Z]/.test(functionName)) return sanitizeIdentifier(functionName);\n }\n\n return undefined;\n};\n\nvar useInsertionEffect = React['useInsertion' + 'Effect'] ? React['useInsertion' + 'Effect'] : function useInsertionEffect(create) {\n create();\n};\nfunction useInsertionEffectMaybe(create) {\n\n useInsertionEffect(create);\n}\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' && // check if there is a css declaration\n props.css.indexOf(':') !== -1) {\n throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`\" + props.css + \"`\");\n }\n\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key)) {\n newProps[key] = props[key];\n }\n }\n\n newProps[typePropName] = type; // For performance, only call getLabelFromStackTrace in development and when\n // the label hasn't already been computed\n\n if (process.env.NODE_ENV !== 'production' && !!props.css && (typeof props.css !== 'object' || typeof props.css.name !== 'string' || props.css.name.indexOf('-') === -1)) {\n var label = getLabelFromStackTrace(new Error().stack);\n if (label) newProps[labelPropName] = label;\n }\n\n return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n var rules = useInsertionEffectMaybe(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n\n var WrappedComponent = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(registeredStyles, undefined, useContext(ThemeContext));\n\n if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {\n var labelFromStack = props[labelPropName];\n\n if (labelFromStack) {\n serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n }\n }\n\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {\n newProps[key] = props[key];\n }\n }\n\n newProps.ref = ref;\n newProps.className = className;\n return /*#__PURE__*/createElement(Fragment, null, /*#__PURE__*/createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof WrappedComponent === 'string'\n }), /*#__PURE__*/createElement(WrappedComponent, newProps));\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nexport { CacheProvider as C, Emotion as E, ThemeContext as T, __unsafe_useEmotionCache as _, useTheme as a, ThemeProvider as b, createEmotionProps as c, withTheme as d, hasOwnProperty as h, useInsertionEffectMaybe as u, withEmotionCache as w };\n","import * as React from 'react';\nimport { createElement, useLayoutEffect, useContext, useRef, Fragment } from 'react';\nimport '@emotion/cache';\nimport { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext, u as useInsertionEffectMaybe } from './emotion-element-cbed451f.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, b as ThemeProvider, _ as __unsafe_useEmotionCache, a as useTheme, w as withEmotionCache, d as withTheme } from './emotion-element-cbed451f.browser.esm.js';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport 'hoist-non-react-statics';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\n\nvar pkg = {\n\tname: \"@emotion/react\",\n\tversion: \"11.8.2\",\n\tmain: \"dist/emotion-react.cjs.js\",\n\tmodule: \"dist/emotion-react.esm.js\",\n\tbrowser: {\n\t\t\"./dist/emotion-react.cjs.js\": \"./dist/emotion-react.browser.cjs.js\",\n\t\t\"./dist/emotion-react.esm.js\": \"./dist/emotion-react.browser.esm.js\"\n\t},\n\ttypes: \"types/index.d.ts\",\n\tfiles: [\n\t\t\"src\",\n\t\t\"dist\",\n\t\t\"jsx-runtime\",\n\t\t\"jsx-dev-runtime\",\n\t\t\"_isolated-hnrs\",\n\t\t\"types/*.d.ts\",\n\t\t\"macro.js\",\n\t\t\"macro.d.ts\",\n\t\t\"macro.js.flow\"\n\t],\n\tsideEffects: false,\n\tauthor: \"Emotion Contributors\",\n\tlicense: \"MIT\",\n\tscripts: {\n\t\t\"test:typescript\": \"dtslint types\"\n\t},\n\tdependencies: {\n\t\t\"@babel/runtime\": \"^7.13.10\",\n\t\t\"@emotion/babel-plugin\": \"^11.7.1\",\n\t\t\"@emotion/cache\": \"^11.7.1\",\n\t\t\"@emotion/serialize\": \"^1.0.2\",\n\t\t\"@emotion/utils\": \"^1.1.0\",\n\t\t\"@emotion/weak-memoize\": \"^0.2.5\",\n\t\t\"hoist-non-react-statics\": \"^3.3.1\"\n\t},\n\tpeerDependencies: {\n\t\t\"@babel/core\": \"^7.0.0\",\n\t\treact: \">=16.8.0\"\n\t},\n\tpeerDependenciesMeta: {\n\t\t\"@babel/core\": {\n\t\t\toptional: true\n\t\t},\n\t\t\"@types/react\": {\n\t\t\toptional: true\n\t\t}\n\t},\n\tdevDependencies: {\n\t\t\"@babel/core\": \"^7.13.10\",\n\t\t\"@emotion/css\": \"11.7.1\",\n\t\t\"@emotion/css-prettifier\": \"1.0.1\",\n\t\t\"@emotion/server\": \"11.4.0\",\n\t\t\"@emotion/styled\": \"11.8.1\",\n\t\t\"@types/react\": \"^16.9.11\",\n\t\tdtslint: \"^4.2.1\",\n\t\t\"html-tag-names\": \"^1.1.2\",\n\t\treact: \"16.14.0\",\n\t\t\"svg-tag-names\": \"^1.1.1\",\n\t\ttypescript: \"^4.5.5\"\n\t},\n\trepository: \"https://github.com/emotion-js/emotion/tree/main/packages/react\",\n\tpublishConfig: {\n\t\taccess: \"public\"\n\t},\n\t\"umd:main\": \"dist/emotion-react.umd.min.js\",\n\tpreconstruct: {\n\t\tentrypoints: [\n\t\t\t\"./index.js\",\n\t\t\t\"./jsx-runtime.js\",\n\t\t\t\"./jsx-dev-runtime.js\",\n\t\t\t\"./_isolated-hnrs.js\"\n\t\t],\n\t\tumdName: \"emotionReact\"\n\t}\n};\n\nvar jsx = function jsx(type, props) {\n var args = arguments;\n\n if (props == null || !hasOwnProperty.call(props, 'css')) {\n // $FlowFixMe\n return createElement.apply(undefined, args);\n }\n\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = Emotion;\n createElementArgArray[1] = createEmotionProps(type, props);\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n } // $FlowFixMe\n\n\n return createElement.apply(null, createElementArgArray);\n};\n\nvar useInsertionEffect = React['useInsertion' + 'Effect'] ? React['useInsertion' + 'Effect'] : useLayoutEffect;\nvar warnedAboutCssPropForGlobal = false; // maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && ( // check for className as well since the user is\n // probably using the custom createElement which\n // means it will be turned into a className prop\n // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n props.className || props.css)) {\n console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n warnedAboutCssPropForGlobal = true;\n }\n\n var styles = props.styles;\n var serialized = serializeStyles([styles], undefined, useContext(ThemeContext));\n // but it is based on a constant that will never change at runtime\n // it's effectively like having two implementations and switching them out\n // so it's not actually breaking anything\n\n\n var sheetRef = useRef();\n useInsertionEffect(function () {\n var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n var sheet = new cache.sheet.constructor({\n key: key,\n nonce: cache.sheet.nonce,\n container: cache.sheet.container,\n speedy: cache.sheet.isSpeedy\n });\n var rehydrating = false; // $FlowFixMe\n\n var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n if (cache.sheet.tags.length) {\n sheet.before = cache.sheet.tags[0];\n }\n\n if (node !== null) {\n rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other s\n\n node.setAttribute('data-emotion', key);\n sheet.hydrate([node]);\n }\n\n sheetRef.current = [sheet, rehydrating];\n return function () {\n sheet.flush();\n };\n }, [cache]);\n useInsertionEffect(function () {\n var sheetRefCurrent = sheetRef.current;\n var sheet = sheetRefCurrent[0],\n rehydrating = sheetRefCurrent[1];\n\n if (rehydrating) {\n sheetRefCurrent[1] = false;\n return;\n }\n\n if (serialized.next !== undefined) {\n // insert keyframes\n insertStyles(cache, serialized.next, true);\n }\n\n if (sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n sheet.before = element;\n sheet.flush();\n }\n\n cache.insert(\"\", serialized, sheet, false);\n }, [cache, serialized.name]);\n return null;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Global.displayName = 'EmotionGlobal';\n}\n\nfunction css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\nvar keyframes = function keyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n};\n\nvar classnames = function classnames(args) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n if (process.env.NODE_ENV !== 'production' && arg.styles !== undefined && arg.name !== undefined) {\n console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from component.');\n }\n\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serializedArr = _ref.serializedArr;\n var rules = useInsertionEffectMaybe(function () {\n\n for (var i = 0; i < serializedArr.length; i++) {\n var res = insertStyles(cache, serializedArr[i], false);\n }\n });\n\n return null;\n};\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n var hasRendered = false;\n var serializedArr = [];\n\n var css = function css() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('css can only be used during render');\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n registerStyles(cache, serialized, false);\n return cache.key + \"-\" + serialized.name;\n };\n\n var cx = function cx() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('cx can only be used during render');\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n var content = {\n css: css,\n cx: cx,\n theme: useContext(ThemeContext)\n };\n var ele = props.children(content);\n hasRendered = true;\n return /*#__PURE__*/createElement(Fragment, null, /*#__PURE__*/createElement(Insertion, {\n cache: cache,\n serializedArr: serializedArr\n }), ele);\n});\n\nif (process.env.NODE_ENV !== 'production') {\n ClassNames.displayName = 'EmotionClassNames';\n}\n\nif (process.env.NODE_ENV !== 'production') {\n var isBrowser = \"object\" !== 'undefined'; // #1727 for some reason Jest evaluates modules twice if some consuming module gets mocked with jest.mock\n\n var isJest = typeof jest !== 'undefined';\n\n if (isBrowser && !isJest) {\n // globalThis has wide browser support - https://caniuse.com/?search=globalThis, Node.js 12 and later\n var globalContext = // $FlowIgnore\n typeof globalThis !== 'undefined' ? globalThis // eslint-disable-line no-undef\n : isBrowser ? window : global;\n var globalKey = \"__EMOTION_REACT_\" + pkg.version.split('.')[0] + \"__\";\n\n if (globalContext[globalKey]) {\n console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.');\n }\n\n globalContext[globalKey] = true;\n }\n}\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}","import _typeof from \"./typeof.js\";\nexport default function toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}","import toPropertyKey from \"./toPropertyKey.js\";\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, toPropertyKey(descriptor.key), descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","export default function _taggedTemplateLiteral(strings, raw) {\n if (!raw) {\n raw = strings.slice(0);\n }\n return Object.freeze(Object.defineProperties(strings, {\n raw: {\n value: Object.freeze(raw)\n }\n }));\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import { a as _objectSpread2 } from './index-c7a4d7ce.esm.js';\nimport _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport { useState, useCallback } from 'react';\n\nvar _excluded = [\"defaultInputValue\", \"defaultMenuIsOpen\", \"defaultValue\", \"inputValue\", \"menuIsOpen\", \"onChange\", \"onInputChange\", \"onMenuClose\", \"onMenuOpen\", \"value\"];\nfunction useStateManager(_ref) {\n var _ref$defaultInputValu = _ref.defaultInputValue,\n defaultInputValue = _ref$defaultInputValu === void 0 ? '' : _ref$defaultInputValu,\n _ref$defaultMenuIsOpe = _ref.defaultMenuIsOpen,\n defaultMenuIsOpen = _ref$defaultMenuIsOpe === void 0 ? false : _ref$defaultMenuIsOpe,\n _ref$defaultValue = _ref.defaultValue,\n defaultValue = _ref$defaultValue === void 0 ? null : _ref$defaultValue,\n propsInputValue = _ref.inputValue,\n propsMenuIsOpen = _ref.menuIsOpen,\n propsOnChange = _ref.onChange,\n propsOnInputChange = _ref.onInputChange,\n propsOnMenuClose = _ref.onMenuClose,\n propsOnMenuOpen = _ref.onMenuOpen,\n propsValue = _ref.value,\n restSelectProps = _objectWithoutProperties(_ref, _excluded);\n\n var _useState = useState(propsInputValue !== undefined ? propsInputValue : defaultInputValue),\n _useState2 = _slicedToArray(_useState, 2),\n stateInputValue = _useState2[0],\n setStateInputValue = _useState2[1];\n\n var _useState3 = useState(propsMenuIsOpen !== undefined ? propsMenuIsOpen : defaultMenuIsOpen),\n _useState4 = _slicedToArray(_useState3, 2),\n stateMenuIsOpen = _useState4[0],\n setStateMenuIsOpen = _useState4[1];\n\n var _useState5 = useState(propsValue !== undefined ? propsValue : defaultValue),\n _useState6 = _slicedToArray(_useState5, 2),\n stateValue = _useState6[0],\n setStateValue = _useState6[1];\n\n var onChange = useCallback(function (value, actionMeta) {\n if (typeof propsOnChange === 'function') {\n propsOnChange(value, actionMeta);\n }\n\n setStateValue(value);\n }, [propsOnChange]);\n var onInputChange = useCallback(function (value, actionMeta) {\n var newValue;\n\n if (typeof propsOnInputChange === 'function') {\n newValue = propsOnInputChange(value, actionMeta);\n }\n\n setStateInputValue(newValue !== undefined ? newValue : value);\n }, [propsOnInputChange]);\n var onMenuOpen = useCallback(function () {\n if (typeof propsOnMenuOpen === 'function') {\n propsOnMenuOpen();\n }\n\n setStateMenuIsOpen(true);\n }, [propsOnMenuOpen]);\n var onMenuClose = useCallback(function () {\n if (typeof propsOnMenuClose === 'function') {\n propsOnMenuClose();\n }\n\n setStateMenuIsOpen(false);\n }, [propsOnMenuClose]);\n var inputValue = propsInputValue !== undefined ? propsInputValue : stateInputValue;\n var menuIsOpen = propsMenuIsOpen !== undefined ? propsMenuIsOpen : stateMenuIsOpen;\n var value = propsValue !== undefined ? propsValue : stateValue;\n return _objectSpread2(_objectSpread2({}, restSelectProps), {}, {\n inputValue: inputValue,\n menuIsOpen: menuIsOpen,\n onChange: onChange,\n onInputChange: onInputChange,\n onMenuClose: onMenuClose,\n onMenuOpen: onMenuOpen,\n value: value\n });\n}\n\nexport { useStateManager as u };\n","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","var safeIsNaN = Number.isNaN ||\n function ponyfill(value) {\n return typeof value === 'number' && value !== value;\n };\nfunction isEqual(first, second) {\n if (first === second) {\n return true;\n }\n if (safeIsNaN(first) && safeIsNaN(second)) {\n return true;\n }\n return false;\n}\nfunction areInputsEqual(newInputs, lastInputs) {\n if (newInputs.length !== lastInputs.length) {\n return false;\n }\n for (var i = 0; i < newInputs.length; i++) {\n if (!isEqual(newInputs[i], lastInputs[i])) {\n return false;\n }\n }\n return true;\n}\n\nfunction memoizeOne(resultFn, isEqual) {\n if (isEqual === void 0) { isEqual = areInputsEqual; }\n var lastThis;\n var lastArgs = [];\n var lastResult;\n var calledOnce = false;\n function memoized() {\n var newArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n newArgs[_i] = arguments[_i];\n }\n if (calledOnce && lastThis === this && isEqual(newArgs, lastArgs)) {\n return lastResult;\n }\n lastResult = resultFn.apply(this, newArgs);\n calledOnce = true;\n lastThis = this;\n lastArgs = newArgs;\n return lastResult;\n }\n return memoized;\n}\n\nexport default memoizeOne;\n","import { u as useStateManager } from './useStateManager-783b07d5.esm.js';\nexport { u as useStateManager } from './useStateManager-783b07d5.esm.js';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport * as React from 'react';\nimport { forwardRef, Component } from 'react';\nimport { S as Select } from './Select-126cf1dd.esm.js';\nexport { c as createFilter, d as defaultTheme, m as mergeStyles } from './Select-126cf1dd.esm.js';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport { _ as _createSuper } from './index-c7a4d7ce.esm.js';\nexport { c as components } from './index-c7a4d7ce.esm.js';\nimport { CacheProvider } from '@emotion/react';\nimport createCache from '@emotion/cache';\nimport memoizeOne from 'memoize-one';\nimport '@babel/runtime/helpers/slicedToArray';\nimport '@babel/runtime/helpers/objectWithoutProperties';\nimport '@babel/runtime/helpers/toConsumableArray';\nimport '@babel/runtime/helpers/taggedTemplateLiteral';\nimport '@babel/runtime/helpers/typeof';\nimport '@babel/runtime/helpers/defineProperty';\nimport 'react-dom';\n\nvar StateManagedSelect = /*#__PURE__*/forwardRef(function (props, ref) {\n var baseSelectProps = useStateManager(props);\n return /*#__PURE__*/React.createElement(Select, _extends({\n ref: ref\n }, baseSelectProps));\n});\n\nvar NonceProvider = /*#__PURE__*/function (_Component) {\n _inherits(NonceProvider, _Component);\n\n var _super = _createSuper(NonceProvider);\n\n function NonceProvider(props) {\n var _this;\n\n _classCallCheck(this, NonceProvider);\n\n _this = _super.call(this, props);\n\n _this.createEmotionCache = function (nonce, key) {\n return createCache({\n nonce: nonce,\n key: key\n });\n };\n\n _this.createEmotionCache = memoizeOne(_this.createEmotionCache);\n return _this;\n }\n\n _createClass(NonceProvider, [{\n key: \"render\",\n value: function render() {\n var emotionCache = this.createEmotionCache(this.props.nonce, this.props.cacheKey);\n return /*#__PURE__*/React.createElement(CacheProvider, {\n value: emotionCache\n }, this.props.children);\n }\n }]);\n\n return NonceProvider;\n}(Component);\n\nexport default StateManagedSelect;\nexport { NonceProvider };\n","var _g;\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgRemove24(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"24px\",\n height: \"24px\",\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"Remove / Large / 24\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Symbols\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Remove-/-Large-/-24\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"background\",\n fillOpacity: 0,\n fill: \"#000000\",\n x: 0,\n y: 0,\n width: 24,\n height: 24\n }), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group\",\n strokeLinecap: \"square\",\n transform: \"translate(7.800000, 7.800000)\",\n stroke: \"#111111\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.4,4.4408921e-14 L4.4408921e-14,8.4 M8.4,8.4 L4.4408921e-14,4.4408921e-14\",\n id: \"Combined-Shape\"\n }))))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgRemove24);\nexport default __webpack_public_path__ + \"static/media/remove24.559c82d6d4f62f068fba21cb05833937.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgRemove32(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"32px\",\n height: \"32px\",\n viewBox: \"0 0 32 32\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"Remove / Large / 32\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Symbols\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Remove-/-Large-/-32\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"background\",\n fillOpacity: 0,\n fill: \"#000000\",\n x: 0,\n y: 0,\n width: 32,\n height: 32\n }), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group\",\n strokeLinecap: \"square\",\n transform: \"translate(9.400000, 9.400000)\",\n stroke: \"#111111\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.6,0.6 L0.6,12.6 M12.6,12.6 L0.6,0.6\",\n id: \"Combined-Shape\"\n }))))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgRemove32);\nexport default __webpack_public_path__ + \"static/media/remove32.4d7628c885341a19cd03b016150175f4.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgDownload24(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"24px\",\n height: \"24px\",\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"Download / 24\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Symbols\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Download-/-24\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"background\",\n fillOpacity: 0,\n fill: \"#000000\",\n x: 0,\n y: 0,\n width: 24,\n height: 24\n }), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group\",\n strokeLinecap: \"square\",\n transform: \"translate(6.000000, 5.400000)\",\n stroke: \"#111111\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6,1.81188398e-13 L6,9.6 M12,12.6 L0,12.6 M9.6,6 L6,9.6 L2.4,6\",\n id: \"Combined-Shape\"\n }))))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgDownload24);\nexport default __webpack_public_path__ + \"static/media/download24.49f1cb3966621c10fb464d50ad63e68b.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgFilter24(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"24px\",\n height: \"24px\",\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"filter / 24\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Symbols\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"filter-/-24\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"background\",\n fillOpacity: 0,\n fill: \"#000000\",\n x: 0,\n y: 0,\n width: 24,\n height: 24\n }), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group\",\n strokeLinecap: \"square\",\n transform: \"translate(5.500000, 5.500000)\",\n stroke: \"#111111\"\n }, /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Path\",\n points: \"0 0 13 0 7.8 7.8 7.8 13 5.2 13 5.2 7.8\"\n }))))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgFilter24);\nexport default __webpack_public_path__ + \"static/media/filter24.866d85492927cdea154d34a5e32c35db.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgFilterfill24(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"24px\",\n height: \"24px\",\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"filter / 24\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Symbols\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"filter-/-24\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"background\",\n fillOpacity: 0,\n fill: \"#111\",\n x: 0,\n y: 0,\n width: 24,\n height: 24\n }), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group\",\n strokeLinecap: \"square\",\n transform: \"translate(5.500000, 5.500000)\",\n stroke: \"#008080\"\n }, /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Path\",\n points: \"0 0 13 0 7.8 7.8 7.8 13 5.2 13 5.2 7.8\",\n fill: \"#008080\"\n }))))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgFilterfill24);\nexport default __webpack_public_path__ + \"static/media/filterfill24.48fcc3b3ac3ed8a6195bd3c896a9f781.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react'\nimport { useEffect, useState, useCallback, useRef } from 'react';\nimport { AiOutlinePartition } from 'react-icons/ai'\nimport { Col, Row, CardHeader, CardBody, Button, Card, Input, InputGroup, Tooltip } from 'reactstrap';\nimport { AgGridReact } from 'ag-grid-react';\nimport 'ag-grid-community/dist/styles/ag-grid.css';\nimport 'ag-grid-community/dist/styles/ag-theme-balham.css';\nimport base from '../../../services/BaseService'\nimport Spinner from '../../shared/loading'\nimport BudgetModal from './contactsModal'\nimport Select from 'react-select'\nimport remove from '../../../assets/icons/remove24.svg';\nimport removeLrg from '../../../assets/icons/remove32.svg';\nimport download from '../../../assets/icons/download24.svg';\nimport ifilter from '../../../assets/icons/filter24.svg';\nimport ifilterFill from '../../../assets/icons/filterfill24.svg';\n\nconst Contacts = () => {\n\n const gridRef = useRef();\n const [saveItem, setSaveItem] = useState();\n const [budgetID, setBudgetID] = useState();\n const [gridDefaultColDef, setGridDefaultColDef] = useState([]);\n const [budgetColDef, setBudgetColDef] = useState([]);\n const [showModal, setShowModal] = useState(false)\n const [toggleModal, setToggleModal] = useState(false)\n const [expLoading, setExpLoading] = useState(true);\n const [data, setData] = useState([]);\n const [originData, setOriginData] = useState([]);\n const [filter1, setFilter1] = useState(['Active']);\n const [filter3, setFilter3] = useState('');\n const [inputValue, setInputValue] = useState({ value: \"Active\", label: 'Active' });\n const [tooltipOpen, setTooltipOpen] = useState(false);\n const toggle = () => setTooltipOpen(!tooltipOpen);\n const [filter, setFilter] = useState(true);\n const [showFilter, setShowFilter] = useState(false);\n\n const options1 = [\n { value: \"Active\", label: 'Active' },\n { value: \"Completed\", label: 'Completed' },\n { value: \"Hidden\", label: 'Hidden' },\n ]\n\n const initGridVar = useCallback(() => {\n setGridDefaultColDef({\n flex: 1,\n minWidth: 100,\n sortable: true,\n filter: true,\n resizable: true,\n editable: false,\n sortingOrder: [\"asc\", \"desc\"],\n });\n\n setBudgetColDef([\n {\n headerName: \"Contact Name\",\n field: \"contactName\",\n // cellClass: \"alignCenter widthhhh\",\n suppressMovable: true,\n maxWidth: 150\n },\n\n {\n headerName: \"Project\",\n field: \"name\",\n // cellClass: \"alignCenter widthhhh\",\n suppressMovable: true,\n minWidth: 200,\n maxWidth: 350\n },\n {\n headerName: \"Status\",\n field: \"status\",\n // cellClass: \"alignCenter widthhhh\",\n suppressMovable: true,\n maxWidth: 150\n },\n {\n headerName: \"PO Reference\",\n field: \"contract_po_reference\",\n // cellClass: \"alignCenter widthhhh\",\n suppressMovable: true,\n maxWidth: 150\n },\n {\n headerName: \"FA1\",\n field: \"fA1\",\n // cellClass: \"alignCenter widthhhh\",\n suppressMovable: true,\n maxWidth: 200\n },\n {\n headerName: \"FA2\",\n field: \"fA2\",\n // cellClass: \"alignCenter widthhhh\",\n suppressMovable: true,\n maxWidth: 200\n },\n {\n headerName: \"FA3\",\n field: \"fA3\",\n // cellClass: \"alignCenter widthhhh\",\n suppressMovable: true,\n maxWidth: 200\n },\n {\n headerName: \"FA4\",\n field: \"fA4\",\n // cellClass: \"alignCenter widthhhh\",\n suppressMovable: true,\n maxWidth: 200\n },\n {\n headerName: \"FA5\",\n field: \"fA5\",\n // cellClass: \"alignCenter widthhhh\",\n suppressMovable: true,\n maxWidth: 200\n },\n {\n headerName: \"FA6\",\n field: \"fA6\",\n // cellClass: \"alignCenter widthhhh\",\n suppressMovable: true,\n maxWidth: 200\n },\n {\n headerName: \"FA7\",\n field: \"fA7\",\n // cellClass: \"alignCenter widthhhh\",\n suppressMovable: true,\n maxWidth: 200\n },\n {\n headerName: \"Include Timeslips\",\n field: \"include_timeslips\",\n // cellClass: \"alignCenter widthhhh\",\n suppressMovable: true,\n maxWidth: 200\n },\n {\n headerName: \"id\",\n field: \"id\",\n // hidden: true,\n suppressMovable: true,\n hide: true,\n // filter: 'agNumberColumnFilter',\n type: 'numericColumn',\n // setColumnVisible: false,\n // valueFormatter: currencyFormatter\n },\n ]\n );\n }, []);\n\n const selectChange = (e, id) => {\n var fName = id.name\n if (fName === 'drpStatus') {\n // setInputValue(e.value);\n setFilter1(Array.isArray(e) ? e.map(x => x.value) : []);\n setInputValue(e)\n }\n }\n\n useEffect(() => {\n const filterData = () => {\n var xData = originData;\n\n if (filter1.length > 0) {\n xData = xData.filter(f => filter1.some(item => item.includes(f.status)));\n setFilter(true);\n // console.log(filter1)\n }\n\n\n if (filter3 !== '') {\n xData = xData.filter(f => f.contract_po_reference.toUpperCase().includes(filter3.toUpperCase()) || f.contactName.toUpperCase().includes(filter3.toUpperCase()) || f.name.toUpperCase().includes(filter3.toUpperCase()));\n setFilter(true);\n\n }\n\n if (filter1.length === 0 && filter3 === '') {\n // console.log('filter false')\n setFilter(false);\n }\n\n setData(xData);\n\n }\n filterData();\n }, [filter1, filter3, originData]);\n\n\n\n const handleChange = (e) => {\n console.log(e.target.value)\n var searchInput = e.target.value;\n // console.log(searchInput);\n if (searchInput !== '') {\n setFilter3(searchInput);\n }\n else {\n // setFilter(false);\n setFilter3('');\n }\n // setData(originData.filter(f => `${searchInput}`.some(item => item.includes(f.cat_description))));\n // setData(data.filter(f => f.cat_description.indexOf(e.value)))\n }\n\n const closeFilter = () => {\n setTooltipOpen(false);\n setShowFilter(false);\n setFilter(true);\n setData(originData);\n setInputValue({ value: \"Active\", label: 'Active' });\n // setInputValue1([]);\n setFilter1(['Active']);\n // setFilter2([]);\n setFilter3('');\n // setFilter4([]);\n }\n\n const openModal = () => {\n setShowModal(!showModal)\n // //console.log(showModal)\n }\n\n const closeModal = () => {\n setShowModal(showModal => false)\n // setExpLoading(true)\n setToggleModal(!toggleModal)\n }\n\n useEffect(() => {\n initGridVar();\n }, [initGridVar]);\n\n useEffect(() => {\n const getContacts = async () => {\n await base.getAll(\"ManageData/contacts\").then((res) => {\n setOriginData(res);\n setData(res);\n // setBudgetDataF(res);\n // setSelectedValue('Active')\n });\n }\n getContacts();\n setTimeout(() => {\n setExpLoading(false)\n }, [1000])\n\n }, [saveItem])\n\n const onBtnExport = useCallback(() => {\n gridRef.current.api.exportDataAsCsv();\n }, []);\n\n const onSelectionChanged = () => {\n const selectedRows = gridRef.current.api.getSelectedRows();\n if (selectedRows.length === 1) {\n setBudgetID(selectedRows[0].id);\n openModal();\n // //console.log(selectedRows[0].id)\n // setTimeout(() => {\n // //console.log(budgetID);\n // }, [5000])\n\n }\n // document.querySelector('#selectedRows').innerHTML =\n // selectedRows.length === 1 ? selectedRows[0].id : '';\n };\n\n // useEffect(() => {\n // console.log(selectedValue.length)\n // if (selectedValue.length !== 0) {\n // console.log(\"here 1\")\n\n // setBudgetDataF(budgetData.filter(\n // i => i.status.split(\",\").some(\n // fStatus => selectedValue.includes(fStatus)\n // )))\n // }\n // else {\n // setBudgetDataF(budgetData)\n // console.log(\"here 2\")\n // }\n // // console.log(budgetData.filter(a => { return a.status.includes(selectedValue) }))\n // }, [selectedValue])\n\n return (\n //
\n <>\n\n\n \n \n \n\n   \n Project Enrichment\n \n {/* */}\n \n \n \n {/* */}\n \n {/* */}\n \n \n
\n \n \n\n {expLoading ?\n \n
\n
\n \n
\n
\n
\n :\n <>\n\n {showFilter &&\n \n \n\n
\n \n \n \n \n \n \n \n \n \n */}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {/* \n \n \n \n \n \n \n \n */}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n }\n \n \n )\n}\n\nexport default TasksModal\n","import React from 'react'\nimport { useEffect, useState, useCallback, useRef } from 'react';\nimport { AiOutlinePoundCircle } from 'react-icons/ai';\nimport refresh from '../../../assets/icons/refresh24.svg';\nimport download from '../../../assets/icons/download24.svg';\nimport ifilter from '../../../assets/icons/filter24.svg';\nimport ifilterFill from '../../../assets/icons/filterfill24.svg';\nimport remove from '../../../assets/icons/remove24.svg';\nimport removeLrg from '../../../assets/icons/remove32.svg';\nimport Select from 'react-select'\nimport { Col, Row, CardHeader, CardBody, Button, Card, Input, InputGroup, Tooltip } from 'reactstrap';\nimport { AgGridReact } from 'ag-grid-react';\nimport 'ag-grid-community/dist/styles/ag-grid.css';\nimport 'ag-grid-community/dist/styles/ag-theme-balham.css';\nimport base from '../../../services/BaseService'\nimport Spinner from '../../shared/loading'\nimport EditModal from './vatModal'\n\nconst VAT = () => {\n\n const gridRef = useRef();\n // const [budgetData, setBudgetData] = useState([]);\n const [gridDefaultColDef, setGridDefaultColDef] = useState([]);\n const [budgetColDef, setBudgetColDef] = useState([]);\n const [saveItem, setSaveItem] = useState();\n const [expLoading, setExpLoading] = useState(true);\n const [budgetID, setBudgetID] = useState();\n const [showModal, setShowModal] = useState(false)\n const [toggleModal, setToggleModal] = useState(false)\n const [filter, setFilter] = useState(false);\n // const [filter1, setFilter1] = useState([]);\n // const [filter2, setFilter2] = useState([]);\n const [filter3, setFilter3] = useState('');\n const [filter4, setFilter4] = useState([]);\n const [filter5, setFilter5] = useState([\"NR\"]);\n const [showFilter, setShowFilter] = useState(false);\n // const [inputValue, setInputValue] = useState([]);\n const [inputValue3, setInputValue3] = useState([]);\n const [inputValue4, setInputValue4] = useState({ value: \"NR\", label: 'Exclude NR' });\n // const [options, setOptions] = useState([]);\n // const [options1, setOptions1] = useState([]);\n const [originData, setOriginData] = useState([]);\n const [data, setData] = useState([]);\n\n const [tooltipOpen, setTooltipOpen] = useState(false);\n const toggle = () => setTooltipOpen(!tooltipOpen);\n\n const options2 = [\n { value: \"2023/24\", label: '2023/24' },\n { value: \"2022/23\", label: '2022/23' },\n { value: \"2021/22\", label: '2021/22' },\n ]\n\n const options3 = [\n { value: \"NR\", label: 'Exclude NR' },\n ]\n\n const formatNumber = useCallback((number) => {\n // this puts commas into the number eg 1000 goes to 1,000,\n return (number)\n .toFixed(2)\n .replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$&,');\n }, []);\n const currencyFormatter = useCallback((params) => {\n return formatNumber(params.value);\n // return params.toFixed(2).replace(/\\d(?=(\\d{3})+\\.)/g, '$&,');\n }, [formatNumber]);\n\n\n const closeModal = () => {\n setShowModal(showModal => false)\n setToggleModal(!toggleModal)\n }\n\n const openModal = () => {\n setShowModal(!showModal)\n }\n\n const initGridVar = useCallback(() => {\n setGridDefaultColDef({\n flex: 1,\n minWidth: 100,\n sortable: true,\n filter: true,\n resizable: true,\n editable: false,\n sortingOrder: [\"asc\", \"desc\"],\n });\n\n\n\n setBudgetColDef([\n {\n headerName: \"Date\",\n field: \"dated_on\",\n // cellClass: \"alignCenter widthhhh\",\n suppressMovable: true,\n maxWidth: 100\n },\n {\n headerName: \"Year\",\n field: \"yearDesc\",\n // cellClass: \"alignCenter widthhhh\",\n suppressMovable: true,\n maxWidth: 100\n },\n {\n headerName: \"Name\",\n field: \"name\",\n // cellClass: \"alignCenter widthhhh\",\n suppressMovable: true,\n maxWidth: 250\n },\n {\n headerName: \"Description\",\n field: \"description\",\n // cellClass: \"alignCenter widthhhh\",\n suppressMovable: true,\n maxWidth: 400\n },\n {\n headerName: \"Tax Rate\",\n field: \"tax_rate\",\n // cellClass: \"alignCenter widthhhh\",\n suppressMovable: true,\n maxWidth: 200,\n valueFormatter: currencyFormatter,\n filter: 'agNumberColumnFilter',\n type: 'numericColumn',\n\n },\n {\n headerName: \"Gross Value\",\n field: \"gross_value\",\n suppressMovable: true,\n maxWidth: 200,\n valueFormatter: currencyFormatter,\n filter: 'agNumberColumnFilter',\n type: 'numericColumn',\n\n },\n {\n headerName: \"Sales Tax\",\n field: \"sales_tax_value\",\n suppressMovable: true,\n maxWidth: 200,\n valueFormatter: currencyFormatter,\n filter: 'agNumberColumnFilter',\n type: 'numericColumn',\n\n },\n {\n headerName: \"Missing\",\n field: \"missing\",\n suppressMovable: true,\n maxWidth: 100,\n filter: 'agNumberColumnFilter',\n type: 'numericColumn',\n\n },\n {\n headerName: \"Access\",\n field: \"access\",\n suppressMovable: true,\n hide: true,\n maxWidth: 100,\n filter: 'agNumberColumnFilter',\n type: 'numericColumn',\n\n },\n {\n headerName: \"Comment\",\n field: \"comment\",\n maxWidth: 400,\n suppressMovable: true,\n },\n {\n headerName: \"id\",\n field: \"id\",\n suppressMovable: true,\n hide: true,\n type: 'numericColumn',\n },\n {\n headerName: \"tE_ID\",\n field: \"tE_ID\",\n suppressMovable: true,\n hide: true,\n type: 'numericColumn',\n },\n ]\n );\n }, [currencyFormatter]);\n\n useEffect(() => {\n initGridVar();\n }, [initGridVar]);\n\n useEffect(() => {\n const filterData = () => {\n var xData = originData;\n\n if (filter3 !== '') {\n xData = xData.filter(f => f.description.toUpperCase().includes(filter3.toUpperCase()));\n setFilter(true);\n }\n\n // if (filter5 !== '') {\n // xData = xData.filter(f => f.comment.toUpperCase() !== filter5.toUpperCase())\n // setFilter(true);\n // }\n\n // console.log(filter5)\n\n if (filter4.length > 0) {\n xData = xData.filter(f => filter4.some(item => item.includes(f.yearDesc)));\n setFilter(true);\n }\n if (filter5.length > 0) {\n xData = xData.filter(f => f.comment.toUpperCase() !== filter5[0]);\n setFilter(true);\n }\n\n if (filter3 === '' && filter4.length === 0 && filter5.length === 0) {\n // console.log('filter false')\n setFilter(false);\n }\n\n setData(xData);\n\n }\n // console.log(\"filter 3\")\n filterData();\n }, [filter3, filter4, originData, filter5]);\n\n useEffect(() => {\n const getContacts = async () => {\n await base.getAll(\"Report/vat\").then((res) => {\n setOriginData(res);\n setData(res);\n });\n }\n\n getContacts();\n // getCategories();\n setTimeout(() => {\n setExpLoading(false)\n }, [1000])\n\n }, [saveItem])\n\n const onBtnExport = useCallback(() => {\n gridRef.current.api.exportDataAsCsv();\n }, []);\n\n const refreshTransactions = () => {\n const getTransactions = async () => {\n await base.getAll(\"FreeAgent/refreshTransactions\").then((res) => {\n base.getAll(\"Report/vat\").then((res) => {\n setOriginData(res);\n setData(res);\n setExpLoading(false);\n });\n });\n }\n setExpLoading(true);\n getTransactions()\n }\n\n\n const handleChange = (e) => {\n var searchInput = e.target.value;\n if (searchInput !== '') {\n setFilter3(searchInput);\n }\n else {\n setFilter3('');\n }\n }\n\n\n const selectChange = (e, id) => {\n // console.log(e.value.map(x => {\n // return {\n // label: x.label,\n // value: x.value\n // }\n\n // }))\n // console.log(inputValue)\n var fName = id.name\n if (fName === 'drpYear') {\n setFilter4(Array.isArray(e) ? e.map(x => x.value) : []);\n setInputValue3(e)\n\n // setFilter(true);\n }\n if (fName === 'excNR') {\n setFilter5(Array.isArray(e) ? e.map(x => x.value) : []);\n setInputValue4(e)\n // setFilter(true);\n }\n }\n\n const closeFilter = () => {\n setTooltipOpen(false);\n setShowFilter(false);\n setFilter(false);\n setData(originData);\n setInputValue4({ value: \"NR\", label: 'Exclude NR' });\n // setInputValue1([]);\n setFilter5(['NR']);\n setFilter(true);\n\n // setInputValue([]);\n // setInputValue1([]);\n // setFilter1([]);\n // setFilter2([]);\n setFilter3('');\n }\n\n const onSelectionChanged = () => {\n const selectedRows = gridRef.current.api.getSelectedRows();\n if (selectedRows.length === 1) {\n setBudgetID(selectedRows[0].tE_ID);\n openModal();\n\n }\n };\n\n return (\n <>\n {/* {!displayModal ? */}\n <>\n \n \n \n   \n VAT Receipts\n \n {/* */}\n\n \n \n \n \n \n {/* */}\n \n \n
\n \n \n {expLoading ?\n \n
\n
\n \n
\n
\n
\n :\n <>\n {showFilter &&\n \n \n\n
\n \n \n \n \n \n \n \n \n \n `;\n // }\n\n\n useEffect(() => {\n initGridVar();\n }, [initGridVar]);\n\n useEffect(() => {\n const getContacts = async () => {\n await base.getAll(\"Report/transactions\").then((res) => {\n setOriginData(res);\n setData(res);\n });\n }\n const getCategories = async () => {\n await base.getAll(\"Report/categories\").then((catres) => {\n let detailArr = [];\n catres.map(element => {\n let dropDownEle = { value: element[\"description\"], label: element[\"description\"] };\n detailArr.push(dropDownEle);\n return 1;\n });\n // let dropDownEle = \n // if (user === '10') {\n // detailArr.push({ value: \"0\", label: \"All\" })\n // // //console.log(detOptionsailArr)\n // // setSelectedValue(\"3\")\n // }\n setOptions(detailArr)\n\n });\n }\n getContacts();\n getCategories();\n setTimeout(() => {\n setExpLoading(false)\n }, [1000])\n }, [])\n\n const onBtnExport = useCallback(() => {\n gridRef.current.api.exportDataAsCsv();\n }, []);\n\n const refreshTransactions = () => {\n const getTransactions = async () => {\n await base.getAll(\"FreeAgent/refreshTransactions\").then((res) => {\n base.getAll(\"Report/transactons\").then((res) => {\n setOriginData(res);\n setData(res);\n setExpLoading(false);\n });\n // setBudgetData(res);\n });\n }\n setExpLoading(true);\n getTransactions()\n }\n\n const selectChange = (e, id) => {\n // console.log(e.value.map(x => {\n // return {\n // label: x.label,\n // value: x.value\n // }\n\n // }))\n // console.log(inputValue)\n var fName = id.name\n if (fName === 'drpTax') {\n setFilter1(Array.isArray(e) ? e.map(x => x.value) : []);\n setInputValue1(e)\n\n // setFilter(true);\n }\n if (fName === 'drpYear') {\n setFilter4(Array.isArray(e) ? e.map(x => x.value) : []);\n setInputValue3(e)\n\n // setFilter(true);\n }\n if (fName === 'drpCat') {\n // setInputValue(e.value);\n setFilter2(Array.isArray(e) ? e.map(x => x.value) : []);\n setInputValue(e)\n }\n // filterData();\n // // console.log(filterOptions)\n // if (Array.isArray() === true && filterOptions.length <= 0) {\n // // console.log('rest')\n // setData(originData)\n // setFilter(false);\n // } else {\n // setData(originData.filter(f => filterOptions.some(item => item.includes(f.cat_description))));\n // setFilter(true);\n // }\n }\n\n useEffect(() => {\n const filterData = () => {\n var xData = originData;\n // console.log(xData);\n // console.log(filter1.length);\n // console.log(filter2);\n // var z = 0\n // var y = 20\n\n // console.log(':' + z.toFixed() + ':', ':' + y.toFixed(2) + ':')\n // console.log(filter1)\n\n if (filter1.length > 0) {\n // xData = xData.filter(f => filter1.some(item => item.includes(f.tax_rate)));\n // console.log(xData.tax_rate.toString())\n // xData = xData.filter(f => filter1.some(item => item.includes(f.tax_rate)));\n // xData = xData.filter(f => f.tax_rate.toFixed(2).includes(filter1.map(function (item) {\n // return item;\n // })));\n xData = xData.filter(f => filter1.some(item => item.includes(f.string_tax_rate)));\n\n setFilter(true);\n }\n\n if (filter2.length > 0) {\n xData = xData.filter(f => filter2.some(item => item.includes(f.cat_description)));\n setFilter(true);\n }\n\n if (filter3 !== '') {\n xData = xData.filter(f => f.description.toUpperCase().includes(filter3.toUpperCase()));\n setFilter(true);\n\n }\n\n if (filter4.length > 0) {\n xData = xData.filter(f => filter4.some(item => item.includes(f.yearDesc)));\n setFilter(true);\n }\n\n\n if (filter1.length === 0 && filter2.length === 0 && filter3 === '' && filter4 === '') {\n // console.log('filter false')\n setFilter(false);\n }\n\n setData(xData);\n\n }\n filterData();\n }, [filter1, filter2, filter3, filter4, originData]);\n\n\n\n const handleChange = (e) => {\n // console.log(e.target.value)\n var searchInput = e.target.value;\n // console.log(searchInput);\n if (searchInput !== '') {\n setFilter3(searchInput);\n }\n else {\n // setFilter(false);\n setFilter3('');\n }\n // setData(originData.filter(f => `${searchInput}`.some(item => item.includes(f.cat_description))));\n // setData(data.filter(f => f.cat_description.indexOf(e.value)))\n }\n\n const closeFilter = () => {\n setTooltipOpen(false);\n setShowFilter(false);\n setFilter(false);\n setData(originData);\n setInputValue([]);\n setInputValue1([]);\n setFilter1([]);\n setFilter2([]);\n setFilter3('');\n setFilter4([]);\n }\n\n\n return (\n <>\n {/* {!displayModal ? */}\n <>\n\n \n \n \n   \n Transactions\n \n {/* */}\n\n \n \n \n \n \n {/* */}\n \n \n
\n \n \n {expLoading ?\n \n
\n
\n \n
\n
\n
\n :\n <>\n\n {showFilter &&\n \n \n\n
\n \n \n \n \n \n \n \n \n \n \n \n\n
\n
\n
\n\n\n }\n\n \n
\n //console.log('Row double clicked')}\n // onRowDoubleClicked=(()=> editRow())\n >\n \n
\n
\n \n\n }\n\n \n\n
\n
\n {/* {showModal && } */}\n {/* {showModal && } */}\n {/* {showModal && } */}\n\n\n \n\n \n\n )\n}\n\nexport default Transactions\n","import React from 'react'\nimport { useEffect, useState, useCallback, useRef } from 'react';\nimport { AiOutlineGroup } from 'react-icons/ai';\nimport download from '../../../assets/icons/download24.svg';\nimport ifilter from '../../../assets/icons/filter24.svg';\nimport ifilterFill from '../../../assets/icons/filterfill24.svg';\nimport remove from '../../../assets/icons/remove24.svg';\nimport removeLrg from '../../../assets/icons/remove32.svg';\nimport Select from 'react-select'\nimport { Col, Row, CardHeader, CardBody, Button, Card, Input, InputGroup, Tooltip } from 'reactstrap';\nimport { AgGridReact } from 'ag-grid-react';\nimport 'ag-grid-community/dist/styles/ag-grid.css';\nimport 'ag-grid-community/dist/styles/ag-theme-balham.css';\nimport base from '../../../services/BaseService'\nimport Spinner from '../../shared/loading'\n\nconst Transactions = () => {\n\n const gridRef = useRef();\n const [data, setData] = useState([]);\n const [originData, setOriginData] = useState([]);\n const [filter, setFilter] = useState(false);\n const [filter1, setFilter1] = useState([]);\n const [filter2, setFilter2] = useState([]);\n const [filter3, setFilter3] = useState('');\n const [gridDefaultColDef, setGridDefaultColDef] = useState([]);\n const [budgetColDef, setBudgetColDef] = useState([]);\n const [inputValue, setInputValue] = useState([]);\n // const [inputValue1, setInputValue1] = useState([]);\n const [options, setOptions] = useState([]);\n // const [saveItem, setSaveItem] = useState();\n const [expLoading, setExpLoading] = useState(true);\n // const [budgetID, setBudgetID] = useState();\n // const [showModal, setShowModal] = useState(false)\n // const [toggleModal, setToggleModal] = useState(false)\n const [showFilter, setShowFilter] = useState(false);\n // const [selectedValue, setSelectedValue] = useState(\"\");\n\n const [tooltipOpen, setTooltipOpen] = useState(false);\n const toggle = () => setTooltipOpen(!tooltipOpen);\n\n // const formatNumber = useCallback((number) => {\n // // this puts commas into the number eg 1000 goes to 1,000,\n // return (number)\n // .toFixed(2)\n // .replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$&,');\n // }, []);\n // const currencyFormatter = useCallback((params) => {\n // return formatNumber(params.value);\n // // return params.toFixed(2).replace(/\\d(?=(\\d{3})+\\.)/g, '$&,');\n // }, [formatNumber]);\n\n\n\n // const closeModal = () => {\n // setShowModal(showModal => false)\n // // setExpLoading(true)\n // setToggleModal(!toggleModal)\n // }\n\n\n // const isFirstColumn = useCallback((params) => {\n // if (invCreate) {\n // var displayedColumns = params.columnApi.getAllDisplayedColumns();\n // var thisIsFirstColumn = displayedColumns[0] === params.column;\n // return thisIsFirstColumn;\n // }\n\n // }, [invCreate]);\n\n\n // const openModal = () => {\n // setShowModal(!showModal)\n // // //console.log(showModal)\n // }\n\n\n\n const initGridVar = useCallback(() => {\n setGridDefaultColDef({\n flex: 1,\n minWidth: 100,\n sortable: true,\n filter: true,\n resizable: true,\n editable: false,\n sortingOrder: [\"asc\", \"desc\"],\n });\n\n setBudgetColDef([\n\n {\n headerName: \"Description\",\n field: \"description\",\n // cellClass: \"alignCenter widthhhh\",\n suppressMovable: true,\n maxWidth: 400\n },\n {\n headerName: \"Group Desc\",\n field: \"group_description\",\n // cellClass: \"alignCenter widthhhh\",\n suppressMovable: true,\n maxWidth: 400\n },\n {\n headerName: \"Tax Reporting Name\",\n field: \"tax_reporting_name\",\n // cellClass: \"alignCenter widthhhh\",\n suppressMovable: true,\n maxWidth: 400\n },\n {\n headerName: \"Auto Tax Rate\",\n field: \"auto_sales_tax_rate\",\n // cellClass: \"alignCenter widthhhh\",\n suppressMovable: true,\n maxWidth: 400\n },\n // {\n // headerName: \"Access\",\n // field: \"access\",\n // maxWidth: 100,\n // checkboxSelection: true\n // },\n {\n headerName: \"id\",\n field: \"id\",\n // hidden: true,\n suppressMovable: true,\n hide: true,\n // filter: 'agNumberColumnFilter',\n type: 'numericColumn',\n // setColumnVisible: false,\n // valueFormatter: currencyFormatter\n }\n ]\n );\n }, []);\n\n // function boolRenderer(params) {\n // return ``;\n // }\n\n\n useEffect(() => {\n initGridVar();\n }, [initGridVar]);\n\n useEffect(() => {\n\n const getCategories = async () => {\n await base.getAll(\"Report/categories\").then((catres) => {\n setOriginData(catres);\n setData(catres);\n let detailArr = [];\n catres.map(element => {\n let dropDownEle = { value: element[\"description\"], label: element[\"description\"] };\n detailArr.push(dropDownEle);\n return 1;\n });\n // let dropDownEle = \n // if (user === '10') {\n // detailArr.push({ value: \"0\", label: \"All\" })\n // // //console.log(detOptionsailArr)\n // // setSelectedValue(\"3\")\n // }\n setOptions(detailArr)\n\n });\n }\n // getContacts();\n getCategories();\n setTimeout(() => {\n setExpLoading(false)\n }, [1000])\n }, [])\n\n const onBtnExport = useCallback(() => {\n gridRef.current.api.exportDataAsCsv();\n }, []);\n\n const selectChange = (e, id) => {\n // console.log(e.value.map(x => {\n // return {\n // label: x.label,\n // value: x.value\n // }\n\n // }))\n // console.log(inputValue)\n var fName = id.name\n // if (fName === 'drpTax') {\n // setFilter1(Array.isArray(e) ? e.map(x => x.value) : []);\n // setInputValue1(e)\n\n // // setFilter(true);\n // }\n if (fName === 'drpCat') {\n // setInputValue(e.value);\n setFilter2(Array.isArray(e) ? e.map(x => x.value) : []);\n setInputValue(e)\n }\n // filterData();\n // // console.log(filterOptions)\n // if (Array.isArray() === true && filterOptions.length <= 0) {\n // // console.log('rest')\n // setData(originData)\n // setFilter(false);\n // } else {\n // setData(originData.filter(f => filterOptions.some(item => item.includes(f.cat_description))));\n // setFilter(true);\n // }\n }\n\n useEffect(() => {\n const filterData = () => {\n var xData = originData;\n // console.log(xData);\n // console.log(filter1.length);\n // console.log(filter2);\n // var z = 0\n // var y = 20\n\n // console.log(':' + z.toFixed() + ':', ':' + y.toFixed(2) + ':')\n // console.log(filter1)\n\n if (filter1.length > 0) {\n // xData = xData.filter(f => filter1.some(item => item.includes(f.tax_rate)));\n // console.log(xData.tax_rate.toString())\n // xData = xData.filter(f => filter1.some(item => item.includes(f.tax_rate)));\n // xData = xData.filter(f => f.tax_rate.toFixed(2).includes(filter1.map(function (item) {\n // return item;\n // })));\n xData = xData.filter(f => filter1.some(item => item.includes(f.string_tax_rate)));\n setFilter(true);\n }\n\n if (filter2.length > 0) {\n xData = xData.filter(f => filter2.some(item => item.includes(f.description)));\n setFilter(true);\n }\n\n if (filter3 !== '') {\n\n xData = xData.filter(f => {\n return (\n f.description.toUpperCase().includes(filter3.toUpperCase())\n || (f.tax_reporting_name !== null && f.tax_reporting_name.toUpperCase().includes(filter3.toUpperCase()))\n )\n }\n )\n // })\n // xData = xData.filter(f => f.description.toUpperCase().includes(filter3.toUpperCase()))\n setFilter(true);\n\n }\n\n\n if (filter1.length === 0 && filter2.length === 0 && filter3 === '') {\n // console.log('filter false')\n setFilter(false);\n }\n\n setData(xData);\n\n }\n filterData();\n }, [filter1, filter2, filter3, originData]);\n\n\n\n const handleChange = (e) => {\n // console.log(e.target.value)\n var searchInput = e.target.value;\n // console.log(searchInput);\n if (searchInput !== '') {\n setFilter3(searchInput);\n }\n else {\n // setFilter(false);\n setFilter3('');\n }\n // setData(originData.filter(f => `${searchInput}`.some(item => item.includes(f.cat_description))));\n // setData(data.filter(f => f.cat_description.indexOf(e.value)))\n }\n\n const closeFilter = () => {\n setTooltipOpen(false);\n setShowFilter(false);\n setFilter(false);\n setData(originData);\n setInputValue([]);\n // setInputValue1([]);\n setFilter1([]);\n setFilter2([]);\n setFilter3('');\n }\n\n\n return (\n <>\n {/* {!displayModal ? */}\n <>\n\n \n \n \n   \n Tax Categories\n \n {/* */}\n\n \n \n \n \n {/* */}\n \n \n
\n \n \n {expLoading ?\n \n
\n
\n \n
\n
\n
\n :\n <>\n\n {showFilter &&\n \n \n\n
\n \n \n \n \n \n \n \n \n */}\n \n \n \n\n
\n
\n
\n\n\n }\n\n {/*
\n Selection:\n \n
*/}\n\n \n
\n //console.log('Row double clicked')}\n // onRowDoubleClicked=(()=> editRow())\n >\n \n
\n
\n \n\n }\n\n \n\n
\n
\n\n {/* {showModal && } */}\n {/* {showModal && } */}\n {/* {showModal && } */}\n\n\n \n\n \n\n )\n}\n\nexport default Transactions\n","import React from 'react'\nimport { useEffect, useState, useCallback, useRef } from 'react';\nimport { AiOutlineWallet } from 'react-icons/ai';\nimport refresh from '../../../assets/icons/refresh24.svg';\nimport download from '../../../assets/icons/download24.svg';\nimport { Col, Row, CardHeader, CardBody, Button } from 'reactstrap';\nimport { AgGridReact } from 'ag-grid-react';\nimport 'ag-grid-community/dist/styles/ag-grid.css';\nimport 'ag-grid-community/dist/styles/ag-theme-balham.css';\nimport base from '../../../services/BaseService'\nimport Spinner from '../../shared/loading'\n\nconst VAT = ({ closeModal, showModalForm, displayModal, invCreate, loading4, setLoading5 }) => {\n\n const gridRef = useRef();\n const [budgetData, setBudgetData] = useState([]);\n const [gridDefaultColDef, setGridDefaultColDef] = useState([]);\n const [budgetColDef, setBudgetColDef] = useState([]);\n // const [showModal, setShowModal] = useState(showModalForm)\n const [expLoading, setExpLoading] = useState(true);\n\n const formatNumber = useCallback((number) => {\n // this puts commas into the number eg 1000 goes to 1,000,\n return (number)\n .toFixed(2)\n .replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$&,');\n }, []);\n const currencyFormatter = useCallback((params) => {\n return formatNumber(params.value);\n // return params.toFixed(2).replace(/\\d(?=(\\d{3})+\\.)/g, '$&,');\n }, [formatNumber]);\n\n // const toggleModal = () => {\n // closeModal()\n // setShowModal(showModal => !showModal);\n // }\n\n // const isFirstColumn = useCallback((params) => {\n // if (invCreate) {\n // var displayedColumns = params.columnApi.getAllDisplayedColumns();\n // var thisIsFirstColumn = displayedColumns[0] === params.column;\n // return thisIsFirstColumn;\n // }\n\n // }, [invCreate]);\n\n\n\n const initGridVar = useCallback(() => {\n setGridDefaultColDef({\n flex: 1,\n minWidth: 100,\n sortable: true,\n filter: true,\n resizable: true,\n editable: false,\n sortingOrder: [\"asc\", \"desc\"],\n });\n\n\n\n setBudgetColDef([\n {\n headerName: \"Date\",\n field: \"dated_on\",\n // cellClass: \"alignCenter widthhhh\",\n suppressMovable: true,\n maxWidth: 200\n },\n {\n headerName: \"Name\",\n field: \"name\",\n // cellClass: \"alignCenter widthhhh\",\n suppressMovable: true,\n maxWidth: 250\n },\n {\n headerName: \"Description\",\n field: \"description\",\n // cellClass: \"alignCenter widthhhh\",\n suppressMovable: true,\n maxWidth: 400\n },\n {\n headerName: \"Detail\",\n field: \"detail\",\n // cellClass: \"alignCenter widthhhh\",\n suppressMovable: true,\n maxWidth: 400\n },\n {\n headerName: \"Cost Centre\",\n field: \"cost_centre\",\n // cellClass: \"alignCenter widthhhh\",\n suppressMovable: true,\n maxWidth: 400\n },\n {\n headerName: \"Value\",\n field: \"value\",\n // cellClass: \"alignCenter widthhhh\",\n suppressMovable: true,\n maxWidth: 200,\n valueFormatter: currencyFormatter,\n filter: 'agNumberColumnFilter',\n type: 'numericColumn',\n\n },\n {\n headerName: \"id\",\n field: \"id\",\n // hidden: true,\n suppressMovable: true,\n hide: true,\n // filter: 'agNumberColumnFilter',\n type: 'numericColumn',\n // setColumnVisible: false,\n // valueFormatter: currencyFormatter\n },\n ]\n );\n }, [currencyFormatter]);\n\n useEffect(() => {\n initGridVar();\n }, [initGridVar]);\n\n useEffect(() => {\n const getContacts = async () => {\n await base.getAll(\"Report/costcentre\").then((res) => {\n setBudgetData(res);\n });\n }\n getContacts();\n setTimeout(() => {\n setExpLoading(false)\n }, [1000])\n }, [])\n\n const onBtnExport = useCallback(() => {\n gridRef.current.api.exportDataAsCsv();\n }, []);\n\n const refreshTransactions = () => {\n const getTransactions = async () => {\n await base.getAll(\"FreeAgent/refreshTransactions\").then((res) => {\n base.getAll(\"Report/costcentre\").then((res) => {\n setBudgetData(res);\n setExpLoading(false);\n });\n // setBudgetData(res);\n });\n }\n setExpLoading(true);\n getTransactions()\n }\n\n\n\n // const onSelectionChanged = useCallback((event) => {\n // var rowCount = event.api.getSelectedNodes().length;\n // window.alert('selection changed, ' + rowCount + ' rows selected' + event.node.isSelected());\n // }, []);\n\n return (\n <>\n {/* {!displayModal ? */}\n <>\n\n \n \n \n   \n Cost Centre Allocation\n \n {/* */}\n\n \n \n \n \n {/* */}\n \n \n
\n\n \n \n\n {expLoading ?\n \n
\n
\n \n
\n
\n
\n :\n <>\n {/*
\n Selection:\n \n
*/}\n\n \n
\n //console.log('Row double clicked')}\n // onRowDoubleClicked=(()=> editRow())\n >\n \n
\n
\n \n\n }\n\n \n\n
\n
\n {/* {showModal && } */}\n {/* {showModal && } */}\n\n \n\n \n\n )\n}\n\nexport default VAT\n","import React, { createContext, useState, useContext, useMemo, useEffect } from \"react\";\nimport base from '../../services/BaseService.js';\n\nconst UserContext = createContext();\nexport const useUserContext = () => useContext(UserContext);\n\nexport const UserProvider = ({ children }) => {\n\n const [user, setUser] = useState([]);\n\n useEffect(() => {\n const getUser = async () => {\n try {\n const userRes = await base.getAll(\"Report/user\");\n setUser(userRes);\n } catch (error) {\n console.error(\"Failed to fetch user data:\", error);\n }\n };\n getUser();\n }, []);\n\n const value = useMemo(() => ({ user }), [user]);\n return (\n {children}\n );\n};","import React, { useState, useEffect } from \"react\";\nimport base from \"../../../services/BaseService\";\nimport { AiFillDashboard } from \"react-icons/ai\";\nimport { Col, Row, CardHeader, Button } from \"reactstrap\";\nimport ReactSelect from \"react-select\";\nimport Refresh24 from \"../../../assets/icons/refresh24.svg\";\nimport Spinner from \"../../shared/loading\";\nimport { useUserContext } from '../../context/userContext';\n\nfunction PivotTable() {\n const { user } = useUserContext();\n\n const [data, setData] = useState([]);\n const [filteredData, setFilteredData] = useState([]);\n const [years, setYears] = useState([]);\n const [selectedYear, setSelectedYear] = useState(\"\");\n const [isLoading, setIsLoading] = useState(true);\n const [refresh, setRefresh] = useState(false);\n const [selectedValue, setSelectedValue] = useState(user.idUser);\n const [users, setUsers] = useState([]);\n\n const formatNumber = (number) => {\n if (number === null || number === undefined) return \"0.00\";\n return number\n .toFixed(0) // Ensure 2 decimal places\n .replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, \"$&,\"); // Format with commas\n };\n\n const getData = async () => {\n setIsLoading(true);\n try {\n const res = await base.getAll(`report/ccfinalall/${selectedValue}`);\n\n // Extract and format unique years for dropdown\n const uniqueYears = [...new Set(res.map((row) => row.year))].sort((a, b) => a - b);\n const yearOptions = uniqueYears.map((year) => ({\n value: year,\n label: year.toString(),\n }));\n\n setYears(yearOptions);\n setSelectedYear(Math.max(...uniqueYears).toString());\n setData(res);\n } catch (error) {\n console.error(\"Error fetching data:\", error);\n } finally {\n setIsLoading(false);\n }\n };\n\n const getUsers = async () => {\n try {\n const userRes = await base.getAll(`Report/users/${selectedValue}`);\n const userOptions = userRes.map((user) => ({\n value: user.idUser,\n label: user.name,\n }));\n userOptions.push({ value: \"0\", label: \"All\" });\n setUsers(userOptions);\n } catch (error) {\n console.error(\"Error fetching users:\", error);\n }\n };\n\n useEffect(() => {\n getUsers();\n getData();\n // only run on initial load\n // eslint-disable-next-line\n }, [selectedValue, refresh]);\n\n useEffect(() => {\n if (selectedYear) {\n setFilteredData(data.filter((row) => row.year === selectedYear));\n }\n }, [selectedYear, data]);\n\n\n\n const calculateTotals = (rows) =>\n rows.reduce(\n (totals, row) => ({\n ts: totals.ts + (row.ts || 0),\n tu: totals.tu + (row.tu || 0),\n ohd: totals.ohd + (row.ohd || 0),\n ohD_TU: totals.ohD_TU + (row.ohD_TU || 0),\n reallocIn: totals.reallocIn + (row.reallocIn || 0),\n reallocOut: totals.reallocOut + (row.reallocOut || 0),\n salary: totals.salary + (row.salary || 0),\n invValue: totals.invValue + (row.invValue || 0),\n debit: totals.debit + (row.debit || 0),\n credit: totals.credit + (row.credit || 0),\n other: totals.other +\n (\n row.tu +\n row.ohd +\n row.ohD_TU +\n row.reallocIn +\n row.reallocOut +\n row.salary +\n row.invValue +\n row.debit +\n row.credit\n || 0\n ),\n totalPeriod: totals.totalPeriod +\n (\n row.ts +\n row.tu +\n row.ohd +\n row.ohD_TU +\n row.reallocIn +\n row.reallocOut +\n row.salary +\n row.invValue +\n row.debit +\n row.credit\n || 0\n ),\n }),\n {\n ts: 0,\n tu: 0,\n ohd: 0,\n ohD_TU: 0,\n reallocIn: 0,\n reallocOut: 0,\n salary: 0,\n invValue: 0,\n debit: 0,\n credit: 0,\n other: 0,\n totalPeriod: 0,\n }\n );\n\n const currentYearTotals = calculateTotals(filteredData);\n const overallTotals = calculateTotals(data);\n\n const numberStyle = (value) => ({\n color: value < 0 ? \"red\" : \"black\",\n textAlign: \"right\",\n fontSize: \"13px\",\n });\n\n const RenderLoading = () => (\n
\n
\n \n
\n
\n );\n\n return (\n <>\n \n \n \n \n CC Report\n \n \n \n \n setSelectedYear(e.value)} value={years.find((y) => y.value === selectedYear)} />\n \n \n setSelectedValue(e.value)} value={users.find((u) => u.value === selectedValue)} />\n \n \n \n \n \n \n \n \n\n
\n {isLoading ? (\n \n ) : (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {filteredData.map((row, index) => (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ))}\n {/* Yearly Totals */}\n \n \n {Object.values(currentYearTotals).map((value, idx) =>\n idx === 10 ? ( // Special rule for index 10 (Other column)\n \n ) : (\n idx !== 10 && ( // Exclude Other column (index 10) from totals row display\n \n )\n )\n )}\n \n\n {/* Overall Totals */}\n \n \n {Object.values(overallTotals).map((value, idx) =>\n idx === 10 ? ( // Special rule for index 10 (Other column)\n \n ) : (\n idx !== 10 && ( // Exclude Other column (index 10) from totals row display\n \n )\n )\n )}\n \n \n\n
PeriodInvoicedUnpaidOHDOHD UnpaidReallocation InReallocation OutSalaryOther InvoicesDebitCreditOtherTotal
{row.period}{formatNumber(row.ts)}{formatNumber(row.tu)}{formatNumber(row.ohd)}{formatNumber(row.ohD_TU)}{formatNumber(row.reallocIn)}{formatNumber(row.reallocOut)}{formatNumber(row.salary)}{formatNumber(row.invValue)}{formatNumber(row.debit)}{formatNumber(row.credit)}\n {formatNumber(\n row.ohd +\n row.ohD_TU +\n row.reallocIn +\n row.reallocOut +\n row.salary +\n row.invValue +\n row.debit +\n row.credit\n )}\n \n {formatNumber(\n row.ts +\n row.tu +\n row.ohd +\n row.ohD_TU +\n row.reallocIn +\n row.reallocOut +\n row.salary +\n row.invValue +\n row.debit +\n row.credit\n )}\n
Year\n {formatNumber(value)}\n \n {formatNumber(value)}\n
Overall\n {formatNumber(value)}\n \n {formatNumber(value)}\n
\n )}\n
\n \n );\n}\n\nexport default PivotTable;\n","import React from 'react'\nimport { useEffect, useState } from 'react';\nimport { Col, Row, Button, Label, Input, Modal, ModalBody, ModalHeader, FormGroup, ModalFooter } from 'reactstrap';\nimport 'ag-grid-community/dist/styles/ag-grid.css';\nimport 'ag-grid-community/dist/styles/ag-theme-balham.css';\nimport base from '../../../services/BaseService'\nimport LoadSpinner from '../../shared/loading'\n\nconst TasksModal = ({ id, closeModal, showModalForm, setSaveItem }) => {\n const [field01, setField01] = useState()\n const [field02, setField02] = useState()\n const [field03, setField03] = useState()\n const [field04, setField04] = useState()\n const [loading, setLoading] = useState(false)\n const [showModal, setShowModal] = useState(showModalForm)\n const updateData = {};\n\n const toggleModal = () => {\n closeModal()\n setShowModal(showModal => !showModal);\n }\n const deleteItem = () => {\n updateData.name = field01;\n updateData.email = field02;\n updateData.comment = field03;\n\n base.update(\"Report/contactform/del/\" + id, updateData).then((res) => {\n toggleModal()\n setSaveItem(new Date().getTime());\n })\n }\n\n // const updateItem = () => {\n // updateData.FirstName = field01;\n // updateData.LastName = field02;\n // updateData.url = field03;\n // updateData.UPN = field04;\n // updateData.Email = field05;\n // updateData.UserLevel = field06;\n // updateData.CostCentre = field08;\n\n // base.update(\"ManageData/user/upd/\" + id, updateData).then((res) => {\n // toggleModal()\n // setSaveItem(new Date().getTime());\n // })\n // // alert(\"Save!\")\n // }\n\n // const handleChange = (e) => {\n // // //console.log(\"hangleChange\", e.target.name)\n // if (e.target.name === 'name') {\n // setField01(e.target.value);\n // // setDescriptionRemaining(e.target.value.length);\n // }\n // if (e.target.name === 'lastName') {\n // setField02(e.target.value);\n // // setDescriptionRemaining(e.target.value.length);\n // }\n // if (e.target.name === 'url') {\n // setField03(e.target.value);\n // // setDescriptionRemaining(e.target.value.length);\n // }\n // if (e.target.name === 'upn') {\n // setField04(e.target.value);\n // // //console.log(e.target.value);\n // // setDescriptionRemaining(e.target.value.length);\n // }\n // if (e.target.name === 'email') {\n // setField05(e.target.value);\n // // //console.log(e.target.value);\n // // setDescriptionRemaining(e.target.value.length);\n // }\n // if (e.target.name === 'userLevel') {\n // setField06(e.target.value);\n // // //console.log(e.target.value);\n // // setDescriptionRemaining(e.target.value.length);\n // }\n // if (e.target.name === 'lastLogOn') {\n // setField07(e.target.value);\n // // //console.log(e.target.value);\n // // setDescriptionRemaining(e.target.value.length);\n // }\n // if (e.target.name === 'costCentre') {\n // setField08(e.target.value);\n // // //console.log(e.target.value);\n // // setDescriptionRemaining(e.target.value.length);\n // }\n\n // document.getElementById(e.target.id).style.border = '1px solid #cecece';\n // }\n\n useEffect(() => {\n const getData = () => {\n // if (editExisting) {\n // setDisableUPN(dU => true)\n const getFormData = async () => {\n await base.getAll(\"Report/contactform/\" + id).then((res) => {\n setField01(res.name);\n setField02(res.email);\n setField03(res.comment);\n setField04(res.up_date)\n setLoading(false)\n })\n }\n\n getFormData();\n // }\n // else {\n // // setDisableUPN(dU => false)\n // setLoading(false)\n // }\n }\n getData()\n }, [id])\n\n\n return (\n <>\n \n
Contact Message
\n {loading ?\n \n :\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n {/* */}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {/* */}\n \n \n \n }\n
\n \n )\n}\n\nexport default TasksModal\n","import React from 'react'\nimport { useEffect, useState, useCallback, useRef } from 'react';\nimport { AiOutlineMessage } from 'react-icons/ai'\nimport { Col, Row, CardHeader, CardBody } from 'reactstrap';\nimport { AgGridReact } from 'ag-grid-react';\nimport 'ag-grid-community/dist/styles/ag-grid.css';\nimport 'ag-grid-community/dist/styles/ag-theme-balham.css';\nimport base from '../../../services/BaseService'\nimport Spinner from '../../shared/loading'\nimport EditModal from './contactFormModal'\n\nconst Projects = () => {\n\n const gridRef = useRef();\n const [budgetData, setBudgetData] = useState([]);\n const [saveItem, setSaveItem] = useState();\n const [budgetID, setBudgetID] = useState();\n const [gridDefaultColDef, setGridDefaultColDef] = useState([]);\n const [budgetColDef, setBudgetColDef] = useState([]);\n const [showModal, setShowModal] = useState(false)\n const [toggleModal, setToggleModal] = useState(false)\n const [expLoading, setExpLoading] = useState(true);\n\n const initGridVar = useCallback(() => {\n setGridDefaultColDef({\n flex: 1,\n minWidth: 100,\n sortable: true,\n filter: true,\n resizable: true,\n editable: false,\n sortingOrder: [\"asc\", \"desc\"],\n });\n\n setBudgetColDef([\n {\n headerName: \"Name\",\n field: \"name\",\n // cellClass: \"alignCenter widthhhh\",\n suppressMovable: true,\n maxWidth: 300\n },\n {\n headerName: \"Email\",\n field: \"email\",\n // cellClass: \"alignCenter widthhhh\",\n suppressMovable: true,\n maxWidth: 300\n },\n {\n headerName: \"Message\",\n field: \"comment\",\n // cellClass: \"alignCenter widthhhh\",\n suppressMovable: true,\n maxWidth: 750\n },\n {\n headerName: \"Submitted Date\",\n field: \"up_date\",\n // cellClass: \"alignCenter widthhhh\",\n suppressMovable: true,\n maxWidth: 300\n },\n {\n headerName: \"id\",\n field: \"idUser\",\n // hidden: true,\n suppressMovable: true,\n hide: true,\n // filter: 'agNumberColumnFilter',\n type: 'numericColumn',\n // setColumnVisible: false,\n // valueFormatter: currencyFormatter\n },\n ]\n );\n }, []);\n\n const openModal = () => {\n setShowModal(!showModal)\n // //console.log(showModal)\n }\n\n const closeModal = () => {\n setShowModal(showModal => false)\n // setExpLoading(true)\n setToggleModal(!toggleModal)\n }\n\n useEffect(() => {\n initGridVar();\n }, [initGridVar]);\n\n useEffect(() => {\n const getContacts = async () => {\n await base.getAll(\"Report/contactform\").then((res) => {\n setBudgetData(res);\n });\n }\n getContacts();\n setTimeout(() => {\n setExpLoading(false)\n }, [1000])\n\n }, [saveItem])\n\n\n const onSelectionChanged = () => {\n const selectedRows = gridRef.current.api.getSelectedRows();\n if (selectedRows.length === 1) {\n setBudgetID(selectedRows[0].id);\n openModal();\n // //console.log(selectedRows[0].id)\n // setTimeout(() => {\n // //console.log(budgetID);\n // }, [5000])\n\n }\n // document.querySelector('#selectedRows').innerHTML =\n // selectedRows.length === 1 ? selectedRows[0].id : '';\n };\n\n return (\n <>\n\n \n \n \n   \n Contact Form\n \n {/* */}\n \n \n {/* */}\n \n \n
\n \n \n {expLoading ?\n \n
\n
\n \n
\n
\n
\n :\n <>\n {/*
\n Selection:\n \n
*/}\n\n \n
\n //console.log('Row double clicked')}\n // onRowDoubleClicked=(()=> editRow())\n >\n \n
\n
\n \n\n }\n\n \n\n
\n
\n {showModal && }\n {/* {showModal && } */}\n\n \n )\n}\n\nexport default Projects\n","import React from 'react'\nimport { useEffect, useState } from 'react';\nimport { Col, Row, Button, Label, Input, Modal, ModalBody, ModalHeader, FormGroup, ModalFooter } from 'reactstrap';\nimport 'ag-grid-community/dist/styles/ag-grid.css';\nimport 'ag-grid-community/dist/styles/ag-theme-balham.css';\nimport base from '../../../services/BaseService'\nimport LoadSpinner from '../../shared/loading'\n\nconst TasksModal = ({ id, closeModal, showModalForm, setSaveItem }) => {\n\n const [field01, setField01] = useState()\n const [field02, setField02] = useState()\n const [field03, setField03] = useState()\n const [field04, setField04] = useState()\n const [field05, setField05] = useState()\n const [field06, setField06] = useState()\n const [field07, setField07] = useState()\n const [field08, setField08] = useState()\n const [field09, setField09] = useState()\n const [check09, setCheck09] = useState(false)\n const [field10, setField10] = useState(\"\")\n const [loading, setLoading] = useState(false)\n const [showModal, setShowModal] = useState(showModalForm)\n const updateData = {};\n\n const toggleModal = () => {\n closeModal()\n setShowModal(showModal => !showModal);\n }\n\n const openADO = (() => {\n if (field10 !== \"\") {\n window.open(field10);\n }\n });\n\n const updateItem = () => {\n updateData.url = field01;\n updateData.CostCentre = field08;\n updateData.approved = field09;\n updateData.urlADO = field10;\n\n base.update(\"ManageData/tasks/upd/\" + id, updateData).then((res) => {\n toggleModal()\n setSaveItem(new Date().getTime());\n })\n // alert(\"Save!\")\n }\n\n const handleChange = (e) => {\n // //console.log(\"hangleChange\", e.target.name)\n if (e.target.name === 'url') {\n setField01(e.target.value);\n // setDescriptionRemaining(e.target.value.length);\n }\n if (e.target.name === 'taskName') {\n setField02(e.target.value);\n // setDescriptionRemaining(e.target.value.length);\n }\n if (e.target.name === 'projectName') {\n setField03(e.target.value);\n // setDescriptionRemaining(e.target.value.length);\n }\n if (e.target.name === 'organisationName') {\n setField04(e.target.value);\n // //console.log(e.target.value);\n // setDescriptionRemaining(e.target.value.length);\n }\n if (e.target.name === 'isBillable') {\n setField05(e.target.value);\n // //console.log(e.target.value);\n // setDescriptionRemaining(e.target.value.length);\n }\n if (e.target.name === 'billingRate') {\n setField06(e.target.value);\n // //console.log(e.target.value);\n // setDescriptionRemaining(e.target.value.length);\n }\n if (e.target.name === 'status') {\n setField07(e.target.value);\n // //console.log(e.target.value);\n // setDescriptionRemaining(e.target.value.length);\n }\n if (e.target.name === 'costCentre') {\n setField08(e.target.value);\n // //console.log(e.target.value);\n // setDescriptionRemaining(e.target.value.length);\n }\n if (e.target.name === 'urlADO') {\n setField10(e.target.value);\n // console.log(e.target.value);\n // setDescriptionRemaining(e.target.value.length);\n }\n if (e.target.name === 'approved') {\n\n if (e.target.checked) {\n // console.log(\"Y\");\n setField09(\"Y\");\n setCheck09(true)\n }\n else {\n // console.log(\"N\");\n setField09(\"N\");\n setCheck09(false)\n }\n // setField09(e.target.value);\n // setDescriptionRemaining(e.target.value.length);\n }\n\n document.getElementById(e.target.id).style.border = '1px solid #cecece';\n }\n\n useEffect(() => {\n const getData = () => {\n // if (editExisting) {\n // setDisableUPN(dU => true)\n const getFormData = async () => {\n await base.getAll(\"ManageData/tasks/\" + id).then((res) => {\n setField01(res.url);\n setField02(res.taskName);\n setField03(res.projectName);\n setField04(res.organisationName);\n setField05(res.isBillable);\n setField06(res.billingRate);\n setField07(res.status);\n setField08(res.costCentre);\n setField09(res.approved);\n if (res.approved === \"Y\") {\n setCheck09(true);\n }\n else {\n setCheck09(false);\n }\n var link = (res.urlADO !== null ? res.urlADO : \"\")\n setField10(link);\n setLoading(false)\n })\n }\n\n getFormData();\n // }\n // else {\n // // setDisableUPN(dU => false)\n // setLoading(false)\n // }\n }\n getData()\n }, [id])\n\n\n return (\n <>\n \n
Edit Task
\n {loading ?\n \n :\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {/* \n */}\n \n {/* */}\n \n \n\n \n \n \n \n \n \n \n }\n
\n \n )\n}\n\nexport default TasksModal\n","import React from 'react'\nimport { useEffect, useState, useCallback, useRef } from 'react';\nimport { AiOutlineInteraction } from 'react-icons/ai'\nimport { Col, Row, CardHeader, CardBody, Button, Card, Input, InputGroup, Tooltip } from 'reactstrap';\nimport { AgGridReact } from 'ag-grid-react';\nimport 'ag-grid-community/dist/styles/ag-grid.css';\nimport 'ag-grid-community/dist/styles/ag-theme-balham.css';\nimport base from '../../../services/BaseService'\nimport Spinner from '../../shared/loading'\nimport EditModal from './tasksModal'\nimport Select from 'react-select'\nimport remove from '../../../assets/icons/remove24.svg';\nimport removeLrg from '../../../assets/icons/remove32.svg';\nimport download from '../../../assets/icons/download24.svg';\nimport ifilter from '../../../assets/icons/filter24.svg';\nimport ifilterFill from '../../../assets/icons/filterfill24.svg';\nconst Projects = () => {\n\n const gridRef = useRef();\n const [saveItem, setSaveItem] = useState();\n const [budgetID, setBudgetID] = useState();\n const [gridDefaultColDef, setGridDefaultColDef] = useState([]);\n const [budgetColDef, setBudgetColDef] = useState([]);\n const [showModal, setShowModal] = useState(false)\n const [toggleModal, setToggleModal] = useState(false)\n const [expLoading, setExpLoading] = useState(true);\n const [data, setData] = useState([]);\n const [originData, setOriginData] = useState([]);\n const [filter1, setFilter1] = useState(['Active']);\n const [filter2, setFilter2] = useState([]);\n const [filter3, setFilter3] = useState('');\n const [filter4, setFilter4] = useState('');\n const [inputValue, setInputValue] = useState({ value: \"Active\", label: 'Active' });\n const [inputValue1, setInputValue1] = useState([]);\n const [inputValue2, setInputValue2] = useState([]);\n const [tooltipOpen, setTooltipOpen] = useState(false);\n const toggle = () => setTooltipOpen(!tooltipOpen);\n const [filter, setFilter] = useState(true);\n const [showFilter, setShowFilter] = useState(false);\n\n\n const options1 = [\n { value: \"Active\", label: 'Active' },\n { value: \"Completed\", label: 'Completed' },\n { value: \"Hidden\", label: 'Hidden' },\n ]\n\n const options2 = [\n { value: \"Y\", label: 'Yes' },\n { value: \"N\", label: 'No' },\n ]\n\n const options3 = [\n { value: \"CC_LW\", label: 'CC_LW' },\n { value: \"CC_MW\", label: 'CC_MW' },\n ]\n\n\n const initGridVar = useCallback(() => {\n setGridDefaultColDef({\n flex: 1,\n minWidth: 100,\n sortable: true,\n filter: true,\n resizable: true,\n editable: false,\n sortingOrder: [\"asc\", \"desc\"],\n });\n\n setBudgetColDef([\n {\n headerName: \"url\",\n field: \"url\",\n suppressMovable: true,\n maxWidth: 350\n },\n {\n headerName: \"Task\",\n field: \"taskName\",\n suppressMovable: true,\n maxWidth: 250\n },\n {\n headerName: \"Client\",\n field: \"organisationName\",\n suppressMovable: true,\n maxWidth: 250\n },\n {\n headerName: \"Project\",\n field: \"projectName\",\n suppressMovable: true,\n maxWidth: 250\n },\n {\n headerName: \"IsBillable\",\n field: \"isBillable\",\n suppressMovable: true,\n maxWidth: 100\n },\n {\n headerName: \"BillingRate\",\n field: \"billingRate\",\n suppressMovable: true,\n filter: 'agNumberColumnFilter',\n type: 'numericColumn',\n maxWidth: 100\n },\n {\n headerName: \"Status\",\n field: \"status\",\n suppressMovable: true,\n maxWidth: 100\n },\n {\n headerName: \"CostCentre\",\n field: \"costCentre\",\n suppressMovable: true,\n maxWidth: 100\n },\n {\n headerName: \"ADO\",\n field: \"urlADO\",\n suppressMovable: true,\n maxWidth: 300\n },\n {\n headerName: \"Approved\",\n field: \"approved\",\n suppressMovable: true,\n maxWidth: 100\n },\n {\n headerName: \"id\",\n field: \"id\",\n suppressMovable: true,\n hide: true,\n type: 'numericColumn',\n\n },\n ]\n );\n }, []);\n\n const selectChange = (e, id) => {\n // console.log(e, id.name)\n var fName = id.name\n if (fName === 'drpStatus') {\n setFilter1(Array.isArray(e) ? e.map(x => x.value) : []);\n setInputValue(e)\n }\n if (fName === 'drpYORN') {\n setInputValue(e.value);\n setFilter2(Array.isArray(e) ? e.map(x => x.value) : []);\n setInputValue1(e)\n }\n\n if (fName === 'drpCC') {\n setInputValue2(e.value);\n setFilter4(Array.isArray(e) ? e.map(x => x.value) : []);\n setInputValue2(e)\n }\n }\n\n useEffect(() => {\n const filterData = () => {\n var xData = originData;\n\n if (filter1.length > 0) {\n xData = xData.filter(f => filter1.some(item => item.includes(f.status)));\n setFilter(true);\n }\n\n if (filter2.length > 0) {\n xData = xData.filter(f => filter2.some(item => item.includes(f.approved)));\n setFilter(true);\n }\n\n if (filter4.length > 0) {\n xData = xData.filter(f => filter4.some(item => item.includes(f.costCentre)));\n setFilter(true);\n }\n\n\n if (filter3 !== '') {\n xData = xData.filter(f => f.taskName.toUpperCase().includes(filter3.toUpperCase()) || f.organisationName.toUpperCase().includes(filter3.toUpperCase()) || f.projectName.toUpperCase().includes(filter3.toUpperCase()));\n setFilter(true);\n\n }\n\n if (filter1.length === 0 && filter3 === '' && filter2.length === 0 && filter4.length === 0) {\n setFilter(false);\n }\n\n setData(xData);\n\n }\n filterData();\n }, [filter1, filter2, filter3, filter4, originData]);\n\n\n\n const handleChange = (e) => {\n // console.log(e.target.value)\n var searchInput = e.target.value;\n if (searchInput !== '') {\n setFilter3(searchInput);\n }\n else {\n setFilter3('');\n }\n }\n\n const onBtnExport = useCallback(() => {\n gridRef.current.api.exportDataAsCsv();\n }, []);\n\n const closeFilter = () => {\n setTooltipOpen(false);\n setShowFilter(false);\n setFilter(true);\n setData(originData);\n setInputValue({ value: \"Active\", label: 'Active' });\n setFilter1(['Active']);\n setFilter2([]);\n setFilter4([]);\n setFilter3('');\n }\n\n const openModal = () => {\n setShowModal(!showModal)\n }\n\n const closeModal = () => {\n setShowModal(showModal => false)\n // setExpLoading(true)\n setToggleModal(!toggleModal)\n }\n\n useEffect(() => {\n initGridVar();\n }, [initGridVar]);\n\n useEffect(() => {\n const getContacts = async () => {\n await base.getAll(\"ManageData/tasks\").then((res) => {\n setData(res);\n setOriginData(res);\n });\n }\n getContacts();\n setTimeout(() => {\n setExpLoading(false)\n }, [1000])\n\n }, [saveItem])\n\n const onSelectionChanged = () => {\n const selectedRows = gridRef.current.api.getSelectedRows();\n if (selectedRows.length === 1) {\n setBudgetID(selectedRows[0].id);\n openModal();\n }\n\n };\n\n return (\n <>\n\n \n \n \n   \n Task Enrichment\n \n {/* */}\n \n \n \n \n \n \n
\n {showFilter &&\n \n \n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n {/* */}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n }\n \n \n )\n}\n\nexport default TasksModal\n","import React from 'react'\nimport { useEffect, useState, useCallback, useRef } from 'react';\nimport { AiOutlineUser } from 'react-icons/ai'\nimport { Col, Row, CardHeader, CardBody } from 'reactstrap';\nimport { AgGridReact } from 'ag-grid-react';\nimport 'ag-grid-community/dist/styles/ag-grid.css';\nimport 'ag-grid-community/dist/styles/ag-theme-balham.css';\nimport base from '../../../services/BaseService'\nimport Spinner from '../../shared/loading'\nimport EditModal from './usersModal'\n\nconst Projects = () => {\n\n const gridRef = useRef();\n const [budgetData, setBudgetData] = useState([]);\n const [saveItem, setSaveItem] = useState();\n const [budgetID, setBudgetID] = useState();\n const [gridDefaultColDef, setGridDefaultColDef] = useState([]);\n const [budgetColDef, setBudgetColDef] = useState([]);\n const [showModal, setShowModal] = useState(false)\n const [toggleModal, setToggleModal] = useState(false)\n const [expLoading, setExpLoading] = useState(true);\n\n const initGridVar = useCallback(() => {\n setGridDefaultColDef({\n flex: 1,\n minWidth: 100,\n sortable: true,\n filter: true,\n resizable: true,\n editable: false,\n sortingOrder: [\"asc\", \"desc\"],\n });\n\n setBudgetColDef([\n {\n headerName: \"First Name\",\n field: \"firstName\",\n // cellClass: \"alignCenter widthhhh\",\n suppressMovable: true,\n maxWidth: 200\n },\n {\n headerName: \"Last Name\",\n field: \"lastName\",\n // cellClass: \"alignCenter widthhhh\",\n suppressMovable: true,\n maxWidth: 200\n },\n {\n headerName: \"Cost Centre\",\n field: \"costCentre\",\n // cellClass: \"alignCenter widthhhh\",\n suppressMovable: true,\n maxWidth: 125\n },\n {\n headerName: \"UPN\",\n field: \"upn\",\n // cellClass: \"alignCenter widthhhh\",\n suppressMovable: true,\n maxWidth: 350\n },\n {\n headerName: \"Email\",\n field: \"email\",\n // cellClass: \"alignCenter widthhhh\",\n suppressMovable: true,\n maxWidth: 350\n },\n {\n headerName: \"User Level\",\n field: \"userLevel\",\n // cellClass: \"alignCenter widthhhh\",\n suppressMovable: true,\n maxWidth: 125\n },\n {\n headerName: \"url\",\n field: \"url\",\n // cellClass: \"alignCenter widthhhh\",\n suppressMovable: true,\n maxWidth: 350\n },\n {\n headerName: \"Last Login\",\n field: \"lastLogOn\",\n // cellClass: \"alignCenter widthhhh\",\n suppressMovable: true,\n maxWidth: 200\n },\n {\n headerName: \"id\",\n field: \"idUser\",\n // hidden: true,\n suppressMovable: true,\n hide: true,\n // filter: 'agNumberColumnFilter',\n type: 'numericColumn',\n // setColumnVisible: false,\n // valueFormatter: currencyFormatter\n },\n ]\n );\n }, []);\n\n const openModal = () => {\n setShowModal(!showModal)\n // //console.log(showModal)\n }\n\n const closeModal = () => {\n setShowModal(showModal => false)\n // setExpLoading(true)\n setToggleModal(!toggleModal)\n }\n\n useEffect(() => {\n initGridVar();\n }, [initGridVar]);\n\n useEffect(() => {\n const getContacts = async () => {\n await base.getAll(\"ManageData/users\").then((res) => {\n setBudgetData(res);\n });\n }\n getContacts();\n setTimeout(() => {\n setExpLoading(false)\n }, [1000])\n\n }, [saveItem])\n\n const onSelectionChanged = () => {\n const selectedRows = gridRef.current.api.getSelectedRows();\n if (selectedRows.length === 1) {\n setBudgetID(selectedRows[0].idUser);\n\n openModal();\n // //console.log(selectedRows[0].id)\n // setTimeout(() => {\n // //console.log(budgetID);\n // }, [5000])\n\n }\n // document.querySelector('#selectedRows').innerHTML =\n // selectedRows.length === 1 ? selectedRows[0].id : '';\n };\n\n return (\n <>\n\n \n \n \n   \n User Enrichment\n \n\n \n \n
\n \n \n {expLoading ?\n \n
\n
\n \n
\n
\n
\n :\n <>\n {/*
\n Selection:\n \n
*/}\n\n \n
\n //console.log('Row double clicked')}\n // onRowDoubleClicked=(()=> editRow())\n >\n \n
\n
\n \n\n }\n\n \n\n
\n
\n {showModal && }\n {/* {showModal && } */}\n\n \n )\n}\n\nexport default Projects\n","import React from 'react'\nimport { useEffect, useState } from 'react';\nimport { Col, Row, Button, Label, Input, Modal, ModalBody, ModalHeader, FormGroup, ModalFooter } from 'reactstrap';\nimport 'ag-grid-community/dist/styles/ag-grid.css';\nimport 'ag-grid-community/dist/styles/ag-theme-balham.css';\nimport base from '../../../services/BaseService'\nimport LoadSpinner from '../../shared/loading'\n\nconst TasksModal = ({ id, closeModal, showModalForm, setSaveItem }) => {\n\n const [field01, setField01] = useState(\"\")\n const [field02, setField02] = useState(\"\")\n const [field03, setField03] = useState(\"\")\n const [field04, setField04] = useState(\"\")\n const [field05, setField05] = useState(\"\")\n const [field06, setField06] = useState(\"\")\n // const [field07, setField07] = useState()\n const [field08, setField08] = useState(\"\")\n const [isEdit, setIsEdit] = useState(false)\n // const [field09, setField09] = useState()\n // const [field10, setField10] = useState()\n // const [field11, setField11] = useState()\n // const [field12, setField12] = useState()\n const [loading, setLoading] = useState(false)\n const [showModal, setShowModal] = useState(showModalForm)\n const updateData = {};\n const periodValue = new Date().getFullYear() + '.' + (\"0\" + (new Date().getMonth() + 1)).slice(-2);\n\n const toggleModal = () => {\n setShowModal(showModal => !showModal);\n closeModal()\n }\n\n const updateItem = () => {\n\n updateData.fromCC = field01;\n updateData.toCC = field02;\n updateData.reason = field03;\n updateData.period = field04;\n updateData.value = field05;\n updateData.reason1 = field06;\n updateData.reason2 = field08;\n\n if (id === \"new\") {\n base.add(\"ManageData/ccrecon/add\", updateData).then((res) => {\n setSaveItem(new Date().getTime());\n toggleModal()\n })\n } else {\n\n base.update(\"ManageData/ccrecon/upd/\" + id, updateData).then((res) => {\n setSaveItem(new Date().getTime());\n toggleModal()\n })\n }\n // alert(\"Save!\")\n }\n\n const deleteItem = () => {\n updateData.fromCC = field01;\n updateData.toCC = field02;\n updateData.reason = field03;\n updateData.period = field04;\n updateData.value = field05;\n updateData.reason1 = field06;\n updateData.reason2 = field08;\n\n base.update(\"ManageData/ccrecon/del/\" + id, updateData).then((res) => {\n toggleModal()\n setSaveItem(new Date().getTime());\n })\n // alert(\"Save!\")\n }\n\n const handleChange = (e) => {\n // //console.log(\"hangleChange\", e.target.name)\n if (e.target.name === 'fromCC') {\n setField01(e.target.value);\n // setDescriptionRemaining(e.target.value.length);\n }\n if (e.target.name === 'toCC') {\n setField02(e.target.value);\n // setDescriptionRemaining(e.target.value.length);\n }\n if (e.target.name === 'reason') {\n setField03(e.target.value);\n // setDescriptionRemaining(e.target.value.length);\n }\n if (e.target.name === 'period') {\n setField04(e.target.value);\n // //console.log(e.target.value);\n // setDescriptionRemaining(e.target.value.length);\n }\n if (e.target.name === 'value') {\n setField05(e.target.value);\n // //console.log(e.target.value);\n // setDescriptionRemaining(e.target.value.length);\n }\n if (e.target.name === 'reason1') {\n setField06(e.target.value);\n // //console.log(e.target.value);\n // setDescriptionRemaining(e.target.value.length);\n }\n if (e.target.name === 'reason2') {\n setField08(e.target.value);\n // //console.log(e.target.value);\n // setDescriptionRemaining(e.target.value.length);\n }\n\n document.getElementById(e.target.id).style.border = '1px solid #cecece';\n }\n\n useEffect(() => {\n const getData = () => {\n // if (editExisting) {\n // console.log(id)\n\n if (id === \"new\") {\n setIsEdit(false);\n setField04(periodValue);\n\n } else {\n\n setIsEdit(true);\n\n // setDisableUPN(dU => true)\n const getFormData = async () => {\n await base.getAll(\"ManageData/ccrecon/\" + id).then((res) => {\n setField01(res.fromCC !== null ? res.fromCC : \"\");\n setField02(res.toCC !== null ? res.toCC : \"\");\n setField03(res.reason);\n setField04(res.period);\n setField05(res.value);\n setField06(res.reason1 !== null ? res.reason1 : \"\");\n // setField07(res.lastLogOn);\n setField08(res.reason2 !== null ? res.reason2 : \"\");\n setLoading(false)\n })\n }\n\n getFormData();\n }\n\n // }\n // else {\n // // setDisableUPN(dU => false)\n // setLoading(false)\n // }\n }\n getData()\n }, [id, periodValue])\n\n\n return (\n <>\n \n \n {isEdit ?\n <>\n
\n Edit Reconciliation Item\n
\n \n :\n <>\n
\n Create Reconciliation Item\n
\n \n }\n
\n {loading ?\n \n :\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n\n\n\n \n \n \n \n {isEdit &&\n \n }\n \n \n \n }\n
\n \n )\n}\n\nexport default TasksModal\n","var _g;\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgAddlrg24(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"24px\",\n height: \"24px\",\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"Add / Large / 24\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Symbols\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Add-/-Large-/-24\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"background\",\n fillOpacity: 0,\n fill: \"#000000\",\n x: 0,\n y: 0,\n width: 24,\n height: 24\n }), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group\",\n strokeLinecap: \"square\",\n transform: \"translate(6.000000, 6.000000)\",\n stroke: \"#fff\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6,0 L6,12 M12,6 L0,6\",\n id: \"Combined-Shape\"\n }))))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgAddlrg24);\nexport default __webpack_public_path__ + \"static/media/addlrg24.5d021d6ae8f48330e21cc67a825b44b4.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react'\nimport { useEffect, useState, useCallback, useRef } from 'react';\nimport { AiOutlineReconciliation } from 'react-icons/ai'\nimport { Col, Row, CardHeader, CardBody, Button } from 'reactstrap';\nimport { AgGridReact } from 'ag-grid-react';\nimport 'ag-grid-community/dist/styles/ag-grid.css';\nimport 'ag-grid-community/dist/styles/ag-theme-balham.css';\nimport base from '../../../services/BaseService'\nimport Spinner from '../../shared/loading'\nimport EditModal from './ccReconModal'\nimport add from '../../../assets/icons/addlrg24.svg';\n\nconst Projects = () => {\n\n const gridRef = useRef();\n const [budgetData, setBudgetData] = useState([]);\n const [saveItem, setSaveItem] = useState();\n const [budgetID, setBudgetID] = useState();\n const [gridDefaultColDef, setGridDefaultColDef] = useState([]);\n const [budgetColDef, setBudgetColDef] = useState([]);\n const [showModal, setShowModal] = useState(false)\n const [toggleModal, setToggleModal] = useState(false)\n const [expLoading, setExpLoading] = useState(true);\n\n const formatNumber = useCallback((number) => {\n // this puts commas into the number eg 1000 goes to 1,000,\n return (number)\n .toFixed(2)\n .replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$&,');\n }, []);\n const currencyFormatter = useCallback((params) => {\n return formatNumber(params.value);\n // return params.toFixed(2).replace(/\\d(?=(\\d{3})+\\.)/g, '$&,');\n }, [formatNumber]);\n\n const initGridVar = useCallback(() => {\n setGridDefaultColDef({\n flex: 1,\n minWidth: 100,\n sortable: true,\n filter: true,\n resizable: true,\n editable: false,\n sortingOrder: [\"asc\", \"desc\"],\n });\n\n setBudgetColDef([\n {\n headerName: \"From\",\n field: \"fromCC\",\n // cellClass: \"alignCenter widthhhh\",\n suppressMovable: true,\n maxWidth: 100\n },\n {\n headerName: \"To\",\n field: \"toCC\",\n // cellClass: \"alignCenter widthhhh\",\n suppressMovable: true,\n maxWidth: 100\n },\n {\n headerName: \"Justification\",\n field: \"reason\",\n // cellClass: \"alignCenter widthhhh\",\n suppressMovable: true,\n maxWidth: 350\n },\n {\n headerName: \"Period\",\n field: \"period\",\n // cellClass: \"alignCenter widthhhh\",\n suppressMovable: true,\n maxWidth: 200\n },\n {\n headerName: \"Value\",\n field: \"value\",\n // cellClass: \"alignCenter widthhhh\",\n suppressMovable: true,\n filter: 'agNumberColumnFilter',\n type: 'numericColumn',\n valueFormatter: currencyFormatter,\n maxWidth: 200\n },\n\n {\n headerName: \"Additional Info 1\",\n field: \"reason1\",\n // cellClass: \"alignCenter widthhhh\",\n suppressMovable: true,\n maxWidth: 350\n },\n {\n headerName: \"Additional Info 2\",\n field: \"reason2\",\n // cellClass: \"alignCenter widthhhh\",\n suppressMovable: true,\n maxWidth: 350\n },\n {\n headerName: \"id\",\n field: \"iD\",\n // hidden: true,\n suppressMovable: true,\n hide: true,\n // filter: 'agNumberColumnFilter',\n type: 'numericColumn',\n // setColumnVisible: false,\n // valueFormatter: currencyFormatter\n },\n ]\n );\n }, [currencyFormatter]);\n\n const openModal = () => {\n setShowModal(!showModal)\n // //console.log(showModal)\n }\n const openModal1 = () => {\n setBudgetID(\"new\")\n setShowModal(!showModal)\n\n // //console.log(showModal)\n }\n\n const closeModal = () => {\n setShowModal(showModal => false)\n // setExpLoading(true)\n setToggleModal(!toggleModal)\n }\n\n useEffect(() => {\n initGridVar();\n }, [initGridVar]);\n\n useEffect(() => {\n const getContacts = async () => {\n await base.getAll(\"ManageData/ccrecon\").then((res) => {\n setBudgetData(res);\n });\n }\n getContacts();\n setTimeout(() => {\n setExpLoading(false)\n }, [1000])\n\n }, [saveItem])\n\n const onSelectionChanged = () => {\n const selectedRows = gridRef.current.api.getSelectedRows();\n if (selectedRows.length === 1) {\n setBudgetID(selectedRows[0].id);\n\n openModal();\n // console.log(selectedRows[0].id)\n // setTimeout(() => {\n // //console.log(budgetID);\n // }, [5000])\n\n }\n // document.querySelector('#selectedRows').innerHTML =\n // selectedRows.length === 1 ? selectedRows[0].id : '';\n };\n\n return (\n <>\n\n \n \n \n   \n Cost Centre Reconciliation\n \n {/* */}\n \n \n \n {/* */}\n \n \n
\n \n \n {expLoading ?\n \n
\n
\n \n
\n
\n
\n :\n <>\n {/*
\n Selection:\n \n
*/}\n\n \n
\n //console.log('Row double clicked')}\n // onRowDoubleClicked=(()=> editRow())\n >\n \n
\n
\n \n\n }\n\n \n\n
\n
\n {showModal && }\n {/* {showModal && } */}\n\n \n )\n}\n\nexport default Projects\n","import React from 'react'\nimport { useEffect, useState, useCallback, useRef } from 'react';\nimport { AiOutlineProject } from 'react-icons/ai'\nimport { Col, Row, CardHeader, CardBody, Button } from 'reactstrap';\nimport { AgGridReact } from 'ag-grid-react';\nimport 'ag-grid-community/dist/styles/ag-grid.css';\nimport 'ag-grid-community/dist/styles/ag-theme-balham.css';\nimport base from '../../../services/BaseService'\nimport Spinner from '../../shared/loading'\nimport EditModal from './ccReconModal'\nimport add from '../../../assets/icons/addlrg24.svg';\n\nconst Projects = () => {\n\n const gridRef = useRef();\n const [budgetData, setBudgetData] = useState([]);\n const [saveItem, setSaveItem] = useState();\n const [budgetID, setBudgetID] = useState();\n const [gridDefaultColDef, setGridDefaultColDef] = useState([]);\n const [budgetColDef, setBudgetColDef] = useState([]);\n const [showModal, setShowModal] = useState(false)\n const [toggleModal, setToggleModal] = useState(false)\n const [expLoading, setExpLoading] = useState(true);\n\n\n const initGridVar = useCallback(() => {\n setGridDefaultColDef({\n flex: 1,\n minWidth: 100,\n sortable: true,\n filter: true,\n resizable: true,\n editable: false,\n sortingOrder: [\"asc\", \"desc\"],\n });\n\n setBudgetColDef([\n {\n headerName: \"heading\",\n field: \"heading\",\n // cellClass: \"alignCenter widthhhh\",\n suppressMovable: true,\n maxWidth: 100\n },\n {\n headerName: \"subHeading\",\n field: \"subHeading\",\n // cellClass: \"alignCenter widthhhh\",\n suppressMovable: true,\n maxWidth: 350\n },\n // {\n // headerName: \"Justification\",\n // field: \"reason\",\n // // cellClass: \"alignCenter widthhhh\",\n // suppressMovable: true,\n // maxWidth: 350\n // },\n // {\n // headerName: \"Period\",\n // field: \"period\",\n // // cellClass: \"alignCenter widthhhh\",\n // suppressMovable: true,\n // maxWidth: 200\n // },\n // {\n // headerName: \"Value\",\n // field: \"value\",\n // // cellClass: \"alignCenter widthhhh\",\n // suppressMovable: true,\n // filter: 'agNumberColumnFilter',\n // type: 'numericColumn',\n // valueFormatter: currencyFormatter,\n // maxWidth: 200\n // },\n\n // {\n // headerName: \"Additional Info 1\",\n // field: \"reason1\",\n // // cellClass: \"alignCenter widthhhh\",\n // suppressMovable: true,\n // maxWidth: 350\n // },\n // {\n // headerName: \"Additional Info 2\",\n // field: \"reason2\",\n // // cellClass: \"alignCenter widthhhh\",\n // suppressMovable: true,\n // maxWidth: 350\n // },\n {\n headerName: \"id\",\n field: \"iD\",\n // hidden: true,\n suppressMovable: true,\n hide: true,\n // filter: 'agNumberColumnFilter',\n type: 'numericColumn',\n // setColumnVisible: false,\n // valueFormatter: currencyFormatter\n },\n ]\n );\n }, []);\n\n const openModal = () => {\n setShowModal(!showModal)\n // //console.log(showModal)\n }\n const openModal1 = () => {\n setBudgetID(\"new\")\n setShowModal(!showModal)\n\n // //console.log(showModal)\n }\n\n const closeModal = () => {\n setShowModal(showModal => false)\n // setExpLoading(true)\n setToggleModal(!toggleModal)\n }\n\n useEffect(() => {\n initGridVar();\n }, [initGridVar]);\n\n useEffect(() => {\n const getContacts = async () => {\n await base.getAll(\"ManageData/project\").then((res) => {\n setBudgetData(res);\n });\n }\n getContacts();\n setTimeout(() => {\n setExpLoading(false)\n }, [1000])\n\n }, [saveItem])\n\n const onSelectionChanged = () => {\n const selectedRows = gridRef.current.api.getSelectedRows();\n if (selectedRows.length === 1) {\n setBudgetID(selectedRows[0].id);\n\n openModal();\n // console.log(selectedRows[0].id)\n // setTimeout(() => {\n // //console.log(budgetID);\n // }, [5000])\n\n }\n // document.querySelector('#selectedRows').innerHTML =\n // selectedRows.length === 1 ? selectedRows[0].id : '';\n };\n\n return (\n <>\n\n \n \n \n   \n Client Projects\n \n {/* */}\n \n \n \n {/* */}\n \n \n
\n \n \n {expLoading ?\n \n
\n
\n \n
\n
\n
\n :\n <>\n {/*
\n Selection:\n \n
*/}\n\n \n
\n //console.log('Row double clicked')}\n // onRowDoubleClicked=(()=> editRow())\n >\n \n
\n
\n \n\n }\n\n \n\n
\n
\n {showModal && }\n {/* {showModal && } */}\n\n \n )\n}\n\nexport default Projects\n","import React, { useState } from 'react';\nimport { AiOutlineCode, AiOutlineCopy, AiOutlineDownload } from 'react-icons/ai';\nimport { Button, Card, CardBody, CardHeader, Col, Input, Row } from 'reactstrap';\n\nfunction CodeGenerator() {\n\n\n const [sqlScript, setSqlScript] = useState('');\n const [generatedCSharpModel, setGeneratedCSharpModel] = useState('');\n const [generatedCSharpMethods, setGeneratedCSharpMethods] = useState('');\n const [generatedReactLanding, setGeneratedReactLanding] = useState('');\n const [generatedReactColumns, setGeneratedReactColumns] = useState('');\n const [generatedReactEdit, setGeneratedReactEdit] = useState('');\n const [generatedJSON, setGeneratedJSON] = useState('');\n const [tableFile, setTableFile] = useState('');\n const [tableToUpdate, setTableToUpdate] = useState('');\n\n const tableSQL = `SELECT\n t.name AS ObjectName,\n c.name AS fieldName,\n CASE\n WHEN c.system_type_id IN (56) THEN left('int'+replicate(' ',10),10)\n WHEN c.system_type_id IN (61) THEN left('datetime'+replicate(' ',10),10)\n WHEN c.system_type_id IN (239) THEN left('nchar'+replicate(' ',10),10)\n WHEN c.system_type_id IN (231) THEN left('nvarchar'+replicate(' ',10),10)\n WHEN c.system_type_id IN (167) THEN left('varchar'+replicate(' ',10),10)\n WHEN c.system_type_id IN (173, 175) THEN left('binary'+replicate(' ',10),10)\n WHEN c.system_type_id IN (106) THEN left('decimal'+replicate(' ',10),10)\n ELSE ltrim(c.system_type_id)\n END AS fieldType,\n CASE\n WHEN c.max_length = -1 THEN 'MAX'\n ELSE CAST(c.max_length AS VARCHAR) \n END AS fieldLength,\n\treplace(c.name,'_',' ') AS fieldDescription,\n CASE\n WHEN lower(c.name) IN ('id','sysid','rel_rec','sys_id') THEN 'H'\n WHEN lower(c.name) IN ('up_date') THEN 'V;100;YMDHMS'\n WHEN lower(c.name) IN ('up_user') THEN 'V;100'\n\t WHEN c.system_type_id IN (61) THEN 'V;100;YMD'\n\t\telse 'V;150;text' END AS formatLanding,\n CASE\n WHEN lower(c.name) IN ('id','sysid','rel_rec','sys_id') THEN 'H'\n WHEN lower(c.name) IN ('up_date') THEN 'D;4;YMDHMS;text'\n WHEN lower(c.name) IN ('up_user') THEN 'D;4;string;text'\n\t WHEN c.system_type_id IN (61) THEN 'V;4;YMD;text'\n\t\telse 'V;4;string;text' END AS formatModal,\n\t\tCASE\n WHEN lower(c.name) IN ('rel_rec') THEN 'R'\n\t\tWHEN lower(c.name) IN ('sys_id','sysid') THEN 'S'\n WHEN lower(c.name) IN ('id') THEN 'Y'\n WHEN lower(c.name) IN ('up_date','updated_on') THEN 'UO'\n WHEN lower(c.name) IN ('up_user','updated_by') THEN 'UB'\n\t\tWHEN lower(c.name) IN ('cr_date','created_on') THEN 'CO'\n WHEN lower(c.name) IN ('cr_user','created_by') THEN 'CB'\n\t\telse 'N' END AS fieldKey\nFROM sys.tables t\nJOIN sys.columns c ON t.object_id = c.object_id\nwhere t.name='tableName'\nORDER BY ObjectName, c.column_id;\n`\n const viewSQL = `SELECT \n v.name AS ObjectName,\n c.name AS fieldName,\n CASE\n WHEN c.system_type_id IN (56) THEN 'int' \n WHEN c.system_type_id IN (61) THEN 'datetime' \n WHEN c.system_type_id IN (239) THEN 'nchar' \n WHEN c.system_type_id IN (231) THEN 'nvarchar' \n WHEN c.system_type_id IN (167) THEN 'varchar' \n WHEN c.system_type_id IN (173, 175) THEN 'binary' \n WHEN c.system_type_id IN (106) THEN 'decimal' \n ELSE ltrim(c.system_type_id)\n END AS fieldType,\n CASE\n WHEN t.name IN('varchar', 'nvarchar', 'char', 'nchar') THEN ltrim(c.max_length) \n WHEN t.name IN('datetime', 'date') THEN ''\n ELSE ''\n END AS fieldLength,\n\treplace(c.name,'_',' ') AS fieldDescription,\n CASE\n WHEN lower(c.name) IN ('id','sysid','rel_rec') THEN 'H'\n WHEN lower(c.name) IN ('up_date') THEN 'V;100;YMDHMS'\n WHEN lower(c.name) IN ('up_user') THEN 'V;100;text'\n\t WHEN c.system_type_id IN (61) THEN 'V;100;YMD'\n\t\telse 'V;150;text' \n\tEND AS formatLanding,\n CASE\n WHEN lower(c.name) IN ('id','sysid','rel_rec','sys_id') THEN 'H'\n WHEN lower(c.name) IN ('up_date') THEN 'D;4;YMDHMS;text'\n WHEN lower(c.name) IN ('up_user') THEN 'D;4;string;text'\n\t WHEN c.system_type_id IN (61) THEN 'V;4;YMD;text'\n\t\telse 'V;4;string;text' \n\tEND AS formatModal,\n\tCASE\n WHEN lower(c.name) IN ('rel_rec') THEN 'R'\n\t\tWHEN lower(c.name) IN ('sys_id','sysid') THEN 'S'\n WHEN lower(c.name) IN ('id') THEN 'Y'\n WHEN lower(c.name) IN ('up_date','updated_on') THEN 'UO'\n WHEN lower(c.name) IN ('up_user','updated_by') THEN 'UB'\n\t\tWHEN lower(c.name) IN ('cr_date','created_on') THEN 'CO'\n WHEN lower(c.name) IN ('cr_user','created_by') THEN 'CB'\n\t\telse 'N' END AS fieldKey\nFROM sys.views v\nINNER JOIN sys.columns c ON v.object_id = c.object_id\nLEFT JOIN sys.types t ON c.user_type_id = t.user_type_id\nLEFT JOIN sys.objects b ON v.parent_object_id = b.object_id\nwhere v.name = 'viewName'\nORDER BY v.name, c.column_id;`\n\n\n const copyToClipboard = (stateValue) => {\n navigator.clipboard.writeText(stateValue)\n };\n\n const handleChange = (e) => {\n setSqlScript(e.target.value);\n if (tableToUpdate === null || tableToUpdate === '') {\n\n var lines = e.target.value.split('\\n');\n for (const line of lines) {\n if (line.includes('\\t')) {\n var parts = line.split('\\t');\n console.log(line, parts.length)\n\n if (parts.length === 8) {\n var tableNameMatch = parts[0];\n console.log(tableNameMatch)\n setTableToUpdate(tableNameMatch);\n return;\n }\n }\n }\n }\n }\n\n\n\n const generateCode = () => {\n if (!sqlScript) {\n return; // Skip if the input text area is empty\n }\n try {\n\n // Split SQL script into lines\n var lines = sqlScript.split('\\n');\n\n // Extract table name and field definitions\n let tableName = '';\n let keyField = '';\n let keyFieldType = '';\n var fieldDefinitions = [];\n for (const line of lines) {\n if (line.includes('\\t')) {\n var parts = line.split('\\t');\n if (parts.length === 8) {\n var tableNameMatch = parts[0];\n var fieldName = parts[1].trim();\n var fieldType = parts[2].trim();\n var fieldTypeSQL = sqlToCSharpType(fieldType);\n var fieldLength = parts[3];\n var fieldDescription = parts[4].trim();\n var formatLanding = parts[5] // Visible/Hidden(V/H/M);Size;Format e.g. V;200;DMY\n var formatModal = parts[6]; // Visible/Hidden/Disbaled/Mandatory(V/H/D/M);Size (Bootstrap Col);Format;Type e.g. V;6;DMYHMS;TEXTAREA\n var fieldKey = parts[7]; // Y/N\n if (parts[7] === \"Y\") {\n keyField = parts[1].trim().toUpperCase();\n keyFieldType = sqlToCSharpType(fieldType)\n }\n var lowerCaseFieldName = fieldName.charAt(0).toLowerCase() + fieldName.slice(1);\n tableName = tableNameMatch;\n fieldDefinitions.push({ fieldName, fieldType, fieldTypeSQL, lowerCaseFieldName, fieldLength, fieldDescription, formatLanding, formatModal, fieldKey });\n }\n }\n }\n\n var fieldsToIgnore = [keyField, \"UP_DATE\", \"UP_USER\", \"REL_REC\", \"SYSID\", \"SYS_ID\", \"UPDATED_BY\", \"UPDATED_ON\", \"CREATED_ON\", \"CREATED_BY\", \"ID\"]\n var formFieldsToIgnore = [\"REL_REC\", \"SYSID\", \"SYS_ID\", \"ID\"]\n var jsonCode = `select '{'`\n for ({ fieldName, fieldTypeSQL } of fieldDefinitions) {\n\n if (!fieldsToIgnore.includes(fieldName.toLocaleUpperCase())) {\n // console.log(fieldTypeSQL)\n switch (fieldTypeSQL) {\n case \"string\":\n jsonCode += `union all select top 1 '\"${fieldName}\":' + isnull('\"' + ltrim(${fieldName}) + '\"','null') + ',' from [${tableName}] \\n`;\n break;\n case \"DateTime\":\n jsonCode += `union all select top 1 '\"${fieldName}\":' + isnull('\"' + FORMAT(${fieldName}, 'yyyy-MM-dd hh:mm:ss') + '\"','null') + ',' from [${tableName}] \\n`;\n break;\n default:\n jsonCode += `union all select top 1 '\"${fieldName}\":' + isnull(ltrim(${fieldName}),'null') + ',' from [${tableName}] \\n`;\n break;\n }\n\n // if (fieldTypeSQL === \"string\" || fieldTypeSQL === \"DateTime\") {\n // // jsonCode += `union all select top 1 '\"${fieldName}\":' + CASE WHEN ${fieldName} IS NULL THEN 'null' ELSE '\"' + ltrim(${fieldName})+'\"' END + ',' from [${tableName}] \\n`;\n // jsonCode += `union all select top 1 '\"${fieldName}\":' + isnull('\"' + ltrim(${fieldName}) + '\"','null') + ',' from [${tableName}] \\n`;\n // }\n // else {\n // jsonCode += `union all select top 1 '\"${fieldName}\":' + CASE WHEN ${fieldName} IS NULL THEN 'null' ELSE ltrim(${fieldName}) END +',' from [${tableName}] \\n`;\n // }\n }\n }\n jsonCode += `union all select '}'`\n\n // Generate C# model code\n var cSharpModelCode = \"\"\n if (keyField === '') {\n cSharpModelCode += \"[Keyless]\\n\";\n }\n cSharpModelCode += `public class ${tableName}\\n{\\n`;\n for ({ fieldName, fieldTypeSQL } of fieldDefinitions) {\n var cSharpType = fieldTypeSQL;\n if (keyField.toUpperCase() !== \"ID\" && keyField.toUpperCase() === fieldName.toUpperCase()) {\n cSharpModelCode += `[Key]\\n`\n }\n cSharpModelCode += ` public ${(cSharpType === \"string\" ? cSharpType : cSharpType + \"?\")\n } ${fieldName} { get; set; } \\n`;\n }\n cSharpModelCode += '}\\n';\n // Split the table name by '_' and use the last part for the API name\n const tableNameParts = tableName.split('_');\n const apiName = tableNameParts[tableNameParts.length - 1].toLowerCase();\n const componentName = tableNameParts[tableNameParts.length - 1];\n setTableFile(componentName)\n // Generate C# method code\n const cSharpMethodCode = `\n \n [HttpGet(\"qry\")]\npublic IActionResult Qry${apiName} ()\n{\n var data = _repository.${tableName}.OrderByDescending(d => d.up_date);\n return Json(data);\n }\n\n\n [HttpGet(\"qry/{${keyField}}\")]\npublic IActionResult QrySingle${apiName} (${keyFieldType} ${keyField})\n {\n var data = _repository.${tableName}.Where(d => d.${keyField} == ${keyField});\n return Json(data);\n }\n\n [HttpPut(\"upd/{${keyField}}\")]\npublic IActionResult Upd${apiName} (${keyFieldType} ${keyField}, [FromBody] ${tableName} ${apiName.toLowerCase()})\n {\n tblUser currentUser = new UserController(_repository, _httpContextAccessor).User_Get();\n var recordToUpdate = _repository.${tableName}.FirstOrDefault(d => d.${keyField} == ${keyField});\n ${fieldDefinitions\n .filter(field => !fieldsToIgnore.includes(field.fieldName.toUpperCase()))\n .map(field => `recordToUpdate.${field.fieldName} = ${apiName.toLowerCase()}.${field.fieldName};`).join('\\n ')\n }\n ${fieldDefinitions\n .filter(field => fieldsToIgnore.includes(field.fieldName.toUpperCase()))\n .map((field) => {\n switch (field.fieldKey) {\n case \"UO\":\n return `recordToUpdate.${field.fieldName} = DateTime.Now;`\n case \"UB\":\n return `recordToUpdate.${field.fieldName} = currentUser.UserID;`\n default:\n return \"\"\n }\n\n }\n )\n .filter(line => line !== \"\")\n .join('\\n')}\n _repository.${tableName}.Update(recordToUpdate);\n _repository.SaveChanges();\n return Json(recordToUpdate);\n }\n\n [HttpPut(\"del/{${keyField}}\")]\npublic IActionResult Delete${apiName} (${keyFieldType} ${keyField}, [FromBody] ${tableName} ${apiName.toLowerCase()})\n {\n tblUser currentUser = new UserController(_repository, _httpContextAccessor).User_Get();\n var recordToUpdate = _repository.${tableName}.FirstOrDefault(d => d.${keyField} == ${keyField});\n \n ${fieldDefinitions\n .filter(field => fieldsToIgnore.includes(field.fieldName.toUpperCase()))\n .map((field) => {\n switch (field.fieldKey) {\n case \"UO\":\n return `recordToUpdate.${field.fieldName} = DateTime.Now;`\n case \"UB\":\n return `recordToUpdate.${field.fieldName} = currentUser.UserID;`\n case \"R\":\n return `recordToUpdate.${field.fieldName} = 0;`\n\n default:\n return \"\"\n }\n\n }\n )\n .filter(line => line !== \"\")\n .join('\\n')}\n _repository.${tableName}.Update(recordToUpdate);\n _repository.SaveChanges();\n return Json(recordToUpdate);\n }\n\n[HttpPost(\"add\")]\npublic IActionResult Add${apiName} ([FromBody] List <${tableName}> ${apiName.toLowerCase()})\n {\n tblUser currentUser = new UserController(_repository, _httpContextAccessor).User_Get();\n ${fieldDefinitions\n .filter(field => fieldsToIgnore.includes(field.fieldName.toUpperCase()))\n .map((field) => {\n switch (field.fieldKey) {\n case \"UO\":\n case \"CO\":\n return `${apiName.toLowerCase()}.ForEach.(d => d.${field.fieldName} = DateTime.Now);`\n case \"UB\":\n case \"CB\":\n return `${apiName.toLowerCase()}.ForEach.(d => d.${field.fieldName} = currentUser.UserID);`\n case \"R\":\n case \"S\":\n return `${apiName.toLowerCase()}.ForEach.(d => d.${field.fieldName} = 1);`\n default:\n return \"\"\n }\n }\n )\n .filter(line => line !== \"\")\n .join('\\n')} \n _repository.${tableName}.AddRange(${apiName});\n _repository.SaveChanges();\n return Json(${apiName});\n }\n `;\n\n\n\n const reactLanding = `\n import React from 'react';\n import { useState, useCallback, useEffect } from \"react\";\n import { Row, Col, Button } from 'reactstrap'\n import DataTable from 'react-data-table-component';\n import ${componentName}Columns from './ ${componentName}Columns';\n import ${componentName}Modal from './ ${componentName}Modal'\n import base from '../services/baseService';\n import TableStyles from '../shared/TableStyles';\n import LoadingSpinner from '../shared/LoadingSpinner';\n import '../assets/css/common.css'\n import { Edit24 } from '@bphxd/ds-core-react/lib/icons';\n import TitleBanner from '../CardManager/TitleBanner'\n\n const xRowsPerPage = false\n\n const ${componentName} = () => {\n\n const [data, setData] = useState([]);\n const [originData, setOriginData] = useState([])\n const [searchLoading, setSearchLoading] = useState(true);\n const [showXSFilters, setShowXSFilters] = useState(false)\n const [loading, setLoading] = useState(true);\n const [showDetailModal, setShowDetailModal] = useState(false);\n const [page, setPage] = useState(\"\");\n const Page = \" ${apiName}\"\n const [ID, setID] = useState(\"\")\n const [columns, setColumns] = useState([])\n\n useEffect(() => {\n function handleResize() {\n if (window.innerWidth > 1400) {\n setShowXSFilters(false)\n }\n }\n window.addEventListener(\"resize\", handleResize);\n return () => window.removeEventListener(\"resize\", handleResize);\n }, []);\n\n\n\n // get data \n const get${componentName} = () => {\n setSearchLoading(true)\n base.getAll(\"${apiName}/qry\").then((res) => {\n setOriginData(res)\n setData(res)\n setTimeout(() => {\n setSearchLoading(false);\n setLoading(false);\n }, 0);\n });\n }\n\n //open edit form\n const edit${componentName} = useCallback((state) => {\n var id = state.target.id\n if (id === \"\") {\n id = state.target.nearestViewportElement.id\n }\n var cID = id.substring(0, 2)\n setID(cID)\n setShowDetailModal(true)\n setPage(\"edit\");\n }, []);\n\n // reload data after add \n const refreshData = () => {\n setTimeout(() => {\n get${componentName} ()\n }, 200);\n }\n\n const create${componentName} = () => {\n setShowDetailModal(true)\n setPage(\"create\");\n }\n\n const closeModal = () => {\n setShowDetailModal(false)\n setID(\"\")\n\n }\n\n // add edit button on grid and get data\n useEffect(() => {\n var btnColumn = {}\n btnColumn = {\n name: '',\n sortable: false,\n ignoreRowClick: true,\n center: true,\n minWidth: '50px',\n maxWidth: '50px',\n\n cell: row =>\n <>\n
\n ,\n wrap: false,\n\n }\n\nsetColumns((cols) => {\n return [btnColumn, ...${componentName}Columns]\n})\n get${componentName} ();\n\n }, [edit${componentName}])\n\nreturn (\n <>\n \n
\n
\n
\n \n \n
\n {!searchLoading &&\n
\n {originData.length} {originData.length === 1 ? \"record\" : \"records\"}\n
\n }\n
\n
\n\n
\n \n \n
\n \n \n \n \n \n \n
Create
\n \n downloadCSV(data)}\n color=\"standard-tertiary\" className=\"text-center rounded-pill button-style\" size=\"sm\" caret=\"true\">\n
Export data
\n \n \n
\n
\n
\n {searchLoading ?\n \n :\n
\n \n
\n }\n
\n \n
\n\n\n
\n
\n
\n { showDetailModal && <${componentName} Modal showModalForm={true} page={page}\n closeModal={closeModal}\n ${keyField}={${keyField}} refreshData={refreshData}\n />\n }\n\n \n)\n\n}\n\nexport default ${componentName} `;\n\n\n const reactColumns = `\n\nconst ${componentName}Columns = [\n ${fieldDefinitions.map((field) => {\n const parts = field.formatLanding.split(\";\");\n const visible = parts[0] || \"V\";\n const width = parts[1] || \"150\";\n const format = parts[2] || \"STRING\";\n\n let selector;\n\n switch (format) {\n case \"DMYHMS\":\n selector = `row => {\n return (\n
\n {row.${field.lowerCaseFieldName} !== null &&\n row.${field.lowerCaseFieldName}\n ?.substring(8, 10) +\n \"/\" +\n row.${field.lowerCaseFieldName}\n ?.substring(5, 7) +\n \"/\" +\n row.${field.lowerCaseFieldName}\n ?.substring(0, 4) +\n \" \" +\n row.${field.lowerCaseFieldName}?.substring(11, 19)}\n
\n );\n }`;\n break;\n case \"YMDHMS\":\n selector = `row => {\n return (\n
\n {row.${field.lowerCaseFieldName} !== null &&\n row.${field.lowerCaseFieldName}\n ?.substring(0, 4) +\n \"-\" +\n row.${field.lowerCaseFieldName}\n ?.substring(5, 7) +\n \"-\" +\n row.${field.lowerCaseFieldName}\n ?.substring(8, 10) +\n \" \" +\n row.${field.lowerCaseFieldName}?.substring(11, 19)}\n
\n );\n }`;\n break;\n case \"YMD\":\n selector = `row => {\n return (\n
\n {row.${field.lowerCaseFieldName} !== null &&\n row.${field.lowerCaseFieldName}\n ?.substring(0, 4) +\n \"-\" +\n row.${field.lowerCaseFieldName}\n ?.substring(5, 7) +\n \"-\" +\n row.${field.lowerCaseFieldName}?.substring(8, 10)}\n
\n );\n }`;\n break;\n case \"YM\":\n selector = `row => {\n return (\n
\n {row.${field.lowerCaseFieldName} !== null &&\n row.${field.lowerCaseFieldName}\n ?.substring(0, 4) +\n \"/\" +\n row.${field.lowerCaseFieldName}\n ?.substring(5, 7)}\n
\n );\n }`;\n break;\n default:\n selector = `row => row.${field.lowerCaseFieldName}`;\n // console.log(field.lowerCaseFieldName)\n break;\n }\n\n return `\n {\n name: '${field.fieldDescription}',\n selector: ${selector},\n sortable: true,\n wrap: false,\n allowOverflow: false,\n minWidth: '${width}px',\n maxWidth: '${width}px',\n hide: ${visible === \"H\" ? true : false}\n }`;\n })\n }\n];\n\n\n\nexport default ${componentName} Columns;\n\n`;\n\n const reactEdit = `\nimport '../assets/css/common.css';\nimport React, { useState, useEffect, useRef } from 'react'\nimport base from '../services/baseService';\nimport { Label, Input, Modal, ModalHeader, ModalBody, ModalFooter, Button, Row, Col } from 'reactstrap';\n\nconst ${componentName}Modal = ({ showModalForm, closeModal, page, ${keyField}, refreshData }) => {\n const [showModal, setShowModal] = useState(showModalForm);\n var dataURL = useRef(\"\");\n ${fieldDefinitions\n .filter(field => !formFieldsToIgnore.includes(field.fieldName.toUpperCase()))\n .map(field => `const [${field.lowerCaseFieldName}, set${field.fieldName}] = useState(\"\")`).join('\\n ')\n }\n\n\n\n const toggleModal = () => {\n setShowModal(showModalForm => !showModalForm);\n closeModal()\n }\n\n const handleChange = (event) => {\n const fieldValue = event.target.value;\n switch (event.target.name) {\n ${fieldDefinitions\n .filter(field => !formFieldsToIgnore.includes(field.fieldName.toUpperCase()))\n .map(field => `\n case \"${field.lowerCaseFieldName}\":\n set${field.fieldName}(fieldValue);\n break;\n `).join('')\n }\n default:\nbreak;\n }\n }\n\nuseEffect(() => {\n dataURL.current = \"${apiName}/qry\"\n\n if (dataURL?.current) {\n\n dataURL.current = dataURL.current + \"/\" + ${keyField}\n base.getAll(dataURL.current).then((res) => {\n if (page === \"edit\") {\n\n ${fieldDefinitions\n .filter(field => !formFieldsToIgnore.includes(field.fieldName.toUpperCase()))\n .map(field =>\n `set${field.fieldName}(res[0]?.${field.lowerCaseFieldName});`\n ).join('\\n ')\n }\n }\n })\n };\n\n}, [ID, page]);\n\nconst updateRecord = () => {\n\n var updatedRecord = {\n ${fieldDefinitions\n .filter(field => !fieldsToIgnore.includes(field.fieldName.toUpperCase()))\n .map(field =>\n `\"${field.lowerCaseFieldName}\" : ${field.lowerCaseFieldName},`\n ).join('\\n ')}\n\n }\nbase.update(\"${apiName}/upd/\" + ${keyField}, updatedRecord).then((res) => {\n setShowModal(showModalForm => !showModalForm);\n closeModal()\n refreshData();\n});\n \n }\n\nconst createRecord = () => {\n\n var newRecord = {\n ${fieldDefinitions\n .filter(field => !fieldsToIgnore.includes(field.fieldName.toUpperCase()))\n .map(field =>\n `\"${field.lowerCaseFieldName}\" : ${field.lowerCaseFieldName},`\n ).join('\\n ')}\n\n }\n\nbase.add(\"${apiName}/add\", newRecord).then((res) => {\n setShowModal(showModalForm => !showModalForm);\n closeModal()\n refreshData()\n});\n\n \n }\n\nreturn (\n <>\n \n \n \n \n
${componentName}
\n \n
\n
\n \n
\n\n
\n \n ${fieldDefinitions\n .map((field) => {\n const parts = field.formatModal.split(\";\");\n // console.log(parts, field.fieldDescription);\n const visible = parts[0] || \"V\";\n const width = parts[1] || \"4\";\n // const format = parts[2] || \"STRING\";\n const type = parts[3] || \"text\";\n\n if (visible === \"V\") {\n const fieldElement = `\n \n \n \n \n \n \n `;\n return fieldElement;\n } else {\n return \"\";\n }\n })\n .join('\\n')\n }\n\n \n
\n
\n
\n \n <>\n \n \n \n \n
\n\n \n\n\n);\n}\n\n\nexport default ${componentName} Modal;\n\n`;\n // Set the generated C# methods in state\n setGeneratedCSharpMethods(cSharpMethodCode);\n\n // Set the generated code in state\n setGeneratedCSharpModel(cSharpModelCode);\n setGeneratedReactLanding(reactLanding);\n setGeneratedReactColumns(reactColumns);\n setGeneratedReactEdit(reactEdit);\n setGeneratedJSON(jsonCode);\n } catch (error) {\n console.error(error);\n }\n };\n\n const sqlToCSharpType = (sqlType) => {\n // You can extend this mapping as needed\n if (sqlType === 'varchar') return 'string';\n if (sqlType === 'nvarchar') return 'string';\n if (sqlType === 'int') return 'int';\n if (sqlType === 'datetime') return 'DateTime';\n if (sqlType === 'decimal') return 'decimal';\n return 'UnknownType';\n };\n\n const downloadFile = (content, filename) => {\n const element = document.createElement('a');\n element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(content));\n element.setAttribute('download', filename);\n element.style.display = 'none';\n document.body.appendChild(element);\n element.click();\n document.body.removeChild(element);\n };\n\n return (\n <>\n \n \n \n   \n Code Generator\n \n \n \n
\n \n \n \n \n \n \n \n copyToClipboard(tableSQL)} style={{ cursor: \"pointer\" }}>\n \n \n \n Table SQL \n \n \n \n \n \n\n \n \n \n \n copyToClipboard(viewSQL)} style={{ cursor: \"pointer\" }}>\n \n \n \n View SQL \n \n \n \n \n \n\n \n \n \n\n\n \n \n \n \n \n {/*
\n Table Name  |  Field Name  |  Field Type  |  Field Length  |  Field Description  |  Format Landing  |  Format Modal  |  Key Field\n
*/}\n handleChange(event)}\n\n // value={sqlScript}\n // onChange={(event) => {\n // const updatedValues = [...inputValues];\n // updatedValues[index] = event.target.value;\n // setInputValues(updatedValues);\n // }}\n // onPaste={(event) => handlePaste(event)}\n placeholder=\"Enter SQL ouptut here\"\n maxxlength={5000}\n style={{ fontFamily: \"monospace\", height: \"350px\", fontSize: \"13px\", tabSize: \"20\" }}\n\n >\n {/* {inputValues.map((value, index) => (\n {\n const updatedValues = [...inputValues];\n updatedValues[index] = event.target.value;\n setInputValues(updatedValues);\n }}\n onPaste={(event) => handlePaste(event, index)}\n />\n ))} */}\n \n \n\n setTableToUpdate(e.target.value)}\n placeholder=\"Table to update\"\n maxxlength={100}\n >\n \n
\n \n\n\n
\n\n \n\n \n\n\n \n {generatedCSharpModel !== \"\" &&\n
\n .NET\n
\n }\n \n {generatedCSharpModel !== \"\" &&\n\n \n\n
\n downloadFile(generatedCSharpModel, `${tableFile}_CSharpModel.txt`)}>\n \n \n \n C# model\n \n \n \n \n \n \n\n \n\n\n
\n \n }\n {generatedCSharpMethods !== \"\" &&\n \n
\n downloadFile(generatedCSharpMethods, `${tableFile}_CSharpMethods.txt`)}>\n \n \n \n C# methods\n \n \n \n \n \n \n\n \n\n\n
\n \n }\n
\n \n\n \n {generatedReactColumns !== \"\" &&\n
\n ReactJS\n
\n }\n\n \n\n\n {generatedReactLanding !== \"\" &&\n\n \n\n
\n\n downloadFile(generatedReactLanding, `${tableFile}.js`)}>\n \n \n \n Landing\n \n \n \n \n \n \n \n
\n \n }\n {generatedReactColumns !== \"\" &&\n \n
\n\n downloadFile(generatedReactColumns, `${tableFile}Columns.js`)}>\n \n \n \n Grid\n \n \n \n \n \n \n \n
\n \n }\n {generatedReactEdit !== \"\" &&\n \n
\n\n downloadFile(generatedReactEdit, `${tableFile}Modal.js`)}>\n \n \n \n Modal\n \n \n \n \n \n \n \n
\n \n }\n\n
\n \n \n {generatedJSON !== \"\" &&\n
\n JSON SQL\n
\n }\n \n {generatedJSON !== \"\" &&\n\n \n\n
\n downloadFile(generatedJSON, `${tableFile}_JSON.txt`)}>\n \n \n \n POST / PUT\n \n \n \n \n \n \n\n \n\n\n
\n \n }\n\n
\n \n
\n\n {generatedCSharpModel !== \"\" &&\n \n }\n
\n\n \n
\n
\n\n\n \n );\n}\n\n\nexport default CodeGenerator;\n","var _polygon, _path;\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgFreeagentMark(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 175 167.9\",\n enableBackground: \"new 0 0 175 167.9\",\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _polygon || (_polygon = /*#__PURE__*/React.createElement(\"polygon\", {\n fill: \"#77BC1F\",\n points: \"125.8,43.5 111.4,82.6 125.3,117.7 98.5,117.7 88.4,144.7 135.8,144.7 145.2,167.9 175,167.9 \"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#007ABF\",\n d: \"M139.1,1.1C112-4.2,98.6,10.3,94,22.2c-0.9,2.3-2.1,5.4-8.4,22c-5.1-56-58.2-3.3-84.5-32.7 c-4.1,25.4,5,28.4,5,28.4c-2,8.2,6,17.2,12.6,16c5.9,27.4,63.5-12.1,49.9,32.6c-13,34-30.2,79.2-30.2,79.2h32.4 c0,0,45-120.6,47.6-126.2c3.5-7.5,14.7-10.4,23.7-4.1l11.6-32.1C147.6,3,142.8,1.9,139.1,1.1z M72.3,58.3 C62,43.5,35.9,64.5,30.3,47.8c-6.6,1.4-9-6.2-7.4-8.9c0,0-5.5-0.9-4.9-8.7C37.9,43.4,76.4,10.2,72.3,58.3z\"\n })));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgFreeagentMark);\nexport default __webpack_public_path__ + \"static/media/freeagent-mark.c59d0b0a591dddbfaa1ab7e2e05e4fab.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _g;\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgInvoice(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 96,\n height: 96,\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n overflow: \"hidden\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: 414,\n y: 105,\n width: 96,\n height: 96\n })))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0)\",\n transform: \"translate(-414 -105)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M437 187 437 119 462 119 462 140 487 140 487 187 437 187ZM468 121.5 480.5 134 468 134 468 121.5ZM468 113 431 113 431 193 493 193 493 135 468 113Z\",\n stroke: \"#808080\",\n strokeWidth: 2,\n fill: \"#808080\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M443 150 481 150 481 154 443 154Z\",\n stroke: \"#808080\",\n strokeWidth: 2,\n fill: \"#808080\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M443 142 456 142 456 146 443 146Z\",\n stroke: \"#808080\",\n strokeWidth: 2,\n fill: \"#808080\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M443 158 481 158 481 162 443 162Z\",\n stroke: \"#808080\",\n strokeWidth: 2,\n fill: \"#808080\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M443 166 481 166 481 170 443 170Z\",\n stroke: \"#808080\",\n strokeWidth: 2,\n fill: \"#808080\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M443 174 481 174 481 178 443 178Z\",\n stroke: \"#808080\",\n strokeWidth: 2,\n fill: \"#808080\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgInvoice);\nexport default __webpack_public_path__ + \"static/media/invoice.c594f561a6d230fa78aff372f6708019.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _g;\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgRefresh(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 96,\n height: 96,\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n overflow: \"hidden\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: 255,\n y: 118,\n width: 96,\n height: 96\n })))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0)\",\n transform: \"translate(-255 -118)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M275.9 175.6 295.1 156.4 284.4 156.4C287.9 149.6 295 144.9 303.2 144.9 308.5 144.9 313.4 146.9 317.1 150.2L336.6 150.2C330.7 137.6 317.9 129 303.2 129 286.1 129 271.7 140.6 267.5 156.4L256.7 156.4 275.9 175.6Z\",\n fill: \"#808080\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M349.6 175.6 330.4 156.4 311.2 175.6 322 175.6C318.5 182.4 311.4 187.1 303.2 187.1 297.9 187.1 293 185.1 289.3 181.8L269.7 181.8C275.7 194.4 288.4 203 303.2 203 320.3 203 334.7 191.4 338.9 175.6L349.6 175.6Z\",\n fill: \"#808080\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgRefresh);\nexport default __webpack_public_path__ + \"static/media/refresh.45c632a151075b21fcc55dc937f4665d.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _g;\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport * as React from \"react\";\nfunction SvgCheckOutline(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 120,\n height: 120,\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n overflow: \"hidden\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: 376,\n y: 123,\n width: 150,\n height: 150\n })))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0)\",\n transform: \"translate(-376 -123)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M402.25 149.25 402.25 216.75 469.75 216.75 469.75 149.25ZM462.25 209.25 409.75 209.25 409.75 156.75 462.25 156.75Z\",\n stroke: \"#808080\",\n strokeWidth: 3.75,\n fill: \"#808080\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M458.055 169.997 452.805 164.641 429.264 187.71 419.251 177.697 413.948 183 429.21 198.262 458.055 169.997Z\",\n stroke: \"#808080\",\n strokeWidth: 3.75,\n fill: \"#808080\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgCheckOutline);\nexport default __webpack_public_path__ + \"static/media/check_outline.7bc7d4419847a0d66d205a0c48db1f7d.svg\";\nexport { ForwardRef as ReactComponent };","import { Button, Modal, ModalFooter, ModalBody } from \"reactstrap\";\n\nconst ConfirmToast = (props) => {\n const defaultClassName =\n \"toast-popup-dim modal-dialog-centered notransform modal-dialog\";\n\n const customClassName = props.className\n ? `${defaultClassName} ${props.className}`\n : defaultClassName;\n return (\n <>\n {props.show && (\n
\n \n \n
\n \n {props.Message}\n

\n
\n \n\n \n\n \n Yes\n \n \n No\n \n \n \n\n {/*
\n
*/}\n
\n )}\n \n );\n};\n\nexport default ConfirmToast;\n","/*!\n * Chart.js v3.7.1\n * https://www.chartjs.org\n * (c) 2022 Chart.js Contributors\n * Released under the MIT License\n */\nfunction fontString(pixelSize, fontStyle, fontFamily) {\n return fontStyle + ' ' + pixelSize + 'px ' + fontFamily;\n}\nconst requestAnimFrame = (function() {\n if (typeof window === 'undefined') {\n return function(callback) {\n return callback();\n };\n }\n return window.requestAnimationFrame;\n}());\nfunction throttled(fn, thisArg, updateFn) {\n const updateArgs = updateFn || ((args) => Array.prototype.slice.call(args));\n let ticking = false;\n let args = [];\n return function(...rest) {\n args = updateArgs(rest);\n if (!ticking) {\n ticking = true;\n requestAnimFrame.call(window, () => {\n ticking = false;\n fn.apply(thisArg, args);\n });\n }\n };\n}\nfunction debounce(fn, delay) {\n let timeout;\n return function(...args) {\n if (delay) {\n clearTimeout(timeout);\n timeout = setTimeout(fn, delay, args);\n } else {\n fn.apply(this, args);\n }\n return delay;\n };\n}\nconst _toLeftRightCenter = (align) => align === 'start' ? 'left' : align === 'end' ? 'right' : 'center';\nconst _alignStartEnd = (align, start, end) => align === 'start' ? start : align === 'end' ? end : (start + end) / 2;\nconst _textX = (align, left, right, rtl) => {\n const check = rtl ? 'left' : 'right';\n return align === check ? right : align === 'center' ? (left + right) / 2 : left;\n};\n\nfunction noop() {}\nconst uid = (function() {\n let id = 0;\n return function() {\n return id++;\n };\n}());\nfunction isNullOrUndef(value) {\n return value === null || typeof value === 'undefined';\n}\nfunction isArray(value) {\n if (Array.isArray && Array.isArray(value)) {\n return true;\n }\n const type = Object.prototype.toString.call(value);\n if (type.substr(0, 7) === '[object' && type.substr(-6) === 'Array]') {\n return true;\n }\n return false;\n}\nfunction isObject(value) {\n return value !== null && Object.prototype.toString.call(value) === '[object Object]';\n}\nconst isNumberFinite = (value) => (typeof value === 'number' || value instanceof Number) && isFinite(+value);\nfunction finiteOrDefault(value, defaultValue) {\n return isNumberFinite(value) ? value : defaultValue;\n}\nfunction valueOrDefault(value, defaultValue) {\n return typeof value === 'undefined' ? defaultValue : value;\n}\nconst toPercentage = (value, dimension) =>\n typeof value === 'string' && value.endsWith('%') ?\n parseFloat(value) / 100\n : value / dimension;\nconst toDimension = (value, dimension) =>\n typeof value === 'string' && value.endsWith('%') ?\n parseFloat(value) / 100 * dimension\n : +value;\nfunction callback(fn, args, thisArg) {\n if (fn && typeof fn.call === 'function') {\n return fn.apply(thisArg, args);\n }\n}\nfunction each(loopable, fn, thisArg, reverse) {\n let i, len, keys;\n if (isArray(loopable)) {\n len = loopable.length;\n if (reverse) {\n for (i = len - 1; i >= 0; i--) {\n fn.call(thisArg, loopable[i], i);\n }\n } else {\n for (i = 0; i < len; i++) {\n fn.call(thisArg, loopable[i], i);\n }\n }\n } else if (isObject(loopable)) {\n keys = Object.keys(loopable);\n len = keys.length;\n for (i = 0; i < len; i++) {\n fn.call(thisArg, loopable[keys[i]], keys[i]);\n }\n }\n}\nfunction _elementsEqual(a0, a1) {\n let i, ilen, v0, v1;\n if (!a0 || !a1 || a0.length !== a1.length) {\n return false;\n }\n for (i = 0, ilen = a0.length; i < ilen; ++i) {\n v0 = a0[i];\n v1 = a1[i];\n if (v0.datasetIndex !== v1.datasetIndex || v0.index !== v1.index) {\n return false;\n }\n }\n return true;\n}\nfunction clone$1(source) {\n if (isArray(source)) {\n return source.map(clone$1);\n }\n if (isObject(source)) {\n const target = Object.create(null);\n const keys = Object.keys(source);\n const klen = keys.length;\n let k = 0;\n for (; k < klen; ++k) {\n target[keys[k]] = clone$1(source[keys[k]]);\n }\n return target;\n }\n return source;\n}\nfunction isValidKey(key) {\n return ['__proto__', 'prototype', 'constructor'].indexOf(key) === -1;\n}\nfunction _merger(key, target, source, options) {\n if (!isValidKey(key)) {\n return;\n }\n const tval = target[key];\n const sval = source[key];\n if (isObject(tval) && isObject(sval)) {\n merge(tval, sval, options);\n } else {\n target[key] = clone$1(sval);\n }\n}\nfunction merge(target, source, options) {\n const sources = isArray(source) ? source : [source];\n const ilen = sources.length;\n if (!isObject(target)) {\n return target;\n }\n options = options || {};\n const merger = options.merger || _merger;\n for (let i = 0; i < ilen; ++i) {\n source = sources[i];\n if (!isObject(source)) {\n continue;\n }\n const keys = Object.keys(source);\n for (let k = 0, klen = keys.length; k < klen; ++k) {\n merger(keys[k], target, source, options);\n }\n }\n return target;\n}\nfunction mergeIf(target, source) {\n return merge(target, source, {merger: _mergerIf});\n}\nfunction _mergerIf(key, target, source) {\n if (!isValidKey(key)) {\n return;\n }\n const tval = target[key];\n const sval = source[key];\n if (isObject(tval) && isObject(sval)) {\n mergeIf(tval, sval);\n } else if (!Object.prototype.hasOwnProperty.call(target, key)) {\n target[key] = clone$1(sval);\n }\n}\nfunction _deprecated(scope, value, previous, current) {\n if (value !== undefined) {\n console.warn(scope + ': \"' + previous +\n\t\t\t'\" is deprecated. Please use \"' + current + '\" instead');\n }\n}\nconst emptyString = '';\nconst dot = '.';\nfunction indexOfDotOrLength(key, start) {\n const idx = key.indexOf(dot, start);\n return idx === -1 ? key.length : idx;\n}\nfunction resolveObjectKey(obj, key) {\n if (key === emptyString) {\n return obj;\n }\n let pos = 0;\n let idx = indexOfDotOrLength(key, pos);\n while (obj && idx > pos) {\n obj = obj[key.substr(pos, idx - pos)];\n pos = idx + 1;\n idx = indexOfDotOrLength(key, pos);\n }\n return obj;\n}\nfunction _capitalize(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\nconst defined = (value) => typeof value !== 'undefined';\nconst isFunction = (value) => typeof value === 'function';\nconst setsEqual = (a, b) => {\n if (a.size !== b.size) {\n return false;\n }\n for (const item of a) {\n if (!b.has(item)) {\n return false;\n }\n }\n return true;\n};\nfunction _isClickEvent(e) {\n return e.type === 'mouseup' || e.type === 'click' || e.type === 'contextmenu';\n}\n\nconst PI = Math.PI;\nconst TAU = 2 * PI;\nconst PITAU = TAU + PI;\nconst INFINITY = Number.POSITIVE_INFINITY;\nconst RAD_PER_DEG = PI / 180;\nconst HALF_PI = PI / 2;\nconst QUARTER_PI = PI / 4;\nconst TWO_THIRDS_PI = PI * 2 / 3;\nconst log10 = Math.log10;\nconst sign = Math.sign;\nfunction niceNum(range) {\n const roundedRange = Math.round(range);\n range = almostEquals(range, roundedRange, range / 1000) ? roundedRange : range;\n const niceRange = Math.pow(10, Math.floor(log10(range)));\n const fraction = range / niceRange;\n const niceFraction = fraction <= 1 ? 1 : fraction <= 2 ? 2 : fraction <= 5 ? 5 : 10;\n return niceFraction * niceRange;\n}\nfunction _factorize(value) {\n const result = [];\n const sqrt = Math.sqrt(value);\n let i;\n for (i = 1; i < sqrt; i++) {\n if (value % i === 0) {\n result.push(i);\n result.push(value / i);\n }\n }\n if (sqrt === (sqrt | 0)) {\n result.push(sqrt);\n }\n result.sort((a, b) => a - b).pop();\n return result;\n}\nfunction isNumber(n) {\n return !isNaN(parseFloat(n)) && isFinite(n);\n}\nfunction almostEquals(x, y, epsilon) {\n return Math.abs(x - y) < epsilon;\n}\nfunction almostWhole(x, epsilon) {\n const rounded = Math.round(x);\n return ((rounded - epsilon) <= x) && ((rounded + epsilon) >= x);\n}\nfunction _setMinAndMaxByKey(array, target, property) {\n let i, ilen, value;\n for (i = 0, ilen = array.length; i < ilen; i++) {\n value = array[i][property];\n if (!isNaN(value)) {\n target.min = Math.min(target.min, value);\n target.max = Math.max(target.max, value);\n }\n }\n}\nfunction toRadians(degrees) {\n return degrees * (PI / 180);\n}\nfunction toDegrees(radians) {\n return radians * (180 / PI);\n}\nfunction _decimalPlaces(x) {\n if (!isNumberFinite(x)) {\n return;\n }\n let e = 1;\n let p = 0;\n while (Math.round(x * e) / e !== x) {\n e *= 10;\n p++;\n }\n return p;\n}\nfunction getAngleFromPoint(centrePoint, anglePoint) {\n const distanceFromXCenter = anglePoint.x - centrePoint.x;\n const distanceFromYCenter = anglePoint.y - centrePoint.y;\n const radialDistanceFromCenter = Math.sqrt(distanceFromXCenter * distanceFromXCenter + distanceFromYCenter * distanceFromYCenter);\n let angle = Math.atan2(distanceFromYCenter, distanceFromXCenter);\n if (angle < (-0.5 * PI)) {\n angle += TAU;\n }\n return {\n angle,\n distance: radialDistanceFromCenter\n };\n}\nfunction distanceBetweenPoints(pt1, pt2) {\n return Math.sqrt(Math.pow(pt2.x - pt1.x, 2) + Math.pow(pt2.y - pt1.y, 2));\n}\nfunction _angleDiff(a, b) {\n return (a - b + PITAU) % TAU - PI;\n}\nfunction _normalizeAngle(a) {\n return (a % TAU + TAU) % TAU;\n}\nfunction _angleBetween(angle, start, end, sameAngleIsFullCircle) {\n const a = _normalizeAngle(angle);\n const s = _normalizeAngle(start);\n const e = _normalizeAngle(end);\n const angleToStart = _normalizeAngle(s - a);\n const angleToEnd = _normalizeAngle(e - a);\n const startToAngle = _normalizeAngle(a - s);\n const endToAngle = _normalizeAngle(a - e);\n return a === s || a === e || (sameAngleIsFullCircle && s === e)\n || (angleToStart > angleToEnd && startToAngle < endToAngle);\n}\nfunction _limitValue(value, min, max) {\n return Math.max(min, Math.min(max, value));\n}\nfunction _int16Range(value) {\n return _limitValue(value, -32768, 32767);\n}\nfunction _isBetween(value, start, end, epsilon = 1e-6) {\n return value >= Math.min(start, end) - epsilon && value <= Math.max(start, end) + epsilon;\n}\n\nconst atEdge = (t) => t === 0 || t === 1;\nconst elasticIn = (t, s, p) => -(Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * TAU / p));\nconst elasticOut = (t, s, p) => Math.pow(2, -10 * t) * Math.sin((t - s) * TAU / p) + 1;\nconst effects = {\n linear: t => t,\n easeInQuad: t => t * t,\n easeOutQuad: t => -t * (t - 2),\n easeInOutQuad: t => ((t /= 0.5) < 1)\n ? 0.5 * t * t\n : -0.5 * ((--t) * (t - 2) - 1),\n easeInCubic: t => t * t * t,\n easeOutCubic: t => (t -= 1) * t * t + 1,\n easeInOutCubic: t => ((t /= 0.5) < 1)\n ? 0.5 * t * t * t\n : 0.5 * ((t -= 2) * t * t + 2),\n easeInQuart: t => t * t * t * t,\n easeOutQuart: t => -((t -= 1) * t * t * t - 1),\n easeInOutQuart: t => ((t /= 0.5) < 1)\n ? 0.5 * t * t * t * t\n : -0.5 * ((t -= 2) * t * t * t - 2),\n easeInQuint: t => t * t * t * t * t,\n easeOutQuint: t => (t -= 1) * t * t * t * t + 1,\n easeInOutQuint: t => ((t /= 0.5) < 1)\n ? 0.5 * t * t * t * t * t\n : 0.5 * ((t -= 2) * t * t * t * t + 2),\n easeInSine: t => -Math.cos(t * HALF_PI) + 1,\n easeOutSine: t => Math.sin(t * HALF_PI),\n easeInOutSine: t => -0.5 * (Math.cos(PI * t) - 1),\n easeInExpo: t => (t === 0) ? 0 : Math.pow(2, 10 * (t - 1)),\n easeOutExpo: t => (t === 1) ? 1 : -Math.pow(2, -10 * t) + 1,\n easeInOutExpo: t => atEdge(t) ? t : t < 0.5\n ? 0.5 * Math.pow(2, 10 * (t * 2 - 1))\n : 0.5 * (-Math.pow(2, -10 * (t * 2 - 1)) + 2),\n easeInCirc: t => (t >= 1) ? t : -(Math.sqrt(1 - t * t) - 1),\n easeOutCirc: t => Math.sqrt(1 - (t -= 1) * t),\n easeInOutCirc: t => ((t /= 0.5) < 1)\n ? -0.5 * (Math.sqrt(1 - t * t) - 1)\n : 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1),\n easeInElastic: t => atEdge(t) ? t : elasticIn(t, 0.075, 0.3),\n easeOutElastic: t => atEdge(t) ? t : elasticOut(t, 0.075, 0.3),\n easeInOutElastic(t) {\n const s = 0.1125;\n const p = 0.45;\n return atEdge(t) ? t :\n t < 0.5\n ? 0.5 * elasticIn(t * 2, s, p)\n : 0.5 + 0.5 * elasticOut(t * 2 - 1, s, p);\n },\n easeInBack(t) {\n const s = 1.70158;\n return t * t * ((s + 1) * t - s);\n },\n easeOutBack(t) {\n const s = 1.70158;\n return (t -= 1) * t * ((s + 1) * t + s) + 1;\n },\n easeInOutBack(t) {\n let s = 1.70158;\n if ((t /= 0.5) < 1) {\n return 0.5 * (t * t * (((s *= (1.525)) + 1) * t - s));\n }\n return 0.5 * ((t -= 2) * t * (((s *= (1.525)) + 1) * t + s) + 2);\n },\n easeInBounce: t => 1 - effects.easeOutBounce(1 - t),\n easeOutBounce(t) {\n const m = 7.5625;\n const d = 2.75;\n if (t < (1 / d)) {\n return m * t * t;\n }\n if (t < (2 / d)) {\n return m * (t -= (1.5 / d)) * t + 0.75;\n }\n if (t < (2.5 / d)) {\n return m * (t -= (2.25 / d)) * t + 0.9375;\n }\n return m * (t -= (2.625 / d)) * t + 0.984375;\n },\n easeInOutBounce: t => (t < 0.5)\n ? effects.easeInBounce(t * 2) * 0.5\n : effects.easeOutBounce(t * 2 - 1) * 0.5 + 0.5,\n};\n\n/*!\n * @kurkle/color v0.1.9\n * https://github.com/kurkle/color#readme\n * (c) 2020 Jukka Kurkela\n * Released under the MIT License\n */\nconst map = {0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9, A: 10, B: 11, C: 12, D: 13, E: 14, F: 15, a: 10, b: 11, c: 12, d: 13, e: 14, f: 15};\nconst hex = '0123456789ABCDEF';\nconst h1 = (b) => hex[b & 0xF];\nconst h2 = (b) => hex[(b & 0xF0) >> 4] + hex[b & 0xF];\nconst eq = (b) => (((b & 0xF0) >> 4) === (b & 0xF));\nfunction isShort(v) {\n\treturn eq(v.r) && eq(v.g) && eq(v.b) && eq(v.a);\n}\nfunction hexParse(str) {\n\tvar len = str.length;\n\tvar ret;\n\tif (str[0] === '#') {\n\t\tif (len === 4 || len === 5) {\n\t\t\tret = {\n\t\t\t\tr: 255 & map[str[1]] * 17,\n\t\t\t\tg: 255 & map[str[2]] * 17,\n\t\t\t\tb: 255 & map[str[3]] * 17,\n\t\t\t\ta: len === 5 ? map[str[4]] * 17 : 255\n\t\t\t};\n\t\t} else if (len === 7 || len === 9) {\n\t\t\tret = {\n\t\t\t\tr: map[str[1]] << 4 | map[str[2]],\n\t\t\t\tg: map[str[3]] << 4 | map[str[4]],\n\t\t\t\tb: map[str[5]] << 4 | map[str[6]],\n\t\t\t\ta: len === 9 ? (map[str[7]] << 4 | map[str[8]]) : 255\n\t\t\t};\n\t\t}\n\t}\n\treturn ret;\n}\nfunction hexString(v) {\n\tvar f = isShort(v) ? h1 : h2;\n\treturn v\n\t\t? '#' + f(v.r) + f(v.g) + f(v.b) + (v.a < 255 ? f(v.a) : '')\n\t\t: v;\n}\nfunction round(v) {\n\treturn v + 0.5 | 0;\n}\nconst lim = (v, l, h) => Math.max(Math.min(v, h), l);\nfunction p2b(v) {\n\treturn lim(round(v * 2.55), 0, 255);\n}\nfunction n2b(v) {\n\treturn lim(round(v * 255), 0, 255);\n}\nfunction b2n(v) {\n\treturn lim(round(v / 2.55) / 100, 0, 1);\n}\nfunction n2p(v) {\n\treturn lim(round(v * 100), 0, 100);\n}\nconst RGB_RE = /^rgba?\\(\\s*([-+.\\d]+)(%)?[\\s,]+([-+.e\\d]+)(%)?[\\s,]+([-+.e\\d]+)(%)?(?:[\\s,/]+([-+.e\\d]+)(%)?)?\\s*\\)$/;\nfunction rgbParse(str) {\n\tconst m = RGB_RE.exec(str);\n\tlet a = 255;\n\tlet r, g, b;\n\tif (!m) {\n\t\treturn;\n\t}\n\tif (m[7] !== r) {\n\t\tconst v = +m[7];\n\t\ta = 255 & (m[8] ? p2b(v) : v * 255);\n\t}\n\tr = +m[1];\n\tg = +m[3];\n\tb = +m[5];\n\tr = 255 & (m[2] ? p2b(r) : r);\n\tg = 255 & (m[4] ? p2b(g) : g);\n\tb = 255 & (m[6] ? p2b(b) : b);\n\treturn {\n\t\tr: r,\n\t\tg: g,\n\t\tb: b,\n\t\ta: a\n\t};\n}\nfunction rgbString(v) {\n\treturn v && (\n\t\tv.a < 255\n\t\t\t? `rgba(${v.r}, ${v.g}, ${v.b}, ${b2n(v.a)})`\n\t\t\t: `rgb(${v.r}, ${v.g}, ${v.b})`\n\t);\n}\nconst HUE_RE = /^(hsla?|hwb|hsv)\\(\\s*([-+.e\\d]+)(?:deg)?[\\s,]+([-+.e\\d]+)%[\\s,]+([-+.e\\d]+)%(?:[\\s,]+([-+.e\\d]+)(%)?)?\\s*\\)$/;\nfunction hsl2rgbn(h, s, l) {\n\tconst a = s * Math.min(l, 1 - l);\n\tconst f = (n, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n\treturn [f(0), f(8), f(4)];\n}\nfunction hsv2rgbn(h, s, v) {\n\tconst f = (n, k = (n + h / 60) % 6) => v - v * s * Math.max(Math.min(k, 4 - k, 1), 0);\n\treturn [f(5), f(3), f(1)];\n}\nfunction hwb2rgbn(h, w, b) {\n\tconst rgb = hsl2rgbn(h, 1, 0.5);\n\tlet i;\n\tif (w + b > 1) {\n\t\ti = 1 / (w + b);\n\t\tw *= i;\n\t\tb *= i;\n\t}\n\tfor (i = 0; i < 3; i++) {\n\t\trgb[i] *= 1 - w - b;\n\t\trgb[i] += w;\n\t}\n\treturn rgb;\n}\nfunction rgb2hsl(v) {\n\tconst range = 255;\n\tconst r = v.r / range;\n\tconst g = v.g / range;\n\tconst b = v.b / range;\n\tconst max = Math.max(r, g, b);\n\tconst min = Math.min(r, g, b);\n\tconst l = (max + min) / 2;\n\tlet h, s, d;\n\tif (max !== min) {\n\t\td = max - min;\n\t\ts = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n\t\th = max === r\n\t\t\t? ((g - b) / d) + (g < b ? 6 : 0)\n\t\t\t: max === g\n\t\t\t\t? (b - r) / d + 2\n\t\t\t\t: (r - g) / d + 4;\n\t\th = h * 60 + 0.5;\n\t}\n\treturn [h | 0, s || 0, l];\n}\nfunction calln(f, a, b, c) {\n\treturn (\n\t\tArray.isArray(a)\n\t\t\t? f(a[0], a[1], a[2])\n\t\t\t: f(a, b, c)\n\t).map(n2b);\n}\nfunction hsl2rgb(h, s, l) {\n\treturn calln(hsl2rgbn, h, s, l);\n}\nfunction hwb2rgb(h, w, b) {\n\treturn calln(hwb2rgbn, h, w, b);\n}\nfunction hsv2rgb(h, s, v) {\n\treturn calln(hsv2rgbn, h, s, v);\n}\nfunction hue(h) {\n\treturn (h % 360 + 360) % 360;\n}\nfunction hueParse(str) {\n\tconst m = HUE_RE.exec(str);\n\tlet a = 255;\n\tlet v;\n\tif (!m) {\n\t\treturn;\n\t}\n\tif (m[5] !== v) {\n\t\ta = m[6] ? p2b(+m[5]) : n2b(+m[5]);\n\t}\n\tconst h = hue(+m[2]);\n\tconst p1 = +m[3] / 100;\n\tconst p2 = +m[4] / 100;\n\tif (m[1] === 'hwb') {\n\t\tv = hwb2rgb(h, p1, p2);\n\t} else if (m[1] === 'hsv') {\n\t\tv = hsv2rgb(h, p1, p2);\n\t} else {\n\t\tv = hsl2rgb(h, p1, p2);\n\t}\n\treturn {\n\t\tr: v[0],\n\t\tg: v[1],\n\t\tb: v[2],\n\t\ta: a\n\t};\n}\nfunction rotate(v, deg) {\n\tvar h = rgb2hsl(v);\n\th[0] = hue(h[0] + deg);\n\th = hsl2rgb(h);\n\tv.r = h[0];\n\tv.g = h[1];\n\tv.b = h[2];\n}\nfunction hslString(v) {\n\tif (!v) {\n\t\treturn;\n\t}\n\tconst a = rgb2hsl(v);\n\tconst h = a[0];\n\tconst s = n2p(a[1]);\n\tconst l = n2p(a[2]);\n\treturn v.a < 255\n\t\t? `hsla(${h}, ${s}%, ${l}%, ${b2n(v.a)})`\n\t\t: `hsl(${h}, ${s}%, ${l}%)`;\n}\nconst map$1 = {\n\tx: 'dark',\n\tZ: 'light',\n\tY: 're',\n\tX: 'blu',\n\tW: 'gr',\n\tV: 'medium',\n\tU: 'slate',\n\tA: 'ee',\n\tT: 'ol',\n\tS: 'or',\n\tB: 'ra',\n\tC: 'lateg',\n\tD: 'ights',\n\tR: 'in',\n\tQ: 'turquois',\n\tE: 'hi',\n\tP: 'ro',\n\tO: 'al',\n\tN: 'le',\n\tM: 'de',\n\tL: 'yello',\n\tF: 'en',\n\tK: 'ch',\n\tG: 'arks',\n\tH: 'ea',\n\tI: 'ightg',\n\tJ: 'wh'\n};\nconst names = {\n\tOiceXe: 'f0f8ff',\n\tantiquewEte: 'faebd7',\n\taqua: 'ffff',\n\taquamarRe: '7fffd4',\n\tazuY: 'f0ffff',\n\tbeige: 'f5f5dc',\n\tbisque: 'ffe4c4',\n\tblack: '0',\n\tblanKedOmond: 'ffebcd',\n\tXe: 'ff',\n\tXeviTet: '8a2be2',\n\tbPwn: 'a52a2a',\n\tburlywood: 'deb887',\n\tcaMtXe: '5f9ea0',\n\tKartYuse: '7fff00',\n\tKocTate: 'd2691e',\n\tcSO: 'ff7f50',\n\tcSnflowerXe: '6495ed',\n\tcSnsilk: 'fff8dc',\n\tcrimson: 'dc143c',\n\tcyan: 'ffff',\n\txXe: '8b',\n\txcyan: '8b8b',\n\txgTMnPd: 'b8860b',\n\txWay: 'a9a9a9',\n\txgYF: '6400',\n\txgYy: 'a9a9a9',\n\txkhaki: 'bdb76b',\n\txmagFta: '8b008b',\n\txTivegYF: '556b2f',\n\txSange: 'ff8c00',\n\txScEd: '9932cc',\n\txYd: '8b0000',\n\txsOmon: 'e9967a',\n\txsHgYF: '8fbc8f',\n\txUXe: '483d8b',\n\txUWay: '2f4f4f',\n\txUgYy: '2f4f4f',\n\txQe: 'ced1',\n\txviTet: '9400d3',\n\tdAppRk: 'ff1493',\n\tdApskyXe: 'bfff',\n\tdimWay: '696969',\n\tdimgYy: '696969',\n\tdodgerXe: '1e90ff',\n\tfiYbrick: 'b22222',\n\tflSOwEte: 'fffaf0',\n\tfoYstWAn: '228b22',\n\tfuKsia: 'ff00ff',\n\tgaRsbSo: 'dcdcdc',\n\tghostwEte: 'f8f8ff',\n\tgTd: 'ffd700',\n\tgTMnPd: 'daa520',\n\tWay: '808080',\n\tgYF: '8000',\n\tgYFLw: 'adff2f',\n\tgYy: '808080',\n\thoneyMw: 'f0fff0',\n\thotpRk: 'ff69b4',\n\tRdianYd: 'cd5c5c',\n\tRdigo: '4b0082',\n\tivSy: 'fffff0',\n\tkhaki: 'f0e68c',\n\tlavFMr: 'e6e6fa',\n\tlavFMrXsh: 'fff0f5',\n\tlawngYF: '7cfc00',\n\tNmoncEffon: 'fffacd',\n\tZXe: 'add8e6',\n\tZcSO: 'f08080',\n\tZcyan: 'e0ffff',\n\tZgTMnPdLw: 'fafad2',\n\tZWay: 'd3d3d3',\n\tZgYF: '90ee90',\n\tZgYy: 'd3d3d3',\n\tZpRk: 'ffb6c1',\n\tZsOmon: 'ffa07a',\n\tZsHgYF: '20b2aa',\n\tZskyXe: '87cefa',\n\tZUWay: '778899',\n\tZUgYy: '778899',\n\tZstAlXe: 'b0c4de',\n\tZLw: 'ffffe0',\n\tlime: 'ff00',\n\tlimegYF: '32cd32',\n\tlRF: 'faf0e6',\n\tmagFta: 'ff00ff',\n\tmaPon: '800000',\n\tVaquamarRe: '66cdaa',\n\tVXe: 'cd',\n\tVScEd: 'ba55d3',\n\tVpurpN: '9370db',\n\tVsHgYF: '3cb371',\n\tVUXe: '7b68ee',\n\tVsprRggYF: 'fa9a',\n\tVQe: '48d1cc',\n\tVviTetYd: 'c71585',\n\tmidnightXe: '191970',\n\tmRtcYam: 'f5fffa',\n\tmistyPse: 'ffe4e1',\n\tmoccasR: 'ffe4b5',\n\tnavajowEte: 'ffdead',\n\tnavy: '80',\n\tTdlace: 'fdf5e6',\n\tTive: '808000',\n\tTivedBb: '6b8e23',\n\tSange: 'ffa500',\n\tSangeYd: 'ff4500',\n\tScEd: 'da70d6',\n\tpOegTMnPd: 'eee8aa',\n\tpOegYF: '98fb98',\n\tpOeQe: 'afeeee',\n\tpOeviTetYd: 'db7093',\n\tpapayawEp: 'ffefd5',\n\tpHKpuff: 'ffdab9',\n\tperu: 'cd853f',\n\tpRk: 'ffc0cb',\n\tplum: 'dda0dd',\n\tpowMrXe: 'b0e0e6',\n\tpurpN: '800080',\n\tYbeccapurpN: '663399',\n\tYd: 'ff0000',\n\tPsybrown: 'bc8f8f',\n\tPyOXe: '4169e1',\n\tsaddNbPwn: '8b4513',\n\tsOmon: 'fa8072',\n\tsandybPwn: 'f4a460',\n\tsHgYF: '2e8b57',\n\tsHshell: 'fff5ee',\n\tsiFna: 'a0522d',\n\tsilver: 'c0c0c0',\n\tskyXe: '87ceeb',\n\tUXe: '6a5acd',\n\tUWay: '708090',\n\tUgYy: '708090',\n\tsnow: 'fffafa',\n\tsprRggYF: 'ff7f',\n\tstAlXe: '4682b4',\n\ttan: 'd2b48c',\n\tteO: '8080',\n\ttEstN: 'd8bfd8',\n\ttomato: 'ff6347',\n\tQe: '40e0d0',\n\tviTet: 'ee82ee',\n\tJHt: 'f5deb3',\n\twEte: 'ffffff',\n\twEtesmoke: 'f5f5f5',\n\tLw: 'ffff00',\n\tLwgYF: '9acd32'\n};\nfunction unpack() {\n\tconst unpacked = {};\n\tconst keys = Object.keys(names);\n\tconst tkeys = Object.keys(map$1);\n\tlet i, j, k, ok, nk;\n\tfor (i = 0; i < keys.length; i++) {\n\t\tok = nk = keys[i];\n\t\tfor (j = 0; j < tkeys.length; j++) {\n\t\t\tk = tkeys[j];\n\t\t\tnk = nk.replace(k, map$1[k]);\n\t\t}\n\t\tk = parseInt(names[ok], 16);\n\t\tunpacked[nk] = [k >> 16 & 0xFF, k >> 8 & 0xFF, k & 0xFF];\n\t}\n\treturn unpacked;\n}\nlet names$1;\nfunction nameParse(str) {\n\tif (!names$1) {\n\t\tnames$1 = unpack();\n\t\tnames$1.transparent = [0, 0, 0, 0];\n\t}\n\tconst a = names$1[str.toLowerCase()];\n\treturn a && {\n\t\tr: a[0],\n\t\tg: a[1],\n\t\tb: a[2],\n\t\ta: a.length === 4 ? a[3] : 255\n\t};\n}\nfunction modHSL(v, i, ratio) {\n\tif (v) {\n\t\tlet tmp = rgb2hsl(v);\n\t\ttmp[i] = Math.max(0, Math.min(tmp[i] + tmp[i] * ratio, i === 0 ? 360 : 1));\n\t\ttmp = hsl2rgb(tmp);\n\t\tv.r = tmp[0];\n\t\tv.g = tmp[1];\n\t\tv.b = tmp[2];\n\t}\n}\nfunction clone(v, proto) {\n\treturn v ? Object.assign(proto || {}, v) : v;\n}\nfunction fromObject(input) {\n\tvar v = {r: 0, g: 0, b: 0, a: 255};\n\tif (Array.isArray(input)) {\n\t\tif (input.length >= 3) {\n\t\t\tv = {r: input[0], g: input[1], b: input[2], a: 255};\n\t\t\tif (input.length > 3) {\n\t\t\t\tv.a = n2b(input[3]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\tv = clone(input, {r: 0, g: 0, b: 0, a: 1});\n\t\tv.a = n2b(v.a);\n\t}\n\treturn v;\n}\nfunction functionParse(str) {\n\tif (str.charAt(0) === 'r') {\n\t\treturn rgbParse(str);\n\t}\n\treturn hueParse(str);\n}\nclass Color {\n\tconstructor(input) {\n\t\tif (input instanceof Color) {\n\t\t\treturn input;\n\t\t}\n\t\tconst type = typeof input;\n\t\tlet v;\n\t\tif (type === 'object') {\n\t\t\tv = fromObject(input);\n\t\t} else if (type === 'string') {\n\t\t\tv = hexParse(input) || nameParse(input) || functionParse(input);\n\t\t}\n\t\tthis._rgb = v;\n\t\tthis._valid = !!v;\n\t}\n\tget valid() {\n\t\treturn this._valid;\n\t}\n\tget rgb() {\n\t\tvar v = clone(this._rgb);\n\t\tif (v) {\n\t\t\tv.a = b2n(v.a);\n\t\t}\n\t\treturn v;\n\t}\n\tset rgb(obj) {\n\t\tthis._rgb = fromObject(obj);\n\t}\n\trgbString() {\n\t\treturn this._valid ? rgbString(this._rgb) : this._rgb;\n\t}\n\thexString() {\n\t\treturn this._valid ? hexString(this._rgb) : this._rgb;\n\t}\n\thslString() {\n\t\treturn this._valid ? hslString(this._rgb) : this._rgb;\n\t}\n\tmix(color, weight) {\n\t\tconst me = this;\n\t\tif (color) {\n\t\t\tconst c1 = me.rgb;\n\t\t\tconst c2 = color.rgb;\n\t\t\tlet w2;\n\t\t\tconst p = weight === w2 ? 0.5 : weight;\n\t\t\tconst w = 2 * p - 1;\n\t\t\tconst a = c1.a - c2.a;\n\t\t\tconst w1 = ((w * a === -1 ? w : (w + a) / (1 + w * a)) + 1) / 2.0;\n\t\t\tw2 = 1 - w1;\n\t\t\tc1.r = 0xFF & w1 * c1.r + w2 * c2.r + 0.5;\n\t\t\tc1.g = 0xFF & w1 * c1.g + w2 * c2.g + 0.5;\n\t\t\tc1.b = 0xFF & w1 * c1.b + w2 * c2.b + 0.5;\n\t\t\tc1.a = p * c1.a + (1 - p) * c2.a;\n\t\t\tme.rgb = c1;\n\t\t}\n\t\treturn me;\n\t}\n\tclone() {\n\t\treturn new Color(this.rgb);\n\t}\n\talpha(a) {\n\t\tthis._rgb.a = n2b(a);\n\t\treturn this;\n\t}\n\tclearer(ratio) {\n\t\tconst rgb = this._rgb;\n\t\trgb.a *= 1 - ratio;\n\t\treturn this;\n\t}\n\tgreyscale() {\n\t\tconst rgb = this._rgb;\n\t\tconst val = round(rgb.r * 0.3 + rgb.g * 0.59 + rgb.b * 0.11);\n\t\trgb.r = rgb.g = rgb.b = val;\n\t\treturn this;\n\t}\n\topaquer(ratio) {\n\t\tconst rgb = this._rgb;\n\t\trgb.a *= 1 + ratio;\n\t\treturn this;\n\t}\n\tnegate() {\n\t\tconst v = this._rgb;\n\t\tv.r = 255 - v.r;\n\t\tv.g = 255 - v.g;\n\t\tv.b = 255 - v.b;\n\t\treturn this;\n\t}\n\tlighten(ratio) {\n\t\tmodHSL(this._rgb, 2, ratio);\n\t\treturn this;\n\t}\n\tdarken(ratio) {\n\t\tmodHSL(this._rgb, 2, -ratio);\n\t\treturn this;\n\t}\n\tsaturate(ratio) {\n\t\tmodHSL(this._rgb, 1, ratio);\n\t\treturn this;\n\t}\n\tdesaturate(ratio) {\n\t\tmodHSL(this._rgb, 1, -ratio);\n\t\treturn this;\n\t}\n\trotate(deg) {\n\t\trotate(this._rgb, deg);\n\t\treturn this;\n\t}\n}\nfunction index_esm(input) {\n\treturn new Color(input);\n}\n\nconst isPatternOrGradient = (value) => value instanceof CanvasGradient || value instanceof CanvasPattern;\nfunction color(value) {\n return isPatternOrGradient(value) ? value : index_esm(value);\n}\nfunction getHoverColor(value) {\n return isPatternOrGradient(value)\n ? value\n : index_esm(value).saturate(0.5).darken(0.1).hexString();\n}\n\nconst overrides = Object.create(null);\nconst descriptors = Object.create(null);\nfunction getScope$1(node, key) {\n if (!key) {\n return node;\n }\n const keys = key.split('.');\n for (let i = 0, n = keys.length; i < n; ++i) {\n const k = keys[i];\n node = node[k] || (node[k] = Object.create(null));\n }\n return node;\n}\nfunction set(root, scope, values) {\n if (typeof scope === 'string') {\n return merge(getScope$1(root, scope), values);\n }\n return merge(getScope$1(root, ''), scope);\n}\nclass Defaults {\n constructor(_descriptors) {\n this.animation = undefined;\n this.backgroundColor = 'rgba(0,0,0,0.1)';\n this.borderColor = 'rgba(0,0,0,0.1)';\n this.color = '#666';\n this.datasets = {};\n this.devicePixelRatio = (context) => context.chart.platform.getDevicePixelRatio();\n this.elements = {};\n this.events = [\n 'mousemove',\n 'mouseout',\n 'click',\n 'touchstart',\n 'touchmove'\n ];\n this.font = {\n family: \"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\",\n size: 12,\n style: 'normal',\n lineHeight: 1.2,\n weight: null\n };\n this.hover = {};\n this.hoverBackgroundColor = (ctx, options) => getHoverColor(options.backgroundColor);\n this.hoverBorderColor = (ctx, options) => getHoverColor(options.borderColor);\n this.hoverColor = (ctx, options) => getHoverColor(options.color);\n this.indexAxis = 'x';\n this.interaction = {\n mode: 'nearest',\n intersect: true\n };\n this.maintainAspectRatio = true;\n this.onHover = null;\n this.onClick = null;\n this.parsing = true;\n this.plugins = {};\n this.responsive = true;\n this.scale = undefined;\n this.scales = {};\n this.showLine = true;\n this.drawActiveElementsOnTop = true;\n this.describe(_descriptors);\n }\n set(scope, values) {\n return set(this, scope, values);\n }\n get(scope) {\n return getScope$1(this, scope);\n }\n describe(scope, values) {\n return set(descriptors, scope, values);\n }\n override(scope, values) {\n return set(overrides, scope, values);\n }\n route(scope, name, targetScope, targetName) {\n const scopeObject = getScope$1(this, scope);\n const targetScopeObject = getScope$1(this, targetScope);\n const privateName = '_' + name;\n Object.defineProperties(scopeObject, {\n [privateName]: {\n value: scopeObject[name],\n writable: true\n },\n [name]: {\n enumerable: true,\n get() {\n const local = this[privateName];\n const target = targetScopeObject[targetName];\n if (isObject(local)) {\n return Object.assign({}, target, local);\n }\n return valueOrDefault(local, target);\n },\n set(value) {\n this[privateName] = value;\n }\n }\n });\n }\n}\nvar defaults = new Defaults({\n _scriptable: (name) => !name.startsWith('on'),\n _indexable: (name) => name !== 'events',\n hover: {\n _fallback: 'interaction'\n },\n interaction: {\n _scriptable: false,\n _indexable: false,\n }\n});\n\nfunction toFontString(font) {\n if (!font || isNullOrUndef(font.size) || isNullOrUndef(font.family)) {\n return null;\n }\n return (font.style ? font.style + ' ' : '')\n\t\t+ (font.weight ? font.weight + ' ' : '')\n\t\t+ font.size + 'px '\n\t\t+ font.family;\n}\nfunction _measureText(ctx, data, gc, longest, string) {\n let textWidth = data[string];\n if (!textWidth) {\n textWidth = data[string] = ctx.measureText(string).width;\n gc.push(string);\n }\n if (textWidth > longest) {\n longest = textWidth;\n }\n return longest;\n}\nfunction _longestText(ctx, font, arrayOfThings, cache) {\n cache = cache || {};\n let data = cache.data = cache.data || {};\n let gc = cache.garbageCollect = cache.garbageCollect || [];\n if (cache.font !== font) {\n data = cache.data = {};\n gc = cache.garbageCollect = [];\n cache.font = font;\n }\n ctx.save();\n ctx.font = font;\n let longest = 0;\n const ilen = arrayOfThings.length;\n let i, j, jlen, thing, nestedThing;\n for (i = 0; i < ilen; i++) {\n thing = arrayOfThings[i];\n if (thing !== undefined && thing !== null && isArray(thing) !== true) {\n longest = _measureText(ctx, data, gc, longest, thing);\n } else if (isArray(thing)) {\n for (j = 0, jlen = thing.length; j < jlen; j++) {\n nestedThing = thing[j];\n if (nestedThing !== undefined && nestedThing !== null && !isArray(nestedThing)) {\n longest = _measureText(ctx, data, gc, longest, nestedThing);\n }\n }\n }\n }\n ctx.restore();\n const gcLen = gc.length / 2;\n if (gcLen > arrayOfThings.length) {\n for (i = 0; i < gcLen; i++) {\n delete data[gc[i]];\n }\n gc.splice(0, gcLen);\n }\n return longest;\n}\nfunction _alignPixel(chart, pixel, width) {\n const devicePixelRatio = chart.currentDevicePixelRatio;\n const halfWidth = width !== 0 ? Math.max(width / 2, 0.5) : 0;\n return Math.round((pixel - halfWidth) * devicePixelRatio) / devicePixelRatio + halfWidth;\n}\nfunction clearCanvas(canvas, ctx) {\n ctx = ctx || canvas.getContext('2d');\n ctx.save();\n ctx.resetTransform();\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n ctx.restore();\n}\nfunction drawPoint(ctx, options, x, y) {\n let type, xOffset, yOffset, size, cornerRadius;\n const style = options.pointStyle;\n const rotation = options.rotation;\n const radius = options.radius;\n let rad = (rotation || 0) * RAD_PER_DEG;\n if (style && typeof style === 'object') {\n type = style.toString();\n if (type === '[object HTMLImageElement]' || type === '[object HTMLCanvasElement]') {\n ctx.save();\n ctx.translate(x, y);\n ctx.rotate(rad);\n ctx.drawImage(style, -style.width / 2, -style.height / 2, style.width, style.height);\n ctx.restore();\n return;\n }\n }\n if (isNaN(radius) || radius <= 0) {\n return;\n }\n ctx.beginPath();\n switch (style) {\n default:\n ctx.arc(x, y, radius, 0, TAU);\n ctx.closePath();\n break;\n case 'triangle':\n ctx.moveTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n rad += TWO_THIRDS_PI;\n ctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n rad += TWO_THIRDS_PI;\n ctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n ctx.closePath();\n break;\n case 'rectRounded':\n cornerRadius = radius * 0.516;\n size = radius - cornerRadius;\n xOffset = Math.cos(rad + QUARTER_PI) * size;\n yOffset = Math.sin(rad + QUARTER_PI) * size;\n ctx.arc(x - xOffset, y - yOffset, cornerRadius, rad - PI, rad - HALF_PI);\n ctx.arc(x + yOffset, y - xOffset, cornerRadius, rad - HALF_PI, rad);\n ctx.arc(x + xOffset, y + yOffset, cornerRadius, rad, rad + HALF_PI);\n ctx.arc(x - yOffset, y + xOffset, cornerRadius, rad + HALF_PI, rad + PI);\n ctx.closePath();\n break;\n case 'rect':\n if (!rotation) {\n size = Math.SQRT1_2 * radius;\n ctx.rect(x - size, y - size, 2 * size, 2 * size);\n break;\n }\n rad += QUARTER_PI;\n case 'rectRot':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + yOffset, y - xOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n ctx.closePath();\n break;\n case 'crossRot':\n rad += QUARTER_PI;\n case 'cross':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.moveTo(x + yOffset, y - xOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n break;\n case 'star':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.moveTo(x + yOffset, y - xOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n rad += QUARTER_PI;\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.moveTo(x + yOffset, y - xOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n break;\n case 'line':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n break;\n case 'dash':\n ctx.moveTo(x, y);\n ctx.lineTo(x + Math.cos(rad) * radius, y + Math.sin(rad) * radius);\n break;\n }\n ctx.fill();\n if (options.borderWidth > 0) {\n ctx.stroke();\n }\n}\nfunction _isPointInArea(point, area, margin) {\n margin = margin || 0.5;\n return !area || (point && point.x > area.left - margin && point.x < area.right + margin &&\n\t\tpoint.y > area.top - margin && point.y < area.bottom + margin);\n}\nfunction clipArea(ctx, area) {\n ctx.save();\n ctx.beginPath();\n ctx.rect(area.left, area.top, area.right - area.left, area.bottom - area.top);\n ctx.clip();\n}\nfunction unclipArea(ctx) {\n ctx.restore();\n}\nfunction _steppedLineTo(ctx, previous, target, flip, mode) {\n if (!previous) {\n return ctx.lineTo(target.x, target.y);\n }\n if (mode === 'middle') {\n const midpoint = (previous.x + target.x) / 2.0;\n ctx.lineTo(midpoint, previous.y);\n ctx.lineTo(midpoint, target.y);\n } else if (mode === 'after' !== !!flip) {\n ctx.lineTo(previous.x, target.y);\n } else {\n ctx.lineTo(target.x, previous.y);\n }\n ctx.lineTo(target.x, target.y);\n}\nfunction _bezierCurveTo(ctx, previous, target, flip) {\n if (!previous) {\n return ctx.lineTo(target.x, target.y);\n }\n ctx.bezierCurveTo(\n flip ? previous.cp1x : previous.cp2x,\n flip ? previous.cp1y : previous.cp2y,\n flip ? target.cp2x : target.cp1x,\n flip ? target.cp2y : target.cp1y,\n target.x,\n target.y);\n}\nfunction renderText(ctx, text, x, y, font, opts = {}) {\n const lines = isArray(text) ? text : [text];\n const stroke = opts.strokeWidth > 0 && opts.strokeColor !== '';\n let i, line;\n ctx.save();\n ctx.font = font.string;\n setRenderOpts(ctx, opts);\n for (i = 0; i < lines.length; ++i) {\n line = lines[i];\n if (stroke) {\n if (opts.strokeColor) {\n ctx.strokeStyle = opts.strokeColor;\n }\n if (!isNullOrUndef(opts.strokeWidth)) {\n ctx.lineWidth = opts.strokeWidth;\n }\n ctx.strokeText(line, x, y, opts.maxWidth);\n }\n ctx.fillText(line, x, y, opts.maxWidth);\n decorateText(ctx, x, y, line, opts);\n y += font.lineHeight;\n }\n ctx.restore();\n}\nfunction setRenderOpts(ctx, opts) {\n if (opts.translation) {\n ctx.translate(opts.translation[0], opts.translation[1]);\n }\n if (!isNullOrUndef(opts.rotation)) {\n ctx.rotate(opts.rotation);\n }\n if (opts.color) {\n ctx.fillStyle = opts.color;\n }\n if (opts.textAlign) {\n ctx.textAlign = opts.textAlign;\n }\n if (opts.textBaseline) {\n ctx.textBaseline = opts.textBaseline;\n }\n}\nfunction decorateText(ctx, x, y, line, opts) {\n if (opts.strikethrough || opts.underline) {\n const metrics = ctx.measureText(line);\n const left = x - metrics.actualBoundingBoxLeft;\n const right = x + metrics.actualBoundingBoxRight;\n const top = y - metrics.actualBoundingBoxAscent;\n const bottom = y + metrics.actualBoundingBoxDescent;\n const yDecoration = opts.strikethrough ? (top + bottom) / 2 : bottom;\n ctx.strokeStyle = ctx.fillStyle;\n ctx.beginPath();\n ctx.lineWidth = opts.decorationWidth || 2;\n ctx.moveTo(left, yDecoration);\n ctx.lineTo(right, yDecoration);\n ctx.stroke();\n }\n}\nfunction addRoundedRectPath(ctx, rect) {\n const {x, y, w, h, radius} = rect;\n ctx.arc(x + radius.topLeft, y + radius.topLeft, radius.topLeft, -HALF_PI, PI, true);\n ctx.lineTo(x, y + h - radius.bottomLeft);\n ctx.arc(x + radius.bottomLeft, y + h - radius.bottomLeft, radius.bottomLeft, PI, HALF_PI, true);\n ctx.lineTo(x + w - radius.bottomRight, y + h);\n ctx.arc(x + w - radius.bottomRight, y + h - radius.bottomRight, radius.bottomRight, HALF_PI, 0, true);\n ctx.lineTo(x + w, y + radius.topRight);\n ctx.arc(x + w - radius.topRight, y + radius.topRight, radius.topRight, 0, -HALF_PI, true);\n ctx.lineTo(x + radius.topLeft, y);\n}\n\nconst LINE_HEIGHT = new RegExp(/^(normal|(\\d+(?:\\.\\d+)?)(px|em|%)?)$/);\nconst FONT_STYLE = new RegExp(/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/);\nfunction toLineHeight(value, size) {\n const matches = ('' + value).match(LINE_HEIGHT);\n if (!matches || matches[1] === 'normal') {\n return size * 1.2;\n }\n value = +matches[2];\n switch (matches[3]) {\n case 'px':\n return value;\n case '%':\n value /= 100;\n break;\n }\n return size * value;\n}\nconst numberOrZero = v => +v || 0;\nfunction _readValueToProps(value, props) {\n const ret = {};\n const objProps = isObject(props);\n const keys = objProps ? Object.keys(props) : props;\n const read = isObject(value)\n ? objProps\n ? prop => valueOrDefault(value[prop], value[props[prop]])\n : prop => value[prop]\n : () => value;\n for (const prop of keys) {\n ret[prop] = numberOrZero(read(prop));\n }\n return ret;\n}\nfunction toTRBL(value) {\n return _readValueToProps(value, {top: 'y', right: 'x', bottom: 'y', left: 'x'});\n}\nfunction toTRBLCorners(value) {\n return _readValueToProps(value, ['topLeft', 'topRight', 'bottomLeft', 'bottomRight']);\n}\nfunction toPadding(value) {\n const obj = toTRBL(value);\n obj.width = obj.left + obj.right;\n obj.height = obj.top + obj.bottom;\n return obj;\n}\nfunction toFont(options, fallback) {\n options = options || {};\n fallback = fallback || defaults.font;\n let size = valueOrDefault(options.size, fallback.size);\n if (typeof size === 'string') {\n size = parseInt(size, 10);\n }\n let style = valueOrDefault(options.style, fallback.style);\n if (style && !('' + style).match(FONT_STYLE)) {\n console.warn('Invalid font style specified: \"' + style + '\"');\n style = '';\n }\n const font = {\n family: valueOrDefault(options.family, fallback.family),\n lineHeight: toLineHeight(valueOrDefault(options.lineHeight, fallback.lineHeight), size),\n size,\n style,\n weight: valueOrDefault(options.weight, fallback.weight),\n string: ''\n };\n font.string = toFontString(font);\n return font;\n}\nfunction resolve(inputs, context, index, info) {\n let cacheable = true;\n let i, ilen, value;\n for (i = 0, ilen = inputs.length; i < ilen; ++i) {\n value = inputs[i];\n if (value === undefined) {\n continue;\n }\n if (context !== undefined && typeof value === 'function') {\n value = value(context);\n cacheable = false;\n }\n if (index !== undefined && isArray(value)) {\n value = value[index % value.length];\n cacheable = false;\n }\n if (value !== undefined) {\n if (info && !cacheable) {\n info.cacheable = false;\n }\n return value;\n }\n }\n}\nfunction _addGrace(minmax, grace, beginAtZero) {\n const {min, max} = minmax;\n const change = toDimension(grace, (max - min) / 2);\n const keepZero = (value, add) => beginAtZero && value === 0 ? 0 : value + add;\n return {\n min: keepZero(min, -Math.abs(change)),\n max: keepZero(max, change)\n };\n}\nfunction createContext(parentContext, context) {\n return Object.assign(Object.create(parentContext), context);\n}\n\nfunction _lookup(table, value, cmp) {\n cmp = cmp || ((index) => table[index] < value);\n let hi = table.length - 1;\n let lo = 0;\n let mid;\n while (hi - lo > 1) {\n mid = (lo + hi) >> 1;\n if (cmp(mid)) {\n lo = mid;\n } else {\n hi = mid;\n }\n }\n return {lo, hi};\n}\nconst _lookupByKey = (table, key, value) =>\n _lookup(table, value, index => table[index][key] < value);\nconst _rlookupByKey = (table, key, value) =>\n _lookup(table, value, index => table[index][key] >= value);\nfunction _filterBetween(values, min, max) {\n let start = 0;\n let end = values.length;\n while (start < end && values[start] < min) {\n start++;\n }\n while (end > start && values[end - 1] > max) {\n end--;\n }\n return start > 0 || end < values.length\n ? values.slice(start, end)\n : values;\n}\nconst arrayEvents = ['push', 'pop', 'shift', 'splice', 'unshift'];\nfunction listenArrayEvents(array, listener) {\n if (array._chartjs) {\n array._chartjs.listeners.push(listener);\n return;\n }\n Object.defineProperty(array, '_chartjs', {\n configurable: true,\n enumerable: false,\n value: {\n listeners: [listener]\n }\n });\n arrayEvents.forEach((key) => {\n const method = '_onData' + _capitalize(key);\n const base = array[key];\n Object.defineProperty(array, key, {\n configurable: true,\n enumerable: false,\n value(...args) {\n const res = base.apply(this, args);\n array._chartjs.listeners.forEach((object) => {\n if (typeof object[method] === 'function') {\n object[method](...args);\n }\n });\n return res;\n }\n });\n });\n}\nfunction unlistenArrayEvents(array, listener) {\n const stub = array._chartjs;\n if (!stub) {\n return;\n }\n const listeners = stub.listeners;\n const index = listeners.indexOf(listener);\n if (index !== -1) {\n listeners.splice(index, 1);\n }\n if (listeners.length > 0) {\n return;\n }\n arrayEvents.forEach((key) => {\n delete array[key];\n });\n delete array._chartjs;\n}\nfunction _arrayUnique(items) {\n const set = new Set();\n let i, ilen;\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n set.add(items[i]);\n }\n if (set.size === ilen) {\n return items;\n }\n return Array.from(set);\n}\n\nfunction _createResolver(scopes, prefixes = [''], rootScopes = scopes, fallback, getTarget = () => scopes[0]) {\n if (!defined(fallback)) {\n fallback = _resolve('_fallback', scopes);\n }\n const cache = {\n [Symbol.toStringTag]: 'Object',\n _cacheable: true,\n _scopes: scopes,\n _rootScopes: rootScopes,\n _fallback: fallback,\n _getTarget: getTarget,\n override: (scope) => _createResolver([scope, ...scopes], prefixes, rootScopes, fallback),\n };\n return new Proxy(cache, {\n deleteProperty(target, prop) {\n delete target[prop];\n delete target._keys;\n delete scopes[0][prop];\n return true;\n },\n get(target, prop) {\n return _cached(target, prop,\n () => _resolveWithPrefixes(prop, prefixes, scopes, target));\n },\n getOwnPropertyDescriptor(target, prop) {\n return Reflect.getOwnPropertyDescriptor(target._scopes[0], prop);\n },\n getPrototypeOf() {\n return Reflect.getPrototypeOf(scopes[0]);\n },\n has(target, prop) {\n return getKeysFromAllScopes(target).includes(prop);\n },\n ownKeys(target) {\n return getKeysFromAllScopes(target);\n },\n set(target, prop, value) {\n const storage = target._storage || (target._storage = getTarget());\n target[prop] = storage[prop] = value;\n delete target._keys;\n return true;\n }\n });\n}\nfunction _attachContext(proxy, context, subProxy, descriptorDefaults) {\n const cache = {\n _cacheable: false,\n _proxy: proxy,\n _context: context,\n _subProxy: subProxy,\n _stack: new Set(),\n _descriptors: _descriptors(proxy, descriptorDefaults),\n setContext: (ctx) => _attachContext(proxy, ctx, subProxy, descriptorDefaults),\n override: (scope) => _attachContext(proxy.override(scope), context, subProxy, descriptorDefaults)\n };\n return new Proxy(cache, {\n deleteProperty(target, prop) {\n delete target[prop];\n delete proxy[prop];\n return true;\n },\n get(target, prop, receiver) {\n return _cached(target, prop,\n () => _resolveWithContext(target, prop, receiver));\n },\n getOwnPropertyDescriptor(target, prop) {\n return target._descriptors.allKeys\n ? Reflect.has(proxy, prop) ? {enumerable: true, configurable: true} : undefined\n : Reflect.getOwnPropertyDescriptor(proxy, prop);\n },\n getPrototypeOf() {\n return Reflect.getPrototypeOf(proxy);\n },\n has(target, prop) {\n return Reflect.has(proxy, prop);\n },\n ownKeys() {\n return Reflect.ownKeys(proxy);\n },\n set(target, prop, value) {\n proxy[prop] = value;\n delete target[prop];\n return true;\n }\n });\n}\nfunction _descriptors(proxy, defaults = {scriptable: true, indexable: true}) {\n const {_scriptable = defaults.scriptable, _indexable = defaults.indexable, _allKeys = defaults.allKeys} = proxy;\n return {\n allKeys: _allKeys,\n scriptable: _scriptable,\n indexable: _indexable,\n isScriptable: isFunction(_scriptable) ? _scriptable : () => _scriptable,\n isIndexable: isFunction(_indexable) ? _indexable : () => _indexable\n };\n}\nconst readKey = (prefix, name) => prefix ? prefix + _capitalize(name) : name;\nconst needsSubResolver = (prop, value) => isObject(value) && prop !== 'adapters' &&\n (Object.getPrototypeOf(value) === null || value.constructor === Object);\nfunction _cached(target, prop, resolve) {\n if (Object.prototype.hasOwnProperty.call(target, prop)) {\n return target[prop];\n }\n const value = resolve();\n target[prop] = value;\n return value;\n}\nfunction _resolveWithContext(target, prop, receiver) {\n const {_proxy, _context, _subProxy, _descriptors: descriptors} = target;\n let value = _proxy[prop];\n if (isFunction(value) && descriptors.isScriptable(prop)) {\n value = _resolveScriptable(prop, value, target, receiver);\n }\n if (isArray(value) && value.length) {\n value = _resolveArray(prop, value, target, descriptors.isIndexable);\n }\n if (needsSubResolver(prop, value)) {\n value = _attachContext(value, _context, _subProxy && _subProxy[prop], descriptors);\n }\n return value;\n}\nfunction _resolveScriptable(prop, value, target, receiver) {\n const {_proxy, _context, _subProxy, _stack} = target;\n if (_stack.has(prop)) {\n throw new Error('Recursion detected: ' + Array.from(_stack).join('->') + '->' + prop);\n }\n _stack.add(prop);\n value = value(_context, _subProxy || receiver);\n _stack.delete(prop);\n if (needsSubResolver(prop, value)) {\n value = createSubResolver(_proxy._scopes, _proxy, prop, value);\n }\n return value;\n}\nfunction _resolveArray(prop, value, target, isIndexable) {\n const {_proxy, _context, _subProxy, _descriptors: descriptors} = target;\n if (defined(_context.index) && isIndexable(prop)) {\n value = value[_context.index % value.length];\n } else if (isObject(value[0])) {\n const arr = value;\n const scopes = _proxy._scopes.filter(s => s !== arr);\n value = [];\n for (const item of arr) {\n const resolver = createSubResolver(scopes, _proxy, prop, item);\n value.push(_attachContext(resolver, _context, _subProxy && _subProxy[prop], descriptors));\n }\n }\n return value;\n}\nfunction resolveFallback(fallback, prop, value) {\n return isFunction(fallback) ? fallback(prop, value) : fallback;\n}\nconst getScope = (key, parent) => key === true ? parent\n : typeof key === 'string' ? resolveObjectKey(parent, key) : undefined;\nfunction addScopes(set, parentScopes, key, parentFallback, value) {\n for (const parent of parentScopes) {\n const scope = getScope(key, parent);\n if (scope) {\n set.add(scope);\n const fallback = resolveFallback(scope._fallback, key, value);\n if (defined(fallback) && fallback !== key && fallback !== parentFallback) {\n return fallback;\n }\n } else if (scope === false && defined(parentFallback) && key !== parentFallback) {\n return null;\n }\n }\n return false;\n}\nfunction createSubResolver(parentScopes, resolver, prop, value) {\n const rootScopes = resolver._rootScopes;\n const fallback = resolveFallback(resolver._fallback, prop, value);\n const allScopes = [...parentScopes, ...rootScopes];\n const set = new Set();\n set.add(value);\n let key = addScopesFromKey(set, allScopes, prop, fallback || prop, value);\n if (key === null) {\n return false;\n }\n if (defined(fallback) && fallback !== prop) {\n key = addScopesFromKey(set, allScopes, fallback, key, value);\n if (key === null) {\n return false;\n }\n }\n return _createResolver(Array.from(set), [''], rootScopes, fallback,\n () => subGetTarget(resolver, prop, value));\n}\nfunction addScopesFromKey(set, allScopes, key, fallback, item) {\n while (key) {\n key = addScopes(set, allScopes, key, fallback, item);\n }\n return key;\n}\nfunction subGetTarget(resolver, prop, value) {\n const parent = resolver._getTarget();\n if (!(prop in parent)) {\n parent[prop] = {};\n }\n const target = parent[prop];\n if (isArray(target) && isObject(value)) {\n return value;\n }\n return target;\n}\nfunction _resolveWithPrefixes(prop, prefixes, scopes, proxy) {\n let value;\n for (const prefix of prefixes) {\n value = _resolve(readKey(prefix, prop), scopes);\n if (defined(value)) {\n return needsSubResolver(prop, value)\n ? createSubResolver(scopes, proxy, prop, value)\n : value;\n }\n }\n}\nfunction _resolve(key, scopes) {\n for (const scope of scopes) {\n if (!scope) {\n continue;\n }\n const value = scope[key];\n if (defined(value)) {\n return value;\n }\n }\n}\nfunction getKeysFromAllScopes(target) {\n let keys = target._keys;\n if (!keys) {\n keys = target._keys = resolveKeysFromAllScopes(target._scopes);\n }\n return keys;\n}\nfunction resolveKeysFromAllScopes(scopes) {\n const set = new Set();\n for (const scope of scopes) {\n for (const key of Object.keys(scope).filter(k => !k.startsWith('_'))) {\n set.add(key);\n }\n }\n return Array.from(set);\n}\n\nconst EPSILON = Number.EPSILON || 1e-14;\nconst getPoint = (points, i) => i < points.length && !points[i].skip && points[i];\nconst getValueAxis = (indexAxis) => indexAxis === 'x' ? 'y' : 'x';\nfunction splineCurve(firstPoint, middlePoint, afterPoint, t) {\n const previous = firstPoint.skip ? middlePoint : firstPoint;\n const current = middlePoint;\n const next = afterPoint.skip ? middlePoint : afterPoint;\n const d01 = distanceBetweenPoints(current, previous);\n const d12 = distanceBetweenPoints(next, current);\n let s01 = d01 / (d01 + d12);\n let s12 = d12 / (d01 + d12);\n s01 = isNaN(s01) ? 0 : s01;\n s12 = isNaN(s12) ? 0 : s12;\n const fa = t * s01;\n const fb = t * s12;\n return {\n previous: {\n x: current.x - fa * (next.x - previous.x),\n y: current.y - fa * (next.y - previous.y)\n },\n next: {\n x: current.x + fb * (next.x - previous.x),\n y: current.y + fb * (next.y - previous.y)\n }\n };\n}\nfunction monotoneAdjust(points, deltaK, mK) {\n const pointsLen = points.length;\n let alphaK, betaK, tauK, squaredMagnitude, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for (let i = 0; i < pointsLen - 1; ++i) {\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent || !pointAfter) {\n continue;\n }\n if (almostEquals(deltaK[i], 0, EPSILON)) {\n mK[i] = mK[i + 1] = 0;\n continue;\n }\n alphaK = mK[i] / deltaK[i];\n betaK = mK[i + 1] / deltaK[i];\n squaredMagnitude = Math.pow(alphaK, 2) + Math.pow(betaK, 2);\n if (squaredMagnitude <= 9) {\n continue;\n }\n tauK = 3 / Math.sqrt(squaredMagnitude);\n mK[i] = alphaK * tauK * deltaK[i];\n mK[i + 1] = betaK * tauK * deltaK[i];\n }\n}\nfunction monotoneCompute(points, mK, indexAxis = 'x') {\n const valueAxis = getValueAxis(indexAxis);\n const pointsLen = points.length;\n let delta, pointBefore, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for (let i = 0; i < pointsLen; ++i) {\n pointBefore = pointCurrent;\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent) {\n continue;\n }\n const iPixel = pointCurrent[indexAxis];\n const vPixel = pointCurrent[valueAxis];\n if (pointBefore) {\n delta = (iPixel - pointBefore[indexAxis]) / 3;\n pointCurrent[`cp1${indexAxis}`] = iPixel - delta;\n pointCurrent[`cp1${valueAxis}`] = vPixel - delta * mK[i];\n }\n if (pointAfter) {\n delta = (pointAfter[indexAxis] - iPixel) / 3;\n pointCurrent[`cp2${indexAxis}`] = iPixel + delta;\n pointCurrent[`cp2${valueAxis}`] = vPixel + delta * mK[i];\n }\n }\n}\nfunction splineCurveMonotone(points, indexAxis = 'x') {\n const valueAxis = getValueAxis(indexAxis);\n const pointsLen = points.length;\n const deltaK = Array(pointsLen).fill(0);\n const mK = Array(pointsLen);\n let i, pointBefore, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for (i = 0; i < pointsLen; ++i) {\n pointBefore = pointCurrent;\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent) {\n continue;\n }\n if (pointAfter) {\n const slopeDelta = pointAfter[indexAxis] - pointCurrent[indexAxis];\n deltaK[i] = slopeDelta !== 0 ? (pointAfter[valueAxis] - pointCurrent[valueAxis]) / slopeDelta : 0;\n }\n mK[i] = !pointBefore ? deltaK[i]\n : !pointAfter ? deltaK[i - 1]\n : (sign(deltaK[i - 1]) !== sign(deltaK[i])) ? 0\n : (deltaK[i - 1] + deltaK[i]) / 2;\n }\n monotoneAdjust(points, deltaK, mK);\n monotoneCompute(points, mK, indexAxis);\n}\nfunction capControlPoint(pt, min, max) {\n return Math.max(Math.min(pt, max), min);\n}\nfunction capBezierPoints(points, area) {\n let i, ilen, point, inArea, inAreaPrev;\n let inAreaNext = _isPointInArea(points[0], area);\n for (i = 0, ilen = points.length; i < ilen; ++i) {\n inAreaPrev = inArea;\n inArea = inAreaNext;\n inAreaNext = i < ilen - 1 && _isPointInArea(points[i + 1], area);\n if (!inArea) {\n continue;\n }\n point = points[i];\n if (inAreaPrev) {\n point.cp1x = capControlPoint(point.cp1x, area.left, area.right);\n point.cp1y = capControlPoint(point.cp1y, area.top, area.bottom);\n }\n if (inAreaNext) {\n point.cp2x = capControlPoint(point.cp2x, area.left, area.right);\n point.cp2y = capControlPoint(point.cp2y, area.top, area.bottom);\n }\n }\n}\nfunction _updateBezierControlPoints(points, options, area, loop, indexAxis) {\n let i, ilen, point, controlPoints;\n if (options.spanGaps) {\n points = points.filter((pt) => !pt.skip);\n }\n if (options.cubicInterpolationMode === 'monotone') {\n splineCurveMonotone(points, indexAxis);\n } else {\n let prev = loop ? points[points.length - 1] : points[0];\n for (i = 0, ilen = points.length; i < ilen; ++i) {\n point = points[i];\n controlPoints = splineCurve(\n prev,\n point,\n points[Math.min(i + 1, ilen - (loop ? 0 : 1)) % ilen],\n options.tension\n );\n point.cp1x = controlPoints.previous.x;\n point.cp1y = controlPoints.previous.y;\n point.cp2x = controlPoints.next.x;\n point.cp2y = controlPoints.next.y;\n prev = point;\n }\n }\n if (options.capBezierPoints) {\n capBezierPoints(points, area);\n }\n}\n\nfunction _isDomSupported() {\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n}\nfunction _getParentNode(domNode) {\n let parent = domNode.parentNode;\n if (parent && parent.toString() === '[object ShadowRoot]') {\n parent = parent.host;\n }\n return parent;\n}\nfunction parseMaxStyle(styleValue, node, parentProperty) {\n let valueInPixels;\n if (typeof styleValue === 'string') {\n valueInPixels = parseInt(styleValue, 10);\n if (styleValue.indexOf('%') !== -1) {\n valueInPixels = valueInPixels / 100 * node.parentNode[parentProperty];\n }\n } else {\n valueInPixels = styleValue;\n }\n return valueInPixels;\n}\nconst getComputedStyle = (element) => window.getComputedStyle(element, null);\nfunction getStyle(el, property) {\n return getComputedStyle(el).getPropertyValue(property);\n}\nconst positions = ['top', 'right', 'bottom', 'left'];\nfunction getPositionedStyle(styles, style, suffix) {\n const result = {};\n suffix = suffix ? '-' + suffix : '';\n for (let i = 0; i < 4; i++) {\n const pos = positions[i];\n result[pos] = parseFloat(styles[style + '-' + pos + suffix]) || 0;\n }\n result.width = result.left + result.right;\n result.height = result.top + result.bottom;\n return result;\n}\nconst useOffsetPos = (x, y, target) => (x > 0 || y > 0) && (!target || !target.shadowRoot);\nfunction getCanvasPosition(evt, canvas) {\n const e = evt.native || evt;\n const touches = e.touches;\n const source = touches && touches.length ? touches[0] : e;\n const {offsetX, offsetY} = source;\n let box = false;\n let x, y;\n if (useOffsetPos(offsetX, offsetY, e.target)) {\n x = offsetX;\n y = offsetY;\n } else {\n const rect = canvas.getBoundingClientRect();\n x = source.clientX - rect.left;\n y = source.clientY - rect.top;\n box = true;\n }\n return {x, y, box};\n}\nfunction getRelativePosition(evt, chart) {\n const {canvas, currentDevicePixelRatio} = chart;\n const style = getComputedStyle(canvas);\n const borderBox = style.boxSizing === 'border-box';\n const paddings = getPositionedStyle(style, 'padding');\n const borders = getPositionedStyle(style, 'border', 'width');\n const {x, y, box} = getCanvasPosition(evt, canvas);\n const xOffset = paddings.left + (box && borders.left);\n const yOffset = paddings.top + (box && borders.top);\n let {width, height} = chart;\n if (borderBox) {\n width -= paddings.width + borders.width;\n height -= paddings.height + borders.height;\n }\n return {\n x: Math.round((x - xOffset) / width * canvas.width / currentDevicePixelRatio),\n y: Math.round((y - yOffset) / height * canvas.height / currentDevicePixelRatio)\n };\n}\nfunction getContainerSize(canvas, width, height) {\n let maxWidth, maxHeight;\n if (width === undefined || height === undefined) {\n const container = _getParentNode(canvas);\n if (!container) {\n width = canvas.clientWidth;\n height = canvas.clientHeight;\n } else {\n const rect = container.getBoundingClientRect();\n const containerStyle = getComputedStyle(container);\n const containerBorder = getPositionedStyle(containerStyle, 'border', 'width');\n const containerPadding = getPositionedStyle(containerStyle, 'padding');\n width = rect.width - containerPadding.width - containerBorder.width;\n height = rect.height - containerPadding.height - containerBorder.height;\n maxWidth = parseMaxStyle(containerStyle.maxWidth, container, 'clientWidth');\n maxHeight = parseMaxStyle(containerStyle.maxHeight, container, 'clientHeight');\n }\n }\n return {\n width,\n height,\n maxWidth: maxWidth || INFINITY,\n maxHeight: maxHeight || INFINITY\n };\n}\nconst round1 = v => Math.round(v * 10) / 10;\nfunction getMaximumSize(canvas, bbWidth, bbHeight, aspectRatio) {\n const style = getComputedStyle(canvas);\n const margins = getPositionedStyle(style, 'margin');\n const maxWidth = parseMaxStyle(style.maxWidth, canvas, 'clientWidth') || INFINITY;\n const maxHeight = parseMaxStyle(style.maxHeight, canvas, 'clientHeight') || INFINITY;\n const containerSize = getContainerSize(canvas, bbWidth, bbHeight);\n let {width, height} = containerSize;\n if (style.boxSizing === 'content-box') {\n const borders = getPositionedStyle(style, 'border', 'width');\n const paddings = getPositionedStyle(style, 'padding');\n width -= paddings.width + borders.width;\n height -= paddings.height + borders.height;\n }\n width = Math.max(0, width - margins.width);\n height = Math.max(0, aspectRatio ? Math.floor(width / aspectRatio) : height - margins.height);\n width = round1(Math.min(width, maxWidth, containerSize.maxWidth));\n height = round1(Math.min(height, maxHeight, containerSize.maxHeight));\n if (width && !height) {\n height = round1(width / 2);\n }\n return {\n width,\n height\n };\n}\nfunction retinaScale(chart, forceRatio, forceStyle) {\n const pixelRatio = forceRatio || 1;\n const deviceHeight = Math.floor(chart.height * pixelRatio);\n const deviceWidth = Math.floor(chart.width * pixelRatio);\n chart.height = deviceHeight / pixelRatio;\n chart.width = deviceWidth / pixelRatio;\n const canvas = chart.canvas;\n if (canvas.style && (forceStyle || (!canvas.style.height && !canvas.style.width))) {\n canvas.style.height = `${chart.height}px`;\n canvas.style.width = `${chart.width}px`;\n }\n if (chart.currentDevicePixelRatio !== pixelRatio\n || canvas.height !== deviceHeight\n || canvas.width !== deviceWidth) {\n chart.currentDevicePixelRatio = pixelRatio;\n canvas.height = deviceHeight;\n canvas.width = deviceWidth;\n chart.ctx.setTransform(pixelRatio, 0, 0, pixelRatio, 0, 0);\n return true;\n }\n return false;\n}\nconst supportsEventListenerOptions = (function() {\n let passiveSupported = false;\n try {\n const options = {\n get passive() {\n passiveSupported = true;\n return false;\n }\n };\n window.addEventListener('test', null, options);\n window.removeEventListener('test', null, options);\n } catch (e) {\n }\n return passiveSupported;\n}());\nfunction readUsedSize(element, property) {\n const value = getStyle(element, property);\n const matches = value && value.match(/^(\\d+)(\\.\\d+)?px$/);\n return matches ? +matches[1] : undefined;\n}\n\nfunction _pointInLine(p1, p2, t, mode) {\n return {\n x: p1.x + t * (p2.x - p1.x),\n y: p1.y + t * (p2.y - p1.y)\n };\n}\nfunction _steppedInterpolation(p1, p2, t, mode) {\n return {\n x: p1.x + t * (p2.x - p1.x),\n y: mode === 'middle' ? t < 0.5 ? p1.y : p2.y\n : mode === 'after' ? t < 1 ? p1.y : p2.y\n : t > 0 ? p2.y : p1.y\n };\n}\nfunction _bezierInterpolation(p1, p2, t, mode) {\n const cp1 = {x: p1.cp2x, y: p1.cp2y};\n const cp2 = {x: p2.cp1x, y: p2.cp1y};\n const a = _pointInLine(p1, cp1, t);\n const b = _pointInLine(cp1, cp2, t);\n const c = _pointInLine(cp2, p2, t);\n const d = _pointInLine(a, b, t);\n const e = _pointInLine(b, c, t);\n return _pointInLine(d, e, t);\n}\n\nconst intlCache = new Map();\nfunction getNumberFormat(locale, options) {\n options = options || {};\n const cacheKey = locale + JSON.stringify(options);\n let formatter = intlCache.get(cacheKey);\n if (!formatter) {\n formatter = new Intl.NumberFormat(locale, options);\n intlCache.set(cacheKey, formatter);\n }\n return formatter;\n}\nfunction formatNumber(num, locale, options) {\n return getNumberFormat(locale, options).format(num);\n}\n\nconst getRightToLeftAdapter = function(rectX, width) {\n return {\n x(x) {\n return rectX + rectX + width - x;\n },\n setWidth(w) {\n width = w;\n },\n textAlign(align) {\n if (align === 'center') {\n return align;\n }\n return align === 'right' ? 'left' : 'right';\n },\n xPlus(x, value) {\n return x - value;\n },\n leftForLtr(x, itemWidth) {\n return x - itemWidth;\n },\n };\n};\nconst getLeftToRightAdapter = function() {\n return {\n x(x) {\n return x;\n },\n setWidth(w) {\n },\n textAlign(align) {\n return align;\n },\n xPlus(x, value) {\n return x + value;\n },\n leftForLtr(x, _itemWidth) {\n return x;\n },\n };\n};\nfunction getRtlAdapter(rtl, rectX, width) {\n return rtl ? getRightToLeftAdapter(rectX, width) : getLeftToRightAdapter();\n}\nfunction overrideTextDirection(ctx, direction) {\n let style, original;\n if (direction === 'ltr' || direction === 'rtl') {\n style = ctx.canvas.style;\n original = [\n style.getPropertyValue('direction'),\n style.getPropertyPriority('direction'),\n ];\n style.setProperty('direction', direction, 'important');\n ctx.prevTextDirection = original;\n }\n}\nfunction restoreTextDirection(ctx, original) {\n if (original !== undefined) {\n delete ctx.prevTextDirection;\n ctx.canvas.style.setProperty('direction', original[0], original[1]);\n }\n}\n\nfunction propertyFn(property) {\n if (property === 'angle') {\n return {\n between: _angleBetween,\n compare: _angleDiff,\n normalize: _normalizeAngle,\n };\n }\n return {\n between: _isBetween,\n compare: (a, b) => a - b,\n normalize: x => x\n };\n}\nfunction normalizeSegment({start, end, count, loop, style}) {\n return {\n start: start % count,\n end: end % count,\n loop: loop && (end - start + 1) % count === 0,\n style\n };\n}\nfunction getSegment(segment, points, bounds) {\n const {property, start: startBound, end: endBound} = bounds;\n const {between, normalize} = propertyFn(property);\n const count = points.length;\n let {start, end, loop} = segment;\n let i, ilen;\n if (loop) {\n start += count;\n end += count;\n for (i = 0, ilen = count; i < ilen; ++i) {\n if (!between(normalize(points[start % count][property]), startBound, endBound)) {\n break;\n }\n start--;\n end--;\n }\n start %= count;\n end %= count;\n }\n if (end < start) {\n end += count;\n }\n return {start, end, loop, style: segment.style};\n}\nfunction _boundSegment(segment, points, bounds) {\n if (!bounds) {\n return [segment];\n }\n const {property, start: startBound, end: endBound} = bounds;\n const count = points.length;\n const {compare, between, normalize} = propertyFn(property);\n const {start, end, loop, style} = getSegment(segment, points, bounds);\n const result = [];\n let inside = false;\n let subStart = null;\n let value, point, prevValue;\n const startIsBefore = () => between(startBound, prevValue, value) && compare(startBound, prevValue) !== 0;\n const endIsBefore = () => compare(endBound, value) === 0 || between(endBound, prevValue, value);\n const shouldStart = () => inside || startIsBefore();\n const shouldStop = () => !inside || endIsBefore();\n for (let i = start, prev = start; i <= end; ++i) {\n point = points[i % count];\n if (point.skip) {\n continue;\n }\n value = normalize(point[property]);\n if (value === prevValue) {\n continue;\n }\n inside = between(value, startBound, endBound);\n if (subStart === null && shouldStart()) {\n subStart = compare(value, startBound) === 0 ? i : prev;\n }\n if (subStart !== null && shouldStop()) {\n result.push(normalizeSegment({start: subStart, end: i, loop, count, style}));\n subStart = null;\n }\n prev = i;\n prevValue = value;\n }\n if (subStart !== null) {\n result.push(normalizeSegment({start: subStart, end, loop, count, style}));\n }\n return result;\n}\nfunction _boundSegments(line, bounds) {\n const result = [];\n const segments = line.segments;\n for (let i = 0; i < segments.length; i++) {\n const sub = _boundSegment(segments[i], line.points, bounds);\n if (sub.length) {\n result.push(...sub);\n }\n }\n return result;\n}\nfunction findStartAndEnd(points, count, loop, spanGaps) {\n let start = 0;\n let end = count - 1;\n if (loop && !spanGaps) {\n while (start < count && !points[start].skip) {\n start++;\n }\n }\n while (start < count && points[start].skip) {\n start++;\n }\n start %= count;\n if (loop) {\n end += start;\n }\n while (end > start && points[end % count].skip) {\n end--;\n }\n end %= count;\n return {start, end};\n}\nfunction solidSegments(points, start, max, loop) {\n const count = points.length;\n const result = [];\n let last = start;\n let prev = points[start];\n let end;\n for (end = start + 1; end <= max; ++end) {\n const cur = points[end % count];\n if (cur.skip || cur.stop) {\n if (!prev.skip) {\n loop = false;\n result.push({start: start % count, end: (end - 1) % count, loop});\n start = last = cur.stop ? end : null;\n }\n } else {\n last = end;\n if (prev.skip) {\n start = end;\n }\n }\n prev = cur;\n }\n if (last !== null) {\n result.push({start: start % count, end: last % count, loop});\n }\n return result;\n}\nfunction _computeSegments(line, segmentOptions) {\n const points = line.points;\n const spanGaps = line.options.spanGaps;\n const count = points.length;\n if (!count) {\n return [];\n }\n const loop = !!line._loop;\n const {start, end} = findStartAndEnd(points, count, loop, spanGaps);\n if (spanGaps === true) {\n return splitByStyles(line, [{start, end, loop}], points, segmentOptions);\n }\n const max = end < start ? end + count : end;\n const completeLoop = !!line._fullLoop && start === 0 && end === count - 1;\n return splitByStyles(line, solidSegments(points, start, max, completeLoop), points, segmentOptions);\n}\nfunction splitByStyles(line, segments, points, segmentOptions) {\n if (!segmentOptions || !segmentOptions.setContext || !points) {\n return segments;\n }\n return doSplitByStyles(line, segments, points, segmentOptions);\n}\nfunction doSplitByStyles(line, segments, points, segmentOptions) {\n const chartContext = line._chart.getContext();\n const baseStyle = readStyle(line.options);\n const {_datasetIndex: datasetIndex, options: {spanGaps}} = line;\n const count = points.length;\n const result = [];\n let prevStyle = baseStyle;\n let start = segments[0].start;\n let i = start;\n function addStyle(s, e, l, st) {\n const dir = spanGaps ? -1 : 1;\n if (s === e) {\n return;\n }\n s += count;\n while (points[s % count].skip) {\n s -= dir;\n }\n while (points[e % count].skip) {\n e += dir;\n }\n if (s % count !== e % count) {\n result.push({start: s % count, end: e % count, loop: l, style: st});\n prevStyle = st;\n start = e % count;\n }\n }\n for (const segment of segments) {\n start = spanGaps ? start : segment.start;\n let prev = points[start % count];\n let style;\n for (i = start + 1; i <= segment.end; i++) {\n const pt = points[i % count];\n style = readStyle(segmentOptions.setContext(createContext(chartContext, {\n type: 'segment',\n p0: prev,\n p1: pt,\n p0DataIndex: (i - 1) % count,\n p1DataIndex: i % count,\n datasetIndex\n })));\n if (styleChanged(style, prevStyle)) {\n addStyle(start, i - 1, segment.loop, prevStyle);\n }\n prev = pt;\n prevStyle = style;\n }\n if (start < i - 1) {\n addStyle(start, i - 1, segment.loop, prevStyle);\n }\n }\n return result;\n}\nfunction readStyle(options) {\n return {\n backgroundColor: options.backgroundColor,\n borderCapStyle: options.borderCapStyle,\n borderDash: options.borderDash,\n borderDashOffset: options.borderDashOffset,\n borderJoinStyle: options.borderJoinStyle,\n borderWidth: options.borderWidth,\n borderColor: options.borderColor\n };\n}\nfunction styleChanged(style, prevStyle) {\n return prevStyle && JSON.stringify(style) !== JSON.stringify(prevStyle);\n}\n\nexport { _toLeftRightCenter as $, _rlookupByKey as A, getAngleFromPoint as B, toPadding as C, each as D, getMaximumSize as E, _getParentNode as F, readUsedSize as G, HALF_PI as H, throttled as I, supportsEventListenerOptions as J, _isDomSupported as K, log10 as L, _factorize as M, finiteOrDefault as N, callback as O, PI as P, _addGrace as Q, toDegrees as R, _measureText as S, TAU as T, _int16Range as U, _alignPixel as V, clipArea as W, renderText as X, unclipArea as Y, toFont as Z, _arrayUnique as _, resolve as a, _angleDiff as a$, _alignStartEnd as a0, overrides as a1, merge as a2, _capitalize as a3, descriptors as a4, isFunction as a5, _attachContext as a6, _createResolver as a7, _descriptors as a8, mergeIf as a9, restoreTextDirection as aA, noop as aB, distanceBetweenPoints as aC, _setMinAndMaxByKey as aD, niceNum as aE, almostWhole as aF, almostEquals as aG, _decimalPlaces as aH, _longestText as aI, _filterBetween as aJ, _lookup as aK, getHoverColor as aL, clone$1 as aM, _merger as aN, _mergerIf as aO, _deprecated as aP, toFontString as aQ, splineCurve as aR, splineCurveMonotone as aS, getStyle as aT, fontString as aU, toLineHeight as aV, PITAU as aW, INFINITY as aX, RAD_PER_DEG as aY, QUARTER_PI as aZ, TWO_THIRDS_PI as a_, uid as aa, debounce as ab, retinaScale as ac, clearCanvas as ad, setsEqual as ae, _elementsEqual as af, _isClickEvent as ag, _isBetween as ah, _readValueToProps as ai, _updateBezierControlPoints as aj, _computeSegments as ak, _boundSegments as al, _steppedInterpolation as am, _bezierInterpolation as an, _pointInLine as ao, _steppedLineTo as ap, _bezierCurveTo as aq, drawPoint as ar, addRoundedRectPath as as, toTRBL as at, toTRBLCorners as au, _boundSegment as av, _normalizeAngle as aw, getRtlAdapter as ax, overrideTextDirection as ay, _textX as az, isArray as b, color as c, defaults as d, effects as e, resolveObjectKey as f, isNumberFinite as g, createContext as h, isObject as i, defined as j, isNullOrUndef as k, listenArrayEvents as l, toPercentage as m, toDimension as n, formatNumber as o, _angleBetween as p, isNumber as q, requestAnimFrame as r, sign as s, toRadians as t, unlistenArrayEvents as u, valueOrDefault as v, _limitValue as w, _lookupByKey as x, getRelativePosition as y, _isPointInArea as z };\n","/*!\n * Chart.js v3.7.1\n * https://www.chartjs.org\n * (c) 2022 Chart.js Contributors\n * Released under the MIT License\n */\nimport { r as requestAnimFrame, a as resolve, e as effects, c as color, d as defaults, i as isObject, b as isArray, v as valueOrDefault, u as unlistenArrayEvents, l as listenArrayEvents, f as resolveObjectKey, g as isNumberFinite, h as createContext, j as defined, s as sign, k as isNullOrUndef, _ as _arrayUnique, t as toRadians, m as toPercentage, n as toDimension, T as TAU, o as formatNumber, p as _angleBetween, H as HALF_PI, P as PI, q as isNumber, w as _limitValue, x as _lookupByKey, y as getRelativePosition$1, z as _isPointInArea, A as _rlookupByKey, B as getAngleFromPoint, C as toPadding, D as each, E as getMaximumSize, F as _getParentNode, G as readUsedSize, I as throttled, J as supportsEventListenerOptions, K as _isDomSupported, L as log10, M as _factorize, N as finiteOrDefault, O as callback, Q as _addGrace, R as toDegrees, S as _measureText, U as _int16Range, V as _alignPixel, W as clipArea, X as renderText, Y as unclipArea, Z as toFont, $ as _toLeftRightCenter, a0 as _alignStartEnd, a1 as overrides, a2 as merge, a3 as _capitalize, a4 as descriptors, a5 as isFunction, a6 as _attachContext, a7 as _createResolver, a8 as _descriptors, a9 as mergeIf, aa as uid, ab as debounce, ac as retinaScale, ad as clearCanvas, ae as setsEqual, af as _elementsEqual, ag as _isClickEvent, ah as _isBetween, ai as _readValueToProps, aj as _updateBezierControlPoints, ak as _computeSegments, al as _boundSegments, am as _steppedInterpolation, an as _bezierInterpolation, ao as _pointInLine, ap as _steppedLineTo, aq as _bezierCurveTo, ar as drawPoint, as as addRoundedRectPath, at as toTRBL, au as toTRBLCorners, av as _boundSegment, aw as _normalizeAngle, ax as getRtlAdapter, ay as overrideTextDirection, az as _textX, aA as restoreTextDirection, aB as noop, aC as distanceBetweenPoints, aD as _setMinAndMaxByKey, aE as niceNum, aF as almostWhole, aG as almostEquals, aH as _decimalPlaces, aI as _longestText, aJ as _filterBetween, aK as _lookup } from './chunks/helpers.segment.js';\nexport { d as defaults } from './chunks/helpers.segment.js';\n\nclass Animator {\n constructor() {\n this._request = null;\n this._charts = new Map();\n this._running = false;\n this._lastDate = undefined;\n }\n _notify(chart, anims, date, type) {\n const callbacks = anims.listeners[type];\n const numSteps = anims.duration;\n callbacks.forEach(fn => fn({\n chart,\n initial: anims.initial,\n numSteps,\n currentStep: Math.min(date - anims.start, numSteps)\n }));\n }\n _refresh() {\n if (this._request) {\n return;\n }\n this._running = true;\n this._request = requestAnimFrame.call(window, () => {\n this._update();\n this._request = null;\n if (this._running) {\n this._refresh();\n }\n });\n }\n _update(date = Date.now()) {\n let remaining = 0;\n this._charts.forEach((anims, chart) => {\n if (!anims.running || !anims.items.length) {\n return;\n }\n const items = anims.items;\n let i = items.length - 1;\n let draw = false;\n let item;\n for (; i >= 0; --i) {\n item = items[i];\n if (item._active) {\n if (item._total > anims.duration) {\n anims.duration = item._total;\n }\n item.tick(date);\n draw = true;\n } else {\n items[i] = items[items.length - 1];\n items.pop();\n }\n }\n if (draw) {\n chart.draw();\n this._notify(chart, anims, date, 'progress');\n }\n if (!items.length) {\n anims.running = false;\n this._notify(chart, anims, date, 'complete');\n anims.initial = false;\n }\n remaining += items.length;\n });\n this._lastDate = date;\n if (remaining === 0) {\n this._running = false;\n }\n }\n _getAnims(chart) {\n const charts = this._charts;\n let anims = charts.get(chart);\n if (!anims) {\n anims = {\n running: false,\n initial: true,\n items: [],\n listeners: {\n complete: [],\n progress: []\n }\n };\n charts.set(chart, anims);\n }\n return anims;\n }\n listen(chart, event, cb) {\n this._getAnims(chart).listeners[event].push(cb);\n }\n add(chart, items) {\n if (!items || !items.length) {\n return;\n }\n this._getAnims(chart).items.push(...items);\n }\n has(chart) {\n return this._getAnims(chart).items.length > 0;\n }\n start(chart) {\n const anims = this._charts.get(chart);\n if (!anims) {\n return;\n }\n anims.running = true;\n anims.start = Date.now();\n anims.duration = anims.items.reduce((acc, cur) => Math.max(acc, cur._duration), 0);\n this._refresh();\n }\n running(chart) {\n if (!this._running) {\n return false;\n }\n const anims = this._charts.get(chart);\n if (!anims || !anims.running || !anims.items.length) {\n return false;\n }\n return true;\n }\n stop(chart) {\n const anims = this._charts.get(chart);\n if (!anims || !anims.items.length) {\n return;\n }\n const items = anims.items;\n let i = items.length - 1;\n for (; i >= 0; --i) {\n items[i].cancel();\n }\n anims.items = [];\n this._notify(chart, anims, Date.now(), 'complete');\n }\n remove(chart) {\n return this._charts.delete(chart);\n }\n}\nvar animator = new Animator();\n\nconst transparent = 'transparent';\nconst interpolators = {\n boolean(from, to, factor) {\n return factor > 0.5 ? to : from;\n },\n color(from, to, factor) {\n const c0 = color(from || transparent);\n const c1 = c0.valid && color(to || transparent);\n return c1 && c1.valid\n ? c1.mix(c0, factor).hexString()\n : to;\n },\n number(from, to, factor) {\n return from + (to - from) * factor;\n }\n};\nclass Animation {\n constructor(cfg, target, prop, to) {\n const currentValue = target[prop];\n to = resolve([cfg.to, to, currentValue, cfg.from]);\n const from = resolve([cfg.from, currentValue, to]);\n this._active = true;\n this._fn = cfg.fn || interpolators[cfg.type || typeof from];\n this._easing = effects[cfg.easing] || effects.linear;\n this._start = Math.floor(Date.now() + (cfg.delay || 0));\n this._duration = this._total = Math.floor(cfg.duration);\n this._loop = !!cfg.loop;\n this._target = target;\n this._prop = prop;\n this._from = from;\n this._to = to;\n this._promises = undefined;\n }\n active() {\n return this._active;\n }\n update(cfg, to, date) {\n if (this._active) {\n this._notify(false);\n const currentValue = this._target[this._prop];\n const elapsed = date - this._start;\n const remain = this._duration - elapsed;\n this._start = date;\n this._duration = Math.floor(Math.max(remain, cfg.duration));\n this._total += elapsed;\n this._loop = !!cfg.loop;\n this._to = resolve([cfg.to, to, currentValue, cfg.from]);\n this._from = resolve([cfg.from, currentValue, to]);\n }\n }\n cancel() {\n if (this._active) {\n this.tick(Date.now());\n this._active = false;\n this._notify(false);\n }\n }\n tick(date) {\n const elapsed = date - this._start;\n const duration = this._duration;\n const prop = this._prop;\n const from = this._from;\n const loop = this._loop;\n const to = this._to;\n let factor;\n this._active = from !== to && (loop || (elapsed < duration));\n if (!this._active) {\n this._target[prop] = to;\n this._notify(true);\n return;\n }\n if (elapsed < 0) {\n this._target[prop] = from;\n return;\n }\n factor = (elapsed / duration) % 2;\n factor = loop && factor > 1 ? 2 - factor : factor;\n factor = this._easing(Math.min(1, Math.max(0, factor)));\n this._target[prop] = this._fn(from, to, factor);\n }\n wait() {\n const promises = this._promises || (this._promises = []);\n return new Promise((res, rej) => {\n promises.push({res, rej});\n });\n }\n _notify(resolved) {\n const method = resolved ? 'res' : 'rej';\n const promises = this._promises || [];\n for (let i = 0; i < promises.length; i++) {\n promises[i][method]();\n }\n }\n}\n\nconst numbers = ['x', 'y', 'borderWidth', 'radius', 'tension'];\nconst colors = ['color', 'borderColor', 'backgroundColor'];\ndefaults.set('animation', {\n delay: undefined,\n duration: 1000,\n easing: 'easeOutQuart',\n fn: undefined,\n from: undefined,\n loop: undefined,\n to: undefined,\n type: undefined,\n});\nconst animationOptions = Object.keys(defaults.animation);\ndefaults.describe('animation', {\n _fallback: false,\n _indexable: false,\n _scriptable: (name) => name !== 'onProgress' && name !== 'onComplete' && name !== 'fn',\n});\ndefaults.set('animations', {\n colors: {\n type: 'color',\n properties: colors\n },\n numbers: {\n type: 'number',\n properties: numbers\n },\n});\ndefaults.describe('animations', {\n _fallback: 'animation',\n});\ndefaults.set('transitions', {\n active: {\n animation: {\n duration: 400\n }\n },\n resize: {\n animation: {\n duration: 0\n }\n },\n show: {\n animations: {\n colors: {\n from: 'transparent'\n },\n visible: {\n type: 'boolean',\n duration: 0\n },\n }\n },\n hide: {\n animations: {\n colors: {\n to: 'transparent'\n },\n visible: {\n type: 'boolean',\n easing: 'linear',\n fn: v => v | 0\n },\n }\n }\n});\nclass Animations {\n constructor(chart, config) {\n this._chart = chart;\n this._properties = new Map();\n this.configure(config);\n }\n configure(config) {\n if (!isObject(config)) {\n return;\n }\n const animatedProps = this._properties;\n Object.getOwnPropertyNames(config).forEach(key => {\n const cfg = config[key];\n if (!isObject(cfg)) {\n return;\n }\n const resolved = {};\n for (const option of animationOptions) {\n resolved[option] = cfg[option];\n }\n (isArray(cfg.properties) && cfg.properties || [key]).forEach((prop) => {\n if (prop === key || !animatedProps.has(prop)) {\n animatedProps.set(prop, resolved);\n }\n });\n });\n }\n _animateOptions(target, values) {\n const newOptions = values.options;\n const options = resolveTargetOptions(target, newOptions);\n if (!options) {\n return [];\n }\n const animations = this._createAnimations(options, newOptions);\n if (newOptions.$shared) {\n awaitAll(target.options.$animations, newOptions).then(() => {\n target.options = newOptions;\n }, () => {\n });\n }\n return animations;\n }\n _createAnimations(target, values) {\n const animatedProps = this._properties;\n const animations = [];\n const running = target.$animations || (target.$animations = {});\n const props = Object.keys(values);\n const date = Date.now();\n let i;\n for (i = props.length - 1; i >= 0; --i) {\n const prop = props[i];\n if (prop.charAt(0) === '$') {\n continue;\n }\n if (prop === 'options') {\n animations.push(...this._animateOptions(target, values));\n continue;\n }\n const value = values[prop];\n let animation = running[prop];\n const cfg = animatedProps.get(prop);\n if (animation) {\n if (cfg && animation.active()) {\n animation.update(cfg, value, date);\n continue;\n } else {\n animation.cancel();\n }\n }\n if (!cfg || !cfg.duration) {\n target[prop] = value;\n continue;\n }\n running[prop] = animation = new Animation(cfg, target, prop, value);\n animations.push(animation);\n }\n return animations;\n }\n update(target, values) {\n if (this._properties.size === 0) {\n Object.assign(target, values);\n return;\n }\n const animations = this._createAnimations(target, values);\n if (animations.length) {\n animator.add(this._chart, animations);\n return true;\n }\n }\n}\nfunction awaitAll(animations, properties) {\n const running = [];\n const keys = Object.keys(properties);\n for (let i = 0; i < keys.length; i++) {\n const anim = animations[keys[i]];\n if (anim && anim.active()) {\n running.push(anim.wait());\n }\n }\n return Promise.all(running);\n}\nfunction resolveTargetOptions(target, newOptions) {\n if (!newOptions) {\n return;\n }\n let options = target.options;\n if (!options) {\n target.options = newOptions;\n return;\n }\n if (options.$shared) {\n target.options = options = Object.assign({}, options, {$shared: false, $animations: {}});\n }\n return options;\n}\n\nfunction scaleClip(scale, allowedOverflow) {\n const opts = scale && scale.options || {};\n const reverse = opts.reverse;\n const min = opts.min === undefined ? allowedOverflow : 0;\n const max = opts.max === undefined ? allowedOverflow : 0;\n return {\n start: reverse ? max : min,\n end: reverse ? min : max\n };\n}\nfunction defaultClip(xScale, yScale, allowedOverflow) {\n if (allowedOverflow === false) {\n return false;\n }\n const x = scaleClip(xScale, allowedOverflow);\n const y = scaleClip(yScale, allowedOverflow);\n return {\n top: y.end,\n right: x.end,\n bottom: y.start,\n left: x.start\n };\n}\nfunction toClip(value) {\n let t, r, b, l;\n if (isObject(value)) {\n t = value.top;\n r = value.right;\n b = value.bottom;\n l = value.left;\n } else {\n t = r = b = l = value;\n }\n return {\n top: t,\n right: r,\n bottom: b,\n left: l,\n disabled: value === false\n };\n}\nfunction getSortedDatasetIndices(chart, filterVisible) {\n const keys = [];\n const metasets = chart._getSortedDatasetMetas(filterVisible);\n let i, ilen;\n for (i = 0, ilen = metasets.length; i < ilen; ++i) {\n keys.push(metasets[i].index);\n }\n return keys;\n}\nfunction applyStack(stack, value, dsIndex, options = {}) {\n const keys = stack.keys;\n const singleMode = options.mode === 'single';\n let i, ilen, datasetIndex, otherValue;\n if (value === null) {\n return;\n }\n for (i = 0, ilen = keys.length; i < ilen; ++i) {\n datasetIndex = +keys[i];\n if (datasetIndex === dsIndex) {\n if (options.all) {\n continue;\n }\n break;\n }\n otherValue = stack.values[datasetIndex];\n if (isNumberFinite(otherValue) && (singleMode || (value === 0 || sign(value) === sign(otherValue)))) {\n value += otherValue;\n }\n }\n return value;\n}\nfunction convertObjectDataToArray(data) {\n const keys = Object.keys(data);\n const adata = new Array(keys.length);\n let i, ilen, key;\n for (i = 0, ilen = keys.length; i < ilen; ++i) {\n key = keys[i];\n adata[i] = {\n x: key,\n y: data[key]\n };\n }\n return adata;\n}\nfunction isStacked(scale, meta) {\n const stacked = scale && scale.options.stacked;\n return stacked || (stacked === undefined && meta.stack !== undefined);\n}\nfunction getStackKey(indexScale, valueScale, meta) {\n return `${indexScale.id}.${valueScale.id}.${meta.stack || meta.type}`;\n}\nfunction getUserBounds(scale) {\n const {min, max, minDefined, maxDefined} = scale.getUserBounds();\n return {\n min: minDefined ? min : Number.NEGATIVE_INFINITY,\n max: maxDefined ? max : Number.POSITIVE_INFINITY\n };\n}\nfunction getOrCreateStack(stacks, stackKey, indexValue) {\n const subStack = stacks[stackKey] || (stacks[stackKey] = {});\n return subStack[indexValue] || (subStack[indexValue] = {});\n}\nfunction getLastIndexInStack(stack, vScale, positive, type) {\n for (const meta of vScale.getMatchingVisibleMetas(type).reverse()) {\n const value = stack[meta.index];\n if ((positive && value > 0) || (!positive && value < 0)) {\n return meta.index;\n }\n }\n return null;\n}\nfunction updateStacks(controller, parsed) {\n const {chart, _cachedMeta: meta} = controller;\n const stacks = chart._stacks || (chart._stacks = {});\n const {iScale, vScale, index: datasetIndex} = meta;\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const key = getStackKey(iScale, vScale, meta);\n const ilen = parsed.length;\n let stack;\n for (let i = 0; i < ilen; ++i) {\n const item = parsed[i];\n const {[iAxis]: index, [vAxis]: value} = item;\n const itemStacks = item._stacks || (item._stacks = {});\n stack = itemStacks[vAxis] = getOrCreateStack(stacks, key, index);\n stack[datasetIndex] = value;\n stack._top = getLastIndexInStack(stack, vScale, true, meta.type);\n stack._bottom = getLastIndexInStack(stack, vScale, false, meta.type);\n }\n}\nfunction getFirstScaleId(chart, axis) {\n const scales = chart.scales;\n return Object.keys(scales).filter(key => scales[key].axis === axis).shift();\n}\nfunction createDatasetContext(parent, index) {\n return createContext(parent,\n {\n active: false,\n dataset: undefined,\n datasetIndex: index,\n index,\n mode: 'default',\n type: 'dataset'\n }\n );\n}\nfunction createDataContext(parent, index, element) {\n return createContext(parent, {\n active: false,\n dataIndex: index,\n parsed: undefined,\n raw: undefined,\n element,\n index,\n mode: 'default',\n type: 'data'\n });\n}\nfunction clearStacks(meta, items) {\n const datasetIndex = meta.controller.index;\n const axis = meta.vScale && meta.vScale.axis;\n if (!axis) {\n return;\n }\n items = items || meta._parsed;\n for (const parsed of items) {\n const stacks = parsed._stacks;\n if (!stacks || stacks[axis] === undefined || stacks[axis][datasetIndex] === undefined) {\n return;\n }\n delete stacks[axis][datasetIndex];\n }\n}\nconst isDirectUpdateMode = (mode) => mode === 'reset' || mode === 'none';\nconst cloneIfNotShared = (cached, shared) => shared ? cached : Object.assign({}, cached);\nconst createStack = (canStack, meta, chart) => canStack && !meta.hidden && meta._stacked\n && {keys: getSortedDatasetIndices(chart, true), values: null};\nclass DatasetController {\n constructor(chart, datasetIndex) {\n this.chart = chart;\n this._ctx = chart.ctx;\n this.index = datasetIndex;\n this._cachedDataOpts = {};\n this._cachedMeta = this.getMeta();\n this._type = this._cachedMeta.type;\n this.options = undefined;\n this._parsing = false;\n this._data = undefined;\n this._objectData = undefined;\n this._sharedOptions = undefined;\n this._drawStart = undefined;\n this._drawCount = undefined;\n this.enableOptionSharing = false;\n this.$context = undefined;\n this._syncList = [];\n this.initialize();\n }\n initialize() {\n const meta = this._cachedMeta;\n this.configure();\n this.linkScales();\n meta._stacked = isStacked(meta.vScale, meta);\n this.addElements();\n }\n updateIndex(datasetIndex) {\n if (this.index !== datasetIndex) {\n clearStacks(this._cachedMeta);\n }\n this.index = datasetIndex;\n }\n linkScales() {\n const chart = this.chart;\n const meta = this._cachedMeta;\n const dataset = this.getDataset();\n const chooseId = (axis, x, y, r) => axis === 'x' ? x : axis === 'r' ? r : y;\n const xid = meta.xAxisID = valueOrDefault(dataset.xAxisID, getFirstScaleId(chart, 'x'));\n const yid = meta.yAxisID = valueOrDefault(dataset.yAxisID, getFirstScaleId(chart, 'y'));\n const rid = meta.rAxisID = valueOrDefault(dataset.rAxisID, getFirstScaleId(chart, 'r'));\n const indexAxis = meta.indexAxis;\n const iid = meta.iAxisID = chooseId(indexAxis, xid, yid, rid);\n const vid = meta.vAxisID = chooseId(indexAxis, yid, xid, rid);\n meta.xScale = this.getScaleForId(xid);\n meta.yScale = this.getScaleForId(yid);\n meta.rScale = this.getScaleForId(rid);\n meta.iScale = this.getScaleForId(iid);\n meta.vScale = this.getScaleForId(vid);\n }\n getDataset() {\n return this.chart.data.datasets[this.index];\n }\n getMeta() {\n return this.chart.getDatasetMeta(this.index);\n }\n getScaleForId(scaleID) {\n return this.chart.scales[scaleID];\n }\n _getOtherScale(scale) {\n const meta = this._cachedMeta;\n return scale === meta.iScale\n ? meta.vScale\n : meta.iScale;\n }\n reset() {\n this._update('reset');\n }\n _destroy() {\n const meta = this._cachedMeta;\n if (this._data) {\n unlistenArrayEvents(this._data, this);\n }\n if (meta._stacked) {\n clearStacks(meta);\n }\n }\n _dataCheck() {\n const dataset = this.getDataset();\n const data = dataset.data || (dataset.data = []);\n const _data = this._data;\n if (isObject(data)) {\n this._data = convertObjectDataToArray(data);\n } else if (_data !== data) {\n if (_data) {\n unlistenArrayEvents(_data, this);\n const meta = this._cachedMeta;\n clearStacks(meta);\n meta._parsed = [];\n }\n if (data && Object.isExtensible(data)) {\n listenArrayEvents(data, this);\n }\n this._syncList = [];\n this._data = data;\n }\n }\n addElements() {\n const meta = this._cachedMeta;\n this._dataCheck();\n if (this.datasetElementType) {\n meta.dataset = new this.datasetElementType();\n }\n }\n buildOrUpdateElements(resetNewElements) {\n const meta = this._cachedMeta;\n const dataset = this.getDataset();\n let stackChanged = false;\n this._dataCheck();\n const oldStacked = meta._stacked;\n meta._stacked = isStacked(meta.vScale, meta);\n if (meta.stack !== dataset.stack) {\n stackChanged = true;\n clearStacks(meta);\n meta.stack = dataset.stack;\n }\n this._resyncElements(resetNewElements);\n if (stackChanged || oldStacked !== meta._stacked) {\n updateStacks(this, meta._parsed);\n }\n }\n configure() {\n const config = this.chart.config;\n const scopeKeys = config.datasetScopeKeys(this._type);\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys, true);\n this.options = config.createResolver(scopes, this.getContext());\n this._parsing = this.options.parsing;\n this._cachedDataOpts = {};\n }\n parse(start, count) {\n const {_cachedMeta: meta, _data: data} = this;\n const {iScale, _stacked} = meta;\n const iAxis = iScale.axis;\n let sorted = start === 0 && count === data.length ? true : meta._sorted;\n let prev = start > 0 && meta._parsed[start - 1];\n let i, cur, parsed;\n if (this._parsing === false) {\n meta._parsed = data;\n meta._sorted = true;\n parsed = data;\n } else {\n if (isArray(data[start])) {\n parsed = this.parseArrayData(meta, data, start, count);\n } else if (isObject(data[start])) {\n parsed = this.parseObjectData(meta, data, start, count);\n } else {\n parsed = this.parsePrimitiveData(meta, data, start, count);\n }\n const isNotInOrderComparedToPrev = () => cur[iAxis] === null || (prev && cur[iAxis] < prev[iAxis]);\n for (i = 0; i < count; ++i) {\n meta._parsed[i + start] = cur = parsed[i];\n if (sorted) {\n if (isNotInOrderComparedToPrev()) {\n sorted = false;\n }\n prev = cur;\n }\n }\n meta._sorted = sorted;\n }\n if (_stacked) {\n updateStacks(this, parsed);\n }\n }\n parsePrimitiveData(meta, data, start, count) {\n const {iScale, vScale} = meta;\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const labels = iScale.getLabels();\n const singleScale = iScale === vScale;\n const parsed = new Array(count);\n let i, ilen, index;\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n parsed[i] = {\n [iAxis]: singleScale || iScale.parse(labels[index], index),\n [vAxis]: vScale.parse(data[index], index)\n };\n }\n return parsed;\n }\n parseArrayData(meta, data, start, count) {\n const {xScale, yScale} = meta;\n const parsed = new Array(count);\n let i, ilen, index, item;\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n item = data[index];\n parsed[i] = {\n x: xScale.parse(item[0], index),\n y: yScale.parse(item[1], index)\n };\n }\n return parsed;\n }\n parseObjectData(meta, data, start, count) {\n const {xScale, yScale} = meta;\n const {xAxisKey = 'x', yAxisKey = 'y'} = this._parsing;\n const parsed = new Array(count);\n let i, ilen, index, item;\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n item = data[index];\n parsed[i] = {\n x: xScale.parse(resolveObjectKey(item, xAxisKey), index),\n y: yScale.parse(resolveObjectKey(item, yAxisKey), index)\n };\n }\n return parsed;\n }\n getParsed(index) {\n return this._cachedMeta._parsed[index];\n }\n getDataElement(index) {\n return this._cachedMeta.data[index];\n }\n applyStack(scale, parsed, mode) {\n const chart = this.chart;\n const meta = this._cachedMeta;\n const value = parsed[scale.axis];\n const stack = {\n keys: getSortedDatasetIndices(chart, true),\n values: parsed._stacks[scale.axis]\n };\n return applyStack(stack, value, meta.index, {mode});\n }\n updateRangeFromParsed(range, scale, parsed, stack) {\n const parsedValue = parsed[scale.axis];\n let value = parsedValue === null ? NaN : parsedValue;\n const values = stack && parsed._stacks[scale.axis];\n if (stack && values) {\n stack.values = values;\n value = applyStack(stack, parsedValue, this._cachedMeta.index);\n }\n range.min = Math.min(range.min, value);\n range.max = Math.max(range.max, value);\n }\n getMinMax(scale, canStack) {\n const meta = this._cachedMeta;\n const _parsed = meta._parsed;\n const sorted = meta._sorted && scale === meta.iScale;\n const ilen = _parsed.length;\n const otherScale = this._getOtherScale(scale);\n const stack = createStack(canStack, meta, this.chart);\n const range = {min: Number.POSITIVE_INFINITY, max: Number.NEGATIVE_INFINITY};\n const {min: otherMin, max: otherMax} = getUserBounds(otherScale);\n let i, parsed;\n function _skip() {\n parsed = _parsed[i];\n const otherValue = parsed[otherScale.axis];\n return !isNumberFinite(parsed[scale.axis]) || otherMin > otherValue || otherMax < otherValue;\n }\n for (i = 0; i < ilen; ++i) {\n if (_skip()) {\n continue;\n }\n this.updateRangeFromParsed(range, scale, parsed, stack);\n if (sorted) {\n break;\n }\n }\n if (sorted) {\n for (i = ilen - 1; i >= 0; --i) {\n if (_skip()) {\n continue;\n }\n this.updateRangeFromParsed(range, scale, parsed, stack);\n break;\n }\n }\n return range;\n }\n getAllParsedValues(scale) {\n const parsed = this._cachedMeta._parsed;\n const values = [];\n let i, ilen, value;\n for (i = 0, ilen = parsed.length; i < ilen; ++i) {\n value = parsed[i][scale.axis];\n if (isNumberFinite(value)) {\n values.push(value);\n }\n }\n return values;\n }\n getMaxOverflow() {\n return false;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const iScale = meta.iScale;\n const vScale = meta.vScale;\n const parsed = this.getParsed(index);\n return {\n label: iScale ? '' + iScale.getLabelForValue(parsed[iScale.axis]) : '',\n value: vScale ? '' + vScale.getLabelForValue(parsed[vScale.axis]) : ''\n };\n }\n _update(mode) {\n const meta = this._cachedMeta;\n this.update(mode || 'default');\n meta._clip = toClip(valueOrDefault(this.options.clip, defaultClip(meta.xScale, meta.yScale, this.getMaxOverflow())));\n }\n update(mode) {}\n draw() {\n const ctx = this._ctx;\n const chart = this.chart;\n const meta = this._cachedMeta;\n const elements = meta.data || [];\n const area = chart.chartArea;\n const active = [];\n const start = this._drawStart || 0;\n const count = this._drawCount || (elements.length - start);\n const drawActiveElementsOnTop = this.options.drawActiveElementsOnTop;\n let i;\n if (meta.dataset) {\n meta.dataset.draw(ctx, area, start, count);\n }\n for (i = start; i < start + count; ++i) {\n const element = elements[i];\n if (element.hidden) {\n continue;\n }\n if (element.active && drawActiveElementsOnTop) {\n active.push(element);\n } else {\n element.draw(ctx, area);\n }\n }\n for (i = 0; i < active.length; ++i) {\n active[i].draw(ctx, area);\n }\n }\n getStyle(index, active) {\n const mode = active ? 'active' : 'default';\n return index === undefined && this._cachedMeta.dataset\n ? this.resolveDatasetElementOptions(mode)\n : this.resolveDataElementOptions(index || 0, mode);\n }\n getContext(index, active, mode) {\n const dataset = this.getDataset();\n let context;\n if (index >= 0 && index < this._cachedMeta.data.length) {\n const element = this._cachedMeta.data[index];\n context = element.$context ||\n (element.$context = createDataContext(this.getContext(), index, element));\n context.parsed = this.getParsed(index);\n context.raw = dataset.data[index];\n context.index = context.dataIndex = index;\n } else {\n context = this.$context ||\n (this.$context = createDatasetContext(this.chart.getContext(), this.index));\n context.dataset = dataset;\n context.index = context.datasetIndex = this.index;\n }\n context.active = !!active;\n context.mode = mode;\n return context;\n }\n resolveDatasetElementOptions(mode) {\n return this._resolveElementOptions(this.datasetElementType.id, mode);\n }\n resolveDataElementOptions(index, mode) {\n return this._resolveElementOptions(this.dataElementType.id, mode, index);\n }\n _resolveElementOptions(elementType, mode = 'default', index) {\n const active = mode === 'active';\n const cache = this._cachedDataOpts;\n const cacheKey = elementType + '-' + mode;\n const cached = cache[cacheKey];\n const sharing = this.enableOptionSharing && defined(index);\n if (cached) {\n return cloneIfNotShared(cached, sharing);\n }\n const config = this.chart.config;\n const scopeKeys = config.datasetElementScopeKeys(this._type, elementType);\n const prefixes = active ? [`${elementType}Hover`, 'hover', elementType, ''] : [elementType, ''];\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys);\n const names = Object.keys(defaults.elements[elementType]);\n const context = () => this.getContext(index, active);\n const values = config.resolveNamedOptions(scopes, names, context, prefixes);\n if (values.$shared) {\n values.$shared = sharing;\n cache[cacheKey] = Object.freeze(cloneIfNotShared(values, sharing));\n }\n return values;\n }\n _resolveAnimations(index, transition, active) {\n const chart = this.chart;\n const cache = this._cachedDataOpts;\n const cacheKey = `animation-${transition}`;\n const cached = cache[cacheKey];\n if (cached) {\n return cached;\n }\n let options;\n if (chart.options.animation !== false) {\n const config = this.chart.config;\n const scopeKeys = config.datasetAnimationScopeKeys(this._type, transition);\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys);\n options = config.createResolver(scopes, this.getContext(index, active, transition));\n }\n const animations = new Animations(chart, options && options.animations);\n if (options && options._cacheable) {\n cache[cacheKey] = Object.freeze(animations);\n }\n return animations;\n }\n getSharedOptions(options) {\n if (!options.$shared) {\n return;\n }\n return this._sharedOptions || (this._sharedOptions = Object.assign({}, options));\n }\n includeOptions(mode, sharedOptions) {\n return !sharedOptions || isDirectUpdateMode(mode) || this.chart._animationsDisabled;\n }\n updateElement(element, index, properties, mode) {\n if (isDirectUpdateMode(mode)) {\n Object.assign(element, properties);\n } else {\n this._resolveAnimations(index, mode).update(element, properties);\n }\n }\n updateSharedOptions(sharedOptions, mode, newOptions) {\n if (sharedOptions && !isDirectUpdateMode(mode)) {\n this._resolveAnimations(undefined, mode).update(sharedOptions, newOptions);\n }\n }\n _setStyle(element, index, mode, active) {\n element.active = active;\n const options = this.getStyle(index, active);\n this._resolveAnimations(index, mode, active).update(element, {\n options: (!active && this.getSharedOptions(options)) || options\n });\n }\n removeHoverStyle(element, datasetIndex, index) {\n this._setStyle(element, index, 'active', false);\n }\n setHoverStyle(element, datasetIndex, index) {\n this._setStyle(element, index, 'active', true);\n }\n _removeDatasetHoverStyle() {\n const element = this._cachedMeta.dataset;\n if (element) {\n this._setStyle(element, undefined, 'active', false);\n }\n }\n _setDatasetHoverStyle() {\n const element = this._cachedMeta.dataset;\n if (element) {\n this._setStyle(element, undefined, 'active', true);\n }\n }\n _resyncElements(resetNewElements) {\n const data = this._data;\n const elements = this._cachedMeta.data;\n for (const [method, arg1, arg2] of this._syncList) {\n this[method](arg1, arg2);\n }\n this._syncList = [];\n const numMeta = elements.length;\n const numData = data.length;\n const count = Math.min(numData, numMeta);\n if (count) {\n this.parse(0, count);\n }\n if (numData > numMeta) {\n this._insertElements(numMeta, numData - numMeta, resetNewElements);\n } else if (numData < numMeta) {\n this._removeElements(numData, numMeta - numData);\n }\n }\n _insertElements(start, count, resetNewElements = true) {\n const meta = this._cachedMeta;\n const data = meta.data;\n const end = start + count;\n let i;\n const move = (arr) => {\n arr.length += count;\n for (i = arr.length - 1; i >= end; i--) {\n arr[i] = arr[i - count];\n }\n };\n move(data);\n for (i = start; i < end; ++i) {\n data[i] = new this.dataElementType();\n }\n if (this._parsing) {\n move(meta._parsed);\n }\n this.parse(start, count);\n if (resetNewElements) {\n this.updateElements(data, start, count, 'reset');\n }\n }\n updateElements(element, start, count, mode) {}\n _removeElements(start, count) {\n const meta = this._cachedMeta;\n if (this._parsing) {\n const removed = meta._parsed.splice(start, count);\n if (meta._stacked) {\n clearStacks(meta, removed);\n }\n }\n meta.data.splice(start, count);\n }\n _sync(args) {\n if (this._parsing) {\n this._syncList.push(args);\n } else {\n const [method, arg1, arg2] = args;\n this[method](arg1, arg2);\n }\n this.chart._dataChanges.push([this.index, ...args]);\n }\n _onDataPush() {\n const count = arguments.length;\n this._sync(['_insertElements', this.getDataset().data.length - count, count]);\n }\n _onDataPop() {\n this._sync(['_removeElements', this._cachedMeta.data.length - 1, 1]);\n }\n _onDataShift() {\n this._sync(['_removeElements', 0, 1]);\n }\n _onDataSplice(start, count) {\n if (count) {\n this._sync(['_removeElements', start, count]);\n }\n const newCount = arguments.length - 2;\n if (newCount) {\n this._sync(['_insertElements', start, newCount]);\n }\n }\n _onDataUnshift() {\n this._sync(['_insertElements', 0, arguments.length]);\n }\n}\nDatasetController.defaults = {};\nDatasetController.prototype.datasetElementType = null;\nDatasetController.prototype.dataElementType = null;\n\nfunction getAllScaleValues(scale, type) {\n if (!scale._cache.$bar) {\n const visibleMetas = scale.getMatchingVisibleMetas(type);\n let values = [];\n for (let i = 0, ilen = visibleMetas.length; i < ilen; i++) {\n values = values.concat(visibleMetas[i].controller.getAllParsedValues(scale));\n }\n scale._cache.$bar = _arrayUnique(values.sort((a, b) => a - b));\n }\n return scale._cache.$bar;\n}\nfunction computeMinSampleSize(meta) {\n const scale = meta.iScale;\n const values = getAllScaleValues(scale, meta.type);\n let min = scale._length;\n let i, ilen, curr, prev;\n const updateMinAndPrev = () => {\n if (curr === 32767 || curr === -32768) {\n return;\n }\n if (defined(prev)) {\n min = Math.min(min, Math.abs(curr - prev) || min);\n }\n prev = curr;\n };\n for (i = 0, ilen = values.length; i < ilen; ++i) {\n curr = scale.getPixelForValue(values[i]);\n updateMinAndPrev();\n }\n prev = undefined;\n for (i = 0, ilen = scale.ticks.length; i < ilen; ++i) {\n curr = scale.getPixelForTick(i);\n updateMinAndPrev();\n }\n return min;\n}\nfunction computeFitCategoryTraits(index, ruler, options, stackCount) {\n const thickness = options.barThickness;\n let size, ratio;\n if (isNullOrUndef(thickness)) {\n size = ruler.min * options.categoryPercentage;\n ratio = options.barPercentage;\n } else {\n size = thickness * stackCount;\n ratio = 1;\n }\n return {\n chunk: size / stackCount,\n ratio,\n start: ruler.pixels[index] - (size / 2)\n };\n}\nfunction computeFlexCategoryTraits(index, ruler, options, stackCount) {\n const pixels = ruler.pixels;\n const curr = pixels[index];\n let prev = index > 0 ? pixels[index - 1] : null;\n let next = index < pixels.length - 1 ? pixels[index + 1] : null;\n const percent = options.categoryPercentage;\n if (prev === null) {\n prev = curr - (next === null ? ruler.end - ruler.start : next - curr);\n }\n if (next === null) {\n next = curr + curr - prev;\n }\n const start = curr - (curr - Math.min(prev, next)) / 2 * percent;\n const size = Math.abs(next - prev) / 2 * percent;\n return {\n chunk: size / stackCount,\n ratio: options.barPercentage,\n start\n };\n}\nfunction parseFloatBar(entry, item, vScale, i) {\n const startValue = vScale.parse(entry[0], i);\n const endValue = vScale.parse(entry[1], i);\n const min = Math.min(startValue, endValue);\n const max = Math.max(startValue, endValue);\n let barStart = min;\n let barEnd = max;\n if (Math.abs(min) > Math.abs(max)) {\n barStart = max;\n barEnd = min;\n }\n item[vScale.axis] = barEnd;\n item._custom = {\n barStart,\n barEnd,\n start: startValue,\n end: endValue,\n min,\n max\n };\n}\nfunction parseValue(entry, item, vScale, i) {\n if (isArray(entry)) {\n parseFloatBar(entry, item, vScale, i);\n } else {\n item[vScale.axis] = vScale.parse(entry, i);\n }\n return item;\n}\nfunction parseArrayOrPrimitive(meta, data, start, count) {\n const iScale = meta.iScale;\n const vScale = meta.vScale;\n const labels = iScale.getLabels();\n const singleScale = iScale === vScale;\n const parsed = [];\n let i, ilen, item, entry;\n for (i = start, ilen = start + count; i < ilen; ++i) {\n entry = data[i];\n item = {};\n item[iScale.axis] = singleScale || iScale.parse(labels[i], i);\n parsed.push(parseValue(entry, item, vScale, i));\n }\n return parsed;\n}\nfunction isFloatBar(custom) {\n return custom && custom.barStart !== undefined && custom.barEnd !== undefined;\n}\nfunction barSign(size, vScale, actualBase) {\n if (size !== 0) {\n return sign(size);\n }\n return (vScale.isHorizontal() ? 1 : -1) * (vScale.min >= actualBase ? 1 : -1);\n}\nfunction borderProps(properties) {\n let reverse, start, end, top, bottom;\n if (properties.horizontal) {\n reverse = properties.base > properties.x;\n start = 'left';\n end = 'right';\n } else {\n reverse = properties.base < properties.y;\n start = 'bottom';\n end = 'top';\n }\n if (reverse) {\n top = 'end';\n bottom = 'start';\n } else {\n top = 'start';\n bottom = 'end';\n }\n return {start, end, reverse, top, bottom};\n}\nfunction setBorderSkipped(properties, options, stack, index) {\n let edge = options.borderSkipped;\n const res = {};\n if (!edge) {\n properties.borderSkipped = res;\n return;\n }\n const {start, end, reverse, top, bottom} = borderProps(properties);\n if (edge === 'middle' && stack) {\n properties.enableBorderRadius = true;\n if ((stack._top || 0) === index) {\n edge = top;\n } else if ((stack._bottom || 0) === index) {\n edge = bottom;\n } else {\n res[parseEdge(bottom, start, end, reverse)] = true;\n edge = top;\n }\n }\n res[parseEdge(edge, start, end, reverse)] = true;\n properties.borderSkipped = res;\n}\nfunction parseEdge(edge, a, b, reverse) {\n if (reverse) {\n edge = swap(edge, a, b);\n edge = startEnd(edge, b, a);\n } else {\n edge = startEnd(edge, a, b);\n }\n return edge;\n}\nfunction swap(orig, v1, v2) {\n return orig === v1 ? v2 : orig === v2 ? v1 : orig;\n}\nfunction startEnd(v, start, end) {\n return v === 'start' ? start : v === 'end' ? end : v;\n}\nfunction setInflateAmount(properties, {inflateAmount}, ratio) {\n properties.inflateAmount = inflateAmount === 'auto'\n ? ratio === 1 ? 0.33 : 0\n : inflateAmount;\n}\nclass BarController extends DatasetController {\n parsePrimitiveData(meta, data, start, count) {\n return parseArrayOrPrimitive(meta, data, start, count);\n }\n parseArrayData(meta, data, start, count) {\n return parseArrayOrPrimitive(meta, data, start, count);\n }\n parseObjectData(meta, data, start, count) {\n const {iScale, vScale} = meta;\n const {xAxisKey = 'x', yAxisKey = 'y'} = this._parsing;\n const iAxisKey = iScale.axis === 'x' ? xAxisKey : yAxisKey;\n const vAxisKey = vScale.axis === 'x' ? xAxisKey : yAxisKey;\n const parsed = [];\n let i, ilen, item, obj;\n for (i = start, ilen = start + count; i < ilen; ++i) {\n obj = data[i];\n item = {};\n item[iScale.axis] = iScale.parse(resolveObjectKey(obj, iAxisKey), i);\n parsed.push(parseValue(resolveObjectKey(obj, vAxisKey), item, vScale, i));\n }\n return parsed;\n }\n updateRangeFromParsed(range, scale, parsed, stack) {\n super.updateRangeFromParsed(range, scale, parsed, stack);\n const custom = parsed._custom;\n if (custom && scale === this._cachedMeta.vScale) {\n range.min = Math.min(range.min, custom.min);\n range.max = Math.max(range.max, custom.max);\n }\n }\n getMaxOverflow() {\n return 0;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const {iScale, vScale} = meta;\n const parsed = this.getParsed(index);\n const custom = parsed._custom;\n const value = isFloatBar(custom)\n ? '[' + custom.start + ', ' + custom.end + ']'\n : '' + vScale.getLabelForValue(parsed[vScale.axis]);\n return {\n label: '' + iScale.getLabelForValue(parsed[iScale.axis]),\n value\n };\n }\n initialize() {\n this.enableOptionSharing = true;\n super.initialize();\n const meta = this._cachedMeta;\n meta.stack = this.getDataset().stack;\n }\n update(mode) {\n const meta = this._cachedMeta;\n this.updateElements(meta.data, 0, meta.data.length, mode);\n }\n updateElements(bars, start, count, mode) {\n const reset = mode === 'reset';\n const {index, _cachedMeta: {vScale}} = this;\n const base = vScale.getBasePixel();\n const horizontal = vScale.isHorizontal();\n const ruler = this._getRuler();\n const firstOpts = this.resolveDataElementOptions(start, mode);\n const sharedOptions = this.getSharedOptions(firstOpts);\n const includeOptions = this.includeOptions(mode, sharedOptions);\n this.updateSharedOptions(sharedOptions, mode, firstOpts);\n for (let i = start; i < start + count; i++) {\n const parsed = this.getParsed(i);\n const vpixels = reset || isNullOrUndef(parsed[vScale.axis]) ? {base, head: base} : this._calculateBarValuePixels(i);\n const ipixels = this._calculateBarIndexPixels(i, ruler);\n const stack = (parsed._stacks || {})[vScale.axis];\n const properties = {\n horizontal,\n base: vpixels.base,\n enableBorderRadius: !stack || isFloatBar(parsed._custom) || (index === stack._top || index === stack._bottom),\n x: horizontal ? vpixels.head : ipixels.center,\n y: horizontal ? ipixels.center : vpixels.head,\n height: horizontal ? ipixels.size : Math.abs(vpixels.size),\n width: horizontal ? Math.abs(vpixels.size) : ipixels.size\n };\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, bars[i].active ? 'active' : mode);\n }\n const options = properties.options || bars[i].options;\n setBorderSkipped(properties, options, stack, index);\n setInflateAmount(properties, options, ruler.ratio);\n this.updateElement(bars[i], i, properties, mode);\n }\n }\n _getStacks(last, dataIndex) {\n const meta = this._cachedMeta;\n const iScale = meta.iScale;\n const metasets = iScale.getMatchingVisibleMetas(this._type);\n const stacked = iScale.options.stacked;\n const ilen = metasets.length;\n const stacks = [];\n let i, item;\n for (i = 0; i < ilen; ++i) {\n item = metasets[i];\n if (!item.controller.options.grouped) {\n continue;\n }\n if (typeof dataIndex !== 'undefined') {\n const val = item.controller.getParsed(dataIndex)[\n item.controller._cachedMeta.vScale.axis\n ];\n if (isNullOrUndef(val) || isNaN(val)) {\n continue;\n }\n }\n if (stacked === false || stacks.indexOf(item.stack) === -1 ||\n\t\t\t\t(stacked === undefined && item.stack === undefined)) {\n stacks.push(item.stack);\n }\n if (item.index === last) {\n break;\n }\n }\n if (!stacks.length) {\n stacks.push(undefined);\n }\n return stacks;\n }\n _getStackCount(index) {\n return this._getStacks(undefined, index).length;\n }\n _getStackIndex(datasetIndex, name, dataIndex) {\n const stacks = this._getStacks(datasetIndex, dataIndex);\n const index = (name !== undefined)\n ? stacks.indexOf(name)\n : -1;\n return (index === -1)\n ? stacks.length - 1\n : index;\n }\n _getRuler() {\n const opts = this.options;\n const meta = this._cachedMeta;\n const iScale = meta.iScale;\n const pixels = [];\n let i, ilen;\n for (i = 0, ilen = meta.data.length; i < ilen; ++i) {\n pixels.push(iScale.getPixelForValue(this.getParsed(i)[iScale.axis], i));\n }\n const barThickness = opts.barThickness;\n const min = barThickness || computeMinSampleSize(meta);\n return {\n min,\n pixels,\n start: iScale._startPixel,\n end: iScale._endPixel,\n stackCount: this._getStackCount(),\n scale: iScale,\n grouped: opts.grouped,\n ratio: barThickness ? 1 : opts.categoryPercentage * opts.barPercentage\n };\n }\n _calculateBarValuePixels(index) {\n const {_cachedMeta: {vScale, _stacked}, options: {base: baseValue, minBarLength}} = this;\n const actualBase = baseValue || 0;\n const parsed = this.getParsed(index);\n const custom = parsed._custom;\n const floating = isFloatBar(custom);\n let value = parsed[vScale.axis];\n let start = 0;\n let length = _stacked ? this.applyStack(vScale, parsed, _stacked) : value;\n let head, size;\n if (length !== value) {\n start = length - value;\n length = value;\n }\n if (floating) {\n value = custom.barStart;\n length = custom.barEnd - custom.barStart;\n if (value !== 0 && sign(value) !== sign(custom.barEnd)) {\n start = 0;\n }\n start += value;\n }\n const startValue = !isNullOrUndef(baseValue) && !floating ? baseValue : start;\n let base = vScale.getPixelForValue(startValue);\n if (this.chart.getDataVisibility(index)) {\n head = vScale.getPixelForValue(start + length);\n } else {\n head = base;\n }\n size = head - base;\n if (Math.abs(size) < minBarLength) {\n size = barSign(size, vScale, actualBase) * minBarLength;\n if (value === actualBase) {\n base -= size / 2;\n }\n head = base + size;\n }\n if (base === vScale.getPixelForValue(actualBase)) {\n const halfGrid = sign(size) * vScale.getLineWidthForValue(actualBase) / 2;\n base += halfGrid;\n size -= halfGrid;\n }\n return {\n size,\n base,\n head,\n center: head + size / 2\n };\n }\n _calculateBarIndexPixels(index, ruler) {\n const scale = ruler.scale;\n const options = this.options;\n const skipNull = options.skipNull;\n const maxBarThickness = valueOrDefault(options.maxBarThickness, Infinity);\n let center, size;\n if (ruler.grouped) {\n const stackCount = skipNull ? this._getStackCount(index) : ruler.stackCount;\n const range = options.barThickness === 'flex'\n ? computeFlexCategoryTraits(index, ruler, options, stackCount)\n : computeFitCategoryTraits(index, ruler, options, stackCount);\n const stackIndex = this._getStackIndex(this.index, this._cachedMeta.stack, skipNull ? index : undefined);\n center = range.start + (range.chunk * stackIndex) + (range.chunk / 2);\n size = Math.min(maxBarThickness, range.chunk * range.ratio);\n } else {\n center = scale.getPixelForValue(this.getParsed(index)[scale.axis], index);\n size = Math.min(maxBarThickness, ruler.min * ruler.ratio);\n }\n return {\n base: center - size / 2,\n head: center + size / 2,\n center,\n size\n };\n }\n draw() {\n const meta = this._cachedMeta;\n const vScale = meta.vScale;\n const rects = meta.data;\n const ilen = rects.length;\n let i = 0;\n for (; i < ilen; ++i) {\n if (this.getParsed(i)[vScale.axis] !== null) {\n rects[i].draw(this._ctx);\n }\n }\n }\n}\nBarController.id = 'bar';\nBarController.defaults = {\n datasetElementType: false,\n dataElementType: 'bar',\n categoryPercentage: 0.8,\n barPercentage: 0.9,\n grouped: true,\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'base', 'width', 'height']\n }\n }\n};\nBarController.overrides = {\n scales: {\n _index_: {\n type: 'category',\n offset: true,\n grid: {\n offset: true\n }\n },\n _value_: {\n type: 'linear',\n beginAtZero: true,\n }\n }\n};\n\nclass BubbleController extends DatasetController {\n initialize() {\n this.enableOptionSharing = true;\n super.initialize();\n }\n parsePrimitiveData(meta, data, start, count) {\n const parsed = super.parsePrimitiveData(meta, data, start, count);\n for (let i = 0; i < parsed.length; i++) {\n parsed[i]._custom = this.resolveDataElementOptions(i + start).radius;\n }\n return parsed;\n }\n parseArrayData(meta, data, start, count) {\n const parsed = super.parseArrayData(meta, data, start, count);\n for (let i = 0; i < parsed.length; i++) {\n const item = data[start + i];\n parsed[i]._custom = valueOrDefault(item[2], this.resolveDataElementOptions(i + start).radius);\n }\n return parsed;\n }\n parseObjectData(meta, data, start, count) {\n const parsed = super.parseObjectData(meta, data, start, count);\n for (let i = 0; i < parsed.length; i++) {\n const item = data[start + i];\n parsed[i]._custom = valueOrDefault(item && item.r && +item.r, this.resolveDataElementOptions(i + start).radius);\n }\n return parsed;\n }\n getMaxOverflow() {\n const data = this._cachedMeta.data;\n let max = 0;\n for (let i = data.length - 1; i >= 0; --i) {\n max = Math.max(max, data[i].size(this.resolveDataElementOptions(i)) / 2);\n }\n return max > 0 && max;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const {xScale, yScale} = meta;\n const parsed = this.getParsed(index);\n const x = xScale.getLabelForValue(parsed.x);\n const y = yScale.getLabelForValue(parsed.y);\n const r = parsed._custom;\n return {\n label: meta.label,\n value: '(' + x + ', ' + y + (r ? ', ' + r : '') + ')'\n };\n }\n update(mode) {\n const points = this._cachedMeta.data;\n this.updateElements(points, 0, points.length, mode);\n }\n updateElements(points, start, count, mode) {\n const reset = mode === 'reset';\n const {iScale, vScale} = this._cachedMeta;\n const firstOpts = this.resolveDataElementOptions(start, mode);\n const sharedOptions = this.getSharedOptions(firstOpts);\n const includeOptions = this.includeOptions(mode, sharedOptions);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n for (let i = start; i < start + count; i++) {\n const point = points[i];\n const parsed = !reset && this.getParsed(i);\n const properties = {};\n const iPixel = properties[iAxis] = reset ? iScale.getPixelForDecimal(0.5) : iScale.getPixelForValue(parsed[iAxis]);\n const vPixel = properties[vAxis] = reset ? vScale.getBasePixel() : vScale.getPixelForValue(parsed[vAxis]);\n properties.skip = isNaN(iPixel) || isNaN(vPixel);\n if (includeOptions) {\n properties.options = this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n if (reset) {\n properties.options.radius = 0;\n }\n }\n this.updateElement(point, i, properties, mode);\n }\n this.updateSharedOptions(sharedOptions, mode, firstOpts);\n }\n resolveDataElementOptions(index, mode) {\n const parsed = this.getParsed(index);\n let values = super.resolveDataElementOptions(index, mode);\n if (values.$shared) {\n values = Object.assign({}, values, {$shared: false});\n }\n const radius = values.radius;\n if (mode !== 'active') {\n values.radius = 0;\n }\n values.radius += valueOrDefault(parsed && parsed._custom, radius);\n return values;\n }\n}\nBubbleController.id = 'bubble';\nBubbleController.defaults = {\n datasetElementType: false,\n dataElementType: 'point',\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'borderWidth', 'radius']\n }\n }\n};\nBubbleController.overrides = {\n scales: {\n x: {\n type: 'linear'\n },\n y: {\n type: 'linear'\n }\n },\n plugins: {\n tooltip: {\n callbacks: {\n title() {\n return '';\n }\n }\n }\n }\n};\n\nfunction getRatioAndOffset(rotation, circumference, cutout) {\n let ratioX = 1;\n let ratioY = 1;\n let offsetX = 0;\n let offsetY = 0;\n if (circumference < TAU) {\n const startAngle = rotation;\n const endAngle = startAngle + circumference;\n const startX = Math.cos(startAngle);\n const startY = Math.sin(startAngle);\n const endX = Math.cos(endAngle);\n const endY = Math.sin(endAngle);\n const calcMax = (angle, a, b) => _angleBetween(angle, startAngle, endAngle, true) ? 1 : Math.max(a, a * cutout, b, b * cutout);\n const calcMin = (angle, a, b) => _angleBetween(angle, startAngle, endAngle, true) ? -1 : Math.min(a, a * cutout, b, b * cutout);\n const maxX = calcMax(0, startX, endX);\n const maxY = calcMax(HALF_PI, startY, endY);\n const minX = calcMin(PI, startX, endX);\n const minY = calcMin(PI + HALF_PI, startY, endY);\n ratioX = (maxX - minX) / 2;\n ratioY = (maxY - minY) / 2;\n offsetX = -(maxX + minX) / 2;\n offsetY = -(maxY + minY) / 2;\n }\n return {ratioX, ratioY, offsetX, offsetY};\n}\nclass DoughnutController extends DatasetController {\n constructor(chart, datasetIndex) {\n super(chart, datasetIndex);\n this.enableOptionSharing = true;\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n this.offsetX = undefined;\n this.offsetY = undefined;\n }\n linkScales() {}\n parse(start, count) {\n const data = this.getDataset().data;\n const meta = this._cachedMeta;\n if (this._parsing === false) {\n meta._parsed = data;\n } else {\n let getter = (i) => +data[i];\n if (isObject(data[start])) {\n const {key = 'value'} = this._parsing;\n getter = (i) => +resolveObjectKey(data[i], key);\n }\n let i, ilen;\n for (i = start, ilen = start + count; i < ilen; ++i) {\n meta._parsed[i] = getter(i);\n }\n }\n }\n _getRotation() {\n return toRadians(this.options.rotation - 90);\n }\n _getCircumference() {\n return toRadians(this.options.circumference);\n }\n _getRotationExtents() {\n let min = TAU;\n let max = -TAU;\n for (let i = 0; i < this.chart.data.datasets.length; ++i) {\n if (this.chart.isDatasetVisible(i)) {\n const controller = this.chart.getDatasetMeta(i).controller;\n const rotation = controller._getRotation();\n const circumference = controller._getCircumference();\n min = Math.min(min, rotation);\n max = Math.max(max, rotation + circumference);\n }\n }\n return {\n rotation: min,\n circumference: max - min,\n };\n }\n update(mode) {\n const chart = this.chart;\n const {chartArea} = chart;\n const meta = this._cachedMeta;\n const arcs = meta.data;\n const spacing = this.getMaxBorderWidth() + this.getMaxOffset(arcs) + this.options.spacing;\n const maxSize = Math.max((Math.min(chartArea.width, chartArea.height) - spacing) / 2, 0);\n const cutout = Math.min(toPercentage(this.options.cutout, maxSize), 1);\n const chartWeight = this._getRingWeight(this.index);\n const {circumference, rotation} = this._getRotationExtents();\n const {ratioX, ratioY, offsetX, offsetY} = getRatioAndOffset(rotation, circumference, cutout);\n const maxWidth = (chartArea.width - spacing) / ratioX;\n const maxHeight = (chartArea.height - spacing) / ratioY;\n const maxRadius = Math.max(Math.min(maxWidth, maxHeight) / 2, 0);\n const outerRadius = toDimension(this.options.radius, maxRadius);\n const innerRadius = Math.max(outerRadius * cutout, 0);\n const radiusLength = (outerRadius - innerRadius) / this._getVisibleDatasetWeightTotal();\n this.offsetX = offsetX * outerRadius;\n this.offsetY = offsetY * outerRadius;\n meta.total = this.calculateTotal();\n this.outerRadius = outerRadius - radiusLength * this._getRingWeightOffset(this.index);\n this.innerRadius = Math.max(this.outerRadius - radiusLength * chartWeight, 0);\n this.updateElements(arcs, 0, arcs.length, mode);\n }\n _circumference(i, reset) {\n const opts = this.options;\n const meta = this._cachedMeta;\n const circumference = this._getCircumference();\n if ((reset && opts.animation.animateRotate) || !this.chart.getDataVisibility(i) || meta._parsed[i] === null || meta.data[i].hidden) {\n return 0;\n }\n return this.calculateCircumference(meta._parsed[i] * circumference / TAU);\n }\n updateElements(arcs, start, count, mode) {\n const reset = mode === 'reset';\n const chart = this.chart;\n const chartArea = chart.chartArea;\n const opts = chart.options;\n const animationOpts = opts.animation;\n const centerX = (chartArea.left + chartArea.right) / 2;\n const centerY = (chartArea.top + chartArea.bottom) / 2;\n const animateScale = reset && animationOpts.animateScale;\n const innerRadius = animateScale ? 0 : this.innerRadius;\n const outerRadius = animateScale ? 0 : this.outerRadius;\n const firstOpts = this.resolveDataElementOptions(start, mode);\n const sharedOptions = this.getSharedOptions(firstOpts);\n const includeOptions = this.includeOptions(mode, sharedOptions);\n let startAngle = this._getRotation();\n let i;\n for (i = 0; i < start; ++i) {\n startAngle += this._circumference(i, reset);\n }\n for (i = start; i < start + count; ++i) {\n const circumference = this._circumference(i, reset);\n const arc = arcs[i];\n const properties = {\n x: centerX + this.offsetX,\n y: centerY + this.offsetY,\n startAngle,\n endAngle: startAngle + circumference,\n circumference,\n outerRadius,\n innerRadius\n };\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, arc.active ? 'active' : mode);\n }\n startAngle += circumference;\n this.updateElement(arc, i, properties, mode);\n }\n this.updateSharedOptions(sharedOptions, mode, firstOpts);\n }\n calculateTotal() {\n const meta = this._cachedMeta;\n const metaData = meta.data;\n let total = 0;\n let i;\n for (i = 0; i < metaData.length; i++) {\n const value = meta._parsed[i];\n if (value !== null && !isNaN(value) && this.chart.getDataVisibility(i) && !metaData[i].hidden) {\n total += Math.abs(value);\n }\n }\n return total;\n }\n calculateCircumference(value) {\n const total = this._cachedMeta.total;\n if (total > 0 && !isNaN(value)) {\n return TAU * (Math.abs(value) / total);\n }\n return 0;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const chart = this.chart;\n const labels = chart.data.labels || [];\n const value = formatNumber(meta._parsed[index], chart.options.locale);\n return {\n label: labels[index] || '',\n value,\n };\n }\n getMaxBorderWidth(arcs) {\n let max = 0;\n const chart = this.chart;\n let i, ilen, meta, controller, options;\n if (!arcs) {\n for (i = 0, ilen = chart.data.datasets.length; i < ilen; ++i) {\n if (chart.isDatasetVisible(i)) {\n meta = chart.getDatasetMeta(i);\n arcs = meta.data;\n controller = meta.controller;\n break;\n }\n }\n }\n if (!arcs) {\n return 0;\n }\n for (i = 0, ilen = arcs.length; i < ilen; ++i) {\n options = controller.resolveDataElementOptions(i);\n if (options.borderAlign !== 'inner') {\n max = Math.max(max, options.borderWidth || 0, options.hoverBorderWidth || 0);\n }\n }\n return max;\n }\n getMaxOffset(arcs) {\n let max = 0;\n for (let i = 0, ilen = arcs.length; i < ilen; ++i) {\n const options = this.resolveDataElementOptions(i);\n max = Math.max(max, options.offset || 0, options.hoverOffset || 0);\n }\n return max;\n }\n _getRingWeightOffset(datasetIndex) {\n let ringWeightOffset = 0;\n for (let i = 0; i < datasetIndex; ++i) {\n if (this.chart.isDatasetVisible(i)) {\n ringWeightOffset += this._getRingWeight(i);\n }\n }\n return ringWeightOffset;\n }\n _getRingWeight(datasetIndex) {\n return Math.max(valueOrDefault(this.chart.data.datasets[datasetIndex].weight, 1), 0);\n }\n _getVisibleDatasetWeightTotal() {\n return this._getRingWeightOffset(this.chart.data.datasets.length) || 1;\n }\n}\nDoughnutController.id = 'doughnut';\nDoughnutController.defaults = {\n datasetElementType: false,\n dataElementType: 'arc',\n animation: {\n animateRotate: true,\n animateScale: false\n },\n animations: {\n numbers: {\n type: 'number',\n properties: ['circumference', 'endAngle', 'innerRadius', 'outerRadius', 'startAngle', 'x', 'y', 'offset', 'borderWidth', 'spacing']\n },\n },\n cutout: '50%',\n rotation: 0,\n circumference: 360,\n radius: '100%',\n spacing: 0,\n indexAxis: 'r',\n};\nDoughnutController.descriptors = {\n _scriptable: (name) => name !== 'spacing',\n _indexable: (name) => name !== 'spacing',\n};\nDoughnutController.overrides = {\n aspectRatio: 1,\n plugins: {\n legend: {\n labels: {\n generateLabels(chart) {\n const data = chart.data;\n if (data.labels.length && data.datasets.length) {\n const {labels: {pointStyle}} = chart.legend.options;\n return data.labels.map((label, i) => {\n const meta = chart.getDatasetMeta(0);\n const style = meta.controller.getStyle(i);\n return {\n text: label,\n fillStyle: style.backgroundColor,\n strokeStyle: style.borderColor,\n lineWidth: style.borderWidth,\n pointStyle: pointStyle,\n hidden: !chart.getDataVisibility(i),\n index: i\n };\n });\n }\n return [];\n }\n },\n onClick(e, legendItem, legend) {\n legend.chart.toggleDataVisibility(legendItem.index);\n legend.chart.update();\n }\n },\n tooltip: {\n callbacks: {\n title() {\n return '';\n },\n label(tooltipItem) {\n let dataLabel = tooltipItem.label;\n const value = ': ' + tooltipItem.formattedValue;\n if (isArray(dataLabel)) {\n dataLabel = dataLabel.slice();\n dataLabel[0] += value;\n } else {\n dataLabel += value;\n }\n return dataLabel;\n }\n }\n }\n }\n};\n\nclass LineController extends DatasetController {\n initialize() {\n this.enableOptionSharing = true;\n super.initialize();\n }\n update(mode) {\n const meta = this._cachedMeta;\n const {dataset: line, data: points = [], _dataset} = meta;\n const animationsDisabled = this.chart._animationsDisabled;\n let {start, count} = getStartAndCountOfVisiblePoints(meta, points, animationsDisabled);\n this._drawStart = start;\n this._drawCount = count;\n if (scaleRangesChanged(meta)) {\n start = 0;\n count = points.length;\n }\n line._chart = this.chart;\n line._datasetIndex = this.index;\n line._decimated = !!_dataset._decimated;\n line.points = points;\n const options = this.resolveDatasetElementOptions(mode);\n if (!this.options.showLine) {\n options.borderWidth = 0;\n }\n options.segment = this.options.segment;\n this.updateElement(line, undefined, {\n animated: !animationsDisabled,\n options\n }, mode);\n this.updateElements(points, start, count, mode);\n }\n updateElements(points, start, count, mode) {\n const reset = mode === 'reset';\n const {iScale, vScale, _stacked, _dataset} = this._cachedMeta;\n const firstOpts = this.resolveDataElementOptions(start, mode);\n const sharedOptions = this.getSharedOptions(firstOpts);\n const includeOptions = this.includeOptions(mode, sharedOptions);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const {spanGaps, segment} = this.options;\n const maxGapLength = isNumber(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY;\n const directUpdate = this.chart._animationsDisabled || reset || mode === 'none';\n let prevParsed = start > 0 && this.getParsed(start - 1);\n for (let i = start; i < start + count; ++i) {\n const point = points[i];\n const parsed = this.getParsed(i);\n const properties = directUpdate ? point : {};\n const nullData = isNullOrUndef(parsed[vAxis]);\n const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i);\n const vPixel = properties[vAxis] = reset || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? this.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i);\n properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData;\n properties.stop = i > 0 && (parsed[iAxis] - prevParsed[iAxis]) > maxGapLength;\n if (segment) {\n properties.parsed = parsed;\n properties.raw = _dataset.data[i];\n }\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n }\n if (!directUpdate) {\n this.updateElement(point, i, properties, mode);\n }\n prevParsed = parsed;\n }\n this.updateSharedOptions(sharedOptions, mode, firstOpts);\n }\n getMaxOverflow() {\n const meta = this._cachedMeta;\n const dataset = meta.dataset;\n const border = dataset.options && dataset.options.borderWidth || 0;\n const data = meta.data || [];\n if (!data.length) {\n return border;\n }\n const firstPoint = data[0].size(this.resolveDataElementOptions(0));\n const lastPoint = data[data.length - 1].size(this.resolveDataElementOptions(data.length - 1));\n return Math.max(border, firstPoint, lastPoint) / 2;\n }\n draw() {\n const meta = this._cachedMeta;\n meta.dataset.updateControlPoints(this.chart.chartArea, meta.iScale.axis);\n super.draw();\n }\n}\nLineController.id = 'line';\nLineController.defaults = {\n datasetElementType: 'line',\n dataElementType: 'point',\n showLine: true,\n spanGaps: false,\n};\nLineController.overrides = {\n scales: {\n _index_: {\n type: 'category',\n },\n _value_: {\n type: 'linear',\n },\n }\n};\nfunction getStartAndCountOfVisiblePoints(meta, points, animationsDisabled) {\n const pointCount = points.length;\n let start = 0;\n let count = pointCount;\n if (meta._sorted) {\n const {iScale, _parsed} = meta;\n const axis = iScale.axis;\n const {min, max, minDefined, maxDefined} = iScale.getUserBounds();\n if (minDefined) {\n start = _limitValue(Math.min(\n _lookupByKey(_parsed, iScale.axis, min).lo,\n animationsDisabled ? pointCount : _lookupByKey(points, axis, iScale.getPixelForValue(min)).lo),\n 0, pointCount - 1);\n }\n if (maxDefined) {\n count = _limitValue(Math.max(\n _lookupByKey(_parsed, iScale.axis, max).hi + 1,\n animationsDisabled ? 0 : _lookupByKey(points, axis, iScale.getPixelForValue(max)).hi + 1),\n start, pointCount) - start;\n } else {\n count = pointCount - start;\n }\n }\n return {start, count};\n}\nfunction scaleRangesChanged(meta) {\n const {xScale, yScale, _scaleRanges} = meta;\n const newRanges = {\n xmin: xScale.min,\n xmax: xScale.max,\n ymin: yScale.min,\n ymax: yScale.max\n };\n if (!_scaleRanges) {\n meta._scaleRanges = newRanges;\n return true;\n }\n const changed = _scaleRanges.xmin !== xScale.min\n\t\t|| _scaleRanges.xmax !== xScale.max\n\t\t|| _scaleRanges.ymin !== yScale.min\n\t\t|| _scaleRanges.ymax !== yScale.max;\n Object.assign(_scaleRanges, newRanges);\n return changed;\n}\n\nclass PolarAreaController extends DatasetController {\n constructor(chart, datasetIndex) {\n super(chart, datasetIndex);\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const chart = this.chart;\n const labels = chart.data.labels || [];\n const value = formatNumber(meta._parsed[index].r, chart.options.locale);\n return {\n label: labels[index] || '',\n value,\n };\n }\n update(mode) {\n const arcs = this._cachedMeta.data;\n this._updateRadius();\n this.updateElements(arcs, 0, arcs.length, mode);\n }\n _updateRadius() {\n const chart = this.chart;\n const chartArea = chart.chartArea;\n const opts = chart.options;\n const minSize = Math.min(chartArea.right - chartArea.left, chartArea.bottom - chartArea.top);\n const outerRadius = Math.max(minSize / 2, 0);\n const innerRadius = Math.max(opts.cutoutPercentage ? (outerRadius / 100) * (opts.cutoutPercentage) : 1, 0);\n const radiusLength = (outerRadius - innerRadius) / chart.getVisibleDatasetCount();\n this.outerRadius = outerRadius - (radiusLength * this.index);\n this.innerRadius = this.outerRadius - radiusLength;\n }\n updateElements(arcs, start, count, mode) {\n const reset = mode === 'reset';\n const chart = this.chart;\n const dataset = this.getDataset();\n const opts = chart.options;\n const animationOpts = opts.animation;\n const scale = this._cachedMeta.rScale;\n const centerX = scale.xCenter;\n const centerY = scale.yCenter;\n const datasetStartAngle = scale.getIndexAngle(0) - 0.5 * PI;\n let angle = datasetStartAngle;\n let i;\n const defaultAngle = 360 / this.countVisibleElements();\n for (i = 0; i < start; ++i) {\n angle += this._computeAngle(i, mode, defaultAngle);\n }\n for (i = start; i < start + count; i++) {\n const arc = arcs[i];\n let startAngle = angle;\n let endAngle = angle + this._computeAngle(i, mode, defaultAngle);\n let outerRadius = chart.getDataVisibility(i) ? scale.getDistanceFromCenterForValue(dataset.data[i]) : 0;\n angle = endAngle;\n if (reset) {\n if (animationOpts.animateScale) {\n outerRadius = 0;\n }\n if (animationOpts.animateRotate) {\n startAngle = endAngle = datasetStartAngle;\n }\n }\n const properties = {\n x: centerX,\n y: centerY,\n innerRadius: 0,\n outerRadius,\n startAngle,\n endAngle,\n options: this.resolveDataElementOptions(i, arc.active ? 'active' : mode)\n };\n this.updateElement(arc, i, properties, mode);\n }\n }\n countVisibleElements() {\n const dataset = this.getDataset();\n const meta = this._cachedMeta;\n let count = 0;\n meta.data.forEach((element, index) => {\n if (!isNaN(dataset.data[index]) && this.chart.getDataVisibility(index)) {\n count++;\n }\n });\n return count;\n }\n _computeAngle(index, mode, defaultAngle) {\n return this.chart.getDataVisibility(index)\n ? toRadians(this.resolveDataElementOptions(index, mode).angle || defaultAngle)\n : 0;\n }\n}\nPolarAreaController.id = 'polarArea';\nPolarAreaController.defaults = {\n dataElementType: 'arc',\n animation: {\n animateRotate: true,\n animateScale: true\n },\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'startAngle', 'endAngle', 'innerRadius', 'outerRadius']\n },\n },\n indexAxis: 'r',\n startAngle: 0,\n};\nPolarAreaController.overrides = {\n aspectRatio: 1,\n plugins: {\n legend: {\n labels: {\n generateLabels(chart) {\n const data = chart.data;\n if (data.labels.length && data.datasets.length) {\n const {labels: {pointStyle}} = chart.legend.options;\n return data.labels.map((label, i) => {\n const meta = chart.getDatasetMeta(0);\n const style = meta.controller.getStyle(i);\n return {\n text: label,\n fillStyle: style.backgroundColor,\n strokeStyle: style.borderColor,\n lineWidth: style.borderWidth,\n pointStyle: pointStyle,\n hidden: !chart.getDataVisibility(i),\n index: i\n };\n });\n }\n return [];\n }\n },\n onClick(e, legendItem, legend) {\n legend.chart.toggleDataVisibility(legendItem.index);\n legend.chart.update();\n }\n },\n tooltip: {\n callbacks: {\n title() {\n return '';\n },\n label(context) {\n return context.chart.data.labels[context.dataIndex] + ': ' + context.formattedValue;\n }\n }\n }\n },\n scales: {\n r: {\n type: 'radialLinear',\n angleLines: {\n display: false\n },\n beginAtZero: true,\n grid: {\n circular: true\n },\n pointLabels: {\n display: false\n },\n startAngle: 0\n }\n }\n};\n\nclass PieController extends DoughnutController {\n}\nPieController.id = 'pie';\nPieController.defaults = {\n cutout: 0,\n rotation: 0,\n circumference: 360,\n radius: '100%'\n};\n\nclass RadarController extends DatasetController {\n getLabelAndValue(index) {\n const vScale = this._cachedMeta.vScale;\n const parsed = this.getParsed(index);\n return {\n label: vScale.getLabels()[index],\n value: '' + vScale.getLabelForValue(parsed[vScale.axis])\n };\n }\n update(mode) {\n const meta = this._cachedMeta;\n const line = meta.dataset;\n const points = meta.data || [];\n const labels = meta.iScale.getLabels();\n line.points = points;\n if (mode !== 'resize') {\n const options = this.resolveDatasetElementOptions(mode);\n if (!this.options.showLine) {\n options.borderWidth = 0;\n }\n const properties = {\n _loop: true,\n _fullLoop: labels.length === points.length,\n options\n };\n this.updateElement(line, undefined, properties, mode);\n }\n this.updateElements(points, 0, points.length, mode);\n }\n updateElements(points, start, count, mode) {\n const dataset = this.getDataset();\n const scale = this._cachedMeta.rScale;\n const reset = mode === 'reset';\n for (let i = start; i < start + count; i++) {\n const point = points[i];\n const options = this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n const pointPosition = scale.getPointPositionForValue(i, dataset.data[i]);\n const x = reset ? scale.xCenter : pointPosition.x;\n const y = reset ? scale.yCenter : pointPosition.y;\n const properties = {\n x,\n y,\n angle: pointPosition.angle,\n skip: isNaN(x) || isNaN(y),\n options\n };\n this.updateElement(point, i, properties, mode);\n }\n }\n}\nRadarController.id = 'radar';\nRadarController.defaults = {\n datasetElementType: 'line',\n dataElementType: 'point',\n indexAxis: 'r',\n showLine: true,\n elements: {\n line: {\n fill: 'start'\n }\n },\n};\nRadarController.overrides = {\n aspectRatio: 1,\n scales: {\n r: {\n type: 'radialLinear',\n }\n }\n};\n\nclass ScatterController extends LineController {\n}\nScatterController.id = 'scatter';\nScatterController.defaults = {\n showLine: false,\n fill: false\n};\nScatterController.overrides = {\n interaction: {\n mode: 'point'\n },\n plugins: {\n tooltip: {\n callbacks: {\n title() {\n return '';\n },\n label(item) {\n return '(' + item.label + ', ' + item.formattedValue + ')';\n }\n }\n }\n },\n scales: {\n x: {\n type: 'linear'\n },\n y: {\n type: 'linear'\n }\n }\n};\n\nvar controllers = /*#__PURE__*/Object.freeze({\n__proto__: null,\nBarController: BarController,\nBubbleController: BubbleController,\nDoughnutController: DoughnutController,\nLineController: LineController,\nPolarAreaController: PolarAreaController,\nPieController: PieController,\nRadarController: RadarController,\nScatterController: ScatterController\n});\n\nfunction abstract() {\n throw new Error('This method is not implemented: Check that a complete date adapter is provided.');\n}\nclass DateAdapter {\n constructor(options) {\n this.options = options || {};\n }\n formats() {\n return abstract();\n }\n parse(value, format) {\n return abstract();\n }\n format(timestamp, format) {\n return abstract();\n }\n add(timestamp, amount, unit) {\n return abstract();\n }\n diff(a, b, unit) {\n return abstract();\n }\n startOf(timestamp, unit, weekday) {\n return abstract();\n }\n endOf(timestamp, unit) {\n return abstract();\n }\n}\nDateAdapter.override = function(members) {\n Object.assign(DateAdapter.prototype, members);\n};\nvar adapters = {\n _date: DateAdapter\n};\n\nfunction getRelativePosition(e, chart) {\n if ('native' in e) {\n return {\n x: e.x,\n y: e.y\n };\n }\n return getRelativePosition$1(e, chart);\n}\nfunction evaluateAllVisibleItems(chart, handler) {\n const metasets = chart.getSortedVisibleDatasetMetas();\n let index, data, element;\n for (let i = 0, ilen = metasets.length; i < ilen; ++i) {\n ({index, data} = metasets[i]);\n for (let j = 0, jlen = data.length; j < jlen; ++j) {\n element = data[j];\n if (!element.skip) {\n handler(element, index, j);\n }\n }\n }\n}\nfunction binarySearch(metaset, axis, value, intersect) {\n const {controller, data, _sorted} = metaset;\n const iScale = controller._cachedMeta.iScale;\n if (iScale && axis === iScale.axis && axis !== 'r' && _sorted && data.length) {\n const lookupMethod = iScale._reversePixels ? _rlookupByKey : _lookupByKey;\n if (!intersect) {\n return lookupMethod(data, axis, value);\n } else if (controller._sharedOptions) {\n const el = data[0];\n const range = typeof el.getRange === 'function' && el.getRange(axis);\n if (range) {\n const start = lookupMethod(data, axis, value - range);\n const end = lookupMethod(data, axis, value + range);\n return {lo: start.lo, hi: end.hi};\n }\n }\n }\n return {lo: 0, hi: data.length - 1};\n}\nfunction optimizedEvaluateItems(chart, axis, position, handler, intersect) {\n const metasets = chart.getSortedVisibleDatasetMetas();\n const value = position[axis];\n for (let i = 0, ilen = metasets.length; i < ilen; ++i) {\n const {index, data} = metasets[i];\n const {lo, hi} = binarySearch(metasets[i], axis, value, intersect);\n for (let j = lo; j <= hi; ++j) {\n const element = data[j];\n if (!element.skip) {\n handler(element, index, j);\n }\n }\n }\n}\nfunction getDistanceMetricForAxis(axis) {\n const useX = axis.indexOf('x') !== -1;\n const useY = axis.indexOf('y') !== -1;\n return function(pt1, pt2) {\n const deltaX = useX ? Math.abs(pt1.x - pt2.x) : 0;\n const deltaY = useY ? Math.abs(pt1.y - pt2.y) : 0;\n return Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2));\n };\n}\nfunction getIntersectItems(chart, position, axis, useFinalPosition) {\n const items = [];\n if (!_isPointInArea(position, chart.chartArea, chart._minPadding)) {\n return items;\n }\n const evaluationFunc = function(element, datasetIndex, index) {\n if (element.inRange(position.x, position.y, useFinalPosition)) {\n items.push({element, datasetIndex, index});\n }\n };\n optimizedEvaluateItems(chart, axis, position, evaluationFunc, true);\n return items;\n}\nfunction getNearestRadialItems(chart, position, axis, useFinalPosition) {\n let items = [];\n function evaluationFunc(element, datasetIndex, index) {\n const {startAngle, endAngle} = element.getProps(['startAngle', 'endAngle'], useFinalPosition);\n const {angle} = getAngleFromPoint(element, {x: position.x, y: position.y});\n if (_angleBetween(angle, startAngle, endAngle)) {\n items.push({element, datasetIndex, index});\n }\n }\n optimizedEvaluateItems(chart, axis, position, evaluationFunc);\n return items;\n}\nfunction getNearestCartesianItems(chart, position, axis, intersect, useFinalPosition) {\n let items = [];\n const distanceMetric = getDistanceMetricForAxis(axis);\n let minDistance = Number.POSITIVE_INFINITY;\n function evaluationFunc(element, datasetIndex, index) {\n const inRange = element.inRange(position.x, position.y, useFinalPosition);\n if (intersect && !inRange) {\n return;\n }\n const center = element.getCenterPoint(useFinalPosition);\n const pointInArea = _isPointInArea(center, chart.chartArea, chart._minPadding);\n if (!pointInArea && !inRange) {\n return;\n }\n const distance = distanceMetric(position, center);\n if (distance < minDistance) {\n items = [{element, datasetIndex, index}];\n minDistance = distance;\n } else if (distance === minDistance) {\n items.push({element, datasetIndex, index});\n }\n }\n optimizedEvaluateItems(chart, axis, position, evaluationFunc);\n return items;\n}\nfunction getNearestItems(chart, position, axis, intersect, useFinalPosition) {\n if (!_isPointInArea(position, chart.chartArea, chart._minPadding)) {\n return [];\n }\n return axis === 'r' && !intersect\n ? getNearestRadialItems(chart, position, axis, useFinalPosition)\n : getNearestCartesianItems(chart, position, axis, intersect, useFinalPosition);\n}\nfunction getAxisItems(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const items = [];\n const axis = options.axis;\n const rangeMethod = axis === 'x' ? 'inXRange' : 'inYRange';\n let intersectsItem = false;\n evaluateAllVisibleItems(chart, (element, datasetIndex, index) => {\n if (element[rangeMethod](position[axis], useFinalPosition)) {\n items.push({element, datasetIndex, index});\n }\n if (element.inRange(position.x, position.y, useFinalPosition)) {\n intersectsItem = true;\n }\n });\n if (options.intersect && !intersectsItem) {\n return [];\n }\n return items;\n}\nvar Interaction = {\n modes: {\n index(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'x';\n const items = options.intersect\n ? getIntersectItems(chart, position, axis, useFinalPosition)\n : getNearestItems(chart, position, axis, false, useFinalPosition);\n const elements = [];\n if (!items.length) {\n return [];\n }\n chart.getSortedVisibleDatasetMetas().forEach((meta) => {\n const index = items[0].index;\n const element = meta.data[index];\n if (element && !element.skip) {\n elements.push({element, datasetIndex: meta.index, index});\n }\n });\n return elements;\n },\n dataset(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n let items = options.intersect\n ? getIntersectItems(chart, position, axis, useFinalPosition) :\n getNearestItems(chart, position, axis, false, useFinalPosition);\n if (items.length > 0) {\n const datasetIndex = items[0].datasetIndex;\n const data = chart.getDatasetMeta(datasetIndex).data;\n items = [];\n for (let i = 0; i < data.length; ++i) {\n items.push({element: data[i], datasetIndex, index: i});\n }\n }\n return items;\n },\n point(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n return getIntersectItems(chart, position, axis, useFinalPosition);\n },\n nearest(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n return getNearestItems(chart, position, axis, options.intersect, useFinalPosition);\n },\n x(chart, e, options, useFinalPosition) {\n return getAxisItems(chart, e, {axis: 'x', intersect: options.intersect}, useFinalPosition);\n },\n y(chart, e, options, useFinalPosition) {\n return getAxisItems(chart, e, {axis: 'y', intersect: options.intersect}, useFinalPosition);\n }\n }\n};\n\nconst STATIC_POSITIONS = ['left', 'top', 'right', 'bottom'];\nfunction filterByPosition(array, position) {\n return array.filter(v => v.pos === position);\n}\nfunction filterDynamicPositionByAxis(array, axis) {\n return array.filter(v => STATIC_POSITIONS.indexOf(v.pos) === -1 && v.box.axis === axis);\n}\nfunction sortByWeight(array, reverse) {\n return array.sort((a, b) => {\n const v0 = reverse ? b : a;\n const v1 = reverse ? a : b;\n return v0.weight === v1.weight ?\n v0.index - v1.index :\n v0.weight - v1.weight;\n });\n}\nfunction wrapBoxes(boxes) {\n const layoutBoxes = [];\n let i, ilen, box, pos, stack, stackWeight;\n for (i = 0, ilen = (boxes || []).length; i < ilen; ++i) {\n box = boxes[i];\n ({position: pos, options: {stack, stackWeight = 1}} = box);\n layoutBoxes.push({\n index: i,\n box,\n pos,\n horizontal: box.isHorizontal(),\n weight: box.weight,\n stack: stack && (pos + stack),\n stackWeight\n });\n }\n return layoutBoxes;\n}\nfunction buildStacks(layouts) {\n const stacks = {};\n for (const wrap of layouts) {\n const {stack, pos, stackWeight} = wrap;\n if (!stack || !STATIC_POSITIONS.includes(pos)) {\n continue;\n }\n const _stack = stacks[stack] || (stacks[stack] = {count: 0, placed: 0, weight: 0, size: 0});\n _stack.count++;\n _stack.weight += stackWeight;\n }\n return stacks;\n}\nfunction setLayoutDims(layouts, params) {\n const stacks = buildStacks(layouts);\n const {vBoxMaxWidth, hBoxMaxHeight} = params;\n let i, ilen, layout;\n for (i = 0, ilen = layouts.length; i < ilen; ++i) {\n layout = layouts[i];\n const {fullSize} = layout.box;\n const stack = stacks[layout.stack];\n const factor = stack && layout.stackWeight / stack.weight;\n if (layout.horizontal) {\n layout.width = factor ? factor * vBoxMaxWidth : fullSize && params.availableWidth;\n layout.height = hBoxMaxHeight;\n } else {\n layout.width = vBoxMaxWidth;\n layout.height = factor ? factor * hBoxMaxHeight : fullSize && params.availableHeight;\n }\n }\n return stacks;\n}\nfunction buildLayoutBoxes(boxes) {\n const layoutBoxes = wrapBoxes(boxes);\n const fullSize = sortByWeight(layoutBoxes.filter(wrap => wrap.box.fullSize), true);\n const left = sortByWeight(filterByPosition(layoutBoxes, 'left'), true);\n const right = sortByWeight(filterByPosition(layoutBoxes, 'right'));\n const top = sortByWeight(filterByPosition(layoutBoxes, 'top'), true);\n const bottom = sortByWeight(filterByPosition(layoutBoxes, 'bottom'));\n const centerHorizontal = filterDynamicPositionByAxis(layoutBoxes, 'x');\n const centerVertical = filterDynamicPositionByAxis(layoutBoxes, 'y');\n return {\n fullSize,\n leftAndTop: left.concat(top),\n rightAndBottom: right.concat(centerVertical).concat(bottom).concat(centerHorizontal),\n chartArea: filterByPosition(layoutBoxes, 'chartArea'),\n vertical: left.concat(right).concat(centerVertical),\n horizontal: top.concat(bottom).concat(centerHorizontal)\n };\n}\nfunction getCombinedMax(maxPadding, chartArea, a, b) {\n return Math.max(maxPadding[a], chartArea[a]) + Math.max(maxPadding[b], chartArea[b]);\n}\nfunction updateMaxPadding(maxPadding, boxPadding) {\n maxPadding.top = Math.max(maxPadding.top, boxPadding.top);\n maxPadding.left = Math.max(maxPadding.left, boxPadding.left);\n maxPadding.bottom = Math.max(maxPadding.bottom, boxPadding.bottom);\n maxPadding.right = Math.max(maxPadding.right, boxPadding.right);\n}\nfunction updateDims(chartArea, params, layout, stacks) {\n const {pos, box} = layout;\n const maxPadding = chartArea.maxPadding;\n if (!isObject(pos)) {\n if (layout.size) {\n chartArea[pos] -= layout.size;\n }\n const stack = stacks[layout.stack] || {size: 0, count: 1};\n stack.size = Math.max(stack.size, layout.horizontal ? box.height : box.width);\n layout.size = stack.size / stack.count;\n chartArea[pos] += layout.size;\n }\n if (box.getPadding) {\n updateMaxPadding(maxPadding, box.getPadding());\n }\n const newWidth = Math.max(0, params.outerWidth - getCombinedMax(maxPadding, chartArea, 'left', 'right'));\n const newHeight = Math.max(0, params.outerHeight - getCombinedMax(maxPadding, chartArea, 'top', 'bottom'));\n const widthChanged = newWidth !== chartArea.w;\n const heightChanged = newHeight !== chartArea.h;\n chartArea.w = newWidth;\n chartArea.h = newHeight;\n return layout.horizontal\n ? {same: widthChanged, other: heightChanged}\n : {same: heightChanged, other: widthChanged};\n}\nfunction handleMaxPadding(chartArea) {\n const maxPadding = chartArea.maxPadding;\n function updatePos(pos) {\n const change = Math.max(maxPadding[pos] - chartArea[pos], 0);\n chartArea[pos] += change;\n return change;\n }\n chartArea.y += updatePos('top');\n chartArea.x += updatePos('left');\n updatePos('right');\n updatePos('bottom');\n}\nfunction getMargins(horizontal, chartArea) {\n const maxPadding = chartArea.maxPadding;\n function marginForPositions(positions) {\n const margin = {left: 0, top: 0, right: 0, bottom: 0};\n positions.forEach((pos) => {\n margin[pos] = Math.max(chartArea[pos], maxPadding[pos]);\n });\n return margin;\n }\n return horizontal\n ? marginForPositions(['left', 'right'])\n : marginForPositions(['top', 'bottom']);\n}\nfunction fitBoxes(boxes, chartArea, params, stacks) {\n const refitBoxes = [];\n let i, ilen, layout, box, refit, changed;\n for (i = 0, ilen = boxes.length, refit = 0; i < ilen; ++i) {\n layout = boxes[i];\n box = layout.box;\n box.update(\n layout.width || chartArea.w,\n layout.height || chartArea.h,\n getMargins(layout.horizontal, chartArea)\n );\n const {same, other} = updateDims(chartArea, params, layout, stacks);\n refit |= same && refitBoxes.length;\n changed = changed || other;\n if (!box.fullSize) {\n refitBoxes.push(layout);\n }\n }\n return refit && fitBoxes(refitBoxes, chartArea, params, stacks) || changed;\n}\nfunction setBoxDims(box, left, top, width, height) {\n box.top = top;\n box.left = left;\n box.right = left + width;\n box.bottom = top + height;\n box.width = width;\n box.height = height;\n}\nfunction placeBoxes(boxes, chartArea, params, stacks) {\n const userPadding = params.padding;\n let {x, y} = chartArea;\n for (const layout of boxes) {\n const box = layout.box;\n const stack = stacks[layout.stack] || {count: 1, placed: 0, weight: 1};\n const weight = (layout.stackWeight / stack.weight) || 1;\n if (layout.horizontal) {\n const width = chartArea.w * weight;\n const height = stack.size || box.height;\n if (defined(stack.start)) {\n y = stack.start;\n }\n if (box.fullSize) {\n setBoxDims(box, userPadding.left, y, params.outerWidth - userPadding.right - userPadding.left, height);\n } else {\n setBoxDims(box, chartArea.left + stack.placed, y, width, height);\n }\n stack.start = y;\n stack.placed += width;\n y = box.bottom;\n } else {\n const height = chartArea.h * weight;\n const width = stack.size || box.width;\n if (defined(stack.start)) {\n x = stack.start;\n }\n if (box.fullSize) {\n setBoxDims(box, x, userPadding.top, width, params.outerHeight - userPadding.bottom - userPadding.top);\n } else {\n setBoxDims(box, x, chartArea.top + stack.placed, width, height);\n }\n stack.start = x;\n stack.placed += height;\n x = box.right;\n }\n }\n chartArea.x = x;\n chartArea.y = y;\n}\ndefaults.set('layout', {\n autoPadding: true,\n padding: {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n }\n});\nvar layouts = {\n addBox(chart, item) {\n if (!chart.boxes) {\n chart.boxes = [];\n }\n item.fullSize = item.fullSize || false;\n item.position = item.position || 'top';\n item.weight = item.weight || 0;\n item._layers = item._layers || function() {\n return [{\n z: 0,\n draw(chartArea) {\n item.draw(chartArea);\n }\n }];\n };\n chart.boxes.push(item);\n },\n removeBox(chart, layoutItem) {\n const index = chart.boxes ? chart.boxes.indexOf(layoutItem) : -1;\n if (index !== -1) {\n chart.boxes.splice(index, 1);\n }\n },\n configure(chart, item, options) {\n item.fullSize = options.fullSize;\n item.position = options.position;\n item.weight = options.weight;\n },\n update(chart, width, height, minPadding) {\n if (!chart) {\n return;\n }\n const padding = toPadding(chart.options.layout.padding);\n const availableWidth = Math.max(width - padding.width, 0);\n const availableHeight = Math.max(height - padding.height, 0);\n const boxes = buildLayoutBoxes(chart.boxes);\n const verticalBoxes = boxes.vertical;\n const horizontalBoxes = boxes.horizontal;\n each(chart.boxes, box => {\n if (typeof box.beforeLayout === 'function') {\n box.beforeLayout();\n }\n });\n const visibleVerticalBoxCount = verticalBoxes.reduce((total, wrap) =>\n wrap.box.options && wrap.box.options.display === false ? total : total + 1, 0) || 1;\n const params = Object.freeze({\n outerWidth: width,\n outerHeight: height,\n padding,\n availableWidth,\n availableHeight,\n vBoxMaxWidth: availableWidth / 2 / visibleVerticalBoxCount,\n hBoxMaxHeight: availableHeight / 2\n });\n const maxPadding = Object.assign({}, padding);\n updateMaxPadding(maxPadding, toPadding(minPadding));\n const chartArea = Object.assign({\n maxPadding,\n w: availableWidth,\n h: availableHeight,\n x: padding.left,\n y: padding.top\n }, padding);\n const stacks = setLayoutDims(verticalBoxes.concat(horizontalBoxes), params);\n fitBoxes(boxes.fullSize, chartArea, params, stacks);\n fitBoxes(verticalBoxes, chartArea, params, stacks);\n if (fitBoxes(horizontalBoxes, chartArea, params, stacks)) {\n fitBoxes(verticalBoxes, chartArea, params, stacks);\n }\n handleMaxPadding(chartArea);\n placeBoxes(boxes.leftAndTop, chartArea, params, stacks);\n chartArea.x += chartArea.w;\n chartArea.y += chartArea.h;\n placeBoxes(boxes.rightAndBottom, chartArea, params, stacks);\n chart.chartArea = {\n left: chartArea.left,\n top: chartArea.top,\n right: chartArea.left + chartArea.w,\n bottom: chartArea.top + chartArea.h,\n height: chartArea.h,\n width: chartArea.w,\n };\n each(boxes.chartArea, (layout) => {\n const box = layout.box;\n Object.assign(box, chart.chartArea);\n box.update(chartArea.w, chartArea.h, {left: 0, top: 0, right: 0, bottom: 0});\n });\n }\n};\n\nclass BasePlatform {\n acquireContext(canvas, aspectRatio) {}\n releaseContext(context) {\n return false;\n }\n addEventListener(chart, type, listener) {}\n removeEventListener(chart, type, listener) {}\n getDevicePixelRatio() {\n return 1;\n }\n getMaximumSize(element, width, height, aspectRatio) {\n width = Math.max(0, width || element.width);\n height = height || element.height;\n return {\n width,\n height: Math.max(0, aspectRatio ? Math.floor(width / aspectRatio) : height)\n };\n }\n isAttached(canvas) {\n return true;\n }\n updateConfig(config) {\n }\n}\n\nclass BasicPlatform extends BasePlatform {\n acquireContext(item) {\n return item && item.getContext && item.getContext('2d') || null;\n }\n updateConfig(config) {\n config.options.animation = false;\n }\n}\n\nconst EXPANDO_KEY = '$chartjs';\nconst EVENT_TYPES = {\n touchstart: 'mousedown',\n touchmove: 'mousemove',\n touchend: 'mouseup',\n pointerenter: 'mouseenter',\n pointerdown: 'mousedown',\n pointermove: 'mousemove',\n pointerup: 'mouseup',\n pointerleave: 'mouseout',\n pointerout: 'mouseout'\n};\nconst isNullOrEmpty = value => value === null || value === '';\nfunction initCanvas(canvas, aspectRatio) {\n const style = canvas.style;\n const renderHeight = canvas.getAttribute('height');\n const renderWidth = canvas.getAttribute('width');\n canvas[EXPANDO_KEY] = {\n initial: {\n height: renderHeight,\n width: renderWidth,\n style: {\n display: style.display,\n height: style.height,\n width: style.width\n }\n }\n };\n style.display = style.display || 'block';\n style.boxSizing = style.boxSizing || 'border-box';\n if (isNullOrEmpty(renderWidth)) {\n const displayWidth = readUsedSize(canvas, 'width');\n if (displayWidth !== undefined) {\n canvas.width = displayWidth;\n }\n }\n if (isNullOrEmpty(renderHeight)) {\n if (canvas.style.height === '') {\n canvas.height = canvas.width / (aspectRatio || 2);\n } else {\n const displayHeight = readUsedSize(canvas, 'height');\n if (displayHeight !== undefined) {\n canvas.height = displayHeight;\n }\n }\n }\n return canvas;\n}\nconst eventListenerOptions = supportsEventListenerOptions ? {passive: true} : false;\nfunction addListener(node, type, listener) {\n node.addEventListener(type, listener, eventListenerOptions);\n}\nfunction removeListener(chart, type, listener) {\n chart.canvas.removeEventListener(type, listener, eventListenerOptions);\n}\nfunction fromNativeEvent(event, chart) {\n const type = EVENT_TYPES[event.type] || event.type;\n const {x, y} = getRelativePosition$1(event, chart);\n return {\n type,\n chart,\n native: event,\n x: x !== undefined ? x : null,\n y: y !== undefined ? y : null,\n };\n}\nfunction nodeListContains(nodeList, canvas) {\n for (const node of nodeList) {\n if (node === canvas || node.contains(canvas)) {\n return true;\n }\n }\n}\nfunction createAttachObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const observer = new MutationObserver(entries => {\n let trigger = false;\n for (const entry of entries) {\n trigger = trigger || nodeListContains(entry.addedNodes, canvas);\n trigger = trigger && !nodeListContains(entry.removedNodes, canvas);\n }\n if (trigger) {\n listener();\n }\n });\n observer.observe(document, {childList: true, subtree: true});\n return observer;\n}\nfunction createDetachObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const observer = new MutationObserver(entries => {\n let trigger = false;\n for (const entry of entries) {\n trigger = trigger || nodeListContains(entry.removedNodes, canvas);\n trigger = trigger && !nodeListContains(entry.addedNodes, canvas);\n }\n if (trigger) {\n listener();\n }\n });\n observer.observe(document, {childList: true, subtree: true});\n return observer;\n}\nconst drpListeningCharts = new Map();\nlet oldDevicePixelRatio = 0;\nfunction onWindowResize() {\n const dpr = window.devicePixelRatio;\n if (dpr === oldDevicePixelRatio) {\n return;\n }\n oldDevicePixelRatio = dpr;\n drpListeningCharts.forEach((resize, chart) => {\n if (chart.currentDevicePixelRatio !== dpr) {\n resize();\n }\n });\n}\nfunction listenDevicePixelRatioChanges(chart, resize) {\n if (!drpListeningCharts.size) {\n window.addEventListener('resize', onWindowResize);\n }\n drpListeningCharts.set(chart, resize);\n}\nfunction unlistenDevicePixelRatioChanges(chart) {\n drpListeningCharts.delete(chart);\n if (!drpListeningCharts.size) {\n window.removeEventListener('resize', onWindowResize);\n }\n}\nfunction createResizeObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const container = canvas && _getParentNode(canvas);\n if (!container) {\n return;\n }\n const resize = throttled((width, height) => {\n const w = container.clientWidth;\n listener(width, height);\n if (w < container.clientWidth) {\n listener();\n }\n }, window);\n const observer = new ResizeObserver(entries => {\n const entry = entries[0];\n const width = entry.contentRect.width;\n const height = entry.contentRect.height;\n if (width === 0 && height === 0) {\n return;\n }\n resize(width, height);\n });\n observer.observe(container);\n listenDevicePixelRatioChanges(chart, resize);\n return observer;\n}\nfunction releaseObserver(chart, type, observer) {\n if (observer) {\n observer.disconnect();\n }\n if (type === 'resize') {\n unlistenDevicePixelRatioChanges(chart);\n }\n}\nfunction createProxyAndListen(chart, type, listener) {\n const canvas = chart.canvas;\n const proxy = throttled((event) => {\n if (chart.ctx !== null) {\n listener(fromNativeEvent(event, chart));\n }\n }, chart, (args) => {\n const event = args[0];\n return [event, event.offsetX, event.offsetY];\n });\n addListener(canvas, type, proxy);\n return proxy;\n}\nclass DomPlatform extends BasePlatform {\n acquireContext(canvas, aspectRatio) {\n const context = canvas && canvas.getContext && canvas.getContext('2d');\n if (context && context.canvas === canvas) {\n initCanvas(canvas, aspectRatio);\n return context;\n }\n return null;\n }\n releaseContext(context) {\n const canvas = context.canvas;\n if (!canvas[EXPANDO_KEY]) {\n return false;\n }\n const initial = canvas[EXPANDO_KEY].initial;\n ['height', 'width'].forEach((prop) => {\n const value = initial[prop];\n if (isNullOrUndef(value)) {\n canvas.removeAttribute(prop);\n } else {\n canvas.setAttribute(prop, value);\n }\n });\n const style = initial.style || {};\n Object.keys(style).forEach((key) => {\n canvas.style[key] = style[key];\n });\n canvas.width = canvas.width;\n delete canvas[EXPANDO_KEY];\n return true;\n }\n addEventListener(chart, type, listener) {\n this.removeEventListener(chart, type);\n const proxies = chart.$proxies || (chart.$proxies = {});\n const handlers = {\n attach: createAttachObserver,\n detach: createDetachObserver,\n resize: createResizeObserver\n };\n const handler = handlers[type] || createProxyAndListen;\n proxies[type] = handler(chart, type, listener);\n }\n removeEventListener(chart, type) {\n const proxies = chart.$proxies || (chart.$proxies = {});\n const proxy = proxies[type];\n if (!proxy) {\n return;\n }\n const handlers = {\n attach: releaseObserver,\n detach: releaseObserver,\n resize: releaseObserver\n };\n const handler = handlers[type] || removeListener;\n handler(chart, type, proxy);\n proxies[type] = undefined;\n }\n getDevicePixelRatio() {\n return window.devicePixelRatio;\n }\n getMaximumSize(canvas, width, height, aspectRatio) {\n return getMaximumSize(canvas, width, height, aspectRatio);\n }\n isAttached(canvas) {\n const container = _getParentNode(canvas);\n return !!(container && container.isConnected);\n }\n}\n\nfunction _detectPlatform(canvas) {\n if (!_isDomSupported() || (typeof OffscreenCanvas !== 'undefined' && canvas instanceof OffscreenCanvas)) {\n return BasicPlatform;\n }\n return DomPlatform;\n}\n\nclass Element {\n constructor() {\n this.x = undefined;\n this.y = undefined;\n this.active = false;\n this.options = undefined;\n this.$animations = undefined;\n }\n tooltipPosition(useFinalPosition) {\n const {x, y} = this.getProps(['x', 'y'], useFinalPosition);\n return {x, y};\n }\n hasValue() {\n return isNumber(this.x) && isNumber(this.y);\n }\n getProps(props, final) {\n const anims = this.$animations;\n if (!final || !anims) {\n return this;\n }\n const ret = {};\n props.forEach(prop => {\n ret[prop] = anims[prop] && anims[prop].active() ? anims[prop]._to : this[prop];\n });\n return ret;\n }\n}\nElement.defaults = {};\nElement.defaultRoutes = undefined;\n\nconst formatters = {\n values(value) {\n return isArray(value) ? value : '' + value;\n },\n numeric(tickValue, index, ticks) {\n if (tickValue === 0) {\n return '0';\n }\n const locale = this.chart.options.locale;\n let notation;\n let delta = tickValue;\n if (ticks.length > 1) {\n const maxTick = Math.max(Math.abs(ticks[0].value), Math.abs(ticks[ticks.length - 1].value));\n if (maxTick < 1e-4 || maxTick > 1e+15) {\n notation = 'scientific';\n }\n delta = calculateDelta(tickValue, ticks);\n }\n const logDelta = log10(Math.abs(delta));\n const numDecimal = Math.max(Math.min(-1 * Math.floor(logDelta), 20), 0);\n const options = {notation, minimumFractionDigits: numDecimal, maximumFractionDigits: numDecimal};\n Object.assign(options, this.options.ticks.format);\n return formatNumber(tickValue, locale, options);\n },\n logarithmic(tickValue, index, ticks) {\n if (tickValue === 0) {\n return '0';\n }\n const remain = tickValue / (Math.pow(10, Math.floor(log10(tickValue))));\n if (remain === 1 || remain === 2 || remain === 5) {\n return formatters.numeric.call(this, tickValue, index, ticks);\n }\n return '';\n }\n};\nfunction calculateDelta(tickValue, ticks) {\n let delta = ticks.length > 3 ? ticks[2].value - ticks[1].value : ticks[1].value - ticks[0].value;\n if (Math.abs(delta) >= 1 && tickValue !== Math.floor(tickValue)) {\n delta = tickValue - Math.floor(tickValue);\n }\n return delta;\n}\nvar Ticks = {formatters};\n\ndefaults.set('scale', {\n display: true,\n offset: false,\n reverse: false,\n beginAtZero: false,\n bounds: 'ticks',\n grace: 0,\n grid: {\n display: true,\n lineWidth: 1,\n drawBorder: true,\n drawOnChartArea: true,\n drawTicks: true,\n tickLength: 8,\n tickWidth: (_ctx, options) => options.lineWidth,\n tickColor: (_ctx, options) => options.color,\n offset: false,\n borderDash: [],\n borderDashOffset: 0.0,\n borderWidth: 1\n },\n title: {\n display: false,\n text: '',\n padding: {\n top: 4,\n bottom: 4\n }\n },\n ticks: {\n minRotation: 0,\n maxRotation: 50,\n mirror: false,\n textStrokeWidth: 0,\n textStrokeColor: '',\n padding: 3,\n display: true,\n autoSkip: true,\n autoSkipPadding: 3,\n labelOffset: 0,\n callback: Ticks.formatters.values,\n minor: {},\n major: {},\n align: 'center',\n crossAlign: 'near',\n showLabelBackdrop: false,\n backdropColor: 'rgba(255, 255, 255, 0.75)',\n backdropPadding: 2,\n }\n});\ndefaults.route('scale.ticks', 'color', '', 'color');\ndefaults.route('scale.grid', 'color', '', 'borderColor');\ndefaults.route('scale.grid', 'borderColor', '', 'borderColor');\ndefaults.route('scale.title', 'color', '', 'color');\ndefaults.describe('scale', {\n _fallback: false,\n _scriptable: (name) => !name.startsWith('before') && !name.startsWith('after') && name !== 'callback' && name !== 'parser',\n _indexable: (name) => name !== 'borderDash' && name !== 'tickBorderDash',\n});\ndefaults.describe('scales', {\n _fallback: 'scale',\n});\ndefaults.describe('scale.ticks', {\n _scriptable: (name) => name !== 'backdropPadding' && name !== 'callback',\n _indexable: (name) => name !== 'backdropPadding',\n});\n\nfunction autoSkip(scale, ticks) {\n const tickOpts = scale.options.ticks;\n const ticksLimit = tickOpts.maxTicksLimit || determineMaxTicks(scale);\n const majorIndices = tickOpts.major.enabled ? getMajorIndices(ticks) : [];\n const numMajorIndices = majorIndices.length;\n const first = majorIndices[0];\n const last = majorIndices[numMajorIndices - 1];\n const newTicks = [];\n if (numMajorIndices > ticksLimit) {\n skipMajors(ticks, newTicks, majorIndices, numMajorIndices / ticksLimit);\n return newTicks;\n }\n const spacing = calculateSpacing(majorIndices, ticks, ticksLimit);\n if (numMajorIndices > 0) {\n let i, ilen;\n const avgMajorSpacing = numMajorIndices > 1 ? Math.round((last - first) / (numMajorIndices - 1)) : null;\n skip(ticks, newTicks, spacing, isNullOrUndef(avgMajorSpacing) ? 0 : first - avgMajorSpacing, first);\n for (i = 0, ilen = numMajorIndices - 1; i < ilen; i++) {\n skip(ticks, newTicks, spacing, majorIndices[i], majorIndices[i + 1]);\n }\n skip(ticks, newTicks, spacing, last, isNullOrUndef(avgMajorSpacing) ? ticks.length : last + avgMajorSpacing);\n return newTicks;\n }\n skip(ticks, newTicks, spacing);\n return newTicks;\n}\nfunction determineMaxTicks(scale) {\n const offset = scale.options.offset;\n const tickLength = scale._tickSize();\n const maxScale = scale._length / tickLength + (offset ? 0 : 1);\n const maxChart = scale._maxLength / tickLength;\n return Math.floor(Math.min(maxScale, maxChart));\n}\nfunction calculateSpacing(majorIndices, ticks, ticksLimit) {\n const evenMajorSpacing = getEvenSpacing(majorIndices);\n const spacing = ticks.length / ticksLimit;\n if (!evenMajorSpacing) {\n return Math.max(spacing, 1);\n }\n const factors = _factorize(evenMajorSpacing);\n for (let i = 0, ilen = factors.length - 1; i < ilen; i++) {\n const factor = factors[i];\n if (factor > spacing) {\n return factor;\n }\n }\n return Math.max(spacing, 1);\n}\nfunction getMajorIndices(ticks) {\n const result = [];\n let i, ilen;\n for (i = 0, ilen = ticks.length; i < ilen; i++) {\n if (ticks[i].major) {\n result.push(i);\n }\n }\n return result;\n}\nfunction skipMajors(ticks, newTicks, majorIndices, spacing) {\n let count = 0;\n let next = majorIndices[0];\n let i;\n spacing = Math.ceil(spacing);\n for (i = 0; i < ticks.length; i++) {\n if (i === next) {\n newTicks.push(ticks[i]);\n count++;\n next = majorIndices[count * spacing];\n }\n }\n}\nfunction skip(ticks, newTicks, spacing, majorStart, majorEnd) {\n const start = valueOrDefault(majorStart, 0);\n const end = Math.min(valueOrDefault(majorEnd, ticks.length), ticks.length);\n let count = 0;\n let length, i, next;\n spacing = Math.ceil(spacing);\n if (majorEnd) {\n length = majorEnd - majorStart;\n spacing = length / Math.floor(length / spacing);\n }\n next = start;\n while (next < 0) {\n count++;\n next = Math.round(start + count * spacing);\n }\n for (i = Math.max(start, 0); i < end; i++) {\n if (i === next) {\n newTicks.push(ticks[i]);\n count++;\n next = Math.round(start + count * spacing);\n }\n }\n}\nfunction getEvenSpacing(arr) {\n const len = arr.length;\n let i, diff;\n if (len < 2) {\n return false;\n }\n for (diff = arr[0], i = 1; i < len; ++i) {\n if (arr[i] - arr[i - 1] !== diff) {\n return false;\n }\n }\n return diff;\n}\n\nconst reverseAlign = (align) => align === 'left' ? 'right' : align === 'right' ? 'left' : align;\nconst offsetFromEdge = (scale, edge, offset) => edge === 'top' || edge === 'left' ? scale[edge] + offset : scale[edge] - offset;\nfunction sample(arr, numItems) {\n const result = [];\n const increment = arr.length / numItems;\n const len = arr.length;\n let i = 0;\n for (; i < len; i += increment) {\n result.push(arr[Math.floor(i)]);\n }\n return result;\n}\nfunction getPixelForGridLine(scale, index, offsetGridLines) {\n const length = scale.ticks.length;\n const validIndex = Math.min(index, length - 1);\n const start = scale._startPixel;\n const end = scale._endPixel;\n const epsilon = 1e-6;\n let lineValue = scale.getPixelForTick(validIndex);\n let offset;\n if (offsetGridLines) {\n if (length === 1) {\n offset = Math.max(lineValue - start, end - lineValue);\n } else if (index === 0) {\n offset = (scale.getPixelForTick(1) - lineValue) / 2;\n } else {\n offset = (lineValue - scale.getPixelForTick(validIndex - 1)) / 2;\n }\n lineValue += validIndex < index ? offset : -offset;\n if (lineValue < start - epsilon || lineValue > end + epsilon) {\n return;\n }\n }\n return lineValue;\n}\nfunction garbageCollect(caches, length) {\n each(caches, (cache) => {\n const gc = cache.gc;\n const gcLen = gc.length / 2;\n let i;\n if (gcLen > length) {\n for (i = 0; i < gcLen; ++i) {\n delete cache.data[gc[i]];\n }\n gc.splice(0, gcLen);\n }\n });\n}\nfunction getTickMarkLength(options) {\n return options.drawTicks ? options.tickLength : 0;\n}\nfunction getTitleHeight(options, fallback) {\n if (!options.display) {\n return 0;\n }\n const font = toFont(options.font, fallback);\n const padding = toPadding(options.padding);\n const lines = isArray(options.text) ? options.text.length : 1;\n return (lines * font.lineHeight) + padding.height;\n}\nfunction createScaleContext(parent, scale) {\n return createContext(parent, {\n scale,\n type: 'scale'\n });\n}\nfunction createTickContext(parent, index, tick) {\n return createContext(parent, {\n tick,\n index,\n type: 'tick'\n });\n}\nfunction titleAlign(align, position, reverse) {\n let ret = _toLeftRightCenter(align);\n if ((reverse && position !== 'right') || (!reverse && position === 'right')) {\n ret = reverseAlign(ret);\n }\n return ret;\n}\nfunction titleArgs(scale, offset, position, align) {\n const {top, left, bottom, right, chart} = scale;\n const {chartArea, scales} = chart;\n let rotation = 0;\n let maxWidth, titleX, titleY;\n const height = bottom - top;\n const width = right - left;\n if (scale.isHorizontal()) {\n titleX = _alignStartEnd(align, left, right);\n if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n titleY = scales[positionAxisID].getPixelForValue(value) + height - offset;\n } else if (position === 'center') {\n titleY = (chartArea.bottom + chartArea.top) / 2 + height - offset;\n } else {\n titleY = offsetFromEdge(scale, position, offset);\n }\n maxWidth = right - left;\n } else {\n if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n titleX = scales[positionAxisID].getPixelForValue(value) - width + offset;\n } else if (position === 'center') {\n titleX = (chartArea.left + chartArea.right) / 2 - width + offset;\n } else {\n titleX = offsetFromEdge(scale, position, offset);\n }\n titleY = _alignStartEnd(align, bottom, top);\n rotation = position === 'left' ? -HALF_PI : HALF_PI;\n }\n return {titleX, titleY, maxWidth, rotation};\n}\nclass Scale extends Element {\n constructor(cfg) {\n super();\n this.id = cfg.id;\n this.type = cfg.type;\n this.options = undefined;\n this.ctx = cfg.ctx;\n this.chart = cfg.chart;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.width = undefined;\n this.height = undefined;\n this._margins = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n };\n this.maxWidth = undefined;\n this.maxHeight = undefined;\n this.paddingTop = undefined;\n this.paddingBottom = undefined;\n this.paddingLeft = undefined;\n this.paddingRight = undefined;\n this.axis = undefined;\n this.labelRotation = undefined;\n this.min = undefined;\n this.max = undefined;\n this._range = undefined;\n this.ticks = [];\n this._gridLineItems = null;\n this._labelItems = null;\n this._labelSizes = null;\n this._length = 0;\n this._maxLength = 0;\n this._longestTextCache = {};\n this._startPixel = undefined;\n this._endPixel = undefined;\n this._reversePixels = false;\n this._userMax = undefined;\n this._userMin = undefined;\n this._suggestedMax = undefined;\n this._suggestedMin = undefined;\n this._ticksLength = 0;\n this._borderValue = 0;\n this._cache = {};\n this._dataLimitsCached = false;\n this.$context = undefined;\n }\n init(options) {\n this.options = options.setContext(this.getContext());\n this.axis = options.axis;\n this._userMin = this.parse(options.min);\n this._userMax = this.parse(options.max);\n this._suggestedMin = this.parse(options.suggestedMin);\n this._suggestedMax = this.parse(options.suggestedMax);\n }\n parse(raw, index) {\n return raw;\n }\n getUserBounds() {\n let {_userMin, _userMax, _suggestedMin, _suggestedMax} = this;\n _userMin = finiteOrDefault(_userMin, Number.POSITIVE_INFINITY);\n _userMax = finiteOrDefault(_userMax, Number.NEGATIVE_INFINITY);\n _suggestedMin = finiteOrDefault(_suggestedMin, Number.POSITIVE_INFINITY);\n _suggestedMax = finiteOrDefault(_suggestedMax, Number.NEGATIVE_INFINITY);\n return {\n min: finiteOrDefault(_userMin, _suggestedMin),\n max: finiteOrDefault(_userMax, _suggestedMax),\n minDefined: isNumberFinite(_userMin),\n maxDefined: isNumberFinite(_userMax)\n };\n }\n getMinMax(canStack) {\n let {min, max, minDefined, maxDefined} = this.getUserBounds();\n let range;\n if (minDefined && maxDefined) {\n return {min, max};\n }\n const metas = this.getMatchingVisibleMetas();\n for (let i = 0, ilen = metas.length; i < ilen; ++i) {\n range = metas[i].controller.getMinMax(this, canStack);\n if (!minDefined) {\n min = Math.min(min, range.min);\n }\n if (!maxDefined) {\n max = Math.max(max, range.max);\n }\n }\n min = maxDefined && min > max ? max : min;\n max = minDefined && min > max ? min : max;\n return {\n min: finiteOrDefault(min, finiteOrDefault(max, min)),\n max: finiteOrDefault(max, finiteOrDefault(min, max))\n };\n }\n getPadding() {\n return {\n left: this.paddingLeft || 0,\n top: this.paddingTop || 0,\n right: this.paddingRight || 0,\n bottom: this.paddingBottom || 0\n };\n }\n getTicks() {\n return this.ticks;\n }\n getLabels() {\n const data = this.chart.data;\n return this.options.labels || (this.isHorizontal() ? data.xLabels : data.yLabels) || data.labels || [];\n }\n beforeLayout() {\n this._cache = {};\n this._dataLimitsCached = false;\n }\n beforeUpdate() {\n callback(this.options.beforeUpdate, [this]);\n }\n update(maxWidth, maxHeight, margins) {\n const {beginAtZero, grace, ticks: tickOpts} = this.options;\n const sampleSize = tickOpts.sampleSize;\n this.beforeUpdate();\n this.maxWidth = maxWidth;\n this.maxHeight = maxHeight;\n this._margins = margins = Object.assign({\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n }, margins);\n this.ticks = null;\n this._labelSizes = null;\n this._gridLineItems = null;\n this._labelItems = null;\n this.beforeSetDimensions();\n this.setDimensions();\n this.afterSetDimensions();\n this._maxLength = this.isHorizontal()\n ? this.width + margins.left + margins.right\n : this.height + margins.top + margins.bottom;\n if (!this._dataLimitsCached) {\n this.beforeDataLimits();\n this.determineDataLimits();\n this.afterDataLimits();\n this._range = _addGrace(this, grace, beginAtZero);\n this._dataLimitsCached = true;\n }\n this.beforeBuildTicks();\n this.ticks = this.buildTicks() || [];\n this.afterBuildTicks();\n const samplingEnabled = sampleSize < this.ticks.length;\n this._convertTicksToLabels(samplingEnabled ? sample(this.ticks, sampleSize) : this.ticks);\n this.configure();\n this.beforeCalculateLabelRotation();\n this.calculateLabelRotation();\n this.afterCalculateLabelRotation();\n if (tickOpts.display && (tickOpts.autoSkip || tickOpts.source === 'auto')) {\n this.ticks = autoSkip(this, this.ticks);\n this._labelSizes = null;\n }\n if (samplingEnabled) {\n this._convertTicksToLabels(this.ticks);\n }\n this.beforeFit();\n this.fit();\n this.afterFit();\n this.afterUpdate();\n }\n configure() {\n let reversePixels = this.options.reverse;\n let startPixel, endPixel;\n if (this.isHorizontal()) {\n startPixel = this.left;\n endPixel = this.right;\n } else {\n startPixel = this.top;\n endPixel = this.bottom;\n reversePixels = !reversePixels;\n }\n this._startPixel = startPixel;\n this._endPixel = endPixel;\n this._reversePixels = reversePixels;\n this._length = endPixel - startPixel;\n this._alignToPixels = this.options.alignToPixels;\n }\n afterUpdate() {\n callback(this.options.afterUpdate, [this]);\n }\n beforeSetDimensions() {\n callback(this.options.beforeSetDimensions, [this]);\n }\n setDimensions() {\n if (this.isHorizontal()) {\n this.width = this.maxWidth;\n this.left = 0;\n this.right = this.width;\n } else {\n this.height = this.maxHeight;\n this.top = 0;\n this.bottom = this.height;\n }\n this.paddingLeft = 0;\n this.paddingTop = 0;\n this.paddingRight = 0;\n this.paddingBottom = 0;\n }\n afterSetDimensions() {\n callback(this.options.afterSetDimensions, [this]);\n }\n _callHooks(name) {\n this.chart.notifyPlugins(name, this.getContext());\n callback(this.options[name], [this]);\n }\n beforeDataLimits() {\n this._callHooks('beforeDataLimits');\n }\n determineDataLimits() {}\n afterDataLimits() {\n this._callHooks('afterDataLimits');\n }\n beforeBuildTicks() {\n this._callHooks('beforeBuildTicks');\n }\n buildTicks() {\n return [];\n }\n afterBuildTicks() {\n this._callHooks('afterBuildTicks');\n }\n beforeTickToLabelConversion() {\n callback(this.options.beforeTickToLabelConversion, [this]);\n }\n generateTickLabels(ticks) {\n const tickOpts = this.options.ticks;\n let i, ilen, tick;\n for (i = 0, ilen = ticks.length; i < ilen; i++) {\n tick = ticks[i];\n tick.label = callback(tickOpts.callback, [tick.value, i, ticks], this);\n }\n }\n afterTickToLabelConversion() {\n callback(this.options.afterTickToLabelConversion, [this]);\n }\n beforeCalculateLabelRotation() {\n callback(this.options.beforeCalculateLabelRotation, [this]);\n }\n calculateLabelRotation() {\n const options = this.options;\n const tickOpts = options.ticks;\n const numTicks = this.ticks.length;\n const minRotation = tickOpts.minRotation || 0;\n const maxRotation = tickOpts.maxRotation;\n let labelRotation = minRotation;\n let tickWidth, maxHeight, maxLabelDiagonal;\n if (!this._isVisible() || !tickOpts.display || minRotation >= maxRotation || numTicks <= 1 || !this.isHorizontal()) {\n this.labelRotation = minRotation;\n return;\n }\n const labelSizes = this._getLabelSizes();\n const maxLabelWidth = labelSizes.widest.width;\n const maxLabelHeight = labelSizes.highest.height;\n const maxWidth = _limitValue(this.chart.width - maxLabelWidth, 0, this.maxWidth);\n tickWidth = options.offset ? this.maxWidth / numTicks : maxWidth / (numTicks - 1);\n if (maxLabelWidth + 6 > tickWidth) {\n tickWidth = maxWidth / (numTicks - (options.offset ? 0.5 : 1));\n maxHeight = this.maxHeight - getTickMarkLength(options.grid)\n\t\t\t\t- tickOpts.padding - getTitleHeight(options.title, this.chart.options.font);\n maxLabelDiagonal = Math.sqrt(maxLabelWidth * maxLabelWidth + maxLabelHeight * maxLabelHeight);\n labelRotation = toDegrees(Math.min(\n Math.asin(_limitValue((labelSizes.highest.height + 6) / tickWidth, -1, 1)),\n Math.asin(_limitValue(maxHeight / maxLabelDiagonal, -1, 1)) - Math.asin(_limitValue(maxLabelHeight / maxLabelDiagonal, -1, 1))\n ));\n labelRotation = Math.max(minRotation, Math.min(maxRotation, labelRotation));\n }\n this.labelRotation = labelRotation;\n }\n afterCalculateLabelRotation() {\n callback(this.options.afterCalculateLabelRotation, [this]);\n }\n beforeFit() {\n callback(this.options.beforeFit, [this]);\n }\n fit() {\n const minSize = {\n width: 0,\n height: 0\n };\n const {chart, options: {ticks: tickOpts, title: titleOpts, grid: gridOpts}} = this;\n const display = this._isVisible();\n const isHorizontal = this.isHorizontal();\n if (display) {\n const titleHeight = getTitleHeight(titleOpts, chart.options.font);\n if (isHorizontal) {\n minSize.width = this.maxWidth;\n minSize.height = getTickMarkLength(gridOpts) + titleHeight;\n } else {\n minSize.height = this.maxHeight;\n minSize.width = getTickMarkLength(gridOpts) + titleHeight;\n }\n if (tickOpts.display && this.ticks.length) {\n const {first, last, widest, highest} = this._getLabelSizes();\n const tickPadding = tickOpts.padding * 2;\n const angleRadians = toRadians(this.labelRotation);\n const cos = Math.cos(angleRadians);\n const sin = Math.sin(angleRadians);\n if (isHorizontal) {\n const labelHeight = tickOpts.mirror ? 0 : sin * widest.width + cos * highest.height;\n minSize.height = Math.min(this.maxHeight, minSize.height + labelHeight + tickPadding);\n } else {\n const labelWidth = tickOpts.mirror ? 0 : cos * widest.width + sin * highest.height;\n minSize.width = Math.min(this.maxWidth, minSize.width + labelWidth + tickPadding);\n }\n this._calculatePadding(first, last, sin, cos);\n }\n }\n this._handleMargins();\n if (isHorizontal) {\n this.width = this._length = chart.width - this._margins.left - this._margins.right;\n this.height = minSize.height;\n } else {\n this.width = minSize.width;\n this.height = this._length = chart.height - this._margins.top - this._margins.bottom;\n }\n }\n _calculatePadding(first, last, sin, cos) {\n const {ticks: {align, padding}, position} = this.options;\n const isRotated = this.labelRotation !== 0;\n const labelsBelowTicks = position !== 'top' && this.axis === 'x';\n if (this.isHorizontal()) {\n const offsetLeft = this.getPixelForTick(0) - this.left;\n const offsetRight = this.right - this.getPixelForTick(this.ticks.length - 1);\n let paddingLeft = 0;\n let paddingRight = 0;\n if (isRotated) {\n if (labelsBelowTicks) {\n paddingLeft = cos * first.width;\n paddingRight = sin * last.height;\n } else {\n paddingLeft = sin * first.height;\n paddingRight = cos * last.width;\n }\n } else if (align === 'start') {\n paddingRight = last.width;\n } else if (align === 'end') {\n paddingLeft = first.width;\n } else {\n paddingLeft = first.width / 2;\n paddingRight = last.width / 2;\n }\n this.paddingLeft = Math.max((paddingLeft - offsetLeft + padding) * this.width / (this.width - offsetLeft), 0);\n this.paddingRight = Math.max((paddingRight - offsetRight + padding) * this.width / (this.width - offsetRight), 0);\n } else {\n let paddingTop = last.height / 2;\n let paddingBottom = first.height / 2;\n if (align === 'start') {\n paddingTop = 0;\n paddingBottom = first.height;\n } else if (align === 'end') {\n paddingTop = last.height;\n paddingBottom = 0;\n }\n this.paddingTop = paddingTop + padding;\n this.paddingBottom = paddingBottom + padding;\n }\n }\n _handleMargins() {\n if (this._margins) {\n this._margins.left = Math.max(this.paddingLeft, this._margins.left);\n this._margins.top = Math.max(this.paddingTop, this._margins.top);\n this._margins.right = Math.max(this.paddingRight, this._margins.right);\n this._margins.bottom = Math.max(this.paddingBottom, this._margins.bottom);\n }\n }\n afterFit() {\n callback(this.options.afterFit, [this]);\n }\n isHorizontal() {\n const {axis, position} = this.options;\n return position === 'top' || position === 'bottom' || axis === 'x';\n }\n isFullSize() {\n return this.options.fullSize;\n }\n _convertTicksToLabels(ticks) {\n this.beforeTickToLabelConversion();\n this.generateTickLabels(ticks);\n let i, ilen;\n for (i = 0, ilen = ticks.length; i < ilen; i++) {\n if (isNullOrUndef(ticks[i].label)) {\n ticks.splice(i, 1);\n ilen--;\n i--;\n }\n }\n this.afterTickToLabelConversion();\n }\n _getLabelSizes() {\n let labelSizes = this._labelSizes;\n if (!labelSizes) {\n const sampleSize = this.options.ticks.sampleSize;\n let ticks = this.ticks;\n if (sampleSize < ticks.length) {\n ticks = sample(ticks, sampleSize);\n }\n this._labelSizes = labelSizes = this._computeLabelSizes(ticks, ticks.length);\n }\n return labelSizes;\n }\n _computeLabelSizes(ticks, length) {\n const {ctx, _longestTextCache: caches} = this;\n const widths = [];\n const heights = [];\n let widestLabelSize = 0;\n let highestLabelSize = 0;\n let i, j, jlen, label, tickFont, fontString, cache, lineHeight, width, height, nestedLabel;\n for (i = 0; i < length; ++i) {\n label = ticks[i].label;\n tickFont = this._resolveTickFontOptions(i);\n ctx.font = fontString = tickFont.string;\n cache = caches[fontString] = caches[fontString] || {data: {}, gc: []};\n lineHeight = tickFont.lineHeight;\n width = height = 0;\n if (!isNullOrUndef(label) && !isArray(label)) {\n width = _measureText(ctx, cache.data, cache.gc, width, label);\n height = lineHeight;\n } else if (isArray(label)) {\n for (j = 0, jlen = label.length; j < jlen; ++j) {\n nestedLabel = label[j];\n if (!isNullOrUndef(nestedLabel) && !isArray(nestedLabel)) {\n width = _measureText(ctx, cache.data, cache.gc, width, nestedLabel);\n height += lineHeight;\n }\n }\n }\n widths.push(width);\n heights.push(height);\n widestLabelSize = Math.max(width, widestLabelSize);\n highestLabelSize = Math.max(height, highestLabelSize);\n }\n garbageCollect(caches, length);\n const widest = widths.indexOf(widestLabelSize);\n const highest = heights.indexOf(highestLabelSize);\n const valueAt = (idx) => ({width: widths[idx] || 0, height: heights[idx] || 0});\n return {\n first: valueAt(0),\n last: valueAt(length - 1),\n widest: valueAt(widest),\n highest: valueAt(highest),\n widths,\n heights,\n };\n }\n getLabelForValue(value) {\n return value;\n }\n getPixelForValue(value, index) {\n return NaN;\n }\n getValueForPixel(pixel) {}\n getPixelForTick(index) {\n const ticks = this.ticks;\n if (index < 0 || index > ticks.length - 1) {\n return null;\n }\n return this.getPixelForValue(ticks[index].value);\n }\n getPixelForDecimal(decimal) {\n if (this._reversePixels) {\n decimal = 1 - decimal;\n }\n const pixel = this._startPixel + decimal * this._length;\n return _int16Range(this._alignToPixels ? _alignPixel(this.chart, pixel, 0) : pixel);\n }\n getDecimalForPixel(pixel) {\n const decimal = (pixel - this._startPixel) / this._length;\n return this._reversePixels ? 1 - decimal : decimal;\n }\n getBasePixel() {\n return this.getPixelForValue(this.getBaseValue());\n }\n getBaseValue() {\n const {min, max} = this;\n return min < 0 && max < 0 ? max :\n min > 0 && max > 0 ? min :\n 0;\n }\n getContext(index) {\n const ticks = this.ticks || [];\n if (index >= 0 && index < ticks.length) {\n const tick = ticks[index];\n return tick.$context ||\n\t\t\t\t(tick.$context = createTickContext(this.getContext(), index, tick));\n }\n return this.$context ||\n\t\t\t(this.$context = createScaleContext(this.chart.getContext(), this));\n }\n _tickSize() {\n const optionTicks = this.options.ticks;\n const rot = toRadians(this.labelRotation);\n const cos = Math.abs(Math.cos(rot));\n const sin = Math.abs(Math.sin(rot));\n const labelSizes = this._getLabelSizes();\n const padding = optionTicks.autoSkipPadding || 0;\n const w = labelSizes ? labelSizes.widest.width + padding : 0;\n const h = labelSizes ? labelSizes.highest.height + padding : 0;\n return this.isHorizontal()\n ? h * cos > w * sin ? w / cos : h / sin\n : h * sin < w * cos ? h / cos : w / sin;\n }\n _isVisible() {\n const display = this.options.display;\n if (display !== 'auto') {\n return !!display;\n }\n return this.getMatchingVisibleMetas().length > 0;\n }\n _computeGridLineItems(chartArea) {\n const axis = this.axis;\n const chart = this.chart;\n const options = this.options;\n const {grid, position} = options;\n const offset = grid.offset;\n const isHorizontal = this.isHorizontal();\n const ticks = this.ticks;\n const ticksLength = ticks.length + (offset ? 1 : 0);\n const tl = getTickMarkLength(grid);\n const items = [];\n const borderOpts = grid.setContext(this.getContext());\n const axisWidth = borderOpts.drawBorder ? borderOpts.borderWidth : 0;\n const axisHalfWidth = axisWidth / 2;\n const alignBorderValue = function(pixel) {\n return _alignPixel(chart, pixel, axisWidth);\n };\n let borderValue, i, lineValue, alignedLineValue;\n let tx1, ty1, tx2, ty2, x1, y1, x2, y2;\n if (position === 'top') {\n borderValue = alignBorderValue(this.bottom);\n ty1 = this.bottom - tl;\n ty2 = borderValue - axisHalfWidth;\n y1 = alignBorderValue(chartArea.top) + axisHalfWidth;\n y2 = chartArea.bottom;\n } else if (position === 'bottom') {\n borderValue = alignBorderValue(this.top);\n y1 = chartArea.top;\n y2 = alignBorderValue(chartArea.bottom) - axisHalfWidth;\n ty1 = borderValue + axisHalfWidth;\n ty2 = this.top + tl;\n } else if (position === 'left') {\n borderValue = alignBorderValue(this.right);\n tx1 = this.right - tl;\n tx2 = borderValue - axisHalfWidth;\n x1 = alignBorderValue(chartArea.left) + axisHalfWidth;\n x2 = chartArea.right;\n } else if (position === 'right') {\n borderValue = alignBorderValue(this.left);\n x1 = chartArea.left;\n x2 = alignBorderValue(chartArea.right) - axisHalfWidth;\n tx1 = borderValue + axisHalfWidth;\n tx2 = this.left + tl;\n } else if (axis === 'x') {\n if (position === 'center') {\n borderValue = alignBorderValue((chartArea.top + chartArea.bottom) / 2 + 0.5);\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n borderValue = alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value));\n }\n y1 = chartArea.top;\n y2 = chartArea.bottom;\n ty1 = borderValue + axisHalfWidth;\n ty2 = ty1 + tl;\n } else if (axis === 'y') {\n if (position === 'center') {\n borderValue = alignBorderValue((chartArea.left + chartArea.right) / 2);\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n borderValue = alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value));\n }\n tx1 = borderValue - axisHalfWidth;\n tx2 = tx1 - tl;\n x1 = chartArea.left;\n x2 = chartArea.right;\n }\n const limit = valueOrDefault(options.ticks.maxTicksLimit, ticksLength);\n const step = Math.max(1, Math.ceil(ticksLength / limit));\n for (i = 0; i < ticksLength; i += step) {\n const optsAtIndex = grid.setContext(this.getContext(i));\n const lineWidth = optsAtIndex.lineWidth;\n const lineColor = optsAtIndex.color;\n const borderDash = grid.borderDash || [];\n const borderDashOffset = optsAtIndex.borderDashOffset;\n const tickWidth = optsAtIndex.tickWidth;\n const tickColor = optsAtIndex.tickColor;\n const tickBorderDash = optsAtIndex.tickBorderDash || [];\n const tickBorderDashOffset = optsAtIndex.tickBorderDashOffset;\n lineValue = getPixelForGridLine(this, i, offset);\n if (lineValue === undefined) {\n continue;\n }\n alignedLineValue = _alignPixel(chart, lineValue, lineWidth);\n if (isHorizontal) {\n tx1 = tx2 = x1 = x2 = alignedLineValue;\n } else {\n ty1 = ty2 = y1 = y2 = alignedLineValue;\n }\n items.push({\n tx1,\n ty1,\n tx2,\n ty2,\n x1,\n y1,\n x2,\n y2,\n width: lineWidth,\n color: lineColor,\n borderDash,\n borderDashOffset,\n tickWidth,\n tickColor,\n tickBorderDash,\n tickBorderDashOffset,\n });\n }\n this._ticksLength = ticksLength;\n this._borderValue = borderValue;\n return items;\n }\n _computeLabelItems(chartArea) {\n const axis = this.axis;\n const options = this.options;\n const {position, ticks: optionTicks} = options;\n const isHorizontal = this.isHorizontal();\n const ticks = this.ticks;\n const {align, crossAlign, padding, mirror} = optionTicks;\n const tl = getTickMarkLength(options.grid);\n const tickAndPadding = tl + padding;\n const hTickAndPadding = mirror ? -padding : tickAndPadding;\n const rotation = -toRadians(this.labelRotation);\n const items = [];\n let i, ilen, tick, label, x, y, textAlign, pixel, font, lineHeight, lineCount, textOffset;\n let textBaseline = 'middle';\n if (position === 'top') {\n y = this.bottom - hTickAndPadding;\n textAlign = this._getXAxisLabelAlignment();\n } else if (position === 'bottom') {\n y = this.top + hTickAndPadding;\n textAlign = this._getXAxisLabelAlignment();\n } else if (position === 'left') {\n const ret = this._getYAxisLabelAlignment(tl);\n textAlign = ret.textAlign;\n x = ret.x;\n } else if (position === 'right') {\n const ret = this._getYAxisLabelAlignment(tl);\n textAlign = ret.textAlign;\n x = ret.x;\n } else if (axis === 'x') {\n if (position === 'center') {\n y = ((chartArea.top + chartArea.bottom) / 2) + tickAndPadding;\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n y = this.chart.scales[positionAxisID].getPixelForValue(value) + tickAndPadding;\n }\n textAlign = this._getXAxisLabelAlignment();\n } else if (axis === 'y') {\n if (position === 'center') {\n x = ((chartArea.left + chartArea.right) / 2) - tickAndPadding;\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n x = this.chart.scales[positionAxisID].getPixelForValue(value);\n }\n textAlign = this._getYAxisLabelAlignment(tl).textAlign;\n }\n if (axis === 'y') {\n if (align === 'start') {\n textBaseline = 'top';\n } else if (align === 'end') {\n textBaseline = 'bottom';\n }\n }\n const labelSizes = this._getLabelSizes();\n for (i = 0, ilen = ticks.length; i < ilen; ++i) {\n tick = ticks[i];\n label = tick.label;\n const optsAtIndex = optionTicks.setContext(this.getContext(i));\n pixel = this.getPixelForTick(i) + optionTicks.labelOffset;\n font = this._resolveTickFontOptions(i);\n lineHeight = font.lineHeight;\n lineCount = isArray(label) ? label.length : 1;\n const halfCount = lineCount / 2;\n const color = optsAtIndex.color;\n const strokeColor = optsAtIndex.textStrokeColor;\n const strokeWidth = optsAtIndex.textStrokeWidth;\n if (isHorizontal) {\n x = pixel;\n if (position === 'top') {\n if (crossAlign === 'near' || rotation !== 0) {\n textOffset = -lineCount * lineHeight + lineHeight / 2;\n } else if (crossAlign === 'center') {\n textOffset = -labelSizes.highest.height / 2 - halfCount * lineHeight + lineHeight;\n } else {\n textOffset = -labelSizes.highest.height + lineHeight / 2;\n }\n } else {\n if (crossAlign === 'near' || rotation !== 0) {\n textOffset = lineHeight / 2;\n } else if (crossAlign === 'center') {\n textOffset = labelSizes.highest.height / 2 - halfCount * lineHeight;\n } else {\n textOffset = labelSizes.highest.height - lineCount * lineHeight;\n }\n }\n if (mirror) {\n textOffset *= -1;\n }\n } else {\n y = pixel;\n textOffset = (1 - lineCount) * lineHeight / 2;\n }\n let backdrop;\n if (optsAtIndex.showLabelBackdrop) {\n const labelPadding = toPadding(optsAtIndex.backdropPadding);\n const height = labelSizes.heights[i];\n const width = labelSizes.widths[i];\n let top = y + textOffset - labelPadding.top;\n let left = x - labelPadding.left;\n switch (textBaseline) {\n case 'middle':\n top -= height / 2;\n break;\n case 'bottom':\n top -= height;\n break;\n }\n switch (textAlign) {\n case 'center':\n left -= width / 2;\n break;\n case 'right':\n left -= width;\n break;\n }\n backdrop = {\n left,\n top,\n width: width + labelPadding.width,\n height: height + labelPadding.height,\n color: optsAtIndex.backdropColor,\n };\n }\n items.push({\n rotation,\n label,\n font,\n color,\n strokeColor,\n strokeWidth,\n textOffset,\n textAlign,\n textBaseline,\n translation: [x, y],\n backdrop,\n });\n }\n return items;\n }\n _getXAxisLabelAlignment() {\n const {position, ticks} = this.options;\n const rotation = -toRadians(this.labelRotation);\n if (rotation) {\n return position === 'top' ? 'left' : 'right';\n }\n let align = 'center';\n if (ticks.align === 'start') {\n align = 'left';\n } else if (ticks.align === 'end') {\n align = 'right';\n }\n return align;\n }\n _getYAxisLabelAlignment(tl) {\n const {position, ticks: {crossAlign, mirror, padding}} = this.options;\n const labelSizes = this._getLabelSizes();\n const tickAndPadding = tl + padding;\n const widest = labelSizes.widest.width;\n let textAlign;\n let x;\n if (position === 'left') {\n if (mirror) {\n x = this.right + padding;\n if (crossAlign === 'near') {\n textAlign = 'left';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x += (widest / 2);\n } else {\n textAlign = 'right';\n x += widest;\n }\n } else {\n x = this.right - tickAndPadding;\n if (crossAlign === 'near') {\n textAlign = 'right';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x -= (widest / 2);\n } else {\n textAlign = 'left';\n x = this.left;\n }\n }\n } else if (position === 'right') {\n if (mirror) {\n x = this.left + padding;\n if (crossAlign === 'near') {\n textAlign = 'right';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x -= (widest / 2);\n } else {\n textAlign = 'left';\n x -= widest;\n }\n } else {\n x = this.left + tickAndPadding;\n if (crossAlign === 'near') {\n textAlign = 'left';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x += widest / 2;\n } else {\n textAlign = 'right';\n x = this.right;\n }\n }\n } else {\n textAlign = 'right';\n }\n return {textAlign, x};\n }\n _computeLabelArea() {\n if (this.options.ticks.mirror) {\n return;\n }\n const chart = this.chart;\n const position = this.options.position;\n if (position === 'left' || position === 'right') {\n return {top: 0, left: this.left, bottom: chart.height, right: this.right};\n } if (position === 'top' || position === 'bottom') {\n return {top: this.top, left: 0, bottom: this.bottom, right: chart.width};\n }\n }\n drawBackground() {\n const {ctx, options: {backgroundColor}, left, top, width, height} = this;\n if (backgroundColor) {\n ctx.save();\n ctx.fillStyle = backgroundColor;\n ctx.fillRect(left, top, width, height);\n ctx.restore();\n }\n }\n getLineWidthForValue(value) {\n const grid = this.options.grid;\n if (!this._isVisible() || !grid.display) {\n return 0;\n }\n const ticks = this.ticks;\n const index = ticks.findIndex(t => t.value === value);\n if (index >= 0) {\n const opts = grid.setContext(this.getContext(index));\n return opts.lineWidth;\n }\n return 0;\n }\n drawGrid(chartArea) {\n const grid = this.options.grid;\n const ctx = this.ctx;\n const items = this._gridLineItems || (this._gridLineItems = this._computeGridLineItems(chartArea));\n let i, ilen;\n const drawLine = (p1, p2, style) => {\n if (!style.width || !style.color) {\n return;\n }\n ctx.save();\n ctx.lineWidth = style.width;\n ctx.strokeStyle = style.color;\n ctx.setLineDash(style.borderDash || []);\n ctx.lineDashOffset = style.borderDashOffset;\n ctx.beginPath();\n ctx.moveTo(p1.x, p1.y);\n ctx.lineTo(p2.x, p2.y);\n ctx.stroke();\n ctx.restore();\n };\n if (grid.display) {\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n const item = items[i];\n if (grid.drawOnChartArea) {\n drawLine(\n {x: item.x1, y: item.y1},\n {x: item.x2, y: item.y2},\n item\n );\n }\n if (grid.drawTicks) {\n drawLine(\n {x: item.tx1, y: item.ty1},\n {x: item.tx2, y: item.ty2},\n {\n color: item.tickColor,\n width: item.tickWidth,\n borderDash: item.tickBorderDash,\n borderDashOffset: item.tickBorderDashOffset\n }\n );\n }\n }\n }\n }\n drawBorder() {\n const {chart, ctx, options: {grid}} = this;\n const borderOpts = grid.setContext(this.getContext());\n const axisWidth = grid.drawBorder ? borderOpts.borderWidth : 0;\n if (!axisWidth) {\n return;\n }\n const lastLineWidth = grid.setContext(this.getContext(0)).lineWidth;\n const borderValue = this._borderValue;\n let x1, x2, y1, y2;\n if (this.isHorizontal()) {\n x1 = _alignPixel(chart, this.left, axisWidth) - axisWidth / 2;\n x2 = _alignPixel(chart, this.right, lastLineWidth) + lastLineWidth / 2;\n y1 = y2 = borderValue;\n } else {\n y1 = _alignPixel(chart, this.top, axisWidth) - axisWidth / 2;\n y2 = _alignPixel(chart, this.bottom, lastLineWidth) + lastLineWidth / 2;\n x1 = x2 = borderValue;\n }\n ctx.save();\n ctx.lineWidth = borderOpts.borderWidth;\n ctx.strokeStyle = borderOpts.borderColor;\n ctx.beginPath();\n ctx.moveTo(x1, y1);\n ctx.lineTo(x2, y2);\n ctx.stroke();\n ctx.restore();\n }\n drawLabels(chartArea) {\n const optionTicks = this.options.ticks;\n if (!optionTicks.display) {\n return;\n }\n const ctx = this.ctx;\n const area = this._computeLabelArea();\n if (area) {\n clipArea(ctx, area);\n }\n const items = this._labelItems || (this._labelItems = this._computeLabelItems(chartArea));\n let i, ilen;\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n const item = items[i];\n const tickFont = item.font;\n const label = item.label;\n if (item.backdrop) {\n ctx.fillStyle = item.backdrop.color;\n ctx.fillRect(item.backdrop.left, item.backdrop.top, item.backdrop.width, item.backdrop.height);\n }\n let y = item.textOffset;\n renderText(ctx, label, 0, y, tickFont, item);\n }\n if (area) {\n unclipArea(ctx);\n }\n }\n drawTitle() {\n const {ctx, options: {position, title, reverse}} = this;\n if (!title.display) {\n return;\n }\n const font = toFont(title.font);\n const padding = toPadding(title.padding);\n const align = title.align;\n let offset = font.lineHeight / 2;\n if (position === 'bottom' || position === 'center' || isObject(position)) {\n offset += padding.bottom;\n if (isArray(title.text)) {\n offset += font.lineHeight * (title.text.length - 1);\n }\n } else {\n offset += padding.top;\n }\n const {titleX, titleY, maxWidth, rotation} = titleArgs(this, offset, position, align);\n renderText(ctx, title.text, 0, 0, font, {\n color: title.color,\n maxWidth,\n rotation,\n textAlign: titleAlign(align, position, reverse),\n textBaseline: 'middle',\n translation: [titleX, titleY],\n });\n }\n draw(chartArea) {\n if (!this._isVisible()) {\n return;\n }\n this.drawBackground();\n this.drawGrid(chartArea);\n this.drawBorder();\n this.drawTitle();\n this.drawLabels(chartArea);\n }\n _layers() {\n const opts = this.options;\n const tz = opts.ticks && opts.ticks.z || 0;\n const gz = valueOrDefault(opts.grid && opts.grid.z, -1);\n if (!this._isVisible() || this.draw !== Scale.prototype.draw) {\n return [{\n z: tz,\n draw: (chartArea) => {\n this.draw(chartArea);\n }\n }];\n }\n return [{\n z: gz,\n draw: (chartArea) => {\n this.drawBackground();\n this.drawGrid(chartArea);\n this.drawTitle();\n }\n }, {\n z: gz + 1,\n draw: () => {\n this.drawBorder();\n }\n }, {\n z: tz,\n draw: (chartArea) => {\n this.drawLabels(chartArea);\n }\n }];\n }\n getMatchingVisibleMetas(type) {\n const metas = this.chart.getSortedVisibleDatasetMetas();\n const axisID = this.axis + 'AxisID';\n const result = [];\n let i, ilen;\n for (i = 0, ilen = metas.length; i < ilen; ++i) {\n const meta = metas[i];\n if (meta[axisID] === this.id && (!type || meta.type === type)) {\n result.push(meta);\n }\n }\n return result;\n }\n _resolveTickFontOptions(index) {\n const opts = this.options.ticks.setContext(this.getContext(index));\n return toFont(opts.font);\n }\n _maxDigits() {\n const fontSize = this._resolveTickFontOptions(0).lineHeight;\n return (this.isHorizontal() ? this.width : this.height) / fontSize;\n }\n}\n\nclass TypedRegistry {\n constructor(type, scope, override) {\n this.type = type;\n this.scope = scope;\n this.override = override;\n this.items = Object.create(null);\n }\n isForType(type) {\n return Object.prototype.isPrototypeOf.call(this.type.prototype, type.prototype);\n }\n register(item) {\n const proto = Object.getPrototypeOf(item);\n let parentScope;\n if (isIChartComponent(proto)) {\n parentScope = this.register(proto);\n }\n const items = this.items;\n const id = item.id;\n const scope = this.scope + '.' + id;\n if (!id) {\n throw new Error('class does not have id: ' + item);\n }\n if (id in items) {\n return scope;\n }\n items[id] = item;\n registerDefaults(item, scope, parentScope);\n if (this.override) {\n defaults.override(item.id, item.overrides);\n }\n return scope;\n }\n get(id) {\n return this.items[id];\n }\n unregister(item) {\n const items = this.items;\n const id = item.id;\n const scope = this.scope;\n if (id in items) {\n delete items[id];\n }\n if (scope && id in defaults[scope]) {\n delete defaults[scope][id];\n if (this.override) {\n delete overrides[id];\n }\n }\n }\n}\nfunction registerDefaults(item, scope, parentScope) {\n const itemDefaults = merge(Object.create(null), [\n parentScope ? defaults.get(parentScope) : {},\n defaults.get(scope),\n item.defaults\n ]);\n defaults.set(scope, itemDefaults);\n if (item.defaultRoutes) {\n routeDefaults(scope, item.defaultRoutes);\n }\n if (item.descriptors) {\n defaults.describe(scope, item.descriptors);\n }\n}\nfunction routeDefaults(scope, routes) {\n Object.keys(routes).forEach(property => {\n const propertyParts = property.split('.');\n const sourceName = propertyParts.pop();\n const sourceScope = [scope].concat(propertyParts).join('.');\n const parts = routes[property].split('.');\n const targetName = parts.pop();\n const targetScope = parts.join('.');\n defaults.route(sourceScope, sourceName, targetScope, targetName);\n });\n}\nfunction isIChartComponent(proto) {\n return 'id' in proto && 'defaults' in proto;\n}\n\nclass Registry {\n constructor() {\n this.controllers = new TypedRegistry(DatasetController, 'datasets', true);\n this.elements = new TypedRegistry(Element, 'elements');\n this.plugins = new TypedRegistry(Object, 'plugins');\n this.scales = new TypedRegistry(Scale, 'scales');\n this._typedRegistries = [this.controllers, this.scales, this.elements];\n }\n add(...args) {\n this._each('register', args);\n }\n remove(...args) {\n this._each('unregister', args);\n }\n addControllers(...args) {\n this._each('register', args, this.controllers);\n }\n addElements(...args) {\n this._each('register', args, this.elements);\n }\n addPlugins(...args) {\n this._each('register', args, this.plugins);\n }\n addScales(...args) {\n this._each('register', args, this.scales);\n }\n getController(id) {\n return this._get(id, this.controllers, 'controller');\n }\n getElement(id) {\n return this._get(id, this.elements, 'element');\n }\n getPlugin(id) {\n return this._get(id, this.plugins, 'plugin');\n }\n getScale(id) {\n return this._get(id, this.scales, 'scale');\n }\n removeControllers(...args) {\n this._each('unregister', args, this.controllers);\n }\n removeElements(...args) {\n this._each('unregister', args, this.elements);\n }\n removePlugins(...args) {\n this._each('unregister', args, this.plugins);\n }\n removeScales(...args) {\n this._each('unregister', args, this.scales);\n }\n _each(method, args, typedRegistry) {\n [...args].forEach(arg => {\n const reg = typedRegistry || this._getRegistryForType(arg);\n if (typedRegistry || reg.isForType(arg) || (reg === this.plugins && arg.id)) {\n this._exec(method, reg, arg);\n } else {\n each(arg, item => {\n const itemReg = typedRegistry || this._getRegistryForType(item);\n this._exec(method, itemReg, item);\n });\n }\n });\n }\n _exec(method, registry, component) {\n const camelMethod = _capitalize(method);\n callback(component['before' + camelMethod], [], component);\n registry[method](component);\n callback(component['after' + camelMethod], [], component);\n }\n _getRegistryForType(type) {\n for (let i = 0; i < this._typedRegistries.length; i++) {\n const reg = this._typedRegistries[i];\n if (reg.isForType(type)) {\n return reg;\n }\n }\n return this.plugins;\n }\n _get(id, typedRegistry, type) {\n const item = typedRegistry.get(id);\n if (item === undefined) {\n throw new Error('\"' + id + '\" is not a registered ' + type + '.');\n }\n return item;\n }\n}\nvar registry = new Registry();\n\nclass PluginService {\n constructor() {\n this._init = [];\n }\n notify(chart, hook, args, filter) {\n if (hook === 'beforeInit') {\n this._init = this._createDescriptors(chart, true);\n this._notify(this._init, chart, 'install');\n }\n const descriptors = filter ? this._descriptors(chart).filter(filter) : this._descriptors(chart);\n const result = this._notify(descriptors, chart, hook, args);\n if (hook === 'afterDestroy') {\n this._notify(descriptors, chart, 'stop');\n this._notify(this._init, chart, 'uninstall');\n }\n return result;\n }\n _notify(descriptors, chart, hook, args) {\n args = args || {};\n for (const descriptor of descriptors) {\n const plugin = descriptor.plugin;\n const method = plugin[hook];\n const params = [chart, args, descriptor.options];\n if (callback(method, params, plugin) === false && args.cancelable) {\n return false;\n }\n }\n return true;\n }\n invalidate() {\n if (!isNullOrUndef(this._cache)) {\n this._oldCache = this._cache;\n this._cache = undefined;\n }\n }\n _descriptors(chart) {\n if (this._cache) {\n return this._cache;\n }\n const descriptors = this._cache = this._createDescriptors(chart);\n this._notifyStateChanges(chart);\n return descriptors;\n }\n _createDescriptors(chart, all) {\n const config = chart && chart.config;\n const options = valueOrDefault(config.options && config.options.plugins, {});\n const plugins = allPlugins(config);\n return options === false && !all ? [] : createDescriptors(chart, plugins, options, all);\n }\n _notifyStateChanges(chart) {\n const previousDescriptors = this._oldCache || [];\n const descriptors = this._cache;\n const diff = (a, b) => a.filter(x => !b.some(y => x.plugin.id === y.plugin.id));\n this._notify(diff(previousDescriptors, descriptors), chart, 'stop');\n this._notify(diff(descriptors, previousDescriptors), chart, 'start');\n }\n}\nfunction allPlugins(config) {\n const plugins = [];\n const keys = Object.keys(registry.plugins.items);\n for (let i = 0; i < keys.length; i++) {\n plugins.push(registry.getPlugin(keys[i]));\n }\n const local = config.plugins || [];\n for (let i = 0; i < local.length; i++) {\n const plugin = local[i];\n if (plugins.indexOf(plugin) === -1) {\n plugins.push(plugin);\n }\n }\n return plugins;\n}\nfunction getOpts(options, all) {\n if (!all && options === false) {\n return null;\n }\n if (options === true) {\n return {};\n }\n return options;\n}\nfunction createDescriptors(chart, plugins, options, all) {\n const result = [];\n const context = chart.getContext();\n for (let i = 0; i < plugins.length; i++) {\n const plugin = plugins[i];\n const id = plugin.id;\n const opts = getOpts(options[id], all);\n if (opts === null) {\n continue;\n }\n result.push({\n plugin,\n options: pluginOpts(chart.config, plugin, opts, context)\n });\n }\n return result;\n}\nfunction pluginOpts(config, plugin, opts, context) {\n const keys = config.pluginScopeKeys(plugin);\n const scopes = config.getOptionScopes(opts, keys);\n return config.createResolver(scopes, context, [''], {scriptable: false, indexable: false, allKeys: true});\n}\n\nfunction getIndexAxis(type, options) {\n const datasetDefaults = defaults.datasets[type] || {};\n const datasetOptions = (options.datasets || {})[type] || {};\n return datasetOptions.indexAxis || options.indexAxis || datasetDefaults.indexAxis || 'x';\n}\nfunction getAxisFromDefaultScaleID(id, indexAxis) {\n let axis = id;\n if (id === '_index_') {\n axis = indexAxis;\n } else if (id === '_value_') {\n axis = indexAxis === 'x' ? 'y' : 'x';\n }\n return axis;\n}\nfunction getDefaultScaleIDFromAxis(axis, indexAxis) {\n return axis === indexAxis ? '_index_' : '_value_';\n}\nfunction axisFromPosition(position) {\n if (position === 'top' || position === 'bottom') {\n return 'x';\n }\n if (position === 'left' || position === 'right') {\n return 'y';\n }\n}\nfunction determineAxis(id, scaleOptions) {\n if (id === 'x' || id === 'y') {\n return id;\n }\n return scaleOptions.axis || axisFromPosition(scaleOptions.position) || id.charAt(0).toLowerCase();\n}\nfunction mergeScaleConfig(config, options) {\n const chartDefaults = overrides[config.type] || {scales: {}};\n const configScales = options.scales || {};\n const chartIndexAxis = getIndexAxis(config.type, options);\n const firstIDs = Object.create(null);\n const scales = Object.create(null);\n Object.keys(configScales).forEach(id => {\n const scaleConf = configScales[id];\n if (!isObject(scaleConf)) {\n return console.error(`Invalid scale configuration for scale: ${id}`);\n }\n if (scaleConf._proxy) {\n return console.warn(`Ignoring resolver passed as options for scale: ${id}`);\n }\n const axis = determineAxis(id, scaleConf);\n const defaultId = getDefaultScaleIDFromAxis(axis, chartIndexAxis);\n const defaultScaleOptions = chartDefaults.scales || {};\n firstIDs[axis] = firstIDs[axis] || id;\n scales[id] = mergeIf(Object.create(null), [{axis}, scaleConf, defaultScaleOptions[axis], defaultScaleOptions[defaultId]]);\n });\n config.data.datasets.forEach(dataset => {\n const type = dataset.type || config.type;\n const indexAxis = dataset.indexAxis || getIndexAxis(type, options);\n const datasetDefaults = overrides[type] || {};\n const defaultScaleOptions = datasetDefaults.scales || {};\n Object.keys(defaultScaleOptions).forEach(defaultID => {\n const axis = getAxisFromDefaultScaleID(defaultID, indexAxis);\n const id = dataset[axis + 'AxisID'] || firstIDs[axis] || axis;\n scales[id] = scales[id] || Object.create(null);\n mergeIf(scales[id], [{axis}, configScales[id], defaultScaleOptions[defaultID]]);\n });\n });\n Object.keys(scales).forEach(key => {\n const scale = scales[key];\n mergeIf(scale, [defaults.scales[scale.type], defaults.scale]);\n });\n return scales;\n}\nfunction initOptions(config) {\n const options = config.options || (config.options = {});\n options.plugins = valueOrDefault(options.plugins, {});\n options.scales = mergeScaleConfig(config, options);\n}\nfunction initData(data) {\n data = data || {};\n data.datasets = data.datasets || [];\n data.labels = data.labels || [];\n return data;\n}\nfunction initConfig(config) {\n config = config || {};\n config.data = initData(config.data);\n initOptions(config);\n return config;\n}\nconst keyCache = new Map();\nconst keysCached = new Set();\nfunction cachedKeys(cacheKey, generate) {\n let keys = keyCache.get(cacheKey);\n if (!keys) {\n keys = generate();\n keyCache.set(cacheKey, keys);\n keysCached.add(keys);\n }\n return keys;\n}\nconst addIfFound = (set, obj, key) => {\n const opts = resolveObjectKey(obj, key);\n if (opts !== undefined) {\n set.add(opts);\n }\n};\nclass Config {\n constructor(config) {\n this._config = initConfig(config);\n this._scopeCache = new Map();\n this._resolverCache = new Map();\n }\n get platform() {\n return this._config.platform;\n }\n get type() {\n return this._config.type;\n }\n set type(type) {\n this._config.type = type;\n }\n get data() {\n return this._config.data;\n }\n set data(data) {\n this._config.data = initData(data);\n }\n get options() {\n return this._config.options;\n }\n set options(options) {\n this._config.options = options;\n }\n get plugins() {\n return this._config.plugins;\n }\n update() {\n const config = this._config;\n this.clearCache();\n initOptions(config);\n }\n clearCache() {\n this._scopeCache.clear();\n this._resolverCache.clear();\n }\n datasetScopeKeys(datasetType) {\n return cachedKeys(datasetType,\n () => [[\n `datasets.${datasetType}`,\n ''\n ]]);\n }\n datasetAnimationScopeKeys(datasetType, transition) {\n return cachedKeys(`${datasetType}.transition.${transition}`,\n () => [\n [\n `datasets.${datasetType}.transitions.${transition}`,\n `transitions.${transition}`,\n ],\n [\n `datasets.${datasetType}`,\n ''\n ]\n ]);\n }\n datasetElementScopeKeys(datasetType, elementType) {\n return cachedKeys(`${datasetType}-${elementType}`,\n () => [[\n `datasets.${datasetType}.elements.${elementType}`,\n `datasets.${datasetType}`,\n `elements.${elementType}`,\n ''\n ]]);\n }\n pluginScopeKeys(plugin) {\n const id = plugin.id;\n const type = this.type;\n return cachedKeys(`${type}-plugin-${id}`,\n () => [[\n `plugins.${id}`,\n ...plugin.additionalOptionScopes || [],\n ]]);\n }\n _cachedScopes(mainScope, resetCache) {\n const _scopeCache = this._scopeCache;\n let cache = _scopeCache.get(mainScope);\n if (!cache || resetCache) {\n cache = new Map();\n _scopeCache.set(mainScope, cache);\n }\n return cache;\n }\n getOptionScopes(mainScope, keyLists, resetCache) {\n const {options, type} = this;\n const cache = this._cachedScopes(mainScope, resetCache);\n const cached = cache.get(keyLists);\n if (cached) {\n return cached;\n }\n const scopes = new Set();\n keyLists.forEach(keys => {\n if (mainScope) {\n scopes.add(mainScope);\n keys.forEach(key => addIfFound(scopes, mainScope, key));\n }\n keys.forEach(key => addIfFound(scopes, options, key));\n keys.forEach(key => addIfFound(scopes, overrides[type] || {}, key));\n keys.forEach(key => addIfFound(scopes, defaults, key));\n keys.forEach(key => addIfFound(scopes, descriptors, key));\n });\n const array = Array.from(scopes);\n if (array.length === 0) {\n array.push(Object.create(null));\n }\n if (keysCached.has(keyLists)) {\n cache.set(keyLists, array);\n }\n return array;\n }\n chartOptionScopes() {\n const {options, type} = this;\n return [\n options,\n overrides[type] || {},\n defaults.datasets[type] || {},\n {type},\n defaults,\n descriptors\n ];\n }\n resolveNamedOptions(scopes, names, context, prefixes = ['']) {\n const result = {$shared: true};\n const {resolver, subPrefixes} = getResolver(this._resolverCache, scopes, prefixes);\n let options = resolver;\n if (needContext(resolver, names)) {\n result.$shared = false;\n context = isFunction(context) ? context() : context;\n const subResolver = this.createResolver(scopes, context, subPrefixes);\n options = _attachContext(resolver, context, subResolver);\n }\n for (const prop of names) {\n result[prop] = options[prop];\n }\n return result;\n }\n createResolver(scopes, context, prefixes = [''], descriptorDefaults) {\n const {resolver} = getResolver(this._resolverCache, scopes, prefixes);\n return isObject(context)\n ? _attachContext(resolver, context, undefined, descriptorDefaults)\n : resolver;\n }\n}\nfunction getResolver(resolverCache, scopes, prefixes) {\n let cache = resolverCache.get(scopes);\n if (!cache) {\n cache = new Map();\n resolverCache.set(scopes, cache);\n }\n const cacheKey = prefixes.join();\n let cached = cache.get(cacheKey);\n if (!cached) {\n const resolver = _createResolver(scopes, prefixes);\n cached = {\n resolver,\n subPrefixes: prefixes.filter(p => !p.toLowerCase().includes('hover'))\n };\n cache.set(cacheKey, cached);\n }\n return cached;\n}\nconst hasFunction = value => isObject(value)\n && Object.getOwnPropertyNames(value).reduce((acc, key) => acc || isFunction(value[key]), false);\nfunction needContext(proxy, names) {\n const {isScriptable, isIndexable} = _descriptors(proxy);\n for (const prop of names) {\n const scriptable = isScriptable(prop);\n const indexable = isIndexable(prop);\n const value = (indexable || scriptable) && proxy[prop];\n if ((scriptable && (isFunction(value) || hasFunction(value)))\n || (indexable && isArray(value))) {\n return true;\n }\n }\n return false;\n}\n\nvar version = \"3.7.1\";\n\nconst KNOWN_POSITIONS = ['top', 'bottom', 'left', 'right', 'chartArea'];\nfunction positionIsHorizontal(position, axis) {\n return position === 'top' || position === 'bottom' || (KNOWN_POSITIONS.indexOf(position) === -1 && axis === 'x');\n}\nfunction compare2Level(l1, l2) {\n return function(a, b) {\n return a[l1] === b[l1]\n ? a[l2] - b[l2]\n : a[l1] - b[l1];\n };\n}\nfunction onAnimationsComplete(context) {\n const chart = context.chart;\n const animationOptions = chart.options.animation;\n chart.notifyPlugins('afterRender');\n callback(animationOptions && animationOptions.onComplete, [context], chart);\n}\nfunction onAnimationProgress(context) {\n const chart = context.chart;\n const animationOptions = chart.options.animation;\n callback(animationOptions && animationOptions.onProgress, [context], chart);\n}\nfunction getCanvas(item) {\n if (_isDomSupported() && typeof item === 'string') {\n item = document.getElementById(item);\n } else if (item && item.length) {\n item = item[0];\n }\n if (item && item.canvas) {\n item = item.canvas;\n }\n return item;\n}\nconst instances = {};\nconst getChart = (key) => {\n const canvas = getCanvas(key);\n return Object.values(instances).filter((c) => c.canvas === canvas).pop();\n};\nfunction moveNumericKeys(obj, start, move) {\n const keys = Object.keys(obj);\n for (const key of keys) {\n const intKey = +key;\n if (intKey >= start) {\n const value = obj[key];\n delete obj[key];\n if (move > 0 || intKey > start) {\n obj[intKey + move] = value;\n }\n }\n }\n}\nfunction determineLastEvent(e, lastEvent, inChartArea, isClick) {\n if (!inChartArea || e.type === 'mouseout') {\n return null;\n }\n if (isClick) {\n return lastEvent;\n }\n return e;\n}\nclass Chart {\n constructor(item, userConfig) {\n const config = this.config = new Config(userConfig);\n const initialCanvas = getCanvas(item);\n const existingChart = getChart(initialCanvas);\n if (existingChart) {\n throw new Error(\n 'Canvas is already in use. Chart with ID \\'' + existingChart.id + '\\'' +\n\t\t\t\t' must be destroyed before the canvas can be reused.'\n );\n }\n const options = config.createResolver(config.chartOptionScopes(), this.getContext());\n this.platform = new (config.platform || _detectPlatform(initialCanvas))();\n this.platform.updateConfig(config);\n const context = this.platform.acquireContext(initialCanvas, options.aspectRatio);\n const canvas = context && context.canvas;\n const height = canvas && canvas.height;\n const width = canvas && canvas.width;\n this.id = uid();\n this.ctx = context;\n this.canvas = canvas;\n this.width = width;\n this.height = height;\n this._options = options;\n this._aspectRatio = this.aspectRatio;\n this._layers = [];\n this._metasets = [];\n this._stacks = undefined;\n this.boxes = [];\n this.currentDevicePixelRatio = undefined;\n this.chartArea = undefined;\n this._active = [];\n this._lastEvent = undefined;\n this._listeners = {};\n this._responsiveListeners = undefined;\n this._sortedMetasets = [];\n this.scales = {};\n this._plugins = new PluginService();\n this.$proxies = {};\n this._hiddenIndices = {};\n this.attached = false;\n this._animationsDisabled = undefined;\n this.$context = undefined;\n this._doResize = debounce(mode => this.update(mode), options.resizeDelay || 0);\n this._dataChanges = [];\n instances[this.id] = this;\n if (!context || !canvas) {\n console.error(\"Failed to create chart: can't acquire context from the given item\");\n return;\n }\n animator.listen(this, 'complete', onAnimationsComplete);\n animator.listen(this, 'progress', onAnimationProgress);\n this._initialize();\n if (this.attached) {\n this.update();\n }\n }\n get aspectRatio() {\n const {options: {aspectRatio, maintainAspectRatio}, width, height, _aspectRatio} = this;\n if (!isNullOrUndef(aspectRatio)) {\n return aspectRatio;\n }\n if (maintainAspectRatio && _aspectRatio) {\n return _aspectRatio;\n }\n return height ? width / height : null;\n }\n get data() {\n return this.config.data;\n }\n set data(data) {\n this.config.data = data;\n }\n get options() {\n return this._options;\n }\n set options(options) {\n this.config.options = options;\n }\n _initialize() {\n this.notifyPlugins('beforeInit');\n if (this.options.responsive) {\n this.resize();\n } else {\n retinaScale(this, this.options.devicePixelRatio);\n }\n this.bindEvents();\n this.notifyPlugins('afterInit');\n return this;\n }\n clear() {\n clearCanvas(this.canvas, this.ctx);\n return this;\n }\n stop() {\n animator.stop(this);\n return this;\n }\n resize(width, height) {\n if (!animator.running(this)) {\n this._resize(width, height);\n } else {\n this._resizeBeforeDraw = {width, height};\n }\n }\n _resize(width, height) {\n const options = this.options;\n const canvas = this.canvas;\n const aspectRatio = options.maintainAspectRatio && this.aspectRatio;\n const newSize = this.platform.getMaximumSize(canvas, width, height, aspectRatio);\n const newRatio = options.devicePixelRatio || this.platform.getDevicePixelRatio();\n const mode = this.width ? 'resize' : 'attach';\n this.width = newSize.width;\n this.height = newSize.height;\n this._aspectRatio = this.aspectRatio;\n if (!retinaScale(this, newRatio, true)) {\n return;\n }\n this.notifyPlugins('resize', {size: newSize});\n callback(options.onResize, [this, newSize], this);\n if (this.attached) {\n if (this._doResize(mode)) {\n this.render();\n }\n }\n }\n ensureScalesHaveIDs() {\n const options = this.options;\n const scalesOptions = options.scales || {};\n each(scalesOptions, (axisOptions, axisID) => {\n axisOptions.id = axisID;\n });\n }\n buildOrUpdateScales() {\n const options = this.options;\n const scaleOpts = options.scales;\n const scales = this.scales;\n const updated = Object.keys(scales).reduce((obj, id) => {\n obj[id] = false;\n return obj;\n }, {});\n let items = [];\n if (scaleOpts) {\n items = items.concat(\n Object.keys(scaleOpts).map((id) => {\n const scaleOptions = scaleOpts[id];\n const axis = determineAxis(id, scaleOptions);\n const isRadial = axis === 'r';\n const isHorizontal = axis === 'x';\n return {\n options: scaleOptions,\n dposition: isRadial ? 'chartArea' : isHorizontal ? 'bottom' : 'left',\n dtype: isRadial ? 'radialLinear' : isHorizontal ? 'category' : 'linear'\n };\n })\n );\n }\n each(items, (item) => {\n const scaleOptions = item.options;\n const id = scaleOptions.id;\n const axis = determineAxis(id, scaleOptions);\n const scaleType = valueOrDefault(scaleOptions.type, item.dtype);\n if (scaleOptions.position === undefined || positionIsHorizontal(scaleOptions.position, axis) !== positionIsHorizontal(item.dposition)) {\n scaleOptions.position = item.dposition;\n }\n updated[id] = true;\n let scale = null;\n if (id in scales && scales[id].type === scaleType) {\n scale = scales[id];\n } else {\n const scaleClass = registry.getScale(scaleType);\n scale = new scaleClass({\n id,\n type: scaleType,\n ctx: this.ctx,\n chart: this\n });\n scales[scale.id] = scale;\n }\n scale.init(scaleOptions, options);\n });\n each(updated, (hasUpdated, id) => {\n if (!hasUpdated) {\n delete scales[id];\n }\n });\n each(scales, (scale) => {\n layouts.configure(this, scale, scale.options);\n layouts.addBox(this, scale);\n });\n }\n _updateMetasets() {\n const metasets = this._metasets;\n const numData = this.data.datasets.length;\n const numMeta = metasets.length;\n metasets.sort((a, b) => a.index - b.index);\n if (numMeta > numData) {\n for (let i = numData; i < numMeta; ++i) {\n this._destroyDatasetMeta(i);\n }\n metasets.splice(numData, numMeta - numData);\n }\n this._sortedMetasets = metasets.slice(0).sort(compare2Level('order', 'index'));\n }\n _removeUnreferencedMetasets() {\n const {_metasets: metasets, data: {datasets}} = this;\n if (metasets.length > datasets.length) {\n delete this._stacks;\n }\n metasets.forEach((meta, index) => {\n if (datasets.filter(x => x === meta._dataset).length === 0) {\n this._destroyDatasetMeta(index);\n }\n });\n }\n buildOrUpdateControllers() {\n const newControllers = [];\n const datasets = this.data.datasets;\n let i, ilen;\n this._removeUnreferencedMetasets();\n for (i = 0, ilen = datasets.length; i < ilen; i++) {\n const dataset = datasets[i];\n let meta = this.getDatasetMeta(i);\n const type = dataset.type || this.config.type;\n if (meta.type && meta.type !== type) {\n this._destroyDatasetMeta(i);\n meta = this.getDatasetMeta(i);\n }\n meta.type = type;\n meta.indexAxis = dataset.indexAxis || getIndexAxis(type, this.options);\n meta.order = dataset.order || 0;\n meta.index = i;\n meta.label = '' + dataset.label;\n meta.visible = this.isDatasetVisible(i);\n if (meta.controller) {\n meta.controller.updateIndex(i);\n meta.controller.linkScales();\n } else {\n const ControllerClass = registry.getController(type);\n const {datasetElementType, dataElementType} = defaults.datasets[type];\n Object.assign(ControllerClass.prototype, {\n dataElementType: registry.getElement(dataElementType),\n datasetElementType: datasetElementType && registry.getElement(datasetElementType)\n });\n meta.controller = new ControllerClass(this, i);\n newControllers.push(meta.controller);\n }\n }\n this._updateMetasets();\n return newControllers;\n }\n _resetElements() {\n each(this.data.datasets, (dataset, datasetIndex) => {\n this.getDatasetMeta(datasetIndex).controller.reset();\n }, this);\n }\n reset() {\n this._resetElements();\n this.notifyPlugins('reset');\n }\n update(mode) {\n const config = this.config;\n config.update();\n const options = this._options = config.createResolver(config.chartOptionScopes(), this.getContext());\n const animsDisabled = this._animationsDisabled = !options.animation;\n this._updateScales();\n this._checkEventBindings();\n this._updateHiddenIndices();\n this._plugins.invalidate();\n if (this.notifyPlugins('beforeUpdate', {mode, cancelable: true}) === false) {\n return;\n }\n const newControllers = this.buildOrUpdateControllers();\n this.notifyPlugins('beforeElementsUpdate');\n let minPadding = 0;\n for (let i = 0, ilen = this.data.datasets.length; i < ilen; i++) {\n const {controller} = this.getDatasetMeta(i);\n const reset = !animsDisabled && newControllers.indexOf(controller) === -1;\n controller.buildOrUpdateElements(reset);\n minPadding = Math.max(+controller.getMaxOverflow(), minPadding);\n }\n minPadding = this._minPadding = options.layout.autoPadding ? minPadding : 0;\n this._updateLayout(minPadding);\n if (!animsDisabled) {\n each(newControllers, (controller) => {\n controller.reset();\n });\n }\n this._updateDatasets(mode);\n this.notifyPlugins('afterUpdate', {mode});\n this._layers.sort(compare2Level('z', '_idx'));\n const {_active, _lastEvent} = this;\n if (_lastEvent) {\n this._eventHandler(_lastEvent, true);\n } else if (_active.length) {\n this._updateHoverStyles(_active, _active, true);\n }\n this.render();\n }\n _updateScales() {\n each(this.scales, (scale) => {\n layouts.removeBox(this, scale);\n });\n this.ensureScalesHaveIDs();\n this.buildOrUpdateScales();\n }\n _checkEventBindings() {\n const options = this.options;\n const existingEvents = new Set(Object.keys(this._listeners));\n const newEvents = new Set(options.events);\n if (!setsEqual(existingEvents, newEvents) || !!this._responsiveListeners !== options.responsive) {\n this.unbindEvents();\n this.bindEvents();\n }\n }\n _updateHiddenIndices() {\n const {_hiddenIndices} = this;\n const changes = this._getUniformDataChanges() || [];\n for (const {method, start, count} of changes) {\n const move = method === '_removeElements' ? -count : count;\n moveNumericKeys(_hiddenIndices, start, move);\n }\n }\n _getUniformDataChanges() {\n const _dataChanges = this._dataChanges;\n if (!_dataChanges || !_dataChanges.length) {\n return;\n }\n this._dataChanges = [];\n const datasetCount = this.data.datasets.length;\n const makeSet = (idx) => new Set(\n _dataChanges\n .filter(c => c[0] === idx)\n .map((c, i) => i + ',' + c.splice(1).join(','))\n );\n const changeSet = makeSet(0);\n for (let i = 1; i < datasetCount; i++) {\n if (!setsEqual(changeSet, makeSet(i))) {\n return;\n }\n }\n return Array.from(changeSet)\n .map(c => c.split(','))\n .map(a => ({method: a[1], start: +a[2], count: +a[3]}));\n }\n _updateLayout(minPadding) {\n if (this.notifyPlugins('beforeLayout', {cancelable: true}) === false) {\n return;\n }\n layouts.update(this, this.width, this.height, minPadding);\n const area = this.chartArea;\n const noArea = area.width <= 0 || area.height <= 0;\n this._layers = [];\n each(this.boxes, (box) => {\n if (noArea && box.position === 'chartArea') {\n return;\n }\n if (box.configure) {\n box.configure();\n }\n this._layers.push(...box._layers());\n }, this);\n this._layers.forEach((item, index) => {\n item._idx = index;\n });\n this.notifyPlugins('afterLayout');\n }\n _updateDatasets(mode) {\n if (this.notifyPlugins('beforeDatasetsUpdate', {mode, cancelable: true}) === false) {\n return;\n }\n for (let i = 0, ilen = this.data.datasets.length; i < ilen; ++i) {\n this.getDatasetMeta(i).controller.configure();\n }\n for (let i = 0, ilen = this.data.datasets.length; i < ilen; ++i) {\n this._updateDataset(i, isFunction(mode) ? mode({datasetIndex: i}) : mode);\n }\n this.notifyPlugins('afterDatasetsUpdate', {mode});\n }\n _updateDataset(index, mode) {\n const meta = this.getDatasetMeta(index);\n const args = {meta, index, mode, cancelable: true};\n if (this.notifyPlugins('beforeDatasetUpdate', args) === false) {\n return;\n }\n meta.controller._update(mode);\n args.cancelable = false;\n this.notifyPlugins('afterDatasetUpdate', args);\n }\n render() {\n if (this.notifyPlugins('beforeRender', {cancelable: true}) === false) {\n return;\n }\n if (animator.has(this)) {\n if (this.attached && !animator.running(this)) {\n animator.start(this);\n }\n } else {\n this.draw();\n onAnimationsComplete({chart: this});\n }\n }\n draw() {\n let i;\n if (this._resizeBeforeDraw) {\n const {width, height} = this._resizeBeforeDraw;\n this._resize(width, height);\n this._resizeBeforeDraw = null;\n }\n this.clear();\n if (this.width <= 0 || this.height <= 0) {\n return;\n }\n if (this.notifyPlugins('beforeDraw', {cancelable: true}) === false) {\n return;\n }\n const layers = this._layers;\n for (i = 0; i < layers.length && layers[i].z <= 0; ++i) {\n layers[i].draw(this.chartArea);\n }\n this._drawDatasets();\n for (; i < layers.length; ++i) {\n layers[i].draw(this.chartArea);\n }\n this.notifyPlugins('afterDraw');\n }\n _getSortedDatasetMetas(filterVisible) {\n const metasets = this._sortedMetasets;\n const result = [];\n let i, ilen;\n for (i = 0, ilen = metasets.length; i < ilen; ++i) {\n const meta = metasets[i];\n if (!filterVisible || meta.visible) {\n result.push(meta);\n }\n }\n return result;\n }\n getSortedVisibleDatasetMetas() {\n return this._getSortedDatasetMetas(true);\n }\n _drawDatasets() {\n if (this.notifyPlugins('beforeDatasetsDraw', {cancelable: true}) === false) {\n return;\n }\n const metasets = this.getSortedVisibleDatasetMetas();\n for (let i = metasets.length - 1; i >= 0; --i) {\n this._drawDataset(metasets[i]);\n }\n this.notifyPlugins('afterDatasetsDraw');\n }\n _drawDataset(meta) {\n const ctx = this.ctx;\n const clip = meta._clip;\n const useClip = !clip.disabled;\n const area = this.chartArea;\n const args = {\n meta,\n index: meta.index,\n cancelable: true\n };\n if (this.notifyPlugins('beforeDatasetDraw', args) === false) {\n return;\n }\n if (useClip) {\n clipArea(ctx, {\n left: clip.left === false ? 0 : area.left - clip.left,\n right: clip.right === false ? this.width : area.right + clip.right,\n top: clip.top === false ? 0 : area.top - clip.top,\n bottom: clip.bottom === false ? this.height : area.bottom + clip.bottom\n });\n }\n meta.controller.draw();\n if (useClip) {\n unclipArea(ctx);\n }\n args.cancelable = false;\n this.notifyPlugins('afterDatasetDraw', args);\n }\n getElementsAtEventForMode(e, mode, options, useFinalPosition) {\n const method = Interaction.modes[mode];\n if (typeof method === 'function') {\n return method(this, e, options, useFinalPosition);\n }\n return [];\n }\n getDatasetMeta(datasetIndex) {\n const dataset = this.data.datasets[datasetIndex];\n const metasets = this._metasets;\n let meta = metasets.filter(x => x && x._dataset === dataset).pop();\n if (!meta) {\n meta = {\n type: null,\n data: [],\n dataset: null,\n controller: null,\n hidden: null,\n xAxisID: null,\n yAxisID: null,\n order: dataset && dataset.order || 0,\n index: datasetIndex,\n _dataset: dataset,\n _parsed: [],\n _sorted: false\n };\n metasets.push(meta);\n }\n return meta;\n }\n getContext() {\n return this.$context || (this.$context = createContext(null, {chart: this, type: 'chart'}));\n }\n getVisibleDatasetCount() {\n return this.getSortedVisibleDatasetMetas().length;\n }\n isDatasetVisible(datasetIndex) {\n const dataset = this.data.datasets[datasetIndex];\n if (!dataset) {\n return false;\n }\n const meta = this.getDatasetMeta(datasetIndex);\n return typeof meta.hidden === 'boolean' ? !meta.hidden : !dataset.hidden;\n }\n setDatasetVisibility(datasetIndex, visible) {\n const meta = this.getDatasetMeta(datasetIndex);\n meta.hidden = !visible;\n }\n toggleDataVisibility(index) {\n this._hiddenIndices[index] = !this._hiddenIndices[index];\n }\n getDataVisibility(index) {\n return !this._hiddenIndices[index];\n }\n _updateVisibility(datasetIndex, dataIndex, visible) {\n const mode = visible ? 'show' : 'hide';\n const meta = this.getDatasetMeta(datasetIndex);\n const anims = meta.controller._resolveAnimations(undefined, mode);\n if (defined(dataIndex)) {\n meta.data[dataIndex].hidden = !visible;\n this.update();\n } else {\n this.setDatasetVisibility(datasetIndex, visible);\n anims.update(meta, {visible});\n this.update((ctx) => ctx.datasetIndex === datasetIndex ? mode : undefined);\n }\n }\n hide(datasetIndex, dataIndex) {\n this._updateVisibility(datasetIndex, dataIndex, false);\n }\n show(datasetIndex, dataIndex) {\n this._updateVisibility(datasetIndex, dataIndex, true);\n }\n _destroyDatasetMeta(datasetIndex) {\n const meta = this._metasets[datasetIndex];\n if (meta && meta.controller) {\n meta.controller._destroy();\n }\n delete this._metasets[datasetIndex];\n }\n _stop() {\n let i, ilen;\n this.stop();\n animator.remove(this);\n for (i = 0, ilen = this.data.datasets.length; i < ilen; ++i) {\n this._destroyDatasetMeta(i);\n }\n }\n destroy() {\n this.notifyPlugins('beforeDestroy');\n const {canvas, ctx} = this;\n this._stop();\n this.config.clearCache();\n if (canvas) {\n this.unbindEvents();\n clearCanvas(canvas, ctx);\n this.platform.releaseContext(ctx);\n this.canvas = null;\n this.ctx = null;\n }\n this.notifyPlugins('destroy');\n delete instances[this.id];\n this.notifyPlugins('afterDestroy');\n }\n toBase64Image(...args) {\n return this.canvas.toDataURL(...args);\n }\n bindEvents() {\n this.bindUserEvents();\n if (this.options.responsive) {\n this.bindResponsiveEvents();\n } else {\n this.attached = true;\n }\n }\n bindUserEvents() {\n const listeners = this._listeners;\n const platform = this.platform;\n const _add = (type, listener) => {\n platform.addEventListener(this, type, listener);\n listeners[type] = listener;\n };\n const listener = (e, x, y) => {\n e.offsetX = x;\n e.offsetY = y;\n this._eventHandler(e);\n };\n each(this.options.events, (type) => _add(type, listener));\n }\n bindResponsiveEvents() {\n if (!this._responsiveListeners) {\n this._responsiveListeners = {};\n }\n const listeners = this._responsiveListeners;\n const platform = this.platform;\n const _add = (type, listener) => {\n platform.addEventListener(this, type, listener);\n listeners[type] = listener;\n };\n const _remove = (type, listener) => {\n if (listeners[type]) {\n platform.removeEventListener(this, type, listener);\n delete listeners[type];\n }\n };\n const listener = (width, height) => {\n if (this.canvas) {\n this.resize(width, height);\n }\n };\n let detached;\n const attached = () => {\n _remove('attach', attached);\n this.attached = true;\n this.resize();\n _add('resize', listener);\n _add('detach', detached);\n };\n detached = () => {\n this.attached = false;\n _remove('resize', listener);\n this._stop();\n this._resize(0, 0);\n _add('attach', attached);\n };\n if (platform.isAttached(this.canvas)) {\n attached();\n } else {\n detached();\n }\n }\n unbindEvents() {\n each(this._listeners, (listener, type) => {\n this.platform.removeEventListener(this, type, listener);\n });\n this._listeners = {};\n each(this._responsiveListeners, (listener, type) => {\n this.platform.removeEventListener(this, type, listener);\n });\n this._responsiveListeners = undefined;\n }\n updateHoverStyle(items, mode, enabled) {\n const prefix = enabled ? 'set' : 'remove';\n let meta, item, i, ilen;\n if (mode === 'dataset') {\n meta = this.getDatasetMeta(items[0].datasetIndex);\n meta.controller['_' + prefix + 'DatasetHoverStyle']();\n }\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n item = items[i];\n const controller = item && this.getDatasetMeta(item.datasetIndex).controller;\n if (controller) {\n controller[prefix + 'HoverStyle'](item.element, item.datasetIndex, item.index);\n }\n }\n }\n getActiveElements() {\n return this._active || [];\n }\n setActiveElements(activeElements) {\n const lastActive = this._active || [];\n const active = activeElements.map(({datasetIndex, index}) => {\n const meta = this.getDatasetMeta(datasetIndex);\n if (!meta) {\n throw new Error('No dataset found at index ' + datasetIndex);\n }\n return {\n datasetIndex,\n element: meta.data[index],\n index,\n };\n });\n const changed = !_elementsEqual(active, lastActive);\n if (changed) {\n this._active = active;\n this._lastEvent = null;\n this._updateHoverStyles(active, lastActive);\n }\n }\n notifyPlugins(hook, args, filter) {\n return this._plugins.notify(this, hook, args, filter);\n }\n _updateHoverStyles(active, lastActive, replay) {\n const hoverOptions = this.options.hover;\n const diff = (a, b) => a.filter(x => !b.some(y => x.datasetIndex === y.datasetIndex && x.index === y.index));\n const deactivated = diff(lastActive, active);\n const activated = replay ? active : diff(active, lastActive);\n if (deactivated.length) {\n this.updateHoverStyle(deactivated, hoverOptions.mode, false);\n }\n if (activated.length && hoverOptions.mode) {\n this.updateHoverStyle(activated, hoverOptions.mode, true);\n }\n }\n _eventHandler(e, replay) {\n const args = {\n event: e,\n replay,\n cancelable: true,\n inChartArea: _isPointInArea(e, this.chartArea, this._minPadding)\n };\n const eventFilter = (plugin) => (plugin.options.events || this.options.events).includes(e.native.type);\n if (this.notifyPlugins('beforeEvent', args, eventFilter) === false) {\n return;\n }\n const changed = this._handleEvent(e, replay, args.inChartArea);\n args.cancelable = false;\n this.notifyPlugins('afterEvent', args, eventFilter);\n if (changed || args.changed) {\n this.render();\n }\n return this;\n }\n _handleEvent(e, replay, inChartArea) {\n const {_active: lastActive = [], options} = this;\n const useFinalPosition = replay;\n const active = this._getActiveElements(e, lastActive, inChartArea, useFinalPosition);\n const isClick = _isClickEvent(e);\n const lastEvent = determineLastEvent(e, this._lastEvent, inChartArea, isClick);\n if (inChartArea) {\n this._lastEvent = null;\n callback(options.onHover, [e, active, this], this);\n if (isClick) {\n callback(options.onClick, [e, active, this], this);\n }\n }\n const changed = !_elementsEqual(active, lastActive);\n if (changed || replay) {\n this._active = active;\n this._updateHoverStyles(active, lastActive, replay);\n }\n this._lastEvent = lastEvent;\n return changed;\n }\n _getActiveElements(e, lastActive, inChartArea, useFinalPosition) {\n if (e.type === 'mouseout') {\n return [];\n }\n if (!inChartArea) {\n return lastActive;\n }\n const hoverOptions = this.options.hover;\n return this.getElementsAtEventForMode(e, hoverOptions.mode, hoverOptions, useFinalPosition);\n }\n}\nconst invalidatePlugins = () => each(Chart.instances, (chart) => chart._plugins.invalidate());\nconst enumerable = true;\nObject.defineProperties(Chart, {\n defaults: {\n enumerable,\n value: defaults\n },\n instances: {\n enumerable,\n value: instances\n },\n overrides: {\n enumerable,\n value: overrides\n },\n registry: {\n enumerable,\n value: registry\n },\n version: {\n enumerable,\n value: version\n },\n getChart: {\n enumerable,\n value: getChart\n },\n register: {\n enumerable,\n value: (...items) => {\n registry.add(...items);\n invalidatePlugins();\n }\n },\n unregister: {\n enumerable,\n value: (...items) => {\n registry.remove(...items);\n invalidatePlugins();\n }\n }\n});\n\nfunction clipArc(ctx, element, endAngle) {\n const {startAngle, pixelMargin, x, y, outerRadius, innerRadius} = element;\n let angleMargin = pixelMargin / outerRadius;\n ctx.beginPath();\n ctx.arc(x, y, outerRadius, startAngle - angleMargin, endAngle + angleMargin);\n if (innerRadius > pixelMargin) {\n angleMargin = pixelMargin / innerRadius;\n ctx.arc(x, y, innerRadius, endAngle + angleMargin, startAngle - angleMargin, true);\n } else {\n ctx.arc(x, y, pixelMargin, endAngle + HALF_PI, startAngle - HALF_PI);\n }\n ctx.closePath();\n ctx.clip();\n}\nfunction toRadiusCorners(value) {\n return _readValueToProps(value, ['outerStart', 'outerEnd', 'innerStart', 'innerEnd']);\n}\nfunction parseBorderRadius$1(arc, innerRadius, outerRadius, angleDelta) {\n const o = toRadiusCorners(arc.options.borderRadius);\n const halfThickness = (outerRadius - innerRadius) / 2;\n const innerLimit = Math.min(halfThickness, angleDelta * innerRadius / 2);\n const computeOuterLimit = (val) => {\n const outerArcLimit = (outerRadius - Math.min(halfThickness, val)) * angleDelta / 2;\n return _limitValue(val, 0, Math.min(halfThickness, outerArcLimit));\n };\n return {\n outerStart: computeOuterLimit(o.outerStart),\n outerEnd: computeOuterLimit(o.outerEnd),\n innerStart: _limitValue(o.innerStart, 0, innerLimit),\n innerEnd: _limitValue(o.innerEnd, 0, innerLimit),\n };\n}\nfunction rThetaToXY(r, theta, x, y) {\n return {\n x: x + r * Math.cos(theta),\n y: y + r * Math.sin(theta),\n };\n}\nfunction pathArc(ctx, element, offset, spacing, end) {\n const {x, y, startAngle: start, pixelMargin, innerRadius: innerR} = element;\n const outerRadius = Math.max(element.outerRadius + spacing + offset - pixelMargin, 0);\n const innerRadius = innerR > 0 ? innerR + spacing + offset + pixelMargin : 0;\n let spacingOffset = 0;\n const alpha = end - start;\n if (spacing) {\n const noSpacingInnerRadius = innerR > 0 ? innerR - spacing : 0;\n const noSpacingOuterRadius = outerRadius > 0 ? outerRadius - spacing : 0;\n const avNogSpacingRadius = (noSpacingInnerRadius + noSpacingOuterRadius) / 2;\n const adjustedAngle = avNogSpacingRadius !== 0 ? (alpha * avNogSpacingRadius) / (avNogSpacingRadius + spacing) : alpha;\n spacingOffset = (alpha - adjustedAngle) / 2;\n }\n const beta = Math.max(0.001, alpha * outerRadius - offset / PI) / outerRadius;\n const angleOffset = (alpha - beta) / 2;\n const startAngle = start + angleOffset + spacingOffset;\n const endAngle = end - angleOffset - spacingOffset;\n const {outerStart, outerEnd, innerStart, innerEnd} = parseBorderRadius$1(element, innerRadius, outerRadius, endAngle - startAngle);\n const outerStartAdjustedRadius = outerRadius - outerStart;\n const outerEndAdjustedRadius = outerRadius - outerEnd;\n const outerStartAdjustedAngle = startAngle + outerStart / outerStartAdjustedRadius;\n const outerEndAdjustedAngle = endAngle - outerEnd / outerEndAdjustedRadius;\n const innerStartAdjustedRadius = innerRadius + innerStart;\n const innerEndAdjustedRadius = innerRadius + innerEnd;\n const innerStartAdjustedAngle = startAngle + innerStart / innerStartAdjustedRadius;\n const innerEndAdjustedAngle = endAngle - innerEnd / innerEndAdjustedRadius;\n ctx.beginPath();\n ctx.arc(x, y, outerRadius, outerStartAdjustedAngle, outerEndAdjustedAngle);\n if (outerEnd > 0) {\n const pCenter = rThetaToXY(outerEndAdjustedRadius, outerEndAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, outerEnd, outerEndAdjustedAngle, endAngle + HALF_PI);\n }\n const p4 = rThetaToXY(innerEndAdjustedRadius, endAngle, x, y);\n ctx.lineTo(p4.x, p4.y);\n if (innerEnd > 0) {\n const pCenter = rThetaToXY(innerEndAdjustedRadius, innerEndAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, innerEnd, endAngle + HALF_PI, innerEndAdjustedAngle + Math.PI);\n }\n ctx.arc(x, y, innerRadius, endAngle - (innerEnd / innerRadius), startAngle + (innerStart / innerRadius), true);\n if (innerStart > 0) {\n const pCenter = rThetaToXY(innerStartAdjustedRadius, innerStartAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, innerStart, innerStartAdjustedAngle + Math.PI, startAngle - HALF_PI);\n }\n const p8 = rThetaToXY(outerStartAdjustedRadius, startAngle, x, y);\n ctx.lineTo(p8.x, p8.y);\n if (outerStart > 0) {\n const pCenter = rThetaToXY(outerStartAdjustedRadius, outerStartAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, outerStart, startAngle - HALF_PI, outerStartAdjustedAngle);\n }\n ctx.closePath();\n}\nfunction drawArc(ctx, element, offset, spacing) {\n const {fullCircles, startAngle, circumference} = element;\n let endAngle = element.endAngle;\n if (fullCircles) {\n pathArc(ctx, element, offset, spacing, startAngle + TAU);\n for (let i = 0; i < fullCircles; ++i) {\n ctx.fill();\n }\n if (!isNaN(circumference)) {\n endAngle = startAngle + circumference % TAU;\n if (circumference % TAU === 0) {\n endAngle += TAU;\n }\n }\n }\n pathArc(ctx, element, offset, spacing, endAngle);\n ctx.fill();\n return endAngle;\n}\nfunction drawFullCircleBorders(ctx, element, inner) {\n const {x, y, startAngle, pixelMargin, fullCircles} = element;\n const outerRadius = Math.max(element.outerRadius - pixelMargin, 0);\n const innerRadius = element.innerRadius + pixelMargin;\n let i;\n if (inner) {\n clipArc(ctx, element, startAngle + TAU);\n }\n ctx.beginPath();\n ctx.arc(x, y, innerRadius, startAngle + TAU, startAngle, true);\n for (i = 0; i < fullCircles; ++i) {\n ctx.stroke();\n }\n ctx.beginPath();\n ctx.arc(x, y, outerRadius, startAngle, startAngle + TAU);\n for (i = 0; i < fullCircles; ++i) {\n ctx.stroke();\n }\n}\nfunction drawBorder(ctx, element, offset, spacing, endAngle) {\n const {options} = element;\n const {borderWidth, borderJoinStyle} = options;\n const inner = options.borderAlign === 'inner';\n if (!borderWidth) {\n return;\n }\n if (inner) {\n ctx.lineWidth = borderWidth * 2;\n ctx.lineJoin = borderJoinStyle || 'round';\n } else {\n ctx.lineWidth = borderWidth;\n ctx.lineJoin = borderJoinStyle || 'bevel';\n }\n if (element.fullCircles) {\n drawFullCircleBorders(ctx, element, inner);\n }\n if (inner) {\n clipArc(ctx, element, endAngle);\n }\n pathArc(ctx, element, offset, spacing, endAngle);\n ctx.stroke();\n}\nclass ArcElement extends Element {\n constructor(cfg) {\n super();\n this.options = undefined;\n this.circumference = undefined;\n this.startAngle = undefined;\n this.endAngle = undefined;\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n this.pixelMargin = 0;\n this.fullCircles = 0;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n inRange(chartX, chartY, useFinalPosition) {\n const point = this.getProps(['x', 'y'], useFinalPosition);\n const {angle, distance} = getAngleFromPoint(point, {x: chartX, y: chartY});\n const {startAngle, endAngle, innerRadius, outerRadius, circumference} = this.getProps([\n 'startAngle',\n 'endAngle',\n 'innerRadius',\n 'outerRadius',\n 'circumference'\n ], useFinalPosition);\n const rAdjust = this.options.spacing / 2;\n const _circumference = valueOrDefault(circumference, endAngle - startAngle);\n const betweenAngles = _circumference >= TAU || _angleBetween(angle, startAngle, endAngle);\n const withinRadius = _isBetween(distance, innerRadius + rAdjust, outerRadius + rAdjust);\n return (betweenAngles && withinRadius);\n }\n getCenterPoint(useFinalPosition) {\n const {x, y, startAngle, endAngle, innerRadius, outerRadius} = this.getProps([\n 'x',\n 'y',\n 'startAngle',\n 'endAngle',\n 'innerRadius',\n 'outerRadius',\n 'circumference',\n ], useFinalPosition);\n const {offset, spacing} = this.options;\n const halfAngle = (startAngle + endAngle) / 2;\n const halfRadius = (innerRadius + outerRadius + spacing + offset) / 2;\n return {\n x: x + Math.cos(halfAngle) * halfRadius,\n y: y + Math.sin(halfAngle) * halfRadius\n };\n }\n tooltipPosition(useFinalPosition) {\n return this.getCenterPoint(useFinalPosition);\n }\n draw(ctx) {\n const {options, circumference} = this;\n const offset = (options.offset || 0) / 2;\n const spacing = (options.spacing || 0) / 2;\n this.pixelMargin = (options.borderAlign === 'inner') ? 0.33 : 0;\n this.fullCircles = circumference > TAU ? Math.floor(circumference / TAU) : 0;\n if (circumference === 0 || this.innerRadius < 0 || this.outerRadius < 0) {\n return;\n }\n ctx.save();\n let radiusOffset = 0;\n if (offset) {\n radiusOffset = offset / 2;\n const halfAngle = (this.startAngle + this.endAngle) / 2;\n ctx.translate(Math.cos(halfAngle) * radiusOffset, Math.sin(halfAngle) * radiusOffset);\n if (this.circumference >= PI) {\n radiusOffset = offset;\n }\n }\n ctx.fillStyle = options.backgroundColor;\n ctx.strokeStyle = options.borderColor;\n const endAngle = drawArc(ctx, this, radiusOffset, spacing);\n drawBorder(ctx, this, radiusOffset, spacing, endAngle);\n ctx.restore();\n }\n}\nArcElement.id = 'arc';\nArcElement.defaults = {\n borderAlign: 'center',\n borderColor: '#fff',\n borderJoinStyle: undefined,\n borderRadius: 0,\n borderWidth: 2,\n offset: 0,\n spacing: 0,\n angle: undefined,\n};\nArcElement.defaultRoutes = {\n backgroundColor: 'backgroundColor'\n};\n\nfunction setStyle(ctx, options, style = options) {\n ctx.lineCap = valueOrDefault(style.borderCapStyle, options.borderCapStyle);\n ctx.setLineDash(valueOrDefault(style.borderDash, options.borderDash));\n ctx.lineDashOffset = valueOrDefault(style.borderDashOffset, options.borderDashOffset);\n ctx.lineJoin = valueOrDefault(style.borderJoinStyle, options.borderJoinStyle);\n ctx.lineWidth = valueOrDefault(style.borderWidth, options.borderWidth);\n ctx.strokeStyle = valueOrDefault(style.borderColor, options.borderColor);\n}\nfunction lineTo(ctx, previous, target) {\n ctx.lineTo(target.x, target.y);\n}\nfunction getLineMethod(options) {\n if (options.stepped) {\n return _steppedLineTo;\n }\n if (options.tension || options.cubicInterpolationMode === 'monotone') {\n return _bezierCurveTo;\n }\n return lineTo;\n}\nfunction pathVars(points, segment, params = {}) {\n const count = points.length;\n const {start: paramsStart = 0, end: paramsEnd = count - 1} = params;\n const {start: segmentStart, end: segmentEnd} = segment;\n const start = Math.max(paramsStart, segmentStart);\n const end = Math.min(paramsEnd, segmentEnd);\n const outside = paramsStart < segmentStart && paramsEnd < segmentStart || paramsStart > segmentEnd && paramsEnd > segmentEnd;\n return {\n count,\n start,\n loop: segment.loop,\n ilen: end < start && !outside ? count + end - start : end - start\n };\n}\nfunction pathSegment(ctx, line, segment, params) {\n const {points, options} = line;\n const {count, start, loop, ilen} = pathVars(points, segment, params);\n const lineMethod = getLineMethod(options);\n let {move = true, reverse} = params || {};\n let i, point, prev;\n for (i = 0; i <= ilen; ++i) {\n point = points[(start + (reverse ? ilen - i : i)) % count];\n if (point.skip) {\n continue;\n } else if (move) {\n ctx.moveTo(point.x, point.y);\n move = false;\n } else {\n lineMethod(ctx, prev, point, reverse, options.stepped);\n }\n prev = point;\n }\n if (loop) {\n point = points[(start + (reverse ? ilen : 0)) % count];\n lineMethod(ctx, prev, point, reverse, options.stepped);\n }\n return !!loop;\n}\nfunction fastPathSegment(ctx, line, segment, params) {\n const points = line.points;\n const {count, start, ilen} = pathVars(points, segment, params);\n const {move = true, reverse} = params || {};\n let avgX = 0;\n let countX = 0;\n let i, point, prevX, minY, maxY, lastY;\n const pointIndex = (index) => (start + (reverse ? ilen - index : index)) % count;\n const drawX = () => {\n if (minY !== maxY) {\n ctx.lineTo(avgX, maxY);\n ctx.lineTo(avgX, minY);\n ctx.lineTo(avgX, lastY);\n }\n };\n if (move) {\n point = points[pointIndex(0)];\n ctx.moveTo(point.x, point.y);\n }\n for (i = 0; i <= ilen; ++i) {\n point = points[pointIndex(i)];\n if (point.skip) {\n continue;\n }\n const x = point.x;\n const y = point.y;\n const truncX = x | 0;\n if (truncX === prevX) {\n if (y < minY) {\n minY = y;\n } else if (y > maxY) {\n maxY = y;\n }\n avgX = (countX * avgX + x) / ++countX;\n } else {\n drawX();\n ctx.lineTo(x, y);\n prevX = truncX;\n countX = 0;\n minY = maxY = y;\n }\n lastY = y;\n }\n drawX();\n}\nfunction _getSegmentMethod(line) {\n const opts = line.options;\n const borderDash = opts.borderDash && opts.borderDash.length;\n const useFastPath = !line._decimated && !line._loop && !opts.tension && opts.cubicInterpolationMode !== 'monotone' && !opts.stepped && !borderDash;\n return useFastPath ? fastPathSegment : pathSegment;\n}\nfunction _getInterpolationMethod(options) {\n if (options.stepped) {\n return _steppedInterpolation;\n }\n if (options.tension || options.cubicInterpolationMode === 'monotone') {\n return _bezierInterpolation;\n }\n return _pointInLine;\n}\nfunction strokePathWithCache(ctx, line, start, count) {\n let path = line._path;\n if (!path) {\n path = line._path = new Path2D();\n if (line.path(path, start, count)) {\n path.closePath();\n }\n }\n setStyle(ctx, line.options);\n ctx.stroke(path);\n}\nfunction strokePathDirect(ctx, line, start, count) {\n const {segments, options} = line;\n const segmentMethod = _getSegmentMethod(line);\n for (const segment of segments) {\n setStyle(ctx, options, segment.style);\n ctx.beginPath();\n if (segmentMethod(ctx, line, segment, {start, end: start + count - 1})) {\n ctx.closePath();\n }\n ctx.stroke();\n }\n}\nconst usePath2D = typeof Path2D === 'function';\nfunction draw(ctx, line, start, count) {\n if (usePath2D && !line.options.segment) {\n strokePathWithCache(ctx, line, start, count);\n } else {\n strokePathDirect(ctx, line, start, count);\n }\n}\nclass LineElement extends Element {\n constructor(cfg) {\n super();\n this.animated = true;\n this.options = undefined;\n this._chart = undefined;\n this._loop = undefined;\n this._fullLoop = undefined;\n this._path = undefined;\n this._points = undefined;\n this._segments = undefined;\n this._decimated = false;\n this._pointsUpdated = false;\n this._datasetIndex = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n updateControlPoints(chartArea, indexAxis) {\n const options = this.options;\n if ((options.tension || options.cubicInterpolationMode === 'monotone') && !options.stepped && !this._pointsUpdated) {\n const loop = options.spanGaps ? this._loop : this._fullLoop;\n _updateBezierControlPoints(this._points, options, chartArea, loop, indexAxis);\n this._pointsUpdated = true;\n }\n }\n set points(points) {\n this._points = points;\n delete this._segments;\n delete this._path;\n this._pointsUpdated = false;\n }\n get points() {\n return this._points;\n }\n get segments() {\n return this._segments || (this._segments = _computeSegments(this, this.options.segment));\n }\n first() {\n const segments = this.segments;\n const points = this.points;\n return segments.length && points[segments[0].start];\n }\n last() {\n const segments = this.segments;\n const points = this.points;\n const count = segments.length;\n return count && points[segments[count - 1].end];\n }\n interpolate(point, property) {\n const options = this.options;\n const value = point[property];\n const points = this.points;\n const segments = _boundSegments(this, {property, start: value, end: value});\n if (!segments.length) {\n return;\n }\n const result = [];\n const _interpolate = _getInterpolationMethod(options);\n let i, ilen;\n for (i = 0, ilen = segments.length; i < ilen; ++i) {\n const {start, end} = segments[i];\n const p1 = points[start];\n const p2 = points[end];\n if (p1 === p2) {\n result.push(p1);\n continue;\n }\n const t = Math.abs((value - p1[property]) / (p2[property] - p1[property]));\n const interpolated = _interpolate(p1, p2, t, options.stepped);\n interpolated[property] = point[property];\n result.push(interpolated);\n }\n return result.length === 1 ? result[0] : result;\n }\n pathSegment(ctx, segment, params) {\n const segmentMethod = _getSegmentMethod(this);\n return segmentMethod(ctx, this, segment, params);\n }\n path(ctx, start, count) {\n const segments = this.segments;\n const segmentMethod = _getSegmentMethod(this);\n let loop = this._loop;\n start = start || 0;\n count = count || (this.points.length - start);\n for (const segment of segments) {\n loop &= segmentMethod(ctx, this, segment, {start, end: start + count - 1});\n }\n return !!loop;\n }\n draw(ctx, chartArea, start, count) {\n const options = this.options || {};\n const points = this.points || [];\n if (points.length && options.borderWidth) {\n ctx.save();\n draw(ctx, this, start, count);\n ctx.restore();\n }\n if (this.animated) {\n this._pointsUpdated = false;\n this._path = undefined;\n }\n }\n}\nLineElement.id = 'line';\nLineElement.defaults = {\n borderCapStyle: 'butt',\n borderDash: [],\n borderDashOffset: 0,\n borderJoinStyle: 'miter',\n borderWidth: 3,\n capBezierPoints: true,\n cubicInterpolationMode: 'default',\n fill: false,\n spanGaps: false,\n stepped: false,\n tension: 0,\n};\nLineElement.defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n};\nLineElement.descriptors = {\n _scriptable: true,\n _indexable: (name) => name !== 'borderDash' && name !== 'fill',\n};\n\nfunction inRange$1(el, pos, axis, useFinalPosition) {\n const options = el.options;\n const {[axis]: value} = el.getProps([axis], useFinalPosition);\n return (Math.abs(pos - value) < options.radius + options.hitRadius);\n}\nclass PointElement extends Element {\n constructor(cfg) {\n super();\n this.options = undefined;\n this.parsed = undefined;\n this.skip = undefined;\n this.stop = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n inRange(mouseX, mouseY, useFinalPosition) {\n const options = this.options;\n const {x, y} = this.getProps(['x', 'y'], useFinalPosition);\n return ((Math.pow(mouseX - x, 2) + Math.pow(mouseY - y, 2)) < Math.pow(options.hitRadius + options.radius, 2));\n }\n inXRange(mouseX, useFinalPosition) {\n return inRange$1(this, mouseX, 'x', useFinalPosition);\n }\n inYRange(mouseY, useFinalPosition) {\n return inRange$1(this, mouseY, 'y', useFinalPosition);\n }\n getCenterPoint(useFinalPosition) {\n const {x, y} = this.getProps(['x', 'y'], useFinalPosition);\n return {x, y};\n }\n size(options) {\n options = options || this.options || {};\n let radius = options.radius || 0;\n radius = Math.max(radius, radius && options.hoverRadius || 0);\n const borderWidth = radius && options.borderWidth || 0;\n return (radius + borderWidth) * 2;\n }\n draw(ctx, area) {\n const options = this.options;\n if (this.skip || options.radius < 0.1 || !_isPointInArea(this, area, this.size(options) / 2)) {\n return;\n }\n ctx.strokeStyle = options.borderColor;\n ctx.lineWidth = options.borderWidth;\n ctx.fillStyle = options.backgroundColor;\n drawPoint(ctx, options, this.x, this.y);\n }\n getRange() {\n const options = this.options || {};\n return options.radius + options.hitRadius;\n }\n}\nPointElement.id = 'point';\nPointElement.defaults = {\n borderWidth: 1,\n hitRadius: 1,\n hoverBorderWidth: 1,\n hoverRadius: 4,\n pointStyle: 'circle',\n radius: 3,\n rotation: 0\n};\nPointElement.defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n};\n\nfunction getBarBounds(bar, useFinalPosition) {\n const {x, y, base, width, height} = bar.getProps(['x', 'y', 'base', 'width', 'height'], useFinalPosition);\n let left, right, top, bottom, half;\n if (bar.horizontal) {\n half = height / 2;\n left = Math.min(x, base);\n right = Math.max(x, base);\n top = y - half;\n bottom = y + half;\n } else {\n half = width / 2;\n left = x - half;\n right = x + half;\n top = Math.min(y, base);\n bottom = Math.max(y, base);\n }\n return {left, top, right, bottom};\n}\nfunction skipOrLimit(skip, value, min, max) {\n return skip ? 0 : _limitValue(value, min, max);\n}\nfunction parseBorderWidth(bar, maxW, maxH) {\n const value = bar.options.borderWidth;\n const skip = bar.borderSkipped;\n const o = toTRBL(value);\n return {\n t: skipOrLimit(skip.top, o.top, 0, maxH),\n r: skipOrLimit(skip.right, o.right, 0, maxW),\n b: skipOrLimit(skip.bottom, o.bottom, 0, maxH),\n l: skipOrLimit(skip.left, o.left, 0, maxW)\n };\n}\nfunction parseBorderRadius(bar, maxW, maxH) {\n const {enableBorderRadius} = bar.getProps(['enableBorderRadius']);\n const value = bar.options.borderRadius;\n const o = toTRBLCorners(value);\n const maxR = Math.min(maxW, maxH);\n const skip = bar.borderSkipped;\n const enableBorder = enableBorderRadius || isObject(value);\n return {\n topLeft: skipOrLimit(!enableBorder || skip.top || skip.left, o.topLeft, 0, maxR),\n topRight: skipOrLimit(!enableBorder || skip.top || skip.right, o.topRight, 0, maxR),\n bottomLeft: skipOrLimit(!enableBorder || skip.bottom || skip.left, o.bottomLeft, 0, maxR),\n bottomRight: skipOrLimit(!enableBorder || skip.bottom || skip.right, o.bottomRight, 0, maxR)\n };\n}\nfunction boundingRects(bar) {\n const bounds = getBarBounds(bar);\n const width = bounds.right - bounds.left;\n const height = bounds.bottom - bounds.top;\n const border = parseBorderWidth(bar, width / 2, height / 2);\n const radius = parseBorderRadius(bar, width / 2, height / 2);\n return {\n outer: {\n x: bounds.left,\n y: bounds.top,\n w: width,\n h: height,\n radius\n },\n inner: {\n x: bounds.left + border.l,\n y: bounds.top + border.t,\n w: width - border.l - border.r,\n h: height - border.t - border.b,\n radius: {\n topLeft: Math.max(0, radius.topLeft - Math.max(border.t, border.l)),\n topRight: Math.max(0, radius.topRight - Math.max(border.t, border.r)),\n bottomLeft: Math.max(0, radius.bottomLeft - Math.max(border.b, border.l)),\n bottomRight: Math.max(0, radius.bottomRight - Math.max(border.b, border.r)),\n }\n }\n };\n}\nfunction inRange(bar, x, y, useFinalPosition) {\n const skipX = x === null;\n const skipY = y === null;\n const skipBoth = skipX && skipY;\n const bounds = bar && !skipBoth && getBarBounds(bar, useFinalPosition);\n return bounds\n\t\t&& (skipX || _isBetween(x, bounds.left, bounds.right))\n\t\t&& (skipY || _isBetween(y, bounds.top, bounds.bottom));\n}\nfunction hasRadius(radius) {\n return radius.topLeft || radius.topRight || radius.bottomLeft || radius.bottomRight;\n}\nfunction addNormalRectPath(ctx, rect) {\n ctx.rect(rect.x, rect.y, rect.w, rect.h);\n}\nfunction inflateRect(rect, amount, refRect = {}) {\n const x = rect.x !== refRect.x ? -amount : 0;\n const y = rect.y !== refRect.y ? -amount : 0;\n const w = (rect.x + rect.w !== refRect.x + refRect.w ? amount : 0) - x;\n const h = (rect.y + rect.h !== refRect.y + refRect.h ? amount : 0) - y;\n return {\n x: rect.x + x,\n y: rect.y + y,\n w: rect.w + w,\n h: rect.h + h,\n radius: rect.radius\n };\n}\nclass BarElement extends Element {\n constructor(cfg) {\n super();\n this.options = undefined;\n this.horizontal = undefined;\n this.base = undefined;\n this.width = undefined;\n this.height = undefined;\n this.inflateAmount = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n draw(ctx) {\n const {inflateAmount, options: {borderColor, backgroundColor}} = this;\n const {inner, outer} = boundingRects(this);\n const addRectPath = hasRadius(outer.radius) ? addRoundedRectPath : addNormalRectPath;\n ctx.save();\n if (outer.w !== inner.w || outer.h !== inner.h) {\n ctx.beginPath();\n addRectPath(ctx, inflateRect(outer, inflateAmount, inner));\n ctx.clip();\n addRectPath(ctx, inflateRect(inner, -inflateAmount, outer));\n ctx.fillStyle = borderColor;\n ctx.fill('evenodd');\n }\n ctx.beginPath();\n addRectPath(ctx, inflateRect(inner, inflateAmount));\n ctx.fillStyle = backgroundColor;\n ctx.fill();\n ctx.restore();\n }\n inRange(mouseX, mouseY, useFinalPosition) {\n return inRange(this, mouseX, mouseY, useFinalPosition);\n }\n inXRange(mouseX, useFinalPosition) {\n return inRange(this, mouseX, null, useFinalPosition);\n }\n inYRange(mouseY, useFinalPosition) {\n return inRange(this, null, mouseY, useFinalPosition);\n }\n getCenterPoint(useFinalPosition) {\n const {x, y, base, horizontal} = this.getProps(['x', 'y', 'base', 'horizontal'], useFinalPosition);\n return {\n x: horizontal ? (x + base) / 2 : x,\n y: horizontal ? y : (y + base) / 2\n };\n }\n getRange(axis) {\n return axis === 'x' ? this.width / 2 : this.height / 2;\n }\n}\nBarElement.id = 'bar';\nBarElement.defaults = {\n borderSkipped: 'start',\n borderWidth: 0,\n borderRadius: 0,\n inflateAmount: 'auto',\n pointStyle: undefined\n};\nBarElement.defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n};\n\nvar elements = /*#__PURE__*/Object.freeze({\n__proto__: null,\nArcElement: ArcElement,\nLineElement: LineElement,\nPointElement: PointElement,\nBarElement: BarElement\n});\n\nfunction lttbDecimation(data, start, count, availableWidth, options) {\n const samples = options.samples || availableWidth;\n if (samples >= count) {\n return data.slice(start, start + count);\n }\n const decimated = [];\n const bucketWidth = (count - 2) / (samples - 2);\n let sampledIndex = 0;\n const endIndex = start + count - 1;\n let a = start;\n let i, maxAreaPoint, maxArea, area, nextA;\n decimated[sampledIndex++] = data[a];\n for (i = 0; i < samples - 2; i++) {\n let avgX = 0;\n let avgY = 0;\n let j;\n const avgRangeStart = Math.floor((i + 1) * bucketWidth) + 1 + start;\n const avgRangeEnd = Math.min(Math.floor((i + 2) * bucketWidth) + 1, count) + start;\n const avgRangeLength = avgRangeEnd - avgRangeStart;\n for (j = avgRangeStart; j < avgRangeEnd; j++) {\n avgX += data[j].x;\n avgY += data[j].y;\n }\n avgX /= avgRangeLength;\n avgY /= avgRangeLength;\n const rangeOffs = Math.floor(i * bucketWidth) + 1 + start;\n const rangeTo = Math.min(Math.floor((i + 1) * bucketWidth) + 1, count) + start;\n const {x: pointAx, y: pointAy} = data[a];\n maxArea = area = -1;\n for (j = rangeOffs; j < rangeTo; j++) {\n area = 0.5 * Math.abs(\n (pointAx - avgX) * (data[j].y - pointAy) -\n (pointAx - data[j].x) * (avgY - pointAy)\n );\n if (area > maxArea) {\n maxArea = area;\n maxAreaPoint = data[j];\n nextA = j;\n }\n }\n decimated[sampledIndex++] = maxAreaPoint;\n a = nextA;\n }\n decimated[sampledIndex++] = data[endIndex];\n return decimated;\n}\nfunction minMaxDecimation(data, start, count, availableWidth) {\n let avgX = 0;\n let countX = 0;\n let i, point, x, y, prevX, minIndex, maxIndex, startIndex, minY, maxY;\n const decimated = [];\n const endIndex = start + count - 1;\n const xMin = data[start].x;\n const xMax = data[endIndex].x;\n const dx = xMax - xMin;\n for (i = start; i < start + count; ++i) {\n point = data[i];\n x = (point.x - xMin) / dx * availableWidth;\n y = point.y;\n const truncX = x | 0;\n if (truncX === prevX) {\n if (y < minY) {\n minY = y;\n minIndex = i;\n } else if (y > maxY) {\n maxY = y;\n maxIndex = i;\n }\n avgX = (countX * avgX + point.x) / ++countX;\n } else {\n const lastIndex = i - 1;\n if (!isNullOrUndef(minIndex) && !isNullOrUndef(maxIndex)) {\n const intermediateIndex1 = Math.min(minIndex, maxIndex);\n const intermediateIndex2 = Math.max(minIndex, maxIndex);\n if (intermediateIndex1 !== startIndex && intermediateIndex1 !== lastIndex) {\n decimated.push({\n ...data[intermediateIndex1],\n x: avgX,\n });\n }\n if (intermediateIndex2 !== startIndex && intermediateIndex2 !== lastIndex) {\n decimated.push({\n ...data[intermediateIndex2],\n x: avgX\n });\n }\n }\n if (i > 0 && lastIndex !== startIndex) {\n decimated.push(data[lastIndex]);\n }\n decimated.push(point);\n prevX = truncX;\n countX = 0;\n minY = maxY = y;\n minIndex = maxIndex = startIndex = i;\n }\n }\n return decimated;\n}\nfunction cleanDecimatedDataset(dataset) {\n if (dataset._decimated) {\n const data = dataset._data;\n delete dataset._decimated;\n delete dataset._data;\n Object.defineProperty(dataset, 'data', {value: data});\n }\n}\nfunction cleanDecimatedData(chart) {\n chart.data.datasets.forEach((dataset) => {\n cleanDecimatedDataset(dataset);\n });\n}\nfunction getStartAndCountOfVisiblePointsSimplified(meta, points) {\n const pointCount = points.length;\n let start = 0;\n let count;\n const {iScale} = meta;\n const {min, max, minDefined, maxDefined} = iScale.getUserBounds();\n if (minDefined) {\n start = _limitValue(_lookupByKey(points, iScale.axis, min).lo, 0, pointCount - 1);\n }\n if (maxDefined) {\n count = _limitValue(_lookupByKey(points, iScale.axis, max).hi + 1, start, pointCount) - start;\n } else {\n count = pointCount - start;\n }\n return {start, count};\n}\nvar plugin_decimation = {\n id: 'decimation',\n defaults: {\n algorithm: 'min-max',\n enabled: false,\n },\n beforeElementsUpdate: (chart, args, options) => {\n if (!options.enabled) {\n cleanDecimatedData(chart);\n return;\n }\n const availableWidth = chart.width;\n chart.data.datasets.forEach((dataset, datasetIndex) => {\n const {_data, indexAxis} = dataset;\n const meta = chart.getDatasetMeta(datasetIndex);\n const data = _data || dataset.data;\n if (resolve([indexAxis, chart.options.indexAxis]) === 'y') {\n return;\n }\n if (meta.type !== 'line') {\n return;\n }\n const xAxis = chart.scales[meta.xAxisID];\n if (xAxis.type !== 'linear' && xAxis.type !== 'time') {\n return;\n }\n if (chart.options.parsing) {\n return;\n }\n let {start, count} = getStartAndCountOfVisiblePointsSimplified(meta, data);\n const threshold = options.threshold || 4 * availableWidth;\n if (count <= threshold) {\n cleanDecimatedDataset(dataset);\n return;\n }\n if (isNullOrUndef(_data)) {\n dataset._data = data;\n delete dataset.data;\n Object.defineProperty(dataset, 'data', {\n configurable: true,\n enumerable: true,\n get: function() {\n return this._decimated;\n },\n set: function(d) {\n this._data = d;\n }\n });\n }\n let decimated;\n switch (options.algorithm) {\n case 'lttb':\n decimated = lttbDecimation(data, start, count, availableWidth, options);\n break;\n case 'min-max':\n decimated = minMaxDecimation(data, start, count, availableWidth);\n break;\n default:\n throw new Error(`Unsupported decimation algorithm '${options.algorithm}'`);\n }\n dataset._decimated = decimated;\n });\n },\n destroy(chart) {\n cleanDecimatedData(chart);\n }\n};\n\nfunction getLineByIndex(chart, index) {\n const meta = chart.getDatasetMeta(index);\n const visible = meta && chart.isDatasetVisible(index);\n return visible ? meta.dataset : null;\n}\nfunction parseFillOption(line) {\n const options = line.options;\n const fillOption = options.fill;\n let fill = valueOrDefault(fillOption && fillOption.target, fillOption);\n if (fill === undefined) {\n fill = !!options.backgroundColor;\n }\n if (fill === false || fill === null) {\n return false;\n }\n if (fill === true) {\n return 'origin';\n }\n return fill;\n}\nfunction decodeFill(line, index, count) {\n const fill = parseFillOption(line);\n if (isObject(fill)) {\n return isNaN(fill.value) ? false : fill;\n }\n let target = parseFloat(fill);\n if (isNumberFinite(target) && Math.floor(target) === target) {\n if (fill[0] === '-' || fill[0] === '+') {\n target = index + target;\n }\n if (target === index || target < 0 || target >= count) {\n return false;\n }\n return target;\n }\n return ['origin', 'start', 'end', 'stack', 'shape'].indexOf(fill) >= 0 && fill;\n}\nfunction computeLinearBoundary(source) {\n const {scale = {}, fill} = source;\n let target = null;\n let horizontal;\n if (fill === 'start') {\n target = scale.bottom;\n } else if (fill === 'end') {\n target = scale.top;\n } else if (isObject(fill)) {\n target = scale.getPixelForValue(fill.value);\n } else if (scale.getBasePixel) {\n target = scale.getBasePixel();\n }\n if (isNumberFinite(target)) {\n horizontal = scale.isHorizontal();\n return {\n x: horizontal ? target : null,\n y: horizontal ? null : target\n };\n }\n return null;\n}\nclass simpleArc {\n constructor(opts) {\n this.x = opts.x;\n this.y = opts.y;\n this.radius = opts.radius;\n }\n pathSegment(ctx, bounds, opts) {\n const {x, y, radius} = this;\n bounds = bounds || {start: 0, end: TAU};\n ctx.arc(x, y, radius, bounds.end, bounds.start, true);\n return !opts.bounds;\n }\n interpolate(point) {\n const {x, y, radius} = this;\n const angle = point.angle;\n return {\n x: x + Math.cos(angle) * radius,\n y: y + Math.sin(angle) * radius,\n angle\n };\n }\n}\nfunction computeCircularBoundary(source) {\n const {scale, fill} = source;\n const options = scale.options;\n const length = scale.getLabels().length;\n const target = [];\n const start = options.reverse ? scale.max : scale.min;\n const end = options.reverse ? scale.min : scale.max;\n let i, center, value;\n if (fill === 'start') {\n value = start;\n } else if (fill === 'end') {\n value = end;\n } else if (isObject(fill)) {\n value = fill.value;\n } else {\n value = scale.getBaseValue();\n }\n if (options.grid.circular) {\n center = scale.getPointPositionForValue(0, start);\n return new simpleArc({\n x: center.x,\n y: center.y,\n radius: scale.getDistanceFromCenterForValue(value)\n });\n }\n for (i = 0; i < length; ++i) {\n target.push(scale.getPointPositionForValue(i, value));\n }\n return target;\n}\nfunction computeBoundary(source) {\n const scale = source.scale || {};\n if (scale.getPointPositionForValue) {\n return computeCircularBoundary(source);\n }\n return computeLinearBoundary(source);\n}\nfunction findSegmentEnd(start, end, points) {\n for (;end > start; end--) {\n const point = points[end];\n if (!isNaN(point.x) && !isNaN(point.y)) {\n break;\n }\n }\n return end;\n}\nfunction pointsFromSegments(boundary, line) {\n const {x = null, y = null} = boundary || {};\n const linePoints = line.points;\n const points = [];\n line.segments.forEach(({start, end}) => {\n end = findSegmentEnd(start, end, linePoints);\n const first = linePoints[start];\n const last = linePoints[end];\n if (y !== null) {\n points.push({x: first.x, y});\n points.push({x: last.x, y});\n } else if (x !== null) {\n points.push({x, y: first.y});\n points.push({x, y: last.y});\n }\n });\n return points;\n}\nfunction buildStackLine(source) {\n const {scale, index, line} = source;\n const points = [];\n const segments = line.segments;\n const sourcePoints = line.points;\n const linesBelow = getLinesBelow(scale, index);\n linesBelow.push(createBoundaryLine({x: null, y: scale.bottom}, line));\n for (let i = 0; i < segments.length; i++) {\n const segment = segments[i];\n for (let j = segment.start; j <= segment.end; j++) {\n addPointsBelow(points, sourcePoints[j], linesBelow);\n }\n }\n return new LineElement({points, options: {}});\n}\nfunction getLinesBelow(scale, index) {\n const below = [];\n const metas = scale.getMatchingVisibleMetas('line');\n for (let i = 0; i < metas.length; i++) {\n const meta = metas[i];\n if (meta.index === index) {\n break;\n }\n if (!meta.hidden) {\n below.unshift(meta.dataset);\n }\n }\n return below;\n}\nfunction addPointsBelow(points, sourcePoint, linesBelow) {\n const postponed = [];\n for (let j = 0; j < linesBelow.length; j++) {\n const line = linesBelow[j];\n const {first, last, point} = findPoint(line, sourcePoint, 'x');\n if (!point || (first && last)) {\n continue;\n }\n if (first) {\n postponed.unshift(point);\n } else {\n points.push(point);\n if (!last) {\n break;\n }\n }\n }\n points.push(...postponed);\n}\nfunction findPoint(line, sourcePoint, property) {\n const point = line.interpolate(sourcePoint, property);\n if (!point) {\n return {};\n }\n const pointValue = point[property];\n const segments = line.segments;\n const linePoints = line.points;\n let first = false;\n let last = false;\n for (let i = 0; i < segments.length; i++) {\n const segment = segments[i];\n const firstValue = linePoints[segment.start][property];\n const lastValue = linePoints[segment.end][property];\n if (_isBetween(pointValue, firstValue, lastValue)) {\n first = pointValue === firstValue;\n last = pointValue === lastValue;\n break;\n }\n }\n return {first, last, point};\n}\nfunction getTarget(source) {\n const {chart, fill, line} = source;\n if (isNumberFinite(fill)) {\n return getLineByIndex(chart, fill);\n }\n if (fill === 'stack') {\n return buildStackLine(source);\n }\n if (fill === 'shape') {\n return true;\n }\n const boundary = computeBoundary(source);\n if (boundary instanceof simpleArc) {\n return boundary;\n }\n return createBoundaryLine(boundary, line);\n}\nfunction createBoundaryLine(boundary, line) {\n let points = [];\n let _loop = false;\n if (isArray(boundary)) {\n _loop = true;\n points = boundary;\n } else {\n points = pointsFromSegments(boundary, line);\n }\n return points.length ? new LineElement({\n points,\n options: {tension: 0},\n _loop,\n _fullLoop: _loop\n }) : null;\n}\nfunction resolveTarget(sources, index, propagate) {\n const source = sources[index];\n let fill = source.fill;\n const visited = [index];\n let target;\n if (!propagate) {\n return fill;\n }\n while (fill !== false && visited.indexOf(fill) === -1) {\n if (!isNumberFinite(fill)) {\n return fill;\n }\n target = sources[fill];\n if (!target) {\n return false;\n }\n if (target.visible) {\n return fill;\n }\n visited.push(fill);\n fill = target.fill;\n }\n return false;\n}\nfunction _clip(ctx, target, clipY) {\n const {segments, points} = target;\n let first = true;\n let lineLoop = false;\n ctx.beginPath();\n for (const segment of segments) {\n const {start, end} = segment;\n const firstPoint = points[start];\n const lastPoint = points[findSegmentEnd(start, end, points)];\n if (first) {\n ctx.moveTo(firstPoint.x, firstPoint.y);\n first = false;\n } else {\n ctx.lineTo(firstPoint.x, clipY);\n ctx.lineTo(firstPoint.x, firstPoint.y);\n }\n lineLoop = !!target.pathSegment(ctx, segment, {move: lineLoop});\n if (lineLoop) {\n ctx.closePath();\n } else {\n ctx.lineTo(lastPoint.x, clipY);\n }\n }\n ctx.lineTo(target.first().x, clipY);\n ctx.closePath();\n ctx.clip();\n}\nfunction getBounds(property, first, last, loop) {\n if (loop) {\n return;\n }\n let start = first[property];\n let end = last[property];\n if (property === 'angle') {\n start = _normalizeAngle(start);\n end = _normalizeAngle(end);\n }\n return {property, start, end};\n}\nfunction _getEdge(a, b, prop, fn) {\n if (a && b) {\n return fn(a[prop], b[prop]);\n }\n return a ? a[prop] : b ? b[prop] : 0;\n}\nfunction _segments(line, target, property) {\n const segments = line.segments;\n const points = line.points;\n const tpoints = target.points;\n const parts = [];\n for (const segment of segments) {\n let {start, end} = segment;\n end = findSegmentEnd(start, end, points);\n const bounds = getBounds(property, points[start], points[end], segment.loop);\n if (!target.segments) {\n parts.push({\n source: segment,\n target: bounds,\n start: points[start],\n end: points[end]\n });\n continue;\n }\n const targetSegments = _boundSegments(target, bounds);\n for (const tgt of targetSegments) {\n const subBounds = getBounds(property, tpoints[tgt.start], tpoints[tgt.end], tgt.loop);\n const fillSources = _boundSegment(segment, points, subBounds);\n for (const fillSource of fillSources) {\n parts.push({\n source: fillSource,\n target: tgt,\n start: {\n [property]: _getEdge(bounds, subBounds, 'start', Math.max)\n },\n end: {\n [property]: _getEdge(bounds, subBounds, 'end', Math.min)\n }\n });\n }\n }\n }\n return parts;\n}\nfunction clipBounds(ctx, scale, bounds) {\n const {top, bottom} = scale.chart.chartArea;\n const {property, start, end} = bounds || {};\n if (property === 'x') {\n ctx.beginPath();\n ctx.rect(start, top, end - start, bottom - top);\n ctx.clip();\n }\n}\nfunction interpolatedLineTo(ctx, target, point, property) {\n const interpolatedPoint = target.interpolate(point, property);\n if (interpolatedPoint) {\n ctx.lineTo(interpolatedPoint.x, interpolatedPoint.y);\n }\n}\nfunction _fill(ctx, cfg) {\n const {line, target, property, color, scale} = cfg;\n const segments = _segments(line, target, property);\n for (const {source: src, target: tgt, start, end} of segments) {\n const {style: {backgroundColor = color} = {}} = src;\n const notShape = target !== true;\n ctx.save();\n ctx.fillStyle = backgroundColor;\n clipBounds(ctx, scale, notShape && getBounds(property, start, end));\n ctx.beginPath();\n const lineLoop = !!line.pathSegment(ctx, src);\n let loop;\n if (notShape) {\n if (lineLoop) {\n ctx.closePath();\n } else {\n interpolatedLineTo(ctx, target, end, property);\n }\n const targetLoop = !!target.pathSegment(ctx, tgt, {move: lineLoop, reverse: true});\n loop = lineLoop && targetLoop;\n if (!loop) {\n interpolatedLineTo(ctx, target, start, property);\n }\n }\n ctx.closePath();\n ctx.fill(loop ? 'evenodd' : 'nonzero');\n ctx.restore();\n }\n}\nfunction doFill(ctx, cfg) {\n const {line, target, above, below, area, scale} = cfg;\n const property = line._loop ? 'angle' : cfg.axis;\n ctx.save();\n if (property === 'x' && below !== above) {\n _clip(ctx, target, area.top);\n _fill(ctx, {line, target, color: above, scale, property});\n ctx.restore();\n ctx.save();\n _clip(ctx, target, area.bottom);\n }\n _fill(ctx, {line, target, color: below, scale, property});\n ctx.restore();\n}\nfunction drawfill(ctx, source, area) {\n const target = getTarget(source);\n const {line, scale, axis} = source;\n const lineOpts = line.options;\n const fillOption = lineOpts.fill;\n const color = lineOpts.backgroundColor;\n const {above = color, below = color} = fillOption || {};\n if (target && line.points.length) {\n clipArea(ctx, area);\n doFill(ctx, {line, target, above, below, area, scale, axis});\n unclipArea(ctx);\n }\n}\nvar plugin_filler = {\n id: 'filler',\n afterDatasetsUpdate(chart, _args, options) {\n const count = (chart.data.datasets || []).length;\n const sources = [];\n let meta, i, line, source;\n for (i = 0; i < count; ++i) {\n meta = chart.getDatasetMeta(i);\n line = meta.dataset;\n source = null;\n if (line && line.options && line instanceof LineElement) {\n source = {\n visible: chart.isDatasetVisible(i),\n index: i,\n fill: decodeFill(line, i, count),\n chart,\n axis: meta.controller.options.indexAxis,\n scale: meta.vScale,\n line,\n };\n }\n meta.$filler = source;\n sources.push(source);\n }\n for (i = 0; i < count; ++i) {\n source = sources[i];\n if (!source || source.fill === false) {\n continue;\n }\n source.fill = resolveTarget(sources, i, options.propagate);\n }\n },\n beforeDraw(chart, _args, options) {\n const draw = options.drawTime === 'beforeDraw';\n const metasets = chart.getSortedVisibleDatasetMetas();\n const area = chart.chartArea;\n for (let i = metasets.length - 1; i >= 0; --i) {\n const source = metasets[i].$filler;\n if (!source) {\n continue;\n }\n source.line.updateControlPoints(area, source.axis);\n if (draw) {\n drawfill(chart.ctx, source, area);\n }\n }\n },\n beforeDatasetsDraw(chart, _args, options) {\n if (options.drawTime !== 'beforeDatasetsDraw') {\n return;\n }\n const metasets = chart.getSortedVisibleDatasetMetas();\n for (let i = metasets.length - 1; i >= 0; --i) {\n const source = metasets[i].$filler;\n if (source) {\n drawfill(chart.ctx, source, chart.chartArea);\n }\n }\n },\n beforeDatasetDraw(chart, args, options) {\n const source = args.meta.$filler;\n if (!source || source.fill === false || options.drawTime !== 'beforeDatasetDraw') {\n return;\n }\n drawfill(chart.ctx, source, chart.chartArea);\n },\n defaults: {\n propagate: true,\n drawTime: 'beforeDatasetDraw'\n }\n};\n\nconst getBoxSize = (labelOpts, fontSize) => {\n let {boxHeight = fontSize, boxWidth = fontSize} = labelOpts;\n if (labelOpts.usePointStyle) {\n boxHeight = Math.min(boxHeight, fontSize);\n boxWidth = Math.min(boxWidth, fontSize);\n }\n return {\n boxWidth,\n boxHeight,\n itemHeight: Math.max(fontSize, boxHeight)\n };\n};\nconst itemsEqual = (a, b) => a !== null && b !== null && a.datasetIndex === b.datasetIndex && a.index === b.index;\nclass Legend extends Element {\n constructor(config) {\n super();\n this._added = false;\n this.legendHitBoxes = [];\n this._hoveredItem = null;\n this.doughnutMode = false;\n this.chart = config.chart;\n this.options = config.options;\n this.ctx = config.ctx;\n this.legendItems = undefined;\n this.columnSizes = undefined;\n this.lineWidths = undefined;\n this.maxHeight = undefined;\n this.maxWidth = undefined;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.height = undefined;\n this.width = undefined;\n this._margins = undefined;\n this.position = undefined;\n this.weight = undefined;\n this.fullSize = undefined;\n }\n update(maxWidth, maxHeight, margins) {\n this.maxWidth = maxWidth;\n this.maxHeight = maxHeight;\n this._margins = margins;\n this.setDimensions();\n this.buildLabels();\n this.fit();\n }\n setDimensions() {\n if (this.isHorizontal()) {\n this.width = this.maxWidth;\n this.left = this._margins.left;\n this.right = this.width;\n } else {\n this.height = this.maxHeight;\n this.top = this._margins.top;\n this.bottom = this.height;\n }\n }\n buildLabels() {\n const labelOpts = this.options.labels || {};\n let legendItems = callback(labelOpts.generateLabels, [this.chart], this) || [];\n if (labelOpts.filter) {\n legendItems = legendItems.filter((item) => labelOpts.filter(item, this.chart.data));\n }\n if (labelOpts.sort) {\n legendItems = legendItems.sort((a, b) => labelOpts.sort(a, b, this.chart.data));\n }\n if (this.options.reverse) {\n legendItems.reverse();\n }\n this.legendItems = legendItems;\n }\n fit() {\n const {options, ctx} = this;\n if (!options.display) {\n this.width = this.height = 0;\n return;\n }\n const labelOpts = options.labels;\n const labelFont = toFont(labelOpts.font);\n const fontSize = labelFont.size;\n const titleHeight = this._computeTitleHeight();\n const {boxWidth, itemHeight} = getBoxSize(labelOpts, fontSize);\n let width, height;\n ctx.font = labelFont.string;\n if (this.isHorizontal()) {\n width = this.maxWidth;\n height = this._fitRows(titleHeight, fontSize, boxWidth, itemHeight) + 10;\n } else {\n height = this.maxHeight;\n width = this._fitCols(titleHeight, fontSize, boxWidth, itemHeight) + 10;\n }\n this.width = Math.min(width, options.maxWidth || this.maxWidth);\n this.height = Math.min(height, options.maxHeight || this.maxHeight);\n }\n _fitRows(titleHeight, fontSize, boxWidth, itemHeight) {\n const {ctx, maxWidth, options: {labels: {padding}}} = this;\n const hitboxes = this.legendHitBoxes = [];\n const lineWidths = this.lineWidths = [0];\n const lineHeight = itemHeight + padding;\n let totalHeight = titleHeight;\n ctx.textAlign = 'left';\n ctx.textBaseline = 'middle';\n let row = -1;\n let top = -lineHeight;\n this.legendItems.forEach((legendItem, i) => {\n const itemWidth = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width;\n if (i === 0 || lineWidths[lineWidths.length - 1] + itemWidth + 2 * padding > maxWidth) {\n totalHeight += lineHeight;\n lineWidths[lineWidths.length - (i > 0 ? 0 : 1)] = 0;\n top += lineHeight;\n row++;\n }\n hitboxes[i] = {left: 0, top, row, width: itemWidth, height: itemHeight};\n lineWidths[lineWidths.length - 1] += itemWidth + padding;\n });\n return totalHeight;\n }\n _fitCols(titleHeight, fontSize, boxWidth, itemHeight) {\n const {ctx, maxHeight, options: {labels: {padding}}} = this;\n const hitboxes = this.legendHitBoxes = [];\n const columnSizes = this.columnSizes = [];\n const heightLimit = maxHeight - titleHeight;\n let totalWidth = padding;\n let currentColWidth = 0;\n let currentColHeight = 0;\n let left = 0;\n let col = 0;\n this.legendItems.forEach((legendItem, i) => {\n const itemWidth = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width;\n if (i > 0 && currentColHeight + itemHeight + 2 * padding > heightLimit) {\n totalWidth += currentColWidth + padding;\n columnSizes.push({width: currentColWidth, height: currentColHeight});\n left += currentColWidth + padding;\n col++;\n currentColWidth = currentColHeight = 0;\n }\n hitboxes[i] = {left, top: currentColHeight, col, width: itemWidth, height: itemHeight};\n currentColWidth = Math.max(currentColWidth, itemWidth);\n currentColHeight += itemHeight + padding;\n });\n totalWidth += currentColWidth;\n columnSizes.push({width: currentColWidth, height: currentColHeight});\n return totalWidth;\n }\n adjustHitBoxes() {\n if (!this.options.display) {\n return;\n }\n const titleHeight = this._computeTitleHeight();\n const {legendHitBoxes: hitboxes, options: {align, labels: {padding}, rtl}} = this;\n const rtlHelper = getRtlAdapter(rtl, this.left, this.width);\n if (this.isHorizontal()) {\n let row = 0;\n let left = _alignStartEnd(align, this.left + padding, this.right - this.lineWidths[row]);\n for (const hitbox of hitboxes) {\n if (row !== hitbox.row) {\n row = hitbox.row;\n left = _alignStartEnd(align, this.left + padding, this.right - this.lineWidths[row]);\n }\n hitbox.top += this.top + titleHeight + padding;\n hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(left), hitbox.width);\n left += hitbox.width + padding;\n }\n } else {\n let col = 0;\n let top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height);\n for (const hitbox of hitboxes) {\n if (hitbox.col !== col) {\n col = hitbox.col;\n top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height);\n }\n hitbox.top = top;\n hitbox.left += this.left + padding;\n hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(hitbox.left), hitbox.width);\n top += hitbox.height + padding;\n }\n }\n }\n isHorizontal() {\n return this.options.position === 'top' || this.options.position === 'bottom';\n }\n draw() {\n if (this.options.display) {\n const ctx = this.ctx;\n clipArea(ctx, this);\n this._draw();\n unclipArea(ctx);\n }\n }\n _draw() {\n const {options: opts, columnSizes, lineWidths, ctx} = this;\n const {align, labels: labelOpts} = opts;\n const defaultColor = defaults.color;\n const rtlHelper = getRtlAdapter(opts.rtl, this.left, this.width);\n const labelFont = toFont(labelOpts.font);\n const {color: fontColor, padding} = labelOpts;\n const fontSize = labelFont.size;\n const halfFontSize = fontSize / 2;\n let cursor;\n this.drawTitle();\n ctx.textAlign = rtlHelper.textAlign('left');\n ctx.textBaseline = 'middle';\n ctx.lineWidth = 0.5;\n ctx.font = labelFont.string;\n const {boxWidth, boxHeight, itemHeight} = getBoxSize(labelOpts, fontSize);\n const drawLegendBox = function(x, y, legendItem) {\n if (isNaN(boxWidth) || boxWidth <= 0 || isNaN(boxHeight) || boxHeight < 0) {\n return;\n }\n ctx.save();\n const lineWidth = valueOrDefault(legendItem.lineWidth, 1);\n ctx.fillStyle = valueOrDefault(legendItem.fillStyle, defaultColor);\n ctx.lineCap = valueOrDefault(legendItem.lineCap, 'butt');\n ctx.lineDashOffset = valueOrDefault(legendItem.lineDashOffset, 0);\n ctx.lineJoin = valueOrDefault(legendItem.lineJoin, 'miter');\n ctx.lineWidth = lineWidth;\n ctx.strokeStyle = valueOrDefault(legendItem.strokeStyle, defaultColor);\n ctx.setLineDash(valueOrDefault(legendItem.lineDash, []));\n if (labelOpts.usePointStyle) {\n const drawOptions = {\n radius: boxWidth * Math.SQRT2 / 2,\n pointStyle: legendItem.pointStyle,\n rotation: legendItem.rotation,\n borderWidth: lineWidth\n };\n const centerX = rtlHelper.xPlus(x, boxWidth / 2);\n const centerY = y + halfFontSize;\n drawPoint(ctx, drawOptions, centerX, centerY);\n } else {\n const yBoxTop = y + Math.max((fontSize - boxHeight) / 2, 0);\n const xBoxLeft = rtlHelper.leftForLtr(x, boxWidth);\n const borderRadius = toTRBLCorners(legendItem.borderRadius);\n ctx.beginPath();\n if (Object.values(borderRadius).some(v => v !== 0)) {\n addRoundedRectPath(ctx, {\n x: xBoxLeft,\n y: yBoxTop,\n w: boxWidth,\n h: boxHeight,\n radius: borderRadius,\n });\n } else {\n ctx.rect(xBoxLeft, yBoxTop, boxWidth, boxHeight);\n }\n ctx.fill();\n if (lineWidth !== 0) {\n ctx.stroke();\n }\n }\n ctx.restore();\n };\n const fillText = function(x, y, legendItem) {\n renderText(ctx, legendItem.text, x, y + (itemHeight / 2), labelFont, {\n strikethrough: legendItem.hidden,\n textAlign: rtlHelper.textAlign(legendItem.textAlign)\n });\n };\n const isHorizontal = this.isHorizontal();\n const titleHeight = this._computeTitleHeight();\n if (isHorizontal) {\n cursor = {\n x: _alignStartEnd(align, this.left + padding, this.right - lineWidths[0]),\n y: this.top + padding + titleHeight,\n line: 0\n };\n } else {\n cursor = {\n x: this.left + padding,\n y: _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - columnSizes[0].height),\n line: 0\n };\n }\n overrideTextDirection(this.ctx, opts.textDirection);\n const lineHeight = itemHeight + padding;\n this.legendItems.forEach((legendItem, i) => {\n ctx.strokeStyle = legendItem.fontColor || fontColor;\n ctx.fillStyle = legendItem.fontColor || fontColor;\n const textWidth = ctx.measureText(legendItem.text).width;\n const textAlign = rtlHelper.textAlign(legendItem.textAlign || (legendItem.textAlign = labelOpts.textAlign));\n const width = boxWidth + halfFontSize + textWidth;\n let x = cursor.x;\n let y = cursor.y;\n rtlHelper.setWidth(this.width);\n if (isHorizontal) {\n if (i > 0 && x + width + padding > this.right) {\n y = cursor.y += lineHeight;\n cursor.line++;\n x = cursor.x = _alignStartEnd(align, this.left + padding, this.right - lineWidths[cursor.line]);\n }\n } else if (i > 0 && y + lineHeight > this.bottom) {\n x = cursor.x = x + columnSizes[cursor.line].width + padding;\n cursor.line++;\n y = cursor.y = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - columnSizes[cursor.line].height);\n }\n const realX = rtlHelper.x(x);\n drawLegendBox(realX, y, legendItem);\n x = _textX(textAlign, x + boxWidth + halfFontSize, isHorizontal ? x + width : this.right, opts.rtl);\n fillText(rtlHelper.x(x), y, legendItem);\n if (isHorizontal) {\n cursor.x += width + padding;\n } else {\n cursor.y += lineHeight;\n }\n });\n restoreTextDirection(this.ctx, opts.textDirection);\n }\n drawTitle() {\n const opts = this.options;\n const titleOpts = opts.title;\n const titleFont = toFont(titleOpts.font);\n const titlePadding = toPadding(titleOpts.padding);\n if (!titleOpts.display) {\n return;\n }\n const rtlHelper = getRtlAdapter(opts.rtl, this.left, this.width);\n const ctx = this.ctx;\n const position = titleOpts.position;\n const halfFontSize = titleFont.size / 2;\n const topPaddingPlusHalfFontSize = titlePadding.top + halfFontSize;\n let y;\n let left = this.left;\n let maxWidth = this.width;\n if (this.isHorizontal()) {\n maxWidth = Math.max(...this.lineWidths);\n y = this.top + topPaddingPlusHalfFontSize;\n left = _alignStartEnd(opts.align, left, this.right - maxWidth);\n } else {\n const maxHeight = this.columnSizes.reduce((acc, size) => Math.max(acc, size.height), 0);\n y = topPaddingPlusHalfFontSize + _alignStartEnd(opts.align, this.top, this.bottom - maxHeight - opts.labels.padding - this._computeTitleHeight());\n }\n const x = _alignStartEnd(position, left, left + maxWidth);\n ctx.textAlign = rtlHelper.textAlign(_toLeftRightCenter(position));\n ctx.textBaseline = 'middle';\n ctx.strokeStyle = titleOpts.color;\n ctx.fillStyle = titleOpts.color;\n ctx.font = titleFont.string;\n renderText(ctx, titleOpts.text, x, y, titleFont);\n }\n _computeTitleHeight() {\n const titleOpts = this.options.title;\n const titleFont = toFont(titleOpts.font);\n const titlePadding = toPadding(titleOpts.padding);\n return titleOpts.display ? titleFont.lineHeight + titlePadding.height : 0;\n }\n _getLegendItemAt(x, y) {\n let i, hitBox, lh;\n if (_isBetween(x, this.left, this.right)\n && _isBetween(y, this.top, this.bottom)) {\n lh = this.legendHitBoxes;\n for (i = 0; i < lh.length; ++i) {\n hitBox = lh[i];\n if (_isBetween(x, hitBox.left, hitBox.left + hitBox.width)\n && _isBetween(y, hitBox.top, hitBox.top + hitBox.height)) {\n return this.legendItems[i];\n }\n }\n }\n return null;\n }\n handleEvent(e) {\n const opts = this.options;\n if (!isListened(e.type, opts)) {\n return;\n }\n const hoveredItem = this._getLegendItemAt(e.x, e.y);\n if (e.type === 'mousemove') {\n const previous = this._hoveredItem;\n const sameItem = itemsEqual(previous, hoveredItem);\n if (previous && !sameItem) {\n callback(opts.onLeave, [e, previous, this], this);\n }\n this._hoveredItem = hoveredItem;\n if (hoveredItem && !sameItem) {\n callback(opts.onHover, [e, hoveredItem, this], this);\n }\n } else if (hoveredItem) {\n callback(opts.onClick, [e, hoveredItem, this], this);\n }\n }\n}\nfunction isListened(type, opts) {\n if (type === 'mousemove' && (opts.onHover || opts.onLeave)) {\n return true;\n }\n if (opts.onClick && (type === 'click' || type === 'mouseup')) {\n return true;\n }\n return false;\n}\nvar plugin_legend = {\n id: 'legend',\n _element: Legend,\n start(chart, _args, options) {\n const legend = chart.legend = new Legend({ctx: chart.ctx, options, chart});\n layouts.configure(chart, legend, options);\n layouts.addBox(chart, legend);\n },\n stop(chart) {\n layouts.removeBox(chart, chart.legend);\n delete chart.legend;\n },\n beforeUpdate(chart, _args, options) {\n const legend = chart.legend;\n layouts.configure(chart, legend, options);\n legend.options = options;\n },\n afterUpdate(chart) {\n const legend = chart.legend;\n legend.buildLabels();\n legend.adjustHitBoxes();\n },\n afterEvent(chart, args) {\n if (!args.replay) {\n chart.legend.handleEvent(args.event);\n }\n },\n defaults: {\n display: true,\n position: 'top',\n align: 'center',\n fullSize: true,\n reverse: false,\n weight: 1000,\n onClick(e, legendItem, legend) {\n const index = legendItem.datasetIndex;\n const ci = legend.chart;\n if (ci.isDatasetVisible(index)) {\n ci.hide(index);\n legendItem.hidden = true;\n } else {\n ci.show(index);\n legendItem.hidden = false;\n }\n },\n onHover: null,\n onLeave: null,\n labels: {\n color: (ctx) => ctx.chart.options.color,\n boxWidth: 40,\n padding: 10,\n generateLabels(chart) {\n const datasets = chart.data.datasets;\n const {labels: {usePointStyle, pointStyle, textAlign, color}} = chart.legend.options;\n return chart._getSortedDatasetMetas().map((meta) => {\n const style = meta.controller.getStyle(usePointStyle ? 0 : undefined);\n const borderWidth = toPadding(style.borderWidth);\n return {\n text: datasets[meta.index].label,\n fillStyle: style.backgroundColor,\n fontColor: color,\n hidden: !meta.visible,\n lineCap: style.borderCapStyle,\n lineDash: style.borderDash,\n lineDashOffset: style.borderDashOffset,\n lineJoin: style.borderJoinStyle,\n lineWidth: (borderWidth.width + borderWidth.height) / 4,\n strokeStyle: style.borderColor,\n pointStyle: pointStyle || style.pointStyle,\n rotation: style.rotation,\n textAlign: textAlign || style.textAlign,\n borderRadius: 0,\n datasetIndex: meta.index\n };\n }, this);\n }\n },\n title: {\n color: (ctx) => ctx.chart.options.color,\n display: false,\n position: 'center',\n text: '',\n }\n },\n descriptors: {\n _scriptable: (name) => !name.startsWith('on'),\n labels: {\n _scriptable: (name) => !['generateLabels', 'filter', 'sort'].includes(name),\n }\n },\n};\n\nclass Title extends Element {\n constructor(config) {\n super();\n this.chart = config.chart;\n this.options = config.options;\n this.ctx = config.ctx;\n this._padding = undefined;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.width = undefined;\n this.height = undefined;\n this.position = undefined;\n this.weight = undefined;\n this.fullSize = undefined;\n }\n update(maxWidth, maxHeight) {\n const opts = this.options;\n this.left = 0;\n this.top = 0;\n if (!opts.display) {\n this.width = this.height = this.right = this.bottom = 0;\n return;\n }\n this.width = this.right = maxWidth;\n this.height = this.bottom = maxHeight;\n const lineCount = isArray(opts.text) ? opts.text.length : 1;\n this._padding = toPadding(opts.padding);\n const textSize = lineCount * toFont(opts.font).lineHeight + this._padding.height;\n if (this.isHorizontal()) {\n this.height = textSize;\n } else {\n this.width = textSize;\n }\n }\n isHorizontal() {\n const pos = this.options.position;\n return pos === 'top' || pos === 'bottom';\n }\n _drawArgs(offset) {\n const {top, left, bottom, right, options} = this;\n const align = options.align;\n let rotation = 0;\n let maxWidth, titleX, titleY;\n if (this.isHorizontal()) {\n titleX = _alignStartEnd(align, left, right);\n titleY = top + offset;\n maxWidth = right - left;\n } else {\n if (options.position === 'left') {\n titleX = left + offset;\n titleY = _alignStartEnd(align, bottom, top);\n rotation = PI * -0.5;\n } else {\n titleX = right - offset;\n titleY = _alignStartEnd(align, top, bottom);\n rotation = PI * 0.5;\n }\n maxWidth = bottom - top;\n }\n return {titleX, titleY, maxWidth, rotation};\n }\n draw() {\n const ctx = this.ctx;\n const opts = this.options;\n if (!opts.display) {\n return;\n }\n const fontOpts = toFont(opts.font);\n const lineHeight = fontOpts.lineHeight;\n const offset = lineHeight / 2 + this._padding.top;\n const {titleX, titleY, maxWidth, rotation} = this._drawArgs(offset);\n renderText(ctx, opts.text, 0, 0, fontOpts, {\n color: opts.color,\n maxWidth,\n rotation,\n textAlign: _toLeftRightCenter(opts.align),\n textBaseline: 'middle',\n translation: [titleX, titleY],\n });\n }\n}\nfunction createTitle(chart, titleOpts) {\n const title = new Title({\n ctx: chart.ctx,\n options: titleOpts,\n chart\n });\n layouts.configure(chart, title, titleOpts);\n layouts.addBox(chart, title);\n chart.titleBlock = title;\n}\nvar plugin_title = {\n id: 'title',\n _element: Title,\n start(chart, _args, options) {\n createTitle(chart, options);\n },\n stop(chart) {\n const titleBlock = chart.titleBlock;\n layouts.removeBox(chart, titleBlock);\n delete chart.titleBlock;\n },\n beforeUpdate(chart, _args, options) {\n const title = chart.titleBlock;\n layouts.configure(chart, title, options);\n title.options = options;\n },\n defaults: {\n align: 'center',\n display: false,\n font: {\n weight: 'bold',\n },\n fullSize: true,\n padding: 10,\n position: 'top',\n text: '',\n weight: 2000\n },\n defaultRoutes: {\n color: 'color'\n },\n descriptors: {\n _scriptable: true,\n _indexable: false,\n },\n};\n\nconst map = new WeakMap();\nvar plugin_subtitle = {\n id: 'subtitle',\n start(chart, _args, options) {\n const title = new Title({\n ctx: chart.ctx,\n options,\n chart\n });\n layouts.configure(chart, title, options);\n layouts.addBox(chart, title);\n map.set(chart, title);\n },\n stop(chart) {\n layouts.removeBox(chart, map.get(chart));\n map.delete(chart);\n },\n beforeUpdate(chart, _args, options) {\n const title = map.get(chart);\n layouts.configure(chart, title, options);\n title.options = options;\n },\n defaults: {\n align: 'center',\n display: false,\n font: {\n weight: 'normal',\n },\n fullSize: true,\n padding: 0,\n position: 'top',\n text: '',\n weight: 1500\n },\n defaultRoutes: {\n color: 'color'\n },\n descriptors: {\n _scriptable: true,\n _indexable: false,\n },\n};\n\nconst positioners = {\n average(items) {\n if (!items.length) {\n return false;\n }\n let i, len;\n let x = 0;\n let y = 0;\n let count = 0;\n for (i = 0, len = items.length; i < len; ++i) {\n const el = items[i].element;\n if (el && el.hasValue()) {\n const pos = el.tooltipPosition();\n x += pos.x;\n y += pos.y;\n ++count;\n }\n }\n return {\n x: x / count,\n y: y / count\n };\n },\n nearest(items, eventPosition) {\n if (!items.length) {\n return false;\n }\n let x = eventPosition.x;\n let y = eventPosition.y;\n let minDistance = Number.POSITIVE_INFINITY;\n let i, len, nearestElement;\n for (i = 0, len = items.length; i < len; ++i) {\n const el = items[i].element;\n if (el && el.hasValue()) {\n const center = el.getCenterPoint();\n const d = distanceBetweenPoints(eventPosition, center);\n if (d < minDistance) {\n minDistance = d;\n nearestElement = el;\n }\n }\n }\n if (nearestElement) {\n const tp = nearestElement.tooltipPosition();\n x = tp.x;\n y = tp.y;\n }\n return {\n x,\n y\n };\n }\n};\nfunction pushOrConcat(base, toPush) {\n if (toPush) {\n if (isArray(toPush)) {\n Array.prototype.push.apply(base, toPush);\n } else {\n base.push(toPush);\n }\n }\n return base;\n}\nfunction splitNewlines(str) {\n if ((typeof str === 'string' || str instanceof String) && str.indexOf('\\n') > -1) {\n return str.split('\\n');\n }\n return str;\n}\nfunction createTooltipItem(chart, item) {\n const {element, datasetIndex, index} = item;\n const controller = chart.getDatasetMeta(datasetIndex).controller;\n const {label, value} = controller.getLabelAndValue(index);\n return {\n chart,\n label,\n parsed: controller.getParsed(index),\n raw: chart.data.datasets[datasetIndex].data[index],\n formattedValue: value,\n dataset: controller.getDataset(),\n dataIndex: index,\n datasetIndex,\n element\n };\n}\nfunction getTooltipSize(tooltip, options) {\n const ctx = tooltip.chart.ctx;\n const {body, footer, title} = tooltip;\n const {boxWidth, boxHeight} = options;\n const bodyFont = toFont(options.bodyFont);\n const titleFont = toFont(options.titleFont);\n const footerFont = toFont(options.footerFont);\n const titleLineCount = title.length;\n const footerLineCount = footer.length;\n const bodyLineItemCount = body.length;\n const padding = toPadding(options.padding);\n let height = padding.height;\n let width = 0;\n let combinedBodyLength = body.reduce((count, bodyItem) => count + bodyItem.before.length + bodyItem.lines.length + bodyItem.after.length, 0);\n combinedBodyLength += tooltip.beforeBody.length + tooltip.afterBody.length;\n if (titleLineCount) {\n height += titleLineCount * titleFont.lineHeight\n\t\t\t+ (titleLineCount - 1) * options.titleSpacing\n\t\t\t+ options.titleMarginBottom;\n }\n if (combinedBodyLength) {\n const bodyLineHeight = options.displayColors ? Math.max(boxHeight, bodyFont.lineHeight) : bodyFont.lineHeight;\n height += bodyLineItemCount * bodyLineHeight\n\t\t\t+ (combinedBodyLength - bodyLineItemCount) * bodyFont.lineHeight\n\t\t\t+ (combinedBodyLength - 1) * options.bodySpacing;\n }\n if (footerLineCount) {\n height += options.footerMarginTop\n\t\t\t+ footerLineCount * footerFont.lineHeight\n\t\t\t+ (footerLineCount - 1) * options.footerSpacing;\n }\n let widthPadding = 0;\n const maxLineWidth = function(line) {\n width = Math.max(width, ctx.measureText(line).width + widthPadding);\n };\n ctx.save();\n ctx.font = titleFont.string;\n each(tooltip.title, maxLineWidth);\n ctx.font = bodyFont.string;\n each(tooltip.beforeBody.concat(tooltip.afterBody), maxLineWidth);\n widthPadding = options.displayColors ? (boxWidth + 2 + options.boxPadding) : 0;\n each(body, (bodyItem) => {\n each(bodyItem.before, maxLineWidth);\n each(bodyItem.lines, maxLineWidth);\n each(bodyItem.after, maxLineWidth);\n });\n widthPadding = 0;\n ctx.font = footerFont.string;\n each(tooltip.footer, maxLineWidth);\n ctx.restore();\n width += padding.width;\n return {width, height};\n}\nfunction determineYAlign(chart, size) {\n const {y, height} = size;\n if (y < height / 2) {\n return 'top';\n } else if (y > (chart.height - height / 2)) {\n return 'bottom';\n }\n return 'center';\n}\nfunction doesNotFitWithAlign(xAlign, chart, options, size) {\n const {x, width} = size;\n const caret = options.caretSize + options.caretPadding;\n if (xAlign === 'left' && x + width + caret > chart.width) {\n return true;\n }\n if (xAlign === 'right' && x - width - caret < 0) {\n return true;\n }\n}\nfunction determineXAlign(chart, options, size, yAlign) {\n const {x, width} = size;\n const {width: chartWidth, chartArea: {left, right}} = chart;\n let xAlign = 'center';\n if (yAlign === 'center') {\n xAlign = x <= (left + right) / 2 ? 'left' : 'right';\n } else if (x <= width / 2) {\n xAlign = 'left';\n } else if (x >= chartWidth - width / 2) {\n xAlign = 'right';\n }\n if (doesNotFitWithAlign(xAlign, chart, options, size)) {\n xAlign = 'center';\n }\n return xAlign;\n}\nfunction determineAlignment(chart, options, size) {\n const yAlign = size.yAlign || options.yAlign || determineYAlign(chart, size);\n return {\n xAlign: size.xAlign || options.xAlign || determineXAlign(chart, options, size, yAlign),\n yAlign\n };\n}\nfunction alignX(size, xAlign) {\n let {x, width} = size;\n if (xAlign === 'right') {\n x -= width;\n } else if (xAlign === 'center') {\n x -= (width / 2);\n }\n return x;\n}\nfunction alignY(size, yAlign, paddingAndSize) {\n let {y, height} = size;\n if (yAlign === 'top') {\n y += paddingAndSize;\n } else if (yAlign === 'bottom') {\n y -= height + paddingAndSize;\n } else {\n y -= (height / 2);\n }\n return y;\n}\nfunction getBackgroundPoint(options, size, alignment, chart) {\n const {caretSize, caretPadding, cornerRadius} = options;\n const {xAlign, yAlign} = alignment;\n const paddingAndSize = caretSize + caretPadding;\n const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(cornerRadius);\n let x = alignX(size, xAlign);\n const y = alignY(size, yAlign, paddingAndSize);\n if (yAlign === 'center') {\n if (xAlign === 'left') {\n x += paddingAndSize;\n } else if (xAlign === 'right') {\n x -= paddingAndSize;\n }\n } else if (xAlign === 'left') {\n x -= Math.max(topLeft, bottomLeft) + caretSize;\n } else if (xAlign === 'right') {\n x += Math.max(topRight, bottomRight) + caretSize;\n }\n return {\n x: _limitValue(x, 0, chart.width - size.width),\n y: _limitValue(y, 0, chart.height - size.height)\n };\n}\nfunction getAlignedX(tooltip, align, options) {\n const padding = toPadding(options.padding);\n return align === 'center'\n ? tooltip.x + tooltip.width / 2\n : align === 'right'\n ? tooltip.x + tooltip.width - padding.right\n : tooltip.x + padding.left;\n}\nfunction getBeforeAfterBodyLines(callback) {\n return pushOrConcat([], splitNewlines(callback));\n}\nfunction createTooltipContext(parent, tooltip, tooltipItems) {\n return createContext(parent, {\n tooltip,\n tooltipItems,\n type: 'tooltip'\n });\n}\nfunction overrideCallbacks(callbacks, context) {\n const override = context && context.dataset && context.dataset.tooltip && context.dataset.tooltip.callbacks;\n return override ? callbacks.override(override) : callbacks;\n}\nclass Tooltip extends Element {\n constructor(config) {\n super();\n this.opacity = 0;\n this._active = [];\n this._eventPosition = undefined;\n this._size = undefined;\n this._cachedAnimations = undefined;\n this._tooltipItems = [];\n this.$animations = undefined;\n this.$context = undefined;\n this.chart = config.chart || config._chart;\n this._chart = this.chart;\n this.options = config.options;\n this.dataPoints = undefined;\n this.title = undefined;\n this.beforeBody = undefined;\n this.body = undefined;\n this.afterBody = undefined;\n this.footer = undefined;\n this.xAlign = undefined;\n this.yAlign = undefined;\n this.x = undefined;\n this.y = undefined;\n this.height = undefined;\n this.width = undefined;\n this.caretX = undefined;\n this.caretY = undefined;\n this.labelColors = undefined;\n this.labelPointStyles = undefined;\n this.labelTextColors = undefined;\n }\n initialize(options) {\n this.options = options;\n this._cachedAnimations = undefined;\n this.$context = undefined;\n }\n _resolveAnimations() {\n const cached = this._cachedAnimations;\n if (cached) {\n return cached;\n }\n const chart = this.chart;\n const options = this.options.setContext(this.getContext());\n const opts = options.enabled && chart.options.animation && options.animations;\n const animations = new Animations(this.chart, opts);\n if (opts._cacheable) {\n this._cachedAnimations = Object.freeze(animations);\n }\n return animations;\n }\n getContext() {\n return this.$context ||\n\t\t\t(this.$context = createTooltipContext(this.chart.getContext(), this, this._tooltipItems));\n }\n getTitle(context, options) {\n const {callbacks} = options;\n const beforeTitle = callbacks.beforeTitle.apply(this, [context]);\n const title = callbacks.title.apply(this, [context]);\n const afterTitle = callbacks.afterTitle.apply(this, [context]);\n let lines = [];\n lines = pushOrConcat(lines, splitNewlines(beforeTitle));\n lines = pushOrConcat(lines, splitNewlines(title));\n lines = pushOrConcat(lines, splitNewlines(afterTitle));\n return lines;\n }\n getBeforeBody(tooltipItems, options) {\n return getBeforeAfterBodyLines(options.callbacks.beforeBody.apply(this, [tooltipItems]));\n }\n getBody(tooltipItems, options) {\n const {callbacks} = options;\n const bodyItems = [];\n each(tooltipItems, (context) => {\n const bodyItem = {\n before: [],\n lines: [],\n after: []\n };\n const scoped = overrideCallbacks(callbacks, context);\n pushOrConcat(bodyItem.before, splitNewlines(scoped.beforeLabel.call(this, context)));\n pushOrConcat(bodyItem.lines, scoped.label.call(this, context));\n pushOrConcat(bodyItem.after, splitNewlines(scoped.afterLabel.call(this, context)));\n bodyItems.push(bodyItem);\n });\n return bodyItems;\n }\n getAfterBody(tooltipItems, options) {\n return getBeforeAfterBodyLines(options.callbacks.afterBody.apply(this, [tooltipItems]));\n }\n getFooter(tooltipItems, options) {\n const {callbacks} = options;\n const beforeFooter = callbacks.beforeFooter.apply(this, [tooltipItems]);\n const footer = callbacks.footer.apply(this, [tooltipItems]);\n const afterFooter = callbacks.afterFooter.apply(this, [tooltipItems]);\n let lines = [];\n lines = pushOrConcat(lines, splitNewlines(beforeFooter));\n lines = pushOrConcat(lines, splitNewlines(footer));\n lines = pushOrConcat(lines, splitNewlines(afterFooter));\n return lines;\n }\n _createItems(options) {\n const active = this._active;\n const data = this.chart.data;\n const labelColors = [];\n const labelPointStyles = [];\n const labelTextColors = [];\n let tooltipItems = [];\n let i, len;\n for (i = 0, len = active.length; i < len; ++i) {\n tooltipItems.push(createTooltipItem(this.chart, active[i]));\n }\n if (options.filter) {\n tooltipItems = tooltipItems.filter((element, index, array) => options.filter(element, index, array, data));\n }\n if (options.itemSort) {\n tooltipItems = tooltipItems.sort((a, b) => options.itemSort(a, b, data));\n }\n each(tooltipItems, (context) => {\n const scoped = overrideCallbacks(options.callbacks, context);\n labelColors.push(scoped.labelColor.call(this, context));\n labelPointStyles.push(scoped.labelPointStyle.call(this, context));\n labelTextColors.push(scoped.labelTextColor.call(this, context));\n });\n this.labelColors = labelColors;\n this.labelPointStyles = labelPointStyles;\n this.labelTextColors = labelTextColors;\n this.dataPoints = tooltipItems;\n return tooltipItems;\n }\n update(changed, replay) {\n const options = this.options.setContext(this.getContext());\n const active = this._active;\n let properties;\n let tooltipItems = [];\n if (!active.length) {\n if (this.opacity !== 0) {\n properties = {\n opacity: 0\n };\n }\n } else {\n const position = positioners[options.position].call(this, active, this._eventPosition);\n tooltipItems = this._createItems(options);\n this.title = this.getTitle(tooltipItems, options);\n this.beforeBody = this.getBeforeBody(tooltipItems, options);\n this.body = this.getBody(tooltipItems, options);\n this.afterBody = this.getAfterBody(tooltipItems, options);\n this.footer = this.getFooter(tooltipItems, options);\n const size = this._size = getTooltipSize(this, options);\n const positionAndSize = Object.assign({}, position, size);\n const alignment = determineAlignment(this.chart, options, positionAndSize);\n const backgroundPoint = getBackgroundPoint(options, positionAndSize, alignment, this.chart);\n this.xAlign = alignment.xAlign;\n this.yAlign = alignment.yAlign;\n properties = {\n opacity: 1,\n x: backgroundPoint.x,\n y: backgroundPoint.y,\n width: size.width,\n height: size.height,\n caretX: position.x,\n caretY: position.y\n };\n }\n this._tooltipItems = tooltipItems;\n this.$context = undefined;\n if (properties) {\n this._resolveAnimations().update(this, properties);\n }\n if (changed && options.external) {\n options.external.call(this, {chart: this.chart, tooltip: this, replay});\n }\n }\n drawCaret(tooltipPoint, ctx, size, options) {\n const caretPosition = this.getCaretPosition(tooltipPoint, size, options);\n ctx.lineTo(caretPosition.x1, caretPosition.y1);\n ctx.lineTo(caretPosition.x2, caretPosition.y2);\n ctx.lineTo(caretPosition.x3, caretPosition.y3);\n }\n getCaretPosition(tooltipPoint, size, options) {\n const {xAlign, yAlign} = this;\n const {caretSize, cornerRadius} = options;\n const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(cornerRadius);\n const {x: ptX, y: ptY} = tooltipPoint;\n const {width, height} = size;\n let x1, x2, x3, y1, y2, y3;\n if (yAlign === 'center') {\n y2 = ptY + (height / 2);\n if (xAlign === 'left') {\n x1 = ptX;\n x2 = x1 - caretSize;\n y1 = y2 + caretSize;\n y3 = y2 - caretSize;\n } else {\n x1 = ptX + width;\n x2 = x1 + caretSize;\n y1 = y2 - caretSize;\n y3 = y2 + caretSize;\n }\n x3 = x1;\n } else {\n if (xAlign === 'left') {\n x2 = ptX + Math.max(topLeft, bottomLeft) + (caretSize);\n } else if (xAlign === 'right') {\n x2 = ptX + width - Math.max(topRight, bottomRight) - caretSize;\n } else {\n x2 = this.caretX;\n }\n if (yAlign === 'top') {\n y1 = ptY;\n y2 = y1 - caretSize;\n x1 = x2 - caretSize;\n x3 = x2 + caretSize;\n } else {\n y1 = ptY + height;\n y2 = y1 + caretSize;\n x1 = x2 + caretSize;\n x3 = x2 - caretSize;\n }\n y3 = y1;\n }\n return {x1, x2, x3, y1, y2, y3};\n }\n drawTitle(pt, ctx, options) {\n const title = this.title;\n const length = title.length;\n let titleFont, titleSpacing, i;\n if (length) {\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n pt.x = getAlignedX(this, options.titleAlign, options);\n ctx.textAlign = rtlHelper.textAlign(options.titleAlign);\n ctx.textBaseline = 'middle';\n titleFont = toFont(options.titleFont);\n titleSpacing = options.titleSpacing;\n ctx.fillStyle = options.titleColor;\n ctx.font = titleFont.string;\n for (i = 0; i < length; ++i) {\n ctx.fillText(title[i], rtlHelper.x(pt.x), pt.y + titleFont.lineHeight / 2);\n pt.y += titleFont.lineHeight + titleSpacing;\n if (i + 1 === length) {\n pt.y += options.titleMarginBottom - titleSpacing;\n }\n }\n }\n }\n _drawColorBox(ctx, pt, i, rtlHelper, options) {\n const labelColors = this.labelColors[i];\n const labelPointStyle = this.labelPointStyles[i];\n const {boxHeight, boxWidth, boxPadding} = options;\n const bodyFont = toFont(options.bodyFont);\n const colorX = getAlignedX(this, 'left', options);\n const rtlColorX = rtlHelper.x(colorX);\n const yOffSet = boxHeight < bodyFont.lineHeight ? (bodyFont.lineHeight - boxHeight) / 2 : 0;\n const colorY = pt.y + yOffSet;\n if (options.usePointStyle) {\n const drawOptions = {\n radius: Math.min(boxWidth, boxHeight) / 2,\n pointStyle: labelPointStyle.pointStyle,\n rotation: labelPointStyle.rotation,\n borderWidth: 1\n };\n const centerX = rtlHelper.leftForLtr(rtlColorX, boxWidth) + boxWidth / 2;\n const centerY = colorY + boxHeight / 2;\n ctx.strokeStyle = options.multiKeyBackground;\n ctx.fillStyle = options.multiKeyBackground;\n drawPoint(ctx, drawOptions, centerX, centerY);\n ctx.strokeStyle = labelColors.borderColor;\n ctx.fillStyle = labelColors.backgroundColor;\n drawPoint(ctx, drawOptions, centerX, centerY);\n } else {\n ctx.lineWidth = labelColors.borderWidth || 1;\n ctx.strokeStyle = labelColors.borderColor;\n ctx.setLineDash(labelColors.borderDash || []);\n ctx.lineDashOffset = labelColors.borderDashOffset || 0;\n const outerX = rtlHelper.leftForLtr(rtlColorX, boxWidth - boxPadding);\n const innerX = rtlHelper.leftForLtr(rtlHelper.xPlus(rtlColorX, 1), boxWidth - boxPadding - 2);\n const borderRadius = toTRBLCorners(labelColors.borderRadius);\n if (Object.values(borderRadius).some(v => v !== 0)) {\n ctx.beginPath();\n ctx.fillStyle = options.multiKeyBackground;\n addRoundedRectPath(ctx, {\n x: outerX,\n y: colorY,\n w: boxWidth,\n h: boxHeight,\n radius: borderRadius,\n });\n ctx.fill();\n ctx.stroke();\n ctx.fillStyle = labelColors.backgroundColor;\n ctx.beginPath();\n addRoundedRectPath(ctx, {\n x: innerX,\n y: colorY + 1,\n w: boxWidth - 2,\n h: boxHeight - 2,\n radius: borderRadius,\n });\n ctx.fill();\n } else {\n ctx.fillStyle = options.multiKeyBackground;\n ctx.fillRect(outerX, colorY, boxWidth, boxHeight);\n ctx.strokeRect(outerX, colorY, boxWidth, boxHeight);\n ctx.fillStyle = labelColors.backgroundColor;\n ctx.fillRect(innerX, colorY + 1, boxWidth - 2, boxHeight - 2);\n }\n }\n ctx.fillStyle = this.labelTextColors[i];\n }\n drawBody(pt, ctx, options) {\n const {body} = this;\n const {bodySpacing, bodyAlign, displayColors, boxHeight, boxWidth, boxPadding} = options;\n const bodyFont = toFont(options.bodyFont);\n let bodyLineHeight = bodyFont.lineHeight;\n let xLinePadding = 0;\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n const fillLineOfText = function(line) {\n ctx.fillText(line, rtlHelper.x(pt.x + xLinePadding), pt.y + bodyLineHeight / 2);\n pt.y += bodyLineHeight + bodySpacing;\n };\n const bodyAlignForCalculation = rtlHelper.textAlign(bodyAlign);\n let bodyItem, textColor, lines, i, j, ilen, jlen;\n ctx.textAlign = bodyAlign;\n ctx.textBaseline = 'middle';\n ctx.font = bodyFont.string;\n pt.x = getAlignedX(this, bodyAlignForCalculation, options);\n ctx.fillStyle = options.bodyColor;\n each(this.beforeBody, fillLineOfText);\n xLinePadding = displayColors && bodyAlignForCalculation !== 'right'\n ? bodyAlign === 'center' ? (boxWidth / 2 + boxPadding) : (boxWidth + 2 + boxPadding)\n : 0;\n for (i = 0, ilen = body.length; i < ilen; ++i) {\n bodyItem = body[i];\n textColor = this.labelTextColors[i];\n ctx.fillStyle = textColor;\n each(bodyItem.before, fillLineOfText);\n lines = bodyItem.lines;\n if (displayColors && lines.length) {\n this._drawColorBox(ctx, pt, i, rtlHelper, options);\n bodyLineHeight = Math.max(bodyFont.lineHeight, boxHeight);\n }\n for (j = 0, jlen = lines.length; j < jlen; ++j) {\n fillLineOfText(lines[j]);\n bodyLineHeight = bodyFont.lineHeight;\n }\n each(bodyItem.after, fillLineOfText);\n }\n xLinePadding = 0;\n bodyLineHeight = bodyFont.lineHeight;\n each(this.afterBody, fillLineOfText);\n pt.y -= bodySpacing;\n }\n drawFooter(pt, ctx, options) {\n const footer = this.footer;\n const length = footer.length;\n let footerFont, i;\n if (length) {\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n pt.x = getAlignedX(this, options.footerAlign, options);\n pt.y += options.footerMarginTop;\n ctx.textAlign = rtlHelper.textAlign(options.footerAlign);\n ctx.textBaseline = 'middle';\n footerFont = toFont(options.footerFont);\n ctx.fillStyle = options.footerColor;\n ctx.font = footerFont.string;\n for (i = 0; i < length; ++i) {\n ctx.fillText(footer[i], rtlHelper.x(pt.x), pt.y + footerFont.lineHeight / 2);\n pt.y += footerFont.lineHeight + options.footerSpacing;\n }\n }\n }\n drawBackground(pt, ctx, tooltipSize, options) {\n const {xAlign, yAlign} = this;\n const {x, y} = pt;\n const {width, height} = tooltipSize;\n const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(options.cornerRadius);\n ctx.fillStyle = options.backgroundColor;\n ctx.strokeStyle = options.borderColor;\n ctx.lineWidth = options.borderWidth;\n ctx.beginPath();\n ctx.moveTo(x + topLeft, y);\n if (yAlign === 'top') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + width - topRight, y);\n ctx.quadraticCurveTo(x + width, y, x + width, y + topRight);\n if (yAlign === 'center' && xAlign === 'right') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + width, y + height - bottomRight);\n ctx.quadraticCurveTo(x + width, y + height, x + width - bottomRight, y + height);\n if (yAlign === 'bottom') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + bottomLeft, y + height);\n ctx.quadraticCurveTo(x, y + height, x, y + height - bottomLeft);\n if (yAlign === 'center' && xAlign === 'left') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x, y + topLeft);\n ctx.quadraticCurveTo(x, y, x + topLeft, y);\n ctx.closePath();\n ctx.fill();\n if (options.borderWidth > 0) {\n ctx.stroke();\n }\n }\n _updateAnimationTarget(options) {\n const chart = this.chart;\n const anims = this.$animations;\n const animX = anims && anims.x;\n const animY = anims && anims.y;\n if (animX || animY) {\n const position = positioners[options.position].call(this, this._active, this._eventPosition);\n if (!position) {\n return;\n }\n const size = this._size = getTooltipSize(this, options);\n const positionAndSize = Object.assign({}, position, this._size);\n const alignment = determineAlignment(chart, options, positionAndSize);\n const point = getBackgroundPoint(options, positionAndSize, alignment, chart);\n if (animX._to !== point.x || animY._to !== point.y) {\n this.xAlign = alignment.xAlign;\n this.yAlign = alignment.yAlign;\n this.width = size.width;\n this.height = size.height;\n this.caretX = position.x;\n this.caretY = position.y;\n this._resolveAnimations().update(this, point);\n }\n }\n }\n draw(ctx) {\n const options = this.options.setContext(this.getContext());\n let opacity = this.opacity;\n if (!opacity) {\n return;\n }\n this._updateAnimationTarget(options);\n const tooltipSize = {\n width: this.width,\n height: this.height\n };\n const pt = {\n x: this.x,\n y: this.y\n };\n opacity = Math.abs(opacity) < 1e-3 ? 0 : opacity;\n const padding = toPadding(options.padding);\n const hasTooltipContent = this.title.length || this.beforeBody.length || this.body.length || this.afterBody.length || this.footer.length;\n if (options.enabled && hasTooltipContent) {\n ctx.save();\n ctx.globalAlpha = opacity;\n this.drawBackground(pt, ctx, tooltipSize, options);\n overrideTextDirection(ctx, options.textDirection);\n pt.y += padding.top;\n this.drawTitle(pt, ctx, options);\n this.drawBody(pt, ctx, options);\n this.drawFooter(pt, ctx, options);\n restoreTextDirection(ctx, options.textDirection);\n ctx.restore();\n }\n }\n getActiveElements() {\n return this._active || [];\n }\n setActiveElements(activeElements, eventPosition) {\n const lastActive = this._active;\n const active = activeElements.map(({datasetIndex, index}) => {\n const meta = this.chart.getDatasetMeta(datasetIndex);\n if (!meta) {\n throw new Error('Cannot find a dataset at index ' + datasetIndex);\n }\n return {\n datasetIndex,\n element: meta.data[index],\n index,\n };\n });\n const changed = !_elementsEqual(lastActive, active);\n const positionChanged = this._positionChanged(active, eventPosition);\n if (changed || positionChanged) {\n this._active = active;\n this._eventPosition = eventPosition;\n this._ignoreReplayEvents = true;\n this.update(true);\n }\n }\n handleEvent(e, replay, inChartArea = true) {\n if (replay && this._ignoreReplayEvents) {\n return false;\n }\n this._ignoreReplayEvents = false;\n const options = this.options;\n const lastActive = this._active || [];\n const active = this._getActiveElements(e, lastActive, replay, inChartArea);\n const positionChanged = this._positionChanged(active, e);\n const changed = replay || !_elementsEqual(active, lastActive) || positionChanged;\n if (changed) {\n this._active = active;\n if (options.enabled || options.external) {\n this._eventPosition = {\n x: e.x,\n y: e.y\n };\n this.update(true, replay);\n }\n }\n return changed;\n }\n _getActiveElements(e, lastActive, replay, inChartArea) {\n const options = this.options;\n if (e.type === 'mouseout') {\n return [];\n }\n if (!inChartArea) {\n return lastActive;\n }\n const active = this.chart.getElementsAtEventForMode(e, options.mode, options, replay);\n if (options.reverse) {\n active.reverse();\n }\n return active;\n }\n _positionChanged(active, e) {\n const {caretX, caretY, options} = this;\n const position = positioners[options.position].call(this, active, e);\n return position !== false && (caretX !== position.x || caretY !== position.y);\n }\n}\nTooltip.positioners = positioners;\nvar plugin_tooltip = {\n id: 'tooltip',\n _element: Tooltip,\n positioners,\n afterInit(chart, _args, options) {\n if (options) {\n chart.tooltip = new Tooltip({chart, options});\n }\n },\n beforeUpdate(chart, _args, options) {\n if (chart.tooltip) {\n chart.tooltip.initialize(options);\n }\n },\n reset(chart, _args, options) {\n if (chart.tooltip) {\n chart.tooltip.initialize(options);\n }\n },\n afterDraw(chart) {\n const tooltip = chart.tooltip;\n const args = {\n tooltip\n };\n if (chart.notifyPlugins('beforeTooltipDraw', args) === false) {\n return;\n }\n if (tooltip) {\n tooltip.draw(chart.ctx);\n }\n chart.notifyPlugins('afterTooltipDraw', args);\n },\n afterEvent(chart, args) {\n if (chart.tooltip) {\n const useFinalPosition = args.replay;\n if (chart.tooltip.handleEvent(args.event, useFinalPosition, args.inChartArea)) {\n args.changed = true;\n }\n }\n },\n defaults: {\n enabled: true,\n external: null,\n position: 'average',\n backgroundColor: 'rgba(0,0,0,0.8)',\n titleColor: '#fff',\n titleFont: {\n weight: 'bold',\n },\n titleSpacing: 2,\n titleMarginBottom: 6,\n titleAlign: 'left',\n bodyColor: '#fff',\n bodySpacing: 2,\n bodyFont: {\n },\n bodyAlign: 'left',\n footerColor: '#fff',\n footerSpacing: 2,\n footerMarginTop: 6,\n footerFont: {\n weight: 'bold',\n },\n footerAlign: 'left',\n padding: 6,\n caretPadding: 2,\n caretSize: 5,\n cornerRadius: 6,\n boxHeight: (ctx, opts) => opts.bodyFont.size,\n boxWidth: (ctx, opts) => opts.bodyFont.size,\n multiKeyBackground: '#fff',\n displayColors: true,\n boxPadding: 0,\n borderColor: 'rgba(0,0,0,0)',\n borderWidth: 0,\n animation: {\n duration: 400,\n easing: 'easeOutQuart',\n },\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'width', 'height', 'caretX', 'caretY'],\n },\n opacity: {\n easing: 'linear',\n duration: 200\n }\n },\n callbacks: {\n beforeTitle: noop,\n title(tooltipItems) {\n if (tooltipItems.length > 0) {\n const item = tooltipItems[0];\n const labels = item.chart.data.labels;\n const labelCount = labels ? labels.length : 0;\n if (this && this.options && this.options.mode === 'dataset') {\n return item.dataset.label || '';\n } else if (item.label) {\n return item.label;\n } else if (labelCount > 0 && item.dataIndex < labelCount) {\n return labels[item.dataIndex];\n }\n }\n return '';\n },\n afterTitle: noop,\n beforeBody: noop,\n beforeLabel: noop,\n label(tooltipItem) {\n if (this && this.options && this.options.mode === 'dataset') {\n return tooltipItem.label + ': ' + tooltipItem.formattedValue || tooltipItem.formattedValue;\n }\n let label = tooltipItem.dataset.label || '';\n if (label) {\n label += ': ';\n }\n const value = tooltipItem.formattedValue;\n if (!isNullOrUndef(value)) {\n label += value;\n }\n return label;\n },\n labelColor(tooltipItem) {\n const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex);\n const options = meta.controller.getStyle(tooltipItem.dataIndex);\n return {\n borderColor: options.borderColor,\n backgroundColor: options.backgroundColor,\n borderWidth: options.borderWidth,\n borderDash: options.borderDash,\n borderDashOffset: options.borderDashOffset,\n borderRadius: 0,\n };\n },\n labelTextColor() {\n return this.options.bodyColor;\n },\n labelPointStyle(tooltipItem) {\n const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex);\n const options = meta.controller.getStyle(tooltipItem.dataIndex);\n return {\n pointStyle: options.pointStyle,\n rotation: options.rotation,\n };\n },\n afterLabel: noop,\n afterBody: noop,\n beforeFooter: noop,\n footer: noop,\n afterFooter: noop\n }\n },\n defaultRoutes: {\n bodyFont: 'font',\n footerFont: 'font',\n titleFont: 'font'\n },\n descriptors: {\n _scriptable: (name) => name !== 'filter' && name !== 'itemSort' && name !== 'external',\n _indexable: false,\n callbacks: {\n _scriptable: false,\n _indexable: false,\n },\n animation: {\n _fallback: false\n },\n animations: {\n _fallback: 'animation'\n }\n },\n additionalOptionScopes: ['interaction']\n};\n\nvar plugins = /*#__PURE__*/Object.freeze({\n__proto__: null,\nDecimation: plugin_decimation,\nFiller: plugin_filler,\nLegend: plugin_legend,\nSubTitle: plugin_subtitle,\nTitle: plugin_title,\nTooltip: plugin_tooltip\n});\n\nconst addIfString = (labels, raw, index, addedLabels) => {\n if (typeof raw === 'string') {\n index = labels.push(raw) - 1;\n addedLabels.unshift({index, label: raw});\n } else if (isNaN(raw)) {\n index = null;\n }\n return index;\n};\nfunction findOrAddLabel(labels, raw, index, addedLabels) {\n const first = labels.indexOf(raw);\n if (first === -1) {\n return addIfString(labels, raw, index, addedLabels);\n }\n const last = labels.lastIndexOf(raw);\n return first !== last ? index : first;\n}\nconst validIndex = (index, max) => index === null ? null : _limitValue(Math.round(index), 0, max);\nclass CategoryScale extends Scale {\n constructor(cfg) {\n super(cfg);\n this._startValue = undefined;\n this._valueRange = 0;\n this._addedLabels = [];\n }\n init(scaleOptions) {\n const added = this._addedLabels;\n if (added.length) {\n const labels = this.getLabels();\n for (const {index, label} of added) {\n if (labels[index] === label) {\n labels.splice(index, 1);\n }\n }\n this._addedLabels = [];\n }\n super.init(scaleOptions);\n }\n parse(raw, index) {\n if (isNullOrUndef(raw)) {\n return null;\n }\n const labels = this.getLabels();\n index = isFinite(index) && labels[index] === raw ? index\n : findOrAddLabel(labels, raw, valueOrDefault(index, raw), this._addedLabels);\n return validIndex(index, labels.length - 1);\n }\n determineDataLimits() {\n const {minDefined, maxDefined} = this.getUserBounds();\n let {min, max} = this.getMinMax(true);\n if (this.options.bounds === 'ticks') {\n if (!minDefined) {\n min = 0;\n }\n if (!maxDefined) {\n max = this.getLabels().length - 1;\n }\n }\n this.min = min;\n this.max = max;\n }\n buildTicks() {\n const min = this.min;\n const max = this.max;\n const offset = this.options.offset;\n const ticks = [];\n let labels = this.getLabels();\n labels = (min === 0 && max === labels.length - 1) ? labels : labels.slice(min, max + 1);\n this._valueRange = Math.max(labels.length - (offset ? 0 : 1), 1);\n this._startValue = this.min - (offset ? 0.5 : 0);\n for (let value = min; value <= max; value++) {\n ticks.push({value});\n }\n return ticks;\n }\n getLabelForValue(value) {\n const labels = this.getLabels();\n if (value >= 0 && value < labels.length) {\n return labels[value];\n }\n return value;\n }\n configure() {\n super.configure();\n if (!this.isHorizontal()) {\n this._reversePixels = !this._reversePixels;\n }\n }\n getPixelForValue(value) {\n if (typeof value !== 'number') {\n value = this.parse(value);\n }\n return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange);\n }\n getPixelForTick(index) {\n const ticks = this.ticks;\n if (index < 0 || index > ticks.length - 1) {\n return null;\n }\n return this.getPixelForValue(ticks[index].value);\n }\n getValueForPixel(pixel) {\n return Math.round(this._startValue + this.getDecimalForPixel(pixel) * this._valueRange);\n }\n getBasePixel() {\n return this.bottom;\n }\n}\nCategoryScale.id = 'category';\nCategoryScale.defaults = {\n ticks: {\n callback: CategoryScale.prototype.getLabelForValue\n }\n};\n\nfunction generateTicks$1(generationOptions, dataRange) {\n const ticks = [];\n const MIN_SPACING = 1e-14;\n const {bounds, step, min, max, precision, count, maxTicks, maxDigits, includeBounds} = generationOptions;\n const unit = step || 1;\n const maxSpaces = maxTicks - 1;\n const {min: rmin, max: rmax} = dataRange;\n const minDefined = !isNullOrUndef(min);\n const maxDefined = !isNullOrUndef(max);\n const countDefined = !isNullOrUndef(count);\n const minSpacing = (rmax - rmin) / (maxDigits + 1);\n let spacing = niceNum((rmax - rmin) / maxSpaces / unit) * unit;\n let factor, niceMin, niceMax, numSpaces;\n if (spacing < MIN_SPACING && !minDefined && !maxDefined) {\n return [{value: rmin}, {value: rmax}];\n }\n numSpaces = Math.ceil(rmax / spacing) - Math.floor(rmin / spacing);\n if (numSpaces > maxSpaces) {\n spacing = niceNum(numSpaces * spacing / maxSpaces / unit) * unit;\n }\n if (!isNullOrUndef(precision)) {\n factor = Math.pow(10, precision);\n spacing = Math.ceil(spacing * factor) / factor;\n }\n if (bounds === 'ticks') {\n niceMin = Math.floor(rmin / spacing) * spacing;\n niceMax = Math.ceil(rmax / spacing) * spacing;\n } else {\n niceMin = rmin;\n niceMax = rmax;\n }\n if (minDefined && maxDefined && step && almostWhole((max - min) / step, spacing / 1000)) {\n numSpaces = Math.round(Math.min((max - min) / spacing, maxTicks));\n spacing = (max - min) / numSpaces;\n niceMin = min;\n niceMax = max;\n } else if (countDefined) {\n niceMin = minDefined ? min : niceMin;\n niceMax = maxDefined ? max : niceMax;\n numSpaces = count - 1;\n spacing = (niceMax - niceMin) / numSpaces;\n } else {\n numSpaces = (niceMax - niceMin) / spacing;\n if (almostEquals(numSpaces, Math.round(numSpaces), spacing / 1000)) {\n numSpaces = Math.round(numSpaces);\n } else {\n numSpaces = Math.ceil(numSpaces);\n }\n }\n const decimalPlaces = Math.max(\n _decimalPlaces(spacing),\n _decimalPlaces(niceMin)\n );\n factor = Math.pow(10, isNullOrUndef(precision) ? decimalPlaces : precision);\n niceMin = Math.round(niceMin * factor) / factor;\n niceMax = Math.round(niceMax * factor) / factor;\n let j = 0;\n if (minDefined) {\n if (includeBounds && niceMin !== min) {\n ticks.push({value: min});\n if (niceMin < min) {\n j++;\n }\n if (almostEquals(Math.round((niceMin + j * spacing) * factor) / factor, min, relativeLabelSize(min, minSpacing, generationOptions))) {\n j++;\n }\n } else if (niceMin < min) {\n j++;\n }\n }\n for (; j < numSpaces; ++j) {\n ticks.push({value: Math.round((niceMin + j * spacing) * factor) / factor});\n }\n if (maxDefined && includeBounds && niceMax !== max) {\n if (ticks.length && almostEquals(ticks[ticks.length - 1].value, max, relativeLabelSize(max, minSpacing, generationOptions))) {\n ticks[ticks.length - 1].value = max;\n } else {\n ticks.push({value: max});\n }\n } else if (!maxDefined || niceMax === max) {\n ticks.push({value: niceMax});\n }\n return ticks;\n}\nfunction relativeLabelSize(value, minSpacing, {horizontal, minRotation}) {\n const rad = toRadians(minRotation);\n const ratio = (horizontal ? Math.sin(rad) : Math.cos(rad)) || 0.001;\n const length = 0.75 * minSpacing * ('' + value).length;\n return Math.min(minSpacing / ratio, length);\n}\nclass LinearScaleBase extends Scale {\n constructor(cfg) {\n super(cfg);\n this.start = undefined;\n this.end = undefined;\n this._startValue = undefined;\n this._endValue = undefined;\n this._valueRange = 0;\n }\n parse(raw, index) {\n if (isNullOrUndef(raw)) {\n return null;\n }\n if ((typeof raw === 'number' || raw instanceof Number) && !isFinite(+raw)) {\n return null;\n }\n return +raw;\n }\n handleTickRangeOptions() {\n const {beginAtZero} = this.options;\n const {minDefined, maxDefined} = this.getUserBounds();\n let {min, max} = this;\n const setMin = v => (min = minDefined ? min : v);\n const setMax = v => (max = maxDefined ? max : v);\n if (beginAtZero) {\n const minSign = sign(min);\n const maxSign = sign(max);\n if (minSign < 0 && maxSign < 0) {\n setMax(0);\n } else if (minSign > 0 && maxSign > 0) {\n setMin(0);\n }\n }\n if (min === max) {\n let offset = 1;\n if (max >= Number.MAX_SAFE_INTEGER || min <= Number.MIN_SAFE_INTEGER) {\n offset = Math.abs(max * 0.05);\n }\n setMax(max + offset);\n if (!beginAtZero) {\n setMin(min - offset);\n }\n }\n this.min = min;\n this.max = max;\n }\n getTickLimit() {\n const tickOpts = this.options.ticks;\n let {maxTicksLimit, stepSize} = tickOpts;\n let maxTicks;\n if (stepSize) {\n maxTicks = Math.ceil(this.max / stepSize) - Math.floor(this.min / stepSize) + 1;\n if (maxTicks > 1000) {\n console.warn(`scales.${this.id}.ticks.stepSize: ${stepSize} would result generating up to ${maxTicks} ticks. Limiting to 1000.`);\n maxTicks = 1000;\n }\n } else {\n maxTicks = this.computeTickLimit();\n maxTicksLimit = maxTicksLimit || 11;\n }\n if (maxTicksLimit) {\n maxTicks = Math.min(maxTicksLimit, maxTicks);\n }\n return maxTicks;\n }\n computeTickLimit() {\n return Number.POSITIVE_INFINITY;\n }\n buildTicks() {\n const opts = this.options;\n const tickOpts = opts.ticks;\n let maxTicks = this.getTickLimit();\n maxTicks = Math.max(2, maxTicks);\n const numericGeneratorOptions = {\n maxTicks,\n bounds: opts.bounds,\n min: opts.min,\n max: opts.max,\n precision: tickOpts.precision,\n step: tickOpts.stepSize,\n count: tickOpts.count,\n maxDigits: this._maxDigits(),\n horizontal: this.isHorizontal(),\n minRotation: tickOpts.minRotation || 0,\n includeBounds: tickOpts.includeBounds !== false\n };\n const dataRange = this._range || this;\n const ticks = generateTicks$1(numericGeneratorOptions, dataRange);\n if (opts.bounds === 'ticks') {\n _setMinAndMaxByKey(ticks, this, 'value');\n }\n if (opts.reverse) {\n ticks.reverse();\n this.start = this.max;\n this.end = this.min;\n } else {\n this.start = this.min;\n this.end = this.max;\n }\n return ticks;\n }\n configure() {\n const ticks = this.ticks;\n let start = this.min;\n let end = this.max;\n super.configure();\n if (this.options.offset && ticks.length) {\n const offset = (end - start) / Math.max(ticks.length - 1, 1) / 2;\n start -= offset;\n end += offset;\n }\n this._startValue = start;\n this._endValue = end;\n this._valueRange = end - start;\n }\n getLabelForValue(value) {\n return formatNumber(value, this.chart.options.locale, this.options.ticks.format);\n }\n}\n\nclass LinearScale extends LinearScaleBase {\n determineDataLimits() {\n const {min, max} = this.getMinMax(true);\n this.min = isNumberFinite(min) ? min : 0;\n this.max = isNumberFinite(max) ? max : 1;\n this.handleTickRangeOptions();\n }\n computeTickLimit() {\n const horizontal = this.isHorizontal();\n const length = horizontal ? this.width : this.height;\n const minRotation = toRadians(this.options.ticks.minRotation);\n const ratio = (horizontal ? Math.sin(minRotation) : Math.cos(minRotation)) || 0.001;\n const tickFont = this._resolveTickFontOptions(0);\n return Math.ceil(length / Math.min(40, tickFont.lineHeight / ratio));\n }\n getPixelForValue(value) {\n return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange);\n }\n getValueForPixel(pixel) {\n return this._startValue + this.getDecimalForPixel(pixel) * this._valueRange;\n }\n}\nLinearScale.id = 'linear';\nLinearScale.defaults = {\n ticks: {\n callback: Ticks.formatters.numeric\n }\n};\n\nfunction isMajor(tickVal) {\n const remain = tickVal / (Math.pow(10, Math.floor(log10(tickVal))));\n return remain === 1;\n}\nfunction generateTicks(generationOptions, dataRange) {\n const endExp = Math.floor(log10(dataRange.max));\n const endSignificand = Math.ceil(dataRange.max / Math.pow(10, endExp));\n const ticks = [];\n let tickVal = finiteOrDefault(generationOptions.min, Math.pow(10, Math.floor(log10(dataRange.min))));\n let exp = Math.floor(log10(tickVal));\n let significand = Math.floor(tickVal / Math.pow(10, exp));\n let precision = exp < 0 ? Math.pow(10, Math.abs(exp)) : 1;\n do {\n ticks.push({value: tickVal, major: isMajor(tickVal)});\n ++significand;\n if (significand === 10) {\n significand = 1;\n ++exp;\n precision = exp >= 0 ? 1 : precision;\n }\n tickVal = Math.round(significand * Math.pow(10, exp) * precision) / precision;\n } while (exp < endExp || (exp === endExp && significand < endSignificand));\n const lastTick = finiteOrDefault(generationOptions.max, tickVal);\n ticks.push({value: lastTick, major: isMajor(tickVal)});\n return ticks;\n}\nclass LogarithmicScale extends Scale {\n constructor(cfg) {\n super(cfg);\n this.start = undefined;\n this.end = undefined;\n this._startValue = undefined;\n this._valueRange = 0;\n }\n parse(raw, index) {\n const value = LinearScaleBase.prototype.parse.apply(this, [raw, index]);\n if (value === 0) {\n this._zero = true;\n return undefined;\n }\n return isNumberFinite(value) && value > 0 ? value : null;\n }\n determineDataLimits() {\n const {min, max} = this.getMinMax(true);\n this.min = isNumberFinite(min) ? Math.max(0, min) : null;\n this.max = isNumberFinite(max) ? Math.max(0, max) : null;\n if (this.options.beginAtZero) {\n this._zero = true;\n }\n this.handleTickRangeOptions();\n }\n handleTickRangeOptions() {\n const {minDefined, maxDefined} = this.getUserBounds();\n let min = this.min;\n let max = this.max;\n const setMin = v => (min = minDefined ? min : v);\n const setMax = v => (max = maxDefined ? max : v);\n const exp = (v, m) => Math.pow(10, Math.floor(log10(v)) + m);\n if (min === max) {\n if (min <= 0) {\n setMin(1);\n setMax(10);\n } else {\n setMin(exp(min, -1));\n setMax(exp(max, +1));\n }\n }\n if (min <= 0) {\n setMin(exp(max, -1));\n }\n if (max <= 0) {\n setMax(exp(min, +1));\n }\n if (this._zero && this.min !== this._suggestedMin && min === exp(this.min, 0)) {\n setMin(exp(min, -1));\n }\n this.min = min;\n this.max = max;\n }\n buildTicks() {\n const opts = this.options;\n const generationOptions = {\n min: this._userMin,\n max: this._userMax\n };\n const ticks = generateTicks(generationOptions, this);\n if (opts.bounds === 'ticks') {\n _setMinAndMaxByKey(ticks, this, 'value');\n }\n if (opts.reverse) {\n ticks.reverse();\n this.start = this.max;\n this.end = this.min;\n } else {\n this.start = this.min;\n this.end = this.max;\n }\n return ticks;\n }\n getLabelForValue(value) {\n return value === undefined\n ? '0'\n : formatNumber(value, this.chart.options.locale, this.options.ticks.format);\n }\n configure() {\n const start = this.min;\n super.configure();\n this._startValue = log10(start);\n this._valueRange = log10(this.max) - log10(start);\n }\n getPixelForValue(value) {\n if (value === undefined || value === 0) {\n value = this.min;\n }\n if (value === null || isNaN(value)) {\n return NaN;\n }\n return this.getPixelForDecimal(value === this.min\n ? 0\n : (log10(value) - this._startValue) / this._valueRange);\n }\n getValueForPixel(pixel) {\n const decimal = this.getDecimalForPixel(pixel);\n return Math.pow(10, this._startValue + decimal * this._valueRange);\n }\n}\nLogarithmicScale.id = 'logarithmic';\nLogarithmicScale.defaults = {\n ticks: {\n callback: Ticks.formatters.logarithmic,\n major: {\n enabled: true\n }\n }\n};\n\nfunction getTickBackdropHeight(opts) {\n const tickOpts = opts.ticks;\n if (tickOpts.display && opts.display) {\n const padding = toPadding(tickOpts.backdropPadding);\n return valueOrDefault(tickOpts.font && tickOpts.font.size, defaults.font.size) + padding.height;\n }\n return 0;\n}\nfunction measureLabelSize(ctx, font, label) {\n label = isArray(label) ? label : [label];\n return {\n w: _longestText(ctx, font.string, label),\n h: label.length * font.lineHeight\n };\n}\nfunction determineLimits(angle, pos, size, min, max) {\n if (angle === min || angle === max) {\n return {\n start: pos - (size / 2),\n end: pos + (size / 2)\n };\n } else if (angle < min || angle > max) {\n return {\n start: pos - size,\n end: pos\n };\n }\n return {\n start: pos,\n end: pos + size\n };\n}\nfunction fitWithPointLabels(scale) {\n const orig = {\n l: scale.left + scale._padding.left,\n r: scale.right - scale._padding.right,\n t: scale.top + scale._padding.top,\n b: scale.bottom - scale._padding.bottom\n };\n const limits = Object.assign({}, orig);\n const labelSizes = [];\n const padding = [];\n const valueCount = scale._pointLabels.length;\n const pointLabelOpts = scale.options.pointLabels;\n const additionalAngle = pointLabelOpts.centerPointLabels ? PI / valueCount : 0;\n for (let i = 0; i < valueCount; i++) {\n const opts = pointLabelOpts.setContext(scale.getPointLabelContext(i));\n padding[i] = opts.padding;\n const pointPosition = scale.getPointPosition(i, scale.drawingArea + padding[i], additionalAngle);\n const plFont = toFont(opts.font);\n const textSize = measureLabelSize(scale.ctx, plFont, scale._pointLabels[i]);\n labelSizes[i] = textSize;\n const angleRadians = _normalizeAngle(scale.getIndexAngle(i) + additionalAngle);\n const angle = Math.round(toDegrees(angleRadians));\n const hLimits = determineLimits(angle, pointPosition.x, textSize.w, 0, 180);\n const vLimits = determineLimits(angle, pointPosition.y, textSize.h, 90, 270);\n updateLimits(limits, orig, angleRadians, hLimits, vLimits);\n }\n scale.setCenterPoint(\n orig.l - limits.l,\n limits.r - orig.r,\n orig.t - limits.t,\n limits.b - orig.b\n );\n scale._pointLabelItems = buildPointLabelItems(scale, labelSizes, padding);\n}\nfunction updateLimits(limits, orig, angle, hLimits, vLimits) {\n const sin = Math.abs(Math.sin(angle));\n const cos = Math.abs(Math.cos(angle));\n let x = 0;\n let y = 0;\n if (hLimits.start < orig.l) {\n x = (orig.l - hLimits.start) / sin;\n limits.l = Math.min(limits.l, orig.l - x);\n } else if (hLimits.end > orig.r) {\n x = (hLimits.end - orig.r) / sin;\n limits.r = Math.max(limits.r, orig.r + x);\n }\n if (vLimits.start < orig.t) {\n y = (orig.t - vLimits.start) / cos;\n limits.t = Math.min(limits.t, orig.t - y);\n } else if (vLimits.end > orig.b) {\n y = (vLimits.end - orig.b) / cos;\n limits.b = Math.max(limits.b, orig.b + y);\n }\n}\nfunction buildPointLabelItems(scale, labelSizes, padding) {\n const items = [];\n const valueCount = scale._pointLabels.length;\n const opts = scale.options;\n const extra = getTickBackdropHeight(opts) / 2;\n const outerDistance = scale.drawingArea;\n const additionalAngle = opts.pointLabels.centerPointLabels ? PI / valueCount : 0;\n for (let i = 0; i < valueCount; i++) {\n const pointLabelPosition = scale.getPointPosition(i, outerDistance + extra + padding[i], additionalAngle);\n const angle = Math.round(toDegrees(_normalizeAngle(pointLabelPosition.angle + HALF_PI)));\n const size = labelSizes[i];\n const y = yForAngle(pointLabelPosition.y, size.h, angle);\n const textAlign = getTextAlignForAngle(angle);\n const left = leftForTextAlign(pointLabelPosition.x, size.w, textAlign);\n items.push({\n x: pointLabelPosition.x,\n y,\n textAlign,\n left,\n top: y,\n right: left + size.w,\n bottom: y + size.h\n });\n }\n return items;\n}\nfunction getTextAlignForAngle(angle) {\n if (angle === 0 || angle === 180) {\n return 'center';\n } else if (angle < 180) {\n return 'left';\n }\n return 'right';\n}\nfunction leftForTextAlign(x, w, align) {\n if (align === 'right') {\n x -= w;\n } else if (align === 'center') {\n x -= (w / 2);\n }\n return x;\n}\nfunction yForAngle(y, h, angle) {\n if (angle === 90 || angle === 270) {\n y -= (h / 2);\n } else if (angle > 270 || angle < 90) {\n y -= h;\n }\n return y;\n}\nfunction drawPointLabels(scale, labelCount) {\n const {ctx, options: {pointLabels}} = scale;\n for (let i = labelCount - 1; i >= 0; i--) {\n const optsAtIndex = pointLabels.setContext(scale.getPointLabelContext(i));\n const plFont = toFont(optsAtIndex.font);\n const {x, y, textAlign, left, top, right, bottom} = scale._pointLabelItems[i];\n const {backdropColor} = optsAtIndex;\n if (!isNullOrUndef(backdropColor)) {\n const padding = toPadding(optsAtIndex.backdropPadding);\n ctx.fillStyle = backdropColor;\n ctx.fillRect(left - padding.left, top - padding.top, right - left + padding.width, bottom - top + padding.height);\n }\n renderText(\n ctx,\n scale._pointLabels[i],\n x,\n y + (plFont.lineHeight / 2),\n plFont,\n {\n color: optsAtIndex.color,\n textAlign: textAlign,\n textBaseline: 'middle'\n }\n );\n }\n}\nfunction pathRadiusLine(scale, radius, circular, labelCount) {\n const {ctx} = scale;\n if (circular) {\n ctx.arc(scale.xCenter, scale.yCenter, radius, 0, TAU);\n } else {\n let pointPosition = scale.getPointPosition(0, radius);\n ctx.moveTo(pointPosition.x, pointPosition.y);\n for (let i = 1; i < labelCount; i++) {\n pointPosition = scale.getPointPosition(i, radius);\n ctx.lineTo(pointPosition.x, pointPosition.y);\n }\n }\n}\nfunction drawRadiusLine(scale, gridLineOpts, radius, labelCount) {\n const ctx = scale.ctx;\n const circular = gridLineOpts.circular;\n const {color, lineWidth} = gridLineOpts;\n if ((!circular && !labelCount) || !color || !lineWidth || radius < 0) {\n return;\n }\n ctx.save();\n ctx.strokeStyle = color;\n ctx.lineWidth = lineWidth;\n ctx.setLineDash(gridLineOpts.borderDash);\n ctx.lineDashOffset = gridLineOpts.borderDashOffset;\n ctx.beginPath();\n pathRadiusLine(scale, radius, circular, labelCount);\n ctx.closePath();\n ctx.stroke();\n ctx.restore();\n}\nfunction createPointLabelContext(parent, index, label) {\n return createContext(parent, {\n label,\n index,\n type: 'pointLabel'\n });\n}\nclass RadialLinearScale extends LinearScaleBase {\n constructor(cfg) {\n super(cfg);\n this.xCenter = undefined;\n this.yCenter = undefined;\n this.drawingArea = undefined;\n this._pointLabels = [];\n this._pointLabelItems = [];\n }\n setDimensions() {\n const padding = this._padding = toPadding(getTickBackdropHeight(this.options) / 2);\n const w = this.width = this.maxWidth - padding.width;\n const h = this.height = this.maxHeight - padding.height;\n this.xCenter = Math.floor(this.left + w / 2 + padding.left);\n this.yCenter = Math.floor(this.top + h / 2 + padding.top);\n this.drawingArea = Math.floor(Math.min(w, h) / 2);\n }\n determineDataLimits() {\n const {min, max} = this.getMinMax(false);\n this.min = isNumberFinite(min) && !isNaN(min) ? min : 0;\n this.max = isNumberFinite(max) && !isNaN(max) ? max : 0;\n this.handleTickRangeOptions();\n }\n computeTickLimit() {\n return Math.ceil(this.drawingArea / getTickBackdropHeight(this.options));\n }\n generateTickLabels(ticks) {\n LinearScaleBase.prototype.generateTickLabels.call(this, ticks);\n this._pointLabels = this.getLabels()\n .map((value, index) => {\n const label = callback(this.options.pointLabels.callback, [value, index], this);\n return label || label === 0 ? label : '';\n })\n .filter((v, i) => this.chart.getDataVisibility(i));\n }\n fit() {\n const opts = this.options;\n if (opts.display && opts.pointLabels.display) {\n fitWithPointLabels(this);\n } else {\n this.setCenterPoint(0, 0, 0, 0);\n }\n }\n setCenterPoint(leftMovement, rightMovement, topMovement, bottomMovement) {\n this.xCenter += Math.floor((leftMovement - rightMovement) / 2);\n this.yCenter += Math.floor((topMovement - bottomMovement) / 2);\n this.drawingArea -= Math.min(this.drawingArea / 2, Math.max(leftMovement, rightMovement, topMovement, bottomMovement));\n }\n getIndexAngle(index) {\n const angleMultiplier = TAU / (this._pointLabels.length || 1);\n const startAngle = this.options.startAngle || 0;\n return _normalizeAngle(index * angleMultiplier + toRadians(startAngle));\n }\n getDistanceFromCenterForValue(value) {\n if (isNullOrUndef(value)) {\n return NaN;\n }\n const scalingFactor = this.drawingArea / (this.max - this.min);\n if (this.options.reverse) {\n return (this.max - value) * scalingFactor;\n }\n return (value - this.min) * scalingFactor;\n }\n getValueForDistanceFromCenter(distance) {\n if (isNullOrUndef(distance)) {\n return NaN;\n }\n const scaledDistance = distance / (this.drawingArea / (this.max - this.min));\n return this.options.reverse ? this.max - scaledDistance : this.min + scaledDistance;\n }\n getPointLabelContext(index) {\n const pointLabels = this._pointLabels || [];\n if (index >= 0 && index < pointLabels.length) {\n const pointLabel = pointLabels[index];\n return createPointLabelContext(this.getContext(), index, pointLabel);\n }\n }\n getPointPosition(index, distanceFromCenter, additionalAngle = 0) {\n const angle = this.getIndexAngle(index) - HALF_PI + additionalAngle;\n return {\n x: Math.cos(angle) * distanceFromCenter + this.xCenter,\n y: Math.sin(angle) * distanceFromCenter + this.yCenter,\n angle\n };\n }\n getPointPositionForValue(index, value) {\n return this.getPointPosition(index, this.getDistanceFromCenterForValue(value));\n }\n getBasePosition(index) {\n return this.getPointPositionForValue(index || 0, this.getBaseValue());\n }\n getPointLabelPosition(index) {\n const {left, top, right, bottom} = this._pointLabelItems[index];\n return {\n left,\n top,\n right,\n bottom,\n };\n }\n drawBackground() {\n const {backgroundColor, grid: {circular}} = this.options;\n if (backgroundColor) {\n const ctx = this.ctx;\n ctx.save();\n ctx.beginPath();\n pathRadiusLine(this, this.getDistanceFromCenterForValue(this._endValue), circular, this._pointLabels.length);\n ctx.closePath();\n ctx.fillStyle = backgroundColor;\n ctx.fill();\n ctx.restore();\n }\n }\n drawGrid() {\n const ctx = this.ctx;\n const opts = this.options;\n const {angleLines, grid} = opts;\n const labelCount = this._pointLabels.length;\n let i, offset, position;\n if (opts.pointLabels.display) {\n drawPointLabels(this, labelCount);\n }\n if (grid.display) {\n this.ticks.forEach((tick, index) => {\n if (index !== 0) {\n offset = this.getDistanceFromCenterForValue(tick.value);\n const optsAtIndex = grid.setContext(this.getContext(index - 1));\n drawRadiusLine(this, optsAtIndex, offset, labelCount);\n }\n });\n }\n if (angleLines.display) {\n ctx.save();\n for (i = labelCount - 1; i >= 0; i--) {\n const optsAtIndex = angleLines.setContext(this.getPointLabelContext(i));\n const {color, lineWidth} = optsAtIndex;\n if (!lineWidth || !color) {\n continue;\n }\n ctx.lineWidth = lineWidth;\n ctx.strokeStyle = color;\n ctx.setLineDash(optsAtIndex.borderDash);\n ctx.lineDashOffset = optsAtIndex.borderDashOffset;\n offset = this.getDistanceFromCenterForValue(opts.ticks.reverse ? this.min : this.max);\n position = this.getPointPosition(i, offset);\n ctx.beginPath();\n ctx.moveTo(this.xCenter, this.yCenter);\n ctx.lineTo(position.x, position.y);\n ctx.stroke();\n }\n ctx.restore();\n }\n }\n drawBorder() {}\n drawLabels() {\n const ctx = this.ctx;\n const opts = this.options;\n const tickOpts = opts.ticks;\n if (!tickOpts.display) {\n return;\n }\n const startAngle = this.getIndexAngle(0);\n let offset, width;\n ctx.save();\n ctx.translate(this.xCenter, this.yCenter);\n ctx.rotate(startAngle);\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n this.ticks.forEach((tick, index) => {\n if (index === 0 && !opts.reverse) {\n return;\n }\n const optsAtIndex = tickOpts.setContext(this.getContext(index));\n const tickFont = toFont(optsAtIndex.font);\n offset = this.getDistanceFromCenterForValue(this.ticks[index].value);\n if (optsAtIndex.showLabelBackdrop) {\n ctx.font = tickFont.string;\n width = ctx.measureText(tick.label).width;\n ctx.fillStyle = optsAtIndex.backdropColor;\n const padding = toPadding(optsAtIndex.backdropPadding);\n ctx.fillRect(\n -width / 2 - padding.left,\n -offset - tickFont.size / 2 - padding.top,\n width + padding.width,\n tickFont.size + padding.height\n );\n }\n renderText(ctx, tick.label, 0, -offset, tickFont, {\n color: optsAtIndex.color,\n });\n });\n ctx.restore();\n }\n drawTitle() {}\n}\nRadialLinearScale.id = 'radialLinear';\nRadialLinearScale.defaults = {\n display: true,\n animate: true,\n position: 'chartArea',\n angleLines: {\n display: true,\n lineWidth: 1,\n borderDash: [],\n borderDashOffset: 0.0\n },\n grid: {\n circular: false\n },\n startAngle: 0,\n ticks: {\n showLabelBackdrop: true,\n callback: Ticks.formatters.numeric\n },\n pointLabels: {\n backdropColor: undefined,\n backdropPadding: 2,\n display: true,\n font: {\n size: 10\n },\n callback(label) {\n return label;\n },\n padding: 5,\n centerPointLabels: false\n }\n};\nRadialLinearScale.defaultRoutes = {\n 'angleLines.color': 'borderColor',\n 'pointLabels.color': 'color',\n 'ticks.color': 'color'\n};\nRadialLinearScale.descriptors = {\n angleLines: {\n _fallback: 'grid'\n }\n};\n\nconst INTERVALS = {\n millisecond: {common: true, size: 1, steps: 1000},\n second: {common: true, size: 1000, steps: 60},\n minute: {common: true, size: 60000, steps: 60},\n hour: {common: true, size: 3600000, steps: 24},\n day: {common: true, size: 86400000, steps: 30},\n week: {common: false, size: 604800000, steps: 4},\n month: {common: true, size: 2.628e9, steps: 12},\n quarter: {common: false, size: 7.884e9, steps: 4},\n year: {common: true, size: 3.154e10}\n};\nconst UNITS = (Object.keys(INTERVALS));\nfunction sorter(a, b) {\n return a - b;\n}\nfunction parse(scale, input) {\n if (isNullOrUndef(input)) {\n return null;\n }\n const adapter = scale._adapter;\n const {parser, round, isoWeekday} = scale._parseOpts;\n let value = input;\n if (typeof parser === 'function') {\n value = parser(value);\n }\n if (!isNumberFinite(value)) {\n value = typeof parser === 'string'\n ? adapter.parse(value, parser)\n : adapter.parse(value);\n }\n if (value === null) {\n return null;\n }\n if (round) {\n value = round === 'week' && (isNumber(isoWeekday) || isoWeekday === true)\n ? adapter.startOf(value, 'isoWeek', isoWeekday)\n : adapter.startOf(value, round);\n }\n return +value;\n}\nfunction determineUnitForAutoTicks(minUnit, min, max, capacity) {\n const ilen = UNITS.length;\n for (let i = UNITS.indexOf(minUnit); i < ilen - 1; ++i) {\n const interval = INTERVALS[UNITS[i]];\n const factor = interval.steps ? interval.steps : Number.MAX_SAFE_INTEGER;\n if (interval.common && Math.ceil((max - min) / (factor * interval.size)) <= capacity) {\n return UNITS[i];\n }\n }\n return UNITS[ilen - 1];\n}\nfunction determineUnitForFormatting(scale, numTicks, minUnit, min, max) {\n for (let i = UNITS.length - 1; i >= UNITS.indexOf(minUnit); i--) {\n const unit = UNITS[i];\n if (INTERVALS[unit].common && scale._adapter.diff(max, min, unit) >= numTicks - 1) {\n return unit;\n }\n }\n return UNITS[minUnit ? UNITS.indexOf(minUnit) : 0];\n}\nfunction determineMajorUnit(unit) {\n for (let i = UNITS.indexOf(unit) + 1, ilen = UNITS.length; i < ilen; ++i) {\n if (INTERVALS[UNITS[i]].common) {\n return UNITS[i];\n }\n }\n}\nfunction addTick(ticks, time, timestamps) {\n if (!timestamps) {\n ticks[time] = true;\n } else if (timestamps.length) {\n const {lo, hi} = _lookup(timestamps, time);\n const timestamp = timestamps[lo] >= time ? timestamps[lo] : timestamps[hi];\n ticks[timestamp] = true;\n }\n}\nfunction setMajorTicks(scale, ticks, map, majorUnit) {\n const adapter = scale._adapter;\n const first = +adapter.startOf(ticks[0].value, majorUnit);\n const last = ticks[ticks.length - 1].value;\n let major, index;\n for (major = first; major <= last; major = +adapter.add(major, 1, majorUnit)) {\n index = map[major];\n if (index >= 0) {\n ticks[index].major = true;\n }\n }\n return ticks;\n}\nfunction ticksFromTimestamps(scale, values, majorUnit) {\n const ticks = [];\n const map = {};\n const ilen = values.length;\n let i, value;\n for (i = 0; i < ilen; ++i) {\n value = values[i];\n map[value] = i;\n ticks.push({\n value,\n major: false\n });\n }\n return (ilen === 0 || !majorUnit) ? ticks : setMajorTicks(scale, ticks, map, majorUnit);\n}\nclass TimeScale extends Scale {\n constructor(props) {\n super(props);\n this._cache = {\n data: [],\n labels: [],\n all: []\n };\n this._unit = 'day';\n this._majorUnit = undefined;\n this._offsets = {};\n this._normalized = false;\n this._parseOpts = undefined;\n }\n init(scaleOpts, opts) {\n const time = scaleOpts.time || (scaleOpts.time = {});\n const adapter = this._adapter = new adapters._date(scaleOpts.adapters.date);\n mergeIf(time.displayFormats, adapter.formats());\n this._parseOpts = {\n parser: time.parser,\n round: time.round,\n isoWeekday: time.isoWeekday\n };\n super.init(scaleOpts);\n this._normalized = opts.normalized;\n }\n parse(raw, index) {\n if (raw === undefined) {\n return null;\n }\n return parse(this, raw);\n }\n beforeLayout() {\n super.beforeLayout();\n this._cache = {\n data: [],\n labels: [],\n all: []\n };\n }\n determineDataLimits() {\n const options = this.options;\n const adapter = this._adapter;\n const unit = options.time.unit || 'day';\n let {min, max, minDefined, maxDefined} = this.getUserBounds();\n function _applyBounds(bounds) {\n if (!minDefined && !isNaN(bounds.min)) {\n min = Math.min(min, bounds.min);\n }\n if (!maxDefined && !isNaN(bounds.max)) {\n max = Math.max(max, bounds.max);\n }\n }\n if (!minDefined || !maxDefined) {\n _applyBounds(this._getLabelBounds());\n if (options.bounds !== 'ticks' || options.ticks.source !== 'labels') {\n _applyBounds(this.getMinMax(false));\n }\n }\n min = isNumberFinite(min) && !isNaN(min) ? min : +adapter.startOf(Date.now(), unit);\n max = isNumberFinite(max) && !isNaN(max) ? max : +adapter.endOf(Date.now(), unit) + 1;\n this.min = Math.min(min, max - 1);\n this.max = Math.max(min + 1, max);\n }\n _getLabelBounds() {\n const arr = this.getLabelTimestamps();\n let min = Number.POSITIVE_INFINITY;\n let max = Number.NEGATIVE_INFINITY;\n if (arr.length) {\n min = arr[0];\n max = arr[arr.length - 1];\n }\n return {min, max};\n }\n buildTicks() {\n const options = this.options;\n const timeOpts = options.time;\n const tickOpts = options.ticks;\n const timestamps = tickOpts.source === 'labels' ? this.getLabelTimestamps() : this._generate();\n if (options.bounds === 'ticks' && timestamps.length) {\n this.min = this._userMin || timestamps[0];\n this.max = this._userMax || timestamps[timestamps.length - 1];\n }\n const min = this.min;\n const max = this.max;\n const ticks = _filterBetween(timestamps, min, max);\n this._unit = timeOpts.unit || (tickOpts.autoSkip\n ? determineUnitForAutoTicks(timeOpts.minUnit, this.min, this.max, this._getLabelCapacity(min))\n : determineUnitForFormatting(this, ticks.length, timeOpts.minUnit, this.min, this.max));\n this._majorUnit = !tickOpts.major.enabled || this._unit === 'year' ? undefined\n : determineMajorUnit(this._unit);\n this.initOffsets(timestamps);\n if (options.reverse) {\n ticks.reverse();\n }\n return ticksFromTimestamps(this, ticks, this._majorUnit);\n }\n initOffsets(timestamps) {\n let start = 0;\n let end = 0;\n let first, last;\n if (this.options.offset && timestamps.length) {\n first = this.getDecimalForValue(timestamps[0]);\n if (timestamps.length === 1) {\n start = 1 - first;\n } else {\n start = (this.getDecimalForValue(timestamps[1]) - first) / 2;\n }\n last = this.getDecimalForValue(timestamps[timestamps.length - 1]);\n if (timestamps.length === 1) {\n end = last;\n } else {\n end = (last - this.getDecimalForValue(timestamps[timestamps.length - 2])) / 2;\n }\n }\n const limit = timestamps.length < 3 ? 0.5 : 0.25;\n start = _limitValue(start, 0, limit);\n end = _limitValue(end, 0, limit);\n this._offsets = {start, end, factor: 1 / (start + 1 + end)};\n }\n _generate() {\n const adapter = this._adapter;\n const min = this.min;\n const max = this.max;\n const options = this.options;\n const timeOpts = options.time;\n const minor = timeOpts.unit || determineUnitForAutoTicks(timeOpts.minUnit, min, max, this._getLabelCapacity(min));\n const stepSize = valueOrDefault(timeOpts.stepSize, 1);\n const weekday = minor === 'week' ? timeOpts.isoWeekday : false;\n const hasWeekday = isNumber(weekday) || weekday === true;\n const ticks = {};\n let first = min;\n let time, count;\n if (hasWeekday) {\n first = +adapter.startOf(first, 'isoWeek', weekday);\n }\n first = +adapter.startOf(first, hasWeekday ? 'day' : minor);\n if (adapter.diff(max, min, minor) > 100000 * stepSize) {\n throw new Error(min + ' and ' + max + ' are too far apart with stepSize of ' + stepSize + ' ' + minor);\n }\n const timestamps = options.ticks.source === 'data' && this.getDataTimestamps();\n for (time = first, count = 0; time < max; time = +adapter.add(time, stepSize, minor), count++) {\n addTick(ticks, time, timestamps);\n }\n if (time === max || options.bounds === 'ticks' || count === 1) {\n addTick(ticks, time, timestamps);\n }\n return Object.keys(ticks).sort((a, b) => a - b).map(x => +x);\n }\n getLabelForValue(value) {\n const adapter = this._adapter;\n const timeOpts = this.options.time;\n if (timeOpts.tooltipFormat) {\n return adapter.format(value, timeOpts.tooltipFormat);\n }\n return adapter.format(value, timeOpts.displayFormats.datetime);\n }\n _tickFormatFunction(time, index, ticks, format) {\n const options = this.options;\n const formats = options.time.displayFormats;\n const unit = this._unit;\n const majorUnit = this._majorUnit;\n const minorFormat = unit && formats[unit];\n const majorFormat = majorUnit && formats[majorUnit];\n const tick = ticks[index];\n const major = majorUnit && majorFormat && tick && tick.major;\n const label = this._adapter.format(time, format || (major ? majorFormat : minorFormat));\n const formatter = options.ticks.callback;\n return formatter ? callback(formatter, [label, index, ticks], this) : label;\n }\n generateTickLabels(ticks) {\n let i, ilen, tick;\n for (i = 0, ilen = ticks.length; i < ilen; ++i) {\n tick = ticks[i];\n tick.label = this._tickFormatFunction(tick.value, i, ticks);\n }\n }\n getDecimalForValue(value) {\n return value === null ? NaN : (value - this.min) / (this.max - this.min);\n }\n getPixelForValue(value) {\n const offsets = this._offsets;\n const pos = this.getDecimalForValue(value);\n return this.getPixelForDecimal((offsets.start + pos) * offsets.factor);\n }\n getValueForPixel(pixel) {\n const offsets = this._offsets;\n const pos = this.getDecimalForPixel(pixel) / offsets.factor - offsets.end;\n return this.min + pos * (this.max - this.min);\n }\n _getLabelSize(label) {\n const ticksOpts = this.options.ticks;\n const tickLabelWidth = this.ctx.measureText(label).width;\n const angle = toRadians(this.isHorizontal() ? ticksOpts.maxRotation : ticksOpts.minRotation);\n const cosRotation = Math.cos(angle);\n const sinRotation = Math.sin(angle);\n const tickFontSize = this._resolveTickFontOptions(0).size;\n return {\n w: (tickLabelWidth * cosRotation) + (tickFontSize * sinRotation),\n h: (tickLabelWidth * sinRotation) + (tickFontSize * cosRotation)\n };\n }\n _getLabelCapacity(exampleTime) {\n const timeOpts = this.options.time;\n const displayFormats = timeOpts.displayFormats;\n const format = displayFormats[timeOpts.unit] || displayFormats.millisecond;\n const exampleLabel = this._tickFormatFunction(exampleTime, 0, ticksFromTimestamps(this, [exampleTime], this._majorUnit), format);\n const size = this._getLabelSize(exampleLabel);\n const capacity = Math.floor(this.isHorizontal() ? this.width / size.w : this.height / size.h) - 1;\n return capacity > 0 ? capacity : 1;\n }\n getDataTimestamps() {\n let timestamps = this._cache.data || [];\n let i, ilen;\n if (timestamps.length) {\n return timestamps;\n }\n const metas = this.getMatchingVisibleMetas();\n if (this._normalized && metas.length) {\n return (this._cache.data = metas[0].controller.getAllParsedValues(this));\n }\n for (i = 0, ilen = metas.length; i < ilen; ++i) {\n timestamps = timestamps.concat(metas[i].controller.getAllParsedValues(this));\n }\n return (this._cache.data = this.normalize(timestamps));\n }\n getLabelTimestamps() {\n const timestamps = this._cache.labels || [];\n let i, ilen;\n if (timestamps.length) {\n return timestamps;\n }\n const labels = this.getLabels();\n for (i = 0, ilen = labels.length; i < ilen; ++i) {\n timestamps.push(parse(this, labels[i]));\n }\n return (this._cache.labels = this._normalized ? timestamps : this.normalize(timestamps));\n }\n normalize(values) {\n return _arrayUnique(values.sort(sorter));\n }\n}\nTimeScale.id = 'time';\nTimeScale.defaults = {\n bounds: 'data',\n adapters: {},\n time: {\n parser: false,\n unit: false,\n round: false,\n isoWeekday: false,\n minUnit: 'millisecond',\n displayFormats: {}\n },\n ticks: {\n source: 'auto',\n major: {\n enabled: false\n }\n }\n};\n\nfunction interpolate(table, val, reverse) {\n let lo = 0;\n let hi = table.length - 1;\n let prevSource, nextSource, prevTarget, nextTarget;\n if (reverse) {\n if (val >= table[lo].pos && val <= table[hi].pos) {\n ({lo, hi} = _lookupByKey(table, 'pos', val));\n }\n ({pos: prevSource, time: prevTarget} = table[lo]);\n ({pos: nextSource, time: nextTarget} = table[hi]);\n } else {\n if (val >= table[lo].time && val <= table[hi].time) {\n ({lo, hi} = _lookupByKey(table, 'time', val));\n }\n ({time: prevSource, pos: prevTarget} = table[lo]);\n ({time: nextSource, pos: nextTarget} = table[hi]);\n }\n const span = nextSource - prevSource;\n return span ? prevTarget + (nextTarget - prevTarget) * (val - prevSource) / span : prevTarget;\n}\nclass TimeSeriesScale extends TimeScale {\n constructor(props) {\n super(props);\n this._table = [];\n this._minPos = undefined;\n this._tableRange = undefined;\n }\n initOffsets() {\n const timestamps = this._getTimestampsForTable();\n const table = this._table = this.buildLookupTable(timestamps);\n this._minPos = interpolate(table, this.min);\n this._tableRange = interpolate(table, this.max) - this._minPos;\n super.initOffsets(timestamps);\n }\n buildLookupTable(timestamps) {\n const {min, max} = this;\n const items = [];\n const table = [];\n let i, ilen, prev, curr, next;\n for (i = 0, ilen = timestamps.length; i < ilen; ++i) {\n curr = timestamps[i];\n if (curr >= min && curr <= max) {\n items.push(curr);\n }\n }\n if (items.length < 2) {\n return [\n {time: min, pos: 0},\n {time: max, pos: 1}\n ];\n }\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n next = items[i + 1];\n prev = items[i - 1];\n curr = items[i];\n if (Math.round((next + prev) / 2) !== curr) {\n table.push({time: curr, pos: i / (ilen - 1)});\n }\n }\n return table;\n }\n _getTimestampsForTable() {\n let timestamps = this._cache.all || [];\n if (timestamps.length) {\n return timestamps;\n }\n const data = this.getDataTimestamps();\n const label = this.getLabelTimestamps();\n if (data.length && label.length) {\n timestamps = this.normalize(data.concat(label));\n } else {\n timestamps = data.length ? data : label;\n }\n timestamps = this._cache.all = timestamps;\n return timestamps;\n }\n getDecimalForValue(value) {\n return (interpolate(this._table, value) - this._minPos) / this._tableRange;\n }\n getValueForPixel(pixel) {\n const offsets = this._offsets;\n const decimal = this.getDecimalForPixel(pixel) / offsets.factor - offsets.end;\n return interpolate(this._table, decimal * this._tableRange + this._minPos, true);\n }\n}\nTimeSeriesScale.id = 'timeseries';\nTimeSeriesScale.defaults = TimeScale.defaults;\n\nvar scales = /*#__PURE__*/Object.freeze({\n__proto__: null,\nCategoryScale: CategoryScale,\nLinearScale: LinearScale,\nLogarithmicScale: LogarithmicScale,\nRadialLinearScale: RadialLinearScale,\nTimeScale: TimeScale,\nTimeSeriesScale: TimeSeriesScale\n});\n\nconst registerables = [\n controllers,\n elements,\n plugins,\n scales,\n];\n\nexport { Animation, Animations, ArcElement, BarController, BarElement, BasePlatform, BasicPlatform, BubbleController, CategoryScale, Chart, DatasetController, plugin_decimation as Decimation, DomPlatform, DoughnutController, Element, plugin_filler as Filler, Interaction, plugin_legend as Legend, LineController, LineElement, LinearScale, LogarithmicScale, PieController, PointElement, PolarAreaController, RadarController, RadialLinearScale, Scale, ScatterController, plugin_subtitle as SubTitle, Ticks, TimeScale, TimeSeriesScale, plugin_title as Title, plugin_tooltip as Tooltip, adapters as _adapters, _detectPlatform, animator, controllers, elements, layouts, plugins, registerables, registry, scales };\n","import type { MouseEvent } from 'react';\nimport type {\n ChartType,\n ChartData,\n DefaultDataPoint,\n ChartDataset,\n ChartOptions,\n Chart,\n} from 'chart.js';\n\nimport type { ForwardedRef } from './types';\n\nconst defaultDatasetIdKey = 'label';\n\nexport function reforwardRef(ref: ForwardedRef, value: T) {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref) {\n ref.current = value;\n }\n}\n\nexport function setOptions<\n TType extends ChartType = ChartType,\n TData = DefaultDataPoint,\n TLabel = unknown\n>(chart: Chart, nextOptions: ChartOptions) {\n chart.options = { ...nextOptions };\n}\n\nexport function setLabels<\n TType extends ChartType = ChartType,\n TData = DefaultDataPoint,\n TLabel = unknown\n>(\n currentData: ChartData,\n nextLabels: TLabel[] | undefined\n) {\n currentData.labels = nextLabels;\n}\n\nexport function setDatasets<\n TType extends ChartType = ChartType,\n TData = DefaultDataPoint,\n TLabel = unknown\n>(\n currentData: ChartData,\n nextDatasets: ChartDataset[],\n datasetIdKey = defaultDatasetIdKey\n) {\n const addedDatasets: ChartDataset[] = [];\n\n currentData.datasets = nextDatasets.map(nextDataset => {\n // given the new set, find it's current match\n const currentDataset = currentData.datasets.find(\n dataset => dataset[datasetIdKey] === nextDataset[datasetIdKey]\n );\n\n // There is no original to update, so simply add new one\n if (\n !currentDataset ||\n !nextDataset.data ||\n addedDatasets.includes(currentDataset)\n ) {\n return { ...nextDataset };\n }\n\n addedDatasets.push(currentDataset);\n\n Object.assign(currentDataset, nextDataset);\n\n return currentDataset;\n });\n}\n\nexport function cloneData<\n TType extends ChartType = ChartType,\n TData = DefaultDataPoint,\n TLabel = unknown\n>(data: ChartData, datasetIdKey = defaultDatasetIdKey) {\n const nextData: ChartData = {\n labels: [],\n datasets: [],\n };\n\n setLabels(nextData, data.labels);\n setDatasets(nextData, data.datasets, datasetIdKey);\n\n return nextData;\n}\n\n/**\n * Get dataset from mouse click event\n * @param chart - Chart.js instance\n * @param event - Mouse click event\n * @returns Dataset\n */\nexport function getDatasetAtEvent(\n chart: Chart,\n event: MouseEvent\n) {\n return chart.getElementsAtEventForMode(\n event.nativeEvent,\n 'dataset',\n { intersect: true },\n false\n );\n}\n\n/**\n * Get single dataset element from mouse click event\n * @param chart - Chart.js instance\n * @param event - Mouse click event\n * @returns Dataset\n */\nexport function getElementAtEvent(\n chart: Chart,\n event: MouseEvent\n) {\n return chart.getElementsAtEventForMode(\n event.nativeEvent,\n 'nearest',\n { intersect: true },\n false\n );\n}\n\n/**\n * Get all dataset elements from mouse click event\n * @param chart - Chart.js instance\n * @param event - Mouse click event\n * @returns Dataset\n */\nexport function getElementsAtEvent(\n chart: Chart,\n event: MouseEvent\n) {\n return chart.getElementsAtEventForMode(\n event.nativeEvent,\n 'index',\n { intersect: true },\n false\n );\n}\n","import React, { useEffect, useRef, forwardRef } from 'react';\nimport { Chart as ChartJS } from 'chart.js';\nimport type { ChartType, DefaultDataPoint } from 'chart.js';\n\nimport type { ForwardedRef, ChartProps, TypedChartComponent } from './types';\nimport {\n reforwardRef,\n cloneData,\n setOptions,\n setLabels,\n setDatasets,\n} from './utils';\n\nfunction ChartComponent<\n TType extends ChartType = ChartType,\n TData = DefaultDataPoint,\n TLabel = unknown\n>(\n {\n height = 150,\n width = 300,\n redraw = false,\n datasetIdKey,\n type,\n data,\n options,\n plugins = [],\n fallbackContent,\n ...props\n }: ChartProps,\n ref: ForwardedRef>\n) {\n type TypedChartJS = ChartJS;\n\n const canvasRef = useRef(null);\n const chartRef = useRef();\n\n const renderChart = () => {\n if (!canvasRef.current) return;\n\n chartRef.current = new ChartJS(canvasRef.current, {\n type,\n data: cloneData(data, datasetIdKey),\n options,\n plugins,\n });\n\n reforwardRef(ref, chartRef.current);\n };\n\n const destroyChart = () => {\n reforwardRef(ref, null);\n\n if (chartRef.current) {\n chartRef.current.destroy();\n chartRef.current = null;\n }\n };\n\n useEffect(() => {\n if (!redraw && chartRef.current && options) {\n setOptions(chartRef.current, options);\n }\n }, [redraw, options]);\n\n useEffect(() => {\n if (!redraw && chartRef.current) {\n setLabels(chartRef.current.config.data, data.labels);\n }\n }, [redraw, data.labels]);\n\n useEffect(() => {\n if (!redraw && chartRef.current && data.datasets) {\n setDatasets(chartRef.current.config.data, data.datasets, datasetIdKey);\n }\n }, [redraw, data.datasets]);\n\n useEffect(() => {\n if (!chartRef.current) return;\n\n if (redraw) {\n destroyChart();\n setTimeout(renderChart);\n } else {\n chartRef.current.update();\n }\n }, [redraw, options, data.labels, data.datasets]);\n\n useEffect(() => {\n renderChart();\n\n return () => destroyChart();\n }, []);\n\n return (\n \n {fallbackContent}\n \n );\n}\n\nexport const Chart = forwardRef(ChartComponent) as TypedChartComponent;\n","import React, { forwardRef } from 'react';\nimport {\n Chart as ChartJS,\n LineController,\n BarController,\n RadarController,\n DoughnutController,\n PolarAreaController,\n BubbleController,\n PieController,\n ScatterController,\n} from 'chart.js';\nimport type { ChartType, ChartComponentLike } from 'chart.js';\n\nimport type {\n ChartProps,\n ChartJSOrUndefined,\n TypedChartComponent,\n} from './types';\nimport { Chart } from './chart';\n\nfunction createTypedChart(\n type: T,\n registerables: ChartComponentLike\n) {\n ChartJS.register(registerables);\n\n return forwardRef, Omit, 'type'>>(\n (props, ref) => \n ) as TypedChartComponent;\n}\n\nexport const Line = /* #__PURE__ */ createTypedChart('line', LineController);\n\nexport const Bar = /* #__PURE__ */ createTypedChart('bar', BarController);\n\nexport const Radar = /* #__PURE__ */ createTypedChart('radar', RadarController);\n\nexport const Doughnut = /* #__PURE__ */ createTypedChart(\n 'doughnut',\n DoughnutController\n);\n\nexport const PolarArea = /* #__PURE__ */ createTypedChart(\n 'polarArea',\n PolarAreaController\n);\n\nexport const Bubble = /* #__PURE__ */ createTypedChart(\n 'bubble',\n BubbleController\n);\n\nexport const Pie = /* #__PURE__ */ createTypedChart('pie', PieController);\n\nexport const Scatter = /* #__PURE__ */ createTypedChart(\n 'scatter',\n ScatterController\n);\n","/*!\n * chartjs-plugin-datalabels v2.0.0\n * https://chartjs-plugin-datalabels.netlify.app\n * (c) 2017-2021 chartjs-plugin-datalabels contributors\n * Released under the MIT license\n */\nimport { isNullOrUndef, merge, toFont, resolve, toPadding, valueOrDefault, callback, isObject, each } from 'chart.js/helpers';\nimport { defaults as defaults$1, ArcElement, PointElement, BarElement } from 'chart.js';\n\nvar devicePixelRatio = (function() {\n if (typeof window !== 'undefined') {\n if (window.devicePixelRatio) {\n return window.devicePixelRatio;\n }\n\n // devicePixelRatio is undefined on IE10\n // https://stackoverflow.com/a/20204180/8837887\n // https://github.com/chartjs/chartjs-plugin-datalabels/issues/85\n var screen = window.screen;\n if (screen) {\n return (screen.deviceXDPI || 1) / (screen.logicalXDPI || 1);\n }\n }\n\n return 1;\n}());\n\nvar utils = {\n // @todo move this in Chart.helpers.toTextLines\n toTextLines: function(inputs) {\n var lines = [];\n var input;\n\n inputs = [].concat(inputs);\n while (inputs.length) {\n input = inputs.pop();\n if (typeof input === 'string') {\n lines.unshift.apply(lines, input.split('\\n'));\n } else if (Array.isArray(input)) {\n inputs.push.apply(inputs, input);\n } else if (!isNullOrUndef(inputs)) {\n lines.unshift('' + input);\n }\n }\n\n return lines;\n },\n\n // @todo move this in Chart.helpers.canvas.textSize\n // @todo cache calls of measureText if font doesn't change?!\n textSize: function(ctx, lines, font) {\n var items = [].concat(lines);\n var ilen = items.length;\n var prev = ctx.font;\n var width = 0;\n var i;\n\n ctx.font = font.string;\n\n for (i = 0; i < ilen; ++i) {\n width = Math.max(ctx.measureText(items[i]).width, width);\n }\n\n ctx.font = prev;\n\n return {\n height: ilen * font.lineHeight,\n width: width\n };\n },\n\n /**\n * Returns value bounded by min and max. This is equivalent to max(min, min(value, max)).\n * @todo move this method in Chart.helpers.bound\n * https://doc.qt.io/qt-5/qtglobal.html#qBound\n */\n bound: function(min, value, max) {\n return Math.max(min, Math.min(value, max));\n },\n\n /**\n * Returns an array of pair [value, state] where state is:\n * * -1: value is only in a0 (removed)\n * * 1: value is only in a1 (added)\n */\n arrayDiff: function(a0, a1) {\n var prev = a0.slice();\n var updates = [];\n var i, j, ilen, v;\n\n for (i = 0, ilen = a1.length; i < ilen; ++i) {\n v = a1[i];\n j = prev.indexOf(v);\n\n if (j === -1) {\n updates.push([v, 1]);\n } else {\n prev.splice(j, 1);\n }\n }\n\n for (i = 0, ilen = prev.length; i < ilen; ++i) {\n updates.push([prev[i], -1]);\n }\n\n return updates;\n },\n\n /**\n * https://github.com/chartjs/chartjs-plugin-datalabels/issues/70\n */\n rasterize: function(v) {\n return Math.round(v * devicePixelRatio) / devicePixelRatio;\n }\n};\n\nfunction orient(point, origin) {\n var x0 = origin.x;\n var y0 = origin.y;\n\n if (x0 === null) {\n return {x: 0, y: -1};\n }\n if (y0 === null) {\n return {x: 1, y: 0};\n }\n\n var dx = point.x - x0;\n var dy = point.y - y0;\n var ln = Math.sqrt(dx * dx + dy * dy);\n\n return {\n x: ln ? dx / ln : 0,\n y: ln ? dy / ln : -1\n };\n}\n\nfunction aligned(x, y, vx, vy, align) {\n switch (align) {\n case 'center':\n vx = vy = 0;\n break;\n case 'bottom':\n vx = 0;\n vy = 1;\n break;\n case 'right':\n vx = 1;\n vy = 0;\n break;\n case 'left':\n vx = -1;\n vy = 0;\n break;\n case 'top':\n vx = 0;\n vy = -1;\n break;\n case 'start':\n vx = -vx;\n vy = -vy;\n break;\n case 'end':\n // keep natural orientation\n break;\n default:\n // clockwise rotation (in degree)\n align *= (Math.PI / 180);\n vx = Math.cos(align);\n vy = Math.sin(align);\n break;\n }\n\n return {\n x: x,\n y: y,\n vx: vx,\n vy: vy\n };\n}\n\n// Line clipping (Cohen–Sutherland algorithm)\n// https://en.wikipedia.org/wiki/Cohen–Sutherland_algorithm\n\nvar R_INSIDE = 0;\nvar R_LEFT = 1;\nvar R_RIGHT = 2;\nvar R_BOTTOM = 4;\nvar R_TOP = 8;\n\nfunction region(x, y, rect) {\n var res = R_INSIDE;\n\n if (x < rect.left) {\n res |= R_LEFT;\n } else if (x > rect.right) {\n res |= R_RIGHT;\n }\n if (y < rect.top) {\n res |= R_TOP;\n } else if (y > rect.bottom) {\n res |= R_BOTTOM;\n }\n\n return res;\n}\n\nfunction clipped(segment, area) {\n var x0 = segment.x0;\n var y0 = segment.y0;\n var x1 = segment.x1;\n var y1 = segment.y1;\n var r0 = region(x0, y0, area);\n var r1 = region(x1, y1, area);\n var r, x, y;\n\n // eslint-disable-next-line no-constant-condition\n while (true) {\n if (!(r0 | r1) || (r0 & r1)) {\n // both points inside or on the same side: no clipping\n break;\n }\n\n // at least one point is outside\n r = r0 || r1;\n\n if (r & R_TOP) {\n x = x0 + (x1 - x0) * (area.top - y0) / (y1 - y0);\n y = area.top;\n } else if (r & R_BOTTOM) {\n x = x0 + (x1 - x0) * (area.bottom - y0) / (y1 - y0);\n y = area.bottom;\n } else if (r & R_RIGHT) {\n y = y0 + (y1 - y0) * (area.right - x0) / (x1 - x0);\n x = area.right;\n } else if (r & R_LEFT) {\n y = y0 + (y1 - y0) * (area.left - x0) / (x1 - x0);\n x = area.left;\n }\n\n if (r === r0) {\n x0 = x;\n y0 = y;\n r0 = region(x0, y0, area);\n } else {\n x1 = x;\n y1 = y;\n r1 = region(x1, y1, area);\n }\n }\n\n return {\n x0: x0,\n x1: x1,\n y0: y0,\n y1: y1\n };\n}\n\nfunction compute$1(range, config) {\n var anchor = config.anchor;\n var segment = range;\n var x, y;\n\n if (config.clamp) {\n segment = clipped(segment, config.area);\n }\n\n if (anchor === 'start') {\n x = segment.x0;\n y = segment.y0;\n } else if (anchor === 'end') {\n x = segment.x1;\n y = segment.y1;\n } else {\n x = (segment.x0 + segment.x1) / 2;\n y = (segment.y0 + segment.y1) / 2;\n }\n\n return aligned(x, y, range.vx, range.vy, config.align);\n}\n\nvar positioners = {\n arc: function(el, config) {\n var angle = (el.startAngle + el.endAngle) / 2;\n var vx = Math.cos(angle);\n var vy = Math.sin(angle);\n var r0 = el.innerRadius;\n var r1 = el.outerRadius;\n\n return compute$1({\n x0: el.x + vx * r0,\n y0: el.y + vy * r0,\n x1: el.x + vx * r1,\n y1: el.y + vy * r1,\n vx: vx,\n vy: vy\n }, config);\n },\n\n point: function(el, config) {\n var v = orient(el, config.origin);\n var rx = v.x * el.options.radius;\n var ry = v.y * el.options.radius;\n\n return compute$1({\n x0: el.x - rx,\n y0: el.y - ry,\n x1: el.x + rx,\n y1: el.y + ry,\n vx: v.x,\n vy: v.y\n }, config);\n },\n\n bar: function(el, config) {\n var v = orient(el, config.origin);\n var x = el.x;\n var y = el.y;\n var sx = 0;\n var sy = 0;\n\n if (el.horizontal) {\n x = Math.min(el.x, el.base);\n sx = Math.abs(el.base - el.x);\n } else {\n y = Math.min(el.y, el.base);\n sy = Math.abs(el.base - el.y);\n }\n\n return compute$1({\n x0: x,\n y0: y + sy,\n x1: x + sx,\n y1: y,\n vx: v.x,\n vy: v.y\n }, config);\n },\n\n fallback: function(el, config) {\n var v = orient(el, config.origin);\n\n return compute$1({\n x0: el.x,\n y0: el.y,\n x1: el.x,\n y1: el.y,\n vx: v.x,\n vy: v.y\n }, config);\n }\n};\n\nvar rasterize = utils.rasterize;\n\nfunction boundingRects(model) {\n var borderWidth = model.borderWidth || 0;\n var padding = model.padding;\n var th = model.size.height;\n var tw = model.size.width;\n var tx = -tw / 2;\n var ty = -th / 2;\n\n return {\n frame: {\n x: tx - padding.left - borderWidth,\n y: ty - padding.top - borderWidth,\n w: tw + padding.width + borderWidth * 2,\n h: th + padding.height + borderWidth * 2\n },\n text: {\n x: tx,\n y: ty,\n w: tw,\n h: th\n }\n };\n}\n\nfunction getScaleOrigin(el, context) {\n var scale = context.chart.getDatasetMeta(context.datasetIndex).vScale;\n\n if (!scale) {\n return null;\n }\n\n if (scale.xCenter !== undefined && scale.yCenter !== undefined) {\n return {x: scale.xCenter, y: scale.yCenter};\n }\n\n var pixel = scale.getBasePixel();\n return el.horizontal ?\n {x: pixel, y: null} :\n {x: null, y: pixel};\n}\n\nfunction getPositioner(el) {\n if (el instanceof ArcElement) {\n return positioners.arc;\n }\n if (el instanceof PointElement) {\n return positioners.point;\n }\n if (el instanceof BarElement) {\n return positioners.bar;\n }\n return positioners.fallback;\n}\n\nfunction drawRoundedRect(ctx, x, y, w, h, radius) {\n var HALF_PI = Math.PI / 2;\n\n if (radius) {\n var r = Math.min(radius, h / 2, w / 2);\n var left = x + r;\n var top = y + r;\n var right = x + w - r;\n var bottom = y + h - r;\n\n ctx.moveTo(x, top);\n if (left < right && top < bottom) {\n ctx.arc(left, top, r, -Math.PI, -HALF_PI);\n ctx.arc(right, top, r, -HALF_PI, 0);\n ctx.arc(right, bottom, r, 0, HALF_PI);\n ctx.arc(left, bottom, r, HALF_PI, Math.PI);\n } else if (left < right) {\n ctx.moveTo(left, y);\n ctx.arc(right, top, r, -HALF_PI, HALF_PI);\n ctx.arc(left, top, r, HALF_PI, Math.PI + HALF_PI);\n } else if (top < bottom) {\n ctx.arc(left, top, r, -Math.PI, 0);\n ctx.arc(left, bottom, r, 0, Math.PI);\n } else {\n ctx.arc(left, top, r, -Math.PI, Math.PI);\n }\n ctx.closePath();\n ctx.moveTo(x, y);\n } else {\n ctx.rect(x, y, w, h);\n }\n}\n\nfunction drawFrame(ctx, rect, model) {\n var bgColor = model.backgroundColor;\n var borderColor = model.borderColor;\n var borderWidth = model.borderWidth;\n\n if (!bgColor && (!borderColor || !borderWidth)) {\n return;\n }\n\n ctx.beginPath();\n\n drawRoundedRect(\n ctx,\n rasterize(rect.x) + borderWidth / 2,\n rasterize(rect.y) + borderWidth / 2,\n rasterize(rect.w) - borderWidth,\n rasterize(rect.h) - borderWidth,\n model.borderRadius);\n\n ctx.closePath();\n\n if (bgColor) {\n ctx.fillStyle = bgColor;\n ctx.fill();\n }\n\n if (borderColor && borderWidth) {\n ctx.strokeStyle = borderColor;\n ctx.lineWidth = borderWidth;\n ctx.lineJoin = 'miter';\n ctx.stroke();\n }\n}\n\nfunction textGeometry(rect, align, font) {\n var h = font.lineHeight;\n var w = rect.w;\n var x = rect.x;\n var y = rect.y + h / 2;\n\n if (align === 'center') {\n x += w / 2;\n } else if (align === 'end' || align === 'right') {\n x += w;\n }\n\n return {\n h: h,\n w: w,\n x: x,\n y: y\n };\n}\n\nfunction drawTextLine(ctx, text, cfg) {\n var shadow = ctx.shadowBlur;\n var stroked = cfg.stroked;\n var x = rasterize(cfg.x);\n var y = rasterize(cfg.y);\n var w = rasterize(cfg.w);\n\n if (stroked) {\n ctx.strokeText(text, x, y, w);\n }\n\n if (cfg.filled) {\n if (shadow && stroked) {\n // Prevent drawing shadow on both the text stroke and fill, so\n // if the text is stroked, remove the shadow for the text fill.\n ctx.shadowBlur = 0;\n }\n\n ctx.fillText(text, x, y, w);\n\n if (shadow && stroked) {\n ctx.shadowBlur = shadow;\n }\n }\n}\n\nfunction drawText(ctx, lines, rect, model) {\n var align = model.textAlign;\n var color = model.color;\n var filled = !!color;\n var font = model.font;\n var ilen = lines.length;\n var strokeColor = model.textStrokeColor;\n var strokeWidth = model.textStrokeWidth;\n var stroked = strokeColor && strokeWidth;\n var i;\n\n if (!ilen || (!filled && !stroked)) {\n return;\n }\n\n // Adjust coordinates based on text alignment and line height\n rect = textGeometry(rect, align, font);\n\n ctx.font = font.string;\n ctx.textAlign = align;\n ctx.textBaseline = 'middle';\n ctx.shadowBlur = model.textShadowBlur;\n ctx.shadowColor = model.textShadowColor;\n\n if (filled) {\n ctx.fillStyle = color;\n }\n if (stroked) {\n ctx.lineJoin = 'round';\n ctx.lineWidth = strokeWidth;\n ctx.strokeStyle = strokeColor;\n }\n\n for (i = 0, ilen = lines.length; i < ilen; ++i) {\n drawTextLine(ctx, lines[i], {\n stroked: stroked,\n filled: filled,\n w: rect.w,\n x: rect.x,\n y: rect.y + rect.h * i\n });\n }\n}\n\nvar Label = function(config, ctx, el, index) {\n var me = this;\n\n me._config = config;\n me._index = index;\n me._model = null;\n me._rects = null;\n me._ctx = ctx;\n me._el = el;\n};\n\nmerge(Label.prototype, {\n /**\n * @private\n */\n _modelize: function(display, lines, config, context) {\n var me = this;\n var index = me._index;\n var font = toFont(resolve([config.font, {}], context, index));\n var color = resolve([config.color, defaults$1.color], context, index);\n\n return {\n align: resolve([config.align, 'center'], context, index),\n anchor: resolve([config.anchor, 'center'], context, index),\n area: context.chart.chartArea,\n backgroundColor: resolve([config.backgroundColor, null], context, index),\n borderColor: resolve([config.borderColor, null], context, index),\n borderRadius: resolve([config.borderRadius, 0], context, index),\n borderWidth: resolve([config.borderWidth, 0], context, index),\n clamp: resolve([config.clamp, false], context, index),\n clip: resolve([config.clip, false], context, index),\n color: color,\n display: display,\n font: font,\n lines: lines,\n offset: resolve([config.offset, 0], context, index),\n opacity: resolve([config.opacity, 1], context, index),\n origin: getScaleOrigin(me._el, context),\n padding: toPadding(resolve([config.padding, 0], context, index)),\n positioner: getPositioner(me._el),\n rotation: resolve([config.rotation, 0], context, index) * (Math.PI / 180),\n size: utils.textSize(me._ctx, lines, font),\n textAlign: resolve([config.textAlign, 'start'], context, index),\n textShadowBlur: resolve([config.textShadowBlur, 0], context, index),\n textShadowColor: resolve([config.textShadowColor, color], context, index),\n textStrokeColor: resolve([config.textStrokeColor, color], context, index),\n textStrokeWidth: resolve([config.textStrokeWidth, 0], context, index)\n };\n },\n\n update: function(context) {\n var me = this;\n var model = null;\n var rects = null;\n var index = me._index;\n var config = me._config;\n var value, label, lines;\n\n // We first resolve the display option (separately) to avoid computing\n // other options in case the label is hidden (i.e. display: false).\n var display = resolve([config.display, true], context, index);\n\n if (display) {\n value = context.dataset.data[index];\n label = valueOrDefault(callback(config.formatter, [value, context]), value);\n lines = isNullOrUndef(label) ? [] : utils.toTextLines(label);\n\n if (lines.length) {\n model = me._modelize(display, lines, config, context);\n rects = boundingRects(model);\n }\n }\n\n me._model = model;\n me._rects = rects;\n },\n\n geometry: function() {\n return this._rects ? this._rects.frame : {};\n },\n\n rotation: function() {\n return this._model ? this._model.rotation : 0;\n },\n\n visible: function() {\n return this._model && this._model.opacity;\n },\n\n model: function() {\n return this._model;\n },\n\n draw: function(chart, center) {\n var me = this;\n var ctx = chart.ctx;\n var model = me._model;\n var rects = me._rects;\n var area;\n\n if (!this.visible()) {\n return;\n }\n\n ctx.save();\n\n if (model.clip) {\n area = model.area;\n ctx.beginPath();\n ctx.rect(\n area.left,\n area.top,\n area.right - area.left,\n area.bottom - area.top);\n ctx.clip();\n }\n\n ctx.globalAlpha = utils.bound(0, model.opacity, 1);\n ctx.translate(rasterize(center.x), rasterize(center.y));\n ctx.rotate(model.rotation);\n\n drawFrame(ctx, rects.frame, model);\n drawText(ctx, model.lines, rects.text, model);\n\n ctx.restore();\n }\n});\n\nvar MIN_INTEGER = Number.MIN_SAFE_INTEGER || -9007199254740991; // eslint-disable-line es/no-number-minsafeinteger\nvar MAX_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991; // eslint-disable-line es/no-number-maxsafeinteger\n\nfunction rotated(point, center, angle) {\n var cos = Math.cos(angle);\n var sin = Math.sin(angle);\n var cx = center.x;\n var cy = center.y;\n\n return {\n x: cx + cos * (point.x - cx) - sin * (point.y - cy),\n y: cy + sin * (point.x - cx) + cos * (point.y - cy)\n };\n}\n\nfunction projected(points, axis) {\n var min = MAX_INTEGER;\n var max = MIN_INTEGER;\n var origin = axis.origin;\n var i, pt, vx, vy, dp;\n\n for (i = 0; i < points.length; ++i) {\n pt = points[i];\n vx = pt.x - origin.x;\n vy = pt.y - origin.y;\n dp = axis.vx * vx + axis.vy * vy;\n min = Math.min(min, dp);\n max = Math.max(max, dp);\n }\n\n return {\n min: min,\n max: max\n };\n}\n\nfunction toAxis(p0, p1) {\n var vx = p1.x - p0.x;\n var vy = p1.y - p0.y;\n var ln = Math.sqrt(vx * vx + vy * vy);\n\n return {\n vx: (p1.x - p0.x) / ln,\n vy: (p1.y - p0.y) / ln,\n origin: p0,\n ln: ln\n };\n}\n\nvar HitBox = function() {\n this._rotation = 0;\n this._rect = {\n x: 0,\n y: 0,\n w: 0,\n h: 0\n };\n};\n\nmerge(HitBox.prototype, {\n center: function() {\n var r = this._rect;\n return {\n x: r.x + r.w / 2,\n y: r.y + r.h / 2\n };\n },\n\n update: function(center, rect, rotation) {\n this._rotation = rotation;\n this._rect = {\n x: rect.x + center.x,\n y: rect.y + center.y,\n w: rect.w,\n h: rect.h\n };\n },\n\n contains: function(point) {\n var me = this;\n var margin = 1;\n var rect = me._rect;\n\n point = rotated(point, me.center(), -me._rotation);\n\n return !(point.x < rect.x - margin\n || point.y < rect.y - margin\n || point.x > rect.x + rect.w + margin * 2\n || point.y > rect.y + rect.h + margin * 2);\n },\n\n // Separating Axis Theorem\n // https://gamedevelopment.tutsplus.com/tutorials/collision-detection-using-the-separating-axis-theorem--gamedev-169\n intersects: function(other) {\n var r0 = this._points();\n var r1 = other._points();\n var axes = [\n toAxis(r0[0], r0[1]),\n toAxis(r0[0], r0[3])\n ];\n var i, pr0, pr1;\n\n if (this._rotation !== other._rotation) {\n // Only separate with r1 axis if the rotation is different,\n // else it's enough to separate r0 and r1 with r0 axis only!\n axes.push(\n toAxis(r1[0], r1[1]),\n toAxis(r1[0], r1[3])\n );\n }\n\n for (i = 0; i < axes.length; ++i) {\n pr0 = projected(r0, axes[i]);\n pr1 = projected(r1, axes[i]);\n\n if (pr0.max < pr1.min || pr1.max < pr0.min) {\n return false;\n }\n }\n\n return true;\n },\n\n /**\n * @private\n */\n _points: function() {\n var me = this;\n var rect = me._rect;\n var angle = me._rotation;\n var center = me.center();\n\n return [\n rotated({x: rect.x, y: rect.y}, center, angle),\n rotated({x: rect.x + rect.w, y: rect.y}, center, angle),\n rotated({x: rect.x + rect.w, y: rect.y + rect.h}, center, angle),\n rotated({x: rect.x, y: rect.y + rect.h}, center, angle)\n ];\n }\n});\n\nfunction coordinates(el, model, geometry) {\n var point = model.positioner(el, model);\n var vx = point.vx;\n var vy = point.vy;\n\n if (!vx && !vy) {\n // if aligned center, we don't want to offset the center point\n return {x: point.x, y: point.y};\n }\n\n var w = geometry.w;\n var h = geometry.h;\n\n // take in account the label rotation\n var rotation = model.rotation;\n var dx = Math.abs(w / 2 * Math.cos(rotation)) + Math.abs(h / 2 * Math.sin(rotation));\n var dy = Math.abs(w / 2 * Math.sin(rotation)) + Math.abs(h / 2 * Math.cos(rotation));\n\n // scale the unit vector (vx, vy) to get at least dx or dy equal to\n // w or h respectively (else we would calculate the distance to the\n // ellipse inscribed in the bounding rect)\n var vs = 1 / Math.max(Math.abs(vx), Math.abs(vy));\n dx *= vx * vs;\n dy *= vy * vs;\n\n // finally, include the explicit offset\n dx += model.offset * vx;\n dy += model.offset * vy;\n\n return {\n x: point.x + dx,\n y: point.y + dy\n };\n}\n\nfunction collide(labels, collider) {\n var i, j, s0, s1;\n\n // IMPORTANT Iterate in the reverse order since items at the end of the\n // list have an higher weight/priority and thus should be less impacted\n // by the overlapping strategy.\n\n for (i = labels.length - 1; i >= 0; --i) {\n s0 = labels[i].$layout;\n\n for (j = i - 1; j >= 0 && s0._visible; --j) {\n s1 = labels[j].$layout;\n\n if (s1._visible && s0._box.intersects(s1._box)) {\n collider(s0, s1);\n }\n }\n }\n\n return labels;\n}\n\nfunction compute(labels) {\n var i, ilen, label, state, geometry, center, proxy;\n\n // Initialize labels for overlap detection\n for (i = 0, ilen = labels.length; i < ilen; ++i) {\n label = labels[i];\n state = label.$layout;\n\n if (state._visible) {\n // Chart.js 3 removed el._model in favor of getProps(), making harder to\n // abstract reading values in positioners. Also, using string arrays to\n // read values (i.e. var {a,b,c} = el.getProps([\"a\",\"b\",\"c\"])) would make\n // positioners inefficient in the normal case (i.e. not the final values)\n // and the code a bit ugly, so let's use a Proxy instead.\n proxy = new Proxy(label._el, {get: (el, p) => el.getProps([p], true)[p]});\n\n geometry = label.geometry();\n center = coordinates(proxy, label.model(), geometry);\n state._box.update(center, geometry, label.rotation());\n }\n }\n\n // Auto hide overlapping labels\n return collide(labels, function(s0, s1) {\n var h0 = s0._hidable;\n var h1 = s1._hidable;\n\n if ((h0 && h1) || h1) {\n s1._visible = false;\n } else if (h0) {\n s0._visible = false;\n }\n });\n}\n\nvar layout = {\n prepare: function(datasets) {\n var labels = [];\n var i, j, ilen, jlen, label;\n\n for (i = 0, ilen = datasets.length; i < ilen; ++i) {\n for (j = 0, jlen = datasets[i].length; j < jlen; ++j) {\n label = datasets[i][j];\n labels.push(label);\n label.$layout = {\n _box: new HitBox(),\n _hidable: false,\n _visible: true,\n _set: i,\n _idx: j\n };\n }\n }\n\n // TODO New `z` option: labels with a higher z-index are drawn\n // of top of the ones with a lower index. Lowest z-index labels\n // are also discarded first when hiding overlapping labels.\n labels.sort(function(a, b) {\n var sa = a.$layout;\n var sb = b.$layout;\n\n return sa._idx === sb._idx\n ? sb._set - sa._set\n : sb._idx - sa._idx;\n });\n\n this.update(labels);\n\n return labels;\n },\n\n update: function(labels) {\n var dirty = false;\n var i, ilen, label, model, state;\n\n for (i = 0, ilen = labels.length; i < ilen; ++i) {\n label = labels[i];\n model = label.model();\n state = label.$layout;\n state._hidable = model && model.display === 'auto';\n state._visible = label.visible();\n dirty |= state._hidable;\n }\n\n if (dirty) {\n compute(labels);\n }\n },\n\n lookup: function(labels, point) {\n var i, state;\n\n // IMPORTANT Iterate in the reverse order since items at the end of\n // the list have an higher z-index, thus should be picked first.\n\n for (i = labels.length - 1; i >= 0; --i) {\n state = labels[i].$layout;\n\n if (state && state._visible && state._box.contains(point)) {\n return labels[i];\n }\n }\n\n return null;\n },\n\n draw: function(chart, labels) {\n var i, ilen, label, state, geometry, center;\n\n for (i = 0, ilen = labels.length; i < ilen; ++i) {\n label = labels[i];\n state = label.$layout;\n\n if (state._visible) {\n geometry = label.geometry();\n center = coordinates(label._el, label.model(), geometry);\n state._box.update(center, geometry, label.rotation());\n label.draw(chart, center);\n }\n }\n }\n};\n\nvar formatter = function(value) {\n if (isNullOrUndef(value)) {\n return null;\n }\n\n var label = value;\n var keys, klen, k;\n if (isObject(value)) {\n if (!isNullOrUndef(value.label)) {\n label = value.label;\n } else if (!isNullOrUndef(value.r)) {\n label = value.r;\n } else {\n label = '';\n keys = Object.keys(value);\n for (k = 0, klen = keys.length; k < klen; ++k) {\n label += (k !== 0 ? ', ' : '') + keys[k] + ': ' + value[keys[k]];\n }\n }\n }\n\n return '' + label;\n};\n\n/**\n * IMPORTANT: make sure to also update tests and TypeScript definition\n * files (`/test/specs/defaults.spec.js` and `/types/options.d.ts`)\n */\n\nvar defaults = {\n align: 'center',\n anchor: 'center',\n backgroundColor: null,\n borderColor: null,\n borderRadius: 0,\n borderWidth: 0,\n clamp: false,\n clip: false,\n color: undefined,\n display: true,\n font: {\n family: undefined,\n lineHeight: 1.2,\n size: undefined,\n style: undefined,\n weight: null\n },\n formatter: formatter,\n labels: undefined,\n listeners: {},\n offset: 4,\n opacity: 1,\n padding: {\n top: 4,\n right: 4,\n bottom: 4,\n left: 4\n },\n rotation: 0,\n textAlign: 'start',\n textStrokeColor: undefined,\n textStrokeWidth: 0,\n textShadowBlur: 0,\n textShadowColor: undefined\n};\n\n/**\n * @see https://github.com/chartjs/Chart.js/issues/4176\n */\n\nvar EXPANDO_KEY = '$datalabels';\nvar DEFAULT_KEY = '$default';\n\nfunction configure(dataset, options) {\n var override = dataset.datalabels;\n var listeners = {};\n var configs = [];\n var labels, keys;\n\n if (override === false) {\n return null;\n }\n if (override === true) {\n override = {};\n }\n\n options = merge({}, [options, override]);\n labels = options.labels || {};\n keys = Object.keys(labels);\n delete options.labels;\n\n if (keys.length) {\n keys.forEach(function(key) {\n if (labels[key]) {\n configs.push(merge({}, [\n options,\n labels[key],\n {_key: key}\n ]));\n }\n });\n } else {\n // Default label if no \"named\" label defined.\n configs.push(options);\n }\n\n // listeners: {: {: }}\n listeners = configs.reduce(function(target, config) {\n each(config.listeners || {}, function(fn, event) {\n target[event] = target[event] || {};\n target[event][config._key || DEFAULT_KEY] = fn;\n });\n\n delete config.listeners;\n return target;\n }, {});\n\n return {\n labels: configs,\n listeners: listeners\n };\n}\n\nfunction dispatchEvent(chart, listeners, label) {\n if (!listeners) {\n return;\n }\n\n var context = label.$context;\n var groups = label.$groups;\n var callback$1;\n\n if (!listeners[groups._set]) {\n return;\n }\n\n callback$1 = listeners[groups._set][groups._key];\n if (!callback$1) {\n return;\n }\n\n if (callback(callback$1, [context]) === true) {\n // Users are allowed to tweak the given context by injecting values that can be\n // used in scriptable options to display labels differently based on the current\n // event (e.g. highlight an hovered label). That's why we update the label with\n // the output context and schedule a new chart render by setting it dirty.\n chart[EXPANDO_KEY]._dirty = true;\n label.update(context);\n }\n}\n\nfunction dispatchMoveEvents(chart, listeners, previous, label) {\n var enter, leave;\n\n if (!previous && !label) {\n return;\n }\n\n if (!previous) {\n enter = true;\n } else if (!label) {\n leave = true;\n } else if (previous !== label) {\n leave = enter = true;\n }\n\n if (leave) {\n dispatchEvent(chart, listeners.leave, previous);\n }\n if (enter) {\n dispatchEvent(chart, listeners.enter, label);\n }\n}\n\nfunction handleMoveEvents(chart, event) {\n var expando = chart[EXPANDO_KEY];\n var listeners = expando._listeners;\n var previous, label;\n\n if (!listeners.enter && !listeners.leave) {\n return;\n }\n\n if (event.type === 'mousemove') {\n label = layout.lookup(expando._labels, event);\n } else if (event.type !== 'mouseout') {\n return;\n }\n\n previous = expando._hovered;\n expando._hovered = label;\n dispatchMoveEvents(chart, listeners, previous, label);\n}\n\nfunction handleClickEvents(chart, event) {\n var expando = chart[EXPANDO_KEY];\n var handlers = expando._listeners.click;\n var label = handlers && layout.lookup(expando._labels, event);\n if (label) {\n dispatchEvent(chart, handlers, label);\n }\n}\n\nvar plugin = {\n id: 'datalabels',\n\n defaults: defaults,\n\n beforeInit: function(chart) {\n chart[EXPANDO_KEY] = {\n _actives: []\n };\n },\n\n beforeUpdate: function(chart) {\n var expando = chart[EXPANDO_KEY];\n expando._listened = false;\n expando._listeners = {}; // {: {: {: }}}\n expando._datasets = []; // per dataset labels: [Label[]]\n expando._labels = []; // layouted labels: Label[]\n },\n\n afterDatasetUpdate: function(chart, args, options) {\n var datasetIndex = args.index;\n var expando = chart[EXPANDO_KEY];\n var labels = expando._datasets[datasetIndex] = [];\n var visible = chart.isDatasetVisible(datasetIndex);\n var dataset = chart.data.datasets[datasetIndex];\n var config = configure(dataset, options);\n var elements = args.meta.data || [];\n var ctx = chart.ctx;\n var i, j, ilen, jlen, cfg, key, el, label;\n\n ctx.save();\n\n for (i = 0, ilen = elements.length; i < ilen; ++i) {\n el = elements[i];\n el[EXPANDO_KEY] = [];\n\n if (visible && el && chart.getDataVisibility(i) && !el.skip) {\n for (j = 0, jlen = config.labels.length; j < jlen; ++j) {\n cfg = config.labels[j];\n key = cfg._key;\n\n label = new Label(cfg, ctx, el, i);\n label.$groups = {\n _set: datasetIndex,\n _key: key || DEFAULT_KEY\n };\n label.$context = {\n active: false,\n chart: chart,\n dataIndex: i,\n dataset: dataset,\n datasetIndex: datasetIndex\n };\n\n label.update(label.$context);\n el[EXPANDO_KEY].push(label);\n labels.push(label);\n }\n }\n }\n\n ctx.restore();\n\n // Store listeners at the chart level and per event type to optimize\n // cases where no listeners are registered for a specific event.\n merge(expando._listeners, config.listeners, {\n merger: function(event, target, source) {\n target[event] = target[event] || {};\n target[event][args.index] = source[event];\n expando._listened = true;\n }\n });\n },\n\n afterUpdate: function(chart, options) {\n chart[EXPANDO_KEY]._labels = layout.prepare(\n chart[EXPANDO_KEY]._datasets,\n options);\n },\n\n // Draw labels on top of all dataset elements\n // https://github.com/chartjs/chartjs-plugin-datalabels/issues/29\n // https://github.com/chartjs/chartjs-plugin-datalabels/issues/32\n afterDatasetsDraw: function(chart) {\n layout.draw(chart, chart[EXPANDO_KEY]._labels);\n },\n\n beforeEvent: function(chart, args) {\n // If there is no listener registered for this chart, `listened` will be false,\n // meaning we can immediately ignore the incoming event and avoid useless extra\n // computation for users who don't implement label interactions.\n if (chart[EXPANDO_KEY]._listened) {\n var event = args.event;\n switch (event.type) {\n case 'mousemove':\n case 'mouseout':\n handleMoveEvents(chart, event);\n break;\n case 'click':\n handleClickEvents(chart, event);\n break;\n }\n }\n },\n\n afterEvent: function(chart) {\n var expando = chart[EXPANDO_KEY];\n var previous = expando._actives;\n var actives = expando._actives = chart.getActiveElements();\n var updates = utils.arrayDiff(previous, actives);\n var i, ilen, j, jlen, update, label, labels;\n\n for (i = 0, ilen = updates.length; i < ilen; ++i) {\n update = updates[i];\n if (update[1]) {\n labels = update[0].element[EXPANDO_KEY] || [];\n for (j = 0, jlen = labels.length; j < jlen; ++j) {\n label = labels[j];\n label.$context.active = (update[1] === 1);\n label.update(label.$context);\n }\n }\n }\n\n if (expando._dirty || updates.length) {\n layout.update(expando._labels);\n chart.render();\n }\n\n delete expando._dirty;\n }\n};\n\nexport default plugin;\n","import React, { useState, useCallback, useEffect } from 'react'\nimport { Card, CardBody, CardHeader, Row, Col, Button } from 'reactstrap'\nimport { AiFillDashboard, AiFillPoundCircle, AiFillClockCircle, AiFillCreditCard, AiFillCalendar } from 'react-icons/ai'\nimport base from '../../services/BaseService'\nimport Spinner from '../shared/loading'\nimport FreeAgent from '../../assets/icons/freeagent-mark.svg'\nimport Invoice from '../../assets/icons/invoice.svg'\nimport Refresh from '../../assets/icons/refresh.svg'\nimport CheckOutline from '../../assets/icons/check_outline.svg'\nimport refresh from '../../assets/icons/refresh24.svg'\nimport InvoiceModal from './reports/toinvoice'\nimport { AuthenticatedTemplate } from \"@azure/msal-react\";\nimport ConfirmToast from '../shared/confirmToast'\nimport { Bar } from 'react-chartjs-2';\nimport {\n Chart as ChartJS, CategoryScale,\n LinearScale,\n BarElement, LineElement, PointElement,\n Title,\n Tooltip,\n Legend\n} from 'chart.js';\nimport ChartDataLabels from 'chartjs-plugin-datalabels';\nimport ReactSelect from 'react-select'\nimport { useUserContext } from '../context/userContext'\n\nChartJS.register(\n CategoryScale,\n LinearScale,\n BarElement, PointElement, LineElement,\n ChartDataLabels,\n Title,\n Tooltip,\n Legend\n);\n\nconst Dashboard = () => {\n const { user } = useUserContext();\n const [style1, setStyle1] = useState(\"b-width pc-btn-dark ms-1 mb-1\");\n const [style2, setStyle2] = useState(\"b-width pc-btn ms-1 mb-1\");\n const [bankValues, setBankValues] = useState([]);\n const [bankValues1, setBankValues1] = useState([]);\n const [tsValues, setTsValues] = useState([]);\n const [tsValues1, setTsValues1] = useState([]);\n const [trValues, setTrValues] = useState([]);\n const [tsLabels, setTsLabels] = useState([]);\n const [trLabels, setTrLabels] = useState([]);\n const [vatValue, setVatValue] = useState([]);\n const [ccIn, setCCIn] = useState([]);\n const [ccOut, setCCOut] = useState([]);\n const [ccNet, setCCNet] = useState([]);\n const [ccTotal, setCCTotal] = useState([]);\n const [sumBillable, setSumBillable] = useState([]);\n const [sumUnbillable, setSumUnbillable] = useState([]);\n const [lastRefreshed, setLastRefreshed] = useState([]);\n const [periodDate, setPeriodDate] = useState([]);\n const [users, setUsers] = useState([]);\n const [loading1, setLoading1] = useState(true);\n const [loading2, setLoading2] = useState(true);\n const [loading3, setLoading3] = useState(true);\n const [loading4, setLoading4] = useState(true);\n const [loading5, setLoading5] = useState(false);\n const [faRefresh, setFARefresh] = useState(false);\n const [refreshPage, setRefreshPage] = useState(false);\n const [showModal, setShowModal] = useState(false)\n const [toggleModal, setToggleModal] = useState(false)\n const [invCreate, setInvCreate] = useState(false)\n const [showConfirm, setShowConfirm] = useState(false)\n const [handleConfirm, setHandleConfirm] = useState(\"\")\n const [selectedValue, setSelectedValue] = useState(user.idUser);\n const [billablePeriod, setBillablePeriod] = useState([]);\n const [unbillablePeriod, setUnbillablePeriod] = useState([]);\n const [billableTotal, setBillableTotal] = useState([]);\n const [unbillableTotal, setUnbillableTotal] = useState([]);\n const [viewBillable, setViewBillable] = useState(true);\n const [periodLabels, setPeriodLabels] = useState([]);\n\n useEffect(() => {\n document.title = 'Dashboard | Mobyte';\n }, []);\n\n // set value for default selection\n\n const openModal = () => {\n if (user.userLevel === \"10\") {\n setInvCreate(false);\n setShowModal(!showModal);\n } else {\n window.alert(\"User not authorised\")\n }\n }\n\n const openModalCreate = () => {\n if (user.userLevel === \"10\") {\n setInvCreate(true);\n setShowModal(true);\n } else {\n window.alert(\"User not authorised\")\n }\n }\n\n useEffect(() => {\n if (handleConfirm === \"Yes\") {\n setLoading4(true);\n // setLoading5(true);\n setLastRefreshed(\"Refresh In Progress...\");\n base.getAll(\"FreeAgent/refresh\").then(() => {\n setLastRefreshed(\"Refreshing Dashboard...\");\n var date = new Date().getTime()\n setFARefresh(date)\n setShowModal(true)\n setLoading4(false);\n });\n }\n if (handleConfirm === \"No\") {\n setShowModal(true)\n }\n setShowConfirm(false)\n setHandleConfirm(\"\")\n }, [handleConfirm]);\n\n const [smallScreen, setSmallScreen] = useState(window.innerWidth < 750 ? false : true)\n\n\n useEffect(() => {\n function handleResize() {\n if (window.innerWidth < 750) {\n setSmallScreen(false)\n } else {\n setSmallScreen(true)\n }\n }\n window.addEventListener(\"resize\", handleResize);\n return () => window.removeEventListener(\"resize\", handleResize);\n }, []);\n\n const closeModal = () => {\n setShowModal(false);\n setToggleModal(!toggleModal)\n }\n\n // handle onChange event of the dropdown and get value\n // React-select get value on change\n const handleChange = e => {\n setStyle2(\"b-width pc-btn me-1\");\n setStyle1(\"b-width pc-btn-dark me-1\")\n setSelectedValue(e.value);\n }\n\n const formatNumber = useCallback((number) => {\n // this puts commas into the number eg 1000 goes to 1,000,\n return (number)\n .toFixed(2)\n .replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$&,');\n }, []);\n\n const formatNumberSingle = useCallback((number) => {\n // this puts commas into the number eg 1000 goes to 1,000,\n return (number)\n .toFixed(1)\n .replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$&,');\n }, []);\n\n const handleClick = async (e) => {\n if (e.target.name === 'Project') {\n setLoading2(true);\n setStyle2(\"b-width pc-btn me-1\");\n setStyle1(\"b-width pc-btn-dark me-1\")\n const tsRes = await base.getAll(`Report/tsperiod/${selectedValue}`)\n setTsLabels(tsRes.map(function (item) {\n return item.projectName;\n }));\n setTsValues(tsRes.map(function (item) {\n return item.sumBillable;\n }));\n setTsValues1(tsRes.map(function (item) {\n return item.sumUnbillable;\n }));\n setLoading2(false)\n\n\n };\n if (e.target.name === 'Task') {\n setLoading2(true);\n setStyle1(\"b-width pc-btn me-1\");\n setStyle2(\"b-width pc-btn-dark me-1\");\n\n const tsRes = await base.getAll(`Report/tsperiod/task/${selectedValue}`);\n\n // Create a map to group tasks under projects\n const groupedData = tsRes.reduce((acc, item) => {\n const label = `${item.projectName} - ${item.taskName}`; // Parent (Project) - Child (Task)\n acc.labels.push(label);\n acc.billable.push(item.sumBillable);\n acc.unbillable.push(item.sumUnbillable);\n return acc;\n }, { labels: [], billable: [], unbillable: [] });\n\n setTsLabels(groupedData.labels);\n setTsValues(groupedData.billable);\n setTsValues1(groupedData.unbillable);\n setLoading2(false);\n }\n\n };\n\n const openFreeAgent = (() => {\n window.open(\"https://mobyte.freeagent.com/overview\");\n });\n\n const options2 = {\n responsive: true,\n };\n\n\n useEffect(() => {\n const getCCData = async () => {\n try {\n const ccRes = await base.getAll(`Report/ccfinal/${selectedValue}`)\n setPeriodLabels(ccRes.map(function (item) {\n return item.period;\n }));\n setBankValues(ccRes.map(function (item) {\n return item.ccIn;\n }));\n setBankValues1(ccRes.map(function (item) {\n return item.ccOut;\n }));\n const result = ccRes.reduce((total, currentValue) => total = total + currentValue.ccIn, 0);\n const result1 = ccRes.reduce((total, currentValue) => total = total + currentValue.ccOut, 0);\n setCCIn(formatNumber(result));\n setCCOut(formatNumber(result1));\n setCCNet(formatNumber(result - result1))\n setCCTotal(formatNumber(ccRes[0].ccTotal))\n }\n catch (e) { console.log(e) }\n finally { setLoading1(false) }\n }\n const getTSData = async () => {\n try {\n const tsRes = await base.getAll(`Report/tsperiod/${selectedValue}`)\n setTsLabels(tsRes.map(function (item) {\n return item.projectName;\n }));\n setTsValues(tsRes.map(function (item) {\n return item.sumBillable;\n }));\n setTsValues1(tsRes.map(function (item) {\n return item.sumUnbillable;\n }));\n setSumBillable(formatNumber(tsRes.reduce(function (prev, current) {\n return prev + +current.sumBillable;\n }, 0)))\n setSumUnbillable(formatNumber(tsRes.reduce(function (prev, current) {\n return prev + +current.sumUnbillable;\n }, 0)));\n } catch (e) {\n console.log(e);\n }\n finally {\n setLoading2(false);\n }\n }\n\n const getTSData6 = async () => {\n try {\n const tsRes = await base.getAll(`Report/tsperiod/${selectedValue}/all`)\n setPeriodLabels(tsRes.map(function (item) {\n return item.period;\n }));\n setBillablePeriod(tsRes.map(function (item) {\n return item.sumBillable;\n }));\n setUnbillablePeriod(tsRes.map(function (item) {\n return item.sumUnbillable;\n }));\n const totalBillable = tsRes.reduce((total, currentValue) => total + currentValue.sumBillable, 0);\n const totalUnbillable = tsRes.reduce((total, currentValue) => total + currentValue.sumUnbillable, 0);\n\n const totalSum = totalBillable + totalUnbillable;\n\n // Calculate percentages\n const billablePercentage = totalSum > 0 ? (totalBillable / totalSum) * 100 : 0;\n const unbillablePercentage = totalSum > 0 ? (totalUnbillable / totalSum) * 100 : 0;\n setBillableTotal(formatNumberSingle(billablePercentage));\n setUnbillableTotal(formatNumberSingle(unbillablePercentage));\n }\n catch (e) { console.log(e); }\n finally {\n setLoading1(false);\n setLoading3(false);\n }\n }\n\n const getTRData = async () => {\n const tsRes = await base.getAll(\"Report/transactionReport\")\n setTrLabels(tsRes.map(function (item) {\n return item.name;\n }));\n setTrValues(tsRes.map(function (item) {\n return item.rVAT;\n }));\n setVatValue(tsRes.map(datum => datum.rVAT).reduce((a, b) => a + b))\n setLoading2(false);\n\n }\n const getOverviewData = async () => {\n const overviewRes = await base.getAll(`Report/overview/${selectedValue}`)\n setLastRefreshed(new Date(overviewRes.lastrefreshed).toLocaleDateString() + ' ' + new Date(overviewRes.lastrefreshed).toLocaleTimeString());\n };\n\n const getDate = () => {\n const current = new Date();\n current.setDate(current.getDate() - 3);\n var date = current.getFullYear() + '.' + String(current.getMonth() + 1).padStart(2, '0');\n setPeriodDate(date);\n setLoading4(false);\n }\n const getUsers = async () => {\n const userRes = await base.getAll(`Report/users/${selectedValue}`)\n let detailArr = [];\n userRes.map(element => {\n let dropDownEle = { value: element[\"idUser\"], label: element[\"name\"] };\n detailArr.push(dropDownEle);\n return 1;\n });\n if (user.userLevel === '10') {\n detailArr.push({ value: \"0\", label: \"All\" })\n }\n setUsers(detailArr)\n };\n getDate();\n setLoading1(true);\n setLoading2(true);\n setLoading3(true);\n getOverviewData();\n if (user.userLevel === \"10\") {\n getCCData();\n getTSData();\n getUsers();\n getTSData6();\n }\n if (user.userLevel === \"20\") {\n getTRData();\n }\n if (user.userLevel === \"30\") {\n getTSData();\n getTSData6();\n }\n\n }, [selectedValue, faRefresh, refreshPage, formatNumber, formatNumberSingle, user])\n\n const refreshFromFreeAgent = (async () => {\n setLoading4(true);\n setLastRefreshed(\"Refresh In Progress...\");\n await base.getAll(\"FreeAgent/refresh\")\n setLastRefreshed(\"Refreshing Dashboard...\");\n setFARefresh(!faRefresh)\n }\n );\n\n const callRefresh = () => {\n setRefreshPage(!refreshPage);\n };\n\n const data = {\n labels: periodLabels,\n datasets: [\n {\n label: viewBillable ? 'Billable' : 'CC In',\n backgroundColor: 'rgb(34,85,96, 0.85)',\n data: viewBillable ? billablePeriod : bankValues,\n fill: true, // Don't fill area under the line\n datalabels: {\n color: '#111',\n align: 'top',\n anchor: 'end',\n display: smallScreen,\n formatter: function (value, context) {\n if (viewBillable) {\n return value\n .toFixed(1)\n .replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$&,')\n + '%';\n\n } else {\n return value\n .toFixed(2)\n .replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$&,');\n }\n\n },\n font: {\n weight: 'bold'\n }\n }\n }, {\n label: viewBillable ? 'Unbillable' : 'CC Out',\n backgroundColor: 'rgba(220, 20, 60, 0.85)',\n data: viewBillable ? unbillablePeriod : bankValues1,\n fill: true, // Don't fill area under the line\n datalabels: {\n color: '#111',\n align: 'top',\n anchor: 'end',\n display: smallScreen,\n formatter: function (value, context) {\n if (viewBillable) {\n return value\n .toFixed(1)\n .replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$&,')\n + '%';\n\n } else {\n return value\n .toFixed(2)\n .replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$&,');\n }\n },\n font: {\n weight: 'bold'\n }\n }\n }\n ],\n }\n const data1 = {\n labels: tsLabels,\n datasets: [\n {\n label: 'Billable',\n backgroundColor: 'rgb(34,85,96, 0.85)',\n data: tsValues,\n fill: true, // Don't fill area under the line\n datalabels: {\n color: '#111',\n align: 'top',\n anchor: 'end',\n display: smallScreen,\n formatter: function (value, context) {\n return value\n .toFixed(2)\n .replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$&,');\n },\n font: {\n weight: 'bold'\n }\n }\n },\n {\n label: 'Unbillable',\n backgroundColor: 'rgba(139, 197, 197, 0.85)',\n data: tsValues1,\n fill: true,\n datalabels: {\n color: '#111',\n align: 'top',\n anchor: 'end',\n display: smallScreen,\n formatter: function (value, context) {\n return value\n .toFixed(2)\n .replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$&,');\n },\n font: {\n weight: 'bold'\n }\n }\n }\n ],\n }\n\n const data3 = {\n labels: trLabels,\n datasets: [\n {\n label: 'Name',\n backgroundColor: 'rgb(34,85,96, 0.85)',\n data: trValues,\n fill: true,\n datalabels: {\n color: '#111',\n align: 'top',\n anchor: 'end',\n display: true,\n font: {\n weight: 'bold'\n }\n }\n }\n ],\n }\n\n const renderLoading = () => (\n
\n
\n \n
\n
\n );\n\n const renderCC = () => (\n <>\n \n Incoming:\n Outgoing:\n Profit:\n PC Total:\n \n \n {ccIn}\n {ccOut}\n {ccNet}\n {ccTotal}\n \n \n );\n\n const renderBillable = () => (\n <>\n \n Total Billable:\n Total Unbillable:\n \n \n {billableTotal}%\n {unbillableTotal}%\n \n \n );\n\n return (\n \n {showConfirm &&\n {\n setHandleConfirm(\"Yes\");\n }}\n handleNo={() => {\n setHandleConfirm(\"No\");\n }}\n >\n }\n
\n \n \n \n   \n Dashboard\n \n \n
\n \n \n {user.userLevel === \"10\" &&\n (\n \n )\n }\n \n \n\n \n \n \n
\n \n
\n\n
\n\n\n
\n\n
\n \n \n \n \n \n \n {viewBillable ?\n ()\n :\n ()\n }\n \n {viewBillable ? \" Chargeable Time\" : \" Profit Centre\"}\n \n \n {user.userLevel === \"10\" && (\n \n \n \n )}\n\n \n \n \n {loading3\n ? renderLoading()\n : viewBillable\n ? renderBillable()\n : renderCC()\n }\n\n \n \n {loading1 ?\n
\n
\n \n
\n
\n\n :\n \n }\n
\n
\n\n \n {user !== \"20\" ?\n \n \n \n \n \n   \n Time Tracking\n \n \n
\n \n \n
\n \n
\n
\n \n {loading3 ?\n
\n
\n \n
\n
\n :\n <>\n \n Period:\n Billable:\n Unbillable:\n \n \n {periodDate}\n {sumBillable}\n {sumUnbillable}\n \n \n }\n
\n \n {loading2 ?\n
\n
\n \n
\n
\n :\n\n \n }\n
\n
\n \n :\n \n \n \n \n \n   \n Transaction Reconciliation\n \n \n
\n
\n \n
\n
\n \n {loading3 ?\n
\n
\n \n
\n
\n :\n <>\n \n VAT (To Reconcile)\n \n \n {vatValue}\n \n \n }\n
\n \n {loading2 ?\n
\n
\n \n
\n
\n :\n\n \n }\n
\n
\n \n }\n
\n \n\n \n
refreshFromFreeAgent()}>\n
\n
\n \n
Refresh Data  \n
\n
{lastRefreshed}  \n
\n\n \n
\n {loading4 ?\n
\n
\n \n
\n
\n :\n \"\"\n\n }\n
\n
\n
\n
\n \n \n
openModal()}>\n
\n
\n \n
Invoice Report \n
\n
Check invoices before batch run  \n
\n\n \n
\n \"\"\n
\n
\n
\n
\n \n \n
openModalCreate()}>\n
\n
\n \n
Create Invoices  \n
\n
Batch Monthly Invoice Run  \n
\n\n \n
\n {loading5 ?\n
\n
\n \n
\n
\n :\n \"\"\n }\n
\n
\n
\n
\n \n\n \n
openFreeAgent()}>\n
\n
\n \n
FreeAgent  \n
\n
Open FreeAgent Application  \n
\n\n \n
\n \"\"\n
\n
\n
\n
\n \n
\n
\n\n
\n {showModal && }\n\n
\n
\n )\n}\n\nexport default Dashboard","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport * as PropTypes from 'prop-types';\nexport var eventPropTypes = {\n onActivate: PropTypes.func,\n onAddUndo: PropTypes.func,\n onBeforeAddUndo: PropTypes.func,\n onBeforeExecCommand: PropTypes.func,\n onBeforeGetContent: PropTypes.func,\n onBeforeRenderUI: PropTypes.func,\n onBeforeSetContent: PropTypes.func,\n onBeforePaste: PropTypes.func,\n onBlur: PropTypes.func,\n onChange: PropTypes.func,\n onClearUndos: PropTypes.func,\n onClick: PropTypes.func,\n onContextMenu: PropTypes.func,\n onCommentChange: PropTypes.func,\n onCompositionEnd: PropTypes.func,\n onCompositionStart: PropTypes.func,\n onCompositionUpdate: PropTypes.func,\n onCopy: PropTypes.func,\n onCut: PropTypes.func,\n onDblclick: PropTypes.func,\n onDeactivate: PropTypes.func,\n onDirty: PropTypes.func,\n onDrag: PropTypes.func,\n onDragDrop: PropTypes.func,\n onDragEnd: PropTypes.func,\n onDragGesture: PropTypes.func,\n onDragOver: PropTypes.func,\n onDrop: PropTypes.func,\n onExecCommand: PropTypes.func,\n onFocus: PropTypes.func,\n onFocusIn: PropTypes.func,\n onFocusOut: PropTypes.func,\n onGetContent: PropTypes.func,\n onHide: PropTypes.func,\n onInit: PropTypes.func,\n onInput: PropTypes.func,\n onKeyDown: PropTypes.func,\n onKeyPress: PropTypes.func,\n onKeyUp: PropTypes.func,\n onLoadContent: PropTypes.func,\n onMouseDown: PropTypes.func,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onMouseMove: PropTypes.func,\n onMouseOut: PropTypes.func,\n onMouseOver: PropTypes.func,\n onMouseUp: PropTypes.func,\n onNodeChange: PropTypes.func,\n onObjectResizeStart: PropTypes.func,\n onObjectResized: PropTypes.func,\n onObjectSelected: PropTypes.func,\n onPaste: PropTypes.func,\n onPostProcess: PropTypes.func,\n onPostRender: PropTypes.func,\n onPreProcess: PropTypes.func,\n onProgressState: PropTypes.func,\n onRedo: PropTypes.func,\n onRemove: PropTypes.func,\n onReset: PropTypes.func,\n onSaveContent: PropTypes.func,\n onSelectionChange: PropTypes.func,\n onSetAttrib: PropTypes.func,\n onSetContent: PropTypes.func,\n onShow: PropTypes.func,\n onSubmit: PropTypes.func,\n onUndo: PropTypes.func,\n onVisualAid: PropTypes.func,\n onSkinLoadError: PropTypes.func,\n onThemeLoadError: PropTypes.func,\n onModelLoadError: PropTypes.func,\n onPluginLoadError: PropTypes.func,\n onIconsLoadError: PropTypes.func,\n onLanguageLoadError: PropTypes.func,\n onScriptsLoad: PropTypes.func,\n onScriptsLoadError: PropTypes.func,\n};\nexport var EditorPropTypes = __assign({ apiKey: PropTypes.string, licenseKey: PropTypes.string, id: PropTypes.string, inline: PropTypes.bool, init: PropTypes.object, initialValue: PropTypes.string, onEditorChange: PropTypes.func, value: PropTypes.string, tagName: PropTypes.string, tabIndex: PropTypes.number, cloudChannel: PropTypes.string, plugins: PropTypes.oneOfType([PropTypes.string, PropTypes.array]), toolbar: PropTypes.oneOfType([PropTypes.string, PropTypes.array]), disabled: PropTypes.bool, textareaName: PropTypes.string, tinymceScriptSrc: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string),\n PropTypes.arrayOf(PropTypes.shape({\n src: PropTypes.string,\n async: PropTypes.bool,\n defer: PropTypes.bool\n }))\n ]), rollback: PropTypes.oneOfType([PropTypes.number, PropTypes.oneOf([false])]), scriptLoading: PropTypes.shape({\n async: PropTypes.bool,\n defer: PropTypes.bool,\n delay: PropTypes.number\n }) }, eventPropTypes);\n","import { eventPropTypes } from './components/EditorPropTypes';\nexport var isFunction = function (x) { return typeof x === 'function'; };\nvar isEventProp = function (name) { return name in eventPropTypes; };\nvar eventAttrToEventName = function (attrName) { return attrName.substr(2); };\nexport var configHandlers2 = function (handlerLookup, on, off, adapter, prevProps, props, boundHandlers) {\n var prevEventKeys = Object.keys(prevProps).filter(isEventProp);\n var currEventKeys = Object.keys(props).filter(isEventProp);\n var removedKeys = prevEventKeys.filter(function (key) { return props[key] === undefined; });\n var addedKeys = currEventKeys.filter(function (key) { return prevProps[key] === undefined; });\n removedKeys.forEach(function (key) {\n // remove event handler\n var eventName = eventAttrToEventName(key);\n var wrappedHandler = boundHandlers[eventName];\n off(eventName, wrappedHandler);\n delete boundHandlers[eventName];\n });\n addedKeys.forEach(function (key) {\n var wrappedHandler = adapter(handlerLookup, key);\n var eventName = eventAttrToEventName(key);\n boundHandlers[eventName] = wrappedHandler;\n on(eventName, wrappedHandler);\n });\n};\nexport var configHandlers = function (editor, prevProps, props, boundHandlers, lookup) {\n return configHandlers2(lookup, editor.on.bind(editor), editor.off.bind(editor), \n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n function (handlerLookup, key) { return function (e) { var _a; return (_a = handlerLookup(key)) === null || _a === void 0 ? void 0 : _a(e, editor); }; }, prevProps, props, boundHandlers);\n};\nvar unique = 0;\nexport var uuid = function (prefix) {\n var time = Date.now();\n var random = Math.floor(Math.random() * 1000000000);\n unique++;\n return prefix + '_' + random + unique + String(time);\n};\nexport var isTextareaOrInput = function (element) {\n return element !== null && (element.tagName.toLowerCase() === 'textarea' || element.tagName.toLowerCase() === 'input');\n};\nvar normalizePluginArray = function (plugins) {\n if (typeof plugins === 'undefined' || plugins === '') {\n return [];\n }\n return Array.isArray(plugins) ? plugins : plugins.split(' ');\n};\n// eslint-disable-next-line max-len\nexport var mergePlugins = function (initPlugins, inputPlugins) { return normalizePluginArray(initPlugins).concat(normalizePluginArray(inputPlugins)); };\nexport var isBeforeInputEventAvailable = function () { return window.InputEvent && typeof InputEvent.prototype.getTargetRanges === 'function'; };\nexport var isInDoc = function (elem) {\n if (!('isConnected' in Node.prototype)) {\n // Fallback for IE and old Edge\n var current = elem;\n var parent_1 = elem.parentNode;\n while (parent_1 != null) {\n current = parent_1;\n parent_1 = current.parentNode;\n }\n return current === elem.ownerDocument;\n }\n return elem.isConnected;\n};\nexport var setMode = function (editor, mode) {\n if (editor !== undefined) {\n if (editor.mode != null && typeof editor.mode === 'object' && typeof editor.mode.set === 'function') {\n editor.mode.set(mode);\n }\n else { // support TinyMCE 4\n editor.setMode(mode);\n }\n }\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport { uuid } from './Utils';\nvar injectScriptTag = function (doc, item, handler) {\n var _a, _b;\n var scriptTag = doc.createElement('script');\n scriptTag.referrerPolicy = 'origin';\n scriptTag.type = 'application/javascript';\n scriptTag.id = item.id;\n scriptTag.src = item.src;\n scriptTag.async = (_a = item.async) !== null && _a !== void 0 ? _a : false;\n scriptTag.defer = (_b = item.defer) !== null && _b !== void 0 ? _b : false;\n var loadHandler = function () {\n scriptTag.removeEventListener('load', loadHandler);\n scriptTag.removeEventListener('error', errorHandler);\n handler(item.src);\n };\n var errorHandler = function (err) {\n scriptTag.removeEventListener('load', loadHandler);\n scriptTag.removeEventListener('error', errorHandler);\n handler(item.src, err);\n };\n scriptTag.addEventListener('load', loadHandler);\n scriptTag.addEventListener('error', errorHandler);\n if (doc.head) {\n doc.head.appendChild(scriptTag);\n }\n};\nvar createDocumentScriptLoader = function (doc) {\n var lookup = {};\n var scriptLoadOrErrorHandler = function (src, err) {\n var item = lookup[src];\n item.done = true;\n item.error = err;\n for (var _i = 0, _a = item.handlers; _i < _a.length; _i++) {\n var h = _a[_i];\n h(src, err);\n }\n item.handlers = [];\n };\n var loadScripts = function (items, success, failure) {\n // eslint-disable-next-line no-console\n var failureOrLog = function (err) { return failure !== undefined ? failure(err) : console.error(err); };\n if (items.length === 0) {\n failureOrLog(new Error('At least one script must be provided'));\n return;\n }\n var successCount = 0;\n var failed = false;\n var loaded = function (_src, err) {\n if (failed) {\n return;\n }\n if (err) {\n failed = true;\n failureOrLog(err);\n }\n else if (++successCount === items.length) {\n success();\n }\n };\n for (var _i = 0, items_1 = items; _i < items_1.length; _i++) {\n var item = items_1[_i];\n var existing = lookup[item.src];\n if (existing) {\n if (existing.done) {\n loaded(item.src, existing.error);\n }\n else {\n existing.handlers.push(loaded);\n }\n }\n else {\n // create a new entry\n var id = uuid('tiny-');\n lookup[item.src] = {\n id: id,\n src: item.src,\n done: false,\n error: null,\n handlers: [loaded],\n };\n injectScriptTag(doc, __assign({ id: id }, item), scriptLoadOrErrorHandler);\n }\n }\n };\n var deleteScripts = function () {\n var _a;\n for (var _i = 0, _b = Object.values(lookup); _i < _b.length; _i++) {\n var item = _b[_i];\n var scriptTag = doc.getElementById(item.id);\n if (scriptTag != null && scriptTag.tagName === 'SCRIPT') {\n (_a = scriptTag.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(scriptTag);\n }\n }\n lookup = {};\n };\n var getDocument = function () { return doc; };\n return {\n loadScripts: loadScripts,\n deleteScripts: deleteScripts,\n getDocument: getDocument\n };\n};\nvar createScriptLoader = function () {\n var cache = [];\n var getDocumentScriptLoader = function (doc) {\n var loader = cache.find(function (l) { return l.getDocument() === doc; });\n if (loader === undefined) {\n loader = createDocumentScriptLoader(doc);\n cache.push(loader);\n }\n return loader;\n };\n var loadList = function (doc, items, delay, success, failure) {\n var doLoad = function () { return getDocumentScriptLoader(doc).loadScripts(items, success, failure); };\n if (delay > 0) {\n setTimeout(doLoad, delay);\n }\n else {\n doLoad();\n }\n };\n var reinitialize = function () {\n for (var loader = cache.pop(); loader != null; loader = cache.pop()) {\n loader.deleteScripts();\n }\n };\n return {\n loadList: loadList,\n reinitialize: reinitialize\n };\n};\nexport var ScriptLoader = createScriptLoader();\n","var getTinymce = function (view) {\n var global = view;\n return global && global.tinymce ? global.tinymce : null;\n};\nexport { getTinymce };\n","var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport * as React from 'react';\nimport { ScriptLoader } from '../ScriptLoader2';\nimport { getTinymce } from '../TinyMCE';\nimport { isFunction, isTextareaOrInput, mergePlugins, uuid, configHandlers, isBeforeInputEventAvailable, isInDoc, setMode } from '../Utils';\nimport { EditorPropTypes } from './EditorPropTypes';\n/**\n * @see {@link https://www.tiny.cloud/docs/tinymce/7/react-ref/} for the TinyMCE React Technical Reference\n */\nvar Editor = /** @class */ (function (_super) {\n __extends(Editor, _super);\n function Editor(props) {\n var _a, _b, _c;\n var _this = _super.call(this, props) || this;\n _this.rollbackTimer = undefined;\n _this.valueCursor = undefined;\n _this.rollbackChange = function () {\n var editor = _this.editor;\n var value = _this.props.value;\n if (editor && value && value !== _this.currentContent) {\n editor.undoManager.ignore(function () {\n editor.setContent(value);\n // only restore cursor on inline editors when they are focused\n // as otherwise it will cause a focus grab\n if (_this.valueCursor && (!_this.inline || editor.hasFocus())) {\n try {\n editor.selection.moveToBookmark(_this.valueCursor);\n }\n catch (e) { /* ignore */ }\n }\n });\n }\n _this.rollbackTimer = undefined;\n };\n _this.handleBeforeInput = function (_evt) {\n if (_this.props.value !== undefined && _this.props.value === _this.currentContent && _this.editor) {\n if (!_this.inline || _this.editor.hasFocus()) {\n try {\n // getBookmark throws exceptions when the editor has not been focused\n // possibly only in inline mode but I'm not taking chances\n _this.valueCursor = _this.editor.selection.getBookmark(3);\n }\n catch (e) { /* ignore */ }\n }\n }\n };\n _this.handleBeforeInputSpecial = function (evt) {\n if (evt.key === 'Enter' || evt.key === 'Backspace' || evt.key === 'Delete') {\n _this.handleBeforeInput(evt);\n }\n };\n _this.handleEditorChange = function (_evt) {\n var editor = _this.editor;\n if (editor && editor.initialized) {\n var newContent = editor.getContent();\n if (_this.props.value !== undefined && _this.props.value !== newContent && _this.props.rollback !== false) {\n // start a timer and revert to the value if not applied in time\n if (!_this.rollbackTimer) {\n _this.rollbackTimer = window.setTimeout(_this.rollbackChange, typeof _this.props.rollback === 'number' ? _this.props.rollback : 200);\n }\n }\n if (newContent !== _this.currentContent) {\n _this.currentContent = newContent;\n if (isFunction(_this.props.onEditorChange)) {\n _this.props.onEditorChange(newContent, editor);\n }\n }\n }\n };\n _this.handleEditorChangeSpecial = function (evt) {\n if (evt.key === 'Backspace' || evt.key === 'Delete') {\n _this.handleEditorChange(evt);\n }\n };\n _this.initialise = function (attempts) {\n var _a, _b, _c;\n if (attempts === void 0) { attempts = 0; }\n var target = _this.elementRef.current;\n if (!target) {\n return; // Editor has been unmounted\n }\n if (!isInDoc(target)) {\n // this is probably someone trying to help by rendering us offscreen\n // but we can't do that because the editor iframe must be in the document\n // in order to have state\n if (attempts === 0) {\n // we probably just need to wait for the current events to be processed\n setTimeout(function () { return _this.initialise(1); }, 1);\n }\n else if (attempts < 100) {\n // wait for ten seconds, polling every tenth of a second\n setTimeout(function () { return _this.initialise(attempts + 1); }, 100);\n }\n else {\n // give up, at this point it seems that more polling is unlikely to help\n throw new Error('tinymce can only be initialised when in a document');\n }\n return;\n }\n var tinymce = getTinymce(_this.view);\n if (!tinymce) {\n throw new Error('tinymce should have been loaded into global scope');\n }\n var finalInit = __assign(__assign(__assign(__assign({}, _this.props.init), { selector: undefined, target: target, readonly: _this.props.disabled, inline: _this.inline, plugins: mergePlugins((_a = _this.props.init) === null || _a === void 0 ? void 0 : _a.plugins, _this.props.plugins), toolbar: (_b = _this.props.toolbar) !== null && _b !== void 0 ? _b : (_c = _this.props.init) === null || _c === void 0 ? void 0 : _c.toolbar }), (_this.props.licenseKey ? { license_key: _this.props.licenseKey } : {})), { setup: function (editor) {\n _this.editor = editor;\n _this.bindHandlers({});\n // When running in inline mode the editor gets the initial value\n // from the innerHTML of the element it is initialized on.\n // However we don't want to take on the responsibility of sanitizing\n // to remove XSS in the react integration so we have a chicken and egg\n // problem... We avoid it by sneaking in a set content before the first\n // \"official\" setContent and using TinyMCE to do the sanitization.\n if (_this.inline && !isTextareaOrInput(target)) {\n editor.once('PostRender', function (_evt) {\n editor.setContent(_this.getInitialValue(), { no_events: true });\n });\n }\n if (_this.props.init && isFunction(_this.props.init.setup)) {\n _this.props.init.setup(editor);\n }\n }, init_instance_callback: function (editor) {\n var _a, _b;\n // check for changes that happened since tinymce.init() was called\n var initialValue = _this.getInitialValue();\n _this.currentContent = (_a = _this.currentContent) !== null && _a !== void 0 ? _a : editor.getContent();\n if (_this.currentContent !== initialValue) {\n _this.currentContent = initialValue;\n // same as resetContent in TinyMCE 5\n editor.setContent(initialValue);\n editor.undoManager.clear();\n editor.undoManager.add();\n editor.setDirty(false);\n }\n var disabled = (_b = _this.props.disabled) !== null && _b !== void 0 ? _b : false;\n setMode(_this.editor, disabled ? 'readonly' : 'design');\n // ensure existing init_instance_callback is called\n if (_this.props.init && isFunction(_this.props.init.init_instance_callback)) {\n _this.props.init.init_instance_callback(editor);\n }\n } });\n if (!_this.inline) {\n target.style.visibility = '';\n }\n if (isTextareaOrInput(target)) {\n target.value = _this.getInitialValue();\n }\n tinymce.init(finalInit);\n };\n _this.id = _this.props.id || uuid('tiny-react');\n _this.elementRef = React.createRef();\n _this.inline = (_c = (_a = _this.props.inline) !== null && _a !== void 0 ? _a : (_b = _this.props.init) === null || _b === void 0 ? void 0 : _b.inline) !== null && _c !== void 0 ? _c : false;\n _this.boundHandlers = {};\n return _this;\n }\n Object.defineProperty(Editor.prototype, \"view\", {\n get: function () {\n var _a, _b;\n return (_b = (_a = this.elementRef.current) === null || _a === void 0 ? void 0 : _a.ownerDocument.defaultView) !== null && _b !== void 0 ? _b : window;\n },\n enumerable: false,\n configurable: true\n });\n Editor.prototype.componentDidUpdate = function (prevProps) {\n var _this = this;\n var _a, _b;\n if (this.rollbackTimer) {\n clearTimeout(this.rollbackTimer);\n this.rollbackTimer = undefined;\n }\n if (this.editor) {\n this.bindHandlers(prevProps);\n if (this.editor.initialized) {\n this.currentContent = (_a = this.currentContent) !== null && _a !== void 0 ? _a : this.editor.getContent();\n if (typeof this.props.initialValue === 'string' && this.props.initialValue !== prevProps.initialValue) {\n // same as resetContent in TinyMCE 5\n this.editor.setContent(this.props.initialValue);\n this.editor.undoManager.clear();\n this.editor.undoManager.add();\n this.editor.setDirty(false);\n }\n else if (typeof this.props.value === 'string' && this.props.value !== this.currentContent) {\n var localEditor_1 = this.editor;\n localEditor_1.undoManager.transact(function () {\n // inline editors grab focus when restoring selection\n // so we don't try to keep their selection unless they are currently focused\n var cursor;\n if (!_this.inline || localEditor_1.hasFocus()) {\n try {\n // getBookmark throws exceptions when the editor has not been focused\n // possibly only in inline mode but I'm not taking chances\n cursor = localEditor_1.selection.getBookmark(3);\n }\n catch (e) { /* ignore */ }\n }\n var valueCursor = _this.valueCursor;\n localEditor_1.setContent(_this.props.value);\n if (!_this.inline || localEditor_1.hasFocus()) {\n for (var _i = 0, _a = [cursor, valueCursor]; _i < _a.length; _i++) {\n var bookmark = _a[_i];\n if (bookmark) {\n try {\n localEditor_1.selection.moveToBookmark(bookmark);\n _this.valueCursor = bookmark;\n break;\n }\n catch (e) { /* ignore */ }\n }\n }\n }\n });\n }\n if (this.props.disabled !== prevProps.disabled) {\n var disabled = (_b = this.props.disabled) !== null && _b !== void 0 ? _b : false;\n setMode(this.editor, disabled ? 'readonly' : 'design');\n }\n }\n }\n };\n Editor.prototype.componentDidMount = function () {\n var _this = this;\n var _a, _b, _c, _d, _e;\n if (getTinymce(this.view) !== null) {\n this.initialise();\n }\n else if (Array.isArray(this.props.tinymceScriptSrc) && this.props.tinymceScriptSrc.length === 0) {\n (_b = (_a = this.props).onScriptsLoadError) === null || _b === void 0 ? void 0 : _b.call(_a, new Error('No `tinymce` global is present but the `tinymceScriptSrc` prop was an empty array.'));\n }\n else if ((_c = this.elementRef.current) === null || _c === void 0 ? void 0 : _c.ownerDocument) {\n var successHandler = function () {\n var _a, _b;\n (_b = (_a = _this.props).onScriptsLoad) === null || _b === void 0 ? void 0 : _b.call(_a);\n _this.initialise();\n };\n var errorHandler = function (err) {\n var _a, _b;\n (_b = (_a = _this.props).onScriptsLoadError) === null || _b === void 0 ? void 0 : _b.call(_a, err);\n };\n ScriptLoader.loadList(this.elementRef.current.ownerDocument, this.getScriptSources(), (_e = (_d = this.props.scriptLoading) === null || _d === void 0 ? void 0 : _d.delay) !== null && _e !== void 0 ? _e : 0, successHandler, errorHandler);\n }\n };\n Editor.prototype.componentWillUnmount = function () {\n var _this = this;\n var editor = this.editor;\n if (editor) {\n editor.off(this.changeEvents(), this.handleEditorChange);\n editor.off(this.beforeInputEvent(), this.handleBeforeInput);\n editor.off('keypress', this.handleEditorChangeSpecial);\n editor.off('keydown', this.handleBeforeInputSpecial);\n editor.off('NewBlock', this.handleEditorChange);\n Object.keys(this.boundHandlers).forEach(function (eventName) {\n editor.off(eventName, _this.boundHandlers[eventName]);\n });\n this.boundHandlers = {};\n editor.remove();\n this.editor = undefined;\n }\n };\n Editor.prototype.render = function () {\n return this.inline ? this.renderInline() : this.renderIframe();\n };\n Editor.prototype.changeEvents = function () {\n var _a, _b, _c;\n var isIE = (_c = (_b = (_a = getTinymce(this.view)) === null || _a === void 0 ? void 0 : _a.Env) === null || _b === void 0 ? void 0 : _b.browser) === null || _c === void 0 ? void 0 : _c.isIE();\n return (isIE\n ? 'change keyup compositionend setcontent CommentChange'\n : 'change input compositionend setcontent CommentChange');\n };\n Editor.prototype.beforeInputEvent = function () {\n return isBeforeInputEventAvailable() ? 'beforeinput SelectionChange' : 'SelectionChange';\n };\n Editor.prototype.renderInline = function () {\n var _a = this.props.tagName, tagName = _a === void 0 ? 'div' : _a;\n return React.createElement(tagName, {\n ref: this.elementRef,\n id: this.id,\n tabIndex: this.props.tabIndex\n });\n };\n Editor.prototype.renderIframe = function () {\n return React.createElement('textarea', {\n ref: this.elementRef,\n style: { visibility: 'hidden' },\n name: this.props.textareaName,\n id: this.id,\n tabIndex: this.props.tabIndex\n });\n };\n Editor.prototype.getScriptSources = function () {\n var _a, _b;\n var async = (_a = this.props.scriptLoading) === null || _a === void 0 ? void 0 : _a.async;\n var defer = (_b = this.props.scriptLoading) === null || _b === void 0 ? void 0 : _b.defer;\n if (this.props.tinymceScriptSrc !== undefined) {\n if (typeof this.props.tinymceScriptSrc === 'string') {\n return [{ src: this.props.tinymceScriptSrc, async: async, defer: defer }];\n }\n // multiple scripts can be specified which allows for hybrid mode\n return this.props.tinymceScriptSrc.map(function (item) {\n if (typeof item === 'string') {\n // async does not make sense for multiple items unless\n // they are not dependent (which will be unlikely)\n return { src: item, async: async, defer: defer };\n }\n else {\n return item;\n }\n });\n }\n // fallback to the cloud when the tinymceScriptSrc is not specified\n var channel = this.props.cloudChannel; // `cloudChannel` is in `defaultProps`, so it's always defined.\n var apiKey = this.props.apiKey ? this.props.apiKey : 'no-api-key';\n var cloudTinyJs = \"https://cdn.tiny.cloud/1/\".concat(apiKey, \"/tinymce/\").concat(channel, \"/tinymce.min.js\");\n return [{ src: cloudTinyJs, async: async, defer: defer }];\n };\n Editor.prototype.getInitialValue = function () {\n if (typeof this.props.initialValue === 'string') {\n return this.props.initialValue;\n }\n else if (typeof this.props.value === 'string') {\n return this.props.value;\n }\n else {\n return '';\n }\n };\n Editor.prototype.bindHandlers = function (prevProps) {\n var _this = this;\n if (this.editor !== undefined) {\n // typescript chokes trying to understand the type of the lookup function\n configHandlers(this.editor, prevProps, this.props, this.boundHandlers, function (key) { return _this.props[key]; });\n // check if we should monitor editor changes\n var isValueControlled = function (p) { return p.onEditorChange !== undefined || p.value !== undefined; };\n var wasControlled = isValueControlled(prevProps);\n var nowControlled = isValueControlled(this.props);\n if (!wasControlled && nowControlled) {\n this.editor.on(this.changeEvents(), this.handleEditorChange);\n this.editor.on(this.beforeInputEvent(), this.handleBeforeInput);\n this.editor.on('keydown', this.handleBeforeInputSpecial);\n this.editor.on('keyup', this.handleEditorChangeSpecial);\n this.editor.on('NewBlock', this.handleEditorChange);\n }\n else if (wasControlled && !nowControlled) {\n this.editor.off(this.changeEvents(), this.handleEditorChange);\n this.editor.off(this.beforeInputEvent(), this.handleBeforeInput);\n this.editor.off('keydown', this.handleBeforeInputSpecial);\n this.editor.off('keyup', this.handleEditorChangeSpecial);\n this.editor.off('NewBlock', this.handleEditorChange);\n }\n }\n };\n Editor.propTypes = EditorPropTypes;\n Editor.defaultProps = {\n cloudChannel: '7',\n };\n return Editor;\n}(React.Component));\nexport { Editor };\n","import React from 'react'\nimport { useState, useRef } from 'react';\nimport { Col, Row, Button, Label, Input, Modal, ModalBody, ModalHeader, FormGroup, ModalFooter } from 'reactstrap';\nimport 'ag-grid-community/dist/styles/ag-grid.css';\nimport 'ag-grid-community/dist/styles/ag-theme-balham.css';\nimport base from '../../../services/BaseService'\nimport { Editor } from '@tinymce/tinymce-react';\n\n\nconst ProjectDetailModal = ({ id, createDetail, closeModal, showModalForm, singleDetailData, saveDetail, setSaveDetail, detailData, setMoveUpDisabled, setMoveDownDisabled }) => {\n\n const [showModal, setShowModal] = useState(showModalForm)\n const [heading, setHeading] = useState(singleDetailData[0]?.heading)\n const detailID = singleDetailData[0]?.id\n const tinyRef = useRef(null)\n\n const toggleModal = () => {\n closeModal()\n setShowModal(showModal => !showModal);\n }\n\n const deleteItem = () => {\n const detailToDelete = {\n \"blogID\": id,\n \"heading\": heading,\n \"display\": true,\n \"up_date\": \"2024-07-31T10:45:00\",\n \"up_User\": \"lawrence.whale@mobyte.co.uk\",\n \"rel_rec\": 1,\n \"sysid\": 1,\n \"id\": detailID\n }\n base.update(\"managedata/projectdetail/del/\" + detailID, detailToDelete).then((res) => {\n toggleModal()\n setSaveDetail(new Date().getTime());\n setMoveDownDisabled(true)\n setMoveUpDisabled(true)\n })\n }\n\n const updateItem = () => {\n const editor = tinyRef.current\n const plainText = editor.getContent({ format: 'text' });\n const htmlText = editor.getContent({ format: 'html' });\n\n if (createDetail === false) {\n\n const updatedDetails =\n {\n \"projectID\": id,\n \"heading\": heading,\n \"bodyText\": htmlText,\n \"plainText\": plainText,\n \"sequence\": singleDetailData[0].sequence,\n \"display\": true,\n \"up_date\": \"2024-07-31T10:45:00\",\n \"up_User\": \"lawrence.whale@mobyte.co.uk\",\n \"rel_rec\": 1,\n \"sysid\": 1,\n \"id\": 1\n }\n\n base.update(\"managedata/projectdetail/upd/\" + detailID, updatedDetails).then((res) => {\n toggleModal()\n setSaveDetail(!saveDetail)\n })\n } else {\n const newDetail =\n [{\n \"projectID\": id,\n \"heading\": heading,\n \"bodyText\": htmlText,\n \"plainText\": plainText,\n \"sequence\": detailData.length,\n \"display\": true,\n \"up_date\": \"2024-07-31T10:45:00\",\n \"up_User\": \"lawrence.whale@mobyte.co.uk\",\n \"rel_rec\": 1,\n \"sysid\": 1,\n }]\n\n base.add(\"managedata/projectdetail/add\", newDetail).then((res) => {\n toggleModal()\n setSaveDetail(!saveDetail)\n })\n }\n setMoveDownDisabled(true)\n setMoveUpDisabled(true)\n }\n\n return (\n <>\n \n
Project details
\n \n \n \n \n \n \n \n setHeading(e.target.value)} value={heading} />\n \n \n \n \n \n \n \n tinyRef.current = editor}\n />\n \n \n \n \n \n {createDetail === false ? : \"\"}\n \n \n \n
\n \n )\n}\n\nexport default ProjectDetailModal\n","import React from 'react'\nimport { useEffect, useState, useRef, useCallback } from 'react';\nimport { AgGridReact } from 'ag-grid-react';\nimport { Col, Row, Button, Label, Input, Modal, ModalBody, ModalHeader, FormGroup, ModalFooter, CardBody } from 'reactstrap';\nimport 'ag-grid-community/dist/styles/ag-grid.css';\nimport 'ag-grid-community/dist/styles/ag-theme-balham.css';\nimport base from '../../../services/BaseService'\nimport LoadSpinner from '../../shared/loading'\nimport ProjectDetailModal from \"./projectDetailModal\"\n\nconst ProjectModal = ({ id, setID, closeModal, showModalForm, setSaveItem, setCreate, create }) => {\n const gridRef = useRef();\n const [gridDefaultColDef, setGridDefaultColDef] = useState([]);\n const [projectsColDef, setProjectsColDef] = useState([]);\n const [detailData, setDetailData] = useState([])\n const [singleDetailData, setSingleDetailData] = useState([])\n const [loading, setLoading] = useState(false)\n const [showModal, setShowModal] = useState(showModalForm)\n const [showDetailModal, setShowDetailModal] = useState(false)\n const [saveDetail, setSaveDetail] = useState(true)\n const [createDetail, setCreateDetail] = useState(false)\n const [heading, setHeading] = useState(\"\")\n const [subheading, setSubheading] = useState(\"\")\n const [author, setAuthor] = useState(\"\")\n const [display, setDisplay] = useState(\"\")\n const [datePosted, setDatePosted] = useState(\"\")\n const [technology, setTechnology] = useState(\"\")\n const [positionInArray, setPositionInArray] = useState(\"\")\n const [moveUpDisabled, setMoveUpDisabled] = useState(true)\n const [moveDownDisabled, setMoveDownDisabled] = useState(true)\n const [invalid, setInvalid] = useState([])\n\n\n const toggleModal = () => {\n closeModal()\n setShowModal(showModal => !showModal);\n }\n\n useEffect(() => {\n if (create === false) {\n const getProjectsData = () => {\n const getFormData = async () => {\n await base.getAll(\"managedata/mbproject/qry/\" + id).then((res) => {\n setHeading(res[0].heading);\n setAuthor(res[0].author);\n setDisplay(res[0].display);\n setDatePosted(res[0].post_date)\n setTechnology(res[0].read_time)\n setSubheading(res[0].subheading)\n setLoading(false)\n })\n }\n getFormData();\n\n const getDetailData = async () => {\n await base.getAll(\"managedata/mbproject/blogdetail/qry/\" + id).then((res) => {\n setDetailData(res)\n })\n }\n getDetailData();\n }\n getProjectsData()\n }\n }, [id, saveDetail, create])\n\n const deleteItem = () => {\n const projectToDelete =\n {\n \"heading\": heading,\n \"subheading\": subheading,\n \"author\": author,\n \"display\": display,\n \"post_date\": datePosted,\n \"read_time\": technology,\n }\n base.update(\"managedata/mbproject/del/\" + id, projectToDelete).then((res) => {\n toggleModal()\n setSaveItem(new Date().getTime());\n })\n }\n\n const updateItem = () => {\n const fail = []\n\n if (heading === \"\") {\n fail.push(\"heading\")\n }\n if (subheading === \"\") {\n fail.push(\"subheading\")\n }\n if (author === \"\") {\n fail.push(\"author\")\n }\n if (datePosted === \"\") {\n fail.push(\"date\")\n }\n if (technology === \"\" || technology === null) {\n fail.push(\"technology\")\n }\n setInvalid(fail)\n\n if (fail.length === 0) {\n if (create === false) {\n const updatedProject =\n {\n \"heading\": heading,\n \"subheading\": subheading,\n \"author\": author,\n \"display\": display,\n \"post_date\": datePosted,\n \"read_time\": technology,\n \"id\": id\n }\n base.update(\"managedata/mbproject/upd/\" + id, updatedProject).then((res) => {\n toggleModal()\n setSaveItem(new Date().getTime());\n })\n } else {\n const newProject =\n [{\n \"heading\": heading,\n \"subheading\": subheading,\n \"author\": author,\n \"display\": display,\n \"post_date\": datePosted,\n \"read_time\": technology,\n }]\n base.add(\"managedata/mbproject/add\", newProject).then((res) => {\n setSaveItem(new Date().getTime());\n setCreate(false)\n setID(res.data[0].id)\n })\n }\n }\n }\n\n const handleChange = (e) => {\n setInvalid(prevInvalid =>\n prevInvalid.filter(element => element !== e.target.name)\n );\n\n switch (e.target.name) {\n case \"heading\":\n setHeading(e.target.value);\n break;\n case \"subheading\":\n setSubheading(e.target.value);\n break;\n case \"author\":\n setAuthor(e.target.value);\n break;\n case \"display\":\n setDisplay(e.target.checked);\n break;\n case \"date\":\n setDatePosted(e.target.value);\n break;\n case \"technology\":\n setTechnology(e.target.value);\n break;\n default:\n break;\n }\n }\n\n const openDetailModal = (type) => {\n if (type === \"create\") {\n setSingleDetailData([])\n setCreateDetail(true)\n }\n setShowDetailModal(true)\n }\n\n const closeDetailModal = () => {\n setShowDetailModal(showModal => false)\n }\n\n const onDetailSelect = () => {\n let detail = gridRef.current.api.getSelectedRows();\n let sequenceNumber = detail[0].sequence\n\n setPositionInArray(sequenceNumber)\n\n if (sequenceNumber === 0) {\n setMoveUpDisabled(true)\n } else {\n setMoveUpDisabled(false)\n }\n\n if (sequenceNumber === detailData.length - 1) {\n setMoveDownDisabled(true)\n } else {\n setMoveDownDisabled(false)\n }\n }\n\n const onSelectionChanged = () => {\n const selectedRows = gridRef.current.api.getSelectedRows();\n if (selectedRows.length === 1) {\n setSingleDetailData(selectedRows)\n openDetailModal();\n setCreateDetail(false)\n }\n };\n\n const moveDetail = (position, newPosition) => {\n const items = detailData\n const movedItem = items.splice(position, 1);\n\n items.splice(newPosition, 0, movedItem[0])\n\n base.update(\"managedata/projectdetail/resequence\", items).then((res) => {\n setSaveDetail(!saveDetail)\n setMoveUpDisabled(true)\n setMoveDownDisabled(true)\n })\n }\n\n const initGridVar = useCallback(() => {\n setGridDefaultColDef({\n flex: 1,\n minWidth: 100,\n sortable: true,\n filter: true,\n resizable: true,\n editable: false,\n sortingOrder: [\"asc\", \"desc\"],\n });\n\n setProjectsColDef([\n {\n headerName: \"Heading\",\n field: \"heading\",\n suppressMovable: true,\n maxWidth: 250\n },\n {\n headerName: \"Text\",\n field: \"plainText\",\n suppressMovable: true,\n maxWidth: 900\n },\n ]);\n }, []);\n\n useEffect(() => {\n initGridVar();\n }, [initGridVar]);\n\n return (\n <>\n \n
Project details
\n {loading ?\n \n :\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {id ?\n \n \n \n \n \n \n \n \n \n \n
\n \n \n
\n
\n
\n :\n \"\"\n }\n\n
\n \n {create === false ? : \"\"}\n \n \n \n \n }\n
\n\n {showDetailModal && \n }\n \n )\n}\n\nexport default ProjectModal\n","import React from \"react\";\nimport { useEffect, useState, useCallback, useRef } from 'react';\nimport { AiOutlineProfile } from 'react-icons/ai'\nimport { Col, Row, CardHeader, CardBody, Button } from 'reactstrap';\nimport { AgGridReact } from 'ag-grid-react';\nimport 'ag-grid-community/dist/styles/ag-grid.css';\nimport 'ag-grid-community/dist/styles/ag-theme-balham.css';\nimport base from '../../../services/BaseService'\nimport Spinner from '../../shared/loading'\nimport ProjectModal from \"./projectModal\"\n\nconst ProjectManagement = () => {\n const gridRef = useRef();\n const [projectsColDef, setProjectsColDef] = useState([]);\n const [projectsData, setProjectsData] = useState([]);\n const [saveItem, setSaveItem] = useState();\n const [projectID, setProjectID] = useState();\n const [gridDefaultColDef, setGridDefaultColDef] = useState([]);\n const [showModal, setShowModal] = useState(false)\n const [toggleModal, setToggleModal] = useState(false)\n const [expLoading, setExpLoading] = useState(true);\n const [create, setCreate] = useState(false)\n\n useEffect(() => {\n base.getAll(\"managedata/mbproject/qry\").then((res) => {\n setProjectsData(res)\n setTimeout(() => {\n setExpLoading(false)\n }, [1000])\n });\n }, [saveItem]);\n\n const initGridVar = useCallback(() => {\n setGridDefaultColDef({\n flex: 1,\n minWidth: 100,\n sortable: true,\n filter: true,\n resizable: true,\n editable: false,\n sortingOrder: [\"asc\", \"desc\"],\n });\n\n setProjectsColDef([\n {\n headerName: \"Heading\",\n field: \"heading\",\n suppressMovable: true,\n maxWidth: 300\n },\n {\n headerName: \"Subheading\",\n field: \"subheading\",\n suppressMovable: true,\n maxWidth: 300\n },\n {\n headerName: \"Author\",\n field: \"author\",\n suppressMovable: true,\n maxWidth: 300\n },\n {\n headerName: \"Display\",\n field: \"display\",\n suppressMovable: true,\n maxWidth: 300\n },\n {\n // name: 'Post date',\n // selector: row => {\n // return (\n //
\n // {row.post_date !== null &&\n // row.post_date\n // ?.substring(0, 4) +\n // \"-\" +\n // row.post_date\n // ?.substring(5, 7) +\n // \"-\" +\n // row.post_date?.substring(8, 10)}\n //
\n // );\n // },\n // sortable: true,\n // wrap: false,\n // allowOverflow: false,\n // minWidth: '100px',\n // maxWidth: '100px',\n // hide: false\n\n headerName: \"Post date\",\n field: \"post_date\",\n suppressMovable: true,\n maxWidth: 300\n },\n {\n headerName: \"Technology\",\n field: \"read_time\",\n suppressMovable: true,\n maxWidth: 300\n },\n {\n // name: 'Up date',\n // selector: row => {\n // return (\n //
\n // {row.up_date !== null &&\n // row.up_date\n // ?.substring(0, 4) +\n // \"-\" +\n // row.up_date\n // ?.substring(5, 7) +\n // \"-\" +\n // row.up_date\n // ?.substring(8, 10) +\n // \" \" +\n // row.up_date?.substring(11, 19)}\n //
\n // );\n // },\n // sortable: true,\n // wrap: false,\n // allowOverflow: false,\n // minWidth: '100px',\n // maxWidth: '100px',\n // hide: false\n\n headerName: \"Updated\",\n field: \"up_date\",\n suppressMovable: true,\n maxWidth: 300\n },\n {\n headerName: \"User\",\n field: \"up_User\",\n suppressMovable: true,\n maxWidth: 300\n },\n ]);\n }, []);\n\n const openModal = (type) => {\n if (type === \"create\") {\n setCreate(true)\n setProjectID(\"\")\n } else if (type === \"edit\") {\n setCreate(false)\n }\n setShowModal(!showModal)\n }\n\n const closeModal = () => {\n setShowModal(showModal => false)\n setToggleModal(!toggleModal)\n }\n\n useEffect(() => {\n initGridVar();\n }, [initGridVar]);\n\n const onSelectionChanged = () => {\n const selectedRows = gridRef.current.api.getSelectedRows();\n if (selectedRows.length === 1) {\n setProjectID(selectedRows[0].id);\n openModal(\"edit\");\n }\n };\n\n return (\n <>\n \n \n \n   \n Project Management\n \n \n \n \n \n \n
\n \n \n {expLoading ?\n \n
\n
\n \n
\n
\n
\n :\n <>\n \n
\n \n \n
\n
\n \n }\n \n
\n
\n {showModal && }\n \n )\n}\n\nexport default ProjectManagement\n","import React from 'react'\nimport { useState, useRef } from 'react';\nimport { Col, Row, Button, Label, Input, Modal, ModalBody, ModalHeader, FormGroup, ModalFooter } from 'reactstrap';\nimport 'ag-grid-community/dist/styles/ag-grid.css';\nimport 'ag-grid-community/dist/styles/ag-theme-balham.css';\nimport base from '../../../services/BaseService'\nimport { Editor } from '@tinymce/tinymce-react';\n\n\nconst BlogDetailModal = ({ id, createDetail, closeModal, showModalForm, singleDetailData, saveDetail, setSaveDetail, detailData, setMoveUpDisabled, setMoveDownDisabled }) => {\n\n const [showModal, setShowModal] = useState(showModalForm)\n const [heading, setHeading] = useState(singleDetailData[0]?.heading)\n const detailID = singleDetailData[0]?.id\n const tinyRef = useRef(null)\n\n const toggleModal = () => {\n closeModal()\n setShowModal(showModal => !showModal);\n }\n\n const deleteItem = () => {\n const detailToDelete = {\n \"blogID\": id,\n \"heading\": heading,\n \"display\": true,\n \"up_date\": \"2024-07-31T10:45:00\",\n \"up_User\": \"lawrence.whale@mobyte.co.uk\",\n \"rel_rec\": 1,\n \"sysid\": 1,\n \"id\": detailID\n }\n base.update(\"managedata/blogdetail/del/\" + detailID, detailToDelete).then((res) => {\n\n toggleModal()\n setSaveDetail(new Date().getTime());\n setMoveDownDisabled(true)\n setMoveUpDisabled(true)\n })\n }\n\n const updateItem = () => {\n const editor = tinyRef.current\n const plainText = editor.getContent({ format: 'text' });\n const htmlText = editor.getContent({ format: 'html' });\n\n if (createDetail === false) {\n\n const updatedDetails =\n {\n \"blogID\": id,\n \"heading\": heading,\n \"bodyText\": htmlText,\n \"plainText\": plainText,\n \"sequence\": singleDetailData[0].sequence,\n \"display\": true,\n \"up_date\": \"2024-07-31T10:45:00\",\n \"up_User\": \"lawrence.whale@mobyte.co.uk\",\n \"rel_rec\": 1,\n \"sysid\": 1,\n \"id\": 1\n }\n\n base.update(\"managedata/blogdetail/upd/\" + detailID, updatedDetails).then((res) => {\n toggleModal()\n setSaveDetail(!saveDetail)\n })\n } else {\n const newDetail =\n [{\n \"blogID\": id,\n \"heading\": heading,\n \"bodyText\": htmlText,\n \"plainText\": plainText,\n \"sequence\": detailData.length,\n \"display\": true,\n \"up_date\": \"2024-07-31T10:45:00\",\n \"up_User\": \"lawrence.whale@mobyte.co.uk\",\n \"rel_rec\": 1,\n \"sysid\": 1,\n }]\n\n base.add(\"managedata/blogdetail/add\", newDetail).then((res) => {\n toggleModal()\n setSaveDetail(!saveDetail)\n })\n }\n setMoveDownDisabled(true)\n setMoveUpDisabled(true)\n }\n\n return (\n <>\n \n
Blog details
\n \n \n \n \n \n \n \n setHeading(e.target.value)} value={heading} />\n \n \n \n \n \n \n \n tinyRef.current = editor}\n />\n \n \n \n \n \n {createDetail === false ? : \"\"}\n \n \n \n
\n \n )\n}\n\nexport default BlogDetailModal\n","import React from 'react'\nimport { useEffect, useState, useRef, useCallback } from 'react';\nimport { AgGridReact } from 'ag-grid-react';\nimport { Col, Row, Button, Label, Input, Modal, ModalBody, ModalHeader, FormGroup, ModalFooter, CardBody } from 'reactstrap';\nimport 'ag-grid-community/dist/styles/ag-grid.css';\nimport 'ag-grid-community/dist/styles/ag-theme-balham.css';\nimport base from '../../../services/BaseService'\nimport LoadSpinner from '../../shared/loading'\nimport BlogDetailModal from \"./blogDetailModal\"\n\nconst TasksModal = ({ id, setID, closeModal, showModalForm, setSaveItem, setCreate, create }) => {\n const gridRef = useRef();\n const [gridDefaultColDef, setGridDefaultColDef] = useState([]);\n const [blogColDef, setBlogColDef] = useState([]);\n const [detailData, setDetailData] = useState([])\n const [singleDetailData, setSingleDetailData] = useState([])\n const [loading, setLoading] = useState(false)\n const [showModal, setShowModal] = useState(showModalForm)\n const [showDetailModal, setShowDetailModal] = useState(false)\n const [saveDetail, setSaveDetail] = useState(true)\n const [createDetail, setCreateDetail] = useState(false)\n const [heading, setHeading] = useState(\"\")\n const [subheading, setSubheading] = useState(\"\")\n const [author, setAuthor] = useState(\"\")\n const [display, setDisplay] = useState(\"\")\n const [datePosted, setDatePosted] = useState(\"\")\n const [readTime, setReadTime] = useState(\"\")\n const [positionInArray, setPositionInArray] = useState(\"\")\n const [moveUpDisabled, setMoveUpDisabled] = useState(true)\n const [moveDownDisabled, setMoveDownDisabled] = useState(true)\n const [invalid, setInvalid] = useState([])\n\n\n const toggleModal = () => {\n closeModal()\n setShowModal(showModal => !showModal);\n }\n\n useEffect(() => {\n if (create === false) {\n const getBlogData = () => {\n const getFormData = async () => {\n await base.getAll(\"managedata/blog/qry/\" + id).then((res) => {\n setHeading(res[0].heading);\n setAuthor(res[0].author);\n setDisplay(res[0].display);\n setDatePosted(res[0].post_date)\n setReadTime(res[0].read_time)\n setSubheading(res[0].subheading)\n setLoading(false)\n })\n }\n getFormData();\n\n const getDetailData = async () => {\n await base.getAll(\"managedata/blog/blogdetail/qry/\" + id).then((res) => {\n setDetailData(res)\n })\n }\n getDetailData();\n }\n getBlogData()\n }\n }, [id, saveDetail, create])\n\n const deleteItem = () => {\n const blogToDelete =\n {\n \"heading\": heading,\n \"subheading\": subheading,\n \"author\": author,\n \"display\": display,\n \"post_date\": datePosted,\n \"read_time\": readTime,\n }\n base.update(\"managedata/blog/del/\" + id, blogToDelete).then((res) => {\n toggleModal()\n setSaveItem(new Date().getTime());\n })\n }\n\n const updateItem = () => {\n const fail = []\n\n if (heading === \"\") {\n fail.push(\"heading\")\n }\n if (subheading === \"\") {\n fail.push(\"subheading\")\n }\n if (author === \"\") {\n fail.push(\"author\")\n }\n if (datePosted === \"\") {\n fail.push(\"date\")\n }\n if (readTime === \"\") {\n fail.push(\"readTime\")\n }\n\n setInvalid(fail)\n\n if (fail.length === 0) {\n if (create === false) {\n const updatedBlog =\n {\n \"heading\": heading,\n \"subheading\": subheading,\n \"author\": author,\n \"display\": display,\n \"post_date\": datePosted,\n \"read_time\": readTime,\n \"id\": id\n }\n base.update(\"managedata/blog/upd/\" + id, updatedBlog).then((res) => {\n toggleModal()\n setSaveItem(new Date().getTime());\n })\n } else {\n const newBlog =\n [{\n \"heading\": heading,\n \"subheading\": subheading,\n \"author\": author,\n \"display\": display,\n \"post_date\": datePosted,\n \"read_time\": readTime,\n }]\n base.add(\"managedata/blog/add\", newBlog).then((res) => {\n setSaveItem(new Date().getTime());\n setCreate(false)\n setID(res.data[0].id)\n })\n }\n }\n }\n\n const handleChange = (e) => {\n setInvalid(prevInvalid =>\n prevInvalid.filter(element => element !== e.target.name)\n );\n\n switch (e.target.name) {\n case \"heading\":\n setHeading(e.target.value);\n break;\n case \"subheading\":\n setSubheading(e.target.value);\n break;\n case \"author\":\n setAuthor(e.target.value);\n break;\n case \"display\":\n setDisplay(e.target.checked);\n break;\n case \"date\":\n setDatePosted(e.target.value);\n break;\n case \"readTime\":\n setReadTime(e.target.value);\n break;\n default:\n break;\n }\n }\n\n const openDetailModal = (type) => {\n if (type === \"create\") {\n setSingleDetailData([])\n setCreateDetail(true)\n }\n setShowDetailModal(true)\n }\n\n const closeDetailModal = () => {\n setShowDetailModal(showModal => false)\n }\n\n const onDetailSelect = () => {\n let detail = gridRef.current.api.getSelectedRows();\n let sequenceNumber = detail[0].sequence\n\n setPositionInArray(sequenceNumber)\n\n if (sequenceNumber === 0) {\n setMoveUpDisabled(true)\n } else {\n setMoveUpDisabled(false)\n }\n\n if (sequenceNumber === detailData.length - 1) {\n setMoveDownDisabled(true)\n } else {\n setMoveDownDisabled(false)\n }\n }\n\n const onSelectionChanged = () => {\n const selectedRows = gridRef.current.api.getSelectedRows();\n if (selectedRows.length === 1) {\n setSingleDetailData(selectedRows)\n openDetailModal();\n setCreateDetail(false)\n }\n };\n\n const moveDetail = (position, newPosition) => {\n const items = detailData\n const movedItem = items.splice(position, 1);\n\n items.splice(newPosition, 0, movedItem[0])\n\n base.update(\"managedata/blogdetail/resequence\", items).then((res) => {\n setSaveDetail(!saveDetail)\n setMoveUpDisabled(true)\n setMoveDownDisabled(true)\n })\n }\n\n const initGridVar = useCallback(() => {\n setGridDefaultColDef({\n flex: 1,\n minWidth: 100,\n sortable: true,\n filter: true,\n resizable: true,\n editable: false,\n sortingOrder: [\"asc\", \"desc\"],\n });\n\n setBlogColDef([\n {\n headerName: \"Heading\",\n field: \"heading\",\n suppressMovable: true,\n maxWidth: 250\n },\n {\n headerName: \"Text\",\n field: \"plainText\",\n suppressMovable: true,\n maxWidth: 900\n },\n ]);\n }, []);\n\n useEffect(() => {\n initGridVar();\n }, [initGridVar]);\n\n return (\n <>\n \n
Blog details
\n {loading ?\n \n :\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {id ?\n \n \n \n \n \n \n \n \n \n \n
\n \n \n
\n
\n
\n :\n \"\"\n }\n\n
\n \n {create === false ? : \"\"}\n \n \n \n \n }\n
\n\n {showDetailModal && \n }\n \n )\n}\n\nexport default TasksModal\n","import React from \"react\";\nimport { useEffect, useState, useCallback, useRef } from 'react';\nimport { AiOutlineRead } from 'react-icons/ai'\nimport { Col, Row, CardHeader, CardBody, Button } from 'reactstrap';\nimport { AgGridReact } from 'ag-grid-react';\nimport 'ag-grid-community/dist/styles/ag-grid.css';\nimport 'ag-grid-community/dist/styles/ag-theme-balham.css';\nimport base from '../../../services/BaseService'\nimport Spinner from '../../shared/loading'\nimport BlogModal from \"./blogModal\"\n\nconst BlogManagement = () => {\n const gridRef = useRef();\n const [blogColDef, setBlogColDef] = useState([]);\n const [blogsData, setBlogsData] = useState([]);\n const [saveItem, setSaveItem] = useState();\n const [blogID, setBlogID] = useState();\n const [gridDefaultColDef, setGridDefaultColDef] = useState([]);\n const [showModal, setShowModal] = useState(false)\n const [toggleModal, setToggleModal] = useState(false)\n const [expLoading, setExpLoading] = useState(true);\n const [create, setCreate] = useState(false)\n\n useEffect(() => {\n base.getAll(\"managedata/blog/qry\").then((res) => {\n setBlogsData(res)\n setTimeout(() => {\n setExpLoading(false)\n }, [1000])\n });\n }, [saveItem]);\n\n const initGridVar = useCallback(() => {\n setGridDefaultColDef({\n flex: 1,\n minWidth: 100,\n sortable: true,\n filter: true,\n resizable: true,\n editable: false,\n sortingOrder: [\"asc\", \"desc\"],\n });\n\n setBlogColDef([\n {\n headerName: \"Heading\",\n field: \"heading\",\n suppressMovable: true,\n maxWidth: 300\n },\n {\n headerName: \"Subheading\",\n field: \"subheading\",\n suppressMovable: true,\n maxWidth: 300\n },\n {\n headerName: \"Author\",\n field: \"author\",\n suppressMovable: true,\n maxWidth: 300\n },\n {\n headerName: \"Display\",\n field: \"display\",\n suppressMovable: true,\n maxWidth: 300\n },\n {\n // name: 'Post date',\n // selector: row => {\n // return (\n //
\n // {row.post_date !== null &&\n // row.post_date\n // ?.substring(0, 4) +\n // \"-\" +\n // row.post_date\n // ?.substring(5, 7) +\n // \"-\" +\n // row.post_date?.substring(8, 10)}\n //
\n // );\n // },\n // sortable: true,\n // wrap: false,\n // allowOverflow: false,\n // minWidth: '100px',\n // maxWidth: '100px',\n // hide: false\n\n headerName: \"Post date\",\n field: \"post_date\",\n suppressMovable: true,\n maxWidth: 300\n },\n {\n headerName: \"Read time\",\n field: \"read_time\",\n suppressMovable: true,\n maxWidth: 300\n },\n {\n // name: 'Up date',\n // selector: row => {\n // return (\n //
\n // {row.up_date !== null &&\n // row.up_date\n // ?.substring(0, 4) +\n // \"-\" +\n // row.up_date\n // ?.substring(5, 7) +\n // \"-\" +\n // row.up_date\n // ?.substring(8, 10) +\n // \" \" +\n // row.up_date?.substring(11, 19)}\n //
\n // );\n // },\n // sortable: true,\n // wrap: false,\n // allowOverflow: false,\n // minWidth: '100px',\n // maxWidth: '100px',\n // hide: false\n\n headerName: \"Updated\",\n field: \"up_date\",\n suppressMovable: true,\n maxWidth: 300\n },\n {\n headerName: \"User\",\n field: \"up_User\",\n suppressMovable: true,\n maxWidth: 300\n },\n ]);\n }, []);\n\n const openModal = (type) => {\n if (type === \"create\") {\n setCreate(true)\n setBlogID(\"\")\n } else if (type === \"edit\") {\n setCreate(false)\n }\n setShowModal(!showModal)\n }\n\n const closeModal = () => {\n setShowModal(showModal => false)\n setToggleModal(!toggleModal)\n }\n\n useEffect(() => {\n initGridVar();\n }, [initGridVar]);\n\n const onSelectionChanged = () => {\n const selectedRows = gridRef.current.api.getSelectedRows();\n if (selectedRows.length === 1) {\n setBlogID(selectedRows[0].id);\n openModal(\"edit\");\n }\n };\n\n return (\n <>\n \n \n \n   \n Blog Management\n \n \n \n \n \n \n
\n \n \n {expLoading ?\n \n
\n
\n \n
\n
\n
\n :\n <>\n \n
\n \n \n
\n
\n \n }\n \n
\n
\n {showModal && }\n \n )\n}\n\nexport default BlogManagement\n","import Error404 from './error404.js';\nimport Contacts from '../loggedIn/manageData/contacts.js';\nimport ToInvoice from '../loggedIn/reports/toinvoice.js';\nimport VAT from '../loggedIn/reports/vat.js';\nimport Transactions from '../loggedIn/reports/transactions.js';\nimport Categories from '../loggedIn/reports/categories.js';\nimport CostCentre from '../loggedIn/reports/costCentre.js';\nimport CostCentreReport from '../loggedIn/reports/costCentreReport.js';\nimport ContactForm from '../loggedIn/reports/contactForm.js';\nimport Tasks from '../loggedIn/manageData/tasks.js';\nimport Users from '../loggedIn/manageData/users.js';\nimport CCRecon from '../loggedIn/manageData/ccRecon.js';\nimport ClientProjects from '../loggedIn/manageData/clientProjects.js';\nimport CodeGenerator from '../loggedIn/manageData/codeGenerator.js';\nimport Dashboard from '../loggedIn/dashboard.js';\nimport ProjectManagement from '../loggedIn/manageData/projectManagement.js';\nimport BlogManagement from '../loggedIn/manageData/blogManagement.js';\n\nconst routeConfig = [\n { path: \"/\", element: , access: [\"10\", \"20\", \"30\"], category: \"general\", name: \"Dashboard\", icon: <> },\n { path: \"/categories\", element: , access: [\"10\"], category: \"reports\", name: \"Categories\", icon: <> },\n { path: \"/costcentrereport\", element: , access: [\"10\"], category: \"reports\", name: \"Cost Centre Report\", icon: <> },\n { path: \"/contactform\", element: , access: [\"10\", \"20\", \"30\"], category: \"reports\", name: \"Contact Form\", icon: <> },\n { path: \"/toinvoice\", element: , access: [\"10\"], category: \"reports\", name: \"To Invoice\", icon: <> },\n { path: \"/transactions\", element: , access: [\"10\"], category: \"reports\", name: \"Transactions\", icon: <> },\n { path: \"/costCentre\", element: , access: [\"10\"], category: \"reports\", name: \"Transaction to CC\", icon: <> },\n { path: \"/vat\", element: , access: [\"10\"], category: \"reports\", name: \"VAT\", icon: <> },\n { path: \"/blogmanagement\", element: , access: [\"10\", \"20\", \"30\", \"40\", \"50\"], category: \"manageData\", name: \"Blog Management\", icon: <> },\n { path: \"/clientprojects\", element: , access: [\"10\"], category: \"manageData\", name: \"Client Projects\", icon: <> },\n { path: \"/ccrecon\", element: , access: [\"10\"], category: \"manageData\", name: \"Cost Centre Recon\", icon: <> },\n { path: \"/codegenerator\", element: , access: [\"10\", \"20\", \"30\", \"40\", \"50\"], category: \"manageData\", name: \"Code Generator\", icon: <> },\n { path: \"/projectmanagement\", element: , access: [\"10\", \"20\", \"30\", \"40\", \"50\"], category: \"manageData\", name: \"Project Management\", icon: <> },\n { path: \"/projects\", element: , access: [\"10\"], category: \"manageData\", name: \"Projects\", icon: <> },\n { path: \"/tasks\", element: , access: [\"10\"], category: \"manageData\", name: \"Tasks\", icon: <> },\n { path: \"/users\", element: , access: [\"10\"], category: \"manageData\", name: \"Users\", icon: <> },\n { path: \"*\", element: , access: [\"10\", \"20\", \"30\", \"40\", \"50\"], category: \"exclude\", name: \"Error 404\", icon: <> },\n];\n\nexport default routeConfig;","import { useState, useLayoutEffect, useRef } from 'react';\nimport '../../assets/css/shared/navbar.scss';\nimport { Navbar, Collapse, Nav, NavbarToggler, UncontrolledDropdown, DropdownMenu, DropdownToggle, Col } from 'reactstrap';\nimport { Link } from 'react-router-dom';\nimport { useMsal } from \"@azure/msal-react\";\nimport { ReactComponent as Down16 } from '../../assets/icons/down-large-16.svg';\nimport { useLocation } from 'react-router-dom';\nimport { ReactComponent as Remove48 } from '../../assets/icons/remove48.svg';\nimport { ReactComponent as Hamburger48 } from '../../assets/icons/hamburger-48.svg';\nimport routeConfig from './routeConfig';\nimport MobyteTeal from \"../../assets/images/mobyte-blueteal.png\"\n\nconst NavbarLoggedIn = ({ loggedInName, userLevel }) => {\n const { instance } = useMsal();\n const location = useLocation();\n const [isOpen, setIsOpen] = useState(false);\n const [dropdownStates, setDropdownStates] = useState({});\n\n const toggle = () => setIsOpen(!isOpen);\n\n const handleLogout = () => {\n instance.logoutRedirect().catch(console.error);\n };\n\n const dropdownStatesRef = useRef({});\n\n\n const handleDropdown = (event) => {\n const elementID = event.target.id.split(\":\")[0];\n\n // For larger screens (>= 992px)\n if (window.innerWidth >= 992) {\n if (event.type === 'mouseenter') {\n dropdownStatesRef.current[elementID] = true; // Show the dropdown on hover\n } else {\n dropdownStatesRef.current[elementID] = false; // Hide the dropdown on mouse leave\n }\n } else {\n // For smaller screens (< 992px)\n if (event.type === 'click') {\n // Close all dropdowns first, then toggle the clicked one\n Object.keys(dropdownStatesRef.current).forEach(key => {\n if (key !== elementID) {\n dropdownStatesRef.current[key] = false; // Close other dropdowns\n }\n });\n\n // Toggle the clicked dropdown\n dropdownStatesRef.current[elementID] = !dropdownStatesRef.current[elementID];\n }\n }\n\n // Update state to trigger re-render and reflect the changes visually\n setDropdownStates({ ...dropdownStatesRef.current });\n };\n\n const handleLink = () => {\n setDropdownStates({});\n };\n\n useLayoutEffect(() => {\n setIsOpen(false);\n }, [location]);\n\n const CustomDropdownItem = ({ id, icon, label, to }) => (\n \n {/* {icon}\n    */}\n {label}\n \n );\n\n const renderNavbarItems = () => {\n const navItems = routeConfig.reduce((acc, route) => {\n // Group routes by category (e.g., 'manageData', 'reports', 'general')\n const category = route.category || 'general'; // Default to 'general' if category is undefined\n if (!acc[category]) acc[category] = [];\n if (route.access.includes(userLevel)) { // Only include routes that the user has access to\n acc[category].push(route);\n }\n return acc;\n }, {});\n\n return (\n <>\n {navItems['general']?.map((route) => (\n \n
\n {route.name}\n
\n \n ))}\n {navItems['manageData'] && (\n \n \n Manage Data \n \n\n \n {navItems['manageData'].map(route => (\n \n ))}\n \n \n )}\n {navItems['reports'] && (\n \n \n Reports \n \n \n {navItems['reports'].map(route => (\n \n ))}\n \n \n )}\n \n );\n };\n\n return (\n \n
\n \n \"Mobyte\n\n \n
\n \n {isOpen ? : }\n \n \n \n \n
\n );\n};\n\nexport default NavbarLoggedIn;\n","import React, { useEffect } from 'react';\nimport { Route, Routes, } from 'react-router-dom'\nimport AccessDenied from './accessDenied.js';\nimport routeConfig from './routeConfig.js';\nimport NavbarLoggedIn from '../shared/navbarLoggedIn.js';\nimport { useUserContext } from '../context/userContext.js';\nimport '../../assets/css/loggedIn/admin.scss';\n\nconst AuthenticatedRoutes = () => {\n\n useEffect(() => {\n const metaTag = document.querySelector('meta[name=\"viewport\"]');\n\n if (metaTag) metaTag.remove(); // Remove previous meta tag if exists\n const newMetaTag = document.createElement('meta');\n newMetaTag.name = 'viewport';\n newMetaTag.content = 'width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no';\n document.head.appendChild(newMetaTag);\n // Cleanup: Remove meta tag when component unmounts or changes\n return () => {\n if (metaTag) metaTag.remove();\n };\n }, []);\n\n const { user } = useUserContext();\n return (\n <>\n {user.length !== 0 && (\n <>\n \n
\n \n {routeConfig.map(({ path, element, access }) => (\n }\n />\n ))}\n \n
\n \n )\n }\n \n );\n}\n\nexport default AuthenticatedRoutes;\n","import React, { useState, useEffect } from 'react';\nimport { Row, Col } from 'reactstrap';\nimport { AiOutlineSolution, AiOutlineRise, AiOutlineBranches, AiOutlineCode, AiOutlineApi } from 'react-icons/ai';\nimport { IoStatsChart, } from 'react-icons/io5';\n\n\nexport const ContactSection = () => {\n\n const iconSize = 72; // set the size of the icons\n const infoCards = [\n {\n icon: ,\n text: \"Tailored solutions that fit your business perfectly.\",\n },\n {\n icon: ,\n text: \"Partner with us for cutting-edge IT solutions.\",\n },\n {\n icon: ,\n text: \"Scale your IT to match your ambitions.\",\n },\n {\n icon: ,\n text: \"Strong focus on optimizing data capture and reporting to drive business efficiency.\",\n },\n {\n icon: ,\n text: \"Expertise in data manipulation and integration into custom systems.\",\n },\n {\n icon: ,\n text: \"Flexible and adaptive development processes.\",\n },\n ];\n\n const [isVisible, setIsVisible] = useState(false);\n\n useEffect(() => {\n setIsVisible(true);\n }, []);\n\n\n return (\n
\n \n \n
\n
\n Take the first step toward customized IT solutions.\n
\n \n {infoCards.map((item, index) => {\n return (\n \n
{item.icon}
\n
{item.text}
\n \n );\n })}\n
\n
\n \n\n \n
\n
\n Let's talk\n
\n
\n Want to get started on your IT transformation?
Let’s connect today.\n
\n
\n
\n First name*\n
\n
\n \n
\n
\n Last name*\n
\n
\n \n
\n
\n Email*\n
\n
\n \n
\n
\n How did you hear about us?*\n
\n
\n \n
\n
\n Message*\n
\n
\n